DE112015006604T5 - Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren - Google Patents

Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren Download PDF

Info

Publication number
DE112015006604T5
DE112015006604T5 DE112015006604.7T DE112015006604T DE112015006604T5 DE 112015006604 T5 DE112015006604 T5 DE 112015006604T5 DE 112015006604 T DE112015006604 T DE 112015006604T DE 112015006604 T5 DE112015006604 T5 DE 112015006604T5
Authority
DE
Germany
Prior art keywords
data
time
unit
synchronization
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112015006604.7T
Other languages
English (en)
Other versions
DE112015006604B4 (de
Inventor
Xiaonan Shi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112015006604T5 publication Critical patent/DE112015006604T5/de
Application granted granted Critical
Publication of DE112015006604B4 publication Critical patent/DE112015006604B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Abstract

In einer Zeitsynchronisationseinrichtung (300) empfängt eine Empfangseinheit (310) erste Daten (401) von einer Haupteinrichtung (200). Anschließend überträgt eine Übertragungseinheit (320) zweite Daten (402) an die Haupteinrichtung (200). Eine Korrektureinheit (340) korrigiert die Empfangszeit der ersten Daten (401) und die Übertragungszeit der zweiten Daten (402), die unter Verwendung einer Nebenuhr (301), die eine Software-Uhr ist, aufgezeichnet wurden. Eine Synchronisationseinheit (350) berechnet einen Zeitoffset (405) aus zumindest der Übertragungszeit der ersten Daten (401), die von der Haupteinrichtung (200) gemeldet wurde, der Empfangszeit der ersten Daten (401), die durch die Korrektureinheit (340) korrigiert wurde, der Übertragungszeit der zweiten Daten (402), die durch die Korrektureinheit (340) korrigiert wurde, und der Empfangszeit der zweiten Daten (402), die von der Haupteinrichtung (200) gemeldet wurde. Der Zeitoffset (405) ist eine Zeitverzögerung zwischen einer Hauptuhr (201) und der Nebenuhr (301).

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Zeitsynchronisationseinrichtung, ein Zeitsynchronisationssystem und ein Zeitsynchronisationsverfahren.
  • Hintergrund zum Stand der Technik
  • Auf dem Gebiet der Prozessautomatisierung (PA) wird die Erzielung einer weiträumigen intelligenten Kommunikation durch einen Wechsel von einer geschlossenen Netzwerkkonfiguration auf eine offene Netzwerkkonfiguration unter Anwendung neuer Informationstechnologien und dergleichen vorangebracht. Als Beispiel sind intelligente Stromnetze zu nennen. Zur Messung und Steuerung zahlreicher Einrichtungen gibt es Anforderungen an eine Zeitsynchronisation mit hoher Genauigkeit, um Ereignissynchronisation und Datenkorrelation zu vereinfachen.
  • In einer geschlossenen Netzwerkkonfiguration werden die Zeiten von einer relativ kleinen Anzahl, wie mehreren zehn, von Einrichtungen durch ein einziges Zeitsynchronisationsschema synchronisiert. Die Zeitsynchronisationsgenauigkeit ist in Mikrosekunden. Zur Verbesserung der Zeitsynchronisationsgenauigkeit wird ein Zeitsynchronisationsschema hauptsächlich auf der Basis von einer Hardware implementiert.
  • Das IEEE (Institute of Electrical and Electronics Engineers) hat einen Zeitsynchronisationsstandard IEEE 1588 über Ethernet (eingetragene Marke) als ein Zeitsynchronisationsschema festgelegt, das in einer offenen Netzwerkkonfiguration eingesetzt werden kann. Der IEEE-Standard 1588 definiert ein Verfahren zum Synchronisieren der Zeit durch Übertragen und Empfangen von Synchronisationsrahmen, die über ein Netzwerk darin aufgezeichnete Zeit enthalten. Die Implementierung des IEEE-Standards 1588 ist in zwei Typen klassifiziert, welche die hardwarebasierte Implementierung und die softwarebasierte Implementierung sind.
  • Bei der hardwarebasierten Implementierung wird eine Hardwarezeitstempelungsfunktion einer PHY, welche Verarbeitung auf einer physikalischen Schicht im OSI-(Open Systems Interconnection)-Referenzmodell durchführt, zum Aufzeichnen der Zeit verwendet (siehe zum Beispiel Patentliteratur 1). Somit zeichnet eine Zeit übertragende Seite einen Zeitstempel als eine Übertragungszeit auf, wenn eine PHY einen Synchronisationsrahmen überträgt, und überträgt die aufgezeichnete Übertragungszeit. In ähnlicher Weise zeichnet eine Zeit empfangende Seite einen Zeitstempel als eine Empfangszeit auf, wenn eine PHY einen Synchronisationsrahmen empfängt, und verwendet die aufgezeichnete Empfangszeit in einem Anwendungsprogramm. Die Zeitsynchronisationsgenauigkeit ist in der Theorie eine Nanosekunde, ist allerdings tatsächlich bis etwa 100 Nanosekunden.
  • Bei der softwarebasierten Implementierung wird eine Softwarezeitstempelungsfunktion eines Anwendungsprogramms, welches Verarbeitung auf einer Anwendungsschicht des OSI-Referenzmodells durchführt, verwendet, um Zeit aufzuzeichnen. Daher zeichnet eine Zeit übertragende Seite einen Zeitstempel als Übertragungszeit auf, wenn das Anwendungsprogramm einen unteren Prozess anweist, einen Synchronisationsrahmen zu übertragen, und überträgt die aufgezeichnete Übertragungszeit. In ähnlicher Weise zeichnet eine Zeit empfangende Seite einen Zeitstempel als Empfangszeit auf, wenn das Anwendungsprogramm über den Empfang eines Synchronisationsrahmens durch einen unteren Prozess informiert ist, und verwendet die aufgezeichnete Empfangszeit im Anwendungsprogramm. Die Zeitsynchronisationsgenauigkeit ist im schlechtesten Fall auf etwa 100 Millisekunden herabgesetzt. Es wird darauf hingewiesen, dass die Zeitsynchronisationsgenauigkeit bei der softwarebasieren Implementierung in Abhängigkeit vom Betriebssystem (OS), auf welchem das Anwendungsprogramm läuft, und der hierarchischen Struktur der Kommunikationsfunktionen stark variiert.
  • Liste der zitierten Schriften
  • Patentliteratur
    • Patentliteratur 1: JP 2012-256965 A
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Zum Wechseln eines Systems von einer geschlossenen Netzwerkkonfiguration in eine offene Netzwerkkonfiguration wird das System mit einem anderen System verbunden. Hinsichtlich der Ressourcenaufwendungen kann ein bestehendes Zeitsynchronisationsschema zur Zeitsynchronisation im System weiter genutzt werden, und der IEEE-Standard 1588 kann für eine Zeitsynchronisation außerhalb des Systems verwendet werden. In diesem Fall ist allerdings ein Endgerät erforderlich, das sowohl das bestehende Zeitsynchronisationsschema als auch den IEEE-Standard 1588 unterstützt. In einem Fall, wenn der IEEE-Standard 1588 neu eingeführt wird, stellt die Verwendung der hardwarebasierten Implementierung eine hohe Zeitsynchronisationsgenauigkeit bereit, verursacht allerdings sehr hohe Kosten. Daher ist im Hinblick auf Kosteneinsparungen die softwarebasierte Implementierung wünschenswert.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, die Zeitsynchronisationsgenauigkeit eines Zeitsynchronisationsschemas in der softwarebasierten Implementierung zu verbessern.
  • Lösung des Problems
  • Eine Zeitsynchronisationseinrichtung gemäß einem Aspekt der vorliegenden Erfindung enthält:
    eine Empfangseinheit, um erste Daten von einer Haupteinrichtung, die eine Hauptuhr aufweist, zu empfangen;
    eine Übertragungseinheit, um zweite Daten an die Haupteinrichtung zu übertragen, nachdem die ersten Daten durch die Empfangseinheit empfangen werden;
    eine Aufzeichnungseinheit, um eine Empfangszeit der ersten Daten an der Empfangseinheit und eine Übertragungszeit der zweiten Daten an der Übertragungseinheit unter Verwendung einer Nebenuhr, die eine Software-Uhr ist, aufzuzeichnen;
    eine Korrektureinheit, um die Empfangszeit der ersten Daten und die Übertragungszeit der zweiten Daten, die durch die Aufzeichnungseinheit aufgezeichnet wurden, zu korrigieren; und
    eine Synchronisationseinheit, um einen Zeitoffset zumindest aus der von der Haupteinrichtung gemeldeten Übertragungszeit der ersten Daten an der Haupteinrichtung, der durch die Korrektureinheit korrigierten Empfangszeit der ersten Daten, der durch die Korrektureinheit korrigierten Übertragungszeit der zweiten Daten, und der von der Haupteinrichtung gemeldeten Empfangszeit der zweiten Daten an der Haupteinrichtung zu berechnen, wobei der Zeitoffset eine Zeitverzögerung zwischen der Hauptuhr und der Nebenuhr ist.
  • Vorteilhafte Wirkungen der Erfindung
  • In der vorliegenden Erfindung, da die unter Verwendung einer Software-Uhr aufgezeichnete Zeit korrigiert wird, wird die Synchronisationsgenauigkeit des Zeitsynchronisationsschemas in der softwarebasierten Implementierung verbessert.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Diagramm zum Darstellen einer Beispielkonfiguration eines Zeitsynchronisationssystems gemäß einer ersten Ausführungsform.
  • 2 ist ein Blockdiagramm zum Darstellen von Konfigurationen einer Haupteinrichtung und einer Zeitsynchronisationseinrichtung gemäß der ersten Ausführungsform.
  • 3 ist ein Flussdiagramm zum Darstellen des Betriebs des Zeitsynchronisationssystems gemäß der ersten Ausführungsform.
  • 4 ist ein Flussdiagramm zum Darstellen des Betriebs des Zeitsynchronisationssystems gemäß der ersten Ausführungsform.
  • 5 ist ein Flussdiagramm zum Darstellen des Betriebs des Zeitsynchronisationssystems gemäß der ersten Ausführungsform.
  • 6 ist ein Blockdiagramm zum Darstellen einer Beispielimplementierung der Haupteinrichtung und der Zeitsynchronisationseinrichtung gemäß der ersten Ausführungsform.
  • 7 ist ein Sequenzdiagramm zum Darstellen eines Kommunikationsvorgangs zwischen der Haupteinrichtung und der Zeitsynchronisationseinrichtung gemäß der ersten Ausführungsform.
  • 8 ist ein Diagramm zum Darstellen einer Beispielkonfiguration eines Zeitsynchronisationssystems gemäß einer zweiten Ausführungsform.
  • 9 ist ein Diagramm zum Darstellen einer Beispielkonfiguration eines Zeitsynchronisationssystems gemäß einer dritten Ausführungsform.
  • 10 ist ein Digramm zum Darstellen einer Beispielhardwarekonfiguration einer Zeitsynchronisationseinrichtung gemäß Ausführungsformen der vorliegenden Erfindung.
  • Beschreibung von Ausführungsformen
  • Ausführungsformen der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die Zeichnungen erläutert. Es wird darauf hingewiesen, dass in den Zeichnungen die gleichen oder korrespondierende Teile oder Komponenten durch die gleichen Bezugszeichen dargestellt sind. In der Beschreibung der Ausführungsformen wird die Erläuterung gleicher oder korrespondierender Teile nicht wiederholt oder gegebenenfalls in einer vereinfachten Weise bereitgestellt.
  • Erste Ausführungsform
  • Ein Zeitsynchronisationsschema bei der herkömmlichen softwarebasierten Implementierung weist ein Problem der Herabsetzung der Zeitsynchronisationsgenauigkeit wie vorstehend erläutert auf. Faktoren dieses Problems sind die Variation in Software-Zeitstempeln und Verzögerungsasymmetrie in internen Prozessen eines Endgeräts, auf welchem Zeitsynchronisation implementiert ist. In der vorliegenden Ausführungsform werden aufgezeichnete Werte der Zeit korrigiert, so dass zumindest einer oder einige dieser Faktoren beseitigt oder unterdrückt werden.
  • Die vorliegende Ausführungsform erzielt Zeitsynchronisation in einem verteilten System, in welchem eine Vielzahl von Einrichtungen vorhanden sind, durch softwarebasierte Implementierung. In einem Zeitsynchronisationsschema in der softwarebasierten Implementierung gemäß der vorliegenden Ausführungsform wird das Prinzip des IEEE-Standards 1588 genutzt. Dieses Zeitsynchronisationsschema kann in irgendeinem in dem verteilten System vorhandenen Endgerät implementiert sein. Ein in einem Endgerät installiertes OS ist ein Echtzeit-OS. Ein Endgerät auf einer Zeit übertragenden Seite ist ein Hauptgerät. Ein Endgerät auf einer Zeit empfangenden Seite ist ein Nebengerät, welches Zeitsynchronisation durchführt.
  • Eine Konfiguration eines Systems gemäß der vorliegenden Ausführungsform, ein Betrieb des Systems gemäß der vorliegenden Ausführungsform und Wirkungen der vorliegenden Ausführungsform werden nachfolgend in dieser Reihenfolge erläutert.
  • Beschreibung der Konfiguration
  • Eine Beispielkonfiguration eines Zeitsynchronisationssystems 100, das das System gemäß der vorliegenden Ausführungsform ist, wird unter Bezugnahme auf 1 erläutert.
  • Das Zeitsynchronisationssystem 100 ist ein verteiltes System. Das Zeitsynchronisationssystem 100 enthält ein großes Hauptgerät (GM) 110, eine Vielzahl von programmierbaren logischen Steuerungen (SPSs) und eine Vielzahl von Feldgeräten 130.
  • In diesem Beispiel wird eine Baumnetzwerktopologie verwendet. Das GM 110 ist die Wurzel und zumindest drei SPSs 120 sind mit dem GM 110 als der Wurzel untergeordnete Knoten verbunden. Zumindest eine SPS 120 oder zumindest drei Feldgeräte 130 sind als weitere untergeordnete Knoten, welche ein Teilnetzwerk bilden, verbunden.
  • Das GM 110 stellt eine Zeitreferenz bereit. Ein erstes Zeitsynchronisationsschema 101 wird auf die Zeitsynchronisation zwischen dem GM 110 und den mit dem GM 110 verbundenen SPSs 120 angewandt. Das erste Zeitsynchronisationsschema 101 ist ein Zeitsynchronisationsschema in der softwarebasierten Implementierung gemäß der vorliegenden Ausführungsform unter Verwendung des Prinzips des IEEE-Standards 1588. Ein Vorgang der Zeitsynchronisation durch das erste Zeitsynchronisationsschema 101 wird nachfolgend erläutert.
  • Ein zweites Zeitsynchronisationsschema 102 wird auf die Zeitsynchronisation in jedem Teilnetzwerk angewendet. Das zweite Zeitsynchronisationsschema 102 ist ein für jedes Teilnetzwerk spezifisches Zeitsynchronisationsschema. Da irgendein Vorgang auf den Vorgang der Zeitsynchronisation durch das zweite Zeitsynchronisationsschema 102 angewendet werden kann, wird die Beschreibung des Vorgangs nicht bereitgestellt.
  • Die mit dem GM 110 verbundenen SPSs 120 unterstützen das zweite Zeitsynchronisationsschema 102 der entsprechenden Teilnetzwerke, und unterstützen das erste Zeitsynchronisationsschema 101.
  • Es wird darauf hingewiesen, dass die Anzahl der mit dem GM 110 verbundenen SPSs 120 und die Konfiguration jedes Teilnetzwerks bei Bedarf verändert werden kann. Die SPSs 120 können durch einen anderen Gerättyp, wie numerische Steuerungen (NCs), ersetzt sein.
  • Konfigurationen einer Haupteinrichtung 200 und einer Zeitsynchronisationseinrichtung 300 gemäß der vorliegenden Ausführungsform werden unter Bezugnahme auf 2 erläutert.
  • Die Haupteinrichtung 200 weist eine Hauptuhr 201 auf. Die Hauptuhr 201 ist keine Hardware-Uhr, sondern eine Software-Uhr. Eine Hardware-Uhr ist eine Uhr, die auf einer Hardware angebracht ist. Eine Hardware-Uhr wird für eine Hardwarezeitstempelungsfunktion eingesetzt. Eine Software-Uhr ist eine Uhr, die durch Software verwaltet wird. Eine Software-Uhr wird für eine Softwarezeitstempelungsfunktion eingesetzt.
  • Die Haupteinrichtung 200 enthält eine Übertragungseinheit 210, eine Empfangseinheit 220, eine Aufzeichnungseinheit 230 und eine Korrektureinheit 240.
  • Das GM 110, gezeigt in 1, ist ein Endgerät auf einer Zeit übertragenden Seite im ersten Zeitsynchronisationsschema 101 und entspricht der Haupteinrichtung 200.
  • Die Zeitsynchronisationseinrichtung 300 weist eine Nebenuhr 301 auf. Ähnlich der Hauptuhr 201 ist die Nebenuhr 301 keine Hardware-Uhr, sondern eine Software-Uhr.
  • Die Zeitsynchronisationseinrichtung 300 enthält eine Empfangseinheit 310, eine Übertragungseinheit 320, eine Aufzeichnungseinheit 330, eine Korrektureinheit 340 und eine Synchronisationseinheit 350.
  • Die mit dem GM 110 verbundenen SPSs 120, wie in 1 gezeigt, sind Endgeräte auf einer Zeit empfangenden Seite im ersten Zeitsynchronisationsschema 101, und entsprechen jeweils der Zeitsynchronisationseinrichtung 300.
  • Die Haupteinrichtung 200 und die Zeitsynchronisationseinrichtung 300 übertragen und empfangen Daten aneinander/voneinander über ein Netzwerk 400 gemäß eines Kommunikationsvorgangs des ersten Zeitsynchronisationsschemas 101, welches anschließend erläutert wird. Dies ermöglicht es für die Zeitsynchronisationseinrichtung 300, die Zeit der Nebenuhr 301 auf die Zeit der Hauptuhr 201 einzustellen.
  • Die Übertragungseinheit 210 der Haupteinrichtung 200 überträgt erste Daten 401 an die Zeitsynchronisationseinrichtung 300.
  • Die Empfangseinheit 310 der Zeitsynchronisationseinrichtung 300 empfängt die ersten Daten 401 von der Haupteinrichtung 200.
  • Die Übertragungseinheit 320 der Zeitsynchronisationseinrichtung 300 überträgt zweite Daten 402 an die Haupteinrichtung 200, nachdem die ersten Daten 401 durch die Empfangseinheit 310 empfangen werden.
  • Die Empfangseinheit 220 der Haupteinrichtung 200 empfängt die zweiten Daten 402 von der Zeitsynchronisationseinrichtung 300.
  • Die Aufzeichnungseinheit 230 der Haupteinrichtung 200 zeichnet die Übertragungszeit der ersten Daten 401 an der Übertragungseinheit 210 und die Empfangszeit der zweiten Daten 402 an der Empfangseinheit 220 unter Verwendung der Hauptuhr 201 auf.
  • Die Korrektureinheit 240 der Haupteinrichtung 200 korrigiert die Übertragungszeit der ersten Daten 401 und die Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 aufgezeichnet wurden.
  • Die Übertragungseinheit 210 der Haupteinrichtung 200 überträgt an die Zeitsynchronisationseinrichtung 300 dritte Daten 403 zum Melden zumindest der durch die Korrektureinheit 240 korrigierten Übertragungszeit der ersten Daten 401 und vierte Daten 404 zum Melden zumindest der durch die Korrektureinheit 240 korrigierten Empfangszeit der zweiten Daten 402. Auf diese Weise meldet die Übertragungseinheit 210 zumindest die Übertragungszeit der ersten Daten 401 und die Empfangszeit der zweiten Daten 402, die durch die Korrektureinheit 240 korrigiert wurden, an die Zeitsynchronisationseinrichtung 300.
  • die Empfangseinheit 310 der Zeitsynchronisationseinrichtung 300 empfängt die dritten Daten 403 und die vierten Daten 404 von der Haupteinrichtung 200.
  • Die Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 zeichnet die Empfangszeit der ersten Daten 401 an der Empfangseinheit 310 und die Übertragungszeit der zweiten Daten 402 an der Übertragungseinheit 320 mittels der Nebenuhr 301 auf.
  • Die Korrektureinheit 340 der Zeitsynchronisationseinrichtung 300 korrigiert die Empfangszeit der ersten Daten 401 und die Übertragungszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 330 aufgezeichnet wurden.
  • Die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 berechnet einen Zeitoffset 405 zumindest aus der von der Haupteinrichtung 200 gemeldeten Übertragungszeit der ersten Daten 401 an der Haupteinrichtung 200, der durch die Korrektureinheit 340 korrigierten Empfangszeit der ersten Daten 401, der durch die Korrektureinheit 340 korrigierten Übertragungszeit der zweiten Daten 402 und der von der Haupteinrichtung 200 gemeldeten Empfangszeit der zweiten Daten 402 an der Haupteinrichtung 200. Der Zeitoffset 405 ist eine Zeitverzögerung zwischen der Hauptuhr 201 und der Nebenuhr 301. Zur Berechnung des Zeitoffsets 405 bezieht sich die Synchronisationseinheit 350 auf die dritten Daten 403 und die vierten Daten 404, die durch die Empfangseinheit 310 empfangen wurden. Das heißt, die Synchronisationseinheit 350 erhält die Übertragungszeit der ersten Daten 401 an der Haupteinrichtung 200 aus den dritten Daten 403, die durch die Empfangseinheit 310 empfangen wurden. Die Synchronisationseinheit 350 erhält die Empfangszeit der zweiten Daten 402 an der Haupteinrichtung 200 aus den vierten Daten 404, die durch die Empfangseinheit 310 empfangen wurden.
  • In der vorliegenden Ausführungsform sind die dritten Daten 403 Daten zum Melden nicht nur der Übertragungszeit der ersten Daten 401, die durch die Korrektureinheit 240 der Haupteinrichtung 200 korrigiert wurde, sondern auch der Übertragungszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 230 der Haupteinrichtung 200 aufgezeichnet wurde. Die vierten Daten 404 sind Daten zum Melden nicht nur der Empfangszeit der zweiten Daten 402, die durch die Korrektureinheit 240 korrigiert wurde, sondern auch der Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 aufgezeichnet wurde. Das heißt, in der vorliegenden Ausführungsform meldet die Übertragungseinheit 210 der Haupteinrichtung 200 zudem die Übertragungszeit der ersten Daten 401 und die Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 aufgezeichnet wurden, an die Zeitsynchronisationseinrichtung 300. Somit nutzt die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 zur Berechnung des Zeitoffsets 405 sowohl die Übertragungszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 230 der Haupteinrichtung 200 aufgezeichnet wurde, als auch die Übertragungszeit der ersten Daten 401, die durch die Korrektureinheit 240 der Haupteinrichtung 200 korrigiert wurde, als die von der Haupteinrichtung 200 gemeldete Übertragungszeit der ersten Daten 401 an der Haupteinrichtung 200. Zudem nutzt die Synchronisationseinheit 250 der Synchronisationseinrichtung 300 zur Berechnung des Zeitoffsets 405 sowohl die Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 der Haupteinrichtung 200 aufgezeichnet wurde, als auch die Empfangszeit der zweiten Daten 402, die durch die Korrektureinheit 240 der Haupteinrichtung 200 korrigiert wurde, als die von der Haupteinrichtung 200 gemeldete Empfangszeit der zweiten Daten 402 an der Haupteinrichtung 200.
  • In der vorliegenden Ausführungsform nutzt die Synchronisationseinheit 350 zur Berechnung des Zeitoffsets 405 nicht nur die durch die Korrektureinheit 340 korrigierte Empfangszeit der ersten Daten 401, sondern auch die durch die Aufzeichnungseinheit 330 aufgezeichnete Empfangszeit der ersten Daten 401. Zudem nutzt die Synchronisationseinheit 350 zur Berechnung des Zeitoffsets 405 nicht nur die durch die Korrektureinheit 340 korrigierte Übertragungszeit der zweiten Daten 402, sondern auch die durch die Aufzeichnungseinheit 330 aufgezeichnete Übertragungszeit der zweiten Daten 402.
  • Das heißt, in der vorliegenden Ausführungsform berechnet die Synchronisationseinheit 350 den Zeitoffset 405 aus der an der Haupteinrichtung 200 aufgezeichneten Übertragungszeit der ersten Daten 401, der an der Haupteinrichtung 200 korrigierten Übertragungszeit der ersten Daten 401, der durch die Aufzeichnungseinheit 330 aufgezeichneten Empfangszeit der ersten Daten 401, der durch die Korrektureinheit 340 korrigierten Empfangszeit der ersten Daten 401, der durch die Aufzeichnungseinheit 330 aufgezeichneten Übertragungszeit der zweiten Daten 402, der durch die Korrektureinheit 340 korrigierten Übertragungszeit der zweiten Daten 402, der an der Haupteinrichtung 200 aufgezeichneten Empfangszeit der zweiten Daten 402 und der an der Haupteinrichtung 200 korrigierten Empfangszeit der zweiten Daten 402.
  • Insbesondere berechnet die Synchronisationseinheit 350 den Zeitoffset 405 aus der Differenz zwischen der Summe der an der Haupteinrichtung 200 aufgezeichneten Übertragungszeit der ersten Daten 401 und der an der Haupteinrichtung 300 korrigierten Übertragungszeit der ersten Daten 401, und der Summe der durch die Aufzeichnungseinheit 330 aufgezeichneten Empfangszeit der ersten Daten 401 und der durch die Korrektureinheit 340 korrigierten Empfangszeit der ersten Daten 401, und die Differenz zwischen der Summe der durch die Aufzeichnungseinheit 330 aufgezeichneten Übertragungszeit der zweiten Daten 402, der durch die Korrektureinheit 340 korrigierten Übertragungszeit der zweiten Daten 402 und der Summe der an der Haupteinrichtung 200 aufgezeichneten Empfangszeit der zweiten Daten 402 und der an der Haupteinrichtung 200 korrigierten Empfangszeit der zweiten Daten 402.
  • Es wird darauf hingewiesen, dass die dritten Daten 403 Daten nur zum Melden der Übertragungszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 230 der Haupteinrichtung 200 aufgezeichnet wurde, sein können. Die vierten Daten 404 können Daten nur zum Melden der Empfangszeit der zweiten Daten 402 sein, die durch die Aufzeichnungseinheit 230 aufgezeichnet wurde. Somit kann die Haupteinrichtung 200 die Korrektureinheit 240 nicht enthalten.
  • In einem Fall, wo die Haupteinrichtung 200 die Korrektureinheit 240 nicht enthält oder in einem Fall, wo die Korrektureinheit 240 die durch die Aufzeichnungseinheit 230 aufgezeichnete Übertragungszeit der ersten Daten 401 nicht korrigiert, kann die Korrektureinheit 340 der Zeitsynchronisationseinrichtung 300 die durch die Haupteinrichtung 200 gemeldete Übertragungszeit der ersten Daten 401 an der Haupteinrichtung 200 korrigieren. In diesem Fall kann die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 die durch die Korrektureinheit 340 korrigierte Übertragungszeit der ersten Daten 401 zusammen mit der von der Haupteinrichtung 200 gemeldeten Übertragungszeit der ersten Daten 401 an der Haupteinrichtung 200 zur Berechnung des Zeitoffsets 405 nutzen.
  • In dem Fall, wo die Haupteinrichtung 200 die Korrektureinheit 240 nicht enthält, oder in einem Fall, wo die Korrektureinheit 240 die Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 aufgezeichnet wurde, nicht korrigiert, kann die Korrektureinheit 340 der Zeitsynchronisationseinrichtung 300 die von der Haupteinrichtung 200 gemeldete Empfangszeit der zweiten Daten 402 an der Haupteinrichtung 200 nicht korrigieren. In diesem Fall kann die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 die Empfangszeit der durch die Korrektureinheit 340 korrigierten zweiten Daten 402 zusammen mit der von der Haupteinrichtung 200 gemeldeten Empfangszeit der zweiten Daten 402 an der Haupteinrichtung 200 zur Berechnung des Zeitoffsets 405 nutzen.
  • Beschreibung des Betriebs
  • Der Betrieb des Zeitsynchronisationssystems 100 wird unter Bezugnahme auf die 3, 4 und 5 erläutert. Der Betrieb des Zeitsynchronisationssystems 100 entspricht einem Zeitsynchronisationsverfahren gemäß der vorliegenden Ausführungsform.
  • 3 zeigt den Betrieb entsprechend der Übertragung und dem Empfang der ersten Daten 401. In der vorliegenden Ausführungsform werden die Übertragung und der Empfang der ersten Daten 401 wiederholt.
  • In Schritt S11 überträgt die Übertragungseinheit 210 der Haupteinrichtung 200 wiederholt die ersten Daten 401 an die Zeitsynchronisationseinrichtung 300.
  • In Schritt S12 empfängt die Empfangseinheit 310 der Zeitsynchronisationseinrichtung 300 wiederholt die ersten Daten 401 von der Haupteinrichtung 200.
  • In Schritt S13 zeichnet die Aufzeichnungseinheit 230 der Haupteinrichtung 200 die Übertragungszeit der ersten Daten 401 an der Übertragungseinheit 210 unter Verwendung der Hauptuhr 201 jedes Mal auf, wenn die ersten Daten 401 durch die Übertragungseinheit 210 übertragen werden.
  • In Schritt S14 erzeugt die Korrektureinheit 240 der Haupteinrichtung 200 eine Zufallszahl jedes Mal, wenn die Übertragungszeit der ersten Daten 401 durch die Aufzeichnungseinheit 230 aufgezeichnet wird, und nutzt die erzeugte Zufallszahl, um einen korrigierten Wert der durch die Aufzeichnungseinheit 230 aufgezeichneten Übertragungszeit der ersten Daten 401 zu berechnen.
  • In Schritt S15 überträgt die Übertragungseinheit 210 der Haupteinrichtung 200 als die dritten Daten 403 Daten zum Melden des durch die Korrektureinheit 240 berechneten korrigierten Werts der Übertragungszeit der ersten Daten 401 an die Zeitsynchronisationseinrichtung 300.
  • In Schritt S16 empfängt die Empfangseinheit 310 der Zeitsynchronisationseinrichtung 300 wiederholt die dritten Daten 403 von der Haupteinrichtung 200.
  • In Schritt S17 zeichnet die Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 die Empfangszeit der ersten Daten 401 an der Empfangseinheit 310 mittels der Nebenuhr 301 jedes Mal auf, wenn die ersten Daten 401 durch die Empfangseinheit 310 empfangen werden.
  • In Schritt S18 erzeugt die Korrektureinheit 340 der Zeitsynchronisationseinrichtung 300 eine Zufallszahl jedes Mal, wenn die Empfangszeit der ersten Daten 401 durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und nutzt die erzeugte Zufallszahl, um einen korrigierten Wert der durch die Aufzeichnungseinheit 330 aufgezeichneten Empfangszeit der ersten Daten 401 zu berechnen.
  • Wie nachfolgend erläutert werden soll, nutzt die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 zur Berechnung des Zeitoffsets 405 den durch die Korrektureinheit 340 berechneten korrigierten Wert der Empfangszeit der ersten Daten 401 als die Empfangszeit der ersten Daten 401.
  • 4 zeigt den Betrieb hinsichtlich der Übertragung und des Empfangs der zweiten Daten 402. In der vorliegenden Ausführungsform werden die Übertragung und der Empfang der zweiten Daten 402 ebenfalls wiederholt.
  • In Schritt S21 überträgt die Übertragungseinheit 320 der Zeitsynchronisationseinrichtung 300 die zweiten Daten 402 an die Haupteinrichtung 200 jedes Mal, wenn die ersten Daten 401 durch die Empfangseinheit 310 empfangen werden.
  • In Schritt S22 empfängt die Empfangseinheit 220 der Haupteinrichtung 200 wiederholt die zweiten Daten 402 von der Zeitsynchronisationseinrichtung 300.
  • In Schritt S23 zeichnet die Aufzeichnungseinheit 230 der Haupteinrichtung 200 die Empfangszeit der zweiten Daten 402 an der Empfangseinheit 220 mittels der Hauptuhr 201 jedes Mal auf, wenn die zweiten Daten 402 durch die Empfangseinheit 220 empfangen werden.
  • In Schritt S24 erzeugt die Haupteinrichtung 200 eine Zufallszahl jedes Mal, wenn die Empfangszeit der zweiten Daten 402 durch die Aufzeichnungseinheit 230 aufgezeichnet wird, und nutzt die erzeugte Zufallszahl, um einen korrigierten Wert der durch die Aufzeichnungseinheit 230 aufgezeichneten Empfangszeit der zweiten Daten 402 zu berechnen.
  • In Schritt S25 überträgt die Übertragungseinheit 210 der Haupteinrichtung 200 als die vierten Daten 404 Daten zum Melden des korrigierten Werts der durch die Korrektureinheit 240 berechneten Empfangszeit der zweiten Daten 402 an die Zeitsynchronisationseinrichtung 300.
  • In Schritt S26 empfängt die Empfangseinheit 310 der Zeitsynchronisationseinrichtung 300 wiederholt die vierten Daten 404 von der Haupteinrichtung 200.
  • In Schritt S27 zeichnet die Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 die Übertragungszeit der zweiten Daten 402 an der Übertragungseinheit 320 mittels der Nebenuhr 301 jedes Mal auf, wenn die zweiten Daten 402 durch die Übertragungseinheit 320 übertragen sind.
  • In Schritt S28 erzeugt die Korrektureinheit 340 der Zeitsynchronisationseinrichtung 300 eine Zufallszahl jedes Mal, wenn die Übertragungszeit der zweiten Daten 402 durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und nutzt die erzeugte Zufallszahl, um einen korrigierten Wert der durch die Aufzeichnungseinheit 330 aufgezeichneten Übertragungszeit der zweiten Daten 402 zu berechnen.
  • Wie nachfolgend erläutert wird, nutzt die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 zur Berechnung des Zeitoffsets 405 den korrigierten Wert der Übertragungszeit der zweiten Daten 402, die durch die Korrektureinheit 340 berechnet wurde, als die Übertragungszeit der zweiten Daten 402.
  • In der vorliegenden Ausführungsform wird ein Kommunikationsvorgang des sequentiellen Übertragens und Empfangens der ersten Daten 401, der zweiten Daten 402, der dritten Daten 403 und der vierten Daten 404 nacheinander wie vorstehend erläutert wiederholt.
  • 5 zeigt den Betrieb des Berechnens der Zeitoffsets 405.
  • In Schritt S31 berechnet die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 den Zeitoffset 405 jedes Mal, wenn die ersten Daten 401 durch die Empfangseinheit 220 empfangen werden. Das heißt, die Synchronisationseinheit 350 berechnet einen Zeitoffset 405 in jedem Kommunikationsvorgang.
  • In Schritt S32 akkumuliert die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 berechnete Werte des Zeitoffsets 405. Das heißt, die Synchronisationseinheit 350 akkumuliert zwei oder mehr Zeitoffsets 405, die mit zwei oder mehr entsprechenden Kommunikationsvorgängen assoziiert sind.
  • In Schritt S33 führt die Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 statistische Verarbeitung auf die akkumulierten berechneten Werte aus. Die Synchronisationseinheit 350 passt die Zeit der Nebenuhr 301 entsprechend einem Ergebnis der statistischen Verarbeitung an. Insbesondere nutzt die Synchronisationseinheit 350 einen Mittelwert der akkumulierten berechneten Werte als das Ergebnis der statistischen Verarbeitung, um die Zeit der Nebenuhr 301 anzupassen. Dementsprechend werden die Zeit der Hauptuhr 201 und die Zeit der Nebenuhr 301 miteinander synchronisiert.
  • In der vorliegenden Ausführungsform wird das Prinzip der IEEE-Norm 1588 wie vorstehend erläutert genutzt. Das heißt, die ersten Daten 401, die zweiten Daten 402, die dritten Daten 403 und die vierten Daten 404 werden als Synchronisationsrahmen übertragen und empfangen. Insbesondere werden die ersten Daten 401 als eine Sync-Nachricht übertragen und empfangen, die zweiten Daten 402 als eine Follow_Up-Nachricht übertragen und empfangen und die vierten Daten 404 als eine Delay_Resp-Nachricht übertragen und empfangen.
  • Wenn für die Einwegverzögerung zwischen der Haupteinrichtung 200 und der Zeitsynchronisationseinrichtung 300 angenommen wird, eine Hälfte der Zweiwegverzögerung zu sein, entspricht ein Wert, der durch die folgende Formel erhalten wird, der Einwegverzögerung: Subtrahieren der Summe der Übertragungszeit der ersten Daten 401, die an der Haupteinrichtung 200 aufgezeichnet wird, und der Übertragungszeit der ersten Daten 401, die an der Haupteinrichtung 200 korrigiert wird, welche beide durch die dritten Daten 403 gemeldet sind, von der Summe der Empfangszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und der Empfangszeit der ersten Daten 401, die durch die Korrektureinheit 340 korrigiert wird; Subtrahieren der Summe der Übertragungszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und der Übertragungszeit der zweiten Daten 402, die durch die Korrektureinheit 340 korrigiert wird, von der Summe der Empfangszeit der zweiten Daten 402, die an der Haupteinrichtung 200 aufgezeichnet wird, und der Empfangszeit der zweiten Daten 402, die an der Haupteinrichtung 200 korrigiert wird, welche beide durch die vierten Daten 404 gemeldet sind; und Dividieren der Summe der Subtraktionsergebnisse durch vier. Dann entspricht ein Wert, der durch die folgende Formel erhalten wird, dem Zeitoffset 405: Subtrahieren der Summe der Übertragungszeit der ersten Daten 401, die an der Haupteinrichtung 200 aufgezeichnet wird, und der Übertragungszeit der ersten Daten 401, die an der Haupteinrichtung 200 korrigiert wird, von der Summe der Empfangszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und die Empfangszeit der ersten Daten 401, die durch die Korrektureinheit 340 korrigiert wird, und Dividieren des Subtraktionsergebnisses durch zwei; Subtrahieren der Summe der Übertragungszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 330 aufgezeichnet wird, und der Übertragungszeit der zweiten Daten 402, die durch die Korrektureinheit 340 korrigiert wird, von der Summe der Empfangszeit der zweiten Daten 402, die an der Haupteinrichtung 200 aufgezeichnet wird, und der Empfangszeit der zweiten Daten 402, die an der Haupteinrichtung 200 korrigiert wird, und Dividieren des Subtraktionsergebnisses durch zwei; und Subtrahieren der Einwegverzögerung von einem der Divisionsergebnisse.
  • Das heißt, wenn der Zeitoffset 405 durch T_offset repräsentiert ist, ist die Übertragungszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 230 aufgezeichnet wird, der Haupteinrichtung 200 durch T_m1 repräsentiert, der korrigierte Wert von T_m1 durch T_m1' repräsentiert, die Empfangszeit der ersten Daten 401, die durch die Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 aufgezeichnet wird, durch T_s1 repräsentiert, der korrigierte Wert von T_s1 durch T_s1' repräsentiert, die Übertragungszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 aufgezeichnet wird, durch T_s2 repräsentiert, der korrigierte Wert von T_s2 durch T_s2' repräsentiert, die Empfangszeit der zweiten Daten 402, die durch die Aufzeichnungseinheit 230 der Haupteinrichtung 200 aufgezeichnet wird, durch T_m2 repräsentiert, und der korrigierte Wert von T_m2 durch T_m2' repräsentiert, T_offset = ((T_s1 + T_s1’) – (T_m1 + T_m1’))/2 – (((T_s1 + T_s1’) – (T_m1 + T_m1’)) + ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4 = (((T_s1 + T_s1’) – (T_m1 + T_m1’)) – ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4, oder T_offset = ((T_m2 + T_m2’) – (T_s2 + T_s2’))/2 – (((T_s1 + T_s1’) – (T_m1 + T_m1’)) + ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4 = –(((T_s1 + T_s1’) – (T_m1 + T_m1’)) – ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4. In Schritt S31 kann eine solche Berechnungsformel verwendet werden, um den Zeitoffset 405 zu erhalten.
  • Es wird darauf hingewiesen, dass ein durch die folgende Formel erhaltener Wert als die Einwegverzögerung betrachtet werden kann: Subtrahieren der Übertragungszeit der ersten Daten 401, die durch die dritten Daten 403 gemeldet ist, von der Empfangszeit der ersten Daten 401, die durch die Korrektureinheit 340 korrigiert wird; Subtrahieren der Übertragungszeit der zweiten Daten 402, die durch die Korrektureinheit 340 korrigiert wird, von der Empfangszeit der zweiten Daten 402, die durch die vierten Daten 404 gemeldet ist; und Dividieren der Summe der Subtraktionsergebnisse durch zwei. In diesem Fall entspricht ein Wert, der durch die folgende Formel erhalten wird, dem Zeitoffset 405: Subtrahieren der Übertragungszeit der ersten Daten 401, die durch die dritten Daten 403 gemeldet ist, von der Empfangszeit der ersten Daten 401, die durch die Korrektureinheit 340 korrigiert wird; Subtrahieren der Übertragungszeit der zweiten Daten 402, die durch die Korrektureinheit 340 korrigiert wird, von der Empfangszeit der zweiten Daten 402, die durch die vierten Daten 404 gemeldet ist; und Subtrahieren der Einwegverzögerung von einem der Subtraktionsergebnisse.
  • Das heißt, in Schritt S31 kann die folgende Berechnungsformel verwendet werden, um den Zeitoffset 405 zu erhalten: T_offset = (T_s1’ – T_m1’) – ((T_s1’ – T_m1’) + (T_m2’ – T_s2’))/2 = ((T_s1’ – T_m1’) – (T_m2’ – T_s2’))/2, oder T_offset = (T_m2’ – T_s2’) – ((T_s1’ – T_m1’) + (T_m2’ – T_s2’))/2 = –((T_s1’ – T_m1’) + (T_m2’ – T_s2’))/2.
  • Eine Beispielimplementierung der Haupteinrichtung 200 und der Zeitsynchronisationseinrichtung 300 werden nachfolgend unter Bezugnahme auf 6 erläutert.
  • Die Funktionen der Empfangseinheit 310 und der Übertragungseinheit 320 der Zeitsynchronisationseinrichtung 300 sind durch eine PHY 302 und eine Medienzugriffssteuerung (MAC) 303 implementiert. Die PHY 302 und die MAC 303 sind Hardware, die in der Zeitsynchronisationseinrichtung 300 enthalten ist. Insbesondere ist die PHY 302 ein Chip, um Verarbeitung auf einer physikalischen Schicht im OSI-Referenzmodell durchzuführen, und die MAC 303 ist ein Chip, um Verarbeitung auf einer Datenverbindungsschicht des OSI-Referenzmodells durchzuführen. Es wird darauf hingewiesen, dass die PHY 302 und die MAC 303 auf einem Chip integriert sein können.
  • In ähnlicher Weise sind die Funktionen der Übertragungseinheit 210 und der Empfangseinheit 220 der Haupteinrichtung 200 durch eine PHY 202 und eine MAC 203 implementiert. Die PHY 202 ist ein Chip, um Verarbeitung auf einer physikalischen Schicht durchzuführen und die MAC 203 ist ein Chip, um Verarbeitung auf einer Datenverbindungsschicht durchzuführen.
  • Die Funktionen der Aufzeichnungseinheit 330 der Zeitsynchronisationseinrichtung 300 sind durch einen MAC-Treiber 304 implementiert. Der MAC-Treiber 304 ist eine Software, die auf der Zeitsynchronisationseinrichtung 300 vorgesehen ist. Insbesondere ist der MAC-Treiber 304 eine Middleware, die durch ein OS 305 verwendet wird, um die MAC 303 zu steuern und zu betreiben. Der MAC-Treiber 304 weist eine Softwarezeitstempelungsfunktion des Erzeugens eines Zeitstempels unter Verwendung der Nebenuhr 301 auf.
  • In ähnlicher Weise sind die Funktionen der Aufzeichnungseinheit 230 der Haupteinrichtung 200 durch einen MAC-Treiber 204 implementiert. Der MAC-Treiber 204 ist eine Middleware, die durch ein OS 205 verwendet wird, um die MAC 203 zu steuern und zu betreiben. Der MAC-Treiber 204 weist eine Softwarezeitstempelungsfunktion des Erzeugens eines Zeitstempels unter Verwendung der Hauptuhr 201 auf.
  • Die Funktionen der Korrektureinheit 340 und der Synchronisationseinheit 350 der Zeitsynchronisationseinrichtung 300 sind durch eine Zeitsynchronisationsanwendung 306 implementiert. Die Zeitsynchronisationsanwendung 306 ist eine Software, die auf der Zeitsynchronisationseinrichtung 300 vorgesehen ist. Insbesondere ist die Zeitsynchronisationsanwendung 306 ein Anwendungsprogramm, das auf dem OS 305 zusammen mit anderen Anwendungen 307 läuft. Die Zeitsynchronisationsanwendung 306 verwaltet eine Korrekturtabelle 308, um Variation in durch den MAC-Treiber 304 erzeugten Zeitstempeln zu korrigieren.
  • In ähnlicher Weise sind die Funktionen der Korrektureinheit 240 der Haupteinrichtung 200 durch die Zeitsynchronisationsanwendung 206 implementiert. Die Zeitsynchronisationsanwendung 206 ist ein Anwendungsprogramm, das auf dem OS 205 zusammen mit anderen Anwendungen 207 läuft. Die Zeitsynchronisationsanwendung 206 verwaltet eine Korrekturtabelle 208, um Variation in durch den MAC-Treiber 204 erzeugten Zeitstempeln zu korrigieren.
  • Die Haupteinrichtung 200, die Zeit überträgt, und die Zeitsynchronisationseinrichtung 300, die Zeit synchronisiert, weisen die gleiche hierarchische Struktur für die Zeitsynchronisation auf. Die hierarchische Struktur ist eine Dreischichtstruktur, enthaltend eine Anwendungsschicht entsprechend den OSs 205 und 305 und den Zeitsynchronisationsanwendungen 206 und 306, eine Datenverbindungsschicht entsprechend den MAC-Treibern 204 und 304 und den MACs 203 und 303 und eine physikalische Schicht entsprechend den PHYs 202 und 302. Somit wird in einem Datensynchronisationsprotokoll entsprechend der vorliegenden Ausführungsform auf die Datenverbindungsschicht von der Anwendungsschicht direkt zugegriffen ohne eine Transportschicht und eine Netzwerkschicht im OSI-Referenzmodell.
  • Der Betrieb der Haupteinrichtung 200 und der Zeitsynchronisationseinrichtung 300 in dem in 6 gezeigten Beispiel wird unter Bezugnahme auf 7 erläutert.
  • In Schritt S41, in welchem die Haupteinrichtung 200 eine Sync-Nachricht als einen Synchronisationsrahmen überträgt, erzeugt die Zeitsynchronisationsanwendung 206 einen Synchronisationsrahmen, der eine Sync-Nachricht ist. Die Zeitsynchronisationsanwendung 206 speichert Zeit nicht im Synchronisationsrahmen. Auf Detektieren, dass der Synchronisationsrahmen durch die Zeitsynchronisationsanwendung 206 erzeugt ist, aktiviert das OS 205 priorisierte Unterbrechung, um den Synchronisationsrahmen vor den anderen Rahmen an den MAC-Treiber 204 einzugeben. Der MAC-Treiber 204 erzeugt einen Softwarezeitstempel zu dem Zeitpunkt, wenn der Synchronisationsrahmen eingegeben ist, um eine Übertragungszeit T_m1 des Synchronisationsrahmens aufzuzeichnen. Anschließend gibt der MAC-Treiber 204 den Synchronisationsrahmen an die MAC 203 ein. Die MAC 203 überträgt den Synchronisationsrahmen von der PHY 202. Der MAC-Treiber 204 meldet die aufgezeichnete Übertragungszeit T_m1 an die Zeitsynchronisationsanwendung 206 zurück. Die Zeitsynchronisationsanwendung 206 speichert die Übertragungszeit T_m1, die vom MAC-Treiber 204 zurückgemeldet ist, in der ersten Spalte unter leeren Spalten in der ersten Zeile der Korrekturtabelle 208. Die Zeitsynchronisationsanwendung 206 erzeugt eine Zufallszahl einer normalen Verteilung folgend, und speichert die erzeugte Zufallszahl in der gleichen Spalte in der zweiten Zeile der Korrekturtabelle 208. Die Zeitsynchronisationsanwendung 206 korrigiert Variation in der Übertragungszeit T_m1 durch Subtrahieren der in der zweiten Ziele der Korrekturtabelle 208 gespeicherten Zufallszahl von der Übertragungszeit T-m1, die in der ersten Zeile der Korrekturtabelle 208 gespeichert ist. Die Zeitsynchronisationsanwendung 206 speichert eine korrigierte Übertragungszeit T_m1' in der gleichen Spalte in der dritten Zeile der Korrekturtabelle 208. Es wird darauf hingewiesen, dass die Übertragungszeit T_m1 in anderen Weisen korrigiert sein kann, wie Addieren der Zufallszahl zur Übertragungszeit T_m1 anstelle des Subtrahierens der Zufallszahl von der Übertragungszeit T_m1. Zudem können die Zeilen und die Spalten der Korrekturtabelle 208, in welcher die Übertragungszeit T_m1, die Zufallszahl und die korrigierte Übertragungszeit T_m1' zu speichern sind, nach Bedarf geändert werden.
  • In Schritt S51, in welchem die Zeitsynchronisationseinrichtung 300 eine Sync-Nachricht als einen Synchronisationsrahmen empfängt, empfängt die PHY 302 den Synchronisationsrahmen von der Haupteinrichtung 200. Die PHY 302 gibt den empfangenen Synchronisationsrahmen an die MAC 303 aus. Der MAC-Treiber 304 erzeugt einen Software-Zeitstempel zu dem Zeitpunkt, wenn er detektiert, dass der Synchronisationsrahmen in die MAC 303 eingegeben ist, um eine Empfangszeit T_s1 des Synchronisationsrahmens aufzuzeichnen. Anschließend gibt der MAC-Treiber 304 die aufgezeichnete Empfangszeit T_s1 direkt in die Zeitsynchronisationsanwendung 306 ein. Die Zeitsynchronisationsanwendung 306 speichert die Empfangszeit T_s1, die vom MAC-Treiber 304 eingegeben ist, in der ersten Spalte unter leeren Spalten in der ersten Zeile der Korrekturtabelle 308. Die Zeitsynchronisationsanwendung 306 erzeugt eine Zufallszahl einer normalen Verteilung folgend, und speichert die erzeugte Zufallszahl in der gleichen Spalte in der zweiten Zeile der Korrekturtabelle 308. Die Zeitsynchronisationsanwendung 306 korrigiert Variation in der Empfangszeit T_s1 durch Subtrahieren der Zufallszahl, die in der zweiten Zeile der Korrekturtabelle 308 gespeichert ist, von der Empfangszeit T_s1, die in der ersten Zeile der Korrekturtabelle 308 gespeichert ist. Die Zeitsynchronisationsanwendung 306 speichert eine korrigierte Empfangszeit T_s1' in der gleichen Spalte in der dritten Zeile der Korrekturtabelle 308. Es wird darauf hingewiesen, dass die Empfangszeit T_s1 in anderen Weisen korrigiert sein kann, wie Addieren der Zufallszahl zur Empfangszeit T_s1 anstelle des Subtrahierens der Zufallszahl von der Empfangszeit T_s1. Zudem können die Zeilen und Spalten der Korrekturtabelle 308, in welcher die Empfangszeit T_s1, die Zufallszahl und die korrigierte Empfangszeit T_s1' zu speichern sind, nach Bedarf geändert werden.
  • In Schritt S42, in welchem die Haupteinrichtung 200 eine Follow_Up-Nachricht als einen Synchronisationsrahmen überträgt, erzeugt die Zeitsynchronisationsanwendung 206 einen Synchronisationsrahmen, der eine Follow_Up-Nachricht ist. Die Zeitsynchronisationsanwendung 206 speichert im Synchronisationsrahmen ein Paar von unkorrigierten und korrigierten Übertragungszeiten T_m1 und T_m1', die in der der letzten Spalte gespeichert sind, unter den Paaren der unkorrigierten und korrigierten Übertragungszeiten T_m1 und T_m1', die in der ersten Zeile und der dritten Zeile gespeichert sind, der Korrekturtabelle 208, das heißt, die unkorrigierten und korrigierten Übertragungszeiten T_m1 und T_m1' der letzten Sync-Nachricht. Auf Detektieren, dass der Synchronisationsrahmen durch die Zeitsynchronisationsanwendung 206 erzeugt ist, aktiviert das OS 205 priorisierte Unterbrechung, um den Synchronisationsrahmen vor den anderen Rahmen an den MAC-Treiber 204 einzugeben. Der MAC-Treiber 204 erzeugt einen Softwarezeitstempel an dem Punkt, wenn der Synchronisationsrahmen eingegeben ist. Der MAC-Treiber 204 erzeugt einen Softwarezeitstempel zu dem Zeitpunkt, wenn der Synchronisationsrahmen eingegeben ist. Der MAC-Treiber 204 detektiert allerdings nur, dass der Synchronisationsrahmen eine Follow_Up-Nachricht ist, und hält den erzeugten Zeitstempel temporär in einem Puffer oder dergleichen, und meldet den erzeugten Zeitstempel nicht an die Zeitsynchronisationsanwendung 206 zurück. Anschließend gibt der MAC-Treiber 204 den Synchronisationsrahmen in die MAC 203 ein. Die MAC 203 überträgt den Synchronisationsrahmen von der PHY 202.
  • In Schritt S52, in welchem die Zeitsynchronisationseinrichtung 300 eine Follow_Up-Nachricht als einen Synchronisationsrahmen empfängt, empfängt die PHY 302 einen Synchronisationsrahmen von der Haupteinrichtung 200. Die PHY 302 gibt den empfangenen Synchronisationsrahmen in die MAC 303 ein. Der MAC-Treiber 204 erzeugt einen Softwarezeitstempel zu dem Zeitpunkt, wenn er detektiert, dass der Synchronisationsrahmen in die MAC 303 eingegeben ist. Der MAC-Treiber 304 detektiert allerdings nur, dass der Synchronisationsrahmen eine Follow_Up-Nachricht ist, und hält den erzeugten Zeitstempel temporär in einem Puffer oder dergleichen, und gibt den erzeugten Zeitstempel nicht in die Zeitsynchronisationsanwendung 306 ein. Anschließend gibt der MAC-Treiber 304 den Synchronisationsrahmen in die Zeitsynchronisationsanwendung 306 über das OS 305 ein. Die Zeitsynchronisationsanwendung 306 detektiert, dass der vom MAC-Treiber 304 eingegebene Synchronisationsrahmen eine Follow_Up-Nachricht ist, und extrahiert die unkorrigierten und korrigierten Übertragungszeiten T_m1 und T_m1', die im Synchronisationsrahmen gespeichert sind.
  • In Schritt S53, in welchem die Zeitsynchronisationseinrichtung 300 eine Delay_Req-Nachricht als einen Synchronisationsrahmen überträgt, erzeugt die Zeitsynchronisationsanwendung 306 einen Synchronisationsrahmen, der eine Delay-Req-Nachricht ist. Die Zeitsynchronisationsanwendung 306 speichert Zeit nicht im Synchronisationsrahmen. Auf Detektieren, dass der Synchronisationsrahmen durch die Zeitsynchronisationsanwendung 306 erzeugt ist, aktiviert das OS 305 priorisierte Unterbrechung, um den Synchronisationsrahmen vor den anderen Rahmen in den MAC-Treiber 304 einzugeben. Der MAC-Treiber 304 erzeugt einen Software-Zeitstempel zu dem Zeitpunkt, wenn der Synchronisationsrahmen eingegeben ist, um eine Übertragungszeit T_s2 des Synchronisationsrahmens aufzuzeichnen. Anschließend gibt der MAC-Treiber 304 den Synchronisationsrahmen in die MAC 303 ein. Die MAC 303 überträgt den Synchronisationsrahmen von der PHY 302. Der MAC-Treiber 304 meldet die aufgezeichnete Übertragungszeit T_s2 an die Zeitsynchronisationsanwendung 306 zurück. Die Zeitsynchronisationsanwendung 306 speichert die Übertragungszeit T_s2, die vom MAC-Treiber 304 zurückgemeldet ist, in der ersten Spalte unter den leeren Spalten in der vierten Zeile der Korrekturtabelle 308. Die Zeitsynchronisationsanwendung 306 erzeugt eine Zufallszahl einer normalen Verteilung folgend, und speichert die erzeugte Zufallszahl in der gleichen Spalte in der fünften Zeile der Korrekturtabelle 308. Die Zeitsynchronisationsanwendung 306 korrigiert Variation in der Übertragungszeit T_s2 durch Subtrahieren der in der fünften Zeile der Korrekturtabelle 308 gespeicherten Zufallszahl von der Übertragungszeit T_s2, die in der vierten Reihe der Korrekturtabelle 308 gespeichert ist. Die Zeitsynchronisationsanwendung 306 speichert eine korrigierte Übertragungszeit T_s2' in der gleichen Spalte in der sechsten Zeile der Korrekturtabelle 308. Es wird darauf hingewiesen, dass die Übertragungszeit T_s2 in anderen Weisen korrigiert sein kann, wie Addieren der Zufallszahl zur Übertragungszeit T_s2 anstelle des Subtrahierens der Zufallszahl von der Übertragungszeit T_s2. Zudem können die Zeilen und die Spalten der Korrekturtabelle 308, in welcher die Übertragungszeit T_s2, die Zufallszahl und die korrigierte Übertragungszeit T_s2' zu speichern sind, nach Bedarf geändert werden.
  • In Schritt S43, in welchem die Haupteinrichtung 200 eine Delay_Req-Nachricht als einen Synchronisationsrahmen empfängt, empfängt die PHY 202 einen Synchronisationsrahmen von der Zeitsynchronisationseinrichtung 300. Die PHY 202 gibt den empfangenen Synchronisationsrahmen in die MAC 203 ein. Der MAC-Treiber 204 erzeugt einen Software-Zeitstempel zu dem Zeitpunkt, wenn er detektiert, dass der Synchronisationsrahmen in die MAC 203 eingegeben ist, um eine Empfangszeit T_m2 des Synchronisationsrahmens aufzuzeichnen. Anschließend gibt der MAC-Treiber 204 die aufgezeichnete Empfangszeit T_M2 direkt in die Zeitsynchronisationsanwendung 206 ein. Die Zeitsynchronisationsanwendung 206 speichert die Empfangszeit T_m2, die vom MAC-Treiber 204 eingegeben ist, in der ersten Spalte unter leeren Spalten in der vierten Zeile der Korrekturtabelle 208. Die Zeitsynchronisationsanwendung 206 erzeugt eine Zufallszahl einer normalen Verteilung folgend und speichert die erzeugte Zufallszahl in der gleichen Spalte in der fünften Zeile der Korrekturtabelle 208. Die Zeitsynchronisationsanwendung 206 korrigiert Variation in der Empfangszeit T_m2 durch Subtrahieren der Zufallszahl, die in der fünften Zeile der Korrekturtabelle 208 gespeichert ist, von der Empfangszeit T_m2, die in der fünften Zeile der Korrekturtabelle 208 gespeichert ist. Die Zeitsynchronisationsanwendung 206 speichert eine korrigierte Empfangszeit T_m2' in der gleichen Spalte in der sechsten Zeile der Korrekturtabelle 208. Es wird darauf hingewiesen, dass die Empfangszeit T_m2 in anderen Weisen korrigiert sein kann, wie Addieren der Zufallszahl zur Empfangszeit T_m2 anstelle des Subtrahierens der Zufallszahl von der Empfangszeit T_m2. Zudem können die Zeilen und die Spalten der Korrekturtabelle 208, in welcher die Empfangszeit T_m2, die Zufallszahl und die korrigierte Empfangszeit T_m2' zu speichern sind, nach Bedarf geändert werden.
  • In Schritt S44, in welchem die Haupteinrichtung 200 eine Delay_Resp-Nachricht als einen Synchronisationsrahmen überträgt, erzeugt die Zeitsynchronisationsanwendung 206 einen Synchronisationsrahmen, der eine Delay_Resp-Nachricht ist. Die Zeitsynchronisationsanwendung 206 speichert im Synchronisationsrahmen ein Paar von unkorrigierten und korrigierten Empfangszeiten T_m1 und T_m2', die in der letzten Spalte gespeichert sind, unter den Paaren der unkorrigierten und korrigierten Empfangszeiten T_m1 und T_m2', die in der vierten Zeile und der sechste Zeile gespeichert sind, der Korrekturtabelle 208, das heißt, die unkorrigierten und korrigierten Empfangszeiten T_m1 und T_m2' der letzten Delay_Req-Nachricht. Auf Detektieren, dass der Synchronisationsrahmen durch die Zeitsynchronisationsanwendung 206 erzeugt ist, aktiviert das OS 205 priorisierte Unterbrechung, um den Synchronisationsrahmen vor den anderen Rahmen in den MAC-Treiber 204 einzugeben. Der MAC-Treiber 204 erzeugt einen Software-Zeitstempel zu dem Zeitpunkt, wenn der Synchronisationsrahmen eingegeben ist. Der MAC-Treiber 204 detektiert allerdings nur, dass der Synchronisationsrahmen eine Delay_Req-Nachricht ist, und hält den erzeugten Zeitstempel in einem Puffer oder dergleichen, und meldet den erzeugten Zeitstempel nicht an die Zeitsynchronisationsanwendung 206 zurück. Anschließend gibt der MAC-Treiber 204 den Synchronisationsrahmen in die MAC 203 ein. Die MAC 203 überträgt den Synchronisationsrahmen von der PHY 202.
  • In Schritt S54, in welchem die Zeitsynchronisationseinrichtung 300 eine Delay_Resp-Nachricht als einen Synchronisationsrahmen empfängt, empfängt die PHY 302 einen Synchronisationsrahmen von der Haupteinrichtung 200. Die PHY 302 gibt den empfangenen Synchronisationsrahmen is die MAC 303 ein. Der MAC-Treiber 304 erzeugt einen Software-Zeitstempel zu dem Zeitpunkt, wenn er detektiert, dass der Synchronisationsrahmen in die MAC 303 eingegeben ist. Der MAC-Treiber 304 detektiert allerdings nur, dass der Synchronisationsrahmen eine Delay_Resp-Nachricht ist, und hält den erzeugten Zeitstempel temporär in einem Puffer oder dergleichen, und gibt den erzeugten Zeitstempel nicht in die Zeitsynchronisationsanwendung 306 ein. Anschließend gibt der MAC-Treiber 304 den Synchronisationsrahmen in die Zeitsynchronisationsanwendung 306 über das OS 305 ein. Die Zeitsynchronisationsanwendung 306 detektiert, dass der vom MAC-Treiber 304 eingegebene Synchronisationsrahmen eine Delay_Req-Nachricht ist, und extrahiert die unkorrigierten und korrigierten Empfangszeiten T_m1 und T_m2', die im Synchronisationsrahmen gespeichert sind.
  • Nach Schritt S54 berechnet die Zeitsynchronisationsanwendung 306 den Zeitoffset 405 unter Verwendung der unkorrigierten und korrigierten Empfangszeiten T_s1 und T_s1', die in der ersten Zeile und der dritten Zeile der Korrekturtabelle 308 in Schritt S51 gespeichert sind, die unkorrigierten und korrigierten Übertragungszeiten T_m1 und T_m1', die in Schritt S52 extrahiert sind, die unkorrigierten und korrigierten Übertragungszeiten T_s2 und T_s2', die in der vierten Zeile und der sechsten Zeile der Korrekturtabelle 308 in Schritt S53 gespeichert sind, und die unkorrigierten und korrigierten Empfangszeiten T_m2 und T_m2', die in Schritt S54 extrahiert sind. Die folgende wie vorangehend erläuterte Berechnungsformel kann verwendet werden, aber auch eine andere Formel kann alternativ verwendet werden: T_offset = (((T_s1 + T_s1’) – (T_m1 + T_m1’)) – ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4, oder T_offset = –(((T_s1 + T_s1’) – (T_m1 + T_m1’)) – ((T_m2 + T_m2’) – (T_s2 + T_s2’)))/4.
  • Anschließend wird der Vorgang von Schritt S41 bis Schritt S44 und der Vorgang von Schritt S51 bis Schritt S54 wiederholt.
  • Beschreibung der Wirkungen
  • In der vorliegenden Ausführungsform, da die unter Verwendung einer Software-Uhr aufgezeichnete Zeit korrigiert wird, kann die Zeitsynchronisationsgenauigkeit des Zeitsynchronisationsschemas in der softwarebasierten Implementierung verbessert werden.
  • Zweite Ausführungsform
  • Die Beschreibung der vorliegenden Ausführungsform konzentriert sich auf Unterschiede zur ersten Ausführungsform.
  • Eine Beispielkonfiguration eines Zeitsynchronisationssystems 100 gemäß der vorliegenden Ausführungsform wird unter Bezugnahme auf 8 erläutert.
  • In diesem Beispiel wird die gleiche Baumnetzwerktopologie wie die in dem in 1 gezeigten Beispiel eingesetzt.
  • Während das zweite Zeitsynchronisationsschema 102 auf die Zeitsynchronisation in allen Teilnetzwerken in der ersten Ausführungsform angewendet wird, wird ein erstes Zeitsynchronisationsschema 101 auf die Zeitsynchronisation in einem oder einigen Teilnetzwerken in der vorliegenden Ausführungsform angewendet.
  • Somit sind eines oder einige der SPSs 120 aus den SPSs 120, die mit dem GM 110 verbunden sind, auch Endgeräte auf einer Zeit übertragenden Seite im ersten Zeitsynchronisationsschema 101, und entsprechend jeweils sowohl einer Haupteinrichtung 200 und einer Zeitsynchronisationseinrichtung 300. Zudem sind die mit der einem oder einigen SPSs 120 verbundenen Feldgeräte 130 Endgeräte auf einer Zeit empfangenden Seite im ersten Zeitsynchronisationsschema 101 und entsprechen jeweils der Zeitsynchronisationseinrichtung 300.
  • Konfigurationen und der Betrieb der Haupteinrichtung 200 und der Zeitsynchronisationseinrichtung 300 gemäß der vorliegenden Ausführungsform sind gleich wie die in der ersten Ausführungsform.
  • Dritte Ausführungsform
  • Die Beschreibung der vorliegenden Ausführungsform konzentriert sich auf Unterschiede zur ersten Ausführungsform.
  • Eine Beispielkonfiguration eines Zeitsynchronisationssystems 100 gemäß der vorliegenden Ausführungsform wird unter Bezugnahme auf 9 erläutert.
  • In diesem Beispiel wird eine Leitungsnetzwerktopologie teilweise verwendet. Drei SPSs 120 sind mit dem GM 110 in Reihe verbunden. Zumindest ein SPS 120 oder zumindest zwei Feldgeräte 130 sind mit jedem der drei SPSs 120, welche drei Teilnetzwerke bilden, untergeordnet verbunden.
  • Ein erstes Zeitsynchronisationsschema 101 ist auf die Zeitsynchronisation zwischen dem GM 110 und den SPSs 120, die mit dem GM 110 in Reihe verbunden sind, angewendet. Das erste Zeitsynchronisationsschema 101 ist auch auf die Zeitsynchronisation zwischen den SPSs 120, die mit dem GM 110 in Reihe verbunden sind, angewendet.
  • Somit sind die zwei SPSs 120 in der Mitte unter den SPSs 120, die mit dem GM 110 in Reihe verbunden sind, auch Endgeräte auf einer Zeit übertragenden Seite im ersten Zeitsynchronisationsschema 101, und entsprechen jeweils sowohl einer Haupteinrichtung 200 als auch einer Zeitsynchronisationseinrichtung 300. Auf diese Weise ist die vorliegende Ausführungsform eine Ausführungsform, in welcher die Hauptfunktionen auf das GM 110 und die zwei SPSs 120 verteilt sind.
  • Es wird darauf hingewiesen, dass die zwei SPSs 120 in der Mitte unter den SPSs 120, die mit dem GM 110 in Reihe verbunden sind, Synchronisationsrahmen, die zwischen dem GM 110 und der anderen SPS 120 übertragen und empfangen werden, einfach übermitteln können, ohne als die Endgeräte auf der Zeit übertragenden Seite im ersten Zeitsynchronisationsschema 101 zu dienen. In diesem Fall entsprechen die zwei SPSs 120 in der Mitte jeweils nur der Zeitsynchronisationseinrichtung 300. Auf diese Weise kann die vorliegende Ausführungsform in eine Ausführungsform geändert werden, in welcher die Hauptfunktionen im GM 110 integriert sind.
  • Konfigurationen und der Betrieb der Haupteinrichtung 200 und der Zeitsynchronisationseinrichtung 300 gemäß der vorliegenden Ausführungsform sind gleich wie die in der ersten Ausführungsform.
  • Eine Beispielhardwarekonfiguration der Zeitsynchronisationseinrichtung 300 gemäß den Ausführungsformen der vorliegenden Erfindung wird nachfolgend unter Bezugnahme auf 10 erläutert.
  • Die Zeitsynchronisationseinrichtung 300 ist ein Computer. Die Zeitsynchronisationseinrichtung 300 enthält Hardwarekomponenten, wie einen Prozessor 901, eine Hilfsspeichereinrichtung 902, einen Speicher 903, eine Kommunikationseinrichtung 904, eine Eingabeschnittstelle 905 und eine Anzeigeschnittstelle 906. Der Prozessor 901 ist mit anderen Hardwarekomponenten über eine Signalleitung 910 verbunden und steuert diese Hardwarekomponenten. Die Eingabeschnittstelle 905 ist mit einer Eingabeeinrichtung 907 verbunden. Die Anzeigeschnittstelle 906 ist mit einer Anzeige 908 verbunden.
  • Der Prozessor 901 ist eine integrierte Schaltung (IC), um Verarbeitung durchzuführen. Der Prozessor 901 ist zum Beispiel eine zentrale Verarbeitungseinheit (CPU), ein Digitalsignalprozessor (DSP) oder eine Grafikverarbeitungseinheit (GPU).
  • Die Hilfsspeichereinrichtung 902 ist ein Aufzeichnungsmedium, wie ein Nur-Lese-Speicher (ROM), ein Flashspeicher oder ein Festplattenlaufwerk (HDD).
  • Der Speicher 903 ist zum Beispiel ein Direktzugriffsspeicher (RAM).
  • Die Kommunikationseinrichtung 904 enthält zum Beispiel einen Empfänger 921, um Daten zu empfangen, und einen Übertrager 922, um Daten zu übertragen. Die Kommunikationseinrichtung 904 ist zum Beispiel ein Kommunikationschip oder eine Netzwerkschnittstellenkarte (NIC).
  • Die Eingabeschnittstelle 905 ist ein Anschluss, mit welchem ein Kabel 911 der Eingabeeinrichtung 907 verbunden ist. Die Eingabeschnittstelle 905 ist zum Beispiel ein universeller serieller Bus-(USB)-Anschluss.
  • Die Anzeigeschnittstelle 906 ist ein Anschluss, mit welchen ein Kabel 912 der Anzeige 908 verbunden ist. Die Anzeigeschnittstelle 906 ist zum Beispiel ein USB-Anschluss oder ein hochauflösender Multimediaschnittstellen-(HDMI(eingetragene Marke))-Anschluss.
  • Die Eingabeeinrichtung 907 ist zum Beispiel eine Maus, ein Stift, eine Tastatur oder ein Berührungsfeld.
  • Die Anzeige 908 ist zum Beispiel eine Flüssigkristallanzeige (LCD).
  • Die Hilfsspeichereinrichtung 902 speichert Programme, um die Funktionen der ”Einheiten″, wie der Empfangseinheit 310, der Übertragungseinheit 320, der Aufzeichnungseinheit 330, der Korrektureinheit 340 und der Synchronisationseinheit 350 zu implementieren. Die Programme werden in den Speicher 903 geladen, durch den Prozessor 901 gelesen und durch den Prozessor 901 ausgeführt. Die Hilfsspeichereinrichtung 902 speichert auch das OS. Zumindest ein Teil des OS ist in den Speicher 903 geladen und der Prozessor 901 führt die Programme aus, um die Funktionen der ”Einheiten″ zu implementieren, während das OS ausgeführt wird.
  • Obwohl in 10 ein Prozessor 901 dargestellt ist, kann die Zeitsynchronisationseinrichtung 300 eine Vielzahl von Prozessoren 901 enthalten. Die Vielzahl von Prozessoren 901 können dann die Programme ausführen, um die Funktionen der ”Einheiten″ in Zusammenwirkung miteinander auszuführen.
  • Informationen, Daten, Signalwerte und Variablenwerte, repräsentierend Ergebnisse der Verarbeitung, die durch die ”Einheiten″ durchgeführt werden, sind in der Hilfsspeichereinrichtung 902, dem Speicher 903 oder einem Register oder einem Cachespeicher im Prozessor 901 gespeichert.
  • Die ”Einheiten″ können alternativ in der Form von einem ”Schaltkreis″ bereitgestellt sein. Alternativ kann eine ”Einheit″ durch eine ”Schaltung″, einen ”Schritt″, einen ”Vorgang″ oder einen ”Prozess″ ersetzt sein. Die ”Schaltung″ und der ”Schaltkreis″ sind Konzepte, die nicht nur den Prozessor 901, sondern auch andere Typen von Verarbeitungsschaltungen, wie eine logische IC, ein Gatearray (GA), eine anwendungsspezifische integrierte Schaltung (ASIC) und ein feldprogrammierbares Gatearray (FPGA) enthalten.
  • Es wird darauf hingewiesen, dass die in 10 gezeigte Hardwarekonfiguration auch auf die Haupteinrichtung 200 gemäß Ausführungsformen der vorliegenden Erfindung anwendbar ist.
  • Ausführungsformen der vorliegenden Erfindung wurden vorangehend erläutert; einige der Ausführungsformen können zur Realisierung kombiniert sein. Alternativ können irgendeine oder mehrere der Ausführungsformen teilweise realisiert sein. Zum Beispiel kann irgendeine der in den Ausführungsformen beschriebenen ”Einheiten″ verwendet werden, oder irgendeine Kombination von einigen der ”Einheiten″ verwendet werden. Es wird darauf hingewiesen, dass die vorliegende Erfindung nicht auf die Ausführungsformen beschränkt ist, sondern verschiedene Modifikationen bei Bedarf daran vorgenommen werden können.
  • Bezugszeichenliste
    • 100: Zeitsynchronisationssystem; 101: erstes Zeitsynchronisationsschema, 102: zweites Zeitsynchronisationsschema, 110: GM, 120: SPS, 130: Feldgerät, 200: Haupteinrichtung, 201: Hauptuhr, 202: PHY, 203: MAC, 204: MAC-Treiber, 205: OS, 206: Zeitsynchronisationsanwendung, 207: andere Anwendung, 208: Korrekturtabelle, 210: Übertragungseinheit, 220: Empfangseinheit, 230: Aufzeichnungseinheit, 240: Korrektureinheit, 300: Zeitsynchronisationseinrichtung, 301: Nebenuhr, 302: PHY, 303: MAC, 304: MAC-Treiber, 305: OS, 306: Zeitsynchronisationsanwendung, 307: andere Anwendung, 308: Korrekturtabelle, 310: Empfangseinheit, 320: Übertragungseinheit, 330: Aufzeichnungseinheit, 340: Korrektureinheit, 350: Synchronisationseinheit, 400: Netzwerk, 401: erste Daten, 402: zweite Daten, 403: dritte Daten, 404: vierte Daten, 405: Zeitoffset, 901: Prozessor, 902: Hilfsspeichereinrichtung, 903: Speicher, 904: Kommunikationseinrichtung, 905: Eingabeschnittstelle, 906: Anzeigeschnittstelle, 907: Eingabeeinrichtung, 908: Anzeige, 910: Signalleitung, 911: Kabel, 921: Empfänger, 922: Übertrager

Claims (11)

  1. Zeitsynchronisationseinrichtung, umfassend: eine Empfangseinheit, um erste Daten von einer Haupteinrichtung, die eine Hauptuhr aufweist, zu empfangen; eine Übertragungseinheit, um zweite Daten an die Haupteinrichtung zu übertragen, nachdem die ersten Daten durch die Empfangseinheit empfangen werden; eine Aufzeichnungseinheit, um Empfangszeit der ersten Daten an der Empfangseinheit und Übertragungszeit der zweiten Daten an der Übertragungseinheit unter Verwendung einer Nebenuhr, die eine Software-Uhr ist, aufzuzeichnen; eine Korrektureinheit, um die Empfangszeit der ersten Daten und die Übertragungszeit der zweiten Daten, die durch die Aufzeichnungseinheit aufgezeichnet wurden, zu korrigieren; und eine Synchronisationseinheit, um einen Offset aus zumindest der von der Haupteinrichtung gemeldeten Übertragungszeit der ersten Daten an der Haupteinrichtung, der durch die Korrektureinheit korrigierten Empfangszeit der ersten Daten, der durch die Korrektureinheit korrigierten Übertragungszeit der zweiten Daten, und der von der Haupteinrichtung gemeldeten Empfangszeit der zweiten Daten an der Haupteinrichtung zu berechnen, wobei der Offset eine Zeitverzögerung zwischen der Hauptuhr und der Nebenuhr ist.
  2. Zeitsynchronisationseinrichtung nach Anspruch 1, wobei die Empfangseinheit die ersten Daten von der Haupteinrichtung wiederholt empfängt, jedes Mal, wenn die ersten Daten durch die Empfangseinheit empfangen werden, die Aufzeichnungseinheit die Empfangszeit der ersten Daten an der Empfangseinheit aufzeichnet, jedes Mal, wenn die Empfangszeit der ersten Daten durch die Aufzeichnungseinheit aufgezeichnet wird, die Korrektureinheit eine Zufallszahl erzeugt und die erzeugte Zufallszahl verwendet, um einen korrigierten Wert der durch die Aufzeichnungseinheit aufgezeichneten Empfangszeit der ersten Daten zu berechnen, und die Synchronisationseinheit den durch die Korrektureinheit berechneten korrigierten Wert der Empfangszeit der ersten Daten als die Empfangszeit der ersten Daten zur Berechnung des Offsets verwendet.
  3. Zeitsynchronisationseinrichtung nach Anspruch 2, wobei Jedes Mal, wenn die ersten Daten durch die Empfangseinheit empfangen werden, die Übertragungseinheit die zweiten Daten an die Haupteinrichtung überträgt, jedes Mal, wenn die zweiten Daten durch die Übertragungseinheit übertragen werden, die Aufzeichnungseinheit die Übertragungszeit der zweiten Daten an der Übertragungseinheit aufzeichnet, jedes Mal, wenn die Übertragungszeit der zweiten Daten durch die Aufzeichnungseinheit aufgezeichnet wird, die Korrektureinheit eine Zufallszahl erzeugt und die erzeugte Zufallszahl verwendet, um einen korrigierten Wert der der durch die Aufzeichnungseinheit aufgezeichneten Übertragungszeit der zweiten Daten zu berechnen, und die Synchronisationseinheit den durch die Korrektureinheit berechneten korrigierten Wert der Übertragungszeit der zweiten Daten als die Übertragungszeit der zweiten Daten zur Berechnung des Offsets verwendet.
  4. Zeitsynchronisationseinrichtung nach Anspruch 2 oder 3, wobei jedes Mal, wenn die ersten Daten durch die Empfangseinheit empfangen werden, die Synchronisationseinheit den Offset berechnet, die berechneten Werte des Offsets akkumuliert, statistische Verarbeitung auf die akkumulierten berechneten Werte durchführt und Zeit der Nebenuhr entsprechend einem Ergebnis der statistischen Verarbeitung anpasst.
  5. Zeitsynchronisationseinrichtung nach Anspruch 4, wobei die Synchronisationseinheit einen Mittelwert der akkumulierten berechneten Werte als das Ergebnis der statistischen Verarbeitung verwendet, um die Zeit der Nebenuhr anzupassen.
  6. Zeitsynchronisationseinrichtung nach einem der Ansprüche 1 bis 5, wobei die Empfangseinheit dritte Daten zum Melden der Übertragungszeit der ersten Daten an der Haupteinrichtung und vierte Daten zum Melden der Empfangszeit der zweiten Daten an der Haupteinrichtung von der Haupteinrichtung empfängt, und die Synchronisationseinheit sich auf die durch die Empfangseinheit empfangenen dritten Daten und vierten Daten zur Berechnung des Offsets bezieht.
  7. Zeitsynchronisationseinrichtung nach einem der Ansprüche 1 bis 6, wobei die Synchronisationseinheit den Offset aus der an der Haupteinrichtung aufgezeichneten Übertragungszeit der ersten Daten, der an der Haupteinrichtung korrigierten Übertragungszeit der ersten Daten, der durch die durch die Aufzeichnungseinheit aufgezeichneten Empfangszeit der ersten Daten, der durch die Korrektureinheit korrigierten Empfangszeit der ersten Daten, der durch die Aufzeichnungseinheit aufgezeichneten Übertragungszeit der zweiten Daten, der durch die Korrektureinheit korrigierten Übertragungszeit der zweiten Daten, der an der Haupteinrichtung aufgezeichneten Empfangszeit der zweiten Daten und der an der Haupteinrichtung korrigierten Empfangszeit der zweiten Daten berechnet.
  8. Zeitsynchronisationseinrichtung nach Anspruch 7, wobei die Synchronisationseinheit den Offset aus einer Differenz zwischen einer Summe der an der Haupteinrichtung aufgezeichneten Übertragungszeit der ersten Daten und der an der Haupteinrichtung korrigierten Übertragungszeit der ersten Daten und einer Summe der durch die Aufzeichnungseinheit aufgezeichneten Empfangszeit der ersten Daten und der durch die Korrektureinheit korrigierten Empfangszeit der ersten Daten, und eine Differenz zwischen einer Summe der durch die Aufzeichnungseinheit aufgezeichneten Übertragungszeit der zweiten Daten und der durch die Korrektureinheit korrigierten Übertragungszeit der zweiten Daten und einer Summe der an Haupteinrichtung aufgezeichneten Empfangszeit der zweiten Daten und der an der Haupteinrichtung korrigierten Empfangszeit der zweiten Daten berechnet.
  9. Zeitsynchronisationssystem, umfassend: die Zeitsynchronisationseinrichtung nach einem der Ansprüche 1 bis 8; und die Haupteinrichtung, um Übertragungszeit der ersten Daten und Empfangszeit der zweiten Daten unter Verwendung der Hauptuhr, die eine Software-Uhr ist, aufzuzeichnen, die aufgezeichnete Übertragungszeit der ersten Daten und die aufgezeichnete Empfangszeit der zweiten Daten zu korrigieren, und zumindest die korrigierte Übertragungszeit der ersten Daten und die korrigierte Empfangszeit der zweiten Daten an die Zeitsynchronisationseinrichtung zu melden.
  10. Zeitsynchronisationssystem nach Anspruch 9, wobei die Haupteinrichtung zudem die aufgezeichnete Übertragungszeit der ersten Daten und die aufgezeichnete Empfangszeit der zweiten Daten an die Zeitsynchronisationseinrichtung meldet.
  11. Zeitsynchronisationsverfahren, umfassend: Übertragen erster Daten von einer Haupteinrichtung, die eine Hauptuhr aufweist, Empfangen der ersten Daten an einer Zeitsynchronisationseinrichtung, die eine Nebenuhr aufweist, die eine Software-Uhr ist; Übertragen zweiter Daten von der Zeitsynchronisationseinrichtung nach Empfangen der ersten Daten; Empfangen der zweiten Daten an der Haupteinrichtung; Melden der Übertragungszeit der ersten Daten und der Empfangszeit der zweiten Daten von der Haupteinrichtung; und Aufzeichnen der Empfangszeit der ersten Daten und Übertragungszeit der zweiten Daten unter Verwendung der Nebenuhr, Korrigieren der aufgezeichneten Empfangszeit der ersten Daten und der aufgezeichneten Übertragungszeit der zweiten Daten durch die Zeitsynchronisationseinrichtung, und Berechnen eines Offsets aus zumindest der von der Haupteinrichtung gemeldeten Übertragungszeit der ersten Daten, korrigierter Empfangszeit der ersten Daten, korrigierter Übertragungszeit der zweiten Daten und der von der Haupteinrichtung gemeldeten Empfangszeit der zweiten Daten durch die Zeitsynchronisationseinrichtung, wobei der Offset eine Zeitverzögerung zwischen der Hauptuhr und der Nebenuhr ist.
DE112015006604.7T 2015-06-08 2015-06-08 Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren Active DE112015006604B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/066503 WO2016199196A1 (ja) 2015-06-08 2015-06-08 時刻同期装置及び時刻同期システム及び時刻同期方法

Publications (2)

Publication Number Publication Date
DE112015006604T5 true DE112015006604T5 (de) 2018-02-22
DE112015006604B4 DE112015006604B4 (de) 2020-08-20

Family

ID=57504772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015006604.7T Active DE112015006604B4 (de) 2015-06-08 2015-06-08 Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren

Country Status (7)

Country Link
JP (1) JP6261822B2 (de)
KR (1) KR101847366B1 (de)
CN (1) CN107636627B (de)
DE (1) DE112015006604B4 (de)
SG (1) SG11201709362WA (de)
TW (1) TWI599863B (de)
WO (1) WO2016199196A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190013077A (ko) * 2017-07-31 2019-02-11 한국전기연구원 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법
US11050501B2 (en) * 2018-06-14 2021-06-29 Microchip Technology Incorporated Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments
CN112703705A (zh) * 2018-09-21 2021-04-23 三菱电机株式会社 通信装置、通信系统、通信方法及通信程序
CN110244635A (zh) * 2019-06-24 2019-09-17 中国航空无线电电子研究所 具有计算转发时间功能的远程数据集中器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473638B2 (en) * 2008-05-02 2013-06-25 James Aweya Method and apparatus for time and frequency transfer in communication networks
JP5211987B2 (ja) * 2008-09-26 2013-06-12 ブラザー工業株式会社 端末装置及びその時刻調整方法
JP2013074527A (ja) * 2011-09-28 2013-04-22 Fujitsu Ltd 伝送装置、伝送システム及び通信制御方法
JP2013083450A (ja) * 2011-10-06 2013-05-09 Sony Corp 時刻制御装置、時刻制御方法、およびプログラム
JP2013152095A (ja) * 2012-01-24 2013-08-08 Sony Corp 時刻制御装置、時刻制御方法、およびプログラム
WO2012092892A2 (zh) * 2012-02-01 2012-07-12 华为技术有限公司 时间同步方法和设备及系统
WO2014041592A1 (ja) 2012-09-11 2014-03-20 三菱電機株式会社 補正パラメータ算出装置及びシステム及び補正パラメータ算出方法及びコンピュータプログラム
JP6158621B2 (ja) 2013-07-19 2017-07-05 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
JP2015035158A (ja) * 2013-08-09 2015-02-19 ルネサスエレクトロニクス株式会社 データ処理システム

Also Published As

Publication number Publication date
KR20170125405A (ko) 2017-11-14
SG11201709362WA (en) 2017-12-28
WO2016199196A1 (ja) 2016-12-15
TWI599863B (zh) 2017-09-21
DE112015006604B4 (de) 2020-08-20
CN107636627A (zh) 2018-01-26
JP6261822B2 (ja) 2018-01-17
CN107636627B (zh) 2020-12-29
TW201643569A (zh) 2016-12-16
JPWO2016199196A1 (ja) 2017-07-27
KR101847366B1 (ko) 2018-04-09

Similar Documents

Publication Publication Date Title
DE4320137B4 (de) Synchronisation von Tageszeituhren in einem verteilten Verarbeitungsnetzwerksystem
DE112007003434B4 (de) Kommunikationssystem, Verwaltungsgerät, Kommunikationsgerät und Computerprogramm zur Zeitsynchronisation zwischen mehreren Knotengeräten, die zur Bildung eines Netzwerks vom Ringtyp verbunden sind
DE102005031704B4 (de) Anordnung bei einem modularisiertem System zur Durchführung einer Zeitstempelung von Ereignissen/Referenzereignissen
DE112007003435B4 (de) Kommunikationssystem, Verwaltungsgerät, Kommunikationsgerät und Computerprogramm zur Zeitsynchronisation zwischen mehreren Knotengeräten in einem Netzwerk vom Ringtyp
DE69931218T2 (de) Verfahren zur synchronisierung von netzwerkknoten
DE112015006604B4 (de) Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren
DE112010004237B4 (de) Techniken zur verbesserten Messung von Taktverschiebungen
DE10333932A1 (de) Synchronisation von datenverarbeitenden Einheiten
DE102021205793A1 (de) Genauigkeit des zeitstempels auf der empfangsseite
DE102021201747A1 (de) PHC Verkettung
EP2759096B1 (de) Verfahren und vorrichtung zum koppeln eines ersten sensors mit zumindest einem zweiten sensor
DE112012002285T5 (de) System und Verfahren zur Ergänzung von Sensorinformationen
DE112017007691T5 (de) Kommunikationssystem, Master-Einrichtung und Slave-Einrichtung
EP1639758B1 (de) Verfahren und vorrichtung zum austausch von daten über ein bussystem
EP1039660A2 (de) Drahtloses Netzwerk mit einer Anwendertaktsynchronisation
DE102022203874A1 (de) Zeitstempel-konfidenzniveau
DE102018129189B4 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
DE112019007074T5 (de) Zeitsynchronisationssystem, Master-Gerät, Slave-Gerät und Programm
DE102019103270A1 (de) Verfahren zur verteilten elektrischen leistungsbestimmung
DE112012005046B4 (de) Koordinieren von Schreiboperationsabfolgen in einem Datenspeichersystem
EP2299614B1 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
DE60038589T2 (de) Verfahren und Einrichtung zur Steuerung der Synchronisation zwischen zwei seriellen Kommunikationsbussen eines Netzes
EP1754128A1 (de) Dezentrale zeitintervallsynchronisation in verteilten netzwerken
EP1079559A2 (de) Verfahren und Anordnung zur Synchronisation von Systemeinheiten
DE112013006756T5 (de) Kommunikations-, Steuervorrichtung und Programm

Legal Events

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