AT513649A2 - Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung - Google Patents
Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung Download PDFInfo
- Publication number
- AT513649A2 AT513649A2 AT12232012A AT12232012A AT513649A2 AT 513649 A2 AT513649 A2 AT 513649A2 AT 12232012 A AT12232012 A AT 12232012A AT 12232012 A AT12232012 A AT 12232012A AT 513649 A2 AT513649 A2 AT 513649A2
- Authority
- AT
- Austria
- Prior art keywords
- time
- timer
- message
- synchronization
- clock
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims abstract description 27
- 230000001360 synchronised effect Effects 0.000 claims abstract description 11
- 230000000737 periodic effect Effects 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
Die vorliegende Erfindung legt ein innovatives Verfahren offen, wie in einem zeitgesteuerten verteilten Computersystem von einem Zeitgeber eine genaue Zeitbasis in den verteilten Komponenten des Systems bei einer minimalen Belastung der Komponenten und des Kommunikationssystems aufgebaut werden kann. Zu diesem Zweck werden neben den Nachrichtenkommunikationskanälen zwischen den Komponenten zusätzlich Zeitsignalleitungen realisiert. Der Uhrenstand wird von dem Zeitgeber mittels Synchronisationsnachrichten über das Nachrichtenkommunikationssystem den Endsystemen periodisch mitgeteilt. Der Uhrengang des Zeitgebers wird den Endsystemen durch periodische Zeitimpulse, die mit den Synchronisationsnachrichten synchronisiert sind, auf den zusätzlichen Zeitsignalleitungen übermittelt.
Description
Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung.
Zitierte Literatur
Patente: [I] US 5694542 Kopetz, H. Time-triggered communication control unit and communication method.
Granted December 2,1997.
[2J US 7,839,868. Kopetz, H. Communication method and System for the transmission of time-driven and event-driven Ethernet messages. Granted November 23,2010.
[3] US 8,089,991 Ungermann. Network and method for clock synchronization ofclusters in a time triggered network. Granted January 3,2012.
[4] US 8,018,950 Wu, et al. Systems and methods for distributing GPS clock to Communications devices. Granted September 13,2011.
[5] US 8,295,267 Akae et a.. Clock synchronization System, method and apparatus for communication. Granted October 23,2012.
[6] KR 20080093524 Hun et al.. Method and Apparatus for Synchronizing
Time in a communication System using GPS Information. Applied April 17,2007.
[7] US 8,130,014 Bogenberger, et al.. Network and method for setting a time base in a node in a network. Granted March 6,2012.
[8] US 7,114,091 Vrancic. Synchronization of Distributed Systems.
Granted Sept. 26.2006
Sonstige: [9] Hofmann-Wellenhof, B. et al. GNSS - Global Navigation Satellite Systems: GPS, GLONASS, Galileo, and more. Springer Verlag, 2007 [10] Kopetz, H. Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer Verlag. 2011.
[II] SAE Standard AS6802 von TT Ethernet. URL: http://standards.sae,org/as6802 [12] IEEE 1588 Standard for a Precision Clock Synchronization Protocol for Network Measurement and Control Systems. URL: http://www.ieeel588.com/ 2/14
Einreichkopie 16.11.2012
Technisches Umfeld
Die vorliegende Erfindung liegt im Bereich der Computertechnik. Sie beschreibt ein innovatives Verfahren wie in einem verteilten Echtzeitsystem in den Komponenten präzis synchronisierte lokale Computeruhren mit einer minimalen Belastung des Kommunikationssystems und der Komponenten aufgebaut werden können.
Beschreibung der Erfindung
Ein Cyber-Physical System (CPS) besteht aus einem physikalischen System (z.B. eine Maschine) und einem das physikalische System steuernde Computersystem. Da das Verhalten physikalischer Prozesse vom Fortschreiten der Echtzeit abhängt ist es vorteilhaft wenn auch im steuernden Computersystem des CPS eine Echtzeitbasis vorhanden ist.
Eine Echtzeitbasis ist gekennzeichnet durch eine Epoche, einer Granularität und einen Horizont. Die Epoche ist ein Ereignis, das den Anfang der Zeitzählung bestimmt. Die Granularität einer digitalen Uhr ist der Abstand zwischen zwei Ticks, gemessen durch eine Referenzuhr. Der Horizont ist ein zukünftiges Ereignis, dass das Ende einer linearen Zeitzählung angibt. Die Differenz zwischen Horizont und Epoche gibt die Dauer des Intervalls, den Uhrenzeitraum an während dessen eine lineare Zeitzählung mit einer gegebenen digitalen Uhr erfolgen kann. Der Quotient aus Uhrenzeitraum und Granularität gibt an, wie viele Uhrenticks im Uhrenzeitraum auftreten werden und bestimmt somit das Datenformat das notwendig ist, um die digitale Zeit, die Zeitwerte, in einer digitalen Uhr darzustellen. Die Epoche des unsere Zeitmessung bestimmenden Zeitstandards TAI (Temp Atomique Internationale) wurde von den internationalen Gremien mit 1.1.1958, 00:00 Uhr GMT (Greenwich Mean Time) festgelegt [10, p.57]. Das Satellitensystem GPS verteilt weltweit die auf dieser Epoche aufbauenden Zeitwerte der genormten physikalischen Sekunde mit einer Genauigkeit von besser als 100 nsec [9]. Im folgenden wird davon ausgegangen, dass eine Referenzuhr existiert, die mit dem Zeitstandard TAI über GPS synchronisiert ist.
In einem Computer wird eine Echtzeitbasis mittels einer digitalen physikalischen Uhr realisiert. Eine digitale physikalische Uhr besteht aus einem periodischen Schwingkreis, der die Taktrate der Uhr vorgibt, und einem Zeitregister das den Uhrenstand speichert. Eine physikalische Uhr setzt beim Startup (oder nach einem Reset) das Zeitregister auf Null und erhöht das Zeitregister nach jeder Schwingung um eins. Das Zeitintervall zwischen zwei Schwingungen des Schwingkreises einer Uhr, gemessen durch die Referenzuhr, wird als die Granularität der Uhr bezeichnet. Der Uhrengang ist das dem Verhältnis des Fortschreitens einer Uhr im Vergleich zum Fortschreiten der Referenzuhr. Eine ideale Uhr hat den Uhrengang eins. Eine nicht kalibrierte Computeruhr (auch freilaufende Uhr genannt) hat eine Ganggenauigkeit von ±10"2 bis 10'6 sec/sec. 3/14
Einreichkopie 16.11.2012
Ein verteiltes Computersystem besteht aus einer Anzahl von Komponenten (siehe [10, p.80]) die über Nachrichtenkanäle verbunden sind. Ein Nachrichtenkanal ermöglicht den Transport von Nachrichten von einer Sendekomponente über eine oder mehrere Nachrichtenverteilereinheiten zu einer oder mehreren Empfängerkomponenten. Eine Nachricht ist eine syntaktische Einheit, die einen Header, ein Datenfeld und einen Trailer beinhaltet, und die zu einem Zeitpunkt von einer Sendekomponente an eine oder mehrere Empfangskomponenten gesendet wird. Wenn der Zeitpunkt des Sendens einer periodischen Nachricht vom Fortscheiten der Zeit bestimmt wird, so bezeichnet man diese Nachricht als zeitgesteuerte Nachricht. Da das Auftreten von zeitgesteuerten Nachrichten vorhersehbar ist können Zeitpläne erstellt werden, die den konfliktfreien Transport von zeitgesteuerten Nachrichten innerhalb einer a priori bekannten Transportdauer sicherstellen.
Um in einem verteilten Computersystem eine globale Zeitbases in allen Komponenten aufzubauen ist es vorteilhaft, eine spezielle Komponente, einen Zeitgeber, vorzusehen. Ein Zeitgeber verfügt über eine genaue Uhr mit einer hohen Ganggenauigkeit, z.B. besser als ± 10'6 sec/sec. Ein Zeitgeber sendet periodisch (Periode P) Synchronisationsnachrichten an alle anderen Komponenten. Eine Synchronisationsnachricht ist eine Nachricht, die im Datenfeld den Zeitwert des Zeitgebers zum Sendezeitpunkt der Synchronisationsnachricht enthält. Wenn eine zu synchronisierende Komponente, ein Endsystem den genauen Zeitpunkt des Eintreffens einer Synchronisationsnachricht mit seiner lokalen Uhr aufzeichnet so kann das Endsystem den Zeitwert seiner lokale Uhr mit dem in der Synchronisationsnachricht enthaltenen Zeitwert, korrigiert um die bekannte Transportdauer zwischen Sender und Endsystem, festsetzen und somit seine Uhr mit der Uhr des Zeitgebers synchronisieren. Innerhalb einer Periode P läuft die lokale Uhr des Endsystems freilaufend mit der ihr eigenen Ganggenauigkeit.
Wenn die Periode P eine Synchronisationsnachricht eine Sekunde beträgt und der lokale Uhrengang ±10‘3 sec/sec beträgt, so kann am Ende der Sekunde (beim Eintreffen der nächsten Synchronisationsnachricht) ein Fehler von ±1000 psec im Zeitwert des Endsystems auftreten.
Dieser Fehler kann reduziert werden indem die Periode P der
Synchronisationsnachrichten verkürzt wird. Wenn man im obigen Beispiel den Fehler auf ±10 psec reduzieren will, so sind 100 zusätzliche Synchronisationsnachrichten pro Sekunde erforderlich. Dies führt zu einer erheblichen höheren Belastung des Kommunikationssystems durch den Transport dieser zusätzlichen Synchronisationsnachrichten. Wenn im Kommunikationssystem Ethernet Nachrichten [10] transportiert werden, so beträgt die minimale Länge einer Synchronisationsnachricht 512 bit, obwohl zur Lösung der gestellten Aufgabe nur das Eintreffen eines synchronisierten ein-bit Signals erforderlich wäre. Auch der CPU-Aufwand im Endsystem der durch die Verarbeitung der zusätzlichen Synchronisationsnachrichten entsteht ist beachtlich.
Erfindungsgemäß wird vorgeschlagen, vom Zeitgeber zusätzlich zu den Nachrichtenkanälen physikalische Zeitsignalleitungen an die Endsysteme zu legen. Auf diesen Zeitsignalleitungen werden vom Zeitgeber periodisch mit einer Periode p globale Zeitimpulse gesendet. Die Periode p wird viel kürzer gewählt als die Periode P. Diese globalen Zeitimpulse führen im Endsystem direkt (d.h., in der Hardware, ohne Einschaltung der CPU) zu der Erhöhung eines globalen Zeitregisters zur 4/14
Einreichkopie 16.11.2012
Speicherung der Zeitwerte. Ein Zeitregister ist ein Register in der Computerhardware, das einen Zeitwert beinhaltet.
Je nach der Art des Zeitregisters kann mit jedem Uhrentakt der Zeitwert im Zeitregister um eins erhöht werden, beim Auftreten eines Ereignisses (z.B. Eintreffen einer Nachricht) durch einen Hardwareprozess die aktuelle Zeit der Echtzeituhr in ein Zeitregister geschrieben werden oder es kann, falls die Echtzeituhr ein in einem Zeitregister enthaltener Zeitwert erreicht, eine Aktion des Rechners, z.B. das Senden einer Nachricht, direkt von der Hardware ausgelöst werden. Ein solches Ereignis, das direkt eine Aktion auslöst, wird als Trigger-signal bezeichnet.
Um den Zeitpunkt des Auftretens eines Ereignisses zu messen, wird dem auftretenden Ereignis ein Zeitwert, d.i. der Uhrenstand einer Uhr zum Zeitpunkt des Auftretens des Ereignisses zugeordnet. Einen solchen einem Ereignis zugeordneten Zeitwert bezeichnet man auch als Zeitstempel (time stamp) des Ereignisses. Die Granularität einer Uhr bestimmt den Digitalisierungsfehler des Zeitstempel eines Ereignisses.
Um den Digitalisierungsfehler eines Zeitstempels zu reduzieren wird vorgeschlagen einen Zeitstempel aus zwei Zeitwerten, die in zwei unabhängigen Zeitregistern verwaltet werden, aufzubauen: einem globalen Zeitwert der von den periodischen globalen Zeitimpulsen mit der Granularität p bestimmt wird und einem lokalen Zeitwert, der von der Granularität der lokalen Uhr der Komponente bestimmt wird. Beispielsweise kann der globale Zeitwert eine Granularität von 10 |isec, der lokale Zeitwert hingegen eine Granularität von 0.01 (isec aufweisen. Mit jedem globalen Zeitimpuls beginnt eine neue Epoche des lokalen Zeitwerts.
Erfindungsgemäß wird in einem Endsystem dem ausgezeichneten Zeitimpuls, der gleichzeitig mit einer über die Nachrichtenkanäle gesendeten Synchronisationsnachricht vom Zeitgeber auf den Zeitsignalleitungen gesendet wurde der in der Synchronisationsnachricht enthalte globale Zeitwert zugewiesen. Da die Synchronisationsnachricht gleichzeitig mit dem ausgezeichneten Zeitimpuls gesendet wird, ist es ausreichend, in der Synchronisationsnachricht nur den globalen Zeitwert anzugeben. Wird hingegen die Synchronisationsnachricht zu einem anderen Zeitpunkt gesendet, so müssen in der Synchronisationsnachricht der globale Zeitwert und der lokale Zeitwert des Sendezeitpunkts der Synchronisationsnachricht enthalten sein.
Da die Synchronisationsnachricht über eine oder mehrere Verteilereinheiten vom Zeitgeber an ein Endsystem transportiert wird, wird die Synchronisationsnachricht beim Endsystem später eintreffen als der gleichzeitig über die Zeitsignalleitung gesendete ausgezeichnete Zeitimpuls. Wenn die Transportdauer der Synchronisationsnachricht bekannt ist, so kann das Endsystem den ausgezeichnete Zeitimpuls, der gleichzeitig mit der Synchronisationsnachricht gesendet wurde, eindeutig identifizieren. Nach Eintreffen der Synchronisationsnachricht wird der in der Synchronisationsnachricht enthaltene globale Zeitwert, der den Sendezeitpunkt der Synchronisationsnachricht und des ausgezeichneten Zeitimpulses angibt, dem ausgezeichneten Zeitimpuls zugewiesen und anschließend wird der Wert des Zeitregisters um die Anzahl der Zeitimpulse erhöht, die im Intervall zwischen dem Eintreffen des ausgezeichneten Zeitimpulses und dem Eintreffen der Synchronisationsnachricht eingetroffen sind. In der Folge wird dieser Zeitwert 5/14
Einreichkopie 16.11.2012 periodisch mit der Periode p der folgenden Zeitimpulse erhöht bis die nächste Synchronisationsnachricht eintrifft.
Wenn die Synchronisationsnachricht in der unmittelbaren Umgebung eines Zeitimpulses eintrifft und nicht eindeutig zu entscheiden ist ob die Synchronisationsnachricht vor oder nach dem Zeitimpuls eingetroffen ist, so kann mit der Aktualisierung des globalen Zeitregisters gewartet werden, bis die unmittelbare Umgebung eines Zeitimpulses verlassen wurde.
Wenn nun im vorab zitierten Beispiel der Zeitgeber synchronisierte Zeitimpulse mit einer Frequenz von 100 kHz auf den Zeitsignalleitungen zu den Endsystemen sendet, so wird die beschränkte Ganggenauigkeit der lokalen Uhr eines Endsystems nur im Intervall von 10 psec, d.i., das Intervall zwischen zwei Zeitimpulsen, wirksam. Bei einem lokalen Uhrengang von ±10"3 sec/sec können somit lokale Zeitstempel mit einer Genauigkeit von ±0.01 psec generiert werden.
Zusammenfassung
Die vorliegende Erfindung legt ein innovatives Verfahren offen, wie in einem zeitgesteuerten verteilten Computersystem von einem Zeitgeber eine genaue Zeitbasis in den verteilten Komponenten des Systems bei einer minimalen Belastung der Komponenten und des Kommunikationssystems aufgebaut werden kann. Zu diesem Zweck werden neben den Nachrichtenkommunikationskanälen zwischen den Komponenten zusätzlich Zeitsignalleitungen realisiert. Der Uhrenstand wird von dem Zeitgeber mittels Synchronisationsnachrichten über das Nachrichtenkommunikationssystem den Endsystemen periodisch mitgeteilt. Der Uhrengang des Zeitgebers wird den Endsystemen durch periodische Zeitimpulse, die mit den Synchronisationsnachrichten synchronisiert sind, auf den zusätzlichen Zeitsignalleitungen übermittelt.
Kurze Beschreibung der Zeichnungen
Die vorliegende Erfindung wird an Hand der folgenden Zeichnung genau erklärt. Fig. 1 zeigt die Struktur eines verteilten Computersystems mit einem Zeitgeber. Fig. 2 zeigt den zeitlichen Ablauf der Synchronisation.
Fig. 3 zeigt die Struktur eines verteilten Computersystems mit einem Zeitgeber und einem Satellitenempfänger für externe Zeitsignale.
Fig. 4 zeigt die Struktur eines verteilten Computersystems mit einem fehlertoleranten Zeitgeber, bestehend aus vier inneren Komponenten.
Beschreibung einer Realisierung
Das folgende konkrete Beispiel behandelt eine der vielen möglichen Realisierungen des neuen Verfahrens.
Fig. 1 zeigt ein verteiltes Computersystem bestehend aus einem Zeitgeber 100 und drei Endsystemen 120, 121 und 122. Zwischen dem Zeitgeber 100 und den drei 6/14
Einreichkopie 16.11.2012
Endsystemen ist ein Nachrichtenkommunikationssystem bestehend aus den Nachrichtenkanälen 130 und der Vermittlungseinheit 110 angeordnet.
Der Zeitgeber 100 besitzt eine genaue physikalische Uhr, die die Zeitbasis für das Gesamtsystem vorgibt. Nach power-up oder reset des Zeitgebers beginnt eine neue Epoche, d.h. der Zeitwert dieser Uhr wird mit dem Wert Null initialisiert. Der Zeitgeber 100 sendet periodisch mit einer Periode P eine Synchronisationsnachricht über die Nachrichtenkanäle 130 an die drei Endsysteme. Der Zeitpunkt des Sendens einer Synchronisationsnachricht ist im Datenfeld der Nachricht enthalten. Der Zeitpunkt des Eintreffens einer Synchronisationsnachricht bei einem Endsystem kann von der Computerhardware des Endsystems direkt in einem Zeitregister festgehalten werden.
Zusätzlich zu den Nachrichtenkanälen 130 sind im verteilten Computersystem die Zeitsignalleitungen 140 zur Übertragung von Zeitimpulsen von dem Zeitgeber 100 zu den Endsystemen 120, 121 und 122 geführt. Auf diesen Zeitsignalleitungen 140 sendet der Zeitgeber 100 periodische (mit einer Periode p) Zeitimpulse. Die Periode p kann um eine Faktor 103 kürzer sein als die Periode P, die eine Sekunde betragen kann.
Erfindungsgemäß werden in einem Endsystem mindestens zwei Zeitregister geführt, ein globales Zeitregister dass bei Eintreffen eines Zeitimpulses inkrementiert wird und mit dem globalen Zeitwert des Zeitgebers 100 übereinstimmt und eine Granularität von p (der Periode der Zeitimpulse) aufweist und ein lokales Zeitregister, das von der lokalen Uhr des Endsystems aktualisiert wird und dessen Granularität von der Taktrate der lokalen Uhr bestimmt wird. Mit dem Empfang eines Zeitimpulses vom Zeitgeber 100 beginnt im Endsystem eine neue Epoche des lokalen Zeitregisters, d.h. nach dem Empfang eines Zeitimpulses wird das lokale Zeitregister im Endsystem auf Null gesetzt. Durch die Einführung eines lokalen Zeitregisters wird der Digitalisierungsfehler der Zeitmessung signifikant herabgesetzt.
Die Problematik der Gleichzeitigkeit von Ereignissen wird durch die Einführung einer sparse Zeit, wie in [10, p.62] ausführlich beschrieben, gelöst.
Es wird a priori (d.h. im Systementwurf) festgelegt, dass die Synchronisationsnachricht auf dem Kanal 130 zum gleichen Zeitpunkt den Zeitgeber 100 verlässt wie ein Zeitimpuls auf der Zeitsignalleitung 140. Der genaue Zeitpunkt des Eintreffens der Synchronisationsnachricht bei einem Empfänger, z.B. beim Endsystem 120, kann von dem Endsystem erfasst werden.
Wenn das Kommunikationssystem zwischen dem Zeitgeber 110 und einem Endsystem zeitgesteuert betrieben wird, so ist die Transportdauer einer Synchronisationsnachricht, d.i. das Zeitintervall zwischen dem Verlassen der Nachricht vom Zeitgeber 100 und dem Eintreffen der Nachricht beim Endsystem, a priori bekannt. Da die Transportdauer der Synchronisationsnachricht bekannt ist, kann das Endsystem dem identifizierten ausgezeichneten Zeitimpuls den im Datenfeld der Synchronisationsnachricht enthaltenen globalen Zeitwert der Uhr des Zeitgebers 100 zuweisen. Anschließend muss das Endsystem diesen Zeitwert um die Anzahl der Zeitimpulse, die im Intervall zwischen der Ankunft des ausgezeichneten Zeitimpulses und der Ankunft der Synchronisationsnachricht angekommen sind, erhöhen. In der Folge wird das globale Zeitregister des Endsystems mit jedem weiteren eintreffenden Zeitimpuls um eins erhöht. Damit ist die Zeit des Endsystems 7/14
Einreichkopie 16.11.2012 7 • · ···· ··
mit der Uhr des Zeitgebers 100 synchronisiert und die globale Zeit steht im globalen Zeitregister des Endsystems zur Verfügung.
Nach power-up oder reset eines Endsystems werden das lokale und das globale Zeitregister mit dem Wert Null initialisiert. Es wird gewartet, bis Zeitimpulse und eine Synchronisationsnachricht vom Zeitgeber 100 eintreffen, um die Zeitwerte in dem lokalen und globalen Zeitregister zu synchronisieren.
Wenn das Kommunikationssystem zwischen dem Zeitgeber 110 und den Endsystemen 120, 121 und 122 ereignisgesteuert betrieben wird, so ist die Transportdauer einer Synchronisationsnachricht, das ist das Zeitintervall zwischen dem Verlassen der Nachricht vom Zeitgeber 100 und dem Eintreffen der Nachricht beim Endsystem, a priori nicht bekannt, da die Synchronisationsnachricht in der Verteilereinheit beliebig verzögert werden kann. Im IEEE Standard 1588 wurde ein Verfahren standardisiert [12], das der Verteilereinheit 110 vorgibt, wie der in einer Synchronisationsnachricht enthaltene Zeitwert zu korrigieren ist um diese Verzögerung zu kompensieren. Wenn die Verteilereinheit 110 dieses Verfahren unterstützt, so ist auch in einem ereignisgesteuerten Kommunikationssystem die Synchronisation der Uhren möglich.
Fig. 2 veranschaulicht den zeitlichen Ablauf der Synchronisation. Die Abszisse 200 zeigt das Fortschreiten der Zeit. Die auf der Zeitsignalleitung 140 eintreffenden globalen Zeitimpulse 201 bis 207 sind auf der Abszisse eingetragen. Zum Zeitpunkt 210 verlassen ein Zeitimpuls und die Synchronisationsnachricht 220 gleichzeitig den Zeitgeber 100. Der Zeitimpuls trifft sofort, d.i. zum Zeitpunkt 203 beim Endsystem eine. Die Synchronisationsnachricht 220 wird im Kommunikationssystem verzögert und trifft erst zum Zeitpunkt 230, d.i. im Intervall zwischen den Zeitimpulsen 205 und 206 beim Endsystem ein. Da dem Endsystem die Transportdauer 240 der Synchronisationsnachricht 220 a priori bekannt ist (das ist die Dauer zwischen den Ereignissen 210 und 230) kann das Endsystem den ausgezeichneten Zeitimpuls 203 eindeutig identifizieren und weist diesem Zeitimpuls den in der Synchronisationsnachricht 220 enthaltenen globalen Zeitwert zu. Anschließend muss das Endsystem diesen Zeitwert um 2 erhöhen, da in im Intervall (203,230) zwei Zeitimpulse vom Zeitgeber 140 eingetroffen sind.
In Fig. 3 ist zusätzlich zu den Komponenten der Fig. 1 ein GPS Signalempfänger 300 ersichtlich der über die Leitung 310 mit dem Zeitgeber verbunden ist. Dieser Signalempfänger 300 empfängt die GPS Signale und ermöglicht es dem Zeitgeber 100, seine Uhr mit der GPS Zeit zu synchronisieren [9].
Fig. 4 zeigt einen fehlertoleranten Zeitgeber 400, indem die vier inneren Komponenten 410, 420, 430 und 440 enthalten sind. Jede dieser inneren Komponenten hat eine eigene physikalische Uhr. Die vier Uhren tauschen über den redundanten Bus 450 periodisch ihren Uhrenstand aus und errechnen mittels eines fehlertoleranten Algorithmus, wie er in [10, p.69] beschrieben ist, eine fehlertolerante globale Zeit. Je zwei dieser inneren Komponenten (410 und 430, bzw. 420 und 440) bilden eine selbstprüfende (self-checking) Uhr, die entweder richtige oder keine Zeitimpulse sendet. Jede dieser selbstprüfenden Uhren sendet über die redundanten Zeitsignalleitungen 480 einen redundanten Zeitimpuls an die Endsysteme. In einem fehlertoleranten System wird auch das Kommunikationssystem mit den Kommunikationskanälen 130 und der Verteilereinheit 110 redundant ausgeführt sein. 8/14
Einreichkopie 16.11.2012
Erfindungsgemäß können alle in Fig.l angeführten Komponenten, Nachrichtenkanäle, Vermittlungseinheiten und Zeitimpulsleitungen auf einer Leiterplatte implementiert werden. Auf einer solchen Leiterplatte sind die Zeitsignalleitungen als Leiterbahnen ausgeführt.
Die Struktur der Synchronisationsnachricht kann dem TT-Ethernet Standard der SAE [11] entsprechen.
Im Rahmen einer Patentrecherche zum Thema Uhrensynchronisation in verteilten Echtzeitsystemen wurden die Patente [1] bis [8] genau analysiert. In keinem dieser Patentschriften wurde ein dem beschriebenen Verfahren auch nur annähem ähnliches Verfahren gefunden.
Das hier veröffentlichte Synchronisationsverfahren ist von großer wirtschaftlicher Bedeutung, da es das Kommunikationssystem und die Endsysteme wesentlich entlastet und eine sehr genaue Uhrensynchronisation realisiert. 9/14
Einreichkopie 16.11.2012
Claims (18)
- 9Patentansprüche 1. Verfahren zur Synchronisation von Komponenten im einem verteilten Echtzeitsystem, wobei die Komponenten über ein Nachrichtenkommunikationssystem bestehend aus Nachrichtenkanäle und Vermittlungseinheiten Informationen austauschen, und wo ein Zeitgeber Synchronisationsnachrichten, die den Uhrenstand beinhalten, an die zu synchronisierenden Endsysteme sendet dadurch gekennzeichnet, dass der Zeitgeber zusätzlich zu den periodischen Synchronisationsnachrichten mit der Periode P auf separaten Zeitsignalleitungen, die vom Zeitgeber zu den Endsystemen führen, globale Zeitimpulse mit einer Periode p sendet, wobei die Periode p viel kürzer ist als die Periode P, und wo ein Endsystem ein globales Zeitregister verwaltet und einem ausgezeichneten globalen Zeitimpuls, der gleichzeitig mit der über die Nachrichtenkanäle gesendeten Synchronisationsnachricht vom Zeitgeber auf den Zeitsignalleitungen gesendet wurde, und der aufgrund der a priori bekannten Transportdauer der Synchronisationsnachricht eindeutig identifiziert werden kann, unmittelbar nach dem Empfang der Synchronisationsnachricht den globalen Zeitwert zuweist, der sich aus der Summe des in der Synchronisationsnachricht enthaltenen globalen Zeitwerts und der Anzahl der seit dem Eintreffen des ausgezeichneten Zeitimpulses empfangenen globalen Zeitimpulse ergibt, und wo in der Folge der Inhalt dieses globalen Zeitregisters beim Eintreffen jedes weiteren auf der Zeitsignalleitung empfangenen globalen Zeitimpulses um eins erhöht wird.
- 2. Verfahren nach Anspruch (1) dadurch gekennzeichnet, dass im Falle dass die Synchronisationsnachricht nicht gleichzeitig mit einem Zeitimpuls gesendet wird, im Datenfeld der Synchronisationsnachricht der globale Zeitwert und der lokale Zeitwert des Sendezeitpunkts der Synchronisationsnachricht enthalten sind.
- 3. Verfahren nach Anspruch (1) dadurch gekennzeichnet, dass beim Eintreffen eines globalen Zeitimpulses vom Zeitgeber auf der Zeitsignalleitung das Endsystem ein lokales Zeitregister auf Null setzt und in der Folge bis zum Eintreffen des nächsten Zeitimpulses dieses lokale Zeitregister bei jedem Tick der lokalen Uhr des Endsystems um eins erhöht.
- 4. Verfahren nach einem oder mehreren der Ansprüche (1) bis (3) dadurch gekennzeichnet, dass das Trigger-signal zum Senden der Synchronisationsnachricht direkt vom Zustand eines Zeitregister in der Hardware des Zeitgebers abgeleitet wird.
- 5. Verfahren nach einem oder mehreren der Ansprüche (1) bis (4) dadurch gekennzeichnet, dass das Trigger-signal zum Senden der Zeitimpulse direkt vom Zustand eines globalen Zeitregisters in der Hardware des Zeitgebers abgeleitet wird.
- 6. Verfahren nach einem oder mehreren der Ansprüche (1) bis (5) dadurch gekennzeichnet, dass die Synchronisationsnachrichten über zeitgesteuerte 10/14 Einreichkopie 16.11.2012 Kommunikationskanäle mit a priori bekannten Transportdauer vom Zeitgeber an die Endsysteme gesendet wird.
- 7. Verfahren nach einem oder mehreren der Ansprüche (1) bis (6) dadurch gekennzeichnet, dass die Synchronisationsnachricht dem TT-Ethernet Format entspricht.
- 8. Verfahren nach einem oder mehreren der Ansprüche (1) bis (7) dadurch gekennzeichnet, dass der in der Synchronisationsnachricht enthaltene Zeitwert von einer Vermittlungseinheit um die in der Vermittlungseinheit zugebrachte Verweildauer entsprechend dem IEEE 1588 Standard erhöht wird.
- 9. Verfahren nach einem oder mehreren der Ansprüche (1) bis (8) dadurch gekennzeichnet, dass der Zeitgeber seine Uhr mit der GPS Zeit synchronisiert.
- 10. Verfahren nach einem oder mehreren der Ansprüche (1) bis (9) dadurch gekennzeichnet, dass der Zeitgeber auf seinen vier inneren Komponenten einen fehlertoleranten Uhrensynchronisationsalgorithmus aus ausführt.
- 11. Apparat zur Synchronisation von Komponenten im einem verteilten Echtzeitsystem, wobei die Komponenten über ein Nachrichtenkommunikationssystem bestehend aus Nachrichtenkanälen und Vermittlungseinheiten Informationen austauschen, und wo ein Zeitgeber Synchronisationsnachrichten, die den Uhrenstand beinhalten, an die zu synchronisierenden Endsysteme sendet dadurch gekennzeichnet, dass vom Zeitgeber Zeitsignalleitungen zur Übertragung von Zeitimpulsen zu den Endsystemen führen.
- 12. Apparat nach Anspruch (11) dadurch gekennzeichnet, dass der Zeitgeber, die Zeitsignalleitungen, die Komponenten des verteilten Systems, die Nachrichtenkanäle und die Vermittlungseinheiten auf einer Leiterplatte angeordnet sind und die Zeitsignalleitungen als Leiterbahnen auf der Leiterplatte ausgeführt sind.
- 13. Apparat nach Anspruch (11) dadurch gekennzeichnet, dass im Endsystem der ankommenden Zeitsignalleitung ein Zeitregister der Hardware zugeordnet ist in dem der Zeitpunkt des Eintreffens eines Zeitimpulses festgehalten wird.
- 14. Apparat nach einem oder mehreren der Ansprüche (11) bis (13) dadurch gekennzeichnet, dass im Endsystem dem Nachrichtenkanal, der die Synchronisationsnachrichten überträgt, ein Zeitregister der Hardware zugeordnet ist, in dem der Zeitpunkt des Eintreffens des Beginns einer Synchronisationsnachricht festgehalten wird.
- 15. Apparat nach einem oder mehreren der Ansprüche (11) bis (14) dadurch gekennzeichnet, dass im Zeitgeber dem Nachrichtenkanal, der die Synchronisationsnachrichten überträgt, ein Zeitregister der Hardware zugeordnet ist, in dem der Zeitpunkt des Sendens der Synchronisationsnachrichten festgehalten wird.
- 16. Apparat nach einem oder mehreren der Ansprüche (11) bis (15) dadurch gekennzeichnet, dass im Zeitgeber der ausgehenden Zeitsignalleitung ein 11/14 Einreichkopie 16.11.2012 Zeitregister der Hardware zugeordnet ist, in dem der Zeitpunkt des Sendens eines Zeitimpulses festgehalten wird.
- 17. Apparat nach einem oder mehreren der Ansprüche (11) bis (16) dadurch gekennzeichnet, dass der Zeitgeber aus zwei selbstprüfenden Uhren besteht, wobei jede selbstprüfende Uhr über zwei innere Komponenten verfügt und wo von jeder selbstprüfenden Uhr eine Zeitsignalleitung an jedes Endsystem geführt wird.
- 18. Apparat zur Synchronisation von Komponenten im einem verteilten Echtzeitsystem, wobei die Komponenten über ein Nachrichtenkommunikationssystem bestehend aus Nachrichtenkanälen und Vermittlungseinheiten Informationen austauschen, und wo ein Zeitgeber Synchronisationsnachrichten, die den Uhrenstand beinhalten, an die zu synchronisierenden Endsysteme sendet dadurch gekennzeichnet, dass der Apparat einen oder mehrere der in den Ansprüchen (1) bis (10) beschriebenen Verfahrensschritte durchführt. 12/14 Einreichkopie 16.11.2012
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ATA1223/2012A AT513649A3 (de) | 2012-11-16 | 2012-11-16 | Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ATA1223/2012A AT513649A3 (de) | 2012-11-16 | 2012-11-16 | Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| AT513649A2 true AT513649A2 (de) | 2014-06-15 |
| AT513649A3 AT513649A3 (de) | 2015-12-15 |
Family
ID=50885070
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ATA1223/2012A AT513649A3 (de) | 2012-11-16 | 2012-11-16 | Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung |
Country Status (1)
| Country | Link |
|---|---|
| AT (1) | AT513649A3 (de) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE20121466U1 (de) * | 2001-07-26 | 2003-02-27 | Bayerische Motoren Werke AG, 80809 München | Taktsynchronisation in einem verteilen System |
| AT501510B1 (de) * | 2004-07-19 | 2009-05-15 | Univ Wien Tech | Dezentrale fehlertolerante taktgenerierung in vlsi chips |
| WO2008139275A1 (en) * | 2007-05-11 | 2008-11-20 | Freescale Semiconductor, Inc. | System and method for secure real time clocks |
-
2012
- 2012-11-16 AT ATA1223/2012A patent/AT513649A3/de not_active Application Discontinuation
Also Published As
| Publication number | Publication date |
|---|---|
| AT513649A3 (de) | 2015-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69731749T2 (de) | Verfahren und vorrichtung zur synchronisation von zeitmarkierungen | |
| DE60128648T2 (de) | Verfahren, Vorrichtung und Anlage zur GPS-Zeitsynchronisation mittels zellularem Signalburst | |
| DE69228376T2 (de) | Verfahren zur messung der kanalverzögerung | |
| EP1720022B1 (de) | Zeitlich synchronisiertes Messsystem und Verfahren zum zeitlichen Synchronisieren von mindestens einer Master- und einer Slave-Vorrichtung | |
| DE112012004025B4 (de) | Systeme und Verfahren, die randomisierte Taktfrequenzen verwenden, um systematische Zeitstempel-Granularitätsfehler in Netzwerk-Paketkommunikationen zu verringern | |
| EP2434674B1 (de) | Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz | |
| EP3155736B1 (de) | Verfahren zum übertragen von zeitsynchronisationsnachrichten in einem kommunikationsnetzwerk, netzwerkkomponente und kommunikationsnetzwerk | |
| AT512290B1 (de) | Verfahren zur zeitrichtigen beobachtung von ttethernet nachrichten | |
| DE102006012466A1 (de) | Systeme und Verfahren zum Synchronisieren einer Zeit über Netze hinweg | |
| DE102019104384A1 (de) | Erzeugen eines Zeitstempels | |
| DE102012216192A1 (de) | Verfahren zum Synchronisieren von Netzwerkteilnehmern in einem Bordnetz eines Fahrzeuges | |
| DE102007044470A1 (de) | Mechanismus, um eine Verzögerung von Netzwerkelementen transparent für IEEE-1588-Protokolle zu machen | |
| DE102006019475B4 (de) | Verfahren zur Synchronisation von Baugruppen einer Basisstation | |
| DE102018121389B4 (de) | Bussystem | |
| EP2534775A1 (de) | Verfahren zur zeitsynchronisation in einem kommunikationsnetz | |
| DE112021002267T5 (de) | System und verfahren zum synchronisieren von knoten in einer netzwerkvorrichtung | |
| DE10210711A1 (de) | Verfahren zur Zeitsynchronisation von zumindest zwei miteinander über ein Telekommunikationsnetz, wie Internet, Intranet oder dergleichen, zusammenwirkenden Messrechnern | |
| EP3123643B1 (de) | Verfahren and vorrichtungen zur fehlertoleranten uhrensynchronisation in drahtlosen time-triggered netzwerken | |
| EP1639758B1 (de) | Verfahren und vorrichtung zum austausch von daten über ein bussystem | |
| EP3049932A1 (de) | Verfahren zum erkennen eines ausfalls eines constituent-systems in einem system-of-systems | |
| EP2801174A1 (de) | Verfahren und vorrichtung zur konsistenten änderung der zeitpläne in einer zeitgesteuerten vermittlung | |
| EP4559152A2 (de) | Synchronisiertes datennetzwerk-system und verfahren zum initialisieren sowie zum synchronisieren desselben | |
| AT513649A2 (de) | Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit einer Zeitsignalleitung | |
| AT513650A2 (de) | Methode und Apparat zur präzisen Uhrensynchronisation in einem verteilten Computersystem mit zwei Zeitsignalleitungen | |
| EP1079559A2 (de) | Verfahren und Anordnung zur Synchronisation von Systemeinheiten |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| REJ | Rejection |
Effective date: 20160515 |