(57)【要約】【課題】安定した動作を容易に実現することができるデータ復元回路を提供する。【解決手段】データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含む。【選択図】図１
2010130366.tif 000002
【特許請求の範囲】
【請求項１】
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項２】
前記データ判定部は、前記デジタルコードの列を２値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする請求項１記載のデータ復元回路。
【請求項３】
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする請求項１又は２記載のデータ復元回路。
【請求項４】
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする請求項１又は２記載のデータ復元回路。
【請求項５】
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする請求項１又は２記載のデータ復元回路。
【請求項６】
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第１の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第２の状態の指示信号を生成することを特徴とする請求項１乃至５いずれか一項記載のデータ復元回路。
【請求項７】
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第１の状態の指示信号に応答して前記データ判定値の列において１つデータをスキップしてデータを出力し、前記第２の状態の指示信号に応答して前記データ判定値の列に１つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする請求項６記載のデータ復元回路。
【請求項８】
（ａ）データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
（ｂ）前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
（ｃ）前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
（ｄ）前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
【請求項９】
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
【請求項１０】
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、一般に受信回路に関し、詳しくは受信側で生成したクロック信号に基づいてデータを復元するデータ復元回路及び方法に関する。
【背景技術】
【０００２】
コンピュータやその他の情報処理機器を構成するＳＲＡＭ、ＤＲＡＭ、プロセッサ、スイッチ用ＬＳＩ等の部品の性能は、大きく向上してきた。しかしながら各部品の性能が向上しても、部品間の信号伝送速度を向上させなければ、システム性能を向上させることができない。例を挙げると、近年、ＳＲＡＭやＤＲＡＭ等のメモリとプロセッサとの間の速度のギャップが大きくなる傾向にあり、この速度ギャップがコンピュータの性能向上の妨げになりつつある。またチップ間の信号伝送だけでなく、チップの大型化に伴い、チップ内の素子や回路ブロック間の信号伝送速度も、チップ性能を制限する大きな要因となってきている。更には、周辺機器とプロセッサやチップセットとの間の信号伝送もシステム全体の性能を制限する要素になっている。
【０００３】
一般に、回路ブロック間、チップ間、あるいは筐体内の高速信号伝送では、受信側において受信データからクロックを発生（復元）し、この復元したクロックを用いてデータの０／１判定を行なう。この際、正しい信号受信が行なえるよう、回路内部のフィードバック回路により復元クロックの位相を調整し、復元クロックと受信データとが一定の位相関係となるように設定する。このようにクロックを復元し、それを使ってデータを判定することをＣＤＲ（Clock and Data Recovery）という。ＣＤＲは高速信号伝送にとって最も重要な技術の１つである。
【０００４】
ＣＤＲを実現するためには、データ受信を行うための内部クロック信号を発生し、その内部クロック信号の位相と入力データ信号の位相とを比較し、その比較結果に基づいて内部クロック信号の位相を調整するフィードバック回路が用いられる。具体的には、まず、生成した内部クロック信号の例えば立ち上がりエッジのタイミングに同期して、データ判定回路により入力データの論理判定（０／１判定）を行う。この際、入力データのアイの中心近辺にて判定したデータＲＤＴと、入力データの遷移点近辺にて判定したデータＢＤＴとを求める。このＲＤＴが０／１間で遷移した場合に、ＢＤＴが遷移前のＲＤＴデータと遷移後のＲＤＴデータとの何れに一致しているのかを判定すれば、内部クロック信号の位相が入力データの位相に比べて早いのか遅いのかを知ることができる。この早いか遅いかの位相関係に応じて、内部クロック信号の立ち上がりエッジのタイミングを調整し、内部クロック信号の立ち上がりエッジが入力データのアイの中心近辺に位置するように制御する。これにより、入力データの揺らぎ（ジッタ）に追従して内部クロック信号のタイミングを調整し、正しくデータ判定することができる。
【０００５】
従来のＣＤＲの構成の場合、入力データのジッタ量を検出する能力は、内部クロック信号の位相シフト精度に依存する。例えば内部クロック信号の位相分解能が６ビットである場合、内部クロック信号の位相を０．０１５６２５（＝２−６）ＵＩ（Unit Interval）ステップにて変化させることができる。つまり、０．０１５６２５ＵＩ精度にてジッタを検出することができる。入力データのサンプリングタイミングを動的に変化させるフィードバック構成のＣＤＲ回路では、この例のような非常に高い検出感度が必要とされる。
【０００６】
従来構成のＣＤＲ回路では、クロック信号の位相を変化させるために、ＰＩ（Phase Interpolator）等のアナログ要素回路を使用していた。そのために、ＰＩの動作がプロセスばらつきや電源電圧変動等の影響を受け易く、ＣＤＲ回路の位相追従特性もそれに応じて変動してしまう。その結果、安定して動作するＣＤＲ回路を設計するためには、様々な要因を考慮して解決する必要があり、開発工数が増大するという問題があった。
【非特許文献１】Hideki Takauchi他著，“A CMOS Multi-Channel 10Gb/s Transceiver,”2003 IEEE International Solid-State Circuits Conference，２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上を鑑みると、安定した動作を容易に実現することができるデータ復元回路を提供することが望まれる。
【課題を解決するための手段】
【０００８】
データ復元回路は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【０００９】
データ復元方法は、データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する各段階を含むことを特徴とする。
【００１０】
データ復元回路は、入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部とを含むことを特徴とする。
【００１１】
データ受信装置入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部とを含み、前記データ復元回路は、前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部とを含み、前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とする。
【発明の効果】
【００１２】
本願開示の少なくとも１つの実施例によれば、入力信号を固定のサンプルタイミングでアナログデジタル変換してデジタルコードの列を得て、このデジタルコードの列を補間することにより求めたデータの遷移点に基づいて、サンプルされたデータを取捨選択する。入力信号を固定のサンプルタイミングで取り込むので、入力信号をサンプルするためのクロック信号を受信側でフィードバック制御により位相調整する必要が無く、また位相推定によるデータ判定をデジタル処理により行なっている。従って、プロセスばらつきや電源電圧変動等の影響を受けることなく、安定したデ―タ復元動作を行なうことができる。またそのような安定動作を行なうデータ復元回路を容易に設計することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１４】
図１は、データ復元回路の構成の一例を示す図である。図１のデータ復元回路は主に、位相検出器１２、位相差分器１３、位相積分器１４、位相積分器１５、加算器１６、加算器１７、データ判定部１８、判定データ出力部１９、及びビット切り出し回路２０を含む。またデータ復元回路は更に、アナログデジタル変換器（ＡＤＣ）１０−１乃至１０−４、デマルチプレクサ（ＤＥＭＵＸ）１１、分周回路（ＦＤＩＶ）２１、位相内挿器（ＰＩ）２２、及びバッファ２３を含む。
【００１５】
アナログデジタル変換器１０−１乃至１０−４は、データ列を表す入力アナログ信号ＩＮＤＴをクロック信号ＣＫ１に同期してアナログデジタル変換することにより、データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成する。ここでクロック信号ＣＫ１は９０°ずつ位相が異なる４相のクロック信号であり、これら４相のクロック信号により、０°位相、９０°位相、１８０°位相、２７０°位相のタイミングで、入力アナログ信号ＩＮＤＴをサンプリングする。図１の例では、入力アナログ信号ＩＮＤＴは５Ｇビット／秒を想定しており、クロック信号ＣＫ１の周波数は２．５ＧＨｚを想定している。従って、上記の４相のクロック信号により、入力アナログ信号ＩＮＤＴのデータ列のデータ間隔（２００ｐｓ）である１ＵＩ（１ユニットインターバル）毎に２点のサンプリングがなされる。このサンプリングにより、入力アナログ信号ＩＮＤＴの振幅値をデジタル値で表現したデジタルコードの列ＡＤＣ＿ＣＯＤＥ０乃至ＡＤＣ＿ＣＯＤＥ３が得られる。
【００１６】
デマルチプレクサ１１は、分周回路２１がクロック信号ＣＫ１を分周して生成した１．２５ＧＨｚのクロック信号ＣＫ２を同期信号として、デジタルコードの列ＡＤＣ＿ＣＯＤＥ０乃至ＡＤＣ＿ＣＯＤＥ３に対して４：１６のデマルチプレックスを行なう。即ち、デマルチプレクサ１１は、デジタルコードＡＤＣ＿ＣＯＤＥ０乃至ＡＤＣ＿ＣＯＤＥ３の各々を時間軸上で１：４にデマルチプレックスすることにより、各デジタルコードに対して４つのコードを並列に出力する。その結果、デマルチプレクサ１１の出力は、６２５ＭＨｚのクロック信号に同期して１６個のデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿Ｆ（Ｆは１５を表記する１６進数）が並列に出力されるデジタルコードの列となる。
【００１７】
上記のようなアナログデジタル変換器１０−１乃至１０−４及びデマルチプレクサ１１の処理により、１ビットの高速データをシリアルパラレル変換して１６ビット毎に纏め、１６ビットのパラレルデータである低速データを生成する。これにより、５Ｇビット／秒のデータレートを６２５Ｍｂｐｓのデータレートに低下させ、以降のデジタル処理を実現可能としている。なお１６ビットのパラレルデータは入力アナログ信号ＩＮＤＴの８ＵＩ（ユニットインターバル）のデータに相当し、以下に説明する後段のデジタル処理では、この８ＵＩのデータを纏めてパラレルに処理している。なお上記のデータレートの変換は必ずしも必要な処理ではなく、デジタル処理が高速で実現できるのであればデータレートを落とす必要はない。また８ＵＩ毎の処理は単なる一例であり、任意の数のＵＩ毎に処理してよく、例えば４ＵＩ毎の処理であってもよいし、１ＵＩ毎の処理であってもよい。
【００１８】
図１に示す位相検出器１２、位相差分器１３、位相積分器１４、位相積分器１５、加算器１６、加算器１７、データ判定部１８、判定データ出力部１９、及びビット切り出し回路２０で構成されるデジタル処理回路には、クロック信号ＣＫ４が供給される。このクロック信号ＣＫ４は、分周回路２１がクロック信号ＣＫ１を分周することにより生成する周波数が６２５ＭＨｚの信号である。クロック信号ＣＫ４に同期して、上記のデジタル処理回路の各部分が動作し、入力アナログ信号ＩＮＤＴの８ＵＩに相当する１６ビットのパラレルデータに対するデジタル処理を実行する。
【００１９】
図２は、位相検出器１２の動作を説明するための図である。図２において、座標点３１乃至３３は、１６個のデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿Ｆからなるデジタルコードの列において、連続する３つのデジタルコードに対応する。この連続する３つのデジタルコードは、例えばＤＭＸ＿ＤＴ＿０、ＤＭＸ＿ＤＴ＿１、ＤＭＸ＿ＤＴ＿２である。この場合、座標点３１の横方向の位置はＤＭＸ＿ＤＴ＿０のサンプルタイミングに相当し、座標点３１の縦方向の位置はＤＭＸ＿ＤＴ＿０のデジタルコードの値に相当する。同様に、座標点３２の横方向の位置はＤＭＸ＿ＤＴ＿１のサンプルタイミングに相当し、座標点３２の縦方向の位置はＤＭＸ＿ＤＴ＿１のデジタルコードの値に相当する。更に、座標点３３の横方向の位置はＤＭＸ＿ＤＴ＿２のサンプルタイミングに相当し、座標点３３の縦方向の位置はＤＭＸ＿ＤＴ＿２のデジタルコードの値に相当する。
【００２０】
各サンプルタイミングの間の間隔は、図１の例の場合、２．５ＧＨｚのクロック信号のサイクルの１／４（即ち１００ｐｓ）に一致する。この場合、図２に示す横軸方向の各サンプル間隔が１００ｐｓに相当し、座標点３１と３３との間の間隔は２００ｐｓである。この座標点３１と３３との間の間隔２００ｐｓは、入力アナログ信号ＩＮＤＴの１ＵＩ（ユニットインターバル）に相当する。
【００２１】
位相検出器１２は、デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置ＺＣとデジタルコードの列を補間して得られる線分とが交差するクロス点の位置をデジタルコードの列から算出する。図２において、デジタルコードの列を補間して得られる線分３４及び線分３５が示される。線分３４は、座標点３１及び３２の間を線形補完することにより得られる。線分３５は、座標点３２及び３３の間を線形補完することにより得られる。デジタルコードが値を取り得る範囲は、例えばデジタルコードが５ビットの場合、０〜３１である。この場合、デジタルコードが値を取り得る範囲０〜３１の中心にあるコード値１５．５が位置ＺＣとなる。位相検出器１２は、この位置ＺＣにある水平線と上記の補間により求めた線分とが交差するクロス点の位置ＰＩＮＳＴをデジタル計算により求める。なお上記中心のコード値としては、整数値（例えば１５又は１６）に丸めた値を用いてもよい。位置ＰＩＮＳＴは、当該ＵＩの左端からクロス点までの距離を所定のビット数で表現したものであってよい。
【００２２】
図３は、位相検出器１２のゼロクロスベクトル検出部２５の構成の一例を示す図である。図３に示す位相検出器１２は、ゼロクロスベクトル検出回路３７−１乃至３７−８及びフリップフロップ３８を含む。ゼロクロスベクトル検出回路３７−１乃至３７−８の各々は、対応する１ＵＩ区間に対して前記のクロス点の位置ＰＩＮＳＴを計算する。これにより８ＵＩに対する８個のクロス点の位置ＰＩＮＳＴが並列に計算される。
【００２３】
ゼロクロスベクトル検出回路３７−１は、デマルチプレクサ１１からデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿２を受け取り、対応するクロス点の位置ＰＩＮＳＴ＿０を出力する。ゼロクロスベクトル検出回路３７−２は、デマルチプレクサ１１からデジタルコードＤＭＸ＿ＤＴ＿２乃至ＤＭＸ＿ＤＴ＿４を受け取り、対応するクロス点の位置ＰＩＮＳＴ＿１を出力する。ゼロクロスベクトル検出回路３７−３は、デマルチプレクサ１１からデジタルコードＤＭＸ＿ＤＴ＿４乃至ＤＭＸ＿ＤＴ＿６を受け取り、対応するクロス点の位置ＰＩＮＳＴ＿２を出力する。以下同様に、ゼロクロスベクトル検出回路３７−４乃至３７−７は、デマルチプレクサ１１から対応するデジタルコードを受け取り、対応するクロス点の位置ＰＩＮＳＴ＿３乃至ＰＩＮＳＴ＿６を出力する。ゼロクロスベクトル検出回路３７−８は、デマルチプレクサ１１からデジタルコードＤＭＸ＿ＤＴ＿Ｅ及びＤＭＸ＿ＤＴ＿Ｆを受け取る。ゼロクロスベクトル検出回路３７−８は更に、フリップフロップ３８が保持する前回の動作サイクルの８ＵＩの端に位置するデジタルコードＤＭＸ＿ＤＴ＿０をＤＭＸ＿ＤＴ＿Ｇとして受け取る。これらに基づいて、ゼロクロスベクトル検出回路３７−８は対応するクロス点の位置ＰＩＮＳＴ＿７を出力する。
【００２４】
図１を再び参照し、位相差分器１３、位相積分器１４、位相積分器１５、加算器１６、及び加算器１７が位相推定器を構成する。位相推定器は、上記のようにして求めたクロス点の位置ＰＩＮＳＴに基づいて、入力アナログ信号ＩＮＤＴのデータ列のデータ中心点の推定位置ＰＰＩＣＫを求める。具体的には、位相差分器１３、位相積分器１４、位相積分器１５、及び加算器１６により、クロス点の位置ＰＩＮＳＴの時間的な平均位置ＰＨＯを求める。加算器１７が、この平均位置ＰＨＯをデータ間隔の略半分に等しい変位（０．５ＵＩ）だけずらすことにより、データ中心点の推定位置ＰＰＩＣＫを求める。
【００２５】
クロス点の位置ＰＩＮＳＴの時間的な平均位置ＰＨＯは、クロス点の推定位置であり、位相差分器１３に供給される。位相差分器１３は、クロス点の位置ＰＩＮＳＴと推定クロス点位置ＰＨＯとの差分を求める。位相積分器１４及び１５は、位相差分器１３が求めた差分を時間的に積分することにより、推定クロス点位置ＰＨＯを求める。このようなデジタル領域でのフィードバック制御により、瞬時的なクロス点の位置ＰＩＮＳＴの変動に追従しながらも安定的に変化する推定クロス点位置ＰＨＯが得られる。
【００２６】
図４は、位相差分器１３の構成の一例を示す図である。位相差分器１３は、減算器４０−１乃至４０−８、セレクタ４１−１乃至４１−８、及び平均化回路４２を含む。減算器４０−１乃至４０−８は、８ＵＩに対応するクロス点位置ＰＩＮＳＴ＿０乃至ＰＩＮＳＴ＿７を位相検出器１２から受け取る。減算器４０−１乃至４０−８は更に、推定クロス点位置ＰＨＯを受け取る。減算器４０−１乃至４０−８の各々は、対応するクロス点位置と推定クロス点位置ＰＨＯとの差分を求め、その差分値をセレクタ４１−１乃至４１−８に供給する。セレクタ４１−１乃至４１−８はそれぞれ、対応する遷移フラグＴＲＡＮ０乃至７に応じて、減算器４０−１乃至４０−８から供給される対応する差分値又は固定値０を選択して出力する。対応する遷移フラグが０の時には固定値０が選択出力され、対応する遷移フラグが１の時には差分値が選択出力される。
【００２７】
図５は、位相検出器１２の遷移フラグ生成部２６の構成の一例を示す図である。遷移フラグ生成部２６は、ＸＯＲ回路列４５及び複数のＯＲ回路４６−１乃至４６−８を含む。ＸＯＲ回路列４５は、デマルチプレクサ１１からのデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿Ｇの列を受け取り、隣接する２つのデジタルコードの対の各々について、隣接する２つのデジタルコード間のＸＯＲを計算する。なおこのＸＯＲの計算は、例えば２つのデジタルコードそれぞれの最上位ビットのみに着目して、それら２つのビットのＸＯＲを計算すればよい。なおここでＤＭＸ＿ＤＴ＿Ｇは、前述のように、前回の８ＵＩの端に位置するデジタルコードＤＭＸ＿ＤＴ＿０である。
【００２８】
ＯＲ回路４６−１乃至４６−８は、８つのＵＩのそれぞれに対して設けられる。ＯＲ回路４６−１乃至４６−８の各々は、１ＵＩに対応する３つのデジタルコードに対して求められた２つのＸＯＲ計算値間のＯＲを計算する。これにより、対応する１ＵＩにおいてデータ遷移が１回でもあれば（即ち上記のクロス点がひとつでもあれば）、ＯＲ回路４６−１乃至４６−８の出力である遷移フラグＴＲＡＮ＿０乃至ＴＲＡＮ＿７は１となる。
【００２９】
図４を再び参照し、平均化回路４２は、セレクタ４１−１乃至４１−８からの差分値の平均値を求める。この平均値演算において、セレクタ４１−１乃至４１−８から入力される固定値０については無視してよい。これにより、データ遷移が起きているＵＩについてのみ、クロス点位置ＰＩＮＳＴと推定クロス点位置ＰＨＯとの差分の平均値ＰＨ＿ＡＶＧを求めることができる。
【００３０】
図１を再び参照し、位相積分器１４は、差分の平均値ＰＨ＿ＡＶＧに対する積分演算を実行する。位相積分器１４は、利得乗算器１４−１及び積分器１４−２を含む。利得乗算器１４−１は、入力される差分平均値ＰＨ＿ＡＶＧに所定の利得係数ｇ１を乗算し、乗算の結果を出力する。積分器１４−２は、利得乗算器１４−１からの乗算結果を積分する。具体的には、積分器１４−２は、今回のサイクルの利得乗算器１４−１からの乗算結果を前回のサイクルの積分結果に加算し、その加算の結果を今回のサイクルの積分結果として保持する。そのような積分器は、加算器とフリップフロップとにより構成することができる。
【００３１】
位相積分器１５は、所定の利得係数ｇ２を乗算する利得乗算器１５−１及び利得乗算器１５−１の出力を積分する積分器１５−２を含む。位相積分器１５の動作は位相積分器１４と同様であるが、位相積分器１５の入力は位相積分器１４が求めた積分結果である。加算器１６が位相積分器１４の求めた積分結果と位相積分器１５の求めた積分結果とを加算することにより、推定クロス点位置ＰＨＯを求める。なお位相積分器１５は必ずしも必要ではなく、送信側クロック信号と受信側クロック信号との差分の変化特性に応じて、その要否を判断すればよい。
【００３２】
データ判定部１８は、８ＵＩに対応するクロス点位置ＰＩＮＳＴ＿０乃至ＰＩＮＳＴ＿７と０／１判定結果ＤＴ＿０乃至ＤＴ＿１６とを位相検出器１２から受け取るとともに、データ中心点の推定位置ＰＰＩＣＫを加算器１７から受け取る。ここで判定結果ＤＴ＿０乃至ＤＴ＿１６は、デマルチプレクサ１１からのデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿Ｇのそれぞれを０又は１に２値判定することにより得られる。
【００３３】
図６は、位相検出器１２の２値判定回路２７の構成の一例を示す図である。図６に示す２値判定回路２７は、ＭＳＢ抽出回路列５０を含む。ＭＳＢ抽出回路列５０は、デマルチプレクサ１１からのデジタルコードＤＭＸ＿ＤＴ＿０乃至ＤＭＸ＿ＤＴ＿Ｇのそれぞれの最上位ビットを抽出して、各々が１ビットのバイナリデータとして１７個の０／１判定結果ＤＴ＿０乃至ＤＴ＿１６を生成する。
【００３４】
図７は、データ判定部１８の構成の一例を示す図である。データ判定部１８は、クロス点の位置ＰＩＮＳＴ＿０乃至ＰＩＮＳＴ＿７とデータ中心点の推定位置ＰＰＩＣＫとに基づいて、デジタルコードの列からデータ判定値の列を抽出する。具体的には、デジタルコードの列を２値判定することにより得られるバイナリデータＤＴ＿０乃至ＤＴ＿１６の列から、バイナリデータを取捨選択することにより、データ判定値の列が抽出される。
【００３５】
図７のデータ判定部１８は、データ判定回路５５−１乃至５５−８、折り返し回路５６、フリップフロップ５７、及び比較回路５８を含む。折り返し回路５６は、推定データ中心点位置ＰＰＩＣＫが１未満の場合にＰＰＩＣＫをそのまま出力し、推定データ中心点位置ＰＰＩＣＫが１以上の場合に、ＰＰＩＣＫ−１を新たなＰＰＩＣＫとして出力する。なお推定データ中心点位置ＰＰＩＣＫが０以下になる場合があれば、折り返し回路５６はＰＰＩＣＫ＋１を新たなＰＰＩＣＫとして出力してよい。この折り返し回路５６の処理により、推定データ中心点位置が常に着目ＵＩの範囲内に存在することになる。
【００３６】
データ判定回路５５−１乃至５５−８は、８つのＵＩにそれぞれ対応して設けられる。データ判定回路５５−１乃至５５−８の各々は、１ＵＩに対応する３つのバイナリデータ（０／１判定結果）から１つのバイナリデータを選択し、データ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］として出力する。１ＵＩに対して１つのバイナリデータを選択する際には、当該ＵＩ内に位置する推定データ中心点位置ＰＰＩＣＫと当該ＵＩに対応するクロス点の位置ＰＩＮＳＴとを参照する。
【００３７】
図８は、１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する選択方法を説明するための図である。図８（ａ）において、バイナリデータＡ乃至Ｃは、着目している１ＵＩに属するデジタルコードの０／１判定結果である。この例では、バイナリデータＡは１であり、バイナリデータＢ及びＣは０である。参照番号６０乃至６２は、着目ＵＩ内の互いに重複しない範囲を示す。範囲６０は、着目ＵＩの左端（左端の点を含む）からクロス点位置ＰＩＮＳＴ（クロス点を含まない）までの範囲である。範囲６１は、クロス点位置ＰＩＮＳＴ（クロス点を含む）からバイナリデータＢのサンプル点（サンプル点を含まない）までの範囲である。範囲６２は、バイナリデータＢのサンプル点（サンプル点を含む）から着目ＵＩの右端（右端の点を含まない）までの範囲である。
【００３８】
図８（ａ）において最下部に示すＡ、Ｂ、Ｃの表記は、それぞれ対応する範囲６０、６１、６２に推定データ中心点位置ＰＰＩＣＫが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲６０に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＡを選択する。範囲６１に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。範囲６２に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＣを選択する。基本的に、クロス点の位置を境界と考えたときに、推定データ中心点位置ＰＰＩＣＫが位置する側と同じ側にあるサンプル点のバイナリデータを選択すればよい。例えば、範囲６１の場合には、バイナリデータＢを選択してもバイナリデータＣを選択しても結果は同じである。
【００３９】
図８（ｂ）において、（ａ）と同様に、バイナリデータＡ乃至Ｃは着目している１ＵＩに属するデジタルコードの０／１判定結果である。バイナリデータＡ及びＢは１であり、バイナリデータＣは０である。参照番号６３乃至６５は、着目ＵＩ内の互いに重複しない範囲を示す。範囲６３は、着目ＵＩの左端（左端の点を含む）からバイナリデータＢのサンプル点（サンプル点を含まない）までの範囲である。範囲６４は、バイナリデータＢのサンプル点（サンプル点を含む）からクロス点位置ＰＩＮＳＴ（クロス点を含まない）までの範囲である。範囲６５は、クロス点位置ＰＩＮＳＴ（クロス点を含む）から着目ＵＩの右端（右端の点を含まない）までの範囲である。
【００４０】
図８（ｂ）において最下部に示すＡ、Ｂ、Ｃの表記は、それぞれ対応する範囲６３、６４、６５に推定データ中心点位置ＰＰＩＣＫが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲６３に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＡを選択する。範囲６４に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。範囲６５に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＣを選択する。クロス点の位置を境界と考えたときに、推定データ中心点位置ＰＰＩＣＫが位置する側と同じ側にあるサンプル点のバイナリデータを選択するという原理は前述の場合と同様である。
【００４１】
図８（ｃ）において、バイナリデータＡ乃至Ｃは全て１である。参照番号６６及び６７は、着目ＵＩ内の互いに重複しない範囲を示す。範囲６６は、着目ＵＩの左端（左端の点を含む）からバイナリデータＢのサンプル点（サンプル点を含まない）までの範囲である。範囲６７は、バイナリデータＢのサンプル点（サンプル点を含む）から着目ＵＩの右端（右端の点を含まない）までの範囲である。
【００４２】
図８（ｃ）において最下部に示すＢ、Ｂの表記は、それぞれ対応する範囲６６、６７に推定データ中心点位置ＰＰＩＣＫが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲６６に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。範囲６７に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。この場合、バイナリデータＡ乃至Ｃは全て同一であるので、何れのデータを選択してもよく、何れを選択しても結果は同じである。バイナリデータＡ乃至Ｃは全て０の場合も同様である。
【００４３】
図８（ｄ）において、バイナリデータＡ、Ｂ、Ｃはそれぞれ０、１、０である。参照番号６８及び６９は、着目ＵＩ内の互いに重複しない範囲を示す。範囲６８は、着目ＵＩの左端（左端の点を含む）からバイナリデータＢのサンプル点（サンプル点を含まない）までの範囲である。範囲６９は、バイナリデータＢのサンプル点（サンプル点を含む）から着目ＵＩの右端（右端の点を含まない）までの範囲である。
【００４４】
図８（ｄ）において最下部に示すＢ、Ｂの表記は、それぞれ対応する範囲６８、６９に推定データ中心点位置ＰＰＩＣＫが属する場合に、選択すべきバイナリデータを示す。即ち、例えば範囲６８に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。範囲６９に推定データ中心点位置ＰＰＩＣＫが属する場合には、バイナリデータＢを選択する。即ち、クロス点が２回現れる場合には、中心の値であるバイナリデータＢを常に選択する。バイナリデータＡ、Ｂ、Ｃがそれぞれ１、０、１の場合も同様であり、データ判定値としてバイナリデータＢの０が選択される。
【００４５】
図９は、１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する選択方法を示すフローチャートである。ステップＳ１で、着目ＵＩにおいてデータ遷移があるか否かを判定する。データ遷移がない場合には、ステップＳ２で、中心のバイナリデータＢを選択する。ステップＳ１でデータ遷移が有りと判断された場合には、ステップＳ３で、遷移数が１であるか否かを判定する。遷移数が１でない場合には遷移が２回起きていることになり、ステップＳ４で、中心のバイナリデータＢを選択する。ステップＳ３で遷移数が１と判断された場合には、ステップＳ５で、遷移がＡのサンプル点とＢのサンプル点との間にあるか否かを判定する。
【００４６】
遷移がＡのサンプル点とＢのサンプル点との間にあるとステップＳ５で判定された場合には、ステップＳ６で、クロス点位置ＰＩＮＳＴが推定データ中心点位置ＰＰＩＣＫより大きいか否かを判断する。ＰＩＮＳＴの方が大きい場合には、ステップＳ７で、バイナリデータＡを選択する。ＰＩＮＳＴがＰＰＩＣＫ以下の場合には、ステップＳ８で、バイナリデータＢを選択する。
【００４７】
遷移がＡのサンプル点とＢのサンプル点との間にないとステップＳ５で判定された場合には、ステップＳ９で、クロス点位置ＰＩＮＳＴが推定データ中心点位置ＰＰＩＣＫより大きいか否かを判断する。ＰＩＮＳＴの方が大きい場合には、ステップＳ１０で、バイナリデータＢを選択する。ＰＩＮＳＴがＰＰＩＣＫ以下の場合には、ステップＳ１１で、バイナリデータＣを選択する。
【００４８】
図１０は、１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する回路構成の一例を示す図である。図１０に示す構成の回路を、図７のデータ判定回路５５−１乃至５５−８の各々として用いてよい。図１０に示すデータ判定回路は、ＸＯＲ回路７０乃至７２、ＡＮＤ回路７３、負論理入力ＯＲ回路７４、比較回路７５及び７６、及びセレクタ７７乃至７９を含む。比較回路７５は、ＰＩＮＳＴがＰＰＩＣＫよりも大きいとき、“＞”側の出力を１にし、“＜＝”側の出力を０にする。またＰＩＮＳＴがＰＰＩＣＫ以下のとき、“＞”側の出力が０になり、“＜＝”側の出力が１になる。比較回路７６は、固定値０．５がＰＰＩＣＫよりも大きいとき、出力を１にする。また固定値０．５がＰＰＩＣＫ以下のとき、出力が０になる。セレクタ７７乃至７９の各々は、供給される選択制御信号が１の時に“１”側の入力信号を選択して出力し、選択制御信号が０の時に“０”側の入力信号を選択して出力する。
【００４９】
図１１は、図１０の回路の動作を示す論理値テーブルである。（ａ）にはＰＩＮＳＴ＞ＰＰＩＣＫの場合の動作が示され、（ｂ）にはＰＩＮＳＴ＜＝ＰＰＩＣＫの場合の動作が示される。論理値テーブルには、図１０に示す各信号の論理値が示されている。“Ｘ”はドントケアである。例えば、（ａ）にはＰＩＮＳＴ＞ＰＰＩＣＫの場合、Ａ、Ｂ、Ｃがそれぞれ１、０、０であれば、ＳＥＬ１がＡとなることが示されている。この場合、ＰＩＮＳＴがＡとＢとの間にあるのでＰＰＩＣＫは当然に０．５より小さく、図１０の比較回路７６の出力は１となる。従って、ＳＥＬ１であるＡの論理値１が選択されて、データ判定結果として出力される。これは図８に示す（ａ）において範囲６０にＰＰＩＣＫが存在する場合に相当する。
【００５０】
また例えば、（ｂ）にはＰＩＮＳＴ≦ＰＰＩＣＫの場合、Ａ、Ｂ、Ｃがそれぞれ１、１、０であれば、ＳＥＬ２がＣとなることが示されている。この場合、ＰＩＮＳＴがＢとＣとの間にあるのでＰＰＩＣＫは当然に０．５以上であり、図１０の比較回路７６の出力は０となる。従って、ＳＥＬ２であるＣの論理値０が選択されて、データ判定結果として出力される。これは図８に示す（ｂ）において範囲６５にＰＰＩＣＫが存在する場合に相当する。
【００５１】
図７を再び参照し、データ判定回路５５−１乃至５５−８の各々は、上記のようにして１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択し、データ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］として出力する。なお８ＵＩ区間の一方の端のバイナリデータＤＴ＿０は、そのままデータ判定値ＤＥＣ＿ＤＴ［０］として追加出力される。これらのデータ判定値ＤＥＣ＿ＤＴ［０］乃至ＤＥＣ＿ＤＴ［８］に対して、適宜データの削除・追加を行なうことにより、送受信間のデータレートを調整する。以下にこのデータレートの調整について説明する。
【００５２】
送受信間でデータレートが一致していれば、即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していれば、上記のようにして得られたデータ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］をそのまま受信データとすればよい。しかしこのように８ＵＩに対して常に８個のデータ判定値を受信データとして抽出していたのでは、送受信間でデータレートが一致していない場合に対応できない。即ち送信側クロック周波数と受信側クロック周波数とが平均的に一致していないのであれば、あるタイミングで８ＵＩに対して８個以上又は８個以下のデータ判定値を受信データとして抽出して、受信データの総数を調整する必要がある。
【００５３】
受信データの総数を調整するために、フリップフロップ５７及び比較回路５８が設けられている。フリップフロップ５７は、前回の動作サイクルのＰＰＩＣＫを格納している。比較回路５８は、今回のサイクルのＰＰＩＣＫ及びフリップフロップ５７の出力（前回のサイクルのＰＰＩＣＫ）のそれぞれを固定値０．５と比較する。今回のサイクルのＰＰＩＣＫが０．５より小さく且つ前回のサイクルのＰＰＩＣＫが０．５より大きい場合、比較回路５８は第１の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成する。また今回のサイクルのＰＰＩＣＫが０．５より大きく且つ前回のサイクルのＰＰＩＣＫが０．５より小さい場合、比較回路５８は第２の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成する。なお折り返し回路５６で折り返される前のＰＰＩＣＫが１．０（ＵＩの境界値）を跨いで推移したか否かを判定することにより、指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成してもよい。また加算器１７（図１）で０．５を加算する前の推定クロス点位置ＰＨＯが０．５（ＵＩの中心値）を跨いで推移したか否かを判定することにより、指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成してもよい。なお指示信号ＤＥＣ＿ＤＴ＿ＮＵＭは例えば２ビットのバイナリデータであってよく、この２ビットにより、第１の状態、第２の状態、更には第１の状態でも第２の状態でもない第３の状態を指定することができる。
【００５４】
図１を再び参照し、データ判定部１８は、データ中心点の推定位置ＰＰＩＣＫが遅れる方向に推移することによりデータ間隔の長さに等しい範囲内（１ＵＩ内）から範囲外に外れると第１の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成する。またデータ中心点の推定位置ＰＰＩＣＫが早まる方向に推移することによりデータ間隔の長さに等しい範囲内（１ＵＩ内）から範囲外に外れると、データ判定部１８は第２の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭを生成する。データ判定部１８は更に、データ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］の列に追加のデータＤＥＣ＿ＤＴ［０］を加えたデータ列ＤＥＣ＿ＤＴ［０］乃至ＤＥＣ＿ＤＴ［８］を出力する。
【００５５】
判定データ出力部１９は、第１の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答してデータ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］の列において１つデータをスキップして７ビットのデータを出力する。判定データ出力部１９はまた、第２の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答して９ビットのデータ列ＤＥＣ＿ＤＴ［０］乃至ＤＥＣ＿ＤＴ［８］を出力する。判定データ出力部１９はまた、第１の状態でも前記第２の状態でもない第３の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答して８ビットのデータ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］の列を出力する。このような判定データ出力部１９の動作は、ＦＩＦＯにより容易に実現することができる。即ち判定データ出力部１９を構成するＦＩＦＯが、第１の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答してデータ判定値ＤＥＣ＿ＤＴ［２］乃至ＤＥＣ＿ＤＴ［８］の７ビットのみを取込むようにすればよい。また判定データ出力部１９を構成するＦＩＦＯが、第２の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答してデータ判定値ＤＥＣ＿ＤＴ［０］乃至ＤＥＣ＿ＤＴ［８］を９ビット全て取込むようにすればよい。また判定データ出力部１９を構成するＦＩＦＯが、第３の状態の指示信号ＤＥＣ＿ＤＴ＿ＮＵＭに応答してデータ判定値ＤＥＣ＿ＤＴ［１］乃至ＤＥＣ＿ＤＴ［８］の８ビットを取込むようにすればよい。この第３の状態の指示信号の場合は、データのスキップも追加もない場合に相当する。判定データ出力部１９を構成するＦＩＦＯは、取込んだデータをソートして、８ビットずつ受信ユーザデータＵＳＥＲ＿ＤＴ［７：０］（即ちＵＳＥＲ＿ＤＴ［０］乃至ＵＳＥＲ＿ＤＴ［７］）として出力する。
【００５６】
図１に示されるように、判定データ出力部１９を構成するＦＩＦＯからは、位相内挿器２２が生成するクロック信号ＰＩ＿ＣＫ４に同期してデータが読み出される。位相内挿器２２は、分周回路２１が生成する例えば６２５ＭＨｚの４相のクロック信号を用い、これらの４相のクロック信号を合成することにより所望の位相のクロック信号ＰＩ＿ＣＫ４を生成する。この際、位相積分器１５の出力である位相推定値の上位ビット（例えば６ビット）をビット切り出し回路２０により切り出して、位相内挿器２２に位相コードＰＣＯＤＥとして供給する。位相内挿器２２は、クロック信号ＰＩ＿ＣＫ４の位相が位相コードＰＣＯＤＥの示す位相値に一致するように、クロック信号ＰＩ＿ＣＫ４を生成する。この位相調整により、送信側のデータレートと判定データ出力部１９から読み出すデータのデータレートとを一致させることができる。なおこの位相内挿器２２の位相調整の精度は、従来のＣＤＲ回路において要求される精度よりも、かなり低くても問題がない。
【００５７】
図１２は、データをスキップする動作を模式的に示す図である。図１２において、動作サイクルＴ１から動作サイクルＴ４が示される。各動作サイクルにおいて、1つのＵＩが処理されるとする。また各動作サイクルの最下部に、クロス点位置ＰＩＮＳＴと推定データ中心位置ＰＰＩＣＫとが示される。動作サイクルＴ１においては、ＵＩの３点のデータから最後（最右端）のデータＤ１が選択出力される。動作サイクルＴ２においては、ＵＩの３点のデータから最後（最右端）のデータＤ２が選択出力される。動作サイクルＴ２から動作サイクルＴ３に移る際に、推定データ中心位置ＰＰＩＣＫが遅れる方向に推移して（即ち図面上右方向に推移して）、１ＵＩの境界を越えている。この場合、動作サイクルＴ３において、ＵＩの３点のデータの最後（最右端）のデータを選択せずにスキップする。次の動作サイクルＴ４においては、ＵＩの３点のデータから最初（最左端）のデータＤ４が選択出力される。以上のようにして、データをスキップすることにより、送受信間でのデータレートを一致させる。
【００５８】
図１３は、データを追加する動作を模式的に示す図である。図１３において、動作サイクルＴ１から動作サイクルＴ４が示される。各動作サイクルにおいて、1つのＵＩが処理されるとする。また各動作サイクルの最下部に、クロス点位置ＰＩＮＳＴと推定データ中心位置ＰＰＩＣＫとが示される。動作サイクルＴ１においては、ＵＩの３点のデータから最初（最左端）のデータＤ１が選択出力される。動作サイクルＴ２においては、ＵＩの３点のデータから最初（最左端）のデータＤ２が選択出力される。動作サイクルＴ２から動作サイクルＴ３に移る際に、推定データ中心位置ＰＰＩＣＫが進む方向に推移して（即ち図面上左方向に推移して）、１ＵＩの境界を越えている。この場合、動作サイクルＴ３において、ＵＩの３点のデータの最初（最左端）のデータＤ３−１と最後（最右端）のデータＤ３−２を選択出力する。動作サイクルＴ４においては、ＵＩの３点のデータから最後（最右端）のデータＤ４が選択出力される。以上のようにして、データを追加することにより、送受信間でのデータレートを一致させる。
【００５９】
図１４は、データ復元回路の構成の別の一例を示す図である。図１４において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。図１４のデータ復元回路は、図１のデータ復元回路から判定データ出力部１９、ビット切り出し回路２０、位相内挿器２２、及びバッファ２３が取り除かれ、バッファ８１乃至８３が設けられている。即ち、図１の構成から、データスキップ又は追加によりデータレートを調整する機能が削除されている。
【００６０】
データ送受信機能の実際のインプリメントでは、上位のレイヤーにてクロック乗せ換えが行われる。従って、必ずしも図１に示す実施例の場合のように、高速Ｉ／Ｏの物理レイヤーにてクロック乗せ換えを行う必要はない。但しこの場合、高速Ｉ／Ｏの物理レイヤーの出力データ幅は、常に固定のビット幅にはならない。例えば、出力データ幅は殆どの場合において８ビットであるが、入力データの変動に応じて時には７ビットであったり、９ビットであったりする。この変動を示す信号として、図１のＤＥＣ＿ＤＴ＿ＮＵＭ［１：０］と同様の信号ＵＳＥＲ＿ＤＴ＿ＮＵＭ［１：０］を用意している。このようにデータレート調整機能を物理レイヤーから削除することにより、図１の構成と比較して、設計開発工数に関するコスト削減が可能である。
【００６１】
図１５は、外部ロジックによりデータレートを調整する構成の一例を示す図である。図１５に示すデータ受信回路は、図１４に示すデータ復元回路９０と外部ロジック９１とを含む。外部ロジック９１は、ＦＩＦＯ９２とＦＩＦＯコントローラ９３を含む。ＦＩＦＯ９２とＦＩＦＯコントローラ９３は、ＵＳＥＲ＿ＣＫに同期して動作する。ＦＩＦＯコントローラ９３は、ライトポインタＷＰ及びリードポインタＲＰを指定することにより、ＦＩＦＯ９２に対するデータ書込み及びデータ読出しを制御する。この際、ＦＩＦＯコントローラ９３は、データ復元回路９０からのＵＳＥＲ＿ＤＴ＿ＮＵＭ［１：０］に基づいて、ライトポインタＷＰ及びリードポインタＲＰを設定する。
【００６２】
データ復元回路９０が出力するパラレルデータＵＳＥＲ＿ＤＴは、常に８ビットではなく、入力アナログ信号ＩＮＤＴに含まれるジッタに応じて、±１ビットの変動が生じる。なおこのＵＳＥＲ＿ＤＴは、図１の構成で説明したＤＥＣ＿ＤＴに相当するデータ信号である。上記の±１ビットの変動量を示す情報が、ＵＳＥＲ＿ＤＴ＿ＮＵＭ［１：０］として、データ復元回路９０から外部ロジック９１に伝えられる。外部ロジック９１は、データ復元回路９０からＵＳＥＲ＿ＣＫに同期したＵＳＥＲ＿ＤＴを受け取り、この受け取ったデータをＦＩＦＯ９２に書き込む。ＦＩＦＯ９２に書き込まれるデータの量は、ＵＳＥＲ＿ＤＴ＿ＮＵＭに応じて変化する。この書込みデータの制御は、図１の判定データ出力部１９を構成するＦＩＦＯについて説明した制御と同様である。このようにしてＦＩＦＯ９２に書き込まれるデータの量を制御することにより、±１ビットのデータレートの変動が吸収される。
【００６３】
一般に受信データの中には、上位レイヤーの仕様にて定められた調整コードが定期的に存在する。外部ロジック９１は、この調整コードを利用して、送受信間のデータレートの差を吸収するフロー制御を実行する。
【００６４】
図１６は、外部ロジックによるフロー制御を説明するための図である。ＦＩＦＯコントローラ９３は、書き込みデータアドレスを示す書込みポインタＷＰと読み出しデータアドレスを示す読出しポインタＲＰを管理することにより、ＦＩＦＯ９２に格納されているデータ量ＤＴＳＩＺＥを理解する。（ａ）に示すように、ＤＴＳＩＺＥが予め定められたある閾値データ量ＤＴＴＨ＿ＴＯＰよりも大きくなった場合、ＦＩＦＯコントローラ９３は、書き込みデータレートが読み出しデータレートよりも大きいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも大きいと判断する。この場合、外部ロジック９１は、定期的に存在する上記の調整コードを破棄することによって、ＤＴＳＩＺＥをＤＴＴＨ＿ＴＯＰより小さくし、送受信間のデータレートの差を調整する。また（ｂ）に示すように、ＤＴＳＩＺＥが予め定められたある閾値データ量ＤＴＴＨ＿ＢＴＭよりも小さくなった場合、ＦＩＦＯコントローラ９３は、書き込みデータレートが読み出しデータレートよりも小さいと判断する。つまり、送信側のデータレートが受信側のデータレートよりも小さいと判断する。この場合、外部ロジック９１は調整コードを挿入し、ＤＴＳＩＺＥをＤＴＴＨ＿ＢＴＭより大きくし、送受信間のデータレートの差を調整する。
【００６５】
このように図１５に示すデータ受信回路の構成では、上位レイヤーの仕様に従って調整コードを破棄・挿入することによりデータレートを調整する機能が、ＦＩＦＯ９２及びＦＩＦＯコントローラ９３として設けられている。このＦＩＦＯ９２及びＦＩＦＯコントローラ９３を利用して、前述のようにＵＳＥＲ＿ＤＴ＿ＮＵＭ［１：０］に基づいてＦＩＦＯ９２への書き込みデータ量を調整すれば、データ復元回路９０における±１ビットのデータレートの変動を吸収することができる。このように、図１４及び図１５に示す構成とすることにより、データ復元回路９０単体ではなく、データ復元回路９０と外部ロジック９１との連携によって、データ復元におけるデータレート変動を吸収する機能を実現することができる。
【００６６】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００６７】
なお本発明は以下の内容を含むものである。
（付記１）
データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより、前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出する位相検出器と、
前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求める位相推定器と、
前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
（付記２）
前記データ判定部は、前記デジタルコードの列を２値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記１記載のデータ復元回路。
（付記３）
前記位相推定器は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記１又は２記載のデータ復元回路。
（付記４）
前記位相推定器は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記１又は２記載のデータ復元回路。
（付記５）
前記位相推定器は、
前記クロス点の位置と推定クロス点位置との差分を求める差分回路と、
前記差分を時間的に積分することにより前記推定クロス点位置を求める積分回路と
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める回路と
を含むことを特徴とする付記１又は２記載のデータ復元回路。
（付記６）
前記データ判定部は、前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第１の状態の指示信号を生成し、前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると第２の状態の指示信号を生成することを特徴とする付記１乃至５いずれか一項記載のデータ復元回路。
（付記７）
前記データ判定部から前記データ判定値の列と前記指示信号とを受け取り、前記第１の状態の指示信号に応答して前記データ判定値の列において１つデータをスキップしてデータを出力し、前記第２の状態の指示信号に応答して前記データ判定値の列に１つデータを追加してデータを出力する判定データ出力部を更に含むことを特徴とする付記６記載のデータ復元回路。
（付記８）
前記データ判定部は前記データ判定値の列に追加のデータを加えたデータ列を出力し、前記判定データ出力部は、前記第１の状態の指示信号に応答して前記データ判定値の列において１つデータをスキップしてデータを出力し、前記第２の状態の指示信号に応答して前記データ列を出力し、前記第１の状態でも前記第２の状態でもない第３の状態の前記指示信号に応答して前記データ判定値の列を出力することを特徴とする付記７記載のデータ復元回路。
（付記９）
（ａ）データ列を表す入力アナログ信号をクロック信号に同期してアナログデジタル変換することにより前記データ列のデータ間隔より短い間隔でサンプルしたデジタルコードの列を生成し、
（ｂ）前記デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置と前記デジタルコードの列を補間して得られる線分とが交差するクロス点の位置を前記デジタルコードの列から算出し、
（ｃ）前記クロス点の位置に基づいて前記データ列のデータ中心点の推定位置を求め、
（ｄ）前記クロス点の位置と前記データ中心点の推定位置とに基づいて前記デジタルコードの列からデータ判定値の列を抽出する
各段階を含むことを特徴とするデータ復元方法。
（付記１０）
前記段階（ｄ）は、前記デジタルコードの列を２値判定することにより得られるバイナリデータの列から、バイナリデータを取捨選択することにより前記データ判定値の列を求めることを特徴とする付記９記載のデータ復元方法。
（付記１１）
前記段階（ｃ）は、前記クロス点の位置の時間的な平均位置に基づいて前記データ中心点の推定位置を求めることを特徴とする付記９又は１０記載のデータ復元方法。
（付記１２）
前記段階（ｃ）は、前記クロス点の位置の時間的な平均位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求めることを特徴とする付記９又は１０記載のデータ復元方法。
（付記１３）
前記段階（ｃ）は、
前記クロス点の位置と推定クロス点位置との差分を求め、
前記差分を時間的に積分することにより前記推定クロス点位置を求め
前記推定クロス点位置を前記データ間隔の略半分に等しい変位分ずらすことにより前記データ中心点の推定位置を求める
各段階を含むことを特徴とする付記９又は１０記載のデータ復元方法。
（付記１４）
（ｅ）前記データ中心点の推定位置が遅れる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列において１つデータをスキップし、
（ｆ）前記データ中心点の推定位置が早まる方向に推移することにより前記データ間隔の長さに等しい範囲内から範囲外に外れると前記データ判定値の列に１つデータを追加する
段階を更に含むことを特徴とする付記９乃至１３いずれか一項記載のデータ復元方法。
（付記１５）
入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することによりデータ判定値の列を抽出するデータ判定部と
を含むことを特徴とするデータ復元回路。
（付記１６）
入力アナログ信号からデータ判定値の列を抽出するデータ復元回路と、
前記データ復元回路から前記データ判定値の列に含まれる受信データを受け取りバッファに格納し、前記バッファ内の前記受信データ量に応じて調整コードを破棄・挿入することによりデータレートを調整するロジック部と
を含み、
前記データ復元回路は、
前記入力アナログ信号を固定のサンプルタイミングでアナログデジタル変換することにより、デジタルコードの列を生成するアナログデジタル変換器と、
前記デジタルコードの列を補間することにより前記入力アナログ信号のデータの遷移点を算出する位相検出器と、
前記デジタルコードの列を２値判定したバイナリデータの列において前記遷移点の位置に基づいてバイナリデータを取捨選択することにより前記データ判定値の列を抽出するデータ判定部と
を含み、
前記ロジック部は、前記データ判定値の列のデータのうちで前記バッファに格納するデータの数を随時調整することを特徴とするデータ受信回路。
【図面の簡単な説明】
【００６８】
【図１】データ復元回路の構成の一例を示す図である。
【図２】位相検出器の動作を説明するための図である。
【図３】位相検出器のゼロクロスベクトル検出部の構成の一例を示す図である。
【図４】位相差分器の構成の一例を示す図である。
【図５】位相検出器の遷移フラグ生成部の構成の一例を示す図である。
【図６】位相検出器の２値判定回路の構成の一例を示す図である。
【図７】データ判定部の構成の一例を示す図である。
【図８】１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する選択方法を説明するための図である。
【図９】１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する選択方法を示すフローチャートである。
【図１０】１ＵＩに対応する３つのバイナリデータから１つのバイナリデータを選択する回路構成の一例を示す図である。
【図１１】図１０の回路の動作を示す論理値テーブルである。
【図１２】データをスキップする動作を模式的に示す図である。
【図１３】データを追加する動作を模式的に示す図である。
【図１４】データ復元回路の構成の別の一例を示す図である。
【図１５】外部ロジックによりデータレートを調整する構成の一例を示す図である。
【図１６】外部ロジックによるフロー制御を説明するための図である。
【符号の説明】
【００６９】
１０−１〜１０−４  アナログデジタル変換器
１１  デマルチプレクサ
１２  位相検出器
１３  位相差分器
１４  位相積分器
１５  位相積分器
１６  加算器
１７  加算器
１８  データ判定部
１９  判定データ出力部
２０  ビット切り出し回路
２１  分周回路
２２  位相内挿器
２３  バッファ
【図１】
2010130366.tif 000003
【図２】
2010130366.tif 000004
【図３】
2010130366.tif 000005
【図４】
2010130366.tif 000006
【図５】
2010130366.tif 000007
【図６】
2010130366.tif 000008
【図７】
2010130366.tif 000009
【図８】
2010130366.tif 000010
【図９】
2010130366.tif 000011
【図１０】
2010130366.tif 000012
【図１１】
2010130366.tif 000013
【図１２】
2010130366.tif 000014
【図１３】
2010130366.tif 000015
【図１４】
2010130366.tif 000016
【図１５】
2010130366.tif 000017
【図１６】
2010130366.tif 000018