(57)【要約】  USBデバイスのローカルクロックの位相および周波数を制御するための方法および装置であって、この装置は、USBトラフィックを観察して、分配されたクロックの周波数および位相に関する情報を含む周期的データ構造をUSBトラフィックから復号するための回路と、周期的データ構造を受け取って、少なくとも周期的データ構造から、周期的データ構造に対して周波数および位相の両方においてロックされたローカルクロック信号を生成するための回路とを備える。周期的データ構造を受け取ってローカルクロック信号を生成するための回路は、周期的データ構造の周波数の非整数倍の周波数を有するローカルクロック信号を生成することができる。
2009527152.tif 000002
【特許請求の範囲】
【請求項１】
USBデバイスのローカルクロックの位相および周波数を制御するための装置であって、
USBトラフィックを観察して、分配されたクロックの周波数および位相に関する情報を含む周期的データ構造を前記USBトラフィックから復号するための回路と、
前記周期的データ構造を受け取って、少なくとも前記周期的データ構造から、前記周期的データ構造に対して周波数および位相の両方においてロックされたローカルクロック信号を生成するための回路とを備える装置。
【請求項２】
前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、情報信号を受け取り、かつ少なくとも前記周期的データ構造および前記情報信号から前記ローカルクロック信号を生成するようにさらに適合される請求項1に記載の装置。
【請求項３】
前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、前記周期的データ構造の周波数の非整数倍の周波数を有する前記ローカルクロック信号を生成することができる請求項1に記載の装置。
【請求項４】
前記周期的データ構造を受け取って前記ローカルクロック信号を生成するための前記回路が、任意の周波数のクロック信号を生成するための、位相コンパレータ、制御発振器クロックジェネレータおよび周波数合成回路を含む請求項1に記載の装置。
【請求項５】
前記周期的データ構造が、USBフレーム開始(SOF)パケットトークンを含む請求項1に記載の装置。
【請求項６】
USBトラフィックを観察するステップと、
分配されたクロックの周波数および位相に関する情報を含む周期的データ構造を前記USBトラフィックから復号するステップと、
少なくとも前記周期的データ構造から、前記周期的データ構造に対して周波数および位相の両方においてロックされたローカルクロック信号を生成するステップとを含む、USBデバイスのローカルクロックの位相および周波数を制御するための方法。
【請求項７】
少なくとも前記周期的データ構造および前記情報信号から、前記ローカルクロック信号を生成するステップを含む請求項6に記載の方法。
【請求項８】
前記周期的データ構造の周波数の非整数倍の周波数を有する前記ローカルクロック信号を生成するステップを含む請求項6に記載の方法。
【請求項９】
USBデータストリーム中の周期的データ構造の周波数を測定するステップを含む、ローカルクロック信号を生成するための方法。
【請求項１０】
前記周期的データ構造の前記周波数からUSBホストコントローラのクロックレートを求めるステップをさらに含む請求項9に記載の方法。
【請求項１１】
前記周期的データ構造の前記周波数と異なる周波数を有する前記ローカルクロック信号を生成するステップを含む請求項9に記載の方法。
【請求項１２】
前記周期的データ構造の前記周波数の非整数倍の周波数を有する前記ローカルクロック信号を生成するステップを含む請求項9に記載の方法。
【請求項１３】
USBデータストリームを受け取るように適合されたUSBと、
基準信号を供給するための基準信号源と、
前記USBデータストリーム中の周期的データ構造と前記基準信号を比較して前記周期的データ構造の周波数を求めるためのタイミング回路とを備える、ローカルクロック信号を生成するための装置。
【請求項１４】
前記USBへ接続して前記USBに前記USBデータストリームを伝送するためのUSBバスコネクタをさらに備える請求項13に記載の装置。
【請求項１５】
前記装置がUSBデバイスである請求項13に記載の装置。
【請求項１６】
前記装置が、複数のデバイスのうち1つだけのデバイスの前記周期的データ構造の前記周波数を測定し、それに応じて他のデバイスのローカルクロックを制御するために信号を前記他のデバイスに伝送するように適合される請求項13に記載の装置。
【請求項１７】
前記基準信号源が外部基準信号源を備える請求項13に記載の装置。
【請求項１８】
外部基準信号源が外部基準クロックに接続するためのコネクタを備え、前記外部基準クロックが、精密周波数基準、全地球測位システム(GPS)時間サーバまたはIEEE-1588時間サーバである請求項17に記載の装置。
【請求項１９】
時間スタンプラッチおよび基準時間スタンプ信号源をさらに含み、前記時間スタンプラッチが前記基準時間スタンプ信号源からのデータ信号に時間スタンプを押すように適合され、それによって前記時間スタンプ情報がキャリア信号の受信に同期され得る請求項13に記載の装置。
【請求項２０】
前記基準時間スタンプ信号源が外部基準時間スタンプ信号源に接続するためのコネクタを備える請求項19に記載の装置。
【請求項２１】
USBでUSBデータストリームを受け取るステップと、
基準信号を受け取るステップと、
前記USBデータストリーム中の周期的データ構造を前記基準信号と比較するステップと、
前記周期的データ構造の周波数を求めるステップとを含む、ローカルクロック信号を生成するための方法。
【請求項２２】
複数のデバイスのうち1つだけのデバイスの前記周期的データ構造の前記周波数を測定するステップと、それに応じて他のデバイスのローカルクロックを制御するために前記他のデバイスへ信号を伝送するステップとを含む請求項21に記載の方法。
【請求項２３】
USBホストコントローラに接続可能なUSBハブと、
基準信号を供給するための基準信号源と、
前記USBデータストリーム中の周期的データ構造を前記基準信号と比較して前記周期的データ構造の周波数を求めるためのタイミング回路を有する、前記USBハブに接続されたUSBデバイスであって、それによって前記クロックレートの推定が作成され得るUSBデバイスを備える、USBホストコントローラのクロックレートを求めるための装置。
【請求項２４】
各々が前記USBデータストリーム中の周期的データ構造を前記基準信号と比較して前記周期的データ構造の前記周波数を求めるためのタイミング回路を有する、前記USBハブに接続された複数のUSBデバイスを備える装置であって、前記装置が前記クロックレートのそれぞれの推定を作成するように動作可能であり、前記クロックレートの前記推定を受け取り、かつ前記推定から前記USBホストコントローラの前記クロックレートを求めるためのデータプロセッサをさらに備える請求項23に記載の装置。
【請求項２５】
複数のUSBデバイスの少なくとも1つに供給される外部基準クロック信号であって、前記外部基準クロック信号に対して前記USBデバイスの各々がそれ自体を同期させることを可能にする外部基準クロック信号を備える、複数のUSBデバイスを同期させるための同期性USB。
【請求項２６】
複数のUSBデバイスの少なくとも1つに外部基準クロック信号を供給するステップと、
前記USBデバイスが前記外部基準クロック信号に対してそれ自体を同期させるステップとを含む、複数のUSBデバイスを同期させる方法。
【請求項２７】
複数の同期性USBに対する同期イベントを含む請求項26に記載の方法。
【請求項２８】
前記複数のUSBデバイス上に、さらなる複数のUSBデバイスに通信する情報を含み、その結果、前記さらなるUSBデバイスが、要求されたときに、起動されてコマンドまたは関数をリアルタイムで実行する請求項27に記載の方法。
【請求項２９】
USBに関連したアップストリームのUSBデータトラフィックを監視し、かつ復号するステップと、
前記アップストリームの情報から特定の情報パケットを抽出するステップと、
特定の情報パケットのコンテンツに従って少なくとも1つのアクションの実行を始動するステップとを含む、USB中の通信待ち時間を短縮するための方法。
【請求項３０】
前記アクションが1つまたは複数の他のデバイスと通信するステップを含む請求項29に記載の方法。
【請求項３１】
アップストリームポートを有するUSBデバイスと、
前記アップストリームポート上のUSBデータトラフィックを観察し、前記USBトラフィックの中にあるデータ構造を復号し、かつ前記データ構造のコンテンツに従って少なくとも1つのアクションを始動するためのデータ復号器およびプロセッサとを備える、待ち時間が短縮されたUSB。
【請求項３２】
前記アップストリームポートからの前記USBデータトラフィックを、ダウンストリームポートへ直接、あるいは外部回路からの双方向データストリームを利用して、制御可能に、かつ同期して向けるように適合されたインラインデータスイッチを備える請求項31に記載のUSB。
【請求項３３】
少なくとも1つのローカルクロックを備えるUSBデバイスであって、
前記ローカルクロックが前記USBに対して同期され、それによって、前記ローカルクロックが任意の正確な周波数および位相に制御され得るUSBデバイス。
【請求項３４】
前記ローカルクロックをUSBデータストリーム中に含まれるキャリア信号と同期させるのためのシンクロナイザを備え、ローカルクロックの周波数および位相の精度が、USBホストコントローラのクロックの精度によって制限されることのない請求項33に記載のUSBデバイス。
【請求項３５】
USBデバイスであって、
周波数が既知であり、かつ前記USBデバイスに対してローカルである1つまたは複数の周波数基準と、
前記複数の周波数基準の前記周波数を用いて、前記USBデバイスで前記キャリア信号の周波数を局所的に測定するための周波数測定器とをさらに備える請求項34に記載のUSBデバイス。
【請求項３６】
前記キャリア信号および必要なローカルクロック信号周波数に関する情報で前記キャリア信号から前記同期性ローカルクロック信号を合成するための信号プロセッサをさらに備える請求項35に記載のUSBデバイス。
【請求項３７】
前記同期性ローカルクロックが任意の度合いで任意の周波数および位相に制御される請求項36に記載のUSBデバイス。
【請求項３８】
周波数および位相が制御された同期式マルチチャンネルUSBであって、
前記USBに接続された複数のUSBデバイスと、
前記複数のUSBデバイスの各々上の1つまたは複数のローカルクロックと、
前記ローカルクロックをUSBデータストリーム中に含まれるキャリア信号と同期させるためのシンクロナイザとを備え、
ローカルクロックの周波数および位相の精度が、USBホストコントローラのクロックの精度によって制限されることなく、その結果、前記USBデバイスが任意の正確な周波数および位相に制御され得るUSB。
【請求項３９】
周波数が既知であり、かつ前記複数のUSBデバイスの各々に対してローカルである複数の周波数基準と、
前記複数の既知の周波数基準を用いて、前記複数のUSBデバイスの各々で前記キャリア信号の周波数を局所的に測定するための周波数測定器とを備える請求項38に記載のUSB。
【請求項４０】
前記キャリア信号および必要なローカルクロック信号周波数に関する情報で前記キャリア信号から前記同期性ローカルクロック信号を合成するための信号プロセッサをさらに備える請求項39に記載のUSB。
【請求項４１】
前記キャリア信号の周波数を別々に測定し、それによって前記周波数の複数の測定を得るための複数の同期性USBデバイスと、
前記周波数の前記複数の測定を受け取って、それから前記周波数を求めるように構成されたデータプロセッサとをさらに備える請求項40に記載のUSB。
【請求項４２】
前記データプロセッサが、少なくとも1つの統計的手法を用いることにより、前記複数の測定から前記キャリア信号の前記周波数を求めるように構成される請求項41に記載のUSB。
【請求項４３】
前記ローカルクロックが任意の周波数および位相に制御される請求項41に記載のユニバーサルシリアルバス。
【請求項４４】
複数のUSBデバイスの各々でUSBトラフィックを観察するステップと、
前記USBデバイスの各々のローカルクロック信号を、USBデータトラフィック中に含まれる周期的キャリア信号へ、周波数、位相、または周波数および位相の両方に関してロックするステップとを含む、周波数および位相が制御された同期式マルチチャンネルUSBを提供する方法。
【請求項４５】
USBホストコントローラであって、既知の周波数を有する前記キャリア信号を生成し、
前記キャリア信号の実際の周波数を求め、
前記USBデバイスの各々向けに、前記キャリア信号から、前記それぞれのUSBデバイスに対してローカルである合成ローカルキャリア信号を生成し、前記キャリア信号中の確率的周波数ノイズを除去するために前記合成ローカルキャリア信号をフィルタリングし、かつ、
前記それぞれのUSBデバイスの各々のローカルクロックを前記合成キャリア信号にロックさせるUSBホストコントローラを含む請求項44に記載の方法。
【請求項４６】
前記キャリア信号の周波数安定度より実質的に高い周波数安定度を有する前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項４７】
前記キャリア信号の周波数ノイズレベルより実質的に低い周波数ノイズレベルを有する前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項４８】
前記キャリア信号の周波数と実質的に同じ周波数で前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項４９】
前記キャリア信号の周波数と実質的に異なる周波数で前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項５０】
前記キャリア信号の位相と実質的に同一の位相を有する前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項５１】
前記キャリア信号の位相と実質的に異なる位相を有する前記合成ローカルキャリア信号を生成するステップを含む請求項45に記載の方法。
【請求項５２】
前記実際のキャリア周波数を求める前記ステップが前記USBデバイスのうちの1つによって実行され、
前記方法が、前記USBデバイスの他のすべてのものに対して前記実際のキャリア周波数を実質的に伝送するステップを含む請求項45に記載の方法。
【請求項５３】
前記複数のUSBデバイスがUSBに接続され、前記方法が、
前記複数のUSBデバイスの各々で、局所的に前記キャリア信号周波数の複数の測定を作成するステップと、
前記キャリア信号周波数の前記複数の測定から前記キャリア信号の前記周波数を求めるのに少なくとも1つの統計的手法を用いるステップとをさらに含む請求項45に記載の方法。
【請求項５４】
USBトラフィックを観察するステップと、
前記キャリア信号として特定の周期的信号構造を定義するステップと、
前記USBトラフィックの中から前記キャリア信号を復号するステップと、
前記キャリア信号の周波数を測定するステップとをさらに含む請求項45に記載の方法。
【請求項５５】
周波数および位相が制御された同期式マルチチャンネルUSBであって、
同期性マルチチャンネルUSBと、
前記同期性マルチチャンネルUSBに結合された複数のUSBデバイスであって、各々がローカルクロックを有し、ローカルクロック信号が、USBデータトラフィック中に含まれる周期的キャリア信号に、周波数、位相、または周波数および位相の両方に関してロックされるかまたはロック可能であるUSBデバイスとを備えるUSB。
【請求項５６】
USBトラフィックを観察するステップと、
キャリア信号として特定の周期的信号構造を定義するステップと、
前記USBトラフィックの中から前記キャリア信号を復号するステップと、
前記キャリア信号の周波数を測定するステップと、
前記キャリア信号の前記周波数からホストコントローラのクロックレートを推測するステップとを含む、USBホストコントローラのクロックレートを求める方法。
【請求項５７】
周波数が既知の周波数基準を用いて前記キャリア信号の周波数を測定するステップを含む請求項56に記載の方法。
【請求項５８】
前記USBデバイスが前記周波数基準を含む請求項57に記載の方法。
【請求項５９】
前記周波数基準が外部周波数基準である請求項57に記載の方法。
【請求項６０】
前記外部周波数基準が、基準周波数ジェネレータを備える請求項59に記載の方法。
【請求項６１】
前記外部周波数基準が、全地球測位システムのサテライトベースのナビゲーションおよびタイミングシステムに同期するクロック源を備える請求項60に記載の方法。
【請求項６２】
前記外部周波数基準が、イーサネット（登録商標）全体にわたってIEEE-1588高精度時間プロトコルに同期するクロック源を備える請求項59に記載の方法。
【請求項６３】
前記外部周波数基準が、任意の他の時間基準またはプロトコルに同期するクロック源を備える請求項59に記載の方法。
【請求項６４】
周波数および位相の両方で、前記外部基準へ前記ローカルクロックを所定の度合いでロックさせるステップをさらに含む請求項59に記載の方法。
【請求項６５】
前記ロックさせるステップがアナログのフェイズロックループアーキテクチャを用いる請求項64に記載の方法。
【請求項６６】
前記ロックさせるステップがデジタル合成を用いる請求項64に記載の方法。
【請求項６７】
前記ロックさせるステップがアナログのフェイズロックループ技術およびデジタル合成技術を用いる請求項64に記載の方法。
【請求項６８】
前記キャリア信号の連続するパルスの間に前記ローカルクロックの複数のサイクルを含むカウント終点を計算するステップと、
前記キャリア信号パルスの受信と一致してクロックカウンタのレジスタをクリアするステップと、
前記クロックカウンタのレジスタの前記クリアと一致して合成キャリア信号パルスを生成するステップと、
前記ローカルクロックの各サイクルで前記クロックカウンタのレジスタをインクリメントするステップと、
前記カウント終点に達すると直ちに前記クロックカウンタのレジスタをクリアするステップとを含む請求項66に記載の方法。
【請求項６９】
前記キャリア信号の連続するパルス間の前記ローカルクロックの複数のサイクルを含むカウント終点を計算するステップと、
前記キャリア信号の前記パルスのうち1つの受信と一致して前記カウント終点をクロックカウンタのレジスタにあらかじめロードするステップと、
前記ローカルクロックの各サイクルで前記クロックカウンタのレジスタをデクリメントするステップと、
前記クロックカウンタのレジスタのカウントゼロへの到達と一致して合成キャリア信号パルスを生成するステップと、
前記カウントゼロに達すると直ちに前記クロックカウンタのレジスタを再ロードするステップとを含む請求項66に記載の方法。
【請求項７０】
USBホストコントローラのクロックレートを求めるための装置であって、
前記装置が受け取ったUSBトラフィックを観察するための回路と、
前記USBトラフィックの中から周期的データ構造を含む特定のキャリア信号を復号するための回路と、
前記キャリア信号の周波数を測定するための周波数測定回路とを備え、
前記キャリア信号の前記周波数から前記ホストコントローラの前記クロックレートが求められ得る装置。
【請求項７１】
複数のUSBデバイスの各々向けに同期性クロックを生成するステップと、
キャリア信号の複数のサイクルにわたって前記キャリア信号中の確率的影響(stochastic effect)を統合するステップとを含む、複数のUSBデバイスの各々の同期性ローカルクロックの安定性を改善する方法。
【請求項７２】
USBトラフィックを観察するのに適合されたデバイスでのUSBデータトラフィックを監視するステップと、
前記USBデータトラフィックのレプリカ信号を生成するステップと、
前記USBホストコントローラからの周期的信号構造を復号するステップと、
前記信号構造中のキャリア信号を識別するステップと、
前記キャリア信号から前記USBホストコントローラのクロックレートを求めるステップとを含む、USBホストコントローラのクロックレートを求める方法。
【請求項７３】
複数の同期式マルチチャンネルUSBを同期させる方法であって、
共通の外部周波数基準信号を参照することにより前記複数の同期式マルチチャンネルUSBを同期させるステップを含み、
前記共通の外部基準信号が、クロック分配デバイスからの複数の同期式周波数基準および時間スタンプ出力によって供給される方法。
【請求項７４】
前記外部周波数基準が、セシウムまたはルビジウムのクロック源、全地球測位システム(GPS)のサテライトベースのナビゲーションおよびタイミングシステムに同期するクロック源、イーサネット全体にわたるIEEE-1588高精度時間プロトコルに同期するクロック源、または所定の時間基準またはプロトコルに同期するクロック源を備える請求項73に記載の方法。
【請求項７５】
前記複数の同期式USBが、所与のUSBに接続可能なUSBデバイスの最大許容数を越えるUSBデバイスを備える請求項73に記載の方法。
【請求項７６】
前記複数の同期式USBが、単一のUSBで許容できるデータスループットの上限を上回るデータを転送することができる請求項73に記載の方法。
【請求項７７】
同期性マルチチャンネルUSBと、
任意の度合いに同期されたそれぞれのローカルクロックを備える複数のUSBデバイスと、
前記複数のUSBデバイスの各々に含まれる絶対時間レジスタとを備え、
前記絶対時間レジスタが前記同期式ローカルクロックによって同期読出しされる、リアルタイム同期式マルチチャンネルUSB。
【請求項７８】
前記USBに接続されたUSBデバイスから受け取った信号に基づいてリアルタイム同期をもたらすように適合される請求項77に記載のUSB。
【請求項７９】
前記USBに接続された複合USBハブおよびUSBデバイスからの信号に基づいてリアルタイム同期をもたらすように適合される請求項77に記載のUSB。
【請求項８０】
USBトラフィックを観察して前記USBのUSBホストシステムコントローラへ情報を供給するように適合された外部デバイスからの信号に基づいてリアルタイム同期をもたらすように適合される請求項77に記載のUSB。
【請求項８１】
周波数および位相が制御されたリアルタイム同期式マルチチャンネルUSBであって、
同期性マルチチャンネルUSBと、
任意の度合いに同期されたローカルクロックおよび前記それぞれの同期式ローカルクロックによって同期読出しされる絶対時間レジスタを各々が有して前記同期性マルチチャンネルUSBに結合された複数のUSBデバイスとを備え、前記絶対時間レジスタが同期されるUSB。
【請求項８２】
前記絶対時間レジスタが、ホストコンピューティングシステムまたは他のシステムのリアルタイムクロックと同期する請求項81に記載のUSB。
【請求項８３】
前記絶対時間レジスタが、前記複数のUSBデバイスの1つまたは複数上のリアルタイムクロックと同期する請求項81に記載のUSB。
【請求項８４】
前記絶対時間レジスタが外部の時間基準と同期する請求項81に記載のUSB。
【請求項８５】
前記外部時間基準が、全地球測位システム(GPS)のサテライトベースのナビゲーションおよびタイミングシステムに同期するように適合されるか、イーサネット全体にわたるIEEE-1588高精度時間プロトコルに準拠するか、あるいは時間基準またはプロトコルによって供給される請求項84に記載のUSB。
【請求項８６】
周波数および位相が制御されたリアルタイム同期式マルチチャンネルUSBを提供する方法であって、
マルチチャンネルUSBを同期させるステップと、
前記マルチチャンネルUSBに接続されて同期性ローカルクロックを有する複数のUSBデバイスの各々を同期させるステップと、
前記USBデバイスの各々に絶対時間レジスタを与えるステップと、
前記絶対時間レジスタをそれぞれのローカルクロックによって同期読出しするステップと、
前記複数の絶対時間レジスタを同期させるステップとを含む方法。
【請求項８７】
複数のUSBデバイスのローカルクロックを同期させるステップと、
前記USBデバイスの各々内のローカル絶対時間レジスタを同期させるステップと、
前記USBデバイスの各々内の前記それぞれのローカル絶対時間レジスタを、同期の瞬間にリアルタイムで対応するようにあらかじめ構成するステップとを含む、同期式マルチチャンネルUSBのリアルタイムクロックを同期させる方法。
【請求項８８】
前記USBデバイスの各々の前記それぞれのローカル絶対時間レジスタを、前記同期の瞬間に所定の値に設定するステップと、
USBシステムコントローラによって、前記複数のUSBデバイスの各々について前記同期の瞬間のリアルタイムを記録するステップとを含む請求項87に記載の方法。
【請求項８９】
前記USBデバイスの各々を実質的に同時に同期させるステップを含む請求項88に記載の方法。
【請求項９０】
前記USBデバイスの各々を連続的に同期させるステップを含む請求項88に記載の方法。
【請求項９１】
前記USBシステムコントローラが、前記USBデバイスの各々について前記同期の瞬間でリアルタイムのトラックを保持するステップを含む請求項88に記載の方法。
【請求項９２】
同期性マルチチャンネルUSBと、
各々が同期性ローカルクロックおよび絶対時間レジスタを有して前記マルチチャンネルUSBに接続された複数の同期性USBデバイスとを備え、
前記絶対時間レジスタがそれぞれのローカルクロックによって同期読出しされ、かつ同期される、周波数および位相が制御されたリアルタイム同期式マルチチャンネルUSB。
【請求項９３】
外部時間イベントを与えるステップと、
前記外部時間イベントに対応する外部時間スタンプを与えるステップとを含む、同期性USBバスにリアルタイムを割り当てる方法。
【請求項９４】
USBトラフィックを観察するステップと、
前記USBトラフィック中のキャリア信号に対して同期デバイスのローカルクロックを同期させるステップとをさらに含む請求項93に記載の方法。
【請求項９５】
前記外部時間イベントを観察するステップと、
ローカルレジスタへ前記外部時間スタンプの値をラッチするステップと、
ローカルカウンタを始動するステップと、
キャリア信号に関して前記同期デバイスに対してローカルであるUSBデータストリームを監視するステップと、
次のキャリア信号を受信すると直ちに、前記ローカルカウンタを停止させるための信号を生成するステップと、
前記次のキャリア信号に関連したフレーム番号を検出するステップと、
ホストシステムに、前記ローカルカウンタの値、前記フレーム番号の値および前記時間スタンプの前記値を伝達するステップとを含む請求項94に記載の方法。
【請求項９６】
前記ローカルカウンタを停止させたキャリア信号の受信時刻を求めるステップを含む請求項95に記載の方法。
【請求項９７】
前記外部時間イベントの受信と前記番号が付けられたキャリア信号の受信の間の時間を求めるステップと、
前記ローカルレジスタにラッチされた前記時間スタンプのデータを前記外部時間イベントとして用いるステップとを含む請求項96に記載の方法。
【請求項９８】
前記外部時間イベントの受信と前記番号が付けられたキャリア信号の受信の間の複数のクロックサイクルおよび前記ローカル同期性クロックの周期から前記時間を求めるステップを含む請求項97に記載の方法。
【請求項９９】
前記番号が付けられたキャリア信号のリアルタイムに関係するホストシステムコントローラへ情報を転送するステップを含む請求項97に記載の方法。
【請求項１００】
前記同期性ローカルクロックまたは外部基準クロックによって前記ローカルカウンタを同期読出しするステップを含む請求項95に記載の方法。
【請求項１０１】
前記同期デバイスが、USBデバイスまたはUSBハブとUSBデバイスの複合機能を備える請求項94に記載の方法。
【請求項１０２】
前記同期デバイスが、USBデータトラフィックを観察し、かつ別の情報通信チャンネルを介して情報をホストシステムコントローラへ渡すように構成された非USBデバイスである請求項94に記載の方法。
【請求項１０３】
前記USBに接続されたUSBデバイス上の較正されたリアルタイムカウンタレジスタと、
イベント検出器と、
データラッチと、
USBシステムコントローラへのデータリンクとを備える、リアルタイム外部イベントの正確な時間スタンプを生成するための同期性USB。
【請求項１０４】
USBデバイスのローカルクロックを同期させるステップと、
リアルタイムカウンタを較正するステップと、
外部リアルタイムイベントを検出するステップと、
前記リアルタイムイベントを検出すると直ちに前記リアルタイムカウンタの値をラッチし、かつ対応する時間スタンプを出力するステップと、
前記USBのUSBシステムコントローラに前記時間スタンプを転送するステップとを含む、同期性USB中のリアルタイム外部イベントの正確な時間スタンプを生成する方法。
【請求項１０５】
USBデバイスのローカルクロックに同期するように適合された回路と、
リアルタイムカウンタを較正するように適合された回路と、
外部リアルタイムイベントを検出するための検出器と、
前記リアルタイムイベントを検出すると直ちに前記リアルタイムカウンタの値をラッチし、対応する時間スタンプを出力して前記USBのUSBシステムコントローラに前記時間スタンプを向けるためのラッチとを備える、リアルタイム外部イベントの正確な時間スタンプを生成するように適合される同期性USB。
【請求項１０６】
USBホストシステムと、
各々がローカルクロックおよび絶対時間レジスタを有して前記USBホストシステムに結合された複数のUSBデバイスと、
同期性イーサネットとクロック周波数および時間スタンプ情報を通信するための同期チャンネルと、
前記同期性イーサネットとデータ通信するためのデータチャンネルとを備え、
前記USBデバイスの前記ローカルクロックが周波数および位相で同期され、前記USBデバイスの前記絶対時間レジスタが前記それぞれのローカルクロックによって同期され、かつ同期読出しされ、前記USBがXXを含む、同期性イーサネットに同期することができる同期性マルチチャンネルUSB。
【請求項１０７】
前記同期チャンネルが、前記同期性USBに接続された1つまたは複数のUSBデバイス、USBハブとUSBデバイスの複合機能、または前記同期性USB上のUSBデータトラフィックを観察するが前記同期性USBに接続された構成要素ではないデバイスを備える請求項106に記載のUSB。
【請求項１０８】
USBデバイスツリーを拡張するためのUSBハブ機能と、USBデバイス機能と、前記同期性USBを同期させるためのUSB同期機能と、ローカル基準クロックと、IEEE-1588インターフェイスとをさらに備える請求項106に記載のUSB。
【請求項１０９】
前記ローカルクロックが、IEEE-1588マスタクロックまたはIEEE-1588スレーブクロックである請求項108に記載のUSB。
【請求項１１０】
前記データチャンネルが、USBデバイスの機能またはUSBハブとUSBデバイスの複合機能を備える請求項106に記載のUSB。
【請求項１１１】
前記USBホストシステムが、パーソナルコンピュータ、USB可搬コントローラ、またはUSBハブおよびUSBデバイスの複合機能と結合された内蔵コントローラである請求項106に記載のUSB。
【請求項１１２】
USBホストシステムに結合された複数のUSBデバイスのローカルクロックを周波数および位相において同期させるステップと、
前記USBデバイスの絶対時間レジスタを同期させるステップと、
前記絶対時間レジスタを前記それぞれのローカルクロックによって同期読出しするステップと、
同期チャンネルにわたって前記同期性USBと同期性イーサネットの間でクロック周波数および時間スタンプ情報を通信するステップとを含む、USBホストシステムを含む同期性マルチチャンネルUSBを同期性イーサネットと同期させるための方法。
【請求項１１３】
前記同期チャンネルが、前記同期性USBに接続された1つまたは複数のUSBデバイス、USBハブとUSBデバイスの複合機能、または前記同期性USB上のUSBデータトラフィックを観察するが前記同期性USBに接続された構成要素ではないデバイスを備える請求項112に記載の方法。
【請求項１１４】
USBデバイスツリーを拡張するためのUSBハブ機能と、USBデバイス機能と、前記同期性USBを同期させるためのUSB同期機能と、ローカル基準クロックと、IEEE-1588インターフェイスとをさらに備える請求項112に記載の方法。
【請求項１１５】
前記ローカルクロックが、IEEE-1588マスタクロックまたはIEEE-1588スレーブクロックである請求項114に記載の方法。
【請求項１１６】
前記同期性USBと前記同期性イーサネットの間にデータ通信のためのデータチャンネルを設けるステップをさらに含み、前記データチャンネルが、USBデバイス機能またはUSBハブとUSBデバイスの複合機能を備える請求項112に記載の方法。
【請求項１１７】
前記USBホストシステムが、パーソナルコンピュータ、USB可搬コントローラ、またはUSBハブとUSBデバイスの複合機能と結合された内蔵コントローラである請求項112に記載の方法。
【請求項１１８】
USBデータストリームから情報パケットを抽出するための監視および復号の回路と、
前記情報パケットのコンテンツに作用するための処理回路と、
外部装置との通信のためのインターフェイス回路とを備える、1つまたは複数のデバイスとの通信における待ち時間を短縮するように適合されるUSB。
【請求項１１９】
前記インターフェイス回路が外部ソースからデータを受け取るように適合される請求項118に記載のUSB。
【請求項１２０】
前記デバイスが、USBデバイスからのUSBデータトラフィックを観察し、かつ抽出するように構成された非USBデバイスである請求項118に記載のUSB。
【請求項１２１】
前記デバイスが、アップストリームの接続ポイントと1つまたは複数のダウンストリームポートの間のUSBデータトラフィックと通信するように働くハイブリッドUSBハブデバイスである請求項118に記載のUSB。
【請求項１２２】
USB中のポイントでUSBデータストリームを監視するステップと、
前記USBからの情報を復号するステップと、
前記USBから特定の情報パケットを抽出するステップと、
特定の情報パケットを他の情報で置換するステップと、
複数の外部装置を用いて情報および命令を通信するステップとを含む、USBと1つまたは複数のデバイスの間の通信待ち時間を短縮する方法。
【請求項１２３】
前記USBに接続された特定のUSBデバイスに定期的なメッセージパケットを送るようにUSBホストコントローラを構成するステップと、
前記USBデバイスへの前記定期的メッセージパケットを求めてUSBデータトラフィックを監視するステップと、
外部インターフェイスから前記USBデバイスへ伝達するための情報を受け取るステップと、
前記定期的メッセージパケットのパケットヘッダが前記USB監視ポイントのダウンストリームを通過するのを可能にするステップと、
前記USBパケットヘッダの終りでホストコントローラからデバイスへのダウンストリーム通信をディゼーブルにするステップと、
前記情報が前記定期的メッセージパケットの予期されたデータ形式およびプロトコルと一致するように前記USBデバイスに前記情報を伝送するステップと、
前記USBデバイスにUSB CRCパケットフッタを伝送するステップと、
USB通信チャンネルを元の状態に切り換えるステップとを含む請求項122に記載の方法。
【請求項１２４】
前記USBに接続されたUSBデバイスに定期的なアップストリーム情報のリクエストを送るようにUSBホストコントローラを構成するステップと、
前記定期的リクエストを求めてUSBデータを監視するステップと、
前記USBデバイスによってUSBホストコントローラに送られた応答を観察および抽出するステップと、
前記複数の外部デバイスへ伝達するために、外部インターフェイスを介して情報を伝送するステップとを含む請求項122に記載の方法。
【請求項１２５】
USBデータストリームから情報パケットを抽出することができる監視および復号の回路と、
USB中のデータストリームをルーティングするためのデータマルチプレックススイッチと、
前記データマルチプレックススイッチを制御するための制御回路と、
前記情報パケットのコンテンツに作用するための処理回路と、
外部デバイスと通信するためのインターフェイス回路とを備える、1つまたは複数のデバイスとの通信における待ち時間を短縮するように適合されるUSB。
【請求項１２６】
前記インターフェイス回路が外部ソースからデータを受け取るように適合される請求項125に記載のUSB。
【請求項１２７】
前記デバイスが、前記USBからのUSBデータトラフィックを観察し抽出するように構成された非USBデバイスである請求項125に記載の装置。
【請求項１２８】
前記デバイスが、アップストリームの接続ポイントと1つまたは複数のダウンストリームポートの間のUSBデータトラフィックと通信するように働くハイブリッドUSBハブデバイスである請求項125に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、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デバイスの概略図である。
【図１】
2009527152.tif 000003
【図２】
2009527152.tif 000004
【図３】
2009527152.tif 000005
【図４】
2009527152.tif 000006
【図５】
2009527152.tif 000007
【図６】
2009527152.tif 000008
【図７】
2009527152.tif 000009
【図８】
2009527152.tif 000010
【図９】
2009527152.tif 000011
【図１０】
2009527152.tif 000012
【図１１】
2009527152.tif 000013
【図１２】
2009527152.tif 000014
【図１３】
2009527152.tif 000015
【図１４】
2009527152.tif 000016
【図１５】
2009527152.tif 000017
【図１６】
2009527152.tif 000018
【図１７】
2009527152.tif 000019
【図１８】
2009527152.tif 000020
【図１９】
2009527152.tif 000021
【図２０】
2009527152.tif 000022
【図２１】
2009527152.tif 000023
【図２２】
2009527152.tif 000024
【図２３】
2009527152.tif 000025
【図２４】
2009527152.tif 000026
【国際調査報告】
2009527152.tif 000027
2009527152.tif 000028
2009527152.tif 000029
2009527152.tif 000030
2009527152.tif 000031