JP4766128B2 - スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム - Google Patents

スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム Download PDF

Info

Publication number
JP4766128B2
JP4766128B2 JP2009045102A JP2009045102A JP4766128B2 JP 4766128 B2 JP4766128 B2 JP 4766128B2 JP 2009045102 A JP2009045102 A JP 2009045102A JP 2009045102 A JP2009045102 A JP 2009045102A JP 4766128 B2 JP4766128 B2 JP 4766128B2
Authority
JP
Japan
Prior art keywords
message
time
unit
clock
value
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.)
Expired - Fee Related
Application number
JP2009045102A
Other languages
English (en)
Other versions
JP2010197320A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2009045102A priority Critical patent/JP4766128B2/ja
Priority to US12/692,062 priority patent/US8249115B2/en
Priority to CN2010101147749A priority patent/CN101820500B/zh
Publication of JP2010197320A publication Critical patent/JP2010197320A/ja
Application granted granted Critical
Publication of JP4766128B2 publication Critical patent/JP4766128B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation

Description

この発明は、スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システムに関し、特に、マスタ装置との完全な時刻同期化を可能とするスレーブ装置等に関する。
近年、メディアのデジタル化が進み、ビデオカメラに代表されるように、映像ストリームをデジタルで記録する装置が多く商品化されている。また、映像ストリームのデジタル化に伴って、編集を容易に行う環境が広まってきている。
複数のビデオカメラで撮影された映像ストリームを組み合わせて一つの映像ストリームを構成するような編集を行う場合、映像ストリームのタイムスタンプを参照し、複数のストリームの撮影時刻の対応付けを行い、同一時刻の映像を切り替えることで撮影時刻が前後することのない映像ストリームを構築するという手法がとられる。
そのためには、使用するすべてのビデオカメラの内蔵時計を常に合わせておく必要がある。従来、例えば、イーサネット(登録商標)で接続された複数のビデオカメラ等の電子機器システムにおいて、各電子機器の内蔵時計の時刻同期化のために、IEEE1588プロトコルを利用することが知られている。
このIEEE1588プロトコル(非特許文献1参照)では、既知の通り、スレーブ装置が、マスタ装置とスレーブ装置の時刻差(Offset)とネットワークや装置間のレイテンシを含めた経路による遅延(Delay)を演算、補正することにより、スレーブ装置の時刻をマスタ装置の時刻に同期させる。
図8は、IEEE1588プロトコルによる時刻同期化が行われる電子機器システム200の構成例を示している。この電子機器システム200は、マスタ装置210とスレーブ装置220により構成されている。例えば、電子機器システム200が複数のビデオカメラからなるカメラシステムである場合には、マスタ装置210は親機としてのビデオカメラであり、スレーブ装置220は子機としてのビデオカメラである。また、例えば、電子機器システム200が制御機器(コンピュータ)および複数の被制御機器からなる制御システムである場合、マスタ装置210は制御機器であり、スレーブ装置220は被制御機器である。
なお、図8には、説明を簡単にするため、スレーブ装置220が1台の場合を示している。また、図8には、マスタ装置210およびスレーブ装置220の構成として、時刻同期化に関係する部分のみを示しており、その他の部分は省略している。
マスタ装置210は、時計部211と、マスタクロック発生部212と、メッセージ送信部213と、メッセージ受信部214を有している。
時計部211は、マスタクロック発生部212で発生されるマスタクロックCLKmでカウントアップされるカウンタにより構成されている。カメラシステム等の映像システムの場合、マスタクロックCLKmの周波数は、例えば、ビデオ伝送の基準として採用されている27MHzとされる。この時計部211より出力される時刻情報(カウンタ値)は、メッセージ送信部213およびメッセージ受信部214に供給されている。
メッセージ送信部213は、スレーブ装置220に、イーサネット(登録商標)等の伝送路230を介して、PTP(Precision Time Protocol)メッセージを送信する。ここで、PTPメッセージに時刻情報を含める際には、時刻情報としてのカウンタ値をナノセコンド(ns:nano second)単位の値に変換することが必要となる。そのため、メッセージ送信部213は、カウンタ値からナノセコンド(ns)単位の値への変換を行うカウンタ値/ns変換部213aを備えている。メッセージ受信部214は、スレーブ装置220から伝送路230を介して送られてくるPTPメッセージを受信する。
メッセージ送信部213がスレーブ装置220に送信するPTPメッセージとしては、同期化(Sync)メッセージと、フォローアップ(FollowUp)メッセージと、遅延応答(DelayResponse)メッセージがある。同期化メッセージは、時刻同期化の動作を開始するために送信される。フォローアップメッセージは、同期化メッセージが送信された後に、マスタ装置210の時刻情報を送るために送信される。遅延応答メッセージは、メッセージ受信部214でスレーブ装置220からの後述する遅延要求(DelayRequest)メッセージを受信した後に、その応答として送信される。
スレーブ装置220は、時計部221と、スレーブクロック発生部222と、メッセージ受信部223と、メッセージ送信部224と、演算部225と、補正部226を有している。
時計部221は、スレーブクロック発生部222で発生されるスレーブクロックCLKsでカウントアップされるカウンタにより構成されている。カメラシステム等の映像システムの場合、スレーブクロックCLKsの周波数は、上述のマスタクロックCLKmの周波数と同様に、例えば、ビデオ伝送の基準として採用されている27MHzとされる。この時計部221より出力される時刻情報(カウンタ値)は、メッセージ受信部223およびメッセージ送信部224に供給されている。
メッセージ受信部223は、マスタ装置210から伝送路230を介して送られてくるPTPメッセージを受信する。上述したように、マスタ装置210から送られてくるPTPメッセージに含まれる時刻情報は、ナノセコンド(ns)単位の値の情報である。そのため、メッセージ受信部223は、ナノセコンド(ns)単位の値からカウンタ値への変換を行うns/カウンタ値変換部223aを備えている。メッセージ送信部224は、マスタ装置210に、伝送路230を介して、PTPメッセージを送信する。
メッセージ送信部224がマスタ装置210に送信するPTPメッセージとしては、遅延要求(DelayRequest)メッセージがある。この遅延要求メッセージは、メッセージ受信部223でマスタ装置210からのフォローアップメッセージが受信された後に、マスタ装置210に遅延応答メッセージを要求するために送信される。
演算部225は、時計部221の時刻の補正に必要な補正値を求める。この演算部225は、以下の(1)式により、補正値として、マスタ装置210の時計部211の時刻Mt(x)に対する、スレーブ装置220の時計部221の時刻St(x)のオフセット(Offset)を求める。
Offset={(t2−t1)−(t4−t3)}/2 ・・・(1)
ここで、時刻t2は、メッセージ受信部223で同期化メッセージが受信された時刻である。時刻t1は、メッセージ受信部223で受信されたフォローアップメッセージの時刻情報が示す時刻である。時刻t4は、メッセージ受信部223で受信された遅延応答メッセージの時刻情報が示す時刻である。さらに、時刻t3は、メッセージ送信部224がマスタ装置210に遅延要求メッセージを送信(発行)した時刻である。
補正部226は、演算部225で求められた補正値であるオフセット(Offset)に基づいて、時計部221の時刻を補正する。補正前の時計部221の時刻St(x)は、マスタ装置210の時計部211の時刻Mt(x)にオフセット(Offset)が加わった状態となっている。そこで、補正部226は、時計部221の時刻St(x)を、オフセット(Offset)だけ減算した値となるように、スレーブクロック発生部222から発生されるスレーブクロックCLKsに同期したタイミングで補正する。
図9は、図8に示す電子機器システム200における時刻同期化の動作を示すシーケンス図を示している。
(a)マスタ装置210のメッセージ送信部213からスレーブ装置220に、同期化(Sync)メッセージが送信されて、時刻同期化の動作が開始される。この場合、メッセージ送信部213では、当該同期化メッセージの発行(送信)時刻t1が時計部211の出力であるカウンタ値で記憶される。
(b)スレーブ装置220のメッセージ受信部223では、マスタ装置210から送られた同期化メッセージが受信され、当該同期化メッセージの受信時刻t2が時計部221の出力であるカウンタ値で記憶される。
(c)次に、マスタ装置210のメッセージ送信部213からスレーブ装置220に、フォローアップ(FollowUp)メッセージが送信される。このフォローアップメッセージには、同期化メッセージを発行した時刻t1を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部213のカウンタ値/ns変換部213aで、時刻t1を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(d)スレーブ装置220のメッセージ受信部223では、マスタ装置210から送られたフォローアップメッセージが受信され、時刻t1を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部223aで、時刻t1を示す時計部221の出力であるカウンタ値に変換されて記憶される。
(e)次に、スレーブ装置220のメッセージ送信部224からマスタ装置210に、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部224では、当該遅延要求メッセージの発行(送信)時刻t3が時計部221の出力であるカウンタ値で記憶される。
(f)マスタ装置210のメッセージ受信部214では、スレーブ装置220から送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t4が時計部211の出力であるカウンタ値で記憶される。
(g)次に、マスタ装置210のメッセージ送信部213からスレーブ装置220に、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部214が遅延要求メッセージを受信した時刻t4を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部213のカウンタ値/ns変換部213aで、時刻t4を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(h)スレーブ装置220のメッセージ受信部223では、マスタ装置210から送られた遅延応答メッセージが受信され、時刻t4を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部223aで、時刻t4を示す時計部221の出力であるカウンタ値に変換されて記憶される。
(i)次に、スレーブ装置220の演算部225では、メッセージ受信部223に記憶されている時刻t1,t2,t4を示すカウンタ値と、メッセージ送信部224に記憶されている時刻t3を示すカウンタ値が用いられて、上述の(1)式により、補正値としてのオフセット(Offset)が求められる。そして、補正部226により、時計部221の時刻St(x)が、オフセット(Offset)だけ減算した値となるように補正される。補正後の時計部221の時刻St(x)′は、マスタ装置210の時計部211の時刻Mt(x)と一致し、同期したものとなる。
上述した図9に示す時刻同期化の動作が定期的に繰り返されることで、マスタ装置210とスレーブ装置220の時刻差(Offset)が補正され、マスタスレーブ間の時刻同期が保持される。
上述した時刻同期化の動作においては、スレーブ装置220の時刻が補正された時点ではマスタ装置210の時刻とスレーブ装置220の時刻は一致する。しかし、マスタ装置210の時刻とスレーブ装置220の時刻との間に時刻差(Offset)が発生する要因であるクロックの周波数補正を行っていない。そのため、スレーブ装置220の時刻補正後に、時間経過と共に、マスタ装置210とスレーブ装置220の時刻差(Offset)が再び大きくなっていく。したがって、スレーブ装置の時刻は、瞬間を見ると、マスタ装置の時刻と完全に同期しているとは言えない。
図10は、上述した時刻同期化の動作における、マスタ装置210の時計部211のカウンタ値変化と、スレーブ装置220の時計部221のカウンタ値変化を対応させて示している。図10(a)の実線Smは、マスタ装置210の時計部211のカウンタ値変化を示している。また、図10(b)の実線Ssは、スレーブ装置220の時計部221のカウンタ値変化を示している。なお、図10(b)の破線Ss′は、マスタ装置210の時計部211のカウンタ値変化に対応した、スレーブ装置220の時計部221の理想的なカウンタ値変化を示している。
図10(b)に示すように、スレーブ装置220の時計部221のカウンタ値は、オフセット(Offset)の補正時点T1、T2、・・・では正しいカウンタ値となる。しかし、その後に、時間経過と共に理想的なカウンタ値からどんどん離れていく。
この発明の目的は、スレーブ装置においてマスタ装置との完全な時刻同期化を実現することにある。
この発明の概念は、
カウンタにより構成され、時刻情報を出力する時計部と、
上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
上記マスタ装置にメッセージを送信するメッセージ送信部と、
上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
上記第1の演算部で求められた上記第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、 上記メッセージ受信部は、上記マスタ装置において第1の時刻に発行された第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信し、
上記メッセージ送信部は、第3の時刻に上記マスタ装置に第3のメッセージを発行し、 上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信し、
上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記第1の減算結果から上記第2の減算結果を減算した後に1/2にして上記第1の値を求め、
上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の値だけ減算した値となるように補正し、
上記メッセージ送信部は、上記第1の補正部で上記時計部の時刻の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行し、
上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信し、
上記第2の演算部は、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の演算部で求められた上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
スレーブ装置にある。
この発明において、第1の演算部により第1の値(Offset)が求められる。そして、第1の補正部により、時計部の時刻が第1の値だけ減算した値となるように補正される。これにより、スレーブ装置の時計部は、マスタ装置の時計部の時刻と一致するようにされる。
この発明においては、さらに、第2の演算部により、第2の値が求められる。この第2の値は、第5の時刻にマスタ装置とスレーブ装置との間の伝送遅延成分(Delay)を加算した加算結果であり、第5の時刻に発行された第5のメッセージがマスタ装置で受信される時刻の予想値である。第2の補正部により、予想値が実際の到着時刻(第6の時刻)より小さいとき、時計部のカウンタをカウントアップするクロックの周波数が上げられ、逆に、予想値が実際の到着時刻(第6の時刻)より大きいとき、当該クロックの周波数が下げられる。
これにより、スレーブ装置の時計部のカウンタのカウンタ値の変化は、マスタ装置の時計部のカウンタのカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。したがって、上述の第1の値による時計部の時刻補正と、上述の第2の値によるクロック周波数補正とが繰り返されることで、スレーブ装置の時刻は、オフセット補正時点だけでなく、常に、マスタ装置の時刻と一致するようになり、スレーブ装置においてマスタ装置との完全な時刻同期化が可能となる。
この発明において、例えば、メッセージ受信部で受信される第2のメッセージ、第4のメッセージおよび第6のメッセージに含まれる時刻情報はカウンタ値であってもよい。
このようにマスタ装置からスレーブ装置に時刻情報がカウンタ値で送られることで、マスタ装置でカウンタ値を例えばナノセコンド(ns)単位の値に変換する処理、およびスレーブ装置でナノセコンド(ns)単位の値をカウンタ値に変換する処理は行われない。そのため、マスタ装置からスレーブ装置に供給される時刻情報は、変換時の演算誤差を含まない正確な時刻情報となる。これにより、スレーブ装置ではマスタ装置との時刻同期化をより高精度に実現できる。
また、この発明の概念は、
カウンタにより構成され、時刻情報を出力する時計部と、
上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
上記マスタ装置にメッセージを送信するメッセージ送信部と、
上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
上記第1の演算部で求められた第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、
上記メッセージ受信部は、上記マスタ装置において第1の時刻に発行された第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信し、
上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して上記第1の値として第1の補正値を求め、
上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の補正値だけ減算した値となるように第1段階の補正を行い、
上記メッセージ送信部は、上記第1の補正部で上記第1段階の補正が行われた後、第3の時刻に上記マスタ装置に第3のメッセージを発行し、
上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信し、
上記第1の演算部は、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算し、該減算結果を1/2にして上記第1の値として第2の補正値を求め、
上記第1の補正部は、上記第1段階の補正を行った後、上記時計部の時刻を、上記第1の演算部で求められた上記第2の補正値だけ加算した値となるように第2段階の補正を行い、
上記メッセージ送信部は、上記第1の補正部で上記第2段階の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行し、
上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信し、
上記第2の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された上記第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
スレーブ装置にある。
この発明において、第1の値として第1の補正値および第2の補正値が求められ、スレーブ装置の時計部の時刻の補正は2段階で行われる。第1段階の補正では、マスタ装置において第1の時刻に発行されたメッセージを受信した第2の時刻から当該第1の時刻を減算して求められた第1の補正値が使用され、スレーブ装置の時計部の時刻は、この第1の補正値だけ減算した値となるように補正される。これにより、スレーブ装置の時計部の補正後の時刻は、マスタ装置の時計部の時刻から、マスタ装置とスレーブ装置との間の伝送遅延成分(Delay)が差し引かれた値となり、オフセット成分が除かれた状態となる。
また、第2段階の補正では、第3の時刻に送信したメッセージがマスタ装置で受信された第4の時刻から当該第3の時刻を減算し、さらに1/2にして求められた第2の補正値(Delay)が使用され、スレーブ装置の時計部の時刻は、この第2の補正値だけ加算した値となるよう補正される。これにより、スレーブ装置の時計部の時刻は、マスタ装置の時刻と一致し、同期化が図られる。
このようにスレーブ装置の時計部の時刻の補正を2段階で行う場合にあっては、スレーブ装置の時計部の時刻補正を、誤差が含まれるオフセット(Offset)の演算結果を使用して行うものではなく、スレーブ装置ではマスタ装置との時刻同期化を高精度で実現できる。
また、この発明において、第2の値が求められる。この第2の値は、第5の時刻にマスタ装置とスレーブ装置との間の伝送遅延成分(Delay)を加算した加算結果であり、第5の時刻に発行された第5のメッセージがマスタ装置で受信される時刻の予想値である。予想値が実際の到着時刻(第6の時刻)より小さいとき、時計部のカウンタをカウントアップするクロックの周波数が上げられ、逆に、予想値が実際の到着時刻(第6の時刻)より大きいとき、当該クロックの周波数が下げられる。これにより、スレーブ装置の時計部のカウンタのカウンタ値の変化は、マスタ装置の時計部のカウンタのカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。
上述の第1の値による時計部の時刻補正と、上述の第2の値によるクロック発生部のクロック周波数補正が繰り返されることで、スレーブ装置の時刻は、オフセット補正時点だけでなく、常に、マスタ装置の時刻と一致するようになり、スレーブ装置においてマスタ装置との完全な時刻同期化が可能となる。
この発明によれば、スレーブ装置の時刻を、オフセット補正時点だけでなく、常に、マスタ装置の時刻と一致させることができ、スレーブ装置においてマスタ装置との完全な時刻同期化が可能となる。
この発明の第1の実施の形態としての電子機器システムの構成例を示す概略ブロック図である。 第1の実施の形態としての電子機器システムにおける時刻同期化動作を説明するためのシーケンス図である。 時刻同期化時におけるマスタ装置およびスレーブ装置のカウンタ値変化を示す図である。 この発明の第2の実施の形態としての電子機器システムの構成例を示す概略ブロック図である。 第2の実施の形態としての電子機器システムにおける時刻同期化動作を説明するためのシーケンス図である。 この発明の第3の実施の形態としての電子機器システムの構成例を示す概略ブロック図である。 第3の実施の形態としての電子機器システムにおける時刻同期化動作を説明するためのシーケンス図である。 IEEE1588プロトコルによる時刻同期化が行われる電子機器システムの構成例を示す概略ブロック図である。 電子機器システムにおけるIEEE1588プロトコルによる時刻同期化動作を説明するためのシーケンス図である。 時刻同期化時におけるマスタ装置およびスレーブ装置のカウンタ値変化を示す図である。
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.第3の実施の形態
4.変形例
<1.第1の実施の形態>
[電子機器システムの構成例]
図1は、第1の実施の形態としての電子機器システム100の構成例を示している。この電子機器システム100は、マスタ装置110とスレーブ装置120により構成されている。例えば、電子機器システム100が複数のビデオカメラからなるカメラシステムである場合には、マスタ装置110は親機としてのビデオカメラであり、スレーブ装置120は子機としてのビデオカメラである。また、例えば、電子機器システム100が制御機器(コンピュータ)および複数の被制御機器からなる制御システムである場合、マスタ装置110は制御機器であり、スレーブ装置120は被制御機器である。
なお、図1には、説明を簡単にするため、スレーブ装置120が1台の場合を示している。また、図1には、マスタ装置110およびスレーブ装置120の構成として、時刻同期化に関係する部分のみを示しており、その他の部分は省略している。
マスタ装置110は、時計部111と、マスタクロック発生部112と、メッセージ送信部113と、メッセージ受信部114を有している。
時計部111は、マスタクロック発生部112で発生されるマスタクロックCLKmでカウントアップされるカウンタにより構成されている。カメラシステム等の映像システムの場合、マスタクロックCLKmの周波数は、例えば、ビデオ伝送の基準として採用されている27MHzとされる。この時計部111より出力される時刻情報(カウンタ値)は、メッセージ送信部113およびメッセージ受信部114に供給されている。
メッセージ送信部113は、スレーブ装置120に、イーサネット(登録商標)等の伝送路130を介して、PTP(Precision Time Protocol)メッセージを送信する。ここで、PTPメッセージに時刻情報を含める際には、時刻情報としてのカウンタ値をナノセコンド(ns:nano second)単位の値に変換することが必要となる。そのため、メッセージ送信部113は、カウンタ値からナノセコンド(ns)単位の値への変換を行うカウンタ値/ns変換部113aを備えている。メッセージ受信部114は、スレーブ装置120から伝送路130を介して送られてくるPTPメッセージを受信する。
メッセージ送信部113がスレーブ装置120に送信するPTPメッセージとしては、同期化(Sync)メッセージと、フォローアップ(FollowUp)メッセージと、遅延応答(DelayResponse)メッセージがある。同期化メッセージは、時刻同期化の動作を開始するために送信される。フォローアップメッセージは、同期化メッセージが送信された後に、マスタ装置110の時刻情報を送るために送信される。遅延応答メッセージは、メッセージ受信部114でスレーブ装置120からの後述する遅延要求(DelayRequest)メッセージを受信した後に、その応答として送信される。
スレーブ装置120は、時計部121と、スレーブクロック発生部122と、メッセージ受信部123と、メッセージ送信部124と、演算部125と、補正部126を有している。また、スレーブ装置120は、予想値演算部127と、周波数補正部128と、D/Aコンバータ129を有している。
時計部121は、スレーブクロック発生部122で発生されるスレーブクロックCLKsでカウントアップされるカウンタにより構成されている。カメラシステム等の映像システムの場合、スレーブクロックCLKsの周波数は、上述のマスタクロックCLKmの周波数と同様に、例えば、ビデオ伝送の基準として採用されている27MHzとされる。この時計部121より出力される時刻情報(カウンタ値)は、メッセージ受信部123およびメッセージ送信部124に供給されている。
メッセージ受信部123は、マスタ装置110から伝送路130を介して送られてくるPTPメッセージを受信する。上述したように、マスタ装置110から送られてくるPTPメッセージに含まれる時刻情報は、ナノセコンド単位の値の情報である。そのため、メッセージ受信部123は、ナノセコンド(ns)単位の値からカウンタ値への変換を行うns/カウンタ値変換部123aを備えている。メッセージ送信部124は、マスタ装置110に、伝送路130を介して、PTPメッセージを送信する。
メッセージ送信部124がマスタ装置110に送信するPTPメッセージとしては、遅延要求(DelayRequest)メッセージがある。この遅延要求メッセージは、メッセージ受信部123でマスタ装置110からのフォローアップメッセージが受信された後に、マスタ装置110に遅延応答メッセージを要求するために送信される。また、この遅延要求メッセージは、後述するように、補正部126で、時計部121の時刻補正が行われた後に、マスタ装置110に遅延応答メッセージを要求するために送信される。
演算部125は、時計部121の時刻の補正に必要な第1の値を求める。この演算部125は、第1の演算部を構成する。この第1の値は、マスタ装置110の時計部111の時刻Mt(x)に対する、スレーブ装置120の時計部121の時刻St(x)のオフセット(Offset)である。演算部125は、以下の(2)式により、オフセット(Offset)を求める。また、演算部125は、マスタ装置110とスレーブ装置120との間の伝送遅延成分(Delay)を、以下の(3)式により、求める。
Offset={(t2−t1)−(t4−t3)}/2 ・・・(2)
Delay={(t2−t1)+(t4−t3)}/2 ・・・(3)
ここで、時刻t1は、メッセージ受信部123で受信されたフォローアップメッセージの時刻情報が示す時刻である。この時刻t1は、マスタ装置120のメッセージ送信部113が、スレーブ装置120に同期化メッセージを送信(発行)した時刻である。また、時刻t2は、メッセージ受信部123で同期化メッセージが受信された時刻である。また、時刻t3は、メッセージ受信部123でフォローアップメッセージが受信された後に、メッセージ送信部124がマスタ装置210に遅延要求メッセージを送信(発行)した時刻である。
また、時刻t4は、メッセージ送信部124で時刻t3に発行された遅延要求メッセージに対応してメッセージ受信部123で受信された遅延応答メッセージの時刻情報が示す時刻である。この時刻t4は、メッセージ送信部124で時刻t3に発行された遅延要求メッセージがマスタ装置110のメッセージ受信部114で受信された時刻である。
ここで、マスタ装置110の時計部111の時刻Mt(x)と、スレーブ装置120の時計部121の時刻St(x)との間には、(4)式が成立する。
St(x)−Mt(x)=Offset ・・・(4)
この(4)式を変形すると、(5)式が得られる。
St(x)=Offset+Mt(x) ・・・(5)
時刻t2は、(4)式、(5)式、さらには後述の図2からも明らかなように、時刻t1に、オフセット(Offset)およびディレイ(Delay)を加算したものとなる。そのため、(t2−t1)は、(6)式に示すように、オフセット(Offset)とディレイ(Delay)を加算したものとなる。
(t2−t1)=Offset+Delay ・・・(6)
また、時刻t4は、(4)式、(5)式、さらには後述の図2からも明らかなように、時刻t3からオフセット(Offset)を減算すると共にディレイ(Delay)を加算したものとなる。そのため、(t4−t3)は、(7)式に示すように、ディレイ(Delay)からオフセット(Offset)を減算したものとなる。
(t4−t3)=Delay−Offset ・・・(7)
上述の(2)式でオフセット(Offset)が求められること、および(3)式でディレイ(Delay)が求められることは、上述の(6)式および(7)式より明らかである。
補正部126は、演算部125で求められた第1の値(Offset)に基づいて、時計部121の時刻St(x)を補正する。この補正部126は、第1の補正部を構成している。補正部126は、時計部121の時刻St(x)を、第1の値(Offset)だけ減算した値となるように、スレーブクロック発生部122から発生されるスレーブクロックCLKsに同期したタイミングで補正する。
この場合、時計部121の補正後の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)と一致し、マスタ装置110との時刻同期化が図られる。すなわち、この補正は、以下の(8)式で表される。
St(x)′=St(x)−Offset ・・・(8)
この(8)式に、上述の(5)式を適用すると、(9)式が得られる。
St(x)′=(Offset+Mt(x))−Offset
=Mt(x) ・・・(9)
予想値演算部125は、スレーブクロック発生部122で発生されるスレーブクロックCLKsの周波数の補正に必要な第2の値を求める。この予想値演算部125は、以下の(10)式により、第2の値t6′を求める。
t6′=t5+Delay ・・・(10)
ここで、時刻t5は、上述したように補正部126で時計部121の時刻補正が行われた後に、メッセージ送信部124がマスタ装置210に遅延要求メッセージを送信(発行)した時刻である。また、Delayは、上述したように、演算部125で求められたマスタ装置110とスレーブ装置120との間の伝送遅延成分である((3)式参照)。この第2の値t6′は、時刻t5に発行された遅延要求メッセージがマスタ装置110のメッセージ受信部114で受信される時刻の予想値である。この予想値演算部127および上述の演算部125は、第2の演算部を構成している。
また、予想値演算部127は、周波数補正部128に、周波数を上げる補正指令Fuあるいは周波数を下げる補正指令Fdを出力する。予想値演算部127は、第2の値t6′と時刻t6の比較結果に応じて、補正指令Fuあるいは補正指令Fdを出力する。ここで、時刻t6は、メッセージ送信部124で時刻t5に発行された遅延要求メッセージに対応してメッセージ受信部123で受信された遅延応答メッセージの時刻情報が示す時刻である。この時刻t6は、メッセージ送信部124で時刻t5に発行された遅延要求メッセージがマスタ装置110のメッセージ受信部114で受信された時刻である。
予想値演算部127は、t6>t6′であるとき、スレーブクロックCLKsの周波数が低いと判断し、周波数を上げる補正指令Fuを出力する。また、予想値演算部127は、t6<t6′であるとき、スレーブクロックCLKsの周波数が高いと判断し、周波数を下げる補正指令Fdを出力する。
周波数補正部128は、スレーブクロック発生部122で発生されるスレーブクロックCLKsの周波数を制御する制御電圧VCに対応したデジタル信号DSを出力する。この周波数補正部128は、予想値演算部127から補正指令Fuが出力されるとき、デジタル信号DSの値を一定ステップだけ大きくし、逆に予想値演算部127から補正指令Fdが出力されるとき、デジタル信号DSの値を一定ステップだけ小さくする。
D/Aコンバータ129は、周波数補正部128から出力されるデジタル信号DSをアナログの制御電圧VCに変換して、スレーブクロック発生部122に供給する。なお、スレーブクロック発生部122は、例えば、VCXO等の電圧可変型の水晶発振器等を用いて構成されている。予想値演算部127、周波数補正部128およびD/Aコンバータ129は、第2の補正部を構成している。
[時刻同期化の動作]
図2は、図1に示す電子機器システム100における時刻同期化の動作を示すシーケンス図を示している。
(a)マスタ装置110のメッセージ送信部113からスレーブ装置120に、同期化(Sync)メッセージが送信されて、時刻同期化の動作が開始される。この場合、メッセージ送信部113では、当該同期化メッセージの発行(送信)時刻t1が時計部111の出力であるカウンタ値で記憶される。
(b)スレーブ装置120のメッセージ受信部123では、マスタ装置110から送られた同期化メッセージが受信され、当該同期化メッセージの受信時刻t2が時計部121の出力であるカウンタ値で記憶される。
(c)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120に、フォローアップ(FollowUp)メッセージが送信される。このフォローアップメッセージには、同期化メッセージを発行した時刻t1を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t1を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(d)スレーブ装置120のメッセージ受信部123では、マスタ装置110から送られたフォローアップメッセージが受信され、時刻t1を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t1を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(e)次に、スレーブ装置120のメッセージ送信部124からマスタ装置110に、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t3が時計部121の出力であるカウンタ値で記憶される。
(f)マスタ装置110のメッセージ受信部114では、スレーブ装置120から送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t4が時計部111の出力であるカウンタ値で記憶される。
(g)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120に、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t4を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t4を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(h)スレーブ装置120のメッセージ受信部123では、マスタ装置110から送られた遅延応答メッセージが受信され、時刻t4を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t4を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(i)スレーブ装置120の演算部125では、第1の値として、Offset={(t4−t3)−(t2−t1)}/2が求められる((2)式参照)。この場合、メッセージ受信部123に記憶されている時刻t1,t2,t4を示すカウンタ値、およびメッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられる。そして、補正部126により、時計部121の時刻St(x)がオフセット(Offset)だけ減算した値となるように補正される((8)式参照)。補正後の時計部121の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)と一致したものとなる((9)式参照)。
(j)次に、スレーブ装置120のメッセージ送信部124からマスタ装置110に、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t5が時計部121の出力であるカウンタ値で記憶される。
(k)マスタ装置110のメッセージ受信部114では、スレーブ装置120から送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t6が時計部111の出力であるカウンタ値で記憶される。
(m)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120に、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t6を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t6を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(n)スレーブ装置120のメッセージ受信部123では、マスタ装置110から送られた遅延応答メッセージが受信され、時刻t6を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t6を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(p)また、スレーブ装置120の演算部125では、Delay={(t4−t3)+(t2−t1)}/2が求められる((3)式参照)。この場合、メッセージ受信部123に記憶されている時刻t1,t2,t4を示すカウンタ値、およびメッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられる。また、予想値演算部127では、メッセージ送信部124に記憶されている時刻t5を示すカウンタ値に、演算部125で求められたディレイ(Delay)が加算されて、予想値t6′=t5+DeLayが求められる((10)式参照)。
そして、予想値演算部127では、メッセージ受信部123に記憶されている時刻t6と、予想値t6′とが比較されて、その比較結果に応じた補正指令が出力される。すなわち、t6>t6′であるとき、スレーブクロックCLKsの周波数が低いと判断され、周波数を上げる補正指令Fuが出力される。また、t6<t6′であるとき、スレーブクロックCLKsの周波数が高いと判断され、周波数を下げる補正指令Fdが出力される。
このように予想値演算部127から出力される補正指令に基づいて、周波数補正部128では出力デジタル信号DSの値が変更され、スレーブクロック発生部122への制御電圧VCが変更され、クロックCLKsの周波数が制御される。これにより、時計部121のカウンタ値変化が、マスタ装置110の時計部121のカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。
図2に示す時刻同期化の動作が定期的に繰り返されることで、スレーブ装置120の時刻は、オフセット補正時点だけでなく、常にマスタ装置110の時刻と一致するようになり、スレーブ装置120においてマスタ装置110との完全な時刻同期化が可能となる。
図3は、上述した時刻同期化の動作における、マスタ装置110の時計部111のカウンタ値変化と、スレーブ装置120の時計部121のカウンタ値変化を対応させて示している。図3(a)の実線Smは、マスタ装置110の時計部111のカウンタ値変化を示している。また、図3(b)の実線Ssは、スレーブ装置120の時計部121のカウンタ値変化を示している。なお、図3(b)の破線Ss′は、マスタ装置110の時計部111のカウンタ値変化に対応した、スレーブ装置120の時計部121の理想的なカウンタ値変化を示している。
図3(b)に示すように、スレーブ装置120の時計部121のカウンタ値は、オフセット(Offset)の補正時点T1、T2、・・・では正しい値となる。その後、カウンタ値変化が理想的なカウンタ値変化でないときには、スレーブ装置120の時計部121のカウンタ値は、時間経過と共に理想的なカウンタ値からどんどん離れていく。
しかし、スレーブクロックCLKsの周波数の補正時点Ta、・・・で、スレーブ装置120の時計部121のカウンタ値変化が理想的なカウンタ値変化に近づけられる。そのため、上述した図2に示す時刻同期化の動作が定期的に繰り返されることで、スレーブ装置120の時計部121のカウンタ値は、オフセット補正時点だけでなく、常に正しい値をとるようになる。これにより、スレーブ装置120の時刻は、オフセット補正時点だけでなく、常に、マスタ装置110の時刻と一致するようになり、スレーブ装置120においてマスタ装置110との完全時刻同期化が可能となる。
以上説明したように、図1の電子機器システム100において、スレーブ装置120では、第1の値(Offset)による時計部121の時刻補正の他に、第2の値(予想値t6′)によるスレーブクロック発生部122のクロックCLKsの周波数補正が行われる。
すなわち、演算部125により第1の値としてオフセット(Offset)が求められる。そして、補正部126により、時計部121の時刻がオフセット(Offset)だけ減算した値となるように補正される。これにより、スレーブ装置120の時計部121は、マスタ装置110の時計部111の時刻と一致するようにされる。
また、予想値演算部127により第2の値として予想値t6′が求められる。この予想値t6′は、時刻t5にマスタ装置110とスレーブ装置120との間の伝送遅延成分(Delay)を加算した加算結果であり、時刻t5に発行された遅延要求メッセージがマスタ装置110で受信される時刻の予想値である。そして、予想値t6′が実際の到着時刻t6より小さいとき、時計部121のカウンタをカウントアップするクロックCLKsの周波数が上げられ、逆に、予想値t6′が実際の到着時刻t6より大きいとき、当該クロックCLKsの周波数が下げられる。これにより、時計部121のカウンタのカウンタ値の変化は、マスタ装置110の時計部111のカウンタのカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。
したがって、上述の時刻補正およびクロック周波数補正が繰り返されることで、スレーブ装置120の時刻は、オフセット補正時点だけでなく、常に、マスタ装置110の時刻と一致するようになる。これにより、スレーブ装置120においてマスタ装置110との完全な時刻同期化が可能となる。
<2.第2の実施の形態>
[電子機器システムの構成例]
図4は、第2の実施の形態としての電子機器システム100Aの構成例を示している。この電子機器システム100Aは、上述の図1に示す電子機器システム100と同様に、マスタ装置110Aとスレーブ装置120Aにより構成されている。この図4において、図1と対応する部分には、同一符号を付して示し、その詳細説明は省略する。
マスタ装置110Aは、時計部111と、マスタクロック発生部112と、メッセージ送信部113Aと、メッセージ受信部114を有している。
メッセージ送信部113Aは、スレーブ装置120に、伝送路130を介して、PTP(Precision Time Protocol)メッセージを送信する。メッセージ送信部113Aがスレーブ装置120に送信するPTPメッセージとしては、上述した同期化(Sync)メッセージと、フォローアップ(FollowUp)メッセージと、遅延応答(DelayResponse)メッセージの他に、Messageメッセージがある。
メッセージ送信部113Aは、スレーブ装置120に、フォローアップメッセージの送信に続いて、Messageメッセージを送信する。上述したように、フォローアップメッセージには、同期化メッセージを発行(送信)した時刻t1を示す時刻情報がナノセコンド(ns)単位の値で含まれている。フォローアップメッセージに続くMessageメッセージにも時刻t1を示す時刻情報が含まれるが、この時刻情報は時刻t1を示すカウンタ値とされる。
また、メッセージ送信部113Aは、スレーブ装置120に、遅延応答メッセージの送信に続いて、Messageメッセージを送信する。上述したように、遅延応答メッセージには、メッセージ受信部114が遅延要求メッセージを受信した時刻t4,t6を示す時刻情報がナノセコンド(ns)単位の値で含まれている。遅延応答メッセージに続くMessageメッセージにも時刻t4,t6を示す時刻情報が含まれるが、この時刻情報は時刻t4,t6を示すカウンタ値とされる。
このマスタ装置110Aのその他は、図1に示す電子機器システム100におけるマスタ装置110と同様に構成されている。
スレーブ装置120Aは、時計部121と、スレーブクロック発生部122と、メッセージ受信部123Aと、メッセージ送信部124と、演算部125と、補正部126を有している。また、スレーブ装置120Aは、予想値演算部127と、周波数補正部128と、D/Aコンバータ129を有している。
スレーブクロック発生部122で発生されるスレーブクロックCLKsの周波数は、上述したマスタ装置110Aのマスタクロック発生部112で発生されるマスタクロックCLKmの周波数と等しくされる。例えば、カメラシステム等の映像システムの場合、クロックCLKm,CLKsの周波数は、双方とも、例えば、ビデオ伝送の基準として採用されている27MHzとされる。
メッセージ受信部123Aは、マスタ装置110Aから伝送路130を介して送られてくるPTPメッセージを受信する。上述したように、マスタ装置110Aのメッセージ送信部113Aからは、フォローアップメッセージの送信に続いて、Messageメッセージが送信される。メッセージ受信部123Aは、フォローアップメッセージおよびそれに続くMessageメッセージを受信する。
フォローアップメッセージには、時刻t1を示す時刻情報としてナノセコンド(ns)単位の値が含まれている。一方、Messageメッセージには、時刻t1を示す時刻情報としてカウンタ値が含まれている。この実施の形態において、メッセージ受信部123Aは、Messageメッセージに含まれる時刻t1を示すカウンタ値を取得して、記憶しておく。演算部125は、オフセット(Offset)((2)式参照)あるいはディレイ(Delay)((3)式参照)を求める際に、この時刻t1[カウンタ値]を用いる。
また、上述したように、マスタ装置110Aのメッセージ送信部113Aからは、遅延応答メッセージの送信に続いて、Messageメッセージが送信される。メッセージ受信部123Aは、遅延応答メッセージおよびそれに続くMessageメッセージを受信する。
遅延応答メッセージには、時刻t4,t6を示す時刻情報としてナノセコンド(ns)単位の値が含まれている。一方、Messageメッセージには、時刻t4,t6を示す時刻情報としてカウンタ値が含まれている。この実施の形態において、メッセージ受信部123Aは、Messageメッセージに含まれる時刻t4,t6を示すカウンタ値を取得して、記憶しておく。
演算部125は、オフセット(Offset)((2)式参照)あるいはディレイ(Delay)((3)式参照)を求める際に、この時刻t4[カウンタ値]を用いる。また、予測値演算部127は、予想値t6′と比較する実際の到着時刻として、この時刻t6[カウンタ値]を用いる。
このスレーブ装置120Aのその他は、図1に示す電子機器システム100におけるスレーブ装置120と同様に構成されている。
[時刻同期化の動作]
図5は、図4に示す電子機器システム100Aにおける時刻同期化の動作を示すシーケンス図を示している。
(a)マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、同期化(Sync)メッセージが送信されて、時刻同期化の動作が開始される。この場合、メッセージ送信部113Aでは、当該同期化メッセージの発行(送信)時刻t1が時計部111の出力であるカウンタ値で記憶される。
(b)スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られた同期化メッセージが受信され、当該同期化メッセージの受信時刻t2が時計部121の出力であるカウンタ値で記憶される。
(c)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、フォローアップ(FollowUp)メッセージが送信される。このフォローアップメッセージには、同期化メッセージを発行した時刻t1を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113Aのカウンタ値/ns変換部113aで、時刻t1を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られるフォローアップメッセージが受信される。しかし、この実施の形態において、メッセージ受信部123Aでは、時刻t1を示すナノセコンド(ns)単位の値を取得し、それをカウンタ値に変換して記憶することは、行われない。
(d)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、Messageメッセージが送信される。このMessageメッセージには、同期化メッセージを発行した時刻t1を示す時刻情報がカウンタ値で含まれている。
(e)スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られたMessageメッセージが受信され、時刻t1を示すカウンタ値が取得されて、そのまま記憶される。
(f)次に、スレーブ装置120Aのメッセージ送信部124からマスタ装置110Aに、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t3が時計部121の出力であるカウンタ値で記憶される。
(g)マスタ装置110Aのメッセージ受信部114では、スレーブ装置120Aから送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t4が時計部111の出力であるカウンタ値で記憶される。
(h)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t4を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113Aのカウンタ値/ns変換部113aで、時刻t4を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られる遅延応答メッセージが受信される。しかし、この実施の形態において、メッセージ受信部123Aでは、時刻t4を示すナノセコンド(ns)単位の値を取得し、それをカウンタ値に変換して記憶することは、行われない。
(i)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、Messageメッセージが送信される。このMessageメッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t4を示す時刻情報がカウンタ値で含まれている。
(j)スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られたMessageメッセージが受信され、時刻t4を示すカウンタ値が取得されて、そのまま記憶される。
(k)そして、スレーブ装置120Aの演算部125では、第1の値として、Offset={(t4−t3)−(t2−t1)}/2が求められる((2)式参照)。この場合、メッセージ受信部123Aに記憶されている時刻t1,t2,t4を示すカウンタ値、およびメッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられる。そして、補正部126により、時計部121の時刻St(x)がオフセット(Offset)だけ減算した値となるように補正される((8)式参照)。補正後の時計部121の時刻St(x)′は、マスタ装置110Aの時計部111の時刻Mt(x)と一致したものとなる((9)式参照)。
(m)次に、スレーブ装置120Aのメッセージ送信部124からマスタ装置110Aに、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t5が時計部121の出力であるカウンタ値で記憶される。
(n)マスタ装置110Aのメッセージ受信部114では、スレーブ装置120Aから送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t6が時計部111の出力であるカウンタ値で記憶される。
(p)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t6を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113Aのカウンタ値/ns変換部113aで、時刻t6を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られる遅延応答メッセージが受信される。しかし、この実施の形態において、メッセージ受信部123Aでは、時刻t6を示すナノセコンド(ns)単位の値を取得し、それをカウンタ値に変換して記憶することは、行われない。
(q)次に、マスタ装置110Aのメッセージ送信部113Aからスレーブ装置120Aに、Messageメッセージが送信される。このMessageメッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t6を示す時刻情報がカウンタ値で含まれている。
(r)スレーブ装置120Aのメッセージ受信部123Aでは、マスタ装置110Aから送られたMessageメッセージが受信され、時刻t6を示すカウンタ値が取得されて、そのまま記憶される。
(s)また、スレーブ装置120Aの演算部125では、Delay={(t4−t3)+(t2−t1)}/2が求められる((3)式参照)。この場合、メッセージ受信部123Aに記憶されている時刻t1,t2,t4を示すカウンタ値、およびメッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられる。また、予想値演算部127では、メッセージ送信部124に記憶されている時刻t5を示すカウンタ値に、演算部125で求められたディレイ(Delay)が加算されて、予想値t6′=t5+DeLayが求められる。
そして、予想値演算部127では、メッセージ受信部123に記憶されている時刻t6と、予想値t6′とが比較されて、その比較結果に応じた補正指令が出力される。すなわち、t6>t6′であるとき、スレーブクロックCLKsの周波数が低いと判断され、周波数を上げる補正指令Fuが出力される。また、t6<t6′であるとき、スレーブクロックCLKsの周波数が高いと判断され、周波数を下げる補正指令Fdが出力される。
このように予想値演算部127から出力される補正指令に基づいて、周波数補正部128では出力デジタル信号DSの値が変更され、スレーブクロック発生部122への制御電圧VCが変更され、クロックCLKsの周波数が制御される。これにより、時計部121のカウンタ値変化が、マスタ装置110Aの時計部121のカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。
上述した図5に示す時刻同期化の動作が定期的に繰り返されることで、スレーブ装置120Aの時刻は、オフセット補正時点だけでなく、常に、マスタ装置110Aの時刻と一致するようになる。これにより、スレーブ装置120Aにおいてマスタ装置110Aとの完全な時刻同期化が可能となる。
以上説明したように、図4に示す電子機器システム100Aにおいては、図1に示す電子機器システム100と同様に、時刻同期化の動作が行われる。この場合、スレーブ装置120Aでは、第1の値であるオフセット(Offset)による時計部121の時刻補正の他に、第2の値である予想値t6′によるスレーブクロック発生部122のクロックCLKsの周波数補正が行われる。したがって、これらの時刻補正およびクロック周波数補正が繰り返されることで、スレーブ装置120Aの時刻は、オフセット補正時点だけでなく、常に、マスタ装置110Aの時刻と一致するようになる。これにより、スレーブ装置120Aにおいてマスタ装置110Aとの完全な時刻同期化が可能となる。
また、図4に示す電子機器システム100Aにおいては、マスタ装置110Aからスレーブ装置120Aに、Messageメッセージが使用されて、時刻t1,t4,t6の時刻情報がカウンタ値で送られる。マスタ装置110Aからスレーブ装置120Aに時刻情報をカウンタ値で送ることで、マスタ装置でカウンタ値をナノセコンド(ns)単位の値に変換する処理、およびスレーブ装置でナノセコンド(ns)単位の値をカウンタ値に変換する処理が行われない。そのため、マスタ装置110Aからスレーブ装置120Aに供給される時刻t1,t4,t6の時刻情報は、変換時の演算誤差を含まない正確な時刻情報となる。したがって、演算部125では、オフセット(Offset)およびディレイ(Delay)を精度よく求めることができる。また、予想値演算部127では、予想値t6′=t5+Delayを精度よく求めることができると共に、予想値t6′と実際の到着時刻t6との比較を精度よく行うことができる。これにより、スレーブ装置120Aではマスタ装置110Aとの時刻同期化をより高精度に実現できる。
<3.第3の実施の形態>
[電子機器システムの構成例]
図6は、第3の実施の形態としての電子機器システム100Bの構成例を示している。この電子機器システム100Bは、上述の図1に示す電子機器システム100と同様に、マスタ装置110とスレーブ装置120Bにより構成されている。この図6において、図1と対応する部分には、同一符号を付して示し、その詳細説明は省略する。
スレーブ装置120Bは、時計部121と、スレーブクロック発生部122と、メッセージ受信部123と、メッセージ送信部124と、演算部125Bと、補正部126Bを有している。また、スレーブ装置120Bは、予想値演算部127と、周波数補正部128と、D/Aコンバータ129を有している。
演算部125Bは、時計部121の時刻の補正に必要な補正値(第1の値)を求める。この補正値には、第1段階の補正で使用する第1の補正値と、第2の段階の補正で使用する第2の補正値とがある。この演算部125Bは、第1の補正値として、(t2−t1)を求める。ここで、時刻t1は、メッセージ受信部123で受信されたフォローアップメッセージの時刻情報が示す時刻である。この時刻t1は、マスタ装置110のメッセージ送信部113が、スレーブ装置120Bに同期化メッセージを送信(発行)した時刻である。時刻t2は、メッセージ受信部123で同期化メッセージが受信された時刻である。
また、この演算部125Bは、第2の補正値として、(t4−t3)/2を求める。ここで、時刻t3は、メッセージ送信部124がマスタ装置110に遅延要求メッセージを送信(発行)した時刻である。時刻t4は、メッセージ受信部123で受信された遅延応答メッセージの時刻情報が示す時刻である。この時刻t4は、メッセージ送信部124で時刻t3に発行された遅延要求メッセージがマスタ装置110のメッセージ受信部114で受信された時刻である。
補正部126Bは、第1段階の補正および第2段階の補正を行う。すなわち、補正部126Bは、第1段階の補正において、演算部125Bで求められた第1の補正値に基づいて、時計部121の時刻St(x)を補正する。この場合、補正部126Bは、時計部121の時刻St(x)を、第1の補正値「(t2−t1)」だけ減算した値となるように、スレーブクロック発生部122から発生されるスレーブクロックCLKsに同期したタイミングで補正する。
時計部121の補正後の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)から、マスタ装置110とスレーブ装置120Bとの間の伝送遅延成分(Delay)が差し引かれた値となり、オフセット成分(Offset)が除かれた状態となる。
すなわち、スレーブ装置120Bの時計部121の補正前の時刻St(x)とマスタ装置110の時計部111の時刻Mt(x)との差をオフセット(Offset)とすると、(11)式が成り立つ。
St(x)−Mt(x)=Offset ・・・(11)
この(11)式を変形すると、(12)式が得られる。
St(x)=Offset+Mt(x) ・・・(12)
マスタ装置110とスレーブ装置120Bとの間の伝送遅延をディレイ(Delay)とすると、第1の補正値である(t2−t1)は、(13)式に示すように、オフセット(Offset)とディレイ(Delay)を加算したものとなる。
(t2−t1)=Offset+Delay ・・・(13)
上述した第1段階の補正は、以下の(14)式で表される。
St(x)′=St(x)−(t2−t1) ・・・(14)
この(14)式に、上述の(12)式および(13)式を適用すると、(15)式が得られる。
St(x)′=(Offset+Mt(x))−(Offset+Delay)
=Mt(x)−Delay ・・・(15)
このように、第1段階の補正後の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)から、マスタ装置110とスレーブ装置120Bとの間の伝送遅延成分(Delay)が差し引かれた値となる。これにより、補正後の時刻St(x)′は、オフセット成分(Offset)が除かれた状態となる。
また、補正部126Bは、第2段階の補正において、演算部125Bで求められた第2の補正値に基づいて、時計部121の時刻St(x)′を補正する。この場合、補正部126Bは、時計部121の時刻St(x)′を、第2の補正値「(t4−t3)/2」だけ加算した値となるように、スレーブクロック発生部122から発生されるスレーブクロックCLKsに同期したタイミングで補正する。
この場合、時計部121の補正後の時刻St(x)″は、マスタ装置110の時計部111の時刻Mt(x)と一致し、マスタ装置110との時刻同期化が図られる。
すなわち、上述の(15)式より、t3が(Mt(x)−Delay)であるとき、t4は(Mt(x)+Delay)となる。そのため、(t4−t3)/2は、(16)式に示すように、ディレイ(Delay)となる。
(t4−t3)/2
={(Mt(x)+Delay)−(Mt(x)−Delay)}/2
=2*Delay/2 =Delay ・・・(16)
上述した第2段階の補正は、以下の(17)式で表される。
St(x)″=St(x)′+(t4−t3)/2 ・・・(17)
この(17)式に、上述の(15)式および(16)式を適用すると、(18)式が得られる。
St(x)″=(Mt(x)−Delay)+Delay
=Mt(x) ・・・(18)
このように、第2の段階の補正後の時刻St(x)″は、マスタ装置110の時計部111の時刻Mt(x)と一致し、マスタ装置110との時刻同期化が図られる。
このスレーブ装置120Bのその他は、図1に示す電子機器システム100におけるスレーブ装置120と同様に構成されている。
[時刻同期化の動作]
図7は、図6に示す電子機器システム100Bにおける時刻同期化の動作を示すシーケンス図を示している。
(a)マスタ装置110のメッセージ送信部113からスレーブ装置120Bに、同期化(Sync)メッセージが送信されて、時刻同期化の動作が開始される。この場合、メッセージ送信部113では、当該同期化メッセージの発行(送信)時刻t1が時計部111の出力であるカウンタ値で記憶される。
(b)スレーブ装置120Bのメッセージ受信部123では、マスタ装置110から送られた同期化メッセージが受信され、当該同期化メッセージの受信時刻t2が時計部121の出力であるカウンタ値で記憶される。
(c)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120Bに、フォローアップ(FollowUp)メッセージが送信される。このフォローアップメッセージには、同期化メッセージを発行した時刻t1を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t1を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(d)スレーブ装置120Bのメッセージ受信部123では、マスタ装置110から送られたフォローアップメッセージが受信され、時刻t1を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t1を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(e)次に、スレーブ装置120Bの演算部125Bでは、メッセージ受信部123に記憶されている時刻t1,t2を示すカウンタ値が用いられて、第1の補正値として(t2−t1)が求められる。そして、補正部126Bにより、時計部121の時刻St(x)が、第1の補正値「(t2−t1)」だけ減算した値となるように補正される((14)式参照)。補正後の時計部121の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)から、マスタ装置110とスレーブ装置120Bとの間の伝送遅延成分(Delay)が差し引かれた値となる。つまり、時刻St(x)′は、オフセット成分(Offset)が除かれた状態となる((15)式参照)。
(f)次に、スレーブ装置120Bのメッセージ送信部124からマスタ装置110に、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t3が時計部121の出力であるカウンタ値で記憶される。
(g)マスタ装置110のメッセージ受信部114では、スレーブ装置120Bから送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t4が時計部111の出力であるカウンタ値で記憶される。
(h)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120Bに、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t4を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t4を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(i)スレーブ装置120Bのメッセージ受信部123では、マスタ装置110から送られた遅延応答メッセージが受信され、時刻t4を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t4を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(j)次に、スレーブ装置120Bの演算部125Bでは、メッセージ受信部123に記憶されている時刻t4を示すカウンタ値と、メッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられ、第2の補正値「(t4−t3)/2」が求められる。そして、補正部126Bにより、時計部121の時刻St(x)′が、第2の補正値「(t4−t3)/2」だけ加算した値となるように補正される((17)式参照)。補正後の時計部121の時刻St(x)″は、マスタ装置110の時計部111の時刻Mtと一致したものとなる((18)式参照)。
(k)次に、スレーブ装置120Bのメッセージ送信部124からマスタ装置110に、遅延要求(DelayRequest)メッセージが送信される。この場合、メッセージ送信部124では、当該遅延要求メッセージの発行(送信)時刻t5が時計部121の出力であるカウンタ値で記憶される。
(m)マスタ装置110のメッセージ受信部114では、スレーブ装置120Bから送られた遅延要求メッセージが受信され、当該遅延要求メッセージの受信時刻t6が時計部111の出力であるカウンタ値で記憶される。
(n)次に、マスタ装置110のメッセージ送信部113からスレーブ装置120Bに、遅延応答(DelayResponse)メッセージが送信される。この遅延応答メッセージには、上述のメッセージ受信部114が遅延要求メッセージを受信した時刻t6を示す時刻情報がナノセコンド(ns)単位の値で含まれている。この場合、メッセージ送信部113のカウンタ値/ns変換部113aで、時刻t6を示すカウンタ値がナノセコンド(ns)単位の値に変換される。
(p)スレーブ装置120Bのメッセージ受信部123では、マスタ装置110から送られた遅延応答メッセージが受信され、時刻t6を示すナノセコンド(ns)単位の値が取得される。そして、この値は、ns/カウンタ値変換部123aで、時刻t6を示す時計部121の出力であるカウンタ値に変換されて記憶される。
(q)また、スレーブ装置120Bの演算部125Bでは、Delay={(t4−t3)+(t2−t1)}/2が求められる((3)式参照)。この場合、メッセージ受信部123に記憶されている時刻t1,t2,t4を示すカウンタ値、およびメッセージ送信部124に記憶されている時刻t3を示すカウンタ値が用いられる。また、予想値演算部127では、メッセージ送信部124に記憶されている時刻t5を示すカウンタ値に、演算部125で求められたディレイ(Delay)が加算されて、予想値t6′=t5+DeLayが求められる((10)式参照)。
そして、予想値演算部127では、メッセージ受信部123に記憶されている時刻t6と、予想値t6′とが比較されて、その比較結果に応じた補正指令が出力される。すなわち、t6>t6′であるとき、スレーブクロックCLKsの周波数が低いと判断され、周波数を上げる補正指令Fuが出力される。また、t6<t6′であるとき、スレーブクロックCLKsの周波数が高いと判断され、周波数を下げる補正指令Fdが出力される。
このように予想値演算部127から出力される補正指令に基づいて、周波数補正部128では出力デジタル信号DSの値が変更され、スレーブクロック発生部122への制御電圧VCが変更され、クロックCLKsの周波数が制御される。これにより、時計部121のカウンタ値変化が、マスタ装置110の時計部121のカウンタ値の変化に対応した、理想的なカウンタ値変化に近づけられる。
上述した図7に示す時刻同期化の動作が定期的に繰り返されることで、スレーブ装置120Bの時刻は、オフセット補正時点だけでなく、常に、マスタ装置110の時刻と一致するようになる。これにより、スレーブ装置120Bにおいてマスタ装置110との完全な時刻同期化が可能となる。
以上説明したように、図6に示す電子機器システム100Bにおいては、図1に示す電子機器システム100と同様に、時刻同期化の動作が行われる。この場合、スレーブ装置120Bでは、第1の値(第1の補正値、第2の補正値)による時計部121の時刻補正の他に、第2の値である予想値t6′によるスレーブクロック発生部122のクロックCLKsの周波数補正が行われる。したがって、これらの時刻補正およびクロック周波数補正が繰り返されることで、スレーブ装置120Bの時刻は、時刻補正時点だけでなく、常に、マスタ装置110の時刻と一致するようになる。これにより、スレーブ装置120Bにおいてマスタ装置110との完全な時刻同期化が可能となる。
また、図6に示す電子機器システム100Bにおいては、時刻同期化の動作において、スレーブ装置120Bの時計部121の時刻補正が2段階で行われる。第1段階の補正では、マスタ装置110において第1の時刻t1に発行されたメッセージを受信した第2の時刻t2から当該第1の時刻t1を減算して求められた第1の補正値「(t2−t1)」が使用される。そして、スレーブ装置120Bの時計部121の時刻St(x)は、この第1の補正値だけ減算した値となるように補正される。これにより、補正後の時刻St(x)′は、マスタ装置110の時計部111の時刻Mt(x)から、マスタ装置110とスレーブ装置120Bとの間の伝送遅延成分(Delay)が差し引かれた値となり、オフセット成分(Offset)が除かれた状態となる。
また、第2段階の補正では、第3の時刻t3に送信したメッセージがマスタ装置110で受信された第4の時刻t4から当該第3の時刻t3を減算し、さらに1/2にして求められた第2の補正値「(t4−t3)/2」が使用される。そして、スレーブ装置120Bの時計部121の時刻St(x)′は、この第2の補正値だけ加算した値となるよう補正される。これにより、スレーブ装置120Bの時計部121の補正後の時刻St(x)″は、マスタ装置110の時計部111の時刻Mt(x)と一致し、同期化が図られる。
従って、図6に示す電子機器システム100Bにおいては、スレーブ装置120Bの時計部121の時刻補正が、従来のように誤差が含まれるオフセット(Offset)の演算結果を用いて行われるものではない。そのため、スレーブ装置120Bではマスタ装置110との時刻同期化を高精度で実現できる。
因みに、従来の時刻同期化の処理において、オフセット(Offset)は上述の(1)式により算出されている。この場合、{(t2−t1)−(t4−t3)}を2で割っているので、当該オフセットの演算結果には0.5の誤差が必ず含まれる。したがって、このように誤差が含まれるオフセットの演算結果を用いて時計部の時刻補正を行う場合、スレーブ装置ではマスタ装置との時刻同期化を高精度で実現できない。
<4.変形例>
なお、上述の第3の実施の形態の電子機器システム100Bにおいても、上述の第2の実施の形態の電子機器システム100Aと同様に構成してもよい。すなわち、マスタ装置110からスレーブ装置120Bに、Messageメッセージを使用して、時刻t1,t4,t6の時刻情報をカウンタ値で送ることも考えられる。このようにマスタ装置110からスレーブ装置120Bに時刻情報をカウンタ値で送ることで、マスタ装置でカウンタ値をナノセコンド(ns)単位の値に変換する処理、およびスレーブ装置でナノセコンド(ns)単位の値をカウンタ値に変換する処理が行われない。
そのため、マスタ装置110からスレーブ装置120Bに供給される時刻t1,t4,t6の時刻情報は、変換時の演算誤差を含まない正確な時刻情報となる。したがって、演算部125Bでは、第1の補正値「(t2−t1)」および第2の補正値「(t4−t3)/2」を精度よく求めることができる。また、演算部125Bでは、ディレイ(Delay)を精度よく求めることができる。また、予想値演算部127では、予想値t6′=t5+Delayを精度よく求めることができると共に、予想値t6′と実際の到着時刻t6との比較を精度よく行うことができる。これにより、スレーブ装置120Bではマスタ装置110との時刻同期化をより高精度に実現できる。
また、上述実施の形態においては、マスタ装置110,110Aとスレーブ装置120,120A,120Bとの間で伝送されるメッセージとしてPTPメッセージを用いたものを示したが、この発明は、これに限定されない。
また、上述実施の形態においては、スレーブ装置120,120A,120Bに演算部125,125Bおよび補正部126,126Bを別個に設けたが、スレーブ装置120,120A,120Bのブロック構成は、これに限定されない。例えば、演算部125,125Bおよび補正部126,126Bの部分が1つの処理ブロックで構成されていてもよい。
この発明は、スレーブ装置においてマスタ装置との完全な時刻同期化を実現できるものであり、例えば、複数のビデオカメラの時刻同期化が必要なカメラシステム、制御機器と被制御機器との時刻同期化が必要な制御システム等に適用できる。
100,100A・・・電子機器システム、111・・・時計部、112・・・マスタクロック発生部、113,113A・・・メッセージ送信部、113a・・・カウンタ値/ns変換部、114・・・メッセージ受信部、120,120A,120B・・・スレーブ装置、121・・・時計部、122・・・スレーブクロック発生部、123,123A・・・メッセージ受信部、123a・・・ns/カウンタ値変換部、124・・・メッセージ送信部、125,125B・・・演算部、126,126B・・・補正部、127・・・予想値演算部、128・・・周波数補正部、129・・・D/Aコンバータ、130・・・伝送路

