JP6707209B1 - 時刻同期システム、マスタ装置、スレーブ装置およびプログラム - Google Patents

時刻同期システム、マスタ装置、スレーブ装置およびプログラム Download PDF

Info

Publication number
JP6707209B1
JP6707209B1 JP2019552645A JP2019552645A JP6707209B1 JP 6707209 B1 JP6707209 B1 JP 6707209B1 JP 2019552645 A JP2019552645 A JP 2019552645A JP 2019552645 A JP2019552645 A JP 2019552645A JP 6707209 B1 JP6707209 B1 JP 6707209B1
Authority
JP
Japan
Prior art keywords
time
transmission
fixed
signal
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019552645A
Other languages
English (en)
Other versions
JPWO2020217286A1 (ja
Inventor
栄太郎 日置
栄太郎 日置
直哉 内山
直哉 内山
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
Application granted granted Critical
Publication of JP6707209B1 publication Critical patent/JP6707209B1/ja
Publication of JPWO2020217286A1 publication Critical patent/JPWO2020217286A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • H04J3/0655Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)
  • Small-Scale Networks (AREA)

Abstract

時刻同期システム(100)は、データバス(4)、および、定周期信号を送信する専用の信号線(3)で接続されたマスタ装置(1)とスレーブ装置(2A,2B,2C)とを備える。マスタ装置(1)は、信号線(3)を介して、定周期信号を一定の送信周期で送信する。マスタ装置(1)は、データバス(4)を介して、定周期信号の送信開始時刻を示す開始時刻情報と、定周期信号の送信周期を示す送信周期情報とを送信する。スレーブ装置(2A,2B,2C)は、定周期信号の受信回数をカウントし、定周期信号の受信回数と、開始時刻情報が示す送信開始時刻と、送信周期情報が示す送信周期とに基づいて、マスタ装置(1)における定周期信号の送信時刻をマスタ装置(1)の現在時刻として算出する。スレーブ装置(2A,2B,2C)は、算出したマスタ装置(1)の現在時刻に自身の時刻を補正する。

Description

