Oregano Systems‘ syn1588® PTP Stack offers a full implementation of the protocol stack for the IEEE1588-2008 standard. The syn1588® PTP Stack is a well proven, reliable and portable software. It’s outstanding function is regularly verified on the ISPCS plugfests.
- high precision clock synchronization using IEEE 1588-2008
- hardware and software timestamping support
- native support for many IEEE 1588 hardware clock implementations
- support for different PTP profiles
- Broadcasting Profile
- Default Profile
- Power Profiles
- Telecom Profiles
- configurable via PTP management messages or via an open API
- support for multiple platforms
- system clock synchronization on desktop PCs (using an additional software tool)
- high portability due to platform independent implementation
Application: IEEE 1588 Slave
The syn1588® PTP Stack may be used to act as an IEEE 1588 slave within a PTP network. The Stack will automatically choose the best IEEE 1588 master in the network and will synchronize to its clock. The achievable accurcay depends on different paramters like the used timestamping mechanism (hardware or software), the local oscillator (standard crystal oscillator up to high quality OCXOs), the network topology and the traffic load within the network. PTP aware network infrastructure like the syn1588® Gbit Switch can dramatically improve synchronization results.
Application: IEEE 1588 Master
The syn1588® PTP Stack may act as a IEEE 1588 grandmaster in a network. Multicast mode is supported as well as unicast mode allowing to synchronize hundreds of slaves. Oregano Systems recommands to use PTP aware hardware with high quality oscillators for all master applications (like the syn1588® PCIe NIC with OCXO).
Application: Hardware timestamping using a syn1588® PCIe NIC
The syn1588® PTP Stack is designed to be used with a syn588® hardware like the syn1588® PCIe NIC and offers a seamless and straightforward user experience. Some features like external synchronization to a GPS receiver is only supported in combination with a syn1588® PCIe NIC.
Application: Hardware timestamping using an Intel® Ethernet Controller I350
When using the syn1588® PTP Stack on a Linux PC (kernerl 3.0 required) a standard Ethernet Controller with PTP support (like the Intel® Ethernet Controller I350) may be used for time critical operations like timestamping and clock adjusting.
Application: Synchronizing the system clock to the syn1588® Hardware Clock
When using a PC for high precision clock synchronization with additional hardware it is often required to synchronize the local PC clock as well. This can be achived by using the syn1588® PTP Stack in combination with the add-on tool lSync.
Oregano Systems offers a protocol stack (the syn1588® PTP Stack), which is fully compatible to the IEEE1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. The syn1588® PTP Stack is tested for compatibility in environments with stacks of other proveniences on several IEEE1588 plugfests.
The Big Picture
Every IEEE1588 implementation requires two parts
- real-time tasks
- packet matching
- accurate clock
- complex non-real-time tasks
- protocol handling
- user interface, configuration of modes
While the real-time tasks are typically implemented in hardware the complex protocol handling is implemented in software. The syn1588® PTP Stack is such an implementation.
The syn1588® PTP Stack’s software architecture is partitioned into the PTP library and the PTP application. The library executes a protocol engine which processes PTP messages and drives a control loop to synchronize a (hardware) clock. The engine is designed as a state machine according to the full master/slave state protocol of the IEEE1588-2008 standard. The PTP application incorporates all parts outside the IEEE1588-2008 standard as well as all platform/operating system dependent functions (logging, network access, configuration, user interaction). The complete syn1588® PTP Stack is implemented in native C/C++ with focus on using almost only platform independent functions and libraries (Portable Operating System Interface- POSIX, Adaptive Communication Environment – ACE). Thus, reusing the library or porting it to new platforms is easy and straight forward.