TSEP Chronos is the implementation for the IEEE 1588-2008 standard, which is available for multiple platforms and can be individually ported to other devices. This stack is not only used by customers, but is also implemented as part of the LXI reference design.
The basic question for every IEEE 1588 project is with which accuracy the time synchronization has to be done. The achievable accuracy usually depends on the hardware used, the control algorithm used and the topology. Until now, this standard has always been used with implementations of network adapters in various FPGAs or embedded controllers. With the introduction of the Intel network chip families Intel I21x and Intel I35x, this standard is now available for the consumer market. This lays the foundation for new projects based on consumer hardware. Modern IEEE 1588 implementations have the possibility to define different control algorithms and to exchange them easily. TSEP has also defined the control algorithm as an independent module with defined interfaces. Thus, the user can easily define his own algorithm and integrate and test it in the system. Furthermore, TSEP Chronos can function in the network topology both as Ordinary Clock ("Client") and as Master Clock. A Master Clock receives its own time by means of so-called Sync Messages over the connected Ethernet network, the Ordinary Clock receives these messages and then begins to communicate with the Master Clock in order to synchronize itself. Taking these three aspects into account, simple systems can be set up with an average accuracy of +/- 80 nanoseconds.
TSEP Chronos supports both the one-step method, in which the current time stamp is directly integrated into the sync message, which requires appropriate hardware support. For all network chips without this support the Two Step method is also supported, here the time stamp is sent in a second message. TSEP Chronos implements an end-to-end (E2E) solution to ensure accurate time synchronization even in networks with devices (e.g. switches or routers) that do not support IEEE 1588. TSEP Chronos can also trigger hardware triggers after synchronization. However, these triggers require hardware support. This makes it possible to trigger measurements or similar synchronously on several devices or to trigger them at intervals, e.g. for a PPS signal. TSEP Chronos can also supply the underlying operating systems with IEEE 1588 time.
TSEP Chronos supports all management messages defined in the IEEE 1588 standard. These messages can be used to query information or manipulate clock settings. TSEP Chronos can be operated as a standalone system and can therefore be executed directly on the desired device. However, this requires supported network cards (e.g. I21x from Intel). Both the operating systems Windows (7 and 10) and Linux (Ubuntu 16.04) are supported. In addition, TSEP Chronos can also be operated under the real time operating systems INtime from TenAsys and IntervalZero's RTX64. The combination of TSEP Chronos and an real time operating system is ideal for all time-critical applications. All operations are performed in such a system at the "right time" and in real time! Since Intel does not offer Windows drivers for the IEEE 1588 support of the Intel network chips I21x and I35x, TSEP provides its own drivers.
TSEP Chronos was developed completely in C++ and complies with modern coding guidelines. The entire source code is identical for all platforms (common source) and only needs to be compiled accordingly. In order to be independent from a special development environment, CMake was chosen for the code administration. Furthermore, a consistent object-oriented approach was pursued.