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