説明

クロック発生回路

【課題】
サイドバンドを低減する。
【解決手段】
カウンタ22は、基準クロックCLKrefをカウントし、カウント値CNTを比較回路24に印加する。加算器26は、入力端子14からの周波数設定値にN+MビットのDFF28のQ出力を加算し、加算結果をDFF28のD入力に印加する。DFF28は、比較回路24からのイネーブル信号ENと基準クロックCLKrefの立ち上がりと立ち下がりに従い、加算器26の出力をラッチする。加算器32は、ランダム値発生回路30からのランダム値をDFF28のQ出力の上位Nビットに加算し、加算結果を比較回路24に印加する。比較回路24は、両入力が等しいときにイネーブル信号を出力する。インバータ20によりQ出力がD入力に帰還接続されるDFF18は、イネーブル信号と基準クロックCLKrefに従いQ出力をハイからロー又はその逆に遷移する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周波数可変のクロック発生回路に関し、より具体的には、外部クロックに同期して、設定された周波数のクロックを発生するクロック発生回路に関する。
【背景技術】
【0002】
デジタル回路は回路動作のためにクロックを必要とする。最近のデジタル回路では、周波数可変のクロック発生回路が必要とされる。この種のクロック発生回路は、一般にPLL(Phase Locked Loop)回路と、VCO(電圧制御発振器)又はVCXO(外部電圧制御型水晶発振器)等の発振器を組み合わせて構成される。また、デジタル回路で周波数を変更可能なダイレクトデジタルシンセサイザ(DDS)も知られている。特許文献1には、デジタルVCOを用いるクロック発生回路が記載されている。
【0003】
図3は、クロック周波数を変更可能な従来のクロック発生回路の概略構成ブロック図を示す。図4は、出力クロックの周波数スペクトルを示す。
【0004】
クロック発生回路50の基準クロック入力端子52には周波数fclk(Hz)基準クロックCLKrefが入力し、入力端子54には周波数設定値が入力する。クロック出力端子56から周波数fvco(Hz)のクロックCLKoutが出力される。出力クロックCLKoutの周波数fvco(Hz)の可変範囲を最小周波数fvco_min(Hz)から最大周波数fvco_max(Hz)とすると、クロック発生回路50では、基準クロックCLKrefの立ち上がりと立ち下がりのエッジから出力クロックCLKoutを生成するので、fclk(Hz)が最大周波数fvco_max(Hz)の2倍以上の周波数である必要がある。また、fclk/fvcoが整数値でない場合、fclk/fvcoの値が大きいほど、クロックジッタが少ない。
【0005】
基準クロックCLKrefは、1ビットのDフリップフロップ(DFF)58のクロック入力に印加される。DFF58のQ出力は、インバータ60を介してDFF58のD入力に帰還される。DFF58は、イネーブル端子ENに入力するイネーブル信号ENがハイ(H)の時に、クロック入力の基準クロックCLKrefの立ち上がりと立ち下がりに応じて、インバータ60の二進出力値を取り込む。イネーブル信号ENにより、DFF58のQ出力のパルス期間と非パルス期間の長さを制御できる。DFF58のQ出力が、クロック出力端子56から出力クロックCLKoutとして出力される。イネーブル信号ENがハイになるたびに、DFF58は、基準クロックCLKrefに同期して、インバータ60の出力、即ち、DFF58のQ出力の反転値を取り込むので、結局のところ、DFF58のQ出力は、イネーブル信号がハイになるたびに、反転する。
【0006】
カウンタ62、比較回路64、加算器66及びN+MビットのDFF68(又はラッチ回路)が、イネーブル信号ENを生成する回路として機能する。イネーブル信号生成回路は、以下のように動作する。カウンタ62は、クロック入力端子52からの基準クロック信号CLKrefをカウントする。即ち、基準クロックCLKrefの立ち上がりエッジに同期して1ずつカウントアップし、カウント値CNTを比較回路64に出力する。カウンタ62は、カウント値CNTが上限値に到達すると、次の基準クロックCLKrefの立ち上がりエッジで0(ゼロ)にクリアされる。即ち、カウンタ62のカウント値CNTは、基準クロックCLKrefに従い所定レンジ内で循環する。カウンタ62の必要レンジは0から2−1である。ただし、2はfclk/fvco_min以上である。換言すると、カウンタ62のビット数Nは、fclkとfvco_minにより決定される。
【0007】
加算器66は、入力端子54からの周波数設定値に、N+MビットのDFF68のQ出力を加算し、加算結果をDFF68のD入力に印加する。DFF68は、比較回路64からのイネーブル信号ENによりイネーブルされ、入力端子52からの基準クロックCLKrefの立ち上がりと立ち下がりに従い、加算器66の出力をラッチする回路である。加算器66及びDFF68は、いわば、N+Mビットのアキュムレータを構成する。加算器66は、N+Mビットを超えるキャリーを破棄する。Mは、クロック発生回路50の分解能を確保するためのいわばマージンであり、大きいほど分解能が上がる。
【0008】
入力端子54からの周波数設定値Δfは、加算器66及びDFF68からなるアキュムレータの増分を規定する。この増分Δfは、基準クロックCLKrefに対して、出力クロックCLKoutの位相、又はパルス反転タイミングを規定する。周波数設定値Δfは、下記式、
Δf=2×(fclk/fvco)/2
で与えられる。(fclk/fvco)/2は、出力クロックCLKoutの立ち上がりと立ち下がりの間の期間、即ち、出力クロックCLKoutの半周期が基準クロックCLKrefの何サイクル分かを意味する。(fclk/fvco)/2の小数点以下を切り捨てると、(fclk/fvco)/2の整数になる場合の周波数fvcoの出力クロックしか得られないので、周波数設定値Δfは、上式に示すように(fclk/fvco)/2に2を乗算する形で与えられる。
【0009】
比較回路64は、カウンタ62のカウント値CNTとDFF68のQ出力の上位Nビットの値とを比較し、両者が等しいときに、出力をハイ(H)にする。即ち、比較回路64は、DFF68のQ出力値TMGを2で除算した結果の整数部がカウンタ62のカウント値CNTと等しいとき、イネーブル信号(ハイ)を出力する。DFF68のQ出力の内の上位Nビット分は、カウンタ62のカウント値CNTとの対比上で、DFF58のQ出力を反転させるタイミングを規定する。DFF68のQ出力の内の下位Mビット分は、出力クロックCLKoutのジッタとなる。
【0010】
動作開始当初では、DFF68の保持値はゼロで、カウンタ62のカウント値CNTもゼロなので、比較回路64は、イネーブル出力をハイにする。これにより、DFF58のQ出力は、基準クロックCLKrefに従い、ハイ(H)に遷移する。また、DFF68は、加算器66からの周波数設定値Δfをラッチする。カウンタ62のカウント値CNTが、DFF68の保持する周波数設定値Δfに到達すると、再び、比較回路64はイネーブル出力をハイにする。これにより、これにより、DFF58のQ出力は、基準クロックCLKrefに従い、ロー(H)に遷移する。また、このとき、加算器66の出力値は2Δfになっているので、DFF68は、加算器66からの出力値をラッチし、保持値が2Δfになる。
【0011】
以上の動作を繰り返すことで、DFF58のQ出力は、周波数設定値Δfに相当する基準クロックCLKrefのパルス数毎に、ローからハイに又はその逆に交互に遷移する。
【0012】
このようにして、クロック発生回路50の出力クロックCLKoutの周波数fvcoは、周波数設定値Δfに従い、近似的には、2M−1(fclk/Δf)に相当する周波数に制御される。比較回路64の比較で、DFF68の出力の下位Mビット分、即ち、TMG/2の小数部が破棄されているが、このTMG/2の小数部が出力クロックCLKoutのジッタ誤差となる。しかし、TMG/2の小数部はDFF68で累積されるので、出力クロックCLKoutの平均周波数fvcoは、2M−1(fclk/Δf)で決定される値に収束する。
【特許文献1】特開平07−297868号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかし、従来のデジタル回路では、出力クロック周波数fvcoの精度はMに比例するが、クロックジッタが周期性を持つことがある。例えば、出力クロックCLKoutの周波数スペクトラムは、周波数設定値Δfによっては、図4に示すように、周波数fvcoの周囲に無視できないレベルの多数のサイドバンド(周波数fsb1〜fsb6)を具備することがある。
【0014】
このようなクロックCLKoutをADコンバータ又はDAコンバータ等のクロックとして使用した場合には、不要なノイズ源となってしまう。
【0015】
本発明は、上記の問題点に鑑み、より良質なクロックを発生するクロック発生回路を提示することを目的とする。
【課題を解決するための手段】
【0016】
上記の目的を達成するために、本発明に係るクロック発生回路は、基準クロックから当該基準クロックの周波数よりも低い周波数の出力クロックを生成するクロック発生回路であって、当該基準クロックを入力する入力手段と、当該基準クロックをカウントするカウント手段と、当該カウント手段の所定カウント増分値を保持する保持手段と、当該保持手段の保持値にランダム値を加算する加算器と、当該カウント手段のカウント値と当該加算器とを比較し、両者が等しいときにイネーブル信号を出力する比較手段と、当該比較手段の当該イネーブル信号及び当該基準クロックに従い、出力値を2つのレベル間で遷移するレベル遷移手段とを具備することを特徴とする。
【発明の効果】
【0017】
本発明によれば、周期性が生じ得るような出力周波数発生条件でも、周期性を緩和でき、サイドバンドの弱い出力クロックを得ることができるようになる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【0019】
図1は本発明の一実施例であるクロック発生回路10の概略構成ブロック図である。
【0020】
クロック発生回路10の基準クロック入力端子12には周波数fclk(Hz)基準クロックCLKrefが入力し、入力端子14には周波数設定値が入力する。クロック出力端子16から周波数fvco(Hz)のクロックCLKoutが出力される。出力クロックCLKoutの周波数fvco(Hz)の可変範囲を最小周波数fvco_min(Hz)から最大周波数fvco_max(Hz)とすると、クロック発生回路10では、基準クロックCLKrefの立ち上がりと立ち下がりのエッジから出力クロックCLKoutを生成するので、fclk(Hz)が最大周波数fvco_max(Hz)の2倍以上の周波数である必要がある。また、fclk/fvcoが整数値でない場合、fclk/fvcoの値が大きいほど、クロックジッタが少ない。
【0021】
基準クロックCLKrefは、1ビットのDフリップフロップ(DFF)18のクロック入力に印加される。DFF18のQ出力は、インバータ20を介してDFF18のD入力に帰還される。DFF18は、イネーブル端子ENに入力するイネーブル信号ENがハイ(H)の時に、クロック入力の基準クロックCLKrefの立ち上がりと立ち下がりに応じて、インバータ20の二進出力値を取り込む。DFF18及びインバータ20からなる回路は、イネーブル信号が入力している間の基準クロックCLKrefに同期して、Q出力値を2つのレベルの一方から他方に交互に遷移するレベル遷移手段として動作する。イネーブル信号ENにより、DFF18のQ出力のパルス期間と非パルス期間の長さを制御できる。DFF18のQ出力が、クロック出力端子16から出力クロックCLKoutとして出力される。イネーブル信号ENがハイになるたびに、DFF18は、基準クロックCLKrefに同期して、インバータ20の出力、即ち、DFF18のQ出力の反転値を取り込むので、結局のところ、DFF18のQ出力は、イネーブル信号がハイになるたびに、反転する。
【0022】
カウンタ22、比較回路24、加算器26、N+MビットのDFF28(又はラッチ回路)、ランダム値発生回路30及び加算器32が、イネーブル信号ENを生成する回路として機能する。図3に示す従来例に対し、ランダム値発生回路30及び加算器32が追加されている。ランダム値発生回路30は、比較回路24のイネーブル出力と基準クロックCLKrefに従い、(0,1)又は(−1,0,1)をランダムに発生する。ランダム値発生回路30は、より一般的には、−i〜i(iは2以上の整数)の範囲でランダムに値を発生してもよい。加算器32は、ランダム値発生回路30の出力するランダム値を、DFF28のQ出力の上位Nビットに加算し、加算結果を、カウンタ22のカウント値CNTとの比較対象として比較回路24に印加する。
【0023】
イネーブル信号生成回路は、以下のように動作する。カウンタ22は、クロック入力端子12からの基準クロック信号CLKrefをカウントする。即ち、基準クロックCLKrefの立ち上がりエッジに同期して1ずつカウントアップし、カウント値CNTを比較回路24に出力する。カウンタ22は、カウント値CNTが上限値に到達すると、次の基準クロックCLKrefの立ち上がりエッジで0(ゼロ)にクリアされる。即ち、カウンタ22のカウント値CNTは、基準クロックCLKrefに従い所定レンジ内で循環する。カウンタ22の必要レンジは0から2−1である。ただし、2はfclk/fvco_min以上である。換言すると、カウンタ22のビット数Nは、fclkとfvco_minにより決定される。
【0024】
加算器26は、入力端子14からの周波数設定値に、N+MビットのDFF28のQ出力を加算し、加算結果をDFF28のD入力に印加する。DFF28は、比較回路24から出力されるイネーブル信号ENによりイネーブルされ、入力端子12からの基準クロックCLKrefの立ち上がりと立ち下がりに従い、加算器26の出力をラッチする回路である。加算器26及びDFF28は、いわば、N+Mビットのアキュムレータを構成する。加算器26は、N+Mビットを超えるキャリーを破棄する。Mは、クロック発生回路10の分解能を確保するためのいわばマージンであり、大きいほど分解能が上がる。
【0025】
入力端子14からの周波数設定値Δfは、加算器26及びDFF28からなるアキュムレータの増分を規定する。周波数設定値Δfに対する加算器26及びDFF28の動作は、従来例の加算器66及びDFF68の動作と同じであるので、詳細な説明は省略する。
【0026】
先に説明したように、比較回路24がイネーブル信号を出力する度に、ランダム値発生回路30が、基準クロックCLKrefに従い、ランダム値を出力し、加算器32が、ランダム値発生回路30の出力するランダム値を、DFF28のQ出力の上位Nビットに加算する。
【0027】
比較回路24は、カウンタ22のカウント値CNTと加算器32の出力値とを比較し、両者が等しいときに、イネーブル出力をハイ(H)にする。即ち、本実施例では、DFF18のQ出力値TMGを2で除算した結果の整数部を微少量だけランダムに変動させた後で、カウンタ22のカウント値CNTと比較し、両者が等しいときに、イネーブル信号(ハイ)を発生させる。比較回路24の出力するイネーブル信号のタイミングが、ランダム値発生回路30の出力するランダム値に応じて時間軸上で変動することになり、従来例における周期性が緩和される。
【0028】
図2は、本実施例による出力クロックCLKoutのスペクトル例を示す。ノイズレベルNbは、従来例のノイズレベルNaよりも高くなるものの、サイドバンドが小さくなる。特に高次のサイドバンドを大幅に低減できる。
【0029】
本実施例では、アキュムレータ(26,28)とカウンタ22を循環動作させるために、アキュムレータ(26,28)の保持値をイネーブル信号により逐次的に増加させたが、イネーブル信号によりカウンタ22をリセットするようにしてもよい。その場合、アキュムレータ(26,28)の代わりに、DFF18のQ出力を遷移させる基準クロックCLKrefのパルス数をセットするレジスタを設ける。レジスタの出力値に上記実施例と同様にランダム値を加算して、比較回路24に印加する。
【図面の簡単な説明】
【0030】
【図1】本発明の一実施例の概略構成ブロック図である。
【図2】本実施例の出力クロックの周波数スペクトラム例を示す図である。
【図3】従来例の概略構成ブロック図である。
【図4】従来例の出力クロックの周波数スペクトラム例を示す図である。
【符号の説明】
【0031】
10 クロック発生回路
12 基準クロック入力端子
14 設定周波数入力端子
16 クロック出力端子
18 1ビットのDFF
20 インバータ
22 カウンタ
24 比較回路
26 加算器
28 N+MビットのDFF
30 ランダム値発生回路
32 加算器

【特許請求の範囲】
【請求項1】
基準クロックから当該基準クロックの周波数よりも低い周波数の出力クロックを生成するクロック発生回路であって、
当該基準クロックを入力する入力手段(12)と、
当該基準クロックをカウントするカウント手段(22)と、
当該カウント手段の所定カウント増分値を保持する保持手段(26,28)と、
当該保持手段の保持値にランダム値を加算する加算器(30,32)と、
当該カウント手段のカウント値と当該加算器とを比較し、両者が等しいときにイネーブル信号を出力する比較手段(24)と、
当該比較手段の当該イネーブル信号及び当該基準クロックに従い、出力値を2つのレベル間で遷移するレベル遷移手段(18,20)
とを具備することを特徴とするクロック発生回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−35452(P2008−35452A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−209434(P2006−209434)
【出願日】平成18年8月1日(2006.8.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】