クロックデータ再生回路およびクロックデータ再生方法
【課題】信頼性を向上したクロックデータ再生回路の実現。
【解決手段】標本化クロックSCLKに基づいて入力データを取り込む受信回路11と、受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサ13と、デマルチプレクサの出力するパラレルデータから位相情報を検出し、位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部30と、デマルチプレクサの出力するパラレルデータの周波数解析を行うデータパターン解析部41と、パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部42と、を備える。
【解決手段】標本化クロックSCLKに基づいて入力データを取り込む受信回路11と、受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサ13と、デマルチプレクサの出力するパラレルデータから位相情報を検出し、位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部30と、デマルチプレクサの出力するパラレルデータの周波数解析を行うデータパターン解析部41と、パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部42と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データからクロックを再生するクロックデータ再生回路およびクロックデータ再生方法に関する。
【背景技術】
【0002】
NRZ(Non-Return-Zero)信号にはクロックが重畳されている。SerDes(Serial/Deserializer)回路は、受信したNRZ信号の入力データからデータを取り出す。
【0003】
図1の(A)は、送信側から送信されるNRZ信号を受信するSerDes回路の基本構成を示す図である。図1の(A)に示すように、SerDes回路は、SerDesブロック10と、クロック発生ブロック20と、を有する。クロック発生ブロック20は、基準クロックCLK(ここでは27MHz)を受けて、100倍に逓倍した2.7GHzの逓倍クロックRCLKを発生するPLL回路21を有する。
【0004】
SerDesブロック10は、受信回路11と、1/8分周器12と、1:8デマルチプレクサ(Demux)13と、を有する。受信回路11は、RCLKを標本化(サンプリング)クロックとして入力データDin(ここでは2.7Gbps)を受信してシリアルデータ信号を出力する。1/8分周器12は、RCLKを1/8分周して分周クロック(337MHz)を出力する。1:8Demux13は、RCLKおよび分周クロックに基づいて、シリアルデータ信号を8ビットのパラレルデータに変換して出力データDoutとして出力する。
【0005】
図1の(A)のSerDes回路で、受信回路11がRCLKの立ち上がりエッジに同期して入力データを取り込む場合、入力データDinの変化エッジに対してRCLKの立ち上がりエッジが180度(クロックの1/2周期)ずれていることが望ましい。正しい受信を行うには、RCLKが、この理想位相に対して所定の位相範囲であることが必要である。
【0006】
図1の(A)のSerDes回路では、入力データDinを送信する送信側のクロック源と、CLKを発生する受信側の基準クロック源とが同期していないため、送信データを正しく受信することはできない。
【0007】
そこで、SerDes回路は、入力データDinからデータとクロックを分離し、分離したクロックに基づいて、受信回路に標本化クロックとして印加する逓倍クロックRCLKの位相を調整することが行われる。入力データからクロックを再生する機能をCDR(Clock & Data Recovery)機能と称する。
【0008】
図1の(B)は、CDR機能を有するSerDes回路の構成を示す図である。図1の(B)に示すように、CDR機能を有するSerDes回路は、SerDesブロック10と、クロック発生ブロック20と、CDR(Clock & Data Recovery :CDR)ブロック30と、を有する。SerDesブロック10およびクロック発生ブロック20は、図1の(A)と同じである。ただし、SerDesブロック10のDemux13は、出力クロック(337MHz)を出力すること、および後述するSCLKと180度位相が異なるSCLKBで入力データを取り込み、Boutとして出力することが異なる。
【0009】
CDRブロック30は、出力データDoutの位相情報を検出して、逓倍クロックRCLKの位相を調整する。図1の(B)に示すように、CDRブロック30は、デジタルフィルタ(Digital Filter:DF)31と、PIコード発生器32と、位相調整器(Phase Interpolator:PI)33と、を有する。DF31は、Demux13の出力するDoutおよびBoutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、ローパスフィルタ(LPF)を通して高周波成分を除去した位相差信号を出力する。LPFは、位相比較器によるDoutおよびBoutがSCLKに対して進んでいるか遅れているかの判定結果を積分し、実質的にローパスフィルタリングを行う積分回路により実現される。PIコード発生器32は、DF31の出力する位相差信号に基づいて、位相調整器33に出力するPIコードを発生する。位相調整器33は、PIコードに基づいてRCLKの位相を調整して標本化クロックSCLK、およびSCLKと180度位相が異なるSCLKBを出力する。SCLKおよびSCLKBは、受信回路11において理想位相に対して所定位相範囲になるように調整されることになる。
【0010】
図1の(B)に示したCDR機能を有するSerDes回路は、SCLKの位相を理想位相に対して所定位相範囲になるように変化させるので、入力データDinを正しく受信することができる。
【0011】
上記のように、CDR機能を有するSerDes回路は、入力データを再生する回路であるが、CDR機能の観点からは、入力データに含まれるクロックを再生する回路であり、CDR回路と称する場合があり、ここでもそのように称する。
【0012】
図2は、CDR機能を有するSerDes回路(CDR回路)の機能動作を示すフローチャートである。
【0013】
ステップS11では、Demux13、DF31、PIコード発生器32などのデジタル処理を行うブロックに加えて、受信回路11、PI33、PLL21などのアナログブロックの初期化を行う。
【0014】
ステップS12では、入力データDinが印加される。
【0015】
ステップS13では、デジタルフィルタ(DF)31が、位相差信号を発生する。
【0016】
ステップS14では、PIコード発生器32が、PIコードを発生する。
【0017】
ステップS15では、位相調整器33が、PIコードに基づいてRCLKの位相を調整してSCLKを発生する。
【0018】
ステップS16では、SCLKの位相が安定して理想位相に対して所定の位相範囲になったかを判定し、安定状態でなければステップS13に戻り、安定状態であればステップS17に進む。
【0019】
ステップS17では、CDRブロック30が安定して、クロック位相調整がロック状態にあることを外部に通知する。
【0020】
CDR回路は、広く知られているので、これ以上の説明は省略する。
【0021】
上記のように、デジタルフィルタ(DF)31は、SerDesブロックの出力する再生されたデータの変化エッジから位相差信号を発生する。再生されたデータの変化エッジは、入力データのデータパターンにより決定される。そのため、入力データのデータパターンが位相差信号に影響する。具体的には、入力データの変化が頻繁に行われる場合には、再生されたデータにおいて変化エッジも頻繁に発生するため、位相差信号は頻繁に発生する。これに対して、入力データにおいて同じデータが続いた場合には、変化エッジの発生頻度が低下し、位相差信号が長期間発生せず、標本化クロックSCLKの位相が理想位相に対してどのような位相にあるか判定できない状態が続くことになる。そのため、標本化クロックと入力データのクロックの間に微小な位相差があっても、位相ずれが調整されずに徐々に拡大して、標本化クロックの位相が理想位相に対して所定の位相範囲外になる場合、すなわちアンロック状態になる場合がある。さらに、位相ずれがクロックの1周期以上に拡大した場合には、正しいデータを受信して再生できないサイクル越え、すなわちデータ欠けが発生する。
【0022】
アナログ信号を標本化信号で標本化する場合、アナログ信号に標本化信号の周波数の1/2より高い周波数が含まれている時には、元のアナログ信号の周波数成分に関する正しい情報を得ることができないということが知られている。これをエイリアシング(Aliasing)と称する。
【0023】
上記の入力データで同じデータが長時間続く状態は、変化エッジの発生頻度が減少して標本化信号の周波数が低下した場合に相当し、入力データに含まれる高周波数のクロックに関する情報が得られない状態である。ここでは、この状態をエイリアシング状態と称する。
【0024】
CDR機能を有するSerDes回路(CDR回路)は、入力データが入力されると自動的にロック状態になるように動作し、たとえエイリアシング状態であってもロック状態であるとして動作していた。そのため、CDR機能を有するSerDes回路は、サイクル越えが発生して、データを正しく受信できない場合でも、誤った出力データを出力していた。誤った出力データは、その後の処理に悪影響を及ぼし、SerDes回路の信頼性を損なう。
【先行技術文献】
【特許文献】
【0025】
【特許文献1】特許第4006260号
【特許文献2】特開2006−339858号公報
【発明の概要】
【発明が解決しようとする課題】
【0026】
CDR機能を有するSerDes回路(CDR回路)の信頼性向上が望まれていた。
【課題を解決するための手段】
【0027】
発明の一観点によれば、標本化クロックに基づいて入力データを取り込む受信回路と、受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサと、デマルチプレクサの出力するパラレルデータから位相情報を検出し、位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部と、デマルチプレクサの出力するパラレルデータの周波数解析を行うデータパターン解析部と、パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部と、を備えるクロックデータ再生回路が提供される。
【発明の効果】
【0028】
上記の観点によれば、ロック状態のクロックデータ再生回路であっても、入力データのデータパターンから誤動作の可能性を評価できるので、信頼性を向上することができる。
【図面の簡単な説明】
【0029】
【図1】図1は、送信側から送信されるNRZ信号を受信するCDR機能を有するSerDes回路(CDR回路)の基本構成を示す図である。
【図2】図2は、CDR機能を有するSerDes回路の機能動作を示すフローチャートである。
【図3】図3は、エイリアシングを説明する図である。
【図4】図4は、デジタルの入力データを標本化する場合で、標本化クロックの周期の2倍以上の周期で正弦波状に変化するジッタが存在する場合の、標本化されたジッタ離散信号の例を示す図である。
【図5】図5は、ランレングスRLに対する、標本化信号の実質的周波数fs’とジッタ周波数f0との比の関係を示す図である。
【図6】図6は、実施形態のCDR機能を有するSerDes回路(CDR回路)の構成を示す図である。
【図7】図7は、位相調整器の回路構成を示す図である。
【図8】図8は、実施形態のCDR回路の機能動作を示すフローチャートである。
【図9】図9は、ジッタ信号の処理を説明する図である。
【図10】図10は、データパターン解析部(DPA)の回路構成を示す図である。
【図11】図11は、データパターン解析部(DPA)のほかの回路構成を示す図である。
【図12】図12は、エイリアシング検出部(AD)における処理例を示すフローチャートである。
【図13】図13は、エイリアシング検出部(AD)がパターン解析結果に基づいてエイリアシング状態であるかどうかの判定処理の例を示すフローチャートである。
【図14】図14は、CDR動作における分解能を高める処理を説明する図である。
【図15】図15は、ジッタ量が正弦波状に変化する場合の標本化を示す図である。
【発明を実施するための形態】
【0030】
実施形態を説明する前に、入力データから標本化クロックSCLKを再生するのに必要なデータパターンについて説明する。
【0031】
アナログ信号中に標本化(サンプリング)信号の周波数の1/2よりも高い周波数が含まれている場合、元のアナログ信号の周波数成分に関する情報を正しく標本化(サンプリング)することはできない。前述のようにこれはエイシアリングと呼ばれる。
【0032】
図3は、エイリアシングを説明する図である。図3に示すように、周波数f0が7MHzと3MHzの正弦波を、標本化周波数fs=10MHzの標本化信号で標本化すると、標本化した離散信号は同一となり、区別できない。
【0033】
標本化信号の周波数については、標本化原理が知られている。周波数が0〜f0に帯域制限された信号を標本化する場合、周波数成分を保持した離散信号を得るためには、標本化間隔(周期)Tは次の条件を満たさなければならない。
【0034】
T≦1/(2f0)
Tの逆数が標本化周波数fsであるから、次の式を満たす必要がある。
【0035】
fs≧2f0
CDR回路は、データに重畳されたクロックを抽出する回路である。クロックの抽出は、データを標本化してデータ位相に関する情報を取り出し、CDR回路内の標本化信号(クロック)を、抽出したデータ位相に合わせ込むことで得られる。データ位相は、データの変化エッジと標本化信号(標本化クロック)の位相の差であり、この差はジッタと呼ばれる。
【0036】
ここで、注意する必要があるのは、標本化対象の信号がアナログ信号ではなく、デジタルのデータ信号であるということである。
【0037】
図4は、デジタルの入力データを標本化する場合で、標本化クロックの周期の2倍以上の周期で正弦波状に変化するジッタが存在する場合の、標本化されたジッタ離散信号の例を示す図である。
【0038】
図4の(A)は、入力データがクロックごとに変化するデータ変化率が100%の場合の例である。この場合は、標本化されたジッタ離散信号は図示のように変化し、正常に標本化することができる。
【0039】
図4の(B)は、データが1110001110…という具合に3クロック分同じデータが続いた後変化する変化率が40%の場合の例である。この場合、ジッタは、標本化クロックの約3.5倍の周期で変化しているが、ジッタ離散信号は、標本化クロックの約9倍の周期で変化しているように見える。
【0040】
図4の(C)は、データが1101111110…という具合に変化する場合で、データの変化率が40%の場合の例である。この場合、ジッタ離散信号からジッタを再現することができない。この場合、標本化信号の周波数fsは、変調されているように見える。
【0041】
図4で説明したように、同一のジッタであっても、データのパターンによりジッタ離散信号が異なり、ジッタの再現に影響する。
【0042】
ここで、CDR回路の例として、次のようなCDR機能を有するSerDes回路を考える。
【0043】
SerDes処理: 1:8Demux
入力データレート: 2.7Gbps
パラレル化周波数: 337MHz
ジッタ周波数: 2MHz/10MHz/20MHz/100MHz
また、入力データで同じデータが続く長さをランレングスRL(Run Length)と呼ぶが、CDR回路に印加されるデータのRLは、用途に応じて、1,2,4,8,16,32,64,72が考えられる。
【0044】
上記のように、CDR回路に入力される入力データのパターンに応じて、標本化信号の周波数fsは、分周しているように見えたり、変調しているように見える。
【0045】
図4の(A)の場合は、01010101のパターンで、標本化周波数fsはそのままfsであるように見える。
【0046】
図4の(C)の場合は、000111000111のパターンで、標本化周波数fsはfs/3であるように見える。
【0047】
同様に、00110011のパターンの場合には、fsはfs/2であるように見え、00001111のパターンの場合には、fsはfs/4であるように見える。
【0048】
このようにデータが規則性のある分周したパターンである場合には、fsも分周したのと同様に、分周されたように見える。
【0049】
これに対して、データがランダムに変化する場合には、fsが変調されているように見える。
【0050】
したがって、入力データのパターンを解析することにより、エイリアシングが発生している可能性があるかを判定することができる。
【0051】
具体的には、ランレングスRLが、1,2,4,8,16,32,64,72のパターンに対しては、fs=337MHzの標本化信号の実質的なfs’は、337MHz,168MHz,84MHz,42MHz,21MHz,10MHz,5.26MHz,4.68MHzと見える。実質的な周波数fs’と、100MHz、20MHz、10MHおよび2MHzのジッタ周波数f0との比を算出すると、図5に示すようになる。
【0052】
標本化定理から上記の比が2以下であればエイリアシング状態になる可能性が高いと考えられる。比が2以上8以下の範囲は、データパターンにある程度規則性がないとエイリアシング状態になる可能性があると考えられる。比が8以上であれば、データパターンに規則性がある場合でもランダムな場合でも、ジッタ離散信号からジッタを復元できると考えられる。
【0053】
そこで、実施形態では、実質的な周波数fs’とジッタの周波数f0との比が、8以上であれば非エイリアシング状態と判定し、2以下であればエイリアシング状態と判定する。比が2と8の間であれば、さらにデータのパターンに規則性があるか判定し、規則性があれば非エイリアシング状態と判定し、規則性がなければエイリアシング状態と判定する。エイリアシング状態と判定された場合には、エイリアシング状態の可能性があるとの情報を出力すると共に、CDR回路の追従性を高める処理を行う。
【0054】
図6は、実施形態のCDR機能を有するSerDes回路(CDR回路)の構成を示す図である。
【0055】
図6に示すように、実施形態のCDR回路は、SerDesブロック10と、クロック発生ブロック20と、CDR(Clock & Data Recovery :CDR)ブロック30と、エイリアシング検出ブロック40と、を有する。
【0056】
クロック発生ブロック20は、基準クロックCLKを受けて、100倍に逓倍した逓倍クロックRCLKを発生するPLL回路21を有する。
【0057】
SerDesブロック10は、受信回路11と、1/8分周器12と、1:8デマルチプレクサ(Demux)13と、を有する。受信回路11は、RCLKに応じて入力データDinを受信してシリアルデータ信号を出力する。1/8分周器12は、RCLKを1/8分周して分周クロックを出力する。Demux13は、RCLKおよび分周クロックに基づいて、シリアルデータ信号を8ビットのパラレルデータに変換して出力データDoutとして出力すると共に、分周クロックに対応する出力クロックOCLKを出力する。
【0058】
ここでは、送信側で入力データDinを生成するクロックが2.7GHzである場合を例として説明する。したがって、基準クロックCLKは27MHzの信号で、逓倍クロックRCLKは2.7GHzの信号であり、分周クロックは337MHzの信号である。しかし、入力データDinを生成するクロック、基準クロックCLK、逓倍率、分周比およびパラレルデータのビット数などは、これに限定されず、装置に応じて定めるべきものである。
【0059】
CDRブロック30は、デジタルフィルタ(Digital Filter:DF)31と、PIコード発生器32と、位相調整器(Phase Interpolator:PI)33と、を有する。DF31は、Demux13の出力するDoutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、位相ずれを示すジッタ信号を生成する。ローパスフィルタ(LPF)を通してジッタ信号の高周波成分を除去することにより位相差信号が生成される。PIコード発生器32は、DF31の出力する位相差信号に基づいて、位相調整器33に出力するPIコードを発生する。位相調整器33は、PIコードに基づいてRCLKの位相を、受信回路11において理想位相になるように変化させる。
【0060】
エイリアシング検出ブロック40は、データパターン解析部((Data Pattern Anlyzer:DPA)41と、エイリアシング検出部(Aliasing Detector:AD)42と、を有する。データパターン解析部41は、Demux13の出力するデータDoutのデータパターンを解析して、解析結果をエイリアシング検出部42に出力する。エイリアシング検出部42は、解析結果に基づいてエイリアシング状態であるか非エイリアシング状態であるかを判定する。図6では、エイリアシング検出部42は判定結果をPIコード発生器32に出力する。データパターン解析部41およびエイリアシング検出部42における処理について後述する。
【0061】
図7は、位相調整器33の回路構成を示す図である。
【0062】
位相調整器33は、時間デジタル変換(Time Digital Convertor:TDC)回路51と、マルチプレクサ(MUX)52と、デコーダ53と、を有する。TDC51は、逓倍クロックRCLKを受けて、RCLKの周期を2n個に分割した位相シフト信号を出力する。例えば、n=2の場合には、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号を発生し、n=3の場合には、位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を発生する。実施例では、n=4であるとする。MUX52は、TDC回路の出力する位相シフト信号の1つを選択して出力する。デコーダ53は、PIコードをデコードして、MUX52が選択する位相シフト信号を指示する選択信号を出力する。
【0063】
図8は、実施形態のCDR回路の機能動作を示すフローチャートである。ステップS11からS16は、図1に示した一般的なSerDes回路の機能動作とほぼ同じ処理を行う。
【0064】
ステップS11では、Demux13、DF31、PIコード発生器32、DPA41およびAD42などのデジタル処理を行うブロックに加えて、受信回路11、PI33、PLL21などのアナログブロックの初期化を行う。
【0065】
ステップS12では、入力データDinが印加される。入力データのデータレートは2.7Gbpsである。PI33は、PIコード発生器32からのPIコードに基づいて決定した位相の標本化クロックSCLKを出力する。PI33からのSCLKが受信回路11に供給され、受信回路11は、SCLKに基づいて入力データDinを取り込む。したがって、この段階では、SCLKの位相がデータの位相に適合しているかは不明である。
【0066】
Demux13は、受信回路11が取り込んだ入力データを、SCLKおよびSCLKを1/8分周した分周クロックで、1:8のシリアル−パラレル変換して8ビットの出力データDoutを生成する。この段階では、SCLKの位相がデータの位相に適合しているかは不明であるため、出力データDoutにデータ欠けなどが発生している可能性がある。
【0067】
ステップS13では、出力データDoutがデジタルフィルタ(DF)31に供給される。DF31は、Doutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、位相ずれを示すジッタ信号を生成し、ローパスフィルタ(LPF)を通過させて高周波成分を除去することにより位相差信号を生成する。
【0068】
図9は、ジッタ信号の処理を説明する図である。
【0069】
図9の(A)は、DF31のローパスフィルタ(LPF)の特性を示す図である。ジッタ周波数がfcutより低いジッタ信号の低周波成分は、高いDFゲインで増幅される。一方、ジッタ周波数がfcutより高いジッタ信号の高周波成分は、周波数が高いほど小さなDFゲインで増幅されるので減衰する。このようにジッタ信号は、LPFにより帯域制限される。
【0070】
図9の(B)は、ジッタ信号の低周波成分の変化例を示す図である。ジッタ信号は、入力データのクロックとSCLKの周期差に対応するジッタ周期とジッタ振幅で、正弦波状に変化する。
【0071】
図9の(C)は、ジッタ信号の高周波成分の変化例を示す図である。ジッタ信号の高周波成分は、定常位相誤差として取り扱われる。
【0072】
ステップS14では、PIコード発生器32が、位相差信号に基づいて位相補正量を算出し、位相補正量に対応するPIコードを発生する。
【0073】
ステップS15では、位相調整器33が、PIコードに基づいてRCLKの位相を調整する。
【0074】
ステップS16では、RCLKの位相が理想位相に対して所定の位相範囲になったか、すなわちクロック位相安定状態になったかを判定し、入っていなければステップS13に戻り、入っていればステップS24に進む。
【0075】
ステップS11からS16を繰り返すことにより、RCLKの位相が理想位相に対して所定の位相範囲に入る状態で安定する。言い換えれば定常位相誤差のみが発生する状態になる。この状態が、これまでCDR回路のロック状態であるが、入力データのパターンによってはエイリアシング状態となりデータ欠けなどが発生する恐れがある。そこで、実施形態では、ステップS13からS16と並行して、ステップS21からS25を行う。
【0076】
ステップS21では、DPA41が、入力データの解析を行う。実際には、Demux13の出力する出力データDoutのデータパターンを解析する。解析処理については後述する。解析結果には、入力データのランレングスに相当する情報が含まれる。
【0077】
ステップS22では、DPA41が、ステップS13で求めた位相差信号からジッタ周波数f0の帯域を求める。具体的には、ステップS13の処理で説明したように、PIコードは位相補正量に対応するので、DPA41が、PIコードからジッタ周波数f0の帯域を求める。
【0078】
そして、DPA41が、ランレングス情報を含む解析結果とジッタ周波数f0の帯域から、標本化周波数fsを算出する。
【0079】
ステップS23では、AD42が、算出した標本化周波数fsではエイシアリング状態になる可能性があるかを判定し、エイシアリング状態になる可能性がある場合には、エイシアリング状態であることを示すフラグを立てる。
【0080】
ステップS24では、ステップS16でクロック位相安定状態と判定された後にさらにエイシアリング状態であるかを判定し、非エイシアリング状態であればステップS17に進み、エイシアリング状態であればステップS25に進む。
【0081】
ステップS17では、AD42が、CDR動作がロック状態にあると判定する。
【0082】
ステップS25では、PIコード発生器32が、非エイシアリング状態にするように、PIコードを調整する。PIコードを調整すると、標本化クロックSCLKが変化し、ステップS13からS17およびS21からS25が再度繰り返される。
【0083】
PIコードの調整は、例えば、PIコードのゲインを増加させる処理である。エイシアリング状態の時は、標本数が少ない状態であるため、標本数が多いことを想定した位相補正量ではCDR動作が入力データのクロックの位相変化に追従できないと考えられる。そこで、このような事態を回避するため、PIコードの1回のフィードバックによる位相補正量を増加させる。また、PIコードの別の調整方法では、CDR動作のフィードバック制御の分解能を向上する、具体的にはPI33における位相シフトの分解能を向上させる。これについては後述する。
【0084】
次に、データパターン解析部(DPA)41における解析処理を説明する。図3から図5を参照して説明したように、DPA41は、入力データのパターンに規則性があるかを判定し、規則性がある場合にそのランレングスを算出する。
【0085】
図10は、DPA41の回路構成を示す図である。
【0086】
図10に示すように、DPA41は、1/8分周器61と、シフトレジスタ62と、1/2分周器63と、1/4分周器64と、1/128分周器65と、フリップフロップ(FF)66〜68と、エッジカウンタ69〜71と、イベントカウンタ72と、を有する。1/8分周器61、1/2分周器63、1/4分周器64および1/128分周器65は、それぞれ標本化クロックSCLKを対応する分周比で分周する。シフトレジスタ62は、DoutをSCLKを1/8に分周した信号でラッチし、SCLKで1ビットずつシリアルデータに変換して出力する。したがって、シフトレジスタ62の出力する信号は、受信回路11の出力するデータ信号と類似の信号である。
【0087】
FF66〜68は、シフトレジスタ62の出力する信号を、SCLK、1/2分周器63および1/4分周器64の出力する信号でラッチする。したがって、FF66は、シフトレジスタ62の出力する信号と同じ信号を1SCLK遅延して出力する。FF67は、シフトレジスタ62の出力する信号を、SCLKを1/2分周した信号でラッチして、言い換えればSCLKの2周期に1回ラッチして出力する。FF68は、シフトレジスタ62の出力する信号を、SCLKを1/4分周した信号でラッチして、言い換えればSCLKの4周期に1回ラッチして出力する。
【0088】
エッジカウンタ69〜71は、FF66〜68の出力における変化をカウントする。
【0089】
イベントカウンタ72は、1/128分周器65の出力信号の周期ごとに、エッジカウンタ69〜71の出力をカウントする。
【0090】
例えば、入力データが、01010101の場合、FF66の出力は01010101であり、FF67の出力は1111であり、FF68の出力は11である。したがって、エッジカウンタ69のカウント値は“7”、エッジカウンタ70および71のカウント値は“0”である。入力データが、00110011の場合、FF66の出力は00110011であり、FF67の出力は0101であり、FF68の出力は11である。したがって、エッジカウンタ69のカウント値は“3”、エッジカウンタ70のカウント値は“3”であり、エッジカウンタ71のカウント値は“0”である。さらに、入力データが、00001111の場合、FF66の出力は00001111であり、FF67の出力は0011であり、FF68の出力は01である。したがって、エッジカウンタ69のカウント値は“1”、エッジカウンタ70のカウント値は“1”であり、エッジカウンタ71のカウント値は“1”である。したがって、イベントカウンタ72が、エッジカウンタ69〜71のこれらの出力をカウントすれば、上記の規則性のある3パターンを識別できる。また、同じデータが8以上連続する規則性のあるパターンの場合には、エッジカウンタ69〜71の出力は、すべて“0”であり、同様に識別できる。
【0091】
また、入力データのパターンに規則性がない場合には、エッジカウンタ69〜71の出力は、所定の関係を有さないが、出力値の大きさから、データの変化の頻度、言い換えればランレングスが分かる。
【0092】
以上説明したように、DPA41は、入力データにおけるデータの変化の規則性の有無およびランレングスを検出する。
【0093】
なお、DPA41における解析処理は、ランレングスに相当する値を検出できるものであれば、上記の例に限定されない。
【0094】
図11は、DPA41のほかの回路構成を示す図である。図11の回路は、1/8分周器61と、シフトレジスタ62と、1/128分周器65と、FF66と、エッジ検出回路75と、カウンタ76と、ラッチ77と、平均値算出回路78と、を有する。1/8分周器61、シフトレジスタ62、1/128分周器65およびFF66は、図10の回路と同じである。したがって、シフトレジスタ62の出力する信号は、受信回路11の出力するデータ信号と類似の信号である。
【0095】
エッジ検出回路75は、FFの出力における変化を検出する。カウンタ76は、エッジ検出回路75が検出する各エッジ間の長さ(SCLKのクロック数)を検出する。ラッチ77は、各エッジでカウンタ76の値をラッチする。平均値算出回路78は、SCLKの128周期分の期間におけるカウンタ76の値の累積値と、エッジの個数と、を算出し、さらに累積値をエッジの個数で除してエッジ間の平均長を算出する。この値はランレングスに相当する。
【0096】
また、図11の回路で、所定時間内(例えば、SCLKの128周期)において、エッジ検出回路75が検出するエッジの個数は入力データのデータ変化率を示している。この値は、これはランレングスに対応する値であり、ランレングスの代わりに入力データのデータ変化率を用いてエイリアシング状態を判定することも可能である。
【0097】
次に、エイリアシング検出部(AD)42における処理を説明する。
【0098】
図12は、AD42における処理例を示すフローチャートである。
【0099】
図12の(A)に示す例では、ステップS31でパターン解析を行う。この処理は、例えば、図8のS21〜S23に相当する。
【0100】
ステップS32では、エイリアシング状態であるか判定し、非エイリアシング状態であればステップS33に進み、エイリアシング状態であればステップS34に進む。ステップS32は、ステップS24に相当する。
【0101】
ステップS33では、AD42が、CDR動作がロック状態にあると判定するので、その時点のPIコードを維持する。
【0102】
ステップS34では、AD42が、フラグを立てて、エイリアシング状態である可能性があるとの警告を出力する。
【0103】
エイリアシング状態であると判定された場合の処理は、他にも各種あり得る。図12の(B)の例では、ステップS32でエイリアシング状態であると判定された場合に、ステップS35において、CDR動作における分解能を高める。この処理については後述する。
【0104】
図13は、AD42がパターン解析結果に基づいてエイリアシング状態であるかどうかの判定処理の例を示すフローチャートである。
【0105】
ステップS41では、ステップS31でパターン解析を行った後、標本化周波数fsがジッタ周波数f0を8倍した8f0より大きいかを判定し、大きければステップS42に進み、小さければステップS43に進む。
【0106】
ステップS42では、非エイリアシング状態と判定される。
【0107】
ステップS43では、標本化周波数fsが2f0より大きいかを判定し、大きければステップS44に進み、小さければステップS45に進む。
【0108】
ステップS44では、入力データのパターンに前述の規則性があるかを判定し、規則性があればステップS42に進み、なければステップS45に進む。
【0109】
ステップS45では、エイリアシング状態と判定される。
【0110】
前述のように、図12の(B)のS35で、CDR動作の分解能を高める処理を行うが、この処理は、位相調整器(PI)33の分解能を高めることで行う。これにより、サンプリング周波数を高めたのと同じ効果が得られる。
図14は、CDR動作における分解能を高める処理を説明する図である。
【0111】
前述のように、位相調整器(PI)33は、RCLKに対して位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を発生している。通常は、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号のみを選択するようにしている。これは、入力データにおけるクロックの位相変化に高速に対応してフィードバックを行うためである。
【0112】
図14の(A)は、PI33が、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号を、SCLKとして選択する場合を示し、図14の(B)は、その場合のSCLKの調整範囲を示す。SCLKの立ち上がりエッジは、入力データの変化エッジの中間であることが理想位相であるが、位相を90°ずらした4つの信号では、中心に対して±90°の範囲でロックする。
【0113】
これに対して、図14の(C)は、PI33が、RCLKに対して位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を、SCLKとして選択する場合を示し、図14の(D)は、その場合のSCLKの調整範囲を示す図である。位相を45°ずらした8つの信号では、中心に対して±45°の範囲でロックする。したがって、CDR動作において、フィードバックをより精密に行うことができる。
【0114】
図15は、ジッタ量が正弦波状に変化する場合の標本化を示し、(A)はSCLKとしてRCLKに対して位相を90°ずらした4つの信号が選択される場合を、(B)は位相を45°ずらした8つの信号が選択される場合を示す。
【0115】
なお、CDR動作における分解能を更に高め、例えば、PI33が、位相を22.5°ずらした16の信号を選択可能にしてもよい。
PI33の分可能を高めた状態、言い換えればサンプリング周波数が上がった状態でエイリアシング状態と判定された場合は、クロックの同期が取れていないエイリアシング状態であることを知らせる信号を出力する。
【0116】
以上説明した実施形態以外にも各種の変形例があり得る。例えば、図6のエイリアシング検出ブロック40以外は、基本的には一般的なCDR機能を有するSerDes回路であり、公知のCDR機能を有するSerDes回路の構成が適用可能である。
【0117】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【0118】
10 SerDesブロック
11 受信回路
12 1/2分周器
13 1:8Demux
20 クロック発生ブロック
21 PLL
30 CDRブロック
31 デジタルフィルタ(DF)
32 PIコード発生器
33 位相調整器(PI)
40 エイリアシング検出ブロック
41 データパターン解析部(DPA)
42 エイリアシング検出部(AD)
【技術分野】
【0001】
本発明は、入力データからクロックを再生するクロックデータ再生回路およびクロックデータ再生方法に関する。
【背景技術】
【0002】
NRZ(Non-Return-Zero)信号にはクロックが重畳されている。SerDes(Serial/Deserializer)回路は、受信したNRZ信号の入力データからデータを取り出す。
【0003】
図1の(A)は、送信側から送信されるNRZ信号を受信するSerDes回路の基本構成を示す図である。図1の(A)に示すように、SerDes回路は、SerDesブロック10と、クロック発生ブロック20と、を有する。クロック発生ブロック20は、基準クロックCLK(ここでは27MHz)を受けて、100倍に逓倍した2.7GHzの逓倍クロックRCLKを発生するPLL回路21を有する。
【0004】
SerDesブロック10は、受信回路11と、1/8分周器12と、1:8デマルチプレクサ(Demux)13と、を有する。受信回路11は、RCLKを標本化(サンプリング)クロックとして入力データDin(ここでは2.7Gbps)を受信してシリアルデータ信号を出力する。1/8分周器12は、RCLKを1/8分周して分周クロック(337MHz)を出力する。1:8Demux13は、RCLKおよび分周クロックに基づいて、シリアルデータ信号を8ビットのパラレルデータに変換して出力データDoutとして出力する。
【0005】
図1の(A)のSerDes回路で、受信回路11がRCLKの立ち上がりエッジに同期して入力データを取り込む場合、入力データDinの変化エッジに対してRCLKの立ち上がりエッジが180度(クロックの1/2周期)ずれていることが望ましい。正しい受信を行うには、RCLKが、この理想位相に対して所定の位相範囲であることが必要である。
【0006】
図1の(A)のSerDes回路では、入力データDinを送信する送信側のクロック源と、CLKを発生する受信側の基準クロック源とが同期していないため、送信データを正しく受信することはできない。
【0007】
そこで、SerDes回路は、入力データDinからデータとクロックを分離し、分離したクロックに基づいて、受信回路に標本化クロックとして印加する逓倍クロックRCLKの位相を調整することが行われる。入力データからクロックを再生する機能をCDR(Clock & Data Recovery)機能と称する。
【0008】
図1の(B)は、CDR機能を有するSerDes回路の構成を示す図である。図1の(B)に示すように、CDR機能を有するSerDes回路は、SerDesブロック10と、クロック発生ブロック20と、CDR(Clock & Data Recovery :CDR)ブロック30と、を有する。SerDesブロック10およびクロック発生ブロック20は、図1の(A)と同じである。ただし、SerDesブロック10のDemux13は、出力クロック(337MHz)を出力すること、および後述するSCLKと180度位相が異なるSCLKBで入力データを取り込み、Boutとして出力することが異なる。
【0009】
CDRブロック30は、出力データDoutの位相情報を検出して、逓倍クロックRCLKの位相を調整する。図1の(B)に示すように、CDRブロック30は、デジタルフィルタ(Digital Filter:DF)31と、PIコード発生器32と、位相調整器(Phase Interpolator:PI)33と、を有する。DF31は、Demux13の出力するDoutおよびBoutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、ローパスフィルタ(LPF)を通して高周波成分を除去した位相差信号を出力する。LPFは、位相比較器によるDoutおよびBoutがSCLKに対して進んでいるか遅れているかの判定結果を積分し、実質的にローパスフィルタリングを行う積分回路により実現される。PIコード発生器32は、DF31の出力する位相差信号に基づいて、位相調整器33に出力するPIコードを発生する。位相調整器33は、PIコードに基づいてRCLKの位相を調整して標本化クロックSCLK、およびSCLKと180度位相が異なるSCLKBを出力する。SCLKおよびSCLKBは、受信回路11において理想位相に対して所定位相範囲になるように調整されることになる。
【0010】
図1の(B)に示したCDR機能を有するSerDes回路は、SCLKの位相を理想位相に対して所定位相範囲になるように変化させるので、入力データDinを正しく受信することができる。
【0011】
上記のように、CDR機能を有するSerDes回路は、入力データを再生する回路であるが、CDR機能の観点からは、入力データに含まれるクロックを再生する回路であり、CDR回路と称する場合があり、ここでもそのように称する。
【0012】
図2は、CDR機能を有するSerDes回路(CDR回路)の機能動作を示すフローチャートである。
【0013】
ステップS11では、Demux13、DF31、PIコード発生器32などのデジタル処理を行うブロックに加えて、受信回路11、PI33、PLL21などのアナログブロックの初期化を行う。
【0014】
ステップS12では、入力データDinが印加される。
【0015】
ステップS13では、デジタルフィルタ(DF)31が、位相差信号を発生する。
【0016】
ステップS14では、PIコード発生器32が、PIコードを発生する。
【0017】
ステップS15では、位相調整器33が、PIコードに基づいてRCLKの位相を調整してSCLKを発生する。
【0018】
ステップS16では、SCLKの位相が安定して理想位相に対して所定の位相範囲になったかを判定し、安定状態でなければステップS13に戻り、安定状態であればステップS17に進む。
【0019】
ステップS17では、CDRブロック30が安定して、クロック位相調整がロック状態にあることを外部に通知する。
【0020】
CDR回路は、広く知られているので、これ以上の説明は省略する。
【0021】
上記のように、デジタルフィルタ(DF)31は、SerDesブロックの出力する再生されたデータの変化エッジから位相差信号を発生する。再生されたデータの変化エッジは、入力データのデータパターンにより決定される。そのため、入力データのデータパターンが位相差信号に影響する。具体的には、入力データの変化が頻繁に行われる場合には、再生されたデータにおいて変化エッジも頻繁に発生するため、位相差信号は頻繁に発生する。これに対して、入力データにおいて同じデータが続いた場合には、変化エッジの発生頻度が低下し、位相差信号が長期間発生せず、標本化クロックSCLKの位相が理想位相に対してどのような位相にあるか判定できない状態が続くことになる。そのため、標本化クロックと入力データのクロックの間に微小な位相差があっても、位相ずれが調整されずに徐々に拡大して、標本化クロックの位相が理想位相に対して所定の位相範囲外になる場合、すなわちアンロック状態になる場合がある。さらに、位相ずれがクロックの1周期以上に拡大した場合には、正しいデータを受信して再生できないサイクル越え、すなわちデータ欠けが発生する。
【0022】
アナログ信号を標本化信号で標本化する場合、アナログ信号に標本化信号の周波数の1/2より高い周波数が含まれている時には、元のアナログ信号の周波数成分に関する正しい情報を得ることができないということが知られている。これをエイリアシング(Aliasing)と称する。
【0023】
上記の入力データで同じデータが長時間続く状態は、変化エッジの発生頻度が減少して標本化信号の周波数が低下した場合に相当し、入力データに含まれる高周波数のクロックに関する情報が得られない状態である。ここでは、この状態をエイリアシング状態と称する。
【0024】
CDR機能を有するSerDes回路(CDR回路)は、入力データが入力されると自動的にロック状態になるように動作し、たとえエイリアシング状態であってもロック状態であるとして動作していた。そのため、CDR機能を有するSerDes回路は、サイクル越えが発生して、データを正しく受信できない場合でも、誤った出力データを出力していた。誤った出力データは、その後の処理に悪影響を及ぼし、SerDes回路の信頼性を損なう。
【先行技術文献】
【特許文献】
【0025】
【特許文献1】特許第4006260号
【特許文献2】特開2006−339858号公報
【発明の概要】
【発明が解決しようとする課題】
【0026】
CDR機能を有するSerDes回路(CDR回路)の信頼性向上が望まれていた。
【課題を解決するための手段】
【0027】
発明の一観点によれば、標本化クロックに基づいて入力データを取り込む受信回路と、受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサと、デマルチプレクサの出力するパラレルデータから位相情報を検出し、位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部と、デマルチプレクサの出力するパラレルデータの周波数解析を行うデータパターン解析部と、パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部と、を備えるクロックデータ再生回路が提供される。
【発明の効果】
【0028】
上記の観点によれば、ロック状態のクロックデータ再生回路であっても、入力データのデータパターンから誤動作の可能性を評価できるので、信頼性を向上することができる。
【図面の簡単な説明】
【0029】
【図1】図1は、送信側から送信されるNRZ信号を受信するCDR機能を有するSerDes回路(CDR回路)の基本構成を示す図である。
【図2】図2は、CDR機能を有するSerDes回路の機能動作を示すフローチャートである。
【図3】図3は、エイリアシングを説明する図である。
【図4】図4は、デジタルの入力データを標本化する場合で、標本化クロックの周期の2倍以上の周期で正弦波状に変化するジッタが存在する場合の、標本化されたジッタ離散信号の例を示す図である。
【図5】図5は、ランレングスRLに対する、標本化信号の実質的周波数fs’とジッタ周波数f0との比の関係を示す図である。
【図6】図6は、実施形態のCDR機能を有するSerDes回路(CDR回路)の構成を示す図である。
【図7】図7は、位相調整器の回路構成を示す図である。
【図8】図8は、実施形態のCDR回路の機能動作を示すフローチャートである。
【図9】図9は、ジッタ信号の処理を説明する図である。
【図10】図10は、データパターン解析部(DPA)の回路構成を示す図である。
【図11】図11は、データパターン解析部(DPA)のほかの回路構成を示す図である。
【図12】図12は、エイリアシング検出部(AD)における処理例を示すフローチャートである。
【図13】図13は、エイリアシング検出部(AD)がパターン解析結果に基づいてエイリアシング状態であるかどうかの判定処理の例を示すフローチャートである。
【図14】図14は、CDR動作における分解能を高める処理を説明する図である。
【図15】図15は、ジッタ量が正弦波状に変化する場合の標本化を示す図である。
【発明を実施するための形態】
【0030】
実施形態を説明する前に、入力データから標本化クロックSCLKを再生するのに必要なデータパターンについて説明する。
【0031】
アナログ信号中に標本化(サンプリング)信号の周波数の1/2よりも高い周波数が含まれている場合、元のアナログ信号の周波数成分に関する情報を正しく標本化(サンプリング)することはできない。前述のようにこれはエイシアリングと呼ばれる。
【0032】
図3は、エイリアシングを説明する図である。図3に示すように、周波数f0が7MHzと3MHzの正弦波を、標本化周波数fs=10MHzの標本化信号で標本化すると、標本化した離散信号は同一となり、区別できない。
【0033】
標本化信号の周波数については、標本化原理が知られている。周波数が0〜f0に帯域制限された信号を標本化する場合、周波数成分を保持した離散信号を得るためには、標本化間隔(周期)Tは次の条件を満たさなければならない。
【0034】
T≦1/(2f0)
Tの逆数が標本化周波数fsであるから、次の式を満たす必要がある。
【0035】
fs≧2f0
CDR回路は、データに重畳されたクロックを抽出する回路である。クロックの抽出は、データを標本化してデータ位相に関する情報を取り出し、CDR回路内の標本化信号(クロック)を、抽出したデータ位相に合わせ込むことで得られる。データ位相は、データの変化エッジと標本化信号(標本化クロック)の位相の差であり、この差はジッタと呼ばれる。
【0036】
ここで、注意する必要があるのは、標本化対象の信号がアナログ信号ではなく、デジタルのデータ信号であるということである。
【0037】
図4は、デジタルの入力データを標本化する場合で、標本化クロックの周期の2倍以上の周期で正弦波状に変化するジッタが存在する場合の、標本化されたジッタ離散信号の例を示す図である。
【0038】
図4の(A)は、入力データがクロックごとに変化するデータ変化率が100%の場合の例である。この場合は、標本化されたジッタ離散信号は図示のように変化し、正常に標本化することができる。
【0039】
図4の(B)は、データが1110001110…という具合に3クロック分同じデータが続いた後変化する変化率が40%の場合の例である。この場合、ジッタは、標本化クロックの約3.5倍の周期で変化しているが、ジッタ離散信号は、標本化クロックの約9倍の周期で変化しているように見える。
【0040】
図4の(C)は、データが1101111110…という具合に変化する場合で、データの変化率が40%の場合の例である。この場合、ジッタ離散信号からジッタを再現することができない。この場合、標本化信号の周波数fsは、変調されているように見える。
【0041】
図4で説明したように、同一のジッタであっても、データのパターンによりジッタ離散信号が異なり、ジッタの再現に影響する。
【0042】
ここで、CDR回路の例として、次のようなCDR機能を有するSerDes回路を考える。
【0043】
SerDes処理: 1:8Demux
入力データレート: 2.7Gbps
パラレル化周波数: 337MHz
ジッタ周波数: 2MHz/10MHz/20MHz/100MHz
また、入力データで同じデータが続く長さをランレングスRL(Run Length)と呼ぶが、CDR回路に印加されるデータのRLは、用途に応じて、1,2,4,8,16,32,64,72が考えられる。
【0044】
上記のように、CDR回路に入力される入力データのパターンに応じて、標本化信号の周波数fsは、分周しているように見えたり、変調しているように見える。
【0045】
図4の(A)の場合は、01010101のパターンで、標本化周波数fsはそのままfsであるように見える。
【0046】
図4の(C)の場合は、000111000111のパターンで、標本化周波数fsはfs/3であるように見える。
【0047】
同様に、00110011のパターンの場合には、fsはfs/2であるように見え、00001111のパターンの場合には、fsはfs/4であるように見える。
【0048】
このようにデータが規則性のある分周したパターンである場合には、fsも分周したのと同様に、分周されたように見える。
【0049】
これに対して、データがランダムに変化する場合には、fsが変調されているように見える。
【0050】
したがって、入力データのパターンを解析することにより、エイリアシングが発生している可能性があるかを判定することができる。
【0051】
具体的には、ランレングスRLが、1,2,4,8,16,32,64,72のパターンに対しては、fs=337MHzの標本化信号の実質的なfs’は、337MHz,168MHz,84MHz,42MHz,21MHz,10MHz,5.26MHz,4.68MHzと見える。実質的な周波数fs’と、100MHz、20MHz、10MHおよび2MHzのジッタ周波数f0との比を算出すると、図5に示すようになる。
【0052】
標本化定理から上記の比が2以下であればエイリアシング状態になる可能性が高いと考えられる。比が2以上8以下の範囲は、データパターンにある程度規則性がないとエイリアシング状態になる可能性があると考えられる。比が8以上であれば、データパターンに規則性がある場合でもランダムな場合でも、ジッタ離散信号からジッタを復元できると考えられる。
【0053】
そこで、実施形態では、実質的な周波数fs’とジッタの周波数f0との比が、8以上であれば非エイリアシング状態と判定し、2以下であればエイリアシング状態と判定する。比が2と8の間であれば、さらにデータのパターンに規則性があるか判定し、規則性があれば非エイリアシング状態と判定し、規則性がなければエイリアシング状態と判定する。エイリアシング状態と判定された場合には、エイリアシング状態の可能性があるとの情報を出力すると共に、CDR回路の追従性を高める処理を行う。
【0054】
図6は、実施形態のCDR機能を有するSerDes回路(CDR回路)の構成を示す図である。
【0055】
図6に示すように、実施形態のCDR回路は、SerDesブロック10と、クロック発生ブロック20と、CDR(Clock & Data Recovery :CDR)ブロック30と、エイリアシング検出ブロック40と、を有する。
【0056】
クロック発生ブロック20は、基準クロックCLKを受けて、100倍に逓倍した逓倍クロックRCLKを発生するPLL回路21を有する。
【0057】
SerDesブロック10は、受信回路11と、1/8分周器12と、1:8デマルチプレクサ(Demux)13と、を有する。受信回路11は、RCLKに応じて入力データDinを受信してシリアルデータ信号を出力する。1/8分周器12は、RCLKを1/8分周して分周クロックを出力する。Demux13は、RCLKおよび分周クロックに基づいて、シリアルデータ信号を8ビットのパラレルデータに変換して出力データDoutとして出力すると共に、分周クロックに対応する出力クロックOCLKを出力する。
【0058】
ここでは、送信側で入力データDinを生成するクロックが2.7GHzである場合を例として説明する。したがって、基準クロックCLKは27MHzの信号で、逓倍クロックRCLKは2.7GHzの信号であり、分周クロックは337MHzの信号である。しかし、入力データDinを生成するクロック、基準クロックCLK、逓倍率、分周比およびパラレルデータのビット数などは、これに限定されず、装置に応じて定めるべきものである。
【0059】
CDRブロック30は、デジタルフィルタ(Digital Filter:DF)31と、PIコード発生器32と、位相調整器(Phase Interpolator:PI)33と、を有する。DF31は、Demux13の出力するDoutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、位相ずれを示すジッタ信号を生成する。ローパスフィルタ(LPF)を通してジッタ信号の高周波成分を除去することにより位相差信号が生成される。PIコード発生器32は、DF31の出力する位相差信号に基づいて、位相調整器33に出力するPIコードを発生する。位相調整器33は、PIコードに基づいてRCLKの位相を、受信回路11において理想位相になるように変化させる。
【0060】
エイリアシング検出ブロック40は、データパターン解析部((Data Pattern Anlyzer:DPA)41と、エイリアシング検出部(Aliasing Detector:AD)42と、を有する。データパターン解析部41は、Demux13の出力するデータDoutのデータパターンを解析して、解析結果をエイリアシング検出部42に出力する。エイリアシング検出部42は、解析結果に基づいてエイリアシング状態であるか非エイリアシング状態であるかを判定する。図6では、エイリアシング検出部42は判定結果をPIコード発生器32に出力する。データパターン解析部41およびエイリアシング検出部42における処理について後述する。
【0061】
図7は、位相調整器33の回路構成を示す図である。
【0062】
位相調整器33は、時間デジタル変換(Time Digital Convertor:TDC)回路51と、マルチプレクサ(MUX)52と、デコーダ53と、を有する。TDC51は、逓倍クロックRCLKを受けて、RCLKの周期を2n個に分割した位相シフト信号を出力する。例えば、n=2の場合には、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号を発生し、n=3の場合には、位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を発生する。実施例では、n=4であるとする。MUX52は、TDC回路の出力する位相シフト信号の1つを選択して出力する。デコーダ53は、PIコードをデコードして、MUX52が選択する位相シフト信号を指示する選択信号を出力する。
【0063】
図8は、実施形態のCDR回路の機能動作を示すフローチャートである。ステップS11からS16は、図1に示した一般的なSerDes回路の機能動作とほぼ同じ処理を行う。
【0064】
ステップS11では、Demux13、DF31、PIコード発生器32、DPA41およびAD42などのデジタル処理を行うブロックに加えて、受信回路11、PI33、PLL21などのアナログブロックの初期化を行う。
【0065】
ステップS12では、入力データDinが印加される。入力データのデータレートは2.7Gbpsである。PI33は、PIコード発生器32からのPIコードに基づいて決定した位相の標本化クロックSCLKを出力する。PI33からのSCLKが受信回路11に供給され、受信回路11は、SCLKに基づいて入力データDinを取り込む。したがって、この段階では、SCLKの位相がデータの位相に適合しているかは不明である。
【0066】
Demux13は、受信回路11が取り込んだ入力データを、SCLKおよびSCLKを1/8分周した分周クロックで、1:8のシリアル−パラレル変換して8ビットの出力データDoutを生成する。この段階では、SCLKの位相がデータの位相に適合しているかは不明であるため、出力データDoutにデータ欠けなどが発生している可能性がある。
【0067】
ステップS13では、出力データDoutがデジタルフィルタ(DF)31に供給される。DF31は、Doutの変化タイミングの位相とPI33の出力する標本化クロックSCLKとの位相比較を行い、位相ずれを示すジッタ信号を生成し、ローパスフィルタ(LPF)を通過させて高周波成分を除去することにより位相差信号を生成する。
【0068】
図9は、ジッタ信号の処理を説明する図である。
【0069】
図9の(A)は、DF31のローパスフィルタ(LPF)の特性を示す図である。ジッタ周波数がfcutより低いジッタ信号の低周波成分は、高いDFゲインで増幅される。一方、ジッタ周波数がfcutより高いジッタ信号の高周波成分は、周波数が高いほど小さなDFゲインで増幅されるので減衰する。このようにジッタ信号は、LPFにより帯域制限される。
【0070】
図9の(B)は、ジッタ信号の低周波成分の変化例を示す図である。ジッタ信号は、入力データのクロックとSCLKの周期差に対応するジッタ周期とジッタ振幅で、正弦波状に変化する。
【0071】
図9の(C)は、ジッタ信号の高周波成分の変化例を示す図である。ジッタ信号の高周波成分は、定常位相誤差として取り扱われる。
【0072】
ステップS14では、PIコード発生器32が、位相差信号に基づいて位相補正量を算出し、位相補正量に対応するPIコードを発生する。
【0073】
ステップS15では、位相調整器33が、PIコードに基づいてRCLKの位相を調整する。
【0074】
ステップS16では、RCLKの位相が理想位相に対して所定の位相範囲になったか、すなわちクロック位相安定状態になったかを判定し、入っていなければステップS13に戻り、入っていればステップS24に進む。
【0075】
ステップS11からS16を繰り返すことにより、RCLKの位相が理想位相に対して所定の位相範囲に入る状態で安定する。言い換えれば定常位相誤差のみが発生する状態になる。この状態が、これまでCDR回路のロック状態であるが、入力データのパターンによってはエイリアシング状態となりデータ欠けなどが発生する恐れがある。そこで、実施形態では、ステップS13からS16と並行して、ステップS21からS25を行う。
【0076】
ステップS21では、DPA41が、入力データの解析を行う。実際には、Demux13の出力する出力データDoutのデータパターンを解析する。解析処理については後述する。解析結果には、入力データのランレングスに相当する情報が含まれる。
【0077】
ステップS22では、DPA41が、ステップS13で求めた位相差信号からジッタ周波数f0の帯域を求める。具体的には、ステップS13の処理で説明したように、PIコードは位相補正量に対応するので、DPA41が、PIコードからジッタ周波数f0の帯域を求める。
【0078】
そして、DPA41が、ランレングス情報を含む解析結果とジッタ周波数f0の帯域から、標本化周波数fsを算出する。
【0079】
ステップS23では、AD42が、算出した標本化周波数fsではエイシアリング状態になる可能性があるかを判定し、エイシアリング状態になる可能性がある場合には、エイシアリング状態であることを示すフラグを立てる。
【0080】
ステップS24では、ステップS16でクロック位相安定状態と判定された後にさらにエイシアリング状態であるかを判定し、非エイシアリング状態であればステップS17に進み、エイシアリング状態であればステップS25に進む。
【0081】
ステップS17では、AD42が、CDR動作がロック状態にあると判定する。
【0082】
ステップS25では、PIコード発生器32が、非エイシアリング状態にするように、PIコードを調整する。PIコードを調整すると、標本化クロックSCLKが変化し、ステップS13からS17およびS21からS25が再度繰り返される。
【0083】
PIコードの調整は、例えば、PIコードのゲインを増加させる処理である。エイシアリング状態の時は、標本数が少ない状態であるため、標本数が多いことを想定した位相補正量ではCDR動作が入力データのクロックの位相変化に追従できないと考えられる。そこで、このような事態を回避するため、PIコードの1回のフィードバックによる位相補正量を増加させる。また、PIコードの別の調整方法では、CDR動作のフィードバック制御の分解能を向上する、具体的にはPI33における位相シフトの分解能を向上させる。これについては後述する。
【0084】
次に、データパターン解析部(DPA)41における解析処理を説明する。図3から図5を参照して説明したように、DPA41は、入力データのパターンに規則性があるかを判定し、規則性がある場合にそのランレングスを算出する。
【0085】
図10は、DPA41の回路構成を示す図である。
【0086】
図10に示すように、DPA41は、1/8分周器61と、シフトレジスタ62と、1/2分周器63と、1/4分周器64と、1/128分周器65と、フリップフロップ(FF)66〜68と、エッジカウンタ69〜71と、イベントカウンタ72と、を有する。1/8分周器61、1/2分周器63、1/4分周器64および1/128分周器65は、それぞれ標本化クロックSCLKを対応する分周比で分周する。シフトレジスタ62は、DoutをSCLKを1/8に分周した信号でラッチし、SCLKで1ビットずつシリアルデータに変換して出力する。したがって、シフトレジスタ62の出力する信号は、受信回路11の出力するデータ信号と類似の信号である。
【0087】
FF66〜68は、シフトレジスタ62の出力する信号を、SCLK、1/2分周器63および1/4分周器64の出力する信号でラッチする。したがって、FF66は、シフトレジスタ62の出力する信号と同じ信号を1SCLK遅延して出力する。FF67は、シフトレジスタ62の出力する信号を、SCLKを1/2分周した信号でラッチして、言い換えればSCLKの2周期に1回ラッチして出力する。FF68は、シフトレジスタ62の出力する信号を、SCLKを1/4分周した信号でラッチして、言い換えればSCLKの4周期に1回ラッチして出力する。
【0088】
エッジカウンタ69〜71は、FF66〜68の出力における変化をカウントする。
【0089】
イベントカウンタ72は、1/128分周器65の出力信号の周期ごとに、エッジカウンタ69〜71の出力をカウントする。
【0090】
例えば、入力データが、01010101の場合、FF66の出力は01010101であり、FF67の出力は1111であり、FF68の出力は11である。したがって、エッジカウンタ69のカウント値は“7”、エッジカウンタ70および71のカウント値は“0”である。入力データが、00110011の場合、FF66の出力は00110011であり、FF67の出力は0101であり、FF68の出力は11である。したがって、エッジカウンタ69のカウント値は“3”、エッジカウンタ70のカウント値は“3”であり、エッジカウンタ71のカウント値は“0”である。さらに、入力データが、00001111の場合、FF66の出力は00001111であり、FF67の出力は0011であり、FF68の出力は01である。したがって、エッジカウンタ69のカウント値は“1”、エッジカウンタ70のカウント値は“1”であり、エッジカウンタ71のカウント値は“1”である。したがって、イベントカウンタ72が、エッジカウンタ69〜71のこれらの出力をカウントすれば、上記の規則性のある3パターンを識別できる。また、同じデータが8以上連続する規則性のあるパターンの場合には、エッジカウンタ69〜71の出力は、すべて“0”であり、同様に識別できる。
【0091】
また、入力データのパターンに規則性がない場合には、エッジカウンタ69〜71の出力は、所定の関係を有さないが、出力値の大きさから、データの変化の頻度、言い換えればランレングスが分かる。
【0092】
以上説明したように、DPA41は、入力データにおけるデータの変化の規則性の有無およびランレングスを検出する。
【0093】
なお、DPA41における解析処理は、ランレングスに相当する値を検出できるものであれば、上記の例に限定されない。
【0094】
図11は、DPA41のほかの回路構成を示す図である。図11の回路は、1/8分周器61と、シフトレジスタ62と、1/128分周器65と、FF66と、エッジ検出回路75と、カウンタ76と、ラッチ77と、平均値算出回路78と、を有する。1/8分周器61、シフトレジスタ62、1/128分周器65およびFF66は、図10の回路と同じである。したがって、シフトレジスタ62の出力する信号は、受信回路11の出力するデータ信号と類似の信号である。
【0095】
エッジ検出回路75は、FFの出力における変化を検出する。カウンタ76は、エッジ検出回路75が検出する各エッジ間の長さ(SCLKのクロック数)を検出する。ラッチ77は、各エッジでカウンタ76の値をラッチする。平均値算出回路78は、SCLKの128周期分の期間におけるカウンタ76の値の累積値と、エッジの個数と、を算出し、さらに累積値をエッジの個数で除してエッジ間の平均長を算出する。この値はランレングスに相当する。
【0096】
また、図11の回路で、所定時間内(例えば、SCLKの128周期)において、エッジ検出回路75が検出するエッジの個数は入力データのデータ変化率を示している。この値は、これはランレングスに対応する値であり、ランレングスの代わりに入力データのデータ変化率を用いてエイリアシング状態を判定することも可能である。
【0097】
次に、エイリアシング検出部(AD)42における処理を説明する。
【0098】
図12は、AD42における処理例を示すフローチャートである。
【0099】
図12の(A)に示す例では、ステップS31でパターン解析を行う。この処理は、例えば、図8のS21〜S23に相当する。
【0100】
ステップS32では、エイリアシング状態であるか判定し、非エイリアシング状態であればステップS33に進み、エイリアシング状態であればステップS34に進む。ステップS32は、ステップS24に相当する。
【0101】
ステップS33では、AD42が、CDR動作がロック状態にあると判定するので、その時点のPIコードを維持する。
【0102】
ステップS34では、AD42が、フラグを立てて、エイリアシング状態である可能性があるとの警告を出力する。
【0103】
エイリアシング状態であると判定された場合の処理は、他にも各種あり得る。図12の(B)の例では、ステップS32でエイリアシング状態であると判定された場合に、ステップS35において、CDR動作における分解能を高める。この処理については後述する。
【0104】
図13は、AD42がパターン解析結果に基づいてエイリアシング状態であるかどうかの判定処理の例を示すフローチャートである。
【0105】
ステップS41では、ステップS31でパターン解析を行った後、標本化周波数fsがジッタ周波数f0を8倍した8f0より大きいかを判定し、大きければステップS42に進み、小さければステップS43に進む。
【0106】
ステップS42では、非エイリアシング状態と判定される。
【0107】
ステップS43では、標本化周波数fsが2f0より大きいかを判定し、大きければステップS44に進み、小さければステップS45に進む。
【0108】
ステップS44では、入力データのパターンに前述の規則性があるかを判定し、規則性があればステップS42に進み、なければステップS45に進む。
【0109】
ステップS45では、エイリアシング状態と判定される。
【0110】
前述のように、図12の(B)のS35で、CDR動作の分解能を高める処理を行うが、この処理は、位相調整器(PI)33の分解能を高めることで行う。これにより、サンプリング周波数を高めたのと同じ効果が得られる。
図14は、CDR動作における分解能を高める処理を説明する図である。
【0111】
前述のように、位相調整器(PI)33は、RCLKに対して位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を発生している。通常は、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号のみを選択するようにしている。これは、入力データにおけるクロックの位相変化に高速に対応してフィードバックを行うためである。
【0112】
図14の(A)は、PI33が、RCLKに対して位相を0°、90°、180°および270°ずらした4つの信号を、SCLKとして選択する場合を示し、図14の(B)は、その場合のSCLKの調整範囲を示す。SCLKの立ち上がりエッジは、入力データの変化エッジの中間であることが理想位相であるが、位相を90°ずらした4つの信号では、中心に対して±90°の範囲でロックする。
【0113】
これに対して、図14の(C)は、PI33が、RCLKに対して位相を0°、45°、90°、135°、180°、225°、270°および315°ずらした8つの信号を、SCLKとして選択する場合を示し、図14の(D)は、その場合のSCLKの調整範囲を示す図である。位相を45°ずらした8つの信号では、中心に対して±45°の範囲でロックする。したがって、CDR動作において、フィードバックをより精密に行うことができる。
【0114】
図15は、ジッタ量が正弦波状に変化する場合の標本化を示し、(A)はSCLKとしてRCLKに対して位相を90°ずらした4つの信号が選択される場合を、(B)は位相を45°ずらした8つの信号が選択される場合を示す。
【0115】
なお、CDR動作における分解能を更に高め、例えば、PI33が、位相を22.5°ずらした16の信号を選択可能にしてもよい。
PI33の分可能を高めた状態、言い換えればサンプリング周波数が上がった状態でエイリアシング状態と判定された場合は、クロックの同期が取れていないエイリアシング状態であることを知らせる信号を出力する。
【0116】
以上説明した実施形態以外にも各種の変形例があり得る。例えば、図6のエイリアシング検出ブロック40以外は、基本的には一般的なCDR機能を有するSerDes回路であり、公知のCDR機能を有するSerDes回路の構成が適用可能である。
【0117】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【0118】
10 SerDesブロック
11 受信回路
12 1/2分周器
13 1:8Demux
20 クロック発生ブロック
21 PLL
30 CDRブロック
31 デジタルフィルタ(DF)
32 PIコード発生器
33 位相調整器(PI)
40 エイリアシング検出ブロック
41 データパターン解析部(DPA)
42 エイリアシング検出部(AD)
【特許請求の範囲】
【請求項1】
標本化クロックに基づいて入力データを取り込む受信回路と、
前記受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサと、
デマルチプレクサの出力する前記パラレルデータから位相情報を検出し、前記位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部と、
前記デマルチプレクサの出力する前記パラレルデータの周波数解析を行うデータパターン解析部と、
前記パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部と、を備えることを特徴とするクロックデータ再生回路。
【請求項2】
前記データパターン解析部は、前記パラレルデータにおけるランレングスを検出することを特徴とする請求項1記載のクロックデータ再生回路。
【請求項3】
前記データパターン解析部は、前記パラレルデータにおけるデータ変化率を検出することを特徴とする請求項1記載のクロックデータ再生回路。
【請求項4】
エイリアシング検出部は、検出した前記クロック再生状態に基づいて、非エイリアシング状態とエイリアシング状態のいずれの動作状態であるかを判定し、判定した動作状態を出力する請求項1から3のいずれか記載のクロックデータ再生回路。
【請求項5】
前記クロック/データ再生部は、前記エイリアシング検出部の検出した前記クロック再生状態に基づいて、前記標本化クロックを生成するための前記基準クロックの位相調整における追従性を変化させることを特徴とする請求項1から4のいずれか記載のクロックデータ再生回路。
【請求項6】
前記基準クロックの位相調整における追従性の変化は、位相を調整する分解能の変化であることを特徴とする請求項5記載のクロックデータ再生回路。
【請求項7】
前記基準クロックの位相調整における追従性の変化は、位相を調整するゲインの変化であることを特徴とする請求項5記載のクロックデータ再生回路。
【請求項8】
標本化クロックに基づいて入力データを取り込みシリアルデータを出力し、
前記シリアルデータをパラレルデータに変換し、
前記パラレルデータから位相情報を検出し、前記位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成し、
前記パラレルデータの周波数解析を行い、
前記パラレルデータの周波数解析結果に基づいて、クロック再生がエイリアシング状態であるかを判定することを特徴とするクロックデータ再生方法。
【請求項1】
標本化クロックに基づいて入力データを取り込む受信回路と、
前記受信回路の出力するシリアルデータをパラレルデータに変換するデマルチプレクサと、
デマルチプレクサの出力する前記パラレルデータから位相情報を検出し、前記位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成するクロック/データ再生部と、
前記デマルチプレクサの出力する前記パラレルデータの周波数解析を行うデータパターン解析部と、
前記パラレルデータの周波数解析結果に基づいて、クロック再生状態を検出するエイリアシング検出部と、を備えることを特徴とするクロックデータ再生回路。
【請求項2】
前記データパターン解析部は、前記パラレルデータにおけるランレングスを検出することを特徴とする請求項1記載のクロックデータ再生回路。
【請求項3】
前記データパターン解析部は、前記パラレルデータにおけるデータ変化率を検出することを特徴とする請求項1記載のクロックデータ再生回路。
【請求項4】
エイリアシング検出部は、検出した前記クロック再生状態に基づいて、非エイリアシング状態とエイリアシング状態のいずれの動作状態であるかを判定し、判定した動作状態を出力する請求項1から3のいずれか記載のクロックデータ再生回路。
【請求項5】
前記クロック/データ再生部は、前記エイリアシング検出部の検出した前記クロック再生状態に基づいて、前記標本化クロックを生成するための前記基準クロックの位相調整における追従性を変化させることを特徴とする請求項1から4のいずれか記載のクロックデータ再生回路。
【請求項6】
前記基準クロックの位相調整における追従性の変化は、位相を調整する分解能の変化であることを特徴とする請求項5記載のクロックデータ再生回路。
【請求項7】
前記基準クロックの位相調整における追従性の変化は、位相を調整するゲインの変化であることを特徴とする請求項5記載のクロックデータ再生回路。
【請求項8】
標本化クロックに基づいて入力データを取り込みシリアルデータを出力し、
前記シリアルデータをパラレルデータに変換し、
前記パラレルデータから位相情報を検出し、前記位相情報に基づいて基準クロックの位相を調整して前記標本化クロックを生成し、
前記パラレルデータの周波数解析を行い、
前記パラレルデータの周波数解析結果に基づいて、クロック再生がエイリアシング状態であるかを判定することを特徴とするクロックデータ再生方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−44279(P2012−44279A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−181323(P2010−181323)
【出願日】平成22年8月13日(2010.8.13)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月13日(2010.8.13)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]