説明

同期システムおよび同期システムの同期方法

【課題】ネットワークの対称性が崩れてもマスタ装置とスレーブ装置とが1対多で高精度に同期できるようにすることを目的とする。
【解決手段】マスタ装置は計測フレーム111を送信し、スレーブ装置A・Bは中継時間「α1+α2」を設定して中継する。スレーブ装置Cはこの中継時間を設定して計測応答フレーム112を返信し、スレーブ装置B・Aは中継時間「β1」「β2」を加算して中継する。マスタ装置は計測フレーム111と計測応答フレーム112との送受信時間「Dm’」から中継時間を引いた時間Dmを算出し、算出した時間Dmと基準時刻Tmとを設定して通知フレーム113を送信する。スレーブ装置A・Bは中継時間「γ1+γ2」を設定して通知フレーム113を中継する。スレーブ装置A・B・Cは計測フレーム111と計測応答フレーム112との送受信時間「Dsx’」と通知フレーム113の設定値とに基づいて同期時刻を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、マスタ装置の時刻とスレーブ装置の時刻とを同期する同期システムおよび同期システムの同期方法に関するものである。
【背景技術】
【0002】
従来の同期方式は、マスタ装置とスレーブ装置との間に中継装置(例えばハブやルータ)が接続された構成を前提としてネットワークの対称性を仮定し、時刻同期を実現していた。
ネットワークの対称性とは、中継装置がフレームを中継する場合に必要となる処理時間が、スレーブ装置からマスタ装置への通信とマスタ装置からスレーブ装置への通信とで等しい、つまり、往復の通信時間が等しい、ことを意味する。
【0003】
従来の同期方式は、ネットワークの対称性が保証されている場合に正確な同期を実現できる。しかし、実際の運用上、ネットワークの負荷等によってはネットワークの対称性が保証されない場合もある。このため、実際には従来の同期方式では正確な同期を実現できない。
【0004】
この課題を解決する同期方式として、中継装置の処理時間を計測し、その計測結果を利用する同期方式がある(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−62729号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した同期方式は、マスタ装置とスレーブ装置とが1対1で同期することを前提としているため、マスタ装置とスレーブ装置とが1対多で同期するような方式として利用することができない。
【0007】
本発明は、例えば、ネットワークの対称性が崩れてもマスタ装置とスレーブ装置とが1対多で高精度に同期できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の同期システムは、端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する1台以上の中継装置とを備える。
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部と、
前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
現在時刻を基準時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知フレームを生成するマスタ装置フレーム生成部とを備える。
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを前記端末装置へ送信する。
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する中継装置同期部とを備える。
【発明の効果】
【0009】
本発明によれば、例えば、ネットワークの対称性が崩れてもマスタ装置とスレーブ装置(中継装置)とが1対多で高精度に同期できる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1における同期システム100の構成図。
【図2】実施の形態1における通信フレームのフォーマットを示す図。
【図3】実施の形態1におけるマスタ装置200の機能構成図。
【図4】実施の形態1におけるスレーブ装置300の機能構成図。
【図5】実施の形態1における同期システム100の同期方法を示すフローチャート。
【図6】実施の形態1における同期システム100の処理の具体例を示すシーケンス図。
【図7】実施の形態1における同期システム100で記憶する計測時間の具体例を示す一覧表。
【図8】実施の形態1におけるマスタ装置200およびスレーブ装置300のハードウェア資源の一例を示す図。
【図9】実施の形態2における同期システム100の構成図。
【図10】実施の形態3における通信フレームのフォーマットを示す図。
【図11】実施の形態3におけるマスタ装置200の機能構成図。
【図12】実施の形態3におけるスレーブ装置300の機能構成図。
【図13】実施の形態3における同期システム100の同期方法を示すフローチャート。
【図14】実施の形態3における同期システム100の処理の具体例を示すシーケンス図。
【図15】実施の形態3における同期システム100の処理の具体例を示すシーケンス図。
【図16】実施の形態3における同期システム100で記憶する計測時間の具体例を示す一覧表。
【図17】実施の形態3における同期処理の一例を示す図である。
【図18】実施の形態3における同期処理の一例を示す図である。
【発明を実施するための形態】
【0011】
実施の形態1.
マスタ装置と複数台のスレーブ装置とを同期する同期システムについて説明する。
【0012】
図1は、実施の形態1における同期システム100の構成図である。
実施の形態1における同期システム100の構成について、図1に基づいて説明する。
【0013】
同期システム100は、1台のマスタ装置と3台のスレーブ装置A・B・Cとを備える。
マスタ装置は一つ以上の通信ポート101を持ち、スレーブ装置A・B・Cは二つ以上の通信ポート101を持ち、各通信ポート101には通信ケーブル102が接続される。
つまり、マスタ装置とスレーブ装置A・B・Cとは通信ケーブル102を用いてデイジーチェーン方式で接続されている。
【0014】
マスタ装置とスレーブ装置A・B・Cとは、後述する計測フレーム111、計測応答フレーム112および通知フレーム113を通信して時刻を同期させる。
【0015】
以下、マスタ装置を「マスタ装置200」と記し、末端に接続されたスレーブ装置Cを「末端のスレーブ装置300」と記し、マスタ装置とスレーブ装置Cとの間に接続されているスレーブ装置A・Bを「中間のスレーブ装置300」と記す。
【0016】
図1に示す構成は同期システム100の構成の一例であり、スレーブ装置300の台数は2台または4台以上であっても構わない。
また、マスタ装置200と各スレーブ装置300との接続形態(トポロジ)は、デイジーチェーン方式によるライン構造以外の接続形態であっても構わない。例えば、ツリー状、スター状またはリング状の接続形態を用いて構わない。
【0017】
図2は、実施の形態1における通信フレームのフォーマットを示す図である。
実施の形態1で通信される計測フレーム111、計測応答フレーム112および通知フレーム113について、図2に基づいて説明する。
【0018】
計測フレーム111は、マスタ装置200によって生成される。
計測フレーム111は、マスタ装置200によって送信され、中間のスレーブ装置300によって中継(転送)され、末端のスレーブ装置300によって受信される。
【0019】
計測フレーム111は、「宛先」「送信元」「フレーム種別」「先行中継時間」を含んだ通信データ(パケットともいう)である。
「宛先」には、末端のスレーブ装置300Cのアドレス情報(例えば、IPアドレス)が設定される。
「送信元」には、マスタ装置200のアドレス情報が設定される。
「フレーム種別」には、計測フレーム111を識別する識別子が設定される。
「先行中継時間」には、計測フレーム111を中継するための中継準備処理に要した中継準備時間の合計値(先行中継準備時間)が設定される。以下、計測フレーム111に設定された先行中継時間を「MFP」と記す。
【0020】
計測応答フレーム112は、末端のスレーブ装置300によって生成される。
計測応答フレーム112は、末端のスレーブ装置300によって送信され、中間のスレーブ装置300によって中継され、マスタ装置200によって受信される。
【0021】
計測応答フレーム112は、「宛先」「送信元」「フレーム種別」「総中継時間」を含んだ通信データである。
「宛先」には、マスタ装置200のアドレス情報が設定される。
「送信元」には、末端のスレーブ装置300のアドレス情報が設定される。
「フレーム種別」には、計測応答フレーム112を識別する識別子が設定される。
「総中継時間」には、計測フレーム111の中継準備処理と計測応答フレーム112の中継準備処理とに要した中継準備時間の合計値(総中継準備時間、中継準備時間情報)が設定される。以下、計測応答フレーム112に設定された総中継時間を「TP」と記す。
【0022】
通知フレーム113は、マスタ装置200によって生成される。
通知フレーム113は、マスタ装置200によって送信され、中間のスレーブ装置300によって中継され、末端のスレーブ装置300によって受信される。
【0023】
通知フレーム113は、「宛先」「送信元」「フレーム種別」「基準時刻」「補正後マスタ往復伝播遅延時間」「先行中継時間」を含んだ通信データである。
「宛先」には、末端のスレーブ装置300のアドレス情報が設定される。
「送信元」には、マスタ装置200のアドレス情報が設定される。
「フレーム種別」には、通知フレーム113を識別する識別子が設定される。
「基準時刻」には、通知フレーム113を送信するときの時刻が設定される。以下、通知フレーム113に設定された基準時刻を「Tm」と記す。
「補正後マスタ往復伝播遅延時間」には、マスタ装置200が計測フレーム111を送信してから計測応答フレーム112を受信するまでの時間から総中継時間TPを差し引いた時間(マスタ装置伝播時間)が設定される。以下、通知フレーム113に設定された補正後マスタ往復伝播遅延時間を「Dm」と記す。
「先行中継時間」には、通知フレーム113の中継準備処理に要した中継準備時間の合計値(通知中継準備時間)が設定される。以下、通知フレーム113に設定された先行中継時間を「SFP」と記す。
【0024】
図3は、実施の形態1におけるマスタ装置200の機能構成図である。
実施の形態1におけるマスタ装置200の機能構成について、図3に基づいて説明する。
【0025】
マスタ装置200は、マスタ装置通信部210、マスタ装置フレーム生成部220、マスタ装置算出部230、マスタ装置計測部240およびマスタ装置記憶部290を備える。
【0026】
マスタ装置通信部210は、マスタ装置200の通信処理(マスタ装置通信処理)を行う。
例えば、マスタ装置通信部210は計測フレーム111を送信し、計測応答フレーム112を受信し、通知フレーム113を送信する。
【0027】
マスタ装置計測部240は各種の時間を計測する(マスタ装置計測処理)。
例えば、マスタ装置計測部240は、マスタ装置通信部210が計測フレーム111を送信してからマスタ装置通信部210が計測応答フレーム112を受信するまでの時間を計測する。以下、この計測時間を「マスタ往復伝播遅延時間Dm’」(マスタ装置通信時間)という。
【0028】
マスタ装置算出部230は各種の時間を算出する(マスタ装置算出処理)。
例えば、マスタ装置算出部230は、マスタ装置計測部240によって計測されたマスタ往復伝播遅延時間Dm’と計測応答フレーム112に含まれる総中継時間TP(中継準備時間情報、総中継準備時間)とに基づいて「補正後マスタ往復伝播遅延時間Dm」(マスタ装置伝播時間)を算出する。補正後マスタ往復伝播遅延時間Dmは、マスタ往復伝播遅延時間Dm’からマスタ往復伝播遅延時間Dm’に含まれる総中継時間TPを除いた時間である。
【0029】
マスタ装置フレーム生成部220は、計測フレーム111と通知フレーム113とを生成する(マスタ装置フレーム生成処理)。
例えば、マスタ装置フレーム生成部220は、現在時刻を基準時刻Tmとして含むと共にマスタ装置算出部230によって算出された補正後マスタ往復伝播遅延時間Dmを含む通知フレーム113を生成する。
【0030】
マスタ装置記憶部290は、マスタ装置200が使用するデータを記憶する。
計測フレーム111、計測応答フレーム112および通知フレーム113は、マスタ装置記憶部290に記憶されるデータの一例である。
マスタ往復伝播遅延時間Dm’および補正後マスタ往復伝播遅延時間Dmは、マスタ装置記憶部290に記憶されるデータの一例である。
【0031】
図4は、実施の形態1におけるスレーブ装置300の機能構成図である。
実施の形態1におけるスレーブ装置300の機能構成について、図4に基づいて説明する。
【0032】
中間のスレーブ装置300(中継装置の一例)と末端のスレーブ装置300(端末装置の一例)とは、スレーブ装置通信部310、スレーブ装置フレーム処理部320、スレーブ装置算出部330、スレーブ装置計測部340およびスレーブ装置同期部350を備える。
また、各スレーブ装置300は、スレーブ装置記憶部390を備える。
【0033】
スレーブ装置通信部310は、スレーブ装置300の通信処理(中継装置通信処理、端末装置通信処理)を行う。
例えば、中間のスレーブ装置300のスレーブ装置通信部310(中継装置通信部の一例)は、計測フレーム111と計測応答フレーム112と通知フレーム113とを送受信する。
末端のスレーブ装置300のスレーブ装置通信部310(端末装置通信部の一例)は、計測フレーム111を受信し、計測応答フレーム112を送信し、通知フレーム113を受信する。
【0034】
スレーブ装置計測部340は、各種の時間を計測する(中継装置計測処理、端末装置計測処理)。
【0035】
例えば、中間のスレーブ装置300のスレーブ装置計測部340(中継装置計測部の一例)は、スレーブ往復伝播遅延時間Ds’を計測する。
また、スレーブ装置計測部340は計測フレーム111の中継準備時間、計測応答フレーム112の中継準備時間および通知フレーム113の中継準備時間を計測する。
スレーブ往復伝播遅延時間Ds’(中継装置通信時間)は、スレーブ装置通信部310が計測フレーム111を受信してからスレーブ装置通信部310が計測応答フレーム112を送信するまでの時間である。
計測フレーム111の中継準備時間は、スレーブ装置通信部310が計測フレーム111を受信してから計測フレーム111の中継準備処理が終了するまでの時間である。
計測応答フレーム112の中継準備時間は、スレーブ装置通信部310が計測応答フレーム112を受信してから計測応答フレーム112の中継準備処理が終了するまでの時間である。
通知フレーム113の中継準備時間は、スレーブ装置通信部310が通知フレーム113を受信してから通知フレーム113の中継準備処理が終了するまでの時間である。
【0036】
例えば、末端のスレーブ装置300のスレーブ装置計測部340(端末装置計測部の一例)は、スレーブ往復伝播遅延時間Ds’を計測する。
スレーブ往復伝播遅延時間Ds’(端末装置遅延時間)は、スレーブ装置通信部310が計測フレーム111を受信してからスレーブ装置通信部310が計測応答フレーム112を送信するまでの時間である。
【0037】
スレーブ装置算出部330は、各種の時間を算出する(中継装置算出処理)。
例えば、中間のスレーブ装置300のスレーブ装置算出部330(中継装置算出部の一例)は、新たな先行中継時間MFP、新たな総中継時間TPおよび新たな先行中継時間SFPを算出する。
新たな先行中継時間MFPは、スレーブ装置計測部340によって計測された計測フレーム111の中継準備時間と計測フレーム111に含まれる先行中継時間MFP(先行中継準備時間)とを合計した時間である。
新たな総中継時間TPは、スレーブ装置計測部340によって計測された計測応答フレーム112の中継準備時間と計測応答フレーム112に含まれる総中継時間TP(総中継準備時間)とを合計した時間である。
新たな先行中継時間SFPは、スレーブ装置計測部340によって計測された通知フレーム113の中継準備時間と通知フレーム113に含まれる先行中継時間SFP(通知中継準備時間)とを合計した時間である。
【0038】
スレーブ装置フレーム処理部320は、各種のフレーム処理(中継装置フレーム更新処理、端末装置フレーム生成処理)を行う。
【0039】
例えば、中間のスレーブ装置300のスレーブ装置フレーム処理部320(中継装置フレーム更新部の一例)は、計測フレーム111に含まれる先行中継時間MFPを新たな先行中継時間MFPに更新する。
また、スレーブ装置フレーム処理部320は、計測応答フレーム112に含まれる総中継時間TPを新たな総中継時間TPに更新する。
また、スレーブ装置フレーム処理部320は、通知フレーム113に含まれる先行中継時間SFPを新たな先行中継時間SFPに更新する。
【0040】
例えば、末端のスレーブ装置300のスレーブ装置フレーム処理部320(端末装置フレーム生成部の一例)は、スレーブ装置通信部310によって受信された計測フレーム111に基づいて計測フレーム111に含まれる先行中継時間MFPを総中継時間TPとして設定して計測応答フレーム112を生成する。
【0041】
スレーブ装置同期部350は、スレーブ装置300の内部時計(図示省略)の時刻をマスタ装置200の内部時計の時刻に同期させる同期処理(中継装置同期処理、端末装置同期処理)を行う。
【0042】
例えば、中間のスレーブ装置300のスレーブ装置同期部350(中継装置同期部の一例)は、以下のように同期処理を行う。
スレーブ装置同期部350は、スレーブ装置計測部340によって計測されたスレーブ往復伝播遅延時間Ds’と計測応答フレーム112に含まれる総中継時間TP(総中継準備時間、中継準備時間情報)とに基づいて補正後スレーブ往復伝播遅延時間Ds(中継装置伝播時間)を算出する。補正後スレーブ往復伝播遅延時間Dsは、スレーブ往復伝播遅延時間Ds’からスレーブ往復伝播遅延時間Ds’に含まれる中継準備時間を除いた時間である。
スレーブ装置同期部350は、補正後スレーブ往復伝播遅延時間Dsと通知フレーム113に含まれる補正後マスタ往復伝播遅延時間Dm(マスタ装置伝播時間)とに基づいて通知伝播時間を算出する。通知伝播時間は、マスタ装置200が通知フレーム113を送信してからマスタ装置通信部210が通知フレーム113を受信するまでに要する時間である。
スレーブ装置同期部350は、通知伝播時間と通知フレーム113に含まれる基準時刻Tmとに基づいて基準時刻Tmから通知伝播時間が経過した時刻を補正値As(同期時刻)として算出する。
スレーブ装置同期部350は、補正値Asを内部時計に設定する。
【0043】
例えば、スレーブ装置同期部350は、以下のように補正値Asを算出する。
スレーブ装置同期部350は、総中継時間TPから先行中継時間MFPを減算した時間を往復中継準備時間として算出する。
スレーブ装置同期部350は、算出した往復中継準備時間をスレーブ往復伝播遅延時間Ds’から減算した時間を補正後スレーブ往復伝播遅延時間Dsとして算出する。
スレーブ装置同期部350は、算出した補正後スレーブ往復伝播遅延時間Dsを通知フレーム113に含まれる補正後マスタ往復伝播遅延時間Dmから減算する。スレーブ装置同期部350は減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、算出した通知伝播時間と通知フレーム113に含まれる先行中継時間SFPとを通知フレーム113に含まれる基準時刻Tmに加算した時刻を補正値Asとして算出する。
【0044】
例えば、末端のスレーブ装置300のスレーブ装置同期部350(端末装置同期部の一例)は、以下のように同期処理を行う。
スレーブ装置同期部350は、スレーブ装置計測部340によって計測されたスレーブ往復伝播遅延時間Ds’と通知フレーム113とに基づいてマスタ装置200と同期する時刻を補正値As(端末装置時刻)として算出する。
スレーブ装置同期部350は、算出した補正値Asを内部時計に設定する。
【0045】
例えば、スレーブ装置同期部350は、以下のように補正値Asを算出する。
スレーブ装置同期部350は、通知フレーム113に含まれる補正後マスタ往復伝播遅延時間Dmからスレーブ往復伝播遅延時間Ds’を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、算出した通知伝播時間と通知フレーム113に含まれる先行中継時間SFPとを通知フレーム113に含まれる基準時刻Tmに加算した時刻を補正値Asとして算出する。
【0046】
スレーブ装置記憶部390は、スレーブ装置300が使用するデータを記憶する(先行中継準備時間記憶部、総中継準備時間記憶部の一例)。
計測フレーム111、計測応答フレーム112および通知フレーム113は、スレーブ装置記憶部390に記憶されるデータの一例である。
スレーブ往復伝播遅延時間Ds’、補正後スレーブ往復伝播遅延時間Ds、先行中継時間MFP、先行中継時間SFPおよび総中継時間TPは、スレーブ装置記憶部390に記憶されるデータの一例である。
【0047】
図5は、実施の形態1における同期システム100の同期方法を示すフローチャートである。
実施の形態1における同期システム100の同期方法について、図5に基づいて説明する。
【0048】
まず、同期システム100の同期方法の概要について説明する。
【0049】
マスタ装置200は、計測フレーム111を末端のスレーブ装置300へ送信する(S110)。
中間のスレーブ装置300は、先行中継時間MFPを更新して計測フレーム111を中継する(S120)。
末端のスレーブ装置300は、総中継時間TPとして先行中継時間MFPを計測応答フレーム112に設定し、計測応答フレーム112をマスタ装置200へ送信する(S130)。
中間のスレーブ装置300は、総中継時間TPを更新して計測応答フレーム112を中継する(S140)。
マスタ装置200は計測応答フレーム112を受信し、総中継時間TPに基づいて補正後マスタ往復伝搬遅延時間Dmを算出し、補正後マスタ往復伝搬遅延時間Dmを設定した通知フレーム113を末端のスレーブ装置300へ送信する(S150)。
中間のスレーブ装置300は通知フレーム113を受信し、通知フレーム113に基づいて同期し、先行中継時間SFPを更新して通知フレーム113を中継する(S160)。
末端のスレーブ装置300は、通知フレーム113に基づいて同期する(S170)。
【0050】
次に、同期システム100の同期方法の詳細について説明する。
【0051】
S110において、マスタ装置200のマスタ装置フレーム生成部220は、末端のスレーブ装置300を宛先とする計測フレーム111(図2参照)を生成する(計測フレーム生成処理)。
このとき、マスタ装置フレーム生成部220は、先行中継時間MFPとして初期値「0」を計測フレーム111に設定する。
【0052】
マスタ装置通信部210は、マスタ装置フレーム生成部220によって生成された計測フレーム111を送信する(計測フレーム送信処理)。
【0053】
マスタ装置計測部240は、マスタ装置通信部210が計測フレーム111を送信したときにDm’カウンタを起動する。
Dm’カウンタとは、マスタ往復伝搬遅延時間Dm’を計測するためのカウンタ(またはタイマ、以下同様)である。カウンタとは、時間を計測する機能(またはハードウェア)である。
S110の後、S120に進む。
【0054】
S120において、中間のスレーブ装置300のスレーブ装置通信部310は計測フレーム111を受信する(計測フレーム受信処理)。
【0055】
スレーブ装置計測部340は、スレーブ装置通信部310が計測フレーム111を受信した場合、Ds’カウンタとMRTカウンタとを起動する。
Ds’カウンタとは、スレーブ往復伝搬遅延時間Ds’を計測するためのカウンタである。
MRTカウンタとは、計測フレーム111の中継準備処理に要した時間(中継準備時間)を計測するためのカウンタである。
【0056】
スレーブ装置フレーム処理部320は、計測フレーム111の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部320は、計測フレーム111を処理することができるタイミングまで待機する。例えば、スレーブ装置フレーム処理部320は、計測フレーム111より優先度が高い割込みフレームが発生した場合、割込みフレームに対する処理が終了するまで待機する。
スレーブ装置フレーム処理部320は、計測フレーム111の処理タイミングになった場合、計測フレーム111を送信するために必要な処理のうち先行中継時間MFPを更新する処理を除いた残りの処理を実行する。
スレーブ装置フレーム処理部320は、計測フレーム111に設定されている先行中継時間MFPをスレーブ装置記憶部390に記憶する(先行中継準備時間記憶処理)。
【0057】
スレーブ装置計測部340は、スレーブ装置フレーム処理部320による計測フレーム111の中継準備処理が終了したときにMRTカウンタを停止する(中継準備時間計測処理)。
【0058】
スレーブ装置フレーム処理部320は、計測フレーム111に設定されている先行中継時間MFPにMRTカウンタによって計測された中継準備時間を加算した合計時間を新たな先行中継時間MFPとして算出する。
そして、スレーブ装置フレーム処理部320は、計測フレーム111に設定されている先行中継時間MFPを新たな先行中継時間MFPに更新する(計測フレーム更新処理)。
【0059】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって更新された計測フレーム111を送信する(計測フレーム送信処理)。
S120の後、S130に進む。
【0060】
S130において、末端のスレーブ装置300のスレーブ装置通信部310は計測フレーム111を受信する(計測フレーム受信処理)。
【0061】
スレーブ装置計測部340は、スレーブ装置通信部310が計測フレーム111を受信した場合、Ds’カウンタを起動する。
【0062】
スレーブ装置フレーム処理部320は、計測フレーム111を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部320は、計測フレーム111の処理タイミングになった場合、計測フレーム111に設定されている先行中継時間MFPをスレーブ装置記憶部390に記憶する。
さらに、スレーブ装置フレーム処理部320は、マスタ装置200を宛先とする計測応答フレーム112(図2参照)を生成する。このとき、スレーブ装置フレーム処理部320は、計測フレーム111に設定されている先行中継時間MFPを総中継時間TPとして計測応答フレーム112に設定する。
【0063】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって生成された計測応答フレーム112を送信する(計測応答フレーム送信処理)。
【0064】
スレーブ装置計測部340は、スレーブ装置フレーム処理部320が計測応答フレーム112を生成したときに(またはスレーブ装置通信部310が計測応答フレーム112を送信したときに)、Ds’カウンタを停止する。
そして、スレーブ装置計測部340は、Ds’カウンタによって計測されたスレーブ往復伝搬遅延時間Ds’をスレーブ装置記憶部390に記憶する。
S130の後、S140に進む。
【0065】
S140において、中間のスレーブ装置300のスレーブ装置通信部310は計測応答フレーム112を受信する(計測応答フレーム受信処理)。
【0066】
スレーブ装置計測部340は、スレーブ装置通信部310が計測応答フレーム112を受信した場合、RRTカウンタを起動する。
RRTカウンタとは、計測応答フレーム112の中継準備処理に要した時間(中継準備時間)を計測するためのカウンタである。
【0067】
スレーブ装置フレーム処理部320は、計測応答フレーム112の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部320は、計測応答フレーム112を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部320は、計測応答フレーム112の処理タイミングになった場合、計測応答フレーム112を送信するために必要な処理のうち総中継時間TPを更新する処理を除いた残りの処理を実行する。
さらに、スレーブ装置フレーム処理部320は、計測応答フレーム112に設定されている総中継時間TPをスレーブ装置記憶部390に記憶する(総中継準備時間記憶処理)。
【0068】
スレーブ装置計測部340は、スレーブ装置フレーム処理部320による計測応答フレーム112の中継準備処理が終了したときにRRTカウンタを停止する(中継準備時間計測処理)。
【0069】
スレーブ装置フレーム処理部320は、計測応答フレーム112に設定されている総中継時間TPにRRTカウンタによって計測された中継準備時間を加算した合計時間を新たな総中継時間TPとして算出する。
そして、スレーブ装置フレーム処理部320は、計測応答フレーム112に設定されている総中継時間TPを新たな総中継時間TPに更新する(計測応答フレーム更新処理)。
【0070】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって更新された計測応答フレーム112を送信する(計測応答フレーム送信処理)。
【0071】
スレーブ装置計測部340は、スレーブ装置フレーム処理部320による計測応答フレーム112の中継準備処理が終了した場合(またはスレーブ装置通信部310が計測応答フレーム112を送信した場合)、計測フレーム111を受信したとき(S120)に起動したDs’カウンタを停止する(中継装置通信時間計測処理)。
そして、スレーブ装置計測部340は、Ds’カウンタによって計測されたスレーブ往復伝搬遅延時間Ds’をスレーブ装置記憶部390に記憶する。
S140の後、S150に進む。
【0072】
S150において、マスタ装置200のマスタ装置通信部210は計測応答フレーム112を受信する(計測応答フレーム受信処理)。
【0073】
マスタ装置計測部240は、マスタ装置通信部210が計測応答フレーム112を受信した場合、計測フレーム111を送信したとき(S110)に起動したDm’カウンタを停止する(マスタ装置通信時間計測処理)。
そして、マスタ装置計測部240は、Dm’カウンタによって計測されたマスタ往復伝搬遅延時間Dm’をマスタ装置記憶部290に記憶する。
【0074】
マスタ装置算出部230は、Dm’カウンタによって計測されたマスタ往復伝搬遅延時間Dm’とマスタ装置通信部210によって受信された計測応答フレーム112とに基づいて補正後マスタ往復伝搬遅延時間Dmを算出する。
補正後マスタ往復伝搬遅延時間Dmは、マスタ往復伝搬遅延時間Dm’から計測応答フレーム112内の総中継時間TPを減算した時間である。
以下に、補正後マスタ往復伝搬遅延時間Dmの算出式(1−1)を示す。
【0075】
【数1】

【0076】
マスタ装置フレーム生成部220は、末端のスレーブ装置300を宛先とする通知フレーム113(図2参照)を生成する(通知フレーム生成処理)。
このとき、マスタ装置フレーム生成部220は、内部時計から現在時刻を取得し、取得した現在時刻を基準時刻Tmとして通知フレーム113に設定する。
また、マスタ装置フレーム生成部220は、マスタ装置算出部230によって算出された補正後マスタ往復伝搬遅延時間Dmを通知フレーム113に設定する。
また、マスタ装置フレーム生成部220は、先行中継時間SFPとして初期値「0」を通知フレーム113に設定する。
【0077】
マスタ装置通信部210は、マスタ装置フレーム生成部220によって生成された通知フレーム113を送信する(通知フレーム送信処理)。
S150の後、S160に進む。
【0078】
S160において、中間のスレーブ装置300のスレーブ装置通信部310は通知フレーム113を受信する(通知フレーム受信処理)。
【0079】
スレーブ装置同期部350は、スレーブ装置通信部310が通知フレーム113を受信した場合、通知フレーム113から基準時刻Tmと補正後マスタ往復伝搬遅延時間Dmと先行中継時間SFPとを取得する。
さらに、スレーブ装置同期部350は、スレーブ装置記憶部390から先行中継時間MFPと総中継時間TPとスレーブ往復伝搬遅延時間Ds’を取得する。
【0080】
次に、スレーブ装置同期部350は、総中継時間TPから先行中継時間MFPを減算した時間を往復中継準備時間として算出する。
スレーブ装置同期部350は、スレーブ往復伝搬遅延時間Ds’から往復中継準備時間を減算した時間を補正後スレーブ往復伝搬遅延時間Dsとして算出する。
スレーブ装置同期部350は、補正後マスタ往復伝搬遅延時間Dmから補正後スレーブ往復伝搬遅延時間Dsを減算した時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、基準時刻Tmから通知伝播時間と先行中継時間SFPとの合計時間だけ経過後の時刻を補正値Asとして算出する。
【0081】
そして、スレーブ装置同期部350は、算出した補正値Asを現在時刻として内部時計に設定する(同期処理)。
【0082】
以下に、補正後スレーブ往復伝搬遅延時間Dsの算出式(1−2)と補正値Asの算出式(1−3)とを示す。
【0083】
【数2】

【0084】
スレーブ装置計測部340は、スレーブ装置通信部310が通知フレーム113を受信した場合、NRTカウンタを起動する。
NRTカウンタとは、通知フレーム113の中継準備処理に要した時間(中継準備時間)を計測するためのカウンタである。
【0085】
スレーブ装置フレーム処理部320は、通知フレーム113の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部320は、通知フレーム113を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部320は、通知フレーム113の処理タイミングになった場合、通知フレーム113を送信するために必要な処理のうち先行中継時間SFPを更新する処理を除いた残りの処理を実行する。
【0086】
スレーブ装置計測部340は、スレーブ装置フレーム処理部320による通知フレーム113の中継準備処理が終了したときにNRTカウンタを停止する(中継準備時間計測処理)。
【0087】
スレーブ装置フレーム処理部320は、通知フレーム113に設定されている先行中継時間SFPにNRTカウンタによって計測された中継準備時間を加算した合計時間を新たな先行中継時間SFPとして算出する。
そして、スレーブ装置フレーム処理部320は、通知フレーム113に設定されている先行中継時間SFPを新たな先行中継時間SFPに更新する(通知フレーム更新処理)。
【0088】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって更新された通知フレーム113を送信する(通知フレーム送信処理)。
S160の後、S170に進む。
【0089】
S170において、末端のスレーブ装置300のスレーブ装置通信部310は、通知フレーム113を受信する(通知フレーム受信処理)。
【0090】
スレーブ装置同期部350は、スレーブ装置通信部310によって受信された通知フレーム113に基づいて補正値Asを算出し、算出した補正値Asを現在時刻として内部時計に設定する(同期処理)。
補正値Asの算出方法は、中間のスレーブ装置300による算出方法と同じである(S160参照)。
S170により、同期システム100の同期方法の処理は終了する。
【0091】
上記の同期方法の処理において、各フレームを受信したスレーブ装置300は、受信したフレームの宛先が自スレーブ装置300であれば末端のスレーブ装置300であると判定し、受信したフレームの宛先が自スレーブ装置300でなければ中間のスレーブ装置300であると判定する。
また、スレーブ装置300は、受信したフレームのフレーム種別を参照して計測フレーム111と計測応答フレーム112と通知フレーム113とのいずれのフレームを受信したかを判定する。
【0092】
図6は、実施の形態1における同期システム100の処理の具体例を示すシーケンス図である。
図7は、実施の形態1における同期システム100で記憶する計測時間の具体例を示す一覧表である。
実施の形態1における同期システム100の処理の具体例について、図6と図7とに基づいて説明する。
【0093】
図6において、同期システム100は、マスタ装置と中間のスレーブ装置A・Bと末端のスレーブ装置Cとを備える。
【0094】
(1)マスタ装置は、先行中継時間MFPの初期値「0」を設定した計測フレーム111を生成し、生成した計測フレーム111を末端のスレーブ装置C宛てに送信する。
【0095】
(2)中間のスレーブ装置Aは、計測フレーム111を受信する。
(3)しかし、計測フレーム111より優先度が高い割込みフレームが発生したため、スレーブ装置Aは計測フレーム111より先に割込みフレームを処理する。
(4)スレーブ装置Aは、計測フレーム111に設定されている先行中継時間MFP「0」を記憶する(図7参照)。
また、スレーブ装置Aは、計測フレーム111を受信してから計測フレーム111の中継準備が終了するまでの中継準備時間「α1」を計測する。
そして、スレーブ装置Aは、中継準備時間「α1」を加算した先行中継時間MFP「(0+)α1」を計測フレーム111に設定し、計測フレーム111を送信する。
【0096】
(5)中間のスレーブ装置Bは、計測フレーム111を受信する。
(6)スレーブ装置Bは、計測フレーム111に設定されている先行中継時間MFP「α1」を記憶する(図7参照)。
また、スレーブ装置Bは、計測フレーム111を受信してから計測フレーム111の中継準備が終了するまでの中継準備時間「α2」を計測する。
そして、スレーブ装置Bは、中継準備時間「α2」を加算した先行中継時間MFP「α1+α2」を計測フレーム111に設定し、計測フレーム111を送信する。
【0097】
(7)末端のスレーブ装置Cは、計測フレーム111を受信する。
(8)スレーブ装置Cは、計測フレーム111に設定されている先行中継時間MFP「α1+α2」を記憶する(図7参照)。
そして、スレーブ装置Cは、先行中継時間MFP「α1+α2」を総中継時間TPとして設定した計測応答フレーム112を生成し、生成した計測応答フレーム112をマスタ装置宛てに送信する。
また、スレーブ装置Cは、計測フレーム111を受信してから計測応答フレーム112を送信するまでの時間「Ds3’」を計測し、計測した時間「Ds3’」をマスタ往復伝搬遅延時間Dm’として記憶する(図7参照)。
【0098】
(9)中間のスレーブ装置Bは、計測応答フレーム112を受信する。
(10)スレーブ装置Bは、計測応答フレーム112を受信してから計測応答フレーム112の中継準備が終了するまでの中継準備時間「β1」を計測する。
そして、スレーブ装置Bは、中継準備時間「β1」を加算した総中継時間TP「α1+α2+β1」を計測応答フレーム112に設定し、計測応答フレーム112を送信する。
また、スレーブ装置Bは、総中継時間TP「α1+α2+β1」を記憶する(図7参照)。
さらに、スレーブ装置Bは、計測フレーム111を受信してから計測応答フレーム112を送信するまでの時間「Ds2’」を補正後スレーブ往復伝搬遅延時間Dsとして記憶する(図7参照)。
【0099】
(11)中間のスレーブ装置Aは、計測応答フレーム112を受信する。
(12)スレーブ装置Aは、計測応答フレーム112を受信してから計測応答フレーム112の中継準備が終了するまでの中継準備時間「β2」を計測する。
そして、スレーブ装置Aは、中継準備時間「β2」を加算した総中継時間TP「α1+α2+β1+β2」を計測応答フレーム112に設定し、計測応答フレーム112を送信する。
また、スレーブ装置Aは、総中継時間TP「α1+α2+β1+β2」を記憶する(図7参照)。
さらに、スレーブ装置Aは、計測フレーム111を受信してから計測応答フレーム112を送信するまでの時間「Ds1’」を補正後スレーブ往復伝搬遅延時間Dsとして記憶する(図7参照)。
【0100】
(13)マスタ装置は、計測応答フレーム112を受信する。
マスタ装置は、計測応答フレーム112に設定されている総中継時間TPを記憶する(図7参照)。
さらに、マスタ装置は、計測フレーム111を送信してから計測応答フレーム112を受信するまでの時間「Dm’」をマスタ往復伝搬遅延時間Dm’として記憶する(図7参照)。
(14)マスタ装置は、マスタ往復伝搬遅延時間Dm’と総中継時間TPとを用いて補正後マスタ往復伝搬遅延時間Dmを算出する(下記式(1−4)参照)。
マスタ装置は、基準時刻Tm(現在時刻)と補正後マスタ往復伝搬遅延時間Dmと先行中継時間SFPの初期値「0」とを設定して通知フレーム113を生成し、生成した通知フレーム113を末端のスレーブ装置C宛てに送信する。
【0101】
(15)中間のスレーブ装置Aは、通知フレーム113を受信する。
スレーブ装置Aは、通知フレーム113の設定値(Tm、Dm、SFP「0」)と記憶済みの計測値(MFP「0」、TP「α1+α2+β1+β2」)(図7参照)とを用いて補正値As1を算出する(下記式(1−5)参照)。
そして、スレーブ装置Aは、算出した補正値As1を現在時刻として設定してマスタ装置と同期する。
(16)通知フレーム113より優先度が高い割込みフレームが発生した場合、スレーブ装置Aは、通知フレーム113より先に割込みフレームを処理する。
(17)スレーブ装置Aは、通知フレーム113を受信してから通知フレーム113の中継準備が終了するまでの中継準備時間「γ1」を計測する
そして、スレーブ装置Aは、中継準備時間「γ1」を加算した先行中継時間SFP「(0+)γ1」を通知フレーム113に設定し、通知フレーム113を送信する。
【0102】
(18)中間のスレーブ装置Bは、通知フレーム113を受信する。
スレーブ装置Bは、通知フレーム113の設定値(Tm、Dm、SFP「γ1」)と記憶済みの計測値(MFP「α1」、TP「α1+α2+β1」)(図7参照)とを用いて補正値As2を算出する(下記式(1−6)参照)。
そして、スレーブ装置Bは、算出した補正値As2を現在時刻として設定してマスタ装置と同期する。
(19)スレーブ装置Bは、通知フレーム113を受信してから通知フレーム113の中継準備がするまでの中継準備時間「γ2」を計測する
そして、スレーブ装置Bは、中継準備時間「γ2」を加算した先行中継時間SFP「γ1+γ2」を通知フレーム113に設定し、通知フレーム113を送信する。
【0103】
(20)末端のスレーブ装置Cは、通知フレーム113を受信する。
スレーブ装置Cは、通知フレーム113の設定値(Tm、Dm、SFP「γ1+γ2」)と記憶済みの計測値(MFP「α1+α2」、TP「α1+α2」)(図7参照)とを用いて補正値As3を算出する(下記式(1−7)参照)。
そして、スレーブ装置Cは、算出した補正値As3を現在時刻として設定してマスタ装置と同期する。
【0104】
【数3】

【0105】
上記の同期方法では複数の中継準備時間を合計した合計時間を各フレームに設定しているが、合計時間ではなく各中継準備時間を各フレームに設定しても構わない。
例えば、スレーブ装置A・Bは計測フレーム111または計測応答フレーム112に各々の中継準備時間「α1」「α2」「β1」「β2」を設定する。そして、マスタ装置が各中継準備時間を合計して総中継時間TP「α1+α2+β1+β2」を算出する。
【0106】
図8は、実施の形態1におけるマスタ装置200およびスレーブ装置300のハードウェア資源の一例を示す図である。
図8において、マスタ装置200およびスレーブ装置300は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905、ディスプレイ装置911、キーボード912、マウス913、ドライブ装置914、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
【0107】
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
【0108】
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
【0109】
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【0110】
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
【0111】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【0112】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【0113】
実施の形態2.
マスタ装置と各スレーブ装置とがツリー構造で接続する同期システム100について説明する。
マスタ装置またはスレーブ装置の機能構成や、同期システム100の同期方法については実施の形態1と同じである。
【0114】
図9は、実施の形態2における同期システム100の構成図である。
実施の形態2における同期システム100の構成について、図9に基づいて説明する。
【0115】
同期システム100の接続形態は、マスタ装置とスレーブ装置A−Cとから成るライン1と、マスタ装置とスレーブ装置A・D−Fとから成るライン2とを含んだツリー構造であってよい。ライン1とライン2とはツリー構造の枝部分を構成する。
スレーブ装置Aはライン1用の通信ポート101とライン2用の通信ポート101とを含む三つの通信ポート101を有する。
【0116】
この場合、実施の形態1で説明した同期方法をライン1とライン2とで別々に実行する。
ライン1で同期方法を実行することによりスレーブ装置A−Cがマスタ装置と同期し、ライン2で同期方法を実行することによりスレーブ装置A・D−Fがマスタ装置と同期する。
つまり、マスタ装置と全てのスレーブ装置とを同期させることができる。
【0117】
実施の形態3.
実施の形態1と異なる同期方法について説明する。
以後、実施の形態1、2と異なる事項について主に説明する。説明を省略する事項については実施の形態1、2と同様である。
【0118】
同期システム100の構成は、実施の形態1(図1参照)または実施の形態2(図9参照)と同様である。
【0119】
図10は、実施の形態3における通信フレームのフォーマットを示す図である。
実施の形態3で通信される計測フレーム121、計測応答フレーム122、通知フレーム123、計測補助フレーム124および通知補助フレーム125について、図10に基づいて説明する。
【0120】
計測フレーム121、通知フレーム123および通知補助フレーム125はマスタ装置200によって生成され、マスタ装置200によって送信され、中間のスレーブ装置300によって中継され、末端のスレーブ装置300によって受信される。
計測応答フレーム122および計測補助フレーム124は末端のスレーブ装置300によって生成され、スレーブ装置300によって送信され、中間のスレーブ装置300によって中継され、マスタ装置200によって受信される。
【0121】
各フレームは、「宛先」「送信元」「フレーム種別」を有する。
計測フレーム121、通知フレーム123および通知補助フレーム125の「宛先」には末端のスレーブ装置300のアドレス情報が設定される。また、「送信元」にはマスタ装置200のアドレス情報が設定される。「フレーム種別」にはフレーム毎に当該フレームを識別する識別子が設定される。
【0122】
計測応答フレーム122および計測補助フレーム124の「宛先」にはマスタ装置200のアドレス情報が設定される。また、「送信元」には末端のスレーブ装置300のアドレス情報が設定される。「フレーム種別」にはフレーム毎に当該フレームを識別する識別子が設定される。
【0123】
さらに、計測補助フレーム124は「往復中継時間」を有する。
「往復中継時間」には、計測フレーム121の中継処理と計測応答フレーム122の中継処理とに要した中継処理時間の合計値(往復中継処理時間)が設定される。以下、計測補助フレーム124に設定された往復中継時間を「RTP」と記す。
【0124】
また、通知補助フレーム125は「基準時刻」「補正後マスタ往復伝搬遅延時間」「先行中継時間」を有する。
「基準時刻」には、通知フレーム123を送信したときの時刻が設定される。以下、通知補助フレーム125に設定された基準時刻を「Tm」と記す。
「補正後マスタ往復伝搬遅延時間」には、マスタ装置200が計測フレーム121を送信してから計測応答フレーム122を受信するまでの時間から往復中継時間RTPを差し引いた時間(マスタ装置伝播時間)が設定される。以下、通知補助フレーム125に設定された補正後マスタ往復伝播遅延時間を「Dm」と記す。
「先行中継時間」には、通知フレーム123の中継処理に要した中継処理時間の合計値(通知中継処理時間)が設定される。以下、通知補助フレーム125に設定された先行中継時間を「SFP」と記す。
【0125】
図11は、実施の形態3におけるマスタ装置200の機能構成図である。
実施の形態1におけるマスタ装置200の機能構成について、図11に基づいて説明する。
【0126】
マスタ装置200は、マスタ装置通信部210、マスタ装置フレーム生成部220、マスタ装置算出部230、マスタ装置計測部240およびマスタ装置記憶部290を備える。
【0127】
マスタ装置通信部210は、マスタ装置200の通信処理(マスタ装置通信処理)を行う。
例えば、マスタ装置通信部210は計測フレーム121と通知フレーム123と通知補助フレーム125とを送信し、計測応答フレーム122と計測補助フレーム124とを受信する。
【0128】
マスタ装置計測部240は各種の時間を計測する(マスタ装置計測処理)。
例えば、マスタ装置計測部240は、マスタ装置通信部210が計測フレーム121を送信してからマスタ装置通信部210が計測応答フレーム122を受信するまでの時間を計測する。以下、この計測時間を「マスタ往復伝搬遅延時間Dm’」(マスタ装置通信時間)という。
【0129】
マスタ装置算出部230は各種の時間を算出する(マスタ装置算出処理)。
例えば、マスタ装置算出部230は、計測補助フレーム124に含まれる往復中継時間RTP(中継処理時間情報、往復中継処理時間)とマスタ装置計測部240によって計測されたマスタ往復伝搬遅延時間Dm’とに基づいて「補正後マスタ往復伝搬遅延時間Dm」(マスタ装置伝播時間)を算出する。補正後マスタ往復伝搬遅延時間Dmは、マスタ往復伝搬遅延時間Dm’からマスタ往復伝搬遅延時間Dm’に含まれる往復中継時間RTPを除いた時間である。
【0130】
マスタ装置フレーム生成部220は、計測フレーム121と通知フレーム123と通知補助フレーム125とを生成する(マスタ装置フレーム生成処理)。
例えば、マスタ装置フレーム生成部220は、マスタ装置通信部210が通知フレーム123を送信した時刻を基準時刻Tm(マスタ装置時刻)として含むと共にマスタ装置算出部230によって算出された補正後マスタ往復伝搬遅延時間Dmを含む通知補助フレーム125を生成する。
【0131】
マスタ装置記憶部290は、マスタ装置200が使用するデータを記憶する。
各フレーム(符号121−125)はマスタ装置記憶部290に記憶されるデータの一例である。
マスタ往復伝搬遅延時間Dm’、補正後マスタ往復伝搬遅延時間Dmおよび基準時刻Tmは、マスタ装置記憶部290に記憶されるデータの一例である。
【0132】
図12は、実施の形態3におけるスレーブ装置300の機能構成図である。
実施の形態3におけるスレーブ装置300の機能構成について、図12に基づいて説明する。
【0133】
中間のスレーブ装置300(中継装置の一例)と末端のスレーブ装置300(端末装置の一例)とは、スレーブ装置通信部310、スレーブ装置フレーム処理部320、スレーブ装置算出部330、スレーブ装置計測部340およびスレーブ装置同期部350を備える。
また、各スレーブ装置300は、スレーブ装置記憶部390を備える。
【0134】
スレーブ装置通信部310は、スレーブ装置300の通信処理(中継装置通信処理、端末装置通信処理)を行う。
例えば、中間のスレーブ装置300のスレーブ装置通信部310(中継装置通信部の一例)は、計測フレーム121、計測応答フレーム122、通知フレーム123、計測補助フレーム124および通知補助フレーム125を送受信する。
末端のスレーブ装置300のスレーブ装置通信部310(端末装置通信部の一例)は、計測フレーム121と通知フレーム123と通知補助フレーム125とを受信し、計測応答フレーム122と計測補助フレーム124とを送信する。
【0135】
スレーブ装置計測部340は、各種の時間を計測する(中継装置計測処理、端末装置計測処理)。
【0136】
例えば、中間のスレーブ装置300のスレーブ装置計測部340(中継装置計測部の一例)は、スレーブ往復伝搬遅延時間Ds’を計測する。
また、スレーブ装置計測部340は、計測フレーム121の中継処理時間、計測応答フレーム122の中継処理時間および通知フレーム123の中継処理時間を計測する。
スレーブ往復伝搬遅延時間Ds’(中継装置通信時間)は、スレーブ装置通信部310が計測フレーム121を受信してからスレーブ装置通信部310が計測応答フレーム122を送信するまでの時間である。
計測フレーム121の中継処理時間は、スレーブ装置計測部340が計測フレーム121を受信してから計測フレーム121を送信するまでの時間である。
計測応答フレーム122の中継処理時間は、スレーブ装置通信部310が計測応答フレーム122を受信してから計測応答フレーム122を送信するまでの時間である。
通知フレーム123の中継処理時間は、スレーブ装置通信部310が通知フレーム123を受信してから通知フレーム123を送信するまでの時間である。
【0137】
例えば、末端のスレーブ装置300のスレーブ装置計測部340(端末装置計測部の一例)は、スレーブ往復伝搬遅延時間Ds’を計測する。
スレーブ往復伝搬遅延時間Ds’(端末装置遅延時間)は、スレーブ装置通信部310が計測フレーム121を受信してからスレーブ装置計測部340が計測応答フレーム122を送信するまでの時間である。
【0138】
スレーブ装置算出部330は、各種の時間を算出する(中継装置算出処理)。
例えば、中間のスレーブ装置300のスレーブ装置算出部330(中継装置算出部の一例)は、新たな往復中継時間RTPと新たな先行中継時間SFPとを算出する。
新たな往復中継時間RTPは、計測応答フレーム122に含まれる往復中継時間RTP(往復中継処理時間)と計測フレーム121の中継処理時間と計測応答フレーム122の中継処理時間とを合計した時間である。
新たな先行中継時間SFPは、通知補助フレーム125に含まれる先行中継時間SFP(通知中継処理時間)と通知フレーム123の中継処理時間とを合計した時間である。
【0139】
スレーブ装置フレーム処理部320は、各種のフレーム処理(中継装置フレーム更新処理、端末装置フレーム生成処理)を行う。
【0140】
例えば、中間のスレーブ装置300のスレーブ装置フレーム処理部320(中継装置フレーム更新部の一例)は、計測補助フレーム124に含まれる往復中継時間RTPを新たな往復中継時間RTPに更新する。
また、スレーブ装置フレーム処理部320は、通知補助フレーム125に含まれる先行中継時間SFPを新たな先行中継時間SFPに更新する。
【0141】
例えば、末端のスレーブ装置300のスレーブ装置フレーム処理部320(端末装置フレーム生成部の一例)は、往復中継時間RTPとして初期値「0」を設定して計測補助フレーム124を生成する。
【0142】
スレーブ装置同期部350は、スレーブ装置300の内部時計(図示省略)の時刻をマスタ装置200の内部時計の時刻に同期させる同期処理(中継装置同期処理、端末装置同期処理)を行う。
【0143】
例えば、中間のスレーブ装置300のスレーブ装置同期部350(中継装置同期部の一例)は、以下のように同期処理を行う。
スレーブ装置同期部350は、スレーブ装置計測部340によって計測されたスレーブ往復伝搬遅延時間Ds’と計測補助フレーム124に含まれる往復中継時間RTPとに基づいて補正後スレーブ往復伝搬遅延時間Dsを算出する。補正後スレーブ往復伝搬遅延時間Dsは、スレーブ往復伝搬遅延時間Ds’からスレーブ往復伝搬遅延時間Ds’に含まれる中継処理時間を除いた時間である。
スレーブ装置同期部350は、補正後スレーブ往復伝搬遅延時間Dsと通知補助フレーム125に含まれる補正後マスタ往復伝搬遅延時間Dmとに基づいて通知伝播時間を算出する。通知伝播時間は、マスタ装置200が通知フレーム123を送信してからスレーブ装置通信部310が通知フレーム123を受信するまでに要する時間である。
スレーブ装置同期部350は、算出した通知伝播時間と通知補助フレーム125に含まれる基準時刻Tmとスレーブ装置通信部310が通知フレーム123を受信したタイムスタンプ時刻Ts(中継装置時刻)とに基づいてマスタ装置200との時刻差を補正値As(補正時間)として算出する。
スレーブ装置同期部350は、算出した補正値Asだけ内部時計の時刻を変更する。
【0144】
例えば、中間のスレーブ装置同期部350は、以下のように補正値Asを算出する。
スレーブ装置同期部350は、スレーブ往復伝搬遅延時間Ds’から往復中継時間RTPを減算した時間を補正後スレーブ往復伝搬遅延時間Dsとして算出する。
スレーブ装置同期部350は、算出した補正後スレーブ往復伝搬遅延時間Dsを通知補助フレーム125に含まれる補正後マスタ往復伝搬遅延時間Dmから減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、通知補助フレーム125に含まれる基準時刻Tmとスレーブ装置記憶部390に記憶されたタイムスタンプ時刻Tsとの時刻差を誤差時間として算出する。
スレーブ装置同期部350は、算出した誤差時間に通知伝播時間と通知補助フレーム125に含まれる先行中継時間SFPとを加算した時間を補正値Asとして算出する。
【0145】
例えば、末端のスレーブ装置300のスレーブ装置同期部350(端末装置同期部の一例)は、以下のように同期処理を行う。
スレーブ装置同期部350は、スレーブ装置計測部340によって計測されたスレーブ往復伝搬遅延時間Ds’とスレーブ装置記憶部390に記憶されたタイムスタンプ時刻Ts(端末装置時刻)とスレーブ装置通信部310によって受信される通知補助フレーム125とに基づいてマスタ装置200との時刻差を補正値As(補正時間)として算出する。
スレーブ装置同期部350は、算出した補正値Asだけ内部時計の時刻を変更する。
【0146】
例えば、末端のスレーブ装置同期部350は、以下のように補正値Asを算出する。
スレーブ装置同期部350は、通知補助フレーム125に含まれる補正後マスタ往復伝搬遅延時間Dmからスレーブ往復伝搬遅延時間Ds’を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、通知補助フレーム125に含まれる基準時刻Tmとスレーブ装置記憶部390に記憶されたタイムスタンプ時刻Tsとの時刻差を誤差時間として算出する。
スレーブ装置同期部350は、算出した誤差時間に通知伝播時間と通知補助フレーム125に含まれる先行中継時間SFPとを加算した時間を補正値Asとして算出する。
【0147】
スレーブ装置記憶部390は、スレーブ装置300が使用するデータを記憶する(個別中継処理時間記憶部、往復中継処理時間記憶部、中継装置時刻記憶部、端末装置時刻記憶部の一例)。
各フレーム(符号121−125)はスレーブ装置記憶部390に記憶されるデータの一例である。
スレーブ往復伝搬遅延時間Ds’、補正後スレーブ往復伝搬遅延時間Ds、往復中継時間RTP、先行中継時間SFPおよびタイムスタンプ時刻Tsは、スレーブ装置記憶部390に記憶されるデータの一例である。
【0148】
図13は、実施の形態3における同期システム100の同期方法を示すフローチャートである。
実施の形態3における同期システム100の同期方法について、図13に基づいて説明する。
【0149】
まず、同期システム100の同期方法の概要について説明する。
【0150】
マスタ装置200は、計測フレーム121を末端のスレーブ装置300へ送信する(S210)。
中間のスレーブ装置300は計測フレーム121を中継する(S211)。
末端のスレーブ装置300は計測フレーム121を受信し、計測応答フレーム122をマスタ装置200へ送信する(S220)。
中間のスレーブ装置300は計測応答フレーム122を中継する(S221)。
マスタ装置200は計測応答フレーム122を受信し、通知フレーム123を末端のスレーブ装置300へ送信する(S230)。
中間のスレーブ装置300は通知フレーム123を中継する(S231)。
末端のスレーブ装置300は通知フレーム123を受信し、計測補助フレーム124をマスタ装置200へ送信する(S240)。
中間のスレーブ装置300は、往復中継時間RTPを更新して計測補助フレーム124を中継する(S241)。
マスタ装置200は計測補助フレーム124を受信し、往復中継時間RTPに基づいて補正後マスタ往復伝搬遅延時間Dmを算出し、補正後マスタ往復伝搬遅延時間Dmを設定した通知補助フレーム125を末端のスレーブ装置300へ送信する(S250)。
中間のスレーブ装置300は通知補助フレーム125を受信し、通知補助フレーム125に基づいて同期し、先行中継時間SFPを更新して通知補助フレーム125を中継する(S260)。
末端のスレーブ装置300は通知補助フレーム125を受信し、受信した通知補助フレーム125に基づいて同期する(S270)。
【0151】
次に、同期システム100の同期方法の詳細について説明する。
【0152】
S210において、マスタ装置200のマスタ装置フレーム生成部220は、末端のスレーブ装置300を宛先とする計測フレーム121(図10参照)を生成する(計測フレーム生成処理)。
マスタ装置通信部210は、マスタ装置フレーム生成部220によって生成された計測フレーム121を送信する(計測フレーム送信処理)。
【0153】
マスタ装置計測部240は、マスタ装置通信部210が計測フレーム121を送信したときにDm’カウンタを起動する。
S210の後、S211に進む。
【0154】
S211において、中間のスレーブ装置300のスレーブ装置通信部310は計測フレーム121を受信する(計測フレーム受信処理)。
【0155】
スレーブ装置計測部340は、スレーブ装置通信部310が計測フレーム121を受信した場合、Ds’カウンタとMRTカウンタとを起動する。
【0156】
スレーブ装置フレーム処理部320は計測フレーム121を処理することができるタイミングまで待機し、スレーブ装置通信部310は計測フレーム121を送信する(計測フレーム送信処理)。
【0157】
スレーブ装置計測部340は、スレーブ装置通信部310が計測フレーム121を送信したときにMRTカウンタを停止する(中継処理時間計測処理)。
スレーブ装置計測部340は、MRTカウンタによって計測された時間を計測フレーム121の中継処理時間としてスレーブ装置記憶部390に記憶する(中継処理時間記憶処理)。
S211の後、S220に進む。
【0158】
S220において、末端のスレーブ装置300のスレーブ装置通信部310は計測フレーム121を受信する(計測フレーム受信処理)。
スレーブ装置フレーム処理部320は、スレーブ装置通信部310が計測フレーム121を受信した場合、マスタ装置200を宛先とする計測応答フレーム122(図10参照)を生成する(計測応答フレーム生成処理)。
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって生成された計測応答フレーム122を送信する(計測応答フレーム送信処理)。
【0159】
スレーブ装置計測部340は、スレーブ装置通信部310が計測フレーム121を受信した場合、Ds’カウンタを起動する。
スレーブ装置計測部340は、スレーブ装置通信部310が計測応答フレーム122を送信したときにDs’カウンタを停止し、Ds’カウンタによって計測されたスレーブ往復伝搬遅延時間Ds’をスレーブ装置記憶部390に記憶する。
S220の後、S221に進む。
【0160】
S221において、中間のスレーブ装置300のスレーブ装置通信部310は計測応答フレーム122を受信する(計測応答フレーム受信処理)。
【0161】
スレーブ装置計測部340は、スレーブ装置通信部310が計測応答フレーム122を受信した場合、RRTカウンタを起動する。
【0162】
スレーブ装置フレーム処理部320は計測応答フレーム122を処理することができるタイミングまで待機し、スレーブ装置通信部310は計測応答フレーム122を送信する(計測応答フレーム送信処理)。
【0163】
スレーブ装置計測部340は、スレーブ装置通信部310が計測応答フレーム122を送信したときにRRTカウンタとDs’カウンタとを停止する(中継処理時間計測処理、中継装置通信時間計測処理)。
スレーブ装置計測部340は、RRTカウンタによって計測された時間を計測応答フレーム122の中継処理時間としてスレーブ装置記憶部390に記憶する(中継処理時間記憶処理)。
スレーブ装置計測部340は、Ds’カウンタによって計測されたスレーブ往復伝搬遅延時間Ds’をスレーブ装置記憶部390に記憶する(中継装置通信時間記憶処理)。
S221の後、S230に進む。
【0164】
S230において、マスタ装置200のマスタ装置通信部210は計測応答フレーム122を受信する(計測応答フレーム受信処理)。
【0165】
マスタ装置計測部240は、マスタ装置通信部210が計測応答フレーム122を受信した場合、Dm’カウンタを停止する(マスタ装置通信時間計測処理)。
マスタ装置計測部240は、Dm’カウンタによって計測されたマスタ往復伝搬遅延時間Dm’をマスタ装置記憶部290に記憶する(マスタ装置通信時間記憶処理)。
【0166】
マスタ装置フレーム生成部220は、マスタ装置通信部210が計測応答フレーム122を受信した場合、末端のスレーブ装置300を宛先とする通知フレーム123(図10参照)を生成する(通知フレーム生成処理)。
マスタ装置通信部210は、マスタ装置フレーム生成部220によって生成された通知フレーム123を送信する(通知フレーム送信処理)。
マスタ装置通信部210は、通知フレーム123を送信した時刻を基準時刻Tmとしてスレーブ装置記憶部390に記憶する(マスタ装置時刻記憶処理)。
S230の後、S231に進む。
【0167】
S231において、中間のスレーブ装置300のスレーブ装置通信部310は通知フレーム123を受信する(通知フレーム受信処理)。
スレーブ装置通信部310は、通知フレーム123を受信した時刻をタイムスタンプ時刻Tsとしてスレーブ装置記憶部390に記憶する(中継装置時刻記憶処理)。
【0168】
スレーブ装置計測部340は、スレーブ装置通信部310が通知フレーム123を受信した場合、NRTカウンタを起動する。
【0169】
スレーブ装置フレーム処理部320は通知フレーム123を処理することができるタイミングまで待機し、スレーブ装置通信部310は通知フレーム123を送信する(通知フレーム送信処理)。
【0170】
スレーブ装置計測部340は、スレーブ装置通信部310が計測応答フレーム122を送信したときにNRTカウンタを停止する(中継処理時間計測処理)。
スレーブ装置計測部340は、NRTカウンタによって計測された時間を通知フレーム123の中継処理時間としてスレーブ装置記憶部390に記憶する(中継処理時間記憶処理)。
S231の後、S240に進む。
【0171】
S240において、末端のスレーブ装置300のスレーブ装置通信部310は通知フレーム123を受信する(通知フレーム受信処理)。
スレーブ装置通信部310は、通知フレーム123を受信した時刻をタイムスタンプ時刻Tsとしてスレーブ装置記憶部390に記憶する(端末装置時刻記憶処理)。
【0172】
スレーブ装置フレーム処理部320は、スレーブ装置通信部310が通知フレーム123を受信した場合、マスタ装置200を宛先とする計測補助フレーム124(図10参照)を生成する(計測補助フレーム生成処理)。このとき、スレーブ装置フレーム処理部320は、往復中継時間RTPとして初期値「0」を計測補助フレーム124に設定する。
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって生成された計測補助フレーム124を送信する(計測補助フレーム生成処理)。
S240の後、S241に進む。
【0173】
S241において、中間のスレーブ装置300のスレーブ装置通信部310は計測補助フレーム124を受信する(計測補助フレーム受信処理)。
【0174】
スレーブ装置フレーム処理部320は、計測補助フレーム124を処理することができるタイミングまで待機する。
そして、スレーブ装置フレーム処理部320は、計測補助フレーム124から往復中継時間RTPを取得し、スレーブ装置記憶部390から計測フレーム121の中継処理時間と計測応答フレーム122の中継処理時間とを取得する。
【0175】
次に、スレーブ装置フレーム処理部320は、往復中継時間RTPと計測フレーム121の中継処理時間と計測応答フレーム122の中継処理時間とを合計した時間を新たな往復中継時間RTPとして算出する。
スレーブ装置フレーム処理部320は、算出した往復中継時間RTP(新たな往復中継時間RTP)をスレーブ装置記憶部390に記憶する。
また、スレーブ装置フレーム処理部320は、計測補助フレーム124に設定されている往復中継時間RTPを新たな往復中継時間RTPに更新する(計測補助フレーム更新処理)。
【0176】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって更新された計測補助フレーム124を送信する(計測補助フレーム送信処理)。
S241の後、S250に進む。
【0177】
S250において、マスタ装置200のマスタ装置通信部210は計測補助フレーム124を受信する(計測補助フレーム受信処理)。
【0178】
マスタ装置算出部230は、計測補助フレーム124から往復中継時間RTPを取得し、スレーブ装置記憶部390からマスタ往復伝搬遅延時間Dm’を取得する。
マスタ装置算出部230は、マスタ往復伝搬遅延時間Dm’から往復中継時間RTPを減算して補正後マスタ往復伝搬遅延時間Dmを算出する。
以下に、補正後マスタ往復伝搬遅延時間Dmの算出式(3−1)を示す。
【0179】
【数4】

【0180】
マスタ装置フレーム生成部220は、末端のスレーブ装置300を宛先とする通知補助フレーム125(図10参照)を生成する(通知補助フレーム生成処理)。
このとき、マスタ装置フレーム生成部220は、マスタ装置記憶部290から基準時刻Tmを取得し、取得した基準時刻Tmを通知補助フレーム125に設定する。
また、マスタ装置フレーム生成部220は、マスタ装置算出部230によって算出された補正後マスタ往復伝搬遅延時間Dmを通知補助フレーム125に設定する。
また、マスタ装置フレーム生成部220は、先行中継時間SFPとして初期値「0」を通知補助フレーム125に設定する。
【0181】
マスタ装置通信部210は、マスタ装置フレーム生成部220によって生成された通知補助フレーム125を送信する(通知補助フレーム送信処理)。
S250の後、S260に進む。
【0182】
S260において、中間のスレーブ装置300のスレーブ装置通信部310は通知補助フレーム125を受信する(通知補助フレーム受信処理)。
【0183】
スレーブ装置同期部350は、スレーブ装置通信部310が通知補助フレーム125を受信した場合、通知補助フレーム125から基準時刻Tmと補正後マスタ往復伝搬遅延時間Dmと先行中継時間SFPとを取得する。
さらに、スレーブ装置同期部350は、スレーブ装置記憶部390からスレーブ往復伝搬遅延時間Ds’と往復中継時間RTPとタイムスタンプ時刻Tsとを取得する。
【0184】
次に、スレーブ装置同期部350は、スレーブ往復伝搬遅延時間Ds’から往復中継時間RTPを減算した時間を補正後スレーブ往復伝搬遅延時間Dsとして算出する。
【0185】
次に、スレーブ装置同期部350は、基準時刻Tmとタイムスタンプ時刻Tsとの時刻差を誤差時間として算出する。
スレーブ装置同期部350は、補正後マスタ往復伝搬遅延時間Dmから補正後スレーブ往復伝搬遅延時間Dsを減算した時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部350は、誤差時間に通知伝播時間と先行中継時間SFPとを加算した時間を補正値Asとして算出する。
【0186】
そして、スレーブ装置同期部350は、内部時計から現在時刻を取得し、取得した現在時刻に補正値Asを加算した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する(同期処理)。
【0187】
例えば、スレーブ装置300の時刻(Ts)がマスタ装置200の時刻(Tm)より早い時刻(前の時刻)である場合、補正値Asはプラスの値になり、スレーブ装置300の時刻がマスタ装置200の時刻よりも遅い時刻(後の時刻)である場合、補正値Asはマイナスの値になる。
そして、この補正値Asをスレーブ装置300の現在時刻に加算することによりスレーブ装置300の現在時刻をマスタ装置200の現在時刻に合わせることができる。
スレーブ装置300の時刻が早い時刻である場合、補正値As(プラスの値)を加算することにより、スレーブ装置300の時刻が「プラス補正」されるためである。
また、スレーブ装置300の時刻が遅い時刻である場合、補正値As(マイナスの値)を加算することにより、スレーブ装置300の時刻が「マイナス補正」されるためである。
【0188】
以下に、補正後スレーブ往復伝搬遅延時間Dsの算出式(3−2)と補正値Asの算出式(3−3)とを示す。
【0189】
【数5】

【0190】
スレーブ装置フレーム処理部320は、通知補助フレーム125を処理することができるタイミングまで待機する。
その後、スレーブ装置フレーム処理部320は、通知補助フレーム125から先行中継時間SFPを取得し、スレーブ装置記憶部390から通知フレーム123の中継処理時間を取得する。
【0191】
スレーブ装置フレーム処理部320は、先行中継時間SFPに通知フレーム123の中継処理時間を加算した合計時間を新たな先行中継時間SFPとして算出する。
そして、スレーブ装置フレーム処理部320は、通知補助フレーム125に設定されている先行中継時間SFPを新たな先行中継時間SFPに更新する(通知中継処理時間更新処理)。
【0192】
スレーブ装置通信部310は、スレーブ装置フレーム処理部320によって更新された通知補助フレーム125を送信する(通知補助フレーム送信処理)。
S260の後、S270に進む。
【0193】
S270において、末端のスレーブ装置300のスレーブ装置通信部310は通知補助フレーム125を受信する(通知補助フレーム受信処理)。
【0194】
スレーブ装置同期部350は、スレーブ装置通信部310によって受信された通知補助フレーム125に基づいて補正値Asを算出し、算出した補正値Asに基づいて内部時計の時刻を変更する(同期処理)。
補正値Asの算出方法および内部時計の時刻の変更方法は、中間のスレーブ装置300による方法と同じである(S260参照)。
S270により、同期システム100の同期方法の処理は終了する。
【0195】
図14、図15は、実施の形態3における同期システム100の処理の具体例を示すシーケンス図である。
図16は、実施の形態3における同期システム100で記憶する計測時間の具体例を示す一覧表である。
実施の形態3における同期システム100の処理の具体例について、図14から図16に基づいて説明する。
【0196】
図14において、同期システム100は、マスタ装置と中間のスレーブ装置A・Bと末端のスレーブ装置Cとを備える。
【0197】
(1)マスタ装置は、スレーブ装置Cを宛先とする計測フレーム121を生成し、生成した計測フレーム121を送信する。
【0198】
(2)中間のスレーブ装置Aは、計測フレーム121を受信する。
(3)しかし、計測フレーム121より優先度が高い割込みフレームが発生したため、スレーブ装置Aは計測フレーム121より先に割込みフレームを処理する。
(4)スレーブ装置Aは、計測フレーム121を送信する。
また、スレーブ装置Aは、計測フレーム121を受信してから送信するまでの中継処理時間「α1」を記憶する(図16参照)。
【0199】
(5)中間のスレーブ装置Bは計測フレーム121を受信し、受信した計測フレーム121を送信する。
また、スレーブ装置Bは、計測フレーム121を受信してから送信するまでの中継処理時間「α2」を記憶する(図16参照)。
【0200】
(6)末端のスレーブ装置Cは計測フレーム121を受信する。
(7)スレーブ装置Cはマスタ装置を宛先とする計測応答フレーム122を生成し、生成した計測応答フレーム122を送信する。
また、スレーブ装置Cは計測フレーム121を受信してから計測応答フレーム122を送信するまでの時間「Ds3’」をスレーブ往復伝搬遅延時間Ds’として記憶する(図16参照)。
【0201】
(8)中間のスレーブ装置Bは、計測応答フレーム122を受信する。
(9)スレーブ装置Bは、計測応答フレーム122を送信する。
また、スレーブ装置Bは、計測応答フレーム122を受信してから送信するまでの中継処理時間「β1」を記憶する(図16参照)。
さらに、スレーブ装置Bは、計測フレーム121を受信してから計測応答フレーム122を送信するまでの時間「Ds2’」をスレーブ往復伝搬遅延時間Ds’として記憶する(図16参照)。
【0202】
(10)中間のスレーブ装置Aは計測応答フレーム122を受信し、受信した計測応答フレーム122を送信する。
また、スレーブ装置Aは、計測応答フレーム122を受信してから送信するまでの中継処理時間「β2」を記憶する(図16参照)。
さらに、スレーブ装置Bは、計測フレーム121を受信してから計測応答フレーム122を送信するまでの時間「Ds1’」をスレーブ往復伝搬遅延時間Ds’として記憶する(図16参照)。
【0203】
(11)マスタ装置は計測応答フレーム122を受信する。
また、マスタ装置は、計測フレーム121を送信してから計測応答フレーム122を受信するまでの時間「Dm’」をマスタ往復伝搬遅延時間Dm’として記憶する(図16参照)。
(12)マスタ装置は末端のスレーブ装置Cを宛先とする通知フレーム123を生成し、生成した通知フレーム123を送信する。
また、マスタ装置は通知フレーム123を送信したときの時刻「Tm」を基準時刻Tmとして記憶する(図16参照)。
【0204】
(13)中間のスレーブ装置Aは、通知フレーム123を受信する。
また、スレーブ装置Aは、通知フレーム123を受信したときの時刻「Ts1」をタイムスタンプ時刻Tsとして記憶する(図16参照)。
(14)スレーブ装置Aは、通知フレーム123を送信する。
また、スレーブ装置Aは、通知フレーム123を受信してから送信するまでの中継処理時間「γ1」を計測し、計測した中継処理時間「γ1」を記憶する。
【0205】
(15)中間のスレーブ装置Bは通知フレーム123を受信し、受信した通知フレーム123を送信する。
また、スレーブ装置Bは、通知フレーム123を受信したときの時刻「Ts2」をタイムスタンプ時刻Tsとして記憶する(図16参照)。
さらに、スレーブ装置Bは、通知フレーム123を受信してから送信するまでの中継処理時間「γ2」を計測し、計測した中継処理時間「γ2」を記憶する。
【0206】
(16)末端のスレーブ装置Cは通知フレーム123を受信する。
また、スレーブ装置Cは、通知フレーム123を受信したときの時刻「Ts3」をタイムスタンプ時刻Tsとして記憶する(図16参照)。
【0207】
図15に基づいて続きを説明する。
【0208】
(17)スレーブ装置Cは、往復中継時間RTPの初期値「0」を設定した計測補助フレーム124を生成し、生成した計測補助フレーム124をマスタ装置宛てに送信する。
また、スレーブ装置Cは、往復中継時間RTP「0」を記憶する。
【0209】
(18)中間のスレーブ装置Bは、計測補助フレーム124を受信する。
(19)スレーブ装置Bは、計測フレーム121の中継処理時間「α2」と計測応答フレーム122の中継処理時間「β1」(図16参照)と計測補助フレーム124内の往復中継時間RTP「0」との合計時間「α2+β1」を算出する。
そして、スレーブ装置Bは、算出した合計時間「α1+β1」を往復中継時間RTPとして計測補助フレーム124に設定し、計測補助フレーム124を送信する。
また、スレーブ装置Bは、往復中継時間RTP「α2+β1」を記憶する。
【0210】
(20)中間のスレーブ装置Aは、計測補助フレーム124を受信する。
(21)スレーブ装置Aは、計測フレーム121の中継処理時間「α1」と計測応答フレーム122の中継処理時間「β2」(図16参照)と計測補助フレーム124内の往復中継時間RTP「α2+β1」との合計時間「α1+α2+β1+β2」を算出する(図16参照)。
そして、スレーブ装置Aは、算出した合計時間「α1+α2+β1+β2」を往復中継時間RTPとして計測補助フレーム124に設定し、計測補助フレーム124を送信する。
また、スレーブ装置Aは、往復中継時間RTP「α1+α2+β1+β2」を記憶する(図16参照)。
【0211】
(22)マスタ装置は、計測補助フレーム124を受信する。
マスタ装置は、計測補助フレーム124に設定されている往復中継時間RTPを記憶する(図16参照)。
(23)マスタ装置は、マスタ往復伝搬遅延時間Dm’と往復中継時間RTP「α1+α2+β1+β2」とを用いて補正後マスタ往復伝搬遅延時間Dmを算出する(下記式(3−4)参照)。
マスタ装置は、基準時刻Tmと補正後マスタ往復伝搬遅延時間Dmと先行中継時間SFPの初期値「0」とを設定して通知補助フレーム125を生成し、生成した通知補助フレーム125を末端のスレーブ装置C宛てに送信する。
【0212】
(24)中間のスレーブ装置Aは、通知補助フレーム125を受信する。
スレーブ装置Aは、通知補助フレーム125の設定値(Tm、Dm、SFP「0」)と記憶済みの計測値(Ds1’、α1+α2+β1+β2、Ts1)(図16参照)とを用いて補正値As1を算出する(下記式(3−5)参照)。
そして、スレーブ装置Aは、内部時計の時刻を補正値As1だけ経過後の時刻に更新してマスタ装置と同期する。
(25)スレーブ装置Aは、通知フレーム123の中継準備時間「γ1」(図16参照)を加算した先行中継時間SFP「(0+)γ1」を通知補助フレーム125に設定し、通知補助フレーム125を送信する。
【0213】
(26)中間のスレーブ装置Bは、通知補助フレーム125を受信する。
スレーブ装置Bは、通知補助フレーム125の設定値(Tm、Dm、SFP「γ1」)と記憶済みの計測値(Ds2’、α2+β1、Ts2)(図16参照)とを用いて補正値As2を算出する(下記式(3−6)参照)。
そして、スレーブ装置Bは、内部時計の時刻を補正値As2を加算した時刻に更新してマスタ装置と同期する。
(27)スレーブ装置Bは、通知フレーム123の中継準備時間「γ2」(図16参照)を加算した先行中継時間SFP「γ1+γ2」を通知補助フレーム125に設定し、通知補助フレーム125を送信する。
【0214】
(28)末端のスレーブ装置Cは、通知補助フレーム125を受信する。
スレーブ装置Cは、通知補助フレーム125の設定値(Tm、Dm、SFP「γ1+γ2」)と記憶済みの計測値(Ds3’、RTP「0」、Ts3)(図16参照)とを用いて補正値As3を算出する(下記式(3−7)参照)。
そして、スレーブ装置Cは、内部時計の時刻を補正値As3を加算した時刻に更新してマスタ装置と同期する。
【0215】
【数6】

【0216】
図17、図18は、実施の形態3における同期処理の一例を示す図である。
図17に示すように、スレーブ装置Bの時刻がマスタ装置の時刻より「80」だけ早い時刻(前の時刻)である場合、補正値Asとして「80」が算出される。この補正値As「80」をスレーブ装置Bの時刻に加算することにより、スレーブ装置Bの時刻を「80」だけ遅い時刻(後の時刻)に補正し、スレーブ装置Bの時刻をマスタ装置の時刻に合わせることができる。
図18に示すように、スレーブ装置Bの時刻がマスタ装置の時刻より「20」だけ遅い時刻である場合、補正値Asとして「−20」が算出される。この補正値As「−20」をスレーブ装置Bの時刻に加算することにより、スレーブ装置Bの時刻を「20」だけ早い時刻に補正し、スレーブ装置Bの時刻をマスタ装置の時刻に合わせることができる。
【0217】
上記の同期方法では複数の中継処理時間を合計した合計時間を各フレームに設定しているが、合計時間ではなく各中継処理時間を各フレームに設定しても構わない。
例えば、スレーブ装置A・Bは計測補助フレーム124に各々の中継処理時間「α1」「α2」「β1」「β2」を設定する。そして、マスタ装置が各中継処理時間を合計して往復中継時間RTP「α1+α2+β1+β2」を算出する。
【0218】
以上により、実施の形態3の説明を終了する。
【符号の説明】
【0219】
100 同期システム、101 通信ポート、102 通信ケーブル、111 計測フレーム、112 計測応答フレーム、113 通知フレーム、121 計測フレーム、122 計測応答フレーム、123 通知フレーム、124 計測補助フレーム、125 通知補助フレーム、200 マスタ装置、210 マスタ装置通信部、220 マスタ装置フレーム生成部、230 マスタ装置算出部、240 マスタ装置計測部、290 マスタ装置記憶部、300 スレーブ装置、310 スレーブ装置通信部、320 スレーブ装置フレーム処理部、330 スレーブ装置算出部、340 スレーブ装置計測部、350 スレーブ装置同期部、390 スレーブ装置記憶部、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ装置、912 キーボード、913 マウス、914 ドライブ装置、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

【特許請求の範囲】
【請求項1】
端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する1台以上の中継装置とを備える同期システムにおいて、
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部と、
前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
現在時刻を基準時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知フレームを生成するマスタ装置フレーム生成部とを備え、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを前記端末装置へ送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する中継装置同期部とを備えることを特徴とする同期システム。
【請求項2】
前記計測フレームは、前記計測フレームの中継準備処理に要した中継準備時間の合計値を示す先行中継準備時間を含み、
前記計測応答フレームは、前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間の合計値を示す総中継準備時間を前記中継準備時間情報として含み、
前記マスタ装置フレーム生成部は、前記先行中継準備時間として初期値「0」を設定して前記計測フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された計測フレームを送信し、
各中継装置の中継装置通信部は、前記マスタ装置と他の中継装置とのいずれかから送信された計測フレームを受信し、
各中継装置は、さらに、
前記中継装置通信部によって受信された計測フレームに基づいて前記計測フレームに含まれる先行中継準備時間を記憶する先行中継準備時間記憶部を備え、
前記中継装置計測部は、前記中継装置通信部が前記計測フレームを受信してから前記計測フレームの中継準備処理が終了するまでの時間を前記計測フレームの中継準備時間として計測し、
前記中継装置計測部によって計測された前記計測フレームの中継準備時間と前記計測フレームに含まれる先行中継準備時間とを合計した時間を新たな先行中継準備時間として算出する中継装置算出部と、
前記中継装置算出部によって算出された新たな先行中継準備時間に基づいて前記計測フレームに含まれる先行中継準備時間を新たな先行中継準備時間に更新する中継装置フレーム更新部とを備え、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測フレームを送信し、
前記端末装置は、
前記計測フレームを中継する最後の中継装置から送信された計測フレームを受信する端末装置通信部と、
前記端末装置通信部によって受信された計測フレームに基づいて前記計測フレームに含まれる先行中継準備時間を前記総中継準備時間として設定して前記計測応答フレームを生成する端末装置フレーム生成部とを備え、
前記端末装置通信部は、前記端末装置フレーム生成部によって生成された計測応答フレームを送信し、
各中継装置の中継装置通信部は、前記端末装置と他の中継装置とのいずれかから送信された計測応答フレームを受信し、
前記中継装置計測部は、前記中継装置通信部が前記計測応答フレームを受信してから前記計測応答フレームの中継準備処理が終了するまでの時間を前記計測応答フレームの中継準備時間として計測し、
前記中継装置算出部は、前記中継装置計測部によって計測された前記計測応答フレームの中継準備時間と前記計測応答フレームに含まれる総中継準備時間とを合計した時間を新たな総中継準備時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな総中継準備時間に基づいて前記計測応答フレームに含まれる総中継準備時間を新たな総中継準備時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測応答フレームを送信し、
各中継装置は、さらに、
前記中継装置算出部によって算出された新たな総中継準備時間を記憶する総中継準備時間記憶部を備え、
前記マスタ装置通信部は、前記計測フレームを中継する先頭の中継装置から送信された計測応答フレームを受信し、
前記マスタ装置算出部は、前記マスタ装置通信部によって受信された計測応答フレームと前記マスタ装置計測部によって計測されたマスタ装置通信時間とに基づいて、前記マスタ装置通信時間から前記計測応答フレームに含まれる総中継準備時間を除算した時間を前記マスタ装置伝播時間として算出し、
前記マスタ装置フレーム生成部は、初期値「0」を通知中継準備時間として含めて前記通知フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを送信し、
各中継装置の中継装置通信部は、前記マスタ装置と他の中継装置とのいずれかから送信された通知フレームを受信し、
前記中継装置計測部は、前記中継装置通信部が前記通知フレームを受信してから前記通知フレームの中継準備処理が終了するまでの時間を前記通知フレームの中継準備時間として計測し、
前記中継装置算出部は、前記中継装置計測部によって計測された前記通知フレームの中継準備時間と前記通知フレームに含まれる通知中継準備時間とを合計した時間を新たな通知中継準備時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな通知中継準備時間に基づいて前記通知フレームに含まれる通知中継準備時間を新たな通知中継準備時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された通知フレームを送信し、
前記中継装置同期部は、前記中継装置計測部によって計測された中継装置通信時間と前記総中継時間記憶部に記憶された総中継準備時間と前記先行中継準備時間記憶部に記憶された先行中継準備時間とに基づいて前記中継装置伝播時間を算出し、算出した中継装置伝播時間と前記中継装置通信部によって受信された通知フレームとに基づいて前記同期時刻を算出し、算出した同期時刻を前記内部時計に設定する
ことを特徴とする請求項1記載の同期システム。
【請求項3】
前記中継装置同期部は、
前記総中継準備時間から前記先行中継準備時間を減算した時間を往復中継準備時間として算出し、
算出した往復中継準備時間を前記中継装置通信時間から減算した時間を前記中継装置伝播時間として算出し、
算出した中継装置伝播時間を前記通知フレームに含まれるマスタ装置伝播時間から減算し、減算して得られた時間を半分にした時間を前記通知伝播時間として算出し、
算出した通知伝播時間と前記通知フレームに含まれる通知中継準備時間とを前記通知フレームに含まれる基準時刻に加算した時刻を前記同期時刻として算出する
ことを特徴とする請求項2記載の同期システム。
【請求項4】
前記端末装置は、さらに、
前記端末装置通信部が前記計測フレームを受信してから前記端末装置通信部が前記計測応答フレームを送信するまでの時間を端末装置遅延時間として計測する端末装置計測部と、
前記端末装置計測部によって計測された端末装置遅延時間と前記通知フレームとに基づいて前記マスタ装置と同期する時刻を端末装置時刻として算出し、算出した端末装置時刻を内部時計に設定する端末装置同期部とを備える
ことを特徴とする請求項3記載の同期システム。
【請求項5】
前記端末装置同期部は、
前記通知フレームに含まれるマスタ装置伝播時間から前記端末装置遅延時間を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出し、
算出した通知伝播時間と前記通知フレームに含まれる通知中継準備時間とを前記通知フレームに含まれる基準時刻に加算した時刻を前記端末装置時刻として算出する
ことを特徴とする請求項4記載の同期システム。
【請求項6】
端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する1台以上の中継装置とを備える同期システムの同期方法において、
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信し、
前記計測フレームを送信してから前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測し、
前記マスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出し、
現在時刻を基準時刻として含むと共に前記マスタ装置伝播時間を含む通知フレームを生成し、
前記通知フレームを前記端末装置へ送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信し、
前記計測フレームを受信してから前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測し、
前記中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから自中継装置が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する
ことを特徴とする同期システムの同期方法。
【請求項7】
端末装置と、マスタ装置と、前記マスタ装置と前記端末装置との間で通信されるフレームを所定の中継処理によって中継する1台以上の中継装置とを備える同期システムにおいて、
前記マスタ装置は、
所定の計測フレームを送信し、前記端末装置から送信される計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部とを備え、
前記マスタ装置通信部は、所定の通知フレームを送信し、前記端末装置から送信される計測補助フレームであって各中継装置が前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間を表す中継処理時間情報を含んだ計測補助フレームを受信し、
前記マスタ装置は、さらに、
前記計測補助フレームに含まれる中継処理時間情報と前記マスタ装置計測部によって計測されたマスタ装置通信時間とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継処理時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
前記マスタ装置通信部が前記通知フレームを送信した時刻をマスタ装置時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知補助フレームを生成するマスタ装置フレーム生成部とを備え、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知補助フレームを送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームと前記計測補助フレームと前記通知補助フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測補助フレームに含まれる中継処理時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継処理時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置通信部が前記通知フレームを受信した中継装置時刻とに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する中継装置同期部とを備える
ことを特徴とする同期システム。
【請求項8】
前記計測補助フレームは、前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間の合計値を示す往復中継処理時間を前記中継処理時間情報として含み、
前記マスタ装置は、さらに、
前記マスタ装置通信部が前記通知フレームを送信した時刻を前記マスタ装置時刻として記憶するマスタ装置時刻記憶部を備え、
各中継装置の中継装置計測部は、前記中継装置通信部が前記計測フレームを受信してから前記計測フレームを送信するまでの時間を前記計測フレームの中継処理時間として計測し、前記中継装置通信部が前記計測応答フレームを受信してから前記計測応答フレームを送信するまでの時間を前記計測応答フレームの中継処理時間として計測し、前記中継装置通信部が前記通知フレームを受信してから前記通知フレームを送信するまでの時間を前記通知フレームの中継処理時間として計測し、
各中継装置は、さらに、
前記中継装置計測部によって計測された前記計測フレームの中継処理時間と前記計測応答フレームの中継処理時間と前記通知フレームの中継処理時間とを記憶する個別中継処理時間記憶部と、
前記中継装置通信部が前記通知フレームを受信した時刻を前記中継装置時刻として記憶する中継装置時刻記憶部とを備え、
前記端末装置は、
前記往復中継処理時間として初期値「0」を設定して前記計測補助フレームを生成する端末装置フレーム生成部と、
前記端末装置フレーム生成部によって生成された計測補助フレームを送信する端末装置通信部とを備え、
各中継装置は、さらに、
前記中継装置通信部によって受信された計測補助フレームと前記個別中継処理時間記憶部とに基づいて前記往復中継処理時間と前記計測フレームの中継処理時間と前記計測応答フレームの中継処理時間とを合計した時間を新たな往復中継処理時間として算出する中継装置算出部と、
前記中継装置算出部によって算出された新たな往復中継処理時間を記憶する往復中継処理時間記憶部と、
前記中継装置算出部によって算出された新たな往復中継処理時間に基づいて前記計測補助フレームに含まれる往復中継処理時間を新たな往復中継処理時間に更新する中継装置フレーム更新部とを備え、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測補助フレームを送信し、
前記マスタ装置のマスタ装置算出部は、前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記マスタ装置通信部によって受信された計測補助フレームとに基づいて前記マスタ装置通信時間から前記計測補助フレームに含まれる往復中継処理時間を減算した時間を前記マスタ装置伝播時間として算出し、
前記マスタ装置フレーム生成部は、前記マスタ装置時刻記憶部に記憶されたマスタ装置時刻を設定すると共に初期値「0」を通知中継処理時間として設定して前記通知補助フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知補助フレームを送信し、
各中継装置の中継装置算出部は、前記中継装置通信部によって受信された通知補助フレームと前記個別中継処理時間記憶部とに基づいて前記通知補助フレームに含まれる通知中継処理時間と前記通知フレームの中継処理時間とを合計した時間を新たな通知中継処理時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな通知中継処理時間に基づいて前記通知補助フレームに含まれる通知中継処理時間を新たな通知中継処理時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された通知補助フレームを送信し、
前記中継装置同期部は、前記中継装置計測部によって計測された中継装置通信時間と前記往復中継処理時間記憶部に記憶された往復中継処理時間とに基づいて前記中継装置伝播時間を算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置時刻記憶部に記憶された中継装置時刻とに基づいて前記補正時間を算出し、算出した補正時間だけ内部時計の時刻を変更する
ことを特徴とする請求項7記載の同期システム。
【請求項9】
前記中継装置同期部は、
前記中継装置通信時間から前記往復中継処理時間を減算した時間を前記中継装置伝播時間として算出し、
算出した中継装置伝播時間を前記通知補助フレームに含まれるマスタ装置伝播時間から減算し、減算して得られた時間を半分にした時間を前記通知伝播時間として算出し、
前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置時刻記憶部に記憶された中継装置時刻との時刻差を誤差時間として算出し、
算出した誤差時間に前記通知伝播時間と前記通知補助フレームに含まれる通知中継処理時間とを加算した時間を補正時間として算出する
ことを特徴とする請求項8記載の同期システム。
【請求項10】
前記端末装置は、さらに、
前記端末装置通信部が前記計測フレームを受信してから前記端末装置通信部が前記計測応答フレームを送信するまでの時間を端末装置遅延時間として計測する端末装置計測部と、
前記端末装置通信部が前記通知フレームを受信した時刻を端末装置時刻として記憶する端末装置時刻記憶部とを備え、
前記端末装置計測部によって計測された端末装置遅延時間と前記端末装置時刻記憶部に記憶された端末装置時刻と前記端末装置通信部によって受信される通知補助フレームとに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する端末装置同期部とを備える
ことを特徴とする請求項9記載の同期システム。
【請求項11】
前記端末装置同期部は、
前記通知補助フレームに含まれるマスタ装置伝播時間から前記端末装置遅延時間を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出し、
前記通知補助フレームに含まれるマスタ装置時刻と前記端末装置時刻記憶部に記憶された端末装置時刻との時刻差を誤差時間として算出し、
算出した誤差時間に前記通知伝播時間と前記通知補助フレームに含まれる通知中継処理時間とを加算した時間を補正時間として算出する
ことを特徴とする請求項10記載の同期システム。
【請求項12】
端末装置と、マスタ装置と、前記マスタ装置と前記端末装置との間で通信されるフレームを所定の中継処理によって中継する1台以上の中継装置とを備える同期システムの同期方法において、
前記マスタ装置は、
所定の計測フレームを送信し、前記端末装置から送信される計測応答フレームを受信し、
前記計測フレームを送信してから前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測し、
所定の通知フレームを送信し、前記端末装置から送信される計測補助フレームであって各中継装置が前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間を表す中継処理時間情報を含んだ計測補助フレームを受信し、
前記計測補助フレームに含まれる中継処理時間情報と計測された前記マスタ装置通信時間とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継処理時間を除いた時間をマスタ装置伝播時間として算出し、
前記通知フレームを送信した時刻をマスタ装置時刻として含むと共に前記マスタ装置伝播時間を含む通知補助フレームを生成し、
前記通知補助フレームを送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームと前記計測補助フレームと前記通知補助フレームとを送受信し、
前記計測フレームを受信してから前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測し、
計測された中継装置通信時間と前記計測補助フレームに含まれる中継処理時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継処理時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから自中継装置が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記通知フレームを受信した中継装置時刻とに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する
ことを特徴とする同期システムの同期方法。

【図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

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−175567(P2012−175567A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37479(P2011−37479)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】