IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

<>
  • 特許-時刻保持回路 図1
  • 特許-時刻保持回路 図2
  • 特許-時刻保持回路 図3
  • 特許-時刻保持回路 図4
  • 特許-時刻保持回路 図5
  • 特許-時刻保持回路 図6
  • 特許-時刻保持回路 図7
  • 特許-時刻保持回路 図8
  • 特許-時刻保持回路 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】時刻保持回路
(51)【国際特許分類】
   H04L 7/00 20060101AFI20241004BHJP
【FI】
H04L7/00 990
【請求項の数】 3
(21)【出願番号】P 2021018643
(22)【出願日】2021-02-09
(65)【公開番号】P2022121763
(43)【公開日】2022-08-22
【審査請求日】2023-04-04
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】今野 拓
(72)【発明者】
【氏名】今村 剛
【審査官】竹内 亨
(56)【参考文献】
【文献】国際公開第2012/035629(WO,A1)
【文献】特開2005-311697(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00-7/10
(57)【特許請求の範囲】
【請求項1】
時刻カウント値を有する時刻カウンタと、
第1の値から第2の値の範囲で変化する制御カウント値を有しており、前記時刻カウント値がインクリメントされる毎に前記制御カウント値がインクリメントされ、前記制御カウント値が前記第2の値に到達した次のタイミングで、前記制御カウント値が前記第1の値にリセットされる制御カウンタと、
送信パケットが送信されたタイミングでの前記制御カウント値を第1の制御カウント値として保持する第1の保持回路と、
受信パケットが受信されたタイミングでの前記制御カウント値を第2の制御カウント値として保持する第2の保持回路と、
前記制御カウント値が前記第1の値にリセットされる1つ前のタイミングでの前記時刻カウント値を演算用時刻カウント値として保持する第3の保持回路と、
前記送信パケットが送信されたタイミングより後で前記制御カウント値が最初にリセットされるタイミングでの前記演算用時刻カウント値を第1の演算用時刻カウント値、
前記受信パケットが受信されたタイミングより後で前記制御カウント値が最初にリセットされるタイミングでの前記演算用時刻カウント値を第2の演算用時刻カウント値とし、
前記送信パケットの送信時刻として、前記第1の制御カウント値と前記第1の演算用時刻カウント値との和と、前記第2の値との差分を算出し、前記受信パケットの受信時刻として、前記第2の制御カウント値と前記第2の演算用時刻カウント値との和と、前記第2の値との差分を算出する演算回路と
を備えた時刻保持回路。
【請求項2】
前記第1の保持回路は、
前記送信パケットが送信されたタイミングで第1のパルスを出力する第1のパルス出力回路から、前記第1のパルスが出力されたとき、前記制御カウンタが有している制御カウント値を第1の制御カウント値として保持し、
前記第2の保持回路は、
前記受信パケットが受信されたタイミングで第2のパルスを出力する第2のパルス出力回路から、前記第2のパルスが出力されたとき、前記制御カウンタが有している制御カウント値を第2の制御カウント値として保持することを特徴とする請求項1記載の時刻保持回路。
【請求項3】
前記制御カウンタの代わりに、ビット取出回路を備え、
前記ビット取出回路は、前記時刻カウンタが有する時刻カウント値を表している複数のビットの中から、前記制御カウンタが有する制御カウント値として、1つ以上のビットを取り出し、取り出したビットが表す値を保持することを特徴とする請求項1記載の時刻保持回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、時刻保持回路に関するものである。
【背景技術】
【0002】
従来より、マスタ装置とネットワークを介して接続されているスレーブ装置が、マスタ装置との時刻同期を図る技術(以下「時刻同期技術」という)がある。
当該時刻同期技術では、スレーブ装置がパケットをマスタ装置に送信したとき、当該パケットが、スレーブ装置から送信されてからマスタ装置に到達までに要する時間である到達遅延時間が、スレーブ装置によって測定される。スレーブ装置は、マスタ装置のクロック周波数とスレーブ装置のクロック周波数との比と、当該到達遅延時間とを用いて、マスタ装置との時刻同期を実現する。
当該到達遅延時間については、スレーブ装置が、4つの時刻t1,t2,t3,t4から求めることができる。時刻t1は、スレーブ装置が第1のパケットをマスタ装置に送信したときのスレーブ装置内時刻である。時刻t2は、マスタ装置が第1のパケットを受信したときのマスタ装置内時刻である。時刻t3は、マスタ装置が、時刻t2及び時刻t3のそれぞれを含む第2のパケットをスレーブ装置に送信したときのマスタ装置内時刻である。時刻t4は、スレーブ装置が第2のパケットを受信したときのスレーブ装置内時刻である。
【0003】
ところで、4つの時刻t1,t2,t3,t4の代わりに、送信時刻、送信カウント値、受信時刻及び受信カウント値を用いて、マスタ装置との時刻同期を図るスレーブ装置が特許文献1に開示されている。当該送信時刻は、マスタ装置がSyncフレームを送信するタイミングでの時刻であり、当該送信カウント値は、マスタ装置が有するスレーブカウンタのカウント値である。当該受信時刻は、スレーブ装置がSyncフレームを受信した時刻であり、当該受信カウント値は、スレーブ装置が有するスレーブカウンタのカウント値である。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2019/003320号
【発明の概要】
【発明が解決しようとする課題】
【0005】
スレーブ装置内時刻及びマスタ装置内時刻のそれぞれは、一般的に、ナノ秒以下の精度で数十年分の時刻を表現できるように、100ビット程度の時刻カウント値で表される。したがって、従来のスレーブ装置は、マスタ装置との時刻同期に用いる到達遅延時間を算出するために、100ビット程度の時刻カウント値で表される、4つの時刻t1,t2,t3,t4を保持することが可能な記憶領域を確保する必要があるという課題があった。
特許文献1に開示されているスレーブ装置においても、100ビット程度の時刻カウント値で表される、送信カウント値及び受信カウント値を保持することが可能な記憶領域を確保する必要があり、また、送信時刻及び受信時刻を保持することが可能な記憶領域を確保する必要がある。
【0006】
本開示は、上記のような課題を解決するためになされたもので、100ビット程度の時刻カウント値については1つ保持するだけで、到達遅延時間の算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出することができる時刻保持回路を得ることを目的とする。
【課題を解決するための手段】
【0007】
本開示に係る時刻保持回路は、時刻カウント値を有する時刻カウンタと、第1の値から第2の値の範囲で変化する制御カウント値を有しており、時刻カウント値がインクリメントされる毎に制御カウント値がインクリメントされ、制御カウント値が第2の値に到達した次のタイミングで、制御カウント値が第1の値にリセットされる制御カウンタと、送信パケットが送信されたタイミングでの制御カウント値を第1の制御カウント値として保持する第1の保持回路と、受信パケットが受信されたタイミングでの制御カウント値を第2の制御カウント値として保持する第2の保持回路と、制御カウント値が第1の値にリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する第3の保持回路と、送信パケットが送信されたタイミングより後で制御カウント値が最初にリセットされるタイミングでの演算用時刻カウント値を第1の演算用時刻カウント値、受信パケットが受信されたタイミングより後で制御カウント値が最初にリセットされるタイミングでの演算用時刻カウント値を第2の演算用時刻カウント値とし、送信パケットの送信時刻として、第1の制御カウント値と第1の演算用時刻カウント値との和と、第2の値との差分を算出し、受信パケットの受信時刻として、第2の制御カウント値と第2の演算用時刻カウント値との和と、第2の値との差分を算出する演算回路とを備えるものである。
【発明の効果】
【0008】
本開示によれば、100ビット程度の時刻カウント値については1つ保持するだけで、到達遅延時間の算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出することができる。
【図面の簡単な説明】
【0009】
図1】マスタ装置1及びスレーブ装置2-1を含むシステムを示す構成図である。
図2】実施の形態1に係る時刻保持回路5を示す構成図である。
図3】時刻保持回路5における時刻算出動作を示すタイミングチャートである。
図4】マスタ装置1及びスレーブ装置2-1~2-3を含むシステムを示す構成図である。
図5】実施の形態2に係る時刻保持回路5を示す構成図である。
図6】時刻保持回路5における時刻算出動作を示すタイミングチャートである。
図7】マスタ装置1及びスレーブ装置2-1,2-2を含むシステムを示す構成図である。
図8】実施の形態3に係る時刻保持回路5を示す構成図である。
図9】時刻保持回路5における時刻算出動作を示すタイミングチャートである。
【発明を実施するための形態】
【0010】
以下、本開示をより詳細に説明するために、本開示を実施するための形態について、添付の図面に従って説明する。
【0011】
実施の形態1.
図1は、マスタ装置1及びスレーブ装置2-1を含むシステムを示す構成図である。
図1に示すシステムでは、スレーブ装置2-1がマスタ装置1との時刻同期を実現する。
マスタ装置1とスレーブ装置2-1とは、イーサネット(Ethernet)等のネットワークで接続されている。
マスタ装置1とスレーブ装置2-1とは、時刻情報を含むEthernetフレームを送受信する。時刻情報が示す時刻は、例えば、ナノ秒以下の精度で数十年分の時刻を表現できるように、100ビット程度のカウント値で表されている。
マスタ装置1は、時刻カウンタを有している。時刻カウンタは、ナノ秒以下の精度で数十年分の時刻を表現できるように、100ビット程度のカウント値を有している。
スレーブ装置2-1は、マスタ装置1との時刻同期を図るために、第1のパルス出力回路3、第2のパルス出力回路4、時刻保持回路5及び時刻同期回路6を含んでいる。
図1に示すシステムでは、スレーブ装置2-1が、第1のパルス出力回路3、第2のパルス出力回路4、時刻保持回路5及び時刻同期回路6を含んでいる。しかし、これは一例に過ぎず、マスタ装置1が、第1のパルス出力回路3、第2のパルス出力回路4、時刻保持回路5及び時刻同期回路6を含んでいるものであってもよい。
【0012】
第1のパルス出力回路3は、スレーブ装置2-1の送信部が、Ethernetフレームとして、送信パケットを送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
第2のパルス出力回路4は、マスタ装置1から送信されたEthernetフレームが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
時刻保持回路5は、到達遅延時間MLDの算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出する。
時刻同期回路6は、送信パケットの送信時刻及び受信パケットの受信時刻を用いて、到達遅延時間MLDを算出する。
時刻同期回路6は、到達遅延時間MLDを用いて、マスタ装置1との時刻同期を実現する。
【0013】
図2は、実施の形態1に係る時刻保持回路5を示す構成図である。
図2に示す時刻保持回路5は、入力ポート11-1,11-2、時刻カウンタ12、制御カウンタ13、第1の保持回路14、第2の保持回路15、第3の保持回路16及び演算回路17を備えている。
【0014】
入力ポート11-1は、第1のパルス出力回路3から出力された第1のパルスを受け付けるためのポートである。
入力ポート11-1により受け付けられた第1のパルスは、第1の保持回路14に与えられる。
入力ポート11-2は、第2のパルス出力回路4から出力された第2のパルスを受け付けるためのポートである。
入力ポート11-2により受け付けられた第2のパルスは、第2の保持回路15に与えられる。
【0015】
時刻カウンタ12は、時刻カウント値を有しており、時刻カウント値を第3の保持回路16に出力する。時刻カウント値は、例えば、ナノ秒以下の精度で数十年分の時刻を表現できるように、100程度のビットで表されている。
【0016】
制御カウンタ13は、第1の値から第2の値の範囲で変化する制御カウント値を有している。第1の値は、例えば0であり、第2の値は、例えば4である。
制御カウンタ13が有する制御カウント値は、時刻カウンタ12が有している時刻カウント値がインクリメントされる毎にインクリメントされる。
制御カウンタ13が有する制御カウント値は、第2の値に到達した次のタイミングで、第1の値にリセットされる。
制御カウンタ13は、制御カウント値を第1の保持回路14、第2の保持回路15、第3の保持回路16、演算回路17のそれぞれに出力する。
【0017】
第1の保持回路14は、スレーブ装置2-1から送信パケットが送信されたタイミングでの制御カウント値を第1の制御カウント値として保持する。
即ち、第1の保持回路14は、入力ポート11-1から第1のパルスが出力されたとき、制御カウンタ13が有している制御カウント値を第1の制御カウント値として保持する。
第1の保持回路14は、保持した第1の制御カウント値を演算回路17に出力する。
【0018】
第2の保持回路15は、スレーブ装置2-1により受信パケットが受信されたタイミングでの制御カウント値を第2の制御カウント値として保持する。
即ち、第2の保持回路15は、入力ポート11-2から第2のパルスが出力されたとき、制御カウンタ13が有している制御カウント値を第2の制御カウント値として保持する。
第2の保持回路15は、保持した第2の制御カウント値を演算回路17に出力する。
【0019】
第3の保持回路16は、制御カウンタ13が有している制御カウント値が第1の値にリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する。
第3の保持回路16は、保持した演算用時刻カウント値を演算回路17に出力する。
【0020】
演算回路17は、セレクタ18及び演算器19を備えている。
演算回路17は、送信パケットの送信時刻として、第1の保持回路14から出力された第1の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算回路17は、受信パケットの受信時刻として、第2の保持回路15から出力された第2の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
【0021】
セレクタ18は、制御カウンタ13が有している制御カウント値が例えば第1の値であるとき、第1の保持回路14から出力された第1の制御カウント値を演算器19に出力する。
セレクタ18は、制御カウンタ13が有している制御カウント値が例えば第1の値+1であるとき、第2の保持回路15から出力された第2の制御カウント値を演算器19に出力する。
【0022】
演算器19は、送信パケットの送信時刻として、セレクタ18から出力された第1の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算器19は、受信パケットの受信時刻として、セレクタ18から出力された第2の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算器19は、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを時刻同期回路6に出力する。
【0023】
次に、図1に示すシステムの動作について説明する。
図3は、時刻保持回路5における時刻算出動作を示すタイミングチャートである。
スレーブ装置2-1は、マスタ装置1との時刻同期を図る際、送信パケットが、スレーブ装置2-1から送信されてからマスタ装置1に到達までに要する時間である到達遅延時間MLDを算出する。
以下、スレーブ装置2-1による到達遅延時間MLDの算出処理を具体的に説明する。
【0024】
スレーブ装置2-1の送信部は、到達遅延時間MLDを算出する際に送信パケットをマスタ装置1に送信する。
マスタ装置1は、スレーブ装置2-1から送信された送信パケットを受信すると、自己が有している時刻カウンタから、送信パケットを受信した時刻t2を示すカウント値を取得する。
マスタ装置1は、時刻t2を示すカウント値を含む応答パケットをスレーブ装置2-1に返信する。当該応答パケットには、時刻t2を示すカウント値のほかに、応答パケットを返信した時刻t3を示すカウント値を含んでいる。
【0025】
スレーブ装置2-1の第1のパルス出力回路3は、スレーブ装置2-1の送信部が送信パケットを送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
スレーブ装置2-1の第2のパルス出力回路4は、マスタ装置1から送信された応答パケットが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
【0026】
時刻保持回路5の入力ポート11-1は、第1のパルス出力回路3から第1のパルスを受けると、第1のパルスを第1の保持回路14に出力する。
時刻保持回路5の入力ポート11-2は、第2のパルス出力回路4から第2のパルスを受けると、第2のパルスを第2の保持回路15に出力する。
【0027】
第1の保持回路14は、入力ポート11-1から第1のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第1の制御カウント値として保持する。
図2に示す時刻保持回路5では、制御カウンタ13が有する制御カウント値が、0→1→2→3→4→0→・・・4→0→・・・のように遷移する。
図3の例では、制御カウント値が“1”のとき、入力ポート11-1から第1のパルスが出力されているため、第1の保持回路14には、第1の制御カウント値として“1”が保持される。
第1の保持回路14は、保持した第1の制御カウント値を演算回路17のセレクタ18に出力する。
【0028】
第2の保持回路15は、入力ポート11-2から第2のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第2の制御カウント値として保持する。
図3の例では、制御カウント値が“4”のとき、入力ポート11-2から第2のパルスが出力されているため、第2の保持回路15には、第2の制御カウント値として“4”が保持される。
第2の保持回路15は、保持した第2の制御カウント値を演算回路17のセレクタ18に出力する。
【0029】
時刻カウンタ12は、時刻カウント値を有しており、時刻カウント値を第3の保持回路16に出力する。時刻情報が示す時刻は、100ビット程度の時刻カウント値で表されている。
図2に示す時刻保持回路5では、時刻カウンタ12が有する時刻カウント値が、n+0→n+1→n+2→・・・→n+18のように遷移する。
【0030】
第3の保持回路16は、制御カウンタ13が有している制御カウント値が第1の値にリセットされたとき、制御カウント値がリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する。
即ち、第3の保持回路16は、制御カウンタ13が有している制御カウント値が“0”にリセットされたとき、制御カウント値が“4”であるときの時刻カウント値を演算用時刻カウント値として保持する。
図3の例では、制御カウント値が“4”のときの時刻カウント値は、“n+1”、“n+6”、“n+11”、“n+16”であるため、制御カウント値が“0”にリセットされたときに、“n+1”、“n+6”、“n+11”、“n+16”の時刻カウント値のそれぞれが、順番に、演算用時刻カウント値として第3の保持回路16に保持される。
第3の保持回路16は、保持した演算用時刻カウント値を演算回路17の演算器19に出力する。
【0031】
セレクタ18は、第1の制御カウント値が第1の保持回路14に保持されてから、制御カウンタ13が有している制御カウント値が最初に“0”になるタイミングで、第1の制御カウント値である“1”を演算器19に出力する。
即ち、セレクタ18は、制御カウンタ13が有している制御カウント値が“0”になり、第3の保持回路16が、演算用時刻カウント値として、“n+6”を保持するタイミングのとき、第1の保持回路14から出力された第1の制御カウント値である“1”を演算器19に出力する。
演算器19は、送信パケットの送信時刻t1として、以下の式(1)に示すように、セレクタ18から出力された第1の制御カウント値である“1”と第3の保持回路16から出力された演算用時刻カウント値である“n+6”との和と、第2の値である“4”との差分を算出する。
t1=1+(n+6)-4=n+3 (1)
演算器19は、送信パケットの送信時刻t1を示すカウント値を時刻同期回路6に出力する。
【0032】
セレクタ18は、第2の制御カウント値が第2の保持回路15に保持されてから、制御カウンタ13が有している制御カウント値が最初に“1”になるタイミングで、第2の制御カウント値である“4”を演算器19に出力する。
即ち、セレクタ18は、制御カウンタ13が有している制御カウント値が“1”になり、第3の保持回路16が、演算用時刻カウント値として、“n+6”を保持しているとき、第2の保持回路15から出力された第2の制御カウント値である“4”を演算器19に出力する。
演算器19は、受信パケットの受信時刻t4として、以下の式(2)に示すように、セレクタ18から出力された第2の制御カウント値である“4”と第3の保持回路16から出力された演算用時刻カウント値である“n+6”との和と、第2の値である“4”との差分を算出する。
t4=4+(n+6)-4=n+6 (2)
演算器19は、受信パケットの受信時刻t4を示すカウント値を時刻同期回路6に出力する。
【0033】
時刻同期回路6は、演算器19から、送信パケットの送信時刻t1を示すカウント値が出力されると、送信時刻t1を示すカウント値を内部メモリに格納する。
時刻同期回路6は、演算器19から、受信パケットの受信時刻t4を示すカウント値が出力されると、受信パケットの受信時刻t4を示すカウント値を取得し、内部メモリから、送信時刻t1を示すカウント値を取得する。また、時刻同期回路6は、スレーブ装置2-1の受信部により受信された応答パケットに含まれている、時刻t2を示すカウント値及び時刻t3を示すカウント値のそれぞれを取得する。
【0034】
時刻同期回路6は、以下の式(3)に示すように、送信時刻t1、受信時刻t2、送信時刻t3及び受信時刻t4を用いて、到達遅延時間MLDを算出する。

式(3)及び式(4)において、NRRは、マスタ装置1におけるクロック周波数とスレーブ装置2-1におけるクロック周波数との比である。t3’は、上記の送信パケットよりも、一定時間前に、スレーブ装置2-1の送信部から、当該送信パケットと同様の送信パケットが、マスタ装置1に送信されたときに、マスタ装置1が、送信パケットに対する応答パケットをスレーブ装置2-1に送信したときの時刻である。時刻t3’を示す時刻カウント値は、当該応答パケットに含まれている。また、t4’は、スレーブ装置2-1の受信部が、当該応答パケットを受信した時刻であり、式(2)を用いて算出される。
時刻同期回路6は、到達遅延時間MLDを用いて、マスタ装置1との時刻同期を実現する。
到達遅延時間MLDを用いて、マスタ装置1との時刻同期を実現する処理自体は、公知の技術であるため詳細な説明を省略する。
【0035】
以上の実施の形態1では、時刻カウント値を有する時刻カウンタ12と、第1の値から第2の値の範囲で変化する制御カウント値を有しており、時刻カウント値がインクリメントされる毎に制御カウント値がインクリメントされ、制御カウント値が第2の値に到達した次のタイミングで、制御カウント値が第1の値にリセットされる制御カウンタ13と、送信パケットが送信されたタイミングでの制御カウント値を第1の制御カウント値として保持する第1の保持回路14と、受信パケットが受信されたタイミングでの制御カウント値を第2の制御カウント値として保持する第2の保持回路15と、制御カウント値が第1の値にリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する第3の保持回路16と、送信パケットの送信時刻として、第1の制御カウント値と演算用時刻カウント値との和と、第2の値との差分を算出し、受信パケットの受信時刻として、第2の制御カウント値と演算用時刻カウント値との和と、第2の値との差分を算出する演算回路17とを備えるように、時刻保持回路5を構成した。したがって、時刻保持回路5は、100ビット程度の時刻カウント値については1つ保持するだけで、到達遅延時間の算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出することができる。
【0036】
ここでの100ビット程度の時刻カウント値は、第3の保持回路16により保持されている演算用時刻カウント値のみである。第1の保持回路14により保持されている第1の制御カウント値及び第2の保持回路15により保持されている第2の制御カウント値のそれぞれは、3ビットで表されるものである。
時刻同期回路6の内部メモリは、演算器19から、送信時刻t1を示すカウント値が出力されてから、受信パケットの受信時刻t4を示すカウント値が出力されるまでの間、送信時刻t1を示すカウント値を保持しておく必要がある。
したがって、スレーブ装置2-1の全体では、演算用時刻カウント値と、送信時刻t1を示すカウント値とを保持するための記憶領域を確保する必要がある。ただし、当該記憶領域は、従来のスレーブ装置が、4つの時刻t1,t2,t3,t4を保持するために確保する必要がある記憶領域の約半分である。
【0037】
図1に示すシステムでは、スレーブ装置2-1がマスタ装置1との時刻同期を実現している。しかし、これは一例に過ぎず、例えば、図4に示すように、複数のスレーブ装置2-1~2-3がマスタ装置1との時刻同期を実現するようにしてもよい。
図4は、マスタ装置1及びスレーブ装置2-1~2-3を含むシステムを示す構成図である。
スレーブ装置2-2がマスタ装置1との時刻同期を実現する場合、スレーブ装置2-2は、送信パケットを、スレーブ装置2-1を介して、マスタ装置1に送信し、マスタ装置1から送信された応答パケットを、スレーブ装置2-1を介して、受信する必要がある。
また、スレーブ装置2-3がマスタ装置1との時刻同期を実現する場合、スレーブ装置2-3は、送信パケットを、スレーブ装置2-1を介して、マスタ装置1に送信し、マスタ装置1から送信された応答パケットを、スレーブ装置2-1を介して、受信する必要がある。
このため、スレーブ装置2-1は、入力ポート11-1,11-2のほかに、スレーブ装置2-2との送受信に係る2つの入力ポートと、スレーブ装置2-3との送受信に係る2つの入力ポートとを備える必要がある。
また、スレーブ装置2-1は、第1の保持回路14のほかに、スレーブ装置2-2に送信する送信パケットに係る第1の保持回路と、スレーブ装置2-3に送信する送信パケットに係る第1の保持回路とを備える必要がある。
また、スレーブ装置2-1は、第2の保持回路15のほかに、スレーブ装置2-2からの受信パケットに係る第2の保持回路と、スレーブ装置2-3からの受信パケットに係る第2の保持回路とを備える必要がある。
即ち、スレーブ装置2-1は、6つの入力ポートと、3つの第1の保持回路と、3つの第2の保持回路とを備える必要がある。
【0038】
実施の形態2.
実施の形態2では、制御カウンタ13の代わりに、ビット取出回路20を備える時刻保持回路5について説明する。
【0039】
実施の形態2に係る時刻保持回路5を含むスレーブ装置2-1とマスタ装置1とを備えるシステムの構成は、実施の形態1に係るシステムの構成と同様であり、実施の形態2に係るシステムを示す構成図は、図1である。
図5は、実施の形態2に係る時刻保持回路5を示す構成図である。図5において、図2と同一符号は同一又は相当部分を示すので説明を省略する。
ビット取出回路20は、時刻カウンタ12が有する時刻カウント値を表している複数のビットの中から、制御カウンタ13が有する制御カウント値として、1つ以上のビットを取り出し、取り出したビットが表す値を保持する。取り出したビットが表す値は、第1の値から第2の値の範囲で変化するものである。また、取り出したビットが表す値は、時刻カウント値がインクリメントされる毎にインクリメントされる。当該ビットが表す値が第2の値に到達した次のタイミングで、当該ビットが表す値は、第1の値にリセットされる。
ビット取出回路20は、取り出したビットが表す値である制御カウント値を第1の保持回路14、第2の保持回路15及びセレクタ18のそれぞれに出力する。
【0040】
ビット取出回路20により取り出されるビットの数は、入力ポート11-1,11-2の数の2のべき乗であればよく、任意の数とすることができる。
図5に示す時刻保持回路5では、入力ポート11-1,11-2の数が2つであるため、ビット取出回路20により取り出されるビットの数は、例えば、1つであってもよいし、2つであってもよいし、4つであってもよい。
ビット取出回路20により取り出されるビットの数が1つである場合、ビット取出回路20により取り出されるビットは、時刻カウント値を表している複数のビットの中の最下位ビットである。この場合、ビット取出回路20から、最下位ビットが表す“0”、又は、“1”が出力される。
ビット取出回路20により取り出されるビットの数が2つである場合、ビット取出回路20により取り出されるビットは、時刻カウント値を表している複数のビットの中の下位2ビットである。この場合、ビット取出回路20から、下位2ビットが表す“0”、“1”、“2”、又は、“3”が出力される。
ビット取出回路20により取り出されるビットの数が3つである場合、ビット取出回路20により取り出されるビットは、時刻カウント値を表している複数のビットの中の下位3ビットである。この場合、ビット取出回路20から、下位2ビットが表す“0”、“1”、“2”、“3”、“4”、“5”、“6”、又は、“7”、が出力される。
図6は、時刻保持回路5における時刻算出動作を示すタイミングチャートである。
図6では、ビット取出回路20によって、“0”、“1”、“2”、又は、“3”を表すビットが取り出される例を示している。
【0041】
次に、スレーブ装置2-1の動作について説明する。
スレーブ装置2-1の送信部は、到達遅延時間MLDを算出する際に送信パケットをマスタ装置1に送信する。
マスタ装置1は、スレーブ装置2-1から送信された送信パケットを受信すると、自己が有している時刻カウンタから、送信パケットを受信した時刻t2を示すカウント値を取得する。
マスタ装置1は、時刻t2を示すカウント値を含む応答パケットをスレーブ装置2-1に返信する。当該応答パケットには、時刻t2を示すカウント値のほかに、応答パケットを返信した時刻t3を示すカウント値を含んでいる。
【0042】
スレーブ装置2-1の第1のパルス出力回路3は、スレーブ装置2-1の送信部が送信パケットを送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
スレーブ装置2-1の第2のパルス出力回路4は、マスタ装置1から送信された応答パケットが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
【0043】
時刻保持回路5の入力ポート11-1は、第1のパルス出力回路3から第1のパルスを受けると、第1のパルスを第1の保持回路14に出力する。
時刻保持回路5の入力ポート11-2は、第2のパルス出力回路4から第2のパルスを受けると、第2のパルスを第2の保持回路15に出力する。
【0044】
第1の保持回路14は、入力ポート11-1から第1のパルスが出力されたときに、ビット取出回路20により取り出されたビットが表す値を第1の制御カウント値として保持する。
図5に示す時刻保持回路5では、ビット取出回路20により取り出されたビットが表す値が、0→1→2→3→0→・・・3→0→・・・のように遷移する。この場合、第1の値は、“0”であり、第2の値は、“3”である。
図6の例では、ビット取出回路20により取り出されたビットが表す値が“1”のとき、入力ポート11-1から第1のパルスが出力されているため、第1の保持回路14には、第1の制御カウント値として“1”が保持される。
第1の保持回路14は、保持した第1の制御カウント値を演算回路17のセレクタ18に出力する。
【0045】
第2の保持回路15は、入力ポート11-2から第2のパルスが出力されたときに、ビット取出回路20により取り出されたビットが表す値を第2の制御カウント値として保持する。
図6の例では、ビット取出回路20により取り出されたビットが表す値が“0”のとき、入力ポート11-2から第2のパルスが出力されているため、第2の保持回路15には、第2の制御カウント値として“0”が保持される。
第2の保持回路15は、保持した第2の制御カウント値を演算回路17のセレクタ18に出力する。
【0046】
時刻カウンタ12は、時刻カウント値を有しており、時刻カウント値を第3の保持回路16及びビット取出回路20のそれぞれに出力する。
図5に示す時刻保持回路5では、時刻カウンタ12が有する時刻カウント値が、n+0→n+1→n+2→・・・→n+18のように遷移する。
【0047】
第3の保持回路16は、ビット取出回路20により取り出されたビットが表す値が“0”にリセットされたとき、ビットが表す値が“0”にリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する。
即ち、第3の保持回路16は、ビット取出回路20により取り出されたビットが表す値が“0”にリセットされたとき、当該ビットが表す値が“3”であるときの時刻カウント値を演算用時刻カウント値として保持する。
図6の例では、ビットが表す値が“3”のときの時刻カウント値は、“n+1”、“n+5”、“n+9”、“n+13”であるため、制御カウント値が“0”にリセットされたときに、“n+1”、“n+5”、“n+9”、“n+13”の時刻カウント値のそれぞれが、順番に、演算用時刻カウント値として第3の保持回路16に保持される。
第3の保持回路16は、保持した演算用時刻カウント値を演算回路17の演算器19に出力する。
【0048】
セレクタ18は、第1の制御カウント値が第1の保持回路14に保持されてから、ビット取出回路20により取り出されたビットが表す値が最初に“0”になるタイミングで、第1の制御カウント値である“1”を演算器19に出力する。
即ち、セレクタ18は、ビット取出回路20により取り出されたビットが表す値が“0”になり、第3の保持回路16が、演算用時刻カウント値として、“n+5”を保持するタイミングのとき、第1の保持回路14から出力された第1の制御カウント値である“1”を演算器19に出力する。
演算器19は、送信パケットの送信時刻t1として、以下の式(5)に示すように、セレクタ18から出力された第1の制御カウント値である“1”と第3の保持回路16から出力された演算用時刻カウント値である“n+5”との和と、第2の値である“3”との差分を算出する。
t1=1+(n+5)-3=n+3 (5)
演算器19は、送信パケットの送信時刻t1を示すカウント値を時刻同期回路6に出力する。
【0049】
セレクタ18は、第1の制御カウント値が第2の保持回路15に保持されてから、ビット取出回路20により取り出されたビットが表す値が2番目に“1”になるタイミングで、第2の制御カウント値である“0”を演算器19に出力する。
即ち、セレクタ18は、ビット取出回路20により取り出されたビットが表す値が“1”になり、第3の保持回路16が、演算用時刻カウント値として、“n+9”を保持しているとき、第2の保持回路15から出力された第2の制御カウント値である“0”を演算器19に出力する。
演算器19は、受信パケットの受信時刻t4として、以下の式(6)に示すように、セレクタ18から出力された第2の制御カウント値である“0”と第3の保持回路16から出力された演算用時刻カウント値である“n+9”との和と、第2の値である“3”との差分を算出する。
t4=0+(n+9)-3=n+6 (6)
演算器19は、受信パケットの受信時刻t4を示すカウント値を時刻同期回路6に出力する。
【0050】
時刻同期回路6は、演算器19から、送信パケットの送信時刻t1を示すカウント値が出力されると、送信時刻t1を示すカウント値を内部メモリに格納する。
時刻同期回路6は、演算器19から、受信パケットの受信時刻t4を示すカウント値が出力されると、受信パケットの受信時刻t4を示すカウント値を取得し、内部メモリから、送信時刻t1を示すカウント値を取得する。また、時刻同期回路6は、スレーブ装置2-1の受信部により受信された応答パケットに含まれている、時刻t2を示すカウント値及び時刻t3を示すカウント値のそれぞれを取得する。
【0051】
時刻同期回路6は、上記の式(3)に示すように、送信時刻t1、受信時刻t2、送信時刻t3及び受信時刻t4を用いて、到達遅延時間MLDを算出する。
時刻同期回路6は、到達遅延時間MLDを用いて、マスタ装置1との時刻同期を実現する。
【0052】
以上の実施の形態2では、制御カウンタ13の代わりに、ビット取出回路20を備えるように、図5に示す時刻保持回路5を構成した。ビット取出回路20は、時刻カウンタ12が有する時刻カウント値を表している複数のビットの中から、制御カウンタ13が有する制御カウント値として、1つ以上のビットを取り出し、取り出したビットが表す値を保持する。したがって、図5に示す時刻保持回路5は、図2に示す時刻保持回路5と同様に、100ビット程度の時刻カウント値については1つ保持するだけで、到達遅延時間の算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出することができる。
【0053】
実施の形態3.
実施の形態3では、入力ポート11-1,11-2、第1の保持回路14、第2の保持回路15及び演算回路17を2セット備える時刻保持回路5について説明する。
【0054】
図7は、マスタ装置1-1,1-2及びスレーブ装置2-1を含むシステムを示す構成図である。
マスタ装置1-1,1-2は、時刻カウンタを有している。時刻カウンタは、ナノ秒以下の精度で数十年分の時刻を表現できるように、100ビット程度のカウント値を有している。
図7に示すシステムでは、スレーブ装置2-1が、例えば、マスタ装置1-1、又は、マスタ装置1-2との時刻同期を実現する。
ここでは、スレーブ装置2-1が、マスタ装置1-1、又は、マスタ装置1-2との時刻同期を実現する例を説明する。しかし、これは一例に過ぎず、例えば、スレーブ装置2-1が、マスタ装置1-1との時刻同期を実現し、かつ、マスタ装置1-2との時刻同期を実現するものであってもよい。また、スレーブ装置2-1が、マスタ装置1-1、又は、スレーブ装置2-1以外のスレーブ装置との時刻同期を実現するものであってもよい。
図7に示すシステムでは、スレーブ装置2-1が、第1のパルス出力回路3、第2のパルス出力回路4、第1のパルス出力回路3’、第2のパルス出力回路4’、時刻保持回路5及び時刻同期回路6を含んでいる。
【0055】
第1のパルス出力回路3’は、スレーブ装置2-1の送信部が、Ethernetフレームとして、送信パケットをマスタ装置1-2に送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
第2のパルス出力回路4’は、マスタ装置1-2から送信されたEthernetフレームが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
【0056】
図8は、実施の形態3に係る時刻保持回路5を示す構成図である。図8において、図2と同一符号は同一又は相当部分を示すので説明を省略する。
図8に示す時刻保持回路5は、入力ポート11-1,11-2、時刻カウンタ12、制御カウンタ13、第1の保持回路14、第2の保持回路15、第3の保持回路16及び演算回路17を備えている。
また、図8に示す時刻保持回路5は、入力ポート11-1’,11-2’、第1の保持回路14’、第2の保持回路15’及び演算回路17’を備えている。
時刻カウンタ12、制御カウンタ13及び第3の保持回路16は、2セットにおいて、共通に使用される。
【0057】
入力ポート11-1’は、第1のパルス出力回路3’から出力された第1のパルスを受け付けるためのポートである。
入力ポート11-1’により受け付けられた第1のパルスは、第1の保持回路14’に与えられる。
入力ポート11-2’は、第2のパルス出力回路4’から出力された第2のパルスを受け付けるためのポートである。
入力ポート11-2’により受け付けられた第2のパルスは、第2の保持回路15’に与えられる。
【0058】
第1の保持回路14’は、スレーブ装置2-1の送信部から送信パケットが送信されたタイミングでの制御カウント値を第1の制御カウント値として保持する。
即ち、第1の保持回路14’は、入力ポート11-1から第1のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第1の制御カウント値として保持する。
第1の保持回路14’は、保持した第1の制御カウント値を演算回路17’に出力する。
【0059】
第2の保持回路15’は、スレーブ装置2-1の受信部により受信パケットが受信されたタイミングでの制御カウント値を第2の制御カウント値として保持する。
即ち、第2の保持回路15’は、入力ポート11-2’から第2のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第2の制御カウント値として保持する。
第2の保持回路15’は、保持した第2の制御カウント値を演算回路17’に出力する。
【0060】
演算回路17’は、セレクタ18’及び演算器19’を備えている。
演算回路17’は、送信パケットの送信時刻として、第1の保持回路14’から出力された第1の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算回路17’は、受信パケットの受信時刻として、第2の保持回路15’から出力された第2の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
【0061】
セレクタ18’は、制御カウンタ13が有している制御カウント値が例えば第1の値であるとき、第1の保持回路14’から出力された第1の制御カウント値を演算器19’に出力する。
セレクタ18’は、制御カウンタ13が有している制御カウント値が例えば第1の値+1であるとき、第2の保持回路15’から出力された第2の制御カウント値を演算器19’に出力する。
【0062】
演算器19’は、送信パケットの送信時刻として、セレクタ18’から出力された第1の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算器19’は、受信パケットの受信時刻として、セレクタ18’から出力された第2の制御カウント値と第3の保持回路16から出力された演算用時刻カウント値との和と、第2の値との差分を算出する。
演算器19’は、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを時刻同期回路6に出力する。
【0063】
次に、図7に示すシステムの動作について説明する。
図9は、時刻保持回路5における時刻算出動作を示すタイミングチャートである。
スレーブ装置2-1は、マスタ装置1-1との時刻同期を実現する場合、送信部が送信パケットをマスタ装置1-1に送信する。
マスタ装置1-1は、スレーブ装置2-1から送信された送信パケットを受信すると、自己が有している時刻カウンタから、送信パケットを受信した時刻t2を示すカウント値を取得する。
マスタ装置1-1は、時刻t2を示すカウント値を含む応答パケットをスレーブ装置2-1に返信する。当該応答パケットには、時刻t2を示すカウント値のほかに、応答パケットを返信した時刻t3を示すカウント値を含んでいる。
【0064】
スレーブ装置2-1の第1のパルス出力回路3は、スレーブ装置2-1の送信部が送信パケットを送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
スレーブ装置2-1の第2のパルス出力回路4は、マスタ装置1-1から送信された応答パケットが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
【0065】
時刻保持回路5における入力ポート11-1,11-2、時刻カウンタ12、制御カウンタ13、第1の保持回路14、第2の保持回路15、第3の保持回路16、演算回路17及び時刻同期回路6の動作は、実施の形態1と同様であるため、詳細な説明を省略する。
図9の例では、演算器19は、送信パケットの送信時刻t1を示すカウント値として、“n+3”を時刻同期回路6に出力し、受信パケットの受信時刻t4を示すカウント値として、“n+6”を時刻同期回路6に出力している。
【0066】
スレーブ装置2-1は、マスタ装置1-2との時刻同期を実現する場合、送信部が送信パケットをマスタ装置1-2に送信する。
マスタ装置1-2は、スレーブ装置2-1から送信された送信パケットを受信すると、自己が有している時刻カウンタから、送信パケットを受信した時刻t2を示すカウント値を取得する。
マスタ装置1-2は、時刻t2を示すカウント値を含む応答パケットをスレーブ装置2-1に返信する。当該応答パケットには、時刻t2を示すカウント値のほかに、応答パケットを返信した時刻t3を示すカウント値を含んでいる。
【0067】
スレーブ装置2-1の第1のパルス出力回路3’は、スレーブ装置2-1の送信部が送信パケットを送信したタイミングで、第1のパルスを時刻保持回路5に出力する。
スレーブ装置2-1の第2のパルス出力回路4’は、マスタ装置1-2から送信された応答パケットが、受信パケットとして、スレーブ装置2-1の受信部によって受信されたタイミングで、第2のパルスを時刻保持回路5に出力する。
【0068】
時刻保持回路5の入力ポート11-1’は、第1のパルス出力回路3’から第1のパルスを受けると、第1のパルスを第1の保持回路14’に出力する。
時刻保持回路5の入力ポート11-2’は、第2のパルス出力回路4’から第2のパルスを受けると、第2のパルスを第2の保持回路15’に出力する。
【0069】
第1の保持回路14’は、入力ポート11-1’から第1のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第1の制御カウント値として保持する。
図8に示す時刻保持回路5では、制御カウンタ13が有する制御カウント値が、0→1→2→3→4→0→・・・4→0→・・・のように遷移する。
図9の例では、制御カウント値が“2”のとき、入力ポート11-1’から第1のパルスが出力されているため、第1の保持回路14’には、第1の制御カウント値として“2”が保持される。
第1の保持回路14’は、保持した第1の制御カウント値を演算回路17’のセレクタ18’に出力する。
【0070】
第2の保持回路15’は、入力ポート11-2’から第2のパルスが出力されたときに、制御カウンタ13が有している制御カウント値を第2の制御カウント値として保持する。
図9の例では、制御カウント値が“3”のとき、入力ポート11-2’から第2のパルスが出力されているため、第2の保持回路15’には、第2の制御カウント値として“3”が保持される。
第2の保持回路15’は、保持した第2の制御カウント値を演算回路17’のセレクタ18’に出力する。
【0071】
時刻カウンタ12は、時刻カウント値を有しており、時刻カウント値を第3の保持回路16に出力する。
図8に示す時刻保持回路5では、時刻カウンタ12が有する時刻カウント値が、n+0→n+1→n+2→・・・→n+18のように遷移する。
【0072】
第3の保持回路16は、制御カウンタ13が有している制御カウント値が第1の値にリセットされたとき、制御カウント値がリセットされる1つ前のタイミングでの時刻カウント値を演算用時刻カウント値として保持する。
即ち、第3の保持回路16は、制御カウンタ13が有している制御カウント値が“0”にリセットされたとき、制御カウント値が“4”であるときの時刻カウント値を演算用時刻カウント値として保持する。
図9の例では、制御カウント値が“4”のときの時刻カウント値は、“n+1”、“n+6”、“n+11”、“n+16”であるため、制御カウント値が“0”にリセットされたときに、“n+1”、“n+6”、“n+11”、“n+16”の時刻カウント値のそれぞれが、順番に、演算用時刻カウント値として第3の保持回路16に保持される。
第3の保持回路16は、保持した演算用時刻カウント値を演算器19及び演算器19’のそれぞれに出力する。
【0073】
セレクタ18’は、第1の制御カウント値が第1の保持回路14’に保持されてから、制御カウンタ13が有している制御カウント値が最初に“0”になるタイミングで、第1の制御カウント値である“2”を演算器19’に出力する。
即ち、セレクタ18’は、制御カウンタ13が有している制御カウント値が“0”になり、第3の保持回路16が、演算用時刻カウント値として、“n+6”を保持するタイミングのとき、第1の保持回路14’から出力された第1の制御カウント値である“2”を演算器19’に出力する。
演算器19’は、送信パケットの送信時刻t1として、以下の式(7)に示すように、セレクタ18’から出力された第1の制御カウント値である“2”と第3の保持回路16から出力された演算用時刻カウント値である“n+6”との和と、第2の値である“4”との差分を算出する。
t1=2+(n+6)-4=n+4 (7)
演算器19’は、送信パケットの送信時刻t1を示すカウント値を時刻同期回路6に出力する。
【0074】
セレクタ18’は、第2の制御カウント値が第2の保持回路15’に保持されてから、制御カウンタ13が有している制御カウント値が最初に“1”になるタイミングで、第2の制御カウント値である“3”を演算器19’に出力する。
即ち、セレクタ18’は、制御カウンタ13が有している制御カウント値が“1”になり、第3の保持回路16が、演算用時刻カウント値として、“n+6”を保持しているとき、第2の保持回路15’から出力された第2の制御カウント値である“3”を演算器19’に出力する。
演算器19’は、受信パケットの受信時刻t4として、以下の式(8)に示すように、セレクタ18’から出力された第2の制御カウント値である“3”と第3の保持回路16から出力された演算用時刻カウント値である“n+6”との和と、第2の値である“4”との差分を算出する。
t4=3+(n+6)-4=n+5 (8)
演算器19’は、受信パケットの受信時刻t4を示すカウント値を時刻同期回路6に出力する。
【0075】
時刻同期回路6は、演算器19から、送信パケットの送信時刻t1を示すカウント値が出力されると、送信時刻t1を示すカウント値を内部メモリに格納する。
時刻同期回路6は、演算器19から、受信パケットの受信時刻t4を示すカウント値が出力されると、受信パケットの受信時刻t4を示すカウント値を取得し、内部メモリから、送信時刻t1を示すカウント値を取得する。また、時刻同期回路6は、スレーブ装置2-1の受信部により受信された応答パケットに含まれている、時刻t2を示すカウント値及び時刻t3を示すカウント値のそれぞれを取得する。
【0076】
時刻同期回路6は、上記の式(3)に示すように、送信時刻t1、受信時刻t2、送信時刻t3及び受信時刻t4を用いて、到達遅延時間MLDを算出する。
時刻同期回路6は、到達遅延時間MLDを用いて、マスタ装置1-2との時刻同期を実現する。
【0077】
以上より、図8に示す時刻保持回路5は、図2に示す時刻保持回路5と同様に、100ビット程度の時刻カウント値については1つ保持するだけで、到達遅延時間の算出に必要な時刻として、送信パケットの送信時刻及び受信パケットの受信時刻のそれぞれを算出することができる。
【0078】
なお、本開示は、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0079】
1,1-1,1-2 マスタ装置、2-1,2-2,2-3 スレーブ装置、3,3’ 第1のパルス出力回路、4,4’ 第2のパルス出力回路、5 時刻保持回路、6 時刻同期回路、11-1,11-2,11-1’,11-2’ 入力ポート、12 時刻カウンタ、13 制御カウンタ、14,14’ 第1の保持回路、15,15’ 第2の保持回路、16 第3の保持回路、17,17’ 演算回路、18,18’ セレクタ、19,19’ 演算器、20 ビット取出回路。
図1
図2
図3
図4
図5
図6
図7
図8
図9