データ復元回路、データ復元方法、及びデータ受信装置
【課題】安定した動作を容易に実現することができるデータ復元回路を提供する。
【解決手段】データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含む。
【解決手段】データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本願開示は、一般に受信回路に関し、詳しくは受信側で生成したクロック信号に基づいてデータを復元するデータ復元回路及び方法に関する。
【背景技術】
【0002】
コンピュータやその他の情報処理機器を構成するSRAM、DRAM、プロセッサ、スイッチ用LSI等の部品の性能は、大きく向上してきた。しかしながら各部品の性能が向上しても、部品間の信号伝送速度を向上させなければ、システム性能を向上させることができない。例を挙げると、近年、SRAMやDRAM等のメモリとプロセッサとの間の速度のギャップが大きくなる傾向にあり、この速度ギャップがコンピュータの性能向上の妨げになりつつある。またチップ間の信号伝送だけでなく、チップの大型化に伴い、チップ内の素子や回路ブロック間の信号伝送速度も、チップ性能を制限する大きな要因となってきている。更には、周辺機器とプロセッサやチップセットとの間の信号伝送もシステム全体の性能を制限する要素になっている。
【0003】
一般に、回路ブロック間、チップ間、あるいは筐体内の高速信号伝送では、受信側において受信データからクロックを発生(復元)し、この復元したクロックを用いてデータの0/1判定を行なう。この際、正しい信号受信が行なえるよう、回路内部のフィードバック回路により復元クロックの位相を調整し、復元クロックと受信データとが一定の位相関係となるように設定する。このようにクロックを復元し、それを使ってデータを判定することをCDR(Clock and Data Recovery)という。CDRは高速信号伝送にとって最も重要な技術の1つである。
【0004】
CDRを実現するためには、データ受信を行うための内部クロック信号を発生し、その内部クロック信号の位相と入力データ信号の位相とを比較し、その比較結果に基づいて内部クロック信号の位相を調整するフィードバック回路が用いられる。具体的には、まず、生成した内部クロック信号の例えば立ち上がりエッジのタイミングに同期して、データ判定回路により入力データの論理判定(0/1判定)を行う。この際、入力データのアイの中心近辺にて判定したデータRDTと、入力データの遷移点近辺にて判定したデータBDTとを求める。このRDTが0/1間で遷移した場合に、BDTが遷移前のRDTデータと遷移後のRDTデータとの何れに一致しているのかを判定すれば、内部クロック信号の位相が入力データの位相に比べて早いのか遅いのかを知ることができる。この早いか遅いかの位相関係に応じて、内部クロック信号の立ち上がりエッジのタイミングを調整し、内部クロック信号の立ち上がりエッジが入力データのアイの中心近辺に位置するように制御する。これにより、入力データの揺らぎ(ジッタ)に追従して内部クロック信号のタイミングを調整し、正しくデータ判定することができる。
【0005】
従来のCDRの構成の場合、入力データのジッタ量を検出する能力は、内部クロック信号の位相シフト精度に依存する。例えば内部クロック信号の位相分解能が6ビットである場合、内部クロック信号の位相を0.015625(=2−6)UI(Unit Interval)ステップにて変化させることができる。つまり、0.015625UI精度にてジッタを検出することができる。入力データのサンプリングタイミングを動的に変化させるフィードバック構成のCDR回路では、この例のような非常に高い検出感度が必要とされる。
【0006】
従来構成のCDR回路では、クロック信号の位相を変化させるために、PI(Phase Interpolator)等のアナログ要素回路を使用していた。そのために、PIの動作がプロセスばらつきや電源電圧変動等の影響を受け易く、CDR回路の位相追従特性もそれに応じて変動してしまう。その結果、安定して動作するCDR回路を設計するためには、様々な要因を考慮して解決する必要があり、開発工数が増大するという問題があった。
【非特許文献1】Hideki Takauchi他著,“A CMOS Multi-Channel 10Gb/s Transceiver,”2003 IEEE International Solid-State Circuits Conference,2003年
【発明の開示】
【発明が解決しようとする課題】
【0007】
以上を鑑みると、安定した動作を容易に実現することができるデータ復元回路を提供することが望まれる。
【課題を解決するための手段】
【0008】
データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【0009】
データ復元方法は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する各段階を含むことを特徴とする。
【0010】
データ復元回路は、入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【0011】
データ受信装置入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部とを含み、前記データ復元回路は、前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部とを含み、前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とする。
【発明の効果】
【0012】
本願開示の少なくとも1つの実施例によれば、入力信号を固定のサンプルタイミングでアナログデジタル変換してデジタルコードの列を得て、このデジタルコードの列を補間することにより求めたデータの遷移点に基づいて、サンプルされたデータを取捨選択する。入力信号を固定のサンプルタイミングで取り込むので、入力信号をサンプルするためのクロック信号を受信側でフィードバック制御により位相調整する必要が無く、また位相推定によるデータ判定をデジタル処理により行なっている。従って、プロセスばらつきや電源電圧変動等の影響を受けることなく、安定したデ―タ復元動作を行なうことができる。またそのような安定動作を行なうデータ復元回路を容易に設計することができる。
【発明を実施するための最良の形態】
【0013】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、データ復元回路の構成の一例を示す図である。図1のデータ復元回路は主に、位相検出器12、位相差分器13、位相積分器14、位相積分器15、加算器16、加算器17、データ判定部18、判定データ出力部19、及びビット切り出し回路20を含む。またデータ復元回路は更に、アナログデジタル変換器(ADC)10−1乃至10−4、デマルチプレクサ(DEMUX)11、分周回路(FDIV)21、位相内挿器(PI)22、及びバッファ23を含む。
【0015】
アナログデジタル変換器10−1乃至10−4は、データ列を表す入力アナログ信号INDTをクロック信号CK1に同期してアナログデジタル変換することにより、データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成する。ここでクロック信号CK1は90°ずつ位相が異なる4相のクロック信号であり、これら4相のクロック信号により、0°位相、90°位相、180°位相、270°位相のタイミングで、入力アナログ信号INDTをサンプリングする。図1の例では、入力アナログ信号INDTは5Gビット/秒を想定しており、クロック信号CK1の周波数は2.5GHzを想定している。従って、上記の4相のクロック信号により、入力アナログ信号INDTのデータ列のデータ間隔(200ps)である1UI(1ユニットインターバル)毎に2点のサンプリングがなされる。このサンプリングにより、入力アナログ信号INDTの振幅値をデジタル値で表現したデジタルコードの列ADC_CODE0乃至ADC_CODE3が得られる。
【0016】
デマルチプレクサ11は、分周回路21がクロック信号CK1を分周して生成した1.25GHzのクロック信号CK2を同期信号として、デジタルコードの列ADC_CODE0乃至ADC_CODE3に対して4:16のデマルチプレックスを行なう。即ち、デマルチプレクサ11は、デジタルコードADC_CODE0乃至ADC_CODE3の各々を時間軸上で1:4にデマルチプレックスすることにより、各デジタルコードに対して4つのコードを並列に出力する。その結果、デマルチプレクサ11の出力は、625MHzのクロック信号に同期して16個のデジタルコードDMX_DT_0乃至DMX_DT_F(Fは15を表記する16進数)が並列に出力されるデジタルコードの列となる。
【0017】
上記のようなアナログデジタル変換器10−1乃至10−4及びデマルチプレクサ11の処理により、1ビットの高速データをシリアルパラレル変換して16ビット毎に纏め、16ビットのパラレルデータである低速データを生成する。これにより、5Gビット/秒のデータレートを625Mbpsのデータレートに低下させ、以降のデジタル処理を実現可能としている。なお16ビットのパラレルデータは入力アナログ信号INDTの8UI(ユニットインターバル)のデータに相当し、以下に説明する後段のデジタル処理では、この8UIのデータを纏めてパラレルに処理している。なお上記のデータレートの変換は必ずしも必要な処理ではなく、デジタル処理が高速で実現できるのであればデータレートを落とす必要はない。また8UI毎の処理は単なる一例であり、任意の数のUI毎に処理してよく、例えば4UI毎の処理であってもよいし、1UI毎の処理であってもよい。
【0018】
図1に示す位相検出器12、位相差分器13、位相積分器14、位相積分器15、加算器16、加算器17、データ判定部18、判定データ出力部19、及びビット切り出し回路20で構成されるデジタル処理回路には、クロック信号CK4が供給される。このクロック信号CK4は、分周回路21がクロック信号CK1を分周することにより生成する周波数が625MHzの信号である。クロック信号CK4に同期して、上記のデジタル処理回路の各部分が動作し、入力アナログ信号INDTの8UIに相当する16ビットのパラレルデータに対するデジタル処理を実行する。
【0019】
図2は、位相検出器12の動作を説明するための図である。図2において、座標点31乃至33は、16個のデジタルコードDMX_DT_0乃至DMX_DT_Fからなるデジタルコードの列において、連続する3つのデジタルコードに対応する。この連続する3つのデジタルコードは、例えばDMX_DT_0、DMX_DT_1、DMX_DT_2である。この場合、座標点31の横方向の位置はDMX_DT_0のサンプルタイミングに相当し、座標点31の縦方向の位置はDMX_DT_0のデジタルコードの値に相当する。同様に、座標点32の横方向の位置はDMX_DT_1のサンプルタイミングに相当し、座標点32の縦方向の位置はDMX_DT_1のデジタルコードの値に相当する。更に、座標点33の横方向の位置はDMX_DT_2のサンプルタイミングに相当し、座標点33の縦方向の位置はDMX_DT_2のデジタルコードの値に相当する。
【0020】
各サンプルタイミングの間の間隔は、図1の例の場合、2.5GHzのクロック信号のサイクルの1/4(即ち100ps)に一致する。この場合、図2に示す横軸方向の各サンプル間隔が100psに相当し、座標点31と33との間の間隔は200psである。この座標点31と33との間の間隔200psは、入力アナログ信号INDTの1UI(ユニットインターバル)に相当する。
【0021】
位相検出器12は、デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置ZCとデジタルコードの列を補間して得られる線分とが交差するクロス点の位置をデジタルコードの列から算出する。図2において、デジタルコードの列を補間して得られる線分34及び線分35が示される。線分34は、座標点31及び32の間を線形補完することにより得られる。線分35は、座標点32及び33の間を線形補完することにより得られる。デジタルコードが値を取り得る範囲は、例えばデジタルコードが5ビットの場合、0〜31である。この場合、デジタルコードが値を取り得る範囲0〜31の中心にあるコード値15.5が位置ZCとなる。位相検出器12は、この位置ZCにある水平線と上記の補間により求めた線分とが交差するクロス点の位置PINSTをデジタル計算により求める。なお上記中心のコード値としては、整数値(例えば15又は16)に丸めた値を用いてもよい。位置PINSTは、当該UIの左端からクロス点までの距離を所定のビット数で表現したものであってよい。
【0022】
図3は、位相検出器12のゼロクロスベクトル検出部25の構成の一例を示す図である。図3に示す位相検出器12は、ゼロクロスベクトル検出回路37−1乃至37−8及びフリップフロップ38を含む。ゼロクロスベクトル検出回路37−1乃至37−8の各々は、対応する1UI区間に対して前記のクロス点の位置PINSTを計算する。これにより8UIに対する8個のクロス点の位置PINSTが並列に計算される。
【0023】
ゼロクロスベクトル検出回路37−1は、デマルチプレクサ11からデジタルコードDMX_DT_0乃至DMX_DT_2を受け取り、対応するクロス点の位置PINST_0を出力する。ゼロクロスベクトル検出回路37−2は、デマルチプレクサ11からデジタルコードDMX_DT_2乃至DMX_DT_4を受け取り、対応するクロス点の位置PINST_1を出力する。ゼロクロスベクトル検出回路37−3は、デマルチプレクサ11からデジタルコードDMX_DT_4乃至DMX_DT_6を受け取り、対応するクロス点の位置PINST_2を出力する。以下同様に、ゼロクロスベクトル検出回路37−4乃至37−7は、デマルチプレクサ11から対応するデジタルコードを受け取り、対応するクロス点の位置PINST_3乃至PINST_6を出力する。ゼロクロスベクトル検出回路37−8は、デマルチプレクサ11からデジタルコードDMX_DT_E及びDMX_DT_Fを受け取る。ゼロクロスベクトル検出回路37−8は更に、フリップフロップ38が保持する前回の動作サイクルの8UIの端に位置するデジタルコードDMX_DT_0をDMX_DT_Gとして受け取る。これらに基づいて、ゼロクロスベクトル検出回路37−8は対応するクロス点の位置PINST_7を出力する。
【0024】
図1を再び参照し、位相差分器13、位相積分器14、位相積分器15、加算器16、及び加算器17が位相推定器を構成する。位相推定器は、上記のようにして求めたクロス点の位置PINSTに基づいて、入力アナログ信号INDTのデータ列のデータ中心点の推定位置PPICKを求める。具体的には、位相差分器13、位相積分器14、位相積分器15、及び加算器16により、クロス点の位置PINSTの時間的な平均位置PHOを求める。加算器17が、この平均位置PHOをデータ間隔の略半分に等しい変位(0.5UI)だけずらすことにより、データ中心点の推定位置PPICKを求める。
【0025】
クロス点の位置PINSTの時間的な平均位置PHOは、クロス点の推定位置であり、位相差分器13に供給される。位相差分器13は、クロス点の位置PINSTと推定クロス点位置PHOとの差分を求める。位相積分器14及び15は、位相差分器13が求めた差分を時間的に積分することにより、推定クロス点位置PHOを求める。このようなデジタル領域でのフィードバック制御により、瞬時的なクロス点の位置PINSTの変動に追従しながらも安定的に変化する推定クロス点位置PHOが得られる。
【0026】
図4は、位相差分器13の構成の一例を示す図である。位相差分器13は、減算器40−1乃至40−8、セレクタ41−1乃至41−8、及び平均化回路42を含む。減算器40−1乃至40−8は、8UIに対応するクロス点位置PINST_0乃至PINST_7を位相検出器12から受け取る。減算器40−1乃至40−8は更に、推定クロス点位置PHOを受け取る。減算器40−1乃至40−8の各々は、対応するクロス点位置と推定クロス点位置PHOとの差分を求め、その差分値をセレクタ41−1乃至41−8に供給する。セレクタ41−1乃至41−8はそれぞれ、対応する遷移フラグTRAN0乃至7に応じて、減算器40−1乃至40−8から供給される対応する差分値又は固定値0を選択して出力する。対応する遷移フラグが0の時には固定値0が選択出力され、対応する遷移フラグが1の時には差分値が選択出力される。
【0027】
図5は、位相検出器12の遷移フラグ生成部26の構成の一例を示す図である。遷移フラグ生成部26は、XOR回路列45及び複数のOR回路46−1乃至46−8を含む。XOR回路列45は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gの列を受け取り、隣接する2つのデジタルコードの対の各々について、隣接する2つのデジタルコード間のXORを計算する。なおこのXORの計算は、例えば2つのデジタルコードそれぞれの最上位ビットのみに着目して、それら2つのビットのXORを計算すればよい。なおここでDMX_DT_Gは、前述のように、前回の8UIの端に位置するデジタルコードDMX_DT_0である。
【0028】
OR回路46−1乃至46−8は、8つのUIのそれぞれに対して設けられる。OR回路46−1乃至46−8の各々は、1UIに対応する3つのデジタルコードに対して求められた2つのXOR計算値間のORを計算する。これにより、対応する1UIにおいてデータ遷移が1回でもあれば(即ち上記のクロス点がひとつでもあれば)、OR回路46−1乃至46−8の出力である遷移フラグTRAN_0乃至TRAN_7は1となる。
【0029】
図4を再び参照し、平均化回路42は、セレクタ41−1乃至41−8からの差分値の平均値を求める。この平均値演算において、セレクタ41−1乃至41−8から入力される固定値0については無視してよい。これにより、データ遷移が起きているUIについてのみ、クロス点位置PINSTと推定クロス点位置PHOとの差分の平均値PH_AVGを求めることができる。
【0030】
図1を再び参照し、位相積分器14は、差分の平均値PH_AVGに対する積分演算を実行する。位相積分器14は、利得乗算器14−1及び積分器14−2を含む。利得乗算器14−1は、入力される差分平均値PH_AVGに所定の利得係数g1を乗算し、乗算の結果を出力する。積分器14−2は、利得乗算器14−1からの乗算結果を積分する。具体的には、積分器14−2は、今回のサイクルの利得乗算器14−1からの乗算結果を前回のサイクルの積分結果に加算し、その加算の結果を今回のサイクルの積分結果として保持する。そのような積分器は、加算器とフリップフロップとにより構成することができる。
【0031】
位相積分器15は、所定の利得係数g2を乗算する利得乗算器15−1及び利得乗算器15−1の出力を積分する積分器15−2を含む。位相積分器15の動作は位相積分器14と同様であるが、位相積分器15の入力は位相積分器14が求めた積分結果である。加算器16が位相積分器14の求めた積分結果と位相積分器15の求めた積分結果とを加算することにより、推定クロス点位置PHOを求める。なお位相積分器15は必ずしも必要ではなく、送信側クロック信号と受信側クロック信号との差分の変化特性に応じて、その要否を判断すればよい。
【0032】
データ判定部18は、8UIに対応するクロス点位置PINST_0乃至PINST_7と0/1判定結果DT_0乃至DT_16とを位相検出器12から受け取るとともに、データ中心点の推定位置PPICKを加算器17から受け取る。ここで判定結果DT_0乃至DT_16は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gのそれぞれを0又は1に2値判定することにより得られる。
【0033】
図6は、位相検出器12の2値判定回路27の構成の一例を示す図である。図6に示す2値判定回路27は、MSB抽出回路列50を含む。MSB抽出回路列50は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gのそれぞれの最上位ビットを抽出して、各々が1ビットのバイナリデータとして17個の0/1判定結果DT_0乃至DT_16を生成する。
【0034】
図7は、データ判定部18の構成の一例を示す図である。データ判定部18は、クロス点の位置PINST_0乃至PINST_7とデータ中心点の推定位置PPICKとに基づいて、デジタルコードの列からデータ判定値の列を抽出する。具体的には、デジタルコードの列を2値判定することにより得られるバイナリデータDT_0乃至DT_16の列から、バイナリデータを取捨選択することにより、データ判定値の列が抽出される。
【0035】
図7のデータ判定部18は、データ判定回路55−1乃至55−8、折り返し回路56、フリップフロップ57、及び比較回路58を含む。折り返し回路56は、推定データ中心点位置PPICKが1未満の場合にPPICKをそのまま出力し、推定データ中心点位置PPICKが1以上の場合に、PPICK−1を新たなPPICKとして出力する。なお推定データ中心点位置PPICKが0以下になる場合があれば、折り返し回路56はPPICK+1を新たなPPICKとして出力してよい。この折り返し回路56の処理により、推定データ中心点位置が常に着目UIの範囲内に存在することになる。
【0036】
データ判定回路55−1乃至55−8は、8つのUIにそれぞれ対応して設けられる。データ判定回路55−1乃至55−8の各々は、1UIに対応する3つのバイナリデータ(0/1判定結果)から1つのバイナリデータを選択し、データ判定値DEC_DT[1]乃至DEC_DT[8]として出力する。1UIに対して1つのバイナリデータを選択する際には、当該UI内に位置する推定データ中心点位置PPICKと当該UIに対応するクロス点の位置PINSTとを参照する。
【0037】
図8は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を説明するための図である。図8(a)において、バイナリデータA乃至Cは、着目している1UIに属するデジタルコードの0/1判定結果である。この例では、バイナリデータAは1であり、バイナリデータB及びCは0である。参照番号60乃至62は、着目UI内の互いに重複しない範囲を示す。範囲60は、着目UIの左端(左端の点を含む)からクロス点位置PINST(クロス点を含まない)までの範囲である。範囲61は、クロス点位置PINST(クロス点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲62は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0038】
図8(a)において最下部に示すA、B、Cの表記は、それぞれ対応する範囲60、61、62に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲60に推定データ中心点位置PPICKが属する場合には、バイナリデータAを選択する。範囲61に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲62に推定データ中心点位置PPICKが属する場合には、バイナリデータCを選択する。基本的に、クロス点の位置を境界と考えたときに、推定データ中心点位置PPICKが位置する側と同じ側にあるサンプル点のバイナリデータを選択すればよい。例えば、範囲61の場合には、バイナリデータBを選択してもバイナリデータCを選択しても結果は同じである。
【0039】
図8(b)において、(a)と同様に、バイナリデータA乃至Cは着目している1UIに属するデジタルコードの0/1判定結果である。バイナリデータA及びBは1であり、バイナリデータCは0である。参照番号63乃至65は、着目UI内の互いに重複しない範囲を示す。範囲63は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲64は、バイナリデータBのサンプル点(サンプル点を含む)からクロス点位置PINST(クロス点を含まない)までの範囲である。範囲65は、クロス点位置PINST(クロス点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0040】
図8(b)において最下部に示すA、B、Cの表記は、それぞれ対応する範囲63、64、65に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲63に推定データ中心点位置PPICKが属する場合には、バイナリデータAを選択する。範囲64に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲65に推定データ中心点位置PPICKが属する場合には、バイナリデータCを選択する。クロス点の位置を境界と考えたときに、推定データ中心点位置PPICKが位置する側と同じ側にあるサンプル点のバイナリデータを選択するという原理は前述の場合と同様である。
【0041】
図8(c)において、バイナリデータA乃至Cは全て1である。参照番号66及び67は、着目UI内の互いに重複しない範囲を示す。範囲66は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲67は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0042】
図8(c)において最下部に示すB、Bの表記は、それぞれ対応する範囲66、67に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲66に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲67に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。この場合、バイナリデータA乃至Cは全て同一であるので、何れのデータを選択してもよく、何れを選択しても結果は同じである。バイナリデータA乃至Cは全て0の場合も同様である。
【0043】
図8(d)において、バイナリデータA、B、Cはそれぞれ0、1、0である。参照番号68及び69は、着目UI内の互いに重複しない範囲を示す。範囲68は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲69は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0044】
図8(d)において最下部に示すB、Bの表記は、それぞれ対応する範囲68、69に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲68に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲69に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。即ち、クロス点が2回現れる場合には、中心の値であるバイナリデータBを常に選択する。バイナリデータA、B、Cがそれぞれ1、0、1の場合も同様であり、データ判定値としてバイナリデータBの0が選択される。
【0045】
図9は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を示すフローチャートである。ステップS1で、着目UIにおいてデータ遷移があるか否かを判定する。データ遷移がない場合には、ステップS2で、中心のバイナリデータBを選択する。ステップS1でデータ遷移が有りと判断された場合には、ステップS3で、遷移数が1であるか否かを判定する。遷移数が1でない場合には遷移が2回起きていることになり、ステップS4で、中心のバイナリデータBを選択する。ステップS3で遷移数が1と判断された場合には、ステップS5で、遷移がAのサンプル点とBのサンプル点との間にあるか否かを判定する。
【0046】
遷移がAのサンプル点とBのサンプル点との間にあるとステップS5で判定された場合には、ステップS6で、クロス点位置PINSTが推定データ中心点位置PPICKより大きいか否かを判断する。PINSTの方が大きい場合には、ステップS7で、バイナリデータAを選択する。PINSTがPPICK以下の場合には、ステップS8で、バイナリデータBを選択する。
【0047】
遷移がAのサンプル点とBのサンプル点との間にないとステップS5で判定された場合には、ステップS9で、クロス点位置PINSTが推定データ中心点位置PPICKより大きいか否かを判断する。PINSTの方が大きい場合には、ステップS10で、バイナリデータBを選択する。PINSTがPPICK以下の場合には、ステップS11で、バイナリデータCを選択する。
【0048】
図10は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する回路構成の一例を示す図である。図10に示す構成の回路を、図7のデータ判定回路55−1乃至55−8の各々として用いてよい。図10に示すデータ判定回路は、XOR回路70乃至72、AND回路73、負論理入力OR回路74、比較回路75及び76、及びセレクタ77乃至79を含む。比較回路75は、PINSTがPPICKよりも大きいとき、“>”側の出力を1にし、“<=”側の出力を0にする。またPINSTがPPICK以下のとき、“>”側の出力が0になり、“<=”側の出力が1になる。比較回路76は、固定値0.5がPPICKよりも大きいとき、出力を1にする。また固定値0.5がPPICK以下のとき、出力が0になる。セレクタ77乃至79の各々は、供給される選択制御信号が1の時に“1”側の入力信号を選択して出力し、選択制御信号が0の時に“0”側の入力信号を選択して出力する。
【0049】
図11は、図10の回路の動作を示す論理値テーブルである。(a)にはPINST>PPICKの場合の動作が示され、(b)にはPINST<=PPICKの場合の動作が示される。論理値テーブルには、図10に示す各信号の論理値が示されている。“X”はドントケアである。例えば、(a)にはPINST>PPICKの場合、A、B、Cがそれぞれ1、0、0であれば、SEL1がAとなることが示されている。この場合、PINSTがAとBとの間にあるのでPPICKは当然に0.5より小さく、図10の比較回路76の出力は1となる。従って、SEL1であるAの論理値1が選択されて、データ判定結果として出力される。これは図8に示す(a)において範囲60にPPICKが存在する場合に相当する。
【0050】
また例えば、(b)にはPINST≦PPICKの場合、A、B、Cがそれぞれ1、1、0であれば、SEL2がCとなることが示されている。この場合、PINSTがBとCとの間にあるのでPPICKは当然に0.5以上であり、図10の比較回路76の出力は0となる。従って、SEL2であるCの論理値0が選択されて、データ判定結果として出力される。これは図8に示す(b)において範囲65にPPICKが存在する場合に相当する。
【0051】
図7を再び参照し、データ判定回路55−1乃至55−8の各々は、上記のようにして1UIに対応する3つのバイナリデータから1つのバイナリデータを選択し、データ判定値DEC_DT[1]乃至DEC_DT[8]として出力する。なお8UI区間の一方の端のバイナリデータDT_0は、そのままデータ判定値DEC_DT[0]として追加出力される。これらのデータ判定値DEC_DT[0]乃至DEC_DT[8]に対して、適宜データの削除・追加を行なうことにより、送受信間のデータレートを調整する。以下にこのデータレートの調整について説明する。
【0052】
送受信間でデータレートが一致していれば、即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していれば、上記のようにして得られたデータ判定値DEC_DT[1]乃至DEC_DT[8]をそのまま受信データとすればよい。しかしこのように8UIに対して常に8個のデータ判定値を受信データとして抽出していたのでは、送受信間でデータレートが一致していない場合に対応できない。即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していないのであれば、あるタイミングで8UIに対して8個以上又は8個以下のデータ判定値を受信データとして抽出して、受信データの総数を調整する必要がある。
【0053】
受信データの総数を調整するために、フリップフロップ57及び比較回路58が設けられている。フリップフロップ57は、前回の動作サイクルのPPICKを格納している。比較回路58は、今回のサイクルのPPICK及びフリップフロップ57の出力(前回のサイクルのPPICK)のそれぞれを固定値0.5と比較する。今回のサイクルのPPICKが0.5より小さく且つ前回のサイクルのPPICKが0.5より大きい場合、比較回路58は第1の状態の指示信号DEC_DT_NUMを生成する。また今回のサイクルのPPICKが0.5より大きく且つ前回のサイクルのPPICKが0.5より小さい場合、比較回路58は第2の状態の指示信号DEC_DT_NUMを生成する。なお折り返し回路56で折り返される前のPPICKが1.0(UIの境界値)を跨いで推移したか否かを判定することにより、指示信号DEC_DT_NUMを生成してもよい。また加算器17(図1)で0.5を加算する前の推定クロス点位置PHOが0.5(UIの中心値)を跨いで推移したか否かを判定することにより、指示信号DEC_DT_NUMを生成してもよい。なお指示信号DEC_DT_NUMは例えば2ビットのバイナリデータであってよく、この2ビットにより、第1の状態、第2の状態、更には第1の状態でも第2の状態でもない第3の状態を指定することができる。
【0054】
図1を再び参照し、データ判定部18は、データ中心点の推定位置PPICKが遅れる方向に推移することによりデータ間隔の長さに等しい範囲内(1UI内)から範囲外に外れると第1の状態の指示信号DEC_DT_NUMを生成する。またデータ中心点の推定位置PPICKが早まる方向に推移することによりデータ間隔の長さに等しい範囲内(1UI内)から範囲外に外れると、データ判定部18は第2の状態の指示信号DEC_DT_NUMを生成する。データ判定部18は更に、データ判定値DEC_DT[1]乃至DEC_DT[8]の列に追加のデータDEC_DT[0]を加えたデータ列DEC_DT[0]乃至DEC_DT[8]を出力する。
【0055】
判定データ出力部19は、第1の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[1]乃至DEC_DT[8]の列において1つデータをスキップして7ビットのデータを出力する。判定データ出力部19はまた、第2の状態の指示信号DEC_DT_NUMに応答して9ビットのデータ列DEC_DT[0]乃至DEC_DT[8]を出力する。判定データ出力部19はまた、第1の状態でも前記第2の状態でもない第3の状態の指示信号DEC_DT_NUMに応答して8ビットのデータ判定値DEC_DT[1]乃至DEC_DT[8]の列を出力する。このような判定データ出力部19の動作は、FIFOにより容易に実現することができる。即ち判定データ出力部19を構成するFIFOが、第1の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[2]乃至DEC_DT[8]の7ビットのみを取込むようにすればよい。また判定データ出力部19を構成するFIFOが、第2の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[0]乃至DEC_DT[8]を9ビット全て取込むようにすればよい。また判定データ出力部19を構成するFIFOが、第3の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[1]乃至DEC_DT[8]の8ビットを取込むようにすればよい。この第3の状態の指示信号の場合は、データのスキップも追加もない場合に相当する。判定データ出力部19を構成するFIFOは、取込んだデータをソートして、8ビットずつ受信ユーザデータUSER_DT[7:0](即ちUSER_DT[0]乃至USER_DT[7])として出力する。
【0056】
図1に示されるように、判定データ出力部19を構成するFIFOからは、位相内挿器22が生成するクロック信号PI_CK4に同期してデータが読み出される。位相内挿器22は、分周回路21が生成する例えば625MHzの4相のクロック信号を用い、これらの4相のクロック信号を合成することにより所望の位相のクロック信号PI_CK4を生成する。この際、位相積分器15の出力である位相推定値の上位ビット(例えば6ビット)をビット切り出し回路20により切り出して、位相内挿器22に位相コードPCODEとして供給する。位相内挿器22は、クロック信号PI_CK4の位相が位相コードPCODEの示す位相値に一致するように、クロック信号PI_CK4を生成する。この位相調整により、送信側のデータレートと判定データ出力部19から読み出すデータのデータレートとを一致させることができる。なおこの位相内挿器22の位相調整の精度は、従来のCDR回路において要求される精度よりも、かなり低くても問題がない。
【0057】
図12は、データをスキップする動作を模式的に示す図である。図12において、動作サイクルT1から動作サイクルT4が示される。各動作サイクルにおいて、1つのUIが処理されるとする。また各動作サイクルの最下部に、クロス点位置PINSTと推定データ中心位置PPICKとが示される。動作サイクルT1においては、UIの3点のデータから最後(最右端)のデータD1が選択出力される。動作サイクルT2においては、UIの3点のデータから最後(最右端)のデータD2が選択出力される。動作サイクルT2から動作サイクルT3に移る際に、推定データ中心位置PPICKが遅れる方向に推移して(即ち図面上右方向に推移して)、1UIの境界を越えている。この場合、動作サイクルT3において、UIの3点のデータの最後(最右端)のデータを選択せずにスキップする。次の動作サイクルT4においては、UIの3点のデータから最初(最左端)のデータD4が選択出力される。以上のようにして、データをスキップすることにより、送受信間でのデータレートを一致させる。
【0058】
図13は、データを追加する動作を模式的に示す図である。図13において、動作サイクルT1から動作サイクルT4が示される。各動作サイクルにおいて、1つのUIが処理されるとする。また各動作サイクルの最下部に、クロス点位置PINSTと推定データ中心位置PPICKとが示される。動作サイクルT1においては、UIの3点のデータから最初(最左端)のデータD1が選択出力される。動作サイクルT2においては、UIの3点のデータから最初(最左端)のデータD2が選択出力される。動作サイクルT2から動作サイクルT3に移る際に、推定データ中心位置PPICKが進む方向に推移して(即ち図面上左方向に推移して)、1UIの境界を越えている。この場合、動作サイクルT3において、UIの3点のデータの最初(最左端)のデータD3−1と最後(最右端)のデータD3−2を選択出力する。動作サイクルT4においては、UIの3点のデータから最後(最右端)のデータD4が選択出力される。以上のようにして、データを追加することにより、送受信間でのデータレートを一致させる。
【0059】
図14は、データ復元回路の構成の別の一例を示す図である。図14において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。図14のデータ復元回路は、図1のデータ復元回路から判定データ出力部19、ビット切り出し回路20、位相内挿器22、及びバッファ23が取り除かれ、バッファ81乃至83が設けられている。即ち、図1の構成から、データスキップ又は追加によりデータレートを調整する機能が削除されている。
【0060】
データ送受信機能の実際のインプリメントでは、上位のレイヤーにてクロック乗せ換えが行われる。従って、必ずしも図1に示す実施例の場合のように、高速I/Oの物理レイヤーにてクロック乗せ換えを行う必要はない。但しこの場合、高速I/Oの物理レイヤーの出力データ幅は、常に固定のビット幅にはならない。例えば、出力データ幅は殆どの場合において8ビットであるが、入力データの変動に応じて時には7ビットであったり、9ビットであったりする。この変動を示す信号として、図1のDEC_DT_NUM[1:0]と同様の信号USER_DT_NUM[1:0]を用意している。このようにデータレート調整機能を物理レイヤーから削除することにより、図1の構成と比較して、設計開発工数に関するコスト削減が可能である。
【0061】
図15は、外部ロジックによりデータレートを調整する構成の一例を示す図である。図15に示すデータ受信回路は、図14に示すデータ復元回路90と外部ロジック91とを含む。外部ロジック91は、FIFO92とFIFOコントローラ93を含む。FIFO92とFIFOコントローラ93は、USER_CKに同期して動作する。FIFOコントローラ93は、ライトポインタWP及びリードポインタRPを指定することにより、FIFO92に対するデータ書込み及びデータ読出しを制御する。この際、FIFOコントローラ93は、データ復元回路90からのUSER_DT_NUM[1:0]に基づいて、ライトポインタWP及びリードポインタRPを設定する。
【0062】
データ復元回路90が出力するパラレルデータUSER_DTは、常に8ビットではなく、入力アナログ信号INDTに含まれるジッタに応じて、±1ビットの変動が生じる。なおこのUSER_DTは、図1の構成で説明したDEC_DTに相当するデータ信号である。上記の±1ビットの変動量を示す情報が、USER_DT_NUM[1:0]として、データ復元回路90から外部ロジック91に伝えられる。外部ロジック91は、データ復元回路90からUSER_CKに同期したUSER_DTを受け取り、この受け取ったデータをFIFO92に書き込む。FIFO92に書き込まれるデータの量は、USER_DT_NUMに応じて変化する。この書込みデータの制御は、図1の判定データ出力部19を構成するFIFOについて説明した制御と同様である。このようにしてFIFO92に書き込まれるデータの量を制御することにより、±1ビットのデータレートの変動が吸収される。
【0063】
一般に受信データの中には、上位レイヤーの仕様にて定められた調整コードが定期的に存在する。外部ロジック91は、この調整コードを利用して、送受信間のデータレートの差を吸収するフロー制御を実行する。
【0064】
図16は、外部ロジックによるフロー制御を説明するための図である。FIFOコントローラ93は、書き込みデータアドレスを示す書込みポインタWPと読み出しデータアドレスを示す読出しポインタRPを管理することにより、FIFO92に格納されているデータ量DTSIZEを理解する。(a)に示すように、DTSIZEが予め定められたある閾値データ量DTTH_TOPよりも大きくなった場合、FIFOコントローラ93は、書き込みデータレートが読み出しデータレートよりも大きいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも大きいと判断する。この場合、外部ロジック91は、定期的に存在する上記の調整コードを破棄することによって、DTSIZEをDTTH_TOPより小さくし、送受信間のデータレートの差を調整する。また(b)に示すように、DTSIZEが予め定められたある閾値データ量DTTH_BTMよりも小さくなった場合、FIFOコントローラ93は、書き込みデータレートが読み出しデータレートよりも小さいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも小さいと判断する。この場合、外部ロジック91は調整コードを挿入し、DTSIZEをDTTH_BTMより大きくし、送受信間のデータレートの差を調整する。
【0065】
このように図15に示すデータ受信回路の構成では、上位レイヤーの仕様に従って調整コードを破棄・挿入することによりデータレートを調整する機能が、FIFO92及びFIFOコントローラ93として設けられている。このFIFO92及びFIFOコントローラ93を利用して、前述のようにUSER_DT_NUM[1:0]に基づいてFIFO92への書き込みデータ量を調整すれば、データ復元回路90における±1ビットのデータレートの変動を吸収することができる。このように、図14及び図15に示す構成とすることにより、データ復元回路90単体ではなく、データ復元回路90と外部ロジック91との連携によって、データ復元におけるデータレート変動を吸収する機能を実現することができる。
【0066】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0067】
なお本発明は以下の内容を含むものである。
(付記1)
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
(付記2)
前記データ判定部は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記1記載のデータ復元回路。
(付記3)
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記1又は2記載のデータ復元回路。
(付記4)
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記1又は2記載のデータ復元回路。
(付記5)
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする付記1又は2記載のデータ復元回路。
(付記6)
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第1の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第2の状態の指示信号を生成することを特徴とする付記1乃至5いずれか一項記載のデータ復元回路。
(付記7)
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ判定値の列に1つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする付記6記載のデータ復元回路。
(付記8)
前記データ判定部は前記データ判定値の列に追加のデータを加えたデータ列を出力し、前記判定データ出力部は、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ列を出力し、前記第1の状態でも前記第2の状態でもない第3の状態の前記指示信号に応答して前記データ判定値の列を出力することを特徴とする付記7記載のデータ復元回路。
(付記9)
(a)データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
(b)前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
(c)前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
(d)前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
(付記10)
前記段階(d)は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記9記載のデータ復元方法。
(付記11)
前記段階(c)は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記9又は10記載のデータ復元方法。
(付記12)
前記段階(c)は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記9又は10記載のデータ復元方法。
(付記13)
前記段階(c)は、
前記クロス点の位置と推定クロス点位置との差分を求め、
前記差分を時間的に積分することにより前記推定クロス点位置を求め
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める
各段階を含むことを特徴とする付記9又は10記載のデータ復元方法。
(付記14)
(e)前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列において1つデータをスキップし、
(f)前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列に1つデータを追加する
段階を更に含むことを特徴とする付記9乃至13いずれか一項記載のデータ復元方法。
(付記15)
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
(付記16)
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信回路。
【図面の簡単な説明】
【0068】
【図1】データ復元回路の構成の一例を示す図である。
【図2】位相検出器の動作を説明するための図である。
【図3】位相検出器のゼロクロスベクトル検出部の構成の一例を示す図である。
【図4】位相差分器の構成の一例を示す図である。
【図5】位相検出器の遷移フラグ生成部の構成の一例を示す図である。
【図6】位相検出器の2値判定回路の構成の一例を示す図である。
【図7】データ判定部の構成の一例を示す図である。
【図8】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を説明するための図である。
【図9】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を示すフローチャートである。
【図10】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する回路構成の一例を示す図である。
【図11】図10の回路の動作を示す論理値テーブルである。
【図12】データをスキップする動作を模式的に示す図である。
【図13】データを追加する動作を模式的に示す図である。
【図14】データ復元回路の構成の別の一例を示す図である。
【図15】外部ロジックによりデータレートを調整する構成の一例を示す図である。
【図16】外部ロジックによるフロー制御を説明するための図である。
【符号の説明】
【0069】
10−1〜10−4 アナログデジタル変換器
11 デマルチプレクサ
12 位相検出器
13 位相差分器
14 位相積分器
15 位相積分器
16 加算器
17 加算器
18 データ判定部
19 判定データ出力部
20 ビット切り出し回路
21 分周回路
22 位相内挿器
23 バッファ
【技術分野】
【0001】
本願開示は、一般に受信回路に関し、詳しくは受信側で生成したクロック信号に基づいてデータを復元するデータ復元回路及び方法に関する。
【背景技術】
【0002】
コンピュータやその他の情報処理機器を構成するSRAM、DRAM、プロセッサ、スイッチ用LSI等の部品の性能は、大きく向上してきた。しかしながら各部品の性能が向上しても、部品間の信号伝送速度を向上させなければ、システム性能を向上させることができない。例を挙げると、近年、SRAMやDRAM等のメモリとプロセッサとの間の速度のギャップが大きくなる傾向にあり、この速度ギャップがコンピュータの性能向上の妨げになりつつある。またチップ間の信号伝送だけでなく、チップの大型化に伴い、チップ内の素子や回路ブロック間の信号伝送速度も、チップ性能を制限する大きな要因となってきている。更には、周辺機器とプロセッサやチップセットとの間の信号伝送もシステム全体の性能を制限する要素になっている。
【0003】
一般に、回路ブロック間、チップ間、あるいは筐体内の高速信号伝送では、受信側において受信データからクロックを発生(復元)し、この復元したクロックを用いてデータの0/1判定を行なう。この際、正しい信号受信が行なえるよう、回路内部のフィードバック回路により復元クロックの位相を調整し、復元クロックと受信データとが一定の位相関係となるように設定する。このようにクロックを復元し、それを使ってデータを判定することをCDR(Clock and Data Recovery)という。CDRは高速信号伝送にとって最も重要な技術の1つである。
【0004】
CDRを実現するためには、データ受信を行うための内部クロック信号を発生し、その内部クロック信号の位相と入力データ信号の位相とを比較し、その比較結果に基づいて内部クロック信号の位相を調整するフィードバック回路が用いられる。具体的には、まず、生成した内部クロック信号の例えば立ち上がりエッジのタイミングに同期して、データ判定回路により入力データの論理判定(0/1判定)を行う。この際、入力データのアイの中心近辺にて判定したデータRDTと、入力データの遷移点近辺にて判定したデータBDTとを求める。このRDTが0/1間で遷移した場合に、BDTが遷移前のRDTデータと遷移後のRDTデータとの何れに一致しているのかを判定すれば、内部クロック信号の位相が入力データの位相に比べて早いのか遅いのかを知ることができる。この早いか遅いかの位相関係に応じて、内部クロック信号の立ち上がりエッジのタイミングを調整し、内部クロック信号の立ち上がりエッジが入力データのアイの中心近辺に位置するように制御する。これにより、入力データの揺らぎ(ジッタ)に追従して内部クロック信号のタイミングを調整し、正しくデータ判定することができる。
【0005】
従来のCDRの構成の場合、入力データのジッタ量を検出する能力は、内部クロック信号の位相シフト精度に依存する。例えば内部クロック信号の位相分解能が6ビットである場合、内部クロック信号の位相を0.015625(=2−6)UI(Unit Interval)ステップにて変化させることができる。つまり、0.015625UI精度にてジッタを検出することができる。入力データのサンプリングタイミングを動的に変化させるフィードバック構成のCDR回路では、この例のような非常に高い検出感度が必要とされる。
【0006】
従来構成のCDR回路では、クロック信号の位相を変化させるために、PI(Phase Interpolator)等のアナログ要素回路を使用していた。そのために、PIの動作がプロセスばらつきや電源電圧変動等の影響を受け易く、CDR回路の位相追従特性もそれに応じて変動してしまう。その結果、安定して動作するCDR回路を設計するためには、様々な要因を考慮して解決する必要があり、開発工数が増大するという問題があった。
【非特許文献1】Hideki Takauchi他著,“A CMOS Multi-Channel 10Gb/s Transceiver,”2003 IEEE International Solid-State Circuits Conference,2003年
【発明の開示】
【発明が解決しようとする課題】
【0007】
以上を鑑みると、安定した動作を容易に実現することができるデータ復元回路を提供することが望まれる。
【課題を解決するための手段】
【0008】
データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【0009】
データ復元方法は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する各段階を含むことを特徴とする。
【0010】
データ復元回路は、入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【0011】
データ受信装置入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部とを含み、前記データ復元回路は、前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部とを含み、前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とする。
【発明の効果】
【0012】
本願開示の少なくとも1つの実施例によれば、入力信号を固定のサンプルタイミングでアナログデジタル変換してデジタルコードの列を得て、このデジタルコードの列を補間することにより求めたデータの遷移点に基づいて、サンプルされたデータを取捨選択する。入力信号を固定のサンプルタイミングで取り込むので、入力信号をサンプルするためのクロック信号を受信側でフィードバック制御により位相調整する必要が無く、また位相推定によるデータ判定をデジタル処理により行なっている。従って、プロセスばらつきや電源電圧変動等の影響を受けることなく、安定したデ―タ復元動作を行なうことができる。またそのような安定動作を行なうデータ復元回路を容易に設計することができる。
【発明を実施するための最良の形態】
【0013】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、データ復元回路の構成の一例を示す図である。図1のデータ復元回路は主に、位相検出器12、位相差分器13、位相積分器14、位相積分器15、加算器16、加算器17、データ判定部18、判定データ出力部19、及びビット切り出し回路20を含む。またデータ復元回路は更に、アナログデジタル変換器(ADC)10−1乃至10−4、デマルチプレクサ(DEMUX)11、分周回路(FDIV)21、位相内挿器(PI)22、及びバッファ23を含む。
【0015】
アナログデジタル変換器10−1乃至10−4は、データ列を表す入力アナログ信号INDTをクロック信号CK1に同期してアナログデジタル変換することにより、データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成する。ここでクロック信号CK1は90°ずつ位相が異なる4相のクロック信号であり、これら4相のクロック信号により、0°位相、90°位相、180°位相、270°位相のタイミングで、入力アナログ信号INDTをサンプリングする。図1の例では、入力アナログ信号INDTは5Gビット/秒を想定しており、クロック信号CK1の周波数は2.5GHzを想定している。従って、上記の4相のクロック信号により、入力アナログ信号INDTのデータ列のデータ間隔(200ps)である1UI(1ユニットインターバル)毎に2点のサンプリングがなされる。このサンプリングにより、入力アナログ信号INDTの振幅値をデジタル値で表現したデジタルコードの列ADC_CODE0乃至ADC_CODE3が得られる。
【0016】
デマルチプレクサ11は、分周回路21がクロック信号CK1を分周して生成した1.25GHzのクロック信号CK2を同期信号として、デジタルコードの列ADC_CODE0乃至ADC_CODE3に対して4:16のデマルチプレックスを行なう。即ち、デマルチプレクサ11は、デジタルコードADC_CODE0乃至ADC_CODE3の各々を時間軸上で1:4にデマルチプレックスすることにより、各デジタルコードに対して4つのコードを並列に出力する。その結果、デマルチプレクサ11の出力は、625MHzのクロック信号に同期して16個のデジタルコードDMX_DT_0乃至DMX_DT_F(Fは15を表記する16進数)が並列に出力されるデジタルコードの列となる。
【0017】
上記のようなアナログデジタル変換器10−1乃至10−4及びデマルチプレクサ11の処理により、1ビットの高速データをシリアルパラレル変換して16ビット毎に纏め、16ビットのパラレルデータである低速データを生成する。これにより、5Gビット/秒のデータレートを625Mbpsのデータレートに低下させ、以降のデジタル処理を実現可能としている。なお16ビットのパラレルデータは入力アナログ信号INDTの8UI(ユニットインターバル)のデータに相当し、以下に説明する後段のデジタル処理では、この8UIのデータを纏めてパラレルに処理している。なお上記のデータレートの変換は必ずしも必要な処理ではなく、デジタル処理が高速で実現できるのであればデータレートを落とす必要はない。また8UI毎の処理は単なる一例であり、任意の数のUI毎に処理してよく、例えば4UI毎の処理であってもよいし、1UI毎の処理であってもよい。
【0018】
図1に示す位相検出器12、位相差分器13、位相積分器14、位相積分器15、加算器16、加算器17、データ判定部18、判定データ出力部19、及びビット切り出し回路20で構成されるデジタル処理回路には、クロック信号CK4が供給される。このクロック信号CK4は、分周回路21がクロック信号CK1を分周することにより生成する周波数が625MHzの信号である。クロック信号CK4に同期して、上記のデジタル処理回路の各部分が動作し、入力アナログ信号INDTの8UIに相当する16ビットのパラレルデータに対するデジタル処理を実行する。
【0019】
図2は、位相検出器12の動作を説明するための図である。図2において、座標点31乃至33は、16個のデジタルコードDMX_DT_0乃至DMX_DT_Fからなるデジタルコードの列において、連続する3つのデジタルコードに対応する。この連続する3つのデジタルコードは、例えばDMX_DT_0、DMX_DT_1、DMX_DT_2である。この場合、座標点31の横方向の位置はDMX_DT_0のサンプルタイミングに相当し、座標点31の縦方向の位置はDMX_DT_0のデジタルコードの値に相当する。同様に、座標点32の横方向の位置はDMX_DT_1のサンプルタイミングに相当し、座標点32の縦方向の位置はDMX_DT_1のデジタルコードの値に相当する。更に、座標点33の横方向の位置はDMX_DT_2のサンプルタイミングに相当し、座標点33の縦方向の位置はDMX_DT_2のデジタルコードの値に相当する。
【0020】
各サンプルタイミングの間の間隔は、図1の例の場合、2.5GHzのクロック信号のサイクルの1/4(即ち100ps)に一致する。この場合、図2に示す横軸方向の各サンプル間隔が100psに相当し、座標点31と33との間の間隔は200psである。この座標点31と33との間の間隔200psは、入力アナログ信号INDTの1UI(ユニットインターバル)に相当する。
【0021】
位相検出器12は、デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置ZCとデジタルコードの列を補間して得られる線分とが交差するクロス点の位置をデジタルコードの列から算出する。図2において、デジタルコードの列を補間して得られる線分34及び線分35が示される。線分34は、座標点31及び32の間を線形補完することにより得られる。線分35は、座標点32及び33の間を線形補完することにより得られる。デジタルコードが値を取り得る範囲は、例えばデジタルコードが5ビットの場合、0〜31である。この場合、デジタルコードが値を取り得る範囲0〜31の中心にあるコード値15.5が位置ZCとなる。位相検出器12は、この位置ZCにある水平線と上記の補間により求めた線分とが交差するクロス点の位置PINSTをデジタル計算により求める。なお上記中心のコード値としては、整数値(例えば15又は16)に丸めた値を用いてもよい。位置PINSTは、当該UIの左端からクロス点までの距離を所定のビット数で表現したものであってよい。
【0022】
図3は、位相検出器12のゼロクロスベクトル検出部25の構成の一例を示す図である。図3に示す位相検出器12は、ゼロクロスベクトル検出回路37−1乃至37−8及びフリップフロップ38を含む。ゼロクロスベクトル検出回路37−1乃至37−8の各々は、対応する1UI区間に対して前記のクロス点の位置PINSTを計算する。これにより8UIに対する8個のクロス点の位置PINSTが並列に計算される。
【0023】
ゼロクロスベクトル検出回路37−1は、デマルチプレクサ11からデジタルコードDMX_DT_0乃至DMX_DT_2を受け取り、対応するクロス点の位置PINST_0を出力する。ゼロクロスベクトル検出回路37−2は、デマルチプレクサ11からデジタルコードDMX_DT_2乃至DMX_DT_4を受け取り、対応するクロス点の位置PINST_1を出力する。ゼロクロスベクトル検出回路37−3は、デマルチプレクサ11からデジタルコードDMX_DT_4乃至DMX_DT_6を受け取り、対応するクロス点の位置PINST_2を出力する。以下同様に、ゼロクロスベクトル検出回路37−4乃至37−7は、デマルチプレクサ11から対応するデジタルコードを受け取り、対応するクロス点の位置PINST_3乃至PINST_6を出力する。ゼロクロスベクトル検出回路37−8は、デマルチプレクサ11からデジタルコードDMX_DT_E及びDMX_DT_Fを受け取る。ゼロクロスベクトル検出回路37−8は更に、フリップフロップ38が保持する前回の動作サイクルの8UIの端に位置するデジタルコードDMX_DT_0をDMX_DT_Gとして受け取る。これらに基づいて、ゼロクロスベクトル検出回路37−8は対応するクロス点の位置PINST_7を出力する。
【0024】
図1を再び参照し、位相差分器13、位相積分器14、位相積分器15、加算器16、及び加算器17が位相推定器を構成する。位相推定器は、上記のようにして求めたクロス点の位置PINSTに基づいて、入力アナログ信号INDTのデータ列のデータ中心点の推定位置PPICKを求める。具体的には、位相差分器13、位相積分器14、位相積分器15、及び加算器16により、クロス点の位置PINSTの時間的な平均位置PHOを求める。加算器17が、この平均位置PHOをデータ間隔の略半分に等しい変位(0.5UI)だけずらすことにより、データ中心点の推定位置PPICKを求める。
【0025】
クロス点の位置PINSTの時間的な平均位置PHOは、クロス点の推定位置であり、位相差分器13に供給される。位相差分器13は、クロス点の位置PINSTと推定クロス点位置PHOとの差分を求める。位相積分器14及び15は、位相差分器13が求めた差分を時間的に積分することにより、推定クロス点位置PHOを求める。このようなデジタル領域でのフィードバック制御により、瞬時的なクロス点の位置PINSTの変動に追従しながらも安定的に変化する推定クロス点位置PHOが得られる。
【0026】
図4は、位相差分器13の構成の一例を示す図である。位相差分器13は、減算器40−1乃至40−8、セレクタ41−1乃至41−8、及び平均化回路42を含む。減算器40−1乃至40−8は、8UIに対応するクロス点位置PINST_0乃至PINST_7を位相検出器12から受け取る。減算器40−1乃至40−8は更に、推定クロス点位置PHOを受け取る。減算器40−1乃至40−8の各々は、対応するクロス点位置と推定クロス点位置PHOとの差分を求め、その差分値をセレクタ41−1乃至41−8に供給する。セレクタ41−1乃至41−8はそれぞれ、対応する遷移フラグTRAN0乃至7に応じて、減算器40−1乃至40−8から供給される対応する差分値又は固定値0を選択して出力する。対応する遷移フラグが0の時には固定値0が選択出力され、対応する遷移フラグが1の時には差分値が選択出力される。
【0027】
図5は、位相検出器12の遷移フラグ生成部26の構成の一例を示す図である。遷移フラグ生成部26は、XOR回路列45及び複数のOR回路46−1乃至46−8を含む。XOR回路列45は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gの列を受け取り、隣接する2つのデジタルコードの対の各々について、隣接する2つのデジタルコード間のXORを計算する。なおこのXORの計算は、例えば2つのデジタルコードそれぞれの最上位ビットのみに着目して、それら2つのビットのXORを計算すればよい。なおここでDMX_DT_Gは、前述のように、前回の8UIの端に位置するデジタルコードDMX_DT_0である。
【0028】
OR回路46−1乃至46−8は、8つのUIのそれぞれに対して設けられる。OR回路46−1乃至46−8の各々は、1UIに対応する3つのデジタルコードに対して求められた2つのXOR計算値間のORを計算する。これにより、対応する1UIにおいてデータ遷移が1回でもあれば(即ち上記のクロス点がひとつでもあれば)、OR回路46−1乃至46−8の出力である遷移フラグTRAN_0乃至TRAN_7は1となる。
【0029】
図4を再び参照し、平均化回路42は、セレクタ41−1乃至41−8からの差分値の平均値を求める。この平均値演算において、セレクタ41−1乃至41−8から入力される固定値0については無視してよい。これにより、データ遷移が起きているUIについてのみ、クロス点位置PINSTと推定クロス点位置PHOとの差分の平均値PH_AVGを求めることができる。
【0030】
図1を再び参照し、位相積分器14は、差分の平均値PH_AVGに対する積分演算を実行する。位相積分器14は、利得乗算器14−1及び積分器14−2を含む。利得乗算器14−1は、入力される差分平均値PH_AVGに所定の利得係数g1を乗算し、乗算の結果を出力する。積分器14−2は、利得乗算器14−1からの乗算結果を積分する。具体的には、積分器14−2は、今回のサイクルの利得乗算器14−1からの乗算結果を前回のサイクルの積分結果に加算し、その加算の結果を今回のサイクルの積分結果として保持する。そのような積分器は、加算器とフリップフロップとにより構成することができる。
【0031】
位相積分器15は、所定の利得係数g2を乗算する利得乗算器15−1及び利得乗算器15−1の出力を積分する積分器15−2を含む。位相積分器15の動作は位相積分器14と同様であるが、位相積分器15の入力は位相積分器14が求めた積分結果である。加算器16が位相積分器14の求めた積分結果と位相積分器15の求めた積分結果とを加算することにより、推定クロス点位置PHOを求める。なお位相積分器15は必ずしも必要ではなく、送信側クロック信号と受信側クロック信号との差分の変化特性に応じて、その要否を判断すればよい。
【0032】
データ判定部18は、8UIに対応するクロス点位置PINST_0乃至PINST_7と0/1判定結果DT_0乃至DT_16とを位相検出器12から受け取るとともに、データ中心点の推定位置PPICKを加算器17から受け取る。ここで判定結果DT_0乃至DT_16は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gのそれぞれを0又は1に2値判定することにより得られる。
【0033】
図6は、位相検出器12の2値判定回路27の構成の一例を示す図である。図6に示す2値判定回路27は、MSB抽出回路列50を含む。MSB抽出回路列50は、デマルチプレクサ11からのデジタルコードDMX_DT_0乃至DMX_DT_Gのそれぞれの最上位ビットを抽出して、各々が1ビットのバイナリデータとして17個の0/1判定結果DT_0乃至DT_16を生成する。
【0034】
図7は、データ判定部18の構成の一例を示す図である。データ判定部18は、クロス点の位置PINST_0乃至PINST_7とデータ中心点の推定位置PPICKとに基づいて、デジタルコードの列からデータ判定値の列を抽出する。具体的には、デジタルコードの列を2値判定することにより得られるバイナリデータDT_0乃至DT_16の列から、バイナリデータを取捨選択することにより、データ判定値の列が抽出される。
【0035】
図7のデータ判定部18は、データ判定回路55−1乃至55−8、折り返し回路56、フリップフロップ57、及び比較回路58を含む。折り返し回路56は、推定データ中心点位置PPICKが1未満の場合にPPICKをそのまま出力し、推定データ中心点位置PPICKが1以上の場合に、PPICK−1を新たなPPICKとして出力する。なお推定データ中心点位置PPICKが0以下になる場合があれば、折り返し回路56はPPICK+1を新たなPPICKとして出力してよい。この折り返し回路56の処理により、推定データ中心点位置が常に着目UIの範囲内に存在することになる。
【0036】
データ判定回路55−1乃至55−8は、8つのUIにそれぞれ対応して設けられる。データ判定回路55−1乃至55−8の各々は、1UIに対応する3つのバイナリデータ(0/1判定結果)から1つのバイナリデータを選択し、データ判定値DEC_DT[1]乃至DEC_DT[8]として出力する。1UIに対して1つのバイナリデータを選択する際には、当該UI内に位置する推定データ中心点位置PPICKと当該UIに対応するクロス点の位置PINSTとを参照する。
【0037】
図8は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を説明するための図である。図8(a)において、バイナリデータA乃至Cは、着目している1UIに属するデジタルコードの0/1判定結果である。この例では、バイナリデータAは1であり、バイナリデータB及びCは0である。参照番号60乃至62は、着目UI内の互いに重複しない範囲を示す。範囲60は、着目UIの左端(左端の点を含む)からクロス点位置PINST(クロス点を含まない)までの範囲である。範囲61は、クロス点位置PINST(クロス点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲62は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0038】
図8(a)において最下部に示すA、B、Cの表記は、それぞれ対応する範囲60、61、62に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲60に推定データ中心点位置PPICKが属する場合には、バイナリデータAを選択する。範囲61に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲62に推定データ中心点位置PPICKが属する場合には、バイナリデータCを選択する。基本的に、クロス点の位置を境界と考えたときに、推定データ中心点位置PPICKが位置する側と同じ側にあるサンプル点のバイナリデータを選択すればよい。例えば、範囲61の場合には、バイナリデータBを選択してもバイナリデータCを選択しても結果は同じである。
【0039】
図8(b)において、(a)と同様に、バイナリデータA乃至Cは着目している1UIに属するデジタルコードの0/1判定結果である。バイナリデータA及びBは1であり、バイナリデータCは0である。参照番号63乃至65は、着目UI内の互いに重複しない範囲を示す。範囲63は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲64は、バイナリデータBのサンプル点(サンプル点を含む)からクロス点位置PINST(クロス点を含まない)までの範囲である。範囲65は、クロス点位置PINST(クロス点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0040】
図8(b)において最下部に示すA、B、Cの表記は、それぞれ対応する範囲63、64、65に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲63に推定データ中心点位置PPICKが属する場合には、バイナリデータAを選択する。範囲64に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲65に推定データ中心点位置PPICKが属する場合には、バイナリデータCを選択する。クロス点の位置を境界と考えたときに、推定データ中心点位置PPICKが位置する側と同じ側にあるサンプル点のバイナリデータを選択するという原理は前述の場合と同様である。
【0041】
図8(c)において、バイナリデータA乃至Cは全て1である。参照番号66及び67は、着目UI内の互いに重複しない範囲を示す。範囲66は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲67は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0042】
図8(c)において最下部に示すB、Bの表記は、それぞれ対応する範囲66、67に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲66に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲67に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。この場合、バイナリデータA乃至Cは全て同一であるので、何れのデータを選択してもよく、何れを選択しても結果は同じである。バイナリデータA乃至Cは全て0の場合も同様である。
【0043】
図8(d)において、バイナリデータA、B、Cはそれぞれ0、1、0である。参照番号68及び69は、着目UI内の互いに重複しない範囲を示す。範囲68は、着目UIの左端(左端の点を含む)からバイナリデータBのサンプル点(サンプル点を含まない)までの範囲である。範囲69は、バイナリデータBのサンプル点(サンプル点を含む)から着目UIの右端(右端の点を含まない)までの範囲である。
【0044】
図8(d)において最下部に示すB、Bの表記は、それぞれ対応する範囲68、69に推定データ中心点位置PPICKが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲68に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。範囲69に推定データ中心点位置PPICKが属する場合には、バイナリデータBを選択する。即ち、クロス点が2回現れる場合には、中心の値であるバイナリデータBを常に選択する。バイナリデータA、B、Cがそれぞれ1、0、1の場合も同様であり、データ判定値としてバイナリデータBの0が選択される。
【0045】
図9は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を示すフローチャートである。ステップS1で、着目UIにおいてデータ遷移があるか否かを判定する。データ遷移がない場合には、ステップS2で、中心のバイナリデータBを選択する。ステップS1でデータ遷移が有りと判断された場合には、ステップS3で、遷移数が1であるか否かを判定する。遷移数が1でない場合には遷移が2回起きていることになり、ステップS4で、中心のバイナリデータBを選択する。ステップS3で遷移数が1と判断された場合には、ステップS5で、遷移がAのサンプル点とBのサンプル点との間にあるか否かを判定する。
【0046】
遷移がAのサンプル点とBのサンプル点との間にあるとステップS5で判定された場合には、ステップS6で、クロス点位置PINSTが推定データ中心点位置PPICKより大きいか否かを判断する。PINSTの方が大きい場合には、ステップS7で、バイナリデータAを選択する。PINSTがPPICK以下の場合には、ステップS8で、バイナリデータBを選択する。
【0047】
遷移がAのサンプル点とBのサンプル点との間にないとステップS5で判定された場合には、ステップS9で、クロス点位置PINSTが推定データ中心点位置PPICKより大きいか否かを判断する。PINSTの方が大きい場合には、ステップS10で、バイナリデータBを選択する。PINSTがPPICK以下の場合には、ステップS11で、バイナリデータCを選択する。
【0048】
図10は、1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する回路構成の一例を示す図である。図10に示す構成の回路を、図7のデータ判定回路55−1乃至55−8の各々として用いてよい。図10に示すデータ判定回路は、XOR回路70乃至72、AND回路73、負論理入力OR回路74、比較回路75及び76、及びセレクタ77乃至79を含む。比較回路75は、PINSTがPPICKよりも大きいとき、“>”側の出力を1にし、“<=”側の出力を0にする。またPINSTがPPICK以下のとき、“>”側の出力が0になり、“<=”側の出力が1になる。比較回路76は、固定値0.5がPPICKよりも大きいとき、出力を1にする。また固定値0.5がPPICK以下のとき、出力が0になる。セレクタ77乃至79の各々は、供給される選択制御信号が1の時に“1”側の入力信号を選択して出力し、選択制御信号が0の時に“0”側の入力信号を選択して出力する。
【0049】
図11は、図10の回路の動作を示す論理値テーブルである。(a)にはPINST>PPICKの場合の動作が示され、(b)にはPINST<=PPICKの場合の動作が示される。論理値テーブルには、図10に示す各信号の論理値が示されている。“X”はドントケアである。例えば、(a)にはPINST>PPICKの場合、A、B、Cがそれぞれ1、0、0であれば、SEL1がAとなることが示されている。この場合、PINSTがAとBとの間にあるのでPPICKは当然に0.5より小さく、図10の比較回路76の出力は1となる。従って、SEL1であるAの論理値1が選択されて、データ判定結果として出力される。これは図8に示す(a)において範囲60にPPICKが存在する場合に相当する。
【0050】
また例えば、(b)にはPINST≦PPICKの場合、A、B、Cがそれぞれ1、1、0であれば、SEL2がCとなることが示されている。この場合、PINSTがBとCとの間にあるのでPPICKは当然に0.5以上であり、図10の比較回路76の出力は0となる。従って、SEL2であるCの論理値0が選択されて、データ判定結果として出力される。これは図8に示す(b)において範囲65にPPICKが存在する場合に相当する。
【0051】
図7を再び参照し、データ判定回路55−1乃至55−8の各々は、上記のようにして1UIに対応する3つのバイナリデータから1つのバイナリデータを選択し、データ判定値DEC_DT[1]乃至DEC_DT[8]として出力する。なお8UI区間の一方の端のバイナリデータDT_0は、そのままデータ判定値DEC_DT[0]として追加出力される。これらのデータ判定値DEC_DT[0]乃至DEC_DT[8]に対して、適宜データの削除・追加を行なうことにより、送受信間のデータレートを調整する。以下にこのデータレートの調整について説明する。
【0052】
送受信間でデータレートが一致していれば、即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していれば、上記のようにして得られたデータ判定値DEC_DT[1]乃至DEC_DT[8]をそのまま受信データとすればよい。しかしこのように8UIに対して常に8個のデータ判定値を受信データとして抽出していたのでは、送受信間でデータレートが一致していない場合に対応できない。即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していないのであれば、あるタイミングで8UIに対して8個以上又は8個以下のデータ判定値を受信データとして抽出して、受信データの総数を調整する必要がある。
【0053】
受信データの総数を調整するために、フリップフロップ57及び比較回路58が設けられている。フリップフロップ57は、前回の動作サイクルのPPICKを格納している。比較回路58は、今回のサイクルのPPICK及びフリップフロップ57の出力(前回のサイクルのPPICK)のそれぞれを固定値0.5と比較する。今回のサイクルのPPICKが0.5より小さく且つ前回のサイクルのPPICKが0.5より大きい場合、比較回路58は第1の状態の指示信号DEC_DT_NUMを生成する。また今回のサイクルのPPICKが0.5より大きく且つ前回のサイクルのPPICKが0.5より小さい場合、比較回路58は第2の状態の指示信号DEC_DT_NUMを生成する。なお折り返し回路56で折り返される前のPPICKが1.0(UIの境界値)を跨いで推移したか否かを判定することにより、指示信号DEC_DT_NUMを生成してもよい。また加算器17(図1)で0.5を加算する前の推定クロス点位置PHOが0.5(UIの中心値)を跨いで推移したか否かを判定することにより、指示信号DEC_DT_NUMを生成してもよい。なお指示信号DEC_DT_NUMは例えば2ビットのバイナリデータであってよく、この2ビットにより、第1の状態、第2の状態、更には第1の状態でも第2の状態でもない第3の状態を指定することができる。
【0054】
図1を再び参照し、データ判定部18は、データ中心点の推定位置PPICKが遅れる方向に推移することによりデータ間隔の長さに等しい範囲内(1UI内)から範囲外に外れると第1の状態の指示信号DEC_DT_NUMを生成する。またデータ中心点の推定位置PPICKが早まる方向に推移することによりデータ間隔の長さに等しい範囲内(1UI内)から範囲外に外れると、データ判定部18は第2の状態の指示信号DEC_DT_NUMを生成する。データ判定部18は更に、データ判定値DEC_DT[1]乃至DEC_DT[8]の列に追加のデータDEC_DT[0]を加えたデータ列DEC_DT[0]乃至DEC_DT[8]を出力する。
【0055】
判定データ出力部19は、第1の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[1]乃至DEC_DT[8]の列において1つデータをスキップして7ビットのデータを出力する。判定データ出力部19はまた、第2の状態の指示信号DEC_DT_NUMに応答して9ビットのデータ列DEC_DT[0]乃至DEC_DT[8]を出力する。判定データ出力部19はまた、第1の状態でも前記第2の状態でもない第3の状態の指示信号DEC_DT_NUMに応答して8ビットのデータ判定値DEC_DT[1]乃至DEC_DT[8]の列を出力する。このような判定データ出力部19の動作は、FIFOにより容易に実現することができる。即ち判定データ出力部19を構成するFIFOが、第1の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[2]乃至DEC_DT[8]の7ビットのみを取込むようにすればよい。また判定データ出力部19を構成するFIFOが、第2の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[0]乃至DEC_DT[8]を9ビット全て取込むようにすればよい。また判定データ出力部19を構成するFIFOが、第3の状態の指示信号DEC_DT_NUMに応答してデータ判定値DEC_DT[1]乃至DEC_DT[8]の8ビットを取込むようにすればよい。この第3の状態の指示信号の場合は、データのスキップも追加もない場合に相当する。判定データ出力部19を構成するFIFOは、取込んだデータをソートして、8ビットずつ受信ユーザデータUSER_DT[7:0](即ちUSER_DT[0]乃至USER_DT[7])として出力する。
【0056】
図1に示されるように、判定データ出力部19を構成するFIFOからは、位相内挿器22が生成するクロック信号PI_CK4に同期してデータが読み出される。位相内挿器22は、分周回路21が生成する例えば625MHzの4相のクロック信号を用い、これらの4相のクロック信号を合成することにより所望の位相のクロック信号PI_CK4を生成する。この際、位相積分器15の出力である位相推定値の上位ビット(例えば6ビット)をビット切り出し回路20により切り出して、位相内挿器22に位相コードPCODEとして供給する。位相内挿器22は、クロック信号PI_CK4の位相が位相コードPCODEの示す位相値に一致するように、クロック信号PI_CK4を生成する。この位相調整により、送信側のデータレートと判定データ出力部19から読み出すデータのデータレートとを一致させることができる。なおこの位相内挿器22の位相調整の精度は、従来のCDR回路において要求される精度よりも、かなり低くても問題がない。
【0057】
図12は、データをスキップする動作を模式的に示す図である。図12において、動作サイクルT1から動作サイクルT4が示される。各動作サイクルにおいて、1つのUIが処理されるとする。また各動作サイクルの最下部に、クロス点位置PINSTと推定データ中心位置PPICKとが示される。動作サイクルT1においては、UIの3点のデータから最後(最右端)のデータD1が選択出力される。動作サイクルT2においては、UIの3点のデータから最後(最右端)のデータD2が選択出力される。動作サイクルT2から動作サイクルT3に移る際に、推定データ中心位置PPICKが遅れる方向に推移して(即ち図面上右方向に推移して)、1UIの境界を越えている。この場合、動作サイクルT3において、UIの3点のデータの最後(最右端)のデータを選択せずにスキップする。次の動作サイクルT4においては、UIの3点のデータから最初(最左端)のデータD4が選択出力される。以上のようにして、データをスキップすることにより、送受信間でのデータレートを一致させる。
【0058】
図13は、データを追加する動作を模式的に示す図である。図13において、動作サイクルT1から動作サイクルT4が示される。各動作サイクルにおいて、1つのUIが処理されるとする。また各動作サイクルの最下部に、クロス点位置PINSTと推定データ中心位置PPICKとが示される。動作サイクルT1においては、UIの3点のデータから最初(最左端)のデータD1が選択出力される。動作サイクルT2においては、UIの3点のデータから最初(最左端)のデータD2が選択出力される。動作サイクルT2から動作サイクルT3に移る際に、推定データ中心位置PPICKが進む方向に推移して(即ち図面上左方向に推移して)、1UIの境界を越えている。この場合、動作サイクルT3において、UIの3点のデータの最初(最左端)のデータD3−1と最後(最右端)のデータD3−2を選択出力する。動作サイクルT4においては、UIの3点のデータから最後(最右端)のデータD4が選択出力される。以上のようにして、データを追加することにより、送受信間でのデータレートを一致させる。
【0059】
図14は、データ復元回路の構成の別の一例を示す図である。図14において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。図14のデータ復元回路は、図1のデータ復元回路から判定データ出力部19、ビット切り出し回路20、位相内挿器22、及びバッファ23が取り除かれ、バッファ81乃至83が設けられている。即ち、図1の構成から、データスキップ又は追加によりデータレートを調整する機能が削除されている。
【0060】
データ送受信機能の実際のインプリメントでは、上位のレイヤーにてクロック乗せ換えが行われる。従って、必ずしも図1に示す実施例の場合のように、高速I/Oの物理レイヤーにてクロック乗せ換えを行う必要はない。但しこの場合、高速I/Oの物理レイヤーの出力データ幅は、常に固定のビット幅にはならない。例えば、出力データ幅は殆どの場合において8ビットであるが、入力データの変動に応じて時には7ビットであったり、9ビットであったりする。この変動を示す信号として、図1のDEC_DT_NUM[1:0]と同様の信号USER_DT_NUM[1:0]を用意している。このようにデータレート調整機能を物理レイヤーから削除することにより、図1の構成と比較して、設計開発工数に関するコスト削減が可能である。
【0061】
図15は、外部ロジックによりデータレートを調整する構成の一例を示す図である。図15に示すデータ受信回路は、図14に示すデータ復元回路90と外部ロジック91とを含む。外部ロジック91は、FIFO92とFIFOコントローラ93を含む。FIFO92とFIFOコントローラ93は、USER_CKに同期して動作する。FIFOコントローラ93は、ライトポインタWP及びリードポインタRPを指定することにより、FIFO92に対するデータ書込み及びデータ読出しを制御する。この際、FIFOコントローラ93は、データ復元回路90からのUSER_DT_NUM[1:0]に基づいて、ライトポインタWP及びリードポインタRPを設定する。
【0062】
データ復元回路90が出力するパラレルデータUSER_DTは、常に8ビットではなく、入力アナログ信号INDTに含まれるジッタに応じて、±1ビットの変動が生じる。なおこのUSER_DTは、図1の構成で説明したDEC_DTに相当するデータ信号である。上記の±1ビットの変動量を示す情報が、USER_DT_NUM[1:0]として、データ復元回路90から外部ロジック91に伝えられる。外部ロジック91は、データ復元回路90からUSER_CKに同期したUSER_DTを受け取り、この受け取ったデータをFIFO92に書き込む。FIFO92に書き込まれるデータの量は、USER_DT_NUMに応じて変化する。この書込みデータの制御は、図1の判定データ出力部19を構成するFIFOについて説明した制御と同様である。このようにしてFIFO92に書き込まれるデータの量を制御することにより、±1ビットのデータレートの変動が吸収される。
【0063】
一般に受信データの中には、上位レイヤーの仕様にて定められた調整コードが定期的に存在する。外部ロジック91は、この調整コードを利用して、送受信間のデータレートの差を吸収するフロー制御を実行する。
【0064】
図16は、外部ロジックによるフロー制御を説明するための図である。FIFOコントローラ93は、書き込みデータアドレスを示す書込みポインタWPと読み出しデータアドレスを示す読出しポインタRPを管理することにより、FIFO92に格納されているデータ量DTSIZEを理解する。(a)に示すように、DTSIZEが予め定められたある閾値データ量DTTH_TOPよりも大きくなった場合、FIFOコントローラ93は、書き込みデータレートが読み出しデータレートよりも大きいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも大きいと判断する。この場合、外部ロジック91は、定期的に存在する上記の調整コードを破棄することによって、DTSIZEをDTTH_TOPより小さくし、送受信間のデータレートの差を調整する。また(b)に示すように、DTSIZEが予め定められたある閾値データ量DTTH_BTMよりも小さくなった場合、FIFOコントローラ93は、書き込みデータレートが読み出しデータレートよりも小さいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも小さいと判断する。この場合、外部ロジック91は調整コードを挿入し、DTSIZEをDTTH_BTMより大きくし、送受信間のデータレートの差を調整する。
【0065】
このように図15に示すデータ受信回路の構成では、上位レイヤーの仕様に従って調整コードを破棄・挿入することによりデータレートを調整する機能が、FIFO92及びFIFOコントローラ93として設けられている。このFIFO92及びFIFOコントローラ93を利用して、前述のようにUSER_DT_NUM[1:0]に基づいてFIFO92への書き込みデータ量を調整すれば、データ復元回路90における±1ビットのデータレートの変動を吸収することができる。このように、図14及び図15に示す構成とすることにより、データ復元回路90単体ではなく、データ復元回路90と外部ロジック91との連携によって、データ復元におけるデータレート変動を吸収する機能を実現することができる。
【0066】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0067】
なお本発明は以下の内容を含むものである。
(付記1)
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
(付記2)
前記データ判定部は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記1記載のデータ復元回路。
(付記3)
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記1又は2記載のデータ復元回路。
(付記4)
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記1又は2記載のデータ復元回路。
(付記5)
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする付記1又は2記載のデータ復元回路。
(付記6)
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第1の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第2の状態の指示信号を生成することを特徴とする付記1乃至5いずれか一項記載のデータ復元回路。
(付記7)
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ判定値の列に1つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする付記6記載のデータ復元回路。
(付記8)
前記データ判定部は前記データ判定値の列に追加のデータを加えたデータ列を出力し、前記判定データ出力部は、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ列を出力し、前記第1の状態でも前記第2の状態でもない第3の状態の前記指示信号に応答して前記データ判定値の列を出力することを特徴とする付記7記載のデータ復元回路。
(付記9)
(a)データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
(b)前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
(c)前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
(d)前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
(付記10)
前記段階(d)は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記9記載のデータ復元方法。
(付記11)
前記段階(c)は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記9又は10記載のデータ復元方法。
(付記12)
前記段階(c)は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記9又は10記載のデータ復元方法。
(付記13)
前記段階(c)は、
前記クロス点の位置と推定クロス点位置との差分を求め、
前記差分を時間的に積分することにより前記推定クロス点位置を求め
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める
各段階を含むことを特徴とする付記9又は10記載のデータ復元方法。
(付記14)
(e)前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列において1つデータをスキップし、
(f)前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列に1つデータを追加する
段階を更に含むことを特徴とする付記9乃至13いずれか一項記載のデータ復元方法。
(付記15)
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
(付記16)
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信回路。
【図面の簡単な説明】
【0068】
【図1】データ復元回路の構成の一例を示す図である。
【図2】位相検出器の動作を説明するための図である。
【図3】位相検出器のゼロクロスベクトル検出部の構成の一例を示す図である。
【図4】位相差分器の構成の一例を示す図である。
【図5】位相検出器の遷移フラグ生成部の構成の一例を示す図である。
【図6】位相検出器の2値判定回路の構成の一例を示す図である。
【図7】データ判定部の構成の一例を示す図である。
【図8】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を説明するための図である。
【図9】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する選択方法を示すフローチャートである。
【図10】1UIに対応する3つのバイナリデータから1つのバイナリデータを選択する回路構成の一例を示す図である。
【図11】図10の回路の動作を示す論理値テーブルである。
【図12】データをスキップする動作を模式的に示す図である。
【図13】データを追加する動作を模式的に示す図である。
【図14】データ復元回路の構成の別の一例を示す図である。
【図15】外部ロジックによりデータレートを調整する構成の一例を示す図である。
【図16】外部ロジックによるフロー制御を説明するための図である。
【符号の説明】
【0069】
10−1〜10−4 アナログデジタル変換器
11 デマルチプレクサ
12 位相検出器
13 位相差分器
14 位相積分器
15 位相積分器
16 加算器
17 加算器
18 データ判定部
19 判定データ出力部
20 ビット切り出し回路
21 分周回路
22 位相内挿器
23 バッファ
【特許請求の範囲】
【請求項1】
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項2】
前記データ判定部は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする請求項1記載のデータ復元回路。
【請求項3】
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする請求項1又は2記載のデータ復元回路。
【請求項4】
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする請求項1又は2記載のデータ復元回路。
【請求項5】
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする請求項1又は2記載のデータ復元回路。
【請求項6】
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第1の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第2の状態の指示信号を生成することを特徴とする請求項1乃至5いずれか一項記載のデータ復元回路。
【請求項7】
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ判定値の列に1つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする請求項6記載のデータ復元回路。
【請求項8】
(a)データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
(b)前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
(c)前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
(d)前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
【請求項9】
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項10】
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信装置。
【請求項1】
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項2】
前記データ判定部は、前記デジタルコードの列を2値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする請求項1記載のデータ復元回路。
【請求項3】
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする請求項1又は2記載のデータ復元回路。
【請求項4】
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする請求項1又は2記載のデータ復元回路。
【請求項5】
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする請求項1又は2記載のデータ復元回路。
【請求項6】
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第1の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第2の状態の指示信号を生成することを特徴とする請求項1乃至5いずれか一項記載のデータ復元回路。
【請求項7】
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第1の状態の指示信号に応答して前記データ判定値の列において1つデータをスキップしてデータを出力し、前記第2の状態の指示信号に応答して前記データ判定値の列に1つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする請求項6記載のデータ復元回路。
【請求項8】
(a)データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
(b)前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
(c)前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
(d)前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
【請求項9】
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項10】
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を2値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−130366(P2010−130366A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−303080(P2008−303080)
【出願日】平成20年11月27日(2008.11.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月27日(2008.11.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]