Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Standardization
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Standardization
Commits
6c523613
Commit
6c523613
authored
Jan 31, 2013
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WR changes for PTPv3: included comments by Erik
parent
e48fe441
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
168 additions
and
154 deletions
+168
-154
changesToPtpv2.tex
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
+1
-1
highAccuracyOption.tex
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
+73
-66
highAccuracyProfile.tex
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
+22
-18
introduction.tex
documents/WR_changes_for_PTPv3/introduction.tex
+53
-0
wrspec.tex
documents/WR_changes_for_PTPv3/wrspec.tex
+19
-69
No files found.
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
View file @
6c523613
...
...
@@ -4,7 +4,7 @@
\subsection
{
Annex F - Calibration Pattern
}
C
alibration pattern shall be defined as RD+K28.7 code group, Appendix 36A.2 of IEEE802.3.
The c
alibration pattern 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
...
...
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
View file @
6c523613
...
...
@@ -3,13 +3,13 @@
\subsection
{
General
}
Stuff
used by all the High Accuracy Options.
Items
used by all the High Accuracy Options.
\subsubsection
{
High Accuracy Announce Suffix
}
A clock (i.e. BC or OC) on which one or more High Accuracy Options are enabled
,
shall append Announce Messages with the suffix (TLV) defined in this clause. Such
A clock (i.e. BC or OC) on which one or more High Accuracy Options are enabled
shall append Announce Messages with the suffix (TLV) defined in this clause. Such
a
clock shall also handle properly received Announce Messages with the appended suffix.
This enables mutual recognition of
High Accuracy option capabilities. The suffix is defined as a TLV recognized by tlvType
...
...
@@ -17,7 +17,7 @@ of HIGH\_ACCURACY\_OPTION. The suffix conveys the following information:
\begin{itemize*}
\item
\textbf
{
enabledOptions
}
-- flags indicating active High Accuracy options (bit per option)
\item
\textbf
{
profileFlags
}
-- a profile-specific value (defined by the High Accuracy Profile)
\item
\textbf
{
syntonizationFlags
}
- a value defined by the
\textit
{
Layer 1 Syntonization
}
option
\item
\textbf
{
syntonizationFlags
}
-
-
a value defined by the
\textit
{
Layer 1 Syntonization
}
option
\end{itemize*}
...
...
@@ -60,10 +60,12 @@ The following different messages are exchanged:
The High Accuracy options shall be performed only on direct Communication Paths
(i.e. two clocks connected by a direct link). In order to avoid communication over devices
not supporting PTP and/or High Accuracy options,
\textcolor
{
red
}{
the Signaling Messages
\textcolor
{
black
}{
the Signaling Messages
defined in this clause shall be sent using the multicast address from the reserved
(non-forwardable) address space which is not relayed by bridges, e.g.: 01-80-C2-00-00-0E for
\textit
{
PTP over Ethernet
}
(see clause~
\ref
{
chap:q:haSignalingMessageAddress
}
).
}
\textit
{
PTP over Ethernet
}
.
}
% (see clause~\ref{chap:q:haSignalingMessageAddress}).}
\subsubsection
{
Timeout
}
\label
{
chap:timeout
}
...
...
@@ -73,6 +75,8 @@ repated. A \textit{timeout} for the same operation shall occur maximum of \texti
number of times. In other words, an operation shall be repeated maximum of
\textit
{
retry
}
times in case of
\textit
{
timeout
}
expirations.
\newpage
\subsection
{
Layer 1 Syntonization
}
\label
{
chap:layer1syntonization
}
...
...
@@ -81,23 +85,24 @@ over the physical layer (e.g. SyncE \cite{SynchE} or alike). Such clocks shall s
appropriate bit of
\textit
{
enabledOptions
}
to 1 and advertise their settings/capabilities
by setting appropriate bits of
\textit
{
syntonizationFlags
}
included in the
\textit
{
High Accuracy Announce Suffix
}
.
A port receiving Announce Message with the
\textit
{
High Accuracy Suffix
}
shall verify
A port receiving
an
Announce Message with the
\textit
{
High Accuracy Suffix
}
shall verify
its frequency transfer settings/capabilities against the advertised in
\textit
{
syntonizationFlags
}
.
\textcolor
{
red
}{
If settings/capabilities of both devices agree, they should proceed
accordingly, otherwise this option shall be disabled or FAULT states shall be entered
depending on the profile (clause~
\ref
{
chap:q:l1syntonizationRelatedFlags
}
).
}
%
\textcolor{red}{If settings/capabilities of both devices agree, they should proceed
%
accordingly, otherwise this option shall be disabled or FAULT states shall be entered
%
depending on the profile (clause~\ref{chap:q:l1syntonizationRelatedFlags}).}
\subsubsection
{
syntonizationFlags
}
The following bits shall reflect the L1 Syntonization settings/configuration/capabilities:
\begin{enumerate*}
\item
If set to 1, L1 Syntonization hierarchy and 1588 hierarchy are independent
\item
If set to 1, L1 Syntonization hierarchy agrees with 1588 hierarchy
\item
If set to 1, L1 Syntonization hierarchy determines 1588 hierarchy
\item
If set to 1, L1 Syntonization hierarchy and 1588 hierarchy are set externally
A flat with the following bits shall reflect the L1 Syntonization
settings/configuration/capabilities (only one bit can be set to 1):
\begin{description*}
\item
[BIT 1:] If set to 1, L1 Syntonization hierarchy and 1588 hierarchy are independent
\item
[BIT 2:] If set to 1, L1 Syntonization hierarchy agrees with 1588 hierarchy
\item
[BIT 3:] If set to 1, L1 Syntonization hierarchy determines 1588 hierarchy
\item
[BIT 4:] If set to 1, L1 Syntonization hierarchy and 1588 hierarchy are set externally
% (i.e. external protocol or user configuration)
% \item \textcolor{red}{If set to 1, the phase-aligned recovered frequency is looped back to the frequency source}
\end{
enumerate
*}
\end{
description
*}
% A port sending Announce Messages shall announce its settings/capabilities by including the
% syntonizationFlags value in the appended \textit{High Accuracy Suffix}.
...
...
@@ -113,18 +118,17 @@ For each of the different ports (i.e. frequency MASTER and SLAVE) the actions de
shall take place.
\paragraph
{
Frequency SLAVE
}
On entering the UNCALIBRATED state of PTP State Machine, the port of a
frequency-transfer-enabled clock shall send the
\\
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Si
ng
aling Message to the path-partner. The port shall then wait
frequency-transfer-enabled clock shall send the
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Si
gn
aling Message to the path-partner. The port shall then wait
for a limited time (
\textit
{
timeout
}
, clause~
\ref
{
chap:timeout
}
) for reception of a L1
\_
SYNC
\_
LOCK
Si
ng
aling Message. Once received, the hardware shall be requested to lock to the
Si
gn
aling Message. Once received, the hardware shall be requested to lock to the
ingress frequency using
\textit
{
L1 interface
}
(
\textit
{
L1-state-set(SLAVE)
}
,
see clause~
\ref
{
chap:l1Interface
}
). Once it is indicated that the device is frequency-locked
(
\textit
{
L1-state-ready
}
), the L1
\_
SYNC
\_
LOCKED shall be sent to the
path-partner.
If no procedures by other options are required in the UNCALIBRATED state after the
\textit
{
L1 Syntonization
}
is finished, the
MASTER
\_
CLOCK
\_
SELECTED event shall occur and SLAVE state shall be entered.
MASTER
\_
CLOCK
\_
SELECTED event shall occur and
the
SLAVE state shall be entered.
\paragraph
{
Frequency MASTER
}
...
...
@@ -132,7 +136,7 @@ A port of a frequency-transfer-enabled clock that is in the MASTER state shall r
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Messages. Once such a message is received, the port
shall perform all the necessary steps to prepare frequency sending to the path-partner
(e.g.: use
\textit
{
L1 interface
}
to
\textit
{
L1-state-set(MASTER)
}
).
Once ready, the port sends L1
\_
SYNC
\_
LOCK Signaling Message to the
Once ready, the port sends
a
L1
\_
SYNC
\_
LOCK Signaling Message to the
path-partner and waits for the L1
\_
SYNC
\_
LOCKED Signaling Message for a limited time
(
\textit
{
timeout
}
, clause~
\ref
{
chap:timeout
}
) which is indicated in the
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Message. Once the L1
\_
SYNC
\_
LOCKED Signaling Message has
...
...
@@ -140,14 +144,14 @@ been received, the port assumes that the path-partner is frequency-locked.
\subsubsection
{
L1 Syntonization hierarchy determines 1588 hierarchy
}
The port shall read the state of
\textit
{
Layer 1 Interface
}
and configure its PTP state
appropriately using
\textit
{
Explicit Port State Configuration
}
option
The port shall read the state of
the
\textit
{
Layer 1 Interface
}
and configure its PTP state
appropriately using
the
\textit
{
Explicit Port State Configuration
}
option
(clause~
\ref
{
chap:explicitPortStateConfiguration
}
).
\subsubsection
{
L1 Syntonization hierarchy and 1588 hierarchy are set externally
}
Such setting is informative to the protocol, no special action is taken. The state of
a port is set externally using
\textit
{
Explicit Port State Configuration
}
option.
a port is set externally using
the
\textit
{
Explicit Port State Configuration
}
option.
% \subsubsection{Frequency Loopback}
%
...
...
@@ -156,14 +160,14 @@ a port is set externally using \textit{Explicit Port State Configuration} option
\subsubsection
{
SYNCHRONIZATION
\_
FAULT
}
Syntonization over Layer 1 provides
increase in accuracy/precision of
PTP-based
synchronization. It might happen that syntonization breaks (e.g. PLL looses lock) while
PTP protocol maintains normal operation. In such case, the quality of synchronization
might significantly deteriorate without means to detect such situation by the protocol -- it can be
Syntonization over Layer 1 provides
an increase in the accuracy/precision of a
PTP-based
synchronization. It might happen that syntonization breaks (e.g. PLL looses lock) while
the
PTP protocol maintains normal operation. In such
a
case, the quality of synchronization
might significantly deteriorate without means to detect
a
such situation by the protocol -- it can be
unacceptable with some applications. Therefore, a notification from H/W shall be
handled by clocks implementing this clause. In particular, the H/W notification shall
trigger SYNCHRONIZATION
\_
FAULT (clause~9.2.6.12 of
\cite
{
PTPv2
}
). Consequently, SLAVE
port enters UNCALIBRATED state and the record of foreign masters of the given port is
trigger SYNCHRONIZATION
\_
FAULT (clause~9.2.6.12 of
\cite
{
PTPv2
}
). Consequently,
the
SLAVE
port enters
the
UNCALIBRATED state and the record of foreign masters of the given port is
cleared.
% (if L1 Syntonization hierarchy is aligned 1588 hierarchy,
% the Layer 1 Syntonization is attempted to be re-established).
...
...
@@ -180,17 +184,18 @@ The interface to the hardware shall be defined in this clause, i.e.:
\item
L1-state-lost -- notification from H/W -- port exited the requested state
\end{itemize*}
\newpage
\subsection
{
Rx/Tx Delays Calibration
}
\label
{
chap:DelaysCalibration
}
A port
which
is capable of tx/rx internal delays calibration (i.e. measurement) can
request assistance from the Communication Path partner in calibration process. Protocol-wise,
A port
that
is capable of tx/rx internal delays calibration (i.e. measurement) can
request assistance from the Communication Path partner in
the
calibration process. Protocol-wise,
such calibration shall be defined in this clause.
Ports implementing this option (even if do not require tx/rx calibration) shall be capable
of responding to
calibration request (in SLAVE, MASTER, UNCALIBRATED, PASSIVE states
)
Ports implementing this option (even if
they
do not require tx/rx calibration) shall be capable
of responding to
a calibration request (in all of the following states: SLAVE, MASTER, UNCALIBRATED, PASSIVE
)
with a calibration pattern. Such calibration can be done:
\begin{itemize*}
\item
at the beginning of establishing master-slave relation (i.e. SLAVE port being in
\item
at the beginning of
the
establishing master-slave relation (i.e. SLAVE port being in
UNCALIBRATED state, MASTER port being in MASTER state)
\item
periodically, during normal operation (i.e. SLAVE port being in SLAVE state,
MASTER port being in MASTER state)
...
...
@@ -224,16 +229,16 @@ transport mappings in appropriate Annexes (Annex E-I).
\subsubsection
{
Calibration requestor
}
\label
{
chap:calibrationRequestor
}
A port (being in
SLAVE / MASTER / UNCALIBRATED / PASSIVE state
) which requires tx/rx internal
A port (being in
one of the following states: SLAVE, MASTER, UNCALIBRATED, PASSIVE
) which requires tx/rx internal
delays calibration (i.e. measurement) shall send CALIBRATE
\_
REQ Signaling Message to its
path-partner. The CALIBRATE
\_
REQ Signaling Message shall contain the following information:
\begin{itemize*}
\item
calibration periods: tx and rx
\item
\textcolor
{
red
}{
calibration pattern (see clause~
\ref
{
chap:q:calibrationPatternDefinition
}
)
}
\item
calibration time of transmission internal delay:
\textit
{
tx
\_
period
}
\item
calibration time of reception internal delay:
\textit
{
rx
\_
period
}
% \item \textcolor{red}{calibration pattern (see clause~\ref{chap:q:calibrationPatternDefinition})}
\end{itemize*}
The duration of calibration procedure defined by (tx
\_
period+rx
\_
period)*retry shall be less
than interval between sending consecutive Announce Messages defined by announceInterval.
The duration of the calibration procedure defined by (tx
\_
period+rx
\_
period)*retry shall be less
than the interval between sending consecutive Announce Messages defined by announceInterval.
\\
The requestor shall wait during a limited time (
\textit
{
timeout
}
) for the response from the
\textit
{
calibration responder
}
: the CALIBRATE
\_
RSP Signaling Message. The CALIBRATE
\_
RSP
Signaling Message is followed directly by the
\textit
{
calibration pattern
}
.
...
...
@@ -241,42 +246,40 @@ The calibration shall be as follows:
\begin{enumerate*}
\item
Tx internal delays calibration - if required, the requestor
first sends out the
\textit
{
calibration pattern
}
in order to calibrate its
transmission internal delays. Time to perform such calibration shall be specified
transmission internal delays. T
he t
ime to perform such calibration shall be specified
by the
\textit
{
tx period
}
.
\item
Rx internal delays calibration - the requestor uses the
\textit
{
calibration pattern
}
sent by the responder in order to calibrate its reception internal delays.
\end{enumerate*}
Once the calibration is finished (as indicated by H/W), the requestor updates its
transmission and reception internal delays Data Set fields (portDS.rxDelay, portDS.txDelay)
and sends CALIBRATED Signaling Message which carries their values.
and sends CALIBRATED Signaling Message which carries their values.
\\
If the calibration procedure (i.e. sending
\textit
{
calibration pattern
}
) is not required
by the requestor to know its internal tx/rx delays but the values of delays need to be
communicated to the path-partner (e.g.:
to estimate link asymmetry,
clause~
\ref
{
chap:mediumAsymmetryEstimation
}
), then only CALIBRATED Signaling Message with the the values of
communicated to the path-partner (e.g.:
~
to estimate link asymmetry,
clause~
\ref
{
chap:mediumAsymmetryEstimation
}
), then only
a
CALIBRATED Signaling Message with the the values of
tx/rx internal delays shall be sent.
\subsubsection
{
Calibration responder
}
\label
{
chap:calibrationResponder
}
A port (being in
SLAVE / MASTER / UNCALIBRATED / PASSIVE state
) shall handle the
A port (being in
one of the following states: SLAVE, MASTER, UNCALIBRATED, PASSIVE
) shall handle the
CALIBRATE
\_
REQ Signaling Message in the following way:
\begin{enumerate*}
\item
prepare the rx/tx path of H/W appropriately
\item
send CALIBRATE
\_
RSP Signaling Message
\item
start sending the
\textit
{
calibration pattern
}
\item
stop sending the
\textit
{
calibration pattern
}
on reception of CALIBRATED Signaling Message
\item
stop sending the
\textit
{
calibration pattern
}
on reception of
a
CALIBRATED Signaling Message
or
\textit
{
timeout
}
of
\textit
{
tx+rx period
}
\end{enumerate*}
If
\textit
{
tx period
}
received in CALIBRATE
\_
REQ Signaling Message is greater than 0, the
If
the
\textit
{
tx period
}
received in CALIBRATE
\_
REQ Signaling Message is greater than 0, the
responder shall prepare for reception of
\textit
{
calibration pattern
}
from the requestor
for
\textit
{
tx period
}
time (starting at sending CALIBRATE
\_
RSP). After
\textit
{
tx period
}
, it shall
await
CALIBRATED
Signaling Message until the
\textit
{
timeout
}
of
\textit
{
tx+rx period
}
expires.
for
\textit
{
tx period
}
time (starting at sending CALIBRATE
\_
RSP). After
\textit
{
tx period
}
, it shall
wait for a
CALIBRATED
Signaling Message until the
\textit
{
timeout
}
of
\textit
{
tx+rx period
}
expires.
\\
% Sending
% of the \textit{calibration pattern} shall be terminated on reception of CALIBRATED
% Signaling Message or on \textit{timeout} expiration.
On reception of CALIBRATED Signaling Message, the responder shall update its data sets
On reception of a CALIBRATED Signaling Message, the responder shall update its data sets
(portDS.rxParentDelay, portDS.txParentDelay) with the values of tx/rx delays conveyed in
the message. It is possible that only the CALIBRATED Signaling Message is received
(no CALIBRATE
\_
REQ).
...
...
@@ -286,9 +289,9 @@ The interface to the hardware shall be defined in this clause, i.e.:
\begin{itemize*}
\item
calibration tx/rx enable/disable -- request to H/W -- enables/disables measurement of tx or rx internal delay
\item
calibration pattern reception enable/disable -- request to H/W -- enables/disables
hardware for reception of non-standard input signal, i.e. disable comma alignment
hardware for reception of
a
non-standard input signal, i.e. disable comma alignment
if
\textit
{
Low-frequency pattern
}
is used (RD+K28.5, Appendix 36A of
\cite
{
IEEE802.3
}
)
\item
calibration pattern transmission enable/disable -- request to H/W -- enables/disables sending calibration pattern
\item
calibration pattern transmission enable/disable -- request to H/W -- enables/disables sending
the
calibration pattern
\item
calibration finished -- notification from H/W -- informs that the internal delay has been
measured and provides the measured value
\end{itemize*}
...
...
@@ -299,19 +302,23 @@ The interface to the hardware shall be defined in this clause, i.e.:
This option enables to manually configure the state (and effectively the role: SLAVE, MASTER
PASSIVE) of a port (in a BC or OC). The desired state value shall be stored in a configurable
field of portDS Data Set (portDS.configState). The initialization value of portDS.configState
shall be MASTER. Th
e
option shall be used if the clockClass is set to 3. This option shall
shall be MASTER. Th
is
option shall be used if the clockClass is set to 3. This option shall
use modified State Decision Algorithm (clause~
\ref
{
chap:modifiedSDA
}
) and modified State
Machine (clause~
\ref
{
chap:modifiedFSM
}
)
\textcolor
{
red
}{
Configuration of SLAVE state for many ports of the same BC is considered
misconfiguration
unless
\textit
{
Multi--slave Boundary Clock
}
option is enabled (clause~
\ref
{
chap:q:multiSlaveBC
}
).
}
%
% \textcolor{red}{Configuration of SLAVE state for many ports of the same BC is considered a
misconfiguration
% unless the
\textit{Multi--slave Boundary Clock} option is enabled (clause~\ref{chap:q:multiSlaveBC}).}
\subsubsection
{
Modified State Decision Algorithm
}
\label
{
chap:modifiedSDA
}
The modification to State Decision Algorithm shall cause a port of
\textit
{
clockClass=3 clock
}
to
be recommended the next state based on the value of portDS.configState, i.e. as outlined in
\cite
{
JohnExpliciteState
}
.
The modified State Decision Algorithm shall recommend the next state of a
\textit
{
clockClass=3 clock
}
port according to the value of portDS.configState, i.e. as outlined in
\cite
{
JohnExpliciteState
}
.
%
% The modification to the State Decision Algorithm shall cause a port of \textit{clockClass=3 clock} to
% be recommended the next state based on the value of portDS.configState, i.e. as outlined in
% \cite{JohnExpliciteState}.
\subsubsection
{
Modified State Machine
}
\label
{
chap:modifiedFSM
}
...
...
@@ -325,6 +332,7 @@ shall pass through the UNCALIBRATED state (if implemented) each time it synchron
i.e. when the physical link is (re-)connected or a "better" grandmaster is connected to the
Communication Path.
\newpage
\subsection
{
Medium Asymmetry Estimation
}
\label
{
chap:mediumAsymmetryEstimation
}
...
...
@@ -333,8 +341,7 @@ This clause defines how the asymmetry introduced by the medium (used for data tr
can be estimated using
values provided by
\textit
{
Rx/Tx Delays Calibration
}
option. Estimation of such
asymmtry is medium-specific. Therefore, different methods
shall be defined for different media (currently defined only for Single Fiber Optic Link).
shall be defined for different media (currently defined only for Single Fiber Optic Link).
\\
The asymmetry is related to the mean delay (
$
\mu
$
), one-way master-to-slave delay
(
$
\eqdelay
{
ms
}$
) and one-way slave-to-master delay (
$
\eqdelay
{
sm
}$
) as defined in
section 7.4.2 of PTP
\cite
{
PTPv2
}
:
...
...
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
View file @
6c523613
...
...
@@ -4,7 +4,7 @@
The
\textit
{
High Accuracy Default Profile
}
uses the
\textit
{
High Accuracy Options
}
to enable
high quality synchronization. It defines hardware requirements for the clock implementing
the profile and how the
\textit
{
High Accuracy Options
}
shall be combined along with
other PTP configuration
to achiev
e required performance.
other PTP configuration
s to achieve th
e required performance.
\subsection
{
Options, Attributes, Features
}
...
...
@@ -24,24 +24,28 @@ and shall implement \textit{L1 Syntonization hierarchy agrees with 1588 hierarch
% 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.
\textcolor
{
red
}{
This profile shall be inter-operable
This profile shall be inter-operable
with the
\textit
{
Delay Request-Response Default PTP profile
}
(Annex~J.3 of
\cite
{
PTPv2
}
).
See clause~
\ref
{
chap:q:highAccuracyProfileInter-operability
}
for details.
}
% \textcolor{red}{This profile shall be inter-operable
% with the \textit{Delay Request-Response Default PTP profile} (Annex~J.3 of \cite{PTPv2}).
% See clause~\ref{chap:q:highAccuracyProfileInter-operability} for details.}
\subsection
{
Hardware Requirements
}
The hardware
which is required to support this profile shall
The hardware
that is required to support this profile shall:
\begin{itemize*}
\item
transfer frequency over Layer 1 (e.g. SyncE
\cite
{
SynchE
}
or alike)
\item
feature constant rx/tx latencies during operation (except for temperature-induced
changes)
\item
provide information about rx/tx latency values - with assistance of
calibration procedure or without
a
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
\item
generate (on request) calibration pattern -- defined in transport annex for a given mapping
\item
generate (on request)
a
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
(using information provided from
the
PTP protocol) and use such frequency to encode
upstream data (loop back the frequency to the frequency source)
\end{itemize*}
...
...
@@ -58,7 +62,7 @@ High Accuracy ON flag (portDS.HighAccuracyON) -- dynamic field, initialized to F
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
\textcolor
{
black
}{
High Accuracy Profile index -- 0x1 for default profile
}
\item
High Accuracy ON flag - the value of portDS.HighAccuracyON data field
% it is set to 1 if the High Accuracy
% Communication Path is already established
...
...
@@ -98,21 +102,21 @@ The following information shall be conveyed using \textit{profileFlags} of the
\subsection
{
The High Accuracy Communication Path
}
A High Accuracy Communication Path can be established between two clocks implementing
A High Accuracy Communication Path can be established between two clocks implementing
the
\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
BMC (a.k.a SLAVE port) connected directly by a communication medium
. I.e. the
SLAVE port and
MASTER port shall not be connected through any devices not implementing the High Accuracy
Profile.
The process described below (for SLAVE and MASTER port) shall be non-preemptive with
regards to
PTP state machine, i.e. the PTP state of neither of the ports shall not change once
the procedure is started until it finishes.
regards to
the PTP state machine, i.e. the PTP state of both MASTER and SLAVE ports shall not
change once
the procedure is started until it finishes.
\subsubsection
{
SLAVE port
}
The steps to establish High Accuracy Communication Path shall start on entering the
The steps to establish
a
High Accuracy Communication Path shall start on entering the
UNCALIBRATED state by the SLAVE port if the following conditions are fulfilled:
\begin{itemize*}
\item
both ports on Communication Path implement
\textit
{
High Accuracy Default Profile
}
\item
both ports on
the
Communication Path implement
\textit
{
High Accuracy Default Profile
}
% \item the port enters the UNCALIBRATED state as a result of
% \begin{itemize*}
% \item recommendation by (modified) BMC to enter SLAVE state based on
...
...
@@ -121,9 +125,9 @@ UNCALIBRATED state by the SLAVE port if the following conditions are fulfilled:
% \item SYNCHRONIZATION\_FAULT event
% \end{itemize*}
\item
at least one of the ports on the Communication Path (MASTER or SLAVE) has its
portDS.HighAccuracyON field set to FALSE
.
portDS.HighAccuracyON field set to FALSE
\end{itemize*}
The following steps shall be performed to (re-)establish
H
igh Accuracy Communication Path
The following steps shall be performed to (re-)establish
the Ht
igh Accuracy Communication Path
\begin{enumerate*}
\item
the port shall perform
\textit
{
Layer 1 Syntonization
}
as described in
clause~
\ref
{
chap:layer1syntonization
}
...
...
@@ -146,7 +150,7 @@ The following steps shall be performed to (re-)establish High Accuracy Communica
\end{enumerate*}
\subsubsection
{
MASTER port
}
The steps to establish High Accuracy Communication Path shall start
The steps to establish
a
High Accuracy Communication Path shall start
if the following conditions are fulfilled:
\begin{itemize*}
\item
both ports on Communication Path implement
\textit
{
High Accuracy Default Profile
}
...
...
@@ -154,7 +158,7 @@ if the following conditions are fulfilled:
\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
a
High Accuracy Communication Path:
\begin{enumerate*}
\item
the port shall perform
\textit
{
Layer 1 Syntonization
}
as described in
clause~
\ref
{
chap:layer1syntonization
}
...
...
documents/WR_changes_for_PTPv3/introduction.tex
0 → 100644
View file @
6c523613
This document describes how the key ideas of the White Rabbit (WR) technology
\cite
{
WRPTP
}
can be adapted and included into the next revision of PTP
\cite
{
PTPv2
}
, consequently
enabling the standard-compliant PTP devices to achieve high accuracy synchronization using
methods prototyped and tested in WR.
% 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 in this document into smaller key elements
which can be also useful on their own (outside WR). This pieces are defined as separate
\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
}
.
\\
% Finally, 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 "human-readable" and reasonably concise, it does
not include detailed solutions or precise definitions but more high level description of what
could be included into the IEEE1588 revision.
\\
\\
The
\textit
{
High Accuracy options
}
include:
\begin{itemize*}
% \begin{description*}
\item
\textbf
{
General
}
-- defines means of communication between clocks (i.e. PTP
devices) implementing the options (i.e.
\textit
{
Announce Messages Suffix
}
and
\textit
{
High Accuracy Signaling Messages
}
)
\item
\textbf
{
Layer 1 Syntonization
}
-- defines protocol tools to enable syntonization
over 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 a communication medium
\end{itemize*}
% \end{description*}
The
\textit
{
High Accuracy Default Profile
}
:
\begin{itemize*}
\item
defines hardware requirements for the clock implementing it
\item
uses
\textit
{
High Accuracy options
}
(defines their parameters)
\item
defines PTP attributes/parameters/configuration
\item
describes how a
\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
% confident about them -- further description is provided in a referenced part of
% \textit{Open Questions} (clause~\ref{chap:openQuestions}).} \\
% \\
Some PTP-specific abbreviations/terms used throughout the document:
\\
BC = boundary clock (e.g. PTP-capable switch/router)
\\
OC = ordinary clock (e.g. PTP-capable node)
\\
TC = transparent clock (i.e. PTP-capable switch/router)
\\
clock = a device (switch/router/node/etc) implementing PTP protocol (i.e. BC, OC, TC)
\\
TLV = Type-Length-Value (i.e. a way of defining information in messages)
\ No newline at end of file
documents/WR_changes_for_PTPv3/wrspec.tex
View file @
6c523613
...
...
@@ -89,64 +89,12 @@ Synchronization Protocol for \\
Networked Measurement and Control Systems
\\
\textit
{
High Accuracy changelog
}}
\author
{
Maciej Lipi
\'
{
n
}
ski
\\
CERN -- European Organization for Nuclear Research
\\
Warsaw University of Technology
}
\date
{
January 2013
}
\date
{
February 2013
\\
version 0.2
}
\maketitle
% \thispagestyle{empty}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
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 in this document
into smaller key pieces
which can be also useful on their own (outside WR). This pieces are defined as separate
\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
}
.
Finally, 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-readable" and reasonably concise, it does
not include detailed solutions or precise definitions but more high level description of what
could be included into the IEEE1588 revision.
\\
\\
The
\textit
{
High Accuracy options
}
include:
\begin{itemize*}
% \begin{description*}
\item
\textbf
{
General Clause
}
-- defines means of communication between clocks (i.e. PTP
devices) implementing the options (i.e.
\textit
{
Announce Messages Suffix
}
and
\textit
{
High Accuracy Signaling Messages
}
)
\item
\textbf
{
Layer 1 Syntonization
}
-- defines protocol tools to enable syntonization
over 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 a communication medium.
\end{itemize*}
% \end{description*}
The
\textit
{
High Accuracy Default Profile
}
:
\begin{itemize*}
\item
defines hardware requirements for the clock implementing it
\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
confident about them -- further description is provided in a referenced part of
\textit
{
Open Questions
}
(clause~
\ref
{
chap:openQuestions
}
).
}
\\
\\
Some PTP-specific abbreviations/terms used throughout the document:
\\
BC = boundary clock (e.g. PTP-capable switch/router)
\\
OC = ordinary clock (e.g. PTP-capable node)
\\
TC = transparent clock (i.e. PTP-capable switch/router)
\\
clock = a device (switch/router/node/etc) implementing PTP protocol (i.e. BC, OC, TC)
\\
TLV = Type-Length-Value (i.e. a way of defining information in messages)
\input
{
introduction
}
\newpage
\input
{
highAccuracyOption
}
\newpage
...
...
@@ -154,14 +102,28 @@ TLV = Type-Length-Value (i.e. a way of defining information in messages)
\newpage
\input
{
changesToPtpv2
}
\newpage
\input
{
openQuestions
}
\newpage
%
\input{openQuestions}
%
\newpage
\newpage
\tableofcontents
\newpage
\begin{thebibliography}
{
9
}
\footnotesize
\bibitem
{
WRPTP
}
%done x
Emilio G. Cota, Maciej Lipinski, Tomasz Wostowski, Erik van der Bij, Javier
Serrano
\emph
{
White Rabbit Specification: Draft for Comments
}
.
CERN, Geneva
07/2011.
\\
\vspace*
{
-2em
}
\bibitem
{
PTPv2
}
%done x
IEEE Instrumentation and Measurement Society
\emph
{
IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems
}
.
IEEE Std 1588TM-2008,
2008, New York, USA
\\
\vspace*
{
-2em
}
\bibitem
{
WRinGS
}
M. Lipi
\'
{
n
}
ski, T. W
\l
{}
ostowski, J. Serrano, P. Alvarez and P. Moreira
\emph
{
Performance results of the first White Rabbit installation for CNGS time transfer
}
.
...
...
@@ -194,25 +156,13 @@ TLV = Type-Length-Value (i.e. a way of defining information in messages)
ICALEPCS TUC004,
2009.
\\
\vspace*
{
-2em
}
\bibitem
{
WRPTP
}
%done x
Emilio G. Cota, Maciej Lipinski, Tomasz Wostowski, Erik van der Bij, Javier
Serrano
\emph
{
White Rabbit Specification: Draft for Comments
}
.
CERN, Geneva
07/2011.
\\
\vspace*
{
-2em
}
\bibitem
{
JohnExpliciteState
}
%done x
John Eidson,
\emph
{
Option to explicitely confgure port state
}
.
ISPCS2012, San Francisco, USA
2012.
\\
\vspace*
{
-2em
}
\bibitem
{
PTPv2
}
%done x
IEEE Instrumentation and Measurement Society
\emph
{
IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems
}
.
IEEE Std 1588TM-2008,
2008, New York, USA
\\
\vspace*
{
-2em
}
\bibitem
{
IEEE802.3
}
IEEE Std 802.3-2008
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment