(57)【特許請求の範囲】
【請求項１】
第２のノードによる第１のノードからの情報受信方法であって、各ノードがそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、前記第２のノードがクロックのクロック・パルスをモニターするカウンタを備えている方法において、第１のノードからデータを有するフレームが受信された場合、前記第２のノードで実行される、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むステップと、
受信フレームに挿入された同期情報を読み込むステップと、
情報間の差を計算するステップと、
上記計算ステップの結果に従ってネットワーク同期処理手順の中へ入るステップとを有し、
前記ネットワーク同期処理手順が、
同期用の第１のレジスタの中へ前記減算ステップの結果を記憶するステップを有し、
前記ネットワーク同期処理手順が、更に、
第２の参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むステップと、
第２の受信フレームに同期情報を読み込むステップと、
前記第２の参照イベントの発現時にカウントされた前記クロック・パルスを表す１つの読み込まれた情報を第２の受信フレームの１つの読み込まれた情報から減算するステップと、
同期を行うために、第２のレジスタの中へ前記減算ステップの結果を記憶するステップを有し、
前記ネットワーク同期処理手順が、更に、
前記第１のレジスタから前記第２のレジスタの内容を減算するステップと、
前記減算ステップの結果を表す情報を含む情報メッセージを前記ネットワーク上に生成するステップとを有する
ことを特徴とする情報受信方法。
【請求項２】
第２のノードによる第１のノードからの情報受信方法であって、各ノードがそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、前記第２のノードがクロックのクロック・パルスをモニターするカウンタを備えている方法において、第１のノードからデータを有するフレームが受信された場合、前記第２のノードで実行される、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むステップと、
受信フレームに挿入された同期情報を読み込むステップと、
情報間の差を計算するステップと、
上記計算ステップの結果に従ってネットワーク同期処理手順の中へ入るステップとを有し、
前記フレームの前記同期情報が、前記第１のノード上での２つの参照イベントの発現時にカウントされたクロック・パルスの間の差であり、
参照イベントの発現時にカウントされた前記クロック・パルスを表す情報を読み込む前記ステップが、
２つの参照イベントの発現時にカウントされた前記クロック・パルスを表す２つの情報を読み込むステップと、
双方の情報の間の差を計算して読み込まれた情報を形成するように成すステップとから成り、
前記ネットワーク同期処理手順が、前記減算ステップの結果を表す情報を含む情報メッセージを前記ネットワーク上に生成するステップを有する
ことを特徴とする情報受信方法。
【請求項３】
前記第２のノードが、該ノードが接続されている前記ネットワークから受信された情報からカウントされたパルス数を更新することを特徴とする請求項１または２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は２つのネットワークの間の同期方法に関する。
【０００２】
【従来の技術】
周知のように、例えばIEEE1394-1995に準拠するいくつかのシリアル通信バスによって形成される通信ネットワークが知られている。
【０００３】
IEEE1394-1995は、同じ１台の装置のカード、異なる装置のカード及び外部周辺機器間の低コストの相互接続が可能な、高いスループットのシリアル通信バスが定義している。
【０００４】
シリアルバスには２つの物理環境、すなわちケーブルとバックプレーン(または相互接続カード)が存在する。ケーブルによる相互接続によって最大距離4.5メートルで16の異なる台数の装置との接続が可能になる。これによって最も遠く離れた台数の装置間は総距離72メートルとすることが可能になる。ケーブルを介する伝送速度は100、200あるいは400Mbpsさえも可能となる。バックプレーンでの伝送速度は25(24、576)及び50Mbpsにもなり得る。バスへのアクセス・メカニズムについては、バスと接続しているすべての台数の装置によってバスの使用が可能になるようにこの規格に明記されている。読込み/書込みの従来の機能に加えて、シリアルバスによって同時データの転送のような(伝送時間と帯域幅とを保証する)高度の同期サービスと、データとイベントとを同期させるためのマイクロセカンド未満の精度を持つ全体的タイム・ベースが提供される。
【０００５】
シリアル通信バスがネットワークで組織化される。すなわちそれらのバスは“ブリッジ”と呼ばれる相互接続エレメントによって一緒に接続される。
【０００６】
特に、シリアル通信バスを接続するブリッジはP1394.1規格の首題であり、この規格について現在議論が行われている。
【０００７】
ブリッジには２台の相互接続装置すなわちノード(“ポータル”とも呼ばれる)があり、これらのノードの各々は２つのシリアル通信バスの中の１つと接続している。
【０００８】
これら２台の相互接続装置によって異なる性質のリンク(有線、光、無線など)を介して相互交信が行われる。
【０００９】
このようにしてバス・ネットワークによってツリー中に階層的に設けられた構造が形成され、このツリー構造の中でこれらのバスの中の１つが上位バス(“ルート”バスと呼ばれる)とみなされる。この上位バスから様々な他のバスが拡張されて、階層的ツリー構造のブランチが構成される。
【００１０】
このようなネットワーク中の各シリアル通信バスによって、プリンタ、コンピュータ、サーバー、スキャナ、ビデオテープレコーダ、デコーダ(またはセット・トップ・ボックス(set top box))、テレビ受信装置、デジタルカメラ、カムコーダ、デジタル写真装置、電話、オーディオ／ビデオプレーヤなどのような異なる周辺機器が一緒に接続される。
【００１１】
これらの周辺機器は一般にノードと呼ばれる。
【００１２】
ネットワーク中の各シリアル通信バスと接続した各周辺機器、すなわちノードは内部クロック(発振器)を有し、そこからあるクロック周波数(例えば24.576MHz)でクロック・パルスが生成される。
【００１３】
ネットワーク中の各シリアル通信バスと接続したノードの中の１つは“サイクル・マスター(Cycle Master)”と呼ばれ、“ルート”バスと接続したサイクル・マスター・ノードは“ネットワーク・サイクル・マスター”と呼ばれる。
【００１４】
ネットワークのすべての“サイクル・マスター”ノードはその内部クロックを用いてサイクルを生成する。したがってこれらのサイクルの持続時間は各々の特定クロックの精度に依存することになる。バス特有のTで示されるこのサイクルの持続時間は、すべてのバスに共通のまたは共通でないクロック・パルスを示す整数値ninitに等しい。このTにバスの“サイクル・マスター”ノードの内部クロックの周波数の逆数が掛けられる。
【００１５】
したがって、同時サイクルTの持続時間は例えば125マイクロセカンド±12.5nsとなる。
【００１６】
シリアル通信バスに対する同時サイクルの同期は当該バスの“サイクル・マスター”ノードによりチェックされる。このノードをバスの同期ノードと定義することができる。
【００１７】
次いで“サイクル・マスター”ノードによって、125マイクロセカンド±12.5ns毎に同期メッセージに対応する“サイクル開始パケット”がバスに生成される。この信号の発生周波数には、“サイクル・マスター”ノードによって最新のものに更新される8kHz±100ppmに等しい周波数が内部クロックによって供給されるが、該周波数はこの内部クロックのローカル・クロックから24.576MHzで導き出されたものである。
【００１８】
バスのこの信号によって、“サイクル・マスター”ノードに従って他のノードとの同期が可能になる。さらに、同じバスまたは少なくとも１つのブリッジによってそれぞれ当該バスと接続したその他のバスのなかの少なくとも１つで同時データの伝送を行うことができることを他のノードへ通知することが可能となる。
【００１９】
ここで注意すべきことは、同時サイクルの開始の際に、バスを介してデータ伝送を行いながら一方でサイクル開始パケットの発生が遅延される(すなわち、サイクル開始のかなりのシフトが行われる)ことである。
【００２０】
このようなシフトが非常にしばしば受け入れられないことを考慮して、サイクルタイム・レジスタと呼ばれるレジスタにおけるサイクル開始信号の伝送時の遅延時間が考慮される。このようにして、サイクル・マスターは、バスと接続したすべての同時ノードについて、サイクル開始信号を介してそのサイクルタイム・レジスタのコピーを作成する。
【００２１】
同時データの伝送が可能な各ノードにこのようなサイクルタイム・レジスタが備えられている。
【００２２】
サイクルタイム・レジスタはCTRとも略記され、32ビットのサイズを持ち、最初の12ビットはカウンタ・モジュロ3072を表す。該カウンタ・モジュロ3072は周波数が24.576MHzのローカル・クロック時間毎に増分する。
【００２３】
次の13ビットのサイクルタイム・レジスタCTRは8kHzの周波数で伝送される同時サイクル数のカウンタを表す。
【００２４】
最後の7ビットのサイクルタイム・レジスタCTRは秒数をカウントするレジスタである。
【００２５】
サイクル開始信号は、同時データの伝送が可能なバスのすべてのノードに達すると、サイクル開始信号中に含まれる、バスの“サイクル・マスター”ノードのサイクルタイム・レジスタCTRの内容をあるレジスタの中へコピーする。
【００２６】
実際に最大の差が得られるのは、周辺機器の中の１つの内部クロック周波数が24.576MHz±100ppmで、もう一方の周辺機器のもう一方の周波数が24.576MHz−100ppmである場合である。
【００２７】
例えば、“ルート”バスの“ネットワーク・サイクル・マスター”(CMAで示される)の内部クロック周波数は24.576MHz＋100ppmの値を持っているのに対して、ブリッジによって“ルート”バスと直接接続する下位レベルのバスの内部クロック周波数は24.576MHz−100ppmの値を持っている。
【００２８】
シリアル通信バスによって形成される通信ネットワークによって、当該バスのサイクルを利用する同期データの伝送が可能になる。これらのバスは、例えばオーディオ／ビデオ・タイプのリアルタイム・データの伝送に用いられる。
【００２９】
したがって、それぞれのクロック周波数値(すなわち24.576MHz＋100ppmと24.576MHz−100ppm)を持つ、CMAとCMBで示される前述の２つの“サイクル・マスター”を考えるとき、“サイクル・マスター”の各々について計算されたサイクルの持続時間(それぞれTAとTBで示される)は、これらの“サイクル・マスター”の内部クロックの様々な周波数に起因して様々に異なる。
【００３０】
図１はこの現象を例示するものであり、TA＝ninit/FAかつTB＝ninit/FBとなるように、同じ整数値ninitを持つ２つのスーパーインポーズされた軸上にこの現象が示されている。ただし、Fは当該“サイクル・マスター”のクロック周波数を示し、持続時間TBのサイクルはTBのサイクルより大きいものとする。
【００３１】
上図には、バスの最初の２つのサイクルの上に識別番号１と２によって２つのデータ・パケット番号が描かれている。
【００３２】
ここで注意すべきことは、２つのバスの第１サイクルの各々の起点において零位相差が想定されているという理由によって、図１に描かれたケースは現実には非常にあり得ないケースであるという点である。
【００３３】
しかし、これらの２つの軸の比較によって各サイクルの開始時における相対的シフトが示される。このシフトは、当該サイクル間の時間経過の中での実際の位相偏移の変化(図の時間の原点で零)に対応するものである。
【００３４】
さらに、２本の矢印が２つの軸の間に描かれているが、これらの矢印は、バスAとBを一緒に接続しているブリッジを横切った後、１と２で示されるデータ・パケットがバスBを介して伝送される際の遅延を示すものである。実際に、ここに描かれている遅延は２つのサイクルに等しいものと推定され、この事実は、バスを介するパケット伝送の前に、ブリッジでパケット処理を行うのに要する時間によって説明される。
【００３５】
したがって、ある一定数のサイクルの終りにバスAとBのそれぞれのサイクル間で見られる相対的時間オフセットを考慮すると、バスAから発出するデータ・パケットがバスBへ伝送されることはない。
【００３６】
したがって、このデータ・パケットの非伝送は、オーディオ及び／又はビデオタイプのリアルタイムのデータにとって非常に有害なものになる可能性がある。
【００３７】
上記のことは、例えばビデオ・タイプのデータに関しては、ビデオ・データ・パケットのすべてを正確に伝送して、伝送されたパケットから得られるビデオ画像の品質が劣化しないようにすることが非常に重要であるということにその理由がある。
【００３８】
一般に、持続時間TAがTB未満の場合、ある一定数のサイクルの終りにデータ・パケットが失われる。これは１つのサイクルが失われてしまったことを意味する。さらに、TAのほうがTBより大きい場合、サイクル中の１つのサイクルの間データ・パケットは伝送されない。したがって、空のサイクルが生じ、それによって、オーディオ及び／又はビデオタイプのリアルタイム・データの処理の際に同期の損失が生じることになる。
【００３９】
上述のオフセットの問題点は、IEEE1394(規格P1394.1)標準化委員会のブリッジ作業グループ内で現在検討されている。
【００４０】
この作業グループ内で様々な解決策が、特にPhilips社によって1998年1月と3月に、“サイクル・スレーブを介する外部タイミング情報との同期サイクル・マスター”と題する２つの寄稿論文(参照番号Br008r00.pdfとBr015r00.pdf)の形で提案されている。
【００４１】
この解決策の文脈では、２つの接続ノードすなわち“ポータル”から成るブリッジによって２つのシリアル通信バスが接続される。一方のバスはマスター・バスと呼ばれ、他方のバスはスレーブ・バスと呼ばれ、それぞれの参照符号はbAとbBである。公知の方法では、シリアル通信バスbAとbBの各々の同時サイクルの同期が行われるが、この同期はバスの各々の“サイクル・マスター”同期ノードによって生成されたサイクル開始信号を伝送するメカニズムによるものである。上述の問題を解決し、バスbAとbBを一緒に同期するために、Philips社は、バスbAと接続した接続ノードにおける“サイクル・リセット”と呼ばれる信号の伝送を提案している。該信号はバスbBと接続した相互接続ノード用として意図されるものである。
【００４２】
この信号は新しい同時サイクルの開始を示すものであり、この開始はバスbAと接続した相互接続ノードにおけるサイクルタイム・レジスタCTRの最初の12ビットのゼロに対応する。これらの最初の12ビットは“サイクル・オフセット”と呼ばれる。
【００４３】
“サイクル・リセット”信号を受信するバスbBと接続した相互接続ノードによって、カウンタ“サイクル・オフセット”の値はそのサイクルタイム・レジスタCTRから回復され、この値は“タイマー・オフセット”と呼ばれるレジスタに記憶される。
【００４４】
したがって、レジスタ“タイマー・オフセット”には、マスター・バスbAとスレーブ・バスbBの同時サイクル間のオフセット値が含まれる。
【００４５】
次に、バスbBと接続した相互接続ノードによって、スレーブ・バスbBの“サイクル・マスター”ノードの“タイマー調節”と呼ばれるレジスタの中へレジスタ“タイマー・オフセット”の内容がコピーされる。
【００４６】
次いで、スレーブ・バスbBの“サイクル・マスター”ノードによって、該ノードのサイクルタイム・レジスタCTRの内容が読み込まれ、そこからレジスタ“タイマー調節”の内容を示す値が減算され、その結果は該ノードのサイクルタイム・レジスタCTRの中に保存される。
【００４７】
この方法によって、バスbAと、bAの“サイクル・マスター”ノードのレジスタ“サイクル・オフセット”とを、同時サイクルの各伝送時に同期状態に保持することが可能になり、この同期によって該バスのそれぞれのクロックにおける精度不足に起因するオフセットの防止を図ることができるようになる。
【００４８】
しかし、この解決策には、バスbAと接続した相互接続ノードから、バスbAと接続した相互接続ノードへの信号“サイクル・リセット”の伝送を瞬間的(すなわち精度に関して周知の比較的短時間)にして、同時サイクルの開始の評価の中へエラーが入り込まないようにしなければならないという欠点がある。
【００４９】
上記解決策は、同じ物理的エンティティの一部がブリッジの２つの相互接続ノードによって形成されるか、互いから遠く離れていない場合には適用可能である。
【００５０】
しかし、例えばこれら２台の相互接続装置が無線や光リンクによって、あるいは、ネットワークを介して互いに交信する場合には、信号“サイクル・リセット”の伝送は瞬間的なものにはならず様々な伝送遅延を被ることになる。
【００５１】
さらに、無線による伝送の場合、無線チャネルに対する干渉に起因して信号の良好な受信の保証をすることは不可能である。
【００５２】
したがって、ブリッジを構成する２つの相互接続ノード間の情報伝送に用いる通信媒体の如何にかかわらず、ブリッジによって一緒に接続した２つのシリアル通信バスの同期方法を見つけることができれば好適であろう。
【００５３】
【発明が解決しようとする課題】
本発明は、２つの同期ノードすなわち当該シリアル通信バスの“サイクル・マスター”間の同期という問題を解決することを目的とするものである。
【００５４】
【課題を解決するための手段】
したがって本発明は、情報フレームによる情報交換を行う通信ネットワーク間で同期を行うための方法を提案することにより、この問題の改善を目指すものである。各通信ネットワークはクロックを有し、クロック・パルス数がカウンタによってモニターされる。該方法は、
参照イベントの発現時に、第１のネットワークのクロックのカウントされたクロック・パルスを表す情報を読み込むステップと、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として情報フレームの中へ挿入するステップと、
第１のネットワークから第２のネットワークへ前記情報フレームを転送するステップと、
参照イベントの発現時に、第２のネットワークのカウントされたクロック・パルスのクロック数を表す情報を読み込むステップと、
第１のネットワークから、受信した情報フレームに挿入された同期情報を読み込むステップと、
情報間の差を計算するステップと、
第２のネットワークと同期を行うステップとを有する。
【００５５】
相関的に、本発明は、情報フレームによる情報交換を行う通信ネットワーク間で同期を行うための装置を提案するものである。各通信ネットワークはクロックを有し、クロック・パルス数がカウンタによってモニターされる。少なくとも２つのネットワークと接続した該装置は、
参照イベントの発現時に、第１のネットワークのクロックのカウントされたクロック・パルスを表す情報を読み込む読込み手段と、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として情報フレームの中へ挿入する挿入手段と、
第１のネットワークから第２のネットワークへ前記情報フレームを転送する転送手段と、
参照イベントの発現時に、第２のネットワークのカウントされたクロック・パルスのクロック数を表す情報を読み込む読込み手段と、
受信した情報フレームに挿入された同期情報を読み込む読込み手段と、
情報間の差を計算する計算手段と、
第２のネットワークと同期を行う同期手段とを有する。
【００５６】
このようにして、パケットが失われることはなくなる。これはある一定のデータの転送にとって重要なことである。さらに、ネットワークの同期が行われていない場合、データのバッファに使用する大きなメモリも必要としない。２つのネットワークのカウントされたクロック・パルス数を考慮することにより、第２のネットワークに対して１つのネットワークの同期を容易に行うことが可能となる。参照イベントによって、伝送時間および処理時間の遅延により生じた問題を回避しながら、これらの数がカウントされた瞬間に絶えず注意することが可能となる。差計算もまた２つのネットワーク間の非同期を評価する簡単な方法である。データフレーム中への同期情報の挿入には、ネットワーク間で特別の同期信号を生成し、相互接続されたネットワーク構成を単純化する必要がある。同期情報をデータフレームの中へ回復する時間を表す上述の処理時間によってネットワークの同期精度が影響を受けることはない。
【００５７】
本発明はまた第１のノードから第２のノードへの情報転送方法を提案するものである。各ノードはそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、第１のノードはクロックのクロック・パルスをモニターするカウンタを備えている。第１のノードから第２のノードへデータを有するフレームを転送しなければならない場合、該方法は第１のノードで実行される以下のステップを有する。
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むステップと、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報としてフレームの中へ挿入するステップと、
第２のノードへ前記フレームを転送するステップを有する。
【００５８】
本発明はまた通信ノードへの情報転送装置を提案するものであり、該装置と該ノードはそれぞれ通信ネットワークと接続し、該装置と該ノード間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該装置は、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込む読込み手段と、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として１つのフレームの中へ挿入する挿入手段と、
前記ノードへ前記フレームを転送する転送手段とを有する。
【００５９】
本発明はまた第１のノードからの情報の第２のノードによる受信方法を提案するものである。各ノードはそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、第２のノードはクロックのクロック・パルスをモニターするカウンタを備えている。第１のノードからデータを有するフレームが受信される場合、該方法は第２のノードで実行される以下のステップを有する。
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むステップと、
受信フレームに挿入された同期情報を読み込むステップと、
情報間の差を計算するステップと、
上記計算ステップの結果に従ってネットワーク同期処理手順の中へ入るステップ。
【００６０】
相関的に、本発明はまたノードから情報を受信する装置を提案するものであり、該ノードと装置はそれぞれ通信ネットワークと接続し、該ノードと該装置間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該装置は、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込む読込み手段と、
受信フレームに挿入された同期情報を読み込む読込み手段と、
情報間の差を計算する計算手段と、
上記計算手段の結果に従ってネットワークの同期を行う同期手段とを有する。
【００６１】
１つの好適な実施形態によれば、フレーム中へ挿入される計算情報は、２つの参照イベント間でカウントされるクロック・パルス数の差である。
【００６２】
このような方法によりフレーム中へ挿入する情報量を減らすことが可能となるので、データ伝送を行うための効率の良い帯域幅がある一定の方法で保持される。安定した伝送遅延は本発明に影響を与えないので同期の全体的精度が改善される。
【００６３】
別の好適な実施形態によれば、フレームは１つのプリアンブルと１つのデータフレームとから構成され、参照イベントはこのデータフレームの開始である。
【００６４】
このような方法によって、参照イベントとして認識される追加信号をネットワークに生成する必要がないので、データ伝送を行うための効率の良い帯域幅が狭くなることはない。データフレームの開始は通常の送信装置または受信装置によって既に回復されており、このような装置に対して大きな変更を行う必要はない。この事実によて、単純で安価な送受信装置の設置を行うことが可能となる。本発明は伝送遅延を感知できないので、伝送フレームと受信フレームのフレームの開始は同じ参照イベントと見なされる。
【００６５】
本発明はさらに情報記憶手段について考察するものである。コンピュータ・プログラム命令を含む、完全にあるいは部分的に取り外し可能なこの記憶手段はコンピュータすなわちプロセッサにより読み込むことが可能である。本発明は、以上簡単に述べたような同期方法の実行または情報の転送または受信方法の実行のいずれかが該記憶手段によって可能になることを特徴とするものである。
【００６６】
本発明はさらに、上に簡単に述べたような同期方法の実行のためのデータまたは情報の転送または受信方法の実行のためのデータのいずれかを含む情報記憶手段について考察するものである。完全にあるいは部分的に取り外し可能なこの記憶手段はコンピュータすなわちプロセッサにより読み込むことが可能である。
【００６７】
本発明はまた、プログラム可能な装置の中へロード可能なコンピュータ・プログラム成果物について考察するものであり、前記成果物がプログラム可能な装置で実行されるとき、以上簡単に述べたような方法のステップを実行するためのソフトウェア・コード部分を有するものである。
【００６８】
本発明はまた通信ノードへ情報を転送する装置で実行されるプログラムを記憶するための記憶媒体に関するものであり、該装置と該ノードはそれぞれ通信ネットワークと接続し、該装置と該ノード間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該プログラムは、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのコードと、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として１つのフレームの中へ挿入するためのコードと、
前記ノードへ前記フレームを転送するためのコードとを有する。
【００６９】
本発明はまたノードからの情報受信装置で実行されるプログラムを記憶するための記憶媒体に関連し、該ノードと装置はそれぞれ通信ネットワークと接続し、該ノードと該装置間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該プログラムは、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのコードと、
受信フレームに挿入された同期情報を読み込むためのコードと、
情報間の差を計算するためのコードと、
上記計算手段の結果に従ってネットワークの同期を行うためのコードとを有する。
【００７０】
相関的に、本発明は、通信ノードへ情報を転送するための装置中の記憶媒体に記憶されるプログラムに関するものであり、該装置と該ノードはそれぞれ通信ネットワークと接続し、該装置と該ノード間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該プログラムは、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのコードと、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として１つのフレームの中へ挿入するためのコードと、
前記ノードへ前記フレームを転送するためのコードとを有する。
【００７１】
本発明はまたノードからの情報受信装置中の記憶媒体に記憶されるプログラムに関するものであり、該ノードと装置はそれぞれ通信ネットワークと接続し、該ノードと該装置間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該プログラムは、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのコードと、
受信フレームに挿入された同期情報を読み込むためのコードと、
情報間の差を計算するためのコードと、
上記計算手段の結果に従ってネットワークの同期を行うためのコードとを有する。
【００７２】
相関的に、本発明は、通信ノードへ情報を転送するための装置に関連するものであり、該装置と該ノードはそれぞれ通信ネットワークと接続し、該装置と該ノード間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該装置は、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのプロセッサと、
少なくとも前記情報または前記情報に基づいて計算された情報を同期情報として１つのフレームの中へ挿入するための挿入手段と、
前記ノードへ前記フレームを転送するための転送手段とを有する。
【００７３】
相関的に、本発明は、ノードからの情報受信装置に関連するものであり、該ノードと装置はそれぞれ通信ネットワークと接続し、該ノードと該装置間の同期情報の交換により各通信ネットワークが同期しる。該装置はクロックのクロック・パルスをモニターするカウンタを備えていて、該装置は、
参照イベントの発現時にカウントされたクロック・パルスを表す情報を読み込むためのプロセッサと、
受信フレームに挿入された同期情報を読み込むための読込み手段と、
情報間の差を計算するための計算手段と、
上記計算手段の結果に従ってネットワークの同期を行うための同期手段とを有する。
【００７４】
他の局面では、本発明は第１のノードから第２のノードへの情報転送方法を提案するものであり、各ノードはそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、第１のノードがクロックのクロック・パルスをモニターするカウンタを備えていて、第１のノードから第２のノードへデータを有するフレームを送らなければならない場合、該方法は第１のノードで実行される以下の、
通信ネットワークにおいて参照イベント時の時刻を表す情報を得るステップと、
時刻を表す前記情報を有する前記フレーム送るステップとを有する。
【００７５】
別の局面では、本発明は第１のノードから第２のノードへの情報転送方法を提案するものであり、各ノードはそれぞれ通信ネットワークと接続し、第１のノードと第２のノード間で同期情報の交換を行うことにより各通信ネットワークが同期し、第１のノードはクロックのクロック・パルスをモニターするカウンタを備えている。第１のノードから第２のノードへデータを有するフレームを送らなければならない場合、該方法は第１のノードで実行される以下の、
少なくとも２つのフレームの参照イベントの間の持続時間を表す情報を得るステップと、
持続時間を表す前記情報を有する前記フレームを送るステップを有する。
【００７６】
【発明の実施の形態】
他の特徴と利点は、添付図面を参照しながら非限定的例によって行われる以下の説明に現れる。
本発明はIEEE1394規格に準拠するシリアル通信バスから成るネットワークにおいて特に効果的である。
【００７７】
本発明によって、例えば、IEEE1394規格に準拠する２つのシリアル通信バスの相互接続を無線ブリッジを介して行うことが可能となる。
【００７８】
IEEE1394規格によって高速シリアル接続が定義されており、この接続によって、この規格に準拠するバスと16個までのノードまたは局を接続することが可能となる。さらに、この接続によってバスを介して非同時および同時トラフィックを送ることが可能となる。
【００７９】
この規格によって指定されるビットレートは98.304Mbit/s以上である。
【００８０】
1394規格シリアル通信バスを介する同時トラフィックの伝送は、125μs±12.5nsの持続時間を持つサイクルを定義する8kHzのネットワーク・クロックに基づくものであり、この持続時間の間、バスと接続した各ノードまたは周辺機器は、バスを介して同時データの送信を行うことが可能となる。
【００８１】
バスと接続したすべてのノードの中で、その中の１つのノードをすべての他のノードが参照する参照ノードであると考える。このノードを“サイクル・マスター”と呼ぶことにする。
【００８２】
CMで示されるこの同期ノードはこのノード自身のクロックに従ってその他のノードのすべてのクロックと同期する。
【００８３】
２つまたはそれ以上のIEEE1394規格に準拠するシリアル通信バスから成る通信ネットワークにおいて、いくつかのバスがブリッジによって一緒に接続しているとき、すべてのバスのすべての同期ノードの中で、同期ノードCMの中の１つがネットワーク全体の主要参照ノードとして選択される。
【００８４】
このことは、“ネットワーク・サイクル・マスター”と呼ばれる参照ノードのクロックがネットワーク全体の参照クロックを構成することを意味する。その場合、ネットワークにおけるその他のバスの同期ノードのクロックは該参照ノードのクロックに従って自身の同期を行わなければならない。
【００８５】
本発明をよく理解するために、IEEE1394規格に準拠する２つのシリアル通信バス(図２にbAとbBで示される)の相互接続について考察する。この相互接続は無線リンクよって一緒に接続しているAとBで示される２つの相互接続ノードによるものである。
【００８６】
相互接続ノードAとBとが相互から一定の距離をおいて配置されているとき、これらのノードは、例えば、以下の装置の中から選択された２つの異なるデータ処理装置を表すことができる。プリンタ、サーバー、コンピュータ、ファクシミリ、スキャナ、ビデオテープレコーダ、デコーダ(またはセット・アップ・ボックス)、テレビ受信装置、電話、オーディオ／ビデオプレーヤ、カムコーダ、デジタルカメラ、デジタル写真装置。
【００８７】
ここで注意すべきことは、ノードAとBは１つの選択肢として、光ファイバー、ケーブルなどのリンクによって一緒に接続することもできるということである。
【００８８】
リンクのタイプに応じて、上記ノードAとBは必ずしも相互にある距離をおいて配置されているというわけではなく、むしろ反対に単一物理エンティティを構成する場合もある。
【００８９】
これらの相互接続ノードすなわち複数台の装置によって、200で示される無線ブリッジが形成され、通信ネットワークまたは202で示される本発明による通信ネットワークの一部分を形成する２つのバスbAとbBが相互接続される(図２)。
【００９０】
IEEE-P1394.1規格の意味の範囲では、これらの相互接続ノードは“ポータル”である。
【００９１】
ブリッジ200によって、バスbAとbB間のインターフェースが提供され、ノードAとBはそれぞれの無線アンテナ204、206によって相互に交信を行う。
【００９２】
バスbAは“マスター”バスと考えられ、一方バスbBは“スレーブ”バスと考えられる。
【００９３】
図２に描かれているように、いくつかのノードが、相互接続ノードAとBから離れた異なるバスbA、bBと接続している。
【００９４】
実際、“ネットワーク・サイクル・マスター”と考えられる同期ノードCMAと、同時データの伝送と受信が可能なノード208とはバスbAと接続している。一方、バスbBの“サイクル・マスター”と考えられる同期ノードCMBと同時ノード210とはバスbBと接続している。
【００９５】
図３に更に詳細に描かれているように、Aで示される相互接続ノード(ここでは無線送信装置であると考えられる)はコネクタ212によってシリアル通信バスbAと接続している。
【００９６】
ノードAは、214で示される1394規格物理インターフェース回路と1394規格物理層の機能を実行する回路216とを備えている。該回路216によって、非同時および同時のデータフロー・チェック並びにバスbAのリソース・チェックが高位のレベルの階層で行われる。
【００９７】
このような回路がバス218によって一緒に接続され、この回路は例えばテキサス・インスツルメント社が販売する部品PHY-TSB21-LV03Aおよび部品LINK-TSB12LV01Aから構成される。
【００９８】
回路214には、CTRで示される“サイクルタイム・レジスタ”と呼ばれるレジスタ214が含まれる。このレジスタの中にはバスbA特有の同時サイクルの現在値が含まれる。この現在値は、生成されるクロック・パルス毎に相互接続ノードAのローカル・クロックすなわち内部発振器(CLKA)によって増分する。
【００９９】
ノードAが作動しているとき、回路214は、IEEE1394規格特有のアクセス・プロトコル及びアービトレーション・プロトコルを用いてバスbAでの情報交換を管理する。
【０１００】
ノードAはまた、計算ユニットCPU220と、222a〜222cで示されるいくつかのレジスタを含む222で示されるRAMタイプの一時的記憶手段と、224で示されるROMタイプの永久的記憶手段とを有する。
【０１０１】
ノードAは、バス228によって無線装置230と接続する無線モデム226を備え、無線装置230は無線アンテナ204を装備している。
【０１０２】
232で示されるローカルバスはノードAの異なるエレメントを一緒に接続する。
【０１０３】
バスbAで交換される情報は記憶手段222のバッファ領域に記憶される。このバッファ領域はまた相互接続ノードAとBの間の情報の伝送中に用いられる。
【０１０４】
図４は詳細に相互接続ノードBを描くものである。
【０１０５】
ここでは無線受信装置と考えられる相互接続ノードBはコネクタ234によってシリアル通信バスbBと接続する。
【０１０６】
ノードAについて説明したのと同様に、ノードBは、240で示される1394規格の物理インターフェース回路(244で示される1394規格の物理層の機能を実行する回路とバス242によって接続する)と、246で示される計算ユニットCPUと、248で示されるRAMタイプの一時的記憶手段(いくつかのレジスタ248a〜248gを含む)と、永久的記憶手段250と、無線アンテナ206を装備した無線装置256とバス254によって接続する無線モデム252とを備えている。
【０１０７】
258で示されるローカルバスはすべてのこれらのエレメントのすべてを一緒に接続する。
【０１０８】
図４に示すように、物理インターフェース回路240ではクロックすなわち内部発振器CLKBが用いられる。
【０１０９】
相互接続ノードBの様々なエレメントは上述の相互接続ノードAのエレメントと全く同様に作動する。
【０１１０】
図５ａは、本発明の第１の実施の形態に準拠するバスbAとbB間の同時サイクルの同期原理を概略的に描くものである。
【０１１１】
図５ｂと５ｃとはそれぞれ本発明の第１の実施の形態に準拠する方法の異なるステップを表すアルゴリズムについて記述するものであり、これらのアルゴリズムは、伝送用相互接続ノードAでは、記憶手段224に記憶されているコンピュータ・プログラムで、また、受信用相互接続ノードBでは、ノードBの記憶手段250に記憶されているコンピュータ・プログラムで実行される。
【０１１２】
本発明の第１の実施の形態に準拠する方法について以後図２〜図４および図５ａ〜５ｃを参照しながら説明する。
【０１１３】
本発明では参照モーメントと参照イベントというコンセプトを用いる。参照モーメントによって、ノードAとBの一方において参照イベントの発現が特定されるものである。例えば、考えられる参照イベントとしてノードAとBの間で伝送されるデータフレームの開始がある。参照モーメントはこのフレームが始まる瞬間に対応する。
【０１１４】
さらに正確に言えば、ノードAにおける参照時刻はデータフレームの伝送開始の時刻をマークし、一方ノードBの参照時刻はこの同じデータフレームの受信開始時刻をマークする。
【０１１５】
当然のことであるが、参照時刻は送信装置と受信装置とが同期しなければならない他のいかなるイベントにも対応することができる。さらに、これらの参照時刻は必ずしも周期的に発現するわけではない。したがって、現在の同期方法は可変持続時間のデータフレームに対して均等に適用される。
【０１１６】
ここで注意すべきことは参照イベントの発現が必ずしも周期的ではないということである。
【０１１７】
図５ａは、各バスbAとbB(“サイクル開始パケット”)におけるサイクル開始信号と、相互接続ノードAとBにおけるサイクルタイム・レジスタCTRの内容と、ノードAとBにおける２つの連続するデータフレームの伝送開始時刻にそれぞれ対応する参照時刻tAとt'Aと、相互接続ノードBにおいて同じ２つの連続するデータフレームの受信開始の参照時刻tBとt'Bとを描く図である。
【０１１８】
同時サイクル開始毎に、すなわち、125マイクロセカンド±12ナノセカンド毎に、ネットワークのサイクル・マスターCMAとバスbBのサイクル・マスターCMBとによって、CMAとbBのそれぞれのシリアル通信バスを介してサイクル開始信号が伝送される。
【０１１９】
これらのサイクル開始信号には各サイクル・マスターのサイクルタイム・レジスタCTRの値が含まれ、この値は、当該バスに配置されるすべてのノードの参照として役立つサイクル・マスターの内部クロックによって与えられる。
【０１２０】
サイクルタイム・レジスタCTRは、当該“サイクル・マスター”CMAすなわちCMBの内部クロックによって生成されたパルス数Nを表す。
【０１２１】
したがって、相互接続ノードAとBは、バスbAとbBに配置されたすべてのノードと同様に、バスを介して伝送されるサイクル開始信号の内容を読み込み、同時サイクルの開始毎に、そのサイクルタイム・レジスタCTRを更新する。このレジスタにはノードAとB用として図３と図４の回路214と240がそれぞれ含まれる。ノードAとBのサイクルタイム・レジスタCTRに含まれる現在値は、対応する相互接続ノードのローカル・クロックすなわち内部発振器により生成される各クロック・パルス分だけ増分される。
【０１２２】
次に、データフレームの開始に従って参照時刻を決定する方法について説明する。
【０１２３】
無線によって相互接続ノードAからデータフレームが伝送されるとき、影付きのエリアで図５ａに描かれている無線同期プリアンブルがノードAによってまず作成され、次いで、伝送対象となる有用データが作成される。記憶手段222のバッファ領域(図３)に記憶されているこれらのデータは無線モデム226によって読み込まれる。
【０１２４】
無線同期プリアンブルの伝送が終ると、計算ユニット220用として意図される無線フレーム開始信号(図３に258で示される)が相互接続ノードAによって生成される。
【０１２５】
この無線フレーム開始信号の伝送時刻はt'Aで示される参照時刻に対応する。
【０１２６】
まずノードA(図５ｂ)で、次いでノードB(図５ｃ)で実行されるような本発明によるノードCMAとCMB間の同期方法について次に説明する。
【０１２７】
この信号を受信するとすぐに、本発明による(図５ｂ)上記周期方法のステップE1に従って、計算ユニットは回路214のレジスタCTRの内容を読み込み、“CTR_localA”と呼ばれるレジスタ(記憶手段222の222aで示される)にこの読み込んだ値を記憶する(ステップE2)。
【０１２８】
参照時刻t'Aを表す参照値に対応するN(t'A)で示されるこの値はノードCMAのクロックによって発せられたいくつかのパルスを表す。
【０１２９】
この値は、サイクル開始信号が伝送されるとき、同期ノードCMAによって規則的に更新される相互接続ノードAのサイクルタイム・レジスタCTRの現在の内容に対応する。
【０１３０】
ここで注意すべきことは、ノードAによってサイクル開始信号が受信される度に行われるレジスタCTR214aの２つの更新の間に、ノードAのローカル・クロックCLKAの速度でレジスタが増分することである。
【０１３１】
しかし、フレームでの伝送と関連する参照時刻に、レジスタCTR214の値が遠距離のノードCMAのレジスタCTRの現在値ではないという危険性は存在しない。
【０１３２】
これは、相互接続ノードAのローカル・クロックの精度が、２つの連続する更新の間、２つのサイクル開始信号の受信後、レジスタ214aの値が、ノードCMAのサイクルタイム・レジスタCTRの値と完全に同一のままであることを意味するという理由による。もしサイクル開始信号が誤って受信されたような場合には、上記条件は満たされなくなるであろう。
【０１３３】
図５ａに、参照時刻t'Aから始まる、下に位置する矢印によって相互接続ノードAのサイクルタイム・レジスタCTRの値に対応して、参照値N(t'A)が軸上にマークされていることに注意されたい。
【０１３４】
無線フレーム開始信号258はまた、本発明の意味の範囲内における第１の“情報項目”の決定を引き起こすトリガとなる。また、この“情報項目”は２つの参照時刻t'AとtA間の差を表し、tAは前回伝送されたデータフレームi−1に従って決定された参照時刻である(図５ａ参照)。
【０１３５】
さらに正確に言えば、この第１の情報項目は、参照時刻t'AとtAの各々を表す参照値の差を計算することにより決定される。
【０１３６】
このようにして、参照値N(t'A)を含むレジスタ“CTR_localA”の内容と、図２に222bで示される“Last_CTR_localA”と呼ばれるレジスタの内容との差が決定される(ステップE3)。
【０１３７】
この最後のレジスタには、前に記憶された前回の参照時刻tAを表す参照値N(tA)が含まれる。
【０１３８】
この差N(t'A)−N(tA)は、図３で222cで示されるレジスタ(“オフセット”と呼ばれる)に記憶される。
【０１３９】
最近決定された参照値、N(t'A)が、ステップE4のレジスタ“CTR_localA”の内容から、レジスタ“Last_CTR_localA”に記憶されていることにも注意すべきである。
【０１４０】
本発明による方法のステップE5(図５ｂ)によれば、相互接続ノードAの無線モデム226によって、記憶手段222のレジスタ“オフセットA”222cが読み込まれ、メッセージの形でデータフレームiにその内容が挿入される。
【０１４１】
本発明の同期方法には、データフレームの有効データと同時にレジスタ“オフセットA”の内容を伝送するステップE6が次に含まれる。
【０１４２】
ノードBで実行され、図５ｃに描かれているアルゴリズムを持つような本発明による方法について次に論じることにする。
【０１４３】
初期化段階中、本発明による方法ではまず第１に、同期信号の受信待機ステップF1の準備と、図４で240aで示されるサイクルタイム・レジスタCTRの値が、この同じ図４で248bで示されるレジスタ(“Last_CTR_localB”と呼ばれる)に記憶されるステップF2の準備とが行われる。
【０１４４】
参照時刻t'Aが決定している無線データフレームiが受信されたとき、相互接続ノードBはこのデータフレームiの無線同期プリアンブルを利用して自身の同期を行う。
【０１４５】
このフレームの無線同期プリアンブルの終りに達するとすぐに、計算ユニット246用として意図される無線フレーム開始信号(図４で260で示される)が相互接続ノードBによってローカルに生成される。
【０１４６】
無線フレーム開始信号260の発現時刻は無線フレームの受信開始の参照時刻t'Bに対応する。
【０１４７】
本発明による方法には、同期信号の無線フレーム開始信号が受信されたかどうかの判定ステップF3のテストが含まれる。
【０１４８】
計算ユニット246により受信された無線フレーム開始信号は、248aで示される“CTR_localB”と呼ばれる記憶手段248のレジスタに、回路240の240aで示されるサイクルタイム・レジスタCTRの現在値を記憶するトリガーとなる(ステップF4)。
【０１４９】
このレジスタの現在値は参照時刻t'Bを表す参照値を構成し、N(t'B)で示される。
【０１５０】
無線フレーム開始信号はまた、本発明の意味の範囲で第２の“情報項目”の決定を引き起こすきっかけとなる。この情報は２つの参照時刻t'BとtBとの間の差を表すものである。
【０１５１】
図５ａに示される参照時刻tBは前回の無線データフレームi−1の相互接続ノードBによる受信時刻に対応する。
【０１５２】
特に、この第２の情報項目の決定は参照時刻t'BとtBの各々を表す参照値間の差の計算に依存する。
【０１５３】
このようにして、参照値N(t'B)を含むレジスタ“CTR_localB”の内容と、参照値N(tB)を含む、図３で248bで示されるレジスタ“Last_CTR_localB”の内容との間の差が決定される。
【０１５４】
この差すなわち第２の情報項目N(t'B)−N(tB)は記憶手段248の248cで示されるレジスタ“オフセットB”に記憶される。
【０１５５】
レジスタ“CTR_localB”(N(t'B))の内容が記憶手段248のレジスタ“Last_CTR_localB”に記憶される(ステップF6)ことにも注意すべきである。
【０１５６】
さらに、222cで示されるレジスタ“オフセットA”の値を含むメッセージが、相互接続ノードAから到来する無線データフレームiで伝送される有効データから相互接続ノードBによって取り出される(ステップF7)。
【０１５７】
この値すなわち第１の情報項目(N(t'A)−N(tA))は、図４の記憶手段248のレジスタ248d(“CTR_RX”呼ばれる)に記憶される。
【０１５８】
ここで注意すべきことは、決定されたこの第１の情報項目が２つの参照時刻tAとt'Aの間の経過時間を表すのに対して、第２の情報項目のほうは、２つの参照時刻tBとt'Bの間の経過時間を表す(図５ａ)という点である。参照時刻tAとt'A(あるいはそれぞれtBとt'B)の間の時間は参照時間と称されるものを形成する。
【０１５９】
次いで、本発明の第１の実施の形態に準拠する同期方法によって、決定された上記第１の情報項目と第２の情報項目とを相互に比較する準備が行われる。
【０１６０】
この比較を行うために、相互接続ノードBによって、レジスタ“CTR_RX”の内容と、記憶手段248のレジスタ“オフセットB”の内容との間の差が計算され(ステップF8)、次いで、248gで示される“オフセット”と呼ばれる一時的記憶手段248の別のレジスタにこの差が記憶される。
【０１６１】
この比較の結果(N(t'B)−N(tB))−(N(t'A)N(tA))が書込まれ、これによって、バスbAの同期ノードCMAとバスbBの同期ノードCMBのクロックの間にオフセット値が与えられる。
【０１６２】
このオフセットはいくつかのクロック・パルスとして出力される。
【０１６３】
したがって、第１の情報項目と第２の情報項目の間の比較ステップによって当該２つの同期ノード間の周波数同期チェックを行うことが可能となる。
【０１６４】
このようにして、この比較ステップからオフセット値が導き出されるとき、適切な調節メッセージによって、相互接続ノードBによるこのオフセット値についての通知がバスbBの同期ノードCMBに対して行われる(ステップF9)。
【０１６５】
次いで、このメッセージに従って、そのサイクルタイム・レジスタCTRに含まれる値に対する修正がノードCMBによって行われ、同期ノードCMAとの同期がそのまま保持されるようになされる。
【０１６６】
次いで、ノードCMBは、相互接続ノードBを含むシリアル通信バスbBのすべてのノードへサイクル開始信号を送り、ノードの様々なクロックをノードCMBのクロックと同期させるようにする。
【０１６７】
図６ａは、本発明の第２の実施の形態に準拠する、バスbAとbB間の同時サイクルの同期原理を概略的に描くものである。図５ａのエレメントと同じエレメントが図６ａにも繰り返し描かれている。
【０１６８】
図６ｂは、本発明の第２の実施の形態に準拠する同期方法の異なるステップを示すアルゴリズムであり、このアルゴリズムは相互接続ノードAの記憶手段224に記憶されているコンピュータ・プログラムで実行される。
【０１６９】
図６ｃは本発明の第２の実施の形態に準拠する同期方法の異なるステップを表すアルゴリズムであり、このアルゴリズムは、相互接続ノードBの記憶手段250に記憶されているコンピュータ・プログラムによって実行される。
【０１７０】
次に、図２〜図４および図６ａ〜６ｃを参照しながら、本発明の第２の実施の形態に準拠する、２つの同期ノードCMAとCMB間の同期方法について説明する。
【０１７１】
まず、相互接続ノードAで実行されるような方法(図６ｂ)について説明し、次いで、相互接続ノードB(図６ｃ)で実行されるような方法について説明する。
【０１７２】
無線データフレームが相互接続ノードAよって伝送されるとき、記憶手段222のバッファ領域で、伝送対象データが無線モデム226によって読み込まれる。
【０１７３】
相互接続ノードAは、最初に無線同期プリアンブルを送り、次いで第２に相互接続ノードBへ伝送対象の有用データを送る。
【０１７４】
同期プリアンブルの終りに達すると、相互接続ノードによって無線フレーム開始信号258が生成される(図３)。
【０１７５】
この無線フレーム開始信号の終端部によって参照時刻(tAで示される)が特定される。この参照時刻は同期ノードCMAのクロックによって同期している相互接続ノードAのクロックに従って一定である。
【０１７６】
この無線フレームの開始信号(図６ｂのステップG1)の受信時に、計算ユニット220によって回路214のCTRレジスタ214aの内容が読み込まれ(ステップG2)、記憶手段222のレジスタ“CTR_localA”(222bで示される)にこの値が記憶される。
【０１７７】
N(tA)で示されるこの参照値は参照時刻tAを表し、同期ノードCMAのクロックによって生成されたパルス数を表す値である。
【０１７８】
レジスタ“CTR_localA”に参照値N(tA)を保存することは、図６ｂに描かれているアルゴリズムのステップG3に対応する。
【０１７９】
無線データフレームi−1が伝送されるとき、相互接続ノードAの無線モデム226によってレジスタ“CTR_localA”が読み込まれ、データフレームに参照値Nが挿入される(ステップG4)。
【０１８０】
次いで、無線フレームが無線装置230へ伝送され、そこで増幅されてから、無線アンテナ204によって送信される前に周波数転位を受ける(ステップG5)。
【０１８１】
次いで、相互接続ノードBで実行される同期方法によって変数Nを１に設定することにより初期化ステップが実行される(ステップH1)。
【０１８２】
相互接続ノードBによって無線データフレームi−1が受信されたとき、相互接続ノードBの無線モデム252によって、記憶手段248のデータ・バッファ領域にこの受信されたデータが書き込まれる。
【０１８３】
相互接続ノードBは、この受信フレームの開始部分に在る無線同期プリアンブルを用いて無線同期ステップを実行する。
【０１８４】
同期プリアンブルがの終りに達すると、参照時刻tBの特定を可能にする無線フレーム開始信号260がノードBによって生成される(図６ａ)。
【０１８５】
変数Nが1に設定される初期化ステップH1の後、この無線フレーム開始信号が受信されるとすぐに(図６のステップH2)、参照時刻tBを表す参照値(N(tB)で示される)を含む、回路240のサイクルタイム・レジスタCTR240aの内容が計算ユニット246によって読み込まれる(ステップH3)。
【０１８６】
次いで、計算ユニット246は、読み込まれた上記値を記憶手段248のレジスタ“CTR_localB”(248aで示される)に記憶する(ステップH4)。
【０１８７】
図６ｃに描かれているアルゴリズムのステップH5とH6によれば、上記の受信時刻に、この受信されたデータフレームの中に、相互接続ノードAによって送信された特定の同期メッセージが無線モデム252によって読み込まれ、記憶手段248の“CTR_RX”と呼ばれるレジスタ(248dで示される)に記憶される。
【０１８８】
次いで、計算ユニット246によって、第１の“情報項目”が本発明の意味の範囲で決定される。この“情報項目”は、レジスタ“CTR_RX”と“CTR_localB”の内容の間の差を計算することにより参照時刻tAとtBの間の差を表す。
【０１８９】
このように進んでいくことにより、２つの参照時刻をtBとtAに特定しながら、計算ユニットによって２つの参照値N(tB)とN(tA)の間の差が形成される(ステップH7)。
【０１９０】
次いで、この第１の情報項目は、計算ユニット246により図３のレジスタ“オフセットM”(248eで示される)に記憶される(H9およびH10)。
【０１９１】
Nの値は１に等しいので、ステップH8の後にステップH9が続く。ステップH9はシフトMと呼ばれるレジスタの中へステップH7の差計算の結果を保存し、Nの値を増分する。
【０１９２】
以下のデータフレームiの受信時に、レジスタ“CTR_localB”と“CTR_RX”に含まれる参照値は、それぞれ新しい値N(t'B)とN(t'A)により更新される。
【０１９３】
これらの新しい参照値は、第１のi−1の後に連続して続く同じデータフレームiから決定され、相互接続ノードAから相互接続ノードBへ伝送される参照時刻t'Bとt'Aを表す。
【０１９４】
次いで、図６ｃのアルゴリズムはステップH2〜H7を含む。これらのステップ中、２つの参照時刻t'Aとt'B間の差を表す第２の“情報項目”が本発明の意味の範囲で決定される。この第２の情報項目は、２つの参照時刻t'Bとt'Aを特定する２つの参照値N(t'B)とN(t'A)の間の差に事実上対応する。
【０１９５】
第２の受信フレームからNは１とは異なる値となるので、ステップH8の後にステップH10が続く。このステップで、ステップH7の差計算の結果はシフトm＋1と呼ばれるレジスタに記憶される。計算ユニット246によって、レジスタシフトMとシフトM＋1の内容に対してステップH11で差計算が行われる。その結果は、ステップH12で、図３の記憶手段248のオフセット・レジスタ248gに記憶される。この差は、次N(tB)−N(tA)−(N(t'B)-N(t'A))によって表される。
【０１９６】
ステップH12の後にステップH13が続き、このステップでレジスタ・シフトMの内容はレジスタ・シフトの内容m＋1によって置き換えられる。
【０１９７】
バスbAの同時サイクルの持続時間とバスbBの同時サイクルの持続時間との間に、同期ノードCMAのいくつかのクロック・パルスとしてカウントされるオフセット値がこのレジスタ248gの内容によって与えられる。
【０１９８】
オフセット値が検出されると、相互接続ノードBの計算ユニット246によって、オフセットのこの値から調節メッセージが生成され、記憶手段248のデータ・バッファ領域にこのメッセージが記憶される。
【０１９９】
次いで、ステップH14で、計算ユニットは、バスbBを介してこの調節メッセージを同期ノードCMBへ送信するように回路244に要求する(ステップH14)。
【０２００】
バスbBの同期ノードによってこの調節メッセージが解釈され、該ノードのサイクル開始信号の伝送周波数が適宜補正されて、２つのバスbAとbB間の同時サイクルの同期が伝送される。
【０２０１】
一般に、オフセット補正は、無線ブリッジによって相互接続されるネットワークのタイプに依存する方法で行われる。
【０２０２】
例えば、IEEE1394規格に準拠するシリアル通信バスの場合、同時サイクルの持続時間の増減により一度に補正を行ったり、いくつかの同時サイクルを介して補正の配分を行ったりすることができる。
【０２０３】
いくつかの同時サイクルを介する補正の配分は、例えば、同時サイクルによる２つ以上のクロック・パルスの補正が不可能であるとか、所定の同時サイクルの持続時間の急激な変動を回避する必要性などの技術的制約によって決定される場合もある。
【０２０４】
例えば、お互いに関して正反対になる修正に従って、ネットワークのある一定のバスで行われる自動的補償から利益を得ることができるように、補正を行う前に待機することを考えることさえできる。
【０２０５】
ノードAからノードBへ伝送される異なるデータフレームi(i＝0,1,...,7,...,)について、異なる参照時刻(tA、tB(tA(0)、tB(0))、t'A、t'B，...，tA(1)、tB(1)，...)および所定の参照時刻に従って考慮される参照時間を示すテーブルが図７によって提示されていることに注意されたい。
【０２０６】
好適には、本発明のこの第２の実施の形態において、データフレームの損失、すなわち、データフレームが不正確に受信されたという事実は、第１の実施の形態の場合と同様に、同期ノードCMAとCMBの間のオフセットの検出を妨げるものではないことが望ましい。
【０２０７】
上記の理由として、これらの参照時間が、参照時刻tAとt'A(ノードA)並びにtBとt'B(ノードB)の間のi＝0とi＝1のフレームについて考えられていること、さらに、参照時刻t'Aとt''A(ノードA)並びにt'Bとt''B(ノードB)の間のi＝1とi＝2のフレームについて考えられていることが図７のテーブルによって示されているということがある。
【０２０８】
その一方で、参照時刻tA(3)に対応する参照値N(tA(3))はノードBによって受信されず、フレームi＝4の対応するフィールドは例えば伝送エラーによって影響を受けるということに注意されたい。
【０２０９】
これに起因して、当該参照時間にはこの参照時刻ではなく、次の参照時刻tA(4)を考慮することしかできない。
【０２１０】
したがって、考慮の対象となる参照時間は、時刻t''AとtA(4)(ノードA)の間で、並びに、時刻t''BとtB(4)(ノードB)の間で定義される。
【０２１１】
この場合、この参照時間について相互に比較される情報項目は、N(t''B)−N(t''A)とN(tB(4))−N(tA(4))となる。
【０２１２】
この結果、参照時刻t''AとtA(4)の間で生じた何らかのオフセットを考慮するために参照時間は増加することになる。
【０２１３】
したがって、たとえ伝送データ・フレーム(i＝4)にエラーが含まれていたとしても、参照時刻tA(4)に関連する補正が次の計算で自動的に考慮されることになる。
【０２１４】
上記に起因して、本発明の第２の実施の形態によって、同期ノードCMAとCMBの間のオフセットに関する情報が失われることはない。
【０２１５】
同様に、参照時刻tB(5)が失われた場合でも、また、ノードBが参照時刻tA(5)とtA(6)に対応する参照値を復号化できない場合でも、このテーブルによって、当該参照時間が延長され、時刻tA(4)とtA(7)(ノードA)並びにtB(4)とtB(7)(ノードB)の間に当該参照時間の定義が行われる。
【０２１６】
ここで、１つの変形例として注目したいのは、参照図１〜図４に示されているものではないが、ノードAの参照時刻tAとt'Aの間の時間を表す第１の情報項目N(t'A)−N(tA)は、ノードBへ伝送されるが、別個に参照値N(tA)とN(t'A)だけがノードAからノードBへ伝送されるという事実によって、ノードBにおいて情報N(t'A)−N(tA)が決定され、やはりノードBにおいて決定されたもう一方の情報N(t'B)−N(tB)とこの情報とを比較して本発明の第１の実施の形態の説明中のものと同じ結果に達するようにすることが可能であるという点である。
【０２１７】
N(t'B)−N(t'A)−(N(tB)−N(tA))は、N(t'B)−N(tB)−(N(t'A)−N(tA))に等しく、このことは、２つの実施の形態がオフセットについて同じ計算結果になることを示しているということに注意されたい。
【０２１８】
さらに、ここで注意すべきことは、図７のテーブルで得られた結果(したがって、ノードBにおいて利用可能である)から、このテーブルに含まれる異なる参照値間のすべての可能な計算を考えることが可能であるということである。
【０２１９】
さらに、本発明によって、たとえデータフレームが変動する持続時間を持っていても、同期ノードCMAとCMB間の同期チェックを行うことが可能となる。
【０２２０】
ここで注意すべきことは、“マスター”ノードに従って異なるシリアル通信バスと接続したいくつかのノードの同期チェックを行うことが本発明によって可能となるという点である。この場合、後者(“マスター”ノード)は同期を行う対象ノードへ情報を放送することが可能である。
【０２２１】
上記は、ノードが無線や光リンクによって相互に交信するとき特に当てはまる。
【０２２２】
本発明による通信ネットワークでは、すべてのノードに共通の参照イベントを生成する専用ネットワークにノードを設けることが可能であることにも注意すべきである。同期の対象ノードによって生成された参照イベントが十分頻繁に生じないとき、あるいは、これらのイベントが存在しないときでも、このノードの存在によって本発明を利用することが可能となる(同期対象ノードを独力で参照イベントから生成することはできない)。
【０２２３】
本発明の第３の実施の形態では、ノードすなわち局AとBによってそれぞれのバス10と12のサイクル・マスターが構成される。
【０２２４】
10で示されるバスを“マスター”バスと考え、一方、12で示されるバスは“スレーブ”バスと考える。
【０２２５】
CLK1で示される内部発振器すなわちクロックによって、H1で示されるクロック信号がマスター・バスで生成され、CLK2で示される内部発振器すなわちクロックによって、H2で示されるクロック信号がスレーブ・バスで生成されることに注意されたい。
【０２２６】
内部発振器すなわちクロックの各々は100ppmの許容範囲を持つ24.576MHzに等しい周波数を有する。
【０２２７】
図８に、無線受信装置と考えられるAで示されるノードがコネクタ14によってシリアル通信バス10と接続している。
【０２２８】
無線受信装置と考えられるBで示されるノードはコネクタ16によってシリアル通信バス12と接続している。
【０２２９】
ノードAは、18で示される1394規格の物理インターフェース回路と、20で示される1394規格のリンク層の機能を果たす回路とを有する。
【０２３０】
このような回路は、例えばテキサス・インスツルメント社が販売する部品PHY-TSB21-LV03Aおよび部品LINK-TSB12LV01Aから構成される。
【０２３１】
ノードAはまた、計算ユニット22、24a〜24cで示されるいくつかのレジスタを含む24で示されるRAMタイプの一時的記憶手段および26で示される永久的記憶手段を備えている。
【０２３２】
図８にように、ノードAは、無線アンテナ32を装備した無線装置30と接続した無線モデム28を備えている。
【０２３３】
34で示されるローカルバスはノードAの異なるエレメントを一緒に接続する。
【０２３４】
ノードAについて説明したものと同様の方法で、ノードBは、36で示される1394規格の物理インターフェース回路、38で示される1394規格の物理層の機能を果たす回路、40で示される計算ユニットCPU、いくつかのレジスタ42a〜42eを含む42で示されるRAMタイプの一時的記憶手段、レジスタ44aを含む永久的記憶手段44および無線アンテナ50を装備した無線装置48と接続した無線モデム46を備えている。
【０２３５】
52で示されるローカルバスによってすべてのこれらのエレメントが一緒に接続される。
【０２３６】
図８に示されるように、ノードA用の物理インターフェース回路18とノードB用の物理インターフェース回路36は、クロックすなわち内部発振器のノードA用CLK1とノードB用CLK2によって機能する。
【０２３７】
図９と図１０ａは本発明の第３の実施の形態に準拠する方法の異なるステップをそれぞれ例示するものであり、これらのステップは送信装置ノードAと受信装置ノードBにおいて実行される。これらの図は、図９のアルゴリズム用としてノードAの記憶手段26に、並びに、図１０ａのアルゴリズム用としてノードBの記憶手段44に記憶されているコンピュータ・プログラムの異なる命令を描くものである。
【０２３８】
次に、図８〜１０ｂを参照しながら、本発明の第３の実施の形態に準拠する方法について説明する。
【０２３９】
ノードAの1394規格の物理インターフェース回路(18で示される)では、カウンタは内部発振器すなわちクロックCLK1によって連続して増分される。
【０２４０】
このカウンタのサイズはKビットであり、したがってこのカウンタの時間は2Kとなる。
【０２４１】
本発明では参照時刻と参照イベントというコンセプトが用いられ、この参照時刻によってノードAとBのうちの一方における参照イベントの発現が特定される。例えば、当該参照イベントとしてノードAとBの間で伝送されるデータフレームの開始があり、この参照時刻はこのフレームが開始する時刻に対応する。
【０２４２】
さらに正確に言えば、ノードAにおける参照時刻によってデータフレームの伝送開始時刻がマークされ、一方ノードBの参照時刻によってこの同じデータフレームの受信開始時刻がマークされる。各ノードにおいて、これらの参照時刻は、当該ノード特有のタイム参照フレームにおいて、前記ノードの内部クロックからカウンタによって決定される。
【０２４３】
ここで注意すべきことは、クロックCLK1とCLK2が完全に同期している(同じ周波数)場合、２つの参照時刻を決定するカウンタの内容が時間中一定のままとなるシフトを持つことになるという点である。
【０２４４】
一方、クロックが同期していない場合、上述のカウンタの内容間のシフトがもはや一定になることはない。そして、本発明はこのシフトの変動に基づいてクロックCLK1とCLK2の間のずれを測定することを目的とするものである。
【０２４５】
当然のことであるが、この参照時刻は送信装置と受信装置が同期しなければならない他のいかなるイベントにも対応することができる。
【０２４６】
ここで注意すべきことは参照イベントの発現が必ずしも周期的ではないという点である。
【０２４７】
データフレームの開始を検出するために、ノードAとノードBの双方において、それぞれ28と46で示される各ノードの無線モデムによって適切な同期シーケンスが用いられる。例えば、送信装置と受信装置が認知するシーケンスが各データフレームの開始時に追加される。したがって、この既知のシーケンスに対して自動相関法を適用することにより、受信装置はフレームの開始を決定することが可能となる。
【０２４８】
フレームの開始が各ノードで検出されると、信号62(ノードA)、64(ノードB)が計算ユニットCPU(それぞれ22(ノードA)、40(ノードB))へ送信され、この信号によって参照時刻が示される(図８)。
【０２４９】
図９のステップS1の後、参照時刻(参照時刻はtAで示される)が例えばノードAで決定される(ステップS2)度に、1394規格の物理インターフェース回路(18で示される)のカウンタの内容は図８の一時的記憶手段24のレジスタ(24aで示される)に保存される。
【０２５０】
このレジスタ24aの上記内容は記憶手段24の第２のレジスタ24bの中へ転送される(ステップS3)。
【０２５１】
したがって、これら２つのレジスタが、例えばtAとtA'で示される最後の２つの参照時刻において、1394規格の物理インターフェース回路18にカウンタの値を保存することが可能になる。この２つの参照時刻の双方は２つの連続するデータフレームの伝送開始時刻に対応するものである。
【０２５２】
参照時刻を表す所定の参照値は各々の与えられた参照時刻に対応する。この参照値は、図８の一時的記憶手段24のレジスタ24a、24bの中の１つに記憶される。
【０２５３】
ここで注意すべきことは、各参照値がレジスタ24aと24bに記憶され、この参照値は例えばクロックCLK1よって放射されるクロック・パルス数(2Kを法として計算される)に対応するという点である。
【０２５４】
すべての演算(加算、減算、計数)は２を法として対応するレジスタまたはカウンタのサイズの冪に累乗されて行われる。さらに、減算の結果には符号ビットが含まれていると想定されている。
【０２５５】
レジスタ24bへのレジスタ24aの内容の転送(ステップS3)後、並びにレジスタ24aへのカウンタの内容の転送(ステップS4)後、これら２つのレジスタに記憶される参照値間の差が決定される(ステップS5)。この差は、参照時刻tAとtA'間のノードAにおける経過時間を表す第１の情報項目に対応する。
【０２５６】
この第１の情報項目は図８に24cで示されるレジスタに記憶される。
【０２５７】
したがって、このレジスタにはクロックすなわち内部発振器CLK1のパルス数の中でカウント参照時間の持続時間が含まれる。
【０２５８】
２つの参照時刻tAとtA'の間の経過時間を表し、レジスタ24に記憶される第１の情報項目は、参照時刻tA'から得られたデータフレームとして伝送されるデータフレームを用いてノードA(送信装置)からノードB(受信装置)へ伝送される。
【０２５９】
この伝送ステップはノードAのエレメント28、30、32から成る無線装置により行われ、一方、ノードBにおける受信ステップは前記ノードBのエレメント46、48、50を使用する。
【０２６０】
ノードA(送信装置)について説明したものと同様の方法で、２つの参照時刻tBとtB'の間の経過時間を表す第２の情報項目がノードB(受信装置)において計算される。
【０２６１】
これら２つの参照時刻tBとtB'は、ノードAによって伝送されたデータフレームの開始の受信時刻に対応するものであり、参照時刻tAとtA'はノードAについて前記ノードAで決定されたものである。
【０２６２】
ノードBの装置36で、カウンタは、内部発振器すなわちクロックCLK2によって連続して増分される。
【０２６３】
このカウンタのサイズはKビットであり、したがってこのカウンタの時間は2Kに等しい。
【０２６４】
ステップT1(図１０ａ)後、参照時刻tBまたはtB'が以上示したように決定される(ステップT2)毎に、この参照時刻を表す参照値は図８の一時的記憶手段42のレジスタ42aに記憶される。
【０２６５】
このようにして、参照時刻tBに対応する参照値がレジスタ42aに記憶され、次いで、第２の参照時刻tB'が決定され(ステップT2)、この第２の参照時刻に対応する参照値が1394規格の物理インターフェース回路36のカウンタからレジスタ42aの中へ転送された(ステップT4)とき、参照時刻tBに対応する参照値がレジスタ42bの中へ転送される(ステップT3)。
【０２６６】
２つの参照時刻tBとtB'間の経過時間を表す第２の情報項目が決定され(ステップT5)、次いで、レジスタ42aと42bに記憶された、２つの参照時刻tBとtB'を指定する上記２つの参照値間の差が形成され、図８の記憶手段42のレジスタ42cに記憶される。
【０２６７】
前述のレジスタの中の１つに含まれる各参照値が、ノードBのクロックすなわち内部発振器CLK2により放射されるクロック・パルス数に対応することにここでも注意すべきである。
【０２６８】
ここで注意すべきことは、ノードB(受信装置)によって受信されたデータフレームと関連する参照イベントが、このノードにおいて前記データフレームの受信開始時刻に対応することである。
【０２６９】
レジスタ24cに記憶された第１の情報項目はノードBにより受信される(ステップT6)。
【０２７０】
一方、ノードBによって情報が受信されなかった場合、本発明による方法によってデータフレームをもつノードAが伝送される情報の受信待機が行われる。
【０２７１】
上記によって、第１および第２の情報項目間で比較を行うことが可能になる(ステップT7)。
【０２７２】
クロック・パルス数がNで示された場合、第１および第２の情報項目はそれぞれ、N(tA')−N(tA)とN(tB')−N(tB)と書込まれる。
【０２７３】
これらの２つの値の間で検出可能ないずれの差も、当該参照時間中の発振器すなわちクロックCLK1またはCLK2の間のずれクロック・パルス数を表す。
【０２７４】
このようにして、参照時間中のクロックCLK1とCLK2の間のずれを知ることにより、信号H2の周波数補正を行って、信号H2の周波数が周波数H1と同期を保持するようにすることが可能となる。
【０２７５】
これらの第１および第２の情報項目の間で差が検出された場合、得られたこの結果(ずれ)は、図８の一時的記憶手段42のレジスタの内容(42dで示される)に加えられる(ステップT8)。
【０２７６】
このレジスタ42dには、それまで考慮されてきたすべての参照時間中に測定された様々なずれの総計が含まれている。
【０２７７】
以上説明したように当該ノードのクロック・レートを各々表す２つの情報項目すなわち参照時間を相互に比較すると、これらの間の差を示すかなりのビット数は、２つのクロックと参照時間の持続時間との間のずれに依存するものである。
【０２７８】
例えば、それぞれ24.576MHz−100ppmと24.576MHz＋100ppmおよび1msの参照時間のクロック周波数を持つ２つの発振器を例にとると、これら２つの参照時間の間で検出されるその差はほぼ５クロック・パルスであり、これは３ビットを用いて符号化することができる。
【０２７９】
したがって、１ビットが符号用として予約される１バイトのレジスタのサイジングは選択肢として十分であるように思われる。
【０２８０】
レジスタのこのサイジングは図２ａの24c、42c、42dで示されるレジスタに関するものである。
【０２８１】
これらのレジスタ(特にレジスタ42d)のサイズが、ノードAとBの間で無線リンクを介してデータ伝送を行うために必要な帯域幅を画定するものであることを考慮すれば、その最適化は重要である。
【０２８２】
一般に、内部クロックCLK1とCLK2の間にずれが存在しない場合、それぞれtA、tA'とtB、tB'の２つの参照時刻の間の経過時間を各々表す第１および第２の情報項目は等しいものである。
【０２８３】
しかし、レジスタ42dに値を保存するとき、ずれが存在する場合には補正が必要となる。
【０２８４】
この補正の目的は、クロック信号H1の周波数と比較してクロック信号H2の周波数をある程度一定に保持することである。
【０２８５】
ここで注意すべきことは、この場合に参照となるのはクロック信号H1であるという点である。
【０２８６】
信号H2が、クロック信号H1の補正を行うために従うある参照を構成できることは言うまでもない。
【０２８７】
本発明による方法は、クロック・パルス数に等しい時間だけ、補正イベントの際にクロック信号H2の少なくとも１つの時間の長さの調節を行うものである。これらのクロック・パルスはレジスタ42dに含まれ、CLK1とCLK2の間で認められたずれを表すものである。
【０２８８】
例えば、１つの時間当たり２つ以上のクロック・パルスの補正が不可能であることや所定の時間内の急激な変動を避ける必要性などの技術的制約によって、いくつかの時間にわたる補正の配分を決定することができる。
【０２８９】
変化に対して、ネットワークのある一定のバスで行われる自動的補償から利益を得ることができるように、補正を行う前に待機することを考えることさえできる。
【０２９０】
図１０ｂは、クロックすなわち発振器CLK1またはCLK2間のずれが検出されたとき、一例としてクロック信号H1に従うクロック信号H2の補正を例示する機能図である。
【０２９１】
図１０ｂに描かれているように、本発明の方法に準拠して補正すなわち同期が行われたクロック信号H2は、80で示されるカウンタを用いてクロックすなわち発振器CLK2から生成される。
【０２９２】
図８の一時的記憶手段42に含まれる値M'をロードすることによりこのカウンタの時間は一定になる。
【０２９３】
この値M'はクロックCLK2の周波数の分周計数に対応する整数であり、補正すなわち同期が行われたクロック信号H2の周波数を得るための値である。
【０２９４】
さらに、82で示される別のレジスタには、補正前の、クロックCLK2の周波数とクロック信号H2の周波数の間の公称分周計数Mが含まれる。
【０２９５】
さらに、図１０ｂの左側に描かれているレジスタ42dには、クロックすなわち発振器CLK1とCLK2間のΔcで示されるずれの総計が含まれる。
【０２９６】
このようにして、カウンタ80の時間は式：M'＝M＋Δcによってレジスタにより与えられるずれの総計Δcによって補正される。
【０２９７】
ここで注意すべきことは、このずれΔcが正または負の符号を持ち得るということである。ずれが正の符号を持つとき、M'はM＋Δcの絶対値に等しくなる。次いで、カウンタ80の時間が増加し、H2の周波数が低下する。
【０２９８】
このずれが負の符号を持つとき、M'はM−Δcの絶対値に等しくなる。この場合、カウンタ80の時間は減少し、H2の周波数が増加する。
【０２９９】
カウンタの時間補正において考慮の対象となるずれの総計Δcについては、カウンタの現在の時間の最後までこのずれをレジスタ42dの中に保持する必要がある。次いで、次の時間が終る前に同じずれを２度補正しないようにするために、次の時間中にレジスタ42dをゼロにリセットしなければならない。
【０３００】
いくつかの時間にわたってずれの補正を配分しなければならない場合、各時間に対して行う補正を含むための中間レジスタが必要となる。各補正後、ずれの総計を含むレジスタ42dは適宜減分する。次いで、レジスタ42dの内容がゼロになるまで補正は行われる。
【０３０１】
図１１は本発明の第４の実施の形態を例示する。
【０３０２】
この図のエレメントは、図８のエレメントに対応して変更のないものであるが、後者(図８のエレメント)の中のものと同じ参照値が保持されている。
【０３０３】
図１１に描かれているように、本発明による通信ネットワークには、IEEE1394規格に準拠するシリアル通信バス(10と12で示される)と相互接続する無線ブリッジ(92で示される)が備えられ、バス間のインターフェースとして何らかの点で機能している。
【０３０４】
ブリッジ92はAとBで示される２つの局すなわちノードを有し、それぞれ無線送信装置(ノードA)と無線受信装置(ノードB)である。
【０３０５】
これらのノードAとBは図８のノードとはその永久的記憶手段と一時的記憶手段によって区別される。
【０３０６】
ノードAは、94で示される一時的記憶手段RAMと、96で示される永久的記憶手段ROMとを備えている。
【０３０７】
永久的記憶手段96にはコンピュータ・プログラムが含まれる。このプログラムの命令は第２の実施の形態に従う方法のステップに対応するものであり、送信装置(ノードA)において実行される。
【０３０８】
このコンピュータ・プログラムに対応するアルゴリズムが図１２に描かれている。
【０３０９】
さらに、ノードBは、レジスタ98a〜98eを含む一時的記憶手段(98で示される)と、レジスタ100aを含む永久的記憶手段ROM(100で示される)とを備えている。
【０３１０】
この記憶手段100にはまたコンピュータ・プログラムの様々な命令も含まれる。このコンピュータ・プログラムによって、受信装置(ノードB)において第４の実施の形態に準拠する方法を実行することが可能になる。
【０３１１】
このコンピュータ・プログラムに対応するアルゴリズムが図１３に描かれている。
【０３１２】
上に示されるように、ノードAとBの各々には、1394規格の物理インターフェース回路、1394規格接続層の機能を果たす回路、計算ユニット、無線アンテナおよび前記ノードの種々のエレメントを接続するローカルバスを装備した無線装置と接続した無線モデムが備えられている。
【０３１３】
次に、本発明の第４の実施の形態に準拠する方法について図１１〜図１３を参照しながら説明する。
【０３１４】
ノードAの装置18において、図１１に描かれているように、カウンタは内部発振器すなわちクロックCLK1によって連続して増分される。
【０３１５】
図８〜図１０を参照して、特に参照時刻、参照イベントと参照値に関して上に述べたことすべては、この第２の実施の形態についてもそのまま当てはまる。
【０３１６】
図８を参照して上に示したのと同じ方法で参照時刻が決定される。
【０３１７】
したがって、ステップU1(図１２)後、参照時刻(参照時刻はtA示される)がノードAで決定される(ステップU2)度に、1394規格の物理インターフェース回路18のカウンタの内容は一時的記憶手段94のレジスタ94aに保存される。
【０３１８】
前記参照時刻を表し、例えばクロックすなわち内部発振器CLK1によって放射されるクロック・パルス数Nに等しい所定の参照値は各々の与えられた参照時刻に対応する。
【０３１９】
レジスタ94aのカウンタに含まれる参照値を記憶した(ステップU3)後、この方法は、このレジスタに記憶された参照値を含むデータフレームを伝送する(ステップU4)ステップを含み、次いで、伝送ノードAは新しい参照時刻tA'を待機する(ステップU2)。
【０３２０】
図８を参照して説明した方法と同様の方法で、ノードAのエレメント28、30、32から成る無線装置によって伝送ステップが実行される。一方、ノードBの受信ステップでは前記ノードBのエレメント46、48、50が使用される。
【０３２１】
ノードBの装置36において、カウンタ104は、内部発振器すなわちクロックCLK2から発出するクロック信号H2によって連続して増分される。
【０３２２】
変数iを値0に初期化する図１３のステップV1の後、参照時刻、特にフレームの開始時上に示されるように決定される(ステップV2)毎に、この参照時刻を表す参照値は図１１の一時的記憶手段98のレジスタ98aに記憶される(ステップV3)。
【０３２３】
受信装置(ノードB)において実行される本発明による方法は、ステップV4(図１３)に従って、ノードBによってレジスタ94aの内容、すなわち無線フレームによって伝送されるレジスタ94aの内容の受信確認動作を行う。
【０３２４】
ノードBがこのレジスタ94aの内容を受信したと仮定した場合、ステップV4の後にステップV5が続き、このステップV5の間に参照値すなわち受信フレームに含まれるクロック・パルス数間の差4(i)が形成される。
【０３２５】
ノードAにおけるフレームiの伝送開始を特定する参照時刻tAと、ノードBにおけるフレームiの受信開始を特定する参照時刻tBとの間の差を表す情報項目がこの差によって構成される。
【０３２６】
この情報は本発明の意味の範囲で情報項目を構成するものである。
【０３２７】
この第１の情報項目は一時的記憶手段98のレジスタ98bに保存されているクロックCLK1とCLK2間のシフトを表す。
【０３２８】
前にシフトが計算されたことがない場合、変数iはゼロに等しく(ステップV6)、このシフトはΔ(0)で示される参照シフトを構成し、この参照シフトは、相互にクロックを同期させるのに必要な補正決定時に以後使用されることになる。
【０３２９】
方法のステップV7(図１３)に従って、シフトΔ(0)が一時的記憶手段98のレジスタ98cに記憶される。
【０３３０】
次いで、ステップV7の後にステップV8が続き、このステップV8の間、変数iは増分され、受信ノードBは、ステップV2に従って新しい参照時刻を待機する。
【０３３１】
逆に、iが0と異なっている場合、計算されたシフトΔ(i)が参照シフトΔ(0)と比較される(ステップV9)。
【０３３２】
この場合、差Δ(0)(N(tB)−N(tA))は、本発明の意味の範囲で第１の情報項目を構成し、差Δ(i)((N(tB(i))−N(tA(i)))は第２の情報項目を構成する。
【０３３３】
第１および第２の情報項目の間の比較によって、内部発振器すなわちクロックCLK1とCLK2の間の何らかのずれの検出が可能となる。
【０３３４】
第１および第２の情報項目間のこの差によって、２つの参照時刻の間の内部発振器すなわちクロックCLK1とCLK2の間のクロック・パルス数が与えられる。
【０３３５】
次いで、ずれを示すこの値は一時的記憶手段98のレジスタ98dに含まれる値へ渡される(ステップV10)。
【０３３６】
このレジスタには、２つのクロックCLK1とCLK2の間で前回測定されたずれの総計が含まれる。
【０３３７】
レジスタ98dの内容は、クロック信号H1に従って同期を行うクロック信号H2に対して行われた補正を表す。
【０３３８】
次いで、ステップV10の後にステップV8が続き、このステップV8の間に、変数iが増分され、既に上述した内容に従って受信装置(ノードB)は新しい参照時刻を待機する(ステップV2)。
【０３３９】
ステップV4に戻って、このステップ中に行われるテストによって、ノードBがレジスタ94aの内容をまだ受信していないことが示された場合、これは、例えばiで示される対応するデータフレームが不正確に受信されたを意味する。
【０３４０】
この場合、受信装置(ノードB)は次の参照時刻(ステップV11とV12)を待機して、次の参照時刻に対応する新しい参照値を記憶するようにする(ステップV3)。
【０３４１】
ノードAからノードBへ伝送される異なるデータフレームi(i＝0，1，...，7，...，)について、異なる参照時刻tA、tB(tA(0)、tB(0))、tA'、tB'、...、tA(7)、tB(7)、...および所定の参照時刻に従って考えられる参照時間を示すテーブルが図７によって与えられることに注意されたい。
【０３４２】
好適には、本発明のこの第４の実施の形態において、データフレームの損失、すなわち、データフレームが不正確に受信されたという事実は、第３の実施の形態の場合と同様に、クロックCLK1とCLK2の間のずれの検出を妨げるものではないことが望ましい。
【０３４３】
上記の理由として、これらの参照時間が、参照時刻tAとt'A(ノードA)並びにtBとt'B(ノードB)の間のi＝0とi＝1のフレームについて考えられていること、さらに、参照時刻t'Aとt''A(ノードA)並びにt'Bとt''B(ノードB)の間のi＝1とi＝2のフレームについて考えられていることが図７のテーブルによって示されているということがある。
【０３４４】
さらに、本発明によって、たとえデータフレームが変動する持続時間を持っていても、ノードAとBのクロック間の同期チェックを行うことが可能となる。
【０３４５】
ここで注意すべきことは、異なるレジスタのサイズの最適化に関しては、特にレジスタ98a、98b、98dに関しては、第１の実施の形態の説明の中で述べたことすべてがこの第２の実施の形態についてもそのまま当てはまるという点である。
【０３４６】
特に、これらのレジスタのサイズの最適化、特にレジスタ94aのサイズの最適化が重要である。というのは、無線伝送に必要な帯域幅はこの94aのサイズによって定義されるからである。
【０３４７】
ここで注意すべきことは、“マスター”ノードに従って異なるシリアル接続バスと接続したいくつかのノードの同期チェックを行うことが本発明によって可能となるという点である。この場合、後者(“マスター”ノード)は同期を行う対象ノードへ情報を放送することが可能である。
【０３４８】
上記は、ノードが無線や光リンクによって相互に交信するとき特に当てはまる。
【０３４９】
本発明による通信ネットワークでは、すべてのノードに共通の参照イベントを生成する専用ネットワークにノードを設けることが可能であることにも注意すべきである。このノードの存在によって、同期を行う対象の２つのノードが独力で参照イベントを生成することはできない場合に、本発明を利用することが可能となる。
【図面の簡単な説明】
【図１】２つの通信ノードAとBの２つのクロック間のオフセットのメカニズムを例示する図である。
【図２】本発明における、同期ノードは無線ブリッジとは異なる無線ブリッジによって一緒に接続した２つのシリアル通信バスを含む、通信ネットワークの概略図である。
【図３】図２の無線ブリッジを構成する相互接続ノードの概略図である。
【図４】図２に描かれているブリッジを構成する相互接続ノードBの概略図である。
【図５ａ】本発明の第１の実施の形態に準拠する、バスbAとbB間の同時サイクルの同期原理を概略的に例示する図である。
【図５ｂ】図３の相互接続ノードにおいて実行される、本発明の第１の実施の形態に準拠する同期方法のアルゴリズムを示す図である。
【図５ｃ】図4の相互接続ノードBで実行される、本発明の第１の実施の形態に準拠する同期方法を示すアルゴリズムを示す図である。
【図６ａ】本発明の第２の実施の形態に準拠する、バスbAとbB間の同時サイクルの同期原理を概略的に例示する図である。
【図６ｂ】図３の相互接続ノードAで実行される、本発明の第２の実施の形態に準拠する同期方法を示すアルゴリズムを示す図である。
【図６ｃ】図４の相互接続ノードBで実行される、本発明の第２の実施の形態に準拠する同期方法のアルゴリズムを示す図である。
【図７】図３と図４に描かれている相互接続ノードAとBにおける様々な参照時刻と、それに対応する参照時間を表す表である。
【図８】ノードAとBから成る無線ブリッジ13を用いる、本発明の第３の実施の形態に準拠する通信ネットワークを示す図である。
【図９】図８のノードAにおいて実行される、本発明の第１の実施の形態に準拠する同期方法のアルゴリズムを示す図である。
【図１０ａ】図８のノードBで実行される、本発明の第１の実施の形態に準拠する同期方法を表すアルゴリズムを示す図である。
【図１０ｂ】クロック信号H1に従ってクロック信号H2と同期させるために用いられる様々な機能ブロックの概略図である。
【図１１】ノードAとBから成る無線ブリッジ92を用いる、本発明の第４の実施の形態に準拠する通信ネットワークの全体を示す概略図である。
【図１２】図１１のノードAで実行される、本発明の第４の実施の形態に準拠する同期方法のアルゴリズムを示す図である。
【図１３】図１１のノードBで実行される、本発明の第４の実施の形態に準拠する同期方法のアルゴリズムを示す図である。
【図１】
0004497654.tif 000002
【図２】
0004497654.tif 000003
【図３】
0004497654.tif 000004
【図４】
0004497654.tif 000005
【図５ａ】
0004497654.tif 000006
【図５ｂ】
0004497654.tif 000007
【図５ｃ】
0004497654.tif 000008
【図６ａ】
0004497654.tif 000009
【図６ｂ】
0004497654.tif 000010
【図６ｃ】
0004497654.tif 000011
【図７】
0004497654.tif 000012
【図８】
0004497654.tif 000013
【図９】
0004497654.tif 000014
【図１０ａ】
0004497654.tif 000015
【図１０ｂ】
0004497654.tif 000016
【図１１】
0004497654.tif 000017
【図１２】
0004497654.tif 000018
【図１３】
0004497654.tif 000019