説明

マスタ装置及びスレーブ装置及び時刻同期方法及びプログラム

【課題】マスタ装置と複数のスレーブ装置から構成されるシステムで、装置間の同期ずれが蓄積しないように同期をとる。
【解決手段】マスタ装置とスレーブ装置1がフレーム送受信における遅延時間を計測し、スレーブ装置1が遅延時間に基づき、同期フレームの受信時刻からの調整時間であるオフセット時間を算出し、スレーブ装置1とスレーブ装置2の間及びスレーブ装置2とスレーブ装置3の間でも同様の手順にて、各スレーブ装置がオフセット時間を算出した後に、マスタ装置が同期フレームをスレーブ装置間で転送させ、各スレーブ装置における同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置とマスタ装置の時刻を同期させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスタ装置と複数のスレーブ装置が含まれる通信システムにおいて、マスタ装置と複数のスレーブ装置の間で時刻を同期させる技術に関する。
【背景技術】
【0002】
従来の同期方式では、マスタ装置(以下、単にマスタともいう)とスレーブ装置(以下、単にスレーブともいう)間の伝播遅延を計測し補正することよって、マスタ装置とスレーブ装置の同期を行っている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平01−231618号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、マスタ−スレーブ間の伝播遅延を計測し補正することが開示されている。
しかし、マスタと1つのスレーブ間のみの技術について述べられており、マスタと複数のスレーブ間の同期に関しては開示されていない。
また、同期システムではクロック偏差や伝播遅延のジッタが時間と共に発生するため周期的に伝播遅延を計測し補正することが必要となるが、特許文献1で周期的に補正を実現した場合、スレーブ装置が段階的に同期していくためスレーブ間の同期ずれが蓄積し、同期精度が大幅に劣化するという課題がある。
【0005】
この発明は、このような課題を解決することを主な目的としており、マスタ装置と複数のスレーブ装置の時刻を同期するとともに、周期的に補正を実施するときに、スレーブ装置間の同期ずれが蓄積し同期精度が劣化するのを防止することを主な目的とする。
【課題を解決するための手段】
【0006】
本発明に係るマスタ装置は、
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置であって、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定部と、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記同期ポイントから減じて補正値を生成する補正値生成部と、
前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理部と、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理部とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、複数のスレーブ装置が各々のオフセット時間を算出した後に、同期フレームを複数のスレーブ装置間で転送順序に従って転送させ、各スレーブ装置における同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置の時刻を同期させるため、複数のスレーブ装置間で段階的に同期させていく同期方式で発生するスレーブ装置間の同期ずれの蓄積を回避することができ、高精度な同期を実現することができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1に係る通信システムの構成例を示す図。
【図2】実施の形態1に係るマスタ装置の構成例を示す図。
【図3】実施の形態1に係るスレーブ装置の構成例を示す図。
【図4】実施の形態1に係る計測フレーム等のフレームフォーマットの例を示す図。
【図5】実施の形態1に係るマスタ装置、スレーブ装置の動作原理を示す図。
【図6】実施の形態1に係る同期ずれを説明する図。
【図7】実施の形態1に係る遅延計測手順を示す図。
【図8】実施の形態1に係る遅延計測手順を示す図。
【図9】実施の形態2に係る遅延計測手順を示す図。
【図10】実施の形態1に係るマスタ装置の動作例を示すフローチャート図。
【図11】実施の形態1に係るスレーブ装置の動作例を示すフローチャート図。
【図12】実施の形態1に係るスレーブ装置の動作例を示すフローチャート図。
【図13】実施の形態1及びに係るマスタ装置及びスレーブ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0009】
実施の形態1.
図1は、本実施の形態に係る通信システムの構成例を示す。
図1の例では、1つのマスタ装置100と、3つのスレーブ装置200から構成される。
スレーブ装置200の数は、3つでなくてもよく、任意の数でよい。
スレーブ装置200は2つ以上の通信ポートを持ち、マスタ装置100およびスレーブ装置200間はケーブルにてディジーチェーンで接続される。
マスタ装置100は、スレーブ装置200の管理のためにフレームを送信する。
スレーブ装置200には、フレームの転送順序が設けられており、図1の例では、マスタ装置100から送信されたフレームは、スレーブ装置1、スレーブ装置2、スレーブ装置3の順に転送される。
また、逆に、マスタ装置100からのフレームに対する応答が、スレーブ装置3、スレーブ装置2、スレーブ装置1の順に転送される。
なお、マスタ装置100からのフレームを転送する際の転送順序の始点にあたるスレーブ装置200は、始点スレーブ装置ともいう。図1の例では、スレーブ装置1が始点スレーブ装置である。
【0010】
なお、本実施の形態では、マスタ装置100もしくはスレーブ装置200間を接続するケーブルのフレーム伝播遅延と、スレーブ装置200がフレームを中継する場合に必要となる処理時間は、上り通信(スレーブ装置200からマスタ装置100への方向の通信)と下り通信(マスタ装置100からスレーブ装置200への方向の通信)で等しいものとする。
【0011】
次に、図2を参照して、本実施の形態に係るマスタ装置100の構成例を説明する。
【0012】
図2において、同期ポイント設定部101は、後述する同期フレームの送信時刻から所定時間後の時点を、マスタ装置100及び複数のスレーブ装置200で時刻を同期させる同期ポイントとする。
同期ポイント設定部101は、例えば、同期フレームの送信時刻から10秒後を同期ポイントとし、後述する同期処理部106が同期フレームの送信時刻から10秒経過した時点で複数のスレーブ装置200と時刻を同期させる。
また、後述するように、スレーブ装置1は、同期フレームの受信時刻からの調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間(例えば、9秒後)を加算した時点を同期ポイントとして導出し、マスタ装置100から同期フレームを受信するとともに、受信した同期フレームをスレーブ装置2に転送し、更に、同期フレームの受信時刻から9秒経過した時点でマスタ装置100及び他のスレーブ装置200と時刻を同期させる。
同様に、スレーブ装置2は、スレーブ装置2における調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間(例えば、8秒後)を加算した時点を同期ポイントとして導出し、スレーブ装置1から同期フレームを受信するとともに、受信した同期フレームをスレーブ装置3に転送し、更に、同期フレームの受信時刻から8秒経過した時点でマスタ装置100及び他のスレーブ装置200と時刻を同期させる。
また、スレーブ装置3は、スレーブ装置3における調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間(例えば、7秒後)を加算した時点を同期ポイントとして導出し、スレーブ装置2から同期フレームを受信し、更に、同期フレームの受信時刻から7秒経過した時点でマスタ装置100及び他のスレーブ装置200と時刻を同期させる。
【0013】
同期ポイント記憶部102は、同期ポイント設定部101により決定された同期ポイントを記憶する。
また、同期ポイント記憶部102は、記憶している同期ポイントを補正値生成部103に通知する。
【0014】
補正値生成部103は、スレーブ装置1に通知する補正値を生成する。
より具体的には、補正値生成部103は、伝播遅延計測部104から伝播遅延値を受け取り、また、同期ポイント記憶部102から同期ポイントを受け取り、伝播遅延値と同期ポイントから、補正値を算出する。
補正値の生成手順は、後述する。
【0015】
伝播遅延計測部104は、後述する計測フレームの送信タイミングと計測応答フレームの受信タイミングを通知され、計測フレームの送信タイミングから計測応答フレームの受信タイミングまでの時間(遅延計測値)を計測する。
【0016】
フレーム処理部105は、計測フレームをスレーブ装置1に送信し、計測応答フレームをスレーブ装置1から受信し、また、補正フレームをスレーブ装置1に送信し、補正完了フレームをスレーブ装置1から受信し、更新フレーム及び同期フレームをスレーブ装置1に送信する。
フレーム処理部105は、計測フレーム処理部、補正フレーム処理部、更新フレーム処理部及び同期フレーム処理部の例である。
【0017】
ここで、計測フレームとは、ネットワークの伝播遅延の計測の開始を指示するためのフレームである。
計測応答フレームとは、計測フレームに対するスレーブ装置1の応答であり、ネットワークの伝播遅延の計測の終了を指示するためのフレームである。
補正フレームは、補正値生成部103で生成された補正値を含み、補正値をスレーブ装置1に通知するためのフレームである。
補正完了フレームは、全てのスレーブ装置200でオフセット時間の算出が完了したことをマスタ装置100に通知するためのフレームである。
更新フレームは、現在の同期処理セッションで算出したオフセット時間を選択して同期ポイントを導出するよう各スレーブ装置200に指示するフレームである。
同期処理セッションについては、後述する。
同期フレームは、各スレーブ装置200における受信時刻が各スレーブ装置200のオフセット時間の起点となるフレームである。
【0018】
なお、フレーム処理部105は、計測フレームの送信タイミングと計測応答フレームの受信タイミングを伝播遅延計測部104に通知する。
また、フレーム処理部105は、補正値生成部103から、補正値を受け取り、この補正値を補正フレームとしてスレーブ装置1に送信する。
また、詳細は後述するが、フレーム処理部105は、各スレーブ装置200がオフセット時間を生成し、補正完了フレームをスレーブ装置1から受信した後に、更新フレームを送信し、更に、その後に同期フレームを送信する。
そして、フレーム処理部105は、複数のスレーブ装置200間で転送順序に従って同期フレームを転送させ、各スレーブ装置200における同期フレームの受信時刻と各スレーブ装置200で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置200の時刻を同期させる。
【0019】
また、本実施の形態では、フレーム処理部105によるスレーブ装置1への計測フレームの送信からフレーム処理部105による同期フレームの送信後の各スレーブ装置200における時刻同期までを同期処理セッションと称する。
本実施の形態では、マスタ装置100及び複数のスレーブ装置200は、所定周期ごとに同期処理セッションを繰り返し行う。
このため、同期処理セッションごとに、各スレーブ装置200は、オフセット時間を算出することになる。
更新フレームは、同期処理セッションごとに算出されたオフセット時間のうち、現在の(最新の)同期処理セッションで生成されたオフセット時間を選択して、同期ポイントを導出するよう指示するフレームである。
なお、各同期処理セッションには、識別子であるセッションID(Identification)が設定される。
なお、以降では、セッションIDは、計測IDともいう。
また、後述するように、計測フレーム、計測応答フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームには、セッションIDが記述される。
【0020】
次に、図3を参照して、本実施の形態に係るスレーブ装置200の構成例を説明する。
【0021】
図3において、フレーム処理部201は、計測フレームをマスタ装置100又は前の転送順序のスレーブ装置200から受信し、計測応答フレームをマスタ装置100又は前の転送順序のスレーブ装置200に送信する。
更に、フレーム処理部201は、次の転送順序のスレーブ装置200に計測フレームを送信し、次の転送順序のスレーブ装置200から計測応答フレームを受信する。
また、フレーム処理部201は、補正フレームをマスタ装置100又は前の転送順序のスレーブ装置200から受信し、また、後述の補正値生成部207により生成された補正値を含む補正フレームを次の転送順序のスレーブ装置200に送信する。
また、フレーム処理部201は、次の転送順序のスレーブ装置200から補正完了フレームを受信し、マスタ装置100又は前の転送順序のスレーブ装置200に補正完了フレームを転送する。
また、フレーム処理部201は、マスタ装置100又は前の転送順序のスレーブ装置200から更新フレームを受信し、受信した更新フレームを次の転送順序のスレーブ装置200に送信する。
また、フレーム処理部201は、マスタ装置100又は前の転送順序のスレーブ装置200から同期フレームを受信し、受信した同期フレームを次の転送順序のスレーブ装置200に送信する。
【0022】
また、フレーム処理部201は、マスタ装置100又は前の転送順序のスレーブ装置200からの計測フレームの受信タイミングとマスタ装置100又は前の転送順序のスレーブ装置200への計測応答フレームの送信タイミングを後述の伝播遅延計測部206に通知する。
更に、フレーム処理部201は、次の転送順序のスレーブ装置200への計測フレームの送信タイミングと次の転送順序のスレーブ装置200からの計測応答フレームの受信タイミングを後述の伝播遅延計測部206に通知する。
また、フレーム処理部201は、補正フレームに含まれる補正値を、後述のオフセット時間算出部202に通知する。
また、フレーム処理部201は、後述の補正値生成部207から、補正値を受け取り、この補正値を補正フレームで次の転送順序のスレーブ装置200に通知する。
また、フレーム処理部201は、更新フレームを受信したことを、後述の有効オフセット時間選択部205に通知する。
また、フレーム処理部201は、後述の同期ポイント算出部208に、同期フレームを受信したことを通知する。
なお、フレーム処理部201は、第1の計測フレーム処理部、第2の計測フレーム処理部、第1の補正フレーム処理部、第2の補正フレーム処理部、更新フレーム処理部及び同期フレーム処理部の例である。
【0023】
オフセット時間算出部202は、マスタ装置100又は前の転送順序のスレーブ装置200からの計測フレームの受信からマスタ装置100又は前の転送順序のスレーブ装置200への計測応答フレームの送信までの時間と、受信した補正フレームに含まれる補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置200及びマスタ装置100と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出する。
【0024】
第一の記憶部203は、オフセット時間算出部202からオフセット時間を受け取り、記憶する。
また、第二の記憶部204も、オフセット時間算出部202からオフセット時間を受け取り、記憶する。
第一の記憶部203と第二の記憶部204は、異なる同期処理セッションで算出されたオフセット時間を、対象となる同期処理セッションのセッションIDと対応付けて記憶する。
例えば、第一の記憶部203がn回目の同期処理セッションで算出されたオフセット時間を、例えば、セッションID:nと対応付けて記憶し、第二の記憶部204がn+1回目の同期処理セッションで算出されたオフセット時間を、例えば、セッションID:n+1と対応付けて記憶する。
また、第一の記憶部203と第二の記憶部204は、後述の有効オフセット時間選択部205に、記憶してあるオフセット時間を通知する。
第一の記憶部203と第二の記憶部204は、記憶部の例である。
【0025】
有効オフセット時間選択部205は、フレーム処理部201がマスタ装置100又は前の転送順序のスレーブ装置200から更新フレームを受信した際に、更新フレームに記述されているセッションIDをフレーム処理部201から通知される。
そして、有効オフセット時間選択部205は、第一の記憶部203及び第二の記憶部204の各々からオフセット時間及びセッションIDを受け取り、フレーム処理部201から通知されたセッションIDと一致するセッションIDに対応付けられているオフセット時間を同期ポイントの導出に用いるオフセット時間として選択する。
そして、有効オフセット時間選択部205は、選択したオフセット時間を同期ポイント算出部208に通知する。
【0026】
伝播遅延計測部206は、フレーム処理部201から、マスタ装置100又は前の転送順序のスレーブ装置200からの計測フレームの受信タイミングと、マスタ装置100又は前の転送順序のスレーブ装置200への計測応答フレームの送信タイミングの通知を受け、受信タイミングから送信タイミングまでの時間(遅延計測値)を計測する。
また、伝播遅延計測部206は、フレーム処理部201から、次の転送順序のスレーブ装置200への計測フレームの送信タイミングと、次の転送順序のスレーブ装置200からの計測応答フレームの受信タイミングの通知を受け、送信タイミングから受信タイミングまでの時間(遅延計測値)を計測する。
【0027】
補正値生成部207は、伝播遅延計測部206から遅延計測値を受け取る。この遅延計測値は、マスタ装置100又は前の転送順序のスレーブ装置200からの計測フレームの受信タイミングとマスタ装置100又は前の転送順序のスレーブ装置200への計測応答フレームの送信タイミングの間の時間である。
また、補正値生成部207は、オフセット時間算出部202からオフセット時間の通知を受ける。
そして、補正値生成部207は、遅延計測値とオフセット時間から補正値を生成する。
生成した補正値は、次の転送順序のスレーブ装置200に補正フレームとして通知する。
なお、補正値生成部207による補正値の生成手順は、後述する。
【0028】
同期ポイント算出部208は、有効オフセット時間選択部205から有効としたオフセット時間を受け取る。
また、同期ポイント算出部208は、フレーム処理部201から同期フレームの受信の通知を受け取る。
そして、同期ポイント算出部208は、同期フレームの受信の通知とオフセット時間から、同期ポイントの時刻を算出する。
より具体的には、同期ポイント算出部208は、同期フレームの受信時刻に、有効オフセット時間選択部205から受け取ったオフセット時間を加算して同期ポイントを導出する。
そして、同期ポイント算出部208は、導出した同期ポイントにて他のスレーブ装置200及びマスタ装置100と時刻を同期させる。
同期ポイント算出部298は、同期処理部の例である。
【0029】
図4は、本実施の形態に係るマスタ装置100とスレーブ装置200が送受信するフレームのフォーマットを示す構成図である。
図4(a)は、計測フレームのフレームフォーマットを示し、図4(b)は、計測応答フレームのフレームフォーマットを示す。
また、図4(c)は、補正フレームのフレームフォーマットを示し、図4(d)は、補正完了フレームのフレームフォーマットを示す。
図4(e)は、更新フレームのフレームフォーマットを示し、図4(f)は、同期フレームのフレームフォーマットを示す。
各フレームで定義されているフィールドには、以下のような情報が格納される。
宛先フィールドには、フレームを受信するマスタ装置100もしくはスレーブ装置200を識別するIDを格納する。
全てのマスタ装置100もしくはスレーブ装置200に受信させるためには、ブロードキャストアドレスと呼ばれる特定のアドレスを指定する。
送信元フィールドには、フレームを送信するマスタ装置100もしくはスレーブ装置200を識別するIDを格納する。
フレーム種別フィールドには、フレームの種類を識別するためのIDを格納する。
計測IDフィールドには、マスタ装置100もしくはスレーブ装置200が実施する遅延計測の順を識別するためのIDを格納する。
つまり、計測IDフィールドには、同期処理セッションを識別するためのID(セッションID)を格納する。
同じ同期処理セッションで送受信される計測フレーム、計測フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームには、共通のセッションID(計測ID)が格納される。
また、補正フレームには、補正値が含まれる。
【0030】
また、本実施の形態に係る通信システムの前提として、スレーブ装置200がフレームを中継する処理時間とフレームを折り返す時間は等しい。
なお、フレームの中継とは、ある通信ポートAから受け取ったフレームを別の通信ポートBから送信する処理のことを示す。
また、フレームの折り返しとは、ある通信ポートAから受け取ったフレームを同じ通信ポートAから送信する処理のことを示す。
【0031】
図5は、本実施の形態に係る同期方式の概要を示したものである。
本実施の形態では、始めに、マスタ装置100が隣接スレーブ装置200(始点スレーブ装置)と計測フレーム及び計測応答フレームを送受信して隣接スレーブ装置200に同期ポイント算出のためのオフセット時間を算出させ、オフセット時間を算出した隣接スレーブ装置200がマスタ装置100の代わりとなりさらに隣接するスレーブ装置200と計測フレーム及び計測応答フレームを送受信して次のスレーブ装置200に同期ポイント算出のためのオフセット時間を算出させる。
以上の動作を繰り返すことで、マスタ装置と全てのスレーブ装置で同期ポイントを共有させて、同期ポイントにおいて時刻を同期させるという方式である。
【0032】
図5を例として、本実施の形態に係る同期方式の原理を示す。
なお、以下の(1)〜(8)は、図5に示す(1)〜(8)に対応する。
【0033】
(1)まず、マスタ装置100は、スレーブ全体を同期させるタイミングである同期ポイントを設定する。
(2)マスタ装置100は、隣接しているスレーブ装置1を宛先にして計測フレームを送信する。送信と同時に、マスタ装置100は伝播遅延の計測を開始する。
(3)自身が宛先の計測フレームを受信したスレーブ装置1は、計測フレームの送信元であるマスタ装置100に計測応答フレームを送信する。
この時、スレーブ装置1は、計測フレームの受信から計測応答フレームの送信までの時間を計測する。
(4)計測応答フレームを受信したマスタ装置100は、伝播遅延の計測を終了する。
また、マスタ装置100は、測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。補正値は、式1で算出される。
なお、cal_delayは、マスタ装置100が計測した伝播遅延時間である。
【0034】
【数1】

