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
be9dbd4c
Commit
be9dbd4c
authored
Jan 27, 2013
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WR changes for PTPv3: update
parent
326d2b41
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
329 additions
and
134 deletions
+329
-134
changesToPtpv2.tex
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
+6
-1
highAccuracyOption.tex
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
+205
-86
highAccuracyProfile.tex
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
+73
-46
openQuestions.tex
documents/WR_changes_for_PTPv3/openQuestions.tex
+45
-1
No files found.
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
View file @
be9dbd4c
...
...
@@ -2,4 +2,9 @@
\label
{
chap:changesToPtpv2
}
\subsection
{
Transport Annex
}
\ No newline at end of file
\subsection
{
Annex F
}
\subsection
{
Calibration Pattern
}
It shall be defined as RD+K28.7 code group, Appendix 36A.2 of IEEE802.3.
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
View file @
be9dbd4c
...
...
@@ -5,55 +5,122 @@
Stuff used by all the High Accuracy Options.
\subsubsection
{
High Accuracy TLV
}
\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
clock shall also handle properly received Announce Messages with appended suffix.
This enables mutual recognition of
High Accuracy option capabilities. The suffix is defined as a TLV recognized by tlvType
of HIGH
\_
ACCURACY
\_
OPTION. The suffix conveys the following information:
\begin{itemize*}
\item
Flags indicating active High Accuracy options (bit per option):
\textit
{
enabledOptions
}
\item
A profile-specific value (defined by the High Accuracy Profile):
\textit
{
profileFlags
}
\item
A value defined by the
\textit
{
Layer 1 Syntonization
}
option:
\textit
{
syntonizationFlags
}
\end{itemize*}
\begin{table}
[ht!]
\caption
{
High Accuracy suffixed Announce Message.
}
\centering
\begin{tabular}
{
| c | c | c | c | c | c | c | c | c | c | p
{
7cm
}
|
}
\hline
\multicolumn
{
8
}{
|c|
}{
\textbf
{
Bits
}}
&
\textbf
{
Octets
}
&
\textbf
{
TLV
}
&
\textbf
{
Content
}
\\
%\hline
\cline
{
0-7
}
7
&
6
&
5
&
4
&
3
&
2
&
1
&
0
&
&
\textbf
{
Offset
}
&
\\
\hline
\multicolumn
{
8
}{
|c|
}{
header
}
&
34
&
0
&
section 13.3, PTP.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
body
}
&
30
&
34
&
section 13.5, PTP.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
tlvType
}
&
2
&
64
&
HIGH
\_
ACCURACY
\_
OPTION.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
lengthField
}
&
2
&
66
&
0x4.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
enabledOptions
}
&
1
&
68
&
bits specify which options are active.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
profileFlags
}
&
2
&
70
&
flags defined by High Accuracy profile.
\\
\hline
\multicolumn
{
8
}{
|c|
}{
syntonizationFlags
}
&
1
&
72
&
flags defined in clause~
\ref
{
chap:layer1syntonization
}
.
\\
\hline
\end{tabular}
\label
{
tab:wrAnnounce
}
\end{table}
\subsubsection
{
High Accuracy Signaling Messages
}
The High Accuracy options shall use Signaling Messages carrying TLVs defined in this
clause. The TLVs shall be recognized by tlvType of HIGH
\_
ACCURACY
\_
OPTION.
The following different messages are exchanged:
\begin{itemize*}
\item
L1
\_
SYNC
\_
SLAVE
\_
PRESENT
\item
L1
\_
SYNC
\_
SLAVE
\_
PRESENT
(carries
\textit
{
timeout
}
value, syntonizationFlags)
\item
L1
\_
SYNC
\_
LOCK
\item
L1
\_
SYNC
\_
LOCKED
\item
CALIBRATE
\_
REQ
\item
CALIBRATE
\_
REQ
(carries tx/rx periods and pattern values)
\item
CALIBRATE
\_
RSP
\item
CALIBRATED
\item
CALIBRATED
(carries tx/rx internal delays values)
\item
HIGH
\_
ACCURACY
\_
LINK
\_
ON
\end{itemize*}
The High Accuracy options shall be performed only on direct Communication Paths
(i.e. two clocks connected
by direct link). In order to ensure direct communication (avoid communication over devices
not supporting PTP and/or High Accuracy options), the Signaling Messages defined in this
clause shall be sent using the multicast address from the reserved (non-forwardable)
address space, i.e.: 01-80-C2-00-00-0E.
(i.e. two clocks connected by direct link). In order to avoid communication over devices
not supporting PTP and/or High Accuracy options,
\textcolor
{
red
}{
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
}
).
}
\subsubsection
{
Timeout
}
\label
{
chap:timeout
}
On
\textit
{
timeout
}
, a recently performed operation (i.e. sending Singaling Message) shall be
repated. A
\textit
{
timeout
}
for the same operation shall occur maximum of
\textit
{
retry
}
number of times.
\subsection
{
Layer 1 Syntonization
}
\label
{
chap:layer1syntonization
}
This option applies to clocks (PTP devices, i.e. OC, BC, TC) capable of transfering frequency
over the physical layer (e.g. SyncE
\cite
{
SynchE
}
).
This option applies to clocks (PTP devices, i.e. OC, BC) capable of transferring frequency
over the physical layer (e.g. SyncE
\cite
{
SynchE
}
or alike). Such clocks shall set the appropriate bit
of
\textit
{
High Accuracy Announce Suffix
}
to 1 and advertise their settings/capabilities
by setting appropriate bits of syntonizationFlags included in the suffix.
A port receiving Announce Message with the
\textit
{
High Accuracy Suffix
}
shall verify
its frequency transfer settings/capabilities against the advertised in syntonizationFlags.
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 profile.
\subsubsection
{
syntonizationFlags
}
The following bits shall reflect the L1 Syntonization settings/configuration/capabilities:
\begin{enumerate*}
\item
L1 Syntonization hierarchy and 1588 hierarchy are independent
\item
L1 Syntonization hierarchy agrees with 1588 hierarchy
\item
L1 Syntonization hierarchy determines 1588 hierarchy
\item
L1 Syntonization hierarchy and 1588 hierarchy are set externally (i.e. external
protocol or user configuration)
\item
Phase-aligned frequency Loopback
\end{enumerate*}
% A port sending Announce Messages shall announce its settings/capabilities by including the
% syntonizationFlags value in the appended \textit{High Accuracy Suffix}.
\subsubsection
{
Frequency SLAVE
}
A port of a frequency-transfer-enabled device that is recommended to enter SLAVE state
(recommended state is BMC
\_
SLAVE) shall execute activities listed in this clause if the
following conditions are fulfilled:
\begin{itemize*}
\item
the Communication Path partner is also frequency-transfer-enabled (as recognized by
transportSpecific field of the Announcement Message)
\item
the frequency-distribution hierarchy in the network is set to follow PTP hierarchy
(as recognized by transportSpecific field of the Announcement Message)
\end{itemize*}
\subsubsection
{
L1 Syntonization hierarchy and 1588 hierarchy are independent
}
Such setting is informative to the protocol, no special action is taken.
\subsubsection
{
L1 Syntonization hierarchy agrees with 1588 hierarchy
}
The port selected by the BMC to enter the SLAVE state is a
\textit
{
frequency SLAVE
}
while the port selected by the BMC to be in MASTER state is a
\textit
{
frequency MASTER
}
.
For each of the different ports (i.e. frequency MASTER and SLAVE) the actions defined below
shall take place.
\paragraph
{
Frequency SLAVE
}
The port shall enter UNCALIBRATED state of PTP State Machine and send the
\\
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Singaling 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
Singaling Message. Once received, the hardware (i.e.: PLL) shall be requested to lock to the
ingres frequency using
\textit
{
L1 interface
}
(clause~
\ref
{
chap:l1Interface
}
). Once it is
ingres
s
frequency using
\textit
{
L1 interface
}
(clause~
\ref
{
chap:l1Interface
}
). Once it is
indicated that the device is frequency-locked, the L1
\_
SYNC
\_
LOCKED shall be sent to the
path-partner.
If no procedures by other options are required in the UNCALIBRATED state, the
MASTER
\_
CLOCK
\_
SELECTED event shall occur
e
and SLAVE state shall be entered.
MASTER
\_
CLOCK
\_
SELECTED event shall occur and SLAVE state shall be entered.
\
subsubsection
{
Frequency MASTER
}
\
paragraph
{
Frequency MASTER
}
A port of a frequency-transfer-enabled device that is in the MASTER state shall recognize
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Messages. Once such a message is received, the port
...
...
@@ -64,25 +131,34 @@ path-partner and waits for the L1\_SYNC\_LOCKED Signaling Message for a limited
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Message. Once the L1
\_
SYNC
\_
LOCKED Signaling Message has
been received, the port assumes that the path-partner is frequency-locked.
\subsubsection
{
Timeout
}
\label
{
chap:timeout
}
\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
(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
the port is set externally using
\textit
{
Explicit Port State Configuration
}
option.
On
\textit
{
timeout
}
an operation (i.e. sending Singaling Message) shall be repated a
\textit
{
retry
}
number of times. Both
\textit
{
timeout
}
and
\textit
{
retry
}
are determined
by the SLAVE port (configurable Data Fields) and provided to the MASTER port
using
L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Message.
\subsubsection
{
Frequency Loopback
}
The frequency recovered on a
\textit
{
frequency SLAVE
}
port and phase-aligned
using
PTP data is sent back by the port to the
\textit
{
frequency MASTER
}
.
\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 -- it can be
i
nacceptable with some applications. Therefore, a notification from H/W (i.e. PLL) shall be
might significantly deteriorate without means to detect such situation
by the protocol
-- it can be
u
nacceptable with some applications. Therefore, a notification from H/W (i.e. PLL) shall be
handled by devices 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 in which the Layer 1 Syntonization is attempted to be
re-established.
port enters UNCALIBRATED state.
% (if L1 Syntonization hierarchy is aligned 1588 hierarchy,
% the Layer 1 Syntonization is attempted to be re-established).
\subsubsection
{
Layer 1 Interface
}
...
...
@@ -90,88 +166,87 @@ re-established.
The interface to the hardware shall be defined in this clause, i.e.:
\begin{itemize*}
\item
frequency-lock -- request to H/W
\item
frequency-lock-ready -- notification from H/W
\item
frequency-source -- request to H/W
\item
frequency-lock-lost -- notification from H/W
\item
L1-state-set
\{
MASTER or SLAVE or NONE
\}
-- request to H/W -- set port to be frequency SLAVE or MASTER or enable other "means" to decide
\item
L1-state-get
\{
MASTER or SLAVE or IDLE
\}
-- notification from HW -- current state of the port
\item
L1-state-ready -- notification from H/W -- port is in requested state (SLAVE or MASTER)
\item
L1-state-lost -- notification from H/W -- port exited the requested state
\end{itemize*}
\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
path-partner in calibration process. Protocol-wise, such
calibration shall be defined in this clause.
request assistance from the
Communication Path partner in 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, UNCALBRATED, PASSIVE states).
of responding to calibration request (in SLAVE, MASTER, UNCAL
I
BRATED, PASSIVE states).
Such calibration can be done:
\begin{itemize*}
\item
at the beginning of establishing master-slave relation (i.e. SLAVE port being in
UNCALIBRATED state, MASTER
slave
being in MASTER state)
UNCALIBRATED state, MASTER
port
being in MASTER state)
\item
periodically, during normal operation (i.e. SLAVE port being in SLAVE state,
MASTER
slave
being in MASTER state)
MASTER
port
being in MASTER state)
\end{itemize*}
The calibration procedure cannot take more time then the announceInterval.
% Obtaining the
% information whether the path-partner is capable of responding to the calibration request
% is out of the scope of this clause. However, no response within \textit{timeout} to the
% CALIBRATE\_REQ Singaling Message can be a good indication that the path-partner
% does not implement this option (or is currently unavailable to provide calibration pattern).
Obtaining the information whether the path-partner is capable of responding to the
calibration request is out of the scope of this clause.
\subsection
{
Data Set fields
}
\subsubsection
{
Data Set fields
}
\begin{itemize*}
\item
Reception internal delay
value
(portDS.rxDelay) --
\item
Reception internal delay (portDS.rxDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationRequestor
}
\item
Reception internal delay
value
of Communication Path patner (portDS.rxParentDelay) --
\item
Reception internal delay of Communication Path patner (portDS.rxParentDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationResponder
}
\item
Transmission internal delay
value
(portDS.rxDelay) --
\item
Transmission internal delay (portDS.rxDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationRequestor
}
\item
Transmission internal delay
value
of Communication Path patner (portDS.rxParentDelay) --
\item
Transmission internal delay of Communication Path patner (portDS.rxParentDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationResponder
}
\end{itemize*}
\subsubsection
{
Calibration Pattern
}
The calibration pattern (signal sent to perform calibration) shall be defined for
each
The calibration pattern (signal sent to perform calibration) shall be defined for
appropriate
transport mapping in appropriate Annex (Annex E-I).
\subsubsection
{
Calibration requestor
}
\label
{
chap:calibrationRequestor
}
A port (being in SLAVE/MASTER/UNCALIBRATED/PASSIVE state) which requires tx/rx internal
delays calibration (i.e. measurement) shall send CALIBRATE Signaling Message to its
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
calibration retry
\item
calibration pattern (???)
\item
\textcolor
{
red
}{
calibration pattern (see clause~
\ref
{
chap:q:calibrationPatternDefinition
}
)
}
\end{itemize*}
The duration of calibration procedure defined by
period*retry shall be less then
interval between sending consecutive Announce Messages defined by announceInterval.
The duration of calibration procedure defined by
(tx
\_
period+rx
\_
period)*retry shall be less
then
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 by directly
\textit
{
calibration pattern
}
.
Signaling Message is followed by directly
\textit
{
calibration pattern
}
.
The calibration shall be as follows:
\begin{enumerate*}
\item
Tx internal delays calibration - if required
(can be done on start-up)
, the requestor
\item
Tx internal delays calibration - if required, the requestor
first sends itself a
\textit
{
calibration pattern
}
in order to calibrates its
transmission internal delays. Time to perform such calibration shall be
includ
ed
into the
\textit
{
calibration
period
}
.
transmission internal delays. Time to perform such calibration shall be
specifi
ed
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
(portDS.rxDelay, portDS.txDelay) and sends
CALIBRATED Signaling Message which includes the values of measured internal delay
s.
transmission and reception internal delays
Data Set fields (portDS.rxDelay, portDS.txDelay)
and sends CALIBRATED Signaling Message which includes their value
s.
If the calibration procedure (i.e. sending
\textit
{
calibration pattern
}
is not required
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:
asymmetry
}
), then only CALIBRATED Signaling Message with the tx/rx
internal delays value
s shall be sent.
clause~
\ref
{
chap:
mediumAsymmetryEstimation
}
), then only CALIBRATED Signaling Message with the the values of
tx/rx internal delay
s shall be sent.
\subsubsection
{
Calibration responder
}
\label
{
chap:calibrationResponder
}
...
...
@@ -182,32 +257,39 @@ CALIBRATE\_REQ Signaling Message by:
\item
preparing its rx/tx appropriately
\item
sending CALIBRATE
\_
RSP Signaling Message
\item
starting to send
\textit
{
calibration pattern
}
\item
stop sending
\textit
{
calibration pattern
}
on reception of 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 then 0, the
responder shall prepare for reception of
\textit
{
calibration pattern
}
from the requestor
for
\textit
{
tx period
}
time. After
\textit
{
tx period
}
, it shall await 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
\textit
{
timeout
}
expiration.
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
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).
(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).
\subsubsection
{
Calibration Interface
}
The interface to the hardware shall be defined in this clause, i.e.:
\begin{itemize*}
\item
calibrate tx path -- request to H/W
\item
calibrate rx path request to -- H/W
\item
accommodate calibration pattern on rx for given time -- request to H/W
\item
tx path calibrated -- notification from H/W
\item
rx path calibrated -- notification from H/W
\item
start sending calibration pattern -- request to H/W
\item
stop sending calibration pattern -- request to H/W
\item
calibrate tx -- request to H/W -- enables measurement of tx internal delay
\item
calibrate rx -- request to H/W -- enables measurement of rx internal delay
\item
accommodate calibration pattern on rx for given time -- request to H/W -- prepares
hardware for reception of non-standard input signal (e.g.
\textcolor
{
red
}{
disable coma-alignment
}
)
\item
tx path calibrated -- notification from H/W -- informs that tx internal delay has been
measured and provides the measured value
\item
rx path calibrated -- notification from H/W -- informs that rx internal delay has been
measured and provides the measured value
\item
start sending calibration pattern -- request to H/W -- enables sending calibration pattern
\item
stop sending calibration pattern -- request to H/W -- disables sending calibration pattern
\end{itemize*}
\subsection
{
Explicit Port State Configuration
}
\label
{
chap:explicitPortStateConfiguration
}
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
...
...
@@ -216,13 +298,14 @@ shall be MASTER. The option shall be used if the clockClass is set to 3. This op
use modified State Decision Algorithm (clause~
\ref
{
chap:modifiedSDA
}
) and modified State
Machine (clause~
\ref
{
chap:modifiedFSM
}
)
Configuration of SLAVE state for many ports of the same BC is considered misconfiguration.
Configuration of SLAVE state for many ports of the same BC is considered misconfiguration
unless
\textit
{
Multi--slave Boundary Clock
}
option is enabled.
\subsubsection
{
Modified State Decision Algorithm
}
\label
{
chap:modifiedSDA
}
The modification to State Decision Algorithm shall enable a port with clockClass=3 to
recommend
ed the next state based on the value of portDS.configState this port and other ports
recommend
the next state based on the value of portDS.configState for this port and other ports,
as well as the state of other ports.
\subsubsection
{
Modified State Machine
}
...
...
@@ -233,6 +316,42 @@ portDS.configPort) remains in the configured state regardless of the received An
Messages. A port configured to be SLAVE (using portDS.configPort) shall pass through the
UNCALIBRATED state (if implemented) each time it synchronizes to a new MASTER port,
i.e. when the physical link is (re-)connected or a "better" grandmaster is connected to the
communication path.
Communication Path.
\subsection
{
Medium Asymmetry Estimation
}
\label
{
chap:mediumAsymmetryEstimation
}
This clause defines how the asymmetry introduced by medium can be estimated using
values provided by
\textit
{
Rx/Tx Delays Calibration
}
option. Different methods
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
\cite
{
PTPv2
}
:
\begin{align}
\eqdelay
{
ms
}
=
\mu
+
\eqasymm
\label
{
eq:asymm
}
\\
\eqdelay
{
sm
}
=
\mu
-
\eqasymm
\end{align}
The tx/rx internal delays measured using
\textit
{
Rx/Tx Delays Calibration
}
option are
expressed:
\begin{equation}
\label
{
eq:delta
}
\Delta
=
\Delta
_{
tx
_
m
}
+
\Delta
_{
rx
_
s
}
+
\Delta
_{
tx
_
s
}
+
\Delta
_{
rx
_
m
}
\end{equation}
\subsubsection
{
Ethernet over a Single-mode Fiber Optical Link
}
\label
{
chap:asymmetryEstimation
}
The relation between propagation delays in the single-mode fiber at different wave-lengths
in different directions is expressed by
\textit
{
relative delay coefficient
}
(
$
\alpha
$
):
\begin{equation}
\delta
_{
ms
}
= (1 +
\alpha
)
\,
\delta
_{
sm
}
\label
{
eq:singlefiber
}
\end{equation}
The delay asymmetry is estimated using the following expression:
\begin{equation}
\label
{
eq:aqasymm
}
\eqasymm
=
\Delta
_{
tx
_
m
}
+
\Delta
_{
rx
_
s
}
-
\frac
{
\Delta
-
\alpha
\mu
+
\alpha
\Delta
}{
2 +
\alpha
}
\end{equation}
\ No newline at end of file
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
View file @
be9dbd4c
...
...
@@ -7,15 +7,34 @@ the profile and how the \textit{High Accuracy Options} shall be combined along w
other PTP configuration to achieve sub-nanosecond accuracy of synchronization.
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 the
transportSpecific flag indicating usage of Layer 1 syntonization with frequency loopback.
However, using transportSpecific flag set DEFAULT is allowed if the Communication Path
partner does not implement High Accuracy Profile. This profile shall be inter-operable
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:
\begin{itemize*}
\item
\textit
{
L1 Syntonization hierarchy agrees with 1588 hierarchy
}
\item
\textit
{
Phase-aligned frequency Loopback
}
.
\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
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
and the port shall default to
\textit
{
Delay Request-Response Default PTP profile
}
(Annex~J.3 of
\cite
{
PTPv2
}
).
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).
\subsection
{
Hardware Requirements
}
...
...
@@ -33,44 +52,53 @@ The hardware which is required to suppor this profile shall
\subsection
{
High Accuracy Data Set fields
}
\begin{itemize*}
\item
High Accuracy ON flag (portDS.HighAccuracyON) -- initialized with FALSE, DYNAMIC field
\end{itemize*}
%
\begin{itemize*}
%
\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.
\subsection
{
Announce Message Suffix
}
Clocks (i.e. TC, OC) supporting High Accuracy Profile shall append their
Announce Messages with a suffix defined in this clause. Such devices shall also handle
properly the suffix which enables mutual recognition of High Accuracy capable devices.
\subsection
{
High Accuracy profileFlags
}
Except for enabling to recognize clocks implementing High Accuracy Profile, the suffix conveys
the following information
\footnote
{
Information in gray is included for
backward-compatibility, it is not necessary for correct functioning of the profile
}
:
The following information shall be conveyed using profileFlags of the High Accuracy Suffix
to the Announce Messages:
\begin{itemize*}
% \item Magic Number
% \item Version Number (can be different for non-default High Accuracy Profiles)
% \item Message ID (ID is used over all High Accuracy options/profiles)
\item
\textcolor
{
gray
}{
Explicit configuration port state (value of portDS.configState)
of the transmitting port
}
\item
\textcolor
{
gray
}{
Calibrated flag -- it is set to 1 if the internal fixed delays
are known and calibration is not needed
}
\item
\textcolor
{
black
}{
High Accuracy ON flag - it is set to 1 if the High Accuracy
\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
Communication Path is already established
% i.e.: the receiving port has already passed through UNCALIBRATED state in which it
% syntonized over Layer~1 and the value of internal delays has been exchanged. This
% flag is used mainly to enforce by the MASTER re-calibration and re-syntonization
}
\end{itemize*}
A High Accuracy Communication Path is considered established between two ports (i.e.
MASTER port and SLAVE port) implementing this profile if:
\begin{itemize*}
\item
the ports are connected by direct link (no other devices on the Communiation Path)
\item
the ports are syntonized over Layer 1
\item
the SLAVE port has the knowledge about internal tx/rx delays (obtained/exchanged
within
\textit
{
Rx/Tx Delays Calibration
}
Option, clause~
\ref
{
chap:DelaysCalibration
}
)
\item
the SLAVE port is in the SLAVE state and the MASTER port is in the MASTER state.
\end{itemize*}
% Clocks (i.e. BC, OC) supporting \textit{High Accuracy Default Profile} shall append their
% Announce Messages with a suffix defined in this clause. Such devices shall also handle
% properly the suffix. This enables mutual recognition of High Accuracy capable devices.
% The suffix conveys the following information \footnote{Information in gray is included for
% backward-compatibility with White Rabbit extension, it is not necessary for correct
% functioning of the profile }:
% \begin{itemize*}
% % \item Magic Number
% % \item Version Number (can be different for non-default High Accuracy Profiles)
% % \item Message ID (ID is used over all High Accuracy options/profiles)
% \item \textcolor{gray}{Explicit configuration port state (value of portDS.configState)
% of the transmitting port}
% \item \textcolor{gray}{Calibrated flag -- it is set to 1 if the internal fixed delays
% are known and calibration is not needed}
% \item \textcolor{black}{High Accuracy ON flag - it is set to 1 if the High Accuracy
% Communication Path is already established
% % i.e.: the receiving port has already passed through UNCALIBRATED state in which it
% % syntonized over Layer~1 and the value of internal delays has been exchanged. This
% % flag is used mainly to enforce by the MASTER re-calibration and re-syntonization
% }
% \end{itemize*}
% A High Accuracy Communication Path is considered established between two ports (i.e.
% MASTER port and SLAVE port) implementing this profile if:
% \begin{itemize*}
% \item the ports are connected by direct link (no other devices on the Communication Path)
% \item the ports are syntonized over Layer 1
% \item the SLAVE port has the knowledge about internal tx/rx delays (obtained/exchanged
% within \textit{Rx/Tx Delays Calibration} Option, clause~\ref{chap:DelaysCalibration})
% \item the SLAVE port is in the SLAVE state and the MASTER port is in the MASTER state.
% \end{itemize*}
\subsection
{
The High Accuracy Communication Path
}
...
...
@@ -79,16 +107,15 @@ MASTER state by BMC (a.k.a. MASTER port) and a port recommended to be in SLAVE s
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
Profile.
The process described below (for SLAVE and MASTER port) shall be non-preemptive with
regards to PTP state machine, i.e. the state of neither of ports shall not change once
regards to PTP state machine, i.e. the state of neither of
the
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
UNCALIBRATED state if the following conditions are fulfilled:
UNCALIBRATED state
by the SLAVE port
if the following conditions are fulfilled:
\begin{itemize*}
\item
the port implements High Accuracy profile
\item
both ports on 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
...
...
@@ -105,8 +132,8 @@ 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.
reception of CALIBRATE
\_
REQ or CALIBRATED
Signaling Message
clause~
\ref
{
chap:DelaysCalibration
}
, i.e.
wait for reception of CALIBRATE
\_
REQ
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*}
...
...
@@ -124,7 +151,7 @@ The following steps shall be performed to (re-)establish High Accuracy Communica
The steps to establish High Accuracy Communication Path shall start
if the following conditions are fulfilled:
\begin{itemize*}
\item
the port implements High Accuracy profile
\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
\end{itemize*}
...
...
@@ -132,12 +159,12 @@ The following steps shall be performed to establish High Accuracy Communication
\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
reception of
\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
\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. reception of CALIBRATE
\_
REQ or CALIBRATED
clause~
\ref
{
chap:DelaysCalibration
}
, i.e.
wait for
reception of CALIBRATE
\_
REQ 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
...
...
documents/WR_changes_for_PTPv3/openQuestions.tex
View file @
be9dbd4c
...
...
@@ -10,4 +10,48 @@ other port in the SLAVE state is considered a Secondary Slave - in normal operat
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.
\ No newline at end of file
(also SDA modified per clause~
\ref
{
chap:modifiedSDA
}
) to enter PASSIVE state.
\subsection
{
High Accuracy Signaling Message address
}
\label
{
chap:q:haSignalingMessageAddress
}
\begin{itemize*}
\item
It enables HA options to work only ony direct Communication Paths, i.e. the messages
will not go through bridges/standard-PTP-clocks so we will never
L1
\_
LOCK, CALIBRATE or establish HA
\_
LINK on indirect connections.
\item
Works for TC, but the L1 Syntonization is on link-by-link bases (like peer-to-peer
mechanism)
\item
There is nothing against using High Accuracy Options over IP mapping, the problem is
there there is no mean to enforce direct link on the Communication Path -- setting
Time To Live to 1 (as in peer-to-peer messages) does not prevent from being relayed
by bridges (only prevents passing through routeres)
\end{itemize*}
\subsection
{
Phase Detection Option
}
\label
{
chap:q:phaseDetection
}
I am not sure whether it is good/possible/feasible to describe the phase detection techniques
to achieve sub-LSB timestamping precision in the standard. On the other hand, what we
measure really precisely is the course round trip. The timestamp on the SLAVE port
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
IP as well.
\subsection
{
Calibration Pattern definition
}
\label
{
chap:q:calibrationPatternDefinition
}
It can be defined for different media/speed/whatever, maybe some table in Annexes.
Or, it can be indicated in the CALIBRATE
\_
REQ:
\begin{itemize*}
\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
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