(57)【特許請求の範囲】
【請求項１】
抵抗及びコンデンサを含むＲＣ発振回路の発振周波数を調整する発振回路の周波数調整装置において、
前記抵抗又は前記コンデンサに接続される発振定数調整素子と、
前記ＲＣ発振回路の発振を観測する外部端子と、
前記抵抗及びコンデンサのバラツキに起因する前記ＲＣ発振回路の発振周波数の誤差を調整する為の補正データが記憶されて成る書き換え可能で、第２プログラム領域の命令を実行するか否かを判断する為のフラグ情報を有する不揮発性メモリと、
通常動作を実行する為の第１プログラム領域と、前記発振周波数の誤差を検出する為の前記第２プログラム領域とを有し、リセット解除後は、前記フラグ情報に応じて前記第２プログラム領域が指定される様に構成されて成るプログラムメモリと、を備え、
前記第２プログラム領域の命令の動作の結果及び前記外部端子から観測される波形に基づき、前記補正データに従って前記発振定数調整素子を制御し、この時の前記発振周波数が期待する発振周波数となるまで前記補正データの書き換えを繰り返えした後に、前記第１プログラム領域へジャンプすることを特徴とする発振回路の周波数調整装置。
【請求項２】
前記発振定数調整素子は、前記抵抗の抵抗値を調整する複数の発振周波数調整用抵抗であり、前記複数の発振周波数調整用抵抗は、前記補正データに従って前記抵抗に選択的に接続されることを特徴とする請求項１記載の発振回路の周波数調整装置。
【請求項３】
前記発振定数調整素子は、前記コンデンサの容量を調整する複数の発振周波数調整用コンデンサであり、前記複数の発振周波数調整用コンデンサは、前記補正データに従って前記コンデンサに選択的に接続されることを特徴とする請求項１記載の発振回路の周波数調整装置。
【請求項４】
前記複数の発振周波数調整用抵抗は、２のｎ乗（ｎ＝０、１、２・・・）の抵抗値を有することを特徴とする請求項２記載の発振回路の周波数調整装置。
【請求項５】
前記複数の発振周波数調整用コンデンサは、２のｎ乗（ｎ＝０、１、２・・・）の容量を有することを特徴とする請求項３記載の発振回路の周波数調整装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路に使用されるＲＣ発振回路の発振周波数を誤差調整するのに好適な発振回路の周波数調整装置に関する。
【０００２】
【従来の技術】
クロック信号入力を必要とするマイクロコンピュータ等の集積回路は、発振回路を外部接続し自分自身でクロック信号を作成する集積回路、外部からクロック信号の供給を受ける集積回路、の２種類に大別される。
前者の集積回路において、ＲＣ発振回路は、構成素子の一部である抵抗を集積回路に内蔵すると共にコンデンサを集積回路に外部接続するものが多い（前記コンデンサを集積回路に内蔵する場合もある）。ここで、ＲＣ発振回路の発振周波数は、集積回路の１ロット毎にばらついており、期待する発振周波数となる様に現状の誤差を有する発振周波数を調整する必要がある。
【０００３】
ＲＣ発振回路の発振周波数の調整方法として、（１）コンデンサを可変容量コンデンサ（トリマー）とし、各集積回路毎に、可変容量コンデンサの容量を調整して期待する発振周波数に合わせ込む方法、（２）ロット内から代表サンプルを任意選択し、コンデンサの容量を期待する発振周波数となる様に合わせ込み、当該容量のコンデンサを各集積回路に外部接続する方法等があり、従来は何れかの方法で対応していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、調整方法（１）の場合、各集積回路毎に可変容量コンデンサを設けてその容量を調整しなければならない為、期待する発振周波数は得られる様になるが、その反面、手間が掛かると共にコスト高となる問題がある。また、調整方法（２）の場合、ロット内の代表サンプルを任意選択するだけでコンデンサの容量を固定してしまう為、ロット内で素子特性のバラツキがある場合は、発振周波数が期待値から外れてしまう問題がある。
【０００５】
そこで、本発明は、ＲＣ発振回路の発振周波数を容易に調整できる発振回路の周波数調整装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、前記問題点を解決する為に成されたものであり、抵抗及びコンデンサから成るＲＣ発振回路の発振出力を使用する集積回路であって、前記ＲＣ発振回路の発振周波数を調整する装置において、前記抵抗の抵抗値又は前記コンデンサの容量の何れか一方を可変とする発振定数調整素子と、前記集積回路の内部素子のバラツキに起因する前記ＲＣ発振回路の発振周波数の誤差を調整する為の補正データが記憶されて成る書き換え可能な不揮発性メモリと、通常動作を実行する為の第１プログラム領域、発振周波数の誤差を検出する為の第２プログラム領域から成り、リセット解除後は、前記第２プログラム領域が指定される様に構成されて成るプログラムメモリと、を備え、前記第２プログラム領域の命令の解読結果に基づき、前記不揮発性メモリからの補正データに従って前記発振定数調整素子を制御し、この時の発振周波数が期待する発振周波数となるまで前記不揮発性メモリの補正データの書き換えを繰り返すことを特徴とする。
【０００７】
また、前記発振定数調整素子は、前記抵抗の抵抗値を調整する複数の発振周波数調整用抵抗であり、前記複数の発振周波数調整用抵抗は、前記補正データに従って前記抵抗に選択的に接続されることを特徴とする。特に、前記複数の発振周波数調整用抵抗は、順次、２のｎ乗（ｎ＝０、１、２・・・）の抵抗値を有することを特徴とする。
【０００８】
また、前記発振定数調整素子は、前記コンデンサの容量を調整する複数の発振周波数調整用コンデンサであり、前記複数の発振周波数調整用コンデンサは、前記補正データに従って前記コンデンサに選択的に接続されることを特徴とする。特に、前記複数の発振周波数調整用コンデンサは、順次、２のｎ乗（ｎ＝０、１、２・・・）の容量を有することを特徴とする。
【０００９】
また、前記発振周波数が期待する発振周波数となった時、前記第２プログラム領域から前記第１プログラム領域へジャンプすることを特徴とする。
また、リセット解除後、前記プログラムメモリの第２プログラム領域の命令を実行するか否かを判断する為のフラグ手段を設けたことを特徴とする。
【００１０】
【発明の実施の形態】
本発明の詳細を図面に従って具体的に説明する。
図１は本発明の発振回路の周波数調整装置を示す回路ブロック図であり、１チップマイクロコンピュータに適用されるものとする。
図１において、コンデンサ（１）は端子（２）（３）と接地との間に外部接続され、抵抗（４）の一端は端子（２）と接続され、３段のインバータ（５）（６）（７）から成る直列体の一端は端子（３）と接続されている。前記コンデンサ（１）、抵抗（４）及びインバータ（５）（６）（７）から従来のＲＣ発振回路が構成される。尚、コンデンサ（１）の容量（例えばｐＦ単位）及び抵抗（４）の抵抗値（例えばＫΩ単位）は、後述する全スイッチ回路が閉じた状態で、理想状態において期待する発振周波数より若干高い発振周波数が得られる値に固定されている。尚、初段のインバータ（５）には、異なる２つのスレッショルド電圧を有する所謂シュミット型が採用され、発振クロックＣＬＫを得る上でノイズの影響を無視できる様になっている。
【００１１】
発振周波数調整用抵抗（８−１）〜（８−ｎ）は、抵抗（４）の他端と最終段のインバータ（７）の出力端子との間に直列接続され、スイッチ回路（９−１）〜（９−ｎ）は、発振周波数調整用抵抗（８−１）〜（８−ｎ）に並列接続されている。即ち、発振周波数調整用抵抗（８−１）〜（８−ｎ）は、スイッチ回路（９−１）〜（９−ｎ）の開閉に応じて抵抗（４）と直列接続されるものである。従って、発振周波数調整用抵抗（８−１）〜（８−ｎ）は、スイッチ回路（９−１）〜（９−ｎ）の開閉に応じて、前記ＲＣ発振回路を構成する抵抗（４）側の抵抗値を変化させ、ＲＣ発振定数を調整させるものである。抵抗（４）及び発振周波数調整用抵抗（８−１）〜（８−ｎ）は直列接続される為、単純な足し算で抵抗（４）側の抵抗値を可変とできる。発振周波数調整用抵抗（８−１）〜（８−ｎ）の抵抗値（例えばＫΩ単位）は各々２↑０〜２↑（ｎ−１）に設定される。但し、↑はべき乗を表す。これより、抵抗（４）側の抵抗値は、スイッチ回路（９−１）〜（９−ｎ）の開閉の組み合わせに応じて１ＫΩ単位での調整が可能となる。
【００１２】
（１０）はデータの書き換えが可能な不揮発性メモリ（紫外線消去を行うＥＰＲＯＭ、電気消去を行うＥＥＰＲＯＭ等）であり、スイッチ回路（９−１）〜（９−ｎ）を開閉制御する為の補正データが書き込まれるものである。前記補正データは、期待する発振周波数と現状の発振周波数との誤差に相当するｎビットの２進データであり、各ビットが個々のスイッチ回路（９−１）〜（９−ｎ）の開閉制御に対応する。因みに、前記補正データが論理値「１」の時、対応するスイッチ回路は閉じ、前記補正データが論理値「０」の時、対応するスイッチ回路は開くものとする。本発明の実施の形態では、不揮発性メモリ（１０）の１ワードはｎビットとする。尚、不揮発性メモリ（１０）は、前記補正データを一旦書き込んでしまえば電源を遮断しても直前の記憶状態を維持できる為、前記補正データの保持に好適である。また、初期状態では、発振周波数の誤差検出ができない為、不揮発性メモリ（１０）には全ビットが論理値「１」の補正データを初期値として書き込んでおく。
【００１３】
（１１）はＲＯＭ（プログラムメモリ）であり、１チップマイクロコンピュータを動作制御する為のプログラム命令が予め記憶されたものである。即ち、ＲＯＭ（１１）は、通常動作を実行する為の命令が記憶された第１プログラム領域と、ＲＣ発振回路の発振周波数を調整する為の命令が記憶された第２プログラム領域とに分割されている。さて、不揮発性メモリ（１０）は、ＲＯＭ（１１）の第１又は第２プログラム領域を選択する為のフラグ領域Ｆを有する。即ち、１チップマイクロコンピュータは、前記フラグ領域Ｆが論理値「１」の時はＲＯＭ（１１）の第２プログラム領域の命令を実行してから第１プログラム領域の命令を実行し、反対に、前記フラグ領域Ｆが論理値「０」の時はＲＯＭ（１１）の第２プログラム領域の命令を実行せずに第１プログラム領域の命令のみを実行する。
【００１４】
さて、電池駆動型の携帯用電子機器に適用される１チップマイクロコンピュータは、消費電流の低減を要求される為、消費電流が比較的多いＲＣ発振回路又はセラミック発振回路の他に、消費電流が比較的少ない水晶発振回路を内蔵し、用途に応じて両発振回路を使い分けできる機種が多い。即ち、通常の演算処理を実行する時はＲＣ発振回又はセラミック発振回路を動作させ、それ以外の計時処理等を実行する時は水晶発振回路を動作させ、電池の長寿命化を図っている。勿論、ＲＣ発振回路の発振周波数は水晶発振回路の発振周波数よりも高い。本発明の実施の形態における１チップマイクロコンピュータは、前記両発振回路を内蔵しているものとする。
【００１５】
（１２）はカウンタであり、前記水晶又はセラミック発振回路の発振出力を所定分周した分周クロックＤＩＶの立ち上がり（又は立ち下がり）が印加された時、リセットされると共に発振クロックＣＬＫの計数を開始し、その直後の分周クロックＤＩＶの立ち上がり（又は立ち下がり）が印加された時、発振クロックＣＬＫの計数動作を停止するものである。即ち、分周クロックＤＩＶの１周期内のカウンタ（１２）の計数値と基準値とを比較することにより、発振クロックＣＬＫの現状の発振周波数と期待する発振周波数との誤差を検出できる。
【００１６】
以下、図１の動作を図２のフローチャートを基に説明する。
１チップマイクロコンピュータがリセット解除されると、ＲＯＭ（１１）の第２プログラム領域が指定され、当該第２プログラム領域の命令の解読結果に従って、ＲＣ発振回路の発振周波数を調整する為の動作が開始される。先ず、不揮発性メモリ（１０）のフラグ領域Ｆの状態を検出する（ステップ▲１▼）。尚、１チップマイクロコンピュータの出荷時、不揮発性メモリ（１０）のフラグ領域Ｆには、ＲＣ発振回路の発振周波数の調整動作を実行する為の論理値「１」が記憶されているものとする。フラグ領域Ｆが論理値「１」の為（ステップ▲１▼ＹＥＳ）、ＲＣ発振回路の発振周波数の誤差検出が行われる（ステップ▲２▼）。即ち、最初の補正データは全ビットが論理値「１」である為、スイッチ回路（９−１）〜（９−ｎ）が閉じ、コンデンサ（１）及び抵抗（４）から成るＲＣ定数に従って発振クロックＣＬＫが発生する。当該発振クロックＣＬＫは分周クロックＤＩＶの１周期だけカウンタ（１２）で計数され、この時のカウンタ（１２）の計数値は基準値と比較される。不揮発性メモリ（１０）の補正データ記憶領域には、カウンタ（１２）の計数値と基準値との差に応じた新たな補正データが記憶される（ステップ▲３▼）。そして、ステップ▲２▼と同様に、ＲＣ発振回路の発振周波数の誤差検出が再び行われる（ステップ▲４▼）。即ち、スイッチ回路（９−１）〜（９−ｎ）の何れかが開き、コンデンサ（１）と抵抗（４）及び発振周波数調整用抵抗（８−１）〜（８−ｎ）の何れかとの直列体とから成るＲＣ定数に従って発振クロックＣＬＫが発生する。当該発振クロックＣＬＫは分周クロックＤＩＶの１周期だけカウンタ（１２）で計数され、この時のカウンタ（１２）の計数値は基準値と比較される。前記ステップ▲３▼▲４▼は、ＲＣ発振回路の現状の発振周波数が期待する発振周波数となるまで繰り返し実行される（ステップ▲５▼ＮＯ）。ＲＣ発振回路の発振周波数が期待する発振周波数となった時（ステップ▲５▼ＹＥＳ）、不揮発性メモリ（１０）のフラグ領域Ｆには、論理値「０」が記憶される（ステップ▲６▼）。その後は、ＲＯＭ（１１）の第１プログラム領域の先頭番地にジャンプし、命令の解読結果に従って通常動作が実行される（ステップ▲７▼）。即ち、ＲＣ発振回路の発振周波数を調整し終えてしまえば（ステップ▲１▼ＮＯ）、その後は、１チップマイクロコンピュータのリセット解除後であっても、ステップ▲２▼〜▲６▼を省略でき、無駄な処理を回避できることになる。これは、不揮発性メモリを使用する際の利点である。
【００１７】
さて、電池駆動型の携帯用電子機器の場合、電源電圧の経時的変化に伴い、ＲＣ発振回路の発振周波数が変動するが、この変動量が大きい時は、図２のステップ▲６▼を削除すればよい。即ち、ＲＣ発振回路の発振周波数の調整が１チップマイクロコンピュータのリセット解除の都度実行され、この結果、ＲＣ発振回路の発振周波数の精度は向上する。
【００１８】
また、集積回路の内部素子の特性は、周囲温度変化、浮遊容量等の影響を受けてばらつき易い。即ち、ＲＣ発振回路の発振周波数がばらつき易い。ところが、ＲＣ発振回路の発振周波数の調整が１チップマイクロコンピュータのリセット解除毎に実行される為、周囲温度に適合したＲＣ発振回路の発振周波数を得ることができる。
【００１９】
尚、ＲＣ発振回路を構成する抵抗の抵抗値を調整する技術について説明したが、これに限定されることなく、ＲＣ発振回路を構成するコンデンサの容量を調整する様にしてもよい。図３は本発明における他の実施の形態であり、図１と同一素子については同一番号を記し、その説明を省略する。
図３において、発振周波数調整用コンデンサ（１３−１）〜（１３−ｎ）及びスイッチ回路（１４−１）〜（１４−ｎ）から成る直列体は、シュミット型のインバータ（５）の入力端子と接地との間に並列接続されている。即ち、前記直列体は、スイッチ回路（１４−１）〜（１４−ｎ）の開閉に応じてＲＣ発振回路のコンデンサ（１）側の容量を変化させ、発振周波数を調整させるものである。コンデンサ（１）及び発振周波数調整用コンデンサ（１３−１）〜（１３−ｎ）は並列接続される為、単純な足し算でコンデンサ（１）側の容量を可変とできる。発振周波数調整用コンデンサ（１３−１）〜（１３−ｎ）の容量（例えばｐＦ単位）は各々２↑０〜２↑（ｎ−１）に設定される。これより、コンデンサ（１）側の容量は、スイッチ回路（１４−１）〜（１４−ｎ）の開閉の組み合わせに応じて１ｐＦ単位での調整が可能となる。勿論、スイッチ回路（１４−１）〜（１４−ｎ）は不揮発性メモリ（１０）の補正データに応じて開閉制御される。前記補正データは、２↑ｎ通り存在する。そして、図３の動作は図２のフローチャートと同様である。
【００２０】
【発明の効果】
本発明によれば、不揮発性メモリの補正データに基づきＲＣ発振回路の現状の発振周波数を期待する発振周波数に調整することができる。特に、１チップマイクロコンピュータのリセット解除の都度、発振周波数の調整動作を実行することにより周囲温度に適合した精度の高い発振周波数を得ることができる。また、不揮発性メモリのフラグ領域を利用すれば、発振周波数の調整終了後は、１チップマイクロコンピュータのリセット解除後における発振周波数の調整動作を省略でき、直ちに通常動作に移行できる利点が得られる。
【図面の簡単な説明】
【図１】本発明の発振回路の周波数調整装置の一実施形態を示す回路ブロック図である。
【図２】本発明の動作を示すフローチャートである。
【図３】本発明の発振回路の周波数調整装置の他の実施形態を示す回路ブロック図である。
【符号の説明】
（１）  コンデンサ
（４）  抵抗
（８−１）〜（８−ｎ）  発振周波数調整用抵抗
（９−１）〜（９−ｎ）  スイッチ回路
（１０）  不揮発性メモリ
（１１）  ＲＯＭ
（１２）  カウンタ
（１３−１）〜（１３−ｎ）  発振周波数調整用コンデンサ
（１４−１）〜（１４−ｎ）  スイッチ回路
【図１】
0003857762.tif 000002
【図２】
0003857762.tif 000003
【図３】
0003857762.tif 000004