DE10053525A1 - Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung - Google Patents
Verfahren und System zur Synchronisation von Teilnehmern einer KommunikationsverbindungInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0676—Mutual
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
- H04J3/0655—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock 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
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
2000
- 2000-10-27 DE DE10053525A patent/DE10053525B4/de not_active Expired - Lifetime
-
2001
- 2001-10-29 US US10/021,460 patent/US7200766B2/en not_active Expired - Lifetime
Cited By (6)
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 |