(57)【要約】  通信システム（５００）は、複数の通信装置（１００）を備え、複数の通信装置（１００）から時刻の基準となるグランドマスタを選出する。差分算出部（１１０）は、グランドマスタからグランドマスタの時刻を含む同期メッセージを受信すると、グランドマスタの時刻と通信装置（１００）の時刻との時刻差を算出する。補正部（１２０）は、時刻差に基づいて、予め定められた時刻補正期間の経過時に通信装置（１００）の時刻がグランドマスタの時刻に同期するように、通信装置（１００）の時刻をカウントする時刻カウンタのカウント速度を変更する。
2020059137.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置において、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出部と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正部と
を備えた通信装置。
【請求項２】
前記差分算出部は、
前記時刻差の絶対値が閾値以上か否かを判定し、
前記補正部は、
前記時刻差が前記閾値以上の場合に、前記時刻カウンタのカウント速度を変更する請求項１に記載の通信装置。
【請求項３】
前記補正部は、
前記時刻補正期間における前記時刻カウンタのカウント数であって前記通信装置の時刻が前記グランドマスタの時刻に同期するための前記時刻カウンタのカウント数と、前記時刻補正期間における前記グランドマスタの時刻カウンタのカウント数との比をカウント補正速度比として算出し、前記カウント補正速度比に基づいて前記カウント速度を変更する請求項１または２に記載の通信装置。
【請求項４】
前記補正部は、
前記同期メッセージを受信した時点から前記時刻カウンタのカウント速度の変更を開始するまでの待機時間と、前記通信装置が前記同期メッセージを受信した時刻と、前記時刻補正期間と、前記グランドマスタが前記同期メッセージを送信した時刻とを用いて、前記カウント補正速度比を算出する請求項３に記載の通信装置。
【請求項５】
前記補正部は、
前記同期メッセージを受信した時点から前記時刻カウンタのカウント速度の変更を開始するまでの待機時間ＴＦＷと、前記通信装置が前記同期メッセージを受信した時刻ｔ２と、前記時刻補正期間Δｔと、前記グランドマスタが前記同期メッセージを送信した時刻ｔ３と、前記同期メッセージが前記グランドマスタから前記通信装置に伝搬されるまでの伝搬遅延時間Ｄとを用いて、ｔ２＋ＴＦＷ＋Δｔ×ａ＝ｔ３＋ＴＦＷ＋Δｔ＋Ｄを計算することにより、前記カウント補正速度比ａを算出する請求項４に記載の通信装置。
【請求項６】
前記通信装置は、
一定間隔でカウントするフリーランカウンタを備え、
前記時刻補正期間は、
前記フリーランカウンタにより計時される期間である請求項３から請求項５のいずれか１項に記載の通信装置。
【請求項７】
前記補正部は、
前記通信装置の通信周期に前記カウント補正速度比を乗じた値を、前記時刻補正期間における通信周期として設定する請求項３から請求項６のいずれか１項に記載の通信装置。
【請求項８】
前記通信周期は、複数のタイムスロットを有し、
前記補正部は、
前記複数のタイムスロットの各々に前記カウント補正速度比を乗じた値を、前記時刻補正期間における複数のタイムスロットの各々として設定する請求項７に記載の通信装置。
【請求項９】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムにおいて、
前記通信装置は、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出部と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正部と
を備えた通信システム。
【請求項１０】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置において、
前記複数の通信装置の通信装置同士は、
時刻同期を行うタイムスロットと、制御通信を行うタイムスロットとを有する通信周期で通信し、
前記通信装置は、
前記グランドマスタの時刻に同期する同期時刻をカウントする同期時刻カウンタと、
前記制御通信に用いられる制御通信時刻をカウントする制御通信時刻カウンタと、
前記制御通信に影響がないか否かを判定し、前記制御通信に影響がないと判定されると前記制御通信時刻カウンタを前記同期時刻カウンタに同期させる補正部と
を備えた通信装置。
【請求項１１】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置の通信方法において、
差分算出部が、前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出し、
補正部が、前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する通信方法。
【請求項１２】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置の通信プログラムにおいて、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出処理と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正処理と
をコンピュータに実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、通信方法および通信プログラムに関する。特に、マスタスレーブシステムにおいて時刻同期を行う通信装置、通信システム、通信方法および通信プログラムに関する。
【背景技術】
【０００２】
ＩＥＥＥ１５８８、あるいは、ＩＥＥＥ８０２．１ＡＳのように、複数のノードから成るマスタスレーブシステムにおいて、ネットワーク上の分散クロックを同期させる時刻同期技術の規格がある。これらの規格では、ベストマスタクロックアルゴリズム（ＢＭＣＡ）により、時刻の基準となるグランドマスタを選出し、スレーブはグランドマスタから配信される時刻に同期する。稼働中のシステムにグランドマスタより高優先度のノードが新たに参入した場合、各ノードはグランドマスタを選出する調停を行い、新たに参入した高優先度のノードをグランドマスタと認識する。そして、各ノードは、新たに参入した高優先度のノードに同期する。このとき、意図していないグランドマスタの切り替えが発生する場合がある。なお、調停によるグランドマスタの選出処理を「グランドマスタ調停」と呼ぶ。【０００３】
特許文献１の技術では、タイムマスタのクロック周期に合わせるようにタイムスレーブのクロック周波数を上下することにより、時刻同期を実施することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１０９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、物理的にクロック周波数を上下しなくてはならず、時刻合わせ中に時分割通信の通信タイミングが崩れる可能性がある。【０００６】
本発明は、新規に参入した通信装置に同期する場合でも、物理的にクロック周波数を上下させることなく、時刻とびの発生を防止できる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置において、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出部と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正部とを備えた。
【発明の効果】
【０００８】
本発明に係る通信装置によれば、物理的にクロック周波数を上下させることなく、時刻とびの発生を防止できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る通信システムと比較するための通信システムの動作シーケンスを示す図。
【図２】実施の形態１に係る通信装置の構成図。
【図３】実施の形態１に係る通信装置のハードウェアの詳細構成図。
【図４】実施の形態１に係る同期制御部のハードウェアの詳細構成を示す図である。
【図５】実施の形態１に係る通信装置の動作フローを示す図。
【図６】実施の形態１に係る通信システムの動作シーケンスを示す図。
【図７】実施の形態１に係る補正処理においてタイムスロットの逓倍設定を示すシーケンス図。
【図８】実施の形態２に係る通信装置の同期制御部のハードウェアの詳細構成図。
【図９】実施の形態２に係る通信装置の動作フローを示す図。
【図１０】実施の形態２に係る通信システムの動作シーケンスを示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１１】
実施の形態１．
図１は、本実施の形態に係る通信システムと比較するための通信システム５０１の動作シーケンスを示す図である。
図１の通信システム５０１と本実施の形態に係る通信システムは、ＩＥＥＥ１５８８、あるいはＩＥＥＥ８０２．１ＡＳといった時刻同期技術の規格を採用している。これらの規格では、ＢＭＣＡを用いたグランドマスタ調停によりグランドマスタを選出し、グランドマスタ以外のスレーブはグランドマスタから配信される時刻に同期する。
図１の上段の動作シーケンスでは、通信システム５０１は優先度３の通信装置１と優先度４の通信装置２を備える。通信装置１は、通信システム５０１の時刻の基準となるグランドマスタＧＭである。通信装置１からグランドマスタ調停メッセージＡｎｎｏｕｎｃｅが通信装置２に送信され、続けて同期メッセージＳｙｎｃが送信されている。これにより、通信装置１と通信装置２の時刻同期が完了する。以下において、グランドマスタ調停メッセージＡｎｎｏｕｎｃｅを単にＡｎｎｏｕｎｃｅとして説明する場合がある。また、同期メッセージＳｙｎｃを単にＳｙｎｃとして説明する場合がある。
【００１２】
Ａｎｎｏｕｎｃｅはグランドマスタ調停を行うためのフレームである。Ｓｙｎｃはグランドマスタから発信され、通信システムの時刻同期を行うためのフレームである。図１の上段では、グランドマスタ調停が完了し、通信装置１と通信装置２の間で時刻同期が行われたことを示している。「Ｍ」はＭａｓｔｅｒＰｏｒｔを表す。ＭａｓｔｅｒＰｏｒｔは、ＡｎｎｏｕｎｃｅおよびＳｙｎｃを送信するポートである。また、「Ｓ」はＳｌａｖｅＰｏｒｔを表す。ＳｌａｖｅＰｏｒｔは、Ｓｙｎｃを受信するポートである。なお、ここでは、優先度の値は小さいほどグランドマスタになる優先度が高いことを示す。
【００１３】
図１の下段の動作シーケンスでは、通信装置１と通信装置２のグランドマスタ調停が完了した状態で、新たに通信装置３が通信システム５０１に参入する状態を示している。新規参入の通信装置３は、通信装置３の優先度２が、グランドマスタである通信装置２の優先度３より高いことを示すＡｎｎｏｕｎｃｅを送信し、グランドマスタ調停を開始する。グランドマスタ調停が完了すると、通信装置３は、自通信装置の時刻に同期させるためのＳｙｎｃを送信する。これにより、通信装置１と通信装置２では、時刻が１：００から０：３０にとんでしまう。このように時刻とびが発生すると、時分割通信を実施する制御システムにおいては、通信タイミングが崩れてしまう場合がある。また、時刻とびが発生すると、時分割通信を実施する制御システムで収集しているログ情報の前後関係が崩れてしまう場合がある。
本実施の形態では、新規参入の通信装置３がグランドマスタになることによる時刻とびの発生を防止するとともに、時刻合わせ中も時分割通信の通信タイミングを崩さない通信システムの態様について説明する。
【００１４】
通信装置がグランドマスタと同期済みであると判断する方法は次の通りである。通信装置がスレーブの場合、ＳｌａｖｅＰｏｒｔを持っている。通信装置は、一定時間以上ＳｌａｖｅＰｏｒｔが変更されなければ、一度はグランドマスタと同期したと判断する。
また、通信装置がグランドマスタの場合、通信装置がスレーブである通信装置と同期済みであると判断する方法は次の通りである。通信装置はＭａｓｔｅｒＰｏｒｔからＡｎｎｏｕｎｃｅが一定期間以上受信されなければ、ＢＭＣＡが収束してスレーブが同期していると判断する。
【００１５】
＊＊＊構成の説明＊＊＊
図２を用いて、本実施の形態に係る通信装置１００の構成を説明する。
まず、本実施の形態に係る通信システム５００は、複数の通信装置１００を備える。通信システム５００では、複数の通信装置のうちのいずれかの通信装置が、複数の通信装置の時刻の基準となるグランドマスタと設定される。また、複数の通信装置のうちのいずれかの通信装置が、グランドマスタの優先度を設定するネットワーク管理マスタと設定される。
【００１６】
通信装置１００は、コンピュータである。通信装置１００は、プロセッサ９１０を備えるとともに、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、出力インタフェース９４０、通信制御部９５０といった他のハードウェアを備える。さらに、通信装置１００は、ネットワークポート９６１，９６２、およびシステムクロック９７０といったハードウェアを備える。プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。ネットワークポート９６１，９６２、およびシステムクロック９７０について、図２に図示はないが、ネットワークポート９６１，９６２、およびシステムクロック９７０については後述する図３を用いて説明する。
【００１７】
通信装置１００は、機能要素として、差分算出部１１０と補正部１２０と調停部１３０を備える。メモリ９２１には、装置優先度２１とグランドマスタ優先度２２と閾値２３が記憶されている。
差分算出部１１０と補正部１２０と調停部１３０の機能は、ソフトウェアにより実現される。
【００１８】
プロセッサ９１０は、通信プログラムを実行する装置である。通信プログラムは、差分算出部１１０と補正部１２０と調停部１３０の機能を実現するプログラムである。
プロセッサ９１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１９】
メモリ９２１は、データを一時的に記憶する記憶装置である。メモリ９２１の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、あるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９２２は、データを保管する記憶装置である。補助記憶装置９２２の具体例は、ＨＤＤである。また、補助記憶装置９２２は、ＳＤ（登録商標）メモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。なお、ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。ＳＤ（登録商標）は、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略語である。ＣＦは、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）の略語である。ＤＶＤは、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略語である。
【００２０】
入力インタフェース９３０は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース９３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
出力インタフェース９４０は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子またはＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２１】
通信プログラムは、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。メモリ９２１には、通信プログラムだけでなく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。プロセッサ９１０は、ＯＳを実行しながら、通信プログラムを実行する。通信プログラムおよびＯＳは、補助記憶装置９２２に記憶されていてもよい。補助記憶装置９２２に記憶されている通信プログラムおよびＯＳは、メモリ９２１にロードされ、プロセッサ９１０によって実行される。なお、通信プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２２】
通信装置１００は、プロセッサ９１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、通信プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ９１０と同じように、通信プログラムを実行する装置である。
【００２３】
通信プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ９２１、補助記憶装置９２２、または、プロセッサ９１０内のレジスタあるいはキャッシュメモリに記憶される。
【００２４】
差分算出部１１０と補正部１２０と調停部１３０の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また差分算出処理と補正処理と調停処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
通信プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、通信方法は、通信装置１００が通信プログラムを実行することにより行われる方法である。
通信プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、通信プログラムは、プログラムプロダクトとして提供されてもよい。
【００２５】
図３は、本実施の形態に係る通信装置１００のハードウェアの詳細構成を示す図である。図４は、本実施の形態に係る同期制御部１５のハードウェアの詳細構成を示す図である。図３および図４を用いて、図２で説明したハードウェアについて、さらに詳しく説明する。
プロセッサ９１０、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、および出力インタフェース９４０は、マイクロコンピュータ９００に備えられる。
通信制御部９５０は、割り込み制御部１１、送信部１２、時分割制御部１３、受信部１４、同期制御部１５、データ調停部１６、およびネットワークインタフェース１７，１８を備える。ネットワークインタフェース１７は、ネットワークポート９６１に接続される。ネットワークインタフェース１８は、ネットワークポート９６２に接続される。
【００２６】
割り込み制御部１１は、プロセッサ９１０への割り込みの出力、および割り込みのマスク制御を行う。
送信部１２は、通信フレームの生成を行う。また、送信部１２は、時分割制御部１３よりタイミングが入力され、送信起動の制御を行う。
【００２７】
時分割制御部１３は、通信装置１００の通信周期とタイムスロットを管理する。時分割制御部１３は、同期制御部１５より入力された時刻に基づき、通信周期とタイムスロットの制御を行う。マイクロコンピュータ９００は、時刻補正時に通信周期とタイムスロット長の設定値を算出する。そして、時分割制御部１３は、マイクロコンピュータ９００により算出された通信周期とタイムスロット長の設定値を取得し、時刻同期中の通信タイミングを制御する。
【００２８】
受信部１４は、フレームの受信処理を行う。受信部１４は、同期フレーム、すなわち同期メッセージから時刻情報を抽出する。
【００２９】
同期制御部１５は、フリーランカウンタ１５１、カウント制御部１５２、および時刻カウンタ１５３を備える。フリーランカウンタ１５１は、一定間隔、たとえば１［ｓｅｃ］間隔でカウントするカウンタであり、補正されることのないカウンタである。時刻カウンタ１５３は、グランドマスタと同期して通信装置１００の時刻をカウントする。フリーランカウンタ１５１は、時刻の刻みを時刻カウンタ１５３に入力する。
同期制御部１５は、フリーランカウンタ１５１および時刻カウンタ１５３により時刻の計測を行う。カウント制御部１５２は、マイクロコンピュータ９００から時刻カウンタ１５３の進みの速度の設定値を取得する。カウント制御部１５２は、フリーランカウンタ１５１から入力されたカウント値と、時刻カウンタ１５３の進みの速度の設定値とに基づいて、時刻カウンタ１５３の進みを加減する。同期制御部１５は、時分割制御部１３に時刻カウンタ値を出力する。また、同期制御部１５は、同期フレームの送信時刻と受信時刻の保持を行う。
【００３０】
データ調停部１６は、通信フレームの送信調停を行う。また、データ調停部１６は、時分割制御部１３より入力されたタイムスロット情報に基づき、中継制御を行う。また、データ調停部１６は、受信したフレームの種別の判定を行う。また、データ調停部１６は、同期フレームの受信および送信を同期制御部１５に通知する。
【００３１】
ネットワークインタフェース１７，１８は、同期フレームの送信および受信を同期制御部１５に通知する。また、ネットワークインタフェース１７，１８は、送信するフレームをネットワークポート９６１，９６２に転送する。ネットワークインタフェース１７，１８は、ネットワークポート９６１，９６２から受信したフレームをデータ調停部１６に転送する。
ネットワークポート９６１，９６２は、ネットワークに接続される物理ポートである。
システムクロック９７０は、発振器により通信制御部９５０および内部バスにクロック信号を入力する。
【００３２】
＊＊＊動作の説明＊＊＊
図５は、本実施の形態に係る通信装置１００の動作フローを示す図である。
図６は、本実施の形態に係る通信システム５００の動作シーケンスを示す図である。
図５および図６を用いて、本実施の形態に係る通信システム５００の通信装置１００の動作について説明する。図５および図６において、ステップの番号は対応する。
【００３３】
図６において、通信システム５００は、複数の通信装置を備える。複数の通信装置は、通信装置１、通信装置２、および通信装置３である。通信装置３は、新規に通信システム５００に参入した装置である。ここでは、通信装置１と通信装置２の各々を通信装置１００として説明する。
【００３４】
ステップＳ１１において、通信システム５００は、グランドマスタ調整を実行する。通信システム５００が有する通信装置１００の調停部１３０により行われる。
図６のステップＳ１１は、通信システム５００における時刻の基準となるグランドマスタを選出するグランドマスタ調停の処理である。通信装置１からグランドマスタ調停メッセージＡｎｎｏｕｎｃｅが送信される。Ａｎｎｏｕｎｃｅは、グランドマスタを選出するために用いられるメッセージである。Ａｎｎｏｕｎｃｅには、グランドマスタの候補となる通信装置の優先度がパラメータとして含まれる。ここでは、Ａｎｎｏｕｎｃｅには、通信装置１の優先度が３であることが設定されている。続いて、通信装置１から、同期メッセージＳｙｎｃが送信される。ここでは、通信装置２は、通信装置１をグランドマスタＧＭと認識しているため、通信装置１に時刻同期する。次に、通信装置２は、新規参入の通信装置３に通信装置１の優先度が３であることを含むＡｎｎｏｕｎｃｅを送信する。通信装置３は、自通信装置、すなわち通信装置３の優先度が２であることを含むＡｎｎｏｕｎｃｅを送信する。グランドマスタ調停が完了すると、優先度が最も高い通信装置３がグランドマスタＧＭに選出される。
【００３５】
通信装置３がグランドマスタＧＭに選出されると、通信装置１００は、同期フレームＳｙｎｃの受信待機状態となる。
【００３６】
ステップＳ１２において、通信装置１００の差分算出部１１０は、グランドマスタからグランドマスタの時刻を含むＳｙｎｃを受信すると、グランドマスタの時刻と通信装置１００の時刻との時刻差を算出する。具体的には、差分算出部１１０は、グランドマスタから配信されたＳｙｎｃに基づいて、グランドマスタの時刻と自通信装置の時刻との時刻差を算出する。図６の例では、通信装置１００の差分算出部１１０は、グランドマスタＧＭから配信されたＳｙｎｃに設定された時刻から以下のように時刻差を算出する。
通信装置１と通信装置２は、グランドマスタＧＭである通信装置３から送信されたＳｙｎｃを受信する。通信装置１と通信装置２は、通信装置３との時刻差を求める。ｔ１を通信装置１の時刻、ｔ２を通信装置２の時刻、およびｔ３を通信装置３の時刻とする。
＜通信装置２と通信装置３の時刻差Ｔ２＞＝ｔ３−ｔ２＝０：３０−１：００＝−３０［ｍｉｎ］
＜通信装置１と通信装置３の時刻差Ｔ１＞＝ｔ３−ｔ１＝０：３０−１：００＝−３０［ｍｉｎ］
【００３７】
ステップＳ１３において、差分算出部１１０は、時刻差の絶対値が閾値２３以上であるか否かを判定する。時刻差の絶対値が閾値２３以上の場合、処理はステップＳ１４に進む。時刻差の絶対値が閾値２３以上であることは、グランドマスタの時刻に同期した場合に、通信タイミングあるいはログの前後関係が崩れる可能性があることを意味する。一方、時刻差の絶対値が閾値２３より小さい場合、ステップＳ１８に進む。時刻差の絶対値が閾値２３より小さいことは、グランドマスタの時刻に同期しても問題無いことを意味する。よって、ステップＳ１８において、差分算出部１１０は、通信装置１００の時刻をグランドマスタの時刻に同期させ、処理を終了する。
【００３８】
図６において、閾値２３が１５［ｍｉｎ］であるとする。この場合、時刻差Ｔ１および時刻差Ｔ２のどちらも絶対値が閾値２３以上である。よって、次のステップＳ１４に進む。
【００３９】
ステップＳ１４において、通信装置１００の補正部１２０は、時刻差に基づいて、予め定められた時刻補正期間Δｔの経過時に通信装置１００の時刻がグランドマスタＧＭの時刻に同期するように、時刻カウンタのカウント速度を変更する。
補正部１２０は、時刻補正期間Δｔにおける時刻カウンタのカウント数と、時刻補正期間Δｔにおけるグランドマスタの時刻カウンタのカウント数との比をカウント補正速度比ａとして算出する。なお、時刻補正期間Δｔにおける時刻カウンタのカウント数とは、時刻補正期間Δｔの経過時に通信装置１００の時刻がグランドマスタＧＭの時刻に同期するための時刻カウンタのカウント数である。そして、補正部１２０は、カウント補正速度比ａに基づいてカウント速度を変更する。補正部１２０は、Ｓｙｎｃを受信した時点から時刻カウンタのカウント速度の変更を開始するまでの待機時間ＴＦＷと、通信装置１００がＳｙｎｃを受信した時刻と、時刻補正期間Δｔと、グランドマスタがＳｙｎｃを送信した時刻とを用いて、カウント補正速度比ａを算出する。カウント補正速度比ａは、通信装置１００の時刻をグランドマスタの時刻に、時刻補正期間Δｔで追いつかせるために用いられる。
【００４０】
補正部１２０は、待機時間ＴＦＷと、通信装置２がＳｙｎｃを受信した時刻ｔ２と、時刻補正期間Δｔと、グランドマスタがＳｙｎｃを送信した時刻ｔ３と、伝搬遅延時間Ｄとを用いて式１を計算することにより、カウント補正速度比ａを算出する。
【００４１】
（式１）ｔ２＋ＴＦＷ＋Δｔ×ａ＝ｔ３＋ＴＦＷ＋Δｔ＋Ｄ
Δｔは、通信装置１００が備えているフリーランカウンタにより計時される。フリーランカウンタは常に一定間隔でカウントするカウンタであり同期しない。
Ｄは、Ｓｙｎｃがグランドマスタから通信装置に伝搬されるまでの伝搬遅延時間である。なお、図６では、Ｄは０と近似している。
ＴＦＷは、Ｓｙｎｃを受信した時点から時刻カウンタのカウント速度の変更を開始するまでの待機時間である。マイクロコンピュータ９００が、待機時間ＴＦＷの期間内に上記の式１の計算を完了するように、予め待機時間ＴＦＷが設定される。
なお、時刻補正期間Δｔを予め決めておく理由は、時刻差によって、時刻カウンタのカウント速度の加速あるいは減速を判断するためである。通信装置１００の時刻がグランドマスタより遅れている場合は、時刻を加速する。また、通信装置１００の時刻がグランドマスタより進んでいる場合は減速する。図６の例では、通信装置１００の時刻１：００が、グランドマスタＧＭの時刻０：３０より進んでいるため、通信装置１００は、時刻を減速する。
【００４２】
図６において、Δｔ＝２０００［ｓｅｃ］とする。式１に図６の具体例を代入すると以下となる。
１：００＋２０００×ａ＝０：３０＋２０００＋Ｄ
１：００＋３３：２０×ａ＝０：３０＋３３：２０
１：００＋２０００ａ＝１：００＋２００
ａ＝１／１０
【００４３】
ステップＳ１５において、補正部１２０は、Ｓｙｎｃを受信してからＴＦＷ経過後に、ステップＳ１４で算出したカウント補正速度比ａを用いて、時刻補正期間Δｔの間、時刻を補正する。補正部１２０は、カウント補正速度比ａを用いて、時刻カウンタのカウント速度を変更することにより時刻を補正する。補正部１２０は、現在のカウント速度にカウント補正速度比ａを乗じた速さで時刻カウンタをカウントすることにより時刻を補正する。
【００４４】
また、補正部１２０は、通信装置１００の通信周期にカウント補正速度比ａを乗じた値を、時刻補正期間Δｔにおける通信周期として設定する。通信周期は、複数のタイムスロットを有する。補正部１２０は、複数のタイムスロットの各々のタイムスロット長にカウント補正速度比ａを乗じた値を、時刻補正期間Δｔにおけるタイムスロット長として設定する。
【００４５】
図６の例では、補正部１２０は、Ｓｙｎｃを受信してからＴＦＷ経過後に、時刻カウンタのカウント速度をカウント補正速度比１／１０にして、時刻補正期間Δｔの間カウントする。つまり、補正部１２０は、フリーランカウンタが１０カウントすると１［ｓｅｃ］経過したとして時刻をカウントする。通信装置１についても同様の計算を行う。
【００４６】
図６では、通信装置１００は、ＴＦＷ＝１５［ｍｉｎ］として時刻１：１５から時刻カウンタのカウント速度の減速を開始する。通信装置１００は、カウント減速をフリーランカウンタでΔｔ＝２０００［ｓｅｃ］の間、実行する。この時、時分割制御を行っている制御システムにおいて、補正部１２０は、通信周期とタイムスロット長の値を１／１０倍の値に設定する。時刻カウンタの速度を１／１０にしてカウント減速を行うと、スレーブである通信装置１００の通信周期はグランドマスタが認識している通信周期に対して相対的に長くなり、通信タイミングがずれる虞がある。そこで、通信タイミングのずれを防ぐために、補正部１２０は、時刻補正期間の間、通信周期とタイムスロット長の値を１／１０倍する処理を行う。
【００４７】
ステップＳ１６において、補正部１２０は、フリーランカウンタで時刻補正期間の経過後、時刻カウンタのカウント速度を元に戻す。図６の例では、補正部１２０は、フリーランカウンタで２０００［ｓｅｃ］経過後、すなわち、時刻カウンタで２００［ｓｅｃ］経過後に、時刻カウンタのカウント速度を元に戻す。通信装置１および通信装置２は、時刻１：１８：２０で通信装置３と同期する。
【００４８】
図７は、本実施の形態に係る補正処理においてタイムスロットの逓倍設定を示すシーケンス図である。
図７では、１通信周期に、時刻合わせタイムスロットＴＳ０と、制御通信タイムスロットＴＳ１とを有する。時刻合わせタイムスロットＴＳ０は、時刻合わせ、すなわち時刻同期用のタイムスロットである。制御通信タイムスロットＴＳ１は、通信システム５００である制御システムにおける制御を実行する制御通信用のタイムスロットである。図５のステップＳ１４において、補正部１２０は、カウント補正速度比ａを算出すると、カウント補正速度比ａに基づいて時刻補正期間Δｔにおける通信周期とタイムスロット長を事前に計算しておいてもよい。通信周期とタイムスロット長を事前に計算する処理は、ファームウェア処理で行ってもよい。このとき、ステップＳ１６において、補正部１２０は、時刻補正期間Δｔにおける通信周期とタイムスロット長を、事前に算出した値に変更する。具体的には、カウント補正速度比が１／１０倍ならば、通信周期とタイムスロット長は１／１０に設定される。
【００４９】
ただし、任意のタイミングで通信周期とタイムスロット長が変更できない場合は、補正部１２０は、時刻補正期間Δｔが通信周期の逓倍になるように、時刻補正期間Δｔを設定する。もしくは、補正部１２０は、タイムスロット長のずれが許容誤差以内となるように、時刻補正期間Δｔを設定する。なお、任意のタイミングで通信周期とタイムスロット長が変更できないとは、通信周期とタイムスロット長の設定値が実際の動作に反映されるタイミングが決まっている場合である。例えば、通信周期の開始のタイミングで通信周期およびタイムスロット長のレジスタ値を読み込み、実際の動作に反映するような場合である。このような場合、時刻補正期間Δｔを通信周期の逓倍にして、変更完了のタイミングと通信周期の開始のタイミングを揃えないと、制御通信のタイミングが崩れてしまう虞がある。そこで、補正部１２０は、時刻補正期間Δｔが通信周期の逓倍になるように、時刻補正期間Δｔを設定する。
【００５０】
＊＊＊他の構成＊＊＊
本実施の形態では、時刻カウンタのカウント速度を単純に変更していた。しかし、桁によって処理を変えてもよい。たとえば、グランドマスタとの時刻差が年、月、および日にち単位のずれの場合、Ｓｙｎｃを受信すると補正部は即時に時刻を補正するようにしてもよい。また、数秒単位のずれの場合、補正部は時刻カウンタのカウント速度を変更することにより時刻補正してもよい。また、ミリ秒単位以下のずれの場合、時刻補正はハードウェアで行うようにしてもよい。また、上記の式１はクロックの水晶偏差補正、すなわちクロック周波数比の分の補正と、伝搬遅延時間とを考慮して計算するとより好ましい。また、時刻補正期間中の通信周期とタイムスロットの変更タイミングを設計する必要がある。
【００５１】
本実施の形態では、差分算出部１１０と補正部１２０と調停部１３０の機能がソフトウェアで実現される。変形例として、差分算出部１１０と補正部１２０と調停部１３０の機能がハードウェアで実現されてもよい。
通信装置１００は、図２および図３のプロセッサ９１０に替えて電子回路を備えていてもよい。電子回路は、差分算出部１１０と補正部１２０と調停部１３０の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。
差分算出部１１０と補正部１２０と調停部１３０の機能は、１つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、差分算出部１１０と補正部１２０と調停部１３０の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
【００５２】
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、通信装置１００において、差分算出部１１０と補正部１２０と調停部１３０の機能は、プロセッシングサーキットリにより実現される。
【００５３】
＊＊＊本実施の形態の効果の説明＊＊＊
本実施の形態に係る通信システム５００によれば、時刻カウンタのカウンタ値の加減値、すなわちカウントの進みの速度を調整することにより、時刻とびを発生させることなく時刻補正が可能になる。
また、本実施の形態に係る通信システム５００では、タイムスロット長と通信周期の設定値をカウントの進みの速度に合わせて逓倍または分周の長さに自動設定する。よって、本実施の形態に係る通信システム５００によれば、稼動中の通信タイミングを崩さずに時刻同期を実施できる。また、本実施の形態に係る通信システム５００によれば、時刻とびが発生しないため、ログ情報の前後関係を維持できる。
【００５４】
実施の形態２．
本実施の形態では、主に、実施の形態１と異なる点について説明する。なお、実施の形態１と同様の構成には同一の符号を付し、その説明を省略する場合がある。
【００５５】
＊＊＊構成の説明＊＊＊
図８は、本実施の形態に係る通信装置１００ａの同期制御部１５ａのハードウェアの詳細構成を示す図である。
本実施の形態では、複数の通信装置の通信装置同士は、時刻同期を行うタイムスロット、すなわち時刻同期用タイムスロットＴＳ０と、制御通信を行うタイムスロット、すなわち制御通信用タイムスロットＴＳ１とを有する通信周期で通信する。
同期制御部１５ａは、フリーランカウンタ１５１、時刻更新制御部１５４、制御通信時刻カウンタ１５６、および同期時刻カウンタ１５７を有する。制御通信時刻カウンタ１５６は、制御通信に用いられる制御通信時刻をカウントする。同期時刻カウンタ１５７は、グランドマスタの時刻に同期する同期時刻をカウントする。時分割制御部１３は、制御通信時刻カウンタ１５６のカウンタ値を取得し、通信周期とタイムスロット長を制御する。時刻更新制御部１５４は、通信周期とタイムスロット長が崩れないタイミングで制御通信時刻カウンタ１５６を同期時刻カウンタ１５７と同期させる。時刻更新制御部１５４は、同期時刻カウンタ１５７の更新後、制御通信時刻カウンタ１５６の同期タイミングを算出し、制御通信時刻カウンタ１５６と同期時刻カウンタ１５７に同期開始を通知する。さらに、時刻更新制御部１５４は、ログ情報に時刻が更新したこと認識するための情報を付加する。
【００５６】
時刻同期用タイムスロットＴＳ０で時刻同期のプロトコルを実施する。そして、同期時刻カウンタ１５７をグランドマスタの時刻に同期させる。制御通信時刻カウンタ１５６が通信周期とタイムスロット長の管理を行う。同期時刻カウンタ１５７の同期完了後、通信周期の開始と同時に、制御通信時刻カウンタ１５６の値を同期時刻カウンタ１５７の値に同期する。この手法により、通信周期を維持しつつ時刻同期を実施することができる。
補正部１２０は、制御通信に影響がないか否かを判定し、制御通信に影響がないと判定されると、時刻更新制御部１５４を介して制御通信時刻カウンタ１５６を同期時刻カウンタ１５７に同期させる。また、補正部１２０は、時刻更新時にログ情報に時刻が更新されたことを認識するための情報を付加し、ログ情報の前後関係を崩さないようにする。
【００５７】
＊＊＊動作の説明＊＊＊
図９は、本実施の形態に係る通信装置１００ａの動作フローを示す図である。
図１０は、本実施の形態に係る通信システム５００ａの動作シーケンスを示す図である。
図９および図１０を用いて、本実施の形態に係る通信システム５００ａの通信装置１００ａの動作について説明する。図９および図１０において、ステップの番号は対応する。
【００５８】
図１０において、通信システム５００ａは、複数の通信装置を備える。複数の通信装置は、通信装置１、通信装置２、および通信装置３である。通信装置３は、新規に通信システム５００ａに参入した装置である。ここでは、通信装置１と通信装置２の各々を通信装置１００ａとして説明する。なお、図１０では、通信装置３がグランドマスタＧＭに選定されている。
【００５９】
ステップＳ２１において、グランドマスタＧＭである通信装置３が同期メッセージＳｙｎｃを送信する。図１０において、通信装置３がＳｙｎｃを送信する時点では、通信装置３の時刻ｔ３＝０：３０であり、通信装置１および通信装置２の時刻ｔ１＝ｔ２＝１：００である。
Ｓｙｎｃを受信すると、通信装置１００ａの補正部１２０は、時刻合わせタイムスロットＴＳ０において、時刻更新制御部１５４により、同期時刻カウンタ１５７をグランドマスタＧＭと同期させる。このとき、制御通信時刻カウンタ１５６は現在時刻のままとする。図１０の例では、同期時刻カウンタ１５７は１：００から０：３０となる。制御通信時刻カウンタ１５６は１：００のままである。図１０の例では、通信周期を１５［ｍｉｎ］とする。
【００６０】
ステップＳ２２において、補正部１２０は、時刻合わせタイムスロットＴＳ０において、時刻更新制御部１５４により、Ｓｙｎｃを受信した時刻からの経過時間を算出し、次の通信周期までカウントする。図１０の例では、補正部１２０は、Ｓｙｎｃを受信した時刻１：００から、次の通信周期の開始タイミング１：３０までを算出する。
ステップＳ２２の処理は、グランドマスタＧＭである通信装置３に時刻を合わせるために、Ｓｙｎｃの受信時刻１：００から時刻補正タイミングである１：３０までの３０分間を測定する。この経過時間の測定によって、通信装置３のＳｙｎｃ送信時刻が０：３０であるため、通信装置１および通信装置２にとっての時刻補正タイミング１：３０のときの通信装置３の時刻はＳｙｎｃを送信してから３０分後の１：００であることがわかる。
【００６１】
次に、ステップＳ２２１において、補正部１２０は、制御通信に影響がないタイミングか否かを判定する。制御通信に影響がないタイミングと判定されると、ステップＳ２３に進む。制御通信に影響があるタイミングと判定されると、ステップＳ２２に戻る。
制御通信に影響がないタイミングとは、例えば、通信周期の開始のタイミングである。図１０の例では、Ｓｙｎｃを受信した時刻から２周期分後の通信周期の開始のタイミングを、制御通信に影響がないタイミングとしている。なお、制御通信に影響がないと判定するタイミングは、任意の通信周期の開始タイミングで構わない。
【００６２】
ステップＳ２３において、補正部１２０は、次の周期の時刻合わせタイムスロットＴＳ０において、時刻更新制御部１５４により、制御通信時刻カウンタ１５６を同期時刻カウンタ１５７に同期させる。図１０の例では、制御通信時刻カウンタの１：３０を１：００に上書きする。
ステップＳ２４において、補正部１２０は、次の周期の時刻合わせタイムスロットＴＳ０において、時刻更新制御部１５４により、時刻補正後であることをログ情報に付加する。
【００６３】
本実施の形態に係る通信装置１００ａによれば、時刻を変更前と変更後の２種類保持しておき、時刻合わせタイムスロットＴＳ０で時刻補正を行う。通信装置１００は、同期時刻カウンタと制御通信時刻カウンタの２つの時刻を持ち、タイムスロットの制御は制御通信時刻カウンタで行う。時刻合わせタイムスロットＴＳ０の時に同期時刻カウンタを同期させる。また、タイムスロットの切り替え直後のタイミングに制御通信時刻カウンタも補正する。時刻合わせタイムスロットＴＳ０の期間で、通信周期が同期後の時刻に対応するように調整する。
【００６４】
同期用時刻カウンタ、通信制御用時刻カウンタを設け同期用時刻カウンタを時刻同期用のタイムスロットで同期させ、通信制御用時刻カウンタを通信周期の開始と同時に同期用時刻カウンタと同期させることで、通信周期とタイムスロット長を維持しつつ時刻同期を実施できる。
時刻更新回数を保持しておき、ログ情報と紐付けることで、時刻とびが発生してもログ情報の前後関係を維持できる。
【００６５】
以上の実施の形態１および２では、通信装置の各部を独立した機能ブロックとして説明した。しかし、通信装置の構成は、上述した実施の形態のような構成でなくてもよい。通信装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、通信装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態１および２のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、１つの部分を実施しても構わない。その他、これらの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態１および２では、実施の形態の自由な組み合わせ、あるいは実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
【００６６】
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
【符号の説明】
【００６７】
１１  割り込み制御部、１２  送信部、１３  時分割制御部、１４  受信部、１５，１５ａ  同期制御部、１６  データ調停部、１７，１８  ネットワークインタフェース、２１  装置優先度、２２  グランドマスタ優先度、２３  閾値、１００，１００ａ  通信装置、１１０  差分算出部、１２０  補正部、１３０  調停部、１５１  フリーランカウンタ、１５２  カウント制御部、１５３  時刻カウンタ、１５４  時刻更新制御部、１５６  制御通信時刻カウンタ、１５７  同期時刻カウンタ、５００，５００ａ，５０１  通信システム、９００  マイクロコンピュータ、９１０  プロセッサ、９２１  メモリ、９２２  補助記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５０  通信制御部、９６１，９６２  ネットワークポート、９７０  システムクロック、ａ  カウント補正速度比、Ａｎｎｏｕｎｃｅ  グランドマスタ調停メッセージ、Ｓｙｎｃ  同期メッセージ、ＧＭ  グランドマスタ。
【図１】
2020059137.tif 000003
【図２】
2020059137.tif 000004
【図３】
2020059137.tif 000005
【図４】
2020059137.tif 000006
【図５】
2020059137.tif 000007
【図６】
2020059137.tif 000008
【図７】
2020059137.tif 000009
【図８】
2020059137.tif 000010
【図９】
2020059137.tif 000011
【図１０】
2020059137.tif 000012
【手続補正書】
【提出日】令和2年9月7日(2020.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置において、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出部と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正部と
を備え、
前記補正部は、
前記時刻補正期間における前記時刻カウンタのカウント数であって前記通信装置の時刻が前記グランドマスタの時刻に同期するための前記時刻カウンタのカウント数と、前記時刻補正期間における前記グランドマスタの時刻カウンタのカウント数との比をカウント補正速度比として算出し、前記カウント補正速度比に基づいて前記カウント速度を変更する通信装置。
【請求項２】
前記差分算出部は、
前記時刻差の絶対値が閾値以上か否かを判定し、
前記補正部は、
前記時刻差が前記閾値以上の場合に、前記時刻カウンタのカウント速度を変更する請求項１に記載の通信装置。
【請求項３】
前記補正部は、
前記同期メッセージを受信した時点から前記時刻カウンタのカウント速度の変更を開始するまでの待機時間と、前記通信装置が前記同期メッセージを受信した時刻と、前記時刻補正期間と、前記グランドマスタが前記同期メッセージを送信した時刻とを用いて、前記カウント補正速度比を算出する請求項１または請求項２に記載の通信装置。
【請求項４】
前記補正部は、
前記同期メッセージを受信した時点から前記時刻カウンタのカウント速度の変更を開始するまでの待機時間ＴＦＷと、前記通信装置が前記同期メッセージを受信した時刻ｔ２と、前記時刻補正期間Δｔと、前記グランドマスタが前記同期メッセージを送信した時刻ｔ３と、前記同期メッセージが前記グランドマスタから前記通信装置に伝搬されるまでの伝搬遅延時間Ｄとを用いて、ｔ２＋ＴＦＷ＋Δｔ×ａ＝ｔ３＋ＴＦＷ＋Δｔ＋Ｄを計算することにより、前記カウント補正速度比ａを算出する請求項３に記載の通信装置。
【請求項５】
前記通信装置は、
一定間隔でカウントするフリーランカウンタを備え、
前記時刻補正期間は、
前記フリーランカウンタにより計時される期間である請求項１から請求項４のいずれか１項に記載の通信装置。
【請求項６】
前記補正部は、
前記通信装置の通信周期に前記カウント補正速度比を乗じた値を、前記時刻補正期間における通信周期として設定する請求項１から請求項５のいずれか１項に記載の通信装置。
【請求項７】
前記通信周期は、複数のタイムスロットを有し、
前記補正部は、
前記複数のタイムスロットの各々に前記カウント補正速度比を乗じた値を、前記時刻補正期間における複数のタイムスロットの各々として設定する請求項６に記載の通信装置。
【請求項８】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムにおいて、
前記通信装置は、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出部と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正部と
を備え、
前記補正部は、
前記時刻補正期間における前記時刻カウンタのカウント数であって前記通信装置の時刻が前記グランドマスタの時刻に同期するための前記時刻カウンタのカウント数と、前記時刻補正期間における前記グランドマスタの時刻カウンタのカウント数との比をカウント補正速度比として算出し、前記カウント補正速度比に基づいて前記カウント速度を変更する通信システム。
【請求項９】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置の通信方法において、
差分算出部が、前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出し、
補正部が、前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する通信方法であって、
前記補正部は、
前記時刻補正期間における前記時刻カウンタのカウント数であって前記通信装置の時刻が前記グランドマスタの時刻に同期するための前記時刻カウンタのカウント数と、前記時刻補正期間における前記グランドマスタの時刻カウンタのカウント数との比をカウント補正速度比として算出し、前記カウント補正速度比に基づいて前記カウント速度を変更する通信方法。
【請求項１０】
複数の通信装置を備えた通信システムであって、前記複数の通信装置から前記複数の通信装置の時刻の基準となるグランドマスタを選出する通信システムに含まれる通信装置の通信プログラムにおいて、
前記グランドマスタから前記グランドマスタの時刻を含む同期メッセージを受信すると、前記グランドマスタの時刻と前記通信装置の時刻との時刻差を算出する差分算出処理と、
前記時刻差に基づいて、予め定められた時刻補正期間の経過時に前記通信装置の時刻が前記グランドマスタの時刻に同期するように、前記通信装置の時刻をカウントする時刻カウンタのカウント速度を変更する補正処理と
をコンピュータに実行させる通信プログラムであって、
前記補正処理は、
前記時刻補正期間における前記時刻カウンタのカウント数であって前記通信装置の時刻が前記グランドマスタの時刻に同期するための前記時刻カウンタのカウント数と、前記時刻補正期間における前記グランドマスタの時刻カウンタのカウント数との比をカウント補正速度比として算出し、前記カウント補正速度比に基づいて前記カウント速度を変更する通信プログラム。
【国際調査報告】
2020059137.tif 000013
2020059137.tif 000014
2020059137.tif 000015
2020059137.tif 000016