JP5520128B2 - クロックアンドデータリカバリ回路 - Google Patents

クロックアンドデータリカバリ回路 Download PDF

Info

Publication number
JP5520128B2
JP5520128B2 JP2010100813A JP2010100813A JP5520128B2 JP 5520128 B2 JP5520128 B2 JP 5520128B2 JP 2010100813 A JP2010100813 A JP 2010100813A JP 2010100813 A JP2010100813 A JP 2010100813A JP 5520128 B2 JP5520128 B2 JP 5520128B2
Authority
JP
Japan
Prior art keywords
signal
output
integrator
value
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010100813A
Other languages
English (en)
Other versions
JP2011234009A (ja
Inventor
正浩 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010100813A priority Critical patent/JP5520128B2/ja
Publication of JP2011234009A publication Critical patent/JP2011234009A/ja
Application granted granted Critical
Publication of JP5520128B2 publication Critical patent/JP5520128B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

本発明はクロックアンドデータリカバリ回路に関する。
クロックアンドデータリカバリ回路は、クロック発生器等で生成されたクロックを入力し、入力データに同期したクロックを再生する回路であり、例えばSERDES(SERializer/DESerializer)回路の受信回路等に用いられる。
図34は、関連技術である特許文献1に開示されたクロックアンドデータリカバリ回路(Clock and Data Recovery Circuit;「CDR」と略記される)の構成を示す図である。入力データと同期クロックとを入力し、位相の遅れや進みを検出し、位相比較結果を示す制御信号UP1/DOWN1(アップ1/ダウン1)を出力する位相検出器101と、位相検出器101の出力を積分し制御信号UP2/DOWN2(アップ2/ダウン2)を出力する積分器103と、位相検出器101からの制御信号UP1/DOWN1を積分し制御信号UP3/DOWN3(アップ3/ダウン3)を出力する積分器102と、積分器102からの制御信号UP3/DOWN3を入力し制御信号UP4/DOWN4(アップ4/ダウン4)を出力するパターン発生器104と、積分器103からの制御信号UP2/DOWN2と、パターン発生器104からの出力信号UP4/DOWN4を入力し、制御信号UP5/DOWN5(アップ5/ダウン5)を出力する混合器105と、混合器105からの信号UP5/DOWN5に基づき、入力されるクロック信号の位相を補間する位相補間器106を備え、位相補間器106の出力は、位相検出器101に帰還入力される。
位相補間器(106)に入力されるクロック信号として、例えば図示されないスペクトラム拡散クロック発生器(Spread Spectrum Clock Generator)で生成されたスペクトラム拡散クロック(Spread Spectrum Clock)が入力される。あるいは、図示されない逓倍PLL(Phase Locked Loop)等で生成された一定周波数のクロックが入力される。同期クロックと入力データの位相比較結果に応じて位相補間器106の位相を制御する位相追従ループを有し、ほぼ一定の時間間隔で、位相補間器106の位相を動かす制御信号を生成するパターン発生器104と、同期クロックと入力データの位相比較結果の積分によりパターン発生器104の出力信号の発生間隔を制御する積分器102とを周波数追従ループに備え、スペクトラム拡散クロックにより周波数変調されたシリアルデータに対応するクロックアンドデータリカバリ回路を電圧制御発振器(VCO)を用いることなく、位相補間器106の制御によって実現している。
特開2005−5999号公報 特開2001−273048号公報
以下に関連技術(特許文献1)の分析を与える。
図34等を参照して説明した関連技術(特許文献1)のCDRは、ジッタトレランスの低下、引き込み時間の増大、引き込みが不能等の問題が生じる。その理由は、誤った状態で安定してしまうことと、誤っていることを検出し引き込ませる手段が存在しないためである。なお、この課題は、以下に比較例として詳説される。
前記課題の少なくとも1つを解決するため、本発明は概略以下の構成とされる。
本発明によれば、入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号を出力する位相検出器と、
入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器と、
を備え、
周波数追従ループに、前記位相検出器からの前記位相比較結果を積分する第1の積分器と、前記第1の積分器の積分出力に対応したパターンの値を出力するパターン発生器とを備え、
位相追従ループに、前記位相検出器からの前記位相比較結果を積分する第2の積分器を備え、
前記第2の積分器の積分出力と前記パターン発生器の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器に供給する混合器と、
前記位相検出器からの出力を監視し、前記位相検出器から前記エラー信号が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果の出力状況、又は、前記エラー信号が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第1の積分器の積分出力の補正量を導出して前記第1の積分器に設定し、適正な場合には、前記第1の積分器での積分出力の補正は行わない回路ブロックと、を備えたクロックアンドデータリカバリ回路が提供される。
本発明によれば、データとクロックの位相関係から現在の周波数偏差の見積もりの誤りを検出し、周波数追従ループの積分出力を補正することで、ジッタトレランスの低下、引き込み時間の増大、引き込みが不能等の問題を解消することができる。
本発明の第1の実施形態の構成を示す図である。 図1のデータサンプリング回路の構成例を示す図である。 図1の位相検出器の構成例を示す図である。 図3の回路の動作例を真理値表で示す図である。 本発明の第1の実施形態の動作を説明するためのタイミング図である。 本発明の第1の実施形態の動作を説明するためのタイミング図である。 本発明の第1の実施形態の動作を説明するためのタイミング図である。 本発明の第1の実施形態の動作を説明するためのタイミング図である。 図1の積分器14の状態遷移の例を示す図である。 図1の積分器13の構成例を示す図である。 図10のUP/DOWNカウンタ142の構成例を示す図である。 図1のパターン発生器15の構成例を示す図である。 図1の混合器16の構成例を示す図である。 図1の位相補間器の動作例を示すタイミング図である。 (A)は図1の連続回数計測器18の構成例を示す図である。(B)は論理回路181の論理を示す図である。 連続回数計測器18の動作例を示すタイミング図である。 図1の補正量決定器19の処理の一例を説明する図である。 図1の補正量決定器19の処理の一例を説明する図である。 図1の補正量決定器19の処理の一例を説明する図である。 本発明の第2の実施形態の構成を示す図である。 本発明の第2の実施形態の動作を説明するためのタイミング図である。 本発明の第3の実施形態の構成を示す図である。 本発明の第4の実施形態の構成を示す図である。 本発明の第1の実施形態を説明するタイミング図である。 本発明の第5の実施形態の構成を示す図である。 本発明の第6の実施形態の構成を示す図である。 関連技術(比較例)と本発明を説明する図である。 関連技術(比較例)を説明する図である。 関連技術(比較例)を説明する図である。 関連技術(比較例)を説明する図である。 関連技術(比較例)を説明する図である。 本発明を説明する図である。 本発明を説明する図である。 関連技術のCDRの構成を示す図である。
本発明は、その好ましい態様(Preferred Modes)の1つとして、CDRは、図1を参照すると、入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果(UP1/DOWN1)を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号(ERR)を出力する位相検出器(12)と、
入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器(17)と、
周波数追従ループを構成し、前記位相検出器(12)からの前記位相比較結果(UP1/DOWN1)を積分する第1の積分器(13)と、前記第1の積分器(13)の積分出力(PPM)に対応したパターンの値を出力するパターン発生器(15)と、
位相追従ループを構成し、前記位相検出器(12)からの前記位相比較結果(UP1/DOWN1)を積分する第2の積分器(14)と、
前記第2の積分器(14)の積分出力と前記パターン発生器(15)の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器(17)に供給する混合器(16)と、
前記位相検出器(12)からの出力(UP1/DOWN1、ERR)を監視し、前記位相検出器(12)から前記エラー信号(ERR)が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果(UP1/DOWN1)の出力状況、又は、前記エラー信号(ERR)が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第1の積分器の積分出力(PPM)の補正量(CORRECT)を導出して前記第1の積分器(13)に設定し、適正な場合には、前記第1の積分器(13)での積分出力の補正は行わない回路ブロック(22)と、
を備えた構成としてもよい。
本発明において、前記回路ブロック(22)は、前記位相検出器(12)から前記エラー信号(ERR)が出力される直前までに、前記位相検出器(12)から連続して出力された、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の回数を累積加算し、前記位相検出器(12)から前記エラー信号(ERR)が出力されたとき、
前記エラー信号(ERR)が出力される直前までに、前記クロック信号の位相を進ませる指示(UP1)が、予め定められた所定回以上、前記位相検出器(12)から連続して出力されている場合には、前記第1の積分器(13)の積分出力(PPM)が現在値よりも大きな値となるように補正量(CORRECT)を設定し、
前記エラー信号(ERR)が出力される直前までに、前記クロック信号の位相を遅らせる指示(DOWN1)が、予め定められた所定回以上、前記位相検出器(12)から連続して出力されている場合には、前記第1の積分器(13)の積分出力(PPM)が現在値よりも小さな値となるように補正量(CORRECT)を設定する構成としてもよい。
本発明において、前記回路ブロック(22)は、前記位相検出器(12)から前記エラー信号が出力されたとき、前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示(UP1)又は位相を遅らせる指示(DOWN)の連続出力回数が前記予め定められた所定回に満たないときは、前記周波数追従ループでの周波数偏差の設定は適正と判定し、前記補正量(CORRECT)を零とすることで、前記第1の積分器での積分出力の補正は行わない。
本発明において、前記位相検出器(12)は、前記データ信号群に対して、相隣る位相のクロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定する論理ゲート(図3のEXOR)を複数備え、前記複数の論理ゲート(EXOR)での判定出力の組み合わせに基づき、前記クロック信号の位相を進めさせる指示をなす第1のアップ信号(UP1)、又は、前記クロック信号の位相を遅らせる指示をなす第1のダウン信号(DOWN1)を出力し、前記複数の論理ゲート(EXOR)での判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー検出を示す前記エラー信号(ERR)を出力する論理回路部(図3の1230)を備えた構成としてもよい。
本発明において、前記回路ブロック(22)は、連続回数計測器(連続回数計測回路)(18)と、補正量決定器(19)を備えた構成としてもよい。連続回数計測器(18)は、前記位相検出器(12)から、前記エラー信号(ERR)が出力されるまでの間に、前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)が連続して出力された回数を計数し、
前記位相検出器(12)から今回前記エラー信号が出力されると、今回の前記エラー信号出力時点まで、前記第1のアップ信号又は前記第1のダウン信号について計数した連続回数と、
今回の前記エラー信号の1つ前のエラー信号が出力された時点までに、前記位相検出器から出力された前記第1のアップ信号又は前記第1のダウン信号の過去の連続回数と、
を累積加算し、
前記第1のアップ信号又は前記第1のダウン信号の連続回数を累積加算した値が、前記予め定められた所定回以上に対応する値に達するか超えると、連続アップ検出信号(CNTNUP)又は連続ダウン検出信号(CNTNDOWN)を出力する構成としてもよい。
本発明において、補正量決定器(19)は、前記連続回数計測器(18)から、前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第1の積分器(13)の積分出力を補正するための補正量(CORRECT)を決定する構成としてもよい。
本発明において、前記第1の積分器(13)は、前記補正量決定器(19)から前記補正量(CORRECT)が出力された場合、前記第1の積分器(13)の積分出力(PPM)を、前記補正量で補正した値(例えばPPM±CORRECT)に設定するとともに、前記補正した値から、前記第1のアップ信号(UP1)と前記第1のダウン信号(DOWN1)の積分を行う構成としてもよい。
本発明において、前記連続回数計測器(18)は、前記位相検出器(12)から前記エラー信号(ERR)が出力されるまでに、前記位相検出器から前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)が連続して出力される回数を計数し、
前記位相検出器(12)から前記エラー信号(ERR)が出力されると、前記エラー信号(ERR)が出力されるまでに計数された前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)の連続回数の計数値(図15のCNTN1)を後段に伝達したのち、前記計数値(CNTN1)を零にリセットする第1の回路ユニット(図15の181〜184)と、
前記第1の回路ユニット(図15の181〜184)から伝達された、前記第1のアップ信号又は前記第1のダウン信号の前記連続回数を受け、前記連続回数と、過去の前記第1のアップ信号又は前記第1のダウン信号の前記連続回数の累積加算値とを加算器(図15の185)で加算した値を新たな累積加算値(CNTN2)とし、前記新たな累積加算値(CNTN2)が、前記第1のアップ信号又は前記第1のダウン信号の所定回数分に対応する値に達したか又は超えているとき、前記連続アップ検出信号(CNTNUP)又は前記連続ダウン検出信号(CNTNDOWN)を出力するとともに、前記連続回数の累積加算値(CNTN2)を零にリセットする第2の回路ユニット(図15の185〜189)と、を備えた構成としてもよい。
本発明において、前記第1の回路ユニットは、前記第1のアップ信号と前記第1のダウン信号を入力する論理回路(図15(A)の181)を備えた構成としてもよい。本発明において、前記論理回路(図15(A)の181)は、
(A)前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)の連続回数の現在の第1の計数値(CNTN1)が+1以上のときに、前記第1のダウン信号(DOWN1)が入力されると、
−1を出力し、
(B)前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)の連続回数の現在の前記第1の計数値(CNTN1)が−1以下のときに、前記第1のアップ信号(UP1)が入力されると、
+1を出力し、
(C)前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)の連続回数の現在の前記第1の計数値(CNTN1)と、入力された前記第1のダウン信号又は前記第1のアップ信号の関係が、上記(A)、(B)の関係以外の場合、入力された信号が前記第1のダウン信号(DOWN1)のとき、
前記現在の第1の計数値(CNTN1)に−1を加算した値を出力し、
(D)前記第1のアップ信号(UP1)又は前記第1のダウン信号(DOWN1)の連続回数の現在の前記第1の計数値(CNTN1)と、入力された前記第1のダウン信号又は前記第1のアップ信号の関係が、上記(A)、(B)の関係以外の場合、入力された信号が前記第1のアップ信号(UP1)のとき、現在の前記第1の計数値(CNTN1)に+1を加算した値を出力する構成としてもよい。
本発明において、前記第1の回路ユニット(図15)は、さらに、前記論理回路の出力と零とを入力し、前記位相検出器(12)からの前記エラー信号(ERR)を選択制御信号とし、前記エラー信号(ERR)が出力されないとき、前記論理回路(181)の出力を選択して出力し、前記位相検出器(12)から前記エラー信号が出力されたときは零を選択して出力する第1のセレクタ(図15の182)と、
前記第1のセレクタの出力を入力し、出力から前記第1の計数値(CNTN1)を出力する第1のフリップフロップ(図15の183、エッジトリガー型のレジスタ)と、
前記第1のフリップフロップ(183)の出力と零とを入力し、前記位相検出器(12)からの前記エラー信号(ERR)を選択制御信号とし、前記エラー信号(ERR)が出力されないときは、零を選択し、前記位相検出器から前記エラー信号が出力されたときは、前記第1のフリップフロップの出力を選択する第2のセレクタ(図15の184)と、を備えた構成としてもよい。
本発明において、前記第2の回路ユニットは、前記第2のセレクタ(184)の出力と第2の計数値(CNTN2)を加算する加算器(図15の185)と、
前記加算器(185)の出力と零とを入力する第3のセレクタ(図15の186)と、
前記第3のセレクタ(186)の出力を入力し出力を前記第2の計数値(CNTN2)とする第2のフリップフロップ(図15の187、エッジトリガー型のレジスタ)と、
前記第2のフリップフロップ(187)から出力される前記第2の計数値(CNTN2)を受け、前記第2の計数値(CNTN2)が所定の正値(M)以上の場合、連続アップ検出信号(CNTNUP)、前記第2の計数値(CNTN2)が所定の負値(−M)以下の場合、連続ダウン検出信号(CNTNDOWN)を出力する比較回路(図15の188)と、
前記比較回路(188)から前記連続アップ検出信号(CNTNUP)又は前記連続ダウン検出信号(CNTNDOWN)が出力されると、前記第3のセレクタ(186)にて零を選択し、前記比較回路(188)から前記連続アップ検出信号(CNTNUP)も前記連続ダウン検出信号(CNTNDOWN)も出力されない場合、前記第3のセレクタ(186)にて前記加算器(185)の出力を選択するための選択制御信号を出力する論理ゲート(図15の189)と、を備えた構成としてもよい。
本発明において、前記補正量決定器(19)は、
(E)前記連続回数計測器(18)から、前記連続アップ検出信号(CNTNUP)が出力されると、
前記補正量(CORRECT)を正の所定値(p)とし、
(F)前記連続回数計測器(18)から、前記連続ダウン検出信号(CNTNDOWN)が出力されると、
前記補正量(CORRECT)を前記所定値の負値(−p)とし、
(G)前記連続回数計測器(18)から、前記連続アップ検出信号(CNTNUP)、前記連続ダウン検出信号(CNTNDOWN)が出力されないとき、
前記補正量(CORRECT)を零とする、
構成としてもよい。
あるいは、本発明において、前記補正量決定器(19)は、
(E)前記連続回数計測器(18)から、前記連続アップ検出信号(CNTNUP)が出力されると、
前記第1の積分器(13)の出力(PPM)と正の所定値(p)の和(PPM+p)が、前記第1の積分器(13)の出力最大値(PPMmax)よりも小の場合、前記補正量(CORRECT)を前記所定値(p)とし、
前記第1の積分器(13)の出力(PPM)と前記所定値(p)の和(PPM+p)が、前記第1の積分器(13)の出力最大値(PPMmax)以上のとき、前記補正量(CORRECT)を前記所定値の負値(−p)とし、
(F)前記連続回数計測器(18)から、前記連続ダウン検出信号(CNTNDOWN)が出力されると、
前記第1の積分器(13)の出力(PPM)から前記所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器(13)の出力最小値(PPMmin)よりも大の場合、前記補正量(CORRECT)を前記所定値の負値(−p)とし、
前記第1の積分器(13)の出力から前記所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器(13)の出力最小値(PPMmin)以下のとき、前記補正量(CORRECT)を前記所定値(p)とし、
(G)前記連続回数計測器(18)から、前記連続アップ検出信号(CNTNUP)、前記連続ダウン検出信号(CNTNDOWN)がともに出力されないときは、
前記補正量(CORRECT)を零とする、
構成としてもよい。
本発明において、前記第1の積分器(13)は、
前記位相検出器(12)からの前記第1のアップ信号(UP1)の入力に応答してカウントアップし、前記位相検出器(12)からの前記第1のダウン信号(DOWN1)の入力に応答してカウントダウンする第1のアップダウン・カウンタ(図10の141)と、
前記第1のアップダウン・カウンタ(141)の出力と前記第1の積分器の出力値(PPM)とを加算する第1の加算器(図11の1421)と、
前記補正量と前記第1の積分器の出力値(PPM)とを加算する第2の加算器(図11の1422)と、
前記補正量(CORRECT)が零のとき、前記第1の加算器(1421)の出力を選択し、前記補正量(CORRECT)が非零のとき、前記第2の加算器(1422)の出力を選択するセレクタ(図11の1424)と、
前記セレクタ(1424)の出力を受け出力が前記第1の積分器(13)の積分出力値(PPM)として出力されるとともに、前記第1、第2の加算器(1421、1422)に共通に入力されるフリップフロップ(図11の1425、エッジトリガー型レジスタ)と、
を備えた構成としてもよい。なお、第1のアップダウン・カウンタ(図10の141)は省略可能である。
本発明のさらに別の態様において、前記パターン発生器(15)は、
前記第1の積分器の出力(PPM)を受ける加算器(図12の151)と、
前記加算器(151)の出力を所定の正整数で除した商と余りを出力する除算器(図12の152)と、
前記除算器(152)の前記余りを受けるフリップフロップ(図12の153、エッジトリガー型レジスタ)と、
を備え、前記加算器(151)は、前記フリップフロップ(153)からの前記余りと、前記第1の積分器の出力(PPM)を加算し、前記商が前記パターン発生器(15)の出力(UPDOWN3)とされる構成としてもよい。
本発明のさらに別の態様において、前記位相検出器(12)から前記エラー信号が出力されると、前記第2の積分器にダウン信号(UPDOWN5)を与える強制ダウン生成器(図20の20)を備えた構成としてもよい。
本発明のさらに別の態様において、図22を参照すると、前記位相検出器(12)から前記エラー信号(ERR)が所定回数出力されると、前記第1の積分器(13)の積分出力(PPM)を補正するための補正量を出力するエラー回数計測器(21)を備えた構成としてもよい。
本発明において、図23を参照すると、前記第2の積分器(14)を前記混合器(16)と前記位相補間器(17)の間に備え、前記混合器(16)は、前記パターン発生器(15)と前記位相検出器(12)の位相比較結果(UP1/DOWN1)を合成した結果を前記第2の積分器(14)に供給する構成としてもよい。
本発明において、前記位相補間器(17)からの多相のクロック信号(2相以上)で入力データ信号をサンプリングするデータサンプリング回路(11)を備え、前記位相検出器(12)は、前記データサンプリング回路(11)でサンプリングされたデータ信号群を入力する。
本発明において、前記位相検出器(12)は、図3を参照すると、
第1乃至第N(Nは4以上の偶数)の判定回路(図3のEXOR)を備え、
第iの判定回路(i=1〜N)は、データ信号をN相のクロック信号でサンプリングしたデータ信号群のうち位相が隣り合うi番目の相とi+1番目の相のクロック信号でサンプリングしたデータ信号が不一致であるか判定し、
前記第1乃至第Nの判定回路(EXOR)の出力を入力し、第j及び第j+1(ただし、j=1、3、・・・N−1の奇数)の判定回路(EXOR)の各対(判定回路の対は全部でN対ある)のうち、少なくとも1対の判定回路の出力がともに不一致を示す場合、すなわち、第1と第2の判定回路(EXOR)の出力がともに不一致を示す、第3と第4の判定回路(EXOR)の出力がともに不一致を示す、・・・、第N−1と第Nの判定回路(EXOR)の出力がともに不一致を示す、のうちのいずれか1つでも成立した場合、エラー信号を出力し、
その他の場合、前記第1乃至第N(Nは2以上の整数)の判定回路の出力に基づき、前記第1のアップ信号、又は前記第1のダウン信号を出力する論理回路部(図3の1230)を備える。
本発明の別の態様において、CDRは、
入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路(11)と、
前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第1のアップ信号(UP1)、又は、前記クロック信号の位相を遅らせる第1のダウン信号(DOWN1)を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号(ERR)を出力する位相検出器(12)と、
周波数追従ループを構成し、前記位相検出器(12)からの前記第1のアップ信号(UP1)と前記第1のダウン信号(DOWN1)を積分する第1の積分器(13)と、
位相追従ループを構成し、前記位相検出器(12)からの前記第1のアップ信号(UP1)と前記第1のダウン信号(DOWN1)を積分する第2の積分器(14)と、
前記第1の積分器(13)の出力値に応じたパターンの信号値を生成するパターン発生器(15)と、
前記第2の積分器(14)の出力と前記パターン発生器(15)の出力を合成する混合器(16)と、
入力クロックを入力し前記混合器(16)の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路(11)に供給する位相補間器(17)と、
前記位相検出器(12)から前記エラー信号が出力されると、前記第2の積分器に対してダウン信号を与える強制ダウン生成器(20)と、
を備えた構成としてもよい。
<比較例の説明>
はじめに図34に示した関連技術のCDRを比較例として説明する。なお、以下の説明は、比較例の課題を解決する本発明の理解の前提となるものである。
CDRが検出している周波数偏差が正しい場合、クロックとデータの位相関係の例を2つ示す。
(I)図34の関連技術のCDRに加わっている周波数偏差=0ppm(parts per million)、CDRが検出している周波数偏差=0ppmの場合。
CDRが追従できない高周波の正弦波ジッタ(ジッタが時間に対し正弦関数で推移する)をデータに印加すると、図27のようになる。図27において、データ周波数≒クロック周波数とし、CDRにおいて、位相が互いに90度離間した4相クロック信号CLK0、CLK90、CLK180、CLK270とCLK360でデータをサンプリングする場合のデータとクロックのタイミング関係の時間推移を模式的に示している。
CLK0、CLK180、CLK360の各軸(経過時間)を交差する正弦波の曲線(正弦波曲線の振幅はジッタ成分)は、データのジッタの1周期を模式的に表しており、右欄の上半分の区間のDOWNは、クロック信号のエッジがデータ信号のエッジよりも進んでいるため、図34の位相検出器101から位相比較結果として、DOWNが出力され、右欄の下半分の区間のUPは、クロック信号のエッジがデータ信号のエッジよりも遅れているため、図34の位相検出器101から位相比較結果として、UPが出力されることを表している。図27の場合、正弦波ジッタに対してUP、DOWNが同一頻度で出力されるため、CDRの動作は安定している。
図27において、PPMは、図34の積分器の出力UP3/DOWN3に対応する。PPM≒0でデータ・クロック信号の引き込みが行われる。なお、図27の動作例は、比較例のほか、本発明についても、成り立つ。
(II)図34の関連技術のCDRに加わっているデータ信号の周波数偏差=+5000ppm、CDRが検出している周波数偏差=+5000ppmの場合、図28のようになる。
データ信号は、その周波数とクロック信号の周波数との差が+5000ppmであることから、クロック信号よりも周期が短い。データ信号の周波数とクロック信号の周波数との差が0ppmと比べて、データ位相は、図28の左側に流れていく。一方、CDRも、+5000ppmの周波数偏差を検出しているので、CDRは、クロック信号を+5000ppm分、図の左にシフトさせる。図28の右欄の上半分の区間のDOWNは、クロック信号のエッジが、データ信号のエッジよりも進んでいるため、図34の位相検出器101から位相比較結果として、DOWNが出力され、図28の右欄の下半分の区間のUPは、クロック信号のエッジがデータ信号のエッジよりも遅れているため、図34の位相検出器101から位相比較結果としてUPが出力されることを表している。図28の場合、正弦波ジッタに対して、UP、DOWNが同一頻度で出力されるため、CDRの動作は安定している。積分器102の出力PPMが、PPM=1あたり122.07ppmの場合、PPM=5000ppm/122.07ppm≒41で引き込みが行われる。
(III)図34の関連技術のCDRが検出している周波数偏差が大きく誤っている場合のクロックとデータ信号の位相関係の例を説明する。図29は、データ周波数がクロック周波数よりも5000ppm高く、CDRが検出している周波数偏差が0ppmの場合の例を説明するための図である。図29の場合、この状態で安定してしまい、CDRが引き込むまでの時間が長くなる可能性がある。さらに悪い場合は、永久に引き込まない可能性もある。
例えば、データ信号の周波数がクロック信号の周波数よりも3000ppm高く、CDRが検出している周波数偏差が−2000ppmのような場合(CDRに印加されている周波数偏差と、CDRが検出している周波数偏差の差が5000ppm)も、問題が起きる正弦波ジッタ周波数は同じになる。
また、CDRに印加されている周波数偏差と、CDRが検出している周波数偏差の差が変われば、それに比例して問題が起きる正弦波ジッタ周波数も変わる。
最初の状態1と、時間T(=正弦波ジッタの1周期)後の状態2では、データ1bit分ずれただけであり、同一である。状態1において、CLK270はデータ信号の前縁のエッジのタイミングに位置しているが、時間T後の状態2では、CLK270は、データ信号の後縁のエッジのタイミングに対応しており、データ信号の前縁のエッジは、CLK90のタイミングに位置している。
この状態で安定してしまい、データ信号の引き込みが行われない可能性がある。データ信号の周波数偏差は5000ppmで左方向であり、直線の傾きは、
T/u
で与えられる。ただし、uは1UI(Unit−Interval:クロック周波数の逆数)である。
u/T=5000/1000000
∴ f=1/T=5000/(1000000u)
u=200psとすると、正弦波ジッタの周波数fは、f=25MHzとなる。
シミュレーションを行ったところ、正弦波ジッタの大きさがある程度(例えば0.1UIp−p(peak−to−peak)程度)小さい場合には、CDR回路は引き込む。しかし、ジッタの大きさがある程度(例えば0.1UIp−p程度)大きい場合には、初期状態でCDRが検出している周波数偏差がある程度正しい場合は引き込むが、大きく誤っている場合は、引き込まないことが判明した。シミュレーション結果から、位相追従ループの追従能力のおよそ3倍程度以上誤っている場合に、引き込まないようである。
つまり、CDR回路の初期状態によっては、
ジッタトレランス特性が0.1UIp−p程度に低下、
引き込み時間の増大、さらには、
永久に引き込まない(0.1UIp−pよりも大きい正弦波ジッタを加え、初期状態でCDRが検出している周波数偏差が大きく誤っていた場合)、
といった問題が起きる可能性がある。
なお、図29の例では、4相クロック信号CLK0、CLK90、CLK180、CLK270、CLK360の位相を直線(平行線)で示したが、厳密には、図30のようになる。クロック位相はUP期間は、少し左に寄り、DOWN期間は少し右に寄る。
図31は、図30の安定性を定性的にさらに説明するための図である。UP期間、データパターンの変化が少ないと、UPが出ず、CLKはあまり左に寄らない。すると、次のDOWNの期間が短くなり、クロック位相はあまり右に寄らない。すると、さらに次のUP期間が長くなり、クロック位相は左に寄る。つまり、データパターンの変化が少なく、例えばUP期間にクロック位相が左に寄らないことがあっても、その直後のDOWN期間が短くなったり、さらにその後のUP期間が長くなったりすることで、クロック位相は左に寄り、安定性が保たれている。
本発明によれば、多相クロックでデータをサンプリングする位相検出器において、UP、DOWN、及び、エラーを検出し、エラー直前のUP/DOWNの発生状況を調査し、UP(DOWN)が連続している場合には、CDRが検出している周波数偏差を補正し、周波数、位相の引き込みが正しく行われるように制御する。以下、本発明を、いくつかの実施形態に即して詳細に説明する。
<実施形態1>
図1は、本発明の第1の実施形態の構成を示す図である。データサンプリング回路11、位相検出器12、積分器13、積分器14、パターン発生器15、混合器16、位相補間器17、連続回数計測器18、補正量決定器19を備えている。
データサンプリング回路11は、位相補間器17からの多相の抽出クロックで入力データをサンプリングし、多相のクロック信号のいずれか一つの相のクロックに同期させてデータを出力する。なお、以下の実施形態では、4相クロックでデータをサンプリングする構成が例示されるが、本発明は、4相クロックに限定されるものでないことは勿論である。
<データサンプリング回路11>
図2は、データサンプリング回路11の構成例を示す図である。図2の構成は、クロック周波数がデータ周波数の1/2の場合であり、例えばデータが5Gbpsならクロックは2.5GHzの4相クロック信号CLK0、90、180、270となる。クロック信号の周波数がデータ周波数の1/2の場合、データサンプリング回路11は、サンプリングされた2個のデータ(例えばCLK0とCLK180によるデータ信号の中心のサンプル値)を抽出データとして、抽出クロックとともにCDRから他の回路に出力される。
データサンプリング回路11は、データ入力を差動で受けデータ信号をシングルエンド出力するレシーバ111と、レシーバ111の出力信号をデータ端子(D)に受け4相クロック信号CLK0、CLK90、CLK180、CLK270をクロック端子(C)にそれぞれ受け、クロック信号CLK0、CLK90、CLK180、CLK270の立ち上がりエッジでデータ端子(D)の信号をそれぞれサンプル出力するフリップフロップ112、113、114、115と、フリップフロップ112、113、114、115の出力端子(Q)からの出力信号をデータ端子(D)に受け、クロック信号CLK0をクロック端子(C)に受け、CLK0の立ち上がりエッジでデータ端子(D)の信号をそれぞれサンプルするフリップフロップ116、117、118、119を備えている。フリップフロップ116、117、118、119の出力端子(Q)からの出力信号はDATA0、DATA90、DATA180、DATA270とされ、フリップフロップ112の出力端子(Q)からの出力信号はDATA360とされる。2つのデータDATA360とDATA180は抽出データとして出力され、4+1=5個のデータDATA0、DATA90、DATA180、DATA270、DATA360が位相検出器12へ供給される。
CDRが引き込んだ状態では、クロック信号CLK0とCLK180がデータ信号の中心をサンプリングし、クロック信号CLK90とCLK270がデータ信号の変化点(エッジ)をサンプリングする。クロック周波数がデータ周波数の1/2の場合、データサンプリング回路11は、サンプリングされた2個のデータ(例えばCLK0とCLK180によるデータ信号の中心のサンプル値)を抽出データとして、抽出クロックとともにCDRから、他の回路(抽出クロックにより抽出データを処理する回路)に出力される。
一般に、クロック周波数がデータ周波数の1/nの場合、クロック信号は、2×n相とされる。データサンプリング回路11は、2×n+1個のデータを位相検出器12に出力し、n個のデータを抽出データとして、抽出クロックとともにCDRから他の回路に出力される。図2のように、クロック周波数がデータ周波数の1/2の場合、クロックは2×2相=4相とされ、データサンプリング回路11は2×2+1=5個のデータを位相検出器12に出力し、2個の抽出データを出力する。
<位相検出器12>
図3は、図1の位相検出器12の構成例を示す図である。位相検出器12は、データサンプリング回路11から入力されたデータDATA0、DATA90、DATA180、DATA270、DATA360のうち隣り合うデータ同士を2入力の排他的論理和(EXOR)回路1201、1202、1203、1204で比較する。なお、第4相のクロック信号CLK270でサンプリングされたDATA270の隣りのデータとして巡回的に、CLK360、したがって、次のサイクルのCLK0でサンプリングされたDATA360との比較が、2入力の排他的論理和(EXOR)回路1204で行われる。2入力の排他的論理和(EXOR)回路は2入力が一致のとき0、不一致のとき1を出力する。排他的論理和(EXOR)回路1201、1202、1203、1204の出力は、UP00、DOWN00、UP01、DOWN01となる。
図3を参照すると、位相検出器12は、さらに、
DOWN01を入力するインバータ1205と、
DOWN00を入力するインバータ1207と、
UP01を入力するインバータ1212と、
UP00を入力するインバータ1214と、
UP00とインバータ1205の出力を入力する2入力の論理積(AND)回路1206と、
UP01とインバータ1207の出力を入力するAND回路1208と、
UP00とDOWN00を入力する2入力のAND回路1209と、
UP01とDOWN01を入力する2入力のAND回路1210と、
DOWN00とインバータ1212の出力を入力する2入力の論理積(AND)回路1213と、
DOWN01とインバータ1214の出力を入力するAND回路1215と、
AND回路1206、1208の出力を入力する2入力の論理和(OR)回路1216と、
AND回路1209、1210の出力を入力する2入力のOR回路1211と、
AND回路1213、1215の出力を入力する2入力のOR回路1218と、
OR回路1211の出力を入力するインバータ1217と、
OR回路1216とインバータ1217の出力を入力する2入力のAND回路1219と、
OR回路1218とインバータ1217の出力を入力する2入力のAND回路1220と、
からなる論理回路部1230を備える。
論理回路部1230は、UP00、DOWN00、UP01、DOWN01を入力し、UP1、ERR、DOWN1を出力する。
OR回路1211は論理演算OR(AND(UP00、DOWN00)、AND(UP01、DOWN01))を行う。
ERRは、OR回路1211の出力、したがって、ERRは、(UP00=1且つDOWN00=1)と(UP01=1、且つDOWN01=1)の少なくとも一方が成立するとき1(例えばHigh)となる。なお、信号の値1、0は論理値を表している。
AND回路1219は、OR回路1211の出力が0であるとき、OR回路1216の出力信号をそのまま伝達出力する。OR回路1216は、論理演算OR(AND(UP00、/DOWN00)、AND(UP01、/DOWN01))を行う。したがって、(UP00=1、且つDOWN00=0)、(UP01=1、且つDOWN01=0)の少なくとも一方が成り立つとき、UP1は1(例えばHigh)となる。例えば(UP00=1、且つDOWN00=1)が成り立つ場合、クロック信号CLK0とCLK90でサンプリングしたDATA0とDATA90の値が異なり、クロック信号CLK90とCLK180でサンプリングしたDATA90とDATA180の値が異なり、1データサイクル(=1/2クロック周期)でデータの反転が2回生じていることになり、エラーと判定する。(UP01=1、且つDOWN01=1)が成り立つ場合も同様に、クロック信号CLK180とCLK270でサンプリングしたDATA180とDATA270の値が異なり、クロック信号CLK270とCLK360でサンプリングしたDATA270とDATA360の値が異なり、1データサイクル(=1/2クロック周期)でデータの反転が2回生じていることになり、エラーとなる。
AND回路1220は、OR回路1211の出力が0であるとき、OR回路1218の出力をそのまま伝達出力される。OR回路1218は、論理演算OR(AND(DOWN00、/UP01)、AND(DOWN01、/UP00))を行う。(DOWN00=1、且つUP01=0)、(DOWN01=1、且つUP00=0)の少なくとも一方が成り立つとき、DOWN1が1(例えばHigh)となる。
図4に、上記した論理回路部1230の論理を真理値表としてまとめて示す。位相検出器12の出力は、4パターンに分類できる。それぞれについて、データサンプリング回路11から位相検出器12の出力までのタイミングチャートの例を示す。なお、図4において、信号の値1、0は論理値を表している。
上記したように、UP00=1且つDOWN00=1の場合、ERR=1、UP1=DOWN1=0とする。
UP01=1且つDOWN01=1の場合、ERR=1、UP1=DOWN1=0とする。
それ以外の場合、UP00、DOWN00、UP01、DOWN01を多数決し、UPが多い場合、UP1=1、DOWN1=0とし、DOWNが多い場合、UP1=0、DOWN1=1とする。
<DOWN発生時の動作例>
次に、抽出クロック信号の位相がデータよりも進んでおり、DOWNが発生する場合を説明する。
図5は、DOWN1=1(=High)となる場合の動作例を示すタイミング図である。図5(A)には、データ入力、クロック信号CLK0、90、180、270、サンプリングデータDATA0、90、180、270、360、UP00、DOWN00、UP01、DOWN01、UP1、DOWN1、ERRの電圧波形が示されている。なお、特に制限されないが、以下のタイミング図では、Highを論理1、Lowを論理0とする。図5(B)は、抽出クロックとデータ信号の位相の関係を示す波形図である。CLK0、CLK180は、それぞれの矢線の右隣の破線が示すデータ中心部に来るべきところ、位相が進んでいる。CLK90、270は、それぞれの右隣の破線が示すデータエッジに来るべきところ、位相が進んでいる。
図5(A)を参照すると、データ入力としてa=1、b=0、c=1、d=0、e=1、f=0、g=1、h=0がこの順でクロック周波数の2倍の周波数で入力されるものとする。またa=1の前にz=0(≠a)が入力されているものとする。
CLK0の立ち上がり(タイミングt0)で、DATA0、90、180、270、360(ただし、DATA360はCLK0から1クロックサイクル(360度)遅れたクロック(CLK360)でサンプルされたデータ)には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたz、z、a、aと、今回のCLK0(したがってCLK360)の立ち上がりでサンプリングされたbとがパラレルに出力される。この結果、UP00、DOWN00、UP01、DOWN01は、それぞれ、Low、High、Low、Highとなり、UP1、DOWN1、ERRはLow、High、Lowとなる。DATA90、DATA180のz、aを比較するEXOR1202の出力DOWN00、DATA270、DATA360のaとbを比較するEXOR1204の出力DOWN01がHighとなり、UP00、UP01はLowとなる。したがって、DOWN1=1となる。以降も同様である。この場合、抽出クロック信号の位相を遅らせる。
<UP発生時の動作例>
次に抽出クロック位相が遅れており、UPが発生する場合を説明する。
図6は、UP1=Highとなる場合の動作例を示すタイミング図である。図6(A)には、データ入力、CLK0、90、180、270、DATA0、90、180、270、360(ただし、DATA360はCLK0から1クロックサイクル(360度)遅れたクロック(CLK360)でサンプルされたデータ)、UP00、DOWN00、UP01、DOWN01、UP1、DOWN1、ERRの電圧波形が示されている。なお、Highを論理1、Lowを論理0とする。
図6(B)は抽出クロックとデータ信号の位相の関係を示す波形図である。CLK0、CLK180は、それぞれの矢線の左隣の破線が示すデータ中心部に来るべきところ、位相が遅れている。CLK90、270は、それぞれの矢線の左隣の破線が示すデータエッジに来るべきところ、位相が遅れている。
図6(A)を参照すると、データ入力としてa=1、b=0、c=1、d=0、e=1、f=0、g=1、h=0がこの順でクロック周波数の2倍の周波数で入力されるものとする。またa=1の前にz=0(≠a)が入力されているものとする。
CLK0の立ち上がり(タイミングt0)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたz、a、a、bと、今回のCLK0の立ち上がりでサンプリングされたbとがパラレルに出力される。この結果、UP00、DOWN00、UP01、DOWN01は、それぞれ、High、Low、High、Lowとなり、UP1、DOWN1、ERRはHigh、Low、Lowとなる。DATA0、DATA90のz、aを比較するEXOR1201の出力UP00が1、DATA180、DATA270のaとbを比較するEXOR1203の出力UP01がHighとなり、DOWN00、DOWN01はLowとなる。したがって、UP1=1となる。以降も同様である。この場合、抽出クロック信号の位相を進ませる。
<UPとDOWNが同程度発生する動作例>
次に抽出クロック位相は最適であり、UPとDOWNが同程度発生する場合について説明する。
図7は、UP1=1、DOWN=1が同程度の頻度で生じる場合の動作例を示すタイミング図である。図7(A)には、データ入力、CLK0、90、180、270、DATA0、90、180、270、360(ただし、DATA360はCLK0から1クロックサイクル(360度)遅れたクロック(CLK360)でサンプルされたデータ)、UP00、DOWN00、UP01、DOWN01、UP1、DOWN1、ERRの電圧波形が示されている。なお、Highを論理1、Lowを論理0とする。
図7(B)は抽出クロックとデータ信号の位相の関係を示す波形図である。CLK0、CLK180のそれぞれの矢線はほぼ破線が示すデータ中心部にあり、CLK90、270のそれぞれの矢線はほぼ破線が示すデータエッジにある。
図7(A)を参照すると、データ入力としてa=1、b=0、c=1、d=0、e=1、f=0、g=1、h=0がこの順でクロック周波数の2倍の周波数で入力されるものとする。またa=1の前にz=0(≠a)が入力されているものとする。a、b、c、fの上の右矢印→は、データ位相(エッジ)の遅れを表しており、d、e、gの上の左矢印←はデータ位相(エッジ)の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。
クロック信号CLK0の立ち上がり(タイミングt0)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたz、z、a、aと、今回のCLK0の立ち上がりでサンプリングされたbとがパラレルに出力される。この結果、図5(A)と同様、UP00、DOWN00、UP01、DOWN01は、それぞれ、Low、High、Low、Highとなり、UP1、DOWN1、ERRはLow、High、Lowとなる。すなわち、DATA90、DATA180のz、aを比較するEXOR1202の出力DOWN00、DATA270、DATA360のaとbを比較するEXOR1204の出力DOWN01がHighとなり、UP00、UP01はLowとなる。したがって、DOWN1はHighとなる。
次のクロックサイクルのCLK0の立ち上がり(タイミングt1)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたb、b、c、dと、今回のCLK0の立ち上がりでサンプリングされたdとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、Low、High、High、Lowとなり、UP1、DOWN1、ERRはLow、Low、Lowとなる。
さらに次のクロックサイクルのCLK0の立ち上がり(タイミングt2)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたd、e、e、eと、今回のCLK0の立ち上がりでサンプリングされたfとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、High、Low、Low、Highとなり、UP1、DOWN1、ERRはLow、Low、Lowとなる。
さらに次のクロックサイクルのCLK0の立ち上がり(タイミングt3)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたf、g、g、hと、今回のCLK0の立ち上がりでサンプリングされたhとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、High、Low、High、Lowとなり、UP1、DOWN1、ERRはHigh、Low、Lowとなる。
図7(B)に示すように、CDRが引き込んでいる状態である。CLK0とCLK180がデータ信号の中心をサンプリングし、CLK90とCLK270がデータ信号のエッジをサンプリングしている。UP1、DOWN1の頻度が同じであり、CDRでは引き込みが行われている。
<ERR出力時の動作例>
次に抽出クロック位相は最悪(データサンプリングクロック信号CLK0、CLK180がデータ信号の変化点をサンプリングしている)であり、ERRを出力する場合について説明する。
図8(A)には、データ入力、CLK0、90、180、270、DATA0、90、180、270、360(ただし、DATA360はCLK0から1クロックサイクル(360度)遅れたクロック(CLK360)でサンプルされたデータ)、UP00、DOWN00、UP01、DOWN01、UP1、DOWN1、ERRの電圧波形が示されている。なお、Highを論理1、Lowを論理0とする。
図8(B)は抽出クロックとデータ信号の位相の関係を示す波形図である。図7(B)とは4相クロック位相が、90度遅れている。CLK0、CLK180のそれぞれの矢線はほぼ破線が示すデータ信号のエッジにあり、CLK90、270のそれぞれの矢線はほぼ破線が示すデータ中心部にある。
図8(A)を参照すると、データ入力としてa=1、b=0、c=1、d=0、e=1、f=0、g=1、h=0がこの順でクロック周波数の2倍の周波数で入力されるものとする。またa=1の前にz=0(≠a)が入力されているものとする。a、b、c、fの上の右矢印→は、データ位相(エッジ)の遅れを表しており、d、e、g、hの上の左矢印←はデータ位相(エッジ)の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。
CLK0の立ち上がり(タイミングt0)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたz、a、a、bと、今回のCLK0の立ち上がりでサンプリングされたbとがパラレルに出力される。この結果、図6(A)と同様、UP00、DOWN00、UP01、DOWN01は、それぞれ、High、Low、High、Lowとなり、UP1、DOWN1、ERRはHigh、Low、Lowとなる。
次のクロックサイクルのCLK0の立ち上がり(タイミングt1)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたb、c、d、dと、今回のCLK0の立ち上がり(t1)でサンプリングされたeとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、High、High、Low、Highとなり、UP1、DOWN1、ERRはLow、Low、Highとなる。
さらに次のクロックサイクルのCLK0の立ち上がり(タイミングt2)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたe、e、e、fと、今回のCLK0の立ち上がり(t2)でサンプリングされたgとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、Low、Low、High、Highとなり、UP1、DOWN1、ERRはLow、Low、Highとなる。
ERR=1において、CLK0、CLK180はデータ信号のエッジをサンプリングしている。
<積分器14(UP/DOWNカウンタ)の状態遷移例>
位相追従ループ内の積分器14は、位相検出器12からのUP1とDOWN1を受け、UP1=HighのときUPカウントし、DOWN1=Highのとき、DOWNカウントするUP/DOWNカウンタ(不図示)を備える。図9は、積分器14のUP/DOWNカウンタの状態遷移図である。実線はUP1=1の場合の状態遷移、破線はDOWN1=1の場合の状態遷移を表す。UP1=1のとき、クロック入力に応答してカウント値を1つインクリメントし、DOWN1=1のとき、クロック入力に応答してカウント値を1つデクリメントし、現在サイクルのカウント値が+7の場合、UP1=1であると、+7から0に戻る。このときUPDOWN2=+1を出力する。現在サイクルのカウント値が−7の場合、DOWN1=1であると、−7から0に戻る。このときUPDOWN2=−1を出力する。
積分器14において、UP1がDOWN1よりも8回多くなった時点で、UPDOWN2=+1を出力し、DOWN1がUP1より8回多くなったらUPDOWN2=−1を出力する。
積分器14は、CDR回路を安定化させるためのものである。積分器がない場合、位相検出器12が出力したUP1/DOWN1を用いて抽出クロック位相を頻繁に動かしてしまい、抽出クロック信号の位相が安定しない。
<積分器13の構成例>
図10は、周波数追従ループ内の積分器13の構成の一例を示す図である。図10に示すように、積分器13は、2段のUP/DOWNカウンタ141、142を備える。1段目のUP/DOWNカウンタ141は、位相追従ループの積分器14のUP/DOWNカウンタと同一構成とされる。UP/DOWNカウンタ141は、位相検出器12が出力したUP1/DOWN1で毎回周波数偏差情報を更新するのではなく、UPとDOWNが所定の回数多くなった時だけ更新するために設けるUP/DOWNカウンタである。UP1/DOWN1で毎回周波数偏差情報を更新する場合、1段目のカウンタ141は使用しない。
2段目のUP/DOWNカウンタ142のカウント値であるPPMは、クロックとデータ信号の周波数偏差を表す。UP/DOWNカウンタ142はCORRECT信号により、カウント値を補正する機能を備えている。UP/DOWNカウンタ142において、オーバーフロー又はアンダーフロー発生時、カウント値を0に自動リセットするか、カウント値を最大値又は最小値に維持する。
<積分器13の2段目のUP/DOWNカウンタ142の構成例>
図11は、2段目のUP/DOWNカウンタ142の構成例を示す図である。図11を参照すると、UP/DOWNカウンタ142は、UP/DOWNカウンタ141が出力したUPDOWN7と出力PPMを加算する加算器1421と、CORRECTと出力PPMを加算する加算器1422と、CORRECTが0であるか判定する零判定器1423と、セレクタ1424と、セレクタ1424の出力を、入力されるクロック信号でサンプリングされた値をPPMとして出力するフリップフロップ1425を備えている。セレクタ1424は、零判定器1423の判定結果に基づき、CORRECTが0のとき、加算器1421の出力を選択する。このとき、UP/DOWNカウンタとして機能する。セレクタ1424は、零判定器1423の判定結果に基づき、CORRECTが0以外のとき、加算器1422の出力を選択する。これにより、PPMの値を補正する。
<パターン発生器15の構成例>
図12は、図1のパターン発生器15の構成例を示す図である。図12を参照すると、パターン発生器15は、積分器14の出力PPMを入力する加算器151と、加算器151の出力をNで除算し、商を出力信号UPDOWN3として出力する除算器152と、除算器152から余りを受けクロックに応答してサンプルするフリップフロップ153を備え、フリップフロップ(FF)153の出力端子(Q)の出力信号(余り)が加算器151に帰還入力され、積分器14の出力PPMと加算される。
一例としてN=64の動作を説明する。
PPM=1の場合、FF153の出力は0→1→・・・→63と1つづつ増加し、次のクロックで、FF153の出力(余り)とPPMの加算結果は64となるので、除算器152はUPDOWN3=1を出力し、FF153の値は0となる。したがって、64クロックに1回の確率でUPDOWN3=+1を出力する。
PPM=2の場合、FF153の出力は0→2→4→・・・→62と2つづつ増加し、次のクロックで、FF153の出力(余り)とPPMの加算結果は64となるので、除算器152はUPDOWN3=1を出力し、FF153の値は0となる。したがって、64クロックに2回の確率でUPDOWN3=+1を出力する。
PPM=−1の場合、FF153の出力は0→−1→−2→・・・→−63と1つづつ減少し、次のクロックで、FF153の出力(余り)とPPMの加算結果は−64となるので、除算器152はUPDOWN3=ー1を出力し、FF153の値は0となる。したがって、64クロックに1回の確率でUPDOWN3=−1を出力する。
以上のように、一般に、0<PPM<Nの場合、PPM/Nの確率でUPDOWN3=+1を出力し、0>PPM>−Nの場合PPM/Nの確率でUPDOWN3=−1を出力する。
PPMの範囲は、−N<PPM<Nに限定されることはない。PPM>=Nの場合、UPDOWN3は、PPM div N又は PPM div N+1となる。PPM div N+1を出力する確率は
(PPM mod N)/N
で与えられる。ただし、PPM div Nと、PPM mod Nは、整数の除算(PPM÷N)の商と余りである。PPM<=−Nの場合も同様である。
パターン発生器15において、UPDOWN3は、PPMに比例する。
<混合器16の構成例>
図1の混合器16は、図13に示すように、パターン発生器15の出力信号UPDOWN3と積分器12の出力信号UPDOWN2を加算し、加算結果を出力信号UPDOWN4を出力する加算器161から構成される。
<位相補間器17>
位相補間器17は、クロックを入力し抽出クロック(多相クロック)を出力するインターポレータを備え、図14に示すように、混合器16からUPDOWN4=+1が入力された場合、抽出クロック信号の位相を1Step進め、UPDOWN4=−1が入力された場合、位相を1ステップ遅らせる。UPDOWN4=+2が入力された場合、位相を2ステップ進める。位相補間器17は、入力クロックとして4相クロック信号(0度、90度、180度、270度)を入力し、UPDOWN4を制御信号として受け、位相を補間した抽出クロック信号CLK0、90、180、270を出力する。図14では抽出クロックとして4相クロック信号の1つのクロック(例えばCLK0)が示されている。CLK90、180、270も同様にして位相が制御される。入力クロックから位相を調整した多相クロック(4相クロック)を生成する位相補間器17は、例えば特許文献2(特開2001−273048号公報)の図2、図4等に開示された構成が用いられる。
<積分器13の出力信号PPM(周波数偏差)>
周波数追従ループ内の積分器13の出力信号PPMは、CDRが検出している周波数偏差に相当する。その理由を以下説明する。
一例として、以下の条件を考える。
<条件1>
・ データレート:5.0[Gbps]
・ 位相補間器17の入力クロック:2.5[GHz]
・ 位相検出器12の出力信号周波数(=積分器13、14、パターン発生器15、混合器16の動作周波数):1.25 [GHz]
・ 位相補間器17の分解能 :1Stepは受信データ1UIの1/32に相当
・ パターン発生器15(図12)のN=64。
この条件で、PPM=1の場合、パターン発生器15の出力UPDOWN3は、1.25GHz(データレートの1/4に相当する)のクロック64周期に1回の確率で+1を出力する。UPDOWN3=+1により、クロック信号の位相は(1/32)UIシフトする。従って、PPM=1あたり、(1/4)×(1/64)×(1/32)×1000000 =122.07 [ppm]の周波数偏差に相当するUPDOWN3を発生していることになる。
PPM=2の場合、UPDOWN3の頻度が2倍になるので、122.07×2=244.14ppmとなる。
以上のように、積分器13の出力PPMは、クロックとデータに周波数偏差(Frequency Deviation)(より正確には、クロックを基準(0ppm)としたときのデータ信号の周波数偏差)に相当している。
<位相追従ループの追従能力>
位相追従ループの追従能力について以下に説明しておく。条件は、上の周波数追従ループの説明に示した条件1のほかに、位相追従ループ内の積分器14のカウント数を8とする。
UP1がDOWN1よりも8個多くなると、積分器14の出力UPDOWN2=+1、DOWN1がUP1より8個多くなると、UPDOWN2=−1となる。
位相検出器12から、常に、UP1=1、DOWN1=0が入力された場合、1.25GHz(データレートの1/4に相当する)のクロック8周期に1回の確率で、UPDOWN2=+1を出力する。
UPDOWN2=+1により、クロック位相は、1/32UIシフトする。従って、
(1/4)×(1/8)×(1/32)×1000000=976.56[ppm]
が理論上の限界である。マイナス側も同様である。
<連続回数計測器18の構成例>
図15は、連続回数計測器18の構成を示す図である。図15(A)を参照すると、位相検出器12からのUP/DOWN1を入力する論理回路181と、位相検出器12からのERRが0のとき、論理回路181の出力を選択出力し、ERRが1のとき、0を選択出力するセレクタ182と、セレクタ182の出力をサンプルするフリップフロップ(エッジトリガー型のレジスタ)183と、位相検出器12からのERRが0のとき、0を選択出力し、ERRが1のとき、フリップフロップ183の出力を選択出力するセレクタ184とを備え、フリップフロップ183の出力CNTN1は論理回路181に入力されている。第2のセレクタ184の出力を入力する加算器185と、加算器185の出力と0を選択するセレクタ186と、セレクタ186の出力をクロック信号の立ち上がりエッジでサンプルするフリップフロップ(エッジトリガー型のレジスタ)187と、フリップフロップ187の出力を入力し、CNTNUP、CNTNDOWNを出力する比較回路188と、比較回路188の出力CNTNUP、CNTNDOWNを入力する論理和(OR)回路189とを備えている。論理和(OR)回路189の出力はセレクタ186に帰還入力され、フリップフロップ187の出力は、加算器185に入力される。
図15(B)は、論理回路181の動作を説明する図である。
(a)現在の計数値CNTN1>=1、且つ、UP1/DOWN1が−1、すなわち、位相検出器12からDOWN1が出力されたとき、論理回路181の出力は−1となる。
例えばCNTN1が+2のとき、位相検出器12からDOWN1(=−1)が出力されたとき、論理回路181の出力は−1となり、クロック信号に同期してフリップフロップ183の出力CNTN1は+2から−1となる。
(b)現在の計数値CNTN1=<−1、且つ、UP1/DOWN1が+1、すなわち、位相検出器12からUP1が出力されたとき、論理回路181の出力は+1となる。
例えばCNTN1が−2のとき、位相検出器12からUP(=+1)が出力されたとき、論理回路181の出力は+1となり、クロック信号に同期してフリップフロップ183の出力CNTN1は−2から+1となる。
(c)その他の場合((a)、(b)以外の場合)、論理回路181の出力は、現在の計数値CNTN1に、UP1/DOWN1を加算した値となる。
例えばCNTN1が−1のとき、位相検出器12からDOWN1(=−1)が出力されたとき、論理回路181の出力は−2となり、クロック信号に同期してフリップフロップ183の出力CNTN1は−1から−2となる。すなわち、位相検出器12からDOWN1(=−1)が出力されると、CNTN1は1つデクリメントされる。また、例えばCNTN1が+1のとき、位相検出器12からUP1(=+1)が出力されたとき、論理回路181の出力は+1+1=+2となり、クロック信号に同期してフリップフロップ183の出力CNTN1は+1から+2となる。すなわち、位相検出器12からUP1(=+1)が出力されると、CNTN1は1つインクリメントされる。
図15(A)の左側の回路は、常に、UP1/DOWN1の連続数をカウントしておく。連続回数の計数値CNTN1(フリップフロップ183の出力)と、UP1/DOWN1が異符号の場合、CNTN1に、UP1/DOWN1をセットし、それ以外の場合、CNTN1+UP1/DOWN1とする。ERR=1が入力された場合、セレクタ184が、計数値CNTN1を選択して、右側の回路ブロックに伝達出力する。またセレクタ182で0を選択してフリップフロップ183に供給し、フリップフロップ183はクロックに同期して計数値CNTN1を0にリセットする。CNTN1により、ERR=1が入力される直前に、UP1、DOWN1が何回連続しているかが判る。すなわち、CNTN1の値は、その値が1以上の正値の場合、UP1が1回以上連続している連続回数の値を表し、CNTN1の値が−1以下の負値の場合、DOWN1が1回以上連続している連続回数の値を表している。
図15(A)の右側の回路ブロック(加算器185、セレクタ186、フリップフロップ187、比較回路188、OR回路189)は、左側の回路ブロック(論理回路181、セレクタ182、フリップフロップ183、セレクタ184)のセレクタ184を介してERR信号が1のときに入力される値を、現在の計数値CNTN2と加算器185で加算する。加算器185の加算結果は、セレクタ186を介してフリップフロップ187のデータ端子に入力され、フリップフロップ187は同期クロック(例えばCLK0)によってCNTN2に前記加算結果を出力する。CNTN2は比較回路188に入力され、比較回路188は、CNTN2が所定回数以上(M以上)の場合(すなわち、UP1がM回以上連続して出力される場合)、連続UP検出信号CNTNUPを1(High)として出力し、CNTN2が−M以下の場合(すなわち、DOWN1がM回以上連続して出力される場合)、連続DOWN検出信号CNTNDOWNを1(High)として出力する。連続UP検出信号CNTNUP又は連続DOWN検出信号CNTNDOWNの一方が1のときOR回路189の出力は1となり、セレクタ186は0を選択出力し、フリップフロップ187のデータ端子に入力され、フリップフロップ187は同期クロック(例えばCLK0)によってCNTN2を0(ゼロ)にリセットする。この結果、比較回路188は、連続UP検出信号CNTNUPと連続DOWN検出信号CNTNDOWNはともに0とし、OR回路189の出力は0となり、セレクタ186は加算器185の出力を選択する。すなわち、これ以降、0にリセットされた計数値(連続回数の累算値)CNTN2と、セレクタ184を介して伝達された連続回数とが加算器185で加算され累算されていくことになる。以上で、UP/DOWNの連続回数を計数する。図15(A)の右側の回路ブロック(加算器185、セレクタ186、フリップフロップ187、比較回路188、OR回路189)は、比較回路188でCNTN2の値がM以上又は−M以下となるまで、セレクタ184を介して伝達された連続回数をCNTN2に累算していくことになる。
<連続回数計測器18の動作例>
図16を参照すると、連続回数計測器18の動作の一例が示されている。なお、図16では、図15(A)の比較回路188のMを「8」とした場合のUP1/DOWN1、ERR、CNTN1、CNTN2、CNTNUP、CNTNDOWNが示されている。UP1/DOWN1の+1はUP1、−1はDOWN1が出力されたことに対応する。
UP1/DOWN1の−1(位相検出器12からDOWN1が出力される)が4サイクルつづき、5サイクル目で、UP1=DOWN1=0、ERR=1となる。この場合、CNTN1は、0、−1、−2、−3、−4となり、ERR=1のとき、セレクタ184でCNTN1(=−4:DOWN1の連続回数=4)が選択され、加算器185に入力される。加算器185はゼロにリセットされているCNTN2とセレクタ184を介して入力されたCNTN1(=−4)とを加算し加算結果(=−4)をセレクタ186を介してフリップフロップ187のデータ端子に入力する。
次のサイクルでフリップフロップ187によりCNTN2は−4にセットされる。
次に、UP1/DOWN1は−1(DOWN1)が2クロックサイクルつづき、次に、+1(UP1)が2クロックサイクル連続して入力される。この場合、CNTN1=−2の状態で、UP1が入力されると、論理回路181は前述したように、+1を出力する。フリップフロップ183により次のサイクルでCNTN1は−2から+1に変化し、次にUP1が入力されると、CNTN1は次のサイクルで+1+1=+2に更新される。このとき、位相検出器12からERR=1が出力されている。セレクタ184でCNTN1(=+2)が選択され、加算器185に入力される。加算器185は、現在の計数値CNTN2の値(=−4)と、前段回路からセレクタ184を介して伝達されたCNTN1の値(=+2)を加算し、加算結果(=−2)がセレクタ186を介してフリップフロップ187のデータ端子に入力され、フリップフロップ187は次のサイクルでCNTN2を−2に更新する。
つづいて、UP1/DOWN1は+1(UP1)が5クロックサイクルつづき、ERR=1が出力される。この場合、CNTN1は、0から+1〜+5と変化し、ERR=1のとき、セレクタ184でCNTN1(=+5)が選択されて加算器185に入力される。加算器185はCNTN2の現在値(=−2)とCNTN1の値(=+5)を加算し、加算結果(=+3)がセレクタ186を介してフリップフロップ187のデータ端子に入力され、フリップフロップ187は次のサイクルでCNTN2を+3に更新する。
さらに、UP1/DOWN1は+1(UP1)が5クロックサイクルつづき、ERR=1が出力される。この場合、CNTN1は0から+1〜+5と変化し、ERR=1のとき、セレクタ184でCNTN1(=+5)が選択されて加算器185に入力される。加算器185はCNTN2の現在値(=+3)とCNTN1の値(+5)を加算し、加算結果(=+8)がセレクタ186を介してフリップフロップ187のデータ端子に入力され、フリップフロップ187は次のサイクルでCNTN2を+8に更新する。CNTN2を入力し、CNTN2>=+8であるか、CNTN2<=−8であるかを判定する比較回路188は、CNTN2の値が8以上であることを検出し、連続UP検出信号CNTNUPに1(High)を出力する。CNTNUP=Highを受けて、OR回路189の出力は1となり、セレクタ186は0を選択し、0がフリップフロップ187のデータ端子に入力され、次のサイクルで、CNTN2は0にセットされる。同様に、CNTN2が−8以下となった場合、CNTNDOWNがHighとなり、セレクタ186は0を選択し、次のサイクルでCNTN2は0にセットされる。
<補正量決定器19の処理例1>
補正量決定器19は、問題となる状態から復帰させるには、CDRが検出している周波数偏差PPMを補正する。一番単純な方法は、以下のフローチャート図17にしたがって、PPMの補正量CORRECTを決定する。
ERRの直前にUPが連続していた場合(CNTNUP=1)(ステップS101のYes)、CORRECT=p(p>0)とする(ステップS102)。
ERRの直前にDOWNが連続していた場合(CNTDOWN=1)(ステップS103のYes)、CORRECT=−pとする(ステップS104)。その他の場合(ステップS103のNo)、CORRECT=0とする(ステップS105)。
ここで、pは正の整数であり、位相追従ループの追従能力程度の値に設定するのがよい。ほかにも、いくつかの変形が考えられる。以下に2つ示す。
<補正量決定器19の処理例2>
図18に示す例は、PPMを更新した結果、PPM値の上限PPM(Max)と、下限PPM(Min)の間に入る場合は、図17と同じであるが、上限(Max)と下限(Min)の範囲に入らない場合には、CORRECTの符号を極性に反転する。
ERRの直前にUPが連続していた場合(CNTNUP=1)(ステップS201のYes)、PPM+p<PPM(Max)の場合(ステップS202のYes)、CORRECT=pとし(ステップS203)、PPM+p>=PPM(Max)の場合(ステップS202のNo)、CORRECT=−pとする(ステップS206)。
ERRの直前にDOWNが連続していた場合(CNTNDOWN=1)(ステップS204のYes)、PPM−p>PPM(Min)の場合(ステップS205のYes)、CORRECT=−pとし(ステップS206)、PPM−p<=PPM(Min)の場合(ステップS205のNo)、CORRECT=pとする(ステップS203)。その他の場合(ステップS204のNo)、CORRECT=0とする(ステップS207)。
<補正量決定器19の処理例3>
さらに補正量決定器19の別の例を図19に示す。図19に示す例は、PPMを何回更新してもCDRが引き込まない場合に、補正量CORRECTを大きくするものである。
PPMの更新回数が8の倍数の場合に限り、CORRECT=+q又は−q、(q>p)と大きくする。PPMの上限と下限のチェックも行なっている。
図19のステップS301、S303、S304、S309、S311、S312、S318は、図18のS201、S202、S203、S204、S205、S206、S207と同じである。図19では、ステップS301とS303の間に回数が8に達したか否か(NUM=8?)の判定(ステップS302)が挿入され、ステップS304ではNUMを1つインクリメントする。ステップS309とS311の間に回数が8に達したか否か(NUM=8?)の判定(ステップS310)が挿入され、ステップS312ではNUMを1つインクリメントする。
ステップS302でNUMが8のとき、PPM+q<PPM(Max)である場合(ステップS305のYes)、CORRECT=q(q>0)、NUM=0とする(ステップS306)。
PPM+q<PPM(Max)でない場合(ステップS305のNo)、PPM−q>PPM(Min)の場合(ステップS315のYes)、CORRECT=−q、NUM=0とし(ステップS317)、PPM−q>PPM(Min)でない場合(ステップS315のNo)、CORRECT=0、NUM=0とする(ステップS316)。
ステップS310でNUMが8のとき、PPM−q>PPM(Min)である場合(ステップS313のYes)、CORRECT=−q、NUM=0とする(ステップS314)。
PPM−q>PPM(Min)でない場合(ステップS313のNo)、PPM+q<PPM(Max)の場合(ステップS307のYes)、CORRECT=q、NUM=0とし(ステップS308)、PPM+q<PPM(Max)でない場合(ステップS307のNo)、CORRECT=0、NUM=0とする(ステップS316)。
<本発明の動作原理の一例>
図29を参照して説明した関連技術の問題点に対する本発明による解決手法を説明する。図32は、図29において、本発明による位相検出器12の4状態(UP、ERR発生、DOWN、UPとDOWNの頻度が同程度)を示した図である。データ周波数−クロック周波数の周波数偏差を5000ppmとする。
UPからDOWNに切り替わるところに、ERR発生状態が存在する。
一方、CDRが引き込んでいる場合、ERRは発生しない(図32では省略)。
ERR発生の有無は、問題が起きていることの検出に利用できる。ERRの直前の状態はUPである。位相検出器12でUP1=1を出力し、位相追従ループでクロック位相を進ませているにも関わらず、ERRが発生したということは、周波数追従ループが周波数偏差を誤って小さく検出し、DOWNを大量に挿入しているか、または、UPを挿入する頻度が少なすぎる、ということである。
従って、CDRが検出している周波数偏差を補正して大きくすれば、正しい周波数偏差に近くなることが分かる。
ERR発生直前のUPとDOWNの発生状況を調べることで、この状態に陥っていることが検出できる。ERR発生直前にUPが頻発している場合、データに対してクロック位相が遅れ過ぎている(データに対してクロック周波数を低く見積もっている)ことに対応しており、クロック周波数を上げるため(UPを頻繁に発生させるため)、PPM値を大きくする。
<本発明の動作原理の他の例>
図33は、周波数偏差を誤って大きく見積もっている場合の例を説明する図である。ERRの直前の状態はDOWNである。CDRが検出している周波数偏差を補正して小さくすれば、正しい周波数偏差に近くなることが分かる。すなわち、ERR発生直前にDOWNが頻発している場合、データに対してクロックが図33の左に流れている(位相が進んでいる)。データ周波数からみてクロック周波数を高く見積もり過ぎている。このため、クロック周波数を下げ、DOWNを頻繁に発生させるためにPPMの値を小さくする。
本実施形態においては、位相検出器12でERRの発生を検出し、ERR直前のUP/DOWNの発生状況を調査し、UPが連続している場合には、CDRが検出している周波数偏差PPMを補正してその値を大きくし、DOWNが連続している場合には、周波数編差PPMを補正しその値を小さくする制御を行う。
<実施形態2>
次に本発明の第2の実施形態について説明する。図20は、本発明の第2の実施形態の構成を示す図である。本実施形態では、位相追従ループ側の積分器14の手前に、強制DOWN生成器20が追加されている。強制DOWN生成器20は、位相検出器12から出力されるUP1/DOWN1、ERRを入力し、ERRが発生していない場合(ERR=0)、UPDOWN5=UP1/DOWN1であるが、ERRが発生した場合(ERR=1)、強制的にUPDOWN5=DOWNとする。
CDRが検出している周波数偏差が正しく、データ入力のデューティ比が崩れている場合、CDRが引き込まない可能性がある。本実施形態では、ERRが発生した場合、強制的にDOWN方向にずらすことで引き込ませる。なお、強制する方向は、UPであってもよい。この場合、強制DOWN生成器20は強制UP生成器となる。
<実施形態2の動作例>
図21は、本発明の第2の実施形態を説明するタイミングチャートである。図21(B)に示すように、ジッタ等により、入力データ信号のDUTYが奇数ビット目で狭く、偶数ビット目で広い。ERRは発生するが、クロック位相は変化しないため、この状態で安定する可能性がある。図21(A)を参照すると、データ入力としてa=1、b=0、c=1、d=0、e=1、f=0、g=1、h=0がこの順でクロック周波数の2倍の周波数で入力されるものとする。またa=1の前にz=0(≠a)が入力されているものとする。a、c、e、gの上の右矢印→は、データ位相(エッジ)の遅れを表しており、b、d、f、hの上の左矢印←はデータ位相(エッジ)の進みを表しており、ジッタにより矢印の方向にエッジが若干ずれていることを表している。データa、c、e、gでDUTYが狭く、データb、d、f、hでDUTYは広い。
CLK0の立ち上がり(タイミングt1)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたb、c、d、dと、今回のCLK0の立ち上がり(t1)でサンプリングされたdとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、High、High、Low、Lowとなり、図4より、UP1、DOWN1、ERRはLow、Low、Highとなる。
さらに次のクロックサイクルCLK0の立ち上がり(タイミングt2)で、DATA0、90、180、270、360には、直前のサイクルのCLK0、CLK90、CLK180、CLK270の立ち上がりエッジでそれぞれサンプリングされたd、e、f、fと、今回のCLK0の立ち上がり(t2)でサンプリングされたfとがパラレルに出力される。UP00、DOWN00、UP01、DOWN01は、それぞれ、High、High、Low、Lowとなり、UP1、DOWN1、ERRはLow、Low、Highとなる。このERR=1を受け強制DOWN生成器20は強制的にUPDOWN5=DOWNとし積分器14に出力する。CDR回路が出力する抽出データは、CLK0とCLK180でサンプリングしたデータであるが、この例の場合は、b、b、d、d、f、f、となりDUTYの狭いデータa、c、e、が抜けている。しかし、強制的にUPDOWN5=DOWNとしクロック位相を遅らせることで、CDR回路はいずれ引き込み、DUTYの狭いデータを抽出データとして出力することができる。
<実施形態3>
次に本発明の第3の実施形態について説明する。図22は、本発明の第3の実施形態の構成を示す図である。本実施形態では、位相検出器12からのERRの発生回数を計測し、所定の回数(例えば8回)、ERRが発生するたびに、積分器13のPPMを乱数値RNDに強制設定するエラー回数計数器21を備えている。エラー回数計数器21は、ERRの回数をカウントするカウンタを備え、ERR発生を所定回数カウントした場合、乱数RNDを出力する。乱数は予めメモリに記憶しておいてもよい。積分器13は、図10、図11を参照して説明した構成とされ、CORRECTのかわりに乱数値RNDが入力される。ERRが頻発する場合、周波数追従ループの積分器13の出力PPMの値を強制的にランダム値に設定する。
<実施形態4>
次に本発明の第4の実施形態について説明する。図23は、本発明の第4の実施形態の構成を示す図である。本実施形態では、位相追従ループの積分器14を混合器16の後段に配置している。図1等に示した前記実施形態のように、混合器16の入力UPDOWN2(積分器14の出力)とUPDOWN3(パターン発生器15の出力)を単純に加算すると、図24に示すように、混合器16の出力UPDOWN4に時間軸上粗密が発生する。図24では、UPDOWN4は、疎(疎で示す時間範囲内に1区間相当のパルス幅のパルスが1つ)、密(密で示す時間範囲内に2区間相当のパルス幅のパルスが1つ)、密(疎で示す範囲の期間内に1区間相当のパルス幅のパルスが1区間を置いて2つ)、疎(疎で示す時間範囲内にパルス無し)となる。本実施形態では、第1の実施形態では混合器16の前段にあった積分器14を混合器16の後段に移すことで、混合器16の出力UPDOWN6の疎密を平滑化(平均化)させている。積分器14は、前記第1の実施形態と同様UP/DOWNカウンタで構成される。混合器16は、図13に示した構成とされ、パターン発生器15の出力UPDOWN3と、UPDOWN2の代わりに、位相検出器12の出力UP1/DOWN1との加算結果をUPDOWN6として出力する。
<実施形態5>
次に本発明の第5の実施形態について説明する。図25は、本発明の第5の実施形態の構成を示す図である。本実施形態では、図23の前記第4の実施形態の位相追従ループに、図20の前記第2の実施形態の強制DOWN生成器20を追加したものである。ERR=1を受け強制DOWN生成器20は強制的にUPDOWN5=DOWNとし混合器16に出力する。混合器16は、図13に示した構成とされ、パターン発生器15の出力UPDOWN3と、UPDOWN2の代わりに、UPDOWN5との加算結果をUPDOWN6として出力する。強制DOWN生成器20は、ERR=1を受け強制的にUPDOWN5=UPとし混合器16に出力する構成としてもよい。
<実施形態6>
次に本発明の第6の実施形態について説明する。図26は、本発明の第5の実施形態の構成を示す図である。本実施形態では、図20の前記第5の実施形態における周波数偏差の補正回路(連続回数計測器18、補正量決定器19)を除去したものである。なお、図26において、図25と同様、混合器16の後段に積分器14を配置する構成としてもよい。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
11 データサンプリング回路
12 位相検出器
13 積分器
14 積分器
15 パターン発生器
16 混合器
17 位相補間器
18 連続回数計測器
19 補正量決定器
20 強制DOWN生成器
21 エラー回数計測器
22 回路ブロック(補正回路)
101 位相検出器
102、103 積分器
104 パターン発生器
105 混合器
106 位相補間器
111 レシーバ
112〜119、153、1425 フリップフロップ
141、142 UP/DOWNカウンタ
151、161 加算器
152 除算器
181 論理回路
182、186 セレクタ
183、187 フリップフロップ
184 セレクタ
185 加算器
188 比較回路
189 OR回路
1201〜1204 EXOR
1205、1207、1212、1214、1217 インバータ
1206、1208、1209、1210、1213、1215、1219、1220 AND回路
1211、1216、1218 OR回路
1230 論理回路部
1421、1422 加算器
1423 零判定器
1424 セレクタ

