DE102020202690B3 - Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber - Google Patents

Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber Download PDF

Info

Publication number
DE102020202690B3
DE102020202690B3 DE102020202690.4A DE102020202690A DE102020202690B3 DE 102020202690 B3 DE102020202690 B3 DE 102020202690B3 DE 102020202690 A DE102020202690 A DE 102020202690A DE 102020202690 B3 DE102020202690 B3 DE 102020202690B3
Authority
DE
Germany
Prior art keywords
counter
slave
correction
master
signal
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.)
Active
Application number
DE102020202690.4A
Other languages
English (en)
Inventor
Gerhard Müller
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.)
ZF Friedrichshafen AG
Original Assignee
ZF Friedrichshafen AG
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 ZF Friedrichshafen AG filed Critical ZF Friedrichshafen AG
Priority to DE102020202690.4A priority Critical patent/DE102020202690B3/de
Application granted granted Critical
Publication of DE102020202690B3 publication Critical patent/DE102020202690B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication
    • GPHYSICS
    • G04HOROLOGY
    • G04CELECTROMECHANICAL CLOCKS OR WATCHES
    • G04C13/00Driving mechanisms for clocks by master-clocks
    • G04C13/02Circuit arrangements; Electric clock installations
    • G04C13/04Master-clocks
    • G04C13/0436Master-clocks provided with supplementary means for setting or changing the time indication of the slave-clocks
    • G04C13/0454Master-clocks provided with supplementary means for setting or changing the time indication of the slave-clocks for automatically setting of slave-clocks after correction or after setting of master-clock
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

Es wird ein Verfahren zum Synchronisieren eines Slave-Zeitgebers (14) mit einem Master-Zeitgeber (12) dargestellt. Der Slave-Zeitgeber (14) inkrementiert regelmäßig einen Slave-Zähler (30), während der Master-Zeitgeber (12) einen Master-Zähler (18) regelmäßig inkrementiert. Das Verfahren umfasst Folgendes: Bestimmen eines Zählerkorrekturwertes (42) basierend auf einer Zeitdifferenz zwischen dem Master-Zähler (18) und dem Slave-Zähler (30); Bestimmen von Zählerkorrekturintervallen (48) für jedes Bit des Zählerkorrekturwertes (42), das 1 ist, wobei jedes Zählerkorrekturintervall (48) die Länge 2n-kaufweist, wobei 2neine Synchronisationsintervalllänge ist und k die Position des Bits, das 1 ist, im Zählerkorrekturwert (42) ist; Bestimmen von Zählerkorrekturzeitpunkten (50) für jedes Zählerkorrekturintervall (48), wobei sich benachbarte Zählerkorrekturzeitpunkte (50) für ein Zählerkorrekturintervall (48) um die Länge des Zählerkorrekturintervalls (48) unterscheiden; wenn der Zählerkorrekturwert (42) angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, Überspringen des Inkrementierens des Slave-Zählers (30) zu den Zählerkorrekturzeitpunkten (50); und wenn der Zählerkorrekturwert (42) angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt, Inkrementieren des Slave-Zählers (30) zweimal zu den Zählerkorrekturzeitpunkten (50).

