(57)【特許請求の範囲】
【請求項１】
プログラムに従い動作するＣＰＵと、
該ＣＰＵを動作させるためのメインクロックを生成するメインクロック生成手段と
前記メインクロックよりも周波数が低いサブクロックを受けて動作すると共に、前記ＣＰＵを間欠的に動作させるための制御を行う間欠動作制御手段と、
を備え、前記ＣＰＵが、動作を停止する際に前記間欠動作制御手段へ停止指令を出力し、前記間欠動作制御手段が、前記停止指令を受けると、前記メインクロック生成手段の動作を停止させると共に、所定の設定時間の計時を開始し、その設定時間の経過後に、前記メインクロック生成手段の動作を再開させて前記ＣＰＵを停止状態から動作状態へと起床させることにより、前記ＣＰＵの間欠動作が実施されるマイクロコンピュータであって、
前記サブクロックを受けて動作して、前記ＣＰＵが停止状態である期間（以下、間欠時間という）を計測すると共に、その計測値が前記ＣＰＵによって読み取り可能な間欠時間計測手段を備えており、
前記ＣＰＵは、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間の値を前記間欠時間計測手段から読み取り、また、今回起床してからの動作時間を自らソフト処理で計測し、更に、停止状態から起床して動作する毎に、それまでの間欠回数分の前記間欠時間及び前記動作時間の累積加算値を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用い、この判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行い、
前記間欠時間計測手段は、
前記ＣＰＵからの動作モード切替指令によって、前記間欠時間を計測する第１の動作モードと、時間を継続して計測する第２の動作モードとの何れかの動作モードに設定されると共に、少なくとも、動作モードが前記第２の動作モードに設定されている場合には、前記ＣＰＵからのクリア指令によって計測値のクリアが行えるように構成されていること、
を特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータに関し、特に、予定の動作を所定時間が経過してから実施する電子制御装置に好適なマイクロコンピュータに関する。
【０００２】
【従来の技術】
従来より、電子制御装置においては、例えば、通信相手の装置へ起動信号を送信してから所定時間が経過した後で、その通信相手との通信動作を実施したり、外部のスイッチ等からの信号がアクティブレベルに変化したことを検知してから所定時間が経過した後で、ランプやブザー等の電気負荷を駆動するための動作を実施する、といった具合に、予定の動作を所定時間が経過してから実施するように構成されることがある。尚、以下、このような機能（即ち、予定の動作を所定時間が経過してから実施する、という機能）を「タイマ機能」という。
【０００３】
また、例えば車両に搭載される電子制御装置では、バッテリへの充電が行われないエンジン停止時に上記のタイマ機能を実現しなければならない場合がある。このため、より少ない消費電力でタイマ機能を実現する必要がある。
そして、従来の電子制御装置では、上記のタイマ機能を少ない消費電流（消費電力）で実現するために、下記の［従来例１］〜［従来例３］の何れかの方法を採用していた。
【０００４】
［従来例１］
まず、図４（ａ）に示すように、電子制御装置の動作を制御するマイクロコンピュータ（以下、マイコンという）１０１の外部に、タイマ回路１０３を設ける。
【０００５】
そして、この電子制御装置において、マイコン１０１は、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図４（ｂ）に示すように、当該マイコン１０１の内部で動作クロックを発生させている発振回路（図示省略）の動作を停止させて自分の動作を停止すると共に、タイマ回路１０３へ動作指示を出す。
【０００６】
すると、タイマ回路１０３は、計時を開始して、所定のタイマ時間が経過した時に、マイコン１０１を停止状態から動作状態へと起床（ウェイクアップ）させるためのウェイクアップ信号を出力する。尚、タイマ回路１０３は、マイコン１０１の動作クロックよりも低い周波数のクロックであって、当該タイマ回路専用の発振回路１０５で発生されるクロックによって動作する。
【０００７】
そして、マイコン１０３は、タイマ回路１０３からのウェイクアップ信号によって停止状態から動作状態へと起床し、予定の動作に該当する処理を行う。
［従来例２］
次に、図５（ａ）に示すように、電子制御装置の動作を制御するマイコンとして、プログラムに従い動作するＣＰＵ（即ち、命令解読部や演算部等からなる中央演算装置）２０３とは別に、そのＣＰＵ２０３を停止状態から動作状態へと起床させるタイマブロック２０５を内蔵したマイコン２０１を用いる。
【０００８】
つまり、このマイコン２０１において、ＣＰＵ２０３は、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図５（ｂ）に示すように、自分の動作を停止して、当該マイコン２０１の実質的な動作（即ち、プログラムを実行する動作）を停止させると共に、タイマブロック２０５へ動作指示を出す。
【０００９】
すると、タイマブロック２０５は、計時を開始して、所定のタイマ時間が経過した時に、ＣＰＵ２０３へタイムアップ信号を出力する。尚、タイマブロック２０５は、ＣＰＵ２０３と共通の動作クロックであって、当該マイコン２０１内部の発振回路２０７で発生される高周波の動作クロックによって動作する。
【００１０】
そして、ＣＰＵ２０３は、タイマブロック２０５からのタイムアップ信号によって停止状態から動作状態へと起床し、プログラムの実行を再開して予定の動作に該当する処理を行う。
［従来例３］
次に、図６（ａ）に示すように、電子制御装置の動作を制御するマイコンとして、動作速度が可変のマイコン３０１を用いる。
【００１１】
つまり、このマイコン３０１は、ＣＰＵ３０３と、そのＣＰＵ３０３の動作クロックの元となる基準クロックを発生させる発振回路３０７と、その発振回路３０７で発生される基準クロックから、ＣＰＵ３０３により指示される周波数のクロックを生成して、ＣＰＵ３０３の動作クロックとして出力する周波数制御回路３０５とを備えている。
【００１２】
そして、このマイコン３０１において、ＣＰＵ３０３は、プログラムを実行している通常動作時には、周波数制御回路３０５から出力される動作クロックの周波数を通常の高い周波数（例えば数十ＭＨｚ）に設定して、高速で動作するが、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図６（ｂ）に示すように、周波数制御回路３０５から出力される動作クロックの周波数を通常よりも低い周波数（例えば数ＭＨｚ）に設定して、低速で動作する（即ち、低消費電力状態になる）と共に、その状態で所定のタイマ時間の計時を行う。
【００１３】
そして更に、ＣＰＵ３０３は、その低速動作状態でタイマ時間が経過したと判断すると、周波数制御回路３０５から出力される動作クロックの周波数を再び通常の高い周波数に設定して、高速での動作を再開し、予定の動作に該当する処理を行う。
【００１４】
【発明が解決しようとする課題】
ところが、まず、上記従来例１では、マイコン１０１とは別に専用のタイマ回路１０３が必要となるため、電子制御装置全体での回路規模とコストが増大してしまう。
【００１５】
また、上記従来例２では、マイコン２０１の中枢部であるＣＰＵ２０３は動作を停止するものの、ＣＰＵ２０３を動作させるための高周波数のクロックを発生させる発振回路（即ち、ＣＰＵの動作クロックを発生する部分）２０７が常時動作することとなるため、消費電流を大幅に低減することができない。しかも、従来例２では、例えば数十時間や数日間といった極長時間のタイマを構成するのが非常に難しい。これは、専用のタイマブロック２０５で計時できる時間が有限なためであり、このことは従来例１でも同様である。
【００１６】
そして更に、上記従来例３では、発振回路３０７及び周波数制御回路３０５だけでなく、ＣＰＵ３０３が常時動作することとなるため、消費電流の低減効果が小さい。
本発明は、こうした問題に鑑みなされたものであり、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現するのに好適なマイクロコンピュータを提供することを目的としている。
【００１７】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１に記載のマイコン（マイクロコンピュータ）は、プログラムに従い動作するＣＰＵと、ＣＰＵを動作させるためのメインクロック（即ち、ＣＰＵの動作クロック）を生成するメインクロック生成手段と、上記メインクロックよりも周波数が低いサブクロックを受けて動作すると共に、ＣＰＵを間欠的に動作させるための制御を行う間欠動作制御手段とを備えている。
【００１８】
そして、このマイコンでは、「ＣＰＵが、動作を停止する際に間欠動作制御手段へ停止指令を出力し、間欠動作制御手段が、ＣＰＵからの停止指令を受けると、メインクロック生成手段の動作を停止させると共に、所定の設定時間の計時を開始し、その設定時間の経過後に、メインクロック生成手段の動作を再開させてＣＰＵを停止状態から動作状態へと起床させる」という動作が繰り返されることにより、図３（Ａ），（Ｂ）の上段に示すようなＣＰＵの間欠動作が実施される。
【００１９】
尚、ＣＰＵが停止状態となっている期間中（図３において「間欠時間」と記している期間中）は、当該マイコンの実質的な動作であるプログラムの実行動作が停止されると共に、ＣＰＵの動作クロックである高周波数のメインクロックも停止することとなる。また、間欠動作制御手段が計時する上記設定時間は、一般には、ＣＰＵによってセットされる（即ち、プログラマブルである）ように構成されるが、固定値であっても良い。
【００２０】
ここで特に、請求項１のマイコンは、サブクロックを受けて動作する間欠時間計測手段を備えており、その間欠時間計測手段は、図３（Ａ）の下段に示すように、ＣＰＵが停止状態である期間（以下、間欠時間という）を自動的に計測すると共に、その計測値がＣＰＵによって読み取り可能に構成されている。
【００２１】
そして更に、このマイコンにおいては、ＣＰＵが下記の如く動作するため、たとえ数十時間や数日間といった非常に長い時間でも計測することができると共に、その時間計測機能（延いてはタイマ機能）を、非常に少ない消費電力で実現することができる。
【００２２】
即ち、図３（Ａ）に示すように、ＣＰＵは、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間Ｔａの値を間欠時間計測手段から読み取り、また、今回起床してからの動作時間（即ち、当該ＣＰＵが動作状態となっている時間）Ｔｂを自らソフト処理で計測する。そして更に、ＣＰＵは、停止状態から起床して動作する毎に、それまでの間欠回数分の上記Ｔａ及びＴｂの累積加算値（Σ（Ｔａ＋Ｔｂ））を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。そして、ＣＰＵは、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【００２３】
このような請求項１のマイコンによれば、ＣＰＵだけでなく該ＣＰＵの動作クロックである高周波数のメインクロックが停止した状態で、時間の計測が遂行されるため、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現することができ、しかも、計測すべき所定時間（即ち、タイマ時間）が数十時間や数日間といった具合に非常に長くても、確実に対応することができる。つまり、間欠時間計測手段が連続して計測可能な時間は有限であるが、図３（Ａ）に示したように、間欠時間計測手段により計測されるＣＰＵの１回ずつの間欠時間Ｔａと、ＣＰＵ自身のソフト処理により計測される該ＣＰＵの動作時間Ｔｂとの累積加算値（Σ（Ｔａ＋Ｔｂ））によって、時間の計測を行うことができるからである。
【００２４】
また、請求項１のマイコンによれば、タイマ時間（即ち、経過したことを判断する所定時間）をソフトウエアによって自由に設定することができ、汎用性を損なうこともない。
そして更に、請求項１のマイコンによれば、図３（Ａ）に示したように、ＣＰＵを定期的に動作させながら、継続して長い時間を計測することができるため、時間の計測中に処理を適宜変更することも可能になる。
【００２５】
例えば、タイマ時間の計測を開始してから状況が変化して、実施予定の動作が不要になった場合には、そのことを検知して他の処理を実行することができるようになる。また、定期的に内部データ等をチェックして当該マイコンの動作の安定性を確認することができ、動作の信頼性を向上させることができる。
【００２６】
次に、間欠時間計測手段は、ＣＰＵからの動作モード切替指令によって、ＣＰＵが停止状態である期間（間欠時間）を計測する第１の動作モードと、時間を継続して計測する第２の動作モードとの何れかの動作モードに設定されると共に、少なくとも、動作モードが第２の動作モードに設定されている場合には、ＣＰＵからのクリア指令によって計測値のクリアが行えるように構成されている。
【００２７】
このような請求項１のマイコンによれば、間欠時間計測手段の動作モードを第１の動作モードに設定すれば、前述したマイコンと同じ使用方法で同じ効果が達成できる。
その上、この請求項１のマイコンによれば、ＣＰＵが間欠時間計測手段の動作モードを第２の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、前述したマイコンについて述べた効果を、ＣＰＵの処理負荷を一層軽くしながらも実現することができる。
【００２８】
即ち  ＣＰＵは、時間の計測を開始する時までに、間欠時間計測手段の動作モードを第２の動作モードに設定しておくと共に、図３（Ｂ）の時刻ｔ１に示すように、時間の計測を開始する時に、間欠時間計測手段へクリア指令を与えて、該間欠時間計測手段の計測値をクリアする（０にする）。そして、図３（Ｂ）に示すように、ＣＰＵは、間欠動作を開始すると共に、停止状態から起床して一時動作する毎に、間欠時間計測手段の計測値Ｔを読み取って、その直後に間欠時間計測手段の計測値をクリアする（つまり、間欠時間計測手段の計時動作を０からリスタートさせる）。そして更に、ＣＰＵは、停止状態から起床して動作する毎に、間欠時間計測手段から読み取った上記計測値Ｔ（図３（Ｂ）におけるＴ１，Ｔ２，…）の累積加算値（Σ（Ｔ））を求めて、その累積加算値を、時間の計測を開始した時点からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。尚、ＣＰＵは、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【００２９】
そして、請求項１のマイコンを、このように使用すれば、前述したマイコンと全く同じ効果を得ることができる上に、図３（Ａ）の場合のように、ＣＰＵが動作状態となっている時間Ｔｂを自らソフト処理で計測する必要がなくなるため、ＣＰＵの処理負荷を低減することができるのである。
【００３０】
【発明の実施の形態】
以下、本発明が適用された実施形態のシングルチップマイコンについて、図面を用いて説明する。
まず図１は、本実施形態のマイコン１の構成を表すブロック図である。
【００３１】
図１に示すように、本実施形態のマイコン１は、プログラムに従い動作するＣＰＵ３，プログラムや固定データが予め格納されるＲＯＭ５，及びＣＰＵ３による演算結果を一時記憶するためのＲＡＭ７からなる基本的な構成に加えて、当該マイコン１の外部に設けられる発振素子８と協同してＣＰＵ３の動作クロックであるメインクロック（本実施形態では数ＭＨｚ〜数十ＭＨｚ）を生成するメイン発振回路９及び該メイン発振回路９を制御する発振制御部１１からなるメインクロック発生部１３と、上記発振制御部１１と協同して、ＣＰＵ３を間欠的に動作（間欠動作）させるための制御を行う間欠動作制御部１５と、ＣＰＵ３の間欠時間（即ち、ＣＰＵ３が間欠動作している際に停止状態である期間）を計測するタイマブロック１７と、当該マイコン１の外部に設けられる発振素子１８と協同して上記メインクロックよりも周波数が低いサブクロック（本実施形態では数十ＫＨｚ）を生成するサブ発振回路１９とを備えている。
【００３２】
そして、本実施形態のマイコン１において、上記発振制御部１１と、間欠動作制御部１５と、タイマブロック１７との各々は、サブ発振回路１９で常時生成されるサブクロックを受けて動作する。
尚、本実施形態では、メイン発振回路９が、メインクロック生成手段に相当し、発振制御部１１と間欠動作制御部１５とが、間欠動作制御手段に相当し、タイマブロック１７が、間欠時間計測手段に相当している。
【００３３】
ここで、ＣＰＵ３は、前述した従来例２のＣＰＵ２０３と同様に、特定の動作停止命令を実行することによって自己の動作を停止することができるようになっている。そして、ＣＰＵ３は、自ら動作を停止する時に（つまり、上記動作停止命令の実行時に）、間欠動作制御部１５へ停止指令を出力するようになっている。
【００３４】
一方、間欠動作制御部１５は、計時すべき時間（所定の設定時間に相当）がＣＰＵ３によってセットされる（書き込まれる）レジスタ１５ａを備えている。
そして、間欠動作制御部１５は、通常時には、メインクロック発生部１３の発振制御部１１に動作指示を与えて、該発振制御部１１にメイン発振回路９を動作させているが、ＣＰＵ３からの上記停止指令を受けると（即ち、ＣＰＵ３が動作を停止すると）、発振制御部１１に停止指示を出力して、該発振制御部１１にメイン発振回路９の動作を停止させると共に、上記レジスタ１５ａにセットされている時間（以下、設定時間という）の計時を開始し、その設定時間が経過すると、発振制御部１１に再び動作指示を出力して、該発振制御部１１にメイン発振回路９の動作を再開させる。そして更に、間欠動作制御部１５は、ＣＰＵ３から上記停止指令を受けて、発振制御部１１へ停止指示を出力した時に、タイマブロック１７へ、ＣＰＵ３の動作が停止したことを示す停止報知信号を出力する。
【００３５】
尚、上記設定時間は、サブクロックの数（即ち周期数）に基づいて計時される。また、本実施形態において、上記停止報知信号は、極短いパルス幅のワンショットパルス信号である。
また、メインクロック発生部１３の発振制御部１１は、上記間欠動作制御部１５からの動作指示と停止指示とに応じて、メイン発振回路９の動作と非動作とを切り替えるが、特に、間欠動作制御部１５からの動作指示を受けてメイン発振回路９の動作を開始させた際には、その時点からメインクロックの周波数が安定すると見なされる所定の発振安定待ち時間が経過した時に、ＣＰＵ３へ、該ＣＰＵ３を停止状態から動作状態へと起床させるためのＲＵＮ信号を出力する。
【００３６】
尚、上記発振安定待ち時間は、メインクロックの周波数が確実に安定してからＣＰＵ３を起床させるために設けられており、サブクロックの数に基づいて計時される。そして、発振制御部１１は、上記発振安定待ち時間がＣＰＵ３によってセットされる（書き込まれる）レジスタ１１ａを備えている。また、本実施形態において、発振制御部１１は、上記ＲＵＮ信号を、間欠動作制御部１５から次に停止指示を受けるまで（つまり、メイン発振回路９の動作を次に停止させる時まで）継続して出力するようになっている。そして、そのＲＵＮ信号は、タイマブロック１７にも供給されるようになっている。
【００３７】
次に、タイマブロック１７は、ＣＰＵ３の間欠動作と連動して該ＣＰＵ３の間欠時間を自動的に計測する基本動作モードとしての第１の動作モードと、時間を継続して計測するフリーランの第２の動作モードとの、２つの動作モードを有している。そして、タイマブロック１７は、ＣＰＵ３からの動作モード切替指令によって、動作モードが上記２つの動作モードの内の何れかに設定されると共に、時間の計測値がＣＰＵ３によって読み取り可能に構成されている。
【００３８】
そして更に、タイマブロック１７は、動作モードが第１の動作モードに設定されている場合には、間欠動作制御部１５からの上記停止報知信号によって計測値が０にクリアされると共に、発振制御部１１から上記ＲＵＮ信号が出力されている間は、計時動作を停止して計測値を保持するように構成されている。
【００３９】
また、タイマブロック１７は、ＣＰＵ３からのクリア指令によって、計測値のクリアが行われると共に、ＣＰＵ３からのカウント停止指令によって、計時動作の停止及び計測値の保持が行われるように構成されている。
具体的に説明すると、図２に示すように、タイマブロック１７は、時間を計測する手段として、サブクロックを受けてアップカウント動作すると共に、そのカウント値（時間の計測値に相当）が、ＣＰＵ３に読み取られるカウンタ２１を備えている。そして、カウンタ２１は、リセット端子２１ａにハイレベルの信号が供給されると、カウント値が０にクリアされ、また、動作停止端子２１ｂにハイレベルの信号が供給されている間、計時動作に相当するカウントアップ動作を停止してカウント値を保持するように構成されている。
【００４０】
そして更に、タイマブロック１７は、ＣＰＵ３からの動作モード切替指令に該当する信号（以下、動作モード切替信号という）と間欠動作制御部１５からの停止報知信号との論理積信号を出力するアンド回路２３と、ＣＰＵ３からの動作モード切替信号と発振制御部１１からのＲＵＮ信号との論理積信号を出力するアンド回路２５と、アンド回路２３の出力とＣＰＵ３からのクリア指令に該当する信号（以下、クリア信号という）との論理和信号を、カウンタ２１の上記リセット端子２１ａに供給するオア回路２７と、アンド回路２５の出力とＣＰＵ３からのカウント停止指令に該当する信号（以下、カウント停止信号という）との論理和信号を、カウンタ２１の上記動作停止端子２１ｂに供給するオア回路２９とを備えている。
【００４１】
尚、本実施形態において、タイマブロック１７に入力される各信号は、ハイレベルがアクティブレベルである。また、ＣＰＵ３からオア回路２７へのクリア信号は、間欠動作制御部１５からの停止報知信号と同様に、極短いパルス幅のワンショットパルス信号である。
【００４２】
このようなタイマブロック１７では、ＣＰＵ３からの動作モード切替信号がハイレベル（＝論理１）の場合に、間欠動作制御部１５からの停止報知信号が、アンド回路２３及びオア回路２７を介してカウンタ２１のリセット端子２１ａに供給されると共に、発振制御部１１からのＲＵＮ信号が、アンド回路２５及びオア回路２９を介してカウンタ２１の動作停止端子２１ｂに供給されるため、当該タイマブロック１７の動作モードが第１の動作モードに設定される。
【００４３】
つまり、この場合には、図３（Ａ）に示すように、ＣＰＵ３の動作が停止して間欠動作制御部１５から上記停止報知信号が出力されると、カウンタ２１のカウント値が０にクリアされて該カウンタ２１のカウント動作が最初から開始され、その後、発振制御部１１からＲＵＮ信号が出力されてＣＰＵ３が動作を再開すると、再びＣＰＵ３の動作が停止して間欠動作制御部１５から停止報知信号が出力されるまで、カウンタ２１のカウント動作が停止してカウント値が保持される、という動作が繰り返されることとなる。
【００４４】
また逆に、ＣＰＵ３からの動作モード切替信号がローレベル（＝論理０）の場合には、間欠動作制御部１５からの停止報知信号がカウンタ２１のリセット端子２１ａに供給されることと、発振制御部１１からのＲＵＮ信号がカウンタ２１の動作停止端子２１ｂに供給されることとが、アンド回路２３，２５によって防止されるため、当該タイマブロック１７の動作モードが第２の動作モードに設定される。
【００４５】
つまり、この場合には、間欠動作制御部１５からの停止報知信号と、発振制御部１１からＲＵＮ信号とに拘わらず、カウンタ２１は、フリーランの状態でアップカウント動作を行うからである。
そして更に、タイマブロック１７では、動作モードが上記２つの動作モードの何れに設定されている場合でも、ＣＰＵ３からクリア信号が出力されると、カウンタ２１のカウント値が０にクリアされ、また、ＣＰＵ３からカウント停止信号が出力されている間は、カウンタ２１のカウント動作が停止して該カウンタ２１のカウント値が保持される。
【００４６】
以上のような本実施形態のマイコン１では、ＣＰＵ３が、間欠動作制御部１５のレジスタ１５ａへ任意の時間をセットすると共に、実行すべき処理がなくて動作を停止しても良いと判断すると、上記動作停止命令を実行して、自己の動作を停止すると共に間欠動作制御部１５へ停止指令を出力する、といった具合にプログラムを設定すれば、図３（Ａ），（Ｂ）の上段に示すようなＣＰＵ３の間欠動作が実現されることとなる。
【００４７】
即ち、ＣＰＵ３が、動作を停止しても良いと判断して、自らの動作を停止すると共に間欠動作制御部１５へ停止指令を出力すると、間欠動作制御部１５が、発振制御部１１に停止指示を出力してメイン発振回路９の動作を停止させると共に、レジスタ１５ａにセットされている設定時間の計時を開始し、その設定時間が経過すると、発振制御部１１に再び動作指示を出力してメイン発振回路９の動作を再開させることとなる。そして、その時点から、前述の発振安定待ち時間が経過すると、発振制御部１１からＣＰＵ３へＲＵＮ信号が出力されて、ＣＰＵ３が停止状態から動作状態へと起床することとなり、以後は、こうした動作が繰り返されることとにより、ＣＰＵ３の間欠動作が実施される。
【００４８】
ここで特に、本実施形態のマイコン１では、サブクロックを受けて動作するタイマブロック１７が設けられており、そのタイマブロック１７は、動作モードがＣＰＵ３によって第１の動作モードに設定されている場合には、図３（Ａ）を用いて説明したように、ＣＰＵ３の実際の間欠時間（即ち、ＣＰＵ３が動作を停止して間欠動作制御部１５が停止報知信号を出力した時点から、発振制御部１１がＣＰＵ３へＲＵＮ信号を出力するまでの時間）を自動的に計測する。
【００４９】
よって、本実施形態のマイコン１によれば、ＣＰＵ３がタイマブロック１７の動作モードを第１の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、たとえ数十時間や数日間といった非常に長い時間でも計測することができると共に、その時間計測機能（延いてはタイマ機能）を、非常に少ない消費電力で実現することができる。
【００５０】
即ち、図３（Ａ）に示すように、ＣＰＵ３は、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間Ｔａに相当するカウント値をタイマブロック１７のカウンタ２１から読み取って、そのカウント値に基づき今回の実際の間欠時間Ｔａを算出し、また、今回起床してからの動作時間（即ち、当該ＣＰＵ３が動作状態となっている時間）Ｔｂを自らソフト処理で計測する。そして更に、ＣＰＵ３は、停止状態から起床して動作する毎に、それまでの間欠回数分の上記間欠時間Ｔａ及び動作時間Ｔｂの累積加算値（Σ（Ｔａ＋Ｔｂ））を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。そして、ＣＰＵ３は、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【００５１】
このようなマイコン１によれば、ＣＰＵ３だけでなく該ＣＰＵ３の動作クロックである高周波数のメインクロックが停止した状態で、時間の計測が遂行されるため、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現することができ、しかも、計測すべき所定時間（タイマ時間）が数十時間や数日間といった具合に非常に長くても、確実に対応することができる。つまり、タイマブロック１７が連続して計測可能な時間は有限であるが、図３（Ａ）に示したように、タイマブロック１７により計測されるＣＰＵ３の１回ずつの間欠時間Ｔａと、ＣＰＵ３自身のソフト処理により計測される該ＣＰＵ３の動作時間Ｔｂとの累積加算値（Σ（Ｔａ＋Ｔｂ））によって、タイマ時間の計測を行うことができるからである。
【００５２】
また、本実施形態のマイコン１によれば、経過したことを判断するタイマ時間をソフトウエアによって自由に設定することができ、汎用性を損なうこともない。
そして更に、本実施形態のマイコン１によれば、図３（Ａ）に示したように、ＣＰＵ３を定期的に動作させながら、継続して長い時間を計測することができるため、時間の計測中に処理を適宜変更することも可能になる。例えば、タイマ時間の計測を開始してから状況が変化して、実施予定の動作が不要になった場合には、そのことを検知して他の処理を実行することができ、また、定期的にＲＡＭ７内のデータ等をチェックして当該マイコン１の動作の安定性を確認することができ、動作の信頼性を向上させることができる。
【００５３】
また、本実施形態のマイコン１において、タイマブロック１７は、ＣＰＵ３からの動作モード切替指令によって、時間を継続して計測する第２の動作モードに設定することができると共に、少なくともその第２の動作モードに設定されている場合には、ＣＰＵ３からの指令によってカウント値のクリアと保持とが行えるようになっている。
【００５４】
このため本実施形態のマイコン１によれば、ＣＰＵ３がタイマブロック１７の動作モードを第２の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、前述の各効果を、ＣＰＵ３の処理負荷を一層軽くしながらも実現することができる。
【００５５】
即ち  ＣＰＵ３は、時間の計測を開始する時までに、タイマブロック１７の動作モードを第２の動作モードに設定しておくと共に、図３（Ｂ）の時刻ｔ１に示すように、時間の計測を開始する時に、タイマブロック１７へクリア信号（クリア指令）を与えて、カウンタ２１のカウント値を０にクリアする。そして、図３（Ｂ）に示すように、ＣＰＵ３は、間欠動作を開始すると共に、停止状態から起床して動作を再開する毎に、タイマブロック１７のカウンタ２１のカウントアップ動作を一時停止させて該カウンタ２１からカウント値を読み取ると共に、その直後にカウンタ２１のカウント値をクリアして、該カウンタ２１のカウント動作を０からリスタートさせる。そして更に、ＣＰＵ３は、停止状態から起床して動作を再開する毎に、上記カウンタ２１から読み取ったカウント値の累積加算値（即ち、図３（Ｂ）におけるＴ１，Ｔ２，…の累積加算値（Σ（Ｔ））に相当する値）を求めて、その累積加算値を、時間の計測を開始した時点からの延べ時間に相当する値として、所定時間が経過したか否かの判定処理に用いる。尚、ＣＰＵ３は、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【００５６】
そして、本実施形態のマイコン１を、このように使用すれば、図３（Ａ）の場合のように、ＣＰＵ３が動作状態となっている時間Ｔｂを自らソフト処理で計測する必要がなくなるため、ＣＰＵ３の処理負荷を低減することができるのである。
【００５７】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、間欠動作制御部１５が計時する時間は、ＣＰＵ３によってセットされる（プログラマブルである）のではなく、固定値であっても良い。但し、その時間を任意に設定できる上記実施形態の構成を採用した方が、汎用性が高く有利である。
【図面の簡単な説明】
【図１】  実施形態のマイコンの構成を表すブロック図である。
【図２】  タイマブロックの構成を説明するブロック図である。
【図３】  実施形態のマイコンの使用方法及び作用を説明する説明図である。
【図４】  従来例１を説明する説明図である。
【図５】  従来例２を説明する説明図である。
【図６】  従来例３を説明する説明図である。
【符号の説明】
１…マイコン（マイクロコンピュータ）    ３…ＣＰＵ    ５…ＲＯＭ
７…ＲＡＭ    ８，１８…発振素子    ９…メイン発振回路
１１…発振制御部    １３…メインクロック発生部    １５…間欠動作制御部
１１ａ，１５ａ…レジスタ    １７…タイマブロック    １９…サブ発振回路
２１…カウンタ    ２１ａ…リセット端子    ２１ｂ…動作停止端子
２３，２５…アンド回路    ２７，２９…オア回路
【図１】
0003829916.tif 000002
【図２】
0003829916.tif 000003
【図３】
0003829916.tif 000004
【図４】
0003829916.tif 000005
【図５】
0003829916.tif 000006
【図６】
0003829916.tif 000007