-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung
von Zeitsynchronisierung in einem Netz, insbesondere in einem lokalen
Netz (Local Area Network (LAN)), wobei in diesem Netz ein (ausgewählter) Knoten
einen Hauptzeitverteiler (Master Time Distributor) aufweist, der
zum Senden von Taktinformationen auf Anforderung ausgelegt ist.
-
Hintergrund der Erfindung
-
Ein
Problem, das lokalen Netzen (LANs) gemeinsam ist, ist das Konzept
der absoluten Zeit. Selbst wenn einem Knoten die Rolle des Hauptzeitverteilers
zugewiesen wird und er zum Senden von Taktinformationen auf Anforderung
zuständig
ist, führt
der Mediumzugriffsmechanismus des LAN eine unvorhersagbare Verzögerung der Übertragung
der Zeitsynchronisierungsmeldung ein. Diese Verzögerung kann ohne weiteres die
erforderliche Präzision der
absoluten Zeit zunichte machen, wodurch das gesamte Konzept hinfällig wird.
Außerdem
bringen die Dauer der Zeitsynchronisierungsmeldung und die Verzögerungen
bei der Verarbeitung der Meldung in den Empfangsknoten weitere Unsicherheiten
mit sich.
-
Stand der Technik
-
Aus
der
US 5 408 506 (Mincher
et al.) sind ein verteiltes Zeitsychronisierungssystem und -verfahren
bekannt, bei denen einige Knoten ihre Frequenz relativ zu einem
virtuellen Haupttaktknoten ändern.
-
Die
US 5 440 556 (Edem et al.)
betrifft ein Verfahren, bei dem zwei Schaltungen an jeder Seite einer
Netzleitung auf denselben Referenztakt synchronisiert sind, indem
an jede Schaltung ein 125 μsec-Impuls
gesendet wird.
-
Die
US 5 602 922 (Danneels)
betrifft ein System zum Synchronisieren von Daten, die von einem Server
an einen Client übertragen
werden, indem der Takt initialisiert wird, wenn das erste Paket
empfangen worden ist, und bei dem ferner die Taktzeiten mit der
Paketzeit verglichen werden. Dieses System kann in Verbindung mit
Video relevant sein, wo Zeitdistanzen eine Rolle spielen.
-
Die
US 5 544 324 (Edem et al.)
betrifft ein Netz zum Übertragen
isochroner Daten durch Verwendung einer Rahmenstruktur mit einer
variablen Anzahl Zeitschlitzen, um Zeitschwankungen zwischen Referenztakten
und der Datenrate auszugleichen. Ein Beispiel für eine isochrone Datensynchronisierung
ist ein Videomonitor, der einen kontinuierlichen Strom Videodaten
zur Anzeige empfangen kann, und bei diesem Stand der Technik wird
angestrebt, solche isochronen Daten auf eine geeignetere Weise zu übertragen.
-
Die
EP 0 697 774 offenbart ein
Verfahren zum Schätzen
des Taktversatzes zwischen den Takten eines Paares Kommunikationsstationen.
-
Die
WO 87/04306 (Ketzler/ETA-Systems) betrifft ein elektronisches Taktsteuersystem
für digitale
Datencomputer. Das System weist einen Hauptoszillator auf, der Taktsignale
an eine Reihe Schaltungskarten zur Regelung der Zeitverzögerung jeder Schaltungskarte
verteilt.
-
Die
WO 93/04544 (Wray/Motorola) betrifft ein Verfahren zum Einregeln
eines Synchronisierungssignals mit einem empfangenen Datensignal unter
Verwendung eines Fehlersignals, das die Differenz zwischen den beiden
Signalen definiert.
-
Die
WO 93/14570 (Bergström/Asea
Brown Boveri) betrifft ein Verfahren und ein Gerät zum Abstimmen eines intern
erzeugten Taktimpulssignals unter Verwendung von Haupt- und Nebeneinheiten
in einer FLL-Schaltung.
-
Zusammenfassung der Erfindung
-
Die
Aufgabe der vorliegenden Erfindung ist die Einführung eines Verfahrens der
Zeitverteilung, mit dem das Problem unvorhersagbarer Verzögerungen
umgangen werden kann, um dadurch eine sehr genaue Zeitsynchronisierung
zu ermöglichen.
-
Diese
Aufgabe basiert auf einem definierten Netzereignis, das als 'Tick" bezeichnet wird.
Die Anforderungen an einen solchen Tick sind nur, dass er in einem
Netz übertragen
werden kann, unverwechselbar und gut erkennbar ist. Einige mögliche Tick-Kandidaten sind:
- – Eine
oder mehrere gültige
Netzadressen im Paket;
- – eine
oder mehrere gültige
Netzgruppenadressen im Paket;
- – ein
gültiges
Paket mit erzwungener Codeverletzung in einem vordefinierten Teil;
- – eine
vordefinierte Bitfolge, die in einer Codeverletzung endet;
- – ein
Impuls mit vordefinierter Länge.
-
Die
Aufgabe der Erfindung wird durch ein Verfahren, ein Netz und einen
Zeitsynchronisierungs-Nebenknoten gemäß den beigefügten Hauptansprüchen gelöst.
-
Der
Knoten, der den Tick (rund)sendet, kann der Hauptknoten oder einer
der Nebenknoten sein. Durch die Verwendung eines Nebenknotens statt
des Hauptknotens zum Senden des Tick ergeben sich mehrere Vorteile.
Erstens wird die am Hauptknoten erforderliche Verarbeitungslast
verringert, da der Hauptknoten mit der höchsten Verarbeitungslast und ohne
die Notwendigkeit einer präzisen
Zeitsynchronisierung nicht sämtliche
Ticks verarbeiten muss und seine Verarbeitungsleistung primären Funktionen
zur Verfügung
stellen kann. Beim Empfang eines Tick von einem Nebenknoten sendet
der Hauptknoten die Zeitmeldung, die die Ankunftszeit des Tick am
Hauptknoten enthält
und an alle Nebenknoten adressiert ist, an eine Gruppe Nebenknoten
oder an einen bestimmten Nebenknoten, die bzw. der eine Synchronisierung
anfordert.
-
Zweitens
ist ein Nebenknoten, der seine Synchronisierung verloren hat, in
der Lage, die Synchronisierung rascher wiederherzustellen. Es sei
angenommen, dass ein Nebenknoten rückgesetzt ist und dann hochgefahren
wird. Wenn nur der Hauptknoten den Tick sendet, kann die Verzögerung zwischen
dem Hochfahren des Nebenknotens und dem Empfangen des Tick sowie
der zugehörigen
Zeitmeldung und damit die Synchronisierung des Nebenknotens relativ
lang sein. Wenn der Tick nach dem Reset (Rücksetzen) z. B. am Ende der
Hochfahrprozedur vom Nebenknoten gesendet wird, erfolgt die Synchronisierung
so bald wie möglich,
ohne dass der Synchronisierungszyklus des Hauptknotens abgewartet
zu werden braucht.
-
Drittens
können
die Nebenknoten unterschiedliche Anforderungen an die Zeitgenauigkeit und
damit verschiedene Zykluszeiten der Zeitsynchronisierung haben.
In dem Fall, in dem der Hauptknoten die Ticks sendet, werden die
Ticks an alle Nebenknoten mit der Zykluszeit des (der) Nebenknoten(s)
gesendet, der (die) strengsten zeitlichen Anforderungen hat (haben).
Dies resultiert in einer unnötigen
Belastung insbesondere des Hauptknotens und auch der Nebenknoten
mit weniger strengen zeitlichen Anforderungen. Wenn jeder Knoten
oder ein Knoten einer Gruppe mit ähnlichen Zeitanforderungen
den Tick senden kann, wenn dies erforderlich ist, d. h. in regelmäßigen Intervallen
oder auf Anforderung, wird die Belastung optimiert. Durch die Bereitstellung
von zwei oder mehr verschiedener Ticks ist es möglich, die Nebenknoten in zwei
oder mehr Gruppen mit unterschiedlichen zeitlichen Anforderungen
oder Belastungssituationen anzuordnen, so dass ein Nebenknoten in
einer Gruppe einen von einem Nebenknoten einer anderen Gruppe gesendeten
Tick nicht erkennen kann. Als Folge erkennen stark belastete Nebenknoten
mit weniger strengen zeitlichen Anforderungen einen häufig gesendeten Tick
einer anderen Gruppe nicht und verschwenden keine Zeit und Verarbeitungskapazität für unnötige Synchronisierungsereignisse.
-
Bei
einer Ausführungsform
der Erfindung wird einer der Nebenknoten aus einer Gruppe Nebenknoten
als Zeit-Unterhauptknoten bestimmt, der sich selbst mit dem Hauptknoten
mittels des erfindungsgemäßen Verfahrens
zyklisch synchronisiert. Der (die) andere(n) Nebenknoten der Gruppe
wird (werden) sehr genau mit dem Unterhauptknoten mittels des erfindungsgemäßen Verfahrens
synchronisiert. Diese Konfiguration bedeutet eine weitere Verringerung
der Belastung des Hauptknotens.
-
Weitere
Merkmale und Vorteile der vorliegenden Lösung erschließen sich
aus der nachfolgenden Beschreibung vorgeschlagener Ausführungsformen
sowie aus den beigefügten
Patentansprüchen.
-
Kurzbeschreibung der Zeichnungen
-
Die
Erfindung wird nunmehr unter Bezugnahme auf die beiliegenden Zeichnungen
näher beschrieben.
-
1 ist
ein Diagramm, das die Taktverteilungssequenz unter Anwendung herkömmlicher
Verfahren darstellt.
-
2 ist
ein Diagramm, das die Zeitsynchronisierung unter Anwendung der Verfahren
gemäß der der
vorliegenden Erfindung darstellt.
-
3 ist
ein Blockdiagramm einer Ausführungsform,
bei der die vorliegende Erfindung angewendet werden kann.
-
4 ist
ein Signalisierungsdiagramm, das die Zeitsynchronisierung darstellt,
bei der ein Nebenknoten einen Tick sendet.
-
Detaillierte Beschreibung
der Erfindung
-
Zuerst
sei auf 1 verwiesen, bei der es sich
um ein Diagramm handelt, das die Taktverteilungssequenz unter Anwendung
herkömmlicher
Verfahren darstellt.
-
In 1 bedeuten
die hierin verwendeten Bezugszeichen:
-
- 1
- Time
Sync Master-Software liest den Haupttakt, erstellt Zeitmeldung
- 2
- Time
Sync Master-Software legt die Zeitmeldung in den Übertragungs-Warteschlange
- 3
- Maximal
zulässige
Differenz zwischen lokalen Takten
- 2–4
- Time
Sync Master-Software wartet auf die Übertragungsgenehmigung
- 4
- Time
Sync Master überträgt die Zeitmeldung und
Time Sync Slave empfängt
die Zeitmeldung
- 5
- Time
Sync Slave-Software beendete die Verarbeitung der empfangenen Zeitmeldung
- 6
- Differenz
zwischen Time Sync Master-Slave-Takt und Time Sync Master-Takt.
-
Das
Problem bei dieser Lösung
nach dem Stand der Technik liegt im Zeitintervall von 2 bis 4,
d. h. in der Periode, in der eine Taktmeldung bereit zur Übertragung
ist, aber der Knoten noch keinen Zugriff auf das Netz erlangt hat.
Die Länge
dieses Zeitintervalls ist sehr schwer vorherzusagen, da sie vom
Buszugriffmechanismus und dem aktuellen Zustand des Netzes abhängt.
-
Als
nächstes
wird auf 2 verwiesen, bei der es sich
um ein Diagramm handelt, das die Zeitsynchronisierung unter Anwendung
der Verfahren gemäß der der
vorliegenden Erfindung darstellt.
-
In 2 bedeuten
die hierin verwendeten Bezugszeichen:
-
- 1
- Time
Tick Master-Software legt einen Tick in die Übertragungs-Warteschlange
- 2–4
- Der
Tick wartet in der Warteschlange auf die Übertragung
- 4
- Der
Tick ist auf dem Netzmedium und alle Time Tick Slaves empfangen
den Tick
- 5
- Time
Tick Slave-Software registriert die lokale Tick-Ankunftszeit (Tlt), Time Tick Master-Software erstellt eine
Zeitmeldung, die die Haupttakt-Tick-Ankunftszeit (Tmt)
enthält,
und legt sie in die Übertragungs-Wartschlange
- 5–6
- Die
die absolute Zeit (Haupttakt-Tick-Ankunftszeit) enthaltende Meldung
wird in die Warteschlange im Time Sync-Hauptknoten eingereiht und
wartet auf Übertragung
- 6
- Time
Sync Master überträgt Haupttakt-Zeitmeldung
auf dem Netzmedium
- 7
- Jeder
Time Sync Slave empfängt
die Zeitmeldung (der Empfangsmoment kann von Knoten zu Knoten verschieden
sein) und aktualisiert seine lokale Zeit (T1)
mit der Zeitdifferenz zwischen der aufgezeichneten lokalen Tick-Ankunftszeit
und der empfangenen Haupttaktzeitmeldung (T1 =
T1 + Tmt – Tlt).
-
Bei
Betrachtung der 2 zeigt sich im Vergleich zu 1 eine
ganz andere Situation. Der Tick enthält keinerlei Taktinformation.
Er ist für
alle Knoten vorgesehen, die eine Aktualisierung der absoluten Zeit
benötigen.
Wichtig für
den Tick ist nur, dass er stets an allen diesen Knoten mit der gleichen
Verzögerung
ankommen sollte. Wenn er ankommt, speichert jeder Knoten den lokalen
Zeitwert seiner Ankunft. Der Zeitsynchronisierungs-Hauptknoten erstellt
dann eine Haupttakt-Zeitmeldung, die die Ankunftszeit des Ticks
enthält,
und überträgt sie auf dem
Netz. Wenn diese Meldung ankommt, können alle Knoten die Haupttaktzeit
mit ihrer eigenen gespeicherten Ankunftszeit vergleichen und ihren
lokalen Takt mit der Differenz zwischen der lokalen Ankunftszeit
und der Haupttaktzeit aktualisieren.
-
Grundprinzip
-
Das
Grundprinzip des Systems der Very Accurate Time Synchronization
(sehr genaue Zeitsynchronisierung) besteht darin, dass die Zeitverteilungsprozedur
von einem Schritt zu zwei Schritten geändert wird.
- – Ein Synchronisierungsereignis
(Tick) wird auf dem LAN definiert. Die einzige Einschränkung für einen
solchen Tick ist nur, dass er unverwechselbar und gut erkennbar
ist. Der Tick kann auch als Synchronisierungsmeldung bezeichnet
werden. Einige mögliche
Tick-Kandidaten sind:
- – Eine
oder mehrere gültige
Netzadressen;
- – eine
oder mehrere gültige
Netzgruppenadressen;
- – ein
gültiges
Paket mit erzwungener Codeverletzung in einem vordefinierten Teil;
- – eine
vordefinierte Bitfolge, die in einer Codeverletzung endet;
- – ein
Impuls mit vordefinierter Länge;
- – ein
Synchronisierungsereignis wird in einer vorgeschriebenen Position
im Tick erkannt.
-
Die
Verteilungsprozedur in zwei Schritten ist wie folgt:
- 1. Ein Knoten des LAN ist für
die Erzeugung von Synchronisierungsereignissen) in regelmäßigen Intervallen
oder auf Anforderung zuständig.
Die Detektion eines Synchronisierungsereignisses durch LAN-Knoten
ist ein zeitkritisches Element der Prozedur.
- 2. Einem Knoten des LAN wird die Rolle des Master Time Distributor
(Hauptzeitverteiler) zugewiesen. Immer wenn dieser Knoten ein Synchronisierungsereignis
auf dem LAN erkennt, zeichnet er den Zeitpunkt der Erkennung des
Ereignisses auf und sendet eine den aufgezeichneten Zeitpunkt enthaltende
Meldung an alle Knoten, die eine Zeitsynchronisierung erfordern.
Die Übertragung dieser
Meldung ist nicht zeitkritisch.
-
Dieser
Ansatz beseitigt zwar den Einfluss der LAN-Mediumzugriffsverzögerung,
aber das Problem der Verzögerung
bei der Verarbeitung der Synchronisierungsereignisse besteht nach
wie vor. Dies kann gelöst
werden, wenn jeder Knoten, der eine Zeitsynchronisierung erfordert,
einige grundlegende Anforderungen erfüllt.
-
Anforderungen an die LAN-Knoten
-
3 zeigt
ein Blockdiagramm eines Knotens eines lokalen Netzes. Ein derartiger
Knoten muss vier Anforderungen erfüllen:
- 1.
Ein Rohdatenstrom von der LAN-Schnittstelle 2 muss verfügbar sein.
- 2. Ein Detektor 3 für
ein Zeitsynchronisierungsereignis, der ein vorgeschriebenes Synchronisierungsereignis
im Rohdatenstrom erkennen kann, muss hinzugefügt werden.
- 3. Der Knoten 1 muss in der Lage sein, die lokale Zeit
zwischen Zeitsynchronisierungsmeldungen beibehalten zu können.
- 4. Die Knoten-CPU oder die Handhabungs-Hardware des lokalen
Takts müssen
auf das Signal vom Synchronisierungs-Ereignisdetektor 3 reagieren
können.
-
Prozedur der sehr genauen Zeitsynchronisierung
-
Wenn
alle eine Zeitsynchronisierung benötigenden Knoten die im vorigen
Absatz angegebenen Anforderungen erfüllen, ergibt sich die Prozedur
der sehr genauen Zeitsynchronisierung wie folgt:
- 1.
Wenn ein Synchronisierungsereignis erkannt wird, informiert der
Synchronisierungs-Ereignisdetektor 3 die CPU oder die Handhabungs-Hardware
des lokalen Takts.
- 2. Die lokale Zeit für
dieses Ereignis wird aufgezeichnet.
- 3. Wenn der Knoten der Zeitsynchronisierungs-Hauptknoten ist,
wird die aufgezeichnete Zeit in einer Meldung an andere Knoten übertragen,
die eine Zeitsynchronisierung erfordern.
- 4. Alle anderen Knoten warten auf die Zeitmeldung vom Hauptknoten.
Wenn diese Meldung ankommt, wird der lokale Takt um die Differenz
zwischen der Empfangszeit und der aufgezeichneten Zeit des Auftretens
des Synchronisierungsereignisses eingeregelt.
-
Durch
die Anwendung dieser Prozedur wird die Unsicherheit der Zeitsynchronisierung
auf vier sehr kleine Komponenten reduziert:
- – Übertragungsverzögerung auf
dem Netzmedium. Bei nahezu sämtlichen
lokalen Netzen beträgt
diese Verzögerung
weniger als 10 μsec.
- – Auflösung der
Hardware des lokalen Takts. Diese beträgt normalerweise deutlich unter
1 μsec.
- – Differenz
der Detektion des Synchronisierungsereignisses. Diese kann gleich
der oder besser als die Auflösung
des lokalen Takts sein.
- – Differenz
der Reaktionszeit bei Detektion des Synchronisierungsereignisses.
Selbst wenn die Reaktionszeit eine Dauer von 40 μsec oder mehr haben kann, beträgt die Differenz
der Reaktionszeit normalerweise weniger als 1 μsec. Auf diese Weise nähert sich
die Prozedur der sehr genauen Zeitsynchronisierung der theoretischen
Grenze (Lichtgeschwindigkeit) der Zeitverteilung über das LAN-Medium.
-
Der
Knoten, der den Tick (rund)sendet, kann der Hauptknoten oder einer
der Nebenknoten sein. 4 zeigt ein Signalisierungsdiagramm,
wonach ein Nebenknoten 44 einen Tick auf dem Netz (nicht dargestellt),
d. h. zu einem Hauptknoten 40 und anderen Nebenknoten 45 und 46 sendet.
Alle Nebenknoten 44 bis 46 empfangen den Tick
und registrieren die lokale Ankunftszeit des Tick. Beim Empfang eines
Tick vom Nebenknoten 44 sendet der Hauptknoten 40 die
die Ankunftszeit des Tick am Hauptknoten 40 enthaltende
Zeitmeldung an die Nebenknoten 44 bis 46. Die
Nebenknoten 44 bis 46 vergleichen die Tick-Ankunftszeit
in der Meldung mit der eigenen gespeicherten Tick-Ankunftszeit und
aktualisieren den lokalen Takt des Knotens mit der Differenz zwischen
der lokalen Ankunftszeit und der Ankunftszeit am Hauptknoten 40.
Bei einer Ausführungsform der
Erfindung wird einer der Nebenknoten aus einer Gruppe Nebenknoten
als Zeit-Unterhauptknoten 41 bestimmt, der sich selbst
mit dem Hauptknoten 40 mittels des erfindungsgemäßen Verfahrens
von 4 zyklisch synchronisiert. Mit anderen Worten, der
Unterhauptknoten 41 sendet einen Tick auf dem Netz. Sowohl
der Hauptknoten 40 als auch der Unterhauptknoten 41 empfangen
den Tick und registrieren die lokale Ankunftszeit des Tick. Beim
Empfang eines Tick vom Unterhauptknoten 41 sendet der Hauptknoten 40 die
die Ankunftszeit des Tick am Hauptknoten 40 enthaltende
Zeitmeldung an den Unterhauptknoten 41. Der Unterhauptknoten 41 vergleicht
die Ankunftszeit des Tick in der Meldung mit der eigenen gespeicherten
Tick-Ankunftszeit und aktualisiert den lokalen Takt des Knotens
mit der Differenz zwischen der lokalen Ankunftszeit und der Ankunftszeit
am Hauptknoten 40. Die anderen Nebenknoten 42 und 43 der
Gruppe werden mittels des erfindungsgemäßen Verfahrens sehr genau mit
dem Unterhauptknoten 41 synchronisiert. Im Einzelnen sendet
der Nebenknoten 43 beim dargestellten Beispiel einen Tick auf
einem Netz zum Unterhauptknoten 41 und zum anderen Nebenknoten 42.
Beide Nebenknoten 42 und 43 empfangen den Tick
und registrieren die lokale Ankunftszeit des Tick. Beim Empfang
eines Tick vom Nebenknoten 43 sendet der Unterhauptknoten 41 die
die Ankunftszeit des Tick am Unterhauptknoten 41 enthaltende
Zeitmeldung an die Nebenknoten 42 bis 43. Die
Nebenknoten 42 bis 43 vergleichen die Ankunftszeit
des Tick in der Meldung mit den eigenen gespeicherten Tick-Ankunftszeiten
und aktualisieren den lokalen Takt des Knotens mit der Differenz
zwischen der lokalen Ankunftszeit und der Ankunftszeit am Unterhauptknoten 41.
Diese Konfiguration senkt die Belastung des Hauptknotens aufgrund
der geringeren Anzahl zu verarbeitender Ticks weiter.
-
Wenn
die vom Nebenknoten initiierte Synchronisierung gemäß der Erfindung
angewendet wird, kann ein Nebenknoten, der die Synchronisierung
verloren hat, die Synchronisierung rascher wieder herstellen. Es
sei angenommen, dass der Nebenknoten 44 in 4 rückgesetzt
und dann hochgefahren wird. Wenn der Tick nur vom Hauptknoten 40 gesendet
wird, kann die Verzögerung
zwischen dem Hochfahren des Nebenknotens 44 und dem Empfang des
Ticks sowie der zugehörigen
Zeitmeldung vom Hauptknoten 40 am Nebenknoten 44 und
damit die Synchronisierung des Nebenknotens 44 relativ
lang sein. Wenn der Tick unmittelbar nach dem Reset vom Nebenknoten 44 gesendet
wird, z. B. am Ende der Hochfahrprozedur, wird die Synchronisierung
so bald wie möglich
erreicht, ohne dass der zyklische Synchronisierungszyklus des Hauptknotens
abgewartet werden muss.
-
Die
Zeichnungen und ihre Beschreibung sollen nur zur Veranschaulichung
der Idee der Erfindung dienen. Die Erfindung kann in Details innerhalb
des Gültigkeitsbereichs
der angefügten
Ansprüche
variieren.