zurück zur Themenseite

Schwerpunkt

Teil 7 der TSN-Serie

Meinrad Happacher | Meinrad Happacher,

Die Zeitsynchronisation

Eine präzise Zeitsynchronisation ist essentiell für TSN-Netzwerke und wird mittels 802.1AS erreicht. Wie sehen die grundlegenden Mechanismen aus und welche Optionen der Implementierung gibt es?

© AdobeStock

Zeitsynchronisation ist eine grundlegende Voraussetzung für TSN-basierte Netzwerke. Einerseits wird eine synchronisierte Zeit für viele TSN-Mechanismen wie das Schedule-basierte Senden von Daten nach 802.1Qbv benötigt. Auf der anderen Seite ist die Zeit auch für die mittels TSN realisierten verteilten Applikationen nötig. Dies kann im einfachsten Fall das Generieren eines Zeitstempels für Messdaten sein oder aber auch die hochgenaue Synchronisation einer physikalischen Applikation, beispielsweise die von mehreren Maschinenachsen.

So unterschiedlich die Applikationen sind, so unterschiedlich sind auch deren Anforderungen an die Genauigkeit der Synchronisation: Für einen Sensor zur Prozessüberwachung kann es durchaus ausreichend sein, sicherzustellen, dass dieser in der ersten Millisekunde eines 10-ms-Zyklus sendet.
Bei hochdynamischen Achsen einer Präzisionsmaschine ist eine Synchronisation im unteren Nanosekundenbereich erforderlich. 

In TSN-Netzwerken wird hierzu das Precision Time Protocol (PTP) verwendet, welches in IEEE 1588 und dem darauf ­aufbauenden IEEE-802.1AS-Standard de­finiert ist. PTP ermöglicht eine Syn­chronisation aller Knoten im Netzwerk 
mit einer Genauigkeit von unter 1 μs. 
Typischerweise ist die Synchronisationsgenauigkeit jedoch deutlich besser, meist sogar unter 50 ns. 

Anzeige

PTP Basics

Bild 1. Die Synchronisations-Hierarchie eines TSN-Netzes.

© NetTimeLogic

PTP baut einen Synchronisationsbaum mittels des Austausches von ‚Announce‘ Frames – die Information über Qualitäten und Prioritäten des jeweiligen Knotens – und dem Best-Master-Clock Algorithmus auf.
Schlussendlich ergibt sich daraus eine Synchronisationshierarchie (Bild 1) bei der sich an oberster Stelle die Zeitquelle – PTP Grandmaster (GM) genannt – und an unterster Stelle des jeweiligen Zweigs die Zeitsenken – PTP Slaves (OC) genannt – befinden. Die Knoten dazwischen sind PTP-fähige Switches (PTP Boundary Clocks), welche an einem Port jeweils die Rolle einer Zeitsenke (PTP Slave) und auf den anderen Ports jeweils wieder die Rolle einer Zeitquelle (PTP Master) übernehmen. Hierdurch ist jede PTP-Verbindung eine Punkt-zu-Punkt-Verbindung, entsprechend dem 802.1AS-Standard.

Jede PTP-Verbindung synchronisiert die beiden Endpunkte, den Slave und den Master nach demselben Prinzip. Dabei werden sowohl die Phase zwischen den zwei Teilnehmern als auch die Drift aufgrund abweichender Frequenzen der Uhren bestimmt und kompensiert.

Um die Phase ausgleichen zu können, muss sowohl der Unterschied der lokalen Uhren als auch die Latenz der Kabelverbindung bekannt sein. Hierzu wird zuerst die Latenz (Delay) zwischen zwei PTP-Knoten bestimmt, wofür ein Mechanismus auf Basis sogenannter ‚Peer Delay Messages‘ (P2P) zum Einsatz kommt.
Mit dem Wissen über die Latenz kann nun der eigentliche Phasenfehler (Offset) mittels zeitgestempelter Nachrichten bestimmt werden. Durch aufeinanderfolgende Messung erfolgt noch die Bestimmung des Frequenzfehlers – der Drift. Wie im einzelnen Parameter – Delay, Phasenfehler und Drift – bestimmt werden, ist im Standard definiert. 
Wie die gemessenen Phasen und Frequenzfehler ausgeglichen werden, ist nicht im Standard definiert und implementierungsspezifisch. Dies kann sprunghaft oder durch ausgereifte Regelungsalgorithmen erfolgen.

Die Qualität der Synchronisation

Bild 2. Zeitstempel-Ungenauigkeit auf verschiedenen Ebenen des Netzwerk-Stacks.

© NetTimeLogic