Claims (8)

  1. カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
    上記マスタ装置にメッセージを送信するメッセージ送信部と、
    上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
    上記第1の演算部で求められた上記第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
    上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
    上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、
    上記メッセージ受信部は、上記マスタ装置において第1の時刻に発行された第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信し、
    上記メッセージ送信部は、第3の時刻に上記マスタ装置に第3のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記第1の減算結果から上記第2の減算結果を減算した後に1/2にして上記第1の値を求め、
    上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の値だけ減算した値となるように補正し、
    上記メッセージ送信部は、上記第1の補正部で上記時計部の時刻の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信し、
    上記第2の演算部は、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の演算部で求められた上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
    上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
    スレーブ装置。
  2. 上記メッセージ受信部で受信される上記第2のメッセージ、上記第4のメッセージおよび上記第6のメッセージに含まれる時刻情報はカウンタ値である
    請求項1に記載のスレーブ装置。
  3. マスタ装置において第1の時刻に発行された第1のメッセージを受信する第1のメッセージ受信ステップと、
    上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信する第2のメッセージ受信ステップと、
    第3の時刻に上記マスタ装置に第3のメッセージを発行する第1のメッセージ送信ステップと、
    上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信する第3のメッセージ受信ステップと、
    上記第1のメッセージ受信ステップで上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記第2のメッセージ受信ステップで受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記第3のメッセージ受信ステップで受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記第1のメッセージ送信ステップで上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記第1の減算結果から上記第2の減算結果を減算した後に1/2にして第1の値を求める第1の演算ステップと、
    カウンタにより構成され、時刻情報を出力する時計部の時刻を、上記第1の演算ステップで求められた上記第1の値だけ減算した値となるように補正する時刻補正ステップと、
    上記時刻補正ステップで上記時計部の時刻の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行する第2のメッセージ送信ステップと、
    上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信する第4のメッセージ受信ステップと、
    上記第2のメッセージ送信ステップで上記第5のメッセージが発行された上記第5の時刻に、上記第1の演算ステップで求められた上記第1の減算結果および上記第2の減算結果の加算平均値を加算して第2の値を求める第2の演算ステップと、
    上記第2の演算ステップで求められた上記第2の値が、上記第4のメッセージ受信ステップで受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記時計部のカウンタをカウントアップするためのクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記時計部のカウンタをカウントアップするためのクロックの周波数を下げるように補正するクロック周波数補正ステップ
    を備えるスレーブ装置の時刻同期方法。
  4. マスタ装置とスレーブ装置とからなる電子機器システムであって、
    上記マスタ装置は、
    カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    上記スレーブ装置にメッセージを送信するメッセージ送信部と、
    上記スレーブ装置から送られてくるメッセージを受信するメッセージ受信部を備え、
    上記メッセージ送信部は、第1の時刻に、上記スレーブ装置に、第1のメッセージを発行すると共に、上記第1の時刻の後に、上記スレーブ装置に、該第1の時刻を示す時刻情報を含む第2のメッセージを発行し、
    上記メッセージ受信部は、上記スレーブ装置において第3の時刻に発行された第3のメッセージを受信し、
    上記メッセージ送信部は、上記メッセージ受信部で上記第3のメッセージを受信した後に、上記スレーブ装置に、該第3のメッセージを受信した第4の時刻を示す時刻情報を含む第4のメッセージを発行し、
    上記メッセージ受信部は、上記スレーブ装置において上記第3の時刻の後の第5の時刻に発行された第5のメッセージを受信し、
    上記メッセージ送信部は、上記メッセージ受信部で上記第5のメッセージを受信した後に、上記スレーブ装置に、該第5のメッセージを受信した第6の時刻を示す時刻情報を含む第6のメッセージを発行し、
    上記スレーブ装置は、
    カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    上記マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
    上記マスタ装置にメッセージを送信するメッセージ送信部と、
    上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
    上記第1の演算部で求められた上記第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
    上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
    上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、
    上記メッセージ受信部は、上記マスタ装置において上記第1の時刻に発行された上記第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む上記第2のメッセージを受信し、
    上記メッセージ送信部は、上記第3の時刻に上記マスタ装置に上記第3のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された上記第4の時刻を示す時刻情報を含む上記第4のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記第1の減算結果から上記第2の減算結果を減算した後に1/2にして上記第1の値を求め、
    上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の値だけ減算した値となるように補正し、
    上記メッセージ送信部は、上記第1の補正部で上記時計部の時刻の補正が行われた後、上記第5の時刻に上記マスタ装置に上記第5のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された上記第6の時刻を示す時刻情報を含む上記第6のメッセージを受信し、
    上記第2の演算部は、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の演算部で求められた上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
    上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
    電子機器システム。
  5. カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
    上記マスタ装置にメッセージを送信するメッセージ送信部と、
    上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
    上記第1の演算部で求められた第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
    上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
    上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、
    上記メッセージ受信部は、上記マスタ装置において第1の時刻に発行された第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して上記第1の値として第1の補正値を求め、
    上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の補正値だけ減算した値となるように第1段階の補正を行い、
    上記メッセージ送信部は、上記第1の補正部で上記第1段階の補正が行われた後、第3の時刻に上記マスタ装置に第3のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算し、該減算結果を1/2にして上記第1の値として第2の補正値を求め、
    上記第1の補正部は、上記第1段階の補正を行った後、上記時計部の時刻を、上記第1の演算部で求められた上記第2の補正値だけ加算した値となるように第2段階の補正を行い、
    上記メッセージ送信部は、上記第1の補正部で上記第2段階の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信し、
    上記第2の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された上記第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
    上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
    スレーブ装置。
  6. 上記メッセージ受信部で受信される上記第2のメッセージ、上記第4のメッセージおよび上記第6のメッセージに含まれる時刻情報はカウンタ値である
    請求項に記載のスレーブ装置。
  7. マスタ装置において第1の時刻に発行された第1のメッセージを受信する第1のメッセージ受信ステップと、
    上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む第2のメッセージを受信する第2のメッセージ受信ステップと、
    上記第1のメッセージ受信ステップで上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記第2のメッセージ受信ステップで受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の補正値を求める第1の演算ステップと、
    カウンタで構成され、時刻情報を出力する時計部の時刻を、上記第1の演算ステップで求められた上記第1の補正値だけ減算した値となるように第1段階の補正を行う第1の時刻補正ステップと、
    上記第1の時刻補正ステップで上記第1段階の補正が行われた後、第3の時刻に上記マスタ装置に第3のメッセージを発行する第1のメッセージ送信ステップと、
    上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された第4の時刻を示す時刻情報を含む第4のメッセージを受信する第3のメッセージ受信ステップと、
    上記第3のメッセージ受信ステップで受信された上記第4のメッセージに含まれる時間情報が示す上記第4の時刻から上記メッセージ送信ステップで上記第3のメッセージが発行された上記第3の時刻を減算し、該減算結果を1/2にして第2の補正値を求める第2の演算ステップと、
    上記時計部の時刻を、上記第2の演算ステップで求められた上記第2の補正値だけ加算した値となるように第2段階の補正を行う第2の時刻補正ステップと、
    上記第2の時刻補正ステップで上記時計部の時刻の補正が行われた後、第5の時刻に上記マスタ装置に第5のメッセージを発行する第2のメッセージ送信ステップと、
    上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された第6の時刻を示す時刻情報を含む第6のメッセージを受信する第4のメッセージ受信ステップと、
    上記第1のメッセージ受信ステップで上記第1のメッセージが受信された上記第2の時刻から上記第2のメッセージ受信ステップで受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記第3のメッセージ受信ステップで受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記第1のメッセージ送信ステップで上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記第2のメッセージ送信ステップで上記第5のメッセージが発行された上記第5の時刻に、上記第1の減算結果および上記第2の減算結果の加算平均値を加算して予想値を求める第3の演算ステップと、
    上記第3の演算ステップで求められた上記予想値が、上記第4のメッセージ受信ステップで受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記時計部のカウンタをカウントアップするためのクロックの周波数を上げるように補正し、上記予想値が上記第6の時刻より大きいとき、上記時計部のカウンタをカウントアップするためのクロックの周波数を下げるように補正するクロック周波数補正ステップ
    を備えるスレーブ装置の時刻同期方法。
  8. マスタ装置とスレーブ装置とからなる電子機器システムであって、
    上記マスタ装置は、
    カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    上記スレーブ装置にメッセージを送信するメッセージ送信部と、
    上記スレーブ装置から送られてくるメッセージを受信するメッセージ受信部を備え、
    上記メッセージ送信部は、第1の時刻に、上記スレーブ装置に、第1のメッセージを発行すると共に、上記第1の時刻の後に、上記スレーブ装置に、該第1の時刻を示す時刻情報を含む第2のメッセージを発行し、
    上記メッセージ受信部は、上記スレーブ装置において第3の時刻に発行された第3のメッセージを受信し、
    上記メッセージ送信部は、上記メッセージ受信部で上記第3のメッセージを受信した後に、上記スレーブ装置に、該第3のメッセージを受信した第4の時刻を示す時刻情報を含む第4のメッセージを発行し、
    上記メッセージ受信部は、上記スレーブ装置において、上記第3の時刻の後の第5の時刻に発行された第5のメッセージを受信し、
    上記メッセージ送信部は、上記メッセージ受信部で上記第5のメッセージを受信した後に、上記スレーブ装置に、該第5のメッセージを受信した第6の時刻を示す時刻情報を含む第6のメッセージを発行し、
    上記スレーブ装置は、
    カウンタにより構成され、時刻情報を出力する時計部と、
    上記カウンタをカウントアップするためのクロックを発生するクロック発生部と、
    上記マスタ装置から送られてくるメッセージを受信するメッセージ受信部と、
    上記マスタ装置にメッセージを送信するメッセージ送信部と、
    上記時計部の時刻の補正に必要な第1の値を求める第1の演算部と、
    上記第1の演算部で求められた第1の値に基づいて、上記時計部の時刻を補正する第1の補正部と、
    上記クロック発生部で発生されるクロックの周波数の補正に必要な第2の値を求める第2の演算部と、
    上記第2の演算部で求められた上記第2の値に基づいて、上記クロック発生部で発生されるクロックの周波数を補正する第2の補正部を備え、
    上記メッセージ受信部は、上記マスタ装置において上記第1の時刻に発行された上記第1のメッセージと、上記マスタ装置において上記第1の時刻の後に発行された、該第1の時刻を示す時刻情報を含む上記第2のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された時刻を第2の時刻とし、該第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して上記第1の値として第1の補正値を求め、
    上記第1の補正部は、上記時計部の時刻を、上記第1の演算部で求められた上記第1の補正値だけ減算した値となるように第1段階の補正を行い、
    上記メッセージ送信部は、上記第1の補正部で上記第1段階の補正が行われた後、上記第3の時刻に上記マスタ装置に上記第3のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第3のメッセージが受信された後に発行された、該第3のメッセージが受信された上記第4の時刻を示す時刻情報を含む上記第4のメッセージを受信し、
    上記第1の演算部は、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算し、該減算結果を1/2にして上記第1の値として第2の補正値を求め、
    上記第1の補正部は、上記第1段階の補正を行った後、上記時計部の時刻を、上記第1の演算部で求められた上記第2の補正値だけ加算した値となるように第2段階の補正を行い、
    上記メッセージ送信部は、上記第1の補正部で上記第2段階の補正が行われた後、上記第5の時刻に上記マスタ装置に上記第5のメッセージを発行し、
    上記メッセージ受信部は、上記マスタ装置において上記第5のメッセージが受信された後に発行された、該第5のメッセージが受信された上記第6の時刻を示す時刻情報を含む上記第6のメッセージを受信し、
    上記第2の演算部は、上記メッセージ受信部で上記第1のメッセージが受信された上記第2の時刻から上記メッセージ受信部で受信された上記第2のメッセージに含まれる時刻情報が示す上記第1の時刻を減算して第1の減算結果を求め、上記メッセージ受信部で受信された上記第4のメッセージに含まれる時刻情報が示す上記第4の時刻から上記メッセージ送信部で上記第3のメッセージが発行された上記第3の時刻を減算して第2の減算結果を求め、上記メッセージ送信部で上記第5のメッセージが発行された上記第5の時刻に、上記第1の減算結果および上記第2の減算結果の加算平均値を加算して上記第2の値を求め、
    上記第2の補正部は、上記第2の演算部で求められた上記第2の値が、上記メッセージ受信部で受信された上記第6のメッセージに含まれる時刻情報が示す上記第6の時刻より小さいとき、上記クロック発生部で発生されるクロックの周波数を上げるように補正し、上記第2の値が上記第6の時刻より大きいとき、上記クロック発生部で発生されるクロックの周波数を下げるように補正する
    電子機器システム。
