The IEEE 1588 Standard Precision Time Protocol (PTP) is being used by industrial automation applications for precise time synchronization (PTS) on Ethernet networks. PTS provides accurate time synchronization for distributed control nodes.
According to the ARC Industrial Ethernet Report
of June 2005, the Industrial Ethernet market has a projected CAGR of 51.4 percent and is expected to reach 6.6 million units by 2009 propelled by the heavy adoption of the IEEE 1588 Standard.
Prudent industrial system designers must carefully evaluate their options to cost-effectively and confidently implement this industrial standard as it makes greater inroads. And certainly, the selected design route must take into consideration the update to Rev. 2.0 of the IEEE 1588 Standard when it is completed this year.
A triple-speed Ethernet medium access control (MAC) is essential for supporting the IEEE 1588 Standard. Today, designers have a few implementation approaches at hand including FPGAs as a first step in the implementation process.
Getting A Handle On IEEE 1588
The IEEE 1588 PTP synchronizes an industrial control system to within less than a microsecond. This timing includes synchronizing local clocks in sensors, actuators, and other terminal devices using the same network that also transports process data. The 1588 clock is used in a sensor in one of two ways. It can generate a timestamp at the moment the data is acquired.
Or, it is used as a mechanism to generate the acquisition trigger. This is performed by comparing the time of the 1588 clock to a specified trigger time provided to the component as part of the application. Similarly in an actuator, the IEEE 1588 clock generates the actuation trigger by comparing the time of the 1588 clock to a specified trigger time provided to the component as part of the application.
Precise timing, therefore, provides a solid basis for real time Industrial Ethernet, whereas before, real time capability was only available as part of specially optimized systems. A system in relation to an application can be real time if the system meets all the application's timing requirements. For instance, a communications system must guarantee deterministic behavior if hard real time is to meet motion control application requirements.
Like other protocols, PTP is also based on the best possible time matching between transmitted and received data. Unlike SNTP (simple network time protocol), the time when data is transmitted does not need to be transmitted in the synchronization packet, itself, but in a following packet.
In this way, transmission and measurement can be decoupled. The protocol was designed for small homogeneous and also heterogeneous local networks. Further, IEEE 1588 developers focused on low resource usage so that the IEEE 1588 protocol can also be used in low-end and low cost terminal devices. No special requirements are placed on memory or CPU performance, and only minimal network bandwidth is needed.
The IEEE 1588 PTP functions by organizing network clocks in a master-slave hierarchy. PTP identifies the master clock and then arranges for a two-way timing exchange, as shown in Figure 1. In this scheme, the master transmits messages to its slaves to initiate synchronization. Each slave then responds to synchronize itself to the master. This sequence is repeated throughout the specified network to achieve and maintain clock synchronization.
Figure 1. Synchronization process involves two steps.
Time difference between master and slave is corrected and delay measurement or clock skew correction determines delay between slave and master. credit: John Eidson, Agilent Technologies
Incoming and outgoing PTP-packets are time stamped at the start of frame (SOF) of the corresponding Ethernet packet, which is performed at each point in an IEEE 1588-enabled network.
The protocol then exchanges this information between master and slaves using five IEEE 1588 message types; SYNC, DELAY_REQUEST, FOLLOW_UP, DELAY_RESPONSE, and MANAGEMENT.