Description

  • Die Erfindung bezieht sich sowohl auf ein Verfahren zum Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber als auch auf einen Controller eines Slave-Zeitgebers.
  • In verteilten Systemen, die sich auf Daten stützen, die von verschiedenen Untersystemen erfasst werden, ist es wesentlich, den exakten Zeitpunkt zu kennen, zu dem die Daten erzeugt werden. Sehr oft ist es sogar noch wesentlicher, die exakte Reihenfolge als den exakten Zeitpunkt aufweisen. Um die Daten aus verschiedenen verteilten Quellen in eine richtige Zeitrelation zu bringen, sollten alle Untersysteme mit einer gemeinsamen Zeitbasis synchronisiert sein. Diese Synchronisation wird durch das Definieren eines Master-Zeitgebers, der die Zeitinformation an die Slave-Zeitgeber verteilt, ausgeführt. Für die Zeitverteilung sind in der Literatur und in den IEEE-Standards wie IEEE1588 oder IEEE802.1AS mehrere Mechanismen bekannt.
  • In den Standards wird ein Protokoll beschrieben. Neben diesem ist es ein Mechanismus, eine Schnittstelle aufzuweisen, die die Informationen des Zeitpunkts bereitstellt, zu dem ein Synchronisationsimpuls bereitgestellt wird. Deshalb sendet der Master-Zeitgeber Zeitinformationen für ein zukünftiges Ereignis über die Schnittstelle an den Slave-Zeitgeber. Das Ereignis ist typischerweise ein Umschaltsignal. Beim Empfangen des nächsten Umschaltens des Signals kennt der Slave-Zeitgeber dann die exakte Zeit. Für die kontinuierliche Resynchronisierung wird die Reihenfolge des Bereitstellens der Zeitinformation entweder über das Protokoll oder über die Zeitinformation plus ein Umschaltereignis häufig ausgeführt. Für den Zeitpunkt, zu dem der Slave-Zeitgeber das Zeitsynchronisationsereignis empfängt, weist er eine sehr genaue auf den Master-Zeitgeber bezogene Zeit auf. Für die Zeit zwischen zwei dieser Ereignisse verwendet der Slave typischerweise eine interne Zeitbasis, um die aktuelle Zeit für seine internen Funktionen bereitzustellen.
  • In verteilten Systemen laufen die Untersysteme typischerweise mit unabhängigen Taktquellen. Diese Taktquellen werden typischerweise aus den verschiedenen Typen von technischen Lösungen von Oszillatoren wie einem RC-Oszillator, Resonatoren, einem Quarzoszillator usw. abgeleitet. Selbst wenn die Quarzoszillatoren eine hohe Genauigkeit aufweisen, erreicht der Versatz von zwei unabhängig laufenden Oszillatoren innerhalb von einigen ms einen µs-Bereich.
  • Das bedeutet, falls sich eine Synchronisationsgenauigkeit von zwei unabhängigen Untersystemen im µs-Bereich oder darunter befinden soll, ist ein Mechanismus erforderlich, um den Versatz zu kompensieren.
  • Eine Resynchronisation des Slave-Zeitgebers kann z. B. mit einer hohen Frequenz ausgeführt werden. Um eine hohe Genauigkeit zu erreichen, muss die Zeit zwischen zwei Synchronisationsereignissen sehr kurz sein. Ein Zeitversatz zwischen den Synchronisationsereignissen kann jedenfalls nicht verhindert werden. Ein Problem bei diesem Mechanismus kann sein, dass Zeitsprünge geschehen können. Insbesondere kann für einen schneller laufenden Slave-Zeitgeber ein Sprung zurück in der Zeit geschehen. Dies kann eine falsche Interpretation der Reihenfolge der aufgerufenen Funktionen oder der erzeugten Daten auf der Slave-Seite verursachen.
  • Als ein weiteres Beispiel kann bei jedem Synchronisationsereignis eine Korrekturgleichung berechnet werden. Durch das Überwachen des Versatzes des Slave-Zeitgebers im Vergleich zur Master-Zeit kann eine Korrekturgleichung berechnet werden. Diese kann verwendet werden, um die Zeit zu korrigieren, wann immer eine Funktion die aktuelle Zeit anfordert. Es kann ein Problem sein, dass eine Funktion zur Berechnung der exakten Zeit ausgeführt werden muss, wann immer die Zeit benötigt wird.
  • US 2007/0260906 A1 offenbart ein Verfahren zur Zeitsynchronisation zwischen Master und Slave, bei dem der Slave die Differenz von Zeiten zwischen Master und Slave auswertet und die lokale Zeit durch Steuern der Zeitzähler basierend auf der Differenz regelt. DE 10 2013 222 471 A1 offenbart ein Verfahren zur Zeitsynchronisation mehrerer Einheiten mit einer zentralen Quelle, die auf der Differenz der Zeiten zwischen der zentralen Quelle und den Einheiten basiert. Dabei werden in den Einheiten die Impulse, die ein Inkrementieren des Zeitzählers bewirken, abhängig von den Differenzen zeitlich gesteuert.
  • Es ist eine Aufgabe der Erfindung, ein Verfahren und einen Controller zum genauen Synchronisieren von Zeitgebern ohne Zeitsprünge und mit geringen Rechenanforderungen bereitzustellen.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Weitere beispielhafte Ausführungsformen sind aus den abhängigen Ansprüchen und der folgenden Beschreibung offensichtlich.
  • Ein Aspekt der Erfindung bezieht sich auf ein Verfahren zum Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber, wobei der Slave-Zeitgeber einen Slave-Zähler regelmäßig inkrementiert und der Master-Zeitgeber einen Master-Zähler regelmäßig inkrementiert. Der Master-Zeitgeber kann eine Vorrichtung mit einem Takt sein, der den Master-Zähler inkrementieren kann. Der Slave-Zeitgeber kann eine Vorrichtung mit einem Takt sein, die den Slave-Zähler inkrementieren kann. Der Master-Zähler und optional ein Synchronisationssignal können vom Master-Zeitgeber an den Slave-Zeitgeber gesendet werden, der dann den Slave-Zähler mit dem Master-Zähler synchronisiert, wie im Folgenden beschrieben wird.
  • Gemäß einer Ausführungsform der Erfindung umfasst das Verfahren Folgendes: Bestimmen eines Zählerkorrekturwertes basierend auf einer Differenz zwischen dem Master-Zähler und dem Slave-Zähler. Der Master-Zähler kann einen Master-Zählerwert aufweisen, während der Slave-Zähler einen Slave-Zählerwert aufweisen kann. Der Zählerkorrekturwert kann durch Subtrahieren des Master-Zählerwerts vom Slave-Zählerwert bestimmt werden. Wenn der Slave-Zähler und der Master-Zähler einen Versatz aufweisen, kann es sein, dass der Versatz zusätzlich subtrahiert wird. Wenn der Slave-Zähler mit einer unterschiedlichen Geschwindigkeit (insbesondere mit einem Faktor von irgendeiner Zweierpotenz, wobei außerdem negative Potenzen möglich sind) läuft, dann kann der Slave-Zählerwert vor der Subtraktion durch den Faktor geteilt werden.
  • Gemäß einer Ausführungsform der Erfindung umfasst das Verfahren Folgendes: Bestimmen von Zählerkorrekturintervallen für jedes Bit des Zählerkorrekturwertes, das 1 ist, wobei jedes Zählerkorrekturintervall eine Länge 2n-k aufweist, wobei 2n eine Synchronisationsintervalllänge ist und k die Position des Bits, das 1 ist, im Zählerkorrekturwert ist. Wenn z. B. die Länge des Synchronisationsintervalls 28 = 256 ist, ergibt der binäre Zählerkorrekturwert b1011, was im Dezimalsystem 11 ist, drei Zählerkorrekturintervalle der Längen 28-0 = 256, 28-1 = 128 und 28-3 = 32. Es muss angemerkt werden, dass hier angenommen werden kann, dass der Zählerkorrekturwert kleiner als die Synchronisationsintervalllänge ist.
  • Gemäß einer Ausführungsform der Erfindung umfasst das Verfahren Folgendes: Bestimmen von Zählerkorrekturzeitpunkten für jedes Zählerkorrekturintervall, wobei sich benachbarte Zählerkorrekturzeitpunkte für ein Zählerkorrekturintervall um die Länge des Zählerkorrekturintervalls unterscheiden. Die Zählerkorrekturintervalle werden verwendet, um den Slave-Zähler durch das Einbeziehen zusätzlicher Inkremente oder das Unterdrücken von Inkrementen zu korrigieren, wann immer der Slave-Zähler ein Vielfaches eines Zählerkorrekturintervalls erreicht, das optional durch einen Versatz addiert wird. Diese Vielfachen des Zählerkorrekturintervalls werden als die Zählerkorrekturzeitpunkte bezeichnet.
  • Gemäß einer Ausführungsform der Erfindung umfasst das Verfahren Folgendes: Wenn der Zählerkorrekturwert angibt, dass der Slave-Zähler dem Master-Zähler voraus ist, Überspringen des Inkrementierens des Slave-Zählers zu den Zählerkorrekturzeitpunkten. Wenn der Zählerkorrekturwert angibt, dass der Slave-Zähler hinter dem Master-Zähler liegt, zweimaliges Inkrementieren des Slave-Zählers zu den Zählerkorrekturzeitpunkten. Zu einem Zählerkorrekturzeitpunkt wird ein zusätzliches Inkrement des Slave-Zählers einbezogen oder wird ein Inkrement des Slave-Zeitgebers unterdrückt. Ein zusätzliches Inkrement des Slave-Zählers wird einbezogen, wenn der Slave-Zeitgeber langsamer als der Master-Zeitgeber läuft. Ein Inkrement des Slave-Zeitgebers wird unterdrückt, wenn der Slave-Zeitgeber schneller als der Master-Zeitgeber läuft.
  • Mit dem Verfahren kann der Slave-Zeitgeber mit dem Master-Zeitgeber synchronisiert werden, indem der Slave-Zähler an den Master-Zähler angepasst wird, wobei die Inkremente des Slave-Zählers entweder hinzugefügt oder entfernt werden. Aufgrund des Zwischenraums der hinzugefügten oder entfernten Inkremente, wobei der Zwischenraum durch die Zählerkorrekturintervalle definiert ist, wird während eines Synchronisationsintervalls eine Anzahl von Inkrementen, die gleich dem Zählerkorrekturwert ist, entweder unterdrückt oder zusätzlich hinzugefügt, wobei beide Zähler danach synchron sind.
  • Es geschehen keine Zeitsprünge für den Slave-Zähler. Der Slave-Zähler kann mit dem Verfahren kontinuierlich erhöht werden. Weiterhin stellt der Slave-Zeitgeber permanent die aktuelle Zeit in Form des Slave-Zählers bereit. Es kann keine Korrekturfunktion am Ausgang erforderlich sein.
  • Gemäß einer Ausführungsform der Erfindung weist der erste Zählerkorrekturzeitpunkt für ein Korrekturintervall einen Versatz von 2n-k-1 zu einem gemeinsamen Basispunkt für alle Korrekturzeitpunkte auf. In einer derartigen Weise fallen die Zählerkorrekturzeitpunkte für verschiedene Zählerkorrekturintervalle nicht auf den gleichen Zeitpunkt. Bei jedem Zählerkorrekturzeitpunkt muss das Inkrement nur einmal korrigiert werden.
  • Gemäß einer Ausführungsform der Erfindung wird der Slave-Zähler mit einer Flip-Flop-Zählerschaltung inkrementiert, die durch ein Slave-Oszillatorsignal ausgelöst wird, wobei die Flip-Flop-Zählerschaltung ein Flip-Flop für jedes Bit des Slave-Zählers umfasst, wobei das Flip-Flop umschaltet, wenn alle Flip-Flops für die unteren Bits 1 ausgeben. In diesem Fall ist das Übertragsbit für das vom Flip-Flop-Zähler bestimmte Bit 1. Andernfalls ist das Übertragsbit 0. Der Slave-Zähler kann der Ausgang der Flip-Flop-Zählerschaltung sein, die mit dem Slave-Oszillatorsignal versorgt wird.
  • Gemäß einer Ausführungsform der Erfindung werden die Zählerkorrekturzeitpunkte mit einer Decodiererschaltung bestimmt. Wenigstens einige der Übertragsbits des Slave-Zählers können in die Decodiererschaltung eingegeben werden. Ein Korrekturzeitsignal kann von der Decodiererschaltung ausgegeben werden, wenn ein Zählerkorrekturzeitpunkt erreicht ist. In dem Fall, wenn eine maximale Bitlänge des Zählerkorrekturintervalls angenommen wird, kann nur eine gleiche Anzahl von Bits des Slave-Zählers in die Decodiererschaltung eingegeben werden. Diese Bits werden zum Auslösen eines Korrekturzeitsignals verwendet, das vorhanden ist, wenn ein Zählerkorrekturzeitpunkt erreicht ist.
  • Gemäß einer Ausführungsform der Erfindung gibt die Decodiererschaltung das Korrekturzeitsignal aus, wenn das Bit k des Korrekturwertes 1 ist, das Übertragsbit n - k des Slave-Zählers 0 ist und das Übertragsbit n - k - 1 des Slave-Zählers 1 ist. Mit einer derartigen Logik wird das Korrekturzeitsignal erzeugt, wann immer ein Zählerkorrekturzeitpunkt erreicht ist, der auf den Zählerkorrekturintervallen und den Versätzen, wie sie oben definiert worden sind, basiert.
  • Es muss angemerkt werden, dass ein äquivalenter Versatz erzeugt werden kann, indem das obige Bit n - k - 1 in ein zusätzliches Umschalt-Flip-Flop eingegeben wird, dessen Ausgang als das Korrekturzeitsignal verwendet wird, wenn zusätzlich das Bit k des Korrekturwertes 1 ist.
  • Gemäß einer Ausführungsform der Erfindung ist die Bitlänge des Korrekturwertes kleiner als eine Bitlänge des Slave-Zählers. Der Korrekturwert kann z. B. bezüglich einer spezifischen Länge, wie z. B. der Synchronisationsintervalllänge, abgeschnitten werden. Dies kann die Anzahl der Komponenten der Decodiererlogik verringern.
  • Gemäß einer Ausführungsform der Erfindung wird der Slave-Zähler basierend auf einem Zwei-Bit-Korrektursignal einer Zählerkorrekturschaltung inkrementiert. Dieses Zwei-Bit-Korrektursignal kann zum Steuern des Inkrements des Slave-Zählers verwendet werden. Für einen Wert von 0 kann das Inkrement unterdrückt werden. Für einen Wert von 1 kann ein gewöhnliches Inkrement ausgeführt werden. Für einen Wert von 2 kann ein doppeltes Inkrement ausgeführt werden. Es muss angemerkt werden, dass das gewöhnliche Inkrement nicht 1 sein muss, sondern eine größere Zahl sein kann, insbesondere eine Zweierpotenz, wenn der Slave-Zeitgeber mit mehrfacher Geschwindigkeit bezüglich des Master-Zeitgebers läuft.
  • Gemäß einer Ausführungsform der Erfindung wird ein Korrekturzeitsignal, das angibt, dass ein Synchronisationszeitpunkt erreicht ist, in die Zählerkorrekturschaltung eingegeben. Dieses Korrekturzeitsignal kann durch die Decodiererschaltung erzeugt werden, wie oben beschrieben worden ist.
  • Gemäß einer Ausführungsform der Erfindung wird ein Vorzeichensignal, das angibt, dass der Slave-Zähler dem Master-Zähler voraus ist, oder angibt, dass der Slave-Zähler hinter dem Master-Zähler liegt, in eine Zählerkorrekturschaltung eingegeben. Dieses Vorzeichensignal kann von der Komponente bereitgestellt werden, die außerdem den Zählerkorrekturwert bestimmt.
  • Gemäß einer Ausführungsform der Erfindung ist das Zwei-Bit-Korrektursignal auf binär 01 gesetzt, wenn kein Korrekturzeitsignal vorhanden ist, ist das Zwei-Bit-Korrektursignal auf binär 00 gesetzt, wenn das Vorzeichensignal angibt, dass der Slave-Zähler dem Master-Zähler voraus ist, und ist das Zwei-Bit-Korrektursignal auf binär 10 (d. h., dezimal 2) gesetzt, wenn das Vorzeichensignal angibt, dass der Slave-Zähler hinter dem Master-Zähler liegt. Die Inkremente können dann geändert werden, wie oben beschrieben worden ist.
  • Gemäß einer Ausführungsform der Erfindung ist das Zwei-Bit-Korrektursignal in einer Zählerlogik einer Flip-Flop-Zählerschaltung enthalten, die den Slave-Zähler ausgibt. Die Flip-Flop-Schaltung weist eine Zählerlogik auf, die bestimmt, ob alle Bits unter einem spezifischen Bit 1 sind, und die dann das spezifische Bit umschaltet. Das Zwei-Bit-Korrektursignal kann in diese Zählerlogik eingegeben werden, so dass die Inkremente in der gewünschten Weise geändert werden.
  • Gemäß einer Ausführungsform der Erfindung wird der Zählerkorrekturwert an den Synchronisationspunkten bestimmt, die durch ein Synchronisationsintervall voneinander beabstandet sind. Eine Zählerkorrekturwert-Bestimmungseinrichtung, d. h., eine Komponente des Slave-Zeitgebers, die eine Software-Funktion oder eine Logikschaltung sein kann, kann den Zählerkorrekturwert und außerdem das Vorzeichensignal bestimmen. Diese Zählerkorrekturwert-Bestimmungseinrichtung kann ihre Aufgabe regelmäßig an den Synchronisationspunkten erfüllen. Wenn die Synchronisationspunkte für das Synchronisationsintervall (das eine Länge von 2n aufweist, wie oben definiert worden ist) voneinander beabstandet sind, kann es möglich sein, dass der Synchronisationsversatz zwischen dem Slave-Zeitgeber und dem Master-Zeitgeber fast eliminiert wird, bis der nächste Synchronisationspunkt erreicht ist.
  • Es kann außerdem sein, dass eine Latenzzeit zwischen dem Master-Zeitgeber und dem Slave-Zeitgeber kompensiert wird. Wenn der Master-Zeitgeber die Synchronisationspunktinformation separat bereitstellt, kann der Master-Zeitgeber eine Latenzzeitkorrektur ausführen, indem er einen korrigierten Master-Zähler für den Synchronisationspunkt sendet, wenn er angewendet werden sollte.
  • Gemäß einer Ausführungsform der Erfindung wird der Zählerkorrekturwert an einem Synchronisationspunkt auf das Doppelte der Differenz zwischen dem Master-Zähler und dem Slave-Zähler am Synchronisationspunkt plus dem Zählerkorrekturwert am vorherigen Synchronisationspunkt minus der Differenz zwischen dem Master-Zähler und dem Slave-Zähler am vorherigen Synchronisationspunkt gesetzt. In einer derartigen Weise kann die Differenz zwischen dem Master-Zähler und dem Slave-Zähler aus der Vergangenheit plus die Differenz für die Zukunft korrigiert werden. Für die Zeit nach dem nächsten Synchronisationspunkt kann die Differenz einmal vom Zählerkorrekturwert subtrahiert werden, weil die frühere Differenz möglicherweise nur einmal korrigiert werden muss. Zu diesem Zeitpunkt muss die neu berechnete Differenz entsprechend behandelt werden.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf ein Computerprogramm, das, wenn es durch einen Prozessor ausgeführt wird, dafür ausgelegt ist, die Schritte des Verfahrens auszuführen, wie es hier beschrieben ist. Die Schritte des Verfahrens können als ein Computerprogramm implementiert sein, das in einem Prozessor ausgeführt wird. Es muss angemerkt werden, dass die Schritte des Verfahrens ohne irgendwelche allgemeine Divisionen, sondern nur mit Bitverschiebungen und Additionen ausgeführt werden können, wobei in einer derartigen Weise Rechenleistung eingespart werden kann.
  • Es kann außerdem sein, dass einige der Schritte des Verfahrens als Software-Module implementiert sind und dass einige der Schritte als eine Hardware-Schaltung implementiert sind.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf ein computerlesbares Medium, in dem ein derartiges Computerprogramm gespeichert ist. Ein computerlesbares Medium kann eine Diskette, eine Festplatte, eine USB-Speichervorrichtung (Speichervorrichtung des universellen seriellen Busses), ein RAM (Schreib-Lese-Speicher), ein ROM (Festwertspeicher), ein EPROM (löschbarer programmierbarer Festwertspeicher) oder ein FLASH-Speicher sein. Ein computerlesbares Medium kann außerdem ein Datenkommunikationsnetz sein, z. B. das Internet, das das Herunterladen eines Programmcodes ermöglicht. Im Allgemeinen kann das computerlesbare Medium ein nicht transitorisches oder transitorisches Medium sein. Das computerlesbare Medium kann ein Speicher eines Slave-Controllers sein, in dem der Slave-Zeitgeber implementiert ist.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf einen Slave-Controller, der zum Ausführen des hier beschriebenen Verfahrens ausgelegt sein kann. Der Slave-Controller kann einen Prozessor und/oder Hardware-Schaltungen zum Ausführen des Verfahrens aufweisen.
  • Gemäß einer Ausführungsform der Erfindung umfasst der Slave-Controller einen Zähler (d. h., eine Zählerschaltung oder eine Zählerfunktion) zum Inkrementieren des Slave-Zählers. Wie oben beschrieben worden ist, kann die Zählerschaltung eine Flip-Flop-Zählerschaltung sein oder eine Flip-Flop-Zählerschaltung umfassen.
  • Gemäß einer Ausführungsform der Erfindung umfasst der Slave-Controller einen Decodierer (d. h., eine Decodiererschaltung oder eine Decodiererfunktion) zum Ausgeben eines Korrekturzeitsignals, wenn ein Synchronisationszeitpunkt erreicht ist. Der Zählerkorrekturwert kann in den Decodierer eingegeben werden, der aus dem Zählerkorrekturwert die Zählerkorrekturintervalle und/oder Zählerkorrekturzeitpunkte bestimmen kann.
  • Gemäß einer Ausführungsform der Erfindung umfasst der Slave-Controller eine Zählerkorrektureinrichtung (d. h., eine Zählerkorrekturschaltung oder eine Zählerkorrekturfunktion) zum Ausgeben eines Korrektursignals, das das Inkrement des Slave-Zählers verzögert und beschleunigt. Die Zählerkorrektureinrichtung kann durch das Korrekturzeitsignal und/oder die Zählerkorrekturzeitpunkte ausgelöst werden und kann die Inkremente des Slave-Zählers zu den Zählerkorrekturzeitpunkten bestimmen, die 0, 1 oder 2 oder ein Vielfaches davon sein können.
  • Gemäß einer Ausführungsform der Erfindung ist der Zähler eine Flip-Flop-Zählerschaltung, die durch ein Slave-Oszillatorsignal ausgelöst wird, wobei die Flip-Flop-Zählerschaltung ein Flip-Flop für jedes Bit des Slave-Zählers umfasst, wobei das Flip-Flop umschaltet, wenn alle Flip-Flops für die unteren Bits 1 ausgeben.
  • Gemäß einer Ausführungsform der Erfindung ist der Decodierer eine Decodiererschaltung zum Bestimmen der Zählerkorrekturzeitpunkte. Wenigstens einige der Übertragsbits des Slave-Zählers können in die Decodiererschaltung eingegeben werden. Ein Korrekturzeitsignal kann von der Decodiererschaltung ausgegeben werden, wenn ein Synchronisationszeitpunkt erreicht ist.
  • Gemäß einer Ausführungsform der Erfindung ist die Zählerkorrektureinrichtung eine Zählerkorrekturschaltung zum Erzeugen eines Zwei-Bit-Korrektursignals. Der Slave-Zähler kann basierend auf dem Zwei-Bit-Korrektursignal inkrementiert werden. Ein Korrekturzeitsignal, das angibt, dass ein Synchronisationszeitpunkt erreicht ist, kann in die Zählerkorrekturschaltung eingegeben werden. Ein Vorzeichensignal, das angibt, dass der Slave-Zähler dem Master-Zähler voraus ist, oder angibt, dass der Slave-Zähler hinter dem Master-Zähler liegt, kann in eine Zählerkorrekturschaltung eingegeben werden. Das Zwei-Bit-Korrektursignal kann auf 01 gesetzt sein, wenn kein Korrekturzeitsignal vorhanden ist. Das Zwei-Bit-Korrektursignal kann auf 00 gesetzt sein, wenn das Vorzeichensignal angibt, dass der Slave-Zähler dem Master-Zähler voraus ist. Das Zwei-Bit-Korrektursignal kann auf 10 gesetzt sein, wenn das Vorzeichensignal angibt, dass der Slave-Zähler hinter dem Master-Zähler liegt.
  • Es soll erkannt werden, dass die Merkmale des Verfahrens, wie sie oben beschrieben worden sind und im Folgenden beschrieben werden, die Merkmale des Slave-Controllers, des Computerprogramms und/oder des computerlesbaren Mediums sein können, wie oben beschrieben worden ist und im Folgenden beschrieben wird, und umgekehrt.
  • Diese und andere Aspekte der Erfindung werden aus den im Folgenden beschriebenen Ausführungsformen offensichtlich und bezüglich der im Folgenden beschriebenen Ausführungsformen erläutert.
  • Im Folgenden werden die Ausführungsformen der vorliegenden Erfindung bezüglich der beigefügten Zeichnungen ausführlicher beschrieben.
    • 1 zeigt schematisch ein System mit einem Master-Zeitgeber und einem Slave-Zeitgeber gemäß einer Ausführungsform der Erfindung.
    • 2 zeigt eine graphische Darstellung, die eine Synchronisation eines Slave-Zählers mit einem Master-Zähler gemäß einer Ausführungsform der Erfindung veranschaulicht.
    • 3 zeigt schematisch einen Slave-Zeitgeber gemäß einer Ausführungsform der Erfindung.
    • 4 zeigt einen Stromlaufplan eines Teils eines Slave-Zeitgebers gemäß einer Ausführungsform der Erfindung.
  • Die in den Zeichnungen verwendeten Bezugszeichen und ihre Bedeutungen sind in der Liste der Bezugszeichen in einer zusammenfassenden Form aufgelistet. Im Prinzip sind völlig gleiche Teile in den Figuren mit den gleichen Bezugszeichen versehen.
  • 1 zeigt ein System 10 mit einem Master-Zeitgeber 12 und einem Slave-Zeitgeber 14, der mit dem Master-Zeitgeber 12 synchronisiert ist. Der Master-Zeitgeber 12 kann ein Hardware-Controller sein und/oder der Slave-Zeitgeber 14 kann ein Hardware-Controller sein.
  • Der Master-Zeitgeber 12 umfasst eine Zählerkomponente 16, die einen Master-Zähler 18 basierend auf einem Signal von einem Oszillator 20 inkrementiert, der z. B. ein Quarzoszillator sein kann. Ein Prozessor/eine CPU 22 des Master-Zeitgebers 12 steuert den Austausch von Zeitinformationen 24 mit dem Slave-Zeitgeber 14. Die Zeitinformationen 24 wie ein Wert des Master-Zählers 18 und optional die Synchronisationsinformationen werden über eine Synchronisationsschnittstelle 26 an den Slave-Zeitgeber 14 gesendet.
  • Der Slave-Zeitgeber 14 umfasst eine Zählerkomponente 28, die einen Slave-Zähler 30 basierend auf einem Signal von einem Oszillator 32 inkrementiert, der z. B. ein Quarzoszillator sein kann. Ein Prozessor/eine CPU 34 des Slave-Zeitgebers 14 steuert einen Empfang der Zeitinformationen 24 vom Master-Zeitgeber 12 über eine Synchronisationsschnittstelle 36. Es kann außerdem sein, dass die Funktionalität des Prozessors/der CPU 34 außerdem in Hardware, derartiger Logik und Flip-Flops implementiert ist.
  • Normalerweise weisen die Oszillatoren 20 und 32 eine Ungenauigkeit auf, die mit zunehmendem Abstand von einem Synchronisationspunkt zu einer zunehmenden Abweichung des Slave-Zählers 30 vom Master-Zähler 18 führt.
  • 2 veranschaulicht den Master-Zähler 18 und die unterschiedlich synchronisierten Slave-Zähler 30a, 30b, 30c, die mit dem hier beschriebenen Verfahren synchronisiert worden sind. Der Slave-Zähler 30a entspricht einem Slave-Zeitgeber 14 mit einem schneller laufenden Oszillator 32. Die Slave-Zähler 30b und 30c 30a entsprechen einem Slave-Zeitgeber 14 mit einem langsamer laufenden Oszillator 32.
  • Die Begriffe „langsamer“ und „schneller“ können sich in diesem Kontext auf einen Vergleich mit einem normierten Oszillator beziehen, der keine Ungenauigkeit aufweist. Insbesondere kann der Slave-Zähler 30c mit einem Oszillator 32 erzeugt werden, der (etwa) die doppelte Frequenz des Oszillators 20 des Master-Zeitgebers aufweist, wobei der Slave-Zähler nur bei jedem zweiten Ticken des Oszillators inkrementiert wird.
  • Wenn zwei unabhängige Oszillatoren 32, 20 genommen werden, in denen der Master-Zeitgeber 12 und der Slave-Zeitgeber 14 zählen, wird im Allgemeinen der Versatz zwischen den Zählern 18, 30 nach einer bestimmten Zeit ein Takt sein. Im Durchschnitt sind das hier beschriebene Verfahren und die hier beschriebene Schaltung entworfen, dies nach einem halben Taktzyklus des Master-Zeitgebers 12 oder des Slave-Zeitgebers 14 zu korrigieren.
  • Falls der Oszillator 32 des Slave-Zeitgebers 14 schneller als der Oszillator 20 des Master-Zeitgebers 12 läuft, werden von Zeit zu Zeit die Inkremente des Slave-Zählers 30a unterdrückt, um fast gleiche Zeitgeberwerte aufzuweisen.
  • Falls der Oszillator 32 des Slave-Zeitgebers 14 langsamer als der Oszillator 20 des Master-Zeitgebers 12 läuft, werden die Slave-Zähler 30b, 30c von Zeit zu Zeit zweimal innerhalb eines Oszillatorzyklus inkrementiert, in dem die Slave-Zähler 30a, 30b normalerweise nur einmal inkrementiert werden. Dies kann ausgeführt werden, indem ein Slave-Zähler-Inkrement versäumt wird, wie für den Slave-Zähler 30b gezeigt ist, und/oder indem Inkremente von der Hälfte der Zeitdauer der üblichen Inkremente verwendet werden, wie für den Slave-Zähler 30c gezeigt ist.
  • Im Fall des Slave-Zählers 30b kann z. B. für die unteren zwei Bits ein Volladdierer verwendet werden, um nicht nur den Slave-Zähler zu inkrementieren, sondern um 2 (b10) anstelle von 1 (b01) zu addieren.
  • Im Fall des Slave-Zählers 30c kann die Slave-Zählerkomponente 28 entworfen sein, nur jeden zweiten Oszillatorzyklus zu zählen, wobei aber für den Spezialfall, dass ein zusätzliches Inkrement erforderlich ist, ein Inkrement außerdem in dem anderen Oszillatorzyklus ausgeführt wird.
  • Im Folgenden wird angenommen, dass der Master-Zähler 18 und der Slave-Zähler 30 mit der gleichen Geschwindigkeit laufen sollten und dass das Inkrement für beide Zähler 18, 30 1 ist. Dies kann dann auf den Fall verallgemeinert werden, wenn die Zähler 18, 30 mit einer unterschiedlichen Geschwindigkeit laufen sollten, z. B. wenn der Master-Zähler 2-mal, 4-mal usw. schneller als der Slave-Zähler 30 laufen sollte und umgekehrt.
  • Im Allgemeinen kann der Slave-Zeitgeber 14 in einer Weise entworfen sein, dass die Korrektur ausgeführt wird, wenn der Zeitversatz des Slave-Zählers 30 zum Master-Zähler 18 die Hälfte einer Inkrementzeit des Slave-Zählers 18 ist. Dies bedeutet, dass eine Korrektur ausgeführt werden sollte, wenn die Zählerversätze auf die Hälfte der Zeit des Zeitpunkts, zu dem der Slave-Zähler 30 inkrementiert wird, kumuliert sind.
  • Wenn z. B. der Slave-Zähler 30 1 % schneller als der Master-Zähler 18 läuft, kann eine gute Korrektur geben werden, wenn der Slave-Zeitgeber 14 die Inkremente bei einem Wert von 50, 150, 250 usw. überspringt. Das Korrekturintervall beträgt in diesem Fall 100.
  • Unter Berücksichtigung einer häufigen Synchronisierung kann das erforderliche Korrekturintervall berechnet werden, indem der Versatz in den zwischen zwei Synchronisationspunkten erzeugten Zeitzählwerten durch den Zeitzählabstand zwischen den Synchronisationspunkten geteilt wird. K o r r e k t u r i n t e r v a l l = Z a ¨ h l e r w e r t    M a s t e r ( S y n c P u n k t    n ) Z a ¨ h l e r w e r t    M a s t e r ( S y n c P u n k t    n 1 ) Z a ¨ h l e r w e r t    S l a v e ( S y n c P u n k t    n ) Z a ¨ h l e r w e r t    M a s t e r ( S y n c P u n k t    n )
    Figure DE102020202690B3_0001
  • Wie bereits erwähnt worden ist, müssen möglicherweise zwei Fälle zu berücksichtigen sein. Für ein positives Korrekturintervall läuft der Slave-Zähler 30 langsamer, wobei Zählerinkremente übersprungen werden müssen. Für ein negatives Korrekturintervall läuft der Slave-Zähler 30 schneller, wobei Zählerinkremente hinzugefügt werden müssen.
  • In dieser Weise wird exakt die Anzahl der Inkremente zwischen den beiden Synchronisationspunkten subtrahiert oder addiert. Selbst wenn die Oszillatoren 32, 20 bezüglich eines Nennwerts ungenau sein können, können sie sehr stabil mit der tatsächlichen Frequenz laufen. Darauf basierend kann der bekannte Versatz zwischen zwei Synchronisationspunkten außerdem für zukünftige Korrekturen verwendet werden. Das Korrigieren des Slave-Zählers 30 mit dem Korrekturintervall kann zu bereits synchronisierten Werten für zukünftige Synchronisationspunkte führen. Das in den vorhergehenden Absätzen beschriebene Verfahren würde eine gute Synchronisation der Zähler 30, 18 bereitstellen, was permanent eine im hohen Grade genaue Zeit bereitstellt. Das Korrekturintervall, wie es oben definiert ist, ist jedoch normalerweise ein nicht ganzzahliger Wert, wobei aber die Korrektur nur an Vielfachen der Taktzyklen ausgeführt werden kann. Weiterhin sind Divisionen rechnerisch anspruchsvoll und können zu einem hohen Aufwand führen, der in Hardware zu implementieren ist.
  • Deshalb definiert das hier beschriebene Verfahren der Erfindung den Abstand der Synchronisationspunkte als eine Zweierpotenz in Taktzyklen von dem Master-Zähler 18, wobei es einen Satz von Korrekturintervallen verwendet, die alle eine Länge einer Zweierpotenz aufweisen.
  • 3 zeigt einen Blockschaltplan eines Slave-Zeitgebers 14, der das Verfahren implementiert. Einige oder alle der Blöcke, wie sie in 3 gezeigt sind, können in Hardware und/oder Software implementiert sein. Die Blöcke nach 3 können außerdem als die Komponenten des Slave-Zeitgebers 14 oder eines vom Slave-Zeitgeber 14 ausgeführten Verfahren gesehen werden.
  • Der Slave-Zeitgeber 14 weist eine Zählerkomponente 28 auf, die ein Oszillatorsignal 38 vom Oszillator 32 empfängt. Die Zählerkomponente 28 bestimmt den Slave-Zähler 30. In der Regel inkrementiert die Zählerkomponente 28 den Slave-Zähler, wenn sie ein Ticken des Slave-Oszillatorsignals 38 empfängt. Ausnahmen hiervon sind oben beschrieben worden und werden im Folgenden beschrieben.
  • Der Slave-Zeitgeber 14 weist eine Synchronisationsschnittstelle 36 auf, die die Zeitinformation 24 vom Master-Zeitgeber 12 empfängt und die die Informationen für jeden Synchronisationspunkt bereitstellt. Insbesondere stellt die Synchronisationsschnittstelle 36 einen Wert des Master-Zählers 18 und optional einen Synchronisationsimpuls 37, wenn der Wert des Master-Zählers 18 gültig ist, bereit.
  • Weiterhin weist der Slave-Zeitgeber 14 eine Korrekturwertbestimmungseinrichtung 40 auf, die den Wert des Master-Zählers 18 und optional den Synchronisationsimpuls 37 empfängt und daraus einen Korrekturwert 42 bestimmt.
  • Zu dem Zeitpunkt, zu dem der Synchronisationsimpuls 37 empfangen wird, berechnet die Korrekturwertbestimmungseinrichtung 40 z. B. den für die Zukunft verwendeten Zählerkorrekturwert 42. Der Zählerkorrekturwert 42 wird basierend auf einem Versatz und/oder einer Zeitdifferenz zwischen dem Master-Zähler 18 und dem Slave-Zähler 30 berechnet. Wenn sowohl der Slave-Zähler 30 als auch der Master-Zähler 18 mit der gleichen vorgesehenen Geschwindigkeit laufen, kann der Zählerkorrekturwert 42 die Differenz zwischen einem Wert des Master-Zählers 18 und einem Wert des Slave-Zählers 30 sein. Wenn die Zähler 18, 30 mit unterschiedlichen vorgesehenen Geschwindigkeiten laufen, kann einer der Zähler 18, 30 mit einem Faktor multipliziert werden, bevor die Differenz berechnet wird.
  • Der Zählerkorrekturwert 42 kann an jedem Synchronisationspunkt kontinuierlich aktualisiert werden. Der Zählerkorrekturwert 42 kann an den Synchronisationspunkten bestimmt werden, die durch ein Synchronisationsintervall voneinander beabstandet sind. Die Synchronisationspunkte können einen Abstand aufweisen, der gleich einem oder ein Vielfaches eines Synchronisationsintervalls ist, das eine Länge von einer Zweierpotenz der Master-Zählerinkremente aufweisen kann.
  • Um eine durch die Hardware des Slave-Zeitgebers 42 und eine Übertragungsleitung zwischen dem Master-Zeitgeber 12 und dem Slave-Zeitgeber 14 gegebene Latenzzeit zu kompensieren, kann der Wert des Master-Zählers 18 in der Synchronisationsschnittstelle 26 und/oder in der Korrekturwertbestimmungseinrichtung 40 eingestellt werden.
  • Um den Zählerkorrekturwert 42 zu berechnen, ist es eine Option, den doppelten Versatz zwischen Master-Zähler 18 und Slave-Zähler 20 für die Zeit bis zum nächsten Synchronisationspunkt zu verwenden. Dies geschieht, um den Versatz aus der Vergangenheit plus dem Versatz für die Zukunft zu korrigieren. Für die Zeit nach dem nächsten Synchronisationspunkt kann der Versatz einmal vom Zählerkorrekturwert 42 subtrahiert werden, weil der frühere Versatz möglicherweise nur einmal korrigiert werden muss. Zu diesem Zeitpunkt muss der neu berechnete Versatz entsprechend behandelt werden.
  • Dies führt zu der folgenden Formel: C C V ( n ) = 2 * V e r s a t z ( n ) + C C V ( n 1 ) V e r s a t z ( n 1 ) ,
    Figure DE102020202690B3_0002
    wobei „CCV“ der Zählerkorrekturwert 42 ist und n die Position/Nummer des Synchronisationspunktes ist. „Versatz“ ist der Versatz zwischen dem Master-Zähler 18 und dem Slave-Zähler 20.
  • Der Zählerkorrekturwert 42 am Synchronisationspunkt (an der Position n) ist auf das Doppelte der Differenz zwischen dem Master-Zähler 18 und dem Slave-Zähler 20 am Synchronisationspunkt plus dem Zählerkorrekturwert 42 am vorherigen Synchronisationspunkt (an der Position n - 1) minus der Differenz zwischen dem Master-Zähler 18 und dem Slave-Zähler 20 am vorherigen Synchronisationspunkt gesetzt.
  • Die folgende Tabelle zeigt die Synchronisation der Zeitgeber 12, 14 als ein Beispiel, wobei das Synchronisationsintervall 256 Master-Taktzyklen beträgt und wobei der Oszillator 32 des Slave-Zeitgebers 14 4,5 % schneller als der Oszillator 20 des Master-Zeitgebers 12 läuft. In der Tabelle sind die Werte für die ersten 5 Synchronisationspunkte gezeigt. Die Tabelle zeigt einen Aufbau, bei dem das Vorzeichen des Zählerkorrekturwertes CCV separat behandelt wird. Da der Slave-Zähler 20 schneller läuft, muss das Zählen möglicherweise zu den entsprechenden Zählerkorrekturzeitpunkten unterdrückt werden.
    Figure DE102020202690B3_0003
  • Als eine Option kann der Slave-Zeitgeber 14 eine Initialisierungseinrichtung 43 aufweisen, die den Slave-Zähler 30 mit dem Master-Zählerwert 18 initialisiert. Es gibt zwei Optionen, diese Initialisierung zu steuern: Nach dem Rücksetzen wird ein Merker gesetzt, der zeigt, dass die Initialisierung am ersten Synchronisationspunkt ausgeführt werden sollte. Dieser Merker kann zu dem Zeitpunkt, zu dem die Initialisierung ausgeführt ist, rückgesetzt werden. Es kann außerdem sein, dass die Initialisierung in einem Fall ausgeführt wird, wenn sich der Versatz zwischen dem Master-Zähler 18 und dem Slave-Zähler 30 in einem Bereich befindet, der durch den Zählerkorrekturwert 42 nicht abgedeckt werden kann. Dies kann außerdem für eine Überwachungsfunktion verwendet werden. In diesem Fall kann unter Verwendung des Slave-Zeitgebers 14 eine Störung oder eine Warnung an ein übergeordnetes System gemeldet werden. Zusätzlich kann der Master-Zeitgeber 12 eine Initialisierungsanforderung über die Synchronisationsschnittstelle 36 senden.
  • Eine weitere Komponente des Slave-Zeitgebers 14 ist ein Decodierer 44, der den Zählerkorrekturwert 42 und ein Übertragsbitsignal 46 von der Slave-Zählerkomponente 28 empfängt. Der Decodierer bestimmt die Zählerkorrekturintervalle 48, die Zählerkorrekturzeitpunkte 50 und ein Korrekturzeitsignal 52.
  • Im Folgenden wird die Funktionalität des Decodierers 44 basierend auf einem 12-Bit-Slave-Zähler 30 und einem Zählerkorrekturwert 42 von 11, binär b1011, erklärt. Weiterhin wird ein Synchronisationsintervall von 28 = 256 Master-Zählerinkrementen angenommen. Das Verfahren funktioniert jedoch mit jeder anderen Länge des Slave-Zählers 30, jedem Zählerkorrekturwert 42 und jedem anderen Synchronisationsintervall mit einer Länge einer Potenz von 2.
  • Es wird ein Synchronisationsintervall mit einer Länge von 2n Master-Zählerinkrementen angenommen. Dann kann der Slave-Zeitgeber 14 bei jedem Synchronisationsintervall den Zählerkorrekturwert, wie oben beschrieben worden ist, oder mit einem komplexeren Filter berechnen. Der Zählerkorrekturwert 42 kann als eine Binärzahl dargestellt sein, die als CCV(n bis hinunter zu 0) dargestellt werden kann. Das Ergebnis ist ein Wert, der durch das Synchronisationsintervall geteilt werden sollte, um den Versatz pro Inkrement zu erhalten. Da dies eine Zweierpotenz ist, ist der resultierende Wert: C C V 2 n = Σ k = 0 n C C V ( k ) 2 n k ,
    Figure DE102020202690B3_0004
    wobei k die Bitposition im Zählerkorrekturwert 42 ist. Zum Beispiel, b 1011 256 = 1 32 + 1 128 + 1 256 .
    Figure DE102020202690B3_0005
  • Für die Synchronisation der Zeitgeber 12, 14, die in den Oszillatoren 20, 32 mit einer sehr geringen Abweichung laufen, ist der Zählerkorrekturwert 42 normalerweise klein. Deshalb weist der Zählerkorrekturwert 42 nur einige wenige Bits auf. Nun wird für jedes Bit k des Zählerkorrekturwertes 42, das 1 ist, ein Zählerkorrekturintervall 48 definiert, das eine Länge 2n-k aufweist. Im obigen Beispiel wird das Zählerkorrekturintervall 48 der Längen 32, 128 und 256 gewählt.
  • Im Allgemeinen wird ein Zählerkorrekturintervall 48 für jedes Bit des Zählerkorrekturwertes 42, das 1 ist, bestimmt, wobei jedes Zählerkorrekturintervall 48 eine Länge 2n-k aufweist, wobei 2n die Länge des Synchronisationsintervalls ist und k die Position des Bits, das 1 ist, im Zählerkorrekturwert 42 ist.
  • Es ist zu sehen, dass, wenn der Slave-Zähler 30 nach jedem Zählerkorrekturintervall 48 korrigiert wird (d. h., das Inkrement verdoppelt oder ausgelassen wird), dann nach einem Synchronisationsintervall der Slave-Zähler 30 mit dem Master-Zähler 18 synchronisiert ist.
  • Die Korrekturintervalle 48 können über ihre Länge n - k den Bits des Slave-Zählers 30 zugeordnet sein. Wann immer das entsprechende Bit des Slave-Zählers 30 auf 1 umschaltet, d. h., wenn sein Übertragsbit 1 ist, kann ein Synchronisationspunkt 50 erreicht sein. Für das Beispiel führt dies zu der folgenden Tabelle.
    CCV(0) = 1 7 255
    CCV(1) = 1 6 127 255
    CCV(2) = 0 5
    CCV(3) = 1 4 31 63 95 127 159 191 223 255
  • Die erste Spalte zeigt die Bits des Zählerkorrekturwertes 42. Die zweite Spalte zeigt die zugeordnete Bitposition des Slave-Zählers 30. Die verbleibenden Spalten zeigen die Werte, bei denen das Übertragsbit der zugeordneten Bitposition für den nächsten Inkrementzyklus auf 1 umschaltet.
  • Werden die gültigen Zellen der Tabelle gezählt, führen 11 Zellen zu einer Korrektur innerhalb des Intervalls von 256. Bei 128 würde jedoch eine Korrektur von zwei Inkrementen erforderlich sein, während bei 256 eine Korrektur von drei Inkrementen erforderlich sein würde. Dies bedeutet außerdem, dass die kumulierte Ungenauigkeit zu diesem Zeitpunkt bereits zwei bzw. drei Inkremente beträgt.
  • Das Kombinieren eines Übertragsbits des Slave-Zählers 30 mit einem Übertragsbit des nächsthöheren Bits in einer Weise, dass es nur eine Korrektur erzeugt, wenn die nächsthöheren Übertragsbits 0 sind, führt zu der folgenden Tabelle:
    6 127
    5 63 190
    4 34 95 223
    3 15 47 79 111 143 175 207 239
  • Analog zur vorherigen Tabelle zeigt die erste Spalte die zugeordnete Bitposition des Slave-Zählers 30. Die verbleibenden Spalten zeigen die Werte, bei denen das Übertragsbit der zugeordneten Bitposition für den nächsten Inkrementzyklus auf 1 umschaltet.
  • Die Zählerkorrekturzeitpunkte 50 werden gemäß dieser Tabelle bestimmt, d. h., die Zählerkorrekturzeitpunkte 50 sind die Versätze, wie sie in der Tabelle bezüglich des vorherigen Synchronisationspunkts angegeben sind. Aus der Tabelle wird deutlich, dass die Zählerkorrekturzeitpunkte 50 fast gleichmäßig über das Synchronisationsintervall verteilt sind.
  • Im Allgemeinen werden für jedes Zählerkorrekturintervall 48 die Zählerkorrekturzeitpunkte 50 bestimmt, wobei sich benachbarte Zählerkorrekturzeitpunkte 50 für ein Zählerkorrekturintervall 48 um die Länge des Zählerkorrekturintervalls 48 unterscheiden. Weiterhin weist ein erster Zählerkorrekturzeitpunkt 50 für ein Korrekturintervall 48 einen Versatz von 2n-k-1 zu einem gemeinsamen Basispunkt für alle Korrekturzeitpunkte 50 auf.
  • Wann immer ein Zählerkorrekturzeitpunkt 50 erreicht wird, löst der Decodierer 44 ein Korrekturzeitsignal 58 aus, das in eine Zählerkorrektureinrichtung 54 eingegeben wird, die außerdem ein Vorzeichensignal 56 für den Zählerkorrekturwert 42 empfängt, das von der Zählerkorrekturbestimmungseinrichtung 40 erzeugt wird. Wenn der Zählerkorrekturwert 42 und/oder sein Vorzeichen angeben, dass der Slave-Zähler 30 dem Master-Zähler 18 voraus ist, veranlasst die Zählerkorrektureinrichtung 54 die Zählerkomponente 28, ein Inkrement des Slave-Zählers 30 zu den Zählerkorrekturzeitpunkten 50 zu überspringen. Wenn der Zählerkorrekturwert 42 und/oder sein Vorzeichen angeben, dass der Slave-Zähler 30 hinter dem Master-Zähler 18 liegt, veranlasst die Zählerkorrektureinrichtung 54 die Zählerkomponente 28, den Slave-Zähler 30 zu den Zählerkorrekturzeitpunkten 50 zweimal zu inkrementieren.
  • Es kann sein, dass der Slave-Zähler 30 ein Zwei-Bit-Korrektursignal 58 von der Zählerkorrektureinrichtung 54 empfängt. Das Zwei-Bit-Korrektursignal 58 kann auf 01 gesetzt sein, wenn kein Korrekturzeitsignal 58 vorhanden ist. Das Zwei-Bit-Korrektursignal 58 kann auf 00 gesetzt sein, wenn das Vorzeichensignal 56 angibt, dass der Slave-Zähler 30 dem Master-Zähler 18 voraus ist. Das Zwei-Bit-Korrektursignal 58 kann auf 10 gesetzt sein, wenn das Vorzeichensignal 56 angibt, dass der Slave-Zähler 30 hinter dem Master-Zähler 18 liegt.
  • Falls sichergestellt ist (z. B. durch den Entwurf gegeben ist), dass der Slave-Zeitgeber 14 schneller oder langsamer als der Master-Zeitgeber 12 ist, können die Berechnung des Zählerkorrekturwertes 42 und der Decodierer 44 vereinfacht werden. Die Korrektur muss nur in einer Richtung ausgeführt werden. Es kann keine Erzeugung eines Absolutwertes erforderlich sein.
  • Falls der Slave-Zeitgeber 14 schneller ist, kann der Zählerkorrekturwert 42 berechnet werden, indem der Wert des Master-Zählers 18 vom Wert des Slave-Zählers 30 subtrahiert wird. Weiterhin kann die Korrektur nur durch das Unterdrücken des Inkrements ausgeführt werden.
  • Falls der Slave-Zeitgeber 14 langsamer ist, kann der Zählerkorrekturwert 42 berechnet werden, indem der Wert des Slave-Zählers 30 vom Wert des Master-Zählers 18 subtrahiert wird. Weiterhin kann die Korrektur ausgeführt werden, indem zwei („10“) anstelle eines einfachen Inkrements nur addiert werden oder indem ein doppeltes Inkrement pro Inkrementzyklus unter Verwendung eines Oszillators mit der doppelten Frequenz ausgeführt wird.
  • 4 zeigt einen Stromlaufplan der Blöcke 28, 44 und 54 einer Ausführungsform eines Slave-Zeitgebers 14.
  • Der Slave-Zähler 30 wird durch den Ausgang einer Flip-Flop-Zählerschaltung 59 bereitgestellt. Die Bits des Slave-Zählers 30 sind mit Zählen0 bis Zählen11 angegeben. Der Slave-Zähler 30 wird mit einer Flip-Flop-Zählerschaltung 59 inkrementiert, die durch das Slave-Oszillatorsignal 38 ausgelöst wird. Die Flip-Flop-Zählerschaltung 59 umfasst für jedes Bit des Slave-Zählers 30 ein Flip-Flop 62. Nur einige der Flip-Flops sind mit einem Bezugsvorzeichen versehen. Ein Flip-Flop 62 schaltet um, wenn alle Flip-Flops für die unteren Bits 1 ausgeben. Das Umschalten wird durch ein Übertragsbit verursacht, das mit einer Zählerlogik 60 der Flip-Flop-Zählerschaltung 59 bestimmt wird. Die Zählerlogik bestimmt, ob alle Flip-Flops für die unteren Bits 1 ausgeben, und setzt dann das entsprechende Übertragsbit auf 1.
  • Einige der Übertragsbits sind mit Übertrag(7) bis Übertrag(3) angegeben und bilden das Übertragsbitsignal 46, das in die Decodiererschaltung 44 eingegeben wird. Als eine weitere Eingabe empfängt die Decodiererschaltung 44 die Bits des Zählerkorrekturwertes 42, die durch Korrektur(0) bis Korrektur(3) angegeben sind. Ein Korrekturzeitsignal 52 wird von der Decodiererschaltung 44 ausgegeben, wenn ein Synchronisationszeitpunkt 50 erreicht ist.
  • Das Korrekturzeitsignal 52 wird ausgegeben, wenn das Bit k des Zählerkorrekturwertes 1 ist, das Übertragsbit n - k der Flip-Flop-Zählerschaltung 59 0 ist und das Übertragsbit n - k - 1 des Flip-Flop-Zählerschaltung 59 1 ist.
  • Das Zwei-Bit-Korrektursignal 58, das von der Zählerkorrekturschaltung 54 erzeugt wird, ist in der Zählerlogik 60 enthalten. Abhängig vom Zwei-Bit-Korrektursignal 58 wird ein einfaches Inkrement, ein doppeltes Inkrement oder kein Inkrement erzeugt, wenn das Oszillatorsignal ausgelöst wird.
  • Für die Berechnung des Zählerkorrekturwertes 42 kann ein Prozessor verwendet werden. In diesem Fall kann ein Synchronisationsintervall, das keine Zweierpotenz ist, verwendet werden. In diesem Fall können komplexere Berechnungen akzeptabel sein. Der Zählerkorrekturwert 42 kann jedoch an einen Wert einer Zweierpotenz angepasst werden, um ihn mit der Übertraglogik zu verbinden.
  • Die Zeitgeber 12, 14 mit Oszillatoren mit Nennfrequenzen mit einem Verhältnis einer Zweierpotenz können außerdem durch Anpassen der Bitpositionen für die Zählerkorrektureinrichtung 54 und durch Bitverschiebung der Eingaben und der Ausgaben synchronisiert werden.
  • Die Zeitformate, wie sie in Standards wie dem IEE802.1AS oder dem IEEE1588 spezifiziert sind, können unterstützt werden. Die vom Master-Zeitgeber 12 empfangene Zeit kann in einen linearen Zeitgeber umgesetzt werden und kann auf einer Ausgangsseite des Slave-Zeitgebers 14 zurück umgesetzt werden. Alternativ kann ein Zeitgeber gemäß dem durch den Standard definierten Format aufgebaut sein. Die Korrektur kann nur im ns-Abschnitt ausgeführt werden. Ein Überlauf muss daher nur für den zweiten Abschnitt berücksichtigt werden.
  • Hinsichtlich der Zählerstrukturen für die Zähler, die z. B. in den ns-Bereich und s-Bereich aufgeteilt sind, führt dies zu der Tatsache, dass der Überlauf des ns-Bereichs bei einem Wert geschieht, der keine Zweierpotenz ist. Um die Korrekturberechnung zu vereinfachen, ist es eine Option, die Korrekturberechnung für das Synchronisationsintervall, das den Überlauf enthält, einfach zu unterdrücken. Dies kann immer noch zu einer ausreichenden Genauigkeit führen.
  • Das Verfahren und die Schaltung können außerdem in einem kaskadierten System verwendet werden, wenn der Slave-Zeitgeber 14 ein weiterer Master-Zeitgeber für ein mit ihm verbundenes System wird. Da kontinuierlich eine hochgenauer Takt verfügbar ist, können die Synchronisationsintervalle nicht die gleichen sein. Außerdem können sich die Synchronisationspunkte an unterschiedlichen Positionen befinden.
  • Während die Erfindung in den Zeichnungen und der vorstehenden Beschreibung veranschaulicht und ausführlich beschrieben worden ist, sind eine derartige Veranschaulichung und Beschreibung als veranschaulichend oder beispielhaft und nicht einschränkend zu betrachten; die Erfindung ist nicht auf die offenbarten Ausführungsformen eingeschränkt. Andere Variationen der offenbarten Ausführungsformen können von den Fachleuten auf dem Gebiet und das Praktizieren der beanspruchten Erfindung aus einer Untersuchung der Zeichnungen, der Offenbarung und der beigefügten Ansprüche verstanden und ausgeführt werden. In den Ansprüchen schließt das Wort „umfassend“ andere Elemente oder Schritte nicht aus, wobei die unbestimmten Artikel „ein“ oder „eine“ mehrere nicht ausschließen. Ein einziger Prozessor oder Controller oder eine andere Einheit kann die Funktionen mehrerer in den Ansprüchen angegebener Elemente erfüllen. Die bloße Tatsache, dass bestimmte Maßnahmen in wechselseitig voneinander abhängigen Ansprüchen angegeben sind, gibt nicht an, dass eine Kombination dieser Maßnahmen nicht vorteilhaft verwendet werden kann. Irgendwelche Bezugszeichen in den Ansprüchen sollten nicht als den Schutzumfang einschränkend ausgelegt werden.
  • Bezugszeichenliste
  • 10
    System
    12
    Master-Zeitgeber
    14
    Slave-Zeitgeber
    16
    Zählerkomponente
    18
    Master-Zähler
    20
    Oszillator
    22
    Prozessor/CPU
    24
    Zeitinformationen
    26
    Synchronisationsschnittstelle
    28
    Zählerkomponente
    30
    Slave-Zähler
    30a
    Slave-Zähler
    30b
    Slave-Zähler
    30c
    Slave-Zähler
    32
    Oszillator
    34
    Prozessor/CPU
    36
    Synchronisationsschnittstelle
    37
    Synchronisationsimpuls
    38
    Oszillatorsignal
    40
    Korrekturwertbestimmungseinrichtung
    42
    Zählerkorrekturwert
    43
    Initialisierungseinrichtung
    44
    Decodierer
    46
    Übertragsbitsignal
    48
    Zählerkorrekturintervall
    50
    Zählerkorrekturzeitpunkt
    52
    Korrekturzeitsignal
    54
    Zählerkorrektureinrichtung
    56
    Vorzeichensignal
    58
    Korrektursignal
    59
    Flip-Flop-Zählerschaltung
    60
    Zählerlogik
    Zählen(i)
    Bit des Slave-Zählers
    Übertrag(n - k)
    Übertragsbit
    Korrektur(k)
    Bit des Zählerkorrekturwertes

