(57)【特許請求の範囲】
【請求項１】
ネットワーク制御部を介して通信ネットワークに接続され、基準タイミングを発振する基準タイミング発振部を備えたタイミング同期装置によって、基準タイミングを同期させるタイミング同期方法において、
前記タイミング同期装置は、基準タイミング保持部、受信タイミング保持部、ズレ値算出部及び基準タイミング補正部を有し、
前記受信タイミング保持部は、通信ネットワークとネットワーク制御部の間に設けられ、
前記基準タイミング保持部が、前記基準タイミングを保持し、
前記受信タイミング保持部が、通信ネットワークを介してネットワーク制御部より先に受信した同期用フレームの受信タイミングを保持し、
前記ズレ値算出部が、前記基準タイミング保持部に保持された基準タイミングと前記受信タイミング保持部に保持された受信タイミングとに基づいて、基準タイミングのズレに関する値であるズレ値を算出し、
前記基準タイミング補正部が、前記ズレ値に基づいて、前記基準タイミング発振部による基準タイミングを補正することを特徴とするタイミング同期方法。
【請求項２】
ネットワーク制御部を介して通信ネットワークに接続されたタイミング同期装置において、
基準タイミングを発振する基準タイミング発振部と、
前記基準タイミングを保持する基準タイミング保持部と、
通信ネットワークとネットワーク制御部の間に設けられ、通信ネットワークを介してネットワーク制御部より先に受信した同期用フレームの受信タイミングを保持する受信タイミング保持部と、
前記基準タイミング保持部に保持された基準タイミングと前記受信タイミング保持部に保持された受信タイミングとに基づいて、基準タイミングのズレに関する値であるズレ値を算出するズレ値算出部と、
を有することを特徴とするタイミング同期装置。
【請求項３】
前記ズレ値を含む同期用フレームを生成して送信するネットワーク制御部を有することを特徴とする請求項２記載のタイミング同期装置。
【請求項４】
前記基準タイミングに基づいて、前記同期用フレームの送信タイミングを制御する送信タイミング制御部を有することを特徴とする請求項３記載のタイミング同期装置。
【請求項５】
前記ズレ値に基づいて、前記基準タイミング発振部の基準タイミングを補正する基準タイミング補正部を有することを特徴とする請求項２〜４のいずれか１項に記載のタイミング同期装置。
【請求項６】
通信ネットワークを介して受信した同期用フレームに含まれるズレ値と、前記ズレ値算出部により算出されたズレ値とに基づいて、前記基準タイミングによる補正の要否を判定する補正判定部を有することを特徴とする請求項２〜５のいずれか１項に記載のタイミング同期装置。
【請求項７】
前記基準タイミングに基づいて、内部時刻を演算する時刻演算部と、
前記同期用フレームに含まれる時刻情報に基づいて、前記内部時刻を補正する時刻補正部と、
を有することを特徴とする請求項２〜６のいずれか１項に記載のタイミング同期装置。
【請求項８】
通信ネットワークを介して接続されたマスタ局と複数のスレーブ局とが、それぞれ請求項２〜７のいずれか１項に記載のタイミング同期装置を有し、
前記マスタ局は、前記スレーブ局に同期用フレームのマルチキャスト配信を行うことを特徴とするタイミング同期システム。
【請求項９】
前記スレーブ局をマスタ局に切り換える切換部を有することを特徴とする請求項８記載のタイミング同期システム。
【請求項１０】
前記マスタ局と同等の機能を持つサブマスタ局を介して、複数のスレーブ局が接続されていることを特徴とする請求項８又は請求項９記載のタイミング同期システム。
【請求項１１】
ネットワーク制御部を介して通信ネットワークに接続され、基準タイミングを発振する基準タイミング発振部を有するコンピュータに、基準タイミングの同期を実行させるタイミング同期プログラムにおいて、
前記コンピュータに、
前記基準タイミングを保持させ、
通信ネットワークを介してネットワーク制御部より先に受信した同期用フレームの受信タイミングを保持させ、
前記基準タイミングと前記受信タイミングとのズレに関する値であるズレ値を算出させ、
前記ズレ値に基づいて、前記基準タイミング発振部による基準タイミングを補正させることを特徴とするタイミング同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、通信ネットワークを介して情報を送受信する機器において、機器間でのタイミングの同期や同調を図るためのタイミング同期方法、同期装置、同期システム及び同期プログラムに関する。
【背景技術】
【０００２】
通信ネットワークに接続された各種の機器は、互いの動作を所望のタイミングに一致させる等のために、それぞれが管理する時刻の同期が必要となる場合がある。かかる時刻同期は、一般的には、基準時刻を持つマスタ局が、基準時刻に基づく時刻情報を載せた時刻同期フレームを、通信ネットワークを介して送信し、この時刻同期フレームを受信したスレーブ局が、時刻同期フレームにおける時刻情報に基づいて、スレーブ局の時刻をマスタ局の時刻に同期させることによって実現している。
【０００３】
但し、通信ネットワークを介した情報の送受信においては、遅延時間が発生する。この遅延時間には、以下のような種類がある。
［ソフト実行遅延時間（送信処理）］
送信処理におけるソフト実行遅延時間とは、ソフトウェアが生成した時刻同期フレームが、機器から通信回線に発信されるまでに生じる遅れ時間である。この遅延時間には、他の処理の動作頻度や時刻同期処理の優先度によって変動するゆらぎが発生する。
【０００４】
［伝送路遅延時間］
伝送路遅延時間とは、通信回線に一定間隔で設置される中継（信号増幅）装置の信号中継時間である。ネットワーク機器であるリピータ、ブリッジ、ルータなどが中継装置に該当する。リピータは中継時間が一定であるが、ブリッジやルータは装置内部にてフレーム優先度に応じたバッファリングを行うため、遅延時間が変動するゆらぎが発生する。
【０００５】
［ソフト実行遅延時間（受信処理）］
受信処理におけるソフト実行遅延時間とは、時刻同期フレームが機器に着信してから、実際にソフトウェアにより取り込まれ処理されるまでに生じる遅れ時間である。ソフトウェアによるフレーム取り込み処理を割込み駆動にすることで、遅延時間の変動を小さくすることができる。また、フレーム着信の有無を、ポーリングで実施する処理構成の場合、ポーリング間隔を短くすることで、遅延時間を小さくすることができる。
【０００６】
通信ネットワークを介した情報の送受信においては、上記のような遅延時間及びそのゆらぎが発生するため、通信ネットワークを経由した時刻同期フレームから基準時刻を取得するのみでは、正確な時刻同期を実現することはできない。これに対処するため、次のような時刻同期方法が提案されている。
【０００７】
例えば、非特許文献１には、通信ネットワークにおける時刻同期方法の代表技術であるＮＴＰ（Network Time Protocol）が記載されている。ＮＴＰは、ＯＳＩ基本参照モデルのアプリケーション層において機能するプロトコルである。アプリケーション層は、ＵＤＰ（User Datagram Protocol)が機能するトランスポート層の上位層に位置する。
【０００８】
このＵＤＰは、ＴＣＰのような送達確認等を省いて、転送効率を高めたプロトコルであり、ＮＴＰは、時刻情報パケットをＵＤＰのパケットとして生成し、回線送出する。このとき、ソフトウェア処理の実行や伝送路により生ずる遅延時間やそのゆらぎを計測し、ＮＴＰ独自の補正アルゴリズムによって、遅延時間やゆらぎを吸収することにより、高精度な時刻同期を実現している。
【０００９】
また、特許文献１には、サンプリング同期の代表技術を、電流作動リレー方式に適用した例が記載されている。このサンプリング同期方式は、以下の(1)〜(3)の手法を用いて、フレーム連絡に生じる遅延時間のゆらぎを最小限にし、補正要素を取得可能とすることによって、高精度な同期を実現している。
(1)ハードウェア機構によるフレーム送信タイミングの固定化
(2)専用回線による伝送路遅延時間の安定化
(3)フレーム受信タイミングを取得しラッチ（保持）する機構
【００１０】
以上のような従来の時刻同期方法においては、通信処理で発生する遅延時間及びそのゆらぎを補正しつつ、同期処理を行うことができる。
【非特許文献１】ＲＦＣ（Request for Comments）９５８：ＮＴＰ（Network Time Protocol）
【特許文献１】特開平２−１５５４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、ＮＴＰを採用する場合、ローカルネットワークでは、ＮＴＰサーバをシステム内に設置するか、外部ＮＴＰサーバにアクセスできるようにグローバルなネットワークに接続するか、のいずれかが必要となる。しかし、ＮＴＰサーバの設置は、コスト面で不利であり、加えてサーバダウン時の回復処置が必要になるなどの課題が多い。また、グローバルネットワークへ接続することは、外部へ情報が流出する可能性が残り、セキュリティ面での課題がある。
【００１２】
また、近年では、通信速度を１００Ｍｂｐｓに高めた高速イーサネットが普及している（イーサネット(Ethernet)は、登録商標であり、ＩＥＥＥ８０２．３に相当する）。このような高速イーサネットを用いた通信システムにおいても、機器間で高精度な同期制御を実現するために、遅延時間のゆらぎを計測して取得し、これを抑える必要がある。
【００１３】
しかしながら、かかる高速イーサネットにおいては、通信用ハードウェアのインタフェースとしては、汎用のネットワークＬＳＩ（ＮＩＣ：Network Interface Controller）素子を採用するのが一般的である。このため、上述の電流差動リレーのサンプリング同期方式のように、送信タイミングを安定させる機構や遅延時間を計測するといった特別な機構が存在しない。
【００１４】
これに対処するため、従来の機器においては、特にゆらぎ要素として大きいソフトウェア処理の実行遅延時間を最小にすることを目的として、同期制御処理及びフレーム送受信処理を、最高優先度のタスクや割込み処理として実装していた。しかし、複雑な機能を持つ機器では、複数の割込み処理を具備していたり、機器本来の機能である制御・監視処理を優先的に動作させなければならないケースもあり、同期や送受信処理を完全に最優先で実行させることは難しかった。
【００１５】
また、最近では、通信速度を１Ｇｂｐｓにまで高めたギガビットイーサネットも開発されている。かかるギガビットイーサネットでは、連続で受信フレームが発生すると、ＣＵＰによるソフトウェア処理が追従できず、実際に機器に時刻同期フレームが着信した時刻と時刻同期フレームが処理される時刻との間に差が生じてしまう。
【００１６】
このように、連続で受信フレームが発生したときに、ＣＰＵによるソフトウェア処理が追従できない理由を、以下に詳述する。まず、図２３に、一般的なネットワーク制御回路の機能ブロック図を示す。このネットワーク制御回路は、ソフトウエア処理が実行されるＣＰＵ１０１、送信バッファメモリ１０２、受信バッファメモリ１０３、ＮＩＣ（Network Interface Controller）１０７及びコネクタ（ＲＪ４５）１０６が接続された構成を有している。
【００１７】
このネットワーク制御回路によるフレーム送信制御においては、ＣＰＵ１０１が送信バッファメモリ１０２に送信フレームデータを書き込んだ後で、ＮＩＣ１０７に送信指令を与える。そして、ＮＩＣ１０７が、送信バッファメモリ１０２から送信フレームデータを取り出して、ＮＩＣ１０７の内部のＭＡＣレイヤ制御回路１０４及び物理レイヤ制御回路１０５によるフレーム生成、アナログ変換処理を施した後、コネクタ１０６から送信フレームが送信される。
【００１８】
また、フレーム受信制御においては、コネクタ１０６を介して受信した受信フレームが、ＮＩＣ１０７に取り込まれて、デジタル変換、データ抽出処理が施された後、受信フレームデータが、受信バッファメモリ１０３の空き領域に書き込まれる。ＣＰＵ１０１は、受信バッファメモリの空き領域の変化を確認したら、受信バッファメモリから受信フレームデータを取り出す。
【００１９】
この送信、受信双方のバッファメモリ１０２，１０３としては、リング方式もしくはディスクリプタ方式が採用されている。リング方式は、図２４に示すように、バッファインデックス２０１とバッファ本体２０２で構成されたバッファメモリ構造を有している。バッファ本体２０２は、複数フレーム分のデータを保管できるように、比較的大容量の大きさを持っている。
【００２０】
そして、バッファインデックス２０１は、バッファ本体２０２の空き領域先頭を指すポインタの機能を有している。このポインタは、送信バッファメモリ１０２では、バッファインデックス２０１以降の領域に、送信フレームデータが書き込めることを示し、受信バッファメモリ１０３では、最新受信フレームデータの末尾を示している。
【００２１】
ディスクリプタ方式は、図２５に示すように、複数のバッファディスクリプタ２１１〜２１４と、それに対応するバッファ本体２１５〜２１８で構成されたバッファメモリ構造を有している。バッファ本体２１５〜２１８は、１つにつき１フレーム分のデータのみを保管するため、１つのバッファ本体の容量は１フレームの最大長となる。
【００２２】
バッファディスクリプタ２１１〜２１４には、図２６に示すように、バッファ本体２１５〜２１８の使用／未使用状況が、フラグとして格納されており、送信制御では、空きバッファ本体２１５〜２１８の検索を可能にし、受信制御においては、未処理受信フレームデータの検索を可能にしている。
【００２３】
なお、リング方式とディスクリプタ方式のいずれを選択するかは、通信フレームの大きさや、送信バッファメモリ１０２、受信バッファメモリ１０３の物理的容量などにより決定されるものであり、両者には特に優劣はない。
【００２４】
以上のようなネットワーク制御回路の構成により、複数フレームの連続した送受信が可能となっている。しかし、実際には、ＣＰＵの動作速度（ソフトウェア処理速度）と通信回線速度のいずれか遅い方に引きずられて、遅延が生じてしまうことになる。
【００２５】
すなわち、ＣＰＵの動作速度の方が通信回線速度よりも速い場合には、送信制御では、送信バッファメモリに送信フレームデータが蓄積される頻度が高くなり、ＣＰＵが送信バッファメモリに書き込み、ＮＩＣに送信指令したタイミングと、実際に通信回線に送出されるタイミングとの差が大きくなる。なお、この場合、受信制御においては、フレーム着信タイミングとＣＰＵによるフレーム処理タイミングとの差は小さい。
【００２６】
一方、通信速度の方がＣＰＵの動作速度よりも速い場合には、受信制御では、受信バッファメモリに受信フレームデータが蓄積される頻度が高くなり、受信フレームを着信したタイミングとＣＰＵが受信フレームデータを受信バッファメモリから取り出して処理を実施するタイミングとの差が大きくなる。
【００２７】
最近では、ＣＰＵの動作速度、通信速度ともに、従来に比べて高速になっているが、とりわけ通信速度の高速化は目覚しいものがある。また、１つのＣＰＵの多機能化や複数の通信チャネル具備などの理由から、ＣＰＵを通信処理のみに括り付けることができる状況は少なく、どちらかといえば、通信速度の方がＣＰＵの動作速度よりも速い場合に該当しやすい。したがって、ＣＰＵが連続フレーム受信に追従できないケースが多くなる傾向にある。
【００２８】
さらに、従来の時刻同期方法は、フレームを往復させることで伝送遅延時間を求める方式であるため、局数の増加によって通信負荷や遅延時間が増大する。これらの要因から、高速なイーサネットを用いたネットワークシステムでは、高精度な時刻同期を実現できなかった。
【００２９】
本発明は、上記のような従来技術の問題点を解決するために提案されたものであり、その目的は、高速な通信ネットワークにおいても、簡単な構成と処理によって、高精度な同期を実現できるタイミング同期方法、同期装置、同期システム及び同期プログラムを提供することにある。
【課題を解決するための手段】
【００３０】
上記のような目的を達成するため、本発明は、ネットワーク制御部を介して通信ネットワークに接続され、基準タイミングを発振する基準タイミング発振部を備えたタイミング同期装置によって、基準タイミングを同期させるタイミング同期方法において、以下のような技術的特徴を有する。
【００３１】
まず、タイミング同期装置が、基準タイミング保持部、受信タイミング保持部、ズレ値算出部及び基準タイミング補正部を有している。受信タイミング保持部は、通信ネットワークとネットワーク制御部の間に設けられている。そして、基準タイミング保持部が、基準タイミングを保持し、受信タイミング保持部が、通信ネットワークを介してネットワーク制御部より先に受信した同期用フレームの受信タイミングを保持し、ズレ値算出部が、基準タイミング保持部に保持された基準タイミングと受信タイミング保持部に保持された受信タイミングとに基づいて、基準タイミングのズレに関する値であるズレ値を算出し、基準タイミング補正部が、ズレ値に基づいて、基準タイミング発振部による基準タイミングを補正する。
【００３２】
以上のような本発明では、基準タイミングと同期用フレームの受信タイミングを保持し、保持された基準タイミングと受信タイミングとのズレを示すズレ値を算出するという簡単な処理に基づいて、基準タイミングを補正して、正確な時刻同期を実現することができる。また、ズレ値の計算に用いる基準タイミング及び受信タイミングを保持しておくことによって、ソフトウェア処理遅れに影響されることなく、低優先度での動作でも、高精度な同期制御が可能となる。
【発明の効果】
【００３３】
以上のような本発明によれば、高速な通信ネットワークにおいても、簡単な構成と処理によって、高精度な同期を実現可能なタイミング同期方法、同期装置、同期システム及び同期プログラムを提供することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明のタイミング同期装置、同期システム及び同期方法の実施形態について、図１〜２２を参照して説明する。なお、上述の従来技術と同様の構成については、説明を簡略化する。
［１．第１の実施形態］
［１−１．構成］
［１−１−１．全体構成］
本実施形態は、図１に示すように、サンプリングパルス発振回路３００、汎用ネットワーク制御回路３１０、フレーム送受信タイミング制御回路３２０、ＣＰＵ３３０及びコネクタ３４０等を有している。
【００３５】
［１−１−２．サンプリングパルス発振回路］
サンプリングパルス発振回路３００は、クロック発振回路を具備し、発振クロックを分周して機器内部の基準パルスを生成する回路である。このサンプリングパルス発振回路３００は、請求項の基準タイミング発振部に相当し、基準タイミングとして基準パルスを用いる。
【００３６】
［１−１−３．汎用ネットワーク制御回路］
汎用ネットワーク制御回路３１０は、上記の従来技術と同様に、ＮＩＣ３１３、送信バッファメモリ３１１、受信バッファメモリ３１２を備えたネットワーク制御部である。汎用ネットワーク制御回路３１０の代表的な一例は、パーソナルコンピュータ用のネットワークインタフェースカードであるが、本発明はこれには限定されない。
【００３７】
［１−１−４．フレーム送受信タイミング制御回路］
フレーム送受信タイミング制御回路３２０は、物理レイヤ制御回路３２１，３２２、送信フレーム保留バッファメモリ３２３、送信タイミング制御回路３２４、受信フレーム種別検定回路３２５、カウンタ計数回路３３２、水晶発振器３２７等を有している。
【００３８】
物理レイヤ制御回路３２１は、汎用ネットワーク制御回路３１０との間で、物理層レベルの信号をやりとりするためのインタフェースである。また、物理レイヤ制御回路３２２は、通信ネットワーク（図示せず）との間で、物理層レベルの信号をやりとりするためのインタフェースである。
【００３９】
なお、汎用ネットワーク制御回路３１０におけるＮＩＣ３１３のほとんどは、ＭＡＣレイヤ制御回路３１４と物理レイヤ制御回路３１５とが一体化した素子として流通しており、その先のインタフェースは、アナログ変換された信号になる。
【００４０】
しかし、フレーム送受信タイミング制御回路３２０では、通信されるフレームデータを参照するために、信号はデジタルである必要がある。このため、物理レイヤ制御回路３２１は、汎用ネットワーク制御回路３１０から入力される信号を、一旦デジタル化しており、また受信フレーム種別検定回路３２５から出力された信号をアナログ化して、汎用ネットワーク制御回路３１０へ出力する。
【００４１】
また、物理レイヤ制御回路３２２は、コネクタ３４０を介して出力される信号をアナログ化し、コネクタ３４０を介して入力される信号をデジタル化する。以上のように、物理レイヤ制御回路３２１，３２２は、各部でやりとりされる信号形態の協調をとっている。
【００４２】
なお、コネクタ３４０は、通信ネットワークへアクセスするための通信回線との物理的な接続を行うためのインタフェースである。本実施形態では、例えば、イーサネットで使用される規格の８芯のモジュラ式のＲＪ４５を用いるが、本発明はこれには限定されない。
【００４３】
送信フレーム保留バッファメモリ３２３及び送信タイミング制御回路３２４は、フレーム送信の制御手段である。送信フレーム保留バッファメモリ３２３は、送信フレームを一時退避するために保持する手段である。送信タイミング制御回路３２４は、サンプリングパルス発振回路３００から発振される基準タイミングにしたがって、送信フレーム保留バッファメモリ３２３から送信フレームを取り出し、物理レイヤ制御回路３２２へ送出する手段である。
【００４４】
受信フレーム種別検定回路３２５は、フレーム受信の制御手段であり、物理レイヤ制御回路３２２を介して受信したフレームの種別を判定する手段である。この受信フレーム種別検定回路３２５によるフレーム種別の判定は、後述するフレームのタイプフィールドを参照することにより行われる。
【００４５】
カウンタ計数回路３２６は、図２に示すように、水晶発振器３２７のクロックでインクリメントするフリーランカウンタ３１、サンプリングパルス発振回路３００及び受信フレーム種別検定回路３２５からの外部指令により、フリーランカウンタ３１のカウント値を保持（ラッチ）するラッチ回路３２及びラッチレジスタＡ３３、ラッチレジスタＢ３４等を具備する。
【００４６】
フリーランカウンタ３１は、３２ビット長や６４ビット長といった循環幅（期間）が長いカウンタである。ラッチ回路３２は、サンプリングパルス発振回路３００若しくは受信フレーム種別検定回路３２５からのラッチ指令時に、そのタイミングのフリーランカウンタ３１の値を取り出す手段である。なお、ラッチ回路３２は、ラッチ指令元を識別して、カウント値を格納するラッチレジスタＡ３３、ラッチレジスタＢ３４を振り分ける機能も有している。
【００４７】
ラッチレジスタＡ３３は、サンプリングパルス発振回路３００からのラッチ指令時に、ラッチ回路３２により取り出されたフリーランカウンタ３１の値、つまり、サンプリングパルスの立ち上がりエッジのタイミングが格納されるレジスタである（基準タイミング保持部）。ラッチレジスタＢ３４は、受信フレーム種別検定回路３２５からのラッチ指令時に、ラッチ回路３２により取り出されたフリーランカウンタ３１の値、すなわち、同期用フレームの受信タイミングが格納されるレジスタである（受信タイミング保持部）。
【００４８】
このように、カウンタ計数回路３２６は、複数のラッチレジスタＡ３３，Ｂ３４を具備し、発生するラッチ指令（外部信号）の種類に応じて、保存するラッチレジスタＡ３３，Ｂ３４を振り分けることができる。
【００４９】
［１−１−５．ＣＰＵ］
ＣＰＵ３３０は演算回路であり、ソフトウェアを含めてタイミング同期装置全体を制御する手段として機能する。このＣＰＵ３３０は、内部バスにより、汎用ネットワーク制御回路３１０、カウンタ計数回路３２６及びサンプリングパルス発振回路３００に接続されている。そして、ＣＰＵ３３０は、所定のプログラムによって、ズレ値算出部３３１、補正判定部３３２、基準タイミング補正部３３３としての機能を有している。
【００５０】
ズレ値算出部３３１は、基準タイミングと同期用フレームの受信タイミングとのズレ値を算出する手段である。このズレ値は、同期用フレームの受信（着信）タイミングと基準タイミングとの差分（ズレ）か、若しくは後述するズレ幅を意味する。補正判定部３３２は、あらかじめメモリ等の記憶手段（図示せず）に設定されたしきい値と、ズレ若しくはズレ幅とを比較して、これを超えるか否かによって、補正が必要か否かを判定する手段である。
【００５１】
基準タイミング補正部３３３は、算出されたズレ値に基づいて、基準タイミングを補正する手段である。基準タイミングの補正は、ＣＰＵ３３０が、所定の分周値を、内部バスを通してサンプリングパルス発振回路３００に与え、パルス幅を調整することによって行う。
【００５２】
［１−２．作用］
以上のような構成を有する本実施形態の作用を、図３〜１２を参照して説明する。ここでは、図３に示すように、タイミング同期装置をそれぞれ備えたマスタ局Ｍとスレーブ局Ｓとが、１：１で接続された構成を前提とし、スレーブ局Ｓのタイミング同期装置が、自らの基準タイミングを補正する場合を説明する。
【００５３】
［１−２−１．フレーム構成］
まず、タイミング同期装置間で送受信されるフレームのフィールド構成例は、図４に示す通りであり、その詳細は次の通りである。なお、ｄｓｔ＿ｍａｃ、ｓｒｃ＿ｍａｃ、ｅｔｈｅｒ＿ｔｙｐｅ及びＦＣＳは、イーサネットのフレームフォーマットに準拠している。
【００５４】
ｄｓｔ＿ｍａｃ：宛先局ＭＡＣアドレス
ｓｒｃ＿ｍａｃ：発信局ＭＡＣアドレス
ｅｔｈｅｒ＿ｔｙｐｅ：イーサネットフレーム種別
ズレ値：同期用フレームの着信タイミングと基準タイミングとのズレ
（差分）若しくはズレ幅
機器間連絡情報：任意の連絡情報
ＦＣＳ：フレームチェックシーケンスコード
【００５５】
ＭＡＣアドレス（Media Access Control address）は、ネットワーク上の各ノードを構成するハードウェアを識別するための、固有の物理アドレスである。宛先局ＭＡＣアドレスは、送信先の局のＭＡＣアドレス、発信局ＭＡＣアドレスは、発信元の局のＭＡＣアドレスである。
【００５６】
また、ｅｔｈｅｒ＿ｔｙｐｅは、フレーム種別を示すタイプフィールドであり、一般的には、イーサネット層の上位プロトコルの種別を示すコードが挿入される。代表的なプロトコルに対応するコードは、次の通りである。
ＩＰＶ４(Internet Protocol version 4)            ：０８００
ＡＲＰ(Address Resolution Protocol)              ：０８０６
ＳＮＭＰ(Simple Network Management Protocol)     ：８１４Ｃ
ＮｅｔＢＩＯＳ(Network Basic Input Output System)：８１９１
【００５７】
但し、本実施形態の同期用フレームの場合には、これらの予約されたコード以外（例えば、Ａ００１など）を使用する。これにより、受信フレーム種別検定回路３２５が、同期用フレームを他のフレームと識別することができる。なお、ズレ値が算出されていない場合には、同期用フレームのズレ値に対応するフィールドは、空欄若しくはズレ値が算出されていないことを示す値が挿入されるものとする。
【００５８】
［１−２−２．フレーム送信時の動作］
次に、フレーム送信時の動作を、図５のフローチャートを参照して説明する。ＣＰＵ３３０によって生成された送信フレームデータは（ステップ５０１）、生成順に送信バッファメモリ３１１に保存される（ステップ５０２）。その後、ＣＰＵ３３０が、ＮＩＣ３１３に送信指令を出すことによって、ＮＩＣ３１３の内部処理によるフレーム送信動作が開始される（ステップ５０３）。
【００５９】
ＮＩＣ３１３の内部においては、ＭＡＣレイヤ制御回路３１４が、送信フレームデータに基づいて、通信ネットワークに対応した送信フレームを生成する（ステップ５０４）。物理レイヤ制御回路３１５は、送信フレームをアナログ信号に変換し（ステップ５０５）、フレーム送受信タイミング制御回路３２０に送出する（ステップ５０６）。
【００６０】
フレーム送受信タイミング制御回路３２０においては、物理レイヤ制御回路３２１が、アナログ信号をデジタル化した送信フレームを生成する（ステップ５０７）。生成された送信フレームを、送信フレーム保留バッファメモリ３２３が蓄積する（ステップ５０８）。
【００６１】
送信タイミング制御回路３２４は、送信フレーム保留バッファメモリ３２３に蓄積された送信フレームを取り出して送出する。このタイミングは、外部入力信号の状態変化の検出にしたがって行われる。本実施形態では、この外部入力信号として、サンプリングパルス発振回路３００が生成したサンプリングパルス信号を用いる（ステップ５０９）。これにより、機器の基準タイミングに同期させて、送信フレームを送出することが可能となる（ステップ５１０）。
【００６２】
さらに、物理レイヤ制御回路３２２は、送信フレームを再度、アナログ信号に変換し（ステップ５１１）、コネクタ３４０を介して、アナログ信号を通信回線へ送信する（ステップ５１２）。
【００６３】
［１−２−３．フレーム受信時の動作］
次に、フレーム受信時の動作を、図６のフローチャートを参照して説明する。物理レイヤ制御回路３２２は、コネクタ３４０を介して受信したアナログ信号を（ステップ６０１）、デジタル信号に変換した受信フレームを生成して（ステップ６０２）、受信フレーム種別検定回路３２５に渡す。
【００６４】
受信フレーム種別検定回路３２５は、図４に示したフレーム構成中のフレーム種別（ｅｔｈｅｒ＿ｔｙｐｅ）を参照して、同期用フレームか否かを判定する（ステップ６０３）。同期用フレームであれば（ステップ６０４）、受信フレーム種別検定回路３２５は、カウンタ計数回路３２６にラッチ指令を出力する（ステップ６０５）。ラッチ指令を受けたラッチ回路３２は、ラッチレジスタＢ３４に、そのタイミングのカウンタ値を保持させる（ステップ６０６）。
【００６５】
同時に、受信フレーム種別検定回路３２５は、内部バスを介して、受信フレームを物理レイヤ制御回路３２１に渡す。物理レイヤ制御回路３２１は、受信フレームをアナログ信号に変換して（ステップ６０７）、汎用ネットワーク制御回路３１０に渡す。
【００６６】
ＮＩＣ３１３における物理レイヤ制御回路３１５は、アナログ信号をデジタル化した受信フレームを生成する（ステップ６０８）。ＭＡＣレイヤ制御回路３１４は、受信フレームから受信フレームデータを抽出し（ステップ６０９）、この受信フレームデータを受信バッファメモリ３１２に保存する（ステップ６１０）。保存された受信フレームデータは、ＣＰＵ３３０からの読み出し指令により（ステップ６１１）、適宜、受信バッファメモリ３１２から取り出されて、ソフトウェア処理が行われる（ステップ６１２）。
【００６７】
［１−２−４．基準タイミングの補正］
次に、基準タイミングの補正の手順を、図７のフローチャートを参照して説明する。まず、上記のように、ラッチ指令は、サンプリングパルス発振回路３００及び受信フレーム種別検定回路３２５から入る構成となっている。すなわち、サンプリングパルス発振回路３００は、サンプリングパルスの立ち上がりエッジでラッチ指令を出す（ステップ７０１，７０２）。すると、カウンタ計数回路３２６におけるラッチ回路３２が、サンプリングパルスの立ち上がりエッジのタイミングを、機器内部の基準タイミングとして、ラッチレジスタＡ３３に格納する（ステップ７０３）。
【００６８】
また、受信フレーム種別検定回路３２５は、同期用フレームを検出すると（ステップ７０４）、ラッチ指令を出す（ステップ７０５）。すると、ラッチ回路３２が、受信した同期用フレームの受信タイミングを、ラッチレジスタＢ３４に格納する（ステップ７０６）。
【００６９】
このように格納された基準タイミングと同期用フレーム受信タイミングに基づいて、ズレ値算出部３３１がズレ値を算出する（ステップ７０７）。この算出は、基準タイミングと同期用フレーム受信タイミングとの差分（経過時間、ズレとも呼ぶ）を求め、この差分に基づいて、自局の基準タイミングと相手局の基準タイミングとのズレ幅を演算することにより行う。
【００７０】
図８は、マスタ局Ｍとスレーブ局Ｓとの基準タイミングの差分（ズレ）の一例を示す図である。このズレは、各局の電源投入タイミングの違いによるものである。また、このズレは、サンプリングパルス発振回路３００における水晶発振器の精度特性によって生じる誤差の蓄積も含まれている。
【００７１】
図９は、マスタ局Ｍ及びスレーブ局Ｓの基準タイミングがずれているケースの一例を示す図である。この場合は、「パルス幅＋ズレ」がマスタ局Ｍのズレ幅β、「パルス幅−ズレ」がスレーブ局Ｓのズレ幅αとなり、
ズレ幅α≠ズレ幅β
である。
【００７２】
一方、図１０は、マスタ局Ｍ及びスレーブ局Ｓの基準タイミングが一致しているケースの一例を示す図であり、この場合は、
ズレ幅α＝ズレ幅β
となる。
【００７３】
なお、本実施形態では、高速ネットワークを前提としているため、図９及び図１０は伝送回線遅延時間をほぼゼロと仮定した表記としている。但し、伝送回線遅延時間があった場合でも、上り／下りの遅延時間が等しく、かつ遅延時間がサンプリングパルス幅より小さければ、考慮されるズレ幅αとズレ幅βとは同じになるので、上記の式は成り立つ。
【００７４】
したがって、基準タイミング補正部３３３が、ズレ幅αとズレ幅βを一致させるように、スレーブ局Ｓのサンプリングパルス発振回路３００を調整すれば、スレーブ局Ｓの基準タイミングを、マスタ局Ｍの基準タイミングに同期させることができる。
【００７５】
ここで、基準タイミング補正部３３３が、サンプリングパルス幅を調整することによる補正の一例を、図１１に示す。なお、図１１における基準幅Ｔ及び補正幅Ｔｓの意味は、次の通りである。
基準幅Ｔ：サンプリングパルスの幅であり、入力クロックを固定値で分周し生成される時間幅である。マスタ局Ｍでは補正を行わないので、基準幅を維持する。
補正幅Ｔs：基準幅Ｔの生成に用いる分周値−１で生成した時間幅である。
【００７６】
すなわち、同期正常時は、固定分周値に基づいて、パルス幅が基準幅Ｔになるようにしている。そして、マスタ局Ｍとスレーブ局Ｓとの間の基準タイミングのズレ若しくはズレ幅が、所定のしきい値を超えたことを、補正判定部３３２が判定すると（ステップ７０８）、補正動作を行う。マスタ局Ｍは基準なので、補正動作は行わない。スレーブ局Ｓが同期正常かを判定するのみである。
【００７７】
補正動作は、進み補正と遅れ補正とに区別して行われる。図９の例のように自局（スレーブ局）が進んでいる場合には（ステップ７０９）、進み補正とする（ステップ７１０）。進み補正は、分周値を、固定値−１として、サンプリングパルス幅を短くし、それにより自局の基準タイミングの位置をスライドさせる。
【００７８】
自局が遅れている場合には（ステップ７０９）、遅れ補正とする（ステップ７１１）。遅れ補正は、進み補正と逆の動作、すなわち、分周値を、固定値＋１として、サンプリングパルス幅を長くし、それにより自局の基準タイミングの位置をスライドさせる。
【００７９】
なお、図９及び図１０に示したズレ幅βは、マスタ局Ｍで計測したズレ幅で、ズレ幅αはスレーブ局Ｓで計測したズレ幅である。図４に示した通信フレーム構成では、お互いの局が算出したズレ値（ズレ若しくはズレ幅）を、同期用フレームに乗せて連絡し合うことで取得する。この際、基準タイミングの区間で複数の同期用フレームを発信すると、ラッチレジスタＢ３４の値が、後着の受信タイミングとなり、正確なズレ値が求められなくなる懸念がある。
【００８０】
しかし、本実施形態では、図１に示した通り、ＣＰＵ３３０にも、基準タイミングが入る構成となっている。このため、基準タイミングを１回以上挟んで、同期用フレームを生成するようなソフトウェア処理とすることによって、基準タイミングの区間で複数の同期用フレームが生成されることを容易に抑制できる。
【００８１】
また、図４のフレーム構成で示したように、同期用フレームには、ズレ値の他に、システムに応じた任意の連絡情報を載せることができる。但し、同期用フレームとフレーム種別を異ならせた任意の情報フレームによる連絡も可能である。その際、ＣＰＵ３３０から送信バッファメモリ３１１への送信フレームデータの格納が、同期用フレームより情報フレームが前段となる場合、同期用フレームが通信回線へ送出されるタイミングが、蓄積されたフレームサイズ分遅れ、正確なズレ幅を求められなくなる懸念がある。
【００８２】
しかし、これも上記と同様に、基準タイミングの発生の有無を、ソフトウェア処理で監視することによって、容易に対処できる。つまり、送信バッファメモリ３１１への格納を、基準タイミングの区間で１回以内とし、同期用フレームを送出するサイクルでは、送信バッファメモリ３１１の先頭に同期用フレームデータを格納し、以降に任意情報フレームデータを格納するようにすればよい。
【００８３】
［１−３．効果］
以上のような本実施形態によれば、特別なサーバや機構を必要とせず、基準タイミングと受信タイミングとのズレと、これにより生じるパルスのズレ幅を算出し、パルス幅を調整するという簡単な処理により、基準タイミングを補正し、正確に同期させることが可能となる。また、ズレ幅の計算に用いるタイミング値をラッチさせておくことによって、ＣＰＵ３３０のソフトウェア処理遅れに影響されることなく、低優先度での動作でも、高精度な同期制御が実現できる。
【００８４】
また、ＮＴＰは、スレーブ局Ｓからの同期用フレーム受信に対し、マスタ局Ｍが受信時刻を付加して、同期フレームを折り返し返送する方式である。しかし、本実施形態では、マスタ局Ｍから発信される同期用フレームと、スレーブ局Ｓから発信される同期用フレームとは、相関及び追従性は不要である。双方の局が計測したズレ値を、必要同期精度に応じた任意サイクルで連絡（送信）し合えばよい。グローバルネットワークへの接続も必須ではなく、セキュリティ面での問題もない。
【００８５】
また、本実施形態では、図１のフレーム構成に示したように、ｅｔｈｅｒ＿ｔｙｐｅを、代表タイプのコードと重複しない特殊コードで実施する形態とした。これにより、一般的な情報連絡に用いられるＴＣＰ／ＩＰパケットやＡＲＰパケットなど、他のフレームについても、同一ネットワーク上に送出することが可能となる。
【００８６】
［２．第２の実施形態］
［２−１．構成］
本発明の第２の実施形態を、図１２〜１４を参照して説明する。すなわち、本実施形態は、基本的には上記の第１の実施形態と同様である。但し、図１２に示すように、第１の実施形態で用いた同期用フレームに、時刻情報を付加する点が異なる。この時刻情報は、発信する自局の時刻を示している。なお、本実施形態においては、図１３に示すように、ＣＰＵ３３０が、所定のプログラムにより時刻演算部３３４、時刻補正部３３５としても機能する。
【００８７】
［２−２．作用効果］
以上のような本実施形態においては、マスタ局Ｍにおける同期用フレーム生成時に、ズレ値と同時に時刻情報を乗せる。スレーブ局ＳにおけるＣＰＵ３３０は、マスタ局Ｍとの同期を確立できたことを確認したら、マスタ局Ｍから受信した同期用フレーム中の時刻情報に基づいて、時刻演算部３３４が時刻を演算し、時刻補正部３３５が自局の時刻を書き換える。
【００８８】
これにより、機器の内部時刻も高精度に同期させることが可能になる。なお、この時刻情報は、基準タイミングを元に生成できるあらゆる情報を表しており、日付のある標準時刻のほかに、システム上の絶対時刻やサンプリングパルスの順序を示すアドレス値やカウンタ値など、どのようなものでもよい。
【００８９】
なお、時刻情報（タイムタグ）の形態として、カウント値を用いた場合の、伝送遅延時間を求める手順を、図１４を参照して説明する。カウント値から標準時刻単位（時分秒、ミリ秒など）への置き換えは、あらかじめ設定された変換係数をカウント値に乗じることで求められる。なお、各同期用フレームの送受信タイムタグをａ〜ｄとする。
【００９０】
まず、送受信タイムタグａ〜ｄから求められるカウント差分ｚ，ｚ’は以下の通りである。
ｚ  ＝  ｂ  −  ａ
ｚ’＝  ｄ  −  ｃ
【００９１】
また、カウンタのズレ幅ｙ，ｙ’は、以下の通りである。
ｙ  ＝ｚ  ＋  ｘ
ｙ’＝ｚ’−  ｘ’
【００９２】
ここで、伝送遅延時間α  ＝  伝送遅延時間α’であり、マスタ局Ｍ、スレーブ局Ｓのカウンタ更新間隔は一定であることから、
・カウンタ歩進幅  ｘ＝ｘ’
・カウンタズレ幅  ｙ＝ｙ’
となる。
【００９３】
上記から、
ｙ＝（ｂ−ａ）＋ｘ  または  ｙ  ＝（ｄ−ｃ）−ｘ
２ｙ＝（ｂ−ａ）＋ｘ＋（ｄ−ｃ）−ｘ
２ｙ＝（ｂ−ａ）＋（ｄ−ｃ）
よって、カウンタのズレ幅ｙは、
ｙ＝（（ｂ−ａ）＋（ｄ−ｃ））／２
となる。
【００９４】
さらに、
伝送遅延時間α  ＝  ｘ  ×  時刻変換計数ｎであり、であり、上記から、
ｘ＝ｙ−ｚ＝（（ｂ−ａ）＋（ｄ−ｃ））／２  −（ｂ−ａ）
よって伝送遅延時間αは、
α＝{（（ｂ−ａ）＋（ｄ−ｃ））／２−（ｂ−ａ）}×ｎ
となる。
【００９５】
［３．第３の実施形態］
本発明の第３の実施形態を、図１５〜１６を参照して説明する。本実施形態は、図１５の局構成例に示すように、マスタ局Ｍに対して、複数のスレーブ局Ｓ１〜Ｓｘがある構成を前提とする。かかる場合には、それぞれのスレーブ局Ｓ１〜Ｓｘが発信した同期用フレームの受信タイミングと、マスタ局Ｍの基準タイミングとのズレ値を計測し、それぞれのスレーブ局Ｓ１〜Ｓｘに通知する必要がある。
【００９６】
このため、本実施形態においては、図１６に示すように、スレーブ数と同じ数のラッチレジスタＢ３４〜ｘ３６、図１７に示すように、各スレーブ局Ｓに対応したズレ値ｂ〜ｘを通知できるフレーム構成が必要になる。
【００９７】
すなわち、図１６に示すカウンタ計数回路３２６は、基本的には、図２で示した第１の実施形態と同様である。但し、本実施形態においては、受信フレーム種別検定回路３２５からのラッチ指令時に、同期用フレームの受信タイミングが格納される複数のラッチレジスタＢ３４〜ｘ３６を有している。どのラッチレジスタＢ３４〜ｘ３６に格納するかは、同期用フレーム中のフレーム種別によって異なる。なお、ラッチ回路３２は、ラッチ指令元を識別してカウント値を格納するレジスタを振り分ける。
【００９８】
図１７のフレーム構成は、第１の実施形態で用いた同期用フレームと比べて、次の点に特徴がある。
ｄｓｔ＿ｍａｃ：宛先局ＭＡＣアドレス
マスタ局Ｍからの発信＝全スレーブ局Ｓが受信可能な
マルチキャストアドレス
スレーブ局Ｓからの発信＝マスタ局Ｍだけが受信可能
なマルチキャストアドレス又はユニキャストアドレス
【００９９】
また、ｅｔｈｅｒ＿ｔｙｐｅ（フレーム種別）で受信タイミングをラッチするので、マスタ局Ｓと各スレーブ局Ｍとでコードが異なる。以下はコード例である。
マスタ局Ｍ    ＝Ａ０００
スレーブ局Ｓ１＝Ｂ００１
スレーブ局Ｓ２＝Ｂ００２
スレーブ局Ｓｘ＝Ｂ００ｘ
【０１００】
なお、各スレーブ局Ｓ１〜Ｓｘは、自局とマスタ局Ｍとの基準タイミングのズレ値を求められればよいので、図２に示したように、１つのラッチレジスタＢ３４のみで処理できる。したがって、判別するフレーム種別も、マスタ局Ｍの発信用フレーム種別だけでよい。
【０１０１】
また、各スレーブ局Ｓ１〜Ｓｘから発信する同期用フレームのフレーム種別は、他のスレーブ局Ｓ１〜Ｓｘと区別させる必要があり、一例として、Ｂ００１、Ｂ００２、Ｂ００ｘと振り分ける。これは、一般的な局アドレスと同等と考えてよい。
【０１０２】
これに対して、マスター局Ｍは、スレーブ局Ｓ１〜Ｓｘのそれぞれから発信される同期用フレームの受信タイミングを、別個に識別してズレ値を計測する必要があるため、図１６に示すように、スレーブ局Ｓ１〜Ｓｘの数に対応したラッチレジスタＢ３４〜ｘ３６が必要になる。
【０１０３】
マスタ局Ｍは、受信した同期用フレームを処理する際に、発信元のスレーブ局Ｓ１〜Ｓｘ（＝フレーム種別Ｂ００１〜Ｂ００ｘ）に対応したラッチレジスタＢ３４〜ｘ３６を参照して、ズレ値を求めることができる。
【０１０４】
このように求めたズレ値を、図１７に示すように、同期用フレーム中のズレ幅ｂ〜ｘに格納してマルチキャスト配信することで、スレーブ局Ｓ１〜Ｓｘへのズレ値の通知を行うことができる。マスタ局Ｍは、スレーブ局の数が増える毎に同期用フレームの受信数は増えるが、複数のズレ値を１つの同期用フレームに集約して、全スレーブ局Ｓ１〜Ｓｘにマルチキャスト配信するので、送信フレーム数が増えることはない。
【０１０５】
以上のような本実施形態によれば、複数のスレーブ局Ｓ１〜Ｓｘとのサンプリング同期、時刻同期を、一つのフレームで行うことができるので、最小限の通信負荷で実現できる。また、それぞれのスレーブ局Ｓ１〜Ｓｘの同期補正は独立しているので、スレーブ局数が増減しても１：１連絡時と変わらない所要時間で、同期確立を行うことができる。
【０１０６】
［４．第４の実施形態］
本発明の第４の実施形態を、図１８〜２０を参照して説明する。すなわち、本実施形態においては、図１８に示すように、各スレーブ局Ｓ１〜ＳｘにおけるＣＰＵ３３０が、マスタ局Ｍからの同期用フレームが正常受信できている（図１９）か否かを監視する監視部３３６と、異常が発生した場合に（図２０）、代理マスタへの切り換えを行う切換部３３７とを有している。
【０１０７】
監視部３３６は、例えば、定期受信間隔のｎ倍経過等の値をあらかじめメモリ等の記憶手段に設定しておき、この設定値と受信できない時間との比較に基づいて、受信タイムアウトを検出して、マスタ局Ｍに異常があったとみなす。このとき、スレーブ局Ｓ１〜Ｓｘのうちのいずれか１つの切換部３３７が、代理マスタへの切り換えを行い、機器の同期を維持する。
【０１０８】
切換部３３７による代理マスタへの移行は、例えば、スレーブ局Ｓ１〜Ｓｘの局アドレス値を係数にして、受信タイムアウト時間に加算することによって、いずれのスレーブ局Ｓ１〜Ｓｘに切り換えるかに優先順位を持たせることが可能である。
【０１０９】
上記の第３の実施形態においては、スレーブ局Ｓに必要な、受信タイミング保持用のラッチレジスタＢ３４は１つだけでよかった。しかし、本実施形態においては、代理マスタＭ’への切換えを行うため、それぞれのスレーブ局Ｓにも、マスタ局Ｍと同等個数の受信タイミング保持用のラッチレジスタＢ３４〜ｘ３６が必要になる。
【０１１０】
以上のような本実施形態によれば、マスタ局Ｍに複数のスレーブ局Ｓ１〜Ｓｘが接続された１：ｎ型の局構成において、マスタ局Ｍがダウンした場合であっても、スレーブ局Ｓ１〜Ｓｘのいずれかが代理マスタ局となって通信ネットワークに接続される健全機器の同期を維持することができる。このため、マスタ局Ｍが故障等でダウンしても、自身の水晶発振器３２７のみの精度で自走することがなく、各スレーブ局Ｓ１〜Ｓｘの基準タイミングが時間の経過でずれていくこともない。
【０１１１】
［５．第５の実施形態］
本発明の第５の実施形態を、図２１を参照して説明する。すなわち、本実施形態は、図２１に示すように、通信ネットワークの接続構成を、マスタ局Ｍ→サブマスタ局（マスタ局と同等の機能を持つスレーブ局）ＳＭ→スレーブ局Ｓ１〜Ｓｘ、マスタ局Ｍ→サブマスタ局（マスタ局と同等の機能を持つスレーブ局）ＳＭ’→スレーブ局Ｓ１’〜Ｓｘ’といった階層構造で接続し、一つのマスタ局Ｍに接続されるスレーブ局の数を、一定数に抑えたものである。
【０１１２】
以上のような本実施形態では、サブマスタ局ＳＭは、マスタ局Ｍとの同期が確立したら、同期を維持しつつ、スレーブ局Ｓ１〜Ｓｘとの同期用フレーム連絡を行う。これにより、サブマスタ局ＳＭとスレーブ局Ｓ１〜Ｓｘとの同期確立、維持が実現する。サブマスタ局ＳＭ’とスレーブ局Ｓ１’〜Ｓｘ’も同様である。
【０１１３】
マスタ局Ｍに接続できるスレーブ局Ｓの数は、通信速度とフレーム長でおおよそを求めることができる。例えば１００Ｍｂｐｓの通信速度で、６４バイト長の同期用フレームを転送する場合、通信時間に約５マイクロ秒かかり、５つのスレーブ局Ｓが同期して発信すると、中継装置による通過遅延時間は最大２０マイクロ秒となる（最小は遅延ゼロ）。
【０１１４】
同期用フレームのバイト数が２倍になると、通過遅延も２倍になり、通信速度が１０倍になると、通過遅延は１０分の１になる。この遅延時間が同期誤差になるので、同期精度に応じて接続スレーブ局数を決定すればよい。
【０１１５】
以上のような本実施形態によれば、１：ｎ型の局構成で、サブマスタ局ＳＭ，ＳＭ’等を介在させた階層構造とすることで、マスタ局Ｍの通信負荷を低減させて、通信ネットワーク上に接続できる局数の制限を拡大し、高精度に全局を同期させることができる。これにより、大規模なネットワークシステム上においても、本発明を適用できる。
【０１１６】
したがって、多数のスレーブ局Ｓの基準タイミングが同期してきて、同期用フレーム発信タイミングが重なるような場合であっても、リピータやルータといった中継装置によるバッファリング時間の増加や変動で生じる通過遅延を防止して、正確な同期制御を維持することができる。
【０１１７】
［６．他の実施形態］
本発明は、上記のような実施形態に限定されるものではない。例えば、上記の実施形態では、スレーブ局Ｓのサンプリングパルス幅を補正幅Ｔｓとして各サンプリング毎に微小補正する動作としている。しかし、差分である「ズレ」は取得できているので、次のサンプリングパルスを、基準幅Ｔ−ズレ、として、１発で合わせ込むことも可能である。
【０１１８】
なお、上記の実施形態では、単なる差分である「ズレ」と、パルス幅との関係を考慮した「ズレ幅」とを区別して用いたが、請求項におけるズレ値とは、ズレに関するあらゆる値、つまり、上記の「ズレ」及び「ズレ幅」もともに含む広い概念であり、本発明では、「ズレ」に基づいて、基準タイミングを補正する場合（例えば、上記の１発で合わせ込む場合）も含まれる。
【０１１９】
また、基準タイミングを急激に変動できない場合には、補正幅Ｔｓの次のサンプリングパルス幅は、基準幅Ｔに戻して数サンプリングパルス時間経過してから、再度補正幅Ｔｓにする、といった方法もある。このように、補正動作は、基準タイミングやその周期で実施する処理に合った動作が求められ、その方法は様々なものが考えられることから、本発明では、補正動作の方式、方法は問わない。
【０１２０】
さらに、イーサネットフレームを生成（イーサネットヘッダ、及びＦＣＳの生成／付加）するのは、データリンク層（ドライバインタフェース処理相当）である。このデータリンク層（ＭＡＣ副層、ＬＬＣ副層を含む）のソフトウェア処理も含めて、プログラム設計範囲にあれば、ｅｔｈｅｒ＿ｔｙｐｅへ書き込むタイプ値を追加するのは容易である。
【０１２１】
しかし、通信処理のソフトウェア構成の都合から、ｅｔｈｅｒ＿ｔｙｐｅに特殊コードを組み込めない場合がある。例えば、汎用のパッケージ化されたＴＣＰ／ＩＰインタフェース処理を、ソフトウェア構成として使用する場合には、データリンク層を操作するのは難かしい。また、ＴＣＰ／ＩＰなどのプロトコルスタックが組み込まれた１チップのネットワークＬＳＩもあり、この場合は、ソフトインタフェースはユーザデータ授受のみであり、データリンク層の操作は全てＬＳＩ内部で実施されるので、ソフトウェアからはアクセスできない。
【０１２２】
これに対処するため、ＵＤＰ／ＩＰのフレーム連絡を、同期用フレームとして用いることも可能である。例えば、図２２に示すように、ＵＤＰパケットのユーザデータ部に、フレーム種別、ズレ幅、機器間連絡情報を格納し、受信フレーム種別検定回路３２５による判定位置を、イーサネットヘッダのｅｔｈｅｒ＿ｔｙｐｅ及びＵＤＰパケットのユーザデータ部のフレーム種別の２箇所とすればよい。なお、ＴＣＰ／ＩＰパケットにおいては、プロトコル処理過程において遅延や再送等が入るため、同期用フレームには適用し難い。
【０１２３】
また、タイミング同期装置及び同期方法を実現するための回路は、例えば、これらの機能を実現するＡＳＩＣやＣＰＵ等のＩＣチップやその他の周辺回路、複数の機能を集約したシステムＬＳＩ等、種々考えられるものであり、特定のものには限定されない。ハードウェア処理とソフトウェア処理の範囲も自由である。
【０１２４】
また、パーソナルコンピュータやサーバ装置のような汎用のコンピュータを、プログラムで制御することで本発明を実現することもできる。この場合のプログラムは、コンピュータのハードウェアを物理的に活用することで、本実施形態における各部の機能を実現するものであり、かかるプログラム及びプログラムを記録したハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭその他の種々の記録媒体は単独でも本発明の一態様である。したがって、例えば、コンピュータにアプリケーションプログラムをインストールすることにより、本発明を構成することもできる。
【０１２５】
また、通信ネットワークは、有線若しくは無線のあらゆる伝送路、伝送媒体を適用可能であり、どのようなＬＡＮやＷＡＮを経由するか若しくは経由しないかは問わない。通信プロトコルについても、現在又は将来において利用可能なあらゆるものを適用可能である。
【図面の簡単な説明】
【０１２６】
【図１】本発明の第１の実施形態の構成を示す機能ブロック図
【図２】図１のカウンタ計数回路を示す機能ブロック図
【図３】本発明の第１の実施形態におけるマスタ局とスレーブ局との接続図
【図４】図１の実施形態における同期用フレーム構成図
【図５】図１の実施形態におけるフレーム送信処理の手順を示すフローチャート
【図６】図１の実施形態におけるフレーム受信処理の手順を示すフローチャート
【図７】図１の実施形態における基準タイミングの補正処理の手順を示すフローチャート
【図８】マスタ局とスレーブ局との基準タイミングのズレ（差分）を示す図
【図９】マスタ局とスレーブ局との基準タイミングのズレ幅が相違する場合を示す図
【図１０】マスタ局とスレーブ局との基準タイミングのズレ幅が一致する場合を示す図
【図１１】スレーブ局の基準タイミングの補正例を示す図
【図１２】本発明の第２の実施形態における同期用フレーム構成図
【図１３】本発明の第２の実施形態におけるＣＰＵの機能ブロック図
【図１４】本発明の第２の実施形態における伝送遅延時間の算出を説明する図
【図１５】本発明の第３の実施形態におけるマスタ局と複数のスレーブ局との接続図
【図１６】本発明の第３の実施形態におけるカウンタ計数回路を示す機能ブロック図
【図１７】本発明の第３の実施形態における同期用フレーム構成図
【図１８】本発明の第４の実施形態におけるＣＰＵの機能ブロック図
【図１９】本発明の第４の実施形態における正常時のマスタ局とスレーブ局の接続図
【図２０】本発明の第４の実施形態における障害時のマスタ局とスレーブ局の接続図
【図２１】本発明の第５の実施形態における階層構造のマスタ局とスレーブ局の接続図
【図２２】本発明の他の実施形態における同期用フレーム構成図
【図２３】一般的なネットワーク制御回路を示す機能ブロック図
【図２４】リング方式のバッファメモリ構成を示す図
【図２５】ディスクリプタ方式のバッファメモリ構成を示す図
【図２６】図２５の格納フレームデータ例を示す図
【符号の説明】
【０１２７】
３１…フリーランカウンタ
３２…ラッチ回路
３３…ラッチレジスタＡ
３４…ラッチレジスタＢ
３５…ラッチレジスタＣ
３６…ラッチレジスタｘ
１０２…送信バッファメモリ
１０３…受信バッファメモリ
１０６，３４０…コネクタ
２０１…バッファインデックス
２１１〜２１４…バッファディスクリプタ
２０２，２１５〜２１８…バッファ本体
３００…サンプリングパルス発振回路
３１０…汎用ネットワーク制御回路
３１１…送信バッファメモリ
３１２…受信バッファメモリ
３１４…ＭＡＣレイヤ制御回路
３１５…物理レイヤ制御回路
３２０…フレーム送受信タイミング制御回路
３２１，３２２…物理レイヤ制御回路
３２３…送信フレーム保留バッファメモリ
３２４…送信タイミング制御回路
３２５…受信フレーム種別検定回路
３２６…カウンタ計数回路
３２７…水晶発振器
３３１…ズレ値算出部
３３２…補正判定部
３３３…基準タイミング補正部
３３４…時刻演算部
３３５…時刻補正部
３３６…監視部
３３７…切換部
【図１】
0005127482.tif 000002
【図２】
0005127482.tif 000003
【図３】
0005127482.tif 000004
【図４】
0005127482.tif 000005
【図５】
0005127482.tif 000006
【図６】
0005127482.tif 000007
【図７】
0005127482.tif 000008
【図８】
0005127482.tif 000009
【図９】
0005127482.tif 000010
【図１０】
0005127482.tif 000011
【図１１】
0005127482.tif 000012
【図１２】
0005127482.tif 000013
【図１３】
0005127482.tif 000014
【図１４】
0005127482.tif 000015
【図１５】
0005127482.tif 000016
【図１６】
0005127482.tif 000017
【図１７】
0005127482.tif 000018
【図１８】
0005127482.tif 000019
【図１９】
0005127482.tif 000020
【図２０】
0005127482.tif 000021
【図２１】
0005127482.tif 000022
【図２２】
0005127482.tif 000023
【図２３】
0005127482.tif 000024
【図２４】
0005127482.tif 000025
【図２５】
0005127482.tif 000026
【図２６】
0005127482.tif 000027