図1は、実施形態による通信システムの構成例を示す図である。通信システムは、送信回路101及び受信回路103を有する。送信回路101及び受信回路103は、伝送線路102により接続され、半導体チップ内の信号伝送、半導体チップ間の信号伝送、又はボード間や匡体間の信号伝送を行う。送信回路101は、ドライバ131を有する。受信回路103は、アナログ等化(EQ)回路111、アナログデジタル変換器112、デジタル等化回路及びクロックデータリカバリ(CDR)回路113を有する。
送信回路101は、入力端子INの信号をドライバ131により増幅し、デジタル信号121を伝送線路102を介して受信回路103に出力する。受信回路103は、信号122を受信する。伝送線路102により送信信号121の高周波成分は損失するため、受信回路103の受信信号122の波形は劣化する。このままでは、正しくデータ受信できないため、受信回路103は、等化回路111及び113で等化処理を行い、クロックデータリカバリ回路113でタイミング抽出及びデータ判定を行う。
以下に、受信回路103の処理を説明する。まず、アナログ等化回路111は、等化処理により、伝送線路102の損失により波形劣化した信号122をある程度回復させた信号123を出力する。アナログデジタル変換器112は、アナログ信号123をサンプリングし、デジタル信号124を出力する。デジタル等化回路113は、等化処理により、デジタル信号124の波形劣化を適切なレベルまで回復した信号を生成する。クロックデータリカバリ回路113は、この信号を基にデータの位相推定及びデータの判定を行い、出力データ125を出力端子OUTに出力する。なお、アナログデジタル変換器112は、コンパレータでもよく、データをサンプリングするサンプリング回路であればよい。
本実施形態では、トラッキングCDR方式又はブラインドCDR方式を選択することができる。トラッキングCDR方式では、受信回路103は、クロックデータリカバリ回路113により推定された位相情報を基に、アナログデジタル変換器112のサンプリングクロック信号の位相を調整する。このようにして、適切なタイミングにおけるデータをサンプルすることによって、エラーレートを十分低くすることが可能となる。また、ブラインドCDR方式では、クロックデータリカバリ回路113は、推定した位相情報を基に、データを判定する。このようにして、適切なタイミングにおけるデータを復元することによって、エラーレートを十分低くすることが可能となる。受信回路103は、トラッキングCDR方式が指定されると図2(A)のトラッキングCDR方式により処理を行い、ブラインドCDR方式が指定されると図6(A)のブラインドCDR方式により処理を行う。
図2(A)はトラッキングCDR方式の受信回路103の構成例を示す図であり、図2(B)は入力データ221及び受信クロック信号222,223を示す図である。アナログ等化回路111は、等化処理により、伝送線路102により劣化した端子IN1の入力信号を回復させた信号を出力する。位相ロックループ(PLL)回路201は、端子CLKの基準クロック信号を基に例えば4相のクロック信号を生成し、位相調整回路202に出力する。位相調整回路202は、4相のクロック信号を入力し、ローパスフィルタ206から出力される位相調整コードを基に位相を調整したクロック信号222及び223をアナログデジタル変換器112に出力する。入力データ221は、1ユニットインターバル(UI)224単位でデータが変化可能である。1ユニットインターバル224は、1データビットの継続時間であり、ビットクロックの1周期である。クロック信号222は、1ユニットインターバル224のセンタ用のサンプリングクロック信号である。クロック信号223は、1ユニットインターバル224のバウンダリ(境界)用のサンプリングクロック信号である。アナログデジタル変換器112は、クロック信号222及び223の立ち上がりエッジに同期してアナログ入力データ221をサンプリングし、デジタル信号を出力する。クロック信号222の立ち上がりエッジに同期して、入力データ221の1ユニットインターバル224のセンタ付近のデータがサンプリングされ、クロック信号223の立ち上がりエッジに同期して、入力データ221の1ユニットインターバル224のバウンダリ付近のデータがサンプリングされる。入力データ221は送信回路101の発振器により1ユニットインターバル224の位相が決まり、クロック信号222及び223は受信回路103の発振器により位相が決まる。そのため、入力データ221の1ユニットインターバル224のバウンダリの位相とクロック信号223の立ち上がりエッジの位相は、必ずしも一致しない。そこで、位相調整回路202は、両者の位相が一致するように、位相調整コードに応じてクロック信号222及び223の位相を調整する。アナログデジタル変換器112は、クロック信号222,223の立ち上がりエッジに同期して1ユニットインターバル224に対してデータを2倍のオーバーサンプリングするサンプリング回路である。
逆多重化回路203は、アナログデジタル変換器112により出力されるデータをシリアルからパラレルに変換し、デジタル等化回路204に出力する。逆多重化回路203により、デジタル信号のビットレートは後段の回路が処理可能なビットレートにまで低下する。逆多重化回路203は、省略可能である。
デジタル等化回路204は、逆多重化回路203の出力データに対して等化処理を行い、伝送線路102により劣化した信号を回復させる。この際、デジタル等化回路204は、等化処理の誤差が0に近づくように内部の係数を更新すると共に、アナログ等化回路111の係数を更新する。
クロックデータリカバリ回路210は、位相検出回路205、ローパスフィルタ206及び判定回路207を有する。位相検出回路205は、入力データの変化点を検出し、その変化点を1ユニットインターバル224のバウンダリであると判定する。データは中長期的にはランダム性を有するので、複数周期の1ユニットインターバルを処理することにより、1ユニットインターバル224のバウンダリを推定することができる。位相検出回路205は、その推定された1ユニットインターバル224のバウンダリの位相に対して、デジタル等化回路204により出力されたデータの1ユニットインターバル224のバウンダリの位相誤差を検出する。すなわち、位相検出回路205は、デジタル等化回路204により等化処理されたデータの1ユニットインターバル224のバウンダリと1ユニットインターバル224のバウンダリの推定値との位相誤差を検出する。
ローパスフィルタ206は、位相検出回路205により検出された位相誤差をローパスフィルタリングし、フィルタリングした信号を位相調整コードとして位相調整回路202に出力する。ローパスフィルタ206は、位相誤差を積分し、位相調整の過敏反応を抑制する。位相調整回路202は、位相調整コードを基にクロック信号222及び223の位相を調整する。これにより、クロック信号223の立ち上がりエッジの位相は、入力データ221の1ユニットインターバル224のバウンダリの位相に一致し、クロック信号222の立ち上がりエッジの位相は、入力データ221の1ユニットインターバル224のセンタの位相に一致する。
判定回路207は、デジタル等化回路204により等化処理されたデータのうちの1ユニットインターバル224のセンタ用のクロック信号222によりサンプリングされたデータを用いて出力データを復元する。1ユニットインターバル224のバウンダリ付近のデータは変化点であるために不定値であり、1ユニットインターバル224のセンタ付近のデータは安定したデータである。クロック信号223の立ち上がりエッジによりサンプリングされたデータに比べて、クロック信号222の立ち上がりエッジによりサンプリングされたデータは、1ユニットインターバル224のセンタに近いデータである。そのため、判定回路207は、クロック信号222の立ち上がりエッジに同期してサンプリングされたデータを選択し、そのデータを0/1判定し、出力データを出力端子OUTに出力する。データのレベルが閾値より大きいときにはデータは1と判定され、データのレベルが閾値より小さいときにはデータは0と判定される。これにより、クロックデータリカバリ回路210は、データを復元することができる。
図3(A)は図2(A)の位相調整回路202の構成例を示す図であり、図3(B)は位相調整回路202の動作を説明するためのタイムチャートである。クロック信号θ0は例えば0度の位相のクロック信号、クロック信号θ1は例えば90度の位相のクロック信号、クロック信号θ2は例えば180度の位相のクロック信号、クロック信号θ3は例えば270度の位相のクロック信号である。
電圧電流変換回路301は、差動クロック信号θ0及びθ2を電圧から電流に変換し、容量303及び304に出力する。これにより、図3(B)に示すような三角波の信号SA等を生成することができる。差動増幅器307は、容量303及び304に蓄積された信号SA等を重み付け係数wで増幅し、信号w×SA及びその位相反転信号を出力する。
電圧電流変換回路302は、差動クロック信号θ1及びθ3を電圧から電流に変換し、容量305及び306に出力する。これにより、図3(B)に示すような三角波の信号SB等を生成することができる。差動増幅器308は、容量305及び306に蓄積された信号SB等を重み付け係数1−wで増幅し、信号(1−w)×SB及びその位相反転信号を出力する。
コンパレータ309は、差動増幅器307及び308の出力信号を合成した信号SC等を入力する。信号SCは、信号w×SA及び信号(1−w)×SBが合成された信号であり、w×SA+(1−w)×SBで表わされる。コンパレータ309は、2個の入力信号の比較結果に応じた信号φ0及びその論理反転信号φ2を出力する。コンパレータ309は、2個の入力信号のうちの一方の信号が他方の信号に対して大きいときにはハイレベルの信号φ0を出力し、小さいときにはローレベルの信号φ0を出力する。すなわち、コンパレータ309は、入力信号SCを矩形波の信号φ0に変換して出力する。クロック信号φ0は図2(B)のクロック信号222に対応し、クロック信号φ2は図2(B)のクロック信号223に対応する。上記の重み付け係数wを位相調整コードにより変更することにより、クロック信号φ0及びφ2の位相を変更することができる。
図4(A)は、図3(A)の位相調整回路202のより具体的な構成例を示す回路図である。電流デジタルアナログ変換器440では、pチャネル電界効果トランジスタ441及びスイッチ442の直列接続回路が複数組み並列に接続される。トランジスタ441のゲートは、固定バイアス電位ノードに接続される。位相調整コードに応じて、複数のスイッチ442がオン又はオフする。電流デジタルアナログ変換器440は、位相調整コードに応じた重み付け係数w0〜w3のアナログ電流を回路421〜424に出力する。
重み付け係数w0の回路421は、電界効果トランジスタ431〜433を有する。pチャネル電界効果トランジスタ431は、ソースが電源電位ノードに接続され、ゲートがドレインに接続される。nチャネル電界効果トランジスタ432は、ドレインがトランジスタ431のドレインに接続され、ゲートが電流デジタルアナログ変換器440の出力端子に接続され、ソースがグランド電位ノードに接続される。nチャネル電界効果トランジスタ433は、ドレイン及びゲートが電流デジタルアナログ変換器440の出力端子に接続され、ソースがグランド電位ノードに接続される。
重み付け係数w1〜w3の回路422〜424は、重み付け係数w0の回路421と同様の構成を有し、電流デジタルアナログ変換器440から重み付け係数w1〜w3のアナログ電流を入力する。回路421〜424は、重み付け係数w0〜w3の電圧を電圧電流変換回路401〜404に出力する。
素子451〜457をノードN1及びN2に接続することにより、ノードN1及びN2は容量性ノードになる。ノードN1は抵抗454及び容量456を介してグランド電位ノードに接続され、ノードN2は抵抗455及び容量457を介してグランド電位ノードに接続される。
電圧電流変換回路401は、電界効果トランジスタ411〜416を有する。pチャネル電界効果トランジスタ415は、ソースが電源電位ノードに接続され、ゲートが回路421内のpチャネル電界効果トランジスタ431のドレインに接続される。nチャネル電界効果トランジスタ416は、ソースがグランド電位ノードに接続され、ゲートが回路421内のトランジスタ433のドレインに接続される。pチャネル電界効果411は、ソースがトランジスタ415のドレインに接続され、ゲートがクロック信号θ0のノードに接続され、ドレインがノードN1に接続される。nチャネル電界効果トランジスタ412は、ドレインがノードN1に接続され、ゲートがクロック信号θ0のノードに接続され、ソースがトランジスタ416のドレインに接続される。pチャネル電界効果413は、ソースがトランジスタ415のドレインに接続され、ゲートがクロック信号θ2のノードに接続され、ドレインがノードN2に接続される。nチャネル電界効果トランジスタ414は、ドレインがノードN2に接続され、ゲートがクロック信号θ2のノードに接続され、ソースがトランジスタ416のドレインに接続される。
電圧電流変換回路402〜404は、電圧電流変換回路401と同様の構成を有し、それぞれ回路422〜424に接続される。また、電圧電流変換回路402はクロック信号θ1及びθ3を入力し、電圧電流変換回路403はクロック信号θ2及びθ0を入力し、電圧電流変換回路404はクロック信号θ3及びθ1を入力する。
電圧電流変換回路401〜404は、重み付け係数w0〜w3で増幅された電流を容量性ノードN1及びN2に出力することにより、三角波を生成し、加算することができる。コンパレータ460は、図3(A)のコンパレータ309と同様に、矩形波のクロック信号φ0及びφ2を出力する。
図4(B)は、図4(A)の位相調整回路202の位相調整コード及びクロック信号φ0の位相遅延時間を示すグラフである。特性471はシミュレーション結果による特性を示し、特性472は理想の特性を示す。位相調整コードを0〜16の間で変化させることにより、0〜100[ps]=0〜π/4[rad]の位相遅延時間を実現することができる。誤差473は、理想特性472に対するシミュレーション特性471の誤差を示し、1[ps]以下である。位相調整回路202は、位相調整コードにより線形的にクロック信号φ0及びφ2の遅延時間を調整することができる。
図5は、図2(A)のデジタル等化回路204の構成例を示す図である。図2(A)のアナログ等化回路111も、デジタル等化回路204と同様の構成を有する。乗算器500は、入力端子IN2のデータに係数c0を乗算して出力する。m個の加算器521〜52mは、m+1個の乗算器500〜50mの出力信号を加算して出力する。ここで、mは正の整数である。スイッチ531は、初期化モードではトレーニングデータノードTRに接続され、通常モードでは加算器521の出力端子に接続される。
まず、初期化モードについて説明する。初期化モードでは、図1の送信回路101は、予め取り決められたトレーニングデータ列を送信する。トレーニングデータノードTRには、そのトレーニングデータ列と同じものが入力される。スライサ回路532は、トレーニングデータノードTRのトレーニングデータをバイナリ判定し、「0」又は「1」の1ビットのデジタルデータを出力する。m個の遅延回路511〜51mは、例えばフリップフロップ回路であり、直列に接続され、スライサ回路532の出力データを遅延する。遅延回路511は、1周期遅延したデータを出力する。遅延回路51mは、m周期遅延したデータを出力する。m個の乗算器501〜50mは、それぞれm個の遅延回路511〜51mの出力データに対して係数c1〜cmを乗算する。加算器521は、現在のデータ及び過去のデータに対して係数c0〜cmで重み付けしたデータを加算したデータを出力する。減算器533は、スライサ回路532の出力データから加算器521の出力データを減算し、誤差ER1を出力する。演算器535は、誤差(電圧)ER1を2乗し、誤差(パワー)ER2を出力する。係数更新部534は、誤差ER1が0に近づくように、乗算器500〜50mの係数c0〜cmを更新する。このフィードバックループ処理により、誤差ER1が最小になる係数c0〜c0を決定することができる。スライサ回路536は、加算器521の出力データをバイナリ判定し、「0」又は「1」の1ビットのデジタルデータを出力端子OUT2に出力する。
次に、通常モードについて説明する。以下、初期化モードと異なる点を説明する。スイッチ531は、加算器521の出力端子に接続される。スライサ回路532は、加算器521の出力データをバイナリ判定し、「0」又は「1」の1ビットのデジタルデータを出力する。係数更新部534は、初期化モードと同様に、誤差ER1が最小になるように係数c0〜cmを更新する。
図6(A)はブラインドCDR方式の受信回路103の構成例を示す図であり、図6(B)は入力データ221及び受信クロック信号222,223を示す図である。以下、図2(A)のトラッキングCDR方式の受信回路103と異なる点を説明する。位相ロックループ回路201は、端子CLKの基準クロック信号を基に図6(B)のクロック信号222及び223を生成し、アナログデジタル変換器112に出力する。クロック信号222及び223の位相は、固定である。したがって、クロック信号222及び223の位相は、入力データ221の位相とは無関係である。
クロックデータリカバリ回路210は、位相検出回路205、ローパスフィルタ206及び判定回路207を有する。判定回路207は、ローパスフィルタ206によりフィルタリングされた信号を基にデジタル等化回路204により等化処理されたデータのうちの1ユニットインターバル224のセンタに最も近くでサンプリングされたデータを選択して出力データを復元する。ローパスフィルタ206の出力信号は、1ユニットインターバル224のバウンダリからの位相を意味する。1ユニットインターバル224のセンタの位相は、1ユニットインターバル224の周期の1/2の位相である。したがって、判定回路207は、ローパスフィルタ206の出力信号を基に1ユニットインターバル224のセンタの位相を判断することができる。判定回路207は、クロック信号222の立ち上がりエッジに同期したデータ及びクロック信号223の立ち上がりエッジに同期したデータを入力し、それらのデータのうちの1ユニットインターバル224のセンタに最も近くでサンプリングされたデータを選択して出力データをバイナリ判定し、出力する。例えば、判定回路207は、1ユニットインターバル224のセンタに最も近くでサンプリングされたデータとして、クロック信号222の立ち上がりエッジに同期したデータを選択する。
入力データ221の周期Tdとサンプリングクロック信号222,223の周期Tsは、同じであることが好ましい。しかし、送信回路101の発振器と受信回路102の発振器の発振周波数のずれにより、周期Td及びTsが異なることがある。周期Td及びTsがほぼ同じであり、1ユニットインターバル224に対して1個の復元データを出力端子OUTから出力した場合には、判定回路207はデータが正常である旨のスリップ情報を端子SIから出力する。また、周期Tdが周期Tsより大きく、1ユニットインターバル224に対して2個以上の復元データを出力端子OUTから出力した場合には、判定回路207はデータを取りすぎである旨のスリップ情報を端子SIから出力する。この場合、後段の回路が不要なデータを捨てる。また、また、周期Tdが周期Tsより小さく、1ユニットインターバル224に対してデータを1個も出力端子OUTから出力できない場合には、判定回路207はデータの取りこぼしである旨のスリップ情報を端子SIから出力する。この場合、後段の回路が送信回路101に対して再送要求する。
なお、図2(A)のクロックデータリカバリ回路210は、位相調整回路202により位相調整されたクロック信号222及び/又は223を復元クロックとして復元データと共に後段に出力してもよい。また、図6(A)のクロックデータリカバリ回路210は、位相ロックループ回路201により生成されたクロック信号222及び/又は223を復元データと共に後段に出力してもよい。
トラッキングCDR方式(図2(A))は、入力データ221の位相に合わせて、サンプリングクロック信号222及び223の位相を調整するため、ノイズが無い状況では、ブラインドCDR方式(図6(A))に比較して位相誤差が小さく、復元データのエラーレートが低い。しかし、ノイズが発生する場合には、トラッキングCDR方式はブラインドCDR方式より特性が悪くなる場合がある。
図7(A)〜(C)を参照しながら、トラッキングCDR方式の問題点を説明する。図7(A)は時間(サイクルタイム)とサンプリングクロック信号222,223の位相との関係を示すタイムチャートであり、図7(B)は時間と位相調整コードとの関係を示すタイムチャートであり、図7(C)はローパスフィルタ206から位相調整回路202に出力される複数ビットの位相調整コードを示す図である。
図7(C)に示すように、ローパスフィルタ206は、複数本の信号線を介して位相調整コードを位相調整回路202に出力する。この複数本の信号線は長距離伝送により位相調整コードのスキューを発生させ、複数本の信号線間では異なるスキューが発生する。例えば、2本の信号線による2ビットの位相調整コードの場合において、位相調整コードを「10」から「01」に変更する場合を説明する。その場合、信号線間のスキューのずれにより、図7(B)に示すように、期間T1の位相調整コード「10」から期間T3の位相調整コード「01」に変化する途中で、期間T2の位相調整コード「00」が発生する場合がある。すなわち、まず、位相調整コードの2ビット目の2LSBが「1」から「0」に変化し、その後に、位相調整コードの1ビット目の1LSBが「0」から「1」に変換する場合がある。この場合、図7(A)に示すように、時刻t1以前では位相調整コードが「10」であり、時刻t1で位相調整コードが「10」から「00」に変化を開始する。その後、位相調整コードが「00」から「01」に変化し、時刻t2以降で位相調整コードが「01」に安定する。理想的には、位相調整コードが「10」から「01」に変化する際の位相変動量702は−30[ps]である。しかし、スキューのずれにより、数サイクルの間、位相誤差のジッタ701が継続して発生してしまう。このジッタ701はトラッキングCDR方式のエラーレートを低くする要因となり、トラッキングCDR方式はブラインドCDR方式よりエラーレートが低くなってしまう。
このようなジッタ701の発生を避けるため、図7(C)に示すように、デスキュー回路としてフリップフロップ回路712を使用する方法が考えられる。フリップフロップ回路712は、クロック信号CLK1に同期して位相調整コードを保持する。しかし、この場合には、クロック信号CLK1及び位相調整コードを長距離伝送するためのバッファ711が必要であり、デスキューのためのフリップフロップ回路712も配置するため、これらの回路がノイズ発生源となり、ジッタを発生する場合がある。
したがって、トラッキングCDR方式がブラインドCDR方式よりも常にエラーレートが低くなるとは限らない。使用する環境により、トラッキングCDR方式の方がエラーレートが低くなる場合と、ブラインドCDR方式の方がエラーレートが低くなる場合とがある。
図8は、本実施形態による受信回路103の構成例を示す図である。本実施形態の受信回路103は、図2(A)のトラッキングCDR方式と図6(A)のブラインドCDR方式とを切り替え可能である。以下、図8の受信回路103が図2(A)の受信回路103及び図6(A)の受信回路103と異なる点を説明する。
位相調整回路202は、位相調整コードB1に応じてクロック信号222,223の位相を調整する。アナログデジタル変換器(サンプリング回路)112は、位相調整回路202により出力されたクロック信号222,223に同期して1ユニットインターバル224に対してデータをオーバーサンプリングする。デジタル等化回路204は、逆多重化回路203の出力信号を入力し、アナログデジタル変換器112によりサンプリングされたデータに対して等化処理を行う。クロックデータリカバリ回路210は、デジタル等化回路204により等化処理されたデータを基に出力データを復元し、出力端子OUTに出力する。
クロックデータリカバリ回路210は、位相検出回路205、ローパスフィルタ206及び判定回路207を有する。位相検出回路205は、デジタル等化回路204により等化処理されたデータの1ユニットインターバル224のバウンダリと1ユニットインターバル224のバウンダリの推定値との位相誤差を検出する。ローパスフィルタ206は、位相検出回路205により検出された位相誤差をローパスフィルタリングする。判定回路207は、デジタル等化回路204により等化処理されたデータを基に出力データを復元し、端子OUTへ出力する。
制御回路801は、トラッキングCDR方式又はブラインドCDR方式を指定する。トラッキングCDR方式が指定されると、受信回路103は図2(A)のトラッキングCDR方式の処理を行う。これに対し、ブラインドCDR方式が指定されると、受信回路103は図6(A)のブラインドCDR方式の処理を行う。
位相調整回路202は、トラッキングCDR方式が指定されるとローパスフィルタ206により出力される信号F1である位相調整コードB1に応じてクロック信号222,223の位相を調整して出力し、ブラインドCDR方式が指定されるとクロック信号222,223の位相を固定して出力する。
判定回路207は、トラッキングCDR方式が指定されると、デジタル等化回路204により等化処理されたデータのうちの1ユニットインターバル224のセンタ用にサンプリングされたデータを用いて出力データを復元し、ブラインドCDR方式が指定されると、ローパスフィルタ206によりフィルタリングされた信号F1を基にデジタル等化回路204により等化処理されたデータのうちの1ユニットインターバル224のセンタに最も近くでサンプリングされたデータを選択して出力データを復元する。また、判定回路207は、ブラインドCDR方式が指定されると、図6(A)のブラインドCDR方式と同様に、端子SIからスリップ情報を出力する。
制御回路801は、位相調整回路202及び判定回路207に対してトラッキングCDR方式を指定したときの誤差と、位相調整回路202及び判定回路207に対してブラインドCDR方式を指定したときの誤差とを比較し、誤差の小さい方の方式を位相調整回路202及び判定回路207に対して指定する。
次に、制御回路801の誤差の比較方法の例を3つ説明する。まず、制御回路801の第1の比較方法を説明する。制御回路801は、トラッキングCDR方式を指定したときのデジタル等化回路204の等化処理の誤差ER2と、ブラインドCDR方式を指定したときのデジタル等化回路204の等化処理の誤差ER2とを比較する。誤差ER2は、図5のデジタル等化回路204の演算器535が出力する誤差である。
次に、制御回路801の第2の比較方法を説明する。制御回路801は、トラッキングCDR方式を指定したときに位相検出回路205により検出された位相誤差A2と、ブラインドCDR方式を指定したときに位相検出回路205により検出された位相誤差A2とを比較する。具体的には、制御回路801は、ローパスフィルタを有し、位相誤差A2をローパスフィルタによりフィルタリングした位相誤差同士を比較する。制御回路801の内部のローパスフィルタは、ローパスフィルタ206に対して短期的なフィルタリングを行う。制御回路801は、ローパスフィルタを用いて、位相誤差の時間的な変動量の比較を行う。
次に、制御回路801の第3の比較方法を説明する。制御回路801は、トラッキングCDR方式を指定したときに判定回路207により復元された端子OUTの出力データの誤差と、ブラインドCDR方式を指定したときに判定回路207により復元された端子OUTの出力データの誤差とを比較する。具体的には、制御回路801は、判定回路207が出力する端子OUTの復元データとトレーングデータノードTRのトレーニングデータとを比較し、その誤差同士を比較する。トレーニングデータは、上記で説明したように、初期化処理で用いられる期待値のデータである。また、制御回路801は、判定回路207が出力する端子SIのスリップ情報も加味して誤差を比較する。
また、制御回路801は、誤差に応じて、制御信号B2により位相検出回路205を制御し、制御信号B3によりデジタル等化回路204を制御する。
図11は、図8の位相検出回路205の構成例を示す図である。位相検出回路205は、第1の位相検出回路1101、第2の位相検出回路1102及びセレクタ1103を有する。データG1は、サンプリングクロック信号222によりサンプリングされたデータである。データG2は、サンプリングクロック信号223によりサンプリングされたデータである。図8の制御回路801は、制御信号B2により、第1の位相検出回路1101又は第2の位相検出回路1102のいずれかを指定することができる。第1の位相検出回路1101は、制御信号B2により第1の位相検出回路1101が指定されると、データG1及びG2を入力し、上記の位相検出回路205と同様に、位相誤差を出力する。第2の位相検出回路1102は、制御信号B2により第2の位相検出回路1102が指定されると、データG1及びG2を入力し、上記の位相検出回路205と同様に、位相誤差を出力する。セレクタ1103は、制御信号B2により第1の位相検出回路1101が指定されると第1の位相検出回路1101の出力信号を選択して出力し、制御信号B2により第2の位相検出回路1102が指定されると第2の位相検出回路1102の出力信号を選択して出力する。
図12(A)は、第1の位相検出回路1101の特性を示す図である。第1の位相検出回路1101は、Bang−bang型位相検出回路であり、第1の位相検出回路1101が指定されると、デジタル等化回路204により等化処理されたデータを2値のデータに変換して位相誤差の検出を行う。位相θdは、入力データ221の位相である。位相θcは、サンプリングクロック信号222,223の位相である。データは、「−1」及び「+1」の2値データであるとする。ここで、データが「−1」から「+1」に遷移する場合を考える。第1の位相検出回路1101は、位相差θd−θcが負値であるときにはデータが「−1」になり、位相差θd−θcが正値であるときにはデータが「+1」になる。しかし、位相差θd−θcが0であるときには、データの変化点であるため、不定値となり、データの精度が低くなる。第1の位相検出回路1101は、フリップフロップ回路を用いることにより図2(A)の特性を実現できるので、構成が簡単であり、消費電力を低減できる利点がある。
図12(B)は、第2の位相検出回路1102の特性を示す図である。第2の位相検出回路1102は、線形補間型位相検出回路であり、第2の位相検出回路1102が指定されると、デジタル等化回路204により等化処理されたデータを位相に対して3値以上のデータに線形変換して位相誤差の検出を行う。入力データは「−1」及び「+1」の2値データであり、その2値データを−1〜+1の範囲の3値以上の多値データに変換する。ここで、入力データが「−1」から「+1」に遷移する場合を考える。第2の位相検出回路1102は、位相差θd−θcに応じて、データを線形補間する。これにより、位相差θd−θcが0のデータ変化点付近でも、データの精度が高くなる利点がある。ただし、第2の位相検出回路1102は、線形補間回路を用いることにより図2(B)の特性を実現できるが、構成が複雑であり、消費電力が増加する問題がある。
以上のように、第1の位相検出回路1101は、低消費電力の利点を有し、低精度の欠点を有する。これに対し、第2の位相検出回路1102は、高精度の利点を有し、高消費電力の欠点を有する。したがって、誤差が閾値以下に抑えられるのであれば、可能な限り、第1の位相検出回路1101を使用し、消費電力を低減することが好ましい。しかし、第1の位相検出回路1101を使用すると、誤差が閾値より大きくなってしまう場合には、高精度の第2の位相検出回路1102を使用する必要がある。
制御回路801は、第1の位相検出回路1101を指定したときの誤差が閾値以下であるときには第1の位相検出回路1101を指定し、第1の位相検出回路1101を指定したときの誤差が閾値より大きいときには第2の位相検出回路1102を指定する。誤差は、上記の第1〜第3の比較方法で示した誤差を用いる。
次に、制御回路801が、誤差に応じて、制御信号B3によりデジタル等化回路204を制御する方法を説明する。制御回路801は、デジタル等化回路204に対して第1の等化方式又は第2の等化方式を指定することができる。図5のデジタル等化回路204は、第1の等化方式が指定されると等化処理の誤差ER1が0に近づくようにすべての次数の係数c0〜cmを更新対象として等化処理を行い、第2の等化方式が指定されると等化処理の誤差ER1が0に近づくように一部の次数の係数を更新対象として他部の次数の係数を固定値にして等化処理を行う。
第2の等化方式では、低い次数の係数c0〜cjを更新対象として高い次数の係数cj+1〜cmを固定値にして等化処理を行う。ここで、jは、0より大きく、mより小さい整数である。具体的には、高い次数の係数cj+1〜cmの乗算器50j+1〜50mの出力を0に固定し、高い次数の係数cj+1〜cmの乗算器50j+1〜50m及び遅延回路51j+1〜51mの動作を止める。これにより、消費電力を低減することができる。
第1の等化方式は、高精度の利点を有し、高消費電力の欠点を有する。これに対し、第2の等化方式は、低消費電力の利点を有し、低精度の欠点を有する。したがって、誤差が閾値以下に抑えられるのであれば、可能な限り、第2の等化方式を使用し、消費電力を低減することが好ましい。しかし、第2の等化方式を使用すると、誤差が閾値より大きくなってしまう場合には、高精度の第1の等化方式を使用する必要がある。
制御回路801は、第2の等化方式を指定したときの誤差が閾値以下であるときには第2の等化方式を指定し、第2の等化方式を指定したときの誤差が閾値より大きいときには第1の等化方式を指定する。誤差は、上記の第1〜第3の比較方法で示した誤差を用いる。なお、更新対象の係数の数を変えることにより、3個以上の等化方式の中から1つを選択するようにしてもよい。
図9(A)は、上記の第1の比較方法による制御回路801の構成例を示す図である。初期化処理において、誤差記憶部901は、シーケンサ902の制御により、トラッキングCDR方式の誤差及びブラインドCDR方式の誤差を記憶する。さらに、誤差記憶部901は、各CDR方式について、第1の位相検出回路1101を指定したときの誤差、第2の位相検出回路1102を指定したときの誤差、第1の等化方式を指定したときの誤差、及び第2の等化方式を指定したときの誤差を記憶する。誤差比較部903は、トラッキングCDR方式の誤差とブラインドCDR方式の誤差を比較し、誤差が小さい方のCDR方式の指定を決定する。また、誤差比較部903は、上記の方法により、第1の位相検出回路1101又は第2の位相検出回路1102の指定を決定し、位相検出回路205に制御信号B2を出力する。また、誤差比較部903は、上記の方法により、第1の等化方式又は第2の位相検出回路1102の指定を決定し、デジタル等化回路204に制御信号B3を出力する。追従/固定部904は、トラッキングCDR方式が指定されると、ローパスフィルタ206から入力した位相調整コードF1をそのまま位相調整コードB1として位相調整回路202に出力する。また、追従/固定部904は、ブラインドCDR方式が指定されると、固定値の位相調整コードB1を位相調整回路202に出力する。
上記の第2の比較方法による制御回路801は、上記の第1の比較方法による制御回路801の制御に対して、誤差ER2を入力する代わりに誤差A2を入力する点が異なる。
図9(B)は、上記の第3の比較方法による制御回路801の構成例を示す図である。図9(B)の制御回路801は、図9(A)の制御回路801に対して、データコンパレータ905が追加されたものである。以下、図9(A)の制御回路801と異なる点を説明する。初期化処理において、データコンパレータ905は、端子OUTの復元データとトレーングデータノードTRのトレーニングデータとの比較を行い、その誤差を出力する。誤差記憶部901は、シーケンサ902の制御により、その誤差を記憶する。その後、制御回路801は、上記と同様に、誤差に応じて、CDR方式、位相検出回路の方式、及び等化方式を指定する。
図10は、受信回路103の方式指定方法を示すフローチャートである。ステップS1001では、受信回路103は、初期化処理を開始する。次に、ステップS1002では、受信回路103は、CDR方式の指定処理を開始する。次に、ステップS1003では、制御回路801は、ブラインドCDR方式の設定を行う。次に、ステップS1004では、制御回路801は、誤差を取得し、誤差記憶部901内の第1のメモリに記憶する。次に、ステップS1005では、制御回路801は、トラッキングCDR方式の設定を行う。次に、ステップS1006では、制御回路801は、誤差を取得し、誤差記憶部901内の第2のメモリに記憶する。次に、ステップS1007では、誤差比較部903は、第1のメモリの誤差と第2のメモリの誤差を比較する。次に、ステップS1008では、制御回路801は、誤差が小さい方のCDR方式を指定する。次に、ステップS1009では、受信回路103は、CDR方式の指定処理を終了する。次に、ステップS1010では、受信回路103は、他の初期化処理を行う。
図13は、受信回路103の他の方式指定方法を示すフローチャートである。ステップS1301では、受信回路103は、初期化処理を開始する。次に、ステップS1302では、受信回路103は、CDR方式の指定処理を開始する。次に、ステップS1303では、制御回路801は、ブラインドCDR方式の設定を行う。次に、ステップS1304では、制御回路801は、デジタル等化回路204のタップ数を設定する。タップ数を設定することにより、上記のように更新対象の係数の数を設定することができる。後述のステップS1307の処理により、複数のタップ数の設定を1個ずつ順番に設定することができる。次に、ステップS1305では、制御回路801は、第1の位相検出回路1101の使用を設定する。次に、ステップS1306では、制御回路801は、誤差を取得し、誤差記憶部901内の第1のメモリに記憶する。次に、ステップS1307では、制御回路801は、デジタル等化回路204の全てのタップ数の設定が終了したか否かをチェックする。終了していなければ、ステップS1304へ戻り、制御回路801は、デジタル等化回路204の他のタップ数の設定を行う。終了していれば、ステップS1308へ進む。
ステップS1308では、制御回路801は、トラッキングCDR方式の設定を行う。次に、ステップS1309では、制御回路801は、デジタル等化回路204のタップ数を設定する。タップ数を設定することにより、上記のように更新対象の係数の数を設定することができる。後述のステップS1312の処理により、複数のタップ数の設定を1個ずつ順番に設定することができる。次に、ステップS1310では、制御回路801は、第1の位相検出回路1101の使用を設定する。次に、ステップS1311では、制御回路801は、誤差を取得し、誤差記憶部901内の第2のメモリに記憶する。次に、ステップS1312では、制御回路801は、デジタル等化回路204の全てのタップ数の設定が終了したか否かをチェックする。終了していなければ、ステップS1309へ戻り、制御回路801は、デジタル等化回路204の他のタップ数の設定を行う。終了していれば、ステップS1313へ進む。
ステップS1313では、誤差比較部903は、第1のメモリの誤差と第2のメモリの誤差を比較する。次に、ステップS1314では、制御回路801は、ブラインドCDR方式及びトラッキングCDR方式のうちの誤差が小さい方のCDR方式を指定する。そして、制御回路801は、指定したCDR方式において、いずれかのタップ数で第1の位相検出回路1101の誤差が閾値以下であるときには第1の位相検出回路1101を指定し、全てのタップ数で第1の位相検出回路1101の誤差が閾値より大きいときには第2の位相検出回路1102を指定する。そして、制御回路801は、いずれかのタップ数での誤差が閾値以下であるときには誤差が閾値以下のうちで更新対象の係数が最も少ないタップ数の等化方式をデジタル等化回路204に対して指定する。また、制御回路801は、全てのタップ数での誤差が閾値より大きいときには全ての係数を更新対象とする最大のタップ数の等化方式をデジタル等化回路204に対して指定する。次に、ステップS1315では、受信回路103は、CDR方式の指定処理を終了する。次に、ステップS1316では、受信回路103は、他の初期化処理を行う。
本実施形態によれば、誤差に応じて、CDR方式、位相検出回路の方式及び/又は等化方式を指定することにより、復元データのビットエラーレート及び消費電力を低減することができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。