説明

オーバーサンプリング回路

【課題】オーバーサンプリング型CDR回路で用いる多相クロックの相互の位相差が等間隔になるように高精度に位相を補正できるオーバーサンプリング回路を提供する。
【解決手段】多相クロックを生成する多相クロック生成部200と、多相クロックの位相差を検出して、該検出結果に基づいて位相制御信号を発生する位相制御部205と、多相クロックの本数分の遅延回路を有し、多相クロックをそれぞれの遅延素子に入力された信号の通過時間を、位相制御信号に基づいて調整することで多相クロック間の位相差を調整する位相調整部203と、を備え、各遅延回路300は、直列に接続されたサイズの異なる複数のインバーターと、該複数のインバーターの後段に接続したインバーターと、からなり、複数のインバーターから選択される一つインバーターの出力抵抗と、後段に接続したインバーターの入力容量の積に基づいて通過時間を調整する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロックデータリカバリ回路に用いられるオーバーサンプリング回路に関する。
【背景技術】
【0002】
大容量、高速データ伝送を満たすために多くの高速インタフェース規格が実用化されている。それらの多くはシリアル伝送方式が採用されている。シリアル伝送では、予め定められた周波数を基にデータが伝送される。伝送されるデータにはその周波数のクロックが重畳され、データ受信部では、受信したデータからこのクロックを抽出し、抽出されたクロック信号に基づいて受信データを復元している。これらの復元動作を行う回路をクロックデータリカバリ(Clock Data Recovery、以下CDRと略す)回路と呼ばれている。
従来のCDR回路では、一般にPLL(Phase Locked Loop)回路が用いられ、PLL回路中のVCO(Voltage Controlled Oscillator)の発振クロックが受信データの位相に同期するように制御され、再生クロックとして抽出される。そしてこの再生クロックを基準として受信データをラッチすることにより正確に受信データが復元される。
しかし、データレートの増大によって、VCOの発信周波数も増大し、そのようなVCOを組み込んだCDR回路は、チップサイズの増大、消費電流の増大、コストアップなどのデメリットが増大する。また高速化により配線遅延が無視できなくなる。
素子配置や配線遅延は使用するデバイスの特性に大きく依存するため、プロセスごとにレイアウトの再設計を行う必要が生じ、回路の再利用性が低下し、開発期間の増大を招く。
【0003】
このような問題を解決するものとして、オーバーサンプリング型のCDR回路が提案されている(特許文献1参照)。
特許文献1で提案されているデータリカバリ回路は、多相クロック生成部、オーバーサンプリング部、シンボルデータ復元部とで構成される。
多相クロック生成部は、基準クロックREFCLKから生成された所定周波数のクロックを所定位相ずつシフトし、ほぼ等間隔の位相を有する多相クロックを生成する。
オーバーサンプリング部は、多相クロック生成部から供給される多相クロックCK0〜CK11により受信データDataを取り込み、オーバーサンプリングデータOVSDを出力する。オーバーサンプリング部はオーバーサンプリング数のフリップフロップと、入力されたデータを1つのクロック(例えばCK0)に同期させて出力する並列化部を備えている。
【0004】
シンボルデータ復元部は、データ選択部、DES(デシリアライザ)、選択信号生成部、コンマ検出部よりなり、オーバーサンプリングデータOVSDからシンボルデータSYMを復元し、シンボルクロックSYMCLKを生成する。
すなわち、選択信号生成部は、オーバーサンプリングデータOVSDの取り込み位相を指示し、データ選択部は、選択信号生成部からの指示に従い、オーバーサンプリングデータOVSDから復元データを出力する。また、コンマ検出部は、転送データに所定間隔で挿入されたコンマ符号を検出しコンマ検出信号を出力する。さらに、デシリアライザは、コンマ検出信号を基に、データ選択部から供給される復元データをシンボルデータSYMにパラレル変換し、また、シンボルクロックSYMCLKの生成も行う。
【0005】
しかし、今までのオーバーサンプリング型のCDR回路では、多相クロックの相互の位相差が等間隔である必要があり、等間隔でない場合には誤作動を生じる恐れがある。しかし、デバイス特性はチップ内でも局所的なばらつきを有し、配線につく寄生容量も周辺の回路によって様々である。また、近年、トランジスタの微細化が進み、これによるデバイス間の特性ばらつきも大きくなっている。そのため、同一デバイスを配置するだけでは等間隔の位相を持つ多相クロックを生成することは困難となっている。さらにシリアル伝送の高速化が進むにつれて多相クロックの位相誤差の許容値は小さくなる一方である。従って、高速大容量シリアル伝送を行うオーバーサンプリング型CDR回路で用いる等間隔な位相差を有する多相クロックをつくるには高精度、広範囲に位相を補正する回路が必要であるという問題があった。
【0006】
また、特許文献2には、等間隔の位相でオーバーサンプリングされたオーバーサンプリングデータを生成する目的で、単一クロックから位相の異なる多数のクロックを生成して、適切な位相関係にあるクロックを選択してオーバーサンプリングクロックとして使用することが開示されている。しかし遅延素子が発生する位相差は製造プロセスおよび動作条件によって異なるので、適切な位相関係にある多相クロックを生成するためには膨大な組み合わせにより生成した多相クロックを用意する必要がある。これは回路規模の増大と設計の煩雑性を招いてしまう。
さらに、同じく特許文献2には、等間隔の位相でオーバーサンプリングされたデータを生成する目的で、単一クロックから位相の異なる多数のクロックを生成して、適切な位相関係になるように位相を調整してオーバーサンプリング回路に使用する調整方法が開示されている。しかし、高精度かつ広範囲な位相調整回路の実現という課題は解決されていない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記の課題を鑑みて、本発明はオーバーサンプリング型CDR回路で用いる多相クロックの相互の位相差が等間隔になるように高精度に位相を補正できるオーバーサンプリング回路を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するためには、請求項1の発明は、多相クロックを用いてシリアルデータをオーバーサンプリングするオーバーサンプリング回路において、多相クロックを生成する多相クロック生成部と、前記多相クロックの位相差を検出して、該検出結果に基づいて位相制御信号を発生する位相制御部と、前記多相クロックの本数分の遅延回路を有し、前記多相クロックをそれぞれの遅延素子に入力された信号の通過時間を、前記位相制御信号に基づいて調整することで前記多相クロック間の位相差を調整する位相調整部と、を備え、各遅延回路は、直列に接続されたサイズの異なる複数のインバーターと、該複数のインバーターの後段に接続したインバーターと、からなり、前記複数のインバーターから選択される一つインバーターの出力抵抗と、前記後段に接続したインバーターの入力容量の積に基づいて通過時間を調整するオーバーサンプリング回路を特徴とする。
また、請求項2の発明は、請求項1に記載のオーバーサンプリング回路において、前記遅延回路は、前記複数のインバーターを通過する信号パスを切り換えることで一つのインバーターを選択して通過時間を調整する請求項1記載のオーバーサンプリング回路を特徴とする。
また、請求項3の発明は、請求項1又は2に記載のオーバーサンプリング回路において、各遅延素子は、複数段直列に接続したこと構成とし、各段において複数のインバーターのうちの一つを選択して遅延時間を調整するオーバーサンプリング回路を特徴とする。
【発明の効果】
【0009】
上記のように構成したので、本発明によれば、位相調整部を構成する遅延回路としての各位相調整素子の通過時間差が所望の値になるような時定数の値を選択することで遅延回路の通過時間を所望の時間差に設定でき、多相クロックの位相を等間隔に調整することができるため、等間隔な位相差を持つ多相クロックでサンプリングされたオーバーサンプリングデータを生成できるオーバーサンプリング回路を提供できる。
【図面の簡単な説明】
【0010】
【図1】第1の実施例に係る多相クロック生成回路を含むオーバーサンプリング型データリカバリ回路を示す図。
【図2】第1の実施例の位相調整素子を説明する図。
【図3】第1の実施例の位相調整素子の動作を説明する図。
【図4】第2の実施例の位相調整素子を説明する図。
【図5】第3の実施例の位相調整素子を説明する図。
【図6】第3の実施例の位相調整素子の動作を説明する図。
【発明を実施するための形態】
【0011】
以下に、本発明の実施の形態を、図面を参照して詳細に説明する。
図1は本発明の第1の実施例に係る多相クロック生成回路を含むオーバーサンプリング型データリカバリ回路を示す図である。
このデータリカバリ回路は、多相クロック生成部200、オーバーサンプリング部201、シンボルデータ復元部202、多相クロック位相遅延回路203、位相調整データ生成部204、位相制御部205を備える。
位相調整部203は多相クロックの本数分の位相調整素子(遅延素子)300で構成されており、多相クロック生成部200で生成された多相クロックCK[7:0]の位相差が等間隔になるように調整され、等間隔の位相差を持つ多相クロックCK_adj[7:0]を出力する。オーバーサンプリング部201は位相調整部203から供給される多相クロックにより受信データを取り込み、オーバーサンプリングデータOVSDを出力する。
シンボルデータ復元部202はオーバーサンプリングデータOVSDからシンボルデータSYMとシンボルクロックSYMCLKを生成する。
【0012】
また、オーバーサンプリング部201はサンプリングFF部206と並列化部207で構成される。
サンプリングFF部206は受信データを多相クロックの立ち上がり(または立下り)のタイミングでサンプリングする。
サンプリングFF部206の出力D[7:0]はサンプリングクロックの位相差を持つ。
並列化部207は位相差を持って入力されるデータD[7:0]を1つのクロックに同期したパラレルデータとして、オーバーサンプリングデータOVSDを出力する。
並列化部207ではバス幅を変えずにタイミングだけを調整して出力することもできるが、並列化部207の直前または直後にバス幅を大きくしてデータレートを下げるシリアルパラレル変換を施してから出力することもできる。
【0013】
多相クロック生成部200はPLL(Phase Locked Loop)またはDLL(Delay Locked Loop)によりある位相差をもつ多相クロックが生成される。
この技術は公知なので詳細は述べない。
位相調整データ生成部204では多相クロックの位相差を位相制御部205で検出するためのデータパターンを出力する。
このデータパターンはデータエッジ(データの立ち上がりまたは立ち下りエッジ)が均一に発生する特徴のあるパターンである(つまりジッタが大きい)。
位相制御部205では位相調整データ生成部204で発生したデータをオーバーサンプリング部201で多相クロックによりオーバーサンプリングしたオーバーサンプリングデータOVSDが入力される。
前述の通り位相調整データ生成部204で発生したデータはデータエッジが均一に現れるようなパターンなので、各々のサンプリングデータのエッジ数をカウントすることで多相クロックの位相差を推定することができる。
この位相差推定方法は上述の特許文献2で示されている公知技術である。
【0014】
位相制御部205ではこの推定した位相差が理想的な位相差となるように位相調整部203に位相調整信号PAdjを送る。
位相調整部203では位相調整信号PAdjに応じた位相差を各クロックに発生させ、多相クロックの位相差を調整する。
位相調整部203は多相クロック生成部200から多相クロックが入力され、位相制御部205から入力される位相制御信号PAdjによって位相調整素子300の通過時間を切り替えることで、多相クロック間の位相差を調整することができる。
CK1のみをX秒だけ遅らせたい場合、CK1以外のクロックはT秒で位相調整素子300を通過するように設定しCK1をT+X秒で位相調整素子300の通過するように設定すればよい。
【0015】
図2は、第1の実施例における位相調整素子を説明する図である。
上記したように、本発明は多相クロックを多相クロック位相遅延回路203にそれぞれ入力して、多相クロック位相遅延回路203におけるそれぞれの位相調整素子300で通過時間の差を発生させることで多相クロックの位相関係を調整している。
位相調整素子300は、2段のCMOSインバーターを直列に接続した構造であり、位相制御部205からの位相制御信号PAdjに応じて、遅延量を選択することができる。
位相調整素子300の通過時間を切り替えるために、1段目のCMOSインバーターの出力抵抗と2段目のCMOSインバーターの入力容量の積である時定数の値を整数倍になるようなサイズを持つCMOSインバーター対で構成された複数の信号パスを備え、位相制御信号PAdjに応じて出力信号を切り替えることで遅延素子の通過時間を所望の値に切り替えることができる。
【0016】
以下に詳細を説明する。
位相調整素子300は並列に接続されたインバーター群(INV0〜3)とそれと直列に接続されたインバーター(INV4)からなる。INV0〜3は選択信号s[3:0]、sb[3:0]によって動作するインバーターが切り替えられる。選択信号sb[3:0]はs[3:0]の反転信号であり、例えばs[3:0]=0001のときINV0が選択される。
図1の説明において述べたように、位相調整素子300は入力inから出力outまでの通過時間を切り替えることで位相差を発生させている。
以下に、位相調整素子300において入力から出力までの通過時間を変化させる方法を説明する。
図2のINV0のみが選択されて入力が立ち下がる場合、Xの電圧VxはVx=Vdd(1−exp(−t/(Rx0*Cx)))で表される。ここでVddは電源電圧、Rx0はINV0の出力抵抗、CxはINV4の入力容量である。
VxがINV4のしきい値電圧Vthになるまでの時間T1はT1=Rx0*Cx*ln(1/(1−Vth/Vdd))となり、K=ln(1/(1−Vth/Vdd))とおくとT1=Rx0*Cx*Kと表すことができる。
【0017】
同様に、INV1〜INV3の出力抵抗をRx1〜Rx3とするとINV1〜INV3のそれぞれ1つだけ選択されたときにVxがVthになるまでの時間T1〜T3もTn=Rxn*Cx*K(n=1,2,3)と表すことができる。Rx0*Cxを時定数とよぶ。
位相調整素子300の通過時間はVxがしきい値電圧を交差するまでの時間によるので、INVn(n=1,2,3)の通過時間とINV0の通過時間の差Tn−T0はTn−T0=(Rxn−Rx0)*Cx*K(n=1,2,3)で表される。
高精度に多相クロックの位相を調整するためには位相調整素子の通過時間を微小かつ線形に変化させることが求められる。
位相調整素子300の通過時間差を線形に変化させるためにRx3:Rx2:Rx1:Rx0=4:3:2:1となるように出力抵抗の比を決めるとT3−T0:T2−T0:T1−T0=Rx3−Rx0:Rx2−Rx0:Rx1−Rx0=3:2:1となり位相調整素子300の通過時間差が線形に変化させることができる。このとき変化量の最小値(1LSB)はRx0*Cx*ln(1/(1−Vth/Vdd))となる。1LSBの値は多相クロックの位相精度の要求に応じて設計することができる。
各インバーターのサイズをMn(n=0,1,2,3)とすると、出力抵抗はインバーターのサイズに反比例するので、
M3:M2:M1:M0=1/4:1/3:1/2:1=3:4:6:12の比率となる。
一般化するとm段階の位相調整を行う場合のインバーターサイズの比はMm−1:Mm−2...:M1:M0=1/(m−1):1/(m−2):...:1/2:1とすればよい。
【0018】
図3は、第1の実施例の位相調整素子の動作を説明する図である。
図3(a)は位相調整素子の通過時間を示す図である。
図2の位相調整素子300の具体的な動作について説明するために入力電圧Vinがたち下がる場合を考える。
Vinが1段目のインバーターINVn(n=0,1,2,3)のしきい値電圧Vthを交差すると(このときの時刻を0とする)、1段目のインバーターの出力Xの電圧Vxが立ちあがる。正しくは過渡的な変化なのである量の遅延があった後にVxが立ち上がり始めることになる。Vxが2段目のインバーターのしきい値電圧Vth4を交差すると出力outがたち下がる。また、1段目のインバーターINVn(n=0,1,2,3)のしきい値電圧は等しい値を用いる。
【0019】
各インバーターのサイズの比率がM3:M2:M1:M0=1/4:1/3:1/2:1=3:4:6:12となっているとき、Vxが次段のインバーターのしきい値電圧に到達する時間Tn(n=0,1,2,3)の比はT0:T1:T2:T3=1:2:3:4となる。
2段目のインバーターの入力電圧Vxが2段目のインバーターのしきい値電圧Vth4に到達する時間差が位相調整素子300の通過時間差と等しいので、各々インバーターが選択されたときの位相調整素子の出力電圧がVthとなるまでの時間をD0〜D3とすると、位相調整素子300を通過する時間差はD1−D0=K*Rx1*Cx、D2−D0=2*K*Rx1*Cx、D3−D0=3*K*Rx1*Cx(ただしK=ln(1/(1−Vth/Vdd)))となる。
図3(b)は位相選択信号に対する位相調整素子300の通過時間差を表した図である。
INV0の位相調整素子300の通過時間からの差分を縦軸に、横軸には遅延選択信号の4bitを示す。
選択するインバーターを切り替えることで位相調整素子300の通過時間を選択できる。
【0020】
図4は、第2の実施例の位相調整素子を説明する図である。
第2の実施例のオーバーサンプリング型CDR回路の全体構成は図1と同じであるが、位相調整素子300が第1の実施例と異なる。
第2の実施例の位相調整素子について説明する。位相調整素子300は直列に接続された2つのインバーターからなるインバーターペアを4つと、そのインバーターペアのそれぞれの後段に接続した出力を選択できるセレクター型インバーターで構成される。
セレクター型インバーターにおける位相選択信号s[3:0]、sb[3:0]によってINV0〜3の出力のいずれかの出力を位相調整素子300の出力として選択する。
選択信号sb[3:0]はs[3:0]の反転信号であり、例えばs[3:0]=0001のときINV0の出力が位相調整素子の出力に選択される。
【0021】
本実施例の位相調整素子300において入力から出力までの通過時間を変化させる方法を説明する。
位相調整素子の入力から出力までの通過時間を変化させる原理は、第1の実施例の位相調整素子と基本的には同じである。
図4のINV0の出力が選択され、入力が立ち下がる場合、X0の電圧Vx0はVx0=Vdd(1−exp(−t/(Rx*Cx0)))で表される。ここでVddは電源電圧、RxはINVXの出力抵抗、Cx0はINV0の入力容量である。
Vx0がINV0のしきい値電圧Vth0になるまでの時間T1はT1=Rx*Cx0*ln(1/(1−Vth0/Vdd))となり、K=ln(1/(1−Vth0/Vdd))とおくとT1=Rx*Cx0*Kと表すことができる。
同様に、INV1〜INV3の出力が選択されるとき、INV1〜INV3の入力容量をCx1〜Cx3とするとVxnがVthnになるまでの時間T1〜T3もTn=Rx*Cxn*K(n=1,2,3)と表すことができる。
位相調整素子300の通過時間はVx0がしきい値電圧を交差するまでの時間によるので、位相調整素子の通過時間の差はT0を基準にするとTn−T0=(Cxn−Cx0)*Rx*K(n=1,2,3)で表される。
【0022】
高精度に多相クロックの位相を調整するためには位相調整素子の通過時間を微小かつ線形に変化させることが求められる。
位相調整素子300の通過時間差を線形に変化させるためにCx3:Cx2:Cx1:Cx0=4:3:2:1となるように入力容量の比を決めるとT3−T0:T2−T0:T1−T0=Cx3−Cx0:Cx2−Cx0:Cx1−Cx0=3:2:1となり位相調整素子300の通過時間差が線形に変化させることができる。このとき変化量の最小値(1LSB)はRx*Cx0*ln(1/(1−Vth/Vdd))となる。1LSBの値は多相クロックの位相精度の要求に応じて設計することができる。
各インバーターのサイズをMn(n=0,1,2,3)とすると、出力容量はインバーターのサイズに比例するので、
M3:M2:M1:M0=4:3:2:1の比率となる。
一般化するとm段階の位相調整を行う場合のインバーターサイズの比は
Mm−1:Mm−2...:M1:M0=m−1:m−2:...:2:1とすればよい。
【0023】
図5は、第3の実施例の位相調整素子を説明する図である。
第3の実施例のオーバーサンプリング型CDR回路の全体構成は図1と同じであるが、位相調整素子が第1、第2の実施例と異なる。
図5の位相調整素子は実施例1での位相調整素子を2個直列に接続した構成となる。
位相選択信号s[3:0]、sb[3:0]によって初段の位相調整素子の通過時間を切り替える。具体的にはINV0〜3の出力のいずれかの出力を初段の位相調整素子の出力として選択する。
同様に、位相選択信号s[7:4]、sb[7:4]によって後段の位相調整素子の通過時間を切り替える。
位相選択信号s[7:0]とsb[7:0]は反転信号であり、s[7:0]=00010001のとき初段はINV0の出力が選択され後段はINV4の出力が選択される。2つの位相調整素子1および2において入力から出力までの通過時間を変化させる方法は実施例1で説明済みなので省略する。
【0024】
図6は、第3の実施例の位相調整素子の動作について説明する図である。
本実施例においては、2段直列に位相調整素子を接続している。
図6(a)は、本実施例の位相調整素子の通過時間を示す図である。
各インバーターINV0〜7のサイズをM0〜7で表す。
M7:M6:M5:M4=M3:M2:M1:M0=3:4:6:12とした場合、位相調整素子1および2を通過する時間差はINV0を選択したときの通過時間D0およびINV4を選択したときの通過時間F0を基準にするとD3−D0:D2−D0:D1−D0=F3−F0:F2−F0:F1−F0=3:2:1となる。
さらに、M7=4*M3、M6=4*M2、M5=4*M1、M4=4*M0とすれば位相調整素子1の通過時間差と位相調整素子2の通過時間差が4倍となるので、図6に示すように16段階の通過時間差を作ることができる。
図6(b)は位相選択信号に対する位相調整素子1、位相調整素子2および位相調整素子全体の通過時間差を表した図である。
位相調整素子1の通過時間に比べて位相調整素子2の通過時間は4分の1となり、位相調整素子全体では16段階の通過時間差を作ることができる。
【符号の説明】
【0025】
1…位相調整素子、2…位相調整素子、200…多相クロック生成部、201…オーバーサンプリング部、202…シンボルデータ復元部、203…位相調整部、203…多相クロック位相遅延回路、204…位相調整データ生成部、205…位相制御部、206…サンプリングFF部、207…並列化部、300…位相調整素子
【先行技術文献】
【特許文献】
【0026】
【特許文献1】特開2005−192192公報
【特許文献2】特開2008−66879公報

