(57)【要約】      （修正有）【課題】簡単な構成で高応答性を実現したネットワーク同期方法と同期化回路を提供する。【解決手段】同期パケットのマスタカウンタ値と、そのタイミングでのスレーブカウンタ値の差分から経路ジッタを算出する。直近のものを含めた複数個の経路ジッタを記憶する。記憶された複数個の経路ジッタのうち最小経路ジッタを抽出する。各経路ジッタと最小経路ジッタの差分から予測経路ジッタを形成する。スレーブカウンタ値に予測経路ジッタを加えて補正後スレーブカウンタ値を算出する。直近のものを含めた複数個の補正後スレーブカウンタ値を記憶する。直近のものを含めた複数個の同期パケットのマスタカウン値を記憶する。記憶された２つの補正後スレーブカウン値の差分と、それに対応し２つのマスタカウンタ値の差分との比から周波数偏差を算出してネットワーク同期を行う。【選択図】図２
2011023788.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信された同期パケットのマスタカウンタ値と、上記同期パケットの受信タイミングでのスレーブカウンタ値の差分に対応した経路ジッタを算出する第１手順と、
上記第１演算部で形成され、直近のものを含めた複数個の経路ジッタを第１履歴部に記憶する第２手順と、
上記第１履歴部に記憶されている複数個の経路ジッタのうち最小経路ジッタを抽出する第３手順と、
上記第１演算部で形成された経路ジッタと上記最小経路ジッタとの差分に対応した予測経路ジッタを算出する第４手順と、
上記スレーブカウンタ値と上記予測経路ジッタとの差分に対応した補正後スレーブカウンタ値を算出する第５手順と、
直近のものを含めた複数個の上記補正後スレーブカウンタ値を第２履歴部に記憶する第６手順と、
上記スレーブカウンタ値に対応し、上記直近のものを含めた複数個の同期パケットのマスタカウン値を第３履歴部に記憶する第７手順と、
上記第２履歴部から取り出した２つの補正後スレーブカウン値の差分と、それに対応し上記第３履歴部から取り出した２つのマスタカウンタ値の差分との比から周波数偏差を算出する第８手順と、
上記算出された周波数偏差を用いて上記スレーブカウンタ値の補正を行う第９手順とを有する、
ネットワーク同期方法。
【請求項２】
請求項１において、
上記マスタカウンタ値及びスレーブカウンタ値は、予め適用されたネットワークの通信プロトコルに対応して通信遅延成分が補正される、
ネットワーク同期方法。
【請求項３】
請求項１又は２において、
上記予測経路ジッタは、上記算出された周波数偏差を用いて補正される、
ネットワーク同期方法。
【請求項４】
ネットワークを介してマスタ装置と接続可能にされ、かかるマスタ装置から送信された同期パケットを受けるプロトコル処理部とスレーブカウンタとを有するスレーブ装置に搭載可能にされ、
経路ジッタ算出部と、
周波数偏差算出部とを有し、
上記経路ジッタ算出部は、
第１演算部と、
第１履歴部と、
最小値算出部と、
第２演算部とを有し、
上記第１演算部は、ネットワークを介して受信された同期パケットのマスタカウンタ値と、上記同期パケットの受信タイミングでのスレーブカウンタ値との差分に対応した経路ジッタを算出し、
上記第１履歴部は、上記第１演算部で形成され、直近のものを含めた複数個の経路ジッタを記憶し、
上記最小値算出部は、上記第１履歴部に記憶されている複数個の経路ジッタのうち最小経路ジッタを抽出し、
上記第２演算部は、上記第１演算部で形成された経路ジッタと上記最小経路ジッタの差分に対応した予測経路ジッタを算出し、
上記周波数偏差算出部は、
第３演算部と、
第２履歴部と、
第３履歴部と、
第４演算部とを有し、
上記第３演算部は、上記スレーブカウンタ値と上記予測経路ジッタの差分である補正後スレーブカウンタ値を算出し、
上記第２履歴部は、直近のものを含めた複数個の上記補正後スレーブカウンタ値を記憶し、
上記第３履歴部は、上記スレーブカウンタ値に対応し、上記直近のものを含めた複数個の同期パケットのマスタカウン値を記憶し、
上記第４演算部は、上記第２履歴部から取り出した２つの補正後スレーブカウンタの差分と、それに対応し上記第３履歴部から取り出したマスタカウン値の差分との比から周波数偏差を算出し、
上記算出された周波数偏差を用いて上記スレーブカウンタ値の補正を行う、
同期化回路。
【請求項５】
請求項４において、
上記第１履歴部は、第１レジスタにより変更可能にされたＮ個分の経路ジッタの記憶が行われ、
上記第２履歴部及び第３履歴部は、第２レジスタにより変更可能にされたＭ個分の補正後スレーブカウンタ値と、マスタカウンタ値の記憶がそれぞれ行われる、
同期化回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク同期方法と同期化回路に関し、例えばネットワークを通して周期的に受信された同期パケットに対応したクロックを生成するネットワーク同期方法と同期化回路に利用して有効な技術に関するものである。
【背景技術】
【０００２】
通信網に接続された各通信端末等における時刻を管理する通信装置間の時刻管理方式として特許文献１がある。この特許文献１においては、通信網での遅延による要求局、応答局双方で生じる時刻誤差を低減させるために、応答局から送信された時刻データに時刻通知の要求送信から応答受信までの経過時間の半分の時間を加えて、新たに自局で管理する時刻データとする。また、過去に得られた前記補正済の時刻データの複数個と、これらの時刻データを受信した時の自局での時刻データの関係から時刻算出関数を導出して、この時刻算出関数に自局での現在時刻データを入力することにより正しいと予測される時刻データを得るというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０４−２８１６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図６には、本願発明に先立って検討された同期システムの概略ブロック図が示されている。同図において、想定したイーサネット（登録商標）又はEthernet（登録商標）同期システム条件は、以下のようなものとする。上記ネットワークに接続される装置は、１台のマスタ装置と１台以上のスレーブ装置である。マスタ装置とスレーブ装置それぞれにクロック発振器をもち、それぞれのクロック発振器の出力するクロックで動作する。システムのクロックマスタとなる装置をマスタ装置とする。マスタ装置は、入力するクロックで動作するマスタカウンタを持つ。スレーブ装置は、入力クロックで動作するスレーブカウンタと同期カウンタを持つ。スレーブ装置は、マスタ装置のクロックに追従するための同期機構を持つ。同期機構はマスタカウンタとスレーブカウンタの差を計り、同期カウンタを補正し、マスタカウンタに同期カウンタを追従させ、マスタカウンタと同期カウンタ間で同期を取る。
【０００５】
上記発振器はそれぞれの装置毎に個体差があり、周波数は一致していない。例えば、周波数偏差0〜100ppm程度である。上記ネットワークは、パケット中継器で装置間をつないでいる。パケット中継器は同期パケット（以下、SYNCパケットという）や通常パケットを中継する。SYNCパケットはマスタ装置から定期的に発行し、スレーブ装置に送る。例えば、SYNCパケット送信間隔は、10μs〜60s である。スレーブ装置はSYNCパケットからマスタ装置との位相差や周波数偏差を計る。SYNCパケット内に、マスタ装置のタイムスタンプ（マスタカウンタのカウント値）を含む。上記システム同期で同期が取れている状態とは、マスタ装置のマスタカウンタとスレーブ装置の同期カウンタのカウント値の差が予め想定した範囲に収まっている状態を言う。すなわち、マスタカウンタに同期カウンタが追従し、カウント値の差分が小さい状態を言う。
【０００６】
スレーブ装置がマスタクロックに同期するには、マスタカウンタとスレーブカウンタの関係をSYNCパケットを通じて必要な情報１〜３を収集する。情報１は、マスタクロックとスレーブクロックの周波数偏差、情報２はマスタカウンタとスレーブカウンタの位相差（カウント値の差分）及び情報３はSYNCパケットの経路ディレイである。本願発明では、上記情報１〜３のうち主として上記情報１である周波数偏差を求める手法に関するものである。
【０００７】
スレーブ装置がマスタクロックの周波数を知る手順は以下の通りである。手順１として、マスタ装置から定期的にSYNCパケットを送信し、スレーブ装置が受信する。手順２として、スレーブ装置はSYNCパケット内に含むマスタ装置のタイムスタンプと自装置の同期カウンタと比較する。手順３として、スレーブ装置は比較した結果、マスタ装置のタイムスタンプが進んでいれば、スレーブ装置の同期カウンタを進め、遅れていれば、スレーブ装置の同期カウンタを遅らす補正をする。
【０００８】
上記手順１〜３にあるカウンタ補正について、ネットワーク同期をする上でカウンタ補正の考慮すべき点は、急激なカウンタ補正は避けることである。急激な補正を行うと、カウンタ値に従って動作している周辺回路の誤動作につながるので、緩やかなカウンタ補正が求められる。緩やかな補正を行うためには、小さい補正を定期的に行う必要がある。定期的な補正はマスタカウンタとスレーブカウンタ間の周波数偏差がわかれば、偏差に合わせた小さい補正を定期的に行うことができる。
【０００９】
図７には、経路遅延一定の場合のマスタカウンタとスレーブカウンタの関係の説明図が示されている。上記ネットワーク同期を理解する上で必要なマスタカウンタとスレーブカウンタの関係を検証する。同図のように経路遅延一定（SYNCパケットの揺らぎ無し）ケースでは、マスタ装置から先頭のSYNCパケット(s0)を送信する。s0のマスタカウント値は‘０’とし、スレーブ装置はs0のパケット（先頭パケット）受信した時だけスレーブカウンタ値にセットする。SYNCパケット(s0〜s5)を送信した時のマスタ装置とスレーブ装置のカウンタの関係は同図に示したようになる。同図では、SYNCパケット中継経路の通過時間は一定としている。
【００１０】
図７から、マスタ装置のマスタカウンタとスレーブ装置のスレーブカウンタ関係を式で表すと（式１）のようになる。（式１）で、a はマスタ装置入力周波数とスレーブ装置入力周波数の比であり、b はマスタ装置からスレーブ装置までの経路遅延である。
Y = aX + b       ・・・・・（式１）
【００１１】
上記a の値から、スレーブ装置の入力クロックを基準にして、マスタクロックとスレーブクロックの周波数偏差は、（式２）のようになる。（式２）からマスタ装置とスレーブ装置の周波数が等しければa は1 になり、偏差 =0 になる。
周波数偏差＝ a-1        ・・・・・（式２）
【００１２】
実際には、SYNCパケットに揺らぎを含む。上記ネットワークシステムで、SYNCパケットの中継時間に揺らぎが発生する。揺らぎの原因は、図８に示したようにパケット中継器で一般パケットとSYNCパケットが競合した場合、SYNCパケットがパケット中継器で一般パケットの処理が終了するまで待たせることにある。また、SYNCパケットの中継経路中の回路中に同期回路を含むため、同期化タイミングによって遅れることがある。上記２つ原因のうち主要因は一般パケットとSYNCパケットが競合である。本願明細書では、SYNCパケットの中継時間の揺らぎ分を経路ジッタとする。
【００１３】
図９には、基本的な周波数偏差の求め方(基本偏差検出法)の説明図である。マスタクカウンタとスレーブクカウンタの周波数偏差を求めるには２点のSYNCパケット情報から傾きを計算する。SYNCパケット情報とはSyncパケット内に含むタイムスタンプとSYNCパケット受信時のスレーブクカウント値である。図９において、SYNCパケットS2とS5それぞれのx座標、y座標をS2 : (x2 , y2)とS5 : (x5 , y5)とする。２点のX方向の距離(w) , Y方向の距離(h) は、（式３）及び（式４）で求められる。
w = x5 - x2 ・・・・・（式３）
h = y5 - y2 ・・・・・（式４）
【００１４】
この結果から、傾きと、偏差は（式５）及び（式６）で計算できる。
傾き   =  a  = h / w  ・・・・・（式５）
偏差   = a - 1 = (h / w ) - 1・・・・・（式６）
【００１５】
マスタクロックとスレーブクロックそれぞれに周囲温度の変化や経年変化があり、周波数が変化するので、偏差計算は定期的に行う必要がある。上記基本偏差検出法には経路ジッタによるゆらぎを考慮していない。よって、次のように経路ジッタを含むとマスタクロックとスレーブクロックの周波数偏差と計算で求めた値に差が生じる。結果として、同期精度が落ちるという問題を有する。
【００１６】
図１０には、SYNCパケットに経路ジッタ発生した場合のマスタカウンタとスレーブカウンタの関係の説明図が示されている。同図において○で示したs1〜s5は、経路ジッタがないときのSYNCパケット到着時のタイムスタンプとスレーブカウンタのカウンタをプロットしたものであり、●で示したd1〜d5は、経路ジッタが有るときのSYNCパケット到着時のタイムスタンプとスレーブカウンタのカウンタをプロットしたものである。経路ジッタが発生すると、スレーブ装置でSYNCパケットの受信タイミングが遅れ、スレーブカウンタ値が大きくなり、SYNCパケットのプロット位置は右に移動することがわかる。
【００１７】
図１１には、経路ジッタがある場合の上記基本偏差検出法での問題説明図である。上記同様に○で示したs1〜s5は、経路ジッタがないときのSYNCパケット到着時のタイムスタンプとスレーブカウンタのカウンタをプロットしたものであり、●で示したd1〜d5は、経路ジッタが有るときのSYNCパケット到着時のタイムスタンプとスレーブカウンタのカウンタをプロットしたものである。マスタ装置からSYNCパケットS2とS5間を送信し、スレーブ装置到達までに経路ジッタが発生するとs2とs5のSYNCパケットをd2,d5で受信する。d2とd5から二点間の傾きがa'になり、a = a'になる。
【００１８】
図１２には、経路ジッタを含む事も考慮した２点間拡張法の原理説明図である。この２点間距離拡張法は、経路ジッタの影響力を小さくするために、２つのSYNCパケット間を十分空ける方法である。同図の例では偏差計算する二点の距離を経路ジッタより十分大きな距離(時間)をあけたd2とdnで計算し、傾きa''を求める。求めた傾きa''は同図のようにｗ，ｈが経路ジッタに対して十分大きいのでa ≒  a''になる。
【００１９】
図１３には、経路ジッタを含む事も考慮した統計処理法（最小二乗法）である。つまり、前記特許文献１にも採用されている統計処理法（最小二乗法）を利用するものである。つまり、経路ジッタを含んだSYNCパケット情報から統計的手法を用いて傾きを求める方法である。求め方は各ポイントSYNCパケットと距離が最小になる直線y'''= a'''x+ b''' を求める。統計処理するポイントが多ければ、y=ax+bとy'''=a'''x+b''' が平行に近づきa=a'''と扱える。y'''= a'''x+b'''を求める計算は最小二乗法を利用できる。
【００２０】
しかしながら、前記図１２で説明した２点間距離拡張法は、経路ジッタが大きいネットワーク環境ではSYNCパケットの２点間の距離（時間）あけなければならないことから、SYNCパケット送信開始から同期確立するまでの時間が長くなるという問題を有する。前記図１３で説明した統計処理手法は、平均値と各ポイントの差分が必要になる。つまり、前記基本偏差検出法や前記２点間距離拡張法比べて偏差を算出する計算量が多くなる。計算量が多いことから、第１に偏差出力に時間を要する。第２に、スレーブ装置に搭載される同期機構の回路規模（ＬＳＩ）のゲート規模を大きくなり、それに伴い消費電力も増えるという問題を有する。
【００２１】
この発明の目的は、簡単な構成で高応答性を実現したネットワーク同期方法と同期化回路を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２２】
本願において開示される１つの実施例は、以下の通りである。受信したSYNCパケットのタイムスタンプと、その受信タイミングでのスレーブカウンタ値の差分に対応した経路ジッタを算出する。直近のものを含めた複数個の経路ジッタを第１履歴部に記憶する。複数個の経路ジッタのうち最小経路ジッタを抽出する。上記経路ジッタと上記最小経路ジッタの差分に対応した予測経路ジッタを算出する。スレーブカウンタ値に上記予測経路ジッタを加えた補正後スレーブカウンタ値を形成する。直近のものを含めた複数個の上記補正後スレーブカウンタ値を第２履歴部に記憶する。スレーブカウンタ値に対応し、上記直近のものを含めた複数個の同期パケットのマスタカウン値を第３履歴部に記憶する。上記第２履歴部から取り出した２つの補正後スレーブカウン値の差分と、それに対応し上記第３履歴部から取り出した２つのマスタカウンタ値の差分との比から周波数偏差を算出してネットワーク同期を行う。
【００２３】
本願において開示される他の１つの実施例は、以下の通りである。同期化回路は、ネットワークを介してマスタ装置から送信された同期パケットを受けるプロトコル処理部とスレーブカウンタとを有するスレーブ装置に搭載可能にされて経路ジッタ算出部、周波数偏差算出部を有する。経路ジッタ算出部の第１演算部は、ネットワークを介して受信された同期パケットのマスタカウンタ値と、上記同期パケットの受信タイミングでのスレーブカウンタ値の差分に対応した経路ジッタを算出する。経路ジッタ算出部の第１履歴部は、直近のものを含めた複数個の経路ジッタを記憶する。経路ジッタ算出部の最小値算出部は、第１履歴部に記憶されている複数個の経路ジッタのうち最小経路ジッタを抽出する。経路ジッタ算出部の第２演算部は、経路ジッタと最小経路ジッタの差分に対応した予測経路ジッタを形成する。周波数偏差算出部の第３演算部は、スレーブカウンタ値に上記予測経路ジッタを加えた補正後スレーブカウンタ値を算出する。周波数偏差算出部の第２履歴部は、直近のものを含めた複数個の補正後スレーブカウンタ値を記憶する。周波数偏差算出部の第３履歴部は、直近のものを含めた複数個の同期パケットのマスタカウン値を記憶する。第４演算部は、２つの補正後スレーブカウンタの差分と、それに対応し上記第３履歴部から取り出したマスタカウン値の差分との比から周波数偏差を算出する。
【発明の効果】
【００２４】
前記２点間距離拡張法と比較し、偏差計算で使用する２点間の距離（時間）をあけなくていいので周波数偏差を早期に計算できることからSYNCパケット送信開始から同期確立までを短くできる。統計的な手法である最小二乗法を使わないことから計算回数が少なくなり、偏差出力を短時間に出力可能になる。計算方法が単純であるので同期化回路のゲート規模を小さくでき、消費電力を抑えることができる。
【図面の簡単な説明】
【００２５】
【図１】この発明が適用されるネットワークのシステム構成図である。
【図２】この発明に係る同期化回路の一実施例のブロック図である。
【図３】この発明に係るマスタカウンタとスレーブカウンタの関係の説明図である。
【図４】この発明に係るマスタカウンタとスレーブカウンタの関係の説明図である。
【図５】この発明を説明するためのマスタカウンタとスレーブカウンタの関係の説明図である。
【図６】本願発明に先立って検討された同期システムの概略ブロック図である。
【図７】経路遅延一定の場合のマスタカウンタとスレーブカウンタの関係の説明図である。
【図８】パケット競合による経路遅延の発生を表す概略図である。
【図９】基本的な周波数偏差の求め方(基本偏差検出法)の説明図である
【図１０】SYNCパケットに経路ジッタ発生した場合のマスタカウンタとスレーブカウンタの関係の説明図である。
【図１１】経路ジッタがある場合の基本偏差検出法での問題説明図である。
【図１２】経路ジッタを含む事も考慮した２点間拡張法の原理説明図である。
【図１３】経路ジッタを含む事も考慮した統計処理法（最小二乗法）の説明図である。
【発明を実施するための形態】
【００２６】
添付の図面に沿って、この発明の好ましい実施の形態について詳細に説明する。
【実施例】
【００２７】
図１には、この発明が適用されるネットワークシステム構成図が示されている。同図は、時刻のマスタとなるマスタ装置Ｍ０、マスタ装置に時刻を同期させるスレーブ装置Ｓ１〜Ｓ３１、スイッチングハブＨ０，Ｈ１から構成される。マスタ装置Ｍ０とスレーブ装置Ｓ１〜Ｓ１５は、スイッチングハブＨ０を介して接続される。マスタ装置Ｍ０とスレーブ装置Ｓ１６〜Ｓ３１は、スイッチングハブＨ０及びＨ１を介して接続される。マスタ装置Ｍ０の時刻を生成するマスタカウンタを動作させるクロック（マスタクロック）は、例えば２００MHzであり、本ネットワークシステムのマスタ時刻となる。スレーブ装置Ｓ１〜Ｓ３１のローカル時刻を生成するスレーブカウンタを動作させるクロック（スレーブクロック）は、例えば約２００MHzであり、マスタクロックに対して最大１００ppm程度の誤差を持つ。
【００２８】
マスタ装置Ｍ０は、クロック発信器を含むマスタカウンタと同期パケット生成部を有する。同期パケット生成部は、タイムスタンプとなるマスタカウンタ値<mc>iを含む同期パケットを生成する。例えば１０ms毎に生成されたタイムスタンプを同期パケットとして、スレーブ装置Ｓ１〜Ｓ３１にブロードキャスト送信する。スレーブ装置Ｓ１〜Ｓ３１のそれぞれは、代表としてＳ３１に示されているように、同様なクロック発信器を含むスレーブカウンタ、同期パケットを受けるプロトコル処理部及び同期化回路を有している。スレーブ装置Ｓ１〜Ｓ３１は、同期パケットの受信をトリガとして、同期パケットに含まれるタイムスタンプと、スレーブカウンタで生成された自己のタイムスタンプであるスレーブカウンタ値<sc>iとを比較する。同期化回路では、マスタ装置とスレーブ装置との間の時刻同期に必要なマスタクロックとスレーブクロック間の周波数偏差の算出を行う。
【００２９】
プロトコル処理部は、マスタ装置Ｍ０からのSYNCパケットを受信し、同期パケットに含まれる時刻を示すマスタカウンタ値<mc>iを生成する。同期化回路は、上記マスタカウンタ値<mc>iと、上記スレーブカウンタ値<sc>iとを比較して、周波数偏差の算出を行う。スイッチングハブＨ０及びＨ１では、同期パケット及び通常パケットの中継により、通信遅延時間が生じる。スイッチングハブＨ０及びＨ１での同期パケットの中継遅延時間は、例えば固定遅延２０us、変動遅延最大１２３．０４us程度のような範囲で大きく変動する。このため、本願に係る同期化回路により、高速応答性を持った高い精度の同期動作が行われる。
【００３０】
図２には、この発明に係る同期化回路の一実施例のブロック図が示されている。同図は、スレーブ装置がマスタ装置からネットワークを介して取得したSYNCパケットの情報を利用して周波数偏差を算出する。同図の同期化回路は、プロトコル処理部、経路ジッタ算出部、周波数偏差算出部を有している。
【００３１】
プロトコル処理部は、SYNCパケットを受信して、マスタカウンタ値であるデータ値１を生成する。スレーブカウンタは、自己の発信器で形成されたスレーブクロックにより、スレーブカウンタ値であるデータ値２を生成する。上記データ値１は、マスタカウンタ値<mc>iとして上記経路ジッタ算出部内の演算部ＡＵ１に供給される。上記データ値２は、スレーブカウンタ値<sc>iとして上記経路ジッタ算出部内の演算部ＡＵ１及び上記周波数偏差算出部内の演算部ＡＵ３に供給される。
【００３２】
上記演算部ＡＵ１は、供給された上記マスタカウント値<mc>i及びそのときの上記スレーブカウンタ値<sc>iのカウンタ差分<dc>iを生成し、上記カウンタ差分履歴部ＴＢＬ１及び演算部ＡＵ２に供給する。上記最小値算出部ＭＩＮは、上記カウンタ差分履歴部ＴＢＬ１に記憶されたカウンタ差分の中から、最も小さいものであるmin<dc>を抽出して、上記演算部ＡＵ２に供給する。上記演算部ＡＵ２は、上記演算部ＡＵ１から供給されたカウント差分<dc>i及び上記最小値算出部ＭＩＮから供給された最小値に基づいて、予測経路ジッタ<pdj>iを生成し、上記周波数偏差算出部内の上記演算部ＡＵ３に供給する。
【００３３】
上記演算部ＡＵ３は、減算により経路ジッタ成分を除去し、補正されたスレーブカウンタ値<sc'>iを生成する。補正されたスレーブカウンタ値<sc'>iは、スレーブカウンタ値履歴部ＴＢＬ２に記憶される。補正されたスレーブカウンタ値<sc'>iに対応した上記マスタカウンタ値<mc>iは、マスタカウンタ値履歴部ＴＢＬ３に記憶される。演算部ＡＵ４は、上記スレーブカウンタ値履歴部ＴＢＬ２、上記マスタカウンタ値履歴部ＴＢＬ３により、周波数偏差であるデータ値３を算出する。
【００３４】
上記同期化回路の動作は、以下のように説明できる。上記演算部ＡＵ１においては、i番目に受信したSYNCパケットのマスタカウンタ値<mc>iと、上記i番目のSYNCパケットの受信タイミングにおけるスレーブカウンタ値<sc>iの差分<dc>iを、（式７）により算出する動作（１）が行われる。
<dc>i = <sc>i - <dc>i・・・・・（式７）
【００３５】
カウンタ差分履歴部ＴＢＬ１には、レジスタＲＥＧ１により設定されたエントリ数Ｎ個の上記カウンタ差分<dc>を保持する動作（２）が行われる。上記カウンタ差分履歴部ＴＢＬ１のエントリ数Ｎは、この実施例のようにレジスタＲＥＧ１を用いたソフトウェア的な設定の他に固定値としてもよい。上記カウンタ差分履歴部ＴＢＬ１には、直近のものを含んで、Ｎ個のカウンタ差分<dc>が記憶される。すなわち、上記カウンタ差分履歴部ＴＢＬ１には、Ｎ個以上のカウンタ差分<dc>が入力されると、直近のものが記憶され、それに代わって最も古いものが破棄される。
【００３６】
上記最小値算出部ＭＩＮは、カウンタ差分履歴部ＴＢＬ１に記憶されたＮ個のカウンタ差分<dc>のうち最小値min<dc>のものを経路ジッタが最も小さい値のものと推測して抽出する動作（３）を行う。
【００３７】
上記演算部ＡＵ２においては、上記最小値min<dc>が抽出された後のi番目のSYNCパケットの通信の予測経路ジッタ<pdj>iを（式８）により求める動作（４）が行われる。ここで、カウンタ差分履歴部ＴＢＬ１への保持期間が、当該履歴中の値が含む周波数差成分が十分無視できるレベルになるように、SYNCパケット送信間隔またはカウンタ差分履歴部ＴＢＬ１のエントリ数Ｎが決定される。
<pdj>i = <dc>i - min<dc>・・・・・（式８）
【００３８】
上記演算部ＡＵ３においては、経路ジッタ成分除去後のスレーブカウンタ値<sc'>iを生成するために、（式９）に従ってスレーブカウンタ値<sc>iから経路ジッタ成分を除去する動作（５）が行われる。
<sc'>i = <sc>i - <pdj>i・・・・・（式９）
【００３９】
上記スレーブカウンタ値履歴部ＴＢＬ２においては、上記（式９）で算出したスレーブカウンタ値除去後のスレーブカウンタ値<sc'>iが、レジスタＲＥＧ２により設定されたエントリ数Ｍ個分だけ記憶するという動作（６）が行われる。この履歴部ＴＢＬ２においても、上記カウンタ差分履歴部ＴＢＬ１の動作と同様に、直近のものを含んだＭ個が順次更新される。
【００４０】
上記マスタカウンタ値履歴部ＴＢＬ３においては、上記スレーブカウンタ値<sc'>iに対応したマスタカウンタ値<mc>iが、エントリ数Ｍ個分だけ記憶するという動作（７）が行われる。これにより、マスタ／スレーブカウンタ値履歴部ＴＢＬ３，ＴＢＬ２には、直近のＭ個のマスタカウンタ値<mc>i、経路ジッタ成分除去後のスレーブカウンタ値<sc'>iがそれぞれ保持される。周波数偏差を高精度に算出するためには、予測経路ジッタ<pdj>iと真の経路ジッタとの誤差を十分無視できるように、マスタ／スレーブカウンタ値履歴部ＴＢＬ３，ＴＢＬ２への保持期間が長くされる必要がある。例えば、マスタ／スレーブカウンタ値履歴部ＴＢＬ３，ＴＢＬ２へのエントリ数Ｍを大きくする、または、SYNCパケット間隔を大きくすることが必要である。
【００４１】
上記演算部ＡＵ４において、データ値３である周波数偏差<fa>jを、（式１０）により求める動作（８）が行われる。（式１０）の<mc>k, <sc'>kは、マスタカウンタ値、スレーブカウンタ値履歴部ＴＢＬ３，ＴＢＬ２に保持されている値である。経路ジッタ成分除去後のスレーブカウンタ値<sc'> iには、予測の固定遅延成分が含まれているが、上記（式１０）の分母[<sc'>(M-1) - <sc'>0] が予測値の差分を取るものであることにより相殺され、影響を受けない。ここで、<mc>(M-1)は、マスタカウンタ履歴部ＴＢＬ３の(M-1)番目に記憶された値であり、<mc>0は、マスタカウンタ履歴部ＴＢＬ３の0番目に記憶された値である。<sc'>(M-1)，<sc'>0も前期同様である。
<fa>j = [<mc>(M-1) - <mc>0] / [<sc'>(M-1) - <sc'>0] − 1・・・・・（式１０）
【００４２】
上記の動作（１）〜（８）により高精度に周波数偏差を算出することが可能である。上記の周波数偏差算出の方法を示す数式は、その説明に用いたものであり、実装を考慮して展開・簡単化をしたものを用いても良い。２点間距離拡張法や統計処理法は経路ジッタ対策であるが、この実施例のように経路ジッタを検出し、補正して取り除く方法（回路）により、上記２つの２点間距離拡張法や統計処理法を使わなくとも、単純な基本偏差検出法で高い精度の偏差検出が可能になる。スレーブ装置がマスタクロックに同期するには、上記算出された周波数偏差  <fa>j を用いて前記（式１）からスレーブ装置の時刻とするものである。
【００４３】
図３には、この発明に係るマスタカウンタとスレーブカウンタの関係の説明図が示されている。経路ジッタが発生する場合、マスタカウンタ値（Ｙ軸）に変化は無く、スレーブカウンタ（Ｘ軸）だけ大きくなる(片側遅延)という特徴がある。また、マスタカウンタとスレーブカウンタの関係は（式１）であり、このときの傾きはa ≒1であるという特徴もある。これらの特徴を、マスタカウンタとスレーブカウンタは短期間であれば周波数偏差による影響は小さいとして、（式１）における係数a = 1と扱うことができる。また、経路ジッタはマスタカウンタ値とスレーブカウンタ値の差分を（カウント差）計算し、差分が小さければ経路ジッタは小さく、大きければ、経路ジッタは大きいと捉えることができる。上記考察より、上記同期化回路により経路ジッタが計算でき、経路ジッタを取り除くことが可能になる。
【００４４】
同図では、例えば、s4の経路ジッタ(pd4)を直近のd2及びd3を用いて経路ジッタを求め、補正する方法を説明する。ここで、d3の経路ジッタは0、すなわち、s3=d4とする。まず、補正の基点となるポイント（以降、基点ポイントとする）をd2とd3から選択するには、タイムスタンプとスレーブカウントの差分を計算し、差分が小さいd3を選択する。d3と経路ジッタを含むSYNCパケットd4の間においては、（式１）における傾きaを1とすることから、s4の経路ジッタ(pd4)を求める式は（式１１）となる。
pd4 = d4カウンタ差分 - s3 カウンタ差分
= （d4スレーブカウンタ−d4タイムスタンプ）
−（d3スレーブカウンタ−d3タイムスタンプ）
= (x4 - y4) - (x3 - y3) ・・・・（式１１）
【００４５】
経路ジッタが求まれば、d4から経路ジッタを取り除いた（補正した）ポイントs'4は(x4-pd4 , y4)となる。補正したポイントを結べば、ほぼ直線になり、基本的な２点間から周波数偏差を求める式を用いることができる。
【００４６】
図４には、この発明に係るマスタカウンタとスレーブカウンタの関係の説明図が示されている。上記図３の説明は２点から基点ポイントを選択しているが、実動作は複数のSYNCパケットから選択する。これは、SYNCパケットの経路ジッタの主要因は一般パケットとの競合であり、複数回受信することで、一般パケットによる影響の少ないパケットを受信できる確立を高くする。
【００４７】
以上説明した実施例においては、前記図１２で説明したような２点間距離拡張法と比較し、偏差計算で使用する２点間の距離（時間）をあけなくていいので周波数偏差を早期に計算できるため、SYNCパケット送信開始から同期確立までを短くできる。また、前記図１３で説明したような統計的な手法である最小二乗法を使わないことから計算回数が少なくなり、偏差出力を短時間に出力可能になる。そして、計算方法が単純であるのでＬＳＩのゲート規模を小さくし、消費電力も抑えることができる。
【００４８】
図５には、この発明を説明するためのマスタカウンタとスレーブカウンタの関係の説明図が示されている。同図では、前記２点間距離拡張法で周波数偏差に必要な二点間の距離と本願発明で必要な距離の関係が示されている。前記２点間距離拡張法で求める偏差を求める始点をs1とし、経路ジッタを含んだポイントをd1とする。２点間距離拡張法で求める偏差を求める終点をsnとする。snは経路ジッタ=0とする。本願発明で求める偏差の始点をs1とするが、経路ジッタを補正するのでs1に近いd1'とする。本願発明で求める偏差の終点をsn'とする。sn'は経路ジッタ=0とする。この条件からマスタカウンタとスレーブカウンタの周波数偏差は、送信ジッタが無いs1とsnを結ぶ直線Ｌ２の傾き（以下傾きＡとする）から求まる。２点間距離拡張法で周波数偏差を求めるにはd1とsnを結ぶ直線Ｌ１の傾き（以下傾きＢとする）から求まる。２点間距離拡張法で求めた周波数偏差の精度は、傾きＡと傾きＢの差分である。
【００４９】
上記条件を踏まえて、本願発明で前記２点間距離拡張法と同じ精度の偏差を求めるのに必要な始点と終点について考察する。始点はd1'であり、終点sn'はsnからs1方向に近づけた位置になる。sn'はd1'とsn'を結ぶ直線Ｌ３の傾きと上記傾きＢが同じになるまでs1に近づけることができる。また、傾きを同じにするとs1,d1,snを結ぶ三角形１（辺をs1d1,d1sn,sns1とする）とs1,d1',sn'を結ぶ三角形２(辺をs1d1',d1'sn',sn's1とする)は相似になる。以上から、本願発明で経路ジッタを辺s1d1から補正して辺s1d1'に縮めることができれば、同じ比率で辺s1snから辺s1sn'に短くできる。すなわち、sn'をs1に近づけても同じ精度の周波数偏差を求めることができる。つまり、前記２点間距離拡張法と同じ精度の周波数偏差を、より短い時間で求めることができる。
【００５０】
本願発明で必要な計算量と前記最小二乗法で必要な計算量を比較すると、次のようになる。本願発明で必要な計算は、（式３）、（式４）、（式５）、（式６）、（式１１）、基点ポイント選択である。これに対して、最小二乗法で求める式は、特許文献１の（数式４）のように計算量が多い。２つの方式ともにSYNCパケット受け取るたびに計算を行う。計算量を比較するに当たって、２つ方式で同じ精度の周波数偏差を出すには、同期システム条件であるSYNCパケット送信間隔、周波数偏差、ネットワーク構成などさまざまな条件よって変わる。そこで、同じ入力データ量で２つ計算を比較する。入力データは、本願発明で行う基点ポイント選択に用いる直近のSYNCパケット数がｎ個とし、最小二乗法で偏差を求めるSYNCポイント数がｍ個として、ｎ= ｍとする。本願発明で必要な計算はすべて単純計算である。これに対し、前記最小二乗法で用いる特許文献１の（数式４）の計算量は、平均値を計算や平均値との差分計算があることから計算量が圧倒的に多いことは明らかである。
【００５１】
製品全体からみた効果及びその効果が得られる理由として、前記のように簡単な構成で高応答性を持って周波数偏差が求められるから、短時間でマスタ装置とスレーブ装置との同期確立ができ、スレーブ装置での計算回数が少ないことから消費電力を抑えたコンパクトなＬＳＩの実現が可能になることが挙げられる。
【００５２】
例えば、前記図１のスレーブ装置Ｓ３１において、図２に示したマスタカウンタ値<mc>iとスレーブカウンタ値<sc>iの差分を保持するカウンタ差分履歴部ＴＢＬ１のエントリ数Ｎを６４とする。マスタ／スレーブカウンタ値履歴部ＴＢＬ３，２の数Ｍを４００とする。すなわち、周波数差計算には、４秒間でのマスタとスレーブカウンタのカウントアップ量の差分で行う。評価目的として、スレーブクロック周波数は、マスタクロックに対して100ppmの誤差を付加するものとする。
【００５３】
スレーブ装置Ｓ３１において、前記２点間拡張法により算出した周波数差と、前記図 1に示す周波数差算出部を用いた周波数差<fa>は、次のように算出できる。期待値100ppmに対して、前記２点間拡張法では40〜160ppmの±60ppmの算出誤差であるのに対して、前記実施例では、95〜105ppmの誤差±5ppmの算出誤差となる。前記２点間距離拡張法の場合、２点間の時間である４秒に対して、通信遅延ジッタ246.08usを含むため、この通信遅延ジッタによって生じる周波数差算出誤差は、246.08us / 4s = 61.52ppmとなる。これに対して、前記実施例では、前記２点間距離拡張法と比較して約12.3倍(61.52 / 5)の精度改善が期待できる。つまり、周波数差算出の２点間の時間を12.3分の1である0.33秒に短縮しても、本発明を用いた場合、前記のような２点間距離拡張法と同等の精度を期待できることとなる。
【００５４】
以上本発明者によってなされた発明を、上記実施形態に基づき具体的に説明したが、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。マスタカウンタ値<mc>iは及びスレーブカウンタ値<sc>iは、本願発明による補正の前にプロトコル等によって事前に通信遅延成分などを補正した値であっても構わない。経路ジッタ<pdj>i算出は、周波数偏差が十分無視できることを前提(a=1) として行っているが、より精度を向上させるために、求められた周波数偏差<fa>を用いて補正を行っても良い。例えば、前記（式８）に周波数補正分K を加えた（式１２）としてもよい。K は、K=<fa>*Tであり、T は周波数偏差<fa>を求めた起点（最小値) からi 番目までの間隔である。
<pdj>i = <dc>i - min<dc> - K      ・・・・・（式１２）
【００５５】
スレーブ装置がマイクロコンピュータ機能を持つ場合、同期化回路の各演算部、最小値算出部の動作は、マイクロコンピュータに含まれる演算器を用いてソフトウェアにより実現してもよい。この場合、履歴部やレジスタは、メモリ回路に置き替えられる。
【産業上の利用可能性】
【００５６】
この発明は、ネットワークを介した同期が必要なＦＡシステム、リアルタイム画像／音声転送装置のような各種システムにおけるネットワーク同期方法と同期化回路に広く利用できる。
【符号の説明】
【００５７】
Ｍ０…マスタ装置、Ｈ０，Ｈ１…スイッチングハブ、Ｓ１〜Ｓ３１…スレーブ装置、ＡＵ１〜ＡＵ４…演算部、ＴＢＬ１…カウンタ差分履歴部、ＴＢＬ２…スレーブカウンタ履歴部、ＴＢＬ３…マスタカウンタ履歴部、ＲＥＧ１，ＲＥＧ２…レジスタ、ＭＩＮ…最小値算出部。
【図１】
2011023788.tif 000003
【図２】
2011023788.tif 000004
【図３】
2011023788.tif 000005
【図４】
2011023788.tif 000006
【図５】
2011023788.tif 000007
【図６】
2011023788.tif 000008
【図７】
2011023788.tif 000009
【図８】
2011023788.tif 000010
【図９】
2011023788.tif 000011
【図１０】
2011023788.tif 000012
【図１１】
2011023788.tif 000013
【図１２】
2011023788.tif 000014
【図１３】
2011023788.tif 000015