JP2015004649A - スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 - Google Patents
スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 Download PDFInfo
- Publication number
- JP2015004649A JP2015004649A JP2013131649A JP2013131649A JP2015004649A JP 2015004649 A JP2015004649 A JP 2015004649A JP 2013131649 A JP2013131649 A JP 2013131649A JP 2013131649 A JP2013131649 A JP 2013131649A JP 2015004649 A JP2015004649 A JP 2015004649A
- Authority
- JP
- Japan
- Prior art keywords
- time
- slave device
- managed
- time difference
- master device
- 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.)
- Pending
Links
Images
Abstract
【課題】 本発明は、自らが管理している時刻をマスタ装置で管理されている時刻に同期させるスレーブ装置等に関し、正確な時刻同期を行なう。
【解決手段】 無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、算出された時刻差が閾値以下の時刻差であるか否かを判定し、時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する。
【選択図】 図6
【解決手段】 無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、算出された時刻差が閾値以下の時刻差であるか否かを判定し、時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する。
【選択図】 図6
Description
本発明は、時刻をマスタ装置で管理されている時刻に同期させるスレーブ装置、そのスレーブ装置とマスタ装置とからなるマスタ・スレーブシステム、および時刻をマスタ装置に同期させる時刻同期方法に関する。
例えば離れた場所に設置した複数の計測装置でそれぞれの計測対象を同時刻に計測する必要が生じる場合がある。そのような場合、複数の計測装置のうちの1台をマスタ装置とし、あるいはそれら複数の計測装置以外の時刻管理機能を有する装置をマスタ装置とし、そのマスタ装置と無線通信を行なって時刻をそのマスタ装置の時刻に常に一致させておく、いわゆる時刻同期処理が行なわれる。
この時刻同期処理の典型的なプロトコルの1つとしてFTSP(Flooding Time Synchronization Protocol)が知られている(非特許文献1参照)。
このFTSPは、マスタ装置から、そのマスタ装置で管理されている時刻の通知を受け、その通知から得られる時刻とその通知を受信した時点の自らの時刻とのペアに基づいてそれらの間の時刻差を算出して時刻を補正するプロトコルである。
信学技術、「無線センサネットワークにおける時刻同期誤差伝播の解析」、鈴木 誠、大原 壮太郎、猿渡 俊介、蔵田 成人、南 正輝、森川 博之、社団法人 電子情報通信学会
ところが、上記のスレーブ装置とマスタ装置との間では無線通信が行なわれ、マスタ装置からスレーブ装置への時刻通知処理の失敗をマスタ装置が検知した場合再送処理が行われる。再送処理が行なわれても一度記録された通知時刻は変更されずにそのまま再送されるため、この再送処理に要した時間は伝搬遅延時間に反映される。したがって無線送信では、再送処理などの有無により、伝搬遅延時間が大きく変動する。上記のFTSPプロトコルは、再送処理などが発生すると、時刻差Δが正確には求められず同期ズレが生じるおそれがある。
本発明は、正確な時刻同期を行なうことができるスレーブ装置、マスタ・スレーブシステム、および時刻同期方法を提供することを目的とする。
上記目的を達成する本発明のスレーブ装置は、
自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信する受信部と、
受信部で受信した通知から得られるマスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信する受信部と、
受信部で受信した通知から得られるマスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
マスタ装置との間で時刻を同期させるには、できる限り、再送処理などの回数が少ない送受信に基づいて時刻を補正することが重要である。そこで本発明では上記の判定部を備えたものであり、これにより再送処理などの回数のより少ない送受信に基づいて時刻が補正され、正確な時刻同期が行なわれる。
ここで、本発明のスレーブ装置において、上記受信部は、上記時刻の通知を、1回の時刻同期インタバル内で所定回数繰り返し受信するものであって、上記補正部は、今回の時刻同期インタバル内の所定回数の時刻の通知それぞれに基づいて算出された所定回数の時刻差の全てが閾値を越える時刻差であると判定された場合に、スレーブ装置で管理している時刻を、所定回数の時刻差の中の最小の時刻差に基づいて補正するものであることが好ましい。
これにより、各同期インタバル内で時刻同期処理が確実に行なわれ、同期ズレが防止される。
また、本発明のスレーブ装置において、上記閾値が、スレーブ装置のマスタ装置からの許容最大時刻差以上、かつ上記通知における1回の再送処理に要する最小時間未満の範囲内から選択された値であることが好ましい。
この範囲内の閾値を採用することにより、再送処理回数のより多い通知を有効に排除することができる。
さらに、本発明のスレーブ装置において、直近を含む該直近から順次過去に遡る複数回の時刻補正の基になった複数の前記ペアに基づいて算出された複数の時刻差を記録しておくテーブルを有し、補正部により時刻が新たに補正されるたびにそのテーブルの記録を更新する記録更新部を備え、上記判定部は、上記テーブルに記録されている複数の時刻差のうちの最小の時刻差に基づいて設定された閾値を採用した判定を行なうものであることが好ましい。
閾値をこのようにして更新することにより適切な閾値が採用され、一層正確な時刻同期が行なわれる。
また、上記目的を達成する本発明のマスタ・スレーブシステムは、時刻を管理しているマスタ装置と、自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置とを備えたマスタ・スレーブシステムであって、
上記マスタ装置が、そのマスタ装置が管理している時刻をスレーブ装置に向けて無線で通知するものであって、
上記スレーブ装置が、
無線で送信されてきた上記通知を受信する受信部と、
受信部で受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
上記マスタ装置が、そのマスタ装置が管理している時刻をスレーブ装置に向けて無線で通知するものであって、
上記スレーブ装置が、
無線で送信されてきた上記通知を受信する受信部と、
受信部で受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
さらに、上記目的を達成する本発明の時刻同期方法は、スレーブ装置が管理している時刻をマスタ装置が管理している時刻に同期させる時刻同期方法であって、
無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、
受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、
算出された時刻差が閾値以下の時刻差であるか否かを判定し、
上記時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正することを特徴とする。
無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、
受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、
算出された時刻差が閾値以下の時刻差であるか否かを判定し、
上記時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正することを特徴とする。
以上の本発明によれば、正確な時刻同期を行なうことができる。
以下では先ず、FTSP(Flooding Time Synchronization Protocol)を採用した時刻同期処理の概要を説明し、その後、本発明の一実施形態について説明する。
図1は、マスタ・スレーブシステムの模式図である。
ここでは、時刻同期処理に特化した機能のみ示している。
スレーブ装置10とマスタ装置20は、いずれも、無線処理部11,21と時刻同期処理部12,22を有する。無線処理部11,21は、スレーブ装置10とマスタ装置20との間の無線通信を担っている。また、時刻同期処理部12,22はスレーブ装置10とマスタ装置20との時刻同期処理を担っている。ここでは、スレーブ装置10とマスタ装置20の時刻が常に一致するように、スレーブ装置10の時刻がマスタ装置20の時刻に一致するように補正される。
図2は、マスタ・スレーブシステムにおいて導入されているFTSPの説明図である。
以下、図1と図2を参照しながら、FTSPについて説明する。
マスタ装置20では、スレーブ装置10に向けた時刻通知の各タイミングに達するごとに、無線処理部21が時刻同期処理部22に、このマスタ装置20で管理している現在時刻の問合せを行ない、その現在時刻T1を取得する。そして無線処理部21は、スレーブ装置10に向けてその現在時刻T1を無線で送信する。
スレーブ装置10の無線処理部11は、マスタ装置20から送信されてきた時刻T1の通知を受信してその時刻T1を時刻同期処理部12に伝達する。時刻同期処理部12は、その時刻T1の伝達を受けた時刻T2を取得する。この時刻T2は、スレーブ装置10で管理されている時刻である。この時刻同期処理部12では、
Δ=T2−T1−d……(1)
が算出される。
ただし、dは、マスタ装置20からスレーブ装置10への時刻通知に要する伝搬遅延時間である。この演算により算出された時刻差Δは、マスタ装置20で管理されている時刻を基準にしたときの、スレーブ装置10の時刻のずれ量を表わしている。そこで、このスレーブ装置10の時刻同期処理部12では、この時刻差Δに基づいて、このスレーブ装置10の時刻を補正する。
Δ=T2−T1−d……(1)
が算出される。
ただし、dは、マスタ装置20からスレーブ装置10への時刻通知に要する伝搬遅延時間である。この演算により算出された時刻差Δは、マスタ装置20で管理されている時刻を基準にしたときの、スレーブ装置10の時刻のずれ量を表わしている。そこで、このスレーブ装置10の時刻同期処理部12では、この時刻差Δに基づいて、このスレーブ装置10の時刻を補正する。
これを繰り返すことにより、マスタ装置20とスレーブ装置10との間の時刻同期が行なわれる。
ただし、上記の時刻同期処理は、マスタ装置20からスレーブ装置10に向けての時刻の通知に関し、再送処理が行なわれないことを前提としている。ところが実際は、再送処理が行なわれることがある。再送処理が行なわれると、その再送処理に要した時間は、本来は伝播遅延時間に含まれるべき時間であるが、FTSPのプロトコルでは、伝播遅延時間dは、あらかじめ固定された値を使用するため、再送処理に要した時間は、伝搬遅延時間ではなく、時刻差Δに反映されてしまい、時刻同期の誤差となる。しかも、再送処理は1回とは限られず、そのシステムにもよるが何度も繰り返されることもある。
そこで、本実施形態では、以下に説明する論理に基づいて、再送処理回数のより少ない時刻通知で時刻同期処理を行なうこととしている。
上述の式(1)を再送処理による伝播時間の増加分を含めて表現すると、
Δ=T2−T1−(d+τ)……(2)
T1:マスタ装置の時刻
T2:マスタ装置から時刻T1を受け取った時点の、スレーブ装置の時刻
d:再送処置が行われなかったときの平均的な伝播遅延時間
τ:再送処理に起因する伝播時間の増加分
ここで、上記式(2)中のd及びτは、独立には計測できないため、時刻差Δとは分離できない。ただしdについては、推定値として引き算が可能である。したがって、見かけの時刻差Δ’として式(3)が算出される。
Δ=T2−T1−(d+τ)……(2)
T1:マスタ装置の時刻
T2:マスタ装置から時刻T1を受け取った時点の、スレーブ装置の時刻
d:再送処置が行われなかったときの平均的な伝播遅延時間
τ:再送処理に起因する伝播時間の増加分
ここで、上記式(2)中のd及びτは、独立には計測できないため、時刻差Δとは分離できない。ただしdについては、推定値として引き算が可能である。したがって、見かけの時刻差Δ’として式(3)が算出される。
Δ’=T2−T1−d=Δ+τ……(3)
ここで、計測を行なって時刻補正を行なうことを考える。
ここで、計測を行なって時刻補正を行なうことを考える。
ここでは、直前の時刻補正処理を「処理A」と称し、今回の時刻補正処理を「処理B」と称する。
処理Aにおける、再送処理による伝播時間増加分をτ0とする。
また、処理Bにおける再送処理による伝播時間増加分をτ1とし、この処理Bにおける式(2),式(3)から算出されるΔ,Δ’をそれぞれΔ1,Δ’1とする。
このとき、処理Bについて、式(3)は、
Δ’1=Δ1+τ1……(4)
となる。
Δ’1=Δ1+τ1……(4)
となる。
この式(4)において、Δ1には、直前に時刻補正を行なった処理Aのτ0に起因する誤差を含んでいる。この誤差を明示的に表現すると、式(4)は次のように表わすことができる。
Δ’1=(η―τ0)+τ1
=η―τ0+τ1……(5)
但し、Δ1=η―τ0、ηは前回の時刻補正時(処理A)において再送処理(τ0)がなかった場合の、今回補正すべき本来の時刻差である。すなわち、「−τ0」が直前に行なった時刻補正におけるτ0に起因する誤差成分となる。
=η―τ0+τ1……(5)
但し、Δ1=η―τ0、ηは前回の時刻補正時(処理A)において再送処理(τ0)がなかった場合の、今回補正すべき本来の時刻差である。すなわち、「−τ0」が直前に行なった時刻補正におけるτ0に起因する誤差成分となる。
ここで、式(5)中の「−τ0+τ1」に着目する。
[ケースa]
処理B中の再送遅延(τ1)が処理A中の再送遅延(τ0)より大きい(より多数回の再送処理を含む)ケース
−τ0+τ1≧α……(6)
但し、αは1回の再送処理に要する最小時間、α>0
[ケースb]
処理B中の再送遅延(τ1)が処理A中の再送遅延(τ0)に等しいか小さい(等しい回数かより少ない回数の再送処理を含む)ケース
−τ0+τ1≦0……(7)
従って、ケースaおよびケースbにおいて、Δ’1はそれぞれ次のようになる。
処理B中の再送遅延(τ1)が処理A中の再送遅延(τ0)より大きい(より多数回の再送処理を含む)ケース
−τ0+τ1≧α……(6)
但し、αは1回の再送処理に要する最小時間、α>0
[ケースb]
処理B中の再送遅延(τ1)が処理A中の再送遅延(τ0)に等しいか小さい(等しい回数かより少ない回数の再送処理を含む)ケース
−τ0+τ1≦0……(7)
従って、ケースaおよびケースbにおいて、Δ’1はそれぞれ次のようになる。
ケースa:
Δ’1=η―τ0+τ1≧η+α≧α―|η|……(8)
ケースb:
Δ’1=η―τ0+τ1≦|η|……(9)
ここで、FTSPによる時刻同期処理では、同期誤差は1μ秒程度に収束すると言われている。依って時刻同期処理を行なっている途中であっても、再送処理が発生していない場合の|η|の値は、通常は数μ秒以下、最大でも100μ秒と見積もっておけば十分である。
Δ’1=η―τ0+τ1≧η+α≧α―|η|……(8)
ケースb:
Δ’1=η―τ0+τ1≦|η|……(9)
ここで、FTSPによる時刻同期処理では、同期誤差は1μ秒程度に収束すると言われている。依って時刻同期処理を行なっている途中であっても、再送処理が発生していない場合の|η|の値は、通常は数μ秒以下、最大でも100μ秒と見積もっておけば十分である。
これに対し、再送が発生した場合の伝播遅延時間増加分αは、再送アルゴリズムにも依るが1m秒以上である。
したがって、
|η|≪α
であり、式(8)と式(9)との間に次の関係が成り立つ。
|η|≪α
であり、式(8)と式(9)との間に次の関係が成り立つ。
α―|η|>|η|……(10)
依って、ある閾値によりケースaとケースbとの分離が可能であり、直前に行なった時刻補正時に含まれていた再送処理よりも回数の多い再送処理を含むケースaを排除することができる。
依って、ある閾値によりケースaとケースbとの分離が可能であり、直前に行なった時刻補正時に含まれていた再送処理よりも回数の多い再送処理を含むケースaを排除することができる。
以下に説明する本発明の実施形態は、このFTSPのアルゴリズムに従ってスレーブ装置の時刻をマスタ装置の時刻に同期させるものであるが、上記の考察を踏まえて同期誤差の低減が図られている。
図3は、本発明の一実施形態のマスタ・スレーブシステムの機能構成図である。
マスタ装置20は、時刻管理部270を有し、その時刻管理部270では現在時刻が管理されている。スレーブ装置10も時刻管理部170を有し、この時刻管理部170ではスレーブ装置10の現在時刻が管理されている。
また、マスタ装置20には、スレーブ装置10に向けて無線送信を行なう送信部210とスレーブ装置10からの無線通信を受信する受信部220が備えられている。また、このマスタ装置20には、時刻管理部270、送信部210および受信部220の動作の管理やそれらの間でのデータの受け渡しを行なう制御部260が備えられている。
スレーブ装置10は、受信部110と送信部120を備えている。受信部110は、マスタ装置20からの無線通信を受信する役割を担い、送信部120はマスタ装置20に向けて無線送信を行なう役割を担っている。
ここでは、スレーブ装置10とマスタ装置20との間で無線通信を行ない、スレーブ装置10の時刻管理部170で管理されている時刻がマスタ装置20の時刻管理部270で管理されている時刻に常に一致するように、時刻同期処理が行なわれる。
また、このスレーブ装置10は、算出部130、判定部140、および補正部150を備えている。
スレーブ装置10の時刻をマスタ装置20の時刻に同期させるにあたっては、マスタ装置20からスレーブ装置10に向けて、無線通信により、マスタ装置20の現在時刻T1(図2参照)が通知される。スレーブ装置10では、この通知を受けると、算出部130において、その通知されたマスタ装置20の現在時刻T1と、時刻管理部170で管理されている、その通知を受けた時刻T2とに基づいて、前述の見かけの時刻差Δ’(式(3)参照)が算出される。以下では、この「見かけの時刻差Δ’」を単に「時刻差Δ’」と称することがある。
さらに、判定部140では、算出部130で算出された時刻差Δ’が閾値以下の時刻差であるか否かが判定される。
さらに、補正部150では、判定部140により時刻差Δ’が閾値以下であると判定されたことを受けて、時刻管理部170において管理されている現在時刻を、その時刻差Δ’だけ補正することにより、スレーブ装置10の時刻をマスタ装置20の時刻に同期させる。
このスレーブ装置10はさらに、時刻差Δ’用テーブルを有する記録更新部160を備えている。この時刻差Δ’用テーブル161は、直近を含む直近から順次過去に遡る複数回の、時刻補正の基になった時刻差Δ’が記録されるテーブルである。この記録更新部160は、時刻が新たに補正されるたびに、時刻差Δ’用テーブルの記録を更新する。
このスレーブ装置10はさらに、制御部180を備えている。この制御部180は、各部110〜170の動作を連携させ、また各部110〜170間の情報の受け渡しを担っている。
図4は、時刻同期処理タイミングの説明図である。
ここでは、一定周期で時刻同期インタバルを繰り返し、1回の時刻同期インタバル内で、マスタ装置20からスレーブ装置10に向けての時刻の通知がN回実行される。
図5は、図3に示すマスタ装置20で実行される時刻通知処理シーケンスを示すフローチャートである。
時刻同期インタバル(図4参照)が開始されると(ステップS11)、N回に渡って(ステップS13)、時刻データを送信する(ステップS12)。N回目の時刻データ送信が終了すると、今回の時刻同期インタバル内における時刻通知処理が終了したことを表わすインタバル終了通知を送信し(ステップS14)、次の時刻同期インタバルの開始まで待機する(ステップS11)。
図6は、図3に示すスレーブ装置10で実行される時刻補正シーケンスを示すフローチャートである。
ここでは、先ず閾値の初期値として十分に大きな値を持つ閾値が決定される(ステップS21)。この閾値は、後述するステップS25で使用される。
マスタ装置20からの通信を受信すると(ステップS22)、その受信が時刻通知であるかインタバル終了通知であるかが判定される(ステップS23)。この受信が時刻通知であったときは、ステップS24に進み、時刻差Δ’が算出される。このステップS24は、図3の算出部130に相当する処理である。
次いで、この算出された時刻差Δ’が閾値以下か否かが判定される(ステップS25)。このステップS25は、図3の判定部140に相当する処理である。
ステップS25において時刻差Δ’が閾値以下であると判定されると、次に時刻補正処理(ステップS26)が実行される。この時刻補正処理についての説明は後に譲る。
このステップS26の時刻補正処理が終了するとステップS22に戻り、マスタ装置20からの次の通信の受信まで待機する。一方、ステップS25で時刻差Δ’が閾値を越えている旨、判定されると、時刻補正処理(ステップS26)を実行することなく、ステップS22に戻る。
ステップS22での受信がインタバル終了通知の受信であったときは(ステップS23)、ステップS27に進み、今回の時刻同期インタバル中に時刻補正処理を実施したか否かが判定される。今回の時刻同期インタバル中に時刻補正処理を実施していたときは、ステップS22に戻る。一方、今回の時刻同期インタバル中に時刻補正処理を一度も実施していなかったときは、ステップS21に戻る。
上述の通り、ステップS21では、閾値の初期値として、十分に大きな値を持つ閾値が決定される。したがって、この時刻同期シーケンスが開始された直後の初回の時刻同期インタバル中の初回の時刻通知時には時刻補正処理(ステップS26)が実施される。この時刻補正処理(ステップS26)では後述するようにして閾値が調整される。このため、その初回の時刻同期インタバル中の2回目の時刻通知以降、次の時刻同期インタバルに入ってもなお、ステップS21で決定された閾値の初期値ではなく、調整された後の閾値が採用される。したがって初回の時刻同期インタバルを除く2回目以降の時刻同期インタバルでは、算出されたN回の時刻差Δ’のいずれもが閾値を越えてしまい、その時刻同期インタバルでは時刻同期処理が1度も実施されないことが生じ得る。時刻同期処理が実施されていない時刻同期インタバルが続くとマスタ装置20のスレーブ装置10間の時刻同期が崩れてしまうおそれがある。
そこでここでは、ステップS27において、今回の時刻同期インタバル中で時刻補正処理が実施されたか否かが判定され、今回の時刻同期インタバル中に時刻補正処理が1度も実施されていなかったときは、次の時刻同期インタバルでは時刻補正処理が必ず実施されるように、ステップS21に戻ることとしている。これにより、時刻補正処理が1度も行われない時刻同期インタバルが連続することが防止され、時刻同期が崩れてしまう事態が回避される。
図7は、図6のステップS26における時刻補正処理のシーケンスを示すフローチャートである。
ここでは先ず、時刻差Δ’を解消すべく時刻補正が行なわれる(ステップS31)。
図8は、図3に示すスレーブ装置10の時刻管理部170のハードウエア構成を示すブロック図である。
ここには、ローパスフィルタ171と発振器/カウンタ172が示されている。
図3に示すスレーブ装置10の算出部130(図6のステップS24における、時刻差Δ’の算出処理)で算出されたマスタ装置20との間の時刻差Δ’を表わす情報は、ローパスフィルタ171を経由させた後、発振器/カウンタ172に周波数制御信号として与えられる。ローパスフィルタ171を経由させるのは、算出された時刻差Δ’が時間的に激しく変化していても、発振器/カウンタ172を緩やかに制御するためである。
ローパスフィルタ171からの周波数制御信号の入力を受けた発振器/カウンタ172では、その周波数制御信号に基づいて発振周波数とカウント動作が調整される。これによりその発振器/カウンタの出力値である時刻情報が調整される。
図7に戻って時刻補正処理のシーケンスの説明を続ける。
ステップS31において、図8を参照して説明したようにして時刻補正が行なわれると、図9に示す時刻差Δ’用テーブル中の最も古いデータが破棄される(ステップS32)。
図9は、時刻差Δ’用テーブルの模式図である。
ここには、時刻補正の基になった時刻差Δ’と、その時刻差Δ’をこのテーブルに記録した時刻とのペアが、過去のM回に渡って記録されている。
図7に戻って説明を続ける。
上述の通り、図7のステップS32では、図9に示す遅延時間テーブル中の、データ記録時刻が最も古いデータが破棄される。ただし、M行の中に未記録の行があるときは、データの破棄は行なわれない。
次に、今回算出された時刻差Δ‘が時刻差Δ’用テーブルに登録される(ステップS33)。
次いで、今回算出された時刻差Δ‘の絶対値|Δ’|が閾値を越えている(|Δ’|>閾値)か否かが判定され(ステップS34)、|Δ’|>閾値のときは、図9に示す時刻差Δ’用テーブルに記録されている全ての時刻差Δ’の値がそれぞれ補正される(ステップS35)。
ここでは、今回算出されてステップS31での時刻補正に用いられた時刻差Δ’が
時刻差Δ’=δ
であったとする。このときは、時刻差Δ’用テーブルに記録されている、今回算出された時刻差Δ‘を含む全ての時刻差Δ’のそれぞれが−δだけ補正される。すなわち、ある1つの時刻差Δ’を時刻差Δm’としたとき、時刻差Δ’用テーブルの、時刻差Δm’が書き込まれている欄が、時刻差Δm’−δに書き換えられる。このようにして、今回の時刻補正が時刻差Δ’用テーブルに反映される。
時刻差Δ’=δ
であったとする。このときは、時刻差Δ’用テーブルに記録されている、今回算出された時刻差Δ‘を含む全ての時刻差Δ’のそれぞれが−δだけ補正される。すなわち、ある1つの時刻差Δ’を時刻差Δm’としたとき、時刻差Δ’用テーブルの、時刻差Δm’が書き込まれている欄が、時刻差Δm’−δに書き換えられる。このようにして、今回の時刻補正が時刻差Δ’用テーブルに反映される。
さらに、その時刻差Δ’用テーブルに記録されている時刻差Δ’の中の最も小さい値を持つ時刻差Δ’に基づいて新たな閾値が決定される(ステップS36)。図6のステップS25では、ステップS21で決定された初期値としての閾値を使用する初回を除き、このようにして順次更新される新たな閾値が使用される。
図10は、時刻補正処理シーケンスの第2例を示すフローチャートである。
図3に示すスレーブ装置10では、図6に示す時刻補正処理シーケンスに代えて、この図10に示す時刻補正処理シーケンスを実行してもよい。
この図10に示す時刻補正処理シーケンスの、ステップS41〜S47(図7に示す時刻補正処理を含む)は、図6に示す時刻補正処理シーケンスのステップS21〜S27とそれぞれ同一の処理であり、ここでの重複説明は省略する。
ステップS43において、インタバル終了通知の受信が認識されるとステップS47に進む。このステップS47では、今回の時刻同期インタバルの中で既に時刻補正処理(ステップS46)が実施されたか否かが判定される。図6を参照して説明した通り、この判定を行なうのは、今回の時刻同期インタバルの中でN回算出された時刻差Δ’の全てが閾値を上回っていて(ステップS44)、時刻補正処理が一度も行なわれていない可能性があるからである。ただし、この図10に示す時刻補正処理シーケンスの場合、ステップS45において時刻差Δ’が閾値を越えると判定されても、その時刻差Δ’のデータは今回の時刻同期インタバルの間、保存される。
ステップS47において、今回の時刻同期インタバルの中で既に時刻補正処理(ステップS46)が実施されていると判定されると、ステップ42に戻り、次の時刻同期インタバルが始まってマスタ装置20からその新たな時刻同期インタバル内での時刻が通知されるまで待機する。
一方、ステップS47において、今回の時刻同期インタバルの中では、時刻補正処理(ステップS46)が一度も行なわれていないと判定されると、ステップS48に進む。このステップS48では、今回の時刻同期インタバルでN回算出してそれぞれ保存されていた時刻差Δ’の中の最小の時刻差が選択される。そしてステップS49において、その選択されたN回の中の最小の時刻差Δ’に基づく時刻補正処理が実施される。ステップS49で時刻補正処理が実施された後は、ステップS42に戻り、次の時刻補正インタバルの開始まで待機する。
このように、この図10に示す時刻補正処理シーケンスの場合、今回の時刻同期インタバル内において時刻差Δ’の算出をN回繰り返しても閾値を下回る時刻差Δ’が算出されなかったときは、N回の繰り返しの中で算出された複数の時刻差Δ’のうちの最小の時刻差Δ’に基づいて、時刻が補正される。
この図10に示す時刻補正処理シーケンスの場合、各時刻同期インタバル内で時刻補正処理が少なくとも1回必ず実施されることになり、時刻の同期の崩れがより確実に防止される。
10 スレーブ装置
11,21 無線処理部
12,22 時刻同期処理部
20 マスタ装置
110,220 受信部
120,210 送信部
130 算出部
140 判定部
150 補正部
160 記録更新部
161 時刻差Δ’用テーブル
170,270 時刻管理部
171 ローパスフィルタ
172 発振器/カウンタ
180,260 制御部
11,21 無線処理部
12,22 時刻同期処理部
20 マスタ装置
110,220 受信部
120,210 送信部
130 算出部
140 判定部
150 補正部
160 記録更新部
161 時刻差Δ’用テーブル
170,270 時刻管理部
171 ローパスフィルタ
172 発振器/カウンタ
180,260 制御部
Claims (6)
- 自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信する受信部と、
前記受信部で受信した前記通知から得られる前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出する算出部と、
前記算出部で算出された前記時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
前記判定部で前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とするスレーブ装置。 - 前記受信部は、前記時刻の通知を、1回の時刻同期インタバル内で所定回数繰り返し受信するものであって、
前記補正部は、今回の時刻同期インタバル内の前記所定回数の時刻の通知それぞれに基づいて算出された該所定回数の時刻差の全てが閾値を越える時刻差であると判定された場合に、当該スレーブ装置で管理している時刻を、該所定回数の時刻差の中の最小の時刻差に基づいて補正するものであることを特徴とする請求項1記載のスレーブ装置。 - 前記閾値が、当該スレーブ装置の前記マスタ装置からの許容最大時刻差以上、かつ前記通知における1回の再送処理に要する最小時間未満の範囲内から選択された値であることを特徴とする請求項1又は2記載のスレーブ装置。
- 直近を含む該直近から順次過去に遡る複数回の時刻補正の基になった複数の前記ペアに基づいて算出された複数の時刻差を記録しておくテーブルを有し、前記補正部により時刻が新たに補正されるたびに該テーブルの記録を更新する記録更新部を備え、
前記判定部は、前記テーブルに記録されている複数の時刻差のうちの最小の時刻差に基づいて設定された閾値を採用した判定を行なうものであること特徴とする請求項1から3のうちのいずれか1項記載のスレーブ装置。 - 時刻を管理しているマスタ装置と、自らが管理している時刻を該マスタ装置が管理している時刻に同期させるスレーブ装置とを備えたマスタ・スレーブシステムであって、
前記マスタ装置が、当該マスタ装置が管理している時刻を前記スレーブ装置に向けて無線で通知するものであって、
前記スレーブ装置が、
無線で送信されてきた前記通知を受信する受信部と、
前記受信部で受信した前記通知から得られる、前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出する算出部と、
前記算出部で算出された前記時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
前記判定部で前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とするマスタ・スレーブシステム。 - スレーブ装置が管理している時刻をマスタ装置が管理している時刻に同期させる時刻同期方法であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信し、
受信した前記通知から得られる、前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出し、
算出された前記時刻差が閾値以下の時刻差であるか否かを判定し、
前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正することを特徴とする時刻同期方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013131649A JP2015004649A (ja) | 2013-06-24 | 2013-06-24 | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013131649A JP2015004649A (ja) | 2013-06-24 | 2013-06-24 | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015004649A true JP2015004649A (ja) | 2015-01-08 |
Family
ID=52300663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013131649A Pending JP2015004649A (ja) | 2013-06-24 | 2013-06-24 | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015004649A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015136781A1 (ja) * | 2014-03-11 | 2015-09-17 | セイコーインスツル株式会社 | 通信システム、電子機器、通信方法及びプログラム |
CN106557062A (zh) * | 2015-09-28 | 2017-04-05 | 发那科株式会社 | 具有单元间的同步控制功能的数值控制系统 |
JP2018530291A (ja) * | 2015-09-10 | 2018-10-11 | シーピージー テクノロジーズ、 エルエルシーCpg Technologies, Llc | 誘導表面波を用いたグローバル時刻同期 |
WO2020183572A1 (ja) * | 2019-03-11 | 2020-09-17 | 三菱電機株式会社 | スレーブ機器、時刻同期プログラム、組み込みシステムおよび時刻同期方法 |
-
2013
- 2013-06-24 JP JP2013131649A patent/JP2015004649A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015136781A1 (ja) * | 2014-03-11 | 2015-09-17 | セイコーインスツル株式会社 | 通信システム、電子機器、通信方法及びプログラム |
JPWO2015136781A1 (ja) * | 2014-03-11 | 2017-04-06 | セイコーインスツル株式会社 | 通信システム、電子機器、通信方法及びプログラム |
JP2018530291A (ja) * | 2015-09-10 | 2018-10-11 | シーピージー テクノロジーズ、 エルエルシーCpg Technologies, Llc | 誘導表面波を用いたグローバル時刻同期 |
CN106557062A (zh) * | 2015-09-28 | 2017-04-05 | 发那科株式会社 | 具有单元间的同步控制功能的数值控制系统 |
JP2017068353A (ja) * | 2015-09-28 | 2017-04-06 | ファナック株式会社 | ユニット間での同期制御機能を有する数値制御システム |
US10222786B2 (en) | 2015-09-28 | 2019-03-05 | Fanuc Corporation | Numerical control system having synchronous control function between units |
CN106557062B (zh) * | 2015-09-28 | 2019-05-10 | 发那科株式会社 | 具有单元间的同步控制功能的数值控制系统 |
WO2020183572A1 (ja) * | 2019-03-11 | 2020-09-17 | 三菱電機株式会社 | スレーブ機器、時刻同期プログラム、組み込みシステムおよび時刻同期方法 |
JPWO2020183572A1 (ja) * | 2019-03-11 | 2021-09-13 | 三菱電機株式会社 | スレーブ機器、時刻同期プログラム、組み込みシステムおよび時刻同期方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2342850B1 (en) | A method for synchronizing clocks in a communication network | |
US9634782B2 (en) | Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored | |
JP2014202734A (ja) | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 | |
US9374214B2 (en) | Communication apparatus, communication system, and communication method | |
JP5911584B2 (ja) | 補正パラメータ算出装置及びシステム及び補正パラメータ算出方法及びコンピュータプログラム | |
JP6452427B2 (ja) | 時刻同期監視方法、通信システム、及びマスタ装置 | |
US20150207877A1 (en) | Time synchronization client, a system and a non-transitory computer readable medium | |
WO2017054554A1 (zh) | 一种时钟同步方法、装置及通信设备 | |
JP2015004649A (ja) | スレーブ装置、マスタ・スレーブシステム、および時刻同期方法 | |
WO2017032113A1 (zh) | 一种时间同步偏差检测方法和装置 | |
EP4010777A1 (en) | Systems for timestamping events on edge devices | |
JP2014096853A (ja) | 時刻同期装置 | |
JP6010802B2 (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム | |
JP6033174B2 (ja) | 距離推定システム | |
JP2015188159A (ja) | スレーブノード、時刻同期方法及びコンピュータプログラム | |
KR101716630B1 (ko) | 통신 장치 및 통신 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
JP2012114815A (ja) | 位相同期装置および位相同期方法 | |
JP5391964B2 (ja) | クロック同期方法及びパケット通信システム | |
US20170117980A1 (en) | Time synchronization for network device | |
JP2016213556A (ja) | 無線通信方法及び無線通信システム | |
CN115080495A (zh) | 一种标准外设扩展接口设备的时间同步方法及系统 | |
JP6085864B2 (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム | |
EP3068076A1 (en) | Automatic determination of asymmetrical delay in transmission networks | |
JP2015203667A (ja) | 時刻同期装置および方法 | |
WO2017033416A1 (ja) | 中継装置、通信システム、及び障害検出方法 |