Die erreichbare Genauigkeit hängt stark von der Stabilität der Zeitquelle, der Topologie und der daraus folgenden Anzahl an Hierarchien im PTP-Synchronisationsbaum ab. Dazu kommt ebenfalls der zu erwartende systembedingte Fehler pro Knoten in der Hierarchie (Zeitstempel-Granularität, Aufenthaltsdauer, Oszillator-Stabilität). Und schlussendlich hängt die Genauigkeit natürlich von der Implementation des zu synchronisierenden Endknotens ab (Zeitstempel-Granularität, Filter- und Regel-Parameter, Oszillator-Stabilität). 

Aus der Synchronisationshierarchie in Bild 1 ist ersichtlich, dass mit zunehmender Zahl an Ebenen (Hops) zwischen der Zeitquelle und Zeitsenke die erreichbare Genauigkeit abnimmt. Dies ist hauptsächlich der Zeitstempel-Genauigkeit in den einzelnen Hops und den darauf basierenden Berechnungen sowie der Stabilität der Oszillatoren geschuldet. Grundsätzlich legt PTP nicht fest, wie ein Zeitstempel eines Pakets genommen wird, jedoch legt es fest, wann ein Zeitstempel genommen wird. Dies ist genau dann, wenn der Start-of-Frame-Delimiter (SFD) das Kabel am jeweiligen Knoten verlässt beziehungsweise erreicht. Wie es nun zu den entsprechenden Zeitstempeln kommt, ist implementationsabhängig. Zudem gibt es verschiedene Ebenen, wo Zeitstempel genommen werden können (siehe Bild 2 oben). In den unteren Ebenen erfolgt die Zeitstempelung dabei in Hardware, in den oberen in Software.

Vereinfacht gesagt gilt, je höher die Schicht im OSI Model, desto fehlerbehafteter ist der Zeitstempel. Um eine Synchronisationsgenauigkeit <1 μs zu erreichen, ist eine Hardware-Unterstützung notwendig. Dies gilt auch, weil der Zeitstempel nur einer von drei entscheidenden Teilen ist, welcher für hochgenaue Synchronisation und deren Nutzen nötig ist. Die Zeitstempel basieren schlussendlich auf einer Zeit, welche entsprechend in Phase und Frequenz angepasst werden muss, was den zweiten entscheidenden Teil darstellt: eine anpassbare Uhr.

Je genauer die Uhr geregelt werden kann, desto genauer sind schlussendlich die Zeitstempel und dementsprechend auch wieder die Berechnungen der neuen Regelparameter. Die Genauigkeit der Regelung hängt in dem Zusammenhang aber auch sehr stark von der Oszillator-Stabilität der Taktquelle für die Uhr ab. Es bringt also nichts, wenn die Frequenz der Uhr mit einer Auflösung von etwa 1 ppb (1 ns/s) geregelt wird, die Taktquelle aber einen Jitter von 10 ppm hat (10 μs/s) hat.

Glücklicherweise sind auch viele low-cost Kristall-Oszillatoren mit 50 ppm – bei konstanter Temperatur, Vibration – sehr frequenzstabil (<10 ppb). Der absolute Frequenzfehler ist hier irrelevant, da dieser einfach weggeregelt werden kann. Es geht hier also rein um die Frequenzstabilität. Um mit weniger stabilen Oszillatoren eine passable Genauigkeit zu erreichen, kann die Frame-Rate erhöht werden. Dies führt dazu, dass ein Knoten öfters nachregeln kann und entsprechend weniger weit wegdriftet als bei niedrigeren Raten, dies jedoch auf Kosten der Netzwerklast. Das dritte und letzte entscheidende Puzzleteil ist die Möglichkeit, die hochgenaue Uhr nutzen zu können. Dabei geht es entweder darum, zeitgesteuert Events auszulösen (Phasen und Zyklen in TSN, synchrones Sampling von ADCs, synchrone Ansteuerung von Motoren oder OPC-UA Frame Trigger) oder Events mit der hochgenauen Uhr mit einem Zeitstempel zu versehen (etwa asynchrone Events für zentrale Korrelation). Auch hier gilt wie bei den Zeitstempeln, je mehr Hardware- Unterstützung desto präziser.

 

Die Optionen der Implementierung

Bild 3. Die Blockdiagramme einer HW-SW-Co-Lösung und einer FPGA-Lösung.

© NetTimeLogic

Grundsätzlich ist eine Implementierung als reine Software-, kombinierte Hardware-Software- oder reine Hardware-Lösung möglich. Für Endpunkte, welche in einem TSN-Netzwerk nur zeitunkritische Aufgaben erfüllen, zum Beispiel eine Visualisierung oder Monitoring-Applikation, kann eine reine Software-Lösung ausreichend sein.
Für TSN-Netzwerke mit der Anforderung einer Synchronisationsgenauigkeit <1 μs und somit der Netzwerk-Infrastruktur sowie den betroffenen Endpunkten, gibt es de facto nur zwei mögliche Ansätze (Bild 3): Software mit Hardware (SW-HW- Co-Lösung) oder eine reine Hardware-Lösung (FPGA-Lösung).