Claims (14)

  1. Verfahren zum Synchronisieren eines Slave-Zeitgebers (14) mit einem Master-Zeitgeber (12), wobei der Slave-Zeitgeber (14) einen Slave-Zähler (30) regelmäßig inkrementiert und der Master-Zeitgeber (12) einen Master-Zähler (18) regelmäßig inkrementiert, wobei das Verfahren Folgendes umfasst: Bestimmen eines Zählerkorrekturwertes (42) basierend auf einer Zeitdifferenz zwischen dem Master-Zähler (18) und dem Slave-Zähler (30); Bestimmen von Zählerkorrekturintervallen (48) für jedes Bit des Zählerkorrekturwertes (42), das 1 ist, wobei jedes Zählerkorrekturintervall (48) eine Länge 2n-k aufweist, wobei 2n eine Synchronisationsintervalllänge ist und k die Position des Bits, das 1 ist, in dem Zählerkorrekturwert (42) ist; Bestimmen von Zählerkorrekturzeitpunkten (50) für jedes Zählerkorrekturintervall (48), wobei sich benachbarte Zählerkorrekturzeitpunkte (50) für ein Zählerkorrekturintervall (48) um die Länge des Zählerkorrekturintervalls (48) unterscheiden; wenn der Zählerkorrekturwert (42) angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, Überspringen des Inkrementierens des Slave-Zählers (30) zu den Zählerkorrekturzeitpunkten (50); wenn der Zählerkorrekturwert (42) angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt, Inkrementieren des Slave-Zählers (30) zweimal zu den Zählerkorrekturzeitpunkten (50).
  2. Verfahren nach Anspruch 1, wobei ein erster Zählerkorrekturzeitpunkt (50) für ein Korrekturintervall (48) einen Versatz von 2n-k-1 zu einem gemeinsamen Basispunkt für alle Korrekturzeitpunkte (50) aufweist.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Slave-Zähler (30) mit einer Flip-Flop-Zählerschaltung (58) inkrementiert wird, die durch ein Slave-Oszillatorsignal (38) ausgelöst wird, wobei die Flip-Flop-Zählerschaltung (58) ein Flip-Flop (62) für jedes Bit des Slave-Zählers (30) umfasst, wobei das Flip-Flop (62) umschaltet, wenn alle Flip-Flops für die unteren Bits 1 ausgeben.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Zählerkorrekturzeitpunkte (50) mit einer Decodiererschaltung (44) bestimmt werden; wobei wenigstens einige der Übertragsbits des Slave-Zählers (30) in die Decodiererschaltung (44) eingegeben werden; wobei ein Korrekturzeitsignal (52) von der Decodiererschaltung (44) ausgegeben wird, wenn ein Synchronisationszeitpunkt (50) erreicht ist.
  5. Verfahren nach Anspruch 4, wobei die Decodiererschaltung (44) das Korrekturzeitsignal (52) ausgibt, wenn das Bit k des Korrekturwertes 1 ist, das Übertragsbit n - k des Slave-Zählers 0 ist und das Übertragsbit n - k - 1 des Slave-Zählers 1 ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bitlänge des Korrekturwertes (42) kleiner als eine Bitlänge des Slave-Zählers (30) ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Slave-Zähler (30) basierend auf einem Zwei-Bit-Korrektursignal (58) einer Zählerkorrekturschaltung (54) inkrementiert wird; wobei ein Korrekturzeitsignal (52), das angibt, dass ein Synchronisationszeitpunkt (50) erreicht ist, in die Zählerkorrekturschaltung eingegeben wird; wobei ein Vorzeichensignal (56), das angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, oder angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt, in eine Zählerkorrekturschaltung eingegeben wird; wobei das Zwei-Bit-Korrektursignal (58) auf 01 gesetzt ist, wenn kein Korrekturzeitsignal vorhanden ist, das Zwei-Bit-Korrektursignal (58) auf 00 gesetzt ist, wenn das Vorzeichensignal (56) angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, und das Zwei-Bit-Korrektursignal (58) auf 10 gesetzt ist, wenn das Vorzeichensignal (56) angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt.
  8. Verfahren nach Anspruch 7, wobei das Zwei-Bit-Korrektursignal (58) in einer Zählerlogik (60) einer Flip-Flop-Zählerschaltung (58) enthalten ist, die den Slave-Zähler (30) ausgibt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Zählerkorrekturwert (42) an den Synchronisationspunkten bestimmt wird, die durch ein Synchronisationsintervall voneinander beabstandet sind; wobei der Zählerkorrekturwert (42) an einem Synchronisationspunkt auf das Doppelte der Differenz zwischen dem Master-Zähler (18) und dem Slave-Zähler (20) an dem Synchronisationspunkt plus dem Zählerkorrekturwert (42) an dem vorherigen Synchronisationspunkt minus der Differenz zwischen dem Master-Zähler (18) und dem Slave-Zähler (20) an dem vorherigen Synchronisationspunkt gesetzt wird.
  10. Slave-Controller (14), der zum Ausführen des Verfahrens gemäß einem der vorhergehenden Ansprüche ausgelegt ist.
  11. Slave-Controller (14) nach Anspruch 10, der Folgendes umfasst: einen Zähler (28) zum Inkrementieren des Slave-Zählers (30); einen Decodierer (44) zum Ausgeben eines Korrekturzeitsignals (52), wenn ein Synchronisationszeitpunkt (50) erreicht ist; eine Zählerkorrektureinrichtung (54) zum Ausgeben eines Korrektursignals (58), das das Inkrement des Slave-Zählers (30) verzögert und beschleunigt.
  12. Slave-Controller (14) nach Anspruch 10 oder 11, wobei der Zähler (28) eine Flip-Flop-Zählerschaltung ist, die durch ein Slave-Oszillatorsignal (38) ausgelöst wird, wobei die Flip-Flop-Zählerschaltung ein Flip-Flop für jedes Bit des Slave-Zählers umfasst, wobei das Flip-Flop umschaltet, wenn alle Flip-Flops für die unteren Bits 1 ausgeben.
  13. Slave-Controller (14) nach einem der Ansprüche 10 bis 12, wobei der Decodierer (44) eine Decodiererschaltung zum Bestimmen der Zählerkorrekturzeitpunkte (50) ist; wobei wenigstens einige Übertragsbits des Slave-Zählers (30) in die Decodiererschaltung (44) eingegeben werden; wobei ein Korrekturzeitsignal (52) von der Decodiererschaltung ausgegeben wird, wenn ein Synchronisationszeitpunkt (50) erreicht ist.
  14. Slave-Controller (14) nach einem der Ansprüche 10 bis 13, wobei die Zählerkorrektureinrichtung (54) eine Zählerkorrekturschaltung zum Erzeugen eines Zwei-Bit-Korrektursignals (58) ist; wobei der Slave-Zähler (30) basierend auf dem Zwei-Bit-Korrektursignal (58) inkrementiert wird; wobei ein Korrekturzeitsignal (52), das angibt, dass ein Synchronisationszeitpunkt (50) erreicht ist, in die Zählerkorrekturschaltung eingegeben wird; wobei ein Vorzeichensignal (56), das angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, oder angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt, in die Zählerkorrekturschaltung eingegeben wird; wobei das Zwei-Bit-Korrektursignal (58) auf 01 gesetzt ist, wenn kein Korrekturzeitsignal vorhanden ist, das Zwei-Bit-Korrektursignal (58) auf 00 gesetzt ist, wenn das Vorzeichensignal (56) angibt, dass der Slave-Zähler (30) dem Master-Zähler (18) voraus ist, und das Zwei-Bit-Korrektursignal (58) auf 10 gesetzt ist, wenn das Vorzeichensignal (56) angibt, dass der Slave-Zähler (30) hinter dem Master-Zähler (18) liegt.
