Europe as a Queen Munster, 1588 Europe as a Queen Munster, 1588.
Zeitsynchronisation mit 1588 und White Rabbit - tsep.com · - Technical Software Engineering...
Transcript of Zeitsynchronisation mit 1588 und White Rabbit - tsep.com · - Technical Software Engineering...
- Technical Software Engineering Plazotta
Zeitsynchronisation mit IEEE 1588 und White
Rabbit
Dipl. Ing. Peter Plazotta, CEO
TSEP Technical Software Engineering Plazotta, Wolnzach
- Technical Software Engineering Plazotta
• Zeitsynchronisation mit IEEE 1588• Überblick
• Konzept
• Verfügbare Hardware
• Zeitsynchronisation White Rabbit• Konzept / Anforderungen / Topologie
• Hardware- und Softwareerweiterungen zu IEEE 1588
• Mögliche Anwendungen
• Zusammenfassung
Agenda
- Technical Software Engineering Plazotta
IEEE 1588 – Zielsetzung
Verteilung der Zeit aus einer sehr genauen Zeitquelle (Atomuhr,
GPS) an mehreren Computern oder Geräten im Netzwerk. Zur
Verteilung der Zeit steht nur die vorhandene Netzwerk-
infrastruktur zur Verfügung.
- Technical Software Engineering Plazotta
IEEE 1588 - Historie
Historie:
1985 NTP-Protokoll veröffentlicht als RFC 985 von David L. Mills, die Genauigkeiten isthier etwa Mikrosekunde (1x10-6 Sek.)
1990 Eine Gruppe um John C. Eidson (HP) wurde gegründet, um das NTP-Protokoll zu verbessern
2000 John C. Eidson veröffentlichte seine Ergebnisse
2002 Der IEEE-Standard 1588-2002 basiert auf den Ergebnissen von John C. Eidson Untersuchungen. Die Genauigkeiten ist hier imNanosekunden (1x10-9 Sek) Bereich.
2008 Der aktuelle Standard IEEE 1588-2008 wurde veröffentlicht
Was ist seit 2008 passiert:
• Das Team um John C. Eidson arbeitet an der Version v3 die Ende 2018/Anfang 2019 veröffentlicht werden soll. Draft Versionen des Standards sind bereits vorhanden.
• Eine Gruppe von Unternehmen und Institutionen (CERN, GSI Helmholtz-Zentrum, National Instruments) entwickelte 2011 den "White Rabbit Standard", der aus der IEEE 1588-2008 abgeleitet wurde. Hierbei wird vor allen auf die Fehlerkorrektur der Hardwarekomponenten und den Systemeigenschaften eingegangen. Die Genauigkeiten liegt hier unter 200 Picosekunden (200x10-12 Sek).
- Technical Software Engineering Plazotta
IEEE 1588 – Konzept
• Gruppierung aller Geräte im Netzwerk
• Mehr als ein Port (Verbindung zu anderen Uhren) kann sich in einer Uhr befinden
• Verwendung eines Master / Slave-Konzept, um die Zeit hierarchisch zu verteilen.
• Jede Uhr kann sowohl Master oder Slave sein
• Jeder Master synchronisiert seine angeschlossen Slaves mit seiner Masterzeit
• Der Austausch der Zeit zwischen Master uns Slave erfolgt über das TCP/IP Protokoll.
• Die Zeit wird regelmäßig neu synchronisiert
• Über einen Algorithmus wird zwischen der Master- und Slave-Rolle entschieden (Best Master Clock Algorithm). Somit konfiguriert sich das System selbstständig.
• Jeder Clock ist mit einem Qualitätskriterium ausgestattet, somit ist sichergestellt das die Uhrzeit der besten Clock verwendet wird
• Die Anforderungen an zusätzliche Netzwerkgeräte (z. B. Switches) zur Unterstützung des IEEE 1588 Standards sind definiert
- Technical Software Engineering Plazotta
IEEE 1588 / Master Slave Synchronisation
Ablauf der Synchronisation:
t1 Master sendet periodisch “Sync Message”
(Enthält die Sendezeit)
t2 Slave empfängt die “Sync Message”
t3 Slave sendet eine “Delay Request Message” aus
t4 Master empfängt die “Delay Request Message” und
sendet die Empfangszeit dieser Nachricht an den
Slave zurück (Delay Response Message).
Zur Berechnung der Netzwerk-Übertragungszeit (meanPathDelay) wird
nachstehende Formel verwendet. Diese setzt eine symmetrische
Übertragungszeit (Senden/Empfangen) innerhalb des Netzwerks
voraussetzt:
- Technical Software Engineering Plazotta
IEEE 1588 / „Problems to solve“
„Problems to solve“
1. Jede Uhr wird im Regelfall als ein Zähler implementiert, der die Zyklen zählt und die Zeit über die Frequenz des Zählers berechnet. Da die Frequenz unterschiedlich ist von Gerät zu Gerät muss diese korrigiert werden
2. Ethernet ist eine nicht deterministische Verbindung, daher variieren die Übertragungszeiten. Die Übertragungszeiten müssen ermittelt werden.
3. Laufzeiten innerhalb eines Gerätes (Netzwerkstacks, Treiber etc.) sind ebenfalls nicht deterministisch, da "PreemptiveScheduling" jeden Prozess jederzeit unterbrechen kann.
4. Laufzeiten innerhalb der Physikalischen Netzwerkes variieren (Kabellänge, Temperatur)
- Technical Software Engineering Plazotta
IEEE 1588 – Hardware
Als Ergebnis der vorhergehenden Erläuterungen können kann folgender Schlußgezogen werden, dass je genauer der Zeitstempel tn an der Hardware-Schnittstelle festgelegt oder bestimmt werden kann, desto genauer ist der berechnete „meanPathDelay". Diese Beobachtung führt dann sehr schnell zu der Erkenntnis, dass ein Teil der IEEE 1588-Funktionalität in den entsprechenden Netzwerkchips untergebracht werden sollte. 2012 präsentierte Intel seine Netzwerkchips der Intel-Serie I21x / I35x, die erstmals eine Unterstützung für IEEE 1588 enthielten. Diese Netzwerkchips enthalten alle zeitkritischen Teile des IEEE-1588-Standards:
• Hardware clock: Ein interner Zähler mit den notwendigen Stellgrößen zur Frequenzanpassung
• Hardware Timestamping: Übertragen des aktuellen Zeitstempels auf ausgesendete TCP/IP UDP Pakete
• Hardware Timestamping Grabber: Speichern der Zeitstempel in den empfangen TCP/IP UDP Pakten
• Hardware Based Time Events: Erzeugung von zeitbezogenen Trigger Events oder Signalen (PPS)
- Technical Software Engineering Plazotta
IEEE 1588 - Genauigkeit
Fakten:
• Signallaufzeit in Kabeln: 4ns
• Mit einer Genauigkeit von 20 ns kann Triggerung mit IEEE 1588 genauer sein als
bei Triggerkabel mit mehr als 5 m Länge
Genauigkeit:
• +/- 40 ns kann ohne größeren Aufwand (Hardware/Software) erreicht werden
• +/- 20 ns kann mit Hilfe von entsprechenden Algorithmen (Kalman Filter) und
Optimierungen erreicht werden
• < 1 ns kann mit zusätzlicher Hardware erreicht werden (Glasfaser statt Kupfer,
White Rabbit Hardware)
Schlussfolgerung:
Je genauer die System arbeiten sollen, desto kostenintensiver werden sie.
- Technical Software Engineering Plazotta
IEEE 1588 – Demosystem
Auf unserem Stand Halle 5-258 steht eine laufende Demoeinheit,
auf der zwei TSEP IEEE 1588 Stacks laufen. Visualisiert wird bei
diesem Demosystem sowohl der softwaretechnische
meanPathDelay, als auch die Differenz der PPS Signale
(Hardware Uhr).
- Technical Software Engineering Plazotta
White Rabbit
- Technical Software Engineering Plazotta
White Rabbit / Zielsetzung
CERN, GSI und andere Firmen sahen den Bedarf den
bestehenden IEEE 1588 2008 Standard weiter zu verbessern.
Hierfür gab vom CERN aus konkrete Anforderungen. Sowohl die
Genauigkeit von IEEE 1588 als auch die zu erwartenden
Netzwerkkabellängen (mehrere Kilometer) sollten ermöglicht
werden.
- Technical Software Engineering Plazotta
White Rabbit / Anforderungen
• Standard Ethernet
• Große Anzahl von Knoten (>1000)
• 1Gb Übertragungsgeschwindigkeit
• Zeitsynchronität < 1ns
• Kabellängen im Kilometer Bereich
• Einbindung von nicht WR fähigen Geräten
• Deterministisch und zuverlässige Datenübertragung mit
niedriger Latenz
• Offener Standard (Hardware/Software)
- Technical Software Engineering Plazotta
White Rabbit / Topologie (Beispiel CERN)
• Innerhalb des Netzwerkes soll die Verteilung
hierarchisch erfolgen
• Der Einsatz von speziellen WR Switches
ermöglicht eine einfache Skalierung des
Systems
• WR Nodes und andere nicht WR fähige Geräte
sollen eingebunden werden können
• Die Masterzeit wird zentral eingespeist
- Technical Software Engineering Plazotta
White Rabbit / Hardware
Folgende Verbesserung sind notwendig um die gewünschte Genauigkeit zu erreichen:
• Verwendung von Glasfaser Ethernet, statt Kupfer (1Gb Kabel werden die Daten über 4 Kabelpaare parallel übertragen, Zeitverschiebung bei Byte-Resample)
• Layer 1 Syntonization, Abgleich der Sende und Empfangsfrequenzen bei beiden Partnern
• „Digital Dual-Mixer Time Difference (DDMTD) phasedetection“ (Sende Frequenz wird aus Empfangsfrequenz abgeleitet)
- Technical Software Engineering Plazotta
White Rabbit / Software
Verbesserung der Laufzeitberechnung:
• Annahme eines asymmetrischen Fehlermodels
gegenüber IEEE 1588
• Erweiterung des Fehlermodells gegenüber IEEE 1588
• Erweiterung des Statusmodells und der
ausgetauschten Nachrichten gegenüber IEEE 1588
- Technical Software Engineering Plazotta
Denkbare Verwendungen
Messtechnik:
• Offline Datenerfassung und korrelieren der Daten über den Zeitstempel
• Trigger mit IEEE 1588, es existiert vom IVI Konsortium eine Softwaredefinition für die Konfiguration und Verwaltung solcher Ereignisse
• Virtuelles Messgerät
Prozesstechnik:
• Steuerung von verschiedenen Geräten (Roboter, Automaten) über IEEE 1588
Energietechnik:
• Steuerung und Verwaltung von Mess- und Steuergrößen in Kraftwerken
- Technical Software Engineering Plazotta
Zusammenfassung
• IEEE 1588 hat großes Potential und ist aufgrund der verfügbaren Hardware
einfach und sofort einsetzbar
• Offline Datenerfassung oder Cloud Datenanalyse, kann über akkurate
Zeitstempel die Daten korrelieren
• Messungen die über einen größere Fläche verteilt sind (Durchbiegung einer
Tragfläche eines Passagierflugzeuges) und damit die Laufzeiten in den
Kabeln relevant werden, können von IEEE 1588 profitieren
• Mit Hilfe von anderen Standards wie LXI und IVI lassen sich interagierende
System bauen.
- Technical Software Engineering Plazotta
Thank you for your attention!