Chronos
Zeitsynchronisierung nach dem IEEE 1588 Standard

Hauptmerkmale

  • +/-20 NS ZEITSYNCHRONITÄT
  • MASTER CLOCK UND ORDINARY CLOCK MODI
  • ONESTEP- UND TWOSTEP-SYNCHRONISIERUNG
  • ZEITSYNCHRONE HARDWARE TRIGGER
  • KOMPATIBEL MIT WINDOWS, LINUX UND DEM ECHTZEIT­BETRIEBS­SYSTEM RTX64 (INTERVALZERO)

TSEP Chronos ist die Imple­mentierung für den IEEE 1588–2008 Standard, welche für mehrere Platt­formen verfügbar ist und individuell auf weitere Geräte portiert werden kann. Dieser Stack wird nicht nur bei Kunden eingesetzt, sondern ist auch als Teil im LXI Reference Designs implementiert.

Die grundsätzliche Frage, die sich bei jedem IEEE 1588 Projekt stellt ist, mit welcher Genauigkeit die Zeit­synchronisation erfolgen muss. Die erreichbare Genauigkeit hängt in der Regel von der verwendeten Hardware, dem verwendeten Regel­algorithmus und der Topologie ab. Bisher war die Nutzung dieses Standards immer mit Imple­mentierungen von Netzwerk­adaptern in verschiedenen FPGAs oder Embedded Controller. Mit der Einführung der Intel Netzwerk­chip Familien Intel I21x und Intel I35x ist dieser Standard nun für den Consumer Markt verfügbar. Somit ist die Grundlage für neue Projekte auf Basis von Consumer Hardware gelegt. Moderne IEEE 1588 Imple­mentierungen haben die Möglich­keit, verschiedene Regelalgorithmen zu definieren und diese einfach auszutauschen. Auch TSEP hat den Regel­algorithmus als eigenständiges Modul mit definierten Schnitt­stellen festgelegt. Somit kann der Nutzer einfach einen eigenen Algorithmus definieren und diesen ins System einbringen und testen. Des Weiteren kann TSEP Chronos in der Netzwerk­topologie sowohl als Ordinary Clock („Client“), als auch als Master Clock fungieren. Eine Master Clock seine eigene Uhrzeit mittels sogenannter Sync Messages über das angeschlossene Ethernet Netz, die Ordinary Clock empfängt diese Messages und beginnt daraufhin mit der Master Clock zu kommunizieren um sich zu synchronisieren. Bei Berück­sichtigung dieser drei Aspekte lassen sich einfache Systeme aufbauen die im mittel eine Genauigkeit von +/- 20 Nano­sekunden erreichen.

TSEP Chronos unterstützt hierbei sowohl das One Step Verfahren, bei diesem wird der aktuelle Zeitstempel direkt in die Sync Message integriert, was jedoch entsprechende Hardware Unterstützung voraussetzt. Für alle Netzwerk Chips ohne diese Unterstützung wird auch das Two Step Verfahren unterstützt, hier wird der Zeit­stempel in einer zweiten Nachricht geschickt. Um eine genaue Zeit­synchronisation auch in Netzen mit Geräten (z. B. Switches oder Router), die nicht IEEE 1588 unterstützen zu gewährleisten, ist in TSEP Chronos als sogenanntes End-to-End (E2E) Lösung implementiert. TSEP Chronos kann nach der Synchronisierung auch Hardware Trigger auslösen. Diese erfordern jedoch die entsprechende Hardware­unterstützung. Dadurch besteht die Möglichkeit Messungen oder ähnliches synchron an mehreren Geräten auszulösen oder aber auch in Intervallen zu triggern, z. B. für ein PPS Signal. Zusätzlich kann TSEP Chronos auch die unterliegenden Betriebs­systeme mit der IEEE 1588 Zeit versorgen.

TSEP Chronos unterstützt alle im IEEE 1588 Standard definierten Management Messages. Über diese Messages können Informationen abgefragt oder Einstellungen einer Clock manipuliert werden. TSEP Chronos kann als Standalone System betrieben werden und ist somit direkt auf dem gewünschten Gerät ausführbar. Voraussetzung hierfür sind jedoch unterstützte Netzwerk­karten (z. B. I21x von Intel). Unterstützt werden sowohl die Betriebs­systeme von Windows (7 und 10) und Linux (Ubuntu 16.04). Zusätzlich kann TSEP Chronos auch unter dem Echtzeit Betriebs­system RTX von IntervalZero betrieben werden. Die Kombination von TSEP Chronos und RTX64 von IntervalZero ist ideal für alle zeit­kritischen Anwendungs­fälle. Alle Operationen werden in solch einem System zur „richtigen Zeit“ und in Echtzeit ausgeführt! Da Intel keine Windows Treiber für die IEEE 1588 Unterstützung der Intel Netzwerk Chips I21x und I35x anbietet, stellt TSEP eigene Treiber bereit.

TSEP Chronos wurde komplett in C++ entwickelt und entspricht modernen Coding Richtlinien. Der gesamte Source Code ist für alle Platt­formen identisch (common source) und muss nur entsprechend kompiliert werden. Um unabhängig von einer speziellen Entwicklungs­umgebung zu sein, wurde CMake für die Code­verwaltung gewählt. Des Weiteren wurde ein konsequent objekt­orientierter Ansatz verfolgt.

Technical Software Engineering Plazotta

Our work is inspired by science, not fiction!


Folgen Sie uns auf
Adresse

Technical Software Engineering Plazotta
Hopfenstr. 30, 85283 Wolnzach,
Deutschland


© 2019 Technical Software Engineering Plazotta