DE102020202690.4A 2020-03-03 2020-03-03 Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber Active DE102020202690B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020202690.4A DE102020202690B3 (de) 2020-03-03 2020-03-03 Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020202690.4A DE102020202690B3 (de) 2020-03-03 2020-03-03 Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber

Publications (1)

Publication Number Publication Date
DE102020202690B3 true DE102020202690B3 (de) 2021-07-15

Family

ID=76543161

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020202690.4A Active DE102020202690B3 (de) 2020-03-03 2020-03-03 Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber

Country Status (1)

Country Link
DE (1) DE102020202690B3 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230023970A1 (en) * 2019-12-25 2023-01-26 Omron Corporation Control system
CN115717885A (zh) * 2022-10-25 2023-02-28 北京晨晶电子有限公司 芯片、石英陀螺数字电路、陀螺仪及信号同步采集方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260906A1 (en) 2006-05-08 2007-11-08 Corredoura Paul L Clock synchronization method and apparatus
DE102013222471A1 (de) 2012-11-15 2014-05-15 International Business Machines Corporation Erzeugung und verteilung einer synchronisierten zeitquelle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260906A1 (en) 2006-05-08 2007-11-08 Corredoura Paul L Clock synchronization method and apparatus
DE102013222471A1 (de) 2012-11-15 2014-05-15 International Business Machines Corporation Erzeugung und verteilung einer synchronisierten zeitquelle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230023970A1 (en) * 2019-12-25 2023-01-26 Omron Corporation Control system
CN115717885A (zh) * 2022-10-25 2023-02-28 北京晨晶电子有限公司 芯片、石英陀螺数字电路、陀螺仪及信号同步采集方法

