Der IEEE-1588-Standard

Uhrenvergleich im Netzwerk

27. April 2017, 10:04 Uhr | von Peter Plazotta und Dominik Richstein
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

IEEE 1588 in Netzwerkchips

Wenn man Bild 2 betrachtet, kann man zum Schluss kommen, dass das berechnete meanPathDelay um so genauer ist, je näher der Zeitstempel tn an der Hardware-Schnittstelle gesetzt oder ermittelt wird. Diese Beobachtung führt dann sehr schnell zur Erkenntnis, dass ein Teil der IEEE 1588-Funktionalität optimalerweise in den entsprechenden Netzwerkchips untergebracht werden sollte. 2012 hat Intel ihre Netzwerkchips der Reihe I21x vorgestellt, die erstmals eine Unterstützung für IEEE 1588 enthielten. Mit der Vorstellung dieser Netzwerkchips war nun auch der Zeitpunkt gekommen, um über kommerzielle Lösungen im T&M-Bereich nachzudenken. Intel hatte mit diesem Consumer-Chipsatz erstmals die Möglichkeit geschaffen, die Verwendung von IEEE 1588 für eine breite Palette an Geräten zu ermöglichen. Diese Netzwerkchips enthalten alle zeitkritischen Teile des IEEE 1588-Standards:

  • Hardware Clock: einen internen Zähler und die dazu notwendigen Stellglieder für die Anpassungen des Zählers (Frequenzanpassung)
  • Hardware Timestamping: das Timestamping der zu sendenden UDP-PTP-Datenpakete
  • Hardware Timestamping Grabber: das Erfassen der Timestamps beim Empfangen von UDP-PTP-Datenpaketen
  • Hardware Based Time Events: das Erzeugen von zeitgesteuerten Trigger Events

Unter Linux existieren bereits einige Implementierungen von unterschiedlicher Qualität. Für das Betriebssystem Windows existieren jedoch keinerlei Treiber von Microsoft oder Intel, um diese Funktionalität der Intel-I21x-Netzwerkchips zu unterstützen. Zwar sind einige Implementierungen erhältlich, die preislich jedoch nur eingeschränkt attraktiv sind.

Messung des Offset zwischen Slave und Master über eine Dauer von 100 s
Bild 3. Messung des Offset zwischen Slave und Master über eine Dauer von 100 s.(Quelle: [2])
© TU Ingolstadt, Dominik Richstein

Mit Hilfe der Intel-I21x-Netzwerkchips lassen sich mit geringem Aufwand schon hervorragende Zeitsynchronisationen im zweistelligen Nanosekunden-Bereich erreichen, die auch langzeitstabil gehalten werden können.

Wie Bild 3 zeigt, schwankt der Offset zwischen Master und Slave immer um den Nullpunkt. Aufgrund des berechneten Offset muss die aktuelle Uhrzeit des Slave angepasst werden. Wie leicht einzusehen ist, kann nicht einfach die Uhrzeit korrigiert werden, also der ermittelte Offset direkt angewandt werden, da die Zeit dann in die Vergangenheit oder Zukunft springen würde. Ein sinnvolleres Vorgehen ist hier, den Takt des Zählers im Slave zu manipulieren. Die Intel-I21x-Chips haben hierzu ein spezielles Register, mit dem die Frequenz des Zählers indirekt angepasst werden kann. Der Intel-I21x-Chip aktualisiert alle 8 ns seine lokale Uhr um 8 ns; zusätzlich kann ein Offset von n × 2–31 ns definiert werden, der bei jedem dieser Updates hinzuaddiert wird.

Durch Netzwerkkollisionen und die sich dadurch ergebenden Übertragungswiederholungen im Ethernet können Störungen in der Zeitsynchronisation entstehen
Bild 4. Durch Netzwerkkollisionen und die sich dadurch ergebenden Übertragungswiederholungen im Ethernet können Störungen in der Zeitsynchronisation entstehen. (Quelle: [2])
© TU Ingolstadt, Dominik Richstein

