The IEEE 1588-2002 Standard for "A Precision Clock Synchronization Protocol for Networked Measurement and Control Systems" was sponsored by the Technical Committee on Sensor Technology TC-9. Also known as the Precision Time Protocol (PTP), it’s designed to synchronize the clocks on nodes across a network that’s more accurate (sub-microsecond range) than technologies such as Network Time Protocol (NTP) or the related SNTP (Simple NTP).
Based on multicast support, the standard fits technologies other than Ethernet. A master node has the primary clock. Slave units have their own clock that’s synchronized with the master. As such, the synchronization process is a two-step affair.
The master and slave measure the offset of delay due to communication latencies. This starts with the master sending synchronization messages at defined intervals. The default is two seconds. The messages contain the time the message was sent, based on the master’s clock. The slave adjusts its clock based on this information and responds so that the master and slave can determine the round-trip latency. Of course, one assumption is that communication speeds between master and slave are symmetric. Synchronization is periodically confirmed.
Software implementations can be built around standard Ethernet stacks. This typically results in a precision of about 100 ms for Fast Ethernet. Hardware can increase this accuracy even further, often by more than an order of magnitude. Part of the accuracy problem is jitter due to other traffic. This is where industrial Ethernet protocols can enhance timing by reducing or eliminating problems caused by other traffic.
Switches and routers that implement IEEE 1588 can also boost overall system performance. The clocks in these devices usually are called boundary clocks. Normally, one port is a slave to another master, and all other ports are masters to slaves further down the timing hierarchy.
Keep in mind that PTP is strictly synchronization technology. It allows actions to be performed on different nodes at the same time. But this process must be initiated well before the action occurs, relatively speaking. This works well for periodic operations often found in industrial controls versus actions that must respond quickly based on an event. That’s why other real-time systems are generally employed in time-critical environments such as brake-by-wire in an automobile.