Introduction
XR7 PTP is an IEEE 1588-2019 compliant implementation of the Precision Time Protocol for clock synchronization over IP and Ethernet. The implementation is written in pure C language, and it is ready to be used in Linux-based systems. Hardware and operating system specific details are hidden behind an abstraction layer, so that porting to other operating systems and environments is relatively easy.
Features
- IEEE 1588-2019 compatible
- Master, slave, and boundary clock functionality
- End-to-end and peer-to-peer modes
- One-step and two-step operations
- Supported profiles
- IEC 61850-9-3
- IEEE C37.238 (Power Profile)
- PTP default
- ITU-T G.8275.1
- ITU-T G.8265.1
- Best Master Clock (BMC) selection algorithm
- Configurable asymmetry and PHY corrections
- Adjustable message transmission intervals
- PTP Domain support
- Interface for adjusting local on-board oscillator
- GNU/Linux operating system support
- The programming language is C
- Synchronization accuracy is mostly dependent on the hardware, but nanosecond-class accuracy can be achieved.
Implementation
XR7 PTP implementation is divided into a common part and a system-specific part, which makes it easier to port to different operating systems and hardware environments. The common part remains the same for all environments, and contains most functionality, including PTP message transfer, Best Master Clock selection protocol and clock adjustment algorithm. The system-specific part provides standard interfaces for the common part, through which it can gain access to various hardware and operating systems. With XR7 PTP, it is possible to achieve nanosecond-class accuracy in time synchronization over a packet-based network.

Technologies
Time synchronization is critical in networks e.g. for security, system control and problem solving. PTP IEEE 1588-2008 enables precise synchronization of device clocks in packet-based networks. Devices are automatically synchronized to the most accurate clock in the network. The protocol supports system wide synchronization with minimal network and local clock computing resources.