【0035】
(5)また、マスタ装置100は、算出した補正値を、補正フレームにてスレーブ装置1に送信する。
(6)スレーブ装置1は、補正値をマスタ装置100から受け取る。
また、スレーブ装置1は、この受信した補正値から、同期ポイントまでのオフセット時間を算出する。
オフセット時間は、式2から算出される。
これにより、スレーブ装置1は、同期のために送信される同期フレームを受信してからオフセット時間分だけ補正したタイミングが同期ポイントであると分かり、マスタ装置100と同期することができる。
なお、式2のcal_delayは、スレーブ装置1が計測した伝播遅延時間である。
【0036】
【数2】

【0037】
(7)同期したスレーブ装置1は、(1)から(6)までのマスタ装置100の手順と同様にして、自身に隣接するスレーブ装置2と同期する。
(8)(1)から(7)までの手順をマスタ装置100と全てのスレーブ装置200が繰り返すことで、マスタ装置100と全てのスレーブ装置200が同期することができる。
【0038】
一旦、マスタ装置100とスレーブ装置200を同期させても、さまざまな要因により時間と共に同期のずれが生じる。
これを防止するために、上記シーケンスを定期的に実施することで、同期ずれを定期的に修正し、同期精度を保つことができる。
【0039】
しかし、図5に示す方式のように、段階的にマスタ装置とスレーブ装置を同期させていった場合、同期ずれの蓄積という問題がある。
同期ずれの蓄積の概要を、図6に示す。
【0040】
まず、マスタ装置とスレーブ装置1からスレーブ装置3が同期済みであるとし、その後何らかの要因で同期がずれたとする。
ここでは、図6(a)に示すように、マスタ装置とスレーブ装置1の同期ずれがα1、スレーブ装置1とスレーブ装置2の同期ずれがα2、スレーブ装置2とスレーブ装置3の同期ずれがα3であるとする。
【0041】
図6(b)に示すように、マスタ装置とスレーブ装置1が同期した場合、マスタ装置とスレーブ装置1の同期ずれはなくなるが、スレーブ装置1とスレーブ装置2の同期ずれはα1+α2となり、同期ずれが蓄積する。
【0042】
次に、図6(c)に示すように、スレーブ装置1とスレーブ装置2が同期した場合、マスタ装置とスレーブ装置1とスレーブ装置2の同期ずれはなくなるが、スレーブ装置2とスレーブ装置3との同期ずれはα1+α2+α3となり、同期ずれが蓄積する。
【0043】
このような同期ずれの蓄積を防止するために、本実施の形態では、スレーブ装置200はオフセット時間を格納する部分を2つ持つ。
これは、スレーブ装置200の第一の記憶部203と第二の記憶部204に相当する。
本実施の形態では、あるスレーブ装置200がオフセット時間を算出した場合、すぐにこのオフセット時間を有効とせず、一時保管しておく。
その後、マスタ装置100が全てのスレーブ装置200に対してオフセット時間を有効とする更新フレームを送信する。
各スレーブ装置200は、この更新フレームを受信した場合に、オフセット時間を有効とする。
更新フレームを受信するまでは、前のオフセット時間を利用して同期をする。
【0044】
次に、本実施の形態に係る同期方式の通信シーケンスを、図7及び図8に示す例を用いて説明する。
なお、以下の(1)〜(12)は、図7及び図8に示す(1)〜(12)に対応する。
また、図7及び図8に示すシーケンスは、例えば、システム稼動開始時に行う。
【0045】
(1)マスタ装置100は、計測ID(セッションID)を決定する。
この図の例では、計測ID=0に設定する。
また、マスタ装置100は、隣接するスレーブ装置1に計測フレームを送信する。
この時、計測フレームのフィールドは、宛先=スレーブ装置1、送信元=マスタ装置、計測ID=0に設定する。
送信と同時に、マスタ装置100は伝播遅延計測を開始する。
【0046】
(2)自身が宛先の計測フレームを受信したスレーブ装置1は、計測フレームの送信元であるマスタ装置100に計測応答フレームを送信する。
この時、計測応答フレームのフィールドは、宛先=マスタ装置、送信元=スレーブ装置1、計測ID=0に設定する。
なお、計測応答フレームの計測IDは、受信した計測フレームの計測IDと等しい。
また、スレーブ装置1でも、伝播遅延時間を計測している。
【0047】
(3)計測応答フレームを受信したマスタ装置100は、伝播遅延計測を終了する。
また、マスタ装置100では、測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。
【0048】
(4)マスタ装置100は、算出した補正値を、補正フレームにて隣接するスレーブ装置1に送信する。
この時、補正フレームのフィールドは、宛先=マスタ装置、送信元=スレーブ装置1、計測ID=0、補正値=算出した補正値(図の例ではA)を設定する。
なお、補正フレームの計測IDは、受信した計測応答フレームの計測IDと等しい。
補正値を受け取ったスレーブ装置1は、補正値からオフセット時間を算出し、第一の記憶部203に保存する(図の例では、f(A))。
スレーブ装置1は、同期フレームを受信してからオフセット時間分だけ補正した時刻が同期ポイントであると分かる。
なお、この時点では、受信したオフセット時間は有効にせず、一時的に格納しているに留める。
なお、本実施の形態では定義していないが、補正フレームの応答用のフレームを予め定義しておき、この処理の後にスレーブ装置1がマスタ装置に応答を返すことで、マスタ装置がスレーブ装置1の補正フレームの受信を確認しても良い。
【0049】
次に、スレーブ装置1が前述のマスタ装置100と同じ処理を、隣接するスレーブ装置2に対して実行する。
具体的には、(5)スレーブ装置2に計測フレームを送信し、(6)スレーブ装置2から計測応答フレームを受信し、(7)マスタ装置100と同様の手順により補正値を生成し、補正フレームをスレーブ装置2に送信する。
この時の計測フレーム、計測応答フレーム、補正フレームの計測IDは、スレーブ装置1がマスタ装置100から受信した補正フレームの計測IDと等しい。
【0050】
(8)ネットワークの終端であるスレーブ装置3がスレーブ装置2から補正値を受け取り、オフセット時間を算出した場合、遅延補正が終了したことをマスタ装置100に伝えるために、スレーブ装置3が、スレーブ装置2、スレーブ装置1を介してマスタ装置100に補正完了フレームを送信する。
この時、補正完了フレームのフィールドは、宛先=マスタ装置、送信元=スレーブ装置3、計測ID=0に設定する。
なお、補正完了フレームの計測IDは、スレーブ装置3が受信した補正フレームの計測IDと等しい。
【0051】
(9)補正完了フレームを受信したマスタ装置100は、受信した補正完了フレームの計測IDと、自身が最初に設定した計測IDを比較する。
(ア)両者が一致した場合、マスタ装置100は、各スレーブ装置200のオフセット時間を有効にするために、更新フレームをブロードキャストにて送信する。
なお、更新フレームのフィールドは、宛先=ブロードキャストアドレス、送信元=マスタ装置、計測ID=0に設定する。
更新フレームの計測IDは、自身が受信した補正完了フレームの計測IDと等しい。
(イ)一方、計測IDが一致しない場合、上記(2)から再開する。
【0052】
(10)更新フレームを受け取ったスレーブ装置200は、更新フレームの計測IDに対応するオフセット時間を有効にする。
以後、同期フレームを受信した場合、有効なオフセット時間を利用して同期ポイントを算出する。
なお、本実施の形態では定義していないが、更新フレームの応答用のフレームを予め定義しておき、この処理の後に更新フレームを受け取ったスレーブ装置がマスタ装置に応答を返すことで、マスタ装置がスレーブ装置の更新フレームの受信を確認しても良い。
【0053】
(11)次に、マスタ装置100が、同期フレームを全てのスレーブ装置200に送信する。
全てのスレーブ装置200は、同期フレームの受信時刻から有効なオフセット時間分待機した時刻が全てのマスタ装置100とスレーブ装置200で一致すると分かる。
これを基準(同期ポイント)として、全てのマスタ装置100とスレーブ装置200が同期する。
【0054】
(12)また、次の同期処理セッションを開始する場合は、マスタ装置100が計測IDを別の値に設定し、(1)から(11)の処理を実施する。
【0055】
次に、図10〜図12を参照しながら、図7及び図8に示したマスタ装置100及びスレーブ装置200の動作の詳細を説明する。
なお、図10は、マスタ装置100の動作例を示し、図11及び図12はスレーブ装置200の動作例を示す。
【0056】
まず、マスタ装置100では、同期ポイント設定部101が、スレーブ装置200全体を同期させるタイミングである同期ポイントを設定する(図10:S1001)(同期ポイント設定ステップ)。
また、同期ポイント記憶部102が、同期ポイント設定部101が設定した同期ポイントを記憶する。
また、このとき、同期ポイント設定部101は、現在の同期処理セッションのセッションID(計測ID)を決定する。
【0057】
次に、マスタ装置100において、フレーム処理部105が、隣接しているスレーブ装置1を宛先にする計測フレームを生成し、計測フレームを送信する(図10:S1002)(計測フレーム処理ステップ)。
この計測フレームには、同期ポイント設定部101が決定した計測IDが含まれる。
また、後述する計測応答フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームにおいても、同じ計測IDが用いられる。
また、計測フレームの送信と同時に、フレーム処理部105が、計測フレームの送信を伝播遅延計測部104に通知し、伝播遅延計測部104が伝播遅延の計測を開始する。
【0058】
スレーブ装置1では、フレーム処理部201が、自身が宛先となっている計測フレームを受信し(図11:S2001)(第1の計測フレーム処理ステップ)、計測フレームの送信元であるマスタ装置100に計測応答フレームを送信する(図11:S2002)(第1の計測フレーム処理ステップ)。
この時、スレーブ装置1では、フレーム処理部201は、計測フレームの受信タイミングと計測応答フレームの送信タイミングを伝播遅延計測部206に通知し、伝播遅延計測部206が、計測フレームの受信から計測応答フレームの送信までの時間を計測する。
【0059】
次に、マスタ装置100では、フレーム処理部105が、計測応答フレームを受信し(図10:S1003)(計測フレーム処理ステップ)、伝播遅延計測部104に計測応答フレームの受信を通知し、伝播遅延計測部104が伝播遅延の計測を終了する。
次に、マスタ装置100において、補正値生成部103が、伝播遅延計測部104で測定された伝播遅延時間と同期ポイント記憶部102に記憶されている同期ポイントを基に、補正値を算出する(図10:S1004)(補正値生成ステップ)。
補正値は、上述の式1で算出される。
ここでは、式1を再度提示する。
なお、cal_delayは、伝播遅延計測部104が計測した伝播遅延時間(計測フレームの送信から計測応答フレームの受信までの時間)である。
【0060】
【数3】