JP2009045102A 2009-02-27 2009-02-27 スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム Expired - Fee Related JP4766128B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009045102A JP4766128B2 (ja) 2009-02-27 2009-02-27 スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム
US12/692,062 US8249115B2 (en) 2009-02-27 2010-01-22 Slave device, time synchronization method in slave device, master device, and electronic equipment system
CN2010101147749A CN101820500B (zh) 2009-02-27 2010-02-20 从装置、从装置的时刻同步化方法、主装置以及电子设备系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009045102A JP4766128B2 (ja) 2009-02-27 2009-02-27 スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム

Publications (2)

Publication Number Publication Date
JP2010197320A JP2010197320A (ja) 2010-09-09
JP4766128B2 true JP4766128B2 (ja) 2011-09-07

Family

ID=42655419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009045102A Expired - Fee Related JP4766128B2 (ja) 2009-02-27 2009-02-27 スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム

Country Status (3)

Country Link
US (1) US8249115B2 (ja)
JP (1) JP4766128B2 (ja)
CN (1) CN101820500B (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010190635A (ja) 2009-02-17 2010-09-02 Sony Corp スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
EP2461501A1 (en) * 2010-12-01 2012-06-06 Alcatel Lucent Tunnel follow-up message for transparent clock
KR101484871B1 (ko) * 2011-02-25 2015-01-28 미쓰비시덴키 가부시키가이샤 마스터 장치와 슬레이브 장치 및 시각 동기 방법
JP2012195796A (ja) * 2011-03-17 2012-10-11 Hitachi Consumer Electronics Co Ltd 符号化信号送信装置
JP5697743B2 (ja) * 2011-03-09 2015-04-08 日立マクセル株式会社 映像送信装置、映像送信方法、映像受信装置、および映像受信方法
US8949648B2 (en) * 2011-04-13 2015-02-03 Semtech Corp. System and method to overcome wander accumulation to achieve precision clock distribution over large networks
US8745430B2 (en) 2011-04-27 2014-06-03 Apple Inc. Clock synchronization across an interface with an intermittent clock signal
JP2013083450A (ja) * 2011-10-06 2013-05-09 Sony Corp 時刻制御装置、時刻制御方法、およびプログラム
JP2013083451A (ja) * 2011-10-06 2013-05-09 Sony Corp 時刻制御装置、時刻制御方法、およびプログラム
JP2013092515A (ja) * 2011-10-06 2013-05-16 Sony Corp 周波数差検出装置、周波数差検出方法、およびプログラム
JP5811794B2 (ja) 2011-11-16 2015-11-11 富士通株式会社 通信装置
CN103597887B (zh) * 2011-12-21 2017-10-10 华为技术有限公司 一种同步方法、设备及系统
JP2013134119A (ja) 2011-12-26 2013-07-08 Sony Corp 送信装置、送信方法、受信装置、受信方法、同期伝送システム、同期伝送方法、およびプログラム
JP2013172280A (ja) * 2012-02-21 2013-09-02 Sony Corp 送信装置、送信方法、およびプログラム、並びに通信システム
KR101406263B1 (ko) * 2012-08-01 2014-06-12 주식회사 모텍스 Rfid 인코딩 시스템 및 이를 이용한 rfid 태그 발행 방법
US20140081593A1 (en) * 2012-09-14 2014-03-20 Dustin Delany Hess Monitoring system, monitor, and method for monitoring a rotating device
JP5905811B2 (ja) * 2012-10-23 2016-04-20 日本電信電話株式会社 周波数同期精度監視方法、周波数同期精度監視装置、通信方法、及び通信システム
WO2014068629A1 (ja) * 2012-10-29 2014-05-08 株式会社日立製作所 映像処理装置、映像送信装置、映像受信装置、映像処理方法、映像送信方法、及び映像受信方法。
TWI505698B (zh) * 2012-12-06 2015-10-21 Inst Information Industry 多視角畫面之同步顯示系統以及多視角畫面之同步顯示方法
WO2014110174A1 (en) * 2013-01-08 2014-07-17 Aviat Netwoks, Inc. Systems and methods for transporting a clock signal over a network
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US9488964B2 (en) * 2014-06-27 2016-11-08 Apple Inc. Methods for maintaining accurate timing information on portable electronic devices
US10178281B2 (en) * 2014-07-28 2019-01-08 Starkey Laboratories, Inc. System and method for synchronizing audio and video signals for a listening system
JP6476725B2 (ja) * 2014-10-16 2019-03-06 富士通株式会社 伝送装置及び時刻同期方法
JP2015149761A (ja) * 2015-04-13 2015-08-20 日立マクセル株式会社 符号化信号送信装置
CN106210708B (zh) * 2015-04-30 2019-02-01 杭州海康威视数字技术股份有限公司 一种图像延迟的检测方法和系统
GB2536318B (en) * 2015-09-09 2018-02-14 Imagination Tech Ltd Synchronising devices
JP6834642B2 (ja) * 2017-03-21 2021-02-24 株式会社明電舎 時刻補正方法
EP3623835A1 (en) * 2018-09-14 2020-03-18 Hitech & Development Wireless Sweden AB Clock drift determination
CN112703705A (zh) * 2018-09-21 2021-04-23 三菱电机株式会社 通信装置、通信系统、通信方法及通信程序
JP2020091134A (ja) * 2018-12-04 2020-06-11 日本電信電話株式会社 時刻伝送補正装置、時刻伝送システム、および、遅延測定方法
JP7404789B2 (ja) * 2019-11-01 2023-12-26 オムロン株式会社 制御システム、制御システムの通信制御方法、および制御装置
FR3103667A1 (fr) * 2019-11-27 2021-05-28 Sagemcom Broadband Sas Equipement décodeur transmettant des métadonnées à un équipement auxiliaire pour le piloter
CN111107020B (zh) * 2019-12-31 2022-01-11 苏州盛科通信股份有限公司 一种多核心以太网交换芯片时间同步的方法
EP3866019A1 (en) * 2020-02-17 2021-08-18 Be Spoon Clock-error estimation for two-clock electronic device
JP2022096504A (ja) * 2020-12-17 2022-06-29 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
KR20220167849A (ko) * 2021-06-14 2022-12-22 삼성디스플레이 주식회사 송수신기 및 그 구동 방법
CN114390666B (zh) * 2022-01-28 2023-08-15 高新兴物联科技股份有限公司 一种通信模组时间同步方法、设备及计算机可读存储介质
CN114827576A (zh) * 2022-04-20 2022-07-29 深圳看到科技有限公司 多相机同步校正方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07128463A (ja) * 1993-11-08 1995-05-19 Nippon Telegr & Teleph Corp <Ntt> 通信装置の時刻管理方式
JP2000258565A (ja) * 1999-03-09 2000-09-22 Sony Corp 時刻補正装置及びこれを具備した時計、並びに機器
EP1094374B1 (en) * 1999-10-20 2007-12-05 Sony Deutschland GmbH Mobile terminal for a wireless telecommunication system with accurate real time generation
JP4616054B2 (ja) * 2005-04-12 2011-01-19 日置電機株式会社 測定システム
KR20070070299A (ko) * 2005-07-06 2007-07-04 삼성전자주식회사 레지덴셜 이더넷 시스템에서의 시간 동기화 방법

Also Published As

Publication number Publication date
US20100220748A1 (en) 2010-09-02
CN101820500A (zh) 2010-09-01
CN101820500B (zh) 2012-09-05
JP2010197320A (ja) 2010-09-09
US8249115B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
JP4766128B2 (ja) スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム
JP2010190635A (ja) スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
US8428045B2 (en) Media clock recovery
WO2014083725A1 (ja) 同期装置、同期システム、無線通信装置及び同期方法
JP2013134119A (ja) 送信装置、送信方法、受信装置、受信方法、同期伝送システム、同期伝送方法、およびプログラム
US20130215910A1 (en) Transmission apparatus, transmission method, program, and communication system
US8949648B2 (en) System and method to overcome wander accumulation to achieve precision clock distribution over large networks
JP2018191226A (ja) 同期信号出力装置、制御方法、及び、プログラム
CN105207767B (zh) 一种ptp主时钟与从时钟之间频率同步的方法及装置
JP2010278546A (ja) 時刻同期網及び通信装置
WO2013051446A1 (ja) 時刻制御装置、時刻制御方法、およびプログラム
JP2014238357A (ja) 受信装置、時刻差算出方法、およびプログラム
CN107800529B (zh) 一种网络节点的时钟频率同步方法
JP2007282093A (ja) クロック信号発生装置及び方法
JP2023519041A (ja) 時刻同期方法及び装置、ネットワークノード機器
GB2485977A (en) Audio playback system
US20170117980A1 (en) Time synchronization for network device
CN116318510A (zh) 数字会议系统及其音频时钟同步方法
TWM628940U (zh) 主控裝置及僕裝置
JP2018125768A (ja) データ伝送装置及びプログラム
WO2014073293A1 (ja) 通信装置、通信システム、および同期処理方法、並びにプログラム
CN114520703A (zh) 用于工业网络设备间时间同步的时钟漂移补偿方法及电路
CN114513273B (zh) Ptp芯片时钟模块的实现方法和装置
JP2021190868A (ja) 映像同期装置、映像同期装置の制御方法及びプログラム
JP2021077940A (ja) 映像信号を受信する受信機

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110530

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees