(57)【要約】【課題】送信機の自動的な同期化を提供する。【解決手段】本発明の電子装置は、シンクロナイザに通信可能に結合される送信モジュールを含む。送信モジュールは、送信のために、受信されたデータを変換し、シンクロナイザから第一の命令を受信し、第一の命令に基づいて、受信されたデータの変換を計時するために使用されるクロック信号の位相を調節し、調節されたクロック信号をシンクロナイザに送出する。シンクロナイザは、調節されたクロック信号を受信し、送信すべきデータの周波数及び位相を含むデータ信号を受信し、調節されたクロック信号及びデータ信号に基づいて、送信モジュールのための第二の命令を決定し、第二の命令を送信モジュールに供給する。【選択図】図１
2013150325.tif 000002
【特許請求の範囲】
【請求項１】
同期化手段に通信可能に結合される送信モジュールを備える電子装置であって、
前記送信モジュールは、送信のために、受信されたデータを変換し、前記同期化手段から第一の命令を受信し、前記第一の命令に基づいて、前記受信されたデータの変換を計時するために使用されるクロック信号の位相を調節し、調節されたクロック信号を前記同期化手段に送出し、
前記同期化手段は、前記調節されたクロック信号を受信し、送信されるデータの周波数及び位相を含むデータ信号を受信し、前記調節されたクロック信号と前記データ信号とに基づいて、前記送信モジュールのために第二の命令を決定し、決定された第二の命令を前記送信モジュールに供給する、
ことを特徴とする電子装置。
【請求項２】
前記同期化手段は、遅延ロックループを備える、
請求項１記載の電子装置。
【請求項３】
前記同期化手段は、前記調節されたクロック信号及び前記データ信号に通信可能に接続される位相検出手段を更に有し、
前記位相検出手段は、前記調節されたクロック信号と前記データ信号との間の位相差を決定する、
請求項１記載の電子装置。
【請求項４】
前記同期化手段は、さらに、前記調節されたクロック信号の位相と前記データ信号の位相との間の差を決定し、前記調節されたクロック信号の位相が前記データ信号の位相よりも先行しているかを判定し、前記調節されたクロック信号の位相が前記データ信号の位相よりも大きいときに、前記調節されたクロック信号の位相を減少し、前記調節されたクロック信号の位相が前記データ信号の位相未満であるときに、前記調節されたクロック信号の位相を増加させる第三の命令を決定する、
請求項３記載の電子装置。
【請求項５】
前記同期化手段が、前記送信モジュールのための第二の命令を決定することは、
前記同期化手段が、候補となる命令の範囲を選択し、前記範囲におけるそれぞれの候補となる命令について、前記送信モジュールのための前記候補となる命令を供給し、前記調節されたクロック信号及び前記データ信号を受信し、前記調節されたクロック信号と前記データ信号との間の位相差を決定し、どの候補となる命令によって最も低い大きさの位相差が得られるかを判定し、前記最も低い大きさの位相差を生じる候補となる命令を前記第二の命令として選択する、
請求項３記載の電子装置。
【請求項６】
前記命令は、クロック信号の位相を調節すべきかに関して、前記送信機の２以上のコンポーネントに個別に指示するコードを含む、
請求項１記載の電子装置。
【請求項７】
前記コードは、前記クロック信号の位相を１８０°だけ調節すべきかを前記送信機の前記コンポーネントに指示する、
請求項６記載の電子装置。
【請求項８】
前記コードと位相の調節とを関連付けるコード発生手段を更に有する、
請求項６記載の電子装置。
【請求項９】
前記コード発生手段への入力が安定しているかを判定し、前記入力が安定していると判定されたとき、新たなコードの発生を許可し、前記入力が安定していないと判定されたとき、新たなコードの発生を無効にするロック検出手段を更に有する、
請求項８記載の電子装置。
【請求項１０】
前記コードは、２以上の分周手段の位相を調節するため、前記２以上の分周手段に個々に指示する、
請求項６記載の電子装置。
【請求項１１】
前記送信モジュールは、
入力データの部分を、送信のために複数の小さなサブ部分に多重化する１以上の多重化手段と、
出力クロックの周波数を分周して、前記１以上の多重化手段のそれぞれに多重化手段のクロック信号を供給する１以上の分周手段とを有し、
前記分周手段のそれぞれは、受信された第一の命令に基づいて、前記多重化手段のクロック信号の位相を調節する、
請求項６記載の電子装置。
【請求項１２】
信号の周波数を分周する方法であって、
入力クロック信号を受信する段階と、
前記入力クロック信号の周波数を分周する段階と、
位相セレクタ信号を受信する段階と、
分周されたクロック信号の位相を調節して、２以上の位相が調節された分周されたクロック信号を生成する段階と、
前記位相セレクタ信号に基づいて、前記位相が調節された分周されたクロック信号のうちの１つを選択して、データ送信モジュールにおけるデータの変換のコンポーネントに出力する段階と、
を含む方法。
【請求項１３】
前記位相が調節された分周されたクロック信号の少なくとも１つは、１８０°だけ調節された位相を含む、
請求項１２記載の方法。
【請求項１４】
前記位相が調節された分周されたクロック信号の少なくとも１つは、０°だけ調節された位相を含む、
請求項１２記載の方法。
【請求項１５】
同期化回路により発生されたコードに含まれているビット値から前記位相セレクタ信号を決定する段階を更に含む、
請求項１２記載の方法。
【請求項１６】
データの送信を同期させる方法であって、
送信モジュールから分周されたクロック信号を受信する段階と、
送信すべき周波数及び位相を含むデータ信号を受信する段階と、
前記分周されたクロック信号と前記データ信号とに基づいて、前記送信モジュールのための命令を決定する段階と、前記命令は、前記分周されたクロック信号の位相を調節することと関連する情報を含み、前記分周されたクロック信号は、データの変換を計時し、
前記命令を前記送信モジュールに供給する段階と、
を含む方法。
【請求項１７】
前記分周されたクロック信号と前記データ信号との間の位相差を決定する段階を更に含む、
請求項１６記載の方法。
【請求項１８】
前記調節されたクロック信号の位相と前記データ信号の位相との間の差を決定する段階と、
前記調節されたクロック信号の位相が前記データ信号の位相よりも先行しているかを判定する段階と、
前記調節されたクロック信号の位相が前記データ信号の位相よりも大きいときに、前記調節されたクロック信号の位相を減少し、前記調節されたクロック信号の位相が前記データ信号の位相未満であるときに、前記調節されたクロック信号の位相を増加するように、次の命令を決定する段階と、
を更に含む請求項１６記載の方法。
【請求項１９】
前記送信モジュールのための命令を決定する段階は、
候補となる命令の範囲を選択する段階と、
前記範囲におけるそれぞれの候補となる命令について、前記候補となる命令を前記送信モジュールに供給し、前記分周されたクロック信号と前記データ信号とを受信し、前記分周されたクロック信号と前記データ信号との間の位相差を決定する段階と、
どの候補となる命令によって最も低い大きさの位相差が生じるかを決定する段階と、
前記最も低い大きさの位相差を生じる候補となる命令を前記決定された命令として選択する段階と、
請求項１６記載の方法。
【請求項２０】
前記命令は、クロック信号の位相を調節すべきかに関して、前記送信機の２以上のコンポーネントに個別に指示するコードを含む、
請求項１６記載の方法。
【請求項２１】
前記コードは、前記クロック信号の位相を１８０°だけ調節すべきかを前記送信機のコンポーネントに指示する、
請求項２０記載の方法。
【請求項２２】
前記コードと位相の調節とを関連付けする段階を更に含む、
請求項２０記載の方法。
【請求項２３】
前記コード発生手段への入力が安定しているかを判定する段階と、
前記入力が安定していると判定されたとき、新たなコードの発生を許可する段階と、
前記入力が安定していないと判定されたとき、新たなコードの発生を無効にする段階と、
を更に含む請求項２２記載の方法。
【請求項２４】
前記コードは、２以上の分周手段の出力の位相を調節するように前記２以上の分周手段に個別に指示する、
請求項２０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子通信に関し、より詳細には、送信機の自動的な同期化に関する。
【背景技術】
【０００２】
電子通信において、データの構造をデータリンクにわたり通過される情報のストリームに変換することで、ある電子装置から別の電子装置にデータを送出するため、データシリアライザが使用される。データの構造は、並列のやり方でデータを送信するため、比較的に大きなデータビット数を含み、このデータ構造は、一斉に送信される。シリアライザは、シリアルなやり方での送信のため、データの構造を比較的少ないビットを含む狭帯域伝送バスに変換する。したがって、この構造は、ばらばらに送信される。狭帯域伝送バスは、データ構造全体を伝送するバスよりも高い周波数で動作する。例えば、シリアライザは、第一の周波数で伝送する内部データバスからデータを受信し、データをばらばらに分解し、伝送バスを通して１つずつピースを伝送する。
【発明の概要】
【課題を解決するための手段】
【０００３】
１実施の形態では、電子装置は、同期化手段に通信可能に結合される送信モジュールを含む。送信モジュールは、送信のために受信データを変換し、シンクロナイザから第一の命令を受信し、命令に基づいて、受信データの変換を計時するために使用されるクロック信号の位相を調節し、調節されたクロック信号を同期化手段に送出する。同期化手段は、調節されたクロック信号を受信し、送信されるべきデータの周波数及び位相を含むデータ信号を受信し、調節されたクロック信号及びデータ信号に基づいて、送信モジュールの第二の命令を決定し、第二の命令を送信モジュールに提供する。
【０００４】
別の実施の形態では、信号の周波数を分周する方法は、入力クロック信号を受信し、クロック信号の周波数を分周し、フェーズセレクタ信号を受信し、分周されたクロック信号の位相を調節して、２以上の位相が調節された分周されたクロック信号を生成し、フェーズセレクタ信号に基づいて、位相が調節され分周されたクロック信号のうちの１つを選択して、データ送信モジュールにおけるデータを変換するコンポーネントに出力する、ことを含む。
【０００５】
更に別の実施の形態では、データを送信する方法は、送信のためにデータを受信すること、同期化手段から第一の命令を受信すること、第一の命令に基づいて、受信データの変換を計時するために使用されるクロック信号の位相を調節すること、調節されたクロック信号を同期化手段に送出することを含む。
【０００６】
なお更に別の実施の形態では、データの送信を同期させる方法は、送信モジュールから分周されたクロック信号を受信すること、送信されるべきデータの周波数及び位相を含むデータ信号を受信すること、分周されたクロック信号及びデータ信号に基づいて、送信モジュールの命令を決定すること、命令を送信モジュールに提供すること、を含む。命令は、分周されたクロック信号の位相を調節することに関連する情報を含む。分周されたクロック信号は、データの変換を計時する。
【図面の簡単な説明】
【０００７】
本発明、本発明の特徴及び効果の更に完全な理解のため、添付図面と共に行われる以下の説明が参照される。
【図１】送信機の自動的な同期化によるシステムの例示的な実施の形態を示す図である。
【図２】送信装置の一部の例示的な実施の形態の更に詳細な図である。
【図３】分周器モジュールの例示的な実施の形態を示す図である。
【図４】グリッチレスマルチプレクサ（glitchless  multiplexer）の実現の例示的な実施の形態を示す図である。
【図５】グリッチレスマルチプレクサの動作のタイミングダイアグラムである。
【図６】シンクロナイザの例示的な実施の形態である。
【図７】入出力送信の自動的な同期化の方法の例示的な実施の形態を示す図である。
【図８】マルチプレクサのような送信コンポーネントの位相を調節する方法の例示的な実施の形態を示す図である。
【図９】送信装置の位相と送信されるデータとを同期させる方法の例示的な実施の形態を示す図である。
【図１０】送信装置の位相と送信されるデータとを同期させる方法の別の例示的な実施の形態を示す図である。
【発明を実施するための形態】
【０００８】
図１は、入出力送信機の自動的な同期化によるシステム１００の例示的な実施の形態を示す図である。システム１００は、データリンク１１１のようなリンクを介して、リモート装置１２０のような別の電子装置に通信可能に結合される電子装置１０２を含む。電子装置１０４は、例えば送信装置１０６を使用してデータソース１０４からリモート装置１２０にデータを送信するように構成される。送信装置１０６は、データを入力及び／又は出力するために自動的な同期化を含む。
【０００９】
送信装置１０６の例示的な実施の形態が示されているが、送信装置１０６は、より多くのコンポーネント又はより少ないコンポーネントを含む場合がある。さらに、様々な実施の形態では、送信装置１０６は、単一の装置として実現されない場合がある。係る実施の形態では、様々な送信装置１０６の部分は、電子装置１０２の異なる部分にある場合がある。
【００１０】
送信装置１０６は、データリンク１１１を通してデータソース１０４からデータを送出する適切なメカニズムを含む。送信装置１０６は、データリンク１１１よりも広い幅をもつ内部バスを通してデータソース１０４からデータを受信する。送信装置１０６は、データソース１０４からのデータが受信されるレートに整合するために十分なレートで、データリンク１１１を通してデータソース１０４からのデータを送出するように構成される。１実施の形態では、送信装置１０６は、データソース１０４からのデータの一部を変換するように構成されるシリアライザ１１０を含む。データソース１０４は、シリアライザ１１０に供給される多数の入力ビットを供給し、シリアライザは、入力ビットをシリーズに直列化する。シリアライザ１１０は、任意の適切なコンポーネント、チップ、回路、又は他のメカニズムにより実現される。シリアライザ１１０は、データリンク１１１を通して直列にデータソース１０４から受信されたデータを送出するように構成される。データがデータリンク１１１を通して送信されるレートは、例えば受信されたデータ量、直列化されたユニットのサイズ、データソース１０４からのデータを伝送するバスの幅、又はデータソース１０４からの係るデータが送信装置１０６に到達するレートに依存する。シリアライザ１１０は、データリンク１１１を通して情報を伝送するためのキューのような、ファーストイン・ファーストアウト（FIFO）データ構造を使用するように構成される。シリアライザ１１０は、所定の幅ｎのデータを受信する。シリアライザ１１０は、所定の幅ｍの直列化されたデータを伝送するように構成される。１実施の形態では、ｍの長さは、１ビットである場合がある。送信された直列化されたデータのレートは、ｎ／ｍの割合、シリアライザ１１０及びＩ／Ｏクロック１１６により使用されるクロック速度に依存する。
【００１１】
電子装置１０２は、シリアライザ１１０及びデータリンク１１１に結合される送信ドライバ１１２を含む。シリアライザ１１０は、送信ドライバ１１２を通して情報が直列化された後に、情報を通過させるように構成される。送信ドライバ１１２は、シリアライザ１１０から受信されたときに、データをデータリンク１１１を通して送信される形式に変換するように構成される。係る形式は、物理的な信号を含む。
【００１２】
送信ドライバ１１２は、Ｉ／Ｏクロック信号１１６を使用して、データリンク１１１を通した情報の送信を計時する。係るＩ／Ｏクロック信号１１６は、データクロック１１８のような到来するデータの到達、又はデータがシリアライザ１１０に入力されるために到達する頻度を計時するために使用されるクロック信号に関連する。シリアライザ１１０は、シリアライザ１１０に入力される結果として到達するデータ自身のようなデータ信号、Ｉ／Ｏクロック１１２又はデータクロック１１２を使用して、入力データから直列化されたデータの生成、係る直列化されたデータの送信を計時するように構成される。
【００１３】
電子装置は、シンクロナイザ１１４を含む。１実施の形態では、シリアライザは、シンクロナイザ１１４を使用して、直列化されたデータの生成及び係る直列化されたデータの送信を計時するように構成される。シンクロナイザ１１４は、任意の適切なコンポーネント、チップ、回路、又は他のメカニズムにより実現される場合がある。シンクロナイザ１１４は、Ｉ／Ｏクロック１１６及び／又はシリアライザ１１０により使用されるクロックの入力、シリアライザ１１０及び／又はデータクロック１１８への入力データの入力を受信するように構成される。１実施の形態では、シンクロナイザ１１４は、Ｉ／Ｏクロック及びインクロナイザ１１０への入力データに基づいて、シリアライザ１１０のコンフィギュレーション情報を決定するように構成される。係るこのフィギュレーション情報は、データソース１０４及びＩ／Ｏクロック１１６からの到来するデータのクロックタイミングを同期化するための、シリアライザ１１０の命令を含む。係る命令は、生成されたコードを含む。シリアライザ１１０は、係る命令を使用して、データの出力をデータソース１０４からのデータの直列化と良好に同期を取る場合がある。例えば、シリアライザ１１０は、生成されたコードを使用して、その使用するＩ／Ｏクロック１１６の位相をシリアライザ１１０への入力データと同期を取るように構成される。
【００１４】
１実施の形態では、シンクロナイザ１１４は、Ｉ／Ｏクロック１１６の位相とシリアライザ１１０への入力データの位相との整合に基づいて、シリアライザ１１０のコンフィギュレーション情報を提供するように構成される。
【００１５】
シリアライザ１１０及びシンクロナイザ１１４の例示的な実施の形態が示されているが、シリアライザ１１０及び／又はシンクロナイザ１１４は、より多くのコンポーネントを含むか又はより少ないコンポーネントを含む場合がある。さらに、様々な実施の形態では、シリアライザ１１０及び／又はシンクロナイザ１１４は、単一の装置として実現されない場合がある。係る実施の形態では、シリアライザ１１０及び／又はシンクロナイザ１１４の様々な部分は、電子装置１０２の異なる部分にある場合がある。
【００１６】
動作において、電子装置１０２は、データリンク１１１を通して、データソース１０４からリモート装置１２０にデータを送出する。データソース１０４からのデータは、特定のレートで到達する。係るレートは、データクロック１１８により与えられるか、又はシリアライザ１１０に入力されるデータのレートにより与えられる場合がある。係るデータのレートは、シリアライザ１１０への入力を含めて、データ信号に含まれる。データは、シリアライザ１１０に供給され、このシリアライザは、データを小さな部分に分割し、係る小さな部分をＩ／Ｏクロック１１６により決定されたレートでデータリンク１１１を通して送出する。１実施の形態では、データは、シンクロナイザ１１４に供給され、シンクロナイザは、データがシリアライザ１１０に入力するときに、データの位相を決定する。シリアライザ１１０は、データを例えば物理的信号に変換するため、送信ドライバ１１２にアクセスすることで、データリンク１１１を通してデータを送出する。シリアライザ１１０は、シリアライザ１１０がデータを直列化するときに、データの位相を調節する。シリアライザ１１０は、シンクロナイザ１１４により提供される生成されたコードのような命令を使用して、係る位相の調節を行う。
【００１７】
シンクロナイザ１１４は、シンクロナイザ１１０と並行して動作する。シンクロナイザ１１４は、シリアライザ１１０への入力データに関する情報及びシリアライザ１１０の分周されたクロックの結果を使用して、係る信号のそれぞれの位相を評価する。シンクロナイザは、Ｉ／Ｏクロック１１６を分周する位相をどのように調節するかに関して、シリアライザ１１０に指示するコードのような命令を生成する。
【００１８】
図２は、図１の送信装置１０６のような、送信装置の一部の例示的な実施の形態の更に詳細な図である。シンクロナイザ２０６、シリアライザ２０２、データクロック２０８、Ｉ／Ｏクロック２２６、及び送信ドライバ２０４は、図１のシンクロナイザ１１４、シリアライザ１０６、データクロック１１８、Ｉ／Ｏクロック１１６及び送信ドライバ１１２をそれぞれ実現する。
【００１９】
シリアライザ２０２は、図１のシリアライザ１１０を実現する。シリアライザ２０２は、１以上のマルチプレクサ（MUX）２１２を含む。ＭＵＸ２１２は、所定の幅のデータ入力を受け、入力セレクタに依存して、データ入力のうちの選択された１以上を出力する。出力は、所定の幅からなる場合がある。出力は、クロック信号の受信に応じて選択される（おそらく変化される）場合がある。一連のＭＵＸ２１２は、データの構造を小さな部分に直列化するように構成される。シリアライザ１１０において使用されるＭＵＸ２１２の数は、シリアライザ１１０への入力データのサイズ及びシリアライザ１１０の出力データのサイズに依存する。１実施の形態では、１ビットの幅に直列化されるようにＮビットの入力が与えられると、ＭＵＸ２１２のそれぞれは、入力を半分に分割するように構成され、必要とされるＭＵＸの数は、k = log2(N)として与えられる。例えば、シリアライザ１１０が１６ビットの入力を受け、１ビットの入力を送信するように構成される場合、シリアライザ１１０は、（k = log2(16) = 4）ＭＵＸ２１２を含む。図２の例では、シリアライザ１１０は、２ビットを１ビットに多重化するように構成されるＭＵＸ２１２ａ、４ビットを２ビットに多重化するように構成されるＭＵＸ２１２ｂ、ＮビットをＮ／２ビットに多重化するように構成されるＭＵＸ２１２ｋを含む。
【００２０】
それぞれのＭＵＸ２１２は、クロック信号に通信可能に結合される。それぞれのＭＵＸ２１２について使用されるクロック信号は、ＭＵＸ２１２の特定の直列化の機能に依存する。Ｉ／Ｏクロック２２６は、データソース２１０から到達するデータの量に等しいレートで、送信ドライバ２０４を通して直列化されたデータを出力するために十分な特定の周波数で動作する。
【００２１】
データソース２１０は、内部データバスにより実現されるか、又はデータリンクを通して転送されるようにシリアライザ２０２にデータを供給する他の適切なメカニズムにより実現される。シリアライザ２０２への到来するデータは、所定のサイズＮからなる。係るＮサイズのデータの塊は、データクロック２０８により決定されるレートでデータソース２１０から到来する場合がある。データクロック２０８及び／又はＩ／Ｏクロック２２６の周波数は、必ずしも等しくはないが、シリアライザ２０２に到達するデータの全体の量がシリアライザ２０２により送信されるデータの全体の量に等しいように、同期される。シリアライザ２０２が、データソース２１０からのＮサイズの到来データを小さなＭサイズの部分に分割するように構成される場合、Ｉ／Ｏクロック２２６の周波数は、データクロック２０８の周波数の量Ｎ／Ｍの倍数である。
【数１】
2013150325.tif 000003
【００２２】
図２の例では、シリアライザ２０２が１６ビットの入力を１ビットの出力に直列化するように構成されている場合、Ｉ／Ｏクロック２２６の周波数は、データクロック２０８の周波数の１６倍である。
【００２３】
従って、それぞれＭＵＸ２１２は、ずっと小さなビットを半分に多重化するとき、前のＭＵＸの２倍の周波数で動作する必要がある。従って、シリアライザ２０２は、それぞれのＭＵＸ２１２について適切なクロック信号を提供するため、１以上の分周器モジュール２１４を含む。１実施の形態では、シリアライザ２０２は、それぞれのＭＵＸ２１２ｋについて分周器モジュール２１４ｋを含む。分周器モジュール２１４は、１以上のＭＵＸ２１２についてクロック信号を供給する回路、コンポーネント又は他の適切なメカニズムを含む。それぞれの分周器モジュール２１４は、所与のクロック信号を取得し、周波数を分周し、結果として得られたクロック信号を１以上のＭＵＸ２１２に出力するように構成される。図２の例では、分周器モジュール２１４は、所与のＩ／Ｏクロック２２６で開始して、受信したクロック信号を半分に分周し、結果として得られたクロック信号を対応するＭＵＸ２１２に供給する。従って、全ての分周器モジュール２１４が（Ａ）で動作した後に、結果として得られたクロック信号の周波数は、データクロック２０８の周波数に等しいか、又はシリアライザ２０２に入力されるデータソース２１０からのデータが到達する周波数に等しい。
【００２４】
シリアライザ２０２は、ＭＵＸ２１２に供給されるクロック信号の位相を、データがシリアライザ２０２に到達する周波数に関連する位相と同期させることに関して、シンクロナイザ２０６から命令を受けるように構成される。係る周波数は、データクロック２０８のレートに等価である。係る命令は、それぞれの係る分周器モジュール２１４の位相を調節するため、それぞれの分周器モジュール２１４に適用される。それぞれの係る分周器モジュール２１４は、コード入力２３０のような係る命令の入力を含む。係る命令は、生成されたコードで実現される。１実施の形態では、係るコードは、シリアライザ２０２で使用される分周器モジュール２１４の数に等しい、長さｋのストリンクで実現される。係るストリングのそれぞれのエレメントは、モジュールに結果として得られるクロック信号と共に含まれる位相に関して指示する、所与の分周器モジュール２１４ｋの情報を含む。１実施の形態では、係るストリングは、所与の分周器モジュール２１４ｋが０°又は１８０°の付加された位相をもつクロック信号を生成するかを示す、ビットストリングにより実現される。図２の例では、シリアライザ２０２は、ｋサイズの生成されたビットコードを分割するスプリッタ２２４を含み、ビット０は、分周器モジュール２１４ａに供給され、ビット０は、分周器モジュール２１４ｂに供給され、ビット（ｋ−１）は、分周器モジュール２１４ｋに供給される。
【００２５】
シンクロナイザ２０６は、何れか適切なメカニズムにより、ＭＵＸ２１２による使用のために分周器モジュール２１４により生成されるクロック信号の位相を調節するシリアライザ２０２の命令を決定する。シンクロナイザ２０６は、係るクロック信号の位相を調節する係る命令を決定して、シリアライザ２１０への入力データの位相を整合させる。シンクロナイザ２０６は、シリアライザ２０２の動作と並行して係る命令を決定するように構成される。シンクロナイザ２０６は、所与の分周器モジュール２１４が０°又は１８０°の付加された位相をもつ結果として得られるクロック信号を生成し、従って命令を生成するかを判定するように構成される。
【００２６】
１実施の形態では、シンクロナイザ２０６は、Ｉ／Ｏクロックが（Ａ）に落とされたとき、シリアライザ２０２への入力データの位相をＩ／Ｏクロック２２６の位相と整合させる遅延ロックループを実現するように構成される。シンクロナイザ２０６は、Ｉ／Ｏクロック２２６が分周器モジュール２１４により低減された後、シリアライザ２０２への入力データ及び結果として得られるクロック信号の示唆に通信可能に結合される位相検出器２１６を含む。入力データの係る示唆は、例えば、シンクロナイザ２０６に入力データの全部又は一部をダイレクトに送ること、データソース２１０からのデータのシリアライザ２１０への到達をモニタすること、又はデータクロック２０８をモニタすることで提供される。位相検出器２１６は、何れかの適切なメカニズムにより実現される。位相検出器２１６は、（Ａ）でのシリアライザ２０２への入力データの位相及び分周されたクロック信号の位相を検出するように構成される。
【００２７】
シンクロナイザ２０６は、コードジェネレータ２２０に通信可能に結合される。位相検出器２１６は、フィルタ２１８に通信可能に結合される。フィルタ２１８は、位相検出器２１６の出力をフィルタリングし、コードジェネレータ２２０による使用のための情報を正規化する。
【００２８】
コードジェネレータ２２０は、シリアライザ２０２の命令を生成するように構成される。コードジェネレータ２２０は、チップ、回路、又は他の適切なメカニズムにより実現される。コードジェネレータ２２０は、前に決定された位相オフセット値に対して、位相検出器２１６により検出された位相オフセットを比較するように構成される。１実施の形態では、コードジェネレータ２２０は、ポイント（Ａ）で生成されたコードとポイント（Ａ）で得られた位相との間の関係に関する情報を含む。コードジェネレータ２２０は、生成されたコードをシンクロナイザ２０２に送出し、分周されたクロック信号の位相を進めるか又は遅らせる。コードジェネレータ２２０は、位相オフセットが最小化されるまで、係る動作を繰り返すように構成される。それぞれの係る繰返しの間、位相検出器２１６は、コードジェネレータ２２０により生成された命令が影響を及ぼした後、安定信号に応じてその計算を行う。従って、コードジェネレータ２２２は、ディザリングに応じて制御コードをフリーズするように構成されるロック検出回路２２２に結合される。
【００２９】
例えばコードジェネレータ２２０は、（Ａ）で分周されたクロック信号を生成するため、予め決定されたコードが使用されたと想定している。係る予め決定されたコードは、“0000”である場合がある。コードジェネレータ２２０は、分周されたクロック信号の位相を進めるか又は遅らさせる傾向がある第二のコードを送出する。コードジェネレータ２２０は、分周されたクロック信号における増加又は減少された結果として生じる位相の順序において、コードのリストを含む。第二のコードが位相を増加することが意図された場合、コードジェネレータ２２０は、結果として生じるオフセットが小さいか又は大きいかを判定する。オフセットが小さい場合、コードジェネレータ２２０は、位相を増加することが意図される第三のコードを発生する。オフセットが大きい場合、コードジェネレータ２２０は、位相を減少することが意図される第三のコードを発生する。コードジェネレータは、係るステップを繰り返し、位相を増加又は減少するための前の判定が小さな位相オフセットを生じる場合には、係る判定が繰り返されるが、係る判定が大きな位相オフセットを生じる場合には、係る前の増加又は減少が逆にされる。
【００３０】
動作において、データクロック２０８により決定されるレートで、データソース２１０からシリアライザ２０２にデータが到達する。データは、データクロック２０８により指定されたレートでシリアライザ２０２に入力する場合がある。シリアライザ２０２は、一連のＭＵＸ２１２を通して、データを通過させることで係るデータを直列化する。それぞれのＭＵＸ２１２は、受信したデータを２つの部分に多重化する。それぞれのＭＵＸ２１２は、等しい時間量について２つの部分を多重化する。それぞれのＭＵＸ２１２の速度は、対応する分周器モジュール２１４により決定される。シリアライザ２０２は、結果として生じる多重化データが例えば１ビット幅となるまで、一連のＭＵＸ２１２を通してデータを通過させる。係る多重化の終わりにあるデータは、2^kに等しいクロックレートで送信される（ＭＵＸ２１２の数）。係るレートは、Ｉ／Ｏクロック２２６の周波数に等しいか又は近似的に等しい。結果として生じるデータは、送信ドライバ２０４に送出される。
【００３１】
シリアライザ２０２は、それぞれ分周モジュール２１４の周波数及び位相を決定する。シリアライザ２０２は、分周器モジュール２１４を通してＩ／Ｏクロック２２６の信号を通過させることで、Ｉ／Ｏクロック２２６の周波数を落とす。それぞれの係る分周器モジュール２３０は、受信されたクロック信号の周波数を半分にする。それぞれの分周器モジュール２１４は、シンクロナイザ２０６から受信された命令に従って、結果として生じるクロック信号の位相を設定する。１実施の形態では、それぞれの分周器モジュール２１４は、０°又は１８０°の付加された位相をもつクロック信号を生成するかを示すコードビットをスプリッタ２２４から受信する。結果として生じるクロック信号は、ＭＵＸ２１２、別の分周器モジュール２１４、又はシンクロナイザ２０６に供給される。最後の分周モジュール２１４ｋは、（Ａ）により表されるその分周されたクロック信号をシンクロナイザ２０６に出力する。
【００３２】
１実施の形態では、コードビットは、コードジェネレータ２２０から唯一の分周器モジュール２１４に供給される。従って、結果として生じる分周されたクロック信号の位相は、分周器モジュール２１４のチェインにおいて一度だけ調節される。更なる実施の形態では、コードビットは、分周器モジュール２１４ａに供給される。
【００３３】
シンクロナイザ２０６は、シリアライザ２０２と並行して動作する。シンクロナイザ２０６は、シリアライザ２０２に入力されるべきデータの到達に関する情報、Ｉ／Ｏクロック２２６から生じる分周されたクロック情報を受信する。位相検出器２１６は、２つの信号の位相を比較し、差を確定する。係る差は、フィルタ２１８を通してフィルタリングされ、コードジェネレータ２２０に送出される。コードジェネレータ２２０は、前に決定された差に対して、検出された位相における差を分析する。コードジェネレータ２２０は、シリアライザ２０２のマルチプレクサにより使用されるクロック信号の位相を変えるため、シリアライザ２０２に送出されるべき新たなセットの命令又は生成されたコードを生成する。ロック検出回路２２２は、前に生成されたコードの結果が係る結果を評価するために位相検出器２１６について十分に確定するまで、シンクロナイザの実行のループを保持する。
【００３４】
図３は、分周器モジュール３００の例示的な実施の形態を示す図である。分周器モジュール３００は、図２の分周器モジュール２１４を実現する。分周器モジュール３００は、入力クロック信号３０６を受け、結果として生じるクロック出力３１４を提供するように構成される。係るクロック出力３１４は、図２の対応するＭＵＸ、及び／又は次の分周器モジュール、及び／又は位相検出器に供給される。分周器モジュール３００は、クロック出力３１４に関連される位相に関して分周器モジュール３００に指示する、位相セレクタ入力３１８を受けるように構成される。図３の例では、位相セレクタ入力３１８は、結果として付加された位相が０°であるか又は１８０°であるかを示すビット（0/1）である。
【００３５】
分周器モジュール３００は、入力クロック信号３０６及びＭＵＸ３０４に結合される分周器３０２を含む。ＭＵＸ３０４は、位相セレクタ入力３１８及びクロック入力３１４に結合される。分周器３０２及びＭＵＸ３０４は、回路、モジュール、チップ又は何れか他のメカニズムにより実現される。
【００３６】
分周器３０２は、クロック信号を分周するように構成される。図３の例では、分周器３０２は、クロック信号の周波数を半分に割るように構成される。分周器３０２は、１以上の定義された位相をもつ結果として生じるクロック信号を生成するように構成される。例えば、分周器３０２は、付加された０°の位相をもつ結果として生じるクロック信号３０８と、付加された１８０°の位相をもつ結果として生じるクロック信号３１０を生成するように構成される。両方の結果として生じるクロック信号３０８，３１０は、ＭＵＸ３０４に出力される。
【００３７】
ＭＵＸ３０４は、入力ビットに基づいて、その入力（０°の位相をもつ結果として生じるクロック信号３０８、付加された１８０°の位相をもつ結果として生じるクロック信号３１０）の何れかを出力するように構成される。係る入力ビットは、位相セレクタ入力３１８に結合される。例えば、位相セレクタ入力３１８が“０”である場合、ＭＵＸ３０４は、０°の位相を持つクロック信号３０８を出力するように構成される。位相セレクタ入力３１８が“１”である場合、ＭＵＸ３０４は、付加された１８０°位相をもつクロック信号３１０を出力するように構成される。
【００３８】
分周器モジュール３００は、０°の位相信号と１８０°の位相信号との間の遷移に間にグリッチなしに出力信号３１４を提供するように構成される。１実施の形態では、係るグリッチのない出力動作を行うため、分周器モジュール３００は、クロック信号３０８の出力とクロック信号３１０の出力との間の遷移の間、“０”レベル又は“１”レベルで出力信号３１４を保持するように構成される。
【００３９】
動作において、分周器モジュール３００は、入力クロック信号３０６及び位相セレクタ入力３１８を受信する。分周器３０２は、クロック信号の周波数を半分に割り、０°の位相をもつ結果として生じるクロック信号３０８及び付加された１８０°の位相をもつ結果として生じるクロック信号３１０を出力する。係る出力は、ＭＵＸ３０４に送出される。ＭＵＸ３０４は、位相セレクタ入力３１８に従って結果として得られるクロック信号３０８，３１０を選択する。係る選択されたクロック信号は、クロック出力３１４として送出される。
【００４０】
図４は、グリッチのないマルチプレクサ３２１の実現の例示的な実施の形態である。係るマルチプレクサ３２１は、図３のＭＵＸ３０４を完全に又は部分的に実現する。マルチプレクサ３２１は、位相セレクタ入力３１２に基づいて、例えばゼロ位相シフト差をもつ受信されたクロック信号３０８又は１８０°の位相差をもつ受信されたクロック信号３１０をクロック出力３１４として提供するように構成される。１実施の形態では、位相セレクタ入力３１２における変化により検出されたとき、所望の出力の選択における変化に応じて、マルチプレクサ３２１は、クロック信号３０８，３１０の何れかをクロック信号３１４として出力することを遅延するように構成される。クロック信号３０８を出力することからクロック信号３１０を出力すること、逆にクロック信号３１０を出力することからクロック信号３０８を出力することへの瞬間的な変化は、クロック出力３１４においてグリッチを生じる場合がある。従って、位相セレクタ入力３１２における変換の検出に応じて、新たに選択されたクロック信号を瞬間的に出力する代わりに、マルチプレクサ３２１は、クロック信号の１以上の半サイクルについて出力値を保持するように構成される。係る期間の後、マルチプレクサ３２１は、新たに選択されたクロック信号の立ち上がり又は立下りと同期する新たに選択されたクロック信号を出力するように構成される。保持された出力値は、例えばグランドのような論理“０”を示すシステムの低電圧、又は電圧供給値のような論理“１”を示すシステムの高電圧である。
【００４１】
マルチプレクサ３２１は、何れかの適切なやり方で実現される。図４に例示される実施の形態では、マルチプレクサ３２１は、互いに通信可能に結合される１以上のラッチ３２２，３２４，３２６及び３２８を含む。ラッチ３２２，３２４，３２６及び３２８は、何れか適切な装置、コンポーネントモジュール、アナログ又はデジタル回路により実現される。ラッチ３２２，３２４，３２６及び３２８のそれぞれは、立ち上がりクロック信号が受信されるまで、現在の出力値を保持するように構成される。係る瞬間で、ラッチ３２２，３２４，３２６及び３２８は、時間的なその瞬間でラッチで受信された入力を出力するように構成される。ラッチ３２２及び３２６は、クロック信号入力としてクロック信号３１０に通信可能に結合される。従って、ラッチ３２２及び３２６は、マルチプレクサ３２１で受信された１８０°だけシフトされたクロック信号の立ち上がりエッジに応じて、更新された値を出力するように構成される。ラッチ３２４及び３２８は、クロック信号入力としてクロック信号３０８に通信可能に結合される。従って、ラッチ３２４及び３２８は、マルチプレクサ３２１で受信された０°だけシフトされたクロック信号の立ち上がりエッジに応じて、更新された値を出力するように構成される。
【００４２】
マルチプレクサ３２１は、３：１「ワンホット“one-hot”」マルチプレクサ３３２を含む。３：１「ワンホット」マルチプレクサ３３２は、可能性のある３つの入力Ｄ0，Ｄ1及びＤ2を受け、クロック出力３１４を送出するように構成されるその出力で３つのラインを多重化する。所与の瞬間で出力にどの入力を多重化すべきかに関する選択は、１以上の入力Ｓ0，Ｓ1及びＳ2により決定される。マルチプレクサ３３２は、入力のうちのどの入力が論理ハイ電圧すなわち“１”であるかを判定し、関連する入力を出力ラインで多重化する。例えば、Ｓ0が“１”に設定された場合、Ｄ0に関連される入力は、出力信号３１４に多重化される。Ｓ1が“１”に設定された場合、Ｄ1に関連する入力は、出力信号３１４に多重化される。Ｓ2が“１”に設定される場合、Ｄ2に関連する入力は、出力信号３１４に多重化される。マルチプレクサ３３２は、「ワンホット」マルチプレクサのコンフィギュレーションを実現する。
【００４３】
クロック信号３１０は、マルチプレクサ３２２の入力Ｄ0に通信可能に結合される。クロック信号３０８は、マルチプレクサ３２２の入力Ｄ1に通信可能に結合される。マルチプレクサ３２２の入力Ｄ2は、論理値に対応する一定の電圧レベルに結合される。１実施の形態では、マルチプレクサ３２２の入力Ｄ2は、ＶDD３３０に接続される。ＶDDは、適切な電圧源に通信可能に結合される。更なる実施の形態では、マルチプレクサ３２２の入力Ｄ2は、論理“１”の値に対応する電圧源を含む。別の実施の形態では、マルチプレクサ３２２の入力Ｄ2は、論理“０”値に対応する電圧源を含む。係る電圧源は、ロジックドライビングＳ0，Ｓ1，Ｓ2とは異なる。位相セレクタ入力３１２からの値の変化の間、マルチプレクサ３２２は、入力Ｄ1と入力Ｄ0との間の切り替えの間に、マルチプレクサ３２２の入力Ｄ2に対応するレベルで、出力信号３１４を保持するように構成される。マルチプレクサ３２２は、グリッチのない動作に行うために十分な時間について係る信号を保持するように構成される。
【００４４】
グリッチのない動作を行うため、適切なロジック又はコネクションがラッチ３２２，３２４、３２６，３２８とマルチプレクサ３３２との間で実現される。係るロジック又はコネクションは、唯一の論理“１”信号を一度にマルチプレクサ３３２の入力Ｓ0，Ｓ1及びＳ2に供給するように構成される。係る論理“１”信号は、入力Ｄ0に関連する信号を出力することと、Ｄ1に関連する信号を出力することとの間のスイッチ間の遷移に間に、入力Ｄ2に関連するホールド信号を出力するためにマルチプレクサ３３２に指示するように構成される。ロジック又はコネクションは、マルチプレクサ３２２と組み合わせて、選択された入力の次のハイ−ロウ又はロウ−ハイ遷移まで、位相セレクタ入力３１２における変化に応じて出力信号３１４の変化を遅延させるように構成される。遅延は、位相シフトのないクロック信号３０８を出力することと、１８０°をもつクロック信号３１０を出力することとの間のグリッチのない遷移に作用するため、ある期間について論理“０”又は“１”レベルに出力信号３１４を保持することで実現される。例えば、ラッチ３２６の出力は、マルチプレクサ３３２の入力Ｓ0に通信可能に結合される。ラッチ３２４の出力及びラッチ３２８の出力は、ＮＯＲゲート３３４に通信可能に結合され、ＮＯＲゲートの出力は、入力Ｓ1に通信可能に結合される。さらに、ＮＯＲゲート３３４の出力とラッチ３２６の出力は、ＮＯＲゲート３３６に通信可能に結合される。ＮＯＲゲート３３６の出力は、Ｓ0に通信可能に結合される。
【００４５】
動作において、マルチプレクサ３２１は、位相セレクタ入力３１２の入力値に基づいて、出力ライン３１４にクロック信号３０８又はクロック信号３１０を出力する。例えば、位相セレクタ入力３１２が“０”である場合、マルチプレクサ３２１は、クロック信号３０８を出力するように構成され、位相セレクタ３１２が“１”である場合、マルチプレクサ３２１は、クロック信号３１０を出力するように構成される。出力クロック信号３１０は、ラッチ３２２、ラッチ３２６、及びマルチプレクサ３３２の入力Ｄ0に送出される。出力クロック信号３０８は、ラッチ３２４、ラッチ３２８、及びマルチプレクサ３３２の入力Ｄ1に送出される。
【００４６】
１つの例において、マルチプレクサ３３２は、はじめにクロック信号３１０を出力している。位相セレクタ入力３１２が受信され、“１”に等しい。値“１”は、ラッチ３２２、ラッチ３２４、ラッチ３２６、及びラッチ３２８で受信される。それぞれのラッチ３２２、ラッチ３２４、ラッチ３２６、及びラッチ３２８の出力は、“１”である。マルチプレクサ３３２の入力Ｓ0は、ラッチ３２６から“１”信号を受信する。マルチプレクサ３３２の入力Ｓ1は、ＮＯＲゲート３３４から“０”を受信し、このＮＯＲゲートは、ラッチ３２８から“１”を受け、ラッチ３２４から“１”を受ける。マルチプレクサ３３２の入力Ｓ2は、ＮＯＲゲート３６から“０”を受け、このＮＯＲゲートは、ＮＯＲゲート３３４から“１”を受け、ラッチ３２６から“１”を受ける。従って、マルチプレクサ３３６は、Ｓ0での入力により示されるように、Ｄ0で信号を出力する。
【００４７】
位相セレクタ入力３１２が、クロック信号３１０ではなくクロック信号３０８を出力する意図された変化を示す“０”を受信した場合、受信された変化は、クロック信号３１０の立ち上がりエッジが受信されるまで、ラッチ３２２により保持される。マルチプレクサ３３６は、Ｓ0での入力により示されるように、Ｄ0で信号を出力し続ける。
【００４８】
クロック信号３１０の立ち上がりエッジの受信に応じて、ラッチ３２２は、ラッチ３２４に“０”値を送出する。クロック信号３０８の立ち上がりエッジに応じて、ラッチ３２４は、ラッチ３２２から受信された“０”値をラッチ３２６及びＮＯＲゲート３３４に送出する。クロック信号３１０は、立ち下がりエッジを同時に体験する。ＮＯＲゲート３３４は、ラッチ３２８がＮＯＲゲート３３４に“１”を送出し続けるときに、“０”を生成し続ける。マルチプレクサ３３６は、Ｓ0での入力により示されるように、Ｄ0での信号を出力し続ける。
【００４９】
クロック信号３１０の立ち上がりエッジの受信に応じて、ラッチ３２６は、ラッチ３２４から受信された“０”値をラッチ３２８、ＮＯＲゲート３３６、及び入力Ｓ0に送出する。クロック信号３０８は、立ち下がりエッジを同時に体験する。マルチプレクサ３３６は、Ｓ0での入力がラッチ３２６からの“０”であるときに、Ｄ0での受信された入力を出力することを停止する。ＮＯＲゲート３３４は、“０”を生成し、ＮＯＲゲート３３６は、“１”を生成してＳ2に送出する。これは、ＮＯＲゲート３３６、ＮＯＲゲート３３４及びラッチ３２６の入力は、共に“０”値を送出しているからである。従って、マルチプレクサ３３６は、Ｓ2での入力により示されるように、Ｄ2での信号を出力する。Ｄ2での信号は、論理“１”電圧である。従って、マルチプレクサ３２２の前に出力である、クロック信号３１０の係る立ち上がりエッジに応じて、出力は、ＶDD３３０により論理“１”でハイに保持される。出力は、クロック信号３０８又はクロック信号３１０の何れかに従う代わりに、ＶDD３３０だけ保持される。
【００５０】
クロック信号３０８の立ち上がりエッジの受信に応じて、ラッチ３２８は、ラッチ３２６から受信された“０”値をＮＯＲゲート３３４に送出する。クロック信号３１０は、立ち下がりエッジを同時に体験する。しかし、マルチプレクサ３３６が出力ライン３１４にＶDD３３０を送出することを選択したため、クロック信号３１０の立下りエッジで、ステップにおける立ち下がりの代わりに、信号は論理“１”で保持される。ＮＯＲゲート３３４は、ラッチ３２８からの“０”値を入力として有し、ラッチ３２４からの“０”値を入力として有し、従って、値“１”をマルチプレクサ３３２の入力Ｓ1とＮＯＲゲート３３６とに送出する。ＮＯＲゲート３３６は、値“１”を受信しており、“０”値を入力Ｓ2３３０に送出する。マルチプレクサ３３６は、その出力としてのＶDD３３０を送出するのを停止し、クロック信号３０８を出力ライン３１４に送出し始める。従って、半サイクルについて論理“１”で保持された後、マルチプレクサ３２１は、クロック信号３１０から遷移においてグリッチをもたないクロック信号３０８を生成する。
【００５１】
その後に、フェーズセレクタ入力３１２がその選択値を、クロック信号３０８を送出することからクロック信号３１０を送出することに切り替える命令を示す、“０”から“１”に変えた場合、値“１”がラッチ３２２に到達する。クロック信号３１０のその後の立ち上がりエッジに応じて、ラッチ３２２は、ラッチ３２４に値“１”を送出する。マルチプレクサ３３６は、クロック信号３０８を出力ライン３１４に送出し続ける。
【００５２】
クロック信号３０８のその後の立ち上がりエッジに応じて、ラッチ３２４は、値“１”をラッチ３２６及びＮＯＲゲート３３４に送出する。ＮＯＲゲート３３４は、結果として生じた“０”をマルチプレクサ３３２の入力Ｓ1及びＮＯＲゲート３３６に送出する。ＮＯＲゲート３３６は、“１”をマルチプレクサ３３２の入力Ｓ2に送出する。従って、マルチプレクサ３２２は、ＶDD３３０、論理“１”を出力ライン３１４に送出する。
【００５３】
クロック信号３１０のその後の立ち上がりエッジに応じて、ラッチ３２６は、値“１”ラッチ３２８、ＮＯＲゲート３３６、及びマルチプレクサ３３２の入力Ｓ0に送出する。ＮＯＲゲート３３６は、“０”をマルチプレクサ３３２の入力Ｓ2に送出する。従って、マルチプレクサ３２２は、マルチプレクサ３３２のラインＤ0に通信可能に結合される、クロック信号３１０を出力ライン３１４に送出する。従って、マルチプレクサ３２２は、マルチプレクサ３３２のラインＤ0に通信可能に結合される、クロック信号３１０を出力ライン３１４に送出する。従って、半サイクルについて論理“１”で保持された後、マルチプレクサ３２１は、クロック信号３０８から、遷移におけるグリッチなしに、クロック信号３１０を生成する。
【００５４】
図５は、図４のマルチプレクサ３２１のような例示的なグリッチのないマルチプレクサの動作のタイミングダイアグラムである。図５は、位相シフトをもたない受信されたクロック信号であるか、又は１８０°の位相シフトをもつ受信されたクロック信号であるクロック信号３０８、位相セレクタ入力３１２、及び関連する出力ライン３１４のサンプルのタイミングダイアグラムを例示する。
【００５５】
はじめに、位相セレクタ入力３１３は“０”であり、従って出力ライン３１４は、クロック信号３０８である。“１”の位相セレクタ入力３１２の受信に応じて、出力ライン３１４は、クロック信号３０８又はクロック信号３１０の半サイクルについて値“１”で保持される。半サイクルの終わりの後、マルチプレクサ３１２は、出力ライン３１４としてクロック信号３１０を出力する。
【００５６】
“０”の位相セレクタ入力３１２の受信に応じて、出力ライン３１４は、クロック信号３０８又はクロック信号３１０の半サイクルについて値“１”で保持される。半サイクルの終了の後、マルチプレクサ３２１は、出力ライン３１４としてクロック信号３０８を出力する。
【００５７】
図６は、シンクロナイザ４００の別の例示的な実施の形態である。シンクロナイザ４００は、図２のシンクロナイザ２０６を実現する。シンクロナイザ４００は、フィルタ４１８に結合される位相検出器４１６を有する。位相検出器４１６及びフィルタ４１８は、図２の位相検出器２１６及びフィルタ２１８と同様のやり方で実現される。
【００５８】
位相検出器４１６は、データクロック信号４０１及び分周されたクロック信号４０２を受信する。位相検出器は、信号の位相間の差を調べ、コードジェネレータ４２０に位相における決定された差を送出する前に、フィルタ４２０を通して結果をフィルタリングするように構成される。
【００５９】
シンクロナイザ４００は、受信されたデータクロック信号４０１及び分周されたクロック信号４０２に基づいて、シリアライザに供給されるべきコード４１４のような命令を決定する。シンクロナイザ４００は、可能性のあるコードの値４１４のサーチを行い、データクロック信号４０１と分周されたクロック信号４０２との間の最適な小さな位相差をもつコードを選択するように構成される。サーチは、スウィープ（sweep）、二分法アルゴリズム（bisection  algorithm）、又は何れか他のタイプのサーチのような適切なやり方で行われる。
【００６０】
シンクロナイザ４００は、可能性のあるコードの値４１４のスウィープを生成するように構成されるサーチコードモジュール４０４、前に生成されたコード４１４を考慮して、位相差を評価するように構成されるコードジェネレータ４２０、サーチコードモジュール４０４及びサーチコードモジュール４２０の出力は、ＭＵＸ４０６に結合される。サーチコードモジュール４０４及びコードジェネレータ４２０は、回路、コンポーネント、チップ、又は何れか適切なメカニズムで実現される場合がある。
【００６１】
サーチコードモジュール４０４は、一連のコードを生成するように構成される。係る一連のコードは、可能性のあるコード値の一部又は全部のスウィープを判定する。サーチコードモジュール４０４は、係るコードのそれぞれをＭＵＸ４０６に次々に出力する。生成されたコードの可能性のある値は、シンクロナイザ４００と使用されるシリアライザに依存し、直列化されるべきデータの幅に依存する。例えば、ｋ次のシリアライザ（ｋ個のＭＵＸ及び分周器を使用したシリアライザ）について、2^k個の可能性のあるコードが存在する。１実施の形態では、サーチコードモジュール４０４は、可能性のあるコード値のスウィープを循環させる。
【００６２】
コードジェネレータ４２０は、サーチコードモジュール４０４により生成された所与のコード値について、分周されたクロック４０２と位相検出器４１６により検出された受信されたデータとの間の対応する位相差を決定するように構成される。コードジェネレータ４２０は、所与のコード値について関連する位相差を記憶し、異なるコード値に基づいてその後に検出された位相に対して比較するように構成される。
【００６３】
コードジェネレータ４２０は、選択信号４１２をＭＵＸ４０６に送出するように構成される。係る選択信号４１２は、サーチコードモジュール４０４からのコードを出力すべきか又はコードジェネレータ４２０からのコードを出力すべきかをＭＵＸ４０６に示す。サーチコードモジュール４０４のスウィープの少なくとも１つのサイクルについて、コードジェネレータ４２０は、ＭＵＸ４０６がサーチコードモジュール４０４からのコードを出力すべきことを示す選択信号４１２を送出するように構成される。コードジェネレータ４２０は、スウィープの間にサーチコードモジュール４０４から異なるコードが生成されたとき、最小の位相差に関連するコードを記憶するように構成される。例えば、スウィープのサイクルの間、コードジェネレータ４２０は、更に遭遇される最小の位相差を位相検出器４１６により現在検出された位相差に対して比較するように構成される。現在の位相が小さい場合、前に記憶された位相及び関連するコードが廃棄される。現在の位相及びその関連するコードは、更に遭遇された最小の位相として記憶される。
【００６４】
１実施の形態では、サーチコードモジュールによる生成されたコード値のサーチの後、コードジェネレータ４２０は、分周されたクロック４０２とデータクロック４０１との間の、最小の位相オフセット、さもなければ最適な位相オフセットに関連するコード値を決定するように構成される。コードジェネレータ４２０は、係るコード値が決定された最適なコード４１０であることを判定する。コードジェネレータ４２０は、係る決定された最適なコード４１０をＭＵＸ４０６に出力し、決定された最適コード４１０が出力コード４１４として送出されるべきことを示す選択信号４１２をＭＵＸ４０６に送出する。
【００６５】
別の実施の形態では、シンクロナイザは、所与の値で始まり、高く又は低く進展する可能性のあるコード値をスウィープする。係るスウィープは、位相誤差の符号における変化が検出されるとすぐに停止される。例えば、スウィープは、可能性のあるコード値を調べ、増加的に変化する位相誤差を検出する。位相誤差は、近似的にゼロに到達し、正から負に変化するか、又は負から正に変化する。係るポイントで、スウィープが停止される。
【００６６】
動作において、位相検出器４１６は、データクロック４０１及び分周されたクロック４０２について信号を受信する。位相検出器４１６は、信号間の位相オフセットを決定し、結果をフィルタ４１８を通してコードジェネレータ４２０に送出する。
【００６７】
コードジェネレータ４２０は、係る分周されたクロック４０２と関連する位相オフセット及びコードを記憶する。１実施の形態では、分周されたクロック４０２の最初のコードは、“0000”のようなプリセット値であることが想定される。コードジェネレータは、サーチコードモジュール４０４の出力が出力コード４１４として送出されるべきであることを示す選択信号４１２をＭＵＸ４０６に送出する。
【００６８】
サーチコードモジュール４０４は、可能性のあるコード値又は決定された範囲内のコード値のスウィープの第一の値を生成する。サーチコードモジュール４０４は、係る第一のコードをＭＵＸ４０６に送出する。ＭＵＸ４０６は、出力コード４１４として第一の値を送出する。係る出力コードは、例えばシリアライザに送出される。
【００６９】
コードジェネレータは、サーチコードモジュール４０４による値のスウィープの間に選択信号４１２を保持する。サーチコードモジュール４０４により生成されたそれぞれの値について、コードジェネレータ４２０は、位相検出器４１６により検出された位相オフセットが最小の決定された位相オフセット未満であるかを評価する。位相オフセットが最小の決定された位相オフセット未満である場合、コードジェネレータ４２０は、最小の決定された位相オフセットとして新たな位相オフセットを記憶し、関連する分周されたクロック４０２を生成するために使用されるコードを記憶する。
【００７０】
スウィープの終了に応じて、コードジェネレータ４２０は、最小の位相オフセットがシンクロナイザ及びその分周されたクロック４０２の最適なコンフィギュレーションを生成するコードに関連することを判定する。コードジェネレータ４２０は、ＭＵＸ４０６にコードを送出し、ＭＵＸ４０６が決定された最適なコードを出力コードに送出すべきことを示す選択信号４１２を送出する。
【００７１】
図７は、入出力送信の自動的な同期化の方法５００の例となる実施の形態である。ステップ５０５では、送信すべきデータが受信される。ステップ５１５では、出力クロック信号が受信、決定又は生成される。係る出力クロック信号は、送信すべきデータが到達するレートの倍数である周波数を有する。出力クロック信号の周波数は、データが送信されるレートである。
【００７２】
ステップ５２０では、位相の調節の命令が受信される。係る命令は、コードの形式であるか、又は同期モジュールから受信される。係る命令は、送信すべきデータの変換の間の使用のため、出力クロック信号の位相、又は分周されたバージョンの位相をどのように調節するかに関する情報を含む場合がある。ステップ５２において、係る変換は、出力クロック信号を分周することを含む。係る分周は、マルチプレクサのような１以上のコンポーネントのついて行われる。
【００７３】
ステップ５３０では、位相の調節は、分周された信号のそれぞれに対して行われる。結果は、マルチプレクサのようなそれぞれの係るコンポーネントについて、位相が調節された、分周されたクロック信号である。ステップ５３５では、それぞれの係る信号は、マルチプレクサに送出される。
【００７４】
ステップ５４０では、第一のマルチプレクサは、送信すべき入力データを多重化する。多重化は、位相が調節された、分周されたクロック信号に基づく。係る多重化は、入力データが受信されたときの２倍のレートで多重されたデータの狭い幅となる。ステップ５４５において、送信のための所望のデータ幅に到達したかが判定される。所望のデータ幅に到達していない場合、多重化されたデータは、ダウンストリームに向けて別のマルチプレクサに送信され、本方法５００は次のマルチプレクサについてステップ５４０を繰り返す。所望のデータ幅に到達した場合、ステップ５５０において、多重化されたデータは、例えば送信ドライバを通して送信される。
【００７５】
ステップ５５５では、最も低速のマルチプレクサについて使用される結果として生じるクロック信号は、同期モジュールに送信される。本方法５００は、ステップ５０５〜５５５を繰り返す。
【００７６】
図８は、マルチプレクサのような送信コンポーネントの位相を調節する方法６００の例示的な実施の形態である。ステップ６０５では、クロック信号が受信される。係るクロック信号は、Ｉ／Ｏクロックから受信されるか、又は係るＩ／Ｏクロックに向かってアップストリームにある分周器から受信される。
【００７７】
ステップ６１０では、位相選択信号が受信される。係る選択信号は、同期モジュールからの命令の一部として提供される。選択信号は、受信されたクロック信号に応じて実行されるべき位相の調節の程度を示す。１実施の形態では、位相の調節のオプションは、０°又は１８０°の位相の調節を含む。
【００７８】
ステップ６１５では、受信されたクロック信号の周波数が分周される。１実施の形態では、係るクロック信号の周波数は半分にされる。
【００７９】
ステップ６２０では、分周されたクロック信号の位相は、位相選択信号に従って調節される。１実施の形態では、クロック信号の分周により、０°の位相の調節をもつ半分の周波数信号が得られ、１８０°の位相の調節をもつ半分にされた周波数信号が得られる。係る実施の形態では、これらの結果として生じる信号のうちの１つを選択するため、位相選択信号が使用される。別の実施の形態では、分周されたクロック信号の位相は、位相選択信号により指定又は示された量だけ調節される。
【００８０】
ステップ６２５では、調節されたクロック信号が出力される。係る信号は、例えば位相検出器、分周器モジュール、又はマルチプレクサのような送信装置のコンポーネントに送出される。
【００８１】
図９は、送信装置の位相を送信すべきデータと同期させる方法７００の例示的な実施の形態である。１実施の形態では、係る方法７００は、その送信クロック信号の位相を調節するため、送信装置の命令の遅延ロックループの計算を実行することを含む。
【００８２】
ステップ７０５では、コードのような最初の命令が生成される。係るコードは、その送信クロック信号の位相をどのように調節すべきかに関して、送信装置に指示する。１実施の形態では、コードは、送信のためにデータを変換するために使用されるクロック信号の位相をどのように調節すべきかに関して送信装置に指示する。ステップ７１０では、コードが送信機に出力される。
【００８３】
ステップ７１５では、データクロック信号及び出力コードから得られた分周されたクロック信号が受信される。１実施の形態では、データクロック信号は、どのデータが送信又は受信されるかについてクロック信号を含む。別の実施の形態では、データクロック信号は、データ自身の受信により決定される。ステップ７２５では、係る信号間の位相差が決定される。
【００８４】
ステップ７３０では、その位相を調節することを送信装置に指示するコードが出力される。最初にステップ７３０が実行されたとき、係るコードは、位相を徐々に増加又は減少させることに関連する。生成されたコードが位相を減少させる場合、本方法５００は、実行ステップ７５５を実行する。図９の例では、生成されたコードは、位相を徐々に増加するように選択される。ステップ７３５では、データクロック信号及び出力コードから得られる分周されたクロック信号が受信された。ステップ７４０では、信号を比較することで、係る信号間の位相差が決定される。
【００８５】
ステップ７４２では、位相がロックされたかが判定される。適切なメカニズム又はプロセスは、位相がロックされたかを判定するために使用される。例えば、データクロック信号の位相と分周されたクロック信号の位相との間の差があるセットの収束値又は近似的にあるセットの収束値となるように決定された値にある場合、位相がロックされる。別の例では、位相間の差がある閾値の量未満である場合、位相がロックされる。更に別の例では、２つの信号が本方法７００の繰り返される実行の間にディザリングを示す場合、位相がロックされる。位相がロックされる場合、本方法７００は、終了する。位相がロックされていない場合、本方法７００は、ステップ７４５に進む。
【００８６】
ステップ７４５では、現在の位相差は前の位相差に対して比較される。１実施の形態では、位相差が増加した場合、本方法５００は、ステップ７５０を実行し、反対のアクションが行われる。位相差が減少した場合、本方法５００は、ステップ７３０を繰返し、同様のアクションが繰り返される。別の実施の形態では、分周されたクロックとデータクロックとの間の差は、正又は負の何れかであるように送信される。位相間の負の差は、クロックの位相がデータ位相よりも前にあり、クロックの位相が増加されるべきであることを判定するために使用される。位相間の正の差は、クロックの位相がデータの位相よりも遅れており、クロックの位相が減少されるべきであることを判定するために使用される。結果として、位相における差がゼロ未満である場合、クロックの位相はデータの位相よりも前にあり、本方法７００は、ステップ７３０を繰返して、位相を増加する。位相における差がゼロよりも大きい場合、本方法７００は、ステップ７５０に進んで、位相を減少させる。
【００８７】
ステップ７５０で、コードが出力され、このコードの適用により、送信装置は、その位相を徐々に減少させる。ステップ７５５では、データクロック信号及び出力コードから得られる分周されたクロック信号は受信される。ステップ７６０では、係る信号間の位相差が決定される。
【００８８】
ステップ７６２では、位相がロックされたかが判定される場合がある。任意の適切なメカニズム又はプロセスは、位相がロックされたかを判定するために使用される。例えば、データクロック信号の位相と分周されたクロック信号の位相との間の差があるセットの収束値又は近似的にあるセットの収束値であるように決定された値である場合、位相がロックされる。別の例では、位相間の差が閾値の量未満である場合、位相がロックされる。更に別の例では、２つの信号が本方法７００の繰り返される実行の間にディザリングを示す場合、位相がロックされる。位相がロックされた場合、本方法７００は終了する。位相がロックされない場合、本方法７００は、ステップ７６５に進む。
【００８９】
ステップ７６５では、現在の位相差は、前の位相差と比較される。１実施の形態では、位相差が増加した場合、本方法５００は、ステップ７３９を実行し、ここでは反対のアクションが行われる。位相差が減少した場合、本方法はステップ７５０で開始するのを繰返し、同様のアクションが繰り返される。別の実施の形態では、分周されたクロックとデータクロックとの間の現在の位相差が正又は負の何れかであるかが判定される。位相間の負の差は、クロックの位相がデータの位相よりも前であることを示し、クロックの位相が増加されるべきであることを判定するために使用される。位相間の正の差は、クロックの位相がデータの位相よりも遅れていることを示し、クロックの位相が減少されるべきであることを判定するために使用される。結果的に、位相における差がゼロ未満である場合、これはクロックの位相がデータの位相よりも前である場合であり、本方法７００は、位相を増加するためにステップ７３０で繰り返す。位相における差がゼロ以上である場合、本方法７００は、位相を減少するためにステップ７５０に進む。
【００９０】
図１０は、送信装置の位相を送信されるデータと同期を取るための方法８００の別の例示的な実施の形態である。１実施の形態では、係る方法８００は、その送信クロック信号の位相を調節するために、送信装置により使用されるコードのような最適な命令のセットをサーチすることを含む。
【００９１】
ステップ８０５では、最適なコードについて評価されるべきコードの範囲が決定される。係るコードの範囲は、開始コード（initial  code）で始まり、終了コード（final  code）で終わる。係る符号は、クロック信号が分周されたとき、データの送信において使用するため、Ｉ／Ｏクロック信号の位相を調節するために使用される。ステップ８２０では、データクロック信号及び分周されたクロック信号が受信される。係る信号は、開始符号を送信装置に適用した結果である。ステップ８２５では、信号間の位相差が決定される。ステップ８３０では、位相差は、「最小“smallest”」として指定される。
【００９２】
ステップ８３５では、終了符号に到達したかが判定される。終了符号に到達した場合、本方法８００は、ステップ８７０に進む。終了符号に到達していない場合、ステップ８４０で、コードがインクリメントされる。１実施の形態では、係るインクリメントは、コードの値へのシンプルな増加を含む。別の実施の形態では、係るインクリメントは、コードのパラメータをコードの範囲内の次の置換に代えることを含む。ステップ８３５〜８６５のうちの１以上を繰り返すことで、可能性のあるスウィープが行われる。
【００９３】
ステップ８４５では、データを変換するために使用されるクロック信号の位相を調節する適用のため、コードが送信機に出力される。ステップ８５０では、データクロック信号及び分周されたクロック信号が受信される。ステップ８５５では、信号間の位相差が決定される。
【００９４】
ステップ８６０では、ステップ８５５で決定された位相差が「最小」となるように前に割り当てられた位相差よりも小さい場合、ステップ８６５で、ステップ８５５で決定された位相差は、「最小」となるように割り当てられる。ステップ８５５で決定された位相差が「最小」となるように前に割り当てられた位相差よりも小さくない場合、本方法５００は、ステップ８３５に戻る。
【００９５】
ステップ８７０では、「最小」となるように割り当てられた位相差は、コード値のスウィープの間に遭遇される最小の位相差となるように決定される。係る位相差に関連するコードは、考慮される範囲内の最適なコード値となるように決定される。係るコードは、送信機に出力される。
【００９６】
図７〜図１０は、例示的な方法５００，６００，７００及び８００に関して行われるべき特定数のステップを開示しているが、本方法４００，５００，６００，７００及び８００は、図７〜図１０に示されるステップよりも多いか又は少ないステップで実行される場合がある。さらに、図７〜図１０は、方法５００，６００，７００及び８００に関して行われるステップの所定の順序を開示しているが、本方法５００，６００，７００及び８００を含むステップは、任意の適切な順序で行われる場合がある。
【００９７】
本方法５００，６００，７００及び８００は、図１〜図６のシステム、又は、本方法５００，６００，７００及び８００を実現するために動作する任意の他のシステム、ネットワーク又は装置を使用して実現される場合がある。所定の実施の形態では、本方法５００，６００，７００及び８００は、コンピュータ読み取り可能な媒体で実施されるソフトウェアで部分的又は完全に実現される場合がある。
【００９８】
この開示のため、コンピュータ読み取り可能な媒体は、ある期間についてデータ及び／又は命令を保持する手段又は手段の集合を含む。コンピュータ読み取り可能な媒体は、限定されることなしに、ダイレクトアクセスストレージデバイス（例えばハードディスクドライブ又はフロプティカルディスク）、シーケンシャルアクセスストレージデバイス（たとえばテープディスクドライブ）のようなストレージメディア、コンパクトディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）、及び／又はフラッシュメモリ、持続性媒体、及び／又は上述の組み合わせを含む。
【００９９】
本明細書の開示は詳細に記載されたが、様々な変形、置換え及び変更は特許請求の範囲により定義されるように、本明細書の開示の精神及び範囲から逸脱することなしに行うことができることを理解されたい。例えば、出力動作が記載されたが、等価なメカニズム及び方法により入力動作が行われる場合がある。
【符号の説明】
【０１００】
１００：システム
１０２：電子装置
１０４：データソース
１０６：送信装置
１１０：シリアライザ
１１２：送信ドライバ
１１４：シンクロナイザ
１１６：Ｉ／Ｏクロック
１１８：データクロック
１２０：リモート装置
【図１】
2013150325.tif 000004
【図２】
2013150325.tif 000005
【図３】
2013150325.tif 000006
【図４】
2013150325.tif 000007
【図５】
2013150325.tif 000008
【図６】
2013150325.tif 000009
【図７】
2013150325.tif 000010
【図８】
2013150325.tif 000011
【図９】
2013150325.tif 000012
【図１０】
2013150325.tif 000013