(57)【特許請求の範囲】
【請求項１】
入力データと複数の各抽出クロックとの位相差を検出する位相比較器と、
前記位相比較器の出力の周波数を、周波数削減制御入力により指定される所定の割合で下げる周波数削減器と、
前記周波数削減器の出力信号の頻度を監視し、位相を進める信号もしくは遅らせる信号が均等に出力されている場合は抽出クロックの位相を小さく調節し、位相を進める信号もしくは遅らせる信号のうちどちらか一方の信号が多く出力される場合は抽出クロックの位相を大きく調節するための位相制御信号を生成する制御信号生成器と、
位相が異なる複数相のクロック信号が入力するスイッチ回路群を有し、前記制御信号生成器から出力する位相制御信号に応じて上記スイッチ回路群を制御して、上記複数相のクロック信号のうち２つのクロック信号を所望の重み精度で合成することで位相が調整された前記複数の抽出クロックを出力する位相制御回路と、
前記位相制御回路から出力する抽出クロックを分周し、分周出力により前記周波数削減器の周波数削減の割合を指定するように制御する分周器
とを具備することを特徴とするクロック抽出回路。
【請求項２】
前記周波数削減器は、周波数削減の割合が前記抽出クロックの分周比と等しくなるように制御されることを特徴とする請求項１記載のクロック抽出回路。
【請求項３】
前記周波数削減器は、周波数削減の割合が前記分周器の分周数をN （正の整数）で表わした場合にN 〜3Nの間になるように制御されることを特徴とする請求項１記載のクロック抽出回路。
【請求項４】
前記周波数削減器は、周波数削減の割合が容量と一定電流の比率によって決定されることを特徴とする請求項１乃至３のいずれか１項に記載のクロック抽出回路。
【請求項５】
前記周波数削減器は、前記位相比較器の出力によって容量を一定電流で充放電し、前記容量の電位が上限値または下限値を超えたら前記位相を進める信号または位相を遅らせる信号を生成することを特徴とする請求項４記載のクロック抽出回路。
【請求項６】
前記周波数削減器は、周波数削減の割合が複数の設定値の中から選択可能であることを特徴とする請求項４または５記載のクロック抽出回路。
【請求項７】
前記制御信号生成器は、
前記周波数削減器の出力を累積する累積器と、
前記累積器の累積値を一定時間間隔でモニターするためのモニター信号を生成するカウンタと、
前記カウンタで生成されたモニター信号により前記累積器の累積値を取り込む第１の記憶回路と、
前記第１の記憶回路に取り込まれた累積値によって、前記位相制御回路の位相修正量を段階的に変えるための位相制御信号を出力するシフト量算出器と、
前記位相シフト量算出器から出力する位相制御信号を前記カウンタの出力信号に応じて後段回路に伝えるか否かを決定する透過制御器と、
前記周波数削減器の出力を取り込む第２の記憶回路と、
前記カウンタからの出力信号により制御され、前記第２の記憶回路の出力を前記後段回路に前記透過制御回路とは相補的に伝えるか否かを決定するゲート回路と、
前記後段回路として設けられ、前記位相制御回路を最終的に制御するｎビットの位相制御信号を生成するデコーダ
とを具備することを特徴とする請求項１乃至６のいずれか１項に記載のクロック抽出回路。
【請求項８】
前記位相シフト量算出器は、
前記累積器の累積値に応じて位相制御を複数段階に行うための複数の制御信号を択一的に生成することを特徴とする請求項７記載のクロック抽出回路。
【請求項９】
前記位相シフト量算出器は、
前記累積器の累積値がX1〜X2の時は、位相を一度にI 段階進める信号を生成し、
前記累積器の累積値がX3以上の時は、位相を一度にJ 段階進める信号を生成し、
前記累積器の累積値が−X2〜−X1の時は、位相を一度にI 段階遅らせる信号を生成し、
前記累積器の累積値が−X3以下の時は、位相を一度にJ 段階遅らせる信号を生成し、
前記自然数X1,X2,X3の間には、X1＜X2≦X3の関係があり、前記自然数I,J の間には１＜I ＜J の関係があることを特徴とする請求項８記載のクロック抽出回路。
【請求項１０】
前記デコーダは、
前記ゲート回路の出力および前記透過制御回路の出力によりそれぞれ対応して制御され、所要のシフト量データを選択して出力する複数個のマルチプレクサを有するシフト量生成器と、
連続するｍビットに"1" 、残りに"0" が書き込まれ、前記シフト量生成器からのシフト量データによってデータシフト方向および１回当りのデータシフト量が制御され、ｎ（＞ｍ）ビットの位相制御信号を生成するｎビットの循環型シフトレジスタ
とを具備することを特徴とする請求項８または９記載のクロック抽出回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック抽出回路に関するもので、例えば高速データ通信に使用されるものである。
【０００２】
【従来の技術】
データ通信システムにおいて、互いに異なるクロック信号源を有する通信機器間でシリアル伝送を行うには、受信側の通信機器で送信側の通信機器と同一周波数のクロックを必要とする。この際、受信側では、周波数オフセットが発生してしまうので、受信データと同期したサンプリングクロックを生成させ、このクロックで受信データをサンプリングして再生データを得ている。
【０００３】
受信データと同期したサンプリングクロックを生成させるクロック抽出回路には種々の方式のものがあるが、その１つに多相クロックを使用したクロック抽出回路がある。この方式では、ｎ相の多相クロックを使用し、位相比較器で受信データの立ち上がり（または立ち下がり）エッジとｎ相クロックから選択した抽出クロックのエッジまでの位相を比較し、最適クロックに至るまでｎ相クロックから最適クロックを選択している。
【０００４】
図８は、従来の多相クロックを使用したクロック抽出回路の一例を示す。
【０００５】
図８中、310 はバイナリ型の位相比較器、320 は周波数削減器、330 は制御信号生成器、340 は位相制御回路、350 は分周器である。
【０００６】
バイナリ型の位相比較器310 は、位相制御回路340 により生成された位相が90°ずつずれた４相の抽出クロックiclk,qclk,iclkb,qclkb を用いて受信データを読み取り、受信データに対する抽出クロックの位相の遅れ・進みを２値で判定し、判定結果をUP信号、DN信号により出力する。
【０００７】
この場合、抽出クロックiclk,qclk,iclkb,qclkb を用いて読み取った受信データの値を比較すれば、抽出クロックiclk,qclk,iclkb,qclkb のうちのどれとどれのクロックの間で読み取った値が変わったかが判るので、抽出クロックの位相が受信データに対して進んでいるか遅れているかを判定できる。
【０００８】
上記位相比較器310 は、抽出クロックの位相が受信データの位相より遅れている場合には出力信号UPを"High"、進んでいる場合には出力信号DNを"High"にする。ここで、出力信号UPの"High"は、位相制御回路340 から出力される４相の抽出クロックiclk,qclk,iclkb,qclkb の位相を進める意味を持ち、出力信号DNの"High"は、位相制御回路340 から出力される４相の抽出クロックの位相を遅らせるという意味を持つ。
【０００９】
上記バイナリ型の位相比較器310 の伝達関数のゲインは非常に高いので、クロック抽出系でループゲインが高くなり、系が不安定になってしまう。そこで、クロック抽出系のループゲインを下げるために、位相比較器310 からの出力信号UP/DN の周波数を周波数削減器320 で落とす（間引く）。
【００１０】
即ち、周波数削減器320 は、受信データが遷移した時に得られる位相比較結果（抽出クロックの位相が進んでいるか遅れているかの情報）を大きな割合で削減するものであり、その周波数削減比は分周器350 の分周比の数倍以上に設定されている。例えば、16個のUP（またはDN）出力が発生したら、１個の低い周波数の信号UP＿LF（またはDN＿LF）を生成する。
【００１１】
制御信号生成器330 は、周波数削減器320 から出力する信号UP_LF 、DN_LF を受け、例えば64ビットの制御信号PCNT[63:0]を生成するものである。
【００１２】
図９は、図８中の制御信号生成器330 の一例を示している。
【００１３】
この制御信号生成器330 は、データ入力D として周波数削減器320 の出力信号UP_LF 、DN_LF が対応して入力し、クロック入力として分周器350 の分周出力RBC が入力する２つのフリップフロップ回路331,332 と、この２つのフリップフロップ回路331,332 の各出力INC 、DEC によりデータシフト方向が制御される例えば64ビットのシフタ333 を有する。
【００１４】
この制御信号生成器330 は、入力信号UP_LF 、DN_LF に基づいてシフタ333 内の"１"の位置をシフトし、この１"の位置を表わす64ビットの制御信号PCNT[63:0]を生成する。
【００１５】
図８中の位相制御回路340 は、位相が90°ずつ異なる４相のクロック信号CLK0、CLK90 、CLK180、CLK270が入力するスイッチ回路群を有し、このスイッチ回路群のうちのどのスイッチ回路をopen/closeするかが御信号生成器330 から出力する制御信号PCNT[63:0]によって制御される。これにより、４相のクロック信号CLK0、CLK90 、CLK180、CLK270から所望の位相のクロック信号を生成する（４相の抽出クロック信号iclk,qclk,iclkb,qclkb の位相を調整する）。
【００１６】
この場合、抽出クロック信号iclk,qclk,iclkb,qclkb の一回の位相修正量は常に一定である。一回の位相修正量が大きいと、抽出クロック信号iclk,qclk,iclkb,qclkb のジッタが大きくなるので、系を安定化させるためには一回の位相修正量をあまり大きくすることができない。
【００１７】
図８中の分周器350 は、位相制御回路340 で位相が調整された抽出クロックを分周して分周出力RBC を生成し、周波数削減器320 と制御信号生成器330 に供給するものである。
【００１８】
上記したように従来のクロック抽出回路は、周波数削減器320 で間引いた信号を用いて制御信号PCNT[63:0]を生成し、制御信号PCNT[63:0]により位相制御回路340 を制御して生成された抽出クロックiclk,qclk,iclkb,qclkb を用いて受信データをサンプリングして受信データを認識し、再生データを得ている。
【００１９】
ところで、例えばUSB(Universal Serial Bus)2.0規格のHi-speedモード時は受信データの変化しない最長ビット長が７ビット、8B10B 伝送方式では受信データの変化しない最長ビット長が９ビットと規定されている。このような規格、方式を採用した実際のデータ通信において、従来のクロック抽出回路は、以下に述べるような問題があった。
【００２０】
即ち、受信データの値が遷移しなければ位相比較器310 の出力信号UP,DN が生成されず、受信データの値が遷移しない期間が長い場合は、受信データと抽出クロック信号iclk,qclk,iclkb,qclkb の位相差を詰める制御が働かない。このような状態の時に受信データの値が遷移して位相比較器310 が出力信号UP,DN を出したとしても、抽出クロック信号iclk,qclk,iclkb,qclkb は理想的な位置（位相）から外れている。この抽出クロック信号iclk,qclk,iclkb,qclkb の位相を理想的な位置に修正しようとしても、位相比較結果を大きく間引いてしまっているので、直ぐには抽出クロック信号iclk,qclk,iclkb,qclkb の位相を理想的な位置に修正できず、多くの受信データの読み取りエラーを起こしてしまう。
【００２１】
このような問題の根源は、周波数削減器320 で位相比較器310 の出力の周波数を必要以上に下げた（間引いた）ことにある。
【００２２】
【発明が解決しようとする課題】
上記したように従来のクロック抽出回路は、受信データの値の遷移のない期間が長い場合に抽出クロックの位相を理想的な位置に修正しようとしても、抽出クロックの位相を理想的な位置に直ぐには修正できず、多くの受信データの読み取りエラーを起こしてしまうという問題があった。
【００２３】
本発明は上記の問題点を解決すべくなされたもので、受信データの値の遷移のない期間が長い場合でも読み取り誤りがなく、かつ、平衡状態でのクロック抽出系は安定に動作し、大きな修正が必要な場合は高い追従性を併せ持つ理想的なクロック抽出系を実現し得るクロック抽出回路を提供することを目的とする。
【００２４】
【課題を解決するための手段】
本発明のクロック抽出回路は、入力データと複数の各抽出クロックとの位相差を検出する位相比較器と、前記位相比較器の出力の周波数を、周波数削減制御入力により指定される所定の割合で下げる周波数削減器と、前記周波数削減器の出力信号の頻度を監視し、位相を進める信号もしくは遅らせる信号が均等に出力されている場合は抽出クロックの位相を小さく調節し、位相を進める信号もしくは遅らせる信号のうちどちらか一方の信号が多く出力される場合は抽出クロックの位相を大きく調節するための位相制御信号を生成する制御信号生成器と、位相が異なる複数相のクロック信号が入力するスイッチ回路群を有し、前記制御信号生成器から出力する位相制御信号に応じて上記スイッチ回路群を制御して、上記複数相のクロック信号のうち２つのクロック信号を所望の重み精度で合成することで位相が調整された前記複数の抽出クロックを出力する位相制御回路と、前記位相制御回路から出力する抽出クロックを分周し、分周出力により前記周波数削減器の周波数削減の割合を指定するように制御する分周器とを具備することを特徴とする。
【００２５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２６】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るクロック抽出回路を示している。
【００２７】
このクロック抽出回路は、例えば１個の半導体集積回路に形成されており、図８を参照して前述した従来のクロック抽出回路と比べて、周波数削減器120 および制御信号生成器130 が異なり、その他は同じである。
【００２８】
図２は、図１中の位相比較器110 の動作例を示すタイミング波形図である。
【００２９】
図１中、110 はバイナリ型の位相比較器、120 は周波数削減器、130 は制御信号生成器、140 は位相制御回路、150 は分周器である。
【００３０】
バイナリ型の位相比較器110 は、図８を参照して前述した位相比較器310 と同様に、後述する位相制御回路140 により生成された位相が90°ずつずれた４相の抽出クロックiclk,qclk,iclkb,qclkb を用いて入力データ（本例では受信データ）を読み取り、受信データに対する抽出クロックiclk,qclk,iclkb,qclkb の位相の遅れ・進みを２値で判定し、判定結果をUP信号、DN信号として出力する。
【００３１】
この場合、抽出クロックiclk,qclk,iclkb,qclkb で読み取った受信データの値を比較すれば、抽出クロックiclk,qclk,iclkb,qclkb のうちのどれとどれのクロックの間で読み取った値が変わったかが判るので、抽出クロックの位相が受信データに対して進んでいるか遅れているかを判定できる。
【００３２】
上記位相比較器110 は、抽出クロックの位相が受信データの位相より遅れている場合には出力信号UPを"High"、進んでいる場合には出力信号DNを"High"にする。ここで、出力信号UPの"High"は、位相制御回路340 から出力される４相の抽出クロックiclk,qclk,iclkb,qclkb の位相を進める意味を持ち、出力信号DNの"High"は、位相制御回路340 から出力される４相の抽出クロックの位相を遅らせるという意味を持つ。
【００３３】
上記位相比較器110 の出力信号UP,DN の周波数が高過ぎると、後段の回路の動作が困難であるので、位相比較器110 の出力信号UP,DN を周波数削減器120 で受けて、UP,DN の周波数を下げた信号UP_LF,DN_LF を出力する。
【００３４】
制御信号生成器130 は、周波数削減器120 の出力信号UP_LF 、DN_LF を受け、UP_LF とDN_LF を累積し、その値を一定時間間隔で（定期的に）モニターし、累積値によって抽出クロックの位相修正量を段階的に制御するための例えば64ビットの制御信号PCNT[63:0]を生成するものである。
【００３５】
位相制御回路140 は、位相が90°ずつ異なる４相のクロック信号CLK0、CLK90 、CLK180、CLK270が入力するスイッチ回路群を有し、このスイッチ回路群のうちのどのスイッチ回路をオン／オフするかを前記制御信号生成器130 からの制御信号PCNT[63:0]により制御することにより、抽出クロックの位相を調整し、出力クロック信号iclk,qclk,iclkb,qclkb の位相を調整する。
【００３６】
分周器150 は、位相制御回路140 で位相が調整された抽出クロックを分周して分周出力RBC を生成し、前記周波数削減器120 と制御信号生成器130 に供給するものである。
【００３７】
図３は、図１中の周波数削減器120 の構成の一例を示している。
【００３８】
電源電位VDD が与えられるVDD ノードと接地電位VSS が与えられるVSS ノードとの間に、定電流源121 、スイッチ素子S1、スイッチ素子S2および定電流源122が直列に接続されている。スイッチ素子S1は位相比較器110 の出力信号UPによりスイッチ制御され、スイッチ素子S2は位相比較器110 の出力信号DNによりスイッチ制御される。
【００３９】
上記スイッチ素子S1, S2の接続ノードとVSS ノードとの間に充放電用の容量123 が接続されている。また、前記VDD の半分の電位0.5*VDD が与えられる0.5*VDD ノードと上記スイッチ素子S1, S2の接続ノードとの間に初期値設定用のスイッチ素子S3が接続されている。
【００４０】
そして、上記スイッチ素子S1, S2の接続ノードの電位は、第１の電圧比較回路(COMP1)124で第１の基準電位（上限電位）PSと比較されるとともに、第２の電圧比較回路(COMP2)125で第２の基準電位（下限電位）NGと比較される。これらの電圧比較回路124,125 の各出力は対応して２つのフリップフロップ回路(F/F)126,127のデータ入力D として入力する。
【００４１】
上記２つのフリップフロップ回路126,127 は、分周器150 の分周出力クロックRBC が入力し、各出力信号UP_LF 、DN_LF を後段の制御信号生成器130 に供給する。この場合、上記各出力信号UP_LF 、DN_LF は、排他的オアゲート128 に入力し、この排他的オアゲート128 の出力により前記初期値設定用のスイッチ素子S3をスイッチ制御する。
【００４２】
図３に示した周波数削減器は、充放電用の容量123 の充放電を利用して入力信号UP、DNより周波数が低い出力信号UP_LF 、DN_LF を生成するように動作する。
【００４３】
即ち、入力信号UPが活性状態の期間は容量123 を充電し、入力信号DNが活性状態の期間は容量123 を放電する。このような充放電動作が行われる際、容量123の一端電位（スイッチ素子S1, S2の接続ノードの電位）が上限電位PSを超えたら、第１の電圧比較回路124 の出力が"High"になり、フリップフロップ回路126 の出力信号UP_LF が"High"になる。これに対して、容量123 の一端電位が下限電位NGより低くなったら、第２の電圧比較回路127 の出力信号が"High"になり、フリップフロップ回路127 の出力信号DN_LF が"High"になる。
【００４４】
この場合、２つのフリップフロップ回路126,127 は、分周器150 の分周出力クロックRBC に同期して電圧比較回路124,125 の出力信号をデータ入力D として取り込み、後段の回路が動作し易くなるような出力信号UP_LF,DN_LF を生成している。
【００４５】
この出力信号UP_LF もしくはDN_LF が出力された（"High"になった）時、排他的オアゲート128 の出力が"High"になり、スイッチ素子S3がオンになり、容量123 の一端電位が初期値0.5*VDD に戻される。
【００４６】
従って、周波数削減器120 は、信号UP、DNが"所望の回数"だけ入力した時に、出力信号UP_LF,DN_LF が分周クロックRBC の１周期の期間にわたって"High"になる。ここで言う"所望の回数"は、容量123 を充放電する定電流源121 、122 の電流と容量123 の容量値の比より決定される。
【００４７】
本実施形態では、上記"所望の回数"を必要以上に大きくしないことを特徴とする。即ち、高速クロックiclkと低速クロックBRC の比（分周器150 の分周比）をN （正の整数）で表わした場合に、現実的には"所望の回数"の下限は"N 回"であるから、"所望の回数"をN もしくはN+数回に抑えるようにする。これは、容量123 を充放電する定電流源121 、122 の電流値を大きく設計しておく、あるいは、電流値が異なる複数の定電流源を形成しておき、ユーザーに応じて所望の定電流源を例えばレジスタの設定データにより選択制御するように構成することで、容易に実現可能である。
【００４８】
上記したように"所望の回数"をN もしくはN+数回に抑えるようにしておくと、受信データの遷移が少ない場合、貴重な位相比較結果を可能な限り抽出クロックの位相修正に割り当てることができる。"所望の回数"を2N〜3Nとしてもよいが、4N以上にすると、従来と同様の問題が発生するおそれが高くなる。換言すれば、本実施形態では、周波数削減器120 による周波数削減の割合は、N 〜3Nの間になるように制御可能である。
【００４９】
一方、位相比較結果をあまり高い頻度で抽出クロックの位相修正に反映させると、制御系のループゲインが高くなりすぎて、制御系が不安定になってしまう。そこで、周波数削減器120 の入力信号UP、DNの周波数を下げた出力信号UP_LF 、DN_LF の出力頻度を制御信号生成器130 でモニターし、その傾向によって、抽出クロックの位相修正量を変えるようにしている。
【００５０】
図４は、図１中の制御信号生成器130 の構成の一例を示している。
【００５１】
この制御信号生成器130 は、２つのフリップフロップ回路(F/F)131,132と、入力信号UP_LF とDN_LF の累積値を計算するための累積器133 と、この累積器133の累積値を定期的（一定時間毎）にモニター処理するためのカウンタ134 およびフリップフロップ回路(F/F)137と、アンドゲート135,136 と、シフト量算出器138 と、透過制御器139 と、デコーダ13A が設けられている。
【００５２】
上記２つのフリップフロップ回路131,132 は、データ入力D として周波数削減器120 からの入力信号UP_LF 、DN_LF が入力し、クロック入力として分周器150の分周出力クロックRBC が入力し、データ出力Q として出力信号INC0,DEC0 を生成する。これらの信号INC0,DEC0 はアンドゲート135,136 に入力する。
【００５３】
カウンタ134 は、分周器150 の分周出力クロックRBC をカウントし、カウント値がある値に達したらモニターパルス信号monitor を出力する。フリップフロップ回路137 は、クロック入力として上記信号monitor が入力し、累積器133 の累積値を格納する。
【００５４】
また、カウンタ134 は相補的なリセット信号reset,resetbを出力する。この場合、上記したようなモニター処理を行っている期間はリセット信号reset が非活性状態、反転リセット信号resetbが活性状態になり、モニター処理が終了した後のタイミングでリセット信号reset が活性状態、反転リセット信号resetbが非活性状態になる。上記反転リセット信号resetbはアンドゲート135,136 を制御し、リセット信号reset は累積器133 および透過制御器139 を制御する。
【００５５】
シフト量算出器138 は、前記フリップフロップ回路137 に格納された累積値に基づいて、抽出クロックの位相を大きく修正するための信号を生成する。この際、累積値がUP側に例えば４以上８未満の値であるなら、位相を一気に４段階進める信号INC4を"H" にし、累積値がUP側に８以上の値であるなら、位相を一気に８段間進める信号INC8を"H" にする。DN側についても上記UP側と同様に、累積値がDN側に４以上８未満の値であるなら、位相を一気に４段階遅らせる信号DEC4を"H"にし、累積値がDN側に８以上の値であるなら、位相を一気に８段間遅らせる信号DEC8を"H" にする。
【００５６】
上記したように制御信号生成器130 が周波数削減器120 の出力信号UP＿LF、DN_LF の頻度をモニターすることにより、抽出クロックの位相修正量を調整する準備が整う。
【００５７】
抽出クロックの位相修正を実際に行う際には、アンドゲート135,136 の出力信号（位相比較結果を忠実に反映している信号）INC,DEC とシフト量算出器138 の出力信号（大きな位相修正量を持つ）INC4,INC8,DEC4,DEC8 の中から所望のものを選択する必要がある。この機能を実現するためにカウンタ134 、アンドゲート135,136 および透過制御器139 が用いられる。
【００５８】
即ち、カウンタ134 から出力する反転リセット信号resetbが"H" （リセット信号reset が"L" ）の期間には、フリップフロップ回路131,132 の出力信号INC0,DEC0 がアンドゲート135,136 を経て位相比較結果を忠実に反映している信号INC,DEC として出力する。この期間は、透過制御器139 の透過動作はオフになる。
【００５９】
これに対して、カウンタ134 から出力するリセット信号reset が"H" （反転リセット信号resetbが"L" ）の期間には、透過制御器139 の透過動作をオンにし、シフト量算出器138 の出力を透過させるとともに累積器133 の累積値をリセットする。この期間は、アンドゲート135,136 は閉じてINC,DEC は無効化される。
【００６０】
このような動作により、カウンタ134 から定期的に出力するモニター信号monitor により累積器133 の累積値を読む時以外は、位相比較結果を忠実に反映するINC,DEC を選択して後段のデコーダ13A に伝える。これに対して、累積器133 の累積値の累積値を読む時は、UP_LF,DN_LF の頻度を考慮した位相修正量の大きなシフト量算出器138 からの出力INC4,INC8,DEC4,DEC8 を選択して後段のデコーダ13A に伝える。
【００６１】
デコーダ13A は、前記信号INC,DEC,INC4,INC8,DEC4,DEC8 が入力し、位相制御回路140 における抽出クロックの位相修正量を段階的に決めるための例えば64ビットの制御信号PCNT[63:0]に変換するために設けられている。この制御信号PCNT[63:0]は、位相比較結果を忠実に反映する信号INC,DEC のいずれかが活性状態の場合には抽出クロックの位相修正量を小さく制御し、大きな修正量を持つ信号INC4,INC8,DEC4,DEC8 のいずれかが活性状態の場合には抽出クロックの位相修正量を大きくするものである。
【００６２】
図５は、図４中のデコーダ13A の構成の一例を示している。
【００６３】
図５において、シフト量生成器50は、前記信号INC,DEC,INC4,INC8,DEC4,DEC8により対応して６個のマルチプレクサ51を制御し、所要のシフト量データを選択して出力するものである。この場合、信号INC が活性状態の場合にはマルチプレクサ51は+1のシフト量データを選択し、信号INC4が活性状態の場合にはマルチプレクサ51は+4のシフト量データを選択し、信号INC8が活性状態の場合にはマルチプレクサ51は+8のシフト量データを選択し、信号DEC が活性状態の場合にはマルチプレクサ51は-1のシフト量データを選択し、信号DEC4が活性状態の場合にはマルチプレクサ51は-4のシフト量データを選択し、信号DEC8が活性状態の場合にはマルチプレクサ51は-8のシフト量データを選択する。
【００６４】
シフタ52は、64ビットの循環型シフトレジスタのうちの連続する16ビットに"1" 、残りに"0" が書き込まれており、シフト量生成器50からのシフト量データによってデータシフト方向（インクレメントまたはデクレメント）およびデータシフト量が制御される。この場合、+1あるいは-1のシフト量データによって1 ビットのデータシフトが行われ、+4あるいは-4のシフト量データによって4 ビットのデータシフトが行われ、+8あるいは-8のシフト量データによって8 ビットのデータシフトが行われる。
【００６５】
このような動作により、64ビットの循環型シフトレジスタの出力は、累積値によって抽出クロックの位相修正量を段階的に制御するための制御信号PCNT[63:0]として使用することが可能になる。ここで、64ビットの循環型シフトレジスタを4 グループに分割し、第１グループの連続する16ビットの出力を制御信号1[15:0] 、第２グループの連続する16ビットの出力を制御信号2[15:0] 、第３グループの連続する16ビットの出力を制御信号3[15:0] 、第４グループの連続する16ビットの出力を制御信号4[15:0] と命名する。
【００６６】
図６は、図１中の位相制御回路140 の構成の一例を示している。
【００６７】
図６に示す位相制御回路は、位相が90°づづ異なる４相のクロック信号CLK0,CLK90,CLK180,CLK270のうちの逆相の２つのクロック信号(CLK0,CLK180),(CLK90,CLK270), (CLK180,CLK0),(CLK270,CLK90)がそれぞれ対応して入力する第１の差動比較回路61〜第４の差動比較回路64を並列に接続している。この４個の差動比較回路61〜64は、負荷抵抗RLを共有しており、出力ノードには積分用コンデンサCを用いた積分器65と差動アンプ66が接続されている。
【００６８】
そして、各差動比較回路61〜64の定電流源部を構成する16個のスイッチトランジスタTrのうちオンにする数を、各差動比較回路61〜64に対応して、図５中のシフタ53から入力する制御信号1[15:0] 、2[15:0] 、3[15:0] 、4[15:0] により切り換える（トランジスタのサイズを切り換える）。これにより、４相のクロック信号CLK0,CLK90,CLK180,CLK270のうちの２つのクロック信号を16ステップの重み精度で合成することによって所望の位相（16ステップの精度：90/16=5.625 °）のクロック信号を作り出すことが可能になる。
【００６９】
図７は、図６の位相制御回路140 の動作の一例を示している。
【００７０】
例えばクロック信号CLK0の位相を100 ％使う場合は、第１の差動比較回路61の定電流源部のスイッチトランジスタを全てオンにし、他の差動比較回路62〜64の定電流源部のスイッチトランジスタを全てオフにするように、制御信号1[15:0]を全て"H" 、制御信号2[15:0] 、3[15:0] 、4[15:0] を全て"L" に設定する。
【００７１】
また、クロック信号CLK0より90°遅れたクロック信号CLK90 の位相を100 ％使う場合は、第２の差動比較回路62の定電流源部のスイッチトランジスタを全てオンにし、他の差動比較回路61、63、64の定電流源部のスイッチトランジスタを全てオフにするように、制御信号2[15:0] を全て"H" 、制御信号1[15:0] 、3[15:0] 、4[15:0] を全て"L" に設定する。
【００７２】
さらに、位相が90°ずつ異なる４相の入力クロック信号CLK0,CLK90,CLK180,CLK270から隣接する２つを選び、それらの位相を所望の重みを付けて掛け合わせることにより、所望の中間の位相を持ったクロック信号を生成できる。
【００７３】
例えば、CLK0とCLK90 を50% ずつの重みで重ね合わせれば、CLK0とCLK90 の中間の位相を持ったクロック信号が生成できる。この場合、制御信号1[15:8] を全て"H" 、制御信号1[7:0]を全て"L" 、制御信号2[15:8] を全て"L" 、制御信号2[7:0]を全て"H" 、制御信号3[15:0] 、4[15:0] を全て"L" に設定する。
【００７４】
もし、掛け合わせにより生成されるクロック信号の位相を進めたければ、CLK0を60％、CLK90 を40％というように、位相が進んだ側のクロック信号CLK0の重みを上げて掛け合わせればよい。
【００７５】
このような動作により、位相制御回路140 は、４つの入力クロック信号CLK0,CLK90,CLK180,CLK270から、受信データDATAのデータアイの中心に位相が合わせられたクロック信号iclkとその反転クロック信号iclkb 、並びに上記クロック信号iclkから90°位相が遅れたクロック信号qclkとその反転クロック信号qclkb を生成して出力する。
【００７６】
上記したように本実施形態においては、位相比較器出力の周波数を落とす割合を必要最低限に止め、周波数の下がった位相比較結果を位相調整に反映させる。この時、周波数の下がった位相修正信号の出力頻度に応じて一回の位相修正量を調整するようにし、安定状態では位相修正量を小さくし、抽出クロックの位相が理想位置より大きくずれている時は位相修正量を大きくするように制御する。
【００７７】
即ち、上記した本実施形態によれば、数少ない貴重な位相比較結果を抽出クロックの位相修正に高い頻度で反映させるので、データ遷移のない期間が長くても読み取り誤りがなく、かつ、平衡状態での系のループゲインは小さく（系が安定）、大きな修正が必要な場合は系のループゲインが大きいので、高い追従性を併せ持つ理想的なクロック抽出系を実現することができる。したがって、受信データの変化しない最長ビット長が規制してあるデータ伝送方式に適している。
【００７８】
【発明の効果】
上述したように本発明クロック抽出回路によれば、受信データの値の遷移のない期間が長い場合でも読み取り誤りがなく、かつ、平衡状態でのクロック抽出系は安定に動作し、大きな修正が必要な場合は高い追従性を併せ持つ理想的なクロック抽出系を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るクロック抽出回路を示すブロック図。
【図２】図１中の位相比較器の動作例を示すタイミング波形図。
【図３】図１中の周波数削減器の一例を示す回路図。
【図４】図１中の制御信号生成器の一例を示す回路図。
【図５】図４中のデコーダの一例を示す回路図。
【図６】図１中の位相制御回路の一例を示す回路図。
【図７】図６の位相制御回路の動作の一例を示すタイミング波形図。
【図８】従来の多相クロックを使用したクロック抽出回路の一例を示すブロック図。
【図９】図８中の制御信号生成器の一例を示す回路図。
【符号の説明】
110 …バイナリ型の位相比較器、
120 …周波数削減器、
130 …制御信号生成器、
140 …位相制御回路、
150 …分周器。
【図１】
0003660638.tif 000002
【図２】
0003660638.tif 000003
【図３】
0003660638.tif 000004
【図４】
0003660638.tif 000005
【図５】
0003660638.tif 000006
【図６】
0003660638.tif 000007
【図７】
0003660638.tif 000008
【図８】
0003660638.tif 000009
【図９】
0003660638.tif 000010