(57)【要約】【課題】  回路構成を簡単にして回路規模を抑制し、目的とする発振周波数になるまでの時間を低減する。【解決手段】  カウンタ部１は、基準クロックＢＣＬＫに基づいて計られる所定時間において、クロックＣＬＫのパルス数をカウントする。カウンタ部１は記憶装置２にカウント値をアドレスとして入力する。記憶装置２は、カウンタ部１のカウント値をアドレスにして、クロックＣＬＫの周波数を調整するためのトリミングデータを記憶している。つまり、カウント部１からカウント値をアドレス入力されると、記憶装置２からは、発振部３から出力されるクロックＣＬＫの周波数に応じたトリミングデータが出力される。発振部３は、記憶装置２から出力されるトリミングデータに応じて、クロックＣＬＫの発振周波数を変化させて出力する。【選択図】  図１
2006229630.tif 000002
【特許請求の範囲】
【請求項１】
出力するクロックを所定の発振周波数に自動調整する発振回路において、
前記クロックおよび基準クロックの一方に基づく所定時間において他方のパルス数をカウントするカウンタ部と、
前記カウンタ部のカウント値をアドレス入力とする、トリミングデータを格納した記憶装置と、
前記記憶装置から出力される前記トリミングデータにより発振周波数を変化させ、前記クロックを出力する発振部と、
を有することを特徴とする発振回路。
【請求項２】
前記記憶装置は複数であり、前記記憶装置のそれぞれには、異なる発振周波数の前記クロックが出力されるための前記トリミングデータが記憶されていることを特徴とする請求項１記載の発振回路。
【請求項３】
前記記憶装置は、出力しようとする前記クロックの発振周波数に応じて切替えられることを特徴とする請求項２記載の発振回路。
【請求項４】
前記クロックおよび前記基準クロックの前記一方および前記他方は、前記記憶装置の切替えに応じて切替えられることを特徴とする請求項３記載の発振回路。
【請求項５】
前記クロックおよび前記基準クロックの前記一方および前記他方は、前記クロックおよび前記基準クロックの周波数の大きさによって決められることを特徴とする請求項１記載の発振回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は発振回路に関し、特に出力するクロックを所定の発振周波数に自動調整する発振回路に関する。
【背景技術】
【０００２】
通信装置では、データの送受信を適正に行うために、比較的高精度なクロックが必要とされる。そのため通信装置には、目標とする発振周波数と、実際に出力する発振周波数との差が小さくなるように発振周波数を自動調整する発振回路を搭載したものがある。
【０００３】
従来、発振周波数を自動調整する回路として、精度の高いクロックによって計られる所定時間内に、可変発振回路の出力するクロックパルスを計測して、その計測した値と予め設定していた値とを比較し、比較結果から可変発振回路をトリミングする自動トリミング回路があった（例えば、特許文献１参照）。
【０００４】
また、パラメータ値により発振周波数が変化する発振部のクロック数と、周波数設定レジスタに設定されている値とを比較し、比較結果に応じたパラメータをバイナリリサーチして発振周波数をトリミングするクロック発振回路があった（例えば、特許文献２参照）。
【特許文献１】特開２００１−２８５０５６号公報
【特許文献２】特開２０００−３４１１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１，２では、比較回路が必要であり、また、比較回路の比較結果からトリミング用の信号を発生させるための回路が必要であるため回路構成が複雑となり、回路規模が大きいという問題点があった。
【０００６】
また、比較のための時間が必要であり、発振周波数を早く目的の値に調整することが困難であるという問題点があった。
本発明はこのような点に鑑みてなされたものであり、回路構成を簡単にして回路規模を抑制し、目的とする発振周波数になるまでの時間を低減する発振回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では上記問題を解決するために、図１に示すような出力するクロックＣＬＫを所定の発振周波数に自動調整する発振回路において、クロックＣＬＫおよび基準クロックＢＣＬＫの一方に基づく所定時間において他方のパルス数をカウントするカウンタ部１と、カウンタ部１のカウント値をアドレス入力とする、トリミングデータを格納した記憶装置２と、記憶装置２から出力されるトリミングデータにより発振周波数を変化させ、クロックを出力する発振部３と、を有することを特徴とする発振回路が提供される。
【０００８】
このような発振回路によれば、クロックＣＬＫおよび基準クロックＢＣＬＫの一方に基づく所定時間において他方のパルス数をカウントする。そして、このカウントしたカウント値を、トリミングデータを記憶した記憶装置２のアドレスとして入力し、記憶装置２のトリミングデータを、トリミングデータに応じて周波数を変化させてクロックＣＬＫを出力する発振部３に出力する。これにより、クロックＣＬＫを所定の周波数にするためのトリミングデータが、複雑な回路を経由せず発振部３に出力される。
【発明の効果】
【０００９】
本発明の発振回路では、クロックおよび基準クロックの一方に基づく所定時間において他方のパルス数をカウントする。そして、このカウントしたカウント値を、トリミングデータを記憶した記憶装置のアドレスとして入力し、記憶装置のトリミングデータを、トリミングデータに応じて周波数を変化させてクロックＣＬＫを出力する発振部に出力するようにした。これによって、クロックを所定の周波数にするためのトリミングデータが、複雑な回路を経由せず発振部に出力され、回路構成が簡単になり、回路規模を抑制することができる。また、トリミングデータが複雑な回路を経由せず発振部に出力されるので、目的とする発振周波数になるまでの時間を低減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、発振回路の概要を示した図である。図に示すように発振回路は、カウンタ部１、記憶装置２、および発振部３を有している。
【００１１】
カウンタ部１は、クロックＣＬＫおよび基準クロックＢＣＬＫの一方に基づく所定時間において、他方のパルス数をカウントする。このクロックＣＬＫおよび基準クロックＢＣＬＫの一方および他方は、クロックＣＬＫおよび基準クロックＢＣＬＫの周波数によって決まる。例えば、クロックＣＬＫの周波数が、基準クロックＢＣＬＫの周波数より大きければ、カウンタ部１は、図１に示すように基準クロックＢＣＬＫに基づいて計られる所定時間において、クロックＣＬＫのパルス数をカウントする。クロックＣＬＫの周波数が、基準クロックＢＣＬＫの周波数より小さければ、カウンタ部１は、クロックＣＬＫに基づいて計られる所定時間において、基準クロックＢＣＬＫのパルス数をカウントする。
【００１２】
記憶装置２は、カウンタ部１のカウント値がアドレス入力される。すなわち、基準クロックＢＣＬＫに基づいて計られる所定時間における、クロックＣＬＫのカウント値がアドレス入力される。記憶装置２は、アドレス入力されるそのカウント値に対応したトリミングデータを発振部３に出力する。
【００１３】
発振部３は、記憶装置２から出力されるトリミングデータに応じて、クロックＣＬＫの発振周波数を変化させて出力する。
以下、図１の動作について説明する。カウンタ部１は、基準クロックＢＣＬＫに基づいて計られる所定時間におけるクロックＣＬＫのパルス数をカウントする。
【００１４】
カウンタ部１によってカウントされた、所定時間におけるクロックＣＬＫのカウント値は、記憶装置２にアドレス入力される。記憶装置２は、入力されるアドレスに応じて、トリミングデータを発振部３に出力する。これによって、クロックＣＬＫの周波数に応じたトリミングデータが、発振部３に出力される。
【００１５】
発振部３は、記憶装置２から出力されるトリミングデータに応じて、クロックＣＬＫの発振周波数を変化させて出力する。
このように、クロックＣＬＫおよび基準クロックＢＣＬＫの一方に基づく所定時間において他方のパルス数をカウントする。そして、このカウントしたカウント値を、トリミングデータを記憶した記憶装置２のアドレスとして入力し、記憶装置２のトリミングデータを、トリミングデータに応じて周波数を変化させてクロックＣＬＫを出力する発振部３に出力するようにした。これによって、クロックＣＬＫを所定の周波数にするためのトリミングデータが、複雑な回路を経由せず発振部３に出力され、回路構成が簡単になり、回路規模を抑制することができる。また、トリミングデータが複雑な回路を経由せず発振部３に出力されるので、目的とする発振周波数になるまでの時間を低減することができる。
【００１６】
次に、本発明の第１の実施の形態を図面を参照して詳細に説明する。
図２は、第１の実施の形態に係る発振回路の回路図である。図に示すように発振回路は、カウンタ１１、立下り検出回路１２、ラッチ回路１３、ＲＯＭ１４、およびＣＲ発振回路を有している。ＣＲ発振回路１５は、可変抵抗ＶＲ１、可変コンデンサＶＣ１、およびシュミット回路Ｚ１を有している。図に示す発振回路は、例えば、半導体チップに形成される。
【００１７】
カウンタ１１には、精度の高い（周波数変動の少ない）基準クロックＢＣＬＫが入力される。また、ＣＲ発振回路１５から出力されるクロックＣＬＫが入力される。基準クロックＢＣＬＫは、カウンタ１１がカウントを開始するためのイネーブル信号であり、カウンタ１１は、例えば、基準クロックＢＣＬＫの立下りに応じてカウント値を０にクリアし、クロックＣＬＫのカウントを開始する。なお、クロックＣＬＫの周波数は、基準クロックＢＣＬＫの周波数より大きいとする。
【００１８】
立下り検出回路１２には、基準クロックＢＣＬＫが入力されている。立下り検出回路１２は、基準クロックＢＣＬＫの立下りを検出し、ラッチ信号ＬＡＴＣＨをラッチ回路１３に出力する。
【００１９】
ラッチ回路１３は、立下り検出回路１２から出力されるラッチ信号ＬＡＴＣＨによって、カウンタ１１がカウントしているカウンタ値をラッチする。ラッチ回路１３の出力と、ＲＯＭ１４のアドレス端子は接続されており、ラッチ回路１３によりラッチされたカウント値は、ＲＯＭ１４のアドレス信号としてＲＯＭ１４に出力される。つまり、カウンタ１１、立下り検出回路１２、およびラッチ回路１３は、基準クロックＢＣＬＫに基づいて計られる単位時間あたりのクロックＣＬＫのパルス数をカウントし、ＲＯＭ１４のアドレスに出力している。
【００２０】
ＲＯＭ１４には、ＣＲ発振回路１５が所定の周波数のクロックＣＬＫを出力するように、可変抵抗ＶＲ１の抵抗値と可変コンデンサＶＣ１の容量値とを可変するためのトリミングデータが記憶されている。ＲＯＭ１４は、アドレス端子に入力されるラッチ回路１３からのカウント値に応じたトリミングデータを、ＣＲ発振回路１５の可変抵抗ＶＲ１および可変コンデンサＶＣ１に出力する。
【００２１】
ＣＲ発振回路１５のシュミット回路Ｚ１の出力には、可変抵抗ＶＲ１の一端が接続されている。可変抵抗ＶＲ１の他端は、一端がグランドに接続された可変コンデンサＶＣ１が接続されており、シュミット回路Ｚ１の入力に接続されている。
【００２２】
ＣＲ発振回路１５は、可変抵抗ＶＲ１、可変コンデンサＶＣ１、およびシュミット回路Ｚ１によって充放電を行い、クロックＣＬＫを出力する。クロックＣＬＫの周波数は、可変抵抗ＶＲ１の抵抗値と可変コンデンサＶＣ１の容量値によって決まり、可変抵抗ＶＲ１の抵抗値と可変コンデンサＶＣ１の容量値をそれぞれＲ，Ｃとすると、１／（ＲＣ）で求まる。従って、可変抵抗ＶＲ１の抵抗値と可変コンデンサＶＣ１の容量値を可変することによって、所定の周波数のクロックＣＬＫを出力することができる。
【００２３】
図２の発振回路は、ＣＲ発振回路１５から出力されるクロックＣＬＫを、精度の高い基準クロックＢＣＬＫの立下り期間カウントし、その値をラッチしてＲＯＭ１４のアドレスとして入力する。ＲＯＭ１４は、アドレスに応じたトリミングデータを可変抵抗ＶＲ１、可変コンデンサＶＣ１に出力し、クロックＣＬＫを所定の発振周波数にする。例えば、クロックＣＬＫのカウント値が所定の周波数に対応する値より小さければ、ＲＯＭ１４からは、クロックＣＬＫの周波数を増加させるためのトリミングデータが出力されるようになっている。クロックＣＬＫのカウント値が所定の周波数に対応する値より大きければ、ＲＯＭ１４からは、クロックＣＬＫの周波数を減少させるためのトリミングデータが出力されるようになっている。これにより、一般に、発振周波数の精度の低いＣＲ発振回路においても、精度の高いクロックＣＬＫを出力することができる。
【００２４】
次に、ＣＲ発振回路１５の可変抵抗ＶＲ１と可変コンデンサＶＣ１の詳細について説明する。
図３は、可変抵抗と可変コンデンサの詳細を示した回路図である。なお、図には、ＲＯＭ１４およびシュミット回路Ｚ１が示してある。
【００２５】
図に示すようにシュミット回路Ｚ１の出力には、抵抗Ｒ１〜Ｒ５が並列に接続されている。抵抗Ｒ１〜Ｒ４のシュミット回路Ｚ１が接続されていない側の端子と、クロックＣＬＫが出力されるノードＮ１との間には、ＮＭＯＳのトランジスタＭ１〜Ｍ４が接続されている。ノードＮ１とシュミット回路Ｚ１との間の抵抗値は、トランジスタＭ１〜Ｍ４をオン／オフすることにより、変更することができる。
【００２６】
クロックＣＬＫが出力されるノードＮ１には、コンデンサＣ１〜Ｃ５が並列に接続されている。コンデンサＣ１〜Ｃ４のノードＮ１と接続されていない側の端子と、グランドとの間には、ＮＭＯＳのトランジスタＭ１１〜Ｍ１４が接続されている。グランドとノードＮ１との間の容量値は、トランジスタＭ１１〜Ｍ１４をオン／オフすることにより、変更することができる。
【００２７】
トランジスタＭ１〜Ｍ４，Ｍ１１〜Ｍ１４のゲートは、ＲＯＭ１４のデータ端子と接続される。ＲＯＭ１４のデータ幅は、例えば、図示するように８ビットであり、下位４ビットは、トランジスタＭ１〜Ｍ４のゲートと接続され、上位４ビットは、トランジスタＭ１１〜Ｍ１４のゲートと接続される。これにより、例えば、ＲＯＭ１４に記憶されるトリミングデータの下位４ビットで、抵抗値を変更することができ、上位４ビットで、容量値を変更することができる。
【００２８】
次に、ＲＯＭ１４のトリミングデータ構成例について説明する。
図４は、ＲＯＭのトリミングデータ構成例を示した図である。図に示すようにＲＯＭ１４のアドレス０からアドレス７に、トリミングデータが記憶されているとする。図に示すトリミングデータは、１６進数で表されている。
【００２９】
例えば、ＲＯＭ１４にアドレス３が入力されると、ＲＯＭ１４は、１０のトリミングデータを出力する。これによって、図３の例においては、トランジスタＭ１１がオンされ、抵抗Ｒ５の抵抗値とコンデンサＣ１とＣ５との並列接続の合成容量値によって決まる周波数のクロックＣＬＫが出力される。また、例えば、ＲＯＭ１４にアドレス５が入力されると、ＲＯＭ１４は、０４のトリミングデータを出力する。これによって、図３の例においては、トランジスタＭ３がオンされ、抵抗Ｒ４とＲ５との並列接続の合成抵抗値とコンデンサＣ５の容量値によって決まる周波数のクロックＣＬＫが出力される。
【００３０】
次に、基準クロックＢＣＬＫ、クロックＣＬＫ、およびラッチ回路１３の出力のタイミングについて説明する。
図５は、基準クロックＢＣＬＫ、クロックＣＬＫ、およびラッチ回路１３の出力のタイミングについて説明するタイミングチャートである。図の波形Ａ１は、基準クロックＢＣＬＫの波形、波形Ａ２は、クロックＣＬＫの波形、波形Ａ３は、ラッチ回路１３の出力の波形を示している。
【００３１】
波形Ａ１の矢印Ｂ１に示すように、基準クロックＢＣＬＫが立下ると、図２で示した立下り検出回路１２は、その立下りを検出してラッチ信号ＬＡＴＣＨをラッチ回路１３に出力する。ラッチ回路１３は、ラッチ信号ＬＡＴＣＨによって、それまでカウンタ１１によってカウントされていたカウント値を波形Ａ３に示すようにラッチし、ＲＯＭ１４のアドレスに出力する。ＲＯＭ１４は、入力されるアドレス信号に応じたトリミングデータを可変抵抗ＶＲ１、可変コンデンサＶＣ１に出力する。カウンタ１１は、カウンタ値を０にクリアし、波形Ａ２に示すクロックＣＬＫのカウントを開始する。
【００３２】
続いて波形Ａ１の矢印Ｂ２に示すように、基準クロックＢＣＬＫが立下ると、前記と同様に立下り検出回路１２は、その立下りを検出してラッチ信号ＬＡＴＣＨをラッチ回路１３に出力する。ラッチ回路１３は、ラッチ信号ＬＡＴＣＨによって、それまでカウンタ１１によってカウントされていたカウント値を波形Ａ３に示すようにラッチし、ＲＯＭ１４のアドレスに出力する。図５の例では、クロックＣＬＫのパルス数は、波形Ａ２に示すように‘５’であるので、ラッチ回路１３は、アドレス‘５’をラッチしてＲＯＭ１４に出力する。ＲＯＭ１４は、入力されるアドレス‘５’に応じたトリミングデータを可変抵抗ＶＲ１、可変コンデンサＶＣ１に出力する。この場合、図４の例によれば、ＲＯＭ１４は、‘０４’のトリミングデータを出力し、図３で示したトランジスタＭ３がオンされる。このようにして、所定の周波数のクロックＣＬＫが出力されるようにＣＲの値が調整される。また、カウンタ１１は、矢印Ｂ２に示す立下りによりカウンタ値を０にクリアし、再び波形Ａ２に示すクロックＣＬＫのカウントを開始する。
【００３３】
以下、図２の発振回路の動作について説明する。
基準クロックＢＣＬＫが立下ると、立下り検出回路１２は、基準クロックＢＣＬＫの立下りを検出し、ラッチ信号ＬＡＴＣＨをラッチ回路１３に出力する。ラッチ回路１３は、立下り検出回路１２から出力されるラッチ信号ＬＡＴＣＨによって、それまでカウンタ１１によってカウントされていたカウント値をラッチする。
【００３４】
ラッチ回路１３によってラッチされたカウント値は、ＲＯＭ１４のアドレスに出力される。すなわち、ＲＯＭ１４には、ＣＲ発振回路１５から出力される現クロックＣＬＫの周波数に応じたアドレスが入力される。ＲＯＭ１４には、ＣＲ発振回路１５から出力されている現クロックＣＬＫの周波数を、所定の周波数にするためのトリミングデータが記憶されており、そのトリミングデータをＣＲ発振回路１５の可変抵抗ＶＲ１、可変コンデンサＶＣ１に出力する。
【００３５】
また、カウンタ１１は、基準クロックＢＣＬＫの立下りによってカウント値を０にクリアし、ＣＲ発振回路１５から出力されるクロックＣＬＫのカウントを開始する。カウンタ１１のカウンタ値は、ラッチ回路１３に出力され、ラッチ回路１３は、次の基準クロックＢＣＬＫの立下りが来ると、上記と同様にして、カウンタ１１のカウント値をラッチし、ＲＯＭ１４のアドレスに出力する。
【００３６】
このように、基準クロックＢＣＬＫに応じてＣＲ発振回路１５のクロックＣＬＫをカウントしラッチする。そして、ラッチしたカウント値を、トリミングデータを記憶したＲＯＭ１４にアドレスとして入力するようした。これにより、クロックＣＬＫを所定の周波数にするためのトリミングデータが、複雑な回路を経由せずＣＲ発振回路１５に出力されるので、回路構成が簡単になり、回路規模を抑制することができる。また、トリミングデータが複雑な回路を経由せずＣＲ発振回路１５に出力されるので、目的とする発振周波数になるまでの時間を低減することができる。
【００３７】
なお、上記では、クロックＣＬＫの周波数は、基準クロックＢＣＬＫの周波数より大きいとしたが、基準クロックＢＣＬＫの周波数が、クロックＣＬＫの周波数より大きくてもよい。この場合、クロックＣＬＫをカウンタ１１にイネーブル信号として入力し、基準クロックＢＣＬＫをカウンタ１１にカウントするためのクロックとして入力するようにする。
【００３８】
また、基準クロックＢＣＬＫの立下りから次の立下りまでのクロックＣＬＫをカウントし、ラッチするようにしたが、これに限るものではない。例えば、基準クロックＢＣＬＫの立上りから次の立上りまでのクロックＣＬＫをカウントし、ラッチするようにしてもよい。また、基準クロックＢＣＬＫのＨ状態の間またはＬ状態の間、クロックＣＬＫをカウントし、ラッチするようにしてもよい。
【００３９】
次に、本発明の第２の実施の形態を図面を参照して詳細に説明する。
図６は、第２の実施の形態に係る発振回路の回路図である。図６において図２と同じものには同じ符号を付し、その説明を省略する。
【００４０】
第２の実施の形態では、複数のＲＯＭ２１ａ〜２１ｄと選択回路２２が設けられている。ラッチ回路１３の出力は、ＲＯＭ２１ａ〜２１ｄのそれぞれのアドレスに接続されている。また、ＲＯＭ２１ａ〜２１ｄのデータバスは、可変抵抗ＶＲ１、可変コンデンサＶＣ１に接続されている。
【００４１】
可変抵抗ＶＲ１および可変コンデンサＶＣ１は、図３で説明したように、複数の抵抗、複数のコンデンサ、および複数のトランジスタから構成されている。ＲＯＭ２１ａ〜２１ｄのデータバスは、その複数のトランジスタと接続されており、それらをオン／オフすることによって、ＣＲ発振回路１５の抵抗値および容量値を変更する。ＲＯＭ２１ａ〜２１ｄは、ＣＲ発振回路１５から出力しようとする周波数に応じて、選択回路２２により選択される。
【００４２】
ＲＯＭ２１ａ〜２１ｄのそれぞれには、クロックＣＬＫの周波数を、設定される周波数に自動調整するためのトリミングデータが記憶されている。例えば、ＲＯＭ２１ａには、クロックＣＬＫを１ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｂには、クロックＣＬＫを２ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｃには、クロックＣＬＫを４ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｄには、クロックＣＬＫを８ＭＨｚに調整するためのトリミングデータが記憶される。
【００４３】
選択回路２２は、ＣＲ発振回路１５から出力しようとするクロックＣＬＫの周波数に応じて、ＲＯＭ２１ａ〜２１ｄを選択する。例えば、上記例において、１Ｍの周波数のクロックＣＬＫをＣＲ発振回路１５から出力させたい場合には、ＲＯＭ２１ａを選択するようにする。４Ｍの周波数のクロックＣＬＫをＣＲ発振回路１５から出力させたい場合には、ＲＯＭ２１ｃを選択するようにする。なお、選択回路２２は、例えば、外部からの信号やプログラム指示によって、ＲＯＭ２１ａ〜２１ｄを選択する。
【００４４】
なお、図６の発振回路の動作は、複数のＲＯＭ２１ａ〜２１ｄを選択することによって、異なる周波数のクロックＣＬＫを出力する以外においては、図２の発振回路と同様であり、動作の詳細な説明は省略する。
【００４５】
このように、出力しようとするクロックＣＬＫの周波数に応じたトリミングデータを、クロックＣＬＫの周波数ごとにＲＯＭ２１ａ〜２１ｄのそれぞれに記憶し、クロックＣＬＫの周波数に応じてそのうちの１つを選択するようにした。これによって、１つの発振回路で複数の周波数のクロックＣＬＫを出力することができる。
【００４６】
なお、図６では、基準クロックＢＣＬＫは、イネーブル信号としてカウンタ１１に入力され、クロックＣＬＫは、カウントするためのクロックとしてカウンタ１１に入力されている。従って、発振回路が動作するには、クロックＣＬＫが基準クロックＢＣＬＫの周波数より大きいということが条件である（逆の場合、カウンタ１１は、基準クロックＢＣＬＫをカウントすることはできない）。クロックＣＬＫの周波数が、基準クロックＢＣＬＫの周波数より小さい場合には、クロックＣＬＫをカウンタ１１にイネーブル信号として入力し、基準クロックＢＣＬＫをカウンタ１１にカウントするためのクロックとして入力するようにすればよい。
【００４７】
本発明の第３の実施の形態を図面を参照して詳細に説明する。
図７は、第３の実施の形態に係る発振回路の回路図である。図７において図６と同じものには同じ符号を付し、その説明を省略する。
【００４８】
第２の実施の形態の発振回路では、基準クロックＢＣＬＫより大きい周波数のクロックＣＬＫのみを出力、または、基準クロックＢＣＬＫより小さい周波数のクロックＣＬＫのみしか出力できないが、第３の実施の形態では、１つの発振回路で、基準クロックＢＣＬＫの周波数より大きな周波数のクロックＣＬＫと、小さな周波数のクロックＣＬＫを出力できるようになっており、幅広い周波数のクロックＣＬＫを出力できるようになっている。
【００４９】
例えば、基準クロックＢＣＬＫの周波数より大きな周波数のクロックＣＬＫを出力するには、カウンタ１１に、基準クロックＢＣＬＫをイネーブル信号として入力し、クロックＣＬＫをカウントするためのクロックとして入力しなければならない（逆の場合、カウンタ１１は、基準クロックＢＣＬＫをカウントすることはできない）。また、基準クロックＢＣＬＫの周波数より小さな周波数のクロックＣＬＫを出力するには、カウンタ１１に、クロックＣＬＫをイネーブル信号として入力し、基準クロックＢＣＬＫをカウントするためのクロックとして入力しなければならない（逆の場合、カウンタ１１は、基準クロックＢＣＬＫをカウントすることはできない）。そのため、選択回路２２によって、基準クロックＢＣＬＫより大きな周波数のクロックＣＬＫを出力するようにＲＯＭ２１ａ〜２１ｄを選択した場合には、基準クロックＢＣＬＫをイネーブル信号としてカウンタ１１に入力し、クロックＣＬＫをカウントするためのクロックとしてカウンタ１１に入力する必要がある。また、選択回路２２により、基準クロックＢＣＬＫより小さな周波数のクロックＣＬＫを出力するようにＲＯＭ２１ａ〜２１ｄを選択した場合には、クロックＣＬＫをイネーブル信号としてカウンタ１１に入力し、基準クロックＢＣＬＫをカウントするためのクロックとしてカウンタ１１に入力する必要がある。
【００５０】
切替え回路３１は、基準クロックＢＣＬＫとクロックＣＬＫの一方をイネーブル信号として、他方をカウントするためのクロックとして切替えてカウンタ１１に出力する。また、切替え回路３１は、選択回路２２と接続されており、選択回路２２のＲＯＭ２１ａ〜２１ｄの選択に応じて、基準クロックＢＣＬＫとクロックＣＬＫのカウンタ１１への出力を切替える。
【００５１】
例えば、基準クロックＢＣＬＫの周波数を５ＭＨとする。ＲＯＭ２１ａには、クロックＣＬＫを１ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｂには、クロックＣＬＫを２ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｃには、クロックＣＬＫを４ＭＨｚに調整するためのトリミングデータ、ＲＯＭ２１ｄには、クロックＣＬＫを８ＭＨｚに調整するためのトリミングデータが記憶されているとする。
【００５２】
選択回路２２が、ＲＯＭ２１ａ〜２１ｃのどれかを選択する場合は、ＣＲ発振回路１５から出力されるクロックＣＬＫは、基準クロックＢＣＬＫの周波数より小さい。この場合、切替え回路３１は、クロックＣＬＫをイネーブル信号としてカウンタ１１に出力し、基準クロックＢＣＬＫをカウントするためのクロックとしてカウンタ１１に出力するように切替える。一方、選択回路２２が、ＲＯＭ２１ｄを選択する場合は、ＣＲ発振回路１５から出力されるクロックＣＬＫは、基準クロックＢＣＬＫの周波数より大きい。この場合、切替え回路３１は、基準クロックＢＣＬＫをイネーブル信号としてカウンタ１１に出力し、クロックＣＬＫをカウントするためのクロックとしてカウンタ１１に出力するように切替える。
【００５３】
なお、図７の発振回路の動作は、複数のＲＯＭ２１ａ〜２１ｄの選択に応じて、基準クロックＢＣＬＫとクロックＣＬＫのカウンタ１１への出力を切替える以外においては、図２の発振回路の動作と同様であり、動作の詳細な説明は省略する。
【００５４】
このように、所定の周波数にするためのトリミングデータを記憶した複数のＲＯＭ２１ａ〜２１ｄの選択に応じて、基準クロックＢＣＬＫとクロックＣＬＫのカウンタ１１への出力を切替えるようにした。これによって、１つの発振回路で、基準クロックＢＣＬＫの周波数より大きな周波数のクロックＣＬＫと、小さな周波数のクロックＣＬＫを出力できるようになり、幅広い周波数のクロックＣＬＫを出力できるようになる。
【００５５】
次に、第１〜第３の実施の形態に示した発振回路を適用したマイクロコンピュータについて説明する。
図８は、マイクロコンピュータのブロック構成図である。図に示すようにマイクロコンピュータ４０は、発振回路４１、通信回路４２、およびＣＰＵ４３を有している。マイクロコンピュータ４０の通信回路４２は、通信回路５０と接続されている。
【００５６】
通信回路５０は、通信回路４２とシリアルのデータＳＤを送受信する。通信回路５０は、クロックＰＣＬＫを通信回路４２に出力し、このクロックＰＣＬＫに同期してデータＳＤの送受信を行う。
【００５７】
発振回路４１は、図２，６，７で示した発振回路である。発振回路４１には、通信回路５０から出力されるクロックＰＣＬＫが、基準クロックＢＣＬＫとして入力される。発振回路４１は、図２，６，７で説明したように基準クロックＢＣＬＫ、すなわち、通信回路５０から出力されるクロックＰＣＬＫに合わせてクロックＣＬＫの周波数を自動調整し出力する。クロックＣＬＫは、通信回路４２に出力される。
【００５８】
通信回路４２は、マイクロコンピュータ４０の通常モードおよび低消費電力モードに応じて、マイクロコンピュータ４０の外部から入力される外部クロックＥＣＬＫと、発振回路４１から出力されるクロックＣＬＫとの一方に基づき動作する。例えば、マイクロコンピュータ４０が通常モードであれば、通信回路４２は、外部クロックＥＣＬＫに基づいてデータＳＤを生成し、送受信等の動作をする。マイクロコンピュータ４０が低消費電力モードであれば、通信回路４２は、発振回路４１のクロックＣＬＫに基づいてデータＳＤを生成し、送受信等の動作をする。つまり、マイクロコンピュータ４０が低消費電力モードに入り、外部クロックＥＣＬＫの入力がストップされても、通信回路４２は、発振回路４１のクロックＣＬＫが供給されることにより、通信回路５０と通信を行うことができる。
【００５９】
ＣＰＵ４３は、外部から入力される外部クロックＥＣＬＫに基づいて動作し、マイクロコンピュータ４０の全体を制御している。
上記でも説明したように、マイクロコンピュータ４０が通常モードであれば、通信回路４２には、外部クロックＥＣＬＫが入力され、この外部クロックＥＣＬＫに基づいて動作する。そして、通信回路４２は、通信回路５０から出力されるクロックＰＣＬＫに同期して、データＳＤを送受信する。
【００６０】
マイクロコンピュータ４０が低消費電力モードであれば、外部クロックＥＣＬＫはストップし、通信回路４２には、発振回路４１からのクロックＣＬＫが入力され、このクロックＣＬＫに基づいて動作する。発振回路４１は、通信回路５０から出力されるクロックＰＣＬＫを基準クロックＢＣＬＫとして入力し、この基準クロックに合わせてクロックＣＬＫの周波数を自動調整する。これによって、通信回路４２，５０の動作タイミングはほぼ一致し、精度の高い通信を行うことができる。
【００６１】
なお、上記では、マイクロコンピュータ４０が低消費電力モードのときだけ、通信回路４２は、発振回路４１のクロックＣＬＫで動作するとしたが、常時、発振回路４１のクロックＣＬＫで動作するようにしてもよい。
【００６２】
（付記１）  出力するクロックを所定の発振周波数に自動調整する発振回路において、
前記クロックおよび基準クロックの一方に基づく所定時間において他方のパルス数をカウントするカウンタ部と、
前記カウンタ部のカウント値をアドレス入力とする、トリミングデータを格納した記憶装置と、
前記記憶装置から出力される前記トリミングデータにより発振周波数を変化させ、前記クロックを出力する発振部と、
を有することを特徴とする発振回路。
【００６３】
（付記２）  前記記憶装置は複数であり、前記記憶装置のそれぞれには、異なる発振周波数の前記クロックが出力されるための前記トリミングデータが記憶されていることを特徴とする付記１記載の発振回路。
【００６４】
（付記３）  前記記憶装置は、出力しようとする前記クロックの発振周波数に応じて切替えられることを特徴とする付記２記載の発振回路。
（付記４）  前記クロックおよび前記基準クロックの前記一方および前記他方は、前記記憶装置の切替えに応じて切替えられることを特徴とする付記３記載の発振回路。
【００６５】
（付記５）  前記クロックおよび前記基準クロックの前記一方および前記他方は、前記クロックおよび前記基準クロックの周波数の大きさによって決められることを特徴とする付記１記載の発振回路。
【００６６】
（付記６）  前記クロックの周波数が前記基準クロックの周波数より大きい場合、前記基準クロックが前記一方となることを特徴とする付記５記載の発振回路。
（付記７）  前記カウンタ部は、
前記クロックおよび基準クロックの一方に応じて、他方のカウントを開始するカウンタと、
前記クロックおよび前記基準クロックの前記一方に応じて、前記カウンタの前記カウント値をラッチするラッチ回路と、
を有することを特徴とする付記１記載の発振回路。
【００６７】
（付記８）  出力するクロックを所定の発振周波数に自動調整する半導体装置において、
前記クロックおよび基準クロックの一方に基づく所定時間において他方のパルス数をカウントするカウンタ部と、
前記カウンタ部のカウント値をアドレス入力とする、トリミングデータを格納した記憶装置と、
前記記憶装置から出力される前記トリミングデータにより発振周波数を変化させ、前記クロックを出力する発振部と、
を有することを特徴とする半導体装置。
【図面の簡単な説明】
【００６８】
【図１】発振回路の概要を示した図である。
【図２】第１の実施の形態に係る発振回路の回路図である。
【図３】可変抵抗と可変コンデンサの詳細を示した回路図である。
【図４】ＲＯＭのトリミングデータ構成例を示した図である。
【図５】基準クロックＢＣＬＫ、クロックＣＬＫ、およびラッチ回路の出力のタイミングついて説明するタイミングチャートである。
【図６】第２の実施の形態に係る発振回路の回路図である。
【図７】第３の実施の形態に係る発振回路の回路図である。
【図８】マイクロコンピュータのブロック構成図である。
【符号の説明】
【００６９】
１  カウンタ部
２  記憶装置
３  発振部
ＣＬＫ  クロック
ＢＣＬＫ  基準クロック
【図１】
2006229630.tif 000003
【図２】
2006229630.tif 000004
【図３】
2006229630.tif 000005
【図４】
2006229630.tif 000006
【図５】
2006229630.tif 000007
【図６】
2006229630.tif 000008
【図７】
2006229630.tif 000009
【図８】
2006229630.tif 000010