Industrielle Kommunikation
Synchronisierung auf Basis der IEEE 1588
Die zeitliche Synchronisierung mehrerer Komponenten in einem verteilten System ist eine altbekannte Problemstellung in der Automation. Als Lösungsansatz hierfür existiert seit gut einem Jahrzehnt der Standard IEEE 1588. Seine Anwendung hielt sich bis dato jedoch in Grenzen. Mit der steigenden Verbreitung von Ethernet-basierter Kommunikation sowie der Verfügbarkeit von CPUs in allen Leistungsbereichen, die diesen Standard unterstützen, könnte sich dies bald ändern.
Die Norm IEEE 1588 ist ein Standard für die Synchronisation von Geräte-Uhren in verteilten Netzwerk-Teilnehmern. Die aktuelle Version basiert auf der Spezifikation IEEE 1588-2008, auch bezeichnet als IEEE 1588 V2. Abhängig von der verwendeten Hardware und Topologie lässt sich mit IEEE 1588 PTP (Precision Time Protocol) eine Synchronisation bis in den zweistelligen Nanosekundenbereich erzielen.
Bis dato wurde die zeitliche Synchronisation verteilter Netzwerk-Teilnehmer gewöhnlich auf zwei Arten realisiert: Die erste und einfachste Art bestand darin, ein einheitliches Trigger-Signal bereitzustellen, welches von einer Master-Uhr über eine separate Leitung an die Teilnehmer gesendet wird. Die Genauigkeit ist hierbei jedoch durch die Signallaufzeit und somit durch die Leitungslänge sowie durch die Qualität der Master-Uhr beschränkt. Für viele Anwendungen ist darüber hinaus der Einsatz einer zusätzlichen Trigger-Leitung nicht praktikabel, sei es systembedingt oder aus preislichen Gründen.
Die zweite Lösung war die Bestückung der einzelnen Teilnehmer mit hochgenauen Zeitgebern, zum Beispiel GPS-Empfängern. Abhängig von den räumlichen Umgebungen ist der Empfang von GPS-Signalen oder anderen Funk-Signalen jedoch nicht immer möglich. Dies kann zum Beispiel der Fall sein, wenn Teilnehmer in Innenräumen, unterirdisch oder in geschirmten Bereichen zum Einsatz kommen. Darüber hinaus ist der Einsatz von GPS-Empfängern bei kleineren Sensoren zu teuer, da diese ohnehin besonders kostensensitiv sind.
Genau hier liegen die Vorteile des Standards IEEE 1588 PTP, der keine zusätzlichen Trigger-Leitungen oder externe Zeitgeber benötigt und mit dem dennoch eine weit höhere Präzision als bei den bis dato gängigen Methoden erreichbar ist. Zwar kommt er üblicherweise in Ethernet-basierten Netzwerken zum Einsatz; jedoch ist er nicht auf diese physikalische Schicht oder das Transportprotokoll beschränkt, da die typischen Eigenschaften des jeweiligen Bussystems oder Netzwerks und des verwendeten Protokolls bei der Ermittlung der Verzögerungskompensation berücksichtigt werden.
Einsatzfelder für IEEE 1588
Nutzen alle Komponenten in einem System die gleiche Zeitbasis, können Sensordaten hochgenau zueinander korreliert werden. Hierdurch ist zum Beispiel in einer Produktionsanlage aus den Aufnahmen mehrerer unabhängiger Kameras die exakte Lage eines Objektes bestimmbar. Eine andere Anwendungsmöglichkeit ist die zuverlässige Verknüpfung der Messwerte von Sensoren verschiedener Modalitäten, um so beispielsweise Qualitätskontrollen durchführen zu können. Ferner können in der Materialhandhabung – etwa an einem Fließband – verschiedene Aktuatoren zeitlich exakt angesteuert werden. Da alle Teilnehmer die gleiche Zeitbasis nutzen, lässt sich in Abhängigkeit der Geschwindigkeit des Fließbandes hochgenau vorherbestimmen, zu welchem Zeitpunkt welcher Aktuator eingreifen muss. Da das IEEE-1588-Protokoll Basis für das CIP-Sync Profil ist, welches sowohl das CIP-Protokoll Ethernet/IP als auch Sercos um einen hochgenauen Synchronisierungsmechanismus erweitert, wird sich das Einsatzgebiet von IEEE 1588 in der Automatisierungstechnik zukünftig noch deutlich erweitern.
Auch außerhalb des Automatisierungsbereiches kommen entsprechende Lösungen bereits zum Einsatz. Etwa im Bereich geologischer Messungen, wo die Daten mehrerer hundert verteilter Sensoren synchronisiert werden, um so eine exakte Datenaufzeichnung zu ermöglichen. Neben der zeitlichen Präzision erfordert dieser Einsatzbereich eine sehr hohe Zuverlässigkeit, Robustheit und Fehlertoleranz, da der Austausch einzelner Sensoren, abhängig von ihrem Standort, recht zeitaufwendig und somit kostenintensiv ist. Anderes Beispiel – Börse: Da die Anzahl der elektronischen Transaktionen am Finanzmarkt stetig steigt, wird die exakte zeitliche Bestimmung einer Transaktionsausführung immer wichtiger. Rückblickend auf die hektischen Preisänderungen am Aktienmarkt wird schnell klar, dass sich in diesem Bereich Bruchteile von Sekunden dramatisch auf die Höhe der erzielten Gewinne oder Verluste auswirken können. Aus diesem Grund werden hier IEEE-1588-Lösungen für die Synchronisation der Server und Clients untereinander verwendet.
Die Anforderungen an die Implementierungen
Für die Implementierung der IEEE-1588-Funktionalität sind zwei Hauptkomponenten erforderlich: Die erste Komponente ist ein Mechanismus, mit dem eingehende Nachrichten oder externe Trigger-Ereignisse mit einem Zeitstempel versehen werden können. Dies ist mittels Software realisierbar, wobei hierbei – abhängig vom Betriebssystem und anderen nicht-deterministischen Einflüssen – die erzielbare Genauigkeit lediglich im oberen Millisekunden-Bereich liegt. Hochgenaue, professionelle Anwendungen erfordern den Einsatz einer Hardware-basierten Zeitstempel-Einheit (TSU). Je näher diese am eigentlichen Bussystem angesiedelt ist, desto höher ist die erzielbare Synchronisationsgenauigkeit.
Heute bieten bereits mehrere Hersteller PHYs und Mikrocontroller mit integrierter TSU an. Systeme ohne integrierte TSU oder schon auf FPGAs basierende Systeme können mittels IEEE-1588-IP-Core nachgerüstet werden. So stellt beispielsweise der IP Core von Ixxat die erforderliche TSU sowie eine Echtzeituhr und eine Trigger-Einheit zur Verfügung, welche eingehende Ereignisse mit einem Zeitstempel versieht und hochgenaue Triggersignale senden kann.
Die zweite Komponente stellt die Protokollsoftware dar, die auf der TSU aufsetzt. Sie verarbeitet die Zeitstempel der eingehenden Nachrichten, berechnet die Abweichung zur Master-Uhr und passt dann die Geschwindigkeit der internen Echtzeituhr an. Die Protokollsoftware lässt sich in eine Vielzahl gängiger CPUs implementieren. Angepasste Softwareversionen sind für zahlreiche CPUs mit integrierter TSU quasi ab Lager verfügbar.
Beim Aufbau neuer Netzwerke sollten Systemdesigner ein besonderes Augenmerk auf die Verwendung von IEEE-1588-kompatiblen Switches haben. Unbekannte Verzögerungszeiten der Pakete in Standard-Switches wirken sich signifikant auf die Synchronisationsqualität aus und sollten somit, wo immer möglich, vermieden werden. Bei bestehenden Systemen, zum Beispiel im Bereich der Telekommunikationsanwendungen, sind Schwankungen in den Paket-Verzögerungszeiten durch den Einsatz von Filtern minimierbar.
Testen in mehreren Stufen
Synchronisations-Start-up der Beispielsysteme: Nach einer minimalen Einschwingphase werden die Geräte im Netzwerk hochgenau synchronisiert.
© Ixxat AutomationUm die hohe Qualität eines Zeitsynchronisationssystems sicherzustellen, stehen mehrere Teststufen zur Verfügung. Ein Test der Hardware-Abstraktionsschicht (HAL) ermöglicht die Prüfung auf eine korrekte Implementierung der TSU-Treiber. Zusätzlich muss die korrekte Funktion der IEEE-1588-Funktionalität systematisch untersucht werden. Als letztes ist die Genauigkeit, die Interoperabilität und die Zuverlässigkeit in Langzeit- sowie Stress-Tests und auch im Rahmen der offiziellen IEEE-1588-Plug-Fest-Veranstaltungen zu prüfen.
Für den Test von Messsystemen entsprechend der Spezifikation des LXI-Konsortiums etwa wurde ein PC-basierter Conformance-Test entwickelt. Dieser basiert auf dem IEEE-1588-Protokollstack von Ixxat. Die zeitkritische Zeitstempelung der Ethernet-Pakete erfolgt in der externen Hardware-Uhr. Hierdurch ist der Einsatz eines Standard-PC mit Windows-Betriebssystem möglich, ohne dabei Genauigkeitseinbußen hinnehmen zu müssen, die durch die Weiterleitung der Pakete vom Netzwerk zur Conformance-Test-Anwendung verursacht werden.
Master-Offset der Beispielsysteme: Je nach Netzwerk-Topologie und verwendeten Komponenten ist eine Synchronisierungs-Genauigkeit bis hin zu 30 ns möglich.
© Ixxat AutomationUm einen Eindruck der erzielbaren Synchronisationsgenauigkeit zu vermitteln, werden im Folgenden aus der Vielzahl unterstützter Plattformen zwei Mess-Ergebnisse vorgestellt. Alle Messungen erfolgten auf Standard-Evaluation-Boards mit qualitativ schlechten Oszillatoren, deren Taktfrequenz bereits sehr deutlich von nur minimalsten Temperaturschwankungen beeinflusst wird. Der Einsatz hochwertiger, temperaturkompensierter Oszillatoren würde die Systemgenauigkeit noch einmal stark verbessern, da die Uhren selbst bei großen Synchronisationsintervallen nur geringfügig auseinanderdriften und daher auch nur sehr wenig nachkorrigiert werden müssen.
Der Freescale MPC8313 ist ein Kommunikationsprozessor mit integrierter, Hardware-basierter Generierung von IEEE-1588-Zeitstempeln in der Ethernet-MAC-Schicht. Ein MPC8313E-RDB Evaluation-Board – Back-to-Back synchronisiert mit einem MPC8360E-MDS Referenz-Board – erreichte bei einem Synchronisationsintervall von 125 ms eine Synchronisationsgenauigkeit von ±50 ns (maximale Abweichung) und eine Standardabweichung von 10 ns. Hierbei erfolgt die Aufsynchronisierung sehr schnell und ist bereits nach zehn Synchronisationszyklen abgeschlossen.
In Zusammenarbeit mit STMicroelectronics bietet die Firma Ixxat eine Anpassung ihrer IEEE-1588-2008-Protokollsoftware für das Evaluation-Board STM3220F-Eval an. Die Software ist als Binär-Code zum Download verfügbar und ermöglicht somit die einfache und schnelle Demonstration der IEEE-1588-Technologie.
Auch der STM32F207 von STMicroelectronics verfügt über eine integrierte, hardwarebasierte IEEE-1588-Zeitstempelung in der Ethernet-MAC-Schicht. Sowohl die Zeitstempelung als auch die Implementierung einer nachregelbaren Echtzeituhr in Hardware ermöglichen eine Synchronisationsgenauigkeit im Nanosekunden-Bereich. Im Langzeittest erreichte die Plattform Back-to-Back-synchronisierend mit einem genauen Master (2-ppm-Quarz) bei einem Synchronisationsintervall von 0,125 s eine Synchronisationsgenauigkeit von ebenfalls etwa ±50 ns (maximale Abweichung) und eine Standardabweichung von rund 12 ns. Der IEEE-1588-Stack von Ixxat synchronisiert sich dabei durchschnittlich in etwa 20 Synchronisationsintervallen auf.
Neben den bereits realisierten Lösungen in industriellen Systemen gibt es schon Produkte und Projekte aus dem Consumer-Bereich, in denen IEEE 1588 zum Einsatz kommt. Hier sind zum Beispiel Anwendungen wie Audio/Video-Broadcasting (AVB) zu nennen. Die Grundlagen dafür sind in einer Gruppe von Standards definiert (IEEE 802.1), die durch dynamische Bandbreitenreservierung, Priorisierung und Routing sicherstellen, dass Datenströme unterbrechungsfrei übertragen werden können.
Autor: Dr. Norbert Binder ist als Vertriebsingenieur bei Ixxat für den Bereich IEEE 1588 verantwortlich.













