(57)【要約】【課題】ホストに大きな計算負荷をかけることなく、許容される範囲の任意の数のＵＳＢデバイスが同期動作及びトリガ動作することを可能にするメカニズムを提供してＵＳＢ仕様を補い、ホストに、制御、データ転送、ロギング、解析など、他の作業を行わせる。【解決手段】 本発明は、同期マルチチャネルユニバーサルシリアルバスを実現する方法及び装置を提供し、本方法は、一態様においては、ＵＳＢ仕様の信号チャネルを補って外部ソース（２４）から同期情報を供給するステップを備え、別の態様においては、ＵＳＢトラフィックを監視し、ＵＳＢデバイス（１０）のローカルクロック信号を、位相及び／又は周波数において、ＵＳＢデータトラフィックに含まれる周期的な信号にロックさせるステップを備える。【選択図】図３
2010182337.tif 000002
【特許請求の範囲】
【請求項１】
同期マルチチャネルユニバーサルシリアルバス（ＵＳＢ）を提供する方法であって、
ＵＳＢ仕様で定義されたＵＳＢ信号チャネルの同期情報に、外部ソースからも、同期情報を供給するステップと；
前記外部ソースからの同期情報を用いて複数のＵＳＢデバイスを同期させるステップと；を備える方法。
【請求項２】
前記同期情報がトリガ信号及びクロック信号を含む請求項１記載の方法。
【請求項３】
同期マルチチャネルユニバーサルシリアルバス（ＵＳＢ）を提供する方法であって、
ＵＳＢトポロジ内のすべてのＵＳＢデバイスにトリガ信号を発行するステップを含む方法。
【請求項４】
前記トリガ信号が、複数のＵＳＢデバイスに対する操作を同期的に開始又は停止する請求項３記載の方法。
【請求項５】
所定の時刻に、各ＵＳＢデバイス内に設置されるトランスデューサをトリガするために、Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ（フレーム開始）パケットを用いて前記トリガ信号を生成するステップをさらに含む請求項３記載の方法。
【請求項６】
前記トリガ信号を、ローカル発振器と同相で、生成するステップを含む請求項５記載の方法。
【請求項７】
同期マルチチャネルユニバーサルシリアルバスであって、
ＵＳＢトポロジ内のすべてのデバイスにトリガ信号を発行する回路を備えたユニバーサルシリアルバス。
【請求項８】
同期マルチチャネルユニバーサルシリアルバスであって、各国の標準に対応する周波数でＵＳＢデバイスに同期信号を供給する回路及びロジックを備えたユニバーサルシリアルバス。
【請求項９】
同期マルチチャネルユニバーサルシリアルバスであって、接続可能デバイスにＵＳＢ信号、電力、ソケット、及び同期情報のうちの任意の１つ又は複数を提供するＵＳＢバックプレーンを備えたユニバーサルシリアルバス。
【請求項１０】
共通のＵＳＢ拡張ハブ内の任意の接続点において複数のＵＳＢデバイスの同期動作を可能にして、請求項１乃至６のいずれか一項に記載の方法を実行するよう動作する装置。
【請求項１１】
ＵＳＢ拡張ハブ内の任意の接続点において１つ又は複数のＵＳＢデバイスのリアルタイム動作を可能にして、請求項１乃至６のいずれか一項に記載の方法を実行するよう動作する装置。
【請求項１２】
ＵＳＢ拡張ハブ内の任意の接続点において、１つ又は複数のＵＳＢデバイスを用いて、リアルタイム自動制御機能及びデータ取得機能を実現して、請求項１乃至６のいずれか一項に記載の方法を実行するよう動作する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユニバーサルシリアルバス（ＵＳＢ）デバイスを同期させる方法及び装置に関し、特に、ＵＳＢホストに接続されたＵＳＢデバイス同士を任意の精度で互いに同期させることに適用されるが、それのみには限定されない。
【背景技術】
【０００２】
ＵＳＢ仕様は、オープンアーキテクチャの下で、製造元が異なるデバイスの相互運用を推進することを意図したものである。ＵＳＢデータは、差動信号方式（すなわち、２本の電線で情報を転送する方式）を用いて、それら２本の電線の信号レベルの差の形でエンコードされる。ＵＳＢ仕様は、ポータブル環境、デスクトップ環境、及びホーム環境にまたがるＰＣアーキテクチャの拡張として企画されている。
【０００３】
たとえば、従来技術の一例として、デジタル制御されるトランスデューサ１２を含むＵＳＢデバイス１０の概略図を図１に示す。デバイス１０は、バスコントローラ１４、デジタルＩ／Ｏバス転送回路１６、及びマイクロプロセッサ１８と、トリガ信号及びクロック信号を含む同期情報をトランスデューサ１２に渡す同期チャネル２０を含む。
【０００４】
デバイス１０は、バスコントローラ１４によって、ＵＳＢ信号及び同期信号を収容しているデジタルバス２２に接続されている。
【０００５】
ＵＳＢ仕様は、すべてのデバイスが異なることを暗黙のうちに想定している。このことは、多種多様な製造元のデバイスを接続するという、当初の意図どおりの環境には当てはまるが、ほぼ同等の性質を有する複数のデバイスを同期動作させるための仕様を必要とする、当初の意図どおりでない環境（ある共通の製造業環境や実験室環境など）も存在する。ＵＳＢ仕様は、そうした課題への対応が不十分である。そのような環境は、一般に、試験、測定、監視などを実施する環境であり、そこでは、仕様より高い精度でデバイスを同期させることが必要になる場合がある。ＵＳＢ仕様で可能な同期は、すべてのデバイスに１ｋＨｚクロック信号を供給することによるデバイス間同期だけである。しかしながら、多くの実験室環境や製造業環境では、ＭＨｚレベル以上の周波数での同期が必要とされる。
【０００６】
図２に示すＵＳＢはティアードスタートポロジ２４を用いており、ハブ２６がＵＳＢデバイス２８の接続点を提供している。ＵＳＢホストコントローラ３０にはルートハブが含まれ、これがシステム内のすべてのＵＳＢポートの起点になっている。このルートハブには、ＵＳＢ対応デバイスや追加ハブを接続できるＵＳＢポートがいくつか設けられている。
【０００７】
これらのどのポートにも、さらにハブ（ＵＳＢ複合デバイス３２など）を接続でき、それによって、さらなるＵＳＢデバイス３４のための接続点（ポート経由）が追加される。このように、ＵＳＢを用いると、最大１２７個のデバイス（ハブを含む）を接続できる。ただし、どのデバイスも階層の深さが５まででなければならない。
【０００８】
ホスト内のルートハブは、Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ（フレーム開始）（ＳＯＦ）信号パケットを１．０ミリ秒おきにすべてのデバイスに送信する（２つのＳＯＦパケットの時間間隔を１フレームと呼ぶ）。ＵＳＢトポロジに固有の電気的遅延のため、各モジュールがこのＳＯＦパケットを受信するのは同時ではない。このトポロジは、ホストコントローラに直接接続されているデバイスから、５階層下がったところにあるデバイスまでの間で、同じ信号を受信するのにかなりの時間遅延（仕様では最大３８０ナノ秒）がありうることを示している。このことは、ＭＨｚレベル以上でデバイスを同期しなければならない場合には、深刻な制約となる。
【０００９】
現時点では、ＵＳＢホストとＵＳＢデバイスの間の同期は、２タイプのＵＳＢ転送、すなわち、インタラプト転送とアイソクロナス転送によって可能である。インタラプト転送では、１２５マイクロ秒の最短周期でのデバイスのポーリング頻度が保証され、アイソクロナス転送では、一定の転送レートが保証される。いずれの方法でも、デバイスとホストの間で同期用のトラフィックを発生させる必要があり、したがって、同期の精度を高くするほど、多くの帯域幅を確保する必要がある。このことは、最大数のデバイスを接続する前に、使用可能なＵＳＢ帯域幅を使い切ってしまうおそれがあることを意味する。この方法はさらに、ソフトウェアを用いて１２７個のデバイスをホストに同期させたままにすることの多大な計算負荷をホストにかけ、それにもかかわらず、個々のデバイスが別々のプロセスを担当しているホストに関しては、デバイス間の同期を維持することに対応できない。
【００１０】
ある種の物理トランスデューサ（レーザダイオードや光検出器など）を含むデバイスは、クロック情報及びトリガ情報を必要とする場合がある。そのようなデバイス（たとえば、１ＭＨｚの変調光出力を有するレーザダイオード）は、クロック信号を用いて、一定間隔又は一定周波数でトランスデューサ機能を実行することができる。トリガ信号は、通常、設定された時刻に動作を開始又は終了させるために用いられる。レーザダイオードの例では、トリガ信号を用いて、変調光出力のオン／オフを切り替えることができる。
【００１１】
このようなクロック信号（情報）及びトリガ信号（情報）（以下、「同期情報」と呼ぶ）がすべてのデバイスに共通であり、同時に供給されていれば、これらの信号を用いて、多数の多種多様なデバイス同士を互いに同期させることができる。ここでの「共通」及び「同時」は、これらの信号のデバイス間での時間変動が指定量δｔより少ないことを意味する。レーザダイオードの例では、それによって、多数の多種多様なレーザダイオードがそれぞれの光出力を１つの周波数で変調することが可能になる。その結果、すべてのデバイスの変調周波数が同じになり、それらの波形が同相になる。現行のＵＳＢ仕様（すなわち、２．０）では、最大０．３５マイクロ秒のδｔの遅延が許容される。この遅延は、周波数１ＭＨｚすなわち周期１．０マイクロ秒の信号の場合には、ほぼ半周期に相当する。したがって、この信号を、定常的な用途での同期信号として仕様通りに使用することはできない。
【００１２】
ハブやＵＳＢコントローラチップのようなデバイスは、ＵＳＢプロトコルをデコードするために、ある程度の位相ロックをかけるのが一般的である。ＵＳＢプロトコルのＳＹＮＣパターンの目的は、他の電子回路がロックすべき同期パターンを提供することである。ただし、これは、ＭＨｚビットストリームを解釈するのに十分な精度でデバイスをＵＳＢビットストリームに同期させることを想定したものであって、多くの試験器や測定器で必要とされる精度で別々の２つのデバイスを互いに同期させることは想定されていない。ＵＳＢ仕様は、デバイス間同期の取り扱いに関する限り、ＵＳＢ−ＣＤオーディオストリームを、一対のＵＳＢスピーカからの出力に十分な程度に同期させることを主眼としている。そのような装置の要求はｋＨｚレベルであり、これに対してＵＳＢは理想的な条件を提供する。しかしながら、１００対のＵＳＢスピーカを同期させるという、起こりうる課題には、ＵＳＢ仕様は対応できない。
【００１３】
米国特許第６３４３３６４号（Ｌｅｙｄｉｅｒら）では、ＵＳＢトラフィックへの周波数ロックの例が開示されている。これは、スマートカードリーダを対象としたものである。この特許は、ＵＳＢ  ＳＹＮＣ及びパケットＩＤストリームと比較されるローカルの自走クロックを教示しており、その周期は、この周波数と一致するように更新される。その結果、定格周波数１．５ＭＨｚのローカルクロックが得られる。これにより、スマートカード情報をホストＰＣに読み込むのに十分な程度の同期が得られる。この方法はスマートカードリーダを対象としており、デバイス間同期は対象外である。さらに、１ｋＨｚの周波数ロック（又は安定性の向上）についても、高精度の位相制御についても開示されていない。
【００１４】
米国特許第６０１２１１５号（Ｃｈａｍｂｅｒｓら）は、ＵＳＢフレーム開始（ＳＯＦ）の周期性とタイミング調節のための番号付けに関するものである。米国特許第６０１２１１５号の要約書で説明されているように、開示されている発明は、ＵＳＢホストコントローラからそれに接続されている周辺デバイスに送信されるフレーム開始パルスを用いることにより、リアルタイム周辺デバイス内で所定のイベントが発生する瞬間をコンピュータシステムが正確に特定することを可能にする。
【００１５】
米国特許第６０９２２１０号（Ｌａｒｋｙら）では、データ転送の目的で２つのＵＳＢホストを接続するために、ＵＳＢ対ＵＳＢ接続デバイスを用いて、ローカルデバイスクロックを両ＵＳＢホストのデータストリームに同期させる方法が開示されている。ローカルクロックを同期させるために位相ロックループを用い、データ損失の発生を抑えるためにオーバサンプリングを用いている。ただし、この特許は、２つのＵＳＢホスト同士を（限られた精度で）互いに同期させることに関するものであって、多数の多種多様なＵＳＢデバイスを単一のＵＳＢホストに同期させることに関するものではない。
【００１６】
ＵＳＢ仕様はオーディオ用途を念頭において作成されており、米国特許第５７６１５３７号（Ｓｔｕｒｇｅｓら）では、個々にクロックを有する２対以上のスピーカを同期させる方法が説明されている。ここでは、１対がＰＣ内のステレオオーディオ回路の出力として動作し、他の対はＵＳＢによって制御される。この両方のスピーカ対がそれぞれのクロックを使用するため、これらを同期させる必要があり、この特許では、非同期クロック同士の間にクロックスキューがあってもオーディオ信号の同期を維持する一手法を教示している。
【００１７】
以上の説明は、網羅的であることや、当分野における共通一般知識を記述することを意図したものではないが、現行技術に不足があることは明らかである。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】米国特許第６３４３３６４号明細書（Ｌｅｙｄｉｅｒら）
【特許文献２】米国特許第６０１２１１５号明細書（Ｃｈａｍｂｅｒｓら）
【特許文献３】米国特許第６０９２２１０号明細書（Ｌａｒｋｙら）
【特許文献４】米国特許第５７６１５３７号明細書（Ｓｔｕｒｇｅｓら）
【発明の概要】
【発明が解決しようとする課題】
【００１９】
本発明は、ホストに大きな計算負荷をかけることなく、許容される範囲の任意の数のＵＳＢデバイスが同期動作及びトリガ動作することを可能にするメカニズムを実現することにより、ＵＳＢ仕様を補うことを目的とする。これにより、ホストに、制御、データ転送、ロギング、解析など、他の作業を行わせることが可能になる。
【００２０】
また、本発明は、ＵＳＢ仕様を補うだけでなく、ＵＳＢのすべての利点（ツリーアーキテクチャにより複数のデバイス（現時点で合計１２７個までのデバイス）の動作が可能、ホットスワップ可能、自動列挙、使いやすさ、オペレーティングシステム間の互換性、可搬性など）も有している。
【課題を解決するための手段】
【００２１】
本発明は、ＵＳＢホストに接続されているＵＳＢデバイス同士を互いに同期させるための方法及び装置を提供する。本発明はまた、同等の多種多様なＵＳＢデバイスに対し、共通の接続点と、電力、ＵＳＢ、及び同期信号の１つ以上の組み合わせを供給するバックプレーンを提供する。
【００２２】
具体的には、本発明は、第１の広い態様において、同期マルチチャネルユニバーサルシリアルバス（ＵＳＢ）を提供する方法であって、ＵＳＢ仕様で定義されたＵＳＢ信号チャネルの同期情報に、外部ソースからも、同期情報を供給するステップと；前記外部ソースからの同期情報を用いて複数のＵＳＢデバイスを同期させるステップと；を備えることを特徴とする。
【００２３】
前記同期情報は、トリガ信号とクロック信号を含むことが好ましい。
【００２４】
同期マルチチャネルユニバーサルシリアルバス（ＵＳＢ）を提供する方法であって、
ＵＳＢトポロジ内のすべてのＵＳＢデバイスにトリガ信号を発行するステップを含むと
好ましい。
【００２５】
前記トリガ信号が、複数のＵＳＢデバイスに対する操作を同期的に開始又は停止すると好ましい。
【００２６】
所定の時刻に、各ＵＳＢデバイス内に設置されるトランスデューサをトリガするために、Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ（フレーム開始）パケットを用いて前記トリガ信号を生成するステップをさらに含むと好ましい。
【００２７】
前記トリガ信号を、ローカル発振器と同相で、生成するステップを含むとこのましい。
【００２８】
本発明は、同期マルチチャネルユニバーサルシリアルバスであって、ＵＳＢトポロジ内のすべてのデバイスにトリガ信号を発行する回路を備えたユニバーサルシリアルバスを提供する。
【００２９】
本発明は、同期マルチチャネルユニバーサルシリアルバスであって、各国の標準に対応する周波数でＵＳＢデバイスに同期信号を供給する回路及びロジックを備えたユニバーサルシリアルバスを提供する。
【００３０】
本発明は、同期マルチチャネルユニバーサルシリアルバスであって、接続可能デバイスにＵＳＢ信号、電力、ソケット、及び同期情報のうちの任意の１つ又は複数を提供するＵＳＢバックプレーンを備えたユニバーサルシリアルバスを提供する。
【００３１】
本発明はまた、同期マルチチャネルユニバーサルシリアルバスであって、接続可能デバイスにＵＳＢ信号、電力、ソケット、及び同期情報のうちの任意の１つ又は複数を提供するＵＳＢバックプレーンを備えたユニバーサルシリアルバスを提供する。
【００３２】
共通のＵＳＢ拡張ハブ内の任意の接続点において複数のＵＳＢデバイスの同期動作が可能となるように上述の方法を実行するよう動作する装置を提供すると好ましい。
【００３３】
ＵＳＢ拡張ハブ内の任意の接続点において、１つ又は複数のＵＳＢデバイスを用いて、リアルタイム自動制御機能及びデータ取得機能を実現して上述の方法を実行するよう動作する装置を提供すると好ましい。
【００３４】
第２の広い態様では、本発明は、ＵＳＢトポロジ内のすべてのデバイスにトリガ信号を発行するステップを含む、同期マルチチャネルユニバーサルシリアルバスを実現する方法を提供する。このトリガ信号は、複数のデバイスに対する操作を同期的に開始又は停止すると好ましい。
【００３５】
所定の時刻にトランスデューサをトリガするためには、ＳＯＦパケット（エンコードされたフレーム番号を含むと好ましい）を用いて前記トリガ信号を生成するステップが好ましい。
【００３６】
この方法は、前記操作を、ローカル発振器と同相で実行するステップを含むと好ましい。これは、ＵＳＢ接続トポロジが原因でＳＯＦパケットの到着時刻がデバイス間で異なる可能性があるからであり、さらに、ＵＳＢ仕様では、位相ロックされたローカル発振器に対して許容されているＳＯＦパケット周波数の時間ジッタがかなり大きいからである。このため、クロックの位相が１周期の何分の１かずれる可能性がある。
【００３７】
本発明はまた、ＵＳＢトポロジ内のすべてのデバイスにトリガ信号を発行する回路を備えた、同期マルチチャネルユニバーサルシリアルバスを提供する。
【００３８】
第３の広い態様では、本発明は、各国の標準（ＮＩＳＴやＮＡＴＡなど）に対応する周波数でＵＳＢデバイスに同期信号を供給する回路及びロジックを含む同期マルチチャネルユニバーサルシリアルバスを提供する。さらに、この方法は、本発明の他の態様でも用いることができる。
【００３９】
第４の広い態様では、本発明は、接続可能デバイスにＵＳＢ信号、電力、ソケット、及び同期情報のうちの任意の１つ又は複数を提供するＵＳＢバックプレーンを含む同期マルチチャネルユニバーサルシリアルバスを提供する。なお、このバスは機械的支持構造も提供できる。
【００４０】
デバイス同士を互いに同期させるために、上記の態様を組み合わせることも可能である。時間的精度、コスト、及び使いやすさの要件は、特定の用途に対してこれらの方法のどれが使用可能かを判断する上で制限となる場合がある。また、本発明による装置は、様々な方法で実施できる。たとえば、そのようなデバイスは、プリント回路基板上の複数の部品の形で構成したり、半導体レベルで、すなわち、シリコン（又は他の半導体材料）の単一チップとして構成したりできる。
【発明の効果】
【００４１】
本発明によれば、ホストに大きな計算負荷をかけることなく、許容される範囲の任意の数のＵＳＢデバイスが同期動作及びトリガ動作することを可能にするメカニズムを実現することができ、ＵＳＢ仕様を補うことができる。これにより、ホストに、制御、データ転送、ロギング、解析など、他の作業を行わせることが可能になる。
【図面の簡単な説明】
【００４２】
【図１】従来技術による例示的なＵＳＢデバイスの概略図である。
【図２】従来技術のＵＳＢティアードスタートポロジの概略図である。
【図３】本発明の第１の実施形態による同期ＵＳＢ回路の概略図である。ここでは、デバイスに同期情報が渡される。
【図４】本発明の第２の実施形態による同期ＵＳＢ回路の概略図である。ここでは、ＵＳＢトラフィックが監視され、ＵＳＢデバイスのローカルクロック信号が、位相及び周波数において、ＵＳＢ  ＳＯＦパケットにロックされる。
【図５】図５Ａは本発明の第３の実施形態による同期ＵＳＢ回路の概略図である。ここでは、複数のデバイスのそれぞれのローカルクロックの相対位相を制御するために、特定のトランザクションに関連付けられたＡＣＫパケットの往復遅延時間が測定される。図５Ｂは、図５Ａのトランザクションのデバイス６２に関するタイミング図である。図５Ｃは、図５Ａのトランザクションのデバイス６０に関するタイミング図である。
【図６】本発明の第４の実施形態による同期ＵＳＢ回路の概略図である。ここでは、ＵＳＢを監視し、ローカルクロックからの信号を、位相及び周波数において、ＵＳＢのＳＯＦパケットにロックさせる回路が設けられている。
【図７】本発明の実施形態の組み合わせによる、追加のコネクタ配線を行わずに同期を実現する同期ＵＳＢ回路の一例の、簡略化した概略図である。
【図８】本発明の複数の実施形態を組み合わせた、追加のコネクタ配線を行わずに同期を実現する、複雑な同期ＵＳＢ回路の概略図である。
【図９】本発明の実施形態の組み合わせによる同期ＵＳＢ回路の別の例の、簡略化した概略図である。ここでは、コネクタ配線を追加して同期を実現している。
【図１０】本発明の実施形態の組み合わせによる同期ＵＳＢ回路のさらに別の例の、簡略化した概略図である。図８の回路と似ているが、より複雑である。
【図１１】図１０の例の変形形態の、簡略化した概略図である。
【発明を実施するための形態】
【００４３】
本発明をより明確に把握できるようにするために、例として、いくつかの実施形態について、添付図面の参照とともに説明する。
【００４４】
本発明の第１の実施形態では、デバイスに同期情報を渡す。図３は、デジタル制御されるトランスデューサ１２を含むＵＳＢデバイス１０'（図１のデバイスと似ているため、同様の機能を指すために同様の参照符号を用いた）の概略図である。しかしながら、この実施形態では、トリガ信号及びクロック信号を含む同期情報を外部ソースから供給するチャネルを含めるために電線の数を増やしている。
【００４５】
同期情報（トリガ信号及びクロック信号を含む）は、外部ソース２４からバスコントローラ１４に供給される。これによって、同期チャネル２０からトランスデューサ１２に供給される同期情報に、外部から供給された同期情報が含まれる。
【００４６】
このように、デバイス１０'は、他のデバイスに関して同期情報を生成するロジック又は回路を含まない。
【００４７】
ＵＳＢ通信は、フレームと呼ばれる１ミリ秒の一定間隔の間にデータを転送することに基づく。各フレームの開始時に（したがって、１ｋＨｚの周波数で）、ほとんどの低速デバイスにフレーム開始（ＳＯＦ）パケットが送信される。したがって、ＳＯＦパケットは、ホストの１つの共通ＵＳＢポートに接続されているすべてのデバイスにとって、低分解能の同期信号となる。そこで、本発明の第２の実施形態では、ＵＳＢトラフィックを監視し、ＵＳＢデバイスのローカルクロック信号を、位相及び周波数において、ＵＳＢ  ＳＯＦパケットにロックさせる。
【００４８】
当業者にはよく知られているが、ＵＳＢ仕様では、バスの制御機能及び管理機能のためのパケットヘッダとして使用される、「トークン」と呼ばれる、複数の固有のデータ構造体を定義している。ＳＯＦパケットは一意のデジタル署名を有するため、バス上に同様に存在しうる他のデータと区別されることが可能である。この実施形態では、ロジック回路又は整合フィルタを用いて、ＳＯＦトークンを構成しているビットシーケンスをデコードし、ＵＳＢ上に存在するすべてのＳＯＦパケットにタイミング信号を供給することができる。ＳＯＦは、特定の周波数で発生し、存在するすべてのデバイスに共通であるため、ＳＯＦ及びデコードされたタイミング信号は、すべてのデバイスで、共通の周波数基準として使用できる。ＳＯＦの１ｋＨｚと異なる周波数を発生させる場合は、位相ロックループ（ＰＬＬ）を利用して、ローカル発振器の周波数及び位相をＳＯＦ及びタイミング信号にロックさせることができる。このことには、ＰＬＬを用いると、ＳＯＦ到着時刻のジッタを平均化できるという付加的な利点がある。したがって、ローカル発振器の周波数は、ＳＯＦパケットの周波数と異なっていなくてもよい。
【００４９】
図４に示す第２の実施形態の方法では、ＵＳＢ４０を通るトラフィックを監視し、すべてのＳＯＦパケットをデコードする回路を用いる。ローカル制御されるクロック発振器４２からの信号Φは、位相及び周波数において、ＵＳＢの１ｋＨｚのＳＯＦパケットにロックされる。このためにはまず、クロック発振器４２からの信号Φをクロック分周器４６でＳＯＦパケットの周波数まで分周する必要がある（たとえば、１ＭＨｚの出力周波数を１ｋＨｚに分周する）。ＳＯＦパケットが（公称１ｋＨｚで）到着すると、整合フィルタ４８からクロック同期信号５０が位相検知器５２に送られる。位相検知器５２は、フィルタ５６を介して、制御対象のクロック発振器４２に接続されている。
【００５０】
ローカルクロック信号Φは、その後、ＵＳＢデバイスのトランスデューサ回路に供給され、これによって、ルートハブに接続されているすべてのデバイスが同じ周波数にロックされる。
【００５１】
この実施形態では、任意の高い周波数の安定したクロック信号を生成することが可能である（たとえば、確率的ジッタが数ナノ秒程度である数十メガヘルツのクロック周波数を生成できる）。したがって、この実施形態により、特定のＵＳＢに接続された各デバイスのローカルクロックの周波数を同期させることができる。ただし、この実施形態では、それらのクロックの同時性が考慮されていない。各クロックの周波数と位相は、受信したＳＯＦトークンにロックされるが、各デバイスがＳＯＦパケットを受信するタイミングは、ランダムに接続されたＵＳＢスタートポロジの信号伝搬時間の違いのために、実質的に異なる。複数のＵＳＢデバイスのそれぞれのローカルクロックを（すべてのクロックが同相となるように）同期させるには、ホストから各デバイスまでの前記信号伝搬時間がわかっていなければならない。
【００５２】
第３の実施形態では、複数のＵＳＢデバイスのそれぞれのローカルクロックを任意の精度で同期させる。電気的遅延やケーブル遅延に起因する、異なるデバイスのローカルクロック間の位相差を取得して補償するために、ＵＳＢツリー内の種々の接続点でＵＳＢトラフィックを監視し、特定のＵＳＢ通信トランザクションの伝搬時間を測定する。この実施形態では、存在する各デバイスについて、ホストからデバイスまでの特定のデータパケットと、このデータパケットに関連付けられた、デバイスからのＵＳＢ肯定応答ＡＣＫトークンの往復伝搬遅延時間を測定する。この情報を用いて、各デバイスのローカルクロックの相対位相を制御し、それによって、接続されているすべてのＵＳＢデバイスを任意の精度で互いに同期させる。
【００５３】
ＵＳＢ仕様では、２つのデバイスのローカル時刻が最大で３８０ナノ秒異なってもよいとされている。しかしながら、２つの独立したデバイスが同じイベントの実時間を正確に記録するためには、それらのローカル時刻が事実上任意の精度で特定されなければならない。
【００５４】
図５Ａは、ＵＳＢチェーン６４内の異なる点に接続されている２つのデバイス６０及び６２を示している。ＵＳＢチェーン６４にはまた、ＵＳＢホストコントローラ６６と複数の７ポートＵＳＢハブ６８も含まれている。デバイス６０及び６２は、両方とも、同じ周期的ＳＯＦ信号を受信し、それぞれが独自にそれぞれのローカルクロックの周波数と位相をそのＳＯＦ信号にロックさせている。ただし、ＵＳＢホストコントローラ６６とデバイス６２の間にあるＵＳＢハブ６８の数が多いことによるトポロジカルな時間遅延のために、デバイス６２は、デバイス６０より遅れてＳＯＦパケットを受信する。この時間差を時間遅延の測定結果から算出し、補正する必要がある。
【００５５】
デバイス６０の接続点の具体的な場所は、それが、図５Ａに記号「Ａ」で示すように、デバイス６０が自身及びデバイス６２のバストラフィックをデコードできるような位置でありさえすれば、重要ではない（つまり、デバイス６０は、同期が必要なすべてのデバイスのバストラフィックをデコードできなければならない）。したがって、デバイス６０の接続点は、図５Ａに示すように、ＵＳＢツリー又はチェーンの実質的に最上位付近であることが好ましい。
【００５６】
前記往復伝搬遅延時間を測定するために、ホストとデバイス６２の間でＵＳＢトランザクションを実行する。デバイス６０は、ツリー内の点「Ａ」でＵＳＢトラフィックを監視し、トランザクションのダウンストリームデータパケットと応答データパケットの通過を検知する。それによって、デバイス６０は、図５Ａの点「Ａ」における、ホストからデバイス６２へのダウンストリーム信号（トランザクションの開始）の検知と、デバイス６２からホストへの応答信号（トランザクションの終了）の検知との時間間隔を求めることが可能になる。好ましい実施形態では、デバイス６２からホストへの応答信号は、トランザクション肯定応答ＡＣＫパケットのＡＣＫトークンである。
【００５７】
点「Ａ」を基準とする、ホストとデバイス６０の間のＵＳＢトランザクションの往復伝搬遅延時間も、同様の方法で求めることができる。デバイス６０とデバイス６２において周波数ロックされたクロックの間の、接続トポロジに基づく時間的位相シフトの量は、同じ点「Ａ」を基準とする、２つのデバイスの往復伝搬遅延時間の差のほぼ半分になる。したがって、デバイス６２において周波数ロックされたクロックは、その量だけ、デバイス６０において周波数ロックされたクロックより位相が遅れている。デバイス６０及び６２におけるクロックを、周波数と位相の両方において同期させるには、前記量に対応する位相オフセットをいずれかのクロックに施さなければならない。これは、デバイス６０に対してローカルなクロック信号に位相遅延を施すことによって行われることが最も多い。
【００５８】
この方法を、図５Ｂ及び５Ｃでさらに説明する。図５Ｂは、図５Ａのトランザクションの、デバイス６２に関するタイミング図であり、図５Ｃは、図５Ａのトランザクションの、デバイス６０に関するタイミング図である。デバイス６０及び６２のそれぞれに対して、ＵＳＢトランザクションは、ＴStart Xの時点で開始され、デバイスがＡＣＫパケットを返すＴACK Xの時点で終了する（いずれの場合もＸはデバイス番号を表す）。これらのトランザクションは同時には開始されないが、図は、トランザクションの相対的な継続時間を示すために、ＴStart Xを基準として配置されている。デバイス６０は、図５Ａの検知点「Ａ」に非常に近いため、往復伝搬遅延時間がデバイス６２の場合より著しく短い。伝搬時間の差をΔＴで示す。したがって、２つの周波数ロックされたクロックの間の位相オフセットは、（１/２）ΔＴになる。
【００５９】
当業者であれば、必要な位相補正量を求める方法がほかにもあることは明らかであろう。また、当業者であれば、ローカルクロック周波数を発生させ、往復伝搬遅延時間又は片方向伝搬遅延時間を求めるために使用できる他のＵＳＢデータプロトコルとして、任意のＵＳＢ制御及び管理パケットトークン（すなわち、ＳＯＦ、ＩＮ、ＯＵＴ、ＡＣＫ、ＮＡＫ、ＰＲＥ、ＳＴＡＬＬ、ＤＡＴＡ０、ＤＡＴＡ１）、ＵＳＢデータパケット内のビットパターンの任意のプログラマブルシーケンス、任意のユーザ定義データ構造体、ＵＳＢ仕様で定義されている任意の信号プロトコルなどがあり、これらに限定されないことを理解されよう。
【００６０】
ここまで、ＵＳＢデバイスのローカル発振器の位相及び周波数をロックさせて多数の多種多様なＵＳＢデバイスの同期動作を実現する手法について説明した。このローカル発振器は、連続変調を発生させる。ＵＳＢデバイスはまた、特定の操作シーケンスを時間的に同期させることを必要とされる場合がある。これを実現するために、ＵＳＢデバイスは、いわゆる共通トリガ信号を必要とする。このトリガ信号を、周波数ロックされたローカル発振器と組み合わせて用いることによって、複数の独立したＵＳＢデバイスの完全な同期動作を実現できる。
【００６１】
第４の実施形態では、所定の時刻にトランスデューサをトリガするために、エンコードされたフレーム番号を含むＳＯＦパケットを用いて、特定デバイス上のトランスデューサに対する同期トリガ信号を生成する。ただし、ＵＳＢ接続トポロジが原因で、ＳＯＦパケットの到着時刻がデバイス間で異なる可能性があり、さらに、ＵＳＢ仕様では、位相ロックされたローカル発振器に対して許容されているＳＯＦパケット周波数の時間ジッタがかなり大きい。このため、クロックの位相が１周期の何分の１かずれる可能性がある。しかし、トリガ信号は、ローカル発振器と同相でなければならない。
【００６２】
ジッタの問題を除去するために、ＳＯＦ信号はローカル発振器の出力でラッチされる。このラッチによって、ＳＯＦトリガ要求の到着が記憶されるが、トリガ信号が生成されるのは、ローカル発振器の状態が次に変化したときである。異なるデバイス間のトリガ時刻の誤差は、デバイスのローカルクロック周波数と制御ループの特性の関数であって、任意に小さくすることができる。
【００６３】
そこで、図６の概略図で示される回路７０では、ＵＳＢ７２を監視し、ローカルクロック７４からのクロック信号Φを、（必要に応じてクロック分周器７６で出力周波数を１ｋＨｚまで下げ、）位相及び周波数において、ＵＳＢ７２の１ｋＨｚのＳＯＦパケットにロックさせる。第１の整合フィルタ８０は、前記ローカルクロック７４を（図４と同様に）周波数ロック及び位相ロックするために、ＳＯＦパケットが到着した時点でクロック同期信号８２を出力し、第２の整合フィルタ８４は、特定のフレーム番号を有するＳＯＦパケットが到着した時点でトリガ要求信号８６を出力する。図４の回路と同様に、この回路もフィルタ９０と位相検知器９２を含む。トリガ要求信号は、ローカルに安定化されたローカルクロック信号Φでラッチされ、それによって同期トリガ信号「Ｔｒｉｇ」が生成される。
【００６４】
第５の実施形態では、回路及びロジックを用いて、各国の標準（ＮＩＳＴやＮＡＴＡなど）にトレーサブルな周波数でＵＳＢデバイスに同期信号を供給する。これは、たとえば、ルートハブを含む任意のハブのクロック及び／又は水晶振動子を、国家標準にトレーサブルな周波数基準に置き換えることによって実現される。
【００６５】
第６の実施形態では、ＵＳＢバックプレーンを設けて、接続可能なデバイスに、電力、ＵＳＢ信号、コネクタ、及び同期情報を供給する。
【００６６】
ＵＳＢバックプレーンは、その最も複雑な形態では、自己給電式デバイス用としてＵＳＢに追加する電力、多数の多種多様なポートを提供するハブ回路、複数のホットプラグ可能デバイス接続点を提供するポートに関連付けられた複数のコネクタ、及びＵＳＢ仕様を満たすＵＳＢ信号を含む。ＵＳＢバックプレーンはさらに、前述の様々な手法ならびに電源オン／オフシーケンスを用いて周波数、位相、トリガを含む同期情報を整理及び提供するために、マイクロプロセッサなどのロジック要素、プログラマブルアレイ、デジタル電子回路、及びアナログ電子回路を含むこともできる。バックプレーンは、１つ又は複数のハブに加えて、そのハブによって提供されるＵＳＢポートの１つに接続されたデバイスを含むこともできる。あるいは、バックプレーンは、ハブ機能と同期機能を提供する複合デバイスであることも可能である。これらにより、同期情報を、運用中に測定したり、プログラムしたりできる。
【００６７】
[実施例]
上記の各実施形態は、様々な形で用いることができる。ただし、それらは、ＵＳＢコネクタ端子に同期端子を追加するデバイスとそうでないデバイスとに分けることができる。さらに、第２から第５までの実施形態のロジック要素を、ＵＳＢデバイス上に配置したり、バックプレーン上に配置したり（バックプレーンソリューションが必要な場合）、その両方に配置したり、まったく配置しなかったりできる。
【００６８】
用途ごとの要件に応じて、バックプレーンソリューションの実装が必要な場合と必要でない場合があることは理解されよう。また、デバイスに追加電力を供給する必要があるかどうかも用途によって決まる。
【実施例１】
【００６９】
同期用コネクタ配線を追加しない場合
追加同期信号に依存しない、本発明によるシステムの利点は、デバイスがその情報に依存せずに同期動作できるために、任意のスタンドアロンホストで普通のハブを使用できることである。そのようなシステムは、非常に精度の高い同期を必要とするデバイスにも拡張できる。図７では、そのようなシステムの例を９６として概略的に示している。９６は、アップストリームＵＳＢポート９８と複数のバックプレーンハブデバイス１００及び１０２（この例ではそれぞれがバックプレーン１０４上の７ポートＵＳＢハブ）を有する。１００及び１０２は、複数のデバイス１０６に追加電力を任意に供給できる。各デバイス１０６は、前述の第２の実施形態に従って周波数ロック及び位相ロックされたローカルクロックを含むことができる。バックプレーン１０４とハブ１００及び１０２は、デバイス１０８及び第３の実施形態の文脈において前述した手法を用いて（それぞれのケーブル長がＵＳＢ仕様の範囲内でランダムである）デバイス１０６間の位相差を調節する機能を有する。さらに、各デバイス１０６は、第３の実施形態の文脈において前述した手法に従って動作するローカルクロック用位相シフトジェネレータを含む。
【実施例２】
【００７０】
図８は、多数の同期ＵＳＢデバイスを含む複雑なシステムを９６として概略的に示している。アップストリームポート１１１は、ホストからのＵＳＢ情報を受信する。システム１１０は、複数のバックプレーン１１２、１１３、１１４を含み、各バックプレーンは２つのバックプレーンハブデバイス１１５を備える。各バックプレーンハブデバイス１１５は、７ポートＵＳＢハブを備え、複数のデバイス１１６に追加電力を任意に供給できる。各デバイス１１６は、前述の第２の実施形態に従って周波数ロック及び位相ロックされたローカルクロックを含むことができる。また、第１の（又はマスタ）バックプレーン１１２はさらに、（図７と同様に）追加の回路又はロジック要素１１７を有し、要素１１７及び第３の実施形態の文脈において前述した手法を用いて（それぞれの接続トポロジが異なる）デバイス１１６間の位相差を調節する機能を有する。さらにまた、各デバイス１１６は、第３の実施形態の文脈において前述した手法を用いてローカルクロックを位相シフトする位相シフトジェネレータを含む。ダウンストリームポート１１８には、ＵＳＢ仕様で定義されている最大数である１２７個までのデバイス及び／又はハブ及び／又はバックプレーンを追加接続できる。
【００７１】
さらに、アップストリームルートハブから供給される周波数を、第５の実施形態に従って周波数基準を用いて発生させることができ、第４の実施形態の方法を用いて任意のトリガ信号を発生させることができる。
【実施例３】
【００７２】
同期用追加コネクタ配線
前述した各実施形態に従う方法の最もシンプルな例は、ＵＳＢ及び同期情報を収容する独自のコネクタか、ＵＳＢコネクタと別個の同期リンクとを介して、すべてのデバイスを共通同期信号に接続することによって実現できる。同期情報はＵＳＢトラフィックに依存しないため、任意の周波数を用いることには特に問題はない。同期情報の媒体としては、無線手段、電気的手段、光ファイバ手段などを任意に用いることができる。図９は、そのような回路の実用的な例を１２０として概略的に示している。回路１２０は、本質的に、それぞれが図７の回路に相当する回路の対を含み、７ポートＵＳＢハブ１２４を介して２４個のＵＳＢデバイス１２２が接続されるようになっている。そしてこれらのデバイスを、アップストリームＵＳＢポート１２６を介してＰＣに接続できる。ＵＳＢ接続トポロジは、同期信号には何ら影響を及ぼさない。同期信号は、別個に、周波数Φの外部クロック１２８からデバイスに供給される。したがって、デバイス１２２は、（ＵＳＢ要件と追加接続とを収容する）１つのコネクタか、標準ＵＳＢコネクタ及び１つ又は複数の追加コネクタを介してＵＳＢ及び同期信号に接続される。
【００７３】
この例のより複雑な形態では、追加のロジック要素を含むバックプレーンが用いられ、このロジック要素が、正確な制御を行い、接続されているすべてのデバイスの周波数と位相をロックする。このような構成では、前述した第２及び第３の実施形態の方法に従い、バックプレーンのロジック要素がＵＳＢトラフィックを監視し、それぞれ独自のローカルクロックを発生させる。この、バックプレーンが発生させたクロックは、前述した１つ又は複数のバックプレーンコネクタを介して、接続されている各ＵＳＢデバイスに分配される。
【００７４】
図１０は、そのような構成を１３０として概略的に示している。各デバイス１３２は、ＵＳＢ仕様を補う追加コネクタ端子１３６（電気的、無線、又は光ファイバ）を介して回路１３４に接続されている。一例として、この回路は、様々なモジュールが接続されるバックプレーン１３８に配置できる。このバックプレーン１３８はさらに、１つ又は複数の７ポートＵＳＢハブ１４０を含む。回路１３４は、（第２の実施形態に従い）ＵＳＢアップストリームポート１４２においてＵＳＢをフレーム開始信号に関して監視し、その内部クロックの周波数及び位相をフレーム開始信号にロックさせる。回路１３４はさらに、ＵＳＢトポロジに起因する遅延を補正するために、着信クロック信号を任意に遅延させることができる（第３の実施形態を参照）。その内部クロックは、追加コネクタ端子を介して各デバイス１３２で利用できる。このようにして、すべてのデバイス１３２が、同期すべき共通クロック信号を受け取る。
【００７５】
これまで示した各図では、同期回路をハブと分離して描いていることに注目されたい。これに対し、図１１で１５０として示した別の変形形態では、１つのハブが、（ＵＳＢアップストリームポート１５４に接続され、）拡張ポート１５６及び同期回路１５８の両方を含む複合デバイス１５２になっている（同期回路１５８は、第２の実施形態に従ってローカルクロック信号を発生させ、第３の実施形態の手法を用いてローカルクロックを位相シフトさせて他のデバイスとの同期をとる）。これにより、（これまで説明した例と比較して）第２のハブ１６２のポート１６０が自由になり、図１１に示したシンプルな構成では、最大１３個のデバイス１６４を接続できる。
【００７６】
また、ＵＳＢ仕様では、ハブ当たりのポート数が７に制限されていないことにも注意されたい。したがって、図１０では、１つのハブ１４０が、たとえば１２個のポートをサービスするようにできる。
【００７７】
当業者であれば、本発明の趣旨及び範囲を逸脱しない修正を容易に行うことができよう。したがって、本発明は、ここまで例として説明してきた具体的な実施形態に限定されないことを理解されたい。本明細書の目的のためには、「含む（備える）」という語が「含む（備える）が、それに限定されない」という意味であることを理解されたい。
【００７８】
さらに、本明細書における従来技術の参照はすべて、それらの従来技術が共通一般知識の一部を形成する（又は形成した）ように示すことを意図したものではない。
【符号の説明】
【００７９】
１０'  同期ユニバーサルシリアルデバイス
１２    トランスジューサ
１４    バスコントローラ
１６    デジタルＩ／Ｏバス転送回路
１８    マイクロプロセッサ
２０    同期チャンネル
２２    デジタルバス
２４    外部ソース
【図１】
2010182337.tif 000003
【図２】
2010182337.tif 000004
【図３】
2010182337.tif 000005
【図４】
2010182337.tif 000006
【図５】
2010182337.tif 000007
【図６】
2010182337.tif 000008
【図７】
2010182337.tif 000009
【図８】
2010182337.tif 000010
【図９】
2010182337.tif 000011
【図１０】
2010182337.tif 000012
【図１１】
2010182337.tif 000013