【特許請求の範囲】
【請求項1】
多相クロックを用いてシリアルデータをオーバーサンプリングするオーバーサンプリング回路において、
多相クロックを生成する多相クロック生成部と、
前記多相クロックの位相差を検出して、該検出結果に基づいて位相制御信号を発生する位相制御部と、
前記多相クロックの本数分の遅延回路を有し、前記多相クロックをそれぞれの遅延素子に入力された信号の通過時間を、前記位相制御信号に基づいて調整することで前記多相クロック間の位相差を調整する位相調整部と、を備え、
各遅延回路は、直列に接続されたサイズの異なる複数のインバーターと、該複数のインバーターの後段に接続したインバーターと、からなり、前記複数のインバーターから選択される一つインバーターの出力抵抗と、前記後段に接続したインバーターの入力容量の積に基づいて通過時間を調整することを特徴とするオーバーサンプリング回路。
【請求項2】
請求項1に記載のオーバーサンプリング回路において、
前記遅延回路は、前記複数のインバーターを通過する信号パスを切り換えることで一つのインバーターを選択して通過時間を調整することを特徴とする請求項1記載のオーバーサンプリング回路。
【請求項3】
請求項1又は2に記載のオーバーサンプリング回路において、各遅延素子は、複数段直列に接続したこと構成とし、各段において複数のインバーターのうちの一つを選択して遅延時間を調整することを特徴とするオーバーサンプリング回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−268365(P2010−268365A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−119833(P2009−119833)
【出願日】平成21年5月18日(2009.5.18)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】