(57)【特許請求の範囲】
【請求項１】
送信元装置から送信された、通信遅延時間の算出に用いられる計測データの受信が、時刻同期と無関係な通信データの送信中に完了する場合に、前記計測データに対する応答である応答データの前記送信元装置への送信を、前記通信データの送信の完了を待って行う通信部と、
前記計測データの受信完了を検知し、前記計測データの受信完了時に前記通信データが送信中であるか否かを判定し、前記計測データの受信完了時に前記通信データが送信中である場合に計時の開始を指示し、前記通信データの送信完了を検知し、前記通信データの送信完了時に計時の停止を指示する時刻同期実行部と、
前記時刻同期実行部からの計時の開始の指示に従って計時を開始し、前記時刻同期実行部からの計時の停止の指示に従って計時を停止して、前記応答データの送信待ち時間を計測する送信待ち時間計測部と、
前記送信元装置が前記計測データを送信してから前記送信元装置が前記応答データを受信するまでの時間である往復時間と、前記送信待ち時間計測部により計測された送信待ち時間とを用いて、前記送信元装置との通信遅延時間を算出する遅延算出部とを有することを特徴とする通信装置。
【請求項２】
前記時刻同期実行部は、
前記遅延算出部により算出された通信遅延時間を用いて、前記送信元装置との時刻同期を行うことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信部は、
前記往復時間を通知する往復時間通知データを前記送信元装置から受信し、
前記遅延算出部は、
前記往復時間通知データにおいて通知された往復時間と、前記送信待ち時間計測部により計測された送信待ち時間とを用いて、前記送信元装置との通信遅延時間を算出することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記通信部は、
送信先装置に計測データを送信し、送信した計測データに対する応答データを前記送信先装置から受信し、
前記通信装置は、更に、
前記通信部が前記計測データを送信してから前記通信部が前記応答データを受信するまでの時間である往復時間を計測する往復時間計測部を有し、
前記通信部は、
前記往復時間を通知する往復時間通知データを前記送信先装置に送信することを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項５】
前記通信装置は、
複数の通信装置がデイジーチェーン接続されている通信システムに含まれ、
前記通信装置は、更に
自装置がデイジーチェーン接続における先頭に位置しているか否かを判断する位置判断部を有し、
前記通信部は、
前記位置判断部により自装置がデイジーチェーン接続における先頭に位置していると判断された場合に、送信先装置に計測データを送信することを特徴とする請求項４に記載の通信装置。
【請求項６】
送信元装置から送信された、通信遅延時間の算出に用いられる計測データの通信装置による受信が、時刻同期と無関係な通信データの前記通信装置による送信中に完了する場合に、前記通信装置が、前記計測データに対する応答である応答データの前記送信元装置への送信を、前記通信データの送信の完了を待って行う通信ステップと、
前記通信装置が、前記計測データの受信完了を検知し、前記計測データの受信完了時に前記通信データが送信中であるか否かを判定し、前記計測データの受信完了時に前記通信データが送信中である場合に計時の開始を指示し、前記通信データの送信完了を検知し、前記通信データの送信完了時に計時の停止を指示する時刻同期実行ステップと、
前記通信装置が、前記時刻同期実行ステップからの計時の開始の指示に従って計時を開始し、前記時刻同期実行ステップからの計時の停止の指示に従って計時を停止して、前記応答データの送信待ち時間を計測する送信待ち時間計測ステップと、
前記送信元装置が前記計測データを送信してから前記送信元装置が前記応答データを受信するまでの時間である往復時間と、前記送信待ち時間計測ステップにより計測された送信待ち時間とを用いて、前記通信装置が、前記送信元装置との通信遅延時間を算出する遅延算出ステップとを有することを特徴とするデータ処理方法。
【請求項７】
送信元装置から送信された、通信遅延時間の算出に用いられる計測データの受信が、時刻同期と無関係な通信データの送信中に完了する場合に、前記計測データに対する応答である応答データの前記送信元装置への送信を、前記通信データの送信の完了を待って行う通信ステップと、
前記計測データの受信完了を検知し、前記計測データの受信完了時に前記通信データが送信中であるか否かを判定し、前記計測データの受信完了時に前記通信データが送信中である場合に計時の開始を指示し、前記通信データの送信完了を検知し、前記通信データの送信完了時に計時の停止を指示する時刻同期実行ステップと、
前記時刻同期実行ステップからの計時の開始の指示に従って計時を開始し、前記時刻同期実行ステップからの計時の停止の指示に従って計時を停止して、前記応答データの送信待ち時間を計測する送信待ち時間計測ステップと、
前記送信元装置が前記計測データを送信してから前記送信元装置が前記応答データを受信するまでの時間である往復時間と、前記送信待ち時間計測ステップにより計測された送信待ち時間とを用いて、前記送信元装置との通信遅延時間を算出する遅延算出ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置の間で時刻を同期させる技術に関する。
【背景技術】
【０００２】
近年、電車の駆動機器の故障予兆検知などを目的として、走行中の駆動機器の電流や振動といった駆動状態をモニタする状態監視技術が研究されている。
状態監視では、各駆動機器に対し、周期的に駆動状態をモニタする計測器を設け、さらに計測器に通信装置を接続して互いにネットワークで結び、駆動状態の情報を交換する。
【０００３】
状態監視における要求の１つとして、各駆動機器の同時刻における状態を同時にモニタするため、モニタを実施する計測器が機器状態の情報を取得するタイミングを可能な限り一致させたい要求がある。
これを実現する方法としては、例えば、特定の時間経過する度に計測器にパルスを出力して計測タイミングを与える時計を、計測器ごとに接続し、各時計の同時刻における値を揃える方法が利用される。
【０００４】
各時計の同時刻における値を揃える方法として、時刻同期と呼ばれる技術が利用される。
２台の通信装置間での時刻同期の概要を図１に示す。
図１のように、２個以上の通信ポートを持つ２台の通信装置１００が、ネットワークで接続されており、片方の通信装置が時刻同期の処理を開始する同期マスタ２００となり、もう片方の同期スレーブ３００と時刻同期を実施する。
従来の時刻同期技術としては、例えば特許文献１が挙げられる。
【０００５】
以下、時刻同期の概要について、図２を参照しながら説明する。
時刻同期は、３段階のフェーズ、すなわち、遅延計測フェーズ、遅延通知フェーズ、同期ズレ補正フェーズによって実施される。
以下、各フェーズの実施内容を説明する。
【０００６】
まず、遅延計測フェーズでは、同期マスタ２００が、同期スレーブ３００との間で、往復の通信遅延を計測する。
その手段は、同期マスタ２００が同期スレーブ３００へ遅延計測の実施を通知するフレーム（以下、計測フレームと表記する）を送信し、同期スレーブ３００が計測フレームの受信完了後ただちに同期マスタ２００へ計測フレーム受信を通知するフレーム（以下、計測応答フレームと表記する）を送信する。
そして、同期マスタ２００は、計測フレーム送信開始から計測応答フレーム受信完了までの時間を計測する。
【０００７】
次に、遅延通知フェーズでは、同期マスタ２００が、遅延計測フェーズで計測した往復の通信遅延を、フレーム（以下、遅延通知フレームと表記する）に格納して同期スレーブ３００に送信する。
同期スレーブ３００は、遅延通知フレームを受信し、格納されている往復の通信遅延の値を読み出すと、それを２で割った値を片道の通信遅延の値として記憶する。
なお、同期マスタ２００と同期スレーブ３００間の両方向の通信遅延、すなわち、同期マスタ２００が計測フレームを送信開始してから同期スレーブ３００が計測フレームを受信完了するまでの時間と、同期スレーブ３００が計測応答フレームを送信開始してから同期マスタ２００が計測応答フレームを受信完了するまでの時間は、等しいものとする。
また、同期スレーブ３００が計測フレームを受信完了してから計測応答フレームを送信開始するまでの時間は、ここでは考えない。
【０００８】
最後に、同期ズレ補正フェーズでは、同期マスタ２００が、同期スレーブ３００に時計の補正を指示するフレーム（以下、補正フレームと表記する）を送信すると共に、送信開始と同時に時計を所定の初期値、例えば０からスタートさせる。
一方、同期スレーブ３００は、同期マスタ２００から補正フレームを受信すると、受信完了と同時に時計を、遅延通知フェーズで算出した片道の通信遅延の値からスタートさせる。
【０００９】
以上の３種類のフェーズにより、同期マスタ２００および同期スレーブ３００の時計について、同時刻における値を揃えることができる。
【００１０】
なお、両時計の値は、それぞれが参照するクロックの周波数の誤差により、時間の経過と共にずれていく。
そのため、同期マスタ２００と同期スレーブ３００間では同期ズレ補正フェーズを定期的に実施する。
【００１１】
従来の通信装置１００の内部構成例として、特許文献１の開示内容に基づき、図３を想定する。
通信装置１００は、通信を実施するプロトコル処理部１０１と、制御部１０３からの指示を受けて時刻同期を行い、時計を補正する時刻同期部１０２と、時刻同期部１０２に時刻同期を指示し、また、プロトコル処理部１０１を介して他の通信装置と通信する制御部１０３と、特定の時間経過する度に計測器にパルスを出力して計測タイミングを与える時計部１０４で構成される。
ここで、プロトコル処理部１０１は、時刻同期部１０２に対して、フレームの受信開始、受信完了、送信開始、および送信完了時に、そのことを通知するものとする。
また、一方の隣接する通信装置１００と、フレームの送信および受信を並行して実施可能とする。
ただし、フレームの送信は一度に１個しかできず、受信も同様とする。
【００１２】
時刻同期部１０２の内部構成例を図７に示す。
時刻同期部１０２は、時刻同期の処理を統括する時刻同期処理部１１１と、隣接する通信装置１００間の往復の通信遅延を計測する遅延計測部１１３と、遅延計測部１１３の計測した往復の通信遅延から片道分の通信遅延を算出して記憶する遅延算出部１１５で構成される。
なお、計測器の内部構成については、本発明の内容に直接関係しないため、説明を割愛する。
【００１３】
通信装置１００間では、フレームの送受信によってデータが通信される。
フレームの種類および構成を図５に示す。
（ａ）は、通信装置１００間の往復の通信遅延の計測に用いる計測フレームのフレームフォーマットを示し、（ｂ）は、計測応答フレームのフレームフォーマットを示す。
（ｃ）は、通信装置１００間の往復の通信遅延を通知するための遅延通知フレームのフレームフォーマットを示す。
（ｄ）は、時計の補正に用いる補正フレームのフレームフォーマットを示す。
（ｅ）は、上述の（ａ）（ｂ）（ｃ）（ｄ）いずれにも属さない、時刻同期と無関係なフレーム（以下、汎用フレームとも表記する）のフレームフォーマットを示す。
各フレームで定義されているフィールドには、以下のような情報が格納される。
送信先フィールドには、フレームを受信する通信装置１００を識別するＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を格納する。
送信元フィールドには、フレームを送信する通信装置１００を識別するＩＤを格納する。
フレーム種別フィールドには、フレームの種類を識別するためのＩＤを格納する。
また、遅延通知フレームには、通信装置１００間における往復の通信遅延の値が含まれる。また、汎用フレームには、任意の有限長のデータが含まれる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平０５−１６１１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来の時刻同期技術における通信遅延の計測を、時刻同期以外の通信が行われている中で実施する場合、時刻同期のための通信が、時刻同期以外の通信の完了まで待たされる可能性があるため、通信遅延が変動して正しい通信遅延を計測できない可能性がある。
これにより、通信遅延の補正が不正確になり、同期精度が低下する課題がある。
【００１６】
以下、上記課題の詳細について、図８を用いて説明する。
図８のように、遅延計測フェーズを、時刻同期と無関係な通信も行われる状況で実行する場合、同期スレーブ３００のプロトコル処理部１０１が、同期マスタ２００からの計測フレームを受信中に、制御部１０３から時刻同期と無関係なデータ（例えば、計測器からの計測結果のデータなど）の送信要求を受け、これを計測応答フレームの送信に優先して実施し始めるようなケースが想定される。
このようなケースにおける遅延計測フェーズの通信シーケンスは以下のようになる。
以下の（１）〜（９）は、図８に示す（１）〜（９）に対応する。
【００１７】
（１）同期マスタ２００の時刻同期処理部１１１は、プロトコル処理部１０１に対し、送信先として同期スレーブ３００の識別ＩＤを、送信元として自身の識別ＩＤを格納した計測フレームの送信を指示する。
（２）また、計測フレームの送信の指示と同時に、遅延計測部１１３に、所定の初期値、例えば０からの計時を指示する。
（３）同期マスタ２００のプロトコル処理部１０１は、時刻同期処理部１１１から指定された送信先および送信元を格納した計測フレームを同期スレーブ３００に送信する。
（４）同期スレーブ３００のプロトコル処理部１０１は、自身を送信先とする計測フレームの受信を開始する。
（５）ここで、同期スレーブ３００の制御部１０３が、プロトコル処理部１０１に、時刻同期と無関係なデータ（例えば、計測器からの計測結果のデータなど）を転送し、同期マスタ２００への送信を指示する。このとき、プロトコル処理部１０１が、制御部１０３からの送信の指示を、計測フレームの受信中に受理すると、制御部１０３からのデータを汎用フレームに格納し、同期マスタ２００へ送信を開始する。
（６）同期スレーブ３００の時刻同期処理部１１１は、プロトコル処理部１０１より計測フレームの受信を通知されると、プロトコル処理部１０１に対し、送信先として同期マスタ２００の識別ＩＤを、送信元として同期スレーブ３００の識別ＩＤを格納した計測応答フレームの送信を指示する。しかし、このときプロトコル処理部１０１は、制御部１０３の指示で時刻同期と無関係なフレームを送信中であるため、その送信を完了してから、計測応答フレームを送信開始する。
（７）同期スレーブ３００のプロトコル処理部１０１は、時刻同期処理部１１１から指定された送信先および送信元を格納した計測応答フレームを同期マスタ２００に送信する。
（８）同期マスタ２００のプロトコル処理部１０１は、自身を送信先とする計測応答フレームを受信完了すると、時刻同期処理部１１１に計測応答フレームの受信を通知する。
（９）同期マスタ２００の時刻同期処理部１１１は、プロトコル処理部１０１より計測応答フレームの受信を通知されると、遅延計測部１１３に、計時の停止を指示する。
【００１８】
以上の通信シーケンスから、同期マスタ２００の遅延計測部１１３が計測した時間は、計測フレームの通信時間（図８（ａ））および計測応答フレームの通信時間（図８（ｂ））に加え、時刻同期と無関係なフレームの送信によって生じた計測応答フレームの送信待ち時間（図８（ｃ）。以下、単に「計測応答フレームの送信待ち時間」と表記する）の和となる。
したがって、遅延計測部１１３が計測した時間を単純に２で割ると、計測応答フレームの送信待ち時間が含まれてしまう。
計測応答フレームの送信待ち時間は、遅延計測フェーズを実施するたびに変動するため、同期ズレ補正フェーズにおいて同期マスタと同期スレーブの時計を正確に一致させられなくなり、同期精度が低下する。
【００１９】
上記の、遅延計測部１１３が計測した時間を、数式で表現すると以下のようになる。
今、計測フレームの通信遅延と計測応答フレームの通信遅延を共にＴｒ、同期スレーブ３００における計測応答フレームの送信待ち時間をＴｅとすると、同期マスタ２００が計測する往復の通信遅延をＴｒｔとしたとき、Ｔｒｔは以下の式１で表される。
【００２０】
【数１】
0005677069.tif 000002
【００２１】
したがって、片道の通信遅延をＴｏとすると、Ｔｏを算出するためにＴｒｔを単純に２で割った場合、以下の式２のように、Ｔｏに計測応答フレームの送信待ち時間Ｔｅが含まれ、正確な片道の通信遅延時間を算出できない。
【００２２】
【数２】
0005677069.tif 000003
【００２３】
本発明は、以上のような課題を鑑みてなされたものであり、時刻同期目的の通信が行われている最中に時刻同期目的以外の通信が行われる場合でも正確に通信遅延時間を算出し、高精度の時刻同期を実現することを主な目的とする。
【課題を解決するための手段】
【００２４】
本発明に係る通信装置は、
送信元装置から送信された、通信遅延時間の算出に用いられる計測データを受信し、受信した計測データに対する応答である応答データを前記送信元装置に送信する通信部と、
前記通信部が計測データの受信を完了してから前記応答データの送信を開始するまでの時間である送信待ち時間を計測する送信待ち時間計測部と、
前記送信元装置が前記計測データを送信してから前記送信元装置が前記応答データを受信するまでの時間である往復時間と、前記送信待ち時間計測部により計測された送信待ち時間とを用いて、前記送信元装置との通信遅延時間を算出する遅延算出部とを有することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、計測データの受信完了から応答データの送信開始までの時間を計測するため、計測データの受信完了から応答データの送信開始までの間に時刻同期目的以外の通信が行われている場合であっても、時刻同期目的以外の通信に要した時間を除外して正確に通信遅延時間を算出することができるため、高精度の時刻同期を実現することができる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態１に係る通信装置の接続構成例を示す図。
【図２】実施の形態１に係る時刻同期の実施方法の概要を示す図。
【図３】実施の形態１に係る通信装置の内部構成例を示す図。
【図４】実施の形態１に係る時刻同期部の内部構成例を示す図。
【図５】実施の形態１に係るフレームのフレームフォーマット例を示す図。
【図６】実施の形態１に係る時刻同期のシーケンス例を示す図。
【図７】従来の時刻同期部の内部構成例を示す図。
【図８】従来の時刻同期のシーケンス例を示す図。
【図９】実施の形態１及び２に係る通信装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００２７】
実施の形態１．
本実施の形態では、時刻同期目的の通信が行われている最中に時刻同期目的以外の通信が行われる場合でも正確に通信遅延時間を算出し、高精度の時刻同期を実現する方式を説明する。
より具体的には、同期スレーブ３００において計測応答フレームの送信待ち時間Ｔｅを計測する手段により、Ｔｅを除いた正しい片道の通信遅延の算出を可能にし、同期精度の低下を抑止する方式を説明する。
【００２８】
本実施の形態に係る通信装置１００は２個以上の通信ポートを持ち、２台の通信装置１００が、図１のようにネットワークで接続されており、片方の通信装置１００が時刻同期の処理を開始する同期マスタ２００となり、もう片方の同期スレーブ３００と時刻同期を実施する。
なお、図２に示すように、同期マスタ２００となる通信装置１００ａにとって同期スレーブ３００となる通信装置１００ｂは送信先装置に相当し、同期スレーブ３００となる通信装置１００ｂにとって同期マスタ２００となる通信装置１００ａは送信元装置に相当する。
また、本実施の形態においても、時刻同期は、３段階のフェーズ、すなわち、遅延計測フェーズ、遅延通知フェーズ、同期ズレ補正フェーズによって実施される。
【００２９】
また、本実施の形態に係る通信装置１００の内部構成例は、図３と同様である。
本実施の形態においても、プロトコル処理部１０１は、通信装置１００が同期マスタ２００として動作する場合は、計測フレーム（計測データの例）の同期スレーブ３００への送信、計測応答フレーム（応答データの例）の同期スレーブ３００からの受信、遅延通知フレーム（往復時間通知データの例）及び補正フレームの同期スレーブ３００への送信を行う。
また、通信装置１００が同期スレーブ３００として動作する場合は、プロトコル処理部１０１は、計測フレームの同期マスタ２００からの受信、計測応答フレームの同期マスタ２００への送信、遅延通知フレーム及び補正フレームの同期マスタ２００からの受信を行う。
本実施の形態では、プロトコル処理部１０１は通信部の例である。
【００３０】
本実施の形態に係る通信装置１００は、時刻同期部１０２の内部構成のみが従来のものと異なる。
以下では、主に時刻同期部１０２の構成を説明する。
なお、本実施の形態においては、ネットワーク中にスイッチングハブを挿入しないものとする。
【００３１】
本実施の形態に係る時刻同期部１０２の内部構成例を図４に示す。
図４の時刻同期部１０２では、図７の構成と比べ、計測応答フレームの送信待ち時間を計測する送信待ち時間計測部１１６が追加される。
送信待ち時間計測部１１６は、通信装置１００が同期スレーブ３００として動作する場合に、プロトコル処理部１０１が計測フレームの受信を完了してから計測応答フレームの送信を開始するまでの時間（計測応答フレームの送信待ち時間）を計測する。
その他の構成要素は、図７と同じで、時刻同期の処理を統括する時刻同期処理部１１１と、隣接する通信装置１００間の往復の通信遅延を計測する遅延計測部１１３と、遅延計測部１１３の計測した往復の通信遅延から片道分の通信遅延を算出して記憶する遅延算出部１１５で構成される。
遅延計測部１１３は、通信装置１００が同期マスタ２００として動作する場合に、プロトコル処理部１０１が計測フレームを送信してからプロトコル処理部１０１が計測応答フレームを受信するまでの時間である往復時間を計測する。遅延計測部１１３は往復時間計測部の例である。
遅延算出部１１５は、通信装置１００が同期スレーブ３００として動作する場合に、遅延通知フレームで通知される往復時間と、送信待ち時間計測部１１６で計測された計測応答フレームの送信待ち時間とを用いて、同期マスタ２００との通信遅延時間（片道の通信遅延時間）を算出する。
時刻同期処理部１１１は、通信装置１００が同期スレーブ３００として動作する場合に、遅延算出部１１５により算出された通信遅延時間を用いて、同期マスタ２００との時刻同期を行う。時刻同期処理部１１１は時刻同期実行部の例である。
【００３２】
なお、プロトコル処理部１０１により実施される動作が通信ステップに相当し、送信待ち時間計測部１１６により実施される動作が送信待ち時間計測ステップに相当し、遅延算出部１１５により実施される動作が遅延算出ステップに相当する。
【００３３】
本実施の形態における通信装置１００間で通信されるフレームの種類および構成は、図５と同様である。
【００３４】
本実施の形態における遅延計測フェーズの通信シーケンスを図６に示す。
図６では、図８の場合と同様に、同期スレーブ３００のプロトコル処理部１０１が、同期マスタ２００からの計測フレームを受信中に、制御部１０３から時刻同期と無関係なデータ（例えば、計測器からの計測結果のデータなど）の送信要求を受け、これを計測応答フレームの送信に優先して実施し始める場合を想定している。
【００３５】
まず、図６を用いて、本実施の形態に係る時刻同期の原理の概要を説明する。
本実施の形態では、まず、図６の（５）で示すように、同期スレーブ３００のプロトコル処理部１０１は、制御部１０３から指示された時刻同期と無関係なデータの送信を開始すると、そのことを時刻同期処理部１１１に通知する。
次に、（６）で示すように、時刻同期処理部１１１は、プロトコル処理部１０１から計測フレームの受信完了を通知される。
この時、時刻同期処理部１１１は、プロトコル処理部１０１から、汎用フレームの送信開始の通知を受け、かつ、その完了の通知を受けていない状態である。
このことから、プロトコル処理部１０１がまだ汎用フレームを送信中であり、計測応答フレームの送信待ちが発生することが分かる。
そこで、時刻同期処理部１１１は、計測応答フレームの送信待ち時間を計測するため、送信待ち時間計測部１１６に計時の開始を指示する。
そして、プロトコル処理部１０１から汎用フレームの送信完了通知を受けると共に、計時を終了する。
なお、プロトコル処理部１０１では汎用フレームの送信を完了すると計測応答フレームの送信を開始するため、この汎用フレームの送信完了通知は計測応答フレームの送信開始の通知でもある。
このように、送信待ち時間計測部１１６は計測フレームの受信完了から計測応答フレームの送信開始までの時間を計時するため、計測応答フレームの送信待ち時間が分かる。
後は、遅延通知フェーズにおいて、同期スレーブ３００は、同期マスタ２００から遅延通知フレームにより、計測応答フレームの送信待ち時間を含む往復の通信遅延時間の値を教わり、その値から計測応答フレームの送信待ち時間を引けば、正確な往復の通信遅延時間が得られる。
これを２で割り、正確な片道の通信遅延時間を得ることができる。
【００３６】
以下、本実施の形態による遅延計測フェーズのシーケンスを、図６を用いて説明する。
以下の（１）〜（１０）は、図６に示す（１）〜（１０）に対応する。
【００３７】
（１）同期マスタ２００の時刻同期処理部１１１は、プロトコル処理部１０１に対し、送信先として同期スレーブ３００の識別ＩＤを、送信元として自身の識別ＩＤを格納した計測フレームの送信を指示する。
（２）また、計測フレームの送信の指示と同時に、遅延計測部１１３に、所定の初期値、例えば０からの計時を指示する。
（３）同期マスタ２００のプロトコル処理部１０１は、時刻同期処理部１１１から指定された送信先および送信元を格納した計測フレームを同期スレーブ３００に送信する。
（４）同期スレーブ３００のプロトコル処理部１０１は、自身を送信先とする計測フレームの受信を開始する。
（５）ここで、同期スレーブ３００の制御部１０３が、プロトコル処理部１０１に、時刻同期と無関係なデータ（例えば、計測器からの計測結果のデータなど）を転送し、同期マスタ２００への送信を指示する。このとき、プロトコル処理部１０１が、制御部１０３からの送信の指示を、計測フレームの受信中に受理すると、制御部１０３からのデータを汎用フレームに格納し、同期マスタ２００へ送信を開始する。それと共に、プロトコル処理部１０１は、汎用フレームの送信開始を時刻同期処理部１１１に通知する。
（６）同期スレーブ３００の時刻同期処理部１１１は、プロトコル処理部１０１より計測フレームの受信の完了を通知される。このとき、時刻同期処理部１１１は、プロトコル処理部１０１から、汎用フレームの送信開始の通知を受け、かつ、その完了の通知を受けていない状態で計測フレームの受信完了通知を受領したため、送信待ち時間計測部１１６に計時の開始を指示する。
また、同時に、プロトコル処理部１０１に対し、送信先として同期マスタ２００の識別ＩＤを、送信元として同期スレーブ３００の識別ＩＤを格納した計測応答フレームの送信を指示する。
（７）プロトコル処理部１０１は、汎用フレームの送信を完了し、時刻同期処理部１１１に汎用フレームの送信完了を通知する。これを受け、時刻同期処理部１１１は、送信待ち時間計測部１１６に計時の終了を指示する。
（８）同期スレーブ３００のプロトコル処理部１０１は、時刻同期処理部１１１から指定された送信先および送信元を格納した計測応答フレームを同期マスタ２００に送信する。
（９）同期マスタ２００のプロトコル処理部１０１は、自身を送信先とする計測応答フレームの受信を完了すると、時刻同期処理部１１１に計測応答フレームの受信を通知する。
（１０）同期マスタ２００の時刻同期処理部１１１は、プロトコル処理部１０１より計測応答フレームの受信を通知されると、遅延計測部１１３に、計時の停止を指示する。
【００３８】
次に、本実施の形態における遅延通知フェーズのシーケンスを説明する。
まず、同期マスタ２００が、遅延計測フェーズで計測した往復の通信遅延を、遅延通知フレームに格納して同期スレーブ３００に送信する。
同期スレーブ３００は、プロトコル処理部１０１が遅延通知フレームを受信し、時刻同期処理部１１１に遅延通知フレームを渡す。
時刻同期処理部１１１では、遅延通知フレームに格納されている往復の通信遅延の値を読み出すと、送信待ち時間計測部１１６からも計測応答フレームの送信待ち時間の値を読み出し、往復の通信遅延の値と計測応答フレームの送信待ち時間の値を遅延算出部１１５に渡す。
遅延算出部１１５では、以下に説明する式に従って、片道の通信遅延の値を算出し、算出値を記憶する。
同期マスタ２００が計測する往復の通信遅延をＴｒｔ、同期スレーブ３００における計測応答フレームの送信待ち時間をＴｅとしたとき、片道の通信遅延をＴｏとすると、Ｔｏを下記の式３で算出する。
【００３９】
【数３】
0005677069.tif 000004
【００４０】
以降の処理は、従来と同様であり、同期スレーブ３００の時刻同期処理部１１１が遅延算出部１１５で算出された片道の通信遅延Ｔｏを用いて、同期マスタ２００との時刻同期を行う。
具体的には、図２に示す同期ズレ補正フェーズにおいて、同期マスタ２００が、同期スレーブ３００に時計の補正を指示する補正フレームを送信すると共に、送信開始と同時に時計を所定の初期値、例えば０からスタートさせる。
一方、同期スレーブ３００は、同期マスタ２００から補正フレームを受信すると、時刻同期処理部１１１が受信完了と同時に時計部１０４を、遅延通知フェーズで算出した片道の通信遅延Ｔｏの値からスタートさせる。
【００４１】
このように、本実施の形態によれば、同期マスタが計測した往復の通信遅延時間から、時刻同期と無関係なフレームの送信によって生じた計測応答フレームの送信待ち時間を除去することができ、得られた正確な往復の通信遅延時間から正確な片道の通信遅延時間を算出することができるため、同期精度の低下を抑止することができる。
【００４２】
以上、本実施の形態では、
２台の通信装置間が全二重の通信路でデイジーチェーン接続され、前記２台の通信装置のうち１台が同期マスタとなり、もう１台の通信装置が同期スレーブとなり、前記同期マスタと前記同期スレーブとの間で時刻同期に関する通信を行う通信システムを説明した。
【００４３】
また、本実施の形態では、
前記通信装置は、
通信処理を実施するプロトコル処理部と、後述する制御部からの指示を受けて時刻同期を行い、後述する時計部を補正する時刻同期部と、時刻同期部に時刻同期を指示し、また、プロトコル処理部を介して他の前記同期マスタおよび前記複数の同期スレーブと通信する制御部と、特定の時間経過する度にパルスを出力する時計部とを備え、
前記時刻同期部は、
時刻同期の処理を統括する時刻同期処理部と、前記時刻同期部を持つ前記通信装置が同期マスタである場合に、往復の通信遅延を計測する遅延計測部と、前記時刻同期部を持つ前記通信装置が同期スレーブである場合に、前記同期マスタから前記遅延計測部によって計測した往復の通信遅延を通知され、前記通信遅延から片道分の通信遅延を算出して記憶する遅延算出部と、前記時刻同期部を持つ前記通信装置が同期スレーブである場合に、前記時刻同期処理部が時刻同期に関するパケットの送信を前記プロトコル処理部に命令してから、前記プロトコル処理部が前記時刻同期に関するパケットを送信開始するまでの時間を計測する送信待ち時間計測部とを備えることを説明した。
【００４４】
実施の形態２．
実施の形態１では、通信装置の台数を２台と想定したが、３台以上の通信装置が、デイジーチェーン接続されている形態も考えられる。
本形態において遅延計測を実施する場合、まずデイジーチェーンの末端の通信装置１台が、プロトコル処理部１０１のリンク検出機能を利用し、２個以上のポートのうち１個しか他の通信装置と接続されていないことを検出し、これをもって自身がデイジーチェーンの末端にいると判断して、同期マスタとなる。
次に、隣接する通信装置に対し、同期スレーブとなることを指示する情報をフレームに格納して送信し、これを受信した通信装置は同期スレーブとなる。
そして、これらの同期マスタと同期スレーブ間で、実施の形態１で述べた手段により時刻同期を実施する。
時刻同期の完了後、同期スレーブは同期マスタとなり、同様に隣接する通信装置に同期スレーブとなるよう指示し、時刻同期を行う。
このようにして、ネットワーク上の全ての通信装置間で時刻同期が行われる。
以上のように、本実施の形態では、プロトコル処理部１０１は、自身が含まれている通信装置１００がデイジーチェーン接続における先頭に位置しているか否かを判断し、自身が含まれている通信装置１００がデイジーチェーン接続における先頭に位置していると判断した場合に、同期マスタ２００として動作し、隣接する通信装置１００を同期スレーブ３００として動作するように指示する。
その後、実施の形態１と同様に、同期マスタ２００として動作する通信装置１００は、同期スレーブ３００である通信装置１００に計測フレームを送信する。
このように、本実施の形態では、プロトコル処理部１０１は通信部の例であるとともに、位置判断部としても機能する。
【００４５】
以上、本実施の形態では、複数の通信装置間が全二重の通信路でデイジーチェーン接続され、前記複数の通信装置のうち１台が同期マスタとなり、その他の１台の通信装置が同期スレーブとなり、前記同期マスタは前記同期スレーブとの間で時刻同期に関する通信を行う通信システムを説明した。
【００４６】
また、本実施の形態では、
前記通信装置は、
通信処理を実施するプロトコル処理部と、後述する制御部からの指示を受けて時刻同期を行い、後述する時計部を補正する時刻同期部と、時刻同期部に時刻同期を指示し、また、プロトコル処理部を介して他の前記同期マスタおよび前記複数の同期スレーブと通信する制御部と、特定の時間経過する度にパルスを出力する時計部とを備え、
前記時刻同期部は、
時刻同期の処理を統括する時刻同期処理部と、前記時刻同期部を持つ前記通信装置が同期マスタである場合に、往復の通信遅延を計測する遅延計測部と、前記時刻同期部を持つ前記通信装置が同期スレーブである場合に、前記同期マスタから前記遅延計測部によって計測した往復の通信遅延を通知され、前記通信遅延から片道分の通信遅延を算出して記憶する遅延算出部と、前記時刻同期部を持つ前記通信装置が同期スレーブである場合に、前記時刻同期処理部が時刻同期に関するパケットの送信を前記プロトコル処理部に命令してから、前記プロトコル処理部が前記時刻同期に関するパケットを送信開始するまでの時間を計測する送信待ち時間計測部とを備えることを説明した。
【００４７】
なお、実施の形態１及び２では、計測器に接続されている通信装置を例にして説明を行ったが、実施の形態１及び２に示した方式の適用の対象となる装置は、時刻同期が必要な通信装置であればどのようなものでもよく、計測器に接続されている必要はない。
【００４８】
最後に、実施の形態１及び２に示した通信装置１００のハードウェア構成例について説明する。
図９は、実施の形態１及び２に示す通信装置１００のハードウェア資源の一例を示す図である。
なお、図９の構成は、あくまでも通信装置１００のハードウェア構成の一例を示すものであり、通信装置１００のハードウェア構成は図９に記載の構成に限らず、他の構成であってもよい。
【００４９】
図９において、通信装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１などは、出力装置の一例である。
【００５０】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されるようにしてもよい。
【００５１】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００５２】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００５３】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
通信装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００５４】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００５５】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の計測」、「〜の算出」、「〜の設定」、「〜の選択」、「〜の通知」、「〜の指示」、「〜の受信」、「〜の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００５６】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１及び２で説明したフローチャートに示すステップ、手順、処理により、本発明に係るデータ処理方法を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【００５７】
このように、実施の形態１及び２に示す通信装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００５８】
１００  通信装置、１０１  プロトコル処理部、１０２  時刻同期部、１０３  制御部、１０４  時計部、１１１  時刻同期処理部、１１３  遅延計測部、１１５  遅延算出部、１１６  送信待ち時間計測部。
【図１】
0005677069.tif 000005
【図２】
0005677069.tif 000006
【図３】
0005677069.tif 000007
【図４】
0005677069.tif 000008
【図５】
0005677069.tif 000009
【図６】
0005677069.tif 000010
【図７】
0005677069.tif 000011
【図８】
0005677069.tif 000012
【図９】
0005677069.tif 000013