(57)【要約】【課題】等間隔の位相でオーバーサンプリングされたデータを生成することができるオーバーサンプリング回路及びオーバーサンプリング方法を提供する。【解決手段】多相クロックを生成する際に、全ての回路が等価であるとは考えず、それぞれ異なる遅延時間を持つ遅延部を用いて多相クロックを生成し、そのサンプリングデータを元に等間隔の位相でオーバーサンプリングされたデータを生成するものである。また、位相の検出にはサンプリングされたデジタルデータを用いるので、小さい回路規模で高精度な位相検出を行う事ができる。従って、等間隔の位相でオーバーサンプリングされたデータを生成することができる。【選択図】図１
2008066879.tif 000002
【特許請求の範囲】
【請求項１】
入力信号をサンプリングする回路であって、
基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成する多相遅延部と、
前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、
前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、検出して得られたデータに基づいて前記多相サンプリングデータから選択する位相選択部とを備えたことを特徴とするオーバーサンプリング回路。
【請求項２】
請求項１記載のオーバーサンプリング回路において、
前記多相遅延部は、並列接続されたインバータを用い、該インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事により、前記多相クロックを生成するようにしたことを特徴とするオーバーサンプリング回路。
【請求項３】
請求項１または２記載のオーバーサンプリング回路において、
前記位相選択部は、多相クロックの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、前記多相サンプリングデータの遷移の数を前記多相クロックそれぞれの位相についてカウントするカウンタとを備え、前記検出部の検出結果と前記カウンタのカウント値とに基づいて出力データを選択するようにしたことを特徴とするオーバーサンプリング回路。
【請求項４】
入力信号をサンプリングする回路であって、
基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、
前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、
前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成する位相検出部とを備えたことを特徴とするオーバーサンプリング回路。
【請求項５】
請求項２記載のオーバーサンプリング回路において、
前記多相遅延制御部は、入力される前記多相クロックに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことを特徴とするオーバーサンプリング回路。
【請求項６】
請求項４または５記載のオーバーサンプリング回路において、
前記位相検出部は、前記多相サンプリングデータの遷移の数を前記多相クロックそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相クロックの位相関係を検出するようにしたことを特徴とするオーバーサンプリング回路。
【請求項７】
入力信号をサンプリングする回路であって、
前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成する多相遅延部と、
前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、
前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力する位相選択部とを備えることを特徴とするオーバーサンプリング回路。
【請求項８】
請求項７記載のオーバーサンプリング回路において、
前記多相遅延部は、並列接続されたインバータを用い、該インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事で前記多相データを生成することを特徴とするオーバーサンプリング回路。
【請求項９】
請求項７または８記載のオーバーサンプリング回路において、
前記位相選択部は、前記多相サンプリングデータの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、
前記多相サンプリングデータの遷移の数をそれぞれの位相についてカウントするカウンタとを備え、前記検出部の検出結果と前記カウンタのカウント値とに基づいて出力データを選択するようにしたことを特徴とするオーバーサンプリング回路。
【請求項１０】
入力信号をサンプリングする回路であって、
前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、
前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、
前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成する位相検出部とを備えたことを特徴とするオーバーサンプリング回路。
【請求項１１】
請求項１０記載のオーバーサンプリング回路において、
前記多相遅延制御部は、前記入力データに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことを特徴とするオーバーサンプリング回路。
【請求項１２】
請求項１０または１１記載のオーバーサンプリング回路において、
前記位相検出部は、前記多相サンプリングデータの遷移の数を前記多相データそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相データの位相関係を検出するようにしたことを特徴とするオーバーサンプリング回路。
【請求項１３】
請求項１から１２のいずれか１項記載のオーバーサンプリング回路において、
前記入力データと非同期に動作する発振器と、
前記発振器と前記入力データを入力信号として切り換える事のできるセレクタとを備えたことを特徴とするオーバーサンプリング回路。
【請求項１４】
請求項１から１３のいずれか１項記載のオーバーサンプリング回路において、
前記多相サンプリングデータをフィルタリングするデジタルフィルタを備えたことを特徴とするオーバーサンプリング回路。
【請求項１５】
請求項１４記載のオーバーサンプリング回路において、
前記デジタルフィルタは、FIRフィルタまたはIIRフィルタで構成されていることを特徴とするオーバーサンプリング回路。
【請求項１６】
入力信号をサンプリングする方法であって、
基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、
前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、
前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、検出して得られたデータに基づいて前記多相サンプリングデータから選択することを特徴とするオーバーサンプリング方法。
【請求項１７】
入力信号をサンプリングする方法であって、
基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間を制御信号によって制御し、
前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、
前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成することを特徴とするオーバーサンプリング方法。
【請求項１８】
入力信号をサンプリングする方法であって、
前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、
前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、
前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力することを特徴とするオーバーサンプリング方法。
【請求項１９】
入力信号をサンプリングする方法であって、
前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間を制御信号によって制御し、
前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、
前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成することを特徴とするオーバーサンプリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
Serial-ATAやPCI Expressに代表される、高速シリアル通信の受信機等に用いられるオーバーサンプリング回路及びオーバーサンプリング方法に関する。
【背景技術】
【０００２】
近年、機器間、ボード間、チップ間における大容量・高速データ伝送の要求を満たすため、伝送インターフェース規格の多くに採用され始めている方法として、伝送されるデータにその周波数のクロックが重畳され（エンベデッドクロック）、データ受信部で受信したデータからこのクロックを抽出し、抽出されたクロック信号に基づいて受信データを復元する、いわゆる高速シリアル伝送方法がある。このクロックやデータの復元動作を行う回路をクロックデータリカバリ回路（以下ＣＤＲ回路）と呼んでいる。ＣＤＲ回路は、一般にＰＬＬ（Phase Locked Loop, 位相同期ループ）回路が用いられる。これは、ＰＬＬ回路に含まれるＶＣＯ（電圧制御発振器）によって生成される内部クロックと、受信した信号の位相を同期するように制御するものである。
【０００３】
しかし、近年の高速シリアル伝送においては前述したようにクロック周波数の高速化が進んでおり、数ＧＨｚのクロックが必要となってきている。それに伴い、ＰＬＬ回路のチップサイズ増大化、消費電力の増大化、コストアップ、回路設計・レイアウトの複雑化等が問題となっている。また、クロック周波数の高速化に伴い、ＰＬＬジッタの許容値は減少しており、受信に用いるクロックが極めて高精度に入力データと同期することが求められており、その実現は容易ではない。
【０００４】
そこで、このような問題を解決するものとして、オーバーサンプリング型のクロックデータリカバリ回路が提案されており、広く用いられている。これは、基準となるクロックから等間隔に位相をシフトした多相クロックを生成し、それぞれの位相で入力データをサンプリングする事で得られるビット列から、論理が反転するタイミングを検出し、その結果を元にクロックとデータをそれぞれ再生するものである。このような構成にすれば、多相クロック生成部以外はデジタル回路で構成できるので実現が比較的容易になる。
【０００５】
しかしながら、この回路構成に用いる多相クロックは、相互の位相差が問題となり、位相差が等間隔でない場合においては、復元されるクロックの周期が短くなり、最悪の場合には誤作動の原因となり得る。
【０００６】
そこで、このような問題に際し、本出願人はデータリカバリ方法及びデータリカバリ回路を提案した。
これは、入力されたデータに含まれるクロックを復元する事無く、そのクロックよりも周波数が同等以下であり、入力信号とは独立な多相クロックを用いてオーバーサンプリングを行い、その結果を用いる事でデータを正確に復元するものである（例えば、特許文献１参照）。
【０００７】
しかし、この方法においても、多相クロックの位相は等間隔である事が前提となっており、位相差が等間隔でない場合においては、その誤差により受信信号のジッタが増加したように見えてしまい、受信特性の劣化につながる。
オーバーサンプリングに必要な多相クロックの位相の生成には、一般的にＰＬＬやＤＬＬを用いる。いずれの場合においても、図３１に示す多相クロック回路のようにバッファを環状につなげたものを用いる。
【０００８】
図３１に示した回路では２個の差動アンプ51a,bを用いて４位相クロックを生成する例を示してあるが、要求されるクロックの位相数などにより適宜バッファ段数や構成が異なる。また、図３１においては生成される多相クロックをCLK0〜CLK3で示している。多相クロックの生成においては、それぞれの差動アンプ51a,bにおいてクロックの立ち上がり時間や立ち下がり時間が全て等しくなるように、各差動アンプの回路を全く同じものとし、配線等につく負荷容量も全て同じになるように設計される。
【０００９】
しかしながら、実際には、同じチップ上に作ったデバイスでもその特性は局所的にばらついてしまい、また配線につく負荷容量も周辺の回路によって様々であるため、全く位相を揃える事は困難である。さらに、周波数の高速化に伴い、多相クロックの各位相間に許される誤差は少なくなる一方で、クロック生成に用いる差動アンプ51a,bに必要な電流が増加し、そのためスイッチング電流が増大する傾向にある。このため各差動アンプの電源電圧が局所的に変動してしまい、各段の特性は様々に変動する。
【００１０】
この電源変動を設計段階で知る有効な手段はまだ確立されておらず、そのため多相クロックの位相のばらつきを所望の誤差内に揃える事は非常に困難となっている。各クロックの立ち上がり時間と立ち下がり時間が揃っている場合は図３２(a)のタイムチャートに示すように等間隔の多相クロックを生成する事ができるが、前述したように各バッファの特性がばらつくと、図３２(b)のタイムチャートに示すように多相クロックの位相差が等間隔ではなくなってしまう。
【００１１】
このような問題に際しクロックアンドデータリカバリ回路とそのクロック制御方法が提案されている（例えば、特許文献２参照）。これは、多相クロック生成部において位相インターポレータを用いる事で、位相調整を行うものである。
しかしながら、特許文献２における位相調整回路は、あらかじめ位相が等間隔である多相クロックを元にして、インターポレータで内分された位相のクロックを出力するため、元のクロックの位相がずれていた場合にはこの位相調整は意味をなさない。また、クロックの位相の数だけインターポレータを用いるが、これらのインターポレータもデバイスや局所電源電圧変動等により、遅延時間がそれぞれ異なるため、位相を全く同じとする事は困難である。
【００１２】
また、多相クロックの位相ずれ量検出回路およびそれを用いたビット同期回路が提案されている（例えば、特許文献３参照）。これは、基準クロックに基づいて位相がほぼ等間隔にずれた多相クロックを生成し、その多相クロックを基準クロックでそれぞれサンプリングする事で、位相ずれ量を検出し、多相クロックの位相ずれ量（遅延量）を適正化するものである。
しかしながら、特許文献３における位相ずれ量検出回路においても、用いられる複数の遅延回路はほぼ等しい遅延特性であると考えられているが、前述したような理由で遅延はばらつくため、等間隔の位相を持つ多相クロックを生成する事は困難である。また、位相ずれ量を検出する回路はクロックのエッジ同士を比較する構成となっており、クロック周波数が高くなるに連れて正確に位相を検出するのは困難となっている。
【特許文献１】特開２００５−１９２１９２号公報
【特許文献２】特許第３６３６６５７号公報
【特許文献３】特許第３４１４７００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで、本発明の目的は、等間隔の位相でオーバーサンプリングされたデータを生成することができるオーバーサンプリング回路及びオーバーサンプリング方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、請求項１記載の発明は、入力信号をサンプリングする回路であって、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成する多相遅延部と、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、検出して得られたデータに基づいて前記多相サンプリングデータから選択する位相選択部とを備えたことを特徴とする。
【００１５】
請求項１記載の発明によれば、基準クロックを元に多相クロックを生成し、多相クロックにより外部からのシリアルデータをサンプリングし、サンプリングによって得られるデータパターンのエッジから多相クロックの位相関係を検出して、適切な位相のデータを選択してオーバーサンプリングデータとして出力するので、生成する多相クロックの遅延時間はそれぞればらついてもよく、回路のレイアウトや電源設計にかかる労力を大幅に減らす事ができ、また遅延回路は単純な構成でよいので回路規模やチップサイズ、消費電力の低減に繋がる。また、位相の検出はサンプリングされたデジタルデータを用いて行うため、高精度の位相検出が可能となる。従って、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００１６】
請求項２記載の発明は、請求項１記載のオーバーサンプリング回路において、前記多相遅延部は、並列接続されたインバータを用い、該インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事により、前記多相クロックを生成するようにしたことを特徴とする。
【００１７】
請求項２記載の発明によれば、多相遅延部は、並列接続されたインバータを用い、インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事により、多相クロックを生成するようにしたので、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００１８】
請求項３記載の発明は、請求項１または２記載のオーバーサンプリング回路において、前記位相選択部は、多相クロックの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、前記多相サンプリングデータの遷移の数を前記多相クロックそれぞれの位相についてカウントするカウンタとを備え、前記検出部の検出結果と前記カウンタのカウント値とに基づいて出力データを選択するようにしたことを特徴とする。
【００１９】
請求項３記載の発明によれば、位相選択部は、多相クロックの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、多相サンプリングデータの遷移の数を多相クロックそれぞれの位相についてカウントするカウンタとを備え、検出部の検出結果とカウンタのカウント値とに基づいて出力データを選択するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００２０】
請求項４記載の発明は、入力信号をサンプリングする回路であって、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成する位相検出部とを備えたことを特徴とする。
【００２１】
請求項４記載の発明によれば、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成する位相検出部とを備えたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００２２】
請求項５記載の発明は、請求項２記載のオーバーサンプリング回路において、前記多相遅延制御部は、入力される前記多相クロックに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことを特徴とする。
【００２３】
請求項５記載の発明によれば、前記多相遅延制御部は、入力される前記多相クロックに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００２４】
請求項６記載の発明は、請求項４または５記載のオーバーサンプリング回路において、前記位相検出部は、前記多相サンプリングデータの遷移の数を前記多相クロックそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相クロックの位相関係を検出するようにしたことを特徴とする。
【００２５】
請求項６記載の発明によれば、位相検出部は、前記多相サンプリングデータの遷移の数を前記多相クロックそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相クロックの位相関係を検出するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００２６】
請求項７記載の発明は、入力信号をサンプリングする回路であって、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成する多相遅延部と、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力する位相選択部とを備えることを特徴とする。
【００２７】
請求項７記載の発明によれば、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成する多相遅延部と、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力する位相選択部とを備えることにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００２８】
請求項８記載の発明は、請求項７記載のオーバーサンプリング回路において、前記多相遅延部は、並列接続されたインバータを用い、該インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事で前記多相データを生成することを特徴とする。
【００２９】
請求項８記載の発明によれば、前記多相遅延部は、並列接続されたインバータを用い、該インバータに用いるトランジスタのサイズを変えて異なる遅延時間を持たせる事で前記多相データを生成することにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００３０】
請求項９記載の発明は、請求項７または８記載のオーバーサンプリング回路において、前記位相選択部は、前記多相サンプリングデータの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、前記多相サンプリングデータの遷移の数をそれぞれの位相についてカウントするカウンタとを備え、前記検出部の検出結果と前記カウンタのカウント値とに基づいて出力データを選択するようにしたことを特徴とする。
【００３１】
請求項９記載の発明によれば、前記位相選択部は、前記多相サンプリングデータの中で前記基準クロック一周期分の位相遅れを持つものを検出する検出部と、前記多相サンプリングデータの遷移の数をそれぞれの位相についてカウントするカウンタとを備え、前記検出部の検出結果と前記カウンタのカウント値とに基づいて出力データを選択するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００３２】
請求項１０記載の発明は、入力信号をサンプリングする回路であって、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成する位相検出部とを備えたことを特徴とする。
【００３３】
請求項１０記載の発明によれば、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間が制御信号によって制御される多相遅延制御部と、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力する多相サンプリング部と、前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成する位相検出部とを備えたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００３４】
請求項１１記載の発明は、請求項１０記載のオーバーサンプリング回路において、前記多相遅延制御部は、前記入力データに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことを特徴とする。
【００３５】
請求項１１記載の発明によれば、前記多相遅延制御部は、前記入力データに応じて充放電電流を流し、該電流量を制御する事で各位相の遅延時間を制御するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００３６】
請求項１２記載の発明は、請求項１０または１１記載のオーバーサンプリング回路において、前記位相検出部は、前記多相サンプリングデータの遷移の数を前記多相データそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相データの位相関係を検出するようにしたことを特徴とする。
【００３７】
請求項１２記載の発明によれば、前記位相検出部は、前記多相サンプリングデータの遷移の数を前記多相データそれぞれの位相についてカウントするカウンタを備え、前記カウンタのカウント値から前記多相データの位相関係を検出するようにしたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００３８】
請求項１３記載の発明は、請求項１から１２のいずれか１項記載のオーバーサンプリング回路において、  前記入力データと非同期に動作する発振器と、前記発振器と前記入力データを入力信号として切り換える事のできるセレクタとを備えたことを特徴とする。
【００３９】
請求項１３記載の発明によれば、前記入力データと非同期に動作する発振器と、前記発振器と前記入力データを入力信号として切り換える事のできるセレクタとを備えたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００４０】
請求項１４記載の発明は、請求項１から１３のいずれか１項記載のオーバーサンプリング回路において、前記多相サンプリングデータをフィルタリングするデジタルフィルタを備えたことを特徴とする。
【００４１】
請求項１４記載の発明によれば、多相サンプリングデータをフィルタリングするデジタルフィルタを備えたことにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００４２】
請求項１５記載の発明は、請求項１４記載のオーバーサンプリング回路において、前記デジタルフィルタは、FIRフィルタまたはIIRフィルタで構成されていることを特徴とする。
【００４３】
請求項１５記載の発明によれば、デジタルフィルタは、FIRフィルタまたはIIRフィルタで構成されていることにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００４４】
請求項１６記載の発明は、入力信号をサンプリングする方法であって、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、検出して得られたデータに基づいて前記多相サンプリングデータから選択することを特徴とする。
【００４５】
請求項１６記載の発明によれば、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、検出して得られたデータに基づいて前記多相サンプリングデータから選択することにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００４６】
請求項１７記載の発明は、入力信号をサンプリングする方法であって、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間を制御信号によって制御し、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成することを特徴とする。
【００４７】
請求項１７記載の発明によれば、基準クロックに異なる遅延時間を持たせて位相の異なる多相クロックを生成し、且つその遅延時間を制御信号によって制御し、前記入力信号を前記多相クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相クロックの位相関係を検出し、前記多相クロックの位相制御信号を生成することにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００４８】
請求項１８記載の発明は、入力信号をサンプリングする方法であって、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力することを特徴とする。
【００４９】
請求項１８記載の発明によれば、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相データを用いて前記多相クロックの位相関係を検出し、前記多相サンプリングデータの中から選択して出力することにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【００５０】
請求項１９記載の発明は、入力信号をサンプリングする方法であって、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間を制御信号によって制御し、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成することを特徴とする。
【００５１】
請求項１９記載の発明によれば、前記入力信号に異なる遅延時間を持たせて位相の異なる多相データを生成し、且つその遅延時間を制御信号によって制御し、前記多相データを基準クロックによってサンプリングし、多相サンプリングデータとして出力し、前記多相サンプリングデータを用いて前記多相データの位相関係を検出し、前記多相データの位相制御信号を生成することにより、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【発明の効果】
【００５２】
本発明によれば、多相クロックを生成する際に、全ての回路が等価であるとは考えず、それぞれ異なる遅延時間を持つ遅延部を用いて多相クロックを生成し、そのサンプリングデータを元に等間隔の位相でオーバーサンプリングされたデータを生成するものである。また、位相の検出にはサンプリングされたデジタルデータを用いるので、小さい回路規模で高精度な位相検出を行う事ができる。従って、等間隔の位相でオーバーサンプリングされたデータを生成することができる。
【発明を実施するための最良の形態】
【００５３】
以下、本発明の実施形態を図面に基づき説明する。
図１に、本発明によるオーバーサンプリング回路の第１の実施形態の全体構成を示す。
図１に示すオーバーサンプリング回路において、基準クロックREFCLKは多相遅延部1に入力され、それぞれ位相の異なるMビット多相クロックMCLKとして出力される。基準クロックREFCLKは通常のPLL等で生成されたもので構わないが、これは公知の技術であるため詳細な説明は省略する。
外部から入力されたシリアルデータSDATAは、多相サンプリング部2において、各MCLKでサンプリングされ、Mビット多相データMDATAとして出力される。位相選択部3はMDATAの中から適切なデータを選択し、NビットオーバーサンプルデータNDATAとして出力する。ただし、M>Nでなければならない。
【００５４】
図２は、図１に示したオーバーサンプリング回路に用いられる多相遅延部1の入出力信号のタイムチャートの一例を示した図である。
図中においてMCLK[k]はMCLKのkビット目を意味し、以下の説明においても適宜同じ表記を用いる。
Mビット多相クロックMCLKは、入力される基準クロックREFCLKに対して、それぞれ異なる遅延時間τ_0〜τ_(M-1)で出力される。ただし、τ_0はREFCLKの立ち上がりエッジからMCLK[0]の立ち上がりエッジまでの遅延時間を意味し、以下同様の表記を用いる。
遅延時間τ_0〜τ_(M-1)はある程度等間隔である事が望ましいが、必ずしも厳密性を求められるものではない。ただし、REFCLKの周期をTとした場合、τ_(M-1)-τ_0>T でなければならない。
【００５５】
また、図３に、図１に示したオーバーサンプリング回路に用いられる多相遅延部1の一実施の形態を示す。
以下の実施の形態において、M=14とするが、実際の使用に際しては求められる仕様によって適切なMを用いなければならない。入力された基準クロックREFCLKはM個のインバータ4_a〜4_nに並列に入力され、インバータ4_a〜4_nのそれぞれの出力はさらにM個のインバータ5_a〜5_nに入力されて、Mビット多相クロックMCLKとして出力される。
【００５６】
図３に示した実施の形態においては、インバータ5_a〜5_nは全て同じサイズであるが、インバータ4_a〜4_nはそれぞれサイズ（駆動能力）が異なる。
一般に、インバータによって駆動される信号の立ち上がり時間及び立ち下がり時間は、信号を駆動するインバータのサイズと、出力ノードにつく負荷容量とによって決まる。従って、図３の実施形態においてインバータ4_a〜4_nのサイズを徐々に変えることによって、出力されるクロックの位相を徐々にずらし、図２に示すようなMビット多相クロックMCLKを生成する事ができる。
【００５７】
図４は、図１に示したオーバーサンプリング回路に用いられる多相サンプリング部2の一実施の形態を示したものである。
外部から入力されたシリアルデータSDATAは、M個のフリップフロップ6_a〜6_nに入力され、多相遅延部1によって生成されたMビット多相クロックMCLKの立ち上がりエッジによってそれぞれサンプリングされる。サンプリングされたMビットデータM0DATAはそれぞれ遅延部7によって適切な時間だけ遅延され、再度M個のフリップフロップ10_a〜10_nによってサンプリングされる。この時に用いられるサンプリングクロックSCLKは全て共通である。サンプリングクロックSCLKは、基準クロックREFCLKまたは多相クロックMCLKの中の一つに適切な遅延を持たせて生成する。
【００５８】
このようにして、サンプリングされたMビット多相データMDATAは全てSCLKに同期して出力される。また、遅延部7の内部構成としては、図３と同様にインバータ8_a〜8_n,9_a〜9_nを用いた構成で実現される。
遅延部7におけるM0DATA[k]に対する遅延時間をτ'_kとすると、フリップフロップ10_a〜10_nにおいてSCLKで全てのデータを取り込むためには、多相遅延部1におけるクロックの遅延時間τ_kと合わせた総遅延時間τtot_k = τ_k + τ'_k は、kによらず一定である事が望ましく、インバータ8_a〜8_n,9_a〜9_nはそのようなサイズが選ばれる。
しかし、フリップフロップ10_a〜10_nのセットアップ、ホールド時間が許容する範囲であれば、τtot_kはある程度ばらついても問題は無い。
【００５９】
次に図５に、図１に示したオーバーサンプリング回路に用いられる位相選択部3の一実施の形態を示す。
入力されたMビット多相データMDATAは、UI（Unit Interval：1ビットデータ長）検出部11、エッジカウンタ12及び選択部13に入力される。UI検出部11は入力されたMビット多相データMDATAを用いて、多相遅延部1における遅延時間がτ_L - τ_0 = TとなるLを検出し、その結果をUI検出結果として選択部13に出力する。
【００６０】
ここで、TはREFCLKの周期である。エッジカウンタ12はMビット多相データMDATAのkビット目までにデータ遷移（エッジ）があるかを検出し、エッジが検出されるとカウント値count_kをインクリメントする。カウントは0<k<M（あるいは0<k<L）なる全てのkについて行われる。選択部13はUI検出結果とカウント値count_1〜count_(M-1)とに基づいて、適切なNビットのデータを選択し、NビットオーバーサンプルデータNDATAとして出力する。
【００６１】
図６に、図５に示した位相選択部に用いられるUI検出部11の一実施の形態を示す。
(M-1)個のXORゲート(エクスクルーシブオアゲート：排他的論理和ゲート)14_a〜14_mにはそれぞれMDATA[0]を１クロックサイクル遅延させたものとMDATA[k]が入力される。ただしkの範囲は最大でk=1,2..(M-1)である。XORゲート14_a〜14_mの出力はそれぞれ(M-1)個のカウンタ15_a〜15_mに入力される。カウンタ15_a〜15_mはXORゲート14_a〜14_mの出力が「Ｈ」である回数をカウントし、そのカウント値を出力する。検出器16はカウンタ15_a〜15_m各々の出力するカウント値の中から、最小値を示すものを検出し、その結果を出力する。多相クロックMCLK[0]とMCLK[L]がちょうど１クロックサイクル（1UI）の時間差を持てば、MDATA[0]とMDATA[L]は常に同じデータとなるので、XORゲートの出力は常に０である。従って、カウンタ15_a〜15_mの出力値が最も小さいものが、最も位相が近いものであると言える。
なお、前述した実施形態においてはk=1,2..(M-1)であるとしたが、許容される範囲においてkの範囲を狭める事ができる。
【００６２】
次に図７に、図５に示した位相選択部に用いられるエッジカウンタ12の一実施の形態を示す。
入力されたMビット多相データMDATAは、それぞれ隣接する位相のもの同士がXORゲート〜18_a〜18_mに入力される。XORゲート18_a〜18_mの出力はそれぞれカウンタ19_a〜19_mに入力される。カウンタ19_a〜19_mの出力はそれぞれ加算器20_a〜20_lに入力され、それぞれの和を求める。このようにして、Mビット多相データMDATAのそれぞれのビットまでの総エッジ数をカウントし、count_1〜count_(M-1)として出力する事ができる。
【００６３】
以下、選択部13の詳細な動作について述べる。
図８は、図５に示した選択部におけるMCLK[0]の立ち上がりエッジを基準に、それぞれのkにおけるMCLK[k]の立ち上がりエッジの時刻を横軸上の矢印で表したものの一例である。
通常用いられる多相クロックは、各位相の間隔が等間隔である事が望ましいが、実際にはレイアウト等による負荷容量の違いや電源変動、デバイスばらつきなどの要因によって、図８に示すように、各位相の間隔は等間隔ではなくなってしまう。
今、送信側と受信側とが異なる基準クロックで動作しているとする。
これは一般的に起こり得る状況である。この時、基準クロックREFCLKと、外部から入力されるSDATAとは同期しておらず、従ってSDATAのエッジは図８の数直線上MCLK[0]からMCLK[L]の区間に一様に分布すると考えられる。この確率密度をφとすると、カウント値count_kは下記のように与えられる。
count_k = φ * (τ_k - τ_0)
つまり、count_kはMCLK[k]とMCLK[0]の時間差を表すと考えられる。このとき1UIの時間は、UI検出部11が検出したLを用いればcount_Lで与えられるので、count_(L_a)/count_L = a/N (a=0,1..N-1)なるL_aを検出する事で、基準クロックREFCLKをN等分したクロックを得る事ができる。
【００６４】
図９に、k及びカウント値count_kの関係の一例を示す。
ただし、オーバーサンプリングビット数N=4であるとする。
図９に示すように、count_kはkの単調増加関数となるので、適切なL_aを検出する事ができる。前述したように、多相遅延部1における遅延時間は、電源電圧や温度の変動により動的に変化する。そのため、前述した位相検出は常時あるいは一定時間間隔ごとに行うか、または電源電圧や温度変動を監視し、その変動が一定量に達した時に適宜行うようにする事で、常に所望の位相にあるクロックを選択する事ができる。
【００６５】
いずれの方法を用いて検出を行うかは、実際の用途等に応じて適切なものを選択する事ができる。また、前述したように、カウント値count_kがMビット多相クロックの時間差を表すためには、入力データSDATAのエッジはMCLK[0]に対して一定の確率密度φで一様に分布している必要がある。
このような条件を満たすためには、カウント動作を一定時間T0以上に渡って行う必要がある。入力データSDATAのクロック周波数をFtx、基準クロックREFCLKの周波数をFrxとすると、T0は少なくとも
T0 > 1 / |Ftx - Frx|
という条件を満たさなければならない。
【００６６】
あるいは、送信側と受信側とが同じ基準クロックで動作している等の理由により、完全に非同期ではない場合には、図１０のような構成の受信機が好適に用いられる。これは、図１に示した実施の形態に、発振器21とセレクタ22とを追加したものである。発振器21は基準クロックREFCLKとは完全に非同期であり、適切な周波数F1で発振するものである。
通常動作時においては、セレクタ22はシリアルデータSDATAを多相サンプリング部2に入力し、この時は位相選択部3は一定の位相を選択する。
【００６７】
一方、回路のスタートアップ時や入力がアイドル状態である時など、入力データが必要でない時にセレクタ22は発振器21の出力を多相サンプリング部2に入力する。このとき位相選択部3は上記カウント動作を行い、選択する位相L_aを決定するというキャリブレーション動作を行う。
前述したように、多相遅延部1による遅延時間は動的に変動するため、キャリブレーション動作は必要に応じて適宜行われる。また、発振器21の周波数F1が基準クロックREFCLKの周波数Frxと同じぐらいであるとすると、カウントを行う時間T0は少なくとも
T0 > 1 / |F1 - Frx|
でなければならない。また、発振器21の周波数F1が低く、Frxのおよそp分の１になったとすると、T0は
T0 > p / |F1 - Frx|
でなければならない。さらに、多相遅延部1による遅延時間はレイアウトによる寄生容量や、スイッチング電流による電源電圧の局部的な変動等の要因で変動してしまい、しばしば設計者の意図通りにはならず、場合によっては前記多相クロックMCLKにおいて位相の逆転が起こってしまう事もありうる。
【００６８】
このような問題に対しては、図１１のような構成の受信機が好適に用いられる。これは、図１の実施形態に適切なローパス特性を有するデジタルフィルタ23を追加したものである。
デジタルフィルタ23については良く知られているFIRフィルタやIIRフィルタを用いて実現する事ができる。例として、デジタルフィルタ23に３次のFIRフィルタを用いた構成のフィルタの一部を図１２に示し、その際の詳細な動作例を図１３に示すが、実際にはフィルタ次数や回路構成は必要に応じて適切なものを選択して構わない。
【００６９】
図１２に示した実施の形態では、入力された多相データMDATAは加算器24によって加算された後、二値化部25によって適切な閾値で二値化される。
図１３に示すように、シリアルデータのエッジ部分をサンプリングする多相クロックMCLKの位相が逆転している場合には、サンプリングされた多相データMDATAはあたかもチャタリングを起こしているかのように観測される。デジタルフィルタ23がこのチャタリングを除去するだけの特性を持つように設定すれば、出力される多相データMDATAを用いて選択手段を用いる事ができる。
選択部13は、上記のように検出されたL_a(a=0,1..N-1)を用い、NビットオーバーサンプルデータNDATAを
NDATA[a] = MDATA[L_a] (a = 0,1..N-1)
となるように選択して出力する。
【００７０】
以上説明したように、本発明によるオーバーサンプリング回路の第１の実施形態によれば、一つの基準クロックを元に生成された多相クロックによってデータを取り込み、そのデータパターンのエッジをカウントする事により、多相クロックの位相関係を推定し、適切な位相のクロックで取り込まれたデータをオーバーサンプリングデータとして出力する事で、電源や温度の変動、及びデバイスのばらつきによるクロック位相のばらつきを補正し、入力されたデータを精度良くオーバーサンプリングする事ができる。
【００７１】
位相の検出にはサンプリングされたデータを用いるために検出の誤差を小さくする事ができる。また、回路に用いられる基準クロックは単相で良く、多相クロックは生成してからすぐにサンプリングに用いられる為、多相クロックを伝送する必要がなくなり、回路規模は小さくて良く、チップサイズや消費電力の低減に繋がる。
【００７２】
次に、図１４に、本発明に係るオーバーサンプリング回路の第２の実施形態の全体構成を示す。
多相遅延制御部26は基準クロックREFCLKを遅延させて、Nビット多相クロックNCLKとして出力する。その際の各位相ごとの遅延時間は遅延制御信号DCONTによってそれぞれ制御される。外部から入力されたシリアルデータSDATAは多相サンプリング部27において各NCLKでサンプリングされ、NビットオーバーサンプルデータNDATAとして出力される。位相検出部28はNDATAを元にNCLKの位相を検出し、適切な遅延制御信号DCONTを出力する。
【００７３】
図１５は、図１４に示したオーバーサンプリング回路に用いられる多相遅延制御部26の詳細な構成を示したものである。
以下の実施の形態においては、オーバーサンプリングビット数N=4であるとするが、N=4以外の場合においても下記の実施の形態を用いる事で同様の効果を得る事ができる。
基準クロックREFCLKは各遅延素子29_a〜29_dに入力され、それぞれ異なる遅延時間τ_0〜τ_(N-1)だけ遅延されてNCLKとして出力される。遅延時間τ_0〜τ_(N-1)はそれぞれ遅延制御信号DCONT_0〜DCONT_(N-1)によって個別に制御される。ただし、ここでDCONT_kはNCLK[k]に対する遅延制御信号DCONTを意味し、以下同様の表記を用いる。
このような遅延素子29_a〜29_dの構成例としては図１６に示すものが挙げられる。
これは、制御信号DCONTによって電流源30_a,30_bの流す電流を制御する事で、PMOSトランジスタ31とNMOSトランジスタ32が駆動する信号の立ち上がり及び立ち下がり時間を制御し、遅延素子29_a〜29_dの遅延時間を個別に制御するものである。
【００７４】
図１７は、本発明に係るオーバーサンプリング回路に用いられる多相サンプリング部27の他の実施の形態を示したものである。
図４に示した実施の形態と同様に、フリップフロップ34_a〜34_dを用いて、入力されたシリアルデータSDATAをNビット多相クロックNCLKでサンプリングし、遅延素子35_a〜35_dで遅延させて、フリップフロップ36_a〜36_dでサンプリングクロックSCLKに同期させ、Nビット多相データNDATAとして出力する。
遅延素子35_a〜35_dの遅延時間τ'_0〜τ'_(N-1)はそれぞれ遅延制御信号DCONT_0〜DCONT_(N-1)によって制御される。本発明第１の実施の形態と同じく、多相遅延制御部26によって与えられる遅延時間τ_kとτ'_kとの和τtot_kはkによって一定である事が望ましい。
しかし、フリップフロップ36_a〜36_dのセットアップ、ホールド時間が許容する範囲であれば、τtot_kはある程度ばらついても問題は無い。
【００７５】
次に、図１８に、図１４に示したオーバーサンプリング回路に用いられる位相検出部28の一実施の形態を示す。
エッジカウンタ37は、入力されたNビットオーバーサンプルデータNDATAの各ビットについてエッジをカウントし、その結果をカウント値ncountとして出力する。演算部38はカウント値ncountの値に基づいて遅延制御信号DCONTを出力する。
【００７６】
図１９は、図１８に示した位相検出部に用いられるエッジカウンタ37の一実施の形態を示したものである。
図７に示した実施形態と同様、隣接するビットについてXORゲート39_a〜39_dを用いてNビット多相データNDATAのエッジを検出し、それをカウンタ40_a〜40_cでカウントする。また、NDATA[0]については１サイクル遅延してNDATA[N-1]と比較し、その結果もカウンタ40_dでカウントする。カウンタ40_a〜40_dの出力はそれぞれ加算器41_a〜41_cに入力され、それぞれの和を求める。
このようにして、Nビット多相データNDATAのそれぞれのビットまでの総エッジ数をカウントし、ncount_1〜ncount_Nとして出力する事ができる。
【００７７】
図２０は、図１８に示した位相検出部に用いられる演算部38の一実施の形態を示したものである。
乗除算器43_a〜43_cはncount_Nをそれぞれa/N倍（a=1,2..N-1）し、その演算結果を比較器44_a〜44_cに入力する。比較器44_a〜44_cは乗除算器43_a〜43_cの演算結果とカウント値ncount_kとをそれぞれ比較し、その結果を元に各NCLKに対する遅延制御信号DCONTを出力する。
【００７８】
本発明の第１の実施形態において説明したように、入力信号SDATAのエッジが基準クロックREFCLKに対して一様に分布しているとすると、ncount_kの値はNCLK_kとNCLK_0との時間差を表すので、ncount_kの各値がncount_NのN等分になるように遅延制御信号DCONTを適切な値にする事で、NCLKをTをN等分した位相を持つクロックとする事ができる。
前述したように、多相遅延部26における遅延時間は、電源電圧や温度の変動により動的に変化する。そのため、前述した位相検出による制御は常時あるいは一定時間間隔ごとに行うか、または電源電圧や温度変動を監視し、その変動が一定量に達した時に適宜行うようにする事で、常に所望の位相にあるクロックを選択する事ができる。
【００７９】
いずれの方法を用いて検出を行うかは、本発明の用途等に応じて適切なものを選択する事ができる。また、前述したように、ncount_kがNビット多相クロックの時間差を表すためには、SDATAのエッジはNCLK[0]に対して一定の確率密度φで一様に分布している必要がある。このような条件を満たすためには、カウントを一定時間T0以上に渡って行う必要がある。
【００８０】
入力データSDATAのクロック周波数をFtx、基準クロックREFCLKの周波数をFrxとし、両者の周波数が同じぐらいであるとすると、T0は少なくともT0 > 1 / |Ftx - Frx|という条件を満たさなければならない。あるいは、送信側と受信側とが同じ基準クロックで動作している等の理由により、完全に非同期ではない場合には、図２１のような構成の受信機が好適に用いられる。
【００８１】
これは、図１４に示した実施の形態に、発振器21とセレクタ22とを接続したものである。発振器21及びセレクタ22の詳細な動作は図１０に示した実施の形態とほぼ同様である為、詳細な説明は省略する。発振器21の周波数F1が基準クロックREFCLKの周波数Frxと同じぐらいであるとすると、カウントを行う時間T0は少なくともT0 > 1 / |F1 - Frx|でなければならない。また、発振器21の周波数F1が低くなり、Frxのおよそp分の１になったとすると、T0は
T0 > p / |F1 - Frx|
でなければならない。さらに、上述したように、多相クロックNCLKにおいて位相の逆転が起こってしまう問題に対しては、図２２のような構成の受信機が好適に用いられる。これは、図１４に示した実施の形態に適切なローパス特性を有するデジタルフィルタ45を追加したものである。
【００８２】
デジタルフィルタ45の動作については、第１の実施の形態と同様であるため、詳細な説明は省略する。
【００８３】
以上説明したように、本発明に係るオーバーサンプリング回路の第２の実施形態によれば、一つの基準クロックを元に生成された多相クロックによってデータを取り込み、データパターンのエッジをカウントする事により、多相クロックの位相関係を推定し、その位相が適切なものとなるように制御する事で、電源や温度の変動、及びデバイスのばらつきによるクロック位相のばらつきを補正し、入力されたデータを精度良くオーバーサンプリングする事ができる。位相の検出にはサンプリングされたデータを用いるために検出の誤差を小さくする事ができる。また、回路に用いられる基準クロックは単相で良く、多相クロックは生成してからすぐにサンプリングに用いられる為、多相クロックを伝送する必要がなくなり、回路規模は小さくて良く、チップサイズや消費電力の低減に繋がる。
【００８４】
次に、図２３に、本発明に係るオーバーサンプリング回路の第３の実施形態の全体構成を示す。
図２３に示すオーバーサンプリング回路において、シリアルデータSDATAは多相遅延部46に入力され、それぞれ位相の異なるMビット多相遅延データdMDATAとして出力される。Mビット多相遅延データdMDATAはサンプリング部47において基準クロックREFCLKでサンプリングされ、Mビット多相データMDATAとして出力される。基準クロックREFCLKは通常のPLL等で生成されたもので構わないが、これは公知の技術であるため詳細は省略する。位相選択部3はMDATAの中から適切なデータを選択し、NビットオーバーサンプルデータNDATAとして出力する。
ただし、M>Nでなければならない。
【００８５】
多相遅延部46については、図３に示した構成と同じものを用いて実現する事ができる。ただし、入力はシリアルデータSDATAであり、出力はMビット多相遅延データdMDATAとなる。
また、第１の実施の形態とは異なり、与えられる遅延時間はdMDATA[0]のものが最も大きく、dMDATA[M-1]のものが最も小さくなるようにする。
【００８６】
図２４は、図２３に示したオーバーサンプリング回路に用いられるサンプリング部47の一実施の形態を示したものである。
ただし、M=14とする。
M個のフリップフロップ48_a〜48_nはMビット多相遅延データdMDATAを全て基準クロックREFCLKで取り込む。第１の実施の形態とは異なり、データそのものが遅延されているため、データをサンプリングするクロックは単一クロックを用いればよく、取り込んだデータをそのまま同期データとして出力する事ができる。
【００８７】
図２５は、図２３に示したオーバーサンプリング回路に用いられる多相遅延部46とサンプリング部47とのタイムチャートの一例を示したものである。
前述したように、外部から入力されたシリアルデータSDATAは多相遅延部46で遅延され、Mビット多相遅延データdMDATAとして出力され、サンプリング部47においてサンプリングされる。
このようにして得られたMビット多相データMDATAはシリアルデータSDATAをオーバーサンプリングしたものとなっており、従ってこれ以降の構成要素については第１の実施の形態と同様にする事ができる。
【００８８】
位相選択部3は第１の実施形態のものと同じ動作であるため、詳細な説明は省略する。また、前述したように、多相遅延部46の遅延時間は動的に変化するため、位相選択部3における選択動作は常時あるいは必要に応じて行われる。この条件等についても前述したものと同じであるため、詳細な説明は省略する。
【００８９】
また、キャリブレーション動作のために図２３に示したオーバーサンプリング回路に用いられる発振器21とセレクタ22とを付け加えた構成の受信機を図２６に示すが、これも詳細な説明は省略する。さらに、多相遅延部46において位相の逆転が起こることもありうる。これに対して図２７のようにデジタルフィルタ23を追加した構成の受信機を用いる事ができるが、これは図１１の構成例と同様であるため、詳細な説明は省略する。
【００９０】
以上説明したように、本発明によるオーバーサンプリング回路の第３の実施形態によれば、入力されたシリアルデータを遅延させて生成された多相遅延データを単一のクロックによって取り込み、そのデータパターンのエッジをカウントする事により、多相遅延データの位相関係を推定し、適切に遅延されてサンプルされたデータをオーバーサンプリングデータとして出力する事で、電源や温度の変動、及びデバイスのばらつきによるクロック位相のばらつきを補正し、入力されたデータを精度良くオーバーサンプリングする事ができる。位相の検出にはサンプリングされたデータを用いるために検出の誤差を小さくする事ができる。また、データを遅延させて多相にしているため、サンプリングに用いられるクロックは単相で良く、またサンプリング後の位相合わせも必要ないため、回路規模は小さくて良く、チップサイズや消費電力の低減に繋がる。
【００９１】
次に、図２８に、本発明に係るオーバーサンプリング回路の第４の実施形態の全体構成を示す。
多相遅延制御部49は入力されたシリアルデータSDATAを遅延させて、Nビット多相遅延データdNDATAとして出力する。その際の各位相ごとの遅延時間は遅延制御信号DCONT_0〜DCONT_(N-1)によってそれぞれ制御される。Nビット多相遅延データdNDATAはサンプリング部50において基準クロックREFCLKでサンプリングされ、NビットオーバーサンプルデータNDATAとして出力される。位相検出部28はNDATAを元にNCLKの位相を検出し、適切な遅延制御信号DCONT_0〜DCONT_(N-1)を出力する。多相遅延制御部49については、図１５に示した構成で実現する事ができる。
ただし、入力はシリアルデータSDATAであり、出力はNビット多相遅延データdNDATAとなる。
また、第２の実施の形態とは異なり、与えられる遅延時間はdNDATA[0]のものが最も大きく、dNDATA[N-1]のものが最も小さくなるようにする。また、サンプリング部は入力されたdNDATAをそれぞれフリップフロップに入力し、基準クロックREFCLKでサンプリングする構成で実現できる。図２４に示したものとほぼ同じであるため、詳細な説明は省略する。
【００９２】
位相検出部28は第２の実施形態のものと同じ動作であるため、詳細な説明は省略する。また、前述したように、多相遅延部49の遅延時間は動的に変化するため、位相検出部28における選択動作は常時あるいは必要に応じて行われる。この条件等についても前述したものと同じであるため、詳細な説明は省略する。また、キャリブレーション動作のために発振器21とセレクタ22とを付け加えた構成の受信機を図２９に示すが、これも詳細な説明は省略する。さらに、多相遅延制御部49において位相の逆転が起こることもありうる。これに対して図３０のようにデジタルフィルタ45を追加する構成を用いる事ができるが、これは図１１の構成例と同様であるため、詳細な説明は省略する。
【００９３】
以上説明したように、本発明によるオーバーサンプリング回路の第４の実施形態によれば、入力されたシリアルデータを遅延させて生成された多相遅延データを単一のクロックによって取り込み、データパターンのエッジをカウントする事により、多相遅延データの位相関係を推定し、その位相が適切なものとなるように制御する事で、電源や温度の変動、及びデバイスのばらつきによるクロック位相のばらつきを補正し、入力されたデータを精度良くオーバーサンプリングする事ができる。位相の検出にはサンプリングされたデータを用いるために検出の誤差を小さくする事ができる。また、データを遅延させて多相にしているため、サンプリングに用いられるクロックは単相で良く、またサンプリング後の位相合わせも必要ないため、回路規模は小さくて良く、チップサイズや消費電力の低減に繋がる。
【００９４】
〔作用効果〕
以上説明したように、本発明の第１の実施形態によれば、基準クロックを元に多相クロックを生成し、多相クロックにより外部からのシリアルデータをサンプリングし、サンプリングによって得られるデータパターンのエッジから多相クロックの位相関係を検出して、適切な位相のデータを選択してオーバーサンプリングデータとして出力するので、生成する多相クロックの遅延時間はそれぞればらついてもよく、回路のレイアウトや電源設計にかかる労力を大幅に減らす事ができ、また遅延回路は単純な構成でよいので回路規模やチップサイズ、消費電力の低減に繋がる。また、位相の検出はサンプリングされたデジタルデータを用いて行うため、高精度の位相検出が可能となる。
【００９５】
また、本発明の第２の実施形態によれば、基準クロックを元に多相クロックを生成し、多相クロックにより外部からのシリアルデータをサンプリングし、サンプリングによって得られるデータパターンのエッジから多相クロックの位相関係を検出して、多相クロックを生成する際の遅延時間をそれぞれの位相について制御するので、多相クロックを生成する遅延回路はそれぞればらついてもよく、回路のレイアウトや電源配置にかかる労力を大幅に減らす事ができ、また遅延回路は単純な構成でよいので回路規模やチップサイズ、消費電力の低減に繋がる。また、位相の検出はサンプリングされたデジタルデータを用いて行うため、高精度の位相検出が可能となる。位相を検出するクロックは必要最小限の本数でいいので、さらに回路規模を小さくする事ができる。
【００９６】
また、本発明の第３の実施形態によれば、外部から入力されたシリアルデータを元に多相データを生成し、基準クロックにより多相データをサンプリングし、サンプリングによって得られるデータパターンのエッジから多相出データの位相関係を検出して、適切な位相のデータを選択してオーバーサンプリングデータとして出力するので、生成する多相クロックの遅延時間はそれぞればらついてもよく、回路のレイアウトや電源設計にかかる労力を大幅に減らす事ができ、また遅延回路は単純な構成でよいので回路規模やチップサイズ、消費電力の低減に繋がる。また、位相の検出はサンプリングされたデジタルデータを用いて行うため、高精度の位相検出が可能となる。また、サンプリングに用いるクロックは単相であるため、そのままデジタル回路で用いる事が可能であり、さらに回路規模を小さくする事ができる。
【００９７】
また、本発明第４の実施形態によれば、外部から入力されたシリアルデータを元に多相データを生成し、基準クロックにより多相データをサンプリングし、サンプリングによって得られるデータパターンのエッジから多相データの位相関係を検出して、多相データを生成する際の遅延時間をそれぞれの位相について制御するので、多相クロックを生成する遅延回路はそれぞればらついてもよく、回路のレイアウトや電源配置にかかる労力を大幅に減らす事ができ、また遅延回路は単純な構成でよいので回路規模やチップサイズ、消費電力の低減に繋がる。また、位相の検出はサンプリングされたデジタルデータを用いて行うため、高精度の位相検出が可能となる。
【００９８】
位相を検出するクロックは必要最小限の本数でよいので、さらに回路規模を小さくする事ができる。また、サンプリングに用いるクロックは単相であるため、そのままデジタル回路で用いる事が可能であり、さらに回路規模を小さくする事ができる。また、いずれの実施形態においても、回路に適切な発振回路を持たせる事で、送信側と基準クロックが完全に同期している場合でも正確に位相を検出する事ができる。また、回路にデジタルフィルタを持たせる事で、前記多相クロックの位相が逆転していても正しい位相のものを検出する事ができる。前記発振器、前記デジタルフィルタ共に単純な回路を用いて十分な効果を得る事ができる。
【００９９】
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【産業上の利用可能性】
【０１００】
本発明は、Serial-ATAやPCI Expressに代表される、高速シリアル通信の受信機等に利用できる。
【図面の簡単な説明】
【０１０１】
【図１】本発明によるオーバーサンプリング回路の第１の実施形態の全体構成である。
【図２】図１に示したオーバーサンプリング回路に用いられる多相遅延部1の入出力信号のタイムチャートの一例を示した図である。
【図３】図１に示したオーバーサンプリング回路に用いられる多相遅延部1の一実施の形態を示す図である。
【図４】図１に示したオーバーサンプリング回路に用いられる多相サンプリング部2の一実施の形態を示す図である。
【図５】図１に示したオーバーサンプリング回路に用いられる位相選択部3の一実施の形態を示す図である。
【図６】図５に示した位相選択部に用いられるUI検出部11の一実施の形態を示す図である。
【図７】図５に示した位相選択部に用いられるエッジカウンタ12の一実施の形態を示す図である。
【図８】図５に示した選択部におけるMCLK[0]の立ち上がりエッジを基準に、それぞれのkにおけるMCLK[k]の立ち上がりエッジの時刻を横軸上の矢印で表したものの一例である。
【図９】k及びカウント値count_kの関係の一例を示す図である。
【図１０】図１に示したオーバーサンプリング回路を用いた受信機の一例を示す図である。
【図１１】図１に示したオーバーサンプリング回路を用いた受信機の一例を示す図である。
【図１２】デジタルフィルタ23に３次のFIRフィルタを用いたフィルタの一部を示す図である。
【図１３】図１２に示したフィルタの動作例を示す図である。
【図１４】本発明に係るオーバーサンプリング回路の第２の実施形態の全体構成を示す図である。
【図１５】図１４に示したオーバーサンプリング回路に用いられる多相遅延制御部26の詳細な構成を示した図である。
【図１６】図１５に示した多相遅延制御部に用いられる遅延素子の構成例を示す図である。
【図１７】本発明に係るオーバーサンプリング回路に用いられる多相サンプリング部27の他の実施の形態を示した図である。
【図１８】図１４に示したオーバーサンプリング回路に用いられる位相検出部28の一実施の形態を示す図である。
【図１９】図１８に示した位相検出部に用いられるエッジカウンタ37の一実施の形態を示す図である。
【図２０】図１８に示した位相検出部に用いられる演算部38の一実施の形態を示す図である。
【図２１】図１４に示したオーバーサンプリング回路を用いた受信機の他の実施の形態を示す図である。
【図２２】本発明に係るオーバーサンプリング回路を用いた受信機の他の実施の形態を示す図である。
【図２３】本発明に係るオーバーサンプリング回路の第３の実施形態の全体構成を示す図である。
【図２４】図２３に示したオーバーサンプリング回路に用いられるサンプリング部47の一実施の形態を示す図である。
【図２５】図２３に示したオーバーサンプリング回路に用いられる多相遅延部46とサンプリング部47とのタイムチャートの一例を示す図である。
【図２６】図２３に示したオーバーサンプリング回路に用いられる発振器21とセレクタ22とを付け加えた構成の受信機を示す図である。
【図２７】図２６に示した受信機にデジタルフィルタ23を追加した構成の受信機を示す図である。
【図２８】本発明に係るオーバーサンプリング回路の第４の実施形態の全体構成を示す図である。
【図２９】本発明に係るオーバーサンプリング回路に発振器21とセレクタ22とを付け加えた構成の受信機を示す図である。
【図３０】図２９に示した受信機にデジタルフィルタを追加した構成の受信機を示す図である。
【図３１】多相クロック回路の従来例を示す図である。
【図３２】（ａ）、（ｂ）は、図３１に示した多相クロック回路のタイムチャートである。
【符号の説明】
【０１０２】
１    多相遅延部
２    多相サンプリング部
３    位相選択部
【図１】
2008066879.tif 000003
【図２】
2008066879.tif 000004
【図３】
2008066879.tif 000005
【図４】
2008066879.tif 000006
【図５】
2008066879.tif 000007
【図６】
2008066879.tif 000008
【図７】
2008066879.tif 000009
【図８】
2008066879.tif 000010
【図９】
2008066879.tif 000011
【図１０】
2008066879.tif 000012
【図１１】
2008066879.tif 000013
【図１２】
2008066879.tif 000014
【図１３】
2008066879.tif 000015
【図１４】
2008066879.tif 000016
【図１５】
2008066879.tif 000017
【図１６】
2008066879.tif 000018
【図１７】
2008066879.tif 000019
【図１８】
2008066879.tif 000020
【図１９】
2008066879.tif 000021
【図２０】
2008066879.tif 000022
【図２１】
2008066879.tif 000023
【図２２】
2008066879.tif 000024
【図２３】
2008066879.tif 000025
【図２４】
2008066879.tif 000026
【図２５】
2008066879.tif 000027
【図２６】
2008066879.tif 000028
【図２７】
2008066879.tif 000029
【図２８】
2008066879.tif 000030
【図２９】
2008066879.tif 000031
【図３０】
2008066879.tif 000032
【図３１】
2008066879.tif 000033
【図３２】
2008066879.tif 000034