Dieser Offset ist vorzeichenbehaftet und kann somit zur Verkleinerung oder Vergrößerung der Zählerfrequenz verwendet werden. Aufgrund des Offset zum Master kann nun der entsprechende Fehler in der Frequenz und die somit notwendige Frequenzanpassung ermittelt werden. Der zugrundeliegende Algorithmus der Frequenzanpassung ist maßgeblich für die Stabilität der Uhr verantwortlich.

Innerhalb des Netzwerkes kann es auch zu Störungen kommen, die letztlich die Stabilität der Clock beeinflussen. Bild 4 zeigt Störungen, die durch Netzwerkkollisionen und die sich dadurch ergebenden Übertragungswiederholungen im Ethernet entstanden sind. Um derartige Störgrößen erkennen und bewerten zu können, kann zum Beispiel ein Kalman-Filter eingesetzt werden.

Zeitsynchronisation für die Messtechnik

Im T&M-Bereich werden heute noch viele Messaufgaben mit Hilfe des klassischen Vorgehens – also über Triggerleitungen – gelöst. Mit Hilfe der genauen Zeitsynchronisation über IEEE 1588 ergeben sich nun aber viele neue und interessante Lösungsansätze.
Wenn man sich vor Augen hält, dass ein Triggersignal ca. 5 ns Laufzeit pro Meter benötigt, kann man sich sicherlich einige Messaufgaben vorstellen, die mit Hilfe der IEEE 1588-Zeitsynchronisation besser und genauer gelöst werden können. Bei Messaufgaben, die beispielsweise mit Satellitensignalen zu tun haben, kann es durchaus vorkommen, dass Messgeräte 100 m und mehr voneinander entfernt sind. Hier wäre der Ansatz mit IEEE 1588 sicherlich eine Alternative.

Auch im Zuge der zunehmenden Verbreitung der IoT-Sensoren und der Offline-Messdatenaufnahme wäre eine genaue und stabile Zeitsynchronisation der einzelnen Messsensoren von großem Vorteil. Somit können die einzelnen IoT-Sensoren kontinuierlich ihre Daten liefern und zum Beispiel in einer Cloud ablegen. Diese Daten können dann bei einer Offline-Messdatenauswertung über den Zeitstempel, der bei der Messung erstellt worden ist, einfach korreliert werden.

Da IEEE 1588 auch zeitgesteuerte Events definiert, können zum Beispiel mehrere Geräte miteinander Sequenzen von Messaufgaben abarbeiten, ohne umständlich mit Triggerleitungen oder ähnlichem verbunden sein zu müssen. So könnte zum Beispiel ein Signalgenerator seine Frequenzliste zeitgesteuert abarbeiten und der zugehörige Analysator seine Messungen durchführen. Beide Aufgaben würden dann durch die zeitgebundenen Events gesteuert werden.
Auch im Bereich Mobilfunk kann man mit dem Einsatz von IEEE 1588 verschiedene Messaufgaben deutlich einfacher realisieren, da die zeitliche Kopplung zwischen Basisstation und Mobilfunkgerät bei diversen Messaufgaben von Relevanz ist.
Diese Anwendungsbeispiele hören sich im ersten Ansatz alle sehr vielversprechend an, basieren jedoch auf der Annahme, dass auch die Messgeräte-Hersteller diesen Standard in ihren Geräten implementiert haben. Selbst wenn alle den IEEE 1588-Standard verwenden würden, ist immer noch eine weitergehende Standardisierung notwendig, um die einzelnen Aktionen und Aufgaben zu koordinieren.

