Commit 596f3d79 authored by Maciej Lipinski's avatar Maciej Lipinski

WR changes for PTPv3: almost final

parent be9dbd4c
......@@ -2,9 +2,41 @@
\label{chap:changesToPtpv2}
\subsection{Annex F}
\subsection{Annex F - Calibration Pattern}
\subsection{Calibration Pattern}
Calibration pattern shall be defined as RD+K28.7 code group, Appendix 36A.2 of IEEE802.3.
It shall be defined as RD+K28.7 code group, Appendix 36A.2 of IEEE802.3.
\subsection{clockAccuracy}
Accuracies beyond 25ns should be included in Table 6 of PTP \cite{PTPv2} e.g.: as indicated
in Table~\ref{tab:clockAccuracy}.
\begin{table}[ht!]
\caption{Table 6 -- clockAccuracy enumeration (extension)}
\centering
\begin{tabular}{| l | l |} \hline
\textbf{Value}(hex) & \textbf{Specification} \\ \hline
10 & The time is accurate to within 1 fs \\ \hline
11 & The time is accurate to within 2.5 fs \\ \hline
12 & The time is accurate to within 10 fs \\ \hline
13 & The time is accurate to within 25 fs \\ \hline
14 & The time is accurate to within 100 fs \\ \hline
15 & The time is accurate to within 250 fs \\ \hline
16 & The time is accurate to within 1 ps \\ \hline
17 & The time is accurate to within 2.5 ps \\ \hline
18 & The time is accurate to within 10 ps \\ \hline
19 & The time is accurate to within 25 ps \\ \hline
1A & The time is accurate to within 100 ps \\ \hline
1B & The time is accurate to within 250 ps \\ \hline
1C & The time is accurate to within 1 ns \\ \hline
1D & The time is accurate to within 2.5 ns \\ \hline
1E & The time is accurate to within 10 ns \\ \hline
1F & The time is accurate to within 25 ns \\ \hline
... & ... \\ \hline
\end{tabular}
\label{tab:clockAccuracy}
\end{table}
\subsection{HIGH\_ACCURACY\_OPTION}
HIGH\_ACCURACY\_OPTION tlvType should be added to the Table 34 of PTP \cite{PTPv2}.
......@@ -4,37 +4,28 @@
The \textit{High Accuracy Default Profile} uses the \textit{High Accuracy Options} to enable
high quality synchronization. It defines hardware requirements for the device implementing
the profile and how the \textit{High Accuracy Options} shall be combined along with
other PTP configuration to achieve sub-nanosecond accuracy of synchronization.
other PTP configuration to achieve required performance.
\subsection{Options, Attributes, Features}
The delay request-response mechanism shall be the only path delay measurement mechanism for
this profile. It shall define default mapping using Annex F (networkProtocol=0003)
with DEFAULT transportSpecific field. The defaultDS.priority1 value shall be 64.
The profile shall use all the High Accuracy options
(5 bits set to 1). For \textit{Layer 1 Syntonization} option, the setting indicated
by the syntonizationFlags shall be set to and implement:
The profile shall use all the High Accuracy options.
The \textit{Layer 1 Syntonization} option shall be set to (\textit{syntonizationFlags})
and shall implement:
\begin{itemize*}
\item \textit{L1 Syntonization hierarchy agrees with 1588 hierarchy}
\item \textit{Phase-aligned frequency Loopback}.
\item \textit{Phase-aligned recovered frequency is looped back to the frequency source}
\end{itemize*}
% It shall define default mapping using Annex F (networkProtocol=0003) with the
% transportSpecific flag indicating usage of Layer 1 syntonization with frequency loopback and
% syntonization hierarchy aligned with PTP hierarchy. The defaultDS.priority1 value shall be 64.
% Using transportSpecific flag set to DEFAULT is allowed if the Communication Path
% partner does not implement High Accuracy Profile.
This profile shall be inter-operable
\textcolor{red}{This profile shall be inter-operable
with the \textit{Delay Request-Response Default PTP profile} (Annex~J.3 of \cite{PTPv2}).
By default the "High Accuracy" options shall be active. If the Communication Path
partner does not implement High Accuracy Profile, the "High Accuracy" option shall be disabled
on the port and the port shall default to \textit{Delay Request-Response Default PTP profile}
(Annex~J.3 of \cite{PTPv2}).
A Boundary Clock implementing \textit{High Accuracy Default Profile} that is connected to
a Boundary Clock implementing \textit{Delay Request-Response Default PTP profile} will always
be a source of time (master) for the later based on the decision of the Data Comparison
Algorithm (defaultDS.priority1 value).
See clause~\ref{chap:q:highAccuracyProfileInter-operability} for details.}
\subsection{Hardware Requirements}
......@@ -46,8 +37,11 @@ The hardware which is required to suppor this profile shall
\item provide information about rx/tx latency values - with assistance of
calibration procedure or without
\item provide timestamps with a sufficient precision (i.e. $<$ 100ps) - this might be
achieved using phase measurement techniques for sub-LSB precision.
achieved using phase measurement techniques for sub-LSB precision
\item generate (on request) calibration pattern -- defined in transport annex for a given mapping
\item phase-align recovered frequency with that of the frequency source
(using information provided from PTP protocol) and use such frequency to encode
upstream data (loop back the frequency to the frequency source)
\end{itemize*}
\subsection{High Accuracy Data Set fields}
......@@ -56,12 +50,12 @@ The hardware which is required to suppor this profile shall
% \item High Accuracy ON flag (portDS.HighAccuracyON) -- initialized with FALSE, DYNAMIC field
% \end{itemize*}
High Accuracy ON flag (portDS.HighAccuracyON) -- initialized with FALSE, DYNAMIC fields.
High Accuracy ON flag (portDS.HighAccuracyON) -- dynamic field, initialized to FALSE.
\subsection{High Accuracy profileFlags}
The following information shall be conveyed using profileFlags of the High Accuracy Suffix
to the Announce Messages:
The following information shall be conveyed using \textit{profileFlags} of the
\textit{High Accuracy Suffix} amended to to the Announce Messages:
\begin{itemize*}
\item \textcolor{red}{High Accuracy Profile index -- 0x1 for default profile}
\item High Accuracy ON flag - it is set to 1 if the High Accuracy
......@@ -102,7 +96,8 @@ to the Announce Messages:
\subsection{The High Accuracy Communication Path}
A High Accuracy Communication Path is established between a port recommended to be in
A High Accuracy Communication Path can be established between two clocks implementing
\textit{High Accuracy Default Profile}. It is established between a port recommended to be in
MASTER state by BMC (a.k.a. MASTER port) and a port recommended to be in SLAVE state by
BMC (a.k.a SLAVE port) connected directly by a communication medium, i.e. SLAVE port and
MASTER port shall not be connected through any devices not implementing the High Accuracy
......@@ -132,15 +127,16 @@ The following steps shall be performed to (re-)establish High Accuracy Communica
clause~\ref{chap:layer1syntonization}
\item the port shall await (a limited time -- \textit{timeout}) the MASTER port to
perform the \textit{Rx/Tx Delays Calibration} as described in
clause~\ref{chap:DelaysCalibration}, i.e. wait for reception of CALIBRATE\_REQ
or CALIBRATED Signaling Message
clause~\ref{chap:DelaysCalibration}
% , i.e. wait for reception of CALIBRATE\_REQ and/or CALIBRATED Signaling Message
\item the port shall start the \textit{Rx/Tx Delays Calibration} on reception of CALIBRATED
Signaling Message from the MASTER port, i.e.
\begin{itemize*}
\item send CALIBRATE\_REQ Signaling Message if it requires \textit{calibration
pattern} \textbf{or}
\item send CALIBRATED Signaling Message if it knows its internal delays.
\end{itemize*}
Signaling Message from the MASTER port as described in clause~\ref{chap:DelaysCalibration}
% , i.e.
% \begin{itemize*}
% \item send CALIBRATE\_REQ Signaling Message if it requires \textit{calibration
% pattern} %\textbf{or}
% \item send CALIBRATED Signaling Message if it knows its internal delays.
% \end{itemize*}
\item the port shall await (limited time -- \textit{timeout}) the HIGH\_ACCURACY\_LINK\_ON
Signaling Message
\item the port shall update the value of portDS.HighAccuracyON field to TRUE --
......@@ -153,19 +149,20 @@ if the following conditions are fulfilled:
\begin{itemize*}
\item both ports on Communication Path implement \textit{High Accuracy Default Profile}
\item the port is in MASTER state
\item the port receives L1\_SYNC\_SLAVE\_PRESENT Signaling Message
\item the port receives L1\_SYNC\_SLAVE\_PRESENT Signaling Message with properly set
\textit{syntonizationFlags}
\end{itemize*}
The following steps shall be performed to establish High Accuracy Communication Path
The following steps shall be performed to establish High Accuracy Communication Path:
\begin{enumerate*}
\item the port shall perform \textit{Layer 1 Syntonization} as described in
clause~\ref{chap:layer1syntonization}
\item the port shall start the \textit{Rx/Tx Delays Calibration} on
completing the \textit{Layer 1 Syntonization}, i.e. reception of L1\_SYNC\_LOCKED
Signaling Message from the SLAVE port
completing the \textit{Layer 1 Syntonization} as described in clause~\ref{chap:DelaysCalibration}
% , i.e. reception of L1\_SYNC\_LOCKED Signaling Message from the SLAVE port
\item the port shall await (a limited time -- \textit{timeout}) the SLAVE port to
perform the \textit{Rx/Tx Delays Calibration} as described in
clause~\ref{chap:DelaysCalibration}, i.e. wait for reception of CALIBRATE\_REQ or CALIBRATED
Signaling Message
clause~\ref{chap:DelaysCalibration}
% , i.e. wait for reception of CALIBRATE\_REQ and/or CALIBRATED Signaling Message
\item the port shall send HIGH\_ACCURACY\_LINK\_ON on reception of CALIBRATED
Signaling Message from the SLAVE port and update the value of portDS.HighAccuracyON
field to TRUE -- the High Accuracy Communication Path is considered to be established
......
this is a document which shall describe how WR could be integrated into PTPv3. It is
based on :
- WRSPEC
- John Eidson suggestions/comments
- ISPCS2012 special session contribution
wrspec.v1.tex
- created from ISPCS2012 special session contribution and notes from reading
PTPv2 and other stuff in January 2013
- abandoned before starting to write some proper PAR
wrspec.v2.tex
- before throwing away all the text, so only the new stays in wrspec.tex
wrspec.tex
- currently worked on
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -4,13 +4,17 @@
\subsection{Multi-slave boundary clock}
\label{chap:multiSlaveBC}
This option enables a BC to have many ports in a SLAVE state. One of the SLAVE ports is
Note necesserily connected to \textit{High Accuracy}. A option which enables a BC to have
many ports in a SLAVE state. One of the SLAVE ports is
a so-called Primary Slave -- provides the source of time (and frequency) for the BC. Any
other port in the SLAVE state is considered a Secondary Slave - in normal operation,
it does not provide time (and frequency) to the BC but synchronizes (and syntonizes) to the
path-partner and acts as a hot-spare in case the Primary Slave breaks.
A port becomes a Secondary Slave if it is recommended by the State Decision Algorithm
(also SDA modified per clause~\ref{chap:modifiedSDA}) to enter PASSIVE state.
This requires using multicast MAC address 01-80-C2-00-00-0E (in case of mapping PTP over
Ethernet) for PTP messages in order to enable communication on Spanning Tree -blocked
ports.
\subsection{High Accuracy Signaling Message address }
......@@ -40,10 +44,11 @@ is in arbitrary place.... such setting would need to be somehow defined.
\subsection{L1 Syntonization related flags}
I'm not sure why AVB has different transportSpecific field value. I think it is only
in order to make it not inter-operable with "standard" PTP. If we put the information
about L1 Syntonization into transportSpecific field of Ethernet mapping (Annex F),
we will limite High Accuracy options of \textit{{Layer 1 Syntonization}} only to
this mapping. But, actually, High Accuracy options (even profile) can be used at least over
in order to make it not inter-operable with "standard" PTP. If the information
about L1 Syntonization is put into transportSpecific field of Ethernet mapping (Annex F,
as previously suggested in \cite{WRinPTPv3}),
it limits the \textit{Layer 1 Syntonization} option only to
single mapping. But, actually, it (and the profile) can be used at least over
IP as well.
\subsection{Calibration Pattern definition}
......@@ -54,4 +59,44 @@ Or, it can be indicated in the CALIBRATE\_REQ:
\item give pattern (e.g.: 111110000) and repetition size/rate/whatever
\item indicate kind -- some reference somewhere
\item indicate character to be sent (e.g.: RD+K28.7 code group)
\end{itemize*}
\ No newline at end of file
\end{itemize*}
\subsection{High Accuracy Default Profile inter-operability}
\label{chap:q:highAccuracyProfileInter-operability}
\textbf{On one hand it can be specified in the profile that:} \\
By default the "High Accuracy" options shall be active. If the Communication Path
partner of a given port implements \textit{Delay Request-Response Default PTP profile},
the "High Accuracy" options shall be disabled on that port and the port shall default to
\textit{Delay Request-Response Default PTP profile} (Annex~J.3 of \cite{PTPv2}).
A Boundary Clock implementing \textit{High Accuracy Default Profile} that is connected to
a Boundary Clock implementing \textit{Delay Request-Response Default PTP profile} will always
be a source of time (parent) for the later based on the decision of the Data Comparison
Algorithm (defaultDS.priority1 value). See clause~\ref{chap:q:per-portOptionEnabling}.\\
\textbf{... on the other hand} \\
A Boundary Clock is a natural bridge between different Profiles.
So, it can be said that both profiles (i.e. High Accuracy and Request-Response Default Profiles)
are implemented on each port of the BC and depending on the path-partner configuration (which
can be determined thanks to High Accuracy Suffix) one profile is used or the other.
\subsection{Explicit Port State Configuration}
\label{chap:q:explicitPortStateConfiguration}
\subsubsection{Per-port option enabling}
\label{chap:q:per-portOptionEnabling}
It could be considered to enable only some ports of a Boundary Clock to
have their ports set using \textit{Explicit Port State Configuration}. In other words,
to apply the \textit{Explicit Port State Configuration} option on port bases. In such case,
the ports of a BC implementing \textit{High Accuracy Default Profile} which "speak" with BC
implementing \textit{Delay Request-Response Default PTP profile} would be set to SLAVE
state using this option. Just an idea, probably there is a better solution.
\subsubsection{PTP State Machine}
The sentence in PTP (clause~9.2.5 \cite{PTPv2}):\\
\textit{If one port of a boundary clock is in the INITIALIZING state, then all
ports shall be in the INITIALIZING state.} \\
can be problematic. Reconfiguration of port state requires going through INITIALIZING state.
......@@ -96,22 +96,50 @@ Networked Measurement and Control Systems\\ \textit{High Accuracy changelog}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
This document proposes the way how White Rabbit (WR) extension \cite{WRPTP} could be included into
This document proposes the way White Rabbit (WR) extension \cite{WRPTP} could be included into
the next revision of PTP \cite{PTPv2}. The original WR was divided into smaller key pieces
which can be also useful on their own (outside WR). This pieces are defined as separate
options in Chapter~\ref{chap:highAccuracyOption}. The options are used by a
\textit{High Accuracy Default Profile} defined in Chapter~\ref{chap:highAccuracyProfile}
\textit{High Accuracy} options in Chapter~\ref{chap:highAccuracyOption}. The options are used
by a \textit{High Accuracy Default Profile} defined in Chapter~\ref{chap:highAccuracyProfile}
to enable high quality synchronization.
The new options/profile might require some small changes in the main body of the PTP
standard, these changes are listed in Chapter~\ref{chap:changesToPtpv2}.
Finaly, some solutions can be achieved in many ways, thus some doubts and open questions are
explained in Chapter~\ref{chap:openQuestions}.
In order to make this document "standard-human-readible", the main body includes
a consise information with references but without firm/concrete/boring proposals (i.e. text of
options/profile, or text-referenced changes to PTP standard). However, experts will find
precise propsals in the Appendixes.
In order to make this document "standard-human-readible" and reasonably consise, it does
not include detailed solutions or precise definitions but more high level description what
each clause should specify.\\
\\
The \textit{High Accuracy options} include:
\begin{itemize*}
% \begin{description*}
\item \textbf{General Clause} -- defines means of communication between clocks implementing
the options (i.e. \textit{Announce Messages Suffix} and \textit{High Accuracy
Signaling Messages})
\item \textbf{Layer 1 Syntonization} -- defines option which enables syntonization
on Layer 1, i.e. using SyncE or alike
\item \textbf{Rx/Tx Delays Calibration} -- defines protocol tools to perform calibration
of internal rx/tx delays
\item \textbf{Explicit Port State Configuration} -- defines how states of a clock (i.e. BC/OC)
can be explicitly configured (to be MASTER or SLAVE or PASSIVE) through configuration
\item \textbf{Medium Asymmetry Estimation} -- describes how to estimate asymmetry introduced
by communication medium.
\end{itemize*}
% \end{description*}
The \textit{High Accuracy Default Profile}:
\begin{itemize*}
\item defines hardware requirements
\item uses \textit{High Accuracy options} (defines their parameters)
\item defines PTP attributes/parameters/configuration
\item describes how \textit{High Accuracy Communication Path} is established
\end{itemize*}
\textcolor{red}{Some parts of the text in clause \ref{chap:highAccuracyOption}
\and \ref{chap:highAccuracyProfile} are in red color. It means that I was not
very confident about this -- further description is provided in a referenced clause
of \textit{Open Questions}.}
\newpage
\input{highAccuracyOption}
......@@ -123,6 +151,9 @@ precise propsals in the Appendixes.
\input{openQuestions}
\newpage
\newpage
\tableofcontents
\begin{thebibliography}{9}
\footnotesize
\bibitem{WRinGS}
......@@ -177,6 +208,21 @@ precise propsals in the Appendixes.
2008, New York, USA\\
\vspace*{-2em}
\bibitem{IEEE802.3}
IEEE Std 802.3-2008
\emph{IEEE Standard for Information technology -- Telecommunications and information exchange
between systems -- Local and Metropolitan area networks -- Specific requirements}.
IEEE Computer Society, New York,
2008.\\
\vspace*{-2em}
\bibitem{WRinPTPv3}
Maciej Lipinski
\emph{High accuracy extension/option/profile}.
Special Session of ISPCS2012, San Francisco,
2012.\\
\vspace*{-2em}
\end{thebibliography}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment