(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】スレーブ装置、時刻同期システム、時刻同期方法、および時刻同期プログラム
(51)【国際特許分類】
H04L 7/00 20060101AFI20221213BHJP
【FI】
H04L7/00 990
(21)【出願番号】P 2021545495
(86)(22)【出願日】2020-09-03
(86)【国際出願番号】 JP2020033393
(87)【国際公開番号】W WO2021049406
(87)【国際公開日】2021-03-18
【審査請求日】2022-02-14
(31)【優先権主張番号】P 2019163599
(32)【優先日】2019-09-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】高柳 朝子
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2012-209791(JP,A)
【文献】特開2012-023654(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行うスレーブ装置であって、
各々がいずれかのパスを介してパケットを受信する複数の受信手段と、
前記複数の受信手段の各々が受信したパケットの受信間隔を計測する受信間隔計測手段と、
前記マスタ装置がパケットを送信する間隔を自身のクロックを用いて送信間隔として計測する送信間隔計測手段と、
各々の前記受信間隔と前記送信間隔との差を算出する時間差計算手段と、
前記時間差計算手段が
複数回算出した差を用いて分散値を算出する分散算出手段と、
最も小さい分散値を呈した前記受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとして選択するパス選択手段と、
前記定常状態のパスを介する通信に基づいて時刻補正を行う補正手段とを備え
、
前記定常状態のパスの品質が低下した場合に、前記分散算出手段は、前記定常状態のパスよりも高い品質の他のパスを介して受信を行う前記受信手段が受信したパケットを用いて、時刻同期のために前記定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出する
ことを特徴とするスレーブ装置。
【請求項2】
前記補正手段は、
前記時間差計算手段が複数回算出した差の平均値を補正値として時刻補正を行う
請求項1記載のスレーブ装置。
【請求項3】
全てのパスの品質が低下したときに、前記マスタ装置に障害が発生したと判断するマスタ異常検出手段を備える
請求項1
または請求項
2記載のスレーブ装置。
【請求項4】
請求項1から請求項
3のうちのいずれか1項に記載のスレーブ装置と、マスタ装置とが無線帯域が異なる複数のパスを介して接続され、
前記マスタ装置は、
タイムスタンプを含むパケットを生成するパケット生成手段と、
前記パケットを送信する送信手段とを備える
ことを特徴とする時刻同期システム。
【請求項5】
マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行う時刻同期方法であって、
前記複数のパスを介してパケットを受信し、
前記複数のパスの各々について、受信したパケットの受信間隔を計測し、
前記マスタ装置がパケットを送信する間隔を送信間隔として計測し、
各々の前記受信間隔と前記送信間隔との差を算出し、
複数回算出した前記差を用いて分散値を算出し、
最も小さい分散値を呈した前記受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとして選択し、
前記定常状態のパスを介する通信に基づいて時刻補正を行
い、
前記定常状態のパスの品質が低下した場合に、前記定常状態のパスよりも高い品質の他のパスを介して受信されたパケットを用いて、時刻同期のために前記定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出する
ことを特徴とする時刻同期方法。
【請求項6】
複数回算出された
前記受信間隔と前記送信間隔との差の平均値を補正値として時刻補正を行う
請求項
5記載の時刻同期方法。
【請求項7】
マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行うための時刻同期プログラムであって、
コンピュータに、
前記複数のパスを介してパケットを受信する受信処理と、
前記複数のパスの各々について、受信したパケットの受信間隔を計測する受信間隔計測処理と、
前記マスタ装置がパケットを送信する間隔を送信間隔として計測する送信間隔計測処理と、
各々の前記受信間隔と前記送信間隔との差を算出する時間差計算処理と、
複数回算出した前記差を用いて分散値を算出する
分散値計算処理と、
最も小さい分散値を呈した前記受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとしてを選択する
パス選択処理と、
前記定常状態のパスを介する通信に基づいて時刻補正を行う時刻補正処理とを実行させ
、
前記定常状態のパスの品質が低下した場合に、前記定常状態のパスよりも高い品質の他のパスを介して受信されたパケットを用いて、時刻同期のために前記定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出させる
ための時刻同期プログラム。
【請求項8】
コンピュータに、
複数回算出された
前記受信間隔と前記送信間隔との差の平均値を補正値として時刻補正を行わせる
請求項
7記載の時刻同期プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スレーブ装置、時刻同期システム、時刻同期方法、および時刻同期プログラムに関する。
【背景技術】
【0002】
産業用ロボットは、コントローラと複数のサーボモータ等によって制御される。産業用ロボットを制御するために、機器間で協調作業が必要となる。そのため、機器同士の高精度な時刻同期が必要である。
【0003】
各機器のクロックソースは異なるので、各機器のクロックの周波数は、機器ごとに若干異なる。従って、設定された時刻が、時間が経過するにつれて他の機器上における時刻に対して徐々にずれる。そのため、異なるクロックソースの機器間では、ずれた時刻を修正するために同期をとる必要がある。
【0004】
工場自動化システムなど産業用途における無線化の要求は高い。機器の柔軟な運用を実現する無線通信を使用した同期を行うことが要求される。しかし、無線通信では利用できる帯域が限定されているため無線リソース(例えば、1つの通信帯域におけるパケット量)を節減することが課題となる。また、無線通信では電波の揺らぎが発生するため、高精度な時刻同期を実現することが困難である。
【0005】
ネットワーク通信を用いることによって、スレーブ装置となる機器のクロックをマスタ装置となる機器のクロックに合わせる方法は既に知られている。
【0006】
例えば、ネットワークを介して接続される複数のクロックをマイクロ秒レベルで同期させる方法として、IEEE(Institute of Electrical and Electronics Engineers )1588規格に基づく方法がある。無線ネットワークを介した機器間でIEEE1588規格に従って時刻同期が行われる場合、1台のマスタ装置に複数台のスレーブ装置が接続されるシステム(1:N接続)では、マスタ装置と、各スレーブ装置とが時刻同期のためのメッセージの送受信を行う。そのため、1:1接続の場合のN倍の同期メッセージが発生する。すなわち、1:N接続では、無線リソースの消費量が大きい。無線リソースの大量消費は、周辺の通信に影響を及ぼす。例えば、通信の遅延時間が増大する。
【0007】
また、無線通信では、電波の揺らぎのために伝送遅延を正確に測定することは困難である。従って、クロックのずれを正確に計測することは困難である。具体的には、スレーブ装置がマスタ装置から1つの同期パケットを受信する。スレーブ装置は、送信と受信のタイムスタンプの差分を取得できる。しかし、差分には、マスタクロックとスレーブクロックとのずれと、ネットワークの伝送遅延とが含まれている。すなわち、無線ネットワークを介して受信した同期パケットは、無線の伝送遅延の揺らぎの影響を受けている。タイムスタンプの差分から伝送遅延の揺らぎの影響を除去しないと、マスタクロックとスレーブクロックとの時刻の同期を高精度に行えない。
【0008】
特許文献1には、ネットワークを介して一定間隔で送信された同期パケットを受信し、内部で発生させたクロックを送信側のクロックに同期させる同期方式が記載されている。特許文献1に記載された同期方式では、ブロードキャストによって同期パケットが一括して送信されるため、無線リソースを削減できる。しかし、達成できるクロック精度は、システムの伝送遅延の揺らぎの影響を受ける。無線ネットワークを介した場合には、伝送遅延の揺らぎが特に大きく、また、環境に応じて変動する。そのために、一般に、伝送遅延のランダム性を平準化して、揺らぎの影響を排除する処理が施される。
【0009】
また、特許文献2には、複数の通信手段を併用することによって時刻同期を行う方法が記載されている。特許文献2に記載されている方法では、送信側の装置が、同期用パケットを複製して2つの経路に送信する。一方の経路の受信パケット数が想定と異なる場合に、他方の経路の受信パケット数による補完処理を行う。なお、特許文献2に記載された方法は、ATM(Asynchronous Transfer Mode)網の多重ループの有線ネットワークに適用される。
【0010】
また、特許文献3には、通信揺らぎの変動に対応する時刻同期方法が記載されている。特許文献3に記載されている時刻同期方法では、スレーブ装置において、遅延量が小さいパケットのみがクロック同期回路に取り込まれる。クロック同期回路は、時刻同期を行う。すなわち、周波数調整量が許容できるしきい値を超過する遅延が発生した場合に、そのパケットは廃棄される。その結果、遅延量が小さいパケットのみを用いて時刻同期制御が行われるので同期精度は向上する。
【先行技術文献】
【特許文献】
【0011】
【文献】特開2001-186180号公報
【文献】特開2006-217531号公報
【文献】特開2010-212945号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかし、特許文献1に記載された方式では、遅延量が大きいパケットが到着すると揺らぎの影響を十分に排除することが困難な場合がある。従って、同期精度が劣化することがある。特許文献2に記載された方法では、無線を使用した場合の通信リソースの制約や無線通信の揺らぎに対する対応が困難である。特許文献3に記載された方法では、使用している通信が劣化し、所定のしきい値を超えた遅延が継続した場合、時刻同期が行えない。その結果、時間の経過に併って同期精度が劣化する。
【0013】
本発明は、無線リソースの消費を節減しつつ、精度の高いクロック同期を実現するスレーブ装置、時刻同期システム、時刻同期方法、および時刻同期プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によるスレーブ装置は、マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行うスレーブ装置であって、各々がいずれかのパスを介してパケットを受信する複数の受信手段と、複数の受信手段の各々が受信したパケットの受信間隔を計測する受信間隔計測手段と、マスタ装置がパケットを送信する間隔を自身のクロックを用いて送信間隔として計測する送信間隔計測手段と、各々の受信間隔と送信間隔との差を算出する時間差計算手段と、時間差計算手段が複数回算出した差を用いて分散値を算出する分散算出手段と、最も小さい分散値を呈した受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとして選択するパス選択手段と、定常状態のパスを介する通信に基づいて時刻補正を行う補正手段とを含み、定常状態のパスの品質が低下した場合に、分散算出手段は、定常状態のパスよりも高い品質の他のパスを介して受信を行う受信手段が受信したパケットを用いて、時刻同期のために定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出する。
【0015】
本発明による時刻同期システムは、スレーブ装置と、マスタ装置とが無線帯域が異なる複数のパスを介して接続され、マスタ装置は、タイムスタンプを含むパケットを生成するパケット生成手段と、パケットを送信する送信手段とを含む。
【0016】
本発明による時刻同期方法は、マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行う時刻同期方法であって、複数のパスを介してパケットを受信し、複数のパスの各々について、受信したパケットの受信間隔を計測し、マスタ装置がパケットを送信する間隔を送信間隔として計測し、各々の受信間隔と送信間隔との差を算出し、複数回算出した差を用いて分散値を算出し、最も小さい分散値を呈した受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとして選択し、定常状態のパスを介する通信に基づいて時刻補正を行い、定常状態のパスの品質が低下した場合に、定常状態のパスよりも高い品質の他のパスを介して受信されたパケットを用いて、時刻同期のために定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出する。
【0017】
本発明による時刻同期プログラムは、マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行うための時刻同期プログラムであって、コンピュータに、複数のパスを介してパケットを受信する受信処理と、複数のパスの各々について、受信したパケットの受信間隔を計測する受信間隔計測処理と、マスタ装置がパケットを送信する間隔を送信間隔として計測する送信間隔計測処理と、各々の受信間隔と送信間隔との差を算出する時間差計算処理と、複数回算出した差を用いて分散値を算出する分散値計算処理と、最も小さい分散値を呈した受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとしてを選択するパス選択処理と、定常状態のパスを介する通信に基づいて時刻補正を行う時刻補正処理とを実行させ、定常状態のパスの品質が低下した場合に、定常状態のパスよりも高い品質の他のパスを介して受信されたパケットを用いて、時刻同期のために定常状態のパスが用いられているときの周期よりも短い周期で分散値を算出させる。
【発明の効果】
【0018】
本発明によれば、無線リソースの消費を節減しつつ、精度の高いクロック同期を実現することができる。
【図面の簡単な説明】
【0019】
【
図1】時刻同期システムの一例を示すブロック図である。
【
図2】時刻同期システムにおける接続シーケンスの一例を示すシーケンス図である。
【
図3】データ転送装置の構成例を示すブロック図である。
【
図4】受信データ処理部におけるSyncパケット処理部の構成例を示すブロック図である。
【
図5】Syncパケット処理部における全パス状態判断部の構成例を示すブロック図である。
【
図6】第1の実施形態の時刻同期システムの動作を示すフローチャートである。
【
図7】第1の実施形態の時刻同期システムの動作を示すフローチャートである。
【
図8】時刻同期に使用されるパスの選択の例を示す説明図である。
【
図9】第2の実施形態のSyncパケット処理部における全パス状態判断部の構成例を示すブロック図である。
【
図10】第2の実施形態の時刻同期システムの動作を示すフローチャートである。
【
図11】第2の実施形態の時刻同期システムの動作を示すフローチャートである。
【
図12】スレーブ装置の主要部を示すブロック図である。
【
図13】時刻同期システムの主要部を示すブロック図である。
【発明を実施するための形態】
【0020】
実施形態1.
以下、本発明の第1の実施形態を、図面を参照して説明する。
【0021】
本実施形態による時刻同期システムの構成を説明する。
図1は、時刻同期システムの一例を示すブロック図である。本実施形態による時刻同期システムは、データ転送装置102(マスタ装置)と、データ転送装置111(スレーブ装置)とを含む。データ転送装置102は、無線通信部103,104,105,106を含む。データ転送装置111は、無線通信部107、108,109,110を含む。なお、
図1には、マスタ装置としてのデータ転送装置102に、1台のスレーブ装置としてのデータ伝送装置111が接続された構成が示されているが、データ転送装置102に複数台のスレーブ装置が接続されてもよい。
【0022】
端末101は、データ転送装置102に接続されたコントローラ等である。端末112は、データ転送装置111と接続されたサーボモータ等である。また、データ転送装置102とデータ転送装置111とは、無線帯域が異なる複数のパス(通信経路)を介して接続されている。具体的には、データ転送装置102の無線通信部103は、データ転送装置111の無線通信部107と、2.4GHz帯の第1パスを介して通信を行う。無線通信部104は、5GHz帯(W52)の第2パスを介して無線通信部108と通信を行う。無線通信部105は、5GHz帯(W56)の第3パスを介して無線通信部109と通信を行う。無線通信部106は、1.9GHz帯の第4パスを介して無線通信部110と通信を行う。
【0023】
図2は、時刻同期システムにおける接続シーケンスの一例を示すシーケンス図である。
図2には、時刻同期システムに、2台のスレーブ装置であるデータ転送装置111,113が含まれる構成が例示されている。
【0024】
マスタ装置(データ転送装置102)とスレーブ装置(データ転送装置111,113)は、最初に時刻同期を確立する。
図2では、IEEE1588規格に基づくシーケンスによる時刻同期方法を例示する。例えば、マスタ装置は、複数のスレーブ装置にSyncパケットを送信する。各スレーブ装置は、自身のクロックで受信タイムスタンプを作成する。そして、各スレーブ装置は、受信タイムスタンプを含むDelayRequestパケットをマスタ装置に送信する。マスタ装置は、DelayRequestパケットを受信してタイムスタンプを作成する。そして、マスタ装置は、DelayResponseパケットをスレーブ装置に送信する。マスタ装置とスレーブ装置とは、このような一連の処理を繰り返し時刻同期を行う。時刻同期のための方法として、他の方法が用いられてもよい。
【0025】
マスタ装置(データ転送装置102)のクロックと複数のスレーブ装置(データ転送装置111,113)のクロックとの時間同期が確立した後、マスタ装置は、複数のスレーブ装置にSyncパケットを送信間隔[T]([T]は例えば1秒)でブロードキャストまたはマルチキャストで送信する。
【0026】
図3は、データ転送装置301の構成例を示すブロック図である。
図3に示す例では、データ転送装置301は、送信データ処理部302と、発振器306と、制御部307と、時計309と、受信データ処理部310と、第1無線通信部から第n無線通信部を有する無線部314とを含む。送信データ処理部302は、Syncパケット生成部303と、バッファ304と、送信間隔タイマ305とを含む。制御部307は、クロック補正部308を含む。受信データ処理部310は、Syncパケット処理部311と、バッファ312と、受信解析フィルタ313とを含む。データ転送装置301は、
図1に示されたデータ転送装置102,111の具体的な構成例に相当する。
【0027】
送信データ処理部302は、時刻同期のためにSyncパケットを送信する。また、データ転送装置301が、
図1に示されたデータ転送装置102として使用される場合、端末101から入力されたデータをデータパケットとして送信する。
【0028】
送信間隔タイマ305は、発振器306、時計309から時刻情報を得て、送信間隔[T]をカウントする。
【0029】
Syncパケット生成部303は、パケットを生成して無線部314へ渡す。
【0030】
無線部314において、複数の無線通信部は、対向するスレーブ装置に、Syncパケットをブロードキャストまたはマルチキャストで送信する。無線部314の無線通信部は、対応する周波数のパスでのプロトコルや無線通信機能を備える。なお、
図3における複数の無線通信部は、
図1における無線通信部103~106または無線通信部107~110に相当する。
【0031】
制御部307は、
図1に示された端末101からデータが入力されたときに、冗長符号化のエンコードを実施し、送信データ処理部302のバッファ304にデータ(符号化データ)を格納する。
【0032】
バッファ304において、格納された符号化データには、時計309から得られた時刻情報に基づくタイムスタンプが付加される。符号化データは、バッファ304から無線部314に出力される。無線部314は、符号化データをデータパケットとして無線伝送路に送出する。
【0033】
無線部314において、符号化データは、複数の無線通信部のいずれかに入力される。符号化データは、例えばラウンドロビン方式でいずれかの無線通信部に順番に渡される。
【0034】
受信データ処理部310は、Syncパケットの受信を契機として時刻同期の制御を行う。また、データ転送装置301が、
図1に示されたデータ転送装置111として使用される場合、受信データ処理部310は、データパケットを受信する。
【0035】
無線部314が、マスタ装置からのパケットを受信すると、パケットを受信データ処理部310の受信解析フィルタ313に出力する。
【0036】
受信解析フィルタ313は、時計309より時刻情報を得る。すなわち、受信解析フィルタ313は、パケットの受信時刻を取得する。また、受信解析フィルタ313は、パケットがSyncパケットかデータパケットかを判別する。パケットがSyncパケットである場合には、受信解析フィルタ313は、受信時刻情報と共にSyncパケットをSyncパケット処理部311に渡す。パケットがデータパケットである場合には、受信解析フィルタ313は、制御部307にデータパケットを渡す。
【0037】
Syncパケット処理部311は、受信解析フィルタ313から受け取ったSyncパケットに基づいて時刻同期処理を行う。
【0038】
制御部307は、データパケットを受信した場合には、符号化されたデータのデコードを行い、データをバッファ312に格納する。Syncパケットを受信した場合には、クロック補正部308は、Syncパケット処理部311で算出された補正値に従って発振器306を補正する。
【0039】
デコードされたデータがバッファ312に格納される際に、デコード時のタイムスタンプ情報が付与される。マスタ装置の送信データ処理部302が
図1に示された端末101からデータを受信した間隔を保って、スレーブ装置の受信データ処理部310が
図1に示された端末112へデータを出力する。そのために、制御部307は、マスタ装置でエンコード前にデータパケットに付与されたタイムスタンプ情報から次にエンコードされるパケットとのデータ間隔を確認する。受信データ処理部310は、
図1に示された端末112へデータを出力するタイミングを制御する。
【0040】
送信データ処理部302(バッファ304を除く。)、制御部307、および受信データ処理部310(バッファ312を除く。)は、プログラム(時刻同期プログラム)に従って動作するコンピュータのCPUによって実現される。
【0041】
例えば、プログラムは、データ転送装置301の記憶部(図示せず)に記憶され、CPUは、プログラムに従って、送信データ処理部302、制御部307、および受信データ処理部310として動作する。
【0042】
図4は、受信データ処理部310におけるSyncパケット処理部311の構成例を示すブロック図である。Syncパケット処理部311は、伝送揺らぎ吸収部401と、全パス状態判断部402と、伝送揺らぎ検出部403と、時間差検出部404と、送信間隔カウント部405と、受信間隔計測部406とを含む。
【0043】
受信間隔計測部406は、マスタ装置からパケットを受信した際に受信解析フィルタ313が付与したタイムスタンプ情報を元に、ひとつ前に受信したパケットの受信時刻からの受信間隔を計測する。
【0044】
送信間隔カウント部405は、スレーブ装置の時計309が計時した時刻を用いて所定間隔をカウントする。具体的には、所定間隔は、マスタ装置で規定されている送信間隔[T]と同じ間隔[T’]である。以下、間隔[T’]を送信間隔という。
【0045】
時間差検出部404は、受信間隔計測部406が計測した受信間隔と、送信間隔カウント部405がカウント(計測)した送信間隔[T’]との時間差を検出する。
【0046】
伝送揺らぎ検出部403は、定常状態において、あらかじめ定められた回数分の時間差検出部404が検出した時間差の分散値を算出する。伝送揺らぎ検出部403は、算出した分散値に基づいてパスの伝送遅延の揺らぎの大きさを検出する。
【0047】
全パス状態判断部402は、複数のパスの伝送遅延の揺らぎの状態を監視する。全パス状態判断部402は、非定常状態において、伝送遅延の揺らぎを検出する。全パス状態判断部402は、全てのパスの状態を比較し、全てのパスの中から最も安定したパスを選択する。なお、定常状態は、伝送遅延の揺らぎは安定していると判断されている状態である。非定常状態では、伝送遅延の揺らぎが大きくなったと判断されている。
【0048】
伝送揺らぎ吸収部401は、伝送遅延の揺らぎの影響を排除して時計の補正値を算出する。伝送揺らぎ吸収部401は、例えば、全パス状態判断部402が選択したパスを対象として、あらかじめ定められた回数分の時間差検出部404が検出した時間差の平均値を伝送揺らぎ検出部403で算出し、平均値を時計の補正値とする。算出された補正値に従って、クロック補正部308が、発振器306を補正する。
【0049】
図5は、Syncパケット処理部311における全パス状態判断部402の構成例を示すブロック図である。
図5には、3つのパスが存在する場合が例示されている。全パス状態判断部402は、第1パスに関する分散算出部5011および状態検出部5021を含む。また、全パス状態判断部402は、第2パスに関する分散算出部5012および状態検出部5022を含む。また、全パス状態判断部402は、第3パスに関する分散算出部5013および状態検出部5023を含む。全パス状態判断部402は、さらに、パス選択部503を含む。全パス状態判断部402は、データ転送装置301に搭載された複数の無線通信部における各パスの伝送状態を判断する。
【0050】
図5には、第1パスに関する第1受信解析フィルタ3131、第2パスに関する第2受信解析フィルタ3132、および第3パスに関する第3受信解析フィルタ3133も示されている。それらは、
図4に示された受信解析フィルタ313に含まれる。
【0051】
図5には、第1パスに関する第1受信間隔計測部4061、第2パスに関する第2受信間隔計測部4062、および第3パスに関する第3受信間隔計測部4063も示されている。それらは、
図4に示された受信間隔計測部406に含まれる。
【0052】
図5には、第1パスに関する第1時間差検出部4041、第2パスに関する第2時間差検出部4042、および第3パスに関する第3時間差検出部4043も示されている。それらは、
図4に示された時間差検出部404に含まれている。
【0053】
分散算出部5011,5012,5013は、対応する時間差検出部4041,4042,4043が検出した時間差をサンプルとして、あらかじめ定めた定常状態における間隔よりも短い間隔(例えば1分)におけるサンプルy(例えば60回分)の分散値を算出する。分散算出部5011,5012,5013が算出した分散値は、定常状態における周期よりも短い周期における伝送遅延の揺らぎの大きさに相当する。
【0054】
状態検出部5021,5022,5023は、対応する時間差検出部である第1時間差検出部4041、第2時間差検出部4042、または第3時間差検出部4043が検出したデータと以前に検出されたデータとに基づいて変動を監視する。具体的には、状態検出部5021,5022,5023は、伝送遅延の変動量を算出する。また、状態検出部5021,5022,5023は、分散算出部5011,5012,5013が算出した分散値を入力する。状態検出部5021,5022,5023は、伝送遅延の変動量と分散値とをパス選択部503に出力する。
【0055】
パス選択部503は、第1パス~第3パスのそれぞれに対応する状態検出部5021,5022,5023から通知された伝送遅延の変動量と分散値とに基づいて、伝送遅延が相対的に小さく、かつ、伝送遅延の揺らぎの変動が最も小さい安定したパスを、時刻同期に適用するための一時的なパスすなわち非定常状態におけるパス(一時避難パスともいう。)として選択する。
【0056】
次に、
図6および
図7のフローチャートを参照して第1の実施形態の時刻同期システムの動作を説明する。一例として、
図5に例示されたように、第1パス、第2パスおよび第3パスがあるとする。また、一例として、定常状態のパス(定常状態で使用されるパス)を第1パスとする。
【0057】
スレーブ装置がマスタ装置からSyncパケットを受信すると(ステップS601)、以下の処理が実行される。
【0058】
Syncパケットは、無線部314を介して受信解析フィルタ313(この例では、第1受信解析フィルタ3131、第2受信解析フィルタ3132、および第3受信解析フィルタ3133の各々)に入力される。受信解析フィルタ313は、Syncパケットに、時計309に基づくタイムスタンプ情報を付与する(ステップS604)。
【0059】
送信間隔カウント部405は、時計309を用いてカウント処理を行う(ステップS602)。カウント値が送信間隔[T’]に達したら、送信間隔カウント部405は、時間差検出部404に、送信間隔[T’]がカウントされたことを通知する(ステップS603)。送信間隔[T’]がカウントされたことは、送信間隔[T’]が計測されたことを意味する。
【0060】
受信間隔計測部406(この例では、第1受信間隔計測部4061、第2受信間隔計測部4062、および第3受信間隔計測部4063の各々)は、受信されたSyncパケットに付与されたタイムスタンプ情報で示される時刻([n])を受信解析フィルタ313から得て、直前に受信されたSyncパケットの受信時刻([n-1])との時間差を計測し、時間差を受信間隔とする(ステップS605)。そして、受信データ処理部310は、時間差検出部404(この例では、第1時間差検出部4041、第2時間差検出部4042、および第3時間差検出部404の各々)に受信間隔を通知する。
【0061】
マスタ装置でカウントされた送信間隔[T]と、スレーブ装置でカウントされた送信間隔[T’]とは、機器ごとにクロックが異なるため、わずかなカウントのずれが生じる。時間差検出部404は、送信間隔カウント部405から通知された送信間隔[T’]と、受信間隔計測部406から通知された受信間隔との時間差を、各々のパスについて算出する(ステップS606)。時間差は、伝送遅延に相当する。
【0062】
後述するステップS621の処理で定常状態のパスと異なるパスが選択された場合には、ステップS608,S609の処理が実行される状態に移行する。なお、ステップS621の処理で一旦定常状態のパスが定められた後に、ステップS621の処理で、そのパスとは異なるパスが選択された場合に、異なるパスが選択されたことになる。また、異なるパスが選択されたときには、そのパスの品質に比べて、定常状態のパスの品質が低下したことになる。
【0063】
異なるパスが選択されなかった場合には、伝送揺らぎ検出部403は、あらかじめ定めた時間(例えば、10分間)において時間差検出部404が検出したサンプル数x(例えば、600回分)の時間差から各々のパスの分散値を算出する。伝送揺らぎ検出部403は、分散値を、各パスにおける伝送遅延の揺らぎの大きさとする(ステップS616,S617)。
【0064】
伝送揺らぎ検出部403は、それぞれのパスについて検出された分散値(伝送遅延の揺らぎの大きさ)を比較し、最も揺らぎが小さいパスを選択して伝送揺らぎ吸収部401に通知する(ステップS618)。
【0065】
伝送揺らぎ吸収部401は、通知を受けたパスについてのサンプル数x(例えば、600回分)の時間差の平均値を算出する(ステップS619)。クロック補正部308は、時計309を、伝送揺らぎ吸収部401が算出した平均値(補正値)分補正する(ステップS620)。なお、具体的には、クロック補正部308は、例えば、発振器306の発振周波数を補正する。
【0066】
上記の一連の動作(ステップS602~S606,S616~S620の処理)が所定回数実行されると(ステップS621)、品質が安定しているパスが定まる。なお、品質が安定しているパスは、ステップS618の処理で繰り返し選択されたパス(例えば、所定回選択されたパス)である。また、品質が安定しているパスは、伝送遅延の揺らぎの大きさが、あらかじめ定められている値(しきい値)以下になっているパス、または、伝送遅延の揺らぎが最も小さいパスである。伝送遅延の揺らぎの大きさが、あらかじめ定められているしきい値よりも大きくなるパスを品質低下のパス(品質が低下しているパス)とする。そして、制御部307は、品質が安定しているパスを選択して、そのパスを定常状態のパスとして記憶する(ステップS622)。この例では、第1パスを示すデータが記憶される。
【0067】
次に、定常状態のパスとは異なるパスが選択された場合の処理を説明する(ステップS607の処理で「Y」の場合)。
【0068】
制御部307は、定常状態のパスの品質が低下したと判断した場合に(ステップS607)、他のパスを一時的に使用するパス(一時避難パス)とする。そして、制御部307は、短い周期で各パスの状態を検出するようにSyncパケット処理部311に通知する。
【0069】
なお、制御部307は、例えば、ステップS621の処理で、定常状態のパスとは異なるパスが選択された場合に、定常状態のパスの品質が低下したと判断する。
【0070】
Syncパケット処理部311が制御部307から通知を受けると、全パス状態判断部402における状態検出部(
図5に示された例では、状態検出部5021,5022,5023の各々)は、時間差検出部404(
図5に示された例では、第1時間差検出部4041、第2時間差検出部4042、および第3時間差検出部4043の各々)から取得した伝送遅延の揺らぎを示す時間差と、以前に取得した時間差とから、伝送遅延の変動量を算出する。
【0071】
分散算出部(
図5に示された例では、分散算出部5011,5012,5013の各々)は、対応する時間差検出部404(
図5に示された例では、時間差検出部4041,4042,4043)が検出した時間差をサンプルとして、あらかじめ定めた定常状態における間隔よりも短い間隔(例えば1分)におけるサンプルy(例えば60回分)の分散値を算出する。状態検出部(
図5に示された例では、状態検出部5021,5022,5023)は、時間差検出部404(
図5に示された例では、第1時間差検出部4041、第2時間差検出部4042、第3時間差検出部4043)が検出した時間差と以前に検出された時間差とに基づいて、伝送遅延の変動量を算出する(ステップS608)。
【0072】
また、状態検出部5021,5022,5023は、分散算出部5011,5012,5013が算出した分散値を入力する。状態検出部5021,5022,5023は、伝送遅延の変動量と分散値とをパス選択部503に出力する。
【0073】
パス選択部503は、状態検出部(
図5に示された例では、状態検出部5021,5022,5023の各々)から入力された各パスの状態を相対的に比較して一時避難パスを選択する(ステップS610,S611)。
【0074】
例えば、パス選択部503は、状態検出部5021,5022,5023から入力された各々のパスについての伝送遅延の変動量を比較するとともに各々のパスについての分散値の推移を比較する。そして、パス選択部503は、伝送遅延が急激に変化していないパスであって、伝送遅延の変動が最も小さいパスを選択し、選択したパスを一時避難パスとする。なお、分散値の推移は、複数回算出された分散値に基づいて判断される。
【0075】
パス選択部503は、パスを切替える前、すなわち、定常パスの品質が低下する前のあらかじめ定められた回数分の時間差の平均値(補正値)を算出する。クロック補正部308は、時計309を補正値で補正する。クロック補正部308は、時計309を補正するために、例えば、発振器306の発振周波数を補正する。そして、制御部307は、使用するパスを、定常状態のパス(この例では、第1パス)から、一時避難パスに切替える(ステップS613,S614)。
【0076】
定常状態で使用されていたパス(この例では、第1パス)の品質が安定し、ステップS611の処理で再度選択された場合には、Syncパケット処理部311は、制御部307に、定常状態のパスが安定したことを通知する。制御部307は、短い周期のパス選択動作(ステップS608~S614の処理)を終了し、定常状態時の動作に戻る(ステップS615)。
【0077】
図8は、時刻同期に使用されるパスの選択の例を示す説明図である。
【0078】
図8において、横軸は、経過時間を示す。縦軸は、遅延の大きさを示す。
図8に示す例では、最初の10秒間において第1パスが用いられ、次の10秒間において第3パスが用いられ、20秒経過時に、使用されるパスが第1パスに戻る。
【0079】
以上に説明したように、第1の実施形態の時刻同期システムにおいて、スレーブ装置は、無線帯域が異なる複数のパスの伝送遅延を比較する。スレーブ装置は、伝送遅延の揺らぎが最も安定しているパスを介する通信に基づいて時刻同期を行う。そのため、第1の実施形態の時刻同期システムは、単独の無線帯域を使用する時刻同期に比べて、無線環境の変動があっても、精度よく時刻同期を行うことができる。
【0080】
また、第1の実施形態の時刻同期システムにおいて、スレーブ装置は、使用しているパス(定常状態のパス)で品質の低下が検出された場合に、定常状態での間隔よりも短い間隔で伝送遅延の揺らぎを検出し、検出した揺らぎに基づいて時刻同期を行う。従って、定常状態のパスにおいて品質が低下しても、精度よく時刻同期を行うことができる。
【0081】
なお、本実施形態では、データのばらつきを判別する値として分散値を使用していたが標準偏差を使用してもよい。
【0082】
実施形態2.
第2の実施形態では、スレーブ装置は、全てのパスについて品質の劣化を検出すると、マスタ装置の時刻同期制御に関して障害が発生したと判定する。
【0083】
図9は、第2の実施形態のSyncパケット処理部311における全パス状態判断部402の構成例を示すブロック図である。Syncパケット処理部311以外のデータ転送装置(特に、スレーブ装置)の構成は、第1の実施形態における構成と同じである。
【0084】
全パス状態判断部402は、マスタ異常検出部504を含む。マスタ異常検出部504は、各パスにおける状態検出部(
図9に示された例では、状態検出部5021,5022,5023の各々)の検出データ(伝送遅延の変動量および分散値)を確認する。マスタ異常検出部504は、全てのパスについて品質の低下が検出した場合に、マスタ装置に障害が発生したと判断する。全パス状態判断部402におけるその他の構成は、第1の実施形態における構成と同じである。
【0085】
図10および
図11は、第2の実施形態の時刻同期システムの動作を示すフローチャートである。なお、ステップS601~ステップS622の動作は、第1の実施形態における動作と同様である。
【0086】
ステップS701で、マスタ異常検出部504は、全パスにおける状態検出部5021,5022,5023の検出データを確認する。マスタ異常検出部504は、全パスについて品質の低下を確認した場合には、マスタ装置において時刻同期に関する障害が発生したと判断する。
【0087】
マスタ異常検出部504がマスタ装置において時刻同期に関する障害が発生したと判断した場合には、クロックの補正(ステップS612,S613の処理)は実行されない。
【0088】
以上に説明したように、第2の実施形態の時刻同期システムにおいて、マスタ異常検出部504は、いずれのパスを用いても精度よく時刻同期できないと判断した場合、すなわち、全パスについて品質の低下を確認した場合には、時刻同期の制御を行うことなく、マスタ装置に障害が発生したとする。
【0089】
なお、スレーブ装置において表示手段や音出力手段が設けられている場合には、それらを用いて、マスタ装置において障害が発生したと判断されたことをユーザに報知してもよい。
【0090】
次に、本発明の概要を説明する。
図12は、本発明によるスレーブ装置の主要部を示すブロック図である。スレーブ装置800は、マスタ装置が無線帯域が異なる複数のパスを介して送信するパケットに基づいてマスタ装置との時刻同期を行うスレーブ装置800であって、各々がいずれかのパスを介してパケットを受信する複数の受信手段801(例えば、無線部314における第1~第n無線通信部で実現される。)と、複数の受信手段の各々が受信したパケットの受信間隔を計測する受信間隔計測手段802(例えば、受信間隔計測部406で実現される。)と、マスタ装置がパケットを送信する間隔を自身のクロックを用いて送信間隔として計測する送信間隔計測手段803(例えば、送信間隔カウント部405で実現される。)と、各々の受信間隔と送信間隔との差を算出する時間差計算手段804(例えば、時間差検出部404で実現される。)と、時間差計算手段804が時間経過により送信間隔毎に算出した一定数の差から分散をとり標準偏差の値を算出する標準偏差計算手段805(例えば、伝送揺らぎ吸収部401および伝送揺らぎ検出部403で実現される。)と、各々のパスで標準偏差計算手段805が算出した値のうち最も小さい値を選択する比較選択手段806(例えば、パス選択部503で実現される。)と、選択した値を用いて時刻補正を行う補正手段807(例えば、クロック補正部308)とを備える。
【0091】
そのような構成により、無線リソースの消費を節減しつつ、精度の高いクロック同期を実現することができる。
【0092】
スレーブ装置は、時間差計算手段804が複数回算出した差を用いて分散値を算出する分散算出手段(例えば、伝送揺らぎ検出部403、分散算出部5011,5012,5013)と、最も小さい分散値を呈した受信間隔が計測されたパケットを転送したパスを、時刻同期のために使用する定常状態のパスとして選択するパス選択手段(例えば、制御部307、パス選択部503)とを備えていてもよい。
【0093】
なお、定常状態では、伝送揺らぎ検出部403が分散算出手段として機能し、制御部307が、パス選択手段として機能する。非定常状態では、分散算出部5011,5012,5013が分散算出手段として機能し、パス選択部503が、パス選択手段として機能する。
【0094】
図13は、本発明による時刻同期システムの主要部を示すブロック図である。時刻同期システム1000は、スレーブ装置800と、マスタ装置900とが無線帯域が異なる複数のパスを介して接続され、マスタ装置900は、タイムスタンプを含むパケットを生成するパケット生成手段901(例えば、Syncパケット生成部303)と、パケットを送信する送信手段902(例えば、送信データ処理部302)とを備える。
【0095】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0096】
この出願は、2019年9月9日に出願された日本特許出願2019-163599を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0097】
101 端末
102 データ転送装置(マスタ装置)
103~110 無線通信部
111 データ転送装置(スレーブ装置)
112 端末
113 データ転送装置(スレーブ装置)
301 データ転送装置
302 送信データ処理部
303 Syncパケット生成部
304 バッファ
305 送信間隔タイマ
306 発振器
307 制御部
308 クロック補正部
309 時計
310 受信データ処理部
311 Syncパケット処理部
312 バッファ
313 受信解析フィルタ
314 無線部
401 伝送揺らぎ吸収部
402 全パス状態判断部
403 伝送揺らぎ検出部
404 時間差検出部
405 送信間隔カウント部
406 受信間隔計測部
5011,5012,5013 分散算出部
5021,5022,5023 状態検出部
503 パス選択部
504 マスタ異常検出部
800 スレーブ装置
801 受信手段
802 受信間隔計測手段
803 送信間隔計測手段
804 時間差計算手段
805 標準偏差計算手段
806 比較選択手段
807 補正手段
900 マスタ装置
901 パケット生成手段
902 送信手段
1000 時刻同期システム