Similar Documents

Publication Publication Date Title
DE68926598T2 (de) Vorrichtung zur Taktsignalversorgung
EP0084592B1 (de) Verfahren und Schaltungsanordnung zur Messung der Zeitdifferenz zwischen Abtastzeitpunkten zweier abgetasteter Signale, insbesondere EIn- und Ausgangssignale eines Abtastratenumsetzers
DE102020202690B3 (de) Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber
DE102006060067A1 (de) Genaues Einstellen eines lokalen Taktes
DE3208240C2 (de) Serien-Parallel-Umsetzer
DE4110933A1 (de) Uebertragungssystem fuer die synchrone digitale hierachie
DE2636925A1 (de) Geraet zur verfolgung von radarsignalen
DE2720747A1 (de) Taktimpuls-regenerator
DE3307782A1 (de) Schaltungsanordnung zur erzeugung von synchrontaktsignalen
DE3803525C2 (de) Vorrichtung zum Betrieb von absoluten Echtzeituhren in einem eine Zentraluhr und Teilnehmer enthaltenden Prozeßsteuersystem
DE112015003343B4 (de) Netzwerksystem, Zeit-Master-Station und Zeit-Slave-Station
EP1564925B1 (de) Verfahren und Vorrichtung zum Synchronisieren einer Funktionseinheit auf eine vorgegebene Taktfrequenz
DE3922897A1 (de) Stopfentscheidungsschaltung fuer eine anordnung zur bitratenanpassung
DE102018129189B4 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
DE3416548A1 (de) Verfahren und einrichtung zur optimalen zeitlichen einstellung von taktsignalen fuer digitalrechner
DE3340553C2 (de)
DE112018007743T5 (de) Kommunikationsgerät, Kommunikationssystem und Synchronisationssteuerungsverfahren
EP0143504A2 (de) Schaltungsanordnung zum Erkennen der Vertikalaustastlücke in einem Bildsignal
DE3743434C2 (de)
DE69102273T2 (de) Impulsfrequenzteiler für einen synchronen digitalen takt.
DE2613930C3 (de) Digitaler Phasenregelkreis
EP0237699B1 (de) Verfahren und Schaltungsanordnung zum Synchronisieren eines insbesondere einer Vermittlungseinrichtung zugehörigen spannungsgesteuerten Oszillators
DE10007070A1 (de) Kommunikationsnetzwerk mit zeitgesteuertem Kommunikationsprotokoll
DE10159257C2 (de) Vorrichtung zur Nachbildung eines Taktsignals
DE1925917A1 (de) Binaere Impulsfrequenz-Multiplizierschaltung

Legal Events

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