Claims (25)

  1. 入力データ信号を多相のクロック信号の各々でサンプリングしたデータ信号群の比較結果に基づき、前記クロック信号の位相を進ませるか遅らせる指示情報を含む位相比較結果を出力し、さらに、前記データ信号群の比較結果がエラーに該当するときにエラー信号を出力する位相検出器と、
    入力クロック信号と制御信号とを入力し前記制御信号に基づき位相を可変に調整した多相の出力クロック信号を生成し前記多相のクロック信号として出力する位相補間器と、
    を備え、
    周波数追従ループに、前記位相検出器からの前記位相比較結果を積分する第1の積分器と、前記第1の積分器の積分出力に対応したパターンの値を出力するパターン発生器とを備え、
    位相追従ループに、前記位相検出器からの前記位相比較結果を積分する第2の積分器を備え、
    前記第2の積分器の積分出力と前記パターン発生器の出力とを合成した値の信号を生成し前記制御信号として前記位相補間器に供給する混合器と、
    前記位相検出器からの出力を監視し、前記位相検出器から前記エラー信号が出力されたとき、前記エラー信号が出力されるまでの前記位相比較結果の出力状況、又は、前記エラー信号が出力されるまでの過去のエラー信号の出力状況から、前記周波数追従ループでの周波数偏差の設定が適正か否か判定し、適正でない場合には、前記第1の積分器の積分出力の補正量を導出して前記第1の積分器に設定し、適正な場合には、前記第1の積分器での積分出力の補正は行わない回路ブロックと、
    を備えたクロックアンドデータリカバリ回路。
  2. 前記回路ブロックは、
    前記位相検出器から前記エラー信号が出力される直前までに、前記位相検出器から連続して出力された、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の回数を累積加算する回路を備え、
    前記位相検出器から前記エラー信号が出力されたとき、
    前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示が、予め定められた所定回以上、前記位相検出器から連続して出力されている場合には、前記第1の積分器の積分出力が現在値よりも大きな値となるように前記補正量を設定し、
    前記エラー信号が出力される直前までに、前記クロック信号の位相を遅らせる指示が、予め定められた所定回以上、前記位相検出器から連続して出力されている場合には、前記第1の積分器の積分出力が現在値よりも小さな値となるように前記補正量を設定する、請求項1記載のクロックアンドデータリカバリ回路。
  3. 前記回路ブロックは、前記位相検出器から前記エラー信号が出力されたとき、
    前記エラー信号が出力される直前までに、前記クロック信号の位相を進ませる指示又は位相を遅らせる指示の連続出力回数が前記予め定められた所定回に満たないときは、
    前記周波数追従ループでの周波数偏差の設定は適正と判定し、前記補正量を零とすることで前記第1の積分器での積分出力の補正は行わない、請求項2記載のクロックアンドデータリカバリ回路。
  4. 前記位相検出器が、前記データ信号群に対して、相隣る位相のクロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定する論理ゲートを複数備え、
    前記複数の論理ゲートでの判定出力の組み合わせに基づき、前記クロック信号の位相を進めさせる指示をなす第1のアップ信号、又は、前記クロック信号の位相を遅らせる指示をなす第1のダウン信号を出力し、前記複数の論理ゲートでの判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー検出を示す前記エラー信号を出力する論理ユニットを備えている、請求項1乃至3のいずれか1項に記載のクロックアンドデータリカバリ回路。
  5. 前記回路ブロックは、前記位相検出器から、前記エラー信号が出力されるまでの間に、前記第1のアップ信号又は前記第1のダウン信号が連続して出力された回数を計数し、
    前記位相検出器から今回、前記エラー信号が出力されると、今回の前記エラー信号出力時点まで、前記第1のアップ信号又は前記第1のダウン信号について計数した連続回数と、
    今回の前記エラー信号の1つ前のエラー信号が出力された時点までに、前記位相検出器から出力された前記第1のアップ信号又は前記第1のダウン信号の過去の連続回数と、
    を累積加算し、
    前記第1のアップ信号又は前記第1のダウン信号の連続回数を累積加算した値が、前記予め定められた所定回以上に対応する値に達するか超えると、連続アップ検出信号又は連続ダウン検出信号を出力する連続回数計測回路と、
    前記連続回数計測回路から、前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第1の積分器の積分出力を補正するための補正量を決定する補正量決定器と、
    を備え、
    前記第1の積分器は、前記補正量決定器から前記補正量が出力された場合、前記第1の積分器の積分出力を前記補正量で補正した値に設定するとともに、前記補正した値から、前記第1のアップ信号と前記第1のダウン信号の積分を行う、請求項4記載のクロックアンドデータリカバリ回路。
  6. 前記連続回数計測回路は、
    前記位相検出器から前記エラー信号が出力されるまでに、前記位相検出器から前記第1のアップ信号又は前記第1のダウン信号が連続して出力される回数を計数し、
    前記位相検出器から前記エラー信号が出力されると、前記エラー信号が出力されるまでに計数された前記第1のアップ信号又は前記第1のダウン信号の連続回数の計数値を、後段に伝達し、その後、前記計数値を零にリセットする第1の回路ユニットと、
    前記第1の回路ユニットから伝達された、前記第1のアップ信号又は前記第1のダウン信号の前記連続回数を受け、前記連続回数と、過去の前記第1のアップ信号又は前記第1のダウン信号の前記連続回数の累積加算値とを加算器で加算した値を新たな累積加算値とし、
    前記新たな累積加算値が、前記第1のアップ信号又は前記第1のダウン信号の所定回数分に対応する値に達したか又は超えているとき、前記連続アップ検出信号又は前記連続ダウン検出信号を出力するとともに、前記連続回数の累積加算値を零にリセットする第2の回路ユニットと、
    を備えている、請求項5記載のクロックアンドデータリカバリ回路。
  7. 前記連続回数計測回路は、第1、第2の回路ユニットを備え、
    前記第1の回路ユニットは、
    前記第1のアップ信号と前記第1のダウン信号を入力する論理回路を備え、
    前記論理回路は、
    (A)前記第1のアップ信号又は前記第1のダウン信号の連続回数の現在の第1の計数値が+1以上のときに、前記第1のダウン信号が入力されると、
    −1を出力し、
    (B)前記第1のアップ信号又は前記第1のダウン信号の連続回数の現在の前記第1の計数値が−1以下のときに、前記第1のアップ信号が入力されると、
    +1を出力し、
    (C)前記第1のアップ信号又は前記第1のダウン信号の連続回数の現在の前記第1の計数値と、入力された前記第1のダウン信号又は前記第1のアップ信号の関係が、上記(A)、(B)の関係の以外の場合、入力された信号が前記第1のダウン信号のとき、
    前記現在の第1の計数値に−1を加算した値を出力し、
    (D)前記第1のアップ信号又は前記第1のダウン信号の連続回数の現在の前記第1の計数値と、入力された前記第1のダウン信号又は前記第1のアップ信号の関係が、上記(A)、(B)の関係の以外の場合、入力された信号が前記第1のアップ信号のとき、
    現在の前記第1の計数値に+1を加算した値を出力し、
    前記第1の回路ユニットは、さらに、
    前記論理回路の出力と零とを入力し、前記位相検出器からの前記エラー信号を選択制御信号とし、前記エラー信号が出力されないとき、前記論理回路の出力を選択出力し、前記位相検出器から前記エラー信号が出力されたときは零を選択出力する第1のセレクタと、
    前記第1のセレクタの出力を入力し、出力から、前記第1の計数値を出力する第1のフリップフロップと、
    前記第1のフリップフロップの出力と零とを入力し、前記位相検出器から前記エラー信号を選択制御信号とし、前記エラー信号が出力されないときは、零を選択し、前記位相検出器から前記エラー信号が出力されたときは、前記第1のフリップフロップの出力を選択する第2のセレクタと、
    を備え、
    前記第2の回路ユニットは、
    前記第2のセレクタの出力と第2の計数値を加算する加算器と、
    前記加算器の出力と零とを入力する第3のセレクタと、
    前記第3のセレクタの出力を入力し出力を前記第2の計数値とする第2のフリップフロップと、
    前記第2のフリップフロップから出力される前記第2の計数値を受け、前記第2の計数値が所定の正値以上の場合、連続アップ検出信号、前記第2の計数値が所定の負値以下の場合、連続ダウン検出信号を出力する比較回路と、
    前記比較回路から前記連続アップ検出信号又は前記連続ダウン検出信号が出力されると、前記第3のセレクタにて零を選択し、前記比較回路から前記連続アップ検出信号も前記連続ダウン検出信号も出力されない場合、前記第3のセレクタにて前記加算器の出力を選択するための選択制御信号を出力する論理ゲートと、
    を備えている、請求項5記載のクロックアンドデータリカバリ回路。
  8. 前記補正量決定器は、
    (E)前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
    前記補正量を正の所定値(p)とし、
    (F)前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
    前記補正量を前記所定値の負値(−p)とし、
    (G)前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号がともに出力されないとき、
    前記補正量を零とする、請求項5又は6記載のクロックアンドデータリカバリ回路。
  9. 前記補正量決定器は、
    (E)前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
    前記第1の積分器の出力(PPM)と正の所定値(p)の和(PPM+p)が、前記第1の積分器の出力最大値(PPMmax)よりも小の場合、
    前記補正量を前記所定値(p)とし、
    前記第1の積分器の出力(PPM)と前記所定値(p)の和(PPM+p)が、前記第1の積分器の出力最大値(PPMmax)以上の場合、
    前記補正量を前記所定値の負値(−p)とし、
    (F)前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
    前記第1の積分器の出力(PPM)から前記所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器の出力最小値(PPMmin)よりも大の場合、
    前記補正量を前記所定値の負値(−p)とし、
    前記第1の積分器の出力から前記所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器の出力最小値(PPMmin)以下の場合、
    前記補正量を前記所定値(p)とし、
    (G)前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号が出力されないときは、
    前記補正量を零とする、請求項5又は6記載のクロックアンドデータリカバリ回路。
  10. 前記補正量決定器は、
    (E)前記連続回数計測回路から、前記連続アップ検出信号が出力されると、
    前記第1の積分器の出力(PPM)と正の第1の所定値(p)の和(PPM+p)が、前記第1の積分器の出力最大値(PPMmax)よりも小の場合、
    前記補正量を前記第1の所定値(p)とし、
    前記第1の積分器の出力と前記第1の所定値(p)の和(PPM+p)が、前記第1の積分器の出力最大値(PPMmax)以上の場合、
    前記補正量を前記第1の所定値の負値(−p)とし、
    (F)前記連続回数計測回路から、前記連続ダウン検出信号が出力されると、
    前記第1の積分器の出力(PPM)から前記第1の所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器の出力最小値(PPMmin)よりも大の場合、
    前記補正量を前記第1の所定値の負値(−p)とし、
    前記第1の積分器の出力から前記第1の所定値(p)を差し引いた値(PPM−p)が、前記第1の積分器の出力最小値(PPMmin)以下の場合、
    前記補正量を前記第1の所定値(p)とし、
    (G)前記連続回数計測回路から、前記連続アップ検出信号、前記連続ダウン検出信号が出力されないときは、
    前記補正量を零とし、
    (H)前記連続アップ検出信号が出力された場合の上記処理(E)を所定回実行したとき、
    (I)前記第1の積分器の出力(PPM)と正の第2の所定値(q)の和(PPM+q)が、前記第1の積分器の出力最大値(PPMmax)よりも小の場合、
    前記補正量を前記第2の所定値(q)とし、
    (J)前記第1の積分器の出力と前記第2の所定値(q)の和(PPM+q)が、前記第1の積分器の出力最大値(PPMmax)以上の場合、
    前記第1の積分器の出力から前記第2の所定値(q)を差し引いた値(PPM−q)が、前記第1の積分器の出力最小値(PPMmin)よりも大の場合には、
    前記補正量を前記第2の所定値の負値(−q)とし、
    前記第1の積分器の出力(PPM)から前記第2の所定値(q)を差し引いた値(PPM−q)が、前記第1の積分器の出力最小値(PPMmin)以下の場合には、
    前記補正量を零とし、
    (K)前記連続ダウン検出信号が出力された場合の上記処理(F)を所定回実行したとき、
    (L)前記第1の積分器の出力(PPM)から前記第2の所定値(q)を差し引いた値(PPM−q)が、前記第1の積分器の出力最小値(PPMmin)よりも大の場合には、
    前記補正量を前記第2の所定値の負値(−q)とし、
    前記第1の積分器の出力(PPM)から前記第2の所定値(q)を差し引いた値(PPM−q)が、前記第1の積分器の出力最小値(PPMmin)以下の場合には、
    前記第1の積分器の出力(PPM)と前記第2の所定値(q)の和(PPM+q)が、前記第1の積分器の出力最大値(PPMmax)よりも小の場合、
    前記補正量を前記第2の所定値(q)とし、
    前記第1の積分器の出力(PPM)と前記第2の所定値(q)の和(PPM+q)が、前記第1の積分器の出力最大値(PPMmax)以上の場合、
    前記補正量を零とする、請求項5又は6記載のクロックアンドデータリカバリ回路。
  11. 前記第1の積分器が、前記位相検出器からの前記第1のアップ信号の入力に応答してカウントアップし、前記位相検出器からの前記第1のダウン信号の入力に応答してカウントダウンする第1のアップダウン・カウンタと、
    前記第1のアップダウン・カウンタの出力と前記第1の積分器の出力値とを加算する第1の加算器と、
    前記補正量と前記第1の積分器の出力値とを加算する第2の加算器と、
    前記補正量が零のとき、前記第1の加算器の出力を選択し、前記補正量が非零のとき、前記第2の加算器の出力を選択するセレクタと、
    前記セレクタの出力を受け、出力が、前記第1の積分器の積分出力値として出力されるとともに、前記第1及び第2の加算器に共通に入力されるフリップフロップと、
    を備えている、請求項4記載のクロックアンドデータリカバリ回路。
  12. 前記パターン発生器が、前記第1の積分器の出力を受ける加算器と、
    前記加算器の出力を所定の正整数で除した商と余りを出力する除算器と、
    前記除算器の前記余りを受けるフリップフロップと、
    を備え、前記加算器は、前記フリップフロップからの前記余りと、前記第1の積分器の出力を加算し、前記商が前記パターン発生器の出力とされる、請求項1記載のクロックアンドデータリカバリ回路。
  13. 前記回路ブロックが、前記位相検出器から前記エラー信号が出力されると、前記第2の積分器にダウン信号を与える強制ダウン回路を備えている、請求項1記載のクロックアンドデータリカバリ回路。
  14. 前記回路ブロックが、前記位相検出器から前記エラー信号が出力されると、前記第2の積分器にアップ信号を与える強制アップ回路を備えている請求項1記載のクロックアンドデータリカバリ回路。
  15. 前記回路ブロックが、前記位相検出器から前記エラー信号が所定回数出力されると、前記第1の積分器の出力を補正するための補正量を出力するエラー回数計測器を備えた、請求項1記載のクロックアンドデータリカバリ回路。
  16. 前記第2の積分器を前記混合器と前記位相補間器の間に備え、
    前記混合器は、前記パターン発生器と前記位相検出器の出力を合成した結果を前記第2の積分器に供給する、請求項1乃至15のいずれか1項に記載のクロックアンドデータリカバリ回路。
  17. 前記位相補間器からの多相のクロック信号で入力データ信号をサンプリングするデータサンプリング回路を備え、
    前記位相検出器は、前記データサンプリング回路でサンプリングされたデータ信号群を入力する、請求項1乃至16のいずれか1項に記載のクロックアンドデータリカバリ回路。
  18. 前記多相クロック信号を、位相が360度/Nで等間隔に離間しているN相クロック信号(但し、Nは所定の正の偶数)とし、
    前記位相検出器は、
    第1乃至第N(Nは、前記)の判定回路を備え、
    第iの判定回路(i=1〜N)は、データ信号をN相のクロック信号でサンプリングしたデータ信号群のうち、巡回的に位相が隣り合うi番目の相とi+1番目の相のクロック信号でサンプリングしたデータ信号が不一致であるか判定し、
    前記第1乃至第Nの判定回路の出力を入力し、第j及び第j+1(ただし、j=1、3、・・・、N−1の奇数)の判定回路の各対のうち、少なくとも1対の判定回路の出力がともに不一致を示す場合に、エラー信号を出力し、
    その他の場合、前記第1乃至第N(Nは2以上の整数)の判定回路の出力に基づき、前記第1のアップ信号、又は前記第1のダウン信号を出力する論理回路部と、
    を備えた、請求項1乃至17のいずれか1項に記載のクロックアンドデータリカバリ回路。
  19. 入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
    前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第1のアップ信号、又は、前記クロック信号の位相を遅らせる第1のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
    周波数追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第1の積分器と、
    位相追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第2の積分器と、
    前記第1の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
    前記第2の積分器の出力と前記パターン発生器の出力を合成する混合器と、
    入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
    前記位相検出器から、前記エラー信号が出力されるまでに、前記第1のアップ信号又は前記第1のダウン信号が連続して出力される回数を計数し、
    前記第1のアップ信号又は前記第1のダウン信号の連続回数と、
    前記連続回数に対応する前記エラー信号が出力される直前までの過去の前記第1のアップ信号又は前記第1のダウン信号の連続回数と、
    を累積加算した値が、予め定められた所定回数以上に対応する値に達すると、連続アップ検出信号又は連続ダウン検出信号を出力する連続回数計測回路と、
    前記連続回数計測回路から前記連続アップ検出信号又は前記連続ダウン検出信号が出力されたときに、前記第1の積分器の出力を補正するための補正量を決定する補正量決定器と、
    を備え、
    前記第1の積分器は、前記補正量決定器から補正量が出力された場合、前記第1の積分器の積分出力を前記補正量で補正した値とするとともに、前記補正した値から、前記第1アップ信号と前記第1のダウン信号の積分を行う、クロックアンドデータリカバリ回路。
  20. 前記エラー信号が出力されると、前記第2の積分器にダウン信号を与える回路を備えている、請求項19記載のクロックアンドデータリカバリ回路。
  21. 入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
    前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第1のアップ信号、又は、前記クロック信号の位相を遅らせる第1のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
    周波数追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第1の積分器と、
    位相追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第2の積分器と、
    前記第1の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
    前記第2の積分器の出力と前記パターン発生器の出力を合成する混合器と、
    入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
    前記位相検出器から、前記エラー信号が所定回数出力されると、前記第1の積分器の出力を補正するための補正量を出力するエラー回数計測器と、
    を備え、
    前記第1の積分器は、前記エラー回数計測器から補正量が出力された場合、前記第1の積分器の積分出力を前記補正量で補正した値とするとともに、前記補正した値から、前記第1アップ信号と前記第1のダウン信号の積分を行う、クロックアンドデータリカバリ回路。
  22. 前記エラー回数計測器は、前記エラー信号が所定回数出力されると、前記第1の積分器の出力を補正するための補正量として乱数を出力する、請求項21記載のクロックアンドデータリカバリ回路。
  23. 入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
    前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第1のアップ信号、又は、前記クロック信号の位相を遅らせる第1のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
    周波数追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第1の積分器と、
    位相追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第2の積分器と、
    前記第1の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
    前記第2の積分器の出力と前記パターン発生器の出力を合成する混合器と、
    入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
    前記位相検出器から前記エラー信号が出力されると、前記第2の積分器に対してダウン信号を与える強制ダウン回路と、
    を備えた、クロックアンドデータリカバリ回路。
  24. 入力データ信号を多相のクロック信号の各々でサンプリングするデータサンプリング回路と、
    前記データ信号群に対して相隣る位相の前記クロック信号でそれぞれサンプリングされたデータ信号対の一致/不一致を判定し、前記判定結果の組み合わせに基づき、前記クロック信号の位相を進めさせる第1のアップ信号、又は、前記クロック信号の位相を遅らせる第1のダウン信号を出力し、前記判定出力の組み合わせが予め定められたエラーの条件に該当する場合に、エラー信号を出力する位相検出器と、
    周波数追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第1の積分器と、
    位相追従ループを構成し、前記位相検出器からの前記第1のアップ信号と前記第1のダウン信号を積分する第2の積分器と、
    前記第1の積分器の出力値に応じたパターンの信号値を生成するパターン発生器と、
    前記第2の積分器の出力と前記パターン発生器の出力を合成する混合器と、
    入力クロックを入力し前記混合器の出力値に基づき位相を可変させた多相のクロック信号を生成し前記データサンプリング回路に供給する位相補間器と、
    前記位相検出器から前記エラー信号が出力されると、前記第2の積分器に対してアップ信号を与える強制アップ回路と、
    を備えた、クロックアンドデータリカバリ回路。
  25. 請求項1乃至24のいずれか1項に記載のクロックアンドデータリカバリ回路を備えた半導体装置。
