(57)【要約】【課題】  本発明は、自らが管理している時刻をマスタ装置で管理されている時刻に同期させるスレーブ装置等に関し、正確な時刻同期を行なう。【解決手段】  無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、算出された時刻差が閾値以下の時刻差であるか否かを判定し、時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する。【選択図】        図６
2015004649.tif 000002
【特許請求の範囲】
【請求項１】
自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信する受信部と、
前記受信部で受信した前記通知から得られる前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出する算出部と、
前記算出部で算出された前記時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
前記判定部で前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とするスレーブ装置。
【請求項２】
前記受信部は、前記時刻の通知を、１回の時刻同期インタバル内で所定回数繰り返し受信するものであって、
前記補正部は、今回の時刻同期インタバル内の前記所定回数の時刻の通知それぞれに基づいて算出された該所定回数の時刻差の全てが閾値を越える時刻差であると判定された場合に、当該スレーブ装置で管理している時刻を、該所定回数の時刻差の中の最小の時刻差に基づいて補正するものであることを特徴とする請求項１記載のスレーブ装置。
【請求項３】
前記閾値が、当該スレーブ装置の前記マスタ装置からの許容最大時刻差以上、かつ前記通知における１回の再送処理に要する最小時間未満の範囲内から選択された値であることを特徴とする請求項１又は２記載のスレーブ装置。
【請求項４】
直近を含む該直近から順次過去に遡る複数回の時刻補正の基になった複数の前記ペアに基づいて算出された複数の時刻差を記録しておくテーブルを有し、前記補正部により時刻が新たに補正されるたびに該テーブルの記録を更新する記録更新部を備え、
前記判定部は、前記テーブルに記録されている複数の時刻差のうちの最小の時刻差に基づいて設定された閾値を採用した判定を行なうものであること特徴とする請求項１から３のうちのいずれか１項記載のスレーブ装置。
【請求項５】
時刻を管理しているマスタ装置と、自らが管理している時刻を該マスタ装置が管理している時刻に同期させるスレーブ装置とを備えたマスタ・スレーブシステムであって、
前記マスタ装置が、当該マスタ装置が管理している時刻を前記スレーブ装置に向けて無線で通知するものであって、
前記スレーブ装置が、
無線で送信されてきた前記通知を受信する受信部と、
前記受信部で受信した前記通知から得られる、前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出する算出部と、
前記算出部で算出された前記時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
前記判定部で前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とするマスタ・スレーブシステム。
【請求項６】
スレーブ装置が管理している時刻をマスタ装置が管理している時刻に同期させる時刻同期方法であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信し、
受信した前記通知から得られる、前記マスタ装置で管理している時刻と、該通知を受信した時点の当該スレーブ装置で管理している時刻とのペアに基づいて、該マスタ装置と該スレーブ装置との間の時刻差を算出し、
算出された前記時刻差が閾値以下の時刻差であるか否かを判定し、
前記時刻差が閾値以下の時刻差であると判定されたことを受けて、該時刻差に基づいて、当該スレーブ装置で管理している時刻を補正することを特徴とする時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻をマスタ装置で管理されている時刻に同期させるスレーブ装置、そのスレーブ装置とマスタ装置とからなるマスタ・スレーブシステム、および時刻をマスタ装置に同期させる時刻同期方法に関する。
【背景技術】
【０００２】
例えば離れた場所に設置した複数の計測装置でそれぞれの計測対象を同時刻に計測する必要が生じる場合がある。そのような場合、複数の計測装置のうちの１台をマスタ装置とし、あるいはそれら複数の計測装置以外の時刻管理機能を有する装置をマスタ装置とし、そのマスタ装置と無線通信を行なって時刻をそのマスタ装置の時刻に常に一致させておく、いわゆる時刻同期処理が行なわれる。
【０００３】
この時刻同期処理の典型的なプロトコルの１つとしてＦＴＳＰ（Ｆｌｏｏｄｉｎｇ  Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）が知られている（非特許文献１参照）。
【０００４】
このＦＴＳＰは、マスタ装置から、そのマスタ装置で管理されている時刻の通知を受け、その通知から得られる時刻とその通知を受信した時点の自らの時刻とのペアに基づいてそれらの間の時刻差を算出して時刻を補正するプロトコルである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】信学技術、「無線センサネットワークにおける時刻同期誤差伝播の解析」、鈴木  誠、大原  壮太郎、猿渡  俊介、蔵田  成人、南  正輝、森川  博之、社団法人  電子情報通信学会
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、上記のスレーブ装置とマスタ装置との間では無線通信が行なわれ、マスタ装置からスレーブ装置への時刻通知処理の失敗をマスタ装置が検知した場合再送処理が行われる。再送処理が行なわれても一度記録された通知時刻は変更されずにそのまま再送されるため、この再送処理に要した時間は伝搬遅延時間に反映される。したがって無線送信では、再送処理などの有無により、伝搬遅延時間が大きく変動する。上記のＦＴＳＰプロトコルは、再送処理などが発生すると、時刻差Δが正確には求められず同期ズレが生じるおそれがある。
【０００７】
本発明は、正確な時刻同期を行なうことができるスレーブ装置、マスタ・スレーブシステム、および時刻同期方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明のスレーブ装置は、
自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置であって、
無線で送信されてきた、前記マスタ装置で管理している時刻の通知を受信する受信部と、
受信部で受信した通知から得られるマスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
【０００９】
マスタ装置との間で時刻を同期させるには、できる限り、再送処理などの回数が少ない送受信に基づいて時刻を補正することが重要である。そこで本発明では上記の判定部を備えたものであり、これにより再送処理などの回数のより少ない送受信に基づいて時刻が補正され、正確な時刻同期が行なわれる。
【００１０】
ここで、本発明のスレーブ装置において、上記受信部は、上記時刻の通知を、１回の時刻同期インタバル内で所定回数繰り返し受信するものであって、上記補正部は、今回の時刻同期インタバル内の所定回数の時刻の通知それぞれに基づいて算出された所定回数の時刻差の全てが閾値を越える時刻差であると判定された場合に、スレーブ装置で管理している時刻を、所定回数の時刻差の中の最小の時刻差に基づいて補正するものであることが好ましい。
【００１１】
これにより、各同期インタバル内で時刻同期処理が確実に行なわれ、同期ズレが防止される。
【００１２】
また、本発明のスレーブ装置において、上記閾値が、スレーブ装置のマスタ装置からの許容最大時刻差以上、かつ上記通知における１回の再送処理に要する最小時間未満の範囲内から選択された値であることが好ましい。
【００１３】
この範囲内の閾値を採用することにより、再送処理回数のより多い通知を有効に排除することができる。
【００１４】
さらに、本発明のスレーブ装置において、直近を含む該直近から順次過去に遡る複数回の時刻補正の基になった複数の前記ペアに基づいて算出された複数の時刻差を記録しておくテーブルを有し、補正部により時刻が新たに補正されるたびにそのテーブルの記録を更新する記録更新部を備え、上記判定部は、上記テーブルに記録されている複数の時刻差のうちの最小の時刻差に基づいて設定された閾値を採用した判定を行なうものであることが好ましい。
【００１５】
閾値をこのようにして更新することにより適切な閾値が採用され、一層正確な時刻同期が行なわれる。
【００１６】
また、上記目的を達成する本発明のマスタ・スレーブシステムは、時刻を管理しているマスタ装置と、自らが管理している時刻をマスタ装置が管理している時刻に同期させるスレーブ装置とを備えたマスタ・スレーブシステムであって、
上記マスタ装置が、そのマスタ装置が管理している時刻をスレーブ装置に向けて無線で通知するものであって、
上記スレーブ装置が、
無線で送信されてきた上記通知を受信する受信部と、
受信部で受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出する算出部と、
算出部で算出された時刻差が閾値以下の時刻差であるか否かを判定する判定部と、
判定部で時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正する補正部とを備えたことを特徴とする。
【００１７】
さらに、上記目的を達成する本発明の時刻同期方法は、スレーブ装置が管理している時刻をマスタ装置が管理している時刻に同期させる時刻同期方法であって、
無線で送信されてきた、マスタ装置で管理している時刻の通知を受信し、
受信した通知から得られる、マスタ装置で管理している時刻と、その通知を受信した時点のスレーブ装置で管理している時刻とのペアに基づいて、マスタ装置とスレーブ装置との間の時刻差を算出し、
算出された時刻差が閾値以下の時刻差であるか否かを判定し、
上記時刻差が閾値以下の時刻差であると判定されたことを受けて、その時刻差に基づいて、スレーブ装置で管理している時刻を補正することを特徴とする。
【発明の効果】
【００１８】
以上の本発明によれば、正確な時刻同期を行なうことができる。
【図面の簡単な説明】
【００１９】
【図１】マスタ・スレーブシステムの模式図である。
【図２】マスタ・スレーブシステムにおいて導入されているＦＴＳＰの説明図である。
【図３】本発明の一実施形態のマスタ・スレーブシステムの機能構成図である。
【図４】時刻同期処理タイミングの説明図である。
【図５】時刻通知処理シーケンスを示すフローチャートである。
【図６】時刻補正シーケンスを示すフローチャートである。
【図７】時刻補正処理のシーケンスを示すフローチャートである。
【図８】スレーブ装置の時刻管理部のハードウエア構成を示すブロック図である。
【図９】時刻差Δ’用テーブルの模式図である。
【図１０】時刻補正シーケンスの第２例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下では先ず、ＦＴＳＰ（Ｆｌｏｏｄｉｎｇ  Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を採用した時刻同期処理の概要を説明し、その後、本発明の一実施形態について説明する。
【００２１】
図１は、マスタ・スレーブシステムの模式図である。
【００２２】
ここでは、時刻同期処理に特化した機能のみ示している。
【００２３】
スレーブ装置１０とマスタ装置２０は、いずれも、無線処理部１１，２１と時刻同期処理部１２，２２を有する。無線処理部１１，２１は、スレーブ装置１０とマスタ装置２０との間の無線通信を担っている。また、時刻同期処理部１２，２２はスレーブ装置１０とマスタ装置２０との時刻同期処理を担っている。ここでは、スレーブ装置１０とマスタ装置２０の時刻が常に一致するように、スレーブ装置１０の時刻がマスタ装置２０の時刻に一致するように補正される。
【００２４】
図２は、マスタ・スレーブシステムにおいて導入されているＦＴＳＰの説明図である。
【００２５】
以下、図１と図２を参照しながら、ＦＴＳＰについて説明する。
【００２６】
マスタ装置２０では、スレーブ装置１０に向けた時刻通知の各タイミングに達するごとに、無線処理部２１が時刻同期処理部２２に、このマスタ装置２０で管理している現在時刻の問合せを行ない、その現在時刻Ｔ１を取得する。そして無線処理部２１は、スレーブ装置１０に向けてその現在時刻Ｔ１を無線で送信する。
【００２７】
スレーブ装置１０の無線処理部１１は、マスタ装置２０から送信されてきた時刻Ｔ１の通知を受信してその時刻Ｔ１を時刻同期処理部１２に伝達する。時刻同期処理部１２は、その時刻Ｔ１の伝達を受けた時刻Ｔ２を取得する。この時刻Ｔ２は、スレーブ装置１０で管理されている時刻である。この時刻同期処理部１２では、
Δ＝Ｔ２−Ｔ１−ｄ……（１）
が算出される。
ただし、ｄは、マスタ装置２０からスレーブ装置１０への時刻通知に要する伝搬遅延時間である。この演算により算出された時刻差Δは、マスタ装置２０で管理されている時刻を基準にしたときの、スレーブ装置１０の時刻のずれ量を表わしている。そこで、このスレーブ装置１０の時刻同期処理部１２では、この時刻差Δに基づいて、このスレーブ装置１０の時刻を補正する。
【００２８】
これを繰り返すことにより、マスタ装置２０とスレーブ装置１０との間の時刻同期が行なわれる。
【００２９】
ただし、上記の時刻同期処理は、マスタ装置２０からスレーブ装置１０に向けての時刻の通知に関し、再送処理が行なわれないことを前提としている。ところが実際は、再送処理が行なわれることがある。再送処理が行なわれると、その再送処理に要した時間は、本来は伝播遅延時間に含まれるべき時間であるが、ＦＴＳＰのプロトコルでは、伝播遅延時間ｄは、あらかじめ固定された値を使用するため、再送処理に要した時間は、伝搬遅延時間ではなく、時刻差Δに反映されてしまい、時刻同期の誤差となる。しかも、再送処理は１回とは限られず、そのシステムにもよるが何度も繰り返されることもある。
【００３０】
そこで、本実施形態では、以下に説明する論理に基づいて、再送処理回数のより少ない時刻通知で時刻同期処理を行なうこととしている。
【００３１】
上述の式（１）を再送処理による伝播時間の増加分を含めて表現すると、
Δ＝Ｔ２−Ｔ１−（ｄ＋τ）……（２）
Ｔ１：マスタ装置の時刻
Ｔ２：マスタ装置から時刻Ｔ１を受け取った時点の、スレーブ装置の時刻
ｄ：再送処置が行われなかったときの平均的な伝播遅延時間
τ：再送処理に起因する伝播時間の増加分
ここで、上記式（２）中のｄ及びτは、独立には計測できないため、時刻差Δとは分離できない。ただしｄについては、推定値として引き算が可能である。したがって、見かけの時刻差Δ’として式（３）が算出される。
【００３２】
Δ’＝Ｔ２−Ｔ１−ｄ＝Δ＋τ……（３）
ここで、計測を行なって時刻補正を行なうことを考える。
【００３３】
ここでは、直前の時刻補正処理を「処理Ａ」と称し、今回の時刻補正処理を「処理Ｂ」と称する。
【００３４】
処理Ａにおける、再送処理による伝播時間増加分をτ０とする。
【００３５】
また、処理Ｂにおける再送処理による伝播時間増加分をτ１とし、この処理Ｂにおける式（２），式（３）から算出されるΔ，Δ’をそれぞれΔ１，Δ’１とする。
【００３６】
このとき、処理Ｂについて、式（３）は、
Δ’１＝Δ１＋τ１……（４）
となる。
【００３７】
この式（４）において、Δ１には、直前に時刻補正を行なった処理Ａのτ０に起因する誤差を含んでいる。この誤差を明示的に表現すると、式（４）は次のように表わすことができる。
【００３８】
Δ’１＝（η―τ０）＋τ１
＝η―τ０＋τ１……（５）
但し、Δ１＝η―τ０、ηは前回の時刻補正時（処理Ａ）において再送処理（τ０）がなかった場合の、今回補正すべき本来の時刻差である。すなわち、「−τ０」が直前に行なった時刻補正におけるτ０に起因する誤差成分となる。
【００３９】
ここで、式（５）中の「−τ０＋τ１」に着目する。
【００４０】
［ケースａ］
処理Ｂ中の再送遅延（τ１）が処理Ａ中の再送遅延（τ０）より大きい（より多数回の再送処理を含む）ケース
−τ０＋τ１≧α……（６）
但し、αは１回の再送処理に要する最小時間、α＞０
［ケースｂ］
処理Ｂ中の再送遅延（τ１）が処理Ａ中の再送遅延（τ０）に等しいか小さい（等しい回数かより少ない回数の再送処理を含む）ケース
−τ０＋τ１≦０……（７）
従って、ケースａおよびケースｂにおいて、Δ’１はそれぞれ次のようになる。
【００４１】
ケースａ：
Δ’１＝η―τ０＋τ１≧η＋α≧α―｜η｜……（８）
ケースｂ：
Δ’１＝η―τ０＋τ１≦｜η｜……（９）
ここで、ＦＴＳＰによる時刻同期処理では、同期誤差は１μ秒程度に収束すると言われている。依って時刻同期処理を行なっている途中であっても、再送処理が発生していない場合の｜η｜の値は、通常は数μ秒以下、最大でも１００μ秒と見積もっておけば十分である。
【００４２】
これに対し、再送が発生した場合の伝播遅延時間増加分αは、再送アルゴリズムにも依るが１ｍ秒以上である。
【００４３】
したがって、
｜η｜≪α
であり、式（８）と式（９）との間に次の関係が成り立つ。
【００４４】
α―｜η｜＞｜η｜……（１０）
依って、ある閾値によりケースａとケースｂとの分離が可能であり、直前に行なった時刻補正時に含まれていた再送処理よりも回数の多い再送処理を含むケースａを排除することができる。
【００４５】
以下に説明する本発明の実施形態は、このＦＴＳＰのアルゴリズムに従ってスレーブ装置の時刻をマスタ装置の時刻に同期させるものであるが、上記の考察を踏まえて同期誤差の低減が図られている。
【００４６】
図３は、本発明の一実施形態のマスタ・スレーブシステムの機能構成図である。
【００４７】
マスタ装置２０は、時刻管理部２７０を有し、その時刻管理部２７０では現在時刻が管理されている。スレーブ装置１０も時刻管理部１７０を有し、この時刻管理部１７０ではスレーブ装置１０の現在時刻が管理されている。
【００４８】
また、マスタ装置２０には、スレーブ装置１０に向けて無線送信を行なう送信部２１０とスレーブ装置１０からの無線通信を受信する受信部２２０が備えられている。また、このマスタ装置２０には、時刻管理部２７０、送信部２１０および受信部２２０の動作の管理やそれらの間でのデータの受け渡しを行なう制御部２６０が備えられている。
【００４９】
スレーブ装置１０は、受信部１１０と送信部１２０を備えている。受信部１１０は、マスタ装置２０からの無線通信を受信する役割を担い、送信部１２０はマスタ装置２０に向けて無線送信を行なう役割を担っている。
【００５０】
ここでは、スレーブ装置１０とマスタ装置２０との間で無線通信を行ない、スレーブ装置１０の時刻管理部１７０で管理されている時刻がマスタ装置２０の時刻管理部２７０で管理されている時刻に常に一致するように、時刻同期処理が行なわれる。
【００５１】
また、このスレーブ装置１０は、算出部１３０、判定部１４０、および補正部１５０を備えている。
【００５２】
スレーブ装置１０の時刻をマスタ装置２０の時刻に同期させるにあたっては、マスタ装置２０からスレーブ装置１０に向けて、無線通信により、マスタ装置２０の現在時刻Ｔ１（図２参照）が通知される。スレーブ装置１０では、この通知を受けると、算出部１３０において、その通知されたマスタ装置２０の現在時刻Ｔ１と、時刻管理部１７０で管理されている、その通知を受けた時刻Ｔ２とに基づいて、前述の見かけの時刻差Δ’（式（３）参照）が算出される。以下では、この「見かけの時刻差Δ’」を単に「時刻差Δ’」と称することがある。
【００５３】
さらに、判定部１４０では、算出部１３０で算出された時刻差Δ’が閾値以下の時刻差であるか否かが判定される。
【００５４】
さらに、補正部１５０では、判定部１４０により時刻差Δ’が閾値以下であると判定されたことを受けて、時刻管理部１７０において管理されている現在時刻を、その時刻差Δ’だけ補正することにより、スレーブ装置１０の時刻をマスタ装置２０の時刻に同期させる。
【００５５】
このスレーブ装置１０はさらに、時刻差Δ’用テーブルを有する記録更新部１６０を備えている。この時刻差Δ’用テーブル１６１は、直近を含む直近から順次過去に遡る複数回の、時刻補正の基になった時刻差Δ’が記録されるテーブルである。この記録更新部１６０は、時刻が新たに補正されるたびに、時刻差Δ’用テーブルの記録を更新する。
【００５６】
このスレーブ装置１０はさらに、制御部１８０を備えている。この制御部１８０は、各部１１０〜１７０の動作を連携させ、また各部１１０〜１７０間の情報の受け渡しを担っている。
【００５７】
図４は、時刻同期処理タイミングの説明図である。
【００５８】
ここでは、一定周期で時刻同期インタバルを繰り返し、１回の時刻同期インタバル内で、マスタ装置２０からスレーブ装置１０に向けての時刻の通知がＮ回実行される。
【００５９】
図５は、図３に示すマスタ装置２０で実行される時刻通知処理シーケンスを示すフローチャートである。
【００６０】
時刻同期インタバル（図４参照）が開始されると（ステップＳ１１）、Ｎ回に渡って（ステップＳ１３）、時刻データを送信する（ステップＳ１２）。Ｎ回目の時刻データ送信が終了すると、今回の時刻同期インタバル内における時刻通知処理が終了したことを表わすインタバル終了通知を送信し（ステップＳ１４）、次の時刻同期インタバルの開始まで待機する（ステップＳ１１）。
【００６１】
図６は、図３に示すスレーブ装置１０で実行される時刻補正シーケンスを示すフローチャートである。
【００６２】
ここでは、先ず閾値の初期値として十分に大きな値を持つ閾値が決定される（ステップＳ２１）。この閾値は、後述するステップＳ２５で使用される。
【００６３】
マスタ装置２０からの通信を受信すると（ステップＳ２２）、その受信が時刻通知であるかインタバル終了通知であるかが判定される（ステップＳ２３）。この受信が時刻通知であったときは、ステップＳ２４に進み、時刻差Δ’が算出される。このステップＳ２４は、図３の算出部１３０に相当する処理である。
【００６４】
次いで、この算出された時刻差Δ’が閾値以下か否かが判定される（ステップＳ２５）。このステップＳ２５は、図３の判定部１４０に相当する処理である。
【００６５】
ステップＳ２５において時刻差Δ’が閾値以下であると判定されると、次に時刻補正処理（ステップＳ２６）が実行される。この時刻補正処理についての説明は後に譲る。
【００６６】
このステップＳ２６の時刻補正処理が終了するとステップＳ２２に戻り、マスタ装置２０からの次の通信の受信まで待機する。一方、ステップＳ２５で時刻差Δ’が閾値を越えている旨、判定されると、時刻補正処理（ステップＳ２６）を実行することなく、ステップＳ２２に戻る。
【００６７】
ステップＳ２２での受信がインタバル終了通知の受信であったときは（ステップＳ２３）、ステップＳ２７に進み、今回の時刻同期インタバル中に時刻補正処理を実施したか否かが判定される。今回の時刻同期インタバル中に時刻補正処理を実施していたときは、ステップＳ２２に戻る。一方、今回の時刻同期インタバル中に時刻補正処理を一度も実施していなかったときは、ステップＳ２１に戻る。
【００６８】
上述の通り、ステップＳ２１では、閾値の初期値として、十分に大きな値を持つ閾値が決定される。したがって、この時刻同期シーケンスが開始された直後の初回の時刻同期インタバル中の初回の時刻通知時には時刻補正処理（ステップＳ２６）が実施される。この時刻補正処理（ステップＳ２６）では後述するようにして閾値が調整される。このため、その初回の時刻同期インタバル中の２回目の時刻通知以降、次の時刻同期インタバルに入ってもなお、ステップＳ２１で決定された閾値の初期値ではなく、調整された後の閾値が採用される。したがって初回の時刻同期インタバルを除く２回目以降の時刻同期インタバルでは、算出されたＮ回の時刻差Δ’のいずれもが閾値を越えてしまい、その時刻同期インタバルでは時刻同期処理が１度も実施されないことが生じ得る。時刻同期処理が実施されていない時刻同期インタバルが続くとマスタ装置２０のスレーブ装置１０間の時刻同期が崩れてしまうおそれがある。
【００６９】
そこでここでは、ステップＳ２７において、今回の時刻同期インタバル中で時刻補正処理が実施されたか否かが判定され、今回の時刻同期インタバル中に時刻補正処理が１度も実施されていなかったときは、次の時刻同期インタバルでは時刻補正処理が必ず実施されるように、ステップＳ２１に戻ることとしている。これにより、時刻補正処理が１度も行われない時刻同期インタバルが連続することが防止され、時刻同期が崩れてしまう事態が回避される。
【００７０】
図７は、図６のステップＳ２６における時刻補正処理のシーケンスを示すフローチャートである。
【００７１】
ここでは先ず、時刻差Δ’を解消すべく時刻補正が行なわれる（ステップＳ３１）。
【００７２】
図８は、図３に示すスレーブ装置１０の時刻管理部１７０のハードウエア構成を示すブロック図である。
【００７３】
ここには、ローパスフィルタ１７１と発振器／カウンタ１７２が示されている。
【００７４】
図３に示すスレーブ装置１０の算出部１３０（図６のステップＳ２４における、時刻差Δ’の算出処理）で算出されたマスタ装置２０との間の時刻差Δ’を表わす情報は、ローパスフィルタ１７１を経由させた後、発振器／カウンタ１７２に周波数制御信号として与えられる。ローパスフィルタ１７１を経由させるのは、算出された時刻差Δ’が時間的に激しく変化していても、発振器／カウンタ１７２を緩やかに制御するためである。
【００７５】
ローパスフィルタ１７１からの周波数制御信号の入力を受けた発振器／カウンタ１７２では、その周波数制御信号に基づいて発振周波数とカウント動作が調整される。これによりその発振器／カウンタの出力値である時刻情報が調整される。
【００７６】
図７に戻って時刻補正処理のシーケンスの説明を続ける。
【００７７】
ステップＳ３１において、図８を参照して説明したようにして時刻補正が行なわれると、図９に示す時刻差Δ’用テーブル中の最も古いデータが破棄される（ステップＳ３２）。
【００７８】
図９は、時刻差Δ’用テーブルの模式図である。
【００７９】
ここには、時刻補正の基になった時刻差Δ’と、その時刻差Δ’をこのテーブルに記録した時刻とのペアが、過去のＭ回に渡って記録されている。
【００８０】
図７に戻って説明を続ける。
【００８１】
上述の通り、図７のステップＳ３２では、図９に示す遅延時間テーブル中の、データ記録時刻が最も古いデータが破棄される。ただし、Ｍ行の中に未記録の行があるときは、データの破棄は行なわれない。
【００８２】
次に、今回算出された時刻差Δ‘が時刻差Δ’用テーブルに登録される（ステップＳ３３）。
【００８３】
次いで、今回算出された時刻差Δ‘の絶対値｜Δ’｜が閾値を越えている（｜Δ’｜＞閾値）か否かが判定され（ステップＳ３４）、｜Δ’｜＞閾値のときは、図９に示す時刻差Δ’用テーブルに記録されている全ての時刻差Δ’の値がそれぞれ補正される（ステップＳ３５）。
【００８４】
ここでは、今回算出されてステップＳ３１での時刻補正に用いられた時刻差Δ’が
時刻差Δ’＝δ
であったとする。このときは、時刻差Δ’用テーブルに記録されている、今回算出された時刻差Δ‘を含む全ての時刻差Δ’のそれぞれが−δだけ補正される。すなわち、ある１つの時刻差Δ’を時刻差Δｍ’としたとき、時刻差Δ’用テーブルの、時刻差Δｍ’が書き込まれている欄が、時刻差Δｍ’−δに書き換えられる。このようにして、今回の時刻補正が時刻差Δ’用テーブルに反映される。
【００８５】
さらに、その時刻差Δ’用テーブルに記録されている時刻差Δ’の中の最も小さい値を持つ時刻差Δ’に基づいて新たな閾値が決定される（ステップＳ３６）。図６のステップＳ２５では、ステップＳ２１で決定された初期値としての閾値を使用する初回を除き、このようにして順次更新される新たな閾値が使用される。
【００８６】
図１０は、時刻補正処理シーケンスの第２例を示すフローチャートである。
【００８７】
図３に示すスレーブ装置１０では、図６に示す時刻補正処理シーケンスに代えて、この図１０に示す時刻補正処理シーケンスを実行してもよい。
【００８８】
この図１０に示す時刻補正処理シーケンスの、ステップＳ４１〜Ｓ４７（図７に示す時刻補正処理を含む）は、図６に示す時刻補正処理シーケンスのステップＳ２１〜Ｓ２７とそれぞれ同一の処理であり、ここでの重複説明は省略する。
【００８９】
ステップＳ４３において、インタバル終了通知の受信が認識されるとステップＳ４７に進む。このステップＳ４７では、今回の時刻同期インタバルの中で既に時刻補正処理（ステップＳ４６）が実施されたか否かが判定される。図６を参照して説明した通り、この判定を行なうのは、今回の時刻同期インタバルの中でＮ回算出された時刻差Δ’の全てが閾値を上回っていて（ステップＳ４４）、時刻補正処理が一度も行なわれていない可能性があるからである。ただし、この図１０に示す時刻補正処理シーケンスの場合、ステップＳ４５において時刻差Δ’が閾値を越えると判定されても、その時刻差Δ’のデータは今回の時刻同期インタバルの間、保存される。
【００９０】
ステップＳ４７において、今回の時刻同期インタバルの中で既に時刻補正処理（ステップＳ４６）が実施されていると判定されると、ステップ４２に戻り、次の時刻同期インタバルが始まってマスタ装置２０からその新たな時刻同期インタバル内での時刻が通知されるまで待機する。
【００９１】
一方、ステップＳ４７において、今回の時刻同期インタバルの中では、時刻補正処理（ステップＳ４６）が一度も行なわれていないと判定されると、ステップＳ４８に進む。このステップＳ４８では、今回の時刻同期インタバルでＮ回算出してそれぞれ保存されていた時刻差Δ’の中の最小の時刻差が選択される。そしてステップＳ４９において、その選択されたＮ回の中の最小の時刻差Δ’に基づく時刻補正処理が実施される。ステップＳ４９で時刻補正処理が実施された後は、ステップＳ４２に戻り、次の時刻補正インタバルの開始まで待機する。
【００９２】
このように、この図１０に示す時刻補正処理シーケンスの場合、今回の時刻同期インタバル内において時刻差Δ’の算出をＮ回繰り返しても閾値を下回る時刻差Δ’が算出されなかったときは、Ｎ回の繰り返しの中で算出された複数の時刻差Δ’のうちの最小の時刻差Δ’に基づいて、時刻が補正される。
【００９３】
この図１０に示す時刻補正処理シーケンスの場合、各時刻同期インタバル内で時刻補正処理が少なくとも１回必ず実施されることになり、時刻の同期の崩れがより確実に防止される。
【符号の説明】
【００９４】
１０    スレーブ装置
１１，２１    無線処理部
１２，２２    時刻同期処理部
２０    マスタ装置
１１０，２２０    受信部
１２０，２１０    送信部
１３０  算出部
１４０    判定部
１５０    補正部
１６０    記録更新部
１６１    時刻差Δ’用テーブル
１７０，２７０    時刻管理部
１７１    ローパスフィルタ
１７２    発振器／カウンタ
１８０，２６０    制御部
【図１】
2015004649.tif 000003
【図２】
2015004649.tif 000004
【図３】
2015004649.tif 000005
【図４】
2015004649.tif 000006
【図５】
2015004649.tif 000007
【図６】
2015004649.tif 000008
【図７】
2015004649.tif 000009
【図８】
2015004649.tif 000010
【図９】
2015004649.tif 000011
【図１０】
2015004649.tif 000012