Um dies den Messgeräte-Herstellern zu erleichtern, wurde 2004 der LXI-Standard (Lan eXentsion for Instruments) von den führenden Messgeräte-Herstellern ins Leben gerufen. 2008 wurde dann der Standard IEEE 1588 im LXI-Standard mit aufgenommen und zusätzlich um einige Erweiterungen, wie die Lan Event Messages, erweitert. Mit Hilfe dieses Standards ist es nun den Messgeräte-Herstellern möglich, die Vorteile von IEEE 1588 in Mess¬geräten effizient einzusetzen (siehe Kasten). Bis zur Vorstellung der Intel-I21x-Netzwerkchips war immer kostenintensive oder eigenentwickelte Hardware notwendig, um den IEEE-1588-Standard in Messgeräten zu integrieren. Nun bietet sich erstmals die Möglichkeit, diesen Standard mit Konsumelektronik zu realisieren.

IEEE 1588 im LXI-Standard

Bereits 2014 entschied das LXI-Konsortium, für seine Mitglieder ein Referenz-Design bereitzustellen, um die Verwendung des Standards weiter zu verbreiten. Nachdem im LXI-Referenz-Design 2016 die Core-Funktionalität des Standards verfügbar war, begann das LXI-Konsortium, mit der deutschen Firma TSEP die Möglichkeit einer Referenz-Implementierung der LXI Time Synchronisation (entspricht IEEE 1588) zu evaluieren und einen Prototypen zu erstellen. Im Februar 2017 wurde dann von TSEP auf einem der regelmäßigen Treffen des LXI-Konsortiums in den USA der erste Prototyp vorgestellt. Sowohl unter Linux als auch unter Windows war der Prototyp auf einem käuflichen Rechner-Board mit Intel-I211-Chip lauffähig.

Für den Linux-Prototyp wurde das Linux Packet „LinuxPTP“ verwendet. Die Implementierung der eigentlichen Clock-Funktionalität war aber nicht ausreichend, um die geforderten Rahmenbedingungen des LXI- und des IEEE-1588-Standards zu erfüllen. TSEP hat diese deshalb nachimplementiert. Der Regelalgorithmus zur Frequenznachführung der IEEE 1588 Clock wurde dabei komplett neu entwickelt und optimiert.

Wie bereits erwähnt, bietet Windows keinerlei Unterstützung für IEEE 1588; deshalb wurde sowohl die komplette Clock-Funktionalität als auch der Treiber-Support von TSEP erstellt. TSEP hat hierfür die notwendigen Treiber für die Ansteuerung der Intel-I21x-Netzwerkchips für das Timestamping und das Erkennen von IEEE-1588-Paketen im Windows Network Stack verankert. Sowohl unter Windows 7 als auch unter Windows 10 konnte diese Funktionalität getestet werden.

Die ersten Gespräche mit dem LXI-Konsortium über die Bereitstellung der LXI Time Synchronisation waren durchweg positiv und werden wahrscheinlich zu einer kostenlosen Bereitstellung für LXI-Mitglieder in diesem Jahr führen. TSEP plant zusätzlich, seine Implementierung für andere Interessenten, die nicht LXI-Mitglieder sind, bereitzustellen.

 

Literatur

[1] IEEE. IEEE standard for a precision clock synchronization protocol for networked measurement and control systems, 2008.
[2] Dominik Richstein: Usability of the Intel Ethernet Controllers I210, I211 and I350 for the LXI Extended Function Clock Synchronization. Bachelor-Arbeit an der TU Ingolstadt.
[3] CERN. White rabbit specification: Draft for comments, 06.07.2011.
[4] White Rabbit Project. White rabbit wiki, 2016.

 

Die Autoren

 

Dipl.-Ing. (FH) Peter Plazotta
ist CEO von TSEP und beschäftigt sich seit 30 Jahren mit dem Design und der Entwicklung von System-Software vor allem in den Bereichen T&M, Telekommunikation und Automotive.

 

Peter.Plazotta@tsep.com


Dominik Richstein, B.Sc.,
studierte an der Technischen Universität von Ingolstadt und hat seine Bachelorarbeit über das Thema IEEE 1588 und Intel-I21x-Netzerkchips bei TSEP geschrieben.

 

Dominik.Richstein@tsep.com



  1. Uhrenvergleich im Netzwerk
  2. Clocks im IEEE 1588-Standard
  3. IEEE 1588 in Netzwerkchips

Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!