(58)【調査した分野】(Int.Cl.,DB名)
入力されたデータ信号のエッジサンプリング用に割り当てられた複数のクロックの位相を第1の位相制御信号に基づいてシフトし、前記データ信号のデータサンプリング用に割り当てられた複数のクロックの位相を第2の位相制御信号に基づいてシフトする位相シフト手段と、
前記位相シフト手段が位相をシフトさせた前記エッジサンプリング用および前記データサンプリング用の前記クロックのうち、それぞれ割り当てられた前記クロックを基に、入力された前記データ信号をサンプリングして出力データ信号として出力する複数のサンプリング手段と、
前記出力データ信号の比較を基に、入力された前記データ信号と前記クロックとの位相のずれに応じた信号を位相比較結果信号として出力する位相比較手段と、
前記位相比較結果信号のジッタを推定しジッタ情報として出力するジッタ推定手段と、
前記位相比較結果信号と前記ジッタ情報を基に、前記エッジサンプリング用の前記クロックの位相のシフト量を制御する前記第1の位相制御信号と、前記データサンプリング用の前記クロックの位相のシフト量を制御する前記第2の位相制御信号を生成して前記位相シフト手段に出力する位相制御手段と、
を備えることを特徴とするクロックアンドデータリカバリ回路。
前記第1のカウント手段は、前記第1の設定範囲の上限値のカウント値を保持している際に、アップを示す前記位相比較結果信号を受け取った場合に、アップを示す前記アップダウン信号を前記第2のカウント手段に出力し、
前記第1の設定範囲の下限値のカウント値を保持している際に、ダウンを示す前記位相比較結果信号を受け取った場合に、ダウンを示す前記アップダウン信号を前記第2のカウント手段に出力することを特徴とする請求項2に記載のクロックアンドデータリカバリ回路。
前記第2のカウント手段は、第2の設定範囲内で前記アップダウン信号のカウントを行い、前記第2の設定範囲よりも前記第1の設定範囲が狭いことを特徴とする請求項3または4いずれかに記載のクロックアンドデータリカバリ回路。
入力されたデータ信号のエッジサンプリング用に割り当てられた複数のクロックの位相を第1の位相制御信号に基づいてシフトし、前記データ信号のデータサンプリング用に割り当てられた複数のクロックの位相を第2の位相制御信号に基づいてシフトし、
位相をシフトさせた前記エッジサンプリング用および前記データサンプリング用の前記クロックのうち、それぞれ割り当てられた前記クロックを基に、入力された前記データ信号をサンプリングして出力データ信号として出力し、
前記出力データ信号の比較を基に、入力された前記データ信号と前記クロックとの位相のずれに応じた信号を位相比較結果信号として出力し、
前記位相比較結果信号のジッタを推定しジッタ情報として出力し、
前記位相比較結果信号と前記ジッタ情報を基に、前記エッジサンプリング用の前記クロックの位相のシフト量を制御する前記第1の位相制御信号と、前記データサンプリング用の前記クロックの位相のシフト量を制御する前記第2の位相制御信号を生成して出力することを特徴とするクロックアンドデータリカバリ回路の信号処理方法。
前記位相比較結果信号が入力されたときに保持しているカウント値が前記ジッタ情報を基に設定された第1の設定範囲に基づいた所定の条件を満たした場合にアップダウン信号を出力し、
前記アップダウン信号をカウントし、
前記アップダウン信号のカウント結果に基づいて前記シフト量を制御する前記第2の位相制御信号を生成することを特徴とする請求項6に記載のクロックアンドデータリカバリ回路の信号処理方法。
第2の設定範囲内で前記アップダウン信号のカウントが行われ、前記第2の設定範囲よりも前記第1の設定範囲が狭いことを特徴とする請求項8または9いずれかに記載のクロックアンドデータリカバリ回路の信号処理方法。
【発明を実施するための形態】
【0013】
(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。
図1は、本実施形態のクロックアンドデータリカバリ回路の構成の概要を示したものである。本実施形態のクロックアンドデータリカバリ回路は、位相シフト手段1と、サンプリング手段2と、位相比較手段3と、ジッタ推定手段4と、位相制御手段5を備えている。
【0014】
位相シフト手段1は、入力されたデータ信号のエッジサンプリング用に割り当てられた複数のクロックの位相を第1の位相制御信号に基づいてシフトする。また、位相シフト手段1は、データ信号のデータサンプリング用に割り当てられた複数のクロックの位相を第2の位相制御信号に基づいてシフトする。サンプリング手段2は、位相シフト手段1が位相をシフトさせたエッジサンプリング用およびデータサンプリング用のクロックのうち、それぞれ割り当てられたクロックを基に、入力されたデータ信号をサンプリングして出力データ信号として出力する。位相比較手段3は、出力データ信号の比較を基に、入力されたデータ信号とクロックとの位相のずれに応じた信号を位相比較結果として出力する。ジッタ推定手段4は、位相比較結果信号のジッタを推定しジッタ情報として出力する。位相制御手段5は、位相比較結果信号とジッタ情報を基に、エッジサンプリング用のクロックの位相のシフト量を制御する第1の位相制御信号と、データサンプリング用のクロックの位相のシフト量を制御する第2の位相制御信号を生成する。位相制御手段5は、生成した第1の位相制御信号および第2の位相制御信号を位相シフト手段1に出力する。
【0015】
本実施形態のクロックアンドデータリカバリ回路では、位相シフト手段1が入力されたデータ信号のデータサンプリング用とエッジサンプリング用のクロックの位相を互いに異なる位相制御信号に基づいてシフトさせている。そのため、本実施形態のデータリカバリ回路では、サンプリング手段2に入力されるデータサンプリング用のクロックのジッタを的確に抑制することが出来るので入力されたデータ信号を正確にサンプリングすることができる。
【0016】
また、本実施形態のクロックアンドデータリカバリ回路では、データサンプリング用のクロックの位相のシフト量は、ジッタ推定手段4が推定したジッタを基に制御されている。そのため、温度や電源の変動などによって入力データのジッタが変動した場合においても、外部から情報を必要とせずに動的にクロックのジッタを抑制することができる。よって、本実施形態のクロックアンドデータリカバリ回路では、温度等の環境が変動した場合においても入力されたデータ信号を正確にサンプリングすることができる。以上より、本実施形態のクロックアンドデータリカバリ回路は、入力信号のジッタが変動した場合でも、外部からの信号の入力を必要とせずに、正確に入力データのサンプリングを行うことができる。
【0017】
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。
図2は、本実施形態のクロックアンドデータリカバリ回路の構成の概要を示したものである。本実施形態のクロックアンドデータリカバリ回路は、シリアルインターフェースに適用され、入力データからクロックを抽出し、データの復元を行う位相補間方式の回路である。
【0018】
本実施形態のクロックアンドデータリカバリ回路は、サンプリング回路11と、位相比較回路12と、フィルタ回路13と、ジッタ推定回路14と、位相シフト回路15と、アップダウンカウンタ制御回路16を備えている。また、本実施形態のクロックアンドデータリカバリ回路は、第1のアップダウンカウンタ17と、第2のアップダウンカウンタ18と、第3のアップダウンカウンタ19をさらに備えている。また、本実施形態のサンプリング回路11は、位相シフト回路15から入力されるN相の多相クロックにそれぞれ対応して、サンプリング回路11−1から11−NまでN個備えられている。Nは、偶数である。
【0019】
サンプリング回路11は、位相シフト回路15から入力されるクロック信号を基に入力データのサンプリングを行う機能を有する。本実施形態のサンプリング回路11には、フリップフロップ回路によって構成されるラッチ回路が用いられる。
【0020】
N個のサンプリング回路11には、クロックアンドデータリカバリ回路に入力されたデータ信号がN系統に分岐されて共通に入力される。また、サンプリング回路11には、位相シフト回路15からそれぞれ位相の異なるクロックが入力される。
図2では、クロックCK−1からクロックCK−Nまで各クロックが、サンプリング回路11−1からサンプリング回路11−Nまでのいずれかのサンプリング回路11に入力されている。各サンプリング回路11に、多相クロックのうちいずれのクロックが入力されるかの対応はあらかじめ設定されている。
【0021】
奇数番目のサンプリング回路11、例えば、サンプリング回路11−1や11−(N−1)には、データサンプリング用のクロックが入力される。データサンプリング用のクロックは、入力データの確定期間の中心付近にエッジを有する。
【0022】
また、偶数番目のサンプリング回路11、例えば、サンプリング回路11−2や11−Nには、エッジサンプリング用のクロックが入力される。エッジサンプリング用のクロックは、入力データの変化点付近にエッジを有する。
【0023】
各サンプリング回路11は、サンプリングしたデータをサンプリングデータ信号S11として位相比較回路12に出力する。また、奇数番目のサンプリング回路11から出力されたサンプリングデータ信号S11は分岐されて出力データとして出力される。
【0024】
本実施形態のサンプリング回路11は、第1の実施形態のサンプリング手段2に相当する。
【0025】
位相比較回路12は、サンプリング回路11から入力されるサンプリングデータ信号S11の比較を行い、アップダウン信号を生成して出力する機能を有する。位相比較回路12は、隣り合う位相のクロックでサンプリングされたデータを比較し、入力データの遷移点を判定する。位相比較回路12は、判定した入力データの遷移点を基に入力データ信号とクロックの位相の差を判断する。位相比較回路12は、入力データ信号の位相に対して、クロックの位相が遅れている場合に、アップを示すアップダウン信号を出力する。また、位相比較回路12は、入力データ信号の位相に対して、クロックの位相が進んでいる場合に、ダウンを示すアップダウン信号を生成する。位相比較回路12は、生成したアップダウン信号を第1のアップダウン信号S12としてフィルタ回路13およびジッタ推定回路14に出力する。
【0026】
本実施形態の位相比較回路12は、第1の実施形態の位相比較手段3に相当する。
【0027】
フィルタ回路13は、位相比較回路12から第1のアップダウン信号S12として入力されたアップダウン信号を平滑化する機能を有する。フィルタ回路13には、例えば、多数決回路が用いられる。多数決回路を用いた場合、フィルタ回路13は、所定の時間に入力されたアップ信号の数がダウン信号よりも多い場合にアップ信号を生成する。また、フィルタ回路13は、所定の時間に入力されたアップ信号の数がダウン信号よりも少ない場合にダウン信号を生成する。フィルタ回路13は、生成した信号を第2のアップダウン信号S13として、アップダウンカウンタ制御回路16、第1のアップダウンカウンタ17および第3のアップダウンカウンタ19に出力する。
【0028】
ジッタ推定回路14は、位相比較回路12から第1のアップダウン信号S12として入力されるアップダウン信号のジッタ成分を推定する機能を有する。ジッタ推定回路14は、アップダウン信号のジッタ成分としてジッタ量および周波数を推定する。ジッタ推定回路14は、推定したジッタ成分の情報をジッタ情報信号S14としてアップダウンカウンタ制御回路16および第3のアップダウンカウンタ19に出力する。
【0029】
本実施形態のジッタ推定回路14は、第1の実施形態のジッタ推定手段4に相当する。
【0030】
位相シフト回路15は、サンプリング回路11に出力するサンプリングクロックを生成する機能を有する。位相シフト回路15は、サンプリング回路11ごとに対応するN相のクロックCK−1からクロックCK−Nを生成する。位相シフト回路15は、第1のアップダウンカウンタ17および第2のアップダウンカウンタ18から入力される第1の位相制御信号S17および第2の位相制御信号S18に基づいて、各クロックの位相をシフトする。
【0031】
位相シフト回路15は、第1のアップダウンカウンタ17から入力される第1の位相制御信号S17に基づいて、エッジサンプリング用のクロックの位相をシフトさせる。また、位相シフト回路15は、第2のアップダウンカウンタ18から入力される第2の位相制御信号S18に基づいて、データサンプリング用のクロックの位相をシフトさせる。
【0032】
本実施形態の位相シフト回路15は、第1の実施形態の位相シフト手段1に相当する。
【0033】
アップダウンカウンタ制御回路16は、第2のアップダウンカウンタ18に出力するアップダウン信号を生成する機能を有する。アップダウンカウンタ制御回路16は、第3のアップダウンから入力されるカウント値信号S15とフィルタ回路13から入力される第2のアップダウン信号S13を基に、アップまたはダウンを示すアップダウン信号を生成する。
【0034】
アップダウンカウンタ制御回路16は、カウント値信号S15が示すカウント値が設定範囲の上限値Bmaxであった場合に、アップを示す第2のアップダウン信号S13を受け取るとアップのアップダウン信号を生成する。アップダウンカウンタ制御回路16は、カウント値信号S15が示すカウント値が設定範囲の下限値Bminであった場合に、ダウンを示す第2のアップダウン信号S13を受け取るとダウンのアップダウン信号を生成する。アップダウンカウンタ制御回路16の設定範囲の上限値Bmaxおよび下限値Bminの初期値とカウント値の初期値はあらかじめ設定されている。
【0035】
本実施形態においてアップダウンカウンタ制御回路16および第3のアップダウンカウンタ19の設定範囲とは、カウンタの上限の設定値と下限の設定値の間のことをいう。すなわち、カウント値は設定範囲内で推移し、上限値を超える信号が入力された場合には、カウント値は上限値で維持される。また、下限値を下回る信号が入力された場合には、カウント値は下限値で維持される。
【0036】
アップダウンカウンタ制御回路16は、生成したアップダウン信号を第3のアップダウン信号S16として第2のアップダウンカウンタ18に出力する。
【0037】
アップダウンカウンタ制御回路16の設定範囲の上限値Bmaxと下限値Bminは、ジッタ情報信号S14が示すジッタ情報を基に設定される。アップダウンカウンタ制御回路16は、ジッタ情報に基づいてカウンタの設定範囲の上限値Bmaxと下限値Bminの補正の要否を判断する。アップダウンカウンタ制御回路16は、ジッタが所定の閾値よりも大きいとき、カウンタの設定範囲の補正が必要と判断する。
【0038】
アップダウンカウンタ制御回路16は、カウンタの設定範囲の上限値Bmaxと下限値Bminの補正が必要と判断すると、例えば、上限値Bmaxを1下げ、下限値Bminを1上げることによって設定値を補正する。カウンタの設定範囲は、ジッタの大きさによってあらかじめ設定されてルックアップテーブルとして保存されていてもよい。ジッタの大きさによってあらかじめ設定されている場合には、アップダウンカウンタ制御回路16は、ルックアップテーブルを参照してジッタに応じたカウンタの設定範囲を設定する。
【0039】
第1のアップダウンカウンタ17は、フィルタ回路13から入力される第2のアップダウン信号S13に基づいて、アップとダウンの数をカウンタで計数する機能を有する。また、第1のアップダウンカウンタ17は、カウンタの値に基づいてエッジサンプリング用のクロックの位相のシフト量を制御する機能を有する。
【0040】
第1のアップダウンカウンタ17は、カウンタでの計数結果に基づいて、クロックの位相のシフト量を示す信号を位相シフト回路15に第1の位相制御信号S17として出力する。第1のアップダウンカウンタ17は、カウント値、すなわち、計数したカウンタの値に応じた位相のシフト量の情報をあらかじめ保存している。第1のアップダウンカウンタ17は、カウント値が正のときにカウント値の大きさに応じたシフト量でクロックの位相を進める方向に制御する。第1のアップダウンカウンタ17は、カウント値が負のときにカウント値の絶対値の大きさに応じたシフト量でクロックの位相を遅らせる方向に制御する。
【0041】
第1のアップダウンカウンタ17のカウンタの設定範囲は、位相のシフト量に応じて設定されている。例えば、位相シフト量が0から63として設定されているとき、第1のアップダウンカウンタ17は、カウント値が63の時にアップを示す第2のアップダウン信号S13を受け取った場合に、カウント値を63から0に遷移させる。また、カウント値が0の時にダウンを示す第2のアップダウン信号S13を受け取った場合には、第1のアップダウンカウンタ17は、カウント値を0から63へ遷移させる。また、第1のアップダウンカウンタ17のカウンタの初期値はあらかじめ設定されている。
【0042】
第2のアップダウンカウンタ18は、アップダウンカウンタ制御回路16から入力される第3のアップダウン信号S16に基づいて、アップとダウンの数をカウンタで計数する機能を有する。また、第2のアップダウンカウンタ18は、カウンタの値に基づいてデータサンプリング用のクロックの位相のシフト量を制御する機能を有する。
【0043】
第2のアップダウンカウンタ18は、カウンタでの計数結果に基づいて、クロックの位相のシフト量を示す信号を位相シフト回路15に第2の位相制御信号S18として出力する。第2のアップダウンカウンタ18は、カウンタの値に応じた位相のシフト量の情報をあらかじめ保存している。第2のアップダウンカウンタ18は、カウント値が正のときにカウント値の大きさに応じたシフト量でクロックの位相を進める方向に制御する。第2のアップダウンカウンタ18は、カウント値が負のときにカウント値の絶対値の大きさに応じたシフト量でクロックの位相を遅らせる方向に制御する。
【0044】
第2のアップダウンカウンタ18のカウンタの設定範囲は、第1のアップダウンカウンタ17と同様に位相のシフト量に応じて設定されている。また、第2のアップダウンカウンタ18の初期値はあらかじめ設定されている。
【0045】
第3のアップダウンカウンタ19は、フィルタ回路13から入力される第2のアップダウン信号S13に基づいて、カウンタをアップまたはダウンする機能を有する。第3のアップダウンカウンタ19は、カウント値、すなわち、カウンタの値の情報をアップダウンカウンタ制御回路16にカウント値信号S15として出力する。第3のアップダウンカウンタ19のカウンタには、上限値Amaxと下限値Aminが設定されている。カウンタの値は上限値Amaxと下限値Aminの間で推移する。
【0046】
第3のアップダウンカウンタ19のカウンタの上限値Amaxと下限値Aminは、ジッタ情報に基づいて設定される。また、第3のアップダウンカウンタ19は、上限値Amaxと下限値Aminの設定値とジッタの関係の情報をあらかじめ保存している。第3のアップダウンカウンタ19のカウンタの上限値Amaxと下限値Aminは、アップダウンカウンタ制御部16におけるカウンタの上限値Bmaxと下限Bminの設定と同様に行われる。すなわち、本実施形態では第3のアップダウンカウンタ19のカウンタの上限値Amaxおよび下限値Aminと、アップダウンカウンタ制御部16におけるカウンタの設定範囲の上限値Bmaxおよび下限値Bminは同じ値となる。また、上限値Bmaxおよび下限値Bminの初期値とカウンタの初期値はあらかじめ設定されている。
【0047】
第3のアップダウンカウンタ19のカウンタの上限値Amaxおよび下限値Aminは、例えば、第1のアップダウンカウンタ17および第2のアップダウンカウンタ18のカウンタの設定範囲よりも狭くなるように設定される。
【0048】
本実施形態の第1のアップダウンカウンタ17、第3のアップダウンカウンタ19、アップダウン制御回路16および第2のアップダウンカウンタ18の機能は、第1の実施形態の位相制御手段5に相当する。
【0049】
本実施形態のクロックアンドデータリカバリ回路の動作について説明する。
図3および
図4は、本実施形態のクロックアンドデータリカバリ回路の動作フローの概要を示したものである。
【0050】
クロックアンドデータリカバリ回路にクロック等の復元の対象となるデータ信号が入力される。クロックアンドデータリカバリ回路に入力されたデータ信号は、N系統に分岐され各サンプリング回路11にそれぞれ入力される。各サンプリング回路11に入力される信号はすべて同一である。また、位相シフト回路15は、N相のクロックを生成し各相に対応するサンプリング回路11に出力する。
【0051】
位相シフト回路15は、奇数番目のサンプリング回路11に、データサンプリング用のクロックを出力する。データサンプリング用のクロックは、データ信号のデータ確定期間の中心付近に立ち上がりのエッジを有する。データサンプリング用のクロックは、データ信号のデータ確定期間の中心付近に立ち下がりのエッジを有していてもよい。また、位相シフト回路15は、偶数番目のサンプリング回路11に、エッジ検出用のクロックを出力する。エッジ検出用のクロックは、データ信号の変化点付近に立ち上がりのエッジを有する。また、エッジ検出用のクロックは、データ信号の変化点付近に立ち下りのエッジを有していてもよい。
【0052】
サンプリング回路11は、位相シフト回路15から送られてくるクロックを基に、入力されたデータ信号のサンプリングを行う(ステップ101)。各サンプリング回路11は、サンプリングしたデータを位相比較回路12にサンプリングデータ信号S11として出力する(ステップ102)。また、奇数番目のサンプリング回路11でサンプリングされたデータは、出力データとしても出力される。
【0053】
位相比較回路12は、各サンプリング回路11からサンプリングしたデータをサンプリングデータ信号S11として受け取ると隣接する位相のデータを比較してデータ信号の遷移点を判定する。位相比較回路12は、データ信号の遷移点を判定すると、入力されたデータ信号の位相に対してクロックの位相が遅れている場合に、アップを示すアップダウン信号を生成する。また、位相比較回路12は、入力されたデータ信号の位相に対してクロックの位相が進んでいる場合に、ダウンを示すアップダウン信号を生成する。位相比較回路12は、生成したアップダウン信号をフィルタ回路13に第1のアップダウン信号S12として出力する。また、位相比較回路12は、第1のアップダウン信号S12をジッタ推定回路14にも出力する(ステップ103)。
【0054】
第1のアップダウン信号S12が入力されると、ジッタ推定回路14は、アップダウン信号を基にジッタ成分を推定する。本実施形態では、ジッタ推定回路14は、所定の時間におけるアップダウン信号のアップとダウンの回数の偏りを基にジッタを推定する。ジッタ推定回路14は、アップダウン信号を基にジッタを推定すると、推定したジッタの情報をジッタ情報信号S14としてアップダウンカウンタ制御回路16および第3のアップダウンカウンタ19に出力する(ステップ104)。
【0055】
フィルタ回路13に第1のアップダウン信号S12が入力されると、フィルタ回路13は、入力されたアップダウン信号を平滑化する。フィルタ回路13は、例えば、所定の時間に入力されたアップを示す信号がダウンを示す信号よりも多い場合にアップを示すアップダウン信号を生成する。また、そのような構成の場合に、フィルタ回路13は、所定の時間に入力されたダウンを示す信号がアップを示す信号よりも多い場合にダウンを示すアップダウン信号を生成する。フィルタ回路13は、平滑化して生成したアップダウン信号を第1のアップダウンカウンタ17、第3のアップダウンカウンタ19およびアップダウンカウンタ制御回路16に第2のアップダウン信号S13としてそれぞれ出力する(ステップ105)。
【0056】
アップダウンカウンタ制御回路16にジッタ情報信号S14が入力されると、アップダウンカウンタ制御回路16は、ジッタ情報に基づいてカウント値、すなわち、カウンタの値の設定範囲の補正の要否を判断する。アップダウンカウンタ制御回路16は、ジッタが所定の閾値よりも大きいとき、カウント値の設定範囲の補正が必要と判断する。アップダウンカウンタ制御回路16は、設定範囲の補正が必要と判断すると、例えば、設定範囲の上限値Bmaxを1下げ、下限値Bminを1上げることによって設定範囲を補正する。設定範囲の上限値Bmaxと下限値Bminは、ジッタの大きさによってあらかじめ設定されてルックアップテーブルとして保存されていてもよい。ジッタの大きさによってあらかじめ設定されている場合には、アップダウンカウンタ制御回路16は、ルックアップテーブルを参照してジッタに応じたカウンタの設定範囲を設定する。
【0057】
第3のアップダウンカウンタ19に第2のアップダウン信号S13が入力されると、第3のアップダウンカウンタ19は、アップダウン信号に基づいてカウンタをアップまたはダウンさせてカウント値を更新する。第3のアップダウンカウンタ19は、カウンタをアップまたはダウンさせてカウント値を更新すると、更新したカウント値をアップダウンカウンタ制御回路16にカウント値信号S15として出力する(ステップ106)。
【0058】
アップダウンカウンタ制御回路16に第3のアップダウンカウンタ19のカウンタの値がカウント値信号S15として入力されると、アップダウンカウンタ制御回路16は入力されたカウント値を一時保存する。
【0059】
入力されたカウント値が保持された状態で、フィルタ回路13から第2のアップダウン信号S13が入力されると、アップダウンカウンタ制御回路16は、保持しているカウント値と第2のアップダウン信号S13を基に信号の生成の要否を判断する。
【0060】
カウント値が上限値Bmaxであるときに、アップを示す第2のアップダウン信号S13が入力されるとアップダウンカウンタ制御回路16は、アップの信号を生成する。また、カウント値が上限値Bmaxであるとき、ダウンを示す第2のアップダウン信号S13が入力されるとアップダウンカウンタ制御回路16は、信号の生成は不要と判断する。
【0061】
カウント値が下限値Bminであるとき、ダウンを示す第2のアップダウン信号S13が入力されるとアップダウンカウンタ制御回路16は、ダウンの信号を生成する。また、カウント値が下限値Bminであるとき、アップを示すアップダウン信号が入力されるとアップダウンカウンタ制御回路16は、信号の生成は不要と判断する。カウント値が上限値Bmaxおよび下限値Bmin以外の場合に、アップダウン信号が入力されたときは、アップダウンカウンタ制御回路16は、信号の生成は不要と判断する。
【0062】
アップダウンカウンタ制御回路16は、アップまたはダウンを示すアップダウン信号を生成すると、第2のアップダウンカウンタ18に生成した信号を第3のアップダウン信号S16として出力する(ステップ107)。第2のアップダウンカウンタ18は、第3のアップダウン信号S16を受け取ると、アップダウン信号に基づいてカウンタをアップまたはダウンする。カウンタをアップまたはダウンさせると、第2のアップダウンカウンタ18は、カウンタの値を基に位相制御信号を生成する。位相制御信号を生成すると、第2のアップダウンカウンタ18は、生成した信号を位相シフト回路15に第2の位相制御信号S18として出力する(ステップ108)。
【0063】
ステップ105においてフィルタ回路13から出力された第2のアップダウン信号S13は第1のアップダウンカウンタ17にも入力される。第1のアップダウンカウンタ17は、第2のアップダウン信号S13を受け取ると、アップダウン信号に基づいてカウンタをアップまたはダウンする。カウンタをアップまたはダウンさせると、第1のアップダウンカウンタ17は、カウンタの値を基に位相制御信号を生成する。位相制御信号を生成すると、第1のアップダウンカウンタ17は、生成した信号を位相シフト回路15に第1の位相制御信号S17として出力する(ステップ109)。
【0064】
位相シフト回路15は、位相制御信号に基づいてクロックの位相を補正して各サンプリング回路11に出力する(ステップ110)。位相シフト回路15は、第1のアップダウンカウンタ17から入力される第1の位相制御信号S17に基づいてエッジサンプリング用のクロックの位相を補正する。また、位相シフト回路15は、第2のアップダウンカウンタ18から入力される第2の位相制御信号S18に基づいてデータサンプリング用のクロックの位相を補正する。
【0065】
各サンプリング回路11は、位相シフト回路15から入力されたクロックを基にステップ101と同様に入力データ信号のサンプリングを行う(ステップ111)。以後、クロックアンドデータリカバリ回路は、ステップ102からの動作を繰り返して行う。
【0066】
次に本実施形態のクロックアンドデータリカバリ回路について、本実施形態とは異なる構成の回路と比較して説明する。
図5は、本実施形態と比較した例におけるクロックアンドデータリカバリ回路の構成を示したものである。
図5のクロックアンドデータリカバリ回路では、位相比較回路から出力された位相比較結果を示すアップダウン信号が、フィルタ回路を介してアップダウンカウンタに入力されている。アップダウンカウンタはアップダウン信号に基づいてカウントを行い、カウント結果に基づいた制御信号を位相シフト回路に出力している。位相シフト回路は、位相制御信号に基づいてすべてのクロックの位相のシフト量を一律に制御している。すなわち、
図5の例では、データサンプリング用とエッジサンプリング用のクロックの位相のシフト量は、同じ位相制御信号によって制御されている。
【0067】
図6は、
図5の構成のクロックアンドデータリカバリ回路における入力データと出力データの関係を模式的に示した図である。
図5の構成では、クロックアンドデータリカバリ回路がロックした状態でも、クロックの位相は最適点を中心にアップとダウンを繰り返すようにシフトされる。よって、
図5に示す構成の回路では理想的なデータ信号が入力されている場合であっても、
図6に示すようにデータサンプリング用のクロックに少なくとも1ステップ分の位相の変動が常に生じうる。そのため、
図5のような構成の回路では、入力されたデータの復元における正確性が低下する可能性がある。入力されたデータの復元における正確性の低下は、環境の変動等により入力信号のジッタが大きくなったときに特に顕著になる。
【0068】
また、
図7は、入力データのデータサンプリング用とエッジサンプリング用のクロックの位相のシフト量を別に制御するクロックアンドデータリカバリ回路の構成の例を示している。
図7の例では、データサンプリング用とエッジサンプリング用のクロックの位相のシフト量を別に制御しているので、データサンプリング用のクロックのジッタを抑制することが可能である。しかし、入力信号のジッタの変動が大きいときなどは、位相のシフト量の振幅が大きくなるので、入力データのサンプリングにおける正確性が低下し得る。
【0069】
一方で本実施形態のクロックアンドデータリカバリ回路では、データサンプリング用とエッジサンプリング用のクロックの位相のシフト量を別に制御し、かつ、データサンプリング用のクロックの位相の制御を入力データのジッタを考慮して行っている。そのため、本実施形態のクロックアンドデータリカバリ回路では、環境の変動等によって入力データのジッタが変動した場合でも、位相のシフト量を設定する条件を動的に変化させることができる。そのため、本実施形態クロックアンドデータリカバリ回路は、環境の変動等によってジッタが変動した場合においても、入力データを正確に復元することができる。
【0070】
本実施形態のクロックアンドデータリカバリ回路では、位相シフト回路15で生成されたN相の多相クロックを基に入力データのサンプリングが行われている。また、位相シフト回路15は、データサンプリング用とエッジサンプリングのクロックの位相のシフト量を別に制御している。
【0071】
本実施形態のクロックアンドデータリカバリ回路では、エッジサンプリング用のクロックの位相のシフト量は、第1のアップダウンカウンタ17のカウント値に基づいて制御される。第1のアップダウンカウンタ17のカウント値は、フィルタ回路13を介して位相比較回路12から入力される位相比較結果を基にカウントされた値である。
【0072】
また、本実施形態のデータサンプリング用のクロックの位相のシフト量は、第2のアップダウンカウンタ18のカウント値に基づいて制御される。第2のアップダウンカウンタ18のカウント値は、アップダウンカウンタ制御回路16から入力される第3のアップダウン信号S16を基にカウントされる。第3のアップダウン信号S16は、第3のアップダウンカウンタ19のカウント値とフィルタ回路13を介して位相比較回路12から入力される位相比較結果を基にアップダウンカウンタ制御回路16において生成される。すなわち、第2のアップダウンカウンタ18のカウント値は、多段階のステップでカウントされた値である。このように多段階でデータサンプリング用のクロックのシフト量を制御することで、入力データのジッタを抑制しデータを正確に復元することが可能となる。
【0073】
第3のアップダウンカウンタ19およびアップダウンカウンタ制御回路16は、ジッタ推定回路14が推定したジッタ情報を基に、入力データのジッタの影響を動的に抑制するように動作している。よって、第2のアップダウンカウンタ18のカウント値は、ジッタの影響が抑制された状態で遷移する。そのため、本実施形態のクロックアンドデータリカバリ回路では、入力データのジッタが変動しても、データサンプリング用に出力されるクロックは、ジッタの影響が抑制されたものとなっている。データサンプリング用に出力されるクロックは、入力データのジッタの影響が抑制されているので、環境変動等によってジッタが変動しても入力データを正確に復元することが可能となる。その結果、本実施形態のクロックアンドデータリカバリ回路は、入力信号のジッタが変動した場合でも、外部からの信号の入力を必要とせずに、正確に入力データのサンプリングを行うことができる。