【0061】
次に、マスタ装置100では、フレーム処理部105が、補正値生成部103が生成した補正値が含まれる補正フレームを生成し、隣接するスレーブ装置1に補正フレームを送信する(図10:S1005)(補正フレーム処理ステップ)。
【0062】
スレーブ装置1では、フレーム処理部201が補正フレームを受信する(図11:S2003)(第1の補正フレーム処理ステップ)。
次に、スレーブ装置1において、オフセット時間算出部202が、フレーム処理部201から補正値を受け取り、この補正値と伝播遅延計測部206により計測された伝播遅延時間から、オフセット時間を算出する(図11:S2004)(オフセット時間算出ステップ)。
オフセット時間算出部202は、上述の式2に従って、オフセット時間を算出する。
ここでは、式2を再度提示する。
なお、式2のcal_delayは、スレーブ装置1が計測した伝播遅延時間(計測フレームの受信から計測応答フレームの送信までの時間)である。
【0063】
【数4】

【0064】
その後、スレーブ装置1では、算出されたオフセット時間を第一の記憶部203又は第二の記憶部204に記憶する(図11:S2005)。
これにより、スレーブ装置1は、同期のために送信される同期フレームを受信してからオフセット時間経過した時点が同期ポイントであると分かり、同期フレームを受信した際に同期ポイントにおいてマスタ装置100と同期することができる。
【0065】
オフセット時間を算出したスレーブ装置1は、自身がマスタ装置100に代わって、上記の手順をスレーブ装置2との間で行って、スレーブ装置2にオフセット時間を算出させる。
スレーブ装置1には、次の転送順序のスレーブ装置であるスレーブ装置2があるので(図11:S2006でYES)、フレーム処理部201がスレーブ装置2に計測フレームを送信する(図11:S2007)(第2の計測フレーム処理ステップ)。
また、このとき、伝播遅延計測部206が伝播遅延時間の計測を開始する。
そして、スレーブ装置1では、フレーム処理部201がスレーブ装置2からの計測応答フレームを受信し(図11:S2008)(第2の計測フレーム処理ステップ)。
伝播遅延計測部206は、計測応答フレームの受信により伝播遅延時間の計測を終了する。
なお、このときのスレーブ装置2の動作は、図11のS2001とS2002に示す通りである。
【0066】
次に、スレーブ装置1では、補正値生成部207が、伝播遅延計測部206により計測された伝播遅延時間(計測フレームの送信から計測応答フレームの受信)とオフセット時間に基づき、補正値を生成する(図11:S2009)(補正値生成ステップ)。
補正値生成部207による補正値の算出式は、次の式3の通りである。
【0067】
【数5】

