(57)【要約】      （修正有）【課題】  ホスト又はハブにより送信されたダウンストリーム受信ＵＳＢ信号を利用して基準クロックを発生する。【解決手段】自走オッシレータを有するＵＳＢ装置は、ユニバーサルシリアルバス（ＵＳＢ）上の信号に応答してローカルクロック信号を発生する。該オシレータは、実質的に安定であるが初期的には実質的な不正確性で知られている周波数において稼動している。ＵＳＢホスト又はハブにより送信された受信信号からシングルエンドビットシリアル信号が抽出され且つタイミング信号がそれに応答して活性化される。シングルエンドビットシリアル信号内においてビットパターンが検知され且つインターバルが計測され、その期間中に、タイミング信号が活性化される。ローカルクロック信号の周期Ｐが計測されたインターバルのうちの１つに応答して調節される。【選択図】図３
2004234659.tif 000002
【特許請求の範囲】
【請求項１】
ユニバーサルシリアルバス（ＵＳＢ）上の信号を受信することに応答してローカルクロック信号を発生する方法において、
ａ）ＵＳＢへ結合されている装置の集積回路チップ上の自走オシレータを使用して周波数を担持するローカルクロック信号を発生し、尚前記オシレータは実質的な安定な周波数で稼動するが初期的動作に対しては前記オシレータは実質的に不正確で知られている期間を有しており、
ｂ）ＵＳＢホスト又はハブにより送られた受信信号からシングルエンドビットシリアル信号を抽出し、
ｃ）前記シングルエンドビットシリアル信号に応答してタイミング信号を活性化し、
ｄ）前記シングルエンドビットシリアル信号においてビットパターンを検知し、
ｅ）前記タイミング信号が活性化される期間中のインターバルを測定し、
ｆ）前記測定したインターバルのうちの１つに応答してローカルクロック信号の期間Ｐを調節する、
上記各ステップを有していることを特徴とする方法。
【請求項２】
請求項１において、ステップｄ）が、前記ビットシリアル信号におけるある数のビットｘに対するビットのパターンを検知し、前記検知が前記ｘ個のビットの状態をサンプリングすることを包含しており、前記ｘ個のビットがｘ個のビットエッジを包含しており、且つ前記ｘ個のビットをサンプリングすることが前記ビットエッジに対して同期させ次いで第一のある遅延に続いてビット状態をサンプリングすることを包含しており、前記オシレータは少なくとも１個のオシレータ信号を発生し、前記遅延は前記少なくとも１個のオシレータ信号のある数Ｌの断片的期間に応答してカウントすることにより計測され、Ｌはメモリから読取られ且つ初期的にはビット期間内に前記少なくとも１個のオシレータ信号の断片的期間が幾つ存在するかの推定に対応していることを特徴とする方法。
【請求項３】
請求項２において、前記タイミング信号のうちの最初の信号は前記ｘ個のビットに対応する第一インターバルに対して活性化され、且つステップｅ）は前記第一インターバルに対して前記少なくとも１個のオシレータ信号の断片的期間のある数Ｍをカウントすることを包含していることを特徴とする方法。
【請求項４】
請求項３において、本方法がＬをＭに応答して新たな値で置換させることを包含しており、Ｌの新たな値はビット期間内に前記少なくとも１個のオシレータ信号の断片的期間が幾つ存在するかのより正確な推定であることを特徴とする方法。
【請求項５】
請求項４において、ステップｄ）は前記ビットパターンにおけるある数のビットｙに対するビットのパターンを検知することを包含しており、前記検知は前記ｙ個のビットの状態をサンプリングすることを包含しており、前記ｙ個のビットは前記ｘ個のビット及びその後のｙ−ｘ個のビットを包含しており、前記ｙ個のビットはｙ未満のビットエッジを包含しており、且つ前記ｙ−ｘ個のビットのサンプリングは前記ｙ−ｘ個のビットエッジのうちのあるものに対して同期させ且つ前記少なくとも１個のオシレータ信号のＬ個の断片的期間に応答してカウントすることにより計測されるビット状態をサンプリングすることを包含していることを特徴とする方法。
【請求項６】
請求項５において、前記タイミング信号のうちの第二のものが前記ｙ個のビットに対応する第二インターバルに対して活性化され、且つステップｅ）が前記第二インターバルに対して前記少なくとも１個のオシレータ信号のある数Ｎの断片的期間をカウントすることを包含していることを特徴とする方法。
【請求項７】
請求項６において、本方法がＮに応答してＬを新たな値と置換させることを包含しており、Ｌの新たな値は前記少なくとも１個のオシレータ信号の断片的期間がビット期間内に幾つ存在するかの更により正確な推定であることを特徴とする方法。
【請求項８】
請求項７において、前記少なくとも１個のオシレータ出力信号が多数の信号を包含していることを特徴とする方法。
【請求項９】
請求項８において、前記オシレータ出力信号がオシレータ期間の一部だけ位相偏移されていることを特徴とする方法。
【請求項１０】
請求項９において、ステップａ）が前記オシレータ出力信号のうちの１つをローカルクロック信号として供給することを包含していることを特徴とする方法。
【請求項１１】
請求項１０において、ステップｆ）が前記オシレータ出力信号のうちの１つを次に前記ローカルクロック信号を供給するために選択することを包含していることを特徴とする方法。
【請求項１２】
請求項１１において、前記オシレータ出力信号のうちの１つを選択することが、期間Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングはＬに応答することを特徴とする方法。
【請求項１３】
請求項１２において、前記ローカルクロック信号がＵＳＢ上に供給されるアップストリームデータをパルス動作させることを特徴とする方法。
【請求項１４】
請求項１１において、ステップｄ）が前記検知されたビットパターンが既知のビットパターンであることを決定することを包含していることを特徴とする方法。
【請求項１５】
請求項１４において、このような１つの既知のビットパターンがＵＳＢフレーム開始トークンであることを特徴とする方法。
【請求項１６】
請求項１４において、ステップｄ）が前記既知のビットパターンの相次ぐものを検知することを包含していることを特徴とする方法。
【請求項１７】
請求項１６において、前記タイミング信号のうちの第三のものが、前記相次ぐビットパターンのうちの１つにおけるある点から前記相次ぐビットパターンのうちの次のものにおける前記ある点への第三インターバルに対して活性化され、且つステップｅ）が前記第三インターバルに対して前記少なくとも１個のオシレータ信号のある数Ｒの期間をカウントすることを包含していることを特徴とする方法。
【請求項１８】
請求項１７において、本方法が値Ｒ及び値Ｓに応答してＬを次の値と置換させることを包含しており、尚Ｓは前記第三インターバルに対して仮定された数のビットであり、Ｌの前記次の値は前記少なくとも１個のオシレータ信号の断片的期間がビット期間内に幾つ存在するかの更により正確な推定であることを特徴とする方法。
【請求項１９】
請求項１８において、前記オシレータ出力信号のうちの１つを選択することが、期間Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングがＬに応答することを特徴とする方法。
【請求項２０】
請求項１９において、前記ローカルクロック信号がＵＳＢ上に供給されるアップストリームデータをパルス動作させることを特徴とする方法。
【請求項２１】
請求項９において、前記オシレータ期間の前記部分がＵＳＢ上にデータを供給するために必要とされるある最大のジッター未満であることを特徴とする方法。
【請求項２２】
請求項１において、前記オシレータを選択的にターンオン及びターンオフさせることを包含していることを特徴とする方法。
【請求項２３】
請求項１において、前記オシレータが前記チップ上の回路のみによって構成されていることを特徴とする方法。
【請求項２４】
請求項１において、前記オシレータがクリスタル又はピエゾ共振器へ結合されていないことを特徴とする方法。
【請求項２５】
請求項１において、ステップｆ）は低速又はフルスピードモードで動作するための期間Ｐを調節することを包含していることを特徴とする方法。
【請求項２６】
ユニバーサルシリアルバス（ＵＳＢ）上で信号を受信することに応答してローカルクロック信号を発生する装置において、
周波数を担持するローカルクロック信号を発生する発生器であって、ＵＳＢへ結合されている装置の集積回路チップ上に自走オシレータを具備しており、前記オシレータが実質的に安定な周波数で稼動するが初期的動作に対しては前記オシレータは実質的に不正確で知られている期間を具備している発生器、
ＵＳＢホスト又はハブにより送られた受信信号からシングルエンドビットシリアル信号を抽出するフロントエンド、
前記シングルエンドビットシリアル信号に応答してタイミング信号を活性化させ且つ前記タイミング信号が活性化される期間のインターバルを測定するメーター、
前記シングルルエンドビットシリアル信号におけるビットパターンを検知する検知器、
前記測定したインターバルのうちの１つに応答して前記ローカルクロック信号の期間Ｐを調節するシンセサイザー、
を有していることを特徴とする装置。
【請求項２７】
請求項２６において、前記検知器が前記ビットシリアル信号におけるある数のビットｘに対するビットのパターンを検知し、前記ｘ個のビットはｘ個のビットエッジを包含しており、前記検知することが前記ビットエッジへ同期させ次いで第一のある遅延に続いてビット状態をサンプリングすることを包含しており、前記オシレータは少なくとも１個の出力信号を有しており、前記遅延は前記少なくとも１個のオシレータ信号のある数Ｌの断片的期間に応答してカウントすることにより計測され、Ｌはメモリから読取られ且つ初期的にビット期間内に前記少なくとも１個のオシレータ信号の断片的期間が幾つ存在するかの初期的推定に対応していることを特徴とする装置。
【請求項２８】
請求項２７において、前記メーターが、
前記ｘ個のビットに対応する第一インターバルに対して前記タイミング信号のうちの第一のものを活性化させるための第一タイマー、
前記第一インターバルに対して前記少なくとも１個のオシレータ信号の期間Ｍをカウントする第一カウンター、
を有していることを特徴とする装置。
【請求項２９】
請求項２８において、前記メモリがＭに応答してＬを新たな値と置換させるメモリ制御器を有しており、Ｌの前記新たな値がビット期間内に前記少なくとも１個のオシレータ信号の期間が幾つ存在しているかのより正確な推定であることを特徴とする装置。
【請求項３０】
請求項２９において、前記検知器が前記ビットパターンにおけるある数のビットｙに対するビットのパターンを検知し、前記ｙ個のビットは前記ｘ個のビット及びその後のｙ−ｘ個のビットを包含しており、前記ｙ個のビットがｙ未満のビットエッジを包含しており、前記検知を行う場合に前記ｙ個のビットの状態をサンプリングすることを包含しており、前記ｙ−ｘ個のビットのサンプリングが前記ｙ−ｘ個のビットエッジのうちのあるものに対して同期させ且つ前記少なくとも１個のオシレータ信号の前記Ｌ個の断片的期間に応答してカウントすることにより計測されるビット状態をサンプリングすることを包含していることを特徴とする装置。
【請求項３１】
請求項３０において、前記メーターが、
前記ｙ個のビットに対応する第二インターバルに対して前記タイミング信号のうちの第二のものを活性化させるための第二タイマー、
前記第二インターバルに対して前記少なくとも１個のオシレータ信号の期間Ｎをカウントする第二カウンター、
を有していることを特徴とする装置。
【請求項３２】
請求項３１において、メモリ制御器がＮに応答してＬを次の値と置換させ、Ｌの前記次の値がビット期間中に前記少なくとも１個のオシレータ出力信号の期間が幾つ存在するかの更により正確な推定であることを特徴とする装置。
【請求項３３】
請求項２６において、前記少なくとも１個のオシレータ出力信号が多数の信号を包含していることを特徴とする装置。
【請求項３４】
請求項３３において、前記オシレータ出力信号が前記オシレータ期間の一部だけ位相偏移されていることを特徴とする装置。
【請求項３５】
請求項３４において、発生器が前記オシレータ出力信号のうちの１つを前記ローカルクロック信号として供給することを特徴とする装置。
【請求項３６】
請求項３５において、前記ローカルクロック信号を次に供給するために前記シンセサイザーが前記オシレータ出力信号のうちの１つを選択することを特徴とする装置。
【請求項３７】
請求項３６において、前記オシレータ出力信号のうちの１つを選択することが、Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングがＬに応答することを特徴とする装置。
【請求項３８】
請求項３７において、前記ローカルクロック信号がＵＳＢ上に供給されるアップストリームデータをパルス動作させることを特徴とする装置。
【請求項３９】
請求項３６において、前記検知器が、前記検知されたビットパターンが既知のビットパターンであることを決定することを特徴とする装置。
【請求項４０】
請求項３９において、１つのこのような既知のビットパターンがＵＳＢフレーム開始トークンであることを特徴とする装置。
【請求項４１】
請求項３９において、検知器が前記既知のビットパターンの相次ぐものを検知することを特徴とする装置。
【請求項４２】
請求項４１において、前記メーターが、
前記相次ぐビットパターンのうちの１つにおけるある点から前記相次ぐビットパターンのうちの次のものにおける前記ある点への第三インターバルを活性化させる第三タイマー、
前記第三インターバルに対して前記少なくとも１個のオシレータ信号の期間をカウントする第二カウンタ、
を有していることを特徴とする装置。
【請求項４３】
請求項４２において、本メモリ制御器が値Ｒ及び値Ｓに応答してＬを次の値と置換させ、Ｓは前記第三インターバルに対しての仮定されたある数のビットであり、Ｌの前記次の値はビット期間中において前記少なくとも１個のオシレータ信号の断片的期間が幾つ存在するかの更により正確な推定であることを特徴とする装置。
【請求項４４】
請求項４３において、前記オシレータ出力信号のうちの１つを選択することが、Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングがＬに応答することを特徴とする装置。
【請求項４５】
請求項４４において、前記ローカルクロック信号がＵＳＢ上に供給されるアップストリームデータをパルス動作させることを特徴とする装置。
【請求項４６】
請求項３４において、前記オシレータ期間の前記一部がＵＳＢ上にデータを供給するのに必要とされるある最大ジッター未満であることを特徴とする装置。
【請求項４７】
請求項２６において、前記オシレータを選択的にターンオン及びターンオフされるべく動作可能であることを特徴とする装置。
【請求項４８】
請求項２６において、前記オシレータがチップ上の回路のみから構成されていることを特徴とする装置。
【請求項４９】
請求項２６において、前記オシレータがクリスタル又はピエゾ共振器へ結合されていないことを特徴とする装置。
【請求項５０】
請求項２６において、前記シンセサイザーが低速又はフルスピードモードにおける本装置の動作に対する期間Ｐを調節すべく動作可能であることを特徴とする装置。
【請求項５１】
ユニバーサルシリアルバス（ＵＳＢ）上の信号を受取ることに応答してローカルクロック信号を発生する装置において、
周波数を担持するローカルクロック信号を発生する発生手段であって、ＵＳＢへ結合されている装置の集積回路チップ上に自走オシレータ手段を具備しており、前記オシレータ手段が実質的に安定な周波数において稼動するが初期的に実質的に不正確な状態で知られている期間を具備している発生手段、
ＵＳＢホスト又はハブにより送信された受信信号からシングルエンドビットシリアル信号を抽出する抽出手段、
前記シングルエンドビットシリアル信号に応答してタイミング信号を活性化させ且つ前記タイミング信号が活性化される期間中のインターバルを測定する計測手段、
前記シングルルエンドビットシリアル信号におけるビットパターンを検知する検知手段、
前記測定したインターバルのうちの１つに応答して前記ローカルクロック信号の期間Ｐを調節する合成手段、
を有していることを特徴とする装置。
【請求項５２】
請求項５１において、前記検知手段が前記ビットシリアル信号におけるある数のビットｘに対するビットのパターンを検知し、前記ｘ個のビットがｘ個のビットエッジを包含しており、前記検知することが前記ビットエッジへ同期させ次いで第一のある遅延に続いてビット状態をサンプリングすることを包含しており、前記オシレータ手段が少なくとも１個のオシレータ信号を発生し、前記遅延は前記少なくとも１個のオシレータ信号の第一のある数Ｌの断片的期間に応答してカウントすることにより計測され、Ｌはメモリから読取られ且つ初期的に前記少なくとも１個のオシレータ信号の断片的期間がビット期間内に幾つ存在するかの初期的推定に対応していることを特徴とする装置。
【請求項５３】
請求項５２において、前記計測手段が、
前記ｘ個のビットに対応する第一インターバルに対するタイミング信号のうちの第一のものを活性化させる第一タイミング手段、
前記第一インターバルに対する前記少なくとも１個のオシレータ信号の期間Ｍをカウントする第一カウント手段、
を有していることを特徴とする装置。
【請求項５４】
請求項５３において、前記メモリがＭに応答してＬを新たな値で置換させるメモリ制御手段を有しており、Ｌの前記新たな値は前記少なくとも１個のオシレータ信号の期間がビット期間内に幾つ存在するかのより正確な推定であることを特徴とする装置。
【請求項５５】
請求項５４において、前記検知手段が前記ビットパターンにおけるある数のビットｙに対するビットのパターンを検知し、前記ｙ個のビットが前記ｘ個のビットとその後のｙ−ｘ個のビットとを包含しており、前記ｙ個のビットがｙ未満のビットエッジを包含しており、前記検知することが前記ｙ個のビットの状態をサンプリングすることを包含しており、前記ｙ−ｘ個のビットをサンプリングすることが前記ｙ−ｘ個のビットエッジのあるものに対して同期させ且つ前記少なくとも１個のオシレータ信号のＬ個の断片的期間に応答してカウントすることにより計測されたビット状態をサンプリングすることを包含していることを特徴とする装置。
【請求項５６】
請求項５５において、前記計測手段が、
前記ｙ個のビットに対応する第二インターバルに対して前記タイミング信号のうちの第二のものを活性化させる第二タイミング手段、
前記第二インターバルに対して前記少なくとも１個のオシレータ信号の期間Ｎをカウントする第二カウント手段、
を有していることを特徴とする装置。
【請求項５７】
請求項５６において、前記メモリ制御手段がＮに応答してＬを次の値で置換させ、Ｌの前記次の値は前記少なくとも１個のオシレータ出力信号の期間がビット期間内に幾つ存在するかの更により正確な推定であることを特徴とする装置。
【請求項５８】
請求項５１において、前記少なくとも１個のオシレータ出力信号が多数の信号を包含していることを特徴とする装置。
【請求項５９】
請求項５８において、前記オシレータ出力信号が前記オシレータ期間の一部だけ位相偏移されていることを特徴とする装置。
【請求項６０】
請求項５９において、前記発生手段が前記オシレータ出力信号のうちの１つを前記ローカルクロック信号として供給することを特徴とする装置。
【請求項６１】
請求項６０において、前記合成手段が次に前記ローカルクロック信号を供給するために前記オシレータ出力信号のうちの１つを選択することを特徴とする装置。
【請求項６２】
請求項６１において、前記オシレータ出力信号のうちの１つを選択することが、Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングがＬに応答することを特徴とする装置。
【請求項６３】
請求項６２において、前記ローカルクロック信号がＵＳＢ上に供給されたアップストリームデータをパルス動作させることを特徴とする装置。
【請求項６４】
請求項６３において、前記検知器が、前記検知されたビットパターンが既知のビットパターンであるか否かを決定することを特徴とする装置。
【請求項６５】
請求項５７において、前記既知のビットパターンがＵＳＢフレーム開始トークンであることを特徴とする装置。
【請求項６６】
請求項５７において、前記検知手段が前記既知のビットパターンの相次ぐものを検知することを特徴とする装置。
【請求項６７】
請求項６４において、前記計測手段が、
前記相次ぐビットパターンのうちの１つにおけるある点から前記相次ぐビットパターンのうちの次のものにおける前記ある点への第三インターバルを活性化させる第三タイミング手段、
前記第三インターバルに対して前記少なくとも１個のオシレータ信号の期間をカウントする第二カウント手段、
を有していることを特徴とする装置。
【請求項６８】
請求項６７において、前記メモリ制御器が値Ｒ及び値Ｓに応答してＬを次の値で置換させ、Ｓは前記第三インターバルに対する仮定されたある数のビットであり、Ｌの前記次の値は前記少なくとも１個のオシレータ信号の断片的期間がビット期間中に幾つ存在するかの更により正確な推定であることを特徴とする装置。
【請求項６９】
請求項６８において、前記オシレータ出力信号のうちの１つを選択することが、Ｐを調節するために前記ローカルクロック信号のエッジ位置の選択のタイミングをとることを包含しており、前記タイミングがＬに応答することを特徴とする装置。
【請求項７０】
請求項６９において、前記ローカルクロック信号がＵＳＢ上に供給されるアップストリームデータをパルス動作させることを特徴とする装置。
【請求項７１】
請求項７０において、前記オシレータ手段期間の前記一部がＵＳＢ上にデータを供給するのに必要とされるある最大ジッター未満であることを特徴とする装置。
【請求項７２】
請求項７１において、前記オシレータ手段が選択的にターンオン及びターンオフされるべく動作可能であることを特徴とする装置。
【請求項７３】
請求項５１において、前記オシレータ手段がチップ上の回路のみから構成されていることを特徴とする装置。
【請求項７４】
請求項５１において、前記オシレータ手段がクリスタル又はピエゾ共振器へ結合されていないことを特徴とする装置。
【請求項７５】
請求項５１において、前記合成手段が、低速又はフルスピードモードにおける本装置の動作のために期間Ｐを調節すべく動作可能であることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユニバーサルシリアルバス（ＵＳＢ）装置用の内部基準クロックに関するものであって、更に詳細には、ＵＳＢホスト又はハブにより送られたダウンストリーム受信ＵＳＢ信号Ｄ＋及びＤ−によって計測される集積化された自走オシレータを使用して基準クロックを発生する技術に関するものである。
【背景技術】
【０００２】
ＵＳＢ装置は以下に説明する理由により正確なクロックを必要とする。ホスト又はハブがＵＳＢ装置へダウンストリームデータを送信する場合に、該データの論理状態、即ち「１」及び「０」を認識するためにこのデータストリームを装置端部においてサンプルすることが必要である。適切なペースで周期的にサンプルが発生するためには、サンプリングクロックはホスト又はハブにおけるダウンストリームトラフィックのタイミングをとる周波数と同様の周波数を有するものでなければならない。
【０００３】
同様に、該装置がバス上をアップストリームデータを送信する場合に、ホスト又はハブ端部において「１」及び「０」を認識するためにこのデータストリームをサンプルすることが必要である。適切なペースでサンプリングが周期的に発生するためには、サンプリングクロックは該装置におけるアップストリームトラフィックのタイミングをとる周波数と同様の周波数を有するものでなければならない。
【０００４】
従来技術においては、ホスト又はハブ及び装置クロック周波数は類似している。何故ならば、該装置及び該ホスト又はハブの両方がクォーツクリスタル又はピエゾ共振器に基づくクロックを有しているからである。
【０００５】
上述したクロックの類似性に加えて、受信ビットセルの中間においてサンプリングが発生する必要性がある。差動受信器出力のサンプリングは、差動受信器出力が安定な状態を与えるビットセルの中間において発生することが必要である。この最後の条件を満足させるために、上述した２つのクロックはフェーズロックされることが必要である。アップストリーム及びダウンストリームの両方の方向における各メッセージのヘッダーにおける同期パターンは、装置クロックのホスト又はハブのクロックに対する及びその逆の場合のフェーズロックを可能とさせる。同期パターン（ＳＰ）ヘッダーを補足して、ノンリターンツーゼロ（ＮＲＺＩ）エンコーディングと結合されたビットスタッフィング技術は、受信クロックを同期させるために使用されるデータストリーム内のある遷移を保証する。即ち、少なくとも、受信端部において７ビット毎に１つの遷移が発生することが保証される。
【０００６】
要約すると、フルスピード（ＦＳ）即ち全速装置クロックは、ホスト又はハブクロックに同期した状態で毎秒１２Ｍｂｉｔ±０．２５％の平均速度で受信データをサンプルするか又は送信データを駆動することが必要であり、且つその逆も又真である。
【０００７】
アップストリームの状態においては、装置がホスト又はハブへデータを送る場合であり、平均速度が正確なものでなければならないばかりでなく、相次ぐ遷移に対するデータストリームのジッター特性が±３．５ｎｓより良好なものでなければならず、且つ対構成とされた遷移の場合には±４ｎｓよりも良好なものでなければならない。
【０００８】
クォーツクリスタル又はピエゾ共振器に基づいたクロック発生器は、従来、高いレベルの精度の平均速度及び小さなジッターの両方を提供するために使用されていた。
【０００９】
ＵＳＢ装置は「ＵＳＢ」バス、即ちＶBUS、ＧＮＤ、Ｄ＋、Ｄ−を包含するオンザゴー補足（ＯＴＧ）がある場合又はない場合のＵＳＢ２．０仕様の条件を満足するバス上でデータを受信及び送信する。ＵＳＢ装置は、典型的に、ＰＣＢ上の１つ又はそれ以上のその他のコンポーネントへ接続されているピンを具備する少なくとも１個の集積回路（ＩＣ）を具備する少なくとも１個のプリント回路基板（ＰＣＢ）を有している。このような態様の形態とされたＵＳＢ装置は、例えば、あるものはフラッシュメモリ技術を使用し且つ他のものはコンパクトディスク技術を使用する大量記憶装置、プリンタ装置又はカメラ装置を包含している。
【００１０】
これらのＵＳＢ装置においては、ＩＣの少なくとも１個のピンは、ＩＣに対して外部的にＰＣＢ上に位置されているクォーツクリスタル又はピエゾ共振器と接続するために使用される。多くのこのような装置において、クォーツクリスタル又はピエゾ共振器をＩＣへ接続するために専用のエキストラなピンはＩＣの全体的なピンの比較的小さな割合であり、且つクォーツクリスタル又はピエゾ共振器は全体的なＰＣＢ面積の比較的小さな部分を占有する。従って、これらの装置においては、クォーツクリスタル又はピエゾ共振器はそれらの全体的なアーキテクチャと適合性がある。
【００１１】
図１を参照すると、クォーツクリスタル又はピエゾ共振器１５０により駆動される基準クロック発生器１３０を使用した従来の構成の側面が例示されている。この構成によれば、ＵＳＢ装置１１０はＵＳＢのＤ＋及びＤ−ライン上でダウンストリーム信号を受取り且つアップストリーム信号を送信するため及びファンクション即ち機能部１４０への及びそれからのデータリンクを管理するためのシリアルエンジン、トランシーバ及びデータストリームマネジャ用の集積回路を具備する少なくとも１個のシリコンブロック１２０を包含している。
【００１２】
ＵＳＢ装置１１０は前述した大量記憶装置、プリンタ装置又はカメラ装置等のファンクション１４０をユーザにもたらす。装置１１０はバスによって電力が供給される場合にはＶBUSにより、又は自己電力供給型である場合には外部電源により電力が供給される。図１は何等特定のファンクション１４０を示すことなしに一般化した態様においてバスで電力が供給される装置１１０を表わしている。
【００１３】
装置１１０がメモリ、計算資源、暗号又はファイル管理等のＩＣ技術と適合性のあるファンクションをもたらすために、ファンクション１４０は単一のシリコンブロック内に合体させることが可能である。基準クロック発生器１３０がシリコンブロック１２０へクロックを送給する。基準クロック発生器１３０はシリコンブロック１２０クロックが必要とするに役立つ電気信号を発生するためにクォーツクリスタル又はピエゾ共振器と関連する少なくとも１個のＩＣを包含している。シリコンブロック１２０と基準クロック発生器１３０との間に基準クロック発生器を開始させるか又は停止させるために使用するためにイネーブル信号線が存在している。これは、必要とされる場合にクロックを開始させ且つ特に全体的な電力消費を減少させるために必要とされない場合にそれを停止させるためにシリコンブロック１２０をイネーブルさせる。
【００１４】
図２はクォーツクリスタル又はピエゾ共振器２５０がシリコンブロック２２０へ接続されている場合の装置２１０に対する別の従来技術の構成の側面を表わしている。図１におけるように、図２のシリコンブロック２２０はダウンストリーム信号を受信し且つＵＳＢのＤ＋及びＤ−ライン上にアップストリーム信号を送信するのみならずファンクション２４０から及びそれへのデータストリームを管理する。然しながら、図２の装置２１０においては、クロック発生器は単一のシリコンブロック２２０上のシリアルエンジン、トランシーバ、データストリームマネージャ集積回路に包含されている。ファンクション２４０も、同様に、シリコンブロック２２０上に合体させることが可能である。
【００１５】
電力消費、寸法、パッケージングに関する制限を包含する多数の論点のために、図１及び２の従来技術のＵＳＢ装置１１０及び１２０はある適用例にとって問題である。これらの適用例は、新たなファミリィのＵＳＢ装置、直接的にパソコン（ＰＣ）ＵＳＢポートへ接続されているリムーバブルセキュアコンテント（ＲＳＣ）装置、又は多分デカップリングコンデンサ及び突入電流制限用直列抵抗と共にコネクタを介して単純なパスを介し例えばＯＴＧデュアルロール装置又はセットトップボックス等の任意のイネーブルされたＵＳＢホストを包含している。
【００１６】
これらのＲＳＣ装置は例えばユーザ認証、プラットフォームログオン、パブリックキーインフラストラクチャ、及びボイス・オーバー・ザ・インターネット・プロトコル（ＶＯＩＰ）用のデジタル電源管理、ケーブルＴＶ、デジタル加入者線（ＤＳＬ）等の新しい範囲の適用例を可能なものとし、その場合に、暗号解読しながらのデータストリーム操作、又は医学的及び例えば銀行口座等のその他の個人的情報に対するデータ格納に対する必要性が存在している。これらの装置はトークンの形態のファクタ又は、好適には、スマートカードの形態のファクタ、フォームファクタ等を有しており、それらは公知である。
【００１７】
このような１つのＲＳＣ装置はＵＳＢ集積化チップカード（ＵＳＢ−ＩＣＣ）としても知られているＵＳＢスマートカードであり、それの機械的仕様はＩＳＯ７８１６−２仕様において記述されており、それを引用によって本明細書に取込む。設計上、ＵＳＢ−ＩＣＣは、単一のＩＣのピンを相互接続させるために８個の外部コンタクトを有しているに過ぎない。ＵＳＢ−ＩＣＣ外部コンタクトのうちの４個、即ちＣ１，Ｃ４，Ｃ５，Ｃ８は、夫々、ＶBUS、Ｄ＋、ＧＮＤ、Ｄ−を接続するために使用される。クォーツクリスタル又はピエゾ共振器は、８５０μｍ未満の所要のカード厚さ内でＵＳＢ−ＩＣＣのＩＣへ接続させることは不可能である。
【００１８】
更に、ＵＳＢ−ＩＣＣ及びその他のＵＳＢＲＳＣ装置は、電力消費を考慮したものでなければならない。何故ならば、それらは例えばラップトップコンピュータ、モーバイル電話及びパーソナルデジタルアシスタント等のバッテリ駆動型ＵＳＢホストへ接続することが可能だからである。後者の２つの装置はバス駆動型装置に対して電流の使用可能性が制限されたデュアルロール（ｄｕａｌ−ｒｏｌｅ）ＯＴＧ装置とすることが可能である。例えば、これらの適用例においては、サスペンド状態にある間の動作に対して数百マイクロアンペア未満の電力消費に制限される。
【００１９】
ＲＳＣ装置は、好適には、スマートカード又は加入者識別モジュール（ＳＩＭ）内に埋設すべき単一チップを利用して実現され、そのことは大量の普及を可能とさせる。全てのプラスチッククレジットカード及びデジタル権限管理（ＤＲＭ）カードは将来このようなチップを装備することが可能である。
【００２０】
ＷｉＦｉ又は８０２．１１の文脈において、１つの適用例は、ＳＩＭとして作用するばかりでなくトランズアクション即ち取引の安全確保を行うためにリムーバブルセキュアコンテント即ち着脱自在なコンテント安全装置に対するものとすることが可能である。モーバイルプラットフォーム上で使用される場合には、電力消費性能が最も重要である。
【００２１】
図１及び２の従来のＵＳＢ装置１１０及び１２０の制限のうちの幾つかに対処する公知の設計が存在している。２００２年１月２９日に発行された発明者Ｌｅｙｄｉｅｒ  ｅｔ  ａｌ．の米国特許第６，３４３，３４６号「ユニバーサルシリアルバスダウンストリーム受信信号ＤＰ及びＤＭを使用してローカルクロックを発生する方法及び装置（Ｍｅｔｈｏｄ  ａｎｄ  ｄｅｖｉｃｅ  ｆｏｒ  ｌｏｃａｌ  ｃｌｏｃｋ  ｇｅｎｅｒａｔｉｏｎ  ｕｓｉｎｇ  ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ  ｄｏｗｎｓｔｒｅａｍ  ｒｅｃｅｉｖｅｄ  ｓｉｇｎａｌｓ  ＤＰ  ａｎｄ  ＤＭ）」（「Ｌｅｙｄｉｅｒ，  ｅｔ  ａｌ」）は、このような１つの設計を開示しており且つそれを引用によって本明細書に取込む。
【００２２】
Ｌｅｙｄｉｅｒ，  ｅｔ  ａｌ．はクォーツクリスタル又はピエゾ共振器なしでデータを受信及び送信するために使用される単一ＩＣ上のクロックを発生するためにＤ＋及びＤ−上のＵＳＢダウンストリーム信号を使用することを開示しており、且つＬｅｙｄｉｅｒ，  ｅｔ  ａｌ．は、更に、ＵＳＢ低速（ＬＳ）装置の文脈におけるホスト又はハブにより送信された信号Ｄ＋及びＤ−からクロックを回復するための方法及び装置を開示している。そこに開示された方法及び装置は、ＵＳＢ−ＩＣＣ又はＬＳにおいて動作するＲＳＣ装置においてクロックを発生するためにＩＣ内において実現される。
【００２３】
Ｌｅｙｄｉｅｒ，  ｅｔ  ａｌ．は、又、ＦＳ  ＵＳＢ−ＩＣＣ又はこのようなＲＳＣ装置に対する適用例も示している。然しながら、ＬＳ動作と比較して、ＵＳＢ仕様及びＯＴＧ補足はＵＳＢ  ＦＳモードで動作する装置に対して平均データレート及びジッター特性の増加された精度条件を課すものである。そのために、且つＬＳ及びＦＳモードに対して特定される通信パターンにおける差に起因して、ホスト又はハブにより送信されたＤ＋及びＤ−上の信号に関してクロック回復における更なる改良に対する必要性が存在している。
【００２４】
Ｂｒｕｈｎｋｅの国際公開番号ＷＯ０２／１７０４７Ａ２、国際特許出願番号ＰＣＴ／ＤＥ０１／０３１８７「特にＵＳＢ装置用のクロック発生器（Ｃｌｏｃｋ  ｇｅｎｅｒａｔｏｒ，  ｉｎ  ｐａｒｔｉｃｕｌａｒ，  ｆｏｒ  ＵＳＢ  ｄｅｖｉｃｅｓ）」、公開日：２００２年２月２８日（「Ｂｒｕｈｎｋｅ」）は、ホスト又はハブから受信した信号からクロックを回復するためにクォーツクリスタルなしでＵＳＢ装置に対する別の態様を開示している。
【００２５】
Ｂｒｕｈｎｋｅにより開示された方法は、パルスの安定化したストリームを発生させるためにローカルクロックからエキストラなパルスを除去する。特に、Ｂｒｕｈｎｋｅの６頁１５行から始まる部分において、各３４個のパルスがクロック１２から除去されることが記載されている。その結果得られる数のパルスはこのｍｓ当たりの平均データレートにおいてミリ秒（ｍｓ）当たりの理論的なパルス数と一致するが、安定化されたパルスストリームにおける殆ど全てのパルスに対して、パルスからパルスへのペースは±０．２５％の許容可能なエラーを超えて所要の平均データレートよりも一層速いものである。従って、選択的にエキストラなクロックパルスを除去することのＢｒｕｈｎｋｅによって開示されている技術はジッター性能に関して問題である。
【００２６】
【特許文献１】米国特許第６，３４３，３６４号
【特許文献２】国際公開番号ＷＯ０２／１７０４７Ａ２
【発明の開示】
【発明が解決しようとする課題】
【００２７】
上述した如く、ホスト又はハブにより送信されたダウンストリーム受信ＵＳＢ信号により計測される集積化した位相オシレータを利用する基準クロックの発生において更なる改善を行うことの必要性が存在している。本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、ユニバーサルシリアルバス（ＵＳＢ）を装置に対して内部基準クロックを発生する改良した技術を提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明はユニバーサルシリアルバス（ＵＳＢ）装置用の内部基準クロックを発生する技術に関するものであり、更に詳細には、ＵＳＢホスト又はハブにより送信されたダウンストリーム受信ＵＳＢ信号Ｄ＋及びＤ−により計測される集積化した自走オシレータを利用して基準クロックを発生する技術を提供する。従来技術におけるようにクォーツクリスタル又はピエゾ共振器を利用することのない自走オシレータは安定であり且つ初期的には不正確である。自走オシレータの初期的不正確性、熱的ドリフト及び経年変化は、ダウンストリーム受信ＵＳＢ信号Ｄ＋及びＤ−からの進行中のキャリブレーションにより補償され、その結果、フルスピード（ＦＳ）装置に対して特定された供給源平均ビットレート精度及び供給源ジッターの両方と適合性のある性能で基準クロックを発生させる。該基準クロックはダウンストリームトラフィックをサンプルし且つアップストリームトラフィックをパルス動作させる。
【発明を実施するための最良の形態】
【００２９】
図３は本発明の好適実施例において何等のクォーツクリスタル又は共振器を利用することなしにそのクロックを統合するシリコンブロック３７０を表わしている。図３を参照すると、本発明の１実施例に基づくＵＳＢ装置３９０の概略図が示されている。ＵＳＢ装置３９０のクロック３９５は、クォーツクリスタル又はピエゾ共振器を利用することなしに完全にシリコンブロック３７０上に統合されている。ＵＳＢ装置３９０のファンクション即ち機能部３９８は同一のシリコンブロック３７０上に統合させることが可能である。このことは、好適には、ファンクション３９８がメモリ３９３を提供するか又は中央処理装置（ＣＰＵ）３９４により行われる暗号化又はその他の計算を実施する場合である。そうである場合には、ＶBUS、ＧＮＤ、Ｄ＋３７６、Ｄ−３７５への接続を包含し、且つフロントエンド３９６、ＳＵＢエンジン３９７、クロック３９５用の回路を包含して、全てが完全にシリコンブロック３７０上に統合される。ＣＰＵ３９４及びメモリ３９３はインターフェース３９２を介してクロック３９５とインターフェースを行う。クロック３９５は発生器３９５Ａ、メーター３９５Ｂ、メモリ３９５Ｃ、シンセサイザー３９５Ｄ、検知器３９５Ｅを包含している。ユーザにもたらされるファンクション３９８もＵＳＢシリアルエンジン３９７へ接続されている。
【００３０】
検知器３９５ＥはＮＲＺＩＤＤＷ８０４を介してシリアルエンジン３９７により受信されるビットパターンを追跡する。
【００３１】
次に、図４を参照すると、ホスト又はハブ３００と共に、ダウンストリームトラフィック状態において図３のＵＳＢ装置３９０をより詳細に示してある。クォーツクリスタル又はピエゾ共振器３５０により駆動されるホスト又はハブ３００がダウンストリームトラフィックをＵＳＢ装置３９０へ送信する。
【００３２】
ハブ又はホスト３００は、入力ＴＸＤＰＨ及び入力ＴＸＥＮＨに応答してＤ＋３７６ラインを駆動するドライバ３１５を包含している。ホスト又はハブ３００は、又、入力ＴＸＤＭＨ及び入力ＴＸＥＮＨに応答してＤ−３７５ラインを駆動するドライバ３２０を包含している。ＴＸＥＮＨは両方の送信器３１５及び３２０をイネーブル即ち動作可能とさせる。ホスト又はハブ３００において、ケーブル３６５のＤ＋３７６及びＤ−３７５ラインは夫々の負荷抵抗３３０及び３２５において終端している。ＤＡＴＡＨＥＷ３０５上のデータがクォーツクリスタル又はピエゾ共振器３５０を利用するクロックによりバス上でパルス動作される。
【００３３】
ＵＳＢ装置３９０はコネクタ３６０及びケーブル３６５を介して通過すべく着脱自在に結合されているシリコンブロック３７０を具備している。説明の便宜上、バス駆動型装置３９０に近いＶBUSとＧＮＤとの間のデカップリングコンデンサ及びＶBUSと直列している突入電流制限用抵抗は図示していない。前述した如く、図示したＵＳＢ装置３９０の唯一のアクティブな部品であるシリコンブロック３７０はクォーツクリスタル又はピエゾ共振器を利用するものではない。クロックＣＬＫ１Ｘ８０３が図３に示した本発明の１実施例に基づくシリコンブロック３７０において構築される。クロック３９５、フロントエンド３９６（差動増幅器３７７、スイッチ３７２，３７３から３７４、プルアップ抵抗３７１、ＶＴＥＲＭを包含する）ＵＳＢエンジン３９７、関連するファンクション即ち機能は全てシリコンブロック３７０上に包含されている。
【００３４】
フロントエンド３９６において、シリコンブロック３７０上の集積化した即ち統合したプルアップ抵抗３７１の一方の端部が集積化した基準電圧ＶＴＥＲＭへ接続しており、他方の端部は、以下の如くに、Ｄ＋３７６、Ｄ−３７５へ接続されるか又は開放のままとされる。スイッチ３７４は、装置３９０がＵＳＢへ取付けられていない場合にオンであり、その場合には、ホスト又はハブ３００はそれを検知することは不可能である。装置３９０がＵＳＢへ取付けられており且つＦＳ装置として実施する場合には、スイッチ３７３がオンであり、それにより基準電圧ＶＴＥＲＭをＤ＋３７６へ導電的に結合させる。スイッチ３９０がＵＳＢへ取付けられており且つＬＳ装置として実施する場合には、スイッチ３７２はオンであり、それにより基準電圧ＶＴＥＲＭをＤ−３７５へ導電的に結合させる。図示例によれば、スイッチ３７４，７３７又は３７２のうちの１つのみが与えられた時間においてオンである。
【００３５】
又、フロントエンド３９６において、差動受信器３７７がＤ＋３７６及びＤ−３７５ライン上のホスト又はハブ３００からの信号を受信し且つそれに応答してシングルエンド信号をＲＸＤＤＷ８０２を発生する。Ｄ＋３７６がＤ−３７５より大きい場合には、受信器３７７はＲＸＤＤＷ８０２を高へ駆動する。Ｄ＋３７６がＤ−３７５未満である場合には、受信器３７７はＲＸＤＤＷ８０２を低へ駆動する。
【００３６】
以下に更に詳細に説明するように、クォーツクリスタル又はピエゾ共振器３５０へ駆動回路によりクロック動作されるホスト又はハブ３００により既知のビットパターンが装置３９０へダウンストリーム方向に送信される。該実施例によれば、これらの受信パターンに応答して、クロック３９５（図３）がダウンストリームトラフィックを受信するためのローカルクロック信号ＣＬＫ１Ｘ８０３を合成する。
【００３７】
速度信号１００がスイッチ３７３及び３７２に応答してフロントエンド３９６により発生される。
【００３８】
次に、図５を参照すると、ＵＳＢ装置３９０が再度示されており、この場合には、ホスト又はハブ３００へのアップストリームトラフィックの文脈において示されている。この構成においては、ＵＳＢ装置３９０のフロントエンド３９６は集積化したドライバ３８２及び３８３を包含している。ドライバ３８２は入力ＴＸＤＰＤ及び入力ＴＸＥＮＤに応答してＤ＋３７６ラインを駆動する。ドライバ３８３は入力ＴＸＤＭＤ及び入力ＴＸＥＮＤに応答してＤ−３７５ラインを駆動する。ＴＸＥＮＤは両方の送信器３８２及び３８３をイネーブルさせる。クロック３９５からのＣＬＫ１Ｘ８０３（図３）によって、ＮＲＺＩＵＰ３８５データはＤ＋３７６上でパルス動作され且つ反転されたＮＲＺＩＵＰ３８５はＤ−３７５上でパルス動作される。
【００３９】
ホスト又はハブ３００において、差動受信器３４０がＤ＋３７６及びＤ−３７５ライン上の装置３９０からの信号を受信し且つそれに応答してシングルエンド信号ＲＸＤＨＵＰ３５５を発生する。Ｄ＋がＤ−より大きい場合には、受信器３４０はＲＸＤＨＵＰ３５５を高へ駆動する。Ｄ＋がＤ−未満である場合には、受信器３７７はＲＸＤＨＵＰ３５５を低へ駆動する。クォーツクリスタル又はピエゾ共振器３５０を利用するクロックでＲＸＤＨＵＰ３５５をサンプリングする回路３１０によりＮＲＺＩＵＰ３４５データストリームが検知される。
【００４０】
クォーツクリスタル又はピエゾ共振器３５０駆動型回路によりクロック動作されるホスト又はハブ３００により装置３９０へダウンストリーム方向に送信される既知のビットパターンは以下に更に詳細に説明するように受信されていた（図４）。該実施例によれば、クロック３９５（図３）がアップストリームトラフィックをパルス動作させるためにローカルクロック信号ＣＬＫ１Ｘ８０３を合成する。
【００４１】
図６を参照すると、本発明の論理的側面が１実施例に基づくフローチャート６００に示されている。
【００４２】
ステップ２６０において、Ｄ＋及びＤ−受信ダウンストリームＵＳＢトークンフレーム開始（ＳＯＦ）が同期パターン（ＳＰ）で開始する。クロック３９５（図３及び更に以下に詳細に説明する）がＳＰ及びＳＯＦのその他の部分においてビットの既知のパターンを検知する。既知のパターンを検知することに応答して、クロック３９５（図３）が発生器３９５Ａを計測し且つより正確であるが未だに比較的粗いＵＳＢ装置クロック信号ＣＬＫ１Ｘ８０３を発生させるために発生器３９５Ａ出力信号のその選択を調節する。
【００４３】
ステップ２６５において、ステップ２６０において定義された粗いクロックを使用して未知のパターンをスキャンし且つ１２Ｍｂｉｔ／秒の理論的平均速度でホスト又はハブ３００（図４）により送信された１２，０００に等しい理論的ビット数Ｓを区画する連続するＳＯＦの時間マークを検知する。ＳＯＦは１ミリ秒±０．０５％毎にＦＳ装置へブロードキャストされる。
【００４４】
ステップ２７０において、クロック３９５はステップ２６５からの結果を使用し、即ち、１ミリ秒±０．０５％で発生する１２，０００理論的ビットに等しいＳの期間を発生器３９５Ａ周期で計測する。その計測結果により、クロック３９５は、再度、精密なローカルクロック信号ＣＬＫ１Ｘ８０３、即ち±０．２５％より良い精度の信号を発生するために発生器３９５Ａ出力信号のその選択を調節する。この精密なクロック信号ＣＬＫ１Ｘ８０３は正確な平均データレート及び制御されたジッターでアップストリームトラフィックをパルス動作させる。有益的なことであるが、このクロックＣＬＫ１Ｘ８０３はダウンストリームの受信にも貢献する。
【００４５】
ループバック２７５はプロセスの進行中の側面を表わしており、それによれば、連続する受信ＳＯＦに応答してＣＬＫ１Ｘ８０３の反復的調節が行われ、従って発生器３９５Ａの期間即ち周期の初期的不正確性、熱的ドリフト及び経年変化に対する補償を行う。
【００４６】
図７を参照すると、ＬＳ又はＦＳモードでＵＳＢ装置３９０へホスト又はハブ３００（図４）により送信された場合のＳＥＴＵＰトークン４００が例示されている。ＳＥＴＵＰトークン４００は有意性のあるものであり、従って、ホスト又はハブに面するＬＳ装置により受信される最初のパケットである可能性があるのでここで説明する。このようなトークン４００は図示した如く４バイトを包含しており、即ちＳＰ（又は、単に「Ｓｙｎｃ」）バイト４１０、パケット識別子ＰＩＤバイト４１５、ＳＥＴＵＰトークン４００が送信されるターゲットＵＳＢ装置３９０のアドレスに対する７ビットアドレスＡＤＤＲ４１６、このターゲットＵＳＢ装置３９０の終了点番号に対する６ビット終了点番号ＥＮＤＰ０  ４１７である。最後に、５ビット循環性冗長性チェック（ＣＲＣ）ＣＲＣ５  ４１８がある。ＡＤＤＲ、ＥＮＤＰ０、ＣＲＣビットは２バイト内に完全に包含されている。
【００４７】
図８を参照すると、図７のＳＥＴＵＰトークン４００のＳＰ４１０バイト及びＰＩＤ４１５バイトの詳細が示されている。ＵＳＢがアイドルである場合に、ＬＳ装置は、Ｄ−３７５がＤ＋上の電圧よりも大きな電圧にあるという事実により特性づけられる。このようなＬＳ装置上において、スイッチ３７２はオンである。ＬＳ装置上において、スイッチ３７２（図４）はオンである。ホスト又はハブ３００（図４）はＬＳ装置を認識し且つＬＳパケットをＬＳ装置に対してのみブロードキャストする。ＬＳモードにおいて、平均データ処理能力はアップストリームトラフィックに対して１．５Ｍｂｉｔ／秒±１．５％である。上述した如く、ＬＳ装置はＳＯＦを受信することはない。ＤＡＴＡＨＤＷ３０５はホスト又はハブ３００により送信されたダウンストリームデータトラフィックである。ＮＲＺＩＨＤＷ３６０はドライバ３１５及び３２０（図４）を介してバスラインＤ＋３７６及びＤ−３７５を駆動するノンリターンツーゼロプロトコルでコード化されたデータトラフィックＤＡＴＡＨＤＷ３０５である。この場合において、受信装置３９０（図４）のフロントエンド３９６（図４）はＲＸＤＤＷ８０２を発生する。前述した如く、ＳＥＴＵＰトークン４００はこのようなＬＳ装置３９０による第一受信パケットである可能性があるので、ブロック３９５（図３）における発生器３９５Ａ信号は±１．５％における精度でＬＳ装置３９０用のローカルクロック信号ＣＬＫ１Ｘ８０３（図４）を合成するために±０．２５％の精度、例えば８ビット周期３０３で送信されるこの既知の受信データパターンで計測することが可能である。
【００４８】
次に、図９を参照すると、本実施例に関連性を有するＵＳＢ  ＦＳ通信のある側面が例示されている。ＵＳＢ  ＦＳ通信の場合には、データをブロードキャストすることに加えて、ホスト又はハブ３００（図４）は前に説明したＳＯＦトークン７００を周期的にブロードキャストし、そのうちの２つが示されている。これらのＳＯＦトークン７００はＦＳモードで動作しているＵＳＢ装置３９０を受信することにより応答され、スイッチ３７３がオン（図４）であるが、ＬＳモードで動作している装置３９０によるのではなく、スイッチ３７２はオン（図４）である。
【００４９】
トークン７００は図示した如く４個のバイトを包含している。最初の２つのバイトはＳＹＮＣバイト７１０及びＰＩＤバイト７１５である。フレーム番号（「ＦＲＡＭＥ」）７２０及びＣＲＣ５  ７２５は完全に更に２つのバイト内に包含されている。各々について図１１、図１４、図１５に関連して更に説明する。
【００５０】
ＳＯＦトークン７００はフレームインターバルタイミングを表わし、それは、前述したように、ホストによって１ミリ秒±０．０５％毎にブロードキャストされ且つハブによって繰返される。１ミリ秒±０．０５％のフレームインターバルは１つのフレームにおけるＳＯＦトークン内の任意の点から相次ぐフレームのＳＯＦトークン内の同一の点まで測定される。理論的データレートは１２Ｍｂｉｔ／秒であり、１フレームインターバル期間中にＳ＝１２，０００個の理論的ビットが存在している。平均データビットレートのハブの正確性は±０．２５％より良好なものでなければならないが、それらは２つの相次ぐＳＯＦ間のタイミングを可及的に１ミリ秒近くに維持することが必要とされる。ハブにおけるフレームタイミング調節はそれら自身の周波数の不正確性を補償し、例えば、−０．２％クロックを具備するハブはそれがホストから繰返す２つの相次ぐＳＯＦの間のそれ自身のクロックの理論的１１，９７６を計時する。ＦＳ  ＵＳＢ装置は２つの相次ぐＳＯＦ７００の間のこれらの既知の受信ダウンストリーム理論的Ｓ＝１２，０００個のビットを利用して発生器３９５Ａを計測し且つダウンストリームトラフィックを受信し且つアップストリームトラフィックをパルス動作するために信頼性のある±０．２５％の精度で局所的クロック信号ＣＬＫ１Ｘ８０３（図４）を合成することが可能である。
【００５１】
Ｌｅｙｄｉｅｒ，  ｅｔ  ａｌ．は安定であり且つ初期的に不正確な自走オシレータ周期を計測する既知の受信ダウンストリーム信号Ｄ＋及びＤ−を利用する装置及び方法を開示しており、その結果はローカルクロックを合成するために使用される。特にＳＯＦを受信することのないＬＳ装置に対して、装置及び方法についての更なる詳細がそこに開示されている。例えば、既知の受信ダウンストリーム信号が例えばＳＥＴＵＰ、ＩＮ又はＯＵＴ等のトークン内に包含されている。注意すべきことであるが、ホスト又はハブによりＬＳ装置上で周期的にブロードキャストされるキープアライブ（ｋｅｅｐ−ａｌｉｖｅ）信号はＵＳＢ装置上のオシレータを較正するために合理的に使用することは不可能である。何故ならば、キープアライブ信号のブロードキャストはＳＯＦトークン７００のブロードキャスト程精密にタイミングがとられていないからである。即ち、ＵＳＢ仕様２．０によれば、ＬＳ装置は、ＳＯＦが発生する全てのフレームにおいて少なくとも１個のキープアライブを見ることになる。従って、キープアライブ信号間の期間即ち周期はメータリング即ち計測において使用するのに有用なものではない。
【００５２】
上述したことに対比して、ＦＳにおいて動作するＵＳＢ装置３９０は１２Ｍｂｉｔ／秒±０．２５％の平均データレートでアップストリーム通信を発生することが要求される。例えばＳＥＴＵＰ４００（図７）のようなトークンもＦＳ装置へブロードキャストされ、ホスト又はハブ３００（図４）の精度で送信される。ＵＳＢ装置３９０は±０．０５％のホストへの接続に対するより高い精度の代わりに単に±０．２５％の平均データレート精度でハブへ接続させることが可能である。この±０．２５％のハブからの受信精度の場合には、例えばＳＥＴＵＰ等のトークンにおける既知のビットパターンはアップストリームトラフィックをパルス動作させるために必要な精度で発生器３９５Ａ期間即ち周期を計測することは不可能である。従って、ＵＳＢプロトコルに従ってクロックを発生するために本明細書において開示する好適実施例はＦＳ通信のために以下の初期的な一連のイベントを提供する。
【００５３】
ＦＳ  ＵＳＢ装置３９０（図４）がホスト又はハブのＵＳＢポートへプラグインされると、ホスト又はハブ３００はプルアップ抵抗３７１（図４及び図５）によりプルアップされたＤ＋３７６上の電圧を検知する。それに応答して、ホスト又はハブは、シングルエンドゼロ（ＳＥ０）２２３０（図２２）状態において１０ミリ秒の間Ｄ＋及びＤ−の両方をプルダウンすることによりＵＳＢ装置３９０が接続されているＵＳＢポートを「リセット」させる。ＳＥ０  ２２３０（図２２）の信号処理は新たに接続された装置３９０ポートに対してのみ経路付けされ且つ該装置の３９０ＵＳＢ検知器３０（図１８）をリセットする。装置３９０はデフォルトアドレス０を有しており且つホスト又はハブ３００によって全ての装置へブロードキャストされたＤ＋３７６及びＤ−３７５上のトラフィックを受信する。即ち、例えば装置３９０等のＦＳ装置はＦＳトラフィックを受信する。このようなトラフィックは連続するＳＯＦ７００により区画されるフレームの一部である。ＳＯＦ７００はいずれか特定の装置３９０への何か特定のコマンドを担持するものではない。従って、全てのＦＳ装置３９０はＳＯＦ７００情報を使用することが可能である。更に、データはホスト上で稼動しているアプリケーションと装置３９０によってもたらされたファンクション即ち機能との間で流れる。このような各装置３９０は排他的アドレスを有している。ＳＯＦ７００を使用、即ち応答することに加えて、各装置３９０は、又、それに対してのみアドレスされたトラフィックに対して応答する。更に、初期的にアドレスゼロに応答するこのような各装置３９０はＳＯＦ７００以外のその他のＦＳトラフィックを見る場合がある。
【００５４】
開示した実施例の方法及び装置は、基準クロックを合成するために、その期間中にアドレスゼロにおいて応答する装置に対する特定のコマンドが存在しないＳＯＦにより区画即ち区切られたこれら最初のフレームを利用する。本明細書に記載したプロセスは、数ミリ秒かかる。ホスト又はハブ３００が、アドレスゼロに応答して、装置３９０に最初のコマンドを送信すると、装置３９０のクロックＣＬＫ１Ｘ８０３は充分に正確なものでなければならず且つエラーなしで受信されるべきコマンドに対するホスト又はハブ自身の基準クロックと位相が成功裡にロックされるものでなければならない。更に、該コマンドを完了するために、装置３９０は１２Ｍｂｉｔ／秒±０．２５％の特定した平均レートで「アクノレッジ」トークンを返さねばならない。
【００５５】
図９の説明に関連して前述した如く、初期化期間中に、ホスト又はハブ３００はミリ秒毎にＵＳＢ装置３９０へＳＯＦトークン７００を送給する。装置３９０は全てのＳＦトラフィックを受信し且つＳＯＦトークン７００のＰＩＤを認識することにより２個の相次ぐＳＯＦトークン７００を認識する。バス上にＳＯＦトークン７００以外の何かが存在する場合には、ＣＳＯＦ信号７０（図１７）が最初の認識されたＳＯＦトークン７００において開始し且つ２番目の相次ぐ認識されたＳＯＦトークン７００において停止し、その他のトラフィックを無視する。
【００５６】
ＵＳＢ装置３９０クロック信号ＣＬＫ１Ｘ８０３が初期的に所要の±０．２５％精度内のものでない場合には、クロック３９５は、クロック信号ＣＬＫ１Ｘ８０３をアップストリーム通信のために充分に正確なものであるように調節するために装置記述子要求コマンドを発行する前に受信したＳＯＦトークン７００を利用することが可能である。より一般的に説明すると、ＳＯＦトークン７００は非同期的なパケットの分配を許容するためにホスト３００（及びハブにより繰返される）により精密なインターバルで例えば装置３９０等の全てのＦＳ装置へブロードキャストされ、一方、同時に、例えばオーディオ装置において、ＦＳ  ＵＳＢ装置による精密な時間スケジュールでパケットの再組立及び送給をイネーブルさせる。
【００５７】
本実施例の１つの側面によれば、精密にタイミングがとられたＳＯＦ７００（図９）を使用してＵＳＢ装置３９０（図４）のクロック信号ＣＬＫ１Ｘ８０３（図４等）を発生する。従って、どのようにしてＳＯＦ７００を検知するかについての問題が発生し、ＳＯＦ７００を使用するためには、ＵＳＢ装置３９０によって受信された信号はデコードされねばならないが、そのデコード処理は、少なくとも、部分的に、デコード処理に応答してより微細に調節されるべき正にそのＵＳＢ装置クロック信号ＣＬＫ１Ｘ８０３に依存する。ＳＯＦ７００がどのようにしてデコードされるかを理解するために、ＵＳＢ装置３９０のオンボードクロック３９５（図３）に対する発生器３９５Ａの実施例について最初に説明する。
【００５８】
次に、図１０を参照すると、ＵＳＢ装置３９０（図４）のオンボードクロック３９５（図３）に対して前述した発生器３９５Ａの側面が１実施例に基づいてより詳細に例示されている。発生器３９５Ａは高速オシレータ（ＨＳＯ）９００を包含している。ＨＳＯ９００は極性を反転させてリング状に接続された３個の差動増幅器９０５，９１０，９１５を有している。４番目の差動増幅器９２０は増幅器９１５と増幅器９０５との間の非反転バッファとして該リング内に接続されている。ＨＳＯ９００は、図示した如く、周期９２６の周期性で動作するためにイネーブル信号９２０によってイネーブルされる。増幅器９０５，９１０等の出力の極性は、該リングがスイッチ９０２へ印加されるイネーブル信号により閉じられる場合に、カスケード接続された増幅器９０５，９１０等が振動するように反転されている。差動出力増幅器９２５及び９３０，９３５及び９４０、９４５及び９５０、９５５及び９６０の夫々の対は増幅器９０５乃至９２０の各々の出力において接続されている。各出力増幅器対、例えば９２５／９３０において、これら２つの増幅器は反対の極性で接続されており、従ってそれらの出力は互いに１８０度位相がずれている。従って、増幅器９２５乃至９６０の出力は、波形９２６，９３６，９４６，９５６，９３１，９４１，９５１，９６１の組に示した如く、周期９２６の８分の１だけ段階的に遅れている。
【００５９】
図示した実施例に基づいて、ＨＳＯ９００の典型的な特性を以下にリストする。勿論、これらの特性はその他の実施例において異なる場合がある。
【００６０】
典型的な自走周期：  １０ｎｓ
初期精度：  ±３０％
粒度（８位相）：  １．２５ｎｓ
ジッター：  ５０ｐｓ
周期の熱的ドリフト［−１０℃乃至＋８０℃］：  ±２％
電力消費：  ０．０１ワット
±３０％の初期精度は、バックエンド調節のないＨＳＯ９００のネイティブＣＭＯＳリングオシレータ実現例の場合に妥当性がある。ジッターは補償することが不可能であるので重要なパラメータである。選択したＣＭＯＳ設計はこのジッターを最小のものとさせる。１／１２ＭＨｚ（８３．３３３ｎｓ）の理論的ビット長は少なくとも８個のＨＳＯ９００周期を必要とするので、８×５０ｐｓ、即ち０．４ｎｓの本来的なジッターが存在している。この０．４ｎｓは粒度の半分（０．６２５ｎｓ）に加えられて、このＨＳＯ９００を使用して発生される（図３、図４）クロックＣＬＫ１Ｘ８０３の最初の理論的ジッター、即ち約１ｎｓとなる。ＨＳＯ９００のネイティブな不正確性、熱的ドリフト及び経年変化ドリフト（上にはリストしていない）はクロック３９５（図３）において補償される。
【００６１】
次に、図１１を参照すると、本発明の１実施例に基づいて、例えば図９に示したようなＳＯＦトークン７００をデコーディングすることに関する側面が例示されている。図示したＲＸＤＤＷ８０２信号は差動受信器３７７（図４）の出力である。タイマー１０がＲＸＤＤＷ８０２に応答して信号ＲＸＤＤ４  ８０１を発生する。エッジ８０７及び８０８により画定されるＳＰ７１０の最初のビットは使用されない。何故ならば、それは、主にＵＳＢポートがＳＰ７１０を送信するためにホスト又はハブ上で活性化された直後であるということに起因して周期精度を欠如しているからである。
【００６２】
特に、４ビットタイマー１０は、ＲＸＤＤＷ８０２のエッジ８０８、即ちＳＰ７１０の２番目のビットｂ２の開始でＳＯＦトークン７００（図９）の２番目のエッジを検知することに応答して出力信号ＲＸＤＤ４  ８０１を活性化させ、且つＲＸＤＤＷ８０２のエッジ８１２、即ちＳＰ７１０の６番目のビットｂ６の開始でＳＯＦトークン７００の６番目のエッジを検知することに応答して出力ＲＸＤＤ４  ８０１を不活性化させる。従って、活性化されたＲＸＤＤ４  ８０１の期間はＲＸＤＤＷ８０２の４個の受信ダウンストリームビットの周期であり、ＲＸＤＤＷ８０２はクォーツクリスタル又はピエゾ共振器３５０（図４）により駆動されるホスト又はハブ３００（図４）により発生される。
【００６３】
タイマー１５はＲＸＤＤＷ８０２に応答して信号ＲＸＤＤ８  ８００を発生する。特に、８ビットタイマー１５はＲＸＤＤＷ８０２のエッジ８０８を検知することに応答して出力信号ＲＸＤＤ８  ８００を活性化させ、且つＲＸＤＤＷ８０２のエッジ８１４、即ちＳＯＦのＰＩＤ７１５の２番目のビットｂ１０の始め、即ちトークン７００の８番目のエッジを検知することに応答して出力信号ＲＸＤＤ８  ８００を不活性化させる。従って、活性化されたＲＸＤＤ８  ８００の期間はクォーツクリスタル又はピエゾ共振器３５０により駆動されるホスト又はハブ３００により発生された８個の受信ダウンストリームビットの期間である。対となった遷移は受信ジッターを最小とさせるので、４ビット周期及び８ビット周期が選択されている。
【００６４】
次に図１２を参照すると、インターバル１２１０に関連してＨＳＯ周期を計測することと均等なＨＳＯ９００周期の８分の１に関連してＲＸＤＤ４  ８０１が活性化される時間インターバル１２１０の期間を計測する側面について例示してある。即ち、ホスト又はハブ３００により送信されるビットにたいする平均ビット期間即ち周期は±０．２５％以内であることが知られており、且つＲＸＤＤ４  ８０１はこのような４個のホスト又はハブ３００が送信したビットに対応する時間インターバル１２１０に対して活性化されるので、±０．２５％に近づく精度でＨＳＯ９００の動作周波数を決定するためにＨＳＯ９００（図１０）の出力９２６，９３６，９４６等と時間インターバル１２１０の４ビットカウンタ２０による比較が行われる。特に、ＲＸＤＤ４  ８０１の活性化に応答して、カウンタ２０はＨＳＯ出力９２６，９３６，９４６等の下降エッジのカウントを開始し、そのうちで、８個の８分の１ＨＳＯ周期を区切る各ＨＳＯ９００動作周期に対して９個が存在している（勿論、上昇エッジを下降エッジの代わりにカウントすることが可能である）。例示した例においては、出力信号９４６のエッジ９１がＲＸＤＤ４  ８０１が活性化された後の最初の下降エッジであり、且つ出力信号９３１のエッジ９２はＲＸＤＤ４  ８０１が不活性化される前の最後の下降エッジである。エッジ９１乃至エッジ９２でカウントされる下降エッジの数は値Ｍ２１としてカウンタ２０により出力される。従って、Ｍ２１の値はホスト又はハブ３００の４ビット周期におけるＨＳＯ９００の８分の１周期の数を表しており、ＨＳＯ９００周期の８分の１に対し系統誤差が±１であり、約±１／２６６であって、それに対し±０．２５％が加算されねばならない。その他の全ての測定誤差は説明の便宜上議論しない。
【００６５】
次に図１３を参照すると、インターバル１３１０に関連してＨＳＯ９００周期を計測することと均等な８分の１ＨＳＯ９００周期に関連してＲＸＤＤ８  ８００が活性化される時間インターバル１３１０の期間を計測する側面が例示されている。即ち、ホスト又はハブ３００により送信される４ビットに対する平均ビット期間は±０．２５％以内であることが知られており且つＲＸＤＤ８  ８００はこのような８個のホスト又はハブ３００が送信したビットに対応する時間インターバル１３１０に対して活性化されるので、ほぼ±０．２５％に近づく精度でＨＳＯ９００の動作周波数を決定するためにＨＳＯ９００（図１０）の出力９２６，９３６，９４６等と時間インターバル１３１０の比較が８ビット計測回路２５により行われる。特に、ＲＸＤＤ８  ８００の活性化に応答して、カウンタ２５がＨＳＯ出力９２６，９３６，９４６等の下降エッジのカウントを開始し、それらのうちで、８個の８分の１ＨＳＯ期間即ち周期を区切る各ＨＳＯ９００動作期間に対して９個存在している（勿論、下降エッジの代わりに上昇エッジをカウントすることが可能である）。例示した例においては、出力信号９４６のエッジ１０１は、ＲＸＤＤ８  ８００が活性化された後の最初の下降エッジであり、且つ出力信号９５６のエッジ１０２は、ＲＸＤＤ８  ８００が不活性化される前の最後の下降エッジである。エッジ１０１からエッジ１０２へカウントされた下降エッジの数は値Ｎ２６としてカウンタ２５により出力される。従って、Ｎ２６の値は、ホスト又はハブ３００の８ビット周期においてＨＳＯ９００の８分の１周期の数を表わしており、ＨＳＯ９００周期の８分の１に対する系統誤差は±１であり、約±１／５３３であって、それに対して±０．２５％が加算されねばならない。その他の全ての測定誤差については説明の便宜上議論しない。
【００６６】
公知の４ビット受信期間１２１０におけるものと比較して、公知の８ビット受信期間１３１０におけるＨＳＯ９００の８分１を約２回カウントすることは、１ダウンストリームビット期間を基準にして約２だけＨＳＯ９００周期の８分の１の計測精度を増加させる。何故ならば、ＨＳＯ９００周期の±１  ８分の１の測定誤差はＨＳＯ９００周期の８分１に２回適用されるからである。
【００６７】
代替例として、図１２及び図１３において、ＨＳＯ９００周期の８分の１の代わりにＨＳＯ９００周期でインターバル１２１０及び１３１０を計測することが可能である。誤差は夫々±１／３３及び±１／６６であり、それに対して±０．２５％が加算される。
【００６８】
次に、図１４を参照すると、ＵＳＢ装置クロックＣＬＫ１Ｘ８０３を合成する側面がダウンストリームシーケンスに対して示されている。Ｌ２７はシリコンブロックの製造時に非揮発性メモリ３９５Ｃ（図３）内に格納されており且つ初期化及び後のアップデートのために使用される数値である。スタートアップフェーズ期間中（図２２に示されており且つ以下に説明する）、Ｌ２７はＨＳＯ周期の８分の１の数として表わされた１つの理論的ＦＳビットの期間である。図示した実施例を説明するために、ＨＳＯ周期が１０ｎｓであると仮定する。１個のＦＳビットの理論的期間は８３．３３ｎｓであり、従ってＬ２７は初期値６６．６６７が与えられる。何故ならば、８３．３３ｎｓは１０ｎｓ周期の６６．６６７個の８分の１だからである。Ｌ２７のこの値は、究極的に、相次ぐＳＯＦ（図９）によるＨＳＯ周期の計測毎にアップデートされ、そのうちの第一及び第二の部分７１０及び７１５が図１４に示されている。
【００６９】
スタートアップフェーズの動作フェーズ１  ５０１期間中に、バスはアイドルであり且つダウンストリームトラフィックは存在しない。ＪからＫへの遷移８０７は動作フェーズ２  ５０２の始めを表わし、それに応答して、位相選択器３０が以下の如くにしてＣＬＫ１Ｘ８０３を不活性化させる。位相選択器３０は、出力ＣＬＫ１Ｘ８０３として、遷移８０７後の次の下降エッジを有するＨＳＯ９００信号９２６，９３６，９４６等のうちの１つを選択する。次いで、位相選択器３０はＬ／２をカウントし、尚Ｌは８１６においてＣＬＫ１Ｘ８０３を再度活性化させる前にＨＳＯ周期Ｔ１の８分の１の数である。８１６においてのＣＬＫ１Ｘ信号８０３の上昇エッジに応答して、即ちビットセル期間中であるがアナログ受信器３７７（図４）によるリップルの外側において、ＮＲＺＩＤＤＷ８０４信号発生器論理３５がＲＸＤＤＷ８０２のビットｂ１をサンプルし、且つそれに応答してＮＲＺＩＤＤＷ信号８０４下降エッジを発生し、ＵＳＢシリアルエンジン３９７（図３）に対して、ＳＰ７１０の最初のビットｂ１が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。
【００７０】
次のＳＰ７１０エッジ８０８は、以下のタイミングに従って、位相選択器３０をしてＣＬＫ１Ｘ８０３を不活性化させる。エッジ８０８に応答して、位相選択器３０はＨＳＯ９００信号９２６，９３６，９４６等の中から出力ＣＬＫ１Ｘ８０３に対する信号、即ち次の下降エッジを有する信号９２６等のうちの１つを選択する。次いで、位相選択器３０はＬ／２をカウントし、尚Ｌは８１７においてＣＬＫ１Ｘ８０３を再度活性化させる前のＨＳＯ周期Ｔ１の８分の１の数である。８１７におけるＣＬＫ１Ｘ信号８０３の上昇エッジに応答して、即ち、ビットセルの期間中であるがアナログ受信器３７７（図４）によるリップルの外部において、信号発生器論理３５がＲＸＤＤＷ８０２のビットｂ２をサンプルし、且つそれに応答して、ＮＲＺＩＤＤＷ８０４のリーディングエッジを発生し、それは、ＵＳＢシリアルエンジン３９７（図３）に対して、ＳＰ７１０の２番目のビットｂ２が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。検知器３９５Ｅ（図１８）の観点から、ｂ１及びｂ２はＳＰ７１０の初期の段階と一貫性がある。
【００７１】
次のＳＰ７１０エッジ８０９は、選択器３０をして同様な態様でＣＬＫ１Ｘ８０３を不活性化させる。即ち、エッジ８０９に応答して、位相選択器３０はＨＳＯ９００信号９２６，９３６，９４６等の中から、次に発生する下降エッジを有するものを選択する。次いで、位相選択器３０は８１８におけるＣＬＫ１Ｘの再活性化の前にＬ／２をカウントする。ＣＬＫ１Ｘ信号８０３の８１８における上昇エッジに応答して、論理３５はＲＸＤＤＷ８０２のビットｂ３をサンプルし且つそれに応答してＮＲＺＩＤＤＷ信号８０４の下降エッジを発生し、それは、ＵＳＢシリアルエンジン３７０Ｆ（図３）に対して、ＳＰ７１０の３番目のビットｂ３が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。検知器３９５Ｅ（図１８）の観点から、ｂ１，ｂ２，ｂ３はＳＰ７１０の初期の段階と一貫性がある。
【００７２】
次のＳＰ７１０エッジ８１０は、再度、選択器３０をして同様の態様でＣＬＫ１Ｘ８０３を不活性化させ、次いで、同様に８１９におけるＣＬＫ１Ｘの再活性化の前にＴ１待機する。８１９におけるＣＬＫ１Ｘ信号８０３の上昇エッジに応答して、論理３５はＲＸＤＤＷ８０２のビットｂ４をサンプルし、且つ、それに応答して、ＮＲＺＩＤＤＷ信号８０４のリーディングエッジを発生し、それは、ＵＳＢシリアルエンジン３９７（図３）に対して、ＳＴ７１０の４番目のビットｂ４が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。検知器３９５Ｅ（図１８）の観点から、ｂ１，ｂ２，ｂ３，ｂ４はＳＰ７１０の初期の段階と一貫性がある。
【００７３】
次のＳＰ７１０エッジ８１１は、再度、位相選択器３０をして同様の態様でＣＬＫ１Ｘ８０３を不活性化させ、且つ８２０におけるＣＬＫ１Ｘ８０３の再活性化の前に待機する。８２０におけるＣＬＫ１Ｘ信号８０３の上昇エッジに応答して、論理３５はビットｂ５をサンプルし且つそれに応答してＮＲＺＩＤＤＷ信号８０４の下降エッジを発生し、それは、ＵＳＢシリアルエンジン３９７（図３）に対して、ＳＰ７１０の５番目のビットｂ５が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。検知器３９５Ｅ（図１８）の観点から、ｂ１，ｂ２，ｂ３，ｂ４，ｂ５はＳＰ７１０の初期の段階と一貫性がある。フェーズ２  ５０２期間中に、ダウンストリームＲＸＤＤＷ８０２の全てのビットセルはロックオンするためにＣＬＫ１Ｘ８０３に対する遷移を獲得している。好適実施例において上述した如く、±３０％において既知の実際的なＨＳＯ周期は未だにダウンストリームトラフィックをサンプリングすることを可能とさせる。又、フェーズ２  ５０２期間中に、カウンタ２０は４個のダウンストリームビットＲＸＤＤ４期間中にＨＳＯ周期のＭ個の８分の１をカウントしており且つそれをフェーズ３  ５０３に対して使用可能とさせている。
【００７４】
遷移８１２は動作フェーズ３  ５０３の始めを表わしており、それに応答して、位相選択器３０は、再度、同様の態様でＣＬＫ１Ｘ８０３を不活性化させ、ＨＳＯ信号９２６，９３６，９４６等の中から選択する。次いで、８２１においてＣＬＫ１Ｘを再度活性化させる前に、位相選択器３０は、フェーズ２  ５０２の終りに決定されたＨＳＯ９００周期のＭ／８個の８分の１をカウントする。値Ｍ／４は時間インターバルＴ２における８分の１ＨＳＯ周期の数であり、フェーズ２  ５０２の終りにおいて評価されたダウンストリームビット期間と等価である。ＣＬＫ１Ｘ８０３の８２１における上昇エッジに応答して、ビットｂ６がサンプルされ、且つＮＲＺＩＤＤＷ信号８０４のリーディングエッジが発生され、それは、ＵＳＢシリアルエンジン３９７（図３）に対して、ＳＰ７１０の６番目のビットｂ６が検知されたことを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。検知器３９５Ｅ（図１８）の観点から、ｂ１，ｂ２，ｂ３，ｂ４，ｂ５，ｂ６はＳＰ７１０の初期の段階と一貫性がある。
【００７５】
この時点において、未だにフェーズ３  ５０３にあり、ＳＯＦのＰＩＤの始めの次のＳＰ７１０の終わりはＲＸＤＤＷ８０２において何等遷移を発生するものではなく、従って位相選択器３０はＭ／４の累積的カウントの結果に応答して継続してＣＬＫ１Ｘ８０３を規制する。ＣＬＫ１Ｘエッジ８２２，８２３，８２４は、夫々、エッジ８１３からＴ２／２、Ｔ２／２＋Ｔ２、Ｔ２／２＋２Ｔ２において位置されている。
【００７６】
同様に、ビットｂ７、ビットｂ８、ビットｂ９は、夫々、ＣＬＫ１Ｘ信号８０３エッジ８２２，８２３，８２４，に応答して論理３５によりサンプルされる。検知器３０（図１８）の観点から、ビットｂ１乃至ｂ８はＳＰ７１０と一貫性があり且つビットｂ９はＳＯＦのＰＩＤ７１５と一貫性がある。基準クロックＣＬＫ１Ｘ８０３はエッジ８１２及び８１３によりＲＸＤＤＷ８０２と同相にロックされる。
【００７７】
フェーズ３  ５０３期間中に、ダウンストリームＲＸＤＤＷ８０２の全てのビットセルがロックオンすべくＣＬＫ１Ｘ８０３に対する遷移を獲得するものではない。フェーズ２  ５０２からのＭ２１の知識がビットｂ８及びビットｂ９をサンプルするために必要である。又、フェーズ２  ５０２及びフェーズ３  ５０３期間中に、カウンタ２５は８個のダウンストリームビットＲＸＤＤ８期間中の８分１ＨＳＯ周期の数であるＮをカウントしており且つそれをフェーズ４  ５０４に対して使用可能とさせている。遷移８１４はフェーズ４  ５０４に対する動作の開始を表わし、それに応答して、位相選択器３０は、再度、上述したのと同様の態様でＣＬＫ１Ｘ８０３を不活性化させ、即ちＨＳＯ９００信号９２６，９３６，９４６等から選択する。次いで、８２５において、ＣＬＫ１Ｘを再度活性化させる前に、位相選択器３０はＮ／１６をカウントし、それはフェーズ３  ５０３の終りに決定されている。値Ｎ／８はフェーズ３  ５０３の終りにおいて評価されたダウンストリームビット期間と等価である時間インターバルＴ３における８分の１ＨＳＯ周期の数である。ＣＬＫ１Ｘ８０３の８２５における上昇エッジに応答して、ビットｂ１０がサンプルされ且つＮＲＺＩＤＤＷ信号８０４のリーディングエッジが発生され、それは、ＵＳＢシリアルエンジン３９７（図３）に対して、１０番目のビットｂ１０がＳＯＦ  ＰＩＤ７１５と一貫性があることを表わす。基準クロックＣＬＫ１Ｘ８０３はＲＸＤＤＷ８０２と同相にロックされる。この時点において、未だフェーズ４  ５０４にあり、位相選択器３０は、Ｎ／８の累積的カウントの結果に応答して継続してＣＬＫ１Ｘ８０３を規制する。ＣＬＫ１Ｘのエッジ８２６は８１４からＴ３／２＋Ｔ３に位置している。次に、ＲＸＤＤＷ８０２における何等かの遷移はＣＬＫ１Ｘ８０３を不活性化させ且つ新たなＴ３／２周期を開始させ、尚ＣＬＫ１Ｘ８０３はダウンストリーム信号ＲＸＤＤＷ８０２をサンプルするために再活性化される。
【００７８】
同様に、ビットｂ１１からＳＯＦのビットｂ３２（不図示）に至るまで、ＣＬＫ１Ｘ８０３信号に応答して論理３５によりサンプルされる。検知器３９５Ｅ（図１８）の観点から、ビットｂ１乃至ｂ３２はＳＯＦトークンパターン（ＰＩＤ、数、ＣＲＣ）に対してチェックされる。
【００７９】
フェーズ４  ５０４期間中に、ダウンストリームＲＸＤＤＷ８０２の全てのビットセルがロックオンすべくＣＬＫ１Ｘ８０３に対する遷移を獲得するものではない。フェーズ２  ５０２及びフェーズ３  ５０３からのＭ２６の知識がＳＯＦのパターンにおける残りの未知のビットをサンプルするために必要である。又、フェーズ４  ５０４期間中に、ＳＯＦのＰＩＤが検知された場合には、信号ＣＳＯＦ７０が活性化され、それはエッジ８１図１５である。
【００８０】
１実施例において、Ｌ，Ｍ，Ｎ，Ｒは整数として表わされる。
【００８１】
上述したことを要約すると、スタートアップモードにおいて、動作フェーズ２  ５０２期間中に、所定の格納された値Ｌ２７に基づいて且つ同期パターン（ＳＰ）エッジに対して同期されたＨＳＯ９００出力を利用して、ダウンストリーム信号ＲＸＤＤＷ８０２が合成されたＣＬＫ１Ｘ信号８０３でサンプルされる。ＳＰは、常に、何よりも前に送信される。
【００８２】
動作フェーズ３  ５０３及び動作フェーズ４  ５０４期間中に、ダウンストリーム信号ＲＸＤＤＷ８０２はＨＳＯ９００周期、夫々、Ｍ２１及びＮ２６を計測し且つ合成されたＣＬＫ１Ｘ信号８０３をＨＳＯ９００出力と同期させるために使用される。
【００８３】
動作フェーズ２  ５０２、動作フェーズ３  ５０３及び動作フェーズ４  ５０４期間中に、ＣＬＫ１Ｘ８０３はダウンストリーム信号ＲＸＤＤＷ８０２をサンプルして検知器３９５Ｅ（図１８）に対するデータＮＲＺＩＤＤＷ８０４を発生してＳＯＦとして既知のビットパターンを検知する。ＳＯＦが検知されると、ＣＳＯＦ信号７０が活性化される。
【００８４】
更なる例示を行うために、以下の如くに特定のタイミングを有する実施例について検討する。ＨＳＯ９００の実際の周期が予測されたもの、即ち１２ｎｓよりも２０％より大きいものであり且つＨＳＯ９００は１０ｎｓで稼動するものと仮定されていたのでＬ２７は値６６．６６７が与えられたものと仮定する（勿論、その他の実施例において、ＨＳＯ周期は異なる場合がある）。エッジ８０７が検知されると、信号９２６乃至９６１のうちの１つが選択され、例えば、信号９２６が選択される。次いで、ＨＳＯ９００の８分の１周期の３３の後に、ＲＸＤＤＷ信号８０２がサンプルされる。従って、この実施例に基づくサンプリングはエッジ８０７＋４９．５ｎｓ±１．５ｎｓにおいて発生し、一方それは、より理想的には、８３．３３ｎｓ／２、即ち４１．６６ｎｓにおいて発生するものである。
【００８５】
次に、ビットｂ２が遷移８０８によりリセットされた位相選択器論理３０でサンプルされ、以下同様である。ビットｂ２乃至ｂ５が検知されると、４個のビット内に例えば信号９２６等のＨＳＯ９００信号の幾つのサイクルが存在しているかが分かり、それに対応して、Ｍ２１に対する値（図１２参照）を決定することが可能である。この時点から、ＨＳＯ９００の実際の周期と±０．２５％の精度でホスト又はハブ３００により送信されたＲＸＤＤＷ８０２信号のビットの期間との間に既知の関係が存在している。
【００８６】
４ビットダウンストリーム期間１２１０：
（１／１２ＭＨｚ±０．２５％）×４＝３３３．３３ｎｓ±０．２５％
１２１０におけるＨＳＯ９００のＭ２１  ８分の１周期：
３３３．３３ｎｓ／１．５ｎｓ＝２２２±１
ＨＳＯ９００周期と関連するＭ２１はホスト又はハブ３００により送信されたビット周期の±１％に近い周期を発生する。従って、この時点から、安定し且つ不正確なＨＳＯ９００は較正されており且つ現在その周期は±１％で既知である。
【００８７】
この改善された精度は、特に、有益的である。何故ならば、ビットｂ７の後に、ＳＯＦトークン７００（図９）に対するビットパターンは静かなゾーンに入り、その期間中に、ビット状態を検知するために改善された精度が存在せねばならないからである。検知したビットｂ６乃至ｂ９の状態が一貫性があり且つそれによりＰＩＤ  ＳＯＦ７１５を表わす場合には、検知されたビットｂ６乃至ｂ９はクロック３９５（図４）タイミングの改善された知識を提供する。受信した８個のビットｂ２乃至ｂ９に関連して、
８ビットダウンストリーム期間１３１０：
（１／１２ＭＨｚ±０．２５％）×８＝６６６．６６ｎｓ±０．２５％
１３１０におけるＨＳＯ９００のＮ２６  ８分の１周期：
６６６．６６ｎｓ／１．５ｎｓ＝４４４±１
ＨＳＯ９００周期と関連するＮ２６はホスト又はハブ３００により送信されたビット周期の±１％内の周期を発生する。この時点から、有効なＳＯＦトークン７００が受信されたことを完全に確認するために更に２３個のビットを検知し、サンプルし、且つデコードせねばならない。
【００８８】
上述したことから理解されるように、上述した方法及び構成に従って±１％内における精度で且つダウンストリーム信号を受信するのに充分であるが±０．２５％内のリズム精度でアップストリームトラフィックをパルス動作させることのない精度でクロック信号ＣＬＫ１Ｘ８０３を発生するのに単に単一のＳＯＦトークン７００を検知することで充分である。この精度は相次ぐＳＯＦトークン７００を検知することにより可能である。
【００８９】
次に図１５を参照すると、上述した如くＬ２７、Ｍ２１、Ｎ２６パラメータを使用して相次ぐＳＯＦを検知する側面が示されている。図９に示したように、ＳＯＦトークン７００はトークンＳＯＦ７００をブロードキャストするホスト内の高度に正確なクロックにより決定されるように、１ミリ秒±０．０５％だけ時間において分離されている。図９に関連して説明したように、１ミリ秒の精度はハブにより顕著に変更されることはない。図９及び１５に示したように、最初のＳＯＦトークン７００はＳＰバイト７１０、ＰＩＤ及びＰＩＤ補元（ＰＩＤＢ）バイト７１５、フレーム番号７２０及びＣＲＣ５  ７２５を有しており、且つ２番目のＳＯＦトークン７００はＳＰバイト７３０、ＰＩＤ及びＰＩＤ補元（ＰＩＤＢ）バイト７３５、フレーム番号７４０、ＣＲＣ５  ７４５を有している。
【００９０】
ＵＳＢ上での送信のために、ＤＡＴＡＨＤＷ３０５信号がノンリターンツーゼロ反転（ＮＲＺＩ）フォーマットでエンコードされ、それに従って、ＮＲＺＩＨＤＷ３０６信号は論理「０」状態を有する各データ信号ビットに対して状態を変化させる。差動ＮＲＺＩＨＤＷ３０６信号がＵＳＢ装置３９０（図４）差動受信器３７７（図４）による受信のためにＵＳＢのＤ＋３７６及びＤ−３７５ライン上のホストＴＸＤＭ送信器３１５及び３２０（図４）により駆動され、それは、応答してＲＸＤＤＷ８２０信号を発生する。
【００９１】
両方のトークンに対する同期バイト７１０及び７３０のためのＤＡＴＡＨＤＷ信号３０５は図示した如く「０００００００１」であり、それは図示した如く対応するＮＲＺＩＨＤＷ３６０信号「０１０１０１００」となる。両方のトークンに対するパケット識別子部分ＰＩＤ及びＰＩＤＢＳＯＦ７１５及び７３５に対するＤＡＴＡＨＤＷ信号３０５は「１０１００１０１」であり、それは、図示した如く、対応するＮＲＺＩＨＤＷ信号３０６「０１１０１１００」となる。
【００９２】
図１５に示した最初の例のＳＯＦトークンの場合、該トークンは十進数で表わしたフレーム番号１６５０に対するものである。従って、最初のトークンに対するフレーム番号部分７２０に対するＤＡＴＡＨＤＷ信号３０５は十進数１６５０の二進等価物、即ち図示した如く、「０１００１１１００１１」であり、それは、図示した如く、対応するＮＲＺＩＨＤＷ３０６信号「１１０１１１１０１１１」となる。図１５に示した２番目のＳＯＦトークンの場合には、該トークンはフレーム番号１６５１に対するものであり、従って２番目のトークンに対するフレーム番号部分７４０に対するＤＡＴＡＨＤＷ信号３０５は「１１００１１１００１１」であり最小桁ビットは左側で（即ち最初にブロードキャストされる）、それは、図示した如く、対応するＮＲＺＩＨＤＷ３０６信号「００１００００１０００」となる。
【００９３】
循環冗長性チェック部分７２５及び７４５は夫々の先行するフレーム部分７２０及び７４０に対するＤＡＴＡＨＤＷ信号３０５に依存する。フレーム７２０及び７４０は相次ぐＳＯＦを特性づける。
【００９４】
フェーズ４  ５０４（図１４）期間中、ＳＯＦ７００が検知され且つＣＳＯＦ信号７０が８１において活性化され、ＳＯＦのＰＩＤ７１５が検知されると、相次ぐＳＯＦが検知される場合に、ＣＳＯＦ信号７０が８２において不活性化される。
【００９５】
図１６を参照すると、タイマー４０が示されている。タイマー４０はＲＸＤＤＷ信号８０２を受信し且つそれに応答してＣＳＯＦ信号７０を発生する。再度図１５を参照すると、ＣＳＯＦ信号７０に対するタイミングの詳細が示されている。この実施例によれば、タイマー４０は最初のＳＯＦ７００バイト７１５のＳＯＦＰＩＤ部分の２番目のビットの下降エッジに応答して時間ｔ０においてＣＳＯＦ信号７０を活性化させる（これは任意的な選択である。信号７０は１つのＳＯＦ７００から次のものへ一貫性が維持される限り、ＳＯＦ７００における任意の点に応答して活性化させることが可能である）。１ミリ秒の後に、時間ｔ０＋１ミリ秒±５００ｎｓにおいて、タイマー４０（図１６）は２番目のＳＯＦ７００バイト７３５のＳＯＦＰＩＤ部分の２番目のビットの下降エッジを検知し且つそれに応答してＣＳＯＦ信号７０を８２において不活性化させる。
【００９６】
次に、図１７を参照すると、相次ぐＳＯＦトークン７００（図９）の間の信号９２６（図１０）のようなＨＳＯ９００信号の周期の数をカウントすることに関する側面が例示されている。上述したように、ＣＳＯＦ信号７０はｎ番目のＳＯＦトークン７００におけるある所定の点において８１において活性化され且つ次に続くトークン７００、即ちｎ＋１番目のトークン７００における同一の点において即ち８２において不活性化される。このＣＳＯＦ信号７０が活性化されるフェーズがインターバル１５１０として図１７に示されている。カウンタ４５がこのＣＳＯＦ信号７０及びＨＳＯ９００（図１０）信号のうちの１つ、即ち信号９２６を受信し且つインターバル１５１０期間中において信号９２６の周期の数をカウントする。この実施例においては、カウンタ４５は信号ＣＳＯＦ７０の活性化８１に続く信号９２６の最初の上昇エッジ８３において周期のカウントを開始し且つインターバル１５１０期間中、即ちＣＳＯＦ７０の不活性化８２前の信号９２６において発生する最後の上昇エッジ８４において停止する。その結果は出力され且つ値Ｒ４６としてカウンタ４５により格納される。
【００９７】
ＨＳＯ９００の公称周期が１０ｎｓである前述したタイミングの例から、Ｒ４６の値は±０．００１％の精度と均等な約１００，０００の程度であると予測され、従って８分の１ＨＳＯ９００周期によるカウントは必要ではない。
【００９８】
図９に関連して前述したように、ホスト３００は全てのＦＳＵＳＢ装置に対して各ミリ秒毎にＳＯＦトークン７００をブロードキャストする。ＵＳＢ装置３９０はトークン７００のＰＩＤ及びフレーム番号を認識することによって２つの相次ぐＳＯＦトークン７００を認識する。然しながら、バス上にＳＯＦトークン７００以外の何か他のものが存在する場合には、ＣＳＯＦ信号７０は最初に認識されたＳＯＦトークン７００においてタイマー４０（図１６）により活性化され且つ２番目の相次ぐ認識されたＳＯＦトークン７００において不活性化され、３番目に認識されたＳＯＦトークン７００において活性化され、以下同様であり、その他のトラフィックを無視する。理解すべきことであるが、カウンタ４５は繰返し信号９２６周期をカウントし且つＣＳＯＦ信号７０のフェーズ即ち位相に応答してパラメータＲ４６を更新し、即ち両方共例えばインターバル１５１０のようなＣＳＯＦ信号７０が活性化されるインターバル及びＣＳＯＦ信号７０が不活性化されるインターバルに応答する。この実施例においては、値Ｒ４６は２ｎｓ毎にリフレッシュされる。本発明はＬ２６、Ｍ２１、Ｎ２６、Ｒ４６と関連するＨＳＯ９００周期を使用してＣＬＫ１Ｘ８０３周期を決定する場合の初期的な不正確性を補償するものであることが知見された。この実施例において説明したように、Ｒ４６をリフレッシュする２ｎｓの周期性は、更に、温度及び経年変化に起因するドリフトも補償する。
【００９９】
図１８を参照すると、１実施例に基づくクロック３９５の側面を例示したブロック図が示されている。クロック３９５は、発生器３９５Ａ、タイマー１０，１５，４０、カウンタ２０，２５，４５及び図３及び図１０乃至１７に示した位相選択器３０を包含している。クロック３９５はＣＰＵ３９４からの信号３９１によりモニタされる。シリアルエンジン３９７からの信号１０５が検知器３９５Ｅへ供給される。
【０１００】
クロック３９５は、又、スタートアップフェーズ期間中に位相選択器３０へ供給するパラメータＬ２７に対する値を具備する非揮発性メモリ３９５Ｃと関連するメモリ制御器５０を包含している。パラメータＲ４６が論理４５によって上述した如くに決定された後に、制御器５０は非揮発性メモリ内のＬ２７に対する値をＴ＝８Ｒ／１２，０００であるＲ４６から派生された値で置換し、その後に、ＴはパラメータＬ２７に対し更により正確な値を供給する。前述したように、クロック信号ＣＬＫ１Ｘ８０３はＵＳＢバスラインＤ＋３７６及びＤ−３７５（図４）上の受信ダウンストリーム信号から派生される信号ＲＸＤＤＷ８０２及びＬ２７、Ｍ２１、Ｎ２６に基づくエッジ等のＨＳＯ９００信号９２６を選択することにより位相選択器３０により合成される。
【０１０１】
図１９を参照すると、本発明の１実施例に基づくより詳細な処理の流れが例示されている。以下において、図１４及び１８に示した要素も参照する。
【０１０２】
ステップ２８０において、バス（図４）のＤ＋ライン３７６及びＤ−ライン３７５上においてＪからＫへの遷移が検知される。このＪからＫへの遷移はＲＸＤＤＷ信号８０２における遷移８０７に対応しており、且つフェーズ１  ５０１において発生する。
【０１０３】
次にステップ２８１において、パラメータＬ２７が位相選択器３０によって使用されてクロック信号ＣＬＫ１Ｘ８０３を合成し且つ検知器３９５ＥがＳＰ７１０の最初の５個のビットをデコードする。この合成処理はＨＳＯ９００出力と共に行われ且つデコード処理はＲＸＤＤＷ信号８０２から行われる。受信したビットの２番目乃至５番目がカウンタ２０によって使用されてＭ２１を決定する。これはフェーズ２  ５０２において発生する（注意すべきことであるが、メモリ制御器５０（図１８）はパラメータＭ２１に応答してＬ２７を置換する。即ち、Ｌ２７はＲＸＤＤＷ８０２の４個の受信ビットにおいてオシレータ信号９２６等（図１０）のうちの１つのＭ個の８分の１の周期が存在しているという知識に基づいて再スケールされる。この値Ｍ２１は４ビットインターバルに対してのものであるので、それはビット期間内にオシレータ信号９２６等のうちの１つの幾つの周期が存在するかのより正確な分量を与える）。
【０１０４】
次に、ステップ２８２において、パラメータＭ２１が位相選択器３０によって使用されてクロック信号ＣＬＫ１Ｘ８０３を合成し且つ検知器３９５ＥがＳＰ７１０の次の４個のビットをデコードする。この合成処理はＨＳＯ９００出力と共に行われ且つ該デコード処理はＲＸＤＤＷ信号８０２から行われる。８個の受信ビットｂ２乃至ｂ９がカウンタ２５によって使用されてＮ２６を決定する。これはフェーズ３  ５０３において発生する（注意すべきことであるが、メモリ制御器５０（図１８）がパラメータＮ２６に応答してＬ２７を置換させる。即ち、Ｌ２７は、ＲＸＤＤＷ８０２の８個の受信ビットにおけるオシレータ信号９２６等（図１０）のうちの１つのＮ２６個の８分の１周期が存在しているという知識に基づいて再スケールされる。この値Ｎ２６は８ビットインターバルに対してのものであるので、それはビット期間内にオシレータ信号９２６等のうちの１つの幾つの周期が存在するかのより正確な分量を与える）。
【０１０５】
次に、ステップ２８３において、パラメータＮ２６が位相選択器３０によって使用されてクロック信号ＣＬＫ１Ｘ８０３を合成し且つ検知器３９５Ｅが最初のＳＯＦの次のビットをデコードする。この合成処理はＨＳＯ９００出力と共に行われ且つ該デコード処理はＲＸＤＤＷ信号８０２から行われる。これはフェーズ４  ５０４において発生する。
【０１０６】
次に、ステップ２８４において、パラメータＮ２６は、未だに、位相選択器３０によって使用されてクロック信号ＣＬＫ１Ｘ８０３を合成し且つ検知器３９５Ｅは次のＳＯＦをデコードする。この合成処理はＨＳＯ９００出力と共に行われ且つ該デコード処理はＲＸＤＤＷ信号８０２から行われる。カウンタ４５がホスト又はハブ３００（図４）により送信されたＳＯＦの間のＨＳＯ９００周期の数Ｒ４６をアップデートする。上述した実施例のタイミングにおいて、ＳＯＦ間のインターバル内に理論的には１２，０００個のデータビットが存在している。ここで、ＳＯＦ間のインターバルにおけるデータビットの数は「Ｓ」と呼称する。これはフェーズ５  ５０５において発生する。
【０１０７】
次に、ステップ２８５において、新たなパラメータＲ４６を使用して、１ビットにおけるＨＳＯ９００周期の８分の１の数であるＴ＝８Ｒ／Ｓに基づいてアップストリームトラフィックのパルス動作のタイミングをとるために使用される。これはフェーズ５  ５０５において発生する。非揮発性メモリ３９５Ｃが、メモリ制御器５０によって制御されてＴでアップデートされる。即ち、ＴがＬ２７を置換する。
【０１０８】
ループバック２８６は熱的ドリフト及び経年変化を補償するプロセスの進行中の側面を表わしている。即ち、各新たな対の相次ぐＳＯＦの場合に、Ｒ４６に対して新たな値が決定され且つＣＬＫ１Ｘ信号８０３がそれに従って調節される。
【０１０９】
次に、ステップ２８７において、装置がパワーオフされ且つステップ２８０において新たなパワーオンシーケンスの準備がなされ、ステップ２８１に続き、そこでＬ２７は、今や、古いＴである。例えば製造現場において本装置をテストしている間に実施されるアップデートは上述した理論器６６．６６７よりもより適切な値でＨＳＯ９００周期を予めスケールする。
【０１１０】
別の実施例においては、ループ２８６が完了すると、分岐２８９によって示したようにステップ２８１及び２８２をバイパスすることが可能である。
【０１１１】
図２０は合成したクロックＣＬＫ１Ｘ８０３でＵＳＢデータラインＤ＋３７６及びＤ−３７５上のデータをパルス動作させる側面を例示している。ＤＡＴＡＵＰ３８４がアップストリームデータを記述する。これは、ＳＴ７５０及びＤＡＴ０  ７５５用のＰＩＤを有するフレームの開始である。ＮＲＺＩＤＵＰ３８５はＮＲＺＩでエンコードされたＤＡＴＡＤＵＰである。
【０１１２】
Ｔ＝８Ｒ／１２，０００であると仮定する。
【０１１３】
ｔ０はＨＳＯ９００出力信号のうちの１つからの時間基準である。
【０１１４】
ｔ１＝ｔ０＋Ｔ（ＨＳＯ９００周期の８分の１）。
【０１１５】
ｔ２＝ｔ０＋２Ｔ（ＨＳＯ９００周期の８分の１）
ｔ３＝ｔ０＋３Ｔ（ＨＳＯ９００周期の８分の１）
・・・・・
ｔｎ＝ｔ０＋ｎＴ（ＨＳＯ９００周期の８分の１）
この実施例は±０．２５％よりも良好な非常に高い精度を使用するものであり、その場合に、１つの理論的ビットにおける８分の１ＨＳＯ９００周期の数Ｔが計算され且つ累積的な態様で同一のＨＳＯ９００から時間における点を選択してＣＬＫ１Ｘ８０３を合成し、このパラメータＴはＵＳＢに対してｔ０，ｔ１，ｔ２，．．．，ｔｎにおいてデータをパルス動作させる。
【０１１６】
数値例はこのことを明瞭にさせる。
【０１１７】
ＨＳＯ９００の実際の周期は１２ｎｓである。
【０１１８】
タイミング粒度＝ＨＳＯ周期９００の１／８＝１．５ｎｓ
Ｓ＝１ｍｓにおける理論的ビット数＝１２，０００
Ｒ＝１ｍｓにおけるＨＳＯ周期の数＝８３，３３３
Ｔ＝１個の理論的ビットにおけるＨＳＯ周期の８分の１の数＝８Ｒ／Ｓ＝５５．５５５
ｔ１＝ｔ０＋５５（１．５ｎｓ）
ｔ２＝ｔ０＋１１１（１．５ｎｓ）
ｔ３＝ｔ０＋１６６（１．５ｎｓ）
・・・・・
ｔｎ＝ｔ０＋整数［ｎ（５５．５５５）］（１．５ｎｓ）
自走オシレータであるために同一のタイミング原点を維持し且つ８分の１周期だけ位相偏移されたＨＳＯ９００の８個の信号から最も適切なエッジを選択することにより平均データビットレートが保証される。平均データビットレートの精度は±０．２５％より良好である。何故ならば、Ｔは理論的に±０．０５％にあるものと知られているからである。Ｔ＝５５．５５５がＬ２７内に格納される（前にＬ２７は６６．６６７の値を有していた）。従って、ＨＳＯの初期的に不正確な周期は補償される。それ以後、本装置がパワーアップされる度に、ＣＬＫ１Ｘ８０３周波数は、例えダウンストリームトラフィックを受信する前であっても、その所望の１２ＭＨｚの値に非常に近い。この実施例は、例えハブ又はホスト供給信号が、例えば、テストにおいて装置がＵＳＢインプリメンターフォーラムによって認証されるべく合格せねばならないように仕様の周辺にある場合であっても、本装置を予定した通りに機能することがより可能であるようにさせる。ジッターは図２１のように解析される。
【０１１９】
上の例は、又、クロック信号ＣＬＫ１Ｘ８０３を供給するためにオシレータ９００出力信号を次々に逐次的に選択することによりローカルクロック信号ＣＬＫ１Ｘ８０３の周期Ｐをシンセサイザー３９５Ｄがどのようにして調節するかを例示するのに有用である。即ち、クロック信号ＣＬＫ１Ｘ８０３のエッジ位置が選択されて周期Ｐを調節し、且つタイミングはＬに応答する。例えば図１２を参照すると良い。想起されるように、図１２はタイミング信号ＲＸＤＤ４  ８０１のインターバル１２１０に対して断片的周期、即ちオシレータ９００の８分の１の周期の数Ｍをカウントするために信号９２６等の１をどのように選択するかを例示している。その選択は信号９２６等のエッジ、例えばタイミング信号ＲＸＤＤ４  ８０１に関する信号９４６のエッジ９１等の発生に応答する。Ｍに対する断片的周期をカウントすることはローカルクロック信号ＣＬＫ１Ｘ８０３の周期Ｐを調節することとは異なっているが、例えば、図１２の側面は周期Ｔの調節を例示するのに有用である。特に、信号９２６がクロック信号ＣＬＫ１Ｘ８０３を供給するために選択された第一オシレータ９００信号であり且つ信号９２６の上昇エッジが上述した数値例における時間ｔ０として発生する場合について検討する。思い出されるように、Ｌはより正確な値Ｔ（それはＲの関数）によって置換されている。クロック信号ＣＬＫ１Ｘ８０３の下降エッジは上昇エッジの後オシレータ９００の５５．５５  ８分の１周期において発生すべきである。５５．５５は６個の完全な周期と０．９４４の８分の１周期である。従って、信号９２６を供給する６個のサイクルの後、位相選択器３０（図１８）が信号９２６等のうちの別の１つを選択してクロック信号ＣＬＫ１Ｘ８０３を供給する。又、０．９４４は７．５５に８分の１であるので、信号９６１は次の信号として選択される。何故ならば、信号９６１は信号９２６の後の７番目の即ち整数（７．５５２）である８分の１周期信号だからである。即ち、信号９６１は信号９２６に関して７／８位相偏移されている。
【０１２０】
図２１は連続する遷移４５６ＴＤＪ１  ４５０、７ｎｓ及び対となった遷移４５７ＴＤＪ２  ４５５、８ｎｓにおいて遭遇するジッター仕様を例示している。全てのジッターがＣＬＫ１Ｘ８０３クロック合成から来ており且つそのクロック合成がＨＳＯ９００周期の８分の１のみに依存するものであった場合には、ＨＳＯ９００周期の８分の１はＴＤＪ１  ４５０、７ｎｓ未満であるべきである。然しながら、トランシーバ３８２及び３８３（図５）はジッターに対して約２ｎｓ寄与し且つＨＳＯ９００はそれ自身のジッターを有しており、それは約０．４ｎｓ（５０ｐｓ×８）寄与する。従って、ＨＳＯ９００周期の８分の１は４．６ｎｓ未満であるべきである。
【０１２１】
該実施例においては、ＨＳＯ周期の８分の１が２ｎｓ未満に選択されており、それは、勿論、４．６ｎｓ未満であり、従って、ジッター仕様は満足される。
【０１２２】
ローカルクロック信号ＣＬＫ１Ｘ８０３の周期Ｐは位相選択器３０によって選択されるＨＳＯ９２６のうちの２つによって区切られ、従ってチップ３７０上で発生される周期Ｐは理論的ビット期間に近いものである。
【０１２３】
図２２は、本発明の実施例に基づいてバス上のＵＳＢＦＳ装置３９０へ接続２２１０した後の最初のミリ秒を例示している。以下において図４も参照する。時間基準２２１０において装置３９０を接続した後に、装置３９０は、パワーが印加されることを検知する。セトリング周期の後、装置３９０はスイッチ３７３を使用してプルアップ抵抗３７１をＤ＋へ接続することによりそれ自身をＵＳＢへ取付け２２２０、それにより、ホスト又はハブ３００はＦＳ装置３９０を認識する。装置３９０は時間基準２２５０においてＨＳＯ９００を開始させる。
【０１２４】
装置３９０の取付けに応答してホスト３００はシングルエンドゼロ（ＳＥ０）を強制させ２２３０、次いでホスト又はハブ３００がＳＯＦ７００のブロードキャストを開始させるまでバスをアイドル状態とさせる２２４０。ＳＯＦ７００の初期的なブロードキャストが行われると、スタートアップフェーズが存在し、それは図１４に示したフェーズ１  ５０１乃至フェーズ４  ５０４を包含しており、Ｒ４６の永久的なアップデートが続き、次いでフェーズ５  ５０５の場合におけるＬ２７が続く。パワーが装置３９０から除去されると、パラメータＲ４６（図１８）が決定され且つ制御器５０（図１８）と関連する非揮発性メモリ３９５Ｃがアップデートされる。この動的な値は、最初のスタートアップに対して元々供給されたＬ２７の初期的な値の代わりに次のスタートアップフェーズ期間中にＬ２７に対して使用される。１つの変形実施例は前のパワーアップ／パワーダウンシーケンスにおいてアップデートが行われたことを検知する付加的な回路を提供し、従って図１９の分岐２８９におけるようにスタートアップフェーズをバイパスする。
【０１２５】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。例えば、理解すべきことであるが、本明細書に記載した方法及び構成は、例えばリムーバブルセキュアコンテント装置等のＵＳＢ集積化チップカード（ＵＳＢ−ＩＣＣ）の特定のニーズに答えるべく構成されたものであっても、一般的に多用なＵＳＢ装置に対して適用可能なものである。又、特許請求の範囲においては例えばＬ，Ｍ，Ｎ，Ｒ等の変数について言及しており且つこれらの変数は本明細書において特定の数のビット及びオシレータ周期（期間）又はその一部において説明しているが、これらの変数の名称及び特定のビット数及び周期等は単に例示的なものであってこれらの特定的なものに制限されるべきものではないことを理解すべきである。
【図面の簡単な説明】
【０１２６】
【図１】第一の従来技術のＵＳＢ装置を示した概略図。
【図２】第二の従来技術のＵＳＢ装置を示した概略図。
【図３】本発明の１実施例に基づくＵＳＢ装置を示した概略図。
【図４】本発明の１実施例に基づいてダウンストリームトラフィック状態においてより詳細に図３のＵＳＢ装置を示した概略図。
【図５】本発明の１実施例に基づいてアップストリームトラフィック状態においてより詳細に図３のＵＳＢ装置を示した概略図。
【図６】本発明の１実施例に基づくフローチャート。
【図７】ＵＳＢ２．０によるＳＥＴＵＰトークンパケットの概略図。
【図８】図７のＳＥＴＵＰトークンパケットのタイミング線図。
【図９】ＵＳＢ２．０による連続するフレーム開始（ＳＯＦ）トークンの概略図。
【図１０】本発明の１実施例に基づく高速オシレータ（ＨＳＯ）の概略図。
【図１１】図９のＳＯＦトークンのうちの１つの一部のタイミング線図及び本発明の１実施例に基づいてトークンの受信したＲＸＤＤＷから二次的信号ＲＸＤＤ４及びＲＸＤＤ８を発生する状態を示した概略図。
【図１２】本発明の１実施例に基づいてＨＳＯの８分の１周期の数Ｍを発生するために図９のＨＳＯの出力を使用して図１１のＲＸＤＤ４信号の期間を計測する状態を示した概略図。
【図１３】本発明の１実施例に基づいてＨＳＯの８分の１周期の数Ｎを発生するために図９のＨＳＯの出力を使用して図１１のＲＸＤＤ８信号の期間を計測する状態を示した概略図。
【図１４】図９のＳＯＦトークンのうちの１つの一部のタイミング線図及びＮＲＺＩＤＤＷを発生するためにダウンストリーム信号ＲＸＤＤＷをデコードする状態を示した概略図。
【図１５】本発明の１実施例に関しての優位性の観点において２つの連続するＳＯＦトークン及び関連する信号連続するフレーム開始（ＣＳＯＦ）のある詳細を示したタイミング線図。
【図１６】本発明の１実施例に基づいて受信したＲＸＤＤＷ信号から二次的信号ＣＳＯＦを発生する副論理ブロックを示した概略図。
【図１７】図９のＨＳＯの出力を使用してＣＳＯＦ信号期間を計測する状態を示した概略図。
【図１８】本発明の１実施例に基づくクロック回路用の論理を示した概略図。
【図１９】本発明の１実施例に基づくより詳細な処理の流れを示したフローチャート。
【図２０】本発明の１実施例に基づいてＤ＋及びＤ−上にアップストリームＦＳトラフィックを発生する状態を示した概略図。
【図２１】本発明の１実施例に関しての優位性の観点においてＵＳＢ仕様ジッター条件の側面を示した概略図。
【図２２】本発明の１実施例に基づいてＵＳＢＦＳ装置がパワーを受取った後の数ミリ秒を示した概略図。
【符号の説明】
【０１２７】
３７０  シリコンブロック
３９０  ＵＳＢ装置
３９２  インターフェース
３９３  メモリ
３９４  中央処理装置（ＣＰＵ）
３９５  クロック
３９５Ａ  発生器
３９５Ｂ  メーター
３９５Ｃ  メモリ
３９５Ｄ  シンセサイザー
３９５Ｅ  検知器
３９６  フロントエンド
３９７  ＵＳＢエンジン
３９８  ファンクション（機能部）
【図１】
2004234659.tif 000003
【図２】
2004234659.tif 000004
【図３】
2004234659.tif 000005
【図４】
2004234659.tif 000006
【図５】
2004234659.tif 000007
【図６】
2004234659.tif 000008
【図７】
2004234659.tif 000009
【図８】
2004234659.tif 000010
【図９】
2004234659.tif 000011
【図１０】
2004234659.tif 000012
【図１１】
2004234659.tif 000013
【図１２】
2004234659.tif 000014
【図１３】
2004234659.tif 000015
【図１４】
2004234659.tif 000016
【図１５】
2004234659.tif 000017
【図１６】
2004234659.tif 000018
【図１７】
2004234659.tif 000019
【図１８】
2004234659.tif 000020
【図１９】
2004234659.tif 000021
【図２０】
2004234659.tif 000022
【図２１】
2004234659.tif 000023
【図２２】
2004234659.tif 000024