DE10053525A1 - Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung - Google Patents

Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung

Info

Publication number
DE10053525A1
DE10053525A1 DE10053525A DE10053525A DE10053525A1 DE 10053525 A1 DE10053525 A1 DE 10053525A1 DE 10053525 A DE10053525 A DE 10053525A DE 10053525 A DE10053525 A DE 10053525A DE 10053525 A1 DE10053525 A1 DE 10053525A1
Authority
DE
Germany
Prior art keywords
global time
course
participants
event
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10053525A
Other languages
English (en)
Other versions
DE10053525B4 (de
Inventor
Thomas Fuehrer
Bernd Mueller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10053525A priority Critical patent/DE10053525B4/de
Priority to US10/021,460 priority patent/US7200766B2/en
Publication of DE10053525A1 publication Critical patent/DE10053525A1/de
Application granted granted Critical
Publication of DE10053525B4 publication Critical patent/DE10053525B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0676Mutual
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • H04J3/0655Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps

Abstract

Verfahren und System zur Synchronisation wenigstens zweier Teilnehmer, wobei jeder zu synchronisierende Teilnehmer einen eigenen Zeitgeber enthält und die Teilnehmer über wenigstens eine Kommunikationsverbindung in Verbindung stehen, wobei wenigstens ein Ereignis zur Synchronisation auf der Kommunikationsverbindung übermittelt wird, wobei ein erster Teilnehmer abhängig von dem Ereignis eine erste globale Zeit ermittelt und wenigstens ein zweiter Teilnehmer abhängig von dem Ereignis eine zweite globale Zeit ermittelt, wobei die wenigstens erste und zweite globale Zeit auf der Kommunikationsverbindung durch die entsprechenden Teilnehmer übermittelt werden und jeder zu synchronisierende Teilnehmer aus der wenigstens ersten und zweiten globalen Zeit eine allgemeine globale Zeit ermittelt und den enthaltenen Zeitgeber mit der allgemeinen globalen Zeit synchronisiert.

Description

Stand der Technik
Die Erfindung betrifft ein Verfahren und ein System zur Synchronisation wenigstens zweier Teilnehmer, wobei jeder zu synchronisierende Teilnehmer einen eigenen Zeitgeber enthält und die Teilnehmer über wenigstens eine Kommunikationsverbindung in Verbindung stehen gemäß den Oberbegriffen der unabhängigen Ansprüche.
Als Stand der Technik in der automobilen Vernetzung wird seit einigen Jahren das CAN-Protokoll eingesetzt. Die Kommunikation ist dort ereignisgesteuert geregelt. Sehr große Lasten können erzeugt werden, wenn das Senden verschiedener Nachrichten zur gleichen Zeit initiiert werden soll. Der nicht-destruktive Arbitrierungsmechanismus von CAN garantiert, daß sequentielle Senden aller Nachrichten gemäß der Priorität ihrer Identifier bzw. Kennungen. Für harte Echtzeitsysteme muß vorab eine Analyse der Laufzeiten und Buslasten für das gesamte System gemacht werden, um sicher zu gehen, daß alle Nachrichten-Deadlines eingehalten werden können (selbst unter Spitzenbelastung).
Soll ein solches System zeitgesteuert betrieben werden, wie in der noch nicht veröffentlichten deutschen Patentanmeldung 100 00 303.6 gezeigt, wird beispielsweise ein erster Teilnehmer in einer Funktion als Zeitgeber die Nachrichten zeitlich derart steuern, dass er wiederholt eine Referenznachricht, die eine Zeitinformation bezüglich der Zeitbasis des ersten Teilnehmers enthält, in einem vorgebbaren zeitlichen Abstand über den Bus überträgt, wobei ein wenigstens zweiter Teilnehmer mittels seiner Zeitbasis eine eigene Zeitinformation abhängig von der Zeitinformation des ersten Teilnehmers bildet, wobei aus den beiden Zeitinformationen ein Korrekturwert ermittelt wird und der zweite Teilnehmer seine Zeitinformation und/oder seine Zeitbasis abhängig von dem Korrekturwert anpasst.
Neben einer solchen Master-Synchronisation werden weitere Synchronisationsmechanismen eingesetzt.
So gibt es bereits Kommunikationsprotokolle, die auf einer zeitgesteuerten Abarbeitung basieren, wie z. B. TTP/C oder Interbus-S. Die Besonderheit hierbei ist, daß der Buszugriff bereits vorab durch Vergabe von Sendezeitpunkten geplant wird. Bei einer solchen impliziten Synchronisation wird somit ein Fahrplan aus Sendezeitpunkten vorgegeben, an welchen die Teilnehmer gebunden sind. Es wird also beim TTP/C-Protokoll die Zeitinformation durch Zuordnung der Kommunikationsobjekte zur globalen Zeit nach Fahrplan und entsprechenden Abgleich der lokalen Zeit der einzelnen Teilnehmer verteilt.
Während der Laufzeit kann es somit zu keinen Kollisionen kommen. Ebenso wird aber eine Spitzenlast am Kommunikationsbus vermieden. Dabei ist der Bus also häufig nicht vollständig ausgelastet.
So zeigt sich, dass der Stand der Technik nicht in jeder Hinsicht optimale Ergebnisse zu liefern vermag.
So soll in einem verteilten System ein Verfahren zur Synchronisation von Uhren bzw. interner Zeitgeber vorgestellt werden, welches sehr robust gegen viele unterschiedliche Fehlermechanismen ist und trotzdem eine sehr hohe Synchronisationsqualität ermöglicht.
Vorteile der Erfindung
Die Erfindung geht aus von einem Verfahren und einem System zur Synchronisation wenigstens zweier Teilnehmer, wobei jeder zu synchronisierende Teilnehmer einen eigenen Zeitgeber enthält und die Teilnehmer über wenigstens eine Kommunikationsverbindung in Verbindung stehen, wobei wenigstens ein Ereignis zur Synchronisation auf der Kommunikationsverbindung übermittelt wird.
Vorteilhafter Weise ermittelt ein erster Teilnehmer abhängig von dem Ereignis eine erste globale Zeit und wenigstens ein zweiter Teilnehmer abhängig von dem Ereignis eine zweite globale Zeit. Die jeweils ermittelte erste und zweite globale Zeit wird dann auf der Kommunikationsverbindung durch die entsprechenden Teilnehmer übermittelt, wobei jeder zu synchronisierende Teilnehmer aus der wenigstens ersten und zweiten globalen Zeit eine allgemeine globale Zeit ermittelt und den enthaltenen Zeitgeber mit der allgemeinen globalen Zeit synchronisiert.
Da damit die globale Zeit explizit genau auf dem Bus bzw. der Kommunikationsverbindung sichtbar ist, benötigt man keine implizite Information über den Kommunikationsfahrplan.
Weiterhin von Vorteil ist, dass das wenigstens eine Ereignis wiederholt auf der Kommunikationsverbindung übermittelt wird, wodurch sich ein solches Synchronisationsverfahren auch in nicht zeitgesteuerten Systemen verwenden lässt.
Zweckmäßigerweise sind Schnittstellen für eine externe Uhrensynchronisation automatisch enthalten.
Vorteilhafter Weise ermittelt jeder zu synchronisierende Teilnehmer die allgemeine globale Zeit in gleicher Weise.
Als Schutz gegen Fehler ist neben dem erfindungsgemäßen Verfahren bzw. Algorithmus auch noch der Datensicherungsmechanismus auf dem Bus, d. h. extreme Fehlersicherheit und -toleranz möglich.
Gegenüber einer genannten Impliziten Lösung sind die Controllerkosten teilweise deutlich geringer, da eine aufwendige Fahrplangenerierung und -überwachung entfällt, wobei die entstehende Bandbreitenreduzierung gegenüber dem impliziten System bei modernen Medien im Rahmen der Kommunikationsverbindung so gering ausfällt, dass diese zu keinen Funktionseinschränkungen führt.
Vorteilhafter Weise wird zusätzlich der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit zwischen zwei Ereignissen und der Verlauf der allgemeinen globalen Zeit im ersten und/oder wenigstens zweiten Teilnehmer einander angenähert, insbesondere einander angeglichen.
Damit sind Alterungs- und Temperatureinflüsse und sonstige derartige Fehler- bzw. Abweichungsursachen problemlos kompensierbar.
In einer vorteilhaften Ausgestaltung steht eine erste Anzahl zu synchronisierender Teilnehmer über eine Kommunikationsverbindung in Verbindung und diese ermitteln je eine globale Zeit, wobei eine zweite Anzahl zu synchronisierender Teilnehmer die jeweilige globale Zeit auf der Kommunikationsverbindung übermittelt und die zweite Anzahl kleiner als die erste Anzahl ist. Dadurch ist die Buslast deutlich reduzierbar, da nicht jeder zu sychronisierende Teilnehmer seine globale Zeit auf den Bus legen muß und eine optimierbare, vorgebbare Zahl an Teilnehmern diesebezüglich auswählbar ist.
In einer weiteren Vorteilhafte Ausgestaltung wird aus dem Verlauf der ersten und/oder wenigstens zweiten globalen Zeit und dem Verlauf der allgemeinen globalen Zeit eine Korrekturgröße ermittelt mit welcher der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit dem Verlauf der allgemeinen globalen Zeit angenähert, insbesondere angeglichen, wird, wobei für die Korrekturgröße ein Maximalwert und/oder ein Minimalwert vorgegeben wird.
Eine weitere vorteilhafte Ausgestaltung sieht vor dass statt des Verlaufs der ersten und/oder wenigstens zweiten globalen Zeit ein unterschiedlicher Verlauf vorgegeben wird und aus dem unterschiedlichen Verlauf und dem Verlauf der allgemeinen globalen Zeit eine Korrekturgröße ermittelt wird, mit welcher der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit dem Verlauf der allgemeinen globalen Zeit angenähert wird.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Ansprüchen und der Beschreibung.
Zeichnung
Die Erfindung wird im Weiteren anhand der in der Zeichnung dargestellten Figuren näher erläutert. Dabei zeigt
Fig. 1 schematisch ein Bussystem bzw. eine Kommunikationsverbindung mit mehreren Teilnehmern.
In Fig. 2 ist der zeitliche Ablauf des Verfahrens dargestellt.
Dieses Verfahren bzw. der Synchronisationsalgorithmus sowie optionale Ausgestaltungen werden noch einmal in Fig. 3 in einem Flussdiagramm veranschaulicht.
In Fig. 4, bestehend aus Fig. 4a und 4b, wird die Korrektur der lokalen globalen Zeit eines Teilnehmers auf die allgemeine globale Zeit dargestellt.
Beschreibung der Ausführungsbeispiele
Fig. 1 zeigt ein Bussystem 100 mit mehreren Busteilnehmern 101 bis 104. Jeder Teilnehmer 101 bis 104 besitzt dabei einen eigenen Zeitgeber 105 bis 108, die durch ein internes Mittel, wie eine Uhr, Zähler, Taktgenerator, etc. dargestellt werden. Dabei kann nun jeder ausgewählte Teilnehmer ein Ereignis auf dem Bussystem 100 bzw. der Kommunikationsverbindung übertragen, durch welches ausgelöst die einzelnen Teilnehmer jeweils eine eigene Globale Zeit Gi zu diesem Ereignis ermitteln also jeweils eine eigene Sicht auf die Globale Zeit G des Systems. Dabei können neben einem Bus also einer einzelnen Kommunikationsverbindung auch mehrere Busse eingesetzt werden, z. B. aus Redundanzgründen zwei. Dabei muß nicht jeder Teilnehmer wie dargestellt mit jedem Bus verbunden sein. Die Globale Zeit kann für jeden Bus und einen Abgleich der mit beiden Bussen verbundenen Teilnehmer 101 und 103 ermittelt werden.
Fig. 2 zeigt den prinzipiellen Ablauf des Synchronisationsverfahrens. Zunächst wird ein Ereignis auf der Kommunikationsverbindung übermittelt. Dieses Ereignis kann beispielsweise von einem Teilnehmer der Kommunikationsverbindung ausgelöst sein. Dieses Ereignis ist beispielsweise, wie in Fig. 2 dargestellt, ein Synchronisationspuls SP. Dieser kann als reiner Impuls ausgelegt sein oder auch als steigende oder fallende Flanke eines Signals. Dabei kann ein explizit dafür vorgesehenes Signal übermittelt werden oder auch die Flanke eines vorgebbaren bzw. auswählbaren binären Signals, welches beispielsweise in einer Nachricht oder Botschaft auf dem Kommunikationssystem auf der Kommunikationsverbindung übermittelt wird. Ausgelöst durch dieses Ereignis senden nun bestimmte Teilnehmer jeweils eine zu diesem Ereignis ermittelte globale Zeit auf der Kommunikationsverbindung. Dabei sollten wenigstens zwei globale Zeiten Gi durch die Teilnehmer auf dem Kommunikationssystem übermittelt werden. Es müssen aber nicht alle Teilnehmer, die über die Kommunikationsverbindung in Verbindung stehen bzw. nicht alle zu synchronisierenden Teilnehmer, jeweils eine eigene globale Zeit auf dem Bussystem übermitteln.
Allerdings erfassen alle zu synchronisierenden Teilnehmer alle auf der Kommunikationsverbindung übermittelten globalen Zeiten Gi, um daraus jeweils eine allgemeine globale Zeit G zu ermitteln. Dies kann beispielsweise durch Mittelwertbildung mit oder ohne Streichung von Extremwerten oder Ähnlichem geschehen. Verwenden dabei alle zu synchronisierenden Teilnehmer das gleiche Verfähren zum Bilden der jeweiligen allgemeinen globalen Zeit, so ist davon im schlimmsten Fall innerhalb geringfügiger Toleranzen davon auszugehen, dass die jeweils ermittelte allgemeine globale Zeit der einzelnen Teilnehmer zum Zeitpunkt t3 übereinstimmt. Diese ermittelte allgemeine globale Zeit ist aber dann auf den Zeitpunkt t1 des Ereignisses bezogen.
Durch einen Vergleich (z. B. Differenzbildung, Quotientenbildung, etc.) der eigenen globalen Zeit Gi bezogen auf t1 im Zeitpunkt t3 mit der ermittelten allgemeinen globalen Zeit G, welche für den Zeitpunkt t1 gilt, kann eine Abweichung der globalen Zeit Gi jedes Teilnehmers zu der jeweiligen allgemeinen globalen Zeit G ermittelt werden. Mit Hilfe dieser Abweichung kann bei einem neuen Ereignis im Zeitpunkt t3 mit Hilfe einer aus der Abweichung ermittelten Korrekturgröße eine angeglichene bzw. angenäherte neue eigene globale Zeit Gi ermittelt werden, in welcher Fehlereffekte berücksichtigt sind.
Die Ermittlung der eigenen globalen Zeit muss nicht durch ein erneutes Ereignis ausgelöst sein, sondern kann auch beispielsweise nach einem vorgebbaren Abstand t oder auch einfach abfolgend ermittelt werden. Werden aber Ereignisse, speziell wiederholte Ereignisse, als Auslöser für eine Korrekturrechnung benutzt, so wird damit die im jeweiligen Teilnehmer vorhandene eigene globale Zeit der allgemeinen globalen Zeit der Kommunikationsverbindung mit allen Teilnehmern angenähert. Durch dieses quasi "Regelverfahren" der Anpassung der einzelnen globalen Zeiten kann eine optimale Synchronisation mit den vorher erwähnten Vorteilen erzielt werden.
Dies soll noch einmal im folgenden Flussdiagramm in Fig. 3 näher erläutert werden:
Im folgenden wird der Ablauf des Synchronisationsalgorithmus einschließlich der benötigten Voraussetzungen beschrieben.
Zunächst erfolgt in Block 300 eine Definition eines auf dem Bus sichtbaren Ereignisses. Ein solches Ereignis ist notwendig, entscheidend ist eine klare Definition dieses Ereignisses, die jeder Teilnehmer bzw. Controller überprüfen kann. Zur Abkürzung wird dieses Ereignis wie oben SP genannt.
Wichtig ist, dass alle Controller dieses Ereignis gleichzeitig wahrnehmen. Die Qualität der "Gleichzeitigkeit" beeinflusst direkt die Qualität der resultierenden Synchronisation. Die Gleichzeitigkeit kann auch rechnerisch hergestellt werden indem Laufzeiten, Wandlungszeiten oder ähnliche bekannte Einflussgrößen berücksichtigt werden.
Beispiele für ein solches Ereignis sind:
Ein speziell dafür eingerichteter Synchronisationspuls.
Ein bestimmtes bit (oder ein spezieller Teil davon) einer bestimmten Nachricht.
Ein bestimmtes bit (oder ein spezieller Teil davon) der ersten (zweiten,. .) Nachricht nach einem bestimmten Ereignis.
Dabei ist zu beachten, dass schon durch die Definition des Ereignisses Fehlertoleranz in das System hineindesignt werden kann.
Dabei ist sicherzustellen dass das Ereignis oft genug kommt, wobei es nicht notwendig ist, dass dies periodisch geschieht.
Ebenso muß das Ereignis nicht immer gleichen Teilnehmer kommen. Wie oft das Ereignis kommt hängt insbesondere von der speziellen Applikation ab und ist frei wählbar bzw. aus dem System entnehmbar. Falls das Ereignis (z. B. bei einer periodischen Sendung) einmal nicht kommt ist ein späterer Zeitpunkt problemlos verwendbar, z. B. ein Senden in der nächsten Periode beeinflusst die Synchronisierungsqualität mit einem Faktor 2 (z. B. von 200 ns nach 400 ns).
Als nächstes ist in Block 301 ein Messmechanismus vorhanden.
In jedem zu sychronisierenden Controller muss ein Messmechanismus vorhanden sein, der den Zeitpunkt SP in der lokalen Sicht auf die globale Zeit festhalten kann. Dabei ist die Qualität (Auflösung) der Messgenauigkeit direkt proportional zur erreichbaren Synchronisationsqualität.
Die Globale Zeit G wird lokal typischerweise durch einen oder mehrere Counter, sowie gegebenenfalls zugehörige Offsets implementiert.
Es wird also in Block 301 ein "Snapshot" (z. B. Capture Compare) der lokalen Sicht der globalen Zeit zum Zeitpunkt des Ereignisses SP gefordert. Bezeichnung: Der Wert des Snapshots im Controller i wird entsprechend mit Gi bezeichnet.
In Block 302 werden die Werte Gi verschickt. Zwischen je zwei Ereignissen müssen die Werte Gi verschickt werden. Dies Kostet zwar Bandbreite, kann aber wie bereits erwähnt optimiert werden, da nicht alle Gi verschickt werden müssen, nur hinreichend viele (bei einem einzigen wird eine Mastersynchronisation durchgeführt).
Sinvoller Weise wird vorher, also offline definiert, wann alle Gi's, die berücksichtigt werden sollen, auch tatsächlich geschickt sind, wann die Erfassung der Gis z. B. in t2 beendet wird.
In Block 303 wird dann die Globale Zeit gebildet. Dabei wird insbesondere ein (z. B. fehlertoleranten) Algorithmus verwendet um aus den Gi die globale Zeit G (zum Zeitpunkt SP) zu bilden. Alle Knoten, auch die, deren Gi-Wert nicht zur globalen Zeit beiträgt, machen (irgendwann) zwischen dem letzten gesendeten Gi und dem nächsten SP diese Ermittlung.
Beispiele für solche Ermittlungen sind:
  • - G = (G1+. . .+ Gn)/n, wobei z. B. zuvor noch Extremwerte eleminiert werden können
  • - G = FTA(G1,. . .,Gn) mit irgend einem der in der Literatur bekannten fehlertoleranten Algorithmen.
  • - G ist das "mittlere" der Gi
Sinnvoll ist dabei dass in jedem Controller der gleiche Algorithmus abläuft, wobei aber auch das Gegenteil denkbar ist, um beispielsweise eine Kompensation zu betreiben.
Jeder Knoten i kennt jetzt den Offset (G - Gi) seiner eigenen Sicht auf die globale Zeit zur tatsächlichen globalen Zeit (zum Zeitpunkt SP und bis auf die oben erwähnte Messungenauigkeit).
Beim nächsten SP in Block 304 wird dieser Offset verwendet um die globale Zeit zu korrigieren. Dabei gilt:
  • - Es muss nicht direkt der Augenblick SP gewählt werden, es reicht aus, wenn die eigene Sicht auf die globale Zeit so korrigiert wird, dass keine Konsistenzprobleme auftreten.
  • - "Rückwirkend" zum letzten SP hin ist damit sichergestellt, dass eigenen Sicht der globalen Zeit und tatsächliche globale Zeit gleich sind (zumindest zum Zeitpunkt des letzten SPs).
  • - Im eingeschwungenen Zustand kann der Offset sich nur noch um die Drift der eigenen Zeit zwischen zwei SPs verschieben. D. h. ist vlg die Geschwindigkeit der lokalen Sicht auf die globale Zeit und vg die Geschwindigkeit der globalen Zeit, dann ist (Vg-Vlg).T der Wert des Offsets, wenn T das Zeitintervall zwischen den beiden betrachteten SPs ist.
  • - Die Differenz (Vg-Vlg) hängt von der Qualität der Oszillatoren ab, die zur lokalen Erzeugung der globalen Zeit verwendet werden.
Eine weitere Vorteilhafte Ausgestaltung ergibt sich daraus, dass das Verfahren darüber hinaus noch dazu verwendet werden kann, die Differenz (Vg-Vlg) selbst klein zu machen, also wie in Fig. 4a und 4b nachfolgend dargestellt, den Verlauf der globalen Zeit und det eigenen lokalen Zeiten Gi anzupassen. Voraussetzung dafür ist, dass vg beeinflussbar ist. Dafür gibt es eine Reihe verschiedener Möglichkeiten (z. B. Oszillatoren deren Frequenz über eine Spannung beeinflusst wird, Hardware, die ab und zu einen Puls des Oszillators hinzufügen oder weglassen kann, eine nicht ganzzahlige Umsetzung des Clockticks in Counterwerte, usw. . .)
Weiterhin gilt, da Messung des Offsets nach dem obigen im wesentlichen eine Messung der Differenz Vg-Vlg ist, kann der neue Wert von vlg direkt durch Anwendung dieser Differenz erzeugt werden. D. h. die Differenz (Gi-G) muss im folgenden gleichmäßig über ein Intervall der Länge T verteilt werden.
Ein weiterer Effekt ist die Clusterdrift, das bedeutet, dass durch die Regelung der Globalen Zeit mit Verwendung der ermittelten Globalen Zeit eine Toleranzfortpflanzung, quasi ein Aufschwingen des Verlaufs, also eine Drift der gesamten Zeit aller zu synchronisierender Teilnehmer als Clusterdrift auftreten kann. Man kann aber durch das erfindungsgemäße Verfahren weiter verhindern, dass der gesamte Cluster (zwar gut aufeinander synchronisiert) insgesamt abdriftet. Die erfolgt durch z. B. Festlegen eines Maximal/Minimalwerts für die Korrektur von vlg oder auch durch Systematisches Beeinflussen der Korrektur von vlg in Richtung der Konfigurationswerte. D. h. an Stelle des theoretisch idealen vlg-Werts verwendet man einen, der geringfügig näher am Konfigurationswert liegt. Die Details hängen dann immer vom Verfahren ab, mit dem man vlg beeinflusst (s. o.). Der Effekt dabei ist, dass die Synchronisierungsqualität geringfügig verschlechtert wird, dafür aber die Gesamtdrift des Clusters verhindert wird.
In Fig. 4 bestehend aus Fig. 4a und 4b ist die Korrekturrechnung beispielsweise für einen Teilnehmer dargestellt. Dabei zeigt Fig. 4a den Verlauf der lokalen globalen Zeit des jeweiligen Teilnehmers, in welcher sich Temperatur, Alterungserscheinungen usw. widerspiegeln gegenüber der allgemein ermittelten allgemeinen globalen Zeit. Dabei läuft beispielsweise der interne Zeitgeber des Teilnehmers schneller als beispielsweise ein Zeitgeber, welcher der allgemeinen globalen Zeit entsprechen würde. Dies zeigt sich im Verlauf der Kurven LGT und GT insbesondere in deren Steigung. Beim ersten Ereignis werden die jeweiligen globalen Zeiten, insbesondere die dieses Teilnehmers, über das Kommunikationssystem übermittelt. Beispielsweise beim wiederholten Ereignis in SP2 ist dann die Abweichung (Vlg-Vg).T zwischen dem internen Zeitgeber des Teilnehmers und der allgemeinen globalen Zeit vorhanden. Aus dieser Abweichung wird nun eine Korrekturgröße ermittelt und damit der Verlauf des internen Zeitgebers des Teilnehmers korrigiert. So wird also beispielsweise die Abweichung selbst (Vlg-Vg).T über das Zeitfenster T verteilt. Dadurch läuft bis zu einem dritten Ereignis SP3 der interne Zeitgeber angenähert an die allgemeine globale Zeit.

Claims (8)

1. Verfahren zur Synchronisation wenigstens zweier Teilnehmer, wobei jeder zu synchronisierende Teilnehmer einen eigenen Zeitgeber enthält und die Teilnehmer über wenigstens eine Kommunikationsverbindung in Verbindung stehen, wobei wenigstens ein Ereignis zur Synchronisation auf der Kommunikationsverbindung übermittelt wird, dadurch gekennzeichnet, dass ein erster Teilnehmer abhängig von dem Ereignis eine erste globale Zeit ermittelt und wenigstens ein zweiter Teilnehmer abhängig von dem Ereignis eine zweite globale Zeit ermittelt, wobei die wenigstens erste und zweite globale Zeit auf der Kommunikationsverbindung durch die entsprechenden Teilnehmer übermittelt werden und jeder zu synchronisierende Teilnehmer aus der wenigstens ersten und zweiten globalen Zeit eine allgemeine globale Zeit ermittelt und den enthaltenen Zeitgeber mit der allgemeinen globalen Zeit synchronisiert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeder zu synchronisierende Teilnehmer die allgemeine globale Zeit in gleicher Weise ermittelt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das wenigstens eine Ereignis wiederholt auf der Kommunikationsverbindung übermittelt wird.
4. Verfahren nach Anspruch 1 und 3, dadurch gekennzeichnet, dass zusätzlich der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit zwischen zwei Ereignissen und der Verlauf der allgemeinen globalen Zeit im ersten und/oder wenigstens zweiten Teilnehmer einander angenähert, insbesondere einander angeglichen, werden.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine erste Anzahl zu synchronisierender Teilnehmer über eine Kommunikationsverbindung in Verbindung stehen und je eine globale Zeit ermitteln, wobei eine zweite Anzahl zu synchronisierender Teilnehmer die jeweilige globale Zeit auf der Kommunikationsverbindung übermittelt und die zweite Anzahl kleiner als die erste Anzahl ist.
6. Verfahren nach Anspruch. 4, dadurch gekennzeichnet, dass aus dem Verlauf der ersten und/oder wenigstens zweiten globalen Zeit und dem Verlauf der allgemeinen globalen Zeit eine Korrekturgröße ermittelt wird mit welcher der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit dem Verlauf der allgemeinen globalen Zeit angenähert, insbesondere angeglichen, wird, wobei für die Korrekturgröße ein Maximalwert und/oder ein Minimalwert vorgegeben wird.
7. Verfahren nach Anspruch 4 oder 6, dadurch gekennzeichnet, dass statt des Verlaufs der ersten und/oder wenigstens zweiten globalen Zeit ein unterschiedlicher Verlauf vorgegeben wird und aus dem unterschiedlichen Verlauf und dem Verlauf der allgemeinen globalen Zeit eine Korrekturgröße ermittelt wird, mit welcher der Verlauf der ersten und/oder wenigstens zweiten globalen Zeit dem Verlauf der allgemeinen globalen Zeit angenähert wird.
6. System zur Synchronisation wenigstens zweier Teilnehmer, wobei jeder zu synchronisierende Teilnehmer einen eigenen Zeitgeber enthält und die Teilnehmer über wenigstens eine Kommunikationsverbindung in Verbindung stehen, wobei durch erste Mittel wenigstens ein Ereignis zur Synchronisation auf der Kommunikationsverbindung übermittelt wird, dadurch gekennzeichnet, dass ein erster Teilnehmer abhängig von dem Ereignis eine erste globale Zeit ermittelt und wenigstens ein zweiter Teilnehmer abhängig von dem Ereignis eine zweite globale Zeit ermittelt, wobei die wenigstens erste und zweite globale Zeit auf der Kommunikationsverbindung durch die entsprechenden Teilnehmer übermittelt werden und jeder zu synchronisierende Teilnehmer aus der wenigstens ersten und zweiten globalen Zeit eine allgemeine globale Zeit ermittelt und den enthaltenen Zeitgeber mit der allgemeinen globalen Zeit synchronisiert.
DE10053525A 2000-10-27 2000-10-27 Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung Expired - Lifetime DE10053525B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10053525A DE10053525B4 (de) 2000-10-27 2000-10-27 Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung
US10/021,460 US7200766B2 (en) 2000-10-27 2001-10-29 Method and system for the distributed synchronization of users of a communications link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10053525A DE10053525B4 (de) 2000-10-27 2000-10-27 Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung

Publications (2)

Publication Number Publication Date
DE10053525A1 true DE10053525A1 (de) 2002-05-02
DE10053525B4 DE10053525B4 (de) 2012-06-28

Family

ID=7661406

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10053525A Expired - Lifetime DE10053525B4 (de) 2000-10-27 2000-10-27 Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung

Country Status (2)

Country Link
US (1) US7200766B2 (de)
DE (1) DE10053525B4 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008010536A1 (de) * 2008-02-22 2009-08-27 Symeo Gmbh Schaltungsanordnung und Verfahren zur Synchronisation von Uhren in einem Netz
EP2110754A1 (de) * 2005-06-23 2009-10-21 Hilscher Gesellschaft Für Systemautomation MBH Verfahren zur Synchronisation von Busteilnehmern eines offenen Automatisierungssystems
EP3035311A1 (de) 2014-12-19 2016-06-22 Novar GmbH Bus-Mastervorrichtung für ein Gefahrenalarmsystem und Gefahrenalarmsystem damit
DE202014011531U1 (de) 2014-12-19 2021-12-14 Novar Gmbh Bus-Master-Vorrichtung für ein Gefahrenmeldesystem und ein Gefahrenmeldesystem, das diese Vorrichtung verwendet

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417827B2 (en) * 2001-12-12 2013-04-09 Nokia Corporation Synchronous media playback and messaging system
US7848361B2 (en) * 2003-05-20 2010-12-07 Nxp B.V. Time-triggered communication system and method for the synchronization of a dual-channel network
JP4941500B2 (ja) * 2009-04-17 2012-05-30 株式会社デンソー ノード装置および車両ネットワークシステム
US9256391B2 (en) * 2010-01-22 2016-02-09 GE Intelligent Platforms Inc. Method, system, and storage media for global synchronization of time
US9946635B2 (en) 2015-09-29 2018-04-17 International Business Machines Corporation Synchronizing multi-system program instruction sequences

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5041966A (en) * 1987-10-06 1991-08-20 Nec Corporation Partially distributed method for clock synchronization
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
DE4140017C2 (de) * 1991-12-04 1995-01-05 Nec Electronics Germany Verfahren zum Betreiben von über einen Datenbus durch seriellen Datenaustausch miteinander kommunizierenden Rechnereinheiten
US5694542A (en) * 1995-11-24 1997-12-02 Fault Tolerant Systems Fts-Computertechnik Ges.M.B. Time-triggered communication control unit and communication method
US5896524A (en) * 1997-02-06 1999-04-20 Digital Equipment Corporation Off-line clock synchronization for multiprocessor event traces
US5875320A (en) * 1997-03-24 1999-02-23 International Business Machines Corporation System and method for synchronizing plural processor clocks in a multiprocessor system
US5958060A (en) * 1998-01-02 1999-09-28 General Electric Company Method and apparatus for clock control and synchronization
US6654356B1 (en) * 1998-10-29 2003-11-25 Agilent Technologies, Inc. Distributed control system architecture based on synchronized clocks
EP1157324A4 (de) * 1998-12-18 2009-06-17 Triconex Corp Verfahren und gerät für verarbeitungssteuerung, die eine vielzahl-redundantes-prozesssteuerungssystem verwenden
DE10000303B4 (de) * 2000-01-05 2011-09-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2110754A1 (de) * 2005-06-23 2009-10-21 Hilscher Gesellschaft Für Systemautomation MBH Verfahren zur Synchronisation von Busteilnehmern eines offenen Automatisierungssystems
DE102008010536A1 (de) * 2008-02-22 2009-08-27 Symeo Gmbh Schaltungsanordnung und Verfahren zur Synchronisation von Uhren in einem Netz
US8108558B2 (en) 2008-02-22 2012-01-31 Symeo Gmbh Circuit arrangement and method for synchronization of clocks in a network
EP3035311A1 (de) 2014-12-19 2016-06-22 Novar GmbH Bus-Mastervorrichtung für ein Gefahrenalarmsystem und Gefahrenalarmsystem damit
EP3035311B1 (de) 2014-12-19 2019-10-09 Novar GmbH Bus-Mastervorrichtung für ein Gefahrenalarmsystem und Gefahrenalarmsystem damit
DE202014011531U1 (de) 2014-12-19 2021-12-14 Novar Gmbh Bus-Master-Vorrichtung für ein Gefahrenmeldesystem und ein Gefahrenmeldesystem, das diese Vorrichtung verwendet

Also Published As

Publication number Publication date
US20020095612A1 (en) 2002-07-18
DE10053525B4 (de) 2012-06-28
US7200766B2 (en) 2007-04-03

Similar Documents

Publication Publication Date Title
DE10000303B4 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
EP1875641B1 (de) Vorrichtung zur synchronisation zweier bussysteme sowie anordnung aus zwei bussystemen
EP1471433B1 (de) Verfahren und Vorrichtung zur Synchronisation der globalen Zeit von mehreren Bussen sowie entsprechendes Bussystem
DE10000304B4 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
EP1763768B1 (de) Verfahren und vorrichtung zur steuerung eines bussystems sowie entsprechendes busysstem
EP2619935A1 (de) Vorrichtung und verfahren zur bereitstellung einer globalen zeitinformation in ereignisgesteuerter buskommunikation
DE10327548B4 (de) Verfahren und Vorrichtung zum Austausch von Daten über ein Bussystem
DE10053525B4 (de) Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung
EP1220104A2 (de) Verfahren und Kommunikationssystem zum Austausch von Daten zwischen mindestens zwei Teilnehmern über ein Bussystem
EP2299614B1 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
AT501536B1 (de) Zeitgesteuertes betriebssystem für echtzeitkritische anwendungen
EP1860520A1 (de) Taktschläger- und Uhrzeit-Synchronisation zwischen Komponenten von Bussystemen
DE102004061343A1 (de) Netzwerk mit mehreren Stationen, Station für ein derartiges Netzwerk sowie Verfahren zur Synchronisierung von Stationen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120929

R071 Expiry of right