【0068】
次に、スレーブ装置1では、フレーム処理部201が、補正値生成部207が生成した補正値が含まれる補正フレームを生成し、スレーブ装置2に補正フレームを送信する(図11:S2010)(第2の補正フレーム処理ステップ)。
【0069】
スレーブ装置2では、フレーム処理部201が補正フレームを受信する(図11:S2003)(第1の補正フレーム処理ステップ)。
そして、スレーブ装置2では、オフセット時間算出部202が、フレーム処理部201から補正値を受け取り、この補正値と伝播遅延計測部206により計測された伝播遅延時間から、オフセット時間を算出し(図11:S2004)(オフセット時間算出ステップ)、算出したオフセット時間を第一の記憶部203又は第二の記憶部204に記憶する(図11:S2005)。
オフセット時間算出部202によるオフセット時間の算出は、上記の式2による。
【0070】
このようにして、転送順序に従って、複数のスレーブ装置200において、順次オフセット時間を算出させる。
【0071】
図7及び図8の例では、スレーブ装置3においてオフセット時間の算出及び記憶が完了すると(図11:S2005)、スレーブ装置3には、次の転送順序のスレーブ装置200がいないので(図11:S2006でNO)、スレーブ装置3のフレーム処理部201は、オフセット時間の算出が完了したことを通知する補正完了フレームをスレーブ装置2に送信する(図11:S2012)。
【0072】
スレーブ装置2では、フレーム処理部201が、スレーブ装置3から送信された補正完了フレームを受信し(図11:S2011)、スレーブ装置1に送信する(図11:S2012)。
また、スレーブ装置1では、フレーム処理部201が、スレーブ装置2から送信された補正完了フレームを受信し(図11:S2011)、マスタ装置100に送信する(図11:S2012)。
【0073】
マスタ装置100では、フレーム処理部105が、スレーブ装置1から送信された補正完了フレームを受信し(図10:S1006)、補正完了フレームのセッションIDがS1001において設定したセッションIDと一致すれば、更新フレームをスレーブ装置1に送信する(図10:S1007)。
スレーブ装置1では、フレーム処理部201が、更新フレームを受信し(図12:S2013)、有効オフセット時間選択部205が、第一の記憶部203及び第二の記憶部に記憶されているオフセット時間のうち、更新フレームに含まれているセッションIDと同じセッションIDと対応付けられているオフセット時間を選択する(図12:S2014)。
また、スレーブ装置1では、次の転送順序のスレーブ装置であるスレーブ装置2があるため(図12:S2015でYES)、フレーム処理部201が、更新フレームをスレーブ装置2に送信する(図12:S2015)。
また、スレーブ装置2、スレーブ装置3でも、同様にして、更新フレームを受信し、オフセット時間を選択する。
【0074】
次に、マスタ装置100において、フレーム処理部201が、スレーブ装置1に同期フレームを送信する(図10:S1008)(同期フレーム処理ステップ)。
スレーブ装置1では、フレーム処理部201が、同期フレームを受信するとともに(図12:S2017)(同期フレーム処理ステップ)、次の転送順序のスレーブ装置であるスレーブ装置2があるため(図12:S2018でYES)、フレーム処理部201が、同期フレームをスレーブ装置2に送信する(図12:S2019)(同期フレーム処理ステップ)。
【0075】
スレーブ装置1において、同期ポイント算出部208が、S2017の同期フレームの受信時刻にS2014で選択されたオフセット時間を加算して同期ポイントを導出し(図12:S2020)(同期処理ステップ)、同期ポイントにて時刻を同期させる(図12:S2021)(同期処理ステップ)。
また、スレーブ装置2及びスレーブ装置3においても、同様に、同期フレームを受信し、同期ポイントを導出し、同期ポイントにて時刻を同期させる。
同様に、マスタ装置100においても、同期処理部106が、同期ポイントで時刻を同期させる(図10:S1009)。
【0076】
以上の動作に加えて、本実施の形態では、マスタ装置100は、補正完了フレームが返信される前にも、同期フレームを一定周期(同期処理セッションの周期よりも短い周期)で送信する。
例えば、図8において(再)同期フレームとして示している同期フレームは、補正完了フレームが返信される前にマスタ装置100から送信されている。
これは、補正完了フレームが返信され、更新フレームが送信される前であっても、(再)同期フレームを基準に、前回の同期処理セッションで算出されたオフセット時間を用いて同期をとるためである。
図8の(再)同期フレームのフィールド値は(BC、M、0)となっている。
これは、宛先アドレス=ブロードキャストアドレス、送信元アドレス=マスタ装置100、計測ID=0を示している。
遅延計測2回目(2回目の同期処理セッション)では、計測フレーム、計測応答フレーム、補正フレーム等において計測ID=1が用いられているが、この(再)同期フレームの計測IDは値が0である。
(再)同期フレームの送信前に、補正フレーム(計測ID=1)が送信され、スレーブ装置200では、当該補正フレームに基づいて2回目の同期処理セッションでのオフセット時間が算出され、第二の記憶部に記憶されている。例えば、スレーブ装置1では、第二の記憶部にID=1に対して、オフセット時間=f(A’)が記憶されている。一方、第一の記憶部にID=0に対して、オフセット時間=f(A)(1回目の同期処理セッションでのオフセット時間)が記憶されている。
計測ID=0の(再)同期フレームを受信したスレーブ装置1では、有効オフセット時間選択部205が、(再)同期フレームの計測ID=0に基づき、第一の記憶部内のオフセット時間=f(A)を選択し、同期ポイント算出部208が、(再)同期フレームの受信時刻に有効オフセット時間選択部205により選択されたオフセット時間=f(A)を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置100及び他のスレーブ装置200と同期をとる。
なお、(再)同期フレームは、同期フレームと同様に、スレーブ装置1、スレーブ装置2、スレーブ装置3の順に転送され、各スレーブ装置において、第一の記憶部内のオフセット時間を用いて同期がとられる。
また、マスタ装置100から、計測ID=1が含まれる更新フレームが送信され、スレーブ装置1が、この更新フレームを受信すると、有効オフセット時間選択部205が、更新フレームの計測ID=1に基づき、第二の記憶部内のオフセット時間=f(A’)を選択し、同期フレーム(計測ID=1)を受信した際に、同期ポイント算出部208が、同期フレームの受信時刻に有効オフセット時間選択部205により選択されたオフセット時間=f(A’)を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置100及び他のスレーブ装置200と同期をとる。
【0077】
また、図7には図示していないが、遅延計測1回目(1回目の同期処理セッション)において同期フレームが送信されて、マスタ装置100及び各スレーブ装置200が同期ポイントにおいて同期をとった後、遅延計測2回目(2回目の同期処理セッション)が開始する前に、(再)同期フレーム(計測ID=0)を送信するようにしてもいい。
この場合にも、各スレーブ装置200では、有効オフセット時間選択部205が、(再)同期フレームの計測ID=0に基づき、第一の記憶部内のオフセット時間=f(A)を選択し、同期ポイント算出部208が、(再)同期フレームの受信時刻に有効オフセット時間選択部205により選択されたオフセット時間=f(A)を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置100及び他のスレーブ装置200と同期をとる。
【0078】
このように、本実施の形態に係るスレーブ装置200は、複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有している。
そして、スレーブ装置200は、n(n≧1)回目の同期処理セッションにおいて、同期ポイント算出部208が、同期ポイントにおいて時刻を同期させ、更に、n+1回目の同期処理セッションにおいて、オフセット時間算出部202が新たなオフセット時間を算出した後であって、更新フレームが受信される前に、マスタ装置100又は前の転送順序のスレーブ装置200から再同期フレームを受信する場合がある。
このような場合に、同期ポイント算出部208は、n回目の同期処理セッションで算出されたオフセット時間をいずれかの記憶部から抽出し、再同期フレームの受信時刻に、n回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置200及びマスタ装置100と時刻を再度同期させる。
【0079】
また、本実施の形態に係るスレーブ装置200では、n(n≧1)回目の同期処理セッションにおいて、同期ポイント算出部208が、同期ポイントにおいて時刻を同期させた後であって、n+1回目の同期処理セッションが開始する前に、マスタ装置100又は前の転送順序のスレーブ装置200から再同期フレームを受信する場合がある。
このような場合に、同期ポイント算出部208は、n回目の同期処理セッションで算出されたオフセット時間をいずれかの記憶部から抽出し、再同期フレームの受信時刻に、n回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置200及びマスタ装置100と時刻を再度同期させる。
【0080】
以上、本実施の形態によれば、複数のスレーブ装置が各々のオフセット時間を算出した後に、同期フレームを複数のスレーブ装置間で転送順序に従って転送させ、各スレーブ装置における同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置の時刻を同期させるため、複数のスレーブ装置間で段階的に同期させていく同期方式で発生するスレーブ装置間の同期ずれの蓄積を回避することができ、高精度な同期を実現することができる。
【0081】
また、同期処理セッションを一定周期で繰り返すことにより、周期的にマスタ装置及び複数のスレーブ装置で同期をとることができ、同期ずれの蓄積を回避することができる。
【0082】
また、更新フレームの送信前に再同期フレームを送信することで、更新フレームの送信前にも同期をとることができ、同期ずれの蓄積を回避することができる。
【0083】
以上、本実施の形態では、マスタ装置と複数のスレーブ装置から構成される通信システムにおいて、同期ずれの累積を防止するための機能とシーケンスを説明した。
具体的には、スレーブ装置が同期用に設定した情報をすぐに同期に利用せず一時格納しておき、マスタ装置の指示が来てから一時格納した情報を有効にするための機能とシーケンスを説明した。
【0084】
また、本実施の形態では、所定の情報を送信するマスタ装置と、マスタ装置が送信した情報もしくはスレーブ装置が送信した情報に基づきマスタ装置もしくは他のスレーブ装置と処理のタイミングを同期するための同期時刻(同期ポイント)を算出する複数のスレーブ装置を備える同期ネットワークおよび同期システムを説明した。
【0085】
また、本実施の形態では、
上記マスタ装置は、以下の手段を備えることを説明した。
(a)フレーム処理部
以下のフレームをスレーブ装置に送信もしくは受信する。
ネットワークの伝播遅延の計測の開始を指示するためのフレーム(計測フレーム)。
ネットワークの伝播遅延の計測の終了を指示するためのフレーム(計測応答フレーム)。
補正値を他のスレーブ装置に通知するためのフレーム(補正フレーム)。
マスタに同期完了を通知するためのフレーム(補正完了フレーム)。
オフセット時間を有効にすることを他のスレーブ装置に通知するためのフレーム(更新フレーム)。
他のスレーブ装置に同期開始を指示するためのフレーム(同期フレーム)。
上記フレームの送信タイミングと受信タイミングを後述の伝播遅延計測部に通知する。
後述の補正値生成部から、補正値を受け取り、この補正値を補正フレームとして他のスレーブ装置に送信する。
(b)伝播遅延計測部
フレーム処理部から計測フレームの受信タイミングと計測応答フレームの送信タイミングを受け取り、送信タイミングから受信タイミングまでの時間(遅延計測値)を計測する。
上記計測した値を、後述の補正値生成部に通知する。
(c)補正値生成部
伝播遅延計測部から伝播遅延値を受け取る。
後述の同期ポイント記憶部から、同期ポイントを受け取る。
上記伝播遅延値と同期ポイントから、補正値を算出する。
上記補正値をフレーム処理部に通知する。
(d)同期ポイント記憶部
同期ポイントを記憶する。
同期ポイントを補正値生成部に通知する。
【0086】
また、本実施の形態では、以下の手段を備えた、スレーブ装置を説明した。
(a)フレーム処理部
以下のフレームをマスタ装置もしくは他のスレーブ装置に送信する。
計測フレーム、
計測応答フレーム、
補正フレーム、
更新フレーム、
補正完了フレーム、
同期フレーム。
マスタ装置もしくは他のスレーブ装置から上記フレームを受信する。
上記フレームの送信タイミングと受信タイミングと、フレームの情報を後述の伝播遅延計測部に通知する。
更新フレームを受信したことを、後述の有効オフセット時間選択部に通知する。
後述の補正値生成部から、補正値を受け取り、この補正値を補正フレームで他のスレーブ装置に通知する。
後述の同期ポイント算出部に、同期フレームを受信したことを通知する。
(b)第一の記憶部
オフセット時間を受け取り、記憶する。
後述の有効オフセット時間選択部に、記憶してあるオフセット時間を通知する。
(c)第二の記憶部
オフセット時間を受け取り、記憶する。
後述の有効オフセット時間選択部に、記憶してあるオフセット時間を通知する。
(d)有効オフセット時間選択部
第一の記憶部からオフセット時間を受け取る。
第二の記憶部からオフセット時間を受け取る。
フレーム処理部から、オフセット時間を有効にすることを他のスレーブ装置に通知するためのフレームの受信の通知を受け取る。
上記3つの情報から、有効とするオフセット時間を決定し、有効としたオフセット時間を後述の同期ポイント算出部と後述の補正値生成部に通知する。
(d)同期ポイント算出部
有効オフセット時間選択部から有効としたオフセット時間を受け取る。
フレーム処理部から同期開始を指示するためのフレームの受信の通知を受け取る。
フレームの受信の通知とオフセット時間から、同期ポイントの時刻を算出する。
(e)伝播遅延計測部
フレーム処理部から計測フレームの受信タイミングと計測応答フレームの送信タイミングを受け取り、送信タイミングから受信タイミングまでの時間(遅延計測値)を計測する。
フレーム処理部から計測フレームの送信タイミングと計測応答フレームの受信タイミングを受け取り、受信タイミングから送信タイミングまでの時間(遅延計測値)を計測する。
上記計測した値を、後述の補正値生成部に通知する。
(f)補正値生成部
伝播遅延計測部から伝播遅延値を受け取る。
オフセット時間を受け取る。
上記伝播遅延値とオフセット時間から、補正値を算出する。
上記補正値をフレーム処理部に通知する。
【0087】
また、本実施の形態では、以下の処理シーケンスにて同期を実現する同期システムを説明した。
マスタ装置は、隣接するスレーブ装置を宛先にして計測フレームを送信する。送信と同時に、マスタ装置及びスレーブ装置は伝播遅延計測を開始する。
自身が宛先の計測フレームを受信したスレーブ装置は、計測フレームの送信元に計測応答フレームを送信する。
計測応答フレームを受信したマスタ装置は、伝播遅延計測を終了する。測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。
算出した補正値を、隣接するスレーブ装置に送信する。
補正値を受け取ったスレーブ装置は、オフセット時間を算出し、オフセット時間を保存する。
同期フレームを受信してからオフセット時間分だけ補正した時間が同期ポイントであると分かる。なお、この時点では、生成したオフセット時間は有効としない。
次に、スレーブ装置が前述のマスタ装置と同じ処理を、隣接するスレーブ装置に対して実行する。
ネットワークの終端であるスレーブ装置が補正値を受け取った場合、遅延補正が終了したことをマスタ装置に伝えるために、マスタ装置に補正完了フレームを送信する。
マスタ装置が、更新フレームを送信する。
更新フレームを受け取ったスレーブ装置は、最後に算出したオフセット時間を有効オフセット時間とする。以後、同期フレームの受信時刻と、有効にしたオフセット時間を利用して同期ポイントを算出する。
マスタ装置が、同期フレームを全てのスレーブ装置に送信する。同期フレームを受信したスレーブ装置は、有効オフセット時間分待機した時刻が全てのマスタ装置とスレーブ装置で一致すると分かる。
【0088】
また、本実施の形態では、上記マスタ装置と上記スレーブ装置は、システム稼動開始時に、計測フレーム、計測応答フレーム、補正フレーム、更新フレームを送信し、全てのマスタとスレーブ装置が同期する同期システムを説明した。
なお、このフレームの送信順番は規定されているが、同期に利用される以外のフレームが間に送信されても同期が実現できる。
【0089】
実施の形態2.
実施の形態1では、例えば、システム稼動開始時といった、マスタ装置100及びスレーブ装置200の間でユーザデータの送受信が行われていないときに、計測フレーム等を送受信させて同期をとる例を説明した。
しかしながら、実施の形態1に示した同期方式は、他の通信(例えば、ユーザデータの通信)に相乗りさせて同期補正を実施することができる。
特に、周期的な通信(周期通信)を高速に実施したい場合、周期通信に同期補正の情報を相乗りさせて実施することで、同期補正用のフレーム送信を削減し通信帯域を省くことができ、周期通信の高速化と同期精度の高精度化が実現できる。
以下に、ある周期通信プロトコルを例に挙げて、同期補正の相乗りの実施の形態を示す。
なお、同期補正の相乗りに関しては、例に挙げる周期通信プロトコルに限った話ではない。
【0090】
なお、相乗りを実施する場合、実施の形態1で定義したフレームの宛先、送信元、フレーム種別は、周期通信プロトコルで定義されるフレームのフィールドと統一してもよい。
【0091】
同期補正の相乗りの対象となる周期通信プロトコルは、例えば、図9に示すものである。
【0092】
図9の周期通信プロトコルは、周期i及び周期i+2において、マスタ装置から下り通信フレームをスレーブ装置1に送信する。
マスタ装置からの下り通信フレームでは、ヘッダの後にスレーブ装置3宛のユーザデータ、スレーブ装置2宛のユーザデータ、スレーブ装置1宛のユーザデータの順に配置され、この順に送信が開始される。
スレーブ装置1では、下り通信フレームを受信するともに、自装置宛てではないスレーブ装置3宛のユーザデータ、スレーブ装置2宛のユーザデータをスレーブ装置2に転送し、スレーブ装置1宛てのユーザデータのみを取得する。
スレーブ装置2でも同様に、スレーブ装置3宛のユーザデータをスレーブ装置3に転送し、スレーブ装置2宛てのユーザデータのみを取得する。
【0093】
周期i+1では、各スレーブ装置は、上り通信フレームを送信する。
具体的には、まず、スレーブ装置1が自装置からのユーザデータを送信し、次に、スレーブ装置2が自装置からのユーザデータを送信し、次に、スレーブ装置3が自装置からのユーザデータを送信する。
スレーブ装置2では、スレーブ装置2のユーザデータの送信が完了するタイミングで、スレーブ装置3からのユーザデータの受信を開始し、スレーブ装置2のユーザデータに続けてスレーブ装置3からのユーザデータの転送を開始する。なお、スレーブ装置3からのヘッダは、破棄する。
スレーブ装置1では、スレーブ装置1のユーザデータの送信が完了するタイミングで、スレーブ装置2からのユーザデータの受信を開始し、スレーブ装置1のユーザデータに続けてスレーブ装置2からのユーザデータの転送を開始する。なお、スレーブ装置2からのヘッダは、破棄する。
また、スレーブ装置2からのユーザデータの送信が完了するタイミングで、スレーブ装置3からのユーザデータの受信を開始し、スレーブ装置2からのユーザデータに続けてスレーブ装置3からのユーザデータの転送を開始する。
【0094】
この周期通信プロトコルに同期補正のためのフレームを相乗りさせた例を、以下にて説明する。
なお、以下の(1)〜(8)は、図9の(1)〜(8)に対応している。
【0095】
(1)マスタ装置は、周期通信プロトコルで定められたタイミングで周期通信の下り通信を実施する。
この下り通信のフレームには、このフレームが計測フレームとして機能するという情報と、補正を実施するマスタ装置もしくはスレーブ装置を識別する情報と、補正を実施されるスレーブ装置を識別する情報が含まれる。
図9の例では、補正を実施する装置がマスタ装置、補正を実施される装置がスレーブ装置1となる。
下り通信のフレームを送信後、マスタ装置は遅延計測を開始する。
【0096】
(2)下り通信フレーム(計測フレーム)を受信した各スレーブ装置は、補正を実施される対象が自身かどうか判断し、自身である場合は遅延計測を開始する。
図9の例では、スレーブ装置1が下り通信のフレームを受信後、遅延計測を開始する。
【0097】
(3)スレーブ装置1は、周期通信プロトコルで定められたタイミングで上り通信フレームを送信する。
この上り通信のフレームには、このフレームが計測応答フレームとして機能することを示す情報と、計測応答フレームの宛先(補正を実施する装置)を識別する情報が含まれる。
その後、遅延計測を終了する。
【0098】
(4)上り通信フレームを受信したマスタ装置およびスレーブ装置は、計測応答フレームの宛先が自身かどうか判断する。
自身である場合、遅延計測を終了する。
図9の例では、マスタ装置が計測応答フレームの宛先となり、遅延計測を終了する。
【0099】
(5)計測応答フレームを受信したマスタ装置およびスレーブ装置は、自身が計測した遅延計測値と同期ポイント(又はオフセット時間)から補正値を算出する。
算出式は、実施の形態1で示した式1又は式3となる。
図9の例では、マスタ装置が補正値を算出する。
【0100】
(6)マスタ装置は、周期通信プロトコルで定められたタイミングで下り通信を実施する。
この下り通信のフレームには、このフレームが補正フレームを含むという情報と、遅延補正の対象であるスレーブ装置を識別する情報と、マスタ装置が算出した補正値の情報が含まれる。
図9の例では、遅延補正の対象がスレーブ装置1となる。
【0101】
(7)下り通信フレーム(補正フレームが含まれる)を受信した各スレーブ装置は、遅延補正の対象が自身かどうか判断し、自身である場合は受信した補正フレームに含まれる補正値からオフセット時間を算出する。
オフセット時間の算出式は実施の形態1で示した式2である。
図9の例では、スレーブ装置1が下り通信のフレームを受信後、オフセット時間を算出する。
これにより、スレーブ装置1は、同期のために送信される同期フレームを受信してからオフセット時間分だけ補正した時刻が同期ポイントであると分かり、マスタ装置と同期することができる。
なお、計測フレームがスレーブ装置に受信されたことを確認するために、計測フレームの応答用のフレームを予め定義しておき、この処理の後にスレーブ装置1がマスタ装置に応答を返してもよい。
【0102】
(8)次にスレーブ装置1が補正を実施する装置となり、スレーブ装置2が補正を実施される装置となり、(1)から(7)の処理を実施する。
なお、スレーブ装置1が補正値を算出する際の算出式は、実施の形態1で示した式3となる。
(1)〜(7)の処理を全てのスレーブ装置が実施し、全てのスレーブ装置がオフセット時間を算出することにより、全てのマスタ装置とスレーブ装置が同期ポイントを知ることができ、同期ができる。
また、実施の形態1と同様に、補正完了フレーム、更新フレーム、同期フレームも送受信される。
なお、更新フレームに関しては、更新フレームが各スレーブ装置に受信されたことを確認するために、更新フレームの応答用のフレームを予め定義しておき、更新フレーム送信後にスレーブ装置1がマスタ装置に応答を返してもよい。
より具体的には、補正完了フレームは上り通信フレームに含ませてスレーブ装置3からマスタ装置に送信され、更新フレーム及び同期フレームは、下り通信フレームに含ませてマスタ装置から各スレーブ装置に送信される。
なお、本実施の形態で特に断っていない処理については、実施の形態1で示したものと同じある。
また、本実施の形態に係るマスタ装置の構成例は図2に示す通りであり、本実施の形態に係るスレーブ装置の構成例は図3に示す通りである。
【0103】
以上、本実施の形態では、マスタ装置は、下り通信フレームの送信タイミングで、計測フレーム、補正フレーム、更新フレーム、同期フレームを送信する。
また、スレーブ装置は、下り通信フレームの送信タイミングにて送信された計測フレーム、補正フレーム、更新フレーム、同期フレームを受信し、各々のフレームに対応する処理を行う。
また、スレーブ装置は、下り通信フレームの送信タイミングで、次の転送順序のスレーブ装置に対する計測フレーム、補正フレームを送信する。
また、スレーブ装置は、上り通信フレームの送信タイミングで、計測応答フレーム、補正完了フレームを送信する。
また、マスタ装置は、上り通信フレームの送信タイミングにて送信された、計測応答フレーム、補正完了フレームを受信し、各々のフレームに対応する処理を行う。
【0104】
このように、本実施の形態によれば、ユーザデータの通信に相乗りさせて、同期補正のためのフレームを送信するため、同期補正用のフレームの送受信のための特別のフェーズを設ける必要がなく、通信効率を向上させることができる。
【0105】
以上、本実施の形態では、マスタ装置とスレーブ装置は、システム動作中にネットワークの稼動時に計測フレーム、計測応答フレーム、補正フレーム、更新フレーム等を送信し、同期のずれを補正する同期システムを説明した。
なお、この時、同期補正のずれをシステム全体で同時に行うことで、同期のずれの累積を防止する。
【0106】
最後に、実施の形態1及び2に示したマスタ装置100及びスレーブ装置200のハードウェア構成例について説明する。
図13は、実施の形態1及び2に示すマスタ装置100及びスレーブ装置200のハードウェア資源の一例を示す図である。
なお、図13の構成は、あくまでもマスタ装置100及びスレーブ装置200のハードウェア構成の一例を示すものであり、マスタ装置100及びスレーブ装置200のハードウェア構成は図13に記載の構成に限らず、他の構成であってもよい。
また、マスタ装置100とスレーブ装置200は、異なるハードウェア構成であってもよい。
【0107】
図13において、マスタ装置100及びスレーブ装置200は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1及び2で説明した「同期ポイント記憶部102」、「第一の記憶部203」及び「第二の記憶部204」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0108】
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
【0109】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0110】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0111】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
マスタ装置100及びスレーブ装置200の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0112】
上記プログラム群923には、実施の形態1及び2の説明において「〜部」(「同期ポイント記憶部102」、「第一の記憶部203」及び「第二の記憶部204」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0113】
ファイル群924には、実施の形態1及び2の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の導出」、「〜の生成」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1及び2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0114】
また、実施の形態1及び2の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1及び2で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「時刻同期方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1及び2の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1及び2の「〜部」の手順や方法をコンピュータに実行させるものである。
【0115】
このように、実施の形態1及び2に示すマスタ装置100及びスレーブ装置200は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0116】
100 マスタ装置、101 同期ポイント設定部、102 同期ポイント記憶部、103 補正値生成部、104 伝播遅延計測部、105 フレーム処理部、106 同期処理部、200 スレーブ装置、201 フレーム処理部、202 オフセット時間算出部、203 第一の記憶部、204 第二の記憶部、205 有効オフセット時間選択部、206 伝播遅延計測部、207 補正値生成部、208 同期ポイント算出部。

【特許請求の範囲】
【請求項1】
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置であって、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定部と、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記同期ポイントから減じて補正値を生成する補正値生成部と、
前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理部と、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理部とを有することを特徴とするマスタ装置。
【請求項2】
前記マスタ装置は、
前記計測フレーム処理部による計測フレームの送信から前記同期フレーム処理部による同期フレームの送信後の各スレーブ装置における時刻同期までを単位とする同期処理セッションを所定周期ごとに行うことを特徴とする請求項1に記載のマスタ装置。
【請求項3】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する複数のスレーブ装置を管理し、
前記補正フレーム処理部は、
前記補正フレームの送信後に、前記始点スレーブ装置から、前記複数のスレーブ装置においてオフセット時間が算出されたことを通知する補正完了フレームを受信し、
前記マスタ装置は、更に、
前記補正フレーム処理部により前記補正完了フレームが受信された後に、現在の同期処理セッションで算出したオフセット時間を選択して前記同期ポイントを導出するよう各スレーブ装置に指示する更新フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記更新フレームを転送させる更新フレーム処理部を有し、
前記同期フレーム処理部は、
前記更新フレーム処理部により前記更新フレームが送信された後に、前記同期フレームを前記始点スレーブ装置に送信することを特徴とする請求項2に記載のマスタ装置。
【請求項4】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションIDと対応付けて記憶する複数のスレーブ装置を管理し、
前記更新フレーム処理部は、
前記補正フレーム処理部により前記補正完了フレームが受信された後に、現在の同期処理セッションを表すセッションIDが記述されている更新フレームを送信することを特徴とする請求項3に記載のマスタ装置。
【請求項5】
前記同期フレーム処理部は、
n(n≧1)回目の同期処理セッションにおいて、各スレーブ装置が同期ポイントにおいて時刻を同期させた後であって、n+1回目の同期処理セッションが開始する前に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる再同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記再同期フレームを転送させ、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でn回目の同期処理セッションで算出したオフセット時間との加算により各スレーブ装置に同期ポイントを再度導出させて前記同期ポイントにて各スレーブ装置の時刻を再度同期させることを特徴とする請求項2〜4のいずれかに記載のマスタ装置。
【請求項6】
前記同期フレーム処理部は、
n(n≧1)回目の同期処理セッションにおいて、各スレーブ装置が同期ポイントにおいて時刻を同期させ、更に、n+1回目の同期処理セッションにおいて、各スレーブ装置が新たなオフセット時間を算出した後であって、前記更新フレーム処理部により更新フレームが送信される前に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる再同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記再同期フレームを転送させ、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でn回目の同期処理セッションで算出したオフセット時間との加算により各スレーブ装置に同期ポイントを再度導出させて前記同期ポイントにて各スレーブ装置の時刻を再度同期させることを特徴とする請求項3又は4に記載のマスタ装置。
【請求項7】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションIDと対応付けて記憶する複数のスレーブ装置を管理し、
前記同期フレーム処理部は、
前記n回目の同期処理セッションを表すセッションIDが記述されている再同期フレームを前記始点スレーブ装置に送信し、当該セッションIDに基づいて、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でn回目の同期処理セッションで算出されたオフセット時間とを加算させることを特徴とする請求項5又は6に記載のマスタ装置。
【請求項8】
前記マスタ装置は、更に、
前記同期フレーム処理部による同期フレームの送信後、前記同期ポイントにおいて自装置の時刻を前記複数のスレーブ装置の時刻と同期させる同期処理部を有することを特徴とする請求項1〜7のいずれかに記載のマスタ装置。
【請求項9】
前記マスタ装置は、
前記始点スレーブ装置への下り通信フレームの送信と前記始点スレーブ装置からの上り通信フレームの受信を周期的に繰り返し、
前記計測フレーム処理部は、
下り通信フレームの送信タイミングで前記計測フレームを送信し、上り通信フレームの受信タイミングで前記計測応答フレームを受信し、
前記補正フレーム処理部は、
下り通信フレームの送信タイミングで前記補正フレームを送信し、
前記同期フレーム処理部は、
下り通信フレームの送信タイミングで前記同期フレームを送信することを特徴とする請求項1〜8のいずれかに記載のマスタ装置。
【請求項10】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるスレーブ装置であって、
前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第1の計測フレーム処理部と、
前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第1の補正フレーム処理部と、
前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出部と、
次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第2の計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出部により算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成部と、
前記補正値生成部により生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第2の補正フレーム処理部と、
前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理部と、
前記同期フレームの受信時刻に、前記オフセット時間算出部により算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理部とを有することを特徴とするスレーブ装置。
【請求項11】
前記スレーブ装置は、
前記第1の計測フレーム処理部による計測フレームの受信から前記同期処理部による時刻同期までを単位とする同期処理セッションを所定周期ごとに行うことを特徴とする請求項10に記載のスレーブ装置。
【請求項12】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部と、
前記マスタ装置又は前の転送順序のスレーブ装置から、現在の同期処理セッションにおいて算出したオフセット時間を選択して前記同期ポイントを導出するよう指示する更新フレームを受信し、受信した前記更新フレームを次の転送順序のスレーブ装置に送信する更新フレーム処理部とを有し、
前記同期処理部は、
前記更新フレームに従い、現在の同期処理セッションで算出したオフセット時間を前記記憶部から抽出し、前記同期フレームの受信時刻に、抽出したオフセット時間を加算して前記同期ポイントを導出することを特徴とする請求項11に記載のスレーブ装置。
【請求項13】
前記記憶部は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションIDと対応付けて記憶し、
前記更新フレーム処理部は、
現在の同期処理セッションを表すセッションIDが記述されている更新フレームを受信し、
前記同期処理部は、
前記更新フレームに記述されているセッションIDと対応付けられているオフセット時間を前記記憶部から抽出することを特徴とする請求項12に記載のスレーブ装置。
【請求項14】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有し、
前記同期フレーム処理部は、
n(n≧1)回目の同期処理セッションにおいて、前記同期処理部が同期ポイントにおいて時刻を同期させた後であって、n+1回目の同期処理セッションが開始する前に、前記マスタ装置又は前の転送順序のスレーブ装置から再同期フレームを受信し、受信した前記再同期フレームを次の転送順序のスレーブ装置に送信し、
前記同期処理部は、
n回目の同期処理セッションで算出されたオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、前記n回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を再度同期させることを特徴とする請求項11〜13のいずれかに記載のスレーブ装置。
【請求項15】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有し、
前記同期フレーム処理部は、
n(n≧1)回目の同期処理セッションにおいて、前記同期処理部が同期ポイントにおいて時刻を同期させ、更に、n+1回目の同期処理セッションにおいて、前記オフセット時間算出部が新たなオフセット時間を算出した後であって、前記更新フレーム処理部により更新フレームが受信される前に、前記マスタ装置又は前の転送順序のスレーブ装置から再同期フレームを受信し、受信した前記再同期フレームを次の転送順序のスレーブ装置に送信し、
前記同期処理部は、
n回目の同期処理セッションで算出されたオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、前記n回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を再度同期させることを特徴とする請求項12又は13に記載のスレーブ装置。
【請求項16】
前記記憶部は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションIDと対応付けて記憶し、
前記同期フレーム処理部は、
前記n回目の同期処理セッションを表すセッションIDが記述されている再同期フレームを受信し、
前記同期処理部は、
前記再同期フレームに記述されているセッションIDと対応付けられているオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、抽出したオフセット時間を加算して同期ポイントを再度導出することを特徴とする請求項14又は15に記載のスレーブ装置。
【請求項17】
前記スレーブ装置は、
前記マスタ装置又は前の転送順序のスレーブ装置からの下り通信フレームの受信及び次の転送順序のスレーブ装置への下り通信フレームの送信と、次の転送順序のスレーブ装置からの上り通信フレームの受信及び前記マスタ装置又は前の転送順序のスレーブ装置への上り通信フレームの送信とを周期的に繰り返し、
前記第1の計測フレーム処理部は、
下り通信フレームの受信タイミングで前記計測フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、上り通信フレームの送信タイミングで前記計測応答フレームを前記マスタ装置又は前の転送順序のスレーブ装置に送信し、
前記第1の補正フレーム処理部は、
下り通信フレームの受信タイミングで前記補正フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、
前記第2の計測フレーム処理部は、
下り通信フレームの送信タイミングで前記計測フレームを次の転送順序のスレーブ装置に送信し、上り通信フレームの受信タイミングで前記計測応答フレームを次の転送順序のスレーブ装置から受信し、
前記第2の補正フレーム処理部は、
下り通信フレームの送信タイミングで前記補正フレームを次の転送順序のスレーブ装置に送信し、
前記同期フレーム処理部は、
下り通信フレームの受信タイミングで前記同期フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、下り通信フレームの送信タイミングで前記同期フレームを次の転送順序のスレーブ装置に送信することを特徴とする請求項10〜16のいずれかに記載のスレーブ装置。
【請求項18】
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置が行う時刻同期方法であって、
前記マスタ装置が、同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定ステップと、
前記マスタ装置が、転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理ステップと、
前記マスタ装置が、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記同期ポイントから減じて補正値を生成する補正値生成ステップと、
前記マスタ装置が、前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理ステップと、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
前記マスタ装置が、各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理ステップとを有することを特徴とする時刻同期方法。
【請求項19】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるスレーブ装置が行う時刻同期方法であって、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第1の計測フレーム処理ステップと、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第1の補正フレーム処理ステップと、
前記スレーブ装置が、前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出ステップと、
前記スレーブ装置が、次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第2の計測フレーム処理ステップと、
前記スレーブ装置が、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出ステップにより算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成ステップと、
前記スレーブ装置が、前記補正値生成ステップにより生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第2の補正フレーム処理ステップと、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理ステップと、
前記スレーブ装置が、前記同期フレームの受信時刻に、前記オフセット時間算出ステップにより算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理ステップとを有することを特徴とする時刻同期方法。
【請求項20】
フレームの転送順序が設けられている複数のスレーブ装置を管理するコンピュータであるマスタ装置に、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定ステップと、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理ステップと、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記同期ポイントから減じて補正値を生成する補正値生成ステップと、
前記マスタ装置が、前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理ステップと、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理ステップとを実行させることを特徴とするプログラム。
【請求項21】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるコンピュータであるスレーブ装置に、
前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第1の計測フレーム処理ステップと、
前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第1の補正フレーム処理ステップと、
前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出ステップと、
次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第2の計測フレーム処理ステップと、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出ステップにより算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成ステップと、
前記補正値生成ステップにより生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第2の補正フレーム処理ステップと、
前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理ステップと、
前記同期フレームの受信時刻に、前記オフセット時間算出ステップにより算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理ステップとを実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−211673(P2011−211673A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−80022(P2010−80022)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】