クロック・データ・リカバリ回路
【課題】
USB2.0規格などの高速シリアル通信に用いるクロック・データ・リカバリ回路に関し、受信データの取り込みエラーを防止し、かつLSI化に適した回路を提供する。
【解決手段】
周期T1のクロックをN分割したT2単位でずらしたN相のクロックを出力する手段6、シリアル転送された信号をT2毎にサンプリングしてT1毎にNビットパラレルデータに変換する手段4、その出力データをデジタル処理してNビットパラレルデータに変換する手段で、またデータ変化点を示すNビットパラレルデータに変換する手段8、変化点を示すデータを位相情報入力として前記デジタル処理されたデータのデータ変化点の略中間位置を示すデータを出力する手段10、その出力データが示したビット位置に対応する前記デジタル処理されたデータを復元データとする手段12を備える。前記デジタル処理は、移動平均処理、デューティずれ補正処理とすることができる。
USB2.0規格などの高速シリアル通信に用いるクロック・データ・リカバリ回路に関し、受信データの取り込みエラーを防止し、かつLSI化に適した回路を提供する。
【解決手段】
周期T1のクロックをN分割したT2単位でずらしたN相のクロックを出力する手段6、シリアル転送された信号をT2毎にサンプリングしてT1毎にNビットパラレルデータに変換する手段4、その出力データをデジタル処理してNビットパラレルデータに変換する手段で、またデータ変化点を示すNビットパラレルデータに変換する手段8、変化点を示すデータを位相情報入力として前記デジタル処理されたデータのデータ変化点の略中間位置を示すデータを出力する手段10、その出力データが示したビット位置に対応する前記デジタル処理されたデータを復元データとする手段12を備える。前記デジタル処理は、移動平均処理、デューティずれ補正処理とすることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアル通信全般のクロック・データ・リカバリ回路に関し、特に、USB(Universal Serial Bus)2.0、IEEE(米国電気電子学会)1394、シリアルATA(AT Attachment)などの高速シリアル転送、PCI(Peripheral Components Interconnect)Expressなどの装置内の基板を接続する高速シリアル通信のクロック・データ・リカバリ回路に関する。
【背景技術】
【0002】
シリアル通信規格には、例えばUSBの高速転送規格であるUSB2.0があり、最大転送速度は480Mbpsである。通信は1対のデータ線(DP及びDM)の送受信を小振幅差動信号により行い、クロックは供給されない。したがって、受信側では、受信データからクロックを抽出し、抽出したクロックにより受信したデータをサンプリングするなどしてデータを得ている。このように、受信データからクロックとデータを抽出する回路をクロック・データ・リカバリ回路(CDR回路)と称する。シリアルデータインターフェースで用いるクロック・データ・リカバリ回路は、受信したデータの変化を見てクロック信号を再生する技術である。クロック・データ・リカバリ回路では、アナログ方式のPLL(Phase Locked Loop)を用いて、受信データのエッジに同期したクロックを抽出し、このクロックで受信データをサンプリングするのが一般的であった。
【0003】
近年、USB2.0をはじめ、シリアル転送速度が飛躍的に高速化し、デジタル回路ブロックも高速での動作が必要になったため、これらの回路も微細プロセスでLSI化されるようになった。同一LSI内に、従来のアナログ方式のPLLを搭載する場合、アナログ回路部分は微細プロセスを用いてもデジタル回路部と同様の割合で微細化することが容易ではない。そのため、相対的にコストアップになるという問題がある。また、近年、装置内の基板あるいはLSI間を接続する場合においても、PCI Expressなどの高速シリアルデータインターフェースを用いるようになってきたが、多チャンネル化した場合に、各チャンネル毎にアナログPLLを搭載するのでは、コストアップだけでなくノイズ干渉の問題も発生するようになった。
【0004】
また、多相クロックを用いてクロックとデータを再生するクロック・データ・リカバリ回路が多数提案されている。抽出するクロックよりも高い周波数(多相クロックを用いて等価的に高い周波数とする)のクロックでオーバーサンプリングするものとしては、「クロックアンドデータリカバリ回路とそのクロック制御方法」に関する以下の特許文献1、「データ・クロック・リカバリ回路」に関する以下の特許文献2、「データリカバリ回路とデータリカバリ方法」に関する以下の特許文献3等がある。
【特許文献1】特開2003−333021号公報
【特許文献2】特開2003−224551号公報
【特許文献3】特開2004−128980号公報
【0005】
図20は、このように入力信号を多相クロックにより2値化する従来の技術を示すタイミングチャートである。これは、入力データを多相クロックPH1ないしPH8により2値化するものであり、入力データの変化が検出された場合には、検出したフェーズから所定のフェーズ(図20の例では3フェーズ)だけ遅れたフェーズが選択され、入力信号の変化が検出されなかった場合には、前回選択したフェーズを保持するというようなロジック回路により実現され得る。
【0006】
図21は、このような従来の技術において、受信信号のデューティが崩れた場合の問題を示す図である。受信信号の劣化、多相クロックのジッタ等により受信信号のデューティが崩れると、再生クロックによるデータ取り込みのタイミングと受信信号の変化タイミングにずれが生じ、その結果、受信データの取込エラーが増大するという問題がある。
【0007】
従来のアナログ回路を用いたクロック・データ・リカバリ回路においても同様の問題があり、イコライザと呼ばれるようなフィルタを用いて、あるいは直接的に2値化出力のデューティを制御して解決しようとするものもある。
【0008】
サンプリングにより生成される2値化信号のデューティずれなどを補正する公知技術としては、「アナログイコライザ」に関する以下の特許文献4、「データ処理装置」に関する以下の特許文献5等がある。
【特許文献4】特開2005−102015号公報
【特許文献5】特開2008−5143号公報
【0009】
これらと同様の機能を、デジタルフィルタにより実現しようとした場合、再生するクロックの最低でも数倍以上の動作周波数で演算する必要であることから、近年の高速シリアル通信に適用するには、回路規模の増大によるコストアップ、消費電力の増大といった観点から実用化が困難であった。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、回路規模の増大や消費電力の増大を招くことなく、LSI化に適し、かつ、受信信号のデューティが崩れた場合にも受信データの取込エラーが増大することのないクロック・データ・リカバリ回路を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、シリアル通信により受信した信号をオーバーサンプリングにより2値化し、クロック・データを復元するクロック・データ・リカバリ回路であって、受信側基準周波数から生成される周期T1のクロックについてその周期T1をN(2以上の自然数)分割したT2時間単位でずらしたN相のクロックを出力する手段と、シリアル転送された信号を、前記T2時間毎にサンプリングする手段と、前記サンプリングしたデータを、周期T1毎に、第1のNビットパラレルデータに変換する手段と、第1のNビットパラレルデータをデジタル処理し、第2のNビットパラレルデータに変換する手段と、第2のNビットパラレルデータを、データ変化点を示す第3のNビットパラレルデータに変換する手段と、第3のNビットパラレルデータを位相情報入力として、第2のNビットパラレルデータのデータ変化点の中間に対応する位置を示す第4のNビットパラレルデータを出力する手段と、第4のNビットパラレルデータが示したビット位置に対応する第2のNビットパラレルデータのビット位置データを復元データとする手段と、を備えることにより上記課題を解決する。
【0012】
また、本発明では、前記第1のNビットパラレルデータを第2のNビットパラレルデータに変換する手段は、前記第1のNビットパラレルデータを周期T1毎に移動平均し、移動平均後のNビットパラレルデータに変換する手段と、移動平均後のNビットパラレルデータのデータ変化点を検出し、変化点を示すNビットパラレルデータに変換し、順次記憶する手段と、変化点と1つ前の変化点間を前記T2周期単位で計測してパターン長を検出し、変化点記憶と対応して順次記憶する手段と、パターン長と設定値を比較し、比較結果によって、変化点時刻の2値信号に対応するNビットパラレルデータのビットデータを反転する複数個の補正手段と、からなり、前記複数個の補正手段は縦続接続され、各々の前記設定値を前に接続されたものより1ずつ減じるように配置して2値化時のデューティずれを補正するようにしてもよい。
【0013】
また、本発明は、前記T1周期を前記受信側基準周波数の周期に等しくしてもよい。
【0014】
また、本発明は、シリアルデータインターフェースのUSB2.0規格に準拠してもよい。
【発明の効果】
【0015】
本発明によれば、多相クロックでデータをサンプリングする手段が各相のクロックでサンプリングし、所定周期毎のパラレルデータに変換するだけであるので、多相クロック間の遅延量の合わせ込みが容易であり、また、受信データを再生するための動作クロックが単一のクロックのみであるので、大規模デジタルLSI設計で主流である同期設計手法を使用でき、設計検証が容易であって開発期間が短縮可能であり、LSI化が容易なクロック・データ・リカバリ回路を提供することができる。
【0016】
また、本発明によれば、2値化時のデューティずれを補正する変換手段は、変化点検出手段、パターン長計測手段、比較手段、記憶手段などの軽微なデジタル回路で実現でき、LSI化が容易なクロック・データ・リカバリ回路を提供することができる。
【0017】
また、本発明によれば、T1周期が比較的低い周波数の受信側基準周波数の周期であるが、受信波形を高い精度で再生することができ、LSI化が容易な、クロック・データ・リカバリ回路として最適な回路を提供することができる。
【0018】
また、本発明によれば、安価な機器で使用される代表的なシリアルデータインターフェース規格であるが、同期信号パターンの先頭付近が1、0の繰り返し15回という最小反転周期の連続パターンであるため2値化時のデューティずれが発生しやすいUSB2.0のクロック・データ・リカバリに最適な回路を提供することができる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照して、本発明の実施形態を説明する。
【0020】
図1は、本発明のクロック・データ・リカバリ回路の実施形態を示すブロック図である。クロック・データ・リカバリ回路は、差動レシーバ2、高速サンプル手段4、N相アナログPLL6、デジタル処理手段8、デジタルPLL10及びデータ打ち抜き手段12を有する。差動レシーバ2はDP、DMの電位差に応じて0又は1の信号Aを出力する。高速サンプル手段4は、シリアル通信により受信した信号をN相の多相クロックPH[N−1:0](PH[N−1]〜PH[0])でサンプリングし、第1のNビットパラレルデータpara[N−1:0](para[N−1]〜para[0])に変換するブロックであり、詳細は後述する。N相アナログPLL6は、受信側基準周波数のクロックCK480M(USB2.0の場合は480MHz)と、これをN分割した時間精度で夫々位相のずれたクロックPH[N−1:0]を発生する。デジタル処理手段8は、第1のNビットパラレルデータpara[N−1:0]を補正処理(イコライズ)した第2のNビットパラレルデータhparadat[N−1:0](hparadat[N−1]〜hparadat[0])を生成し、このhparadat[N−1:0]信号からそのエッジ位置を示す第3のNビットパラレルデータhparaedge[N−1:0](hparaedge[N−1]〜hparaedge[0])を生成するブロックであり、詳細は後述する。デジタルPLL10は、受信データの変化点すなわちhparaedge信号が示すエッジ位置の中間に対応する位置を示す第4のNビットパラレルデータout_parack[N−1:0](out_parack[N−1]〜out_parack[0])を生成するブロックであり、詳細は後述する。図1のデータ打ち抜き手段12は、hparadat信号とout_parack信号により、受信データを再生する手段である。データ打ち抜き手段12は、受信データから抽出したクロック(すなわち送信側基準周波数クロック)と受信側基準周波数クロックの周波数偏差を吸収するためのバッファーを含んでいてもよく、詳細は後述する。
【0021】
図2は、8相クロックを用いた場合の図1の高速サンプル手段4を示す図である。高速サンプル手段4は、フリップフロップ20〜27、34〜37及び40〜47を有する。高速サンプル手段4は、差動レシーバ2の出力信号Aを入力し、フリップフロップ20〜27、34〜37及び40〜47を用いて、N相アナログPLL6からのクロックPH0〜PH7により高速サンプルを行い、パラレルデータに変換する。図3は、その動作を示すタイミングチャートである。差動レシーバ2の出力信号Aは、8相の多相クロック(PH0〜PH7)でサンプリングされ、8相クロックの時間の並びに対応して8ビットのパラレルデータ(q0〜q7)に変換される。中間に配置したフリップフロップ34〜37は、次段のフリップフロップ40〜47のセットアップ時間を確保するためである。このように、多相クロックでサンプリングし、パラレルデータに変換することで、比較的低い周波数であっても、高い周波数でオーバーサンプリングするのと等価の時間分解能を表すことが可能である。
【0022】
図4は、図1のデジタル処理手段8での8ビットのパラレルデータの移動平均処理を示す図である。図4では7値の移動平均を示しており、高速サンプル手段4からの入力データ50の連続する7ビットを順次加算し、加算結果の最上位ビットを移動平均ビットとして8ビットパラレル出力データ52とする。移動平均処理は、LPF(ローパスフィルター)特性を有しており、パターン長の短い孤立パルスのようなノイズパルス等を除去する機能がある。ただし、移動平均処理では、2値化時のデューティずれを補正することはできない。
【0023】
図5は、図1のデジタル処理手段8における2値化時のデューティずれ補正処理を示すブロック図である。このデューティずれ補正処理は、パターン長計測手段54、変化点検出手段56、パターン長記憶手段58、補正手段60[1]〜60[m]、設定手段62[1]〜62[m]及び変化点記憶手段64を有する。図4に示された移動平均処理後のデータは、変化点検出手段56に入力され、その出力が変化点記憶手段64によって記憶される。また、変化点検出手段の出力がパターン長計測手段54に与えられ、その出力がパターン長記憶手段58により記憶される。移動平均処理後のデータは、補正手段60[1]にも与えられる。補正手段60[1]〜60[m]は、縦続接続されており、それぞれ設定手段62[1]〜62[m]の設定値N−1、〜、N−mを用いて補正を行う。
【0024】
図6は、図5のデューティずれ補正処理の動作をより詳細に説明するための概念図である。パターン長計測手段54は、設定手段66、インクリメント手段68、セレクター70及び記憶手段72を有する。変化点検出手段56は、フリップフロップ76及び排他的論理和回路76を有する。パターン長記憶手段58は、記憶手段78、80及び82を有する。補正手段60[1]〜60[4]は、インバータ84[1]〜84[4]、比較器86[1]〜86[4]、セレクター88[1]〜88[4]及びセレクター90[1]〜90[4]を有する。62[1]〜62[4]は、設定手段である。変化点記憶手段64は、フリップフロップ92〜96を有する。パターン長計測手段54は、ゼロクリアのために0を設定する設定手段66、入力値を1だけインクリメントして出力値とする組合わせ回路等のインクリメント手段68、セレクター70及び記憶手段72で構成され、変化点でゼロクリアされるカウンターとなっており、その出力はパターン長記憶手段58で記憶される。変化点検出手段56は、フリップフロップ74及び排他的論理和回路76で構成され、その出力は変化点記憶手段64で記憶される。1番目の補正手段EQ1(60[1])は、インバータ84[1]、比較器86[1]、セレクター88[1]及びセレクター90[1]で構成され、設定手段62[1]から設定値7を入力し、パターン長計測手段54の出力len(lenは、変化点でゼロクリアするため0から始まる数となり、パターン長−1となる。)が7より小さい時に変化点時刻の入力データを反転させる。2番目の補正手段EQ2(60[2])は、記憶手段78の出力信号q1lenが6より小さい時に変化点時刻の1クロック過去のEQ1出力データを反転させる。以下同様に、補正手段EQ1に補正手段EQ2〜EQ4を縦続接続し、比較の基準となる設定値を1ずつ減じ、パターン長に応じて補正を行う。
【0025】
図7は、デジタル処理手段8におけるパターン長と補正量の例を示す図であり、横軸がパターン長、縦軸が補正量である。周期がパターン長で16の信号の2値化デューティは、図7に示したように、パターン長が7の場合は+1、パターン長が9の場合は−1というように、補正(イコライズ)される。
【0026】
図8は、図6の回路の動作波形の一例を示す図である。図8(1)は、入力波形(2値化前の正弦波形)とスレッシュホールドレベル0.5で入力波形を2値化した波形を示している。スレッシュホールドレベルが変動するとデューティずれが発生する。またスレッシュホールドレベル付近に微小なノイズがあると2値化時にはノイズパルスとなる。図8(2)は、補正処理後の波形を示しており、ノイズによるパルスや2値化時のデューティずれが補正されている。なお、図8では入力波形とこれをデジタル演算処理した波形を示しているため、入力波形と演算処理後の波形とはデジタル演算処理の分だけ位相がずれている。
【0027】
図9は、デジタル処理手段8におけるパターン長と補正量の他の例を示す図であり、図7と同様に、横軸がパターン長、縦軸が補正量である。図6のデューティずれ補正処理では、最小反転周期T(T=8)の波形を補正するために、EQ1においてパターン長7以下、EQ2においてパターン長6以下、EQ3においてパターン長5以下、EQ2においてパターン長4以下という比較器を用いた。ここで、EQ1においてパターン長7以下、12〜15又は20〜23、EQ2においてパターン長6以下、12〜14又は20〜22、EQ3においてパターン長5以下、12若しくは13又は20若しくは21、EQ4においてパターン長4以下、12又は20というような比較器に置き換えれば、図9に示すような、2T(2T=16)、3T(3T=24)の波形も補正する補正器(イコライザ)とすることが可能である。
【0028】
ただし、図6は、概念図であり、多相クロックでサンプリングし、Nビットパラレルデータで2値化波形を仮想的に表現するシステム(図1に示すクロック・データ・リカバリ回路)にはそのまま適用できない。
【0029】
図10から図12までは、図6の実施形態を図1に示した8ビットパラレルデータを用いるクロック・データ・リカバリ回路に適用するようにした回路例を示す図である。
【0030】
図10は、変化点検出手段56及び変化点記憶手段64を示すブロック図である。変化点検出手段56は、記憶手段100、記憶手段102及び排他的論理和回路110〜117を有し、変化点記憶手段64は、記憶手段120を有する。8ビットパラレルデータで表した2値化データの連続するビット間の排他的論理和回路110〜117で変化点を検出し、記憶手段120により8ビットパラレルデータで変化点を記憶する。
【0031】
図11は、パターン長計測手段54及びパターン長記憶手段58を示すブロック図である。パターン長計測手段54は、設定手段130〜137、入力値を1だけインクリメントして出力値とする組合わせ回路等のインクリメント手段140〜147及びセレクター150〜157を有し、パターン長記憶手段58は、記憶手段160〜167を有する。8ビットパラレルデータparaedge[0]〜paraedge[7]で表した変化点と一つ前の変化点間のパターン長(ビット数)を、8ビットパラレルデータで表した変化点単位でカウントしてパターン長を計測し、これを記憶手段160〜167で順次記憶する。
【0032】
図12は、複数の補正手段EQ1〜EQm及び設定手段62[1]〜62[m]を示すブロック図である。補正手段EQ1は、インバータ170[0]〜177[1]、比較器180[1]〜187[1]、セレクター190[1]〜197[1]及びセレクター200[1]〜207[1]を有し、補正手段EQ2〜EQmも補正手段EQ1と同様の構成を有する。最初の補正手段EQ1(60[1])は、8ビットパラレルデータで表した変化点情報paraedge[0]〜paraedge[7]と対応するlen1〜len8(各々、パターン長−1)を8ビットパラレルデータで表した変化点情報単位で比較器180[1]〜187[1]で所定の定数(N−1)と比較し、比較結果に応じて、インバータ170[1]〜177[1]、セレクター190[1]〜197[1]及びセレクター200[1]〜207[1]により、対応する8ビットパラレルデータで表した2値化データの反転或いは非反転を行う。2番目の補正手段EQ2(60[2])は、8ビットパラレルデータで表した変化点情報と対応するパターン長を、EQ1で用いたものから1ビット分過去のデータを用い、所定の定数(N−2)と比較し、対応する8ビットパラレルデータで表したEQ1出力の反転或いは非反転を行う。以下、同様に8ビットパラレルデータ単位で補正手段を縦続接続する。補正手段EQmの出力EQm[0]〜EQm[7]が図1のhparadat信号となる。また、このhparadat信号の変化点を検出した信号が、図1のhparaedge信号となる。なお、本実施形態ではデータ周期が正しく、デューティのみ崩れる場合の補正を行っている。パターン長がNより大きい場合には、次のパターン長が小さくなり、次のパターンの補正が行われる。また、パターン長の短い孤立パルスは、移動平均処理で予め除去されている。
【0033】
図13は、図1のデジタルPLL10の動作を示す図である。一例として、デジタル処理手段8から出力されるhparaedge信号を入力し、そのエッジ位置を位相情報として動作するデジタルPLLによりhparaedge信号が示すエッジ位置の略中間位置を示すout_parack信号を生成する様子を示したものである。このデジタルPLLを用いず、hparaedge信号が示すエッジ位置を入力パターンとして、所定位相遅れたエッジパターンを選択して出力する簡易的なものを用いるようにしても良い。
【0034】
図14は、図1のデータ打ち抜き手段12の一例を示すブロック図である。データ打ち抜き手段12は、セレクター210(SDOSEL回路)、ライトカウンター212、バッファー(ELCBUF)214[0]〜214[k]、セレクター218及びリードカウンター216を有する。これらの詳細については、後述する。WCSTART信号は、転送データが始まった時アクティブになるような信号である。RCSTART信号は、WCSTART信号でライトカウンター212がカウント開始し、その所定の時間後にアクティブに変化する信号である。データ打ち抜き手段12により復元信号であるELCDO信号が出力される。
【0035】
図15は、図14のセレクター(SDOSEL回路)210の真理値表を示す図である。セレクター210は、hparadat信号とout_parack信号を入力し、sdo1信号とsdo2信号及びen1信号とen2信号を出力する回路であり、図15の真理値表に従って組合わせ回路で実現できる。
【0036】
図16は、図14中のバッファー(ELCBUF)214[0]〜214[k]の詳細を示す図である。バッファー214は、前記sdo1信号とフリップフロップ224からのelcbuf信号を入力しwc1en信号により選択するセレクター220、このセレクター220の出力信号と前記sdo2信号を入力しwc2en信号により選択するセレクター222、このセレクター222の出力を入力し保持するD型フリップフロップ224を有する。このバッファー214は、wc1en=0かつwc2en=0のとき前値を保持、wc1en=1かつwc2en=0のときsdo1を保持、wc2en=1のときsdo2を保持する回路である。
【0037】
図17は、図14のライトカウンター212の詳細を示す図である。ライトカウンター212は、en1信号とen2信号を入力するWC1カウンター226並びにこのWC1カウンター226の計数値を入力し、これを+1する組合わせ回路等のインクリメント手段228、このインクリメント手段の出力を「1」側入力端子に入力し、設定値0を「0」側入力端子に入力し、en2信号で選択するセレクター229及びこのセレクター229の出力を保持する記憶手段230から成るWC2カウンターを有する。WC1カウンター226は、図17に示すように、en2=1のとき+2、en2=0、en1=1のとき+1するカウンターであり、WC2カウンター(228〜230)は、en2=1のときWC1カウンターの計数値を+1して保持するカウンターである。ライトカウンター212の出力であるwc1en[k:0]、wc2en[k:0]は、それぞれWC1、WC2の値に対応するビットが1となる信号である。
【0038】
なお、図14中のリードカウンター216は、詳細を図示していないが、RCSTART信号をイネーブル信号として、受信装置側基準クロック毎にインクリメントする単純なカウンターでよい。
【0039】
図18は、図14のセレクター218を示す図である。セレクター218は、バッファ214からのelcbuf信号とリードカウンター216からの信号rcen信号とを入力するAND回路232[0]〜232[k]及びこのAND回路の出力を入力とするOR回路234を有する。セレクター218は、リードカウンター216の出力信号rcen[0]〜rcen[k]によって、バッファ214からの信号elcbuf[0]〜elcbuf[k]を順次選択する。
【0040】
ここで、バッファ214(ELCBUF)のバッファーの深さ(個数k)は、シリアルインターフェース規格で定められている一度の転送で転送する最大データ数(USBの場合はパケット長という。)を送る時間で、送信側基準周波数と受信側基準周波数の周波数偏差が規格上許される最大(USB2.0の場合は±500ppm)であっても、バッファーがフル又はエンプティにならないだけの深さにする。すなわち、送信側基準周波数>受信側基準周波数であっても、送信側基準周波数<受信側基準周波数であってもバッファーがフル又はエンプティにならないように決定する。
【0041】
図19は、図14のデータ打ち抜き手段の動作を示す図である。8ビットパラレルデータで表現したデジタル処理後の2値化データ(hparadat)と、8ビットパラレルデータで表現した変化点情報を位相入力として、略中間位置を8ビットパラレルデータで表現して生成するデジタルPLL出力(out_parack)を入力として、図15の真理値表のとおり、sdo1、sdo2、en1、en2を発生する。sdo1、sdo2で発生しているD0、D1、・・・は、再生データの順番を表したものである。
【0042】
一方、リードカウンター216出力のrcen[k:0]は1になるビットが順次シフトしていく。その結果、図18に示したように、バッファー(ELCBUF)214に保持された再生データが順次セレクトされる。
【0043】
このように、送信側基準周波数と受信側基準周波数に周波数差があっても、受信側基準周波数のクロックだけで動作する回路で周波数差を吸収できる。
【図面の簡単な説明】
【0044】
【図1】本発明のクロック・データ・リカバリ回路の実施形態を示す。
【図2】8相クロックを用いた高速サンプル手段の例を示す。
【図3】図2の高速サンプル手段のタイミングチャートを示す。
【図4】デジタル処理手段の移動平均処理を示す。
【図5】デジタル処理手段のデューティずれ補正処理のブロック図を示す。
【図6】デジタル処理手段のデューティずれ補正処理の概念図を示す。
【図7】デジタル処理手段におけるパターン長と補正量の例を示す。
【図8】デジタル処理手段の動作波形の例を示す。
【図9】デジタル処理手段におけるパターン長と補正量の他の例を示す。
【図10】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合の変化点検出手段及び変化点記憶手段を示す。
【図11】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合のパターン長計測手段及びパターン長記憶手段を示す。
【図12】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合の複数の補正手段及び設定手段を示す。
【図13】デジタルPLLの動作を示す。
【図14】データ打ち抜き手段の例を示す。
【図15】データ打ち抜き手段のセレクター(SDOSEL回路)の真理値表を示す。
【図16】データ打ち抜き手段のバッファー(ELCBUF)を示す。
【図17】データ打ち抜き手段のライトカウンターの例を示す。
【図18】データ打ち抜き手段のセレクターの例を示す。
【図19】データ打ち抜き手段のタイミングチャートを示す。
【図20】従来の多相クロックを用いる場合のタイミングチャートを示す。
【図21】従来の受信信号のデューティが崩れた場合のタイミングチャートを示す。
【符号の説明】
【0045】
2 差動レシーバ
4 高速サンプル手段
6 N相アナログPLL
8 デジタル処理手段
10 デジタルPLL
12 データ打ち抜き手段
20〜47 フリップフロップ
50 入力データ
52 出力データ
54 パターン長計測手段
56 変化点検出手段
58 パターン長記憶手段
60[1]〜60[m] 補正手段
62[1]〜62[m] 設定手段
64 変化点記憶手段
66 設定手段
68 インクリメント手段
70 セレクター
72 記憶手段
74 フリップフロップ
76 排他的論理和回路
78〜82 記憶手段
84[1]〜84[4] インバータ
86[1]〜86[4] 比較器
88[1]〜88[4] セレクター
90[1]〜90[4] セレクター
92〜96 フリップフロップ
100 記憶手段
102 フリップフロップ
110〜117 排他的論理和回路
120 記憶手段
130〜137 設定手段
140〜147 インクリメント手段
150〜157 セレクター
160〜167 記憶手段
170[1]〜177[m] インバータ
180[1]〜187[m] 比較器
190[1]〜197[m] セレクター
200[1]〜207[m] セレクター
210 選択回路
212 ライトカウンター
214[0]〜214[k] バッファー
216 リードカウンター
218 セレクター
220、222 セレクター
224 フリップフロップ
226 カウンター
228 インクリメント手段
229 セレクター
230 記憶手段
232[0]〜232[k] AND回路
234 OR回路
【技術分野】
【0001】
本発明は、シリアル通信全般のクロック・データ・リカバリ回路に関し、特に、USB(Universal Serial Bus)2.0、IEEE(米国電気電子学会)1394、シリアルATA(AT Attachment)などの高速シリアル転送、PCI(Peripheral Components Interconnect)Expressなどの装置内の基板を接続する高速シリアル通信のクロック・データ・リカバリ回路に関する。
【背景技術】
【0002】
シリアル通信規格には、例えばUSBの高速転送規格であるUSB2.0があり、最大転送速度は480Mbpsである。通信は1対のデータ線(DP及びDM)の送受信を小振幅差動信号により行い、クロックは供給されない。したがって、受信側では、受信データからクロックを抽出し、抽出したクロックにより受信したデータをサンプリングするなどしてデータを得ている。このように、受信データからクロックとデータを抽出する回路をクロック・データ・リカバリ回路(CDR回路)と称する。シリアルデータインターフェースで用いるクロック・データ・リカバリ回路は、受信したデータの変化を見てクロック信号を再生する技術である。クロック・データ・リカバリ回路では、アナログ方式のPLL(Phase Locked Loop)を用いて、受信データのエッジに同期したクロックを抽出し、このクロックで受信データをサンプリングするのが一般的であった。
【0003】
近年、USB2.0をはじめ、シリアル転送速度が飛躍的に高速化し、デジタル回路ブロックも高速での動作が必要になったため、これらの回路も微細プロセスでLSI化されるようになった。同一LSI内に、従来のアナログ方式のPLLを搭載する場合、アナログ回路部分は微細プロセスを用いてもデジタル回路部と同様の割合で微細化することが容易ではない。そのため、相対的にコストアップになるという問題がある。また、近年、装置内の基板あるいはLSI間を接続する場合においても、PCI Expressなどの高速シリアルデータインターフェースを用いるようになってきたが、多チャンネル化した場合に、各チャンネル毎にアナログPLLを搭載するのでは、コストアップだけでなくノイズ干渉の問題も発生するようになった。
【0004】
また、多相クロックを用いてクロックとデータを再生するクロック・データ・リカバリ回路が多数提案されている。抽出するクロックよりも高い周波数(多相クロックを用いて等価的に高い周波数とする)のクロックでオーバーサンプリングするものとしては、「クロックアンドデータリカバリ回路とそのクロック制御方法」に関する以下の特許文献1、「データ・クロック・リカバリ回路」に関する以下の特許文献2、「データリカバリ回路とデータリカバリ方法」に関する以下の特許文献3等がある。
【特許文献1】特開2003−333021号公報
【特許文献2】特開2003−224551号公報
【特許文献3】特開2004−128980号公報
【0005】
図20は、このように入力信号を多相クロックにより2値化する従来の技術を示すタイミングチャートである。これは、入力データを多相クロックPH1ないしPH8により2値化するものであり、入力データの変化が検出された場合には、検出したフェーズから所定のフェーズ(図20の例では3フェーズ)だけ遅れたフェーズが選択され、入力信号の変化が検出されなかった場合には、前回選択したフェーズを保持するというようなロジック回路により実現され得る。
【0006】
図21は、このような従来の技術において、受信信号のデューティが崩れた場合の問題を示す図である。受信信号の劣化、多相クロックのジッタ等により受信信号のデューティが崩れると、再生クロックによるデータ取り込みのタイミングと受信信号の変化タイミングにずれが生じ、その結果、受信データの取込エラーが増大するという問題がある。
【0007】
従来のアナログ回路を用いたクロック・データ・リカバリ回路においても同様の問題があり、イコライザと呼ばれるようなフィルタを用いて、あるいは直接的に2値化出力のデューティを制御して解決しようとするものもある。
【0008】
サンプリングにより生成される2値化信号のデューティずれなどを補正する公知技術としては、「アナログイコライザ」に関する以下の特許文献4、「データ処理装置」に関する以下の特許文献5等がある。
【特許文献4】特開2005−102015号公報
【特許文献5】特開2008−5143号公報
【0009】
これらと同様の機能を、デジタルフィルタにより実現しようとした場合、再生するクロックの最低でも数倍以上の動作周波数で演算する必要であることから、近年の高速シリアル通信に適用するには、回路規模の増大によるコストアップ、消費電力の増大といった観点から実用化が困難であった。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、回路規模の増大や消費電力の増大を招くことなく、LSI化に適し、かつ、受信信号のデューティが崩れた場合にも受信データの取込エラーが増大することのないクロック・データ・リカバリ回路を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、シリアル通信により受信した信号をオーバーサンプリングにより2値化し、クロック・データを復元するクロック・データ・リカバリ回路であって、受信側基準周波数から生成される周期T1のクロックについてその周期T1をN(2以上の自然数)分割したT2時間単位でずらしたN相のクロックを出力する手段と、シリアル転送された信号を、前記T2時間毎にサンプリングする手段と、前記サンプリングしたデータを、周期T1毎に、第1のNビットパラレルデータに変換する手段と、第1のNビットパラレルデータをデジタル処理し、第2のNビットパラレルデータに変換する手段と、第2のNビットパラレルデータを、データ変化点を示す第3のNビットパラレルデータに変換する手段と、第3のNビットパラレルデータを位相情報入力として、第2のNビットパラレルデータのデータ変化点の中間に対応する位置を示す第4のNビットパラレルデータを出力する手段と、第4のNビットパラレルデータが示したビット位置に対応する第2のNビットパラレルデータのビット位置データを復元データとする手段と、を備えることにより上記課題を解決する。
【0012】
また、本発明では、前記第1のNビットパラレルデータを第2のNビットパラレルデータに変換する手段は、前記第1のNビットパラレルデータを周期T1毎に移動平均し、移動平均後のNビットパラレルデータに変換する手段と、移動平均後のNビットパラレルデータのデータ変化点を検出し、変化点を示すNビットパラレルデータに変換し、順次記憶する手段と、変化点と1つ前の変化点間を前記T2周期単位で計測してパターン長を検出し、変化点記憶と対応して順次記憶する手段と、パターン長と設定値を比較し、比較結果によって、変化点時刻の2値信号に対応するNビットパラレルデータのビットデータを反転する複数個の補正手段と、からなり、前記複数個の補正手段は縦続接続され、各々の前記設定値を前に接続されたものより1ずつ減じるように配置して2値化時のデューティずれを補正するようにしてもよい。
【0013】
また、本発明は、前記T1周期を前記受信側基準周波数の周期に等しくしてもよい。
【0014】
また、本発明は、シリアルデータインターフェースのUSB2.0規格に準拠してもよい。
【発明の効果】
【0015】
本発明によれば、多相クロックでデータをサンプリングする手段が各相のクロックでサンプリングし、所定周期毎のパラレルデータに変換するだけであるので、多相クロック間の遅延量の合わせ込みが容易であり、また、受信データを再生するための動作クロックが単一のクロックのみであるので、大規模デジタルLSI設計で主流である同期設計手法を使用でき、設計検証が容易であって開発期間が短縮可能であり、LSI化が容易なクロック・データ・リカバリ回路を提供することができる。
【0016】
また、本発明によれば、2値化時のデューティずれを補正する変換手段は、変化点検出手段、パターン長計測手段、比較手段、記憶手段などの軽微なデジタル回路で実現でき、LSI化が容易なクロック・データ・リカバリ回路を提供することができる。
【0017】
また、本発明によれば、T1周期が比較的低い周波数の受信側基準周波数の周期であるが、受信波形を高い精度で再生することができ、LSI化が容易な、クロック・データ・リカバリ回路として最適な回路を提供することができる。
【0018】
また、本発明によれば、安価な機器で使用される代表的なシリアルデータインターフェース規格であるが、同期信号パターンの先頭付近が1、0の繰り返し15回という最小反転周期の連続パターンであるため2値化時のデューティずれが発生しやすいUSB2.0のクロック・データ・リカバリに最適な回路を提供することができる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照して、本発明の実施形態を説明する。
【0020】
図1は、本発明のクロック・データ・リカバリ回路の実施形態を示すブロック図である。クロック・データ・リカバリ回路は、差動レシーバ2、高速サンプル手段4、N相アナログPLL6、デジタル処理手段8、デジタルPLL10及びデータ打ち抜き手段12を有する。差動レシーバ2はDP、DMの電位差に応じて0又は1の信号Aを出力する。高速サンプル手段4は、シリアル通信により受信した信号をN相の多相クロックPH[N−1:0](PH[N−1]〜PH[0])でサンプリングし、第1のNビットパラレルデータpara[N−1:0](para[N−1]〜para[0])に変換するブロックであり、詳細は後述する。N相アナログPLL6は、受信側基準周波数のクロックCK480M(USB2.0の場合は480MHz)と、これをN分割した時間精度で夫々位相のずれたクロックPH[N−1:0]を発生する。デジタル処理手段8は、第1のNビットパラレルデータpara[N−1:0]を補正処理(イコライズ)した第2のNビットパラレルデータhparadat[N−1:0](hparadat[N−1]〜hparadat[0])を生成し、このhparadat[N−1:0]信号からそのエッジ位置を示す第3のNビットパラレルデータhparaedge[N−1:0](hparaedge[N−1]〜hparaedge[0])を生成するブロックであり、詳細は後述する。デジタルPLL10は、受信データの変化点すなわちhparaedge信号が示すエッジ位置の中間に対応する位置を示す第4のNビットパラレルデータout_parack[N−1:0](out_parack[N−1]〜out_parack[0])を生成するブロックであり、詳細は後述する。図1のデータ打ち抜き手段12は、hparadat信号とout_parack信号により、受信データを再生する手段である。データ打ち抜き手段12は、受信データから抽出したクロック(すなわち送信側基準周波数クロック)と受信側基準周波数クロックの周波数偏差を吸収するためのバッファーを含んでいてもよく、詳細は後述する。
【0021】
図2は、8相クロックを用いた場合の図1の高速サンプル手段4を示す図である。高速サンプル手段4は、フリップフロップ20〜27、34〜37及び40〜47を有する。高速サンプル手段4は、差動レシーバ2の出力信号Aを入力し、フリップフロップ20〜27、34〜37及び40〜47を用いて、N相アナログPLL6からのクロックPH0〜PH7により高速サンプルを行い、パラレルデータに変換する。図3は、その動作を示すタイミングチャートである。差動レシーバ2の出力信号Aは、8相の多相クロック(PH0〜PH7)でサンプリングされ、8相クロックの時間の並びに対応して8ビットのパラレルデータ(q0〜q7)に変換される。中間に配置したフリップフロップ34〜37は、次段のフリップフロップ40〜47のセットアップ時間を確保するためである。このように、多相クロックでサンプリングし、パラレルデータに変換することで、比較的低い周波数であっても、高い周波数でオーバーサンプリングするのと等価の時間分解能を表すことが可能である。
【0022】
図4は、図1のデジタル処理手段8での8ビットのパラレルデータの移動平均処理を示す図である。図4では7値の移動平均を示しており、高速サンプル手段4からの入力データ50の連続する7ビットを順次加算し、加算結果の最上位ビットを移動平均ビットとして8ビットパラレル出力データ52とする。移動平均処理は、LPF(ローパスフィルター)特性を有しており、パターン長の短い孤立パルスのようなノイズパルス等を除去する機能がある。ただし、移動平均処理では、2値化時のデューティずれを補正することはできない。
【0023】
図5は、図1のデジタル処理手段8における2値化時のデューティずれ補正処理を示すブロック図である。このデューティずれ補正処理は、パターン長計測手段54、変化点検出手段56、パターン長記憶手段58、補正手段60[1]〜60[m]、設定手段62[1]〜62[m]及び変化点記憶手段64を有する。図4に示された移動平均処理後のデータは、変化点検出手段56に入力され、その出力が変化点記憶手段64によって記憶される。また、変化点検出手段の出力がパターン長計測手段54に与えられ、その出力がパターン長記憶手段58により記憶される。移動平均処理後のデータは、補正手段60[1]にも与えられる。補正手段60[1]〜60[m]は、縦続接続されており、それぞれ設定手段62[1]〜62[m]の設定値N−1、〜、N−mを用いて補正を行う。
【0024】
図6は、図5のデューティずれ補正処理の動作をより詳細に説明するための概念図である。パターン長計測手段54は、設定手段66、インクリメント手段68、セレクター70及び記憶手段72を有する。変化点検出手段56は、フリップフロップ76及び排他的論理和回路76を有する。パターン長記憶手段58は、記憶手段78、80及び82を有する。補正手段60[1]〜60[4]は、インバータ84[1]〜84[4]、比較器86[1]〜86[4]、セレクター88[1]〜88[4]及びセレクター90[1]〜90[4]を有する。62[1]〜62[4]は、設定手段である。変化点記憶手段64は、フリップフロップ92〜96を有する。パターン長計測手段54は、ゼロクリアのために0を設定する設定手段66、入力値を1だけインクリメントして出力値とする組合わせ回路等のインクリメント手段68、セレクター70及び記憶手段72で構成され、変化点でゼロクリアされるカウンターとなっており、その出力はパターン長記憶手段58で記憶される。変化点検出手段56は、フリップフロップ74及び排他的論理和回路76で構成され、その出力は変化点記憶手段64で記憶される。1番目の補正手段EQ1(60[1])は、インバータ84[1]、比較器86[1]、セレクター88[1]及びセレクター90[1]で構成され、設定手段62[1]から設定値7を入力し、パターン長計測手段54の出力len(lenは、変化点でゼロクリアするため0から始まる数となり、パターン長−1となる。)が7より小さい時に変化点時刻の入力データを反転させる。2番目の補正手段EQ2(60[2])は、記憶手段78の出力信号q1lenが6より小さい時に変化点時刻の1クロック過去のEQ1出力データを反転させる。以下同様に、補正手段EQ1に補正手段EQ2〜EQ4を縦続接続し、比較の基準となる設定値を1ずつ減じ、パターン長に応じて補正を行う。
【0025】
図7は、デジタル処理手段8におけるパターン長と補正量の例を示す図であり、横軸がパターン長、縦軸が補正量である。周期がパターン長で16の信号の2値化デューティは、図7に示したように、パターン長が7の場合は+1、パターン長が9の場合は−1というように、補正(イコライズ)される。
【0026】
図8は、図6の回路の動作波形の一例を示す図である。図8(1)は、入力波形(2値化前の正弦波形)とスレッシュホールドレベル0.5で入力波形を2値化した波形を示している。スレッシュホールドレベルが変動するとデューティずれが発生する。またスレッシュホールドレベル付近に微小なノイズがあると2値化時にはノイズパルスとなる。図8(2)は、補正処理後の波形を示しており、ノイズによるパルスや2値化時のデューティずれが補正されている。なお、図8では入力波形とこれをデジタル演算処理した波形を示しているため、入力波形と演算処理後の波形とはデジタル演算処理の分だけ位相がずれている。
【0027】
図9は、デジタル処理手段8におけるパターン長と補正量の他の例を示す図であり、図7と同様に、横軸がパターン長、縦軸が補正量である。図6のデューティずれ補正処理では、最小反転周期T(T=8)の波形を補正するために、EQ1においてパターン長7以下、EQ2においてパターン長6以下、EQ3においてパターン長5以下、EQ2においてパターン長4以下という比較器を用いた。ここで、EQ1においてパターン長7以下、12〜15又は20〜23、EQ2においてパターン長6以下、12〜14又は20〜22、EQ3においてパターン長5以下、12若しくは13又は20若しくは21、EQ4においてパターン長4以下、12又は20というような比較器に置き換えれば、図9に示すような、2T(2T=16)、3T(3T=24)の波形も補正する補正器(イコライザ)とすることが可能である。
【0028】
ただし、図6は、概念図であり、多相クロックでサンプリングし、Nビットパラレルデータで2値化波形を仮想的に表現するシステム(図1に示すクロック・データ・リカバリ回路)にはそのまま適用できない。
【0029】
図10から図12までは、図6の実施形態を図1に示した8ビットパラレルデータを用いるクロック・データ・リカバリ回路に適用するようにした回路例を示す図である。
【0030】
図10は、変化点検出手段56及び変化点記憶手段64を示すブロック図である。変化点検出手段56は、記憶手段100、記憶手段102及び排他的論理和回路110〜117を有し、変化点記憶手段64は、記憶手段120を有する。8ビットパラレルデータで表した2値化データの連続するビット間の排他的論理和回路110〜117で変化点を検出し、記憶手段120により8ビットパラレルデータで変化点を記憶する。
【0031】
図11は、パターン長計測手段54及びパターン長記憶手段58を示すブロック図である。パターン長計測手段54は、設定手段130〜137、入力値を1だけインクリメントして出力値とする組合わせ回路等のインクリメント手段140〜147及びセレクター150〜157を有し、パターン長記憶手段58は、記憶手段160〜167を有する。8ビットパラレルデータparaedge[0]〜paraedge[7]で表した変化点と一つ前の変化点間のパターン長(ビット数)を、8ビットパラレルデータで表した変化点単位でカウントしてパターン長を計測し、これを記憶手段160〜167で順次記憶する。
【0032】
図12は、複数の補正手段EQ1〜EQm及び設定手段62[1]〜62[m]を示すブロック図である。補正手段EQ1は、インバータ170[0]〜177[1]、比較器180[1]〜187[1]、セレクター190[1]〜197[1]及びセレクター200[1]〜207[1]を有し、補正手段EQ2〜EQmも補正手段EQ1と同様の構成を有する。最初の補正手段EQ1(60[1])は、8ビットパラレルデータで表した変化点情報paraedge[0]〜paraedge[7]と対応するlen1〜len8(各々、パターン長−1)を8ビットパラレルデータで表した変化点情報単位で比較器180[1]〜187[1]で所定の定数(N−1)と比較し、比較結果に応じて、インバータ170[1]〜177[1]、セレクター190[1]〜197[1]及びセレクター200[1]〜207[1]により、対応する8ビットパラレルデータで表した2値化データの反転或いは非反転を行う。2番目の補正手段EQ2(60[2])は、8ビットパラレルデータで表した変化点情報と対応するパターン長を、EQ1で用いたものから1ビット分過去のデータを用い、所定の定数(N−2)と比較し、対応する8ビットパラレルデータで表したEQ1出力の反転或いは非反転を行う。以下、同様に8ビットパラレルデータ単位で補正手段を縦続接続する。補正手段EQmの出力EQm[0]〜EQm[7]が図1のhparadat信号となる。また、このhparadat信号の変化点を検出した信号が、図1のhparaedge信号となる。なお、本実施形態ではデータ周期が正しく、デューティのみ崩れる場合の補正を行っている。パターン長がNより大きい場合には、次のパターン長が小さくなり、次のパターンの補正が行われる。また、パターン長の短い孤立パルスは、移動平均処理で予め除去されている。
【0033】
図13は、図1のデジタルPLL10の動作を示す図である。一例として、デジタル処理手段8から出力されるhparaedge信号を入力し、そのエッジ位置を位相情報として動作するデジタルPLLによりhparaedge信号が示すエッジ位置の略中間位置を示すout_parack信号を生成する様子を示したものである。このデジタルPLLを用いず、hparaedge信号が示すエッジ位置を入力パターンとして、所定位相遅れたエッジパターンを選択して出力する簡易的なものを用いるようにしても良い。
【0034】
図14は、図1のデータ打ち抜き手段12の一例を示すブロック図である。データ打ち抜き手段12は、セレクター210(SDOSEL回路)、ライトカウンター212、バッファー(ELCBUF)214[0]〜214[k]、セレクター218及びリードカウンター216を有する。これらの詳細については、後述する。WCSTART信号は、転送データが始まった時アクティブになるような信号である。RCSTART信号は、WCSTART信号でライトカウンター212がカウント開始し、その所定の時間後にアクティブに変化する信号である。データ打ち抜き手段12により復元信号であるELCDO信号が出力される。
【0035】
図15は、図14のセレクター(SDOSEL回路)210の真理値表を示す図である。セレクター210は、hparadat信号とout_parack信号を入力し、sdo1信号とsdo2信号及びen1信号とen2信号を出力する回路であり、図15の真理値表に従って組合わせ回路で実現できる。
【0036】
図16は、図14中のバッファー(ELCBUF)214[0]〜214[k]の詳細を示す図である。バッファー214は、前記sdo1信号とフリップフロップ224からのelcbuf信号を入力しwc1en信号により選択するセレクター220、このセレクター220の出力信号と前記sdo2信号を入力しwc2en信号により選択するセレクター222、このセレクター222の出力を入力し保持するD型フリップフロップ224を有する。このバッファー214は、wc1en=0かつwc2en=0のとき前値を保持、wc1en=1かつwc2en=0のときsdo1を保持、wc2en=1のときsdo2を保持する回路である。
【0037】
図17は、図14のライトカウンター212の詳細を示す図である。ライトカウンター212は、en1信号とen2信号を入力するWC1カウンター226並びにこのWC1カウンター226の計数値を入力し、これを+1する組合わせ回路等のインクリメント手段228、このインクリメント手段の出力を「1」側入力端子に入力し、設定値0を「0」側入力端子に入力し、en2信号で選択するセレクター229及びこのセレクター229の出力を保持する記憶手段230から成るWC2カウンターを有する。WC1カウンター226は、図17に示すように、en2=1のとき+2、en2=0、en1=1のとき+1するカウンターであり、WC2カウンター(228〜230)は、en2=1のときWC1カウンターの計数値を+1して保持するカウンターである。ライトカウンター212の出力であるwc1en[k:0]、wc2en[k:0]は、それぞれWC1、WC2の値に対応するビットが1となる信号である。
【0038】
なお、図14中のリードカウンター216は、詳細を図示していないが、RCSTART信号をイネーブル信号として、受信装置側基準クロック毎にインクリメントする単純なカウンターでよい。
【0039】
図18は、図14のセレクター218を示す図である。セレクター218は、バッファ214からのelcbuf信号とリードカウンター216からの信号rcen信号とを入力するAND回路232[0]〜232[k]及びこのAND回路の出力を入力とするOR回路234を有する。セレクター218は、リードカウンター216の出力信号rcen[0]〜rcen[k]によって、バッファ214からの信号elcbuf[0]〜elcbuf[k]を順次選択する。
【0040】
ここで、バッファ214(ELCBUF)のバッファーの深さ(個数k)は、シリアルインターフェース規格で定められている一度の転送で転送する最大データ数(USBの場合はパケット長という。)を送る時間で、送信側基準周波数と受信側基準周波数の周波数偏差が規格上許される最大(USB2.0の場合は±500ppm)であっても、バッファーがフル又はエンプティにならないだけの深さにする。すなわち、送信側基準周波数>受信側基準周波数であっても、送信側基準周波数<受信側基準周波数であってもバッファーがフル又はエンプティにならないように決定する。
【0041】
図19は、図14のデータ打ち抜き手段の動作を示す図である。8ビットパラレルデータで表現したデジタル処理後の2値化データ(hparadat)と、8ビットパラレルデータで表現した変化点情報を位相入力として、略中間位置を8ビットパラレルデータで表現して生成するデジタルPLL出力(out_parack)を入力として、図15の真理値表のとおり、sdo1、sdo2、en1、en2を発生する。sdo1、sdo2で発生しているD0、D1、・・・は、再生データの順番を表したものである。
【0042】
一方、リードカウンター216出力のrcen[k:0]は1になるビットが順次シフトしていく。その結果、図18に示したように、バッファー(ELCBUF)214に保持された再生データが順次セレクトされる。
【0043】
このように、送信側基準周波数と受信側基準周波数に周波数差があっても、受信側基準周波数のクロックだけで動作する回路で周波数差を吸収できる。
【図面の簡単な説明】
【0044】
【図1】本発明のクロック・データ・リカバリ回路の実施形態を示す。
【図2】8相クロックを用いた高速サンプル手段の例を示す。
【図3】図2の高速サンプル手段のタイミングチャートを示す。
【図4】デジタル処理手段の移動平均処理を示す。
【図5】デジタル処理手段のデューティずれ補正処理のブロック図を示す。
【図6】デジタル処理手段のデューティずれ補正処理の概念図を示す。
【図7】デジタル処理手段におけるパターン長と補正量の例を示す。
【図8】デジタル処理手段の動作波形の例を示す。
【図9】デジタル処理手段におけるパターン長と補正量の他の例を示す。
【図10】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合の変化点検出手段及び変化点記憶手段を示す。
【図11】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合のパターン長計測手段及びパターン長記憶手段を示す。
【図12】デジタル処理手段のデューティずれ補正処理をパラレルデータに対して行う場合の複数の補正手段及び設定手段を示す。
【図13】デジタルPLLの動作を示す。
【図14】データ打ち抜き手段の例を示す。
【図15】データ打ち抜き手段のセレクター(SDOSEL回路)の真理値表を示す。
【図16】データ打ち抜き手段のバッファー(ELCBUF)を示す。
【図17】データ打ち抜き手段のライトカウンターの例を示す。
【図18】データ打ち抜き手段のセレクターの例を示す。
【図19】データ打ち抜き手段のタイミングチャートを示す。
【図20】従来の多相クロックを用いる場合のタイミングチャートを示す。
【図21】従来の受信信号のデューティが崩れた場合のタイミングチャートを示す。
【符号の説明】
【0045】
2 差動レシーバ
4 高速サンプル手段
6 N相アナログPLL
8 デジタル処理手段
10 デジタルPLL
12 データ打ち抜き手段
20〜47 フリップフロップ
50 入力データ
52 出力データ
54 パターン長計測手段
56 変化点検出手段
58 パターン長記憶手段
60[1]〜60[m] 補正手段
62[1]〜62[m] 設定手段
64 変化点記憶手段
66 設定手段
68 インクリメント手段
70 セレクター
72 記憶手段
74 フリップフロップ
76 排他的論理和回路
78〜82 記憶手段
84[1]〜84[4] インバータ
86[1]〜86[4] 比較器
88[1]〜88[4] セレクター
90[1]〜90[4] セレクター
92〜96 フリップフロップ
100 記憶手段
102 フリップフロップ
110〜117 排他的論理和回路
120 記憶手段
130〜137 設定手段
140〜147 インクリメント手段
150〜157 セレクター
160〜167 記憶手段
170[1]〜177[m] インバータ
180[1]〜187[m] 比較器
190[1]〜197[m] セレクター
200[1]〜207[m] セレクター
210 選択回路
212 ライトカウンター
214[0]〜214[k] バッファー
216 リードカウンター
218 セレクター
220、222 セレクター
224 フリップフロップ
226 カウンター
228 インクリメント手段
229 セレクター
230 記憶手段
232[0]〜232[k] AND回路
234 OR回路
【特許請求の範囲】
【請求項1】
シリアル通信により受信した信号をオーバーサンプリングにより2値化し、クロック・データを復元するクロック・データ・リカバリ回路であって、
受信側基準周波数から生成される周期T1のクロックについてその周期T1をN(2以上の自然数)分割したT2時間単位でずらしたN相のクロックを出力する手段と、
シリアル転送された信号を、前記T2時間毎にサンプリングする手段と、
前記サンプリングしたデータを、周期T1毎に、第1のNビットパラレルデータに変換する手段と、
第1のNビットパラレルデータをデジタル処理し、第2のNビットパラレルデータに変換する手段と、
第2のNビットパラレルデータを、データ変化点を示す第3のNビットパラレルデータに変換する手段と、
第3のNビットパラレルデータを位相情報入力として、第2のNビットパラレルデータのデータ変化点の中間に対応する位置を示す第4のNビットパラレルデータを出力する手段と、
第4のNビットパラレルデータが示したビット位置に対応する第2のNビットパラレルデータのビット位置データを復元データとする手段と、
を備える、クロック・データ・リカバリ回路。
【請求項2】
前記第1のNビットパラレルデータを第2のNビットパラレルデータに変換する手段は、
前記第1のNビットパラレルデータを周期T1毎に移動平均し、移動平均後のNビットパラレルデータに変換する手段と、
移動平均後のNビットパラレルデータのデータ変化点を検出し、変化点を示すNビットパラレルデータに変換し、順次記憶する手段と、
変化点と1つ前の変化点間を前記T2周期単位で計測してパターン長を検出し、変化点記憶と対応して順次記憶する手段と、
パターン長と設定値を比較し、比較結果によって、変化点時刻の2値信号に対応するNビットパラレルデータのビットデータを反転する複数個の補正手段と、
からなり、
前記複数個の補正手段は縦続接続され、各々の前記設定値を前に接続されたものより1ずつ減じるように配置して2値化時のデューティずれを補正する、
請求項1記載のクロック・データ・リカバリ回路。
【請求項3】
前記T1周期が前記受信側基準周波数の周期に等しい、請求項1又は2記載のクロック・データ・リカバリ回路。
【請求項4】
シリアルデータインターフェースのUSB2.0規格に準拠する、請求項1、2又は3記載のクロック・データ・リカバリ回路。
【請求項1】
シリアル通信により受信した信号をオーバーサンプリングにより2値化し、クロック・データを復元するクロック・データ・リカバリ回路であって、
受信側基準周波数から生成される周期T1のクロックについてその周期T1をN(2以上の自然数)分割したT2時間単位でずらしたN相のクロックを出力する手段と、
シリアル転送された信号を、前記T2時間毎にサンプリングする手段と、
前記サンプリングしたデータを、周期T1毎に、第1のNビットパラレルデータに変換する手段と、
第1のNビットパラレルデータをデジタル処理し、第2のNビットパラレルデータに変換する手段と、
第2のNビットパラレルデータを、データ変化点を示す第3のNビットパラレルデータに変換する手段と、
第3のNビットパラレルデータを位相情報入力として、第2のNビットパラレルデータのデータ変化点の中間に対応する位置を示す第4のNビットパラレルデータを出力する手段と、
第4のNビットパラレルデータが示したビット位置に対応する第2のNビットパラレルデータのビット位置データを復元データとする手段と、
を備える、クロック・データ・リカバリ回路。
【請求項2】
前記第1のNビットパラレルデータを第2のNビットパラレルデータに変換する手段は、
前記第1のNビットパラレルデータを周期T1毎に移動平均し、移動平均後のNビットパラレルデータに変換する手段と、
移動平均後のNビットパラレルデータのデータ変化点を検出し、変化点を示すNビットパラレルデータに変換し、順次記憶する手段と、
変化点と1つ前の変化点間を前記T2周期単位で計測してパターン長を検出し、変化点記憶と対応して順次記憶する手段と、
パターン長と設定値を比較し、比較結果によって、変化点時刻の2値信号に対応するNビットパラレルデータのビットデータを反転する複数個の補正手段と、
からなり、
前記複数個の補正手段は縦続接続され、各々の前記設定値を前に接続されたものより1ずつ減じるように配置して2値化時のデューティずれを補正する、
請求項1記載のクロック・データ・リカバリ回路。
【請求項3】
前記T1周期が前記受信側基準周波数の周期に等しい、請求項1又は2記載のクロック・データ・リカバリ回路。
【請求項4】
シリアルデータインターフェースのUSB2.0規格に準拠する、請求項1、2又は3記載のクロック・データ・リカバリ回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2010−28615(P2010−28615A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−189531(P2008−189531)
【出願日】平成20年7月23日(2008.7.23)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願日】平成20年7月23日(2008.7.23)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]