(57)【要約】  処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器とを備える、受信回路。
2016046883.tif 000002
【特許請求の範囲】
【請求項１】
処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器とを備える、受信回路。
【請求項２】
前記制御部は、
前記位相差を積算することにより前記位相差の積算結果を算出する位相調整回路と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合に、前記位相差の積算結果に基づいて、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相補正量を決定するシーケンサ回路と
を有し、
前記位相調整回路は、前記位相差の積算結果と前記位相補正量に基づいて前記位相調整量を決定する、請求項１に記載の受信回路。
【請求項３】
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記位相差の積算が停止し、
前記位相補間器は、前記積算の停止時の前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる、請求項１に記載の受信回路。
【請求項４】
前記積算は、前記処理クロックの位相が前記シリアルデータの１ビット分シフトした後に再開する、請求項３に記載の受信回路。
【請求項５】
前記位相補間器は、前記積算の再開後、前記デシリアライザから出力された前記パラレルデータの区切りが再び論理的に正しくない場合、前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しいと検出されるまで、前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせることを繰り返す、請求項４に記載の受信回路。
【請求項６】
前記制御部は、前記位相補間器が前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるまでの調整刻みの長さを、前記積算結果に応じて決定する、請求項１に記載の受信回路。
【請求項７】
前記制御部は、前記位相差の積算値が大きいほど前記調整刻みを長くする、請求項６に記載の受信回路。
【請求項８】
前記制御部は、前記位相差の積算値の大きさに応じて、前記位相補間器が前記処理クロックの位相をシフトさせる方向を変化させる、請求項１に記載の受信回路。
【請求項９】
前記位相補間器は、前記積算値が第１の負値よりも小さい場合、前記積算値が前記第１の負値よりも大きな場合とは逆方向に、前記処理クロックの位相をシフトさせる、請求項８に記載の受信回路。
【請求項１０】
前記積算結果は、前記シリアルデータの周波数と前記処理クロックの周波数との偏差情報である、請求項１に記載の受信回路。
【請求項１１】
処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器と
を有する受信回路と、
前記位相補間器に基準クロックを供給するクロック生成回路とを備える、集積回路。
【請求項１２】
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しいか否かを検出する区切り検出回路を備え、
前記制御部は、前記区切り検出回路が前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくないと検出した場合に、前記位相調整量を決定する、請求項１１に記載の集積回路。
【請求項１３】
処理クロックに従ってシリアルデータをパラレルデータに変換する変換ステップと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する検出ステップと、
前記パラレルデータの区切りが論理的に正しいか否かを判定する判定ステップと、
前記パラレルデータの区切りが論理的に正しくないと判定された場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する決定ステップと、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる調整ステップとを有する、受信方法。
【請求項１４】
前記パラレルデータの区切りが論理的に正しくないと判定された場合、前記位相差の積算を停止させ、
前記積算の停止時の前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる、請求項１３に記載の受信方法。
【請求項１５】
前記積算は、前記処理クロックの位相が前記シリアルデータの１ビット分シフトした後に再開させる、請求項１４に記載の受信方法。
【請求項１６】
前記積算の再開後、前記パラレルデータの区切りが再び論理的に正しくないと判定された場合、前記パラレルデータの区切りが論理的に正しいと判定されるまで、前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせることを繰り返す、請求項１５に記載の受信方法。
【請求項１７】
前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるまでの調整刻みの長さを前記積算結果に応じて決定する、請求項１３に記載の受信方法。
【請求項１８】
前記位相差の積算値が大きいほど前記調整刻みを長くする、請求項１７に記載の受信方法。
【請求項１９】
前記位相差の積算値の大きさに応じて、前記処理クロックの位相をシフトさせる方向を変化させる、請求項１３に記載の受信方法。
【請求項２０】
前記積算値が第１の負値よりも小さい場合、前記積算値が前記第１の負値よりも大きな場合とは逆方向に、前記処理クロックの位相をシフトさせる、請求項１９に記載の受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信回路、集積回路及び受信方法に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal  Serial  Bus）やＳＡＴＡ（Serial  Advanced  Technology  Attachment）などに使用される送受信回路間の高速データ伝送では、受信回路は、受信データの論理判定（０，１判定）のために使用するクロックを受信データから復元する。受信データの論理判定を正しく行うため、受信回路で復元されるクロックの位相は、受信データとの位相差が一定になるように、受信回路内部のフィードバック回路で調整される。このように、受信回路で受信データの論理判定用のクロックを再生し、その再生したクロックを使用して受信データの論理判定を行うことにより送信データを再生することを、クロック＆データリカバリ（ＣＤＲ：Clock  and  Data  Recovery）という。【０００３】
なお、位相調整に関する技術として、例えば、特許文献１，２が挙げられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０３７８５号公報
【特許文献２】特開昭６１−２６９４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図１は、データをＣＤＲで受信する受信回路１の一例を示す構成図である。ラッチ回路３は、シリアルデータＳＩＮ（受信データ）を処理クロックＣＬＫのエッジタイミングでラッチする。デシリアライザ６は、処理クロックＣＬＫが分周器５により分周されたクロックに従って、ラッチ回路３の出力データＤＴをパラレルデータＰＯＵＴにデシリアライズする。位相デジタル変換器（ＰＤＣ：Phase  to  Digital  Converter）７は、デシリアライザ６から出力されるパラレルデータＰＯＵＴを比較処理して、処理クロックＣＬＫの位相がシリアルデータＳＩＮの位相に比べて進んでいるか遅れているかを示す位相情報コードＰＤＣＣＯＤＥを生成する。デジタルフィルタ（ＤＦ：Digital  Filter）８は、ＰＤＣ７から出力される位相情報コードＰＤＣＣＯＤＥを累積積分して時間平均し、処理クロックＣＬＫの位相シフト量（位相調整量）を指示する位相調整コードＰＩＣＯＤＥを出力する。位相補間器（ＰＩ：Phase  Interpolator）９は、基準クロックＲＣＫを位相調整コードＰＩＣＯＤＥに応じて位相シフトさせた処理クロックＣＬＫを出力する。基準クロックＲＣＫは、ソースクロックＣＫに基づいてＰＬＬ（Phase  Locked  Loop）回路２により生成される。【０００６】
受信回路１は、このような構成を備えることにより、シリアルデータＳＩＮに含まれるジッタ量に応じて、処理クロックＣＬＫの立ち上がりエッジがシリアルデータＳＩＮのアイパターン（eye  pattern）の中心近辺に位置するように処理クロックＣＬＫの位相をＰＩ９を含むＣＤＲループで調整する。これにより、処理クロックＣＬＫがシリアルデータＳＩＮの論理判定用のクロックとして再生されると共に、送信データがこの再生された処理クロックＣＬＫを使用して再生される。【０００７】
ところで、デシリアライザ６は、処理クロックＣＬＫが分周器５で分周されたクロックを再生クロック（recovered  clock）ＲＣＣＫとして出力する。そして、デシリアライザ６は、再生クロックＲＣＣＫと共にパラレルデータＰＯＵＴを受信回路１よりも上位の外部回路に向けて出力する。【０００８】
しかしながら、デシリアライザ６は、通常、シリアルデータＳＩＮをたまたまビットロックしたタイミングからシリアルデータＳＩＮを複数のビット単位で区切って、パラレルデータＰＯＵＴを生成する。そのため、受信回路１よりも上位の外部回路は、パラレルデータＰＯＵＴが、シリアルデータＳＩＮのビット列のうちのどこのビットを区切ってパラレル化されたデータであるのかわからない。したがって、シリアルデータＳＩＮのビット列に論理的な区切りがある場合、受信回路１よりも上位のデータアライン回路１０は、パラレルデータＰＯＵＴの位置合わせ（並べ替え）をする必要がある。【０００９】
図２は、データアライン回路１０によるデータアライン方法の一例を示すタイミングチャートである。例えば１０ビット単位の論理的な区切りがある場合、シリアルデータＳＩＮは１０通りのデシリアライズのされ方がある（図２は、１０通りのうちの３通りのみを示す）。そのため、パラレルデータＰＯＵＴがデータアライン回路１０によりアラインされて出力されたアライメントデータＡＯＵＴには、１０通りのレイテンシが発生する可能性がある。【００１０】
また、データアライン回路１０は、例えば図３のように、前サイクルのデータと現サイクルのデータとを連結（concatenate）して連結データconc_data[1:19]を生成する連結回路１１と、連結データconc_data[1:19]から論理的な区切りを検出する区切り検出回路１２とを有する。そして、データアライン回路１０は、連結データconc_data[1:19]から生成された１０通りのデータ候補の中から、区切り検出回路１２で検出された論理的な区切りと一致するデータを選択し、その選択したデータを、アラインのとれたアライメントデータＡＯＵＴとして出力する選択回路１３を有する。【００１１】
このように、パラレルデータＰＯＵＴがシリアルデータＳＩＮのビット列のうちのどこのビットを区切ってパラレル化されたのか、受信回路１の後段の回路側でわからない場合、選択回路１３等の回路が必要となるため、受信回路１の後段の回路構成が複雑になる。【００１２】
そこで、受信回路の後段の回路構成を簡素化できる、受信回路、集積回路及び受信方法の提供を目的とする。
【課題を解決するための手段】
【００１３】
一つの案では、
処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器とを備える、受信回路が提供される。
【発明の効果】
【００１４】
一態様によれば、受信回路の後段の回路構成の簡素化が可能となる。
【図面の簡単な説明】
【００１５】
【図１】受信回路の一例を示す構成図である。
【図２】データアライン方法の一例を示すタイミングチャートである。
【図３】データアライン回路の一例を示す構成図である。
【図４】受信回路を備える集積回路の一例を示す構成図である。
【図５】受信回路の一例を示す構成図である。
【図６】デジタルフィルタの一例を示す構成図である。
【図７】周波数レジスタの挙動の一例を示す図である。
【図８】位相レジスタの挙動の一例を示す図である。
【図９】周波数レジスタの挙動の一例を示す図である。
【図１０】位相レジスタの挙動の一例を示す図である。
【図１１】位相補間器の動作波形の一例を示すタイミングチャートである。
【図１２】受信方法の一例を示すフローチャートである。
【図１３】位相調整量の決定方法の一例を示すフローチャートである。
【図１４】位相調整期間の一例を示すタイミングチャートである。
【図１５】位相調整量の決定方法の一例を示すフローチャートである。
【図１６】位相調整期間の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１６】
図４は、本実施形態に係る受信回路２１を備えた集積回路４０の一例を示す構成図である。集積回路４０は、シリアルデータとパラレルデータを相互変換するシリアライザデシリアライザ（ＳｅｒＤｅｓ）である。集積回路４０は、例えば、ＰＬＬ２２と、送信回路４１と、受信回路２１と、区切り検出回路３２とを備える。
【００１７】
ＰＬＬ２２は、ソースクロックＣＫに基づいて基準クロックＲＣＫを生成するクロック生成回路である。ＰＬＬ２２は、基準クロックＲＣＫを送信回路４１及び受信回路２１に向けて出力する。
【００１８】
送信回路４１は、伝送クロックＴＣＫと共に入力されるパラレルデータＰＩＮを、基準クロックＲＣＫに従ってシリアルデータＳＯＵＴに変換して出力するシリアライザ回路である。
【００１９】
受信回路２１は、シリアルデータＳＩＮを基準クロックＲＣＫに従ってパラレルデータＰＯＵＴに変換し、パラレルデータＰＯＵＴを再生クロックＲＣＣＫと共に出力するデシリアライザ回路である。
【００２０】
区切り検出回路３２は、受信回路２１から供給される再生クロックＲＣＣＫ及びパラレルデータＰＯＵＴに基づいて、受信回路２１から供給されるパラレルデータＰＯＵＴの区切りが論理的に正しいか否かを検出する。区切り検出回路３２は、パラレルデータＰＯＵＴが論理的に正しい区切り位置で出力されていない場合、受信回路２１の内部で使用される処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示（ＢＳＤ：Bit  Shift  Direction）を出力する。
【００２１】
図５は、シリアルデータＳＩＮをＣＤＲで受信する受信回路２１の一例を示す構成図である。受信回路２１は、ラッチ回路２３と、分周器２５と、デシリアライザ２６と、位相デジタル変換器（ＰＤＣ）１７と、制御部３５と、位相補間器（ＰＩ）２９とを備える。制御部３５は、デジタルフィルタ（ＤＦ）１８と、ビットシフトシーケンサ（ＢＳＳ：Bit  Shift  Sequencer）３４とを有する。
【００２２】
ラッチ回路２３は、処理クロックＣＬＫの立ち上がり又は立ち下がりのエッジタイミングでシリアルデータＳＩＮをラッチする。
【００２３】
分周器２５は、処理クロックＣＬＫを所定の比率で分周し、分周された再生クロックＲＣＣＫを出力する。再生クロックＲＣＣＫは、デシリアライザ２６、ＰＤＣ１７及びＤＦ１８に動作クロックとして与えられるとともに、受信回路２１の後段の回路（区切り検出回路３２等の回路）に転送される。
【００２４】
デシリアライザ２６は、処理クロックＣＬＫに従って、シリアルデータＳＩＮをパラレルデータＰＯＵＴに変換して出力する。デシリアライザ２６は、処理クロックＣＬＫが分周器５により分周された再生クロックＲＣＣＫに従って、ラッチ回路２３のシリアルの出力データＤＴを、所定の列数（例えば、１６列）のパラレルデータＰＯＵＴにデシリアライズする。また、デシリアライザ２６は、シリアルデータＳＩＮのバウンダリ（boundary）を検出してバウンダリ検出データＢＴを出力する。
【００２５】
位相デジタル変換器（ＰＤＣ）１７は、パラレルデータＰＯＵＴに基づいて、処理クロックＣＬＫとシリアルデータＳＩＮとの位相差を検出する位相差検出部の一例である。ＰＤＣ１７は、例えば、デシリアライザ２６から出力されるパラレルデータＰＯＵＴとバウンダリ検出データＢＴとを比較処理して、処理クロックＣＬＫの位相がシリアルデータＳＩＮの位相に比べて進んでいるか遅れているかを示す位相情報コードＰＤＣＣＯＤＥを再生クロックＲＣＣＫに従って生成する。例えば、ＰＤＣ１７は、処理クロックＣＬＫの立ち上がりエッジのタイミング（シリアルデータＳＩＮのサンプリングタイミング）が所定の理想タイミングよりも早いか遅いかを数値化（＋１，０，１）して出力する。
【００２６】
例えば、ＰＤＣ１７は、処理クロックＣＬＫの位相がシリアルデータＳＩＮの位相に比べて進んでいることが検出される場合、処理クロックＣＬＫの位相を遅らせる必要があることを示す「−１」の位相情報コードＰＤＣＣＯＤＥを出力する。また、例えば、ＰＤＣ１７は、処理クロックＣＬＫの位相がシリアルデータＳＩＮの位相に比べて遅れていることが検出される場合、処理クロックＣＬＫの位相を進める必要があることを示す「＋１」の位相情報コードＰＤＣＣＯＤＥを出力する。また、例えば、ＰＤＣ１７は、処理クロックＣＬＫの位相がシリアルデータＳＩＮの位相と同じであることが検出される場合、処理クロックＣＬＫの位相を調整する必要がないことを示す「０」の位相情報コードＰＤＣＣＯＤＥを出力する。
【００２７】
区切り検出回路３２は、デシリアライザ２６から出力されるパラレルデータＰＯＵＴのビット列を監視し、ビット列の並び方に基づいて、パラレルデータＰＯＵＴの区切りが論理的に正しいか否かを検出する。区切り検出回路３２は、パラレルデータＰＯＵＴの区切りが論理的に正しくないと検出した場合、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示（ＢＳＤ：Bit  Shift  Direction）を出力する。区切り検出回路３２は、パラレルデータＰＯＵＴの区切りが論理的に正しいと検出されるまで、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示ＢＳＤの出力を繰り返す。
【００２８】
制御部３５は、パラレルデータＰＯＵＴの区切りが論理的に正しくないと区切り検出回路３２によって検出された場合、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせるのに必要な位相調整量（位相シフト量）を、ＰＤＣ１７で検出された位相差の積算結果に応じて決定する。例えば、制御部３５は、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示ＢＳＤを区切り検出回路３２から受けた場合、当該位相調整量を指示する位相調整コードＰＩＣＯＤＥをＰＤＣ１７で検出された位相差の積算結果に応じて決定する。
【００２９】
制御部３５は、デジタルフィルタ（ＤＦ）１８と、ビットシフトシーケンサ（ＢＳＳ）３４とを有する。
【００３０】
デジタルフィルタ（ＤＦ）１８は、ＰＤＣ１７から出力される位相情報コードＰＤＣＣＯＤＥを累積積分して時間平均することにより、ＰＤＣ１７で検出された位相差の積算結果を算出し、処理クロックＣＬＫの位相シフト量（位相調整量）を指示する位相調整コードＰＩＣＯＤＥを出力する位相調整回路である。
【００３１】
ビットシフトシーケンサ（ＢＳＳ）３４は、区切り検出回路３２から指示ＢＳＤを受けた場合、ＰＤＣ１７で検出された位相差の積算結果に基づいて、位相調整コードＰＩＣＯＤＥに加えられる位相補正量（Bit  shift  add）を決定するシーケンサ回路である。ＰＤＣ１７で検出された位相差は、ＤＦ１８で積算される。ＰＤＣ１７で検出された位相差の積算結果は、例えば、シリアルデータＳＩＮの周波数と処理クロックＣＬＫの周波数との偏差情報（「周波数オフセット量F_offset」ともいう）であり、ＤＦ１８からＢＳＳ３４に供給される。ＤＦ１８は、ＢＳＳ３４から供給される位相補正量（Bit  shift  add）で補正された位相調整コードＰＩＣＯＤＥを出力する。
【００３２】
位相補間器（ＰＩ）２９は、制御部３５のＤＦ１８から出力された位相調整コードＰＩＣＯＤＥに応じて、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる。ＰＩ２９は、基準クロックＲＣＫを位相調整コードＰＩＣＯＤＥに応じて位相シフトさせた処理クロックＣＬＫを出力する。
【００３３】
受信回路２１は、このような構成を備えることにより、シリアルデータＳＩＮに含まれるジッタ量に応じて、処理クロックＣＬＫの立ち上がりエッジがシリアルデータＳＩＮのアイパターン（eye  pattern）の中心近辺に位置するように処理クロックＣＬＫの位相をＰＩ２９を含むＣＤＲループで調整する。処理クロックＣＬＫがシリアルデータＳＩＮの論理判定用のクロックとして再生されると共に、送信データがこの再生された処理クロックＣＬＫを使用して再生される。
【００３４】
また、上述のように、ＰＩ２９は、区切り検出回路３２からの指示ＢＳＤに基づいて、ＢＳＳ３４から供給される位相補正量（Bit  shift  add）で補正された位相調整コードＰＩＣＯＤＥで処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる。これにより、例えば、デシリアライザ２６から出力されるパラレルデータＰＯＵＴの区切りは論理的に正しくなり、パラレルデータＰＯＵＴのレイテンシは最速の状態に固定される。したがって、パラレルデータＰＯＵＴを受信する後段の回路はパラレルデータＰＯＵＴを論理的に正しく並べ替えなくてもよいので、受信回路２１の後段の回路構成の簡素化が可能となる。
【００３５】
図６は、デジタルフィルタ１８の一例を示す構成図である。デジタルフィルタ１８は、例えば、８ビットの周波数レジスタ（Freg[7:0]）５４と、１１ビットの位相レジスタ（Preg[10:0]）５７とを有する。
【００３６】
ＰＤＣ１７から出力される位相情報コードＰＤＣＣＯＤＥは、１段目のループで周波数レジスタ５４に積算され、周波数レジスタ５４で積算された積算値は、シリアルデータＳＩＮと処理クロックＣＬＫとの周波数偏差（すなわち、周波数オフセット量F_offset）に近似する。周波数レジスタ５４の積算値は、例えば、符号付きの８ビットデータである。
【００３７】
この１段目のループは、加算器５２と、クリップ回路５３と、周波数レジスタ５４とを有する。加算器５２は、位相情報コードＰＤＣＣＯＤＥと周波数レジスタ５４に格納された周波数オフセット量F_offsetとの加算値を出力する。クリップ回路５３は、加算器５２の出力値を周波数レジスタ５４に格納可能な値にクリップする。
【００３８】
２段目のループに含まれる位相レジスタ５７は、ＰＩ２９に対して位相調整コードＰＩＣＯＤＥを指示する。２段目のループは、加算器５６と、位相レジスタ５７とを有する。加算器５６は、周波数オフセット量F_offsetと、位相情報コードＰＤＣＣＯＤＥを３２（＝２５）倍した値と、位相補正量（Bit  shift  add）との加算値を出力する。加算器５６の出力値は、位相レジスタ５７で積算される。位相レジスタ５７で積算された積算値は、符号なしの整数で位相を表す。
【００３９】
例えば、1:10のデシリアライザ２６の場合、位相レジスタ５７の上位５ビット分が、ＰＩ２９に対して供給される位相調整コードＰＩＣＯＤＥである。位相調整コードＰＩＣＯＤＥの最下位ビットの変化が、ＰＩ２９の分解能を表す。位相調整コードＰＩＣＯＤＥが５ビットの場合、ＰＩ２９の分解能は、１／３２（＝１／２５）UIである。UIは、Unit  Intervalの略であり、シリアルデータＳＩＮの１ビットの期間を表す。
【００４０】
図７は、シリアルデータＳＩＮと処理クロックＣＬＫとの周波数オフセットが無い場合の周波数レジスタ５４に積算された周波数オフセット量F_offsetの挙動の一例を示す。図８は、シリアルデータＳＩＮと処理クロックＣＬＫとの周波数オフセットが無い場合の位相レジスタ５７に積算された位相調整コードＰＩＣＯＤＥの挙動の一例を示す。周波数オフセットが無い場合、周波数オフセット量F_offsetは、零付近に収束し、位相調整コードＰＩＣＯＤＥは、ある値付近に収束する。
【００４１】
図９は、シリアルデータＳＩＮと処理クロックＣＬＫとの周波数オフセットがある場合の周波数レジスタ５４に積算された周波数オフセット量F_offsetの挙動の一例を示す。図１０は、シリアルデータＳＩＮと処理クロックＣＬＫとの周波数オフセットがある場合の位相レジスタ５７に積算された位相調整コードＰＩＣＯＤＥの挙動の一例を示す。一定の周波数オフセットがある場合、周波数オフセット量F_offsetは、その周波数オフセット量に応じた値に収束し、位相調整コードＰＩＣＯＤＥは、その周波数オフセット量に応じた傾きで増加又は減少する。位相レジスタ５７の積算値は、符号なしの整数で位相を表すので、５ビット幅の位相調整コードＰＩＣＯＤＥは、３１から０に折り返される。
【００４２】
図１１は、位相調整コードＰＩＣＯＤＥに従って処理クロックＣＬＫの位相をシフトさせるＰＩ２９の動作波形の一例を示すタイミングチャートである。ＰＩ２９は、位相調整コードＰＩＣＯＤＥに応じて、基準クロックＲＣＫの位相をずらして処理クロックＣＬＫを生成する。位相調整コードＰＩＣＯＤＥを変化させたとき、処理クロックＣＬＫが位相調整コードＰＩＣＯＤＥの値になるまでのレイテンシは、ＰＩ２９の実力に依存する。
【００４３】
図１２は、シリアルデータＳＩＮの受信方法の一例を示すフローチャートである。図５，６を参照して図１２について説明する。
【００４４】
ステップＳ１００で、デシリアライザ２６は、処理クロックＣＬＫに従って、シリアルデータＳＩＮをパラレルデータＰＯＵＴにシリアル−パラレル変換する。ステップＳ１１０で、ＰＤＣ１７は、パラレルデータＰＯＵＴに基づいて、処理クロックＣＬＫとシリアルデータＳＩＮとの位相差を検出する。
【００４５】
ステップＳ１２０で、区切り検出回路３２は、デシリアライザ２６から出力されたパラレルデータＰＯＵＴの区切りが論理的に正しいか否かを判定する。区切り検出回路３２は、パラレルデータＰＯＵＴの区切りが論理的に正しいと判定した場合（ステップＳ１２０：ＹＥＳ）、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示ＢＳＤを出力しない。一方、区切り検出回路３２は、パラレルデータＰＯＵＴの区切りが論理的に正しくないと判定した場合（ステップＳ１２０：ＮＯ）、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる指示ＢＳＤを出力する。
【００４６】
ステップＳ１３０で、制御部３５は、ビットシフトの指示ＢＳＤを受けると、処理クロックＣＬＫの位相を１ビット分シフトさせるのに必要な位相調整量を指示する位相調整コードＰＩＣＯＤＥを、周波数レジスタ５４に積算された周波数オフセット量F_offsetに応じて決定する。
【００４７】
ステップＳ１４０で、ＰＩ２９は、周波数オフセット量F_offsetに応じて制御部３５により決定された位相調整コードＰＩＣＯＤＥで、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分（１UI分）シフトさせる位相調整を行う。
【００４８】
例えば、ＢＳＳ３４は、ステップＳ１３０で、ビットシフトの指示ＢＳＤを受けると、指示ＢＳＤを受けた時点の周波数レジスタ５４の積算値（周波数オフセット量F_offset）を用いて、１ビットシフトのシーケンスを発動する。
【００４９】
ＢＳＳ３４は、１ビットシフトのシーケンスを発動すると、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算をスイッチ５１（図６参照）により停止させるループカット指示（Loop  Cut  Direction：ＬＣＤ）を出力する。また、ＢＳＳ３４は、１ビットシフトのシーケンスを発動すると、周波数オフセット量F_offsetの位相レジスタ５７への積算をスイッチ５５により停止させるループカット指示ＬＣＤを出力する。ループカット指示ＬＣＤの出力により、クロック＆データリカバリ（ＣＤＲ）を行うためのループが切断される。
【００５０】
さらに、ＢＳＳ３４は、１ビットシフトのシーケンスを発動すると、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算の停止時点の周波数レジスタ５４の積算値の大きさに応じて、処理クロックＣＬＫの位相を１UI分シフトさせるまでの調整刻みaの長さを決定する。調整刻みaは、再生クロックＲＣＣＫの１サイクル当たりの処理クロックＣＬＫの位相の調整分解能を表す。再生クロックＲＣＣＫの１サイクルは、パラレルデータＰＯＵＴの１区切り当たりのビット数（ビット幅）に等しい。
【００５１】
例えば、ＢＳＳ３４は、周波数オフセット量F_offsetが正値であり且つ周波数オフセット量F_offsetの絶対値が大きいほど、調整刻みaを長くする。これにより、周波数オフセット量F_offsetが大きくても、処理クロックＣＬＫの位相を調整刻みaで徐々に１UI分シフトさせることができる。そして、再生クロックＲＣＣＫの周期は処理クロックＣＬＫの位相調整時に大きく変化しないため、再生クロックＲＣＣＫのクロック欠けを防止することができる。
【００５２】
ＢＳＳ３４は、上記のように決定した調整刻みaで処理クロックＣＬＫの位相が１UI分シフトするまで、位相レジスタ５７に位相補正量（Bit  shift  add）を加算器５６によって積算する。
【００５３】
また、ＢＳＳ３４は、１ビットシフトのシーケンスを発動すると、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算の停止時点の周波数レジスタ５４の積算値の大きさに応じて、ＰＩ２９が処理クロックＣＬＫの位相をシフトさせる方向を変化させる。
【００５４】
なお、シリアルデータＳＩＮの発振周波数が処理クロックＣＬＫの発振周波数よりも大きいときを、周波数オフセット量F_offsetは正値とし、シリアルデータＳＩＮの発振周波数が処理クロックＣＬＫの発振周波数よりも小さいときを、周波数オフセット量F_offsetは負値とする。
【００５５】
例えば、ＢＳＳ３４は、周波数オフセット量F_offsetが所定の負値よりも大きな値（正値も含む）の場合、処理クロックＣＬＫの位相が順方向に１UI分進むまで、負の補正量（CODE Shift(-)）を位相補正量（Bit  shift  add）として位相レジスタ５７に積算する。
【００５６】
一方、ＢＳＳ３４は、周波数オフセット量F_offsetが所定の負値よりも小さな値の場合、処理クロックＣＬＫの位相が順方向に１UI分進むまで、正の補正量（CODE Shift(+)）を位相補正量（Bit  shift  add）として位相レジスタ５７に積算する。つまり、ＰＩ２９は、周波数オフセット量F_offsetが所定の負値よりも小さい場合、周波数オフセット量F_offsetがその所定の負値よりも大きな場合とは逆方向に、処理クロックＣＬＫの位相をシフトさせる。なぜならば、周波数オフセット量F_offsetが負値であり周波数オフセット量F_offsetの絶対値が所定値よりも大きい場合、順方向の位相シフトでは、周波数オフセット量F_offsetを零へ収束させるのが追いつかないおそれがあるからである。
【００５７】
ＰＩ２９は、上記のように位相レジスタ５７に積算された位相調整コードＰＩＣＯＤＥに従って、処理クロックＣＬＫの位相をシリアルデータＳＩＮの１ビット分シフトさせる。
【００５８】
このように、ＢＳＳ３４は、ビットシフトの指示ＢＳＤを受けて１ビットシフトのシーケンスを発動すると、指示ＢＳＤを受けた時点の周波数レジスタ５４の積算値を参照する。そして、ＢＳＳ３４は、その参照値を用いて、どのようなシーケンスを採用して１ビットシフトするのかを所定の決定方法に従って決定し、ループカット指示ＬＣＤ及び位相補正量（Bit  shift  add）をＤＦ１８に対して指示する。これにより、ＰＩ２９は、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算の停止時点の周波数レジスタ５４の積算値に応じて、処理クロックＣＬＫの位相を１ビット分シフトさせるシーケンスを実行できる。
【００５９】
ＢＳＳ３４は、１ビットシフトのシーケンス完了後、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算を再開させる。位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算の再開後、区切り検出回路３２は、デシリアライザ２６から出力されるパラレルデータＰＯＵＴを再度監視する。区切り検出回路３２は、パラレルデータＰＯＵＴの区切りが再び論理的に正しくないと判定した場合、ビットシフトの指示ＢＳＤを再び出力する。ＰＩ２９は、パラレルデータＰＯＵＴの区切りが論理的に正しいと判定されるまで、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算の停止時点の周波数レジスタ５４の積算値に応じて、処理クロックＣＬＫの位相を１ビット分シフトさせるシーケンスを繰り返す。
【００６０】
図１３は、ＢＳＳ３４による１ビットシフトのシーケンスの決定方法の一例を示すフローチャートである。
【００６１】
ステップＳ１０で、ビットシフトの指示ＢＳＤがアサートされると、ＢＳＳ３４は、ループカット指示ＬＣＤをアサートし、上述のようにＣＤＲのループを切断する。
【００６２】
ステップＳ２０〜Ｓ２９で、ＢＳＳ３４は、ビットシフトの指示ＢＳＤがアサートされた時点での周波数レジスタ５４に積算された周波数オフセット量F_offsetに応じて、処理クロックＣＬＫの位相を１ビット分シフトさせる特定のシーケンス動作を決定する。ＢＳＳ３４は、複数のシーケンス動作の候補（ステップＳ５０，Ｓ３１〜Ｓ４０）の中から特定のシーケンス動作を決定する。
【００６３】
ＢＳＳ３４は、例えば、周波数オフセット量F_offsetと、再生クロックＲＣＣＫの１サイクルでＰＩ２９に与えることができるコード変化量bとに応じて、処理クロックＣＬＫの位相を１UI分シフトさせる。
【００６４】
ＢＳＳ３４は、例えば、周波数オフセット量F_offsetが正値である場合又は負の周波数オフセット量F_offsetの絶対値がコード変化量bよりも小さい場合、負の補正量（CODE Shift(-)）を位相レジスタ５７に積算する位相調整期間を周波数オフセット量F_offsetの大きさに応じて変化させる（図１４参照）。図１３において、周波数オフセット量F_offsetが正値である場合又は負の周波数オフセット量F_offsetの絶対値がコード変化量bよりも小さい場合とは、ステップＳ２１〜Ｓ２９のいずれかが選択される場合である。図１３中のFregとは、周波数レジスタ５４に格納された積算値であり、周波数オフセット量F_offsetを表す。
【００６５】
負の補正量（CODE Shift(-)）を位相レジスタ５７に積算する位相調整期間では、ＣＤＲのループが切断され、周波数レジスタ５４に負の補正量（-80）が積算されることで、再生クロックＲＣＣＫの１周期で2/32UIの位相をシフトさせることができる。周波数オフセット量F_offsetが考慮されると、調整刻みa（再生クロックＲＣＣＫの１周期当たりの処理クロックＣＬＫの位相の調整分解能）は、(2/32+周波数オフセット量F_offsetの考慮分)UIとなる。
【００６６】
例えば、ＢＳＳ３４は、ステップＳ２１が成立するとき（-72≦Freg<-56のとき）、中央値-64を用いて、調整刻みaを1/32UI（＝(2/32-(64/64)/32)UI）と決定する。よって、ＰＩ２９は、再生クロックＲＣＣＫの32周期分の位相調整期間をかけて、処理クロックＣＬＫの位相を１UI分シフトさせることができる。
【００６７】
同様に、ＢＳＳ３４は、ステップＳ２２が成立するとき（-56≦Freg<-40のとき）、中央値-48を用いて、調整刻みaを1.25/32UI（＝(2/32-(48/64)/32)UI）と決定する。よって、ＰＩ２９は、再生クロックＲＣＣＫの約25周期分の位相調整期間をかけて、処理クロックＣＬＫの位相を１UI分シフトさせることができる。
【００６８】
同様に、ＢＳＳ３４は、ステップＳ２８が成立するとき（40≦Freg<56のとき）、中央値48を用いて、調整刻みaを2.75/32UI（＝(2/32+(48/64)/32)UI）と決定する。よって、ＰＩ２９は、再生クロックＲＣＣＫの約11周期分の位相調整期間をかけて、処理クロックＣＬＫの位相を１UI分シフトさせることができる。
【００６９】
ステップＳ６０で、ＢＳＳ３４は、処理クロックＣＬＫの位相を１UI分シフトさせた後、ＣＤＲのループの切断を解除し、位相情報コードＰＤＣＣＯＤＥの周波数レジスタ５４への積算を再開させる。
【００７０】
一方、ＢＳＳ３４は、例えば、負の周波数オフセット量F_offsetの絶対値がコード変化量bよりも大きい場合、正の補正量CODE shift(+)）を位相レジスタ５７に積算する位相調整期間を（パラレルデータＰＯＵＴの１区切り当たりのビット数−１）回設ける（図１６参照）。図１３において、負の周波数オフセット量F_offsetの絶対値がコード変化量bよりも大きい場合とは、ステップＳ２０が成立する場合である。ステップＳ２０が成立する場合、ＢＳＳ３４は、逆回り９ビットシフト処理を行う。
【００７１】
図１５は、逆回り９ビットシフト処理の一例を示すフローチャートである。負の周波数オフセット量F_offsetの絶対値がコード変化量bよりも大きい場合、順方向の位相シフトでは、周波数オフセット量F_offsetを零へ収束させるのが追いつかないおそれがある。そこで、ＢＳＳ３４は、正の補正量（CODE Shift(+)）を位相レジスタ５７に積算することを９回実施する。９回実施されることで、順方向への１ビットシフトが実施されることになる。
【００７２】
ステップＳ５１で、ＢＳＳ３４は、調整刻みaを3.25/32UI（＝(2/32-(80/64)/32)UI）と決定する。よって、ＰＩ２９は、再生クロックＲＣＣＫの約9周期分の位相調整期間をかけて、処理クロックＣＬＫの位相を１UI分シフトさせることができる。ただし、一度に９ビット分の位相シフトが行われると、周波数レジスタ５４に格納された周波数オフセット量F_offsetと実際の周波数オフセット量との誤差が大きくなり、正しく９UI分の位相シフトができないおそれがある。
【００７３】
そこで、ステップＳ５２において、ＢＳＳ３４は、ステップＳ５１で１UI分の位相シフトをした後のインターバル（図１６参照）にＣＤＲのループの切断を解除して、デシリアライザ２６にシリアルデータＳＩＮを再度ビットロックさせる。そして、ＢＳＳ３４は、ステップＳ５３で、ステップＳ５１，Ｓ５２で行われる１ビット分の位相シフトを９回繰り返すことで、順方向への１ビットシフトを完了させる。これにより、周波数レジスタ５４に格納された周波数オフセット量F_offsetと実際の周波数オフセット量との誤差の増大を抑えることができる。
【００７４】
以上、受信回路、集積回路及び受信方法を実施形態により説明したが、本発明は上記実施形態に限定されるものではない。他の実施形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
【符号の説明】
【００７５】
１，２１  受信回路
２，２２  ＰＬＬ
３，２３  ラッチ回路
５，２５  分周器
６，２６  デシリアライザ
７，１７  位相デジタル変換器（ＰＤＣ）
８，１８  デジタルフィルタ（ＤＦ）
９，２９  位相補間器（ＰＩ）
１０  データアライン回路
１１  連結回路
１２，３２  区切り検出回路
１３  選択回路
３４  ビットシフトシーケンサ（ＢＳＳ）
３５  制御部
４０  集積回路
４１  送信回路
５１，５５  スイッチ
５４  周波数レジスタ
５７  位相レジスタ
【図１】
2016046883.tif 000003
【図２】
2016046883.tif 000004
【図３】
2016046883.tif 000005
【図４】
2016046883.tif 000006
【図５】
2016046883.tif 000007
【図６】
2016046883.tif 000008
【図７】
2016046883.tif 000009
【図８】
2016046883.tif 000010
【図９】
2016046883.tif 000011
【図１０】
2016046883.tif 000012
【図１１】
2016046883.tif 000013
【図１２】
2016046883.tif 000014
【図１３】
2016046883.tif 000015
【図１４】
2016046883.tif 000016
【図１５】
2016046883.tif 000017
【図１６】
2016046883.tif 000018
【手続補正書】
【提出日】平成28年7月27日(2016.7.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器とを備える、受信回路。
【請求項２】
前記制御部は、
前記位相差を積算することにより前記位相差の積算結果を算出する位相調整回路と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合に、前記位相差の積算結果に基づいて、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相補正量を決定するシーケンサ回路と
を有し、
前記位相調整回路は、前記位相差の積算結果と前記位相補正量に基づいて前記位相調整量を決定する、請求項１に記載の受信回路。
【請求項３】
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記位相差の積算が停止し、
前記位相補間器は、前記積算の停止時の前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる、請求項１に記載の受信回路。
【請求項４】
前記積算は、前記処理クロックの位相が前記シリアルデータの１ビット分シフトした後に再開する、請求項３に記載の受信回路。
【請求項５】
前記位相補間器は、前記積算の再開後、前記デシリアライザから出力された前記パラレルデータの区切りが再び論理的に正しくない場合、前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しいと検出されるまで、前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせることを繰り返す、請求項４に記載の受信回路。
【請求項６】
前記制御部は、前記位相補間器が前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるまでの調整刻みの長さを、前記積算結果に応じて決定する、請求項１に記載の受信回路。
【請求項７】
前記制御部は、前記位相差の積算値が大きいほど前記調整刻みを長くする、請求項６に記載の受信回路。
【請求項８】
前記制御部は、前記位相差の積算値の大きさに応じて、前記位相補間器が前記処理クロックの位相をシフトさせる方向を変化させる、請求項１に記載の受信回路。
【請求項９】
前記位相補間器は、前記積算値が第１の負値よりも小さい場合、前記積算値が前記第１の負値よりも大きな場合とは逆方向に、前記処理クロックの位相をシフトさせる、請求項８に記載の受信回路。
【請求項１０】
前記積算結果は、前記シリアルデータの周波数と前記処理クロックの周波数との偏差情報である、請求項１に記載の受信回路。
【請求項１１】
処理クロックに従ってシリアルデータをパラレルデータに変換するデシリアライザと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する位相差検出部と、
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくない場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する制御部と、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる位相補間器と
を有する受信回路と、
前記位相補間器に基準クロックを供給するクロック生成回路とを備える、集積回路。
【請求項１２】
前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しいか否かを検出する区切り検出回路を備え、
前記制御部は、前記区切り検出回路が前記デシリアライザから出力された前記パラレルデータの区切りが論理的に正しくないと検出した場合に、前記位相調整量を決定する、請求項１１に記載の集積回路。
【請求項１３】
処理クロックに従ってシリアルデータをパラレルデータに変換する変換ステップと、
前記パラレルデータに基づいて、前記処理クロックと前記シリアルデータとの位相差を検出する検出ステップと、
前記パラレルデータの区切りが論理的に正しいか否かを判定する判定ステップと、
前記パラレルデータの区切りが論理的に正しくないと判定された場合、前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせるのに必要な位相調整量を、前記位相差の積算結果に応じて決定する決定ステップと、
前記積算結果に応じて決定された前記位相調整量で前記処理クロックの位相を前記シリアルデータの１ビット分シフトさせる調整ステップとを有する、受信方法。
【国際調査報告】
2016046883.tif 000019
2016046883.tif 000020