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
c630c0e5
Commit
c630c0e5
authored
Jan 23, 2013
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WR changes for PTPv3: described options
parent
9d5905be
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
167 additions
and
19 deletions
+167
-19
highAccuracyOption.tex
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
+167
-19
No files found.
documents/WR_changes_for_PTPv3/highAccuracyOption.tex
View file @
c630c0e5
...
...
@@ -3,40 +3,49 @@
\subsection
{
General
}
Stuff used by all the High Accuracy Options.
\subsubsection
{
High Accuracy TLV definitaion
}
The High Accuracy options shall use Signaling Messages carrying TLVs defined in this
clause. The following different messages are exchanged:
\begin{itemize}
\begin{itemize
*
}
\item
L1
\_
SYNC
\_
SLAVE
\_
PRESENT
\item
L1
\_
SYNC
\_
LOCK
\item
L1
\_
SYNC
\_
LOCKED
\item
CALIBRATE
\item
CALIBRATE
\_
REQ
\item
CALIBRATE
\_
RSP
\item
CALIBRATED
\item
HIGH
\_
ACCURACY
\_
LINK
\_
ON
\end{itemize}
\end{itemize
*
}
The High Accuracy options shall be performed only on direct 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.
\subsection
{
L1
Link
Syntonization
}
\subsection
{
L1 Syntonization
}
This option applies to clocks (PTP devices, i.e. OC, BC, TC) capable of transfering frequency
over the physical layer (e.g. SyncE
\cite
{
SyncE
}
).
over the physical layer (e.g. SyncE
\cite
{
Sync
h
E
}
).
\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}
\begin{itemize
*
}
\item
the link partner is also frequency-transfer-enabled
\item
the frequency-distribution hierarchy in the network is set to follow PTP hierarchy
\end{itemize}
\end{itemize
*
}
The port shall enter UNCALIBRATED state of PTP State Machine and send the
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 (timeout) for the L1
\_
SYNC
\_
LOCK Singaling Message. Once received,
the hardware (i.e.: PLL) shall be requested to lock to the ingres frequency. The interface to
the hardware shall be defined in this clause. Once it is indicated that the device is
frequency-locked, the L1
\_
SYNC
\_
LOCKED shall be sent to the path-partner.
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
indicated that the device is frequency-locked, the L1
\_
SYNC
\_
LOCKED shall be sent to the
path-partner.
\subsubsection
{
Frequency MASTER
}
...
...
@@ -45,21 +54,160 @@ L1\_SYNC\_SLAVE\_PRESENT Signaling Messages. Once such a message is received, th
shall perform all the necessary steps to prepare frequency sending to the path-partner
(e.g.: do nothing). Once ready, the port sends L1
\_
SYNC
\_
LOCK Signaling Message to the
path-partner and waits for the L1
\_
SYNC
\_
LOCKED Signaling Message for a limited time
(
timeout) which is indicated in the 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.
(
\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
been received, the port assumes that the
path-partner is frequency-locked.
\subsubsection
{
Timeout
}
\label
{
chap:timeout
}
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.
On timeout, an operation (i.e. sending Singaling Message) is repeated for a configurable
number of times (i.e. retry). This number is indicated by the SLAVE to the MASTER
in the L1
\_
SYNC
\_
SLAVE
\_
PRESENT Signaling Message.
\subsubsection
{
L1 Interface
}
\label
{
chap:l1Interface
}
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
\end{itemize*}
\subsection
{
Rx/Tx Delays Calibration
}
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.
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).
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)
\item
periodically, during normal operation (i.e. SLAVE port being in SLAVE state,
MASTER slave 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.
\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
}
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
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 (???)
\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 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
}
.
The calibration shall be as follows:
\begin{enumerate*}
\item
Tx internal delays calibration - if required (can be done on start-up), the requestor
first sends itself a
\textit
{
calibration pattern
}
in order to calibrates its
transmission internal delays. Time to perform such calibration shall be included
into the
\textit
{
calibration 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 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
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 values shall be sent.
\subsubsection
{
Calibration responder
}
A port (being in SLAVE/MASTER/UNCALIBRATED/PASSIVE state) shall handle the
CALIBRATE
\_
REQ Signaling Message by:
\begin{enumerate*}
\item
preparing its rx/tx appropriately
\item
sending CALIBRATE
\_
RSP Signaling Message
\item
starting to send
\textit
{
calibration pattern
}
\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.
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).
\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
\end{itemize*}
\subsection
{
Explicit Port State Configuration
}
\subsection
{
Asymmetry estimation
}
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. The 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
}
)
Configuration of SLAVE state for many ports of the same BC is considered misconfiguration.
\subsubsection
{
Modified State Decision Algorithm
}
\label
{
chap:modifiedSDA
}
The modification to State Decision Algorithm shall enable a port with clockClass=3 to
recommended the next state based on the value of portDS.configState this port and other ports
as well as the state of other ports.
\subsubsection
{
Modified State Machine
}
\label
{
chap:modifiedFSM
}
The modified PTP State Machine ensures that a port configured to be MASTER or PASSIVE (using
portDS.configPort) remains in the configured state regardless of the received Announce
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.
\subsection
{
Multi-slave boundary clock
}
\label
{
chap:multiSlaveBC
}
This option enables a BC to have many ports in a SLAVE state. One of the SLAVE ports is
a so-called Primary Slave -- provides the source of time (and frequency) for the BC. Any
other port in the SLAVE state is considered a Secondary Slave - in normal operation,
it does not provide time (and frequency) to the BC but synchronizes (and syntonizes) to the
path-partner and acts as a hot-spare in case the Primary Slave breaks.
A port becomes a Secondary Slave if it is recommended by the State Decision Algorithm
(also SDA modified per clause~
\ref
{
chap:modifiedSDA
}
) to enter PASSIVE state.
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