本発明は、時刻同期システム、マスタ装置、スレーブ装置およびプログラムに関する。
例えば、PLC(Programmable Logic Controller)のような時計が内蔵された複数の装置が連携している場合に各装置の時刻を同期させる技術がある。このような技術における時刻同期の方法は、複数の装置の中から基準時刻を管理するマスタ装置を決めて、マスタ装置がマスタ装置以外のスレーブ装置に送信した時刻情報に基づいて、スレーブ装置の時刻をマスタ装置の時刻に合わせる方法が一般的である。
特許文献1には、親時計付局と子時計付局との間に専用の信号線を新設し、親時計付局が決められた周期で専用信号線上に時刻周期パルス信号を送信し、ネットワーク上に時刻周期パルス信号の送出時点の時刻情報を送信し、子時計付局は時刻周期パルス信号および時刻情報を用いて時刻合わせを行う技術が開示されている。
特開平4−294413号公報
特許文献1に記載の技術では、親時計付局が、専用の信号線を介して時刻周期パルス信号を送信する度に、ネットワークのデータ用通信線を介して時刻周期パルス信号の送出時点の時刻情報を送信するので、子時計付局への時刻情報の到着は、データ用通信線の伝搬遅延時間及びジッタの影響を受けて、時刻周期パルス信号の到着よりも遅れる。データ用通信線に送信される時刻情報に対する伝搬遅延時間及びジッタの影響による最大遅延時間が、時刻周期パルス信号を送信する周期よりも長くなってしまうと、前の時刻周期パルス信号に対応した時刻情報が到着する前に次の時刻周期パルス信号が到着してしまう可能性があるので、時刻周期パルス信号を送信する周期をデータ用通信線の最大遅延時間よりも短くすることができない。つまり、時刻同期の精度がデータ用通信線の伝搬遅延時間及びジッタによって制限されてしまうという問題がある。
本発明は、上記の事情に鑑みてなされたものであり、スレーブ装置の時刻をマスタ装置の時刻に合わせる時刻同期において、より高精度の時刻同期を実現することを目的とする。
上記目的を達成するため、本発明の時刻同期システムは、マスタ装置とスレーブ装置とを備える。マスタ装置とスレーブ装置とは、データ用通信線、および、定周期信号を送信する専用の信号線で接続される。マスタ装置は、マスタ計時部と、定周期信号送信部と、開始時刻送信部と、送信周期送信部とを備える。マスタ計時部は、時刻を計時する。定周期信号送信部は、一定の送信周期で定周期信号を生成し、スレーブ装置に信号線を介して定周期信号を送信する。開始時刻送信部は、定周期信号の送信開始時刻を示す開始時刻情報をスレーブ装置にデータ用通信線を介して送信する。送信周期送信部は、定周期信号の送信周期を示す送信周期情報をスレーブ装置にデータ用通信線を介して送信する。スレーブ装置は、スレーブ計時部と、定周期信号受信部と、開始時刻受信部と、送信周期受信部と、カウント部と、時刻算出部と、時刻補正部とを備える。スレーブ計時部は、時刻を計時する。定周期信号受信部は、マスタ装置から定周期信号を信号線を介して受信する。開始時刻受信部は、マスタ装置から開始時刻情報をデータ用通信線を介して受信する。送信周期受信部は、マスタ装置から送信周期情報をデータ用通信線を介して受信する。カウント部は、定周期信号受信部が定周期信号を受信した回数をカウントする。時刻算出部は、開始時刻情報が示す送信開始時刻と、送信周期情報が示す送信周期と、定周期信号の受信回数とに基づいて、マスタ装置における定周期信号の送信時刻を、マスタ装置の現在時刻として算出する。時刻補正部は、スレーブ計時部の時刻を時刻算出部が算出したマスタ装置の現在時刻に補正する。
本発明によれば、スレーブ装置の時刻をマスタ装置の時刻に合わせる時刻同期において、マスタ装置からスレーブ装置に、専用の信号線を介して定周期信号を送信し、定周期信号の受信回数と送信周期と送信開始時刻とに基づいて、スレーブ装置の時刻をマスタ装置の時刻に補正することで、定周期信号を送信する度にデータ用通信線を介して送出時点の時刻情報を送信する必要がないので、データ用通信線の伝搬遅延時間及びジッタに関係なく定周期信号を送信する周期を短くすることができ、より高精度の時刻同期を実現することが可能になる。
本発明の実施の形態1に係る時刻同期システムの構成を示すブロック図 実施の形態1に係るマスタ装置の機能構成を示すブロック図 実施の形態1に係るスレーブ装置の機能構成を示すブロック図 実施の形態1に係る時刻補正を説明する図 実施の形態1に係る時刻送信処理を示すフローチャート 実施の形態1に係る時刻受信処理を示すフローチャート 本発明の実施の形態2に係るマスタ装置の機能構成を示すブロック図 実施の形態2に係る時刻送信処理を示すフローチャート 実施の形態2に係る時刻受信処理を示すフローチャート 本発明の実施の形態3に係るスレーブ装置の機能構成を示すブロック図 実施の形態3に係る時刻補正を説明する図 実施の形態3に係る時刻受信処理を示すフローチャート 本発明の実施の形態4に係るスレーブ装置の機能構成を示すブロック図 実施の形態4に係る時刻補正を説明する図 実施の形態4に係る時刻受信処理を示すフローチャート 実施の形態1から4に係るマスタ装置およびスレーブ装置のハードウェア構成の一例を示す図
以下、図面を参照して、本発明の実施の形態に係る時刻同期システム、マスタ装置、スレーブ装置およびプログラムについて詳細に説明する。なお、図中、同一または相当する部分には、同じ符号を付す。
(実施の形態1)
図1に示すように、本実施の形態1に係る時刻同期システム100は、信号線3およびデータバス4で接続されたマスタ装置1とスレーブ装置2A〜2Cとを備える。時刻同期システム100は、スレーブ装置2A〜2Cの時刻をマスタ装置1の時刻と同期させる。スレーブ装置2A〜2Cを総称する場合は、スレーブ装置2と呼ぶ。
マスタ装置1は、信号線3を介して、定周期信号を一定の送信周期で送信する。信号線3は定周期信号を送信するための専用の通信線である。マスタ装置1は、データバス4を介して、定周期信号の送信開始時刻を示す開始時刻情報と、定周期信号の送信周期を示す送信周期情報とを送信する。データバス4は、マスタ装置1およびスレーブ装置2がデータを送受信するデータ用通信線であって、開始時刻情報および送信周期情報以外の情報の送受信に用いられてもよい。データバス4は、データ用通信線の例である。スレーブ装置2は、定周期信号の受信回数をカウントし、定周期信号の受信回数と、開始時刻情報が示す送信開始時刻と、送信周期情報が示す送信周期とに基づいて、マスタ装置1の現在時刻を算出する。スレーブ装置2は、算出したマスタ装置1の現在時刻に自身の時刻を補正する。
図1の例では、スレーブ装置2を3台記載したが、スレーブ装置2は何台でもよい。また、マスタ装置1およびスレーブ装置2A〜2Cを接続するネットワークはバス型に限らず、例えばスター型でもよい。
続いて、マスタ装置1の機能について図2を用いて説明する。図2に示すように、マスタ装置1は、機能構成として、時刻を計時するマスタ計時部11と、定周期信号を送信する定周期信号送信部12と、定周期信号の送信開始時刻を示す開始時刻情報を送信する開始時刻送信部13と、定周期信号の送信周期を示す送信周期情報を記憶する送信周期記憶部14と、送信周期情報を送信する送信周期送信部15とを備える。以下、マスタ装置1の時刻、つまりマスタ計時部11の時刻をマスタ時刻と呼ぶ。
定周期信号送信部12は、マスタ時刻に基づいて、送信周期記憶部14が記憶する送信周期情報が示す送信周期で定周期信号を生成し、信号線3を介してスレーブ装置2A〜2Cに定周期信号を送信する。定周期信号は、例えば1ビットのパルス信号である。専用の信号線3を介して定周期信号を送信する伝搬遅延時間及びジッタは、データバス4を介して送信する場合に比べて十分小さいので、マスタ装置1における定周期信号の送信時刻とスレーブ装置2における定周期信号の受信時刻は同時刻とみなすことができる。
開始時刻送信部13は、定周期信号送信部12が定周期信号の送信を開始したマスタ時刻を取得するタイムスタンプ処理を行う。開始時刻送信部13は、定周期信号の送信を開始したマスタ時刻、つまり送信開始時刻を示す開始時刻情報を生成する。開始時刻送信部13は、データバス4を介してスレーブ装置2A〜2Cに開始時刻情報を送信する。
送信周期送信部15は、送信周期記憶部14が記憶する送信周期情報を、データバス4を介してスレーブ装置2A〜2Cに送信する。送信周期送信部15が送信周期情報を送信するタイミングは、開始時刻送信部13が開始時刻情報を送信する前であればよい。
続いて、スレーブ装置2の機能について図3を用いて説明する。図3には代表してスレーブ装置2Aの機能構成を示しているが、スレーブ装置2Bおよび2Cも同様の機能構成である。図3に示すように、スレーブ装置2Aは、機能構成として、時刻を計時するスレーブ計時部21と、定周期信号を受信する定周期信号受信部22と、定周期信号の受信回数をカウントするカウント部23と、開始時刻情報を受信する開始時刻受信部24と、開始時刻情報を記憶する開始時刻記憶部25と、送信周期情報を受信する送信周期受信部26と、送信周期情報を記憶する送信周期記憶部27と、現在のマスタ時刻を算出する時刻算出部28と、スレーブ計時部21の時刻を補正する時刻補正部29とを備える。
定周期信号受信部22は、信号線3を介してマスタ装置1から定周期信号を受信する。カウント部23は、定周期信号受信部22が定周期信号を受信した回数をカウントし、時刻算出部28に受信回数を通知する。開始時刻受信部24は、データバス4を介してマスタ装置1から開始時刻情報を受信する。開始時刻記憶部25は、開始時刻受信部24が受信した開始時刻情報を記憶する。送信周期受信部26は、データバス4を介してマスタ装置1から送信周期情報を受信する。送信周期記憶部27は、送信周期受信部26が受信した送信周期情報を記憶する。
時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、マスタ装置1における定周期信号の送信時刻を現在のマスタ時刻として算出する。具体的には、時刻算出部28は、開始時刻情報が示す送信開始時刻に、送信周期情報が示す送信周期に定周期信号の受信回数から1を減算した値を乗算した時間を加えた時刻、つまりマスタ装置1における定周期信号の送信時刻を算出する。前述のように、マスタ装置1における定周期信号の送信時刻とスレーブ装置2における定周期信号の受信時刻は同時刻とみなすことができるので、時刻算出部28は、マスタ装置1における定周期信号の送信時刻を現在のマスタ時刻として算出する。時刻補正部29は、スレーブ計時部21の時刻を、時刻算出部28が算出した現在のマスタ時刻に補正する。以下、スレーブ装置2の時刻、つまりスレーブ計時部21の時刻をスレーブ時刻という。
ここで、スレーブ装置2で行われる時刻補正について図4を用いて説明する。図4に示すように、スレーブ装置2の定周期信号受信部22は、定周期信号を一定の時間間隔で受信する。定周期信号を受信する時間間隔は、マスタ時刻では送信周期Pである。カウント部23は、定周期信号の受信回数をカウントして、時刻算出部28に通知する。開始時刻受信部24は、送信開始時刻、つまりマスタ時刻M1を示す開始時刻情報を受信し、開始時刻記憶部25に記憶する。図4の例では、開始時刻受信部24は、1回目の定周期信号の受信タイミングと2回目の定周期信号の受信タイミングとの間に開始時刻情報を受信しているものとする。送信周期受信部26は、開始時刻受信部24が開始時刻情報を受信するよりも前に送信周期Pを示す送信周期情報を受信しており、送信周期記憶部27に記憶している。
時刻算出部28は、2回目の定周期信号の受信時にカウント部23から定周期信号の受信回数2を通知されると、開始時刻情報が示すマスタ時刻M1に、送信周期情報が示す送信周期Pに定周期信号の受信回数2から1を減算した1を乗算した時間を加えた時刻をマスタ時刻M2として算出する。時刻算出部28は、3回目の定周期信号の受信時にカウント部23から定周期信号の受信回数3を通知されると、開始時刻情報が示すマスタ時刻M1に、送信周期情報が示す送信周期Pに定周期信号の受信回数3から1を減算した2を乗算した時間を加えた時刻をマスタ時刻M3として算出する。このように、時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、マスタ時刻M1と送信周期Pとを用いて、下記の(1)式で現在のマスタ時刻Mnを算出する。n≧2である。
Mn=M1+P×(n−1) (1)
時刻補正部29は、時刻算出部28が現在のマスタ時刻Mnを算出するごとに、スレーブ時刻を現在のマスタ時刻Mnに補正する。このように、スレーブ時刻は、スレーブ装置2が定周期信号を受信するごとに現在のマスタ時刻に補正される。なお、図4の例では、1回目の定周期信号の受信タイミングと2回目の定周期信号の受信タイミングとの間に開始時刻情報を受信するものとし、時刻算出部28はマスタ時刻M2以降のマスタ時刻Mnを算出しているが、これに限らない。時刻算出部28は、開始時刻受信部24が開始時刻情報を受信して開始時刻記憶部25に記憶した後に、定周期信号受信部22が定周期信号を受信した時からマスタ時刻Mnを算出すればよい。
ここで、マスタ装置1が実行する時刻送信処理のフローについて、図5を用いて説明する。図5に示す時刻送信処理は、マスタ装置1の電源が投入されたことで開始する。マスタ装置1の送信周期送信部15は、送信周期記憶部14が記憶する送信周期情報を、データバス4を介してスレーブ装置2に送信する(ステップS11)。図4の例では、送信周期送信部15は、送信周期Pを示す送信周期情報を、スレーブ装置2に送信する。
図5に戻り、定周期信号送信部12は、定周期信号を生成し、信号線3を介してスレーブ装置2に定周期信号を送信する(ステップS12)。送信した定周期信号が最初の定周期信号である場合(ステップS13;YES)、開始時刻送信部13は、マスタ時刻に基づいて、定周期信号送信部12が定周期信号の送信を開始した送信開始時刻を示す開始時刻情報を生成し、データバス4を介してスレーブ装置2に開始時刻情報を送信する(ステップS14)。図4の例では、開始時刻送信部13は、マスタ時刻M1を示す開始時刻情報をスレーブ装置2に送信する。
図5に戻り、送信した定周期信号が最初の定周期信号でない場合(ステップS13;NO)、処理はステップS15に移行する。定周期信号送信部12は、マスタ時刻に基づいて、ステップS12で定周期信号を送信してから、送信周期記憶部14が記憶する送信周期情報が示す送信周期が経過したか否かを判定する(ステップS15)。送信周期が経過していなければ(ステップS15;NO)、定周期信号送信部12は、ステップS15を繰り返し、送信周期の経過を待機する。送信周期が経過した場合(ステップS15;YES)、マスタ装置1の電源がOFFになっていなければ(ステップS16;NO)、処理はステップS12に戻り、ステップS12〜ステップS16を繰り返す。これにより、送信周期記憶部14が記憶する送信周期情報が示す送信周期でマスタ装置1からスレーブ装置2に定周期信号が送信される。図4の例では、送信周期Pでマスタ装置1からスレーブ装置2に定周期信号が送信されている。
図5に戻り、マスタ装置1の電源がOFFになると(ステップS16;YES)、処理は終了する。
続いて、スレーブ装置2が実行する時刻受信処理のフローについて、図6を用いて説明する。図6に示す時刻受信処理は、スレーブ装置2の電源が投入されたことで開始する。スレーブ装置2の送信周期受信部26は、データバス4を介してマスタ装置1から送信周期情報を受信する(ステップS21)。送信周期記憶部27は、送信周期受信部26が受信した送信周期情報を記憶する。図4の例では、送信周期受信部26は、マスタ装置1から送信周期Pを示す送信周期情報を受信する。送信周期記憶部27は、送信周期Pを示す送信周期情報を記憶する。
図6に戻り、定周期信号受信部22は、信号線3を介してマスタ装置1から定周期信号を受信する(ステップS22)。カウント部23は、定周期信号受信部22が定周期信号を受信した回数をカウントし(ステップS23)、時刻算出部28に受信回数を通知する。開始時刻受信部24は、データバス4を介してマスタ装置1から開始時刻情報を受信済みであるか否かを判定する(ステップS24)。開始時刻情報を受信済みでない場合(ステップS24;NO)、処理はステップS22に戻り、ステップS22〜ステップS24を繰り返し、開始時刻情報の受信を待機する。開始時刻情報を受信済みである場合(ステップS24;YES)、開始時刻記憶部25には、開始時刻受信部24が受信した開始時刻情報が記憶されている。図4の例では、開始時刻記憶部25には、開始時刻受信部24が受信したマスタ時刻M1を示す開始時刻情報が記憶されている。
図6に戻り、時刻算出部28は、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、現在のマスタ時刻を算出する(ステップS25)。図4の例では、時刻算出部28は、上記の(1)式で現在のマスタ時刻Mnを算出する。
図6に戻り、時刻補正部29は、スレーブ時刻を、ステップS25で算出した現在のマスタ時刻に補正する(ステップS26)。スレーブ装置2の電源がOFFになっていなければ(ステップS27;NO)、処理はステップS22に戻り、ステップS22〜ステップS27を繰り返す。これにより、スレーブ装置2が定周期信号を受信するごとに、スレーブ時刻が現在のマスタ時刻に補正される。スレーブ装置2の電源がOFFになると(ステップS27;YES)、処理は終了する。
以上説明したとおり、実施の形態1に係る、スレーブ装置2の時刻をマスタ装置1の時刻に合わせる時刻同期を行う時刻同期システム100では、マスタ装置1からスレーブ装置2に、専用の信号線3を介して定周期信号を送信し、定周期信号の受信回数と送信周期と送信開始時刻とに基づいて、スレーブ装置2の時刻をマスタ装置1の時刻に補正する。これにより、定周期信号を送信する度にデータバス4を介して送出時点の時刻情報を送信する必要がないので、データバス4の伝搬遅延時間及びジッタに関係なく定周期信号を送信する周期を短くすることができ、より高精度の時刻同期を実現することが可能になる。また、データバス4を介して開始時刻情報および送信周期情報を送信するのは1回だけであるので、定周期信号を送信する度にデータバス4を介して送出時点の時刻情報を送信する場合に比べて、時刻同期によるデータバス4の帯域消費量を小さくすることができる。
(実施の形態2)
実施の形態2では、定周期信号の送信開始時刻があらかじめ決まっている。実施の形態2の時刻同期システム100の構成、スレーブ装置2の機能構成は、実施の形態1と同様である。
実施の形態2のマスタ装置1の機能について図7を用いて説明する。図7に示すように、マスタ装置1は、機能構成として、マスタ計時部11、定周期信号送信部12と、開始時刻送信部13、送信周期記憶部14および送信周期送信部15に加えて、開始時刻記憶部16を備える。
開始時刻記憶部16は、あらかじめ決められた送信開始時刻を示す開始時刻情報を記憶している。定周期信号送信部12は、マスタ時刻が、開始時刻記憶部16に記憶された開始時刻情報が示す送信開始時刻になったら定周期信号の送信を開始する。開始時刻送信部13は、開始時刻記憶部16が記憶する開始時刻情報を、データバス4を介してスレーブ装置2A〜2Cに送信する。開始時刻送信部13が開始時刻情報を送信するタイミングは、定周期信号送信部12が定周期信号の送信を開始する前であればよい。マスタ装置1のその他の機能は、実施の形態1と同様である。
ここで、マスタ装置1が実行する時刻送信処理のフローについて、図8を用いて説明する。図8に示す時刻送信処理は、マスタ装置1の電源が投入されたことで開始する。マスタ装置1の送信周期送信部15は、送信周期記憶部14が記憶する送信周期情報を、データバス4を介してスレーブ装置2に送信する(ステップS31)。開始時刻送信部13は、開始時刻記憶部16が記憶する開始時刻情報を、データバス4を介してスレーブ装置2に送信する(ステップS32)。
定周期信号送信部12は、マスタ時刻が、開始時刻記憶部16に記憶された開始時刻情報が示す送信開始時刻になったか否かを判定する(ステップS33)。マスタ時刻が送信開始時刻になっていなければ(ステップS33;NO)、定周期信号送信部12は、ステップS33を繰り返し、送信開始時刻になるまで待機する。マスタ時刻が送信開始時刻になると(ステップS33;YES)、定周期信号送信部12は、定周期信号を生成し、信号線3を介してスレーブ装置2に定周期信号を送信する(ステップS34)。
定周期信号送信部12は、マスタ時刻に基づいて、定周期信号を送信してから、送信周期記憶部14が記憶する送信周期情報が示す送信周期が経過したか否かを判定する(ステップS35)。送信周期が経過していなければ(ステップS35;NO)、定周期信号送信部12は、ステップS35を繰り返し、送信周期の経過を待機する。送信周期が経過した場合(ステップS35;YES)、マスタ装置1の電源がOFFになっていなければ(ステップS36;NO)、処理はステップS34に戻り、ステップS34〜ステップS36を繰り返す。マスタ装置1の電源がOFFになると(ステップS36;YES)、処理は終了する。
続いて、スレーブ装置2が実行する時刻受信処理のフローについて、図9を用いて説明する。図9に示す時刻受信処理は、スレーブ装置2の電源が投入されたことで開始する。スレーブ装置2の送信周期受信部26は、データバス4を介して、マスタ装置1から送信周期情報を受信する(ステップS41)。送信周期記憶部27は、送信周期受信部26が受信した送信周期情報を記憶する。開始時刻受信部24は、データバス4を介して、マスタ装置1から開始時刻情報を受信する(ステップS42)。開始時刻記憶部25は、開始時刻受信部24が受信した開始時刻情報を記憶する。
定周期信号受信部22は、信号線3を介して、マスタ装置1から定周期信号を受信する(ステップS43)。カウント部23は、定周期信号受信部22が定周期信号を受信した回数をカウントし(ステップS44)、時刻算出部28に受信回数を通知する。時刻算出部28は、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、現在のマスタ時刻を算出する(ステップS45)。
時刻補正部29は、スレーブ時刻を、ステップS45で算出した現在のマスタ時刻に補正する(ステップS46)。スレーブ装置2の電源がOFFになっていなければ(ステップS47;NO)、処理はステップS43に戻り、ステップS43〜ステップS47を繰り返す。これにより、スレーブ時刻は、スレーブ装置2が定周期信号を受信するごとにマスタ時刻に補正される。実施の形態2では、スレーブ装置2が定周期信号を受信する前に開始時刻情報を受信しているので、1回目の定周期信号の受信時から、スレーブ時刻を現在のマスタ時刻に補正することができる。スレーブ装置2の電源がOFFになると(ステップS47;YES)、処理は終了する。
以上説明したとおり、実施の形態2に係る、スレーブ装置2の時刻をマスタ装置1の時刻に合わせる時刻同期を行う時刻同期システム100では、マスタ装置1からスレーブ装置2に、専用の信号線3を介して定周期信号を送信し、定周期信号の受信回数と送信周期と送信開始時刻とに基づいて、スレーブ装置2の時刻をマスタ装置1の時刻に補正する。これにより、定周期信号を送信する度にデータバス4を介して送出時点の時刻情報を送信する必要がないので、データバス4の伝搬遅延時間及びジッタに関係なく定周期信号を送信する周期を短くすることができ、より高精度の時刻同期を実現することが可能になる。また、開始時刻記憶部16が開始時刻情報をあらかじめ記憶しており、実施の形態1のように開始時刻送信部13がタイムスタンプ処理を行う必要がないので、時刻同期の精度がタイムスタンプ処理の精度の影響を受けない。
(実施の形態3)
実施の形態3では、スレーブ装置2が、送信周期の間の時刻補正タイミングで時刻補正を行う。実施の形態3の時刻同期システム100の構成、マスタ装置1の機能構成は、実施の形態2と同様である。
実施の形態3のスレーブ装置2の機能について図10を用いて説明する。図10には代表してスレーブ装置2Aの機能構成を示しているが、スレーブ装置2Bおよび2Cも同様の機能構成である。図10に示すように、スレーブ装置2Aは、機能構成として、スレーブ計時部21、定周期信号受信部22、カウント部23、開始時刻受信部24、開始時刻記憶部25、送信周期受信部26、送信周期記憶部27、時刻算出部28とおよび時刻補正部29に加えて、補正なし計時部30を備える。
補正なし計時部30は、時刻補正部29が補正しなかった場合のスレーブ計時部21の時刻と同じ時刻を計時する。以下、補正しなかった場合のスレーブ装置2の時刻、つまり補正なし計時部30の時刻を補正なしスレーブ時刻という。
時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、マスタ装置1における定周期信号の送信時刻を算出する。具体的には、時刻算出部28は、開始時刻情報が示す送信開始時刻に、送信周期情報が示す送信周期に定周期信号の受信回数から1を減算した値を乗算した時間を加えた時刻を、マスタ装置1における定周期信号の送信時刻として算出する。
時刻算出部28は、送信周期の間の時刻補正タイミングで、マスタ装置1における定周期信号の送信時刻と、定周期信号受信部22が定周期信号を受信した時の補正なし計時部30の時刻と、補正なし計時部30の現在時刻とに基づいて、現在のマスタ時刻を算出する。具体的には、時刻算出部28は、直前の定周期信号を受信したタイミングで算出したマスタ装置1における定周期信号の送信時刻に、直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間を加えた時刻を現在のマスタ時刻として算出する。時刻算出部28は、直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間を、直前の定周期信号を受信したタイミングから現在までの補正なしスレーブ時刻の経過時間に、補正なしスレーブ時刻の進みに対するマスタ時刻の進みの比を乗算して算出する。時刻補正部29は、スレーブ計時部21の時刻を、時刻算出部28が算出した現在のマスタ時刻に補正する。
ここで、スレーブ装置2で行われる時刻補正について図11を用いて説明する。図11に示すように、スレーブ装置2の定周期信号受信部22は、定周期信号を一定の時間間隔で受信する。定周期信号を受信する時間間隔は、マスタ時刻では送信周期Pである。カウント部23は、定周期信号の受信回数をカウントして、時刻算出部28に通知する。開始時刻受信部24は、マスタ時刻M1よりも前に、送信開始時刻、つまりマスタ時刻M1を示す開始時刻情報を受信しており、開始時刻記憶部25に記憶している。送信周期受信部26は、マスタ時刻M1よりも前に送信周期Pを示す送信周期情報を受信しており、送信周期記憶部27に記憶している。
時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、上記の(1)式でマスタ時刻Mnを算出する。時刻算出部28は、送信周期の間の時刻補正タイミングが到来すると、マスタ時刻Mnに、直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間ΔMn’を加算して、現在のマスタ時刻Mn’を算出する。時刻算出部28は、直前の定周期信号を受信したタイミングから現在までの補正なしスレーブ時刻の経過時間ΔFn’と補正なしスレーブ時刻の進みに対するマスタ時刻の進みの比(Mn−M(n−1)/(Fn−F(n−1))とを用いて、下記の(2)式で直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間ΔMn’を算出する。n≧2である。
ΔMn’=ΔFn’×(Mn−M(n−1)/(Fn−F(n−1)) (2)
Mn−M(n−1)の代わりに送信周期情報が示す送信周期Pを用いてもよい。時刻補正部29は、時刻算出部28が現在のマスタ時刻Mn’を算出するごとに、スレーブ時刻を現在のマスタ時刻Mn’に補正する。このように、スレーブ時刻は、送信周期の間の時刻補正タイミングで現在のマスタ時刻に補正される。なお、送信周期の間の時刻補正タイミングは、ユーザが設定してもよいし、スレーブ装置2の処理能力によって決まってもよい。
ここで、スレーブ装置2が実行する時刻受信処理のフローについて、図12を用いて説明する。図12に示す時刻受信処理は、スレーブ装置2の電源が投入されたことで開始する。ステップS51〜ステップS54は、図9に示すフローチャートのステップS41〜ステップS44と同様であるので説明を省略する。スレーブ装置2の時刻算出部28は、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、マスタ装置1における定周期信号の送信時刻を算出する(ステップS55)。図11の例では、時刻算出部28は、上記の(1)式でマスタ装置1における定周期信号の送信時刻Mnを算出する。
図12に戻り、時刻算出部28は、時刻補正タイミングが到来したか否かを判定する(ステップS56)。時刻補正タイミングが到来していない場合(ステップS56;NO)、時刻算出部28は、ステップS56を繰り返し、時刻補正タイミングの到来を待機する。時刻補正タイミングが到来した場合(ステップS56;YES)、時刻算出部28は、マスタ装置1における定周期信号の送信時刻と、定周期信号受信部22が定周期信号を受信した時の補正なし計時部30の時刻と、補正なし計時部30の現在時刻とに基づいて、現在のマスタ時刻を算出する(ステップS57)。図11の例では、時刻算出部28は、マスタ時刻Mnに、直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間ΔMn’を加算して、現在のマスタ時刻Mn’を算出する。時刻算出部28は、上記の(2)式で直前の定周期信号を受信したタイミングから現在までのマスタ時刻の経過時間ΔMn’を算出する。
図12に戻り、時刻補正部29は、スレーブ時刻を、ステップS57で算出したマスタ時刻に補正する(ステップS58)。スレーブ装置2の電源がOFFになっていなければ(ステップS59;NO)、処理はステップS53に戻り、ステップS53〜ステップS59を繰り返す。これにより、スレーブ時刻は、送信周期の間の時刻補正タイミングでマスタ時刻に補正される。スレーブ装置2の電源がOFFになると(ステップS59;YES)、処理は終了する。
以上説明したとおり、実施の形態3に係る、スレーブ装置2の時刻をマスタ装置1の時刻に合わせる時刻同期を行う時刻同期システム100では、マスタ装置1からスレーブ装置2に、専用の信号線3を介して定周期信号を送信し、定周期信号の受信回数と送信周期と送信開始時刻とに基づいて、スレーブ装置2の時刻をマスタ装置1の時刻に補正する。これにより、定周期信号を送信する度にデータバス4を介して送出時点の時刻情報を送信する必要がないので、データバス4の伝搬遅延時間及びジッタに関係なく定周期信号を送信する周期を短くすることができ、より高精度の時刻同期を実現することが可能になる。また、送信周期の間の時刻補正タイミングでスレーブ時刻をマスタ時刻に補正することができるので、定周期信号の受信したタイミングで即時にスレーブ時刻をマスタ時刻に補正する必要がなくなる。これにより、スレーブ時刻をマスタ時刻に補正する処理をソフトウェアで実現する場合も精度の低下を防ぐことができる。
(実施の形態4)
実施の形態4では、スレーブ時刻の進みをマスタ時刻の進みと一致させる補正を行う。実施の形態4の時刻同期システム100の構成、マスタ装置1の機能構成は、実施の形態2と同様である。
実施の形態4のスレーブ装置2の機能について図13を用いて説明する。図13には代表してスレーブ装置2Aの機能構成を示しているが、スレーブ装置2Bおよび2Cも同様の機能構成である。図13に示すように、スレーブ装置2Aは、機能構成として、スレーブ計時部21、定周期信号受信部22、カウント部23、開始時刻受信部24、開始時刻記憶部25、送信周期受信部26、送信周期記憶部27、時刻算出部28とおよび時刻補正部29に加えて、スレ−ブ時刻の進みをマスタ時刻の進みと一致させる補正を行う時刻進み補正部31を備える。
時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、現在のマスタ時刻を算出する。具体的には、時刻算出部28は、開始時刻情報が示す送信開始時刻に、送信周期情報が示す送信周期に定周期信号の受信回数から1を減算した値を乗算した時間を加えた時刻、つまりマスタ装置1における定周期信号の送信時刻を、現在のマスタ時刻として算出する。
時刻進み補正部31は、定周期信号受信部22が定周期信号を受信するたびに、マスタ装置1における定周期信号の送信時刻と、定周期信号受信部22が定周期信号を受信した時のスレーブ計時部21の時刻とに基づいて、マスタ時刻の進みおよびスレーブ時刻の進みを算出する。時刻進み補正部31は、スレーブ計時部21に対し、スレーブ時刻の進みをマスタ時刻の進みと一致させる補正を行う。
ここで、スレーブ装置2で行われる時刻の進みの補正について図14を用いて説明する。図14に示すように、スレーブ装置2の定周期信号受信部22は、定周期信号を一定の時間間隔で受信する。定周期信号を受信する時間間隔は、マスタ時刻では送信周期Pである。カウント部23は、定周期信号の受信回数をカウントして、時刻算出部28に受信回数を通知する。開始時刻受信部24は、マスタ時刻M1よりも前に、送信開始時刻、つまりマスタ時刻M1を示す開始時刻情報を受信しており、開始時刻記憶部25に記憶している。送信周期受信部26は、マスタ時刻M1よりも前に送信周期Pを示す送信周期情報を受信しており、送信周期記憶部27に記憶している。
時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、上記の(1)式でマスタ時刻Mnを算出する。時刻補正部29は、時刻算出部28が現在のマスタ時刻Mnを算出するごとに、スレーブ時刻を現在のマスタ時刻Mnに補正する。時刻進み補正部31は、時刻算出部28がマスタ時刻Mnを算出するたびに、マスタ時刻の進みΔMnとスレーブ時刻の進みΔJnとを算出する。マスタ時刻の進みΔMnには、前回の定周期信号の受信時のマスタ時刻から今回の定周期信号の受信時のマスタ時刻までのマスタ時刻の経過時間(Mn−M(n−1))を用いてもよいし、送信周期情報が示す送信周期Pを用いてもよい。スレーブ時刻の進みΔJnには、前回の定周期信号の受信時の補正後のスレーブ時刻から今回の定周期信号の受信時の補正前のスレーブ時刻までのマスタ時刻の経過時間(Jn−M(n−1))を用いる。n≧2である。時刻進み補正部31は、スレーブ計時部21に対し、スレーブ時刻の進みΔJnをマスタ時刻の進みΔMnと一致させる補正を行う。このように、スレーブ装置2が定周期信号を受信するごとに、スレーブ時刻が現在のマスタ時刻に補正され、スレーブ時刻の進みがマスタ時刻の進みに合わせて補正される。
ここで、スレーブ装置2が実行する時刻受信処理のフローについて、図15を用いて説明する。図15に示す時刻受信処理は、スレーブ装置2の電源が投入されたことで開始する。ステップS61〜ステップS66は、図9に示すフローチャートのステップS41〜ステップS46と同様であるので説明を省略する。スレーブ装置2の時刻進み補正部31は、マスタ装置1における定周期信号の送信時刻と、定周期信号受信部22が定周期信号を受信した時のスレーブ計時部21の時刻とに基づいて、マスタ時刻の進みおよびスレーブ時刻の進みを算出する(ステップS67)。図14の例では、時刻進み補正部31は、マスタ時刻の進みΔMnとスレーブ時刻の進みΔJnとを算出する。マスタ時刻の進みΔMnには、前回の定周期信号の受信時のマスタ時刻から今回の定周期信号の受信時のマスタ時刻までのマスタ時刻の経過時間(Mn−M(n−1))を用いてもよいし、送信周期情報が示す送信周期Pを用いてもよい。スレーブ時刻の進みΔJnには、前回の定周期信号の受信時の補正後のスレーブ時刻から今回の定周期信号の受信時の補正前のスレーブ時刻までのマスタ時刻の経過時間(Jn−M(n−1))を用いる。
図15に戻り、時刻進み補正部31は、スレーブ計時部21に対し、スレーブ時刻の進みをマスタ時刻の進みと一致させる補正を行う(ステップS68)。スレーブ装置2の電源がOFFになっていなければ(ステップS69;NO)、処理はステップS63に戻り、ステップS63〜ステップS69を繰り返す。これにより、スレーブ装置2が定周期信号を受信するごとに、スレーブ時刻が現在のマスタ時刻に補正され、スレーブ時刻の進みがマスタ時刻の進みに合わせて補正される。スレーブ装置2の電源がOFFになると(ステップS69;YES)、処理は終了する。
以上説明したとおり、実施の形態4に係る、スレーブ装置2の時刻をマスタ装置1の時刻に合わせる時刻同期を行う時刻同期システム100では、マスタ装置1からスレーブ装置2に、専用の信号線3を介して定周期信号を送信し、定周期信号の受信回数と送信周期と送信開始時刻とに基づいて、スレーブ装置2の時刻をマスタ装置1の時刻に補正する。これにより、定周期信号を送信する度にデータバス4を介して送出時点の時刻情報を送信する必要がないので、データバス4の伝搬遅延時間及びジッタに関係なく定周期信号を送信する周期を短くすることができ、より高精度の時刻同期を実現することが可能になる。また、スレーブ時刻の進みをマスタ時刻の進みに一致させる補正を行うので、スレーブ時刻とマスタ時刻との差が小さくなる。
上述した実施の形態では、実施の形態3および4のスレーブ装置2を実施の形態2のマスタ装置1と組みあわせたが、これに限らない。実施の形態3および4のスレーブ装置2を実施の形態1のマスタ装置1と組みあわせてもよい。
上述した実施の形態では、実施の形態3および4を別々に記載したが、実施の形態3および4を組みあわせてもよい。この場合、スレーブ装置2は、機能構成として、スレーブ計時部21、定周期信号受信部22、カウント部23、開始時刻受信部24、開始時刻記憶部25、送信周期受信部26、送信周期記憶部27、時刻算出部28、時刻補正部29、補正なし計時部30および時刻進み補正部31を備える。時刻進み補正部31は、送信周期の間の時刻補正タイミングが到来するたびに、スレーブ計時部21に対し、スレーブ時刻の進みをマスタ時刻の進みと一致させる補正を行う。
上述した実施の形態では、スレーブ装置2の時刻算出部28は、カウント部23から定周期信号の受信回数を通知されるたびに、カウント部23に通知された定周期信号の受信回数と、開始時刻記憶部25が記憶する開始時刻情報と、送信周期記憶部27が記憶する送信周期情報とに基づいて、マスタ装置1における定周期信号の送信時刻を現在のマスタ時刻として算出するが、時刻算出部28がマスタ装置1における定周期信号の送信時刻を現在のマスタ時刻として算出するタイミングは、これに限らない。時刻算出部28は、カウント部23から定周期信号の受信回数を複数回(例えば2回)通知されるごとに、マスタ装置1における定周期信号の送信時刻を現在のマスタ時刻として算出してもよい。つまり、単位時間あたりの定周期信号の受信回数は、時刻同期の回数より多くてもよい。
続いて、実施の形態1〜4に係るマスタ装置1およびスレーブ装置2のハードウェア構成について説明する。図16に示すように、マスタ装置1およびスレーブ装置2はそれぞれ、一時記憶部101、記憶部102、計算部103、タイマ104、操作部105、入出力部106および表示部107を備える。一時記憶部101、記憶部102、タイマ104、操作部105、入出力部106および表示部107はいずれもBUSを介して計算部103に接続されている。
計算部103は、例えばCPU(Central Processing Unit)である。計算部103は、記憶部102に記憶されている制御プログラムに従って、マスタ装置1の定周期信号送信部12および開始時刻送信部13と、スレーブ装置2のカウント部23、時刻算出部28、時刻補正部29および時刻進み補正部31との各処理を実行する。
一時記憶部101は、例えばRAM(Random-Access Memory)である。一時記憶部101は、記憶部102に記憶されている制御プログラムをロードし、計算部103の作業領域として用いられる。
記憶部102は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc - Random Access Memory)、DVD−RW(Digital Versatile Disc - ReWritable)などの不揮発性メモリである。記憶部102は、マスタ装置1およびスレーブ装置2の処理を計算部103に行わせるためのプログラムを予め記憶し、また、計算部103の指示に従って、このプログラムが記憶するデータを計算部103に供給し、計算部103から供給されたデータを記憶する。マスタ装置1の送信周期記憶部14および開始時刻記憶部16と、スレーブ装置2の開始時刻記憶部25および送信周期記憶部27とは、記憶部102に構成される。
タイマ104は、水晶振動子、発振回路、時計用IC(Integrated Circuit)などである。タイマ104は、マスタ装置1のマスタ計時部11およびスレーブ装置2のスレーブ計時部21として機能する。
操作部105は、キーボード、ポインティングデバイスなどの入力装置と、キーボード、ポインティングデバイスなどの入力装置をBUSに接続するインターフェース装置である。例えば、マスタ装置1およびスレーブ装置2に直接情報を入力する構成の場合、操作部105を介して、入力された情報が計算部103に供給される。
入出力部106は、ネットワークに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインターフェースまたはLAN(Local Area Network)インターフェースである。入出力部106は、マスタ装置1の定周期信号送信部12、開始時刻送信部13および送信周期送信部15と、スレーブ装置2の定周期信号受信部22、開始時刻受信部24および送信周期受信部26として機能する。
表示部107は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などの表示装置である。例えば、マスタ装置1およびスレーブ装置2に直接情報を入力する構成の場合、表示部107は、操作画面を表示する。
図2に示すマスタ装置1のマスタ計時部11、定周期信号送信部12、開始時刻送信部13、送信周期記憶部14、送信周期送信部15および開始時刻記憶部16と、図3に示すスレーブ装置2のスレーブ計時部21、定周期信号受信部22、カウント部23、開始時刻受信部24、開始時刻記憶部25、送信周期受信部26、送信周期記憶部27、時刻算出部28、時刻補正部29および時刻進み補正部31との処理は、制御プログラムが、一時記憶部101、計算部103、記憶部102、タイマ104、操作部105、入出力部106および表示部107などを資源として用いて処理することによって実行する。
その他、上述のハードウェア構成およびフローチャートは一例であり、任意に変更および修正が可能である。
一時記憶部101、記憶部102、計算部103、タイマ104、操作部105、入出力部106、表示部107などのマスタ装置1およびスレーブ装置2の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのコンピュータプログラムを、フレキシブルディスク、CD−ROM(Compact Disc - Read Only Memory)、DVD−ROM(Digital Versatile Disc - Read Only Memory)などのコンピュータが読み取り可能な記録媒体に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上述の処理を実行するマスタ装置1およびスレーブ装置2を構成してもよい。また、インターネットなどの通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロードなどすることでマスタ装置1およびスレーブ装置2を構成してもよい。
また、マスタ装置1およびスレーブ装置2の機能を、OS(Operating System)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体、記憶装置などに格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に上述のコンピュータプログラムを掲示し、通信ネットワークを介して上述のコンピュータプログラムを提供してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できる構成としてもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態および変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
1 マスタ装置、2,2A,2B,2C スレーブ装置、3 信号線、4 データバス、11 マスタ計時部、12 定周期信号送信部、13 開始時刻送信部、14 送信周期記憶部、15 送信周期送信部、16 開始時刻記憶部、21 スレーブ計時部、22 定周期信号受信部、23 カウント部、24 開始時刻受信部、25 開始時刻記憶部、26 送信周期受信部、27 送信周期記憶部、28 時刻算出部、29 時刻補正部、30 補正なし計時部、31 時刻進み補正部、100 時刻同期システム、101 一時記憶部、102 記憶部、103 計算部、104 タイマ、105 操作部、106 入出力部、107 表示部。

Claims (12)

  1. データ用通信線、および、定周期信号を送信する専用の信号線で接続されたマスタ装置とスレーブ装置とを備える時刻同期システムであって、
    前記マスタ装置は、
    時刻を計時するマスタ計時部と、
    一定の送信周期で前記定周期信号を生成し、前記スレーブ装置に前記信号線を介して前記定周期信号を送信する定周期信号送信部と、
    前記定周期信号の送信開始時刻を示す開始時刻情報を前記スレーブ装置に前記データ用通信線を介して送信する開始時刻送信部と、
    前記定周期信号の送信周期を示す送信周期情報を前記スレーブ装置に前記データ用通信線を介して送信する送信周期送信部と、を備え、
    前記スレーブ装置は、
    時刻を計時するスレーブ計時部と、
    前記マスタ装置から前記定周期信号を前記信号線を介して受信する定周期信号受信部と、
    前記マスタ装置から前記開始時刻情報を前記データ用通信線を介して受信する開始時刻受信部と、
    前記マスタ装置から前記送信周期情報を前記データ用通信線を介して受信する送信周期受信部と、
    前記定周期信号受信部が前記定周期信号を受信した回数をカウントするカウント部と、
    前記開始時刻情報が示す送信開始時刻と、前記送信周期情報が示す送信周期と、前記定周期信号の受信回数とに基づいて、前記マスタ装置における前記定周期信号の送信時刻を前記マスタ装置の現在時刻として算出する時刻算出部と、
    前記スレーブ計時部の時刻を前記時刻算出部が算出した前記マスタ装置の現在時刻に補正する時刻補正部と、
    を備える時刻同期システム。
  2. 前記時刻算出部は、前記カウント部が前記定周期信号の受信回数をカウントするたびに、前記開始時刻情報が示す送信開始時刻と、前記送信周期情報が示す送信周期と、前記定周期信号の受信回数とに基づいて、前記マスタ装置における前記定周期信号の送信時刻を前記マスタ装置の現在時刻として算出する、
    請求項1に記載の時刻同期システム。
  3. 前記マスタ装置は、
    あらかじめ決められた前記定周期信号の送信開始時刻を示す前記開始時刻情報を記憶する時刻記憶部をさらに備え、
    前記開始時刻送信部は、前記時刻記憶部が記憶する前記開始時刻情報を前記データ用通信線を介して前記スレーブ装置に送信し、
    前記定周期信号送信部は、前記マスタ計時部の時刻が前記開始時刻情報が示す送信開始時刻になったら前記定周期信号の送信を開始する、
    請求項1または2に記載の時刻同期システム。
  4. 前記スレーブ装置は、
    前記時刻補正部が補正しなかった場合の前記スレーブ計時部の時刻と同じ時刻を計時する補正なし計時部を更に備え、
    前記時刻算出部は、前記開始時刻情報が示す送信開始時刻と、前記送信周期情報が示す送信周期と、前記定周期信号の受信回数とに基づいて、前記マスタ装置における前記定周期信号の送信時刻を算出し、前記送信周期の間の時刻補正タイミングで、前記マスタ装置における前記定周期信号の送信時刻と、前記定周期信号受信部が前記定周期信号を受信した時の前記補正なし計時部の時刻と、前記補正なし計時部の現在時刻とに基づいて、前記マスタ装置の現在時刻を算出する、
    請求項1から3のいずれか1項に記載の時刻同期システム。
  5. 前記マスタ装置における前記定周期信号の送信時刻と、前記定周期信号受信部が前記定周期信号を受信した時の前記スレーブ計時部の時刻とに基づいて、前記スレーブ計時部の時刻の進みおよび前記マスタ計時部の時刻の進みを算出し、前記スレーブ計時部の時刻の進みを前記マスタ計時部の時刻の進みと一致させる補正を行う時刻進み補正部をさらに備える、
    請求項1から4のいずれか1項に記載の時刻同期システム。
  6. 前記時刻算出部は、前記開始時刻情報が示す送信開始時刻に、前記送信周期情報が示す送信周期に前記定周期信号の受信回数から1を減算した値を乗算した時間を加えて、前記マスタ装置における前記定周期信号の送信時刻を算出する、
    請求項1から5のいずれか1項に記載の時刻同期システム。
  7. データ用通信線、および、定周期信号を送信する専用の信号線でスレーブ装置と接続されるマスタ装置であって、
    時刻を計時するマスタ計時部と、
    一定の送信周期で前記定周期信号を生成し、前記スレーブ装置に前記信号線を介して前記定周期信号を送信する定周期信号送信部と、
    前記定周期信号の送信開始時刻を示す開始時刻情報を前記スレーブ装置に前記データ用通信線を介して送信する開始時刻送信部と、
    前記定周期信号の送信周期を示す送信周期情報を前記スレーブ装置に前記データ用通信線を介して送信する送信周期送信部と、
    を備えるマスタ装置。
  8. データ用通信線、および、定周期信号を送信する専用の信号線でマスタ装置と接続されるスレーブ装置であって、
    時刻を計時するスレーブ計時部と、
    前記マスタ装置から一定の送信周期で送信される前記定周期信号を前記信号線を介して受信する定周期信号受信部と、
    前記マスタ装置から前記定周期信号の送信開始時刻を示す開始時刻情報を前記データ用通信線を介して受信する開始時刻受信部と、
    前記マスタ装置から前記定周期信号の送信周期を示す送信周期情報を前記データ用通信線を介して受信する送信周期受信部と、
    前記定周期信号受信部が前記定周期信号を受信した回数をカウントするカウント部と、
    前記開始時刻情報が示す送信開始時刻と、前記送信周期情報が示す送信周期と、前記定周期信号の受信回数とに基づいて、前記マスタ装置における前記定周期信号の送信時刻を前記マスタ装置の現在時刻として算出する時刻算出部と、
    前記スレーブ計時部の時刻を前記時刻算出部が算出した前記マスタ装置の現在時刻に補正する時刻補正部と、
    を備えるスレーブ装置。
  9. 前記時刻算出部は、前記開始時刻情報が示す送信開始時刻に、前記送信周期情報が示す送信周期に前記定周期信号の受信回数から1を減算した値を乗算した時間を加えた前記マスタ装置における前記定周期信号の送信時刻を、前記マスタ装置の現在時刻として算出する、
    請求項8に記載のスレーブ装置。
  10. データ用通信線、および、定周期信号を送信する専用の信号線でスレーブ装置と接続されるコンピュータを、
    時刻を計時するマスタ計時部、
    一定の送信周期で前記定周期信号を生成し、前記スレーブ装置に前記信号線を介して前記定周期信号を送信する定周期信号送信部、
    前記定周期信号の送信開始時刻を示す開始時刻情報を前記スレーブ装置に前記データ用通信線を介して送信する開始時刻送信部、および、
    前記定周期信号の送信周期を示す送信周期情報を前記スレーブ装置に前記データ用通信線を介して送信する送信周期送信部、
    として機能させるプログラム。
  11. データ用通信線、および、定周期信号を送信する専用の信号線でマスタ装置と接続されるコンピュータを、
    時刻を計時するスレーブ計時部、
    前記マスタ装置から一定の送信周期で送信される前記定周期信号を前記信号線を介して受信する定周期信号受信部、
    前記マスタ装置から前記定周期信号の送信開始時刻を示す開始時刻情報を前記データ用通信線を介して受信する開始時刻受信部、
    前記マスタ装置から前記定周期信号の送信周期を示す送信周期情報を前記データ用通信線を介して受信する送信周期受信部、
    前記定周期信号受信部が前記定周期信号を受信した回数をカウントするカウント部、
    前記開始時刻情報が示す送信開始時刻と、前記送信周期情報が示す送信周期と、前記定周期信号の受信回数とに基づいて、前記マスタ装置における前記定周期信号の送信時刻を前記マスタ装置の現在時刻として算出する時刻算出部、および、
    前記スレーブ計時部の時刻を前記時刻算出部が算出した前記マスタ装置の現在時刻に補正する時刻補正部、
    として機能させるプログラム。
  12. 前記時刻算出部は、前記開始時刻情報が示す送信開始時刻に、前記送信周期情報が示す送信周期に前記定周期信号の受信回数から1を減算した値を乗算した時間を加えた前記マスタ装置における前記定周期信号の送信時刻を、前記マスタ装置の現在時刻として算出する、
    請求項11に記載のプログラム。
JP2019552645A 2019-04-22 2019-04-22 時刻同期システム、マスタ装置、スレーブ装置およびプログラム Active JP6707209B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/017084 WO2020217286A1 (ja) 2019-04-22 2019-04-22 時刻同期システム、マスタ装置、スレーブ装置およびプログラム

Publications (2)

Publication Number Publication Date
JP6707209B1 true JP6707209B1 (ja) 2020-06-10
JPWO2020217286A1 JPWO2020217286A1 (ja) 2021-05-06

Family

ID=70976329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552645A Active JP6707209B1 (ja) 2019-04-22 2019-04-22 時刻同期システム、マスタ装置、スレーブ装置およびプログラム

Country Status (5)

Country Link
US (1) US11277253B2 (ja)
JP (1) JP6707209B1 (ja)
CN (1) CN113711158A (ja)
DE (1) DE112019007074T5 (ja)
WO (1) WO2020217286A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114791896A (zh) 2021-01-26 2022-07-26 意法半导体(格勒诺布尔2)公司 片上系统中的时域同步
FR3119287B1 (fr) * 2021-01-26 2023-12-22 St Microelectronics Grenoble 2 Procédé de synchronisation de domaines temporels d’un système sur puce.
JPWO2022215359A1 (ja) * 2021-04-09 2022-10-13

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294413A (ja) * 1991-03-25 1992-10-19 Fuji Facom Corp ネットワークシステムの時刻合わせ装置
JPH05134062A (ja) * 1991-11-11 1993-05-28 Toshiba Corp プロセス監視装置の時刻同期方式
JPH11203250A (ja) * 1998-01-12 1999-07-30 Nec Eng Ltd 時計情報補正システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717704A (en) * 1996-04-16 1998-02-10 Ltx Corporation Test system including a local trigger signal generator for each of a plurality of test instruments
US8391270B2 (en) * 2007-06-14 2013-03-05 Koninklijke Philips Electronics N.V. Network synchronization with reduced energy consumption
JP5141972B2 (ja) 2007-12-07 2013-02-13 オムロン株式会社 産業用コントローラ
JP5206184B2 (ja) * 2008-07-11 2013-06-12 株式会社デンソー 無線通信システム及び通信装置
US20170041688A1 (en) * 2013-11-12 2017-02-09 Qualcomm Incorporated Apparatus and methods for timestamping in a system synchronizing controller and sensors
US9553713B2 (en) * 2014-04-30 2017-01-24 Harman International Industries, Inc. Method and system for transmitting clock reference streams with timestamps directly to audio/video end nodes in an audio/video bridging network
US9854548B2 (en) * 2014-10-17 2017-12-26 Qulsar, Inc. Method for constructing a distributed boundary clock over a dedicated communication channel
CN107111280B (zh) * 2015-06-24 2019-05-07 三菱电机株式会社 通信装置、时刻校正方法以及网络系统
CN107851081B (zh) * 2015-07-20 2021-01-15 美国莱迪思半导体公司 低速总线时间戳记方法和电路
US10353424B2 (en) * 2016-07-01 2019-07-16 Imagination Technologies Limited Clock synchronisation
JP6683137B2 (ja) 2017-01-11 2020-04-15 三菱電機株式会社 産業用コントローラシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294413A (ja) * 1991-03-25 1992-10-19 Fuji Facom Corp ネットワークシステムの時刻合わせ装置
JPH05134062A (ja) * 1991-11-11 1993-05-28 Toshiba Corp プロセス監視装置の時刻同期方式
JPH11203250A (ja) * 1998-01-12 1999-07-30 Nec Eng Ltd 時計情報補正システム

Also Published As

Publication number Publication date
US20220045836A1 (en) 2022-02-10
WO2020217286A1 (ja) 2020-10-29
US11277253B2 (en) 2022-03-15
DE112019007074T5 (de) 2022-01-27
CN113711158A (zh) 2021-11-26
JPWO2020217286A1 (ja) 2021-05-06

Similar Documents

Publication Publication Date Title
JP6707209B1 (ja) 時刻同期システム、マスタ装置、スレーブ装置およびプログラム
US11177896B2 (en) Time synchronization device and time synchronization method
TWI415497B (zh) 時間同步裝置、系統及其方法
US20210344435A1 (en) Method for exchanging time synchronization packet and network apparatus
US7596153B2 (en) Clock-state correction and/or clock-rate correction using relative drift-rate measurements
US11050548B2 (en) Image transmission system, imaging terminal, display terminal, adjustment method, adjustment assistance method, and non-transitory computer-readable recording medium storing program
TW200821588A (en) Efficient clock calibration in electronic equipment
JP2017069669A (ja) 時刻同期装置、基地局装置、及び、時刻同期方法
US10271294B2 (en) Wireless communication device, wireless communication method, and storage medium
JP2013029319A (ja) スレーブ装置、電子機器システム、マスタ装置、時刻同期方法およびプログラム
JP2012195840A (ja) 通信装置、通信制御方法
US20200382233A1 (en) Information processing apparatus and time synchronization method
US20170117980A1 (en) Time synchronization for network device
US9442511B2 (en) Method and a device for maintaining a synchronized local timer using a periodic signal
US11089169B2 (en) Image transfer system, imaging terminal, display terminal, and adjustment method
US20210397211A1 (en) Delay time detection circuit, stamping information generation device, and delay time detection method
US10554319B2 (en) Wireless communications with time synchronization processing
US20090243731A1 (en) Apparatus With Clock Generation Function, Method For Setting Reference Frequency, And Method For Adjusting Reference Frequency
CN113204516A (zh) 处理器时间同步的方法和装置
JP2013074338A (ja) タイムサーバ、端末、時刻同期システム、時刻同期方法、及びプログラム
JP2013168884A (ja) 時刻同期システム、時刻送信装置、時刻受信装置、時刻同期方法およびプログラム
JP4230808B2 (ja) 時刻同期方法および通信システム
CN112602031B (zh) 系统间的精确定时
JP2023110410A (ja) 通信システム、通信方法及びプログラム
JP7439474B2 (ja) プログラマブルコントローラシステムおよびモジュール

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190924

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190924

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190924

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200519

R150 Certificate of patent or registration of utility model

Ref document number: 6707209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250