(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明に係る時刻同期方法および時刻同期装置の実施形態について説明する。
[ネットワーク構成]
図1は、ネットワーク構成の一例を示す。
図1(a)は、1台のMaster装置101aと1台のSlave装置102aとがパケット網103aを介して接続される例を示す。
図1(b)は、Master装置101b(0)とSlave装置102bとが伝送路104bを介して接続され、Master装置101b(1)とSlave装置102bとがパケット網103bを介して接続される例を示す。ここで、本実施形態は、パケット網を介して接続される時刻同期装置における時刻同期方法に関する。
図1(a)では、パケット網103aを介して接続されるMaster装置101aおよびSlave装置102aは、それぞれ時刻同期装置の一例である。
図1(b)では、パケット網103bを介して接続されるMaster装置101b(1)およびSlave装置102bは、それぞれ時刻同期装置の一例である。
【0017】
図1(a)のネットワーク構成について説明する。
図1(a)において、Master装置101aは、伝送路104aを介して上位側のGrandMaster装置105aに接続される。なお、GrandMaster装置105aは、基準クロック106aから配信される基準クロックに周波数同期している。また、Master装置101aは、GNSS(Global Navigation Satellite System)107aから基準時刻を取得することができる。同様に、Slave装置102aは、GNSS107bから基準時刻を取得することができる。
【0018】
図1(b)のネットワーク構成について説明する。
図1(b)において、Master装置101b(0)は、伝送路104cを介して上位側のGrandMaster装置105bに接続される。一方、Master装置101b(1)は、伝送路104dを介して上位側のGrandMaster装置105bに接続される。GrandMaster装置105bは、基準クロック106bから配信される基準クロックに周波数同期している。また、GrandMaster装置105bは、GNSS107cから基準時刻を取得することができる。さらに、Master装置101b(0)とSlave装置102bは、伝送路104bを介して接続されている。一方、Master装置101b(1)とSlave装置102bは、パケット網103bを介して接続されている。
【0019】
ここで、以降の説明において、
図1(a)のパケット網103aおよび
図1(b)のパケット網103bに共通の事項を説明する場合は符号末尾のアルファベットを省略してパケット網103のように表記する。同様に、
図1(a)の伝送路104aおよび
図1(b)の伝送路104b、伝送路104cおよび伝送路104dに共通の事項を説明する場合は符号末尾のアルファベットを省略して伝送路104のように表記する。また、基準クロック106aおよび基準クロック106bは、基準クロックを供給する装置であり、以降の説明において共通の事項を説明する場合は符号末尾のアルファベットを省略して基準クロック106のように表記する。同様に、GNSS107a、GNSS107bおよびGNSS107cは、基準時刻を供給する共通のシステムであり、共通の事項を説明する場合は符号末尾のアルファベットを省略してGNSS107のように表記する。
【0020】
さらに、GrandMaster装置105aおよびGrandMaster装置105bは、下位側の装置に基準クロックおよび基準時刻を供給する機能は共通である。従って、以降の説明において、GrandMaster装置105aおよびGrandMaster装置105bに共通の事項を説明する場合は符号末尾のアルファベットを省略してGrandMaster装置105のように表記する。
【0021】
また、Master装置101a、Master装置101b(0)およびMaster装置101b(1)は、上位側のGrandMaster装置105との間でクロック同期および時刻同期を図り、下位側のSlave装置102aおよびSlave装置102bとの間でクロック同期および時刻同期を図る機能は共通である。従って、以降の説明において、Master装置101a、Master装置101b(0)およびMaster装置101b(1)に共通の事項を説明する場合は符号末尾のアルファベットを省略してMaster装置101のように表記する。
【0022】
同様に、Slave装置102aおよびSlave装置102bは、上位側のMaster装置101との間でクロック同期および時刻同期を図る機能は共通である。従って、以降の説明において、Slave装置102aおよびSlave装置102bに共通の事項を説明する場合は符号末尾のアルファベットを省略してSlave装置102のように表記する。
[遅延揺らぎについて]
図1において、パケット網103は、ルーターやスイッチなどのネットワーク装置によりパケットを中継するので、パケット網103で送受信されるパケットの遅延時間にばらつき(遅延揺らぎと称する)が発生する。一方、
図1に示した伝送路104は、ルーターやスイッチなどの非同期網ではなく、例えば同期網で中継されるので、遅延揺らぎが発生しない。
【0023】
例えば
図1(a)において、Master装置101aとSlave装置102aとは、パケット網103aを介して接続されるので、パケット網103aで送受信するPTPパケットには遅延揺らぎが発生する。そのため、パケット網103aで接続される場合は、遅延揺らぎが発生しない伝送路104で接続される場合に比べて精度の高い時刻同期を図ることが難しい。同様に、
図1(b)において、伝送路104bで接続されるMaster装置101b(0)とSlave装置102bとの間では遅延揺らぎが発生しない。しかし、パケット網103bで接続されるMaster装置101b(1)とSlave装置102bとの間では遅延揺らぎが発生する。
【0024】
このため、パケット網103を介して接続されるMaster装置101とSlave装置102との間で生じる遅延揺らぎ量を計測して補正する処理が行われている。例えば送信側のMaster装置101は、遅延揺らぎ量を計測するための試験パケット(Refパケット)を予め設定された周期でSlave装置102に送信する。一方、Slave装置102は、例えばMaster装置101から受信する1つ目のRefパケットに基づいてRefパケットの受信周期を示す基準タイミングを生成する。そして、Slave装置102は、2つ目以降のRefパケットの受信タイミングと基準タイミングとの時間差を計測し、例えば数時間に亘って時間差の分布(遅延分布)を求める。例えば、Slave装置102は、遅延分布の最小値を遅延揺らぎ量としてMaster装置101との間の時刻のずれを補正する。なお、同様の処理は、Master装置101からSlave装置102への方向だけではなく、Slave装置102からMaster装置101への方向についても実行される。
【0025】
このように、基準タイミングは、遅延揺らぎ量を求めるための重要パラメータであり、基準タイミングが失われた場合、再び、基準タイミングを生成して、数時間に亘る遅延揺らぎ量の計測を再び行わなければならないという問題が生じる。本実施形態では、基準タイミングをバックアップしておき、基準タイミングが失われた場合でも迅速に基準タイミングを復元することができ、再び、基準タイミングを生成し直して遅延揺らぎ量を再計測する必要がなくなる。
【0026】
ここで、Master装置101からSlave装置102へRefパケットを送信する場合、送信側のMaster装置101におけるRefパケットの送信基準タイミングと、受信側のSlave装置102におけるRefパケットの受信基準タイミングとの両方をバックアップする必要がある。同様に、Slave装置102からMaster装置101へRefパケットを送信する場合、送信側のSlave装置102におけるRefパケットの送信基準タイミングと、受信側のMaster装置101におけるRefパケットの受信基準タイミングとの両方をバックアップする必要がある。したがって、Master装置101およびSlave装置102は、相互に送受信されるRefパケットに対する4つの基準タイミングをバックアップする。
【0027】
なお、基準タイミングのバックアップ方法として、例えば、内部時計の基準時刻に基づいて、基準タイミングの時刻を取得し、取得した時刻の1秒未満の値をバックアップ値として保存する方法を用いる。或いは、基準タイミングの他のバックアップ方法として、例えば、予め決められた周期(1PPS(1 Pulse Per Second:1秒間隔で出力されるパルス信号)など)の基準時刻タイミングを生成して、基準時刻タイミングと基準タイミングとの時間差をバックアップ値として保存する方法を用いる。この場合、基準時刻タイミングの周期は基準タイミングの周期の整数倍とするのが望ましい。この理由は、整数倍ではない場合、基準タイミングの復元時に、バックアップ時の基準タイミングの周期からずれてしまうからである。例えば基準時刻タイミングが1PPSで、基準タイミングが50msec間隔の場合、約20個の基準タイミング毎に基準時刻タイミングとの時間差を求めてバックアップ値として保存する。
[GrandMaster装置105]
図1において、GrandMaster装置105は、外部から配信される基準クロックに同期したクロックで基準時刻を生成し、下位側の装置に基準時刻と基準クロックとを供給する。
【0028】
例えば
図1(a)に示したGrandMaster装置105aは、上位側に受信処理部Rx1、下位側に送信処理部Tx2および受信処理部Rx2を有する。
【0029】
ここで、
図1(a)および
図1(b)において、受信処理部Rx*(*は番号)および送信処理部Tx*(*は番号)は、受信Rx*(*は番号)および送信Tx*(*は番号)のように表記する。
【0030】
図1(a)において、受信処理部Rx1は、基準クロック106aから配信される基準クロックを受信する。GrandMaster装置105aは、内部に基準時刻を出力する時計を有し、基準クロックで動作する。また、送信処理部Tx2および受信処理部Rx2は、下位側のMaster装置101aとの間でIEEE1588-2008規格に準拠するPTPパケットを送受信する。これにより、Master装置101aは、GrandMaster装置105aと時刻同期を図ることができる。
【0031】
一方、
図1(b)に示したGrandMaster装置105bは、上位側に受信処理部Rx9および受信処理部Rx10、下位側に送信処理部Tx11、受信処理部Rx11、送信処理部Tx12および受信処理部Rx12を有する。受信処理部Rx9は、GNSS107cから配信される基準時刻を受信する。受信処理部Rx10は、基準クロック106bから配信される基準クロックを受信する。また、送信処理部Tx11および受信処理部Rx11は、下位側のMaster装置101b(0)との間でPTPパケットを送受信する。これにより、Master装置101b(0)は、GrandMaster装置105bと時刻同期を図ることができる。送信処理部Tx12および受信処理部Rx12は、下位側のMaster装置101b(1)との間でPTPパケットを送受信する。これにより、Master装置101b(1)は、GrandMaster装置105bと時刻同期を図ることができる。
【0032】
ここで、本実施形態で説明する上位側の装置と下位側の装置との間では、時刻同期と共にクロック同期(周波数同期)を図る処理が行われている。例えば
図1(a)の場合、Slave装置102aの上位側の装置はMaster装置101aであり、Master装置101aの上位側の装置はGrandMaster装置105aである。同様に、
図1(b)において、Slave装置102bの上位側の装置はMaster装置101b(0)およびMaster装置101b(1)であり、Master装置101b(0)およびMaster装置101b(1)の上位側の装置はGrandMaster装置105bである。
[Master装置101]
図1において、Master装置101は、内部に時計を有し、GrandMaster装置105から配信される基準クロックに同期したクロックで時刻を生成する。そして、Master装置101は、GrandMaster装置105との間でPTPパケットを送受信して、GrandMaster装置105の時刻に自装置の時刻を同期させる。また、Master装置101は、下位側のSlave装置102との間でPTPパケットを送受信する。
【0033】
例えば
図1(a)に示したMaster装置101aは、上位側に受信処理部Rx3、受信処理部Rx4および送信処理部Tx4、下位側に送信処理部Tx5および受信処理部Rx5を有する。受信処理部Rx3は、GNSS107aから配信される基準時刻を受信する。また、受信処理部Rx4および送信処理部Tx4は、上位側のGrandMaster装置105aとの間でPTPパケットを送受信する。これにより、Master装置101aは、GrandMaster装置105aと時刻同期を図ることができる。さらに、送信処理部Tx5および受信処理部Rx5は、下位側のSlave装置102aとの間でPTPパケットを送受信する。これにより、Slave装置102aは、Master装置101aと時刻同期を図ることができる。
【0034】
一方、
図1(b)に示したMaster装置101b(0)は、上位側に受信処理部Rx13および送信処理部Tx13、下位側に送信処理部Tx14および受信処理部Rx14をそれぞれ有する。受信処理部Rx13および送信処理部Tx13は、上位側のGrandMaster装置105bとの間でPTPパケットを送受信する。これにより、Master装置101b(0)は、GrandMaster装置105bと時刻同期を図ることができる。さらに、送信処理部Tx14および受信処理部Rx14は、下位側のSlave装置102bとの間でPTPパケットを送受信する。これにより、Slave装置102bは、Master装置101b(0)と時刻同期を図ることができる。
【0035】
また、
図1(b)に示したMaster装置101b(1)は、上位側に受信処理部Rx15および送信処理部Tx15、下位側に送信処理部Tx16および受信処理部Rx16をそれぞれ有する。受信処理部Rx15および送信処理部Tx15は、上位側のGrandMaster装置105bとの間でPTPパケットを送受信する。これにより、Master装置101b(1)は、GrandMaster装置105bと時刻同期を図ることができる。さらに、送信処理部Tx16および受信処理部Rx16は、下位側のSlave装置102bとの間でPTPパケットを送受信する。これにより、Slave装置102bは、Master装置101b(1)と時刻同期を図ることができる。
[Slave装置102]
Slave装置102は、内部に時計を有し、Master装置101から配信される基準クロックに同期したクロックで時刻を生成する。そして、Slave装置102は、Master装置101との間でPTPパケットを送受信して、Master装置101の時刻に内部時計の時刻を同期させる。また、下位側に同様のSlave装置102が接続される場合は、自装置がMaster装置となって下位側のSlave装置との間でPTPパケットを送受信する。
【0036】
例えば
図1(a)に示したSlave装置102aは、上位側に受信処理部Rx6、受信処理部Rx7および送信処理部Tx7、下位側に送信処理部Tx8および受信処理部Rx8を有する。受信処理部Rx6は、GNSS107bから配信される基準時刻を受信する。また、受信処理部Rx7および送信処理部Tx7は、上位側のMaster装置101aとの間でPTPパケットを送受信する。これにより、Slave装置102aは、Master装置101aの時刻に内部時計の時刻を同期させることができる。なお、送信処理部Tx8および受信処理部Rx8は、下位側にSlave装置102aと同様のSlave装置が接続された場合にPTPパケットを送受信する。
【0037】
一方、
図1(b)に示したSlave装置102bは、上位側に受信処理部Rx17、送信処理部Tx17、受信処理部Rx18および送信処理部Tx18、下位側に送信処理部Tx19および受信処理部Rx19を有する。受信処理部Rx17、送信処理部Tx17は、上位側のMaster装置101b(0)との間でPTPパケットを送受信する。これにより、Slave装置102bは、Master装置101b(0)と時刻同期を図ることができる。また、受信処理部Rx18および送信処理部Tx18は、上位側のMaster装置101b(1)との間でPTPパケットを送受信する。これにより、Slave装置102bは、Master装置101b(1)と時刻同期を図ることができる。なお、送信処理部Tx19および受信処理部Rx19は、下位側にSlave装置102bと同様のSlave装置が接続された場合にPTPパケットを送受信する。
[本実施形態の適用部分]
本実施形態に係る時刻同期方法は、
図1に示したパケット網103を介して接続される装置間で遅延揺らぎ補正して時刻同期を図る場合に適用できる。例えば
図1(a)では、Master装置101aの点線枠151の部分(送信処理部Tx5および受信処理部Rx5)と、Slave装置102aの点線枠152の部分(受信処理部Rx7および送信処理部Tx7)とに適用できる。また、
図1(b)の例では、Master装置101b(1)の点線枠153の部分(送信処理部Tx16および受信処理部Rx16)と、Slave装置102bの点線枠154の部分(受信処理部Rx18および送信処理部Tx18)とに適用できる。
【0038】
ここで、本実施形態では、Slave装置102は、時刻情報を別系統の時刻パスから取得することができる。例えば、
図1(a)の場合、Slave装置102aは、別系統の時刻パスとして受信処理部Rx6を介して接続されるGNSS107bから時刻情報を取得する。また、
図1(b)の場合、Slave装置102bは、別系統の時刻パスとして受信処理部Rx17および送信処理部Tx17を介して接続されるMaster装置101b(0)から時刻情報を取得する。
[時刻同期装置の構成例]
本実施形態に係る時刻同期装置の構成例について説明する。
【0039】
図2は、Master装置201およびSlave装置202の一例を示す。なお、Master装置201およびSlave装置202は、それぞれ時刻同期装置の一例である。ここで、Master装置201は、
図1で説明したMaster装置101aまたはMaster装置101b(1)の一例である。また、Slave装置202は、
図1で説明したSlave装置102aまたはSlave装置102bの一例である。なお、
図2において、実線矢印は制御信号/データ信号の流れを示し、破線矢印は周波数信号の流れを示し、点線矢印は時刻信号の流れを示す。
【0040】
図2において、Master装置201は、送信処理部211および受信処理部212を有する。ここで、Master装置201の送信処理部211は、例えば、
図1(a)に示したMaster装置101aの送信処理部Tx5、または、
図1(b)に示したMaster装置101b(1)の送信処理部Tx16の一例を示す。また、Master装置201の受信処理部212は、例えば、
図1(a)に示したMaster装置101aの受信処理部Rx5、または、
図1(b)に示したMaster装置101b(1)の受信処理部Rx16の一例を示す。
【0041】
図2において、Slave装置202は、受信処理部221および送信処理部222を有する。なお、Slave装置202は、Master装置201と別系統の時刻パスから時刻情報を取得する。ここで、Slave装置202の受信処理部221は、例えば、
図1(a)に示したSlave装置102aの受信処理部Rx7、または、
図1(b)に示したSlave装置102bの受信処理部Rx18の一例を示す。また、Slave装置202の送信処理部222は、例えば、
図1(a)に示したSlave装置102aの送信処理部Tx7、または、
図1(b)に示したSlave装置102bの送信処理部Tx18の一例を示す。
【0042】
本実施形態に係るMaster装置201およびSlave装置202は、遅延揺らぎを計測するための基準タイミングがパッケージの抜き差しや故障などにより消失した場合に備え、基準タイミングをバックアップする。これにより、本実施形態に係るMaster装置201およびSlave装置202は、新たに基準タイミングを生成して、数時間掛かる遅延分布を計測し直す必要がなくなり、迅速に基準タイミングを復旧することができる。
図2の例では、Master装置201の送信処理部211および受信処理部212、Slave装置202の送信処理部222および受信処理部221のそれぞれにおいて生成される4つの基準タイミングがそれぞれバックアップされる。
【0043】
ここで、Master装置201の送信処理部211と受信処理部212とは相互に情報を共有して動作する。例えば、IEEE1588-2008の規格に準拠した時刻同期処理において、Master装置201の送信処理部211は、例えばSyncパケット、FollowUpパケットおよびDelayRespパケットなどをSlave装置202の受信処理部221に送信する。一方、Slave装置202の送信処理部222は、例えばDelayReqパケットなどをMaster装置201の受信処理部212に送信する。このようにして、Master装置201とSlave装置202との間で送受信されるPTPパケットの受信時刻や送信時刻などの時刻情報に基づいて、Master装置201とSlave装置202との間の時刻のずれを求めて時刻同期を図る。
【0044】
なお、Master装置201の受信処理部212は、受信部320を有し、Slave装置202が送信するパケットを受信するが、次に説明するSlave装置202の受信処理部221と同一又は同様の機能を有するので、ここでの説明は省略し、Slave装置202の受信処理部221と併せて説明する。
[送信処理部211]
図2において、送信処理部211は、周波数抽出部301、周波数生成部302、時刻生成部303、送信部304、PTPパケット処理部305、Refパケット処理部306、カウンタ307、メモリ308、監視部309、判定部310、読出制御部311、メモリ312および制御部313を有する。
【0045】
周波数抽出部301は、例えば装置内部(他PKG(Package)を含む)の信号から基準周波数のクロックを抽出し、抽出した基準周波数のクロックを周波数生成部302に出力する。
【0046】
周波数生成部302は、周波数抽出部301から受け取る基準周波数のクロックに基づいて、必要な周波数の内部クロックを生成する。周波数生成部302は、生成した内部クロックを時刻生成部303やカウンタ307などに供給する。
【0047】
時刻生成部303は、周波数生成部302から受け取ったクロックに基づいて時を刻み、時刻を出力する。時刻生成部303が出力する時刻は、送信処理部211の基準時刻となる。例えば時刻生成部303は、カウンタ307、メモリ308およびPTPパケット処理部305に時刻を出力する。なお、1PPSなどの基準時刻タイミング信号は、時刻生成部303が出力するようにしてもよいし、カウンタ307により生成してもよい。ここで、時刻生成部303は、時刻情報を別系統の時刻パスから取得する。例えば
図1(a)に示したMaster装置101aの場合、Master装置101aは、GNSS107aから基準時刻を取得できる。或いは、
図1(b)に示したMaster装置101b(0)の場合、Master装置101b(0)は、GrandMaster装置105bから基準時刻を取得できる。
【0048】
送信部304は、PTPパケット、Refパケット等のデータパケット、およびクロック信号の送信を行う。
【0049】
PTPパケット処理部305は、IEEE1588-2008の規格に準拠して、Syncパケット、Follow Up パケットおよびDelayRespパケットなどPTPパケットの生成やシーケンス処理などを行う。なお、PTPパケット処理部305はPTPパケットの送信処理を行う。一方、受信処理部212はPTPパケットの受信処理を行うためのPTPパケット処理部305に対応する受信ブロックを有し、Slave装置202からDelayReqパケットなどのPTPパケットを受信する。このように、PTPパケット処理部305は、受信処理部212のPTPパケットの受信処理と連携して動作する。そして、Master装置201およびSlave装置202は、互いに送受信するPTPパケットの情報に基づいて、装置間の時刻のずれを補正する処理を行う。なお、受信処理部212のPTPパケットの受信処理は、Slave装置202の受信処理部221のPTPパケット処理部405と同様に実行されるので、PTPパケット処理部405と併せて説明する。
【0050】
Refパケット処理部306は、Refパケットの生成、Refパケットの送信などを行う。なお、Refパケット処理部306は、Refパケットを送信する基準タイミング(送信基準タイミング)をカウンタ307に設定し、カウンタ307は、基準タイミングを周期的に出力する。ここで、Refパケット処理部306は、Refパケットの送信処理を行う。一方、受信処理部212はRefパケットの受信処理を行うためのRefパケット処理部306に対応する受信ブロックを有し、Slave装置202が送信するRefパケットを受信する。そして、受信処理部212は、Slave装置202から受信されるRefパケットの遅延分布を計測し、遅延揺らぎ量を求める処理を実行する。なお、受信処理部212のRefパケットの受信処理は、Slave装置202の受信処理部221のRefパケット処理部406と同様に実行されるので、Slave装置202のRefパケット処理部406と併せて説明する。なお、本実施形態では、Refパケット処理部306が生成する基準タイミング(送信基準タイミング)の時刻情報は、一旦、メモリ308に格納され、バックアップするか否かの判定が行われた後、メモリ312にバックアップされる。これにより、故障やパッケージの抜き差しなどにより、基準タイミングが失われた場合でも、Refパケット処理部306は、新たに基準タイミングを生成して、遅延揺らぎを再計測する必要がなくなる。
【0051】
カウンタ307は、周波数生成部302から受け取ったクロックのクロック数をカウントする。そして、カウンタ307は、予め決められたカウント値毎、つまり予め決められた周期で動作タイミングを出力する。例えば、カウンタ307は、Refパケットを周期的に送信する基準タイミングを出力する。或いは、カウンタ307は、1PPSなどの基準時刻タイミングを出力する。
【0052】
メモリ308は、基準タイミングの時刻情報(取得値)を記憶するための記憶領域を有する。送信処理部211は、カウンタ307が出力する基準タイミングの時刻情報を取得し、取得値をメモリ308に記憶する。送信処理部211は、例えば時刻生成部303が出力する基準時刻により基準タイミングの時刻を取得し、1秒未満の時刻情報を取得値としてメモリ308に取り込む。例えば、基準タイミングの時刻が2.00002秒である場合、小数点以下の0.00002秒が時刻情報としてメモリ308に記憶される。或いは、送信処理部211は、予め決められた周期(例えば1PPS)の基準時刻タイミングを生成し、基準時刻タイミングと基準タイミングとの時間差を取得値としてメモリ308に取り込む。例えば、基準タイミングの時刻が1.00001秒、基準時刻タイミングの時刻が1.00000秒である場合、時間差0.00001秒が時刻情報としてメモリ308に記憶される。ここで、例えば、予め設定された一定時間分(基準タイミング取得間隔分)の複数の基準タイミングの取得値をメモリ308に記憶するようにしてもよい。なお、
図2では、メモリ308を単なる記憶領域とし、メモリ308への時刻情報の記憶は、送信処理部211が行うものとして説明したが、メモリ308自体に処理機能を設けて、メモリ308を記憶処理部のブロックにしてもよい。
【0053】
監視部309は、装置状態が正常であるか否かを監視する。ここで、装置状態を示す情報は、例えば自装置(Master装置201)が故障しているか否かの情報、別系統の時刻パスから正常に時刻を取得できているか否かの情報、上位側の装置(
図1の例ではGrandMaster装置105)との通信状態を示す情報、時刻や周波数が正常に取得されているか否かの情報、Master装置201とSlave装置202との間で正常に周波数同期しているか否かの情報などを含む。
【0054】
判定部310は、監視部309から通知される装置状態を示す情報を参照して、基準タイミングが正常な条件下で取得されたか否かを判定する。例えば、判定部310は、自装置の故障や異常、上位側装置との通信の異常、時刻や周波数の異常などがある場合に取得された基準タイミングの取得値は「無効」であると判定する。逆に、判定部310は、自装置や上位側装置との通信および時刻や周波数の異常が無い場合に取得された基準タイミングの取得値は「有効」であると判定する。ここで、基準タイミング取得間隔内の複数の基準タイミングを一組として処理する場合、判定部310は、基準タイミング取得間隔内の全ての基準タイミングの取得値が「有効」であるときにバックアップを行う。本実施形態では、例えば複数の取得値のうち時間的に最古の取得値をバックアップする。最古の取得値をバックアップする理由は、次の基準タイミング取得間隔の基準タイミングの取得値がパケット網の障害や自装置の故障により異常値となる場合を想定している。この場合、異常の影響をなるべく受けていない取得値をバックアップするのが好ましいと考えることができる。そこで、判定部310は、次の基準タイミング取得間隔から時間的に最も遠い最古の取得値をバックアップする。なお、判定部310は、最古の取得値をバックアップせずに、複数の取得値の平均値や最小値などの統計処理や、重み付け処理などを行って求めた取得値をバックアップしてもよい。
【0055】
ここで、基準タイミング取得間隔内に含まれる基準タイミングの数は、1つであってもよい。この場合、判定部310は、基準タイミング毎に有効/無効を判定し、「有効」であるときに基準タイミングの取得値をバックアップする。
【0056】
読出制御部311は、判定部310の判定結果が有効である場合に、メモリ308に格納されている取得値を読み出してバックアップ値としてメモリ312に保存する。或いは、基準タイミング取得間隔分の複数の取得値がメモリ308に格納されている場合、読出制御部311は、例えば、メモリ308の基準タイミング取得間隔内の最古の取得値をバックアップ値としてメモリ312に読み出す。
【0057】
メモリ312は、バックアップ値を記憶するための記憶領域を有する不揮発性の記憶デバイスである。例えば、送信処理部211は、判定部310による有効/無効の判定結果が有効である場合に、メモリ308に格納されている基準タイミングの取得値をバックアップ値としてメモリ312に記憶する。或いは、基準タイミング取得間隔内の複数の取得値を処理する場合、送信処理部211は、基準タイミング取得間隔内の複数の基準タイミングの取得値の全てが有効であるときに、例えば最古の取得値をバックアップ値としてメモリ312に記憶する。なお、
図2では、メモリ312を単なる記憶領域とし、メモリ312への時刻情報の記憶は、送信処理部211が行うものとして説明したが、メモリ312自体に処理機能を設けて、メモリ312を記憶処理部のブロックにしてもよい。
【0058】
制御部313は、例えば保守者などにより、送信処理部211のパッケージの抜き差しが行われた場合、基準タイミングを復元するためのトリガをRefパケット処理部306やメモリ312(或いは、送信処理部211)に与える。これにより、各部のバックアップ処理が実行される。
【0059】
このように、Master装置201の送信処理部211は、Refパケットを送信する基準タイミングをメモリ312にバックアップすることができる。これにより、故障やパッケージの抜き差しなどで、基準タイミングが失われた場合でも、Refパケット処理部306は、Refパケットを送信する基準タイミングを新たに生成し直す必要がなくなる。
【0060】
ここで、Master装置201の受信処理部212は、Slave装置202の受信処理部221と同様の構成および動作を行うので、次に説明するSlave装置202の受信処理部221と併せて説明する。
[受信処理部221]
図2において、受信処理部221は、周波数抽出部401、周波数生成部402、時刻生成部403、受信部404、PTPパケット処理部405、Refパケット処理部406、カウンタ407、メモリ408、監視部409、判定部410、読出制御部411、メモリ412および制御部413を有する。
【0061】
周波数抽出部401は、例えば受信部404が装置外部(Master装置201など)の受信信号から基準周波数のクロックを抽出し、抽出した基準周波数のクロックを周波数生成部402に出力する。
【0062】
周波数生成部402は、周波数抽出部401から受け取る基準周波数のクロックに基づいて、各部に必要な周波数の内部クロックを生成する。周波数生成部402は、生成した内部クロックを時刻生成部403やカウンタ407に供給する。
【0063】
時刻生成部403は、PTPパケット処理部405が算出した時刻オフセットに基づいて時刻を補正し、Slave装置202の時刻をMaster装置201の時刻に合わせる。なお、PTPパケット処理部405が出力する時刻オフセットは、Refパケット処理部406により計測された遅延揺らぎ量の補正が行われた値である。そして、時刻生成部403は、周波数生成部402から受け取ったクロックに基づいて時を刻み、時刻を出力する。時刻生成部403が出力する時刻は、受信処理部221の基準時刻となる。例えば時刻生成部403は、カウンタ407およびメモリ408に出力する。なお、1PPSなどの基準時刻タイミング信号は、時刻生成部303が出力するようにしてもよいし、カウンタ307により生成してもよい。
【0064】
受信部404は、PTPパケット、Refパケット等のデータパケット、およびクロック信号の受信を行う。
【0065】
PTPパケット処理部405は、IEEE1588-2008の規格に準拠したPTPパケットの受信処理を行う。例えば、PTPパケット処理部405は、Syncパケット、Follow Up パケットおよびDelayRespパケットなどを受信する。なお、PTPパケット処理部405はPTPパケットの受信処理を行う。一方、送信処理部222はPTPパケットの送信処理を行うためのPTPパケット処理部405に対応する送信ブロックを有し、Master装置201へDelayReqパケットなどのPTPパケットを送信する。このように、PTPパケット処理部405は、送信処理部222のPTPパケットの送信処理と連携して動作する。そして、Master装置201およびSlave装置202は、互いに送受信するPTPパケットの情報に基づいて、装置間の時刻のずれを補正する処理を行う。なお、送信処理部222のPTPパケットの送信処理は、Master装置201で説明したように、送信処理部211のPTPパケット処理部305と同様に実行される。
【0066】
Refパケット処理部406は、Refパケットの受信、遅延分布の測定、遅延揺らぎ算出、Refパケットを受信する基準タイミング(受信基準タイミング)の生成などを行う。なお、Refパケット処理部406は、Refパケットの受信基準タイミングをカウンタ407に設定し、カウンタ407は、基準タイミングを周期的に出力する。ここで、Refパケット処理部406は、Refパケットの受信処理を行う。一方、送信処理部222はRefパケットの送信処理を行うためのRefパケット処理部406に対応する送信ブロックを有し、Master装置201へRefパケットを送信する。なお、送信処理部222のRefパケットの送信処理は、Master装置201で説明した送信処理部211のRefパケット処理部306と同様に実行される。なお、本実施形態では、Refパケット処理部406が生成する基準タイミング(受信基準タイミング)の時刻情報は、一旦、メモリ408に格納され、バックアップするか否かの判定が行われた後、メモリ412にバックアップされる。これにより、故障やパッケージの抜き差しなどにより、基準タイミングが失われた場合でも、Refパケット処理部406は、新たに基準タイミングを生成して、遅延揺らぎを再計測する必要がなくなる。
【0067】
カウンタ407は、周波数生成部402から受け取ったクロックのクロック数をカウントする。そして、カウンタ407は、予め決められたカウント値毎、つまり予め決められた周期で動作タイミングを出力する。例えば、カウンタ407は、Refパケットを受信する基準タイミング(受信基準タイミング)を出力する。そして、Refパケット処理部406は、Master装置201から受信するRefパケットの受信タイミングと基準タイミングとの時間差を求めて遅延分布を計測し、遅延揺らぎ量を求めることができる。
【0068】
メモリ408は、基準タイミングの時刻情報(取得値)を記憶するための記憶領域を有する。受信処理部221は、時刻生成部403が出力する時刻によりカウンタ407が出力する基準タイミングの時刻情報を取得し、取得値をメモリ408に記憶する。受信処理部221は、例えば時刻生成部403が出力する基準時刻により基準タイミングの時刻を取得し、1秒未満の時刻情報を取得値としてメモリ408に取り込む。例えば、基準タイミングの時刻が2.00002秒である場合、小数点以下の0.00002秒が時刻情報としてメモリ408に記憶される。或いは、受信処理部221は、予め決められた周期(例えば1PPS)の基準時刻タイミングを生成し、基準時刻タイミングと基準タイミングとの時間差を取得値としてメモリ408に取り込む。例えば、Master装置201の送信処理部211と同様に、基準タイミングの時刻が1.00001秒、基準時刻タイミングの時刻が1.00000秒である場合、時間差0.00001秒が時刻情報としてメモリ408に記憶される。ここで、例えば、予め設定された一定時間分(基準タイミング取得間隔分)の複数の基準タイミングの取得値をメモリ408に記憶するようにしてもよい。なお、
図2では、メモリ408を単なる記憶領域とし、メモリ408への時刻情報の記憶は、送信処理部211が行うものとして説明したが、メモリ408自体に処理機能を設けて、メモリ408を記憶処理部のブロックにしてもよい。
【0069】
監視部409は、装置状態が正常であるか否かを監視する。ここで、装置状態を示す情報は、Master装置201の監視部309で説明したように、例えば自装置(Slave装置202)が故障しているか否かの情報、別系統の時刻パスから正常に時刻を取得できているか否かの情報、時刻や周波数が正常に取得されているか否かの情報、Master装置201とSlave装置202との間で正常に周波数同期しているか否かの情報などを含む。
【0070】
判定部410は、監視部409から通知される装置状態を示す情報を参照して、基準タイミングの取得値が正常な条件下で取得されたかを判定する。例えば、判定部410は、自装置の故障や異常、上位側装置との通信の異常、時刻や周波数の異常などがある場合、取得された基準タイミングの取得値が「無効」であると判定する。逆に、判定部410は、自装置や上位側装置との通信および時刻や周波数の異常が無い場合、取得された基準タイミングの取得値が「有効」であると判定する。ここで、基準タイミング取得間隔内の複数の基準タイミングを一組として処理する場合、Master装置201の判定部310で説明したように、判定部410は、基準タイミング取得間隔内の全ての基準タイミングの取得値が「有効」であるときにバックアップを行う。例えば、本実施形態では、判定部410は、例えば複数の取得値のうち時間的に最古の取得値をバックアップする。最古の取得値をバックアップする理由は、Master装置201の判定部310で説明した通りである。なお、判定部410は、最古の取得値をバックアップせずに、複数の取得値の平均値や最小値などの統計処理や、重み付け処理などを行って求めた取得値をバックアップしてもよい。ここで、基準タイミング取得間隔内に含まれる基準タイミングの数は、1つであってもよい。この場合、判定部410は、基準タイミング毎に有効/無効を判定し、「有効」であるときに基準タイミングの取得値をバックアップする。
【0071】
読出制御部411は、判定部410の判定結果が有効である場合に、メモリ408に格納されている取得値を読み出してバックアップ値としてメモリ412に保存する。或いは、基準タイミング取得間隔分の複数の取得値がメモリ408に格納されている場合、読出制御部411は、例えば、メモリ408の基準タイミング取得間隔内の最古の取得値をバックアップ値としてメモリ412に読み出す。
【0072】
メモリ412は、バックアップ値を記憶するための記憶領域を有する不揮発性の記憶デバイスである。例えば、受信処理部221は、判定部410による有効/無効の判定結果が有効である場合に、メモリ408に格納されている基準タイミングの取得値をバックアップ値としてメモリ412に記憶する。或いは、基準タイミング取得間隔内の複数の取得値を処理する場合、受信処理部221は、基準タイミング取得間隔内の複数の基準タイミングの取得値の全てが有効であるときに、例えば最古の取得値をバックアップ値としてメモリ412に記憶する。なお、
図2では、メモリ412を単なる記憶領域とし、メモリ412への時刻情報の記憶は、送信処理部211が行うものとして説明したが、メモリ412自体に処理機能を設けて、メモリ412を記憶処理部のブロックにしてもよい。
【0073】
制御部413は、例えば保守者などにより、受信処理部221のパッケージの抜き差しが行われた場合、基準タイミングを復元するためのトリガをRefパケット処理部406やメモリ412(或いは、受信処理部221)に与える。これにより、各部のバックアップ処理が実行される。
【0074】
このように、Slave装置202の受信処理部221は、Refパケットを受信する基準タイミングをメモリ412にバックアップすることができる。これにより、故障やパッケージの抜き差しなどで、基準タイミングが失われた場合でも、Refパケット処理部406は、Refパケットを送信する基準タイミングを新たに生成し直す必要がなくなる。
【0075】
ここで、Slave装置202の送信処理部222は、Master装置201で説明した送信処理部211と同様の構成および同様の動作を行うので、重複する説明は省略する。
[バックアップ方法]
図3は、バックアップ手順の一例を示す。
図3(a)は、
図2に示したMaster装置201の送信処理部211およびSlave装置202の送信処理部222などの送信側における基準タイミングのバックアップ手順の一例を示す。
図3(b)は、
図2に示したSlave装置202の受信処理部221およびMaster装置201の受信処理部212など受信側における基準タイミングのバックアップ手順の一例を示す。
(送信側のバックアップ手順)
図3(a)において、例えば
図2に示したMaster装置201の送信処理部211は、以下のようにバックアップ手順を実行する。
【0076】
ステップS101において、送信処理部211は、Refパケット処理部306から1つ目のRefパケットを送信する。
【0077】
ステップS102において、送信処理部211は、Refパケット処理部306により基準タイミング(送信基準タイミング)を生成し、カウンタ307にRefパケットの送信周期のカウントを開始させる。
【0078】
ステップS103において、送信処理部211は、カウンタ307が出力する基準タイミングの時刻情報を取得する。
【0079】
ステップS104において、送信処理部211は、取得した基準タイミングの時刻情報(取得値)をメモリ308に格納する。
【0080】
ステップS105において、送信処理部211は、メモリ308に格納した取得値が有効であるか無効であるかを判定する。ここで、有効/無効の判定は、
図2の判定部310で説明したように、監視部309から通知される装置状態を示す情報に基づいて、基準タイミングの取得値が正常な条件下で取得されたか否かにより判定される。
【0081】
ステップS106において、送信処理部211は、予め設定された所定回数分(K回分(Kは正の整数))の基準タイミングの取得値が全て有効であるか否かを判別する。そして、送信処理部211は、K回分の取得値が全て有効の場合はステップS107の処理に進み、K回分の取得値に無効な取得値が含まれる場合はステップS108の処理に進む。
【0082】
ステップS107において、送信処理部211は、K回分の取得値のうち最古の取得値をバックアップ用のメモリ312に記憶する。例えば時刻t1、t2、t3・・・のように、時系列順に取得されたK回分の取得値がメモリ308に格納されている場合、最古の取得値は時刻t1の取得値である。なお、先に説明したように、送信処理部211は、K回分の取得値を統計処理して求めた取得値をメモリ312にバックアップしてもよい。また、K=1の場合は、送信処理部211は、基準タイミングの取得値を取得する毎に有効/無効の判定を行って有効の場合に取得値をバックアップ用のメモリ312に記憶する。
【0083】
ステップS108において、送信処理部211は、バックアップ用のメモリ312に記憶されているバックアップ値を更新せずに前回のバックアップ値を保持する。
【0084】
このようにして、Master装置201の送信処理部211は、基準タイミングの取得値の有効/無効を判別し、基準タイミングの取得値をバックアップすることができる。なお、予め設定された回数分の基準タイミングの取得値が全て有効の場合に、基準タイミングの取得値をバックアップする方法は、基準タイミングの取得値が信頼できる場合に基準タイミングの取得値をバックアップするので、バックアップされた取得値の信頼性を向上することができる。
(受信側のバックアップ手順)
図3(b)において、例えば
図2に示したSlave装置202の受信処理部221は、以下のようにバックアップ手順を実行する。
【0085】
ステップS201において、受信処理部221のRefパケット処理部406は、Master装置201から1つ目のRefパケットを受信する。
【0086】
ステップS202において、受信処理部221は、Refパケット処理部406が受信するRefパケットの基準タイミング(受信基準タイミング)を生成し、カウンタ407にRefパケットの受信周期のカウントを開始させる。
【0087】
ステップS203において、受信処理部221は、カウンタ407が出力する基準タイミングの時刻情報を取得する。
【0088】
ステップS204において、受信処理部221は、取得した基準タイミングの時刻情報(取得値)をメモリ408に格納する。
【0089】
ステップS205において、受信処理部221は、メモリ408に格納した取得値が有効であるか無効であるかを判定する。ここで、取得値の有効/無効は、
図3(a)のステップS105と同様に、基準タイミングが正常な条件下で取得されたか否かに基づいて判定される。
【0090】
ステップS206において、受信処理部221は、
図3(a)のステップS106と同様に、予め設定された所定回数分(K回分)の基準タイミングの取得値が全て有効であるか否かを判別する。そして、受信処理部221は、K回分の取得値が全て有効の場合はステップS207の処理に進み、K回分の取得値に無効な取得値が含まれる場合はステップS208の処理に進む。ここで、受信側のステップS206で判別する所定回数Kは、送信側のステップS106で説明した所定回数Kと同じでなくてもよい。
【0091】
ステップS207において、受信処理部221は、K回分の取得値のうち最古の取得値をバックアップ用のメモリ412に記憶する。なお、
図3(a)のステップS107で説明したように、ここでは、最古の取得値として説明するが、受信処理部221は、K回分の取得値を統計処理して、メモリ412にバックアップしてもよい。また、K=1の場合は、受信処理部221は、基準タイミングの取得値を取得する毎に有効/無効の判定を行って有効の場合に取得値をバックアップ用のメモリ312に記憶する。
【0092】
ステップS208において、受信処理部221は、バックアップ用のメモリ412に記憶されているバックアップ値を更新せずに前回のバックアップ値を保持する。
【0093】
このようにして、Slave装置202の受信処理部221は、基準タイミングの取得値の有効/無効を判別し、基準タイミングの取得値をバックアップすることができる。なお、予め設定された回数分の基準タイミングの取得値が全て有効の場合に、基準タイミングの取得値をバックアップする方法は、基準タイミングの取得値が信頼できる場合に基準タイミングの取得値をバックアップするので、バックアップされた取得値の信頼性を向上することができる。
(バックアップ処理の具体例)
ここでは、基準タイミング取得間隔内の複数の基準タイミングのバックアップ処理について説明する。例えば
図2に示したメモリ308には最新のK回分の取得値が基準タイミングの周期Ts秒毎に格納されている。そして、取得値の有効/無効の判定結果が全ての取得値に対して有効である場合に、例えば最古の取得値((Ts×K)秒前の取得値)がバックアップされる。ここで、K回分の取得値の少なくとも1つの取得値が無効である場合、バックアップ値は更新されず、前値(前のバックアップ値)が保持される。これにより、取得値が異常(装置状態が異常)の場合に取得した信頼性の低い取得値がバックアップされないようにすることができる。また、(Ts×K)秒は保護時間として作用し、(Ts×K)秒の期間に取得された取得値が全て有効である場合に取得値をバックアップすることにより、動作が安定した期間に取得した信頼性の高い取得値をバックアップすることができる。
【0094】
図4は、複数の取得値からバックアップ値を選択する方法の一例を示す。なお、
図4(a)は、K回の取得値の全てが有効の場合のバックアップ値の一例を示す。
図4(b)は、K回の取得値の一部が無効の場合のバックアップ値の一例を示す。ここで、
図4において、有効/無効フラグは、「0」が「有効」を示し、「1」が「無効」を示す。
【0095】
図4(a)の例において、時系列順に、1回目の取得値aは有効、2回目の取得値bは有効、・・・K回目の取得値iは有効である。この場合、K回分の取得値の全てが有効なので、Master装置201およびSlave装置202は、K回分の取得値のうち最古の1回目の取得値aを基準タイミングのバックアップ値として保存する。
【0096】
一方、
図4(b)の例において、時系列順に、1回目の取得値aは無効、2回目の取得値bは有効、・・・K回目の取得値iは有効である。この場合、K回分の取得値のうち、1回目の取得値が無効なので、Master装置201およびSlave装置202は、取得値のバックアップを行わず、前のバックアップ値hを保持する。
[有効/無効の判定処理]
図5は、有効/無効の判定処理の一例を示す。なお、
図5に示した判定処理は、例えば
図2に示したMaster装置201の送信処理部211により実行される。ここで、Master装置201の受信処理部212、Slave装置202の受信処理部221および送信処理部222においても送信処理部211と同様の判定処理が実行される。ここでは、Master装置201の判定部310の処理について説明する。
【0097】
ステップS301において、判定部310は、別系統の時刻パスから正常に時刻を取得できているか否かを判定する。そして、判定部310は、正常に時刻を取得できている場合はステップS302の処理に進み、正常に時刻を取得できていない場合はステップS305の処理に進む。
【0098】
ステップS302において、判定部310は、Master装置201とSlave装置202との間で正常に周波数同期しているか否かを判定する。そして、判定部310は、正常に周波数同期している場合はステップS303の処理に進み、正常に周波数同期していない場合はステップS305の処理に進む。
【0099】
ステップS303において、判定部310は、自装置に故障が発生していないかを判定する。そして、判定部310は、故障が発生していない場合はステップS304の処理に進み、故障が発生している場合はステップS305の処理に進む。ここで、判定部310は、自装置がバックアップの実施対象装置であるか否かを判定してもよい。バックアップ対象装置であるか否かの判別は、例えばパケット伝送における遅延揺らぎ補正処理の有/無の設定からバックアップ対象装置であるか否かを判別できる。なお、本実施形態で説明する処理は、遅延揺らぎが発生するパケット網に接続する場合のみに適用され、それ以外は適用されない。つまり、本処理を適用する場合は、オペレータがパケット網に接続されるポートの遅延揺らぎ補正処理を有効にする設定した場合に、遅延揺らぎ補正処理の設定が有効となるので、判定部310は、遅延揺らぎ補正処理の設定を参照してバックアップ対象装置であるか否かを判別できる。
【0100】
ステップS304において、判定部310は、基準タイミングの取得値が有効であると判定する。
【0101】
ステップS305において、判定部310は、基準タイミングの取得値が無効であると判定する。
【0102】
ここで、別系統の時刻パスから正常に時刻を取得できているか否かの情報、Master装置201とSlave装置202との間で正常に周波数同期しているか否かの情報、および、自装置が故障しているか否かの情報などの装置状態を示す情報は、監視部309から判定部310に通知される。
【0103】
このように、判定部410は、監視部409から通知される装置状態を示す情報に基づいて、基準タイミングの取得値が正常な条件下で取得されたかを判定することができる。ここで、基準タイミング取得間隔内の複数の取得値を一組として処理する場合、複数回の基準タイミングの取得値のそれぞれについて有効/無効の判定が行われる。
[復元方法]
基準タイミングが消失した場合、基準タイミングの復元が必要となる。例えば、Master装置201またはSlave装置202におけるパッケージの抜き差しにより基準タイミングが消失した場合、伝送路故障や周波数擾乱などにより時刻や周波数が正常に取得できない場合などに基準タイミングの異常が生じる。そして、基準タイミングが異常となった事象が回復した後、Master装置201又はSlave装置202は、時刻および周波数の取得が正常にできているか、自装置に故障等が発生していないか(つまり、基準タイミングの復元が正常に行える状態か)を確認する。なお、Master装置201やSlave装置202は、時刻や周波数の正常性について、上位側の装置から通知される時刻の品質を示すメッセージ(Announce Message,SSM(Synchronization Status Message))などを利用して判断することができる。
【0104】
復元処理において、先ず、Master装置201およびSlave装置202は、基準時刻を取得できること、もしくは、カウンタ307やカウンタ407により生成される1PPSなどの基準時刻タイミング信号により取得できることを確認する。ここで、基準時刻は、Master装置201やSlave装置202の装置内の時計により生成される。なお、Master装置201又はSlave装置202は、上位側の装置から正常に時刻情報を受信できているにも関わらず、装置内の基準時刻を確認できない場合、自装置に異常があると推定し、基準タイミングの復元は不可と判断する。この場合、特許文献1などに記載された方法により、Master装置201またはSlave装置202は、新たな基準タイミングを生成して、Refパケットの遅延分布の再測定を行い、遅延揺らぎ量を求める。さらに、Master装置201又はSlave装置202は、バックアップ用のメモリ(
図2の例ではメモリ312又はメモリ412)にバックアップ値が保存されているか否かを確認する。バックアップ用のメモリにバックアップ値が保存されていない場合、特許文献1などに記載された方法により、Master装置201またはSlave装置202は、新たな基準タイミングを生成して、Refパケットの遅延分布の再測定を行い、遅延揺らぎ量を求める。
【0105】
図6は、復元処理の一例を示す。なお、
図6に示した復元処理は、例えば
図2に示したMaster装置201の送信処理部211により実行される。ここで、Master装置201の受信処理部212、Slave装置202の受信処理部221および送信処理部222においても送信処理部211と同様の復元処理が実行される。ここでは、Master装置201の判定部310の処理について説明する。
【0106】
ステップS401において、判定部310は、ステップS301と同様に、別系統の時刻パスから正常に時刻を取得できているか否かを判定する。そして、判定部310は、正常に時刻を取得できている場合はステップS402の処理に進み、正常に時刻を取得できていない場合はステップS407の処理に進む。ここで、基準タイミング取得間隔内の複数の取得値を一組として処理する場合、複数回の基準タイミングの取得値のそれぞれについて同様の判定が行われる。そして、例えば、判定部310は、基準タイミング取得間隔内の全ての取得値が正常に時刻を取得できている場合はステップS402の処理に進み、基準タイミング取得間隔内の少なくとも1つの取得値が正常に時刻を取得できていない場合はステップS407の処理に進む。
【0107】
ステップS402において、判定部310は、ステップS302と同様に、Master装置201とSlave装置202との間で正常に周波数同期しているか否かを判定する。そして、判定部310は、正常に周波数同期している場合はステップS403の処理に進み、正常に周波数同期していない場合はステップS407の処理に進む。ここで、ステップS401と同様に、基準タイミング取得間隔内の複数の取得値を一組として処理する場合、複数回の基準タイミングの取得値のそれぞれについて同様の判定が行われる。そして、例えば、判定部310は、基準タイミング取得間隔内の全ての取得値が正常に取得されている場合はステップS403の処理に進み、基準タイミング取得間隔内の少なくとも1つの取得値が正常に取得されていない場合はステップS407の処理に進む。
【0108】
ステップS403において、判定部310は、ステップS303と同様に、自装置に故障が発生していないかを判定する。そして、判定部310は、故障が発生していない場合はステップS404の処理に進み、故障が発生している場合はステップS407の処理に進む。ここで、判定部310は、ステップS303と同様に、自装置がバックアップの実施対象装置であるか否かを判定してもよい。ここで、ステップS401と同様に、基準タイミング取得間隔内の複数の取得値を一組として処理する場合、複数回の基準タイミングの取得値のそれぞれについて同様の判定が行われる。そして、例えば、判定部310は、基準タイミング取得間隔内の全ての取得値が正常に取得されている場合はステップS404の処理に進み、基準タイミング取得間隔内の少なくとも1つの取得値が正常に取得されていない場合はステップS407の処理に進む。
【0109】
ステップS404において、送信処理部211は、基準時刻の有無を判別する。そして、基準時刻が有る場合はステップS405の処理に進み、基準時刻が無い場合はステップS407の処理に進む。
【0110】
ステップS405において、送信処理部211は、バックアップ値の有無を判別する。そして、バックアップ値が有る場合はステップS406の処理に進み、バックアップ値が無い場合はステップS407の処理に進む。
【0111】
ステップS406において、送信処理部211は、基準タイミングを復元する。例えば、送信処理部211は、メモリ312に保持されたバックアップ値と装置内部の基準時刻とに基づいて基準タイミングを復元し、カウンタ307に設定する。
【0112】
ステップS407において、送信処理部211は、基準タイミングの復元は不可と判断する。この場合、送信処理部211は、特許文献1などに記載された方法により、Master装置201またはSlave装置202は、新たな基準タイミングを生成して、Refパケットの遅延分布の再測定を行い、遅延揺らぎ量を求める。
【0113】
このように、送信処理部211は、監視部409から通知される装置状態を示す情報が正常である場合、且つ、基準時刻およびバックアップ値が存在する場合に、基準タイミングの復元処理を実行する。
(復元処理の具体例)
Master装置201またはSlave装置202は、
図3で説明したように装置状態が正常である場合に、基準タイミングの取得値をバックアップする。そして、装置状態が異常になった場合には、バックアップを行わずに正常時のバックアップ値が保持される。さらに、装置状態が異常から正常になったときに、Master装置201またはSlave装置202は、正常時にバックアップされた取得値を用いて基準タイミングを復元する。
【0114】
図7は、基準タイミングを復元処理の具体例を示す。
図7において、横軸は時間軸を示し、装置状態の変化、基準タイミング、基準タイミングのバックアップ値および基準時刻タイミング(1PPS)の一例を示す。
【0115】
図7に示した装置状態は、時刻txまで「正常」であるが、時刻txに「異常」に変化し、時刻tzに「正常」に復旧する。また、基準タイミングは、時刻gから時刻rまで、Ts秒周期で出力される。バックアップ値は、処理時間などにより、基準タイミングの時刻情報をTa秒後にバックアップ値として保存する。例えば
図7において、基準タイミングの時刻hのバックアップ値は、時刻hの基準タイミングからTa秒後に保持される。ここで、
図7の例では、時刻tr1の基準時刻タイミングの直後の時刻h(時刻ti1とする)の基準タイミングがのバックアップされる。なお、バックアップ値は、例えば基準時刻タイミングの時刻tr1と基準タイミングの時刻Ti1との時間差Tbとして求めることができる(式1)。
Tb = Ti1 - Tr1 …(式1)
なお、上記の例では、基準時刻タイミングと基準タイミングとの時間差をバックアップ値としたが、基準タイミングに対する基準時計の時刻の1秒以下の時刻情報をバックアップ値として保持してもよい。
【0116】
図7において、時刻txまでは装置状態が「正常」なので、Master装置201またはSlave装置202は、基準タイミングの取得値のバックアップを行うが、時刻txから時刻tzまで装置状態が「異常」になるので、時刻hのバックアップ値は更新されずに維持される。
【0117】
そして、時刻tzで装置状態が正常に戻った後、最初の時刻tr2の基準時刻タイミングにバックアップ値Tbを加算して、時刻Ti2の基準タイミングを復元する(式2)。
Ti2 = Tr2 + Tb …(式2)
このようにして、本実施形態に係るMaster装置201またはSlave装置202は、正常時において、基準タイミングのバックアップ値を更新しながらバックアップし、異常時において、バックアップ値を更新せずに保持する。そして、装置状態が異常から正常になったときに、Master装置201またはSlave装置202は、保持しているバックアップ値に基づいて基準タイミングを復元することができる。ここで、
図7の例では、基準時刻タイミングと基準タイミングとの時間差をバックアップ値としてバックアップする場合について説明したが、基準タイミングの時刻情報の1秒未満の値をバックアップ値としてバックアップする場合も同様に、基準時刻にバックアップ値を加算して基準タイミングを復元することができる。
【0118】
基準タイミングの復元後、例えば
図2に示したカウンタ307またはカウンタ407は、Refパケットの送受信周期をカウントする。例えば、
図2に示したMaster装置201の送信処理部211の場合、送信処理部211は、メモリ312からバックアップ値Tbを読み出し、基準時刻タイミングの時刻Tr2にバックアップ値Tbを加算して基準タイミングTi2を復元する。そして、送信処理部211は、復元された基準タイミングTi2をカウンタ307に設定して、カウンタ307はRefパケットの送信周期をカウントする。同様に、
図2に示したSlave装置202の受信処理部221の場合、受信処理部221は、例えば、メモリ412からバックアップ値Tbを読み出し、基準時刻タイミングの時刻Tr2にバックアップ値Tbを加算して基準タイミングTi2を復元する。そして、受信処理部221は、復元された基準タイミングTi2をカウンタ407に設定して、カウンタ407はRefパケットの受信周期をカウントする。
【0119】
このようにして、Master装置201およびSlave装置202は、基準タイミングを復元することができる。
[第1実施形態]
基準タイミングのバックアップは、基準タイミング毎にバックアップ値を取得して保持する方法と、ある時刻に取得したバックアップ値とその時刻から時計の時刻を更新した値の累積値との両方の値を保持する方法とが考えられる。ここでは、前者の方法について説明する。
【0120】
基準タイミングのバックアップを行う場合、基準タイミングの生成周期Tsの整数倍の周期Tpの基準時刻タイミングが用いられる。この理由は、
図2で説明したように、周期Tpが周期Tsの整数倍ではない場合に基準タイミングの復元を行うと、元の基準タイミングの生成周期からずれてしまうからである。なお、基準時刻タイミングは、装置内部の時計(
図2の送信処理部211の例では時刻生成部303)から一定間隔で出力される。
【0121】
図8は、基準タイミングの取得値の一例を示す。
図8の例は、基準タイミングの生成周期Tsの整数倍の基準時刻タイミングの周期Tp(例:1PPS)との関係を示す。なお、
図8(a)と
図8(b)とは同じタイミングチャートを示すが、
図8(b)のタイミングチャートは、
図8(a)のタイミングチャートの時刻ti10、時刻ti11および時刻ti12の部分を拡大した図である。
【0122】
図8(b)において、基準時刻タイミングの時刻(ti10、ti11およびti12)と、基準時刻タイミング直後の基準タイミングの時刻(to10、to11およびと12)との時間差(取得値)を基準タイミング毎に取得する。例えば、基準時刻タイミングの時刻ti10と、その直後の基準タイミングto10との時間差Tb1が時刻to10における取得値となる。同様に、基準時刻タイミングの時刻ti11と、その直後の基準タイミングto11との時間差Tb2が時刻to11における取得値となる。また、基準時刻タイミングの時刻ti12と、その直後の基準タイミンク゛to12との時間差Tb3が時刻to12における取得値となる。
【0123】
このようにして、基準時刻タイミング毎に直後の基準タイミングの取得値が得られる。そして、例えば
図2に示したMaster装置201またはSlave装置202は、基準タイミング毎に取得した取得値をバックアップ用のメモリ(例えばメモリ312またはメモリ412)に保存する。
【0124】
ここで、本実施形態では、基準時刻タイミング直後の基準タイミングを対象とする例を示すが、Master装置201またはSlave装置202は、基準時刻タイミング後のn番目(nは正の整数)の基準タイミングを対象として時間差を求めてもよい。なお、n=1の場合が基準時刻タイミング直後の場合に対応する。
【0125】
また、Master装置201またはSlave装置202は、基準時刻タイミング毎に取得した取得値の有効/無効を判定する。なお、有効/無効の判定方法は、
図2に示した判定部310で説明した通りである。そして、Master装置201またはSlave装置202は、取得値が有効の場合にバックアップ用のメモリ312またはメモリ412に取得値を保存し、取得値が無効の場合は当該取得値を保存せず、前のバックアップ値を保持する。
[第2実施形態]
第1実施形態では、基準時刻タイミングと基準タイミングとの時間差を基準時刻タイミングの直後の基準タイミングに対して取得したので、基準時刻タイミングの直後の基準タイミング以外の基準タイミングは参照されていない。これに対して、第2実施形態では、装置内部の基準時刻により基準タイミング毎に時刻を取得し、取得した時刻の1秒未満の数値を基準タイミングの取得値としてバックアップする。例えば、基準タイミングの時刻が2.00001秒の場合は0.00001が取得値としてバックアップされ、基準タイミングの時刻が2.00004秒の場合は0.00004が取得値としてバックアップされる。
【0126】
また、第2実施形態では、予め決められた複数の基準タイミングを一組とする基準タイミング取得間隔を設ける。そして、Master装置201またはSlave装置202は、基準タイミング取得間隔内の各基準タイミングの時刻情報が有効であるか無効であるかを判別する。Master装置201またはSlave装置202は、基準タイミング取得間隔内の全ての基準タイミングの時刻情報が有効である場合に時刻情報をバックアップし、時刻情報が無効の基準タイミングが含まれる場合は時刻情報のバックアップを行わないように処理する。
【0127】
図9は、第2実施形態における基準タイミングのバックアップ方法の一例を示す。ここで、
図9に示した基準タイミングのバックアップ方法は、
図2に示したMaster装置201またはSlave装置202などの時刻同期装置において実行される。
【0128】
図9は、横軸が時間を示し、基準タイミングはTs秒周期で出力される。そして、各基準タイミングの時刻は、装置内部の時計(基準時刻)により取得される。なお、装置内部の時計(例えば
図2に示した時刻生成部303)は、1秒未満の高精度の時刻情報を有するものとする。
【0129】
図9において、基準タイミングhの時刻はt1、次の基準タイミングiの時刻はt2、基準タイミングjの時刻はt3、基準タイミングkの時刻はt4、基準タイミングlの時刻はt5、基準タイミングmの時刻はt6・・・のように各基準タイミングの時刻が取得される。そして、取得された基準タイミングの時刻の1秒未満(且つ0秒以上)の時刻情報(基準タイミング時刻情報)が抽出される。例えば
図9において、時刻t1の1秒未満の時刻情報はt1'、時刻t2の1秒未満の時刻情報はt2'、時刻t3の1秒未満の時刻情報はt3'、時刻t4の1秒未満の時刻情報はt4'、時刻t5の1秒未満の時刻情報はt5'・・・のように各基準タイミングの時刻情報が取得値として求められる。
【0130】
ここで、
図9の例は、基準タイミング取得間隔がTd秒の場合を示し、タイミングT1からタイミングT2までの期間の基準タイミングが一組として処理される。同様に、タイミングT2からタイミングT3までの期間Tdにおける基準タイミングが一組として処理される。そして、一組の基準タイミングの取得値がメモリ(例えば
図2に示したメモリ308またはメモリ408)に格納される。例えば
図9の場合、タイミングT1からタイミングT2までの基準タイミング取得間隔Td秒の期間において、時刻t1の基準タイミングの取得値t1'、t2'、・・・・、t5'がメモリ308またはメモリ408に格納される。ここで、例えば、時刻t1,t2,t3,t4,t5の時刻は、それぞれ1.00001秒、1.00002秒、1.00003秒、1.00004秒、1.00005秒のように時刻の経過と共に増加する。そして、この場合の取得値t1',t2',t3',t4',t5'は、それぞれ0.00001秒、0.00002秒、0.00003秒、0.00004秒、0.00005秒のように求められる。
【0131】
そして、Master装置201またはSlave装置202は、基準タイミング取得間隔Td秒内の複数の取得値のそれぞれについて装置状態を判定する。例えば、Master装置201またはSlave装置202は、装置状態の判定結果が基準タイミング取得間隔Td秒内の全ての取得値に対して正常であれば有効であると判断する。
【0132】
なお、予め決められた複数の基準タイミングを一組とする基準タイミング取得間隔を設ける方法は、第1実施形態に適用されてもよい。
【0133】
図10は、取得値を格納するメモリ308の一例を示す。なお、
図10は、
図4と同様の図であり、基準タイミング取得間隔内の基準タイミングの回数がK回の場合の取得値と、有効/無効の判定結果を示すフラグ(有効:0、無効:1)と、バックアップ値との一例を示す。
図10において、1回目の基準タイミングの取得値t1'は0.000001秒、2回目の基準タイミングの取得値t2'は0.000002秒、3回目の基準タイミングの取得値t3'は0.000003秒・・・K回目の基準タイミングの取得値tk'秒である。そして、1回目の基準タイミングの有効/無効フラグは0(有効)、2回目の基準タイミングの有効/無効フラグは0(有効)、3回目の基準タイミングの有効/無効フラグは0(有効)・・・K回目の基準タイミングの有効/無効フラグは0(有効)である。ここで、
図4で説明したように、基準タイミング取得間隔Td秒内の基準タイミングの取得値が全て有効なので、Master装置201またはSlave装置202は、バックアップ処理を行う。例えば、基準タイミング取得間隔Td秒内の基準タイミングのうち時系列順に最古の取得値t1'=0.000001秒がメモリ312にバックアップされる。なお、
図4で説明したように、基準タイミング取得間隔Td秒内に無効の基準タイミングがある場合、Master装置201またはSlave装置202は、バックアップ処理を行わず、メモリ312には前のバックアップ値が保持される。
【0134】
ここで、Master装置201およびSlave装置202は、最古の取得値をバックアップせずに、複数の取得値の平均値や最小値などの統計処理や、重み付け処理などを行って求めた取得値をバックアップしてもよい。例えば、取得値t1',t2',t3',t4',t5'が0.000010秒、0.000021秒、0.000029秒、0.000039秒、0.000050秒のようにばらつきがある場合、前後の差分の平均値を求めてバックアップしてもよい。この場合、t2'-t1'=0.000011、t3'-t2'=0.000008、t4'-t3' =0.000010、t5'-t64'=0.000011となり、平均値は0.00001である。
【0135】
図11は、基準タイミングの復元例を示す。
図11において、基準時刻10:10:01に対する基準タイミングは+0.000001秒であり、+0.000001秒がバックアップされる。
図11において、Master装置201またはSlave装置202は、故障が発生するが、暫くして故障から回復する。そして、故障から回復後、時刻10:30:30にバックアップ値+0.000001秒を加算して、基準タイミングを復元する。
【0136】
このようにして、本実施形態に係るMaster装置201またはSlave装置202は、正常時に基準タイミングをバックアップして、異常時にはバックアップ値を更新せずに保持する。そして、装置状態が異常から正常になったときに、Master装置201またはSlave装置202は、保持しているバックアップ値に基づいて基準タイミングを復元する。また、本実施形態では、基準タイミング取得間隔内の複数の基準タイミングを一組として処理する場合、例えば全ての基準タイミングの取得値が有効であるときにバックアップ処理を行うことにより、バックアップされた取得値の信頼性を向上することができる。
【0137】
以上、説明したように、本実施形態に係る時刻同期方法および時刻同期装置は、基準タイミングをバックアップしておくことにより、故障等で基準タイミングが失われた場合でも、復旧後にバックアップから基準タイミングを復元することができる。特に、本実施形態に係る時刻同期装置は、装置状態が正常なときにバックアップ値を取得し、装置状態が異常なときはバックアップ値を更新しないので、信頼性が高いバックアップ値を取得できる。また、本実施形態に係る時刻同期装置は、基準タイミングの取得値の履歴(取得時の装置状態)を管理して、各取得値の有効/無効の判定を行うことにより異常なバックアップ値の取得を回避できる。さらに、本実施形態に係る時刻同期装置は、基準タイミングが失われた場合や基準タイミングが異常値となった場合でも、時刻が正常に取得できる状態であればバックアップ値から基準タイミングを復元することができる。これにより、本実施形態に係る時刻同期装置は、直ぐに基準タイミングを復元できるので、遅延分布の再測定が不要となり、運用再開までのリードタイムを短縮できる。