(57)【要約】【課題】  サイドバンドを低減する。【解決手段】  カウンタ２２は、基準クロックＣＬＫｒｅｆをカウントし、カウント値ＣＮＴを比較回路２４に印加する。加算器２６は、入力端子１４からの周波数設定値にＮ＋ＭビットのＤＦＦ２８のＱ出力を加算し、加算結果をＤＦＦ２８のＤ入力に印加する。ＤＦＦ２８は、比較回路２４からのイネーブル信号ＥＮと基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりに従い、加算器２６の出力をラッチする。加算器３２は、ランダム値発生回路３０からのランダム値をＤＦＦ２８のＱ出力の上位Ｎビットに加算し、加算結果を比較回路２４に印加する。比較回路２４は、両入力が等しいときにイネーブル信号を出力する。インバータ２０によりＱ出力がＤ入力に帰還接続されるＤＦＦ１８は、イネーブル信号と基準クロックＣＬＫｒｅｆに従いＱ出力をハイからロー又はその逆に遷移する。【選択図】  図１
2008035452.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックから当該基準クロックの周波数よりも低い周波数の出力クロックを生成するクロック発生回路であって、
当該基準クロックを入力する入力手段（１２）と、
当該基準クロックをカウントするカウント手段（２２）と、
当該カウント手段の所定カウント増分値を保持する保持手段（２６，２８）と、
当該保持手段の保持値にランダム値を加算する加算器（３０，３２）と、
当該カウント手段のカウント値と当該加算器とを比較し、両者が等しいときにイネーブル信号を出力する比較手段（２４）と、
当該比較手段の当該イネーブル信号及び当該基準クロックに従い、出力値を２つのレベル間で遷移するレベル遷移手段（１８，２０）
とを具備することを特徴とするクロック発生回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数可変のクロック発生回路に関し、より具体的には、外部クロックに同期して、設定された周波数のクロックを発生するクロック発生回路に関する。
【背景技術】
【０００２】
デジタル回路は回路動作のためにクロックを必要とする。最近のデジタル回路では、周波数可変のクロック発生回路が必要とされる。この種のクロック発生回路は、一般にＰＬＬ（Phase Locked Loop）回路と、ＶＣＯ（電圧制御発振器）又はＶＣＸＯ（外部電圧制御型水晶発振器）等の発振器を組み合わせて構成される。また、デジタル回路で周波数を変更可能なダイレクトデジタルシンセサイザ（ＤＤＳ）も知られている。特許文献１には、デジタルＶＣＯを用いるクロック発生回路が記載されている。
【０００３】
図３は、クロック周波数を変更可能な従来のクロック発生回路の概略構成ブロック図を示す。図４は、出力クロックの周波数スペクトルを示す。
【０００４】
クロック発生回路５０の基準クロック入力端子５２には周波数ｆｃｌｋ（Ｈｚ）基準クロックＣＬＫｒｅｆが入力し、入力端子５４には周波数設定値が入力する。クロック出力端子５６から周波数ｆｖｃｏ（Ｈｚ）のクロックＣＬＫｏｕｔが出力される。出力クロックＣＬＫｏｕｔの周波数ｆｖｃｏ（Ｈｚ）の可変範囲を最小周波数ｆｖｃｏ＿ｍｉｎ（Ｈｚ）から最大周波数ｆｖｃｏ＿ｍａｘ（Ｈｚ）とすると、クロック発生回路５０では、基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりのエッジから出力クロックＣＬＫｏｕｔを生成するので、ｆｃｌｋ（Ｈｚ）が最大周波数ｆｖｃｏ＿ｍａｘ（Ｈｚ）の２倍以上の周波数である必要がある。また、ｆｃｌｋ／ｆｖｃｏが整数値でない場合、ｆｃｌｋ／ｆｖｃｏの値が大きいほど、クロックジッタが少ない。
【０００５】
基準クロックＣＬＫｒｅｆは、１ビットのＤフリップフロップ（ＤＦＦ）５８のクロック入力に印加される。ＤＦＦ５８のＱ出力は、インバータ６０を介してＤＦＦ５８のＤ入力に帰還される。ＤＦＦ５８は、イネーブル端子ＥＮに入力するイネーブル信号ＥＮがハイ（Ｈ）の時に、クロック入力の基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりに応じて、インバータ６０の二進出力値を取り込む。イネーブル信号ＥＮにより、ＤＦＦ５８のＱ出力のパルス期間と非パルス期間の長さを制御できる。ＤＦＦ５８のＱ出力が、クロック出力端子５６から出力クロックＣＬＫｏｕｔとして出力される。イネーブル信号ＥＮがハイになるたびに、ＤＦＦ５８は、基準クロックＣＬＫｒｅｆに同期して、インバータ６０の出力、即ち、ＤＦＦ５８のＱ出力の反転値を取り込むので、結局のところ、ＤＦＦ５８のＱ出力は、イネーブル信号がハイになるたびに、反転する。
【０００６】
カウンタ６２、比較回路６４、加算器６６及びＮ＋ＭビットのＤＦＦ６８（又はラッチ回路）が、イネーブル信号ＥＮを生成する回路として機能する。イネーブル信号生成回路は、以下のように動作する。カウンタ６２は、クロック入力端子５２からの基準クロック信号ＣＬＫｒｅｆをカウントする。即ち、基準クロックＣＬＫｒｅｆの立ち上がりエッジに同期して１ずつカウントアップし、カウント値ＣＮＴを比較回路６４に出力する。カウンタ６２は、カウント値ＣＮＴが上限値に到達すると、次の基準クロックＣＬＫｒｅｆの立ち上がりエッジで０（ゼロ）にクリアされる。即ち、カウンタ６２のカウント値ＣＮＴは、基準クロックＣＬＫｒｅｆに従い所定レンジ内で循環する。カウンタ６２の必要レンジは０から２Ｎ−１である。ただし、２Ｎはｆｃｌｋ／ｆｖｃｏ＿ｍｉｎ以上である。換言すると、カウンタ６２のビット数Ｎは、ｆｃｌｋとｆｖｃｏ＿ｍｉｎにより決定される。
【０００７】
加算器６６は、入力端子５４からの周波数設定値に、Ｎ＋ＭビットのＤＦＦ６８のＱ出力を加算し、加算結果をＤＦＦ６８のＤ入力に印加する。ＤＦＦ６８は、比較回路６４からのイネーブル信号ＥＮによりイネーブルされ、入力端子５２からの基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりに従い、加算器６６の出力をラッチする回路である。加算器６６及びＤＦＦ６８は、いわば、Ｎ＋Ｍビットのアキュムレータを構成する。加算器６６は、Ｎ＋Ｍビットを超えるキャリーを破棄する。Ｍは、クロック発生回路５０の分解能を確保するためのいわばマージンであり、大きいほど分解能が上がる。
【０００８】
入力端子５４からの周波数設定値Δｆは、加算器６６及びＤＦＦ６８からなるアキュムレータの増分を規定する。この増分Δｆは、基準クロックＣＬＫｒｅｆに対して、出力クロックＣＬＫｏｕｔの位相、又はパルス反転タイミングを規定する。周波数設定値Δｆは、下記式、
Δｆ＝２Ｍ×（ｆｃｌｋ／ｆｖｃｏ）／２
で与えられる。（ｆｃｌｋ／ｆｖｃｏ）／２は、出力クロックＣＬＫｏｕｔの立ち上がりと立ち下がりの間の期間、即ち、出力クロックＣＬＫｏｕｔの半周期が基準クロックＣＬＫｒｅｆの何サイクル分かを意味する。（ｆｃｌｋ／ｆｖｃｏ）／２の小数点以下を切り捨てると、（ｆｃｌｋ／ｆｖｃｏ）／２の整数になる場合の周波数ｆｖｃｏの出力クロックしか得られないので、周波数設定値Δｆは、上式に示すように（ｆｃｌｋ／ｆｖｃｏ）／２に２Ｍを乗算する形で与えられる。
【０００９】
比較回路６４は、カウンタ６２のカウント値ＣＮＴとＤＦＦ６８のＱ出力の上位Ｎビットの値とを比較し、両者が等しいときに、出力をハイ（Ｈ）にする。即ち、比較回路６４は、ＤＦＦ６８のＱ出力値ＴＭＧを２Ｍで除算した結果の整数部がカウンタ６２のカウント値ＣＮＴと等しいとき、イネーブル信号（ハイ）を出力する。ＤＦＦ６８のＱ出力の内の上位Ｎビット分は、カウンタ６２のカウント値ＣＮＴとの対比上で、ＤＦＦ５８のＱ出力を反転させるタイミングを規定する。ＤＦＦ６８のＱ出力の内の下位Ｍビット分は、出力クロックＣＬＫｏｕｔのジッタとなる。
【００１０】
動作開始当初では、ＤＦＦ６８の保持値はゼロで、カウンタ６２のカウント値ＣＮＴもゼロなので、比較回路６４は、イネーブル出力をハイにする。これにより、ＤＦＦ５８のＱ出力は、基準クロックＣＬＫｒｅｆに従い、ハイ（Ｈ）に遷移する。また、ＤＦＦ６８は、加算器６６からの周波数設定値Δｆをラッチする。カウンタ６２のカウント値ＣＮＴが、ＤＦＦ６８の保持する周波数設定値Δｆに到達すると、再び、比較回路６４はイネーブル出力をハイにする。これにより、これにより、ＤＦＦ５８のＱ出力は、基準クロックＣＬＫｒｅｆに従い、ロー（Ｈ）に遷移する。また、このとき、加算器６６の出力値は２Δｆになっているので、ＤＦＦ６８は、加算器６６からの出力値をラッチし、保持値が２Δｆになる。
【００１１】
以上の動作を繰り返すことで、ＤＦＦ５８のＱ出力は、周波数設定値Δｆに相当する基準クロックＣＬＫｒｅｆのパルス数毎に、ローからハイに又はその逆に交互に遷移する。
【００１２】
このようにして、クロック発生回路５０の出力クロックＣＬＫｏｕｔの周波数ｆｖｃｏは、周波数設定値Δｆに従い、近似的には、２Ｍ−１（ｆｃｌｋ／Δｆ）に相当する周波数に制御される。比較回路６４の比較で、ＤＦＦ６８の出力の下位Ｍビット分、即ち、ＴＭＧ／２Ｍの小数部が破棄されているが、このＴＭＧ／２Ｍの小数部が出力クロックＣＬＫｏｕｔのジッタ誤差となる。しかし、ＴＭＧ／２Ｍの小数部はＤＦＦ６８で累積されるので、出力クロックＣＬＫｏｕｔの平均周波数ｆｖｃｏは、２Ｍ−１（ｆｃｌｋ／Δｆ）で決定される値に収束する。
【特許文献１】特開平０７−２９７８６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、従来のデジタル回路では、出力クロック周波数ｆｖｃｏの精度はＭに比例するが、クロックジッタが周期性を持つことがある。例えば、出力クロックＣＬＫｏｕｔの周波数スペクトラムは、周波数設定値Δｆによっては、図４に示すように、周波数ｆｖｃｏの周囲に無視できないレベルの多数のサイドバンド（周波数ｆｓｂ１〜ｆｓｂ６）を具備することがある。
【００１４】
このようなクロックＣＬＫｏｕｔをＡＤコンバータ又はＤＡコンバータ等のクロックとして使用した場合には、不要なノイズ源となってしまう。
【００１５】
本発明は、上記の問題点に鑑み、より良質なクロックを発生するクロック発生回路を提示することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明に係るクロック発生回路は、基準クロックから当該基準クロックの周波数よりも低い周波数の出力クロックを生成するクロック発生回路であって、当該基準クロックを入力する入力手段と、当該基準クロックをカウントするカウント手段と、当該カウント手段の所定カウント増分値を保持する保持手段と、当該保持手段の保持値にランダム値を加算する加算器と、当該カウント手段のカウント値と当該加算器とを比較し、両者が等しいときにイネーブル信号を出力する比較手段と、当該比較手段の当該イネーブル信号及び当該基準クロックに従い、出力値を２つのレベル間で遷移するレベル遷移手段とを具備することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、周期性が生じ得るような出力周波数発生条件でも、周期性を緩和でき、サイドバンドの弱い出力クロックを得ることができるようになる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【００１９】
図1は本発明の一実施例であるクロック発生回路１０の概略構成ブロック図である。
【００２０】
クロック発生回路１０の基準クロック入力端子１２には周波数ｆｃｌｋ（Ｈｚ）基準クロックＣＬＫｒｅｆが入力し、入力端子１４には周波数設定値が入力する。クロック出力端子１６から周波数ｆｖｃｏ（Ｈｚ）のクロックＣＬＫｏｕｔが出力される。出力クロックＣＬＫｏｕｔの周波数ｆｖｃｏ（Ｈｚ）の可変範囲を最小周波数ｆｖｃｏ＿ｍｉｎ（Ｈｚ）から最大周波数ｆｖｃｏ＿ｍａｘ（Ｈｚ）とすると、クロック発生回路１０では、基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりのエッジから出力クロックＣＬＫｏｕｔを生成するので、ｆｃｌｋ（Ｈｚ）が最大周波数ｆｖｃｏ＿ｍａｘ（Ｈｚ）の２倍以上の周波数である必要がある。また、ｆｃｌｋ／ｆｖｃｏが整数値でない場合、ｆｃｌｋ／ｆｖｃｏの値が大きいほど、クロックジッタが少ない。
【００２１】
基準クロックＣＬＫｒｅｆは、１ビットのＤフリップフロップ（ＤＦＦ）１８のクロック入力に印加される。ＤＦＦ１８のＱ出力は、インバータ２０を介してＤＦＦ１８のＤ入力に帰還される。ＤＦＦ１８は、イネーブル端子ＥＮに入力するイネーブル信号ＥＮがハイ（Ｈ）の時に、クロック入力の基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりに応じて、インバータ２０の二進出力値を取り込む。ＤＦＦ１８及びインバータ２０からなる回路は、イネーブル信号が入力している間の基準クロックＣＬＫｒｅｆに同期して、Ｑ出力値を２つのレベルの一方から他方に交互に遷移するレベル遷移手段として動作する。イネーブル信号ＥＮにより、ＤＦＦ１８のＱ出力のパルス期間と非パルス期間の長さを制御できる。ＤＦＦ１８のＱ出力が、クロック出力端子１６から出力クロックＣＬＫｏｕｔとして出力される。イネーブル信号ＥＮがハイになるたびに、ＤＦＦ１８は、基準クロックＣＬＫｒｅｆに同期して、インバータ２０の出力、即ち、ＤＦＦ１８のＱ出力の反転値を取り込むので、結局のところ、ＤＦＦ１８のＱ出力は、イネーブル信号がハイになるたびに、反転する。
【００２２】
カウンタ２２、比較回路２４、加算器２６、Ｎ＋ＭビットのＤＦＦ２８（又はラッチ回路）、ランダム値発生回路３０及び加算器３２が、イネーブル信号ＥＮを生成する回路として機能する。図３に示す従来例に対し、ランダム値発生回路３０及び加算器３２が追加されている。ランダム値発生回路３０は、比較回路２４のイネーブル出力と基準クロックＣＬＫｒｅｆに従い、（０，１）又は（−１，０，１）をランダムに発生する。ランダム値発生回路３０は、より一般的には、−ｉ〜ｉ（ｉは２以上の整数）の範囲でランダムに値を発生してもよい。加算器３２は、ランダム値発生回路３０の出力するランダム値を、ＤＦＦ２８のＱ出力の上位Ｎビットに加算し、加算結果を、カウンタ２２のカウント値ＣＮＴとの比較対象として比較回路２４に印加する。
【００２３】
イネーブル信号生成回路は、以下のように動作する。カウンタ２２は、クロック入力端子１２からの基準クロック信号ＣＬＫｒｅｆをカウントする。即ち、基準クロックＣＬＫｒｅｆの立ち上がりエッジに同期して１ずつカウントアップし、カウント値ＣＮＴを比較回路２４に出力する。カウンタ２２は、カウント値ＣＮＴが上限値に到達すると、次の基準クロックＣＬＫｒｅｆの立ち上がりエッジで０（ゼロ）にクリアされる。即ち、カウンタ２２のカウント値ＣＮＴは、基準クロックＣＬＫｒｅｆに従い所定レンジ内で循環する。カウンタ２２の必要レンジは０から２Ｎ−１である。ただし、２Ｎはｆｃｌｋ／ｆｖｃｏ＿ｍｉｎ以上である。換言すると、カウンタ２２のビット数Ｎは、ｆｃｌｋとｆｖｃｏ＿ｍｉｎにより決定される。
【００２４】
加算器２６は、入力端子１４からの周波数設定値に、Ｎ＋ＭビットのＤＦＦ２８のＱ出力を加算し、加算結果をＤＦＦ２８のＤ入力に印加する。ＤＦＦ２８は、比較回路２４から出力されるイネーブル信号ＥＮによりイネーブルされ、入力端子１２からの基準クロックＣＬＫｒｅｆの立ち上がりと立ち下がりに従い、加算器２６の出力をラッチする回路である。加算器２６及びＤＦＦ２８は、いわば、Ｎ＋Ｍビットのアキュムレータを構成する。加算器２６は、Ｎ＋Ｍビットを超えるキャリーを破棄する。Ｍは、クロック発生回路１０の分解能を確保するためのいわばマージンであり、大きいほど分解能が上がる。
【００２５】
入力端子１４からの周波数設定値Δｆは、加算器２６及びＤＦＦ２８からなるアキュムレータの増分を規定する。周波数設定値Δｆに対する加算器２６及びＤＦＦ２８の動作は、従来例の加算器６６及びＤＦＦ６８の動作と同じであるので、詳細な説明は省略する。
【００２６】
先に説明したように、比較回路２４がイネーブル信号を出力する度に、ランダム値発生回路３０が、基準クロックＣＬＫｒｅｆに従い、ランダム値を出力し、加算器３２が、ランダム値発生回路３０の出力するランダム値を、ＤＦＦ２８のＱ出力の上位Ｎビットに加算する。
【００２７】
比較回路２４は、カウンタ２２のカウント値ＣＮＴと加算器３２の出力値とを比較し、両者が等しいときに、イネーブル出力をハイ（Ｈ）にする。即ち、本実施例では、ＤＦＦ１８のＱ出力値ＴＭＧを２Ｍで除算した結果の整数部を微少量だけランダムに変動させた後で、カウンタ２２のカウント値ＣＮＴと比較し、両者が等しいときに、イネーブル信号（ハイ）を発生させる。比較回路２４の出力するイネーブル信号のタイミングが、ランダム値発生回路３０の出力するランダム値に応じて時間軸上で変動することになり、従来例における周期性が緩和される。
【００２８】
図２は、本実施例による出力クロックＣＬＫｏｕｔのスペクトル例を示す。ノイズレベルＮｂは、従来例のノイズレベルＮａよりも高くなるものの、サイドバンドが小さくなる。特に高次のサイドバンドを大幅に低減できる。
【００２９】
本実施例では、アキュムレータ（２６，２８）とカウンタ２２を循環動作させるために、アキュムレータ（２６，２８）の保持値をイネーブル信号により逐次的に増加させたが、イネーブル信号によりカウンタ２２をリセットするようにしてもよい。その場合、アキュムレータ（２６，２８）の代わりに、ＤＦＦ１８のＱ出力を遷移させる基準クロックＣＬＫｒｅｆのパルス数をセットするレジスタを設ける。レジスタの出力値に上記実施例と同様にランダム値を加算して、比較回路２４に印加する。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】本実施例の出力クロックの周波数スペクトラム例を示す図である。
【図３】従来例の概略構成ブロック図である。
【図４】従来例の出力クロックの周波数スペクトラム例を示す図である。
【符号の説明】
【００３１】
１０  クロック発生回路
１２  基準クロック入力端子
１４  設定周波数入力端子
１６  クロック出力端子
１８  １ビットのＤＦＦ
２０  インバータ
２２  カウンタ
２４  比較回路
２６  加算器
２８  Ｎ＋ＭビットのＤＦＦ
３０  ランダム値発生回路
３２  加算器
【図１】
2008035452.tif 000003
【図２】
2008035452.tif 000004
【図３】
2008035452.tif 000005
【図４】
2008035452.tif 000006