-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine Zeitsynchronisationstechnik beispielsweise zwischen mehreren Knotengeräten, die in einem Netzwerk vom Ringtyp verbunden sind.
-
Stand der Technik
-
Als ein herkömmliches Zeitsynchronisationsprotokoll wird NTP (Netzwerk-Zeitprotokoll) oder IEEE 1588 genannt.
-
Weiterhin gibt es, um die Zeit in einem Netzwerk vom Ringtyp zu synchronisieren, ein Verfahren zum einfachen Senden der Zeit eines Knotengeräts, die eine Bezugsgröße darstellt, und zum Einstellen einer lokalen Zeit auf die Zeit der Bezugsgröße.
-
Weiterhin wird auch ein anderes Verfahren vorgeschlagen, bei dem Prozesse in dem Netzwerk vom Ringtyp synchronisiert sind (z. B. Patentdokument 1).
Patentdokument 1:
JP2002-247059
-
JP H05-167589 A beschreibt ein Zeitkontrollsystem für ein LAN zum Reduzieren der Last, die durch eine Zeitkontrolle verursacht wird und zum genauen Setzen der Zeit jeder Endgeräteuhr entsprechend einer Referenzzeit.
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösende Probleme
-
In dem Zeitsynchronisationsprotokoll nach NTP oder IEEE 1588 wird angenommen, dass eine Anforderung und eine Antwort auf derselben Route in den einander entgegengesetzten Richtung gesendet werden, so dass, wenn die Anforderung und die Antwort auf unterschiedlichen Routen wie dem Netzwerk vom Ringtyp gesendet werden, es unmöglich ist, eine korrekte Zeitsynchronisation zu implementieren.
-
Weiterhin können bei dem Verfahren des einfachen Sendens der Zeit und der Einstellung auf diese Zeit aufgrund des Einflusses von Übertragungsverzögerung oder Relaisverzögerung usw. die eingestellten Zeiten gemäß dem Ort des Knotengeräts innerhalb des Rings variieren.
-
Weiterhin wird bei dem Prozesssynchronisierungsverfahren des Netzwerks vom Ringtyp wie im Patentdokument 1 eine vorgeschlagene synchronisierte Zeit unter Berücksichtigung der Verzögerung erhalten; jedoch wird eine Veränderung der Zeit des internen Takts jedes Knotengeräts selbst nicht berücksichtigt.
-
Eine der Hauptaufgaben der vorliegenden Erfindung besteht darin, die vorgenannten Probleme zu lösen, und eine Hauptaufgabe besteht darin, in dem Netzwerk vom Ringtyp die Zeitsynchronisation mit einer hohen Genauigkeit unter Verwendung eines Protokolls, bei dem angenommen wird, dass die Paketübertragung in nur einer Richtung erfolgt, zu implementieren.
-
Mittel zum Lösen der Probleme
-
Gemäß der vorliegenden Erfindung führt in einem Kommunikationssystem, in welchem ein Masterknotengerät mit einem Bezugstakt und mehrere Slaveknotengeräte mit jeweils einem internen Takt so verbunden sind, dass ein Ring gebildet wird, um ein Paket zwischen den mehreren Knotengeräten durch Übertragen des Pakets gemäß einem Paketübertragungsbefehl, der für jedes der mehreren Knotengeräte vorgeschrieben ist, zu zirkulieren,
das Masterknotengerät aus:
Senden eines Messpaket zu einem Slaveknotengerät, das ein Empfänger gemäß dem Paketübertragungsbefehl ist; und Empfangen des Messpakets, das zwischen den mehreren Slaveknotengeräten zirkuliert wurde;
Speichern einer Sendezeit des Messpakets und einer Empfangszeit des Messpakets gemäß dem Zeithalten des Bezugstakts;
Senden eines Verzögerungsberechnungspakets zum Erhalten einer Gesamtsumme von Relaisverzögerungszeit bei den mehreren Slaveknotengeräten zu dem Slaveknotengerät, das der Empfänger gemäß dem Paktübertragungsbefehl ist; und Empfangen des Verzögerungsberechnungspakets, das zwischen den mehreren Slaveknotengeräten zirkuliert wurde;
einer Interknotengerät-Übertragungsverzögerungszeit auf der Grundlage der Gesamtsumme der Relaisverzögerungszeit bei den mehreren Slaveknotengeräten, die in dem Verzögerungsberechnungspaket gezeigt ist, der gespeicherten Sendezeit des Messpakets und der gespeicherten Empfangszeit des Messpakets, und der Gesamtzahl von Knotengeräten;
Erzeugen eines Berechnungsergebnis-Mitteilungspakets, das die gespeicherte Sendezeit des Messpakets und die berechnete Interknotengerät-Übertragungsverzögerungszeit zeigt; und
Senden des erzeugten Berechnungsergebnis-Mitteilungspakets zu dem Slaveknotengerät, das der Empfänger gemäß dem Paketübertragungsbefehl ist, und
jedes der mehreren Slaveknotengeräte führt aus:
Empfangen des Messpakets von einem Knotengerät, das ein Sender gemäß dem Paketübertragungsbefehl ist; und Senden des empfangenen Messpakets zu einem Knotengerät, das ein Empfänger gemäß dem Paketübertragungsbefehl ist;
Speichern einer Empfangszeit des Messpakets und einer Sendezeit des Messpakets gemäß dem Zeithalten des internen Takts;
Empfangen des Verzögerungsberechnungspakets von dem Knotengerät, das der Sender gemäß dem Paketübertragungsbefehl ist; Erhalten eines akkumulierten Werts von Relaisverzögerungszeit bei einem anderen vorhergehenden Slaveknotengerät gemäß dem Paketübertragungsbefehl, die in dem Verzögerungsberechnungspaket enthalten ist; und Speichern des akkumulierten Werts der erhaltenen Relaisverzögerungszeit;
Addieren einer Differenzzeit zwischen der empfangenen Empfangszeit des Messpakets und der gespeicherten Sendezeit des Messpakets zu dem akkumulierten Wert der Relaisverzögerungszeit, die in dem Verzögerungsberechnungspaket enthalten ist, um einen neuen akkumulierten Wert der Relaisverzögerungszeit zu bilden; und Senden des Verzögerungsberechnungspakets enthaltend den neuen akkumulierten Wert der Relaisverzögerungszeit zu dem Knotengerät, das der Empfänger gemäß dem Paketübertragungsbefehl ist; und
Empfangen des Berechnungsergebnis-Mitteilungspakets von dem Knotengerät, das der Sender gemäß dem Paketübertragungsbefehl ist; Berechnen eines Zeitkorrekturwerts unter Verwendung der Sendezeit des Messpakets und der Interknotengerät-Übertragungsverzögerungszeit, die in dem empfangenen Berechnungsergebnis-Mitteilungspaket gezeigt sind, zumindest einer von der gespeicherten Empfangszeit des Messpakets und der gespeicherten Sendezeit des Messpakets, des gespeicherten akkumulierten Werts der Relaisverzögerungszeit, und einer Differenz zwischen einer Reihenfolge des Slaveknotengeräts und einer Reihenfolge des Masterknotengeräts gemäß dem Paketübertragungsbefehl; und Korrigieren einer Zeit des internen Takts unter Verwendung des berechneten Zeitkorrekturwerts.
-
Jedes der mehreren Slaveknotengeräte berechnet den Zeitkorrekturwert unter Verwendung der gespeicherten Empfangszeit des Messpakets, der Sendezeit des Messpakets und der Interknotengerät-Übertragungsverzögerungszeit, die in dem Berechnungsergebnis-Mitteilungspaket gezeigt sind, des akkumulierten Werts der gespeicherten Relaisverzögerungszeit und der Differenz zwischen der Reihenfolge des Slaveknotengeräts und der Reihenfolge des Masterknotengeräts gemäß dem Paketübertragungsbefehl.
-
Gemäß der vorliegenden Erfindung enthält ein Verwaltungsgerät mit einem Bezugstakt, das eine Zirkulationsroute eines Pakets mit mehreren Kommunikationsgeräten bildet und das Paket auf der Zirkulationsroute gemäß einem Paketübertragungsbefehl, der für jedes der Geräte vorgeschrieben ist, zirkuliert:
eine Messpaket-Sendeeinheit, die ein Messpaket zu einem Kommunikationsgerät, das ein Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
eine Messpaket-Empfangseinheit, die das Messpaket, das zwischen den mehreren Kommunikationsgeräten zirkuliert wurde, empfängt;
eine Zeitspeichereinheit, die gemäß dem Zeithalten des Bezugstakts eine Sendezeit des Messpakets durch die Messpaket-Sendeeinheit und eine Empfangszeit des Messpakets durch die Messpaket-Empfangseinheit speichert;
eine Verzögerungsberechnungspaket-Sendeeinheit, die ein Verzögerungsberechnungspaket zum Erhalten einer Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten zu dem Kommunikationsgerät, das der Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
eine Verzögerungsberechnungspaket-Empfangseinheit, die das Verzögerungsberechnungspaket, das zwischen den mehreren in der Zirkulationsroute enthaltenen Kommunikationsgeräten zirkuliert wurde, empfängt, und in welchem die Relaisverzögerungszeit bei jedem der mehreren Kommunikationsgerät akkumuliert ist und die Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten gezeigt ist;
eine Übertragungsverzögerungszeit-Berechnungseinheit, die eine Interkommunikationsgerät-Übertragungsverzögerungszeit auf der Grundlage der Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten, die in dem von der Verzögerungsberechnungspaket-Empfangseinheit empfangenen Verzögerungsberechnungspaket gezeigt ist, der Sendezeit des Messpakets und der Empfangszeit des Messpakets, die von der Zeitspeichereinheit gespeichert sind, und einer Gesamtanzahl von in der Zirkulationsroute enthaltenen Geräten berechnet;
eine Berechnungsergebnis-Mitteilungspaket-Erzeugungseinheit, die ein Berechnungsergebnis-Mitteilungspaket, das die von der Zeitspeichereinheit gespeicherte Sendezeit des Messpakets und die von der Übertragungsverzögerungszeit-Berechnungseinheit berechnete Interkommunikationsgerät-Übertragungsverzögerungszeit zeigt, erzeugt; und
eine Berechnungsergebnis-Mitteilungspaket-Sendeeinheit, die das von der Berechnungsergebnis-Mitteilungspaket-Erzeugungseinheit erzeugte Berechnungsergebnis-Mitteilungspaket zu dem Kommunikationsgerät, das der Empfänger ist, gemäß dem Paketübertragungsbefehl sendet.
-
Gemäß der vorliegenden Erfindung enthält ein Kommunikationsgerät mit einem internen Takt, das eine Zirkulationsroute eines Pakets mit einem Verwaltungsgerät mit einem Bezugstakt und zumindest einem anderen Kommunikationsgerät bildet und das Paket auf der Zirkulationsroute gemäß einem Paketübertragungsbefehl, der für jedes der Geräte vorgesehen ist, zirkuliert:
eine Messpaket-Empfangseinheit, die ein durch das Verwaltungsgerät gesendetes Messpaket von einem Gerät, das ein Sender ist, gemäß dem Paketübertragungsbefehl empfängt;
eine Messpaket-Sendeeinheit, die das von der Messpaket-Empfangseinheit empfangene Messpaket zu einem Gerät, das ein Sender ist, gemäß dem Paketübertragungsbefehl sendet;
eine Zeitspeichereinheit, die gemäß dem Zeithalten des internen Takts eine Empfangszeit des Messpakets durch die Empfangspaket-Empfangseinheit und eine Sendezeit des Messpakets durch die Messpaket-Sendeeinheit speichert;
eine Verzögerungsberechnungspaket-Empfangseinheit, die ein Verzögerungsberechnungspaket enthaltend einen akkumulierten Wert der Relaisverzögerungszeit von einem anderen vorhergehenden Kommunikationsgerät gemäß dem Paketübertragungsbefehl von dem Gerät, das der Sender ist, gemäß dem Paketübertragungsbefehl empfängt;
eine Relaisverzögerungszeit-Speichereinheit, die den akkumulierten Wert der Relaisverzögerungszeit, die in dem von der Verzögerungsberechnungspaket-Empfangseinheit empfangenen Verzögerungsberechnungspaket enthalten ist, erhält und den erhaltenen akkumulierten Wert der Relaisverzögerungszeit speichert;
eine Verzögerungsberechnungspaket-Aktualisierungseinheit, die eine Differenzzeit zwischen der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die durch die Zeitspeichereinheit gespeichert werden, zu dem akkumulierten Wert der in dem Verzögerungsberechnungspaket enthaltenen Relaisverzögerungszeit addiert, um einen neuen akkumulierten Wert der Relaisverzögerungszeit zu bilden, und den neuen akkumulierten der Relaisverzögerungszeit in dem Verzögerungsberechnungspaket speichert;
eine Verzögerungsberechnungspaket-Sendeeinheit, die das Verzögerungsberechnungspaket, in welchem der neue akkumulierte Wert der Relaisverzögerungszeit durch die Verzögerungsberechnungspaket-Aktualisierungseinheit gespeichert ist, zu dem Gerät, das der Empfänger ist gemäß dem Paketübertragungsbefehl sendet;
eine Berechnungsergebnis-Mitteilungspaket-Empfangseinheit, die ein Berechnungsergebnis-Mitteilungspaket, das gemäß dem Zeithalten des Bezugstakts des Verwaltungsgeräts eine Sendezeit des Messpakets bei dem Messgerät und eine Interkommunikationsgerät-Übertragungsverzögerungszeit zeigt, empfängt;
eine Zeitkorrekturwert-Berechnungseinheit, die einen Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Interkommunikationsgerät-Übertragungsverzögerungszeit, die in dem Berechnungsergebnis-Mitteilungspaket gezeigt sind, zumindest einer von der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die von der Zeitspeichereinheit gespeichert werden, des von der Relaisverzögerungszeit-Speichereinheit gespeicherten akkumulierten Werts der Relaisverzögerungszeit, einer Gesamtzahl von in der Zirkulationsroute enthaltenen Geräten und einer Differenz einer Reihenfolge mit dem Verwaltungsgerät gemäß dem Paketübertragungsbefehl berechnet; und
eine Taktsteuereinheit, die eine Zeit des internen Takts unter Verwendung des von der Zeitkorrekturwert-Berechnungseinheit berechneten Zeitkorrekturwerts korrigiert.
-
Die Zeitspeichereinheit speichert gemäß dem Zeithalten des internen Takts die Empfangszeit des Messpakets durch die Messpaket-Empfangseinheit, und
die Zeitkorrekturwert-Berechnungseinheit berechnet den Zeitkorrekturwert unter Verwendung der durch die Zeitspeichereinheit gespeicherten Empfangszeit des Messpakets, der Sendezeit des Messpakets und der Interkommunikationsgerät-Übertragungsverzögerungszeit, die in dem Berechnungsergebnis-Mitteilungspaket gezeigt sind, des durch die Relaisverzögerungszeit-Speichereinheit gespeicherten akkumulierten Werts der Relaisverzögerungszeit, der Gesamtzahl von in der Zirkulationsroute enthaltenen Geräte und der Differenz der Reihenfolge mit dem Verwaltungsgerät gemäß dem Paketübertragungsbefehl.
-
Gemäß der vorliegenden Erfindung bewirkt ein Computerprogramm, dass ein Verwaltungsgerät mit einem Bezugstakt, das eine Zirkulationsroute eines Pakets mit mehreren Kommunikationsgeräten bildet und das Paket auf der Zirkulationsroute gemäß einem Paketübertragungsbefehl, der für jedes der Gerate vorgeschrieben ist, zirkuliert, ausführt:
einen Messpaket-Sendeprozess, der ein Messpaket zu einem Kommunikationsgerät, das ein Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
einen Messpaket-Empfangsprozess, der das Messpaket, das zwischen den mehreren Kommunikationsgeräten zirkuliert wurde, empfängt;
einen Zeitspeicherprozess, der gemäß dem Zeithalten des Bezugstakts eine Sendezeit des Messpakets durch den Messpaket-Sendeprozess und eine Empfangszeit des Messpakets durch den Messpaket-Empfangsprozess speichert;
einen Verzögerungsberechnungspaket-Sendeprozess, der ein Verzögerungsberechnungspaket zum Erhalten einer Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten zu dem Kommunikationsgerät, das ein Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
einen Verzögerungsberechnungspaket-Empfangsprozess, der das Verzögerungsberechnungspaket, das zwischen den auf der Zirkulationsroute enthaltenen mehreren Kommunikationsgeräten zirkuliert wurde, und in welchem die Relaisverzögerungszeit bei jedem der mehreren Kommunikationsgeräte akkumuliert und die Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten gezeigt ist, empfängt;
einen Übertragungsverzögerungszeit-Berechnungsprozess, der eine Interkommunikationsgerät-Übertragungsverzögerungszeit auf der Grundlage der Gesamtsumme der Relaisverzögerungszeit bei den mehreren Kommunikationsgeräten, die in dem von dem Verzögerungsberechnungspaket-Empfangsprozess empfangenen Verzögerungsberechnungspaket gezeigt ist, der Sendezeit des Messpakets und der Empfangszeit des Messpakets, die durch den Zeitspeicherprozess gespeichert sind, und einer Gesamtzahl von in der Zirkulationsroute enthaltenen Geräten berechnet;
einen Berechnungsergebnis-Mitteilungspaket-Erzeugungsprozess, der ein Berechnungsergebnis-Mitteilungspaket, das die von dem Zeitspeicherprozess gespeicherte Sendezeit und die von dem Übertragungsverzögerungszeit-Berechnungsprozess berechnete Interkommunikationsgerät-Übertragungsverzögerungszeit zeigt, erzeugt; und
einen Berechnungsergebnis-Mitteilungspaket-Sendeprozess, der das von dem Berechnungsergebnis-Mitteilungspaket-Erzeugungsprozess erzeugte Berechnungsergebnis-Mitteilungspaket zu dem Kommunikationsgerät, das der Empfänger ist, gemäß dem Paketübertragungsbefehl sendet.
-
Gemäß der vorliegenden Erfindung bewirkt ein Computerprogramm, dass ein Kommunikationsgerät mit einem internen Takt, das eine Zirkulationsroute eines Pakets mit einem Verwaltungsgerät mit einem Bezugstakt und zumindest einem anderen Kommunikationsgerät bildet und das Paket auf der Zirkulationsroute gemäß einem Paketübertragungsbefehl, der für jedes der Geräte vorgeschrieben ist, zirkuliert, ausführt:
einen Messpaket-Empfangsprozess, der ein durch das Verwaltungsgerät gesendetes Messpaket von einem Gerät, das ein Sender ist, gemäß dem Paketübertragungsbefehl empfängt;
einen Messpaket-Sendeprozess, der das durch den Messpaket-Empfangsprozess empfangene Messpaket zu einem Gerät, das ein Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
einen Zeitspeicherprozess, der gemäß dem Zeithalten des internen Takts eine Empfangszeit des Messpakets durch den Messpaket-Empfangsprozess und eine Sendezeit des Messpakets durch den Messpaket-Sendeprozess speichert;
einen Verzögerungsberechnungspaket-Empfangsprozess, der ein Verzögerungsberechnungspaket enthaltend einen akkumulierten Wert der Relaisverzögerungszeit eines anderen vorhergehenden Kommunikationsgeräts gemäß dem Paketübertragungsbefehl von einem Gerät, das der Sender ist, gemäß dem Paketübertragungsbefehl empfängt;
einen Relaisverzögerungszeit-Speicherprozess, der den akkumulierten Wert der Relaisverzögerungszeit, der in dem durch den Verzögerungsberechnungspaket-Empfangsprozess empfangenen Verzögerungsberechnungspaket enthalten ist, erhält und den erhaltenen akkumulierten Wert der Relaisverzögerungszeit speichert;
einen Verzögerungsberechnungspaket-Aktualisierungsprozess, der eine Zeitdifferenz zwischen der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die durch den Zeitspeicherprozess gespeichert wurden zu dem in dem Verzögerungsberechnungspaket enthaltenen akkumulierten Wert der Relaisverzögerungszeit addiert, um einen neuen akkumulierten Wert der Relaisverzögerungszeit zu bilden, und den neuen akkumulierten Wert der Relaisverzögerungszeit in dem Verzögerungsberechnungspaket speichert;
einen Verzögerungsberechnungspaket-Sendeprozess, der das Verzögerungsberechnungspaket, in welchem der neue akkumulierte Wert der Relaisverzögerungszeit durch den Verzögerungsberechnungspaket-Aktualisierungsprozess gespeichert wurde, zu einem Gerät, das der Empfänger ist, gemäß dem Paketübertragungsbefehl sendet;
einen Berechnungsergebnis-Mitteilungspaket-Empfangsprozess, der ein Berechnungsergebnis-Mitteilungspaket, das gemäß dem Zeithalten des Bezugstakts des Verwaltungsgeräts eine Sendezeit des Messpakets bei dem Verwaltungsgerät und eine Interkommunikationsgerät-Übertragungsverzögerungszeit zeigt, empfängt;
einen Zeitkorrekturwert-Berechnungsprozess, der einen Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Interkommunikationsgerät-Übertragungsverzögerungszeit, die in dem Berechnungsergebnis-Mitteilungspaket gezeigt sind, zumindest einer von der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die durch den Zeitspeicherprozess gespeichert wurden, des durch den Relaisverzögerungszeit-Speicherprozess gespeicherten akkumulierten Werts der Relaisverzögerungszeit, einer Gesamtzahl von in der Zirkulationsroute enthaltenen Geräten und einer Differenz einer Reihenfolge mit dem Verwaltungsgerät gemäß dem Paketübertragungsbefehl berechnet; und
einen Taktsteuerprozess, der eine Zeit des internen Takts unter Verwendung des von dem Zeitkorrekturwert-Berechnungsprozess berechneten Zeitkorrekturwerts korrigiert.
-
Wirkung der Erfindung
-
Gemäß der vorliegenden Erfindung wird ein Zeitkorrekturwert berechnet durch Schätzen der Verzögerung von dem Masterknotengerät zu dem Slaveknotengerät auf der Grundlage der Verzögerungszeit eines Zyklus des Rings, die Verzögerungszeit wird tatsächlich gemessen bei der Zirkulation eines Messpakets zwischen mehreren Slaveknotengeräten, so dass die Zeitsynchronisation mit hoher Genauigkeit implementiert werden kann.
-
Bevorzugte Ausführungsbeispiele zur Ausführung der Erfindung
-
Ausführungsbeispiel 1
-
Die 1 und 2 zeigen Konfigurationsbeispiele für ein Zeitsynchronisationsgerät 100 gemäß dem vorliegenden Ausführungsbeispiel.
-
Bei dem vorliegenden Ausführungsbeispiel sind mehrere Zeitsynchronisationsgeräte 100 wie in 3 gezeigt verbunden, um ein Netzwerk vom Ringtyp zu bilden.
-
D. h., ein in dem vorliegenden Ausführungsbeispiel diskutiertes Kommunikationssystem ist das Netzwerk vom Ringtyp, bei dem ein Masterknotengerät ein Verwaltungsgerät ist und mehrere Slaveknotengeräte Kommunikationsgeräte sind, die als ein Ring verbunden sind, wie in 3 gezeigt ist. Das Masterknotengerät und die Slaveknotengeräte sind jeweils die Zeitsynchronisationsgeräte 100.
-
Pakete werden immer durch jedes Knotengerät in einer festen Richtung gesendet, wie in 3 gezeigt ist. Diese Beschränkung tritt nicht nur durch Beschränkung der Hardware auf, sondern auch auf, wenn die Zeitsynchronisation in einer oberen Schicht, die keine Mitteil zum Steuern der Senderichtung hat, gesteuert wird.
-
Weiterhin ist, wie klar aus 3 ersichtlich ist, für jedes Knotengerät eine Paketübertragungsreihenfolge definiert. In dem Beispiel nach 3 wird ein Paket gemäß dem Paketübertragungsbefehl übertragen in der Reihenfolge Masterknotengerät – Slaveknotengerät A – Slaveknotengerät S – Masterknotengerät; das Paket wird zwischen mehreren Knotengeräten zirkuliert. Ein in 3 gezeigtes Netzwerk vom Ringtyp wird auch als eine Zirkulationsroute bezeichnet.
-
1 zeigt ein Konfigurationsbeispiel für das Zeitsynchronisationsgerät 100 als das Masterknotengerät, und 2 zeigt ein Konfigurationsbeispiel für das Zeitsynchronisationsgerät 100 als das Slaveknotengerät.
-
Wenn es als das Masterknotengerät oder als das Slaveknotengerät betrieben wird, ist die Konfiguration selbst des Zeitsynchronisationsgeräts 100 dieselbe; jedoch sind die Aufgaben jedes Konfigurationselements und die Verarbeitungsinhalte unterschiedlich, wenn es jeweils als das Masterknotengerät und das Slaveknotengerät betrieben wird, so dass zwei Fälle als unterschiedliche Zeichnungen zur Erleichterung der Erläuterung gezeigt sind.
-
Jedoch ist die Konfiguration selbst des Zeitsynchronisationsgeräts 100, sowohl wenn es als das Masterknotengerät als auch wenn es als das Slaveknotengerät betrieben wird, dieselbe, so dass dasselbe Zeitsynchronisationsgerät 100 sowohl das Masterknotengerät als auch das Slaveknotengerät sein kann.
-
Nachfolgend werden für jedes Konfigurationselement, nachdem Aufgaben und Verarbeitungsinhalte, die für das Masterknotengerät und das Slaveknotengerät gemeinsam sind, erläutert wurden, Aufgaben und Verarbeitungsinhalte, die für das Masterknotengerät spezifisch sind, und Aufgaben und Verarbeitungsinhalte, die für das Slaveknotengerät spezifisch sind, erläutert.
-
Im Folgenden wird das Masterknotengerät einfach als ”Master” oder ”Masterknoten” bezeichnet, und das Slaveknotengerät wird einfach als ”Slave” oder ”Slaveknoten” bezeichnet.
-
In den 1 und 2 ist eine Zeitsynchronisations-Steuereinheit 1 ein Mittel zum Steuern eines Zeitsynchronisationsvorgangs, und ist eine Schaltung wie beispielsweise eine CPU (Zentrale Verarbeitungseinheit), usw.
-
Eine Verarbeitungseinheit 2 für empfangene Daten ist ein Mittel zum Durchführen einer Verarbeitung von von einem Übertragungskanal empfangenen Daten, und ist eine Schaltung wie beispielsweise eine CPU oder eine ASIC (Anwendungsspezifische integrierte Schaltung), usw.
-
Eine Sendedaten-Erzeugungseinheit 3 ist ein Mittel zum Erzeugen von von dem Übertragungskanal zu sendenden Sendedaten, und ist eine Schaltung wie beispielsweise eine CPU oder ASIC usw.
-
ein interner Takt 4 ist eine Schaltung enthaltend Mittel zum Messen des Zeitdurchgangs wie ein interner Oszillator, usw.
-
Eine Taktsteuereinheit 5 ist mit dem internen Takt 4, einer Empfangseinheit 6 bzw. einer Sendeeinheit 8 verbunden und ist ein Mittel zum Steuern des Erhaltens eines Zeitstempels einer Datenübertragung/eines Datenempfangs und ist eine Schaltung wie eine ASIC, usw.
-
Eine Empfangseinheit 6 ist ein Mittel zum Empfangen von Daten von dem Übertragungskanal.
-
Ein Verstärker 7 ist ein Mittel zum Puffern der von dem Übertragungskanal empfangenen Daten, um mit einer hohen Geschwindigkeit zu senden.
-
Eine Sendeeinheit 8 ist ein Mittel zum Senden zu dem Übertragungskanal.
-
Bei dem vorliegenden Ausführungsbeispiel sendet der Masterknoten, wie später im Einzelnen diskutiert wird, ein Messpaket zu dem Slaveknoten, der gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt, empfängt das Messpaket, das zwischen mehreren Slaveknoten zirkuliert wurde, und speichert gemäß dem Zeithalten des internen Takts (Bezugstakt) die Sendezeit des Messpakets und die Empfangszeit des Messpakets.
-
Weiterhin erzeugt der Masterknoten ein Messergebnis-Mitteilungspaket, das die Sendezeit des Messpakets und die Empfangszeit des Messpakets zeigt, und das erzeugte Messergebnis-Mitteilungspaket zu dem Slaveknoten, der gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt.
-
Wenn sie als der Masterknoten, der die vorbeschriebene Verarbeitung durchführt, betrieben werden, haben die Konfigurationselemente des Zeitsynchronisationsgeräts 100 hauptsächlich die folgenden Aufgaben, wie in 1 gezeigt ist.
-
Der interne Takt 4 wirkt als ein Bezugstakt, der eine Bezugsgröße für die Zeitsynchronisation zwischen mehreren, in dem Netzwerk vom Ringtyp enthaltenen Knotengeräten ist.
-
Weiterhin sendet die Sendeeinheit 8 das Messpaket oder das Messergebnis-Mitteilungspaket zu dem Slaveknoten (Kommunikationsgerät), das als sein Empfänger gemäß dem Paketübertragungsbefehl wirkt. Die Sendeeinheit 8 ist ein Beispiel für eine Messpaket-Sendeeinheit und eine Messergebnis-Mitteilungspaket-Sendeeinheit.
-
Die Empfangseinheit 6 empfängt das Messpaket und das Messergebnis-Mitteilungspaket, die zwischen den mehreren Slaveknoten zirkuliert wurden. Die Empfangseinheit 6 ist ein Beispiel für eine Messpaket-Empfangseinheit.
-
Die Zeitsynchronisations-Steuereinheit 1 speichert gemäß dem Zeithalten des internen Takts 4 die Sendezeit des Messpakets durch die Sendeeinheit und die Empfangszeit des Messpakets durch die Empfangseinheit 6. Die Zeitsynchronisations-Steuereinheit 1 ist ein Beispiel für eine Zeitspeichereinheit.
-
Die Sendedaten-Erzeugungseinheit 3 erzeugt ein Messergebnis-Mitteilungspaket, das die Sendezeit des Messpakets und die Empfangszeit des Messpakets, die in der Zeitsynchronisations-Steuereinheit 1 gespeichert sind, zeigt. Die Sendedaten-Erzeugungseinheit 3 ist ein Beispiel für eine Messergebnis-Mitteilungspaket-Erzeugungseinheit.
-
Weiterhin empfängt bei dem vorliegenden Ausführungsbeispiel, wie später im Einzelnen diskutiert wird, jeder Slaveknoten das Messpaket von einem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt, sendet das empfangene Messpaket zu einem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt, und speichert gemäß dem Zeithalten des internen Takts zumindest eine von einer Sendezeit des Messpakets und einer Empfangszeit des Messpakets.
-
Weiterhin empfängt jeder Slaveknoten das Messergebnis-Mitteilungspaket von dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt, berechnet einen Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Empfangszeit des Messpakets, die in dem empfangenen Messergebnis-Mitteilungspaket gezeigt sind, zumindest einer von der gespeicherten Empfangszeit des Messpakets und der gespeicherten. Sendezeit des Messpakets, einer Gesamtzahl der Knotengeräte und einer Differenz zwischen einer Reihenfolge des Slaveknotens und einer Reihenfolge des Masterknotens gemäß dem Paketübertragungsbefehl, und korrigiert eine Zeit des internen Takts unter Verwendung des berechneten Zeitkorrekturwerts.
-
Wenn sie als der Slaveknoten, der die vorbeschriebene Verarbeitung durchführt, betrieben werden, haben die Konfigurationselemente des Zeitsynchronisationsgeräts 100 hauptsächlich die folgenden Aufgaben, wie in 2 gezeigt ist.
-
Die Empfangseinheit 6 empfängt das Messpaket und das Messergebnis-Mitteilungspaket, die von dem Masterknoten (Verwaltungsgerät) übertragen wurden, von dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt. Die Empfangseinheit 6 ist ein Beispiel für eine Messpaket-Empfangseinheit und eine Messergebnis-Mitteilungspaket-Empfangseinheit.
-
Die Sendeeinheit 8 sendet das von der Empfangseinheit 6 empfangene Messpaket zu dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt. Die Sendeeinheit 8 ist ein Beispiel für eine Messpaket-Sendeeinheit.
-
Die Zeitsynchronisations-Steuereinheit 1 speichert gemäß dem Zeithalten des internen Takts 4 zumindest eine von der Empfangszeit des Messpakets durch die Empfangseinheit 6 und der Sendezeit des Messpakets durch die Sendeeinheit 8.
-
Die Zeitsynchronisations-Steuereinheit 1 berechnet den Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Empfangszeit des Messpakets bei dem Masterknoten, die in dem Messergebnis-Mitteilungspaket gezeigt sind, zumindest eine von der Empfangszeit des Messpakets und der Sendezeit des Messpakets an dem Slaveknoten, die gespeichert sind, der Gesamtzahl der in der Zirkulationsroute enthaltenen Knotengeräte und einer Differenz zwischen der Reihenfolge des Slaveknotens und der Reihenfolge des Masterknotens gemäß dem Paketübertragungsbefehl. Die Zeitsynchronisations-Steuereinheit 1 ist ein Beispiel für eine Zeitspeichereinheit und eine Zeitkorrekturwert-Berechnungseinheit.
-
Die Taktsteuereinheit 5 korrigiert die Zeit des internen Takts 4 unter Verwendung des durch die Zeitsynchronisations-Steuereinheit 1 berechneten Zeitkorrekturwerts.
-
Als Nächstes wird die Arbeitsweise erläutert.
-
Um den Paketaustausch zwischen dem Master, dem Slave A und dem Slave B in 3 zeitsequentiell zu zeigen, ist 4 ist Zeitfolgediagramm, das die an dem Master gebrochene Ringstruktur in der horizontalen Richtung gespreizt zeigt, wobei die vertikale Richtung eine Zeitfolge zeigt.
-
Demgemäß sind ”Master”, die an dem rechten und dem linken Ende in 4 gezeigt sind, derselbe Knoten.
-
Ein Vorgang der Zeitsynchronisation wird in einem festen Zeitintervall beispielsweise durch einen Zeitgeber des Masters ausgeführt.
-
Wenn der Vorgang der Zeitsynchronisation beginnt, sendet der Master zuerst ein Messpaket, erhält und speichert seine Sendezeit.
-
Der Slave sendet bei Empfang des Messpakets das Paket nach Wiederholen über einen Verstärker mit einer hohen Geschwindigkeit zu dem nächsten Knoten und liest ebenfalls die Daten. Zu dieser Zeit erhält der Slave die Empfangszeit oder die Sendezeit und speichert sie.
-
Nachfolgend wird ein Beispiel erläutert, bei dem der Slave die Empfangszeit des Messpakets erhält und speichert.
-
In 4 wird eine Paketempfangszeit T11 an dem Slave A erhalten, und eine Paketempfangszeit T21 wird an dem Slave B erhalten.
-
Als Nächstes erhält der Master bei Empfang des Messpakets, das durch den Ring zirkuliert wurde, eine Empfangszeit T02.
-
Als Nächstes speichert der Master die Werte T01 und T02, die an dem eigenen Knoten erhalten wurden, in dem Messergebnis-Mitteilungspaket, sendet das Messergebnis-Mitteilungspaket und benachrichtigt jeden Slave.
-
Jeder Slave berechnet einen Korrekturwert, der auf die durch jeden internen Takt angezeigte Zeit angewendet wird, aus den mit dem Messergebnis-Mitteilungspaket empfangenen Werten T01 und T02 sowie der Sendezeit und der Empfangszeit, die durch den eigenen Knoten erhalten wurden.
-
Bis zu dem Vorstehenden sind die Sendezeit und die Empfangszeit, die durch jeden Knoten des Masters, des Slaves A und des Slaves B erhalten wurden, durch jeden internen Takt erhaltene Werte, und jeder interne Takt hat eine Differenz zu der absoluten Zeit, und jede durch jeden internen Takt gezeigte Zeit ist einander unterschiedlich aufgrund des Einflusses der Genauigkeit seines internen Oszillators, usw.
-
Hier wird eine Versetzung des internen Takts jedes Slaves, die von dem internen Takt des Masters (Bezugstakt) abgeleitet wird, nämlich der Korrekturwert des internen Takts, bei jedem Slave berechnet.
-
Hier wird der Zeitkorrekturwert berechnet unter der Annahme, dass die Verzögerungszeit zu der Zeit des Sendens/Empfangens des Messpakets zwischen jeweiligen Knoten dieselbe ist.
-
Demgemäß ist jede Interknoten-Verzögerungszeit in 4 eine Zeit, die durch Teilen der Verzögerungszeit eines Zyklus des Rings (T02 – T01) durch die Anzahl von Knoten erhalten wird.
-
Weiterhin ist die Verzögerung der Empfangszeit an jedem Knoten von der Sendezeit T01 des Masters ein Wert, der erhalten wurde durch Multiplizieren der Anzahl der auf der Route existierenden Slaveknoten von dem Master zu dem Slave enthaltend den eigenen Knoten (eine Differenz von Reihenfolgen gemäß dem Paketübertragungsbefehl zwischen dem Masterknoten und dem Slaveknoten) mit dem vorgenannten Wert.
-
In 4 ist ein Korrekturwert ΔT1 des internen Takts des Slaves A: ΔT1 = T01 + (T02 – T01)/3 – T11
-
Weiterhin ist ein Korrekturwert ΔT2 des internen Takts des Slaves B: ΔT2 = T01 + (T02 – T01)} × 2/3 – T21.
-
Nachdem diese Korrekturwerte bei jedem Slave erhalten wurden, wird des Zeit des internen Takts unter Verwendung des berechneten Korrekturwerts zu einem beliebigen Zeitpunkt eingestellt, wodurch der Zeitsynchronisationsvorgang beendet ist.
-
Als Nächstes wird ein Detail des Prozesses des als Master betriebenen Zeitsynchronisationsgeräts 100 und ein Detail des Prozesses des als Slave betriebenen Zeitsynchronisationsgeräts 100 diskutiert.
-
Zuerst wird der Prozess des als Master betriebenen Zeitsynchronisationsgeräts 100 gezeigt.
-
5 ist ein Verarbeitungsfluss des als Master betriebenen Zeitsynchronisationsgeräts 100.
-
Der Master startet diese Reihe von Zeitsynchronisationsprozess mit Triggern der periodischen Operation des Zeitgebers innerhalb des Masters, der Operation durch die Bedienungsperson, verschiedene Ereignisse, die durch Software und Hardware innerhalb des Masters auftreten, usw.
-
Beim Starten des Zeitsynchronisationsprozesses sendet der Master zuerst das Messpaket und erhält die Sendezeit (S1).
-
Ein Beispiel für ein Format des Messpakets ist in 6 gezeigt.
-
In 6 sind eine Sendeadresse und eine Empfängeradresse Adressen zum Identifizieren jedes Knotens in dem Netzwerk vom Ringtyp.
-
In dem Messpaket wird, da der Empfänger alle Knoten sind, eine Rundsendeadresse als die Empfängeradresse spezifiziert.
-
Für die Rundsendeadresse wird beispielsweise, wenn die Adressenlängen ein Byte ist, FF in einer hexadezimalen Zahl usw. vorher reserviert.
-
Ein Pakettyp zeigt einen Typ von Paket gemäß seinem Wert.
-
Bei diesem Ausführungsbeispiel werden Werte für zwei Typen reserviert: das Messpaket und das Messergebnis-Mitteilungspaket.
-
Eine Folgenummer wird verwendet, um eine Reihe von Paketen in Beziehung zu setzen.
-
In 4 werden durch Speichern derselben Nummern in dem Folgenummerfeld einer Reihe aus dem Messpaket und dem Messergebnis-Mitteilungspaket die Reihen von Paketen durch die Empfängerseite miteinander in Beziehung gesetzt.
-
Die Folgenummer kann frei zugeteilt werden, solange die Reihen von Paketen identifiziert werden können; beispielsweise wird ein Zähler bei jedem Senden des Messpakets durch den Master inkrementiert, und derselbe Wert wird in dem in Beziehung stehenden Messergebnis-Mitteilungspaket gespeichert.
-
Hinsichtlich des internen Prozesses des Masters zu der Zeit des Sendens des Messpakets gibt zuerst die Zeitsynchronisations-Steuereinheit 1 einen Befehl aus, um das Messpaket zu der Sendedaten-Erzeugungseinheit 3 zu senden.
-
Die Sendedaten-Erzeugungseinheit 3 erzeugt bei Empfang des Befehls das Messpaket und sendet es zu der Sendeeinheit 8.
-
Die Sendeeinheit 8 sendet das Messpaket zu dem Übertragungskanal und sendet ein Taktsignal zu der Taktsteuereinheit 5 zu dem Zeitpunkt des Sendens.
-
Die Taktsteuereinheit 5 erhält bei Empfang des Taktsignals eine durch den internen Takt 4 gezeigte Zeit.
-
Andererseits erhält, wenn der Sendeprozess durch die Sendeeinheit 8 beendet ist und die Steuerung durch die Sendedaten-Erzeugungseinheit 3 zu der Zeitsynchronisations-Steuereinheit 1 zurückkehrt, die Zeitsynchronisations-Steuereinheit 1 die Zeit, die zu dem Zeitpunkt des Sendens des Messpakets durch die Sendeeinheit 8 erhalten wurde, von der Taktsteuereinheit 5 und speichert die Zeit als die Sendezeit des Messpakets durch Inbeziehungsetzen der Zeit zu der Folgenummer.
-
Nach dem Senden des Messpakets empfängt als Nächstes der Master dasselbe Messpaket, das durch den Ring zirkuliert wurde.
-
Zu dieser Zeit wird die Empfangszeit erhalten und als die Empfangszeit des Messpakets gespeichert (S2).
-
Hinsichtlich des Prozesses innerhalb des Masters empfängt zuerst die Empfangseinheit 6 das Messpaket.
-
Zu dieser Zeit erhält durch ein Taktsignal von der Empfangseinheit 6 die Taktsteuereinheit 5 die Zeit des internen Takts 4.
-
Gleichzeitig werden die Daten des von der Empfangseinheit 6 empfangenen Messpakets zu der Empfangsdaten-Verarbeitungseinheit 2 übertragen, der Typ des Pakets wird durch die Empfangsdaten-Verarbeitungseinheit 2 bestimmt, und ein Ereignis des Empfangens des Messpakets wird der Zeitsynchronisations-Steuereinheit 1 mitgeteilt.
-
Die Zeitsynchronisations-Steuereinheit 1 erhält bei Empfang des Ereignisses des Empfangs des Messpakets die Zeit, die zu dem Zeitpunkt des Empfangens des Pakets durch die Empfangseinheit 6 erhalten wurde, von der Taktsteuereinheit, setzt die Zeit mit der Folgenummer als die Empfangseinheit des Messpakets in Beziehung und speichert die Zeit.
-
Als Nächstes sendet der Master das Messergebnis-Mitteilungspaket und teilt die Sendezeit des Messpakets und die Empfangszeit des Messpakets, die von dem eigenen Knoten gemessen wurden, jedem Slave mit (S3).
-
Hinsichtlich des internen Prozesses des Masters meldet die Zeitsynchronisations-Steuereinheit 1 die Sendezeit des Messpakets und die Empfangszeit des Messpakets, die innerhalb gespeichert sind, zu der Sendezeit-Erzeugungseinheit 3 mit einem Befehl zum Senden des Messergebnis-Mitteilungspakets.
-
Die Sendedaten-Erzeugungseinheit 3 erzeugt das Messergebnis-Mitteilungspaket, in welchem die Sendezeit des Messpakets und die Empfangszeit des Messpakets in den Feldern der Mastersendezeit und der Masterempfangszeit des Messergebnis-Mitteilungspakets gespeichert sind.
-
Ein Beispiel für ein Format des Messergebnis-Mitteilungspakets ist in 7 gezeigt.
-
Das von der Sendedaten-Erzeugungseinheit 3 erzeugte Paket wird von der Sendeeinheit 8 zu dem Übertragungskanal gesendet.
-
Als Nächstes empfängt der Master das Messergebnis-Mitteilungspaket, das durch den Ring zirkuliert wurde (S4).
-
Hinsichtlich des internen Prozesses des Masters empfängt die Empfangseinheit 6 das Paket, der Typ des Pakets wird durch die Empfangsdaten-Verarbeitungseinheit 2 bestimmt, und ein Ereignis des Empfangens des Messergebnis-Mitteilungspakets wird der Zeitsynchronisations-Steuereinheit 1 mitgeteilt.
-
Als Nächstes wird der Prozess bei dem Slave gezeigt.
-
8 ist ein Beispiel des Verarbeitungsflusses bei dem Slave.
-
Zuerst empfängt das Slave das Messpaket, sendet das Messpaket zu dem nächsten Knoten und erhält die Sendezeit (S5).
-
Die folgende Verarbeitung erfolgt innerhalb des Slaves.
-
Zuerst empfängt die Empfangseinheit 6 das Messpaket.
-
Zu dieser Zeit sendet die Empfangseinheit 6 ein Zeitsignal des Empfangens des Pakets zu der Taktsteuereinheit 5.
-
Die Taktsteuereinheit 5, die das Zeitsignal empfangen hat, erhält die durch den internen Takt 4 gezeigte Zeit und speichert sie.
-
Weiterhin wird das empfangene Paket von der Empfangseinheit 6 zu dem Verstärker 7 übertragen und zu der Empfangsdaten-Verarbeitungseinheit 2 importiert.
-
Das zu dem Verstärker 7 gesendete Paket wird gepuffert und so, wie es ist, ohne Änderung zu der Sendeeinheit 8 gesendet oder mit Änderung eines Anfangsblocks und eines Endblocks der Datenverbindungsschicht zu der Sendeeinheit 8 gesendet.
-
Die Sendeeinheit 8 sendet das von dem Verstärker 7 empfangene Paket zu dem Übertragungskanal.
-
Andererseits identifiziert die Empfangsdaten-Verarbeitungseinheit 2, die die Daten des Messpakets von der Empfangseinheit 6 importiert hat, den Typ des Pakets und meldet ein Ereignis des Empfangs des Messpakets zu der Zeitsynchronisations-Steuereinheit 1.
-
Die Zeitsynchronisations-Steuereinheit 1, die das Ereignis empfangen hat, erhält die Zeit, die durch die Empfangseinheit 6 zu dem Zeitpunkt des Empfangens des Messpakets erhalten wurde, von der Zeitsteuereinheit 5 und speichert die Zeit durch Inbeziehungsetzen zu der Folgenummer des Messpakets.
-
Als Nächstes empfängt der Slave das Messergebnis-Mitteilungspaket (S6).
-
Die folgende Operation erfolgt innerhalb des Slaves.
-
Zuerst empfängt die Empfangseinheit 6 das Messergebnis-Mitteilungspaket.
-
Das empfangene Paket wird von der Empfangseinheit 6 zu dem Verstärker 7 übertragen sowie zu der Empfangsdaten-Verarbeitungseinheit 2 importiert.
-
Das zu dem Verstärker 7 gesendete Paket wird gepuffert und so, wie es ist, ohne Änderung zu der Sendeeinheit 8 gesendet oder mit Änderung des Anfangsblocks und des Endblocks der Datenverbindungsschicht zu der Sendeeinheit 8 gesendet.
-
Die Sendeeinheit 8 sendet das von dem Verstärker 7 empfangene Paket zu dem Übertragungskanal.
-
Weiterhin identifiziert andererseits die Empfangsdaten-Verarbeitungseinheit 2, die die Daten des Messergebnis-Mitteilungspakets von der Empfangseinheit 6 importiert hat, den Typ des Pakets und teilt der Zeitsynchronisations-Steuereinheit 1 ein Ereignis des Empfangs des Messergebnis-Mitteilungspakets mit.
-
Als Nächstes berechnet der Slave einen Korrekturwert für die Zeit des internen Takts des eigenen Knotens (S7).
-
Innerhalb des Slaves zieht die Zeitsynchronisations-Steuereinheit 1, die das Ereignis des Empfangens des Messergebnis-Mitteilungspakets empfangen hat, die Sendezeit des Messpakets und die Empfangszeit des Messpakets, die bei dem Master gemessen wurden, aus den Daten des bei der Ereignismitteilung erhaltenen Messergebnis-Mitteilungspakets heraus und berechnet einen Korrekturwert für die Zeit durch Kombinieren mit der bei dem Slave gemessenen Empfangszeit des Messpakets.
-
Zu dieser Zeit werden die jeweiligen Empfangszeitdaten und die jeweiligen Sendezeitdaten unter Verwendung der Folgenummer jedes Pakets miteinander in Beziehung gesetzt.
-
Der Berechnungsausdruck des Korrekturwerts für die Zeit wurde im Fall von 4 gezeigt; im Folgenden wird eine verallgemeinertere Form gezeigt.
-
Wenn angenommen wird, dass die Sendezeit des bei dem Master gemessenen Messpakets gleich TMS ist, die Empfangszeit des Messpakets gleich TMR ist, die Empfangszeit des bei dem Slave gemessenen Messpakets gleich TSR ist, die Anzahl von Knoten innerhalb des Rings gleich n ist und dass der Slave der m-te Knoten, gezählt von dem Master, ist, beträgt der Korrekturwert ΔT für die Zeit bei dem Slave ΔT = TMS + (TMR – TMS) × m/n – TSR.
-
Hier wird die Empfangszeit TSR des Messpakets bei dem Slave gespeichert und zum Berechnen des Zeitkorrekturwerts verwendet; jedoch ist es stattdessen auch möglich, die Sendezeit des Messpakets bei dem Slave zu speichern und zum Berechnen des Zeitkorrekturwerts zu verwenden, wie vorstehend diskutiert ist.
-
Als Nächstes stellt der Slave die Zeit des internen Takts unter Verwendung des berechneten Zeitkorrekturwerts ein (S8).
-
In dem internen Prozess des Slaves gibt die Zeitsynchronisations-Steuereinheit 1 einen Befehl zum Einstellen des internen Takts zu der Taktsteuereinheit unter Verwendung des bei S7 berechneten Korrekturwerts ΔT aus.
-
Bei Empfang des Befehls zum Einstellen des internen Takts führt die Taktsteuereinheit 5 einen Prozess zum Addieren des Korrekturwerts ΔT zu der gegenwärtigen Zeit des internen Takts 4 aus. Bis zu dem vorstehenden Prozess ist der Zeitsynchronisationsprozess zum Synchronisieren des internen Takts des Slaves zu dem internen Takt (Bezugstakt) des Masters beendet.
-
Bei dem vorstehenden Beispiel ist es möglich, die Anzahl von Knoten ”n” innerhalb des Rings und die Anzahl von Knoten ”m”, die auf der Route von dem Master bis zu dem Slave existieren, als Parameter in jedem Slave zu setzen, da ”n” und ”m” zu der Zeit des Bildens des Netzwerks vom Ringtyp vorbestimmt wurden; jedoch ist es auch möglich, die Zahlen automatisch zu zählen, wie im Folgenden diskutiert wird.
-
9 zeigt ein Beispiel des Paketaustauschvorgangs in einem derartigen Fall.
-
Wie in 9 gezeigt ist, wird ein Strukturbestätigungspaket in dem Netzwerk vom Ringtyp zwischen den Knotengerät zirkuliert, und Werte für die vorstehenden ”n” und ”m” werden erhalten.
-
Es ist nicht erforderlich, diesen Vorgang bei jeder Zeitsynchronisation zu implementieren, sondern es ist ausreichend, nur dann zu implementieren, wenn die Struktur des Netzwerks geändert wird.
-
10 ist ein Beispiel für ein Format des Strukturbestätigungspakets.
-
Ein Feld eines Anzahl-von-Knoten-Zählers dient zum Zählen der Anzahl von Knoten innerhalb des Netzwerks vom Ringtyp; der Zähler speichert 1 zu der Zeit des Sendens von dem Master, und bei jedem Slave wird der Zähler um 1 inkrementiert bei Empfang des Strukturbestätigungspakets und Senden zu dem nächsten Knoten.
-
Auf diese Weise ist der in dem Anzahl-von-Knoten-Zähler gezählte Wert, wenn jeder Slave das Strukturbestätigungspaket empfängt, der Wert ”m” bei dem Slave; und der in dem Anzahl-von-Knoten-Zähler gespeicherte Wert, wenn der Master das Strukturbestätigungspaket empfängt, das durch den Ring zirkuliert und zurückgeführt wurde, ist die Gesamtzahl ”n” von Knoten innerhalb des Rings.
-
Um den Wert ”n” von dem Master zu jedem Slave mitzuteilen, kann ein exklusives Paket für eine derartige Mitteilung von dem Master gesendet werden; alternativ wird der Wert ”n” auf der Masterseite gespeichert, und zu der Zeit der Zeitsynchronisation wird der Wert in dem Messpaket oder dem Messergebnis-Mitteilungspaket gespeichert und kann zu dem Slave gesendet werden.
-
Wie diskutiert wurde, wird der Zeitkorrekturwert berechnet durch Schätzen der Verzögerung vom Senden bei dem Master bis zum Empfangen bei dem Slave auf der Grundlage der Verzögerungszeit von einem Zyklus des Rings, die tatsächlich beim Zirkulieren des Messpakets durch das Netzwerk vom Ringtyp gemessen wird, so dass die Zeitsynchronisation mit einer hohen Genauigkeit implementiert werden kann.
-
Weiterhin ist es, da nur die in derselben Richtung gesendeten Pakete verwendet werden, auf das Netzwerk vom Ringtyp anwendbar, das eine Funktion zum Senden in nur einer Richtung hat, und die Zeitsynchronisationssteuerung von der oberen Schicht nicht in der Lage ist, die Sendezeit auszuwählen.
-
Weiterhin kann, da das Messpaket bei dem Slave zu dem nächsten Knoten über den Verstärker durch eine Hochgeschwindigkeitsübertragung übertragen wird, die Zeit, die zum Zirkulieren des Messpakets durch den Ring erforderlich ist, verkürzt werden, wodurch es möglich wird, die Zeitsynchronisation schnell zu implementieren. Gleichzeitig kann die Genauigkeit des Berechnens der Verzögerungszeit verbessert werden, wodurch die Genauigkeit der Zeitsynchronisation verbessert wird.
-
Weiterhin wird der Zeitsynchronisationsprozess bei dem Slave vergleichförmigt, was die Operation vereinfacht.
-
Wie diskutiert wurde, wurde bei dem vorliegenden Ausführungsbeispiel das Zeitsynchronisationsgerät enthaltend die folgenden Mittel erläutert:
- (a) Empfangsmittel und Sendemittel für den ersten. Übertragungskanal;
- (b) den internen Takt;
- (c) Mittel zum Erhalten und Speichern von Zeiten auf der Grundlage des internen Takts zum Zeitpunkt des Empfangs des Pakets und des Sendens des Pakets durch die Empfangsmittel und die Sendemittel; und
- (d) Steuermittel zum Austausch der vorgenannten Zeitinformationen mit einem anderen Knoten, Berechnen des Zeitkorrekturwerts und Einstellen der Zeit des internen Takts.
-
Weiterhin wurde bei dem vorliegenden Ausführungsbeispiel das Masterknotengerät enthaltend die folgenden Mittel erläutert:
- (a) Mittel zum Senden des Messpakets und zum Erhalten der Sendezeit;
- (b) Mittel zum Empfangen des Messpakets und zum Erhalten der Empfangszeit; und
- (c) Mittel zum Speichern der Sendezeit und der Empfangszeit in dem Messergebnis-Mitteilungspaket und zum Senden des Messergebnis-Mitteilungspakets.
-
Weiterhin wurde bei dem vorliegenden Ausführungsbeispiel das Slaveknotengerät enthaltend die folgenden Mittel erläutert:
- (a) Mittel zum Empfangen des Messpakets und zum Erhalten der Empfangszeit;
- (b) Mittel zum Empfangen des Messergebnis-Mitteilungspakets und zum Herausziehen der Mastersendezeit und der Masterempfangszeit;
- (c) Mittel zum Berechnen des Zeitkorrekturwerts unter Verwendung der Mastersendezeit, der Masterempfangszeit, der Slaveempfangszeit, der Anzahl von Knoten in dem Ring und der Anzahl von Knoten, die auf der Route von dem Master zu dem Slave existieren; und
- (d) Mittel zum Einstellen der Zeit des internen Takts unter Verwendung des berechneten Zeitkorrekturwerts.
-
Ausführungsbeispiel 2
-
Bei dem vorhergehenden ersten Ausführungsbeispiel wird der Zeitkorrekturwert anhand der gemessenen Werte enthaltend die Relaisverarbeitungszeit bei dem Slave berechnet. Als Nächstes wird ein anderes Zeitsynchronisierungsverfahren diskutiert, bei dem jeder Slave die Empfangszeit und die Sendezeit misst und der Zeitkorrekturwert durch die gemessenen Werte, die nicht die Relaisverarbeitungszeit bei dem Slave enthalten, berechnet wird.
-
13 zeigt einen Paketaustauschvorgang in einem derartigen Fall.
-
Bei dem vorliegenden Ausführungsbeispiel erhalten der Master und der Slave jeweils die Empfangszeit und die Sendezeit des Messpakets. Eine Summe der Relaisverarbeitungszeit in allen Slaves, nämlich eine Summe der Differenz zwischen der Empfangszeit und der Sendezeit des Messpakets bei jedem Slave wird von dem tatsächlich gemessenen Wert der Verzögerungszeit, wenn das Paket durch den Ring umläuft, subtrahiert, um eine Summe von jeweiligen Interknoten-Übertragungsverzögerungen zu erhalten, diese Summe wird durch die Anzahl von Knoten in dem Ring geteilt, um einen Durchschnittswert zu erhalten, und der Zeitkorrekturwert in jedem Knoten wird unter Verwendung des Durchschnittswerts als die Übertragungsverzögerung berechnet.
-
11 und 12 zeigen Konfigurationsbeispiele für ein Zeitsynchronisationsgerät 100 gemäß dem vorliegenden Ausführungsbeispiel.
-
Die in den 11 und 12 gezeigten Konfigurationen sind dieselben wie die in den 1 und 2 gezeigten bei dem ersten Ausführungsbeispiel; jedoch sind die Aufgaben und Verarbeitungsinhalte einiger Konfigurationselemente unterschiedlich, so dass jedes Konfigurationselement, das auf das zweite Ausführungsbeispiel bezogen ist, mit Bezug auf die 11 und 12 erläutert wird.
-
11 zeigt ein Konfigurationsbeispiel für das Zeitsynchronisationsgerät 100 als das Masterknotengerät, und 12 zeigt ein Konfigurationsbeispiel für das Zeitsynchronisationsgerät 100 als das Slaveknotengerät.
-
Wie bei dem ersten Ausführungsbeispiel erläutert ist, ist die Konfiguration selbst des Zeitsynchronisationsgeräts 100, ob es als das Masterknotengerät betrieben wird oder ob es als das Slaveknotengerät betrieben wird, dieselbe; jedoch sind die Aufgaben jedes Konfigurationselements und die Verarbeitungsinhalte jeweils unterschiedlich, wenn es als das Masterknotengerät und wenn es als das Slaveknotengerät betrieben wird, so dass zwei Fälle als unterschiedliche Zeichnungen zur Erleichterung der Erläuterung gezeigt werden.
-
Jedoch ist die Konfiguration selbst des Zeitsynchronisationsgeräts 100, ob es als Masterknotengerät oder als Slaveknotengerät betrieben wird, dieselbe, so dass dasselbe Zeitsynchronisationsgerät 100 entweder das Masterknotengerät oder das Slaveknotengerät sein kann.
-
Bei dem vorliegenden Ausführungsbeispiel sendet der Masterknoten, wie später im Einzelnen diskutiert wird, das Messpaket zu dem Slaveknoten, der als sein Empfänger gemäß dem Paketübertragungsbefehl wirkt, empfängt das Messpaket, das zwischen mehreren Slaveknoten zirkuliert wurde, und speichert gemäß dem Zeithalten des Bezugstakts die Sendezeit des Messpakets und die Empfangszeit des Messpakets.
-
Weiterhin sendet der Masterknoten ein Verzögerungsberechnungspaket zum Erhalten einer Gesamtsumme der Relaisverzögerungszeit bei mehreren Slaveknoten zu einem Slaveknoten, der gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt, und empfängt das Verzögerungsberechnungspaket, das zwischen den mehreren Slaveknoten zirkuliert wurde. Das Verzögerungsberechnungspaket wird zwischen den mehreren Slaveknoten, die in der Zirkulationsroute enthalten sind, zirkuliert, die Relaisverzögerungszeit bei jedem Slaveknoten wird akkumuliert, und die Gesamtsumme der Relaisverzögerungszeit der mehreren Slaveknoten wird gezeigt.
-
Weiterhin berechnet der Masterknoten eine Interknotengerät-Übertragungsverzögerungszeit auf der Grundlage der Gesamtsumme der Relaisverzögerungszeit der mehreren Slaveknoten, die in dem empfangenen Verzögerungsberechnungspaket gezeigt ist, der Sendezeit des Messpakets und der Empfangszeit des Messpakets, die gespeichert sind, und der Gesamtzahl der Knotengeräte, erzeugt ein Berechnungsergebnis-Mitteilungspaket, das die gespeicherte Sendezeit des Messpakets und die berechnete Interknotengerät-Übertragungsverzögerungszeit zeigt, und sendet das erzeugte Berechnungsergebnis-Mitteilungspaket zu dem Slaveknoten, der gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt.
-
Wenn sie als der die vorstehende Verarbeitung durchführende Masterknoten arbeitet, enthalten die Konfigurationselemente der Zeitsynchronisations-Steuereinheit 1 Hauptaufgaben wie die folgenden, wie in 11 gezeigt ist.
-
Der interne Takt 4 arbeitet ähnlich wie beim ersten Ausführungsbeispiel als der Bezugstakt, der eine Bezugsgröße der Zeitsynchronisation zwischen den mehreren in dem Netzwerk vom Ringtyp enthaltenen Knotengeräten ist.
-
Die Sendeeinheit 8 sendet das Messpaket, das Verzögerungsberechnungspaket und das Berechnungsergebnis-Mitteilungspaket zu dem Slaveknoten, der gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt. Die Sendeeinheit 8 ist ein Beispiel für eine Messpaket-Sendeeinheit, eine Verzögerungsberechnungspaket-Sendeeinheit und eine Berechnungsergebnis-Mitteilungspaket-Sendeeinheit.
-
Die Empfangseinheit 6 empfängt das Messpaket, das Verzögerungsberechnungspaket und das Berechnungsergebnis-Mitteilungspaket, die zwischen den mehreren Slaveknoten zirkuliert wurden. Die Empfangseinheit 6 ist ein Beispiel für eine Messpaket-Empfangseinheit und eine Verzögerungsberechnungspaket-Empfangseinheit.
-
Die Zeitsynchronisations-Steuereinheit 1 speichert gemäß dem Zeithalten des Bezugstakts die Sendezeit des Messpakets durch die Sendeeinheit 8 und die Empfangszeit des Messpakets durch die Empfangseinheit 6. Weiterhin berechnet die Zeitsynchronisations-Steuereinheit 1 die Interknotengerät-Übertragungsverzögerungszeit auf der Grundlage der Gesamtsumme der Relaisverzögerungszeit bei den mehreren Slaveknoten, die in dem von der Empfangseinheit 6 empfangenen Verzögerungsberechnungspaket gezeigt ist, der gespeicherten Sendezeit des Messpakets und der gespeicherten Empfangszeit des Messpakets sowie der Gesamtzahl der in der Zirkulationsroute enthaltenen Knotengeräte. Die Zeitsynchronisations-Steuereinheit 1 ist ein Beispiel für eine Zeitspeichereinheit und eine Übertragungsverzögerungszeit-Berechnungseinheit.
-
Die Sendedaten-Erzeugungseinheit 3 erzeugt das Berechnungsergebnis-Mitteilungspaket, das die von der Zeitsynchronisations-Steuereinheit 1 gespeicherte Sendezeit des Messpakets und die von der Zeitsynchronisations-Steuereinheit 1 berechnete Interknotengerät-Übertragungsverzögerungszeit zeigt. Die Sendedaten-Erzeugungseinheit 3 ist ein Beispiel für eine Berechnungsergebnis-Mitteilungspaket-Erzeugungseinheit.
-
Weiterhin empfängt bei dem vorliegenden Ausführungsbeispiel, wie später im Einzelnen diskutiert wird, jeder Slaveknoten das Messpaket von dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt, sendet das empfangene Messpaket zu dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt, und speichert gemäß dem Zeithalten des internen Takts die Empfangszeit des Messpakets und die Sendezeit des Messpakets.
-
Weiterhin empfängt jeder Slaveknoten das Verzögerungsberechnungspaket von dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt, erhält einen akkumulierten Wert der Relaisverzögerungszeit von anderen vorhergehenden Slaveknoten gemäß dem Paketübertragungsbefehl, die in dem Verzögerungsberechnungspaket enthalten ist, und speichert den erhaltenen akkumulierten Wert der Relaisverzögerungszeit.
-
Zusätzlich addiert jeder Slaveknoten eine Differenzzeit zwischen der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die gespeichert sind, zu dem akkumulierten Wert der in dem Verzögerungsberechnungspaket enthaltenen Relaisverzögerungszeit, um einen neuen akkumulierten Wert der Relaisverzögerungszeit zu bilden, sendet das Verzögerungsberechnungspaket enthaltend den neuen akkumulierten Wert der Relaisverzögerungszeit zu dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt, empfängt das Berechnungsergebnis-Mitteilungspaket von dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt, berechnet einen Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Interknotengerät-Übertragungsverzögerungszeit, die in dem empfangenen Berechnungsergebnis-Mitteilungspaket gezeigt sind, einer von der gespeicherten Empfangszeit des Messpakets und der gespeicherten Sendezeit des Messpakets, des gespeicherten akkumulierten Werts der Relaisverzögerungszeit und einer Differenz zwischen der Reihenfolge des Slaveknotens und der Reihenfolge des Masterknotens gemäß dem Paketübertragungsbefehl und korrigiert die Zeit des internen Takts unter Verwendung des berechneten Zeitkorrekturwerts.
-
Wenn es als der die vorstehende Verarbeitung durchführende Slaveknoten arbeitet, haben die Konfigurationselemente des Zeitsynchronisationsgeräts 100 hauptsächlich die folgenden Aufgaben, wie in 12 gezeigt ist.
-
Die Empfangseinheit 6 empfängt das Messpaket, das Verzögerungsberechnungspaket und das Berechnungsergebnis-Mitteilungspaket, die durch den Masterknoten von dem Knotengerät übertragen wurden, das gemäß dem Paketübertragungsbefehl als sein Sender wirkt. Die Empfangseinheit 6 ist ein Beispiel für eine Messpaket-Empfangseinheit, eine Verzögerungsberechnungspaket-Empfangseinheit und eine Berechnungsergebnis-Mitteilungspaket-Empfangseinheit.
-
Die Sendeeinheit 8 sendet das Messpaket und das Berechnungsergebnis-Mitteilungspaket, die durch die Empfangseinheit 6 empfangen wurden, zu dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt. Weiterhin sendet die Sendeeinheit 8 das Verzögerungsberechnungspaket, in welchem der neue akkumulierte Wert der Relaisverzögerungszeit durch die Sendedaten-Erzeugungseinheit 3 gespeichert ist, zu dem Knotengerät, das gemäß dem Paketübertragungsbefehl als sein Empfänger wirkt. Die Sendeeinheit 8 ist ein Beispiel für eine Messpaket-Sendeeinheit und eine Verzögerungsberechnungspaket-Sendeeinheit.
-
Die Zeitsynchronisations-Steuereinheit 1 speichert gemäß dem Zeithalten des internen Takts die Empfangszeit des Messpakets durch die Empfangseinheit 6 und die Sendezeit des Messpakets durch die Sendeeinheit 8. Weiterhin erhält die Zeitsynchronisations-Steuereinheit 1 den akkumulierten Wert der Relaisverzögerungszeit, der in dem von der Empfangseinheit 6 empfangenen Verzögerungsberechnungspaket enthalten ist, und speichert den erhaltenen akkumulierten Wert der Relaisverzögerungszeit. Weiterhin addiert die Zeitsynchronisations-Steuereinheit 1 die Differenzzeit zwischen der gespeicherten Empfangszeit des Messpakets und der gespeicherten Sendezeit des Messpakets zu dem akkumulierten Wert der in dem Verzögerungsberechnungspaket enthaltenen Relaisverzögerungszeit, um einen neuen akkumulierten Wert der Relaisverzögerungszeit zu bilden. Zusätzlich berechnet die Zeitsynchronisations-Steuereinheit 1 den Zeitkorrekturwert unter Verwendung der Sendezeit des Messpakets und der Interknotengerät-Übertragungsverzögerungszeit, die in dem empfangenen Berechnungsergebnis-Mitteilungspaket gezeigt sind, zumindest einer von der gespeicherten Empfangszeit des Messpakets und der gespeicherten Sendezeit des Messpakets, des gespeicherten akkumulierten Werts der Relaisverzögerungszeit, der Gesamtzahl der in der Zirkulationsroute enthaltenen Knotengeräte und der Differenz zwischen der Reihenfolge des Slaveknotens und der Reihenfolge des Masterknotens gemäß dem Paketübertragungsbefehl. Die Zeitsynchronisations-Steuereinheit 1 ist ein Beispiel für eine Zeitspeichereinheit, eine Relaisverzögerungszeit-Speichereinheit und eine Zeitkorrekturwert-Berechnungseinheit.
-
Die Sendedaten-Erzeugungseinheit 3 speichert den neuen akkumulierten Wert, der von der Zeitsynchronisations-Steuereinheit 1 berechnet wurde, in dem Verzögerungsberechnungspaket. Die Sendedaten-Erzeugungseinheit 3 ist ein Beispiel für eine Verzögerungsberechnungspaket-Aktualisierungseinheit.
-
Die Taktsteuereinheit 5 korrigiert die Zeit des internen Takts 4 unter Verwendung des von der Zeitsynchronisations-Steuereinheit 1 berechneten Zeitkorrekturwerts.
-
Als Nächstes wird die Operation des Masters und des Slaves erläutert.
-
Zuerst wird die Operation des Masters erläutert.
-
14 zeigt ein Beispiel für den Verarbeitungsfluss des Masters.
-
Zuerst sendet der Master das Messpaket und erhält die Sendezeit (S9).
-
Als Nächstes empfängt der Master das Messpaket, das durch den Ring zirkuliert wurde, und erhält die Empfangszeit (S10).
-
Die vorstehenden Prozesse sind dieselben wie die bei dem ersten Ausführungsbeispiel erläuterten; innerhalb des Masters speichert die Zeitsynchronisations-Steuereinheit 1 die Sendezeit und die Empfangszeit des Messpakets und die Folgenummer des Messpakets.
-
Als Nächstes sendet der Master das Verzögerungsberechnungspaket (S11).
-
Das Verzögerungsberechnungspaket wird durch die Sendedaten-Erzeugungseinheit 3 auf der Grundlage des Befehls von der Zeitsynchronisations-Steuereinheit 1 erzeugt und durch die Sendeeinheit 8 zu dem nächsten Slave gesendet.
-
Ein Beispiel für ein Format des Verzögerungsberechnungspakets ist in 15 gezeigt.
-
In 15 speichert ein Relaisverzögerungs-Additionswert 0 zu der Zeit des Sendens von dem Master und bei jedem Durchgang durch den Slave die Zeit der Relaisverarbeitung bei jedem Slave, das heißt, die Differenz zwischen der Sendezeit und der Empfangszeit, die tatsächlich mit dem Messpaket gemessen wird, wird addiert.
-
Das Verzögerungsberechnungspaket wird nicht durch Rundsenden gesendet, sondern nur zu dem nächsten Knoten gesendet, um einen Prozess zum Addieren des Relaisverzögerungs-Additionswerts bei jedem Slave zu implementieren.
-
Als Nächstes empfängt der Master das Verzögerungsberechnungspaket, das zwischen allen Slaves innerhalb des Rings zirkuliert wurde (S12).
-
Zu dieser Zeit speichert der Relaisverzögerungs-Additionswert des Verzögerungsberechnungspakets die Gesamtsumme der Relaisverzögerungszeit von allen Knoten.
-
Als Nächstes berechnet der Master die Interknoten-Übertragungsverzögerungszeit unter Verwendung der Gesamtsumme der Relaisverarbeitungszeit (S13).
-
Es wird nun angenommen, dass die Sendezeit des Messpakets bei dem Master gleich TMS ist, die Empfangszeit des Messpakets gleich TMR ist, die Summe der Relaisverarbeitungszeit gleich TS ist und die Anzahl von Knoten innerhalb des Rings gleich ”n” ist, und ein Durchschnittswert TD der Interknoten-Übertragungsverzögerungszeit ist: TD = (TMR – TMS – TS)/n.
-
Innerhalb des Masters wird das von der Empfangseinheit 6 empfangene Verzögerungsberechnungspaket durch die Empfangsdaten-Verarbeitungseinheit 2 in die Zeitsynchronisations-Steuereinheit 1 eingegeben, und die Zeitsynchronisations-Steuereinheit 1 berechnet die Interknotengerät-Übertragungsverzögerungszeit unter Verwendung des vorgenannten Ausdrucks.
-
Nachdem die Interknoten-Übertragungsverzögerungszeit berechnet wurde, speichert der Master als Nächstes die bei dem Master gemessene Sendezeit des Messpakets und die bei S13 berechnete Interknoten-Übertragungsverzögerungszeit in dem Berechnungsergebnis-Mitteilungspaket und sendet das Paket (S14).
-
Innerhalb des Masters teilt die Zeitsynchronisations-Steuereinheit 1 die gespeicherte Sendezeit des Messpakets und die berechnete Übertragungsverzögerungszeit der Sendedaten-Erzeugungseinheit 3 mit, und das Berechnungsergebnis-Mitteilungspaket wird von der Sendedaten-Erzeugungseinheit 3 erzeugt.
-
Ein Beispiel für ein Format des BerechnungsergebnisMitteilungspakets ist in 16 gezeigt.
-
Als Nächstes empfängt der Master das Berechnungsergebnis-Mitteilungspaket (S15), und der Prozess wird beendet.
-
Als Nächstes wird die Operation des Slaves erläutert.
-
17 zeigt ein Beispiel für den Verarbeitungsfluss des Slaves.
-
Zuerst empfängt der Slave das Messpaket (S16). Das empfangene Messpaket wird nach Verstärkung über den Verstärker innerhalb des Slaves zu dem nächsten Knoten gesendet. Zu dieser Zeit werden die Empfangszeit und die Sendezeit jeweils erhalten und gespeichert.
-
Dieser Prozess ist derselbe wie beim ersten Ausführungsbeispiel; innerhalb des Slaves speichert die Zeitsynchronisations-Steuereinheit 1 die Empfangszeit des Messpakets und die Folgenummer des Messpakets.
-
Als Nächstes empfängt der Slave das Verzögerungsberechnungspaket (S17).
-
Zu dieser Zeit zieht der Slave den in dem Relaisverzögerungs-Additionswert des empfangenen Verzögerungsberechnungspakets gespeicherten Wert heraus und speichert den Wert.
-
Innerhalb des Slaves wird das von der Empfangseinheit 6 empfangene Verzögerungsberechnungspaket durch die Empfangsdaten-Verarbeitungseinheit 2 in die Zeitsynchronisations-Steuereinheit 1 eingegeben, und die Zeitsynchronisations-Steuereinheit 1 zieht den Wert der Relaisverzägerungszeit des Verzögerungsberechnungspakets heraus und speichert den Wert.
-
Als Nächstes führt der Slave eine Addition der Relaisverarbeitungszeit durch (S18).
-
Der Slave addiert einen Wert, der erhalten wurde durch Subtrahieren der Empfangszeit des Messpakets von der Sendezeit des Messpakets, die an dem eigenen Knoten erhalten wurden, zu dem in dem Feld des Relaisverzögerungs-Additionswerts des bei S17 empfangenen Verzögerungsberechnungspakets gespeicherten Wert. Das heißt, wenn angenommen wird, dass die Empfangszeit des bei dem Slave erhaltenen Messpakets gleich TSR ist und die Sendezeit des Messpakets gleich TSS ist, beträgt der zu dem Relaisverzögerungs-Additionswert zu addierende Wert TSS – TSR.
-
Das heißt, die Zeitsynchronisations-Steuereinheit 1 addiert die Differenzzeit zwischen der Empfangszeit des Messpakets und der Sendezeit des Messpakets, die gespeichert sind, zu dem Relaisverzögerungs-Additionswert (dem akkumulierten Wert der Relaisverzögerungszeit), der in dem Verzögerungsberechnungspaket enthalten ist, um einen neuen Relaisverzögerungs-Additionswert (einen neuen akkumulierten Wert der Relaisverzögerungszeit) zu berechnen.
-
Als Nächstes speichert der Slave neu den bei den S18 addierten Wert in dem Relaisverzögerungs-Additionswert-Feld des Verzögerungsberechnungspakets, um zu dem nächsten Knoten gesendet zu werden, und sendet das Verzögerungsberechnungspaket (S19).
-
Innerhalb des Slaves speichert die Sendedaten-Erzeugungseinheit 3 den neuen Relaisverzögerungs-Additionswert, der von der Zeitsynchronisations-Steuereinheit 1 berechnet wurde, in dem Verzögerungsberechnungspaket, und die Sendeeinheit 8 sendet das Verzögerungsberechnungspaket, das den aktualisierten Relaisverzögerungs-Additionswert zeigt, zu dem nächsten Slave.
-
Als Nächstes empfängt der Slave das Berechnungsergebnis-Mitteilungspaket (S20).
-
Bei Empfang des Berechnungsergebnis-Mitteilungspakets berechnet der Slave als Nächstes den Zeitkorrekturwert des eigenen Knotens (S21).
-
Wenn angenommen wird, dass die von dem Slave bei S16 gemessene Empfangszeit des Messpakets gleich TSR ist, der Relaisverzögerungs-Additionswert des durch den Slave bei S17 empfangenen Verzögerungsberechnungspakets gleich TSD ist, der in der Mastersendezeit des bei S20 empfangenen Berechnungsergebnis-Mitteilungspakets gespeicherte Wert gleich TMS ist, der in der Interknoten-Verzögerungszeit gespeicherte Wert gleich TD ist und dass der Slave der m-te Slave, gezählt von dem Master aus, ist, ist ein Zeitkorrekturwert ΔT bei diesem Slave gleich ΔT = TMS + TSD + mTD – TSR.
-
Innerhalb des Slaves wird das von der Empfangseinheit 6 empfangene Berechnungsergebnis-Mitteilungspaket über die Empfangsdaten-Verarbeitungseinheit 2 in die Zeitsynchronisations-Steuereinheit 1 eingegeben, und die Zeitsynchronisations-Steuereinheit 1 zieht die Mastersendezeit und die Interknoten-Verzögerungszeit aus dem Berechnungsergebnis-Mitteilungspaket heraus und berechnet den Zeitkorrekturwert gemäß dem obigen Ausdruck.
-
Hier wird die Empfangszeit TSR des Messpakets bei dem Slave zum Berechnen des Zeitkorrekturwerts verwendet; stattdessen kann die Sendezeit des Messpakets bei dem Slave zum Berechnen des Zeitkorrekturwerts verwendet werden.
-
Als Nächstes stellt der Slave den internen Takt des eigenen Knotens unter Verwendung des bei S21 berechneten Zeitkorrekturwerts ein (S22).
-
Die Einstellung des internen Takts wird beendet durch Addieren von ΔT zu der Zeit des internen Takts zu einem beliebigen Zeitpunkt.
-
Hinsichtlich des internen Prozesses des Slaves gibt die Zeitsynchronisations-Steuereinheit 1 einen Befehl zum Einstellen des internen Takts unter Verwendung des Korrekturwerts ΔT zu der Taktsteuereinheit 5 aus. Bei Empfang des Befehls zum Einstellen des internen Takts führt die Taktsteuereinheit 5 einen Prozess zum Addieren des Korrekturwerts ΔT zu der gegenwärtigen Zeit des internen Takts 4 aus.
-
Bis zu dem vorgenannten Prozess ist der Zeitsynchronisationsprozess zum Synchronisieren des internen Takts des Slaves mit dem internen Takt (Bezugstakt) des Masters beendet.
-
Wie diskutiert wurde, erfolgt zu der Zeit des Berechnens des Zeitkorrekturwerts die Berechnung unter Verwendung der tatsächlich gemessenen Werte für die zur Relaisverarbeitung in jedem Slave benötigte Zeit; daher ist es möglich, den Korrekturwert mit einer hohen Genauigkeit ohne Einfluss der Relaisverarbeitungszeit des Slaves zu erhalten.
-
Wie vorstehend diskutiert wurde, wurde bei dem vorliegenden Ausführungsbeispiel das Masterknotengerät enthaltend die folgenden Mittel erläutert:
- (a) Mittel zum Senden des Messpakets und zum Erhalten der Sendezeit;
- (b) Mittel zum Empfangen des Messpakets und zum Erhalten der Empfangszeit;
- (c) Mittel zum Senden des Verzögerungsberechnungspakets;
- (d) Mittel zum Empfangen des Verzägerungsberechungspakets und zum Herausziehen des Relaisverzögerungs-Additionswerts;
- (e) Mittel zum Berechnen des Durchschnittswerts der Interknotengerät-Übertragungsverzögerungszeit unter Verwendung der vorgenannten Sendezeit, der Empfangszeit, des Relaisverzögerungs-Additionswerts und der Anzahl von Knoten innerhalb des Rings; und
- (f) Mittel zum Speichern der vorgenannten Sendezeit und des Durchschnittswerts der Interknotengerät-Übertragungsverzögerungszeit in dem Berechnungsergebnis-Mitteilungspaket und zum Senden des Pakets.
-
Weiterhin wurde bei dem vorliegenden Ausführungsbeispiel ebenfalls das Slaveknotengerät enthaltend die folgenden Mittel erläutert:
- (a) Mittel zum Empfangen des Messpakets, zum Senden nach Verstärkung zu dem nächsten Knoten und zum Erhalten der Empfangszeit und der Sendezeit;
- (b) Mittel zum Empfangen des Verzögerungsberechnungspakets, zum Herausziehen des Relaisverzögerungs-Additionswerts und zum Speichern des Werts;
- (c) Mittel zum Addieren der Differenz zwischen der Sendezeit und der Empfangszeit zu dem Relaisverzögerungs-Additionswert;
- (d) Mittel zum Speichern des addierten Relaisverzögerungs-Additionswerts in dem Verzögerungsberechnungspaket und zum Senden des Pakets;
- (e) Mittel zum Empfangen des Berechnungsergebnis-Mitteilungspakets und zum Herausziehen der Mastersendezeit und der Interknoten-Verzögerungszeit;
- (f) Mittel zum Berechnen des Zeitkorrekturwerts an dem eigenen Knoten anhand der Mastersendezeit, des Relaisverzögerungs-Additionswerts, der Interknoten-Verzögerungszeit, der Anzahl von auf der Route von dem Master zu dem eigenen Knoten existierenden Knoten, und der durch den eigenen Knoten erhaltenen Empfangszeit des Messpakets; und
- (g) Mittel zum Einstellen des internen Takts des eigenen Knotens unter Verwendung des vorstehend berechneten Zeitkorrekturwerts.
-
Schließlich wird das Konfigurationsbeispiel des in dem ersten und dem zweiten Ausführungsbeispiel gezeigten Zeitsynchronisationsgeräts 100 erläutert.
-
18 zeigt ein Beispiel für die Hardwareressource des in dem ersten und dem zweiten Ausführungsbeispiel gezeigten Zeitsynchronisationsgeräts 100. Hier zeigt die Konfiguration nach 18 lediglich eines von Beispielen für die Hardwarekonfiguration des Zeitsynchronisationsgeräts 100; und die Hardwarekonfiguration des Zeitsynchronisationsgeräts 100 ist nicht auf die in 18 gezeigte Konfiguration beschränkt, sondern kann eine andere Konfiguration sein.
-
In 18 enthält das Zeitsynchronisationsgerät 100 eine CPU 911 (Zentrale Verarbeitungseinheit; auch als eine zentrale Verarbeitungsvorrichtung, eine Verarbeitungsvorrichtung, eine Operationsvorrichtung, ein Mikroprozessor, ein Mikrocomputer und ein Prozessor bezeichnet), die Programme ausführt. Die CPU 911 ist über einen Bus 912 mit beispielsweise einem Rom (Festwertspeicher) 913, einem RAM (Speicher mit wahlweisem Zugriff) 914, einer Kommunikationsplatte 915, einer Anzeigevorrichtung 901, einer Tastatur 902, einer Maus 903 und einem Magnetplatten-Laufwerk 920 verbunden und steuert diese Hardwarevorrichtungen. Darüber kann die CPU 911 mit einem FDD 904 (Diskettenlaufwerk), einem Kompaktscheiben-Laufwerk 905 (CDD), einer Druckvorrichtung 906 und einer Abtastvorrichtung 907 verbunden sein. Weiterhin kann sie anstelle mit dem Magnetplatten-Laufwerk 920 mit einer Speichervorrichtung wie einem optischen Plattenlaufwerk und einer Lese-/Schreibvorrichtung für eine Speicherkarte usw. verbunden sein.
-
Der RAM 914 ist ein Beispiel für einen flüchtigen Speicher. Speichermedien des ROM 913, des FDD 904, des CDD 905 und des Magnetplatten-Laufwerks 920 sind Beispiele für einen nichtflüchtigen Speicher. Dieses sind Beispiele für die Speichervorrichtung oder die Speichereinheit.
-
Die Kommunikationsplatte 915, die Tastatur 902, die Abtastvorrichtung 907 und das FDD 904 usw. sind Beispiele für die Eingabeeinheit und die Eingabevorrichtung.
-
Weiterhin sind die Kommunikationsplatte 915, die Anzeigevorrichtung 901 und die Druckvorrichtung 906 usw. Beispiele für die Ausgabeeinheit und die Ausgabevorrichtung.
-
Die Kommunikationsplatte 915 ist, wie in 3 gezeigt ist, mit dem Netzwerk vom Ringtyp verbunden. Weiterhin ist die Kommunikationsplatte 915 beispielsweise mit einem LAN (lokalen Netzwerk), dem Internet, einem WAN (weiträumigen Netzwerk), usw. verbindbar.
-
Das Magnetplatten-Laufwerk 920 speichert ein Operationssystem 921 (OS), ein Fenstersystem 922, eine Gruppe von Programmen 923 und eine Gruppe von Dateien 924. Programme der Gruppe von Programmen 923 werden durch die CPU 911, das Operationssystem 921 und das Fenstersystem 922 ausgeführt.
-
Die vorgenannte Gruppe von Programmen 923 speichert Programme, die Funktionen ausführen, die in dem ersten und dem zweiten Ausführungsbeispiel als ”-einheit” und ”-mittel” erläutert sind. Die Programme werden von der CPU 911 gelesen und ausgeführt.
-
Die Gruppe von Dateien 924 speichert Informationen, Daten, Signalwerte, variable Werte oder Parameter, die Prozessergebnisse zeigen, die in dem ersten und dem zweiten Ausführungsbeispiel erläutert sind als ”Bestimmung von -”, ”Operation von -”, ”Berechnung von -”, ”Vergleich von -”, ”Erhalten von -”, ”Aktualisieren von -”, ”Einstellen von -” und ”Registrieren von -”, usw. als jeder Gegenstand von ”-datei-” oder ”-datenbank”. ”-datei” oder ”-datenbank” wird durch das Aufzeichnungsmedium wie Platten oder Speicher usw. gespeichert. Die Informationen, Daten, Signalwerte, variablen Werte oder Parameter, die in dem Speichermedium wie Platten oder Speichern usw. gespeichert sind, werden durch die CPU 911 über die lese-/Schreibschaltung zu einem Hauptspeicher oder einem Cachespeicher gelesen und für die Operation der CPU wie Extraktion, Suche, Inbeziehungsetzen, Vergleich, Operation, Berechnung, Verarbeitung, Aufbereitung, Ausgabe, Drucken und Anzeige usw. verwendet. Während der Operation der CPU zur Extraktion, Suche, Inbeziehungsetzung, Vergleich, Operation, Berechnung, Verarbeitung, Aufbereitung, Ausgabe, Drucken und Anzeigen werden die Informationen, Daten, Signalwerte, variablen Werte oder Parameter vorübergehend in dem Hauptspeicher, einem Register, dem Cachespeicher und einem Pufferspeicher usw. gespeichert.
-
Weiterhin zeigt ein Pfeil in den Flussdiagrammen, die in dem ersten und dem zweiten Ausführungsbeispiel erläutert sind, hauptsächlich die Eingabe/Ausgabe von Daten oder Signalen und Daten oder Signalwerte werden in einem Aufzeichnungsmedium wie einem Speicher des RAM 914, eine Diskette des FDD 904, einer Kompaktscheibe des CDD 905, einer Magnetplatte des Magnetplatten-Laufwerks 920 und einer anderen optischen Scheibe, Minischeibe, DVD, usw. gespeichert. Weiterhin werden Daten oder Signale online durch den Bus 912, Signalleitungen, Kabel und andere Übertragungsmedien übertragen.
-
Weiterhin können ”-einheit” und ”-mittel”, die in dem ersten und dem zweiten Ausführungsbeispiel erläutert sind, ”-schaltung”, ”-vorrichtung” und ”-ausrüstung” sein, und können auch ”-schritt”, ”-verfahren” und ”-prozess” sein. D. h., ”-einheit” und ”-mittel” können durch die in dem ROM 913 gespeicherte Firmware implementiert sein. Oder es ist auch möglich, nur durch Software, nur durch Hardware solche wie Elemente, Vorrichtungen, Platten und Verdrahtungen usw., oder eine Kombination von Software und Hardware oder eine Kombination weiterhin mit Firmware zu implementieren. Die Firmware und Software werden als Programme in dem Aufzeichnungsmedium wie der Magnetplatte, der Diskette, der optischen Platte, der Kompaktscheibe, der Minischeibe, der DVD, usw. gespeichert. Die Programme werden durch die CPU 911 gelesen und durch die CPU 911 ausgeführt. D. h., die Programme sollen bewirken, dass ein Computer als ”-einheit” und ”-mittel”” bei dem ersten und dem zweiten Ausführungsbeispiel arbeitet. Oder die Programme sollen bewirken, dass der Computer Vorgänge oder Verfahren von ”-einheit” und ”-mitteln” bei dem ersten und dem zweiten Ausführungsbeispiel ausführt.
-
Wie dies ist das in dem ersten und dem zweiten Ausführungsbeispiel gezeigte Zeitsynchronisationsgerät 100 ein Computer enthaltend die CPU, die eine Verarbeitungseinheit ist, Speicher und Magnetplatten, usw., die das Speichermedium sind, eine Tastatur, eine Maus, eine Kommunikationsplatte usw., die die Eingabevorrichtungen sind, eine Anzeigevorrichtung, eine Kommunikationsplatte, usw., die die Ausgabevorrichtung sind, und, wie vorstehend diskutiert ist, zum Implementieren von Funktionen dienen, die als ”-einheit” und ”-mittel” dienen, die diese Verarbeitungseinheit, die Speichervorrichtung, die Eingabevorrichtung und die Ausgabevorrichtung verwenden.
-
Kurze Erläuterung der Zeichnungen
-
1 zeigt ein Konfigurationsbeispiel für ein Zeitsynchronisationsgerät als einen Masterknoten gemäß dem ersten Ausführungsbeispiel.
-
2 zeigt ein Konfigurationsbeispiel für ein Zeitsynchronisationsgerät als einen Slaveknoten gemäß dem ersten Ausführungsbeispiel.
-
3 zeigt ein Konfigurationsbeispiel für ein Netzwerk vom Ringtyp gemäß dem ersten Ausführungsbeispiel.
-
4 zeigt ein Beispiel für eine Paketübertragung zwischen Knoten gemäß dem ersten Ausführungsbeispiel.
-
5 ist ein Flussdiagramm, das ein Operationsbeispiel für den Masterknoten gemäß dem ersten Ausführungsbeispiel zeigt.
-
6 zeigt ein Beispiel für ein Messpaket gemäß dem ersten Ausführungsbeispiel.
-
7 zeigt ein Beispiel für ein Messergebnis-Mitteilungspaket gemäß dem ersten Ausführungsbeispiel.
-
8 ist ein Flussdiagramm, das ein Operationsbeispiel für den Slaveknoten gemäß dem ersten Ausführungsbeispiel zeigt.
-
9 zeigt ein Beispiel für eine Paketübertragung zwischen Knoten gemäß dem ersten Ausführungsbeispiel.
-
10 zeigt ein Beispiel für ein Strukturbestätigungspaket gemäß dem ersten Ausführungsbeispiel.
-
11 zeigt ein Konfigurationsbeispiel für ein Zeitsynchronisationsgerät als einen Masterknoten gemäß dem zweiten Ausführungsbeispiel.
-
12 zeigt ein Konfigurationsbeispiel für ein Zeitsynchronisationsgerät als ein Slaveknoten gemäß dem zweiten Ausführungsbeispiel.
-
13 zeigt ein Beispiel für eine Paketübertragung zwischen Knoten gemäß dem zweiten Ausführungsbeispiel.
-
14 ist ein Flussdiagramm, das ein Operationsbeispiel für den Masterknoten gemäß dem zweiten Ausführungsbeispiel zeigt.
-
15 zeigt ein Beispiel für ein Verzögerungsberechnungspaket gemäß dem zweiten Ausführungsbeispiel.
-
16 zeigt ein Beispiel für ein Berechnungsergebnis-Mitteilungspaket gemäß dem zweiten Ausführungsbeispiel.
-
17 ist ein Flussdiagramm, das ein Operationsbeispiel für den Slaveknoten gemäß dem zweiten Ausführungsbeispiel zeigt.
-
18 zeigt ein Konfigurationsbeispiel für Hardware des Zeitsynchronisationsgeräts gemäß dem ersten und dem zweiten Ausführungsbeispiel.
-
Erläuterung von Zeichen
-
1: Zeitsynchronisations-Steuereinheit; 2: Empfangsdaten-Verarbeitungseinheit; 3: Sendedaten-Erzeugungseinheit; 4: Interner Takt; 5: Taktsteuereinheit; 6: Empfangseinheit; 7: Verstärker, 8: Sendeeinheit; und 100: Zeitsynchronisationsgerät.