At the Right Time: Precise Image Time Stamping with IEEE 1588 PTP

IEEE 1588 PTP provides precise synchronization of data and processes in time-critical applications such as machine vision systems.

In today’s highly distributed computing environments, where data and even processing can be shared over a network of many devices, time synchronization is critical to the success of many industries. Important examples include data centers, financial services, scientific test and measurement, power generation infrastructure, in-vehicle automation, IIOT, security, telecommunications, and broadcast technologies.

Moreover, timing and synchronization between devices plays a significant role in industrial automation, including motion control, robotics, and in particular machine vision. Consider the example of an industrial process that incorporates multiple cameras operating in concert with other devices, motors, controllers, and related triggers. Clock synchronization can be essential to the proper operation of the system and can increase reliability and precision in inter-device communications.

Of course, most computers and many related devices contain internal clocks. However, there is no guarantee that these independent clocks can stay in sync. The internal frequency source in most clocks has inherent instability, requiring a continuous synchronization protocol to enable matching with other devices. Protocols that maintain synchronization include the widely used NTP (Network Time Protocol) and GPS clock synchronization.

More than ever, industry standards specify, provide, and even require precision time synchronization, and the IEEE 1588-2019 update to the IEEE 1588 V2 standard brought important benefits and capabilities in time synchronization within networks. One example is the incorporation of IEEE 1588 PTP into the current GigE Vision standard (2.0/2.1) for machine vision. Cameras that support this standard provide users with the ability to accurately time-stamp images at the point of exposure. The standard also provides advanced capabilities, such as enabling multiple cameras to execute scheduled and synchronized simultaneous acquisitions based on an internal time-based command, without the need for external triggering.

In a PC, IEEE 1588 PTP requires either software or a hardware implementation with associated software support. Software-only implementations on a PC do not achieve as high a level of precision as those using hardware, which is part of the physical network interface and must be available in the NIC used by the PC. Application of PTP typically is executed in a real-time operating system (such as Linux), although software-only implementation is available in Windows and at a hardware level with Windows Server 2019 running a Linux subsystem.

In conclusion, note that IEEE 1588 PTP is intended for a well-defined network topology and is not for general use over the entire internet. Precision that can be achieved by PTP is highly dependent on the specific network architecture and the quality of the synchronization implementation between network devices.