Die SW-HW-Co-Lösung

Bei einer SW-HW-Co-Lösung ist es normalerweise so gelöst, dass alles Zeitkritische in Hardware gelöst ist und alles Zeitunkritische in Software. Ein weit verbreitetes Beispiel dafür ist die PTP-Lösung mit ptp4l. ptp4l ist eine Open-Source-Protokoll-Stack-Implementation für Linux nach IEEE 1588/IEEE 802.1AS. ptp4l handhabt hierbei alles, was mit dem PTP Frame Versand/Empfang zu tun hat, die Protokoll-Algorithmen, einschließlich der Auswertung der Zeitstempel und Berechnung der Regelparameter für die Uhr. Die eigentlichen Zeitstempel kommen dabei aber von einer dedizierten Hardware – zum Beispiel Netzwerk-Karten – welche über das Socket API die Zeitstempel zur Verfügung stellt. Meistens befindet sich auf derselben dedizierten Hardware auch eine regelbare Uhr – die Zeitstempel kommen ja von einer Uhr –, welche über das PHC API von ptp4l angesprochen wird. Somit wäre die Problematik der Zeitstempel und regelbaren Uhr gelöst.

Der Punkt ist nun jener, dass die hochgenaue Zeit jetzt auf der Netzwerk-Karte zur Verfügung steht, dort ist sie aber bis auf PTP eigentlich nutzlos, außer den hardwarespezifischen Features, welche herstellerspezifisch sind. Hierfür braucht es nun noch ptp4l-spezifische Tools (phc2sys), um etwa die System Clock der PTP-Uhr (PHC Clock) nachzuführen und darauf entsprechend synchrone Events zu generieren oder Zeitstempel zu nehmen. Dabei ergeben sich zwei zusätzliche Quellen für Ungenauigkeit, einerseits beim Aufsynchronisieren des System Clocks und anderseits bei der Event-Generierung und Zeit-Stemplung, was sehr CPU-Last-abhängig sein kann. Um eine hohe Präzision zu erzielen, ist hier eigentlich ein Echtzeit-OS erforderlich. Neben ptp4l gibt es weitere kommerzielle PTP-Stacks, welche beispielsweise auch Nicht-Linux-Systeme unterstützen und dann auch auf MCUs zum Einsatz kommen können.

Die Hardware-Lösung

Sven Meier ist Gründer, Managing Director und FPGA Design Engineer bei NetTimeLogic.

© NetTimeLogic

Eine reine Hardware-Lösung kann beispielsweise durch den Einsatz von FPGAs (Field Programmable Gate Arrays) und entsprechenden IP Cores (NetTimeLogic’s TSN oder PTP OC IP Cores) realisiert werden. Die Idee dabei ist, sowohl die Protokoll-Komponente von PTP (Frame senden/empfangen, Algorithmen und Berechnungen), welche grundsätzlich keine Hard-Realtime Anforderung hat, wie auch den Realtime-Teil (Zeitstempeln, Uhr nachstellen) von PTP komplett in Hardware (FPGA-Zellen) zu verschieben. Dadurch ergibt sich so etwas wie ein Co-Prozessor für Zeitsynchronisation (oder auch für TSN), ohne aber einen Prozessor zu benötigen. Bis zu diesem Punkt gibt es noch keine Unterschiede zur SW-HW-Co- Lösung, wenn es um die Genauigkeit der Synchronisation geht. Interessant wird die Hardware-Lösung vor allem dann, wenn es darum geht, basierend auf der hochgenauen Uhr synchrone Events zu generieren oder Events zu zeitstempeln.

Die IP Cores stellen eine Zeit zur Verfügung, die mit jedem Taktzyklus des Oszillators hochzählt und direkt verfügbar ist. Somit können Events mit einer Granularität von einem Taktzyklus der Uhr – zum Beispiel 10 ns@100 MHz – generiert oder zeitgestempelt werden. Diese Zeit ist einerseits um Faktoren genauer als eine Ge­nerierung von Events via Software und nachgeregelter Systemzeit, anderseits auch viel komfortabler, da durch die Voll-Parallelität des FPGA mehrere Events und Timestamps gleichzeitig abgehandelt werden können, ohne irgendwelche Verluste an Genauigkeit. Dies hat nicht nur Vorteile und eine FPGA-basierte Lösung erfordert einen FPGA, was unter Umständen ein zusätzlicher Kostenpunkt sein kann, anderseits kann das System auch ohne CPU laufen. 

