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
326d2b41
Commit
326d2b41
authored
Jan 25, 2013
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WR changes for PTPv3: update
parent
518beca9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
148 additions
and
53 deletions
+148
-53
changesToPtpv2.tex
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
+1
-1
highAccuracyOption.tex
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
+29
-11
highAccuracyProfile.tex
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
+112
-36
wrspec.tex
documents/WR_changes_for_PTPv3/wrspec.tex
+6
-5
No files found.
documents/WR_changes_for_PTPv3/changesToPtpv2.tex
View file @
326d2b41
...
...
@@ -2,4 +2,4 @@
\label
{
chap:changesToPtpv2
}
\section
{
Transport Annex
}
\ No newline at end of file
\subsection
{
Transport Annex
}
\ No newline at end of file
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
View file @
326d2b41
...
...
@@ -5,10 +5,11 @@
Stuff used by all the High Accuracy Options.
\subsubsection
{
High Accuracy TLV
definitaion
}
\subsubsection
{
High Accuracy TLV
}
The High Accuracy options shall use Signaling Messages carrying TLVs defined in this
clause. The following different messages are exchanged:
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
\_
LOCK
...
...
@@ -18,14 +19,15 @@ clause. The following different messages are exchanged:
\item
CALIBRATED
\item
HIGH
\_
ACCURACY
\_
LINK
\_
ON
\end{itemize*}
The High Accuracy options shall be performed only on direct paths
(i.e. two clocks connected
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.
address space
, i.e.: 01-80-C2-00-00-0E
.
\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
}
).
...
...
@@ -35,10 +37,11 @@ A port of a frequency-transfer-enabled device that is recommended to enter SLAVE
(recommended state is BMC
\_
SLAVE) shall execute activities listed in this clause if the
following conditions are fulfilled:
\begin{itemize*}
\item
the link partner is also frequency-transfer-enabled
\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*}
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
...
...
@@ -114,12 +117,27 @@ 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.
\subsection
{
Data Set fields
}
\begin{itemize*}
\item
Reception internal delay value (portDS.rxDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationRequestor
}
\item
Reception internal delay value of Communication Path patner (portDS.rxParentDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationResponder
}
\item
Transmission internal delay value (portDS.rxDelay) --
initialized to 0, shall be updated per clause~
\ref
{
chap:calibrationRequestor
}
\item
Transmission internal delay value 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
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
...
...
@@ -145,8 +163,9 @@ The calibration shall be as follows:
\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 sends CALIBRATED
Signaling Message which includes the values of measured internal delays.
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 delays.
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
...
...
@@ -155,6 +174,7 @@ clause~\ref{chap:asymmetry}), then only CALIBRATED Signaling Message with the t
internal delays values shall be sent.
\subsubsection
{
Calibration responder
}
\label
{
chap:calibrationResponder
}
A port (being in SLAVE/MASTER/UNCALIBRATED/PASSIVE state) shall handle the
CALIBRATE
\_
REQ Signaling Message by:
...
...
@@ -187,8 +207,6 @@ The interface to the hardware shall be defined in this clause, i.e.:
\item
stop sending calibration pattern -- request to H/W
\end{itemize*}
\subsection
{
Explicit Port State Configuration
}
This option enables to manually configure the state (and effectively the role: SLAVE, MASTER
...
...
documents/WR_changes_for_PTPv3/highAccuracyProfile.tex
View file @
326d2b41
\section
{
Default High Accuracy
Profile
}
\section
{
High Accuracy Default
Profile
}
\label
{
chap:highAccuracyProfile
}
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 sychronization.
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
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
}
).
\subsection
{
Hardware Requirements
}
The hardware which is required to suppor this profile shall
\begin{itemize*}
\item
transfer frequency over Layer 1 (e.g. SyncE
\cite
{
SynchE
}
)
\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
cha
gn
es)
\item
provide
higher layers with information about rx/tx latency values - using
cha
ng
es)
\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
achived using phase measurement techniques for sub LSB precision.
\item
provide calibration pattern (defined in transport annex for a given mapping).
achieved using phase measurement techniques for sub-LSB precision.
\item
generate (on request) calibration pattern -- defined in transport annex for a given mapping
\end{itemize*}
\subsection
{
High Accuracy Data Set fields
}
\begin{itemize*}
\item
High Accuracy ON flag (portDS.HighAccuracyON) -- initialized with FALSE, DYNAMIC field
\end{itemize*}
\subsection
{
Announce Message Suffix
}
Clocks (i.e. TC, OC) supporting High Accuracy Profile shall append their
Announce Messages with
the
suffix defined in this clause. Such devices shall also handle
properly the suffix which enables
recognis
ion of High Accuracy capable devices.
Announce Messages with
a
suffix defined in this clause. Such devices shall also handle
properly the suffix which enables
mutual recognit
ion of High Accuracy capable devices.
Except for High Accuracy profile capabilities recognision, the suffix conveys
the following information:
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
}
:
\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 (portDS.configState) of the
transmiting port
}
\item
\textcolor
{
gray
}{
Calibrated flag set to 1 if the internal fixed delays are known and
calibration is not needed
}
\item
\textcolor
{
black
}{
High Accuracy ON - flag set to 1 if the High Accuracy path is already
established, i.e.: receiving port 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 of
a path.
}
\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 consid
red established between two ports implementing
this profile if:
A High Accuracy Communication Path is consid
ered 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
using
clause~
\ref
{
chap:DelaysCalibration
}
)
\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
{
Establishing High Accuracy Communci
ation Path
}
\subsection
{
The High Accuracy Communic
ation Path
}
\subsection
{
Port in MASTER state
}
The following steps shall be performed to establish High Accuracy Communication Path
A High Accuracy Communication Path 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
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
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:
\begin{itemize*}
\item
the port implements High Accuracy 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
% Announce Messages received from a port implementing High Accuracy Profile
% (amended with appropriate suffix) \textbf{or}
% \item SYNCHRONIZATION\_FAULT event
% \end{itemize*}
\item
at least one of the ports on the Path (MASTER or SLAVE) has its
portDS.HighAccuracyON field set to FALSE.
\end{itemize*}
The following steps shall be performed to (re-)establish High Accuracy Communication Path
\begin{enumerate*}
\item
\item
\item
\item
\item
the port shall perform
\textit
{
Layer 1 Syntonization
}
as described in
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
\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*}
\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 --
the High Accuracy Communication Path is considered to be established
\end{enumerate*}
\subsection
{
Port recommended to be in SLAVE state (in UNCALIBRATED state)
}
\subsubsection
{
MASTER port
}
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
the port is in MASTER state
\item
the port receives L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Message
\end{itemize*}
The following steps shall be performed to establish High Accuracy Communication Path
\begin{enumerate*}
\item
\item
\item
\item
\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
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
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
\end{enumerate*}
documents/WR_changes_for_PTPv3/wrspec.tex
View file @
326d2b41
...
...
@@ -96,11 +96,12 @@ Networked Measurement and Control Systems\\ \textit{High Accuracy changelog}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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 d
e
vided into smaller key pieces
This document proposes the way
how
White Rabbit (WR) extension
\cite
{
WRPTP
}
could be included into
the next revision of PTP
\cite
{
PTPv2
}
. The original WR was d
i
vided 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
}
. This key pieces (options) are used togother by a
\textit
{
High Accuracy Default Profile
}
defined in Chapter~
\ref
{
chap:highAccuracyProfile
}
.
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
...
...
@@ -108,7 +109,7 @@ 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-reference
s
changes to PTP standard). However, experts will find
options/profile, or text-reference
d
changes to PTP standard). However, experts will find
precise propsals in the Appendixes.
...
...
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