JP2010100813A 2010-04-26 2010-04-26 クロックアンドデータリカバリ回路 Expired - Fee Related JP5520128B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010100813A JP5520128B2 (ja) 2010-04-26 2010-04-26 クロックアンドデータリカバリ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010100813A JP5520128B2 (ja) 2010-04-26 2010-04-26 クロックアンドデータリカバリ回路

Publications (2)

Publication Number Publication Date
JP2011234009A JP2011234009A (ja) 2011-11-17
JP5520128B2 true JP5520128B2 (ja) 2014-06-11

Family

ID=45322919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010100813A Expired - Fee Related JP5520128B2 (ja) 2010-04-26 2010-04-26 クロックアンドデータリカバリ回路

Country Status (1)

Country Link
JP (1) JP5520128B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5926125B2 (ja) 2012-06-08 2016-05-25 ルネサスエレクトロニクス株式会社 半導体装置
JP6032081B2 (ja) * 2013-03-22 2016-11-24 富士通株式会社 受信回路、及び半導体集積回路
CN104811165B (zh) * 2014-01-23 2017-07-04 成都振芯科技股份有限公司 一种相位插值器控制电路
TWI714507B (zh) * 2020-05-20 2020-12-21 智原科技股份有限公司 時脈資料回復電路
CN117938148A (zh) * 2022-10-25 2024-04-26 华为技术有限公司 鉴相器及其工作方法、时钟与数据恢复电路、电子设备
CN117498858B (zh) * 2024-01-02 2024-03-29 上海米硅科技有限公司 一种信号质量检测方法及信号质量检测电路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4657662B2 (ja) * 2004-09-10 2011-03-23 ルネサスエレクトロニクス株式会社 クロックアンドデータリカバリ回路
JP2008175646A (ja) * 2007-01-17 2008-07-31 Nec Electronics Corp 半導体装置、半導体装置のテスト回路、及び試験方法
JP5300671B2 (ja) * 2009-09-14 2013-09-25 株式会社東芝 クロックリカバリ回路およびデータ再生回路

