JP5231255B2 - 分散型の同期およびタイミングシステム - Google Patents

分散型の同期およびタイミングシステム Download PDF

Info

Publication number
JP5231255B2
JP5231255B2 JP2008554564A JP2008554564A JP5231255B2 JP 5231255 B2 JP5231255 B2 JP 5231255B2 JP 2008554564 A JP2008554564 A JP 2008554564A JP 2008554564 A JP2008554564 A JP 2008554564A JP 5231255 B2 JP5231255 B2 JP 5231255B2
Authority
JP
Japan
Prior art keywords
usb
frequency
signal
clock
data structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008554564A
Other languages
English (en)
Other versions
JP2009527152A (ja
JP2009527152A5 (ja
Inventor
フォスター,ピーター,グラハム
クズネゾフ,アレックス
ブラセンコ,ミコラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chronologic Pty Ltd
Original Assignee
Chronologic Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chronologic Pty Ltd filed Critical Chronologic Pty Ltd
Publication of JP2009527152A publication Critical patent/JP2009527152A/ja
Publication of JP2009527152A5 publication Critical patent/JP2009527152A5/ja
Application granted granted Critical
Publication of JP5231255B2 publication Critical patent/JP5231255B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Description

関連出願
本願は、2006年2月15日出願の米国特許出願第60/773,537号の出願日に基づき、かつその利益を主張するものであり、その内容全体を参照によって本明細書に組み込む。
本発明は、分散型の同期およびタイミングシステムを提供するための方法および装置に関し、具体的には、テストおよび測定用デバイス、計装インターフェイスおよびプロセス制御デバイスの、基本的に任意の度合いで同期した、クロック供給、データ収集および制御に関するが、それ専用ではない。
USB規格は、オープンアーキテクチャで様々な供給業者からのデバイスの相互動作を促進するように意図されている。USBデータは、差動信号を用いて(すなわち2線が情報を転送する)、それら2線間の信号レベルの差の形で符号化される。USB規格は、携帯型、デスクトップおよび住居環境にわたって、PCアーキテクチャに対する拡張機能として意図されている。
USB規格は、デバイスが様々であると仮定する。これは、多様な製造業者からのデバイスが接続されるものと意図された環境に当てはまるが、類似の性質の複数のデバイスを同期式で動作させるための規格を必要とする他の環境(ある一般的な産業または実験室の環境など)が存在する。この規格は、この問題に十分に対処するものではない。そのような環境は、一般にテスト、測定、または監視が行われるものであり、規定されているものより高精度で同期するデバイスを必要とする。USB規格は、すべてのデバイスに1kHzのクロック信号を供給することにより、限定されたデバイス間同期を可能にする。しかし、多くの実験室および産業の環境が、メガヘルツ周波数およびより高周波数での同期を必要とする。
USBは、ハブがUSBデバイス向けの接続ポイントを供給する枝分かれトポロジを利用する。ユーザのパーソナルコンピュータ(PC)、ラップトップ機または携帯情報端末(PDA)上に配置されるUSBホストコントローラはルートハブを含み、これはシステム内のすべてのUSBポートの起点である。ルートハブは、USB機能デバイスまたはさらなるハブが接続され得る複数のUSBポートを与える。
その結果として、これらのポートのうち任意のものへさらにハブ(USB複合デバイスなど)を接続することができ、次いで、このハブは、ポートを介してさらなるUSBデバイス向けに追加の接続ポイントをもたらす。このように、いかなるデバイスも深さが高々5レベルであり得るという制約付きで、USBは最高127のデバイス(ハブを含む)の接続を可能にすることになっている。
ホスト内のルートハブは、すべてのデバイスに対してフレーム開始(SOF)信号パケットを1ミリ秒ごとに伝送するが、2つのSOFパケット間の時間はフレームと称される。各モジュールは、USBトポロジに固有の電気的遅延を許容して、別々のときにこのSOFパケットを受け取る。このトポロジは、同一の信号を受け取るのに、ホストコントローラに直接接続されたデバイスと5レベル下のデバイスの間に顕著な時間遅れ(≦380ナノ秒と規定される)があり得ることを意味する。メガヘルツレベルおよびそれを上回ってデバイスを同期させる必要性があるとき、これはひどい制約である。その上、USB規格では、ホストコントローラが連続5つまでSOFトークンを伝送しないことを許容する。
USBホストとUSBデバイスの間の現行の同期は、割込みとアイソクロナスの2つのタイプのUSB転送によって可能である。割込み転送が最小周期125μsで保証されたデバイスのポーリング周波数を可能にするのに対して、アイソクロナス転送は一定の転送レートを保証する。どちらの方法も、同期が行なわれ、したがってより高度な同期のためにより大きな帯域幅を確保するのに、デバイスとホストの間にトラフィックを必要とする。これは、あいにく、デバイスの最大数が接続される前に利用可能なUSB帯域幅が使い果たされる恐れがあることを意味する。この手法は、また、ソフトウェアによって127のデバイスの同期を保つのにホストに大きな計算負荷がかかるにもかかわらず、依然として、個々のデバイスがホストに対して別々の処理を示すときに、デバイス間の同時性の維持に対処できない。
レーザダイオードまたは光検出器など、ある種の物理的トランスデューサを含むデバイスは、クロックおよびトリガ情報を必要とすることがある。1MHzで変調された光出力を有するレーザダイオードなどのデバイスは、一定間隔または一定周波数でトランスデューサ機能を実行するためにクロック信号を用いることがある。設定された時間に動作を開始するかまたは終了するために、通常トリガ信号が用いられる。レーザダイオードの例では、変調された光出力をオンにするかまたはオフにするためにトリガ信号を用いることができる。
クロックおよびトリガの信号すなわち情報(以下、同期情報と称する)は、これらの信号がすべてのデバイスに対して共通かつ同時であるなら、多様なデバイスを互いに同期させるように用いることができる。ここでは「共通」および「同時」は、デバイス間のこれらの信号の時間におけるばらつきが規定量δt未満であることを意味する。レーザダイオードの例では、これによって、多様なレーザダイオードが、1つの周波数でそれらの光出力を変調することができることになる。すべてのデバイスの変調周波数が同一になるはずであり、また、それらの波形は同相になるはずである。現行のUSB規格(すなわち2.0)は、0.35μsまでのδtでの遅延を許容する。周波数1MHzかつ周期1.0μsの信号にとって、この遅延は周期のほぼ半分を示す。したがって、ルーチン用途向けの同期信号として規定されるようには使用不可能である。
ハブおよびUSBコントローラチップのようなデバイスは、USBプロトコルを復号するために一般にフェイズロックを用いる。ロックするべき別の電子回路向けに同期パターンを与えることが、USBプロトコルにおけるSYNCパターンの目的である。しかし、これは、MHzのビットストリームを解釈するのに十分な精度まで、デバイスをUSBのビットストリームへ同期させるように意図される。SYNCパターンは、2つの別々のデバイスを、多くのテスト機器および測定器によって必要とされる精度まで互いに同期させるようには意図されていない。USB規格は、デバイス間同期を扱う範囲内では、USBスピーカ対に対する出力向けのUSB-CDオーディオストリームを十分に同期させることに主としてかかわる。そのような装置の要件はkHz領域にあり、USBは、これに向けて理想的条件を与える。しかし、この規格は、100個のUSBスピーカ対を同期させるという、あり得る問題には対処しない。
上記で論じたように、USB通信は、通常の1ミリ秒のフレームの間に、または高速USB規格の場合には1ミリ秒のフレームにつき8つのマイクロフレームで、データを転送する。低速デバイスを除くすべてのデバイスに対して各フレームの初めに、またすべての高速デバイスに対して各マイクロフレームの初めに、フレーム開始(SOF)パケットが伝送される。したがって、SOFパケットは、所与のホストコントローラに接続された低速デバイスを除くすべてのデバイスに対する周期的低解像度信号の一斉通信を表す。
このSOFパケットの一斉通信が1kHzの公称周波数で起こる。しかし、USB規格は、約500ppm(百万分率)の非常に大きな周波数公差(計装基準による)を許容する。背景技術は、各デバイスに対する一斉通信であるこの低解像度周波数信号を利用してクロック同期をもたらすが、USBホストコントローラによって供給されたいくぶん曖昧な周波数でしかない。
米国特許第6,343,364号(Leydierら)は、USBトラフィックにロックする周波数の例を開示しているが、これはスマートカードリーダを対象とするものである。この特許は、USB SYNCおよびパケットのIDストリームと比較される、ローカルのフリーランクロックを教示しており、フリーランクロックの周期がこの周波数と一致するように更新されて、1.5MHzの公称周波数を有するローカルクロックを与える。これはホストPCへスマートカードの情報を読み取るのに十分な程度の同期をもたらす。この手法はスマートカードリーダを対象とするので、デバイス間同期には対処していない。さらに、1kHzまたはより優れた安定性にロックする周波数も、高精度の位相制御も、開示されていない。
米国特許第6,012,115号およびそれに続く継続の米国特許第6,226,701号(Chambersら)は、USB SOFの周期性およびタイミング向けの番号付けに対処する。これらの開示の要約で説明されているように、この発明は、コンピュータシステムが、USBホストコントローラに接続された周辺機器にUSBホストコントローラから伝送されたフレーム開始パルスを用いることにより、リアルタイム周辺デバイス内で生じた所定のイベントの瞬間の正確な測定を時間内に実行することを可能にする。
しかし、これらの手法は、USBホストコントローラ内のマスタクロックの絶対周波数を測定するためのUSBデータトラフィック内に含まれる周期的データ構造の周波数測定を行わず、また、場合によってはホスト内での追加のカウンタの供給に頼るものである。
米国特許第6,092,210号(Larkyら)は、両方のUSBホストのデータストリームへローカルデバイスのクロックを同期させるためにUSB対USBの接続デバイスを利用することによるデータ転送の目的で、2つのUSBホストを接続するための方法を開示している。ローカルクロックを同期させるためにフェイズロックループが用いられ、データ損失が生じないことを保証するためにオーバーサンプリングが用いられる。しかし、この文献は、2つのUSBホスト間での情報転送が可能になるように、データストリームを互いに同期させる(限定された精度で)ことに関するものである。この発明は、1つのUSBホストまたは複数のUSBホストへの多様なUSBデバイスの同期については教示しない。
USB規格は、オーディオ用途を念頭において書かれたものであり、米国特許第5,761,537号(Sturgesら)は、個別のクロックで2対以上のスピーカを同期させる方法を説明しており、1対がPC内のステレオオーディオ回路から動作し、他方の対がUSBによって制御される。両方のスピーカ対がそれ独自のクロックを使用するのでそれらを同期させる必要があり、この文献は、非同期クロックの間にクロックスキューが可能であるにもかかわらず、オーディオ信号の同期を維持するための1つの技術を教示する。
米国特許出願第10/620,769号は、USBの同期性バージョンを開示しており、各デバイスのローカルクロックが所与のUSBに対して任意の度合いで同期される。この文献は、複数のデバイス上で、トリガ信号によってイベントが同期して開始され得るように、USB内の各デバイスに対してトリガ信号を供給するための方法および装置も開示している。
米国特許第6,904,489号(Zarns)は、USBデバイスにリモートアクセスするための方法およびシステムを開示しており、これでは、リクエストデバイス(パーソナルコンピュータなど)がUSBデバイスに対してリクエストを出し、そのリクエストは、インターセプトされ、パッケージ化され、次いでネットワークにわたって伝送される。USBホストデバイスによってパケットが受け取られ、リクエストはパッケージを解かれ、USBデバイスによる処理のためにコントローラに渡される。
図1は、デジタルUSB 12、クロック信号および同期のバス14に接続され、かつデジタル制御されたトランスデューサ16を含む、例示の背景技術の同期性USBデバイス10の概略図である。デバイス10は、バスコネクタ18、デジタル入出力バスインターフェイス回路20、マイクロプロセッサ22、およびトランスデューサ16へトリガおよびクロック信号を含む同期情報を渡すための同期チャンネル24も含む。
デバイス10は、バスコネクタ18によって、USBデバイス10向けのUSBデータおよび制御信号を含むデジタルUSB 12へ接続されており、クロック信号および同期のバス14がクロックおよび同期信号を供給する。
米国特許出願第10/620,769号に開示された別の同期性USBデバイスが、図2に10'で概略的に示される。図1中の機構と同じものを参照するために同じ参照数字が用いられている。デバイス10'では、クロック信号は、バスコネクタ18を介してUSB 12のデータストリーム中にある情報を復号することにより、同期性USBデバイス10'に対して局所的に生成される。このデバイスでは、すべての同期は、標準型USBケーブルおよびコネクタを使用してUSB 12によってもたらされる(図1のクロック信号および同期バス14が不要になる)。同期チャンネル26は、デジタルトランスデューサ16にトリガ信号およびクロック信号を含む同期情報を供給する。
複数のUSBデバイスの各々上のローカルクロックの同期のためのこのアーキテクチャは、USBトラフィック中にある周期的データ構造に依存するものである。米国特許出願第10/620,769号の好ましい実施形態は、周波数および位相において、USBデバイスでのSOFパケットのトークンの検出にローカルクロックを基本的にロックする。
図3は、米国特許出願第10/620,769号の別の実施形態の概略図である。この実施形態では、同期チャンネル26は、USB信号トラフィックがデジタル入出力バスのインターフェイス回路20(この図中に示さず)へ通過するときにUSB 12からの情報を検出して抽出し、かつローカルクロック信号28およびローカルトリガ信号30の両方を生成することにより動作する。
この実施形態は、USBを介してトラフィックを観察し、かつSOFパケットをすべて復号するための回路を用い、これによって1ミリ秒ごとに1回パルスが生じる。制御発振器のクロック32からのローカルクロック信号28は、位相および周波数の両方でUSBの1kHzのSOFパケットの受信にロックされる。
これは、最初にクロック23からの高速のローカルクロック信号28(例えば1MHz)をSOFパケット受信の周波数(名目上1kHz)までクロック分周器34によって分周する必要がある。SOFパケットが到着するとき、整合フィルタ36はクロックsynch信号38を送り、これは位相検出器40まで通る。位相検出器40は、フィルタ42を介して制御発振器のクロック32に結合される。
ローカルクロック信号28は、次にUSBデバイス上のトランスデューサ回路(すなわち図1および図2のデジタルトランスデューサ16)に供給され、したがって、ルートハブに接続されたデバイスのすべてが、周波数においてSOFパケットのトークンを受け取るポイントへロックされることを保証する。
この装置は、数十メガヘルツのクロック周波数など任意の高周波数までローカルクロック信号を生成することができ、それによって所与のUSBに接続された各デバイスのローカルクロックが周波数において同期されることを保証することができると考えられる。米国特許出願第10/620,769号は、ホストから各デバイスまでの信号伝播時間を測定し、かつ各USBデバイスに対してクロックの位相補正を与えることよって、複数のローカルクロックをさらに位相において同期させる方法および装置も教示する。
しかし、特許出願第10/620,769号に説明された手法は、正確に知られているクロック周波数を各デバイスに供給する能力が限定されている。図3を参照することによって上記で説明される装置は、各ローカルクロックの周波数をSOFパケットのトークンの受信へロックする。SOFパケットの生成レートは、ホストPC上のローカル水晶発振器によって駆動される。これは一般に不正確であり、また、USB規格には、クロック周波数および次のSOFレートに対して非常に大きな公差がある。USB規格は、ホストコントローラが12MHz±500ppm(百万分率)すなわち12MHz±0.05%のレートでSOFパケットを送らなければならないと規定する。
これはクロックにとって非常に大きな公差である。例えば、標準的な水晶発振器は、使用可能な温度範囲にわたって約±50ppmの温度安定度で、約20ppmの中心周波数公差を有する。この公差でさえ、高精度のクロックシステムには受け入れがたいものである。時間制約型システムは、約5ppmまたはそれより優れた中心周波数公差および温度安定度を有する、温度を安定させた水晶発振器を必要とすることが多い。
米国特許出願第10/620,769号は、正確に制御された基準周波数のローカルクロックを有する特別なUSBホストコントローラを製作することによって、同期性USBクロック周波数を制御する方法も教示する。そこで、そのようなシステムは、数ppmのSOFクロック精度を有する1kHzのUSBデータストリームを生成することになる。競争が激しいパーソナルコンピュータ市場における広範な実施のためには、このデバイスは高価過ぎるように思われ、さらに、ラップトップコンピュータおよびPDA(携帯情報端末)などのシステムには、アフターマーケットのUSBホストコントローラに加えるための供給がない。
米国特許第6,226,701号(Chambersら)は、複数のカウンタを用い、かつUSBのSOFパケットからの経過時間を比較して、USB内のリアルタイムイベントに時間スタンプを押すためのシステムを開示する。このシステムは、SOFトークンによって起動されるのに、USBデバイスとUSBホストコントローラの両方の中にカウンタを必要とする。デバイス内のカウンタは、外部イベントによって起動され、次のSOFによって停止される。ホストコントローラ内のカウンタは、各SOFによってリセットされ、かつ開始される。USBホストコントローラは、(i)イベントが生じたこと、および(ii)第1のタイマのフレーム開始前の時間値、を示すデータをホストコントローラに転送する周辺デバイスに応答指令信号を送る。USBホストコントローラはホストプロセッサに割込みをかけ、周辺デバイスに関連するデータをホストプロセッサに転送する。このようにして、この文献のシステムは、外部イベントが生じてからプロセッサが第2のタイマを読み取るまでの経過時間を求めることができる。
しかし、Chambersらのシステムは基本的イベント時間スタンプを実行することができるが、USBホストコントローラの特別なハードウェア実装形態を必要とし、したがってUSBの一般的実装形態と互換性がない。その上、そのシステムは、PCの割込み機能および関連したホストPCのリアルタイムクロックのタイミング制約に依拠するものである。
米国特許出願第60/773,537号明細書 米国特許第6,343,364号公報 米国特許第6,012,115号公報 米国特許第6,226,701号公報 米国特許第6,092,210号公報 米国特許第5,761,537号公報 米国特許出願第10/620,769号明細書 米国特許第6,904,489号公報
したがって、本発明の目的は、任意数のUSBデバイスが、許容されたある最大数まで、正確に制御された任意の周波数に対してローカルクロックが位相および周波数の両方で同期されかつ起動されるやり方で動作することができるようにUSB規格を補足することである。
本発明の別の目的は、USB規格を補足する一方で、枝分かれアーキテクチャによって複数のデバイス(現行の合計127までのデバイス)を動作させる能力、電源を入れたままで交換できること、自動列挙、使いやすさ、オペレーティングシステムを跨ぐ互換性、および移植性を含む、USBの利点を保つことである。
本発明の別の目的は、すべてのUSBに適用可能なUSBホストコントローラのハードウェアの一般的実装形態を用いて、リアルタイムシステムのイベントに高精度の時間スタンプを供給することである。
第1の広範な態様では、本発明は、USBデバイスのローカルクロックの位相および周波数を制御する方法および装置を提供し、この装置は、
USBトラフィックを観察して、分配されたクロックの周波数および位相に関する情報を含む周期的データ構造をUSBトラフィックから復号するための回路と、
周期的データ構造を受け取って、少なくとも周期的データ構造から、周期的データ構造に対して周波数および位相の両方においてロックされたローカルクロック信号を生成するための回路とを備える。
したがって、周期的構造は、それ自体でクロック周波数情報を構成することなく、クロック情報用のキャリアとして働く。クロックは、キャリアと同一の周波数であるか、またはキャリア信号の周波数を変更するのに用いられた任意数の追加信号による別の周波数でよい。
実際、ローカルクロック信号は、周期的構造/キャリア信号の周波数の非整数倍(約数を含む)の周波数で生成することができ、このことは、以下に説明される本発明の他の態様の場合にもあてはまる。すなわち、ローカルクロック信号は、周期的構造/キャリア信号の周波数の固定された倍数の周波数で生成される必要はなく、むしろ、周期的構造/キャリア信号の実際の周波数に基づいて計算される周波数で生成される。例えば、周期的構造/キャリア信号の周波数が1.01kHzであるとき、本発明によれば、実質的にちょうど10MHz(10.1MHzなどの整数倍ではなく)に同期させることが可能である。
周期的データ構造を受け取ってローカルクロック信号を生成するための回路も、情報信号(マイクロコントローラからのものなど)を受け取って、少なくとも周期的データ構造および情報信号からローカルクロック信号を生成するように適合されてよい。
周期的データ構造を受け取ってローカルクロック信号を生成するための回路は、任意の周波数のクロック信号を生成するための、位相コンパレータ、制御発振器クロックジェネレータおよび周波数合成回路を含んでよい。
好ましくは、周期的データ構造は、USBのフレーム開始(SOF)パケットのトークンを含む。
第2の広範な態様によれば、本発明は、USBデータストリーム中の周期的データ構造(SOFパケットのトークンなど)の周波数を測定するステップを含む、ローカルクロック信号を生成する方法をさらに提供する。
一実施形態では、この方法は、周期的データ構造の周波数からUSBホストコントローラのクロックレートを求めるステップをさらに含む。
この広範な態様によれば、本発明は、
USBデータストリームを受け取るように適合されたUSBと、
基準信号を供給するための基準信号源と、
USBデータストリーム中の周期的データ構造(SOFパケットのトークンなど)と基準信号を比較して周期的データ構造の周波数を求めるためのタイミング回路とを備える、ローカルクロック信号を生成するための装置も提供する。
したがって、この態様では、周期的データ構造の周波数を求めることができ、この周波数は、それ自体が、例えばUSBホストコントローラのクロックレートを求めるために使用されてよい。
USBはUSBデータストリームを無線で受け取ってよく、あるいは、この装置は、USBへ接続しかつUSBデータストリームをUSBに伝送するためのUSBバスコネクタを含んでよい。
この装置は、一般にUSBデバイスの形であるが、そうである必要はない。
この装置は、複数のデバイスのうち1つだけのデバイスの周期的データ構造の周波数を測定するように適合されてよく、また、他のデバイスのローカルクロックを制御するために信号を他のデバイスに伝送するように構成されてよい。
(本実施形態および他の実施形態における)基準信号または周波数源は、ローカル基準クロックまたは外部の基準信号源(外部の基準クロックに接続するためコネクタなど)のいずれかを備えてよい。この点に関して、外部の基準クロックが利用される場合には任意に高精度のものであり得て、例えば精密周波数基準(セシウムクロックまたはルビジウムクロックなど)、全地球測位システム(GPS)時間サーバまたはIEEE-1588時間サーバの形をとることができる。
この装置は、時間スタンプラッチおよび基準時間スタンプ信号源を含んでよく、時間スタンプラッチは基準時間スタンプ信号源からのデータ信号に時間スタンプを押すように適合され、それによって時間スタンプ情報がキャリア信号の受信に同期され得る。
基準時間スタンプ信号源は、外部の基準時間スタンプ信号源に接続するためのコネクタを備えてよい。
第3の広範な態様では、本発明は、
USBホストコントローラに接続可能なUSBハブと、
基準信号を供給するための基準信号源と、
クロックレートを推定できるように、USBデータストリーム中の周期的データ構造を基準信号と比較して周期的データ構造の周波数を求めるためのタイミング回路を有してUSBハブに接続されたUSBデバイスとを備える、USBホストコントローラのクロックレートを求めるための装置を提供する。
好ましくは、この装置は、各々がUSBデータストリーム中の周期的データ構造を基準信号と比較して周期的データ構造の周波数を求めるためのタイミング回路を有してUSBハブに接続された複数のUSBデバイスを備え、クロックレートのそれぞれの推定を作成するように動作可能であり、クロックレートのそれぞれの推定を受け取ってその推定から(統計解析などによって)USBホストコントローラのクロックレートを求めるためのデータプロセッサをさらに備える。
この装置は、それぞれのUSBデバイスのタイミング回路またはデータプロセッサあるいはその他におけるクロックレートの推定を作成してよい。
基準信号源は、任意の高精度のものでよく、例えば、共通の全地球測位システム(GPS)時間サーバまたは各USBデバイスに対応するそれぞれのGPS時間サーバの形をとることができる。
したがって、GPS時間サーバは、地球全体にわたって、基準クロック信号を任意の高精度で供給することができ、また位相確度を任意の高精度で供給することができるが、他の任意の基準クロック信号(好ましくは外部から供給される)も適当である。広く分散した同期式USBシステムを確保するために、基準クロック源として任意の外部の分散型基準タイミングシステム(IEEE-1588として知られている同期式イーサネット規格など)も用いられてよいことを理解されたい。
第4の広範な態様では、本発明は、複数のUSBデバイスに供給されて各USBデバイスがそれ自体で(互いに密接に関係することによって)外部基準クロック信号に同期することを可能にする外部基準クロック信号を備えた複数のUSBデバイスを同期させるための同期性USBを提供する。
したがって、この態様によれば、基本的に無制限の数のUSBデバイスが同期され得て、その結果、同期性USBの同期式チャンネルの総計は、USB規格によって課された現行の制限127デバイス(ハブを含む)を越えて増加され得る。これによって、USBは、各々がそれ自体その外部基準信号に同期することが可能になる。
本発明のこの態様によれば、複数のUSBデバイスに外部基準クロック信号を供給するステップを含む、複数のUSBデバイスを同期させる方法が提供され、
USBデバイスは、それら自体で(互いに密接に関係することによって)外部基準クロック信号に同期する。
この方法は、複数の同期性USBに関するイベントを同期させるステップを含んでよい。好ましくは、この方法は、前記USBデバイス上に、さらなる複数のUSBデバイスに通信する情報を含み、その結果、前記さらなるUSBデバイスは、リアルタイムで、またオペレータによって要求されたときに、起動されてコマンドまたは関数を実行する。
したがって、この方法によれば、デバイスの数を増やすことができ、またUSBが同期性システムにおいてサポートすることができるデバイスの物理的離隔距離を延長することができる。USBは、現在127のデバイス(ハブを含む)をサポートすることができ、少数の例外を除いて30mまでの範囲に制限されている。この態様では、(例えば)GPSまたはIEEE-1588の信号が、ローカルタイミング基準として複数のUSBに用いられ得て、そのため、基本的に無制限の数のデバイスが、それらの位置に関する制限なしでシステムに含まれてよい。したがって、世界的に同期されたシステムが供給され得る。
第5の広範な態様では、本発明は、
USBに関連したアップストリームのUSBデータトラフィックを監視し、かつ復号するステップと、
前記アップストリームの情報から特定の情報パケットを抽出するステップと、
特定の情報パケットのコンテンツに従って少なくとも1つのアクションを始動するステップとを含む、USB(制御用途を含む時間制約型の用途向けのものなど)の通信待ち時間を短縮するための方法を提供する。
特定の情報パケットは、作用される前にローカルプロセッサによって処理されてよい。
一実施形態では、そのアクションは、1つまたは複数の他のデバイス(すなわちUSB環境外のもの)との通信を含む。この通信は、他のデバイスへのデータの伝送を含んでよい。データは、シリアル通信チャンネル、パラレル通信チャンネル、有線通信チャンネル、光ファイバ通信チャンネルおよび無線通信チャンネルを含む任意の通信チャンネルによって通信されてよい。
この態様は、
アップストリームポートを有するUSBデバイスと、
アップストリームポート上のUSBデータトラフィックを観察し、USBトラフィックの中にあるデータ構造を復号し、かつデータ構造のコンテンツに従って少なくとも1つのアクションを始動するためのデータ復号器およびプロセッサとを備える、待ち時間が短縮されたUSBも提供する。
したがって、この態様によれば、新規の部類のUSB制御デバイスが可能であり、これによってUSBに関する待ち時間の通常の制限が弱められる。
第6の広範な態様では、本発明は、
USBホストシステムと、
同期性マルチチャンネルUSBと、
各々がローカルクロックおよび絶対時間レジスタを有してUSBホストシステムに結合された複数のUSBデバイスとを備える、同期性イーサネットに同期することができる同期性マルチチャンネルUSBを提供し、
USBデバイスのローカルクロックが、周波数および位相において同期され、USBデバイスの絶対時間レジスタが、それぞれのローカルクロックによって同期されかつ同期読出しされ、USBが同期チャンネルを含み、それによって、同期性USBと同期性イーサネットの間でクロック周波数および時間スタンプ情報を通信することができ、また、データ通信用のデータチャンネルが同期性イーサネットと通信することができる。
同期チャンネルは、同期性USBに接続された1つまたは複数のUSBデバイス、USBハブとUSBデバイスの複合機能、または同期性USB上のUSBデータトラフィックを観察するが同期性USBに接続された構成要素ではないデバイスを備えてよい。
別の広範な態様では、本発明は、少なくとも1つ(いくつかの実施形態では複数)のローカルクロックを備えるUSBデバイスを提供し、ローカルクロックがUSBに対して同期され、それによって、ローカルクロックは任意の正確な周波数および位相に制御することができる。
USBデバイスは、ローカルクロックをUSBデータストリーム中に含まれるキャリア信号と同期させるためにシンクロナイザを含んでよく、ローカルクロックの周波数および位相の精度は、USBホストコントローラのクロックの精度によって制限されることがない。これ(および他の実施形態)では、キャリア信号は、USBデータのOUTトークン、INトークン、ACKトークン、NAKトークン、STALLトークン、PREトークン、SOFトークン、DATA0トークン、DATA1トークンまたはUSBデータパケット中のプログラマブルビットパターン系列を含んでよい。
本発明の上記態様の各々の様々な特徴は、所望の通り組み合わせることができることに留意されたい。
さらに、本発明による装置は様々なやり方で具体化することができる。例えば、そのようなデバイスは、プリント回路またはプリント配線板上の複数の素子の形で、セラミック基体上または半導体レベルで、すなわち単一のシリコン(または他の半導体材料)チップとして構成することができる。
次に、本発明がより明らかに確認されるように、添付図面を参照しながら、実施形態が例として説明される。
本発明の第1の実施形態によるUSBデバイスが、USB 52と共に図4に50で概略的に示される。この実施形態では、USBデバイス50のローカルクロックが任意の度合いで周波数制御されることを可能にするためのクロック同期情報は、キャリア信号によってUSBデバイスに渡され(以下で説明する)、次いでUSBデータストリームから復号される。
図4を参照すると、USBデバイス50は、バスコネクタ54、デジタル入出力バスインターフェイス回路56、マイクロコントローラ58、デジタル制御されたトランスデューサ60およびシンクロナイザの形の同期回路62を含む(以下でより詳細に説明する)。デジタル入出力バスインターフェイス回路56は、バスコネクタ54で検出されたUSBデータのためのトランシーバとして働き、USBデータをマイクロコントローラ58へ渡す。マイクロコントローラ58は、正確な周波数合成のためにシンクロナイザ62へ情報64を供給し、かつデジタル制御されたトランスデューサ60に直接制御チャンネル66を与える。
上記で言及されたキャリア信号は周期的データ構造であり、したがってキャリア信号として用いることができ、この実施形態および以下で説明される他の実施形態ではSOFパケットのトークンの形をしており、これは、所与のホストコントローラに接続された低速デバイスを除くすべてのデバイスに対して一斉通信される、周波数が不明瞭な周期的低解像度信号を供給する。USBトラフィックから一旦復号されたキャリア信号は、換算係数と結合されて同期情報を生成し、その結果、クロック周波数の正確な制御を伴ってローカルクロック信号を合成する。
したがって、図5は、この実施形態のシンクロナイザ62の詳細な概略図である。シンクロナイザ62は、整合フィルタ68を含み、バスコネクタ54を介してUSBトラフィックを観察し、前述の周期的キャリア信号(この実施形態ではSOFパケットのトークンの形である)を復号し、ローカルクロック合成回路72にクロック同期信号70を送る。
マイクロコントローラ58によって供給された情報信号76を用いて復号されたキャリア信号(すなわちクロック同期信号70)から、周波数が正確なローカルクロック信号74が合成される。この実施形態では(一般に)、ローカルクロック信号74は、クロック同期信号70が有するより数桁高い周波数を有し、周波数分周器78によって分周されて、クロック同期信号70と周波数が近い分周された信号80になる。
ローカルクロック合成回路72は、その入力信号(すなわちクロック同期信号70および分周された信号80)を、マイクロコントローラ58によって供給された情報信号76に従って操作する。結果として生じる2つの出力信号82および84は、位相コンパレータ86に渡される。位相コンパレータ86は、フィルタ88を介して制御発振器クロックジェネレータ90に結合される。
次いで、トリガ回路向けのクロック信号として正確なローカルクロック信号74が用いられて、位相が正確なトリガ信号92を生成する。シンクロナイザ62はさらなる整合フィルタ94を含み、これもUSBバスコネクタ54を介して受け取られたUSBデータを復号し、USBデータストリームからの必要なトリガ信号を検出すると直ちにトリガイネーブル信号96を生成する。トリガイネーブル信号96はデータラッチ98に渡され、データラッチ98は、周波数が正確なローカルクロック信号74を用いてトリガイネーブル信号96を計測することにより、位相が正確なトリガ信号92を形成する。
したがって、この実施形態によれば、確率的ジッタが数ナノ秒以下と低く、任意に高い周波数精度を有する数十メガヘルツのクロック周波数など、任意の高周波数まで安定したクロック信号を生成することが可能である。
上で論じられたように、SOFパケットの一斉通信は1kHzの公称周波数で起こるが、この信号の実際の周波数は、USBホストコントローラクロックの精度によって決定される。本発明の第2の実施形態によるUSBデバイス100は、SOFパケットの周波数を正確に測定することによりUSBホストコントローラの実効的なクロックレートを求めるための方法を用いる。次いで、この信号は、ホストコントローラのクロックレートに関する情報のためのキャリアと考えることができ、キャリア信号は接続されているすべてのUSBデバイスに一斉通信される。したがって、通常のUSBプロトコルに組み込まれているキャリア信号が復号され、その周波数が、USBホストコントローラのクロックの実効的なクロックレートを求めるために測定される。
したがって、図6は、本発明の第2の実施形態によってUSBを同期させるためのデバイス100の概略図であり、デバイス100は、USBへ接続するためのUSBバスコネクタ102を含む。デバイス100は、外部基準クロック信号を受け取るための第1のコネクタ104および外部の基準時間スタンプ信号を受け取るための第2のコネクタ106を有し、それによって、デバイス100はSOFパケット信号(またはキャリア信号)の周波数を測定する。デバイス100は、USBデータストリームを観察するためのUSB監視回路108、マイクロコントローラ110、タイミング測定回路112、およびマイクロコントローラ110とタイミング測定回路112の間の通信用の情報バス114(アナログバスおよび/またはデジタルバスを内蔵する)を含む。
デバイス100は、SOFパケットのキャリア信号周波数を求め、それに関連してUSBホストコントローラの周波数を求め、また、マイクロコントローラに周波数に関する情報を返し、実際のところホストPCに返すことができるが、この手法が非USBデバイスに対しても用いられてよいことが当業者には明白であろう。例えば、この手法は、単にUSBデータストリームを検出し復号するだけの非USBデバイスで用いられてよい。デバイス100は、SOFパケットのキャリア信号周波数を求めるが、外部基準クロック信号を受け取るためのコネクタ104および外部の基準時間スタンプ信号を受け取るためのコネクタ106がどちらも双方向ポートであり得ることが当業者には明白であろう。そのような双方向ポートは、外部装置へ、または外部装置から、クロックおよびデータ信号(時間スタンプ情報を含む)を送信または受信することができる。そのような信号は、外部装置の制御にも用いることができることが当業者に明白であろう。
図7は、タイミング測定回路112のより詳細な概略図である。タイミング測定回路112は、USBデータストリーム中のキャリア同期信号を復号して復号されたキャリア信号118を出力するための整合フィルタ116、および復号されたキャリア信号118をローカル基準信号122と比較する周波数測定回路120を含む。周波数測定回路120は、キャリア信号の絶対的クロック精度を示し、したがってUSBホストコントローラのクロックレートも示す、クロック精度情報信号124を生成する(このクロック精度情報信号124は、図6の情報バス114を介して渡される)。マルチプレクサ126は、マイクロコントローラ110によって情報バス114を介して制御され、ローカル基準クロック130によって生成されたローカル基準クロック信号128または外部基準信号132(第1のコネクタ104によって供給されたもの)を選択し、ローカル基準信号122を供給する。
復号されたキャリア信号118も時間スタンプラッチ134によって用いられ、時間スタンプラッチ134は、外部時間スタンプの第2のコネクタ106から受け取られて138で情報バス114へ出力されるデータ信号136に時間スタンプを押す。このようにして、外部ソースからの絶対時間スタンプ情報がキャリア信号の受信に同期され得る。
図8は、本発明の第3の実施形態によるUSBシステム140の概略図であり、USBホストコントローラ144を有するパーソナルコンピュータ142が、USB 148で単一のUSBデバイス146に接続されている。USBデバイス144はタイミング測定回路150を含み(図7のタイミング測定回路112のように)、内部基準クロック(図7のローカル基準クロック130に相当する)を任意の度合いで用いて、繰返し型キャリア信号の周波数を測定する。したがって、この実施形態では、USBホストコントローラ144のクロックキャリア信号の絶対周波数は、USBデバイス内に単独で含まれる回路(すなわちタイミング測定回路150)によって求められる。さらに、この実施形態はパーソナルコンピュータを含むが、代替の類似の実施形態は、その代りに、USBホストコントローラまたは可搬(on-the-go)USBコントローラを含む、携帯情報端末(PDA)または移動通信デバイスなど任意のデバイスを含んでよいことが当業者には明白であろう。
図9は、本発明の第4の実施形態によるUSBシステム160の概略図であり、USBホストコントローラ164を有するパーソナルコンピュータ162が、USB 168でUSBハブ166に接続されている。USBハブ168は、複数のUSBデバイス170への接続性をもたらし、USBデバイス170の各々はタイミング測定回路(USBシステム140のタイミング測定回路150に相当する)を含み、内部基準クロック(図7のローカル基準クロック130に相当する)を繰返し型キャリア信号の周波数を測定する。USBデバイス170の各々は、ある有限の誤差を伴ってキャリア信号の周波数を測定する。誤差が基本的にランダムであるので、USBデバイス170からの測定を分析するのに統計解析が用いられ、それによってキャリア信号周波数の測定における全体的な不確実性が低減される。
したがって、この実施形態では、USBホストコントローラ164のクロックキャリア信号周波数の絶対周波数は、単一のUSBデバイスで達成可能な精度より高い精度で求められる。
図10は、本発明の第5の実施形態によるUSBタイミングハブ180の概略図である。USBタイミングハブ180は、ホストコントローラ(またはUSBタイミングハブ180とホストコントローラの間の中間のアップストリームデバイス)に接続するためのアップストリームポート182、複数のダウンストリームポート184(USB拡張をもたらす)、外部基準クロック入力ポート186、および外部基準時間スタンプ入力ポート188を有する。
USBアップストリームポート182は、複数のダウンストリームのUSBポート184へのUSB拡張をもたらすUSBハブ回路190に接続され、ダウンストリームのUSBポート184のうち1つは、内部USBデバイス192に向けられる。内部USBデバイス192は、通信バス196を介してタイミング測定回路194(図6のタイミング測定回路112に相当する)に接続される。タイミング測定回路194は、内部のローカル基準クロック(図7のローカル基準クロック130に相当する)を含み、外部基準クロック入力ポート186および外部時間スタンプ入力ポート188の両方から情報を受け取る。タイミング測定回路194は、USB監視回路198を用いてアップストリームポート182上のUSBデータトラフィックも観察し、キャリア信号の周波数を測定するために、この信号199を用いてUSBホストコントローラのクロックキャリア信号を復号する。
したがって、USBタイミングハブ180は、USBホストコントローラの絶対的クロックレートを求めるための回路194(図7を参照して説明されたタイプのもの)および通常のUSBハブ回路190の両方を含む。そのようなハイブリッドデバイスは、USBホストコントローラのクロックキャリア信号の周波数情報およびUSB拡張の両方をもたらす。
本発明の第6の実施形態によれば、USBシステムの同期式チャンネルの総計は、USB規格(現在はハブを含んで127デバイス)によって許容されたものを越えて拡張することができる。この実施形態によって、USBの各々に共通の外部基準クロック信号を与えることにより、複数の個別のUSBが同期することが可能になる。次いで、各USBのUSBホストコントローラのクロックキャリア信号を測定するために共通の基準クロック信号が用いられ、次にその情報を用いて、基本的に任意の度合いでUSBのうち任意のものに接続された各USBデバイス上のローカルクロックに対して既知の周波数を合成する。
したがって、図11は、USBの同期式チャンネルの総計を増加させるための第6の実施形態によるシステム200の概略図であり、複数の同期性USBが任意の度合いで同期する。システム200は、各々がUSBホストコントローラ204を含む複数のパーソナルコンピュータ202を含む。各パーソナルコンピュータ202は、ハイブリッドUSBタイミングハブ206(図10に180で説明され示されたタイプのもの)に接続されており、各USBタイミングハブ206は、複数のUSBデバイス210への拡張を可能にするために複数の同期性USB 208を与える。外部基準クロック212は、USBタイミングハブ206によって同期性USB 208へ信号を供給する。代替装置では、システム200はUSBタイミングハブ206を省略し、USBデバイスが外部基準クロック信号を直接受け取るように構成される。しかし、USBタイミングハブ206を使用するのが好ましい。
本発明の第7の実施形態によれば、同期性USBに、周波数および時間スタンプが任意の度合いに正確な外部基準クロック信号が備わっている。これらの信号によって、USBが任意の精度で同期することが可能になる。この実施形態は、外部同期基準として外部の全地球測位システム(GPS)時間サーバを用いる。GPS時間サーバの基準クロック信号は衛星通信によって送られる。その上、GPS時間サーバは、任意の度合いに正確な絶対的時間スタンプ情報を、場所に関係なく基本的にどこへでも送ることができる。
したがって、図12は、USB 222がGPS時間サーバ224と同期するシステム220の概略図である。システム220は、同期式USB 222に接続されたUSBホストコントローラ228を含むパーソナルコンピュータ226を含み、同期式クロックの周波数は任意の度合いに正確である。
パーソナルコンピュータ226のUSBポート230はUSBタイミングハブ232に接続され、このハブは、追加のUSBデバイス236を接続するためのダウンストリーム拡張ポート234を与える。USBタイミングハブ232(図10に180で説明され示されたタイプのもの)は、基準クロック信号242を受け取るためのポート238およびGPS時間サーバ224からの時間スタンプ情報244を受け取るためのポート240も有する。GPS時間サーバ224は、GPSの時間および位置の情報を受け取るためのアンテナ246に接続される。
この実施形態では、世界的に同期された外部基準クロックおよび時間信号を与えるためのその他の手段が、本発明の範囲から逸脱することなく用いられ得ることが理解されよう。
したがって、図13は、この実施形態によって世界的に同期されたUSB 250の概略図である。世界的に同期されたUSB 250は、様々な位置252に配置された複数のUSBを備え、その各々が図12に222で示されたタイプのものであり、このため、各々が別々のGPS時間サーバによって同期する。複数のGPS時間サーバは、衛星通信によって、周波数が基本的に任意の度合いでロックされた基準クロック信号を供給する。その上、複数のGPS時間サーバは、各々がそれぞれのUSBタイミングハブへ、任意の度合いに正確な絶対時間スタンプ情報を、場所に関係なく地球上のどこへでも送る。
したがって、そうでなければ無関係な複数のUSBが同期する。そのようなシステムは、地球上のどんな場所でも、広く分散した同期式USB向けの正確な同期が可能である。これは、所望の数の同期性USB(図12の222)を加えることにより、無制限のチャンネル総数も可能である。
本発明の第8の実施形態によれば、同期性USBは、同期性イーサネット(すなわちイーサネットプロトコルによる内部データ通信のネットワーク)と同期することができる。この実施形態では、同期性USBには、同期性イーサネットからの、IEEE-1588高精度時間プロトコルによるタイミング情報を含む外部信号が備わっている。前記外部信号は、イーサネット通信経路および高精度時間プロトコル経路の両方を含む。このようにして、データおよびタイミング情報の両方がUSBとイーサネットシステムの間で通信され得る。
したがって、図14は、イーサネット264と同期するUSB 262の概略図260である。同期性イーサネット264は、同期されるべき複数のデバイス266およびイーサネット境界クロック268を含む。境界クロック268は、従来のイーサネットスイッチおよびルータに存在する待ち時間およびタイミングジッタを補償するばかりでなく、デバイス間のイーサネット接続も行う。同期性USB 262は、USBホストコントローラ272を有するパーソナルコンピュータ270を含み、ホストコントローラ272にはハイブリッドUSBタイミングハブ274が接続されている。USBタイミングハブ274は、複数のUSBデバイス276への接続性の拡張をもたらす。USBタイミングハブ274は、同期式イーサネット264へデータおよびタイミング情報280を通信するためのIEEE-1588適合ポート278を含む。
IEEE-1588高精度時間プロトコルは、ネットワークのどのノードがタイムベースマスタか判断するためのプロトコルを含む。すべてのデバイスクロックの絶対精度次第で、同期式イーサネット264または同期式USB 262のどのノード(すなわちデバイス266)もタイムベースマスタクロックになり得ることが当業者には明白であろう。
図15は、図14のUSB 262のUSBタイミングハブ274の詳細な概略図である。ハイブリッドUSBタイミングハブ274は、ホストコントローラ272に接続するためのアップストリームポート292(またはUSBタイミングハブ274とホストコントローラの間の中間のアップストリームデバイス)、複数のダウンストリームポート294(USB拡張をもたらす)、および同期式イーサネットへの接続のための外部ポート278を有する。
USBタイミングハブ274は、USBアップストリームポート292が接続されているUSBハブ回路298を含み、この回路は、複数のダウンストリームUSBポート294へのUSB拡張をもたらし、ダウンストリームのUSBポート294のうち1つは、内部USBデバイス300に向けられる。内部USBデバイス300は、通信バス304を介してタイミング測定回路302(図6のタイミング測定回路112に相当する)に接続される。
タイミング測定回路302は、USB監視回路306によってアップストリームポート292上のUSBデータトラフィックも観察し、キャリア信号の周波数を測定するために、USB監視回路306からの信号308を用いてUSBホストコントローラのクロックキャリア信号を復号する。タイミング測定回路302は、内部のローカル基準クロック(図7のローカル基準クロック130に相当する)を含み、また、クロック制御チャンネル312を介して、追加のローカルクロック310に対して情報の受信または送信も行う。このようにして、ローカルクロック310またはタイミング測定回路302の形をしているクロックのいずれかが、キャリア信号周波数を求める用途向けのローカルマスタクロックになり得る。
USBタイミングハブ274は、外部ポート278が接続されている同期式イーサネットコントローラ314を含み、これが外部イーサネット接続をもたらし、IEEE-1588高精度時間プロトコルに対応する。同期式イーサネットコントローラ314は、外部イーサネット(図14に264で示される)と内部USBデバイス300の間のデータの通信のためのデータチャネンル316を有する。このようにして、外部の同期式イーサネット264から、同期式イーサネットコントローラ314および内部USBデバイス300を介して、パーソナルコンピュータ(図14の270)へデータが転送される。
同期式イーサネットコントローラ314は同期チャンネル318も含み、これを介してローカルクロック310が外部イーサネット264と同期することができる。このようにして、同期式イーサネットコントローラ314とローカルクロック310の間でタイミング情報が渡され、それによって、両インターフェイスの最善のものを用いて同期性のハイブリッドUSB/イーサネットシステムをもたらす。イーサネットは、接続性は広範であるが同期能力が限定されており、一方USBは精密なローカル同期ネットワークをもたらす。
本発明の第9の実施形態によれば、USBの通常の待ち時間遅れ(Windows(登録商標)オペレーティングシステムの通常30ミリ秒のスレッドサイクル時間が意味する30ミリ秒の時間フレームなど)のない制御経路をもたらすUSBが与えられる。したがって、図16は、USB制御ループの待ち時間を短縮するための追加のデータ経路を与える、この実施形態によるハイブリッドUSBハブ330の概略図である。USBハブ330は、ホストコントローラに接続するためのアップストリームポート332(またはハイブリッドUSBハブ330とホストコントローラの間の中間のアップストリームデバイス)、複数のダウンストリームポート334(USB拡張をもたらす)、ならびに外部のインターフェイス、装置またはトランスデューサへの接続のための外部制御ポート336を有する。
USBハブ330は、複数のダウンストリームUSBポート334へのUSB拡張を与えるUSBハブ回路338(アップストリームポート332に接続される)、およびダウンストリームUSBポート334のうち1つが向けられる内部USBデバイス340も有する。USBハブ330は、通信バス344によって互いに接続される内部USBデバイス340とデータ復号器およびプロセッサの342を含む。
データ復号器およびプロセッサの342は、USB監視回路346を用いてアップストリームポート302上のUSBデータトラフィックを観察し、生じる信号348を用いてUSB通信を復号する。データ復号器およびプロセッサの342と外部制御ポート336の間の通信は、インターフェイス350によって制御される。インターフェイス350は、イーサネットインターフェイス、シリアル通信インターフェイス(SPI(シリアルペリフェラルインターフェイス)バス、CAN(コントローラエリアネットワーク)、ProfiBus(プロセスフィールドバス)またはUSB(可搬USBを含む)など)、パラレル通信インターフェイス(セントロニクス(商標)パラレルポートまたはIDE(Integrated Drive Electronics)バスなど)であり得る。その上、外部制御ポート336は、シングルエンドまたは差動の信号を供給することができ、銅ケーブル、光ファイバケーブル、無線通信チャンネル他のいずれにせよ任意の所望の形式の接続に適合することができる。
このようにして、ホストコントローラとダウンストリームポート334へ接続された任意のUSBデバイスの間で伝送されるデータは、USBハブ330でインターセプトおよび解釈され、外部制御ポート336を介して直ちに外部装置を制御するのに用いられ得る。これは、USBの通常の通信および制御ループの待ち時間を回避する。
本明細書に説明された本発明の様々な実施形態はハイブリッドのUSBハブを含むが、これらの技術はUSBハブに用いられる必要はなく、実際には、少なくともUSBのデータ流れを検出し、そこに含まれている情報に基づいて作動する目的でUSBに接続される任意のデバイスで用いられてよいことが当業者には明白であろう。
したがって、本発明の第9の実施形態の変形形態によれば、制御ループ応答が任意の短時間に短縮されることを可能にする追加のデータ経路を有するハイブリッドUSBハブ(図16のUSBハブ330に相当する)を有するシステムが提供される。図17は、USB監視回路360(図16のUSBハブ330のUSB監視回路346に相当する)の概略図であり、USB監視回路360は、バスのホストコントローラ側へ接続するためのアップストリームポート362、バスのデバイス側へ接続するためのダウンストリームポート364、USBアップストリームポート362に存在するUSBデータストリームの複製を伝送するためのUSBデータ監視ポート366、回路内部のデータ経路を制御するためのデータスイッチ制御ポート368、双方向データポート370およびバッファ回路372を有する。バッファ回路372は、USBデータ信号374(ホストコントローラと接続されたデバイスの間の双方向通信を成す)を観察し、そのバッファ付き複製信号376を供給する。複製信号376は、USB上に存在する双方向通信の正確なコピーであり、USBデータ監視ポート366上を伝送されるが、これは一般に図15の信号308に相当する。
したがって、USB監視回路360は、USBデータパケットをすべて監視し、外部回路用にUSBデータ信号374のバッファ付き複製信号376を供給することができる。バッファ付き複製信号376は、USBデータ中のホストコントローラからの周期信号構造を復号するための外部回路によって、USBホストコントローラのクロックレートに関する情報を含むキャリア信号を識別するのに用いられ得る。バッファ付き複製信号376も、ホストコントローラに向かってアップストリームへ通過するときに、すべてのダウンストリームUSBデバイスからの情報を復号するのに用いることができる。このようにして、ダウンストリームデバイスからの情報に対して、ホストコントローラおよび関連するオペレーティングシステムが先ずこのデータを処理しかつ作用する必要はなく、ダイレクトアクションをとることが可能である。
USB監視回路360は、USBデータスイッチ378(実際にはUSBデータ信号は差動であるが、話を簡単にするために、図17では簡単な一対の単極スイッチとして示される)およびUSBデータスイッチ378を制御するためのデータコントローラ回路380を含む、USB制御部ループ待ち時間を切り換えかつ低減する高度なデータ管理のための追加の回路も含む。USBデータスイッチ378は、アップストリームスイッチ382およびダウンストリームスイッチ384を含み、アップストリームポート362からのUSBデータ信号374をダウンストリームポート364へ、直接(図17に示される構成)、あるいは双方向データポート370を介して外部回路からの双方向データストリーム386を利用して、同期して向けるように構成される。USBデータスイッチ378はバッファ付きの複製信号376にアクセスする。また、データコントローラ回路380は、データスイッチ制御ポート368によって構成される。このようにして、USBデータスイッチ378は、監視されたUSBデータ信号374と同期して切り換えることができる。
また、USB監視回路360は、USBデータストリーム中にデータを挿入するように、それ自体を動的に構成することもできる。ホストコントローラからデバイスへのメッセージは、USB監視回路によってインターセプトされ変更されてよい。このようにして、既知のデータパケットサイズを有する特定のUSBデバイスの定期的ポーリングをもたらすようにソフトウェアを構成することができる。定期的にポーリングされた特定のパケットのサイズにアクセスするUSB監視回路は、直接接続を同期してバイパスし(すなわちUSBデータスイッチ378の図17に示される構成)、トランザクションのペイロードフィールドにデータを挿入することにより、トランザクションのペイロード中にデータを挿入することができる。
図18Aは、378'でペイロードデータ388をダウンストリーム挿入するための図17のUSBデータスイッチ378の構成を示し、図18Bは、378"でペイロードデータ390をアップストリーム挿入するための図17のUSBデータスイッチ378の構成を示す。データのダウンストリーム挿入中、ホストがトランザクションパケットのヘッダ情報を伝送する間は、スイッチが図17の378で示されるように最初に構成される必要があるが、ペイロードおよびCRCデータ388を挿入するために図18Aの構成378'へ切り換わる。データのアップストリーム挿入については、デバイスは、アップストリームのトランザクション全体(ヘッダを含む)の伝送のための図18Bの構成378"に切り換える前に、ホストコントローラからのポーリングリクエストを検出するまで待つ。あるいは、デバイスは、図18Bの構成378"に切り換えてペイロードデータ390を挿入する前に、アップストリームトランザクションパケットのヘッダがアップストリームを通過するのを待ってよいことに留意されたい。
図18Cは、ダウンストリームデータ挿入(図の上側)およびアップストリームデータ挿入(図の下側)のための概略のタイミング図であり、USBデータスイッチの構成を示す。
本発明の第10の実施形態によれば、同期性イーサネットと同期するハイブリッドUSBホストコントローラが提供され、接続された同期性USBも同期性イーサネットと同期することを確実なものにする。ハイブリッドUSBホストコントローラには、同期性イーサネットからの、IEEE-1588の高精度時間プロトコルによるタイミング情報を含む外部信号が備わっている。外部信号は、イーサネット通信経路および高精度時間プロトコル経路の両方を含む。このようにして、データおよびタイミング情報の両方が、ハイブリッドUSBホストコントローラとイーサネットシステムの間で通信され得る。
この実施形態では、ハイブリッドUSBホストコントローラは内蔵のマイクロコントローラを含み、そのため、ホストパーソナルコンピュータに依存しないスタンドアロンのデバイスである。ハイブリッドUSBホストコントローラは、標準的USBホストコントローラ、可搬USBホストコントローラ、無線USBホストコントローラまたは任意の他の形式のUSBホストコントローラを含んでよい。
図19は、この実施形態によるシステム400の概略図であり、スタンドアロンのUSB 402(すなわち、内蔵コントローラを含んで、パーソナルコンピュータへの接続を必要としないもの)およびイーサネット404を備え、これらは互いに同期する。イーサネット404は、一般にイーサネット境界クロック406および同期されるべき複数のデバイス408を含む。境界クロック406は、従来のイーサネットスイッチおよびルータに存在する待ち時間およびタイミングジッタを補償するばかりでなくデバイス間のイーサネット接続も行う。USB 402は、ハイブリッドUSBホストコントローラ410および複数のUSBデバイス(またはさらなる拡張のためのUSBハブ)412から成る。
この実施形態では、ハイブリッドUSBコントローラ410は、複数のダウンストリーム拡張ポートを与える内蔵のUSBハブ機能を含む。ハイブリッドUSBコントローラ410は、イーサネット404へデータおよびタイミング情報416を通信するためのIEEE-1588適合ポート414も含む。
図20は、図19のハイブリッドUSBホストコントローラ410の、より詳細な概略図である。ハイブリッドUSBホストコントローラ470は、複数のダウンストリームポート472(USB拡張をもたらす)、内蔵コントローラ474、USBハブ回路478およびUSBマスタクロック回路480を有する。コントローラ474は、内蔵マイクロコントローラ482、外部インターフェイス回路484およびUSBホストコントローラ486を有する。USBホストコントローラ486は、クロックバス488を介して複数のダウンストリームのUSBポート472およびUSBマスタクロック回路480へのUSB拡張をもたらすUSBハブ回路478に接続される。
USBマスタクロック回路480は内部ローカル基準クロック490を含み、また、クロック制御チャンネル494を介して、追加のローカルクロック492(これもハイブリッドUSBホストコントローラ410の一部であり、同期式イーサネットIEEE-1588のクロックの形をしている)に対して情報の受信または送信を行う。ハイブリッドUSBホストコントローラ410は、外部ポート414が接続されている同期式イーサネットコントローラ496をさらに含み、外部イーサネット接続をもたらし、かつIEEE-1588高精度時間プロトコルに対応する。同期式イーサネットコントローラ496は、外部イーサネットと内蔵コントローラ474の外部インターフェイス回路484の間のデータの通信のためのデータチャネンル498を有する。したがって、同期式イーサネットコントローラ496および内蔵コントローラ474によって、外部の同期式イーサネットと同期性USBの間に双方向データリンクがもたらされる。
同期式イーサネットコントローラ496は、同期式イーサネットクロック492と通信するためのクロック制御チャンネル500も有する。IEEE-1588クロック492は、バスマスタ(他の接続されたIEEE-1588クロックより正確な場合)またはスレーブクロック(接続されたより正確なIEEE-1588クロックに従属して作動する)でよい。ハイブリッドUSBホストコントローラ410は、内蔵コントローラ474の外部インターフェイス回路484と内蔵コントローラ474によるクロック信号の制御を可能にするUSBマスタクロック回路480の間に制御チャンネル502を含む。同様に、ローカル基準クロック490またはIEEE-1588クロック492のいずれか、より正確な方が、システムマスタクロックとして働く。
USBホストコントローラ486のマスタタイミング基準として、クロックバス488からのクロック信号が用いられる。このクロック信号は、同期式USB制御のために、周波数が正確な時間基準を任意の精度で供給するように、USBマスタクロック回路480で正確に調整することができる。したがって、USBデータストリーム中の周期的信号構造(フレーム開始トークンなど)の周波数は正確に制御することができ、正確に制御されたタイミングを有する同期性USBをもたらす。このようにして、パーソナルコンピュータを必要とせずに同期性のハイブリッドUSB/イーサネットシステムが実現する。また、図16および図17の実施形態の文脈で説明された手法によれば、この装置では待ち時間が改善され得ることが明白であろう。
本発明の第11の実施形態によるUSBデバイスが、USBと共に図21の510で概略的に示されている。この実施形態では、同期性USBデバイスは、リアルタイムの概念(またはリアルタイム性を示すデータ)を多少有すると言ってよい。時間のこの概念またはデータは、USBバストランザクション、USBデータストリームおよびホストシステムから受け取られた情報から導出される。リアルタイムについてのそのような概念は、同一のUSBに接続されたすべてのデバイスによって共有される。
したがって、図21を参照すると、USBデバイス520は、USB 524に結合するためのバスコネクタ522、デジタル入出力バスインターフェイス回路526、マイクロコントローラ528、デジタル制御されたトランスデューサ530、シンクロナイザの形の同期回路532(図5の同期回路62に相当する)、およびリアルタイムクロック534を含む。デジタル入出力バスインターフェイス回路526は、バスコネクタ524で検出されたUSBデータ用のトランシーバとして働き、USBデータをマイクロコントローラ528へ渡す。マイクロコントローラ528には、シンクロナイザ532に対する情報チャンネル536およびデジタル制御されたトランスデューサ530に対する直接制御チャンネル538が備わっている。
USBデバイス520は、USBコネクタ522に回路540を有し、これがUSB 524上のUSBデータトラフィックを検出し、かつUSBデータトラフィックの複製542を生成してシンクロナイザ532へ渡す。シンクロナイザ532(図4のシンクロナイザ46に相当する)は、同一のUSB 524に接続された任意の類似のUSBデバイスのクロックの周波数および位相と同期することになるローカルクロック信号544を、任意の精度に制御された周波数および位相で生成する。ローカルクロック信号544は、その動作を制御するためにデジタル制御されたトランスデューサ530に渡され、かつリアルタイムクロック534に渡される。
リアルタイムクロック534は絶対時間に同期され得て、次いでローカルクロック信号544によって同期読出しされる。このようにして、リアルタイムについての共通の概念を共有して複数のUSBデバイスが動作することができ、各々が同期式ローカルクロックによって同期読出しされる。ホストパーソナルコンピュータからの命令によって、リアルタイムクロック534の同期が始動され、この命令はマイクロコントローラ528によって解釈され、シンクロナイザ532に転送され(情報チャンネル536経由で)、また、別の情報チャンネル546を介してリアルタイムクロック534に転送される。次いで、シンクロナイザ532は、リアルタイム同期チャンネル548を介してリアルタイムクロック534を同期させるように働く。このようにして、リアルタイムクロックが、既知の時間に対して同期され得る。次いで、リアルタイムクロック534は、リアルタイムトリガ信号550(リアルタイムクロックからの時間スタンプも含んでよい)を送ることができ、デジタル制御されたトランスデューサ530を、規定時間でアクションを実行するように制御する。
図22は、この実施形態のUSBデバイス520のリアルタイムクロック534の詳細な概略図である。リアルタイムクロック534は、マイクロコントローラ528と通信するための制御ポート558(図21を参照されたい)、シンクロナイザ532から同期式クロック信号544を受け取るための同期式クロック入力ポート560(図21を参照されたい)、同期チャンネル546上の同期信号を受け取るための同期ポート562(図21を参照されたい)、出力ポート564および入力イベント/時間スタンプポート566を有する。
制御ポート558は、インターフェイス568によって復号されて(リアルタイムクロックカウンタ574への後続の同期式ラッチのために)テンポラリレジスタ572にロードされる、絶対時間値を含むデータ信号570をもたらす情報信号、リアルタイムクロックカウンタ574へデータ信号570をラッチするためのデータラッチ信号576、リアルタイムクロックカウンタ574をイネーブルにするためのカウンタイネーブル信号578およびカウンタコンパレータ582にロードされるべき別のデータ信号580を受け取る。
また、リアルタイムクロックカウンタ574は、リアルタイムクロックカウンタ574をインクリメントするのに用いられる同期式クロック信号584を同期式クロック入力ポート560から受け取り、リアルタイムクロックカウンタ574を同期してクリアするのに用いることができる再同期信号586を同期ポート562から受け取る。再同期信号586は、USBのフレーム開始(SOF)トークンと同期して(より正確には合成SOFと同期して)生じるように、シンクロナイザ532から生成される。この同期する合成SOFトークンのフレーム番号はホストコントローラに知られ(ホストコントローラはホストの開始以来この番号のロールオーバを追跡する)、したがって、同一の時点でデバイス(または複数の類似のデバイス)を同期させることができる。その上、ホストは、この合成SOFのトークン番号およびリアルタイムクロックカウンタ574の絶対時間スタンプのロールオーバについての情報を保持する。このため、USBデバイスは同一の時点で同期する必要がない。この技術によって単一のUSBデバイスが一旦リアルタイムと同期されると、ホストは任意の将来の合成SOFフレームのトークンでのリアルタイムを計算することができる。これによって、任意数のデバイスが順次に同期することが可能になる。
このようにして、リアルタイムクロックカウンタ574は、マイクロコントローラ528および再同期信号586によって開始された時間カウントによって、既知の「リアルタイム」が同期してロードされ得る(図21を参照されたい)か、あるいは再同期信号586によって同期してクリアされ得るが、どちらの場合もカウンタは同期式クロック信号584によってインクリメントされる。次いで、システムコントローラ(パーソナルコンピュータなど)は、時間についての概念がリアルタイムクロックカウンタ574によってどのように示されるか判断する。
リアルタイム値588(データ信号)は、リアルタイムカウンタ574から、出力ポート564を介して外部回路向けに信号を供給するインターフェイス590へ、同期式クロック信号584の各サイクル時に同期読出しされる。その上、リアルタイムクロック534は、即時のリアルタイム値588をあらかじめカウンタコンパレータ582にラッチされたデータ信号と比較することによりトリガ信号592を供給するように構成することができる。次いで、トリガ信号592は、外部回路へ伝送するために出力インターフェイス590に渡される。
インターフェイス590は、外部イベント/時間スタンプポート566から、関連する時間スタンプデータを伴うイベントからの外部信号も受け取る。このデータ592は、リアルタイムクロックカウンタ回路574に含まれるローカルクロックのリアルタイムの較正および設定のために、この回路に渡される。
リアルタイムのこの概念は、図12のシステム220に用いられた手法によりまたはIEEE-1588に準拠する前述の実施形態など、複数の同期性USBによって共有することができることに留意されたい。
その上、同期式クロック信号584および再同期信号586は、(図4のUSBデバイス50の上記文脈で説明されたように)キャリア信号と同期する。したがって、これらキャリア信号の受信のリアルタイムを求めることができ、この理由で図22のリアルタイムクロックカウンタ574のリアルタイムを設定することができる。
図23は、図21のUSBデバイス520のタイミング図600である。既知のリアルタイムの外部イベント602は、同期式クロック信号606(図4のシンクロナイザ回路62から導出される)から同期読出しされるローカルカウンタ604を開始させるために使用することができ、また、外部イベント602のリアルタイム608がデバイスへラッチされる。次の復号されたキャリア信号610(フレームの総合的開始)のトークンの受信によって、ローカルカウンタ604が停止し、かつフレームトークン番号612がラッチされる。次いで、ホストコントローラは、ローカルカウンタ604の経過時間(イベントとフレームトークンの開始の間の時間δt)を用いて、ラッチされたフレームトークン番号612のリアルタイムを求めることができる。
このようにして、イベント/時間スタンプポート566での既知のリアルタイムの外部イベントは、ローカルキャリア信号の到着のリアルタイムを求めるのに用いることができ、したがってUSBデバイス520のリアルタイムを設定(または較正)するのに用いることができる。この方法によって求められたリアルタイムは、614でリアルタイムクロックカウンタ(図22の574)へラッチされる。そのような外部から導出されるリアルタイムイベントおよび時間スタンプは、高精度セシウムクロック、グローバル位置決めサテライトシステムにロックされたGPS時間サーバまたはIEEE-1588高精度時間プロトコルデバイスなど、既知の周波数および時間の基準によって生成されてよい。
外部の高精度時間スタンプを押された基準イベント602がない状況では、ホストパーソナルコンピュータは、それ自体の時間の概念(内部の不正確なリアルタイムクロックからのもの)を同期式USBに割り当てることができる。この方法は、リアルタイムクロックカウンタによって用いられるための基準時間として、単に、パーソナルコンピュータの時間の概念を所与のキャリアフレーム番号に割り当てるだけである。その時間の後、同期式USBは、高い相対精度(そのリアルタイムクロックカウンタ回路によって規定されたもの)を有するが、これはホストパーソナルコンピュータの実際のタイムクロックの初期誤差によって決定される、絶対時間からのオフセットを伴うものである。
拡張によって、既知の時間の複数の外部イベントを用いると、キャリア信号周波数は図6のデバイス100に採用された手法を用いて、任意の度合いに求めることができる。これは、既知のキャリア信号番号に対して外部イベントの時間スタンプを生成する方法である。
ハブまたはUSBデバイスあるいはUSBに接続されたデバイスでこの手法を実施することができることに留意されたい。また、この手法は、統計的手段によって精度を改善するために、一度または複数のデバイスで実施することができる。
本発明の第12の実施形態によるUSBデバイスが、図24に630で概略的に示される。この実施形態では、同期性USBデバイス630は、それ自体の時間の概念(デバイス自体のリアルタイムクロックまたは外部からもたらされたリアルタイムクロックおよび時間スタンプによって較正されている)による時間スタンプを外部イベントに押すことができる。
USBデバイス630は、ホストコントローラ(またはUSBデバイス630とそのようなホストコントローラの間の中間のアップストリームデバイス)への接続のためのアップストリームポート632、外部トリガポート634、および時間スタンプ情報の通信のためのデータポート636を有する。USBデバイス630は、デジタル入出力バスインターフェイス回路638、マイクロコントローラ640および同期時間スタンプ回路642も含む。時間スタンプ回路642は、復号されたUSBデータストリーム信号650に含まれるキャリア信号を用いてローカルクロックを同期させるためにUSB監視回路644によってアップストリームポート632上のUSBデータトラフィックを観察する同期回路646(図15のタイミング測定回路302に相当する)およびリアルタイムクロック回路648(図22のリアルタイムクロック534に相当する)を含む。
外部トリガポート634に接続された外部イベント信号(さもければ外部トリガとして知られている)およびデータポート636上の時間スタンプ情報は、処理のために時間スタンプ回路642に渡される。このようにして、外部イベント(トリガ)および関連する時間スタンプはデバイスに渡すことができ、同期回路646に含まれる同期性ローカルクロックと関係づけることができる。
したがって、一旦リアルタイムクロック回路が較正されると(図22のリアルタイムクロックカウンタ574へリアルタイムをラッチするなどして)、すべての外部イベントは、リアルタイムクロックカウンタ574に従って時間スタンプを押すことができる。
本発明の範囲内の変更形態が、当業者によって容易にもたらされ得る。したがって、本発明は、上記で例として説明された特定の実施形態に限定されることなく、また、本明細書で説明された様々な実施形態の組合せが、当業者には容易に明らかであることを理解されたい。
本発明の先の説明において、文脈が必要とするかさもなければ表現する言語または必要な含意によるものを除いて、「ホストコントローラ」という語は、標準的なUSBホストコントローラ、USB可搬ホストコントローラ、無線USBホストコントローラまたはUSBホストコントローラの任意の他の形を規定するために用いられてよい。
以下の特許請求の範囲および先の本発明の説明において、文脈が必要とするかさもなければ表現する言語または必要な含意によるものを除いて、「備える」または変形である「備えている」などの語は包括的な意味で用いられる。すなわち、明示された特徴の存在を規定するためのものであるが、本発明の様々な実施形態において、さらなる特徴の存在または追加を除外しない。
さらに、本明細書の従来技術へのいかなる参照も、そのような従来技術が共通の一般知識の一部を形成するかまたは形成したことを示唆するようには意図されていない。
背景技術の同期性USBデバイスの概略図である。 別の背景技術の同期性USBデバイスの概略図である。 背景技術の同期性USB回路の細部の概略図である。 本発明の第1の実施形態による同期性USBデバイスの概略図である。 図4の同期性USBデバイスの同期チャンネルの概略図である。 本発明の第2の実施形態によってUSBを同期させるためのデバイスの概略図である。 図6のUSBを同期させるデバイスのタイミング測定回路の概略図である。 本発明の第3の実施形態によるUSBシステムの概略図である。 本発明の第4の実施形態によるUSBシステムの概略図である。 本発明の第5の実施形態によるUSBタイミングハブの概略図である。 本発明の第6の実施形態によってUSBの同期式チャンネルの総計を増加させるためのシステムの概略図である。 本発明の第7の実施形態による同期性USBの概略図である。 図12の実施形態によって世界的に同期されるUSBの概略図である。 本発明の第8の実施形態によってイーサネットに同期されるUSBの概略図である。 図14のUSBのUSBタイミングハブのUSB-イーサネット同期回路の概略図である。 通常のUSB待ち時間遅れに影響されない制御経路を与える、本発明の第9の実施形態によるハイブリッドUSBハブの概略図である。 図16の同期性USBのハイブリッドUSBハブのUSB監視回路の概略図である。 図18A、図18Bおよび図18Cは、USBデータストリームにペイロードデータを挿入するために図17のUSB監視回路で使用されるデータ挿入スイッチおよび方法の概略図である。 本発明の第10の実施形態によってハイブリッドUSBホストコントローラがイーサネットに同期されるUSBの概略図である。 図19の実施形態のUSBのハイブリッドUSBホストコントローラの概略図である。 本発明の第11の実施形態によるリアルタイムの概念を伴うUSBデバイスの概略図である。 図21のUSBデバイスのリアルタイムクロック回路の概略図である。 図21のUSBデバイスのタイミング図である。 外部イベントに正確に時間スタンプを押すことができる、本発明の第12の実施形態によるUSBデバイスの概略図である。

Claims (19)

  1. USBデバイスのローカルクロックの位相および周波数を制御するための装置であって、
    USBトラフィックを観察して、分配されたクロックの周波数および位相に関する情報を含む周期的データ構造を前記USBトラフィックから復号するための回路と、
    前記周期的データ構造を受け取って、前記周期的データ構造に対して周波数および位相の両方においてロックされたローカルクロック信号を生成するための回路と、
    前記周期的データ構造の周波数を求めるための回路と、
    を備え、
    前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、所望のローカルクロック周波数を示すデータを有する情報信号を受け取り、かつ、前記周期的データ構造の前記周波数と前記所望のローカルクロック周波数とを用いて前記ローカルクロック信号を生成するように構成されている、装置。
  2. 前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、前記周期的データ構造の周波数の非整数倍の周波数を有する前記ローカルクロック信号を生成することができる請求項1に記載の装置。
  3. 前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、任意の周波数のクロック信号を生成するための、位相コンパレータ、制御発振器クロックジェネレータおよび周波数合成回路を含む請求項1に記載の装置。
  4. 前記周期的データ構造が、USBフレーム開始(SOF)パケットトークンを含む請求項1に記載の装置。
  5. USBトラフィックを観察するステップと、
    分配されたクロックの周波数および位相に関する情報を含む周期的データ構造を前記USBトラフィックから復号するステップと、
    前記周期的データ構造の前記周波数の周波数を求めるステップと、
    前記周期的データ構造の前記周波数と、所望のローカルクロック周波数を示すデータを有する情報信号とを用いて、ローカルクロック信号を生成するステップと、
    を含む、USBデバイスのローカルクロックの位相および周波数を制御するための方法。
  6. 少なくとも前記周期的データ構造および前記情報信号から、前記ローカルクロック信号を生成するステップを含む請求項5に記載の方法。
  7. 前記周期的データ構造の周波数の非整数倍の周波数を有する前記ローカルクロック信号を生成するステップを含む請求項5に記載の方法。
  8. USBデータストリームを受け取るように適合されたUSBと、
    基準信号を供給するための基準信号源と、
    前記USBデータストリーム中の周期的データ構造と前記基準信号を比較して、前記周期的データ構造の周波数を求めるためのタイミング回路と、
    前記周期的データ構造の前記周波数を少なくとも用いて、所望の周波数のローカルクロック信号を生成するための回路と、
    を備える、ローカルクロック信号を生成するための装置。
  9. 前記USBへ接続して前記USBに前記USBデータストリームを伝送するためのUSBバスコネクタをさらに備える請求項8に記載の装置。
  10. USBでUSBデータストリームを受け取るステップと、
    基準信号を受け取るステップと、
    前記USBデータストリーム中の周期的データ構造を前記基準信号と比較するステップと、
    前記周期的データ構造の周波数を求めるステップと、
    前記周期的データ構造の前記周波数を少なくとも用いて、所望の周波数のローカルクロック信号を生成するステップと、
    を含む、ローカルクロック信号を生成するための方法。
  11. 複数のデバイスのうち1つだけのデバイスの前記周期的データ構造の前記周波数を測定するステップと、それに応じて他のデバイスのローカルクロックを制御するために前記他のデバイスへ信号を伝送するステップとを含む請求項10に記載の方法。
  12. USBホストコントローラに接続可能なUSBハブと、
    基準信号を供給するための基準信号源と、
    前記USBハブに接続されたUSBデバイスと、
    を備え、
    前記USBデバイスは、USBデータストリーム中の周期的データ構造を前記基準信号と比較して前記周期的データ構造の周波数を求めるためのタイミング回路を有し、それによって、クロックレートの推定が作成され得る、USBホストコントローラのクロックレートを求めるための装置。
  13. 前記USBハブに接続された複数のUSBデバイスを備え、
    前記複数のUSBデバイスの各々が、前記USBデータストリーム中の周期的データ構造を前記基準信号と比較して前記周期的データ構造の前記周波数を求めるためのタイミング回路を有し、
    前記装置が、前記クロックレートのそれぞれの推定を作成するように動作可能であり、
    前記装置が、前記クロックレートの前記推定を受け取り、かつ前記推定から前記USBホストコントローラの前記クロックレートを求めるためのデータプロセッサをさらに備える、請求項12に記載の装置。
  14. 周波数および位相が制御された同期式マルチチャンネルUSBであって、
    前記USBに接続された複数のUSBデバイスと、
    前記複数のUSBデバイスの各々上の1つまたは複数のローカルクロックと、
    前記ローカルクロックをUSBデータストリーム中に含まれるキャリア信号と同期させるためのシンクロナイザとを備え、
    ローカルクロックの周波数および位相の精度が、USBホストコントローラのクロックの精度によって制限されることなく、その結果、前記USBデバイスが任意の正確な周波数および位相に制御され、
    前記USBは、
    周波数が既知であり、かつ前記複数のUSBデバイスの各々に対してローカルである複数の周波数基準と、
    前記複数の既知の周波数基準を用いて、前記複数のUSBデバイスの各々で前記キャリア信号の周波数を局所的に測定するための周波数測定器と、
    を更に備える、USB。
  15. 同期式マルチチャンネルUSBを提供する方法であって、
    USBホストコントローラによって、既知の周波数を有するキャリア信号を生成するステップと、
    複数のUSBデバイスの各々でUSBトラフィックを観察するステップと、
    前記USBデバイスの各々で前記キャリア信号の実際の周波数を求めるステップと、
    を含み、
    前記USBデバイスの各々向けに、前記キャリア信号から、前記それぞれのUSBデバイスに対してローカルである合成ローカルキャリア信号を生成し、前記キャリア信号中の確率的周波数ノイズを除去するために前記合成ローカルキャリア信号をフィルタリングし、かつ、
    周波数、位相、または周波数および位相の両方に関して、前記それぞれのUSBデバイスの各々のローカルクロックを前記合成ローカルキャリア信号にロックする、方法。
  16. USBトラフィックを観察するステップと、
    キャリア信号として特定の周期的信号構造を定義するステップと、
    前記USBトラフィックの中から前記キャリア信号を復号するステップと、
    前記キャリア信号の周波数を測定するステップと、
    前記キャリア信号の前記周波数からホストコントローラのクロックレートを推測するステップとを含む、USBホストコントローラのクロックレートを求める方法。
  17. 周波数が既知の周波数基準を用いて前記キャリア信号の周波数を測定するステップを含む請求項16に記載の方法。
  18. USBホストコントローラのクロックレートを求めるための装置であって、
    前記装置が受け取ったUSBトラフィックを観察するための回路と、
    前記USBトラフィックの中から周期的データ構造を含む特定のキャリア信号を復号するための回路と、
    前記キャリア信号の周波数を測定するための周波数測定回路とを備え、
    前記キャリア信号の前記周波数から前記USBホストコントローラの前記クロックレートを求める、装置。
  19. USBトラフィックを観察するのに適合されたデバイスでのUSBデータトラフィックを監視するステップと、
    前記USBデータトラフィックのレプリカ信号を生成するステップと、
    USBホストコントローラからの周期的信号構造を復号するステップと、
    前記周期的信号構造中のキャリア信号を識別するステップと、
    前記キャリア信号から前記USBホストコントローラのクロックレートを求めるステップとを含む、USBホストコントローラのクロックレートを求める方法。
JP2008554564A 2006-02-15 2007-02-15 分散型の同期およびタイミングシステム Expired - Fee Related JP5231255B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77353706P 2006-02-15 2006-02-15
US60/773,537 2006-02-15
PCT/AU2007/000155 WO2007092997A1 (en) 2006-02-15 2007-02-15 Distributed synchronization and timing system

Publications (3)

Publication Number Publication Date
JP2009527152A JP2009527152A (ja) 2009-07-23
JP2009527152A5 JP2009527152A5 (ja) 2010-04-02
JP5231255B2 true JP5231255B2 (ja) 2013-07-10

Family

ID=38371110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008554564A Expired - Fee Related JP5231255B2 (ja) 2006-02-15 2007-02-15 分散型の同期およびタイミングシステム

Country Status (8)

Country Link
US (2) US8762762B2 (ja)
EP (2) EP2784621A3 (ja)
JP (1) JP5231255B2 (ja)
CN (2) CN101401055B (ja)
AU (1) AU2007215381B2 (ja)
CA (1) CA2640556A1 (ja)
HK (2) HK1128098A1 (ja)
WO (1) WO2007092997A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE459053T1 (de) * 2002-07-17 2010-03-15 Chronologic Pty Ltd Synchronisierter multikanal-usb
TWI328930B (en) * 2006-11-24 2010-08-11 Sonix Technology Co Ltd Frequency auto-locking device, usb device and frequency auto-locking method
US8730867B2 (en) 2007-02-05 2014-05-20 Thomson Licensing Clock synchronization aid device for communication station(s) of a wireless network, and associated clock synchronization device
JP2008225845A (ja) * 2007-03-13 2008-09-25 Nec Corp データ更新方法およびデータ処理システム
US7990912B2 (en) * 2007-04-02 2011-08-02 Go2Call.Com, Inc. VoIP enabled femtocell with a USB transceiver station
US8036613B2 (en) * 2007-05-07 2011-10-11 Infineon Technologies Ag Communication system and method for operating a communication system
US8412975B2 (en) * 2007-05-15 2013-04-02 Chronologic Pty. Ltd. USB based synchronization and timing system
JP5210377B2 (ja) * 2007-05-15 2013-06-12 クロノロジック プロプライエタリー リミテッド ユニバーサル・シリアル・バスにおけるデータ取得においてトリガ遅延を削減する方法及びシステム
US8255708B1 (en) 2007-08-10 2012-08-28 Marvell International Ltd. Apparatuses and methods for power saving in USB devices
TW200921325A (en) * 2007-11-05 2009-05-16 Holtek Semiconductor Inc Frequency synchronous apparatus and method
US8095698B2 (en) * 2008-08-19 2012-01-10 Total Phase, Inc. Circuits and methods for reliable automatic USB speed detection
WO2010020015A1 (en) * 2008-08-21 2010-02-25 Chronologic Pty Ltd Synchronisation and timing method and apparatus
US8510589B2 (en) * 2008-08-29 2013-08-13 Intel Mobile Communications GmbH Apparatus and method using first and second clocks
TWI510042B (zh) * 2008-12-15 2015-11-21 Ind Tech Res Inst 精確時間同步協定之封包資料加解密方法、裝置及時間同步系統
US8108557B2 (en) * 2009-01-22 2012-01-31 Hewlett-Packard Development Company, L.P. System and method for measuring clock skew on a network
CN102428423A (zh) 2009-05-20 2012-04-25 克罗诺洛吉克有限公司 用于分布式同步时钟架构的抖动减少方法和设备
CN101931397A (zh) * 2009-06-23 2010-12-29 义隆电子股份有限公司 校正usb装置频率的方法及电路
CN102063402B (zh) * 2009-11-12 2015-01-14 义隆电子股份有限公司 校正usb装置频率的方法及电路
EP2548125A4 (en) * 2010-03-17 2013-12-25 Thailand Res Fund COMMUNICATION AND PROCESS SEQUENCING ARCHITECTURE, SYSTEM AND METHOD FOR SIMULATION WITH HARDWARE IN THE LOOP
US8446896B2 (en) 2010-04-21 2013-05-21 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US8976778B2 (en) 2010-04-21 2015-03-10 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US8599861B2 (en) * 2010-06-03 2013-12-03 Kathrein-Werke Kg Active antenna array and method for relaying radio signals
US8321604B2 (en) * 2010-08-27 2012-11-27 Total Phase, Inc. Real-time USB class level decoding
US10248083B2 (en) * 2015-10-09 2019-04-02 Benjamin J. Sheahan Reference time generator
US9255859B2 (en) 2010-11-15 2016-02-09 Advanced Mechanical Technology, Inc. Force platform system
WO2012116087A1 (en) * 2011-02-22 2012-08-30 Revolabs, Inc. Systems and methods for synchronizing wireless audio base stations
US8996747B2 (en) * 2011-09-29 2015-03-31 Cypress Semiconductor Corporation Methods and physical computer-readable storage media for initiating re-enumeration of USB 3.0 compatible devices
JP5819678B2 (ja) 2011-08-30 2015-11-24 ルネサスエレクトロニクス株式会社 Usbハブ及びusbハブの制御方法
US9811667B2 (en) * 2011-09-21 2017-11-07 Mcafee, Inc. System and method for grouping computer vulnerabilities
US8843664B2 (en) 2011-09-29 2014-09-23 Cypress Semiconductor Corporation Re-enumeration of USB 3.0 compatible devices
CN103138875B (zh) * 2011-11-28 2015-06-10 澜起科技(上海)有限公司 高速广播信道的校准方法
EP2608444B1 (en) * 2011-12-19 2014-10-22 GN Netcom A/S Method and system for synchronizing isochronous usb audio data to a rf communication device clock
US9600434B1 (en) 2011-12-30 2017-03-21 Bedrock Automation Platforms, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US10171710B2 (en) 2012-04-04 2019-01-01 Mitsubishi Electric Corporation Device and method for digital data distribution, device and method for digital data reproduction, synchronized reproduction system, program, and recording medium
CN103576740B (zh) * 2012-08-07 2016-12-21 国民技术股份有限公司 一种usb设备的时钟检测系统及其时钟检测方法
US8923464B2 (en) * 2012-11-16 2014-12-30 Qualcomm Incorporated Methods and apparatus for enabling distributed frequency synchronization
US8760204B2 (en) * 2012-11-20 2014-06-24 Nvidia Corporation Variation-tolerant periodic synchronizer
US20140208134A1 (en) * 2013-01-21 2014-07-24 Texas Instruments Incorporated Host controller interface for universal serial bus (usb) power delivery
JP6354197B2 (ja) * 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
US9292036B2 (en) * 2013-05-24 2016-03-22 Arm Limited Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
US9684805B2 (en) * 2013-08-20 2017-06-20 Janus Technologies, Inc. Method and apparatus for securing computer interfaces
US9489009B2 (en) * 2014-02-20 2016-11-08 Samsung Electronics Co., Ltd. System on chip, bus interface and method of operating the same
US9552309B2 (en) 2014-06-04 2017-01-24 Ixia Methods, systems, and computer readable media for providing precise timing in virtual data network or storage network test environment
WO2015191053A1 (en) * 2014-06-10 2015-12-17 Halliburton Energy Services, Inc. Synchronization of receiver units over a control area network bus
EE05781B1 (et) * 2014-12-18 2016-10-17 Tallinna Tehnikaülikool Meetod ja seade täpsete ajatemplitega pideva pildivoo kujutisehõiveks
US9996138B2 (en) * 2015-09-04 2018-06-12 Mediatek Inc. Electronic system and related clock managing method
KR20180019857A (ko) 2016-08-17 2018-02-27 삼성전자주식회사 유에스비 통신 시스템
EP3759975A4 (en) * 2018-02-26 2021-11-24 Nokia Technologies Oy METHODS AND DEVICES FOR DETERMINING THE REQUIREMENTS FOR THE MEASUREMENT PERFORMANCE OF A USER DEVICE
US11245985B2 (en) * 2019-03-27 2022-02-08 Microsoft Technology Licensing, Llc Architecture for USB-synchronized array of speakers
CN110138840B (zh) * 2019-04-22 2022-04-19 浙江合众新能源汽车有限公司 一种基于车载以太网的并行刷新方法
US11226650B1 (en) 2019-09-05 2022-01-18 Lytx, Inc. Managing a time reference
US11126220B2 (en) * 2020-01-29 2021-09-21 Dell Products L.P. System and method for time synchronization between information handling systems
CN114138093B (zh) * 2021-12-10 2023-02-03 深圳市精泰达科技有限公司 一种程控usb hub电路和模块

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5733431A (en) * 1980-08-06 1982-02-23 Sony Corp Track following device
JP2711111B2 (ja) * 1988-07-29 1998-02-10 株式会社日立製作所 データ処理装置、計測方法及び制御方法
US5761537A (en) 1995-09-29 1998-06-02 Intel Corporation Method and apparatus for integrating three dimensional sound into a computer system having a stereo audio circuit
US6012115A (en) 1997-07-28 2000-01-04 Vlsi Technology, Inc. Method and system for accurate temporal determination of real-time events within a universal serial bus system
US6286140B1 (en) * 1997-11-20 2001-09-04 Thomas P. Ivanyi System and method for measuring and storing information pertaining to television viewer or user behavior
US6279058B1 (en) * 1998-07-02 2001-08-21 Advanced Micro Devices, Inc. Master isochronous clock structure having a clock controller coupling to a CPU and two data buses
US6092210A (en) * 1998-10-14 2000-07-18 Cypress Semiconductor Corp. Device and method for synchronizing the clocks of interconnected universal serial buses
FR2803925B1 (fr) * 2000-01-18 2002-03-15 St Microelectronics Sa Dispositif de regeneration d'une horloge a partir d'au moins deux bits de synchronisation
US20020010821A1 (en) * 2000-06-09 2002-01-24 Gang Yu USB extension system
US6343364B1 (en) * 2000-07-13 2002-01-29 Schlumberger Malco Inc. Method and device for local clock generation using universal serial bus downstream received signals DP and DM
US6904489B2 (en) 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
DE60211460T2 (de) * 2001-10-30 2006-12-21 Stmicroelectronics Pvt. Ltd. Volldigitale Taktrückgewinnung mit Teiler mit gebrochenem Teilungsverhältnis
US20030132861A1 (en) * 2002-01-17 2003-07-17 Jordan Shieh Global positioning system receiver with an infrared transmitter
US20030227334A1 (en) * 2002-06-07 2003-12-11 Pei-Sung Chuang Self-adjusting oscillator for a USB connectivity interface
ATE459053T1 (de) * 2002-07-17 2010-03-15 Chronologic Pty Ltd Synchronisierter multikanal-usb
US7287169B2 (en) * 2002-10-10 2007-10-23 Stmicroelectronics, Inc. Electronic device and timer therefor with tamper event stamp features and related methods
DE10262079A1 (de) * 2002-12-23 2004-11-18 Infineon Technologies Ag Verfahren und Vorrichtung zum Extrahieren einer einem Datenstrom zugrundeliegenden Taktfrequenz
US6970954B1 (en) * 2003-03-27 2005-11-29 Logicube, Inc. System and method for intercepting and evaluating commands to determine if commands are harmful or benign and to emulate harmful commands
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
TWI245178B (en) * 2004-01-16 2005-12-11 Realtek Semiconductor Corp Clock generation method and apparatus
US7127628B2 (en) * 2004-02-24 2006-10-24 Alcor Micro, Corp. Method for automatically regulating an oscillator
SE525930C2 (sv) * 2004-07-23 2005-05-31 Kvaser Consultant Ab Anordning för tidsstämpling av referenshändelser
US7702056B2 (en) * 2006-10-26 2010-04-20 Toshiba America Electronic Components, Inc. Time base corrector

Also Published As

Publication number Publication date
WO2007092997A1 (en) 2007-08-23
CN101872209A (zh) 2010-10-27
JP2009527152A (ja) 2009-07-23
US8762762B2 (en) 2014-06-24
CN101401055A (zh) 2009-04-01
CN101401055B (zh) 2012-04-18
CA2640556A1 (en) 2007-08-23
EP2784621A3 (en) 2014-11-12
AU2007215381B2 (en) 2012-06-28
AU2007215381A1 (en) 2007-08-23
US20140325250A1 (en) 2014-10-30
HK1128098A1 (en) 2009-10-16
HK1149097A1 (en) 2011-09-23
EP1984800A1 (en) 2008-10-29
EP2784621A2 (en) 2014-10-01
US20090222685A1 (en) 2009-09-03
CN101872209B (zh) 2013-08-14
EP1984800A4 (en) 2011-06-29
EP1984800B1 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
JP5231255B2 (ja) 分散型の同期およびタイミングシステム
US8745431B2 (en) Compound universal serial bus architecture providing precision synchronisation to an external timebase
JP5642852B2 (ja) Usbデバイス
AU2012216514A1 (en) Distributed synchronization and timing system
AU2013204702A1 (en) Compound universal serial bus architecture providing precision synchronisation to an external timebase

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120418

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees