(57)【特許請求の範囲】
【請求項１】
入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号を出力する位相検出器と、
入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器と、
を備え、
周波数追従ループに、前記位相検出器からの前記位相比較結果を積分する第１の積分器と、前記第１の積分器の積分出力に対応したパターンの値を出力するパターン発生器とを備え、
位相追従ループに、前記位相検出器からの前記位相比較結果を積分する第２の積分器を備え、
前記第２の積分器の積分出力と前記パターン発生器の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器に供給する混合器と、
前記位相検出器からの出力を監視し、前記位相検出器から前記エラー信号が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果の出力状況、又は、前記エラー信号が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第１の積分器の積分出力の補正量を導出して前記第１の積分器に設定し、適正な場合には、前記第１の積分器での積分出力の補正は行わない回路ブロックと、
を備えたクロックアンドデータリカバリ回路。
【請求項２】
前記回路ブロックは、
前記位相検出器から前記エラー信号が出力される直前までに、前記位相検出器から連続して出力された、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の回数を累積加算する回路を備え、
前記位相検出器から前記エラー信号が出力されたとき、
前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示が、予め定められた所定回以上、前記位相検出器から連続して出力されている場合には、前記第１の積分器の積分出力が現在値よりも大きな値となるように前記補正量を設定し、
前記エラー信号が出力される直前までに、前記クロック信号の位相を遅らせる指示が、予め定められた所定回以上、前記位相検出器から連続して出力されている場合には、前記第１の積分器の積分出力が現在値よりも小さな値となるように前記補正量を設定する、請求項１記載のクロックアンドデータリカバリ回路。
【請求項３】
前記回路ブロックは、前記位相検出器から前記エラー信号が出力されたとき、
前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の連続出力回数が前記予め定められた所定回に満たないときは、
前記周波数追従ループでの周波数偏差の設定は適正と判定し、前記補正量を零とすることで前記第１の積分器での積分出力の補正は行わない、請求項２記載のクロックアンドデータリカバリ回路。
【請求項４】
前記位相検出器が、前記データ信号群に対して、相隣る位相のクロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定する論理ゲートを複数備え、
前記複数の論理ゲートでの判定出力の組み合わせに基づき、前記クロック信号の位相を進めさせる指示をなす第１のアップ信号、又は、前記クロック信号の位相を遅らせる指示をなす第１のダウン信号を出力し、前記複数の論理ゲートでの判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー検出を示す前記エラー信号を出力する論理ユニットを備えている、請求項１乃至３のいずれか１項に記載のクロックアンドデータリカバリ回路。
【請求項５】
前記回路ブロックは、前記位相検出器から、前記エラー信号が出力されるまでの間に、前記第１のアップ信号又は前記第１のダウン信号が連続して出力された回数を計数し、
前記位相検出器から今回、前記エラー信号が出力されると、今回の前記エラー信号出力時点まで、前記第１のアップ信号又は前記第１のダウン信号について計数した連続回数と、
今回の前記エラー信号の１つ前のエラー信号が出力された時点までに、前記位相検出器から出力された前記第１のアップ信号又は前記第１のダウン信号の過去の連続回数と、
を累積加算し、
前記第１のアップ信号又は前記第１のダウン信号の連続回数を累積加算した値が、前記予め定められた所定回以上に対応する値に達するか超えると、連続アップ検出信号又は連続ダウン検出信号を出力する連続回数計測回路と、
前記連続回数計測回路から、前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第１の積分器の積分出力を補正するための補正量を決定する補正量決定器と、
を備え、
前記第１の積分器は、前記補正量決定器から前記補正量が出力された場合、前記第１の積分器の積分出力を前記補正量で補正した値に設定するとともに、前記補正した値から、前記第１のアップ信号と前記第１のダウン信号の積分を行う、請求項４記載のクロックアンドデータリカバリ回路。
【請求項６】
前記連続回数計測回路は、
前記位相検出器から前記エラー信号が出力されるまでに、前記位相検出器から前記第１のアップ信号又は前記第１のダウン信号が連続して出力される回数を計数し、
前記位相検出器から前記エラー信号が出力されると、前記エラー信号が出力されるまでに計数された前記第１のアップ信号又は前記第１のダウン信号の連続回数の計数値を、後段に伝達し、その後、前記計数値を零にリセットする第１の回路ユニットと、
前記第１の回路ユニットから伝達された、前記第１のアップ信号又は前記第１のダウン信号の前記連続回数を受け、前記連続回数と、過去の前記第１のアップ信号又は前記第１のダウン信号の前記連続回数の累積加算値とを加算器で加算した値を新たな累積加算値とし、
前記新たな累積加算値が、前記第１のアップ信号又は前記第１のダウン信号の所定回数分に対応する値に達したか又は超えているとき、前記連続アップ検出信号又は前記連続ダウン検出信号を出力するとともに、前記連続回数の累積加算値を零にリセットする第２の回路ユニットと、
を備えている、請求項５記載のクロックアンドデータリカバリ回路。
【請求項７】
前記連続回数計測回路は、第１、第２の回路ユニットを備え、
前記第１の回路ユニットは、
前記第１のアップ信号と前記第１のダウン信号を入力する論理回路を備え、
前記論理回路は、
（Ａ）前記第１のアップ信号又は前記第１のダウン信号の連続回数の現在の第１の計数値が＋１以上のときに、前記第１のダウン信号が入力されると、
−１を出力し、
（Ｂ）前記第１のアップ信号又は前記第１のダウン信号の連続回数の現在の前記第１の計数値が−１以下のときに、前記第１のアップ信号が入力されると、
＋１を出力し、
（Ｃ）前記第１のアップ信号又は前記第１のダウン信号の連続回数の現在の前記第１の計数値と、入力された前記第１のダウン信号又は前記第１のアップ信号の関係が、上記（Ａ）、（Ｂ）の関係の以外の場合、入力された信号が前記第１のダウン信号のとき、
前記現在の第１の計数値に−１を加算した値を出力し、
（Ｄ）前記第１のアップ信号又は前記第１のダウン信号の連続回数の現在の前記第１の計数値と、入力された前記第１のダウン信号又は前記第１のアップ信号の関係が、上記（Ａ）、（Ｂ）の関係の以外の場合、入力された信号が前記第１のアップ信号のとき、
現在の前記第１の計数値に＋１を加算した値を出力し、
前記第１の回路ユニットは、さらに、
前記論理回路の出力と零とを入力し、前記位相検出器からの前記エラー信号を選択制御信号とし、前記エラー信号が出力されないとき、前記論理回路の出力を選択出力し、前記位相検出器から前記エラー信号が出力されたときは零を選択出力する第１のセレクタと、
前記第１のセレクタの出力を入力し、出力から、前記第１の計数値を出力する第１のフリップフロップと、
前記第１のフリップフロップの出力と零とを入力し、前記位相検出器から前記エラー信号を選択制御信号とし、前記エラー信号が出力されないときは、零を選択し、前記位相検出器から前記エラー信号が出力されたときは、前記第１のフリップフロップの出力を選択する第２のセレクタと、
を備え、
前記第２の回路ユニットは、
前記第２のセレクタの出力と第２の計数値を加算する加算器と、
前記加算器の出力と零とを入力する第３のセレクタと、
前記第３のセレクタの出力を入力し出力を前記第２の計数値とする第２のフリップフロップと、
前記第２のフリップフロップから出力される前記第２の計数値を受け、前記第２の計数値が所定の正値以上の場合、連続アップ検出信号、前記第２の計数値が所定の負値以下の場合、連続ダウン検出信号を出力する比較回路と、
前記比較回路から前記連続アップ検出信号又は前記連続ダウン検出信号が出力されると、前記第３のセレクタにて零を選択し、前記比較回路から前記連続アップ検出信号も前記連続ダウン検出信号も出力されない場合、前記第３のセレクタにて前記加算器の出力を選択するための選択制御信号を出力する論理ゲートと、
を備えている、請求項５記載のクロックアンドデータリカバリ回路。
【請求項８】
前記補正量決定器は、
（Ｅ）前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
前記補正量を正の所定値（ｐ）とし、
（Ｆ）前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
前記補正量を前記所定値の負値（−ｐ）とし、
（Ｇ）前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号がともに出力されないとき、
前記補正量を零とする、請求項５又は６記載のクロックアンドデータリカバリ回路。
【請求項９】
前記補正量決定器は、
（Ｅ）前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
前記第１の積分器の出力（ＰＰＭ）と正の所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器の出力最大値（ＰＰＭmax）よりも小の場合、
前記補正量を前記所定値（ｐ）とし、
前記第１の積分器の出力（ＰＰＭ）と前記所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器の出力最大値（ＰＰＭmax）以上の場合、
前記補正量を前記所定値の負値（−ｐ）とし、
（Ｆ）前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
前記第１の積分器の出力（ＰＰＭ）から前記所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器の出力最小値（ＰＰＭmin）よりも大の場合、
前記補正量を前記所定値の負値（−ｐ）とし、
前記第１の積分器の出力から前記所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器の出力最小値（ＰＰＭmin）以下の場合、
前記補正量を前記所定値（ｐ）とし、
（Ｇ）前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号が出力されないときは、
前記補正量を零とする、請求項５又は６記載のクロックアンドデータリカバリ回路。
【請求項１０】
前記補正量決定器は、
（Ｅ）前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
前記第１の積分器の出力（ＰＰＭ）と正の第１の所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器の出力最大値（ＰＰＭmax）よりも小の場合、
前記補正量を前記第１の所定値（ｐ）とし、
前記第１の積分器の出力と前記第１の所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器の出力最大値（ＰＰＭmax）以上の場合、
前記補正量を前記第１の所定値の負値（−ｐ）とし、
（Ｆ）前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
前記第１の積分器の出力（ＰＰＭ）から前記第１の所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器の出力最小値（ＰＰＭmin）よりも大の場合、
前記補正量を前記第１の所定値の負値（−ｐ）とし、
前記第１の積分器の出力から前記第１の所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器の出力最小値（ＰＰＭmin）以下の場合、
前記補正量を前記第１の所定値（ｐ）とし、
（Ｇ）前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号が出力されないときは、
前記補正量を零とし、
（Ｈ）前記連続アップ検出信号が出力された場合の上記処理（Ｅ）を所定回実行したとき、
（Ｉ）前記第１の積分器の出力（ＰＰＭ）と正の第２の所定値（ｑ）の和（ＰＰＭ＋ｑ）が、前記第１の積分器の出力最大値（ＰＰＭmax）よりも小の場合、
前記補正量を前記第２の所定値（ｑ）とし、
（Ｊ）前記第１の積分器の出力と前記第２の所定値（ｑ）の和（ＰＰＭ＋ｑ）が、前記第１の積分器の出力最大値（ＰＰＭmax）以上の場合、
前記第１の積分器の出力から前記第２の所定値（ｑ）を差し引いた値（ＰＰＭ−ｑ）が、前記第１の積分器の出力最小値（ＰＰＭmin）よりも大の場合には、
前記補正量を前記第２の所定値の負値（−ｑ）とし、
前記第１の積分器の出力（ＰＰＭ）から前記第２の所定値（ｑ）を差し引いた値（ＰＰＭ−ｑ）が、前記第１の積分器の出力最小値（ＰＰＭmin）以下の場合には、
前記補正量を零とし、
（Ｋ）前記連続ダウン検出信号が出力された場合の上記処理（Ｆ）を所定回実行したとき、
（Ｌ）前記第１の積分器の出力（ＰＰＭ）から前記第２の所定値（ｑ）を差し引いた値（ＰＰＭ−ｑ）が、前記第１の積分器の出力最小値（ＰＰＭmin）よりも大の場合には、
前記補正量を前記第２の所定値の負値（−ｑ）とし、
前記第１の積分器の出力（ＰＰＭ）から前記第２の所定値（ｑ）を差し引いた値（ＰＰＭ−ｑ）が、前記第１の積分器の出力最小値（ＰＰＭmin）以下の場合には、
前記第１の積分器の出力（ＰＰＭ）と前記第２の所定値（ｑ）の和（ＰＰＭ＋ｑ）が、前記第１の積分器の出力最大値（ＰＰＭmax）よりも小の場合、
前記補正量を前記第２の所定値（ｑ）とし、
前記第１の積分器の出力（ＰＰＭ）と前記第２の所定値（ｑ）の和（ＰＰＭ＋ｑ）が、前記第１の積分器の出力最大値（ＰＰＭmax）以上の場合、
前記補正量を零とする、請求項５又は６記載のクロックアンドデータリカバリ回路。
【請求項１１】
前記第１の積分器が、前記位相検出器からの前記第１のアップ信号の入力に応答してカウントアップし、前記位相検出器からの前記第１のダウン信号の入力に応答してカウントダウンする第１のアップダウン・カウンタと、
前記第１のアップダウン・カウンタの出力と前記第１の積分器の出力値とを加算する第１の加算器と、
前記補正量と前記第１の積分器の出力値とを加算する第２の加算器と、
前記補正量が零のとき、前記第１の加算器の出力を選択し、前記補正量が非零のとき、前記第２の加算器の出力を選択するセレクタと、
前記セレクタの出力を受け、出力が、前記第１の積分器の積分出力値として出力されるとともに、前記第１及び第２の加算器に共通に入力されるフリップフロップと、
を備えている、請求項４記載のクロックアンドデータリカバリ回路。
【請求項１２】
前記パターン発生器が、前記第１の積分器の出力を受ける加算器と、
前記加算器の出力を所定の正整数で除した商と余りを出力する除算器と、
前記除算器の前記余りを受けるフリップフロップと、
を備え、前記加算器は、前記フリップフロップからの前記余りと、前記第１の積分器の出力を加算し、前記商が前記パターン発生器の出力とされる、請求項１記載のクロックアンドデータリカバリ回路。
【請求項１３】
前記回路ブロックが、前記位相検出器から前記エラー信号が出力されると、前記第２の積分器にダウン信号を与える強制ダウン回路を備えている、請求項１記載のクロックアンドデータリカバリ回路。
【請求項１４】
前記回路ブロックが、前記位相検出器から前記エラー信号が出力されると、前記第２の積分器にアップ信号を与える強制アップ回路を備えている請求項１記載のクロックアンドデータリカバリ回路。
【請求項１５】
前記回路ブロックが、前記位相検出器から前記エラー信号が所定回数出力されると、前記第１の積分器の出力を補正するための補正量を出力するエラー回数計測器を備えた、請求項１記載のクロックアンドデータリカバリ回路。
【請求項１６】
前記第２の積分器を前記混合器と前記位相補間器の間に備え、
前記混合器は、前記パターン発生器と前記位相検出器の出力を合成した結果を前記第２の積分器に供給する、請求項１乃至１５のいずれか１項に記載のクロックアンドデータリカバリ回路。
【請求項１７】
前記位相補間器からの多相のクロック信号で入力データ信号をサンプリングするデータサンプリング回路を備え、
前記位相検出器は、前記データサンプリング回路でサンプリングされたデータ信号群を入力する、請求項１乃至１６のいずれか１項に記載のクロックアンドデータリカバリ回路。
【請求項１８】
前記多相クロック信号を、位相が３６０度／Ｎで等間隔に離間しているＮ相クロック信号（但し、Ｎは所定の正の偶数）とし、
前記位相検出器は、
第１乃至第Ｎ（Ｎは、前記）の判定回路を備え、
第ｉの判定回路（ｉ＝１〜Ｎ）は、データ信号をＮ相のクロック信号でサンプリングしたデータ信号群のうち、巡回的に位相が隣り合うｉ番目の相とｉ＋１番目の相のクロック信号でサンプリングしたデータ信号が不一致であるか判定し、
前記第１乃至第Ｎの判定回路の出力を入力し、第ｊ及び第ｊ＋１（ただし、ｊ＝１、３、・・・、Ｎ−１の奇数）の判定回路の各対のうち、少なくとも１対の判定回路の出力がともに不一致を示す場合に、エラー信号を出力し、
その他の場合、前記第１乃至第Ｎ（Ｎは２以上の整数）の判定回路の出力に基づき、前記第１のアップ信号、又は前記第１のダウン信号を出力する論理回路部と、
を備えた、請求項１乃至１７のいずれか１項に記載のクロックアンドデータリカバリ回路。
【請求項１９】
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第１のアップ信号、又は、前記クロック信号の位相を遅らせる第１のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
周波数追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第１の積分器と、
位相追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第２の積分器と、
前記第１の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
前記第２の積分器の出力と前記パターン発生器の出力を合成する混合器と、
入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
前記位相検出器から、前記エラー信号が出力されるまでに、前記第１のアップ信号又は前記第１のダウン信号が連続して出力される回数を計数し、
前記第１のアップ信号又は前記第１のダウン信号の連続回数と、
前記連続回数に対応する前記エラー信号が出力される直前までの過去の前記第１のアップ信号又は前記第１のダウン信号の連続回数と、
を累積加算した値が、予め定められた所定回数以上に対応する値に達すると、連続アップ検出信号又は連続ダウン検出信号を出力する連続回数計測回路と、
前記連続回数計測回路から前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第１の積分器の出力を補正するための補正量を決定する補正量決定器と、
を備え、
前記第１の積分器は、前記補正量決定器から補正量が出力された場合、前記第１の積分器の積分出力を前記補正量で補正した値とするとともに、前記補正した値から、前記第１アップ信号と前記第１のダウン信号の積分を行う、クロックアンドデータリカバリ回路。
【請求項２０】
前記エラー信号が出力されると、前記第２の積分器にダウン信号を与える回路を備えている、請求項１９記載のクロックアンドデータリカバリ回路。
【請求項２１】
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第１のアップ信号、又は、前記クロック信号の位相を遅らせる第１のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
周波数追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第１の積分器と、
位相追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第２の積分器と、
前記第１の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
前記第２の積分器の出力と前記パターン発生器の出力を合成する混合器と、
入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
前記位相検出器から、前記エラー信号が所定回数出力されると、前記第１の積分器の出力を補正するための補正量を出力するエラー回数計測器と、
を備え、
前記第１の積分器は、前記エラー回数計測器から補正量が出力された場合、前記第１の積分器の積分出力を前記補正量で補正した値とするとともに、前記補正した値から、前記第１アップ信号と前記第１のダウン信号の積分を行う、クロックアンドデータリカバリ回路。
【請求項２２】
前記エラー回数計測器は、前記エラー信号が所定回数出力されると、前記第１の積分器の出力を補正するための補正量として乱数を出力する、請求項２１記載のクロックアンドデータリカバリ回路。
【請求項２３】
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第１のアップ信号、又は、前記クロック信号の位相を遅らせる第１のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
周波数追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第１の積分器と、
位相追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第２の積分器と、
前記第１の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
前記第２の積分器の出力と前記パターン発生器の出力を合成する混合器と、
入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
前記位相検出器から前記エラー信号が出力されると、前記第２の積分器に対してダウン信号を与える強制ダウン回路と、
を備えた、クロックアンドデータリカバリ回路。
【請求項２４】
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第１のアップ信号、又は、前記クロック信号の位相を遅らせる第１のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
周波数追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第１の積分器と、
位相追従ループを構成し、前記位相検出器からの前記第１のアップ信号と前記第１のダウン信号を積分する第２の積分器と、
前記第１の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
前記第２の積分器の出力と前記パターン発生器の出力を合成する混合器と、
入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
前記位相検出器から前記エラー信号が出力されると、前記第２の積分器に対してアップ信号を与える強制アップ回路と、
を備えた、クロックアンドデータリカバリ回路。
【請求項２５】
請求項１乃至２４のいずれか１項に記載のクロックアンドデータリカバリ回路を備えた半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクロックアンドデータリカバリ回路に関する。
【背景技術】
【０００２】
クロックアンドデータリカバリ回路は、クロック発生器等で生成されたクロックを入力し、入力データに同期したクロックを再生する回路であり、例えばＳＥＲＤＥＳ（ＳＥＲｉａｌｉｚｅｒ／ＤＥＳｅｒｉａｌｉｚｅｒ）回路の受信回路等に用いられる。
【０００３】
図３４は、関連技術である特許文献１に開示されたクロックアンドデータリカバリ回路（Ｃｌｏｃｋ  ａｎｄ  Ｄａｔａ  Ｒｅｃｏｖｅｒｙ  Ｃｉｒｃｕｉｔ；「ＣＤＲ」と略記される）の構成を示す図である。入力データと同期クロックとを入力し、位相の遅れや進みを検出し、位相比較結果を示す制御信号ＵＰ１／ＤＯＷＮ１（アップ１／ダウン１）を出力する位相検出器１０１と、位相検出器１０１の出力を積分し制御信号ＵＰ２／ＤＯＷＮ２（アップ２／ダウン２）を出力する積分器１０３と、位相検出器１０１からの制御信号ＵＰ１／ＤＯＷＮ１を積分し制御信号ＵＰ３／ＤＯＷＮ３（アップ３／ダウン３）を出力する積分器１０２と、積分器１０２からの制御信号ＵＰ３／ＤＯＷＮ３を入力し制御信号ＵＰ４／ＤＯＷＮ４（アップ４／ダウン４）を出力するパターン発生器１０４と、積分器１０３からの制御信号ＵＰ２／ＤＯＷＮ２と、パターン発生器１０４からの出力信号ＵＰ４／ＤＯＷＮ４を入力し、制御信号ＵＰ５／ＤＯＷＮ５（アップ５／ダウン５）を出力する混合器１０５と、混合器１０５からの信号ＵＰ５／ＤＯＷＮ５に基づき、入力されるクロック信号の位相を補間する位相補間器１０６を備え、位相補間器１０６の出力は、位相検出器１０１に帰還入力される。
【０００４】
位相補間器（１０６）に入力されるクロック信号として、例えば図示されないスペクトラム拡散クロック発生器（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｃｌｏｃｋ  Ｇｅｎｅｒａｔｏｒ）で生成されたスペクトラム拡散クロック（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｃｌｏｃｋ）が入力される。あるいは、図示されない逓倍ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）等で生成された一定周波数のクロックが入力される。同期クロックと入力データの位相比較結果に応じて位相補間器１０６の位相を制御する位相追従ループを有し、ほぼ一定の時間間隔で、位相補間器１０６の位相を動かす制御信号を生成するパターン発生器１０４と、同期クロックと入力データの位相比較結果の積分によりパターン発生器１０４の出力信号の発生間隔を制御する積分器１０２とを周波数追従ループに備え、スペクトラム拡散クロックにより周波数変調されたシリアルデータに対応するクロックアンドデータリカバリ回路を電圧制御発振器（ＶＣＯ）を用いることなく、位相補間器１０６の制御によって実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−５９９９号公報
【特許文献２】特開２００１−２７３０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下に関連技術（特許文献１）の分析を与える。
【０００７】
図３４等を参照して説明した関連技術（特許文献１）のＣＤＲは、ジッタトレランスの低下、引き込み時間の増大、引き込みが不能等の問題が生じる。その理由は、誤った状態で安定してしまうことと、誤っていることを検出し引き込ませる手段が存在しないためである。なお、この課題は、以下に比較例として詳説される。
【課題を解決するための手段】
【０００８】
前記課題の少なくとも１つを解決するため、本発明は概略以下の構成とされる。
【０００９】
本発明によれば、入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号を出力する位相検出器と、
入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器と、
を備え、
周波数追従ループに、前記位相検出器からの前記位相比較結果を積分する第１の積分器と、前記第１の積分器の積分出力に対応したパターンの値を出力するパターン発生器とを備え、
位相追従ループに、前記位相検出器からの前記位相比較結果を積分する第２の積分器を備え、
前記第２の積分器の積分出力と前記パターン発生器の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器に供給する混合器と、
前記位相検出器からの出力を監視し、前記位相検出器から前記エラー信号が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果の出力状況、又は、前記エラー信号が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第１の積分器の積分出力の補正量を導出して前記第１の積分器に設定し、適正な場合には、前記第１の積分器での積分出力の補正は行わない回路ブロックと、を備えたクロックアンドデータリカバリ回路が提供される。
【発明の効果】
【００１０】
本発明によれば、データとクロックの位相関係から現在の周波数偏差の見積もりの誤りを検出し、周波数追従ループの積分出力を補正することで、ジッタトレランスの低下、引き込み時間の増大、引き込みが不能等の問題を解消することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態の構成を示す図である。
【図２】図１のデータサンプリング回路の構成例を示す図である。
【図３】図１の位相検出器の構成例を示す図である。
【図４】図３の回路の動作例を真理値表で示す図である。
【図５】本発明の第１の実施形態の動作を説明するためのタイミング図である。
【図６】本発明の第１の実施形態の動作を説明するためのタイミング図である。
【図７】本発明の第１の実施形態の動作を説明するためのタイミング図である。
【図８】本発明の第１の実施形態の動作を説明するためのタイミング図である。
【図９】図１の積分器１４の状態遷移の例を示す図である。
【図１０】図１の積分器１３の構成例を示す図である。
【図１１】図１０のＵＰ／ＤＯＷＮカウンタ１４２の構成例を示す図である。
【図１２】図１のパターン発生器１５の構成例を示す図である。
【図１３】図１の混合器１６の構成例を示す図である。
【図１４】図１の位相補間器の動作例を示すタイミング図である。
【図１５】（Ａ）は図１の連続回数計測器１８の構成例を示す図である。（Ｂ）は論理回路１８１の論理を示す図である。
【図１６】連続回数計測器１８の動作例を示すタイミング図である。
【図１７】図１の補正量決定器１９の処理の一例を説明する図である。
【図１８】図１の補正量決定器１９の処理の一例を説明する図である。
【図１９】図１の補正量決定器１９の処理の一例を説明する図である。
【図２０】本発明の第２の実施形態の構成を示す図である。
【図２１】本発明の第２の実施形態の動作を説明するためのタイミング図である。
【図２２】本発明の第３の実施形態の構成を示す図である。
【図２３】本発明の第４の実施形態の構成を示す図である。
【図２４】本発明の第１の実施形態を説明するタイミング図である。
【図２５】本発明の第５の実施形態の構成を示す図である。
【図２６】本発明の第６の実施形態の構成を示す図である。
【図２７】関連技術（比較例）と本発明を説明する図である。
【図２８】関連技術（比較例）を説明する図である。
【図２９】関連技術（比較例）を説明する図である。
【図３０】関連技術（比較例）を説明する図である。
【図３１】関連技術（比較例）を説明する図である。
【図３２】本発明を説明する図である。
【図３３】本発明を説明する図である。
【図３４】関連技術のＣＤＲの構成を示す図である。
【発明を実施するための形態】
【００１２】
本発明は、その好ましい態様（Ｐｒｅｆｅｒｒｅｄ  Ｍｏｄｅｓ）の１つとして、ＣＤＲは、図１を参照すると、入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果（ＵＰ１／ＤＯＷＮ１）を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号（ＥＲＲ）を出力する位相検出器（１２）と、
入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器（１７）と、
周波数追従ループを構成し、前記位相検出器（１２）からの前記位相比較結果（ＵＰ１／ＤＯＷＮ１）を積分する第１の積分器（１３）と、前記第１の積分器（１３）の積分出力（ＰＰＭ）に対応したパターンの値を出力するパターン発生器（１５）と、
位相追従ループを構成し、前記位相検出器（１２）からの前記位相比較結果（ＵＰ１／ＤＯＷＮ１）を積分する第２の積分器（１４）と、
前記第２の積分器（１４）の積分出力と前記パターン発生器（１５）の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器（１７）に供給する混合器（１６）と、
前記位相検出器（１２）からの出力（ＵＰ１／ＤＯＷＮ１、ＥＲＲ）を監視し、前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果（ＵＰ１／ＤＯＷＮ１）の出力状況、又は、前記エラー信号（ＥＲＲ）が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第１の積分器の積分出力（ＰＰＭ）の補正量（ＣＯＲＲＥＣＴ）を導出して前記第１の積分器（１３）に設定し、適正な場合には、前記第１の積分器（１３）での積分出力の補正は行わない回路ブロック（２２）と、
を備えた構成としてもよい。
【００１３】
本発明において、前記回路ブロック（２２）は、前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が出力される直前までに、前記位相検出器（１２）から連続して出力された、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の回数を累積加算し、前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が出力されたとき、
前記エラー信号（ＥＲＲ）が出力される直前までに、前記クロック信号の位相を進ませる指示（ＵＰ１）が、予め定められた所定回以上、前記位相検出器（１２）から連続して出力されている場合には、前記第１の積分器（１３）の積分出力（ＰＰＭ）が現在値よりも大きな値となるように補正量（ＣＯＲＲＥＣＴ）を設定し、
前記エラー信号（ＥＲＲ）が出力される直前までに、前記クロック信号の位相を遅らせる指示（ＤＯＷＮ１）が、予め定められた所定回以上、前記位相検出器（１２）から連続して出力されている場合には、前記第１の積分器（１３）の積分出力（ＰＰＭ）が現在値よりも小さな値となるように補正量（ＣＯＲＲＥＣＴ）を設定する構成としてもよい。
【００１４】
本発明において、前記回路ブロック（２２）は、前記位相検出器（１２）から前記エラー信号が出力されたとき、前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示（ＵＰ１）又は位相を遅らせる指示（ＤＯＷＮ）の連続出力回数が前記予め定められた所定回に満たないときは、前記周波数追従ループでの周波数偏差の設定は適正と判定し、前記補正量（ＣＯＲＲＥＣＴ）を零とすることで、前記第１の積分器での積分出力の補正は行わない。
【００１５】
本発明において、前記位相検出器（１２）は、前記データ信号群に対して、相隣る位相のクロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定する論理ゲート（図３のＥＸＯＲ）を複数備え、前記複数の論理ゲート（ＥＸＯＲ）での判定出力の組み合わせに基づき、前記クロック信号の位相を進めさせる指示をなす第１のアップ信号（ＵＰ１）、又は、前記クロック信号の位相を遅らせる指示をなす第１のダウン信号（ＤＯＷＮ１）を出力し、前記複数の論理ゲート（ＥＸＯＲ）での判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー検出を示す前記エラー信号（ＥＲＲ）を出力する論理回路部（図３の１２３０）を備えた構成としてもよい。
【００１６】
本発明において、前記回路ブロック（２２）は、連続回数計測器（連続回数計測回路）（１８）と、補正量決定器（１９）を備えた構成としてもよい。連続回数計測器（１８）は、前記位相検出器（１２）から、前記エラー信号（ＥＲＲ）が出力されるまでの間に、前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）が連続して出力された回数を計数し、
前記位相検出器（１２）から今回前記エラー信号が出力されると、今回の前記エラー信号出力時点まで、前記第１のアップ信号又は前記第１のダウン信号について計数した連続回数と、
今回の前記エラー信号の１つ前のエラー信号が出力された時点までに、前記位相検出器から出力された前記第１のアップ信号又は前記第１のダウン信号の過去の連続回数と、
を累積加算し、
前記第１のアップ信号又は前記第１のダウン信号の連続回数を累積加算した値が、前記予め定められた所定回以上に対応する値に達するか超えると、連続アップ検出信号（ＣＮＴＮＵＰ）又は連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）を出力する構成としてもよい。
【００１７】
本発明において、補正量決定器（１９）は、前記連続回数計測器（１８）から、前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第１の積分器（１３）の積分出力を補正するための補正量（ＣＯＲＲＥＣＴ）を決定する構成としてもよい。
【００１８】
本発明において、前記第１の積分器（１３）は、前記補正量決定器（１９）から前記補正量（ＣＯＲＲＥＣＴ）が出力された場合、前記第１の積分器（１３）の積分出力（ＰＰＭ）を、前記補正量で補正した値（例えばＰＰＭ±ＣＯＲＲＥＣＴ）に設定するとともに、前記補正した値から、前記第１のアップ信号（ＵＰ１）と前記第１のダウン信号（ＤＯＷＮ１）の積分を行う構成としてもよい。
【００１９】
本発明において、前記連続回数計測器（１８）は、前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が出力されるまでに、前記位相検出器から前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）が連続して出力される回数を計数し、
前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が出力されると、前記エラー信号（ＥＲＲ）が出力されるまでに計数された前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）の連続回数の計数値（図１５のＣＮＴＮ１）を後段に伝達したのち、前記計数値（ＣＮＴＮ１）を零にリセットする第１の回路ユニット（図１５の１８１〜１８４）と、
前記第１の回路ユニット（図１５の１８１〜１８４）から伝達された、前記第１のアップ信号又は前記第１のダウン信号の前記連続回数を受け、前記連続回数と、過去の前記第１のアップ信号又は前記第１のダウン信号の前記連続回数の累積加算値とを加算器（図１５の１８５）で加算した値を新たな累積加算値（ＣＮＴＮ２）とし、前記新たな累積加算値（ＣＮＴＮ２）が、前記第１のアップ信号又は前記第１のダウン信号の所定回数分に対応する値に達したか又は超えているとき、前記連続アップ検出信号（ＣＮＴＮＵＰ）又は前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）を出力するとともに、前記連続回数の累積加算値（ＣＮＴＮ２）を零にリセットする第２の回路ユニット（図１５の１８５〜１８９）と、を備えた構成としてもよい。
【００２０】
本発明において、前記第１の回路ユニットは、前記第１のアップ信号と前記第１のダウン信号を入力する論理回路（図１５（Ａ）の１８１）を備えた構成としてもよい。本発明において、前記論理回路（図１５（Ａ）の１８１）は、
（Ａ）前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）の連続回数の現在の第１の計数値（ＣＮＴＮ１）が＋１以上のときに、前記第１のダウン信号（ＤＯＷＮ１）が入力されると、
−１を出力し、
（Ｂ）前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）の連続回数の現在の前記第１の計数値（ＣＮＴＮ１）が−１以下のときに、前記第１のアップ信号（ＵＰ１）が入力されると、
＋１を出力し、
（Ｃ）前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）の連続回数の現在の前記第１の計数値（ＣＮＴＮ１）と、入力された前記第１のダウン信号又は前記第１のアップ信号の関係が、上記（Ａ）、（Ｂ）の関係以外の場合、入力された信号が前記第１のダウン信号（ＤＯＷＮ１）のとき、
前記現在の第１の計数値（ＣＮＴＮ１）に−１を加算した値を出力し、
（Ｄ）前記第１のアップ信号（ＵＰ１）又は前記第１のダウン信号（ＤＯＷＮ１）の連続回数の現在の前記第１の計数値（ＣＮＴＮ１）と、入力された前記第１のダウン信号又は前記第１のアップ信号の関係が、上記（Ａ）、（Ｂ）の関係以外の場合、入力された信号が前記第１のアップ信号（ＵＰ１）のとき、現在の前記第１の計数値（ＣＮＴＮ１）に＋１を加算した値を出力する構成としてもよい。
【００２１】
本発明において、前記第１の回路ユニット（図１５）は、さらに、前記論理回路の出力と零とを入力し、前記位相検出器（１２）からの前記エラー信号（ＥＲＲ）を選択制御信号とし、前記エラー信号（ＥＲＲ）が出力されないとき、前記論理回路（１８１）の出力を選択して出力し、前記位相検出器（１２）から前記エラー信号が出力されたときは零を選択して出力する第１のセレクタ（図１５の１８２）と、
前記第１のセレクタの出力を入力し、出力から前記第１の計数値（ＣＮＴＮ１）を出力する第１のフリップフロップ（図１５の１８３、エッジトリガー型のレジスタ）と、
前記第１のフリップフロップ（１８３）の出力と零とを入力し、前記位相検出器（１２）からの前記エラー信号（ＥＲＲ）を選択制御信号とし、前記エラー信号（ＥＲＲ）が出力されないときは、零を選択し、前記位相検出器から前記エラー信号が出力されたときは、前記第１のフリップフロップの出力を選択する第２のセレクタ（図１５の１８４）と、を備えた構成としてもよい。
【００２２】
本発明において、前記第２の回路ユニットは、前記第２のセレクタ（１８４）の出力と第２の計数値（ＣＮＴＮ２）を加算する加算器（図１５の１８５）と、
前記加算器（１８５）の出力と零とを入力する第３のセレクタ（図１５の１８６）と、
前記第３のセレクタ（１８６）の出力を入力し出力を前記第２の計数値（ＣＮＴＮ２）とする第２のフリップフロップ（図１５の１８７、エッジトリガー型のレジスタ）と、
前記第２のフリップフロップ（１８７）から出力される前記第２の計数値（ＣＮＴＮ２）を受け、前記第２の計数値（ＣＮＴＮ２）が所定の正値（Ｍ）以上の場合、連続アップ検出信号（ＣＮＴＮＵＰ）、前記第２の計数値（ＣＮＴＮ２）が所定の負値（−Ｍ）以下の場合、連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）を出力する比較回路（図１５の１８８）と、
前記比較回路（１８８）から前記連続アップ検出信号（ＣＮＴＮＵＰ）又は前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）が出力されると、前記第３のセレクタ（１８６）にて零を選択し、前記比較回路（１８８）から前記連続アップ検出信号（ＣＮＴＮＵＰ）も前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）も出力されない場合、前記第３のセレクタ（１８６）にて前記加算器（１８５）の出力を選択するための選択制御信号を出力する論理ゲート（図１５の１８９）と、を備えた構成としてもよい。
【００２３】
本発明において、前記補正量決定器（１９）は、
（Ｅ）前記連続回数計測器（１８）から、前記連続アップ検出信号（ＣＮＴＮＵＰ）が出力されると、
前記補正量（ＣＯＲＲＥＣＴ）を正の所定値（ｐ）とし、
（Ｆ）前記連続回数計測器（１８）から、前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）が出力されると、
前記補正量（ＣＯＲＲＥＣＴ）を前記所定値の負値（−ｐ）とし、
（Ｇ）前記連続回数計測器（１８）から、前記連続アップ検出信号（ＣＮＴＮＵＰ）、前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）が出力されないとき、
前記補正量（ＣＯＲＲＥＣＴ）を零とする、
構成としてもよい。
【００２４】
あるいは、本発明において、前記補正量決定器（１９）は、
（Ｅ）前記連続回数計測器（１８）から、前記連続アップ検出信号（ＣＮＴＮＵＰ）が出力されると、
前記第１の積分器（１３）の出力（ＰＰＭ）と正の所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器（１３）の出力最大値（ＰＰＭmax）よりも小の場合、前記補正量（ＣＯＲＲＥＣＴ）を前記所定値（ｐ）とし、
前記第１の積分器（１３）の出力（ＰＰＭ）と前記所定値（ｐ）の和（ＰＰＭ＋ｐ）が、前記第１の積分器（１３）の出力最大値（ＰＰＭmax）以上のとき、前記補正量（ＣＯＲＲＥＣＴ）を前記所定値の負値（−ｐ）とし、
（Ｆ）前記連続回数計測器（１８）から、前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）が出力されると、
前記第１の積分器（１３）の出力（ＰＰＭ）から前記所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器（１３）の出力最小値（ＰＰＭmin）よりも大の場合、前記補正量（ＣＯＲＲＥＣＴ）を前記所定値の負値（−ｐ）とし、
前記第１の積分器（１３）の出力から前記所定値（ｐ）を差し引いた値（ＰＰＭ−ｐ）が、前記第１の積分器（１３）の出力最小値（ＰＰＭmin）以下のとき、前記補正量（ＣＯＲＲＥＣＴ）を前記所定値（ｐ）とし、
（Ｇ）前記連続回数計測器（１８）から、前記連続アップ検出信号（ＣＮＴＮＵＰ）、前記連続ダウン検出信号（ＣＮＴＮＤＯＷＮ）がともに出力されないときは、
前記補正量（ＣＯＲＲＥＣＴ）を零とする、
構成としてもよい。
【００２５】
本発明において、前記第１の積分器（１３）は、
前記位相検出器（１２）からの前記第１のアップ信号（ＵＰ１）の入力に応答してカウントアップし、前記位相検出器（１２）からの前記第１のダウン信号（ＤＯＷＮ１）の入力に応答してカウントダウンする第１のアップダウン・カウンタ（図１０の１４１）と、
前記第１のアップダウン・カウンタ（１４１）の出力と前記第１の積分器の出力値（ＰＰＭ）とを加算する第１の加算器（図１１の１４２１）と、
前記補正量と前記第１の積分器の出力値（ＰＰＭ）とを加算する第２の加算器（図１１の１４２２）と、
前記補正量（ＣＯＲＲＥＣＴ）が零のとき、前記第１の加算器（１４２１）の出力を選択し、前記補正量（ＣＯＲＲＥＣＴ）が非零のとき、前記第２の加算器（１４２２）の出力を選択するセレクタ（図１１の１４２４）と、
前記セレクタ（１４２４）の出力を受け出力が前記第１の積分器（１３）の積分出力値（ＰＰＭ）として出力されるとともに、前記第１、第２の加算器（１４２１、１４２２）に共通に入力されるフリップフロップ（図１１の１４２５、エッジトリガー型レジスタ）と、
を備えた構成としてもよい。なお、第１のアップダウン・カウンタ（図１０の１４１）は省略可能である。
【００２６】
本発明のさらに別の態様において、前記パターン発生器（１５）は、
前記第１の積分器の出力（ＰＰＭ）を受ける加算器（図１２の１５１）と、
前記加算器（１５１）の出力を所定の正整数で除した商と余りを出力する除算器（図１２の１５２）と、
前記除算器（１５２）の前記余りを受けるフリップフロップ（図１２の１５３、エッジトリガー型レジスタ）と、
を備え、前記加算器（１５１）は、前記フリップフロップ（１５３）からの前記余りと、前記第１の積分器の出力（ＰＰＭ）を加算し、前記商が前記パターン発生器（１５）の出力（ＵＰＤＯＷＮ３）とされる構成としてもよい。
【００２７】
本発明のさらに別の態様において、前記位相検出器（１２）から前記エラー信号が出力されると、前記第２の積分器にダウン信号（ＵＰＤＯＷＮ５）を与える強制ダウン生成器（図２０の２０）を備えた構成としてもよい。
【００２８】
本発明のさらに別の態様において、図２２を参照すると、前記位相検出器（１２）から前記エラー信号（ＥＲＲ）が所定回数出力されると、前記第１の積分器（１３）の積分出力（ＰＰＭ）を補正するための補正量を出力するエラー回数計測器（２１）を備えた構成としてもよい。
【００２９】
本発明において、図２３を参照すると、前記第２の積分器（１４）を前記混合器（１６）と前記位相補間器（１７）の間に備え、前記混合器（１６）は、前記パターン発生器（１５）と前記位相検出器（１２）の位相比較結果（ＵＰ１／ＤＯＷＮ１）を合成した結果を前記第２の積分器（１４）に供給する構成としてもよい。
【００３０】
本発明において、前記位相補間器（１７）からの多相のクロック信号（２相以上）で入力データ信号をサンプリングするデータサンプリング回路（１１）を備え、前記位相検出器（１２）は、前記データサンプリング回路（１１）でサンプリングされたデータ信号群を入力する。
【００３１】
本発明において、前記位相検出器（１２）は、図３を参照すると、
第１乃至第Ｎ（Ｎは４以上の偶数）の判定回路（図３のＥＸＯＲ）を備え、
第ｉの判定回路（ｉ＝１〜Ｎ）は、データ信号をＮ相のクロック信号でサンプリングしたデータ信号群のうち位相が隣り合うｉ番目の相とｉ＋１番目の相のクロック信号でサンプリングしたデータ信号が不一致であるか判定し、
前記第１乃至第Ｎの判定回路（ＥＸＯＲ）の出力を入力し、第ｊ及び第ｊ＋１（ただし、ｊ＝１、３、・・・Ｎ−１の奇数）の判定回路（ＥＸＯＲ）の各対（判定回路の対は全部でＮ対ある）のうち、少なくとも１対の判定回路の出力がともに不一致を示す場合、すなわち、第１と第２の判定回路（ＥＸＯＲ）の出力がともに不一致を示す、第３と第４の判定回路（ＥＸＯＲ）の出力がともに不一致を示す、・・・、第Ｎ−１と第Ｎの判定回路（ＥＸＯＲ）の出力がともに不一致を示す、のうちのいずれか１つでも成立した場合、エラー信号を出力し、
その他の場合、前記第１乃至第Ｎ（Ｎは２以上の整数）の判定回路の出力に基づき、前記第１のアップ信号、又は前記第１のダウン信号を出力する論理回路部（図３の１２３０）を備える。
【００３２】
本発明の別の態様において、ＣＤＲは、
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路（１１）と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致／不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第１のアップ信号（ＵＰ１）、又は、前記クロック信号の位相を遅らせる第１のダウン信号（ＤＯＷＮ１）を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号（ＥＲＲ）を出力する位相検出器（１２）と、
周波数追従ループを構成し、前記位相検出器（１２）からの前記第１のアップ信号（ＵＰ１）と前記第１のダウン信号（ＤＯＷＮ１）を積分する第１の積分器（１３）と、
位相追従ループを構成し、前記位相検出器（１２）からの前記第１のアップ信号（ＵＰ１）と前記第１のダウン信号（ＤＯＷＮ１）を積分する第２の積分器（１４）と、
前記第１の積分器（１３）の出力値に応じたパターンの信号値を生成するパターン発生器（１５）と、
前記第２の積分器（１４）の出力と前記パターン発生器（１５）の出力を合成する混合器（１６）と、
入力クロックを入力し前記混合器（１６）の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路（１１）に供給する位相補間器（１７）と、
前記位相検出器（１２）から前記エラー信号が出力されると、前記第２の積分器に対してダウン信号を与える強制ダウン生成器（２０）と、
を備えた構成としてもよい。
【００３３】
＜比較例の説明＞
はじめに図３４に示した関連技術のＣＤＲを比較例として説明する。なお、以下の説明は、比較例の課題を解決する本発明の理解の前提となるものである。
【００３４】
ＣＤＲが検出している周波数偏差が正しい場合、クロックとデータの位相関係の例を２つ示す。
【００３５】
（Ｉ）図３４の関連技術のＣＤＲに加わっている周波数偏差＝０ｐｐｍ（ｐａｒｔｓ  ｐｅｒ  ｍｉｌｌｉｏｎ）、ＣＤＲが検出している周波数偏差＝０ｐｐｍの場合。
【００３６】
ＣＤＲが追従できない高周波の正弦波ジッタ（ジッタが時間に対し正弦関数で推移する）をデータに印加すると、図２７のようになる。図２７において、データ周波数≒クロック周波数とし、ＣＤＲにおいて、位相が互いに９０度離間した４相クロック信号ＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０とＣＬＫ３６０でデータをサンプリングする場合のデータとクロックのタイミング関係の時間推移を模式的に示している。
【００３７】
ＣＬＫ０、ＣＬＫ１８０、ＣＬＫ３６０の各軸（経過時間）を交差する正弦波の曲線（正弦波曲線の振幅はジッタ成分）は、データのジッタの１周期を模式的に表しており、右欄の上半分の区間のＤＯＷＮは、クロック信号のエッジがデータ信号のエッジよりも進んでいるため、図３４の位相検出器１０１から位相比較結果として、ＤＯＷＮが出力され、右欄の下半分の区間のＵＰは、クロック信号のエッジがデータ信号のエッジよりも遅れているため、図３４の位相検出器１０１から位相比較結果として、ＵＰが出力されることを表している。図２７の場合、正弦波ジッタに対してＵＰ、ＤＯＷＮが同一頻度で出力されるため、ＣＤＲの動作は安定している。
【００３８】
図２７において、ＰＰＭは、図３４の積分器の出力ＵＰ３／ＤＯＷＮ３に対応する。ＰＰＭ≒０でデータ・クロック信号の引き込みが行われる。なお、図２７の動作例は、比較例のほか、本発明についても、成り立つ。
【００３９】
（II）図３４の関連技術のＣＤＲに加わっているデータ信号の周波数偏差＝＋５０００ｐｐｍ、ＣＤＲが検出している周波数偏差＝＋５０００ｐｐｍの場合、図２８のようになる。
【００４０】
データ信号は、その周波数とクロック信号の周波数との差が＋５０００ｐｐｍであることから、クロック信号よりも周期が短い。データ信号の周波数とクロック信号の周波数との差が０ｐｐｍと比べて、データ位相は、図２８の左側に流れていく。一方、ＣＤＲも、＋５０００ｐｐｍの周波数偏差を検出しているので、ＣＤＲは、クロック信号を＋５０００ｐｐｍ分、図の左にシフトさせる。図２８の右欄の上半分の区間のＤＯＷＮは、クロック信号のエッジが、データ信号のエッジよりも進んでいるため、図３４の位相検出器１０１から位相比較結果として、ＤＯＷＮが出力され、図２８の右欄の下半分の区間のＵＰは、クロック信号のエッジがデータ信号のエッジよりも遅れているため、図３４の位相検出器１０１から位相比較結果としてＵＰが出力されることを表している。図２８の場合、正弦波ジッタに対して、ＵＰ、ＤＯＷＮが同一頻度で出力されるため、ＣＤＲの動作は安定している。積分器１０２の出力ＰＰＭが、ＰＰＭ＝１あたり１２２．０７ｐｐｍの場合、ＰＰＭ＝５０００ｐｐｍ／１２２．０７ｐｐｍ≒４１で引き込みが行われる。
【００４１】
（III）図３４の関連技術のＣＤＲが検出している周波数偏差が大きく誤っている場合のクロックとデータ信号の位相関係の例を説明する。図２９は、データ周波数がクロック周波数よりも５０００ｐｐｍ高く、ＣＤＲが検出している周波数偏差が０ｐｐｍの場合の例を説明するための図である。図２９の場合、この状態で安定してしまい、ＣＤＲが引き込むまでの時間が長くなる可能性がある。さらに悪い場合は、永久に引き込まない可能性もある。
【００４２】
例えば、データ信号の周波数がクロック信号の周波数よりも３０００ｐｐｍ高く、ＣＤＲが検出している周波数偏差が−２０００ｐｐｍのような場合（ＣＤＲに印加されている周波数偏差と、ＣＤＲが検出している周波数偏差の差が５０００ｐｐｍ）も、問題が起きる正弦波ジッタ周波数は同じになる。
【００４３】
また、ＣＤＲに印加されている周波数偏差と、ＣＤＲが検出している周波数偏差の差が変われば、それに比例して問題が起きる正弦波ジッタ周波数も変わる。
【００４４】
最初の状態１と、時間Ｔ（＝正弦波ジッタの１周期）後の状態２では、データ１ｂｉｔ分ずれただけであり、同一である。状態１において、ＣＬＫ２７０はデータ信号の前縁のエッジのタイミングに位置しているが、時間Ｔ後の状態２では、ＣＬＫ２７０は、データ信号の後縁のエッジのタイミングに対応しており、データ信号の前縁のエッジは、ＣＬＫ９０のタイミングに位置している。
【００４５】
この状態で安定してしまい、データ信号の引き込みが行われない可能性がある。データ信号の周波数偏差は５０００ｐｐｍで左方向であり、直線の傾きは、
Ｔ／ｕ
で与えられる。ただし、ｕは１ＵＩ（Ｕｎｉｔ−Ｉｎｔｅｒｖａｌ：クロック周波数の逆数）である。
【００４６】
ｕ／Ｔ＝５０００／１００００００  
∴  ｆ＝１／Ｔ＝５０００／（１００００００ｕ）
【００４７】
ｕ＝２００ｐｓとすると、正弦波ジッタの周波数ｆは、ｆ＝２５ＭＨｚとなる。
【００４８】
シミュレーションを行ったところ、正弦波ジッタの大きさがある程度（例えば０．１ＵＩｐ−ｐ（ｐｅａｋ−ｔｏ−ｐｅａｋ）程度）小さい場合には、ＣＤＲ回路は引き込む。しかし、ジッタの大きさがある程度（例えば０．１ＵＩｐ−ｐ程度）大きい場合には、初期状態でＣＤＲが検出している周波数偏差がある程度正しい場合は引き込むが、大きく誤っている場合は、引き込まないことが判明した。シミュレーション結果から、位相追従ループの追従能力のおよそ３倍程度以上誤っている場合に、引き込まないようである。
【００４９】
つまり、ＣＤＲ回路の初期状態によっては、
ジッタトレランス特性が０．１ＵＩｐ−ｐ程度に低下、
引き込み時間の増大、さらには、
永久に引き込まない（０．１ＵＩｐ−ｐよりも大きい正弦波ジッタを加え、初期状態でＣＤＲが検出している周波数偏差が大きく誤っていた場合）、
といった問題が起きる可能性がある。
【００５０】
なお、図２９の例では、４相クロック信号ＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０、ＣＬＫ３６０の位相を直線（平行線）で示したが、厳密には、図３０のようになる。クロック位相はＵＰ期間は、少し左に寄り、ＤＯＷＮ期間は少し右に寄る。
【００５１】
図３１は、図３０の安定性を定性的にさらに説明するための図である。ＵＰ期間、データパターンの変化が少ないと、ＵＰが出ず、ＣＬＫはあまり左に寄らない。すると、次のＤＯＷＮの期間が短くなり、クロック位相はあまり右に寄らない。すると、さらに次のＵＰ期間が長くなり、クロック位相は左に寄る。つまり、データパターンの変化が少なく、例えばＵＰ期間にクロック位相が左に寄らないことがあっても、その直後のＤＯＷＮ期間が短くなったり、さらにその後のＵＰ期間が長くなったりすることで、クロック位相は左に寄り、安定性が保たれている。
【００５２】
本発明によれば、多相クロックでデータをサンプリングする位相検出器において、ＵＰ、ＤＯＷＮ、及び、エラーを検出し、エラー直前のＵＰ／ＤＯＷＮの発生状況を調査し、ＵＰ（ＤＯＷＮ）が連続している場合には、ＣＤＲが検出している周波数偏差を補正し、周波数、位相の引き込みが正しく行われるように制御する。以下、本発明を、いくつかの実施形態に即して詳細に説明する。
【００５３】
＜実施形態１＞
図１は、本発明の第１の実施形態の構成を示す図である。データサンプリング回路１１、位相検出器１２、積分器１３、積分器１４、パターン発生器１５、混合器１６、位相補間器１７、連続回数計測器１８、補正量決定器１９を備えている。
【００５４】
データサンプリング回路１１は、位相補間器１７からの多相の抽出クロックで入力データをサンプリングし、多相のクロック信号のいずれか一つの相のクロックに同期させてデータを出力する。なお、以下の実施形態では、４相クロックでデータをサンプリングする構成が例示されるが、本発明は、４相クロックに限定されるものでないことは勿論である。
【００５５】
＜データサンプリング回路１１＞
図２は、データサンプリング回路１１の構成例を示す図である。図２の構成は、クロック周波数がデータ周波数の１／２の場合であり、例えばデータが５Ｇｂｐｓならクロックは２．５ＧＨｚの４相クロック信号ＣＬＫ０、９０、１８０、２７０となる。クロック信号の周波数がデータ周波数の１／２の場合、データサンプリング回路１１は、サンプリングされた２個のデータ（例えばＣＬＫ０とＣＬＫ１８０によるデータ信号の中心のサンプル値）を抽出データとして、抽出クロックとともにＣＤＲから他の回路に出力される。
【００５６】
データサンプリング回路１１は、データ入力を差動で受けデータ信号をシングルエンド出力するレシーバ１１１と、レシーバ１１１の出力信号をデータ端子（Ｄ）に受け４相クロック信号ＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０をクロック端子（Ｃ）にそれぞれ受け、クロック信号ＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでデータ端子（Ｄ）の信号をそれぞれサンプル出力するフリップフロップ１１２、１１３、１１４、１１５と、フリップフロップ１１２、１１３、１１４、１１５の出力端子（Ｑ）からの出力信号をデータ端子（Ｄ）に受け、クロック信号ＣＬＫ０をクロック端子（Ｃ）に受け、ＣＬＫ０の立ち上がりエッジでデータ端子（Ｄ）の信号をそれぞれサンプルするフリップフロップ１１６、１１７、１１８、１１９を備えている。フリップフロップ１１６、１１７、１１８、１１９の出力端子（Ｑ）からの出力信号はＤＡＴＡ０、ＤＡＴＡ９０、ＤＡＴＡ１８０、ＤＡＴＡ２７０とされ、フリップフロップ１１２の出力端子（Ｑ）からの出力信号はＤＡＴＡ３６０とされる。２つのデータＤＡＴＡ３６０とＤＡＴＡ１８０は抽出データとして出力され、４＋１＝５個のデータＤＡＴＡ０、ＤＡＴＡ９０、ＤＡＴＡ１８０、ＤＡＴＡ２７０、ＤＡＴＡ３６０が位相検出器１２へ供給される。
【００５７】
ＣＤＲが引き込んだ状態では、クロック信号ＣＬＫ０とＣＬＫ１８０がデータ信号の中心をサンプリングし、クロック信号ＣＬＫ９０とＣＬＫ２７０がデータ信号の変化点（エッジ）をサンプリングする。クロック周波数がデータ周波数の１／２の場合、データサンプリング回路１１は、サンプリングされた２個のデータ（例えばＣＬＫ０とＣＬＫ１８０によるデータ信号の中心のサンプル値）を抽出データとして、抽出クロックとともにＣＤＲから、他の回路（抽出クロックにより抽出データを処理する回路）に出力される。
【００５８】
一般に、クロック周波数がデータ周波数の１／ｎの場合、クロック信号は、２×ｎ相とされる。データサンプリング回路１１は、２×ｎ＋１個のデータを位相検出器１２に出力し、ｎ個のデータを抽出データとして、抽出クロックとともにＣＤＲから他の回路に出力される。図２のように、クロック周波数がデータ周波数の１／２の場合、クロックは２×２相＝４相とされ、データサンプリング回路１１は２×２＋１＝５個のデータを位相検出器１２に出力し、２個の抽出データを出力する。
【００５９】
＜位相検出器１２＞
図３は、図１の位相検出器１２の構成例を示す図である。位相検出器１２は、データサンプリング回路１１から入力されたデータＤＡＴＡ０、ＤＡＴＡ９０、ＤＡＴＡ１８０、ＤＡＴＡ２７０、ＤＡＴＡ３６０のうち隣り合うデータ同士を２入力の排他的論理和（ＥＸＯＲ）回路１２０１、１２０２、１２０３、１２０４で比較する。なお、第４相のクロック信号ＣＬＫ２７０でサンプリングされたＤＡＴＡ２７０の隣りのデータとして巡回的に、ＣＬＫ３６０、したがって、次のサイクルのＣＬＫ０でサンプリングされたＤＡＴＡ３６０との比較が、２入力の排他的論理和（ＥＸＯＲ）回路１２０４で行われる。２入力の排他的論理和（ＥＸＯＲ）回路は２入力が一致のとき０、不一致のとき１を出力する。排他的論理和（ＥＸＯＲ）回路１２０１、１２０２、１２０３、１２０４の出力は、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１となる。
【００６０】
図３を参照すると、位相検出器１２は、さらに、
ＤＯＷＮ０１を入力するインバータ１２０５と、
ＤＯＷＮ００を入力するインバータ１２０７と、
ＵＰ０１を入力するインバータ１２１２と、
ＵＰ００を入力するインバータ１２１４と、
ＵＰ００とインバータ１２０５の出力を入力する２入力の論理積（ＡＮＤ）回路１２０６と、
ＵＰ０１とインバータ１２０７の出力を入力するＡＮＤ回路１２０８と、
ＵＰ００とＤＯＷＮ００を入力する２入力のＡＮＤ回路１２０９と、
ＵＰ０１とＤＯＷＮ０１を入力する２入力のＡＮＤ回路１２１０と、
ＤＯＷＮ００とインバータ１２１２の出力を入力する２入力の論理積（ＡＮＤ）回路１２１３と、
ＤＯＷＮ０１とインバータ１２１４の出力を入力するＡＮＤ回路１２１５と、
ＡＮＤ回路１２０６、１２０８の出力を入力する２入力の論理和（ＯＲ）回路１２１６と、
ＡＮＤ回路１２０９、１２１０の出力を入力する２入力のＯＲ回路１２１１と、
ＡＮＤ回路１２１３、１２１５の出力を入力する２入力のＯＲ回路１２１８と、
ＯＲ回路１２１１の出力を入力するインバータ１２１７と、
ＯＲ回路１２１６とインバータ１２１７の出力を入力する２入力のＡＮＤ回路１２１９と、
ＯＲ回路１２１８とインバータ１２１７の出力を入力する２入力のＡＮＤ回路１２２０と、
からなる論理回路部１２３０を備える。
【００６１】
論理回路部１２３０は、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１を入力し、ＵＰ１、ＥＲＲ、ＤＯＷＮ１を出力する。
【００６２】
ＯＲ回路１２１１は論理演算ＯＲ（ＡＮＤ（ＵＰ００、ＤＯＷＮ００）、ＡＮＤ（ＵＰ０１、ＤＯＷＮ０１））を行う。
【００６３】
ＥＲＲは、ＯＲ回路１２１１の出力、したがって、ＥＲＲは、（ＵＰ００＝１且つＤＯＷＮ００＝１）と（ＵＰ０１＝１、且つＤＯＷＮ０１＝１）の少なくとも一方が成立するとき１（例えばＨｉｇｈ）となる。なお、信号の値１、０は論理値を表している。
【００６４】
ＡＮＤ回路１２１９は、ＯＲ回路１２１１の出力が０であるとき、ＯＲ回路１２１６の出力信号をそのまま伝達出力する。ＯＲ回路１２１６は、論理演算ＯＲ（ＡＮＤ（ＵＰ００、／ＤＯＷＮ００）、ＡＮＤ（ＵＰ０１、／ＤＯＷＮ０１））を行う。したがって、（ＵＰ００＝１、且つＤＯＷＮ００＝０）、（ＵＰ０１＝１、且つＤＯＷＮ０１＝０）の少なくとも一方が成り立つとき、ＵＰ１は１（例えばＨｉｇｈ）となる。例えば（ＵＰ００＝１、且つＤＯＷＮ００＝１）が成り立つ場合、クロック信号ＣＬＫ０とＣＬＫ９０でサンプリングしたＤＡＴＡ０とＤＡＴＡ９０の値が異なり、クロック信号ＣＬＫ９０とＣＬＫ１８０でサンプリングしたＤＡＴＡ９０とＤＡＴＡ１８０の値が異なり、１データサイクル（＝１／２クロック周期）でデータの反転が２回生じていることになり、エラーと判定する。（ＵＰ０１＝１、且つＤＯＷＮ０１＝１）が成り立つ場合も同様に、クロック信号ＣＬＫ１８０とＣＬＫ２７０でサンプリングしたＤＡＴＡ１８０とＤＡＴＡ２７０の値が異なり、クロック信号ＣＬＫ２７０とＣＬＫ３６０でサンプリングしたＤＡＴＡ２７０とＤＡＴＡ３６０の値が異なり、１データサイクル（＝１／２クロック周期）でデータの反転が２回生じていることになり、エラーとなる。
【００６５】
ＡＮＤ回路１２２０は、ＯＲ回路１２１１の出力が０であるとき、ＯＲ回路１２１８の出力をそのまま伝達出力される。ＯＲ回路１２１８は、論理演算ＯＲ（ＡＮＤ（ＤＯＷＮ００、／ＵＰ０１）、ＡＮＤ（ＤＯＷＮ０１、／ＵＰ００））を行う。（ＤＯＷＮ００＝１、且つＵＰ０１＝０）、（ＤＯＷＮ０１＝１、且つＵＰ００＝０）の少なくとも一方が成り立つとき、ＤＯＷＮ１が１（例えばＨｉｇｈ）となる。
【００６６】
図４に、上記した論理回路部１２３０の論理を真理値表としてまとめて示す。位相検出器１２の出力は、４パターンに分類できる。それぞれについて、データサンプリング回路１１から位相検出器１２の出力までのタイミングチャートの例を示す。なお、図４において、信号の値１、０は論理値を表している。
【００６７】
上記したように、ＵＰ００＝１且つＤＯＷＮ００＝１の場合、ＥＲＲ＝１、ＵＰ１＝ＤＯＷＮ１＝０とする。
【００６８】
ＵＰ０１＝１且つＤＯＷＮ０１＝１の場合、ＥＲＲ＝１、ＵＰ１＝ＤＯＷＮ１＝０とする。
【００６９】
それ以外の場合、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１を多数決し、ＵＰが多い場合、ＵＰ１＝１、ＤＯＷＮ１＝０とし、ＤＯＷＮが多い場合、ＵＰ１＝０、ＤＯＷＮ１＝１とする。
【００７０】
＜ＤＯＷＮ発生時の動作例＞
次に、抽出クロック信号の位相がデータよりも進んでおり、ＤＯＷＮが発生する場合を説明する。
【００７１】
図５は、ＤＯＷＮ１＝１（＝Ｈｉｇｈ）となる場合の動作例を示すタイミング図である。図５（Ａ）には、データ入力、クロック信号ＣＬＫ０、９０、１８０、２７０、サンプリングデータＤＡＴＡ０、９０、１８０、２７０、３６０、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１、ＵＰ１、ＤＯＷＮ１、ＥＲＲの電圧波形が示されている。なお、特に制限されないが、以下のタイミング図では、Ｈｉｇｈを論理１、Ｌｏｗを論理０とする。図５（Ｂ）は、抽出クロックとデータ信号の位相の関係を示す波形図である。ＣＬＫ０、ＣＬＫ１８０は、それぞれの矢線の右隣の破線が示すデータ中心部に来るべきところ、位相が進んでいる。ＣＬＫ９０、２７０は、それぞれの右隣の破線が示すデータエッジに来るべきところ、位相が進んでいる。
【００７２】
図５（Ａ）を参照すると、データ入力としてａ＝１、ｂ＝０、ｃ＝１、ｄ＝０、ｅ＝１、ｆ＝０、ｇ＝１、ｈ＝０がこの順でクロック周波数の２倍の周波数で入力されるものとする。またａ＝１の前にｚ＝０（≠ａ）が入力されているものとする。
【００７３】
ＣＬＫ０の立ち上がり（タイミングｔ０）で、ＤＡＴＡ０、９０、１８０、２７０、３６０（ただし、ＤＡＴＡ３６０はＣＬＫ０から１クロックサイクル（３６０度）遅れたクロック（ＣＬＫ３６０）でサンプルされたデータ）には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｚ、ｚ、ａ、ａと、今回のＣＬＫ０（したがってＣＬＫ３６０）の立ち上がりでサンプリングされたｂとがパラレルに出力される。この結果、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｌｏｗ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｈｉｇｈ、Ｌｏｗとなる。ＤＡＴＡ９０、ＤＡＴＡ１８０のｚ、ａを比較するＥＸＯＲ１２０２の出力ＤＯＷＮ００、ＤＡＴＡ２７０、ＤＡＴＡ３６０のａとｂを比較するＥＸＯＲ１２０４の出力ＤＯＷＮ０１がＨｉｇｈとなり、ＵＰ００、ＵＰ０１はＬｏｗとなる。したがって、ＤＯＷＮ１＝１となる。以降も同様である。この場合、抽出クロック信号の位相を遅らせる。
【００７４】
＜ＵＰ発生時の動作例＞
次に抽出クロック位相が遅れており、ＵＰが発生する場合を説明する。
【００７５】
図６は、ＵＰ１＝Ｈｉｇｈとなる場合の動作例を示すタイミング図である。図６（Ａ）には、データ入力、ＣＬＫ０、９０、１８０、２７０、ＤＡＴＡ０、９０、１８０、２７０、３６０（ただし、ＤＡＴＡ３６０はＣＬＫ０から１クロックサイクル（３６０度）遅れたクロック（ＣＬＫ３６０）でサンプルされたデータ）、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１、ＵＰ１、ＤＯＷＮ１、ＥＲＲの電圧波形が示されている。なお、Ｈｉｇｈを論理１、Ｌｏｗを論理０とする。
【００７６】
図６（Ｂ）は抽出クロックとデータ信号の位相の関係を示す波形図である。ＣＬＫ０、ＣＬＫ１８０は、それぞれの矢線の左隣の破線が示すデータ中心部に来るべきところ、位相が遅れている。ＣＬＫ９０、２７０は、それぞれの矢線の左隣の破線が示すデータエッジに来るべきところ、位相が遅れている。
【００７７】
図６（Ａ）を参照すると、データ入力としてａ＝１、ｂ＝０、ｃ＝１、ｄ＝０、ｅ＝１、ｆ＝０、ｇ＝１、ｈ＝０がこの順でクロック周波数の２倍の周波数で入力されるものとする。またａ＝１の前にｚ＝０（≠ａ）が入力されているものとする。
【００７８】
ＣＬＫ０の立ち上がり（タイミングｔ０）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｚ、ａ、ａ、ｂと、今回のＣＬＫ０の立ち上がりでサンプリングされたｂとがパラレルに出力される。この結果、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈ、Ｌｏｗとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＨｉｇｈ、Ｌｏｗ、Ｌｏｗとなる。ＤＡＴＡ０、ＤＡＴＡ９０のｚ、ａを比較するＥＸＯＲ１２０１の出力ＵＰ００が１、ＤＡＴＡ１８０、ＤＡＴＡ２７０のａとｂを比較するＥＸＯＲ１２０３の出力ＵＰ０１がＨｉｇｈとなり、ＤＯＷＮ００、ＤＯＷＮ０１はＬｏｗとなる。したがって、ＵＰ１＝１となる。以降も同様である。この場合、抽出クロック信号の位相を進ませる。
【００７９】
＜ＵＰとＤＯＷＮが同程度発生する動作例＞
次に抽出クロック位相は最適であり、ＵＰとＤＯＷＮが同程度発生する場合について説明する。
【００８０】
図７は、ＵＰ１＝１、ＤＯＷＮ＝１が同程度の頻度で生じる場合の動作例を示すタイミング図である。図７（Ａ）には、データ入力、ＣＬＫ０、９０、１８０、２７０、ＤＡＴＡ０、９０、１８０、２７０、３６０（ただし、ＤＡＴＡ３６０はＣＬＫ０から１クロックサイクル（３６０度）遅れたクロック（ＣＬＫ３６０）でサンプルされたデータ）、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１、ＵＰ１、ＤＯＷＮ１、ＥＲＲの電圧波形が示されている。なお、Ｈｉｇｈを論理１、Ｌｏｗを論理０とする。
【００８１】
図７（Ｂ）は抽出クロックとデータ信号の位相の関係を示す波形図である。ＣＬＫ０、ＣＬＫ１８０のそれぞれの矢線はほぼ破線が示すデータ中心部にあり、ＣＬＫ９０、２７０のそれぞれの矢線はほぼ破線が示すデータエッジにある。
【００８２】
図７（Ａ）を参照すると、データ入力としてａ＝１、ｂ＝０、ｃ＝１、ｄ＝０、ｅ＝１、ｆ＝０、ｇ＝１、ｈ＝０がこの順でクロック周波数の２倍の周波数で入力されるものとする。またａ＝１の前にｚ＝０（≠ａ）が入力されているものとする。ａ、ｂ、ｃ、ｆの上の右矢印→は、データ位相（エッジ）の遅れを表しており、ｄ、ｅ、ｇの上の左矢印←はデータ位相（エッジ）の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。
【００８３】
クロック信号ＣＬＫ０の立ち上がり（タイミングｔ０）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｚ、ｚ、ａ、ａと、今回のＣＬＫ０の立ち上がりでサンプリングされたｂとがパラレルに出力される。この結果、図５（Ａ）と同様、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｌｏｗ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｈｉｇｈ、Ｌｏｗとなる。すなわち、ＤＡＴＡ９０、ＤＡＴＡ１８０のｚ、ａを比較するＥＸＯＲ１２０２の出力ＤＯＷＮ００、ＤＡＴＡ２７０、ＤＡＴＡ３６０のａとｂを比較するＥＸＯＲ１２０４の出力ＤＯＷＮ０１がＨｉｇｈとなり、ＵＰ００、ＵＰ０１はＬｏｗとなる。したがって、ＤＯＷＮ１はＨｉｇｈとなる。
【００８４】
次のクロックサイクルのＣＬＫ０の立ち上がり（タイミングｔ１）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｂ、ｂ、ｃ、ｄと、今回のＣＬＫ０の立ち上がりでサンプリングされたｄとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｌｏｗ、Ｈｉｇｈ、Ｈｉｇｈ、Ｌｏｗとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｌｏｗとなる。
【００８５】
さらに次のクロックサイクルのＣＬＫ０の立ち上がり（タイミングｔ２）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｄ、ｅ、ｅ、ｅと、今回のＣＬＫ０の立ち上がりでサンプリングされたｆとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｌｏｗ、Ｌｏｗ、Ｈｉｇｈとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｌｏｗとなる。
【００８６】
さらに次のクロックサイクルのＣＬＫ０の立ち上がり（タイミングｔ３）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｆ、ｇ、ｇ、ｈと、今回のＣＬＫ０の立ち上がりでサンプリングされたｈとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈ、Ｌｏｗとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＨｉｇｈ、Ｌｏｗ、Ｌｏｗとなる。
【００８７】
図７（Ｂ）に示すように、ＣＤＲが引き込んでいる状態である。ＣＬＫ０とＣＬＫ１８０がデータ信号の中心をサンプリングし、ＣＬＫ９０とＣＬＫ２７０がデータ信号のエッジをサンプリングしている。ＵＰ１、ＤＯＷＮ１の頻度が同じであり、ＣＤＲでは引き込みが行われている。
【００８８】
＜ＥＲＲ出力時の動作例＞
次に抽出クロック位相は最悪（データサンプリングクロック信号ＣＬＫ０、ＣＬＫ１８０がデータ信号の変化点をサンプリングしている）であり、ＥＲＲを出力する場合について説明する。
【００８９】
図８（Ａ）には、データ入力、ＣＬＫ０、９０、１８０、２７０、ＤＡＴＡ０、９０、１８０、２７０、３６０（ただし、ＤＡＴＡ３６０はＣＬＫ０から１クロックサイクル（３６０度）遅れたクロック（ＣＬＫ３６０）でサンプルされたデータ）、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１、ＵＰ１、ＤＯＷＮ１、ＥＲＲの電圧波形が示されている。なお、Ｈｉｇｈを論理１、Ｌｏｗを論理０とする。
【００９０】
図８（Ｂ）は抽出クロックとデータ信号の位相の関係を示す波形図である。図７（Ｂ）とは４相クロック位相が、９０度遅れている。ＣＬＫ０、ＣＬＫ１８０のそれぞれの矢線はほぼ破線が示すデータ信号のエッジにあり、ＣＬＫ９０、２７０のそれぞれの矢線はほぼ破線が示すデータ中心部にある。
【００９１】
図８（Ａ）を参照すると、データ入力としてａ＝１、ｂ＝０、ｃ＝１、ｄ＝０、ｅ＝１、ｆ＝０、ｇ＝１、ｈ＝０がこの順でクロック周波数の２倍の周波数で入力されるものとする。またａ＝１の前にｚ＝０（≠ａ）が入力されているものとする。ａ、ｂ、ｃ、ｆの上の右矢印→は、データ位相（エッジ）の遅れを表しており、ｄ、ｅ、ｇ、ｈの上の左矢印←はデータ位相（エッジ）の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。
【００９２】
ＣＬＫ０の立ち上がり（タイミングｔ０）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｚ、ａ、ａ、ｂと、今回のＣＬＫ０の立ち上がりでサンプリングされたｂとがパラレルに出力される。この結果、図６（Ａ）と同様、ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈ、Ｌｏｗとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＨｉｇｈ、Ｌｏｗ、Ｌｏｗとなる。
【００９３】
次のクロックサイクルのＣＬＫ０の立ち上がり（タイミングｔ１）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｂ、ｃ、ｄ、ｄと、今回のＣＬＫ０の立ち上がり（ｔ１）でサンプリングされたｅとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｈｉｇｈ、Ｌｏｗ、Ｈｉｇｈとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｈｉｇｈとなる。
【００９４】
さらに次のクロックサイクルのＣＬＫ０の立ち上がり（タイミングｔ２）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｅ、ｅ、ｅ、ｆと、今回のＣＬＫ０の立ち上がり（ｔ２）でサンプリングされたｇとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｌｏｗ、Ｌｏｗ、Ｈｉｇｈ、Ｈｉｇｈとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｈｉｇｈとなる。
【００９５】
ＥＲＲ＝１において、ＣＬＫ０、ＣＬＫ１８０はデータ信号のエッジをサンプリングしている。
【００９６】
＜積分器１４（ＵＰ／ＤＯＷＮカウンタ）の状態遷移例＞
位相追従ループ内の積分器１４は、位相検出器１２からのＵＰ１とＤＯＷＮ１を受け、ＵＰ１＝ＨｉｇｈのときＵＰカウントし、ＤＯＷＮ１＝Ｈｉｇｈのとき、ＤＯＷＮカウントするＵＰ／ＤＯＷＮカウンタ（不図示）を備える。図９は、積分器１４のＵＰ／ＤＯＷＮカウンタの状態遷移図である。実線はＵＰ１＝１の場合の状態遷移、破線はＤＯＷＮ１＝１の場合の状態遷移を表す。ＵＰ１＝１のとき、クロック入力に応答してカウント値を１つインクリメントし、ＤＯＷＮ１＝１のとき、クロック入力に応答してカウント値を１つデクリメントし、現在サイクルのカウント値が＋７の場合、ＵＰ１＝１であると、＋７から０に戻る。このときＵＰＤＯＷＮ２＝＋１を出力する。現在サイクルのカウント値が−７の場合、ＤＯＷＮ１＝１であると、−７から０に戻る。このときＵＰＤＯＷＮ２＝−１を出力する。
【００９７】
積分器１４において、ＵＰ１がＤＯＷＮ１よりも８回多くなった時点で、ＵＰＤＯＷＮ２＝＋１を出力し、ＤＯＷＮ１がＵＰ１より８回多くなったらＵＰＤＯＷＮ２＝−１を出力する。
【００９８】
積分器１４は、ＣＤＲ回路を安定化させるためのものである。積分器がない場合、位相検出器１２が出力したＵＰ１／ＤＯＷＮ１を用いて抽出クロック位相を頻繁に動かしてしまい、抽出クロック信号の位相が安定しない。
【００９９】
＜積分器１３の構成例＞
図１０は、周波数追従ループ内の積分器１３の構成の一例を示す図である。図１０に示すように、積分器１３は、２段のＵＰ／ＤＯＷＮカウンタ１４１、１４２を備える。１段目のＵＰ／ＤＯＷＮカウンタ１４１は、位相追従ループの積分器１４のＵＰ／ＤＯＷＮカウンタと同一構成とされる。ＵＰ／ＤＯＷＮカウンタ１４１は、位相検出器１２が出力したＵＰ１／ＤＯＷＮ１で毎回周波数偏差情報を更新するのではなく、ＵＰとＤＯＷＮが所定の回数多くなった時だけ更新するために設けるＵＰ／ＤＯＷＮカウンタである。ＵＰ１／ＤＯＷＮ１で毎回周波数偏差情報を更新する場合、１段目のカウンタ１４１は使用しない。
【０１００】
２段目のＵＰ／ＤＯＷＮカウンタ１４２のカウント値であるＰＰＭは、クロックとデータ信号の周波数偏差を表す。ＵＰ／ＤＯＷＮカウンタ１４２はＣＯＲＲＥＣＴ信号により、カウント値を補正する機能を備えている。ＵＰ／ＤＯＷＮカウンタ１４２において、オーバーフロー又はアンダーフロー発生時、カウント値を０に自動リセットするか、カウント値を最大値又は最小値に維持する。  
【０１０１】
＜積分器１３の２段目のＵＰ／ＤＯＷＮカウンタ１４２の構成例＞
図１１は、２段目のＵＰ／ＤＯＷＮカウンタ１４２の構成例を示す図である。図１１を参照すると、ＵＰ／ＤＯＷＮカウンタ１４２は、ＵＰ／ＤＯＷＮカウンタ１４１が出力したＵＰＤＯＷＮ７と出力ＰＰＭを加算する加算器１４２１と、ＣＯＲＲＥＣＴと出力ＰＰＭを加算する加算器１４２２と、ＣＯＲＲＥＣＴが０であるか判定する零判定器１４２３と、セレクタ１４２４と、セレクタ１４２４の出力を、入力されるクロック信号でサンプリングされた値をＰＰＭとして出力するフリップフロップ１４２５を備えている。セレクタ１４２４は、零判定器１４２３の判定結果に基づき、ＣＯＲＲＥＣＴが０のとき、加算器１４２１の出力を選択する。このとき、ＵＰ／ＤＯＷＮカウンタとして機能する。セレクタ１４２４は、零判定器１４２３の判定結果に基づき、ＣＯＲＲＥＣＴが０以外のとき、加算器１４２２の出力を選択する。これにより、ＰＰＭの値を補正する。
【０１０２】
＜パターン発生器１５の構成例＞
図１２は、図１のパターン発生器１５の構成例を示す図である。図１２を参照すると、パターン発生器１５は、積分器１４の出力ＰＰＭを入力する加算器１５１と、加算器１５１の出力をＮで除算し、商を出力信号ＵＰＤＯＷＮ３として出力する除算器１５２と、除算器１５２から余りを受けクロックに応答してサンプルするフリップフロップ１５３を備え、フリップフロップ（ＦＦ）１５３の出力端子（Ｑ）の出力信号（余り）が加算器１５１に帰還入力され、積分器１４の出力ＰＰＭと加算される。
【０１０３】
一例としてＮ＝６４の動作を説明する。
【０１０４】
ＰＰＭ＝１の場合、ＦＦ１５３の出力は０→１→・・・→６３と１つづつ増加し、次のクロックで、ＦＦ１５３の出力（余り）とＰＰＭの加算結果は６４となるので、除算器１５２はＵＰＤＯＷＮ３＝１を出力し、ＦＦ１５３の値は０となる。したがって、６４クロックに１回の確率でＵＰＤＯＷＮ３＝＋１を出力する。
【０１０５】
ＰＰＭ＝２の場合、ＦＦ１５３の出力は０→２→４→・・・→６２と２つづつ増加し、次のクロックで、ＦＦ１５３の出力（余り）とＰＰＭの加算結果は６４となるので、除算器１５２はＵＰＤＯＷＮ３＝１を出力し、ＦＦ１５３の値は０となる。したがって、６４クロックに２回の確率でＵＰＤＯＷＮ３＝＋１を出力する。
【０１０６】
ＰＰＭ＝−１の場合、ＦＦ１５３の出力は０→−１→−２→・・・→−６３と１つづつ減少し、次のクロックで、ＦＦ１５３の出力（余り）とＰＰＭの加算結果は−６４となるので、除算器１５２はＵＰＤＯＷＮ３＝ー１を出力し、ＦＦ１５３の値は０となる。したがって、６４クロックに１回の確率でＵＰＤＯＷＮ３＝−１を出力する。
【０１０７】
以上のように、一般に、０＜ＰＰＭ＜Ｎの場合、ＰＰＭ／Ｎの確率でＵＰＤＯＷＮ３＝＋１を出力し、０＞ＰＰＭ＞−Ｎの場合ＰＰＭ／Ｎの確率でＵＰＤＯＷＮ３＝−１を出力する。
【０１０８】
ＰＰＭの範囲は、−Ｎ＜ＰＰＭ＜Ｎに限定されることはない。ＰＰＭ＞＝Ｎの場合、ＵＰＤＯＷＮ３は、ＰＰＭ  ｄｉｖ  Ｎ又は  ＰＰＭ  ｄｉｖ  Ｎ＋１となる。ＰＰＭ  ｄｉｖ  Ｎ＋１を出力する確率は
（ＰＰＭ  ｍｏｄ  Ｎ）／Ｎ
で与えられる。ただし、ＰＰＭ  ｄｉｖ  Ｎと、ＰＰＭ  ｍｏｄ  Ｎは、整数の除算（ＰＰＭ÷Ｎ）の商と余りである。ＰＰＭ＜＝−Ｎの場合も同様である。
【０１０９】
パターン発生器１５において、ＵＰＤＯＷＮ３は、ＰＰＭに比例する。
【０１１０】
＜混合器１６の構成例＞
図１の混合器１６は、図１３に示すように、パターン発生器１５の出力信号ＵＰＤＯＷＮ３と積分器１２の出力信号ＵＰＤＯＷＮ２を加算し、加算結果を出力信号ＵＰＤＯＷＮ４を出力する加算器１６１から構成される。
【０１１１】
＜位相補間器１７＞
位相補間器１７は、クロックを入力し抽出クロック（多相クロック）を出力するインターポレータを備え、図１４に示すように、混合器１６からＵＰＤＯＷＮ４＝＋１が入力された場合、抽出クロック信号の位相を１Ｓｔｅｐ進め、ＵＰＤＯＷＮ４＝−１が入力された場合、位相を１ステップ遅らせる。ＵＰＤＯＷＮ４＝＋２が入力された場合、位相を２ステップ進める。位相補間器１７は、入力クロックとして４相クロック信号（０度、９０度、１８０度、２７０度）を入力し、ＵＰＤＯＷＮ４を制御信号として受け、位相を補間した抽出クロック信号ＣＬＫ０、９０、１８０、２７０を出力する。図１４では抽出クロックとして４相クロック信号の１つのクロック（例えばＣＬＫ０）が示されている。ＣＬＫ９０、１８０、２７０も同様にして位相が制御される。入力クロックから位相を調整した多相クロック（４相クロック）を生成する位相補間器１７は、例えば特許文献２（特開２００１−２７３０４８号公報）の図２、図４等に開示された構成が用いられる。
【０１１２】
＜積分器１３の出力信号ＰＰＭ（周波数偏差）＞
周波数追従ループ内の積分器１３の出力信号ＰＰＭは、ＣＤＲが検出している周波数偏差に相当する。その理由を以下説明する。
【０１１３】
一例として、以下の条件を考える。
＜条件１＞
・  データレート：５．０［Ｇｂｐｓ］
・  位相補間器１７の入力クロック：２．５［ＧＨｚ］
・  位相検出器１２の出力信号周波数（＝積分器１３、１４、パターン発生器１５、混合器１６の動作周波数）：１．２５  ［ＧＨｚ］
・  位相補間器１７の分解能  ：１Ｓｔｅｐは受信データ１ＵＩの１／３２に相当
・  パターン発生器１５（図１２）のＮ＝６４。
【０１１４】
この条件で、ＰＰＭ＝１の場合、パターン発生器１５の出力ＵＰＤＯＷＮ３は、１．２５ＧＨｚ（データレートの１／４に相当する）のクロック６４周期に１回の確率で＋１を出力する。ＵＰＤＯＷＮ３＝＋１により、クロック信号の位相は（１／３２）ＵＩシフトする。従って、ＰＰＭ＝１あたり、（１／４）×（１／６４）×（１／３２）×１００００００  ＝１２２．０７  ［ｐｐｍ］の周波数偏差に相当するＵＰＤＯＷＮ３を発生していることになる。
【０１１５】
ＰＰＭ＝２の場合、ＵＰＤＯＷＮ３の頻度が２倍になるので、１２２．０７×２＝２４４．１４ｐｐｍとなる。
【０１１６】
以上のように、積分器１３の出力ＰＰＭは、クロックとデータに周波数偏差（Ｆｒｅｑｕｅｎｃｙ  Ｄｅｖｉａｔｉｏｎ）（より正確には、クロックを基準（０ｐｐｍ）としたときのデータ信号の周波数偏差）に相当している。
【０１１７】
＜位相追従ループの追従能力＞
位相追従ループの追従能力について以下に説明しておく。条件は、上の周波数追従ループの説明に示した条件１のほかに、位相追従ループ内の積分器１４のカウント数を８とする。
【０１１８】
ＵＰ１がＤＯＷＮ１よりも８個多くなると、積分器１４の出力ＵＰＤＯＷＮ２＝＋１、ＤＯＷＮ１がＵＰ１より８個多くなると、ＵＰＤＯＷＮ２＝−１となる。
【０１１９】
位相検出器１２から、常に、ＵＰ１＝１、ＤＯＷＮ１＝０が入力された場合、１．２５ＧＨｚ（データレートの１／４に相当する）のクロック８周期に１回の確率で、ＵＰＤＯＷＮ２＝＋１を出力する。
【０１２０】
ＵＰＤＯＷＮ２＝＋１により、クロック位相は、１／３２ＵＩシフトする。従って、
（１／４）×（１／８）×（１／３２）×１００００００＝９７６．５６［ｐｐｍ］  
が理論上の限界である。マイナス側も同様である。
【０１２１】
＜連続回数計測器１８の構成例＞
図１５は、連続回数計測器１８の構成を示す図である。図１５（Ａ）を参照すると、位相検出器１２からのＵＰ／ＤＯＷＮ１を入力する論理回路１８１と、位相検出器１２からのＥＲＲが０のとき、論理回路１８１の出力を選択出力し、ＥＲＲが１のとき、０を選択出力するセレクタ１８２と、セレクタ１８２の出力をサンプルするフリップフロップ（エッジトリガー型のレジスタ）１８３と、位相検出器１２からのＥＲＲが０のとき、０を選択出力し、ＥＲＲが１のとき、フリップフロップ１８３の出力を選択出力するセレクタ１８４とを備え、フリップフロップ１８３の出力ＣＮＴＮ１は論理回路１８１に入力されている。第２のセレクタ１８４の出力を入力する加算器１８５と、加算器１８５の出力と０を選択するセレクタ１８６と、セレクタ１８６の出力をクロック信号の立ち上がりエッジでサンプルするフリップフロップ（エッジトリガー型のレジスタ）１８７と、フリップフロップ１８７の出力を入力し、ＣＮＴＮＵＰ、ＣＮＴＮＤＯＷＮを出力する比較回路１８８と、比較回路１８８の出力ＣＮＴＮＵＰ、ＣＮＴＮＤＯＷＮを入力する論理和（ＯＲ）回路１８９とを備えている。論理和（ＯＲ）回路１８９の出力はセレクタ１８６に帰還入力され、フリップフロップ１８７の出力は、加算器１８５に入力される。
【０１２２】
図１５（Ｂ）は、論理回路１８１の動作を説明する図である。
【０１２３】
（ａ）現在の計数値ＣＮＴＮ１＞＝１、且つ、ＵＰ１／ＤＯＷＮ１が−１、すなわち、位相検出器１２からＤＯＷＮ１が出力されたとき、論理回路１８１の出力は−１となる。
【０１２４】
例えばＣＮＴＮ１が＋２のとき、位相検出器１２からＤＯＷＮ１（＝−１）が出力されたとき、論理回路１８１の出力は−１となり、クロック信号に同期してフリップフロップ１８３の出力ＣＮＴＮ１は＋２から−１となる。
【０１２５】
（ｂ）現在の計数値ＣＮＴＮ１＝＜−１、且つ、ＵＰ１／ＤＯＷＮ１が＋１、すなわち、位相検出器１２からＵＰ１が出力されたとき、論理回路１８１の出力は＋１となる。
【０１２６】
例えばＣＮＴＮ１が−２のとき、位相検出器１２からＵＰ（＝＋１）が出力されたとき、論理回路１８１の出力は＋１となり、クロック信号に同期してフリップフロップ１８３の出力ＣＮＴＮ１は−２から＋１となる。
【０１２７】
（ｃ）その他の場合（（ａ）、（ｂ）以外の場合）、論理回路１８１の出力は、現在の計数値ＣＮＴＮ１に、ＵＰ１／ＤＯＷＮ１を加算した値となる。
【０１２８】
例えばＣＮＴＮ１が−１のとき、位相検出器１２からＤＯＷＮ１（＝−１）が出力されたとき、論理回路１８１の出力は−２となり、クロック信号に同期してフリップフロップ１８３の出力ＣＮＴＮ１は−１から−２となる。すなわち、位相検出器１２からＤＯＷＮ１（＝−１）が出力されると、ＣＮＴＮ１は１つデクリメントされる。また、例えばＣＮＴＮ１が＋１のとき、位相検出器１２からＵＰ１（＝＋１）が出力されたとき、論理回路１８１の出力は＋１＋１＝＋２となり、クロック信号に同期してフリップフロップ１８３の出力ＣＮＴＮ１は＋１から＋２となる。すなわち、位相検出器１２からＵＰ１（＝＋１）が出力されると、ＣＮＴＮ１は１つインクリメントされる。
【０１２９】
図１５（Ａ）の左側の回路は、常に、ＵＰ１／ＤＯＷＮ１の連続数をカウントしておく。連続回数の計数値ＣＮＴＮ１（フリップフロップ１８３の出力）と、ＵＰ１／ＤＯＷＮ１が異符号の場合、ＣＮＴＮ１に、ＵＰ１／ＤＯＷＮ１をセットし、それ以外の場合、ＣＮＴＮ１＋ＵＰ１／ＤＯＷＮ１とする。ＥＲＲ＝１が入力された場合、セレクタ１８４が、計数値ＣＮＴＮ１を選択して、右側の回路ブロックに伝達出力する。またセレクタ１８２で０を選択してフリップフロップ１８３に供給し、フリップフロップ１８３はクロックに同期して計数値ＣＮＴＮ１を０にリセットする。ＣＮＴＮ１により、ＥＲＲ＝１が入力される直前に、ＵＰ１、ＤＯＷＮ１が何回連続しているかが判る。すなわち、ＣＮＴＮ１の値は、その値が１以上の正値の場合、ＵＰ１が１回以上連続している連続回数の値を表し、ＣＮＴＮ１の値が−１以下の負値の場合、ＤＯＷＮ１が１回以上連続している連続回数の値を表している。
【０１３０】
図１５（Ａ）の右側の回路ブロック（加算器１８５、セレクタ１８６、フリップフロップ１８７、比較回路１８８、ＯＲ回路１８９）は、左側の回路ブロック（論理回路１８１、セレクタ１８２、フリップフロップ１８３、セレクタ１８４）のセレクタ１８４を介してＥＲＲ信号が１のときに入力される値を、現在の計数値ＣＮＴＮ２と加算器１８５で加算する。加算器１８５の加算結果は、セレクタ１８６を介してフリップフロップ１８７のデータ端子に入力され、フリップフロップ１８７は同期クロック（例えばＣＬＫ０）によってＣＮＴＮ２に前記加算結果を出力する。ＣＮＴＮ２は比較回路１８８に入力され、比較回路１８８は、ＣＮＴＮ２が所定回数以上（Ｍ以上）の場合（すなわち、ＵＰ１がＭ回以上連続して出力される場合）、連続ＵＰ検出信号ＣＮＴＮＵＰを１（Ｈｉｇｈ）として出力し、ＣＮＴＮ２が−Ｍ以下の場合（すなわち、ＤＯＷＮ１がＭ回以上連続して出力される場合）、連続ＤＯＷＮ検出信号ＣＮＴＮＤＯＷＮを１（Ｈｉｇｈ）として出力する。連続ＵＰ検出信号ＣＮＴＮＵＰ又は連続ＤＯＷＮ検出信号ＣＮＴＮＤＯＷＮの一方が１のときＯＲ回路１８９の出力は１となり、セレクタ１８６は０を選択出力し、フリップフロップ１８７のデータ端子に入力され、フリップフロップ１８７は同期クロック（例えばＣＬＫ０）によってＣＮＴＮ２を０（ゼロ）にリセットする。この結果、比較回路１８８は、連続ＵＰ検出信号ＣＮＴＮＵＰと連続ＤＯＷＮ検出信号ＣＮＴＮＤＯＷＮはともに０とし、ＯＲ回路１８９の出力は０となり、セレクタ１８６は加算器１８５の出力を選択する。すなわち、これ以降、０にリセットされた計数値（連続回数の累算値）ＣＮＴＮ２と、セレクタ１８４を介して伝達された連続回数とが加算器１８５で加算され累算されていくことになる。以上で、ＵＰ／ＤＯＷＮの連続回数を計数する。図１５（Ａ）の右側の回路ブロック（加算器１８５、セレクタ１８６、フリップフロップ１８７、比較回路１８８、ＯＲ回路１８９）は、比較回路１８８でＣＮＴＮ２の値がＭ以上又は−Ｍ以下となるまで、セレクタ１８４を介して伝達された連続回数をＣＮＴＮ２に累算していくことになる。
【０１３１】
＜連続回数計測器１８の動作例＞
図１６を参照すると、連続回数計測器１８の動作の一例が示されている。なお、図１６では、図１５（Ａ）の比較回路１８８のＭを「８」とした場合のＵＰ１／ＤＯＷＮ１、ＥＲＲ、ＣＮＴＮ１、ＣＮＴＮ２、ＣＮＴＮＵＰ、ＣＮＴＮＤＯＷＮが示されている。ＵＰ１／ＤＯＷＮ１の＋１はＵＰ１、−１はＤＯＷＮ１が出力されたことに対応する。
【０１３２】
ＵＰ１／ＤＯＷＮ１の−１（位相検出器１２からＤＯＷＮ１が出力される）が４サイクルつづき、５サイクル目で、ＵＰ１＝ＤＯＷＮ１＝０、ＥＲＲ＝１となる。この場合、ＣＮＴＮ１は、０、−１、−２、−３、−４となり、ＥＲＲ＝１のとき、セレクタ１８４でＣＮＴＮ１（＝−４：ＤＯＷＮ１の連続回数＝４）が選択され、加算器１８５に入力される。加算器１８５はゼロにリセットされているＣＮＴＮ２とセレクタ１８４を介して入力されたＣＮＴＮ１（＝−４）とを加算し加算結果（＝−４）をセレクタ１８６を介してフリップフロップ１８７のデータ端子に入力する。
【０１３３】
次のサイクルでフリップフロップ１８７によりＣＮＴＮ２は−４にセットされる。
【０１３４】
次に、ＵＰ１／ＤＯＷＮ１は−１（ＤＯＷＮ１）が２クロックサイクルつづき、次に、＋１（ＵＰ１）が２クロックサイクル連続して入力される。この場合、ＣＮＴＮ１＝−２の状態で、ＵＰ１が入力されると、論理回路１８１は前述したように、＋１を出力する。フリップフロップ１８３により次のサイクルでＣＮＴＮ１は−２から＋１に変化し、次にＵＰ１が入力されると、ＣＮＴＮ１は次のサイクルで＋１＋１＝＋２に更新される。このとき、位相検出器１２からＥＲＲ＝１が出力されている。セレクタ１８４でＣＮＴＮ１（＝＋２）が選択され、加算器１８５に入力される。加算器１８５は、現在の計数値ＣＮＴＮ２の値（＝−４）と、前段回路からセレクタ１８４を介して伝達されたＣＮＴＮ１の値（＝＋２）を加算し、加算結果（＝−２）がセレクタ１８６を介してフリップフロップ１８７のデータ端子に入力され、フリップフロップ１８７は次のサイクルでＣＮＴＮ２を−２に更新する。
【０１３５】
つづいて、ＵＰ１／ＤＯＷＮ１は＋１（ＵＰ１）が５クロックサイクルつづき、ＥＲＲ＝１が出力される。この場合、ＣＮＴＮ１は、０から＋１〜＋５と変化し、ＥＲＲ＝１のとき、セレクタ１８４でＣＮＴＮ１（＝＋５）が選択されて加算器１８５に入力される。加算器１８５はＣＮＴＮ２の現在値（＝−２）とＣＮＴＮ１の値（＝＋５）を加算し、加算結果（＝＋３）がセレクタ１８６を介してフリップフロップ１８７のデータ端子に入力され、フリップフロップ１８７は次のサイクルでＣＮＴＮ２を＋３に更新する。
【０１３６】
さらに、ＵＰ１／ＤＯＷＮ１は＋１（ＵＰ１）が５クロックサイクルつづき、ＥＲＲ＝１が出力される。この場合、ＣＮＴＮ１は０から＋１〜＋５と変化し、ＥＲＲ＝１のとき、セレクタ１８４でＣＮＴＮ１（＝＋５）が選択されて加算器１８５に入力される。加算器１８５はＣＮＴＮ２の現在値（＝＋３）とＣＮＴＮ１の値（＋５）を加算し、加算結果（＝＋８）がセレクタ１８６を介してフリップフロップ１８７のデータ端子に入力され、フリップフロップ１８７は次のサイクルでＣＮＴＮ２を＋８に更新する。ＣＮＴＮ２を入力し、ＣＮＴＮ２＞＝＋８であるか、ＣＮＴＮ２＜＝−８であるかを判定する比較回路１８８は、ＣＮＴＮ２の値が８以上であることを検出し、連続ＵＰ検出信号ＣＮＴＮＵＰに１（Ｈｉｇｈ）を出力する。ＣＮＴＮＵＰ＝Ｈｉｇｈを受けて、ＯＲ回路１８９の出力は１となり、セレクタ１８６は０を選択し、０がフリップフロップ１８７のデータ端子に入力され、次のサイクルで、ＣＮＴＮ２は０にセットされる。同様に、ＣＮＴＮ２が−８以下となった場合、ＣＮＴＮＤＯＷＮがＨｉｇｈとなり、セレクタ１８６は０を選択し、次のサイクルでＣＮＴＮ２は０にセットされる。
【０１３７】
＜補正量決定器１９の処理例１＞
補正量決定器１９は、問題となる状態から復帰させるには、ＣＤＲが検出している周波数偏差ＰＰＭを補正する。一番単純な方法は、以下のフローチャート図１７にしたがって、ＰＰＭの補正量ＣＯＲＲＥＣＴを決定する。
【０１３８】
ＥＲＲの直前にＵＰが連続していた場合（ＣＮＴＮＵＰ＝１）（ステップＳ１０１のＹｅｓ）、ＣＯＲＲＥＣＴ＝ｐ（ｐ＞０）とする（ステップＳ１０２）。
【０１３９】
ＥＲＲの直前にＤＯＷＮが連続していた場合（ＣＮＴＤＯＷＮ＝１）（ステップＳ１０３のＹｅｓ）、ＣＯＲＲＥＣＴ＝−ｐとする（ステップＳ１０４）。その他の場合（ステップＳ１０３のＮｏ）、ＣＯＲＲＥＣＴ＝０とする（ステップＳ１０５）。
【０１４０】
ここで、ｐは正の整数であり、位相追従ループの追従能力程度の値に設定するのがよい。ほかにも、いくつかの変形が考えられる。以下に２つ示す。
【０１４１】
＜補正量決定器１９の処理例２＞
図１８に示す例は、ＰＰＭを更新した結果、ＰＰＭ値の上限ＰＰＭ（Ｍａｘ）と、下限ＰＰＭ（Ｍｉｎ）の間に入る場合は、図１７と同じであるが、上限（Ｍａｘ）と下限（Ｍｉｎ）の範囲に入らない場合には、ＣＯＲＲＥＣＴの符号を極性に反転する。
【０１４２】
ＥＲＲの直前にＵＰが連続していた場合（ＣＮＴＮＵＰ＝１）（ステップＳ２０１のＹｅｓ）、ＰＰＭ＋ｐ＜ＰＰＭ（Ｍａｘ）の場合（ステップＳ２０２のＹｅｓ）、ＣＯＲＲＥＣＴ＝ｐとし（ステップＳ２０３）、ＰＰＭ＋ｐ＞＝ＰＰＭ（Ｍａｘ）の場合（ステップＳ２０２のＮｏ）、ＣＯＲＲＥＣＴ＝−ｐとする（ステップＳ２０６）。
【０１４３】
ＥＲＲの直前にＤＯＷＮが連続していた場合（ＣＮＴＮＤＯＷＮ＝１）（ステップＳ２０４のＹｅｓ）、ＰＰＭ−ｐ＞ＰＰＭ（Ｍｉｎ）の場合（ステップＳ２０５のＹｅｓ）、ＣＯＲＲＥＣＴ＝−ｐとし（ステップＳ２０６）、ＰＰＭ−ｐ＜＝ＰＰＭ（Ｍｉｎ）の場合（ステップＳ２０５のＮｏ）、ＣＯＲＲＥＣＴ＝ｐとする（ステップＳ２０３）。その他の場合（ステップＳ２０４のＮｏ）、ＣＯＲＲＥＣＴ＝０とする（ステップＳ２０７）。
【０１４４】
＜補正量決定器１９の処理例３＞
さらに補正量決定器１９の別の例を図１９に示す。図１９に示す例は、ＰＰＭを何回更新してもＣＤＲが引き込まない場合に、補正量ＣＯＲＲＥＣＴを大きくするものである。
【０１４５】
ＰＰＭの更新回数が８の倍数の場合に限り、ＣＯＲＲＥＣＴ＝＋ｑ又は−ｑ、（ｑ＞ｐ）と大きくする。ＰＰＭの上限と下限のチェックも行なっている。
【０１４６】
図１９のステップＳ３０１、Ｓ３０３、Ｓ３０４、Ｓ３０９、Ｓ３１１、Ｓ３１２、Ｓ３１８は、図１８のＳ２０１、Ｓ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５、Ｓ２０６、Ｓ２０７と同じである。図１９では、ステップＳ３０１とＳ３０３の間に回数が８に達したか否か（ＮＵＭ＝８？）の判定（ステップＳ３０２）が挿入され、ステップＳ３０４ではＮＵＭを１つインクリメントする。ステップＳ３０９とＳ３１１の間に回数が８に達したか否か（ＮＵＭ＝８？）の判定（ステップＳ３１０）が挿入され、ステップＳ３１２ではＮＵＭを１つインクリメントする。
【０１４７】
ステップＳ３０２でＮＵＭが８のとき、ＰＰＭ＋ｑ＜ＰＰＭ（Ｍａｘ）である場合（ステップＳ３０５のＹｅｓ）、ＣＯＲＲＥＣＴ＝ｑ（ｑ＞０）、ＮＵＭ＝０とする（ステップＳ３０６）。
【０１４８】
ＰＰＭ＋ｑ＜ＰＰＭ（Ｍａｘ）でない場合（ステップＳ３０５のＮｏ）、ＰＰＭ−ｑ＞ＰＰＭ（Ｍｉｎ）の場合（ステップＳ３１５のＹｅｓ）、ＣＯＲＲＥＣＴ＝−ｑ、ＮＵＭ＝０とし（ステップＳ３１７）、ＰＰＭ−ｑ＞ＰＰＭ（Ｍｉｎ）でない場合（ステップＳ３１５のＮｏ）、ＣＯＲＲＥＣＴ＝０、ＮＵＭ＝０とする（ステップＳ３１６）。
【０１４９】
ステップＳ３１０でＮＵＭが８のとき、ＰＰＭ−ｑ＞ＰＰＭ（Ｍｉｎ）である場合（ステップＳ３１３のＹｅｓ）、ＣＯＲＲＥＣＴ＝−ｑ、ＮＵＭ＝０とする（ステップＳ３１４）。
【０１５０】
ＰＰＭ−ｑ＞ＰＰＭ（Ｍｉｎ）でない場合（ステップＳ３１３のＮｏ）、ＰＰＭ＋ｑ＜ＰＰＭ（Ｍａｘ）の場合（ステップＳ３０７のＹｅｓ）、ＣＯＲＲＥＣＴ＝ｑ、ＮＵＭ＝０とし（ステップＳ３０８）、ＰＰＭ＋ｑ＜ＰＰＭ（Ｍａｘ）でない場合（ステップＳ３０７のＮｏ）、ＣＯＲＲＥＣＴ＝０、ＮＵＭ＝０とする（ステップＳ３１６）。
【０１５１】
＜本発明の動作原理の一例＞
図２９を参照して説明した関連技術の問題点に対する本発明による解決手法を説明する。図３２は、図２９において、本発明による位相検出器１２の４状態（ＵＰ、ＥＲＲ発生、ＤＯＷＮ、ＵＰとＤＯＷＮの頻度が同程度）を示した図である。データ周波数−クロック周波数の周波数偏差を５０００ｐｐｍとする。
【０１５２】
ＵＰからＤＯＷＮに切り替わるところに、ＥＲＲ発生状態が存在する。
【０１５３】
一方、ＣＤＲが引き込んでいる場合、ＥＲＲは発生しない（図３２では省略）。
【０１５４】
ＥＲＲ発生の有無は、問題が起きていることの検出に利用できる。ＥＲＲの直前の状態はＵＰである。位相検出器１２でＵＰ１＝１を出力し、位相追従ループでクロック位相を進ませているにも関わらず、ＥＲＲが発生したということは、周波数追従ループが周波数偏差を誤って小さく検出し、ＤＯＷＮを大量に挿入しているか、または、ＵＰを挿入する頻度が少なすぎる、ということである。
【０１５５】
従って、ＣＤＲが検出している周波数偏差を補正して大きくすれば、正しい周波数偏差に近くなることが分かる。
【０１５６】
ＥＲＲ発生直前のＵＰとＤＯＷＮの発生状況を調べることで、この状態に陥っていることが検出できる。ＥＲＲ発生直前にＵＰが頻発している場合、データに対してクロック位相が遅れ過ぎている（データに対してクロック周波数を低く見積もっている）ことに対応しており、クロック周波数を上げるため（ＵＰを頻繁に発生させるため）、ＰＰＭ値を大きくする。
【０１５７】
＜本発明の動作原理の他の例＞
図３３は、周波数偏差を誤って大きく見積もっている場合の例を説明する図である。ＥＲＲの直前の状態はＤＯＷＮである。ＣＤＲが検出している周波数偏差を補正して小さくすれば、正しい周波数偏差に近くなることが分かる。すなわち、ＥＲＲ発生直前にＤＯＷＮが頻発している場合、データに対してクロックが図３３の左に流れている（位相が進んでいる）。データ周波数からみてクロック周波数を高く見積もり過ぎている。このため、クロック周波数を下げ、ＤＯＷＮを頻繁に発生させるためにＰＰＭの値を小さくする。
【０１５８】
本実施形態においては、位相検出器１２でＥＲＲの発生を検出し、ＥＲＲ直前のＵＰ／ＤＯＷＮの発生状況を調査し、ＵＰが連続している場合には、ＣＤＲが検出している周波数偏差ＰＰＭを補正してその値を大きくし、ＤＯＷＮが連続している場合には、周波数編差ＰＰＭを補正しその値を小さくする制御を行う。
【０１５９】
＜実施形態２＞
次に本発明の第２の実施形態について説明する。図２０は、本発明の第２の実施形態の構成を示す図である。本実施形態では、位相追従ループ側の積分器１４の手前に、強制ＤＯＷＮ生成器２０が追加されている。強制ＤＯＷＮ生成器２０は、位相検出器１２から出力されるＵＰ１／ＤＯＷＮ１、ＥＲＲを入力し、ＥＲＲが発生していない場合（ＥＲＲ＝０）、ＵＰＤＯＷＮ５＝ＵＰ１／ＤＯＷＮ１であるが、ＥＲＲが発生した場合（ＥＲＲ＝１）、強制的にＵＰＤＯＷＮ５＝ＤＯＷＮとする。
【０１６０】
ＣＤＲが検出している周波数偏差が正しく、データ入力のデューティ比が崩れている場合、ＣＤＲが引き込まない可能性がある。本実施形態では、ＥＲＲが発生した場合、強制的にＤＯＷＮ方向にずらすことで引き込ませる。なお、強制する方向は、ＵＰであってもよい。この場合、強制ＤＯＷＮ生成器２０は強制ＵＰ生成器となる。
【０１６１】
＜実施形態２の動作例＞
図２１は、本発明の第２の実施形態を説明するタイミングチャートである。図２１（Ｂ）に示すように、ジッタ等により、入力データ信号のＤＵＴＹが奇数ビット目で狭く、偶数ビット目で広い。ＥＲＲは発生するが、クロック位相は変化しないため、この状態で安定する可能性がある。図２１（Ａ）を参照すると、データ入力としてａ＝１、ｂ＝０、ｃ＝１、ｄ＝０、ｅ＝１、ｆ＝０、ｇ＝１、ｈ＝０がこの順でクロック周波数の２倍の周波数で入力されるものとする。またａ＝１の前にｚ＝０（≠ａ）が入力されているものとする。ａ、ｃ、ｅ、ｇの上の右矢印→は、データ位相（エッジ）の遅れを表しており、ｂ、ｄ、ｆ、ｈの上の左矢印←はデータ位相（エッジ）の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。データａ、ｃ、ｅ、ｇでＤＵＴＹが狭く、データｂ、ｄ、ｆ、ｈでＤＵＴＹは広い。
【０１６２】
ＣＬＫ０の立ち上がり（タイミングｔ１）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｂ、ｃ、ｄ、ｄと、今回のＣＬＫ０の立ち上がり（ｔ１）でサンプリングされたｄとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｈｉｇｈ、Ｌｏｗ、Ｌｏｗとなり、図４より、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｈｉｇｈとなる。
【０１６３】
さらに次のクロックサイクルＣＬＫ０の立ち上がり（タイミングｔ２）で、ＤＡＴＡ０、９０、１８０、２７０、３６０には、直前のサイクルのＣＬＫ０、ＣＬＫ９０、ＣＬＫ１８０、ＣＬＫ２７０の立ち上がりエッジでそれぞれサンプリングされたｄ、ｅ、ｆ、ｆと、今回のＣＬＫ０の立ち上がり（ｔ２）でサンプリングされたｆとがパラレルに出力される。ＵＰ００、ＤＯＷＮ００、ＵＰ０１、ＤＯＷＮ０１は、それぞれ、Ｈｉｇｈ、Ｈｉｇｈ、Ｌｏｗ、Ｌｏｗとなり、ＵＰ１、ＤＯＷＮ１、ＥＲＲはＬｏｗ、Ｌｏｗ、Ｈｉｇｈとなる。このＥＲＲ＝１を受け強制ＤＯＷＮ生成器２０は強制的にＵＰＤＯＷＮ５＝ＤＯＷＮとし積分器１４に出力する。ＣＤＲ回路が出力する抽出データは、ＣＬＫ０とＣＬＫ１８０でサンプリングしたデータであるが、この例の場合は、ｂ、ｂ、ｄ、ｄ、ｆ、ｆ、となりＤＵＴＹの狭いデータａ、ｃ、ｅ、が抜けている。しかし、強制的にＵＰＤＯＷＮ５＝ＤＯＷＮとしクロック位相を遅らせることで、ＣＤＲ回路はいずれ引き込み、ＤＵＴＹの狭いデータを抽出データとして出力することができる。
【０１６４】
＜実施形態３＞
次に本発明の第３の実施形態について説明する。図２２は、本発明の第３の実施形態の構成を示す図である。本実施形態では、位相検出器１２からのＥＲＲの発生回数を計測し、所定の回数（例えば８回）、ＥＲＲが発生するたびに、積分器１３のＰＰＭを乱数値ＲＮＤに強制設定するエラー回数計数器２１を備えている。エラー回数計数器２１は、ＥＲＲの回数をカウントするカウンタを備え、ＥＲＲ発生を所定回数カウントした場合、乱数ＲＮＤを出力する。乱数は予めメモリに記憶しておいてもよい。積分器１３は、図１０、図１１を参照して説明した構成とされ、ＣＯＲＲＥＣＴのかわりに乱数値ＲＮＤが入力される。ＥＲＲが頻発する場合、周波数追従ループの積分器１３の出力ＰＰＭの値を強制的にランダム値に設定する。
【０１６５】
＜実施形態４＞
次に本発明の第４の実施形態について説明する。図２３は、本発明の第４の実施形態の構成を示す図である。本実施形態では、位相追従ループの積分器１４を混合器１６の後段に配置している。図１等に示した前記実施形態のように、混合器１６の入力ＵＰＤＯＷＮ２（積分器１４の出力）とＵＰＤＯＷＮ３（パターン発生器１５の出力）を単純に加算すると、図２４に示すように、混合器１６の出力ＵＰＤＯＷＮ４に時間軸上粗密が発生する。図２４では、ＵＰＤＯＷＮ４は、疎（疎で示す時間範囲内に１区間相当のパルス幅のパルスが１つ）、密（密で示す時間範囲内に２区間相当のパルス幅のパルスが１つ）、密（疎で示す範囲の期間内に１区間相当のパルス幅のパルスが１区間を置いて２つ）、疎（疎で示す時間範囲内にパルス無し）となる。本実施形態では、第１の実施形態では混合器１６の前段にあった積分器１４を混合器１６の後段に移すことで、混合器１６の出力ＵＰＤＯＷＮ６の疎密を平滑化（平均化）させている。積分器１４は、前記第１の実施形態と同様ＵＰ／ＤＯＷＮカウンタで構成される。混合器１６は、図１３に示した構成とされ、パターン発生器１５の出力ＵＰＤＯＷＮ３と、ＵＰＤＯＷＮ２の代わりに、位相検出器１２の出力ＵＰ１／ＤＯＷＮ１との加算結果をＵＰＤＯＷＮ６として出力する。
【０１６６】
＜実施形態５＞
次に本発明の第５の実施形態について説明する。図２５は、本発明の第５の実施形態の構成を示す図である。本実施形態では、図２３の前記第４の実施形態の位相追従ループに、図２０の前記第２の実施形態の強制ＤＯＷＮ生成器２０を追加したものである。ＥＲＲ＝１を受け強制ＤＯＷＮ生成器２０は強制的にＵＰＤＯＷＮ５＝ＤＯＷＮとし混合器１６に出力する。混合器１６は、図１３に示した構成とされ、パターン発生器１５の出力ＵＰＤＯＷＮ３と、ＵＰＤＯＷＮ２の代わりに、ＵＰＤＯＷＮ５との加算結果をＵＰＤＯＷＮ６として出力する。強制ＤＯＷＮ生成器２０は、ＥＲＲ＝１を受け強制的にＵＰＤＯＷＮ５＝ＵＰとし混合器１６に出力する構成としてもよい。
【０１６７】
＜実施形態６＞
次に本発明の第６の実施形態について説明する。図２６は、本発明の第５の実施形態の構成を示す図である。本実施形態では、図２０の前記第５の実施形態における周波数偏差の補正回路（連続回数計測器１８、補正量決定器１９）を除去したものである。なお、図２６において、図２５と同様、混合器１６の後段に積分器１４を配置する構成としてもよい。
【０１６８】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１６９】
１１  データサンプリング回路
１２  位相検出器
１３  積分器
１４  積分器
１５  パターン発生器
１６  混合器
１７  位相補間器
１８  連続回数計測器
１９  補正量決定器
２０  強制ＤＯＷＮ生成器
２１  エラー回数計測器
２２  回路ブロック（補正回路）
１０１  位相検出器
１０２、１０３  積分器
１０４  パターン発生器
１０５  混合器
１０６  位相補間器
１１１  レシーバ
１１２〜１１９、１５３、１４２５  フリップフロップ
１４１、１４２  ＵＰ／ＤＯＷＮカウンタ
１５１、１６１  加算器
１５２  除算器
１８１  論理回路
１８２、１８６  セレクタ
１８３、１８７  フリップフロップ
１８４  セレクタ
１８５  加算器
１８８  比較回路
１８９  ＯＲ回路
１２０１〜１２０４  ＥＸＯＲ
１２０５、１２０７、１２１２、１２１４、１２１７  インバータ
１２０６、１２０８、１２０９、１２１０、１２１３、１２１５、１２１９、１２２０  ＡＮＤ回路
１２１１、１２１６、１２１８  ＯＲ回路
１２３０  論理回路部
１４２１、１４２２  加算器
１４２３  零判定器
１４２４  セレクタ
【図１】
0005520128.tif 000002
【図２】
0005520128.tif 000003
【図３】
0005520128.tif 000004
【図４】
0005520128.tif 000005
【図５】
0005520128.tif 000006
【図６】
0005520128.tif 000007
【図７】
0005520128.tif 000008
【図８】
0005520128.tif 000009
【図９】
0005520128.tif 000010
【図１０】
0005520128.tif 000011
【図１１】
0005520128.tif 000012
【図１２】
0005520128.tif 000013
【図１３】
0005520128.tif 000014
【図１４】
0005520128.tif 000015
【図１５】
0005520128.tif 000016
【図１６】
0005520128.tif 000017
【図１７】
0005520128.tif 000018
【図１８】
0005520128.tif 000019
【図１９】
0005520128.tif 000020
【図２０】
0005520128.tif 000021
【図２１】
0005520128.tif 000022
【図２２】
0005520128.tif 000023
【図２３】
0005520128.tif 000024
【図２４】
0005520128.tif 000025
【図２５】
0005520128.tif 000026
【図２６】
0005520128.tif 000027
【図２７】
0005520128.tif 000028
【図２８】
0005520128.tif 000029
【図２９】
0005520128.tif 000030
【図３０】
0005520128.tif 000031
【図３１】
0005520128.tif 000032
【図３２】
0005520128.tif 000033
【図３３】
0005520128.tif 000034
【図３４】
0005520128.tif 000035