(57)【特許請求の範囲】
【請求項１】
発振周波数の調整時に外部装置から入力されたｍビットのビット列からなるトリミング調整信号を用いて発振回路の発振周波数の調整を行う発振周波数調整回路であって、
発振回路の発振周波数に基づいて設定された動作時間の間に計測を行なう計測部と、
前記計測部で計測された計測値と設定された比較値とを比較する比較部と、
前記信号のうち予め定めたｎビットが入力されると、第１の比較値を前記比較部に設定すると共に前記第１の比較値に応じた第１の動作時間を前記計測部に設定し、前記予め定めたｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値を前記比較部に設定すると共に前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間を前記計測部に設定する設定部と、
前記比較部の比較結果に基づいて、前記計測部で計測された前記発振周波数が目標発振周波数となるように前記発振回路の発振周波数を調整する調整部と、
を含む発振周波数調整回路。
【請求項２】
前記信号は調整毎に上位ビットから順に１ビットずつ入力され、
前記設定部は、前記信号の上位ｎビットが入力されると、第１の比較値を前記比較部に設定すると共に前記第１の比較値に応じた第１の動作時間を前記計測部に設定し、前記上位ｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値を前記比較部に設定すると共に前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間を前記計測部に設定する、
請求項１に記載の発振周波数調整回路。
【請求項３】
前記調整部は、
前記発振回路の発振周波数が最大調整周波数と最小調整周波数との間の中間調整周波数で発振させ、
前記比較結果が、計測された前記発振周波数が設定された比較値未満であることを示す場合には、前記最大調整周波数と前記中間調整周波数との間の調整周波数で、かつ調整する毎に前記目標発振周波数に徐々に近づく調整周波数で発振するように調整し、
前記比較結果が、計測された前記発振周波数が設定された比較値以上を示す場合には、前記最小調整周波数と前記中間調整周波数との間の調整周波数で、かつ調整する毎に前記目標発振周波数に徐々に近づく調整周波数で発振するように調整する
請求項１または請求項２に記載の発振周波数調整回路。
【請求項４】
請求項１乃至３のいずれか１項に記載の発振周波数調整回路及び前記発振回路と、
前記発振周波数調整回路及び前記発振回路の動作制御を行う中央処理装置と、
を備えた半導体装置。
【請求項５】
請求項４に記載の半導体装置と、センサと、を備えた電子機器。
【請求項６】
発振周波数の調整時に外部装置から入力されたｍビットのビット列からなるトリミング調整信号を用いて発振回路の発振周波数の調整を行う発振周波数調整方法であって、
発振回路の発振周波数に基づいて設定された動作時間の間に計測を行なう計測ステップと、
前記信号のうち予め定めたｎビットが入力されると、第１の比較値と前記第１の比較値に応じた第１の動作時間とを設定し、前記予め定めたｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値と前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間とを設定する設定ステップと、
前記計測ステップで計測された発振周波数と前記設定ステップで設定された比較値とを比較する比較ステップと、
前記比較ステップでの比較結果に基づいて、前記計測ステップで計測された発振周波数が目標発振周波数となるように前記発振回路の発振周波数を調整する調整ステップと、
を含む発振周波数調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発振回路の発振周波数の調整技術に係り、特に、精度の高い調整を高速に行なうのに好適な発振周波数調整回路、半導体装置、電子機器、及び発振周波数調整方法に関するものである。
【背景技術】
【０００２】
発振回路においては、発振器の発振周波数の調整を自動的に行うためのトリミング回路が設けられている。例えば、特許文献１においては、発振周波数精度が比較的低い可変周波数型のＣＲ発振回路と、発振周波数精度が比較的高い水晶発振回路と、水晶発振回路の発振数に基づき所定のタイミングでラッチ信号を生成する制御論理回路と、ＣＲ発振回路の出力クロック信号を計数するカウンタと、ラッチ信号に従ってラッチしたカウンタのカウント出力データと所定の基準データとを比較し、両入力の差に対応して変化する２進のｍビットのトリミング信号を出力してＣＲ発振回路の発振周波数を変化させるように制御し、両入力の差が一定範囲内になると制御動作を停止させるデータ比較回路とを具備する発振器の自動トリミング回路が記載されている。
【０００３】
図７、及び図８を用いて、トリミング信号を用いて発振器の発振周波数を調整する従来の発振周波数調整回路の構成と動作を説明する。
【０００４】
図７に示すように、発振周波数調整回路は、ＣＲ発振回路２の発振動作を調整するために、トリミング回路１、ＮＢｉｔカウンタ（以下、単にカウンタともいう）３、比較器４、Ｄ型フリップフロップ回路（以下、単にフリップフロップともいう）ＤＦＦ０〜ＤＦＦ３、ＮＯＲ回路（否定論理和演算回路）ＳＵＢ３、ＯＲ回路（論理和回路）ＳＵＢ０〜ＳＵＢ２、ＮＯＴ回路（否定回路）ＳＵＢ４、及びＡＮＤ回路（論理積回路）ＳＵＢ５を備えた構成となっている。
【０００５】
このような構成により、従来の発振周波数調整回路は、ＣＲ発振回路２のクロックによりカウンタ３を一定時間カウント動作させ、比較器４において、カウンタ３のカウント結果データと予め定められたオーバーフロー値との比較に基づいて、オーバーフロー判定を行い、その結果に基づいてＣＲ発振回路２の発振周波数の調整に用いるトリミング値を決定する。
【０００６】
図７においては、例えば発振周波数調整時に接続されるテスタ等の外部装置から入力されるli_trm3、li_trm2、li_trm1、及びli_trm0の４ビットのトリミング設定値が、フリップフロップＤＦＦ３〜ＤＦＦ０の各々のクロック入力と、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２、ＯＲ回路ＳＵＢ１、ＯＲ回路ＳＵＢ０の一方の入力として入力される。
【０００７】
なお、ここでは、最上位ビットのトリミング設定値がli_trm3であり、最下位ビットのトリミング設定値がli_trm0である。
【０００８】
また、フリップフロップＤＦＦ３〜ＤＦＦ０の各々の出力は、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０の他方の入力として入力される。
【０００９】
そして、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０の各々の出力は、トリミング回路１のデータ入力として入力される。
【００１０】
また、co_enはカウンタ３のカウンタ動作時間の制御に用いられるカウンタ動作時間設定信号であり、このカウンタ動作時間設定信号co_enがＡＮＤ回路ＳＵＢ５の一方の入力として入力され、ＣＲ発振回路２の出力が、ＡＮＤ回路ＳＵＢ５の他方の入力として入力される。
【００１１】
ＡＮＤ回路ＳＵＢ５の出力は、カウンタ３のクロック入力として入力され、co_rst信号がカウンタ３のリセット信号として外部装置から入力される。
【００１２】
そして、カウンタ３の出力は、比較器４の一方の入力に入力され、比較器４の出力は、ＮＯＴ回路ＳＵＢ４に入力され、ＮＯＴ回路ＳＵＢ４の出力は、フリップフロップＤＦＦ３〜ＤＦＦ０の各々のデータ入力として入力される。
【００１３】
以下、図８に示すタイミングチャートを用いて、このような構成からなる発振周波数調整回路のオートトリミング動作を説明する。
【００１４】
なお、トリミング値と発振周波数の関係は、図９の模式図において示すように、最上位ビットのトリミング設定値li_trm3に対応してトリミング回路１に入力される値が「０」、以降の各ビットのトリミング設定値li_trm2〜li_trm0に対応してトリミング回路１に入力される値が「１」の場合（「０１１１」）に、発振周波数が最も高く（早く）なり、最上位ビットのトリミング設定値li_trm3に対応してトリミング回路１に入力される値が「１」、以降の各ビットのトリミング設定値li_trm2〜li_trm0に対応してトリミング回路１に入力される値が「０」の場合（「１０００」）に、発振周波数が最も低く（遅く）なり、全てのビットのトリミング設定値li_trm3〜li_trm0が「０」の場合に中間の周波数となる。
【００１５】
図７において、まず、トリミング設定値li_trm3を「Ｈ」すなわち「１」にして、トリミング設定値li_trm2〜li_trm0を「Ｌ」すなわち「０」として入力すると、フリップフロップＤＦＦ３〜ＤＦＦ０、ＮＯＲ回路ＳＵＢ３、及びＯＲ回路ＳＵＢ２〜ＳＵＢ０により、トリミング回路１に、トリミング値として「００００」が入力される。
【００１６】
例えば、この状態では、各フリップフロップＤＦＦ３〜ＤＦＦ０はリセットされた後の初期状態であり、各フリップフロップＤＦＦ３〜ＤＦＦ０は動作せず、トリミング設定値li_trm3「Ｈ（１）」と、トリミング設定値li_trm2〜li_trm0「Ｌ（０）」のみが、ＮＯＲ回路ＳＵＢ３とＯＲ回路ＳＵＢ２〜ＳＵＢ０に入力され、トリミング設定値li_trm3「Ｈ（１）」がＮＯＲ回路ＳＵＢ３で「Ｌ（０）」に反転され、その結果、トリミング回路１にトリミング値「００００」が入力される。
【００１７】
トリミング回路１は、入力されたトリミング値に基づいて、ＣＲ発振回路２における抵抗や容量などの発振周波数の設定に用いられる回路素子の調整に用いる制御信号を生成し、ＣＲ発振回路２に出力する。これにより、ＣＲ発振回路２は、トリミング値「００００」に対応した中間の周波数で発振する。
【００１８】
この状態で、カウンタ動作時間設定信号co_enを「Ｈ（１）」として、外部装置により予め定められた時間（以下、単に所定時間ともいう）だけカウンタ３を動作させ、カウンタ３に、ＣＲ発振回路２の発振周波数をカウント（計数）させる。
【００１９】
カウンタ３のカウンタ値は、逐次、比較器４に入力されており、比較器４は、カウンタ３のカウンタ値とオーバーフロー値とを比較して、所定時間内に「カウンタ値＞オーバーフロー値」となると、比較器４はオーバーフロー信号ｏｖとして「Ｈ（１）」を出力する。なお、所定時間内に「カウンタ値＞オーバーフロー値」とならない場合には、比較器４の出力は「Ｌ（０）」のままとなる。
【００２０】
このようにして、所定時間が経過すると、カウンタ動作時間設定信号co_enを「Ｌ（０）」として、カウンタ３のカウンタ動作を停止させる。
【００２１】
図８においては、トリミング値「００００」を入力した場合、カウンタ３のカウンタ値は、所定時間内にオーバーフロー値に達しておらず、比較器４から出力されるオーバーフロー信号ｏｖは「Ｌ（０）」である。
【００２２】
この出力は、ＮＯＴ回路ＳＵＢ４において「Ｈ（１）」に反転され、フリップフロップＤＦＦ３〜ＤＦＦ０のデータ入力端子に入力される。
【００２３】
この状態で、次の調整時における所定時間でのカウンタ３のカウンタ動作時には、外部装置からのトリミング設定値が上位からシフトされる。具体的には、トリミング設定値li_trm3が「Ｌ（０）」、トリミング設定値li_trm2が「Ｈ（１）」へ変更される。
【００２４】
このようにトリミング設定値li_trm3とトリミング設定値li_trm2が変更されると、フリップフロップＤＦＦ３とフリップフロップＤＦＦ２は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｈ（１）」をラッチして、ＮＯＲ回路ＳＵＢ３とＯＲ回路ＳＵＢ２に出力する。
【００２５】
これにより、ＮＯＲ回路ＳＵＢ３の出力は、「Ｌ（０）」、ＯＲ回路ＳＵＢ２の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「０１００」が入力され、その結果、ＣＲ発振回路２は、トリミング値「００００」とトリミング値「０１１１」との中間の周波数で発振する。
【００２６】
すなわち、トリミング値「００００」による中間の周波数での発振では、カウンタ３のカウント値がオーバーフロー値に達していないため、トリミング値「００００」による中間の周波数での発振より早く、かつ、トリミング値「００００」とトリミング値「０１１１」との中間の周波数でＣＲ発振回路２を発振させる。
【００２７】
このトリミング値の設定では、図８に示すように、所定時間内にカウンタ３のカウント値がオーバーフロー値に達することとなり、比較器４からは「Ｈ（１）」のオーバーフロー信号ｏｖが出力される。
【００２８】
この比較器４からのオーバーフロー信号ｏｖ（Ｈ）は、ＮＯＴ回路ＳＵＢ４において「Ｌ（０）」に反転されて、各フリップフロップＤＦＦ３〜ＤＦＦ０のデータ入力端子に入力される。
【００２９】
同様に、この状態で、次の調整時における所定時間でのカウンタ３のカウンタ動作時には、トリミング設定値がシフトされ、トリミング設定値li_trm2が「Ｌ（０）」、トリミング設定値li_trm1が「Ｈ（１）」に変更される。
【００３０】
このようにトリミング設定値li_trm2とトリミング設定値li_trm1が変更されると、フリップフロップＤＦＦ２とフリップフロップＤＦＦ１は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｌ（０）」をラッチして、ＯＲ回路ＳＵＢ２とＯＲ回路ＳＵＢ１に出力する。
【００３１】
これにより、ＯＲ回路ＳＵＢ２の出力は「Ｌ（０）」となり、また、「Ｈ（１）」のトリミング設定値li_trm1が一方の入力に入力されるＯＲ回路ＳＵＢ１の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「００１０」が入力される。
【００３２】
この結果、ＣＲ発振回路２は、今度は、トリミング値「００００」とトリミング値「０１００」との中間の周波数で発振する。
【００３３】
すなわち、トリミング値「０１００」による周波数での発振の場合、所定時間内にカウンタ３のカウント値がオーバーフロー値に達しているので、トリミング値「０１００」による周波数での発振より遅く、かつ、トリミング値「００００」とトリミング値「０１００」との中間の周波数でＣＲ発振回路２を発振させる。
【００３４】
このトリミング値の設定（「００１０」）においても、図８に示すように、所定時間内にカウンタ３のカウント値がオーバーフロー値に達しており、比較器４からは「Ｈ（１）」のオーバーフロー信号ｏｖ（Ｈ）が出力される。
【００３５】
この比較器４からのオーバーフロー信号ｏｖ（Ｈ）は、ＮＯＴ回路ＳＵＢ４において「Ｌ（０）」に反転されて、各フリップフロップＤＦＦ３〜ＤＦＦ０のデータ入力端子に入力される。
【００３６】
そして、この状態で、次の調整時における所定時間でのカウンタ３のカウンタ動作時には、トリミング設定値がシフトされ、トリミング設定値li_trm1が「Ｌ（０）」、トリミング設定値li_trm0が「Ｈ（１）」と変更される。
【００３７】
このようにトリミング設定値li_trm1とトリミング設定値li_trm0が変更されると、フリップフロップＤＦＦ１とフリップフロップＤＦＦ０は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｌ（０）」をラッチして、ＯＲ回路ＳＵＢ１とＯＲ回路ＳＵＢ０に出力する。
【００３８】
これにより、ＯＲ回路ＳＵＢ２の出力は「Ｌ（０）」となり、また、「Ｈ（１）」トリミング設定値li_trm0が一方の入力に入力されるＯＲ回路ＳＵＢ０の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「０００１」が入力される。
【００３９】
その結果、ＣＲ発振回路２は、トリミング値「００００」とトリミング値「００１０」との中間、すなわち、トリミング値「０００１」での周波数で発振する。
【００４０】
このように、外部装置からのトリミング設定値li_trm3〜li_trm0に基づく動作を、トリミングビット（ｂｉｔ）数分、図７〜図９の例では４ビット分繰り返すことにより、ＣＲ発振回路２の発振周波数が最適な値に調整される。
【００４１】
なお、図８に示す例では、ＣＲ発振回路２がトリミング値「０００１」での周波数で発振して比較器４からのオーバーフロー信号ｏｖが出力されていない状態で調整を終了しているが、比較器４からのオーバーフロー信号ｏｖが出力されている状態で調整を終了しても良い。
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特開２００１−２８５０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００４３】
このように、従来の発振周波数調整回路では、発振源クロックにより一定時間カウンタを動作させ、オーバーフロー判定によりトリミング値を決定している。
【００４４】
しかしながら、従来の発振周波数調整回路では、オーバーフロー値が固定値であり、そのため、カウント時間も一定とする必要があり、調整及びテストに時間がかかっていたという問題がある。
【００４５】
すなわち、発振周波数調整動作を実行した場合は、カウンタのオーバーフロー値が一定のため、予め定められた一定時間までカウンタを動作させる必要がある。また、トリミングbit数分だけカウンタを動作させる必要があり、トリミング時間が増大する問題がある。例えば、８bitのトリミング精度を持つ発振周波数調整動作を１００μ時間のカウンタで実行した場合、調整及びテスト時間は「１００μ×８＝８００μ」となり、トリミング精度を上げれば上げるほど、調整及びテスト時間が増大する。
【００４６】
本発明は、上記問題点を解決するためのものであり、精度の高い発振周波数調整を高速に行なうことが可能な発振周波数調整回路、半導体装置、電子機器、発振周波数調整方法を提供することを目的とする。
【課題を解決するための手段】
【００４７】
上記目的を達成するため、本発明の発振周波数調整回路は、発振周波数の調整時に外部装置から入力されたｍビットのビット列からなるトリミング調整信号を用いて発振回路の発振周波数の調整を行う発振周波数調整回路であって、発振回路の発振周波数に基づいて設定された動作時間の間に計測を行なう計測部と、前記計測部で計測された計測値と設定された比較値とを比較する比較部と、前記信号のうち予め定めたｎビットが入力されると、第１の比較値と前記第１の比較値に応じた第１の動作時間とを前記比較部に設定し、前記予め定めたｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値と前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間とを前記比較部に設定する設定部と、前記比較部の比較結果に基づいて、前記計測部で計測された前記発振周波数が目標発振周波数となるように前記発振回路の発振周波数を調整する調整部と、を含む。
また、前記設定部は、前記信号は調整毎に上位ビットから順に１ビットずつ入力され、
前記設定部は、前記信号の上位ｎビットが入力されると、第１の比較値と前記第１の比較値に応じた第１の動作時間とを前記比較部に設定し、前記上位ｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値と前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間とを前記比較部に設定する。
【００４９】
また、本発明の半導体装置は、前記発振周波数調整回路及び前記発振回路と、前記発振周波数調整回路及び前記発振回路の動作制御を行う中央処理装置と、を備えている。
【００５０】
また、本発明の電子機器は、前記半導体装置と、センサと、を備えている。
【００５１】
また、本発明の発振周波数調整方法は、発振周波数の調整時に外部装置から入力されたｍビットのビット列からなるトリミング調整信号を用いて発振回路の発振周波数の調整を行う発振周波数調整方法であって、発振回路の発振周波数に基づいて設定された動作時間の間に計測を行なう計測ステップと、前記信号のうち予め定めたｎビットが入力されると、第１の比較値を設定すると共に前記第１の比較値に応じた第１の動作時間を設定し、前記予め定めたｎビット以外のビットが入力されると、前記第１の比較値より大きい第２の比較値を設定すると共に前記第２の比較値に応じて前記第１の動作時間より長い第２の動作時間を設定する設定ステップと、前記計測ステップで計測された発振周波数と前記設定ステップで設定された比較値とを前記設定ステップで設定された動作時間の間比較する比較ステップと、前記比較ステップでの比較結果に基づいて、前記計測ステップで計測された発振周波数が目標発振周波数となるように前記発振回路の発振周波数を調整する調整ステップと、を含む。
【発明の効果】
【００５２】
本発明によれば、比較値（オーバーフロー値）と比較時間（カウンタ動作時間）を複数の値から選択して設定することができ、例えば、高い精度が要求される部分については例長い期間で行うことで高精度な調整をすることができる一方で、それよりも低い精度でよい部分については短時間で終了し高速に調整を行うことができるので、全体の調整時間を短縮しつつ必要とされる精度を保つことが可能となる。
【図面の簡単な説明】
【００５３】
【図１】実施の形態に係る発振周波数調整回路の構成例を示す回路図である。
【図２】図１における発振周波数調整回路の動作例を示すタイミングチャートである。
【図３】実施の形態に係る発振周波数調整回路の他の構成例を示す回路図である。
【図４】図３における発振周波数調整回路の動作例を示すタイミングチャートである。
【図５】実施の形態に係る半導体装置及び電子機器の構成例を示すブロック図である。
【図６】実施の形態に係る発振周波数調整回路における発振周波数調整方法の手順例を示すフローチャートである。
【図７】従来の発振周波数調整回路の構成例を示す回路図である。
【図８】図７における発振周波数調整回路の動作例を示すタイミングチャートである。
【図９】トリミング値と周波数との関係を表す示すデータの構成を示す模式図である。
【発明を実施するための形態】
【００５４】
以下、図を用いて本発明の実施の形態について説明する。
【００５５】
図１は、本実施の形態に係る発振周波数調整回路の構成を示しており、図７に示した従来の発振周波数調整回路に、本発明に係る設定部としてのセレクタＡ５とＯＲ回路ＳＵＢ６を設けた構成となっている。また、図示していない、例えば発振周波数調整時に用いられるテスタ等の外部装置が接続された構成となっている。
【００５６】
図１に示すように、本実施の形態に係る発振周波数調整回路のトリミング信号を生成する回路部分（トリミング回路１、カウンタ３、比較器４、フリップフロップ回路ＤＦＦ３〜ＤＦＦ９、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０、ＡＮＤ回路ＳＵＢ５、ＮＯＴ回路ＳＵＢ４）の構成及び動作は、図７〜図９を用いて説明した従来の回路とほぼ同じで、セレクタＡ５とＯＲ回路ＳＵＢ６を設けたことによる動作に相違があり、さらに、その動作に応じて、カウンタ３のカウンタ動作時間を設定するカウンタ動作時間設定信号co_enを、外部装置により変更する動作に相違がある。
【００５７】
なお、トリミング回路１、フリップフロップ回路ＤＦＦ３〜ＤＦＦ９、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０、及びＮＯＴ回路ＳＵＢ４を含んで本発明に係る調整部が構成され、セレクタＡ５とＯＲ回路ＳＵＢ６、及び外部装置（カウンタ動作時間設定信号co_en）とＡＮＤ回路ＳＵＢ５を含んで本発明に係る設定部が構成され、比較器４により本発明に係る比較部が構成される。
【００５８】
まず、基本的な動作について説明する。発振周波数調整回路は、ＣＲ発振回路２のクロックによりカウンタ３を、カウンタ動作時間設定信号co_enで設定される一定時間カウント動作させ、比較器４において、カウンタ３のカウント結果データと、セレクタＡ５で選択されるオーバーフロー値Ａ，Ｂのいずれかとの比較に基づいて、オーバーフロー判定を行い、その結果に基づいてＣＲ発振回路２の発振周波数の調整に用いるトリミング値を決定する。
【００５９】
図１においては、発振周波数調整時に接続されるテスタ等の外部装置から入力されるli_trm3、li_trm2、li_trm1、及びli_trm0の４ビットのトリミング設定値が、フリップフロップＤＦＦ３〜ＤＦＦ０の各々のクロック入力と、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２、ＯＲ回路ＳＵＢ１、ＯＲ回路ＳＵＢ０の一方に入力される。
【００６０】
なお、ここでは、最上位ビットのトリミング設定値がli_trm3であり、最下位ビットのトリミング設定値がli_trm0であり、調整動作毎に、上位ビットから下位ビットにワンビットずつビット値１がシフトされて外部装置から順次に入力される。
【００６１】
また、フリップフロップＤＦＦ３〜ＤＦＦ０の各々の出力は、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０の他方の入力として入力される。
【００６２】
そして、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０の各々の出力は、トリミング回路１のデータ入力として入力される。
【００６３】
また、外部装置からのカウンタ動作時間設定信号co_enがＡＮＤ回路ＳＵＢ５の一方の入力として入力され、ＣＲ発振回路２の出力が、ＡＮＤ回路ＳＵＢ５の他方の入力として入力される。
【００６４】
ＡＮＤ回路ＳＵＢ５の出力は、カウンタ３のクロック入力として入力され、co_rst信号がカウンタ３のリセット信号として入力される。
【００６５】
そして、カウンタ３の出力は、比較器４の一方の入力に入力され、比較器４の出力は、ＮＯＴ回路ＳＵＢ４に入力され、ＮＯＴ回路ＳＵＢ４の出力は、フリップフロップＤＦＦ３〜ＤＦＦ０の各々のデータ入力として入力される。
【００６６】
本例では、比較器４の一方に入力されたカウンタ３の出力（カウンタ値）との比較に用いるオーバーフロー値として、オーバーフロー値Ａ，Ｂの２つの値が例えば図示していないレジスタ等に設定され記憶されている。セレクタＡ５は、ＯＲ回路ＳＵＢ６を介して入力される外部装置で設定されたトリミング設定値li_trm3とli_trm2に基づいて、オーバーフロー値Ａ，Ｂのいずれかを選択して、比較器４に入力する。
【００６７】
本例では、トリミング設定値li_trm3とli_trm2のいずれかが「１」でＳＵＢ６の出力が「１」の場合、セレクタＡ５は、オーバーフロー値Ａを選択する。ここでは、オーバーフロー値Ａの方がオーバーフロー値Ｂよりも小さい値とする。なお、オーバーフロー値Ａが選択された場合に、オーバーフロー値Ｂが選択された場合に比べて、カウンタ３のカウンタ動作時間は短く設定される。
【００６８】
これにより、短い動作時間でカウンタ３がＣＲ発振回路２の発振周波数を計測する際には、比較器４は、小さな値のオーバーフロー値Ａとの比較を行い、長い動作時間でカウンタ３がＣＲ発振回路２の発振周波数を計測する際には、比較器４は、大きな値のオーバーフロー値Ｂとの比較を行うので、いずれも目標となる発振周波数との比較を行なうこととなる。
【００６９】
本例では、調整時間を短縮させるために、調整開始時には、トリミング設定値li_trm3を「１」として、次の調整時にli_trm2を「１」に設定し、調整開始時から所定の調整回数までは、比較器４は、短い動作時間でのカウンタ３の出力値と、小さな値のオーバーフロー値Ａとの比較を行うものとする。すなわち、外部装置は、トリミング設定値li_trm3を「１」に設定すると共に、カウンタ動作時間設定信号co_enを短い値に変更する。これにより、セレクタＡ５が小さい値のオーバーフロー値Ａを選択している間は、カウンタ３のカウンタ動作時間は、セレクタＡ５がオーバーフロー値Ｂを選択している場合のカウンタ動作時間より短くなる。
【００７０】
以下、図２に示すタイミングチャートを用いて、このような構成からなる発振周波数調整回路のオートトリミング動作を説明する。
【００７１】
なお、トリミング値と発振周波数の関係は、上述した図９において示すように、最上位ビットのトリミング設定値li_trm3に対応してトリミング回路１に入力される値が「０」、以降の各ビットのトリミング設定値li_trm2〜li_trm0に対応してトリミング回路１に入力される値が「１」の場合（「０１１１」）に、発振周波数が最も高く（早く）なり、最上位ビットのトリミング設定値li_trm3に対応してトリミング回路１に入力される値が「１」、以降の各ビットのトリミング設定値li_trm2〜li_trm0に対応してトリミング回路１に入力される値が「０」の場合（「１０００」）に、発振周波数が最も低く（遅く）なり、全てのビットのトリミング設定値li_trm3〜li_trm0が「０」の場合に中間の周波数となるものとする。
【００７２】
図１において、まず、外部装置から、トリミング設定値li_trm3を「Ｈ」すなわち「１」にして、トリミング設定値li_trm2〜li_trm0を「Ｌ」すなわち「０」として入力すると、フリップフロップＤＦＦ３〜ＤＦＦ０、ＮＯＲ回路ＳＵＢ３、及びＯＲ回路ＳＵＢ２〜ＳＵＢ０により、トリミング回路１に、トリミング値として「００００」が入力される。
【００７３】
この状態では、各フリップフロップＤＦＦ３〜ＤＦＦ０は外部装置からリセットされた後の初期状態であり、各フリップフロップＤＦＦ３〜ＤＦＦ０は動作せず、トリミング設定値li_trm3「Ｈ（１）」と、トリミング設定値li_trm2〜li_trm0「Ｌ（０）」が、ＮＯＲ回路ＳＵＢ３とＯＲ回路ＳＵＢ２〜ＳＵＢ０に入力され、トリミング設定値li_trm3「Ｈ（１）」がＮＯＲ回路ＳＵＢ３で「Ｌ（０）」に反転され、その結果、トリミング回路１に中間のトリミング値「００００」が入力される。
【００７４】
トリミング回路１は、入力されたトリミング値に基づいて、ＣＲ発振回路２における抵抗や容量などの発振周波数の設定に用いられる回路素子の調整に用いる制御信号を生成し、ＣＲ発振回路２に出力する。これにより、ＣＲ発振回路２は、トリミング値「００００」に対応した中間の周波数で発振する。
【００７５】
この状態で、外部装置によりカウンタ動作時間設定信号co_enを「Ｈ（１）」として、予め定められたカウンタ動作時間だけカウンタ３を動作させ、カウンタ３に、ＣＲ発振回路２の発振周波数をカウント（計数）させる。
【００７６】
カウンタ３のカウンタ値は、逐次、比較器４に入力されており、比較器４は、カウンタ３のカウンタ値と、セレクタＡ５により選択されたオーバーフロー値Ａとを比較して、カウンタ動作時間内に「カウンタ値＞オーバーフロー値」となると、比較器４はオーバーフロー信号ｏｖとして「Ｈ（１）」を出力する。なお、カウンタ動作時間内に「カウンタ値＞オーバーフロー値」とならない場合には、比較器４の出力は「Ｌ（０）」のままとなる。
【００７７】
このようにして、所定のカウンタ動作時間が経過すると、外部装置からカウンタ動作時間設定信号co_enが「Ｌ（０）」とされ、カウンタ３のカウンタ動作が停止する。
【００７８】
図２においては、外部装置からカウンタ動作時間設定信号co_enが「Ｌ（０）」とされ、カウンタ３のカウンタ動作が停止する時間は、図７で示したトリミング値「００００」での動作時におけるカウンタ動作時間よりも短くなっている。これにより、発振周波数調整時間を短縮することができる。
【００７９】
なお、図２において、トリミング値「００００」を入力した場合、カウンタ３のカウンタ値は、所定のカウンタ動作時間内にオーバーフロー値に達しておらず、比較器４から出力されるオーバーフロー信号ｏｖは「Ｌ（０）」である。
【００８０】
この出力は、ＮＯＴ回路ＳＵＢ４において「Ｈ（１）」に反転され、各フリップフロップＤＦＦ３〜ＤＦＦ０に入力されラッチされる。
【００８１】
この状態で、次の調整時における所定時間でのカウンタ３のカウンタ動作時には、外部装置からのトリミング設定値が上位からシフトされ、トリミング設定値li_trm3が「Ｌ（０）」、トリミング設定値li_trm2が「Ｈ（１）」とシフトされて変更される。
【００８２】
なお、このようにトリミング設定値li_trm3が「Ｌ（０）」に変更されても、トリミング設定値li_trm2が「Ｈ（１）」であり、セレクタＡ５は、オーバーフロー値Ａの選択を継続し、また、外部装置からのカウンタ動作時間設定信号co_enの設定は、短いカウンタ動作時間の設定のままである。
【００８３】
一方、このようにトリミング設定値li_trm3とトリミング設定値li_trm2が変更されると、フリップフロップＤＦＦ３とフリップフロップＤＦＦ２は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｈ（１）」を、ＮＯＲ回路ＳＵＢ３とＯＲ回路ＳＵＢ２に出力する。
【００８４】
これにより、ＮＯＲ回路ＳＵＢ３の出力は「Ｌ（０）」、ＯＲ回路ＳＵＢ２の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「０１００」が入力され、その結果、ＣＲ発振回路２は、トリミング値「００００」とトリミング値「０１１１」との中間の周波数で発振する。
【００８５】
すなわち、トリミング値「００００」による中間の周波数での発振では、カウンタ３のカウント値がオーバーフロー値に達していないため、トリミング値「００００」による中間の周波数での発振より早く（高く）、かつ、トリミング値「００００」とトリミング値「０１１１」との中間の周波数でＣＲ発振回路２を発振させる。
【００８６】
このトリミング値の設定（「０１００」）では、図２に示すように、所定時間内にカウンタ３のカウント値がオーバーフロー値に達しており、比較器４からは「Ｈ（１）」のオーバーフロー信号ｏｖが出力される。
【００８７】
この比較器４からのオーバーフロー信号ｏｖ（Ｈ）は、ＮＯＴ回路ＳＵＢ４において「Ｌ（０）」に反転されて、各フリップフロップＤＦＦ３〜ＤＦＦ０に入力されラッチされる。
【００８８】
同様に、この状態で、次の調整時における所定時間でのカウンタ３のカウンタ動作時には、外部装置においてトリミング設定値がシフトされ、トリミング設定値li_trm2が「Ｌ（０）」、トリミング設定値li_trm1が「Ｈ（１）」に変更される。
【００８９】
なお、このようにトリミング設定値li_trm2とトリミング設定値li_trm1が変更されると、トリミング設定値li_trm3とトリミング設定値li_trm2の両方が「Ｌ（０）」となり、セレクタＡ５は、小さい値のオーバーフロー値Ａではなく大きい値のオーバーフロー値Ｂを選択する。また、外部装置からのカウンタ動作時間設定信号co_enの設定は、長いカウンタ動作時間の設定に変更される。
【００９０】
また、このようにトリミング設定値li_trm2とトリミング設定値li_trm1が変更されると、フリップフロップＤＦＦ２とフリップフロップＤＦＦ１は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｌ（０）」を、ＯＲ回路ＳＵＢ２とＯＲ回路ＳＵＢ１に出力する。
【００９１】
これにより、ＯＲ回路ＳＵＢ２の出力は「Ｌ（０）」となり、また、「Ｈ（１）」のトリミング設定値li_trm1が一方の入力に入力されるＯＲ回路ＳＵＢ１の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「００１０」が入力される。
【００９２】
この結果、ＣＲ発振回路２は、今度は、トリミング値「００００」とトリミング値「０１００」との中間の周波数で発振する。
【００９３】
すなわち、トリミング値「０１００」による周波数での発振の場合、短いカウンタ動作時間であってもその時間内にカウンタ３のカウント値がオーバーフロー値に達しているので、トリミング値「００００」による中間の周波数での発振より遅く（低く）、かつ、トリミング値「００００」とトリミング値「０１００」との中間の周波数でＣＲ発振回路２を発振させる。
【００９４】
このトリミング値の設定（「００１０」）においても、図２に示すように、長めのカウンタ動作時間内にカウンタ３のカウント値がオーバーフロー値に達しており、比較器４からは「Ｈ（１）」のオーバーフロー信号ｏｖ（Ｈ）が出力される。
【００９５】
この比較器４からのオーバーフロー信号ｏｖ（Ｈ）は、ＮＯＴ回路ＳＵＢ４において「Ｌ（０）」に反転されて、各フリップフロップＤＦＦ３〜ＤＦＦ０に入力されラッチされる。
【００９６】
そして、この状態で、次の調整時における長めのカウンタ動作時間でのカウンタ３のカウンタ動作時には、トリミング設定値がシフトされ、トリミング設定値li_trm1が「Ｌ（０）」、トリミング設定値li_trm0が「Ｈ（１）」と変更される。
【００９７】
このようにトリミング設定値li_trm1とトリミング設定値li_trm0が変更された場合も、セレクタＡ５はオーバーフロー値Ｂを選択し、外部装置からのカウンタ動作時間設定信号co_enは長いカウンタ動作時間を設定するよう制御されている。
【００９８】
また、このようにトリミング設定値li_trm1とトリミング設定値li_trm0が変更されると、フリップフロップＤＦＦ１とフリップフロップＤＦＦ０は、データ入力端子に入力されているＮＯＴ回路ＳＵＢ４からの出力「Ｌ（０）」を、ＯＲ回路ＳＵＢ１とＯＲ回路ＳＵＢ０に出力する。
【００９９】
これにより、ＯＲ回路ＳＵＢ２の出力は「Ｌ（０）」となり、また、「Ｈ（１）」トリミング設定値li_trm0が一方の入力に入力されるＯＲ回路ＳＵＢ０の出力は「Ｈ（１）」となり、トリミング回路１には、トリミング値として「０００１」が入力される。
【０１００】
その結果、ＣＲ発振回路２は、トリミング値「００００」とトリミング値「００１０」との中間、すなわち、トリミング値「０００１」での周波数で発振する。
【０１０１】
このように、外部装置からのトリミング設定値li_trm3〜li_trm0に基づく動作を、トリミングビット（ｂｉｔ）数分、図１，図２の例では４ビット分繰り返すことにより、ＣＲ発振回路２の発振周波数が最適な値に調整される。
【０１０２】
なお、図２に示す例では、ＣＲ発振回路２がトリミング値「０００１」での周波数で発振している場合で、比較器４からのオーバーフロー信号ｏｖが出力されていない状態で調整を終了しているが、比較器４からのオーバーフロー信号ｏｖが出力されている状態で調整を終了することでも良い。
【０１０３】
このように、図１に示した構成の発振周波数調整回路においては、外部装置から入力されるトリミング設定値の上位ビットに基づいて、カウンタ３のカウント値との比較に用いるオーバーフロー値を変更し、かつ、カウンタ３のカウンタ動作時間を変更することができ、例えば、カウンタ３のカウンタ動作時間を短くすることで、発振周波数調整時間を短縮することができる。
【０１０４】
次に、図３と図４を用いて、発振周波数調整回路の他の実地の形態について説明する。
【０１０５】
図３に示す発振周波数調整回路と、図１に示す発振周波数調整回路、及び図７に示す従来の発振周波数調整回路との相違点は、図３の発振周波数調整回路においては、比較器４において用いられるオーバーフロー値を設定する本発明に係る設定部としてのレジスタＡ６が設けられていることである。
【０１０６】
すなわち、図３の発振周波数調整回路においては、発振周波数調整時に接続されるテスタ等の外部装置により、例えば図１におけるオーバーフロー値Ａ，Ｂが、レジスタＡ６に設定される。また、そのオーバーフロー値設定に応じて、外部装置によりカウンタ動作時間設定信号co_enが制御され、カウンタ３のカウンタ動作時間が変更される。ここでは、調整開始時には、外部装置により、トリミング設定値li_trm3に「１」が設定され、オーバーフロー値Ａが選択される。
【０１０７】
その他の動作は、図１、図２、及び図７、図８で示すものと同様であり、ここでの詳細な説明は行なわない。例えば、図４に示すように、図２との相違は、図１におけるオーバーフロー値Ａ，Ｂが、レジスタＡ６に設定され、設定されたオーバーフロー値Ａ，Ｂに基づく比較器の動作も、図１、図２に示したものと同様である。
【０１０８】
このように、図３に示した構成の発振周波数調整回路においては、外部装置から入力されるオーバーフロー値をレジスタＡ６に設定する際、初期の調整時には小さい値のオーバーフロー値Ａを設定し、途中から大きい値のオーバーフロー値Ｂに変更し、さらに、それにあわせて、外部装置により、カウンタ３のカウンタ動作時間が初期には短く、途中から長くなるようにカウンタ動作時間設定信号co_enが制御される。これにより、図１に示した構成の発振周波数調整回路と同様に、発振周波数調整時間を短縮することができる。
【０１０９】
なお、図３におけるトリミング回路１、フリップフロップ回路ＤＦＦ３〜ＤＦＦ９、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０、及びＮＯＴ回路ＳＵＢ４を含んで本発明に係る調整部が構成され、外部装置、レジスタＡ６、及びＡＮＤ回路ＳＵＢ５を含んで本発明に係る設定部が構成される。
【０１１０】
このような図１と図３に示した発振周波数調整回路を用いた半導体装置、及びその半導体装置を設けた電子機器を図５に示しており、以下、この図５における半導体装置と電子機器について説明する。
【０１１１】
図５においては、電子機器としての火災警報器５０の構成が示されており、火災警報器５０の全体の動作制御を行なう制御部（マイクロコントローラ）５１が、半導体装置として一体化されて構成され、制御部（マイクロコントローラ）５１には、電源５２、センサ５３、スピーカ５４が接続されており、電源５２からの電源により制御部（マイクロコントローラ）５１、センサ５３、及びスピーカ５４が動作し、センサ５３での検知信号が制御部（マイクロコントローラ）５１に入力されると、制御部（マイクロコントローラ）５１はスピーカ５４から、センサ５４の検知結果を示す音声情報を出力させる。
【０１１２】
制御部（マイクロコントローラ）５１には、ＣＰＵ（中央処理装置）５１ａ、メモリ５１ｂ、及び検出部５１ｃと共に、図１と図３において示された発振周波数調整回路５１ｄとＣＲ発振回路５１ｅが設けられており、メモリ５１ｂに記憶されたプログラムに基づくＣＰＵ５１ａのコンピュータ処理により、検出部５１ｃ、発振周波数調整回路５１ｄ、及びＣＲ発振回路５１ｅの動作が制御される。
【０１１３】
例えば、発振周波数調整回路５１ｄは、当該火災警報器５０の製造時もしくは設置時に、ＣＰＵ５１ａの制御により外部装置から上述のトリミング設定値li_trm3〜li_trm0とカウンタ動作時間設定信号co_enが入力され、これらの入力値に応じて、ＣＲ発振回路５１ｅの発振速度（発振周波数）を調整し、調整完了後には、ＣＰＵ５１ａが、ＣＲ発振回路５１ｅからの発振信号に基づき、検出部５１ｃの動作を制御する。
【０１１４】
そして、検出部５１ｃは、センサ５３からの入力信号に基づいて、火災の発生を検出し、ＣＰＵ５１は、検出部５１ｃからの検出結果に基づいて、スピーカ５４を介して、火災の発生を通知する。
【０１１５】
本例の発振周波数調整回路５１ｄでは、ＣＲ発振回路５１ｅの調整時間を短縮することができるので、工場出荷時だけでなく、火災報知器５１の電源投入時など、他の機会でもＣＲ発振回路５１ｅの調整を行うことができ、火災報知器５１の精度の更なる向上を図ることができる。その結果、温度変化の激しい環境など、従来用いることが困難であった環境などでの活用も望める。
【０１１６】
次に、図６を用いて、本例の発振周波数調整回路の処理動作について説明する。なお、発振周波数調整回路の処理動作は、基本的には、発振回路の発振周波数を計測する計測ステップと、異なる大きさの複数の比較値から１つの比較値を選択すると共に、選択した比較値の大きさに応じた比較時間を設定する設定ステップと、計測ステップで計測された発振周波数と設定ステップで設定された比較値とを設定ステップで設定された比較時間の間比較する比較ステップと、比較ステップでの比較結果に基づいて、計測ステップで計測された発振周波数が目標発振周波数となるように発振回路の発振周波数を調整する調整ステップと、を含むものである。
【０１１７】
ここでは、設定ステップにおいては、調整ステップによる発振周波数の調整回数が所定回数までは、値が小さな第１の比較値及び長さが短い第１の比較時間を設定し、調整回数が所定回数を超えた場合、第１の比較値より大きい第２の比較値及び第１の比較時間より長い第２の比較時間を設定するものと以下説明する。
【０１１８】
最初の調整から予め定められた調整回数ｍまでの比較時であれば（ステップＳ１０１）、小さい比較値と発振回路の発振周波数（カウンタ３のカウント値）との比較を、当該比較値に対応付けて定められた短い時間で行なう。すなわち条件Ａでの比較を行なう（ステップＳ１０２）。
【０１１９】
また、予め定められた調整回数ｍ以降の比較であれば、当該比較が所定回数ｎ（ｎ＞ｍ）に達したか否かを判別し（ステップＳ１０３）、所定回数ｎに達していなければ、大きい比較値と発振回路の発振周波数（カウンタ３のカウント値）との比較を、当該比較値に対応付けて定められた長い時間で行なう。すなわち条件Ｂでの比較を行なう（ステップＳ１０４）。
【０１２０】
比較の結果、発振回路の発振周波数（カウンタ３のカウント値）が比較値を超えていれば（ステップＳ１０５ａ，１０５ｂ）、目標発振周波数となるように発振回路の発振周波数を低くするよう調整して（ステップＳ１０６ａ，Ｓ１０６ｂ）、また、比較の結果、発振回路の発振周波数（カウンタ３のカウント値）が比較値を超えていなければ、目標発振周波数となるように発振回路の発振周波数を高くするよう調整して（ステップＳ１０７ａ，Ｓ１０７ｂ）、次の調整を繰り返す。
【０１２１】
なお、ステップＳ１０３における判別で、当該比較が所定回数ｎに達していれば処理を終了する。
【０１２２】
以上、図１〜図６を用いて説明したように、本例の発振周波数調整回路は、ＣＲ発振回路２の発振周波数に基づき計測を行なうカウンタ３と、カウンタ３で計測された発振周波数の計測値と設定された比較値とを設定された比較時間の間比較する比較器４と、異なる大きさの複数の比較値から選択した比較値及び選択した比較値の大きさに応じた比較時間を比較器４に設定する設定部（外部装置）と、比較器４の比較結果に基づいて、カウンタ３で計測された発振周波数が目標発振周波数となるようにＣＲ発振回路２の発振周波数を調整する調整部（トリミング回路１、フリップフロップ回路ＤＦＦ３〜ＤＦＦ９、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０、及びＮＯＴ回路ＳＵＢ４を含んで構成される）と、を含む構成となっており、発振周波数の調整回数が所定回数までは、値が小さな比較値及び長さが短い比較時間を設定して調整を行い、調整回数が所定回数を超えた場合、より大きい比較値及びより長い比較時間を設定して調整を行なう。
【０１２３】
なお、調整部では、ＣＲ発振回路２の発振周波数が最大調整周波数と最小調整周波数との間の中間調整周波数で発振させ、比較結果が、計測された発振周波数が設定された比較値未満であることを示す場合には、最大調整周波数と中間調整周波数との間の調整周波数で、かつ調整する毎に目標発振周波数に徐々に近づく調整周波数で発振するように調整し、また、比較結果が、計測された発振周波数が設定された比較値以上を示す場合には、最小調整周波数と中間調整周波数との間の調整周波数で、かつ調整する毎に目標発振周波数に徐々に近づく調整周波数で発振するように調整する。
【０１２４】
また、調整部は、ｍビットのビット列からなるトリミング調整信号を用いてＣＲ発振回路２の発振周波数を調整し、２ｍ個のトリミング調整信号を用いてｍ回の調整を繰り返す。
【０１２５】
さらに、設定部は、外部装置から入力される調整毎に上位ビットから下位ビットにワンビットずつビット値が順次にシフトされるｍビットの入力信号の予め定められた上位の複数ビットの値に基づいて、比較器４に対する比較値とカウンタ３に対する比較時間を設定する。
【０１２６】
このように、調整開始から予め定められた時間は、小さい比較値を用いて短い時間で行うことにより、精度の高い発振周波数調整を高速に行なうことが可能となる。
【０１２７】
そして、本例の半導体装置としての制御部（マイクロコントローラ）は、このような発振周波数調整回路及び発振回路と、これらの発振周波数調整回路及び発振回路の動作制御を行う中央処理装置と、を備え、例えば、火災報知器等の電子機器に設けられる。
【０１２８】
なお、本発明は、図１〜図６を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、４ビットのトリミング信号に基づく構成としているが、８ビット等、より高精度なトリミング制御を行なう発振周波数調整回路にも適用可能である。
【０１２９】
また、本例では、オーバーフロー値、及びカウンタ動作時間として２つの値を設定しているが、３以上の異なる値で設定する構成としても良い。
【０１３０】
調整部の構成としても、トリミング回路１、フリップフロップ回路ＤＦＦ３〜ＤＦＦ９、ＮＯＲ回路ＳＵＢ３、ＯＲ回路ＳＵＢ２〜ＳＵＢ０、及びＮＯＴ回路ＳＵＢ４からなる構成に限るものではなく、適宜に変更可能である。
【０１３１】
また、このような発振周波数調整回路を備えた半導体装置としての制御部（マイクロコントローラ）は、火災報知器以外の例えば携帯電話等の電子機器にも設けることができる。
【符号の説明】
【０１３２】
１  トリミング回路
２  ＣＲ発振回路
３  カウンタ（ＮＢｉｔカウンタ）
４  比較器
５  セレクタＡ
６  レジスタＡ
５０  火災報知器
５１  制御部（マイクロコントローラ）
５１ａ  ＣＰＵ
５１ｂ  メモリ
５１ｃ  検出部
５１ｄ  発振周波数調整回路
５１ｅ  ＣＲ発振回路
５２  電源
５３  センサ
５４  スピーカ
ＤＦＦ０〜ＤＦＦ３  Ｄ型フリップフロップ
ＳＵＢ０〜ＳＵＢ２，ＳＵＢ６  ＯＲ回路
ＳＵＢ３  ＮＯＲ回路
ＳＵＢ４  ＮＯＴ回路
ＳＵＢ５  ＡＮＤ回路
eo_en  カウンタ動作時間設定信号
co_rst  リセット信号
ｏｖ  オーバーフロー信号
【図１】
0005908747.tif 000002
【図２】
0005908747.tif 000003
【図３】
0005908747.tif 000004
【図４】
0005908747.tif 000005
【図５】
0005908747.tif 000006
【図６】
0005908747.tif 000007
【図７】
0005908747.tif 000008
【図８】
0005908747.tif 000009
【図９】
0005908747.tif 000010