(57)【特許請求の範囲】
【請求項１】
プログラムに従い動作するＣＰＵと、
該ＣＰＵを動作させるためのメインクロックを生成するメインクロック生成手段と、
を備え、前記ＣＰＵが動作状態と停止状態とを遷移させることが可能であると共に、前記ＣＰＵの動作停止中には前記メインクロック生成手段の動作も停止するマイクロコンピュータであって、
前記メインクロック生成手段とは別に設けられ、前記メインクロックよりも周波数が低いサブクロックを常時生成するサブクロック生成手段と、
前記サブクロックを受けて動作し、前記ＣＰＵからの出力開始指令を受けると、該ＣＰＵからの出力停止指令を受けるまでの間、前記ＣＰＵにより設定された周期及びデューティ比のパルス信号を、前記ＣＰＵが動作を停止していても、当該マイクロコンピュータの特定の出力端子から出力する任意信号出力手段と、
前記サブクロックを受けて動作し、前記ＣＰＵを間欠的に動作させるための制御を行う間欠動作制御手段とを備え、
前記ＣＰＵが、動作を停止する際に前記間欠動作制御手段へ動作要求を出力し、前記間欠動作制御手段が、前記動作要求を受けると、前記メインクロック生成手段の動作を停止させると共に、事前に設定されている設定時間の計時を開始し、その設定時間の経過後に、前記メインクロック生成手段の動作を再開させ、前記ＣＰＵを停止状態から動作状態へと起床させるためのＲＵＮ信号を出力して該ＣＰＵを起床させることにより、前記ＣＰＵの間欠動作が実施されるようになっており、
更に、前記ＲＵＮ信号は、前記間欠動作制御手段が次に前記メインクロック生成手段の動作を停止させるまで継続して出力されるようになっていること、
を特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記間欠動作制御手段は、
前記設定時間が前記ＣＰＵによって設定されるように構成されていること、
を特徴とするマイクロコンピュータ。
【請求項３】
請求項１又は請求項２に記載のマイクロコンピュータにおいて、
前記任意信号出力手段は、
前記ＣＰＵからの出力開始指令を受けて前記パルス信号の出力動作を開始する時の該パルス信号の最初の出力レベルが、前記ＣＰＵによって設定されるように構成されていること、
を特徴とするマイクロコンピュータ。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のマイクロコンピュータにおいて、
前記任意信号出力手段が前記パルス信号を出力させる出力端子は、前記ＣＰＵによって、当該マイクロコンピュータの複数の端子のうちの何れかに設定されること、
を特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータに関し、特にマイクロコンピュータでの消費電力を低減するための技術に関する。
【０００２】
【従来の技術】
一般に、電子制御装置に搭載されるマイクロコンピュータ（以下、マイコンという）においては、周辺回路に供給するクロック信号や制御対象をオン／オフ制御するための制御信号等として、任意の周期及びデューティ比のパルス信号を繰り返し出力するようにプログラムが設定されることが多々ある。
【０００３】
そして、例えば車両に搭載される電子制御装置では、バッテリへの充電が行われないエンジン停止時に、マイコンが上記のパルス信号を繰り返し出力しなければならない場合がある。
このため、マイコンにおいては、より少ない消費電力（消費電流）で任意の周期及びデューティ比のパルス信号を出力可能にしたいという要望がある。
【０００４】
そこで、本発明者は、本発明に至る前に下記の［従来例１］〜［従来例３］の構成及び方法を考えた。
［従来例１］
まず、図５（Ａ）に示す従来例１のマイコン１０１は、プログラムに従い動作するＣＰＵ（即ち、命令解読部や演算部等からなる中央演算装置）１０３及びＩ／Ｏポート１０５に加えて、ＣＰＵ１０３を間欠的に動作させるための制御を行う間欠動作制御部１０７を備えている。
【０００５】
そして、このマイコン１０１においては、ＣＰＵ１０３が、所定の動作停止命令を実行して、自分の動作（即ち、マイコンの本来の動作であるプログラム実行動作）を停止する共に、間欠動作制御部１０７へ動作要求を出すと、間欠動作制御部１０７が、事前にＣＰＵ１０３によってセットされているタイマ時間の計時を開始して、そのタイマ時間が経過すると、ＣＰＵ１０３を停止状態から動作状態へと起床させる。
【０００６】
よって、このマイコン１０１では、ＣＰＵ１０３が、動作しなくても良い状態になったと判断すると、上記動作停止命令を実行して、自分の動作を停止すると共に間欠動作制御部１０７へ動作要求を出力する、といった具合にプログラムを設定すれば、ＣＰＵ１０３は、図５（Ｂ）の上段に示すように、動作を停止してから間欠動作制御部１０７で計時されるタイマ時間（図５（Ｂ）における「間欠動作の間隔」）が経過すると動作を再開し、動作しなくても良い状態であると判断すると再び動作を停止する、といった具合に、動作と非動作（動作停止）とを繰り返す間欠動作を行うこととなる。
【０００７】
そこで、このマイコン１０１において、出力端子（出力ポート）Ｐから、ある周期及びデューティ比のパルス信号を低消費電力で繰り返し出力する際には、図５（Ｂ）に示すように、上記の間欠動作機能を利用して、ＣＰＵ１０３を間欠動作させると共に、ＣＰＵ１０３が、動作を再開する毎に出力端子Ｐの出力レベルを反転させるようにすれば良い。
【０００８】
つまり、図５（Ｂ）に示すように、ＣＰＵ１０３が間欠動作している場合の該ＣＰＵ１０３の一時動作時間をＴａとし、上記タイマ時間によって決まるＣＰＵ１０３の非動作時間（図５（Ｂ）における「間欠動作の間隔」）をＴｂとすると、出力端子Ｐの出力レベルは「Ｔａ＋Ｔｂ」毎に反転することとなるため、ＴｂをソフトウェアによってＴｂ１とＴｂ２とに交互に変えることにより、周期Ｔが「２×Ｔａ＋Ｔｂ１＋Ｔｂ２」で、デューティ比Ｄが「１００×（Ｔａ＋Ｔｂ１）／Ｔ」パーセントのパルス信号が出力端子Ｐから出力されることとなる。
【０００９】
尚、図５（Ｂ）は、出力端子Ｐからのパルス信号の出力開始レベル（最初の出力レベル）がハイレベル（Ｈｉ）であると共に、出力端子Ｐの出力レベルが「Ｔａ＋Ｔｂ１」の期間にハイレベルとなる場合を例示している。
そして、この従来例１のマイコン１０１によれば、マイコンの構成要素の中でも特に消費電力が大きいＣＰＵ１０３を、常時動作させるのではなく、間欠的に動作させることとなるため、その分、マイコンでの消費電力を小さく抑えることができ、延いては、当該マイコン１０１が搭載される電子制御装置での消費電力を抑えることができる。尚、このマイコン１０１において、ＣＰＵ１０３が継続して動作する場合には、ＣＰＵ１０３がプログラムに従って出力端子Ｐの出力レベルを制御する。
【００１０】
［従来例２］
次に、図６（Ａ）は、従来例２のマイコン２０１を表す構成図である。尚、図６（Ａ）において、図５（Ａ）のマイコン１０１と同じものについては、同一の符号を付しているため、詳細な説明は省略する。
【００１１】
図６（Ａ）に示すように、従来例２のマイコン２０１は、従来例１のマイコン１０１に対して、ＣＰＵ１０３の動作停止中に出力端子Ｐの出力レベルを反転させるための出力変更機能部２０３を追加して備えている。
そして、この出力変更機能部２０３は、ＣＰＵ１０３からの計時開始指令を受けると、該ＣＰＵ１０３によって事前にセットされている待ち時間の計時を開始して、その待ち時間が経過した時に出力端子Ｐの出力レベルを反転させる。
【００１２】
そこで、このマイコン２０１において、出力端子Ｐから、ある周期及びデューティ比のパルス信号を低消費電力で繰り返し出力する際には、図６（Ｂ）に示すように、前述の間欠動作機能を利用して、ＣＰＵ１０３を間欠動作させると共に、ＣＰＵ１０３が、動作を再開する毎に、出力端子Ｐの出力レベルを一方のレベル（この例ではハイレベル）にし、更に動作を停止する直前毎に、出力変更機能部２０３へ、当該ＣＰＵ１０３の動作停止中に出力端子Ｐの出力レベルを反転させるための待ち時間Ｔｗのセットと計時開始指令とを行うようにすれば良い。
【００１３】
つまり、このようにすれば、図６（Ｂ）に示すように、ＣＰＵ１０３が間欠動作している場合の該ＣＰＵ１０３の一時動作時間をＴａとし、ＣＰＵ１０３の非動作時間（図６（Ｂ）における「間欠動作の間隔」）をＴｂとすると、周期Ｔが「Ｔａ＋Ｔｂ」で、デューティ比Ｄが「１００×（Ｔａ＋Ｔｗ）／Ｔ」パーセントのパルス信号が出力端子Ｐから出力されることとなる。尚、出力変更機能部２０３への計時開始指令は、ＣＰＵ１０３が動作を再開する時毎に行っても良く、この場合には、出力変更機能部２０３に計時させる待ち時間を、図６（Ｂ）におけるＴｗよりもＴａだけ長い時間に設定すれば良い。
【００１４】
そして、このマイコン２０１によっても、ＣＰＵ１０３を間欠的に動作させることとなるため、消費電力を小さく抑えることができる。尚、このマイコン２０１においても、ＣＰＵ１０３が継続して動作する場合には、ＣＰＵ１０３がプログラムに従って出力端子Ｐの出力レベルを制御する。
【００１５】
［従来例３］
次に、図７（Ａ）は、従来例３のマイコン３０１を表す構成図である。尚、図７（Ａ）において、図５（Ａ）のマイコン１０１と同じものについては、同一の符号を付しているため、詳細な説明は省略する。
【００１６】
図７（Ａ）に示すように、従来例３のマイコン３０１は、従来例１のマイコン１０１と比較すると、間欠動作制御部１０７に代えて、周波数制御部３０３を備えている。そして、周波数制御部３０３は、ＣＰＵ１０３により指示された周波数のクロックを生成して、そのクロックをＣＰＵ１０３の動作クロックとして出力する。つまり、このマイコン３０１は、ＣＰＵ１０３の動作速度を変えることができるものである。
【００１７】
そして、このマイコン３０１において、出力端子Ｐから、ある周期及びデューティ比のパルス信号を低消費電力で繰り返し出力する際には、図７（Ｂ）に示すように、ＣＰＵ１０３が、周波数制御部３０３から出力される動作クロックの周波数を通常動作時の周波数（例えば数十ＭＨｚ）よりも低い周波数（例えば数ＭＨｚ）に設定して、低速で動作することにより消費電力低減状態となり、その状態で出力端子Ｐの出力レベルを制御すれば良い。
【００１８】
【発明が解決しようとする課題】
しかしながら、まず、上記従来例３のマイコン３０１では、ＣＰＵ１０３が常時動作することとなるため、大幅な消費電力の低減は困難である。
また、上記従来例１，２のマイコン１０１，２０１では、ＣＰＵ１０３の動作が停止する時間を設けることができるため、従来例３のマイコン３０１よりも有利であるが、出力端子Ｐから出力するパルス信号の１周期中にＣＰＵ１０３を少なくとも１回は起床させる必要があるため、消費電力を一層低減するのには限度がある。
【００１９】
尚、従来例１のマイコン１０１では、パルス信号の１周期当たりにＣＰＵ１０３を２回起床させる必要があるのに対して、従来例２のマイコン２０１によれば、パルス信号の１周期当たりにＣＰＵ１０３を１回起床させるだけで良いため、有利である。しかし、その従来例２のマイコン２０１でも、パルス信号の１周期毎にＣＰＵ１０３を１回起床させる必要があるため、パルス信号の周期が短い場合には、効果が薄れてくる。
【００２０】
本発明は、こうした問題に鑑みなされたものであり、任意の周期及びデューティ比のパルス信号を、より少ない消費電力で出力可能なマイコンを提供することを目的としている。
【００２１】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１に記載のマイコン（マイクロコンピュータ）は、プログラムに従い動作するＣＰＵと、ＣＰＵを動作させるためのメインクロック（即ち、ＣＰＵの動作クロック）を生成するメインクロック生成手段とを備えている。そして、このマイコンでは、ＣＰＵが動作状態と停止状態とを遷移させることができるようになっている。また、ＣＰＵの動作停止中にはメインクロック生成手段の動作も停止する。
【００２２】
そして更に、このマイコンは、ＣＰＵが動作を停止している際に任意の信号を出力できるようにするための手段として、メインクロック生成手段とは別に設けられ、上記メインクロックよりも周波数が低いサブクロックを常時生成するサブクロック生成手段と、そのサブクロックを受けて動作する任意信号出力手段とを備えている。そして、その任意信号出力手段は、ＣＰＵからの出力開始指令を受けると、該ＣＰＵからの出力停止指令を受けるまでの間、ＣＰＵにより設定された周期及びデューティ比のパルス信号を、ＣＰＵが動作を停止していても、当該マイコンの特定の出力端子から出力する。
【００２３】
よって、このマイコンによれば、ＣＰＵの動作を停止させた状態で、任意の周期及びデューティ比のパルス信号を当該マイコンの出力端子から繰り返し出力することができ、延いては、任意の周期及びデューティ比のパルス信号を、より少ない消費電力で出力することができるようになる。つまり、ＣＰＵが、自らの動作を停止する前に、上記特定の出力端子から出力したいパルス信号の周期及びデューティ比を任意信号出力手段に設定しておくと共に、該任意信号出力手段に出力開始指令を出力すれば、その後は、当該ＣＰＵが動作を停止していても、低速のサブクロックで動作する任意信号出力手段により、ＣＰＵによって設定された周期及びデューティ比のパルス信号が上記特定の出力端子から繰り返し出力されるからである。
【００２４】
また、このマイコンによれば、ＣＰＵが動作している場合でも、任意信号出力手段により所望の周期及びデューティ比のパルス信号を上記特定の出力端子から出力させることができるため、ＣＰＵの動作時における処理負荷を低減することもできる。つまり、ソフトウェアによるパルス信号の出力制御が不要となるからである。
【００２５】
更に、請求項１に記載のマイコンは、上記低速のサブクロックを受けて動作すると共に、ＣＰＵを間欠的に動作させるための制御を行う間欠動作制御手段を備えている。
そして、このマイコンでは、「ＣＰＵが、動作を停止する際に間欠動作制御手段へ動作要求を出力し、間欠動作制御手段が、ＣＰＵからの動作要求を受けると、メインクロック生成手段の動作を停止させると共に、事前に設定されている設定時間の計時を開始し、その設定時間の経過後に、メインクロック生成手段の動作を再開させ、ＣＰＵを停止状態から動作状態へと起床させるためのＲＵＮ信号を出力して該ＣＰＵを起床させる」という動作が行われることにより、図３の上段に示すようなＣＰＵの間欠動作が実施される。更に、ＲＵＮ信号は、間欠動作制御手段が次にメインクロック生成手段の動作を停止させるまで継続して出力されるようになっている。尚、図３において「間欠動作の間隔（間欠時間）」と記している期間は、ＣＰＵが停止状態となっている期間であり、当該マイコンの実質的な動作であるプログラムの実行動作が停止されている期間である。
【００２６】
このような請求項１のマイコンによれば、ＣＰＵの動作停止中には、該ＣＰＵの動作クロックである高周波数のメインクロックを生成するメインクロック生成手段の動作も停止することとなるため、任意の周期及びデューティ比のパルス信号を、より一層少ない消費電力で出力することができる。
【００２７】
ところで、請求項１のマイコンにおいて、間欠動作制御手段が計時する上記設定時間は、固定値であっても良いが、請求項２に記載のように、ＣＰＵによって（換言すればプログラムによって）設定されるように構成すれば、高い汎用性が得られ非常に有利である。
【００２８】
次に、請求項３に記載のマイコンでは、請求項１，２のマイコンにおいて、任意信号出力手段は、ＣＰＵからの出力開始指令を受けてパルス信号の出力動作を開始する時の該パルス信号の最初の出力レベル（即ち、パルス信号の出力開始レベルであり、逆に言えば、パルス信号を出力していない時の出力端子のレベル）が、ＣＰＵによって（換言すればプログラムによって）設定されるように構成されている。
【００２９】
このような請求項３のマイコンによれば、パルス信号の出力開始レベルをハイレベルとローレベルとの何れかに任意に設定できるようになり、汎用性を高めることができる。
また、請求項４に記載のマイコンでは、請求項１〜３のマイコンにおいて、任意信号出力手段がパルス信号を出力させる出力端子は、ＣＰＵによって（換言すればプログラムによって）、当該マイコンの複数の端子のうちの何れかに設定されるようになっている。そして、このマイコンによれば、パルス信号の出力端子を複数の端子の中から任意に選択することができるため、便利である。例えば、当該マイコンが搭載されるプリント配線基板のパターン設計時において、上記パルス信号の配線パターンの経路を容易に変えることができる。
【００３０】
【発明の実施の形態】
以下、本発明が適用された実施形態のシングルチップマイコンについて、図面を用いて説明する。
まず図１は、本実施形態のマイコン１の構成を表すブロック図である。
【００３１】
図１に示すように、本実施形態のマイコン１は、基本的な構成要素として、プログラムに従い動作するＣＰＵ３と、プログラムや固定データが予め格納されるＲＯＭ５と、ＣＰＵ３による演算結果を一時記憶するためのＲＡＭ６と、当該マイコン１の端子を介して外部との信号の入出力を行うためのＩ／Ｏポート７とを備えている。
【００３２】
そして更に、マイコン１は、当該マイコン１の外部に設けられる発振素子８と協同してＣＰＵ３の動作クロックであるメインクロック（本実施形態では数ＭＨｚ〜数十ＭＨｚ）を生成するメイン発振回路９及び該メイン発振回路９を制御する発振制御部１１からなるメインクロック発生部１３と、上記発振制御部１１と協同して、ＣＰＵ３を間欠的に動作（間欠動作）させるための制御を行う間欠動作制御部１５と、ＣＰＵ３からの出力開始指令を受けると、ＣＰＵ３からの出力停止指令を受けるまでの間、ＣＰＵ３により設定された周期及びデューティ比のパルス信号を、ＣＰＵ３の動作状態に拘わらず、上記Ｉ／Ｏポート７を介して当該マイコン１の出力端子から出力する任意信号出力制御部１７と、当該マイコン１の外部に設けられる発振素子１８と協同して上記メインクロックよりも周波数が低いサブクロック（本実施形態では数十ＫＨｚ）を生成するサブ発振回路１９とを備えている。
【００３３】
そして、本実施形態のマイコン１において、上記発振制御部１１と、間欠動作制御部１５と、任意信号出力制御部１７との各々は、サブ発振回路１９で常時生成されるサブクロックを受けて動作する。
尚、本実施形態では、メイン発振回路９が、メインクロック生成手段に相当し、発振制御部１１と間欠動作制御部１５とが、間欠動作制御手段に相当し、任意信号出力制御部１７が、任意信号出力手段に相当している。また、サブ発振回路１９が、サブクロック生成手段に相当している。
【００３４】
ここで、ＣＰＵ３は、前述した従来例１のＣＰＵ１０３と同様に、特定の動作停止命令を実行することによって自己の動作を停止することができるようになっている。そして、ＣＰＵ３は、自ら動作を停止する時に（つまり、上記動作停止命令の実行時に）、間欠動作制御部１５へ動作要求を出力するようになっている。また、ＣＰＵ３は、所定の命令を実行することによって、上記任意信号出力制御部１７へ出力開始指令と出力停止指令との各々を出力するようになっている。
【００３５】
一方、間欠動作制御部１５は、計時すべきタイマ時間（設定時間に相当）がＣＰＵ３によってセットされる（書き込まれる）レジスタ１５ａを備えている。
そして、間欠動作制御部１５は、通常時には、メインクロック発生部１３の発振制御部１１に動作指示を与えて、該発振制御部１１にメイン発振回路９を動作させているが、ＣＰＵ３からの上記動作要求を受けると（即ち、ＣＰＵ３が動作を停止すると）、発振制御部１１に停止指示を出力して、該発振制御部１１にメイン発振回路９の動作を停止させると共に、ＣＰＵ３により事前に上記レジスタ１５ａへセットされているタイマ時間の計時を開始し、そのタイマ時間が経過すると、発振制御部１１に再び動作指示を出力して、該発振制御部１１にメイン発振回路９の動作を再開させる。
【００３６】
また、メインクロック発生部１３の発振制御部１１は、上記間欠動作制御部１５からの動作指示と停止指示とに応じて、メイン発振回路９の動作と非動作とを切り替えるが、特に、間欠動作制御部１５からの動作指示を受けてメイン発振回路９の動作を開始させた際には、その時点からメインクロックの周波数が安定すると見なされる所定の発振安定待ち時間が経過した時に、ＣＰＵ３へ、該ＣＰＵ３を停止状態から動作状態へと起床させるためのＲＵＮ信号を出力する。
【００３７】
尚、上記発振安定待ち時間は、メインクロックの周波数が確実に安定してからＣＰＵ３を起床させるために設けられており、サブクロックの数に基づいて計時される。そして、発振制御部１１は、上記発振安定待ち時間がＣＰＵ３によってセットされる（書き込まれる）レジスタ１１ａを備えている。また、本実施形態において、発振制御部１１は、上記ＲＵＮ信号を、間欠動作制御部１５から次に停止指示を受けるまで（つまり、ＣＰＵ３の動作が停止してメイン発振回路９の動作を次に停止させる時まで）継続して出力するようになっている。
【００３８】
このような発振制御部１１及び間欠動作制御部１５を備えたマイコン１では、ＣＰＵ３が、間欠動作制御部１５のレジスタ１５ａへ事前にタイマ時間をセットしておくと共に、実行すべき処理がなくて動作を停止しても良いと判断すると、上記動作停止命令を実行して、自己の動作を停止すると共に間欠動作制御部１５へ動作要求を出力する、といった具合にプログラムを設定すれば、図３及び図４の上段に示すようなＣＰＵ３の間欠動作（動作と非動作とを繰り返す動作）が実現されることとなる。
【００３９】
即ち、ＣＰＵ３が、動作を停止しても良いと判断して、自らの動作を停止すると共に間欠動作制御部１５へ動作要求を出力すると、間欠動作制御部１５が、発振制御部１１に停止指示を出力してメイン発振回路９の動作を停止させると共に、レジスタ１５ａにセットされているタイマ時間（設定時間）の計時を開始し、そのタイマ時間が経過すると、発振制御部１１に再び動作指示を出力してメイン発振回路９の動作を再開させることとなる。そして、その時点から、前述の発振安定待ち時間が経過すると、発振制御部１１からＣＰＵ３へＲＵＮ信号が出力されて、ＣＰＵ３が停止状態から動作状態へと起床することとなり、以後は、こうした動作が繰り返されることとにより、ＣＰＵ３の間欠動作が実施される。
【００４０】
次に、任意信号出力制御部１７について説明する。
図２に示すように、任意信号出力制御部１７は、出力すべきパルス信号の周期がＣＰＵ３によって書き込まれる記憶部１７ａと、出力すべきパルス信号のデューティ比がＣＰＵ３によって書き込まれる記憶部１７ｂと、パルス信号の出力開始レベルがＣＰＵ３によって書き込まれる記憶部１７ｃと、マイコン１の複数の出力端子Ｐ１〜Ｐｎの内でパルス信号を出力すべき出力端子（以下、パルス信号出力対象端子という）を示す出力端子情報が、ＣＰＵ３によって書き込まれる記憶部１７ｄとを備えている。
【００４１】
そして、図４の下段に示すように、任意信号出力制御部１７は、ＣＰＵ３からの出力開始指令を受けるまでは、記憶部１７ｄに書き込まれている出力端子情報に該当するパルス信号出力対象端子（ここでは、Ｐ１〜Ｐｎの内のＰ１であるものとする）の出力レベルを、記憶部１７ｃに書き込まれている出力開始レベルとは反対のレベル（ここでは、ローレベルであるものとする）にし、ＣＰＵ３からの出力開始指令を受けると、パルス信号出力対象端子Ｐ１からのパルス信号の出力を開始する。
【００４２】
ここで、この例では、記憶部１７ｃに書き込まれている出力開始レベルがハイレベルであるため、任意信号出力制御部１７は、ＣＰＵ３からの出力開始指令を受けると、パルス信号出力対象端子Ｐ１のレベルをローレベルからハイレベルにし、以後は、ＣＰＵ３からの出力停止指令を受けるまでの間、パルス信号出力対象端子Ｐ１から、記憶部１７ａ，１７ｂの各々に書き込まれている周期及びデューティ比のパルス信号を繰り返し出力する。そして、任意信号出力制御部１７は、ＣＰＵ３からの出力停止指令を受けると、パルス信号出力対象端子Ｐ１のレベルを保持する。また、任意信号出力制御部１７は、出力停止指令を受けた場合に、パルス信号出力対象端子Ｐ１のレベルを、ＣＰＵ３から指定されたレベルで止めることもできる。
【００４３】
尚、パルス信号の１周期中におけるハイレベル時間Ｔｈは、記憶部１７ａに書き込まれている周期をＴとし、記憶部１７ｂに書き込まれているデューティ比をＤ［％］とすると、「Ｔ×Ｄ／１００」となる。
以上のような本実施形態のマイコン１によれば、図４に例示するように、ＣＰＵ３の動作を停止させた状態で、任意の周期及びデューティ比のパルス信号をパルス信号出力対象端子から繰り返し出力することができ、延いては、任意の周期及びデューティ比のパルス信号を、より少ない消費電力で出力することができる。
【００４４】
具体的には、図４のように、ＣＰＵ３が、間欠動作制御部１５に動作要求を出力して自らの動作を停止する前に、パルス信号出力対象端子Ｐ１から出力したいパルス信号の周期Ｔとデューティ比Ｄと出力開始レベルとを任意信号出力制御部１７の記憶部１７ａ〜１７ｃに書き込んでおくと共に、その任意信号出力制御部１７に出力開始指令を出力すれば（即ち、出力開始指令用の命令を実行すれば）、その後は、ＣＰＵ３が動作を停止していても、任意信号出力制御部１７により、ＣＰＵ３によって設定された周期Ｔ及びデューティ比Ｄのパルス信号がパルス信号出力対象端子Ｐ１から繰り返し出力されるからである。尚、パルス信号の出力を停止したい場合には、ＣＰＵ３が動作している際に、出力停止指令用の命令を実行して、任意信号出力制御部１７へ出力停止指令を出力すれば良い。
【００４５】
そして、このような本実施形態のマイコン１によれば、例えば、周辺回路へのクロック信号や、制御対象をオン／オフ制御するための制御信号等を、非常に少ない消費電力で出力することができるようになる。
しかも、本実施形態のマイコン１によれば、ＣＰＵ３の動作停止中には、ＣＰＵ３の動作クロックであるメインクロックも停止することとなるため、任意の周期及びデューティ比のパルス信号を、より一層少ない消費電力で出力することができる。
【００４６】
また、このマイコン１によれば、ＣＰＵ３が動作している場合でも、任意信号出力制御部１７により所望の周期及びデューティ比のパルス信号をパルス信号出力対象端子から出力させることができるため、ＣＰＵ３の動作時における処理負荷を低減することもできる。ソフトウェアによるパルス信号の出力制御が不要となるからである。
【００４７】
そして更に、本実施形態のマイコン１によれば、プログラムにより、パルス信号の出力開始レベルをハイレベルとローレベルとの何れかに任意に設定でき、また、パルス信号出力対象端子も複数の端子の中から任意に選択することができるため、非常に高い汎用性が得られる。
【００４８】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、間欠動作制御部１５が計時するタイマ時間は、ＣＰＵ３によってセットされる（プログラマブルである）のではなく、固定値であっても良い。但し、そのタイマ時間を任意に設定できる上記実施形態の構成を採用した方が、汎用性が高く有利である。
【図面の簡単な説明】
【図１】  実施形態のマイコンの構成を表すブロック図である。
【図２】  実施形態のマイコン内の任意信号出力制御部を説明するブロック図である。
【図３】  実施形態のマイコンにおけるＣＰＵの間欠動作を表すタイムチャートである。
【図４】  実施形態のマイコンの作用を表すタイムチャートである。
【図５】  従来例１を説明する説明図である。
【図６】  従来例２を説明する説明図である。
【図７】  従来例３を説明する説明図である。
【符号の説明】
１……マイコン（マイクロコンピュータ）    ３…ＣＰＵ    ５…ＲＯＭ
６…ＲＡＭ    ７…Ｉ／Ｏポート    ８，１８…発振素子
９…メイン発振回路    １１…発振制御部    １３…メインクロック発生部
１５…間欠動作制御部    １１ａ，１５ａ…レジスタ
１７…任意信号出力制御部    １９…サブ発振回路    Ｐ１〜Ｐｎ…出力端子
【図１】
0003879523.tif 000002
【図２】
0003879523.tif 000003
【図３】
0003879523.tif 000004
【図４】
0003879523.tif 000005
【図５】
0003879523.tif 000006
【図６】
0003879523.tif 000007
【図７】
0003879523.tif 000008