In 2002 the IEEE 1588 Precision Time Protocol Standard addressed the need for deterministic responses by introducing a precision clock synchronization protocol for networked measurement and control systems. In 2008 a revised standard, IEEE 1588-2008 (also known as PTP Version 2) was released to improve accuracy, precision and robustness.
The adoption of IEEE 1588, specifically the Precision Time Protocol (PTP), is implemented in various Real Time Industrial Ethernet networking protocols.
Ethernet / IP : CIPsync, part of the ODVA Ethernet / IP frameworks, relates very much to PTP for motion control applications.
Profinet : Profinet (PNO) uses PTP as a synchronization protocol.
Ethernet POWERLINK : The Ethernet POWERLINK Standardization Group (EPSG) has plans to use PTP for synchronizing real-time segments in a future version.
In general terms, PTP provides fault-tolerant synchronization between slave clocks and a master clock that ensures that events and timestamps in all devices use the same time base.
The need for clock synchronization arose due to several factors: Differences in environmental temperature, the age of the clocks themselves, and the rate of frequency can all affect the quality of synchronization and, consequentially, the network's real-time performance. There is no guarantee that clocks throughout the network, set at the same frequency, will stay synchronized, and this circumstance initiated the call for continuous synchronization.
PTP requires very little bandwidth, processing power, and setup. It synchronizes all clocks within a network by adjusting clocks to the highest quality clock. IEEE 1588 defines value ranges for the standard set of clock characteristics.
The Best Master Clock (BMC) algorithm determines which clock is the highest quality clock within the network. The BMC (also known as the Grandmaster Clock ) synchronizes all other clocks (slave clocks) in the network. If the BMC is removed from the network or is determined by the algorithm to no longer be the highest quality clock, the algorithm redefines who the new BMC is and adjusts all other clocks accordingly.
While most IEEE 1588 implementations provide accuracy in the sub-microsecond range, their actual performance is highly application-specific. For example, the IEEE 1588 protocol does not specify the clock frequency in the master and slaves.
Lower-frequency clocks have poorer time resolution resulting in less-accurate timestamps in the PTP synchronization messages.
Clock stability is another factor. Clocks with lower stability will drift apart faster, and, as a result, require a higher rate of frequency and phase corrections.
Another factor is network topology. The simplest network topology (ie two devices on a single cable) causes less network jitter than many devices linked using routers and switches.
If more than one subnet is required to increase distance or number of devices, a network switch with an accurate IEEE 1588 clock, called a Boundary Clock , becomes the master clock and synchronizes the devices on the subnets.
Last, but not least, wide variations in network traffic may negatively affect clock skew as the delay correction lags current traffic conditions. Because many factors can degrade skew performance, benchmarking and monitoring the actual skew performance over time is advisable.