Thomas Schaub ist Business Partner und FPGA Design Engineer bei NetTimeLogic.

© NetTimeLogic

Im Zusammenhang mit TSN kommen bereits sehr oft FPGA-basierte Lösungen zum Einsatz. Einerseits, weil diese enge Verbindung zur ­synchronen Uhr benötigt wird und auch viele andere Teile von TSN ebenfalls ­harte Echtzeit-Anforderungen haben (beispielsweise Scheduling), andererseits aber vor allem auch, weil zeitgesteuert Datenquellen und Datensenken angesprochen werden sollen. Dadurch ist es oftmals der Fall, dass bereits ein FPGA vorhanden ist, und sich damit eine solche Lösung anbietet. Zusätzlich ist TSN immer noch ein ‚Moving-Target‘, was neue Features und Standards betrifft. Dies spricht natürlich für die Flexibilität einer FPGA-Lösung.

Wenn man die beiden Ansätze gegenüberstellt, lassen sich folgende Vor- und Nachteile zusammenstellen: 

Es gibt also Vor- und Nachteile für den jeweiligen Ansatz und beide haben ihre Daseinsberechtigung. In der Praxis gilt es für jedes System zuerst zu analysieren, was die Anforderungen und Rahmenbedingungen sind und dann den entsprechenden Ansatz zu wählen. Abschließend lässt sich aber sagen, dass PTP dank seiner Einfachheit und der Genauigkeit von unter einer Mikrosekunde die perfekte Wahl als Basistechnologie für TSN ist. 

Auch wenn es verschiedene Ansätze für PTP gibt – HW-SW-Co-Lösung versus FPGA-Lösung –, muss immer zuerst das gesamtheitliche System betrachtet und es müssen die Anforderungen an die Synchronisationsgenauigkeit geklärt werden. Daraus ergibt sich meistens die passende und oftmals auch wirtschaftlichste Lösung, welche die Anforderungen erfüllt, diese aber nicht zwangsläufig um Faktoren übertrifft. Durch die schon heute weite Verbreitung von PTP in der Industrie, steht für TSN eine gute Basis bereit, sich in der Industrie als die konvergente ­Netzwerk-Technologie der Zukunft zu etablieren.

Übersicht: IEC-61156-Standards für Single Pair-Ethernet-Leitungen.

 HW-SW-Co-Lösung  FPGA-Lösung
CPU benötigt    Ja    optional (Konfiguration oder zusätzlicher Datenverkehr)
TSU und Clock HW benötigt Ja   Ja (ist Teil des PTP IP
im FPGA)
OS & Treiber benötigtJa   optional (MAC-Treiber)
Software Stack benötigtJa   Nein
IP Core benötigtNeinJa
Integrations-aufwandmittel (bis hoch, sofern Treiber nicht verfügbargering
Synchronisations-StabilitätHängt von den Filter- und Regel-Parametern, ab welcher der Benutzer setztwie HW-SW
Notwendige Komponente (CPU, PHY etc.)VieleWenige
Komplexität HWgering-mittelmittel-hoch
Komplexität SWmittel-hochkeine-gering
Genauigkeit PTPHängt von der Zeitstempel-Genauigkeit und Präzision der
Regelbarkeit der Uhr ab bei der jeweiligen Implementation
wie HW-SW
Genauigkeit Event Generator– –+ +
Genauigkeit Event Timestamper– – + +
Kosten PTP Stackkeine (Open-Source) 
€ € (kommerzielle Stacks)
€ €
Kosten HW€ (bestehende HW unterstützt PTP) – € € (dedizierte HW)
 
€ (bestehende HW hat
einen FPGA)
– € € (dedizierter FPGA)
Erweiterbarkeiteingeschränktsehr flexibel
Sicherheit (z.B. DOS-Attacke)

– –
(CPU kann schlecht Line-Speed handhaben)

+ +
Filter/Sicherheitsmechanismen
können im FPGA implementiert werden)

Robustheit+
Zertifizierbarkeit– (ganzes System muss zertifiziert werden incl. OS)+ (nur FPGA muss zertifiziert
werden, was unter HW geht

 

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

OPC Foundation

Vom Sensor bis in die Cloud

OPC UA soll weltweit anerkannter Standard des Industriellen Internet der Dinge werden. Während der SPS Connect bezog Stefan Hoppe, Präsident der OPC Foundation, Stellung zum Status Quo der Arbeiten.

mehr...
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Unit4

ERP-Trend-Prognose für 2024

Unit4 stellt eine Prognose über die wichtigsten ERP-Trends für das Jahr 2024. Claus Jepsen, Chief Product and Technology Officer, nennt neun Punkte, die er für relevant hält.

mehr...
Jetzt Newsletter abonnieren