Automatisierungstreff

Zeitsynchronisierung in industriellem „switched“ Ethernet

Seite: 2/2

Anbieter zum Thema

Zeitstempeln am Ethernet-Treiber:

Die Empfangszeitstempel, z.B. T2 und T4, werden in der Interrupt-Service-Routine (ISR) von Ethernet erstellt, wohingegen der Client-Sendezeitstempel T1 in der Ethernet-Senderoutine des Ethernet-Treibers erzeugt wird. Die Erstellung des Zeitstempels T3 ist etwas komplizierter, da dieser bereits in dem in der Anwendungsschicht erzeugten Antwort-Paket enthalten ist.

Das Sendezeitstempeln kann sehr genau sein, wohingegen die entsprechenden Empfangszeitstempel unter Jitter in der Interrupt-Latenz leiden können, was von der RTOS-Implementierung und der Belastung der Rechnerplattform abhängt. Eine verwendbare alternative Software-Lösung zur Behebung dieses Problems besteht in der Implementierung eines von RTOS unabhängigen ISR, welches das Zeitstempeln der eingehenden Zeitdatenpakete erledigt.

Bildergalerie

Die Zeitgenauigkeit liegt typischerweise in der Größenordnung von einigen Zehntelmikrosekunden bis 100 Mikrosekunden.

Das Zeitstempeln kann im Ethernet-Controller in Hardware implementiert werden oder zum Beispiel in einem separaten FPGA erfolgen, das als medienunabhängige Schnittstelle (MII) zwischen Ethernet-Controller und Ethernet-PHY-Chip fungiert. Bei Durchführung des Zeitstempelns innerhalb der Hardware kann eine äußerst präzise zeitliche Synchronisierung erzielt werden. Die Genauigkeit bei den Zeit-Clients kann bei Verwendung dieser Methode und Vorhandensein einer Direktverbindung zwischen Server und Client eine Mikrosekunde unterschreiten.

Warum ist die Switch-Latenz problematisch?

Die meisten neueren Ethernet-Switch-Designs basieren auf einer „Store-and-forward“-Technologie. Dies heißt, ein Ethernet-Paket muss vollständig an einem Eingangs-Port empfangen werden, bevor es auf Bit-Fehler überprüft und an den entsprechenden Ausgangs-Port übermittelt werden kann. Die Latenz hängt somit von der Geschwindigkeit des Drop-Links und den Paketgrößen ab. So wird zum Beispiel ein Ethernet-Paket maximaler Größe (1522 Bytes) an einem 10-Mbps-Drop-Link auf Grund des „store-and-forward“-Mechanismus um 1,2 Millisekunden verzögert. Ein entsprechendes 100-Mbps-Drop-Link erzeugt eine Verzögerung von 122 Mikrosekunden. Zusätzliche Verzögerungen des Pakets können sich ergeben, wenn andere Pakete in der Ausgabe-Warteschlange auf ihre Übertragung am gleichen Ausgangs-Port warten. Die Switch-Latenz kann auch in Folge einer allgemeinen Switch-Belastung schwanken. NTP- oder ähnliche Filtertechniken können verwendet werden, um die Auswirkungen variabler Netzwerk-Latenz zu reduzieren.

Time-Server im Ethernet-Switch

Das Switch-Latenz-Problem kann durch Integrierung des Zeit-Servers im Ethernet-Switch behoben werden. Bei Verwendung dieser Implementierung befindet sich nur ein Drop-Link zwischen dem Server und dem Client und die Genauigkeit des Timings wird von der Netzwerklast unabhängig gemacht, wenn die Zeit-Pakete ihre Zeitstempel über Hardware erhalten. Eine Genauigkeit von unter einer Mikrosekunde kann beim Client der Zeitdaten erzielt werden, wenn dieser auch die Zeitstempel in Hardware erstellt.

Wie erzielt man einen präzisen T3-Zeitstempel?

Die SNTP-Zeitantwort enthält sowohl den Empfangszeitstempel des Zeitanfragepakets T2 als auch den Sendezeitstempel T3 des Zeitantwort-Pakets. Die tatsächliche Zeit muss deshalb beim Auftreffen des Zeitantwort-Pakets auf dem Drop-Link den Wert T3 haben. Dies bedeutet, dass der Server deterministischen Zugang zu den Netzmedien haben muss. Folgende Implementierungen können verwendet werden:

  • Die Flusskontrolleigenschaft des Ethernet-Switchs kann im Falle von Vollduplex-Verbindung verwendet werden um das Antwortpaket solange zurückzuhalten bis die Absolutzeit gleich dem in der Zeitantwort gegebenen T3-Zeitstempel ist.
  • Die Rückstau-Eigenschaften des Ethernet-Switch können im Falle einer Halbduplex-Verbindung verwendet werden um das Antwortpaket solange zurückzuhalten bis die Absolutzeit gleich dem in der Zeitantwort gegebenen T3-Zeitstempel ist.
  • Für beide Drop-Links (halb- und vollduplex) kann die Sendung eines Testpakets gegebener Länge verwendet werden. Das Zeitantwort-Paket ist dann unmittelbar nach dem Testpaket zu senden.

Øyvind Holmeide, Westermo Ontime, Tor Skeie,ABB Corporate Research

(ID:288792)