(57)【要約】【課題】入力データのデータ周期を検出し、検出した入力データのデータ周期に応じた周波数の高速クロックを生成し、データとクロックを再生することが可能なクロックデータリカバリ回路を提供する。【解決手段】入力データをサンプリングしてサンプリング結果を生成するサンプリング部と、サンプリングに用いるクロック周波数を決定するクロック周波数制御部と、決定されたクロック周波数のクロックを生成するクロック生成部と、サンプリング結果と再生クロックとに基づいて位相誤差情報を生成する位相比較部と、生成された位相誤差情報に応じた周波数の再生クロックを生成する数値制御発振部と、生成された再生クロックを用いてサンプリング結果を識別再生して再生データを出力する識別再生部と、を備え、クロック周波数制御部は、入力データのデータレートを検出し、検出したデータレートに応じてサンプリングに用いるクロック周波数を変化させ、変化したクロック周波数の再生クロックと再生データとが生成される。【選択図】  図２
2016171387.tif 000002
【特許請求の範囲】
【請求項１】
入力データをサンプリングしてサンプリング結果を生成するサンプリング部と、
前記サンプリングに用いるクロック周波数を決定するクロック周波数制御部と、
決定された前記クロック周波数のクロックを生成するクロック生成部と、
前記サンプリング結果と再生クロックとに基づいて位相誤差情報を生成する位相比較部と、
生成された前記位相誤差情報に応じた周波数の前記再生クロックを生成する数値制御発振部と、
生成された前記再生クロックを用いて前記サンプリング結果を識別再生して再生データを出力する識別再生部と、を備え、
前記クロック周波数制御部は、前記入力データのデータレートを検出し、検出した前記データレートに応じて前記サンプリングに用いるクロック周波数を変化させ、変化した前記クロック周波数の前記再生クロックと前記再生データとが生成される、
ことを特徴とするクロックデータリカバリ回路。
【請求項２】
請求項１に記載のクロックデータリカバリ回路であって、
前記クロック周波数制御部は、前記サンプリング結果の変化点を示す変化点情報と、前記入力データのデータレートの変化を示す変化通知信号または前記クロック周波数が変更されたことを示す変更通知信号とに基づいて、前記入力データの周期であるデータ周期情報を検出し、検出した前記データ周期情報に応じた前記クロック周波数を決定し、前記変更通知信号を出力する、
ことを特徴とするクロックデータリカバリ回路。
【請求項３】
請求項２に記載のクロックデータリカバリ回路であって、
前記クロック周波数制御部は、前記サンプリング結果に含まれる隣接ビット同士の排他的論理和をとることにより前記変化点情報を生成する、
ことを特徴とするクロックデータリカバリ回路。
【請求項４】
請求項３に記載のクロックデータリカバリ回路であって、
前記クロック周波数制御部は、前記隣接ビットがＭＳＢとＬＳＢである場合には、低速クロックを１周期分遅らせたときのＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）と当該周期のＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）との排他的論理和をとる、
ことを特徴とするクロックデータリカバリ回路。
【請求項５】
請求項１に示すクロックデータリカバリ回路であって、
前記クロック周波数制御部は、外部から通知される前記入力データのデータレートを用いて前記サンプリングに用いるクロック周波数を変化させる、
ことを特徴とするクロックデータリカバリ回路。
【請求項６】
請求項１〜５のいずれか１項に記載のクロックデータリカバリ回路であって、
生成された前記位相誤差情報から高周波成分を除去した位相誤差情報を生成する低域通過フィルタ部、
を備えることを特徴とするクロックデータリカバリ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックデータリカバリ回路に関し、特にデータレートが可変な入力データに追従してクロックを再生し、データを再生する技術に関する。
【背景技術】
【０００２】
近年の通信機器やディジタル機器の分野では、大容量のデータを高速に伝送するため、高速シリアル伝送が広く使われている。また、半導体の微細化技術発達によるＬＳＩの動作スピード向上に伴い、通信装置間・ＬＳＩ間のデータ伝送にもシリアル伝送方式が使われている。さらに、ＵＳＢやＰＣＩ  Ｅｘｐｒｅｓｓ（Ｒ）などの高速シリアルインタフェース規格が存在しており、様々なデータレートのシリアル伝送方式が使用されている。
【０００３】
今日使用されるシリアル伝送方式には、データに同期したクロックの伝送を行わないものが多く存在する。これらのシリアル伝送では、受信したデータからクロックを再生し、再生したクロックに同期したデータの識別再生を行う必要がある。上述の復元動作を実現する回路がクロックデータリカバリ回路である。様々なデータレートのシリアル伝送が存在しているため、複数のデータレートに対応可能なクロックデータリカバリ回路が求められている。
【０００４】
従来の複数のデータレートに対応可能なクロックデータリカバリ回路として、特許文献１がある。これは、入力データのタイミングに合うように出力クロックの位相を調整するクロック出力回路と、クロック信号に基づいて入力データを識別し、入力データを再生出力する識別回路と、クロック信号を分配し、第１のクロック信号と第２のクロック信号を出力する第１の分配器と、第２のクロック信号を入力として、この第２のクロック信号をｎ（ｎは整数）分周したｎ分周クロック信号を出力する第１の分周器とを備えるものである。特許文献１の構成では、入力データのデータレートをｎ分周したデータレートにおいても、受信したデータからクロックを再生し、再生したクロックに同期したデータの識別再生を行うことが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５５５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術には以下の課題がある。
【０００７】
特許文献１のクロックデータリカバリ回路は、入力データと、入力データをｎ分周したデータのデュアルレートに対し対応可能である。しかし、これら２種類のデータレート以外の入力データには対応できない。このため、複数のレートに対応する為には、対応すべき入力データのレート種に応じてクロックデータリカバリ回路を複数用意する必要があり、論理規模が増大するという課題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、入力データのデータ周期を検出し、検出した入力データのデータ周期に応じた周波数の高速クロックを生成し、データとクロックを再生することが可能なクロックデータリカバリ回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるクロックデータリカバリ回路は、入力データをサンプリングしてサンプリング結果を生成するサンプリング部と、前記サンプリングに用いるクロック周波数を決定するクロック周波数制御部と、決定された前記クロック周波数のクロックを生成するクロック生成部と、前記サンプリング結果と再生クロックとに基づいて位相誤差情報を生成する位相比較部と、生成された前記位相誤差情報に応じた周波数の前記再生クロックを生成する数値制御発振部と、生成された前記再生クロックを用いて前記サンプリング結果を識別再生して再生データを出力する識別再生部と、を備え、前記クロック周波数制御部は、前記入力データのデータレートを検出し、検出した前記データレートに応じて前記サンプリングに用いるクロック周波数を変化させ、変化した前記クロック周波数の前記再生クロックと前記再生データとが生成される、ことを特徴とするクロックデータリカバリ回路として構成される。
【発明の効果】
【００１０】
本発明にかかるクロックデータリカバリ回路によれば、入力データのデータ周期を検出し、検出した入力データのデータ周期に応じた周波数の高速クロックを生成し、データとクロックを再生することが可能である。また、入力データのデータ周期に応じて高速クロックの周波数を生成できることから、クロックデータリカバリ回路の閉ループ特性を固定化出来るため、データレートに応じて個別の論理を組み込む必要が無く、論理規模の増大を抑えることが可能である。また、入力データのデータレートに対し適切なサンプリング周波数を使用するため、入力データのデータレートに依らず常に高いサンプリング周波数を使用する場合と比較して消費電力を低減することが可能である。
【図面の簡単な説明】
【００１１】
【図１】ネットワーク装置の受信部のブロック図である。
【図２】本発明のクロックデータリカバリ回路のブロック図である。
【図３】サンプリング部のタイムチャートである。
【図４】クロック周波数制御部のブロック図である。
【図５】変化点情報生成部のブロック図である。
【図６（ａ）】データ周期検出部のフローチャートである。
【図６（ｂ）】データ周期検出部のフローチャートである。
【図７】データ周期検出部のタイムチャートである。
【図８】周波数情報生成部のフローチャートである。
【図９】クロック生成部のブロック図である。
【図１０】位相比較器のブロック図である。
【図１１】立ち上がり情報生成部のブロック図である。
【図１２】数値制御発振器の持つテーブルである。
【図１３】識別再生部のブロック図である。
【図１４】再生データ生成部のブロック図である。
【図１５】クロックデータリカバリ回路の他のブロック図である。
【図１６】クロック周波数制御部の他のブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して説明する。
【実施例１】
【００１３】
図１に、本発明にかかるクロックデータリカバリ回路の、ネットワーク装置の受信部への適用例を示す。ネットワーク装置の受信部は、光モジュール１とクロックデータリカバリ回路２とＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）３から構成される。
【００１４】
光モジュール１は、光受信信号１１を受信し、内部で光／電気変換を実施し、光受信信号１１に応じた入力データ１２と、入力データ１２のデータレートが変化したことを通知するデータレート変化通知信号１３をクロックデータリカバリ回路２へ出力する。クロックデータリカバリ回路２は、入力データ１２とデータレート変化通知信号１３を受信し、再生クロック２１と再生データ２２をＰＨＹ３へ出力する。本部位の内部処理手順の詳細は後で示す。ＰＨＹ３は、再生クロック２１と再生データ２２を受信し、再生データ２２から通信確立に必要なディジタル情報を復号化した復号データ３１を出力する。これらの手順を踏まえることで、送信部から送られるデータの同期確立が可能となる。
【００１５】
図２に、本発明の実施形態におけるクロックデータリカバリ回路の構成を示す。本クロックデータリカバリ回路は、クロック生成部６で生成した高速クロック６０１により入力データ１２を符号化しサンプリング結果４０１を出力するサンプリング部４と、サンプリング結果４０１とデータレート変化通知信号１３から、本クロックデータリカバリ回路の動作に必要な高速クロック６０１の周波数を演算し、周波数情報５０１をクロック生成部６へ出力するクロック周波数制御部５と、周波数情報５０１に応じて、本クロックデータリカバリ回路の内部動作で使用する高速クロック６０１と低速クロック６０２を出力するクロック生成部６と、サンプリング結果４０１と数値制御発振器９で生成した再生クロック２１の位相比較を行い、位相誤差情報７０１を低域通過フィルタ８へ出力する位相比較器７と、位相誤差情報７０１から高周波成分を除去し位相誤差情報（フィルタ後）８０１を数値制御発振器９へ出力する低域通過フィルタ８と、位相誤差情報（フィルタ後）８０１と再生クロック２１の周波数の対応を示すテーブルを用いて、位相誤差情報（フィルタ後）８０１に応じた周波数の再生クロック２１を出力する数値制御発振器９と、サンプリング結果４０１を再生クロック２１に同期させた再生データ２２を出力する識別再生部１０から構成される。なお、サンプリング４・クロック周波数制御部５・位相比較器７・低域通過フィルタ８・数値制御発振器９・識別再生部１０は、低速クロック６０２に同期動作する。
【００１６】
以下各機能ブロックの説明を行う。
【００１７】
サンプリング部４は、入力データ１２を高速クロック６０１により符号化しサンプリング結果４０１を出力する。なお、このブロックは低速クロック６０２に同期動作する。
【００１８】
図３に、サンプリング部４の動作の一例を示す。高速クロック６０１の立ち上がりタイミングにおける入力データ１２の値を識別し、サンプリングデータ４１０１とする。サンプリングデータ４１０１は、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）が最速のデータ、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）が最遅のデータとしてバス信号展開し表記している。低速クロック６０２の立ち上がりタイミングにおけるサンプリングデータ４１０１の値をサンプリング結果４０１として出力する。
【００１９】
図４に、クロック周波数制御部５のブロック図を示す。クロック周波数制御部５は、サンプリング結果４０１の値が変化する変化点が存在するか判別し、判別結果を変化点情報５１１としてデータ周期検出部５２へ出力する変化点情報生成部５１と、データレート変化通知信号１３と変化点情報５１１と、周波数情報生成部５３より出力したクロック周波数変更通知信号５３１を用いて、入力データ１２の周期を検出し、データ周期情報５２１として周波数情報生成部５３へ出力するデータ周期検出部５２と、データ周期情報５２１に応じた周波数情報５０１を出力し、周波数情報５０１を変更したことを通知するクロック周波数変更通知信号５３１をデータ周期検出部５２へ出力する周波数情報生成部５３から構成される。なお、これらのブロックは低速クロック６０２に同期動作する。
【００２０】
図５に、変化点情報生成部５１のブロック図を示す。変化点情報生成部５１は、ＸＯＲ回路によりサンプリング結果４０１の隣接ビット同士の排他的論理和をとり、変化点情報５１１を生成する。ただし、サンプリング結果４０１のＭＳＢとＬＳＢの排他的論理和をとる際は、入力データ１２の時間軸上での連続性を確保するため、Ｚ−１回路により低速クロック６０２１周期分遅らせたＭＳＢと当該時刻のＬＳＢとの排他的論理和をとる。これらの処理により、入力データがＬｏｗからＨｉｇｈまたはＨｉｇｈからＬｏｗに変化するとき、変化点情報５１１はＨｉｇｈとなる。
【００２１】
図６（ａ）、（ｂ）に、データ周期検出部５２のフローチャートを示す。図６（ａ）、（ｂ）に示すフローチャートにおいて、データ周期検出部５２は、まずデータレート変化通知信号１３またはクロック周波数変更通知信号５３１より通知があったか確認し（Ｓ６０１）、通知があった場合（ＹＥＳ）、Ｓ６０２に進み、通知が無い場合（ＮＯ）、Ｓ６０６に進む。Ｓ６０２では、変化点情報５１１がＨｉｇｈであるかを確認し、変化点情報５１１がＨｉｇｈであるビットが存在するとき（ＹＥＳ）、Ｓ６０３に進み、変化点情報５１１がＨｉｇｈであるビットが存在しないとき（ＮＯ）、Ｓ６０２に進む。Ｓ６０３では、Ｓ６０１で通知があった後、Ｓ６０２で検出したビット以前に変化点情報５１１がＨｉｇｈであるビットが存在したか確認し、変化点情報５１１がＨｉｇｈであるビットが存在するとき（ＹＥＳ）、Ｓ６０４に進み、変化点情報５１１がＨｉｇｈであるビットが存在しないとき（ＮＯ）、Ｓ６０２に進む。
【００２２】
Ｓ６０４では、変化点情報５１１がＨｉｇｈであるビットと、変化点情報５１１が最後にＨｉｇｈであったビットとの間隔が何ビットあるか演算し、前回のビットと今回のビットの間隔を変化点間隔情報５２０１とし、Ｓ６０５に進む。Ｓ６０５では、変化点間隔情報５２０１をデータ周期情報５２１とし、Ｓ６０６に進む。Ｓ６０６では、変化点情報５１１がＨｉｇｈであるかを確認し、変化点情報５１１がＨｉｇｈであるビットが存在する場合（ＹＥＳ）、Ｓ６０７に進み、変化点情報５１１がＨｉｇｈであるビットが存在しない場合（ＮＯ）、処理を終了する。Ｓ６０７では、変化点情報５１１がＨｉｇｈであるビットと、変化点情報５１１が最後にＨｉｇｈであったビットとの間隔が何ビットあるか演算し、前回のビットと今回のビットの間隔を変化点間隔情報５２０１とし、Ｓ６０８に進む。
【００２３】
Ｓ６０８では、変化点間隔情報５２０１と直前の時刻の変化点間隔情報５２０１の差を変化点間隔偏差５２０２とし、Ｓ６０９に進む。Ｓ６０９では、変化点間隔偏差５２０２が１より大きいか確認し、１より大きいとき（ＹＥＳ）Ｓ６１０に進み、１以下のとき（ＮＯ）Ｓ６１１に進む。なお、変化点間隔情報５２０１の値は、サンプリング時の位相によって誤差として最大１のずれが生じるため、変化点間隔情報５２０１の差が１より大きいときのみＳ６１０の処理を実行している。Ｓ６１０では、変化点間隔偏差５２０２を変化点間隔の差５２０３とし、Ｓ６１２に進む。Ｓ６１１では変化点間隔の差５２０３は前値保持とし、Ｓ６１２に進む。Ｓ６１２では、変化点間隔情報５２０１・変化点間隔の差５２０３・直前の時刻のデータ周期情報５２１のうち最小のもので、データ周期情報５２１の値を更新し、処理を終了する。
【００２４】
図７に、データ周期検出部５２のタイムチャートを示す。時刻ｔ（１）において、データレート変化通知信号１３がＬｏｗからＨｉｇｈに変化し、入力データ１２のデータレートが変化したことを通知している（図６（ａ）のＳ６０１のＹＥＳ）ため、変化点情報５１１がＨｉｇｈとなるビットが存在するか確認する（図６（ａ）のＳ６０２）。変化点情報５１１の２ビット目にＨｉｇｈとなるビットが存在するため（図６（ａ）のＳ６０２のＹＥＳ）、データレート変化通知信号１３より通知があった後に、時刻ｔ（１）の２ビット目以前に変化点情報５１１がＨｉｇｈであるビットを受信したか確認する（図６（ａ）のＳ６０３）。データレート変化通知信号１３より通知があった後、時刻ｔ（１）の２ビット目以前に変化点情報５１１がＨｉｇｈとなるビットは存在しないため（図６（ａ）のＳ６０３のＮＯ）、変化点情報５１１がＨｉｇｈとなるビットが存在するかの確認に戻る（Ｓ６０２）。
【００２５】
次に、時刻ｔ（２）において、変化点情報５１１の１ビット目がＨｉｇｈであるため（図６（ａ）のＳ６０２のＹＥＳ）、データレート変化通知信号１３より通知があった後に、時刻ｔ（２）の１ビット目以前で変化点情報５１１がＨｉｇｈであるビットを受信したか確認する（図６（ａ）のＳ６０３）。時刻ｔ（１）の２ビット目に変化点情報がＨｉｇｈとなるビットが存在するため（図（ａ）のＳ６０３のＹＥＳ）、時刻ｔ（１）の２ビット目と、時刻ｔ（２）の１ビット目の間隔７を変化点間隔情報５２０１とする（図６（ａ）のＳ６０４）。変化点間隔情報５２０１の値７をデータ周期情報５２１とし（図６（ａ）のＳ６０５）、変化点情報５１１がＨｉｇｈとなるビットが存在するかの確認に進む（図６（ｂ）のＳ６０６）。
【００２６】
時刻ｔ（３）において、変化点情報５１１の６ビット目がＨｉｇｈである（図６（ｂ）のＳ６０６のＹＥＳ）。時刻ｔ（３）の６ビット目と時刻ｔ（２）の１ビット目との間隔１３を変化点間隔情報５２０１とする（図６（ｂ）のＳ６０７）。時刻ｔ（３）における変化点間隔情報５２０１の値１３と、直前の時刻である時刻ｔ（２）の変化点間隔情報５２０１の値７との差６を、変化点間隔偏差５２０２とする（図６（ｂ）のＳ６０８）。変化点間隔偏差５２０２の値は６であり１より大きいため（図６（ｂ）のＳ６０９のＹＥＳ）、変化点間隔偏差５２０２の値６を変化点間隔の差５２０３とする（図６（ｂ）のＳ６１０）。変化点間隔情報５２０１は１３、変化点間隔の差５２０３は６、直前の時刻である時刻ｔ（２）のデータ周期情報５２１は７であるため、これらの最小値である６をデータ周期情報５２１の値とし（図６（ｂ）のＳ６１２）、処理を終了する。
【００２７】
図８に、周波数情報生成部５３のフローチャートを示す。周波数情報生成部５３は、まずデータ周期情報５２１が［期待値］（ただし［］はガウス記号を示し、［Ｘ］はＸを超えない最大の整数を意味する）または生じ得る誤差を含めた［期待値］＋１と一致するか確認する（Ｓ８０１）。ただし、本クロックデータリカバリ回路は入力データ１２のデータレートの変化に追従した高速クロック６０１の周波数変更が可能であるため、データ周期情報５２１の期待値は、本クロックデータリカバリ回路内部の位相比較器７・低域通過フィルタ８・数値制御発振器９で構成される閉ループ特性から決まり、高速クロック６０１と入力データ１２の比で表される。
【００２８】
（期待値）＝（高速クロック６０１の周波数）÷（入力データ１２のデータレート）
データ周期情報５２１が［期待値］または［期待値］＋１であるとき（Ｓ８０１のＹＥＳ）、処理を終了する。データ周期情報５２１が［期待値］または［期待値］＋１でないとき（Ｓ８０１のＮＯ）、データ周期情報５２１が［期待値］より大きいか確認する（Ｓ８０２）。
【００２９】
データ周期情報５２１が［期待値］より大きいとき（Ｓ８０２のＹＥＳ）、以下の式を満たすように周波数情報５０１を設定し（Ｓ８０３）、Ｓ８０５に進む。
【００３０】
（変化後の高速クロック６０１の周波数）＝（変化前の高速クロック６０１の周波数）×（［データ周期情報５２１の期待値］＋１）÷（データ周期情報５２１の値）
データ周期情報５２１が［期待値］以下のとき（Ｓ８０２のＮＯ）、以下の式を満たすように周波数情報５０１を設定し（Ｓ８０４）、Ｓ８０５に進む。
【００３１】
（変化後の高速クロック６０１の周波数）＝（変化前の高速クロック６０１の周波数）×（［データ周期情報５２１の期待値］）÷（データ周期情報５２１の値）
Ｓ８０５では、Ｓ８０３、およびＳ８０４で高速クロック６０１の周波数を変更したことを通知するクロック周波数変更通知信号５３１を出力し、処理を終了する。
【００３２】
図９に、クロック生成部６のブロック図を示す。クロック生成部６は、周波数情報５０１に対応する周波数の高速クロック６０１を出力するＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）６１と、高速クロック６０１を分周して低速クロック６０２を出力する分周部６２から構成される。
【００３３】
分周部６２の分周比は、本クロックデータリカバリ回路の回路規模と動作周波数が実装可能な範囲になるよう設計する必要がある。本実施例の図３〜図１５では、分周比が８の場合について説明している。
【００３４】
図１０に、位相比較器７のブロック図の一例を示す。図１０に示す位相比較器７は、サンプリング結果４０１が時間軸上でＬｏｗからＨｉｇｈまたはＨｉｇｈからＬｏｗに変化する変化点の位置を示す変化点情報７１１を出力する変化点情報生成部７１と、数値制御発振器９で生成した再生クロック２１が時間軸上でＬｏｗからＨｉｇｈに変化する位置を示す立ち上がり情報７２１を出力する立ち上がり情報生成部７２と、変化点情報７１１が示す変化点の位置と立ち上がり情報７２１が示す立ち上がり位置の間隔から位相誤差情報７０１を出力する位相誤差情報生成部７３から構成される。なお、これらのブロックは低速クロック６０２に同期動作する。
【００３５】
図１１に、立ち上がり情報生成部７２のブロック図を示す。立ち上がり情報生成部７２は、ＸＯＲ回路により再生クロック２１の隣接ビット同士の排他的論理和をとり、その排他的論理和と再生クロック２１の隣接ビットのうち上位ビットの論理積をとり、立ち上がり情報７２１を生成する。ただし、再生クロック２１のＭＳＢとＬＳＢの排他的論理和をとる際は、再生クロック２１の時間軸上での連続性を確保するため、Ｚ−１回路により低速クロック６０２１周期分遅らせたＭＳＢと当該時刻のＬＳＢとの排他的論理和をとる。これらの処理により、再生クロック２１が時間軸上でＬｏｗからＨｉｇｈに変化する立ち上がりにおいて、立ち上がり情報７２１はＨｉｇｈとなる。なお、変化点情報生成部７１の処理は変化点情報生成部５１と同様のため、説明を省略する。
【００３６】
低域通過フィルタ８の処理を以下に示す。本クロックデータリカバリ回路において、位相誤差情報（フィルタ後）８０１に高周波成分が含まれると、位相比較器７、低域通過フィルタ８、数値制御発振器９で構成される閉ループが不安定になるため、低域通過フィルタ８は位相誤差情報７０１から高周波成分を除去し、位相誤差情報（フィルタ後）８０１を数値制御発振器９へ出力する。なお、低域通過フィルタ８は低速クロック６０２に同期動作する。
【００３７】
数値制御発振器９は、位相誤差情報（フィルタ後）８０１と再生クロック２１の周波数の対応を示すテーブルを用いて、低域通過フィルタ８で生成した位相誤差情報（フィルタ後）８０１に応じた周波数の再生クロック２１を出力する。なお、数値制御発振器９は低速クロック６０２に同期動作する。
【００３８】
図１２に、数値制御発振器９の持つテーブルの一例を示す。数値制御発振器９は、このテーブルを用い、例えば位相誤差情報（フィルタ後）８０１の値がＮ１からＮ２の間のとき、周波数がｆ１の再生クロック２１を出力する。
【００３９】
図１３に、識別再生部１０のブロック図の一例を示す。識別再生部１０は、再生クロック２１が時間軸上でＬｏｗからＨｉｇｈに変化する位置を示す立ち上がり情報１０１１を出力する立ち上がり情報生成部１０１と、立ち上がり情報１０１１が示す立ち上がり位置でサンプリング結果４０１を識別し再生データ２２を出力する再生データ生成部１０２から構成される。なお、これらのブロックは低速クロック６０２に同期動作する。
【００４０】
図１４に、再生データ生成部１０２のブロック図を示す。再生データ２２の各ビットは、立ち上がり情報１０１１がＨｉｇｈのとき、サンプリング結果４０１を選択し、立ち上がり情報１０１１がＬｏｗのとき、再生データ２２の１ビット分下位のデータを選択する。ただし、再生データ２２のＬＳＢの１ビット分下位のデータは、Ｚ−１回路により再生データ２２のＭＳＢを低速クロック６０２の１周期分遅らせたときのＭＳＢとする。これらの処理により、再生クロック２１の立ち上がりと再生データ２２の変化点のタイミングが時間軸上で一致する。これにより再生クロック２１に同期した再生データ２２が生成される。なお、立ち上がり情報生成部１０１の処理は変化点情報生成部７１と同様のため、説明を省略する。
【００４１】
以上説明したように、本実施例によるクロックデータリカバリ回路では、入力データのデータレートの変化通知を受けたときまたは高速クロックの周波数変更通知を行ったときに入力データのデータ周期検出を実行し、検出した入力データのデータ周期に応じた周波数の高速クロックを生成し、生成した高速クロックを用いて入力データをサンプリングするため、データとクロックを再生することが可能である。また、入力データのデータ周期に応じた高速クロックの周波数変更が可能であることから、クロックデータリカバリ回路の閉ループ特性を固定化できるため、データレートに応じて個別の論理を用意する必要が無く、論理規模の増大を抑えることが可能である。また、入力データのデータレートに対し適切なサンプリング周波数を使用するため、入力データのデータレートに依らず常に高いサンプリング周波数を使用する場合と比較して消費電力を低減することが可能である。
【実施例２】
【００４２】
図１５に、本発明にかかるクロックデータリカバリ回路の実施例２における構成を示す。実施例２におけるクロックデータリカバリ回路は、サンプリング部４とクロック周波数制御部５とクロック生成部６と位相比較器７と低域通過フィルタ８と数値制御発振器９と識別再生部１０から構成される。また、サンプリング部４とクロック周波数制御部５と位相比較器７と低域通過フィルタ８と数値制御発振器９と識別再生部１０は、低速クロック６０２に同期動作する。
【００４３】
クロック周波数制御部５では、データレート通知信号５０２と低速クロック６０２を入力し、周波数情報５０１を生成する。なお、データレート通知信号５０２は入力データ１２のデータレートの値を通知する。クロック生成部６では、周波数情報５０１を入力し、高速クロック６０１と低速クロック６０２を生成する。サンプリング部４では、入力データ１２と高速クロック６０１と低速クロック６０２を入力し、サンプリング結果４０１を生成する。位相比較器７では、サンプリング結果４０１と再生クロック２１と低速クロック６０２を入力し、位相誤差情報７０１を生成する。低域通過フィルタ８では、位相誤差情報７０１と低速クロック６０２を入力し、位相誤差情報（フィルタ後）８０１を生成する。数値制御発振器９では、位相誤差情報（フィルタ後）８０１と低速クロック６０２を入力し、再生クロック２１を生成する。識別再生部１０では、サンプリング結果４０１と再生クロック２１と低速クロック６０２を入力し、再生データ２２を生成する。
【００４４】
図１６に、クロック周波数制御部５のブロック図を示す。クロック周波数制御部５は、データ周期検出部５２と周波数情報生成部５３を備え、データレート通知信号５０２と低速クロック６０２を入力し、周波数情報５０１を出力する。
【００４５】
データ周期検出部５２は、データレート通知信号５０２と低速クロック６０２を入力し、データレート通知信号５０２より入力データ１２のデータレートの値を得る。得たデータレートに対応したデータ周期情報５２１の値を演算し、データ周期情報５２１を出力する。
【００４６】
周波数情報生成部５３は、データ周期情報５２１と低速クロック６０２を入力し、以下の式を満たすように周波数情報５０１を設定する。
【００４７】
（変化後の高速クロック６０１の周波数）＝（変化前の高速クロック６０１の周波数）×（データ周期情報５２１の期待値）÷（データ周期情報５２１の値）
本実施例において、クロック周波数制御部５はデータレート通知信号５０２を入力することにより、入力データ１２のデータレートを入手しているため、クロック周波数制御部５は、変化点情報生成部を必要としない。そのため実施例１と比較して、本実施例では回路規模と消費電力を低減することが可能となる。
【符号の説明】
【００４８】
１  光モジュール
１１  光受信信号
１２  入力データ
１３  データレート変化通知信号
２  クロックデータリカバリ回路
２１  再生クロック
２２  再生データ
３  ＰＨＹ
３１  復号データ
４  サンプリング部
４０１  サンプリング結果
４１０１  サンプリングデータ
５  クロック周波数制御部
５０１  周波数情報
５０２  データレート通知信号
５１  変化点情報生成部
５１１  変化点情報
５２  データ周期検出部
５２０１  変化点間隔情報
５２０２  変化点間隔偏差
５２０３  変化点間隔の差
５２１  データ周期情報
５３  周波数情報生成部
５３１  クロック周波数変更通知信号
６  クロック生成部
６０１  高速クロック
６０２  低速クロック
６１  ＰＬＬ
６２  分周部
７  位相比較器
７０１  位相誤差情報
７１  変化点情報生成部
７１１  変化点情報
７２  立ち上がり情報生成部
７２１  立ち上がり情報
７３  位相誤差情報生成部
８  低域通過フィルタ
８０１  位相誤差情報（フィルタ後）
９  数値制御発振器
１０  識別再生部
１０１  立ち上がり情報生成部
１０１１  立ち上がり情報
１０２  再生データ生成部
【図１】
2016171387.tif 000003
【図２】
2016171387.tif 000004
【図３】
2016171387.tif 000005
【図４】
2016171387.tif 000006
【図５】
2016171387.tif 000007
【図６（ａ）】
2016171387.tif 000008
【図６（ｂ）】
2016171387.tif 000009
【図７】
2016171387.tif 000010
【図８】
2016171387.tif 000011
【図９】
2016171387.tif 000012
【図１０】
2016171387.tif 000013
【図１１】
2016171387.tif 000014
【図１２】
2016171387.tif 000015
【図１３】
2016171387.tif 000016
【図１４】
2016171387.tif 000017
【図１５】
2016171387.tif 000018
【図１６】
2016171387.tif 000019