(57)【要約】【課題】特に休止からの再稼動時に最適な周波数を迅速に設定するマイクロ・コンピュータ及びその制御方法を提供すること。【解決手段】本発明に係るマイクロ・コンピュータ１は、外部又は内部からの要求により、クロック信号の供給が停止される演算部１８と、外部から供給されるクロック信号の周波数を変更し、異なる周波数のクロック信号を１以上生成するクロック信号生成部１６と、演算部の稼動状態にかかわらずマイクロ・コンピュータの動作電圧を検出する電圧検出部と、クロック信号生成部１６で生成されたクロック信号又は外部から供給されるクロック信号のうちいずれかを選択して演算部１８に供給する選択部１７と、演算部１８の稼動状態にかかわらず電圧検出部の検出結果に基づき、選択部１７がクロック信号を選択するための選択信号３４を生成する選択信号生成部１４とを有する。【選択図】図１
2011118751.tif 000002
【特許請求の範囲】
【請求項１】
外部又は内部からの要求により、クロック信号の供給が停止される演算部と、
外部から供給されるクロック信号の周波数を変更し、異なる周波数のクロック信号を１以上生成するクロック信号生成部と、
前記演算部の稼動状態にかかわらずマイクロ・コンピュータの動作電圧を検出する電圧検出部と、
前記クロック信号生成部で生成されたクロック信号又は前記外部から供給されるクロック信号のうちいずれかを選択して前記演算部に供給する選択部と、
前記演算部の稼動状態にかかわらず前記電圧検出部の検出結果に基づき、前記選択部がクロック信号を選択するための選択信号を生成する選択信号生成部とを有し、
前記演算部の稼動状態にかかわらず、外部又は内部からの要求に応じ、前記選択信号によりクロック信号が選択され、前記演算部に供給されるマイクロ・コンピュータ。
【請求項２】
前記選択信号生成部は、
前記電圧検出部が検出した検出結果を前記選択信号に変換して保持し、当該選択信号を前記外部又は内部からの要求に応じて前記選択回路に出力する請求項１記載のマイクロ・コンピュータ。
【請求項３】
前記電圧検出部は、あらかじめ定められた電圧以上であることを検出すると０を出力する比較器を有し、前記動作電圧を検出する請求項１又は２記載のマイクロ・コンピュータ。
【請求項４】
前記電圧検出部は、
それぞれ異なる電圧を検出する前記比較器を複数有し、当該複数の比較器から出力された結果により前記動作電圧を測定する請求項１乃至３記載のマイクロ・コンピュータ。
【請求項５】
前記演算部へクロック信号が供給されている場合は、当該演算部からの要求に応じ、前記選択信号によりクロック信号を選択し、前記演算部に供給する請求項１乃至４のいずれか１項記載のマイクロ・コンピュータ。
【請求項６】
外部又は内部からの要求により、クロック信号の供給が停止される演算部を有するマイクロ・コンピュータの制御方法であって、
外部から供給されるクロック信号の周波数を変更し、異なる周波数のクロック信号を１以上生成し、
前記演算部の稼動状態にかかわらずマイクロ・コンピュータの動作電圧を検出し、
前記演算部の稼動状態にかかわらず前記検出結果に基づき、外部から供給されるクロック信号又は前記生成された周波数の異なるクロック信号のいずれかを選択するための選択信号を生成し、
前記演算部の稼動状態にかかわらず、外部又は内部からの要求に応じ、前記選択信号によりクロック信号を選択し、前記演算部に供給するマイクロ・コンピュータの制御方法。
【請求項７】
前記選択信号を生成する際は、前記検出結果を前記選択信号に変換して選択信号生成部に保持し、前記外部又は内部からの要求に応じて当該選択信号生成部に保持された選択信号を出力する請求項６記載のマイクロ・コンピュータの制御方法。
【請求項８】
前記選択信号に基づきクロック信号を選択して前記演算部に供給する際には、当該演算部へのクロック信号の供給が休止されている場合は、外部又は内部からの要求により、当該演算部にクロック信号が供給されている場合は、当該演算部からの要求により、クロック信号を選択する請求項６または７記載のマイクロ・コンピュータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロ・コンピュータ及びその制御方法に関し、特に動作電圧に対して周波数を設定するマイクロ・コンピュータ及びその制御方法に関する。
【背景技術】
【０００２】
従来、電源供給に電池が使用されるシステムでは、電源電圧の低下を考慮し、動作電圧に範囲を持つ、言い換えれば動作電圧に応じた動作可能周波数帯を設定しているマイクロ・コンピュータ（以下マイコンという。）が使用される。
【０００３】
このようなマイコンは、マイコンに供給される動作電圧を測定し、その測定結果に応じて、動作電圧が低下すると、マイコンの動作周波数の上限が低く（マイコン動作が遅く）なるよう動作周波数帯を選択する。
【０００４】
また、このような電源供給に電池が使用されるシステムは、マイコンの動作が必要ない場合（リモコンで長時間キー入力が検出されない場合等）は、マイコンを休止し、マイコン動作用発振子も休止することで消費電流の削減を行う。
【０００５】
マイコンの休止中もシステムの電源電圧は下がり続け、マイコンに供給される動作電圧も下がり続けるが、マイコンの休止中は動作電圧の測定ができない。よって、マイコンは休止する際に、再稼動する際の動作周波数を設定し、再稼動時は休止前に設定された動作周波数で稼動する。ここで、マイコンの再稼動時の動作電圧が、マイコン動作休止時に設定した動作周波数の対応する動作電圧を下回ってしまうのを避けるために、マイコンは休止する際、再稼動する際の動作周波数を最も遅い動作周波数に設定してから休止する。よって、マイコンの再稼動時は、動作電圧に関係なく、マイコンの最も遅い動作周波数で稼働を開始する。
【０００６】
しかし、従来のように、再稼動時の動作周波数が最も低いと、マイコン休止中の動作電圧の低下が微細であった場合、必要以上に低い動作周波数でマイコンが再稼動することになる。また、マイコンの再稼動後に低い動作周波数帯で稼動しているマイコンを用いて動作電圧の測定及び適切な動作周波を設定する処理が必要となる。
【０００７】
図３は、非特許文献１に記載のマイコンの動作周波数帯とそれに対応する動作電圧を示す表である。表１００に例として上げたマイコンでは、１．８Ｖ〜５．５Ｖの動作電圧反囲に対応している。５．５Ｖ〜４．０Ｖでは２０ＭＨｚ、４．０Ｖ〜２．７Ｖでは１０ＭＨｚ、１．８Ｖ〜２．７Ｖでは５ＭＨｚの周波数で動作可能である。
【０００８】
図４は、従来技術にかかるクロック信号生成回路１０２を示す図である。クロック信号生成回路１０２は、高速システム・クロック発信器１０１から周波数ｆｘｐのクロック信号を供給される。クロック信号生成回路１０２は、供給されたクロック信号を、プリスケラ（分周器）１０３とセレクタ１０４を使用し、動作電圧の大きさに基づき、表１００に示すＣＰＵクロック周波数（周波数ｆｃｐｕ）に変更する。
【０００９】
図５は、従来技術にかかるマイコン１０５を示す図である。マイコン１０５は、動作中にＡＤコンバータ１０６を用いて、電源１０７の電圧をデジタル数値に変換し、測定する。
【００１０】
図６は、従来技術にかかるマイコン１０８の詳細を示す図である。マイコン１０８は、ＣＰＵ１１３と、ＣＰＵ１１３に供給されるクロック信号１２２の供給及び供給の停止を制御する休止・稼動制御部１１０と、クロック信号１２２の周波数を変更するプリスケラ１１１と、プリスケラ１１１によって周波数の変更された複数のクロック信号１２６又は外部から供給されたクロック信号１２２のうちいずれかを選択して出力するセレクタ１１２と、セレクタ１１２を制御するセレクタ制御レジスタ１０９とを有する。
【００１１】
ＣＰＵ１１３は、ＡＤコンバータ（不図示）を用いてマイコン１０８の電源１２１の電圧を測定し、セレクタ制御レジスタ１０９に出力する。
【００１２】
セレクタ制御レジスタ１０９は、電源１２１の測定結果に基づいてセレクタ１１２の出力するクロック信号１２７を選択する。
【００１３】
休止・稼動制御部１１０は、ＣＰＵ１１３が出力する休止要求信号１２５、稼動要求信号１２４及び外部から入力された要求信号１２３に基づいてクロック信号１２２のＣＰＵ１０８への供給と休止を制御する。
【００１４】
図７は、従来技術にかかるクロック信号の周波数の変更を決定する動作を示すフローチャートである。まず、図６のマイコン１０８内部のＡＤコンバータ（不図示）によって、電源電圧のアナログ−デジタル変換を行う（ステップＳ２０１）。アナログ−デジタル変換が完了するまで待つ（ステップＳ２０２）。次に、ＣＰＵ１１３が電源電圧１２１を測定し（ステップＳ２０３）、その結果をセレクタ制御レジスタ１０９に出力する（ステップＳ２０４）。
【００１５】
以上のように、従来のマイコン１０８では、動作周波数を決定する際、ＡＤコンバータを使用し、動作電圧のアナログ−デジタル変換が完了するまで待たなくてはならない。
【００１６】
次に、従来のマイコン１０８が休止し、動作を再開する際の問題点について説明する。従来のマイコン１０８は、動作周波数の調整のための動作電圧の監視をＣＰＵ１１３が行っている。そのため、マイコン１０８の動作中でのみ動作電圧の監視と動作周波数の調整が可能であり、マイコン１０８が休止中は動作電圧の監視ができない。よって、マイコン１０８は、休止する際、動作電圧の低下を考慮して、再稼動時の動作周波数を最も遅い動作周波数である５ＭＨｚに設定し、休止する必要がある。
【００１７】
図８は従来のマイコン１０８の動作の休止から再開までの流れを示すフローチャートである。まず、ユーザがシステムの動作に関連した処理を行い（ステップＳ３０１）、マイコン１０８の休止状態が発生するものとする（ステップＳ３０１：Ｙｅｓ）。マイコン１０８は休止直前に、次に動作を再開する際のクロック信号１２７の周波数として、もっとも低い５ＭＨｚを設定し（ステップＳ３０３）、クロック信号１２２の供給を休止する（ステップＳ３０４）。クロック信号１２２の供給が休止されマイコン１０８が休止する（ステップＳ３０５）。
【００１８】
一定時間が経過し、マイコン１０８が再稼動すると（ステップＳ３０６：Ｙｅｓ）、クロック信号１２２がマイコン１０８に供給される（ステップＳ３０８）。
【００１９】
マイコン１０８の再稼働の際のＣＰＵ１１３に供給されるクロック信号１２７の周波数は５ＭＨｚである。再稼動したマイコン１０８は、動作電圧１２１を測定し（ステップＳ３０８）、測定した動作電圧１２１をもとにマイコン１０８に供給するクロック信号１２７の周波数を再設定する（ステップＳ３０９）。
【００２０】
ところで、動作電圧を検出するパワーフェイル回路をマイコンの外部に有するマイコンが特許文献１に記載されている。特許文献１に記載のマイコンは、クロック信号出力回路と、クロック信号出力回路の出力を受けマイコンの動作クロック及びその動作クロックより低周波数のクロックを生成するクロック生成回路と、外部のパワーフェイル検出回路の検出結果に基づき、マイコンに供給するクロック信号を動作クロックより低周波数のクロック信号に変更する割り込み信号を出力する割り込み信号出力回路を有する。特許文献１に記載のマイコンは、マイコン外部パワーフェイル回路が動作電圧の低下を検出すると、その検出結果に基づき、マイコン内部の割り込み信号出力回路が割り込み信号を出力し、それによりマイコン内部に供給されるクロック信号の周波数を低くするよう制御するものである。これにより、異常時に動作電圧が急速に低下した場合にマイコンが停止することを防ぐことができる。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開平３−１３０８１２号公報
【非特許文献】
【００２２】
【非特許文献１】ＮＥＣエレクトロニクス，「ユーザーズ・マニュアル  ７８Ｋ０／ＫＥ２  ８ビット・シングルチップ・マイクロコントローラ」，２００６年１２月，Ｐ６３２
【発明の概要】
【発明が解決しようとする課題】
【００２３】
以下従来技術の問題点について説明する。ここでは、図６に示すマイコン１０８が、休止してから再開するまでの間に、動作電圧がマイコン１０８の最も低い動作周波数帯に対応する電圧の閾値まで低下しなかった場合について考える。図９は、従来のマイコンにかかる動作電圧の変化、マイコンの稼動状態、動作電圧の検出が可能であるか否か及びマイコンの動作周波数を示すグラフである。図９（ａ）はマイコン１０８の休止中（タイミングｔ１からｔ２の間）に動作電圧が２．７Ｖ以下まで低下した場合を示している。図９（ｂ）はマイコン１０８の休止中に動作電圧が２．７Ｖ以下に低下しなかった場合を示している。タイミングｔ０からｔ２までの間はマイコン１０８が通常動作を行い、タイミングｔ１からタイミングｔ２までの間はマイコン１０８は休止している。タイミングｔ２でマイコン１０８の動作が再開し、タイミングｔ２からｔ３でマイコン１０８が動作電圧を測定し動作電圧に対応する動作周波数を決定する。
【００２４】
図９（ａ）のように、マイコン１０８が休止している間に動作電圧が２．７Ｖ以下まで低下した場合、タイミングｔ２でマイコン１０８の動作が再開した直後から、動作電圧に対応する周波数のクロック信号１２７をＣＰＵ１１３に供給することができる。しかし、図９（ｂ）のように、マイコン１０８の休止中に動作電圧が２．７Ｖ以下に低下しなかった場合、つまり、休止期間が短かった場合に、図９（ｂ）のタイミングｔ２の動作再開の際は、マイコン１０８の動作可能な周波数は１０ＭＨｚとなる。しかし、図８のステップＳ３０３においてマイコン１０８の動作が再開される際に供給されるクロック信号の周波数は５ＭＨｚに設定されている。従来のマイコン１０８は、タイミングｔ２からタイミングｔ３の間は、本来最適な周波数である１０ＭＨｚで動作せず、最低動作周波数である５ＭＨｚで動作する。
【００２５】
以上のように、従来のマイコンでは、マイコンの休止中に動作電圧を測定することができないため、休止する前に動作周波数を最低動作周波数に設定しなければならない。そのため、従来のマイコンは、休止から再稼動する際、動作電圧が高い場合であっても最も低い動作周波数で再稼動する。これにより、マイコン再稼動直後はマイコンの処理パフォーマンスが低下する。加えて、マイコン再稼動時の電圧が最低周波数に適した電圧であって、動作周波数の変更が必要でない場合においても、再稼動直後に動作電圧を測定し、動作周波数を再設定する必要がある。これにより、マイコンが再稼動してから動作周波数を再設定するまでの間は、ユーザが本来マイコンで行なおうとしている処理が遅れ、キー入力等の入力信号の検出の遅延及び取りこぼしが発生するという問題がある。
【００２６】
また、特許文献１に記載のマイコンは、外部にパワーフェイル回路を有しているため、マイコンの動作が再開する前に動作電圧を測定することが可能である。しかしながら、及び外部のパワーフェイル回路の動作電圧の検出結果をクロック信号の周波数の変更に用いるためには、マイコン内部の割り込み信号出力回路を用いて、動作電圧に対応したクロック信号の周波数を判断させる必要がある。したがって、クロック信号の周波数を判断するために、マイコンの動作が安定するのを待つことになる。以上より、周波数の設定マイコンの動作再開が遅れ、ユーザの入力への対応が遅れるという問題点がある。
【課題を解決するための手段】
【００２７】
本発明にかかるマイクロ・コンピュータは、外部又は内部からの要求により、クロック信号の供給が停止される演算部と、外部から供給されるクロック信号の周波数を変更し、異なる周波数のクロック信号を１以上生成するクロック信号生成部と、演算部の稼動状態にかかわらずマイクロ・コンピュータの動作電圧を検出する電圧検出部と、クロック信号生成部で生成されたクロック信号又は外部から供給されるクロック信号のうちいずれかを選択して演算部に供給する選択部と、演算部の稼動状態にかかわらず電圧検出部の検出結果に基づき、選択部がクロック信号を選択するための選択信号を生成する選択信号生成部とを有し、演算部の稼動状態にかかわらず、外部又は内部からの要求に応じ、選択信号によりクロック信号が選択され、演算部に供給される。これにより、マイコンにクロック信号が供給されていない場合も、マイコンの動作電圧を検出し、マイコンの再稼動直後から動作電圧にあった周波数のクロック信号を演算部に供給することができる。
【発明の効果】
【００２８】
本発明によれば、マイコン動作再開直後からマイコンに供給される動作電圧に対し最適なクロック周波数の設定で動作を開始できるマイコンを供給することができる。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１にかかるマイコンの構成を示す図である。
【図２】実施の形態１にかかるマイコンの動作を示すフローチャートである。
【図３】従来技術にかかるマイコンの動作周波数帯とそれに対応する動作電圧を示す表である。
【図４】従来技術にかかるクロック信号生成回路１０２を示す図である。
【図５】従来技術にかかるマイコン１０５を示す図である。
【図６】従来技術にかかるマイコン１０８の詳細を示す図である。
【図７】従来技術にかかるクロック信号の周波数の変更を決定する動作を示すフローチャートである。
【図８】従来のマイコン１０８の動作の休止から再開までの流れを示すフローチャートである。
【図９】従来のマイコンにかかる動作電圧の変化、マイコンの稼動状態、動作電圧の検出が可能であるか否か及びマイコンの動作周波数を示すグラフである。
【発明を実施するための形態】
【００３０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は本発明におけるマイコン１の構成を示す図である。マイコン１は、演算部としてのＣＰＵ１８と、クロック信号生成部としてのプリスケラ１６と、電圧検出部としてのコンパレータ１０、１１およびコンパレータデータバッファ１３と、選択部としてのセレクタ１７と、選択信号生成部としてのセレクタ制御レジスタ１４と、休止・稼動制御部１５と、ラッチ回路１２とを有する。
【００３１】
ＣＰＵ１８は、外部からの要求信号２４またはＣＰＵ１８からの休止要求信号２６により、クロック信号３２の供給が停止される。
【００３２】
プリスケラ１６は、外部から供給されるクロック信号２７の周波数を変更し、異なる周波数のクロック信号２８及び２９を生成する。コンパレータ１０、１１は、ＣＰＵ１８の稼動状態にかかわらずマイコン１の動作電圧を検出する。
【００３３】
コンパレータデータバッファ１３は、ＣＰＵ１８の稼動状態にかかわらず、動作電圧の検出結果をセレクタ制御レジスタ１４に出力する。
【００３４】
セレクタ１７は、プリスケラ１６で生成されたクロック信号２８及び２９又は外部から供給されるクロック信号２７のうちいずれかを選択してＣＰＵ１８に供給する。
【００３５】
セレクタ制御レジスタ１４は、マイコン１の稼働状態にかかわらず、コンパレータ１０及び１１の検出結果に基づき、セレクタ１７がＣＰＵ１８に供給するクロック信号３２を選択するための選択信号３４を生成し、保持する。ラッチ回路１２は、ラッチ信号３３をセレクタ制御レジスタ１４に入力する。セレクタ制御レジスタ１４は、ラッチ回路１２からラッチ信号３３を入力されると、保持していた選択信号３４をセレクタ１７に出力する。セレクタ１７は選択信号３４に基づいてクロック信号３２をＣＰＵ１８に供給する。
【００３６】
ラッチ回路１２は、ＣＰＵ１８へのクロック信号３２の供給が停止している場合、外部からの要求信号２４又はＣＰＵ１８が出力する稼動要求信号２５に応じてラッチ信号３３をセレクタ制御レジスタ１４に出力する。
【００３７】
ラッチ回路１２は、ＣＰＵ１８へクロック信号３２が供給されている場合、ＣＰＵ１８からの周波数変更信号３１に応じてラッチ信号３３をセレクタ制御レジスタ１４に出力する。
【００３８】
これにより、マイコン１は、ＣＰＵ１８へのクロック信号３２の供給が休止されている場合は、外部からの要求信号２４又はＣＰＵ１８からの稼働要求信号２５により、クロック信号３２を選択でき、ＣＰＵ１８にクロック信号３２が供給されている場合は、ＣＰＵ１８からの周波数変更信号３１により、クロック信号３２を選択することができる。
【００３９】
ここで、更に本実施の形態にかかるマイコン１について詳細に説明する。マイコン１は、動作電圧に基づいた動作周波数帯を有する。本実施の形態では、動作電圧が１．８Ｖ〜２．７Ｖ、２．７Ｖ〜４Ｖ、４Ｖ〜５．５Ｖの３種類の動作電圧帯に対し、５ＭＨｚ、１０ＭＨｚ、２０ＭＨｚの動作周波数を対応させることとする。また、マイコン１は、外部からの要求信号２４またはＣＰＵ１８からの休止要求信号２６により、休止・稼動制御部１５を制御し、ＣＰＵ１８に供給されるクロック信号３２の供給を停止することで稼動を休止する。
【００４０】
マイコン１の動作電源２１は、ＣＰＵ１８、並びに比較器であるコンパレータ１０及び１１に接続されている。
【００４１】
コンパレータ１０及び１１は、あらかじめ定められた電圧以上であることを検出すると０を出力する。コンパレータ１０及び１１はそれぞれ異なる電圧を検出する。
【００４２】
コンパレータ１０及び１１は、マイコン１内部へのクロック信号２７の供給状態に関係なく、言い換えればＣＰＵ１８の稼働中及びＣＰＵ１８の休止中に動作電圧の検出を行い、コンパレータデータバッファ１３の動作電圧の情報の更新を行う。
【００４３】
コンパレータ１０は、動作電圧を検出し、４Ｖ以上であった場合、検出信号２２Ｌｏ（０）を、４Ｖ以下であった場合検出信号２２Ｈｉ（１）をコンパレータデータバッファ１３に出力する。
【００４４】
コンパレータ１１は、動作電圧を検出し、２．７Ｖ以上であった場合、検出信号２３Ｌｏ（０）を、２．７Ｖ以下であった場合、検出信号２３Ｈｉ（１）をコンパレータデータバッファ１３に出力する。
【００４５】
コンパレータデータバッファ１３は、コンパレータ１０及び１１のそれぞれの検出信号２２及び２３を検出結果としてセレクタ制御レジスタ１４に出力する。また、コンパレータデータバッファ１３は、コンパレータ１０及び１１から出力された検出信号２２および２３が変化するたびにセレクタ制御レジスタ１４に検出結果を出力する。
【００４６】
セレクタ制御レジスタ１４は、コンパレータデータバッファ１３から動作電圧の情報を受け取る。セレクタ制御レジスタ１４は、コンパレータデータバッファ１３が出力した検出結果が（００）だった場合動作電圧は４Ｖ〜５．５Ｖであり、（１０）だった場合２．７Ｖ〜４Ｖであり、（１１）だった場合１．８Ｖ〜２．７Ｖであるとして、当該動作電圧の情報に基づき、セレクタ１７がＣＰＵ１８に出力するクロック信号３２を選択するための選択信号３４を生成し、保持する。
【００４７】
プリスケラ１６は、クロック信号の周波数を１／２または１／４にしてセレクタ１７に供給する。
【００４８】
セレクタ１７には、外部から供給されたクロック信号２７の１／４の周波数であるクロック信号２８、１／２の周波数であるクロック信号２９及び１／１の周波数であるクロック信号３０が入力される。そして、セレクタ１７は、セレクタ制御レジスタ１４からの選択信号３４に基づいて、クロック信号２８〜３０のうち１を選択し、ＣＰＵ１８に供給する。
【００４９】
セレクタ制御レジスタ１４は、ラッチ回路１２からラッチ信号３３を入力されると、保持していた選択信号３４をセレクタ１７に出力する。
【００５０】
選択信号３４は、コンパレータデータバッファ１３が出力した検出結果がそれぞれ（１１）、（１０）及び（００）だった場合、それぞれクロック信号２７の周波数の１／４、１／２、１／１の周波数のクロック信号２８、２９及び３０をセレクタ１７に選択させる。
【００５１】
ラッチ回路１２は、ＣＰＵ１８から入力される稼動要求信号２５または外部から入力されるマイコン１の稼働を要求する要求信号２４と、ＣＰＵ１８が動作中に出力する周波数変更信号３１とに基づき、セレクタ制御レジスタ１４にラッチ信号３３を出力し、ラッチ信号３３が入力されることにより、セレクタ制御レジスタ１４は保持していた選択信号３４をセレクタ１７に出力する。
【００５２】
休止・稼動制御部１５は、外部からの要求信号２４またはＣＰＵ１８からの稼動要求信号２５及び休止要求信号２６に基づき、マイコン１内部へ供給されるクロック信号２７を供給または停止する。
【００５３】
ＣＰＵ１８は、休止・稼動制御部１５に稼動要求信号２５又は休止要求信号２６を出力することにより、マイコン１内部に供給されるクロック信号２７の供給を制御し、それによりＣＰＵ１８の休止及び稼動を制御する。
【００５４】
稼動要求信号２５と休止要求信号２６は同一信号で、Ｌｏ（０）時は稼動、Ｈｉ（１）時は休止となっているが、本実施の形態では、動作説明の為別個に記載する。稼動要求信号２５及び停止要求信号２６は、たとえばマイコン搭載機能（タイマ等）により出力される。
【００５５】
ＣＰＵ１８は、稼動中に、マイコン１の動作の必要に応じ、一定の周期でラッチ回路１２に周波数変更信号３１を出力する。周波数変更信号３１は、ラッチ回路１２にラッチ信号３３を出力させ、ラッチ信号３３はセレクタ制御レジスタ１４に保持している選択信号３４を出力させ、選択信号３４によりセレクタ１７においてクロック信号３２が選択される。
【００５６】
本実施の形態では、マイコン１の動作状態に関係なく動作電圧を検出するため、マイコン１が再稼動した際に、動作電圧の測定の終了を待って最適なクロック信号の周波数を選択するという動作をする必要がなくなり、マイコン１の動作のレスポンスが向上する。
【００５７】
ここでマイコン１の動作についてさらに詳細に説明する。図２は、本実施の形態に係るマイコン１の動作を示すフローチャートである。
【００５８】
まず、システムに関連したユーザの処理が行われる（ステップＳ３１）。ユーザの処理がＣＰＵ１８の動作を休止させるものでなかった場合（ステップＳ３２：Ｎｏ）、マイコン１は通常動作に戻る。
【００５９】
ユーザの処理がＣＰＵ１８を休止させるものであった場合（ステップＳ３２：Ｙｅｓ）、ＣＰＵ１８から休止要求信号２６が出力され、休止・稼動制御部１５はクロック信号２７の供給を休止する（ステップＳ３３）。
【００６０】
ＣＰＵ１８は外部からの要求信号２４かまたは一定条件を満たすまで休止する（ステップＳ３４）。一定条件とは、たとえばマイコン１内部のタイマによる再稼動の設定などである。ここで、ＣＰＵ１８が休止しているステップＳ３４においても、クロック信号２７のマイコン１内部への供給状態に関係なく、コンパレータ１０及び１１により動作電圧の検出は継続され、コンパレータデータバッファ１３の動作電圧情報の更新が行われる。
【００６１】
外部から要求信号２４が入力されるか、または再開条件が発生した場合（ステップＳ３５：Ｙｅｓ）、ＣＰＵ１８は動作を開始する（ステップＳ３６）。
【００６２】
ＣＰＵ１８が休止状態で、外部からの要求信号２４またはＣＰＵ１８からの稼動要求信号２５が発せられると同時に、ラッチ回路１２にも稼動要求信号２５が出力される。ラッチ回路１２は、稼動要求信号２５を入力されるとすぐにコンパレータデータバッファ１３に対してラッチ信号３３を出力する。
【００６３】
セレクタ制御レジスタ１４は、ＣＰＵ１８が休止状態の際も動作電圧の情報を更新し、選択信号３４を常に保持している。そのため、ラッチ信号３３を入力されるとすぐに選択信号３４をセレクタ１７に入力する。
【００６４】
本実施の形態によれば、クロック信号２７のマイコン１内部への供給状態及びマイコン１の動作状態にかかわらず、常時動作電圧の検出が可能なコンパレータ１０及び１１を有することで、常にマイコン１の動作電圧を検出できる。また、マイコン１は、動作電圧の情報をマイコン１の稼働状態に関わらず更新するコンパレータデータバッファ１３を有し、パレータバッファ１３の検出結果に基づき、選択信号３４を常に保持するセレクタ制御レジスタ１４を有している。そのため、マイコン１を起動させる外部からの要求信号２４およびＣＰＵ１８からの稼働要求信号２５は、ラッチ回路１２を介して、ほぼ同時にコンパレータデータバッファ１３に選択信号３４を出力させる。そのため、マイコン１の再稼動時の動作電圧に合った動作周波数に切り替えることができる。以上により、マイコン休止時、動作電圧低下を考慮し最低電圧時を想定したもっとも遅い周波数への切り替えのための制御が不要となり、したがってマイコン１の動作再開時の動作電圧の測定及び動作周波数を選択して切り替える処理が不要となるため、再稼動直後の対応処理開始が早められる。
【００６５】
また、本実施の形態によれば、ＡＤコンバータを使用した際の変換待ち時間等でロストする時間がなくなり、ユーザ処理のレスポンスが向上する。
【００６６】
また、動作電圧の検出を行う回路をコンパレータ１０、１１及びコンパレータデータバッファ１３という簡易な回路で構成したため、動作電圧検出のためのユーザーソフト処理が不要となり、ユーザーソフトの負荷の軽減と、処理時間の短縮が可能となる。
【００６７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、コンパレータの数や動作帯域の数を増やすなどしてもよい。
【符号の説明】
【００６８】
１  マイコン
１０、１１  コンパレータ
１２  ラッチ回路
１３  コンパレータデータバッファ
１４  セレクタ制御レジスタ
１５  休止・稼動制御部
１６  プリスケラ
１７  セレクタ
１８  ＣＰＵ
２１  動作電源
２２、２３  検出信号
２４  要求信号
２５  稼動要求信号
２６  休止要求信号
２７  クロック信号
２８  クロック信号（周波数１／４）
２９  クロック信号（周波数１／２）
３０  クロック信号（周波数１／１）
３１  周波数変更信号
３２  クロック信号
３３  ラッチ信号
３４  選択信号
１０１  高速システム・クロック発信器
１０２  クロック生成回路
１０３  プリスケラ
１０４  セレクタ
１０５  マイコン
１０６  ＡＤコンバータ
１０７  電源
１０８  マイコン
１０９  セレクタ制御レジスタ
１１０  休止・稼動制御部
１１１  プリスケラ
１１２  セレクタ
１１３  ＣＰＵ
１２１  動作電源
１２２  クロック信号
１２３  要求信号
１２４  稼動要求信号
１２５  休止要求信号
１２６、１２７  クロック信号
１２８  セレクタ制御信号
【図１】
2011118751.tif 000003
【図２】
2011118751.tif 000004
【図３】
2011118751.tif 000005
【図４】
2011118751.tif 000006
【図５】
2011118751.tif 000007
【図６】
2011118751.tif 000008
【図７】
2011118751.tif 000009
【図８】
2011118751.tif 000010
【図９】
2011118751.tif 000011