Also Published As

Publication number Publication date
JP2011234009A (ja) 2011-11-17

Similar Documents

Publication Publication Date Title
US7826583B2 (en) Clock data recovery apparatus
US7756232B2 (en) Clock and data recovery circuit
US7224199B1 (en) Circuit and method for digital delay and circuits incorporating the same
KR101301698B1 (ko) 선형 위상검출기 및 그것을 포함하는 클럭 데이터 복원회로
KR100824791B1 (ko) 클록 체배기 및 클록 체배 방법
US8315349B2 (en) Bang-bang phase detector with sub-rate clock
JP5520128B2 (ja) クロックアンドデータリカバリ回路
US7450677B2 (en) Clock and data recovery apparatus and method thereof
US6741668B1 (en) Clock recovery circuit and phase detecting method therefor
CN109639271B (zh) 锁定指示电路及其构成的锁相环
US7924071B2 (en) Synchronization detection circuit, pulse width modulation circuit using the same, and synchronization detection method
US8798223B2 (en) Clock and data recovery unit without an external reference clock
US20110074514A1 (en) Frequency measurement circuit and pll synthesizer provided therewith
US8537947B2 (en) Oversampling circuit, serial communication apparatus and oversampling method
EP1898548A1 (en) Oversampling circuit and oversampling method
WO2007019339A2 (en) Clock-and-data-recovery system
US7071750B2 (en) Method for multiple-phase splitting by phase interpolation and circuit the same
CN112165327B (zh) 一种锁定检测电路和显示设备
TWI555338B (zh) 相位偵測器及相關的相位偵測方法
CN103490775A (zh) 基于双环结构的时钟数据恢复控制器
JP2014222872A (ja) クロック・データ・リカバリ回路で受信データ信号をトラッキングするためのシステム及び方法
CN111049516B (zh) 集成电路以及包括该集成电路的时钟和数据恢复电路
JP2014225874A (ja) クロック・データ・リカバリ回路で受信データ信号を取得するためのシステム及び方法
TWI630799B (zh) Phase detector and clock and data recovery device
TW202426749A (zh) 鎖相偵測器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140404

R150 Certificate of patent or registration of utility model

Ref document number: 5520128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees