Title: IEEE 1588 Implementation Precision Time Protocol
1IEEE 1588 ImplementationPrecision Time Protocol
Integrated System Health Management (ISHM)
David Rauth
Special Topics in ECE ISHM 0909-504-04 Dr. John
Schmalzel Rowan University
Thursday April 21, 2005
2ISHM Overview
- ISHM adds an intelligent component to all levels
of data acquisition and control systems giving
them the ability to self-assess their condition
and make real-time decisions based on that
knowledge. - Increased Safety
- Increased Performance
- Increased Reliability
- Decreased Cost
3The Time Synchronization Problem
- Current Solution
- DAQ server clock synchronized to UTC via IRIG
- Samples time-stamped at DAQ server
- Centralized DAQ
- All your eggs are in one basket
- High computation load on server
- One time source
- Time-stamp accuracy
4The Time Synchronization Problem
- Major Network-based Solutions
- Network Time Protocol (NTP)
- Most widely used protocol
- Targets large distributed computing systems
- Physical layer Ethernet
- Millisecond accuracy typical
- Time Triggered Protocol (TTP)
- Targets safety-critical systems (aircraft, etc.)
- Protocol addresses many other issues beyond time
sync. - Physical layer Primarily CAN RS-485
- Microsecond accuracy typical (depending on no. of
nodes)
5The Time Synchronization Problem
- Major Network-based Solutions (continued)
- Serial Real-Time Communications System (SERCOS)
- Targets motion-control systems (robots, etc.)
- Protocol addresses many other issues beyond time
sync. - Physical layer SERCOS (deterministic bus)
- Sub-microsecond accuracy typical
- Precision Time Protocol (PTP)
- Targets measurement and control systems
- Sole-purpose is low network load time
synchronization - Physical layer Any Multicast Network
- Sub-microsecond accuracy typical
6The Time Synchronization Problem
- Our PTP Solution
- Time synchronization via Ethernet infrastructure
- Increased accuracy
- Samples time-stamped at sensor level
- Distributed DAQ time-base
- High reliability
- Less infrastructure
- Easy maintenance
- Low cost
7PTP Clock Synchronization Model
- Overview (ordinary clocks)
- Each node contains a PTP clock (henceforth clock)
- Each clock has two ports to the communication
path - Event port
- General port
- One clock on the comm. path will be selected
master - Selection made by examining Sync messages
- Sync messages are sent by any clock claiming to
be master - Master clock status determined using best master
clock alg. - One clock in the sub-domain will be grandmaster
- Best accuracy of all the masters (ultimate time
source) - Each node synchronizes its clock to the master
via Sync messages
8PTP Clock Synchronization Model
- Assumptions
- Network must support multicast communication
- It must be possible to prevent multicast messages
from propagating beyond a subnet - Each clock shall meet performance requirements
- A clocks stated properties must accurately
describe the clock
9PTP Clock Synchronization Model
- Clock types
- Ordinary clocks
- Communication over a single comm. path
- Contained within subnet
- Boundary clocks
- Communication via multiple comm. paths
- Connect multiple subnets
10PTP Clock Synchronization Model
- PTP Communication Protocol
- All non-management messages are sent as multicast
communications - All non-management PTP messages are subnet
specific - Increased efficiency
- Scales easily as number of clocks increase
11PTP Clock Synchronization Model
- Major Clock Properties
- UUID for each port
- Clock type (ordinary or boundary)
- Clock stratum identifier
- ATOM - 1 (UTC calibrated clock accuracy lt 25ns)
- GPS - 1 (time derived from GPS receiver accuracy
lt 100ns) - ATOM - 2 (accuracy at last sync lt 100ns)
- GPS - 2 (accuracy at last sync lt 100ns)
- NTP - 2 (accuracy at last sync lt 50ms)
- HAND - 2 (set by operator accuracy lt 10s)
- INIT - 2 (arbitrary time set unspecified
accuracy) - DFLT - 3 (none of the above apply)
12PTP Clock Synchronization Model
- Clock Capabilities
- Follow-up (optional)
- Clock provides a Follow_Up message for each Sync
message issued - Variance
- Clock maintains an estimate of its inherent
stability - Latency
- Each port time-stamps inbound and outbound
messages for use in delay correction
13PTP Clock Synchronization Model
- Clock Capabilities (continued)
- Latency (continued)
14PTP Clock Synchronization Model
- Port Categories
- Event Port
- Sync Info. for time synchronization
- Delay_Req Management message for requesting TX
delay - General Port
- Follow_Up More accurate time-stamp value
- Delay_Resp Management message containing TX
delay
15PTP Clock Synchronization Model
- Synchronization Interval
- Seconds between Sync messages
- Shall be 1, 2, 8, 16, or 64 seconds
- All clocks must perform using any of the
intervals
16PTP Specification
- Time structure
- PTP Epoch started at 0hrs 1 Jan. 1970
- Epochs occur ever 8,925,512 years
17PTP Specification
- Protocol engine state machine
- PTP_INITIALIZING
- Initialize data sets, hardware, and comm.
properties - PTP_FAULTY
- Clock shall not participate in synchronization
- Implementation-specific measures taken to clear
fault - PTP_DISABLED
- Disabled and not responsive to messages
- PTP_LISTENING
- Waiting for Sync message or Sync message timeout
- PTP_MASTER
- Clock is behaving as a master
18PTP Specification
- Protocol engine state machine (continued)
- PTP_PRE_MASTER
- Clock is behaving as a master except it does not
send any non-management messages - PTP_PASSIVE
- Not transmitting periodic Sync messages unless
requested - PTP_UNCALIBRATED
- More than one master detected in subnet
- Transient state to allow a new master clock to
come online - PTP_SLAVE
- Clock is synchronizing to selected master
19PTP Specification
- Protocol engine state machine (continued)
20PTP Specification
- Best master clock (BMC) algorithm
- Determines which of all the clocks it can see
(including itself) is best - Algorithm runs independently on each clock
- Algorithm avoids a configuration with two
masters, no masters, or oscillation
21PTP Specification
- BMC algorithm definitions
- C0 Typical clock
- D0 Default data set
- r Port of C0 (one r for ordinary clock)
- Erbest Best message of those considered
- Ebest Best of all messages
22PTP Specification
- BMC state decision algorithm
Data set comparison algorithm
23PTP Specification
- BMC data set comparison algorithm goals
- Find which clock derives its time from better
grandmaster - If grandmasters are equivalent, choose clock
whose path length is lesser - Choose clock via tie-breaking techniques
24PTP Specification
- BMC data set comparison algorithm
- Part 1 of 4
Variance Comparison
25PTP Specification
- PTP Variance
- Represents performance of clock
- Based on Allan deviation
- Gives statistic on variation of local clock
frequency - xk, xk1, xk2 are residual time
measurements ? is the sample period between
measurements - N is the number of measurements
26PTP Specification
- PTP Variance (continued)
- PTP variance based on statistics of time
differences measured against a reference clock - xk, xk1, xk2 are time difference
measurements N is the number of measurements
27PTP Specification
- Local clock synchronization via PTP
28PTP Implementation
- What other network protocols can support PTP?
- (Remember multicast requirement)
- Besides ISHM where else can PTP be applied?
29PTP Implementation
- Ethernet implementation
- PTP messages sent via UDP
- PTP interface at PHY/MAC boundary
- Xilinx FPGA-based solution
- Implementation testing with OnTime T200 Switch
30Questions?
- Key References
- IEEE 1588-2002 PTP Standard
- IEEE 1588 NIST Website (http//ieee1588.nist.gov)
- Links to NTP, TTP, SERCOS informational sites
- Implementation information
- OnTime Networks (http//www.ontimenet.com)