Oregano Systems‘ syn1588® PTP Stack offers a complete implementation of the protocol stack for the IEEE1588-2008 standard. The syn1588® PTP Stack is a well proven, reliable and portable software. Its outstanding functionality is verified regularly on ISPCS plugfests and SMPTE Interops.
Oregano Systems offers a protocol stack - the syn1588® PTP Stack - which is fully compatible to the IEEE1588 Standard for the Precision Clock Synchronization Protocol. The syn1588® PTP Stack is tested for compatibility in environments with stacks of other proveniences on several IEEE1588 plugfests.
syn1588® PTP Stack – The Big Picture
Every IEEE1588 implementation requires two parts:
- hardware real-time task
- software complex protocol task
The hardware performs in real-time the follwing basic functions:
- packet matching
- accurate clock
The software performs without any real-time constraints the follwing basic functions:
- protocol handling
- user interface
- configuration of modes
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 a 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 straightforward.
syn1588® PTP Stack – System Features
- 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
- Default Profile
- Broadcasting Profile (SMPTE)
- 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
syn1588® PTP Stack – Applications
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 accuracy depends on different parameters 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 an IEEE 1588 grandmaster in a network. Multicast mode is supported as well as unicast mode allowing to synchronize hundreds of slaves. Oregano Systems recommends using 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 (kernel 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 achieved by using the syn1588® PTP Stack in combination with the add-on tool lSync.
Application Note: Porting the syn1588® PTP Stack
This application note describes the required actions for porting the syn1588® PTP Stack to any other operating system or platform.
The syn1588® PTP Stack supports many PTP profiles with different sync rates and varying requirements for the operation as PTP slaves. The application note "Choosing PTP servo control loop parameters" helps selecting the appropriate basic parameter sets depending on the application and the requirements.
syn1588® Application Note: Using the syn1588® PTP Stack Shared Memory API
This application note describes the shared memory API for the syn1588® PTP Stack allowing access to many parameters defined in IEEE 1588-2008 as well as other relevant data during run-time. This API can be used to configure, control, and monitor the operation and status of the syn1588® PTP-Stack.
Application Note: Running the syn1588® PTP Stack as Windows Service
This application note describes how to run the syn1588® PTP Stack as Windows Service.
Application Note: easyn1588® – a GUI for the syn1588® PTP Stack
This application note describes the easyn1588®, a graphical user interface (GUI) the syn1588® PTP Stack that is currently available just for Linux OS.
syn1588® PTP Stack – Technical Information
- fully compliant with IEEE 1588-2008
- full master and slave capability
- Support for end-to-end (E2E), peer-to-peer (P2P) and pure syntonization mechanism
- one-step (syn1588® hardware required) and two-step clock support
- IPv4, IPv6, and Layer 2 (802.3, Linux only) transport
- IEEE1588 management mechanism
- support for unicast operation
- supported PTP profiles:
- Broadcasting Profile (SMPTE ST2059-2)
- Default Profile (IEEE1588-2008, Annex J3)
- Power Profiles (C37.238-2011, C37.238-2014)
- Telecom Profiles (G.8265.1, G.8275.1)
- optional: boundary clock operation
- natively supported hardware:
- syn1588® PCIe NIC (hardware timestamping support)
- syn1588® VIP (hardware timestamping support)
- Network Interface Cards supporting the Linux PHC interface and the Linux SO_TIMESTAMPING feature (hardware timestamping support)
- natively supported operating systems:
- Linux (32/64 bit)
- Windows 7 (32/64 bit)
- Windows 10 (32/64 bit)
- Windows Server 2003, 2008, 2012, 2016 (32/64 bit)
- 8051 (8-bit microcontroller) implementation with lightweight IP stack
- easily portable to any other platform or operating system
- well structured C++ code
- APIs for controlling and monitoring the syn1588® PTP Stack
- Support for IEEE 1588-2002 available as separate executable
- lSync: synchronizes PC’s system clock (syn1588® hardware required)
- eSync: synchronizes time to an external reference like a GPS receiver (syn1588® hardware required)
- supports command line options
- fine-grained configuration via configuration files
- support for multiple instances on a single node
For additional information on our syn1588® products or a detailed quotation please contact us.
The syn1588® PTP Stack is available as binary license or as source code license. For both license options, there is a single one-time license fee. There are no royalties nor project restrictions. Optionally a maintenance contract may be ordered as well.
The syn1588® PTP Stack can be tested without any cost and risk. We can provide you an evaluation version of the syn1588® PTP Stack whose function is limited to a given amount of time.
This could also be of interest
+43 676 84 31 04 -200
+43 676 84 31 04 -300