JP2013083450A - 時刻制御装置、時刻制御方法、およびプログラム - Google Patents
時刻制御装置、時刻制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2013083450A JP2013083450A JP2011221470A JP2011221470A JP2013083450A JP 2013083450 A JP2013083450 A JP 2013083450A JP 2011221470 A JP2011221470 A JP 2011221470A JP 2011221470 A JP2011221470 A JP 2011221470A JP 2013083450 A JP2013083450 A JP 2013083450A
- Authority
- JP
- Japan
- Prior art keywords
- feedback control
- time
- control value
- value
- calculated
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 13
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000012935 Averaging Methods 0.000 claims description 18
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 230000010355 oscillation Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
【課題】ネットワーク上のマスタ機器との間で時刻情報を高精度に同期させる。
【解決手段】本開示の一側面である時刻制御装置は、マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部とを備える。本開示は、例えば、PTPスレーブに適用できる。
【選択図】図3
【解決手段】本開示の一側面である時刻制御装置は、マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部とを備える。本開示は、例えば、PTPスレーブに適用できる。
【選択図】図3
Description
本開示は、時刻制御装置、時刻制御方法、およびプログラムに関し、特に、ネットワーク上に存在するマスタ機器との間で時刻情報を高い精度で同期させる場合に用いて好適な時刻制御装置、時刻制御方法、およびプログラムに関する。
従来、ネットワークを介して接続されている装置間でそれぞれの時刻情報を同期させる仕組みが存在し、その代表的なものとしてIEEE1588PTP(precision time protocol)が知られている(例えば、特許文献1参照)。
IEEE1588PTPによれば、ネットワークを介して接続されているマスタ機器(以下、PTPマスタと称する)とスレーブ機器(以下、PTPスレーブと称する)との間でPTPメッセージを通信することにより、PTPマスタの時刻情報T1に対して、PTPスレーブの時刻情報T2をsubμsecの高精度で同期させることができる。具体的には、PTPマスタ内部の発振周波数F1にPTPスレーブ内部の発振周波数F2を同期させ、その後、時刻情報T1に時刻情報T2を同期させることができる。
図1は、IEEE1588PTPを利用した従来の高精度時刻同期処理の概要を示している。
PTPマスタは、発振周波数F1に基づく所定の周期Δmで、送信時刻T1iを示すタイムスタンプを含むPTPメッセージとしてのSyncメッセージを、ネットワーク上に送信するようになされている。一方、PTPスレーブは、PTPマスタが送信したSyncメッセージを受信すると、そこに含まれる送信時刻T1iを示すタイムスタンプを抽出するとともに、その受信時刻T2iを取得するようになされている。すなわち、PTPスレーブは、Syncパケットを受信する毎に、送信時刻T1iと受信時刻T2iを得ることになる。
また、PTPスレーブは、PTPメッセージとしてのDelay_reqを、ネットワークを介してPTPマスタに送信し、そのときの送信時刻T2Xを記憶するようになされている。これを受信したPTPマスタは、その受信時刻T1Xを示すタイムスタンプを含めたDelay_resをPTPメッセージとしてのPTPスレーブに返信するようになされている。すなわち、PTPスレーブは、Delay_reqを送信し、それに応じてPTPマスタから返信されるDelay_resを受信することにより、Delay_reqの送信時刻T2Xと受信時刻T1Xを得ることになる。
なお、Syncメッセージ、Delay_req、Delay_resなどのPTPメッセージを、ネットワークを介して通信するために要する時間(以下、ネットワーク遅延と称する)は変動せず常に一定であると仮定する。
この場合、PTPマスタの発振周波数F1に対してPTPスレーブの発振周波数F2が完全に同期していれば、PTPマスタにおけるSyncメッセージの送信間隔Δm=T12−T11とPTPスレーブにおけるSyncメッセージの受信間隔Δs=T22−T21が等しくなる。換言すれば、ΔmとΔsの差Δm−Δsが0ではない場合、PTPマスタの発振周波数F1に対してPTPスレーブの発振周波数F2は誤差があって同期していない。
したがって、周波数同期については、PTPスレーブにおいて、ΔmとΔsの差Δm−Δsが0になるように、発振周波数F2を調整すればよい。以下、ΔmとΔsの差Δm−Δsを周波数ずれと称する。周波数ずれは、次式(1)に従って算出する。
周波数ずれΔm−Δs
=(T12−T11)−(T22−T21)=(T21−T11)−(T22−T12)
・・・(1)
=(T12−T11)−(T22−T21)=(T21−T11)−(T22−T12)
・・・(1)
時刻同期については、上述したように周波数同期を確立した後、PTPスレーブがDelay_reqを送信し、その返信であるDelay_resを受信することにより、Delay_reqの送信時刻T23と受信時刻T13を得るようにする。
PTPマスタの時刻情報T1に対するPTPスレーブの時刻情報T2の差を時刻差とすれば、次式(2)および(3)が成立し、式(2)および(3)より次式(4)が求まる。
受信時刻T22−送信時刻T12=ネットワーク遅延+時刻差
・・・(2)
受信時刻T13−送信時刻T23=ネットワーク遅延−時刻差
・・・(3)
時刻差={(T22−T13)−(T12−T23)}/2
・・・(4)
受信時刻T22−送信時刻T12=ネットワーク遅延+時刻差
・・・(2)
受信時刻T13−送信時刻T23=ネットワーク遅延−時刻差
・・・(3)
時刻差={(T22−T13)−(T12−T23)}/2
・・・(4)
PTPスレーブにおいては、式(4)に示された時刻差が0となるように、時刻情報T2を調整すればよい。
図2は、PTPスレーブにおいて時刻同期を確立するための時刻制御装置の構成の一例を示している。
この時刻制御装置10は、減算部11,12,13、除算部14、平均値算出部15、PID(proportional integral differential)処理部16、および時刻調整部17から構成される。
減算部11は、上述した式(2)に出現する受信時刻T22−送信時刻T12を算出して減算部13に出力する。減算部12は、上述した式(3)に出現する受信時刻T23−送信時刻T13を算出して減算部13に出力する。減算部13および除算部14は、上述した式(4)で示される時刻差を算出して平均値算出部15に出力する。
平均値算出部15は、前段の除算部14から入力される時刻差を最新のものから順に所定の数だけ保持しており、除算部14から時刻差が入力される毎、保持している所定の数の時刻差との平均値を算出してPID処理部16に出力する。
PID処理部16は、平均値算出部15からの時刻差の平均値を入力とし、後段の時刻調整部17をPID制御するためのフィードバック制御値f1を算出して時刻調整部17に出力する。時刻調整部17は、フィードバック制御値f1に基づいて時刻情報T2を調整する。
ところで、PTPマスタとPTPスレーブが接続されている当該ネットワーク上に映像信号などの高容量のパケットが高速で流されるとネットワークに輻輳が生じてしまい、上述したPTPメッセージのネットワーク遅延が一時的に増加してしまうことが起こり得る。
このような場合、上述した仮定「PTPメッセージのネットワーク遅延は変動せず常に一定である」が成立しなくなってしまうので、上述した方法では周波数同期や時刻同期を正確に実行することができなかった。
本開示はこのような状況に鑑みてなされたものであり、ネットワーク上のマスタ機器との間で時刻情報を高精度に同期できるようにするものである。
本開示の一側面である時刻制御装置は、スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させる時刻制御装置において、前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部とを備える。
前記調整部は、算出された前記ネットワーク遅延がその最小値から所定の範囲の値である場合には前記フィードバック制御値f1に従って前記スレーブ機器の時刻情報を調整し、算出された前記ネットワーク遅延がその最小値から所定の範囲外の値である場合には前記フィードバック制御値f0に従って前記スレーブ機器の時刻情報を調整することができる。
前記f0生成部は、所定の条件を満たすときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、算出された前記時刻差が0であるときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、算出された前記時刻差が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、算出された前記ネットワーク遅延が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、 所定の動作開始期間において、算出された前記時刻差が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、前記所定の動作開始期間終了後において、算出された前記時刻差が0であるときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、所定の動作開始期間において、算出された前記時刻差が第1の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、前記所定の動作開始期間終了後において、算出された前記時刻差が前記第1の閾値よりも小さな第2の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
前記f0生成部は、所定の動作開始期間において、算出された前記ネットワーク遅延が第1の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、前記所定の動作開始期間終了後において、算出された前記ネットワーク遅延が前記第1の閾値よりも小さな第2の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成することができる。
本開示の一側面である時刻制御方法は、スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させる時刻制御装置の時刻制御方法において、前記時刻制御装置による、前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出ステップと、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理ステップと、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成ステップと、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整ステップとを含む。
本開示の一側面であるプログラムは、スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させるコンピュータを、前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部として機能させる。
本開示の一側面においては、マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延が算出され、算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1が生成され、生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0が生成される。そして、算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報が調整される。
本開示の一側面によれば、ネットワーク上のマスタ機器との間で時刻情報を高精度に同期させることができる。
以下、本開示を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。
本開示の実施の形態である時刻制御装置は、ネットワーク上のPTPマスタ(マスタ機器)とPTPメッセージを通信することにより、PTPマスタとの間で時刻情報を同期させるPTPスレーブ(スレーブ機器)に内蔵されるものである。なお、PTPマスタとの間で時刻情報を同期させるに先立ち、既にPTPスレーブの発振周波数F2については、PTPマスタの発振周波数F1と高精度に同期が確立しているものとする。
[時刻制御装置の構成例]
図3は、実施の形態である時刻制御装置の構成例を示している。この時刻制御装置30は、ネットワーク遅延・時刻差算出部31、スイッチ37、最小値検出部38、比較部39、PID処理部40、f0生成部41、セレクタ42、および時刻調整部43から構成される。
図3は、実施の形態である時刻制御装置の構成例を示している。この時刻制御装置30は、ネットワーク遅延・時刻差算出部31、スイッチ37、最小値検出部38、比較部39、PID処理部40、f0生成部41、セレクタ42、および時刻調整部43から構成される。
ネットワーク遅延・時刻差算出部31は、減算部32乃至34、除算部35、および加算部36からなる。
減算部32は、上述した式(2)に出現する受信時刻T22−送信時刻T12を算出して減算部34および加算部36に出力する。減算部33は、上述した式(3)に出現する受信時刻T23−送信時刻T13を算出して減算部34および加算部36に出力する。減算部34および除算部35は、上述した式(4)に従い、時刻差を算出してスイッチ37に出力する。加算部36は、上述した式(2)および式(3)を加算することによりネットワーク遅延×2を算出して最小値検出部38および比較部39に出力する。
スイッチ37は、比較部39からの制御に従ってオン、オフすることにより、ネットワーク遅延・時刻差算出部31の除算部35から入力される時間差をPID処理部40およびf0生成部41に出力する。
最小値検出部38は、ネットワーク遅延・時刻差算出部31の加算部36から入力されるネットワーク遅延×2を随時監視し、その入力値が保持している最小値よりも小さい場合には、その入力値により保持する最小値を更新する。また、最小値検出部38は、保持する最小値を比較部39に通知する。
比較部39は、加算部36から入力されるネットワーク遅延×2が、最小値検出部38にて保持されている最小値を基準とする所定の閾値以下であるか否かを判定し、判定結果に基づいてスイッチ37およびセレクタ42を制御する。具体的には、判定結果が肯定である場合、スイッチ37をオンとし、セレクタ42を入力端子42a側にスイッチングさせる。反対に、判定結果が否定である場合、スイッチ37をオフとし、セレクタ42を入力端子42b側にスイッチングさせる。
PID処理部40は、スイッチ37を介するネットワーク遅延・時刻差算出部31からの時刻差を入力とし、後段の時刻調整部43をPID制御するためのフィードバック制御値f1を算出してセレクタ42の入力端子42aおよびf0生成部41に出力する。
f0生成部41は、PID処理部40から順次入力されるフィードバック制御値f1のうち、スイッチ37を介してネットワーク遅延・時刻差算出部31から入力される時刻差が所定の条件を満たすときのタイミングで入力されるものを複数保持する。また、f0生成部41は、保持する複数のフィードバック制御値f1を平均化することによりフィードバック制御値f0を算出してセレクタ42の入力端子42bに出力する。
セレクタ42は、比較部39からの制御に従い、入力端子42aに入力されるフィードバック制御値f1、または入力端子42bに入力されるフィードバック制御値f0を時刻調整部43に出力する。時刻調整部43は、フィードバック制御値f0またはフィードバック制御値f1に基づいて内部時計の時刻情報T2を調整する。
[f0生成部41の第1の構成例]
図4は、f0生成部41の第1の構成例を示している。
図4は、f0生成部41の第1の構成例を示している。
f0生成部41の第1の構成例は、タイミング生成部50、ラッチ51、遅延部52−1乃至52−N、および平均値算出部53から構成される。
タイミング生成部50は、スイッチ37を介してネットワーク遅延・時刻差算出部31から入力される時刻差を監視し、時刻差が0であるときにラッチ51に対する制御信号を出力する。
ラッチ51は、PID処理部40から順次入力されるフィードバック制御値f1のうち、タイミング生成部50から制御信号が入力されるタイミングで入力されるものを遅延部52−1および平均値算出部53に出力する。
遅延部52−1は、ラッチ51からフィードバック制御値f1が入力される場合、それまで保持していたフィードバック制御値f1を後段の遅延部52−2および平均値算出部53に出力するとともに、ラッチ51から入力されるフィードバック制御値f1を保持する。同様に、遅延部51−2乃至52−Nは、前段からフィードバック制御値f1が入力される場合、それまで保持していたフィードバック制御値f1を後段に出力するとともに、前段から入力されるフィードバック制御値f1を保持する。
平均値算出部53は、ラッチ51および遅延部52−1乃至52−Nから入力されるN+1個のフィードバック制御値f1の平均値を算出してセレクタ42の入力端子42bに出力する。
なお、タイミング生成部50において、時刻差が0であるときにラッチ51に対する制御信号を出力する代わりに、時刻差が所定の閾値よりも小さいときにラッチ51に対する制御信号を出力するようにしてもよい。あるいは、加算部36にて算出されたネットワーク遅延をタイミング生成部50に入力するようにし、ネットワーク遅延が所定の閾値よりも小さいときにラッチ51に対する制御信号を出力するようにしてもよい。
[動作説明]
次に、時刻制御装置30の動作について説明する。図5は、時刻制御装置30による時刻制御処理を説明するフローチャートである。
次に、時刻制御装置30の動作について説明する。図5は、時刻制御装置30による時刻制御処理を説明するフローチャートである。
この時刻制御処理は、所定の間隔で定期的に実行される。ステップS1において、ネットワーク遅延・時刻差算出部31の減算部32は、上述した式(2)に出現する受信時刻T22−送信時刻T12を算出して減算部34および加算部36に出力する。ステップS2において、減算部33は、上述した式(3)に出現する受信時刻T23−送信時刻T13を算出して減算部34および加算部36に出力する。
ステップS3において、減算部34および除算部35は、上述した式(4)に従い、時刻差を算出してスイッチ37に出力する。加算部36は、上述した式(2)および式(3)を加算することによりネットワーク遅延×2を算出して最小値検出部38および比較部39に出力する。
ステップS4において、比較部39は、加算部36から入力されたネットワーク遅延×2が、最小値検出部38にて保持されている最小値を基準とする所定の閾値以下であるか否かを判定する。ここで、判定結果が肯定である場合、処理はステップS5に進められる。
ステップS5において、スイッチ37は、比較部39からの制御に従ってオンとされる。PID処理部40は、スイッチ37を介してネットワーク遅延・時刻差算出部31から入力された時刻差に基づき、時刻調整部43をPID制御するためのフィードバック制御値f1を算出してセレクタ42の入力端子42aおよびf0生成部41に出力する。
ステップS6において、f0生成部41は、PID処理部40から順次入力されるフィードバック制御値f1に基づき、フィードバック制御値f0を算出してセレクタ42の入力端子42bに出力する。
ステップS7において、セレクタ42は、比較部39からの制御に従い、入力端子42a側にスイッチングし、時刻調整部43に対してフィードバック制御値f1を出力する。ステップS8において、時刻調整部43は、フィードバック制御値f1に基づいて内部時計の時刻情報T2を調整する。
なお、ステップS4において、判定結果が否定である場合、処理はステップS9に進められる。ステップS9において、スイッチ37は、比較部39からの制御に従ってオフとされる。また、セレクタ42は、比較部39からの制御に従い、入力端子42b側にスイッチングし、ステップS6にて生成されているフィードバック制御値f0を時刻調整部43に出力する。以上で、時刻制御処理は終了される。
以上説明したように、時刻制御装置30による時刻制御処理によれば、ネットワーク遅延が大きい場合(ネットワーク遅延×2が所定の閾値以上である場合)においても、時刻差が0であるときの複数のフィードバック制御値f1の平均値であるフィードバック制御値f0に基づいて、時刻調整部43にて時刻情報T2の調整が行われる。したがって、ネットワーク遅延が大きい場合(ネットワーク遅延×2が所定の閾値以上である場合)には時刻調整を行わない従来に比較して、マスタ機器の時刻情報T1とのずれを小さくすることができる。
[f0生成部41の第2の構成例]
図6は、f0生成部41の第2の構成例を示している。
図6は、f0生成部41の第2の構成例を示している。
f0生成部41の第2の構成例は、カウンタ61、比較部62、第1タイミング生成部63、第2タイミング生成部64、ラッチ51、遅延部52−1乃至52−N、および平均値算出部53から成る。
カウンタ61は、時刻制御装置30の動作開始時に0にリセットされ、その後、PID処理部40からフィードバック制御値f1が入力される毎に1ずつカウントアップし、そのカウント値を比較部62に通知する。比較部62は、カウンタ61のカウント値と所定の固定値とを比較し、比較結果に応じて第1タイミング生成部63または第2タイミング生成部64を動作させる。具体的には、カウント値が所定の固定値を越えるまでは第1タイミング生成部63を動作させ、カウント値が所定の固定値を越えた後は第2タイミング生成部64を動作させる。
第1タイミング生成部63は、スイッチ37を介してネットワーク遅延・時刻差算出部31から入力される時刻差を監視し、時刻差が所定の閾値(正の数)よりも小さいときにラッチ51に対する制御信号を出力する。
第2タイミング生成部64は、スイッチ37を介してネットワーク遅延・時刻差算出部31から入力される時刻差を監視し、時刻差が0であるときにラッチ51に対する制御信号を出力する。
ラッチ51、遅延部52−1乃至52−N、および平均値算出部53については、図4に示されたf0生成部41の第1の構成例と同様であるので、その説明は省略する。
f0生成部41の第2の構成例によれば、図4に示されたf0生成部41の第1の構成例に比較し、時刻制御装置30の動作開始の初期においては、ラッチ51に対する制御信号の発生頻度が高くなるので、フィードバック制御値f0をより早く生成することができる。なお、このとき生成されるフィードバック制御値f0は、時刻差=0に対するフィードバック制御値f1に基づくものではなく、フィードバック制御値f1に誤差(正負ランダム分布)も含まれている。しかしながら、フィードバック制御値f0は複数のフィードバック制御値f1の平均値なので、その誤差も互いに相殺されて低減することが期待できる。
したがって、ネットワーク遅延×2が最小値検出部38にて保持されている最小値を基準とする所定の閾値よりも大きく、時刻調整部43にフィードバック制御値f0が入力される場合において、第1の構成例を採用した場合に比較して、より短時間で時刻調整を行うことが可能である。
さらに、ネットワーク遅延×2が最小値検出部38にて保持されている最小値を基準とする所定の閾値以下であり、時刻調整部43にフィードバック制御値f1が入力される場合において、第1の構成例と同じ精度で時刻調整を行うことができる。
なお、第1タイミング生成部63にて時刻差が所定の閾値よりも小さいか否かを判定し、第2タイミング生成部64にて時刻差が0であるか否かを判定する代わりに、第1タイミング生成部63にて時刻差が所定の第1の閾値よりも小さいか否かを判定し、第2タイミング生成部64にて時刻差が第1の閾値よりも小さな第2の閾値よりも小さいか否かを判定するようにしてもよい。
あるいは、第1タイミング生成部63にてネットワーク遅延が所定の第1の閾値よりも小さいか否かを判定し、第2タイミング生成部64にてネットワーク遅延が第1の閾値よりも小さな第2の閾値よりも小さいか否かを判定するようにしてもよい。
ところで、上述した時刻制御装置30による一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図7は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、およびドライブ110が接続されている。
入力部106は、キーボード、マウス、マイクロフォンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア111を駆動する。
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
30 時刻制御装置, 31 ネットワーク遅延・時刻差算出部, 32乃至34 減算部, 35 除算部, 36 加算部, 37 スイッチ, 38 最小値検出部, 39 比較部, 40 PID処理部, 41 f0生成部, 42 セレクタ, 43 時刻調整部, 50 タイミング生成部, 51 ラッチ, 52 遅延部, 53 平均値算出部, 61 カウンタ, 62 比較部, 63 第1タイミング生成部, 64 第2タイミング生成部
Claims (11)
- スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させる時刻制御装置において、
前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、
算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、
生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、
算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部と
を備える時刻制御装置。 - 前記調整部は、算出された前記ネットワーク遅延がその最小値から所定の範囲の値である場合には前記フィードバック制御値f1に従って前記スレーブ機器の時刻情報を調整し、算出された前記ネットワーク遅延がその最小値から所定の範囲外の値である場合には前記フィードバック制御値f0に従って前記スレーブ機器の時刻情報を調整する
請求項1に記載の時刻制御装置。 - 前記f0生成部は、所定の条件を満たすときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項2に記載の時刻制御装置。 - 前記f0生成部は、算出された前記時刻差が0であるときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - 前記f0生成部は、算出された前記時刻差が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - 前記f0生成部は、算出された前記ネットワーク遅延が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - 前記f0生成部は、
所定の動作開始期間において、算出された前記時刻差が所定の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、
前記所定の動作開始期間終了後において、算出された前記時刻差が0であるときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - 前記f0生成部は、
所定の動作開始期間において、算出された前記時刻差が第1の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、
前記所定の動作開始期間終了後において、算出された前記時刻差が前記第1の閾値よりも小さな第2の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - 前記f0生成部は、
所定の動作開始期間において、算出された前記ネットワーク遅延が第1の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成し、
前記所定の動作開始期間終了後において、算出された前記ネットワーク遅延が前記第1の閾値よりも小さな第2の閾値よりも小さいときに生成された複数の前記フィードバック制御値f1を平均化することにより前記フィードバック制御値f0を生成する
請求項3に記載の時刻制御装置。 - スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させる時刻制御装置の時刻制御方法において、
前記時刻制御装置による、
前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出ステップと、
算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理ステップと、
生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成ステップと、
算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整ステップと
を含む時刻制御方法。 - スレーブ機器に内蔵され、ネットワークを介して接続されたマスタ機器との間で時刻情報を同期させるコンピュータを、
前記マスタ機器との間で送受信したメッセージの送受信時刻に基づいて、前記マスタ機器との時刻差、および前記メッセージを前記ネットワークを介して通信するために要する時間を示すネットワーク遅延を算出する算出部と、
算出された前記時刻差に基づき、前記スレーブ機器の時刻情報をフィードバック制御するためのフィードバック制御値f1を生成するPID処理部と、
生成された前記フィードバック制御値f1に基づいてフィードバック制御値f0を生成するf0生成部と、
算出された前記ネットワーク遅延に基づいて選択された前記フィードバック制御値f1または前記フィードバック制御値f0に従い、前記スレーブ機器の時刻情報を調整する調整部と
して機能させるプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011221470A JP2013083450A (ja) | 2011-10-06 | 2011-10-06 | 時刻制御装置、時刻制御方法、およびプログラム |
CN201280047854.4A CN103842917A (zh) | 2011-10-06 | 2012-09-27 | 时间控制装置、时间控制方法和程序 |
PCT/JP2012/074833 WO2013051446A1 (ja) | 2011-10-06 | 2012-09-27 | 時刻制御装置、時刻制御方法、およびプログラム |
US14/348,852 US20140241381A1 (en) | 2011-10-06 | 2012-09-27 | Time control device, time control method, and program |
EP12838784.2A EP2749968A1 (en) | 2011-10-06 | 2012-09-27 | Time control device, time control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011221470A JP2013083450A (ja) | 2011-10-06 | 2011-10-06 | 時刻制御装置、時刻制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013083450A true JP2013083450A (ja) | 2013-05-09 |
Family
ID=48043607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011221470A Abandoned JP2013083450A (ja) | 2011-10-06 | 2011-10-06 | 時刻制御装置、時刻制御方法、およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20140241381A1 (ja) |
EP (1) | EP2749968A1 (ja) |
JP (1) | JP2013083450A (ja) |
CN (1) | CN103842917A (ja) |
WO (1) | WO2013051446A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017005701A (ja) * | 2015-06-05 | 2017-01-05 | アナログ デバイシズ グローバルAnalog Devices Global | マスタークロックにスレーブクロックを同期させる方法及び装置 |
JP2018110326A (ja) * | 2017-01-04 | 2018-07-12 | 株式会社東芝 | 同期装置、同期方法、同期プログラム、および同期システム |
JP2021076433A (ja) * | 2019-11-07 | 2021-05-20 | セイコーソリューションズ株式会社 | クロック調整装置、プログラム、及びクロック調整方法 |
JP2021076434A (ja) * | 2019-11-07 | 2021-05-20 | セイコーソリューションズ株式会社 | クロック調整装置、方法、及びプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013083451A (ja) * | 2011-10-06 | 2013-05-09 | Sony Corp | 時刻制御装置、時刻制御方法、およびプログラム |
EP2747316A3 (en) * | 2012-12-24 | 2018-01-03 | Akademia Gorniczo-Hutnicza im. Stanislawa Staszica w Krakowie | A system and a method for synchronization and transmission of information in a distributed measurement and control system |
TWI513230B (zh) * | 2013-04-29 | 2015-12-11 | Ind Tech Res Inst | 支援用戶端設備廣域管理協定之遠端管理系統及裝置及其提升遠端管理效能之方法 |
CN107636627B (zh) * | 2015-06-08 | 2020-12-29 | 三菱电机株式会社 | 时刻同步装置、时刻同步系统及时刻同步方法 |
JP6528807B2 (ja) * | 2017-06-28 | 2019-06-12 | オムロン株式会社 | 制御システム、制御装置、結合方法およびプログラム |
EP3832287B1 (en) * | 2018-07-31 | 2023-10-04 | Shimadzu Corporation | Material testing machine |
EP4199384A1 (en) * | 2021-12-14 | 2023-06-21 | u-blox AG | Method and apparatus for determining a clock frequency offset |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001116865A (ja) * | 1999-10-15 | 2001-04-27 | Toshiba Corp | 時計回路 |
WO2005077063A2 (en) * | 2004-02-09 | 2005-08-25 | Semtech Corporation | Method and apparatus for aligning time references when separated by an unreliable data packet network |
US20070147435A1 (en) * | 2005-12-23 | 2007-06-28 | Bruce Hamilton | Removing delay fluctuation in network time synchronization |
JP2010190635A (ja) * | 2009-02-17 | 2010-09-02 | Sony Corp | スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム |
JP4766128B2 (ja) * | 2009-02-27 | 2011-09-07 | ソニー株式会社 | スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム |
CN102136900B (zh) * | 2010-01-22 | 2014-11-05 | 华为技术有限公司 | 无源光网络的时间同步方法、装置及系统 |
-
2011
- 2011-10-06 JP JP2011221470A patent/JP2013083450A/ja not_active Abandoned
-
2012
- 2012-09-27 EP EP12838784.2A patent/EP2749968A1/en not_active Withdrawn
- 2012-09-27 WO PCT/JP2012/074833 patent/WO2013051446A1/ja active Application Filing
- 2012-09-27 CN CN201280047854.4A patent/CN103842917A/zh active Pending
- 2012-09-27 US US14/348,852 patent/US20140241381A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017005701A (ja) * | 2015-06-05 | 2017-01-05 | アナログ デバイシズ グローバルAnalog Devices Global | マスタークロックにスレーブクロックを同期させる方法及び装置 |
JP2018110326A (ja) * | 2017-01-04 | 2018-07-12 | 株式会社東芝 | 同期装置、同期方法、同期プログラム、および同期システム |
JP2021076433A (ja) * | 2019-11-07 | 2021-05-20 | セイコーソリューションズ株式会社 | クロック調整装置、プログラム、及びクロック調整方法 |
JP2021076434A (ja) * | 2019-11-07 | 2021-05-20 | セイコーソリューションズ株式会社 | クロック調整装置、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2013051446A1 (ja) | 2013-04-11 |
EP2749968A1 (en) | 2014-07-02 |
US20140241381A1 (en) | 2014-08-28 |
CN103842917A (zh) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013051446A1 (ja) | 時刻制御装置、時刻制御方法、およびプログラム | |
WO2013051447A1 (ja) | 時刻制御装置、時刻制御方法、およびプログラム | |
JP2013152095A (ja) | 時刻制御装置、時刻制御方法、およびプログラム | |
JP5321923B2 (ja) | クロック同期システム、ノード、クロック同期方法及びプログラム | |
JP4766128B2 (ja) | スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム | |
US9634782B2 (en) | Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored | |
US9288037B2 (en) | Method for time synchronization in a communications network | |
US9838196B2 (en) | Synchronization apparatus, synchronization system, radio communication apparatus and synchronization method | |
KR101685856B1 (ko) | 보정 파라미터 산출 장치 및 시스템 및 보정 파라미터 산출 방법 및 컴퓨터 프로그램 | |
WO2017101528A1 (zh) | 一种时钟链路切换方法、装置及基站 | |
JPWO2012118178A1 (ja) | 同期システム、同期方法、第一の同期装置、第二の同期装置及びコンピュータプログラム | |
WO2013051445A1 (ja) | 周波数差検出装置、周波数差検出方法、およびプログラム | |
JP2014027437A (ja) | 通信装置、通信システム、および同期処理方法、並びにプログラム | |
US20130215910A1 (en) | Transmission apparatus, transmission method, program, and communication system | |
KR20110008615A (ko) | 병렬처리 기반의 시각 동기화 장치 | |
JP2014238357A (ja) | 受信装置、時刻差算出方法、およびプログラム | |
JP2017069669A (ja) | 時刻同期装置、基地局装置、及び、時刻同期方法 | |
CN107800529B (zh) | 一种网络节点的时钟频率同步方法 | |
JP6684409B1 (ja) | 時刻同期システム | |
JP6254028B2 (ja) | スレーブノード及び時刻同期方法 | |
JP2014165582A (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム | |
JP2013029319A (ja) | スレーブ装置、電子機器システム、マスタ装置、時刻同期方法およびプログラム | |
KR101176798B1 (ko) | 슬레이브 장치와 마스터 장치 간의 클락 동기화 방법 | |
JP6198075B2 (ja) | 時刻同期装置、時刻同期方法及び時刻同期プログラム | |
JP6085864B2 (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140922 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20150402 |