(57)【要約】      （修正有）【課題】通信システムにおいてデータ及びクロック信号を検出及び再生するための高速で低コスト及び低電力なシステム及び方法を提供する。【解決手段】クロック・データ・リカバリ回路（ＣＤＲ）は、シリアル入力信号からのデータを再生するように動作する。ＣＤＲは、シリアル入力信号を複数の位相でサンプリングするのにオーバーサンプリングを用いる。シリアル入力信号のデータ転送速度にロックされない基準クロックから複数の位相を生成する。一度に最大２つの位相を用いる。【選択図】図１
2014225874.tif 000002
【特許請求の範囲】
【請求項１】
データリカバリ回路であって、
複数のクロック位相信号を生成するように構成された位相同期ループ（ＰＬＬ）と、
前記複数のクロック位相信号から第１のクロック信号及び第２のクロック信号を生成するように構成された位相選択モジュールであり、前記第１のクロック信号及び前記第２のクロック信号が受信データ信号を取得及びトラッキングするのに用いられる、位相選択モジュールと、
前記第１のクロック信号の制御の下で前記受信データ信号の第１のサンプルを生成するように構成された第１のサンプル生成ブロックと、
前記第２のクロック信号の制御の下で前記受信データ信号の第２のサンプルを生成するように構成された第２のサンプル生成ブロックと、
前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロック並びに前記位相選択モジュールと結合され、前記複数のクロック位相信号の対から前記第１のクロック信号及び前記第２のクロック信号を繰り返し生成するように前記位相選択モジュールを制御し、前記受信データ信号を取得するために前記第１のサンプルと前記第２のサンプルとを比較するように構成された制御モジュールと
を備える、データリカバリ回路。
【請求項２】
前記制御モジュールが、前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロックと結合される累算器をさらに備え、前記累算器が、前記第１のサンプルと前記第２のサンプルとの比較の結果を累算するように構成される、請求項１に記載のデータリカバリ回路。
【請求項３】
前記累算器が、前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算するように構成される、請求項２に記載のデータリカバリ回路。
【請求項４】
前記累算器が、前記第１のクロック信号及び前記第２のクロック信号が隣接するクロック位相信号に設定される状態で前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算するように構成される、請求項３に記載のデータリカバリ回路。
【請求項５】
前記コントローラが、前記不一致に基づいて前記受信データ信号を再生するのに用いる最良のクロック位相信号を判定するように構成される、請求項３に記載のデータリカバリ回路。
【請求項６】
前記コントローラが、前記不一致に基づいて前記複数のクロック位相のうちのどれが前記受信データ信号の最大相関に対応するかを判定するように構成される、請求項５に記載のデータリカバリ回路。
【請求項７】
前記コントローラが、前記不一致に基づいて前記複数のクロック位相のうちのどれが受信データ信号のゼロ交差に対応するかを判定するように構成される、請求項５に記載のデータリカバリ回路。
【請求項８】
前記ＰＬＬがリング発振器を含む、請求項１に記載のデータリカバリ回路。
【請求項９】
前記ＰＬＬがＬＣ発振器を含む、請求項１に記載のデータリカバリ回路。
【請求項１０】
前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロックが、それぞれ第１のゲート及び第２のゲートを構成する、請求項１に記載のデータリカバリ回路。
【請求項１１】
データリカバリ回路のための方法であって、
位相同期ループ（ＰＬＬ）を用いて複数のクロック位相信号を生成すること、
前記複数のクロック位相信号から、受信データ信号を取得及びトラッキングするのに用いるための第１のクロック信号及び第２のクロック信号を生成すること、
前記第１のクロック信号の制御の下で前記受信データ信号の第１のサンプルを生成すること、
前記第２のクロック信号の制御の下で前記受信データ信号の第２のサンプルを生成すること、及び
制御モジュールにおいて、前記複数のクロック位相信号の対から前記第１のクロック信号及び前記第２のクロック信号を繰り返し生成するように前記位相選択モジュールを制御し、前記受信データ信号を取得するために前記第１のサンプルと前記第２のサンプルを比較すること
を含む、方法。
【請求項１２】
前記第１のサンプルと前記第２のサンプルとの比較の結果を累算することをさらに含む、請求項１に記載の方法。
【請求項１３】
前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１のクロック信号及び前記第２のクロック信号が隣接するクロック位相信号に設定される状態で前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記コントローラにおいて、前記不一致に基づいて前記受信データ信号を再生するのに用いる最良のクロック位相信号を判定することをさらに含む、請求項１３に記載の方法。
【請求項１６】
前記コントローラにおいて、前記不一致に基づいて前記複数のクロック位相のうちのどれが前記受信データ信号の最大相関に対応するかを判定することをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記コントローラにおいて、前記不一致に基づいて前記複数のクロック位相のうちのどれが受信データ信号のゼロ交差に対応するかを判定することをさらに含む、請求項１５に記載の方法。
【請求項１８】
データリカバリ回路であって、
複数のクロック位相信号を生成するように構成された位相同期ループ（ＰＬＬ）と、
前記複数のクロック位相信号から第１のクロック信号及び第２のクロック信号の複数の対を生成するように構成され、前記第１のクロック信号及び前記第２のクロック信号の各対が、複数の受信データ信号のうちの１つを取得及びトラッキングするのに用いられる、位相選択モジュールと、
前記第１のクロック信号のうちの１つの制御の下で対応する前記受信データ信号の第１のサンプルを生成するようにそれぞれ構成された第１のサンプル生成ブロックと、
対応する前記第２のクロック信号の制御の下で対応する前記受信データ信号の第２のサンプルを生成するようにそれぞれ構成された第２のサンプル生成ブロックと
の複数の対と、
前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロックの複数の対並びに前記位相選択モジュールと結合され、前記複数のクロック位相信号から前記第１のクロック信号及び前記第２のクロック信号の複数の対を繰り返し生成するように前記位相選択モジュールを制御し、対応する前記受信データ信号を取得するために対応する前記第１のサンプル及び前記第２のサンプルを比較するように構成された制御モジュールと
を備える、データリカバリ回路。
【請求項１９】
前記制御モジュールが、前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロックの複数の対と結合された累算器をさらに備え、前記累算器が、対応する前記第１のサンプル及び前記第２のサンプルの比較の結果を累算するように構成される、請求項１８に記載のデータリカバリ回路。
【請求項２０】
前記累算器が、対応する前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算するように構成される、請求項１９に記載のデータリカバリ回路。
【請求項２１】
前記累算器が、対応する前記第１のクロック信号及び前記第２のクロック信号が隣接するクロック位相信号に設定される状態で前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算するように構成される、請求項２０に記載のデータリカバリ回路。
【請求項２２】
前記コントローラが、前記不一致に基づいて前記受信データ信号を再生するのに用いる最良のクロック位相信号を判定するように構成される、請求項２０に記載のデータリカバリ回路。
【請求項２３】
前記コントローラが、前記不一致に基づいて前記複数のクロック位相のうちのどれが対応する前記受信データ信号の最大相関に対応するかを判定するように構成される、請求項２２に記載のデータリカバリ回路。
【請求項２４】
前記コントローラが、前記不一致に基づいて前記複数のクロック位相のうちのどれが対応する前記受信データ信号のゼロ交差に対応するかを判定するように構成される、請求項２２に記載のデータリカバリ回路。
【請求項２５】
前記ＰＬＬがリング発振器を含む、請求項１８に記載のデータリカバリ回路。
【請求項２６】
前記ＰＬＬがＬＣ発振器を含む、請求項１８に記載のデータリカバリ回路。
【請求項２７】
前記第１のサンプル生成ブロック及び前記第２のサンプル生成ブロックが、それぞれ第１のゲート及び第２のゲートからなる、請求項１８に記載のデータリカバリ回路。
【請求項２８】
データリカバリ回路のための方法であって、
位相同期ループ（ＰＬＬ）を用いて複数のクロック位相信号を生成すること、
前記複数のクロック位相信号から、受信データ信号を取得及びトラッキングするのに用いるための第１のクロック信号及び第２のクロック信号を生成すること、
前記第１のクロック信号の制御の下で前記受信データ信号の第１のサンプルを生成すること、
前記第２のクロック信号の制御の下で前記受信データ信号の第２のサンプルを生成すること、及び
制御モジュールにおいて、前記複数のクロック位相信号の対から前記第１のクロック信号及び前記第２のクロック信号を繰り返し生成するように前記位相選択モジュールを制御し、前記受信データ信号を取得するために前記第１のサンプルと前記第２のサンプルを比較すること
を含む、方法。
【請求項２９】
前記第１のサンプルと前記第２のサンプルとの比較の結果を累算することをさらに含む、請求項２８に記載の方法。
【請求項３０】
前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算することをさらに含む、請求項２９に記載の方法。
【請求項３１】
前記第１のクロック信号及び前記第２のクロック信号が隣接するクロック位相信号に設定される状態で前記第１のサンプルからの値と前記第２のサンプルからの値との間の不一致を累算することをさらに含む、請求項３０に記載の方法。
【請求項３２】
前記コントローラにおいて、前記不一致に基づいて前記受信データ信号を再生するのに用いる最良のクロック位相信号を判定することをさらに含む、請求項３０に記載の方法。
【請求項３３】
前記コントローラにおいて、前記不一致に基づいて前記複数のクロック位相のうちのどれが前記受信データ信号の最大相関に対応するかを判定することをさらに含む、請求項３２に記載の方法。
【請求項３４】
前記コントローラにおいて、前記不一致に基づいて前記複数のクロック位相のうちのどれが前記受信データ信号のゼロ交差に対応するかを判定することをさらに含む、請求項３２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明される実施形態は、クロック・データ・リカバリ回路に関する。
【背景技術】
【０００２】
例えば通信用途では、処理回路は、しばしばデータをパラレルに処理するが、データは、しばしばポイント間でシリアルに通信される。データは、回路基板トレース、バックプレーン、又は光ファイバケーブルなどのチャネル上でシリアルに伝送されることがある。シリアル通信用の送信器は、データ信号の遷移のタイミングによって暗黙的にシグナル化されたクロッキング情報と共にデータ信号でデータを伝送することができる。受信器は、伝送されたデータと対応するクロック信号との両方を再生（ｒｅｃｏｖｅｒ）する。こうした動作を行う受信器の回路は、しばしばクロック・データ・リカバリ回路又はより一般にはＣＤＲと呼ばれる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
多くのクロック・データ・リカバリ回路は、電圧制御発振器、位相周波数検出器、チャージポンプ、及びフィルタなどの重要な（ｃｒｉｔｉｃａｌ）アナログ回路又は準アナログ回路を用いて動作する。こうした回路は、開発及び製造するのが難しいことがある。加えて、より高い速度並びに低減されたコスト及び電力への要望は、ＣＤＲを開発及び製造する際の難しさを増加させる。
【０００４】
従来のＣＤＲに伴う１つの問題は、受信器の動作を送信器の動作と整合することの難しさである。この問題は、送信器及び受信器のクロック回路は製造公差に起因して全く同じ周波数で動作しないという事実によって生じる。さらに、送信器及び受信器のクロックのそれぞれは、時間と共に異なるレートでドリフトするであろう。したがって、受信器及び送信器の動作を互いにロックされた状態に保つのは非常に難しく、双方を確実にロックされたままにするのに通常何らかの能動的動作が必要とされる。
【０００５】
従来の技術は、受信器クロックの複数の位相を用いて受信器で受信データ信号をオーバーサンプリングするものである。これは、受信器の制御回路が受信データ信号を「マップ」し、受信信号をサンプリングする最適なポイント及び対応する位相を判定することを可能にする。慣例的に、このようなオーバーサンプリング方式では１ビットにつき少なくとも３つの位相が用いられなければならないが、これは、受信器の複雑さ、サイズ、及びコストを増加させることが理解されるであろう。
【課題を解決するための手段】
【０００６】
通信システムにおいてデータ及びクロック信号を検出及び再生するためのシステム及び方法が本明細書で説明される。
【０００７】
一態様では、データリカバリ回路は、第１のサンプル信号による信号送出時にシリアル入力信号の値を格納するように構成された第１のフリップフロップと、第２のサンプル信号による信号送出時にシリアル入力信号の値を格納するように構成された第２のフリップフロップと、第１のサンプル信号及び第２のサンプル信号を生成するように構成され、第１のサンプル信号及び第２のサンプル信号がシリアル入力信号の期待されるデータ転送速度と整合する周波数で発振し且つ選択されたオフセットを伴う位相を有する、位相選択モジュールと、第１のフリップフロップからの値及び第２のフリップフロップからの値のみから出力データ信号を生成し、シリアル入力信号からデータを再生するために第１のサンプル信号及び第２のサンプル信号を生成するべく位相選択モジュールを制御するように構成された制御モジュールと、を備える。
【０００８】
別の態様では、データリカバリ回路は、第１のサンプル信号のエッジでのシリアル入力信号の値を格納することによって第１のデータサンプル信号を生成するように構成された第１のフリップフロップと、第２のサンプル信号のエッジでのシリアル入力信号の値を格納することによって第２のデータサンプル信号を生成するように構成された第２のフリップフロップと、第１の位相制御信号に従って複数の位相信号のうちの１つを選択することによって第１のサンプル信号を生成し、且つ第２の位相制御信号に従って複数の位相信号のうちの１つを選択することによって第２のサンプル信号を生成するように構成され、複数の位相信号のそれぞれが位相オフセットし、且つシリアル入力信号のデータ転送速度に対応する周波数で発振する、位相選択モジュールと、第１のデータサンプル信号の値と第２のデータサンプル信号の値との間の不一致のカウントを累算するように構成された累算モジュールと、データ選択制御信号に従って第１のデータサンプル信号又は第２のデータサンプル信号を選択することによって出力データ信号を生成するように構成されたデータセレクタと、出力データ信号がシリアル入力信号から再生されたデータをシグナル化するように、累算された不一致のカウントを用いて第１の位相制御信号、第２の位相制御信号、及びデータ選択制御信号を生成するように構成された制御モジュールと、を備え、第１のフリップフロップ及び第２のフリップフロップだけがシリアル入力信号の値を格納する。
【０００９】
本発明の他の特徴及び利点は、本発明の態様を単なる例として示す以下の説明から明らかとなるであろう。
【００１０】
本発明の詳細は、その構造及び動作の両方に関して、同様の参照符号が同様の部分を指す付属の図面を見ることである程度得られるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の態様に係るクロック・データ・リカバリ回路のブロック図である。
【図２】本発明の態様に係るクロック・データ・リカバリ回路の動作を示すタイミング図である。
【図３】本発明の態様に係るクロック・データ・リカバリ回路のブロック図である。
【図４】本発明の態様に係る通信システムのブロック図である。
【図５】シリアル通信信号を生成するための例示的な回路を示すブロック図である。
【図６】一実施形態に係る図１のシステムで用いることができる例示的なＰＬＬ回路を示すブロック図である。
【図７Ａ】図６のＰＬＬ回路で用いることができる単純なインバータを備える基礎的なリング発振器を示す図である。
【図７Ｂ】複数のインバータを備えるリング発振器を示す図である。
【図７Ｃ】図７Ｂのマルチインバータリング発振器の種々の段の出力を示す図である。
【図８】図６のＰＬＬ回路で用いることができる典型的なＬＣ発振器を示す図である。
【図９】一実施形態に係る複数の通信チャネルを配置する例示的な通信システムを示す図である。
【図１０】一実施形態に係る図９のシステムで用いることができる例示的なＰＬＬ回路を示すブロック図である。
【発明を実施するための形態】
【００１２】
図５は、シリアル通信信号を生成するための例示的な回路を示すブロック図である。分かるように、データは、パラレルデータバス５００上のパラレルデータとして出発する。例えば、シリアルデータバス５００は、１６ビットのパラレルデータバスとすることができる。パラレルデータは、例えばエンコーダ５０２で、例えば２０ビットのパラレルデータにエンコードすることができる。この例えば２０ビットのパラレルデータは、次いで、例えばマルチプレクサ、すなわちＭＵＸを備えることができるシリアライザ５０４によってシリアルデータ信号に変換することができる。シリアルデータは、次いで、伝送のためにシリアルデータバス５０６に送ることができる。
【００１３】
この例では、シリアルデータバス５０６上のシリアルデータは、５ＧＨｚのデータ転送速度を有することができる。したがって、シリアライザ５０４は、位相同期ループ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ：ＰＬＬ）５０８によって生成される５ＧＨｚのクロック信号で制御することができる。エンコーダ５０２は、２５６ＭＨｚ（５ＧＨｚ／２０ビット）で動作することになる。したがって、分周器５１２は、エンコーダ５０２の動作を制御できるクロック信号を生成するために、５ＧＨｚのクロック信号を２５６ＭＨｚに分周するように構成することができる。
【００１４】
ＰＬＬ動作が以下でより詳細に論じられるが、ＰＬＬ５０８に関する基準信号を生成するのに水晶５１０が必要とされることが理解されるであろう。こうした水晶は、例えば２４ＭＨｚの基準周波数を生成するように構成することができるが、こうした水晶はまた、例えば５００ｐｐｍの製造公差を有するであろう。したがって、所与の水晶は、通常、正確に２４ＭＨｚで発振しないであろう。
【００１５】
対応する受信器は逆に動作するであろう、例えば、伝送されたシリアル信号が受信され、デシリアライズされ、及びデコードされるであろう。したがって、これらの動作を行うべくクロック信号を生成するために受信器にＰＬＬ回路が必要となるであろう。しかし、受信器のＰＬＬ回路は、上記のように製造公差に起因して且つまたドリフトに起因して、おそらく送信器の周波数と正確に同じ周波数でクロック信号を生成しないであろう。結果として、受信器の動作を送信器の動作と同期させ、この同期を維持するために、何らかの形態のクロック・データ・リカバー（ＣＤＲ）回路が必要となる。
【００１６】
従来のＣＤＲ回路では、受信信号のオーバーサンプリングがしばしば用いられる。これは、データ信号の立ち上りエッジ及び立ち下りエッジを明確に識別するために複数のポイントでの受信信号のサンプリングに関係する。しかし、従来のオーバーサンプリング回路は、通常、１ビットにつき少なくとも３サンプルを必要とし、これはＣＤＲ回路の複雑さを増加させる。
【００１７】
本明細書で説明されるシステム及び方法に従って構成されたＣＤＲ回路が以下で詳細に論じられる。しかし最初に、図６は、例示的なＰＬＬ回路５０８をより詳細に示すブロック図である。ＰＬＬは、その位相が入力「基準」信号の位相に関係付けられる出力信号を生成する制御システムである。したがって、これは可変周波数発振器と位相検出器からなる電子回路である。回路は、入力基準信号の位相をその出力発振器から導出された信号の位相と比較し、位相を整合された状態に保つためにその発振器の周波数を調整する。位相検出器からの信号は、発振器をフィードバックループで制御するのに用いられる。
【００１８】
周波数は位相の時間微分である。入力位相及び出力位相をロックステップに保つことは、入力周波数及び出力周波数をロックステップに保つことを意味する。その結果、位相同期ループは、入力周波数をトラックすることができ、又はこれは、入力周波数の逓倍の周波数を生成することができる。
【００１９】
図６で分かるように、この場合４０ＭＨｚである基準電圧とフィードバック信号が位相−周波数−検出器（Ｐｈａｓｅ−Ｆｒｅｑｕｅｎｃｙ  Ｄｅｔｅｃｔｏｒ：ＰＦＤ）回路６０２に提供される。ＰＦＤ６０２は、基準信号とフィードバック信号との間の誤差を検出する。次いで、ＰＦＤ６０２の出力が、フィードバック動作を制御するのに用いられ、チャージポンプ６０４に提供される。次いで、チャージポンプ６０４の出力が、ローパスフィルタ（ＬＰＦ）６０６に提供され、これは、チャージポンプ６０６からの信号を平均し、平均した信号を、所望の周波数、例えば５ＧＨｚでクロック信号を生成するように構成される電圧制御発振器（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ：ＶＣＯ）６０８に入力として提供する。したがって、この例では、ＰＬＬ５０８は、基準信号の逓倍のクロック信号を生成するのに用いられる。
【００２０】
このクロック信号は、次いで、分周回路６１０によって、例えば４０ＭＨｚに分周される。加えて、ＶＣＯ６０８は、複数の位相のクロック信号、例えば、ＣＬＫ１、ＣＬＫ２、．．．、ＣＬＫ（ｎ−１）を生成するように構成することができ、これは、後述の実施形態に従って２つのクロック信号ＣＬＫＡ及びＣＬＫＢを生成するのに用いることができる。
【００２１】
ＶＣＯ６０８は、例えば、リング発振器か又はＬＣ発振器のいずれかを用いることができる。図７Ａは、単純なインバータ７０２を備える基礎的なリング発振器を示す図である。リング発振器は、その出力が２つの電圧レベル間で発振する奇数のインバータゲートからなるデバイスである。したがって、図７Ａの回路は示された出力信号を生成するであろう。述べたように、典型的なリング発振器は、複数の位相を生成するのに用いることができる複数のインバータを備えるであろう。インバータは、チェーン状に取り付けられ、最後のインバータの出力は、図７Ｂで示されるように最初のインバータにフィードバックされる。各インバータに関連する遅延時間は、入力に対して後続のインバータ出力を遅延させ、したがって図７Ｃで示されるように異なる位相を生じるであろう。
【００２２】
図８は、典型的なＬＣ発振器を示す図である。共振回路、タンク回路、又は同調回路とも呼ばれるＬＣ回路は、英字Ｌで表されるインダクタ及び英字Ｃで表されるキャパシタからなる。一緒に接続されるときに、それらは、回路の共振周波数で発振するエネルギーを蓄える音叉の電気的アナログである電気共振器として作用することができる。ＬＣ回路は、特定の周波数で信号を生成すること又はより複雑な信号から特定の周波数で信号を取り出すことのいずれかのために用いられる。分周回路８０４ａ〜８０４ｆを用いて複数の位相を生成することができる。
【００２３】
以上を踏まえて、図１は、本発明の態様に係るＣＤＲのブロック図である。回路は、データビットの一連のストリームを搬送するシリアル入力信号ＤＩＮを受信し、それから出力データ信号ＤＯＵＴが生成される。回路は、出力データ信号における値がシリアル入力信号を生成するのに用いられる送信器によって送信された値と実質的に整合するように出力データ信号を生成するように動作する。回路はまた、出力データ信号と同期される関連する出力クロック信号ＣＬＫＯＵＴを生成してもよい。回路の動作がシリアル入力信号と同期されるときに、ロックされると言われる。回路は、その動作をデータが受信されるレートと整合するように調整する。データ転送速度は、時間と共に徐々に変化し、例えば数十ｐｐｍ変化することがあり、回路がロックされるときには、こうしたタイミングの変化に追随する。回路のブロックは、一般に半導体素子と共に実装され、例えばＣＭＯＳ集積回路として提供されてもよい。
【００２４】
クロック・データ・リカバリ回路は、第１の入力フリップフロップ１１１及び第２の入力フリップフロップ１１２を含む。第１の入力フリップフロップ１１１は、第１のデータサンプル信号ＤＡＴＡＡを生成するために第１のサンプルクロック信号ＣＬＫＡの立ち上りエッジ上のシリアル入力信号の値を格納する。第２の入力フリップフロップ１１２は、第２のデータサンプル信号ＤＡＴＡＢを生成するために第２のサンプルクロック信号ＣＬＫＢの立ち上りエッジ上のシリアル入力信号の値を格納する。アナログサンプル保持回路の用語への類推によって、入力フリップフロップは、関連するサンプルクロック信号によってトリガされる時点でシリアル入力信号をサンプリングし、サンプリング時点間でサンプリングされた値を保持すると考えられてもよい。
【００２５】
サンプルクロック信号は、位相選択モジュール１２０によって生成される。位相選択モジュール１２０は、同じ周波数で発振するが異なる相対位相を有する位相０〜位相７の位相信号を受信する。位相信号は、多段リング発振器の種々の段からの信号をバッファリングすることによって生成されてもよい。例えば、５ＧＨｚで発振する４５°離間された８つの位相信号が存在してもよい。位相選択モジュール１２０は、第１の位相制御信号ＳＥＬＡに基づいて第１のサンプルクロック信号として出力するために位相信号のうちの１つを選択する。位相選択モジュール１２０は、第２の位相制御信号ＳＥＬＢに基づいて第２のサンプルクロック信号として出力するために位相信号のうちの１つを選択する。実施形態に応じてより多くの又は少ない位相信号を用いることができることが理解されるであろう。
【００２６】
位相信号は、位相同期ループ１２２によって供給される。位相同期ループ１２２は、基準クロック信号ＣＬＫＲＥＦを受信する。基準クロック信号は、シリアル入力信号の期待されるデータに対応する周波数で発振する。基準クロック信号の周波数は、データ転送速度の約数（ｓｕｂ−ｍｕｌｔｉｐｌｅ）であってもよい。例えば、名目上のデータ転送速度が５Ｇｂｐｓであるとき、基準クロック信号の周波数は２５０ＭＨｚである場合がある。位相信号は、期待されるデータ転送速度と名目上整合する周波数で発振するが、位相信号は、データ転送速度にロックされる必要はなく、位相信号の周波数は、期待されるデータ転送速度から変化することがある。周波数の変化は、基準クロック信号を生成するのに用いられる水晶の例えば１００ｐｐｍの公差に起因することがある。加えて、実際の受信データ転送速度は、送信器での周波数公差に起因して期待されるデータ転送速度から変化することがある。
【００２７】
制御モジュール１４０は、位相制御信号を生成するためにデータサンプル信号を受信及び解析する。制御モジュール１４０は、データサンプル信号のうちの１つを選択することによって出力データ信号を生成する。図１に示された実施形態では、制御モジュール１４０はまた、出力クロック信号を生成する。制御モジュールは、選択されたデータサンプル信号に対応するサンプルクロック信号のうちの１つを選択することによって出力クロック信号を生成してもよい。
【００２８】
クロック・データ・リカバリ回路の動作のさらなる理解は、クロック・データ・リカバリ回路の動作を示すタイミング図である図２を参照することで得られるであろう。例示的なシリアル入力信号２３３の７つのビットインターバル２０１〜２０７が示される。８つの位相２２１〜２２８のそれぞれに対応するサンプル値も示される。重ね合わされた異なるビットインターバルに関する複数の波形を示すアイダイアグラムを参照することでシリアルデータ信号を説明するのが一般的である。図２は、例示的なアイダイアグラム２８７を示す。例示的なアイダイアグラム２８７及び例示的なシリアル入力信号２３３から、アイの中央付近及びエッジ又は信号遷移から遠くでのシリアル入力信号のサンプリングは正しいデータ値を生成する可能性を高めることが分かる。
【００２９】
シリアル入力信号はレベル間の瞬間的遷移を伴うバイナリ信号として始まることがあるが、これは、その通信チャネル及びその送信器の限界によって歪むことになる。例えば、チャネル及び送信器の限られた帯域幅が符号間干渉を引き起こすことがある。加えて、シリアルデータ信号はノイズ及びジッタによって歪むことがある。
【００３０】
ＣＤＲは、信頼できるデータリカバリを提供するシリアル入力信号をサンプリングするためにクロック位相を判定する。位相と周波数は一体的に関連するので、サンプリング位相の更新はサンプリング周波数の変化を引き起こすことがある。制御モジュール１４０は、一般に、第１の入力フリップフロップ１１１がシリアル入力信号をデータアイの中央でサンプリングするように第１のサンプルクロック信号を制御するように動作する。制御モジュール１４０の動作は、データサンプル信号を比較することと、どのくらいの頻度でデータサンプル信号が異なる位相に関して一致するかに基づいて位相制御信号を設定することを含む。制御モジュール１４０の動作は、取得ステージ及びトラッキングステージを含む。
【００３１】
制御モジュール１４０は、図１のクロック・データ・リカバリ回路において、位相信号の連続した対を選択するために位相制御信号を設定することによって良好なサンプル位相を探してもよい。例えば、第１のサンプルクロック信号と第２のサンプルクロック信号は、以下の表に列挙された組み合わせのうちの１つに設定されてもよい。
【表１】
2014225874.tif 000003
【００３２】
サンプルクロック信号の双方がデータアイの中央付近にあるとき、データサンプル信号は同じ値を有することが期待される。同様に、サンプルクロック信号がデータアイのエッジの両側にあるとき、データサンプル信号は高頻度で異なる値を有することが期待される。例えば、図２の例示的な信号に関して、第１のサンプルクロック信号が第３の位相信号と整合し、第２のサンプルクロック信号が第４の位相信号と整合するときに、第１のデータサンプル信号及び第２のデータサンプル信号は各ビット時間で同じである。対照的に、第１のサンプルクロック信号が第８の位相信号と整合し、第２のサンプルクロック信号が第１の位相信号と整合するときに、第１のデータサンプル信号及び第２のデータサンプル信号は連続したビットインターバルが異なるデータ値を有するときに異なる。
【００３３】
制御モジュール１４０は、データサンプル信号が位相の種々の組み合わせに関してどのくらいの頻度で異なるかを測定することによって取得ステージを行ってもよい。制御モジュール１４０は、次いで、収集した測定値をクロック・データ・リカバリ回路の動作のための所望の位相を判定するのに用いることができる。取得ステージは、位相選択信号を連続した対の組み合わせのうちの最初の１つに設定し、第１のデータサンプル信号及び第２のデータサンプル信号が多数のビット時間にわたって異なる回数を累算することによって開始することができる。例えば、制御モジュール１４０は、６４ビット時間にわたる不一致の数を累算しながら、最初にシリアル入力信号を第１の位相及び第２の位相でサンプリングさせてもよい。制御モジュール１４０は、次いで、位相の各組み合わせに関する不一致の累算を繰り返してもよい。
【００３４】
制御モジュール１４０は、どの位相がデータアイのエッジにあるかを判定し、データリカバリに用いるためにエッジから１／２ビット時間の位相オフセットを選択してもよい。代替的に、制御モジュール１４０は、どの位相がデータアイの中央にあるかを判定し、データリカバリに用いるために対応する位相を選択してもよい。アイのエッジ又は中央に関連する位相を判定するのに種々の統計的手段が用いられてもよい。例えば、アイのエッジは、測定された不一致の数が最大である位相としてとられてもよい。代替的に、アイのエッジは、測定された不一致の数が大きい位相の範囲の中央での位相としてとられてもよい。大きい不一致の数は、シリアル入力信号におけるデータ遷移の確率と関連づけることができる。アイの中央の位相を見つけるのに対応する技術が用いられてもよい。
【００３５】
以下の位相及び不一致の例示的な表に関して、アイのエッジは、大きい値の最大（第２の位相と第３の位相との間）又は中央（第３の位相と第４の位相との間）でとられてもよい。同様に、アイの中央は、ゼロの（又は少量の）不一致を有する位相の中央（第７の位相と第８の位相との間）としてとられてもよい。したがって、データリカバリのために第７の位相が選択されてもよい。
【表２】
2014225874.tif 000004
【００３６】
クロック・データ・リカバリ回路は、取得ステージで判定された位相を用いてデータの再生を開始する。位相信号に対するシリアル入力信号のタイミングは、例えば、位相信号を生成するのに用いられる基準クロックにデータを伝送するのに用いられるクロック間の遅延の変化又はより一般には周波数の差異に起因して時間と共に変化することがある。例えば、周波数が１００ｐｐｍだけ異なり、８つのサンプル位相が存在するとき、シリアル入力信号は１２５０ビット時間で１位相だけシフトするであろう。制御モジュール１４０は、サンプルクロック信号をシリアル入力信号のタイミングに調整するのにトラッキングステージを用いる。
【００３７】
制御モジュール１４０は、トラッキングステージにおいてデータサンプル信号の種々の比較を用いることができる。制御モジュール１４０は、データリカバリのために第１のサンプルクロック信号を用いるときに、第２のサンプルクロック信号を第１のサンプルクロック信号の位相からビットインターバルの１／２の位相オフセットに設定してもよい。次いで、データリカバリに用いられる位相信号がもはや適切でなくなるのに十分なだけ大きくＰＬＬ１２２がドリフトされたときを検出するのに、制御モジュール１４０による監視及び制御のために第２のクロック信号、例えばＣＬＫＢを用いることができる。
【００３８】
代替的に、制御モジュール１４０は、第２のサンプルクロック信号（データリカバリのために第１のサンプルクロック信号を用いるとき）を第１のサンプルクロック信号の位相からビットインターバルの１／２未満の位相オフセットに設定し、結果的に得られるデータサンプル信号の不一致を累算してもよい。例えば、制御モジュール１４０は、第２のサンプルクロック信号を第１のサンプルクロック信号の位相からビットインターバルの４分の１進んだ位相又は遅れた位相に交互に設定してもよい。
【００３９】
したがって、例えば、位相信号が選択され及びデータリカバリのためにＣＬＫＡが設定され、第２の位相が選択され及び監視のためにＣＬＫＢが設定されると、結果的に得られるサンプル信号ＤＡＴＡＡ及びＤＡＴＡＢを比較することができる。例えば、サンプル信号は、排他的論理和の適用を受ける（Ｅｘｌｃｕｓｉｖｅ−ＯＲｅｄ：ＸＯＲｅｄ）ことができ、結果が累算される。ＸＯＲ演算の結果が「１」である限りすべてうまくいくが、結果が「０」を含み始めると、制御モジュール１４０は、ＰＬＬ１２２の位相がスリップしていることを検出し、データリカバリ及び監視のために新しい位相信号を選択するプロセスを開始するように構成することができる。
【００４０】
例えば、制御モジュールは、ＰＬＬ１２２の位相がどちらにスリップしているかを検出し、どのような位相信号がデータリカバリに用いられるべきかを判定するために、ＣＬＫＢの位相をどちらかにシフトするように構成することができる。新しい正しい位相信号が判定されればこれを用いることができるが、制御モジュール１４０がＣＬＫＡの位相信号を単純に切り換えるとしたら、結果的に生じる切り換え時間及び回復時間によってデータが失われる可能性がある。言い換えれば、切り換え時間及び回復時間は長すぎる。この問題に対処するために、制御モジュール１４０は、データリカバリのために依然としてＣＬＫＡを用いながら、ＣＬＫＢをデータリカバリのための最適な位相に切り換えるように構成することができる。ＣＬＫＢが整定されると、制御モジュール１４０は、上述のようにデータリカバリのためにＣＬＫＢの使用を開始し、ＣＬＫＡを監視のための適切な位相に切り換えるように構成することができる。このようにして、データリカバリは影響を受けず、データリカバリのための最適な位相が維持され、２つだけの位相信号が用いられる。
【００４１】
図３は、本発明の態様に係るクロック・データ・リカバリ回路のブロック図である。図３のクロック・データ・リカバリ回路は、図１のクロック・データ・リカバリ回路と類似している。図３のクロック・データ・リカバリ回路は、図１のクロック・データ・リカバリ回路を実装するのに用いられてもよい。
【００４２】
図３のクロック・データ・リカバリ回路は、基準クロック信号から第１のサンプルクロック信号及び第２のサンプルクロック信号を生成するために位相選択モジュール３２０及び位相同期ループ３２２を含む。一部の実施形態では、位相選択モジュール３２０及び位相同期ループ３２２は、図１の位相選択モジュール１２０及び位相同期ループ１２２と類似している又は同じである。
【００４３】
図３のクロック・データ・リカバリ回路は、サンプルクロック信号のエッジ上のシリアル入力信号の値を格納し、第１のデータサンプル信号及び第２のデータサンプル信号を生成するために、第１の入力フリップフロップ３１１及び第２の入力フリップフロップ３１２を含む。一部の実施形態では、第１の入力フリップフロップ３１１及び第２の入力フリップフロップ３１２は、図１の第１の入力フリップフロップ１１１及び第２の入力フリップフロップ１１２と類似している又は同じである。
【００４４】
図３のクロック・データ・リカバリ回路は、クロック・データ・リカバリ回路においてどの位相信号が用いられるかを制御する、制御モジュール３４１を含む。制御モジュール３４１はまた、クロック・データ・リカバリ回路によってどのような出力データ信号及び出力クロック信号が生成されるかを制御する。
【００４５】
排他的論理和ゲート３４２において第１のデータサンプル信号と第２のデータサンプル信号が比較される。データサンプル信号が等しいときは論理０であり、データサンプル信号が異なるときは論理１である、排他的論理和ゲート３４２の出力が、累算モジュール３４４で累算される。累算モジュール３４４からの累算値が、サンプルクロック信号の位相を設定するのに用いるために制御モジュール３４１に供給される。
【００４６】
クロック・データ・リカバリ回路は、第１のデータサンプル信号及び第２のデータサンプル信号を受信する第１のセレクタ３４８を含む。第１のセレクタ３４８は、データサンプル信号のうちの１つを出力データ信号として出力するために選択する。選択は、制御モジュール３４１からの制御信号によって決定される。
【００４７】
クロック・データ・リカバリ回路はまた、第１のサンプルクロック信号及び第２のサンプルクロック信号を受信する第２のセレクタ３４７を含む。第２のセレクタ３４７は、サンプルクロック信号のうちの１つを出力クロック信号として出力するために選択する。制御モジュール３４１からの制御信号によって選択が決定される。第２のセレクタ３４７による選択は、通常は、第１のセレクタ３４８による選択と整合する。
【００４８】
制御モジュール３４１は、図１のクロック・データ・リカバリ回路の制御モジュール１４０の技術と同じ又は類似の技術を用いてクロック・データ・リカバリ回路の動作を制御することができる。図３のクロック・データ・リカバリ回路の制御モジュール３４１は、継続した動作中に位相を調整するためにクロックリカバリ及びトラッキングステージに用いる位相を見つけるのに取得ステージを用いることができる。
【００４９】
示されたクロック・データ・リカバリ回路の多くの変形が可能である。例えば、クロック・データ・リカバリ回路の実装は異なる数の位相を有することができる。加えて、ＣＤＲ実装は種々の周波数で動作してもよい。ＣＤＲ実装は、第１の入力フリップフロップ及び第２の入力フリップフロップ、第１のデータサンプル信号及び第２のデータサンプル信号、並びに第１のデータサンプル信号及び第２のデータサンプル信号の使用をスワップしてもよい。使用は動的にスワップされてもよい。クロック・データ・リカバリ回路は、クロック信号の立ち上りエッジによってトリガされるイベントを有するものとして説明されているが、ＣＤＲ実装は、立ち下りエッジ又は立ち上りエッジと立ち下りエッジとの組合せでの信号遷移を有してもよい。さらに、説明したモジュール及び機能間の境界は、一部の機能がモジュールにわたって分散される又は１つのモジュールに組み合わされる状態で修正されてもよい。同様に、一部の回路は複数のモジュール及び機能間で共有されてもよい。
【００５０】
示されたクロック・データ・リカバリ回路は、説明を明瞭にするために簡略化される。多くのＣＤＲ実装、特に高周波数で動作する実装では、ＣＤＲの一部の信号は、示された各信号に関して一対の差動信号線を用いる。信号タイミングを容易にするためにＣＤＲ実装に付加的なデバイスが含まれてもよい。例えば、第１のデータサンプル信号及び第２のデータサンプル信号を共通のクロックエッジに時刻変更するのに付加的なフリップフロップが用いられてもよい。例えば、より高周波数の動作を可能にするために又はメタスタビリティ問題を低減させるために、種々のモジュール間にパイプラインステージとして付加的なフリップフロップが付加されてもよい。所望の動作を提供するタイミング特徴を有する種々の信号を導出するためにバッファ回路が含まれてもよい。
【００５１】
位相信号の生成はまた、示された実施形態とは異なっていてもよい。種々のタイプの周波数制御発振器が用いられてもよい。例えば、位相同期ループの代わりに又はこれと組み合わせて、遅延ロックループが用いられてもよい。位相選択モジュールはまた、位相信号のエッジ間のサブ位相を生成するために位相補間器を含んでもよい。
【００５２】
一部の実施形態では、サンプルクロック信号を修正できる速度が制限されることがあり、又はサンプルクロック信号は位相が修正されるときに短い間不定であることがある。制御モジュールの動作は適宜修正されてもよい。例えば、データリカバリに用いられる位相がトラッキング中に修正されるべきであるとき、制御モジュールは、現在用いられるサンプルクロック信号のタイミングを直接切り換えるのではなくどのサンプルクロック信号が用いられるかを切り換えてもよい。例えば、データリカバリのために第１のサンプルクロック信号が用いられており、位相が新しい位相に変化するときに、第２のサンプルクロック信号が新しい位相に設定されてもよく、データリカバリが確実に動作していた後の第２のサンプルクロック信号に切り換えられてもよい。
【００５３】
制御モジュールはまた、取得位相において異なる技術を用いてもよい。例えば、すべての位相を通してスイープするのではなくバイナリサーチが用いられてもよい。加えて、サーチは、粗く、次いで位相選択を洗練するために細かく、段階的に行われてもよい。累算されたサンプルの数もまた動的に変化することがある。
【００５４】
示されたクロック・データ・リカバリ回路は、データ転送速度で発振するクロックと共に動作する。代替的な実装は、データ転送速度の約数で発振するクロックを用いてもよい。例えば、ＣＤＲ実装は、出力データ信号を生成するために組み合わされたサンプルクロック信号及びデータサンプル信号の２つの組を用いる回路と共に、１／２のデータ転送速度で発振するクロックを用いてもよい。
【００５５】
図４は、本発明の態様に係る通信システムのブロック図である。伝送のためのパラレルデータが、伝送デバイスのシリアライザ５１０に供給される。シリアライザ５１０は、パラレルデータを通信リンク５１３上で通信されるシリアルデータストリームに変換する。受信デバイスのクロック・データ・リカバリ回路５２０が、シリアル入力信号としてシリアルデータストリームを受信する。クロック・データ・リカバリ回路５２０は、図１又は図３のクロック・データ・リカバリ回路であってもよい。クロック・データ・リカバリ回路５２０は、シリアル入力信号からのデータを再生する。再生されたデータは、再生されたデータをパラレル形式に変換するデシリアライザ５２５に供給される。クロック・データ・リカバリ回路５２０がロックされるときに、デシリアライザ５２５からのパラレルデータがシリアライザ５１０に供給されるパラレルデータと整合する。
【００５６】
図４の実施形態では、伝送デバイスと受信デバイスとの間に単一のチャネル又はレーンが接続される。特定の実施形態では、しかしながら、図９で示されるようにデバイス間に複数のチャネル又はレーンを接続することができる。ＰＬＬによって生成される複数（ｍｕｌｔｉｐｌｅ）を、上述のように用いられる複数のクロック位相の対を生成するのに用いることができる。これは図１０の実施形態で示される。図１０で分かるように、クロック位相ＣＬＫＡ及びＣＬＫＢの複数の対を生成し、ちょうど上述したように複数のレーンのそれぞれに関して用いることができる。他の実施形態では、特定のクロック位相信号ＣＬＫＡ及びＣＬＫＢを複数のレーンに関して用いることができる。例えば、ＣＬＫＢ１を複数のレーンに関して用いることができる。
【００５７】
本明細書で開示される実施形態と組み合わせて説明される種々の例示的なブロック及びモジュールは、種々の形態で実装することができる。いくつかのブロック及びモジュールが、概してそれらの機能性に関して上記で説明されている。こうした機能性がどのようにして実装されるかは、システム全体に課される設計上の制約に依存する。当業者は、説明された機能性を各特定の用途のために様々な方法で実施することができるが、こうした実装の決定は、本発明の範囲からの逸脱をもたらすと解釈されるべきではない。加えて、モジュール、ブロック、又はステップ内の機能のグループ分けは、説明を簡単にするためである。特定の機能又はステップを、本発明から逸脱することなく１つのモジュール又はブロックから移動することができる。
【００５８】
本明細書で開示される実施形態と組み合わせて説明される種々の例示的なブロック及びモジュールは、本明細書で説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又は他のプログラム可能論理デバイス、ディスクリートゲート又はトランジスタ論理、ディスクリートハードウェアコンポーネント、又はこれらの任意の組み合わせにおいて又はこれらと共に実装することができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替的に、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、又は状態マシンとすることができる。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアと併せた１つ以上のマイクロプロセッサとの組合せ、又は任意の他のこうした構成として実装することができる。
【００５９】
開示される実施形態の上記の説明は、どの当業者も本発明を作製又は使用できるようにするために提供される。これらの実施形態への種々の修正が当業者にはすぐに分かるであろう。本明細書で説明される一般的な原理は本発明の精神又は範囲から逸脱することなく他の実施形態に適用することができる。したがって、本明細書で提示された説明及び図面は、本発明の現在のところ好ましい実施形態を表し、したがって、本発明によって広く考慮される主題を代表するものであることが理解される。本発明の範囲は当業者には明らかとなり得る他の実施形態を十分に包含することと、したがって本発明の範囲は添付の請求項以外によって制限されないことがさらに理解される。
【図１】
2014225874.tif 000005
【図２】
2014225874.tif 000006
【図３】
2014225874.tif 000007
【図４】
2014225874.tif 000008
【図５】
2014225874.tif 000009
【図６】
2014225874.tif 000010
【図７Ａ】
2014225874.tif 000011
【図７Ｂ】
2014225874.tif 000012
【図７Ｃ】
2014225874.tif 000013
【図８】
2014225874.tif 000014
【図９】
2014225874.tif 000015
【図１０】
2014225874.tif 000016
【外国語明細書】
2014225874000001.pdf