[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3829916B2 - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP3829916B2
JP3829916B2 JP2000402422A JP2000402422A JP3829916B2 JP 3829916 B2 JP3829916 B2 JP 3829916B2 JP 2000402422 A JP2000402422 A JP 2000402422A JP 2000402422 A JP2000402422 A JP 2000402422A JP 3829916 B2 JP3829916 B2 JP 3829916B2
Authority
JP
Japan
Prior art keywords
cpu
time
intermittent
microcomputer
stop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000402422A
Other languages
Japanese (ja)
Other versions
JP2002202830A (en
Inventor
洋一 藤田
修一 新田
伸一 妹尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2000402422A priority Critical patent/JP3829916B2/en
Priority to US10/022,794 priority patent/US6986070B2/en
Publication of JP2002202830A publication Critical patent/JP2002202830A/en
Application granted granted Critical
Publication of JP3829916B2 publication Critical patent/JP3829916B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロコンピュータに関し、特に、予定の動作を所定時間が経過してから実施する電子制御装置に好適なマイクロコンピュータに関する。
【0002】
【従来の技術】
従来より、電子制御装置においては、例えば、通信相手の装置へ起動信号を送信してから所定時間が経過した後で、その通信相手との通信動作を実施したり、外部のスイッチ等からの信号がアクティブレベルに変化したことを検知してから所定時間が経過した後で、ランプやブザー等の電気負荷を駆動するための動作を実施する、といった具合に、予定の動作を所定時間が経過してから実施するように構成されることがある。尚、以下、このような機能(即ち、予定の動作を所定時間が経過してから実施する、という機能)を「タイマ機能」という。
【0003】
また、例えば車両に搭載される電子制御装置では、バッテリへの充電が行われないエンジン停止時に上記のタイマ機能を実現しなければならない場合がある。このため、より少ない消費電力でタイマ機能を実現する必要がある。
そして、従来の電子制御装置では、上記のタイマ機能を少ない消費電流(消費電力)で実現するために、下記の[従来例1]〜[従来例3]の何れかの方法を採用していた。
【0004】
[従来例1]
まず、図4(a)に示すように、電子制御装置の動作を制御するマイクロコンピュータ(以下、マイコンという)101の外部に、タイマ回路103を設ける。
【0005】
そして、この電子制御装置において、マイコン101は、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図4(b)に示すように、当該マイコン101の内部で動作クロックを発生させている発振回路(図示省略)の動作を停止させて自分の動作を停止すると共に、タイマ回路103へ動作指示を出す。
【0006】
すると、タイマ回路103は、計時を開始して、所定のタイマ時間が経過した時に、マイコン101を停止状態から動作状態へと起床(ウェイクアップ)させるためのウェイクアップ信号を出力する。尚、タイマ回路103は、マイコン101の動作クロックよりも低い周波数のクロックであって、当該タイマ回路専用の発振回路105で発生されるクロックによって動作する。
【0007】
そして、マイコン103は、タイマ回路103からのウェイクアップ信号によって停止状態から動作状態へと起床し、予定の動作に該当する処理を行う。
[従来例2]
次に、図5(a)に示すように、電子制御装置の動作を制御するマイコンとして、プログラムに従い動作するCPU(即ち、命令解読部や演算部等からなる中央演算装置)203とは別に、そのCPU203を停止状態から動作状態へと起床させるタイマブロック205を内蔵したマイコン201を用いる。
【0008】
つまり、このマイコン201において、CPU203は、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図5(b)に示すように、自分の動作を停止して、当該マイコン201の実質的な動作(即ち、プログラムを実行する動作)を停止させると共に、タイマブロック205へ動作指示を出す。
【0009】
すると、タイマブロック205は、計時を開始して、所定のタイマ時間が経過した時に、CPU203へタイムアップ信号を出力する。尚、タイマブロック205は、CPU203と共通の動作クロックであって、当該マイコン201内部の発振回路207で発生される高周波の動作クロックによって動作する。
【0010】
そして、CPU203は、タイマブロック205からのタイムアップ信号によって停止状態から動作状態へと起床し、プログラムの実行を再開して予定の動作に該当する処理を行う。
[従来例3]
次に、図6(a)に示すように、電子制御装置の動作を制御するマイコンとして、動作速度が可変のマイコン301を用いる。
【0011】
つまり、このマイコン301は、CPU303と、そのCPU303の動作クロックの元となる基準クロックを発生させる発振回路307と、その発振回路307で発生される基準クロックから、CPU303により指示される周波数のクロックを生成して、CPU303の動作クロックとして出力する周波数制御回路305とを備えている。
【0012】
そして、このマイコン301において、CPU303は、プログラムを実行している通常動作時には、周波数制御回路305から出力される動作クロックの周波数を通常の高い周波数(例えば数十MHz)に設定して、高速で動作するが、実行すべき処理が無く、動作しなくても良い状態になったと判断すると、図6(b)に示すように、周波数制御回路305から出力される動作クロックの周波数を通常よりも低い周波数(例えば数MHz)に設定して、低速で動作する(即ち、低消費電力状態になる)と共に、その状態で所定のタイマ時間の計時を行う。
【0013】
そして更に、CPU303は、その低速動作状態でタイマ時間が経過したと判断すると、周波数制御回路305から出力される動作クロックの周波数を再び通常の高い周波数に設定して、高速での動作を再開し、予定の動作に該当する処理を行う。
【0014】
【発明が解決しようとする課題】
ところが、まず、上記従来例1では、マイコン101とは別に専用のタイマ回路103が必要となるため、電子制御装置全体での回路規模とコストが増大してしまう。
【0015】
また、上記従来例2では、マイコン201の中枢部であるCPU203は動作を停止するものの、CPU203を動作させるための高周波数のクロックを発生させる発振回路(即ち、CPUの動作クロックを発生する部分)207が常時動作することとなるため、消費電流を大幅に低減することができない。しかも、従来例2では、例えば数十時間や数日間といった極長時間のタイマを構成するのが非常に難しい。これは、専用のタイマブロック205で計時できる時間が有限なためであり、このことは従来例1でも同様である。
【0016】
そして更に、上記従来例3では、発振回路307及び周波数制御回路305だけでなく、CPU303が常時動作することとなるため、消費電流の低減効果が小さい。
本発明は、こうした問題に鑑みなされたものであり、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現するのに好適なマイクロコンピュータを提供することを目的としている。
【0017】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項1に記載のマイコン(マイクロコンピュータ)は、プログラムに従い動作するCPUと、CPUを動作させるためのメインクロック(即ち、CPUの動作クロック)を生成するメインクロック生成手段と、上記メインクロックよりも周波数が低いサブクロックを受けて動作すると共に、CPUを間欠的に動作させるための制御を行う間欠動作制御手段とを備えている。
【0018】
そして、このマイコンでは、「CPUが、動作を停止する際に間欠動作制御手段へ停止指令を出力し、間欠動作制御手段が、CPUからの停止指令を受けると、メインクロック生成手段の動作を停止させると共に、所定の設定時間の計時を開始し、その設定時間の経過後に、メインクロック生成手段の動作を再開させてCPUを停止状態から動作状態へと起床させる」という動作が繰り返されることにより、図3(A),(B)の上段に示すようなCPUの間欠動作が実施される。
【0019】
尚、CPUが停止状態となっている期間中(図3において「間欠時間」と記している期間中)は、当該マイコンの実質的な動作であるプログラムの実行動作が停止されると共に、CPUの動作クロックである高周波数のメインクロックも停止することとなる。また、間欠動作制御手段が計時する上記設定時間は、一般には、CPUによってセットされる(即ち、プログラマブルである)ように構成されるが、固定値であっても良い。
【0020】
ここで特に、請求項1のマイコンは、サブクロックを受けて動作する間欠時間計測手段を備えており、その間欠時間計測手段は、図3(A)の下段に示すように、CPUが停止状態である期間(以下、間欠時間という)を自動的に計測すると共に、その計測値がCPUによって読み取り可能に構成されている。
【0021】
そして更に、このマイコンにおいては、CPUが下記の如く動作するため、たとえ数十時間や数日間といった非常に長い時間でも計測することができると共に、その時間計測機能(延いてはタイマ機能)を、非常に少ない消費電力で実現することができる。
【0022】
即ち、図3(A)に示すように、CPUは、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間Taの値を間欠時間計測手段から読み取り、また、今回起床してからの動作時間(即ち、当該CPUが動作状態となっている時間)Tbを自らソフト処理で計測する。そして更に、CPUは、停止状態から起床して動作する毎に、それまでの間欠回数分の上記Ta及びTbの累積加算値(Σ(Ta+Tb))を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。そして、CPUは、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【0023】
このような請求項1のマイコンによれば、CPUだけでなく該CPUの動作クロックである高周波数のメインクロックが停止した状態で、時間の計測が遂行されるため、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現することができ、しかも、計測すべき所定時間(即ち、タイマ時間)が数十時間や数日間といった具合に非常に長くても、確実に対応することができる。つまり、間欠時間計測手段が連続して計測可能な時間は有限であるが、図3(A)に示したように、間欠時間計測手段により計測されるCPUの1回ずつの間欠時間Taと、CPU自身のソフト処理により計測される該CPUの動作時間Tbとの累積加算値(Σ(Ta+Tb))によって、時間の計測を行うことができるからである。
【0024】
また、請求項1のマイコンによれば、タイマ時間(即ち、経過したことを判断する所定時間)をソフトウエアによって自由に設定することができ、汎用性を損なうこともない。
そして更に、請求項1のマイコンによれば、図3(A)に示したように、CPUを定期的に動作させながら、継続して長い時間を計測することができるため、時間の計測中に処理を適宜変更することも可能になる。
【0025】
例えば、タイマ時間の計測を開始してから状況が変化して、実施予定の動作が不要になった場合には、そのことを検知して他の処理を実行することができるようになる。また、定期的に内部データ等をチェックして当該マイコンの動作の安定性を確認することができ、動作の信頼性を向上させることができる。
【0026】
次に、間欠時間計測手段は、CPUからの動作モード切替指令によって、CPUが停止状態である期間(間欠時間)を計測する第1の動作モードと、時間を継続して計測する第2の動作モードとの何れかの動作モードに設定されると共に、少なくとも、動作モードが第2の動作モードに設定されている場合には、CPUからのクリア指令によって計測値のクリアが行えるように構成されている。
【0027】
このような請求項のマイコンによれば、間欠時間計測手段の動作モードを第1の動作モードに設定すれば、前述したマイコンと同じ使用方法で同じ効果が達成できる。
その上、この請求項のマイコンによれば、CPUが間欠時間計測手段の動作モードを第2の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、前述したマイコンについて述べた効果を、CPUの処理負荷を一層軽くしながらも実現することができる。
【0028】
即ち CPUは、時間の計測を開始する時までに、間欠時間計測手段の動作モードを第2の動作モードに設定しておくと共に、図3(B)の時刻t1に示すように、時間の計測を開始する時に、間欠時間計測手段へクリア指令を与えて、該間欠時間計測手段の計測値をクリアする(0にする)。そして、図3(B)に示すように、CPUは、間欠動作を開始すると共に、停止状態から起床して一時動作する毎に、間欠時間計測手段の計測値Tを読み取って、その直後に間欠時間計測手段の計測値をクリアする(つまり、間欠時間計測手段の計時動作を0からリスタートさせる)。そして更に、CPUは、停止状態から起床して動作する毎に、間欠時間計測手段から読み取った上記計測値T(図3(B)におけるT1,T2,…)の累積加算値(Σ(T))を求めて、その累積加算値を、時間の計測を開始した時点からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。尚、CPUは、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【0029】
そして、請求項のマイコンを、このように使用すれば、前述したマイコンと全く同じ効果を得ることができる上に、図3(A)の場合のように、CPUが動作状態となっている時間Tbを自らソフト処理で計測する必要がなくなるため、CPUの処理負荷を低減することができるのである。
【0030】
【発明の実施の形態】
以下、本発明が適用された実施形態のシングルチップマイコンについて、図面を用いて説明する。
まず図1は、本実施形態のマイコン1の構成を表すブロック図である。
【0031】
図1に示すように、本実施形態のマイコン1は、プログラムに従い動作するCPU3,プログラムや固定データが予め格納されるROM5,及びCPU3による演算結果を一時記憶するためのRAM7からなる基本的な構成に加えて、当該マイコン1の外部に設けられる発振素子8と協同してCPU3の動作クロックであるメインクロック(本実施形態では数MHz〜数十MHz)を生成するメイン発振回路9及び該メイン発振回路9を制御する発振制御部11からなるメインクロック発生部13と、上記発振制御部11と協同して、CPU3を間欠的に動作(間欠動作)させるための制御を行う間欠動作制御部15と、CPU3の間欠時間(即ち、CPU3が間欠動作している際に停止状態である期間)を計測するタイマブロック17と、当該マイコン1の外部に設けられる発振素子18と協同して上記メインクロックよりも周波数が低いサブクロック(本実施形態では数十KHz)を生成するサブ発振回路19とを備えている。
【0032】
そして、本実施形態のマイコン1において、上記発振制御部11と、間欠動作制御部15と、タイマブロック17との各々は、サブ発振回路19で常時生成されるサブクロックを受けて動作する。
尚、本実施形態では、メイン発振回路9が、メインクロック生成手段に相当し、発振制御部11と間欠動作制御部15とが、間欠動作制御手段に相当し、タイマブロック17が、間欠時間計測手段に相当している。
【0033】
ここで、CPU3は、前述した従来例2のCPU203と同様に、特定の動作停止命令を実行することによって自己の動作を停止することができるようになっている。そして、CPU3は、自ら動作を停止する時に(つまり、上記動作停止命令の実行時に)、間欠動作制御部15へ停止指令を出力するようになっている。
【0034】
一方、間欠動作制御部15は、計時すべき時間(所定の設定時間に相当)がCPU3によってセットされる(書き込まれる)レジスタ15aを備えている。
そして、間欠動作制御部15は、通常時には、メインクロック発生部13の発振制御部11に動作指示を与えて、該発振制御部11にメイン発振回路9を動作させているが、CPU3からの上記停止指令を受けると(即ち、CPU3が動作を停止すると)、発振制御部11に停止指示を出力して、該発振制御部11にメイン発振回路9の動作を停止させると共に、上記レジスタ15aにセットされている時間(以下、設定時間という)の計時を開始し、その設定時間が経過すると、発振制御部11に再び動作指示を出力して、該発振制御部11にメイン発振回路9の動作を再開させる。そして更に、間欠動作制御部15は、CPU3から上記停止指令を受けて、発振制御部11へ停止指示を出力した時に、タイマブロック17へ、CPU3の動作が停止したことを示す停止報知信号を出力する。
【0035】
尚、上記設定時間は、サブクロックの数(即ち周期数)に基づいて計時される。また、本実施形態において、上記停止報知信号は、極短いパルス幅のワンショットパルス信号である。
また、メインクロック発生部13の発振制御部11は、上記間欠動作制御部15からの動作指示と停止指示とに応じて、メイン発振回路9の動作と非動作とを切り替えるが、特に、間欠動作制御部15からの動作指示を受けてメイン発振回路9の動作を開始させた際には、その時点からメインクロックの周波数が安定すると見なされる所定の発振安定待ち時間が経過した時に、CPU3へ、該CPU3を停止状態から動作状態へと起床させるためのRUN信号を出力する。
【0036】
尚、上記発振安定待ち時間は、メインクロックの周波数が確実に安定してからCPU3を起床させるために設けられており、サブクロックの数に基づいて計時される。そして、発振制御部11は、上記発振安定待ち時間がCPU3によってセットされる(書き込まれる)レジスタ11aを備えている。また、本実施形態において、発振制御部11は、上記RUN信号を、間欠動作制御部15から次に停止指示を受けるまで(つまり、メイン発振回路9の動作を次に停止させる時まで)継続して出力するようになっている。そして、そのRUN信号は、タイマブロック17にも供給されるようになっている。
【0037】
次に、タイマブロック17は、CPU3の間欠動作と連動して該CPU3の間欠時間を自動的に計測する基本動作モードとしての第1の動作モードと、時間を継続して計測するフリーランの第2の動作モードとの、2つの動作モードを有している。そして、タイマブロック17は、CPU3からの動作モード切替指令によって、動作モードが上記2つの動作モードの内の何れかに設定されると共に、時間の計測値がCPU3によって読み取り可能に構成されている。
【0038】
そして更に、タイマブロック17は、動作モードが第1の動作モードに設定されている場合には、間欠動作制御部15からの上記停止報知信号によって計測値が0にクリアされると共に、発振制御部11から上記RUN信号が出力されている間は、計時動作を停止して計測値を保持するように構成されている。
【0039】
また、タイマブロック17は、CPU3からのクリア指令によって、計測値のクリアが行われると共に、CPU3からのカウント停止指令によって、計時動作の停止及び計測値の保持が行われるように構成されている。
具体的に説明すると、図2に示すように、タイマブロック17は、時間を計測する手段として、サブクロックを受けてアップカウント動作すると共に、そのカウント値(時間の計測値に相当)が、CPU3に読み取られるカウンタ21を備えている。そして、カウンタ21は、リセット端子21aにハイレベルの信号が供給されると、カウント値が0にクリアされ、また、動作停止端子21bにハイレベルの信号が供給されている間、計時動作に相当するカウントアップ動作を停止してカウント値を保持するように構成されている。
【0040】
そして更に、タイマブロック17は、CPU3からの動作モード切替指令に該当する信号(以下、動作モード切替信号という)と間欠動作制御部15からの停止報知信号との論理積信号を出力するアンド回路23と、CPU3からの動作モード切替信号と発振制御部11からのRUN信号との論理積信号を出力するアンド回路25と、アンド回路23の出力とCPU3からのクリア指令に該当する信号(以下、クリア信号という)との論理和信号を、カウンタ21の上記リセット端子21aに供給するオア回路27と、アンド回路25の出力とCPU3からのカウント停止指令に該当する信号(以下、カウント停止信号という)との論理和信号を、カウンタ21の上記動作停止端子21bに供給するオア回路29とを備えている。
【0041】
尚、本実施形態において、タイマブロック17に入力される各信号は、ハイレベルがアクティブレベルである。また、CPU3からオア回路27へのクリア信号は、間欠動作制御部15からの停止報知信号と同様に、極短いパルス幅のワンショットパルス信号である。
【0042】
このようなタイマブロック17では、CPU3からの動作モード切替信号がハイレベル(=論理1)の場合に、間欠動作制御部15からの停止報知信号が、アンド回路23及びオア回路27を介してカウンタ21のリセット端子21aに供給されると共に、発振制御部11からのRUN信号が、アンド回路25及びオア回路29を介してカウンタ21の動作停止端子21bに供給されるため、当該タイマブロック17の動作モードが第1の動作モードに設定される。
【0043】
つまり、この場合には、図3(A)に示すように、CPU3の動作が停止して間欠動作制御部15から上記停止報知信号が出力されると、カウンタ21のカウント値が0にクリアされて該カウンタ21のカウント動作が最初から開始され、その後、発振制御部11からRUN信号が出力されてCPU3が動作を再開すると、再びCPU3の動作が停止して間欠動作制御部15から停止報知信号が出力されるまで、カウンタ21のカウント動作が停止してカウント値が保持される、という動作が繰り返されることとなる。
【0044】
また逆に、CPU3からの動作モード切替信号がローレベル(=論理0)の場合には、間欠動作制御部15からの停止報知信号がカウンタ21のリセット端子21aに供給されることと、発振制御部11からのRUN信号がカウンタ21の動作停止端子21bに供給されることとが、アンド回路23,25によって防止されるため、当該タイマブロック17の動作モードが第2の動作モードに設定される。
【0045】
つまり、この場合には、間欠動作制御部15からの停止報知信号と、発振制御部11からRUN信号とに拘わらず、カウンタ21は、フリーランの状態でアップカウント動作を行うからである。
そして更に、タイマブロック17では、動作モードが上記2つの動作モードの何れに設定されている場合でも、CPU3からクリア信号が出力されると、カウンタ21のカウント値が0にクリアされ、また、CPU3からカウント停止信号が出力されている間は、カウンタ21のカウント動作が停止して該カウンタ21のカウント値が保持される。
【0046】
以上のような本実施形態のマイコン1では、CPU3が、間欠動作制御部15のレジスタ15aへ任意の時間をセットすると共に、実行すべき処理がなくて動作を停止しても良いと判断すると、上記動作停止命令を実行して、自己の動作を停止すると共に間欠動作制御部15へ停止指令を出力する、といった具合にプログラムを設定すれば、図3(A),(B)の上段に示すようなCPU3の間欠動作が実現されることとなる。
【0047】
即ち、CPU3が、動作を停止しても良いと判断して、自らの動作を停止すると共に間欠動作制御部15へ停止指令を出力すると、間欠動作制御部15が、発振制御部11に停止指示を出力してメイン発振回路9の動作を停止させると共に、レジスタ15aにセットされている設定時間の計時を開始し、その設定時間が経過すると、発振制御部11に再び動作指示を出力してメイン発振回路9の動作を再開させることとなる。そして、その時点から、前述の発振安定待ち時間が経過すると、発振制御部11からCPU3へRUN信号が出力されて、CPU3が停止状態から動作状態へと起床することとなり、以後は、こうした動作が繰り返されることとにより、CPU3の間欠動作が実施される。
【0048】
ここで特に、本実施形態のマイコン1では、サブクロックを受けて動作するタイマブロック17が設けられており、そのタイマブロック17は、動作モードがCPU3によって第1の動作モードに設定されている場合には、図3(A)を用いて説明したように、CPU3の実際の間欠時間(即ち、CPU3が動作を停止して間欠動作制御部15が停止報知信号を出力した時点から、発振制御部11がCPU3へRUN信号を出力するまでの時間)を自動的に計測する。
【0049】
よって、本実施形態のマイコン1によれば、CPU3がタイマブロック17の動作モードを第1の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、たとえ数十時間や数日間といった非常に長い時間でも計測することができると共に、その時間計測機能(延いてはタイマ機能)を、非常に少ない消費電力で実現することができる。
【0050】
即ち、図3(A)に示すように、CPU3は、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間Taに相当するカウント値をタイマブロック17のカウンタ21から読み取って、そのカウント値に基づき今回の実際の間欠時間Taを算出し、また、今回起床してからの動作時間(即ち、当該CPU3が動作状態となっている時間)Tbを自らソフト処理で計測する。そして更に、CPU3は、停止状態から起床して動作する毎に、それまでの間欠回数分の上記間欠時間Ta及び動作時間Tbの累積加算値(Σ(Ta+Tb))を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用いる。そして、CPU3は、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【0051】
このようなマイコン1によれば、CPU3だけでなく該CPU3の動作クロックである高周波数のメインクロックが停止した状態で、時間の計測が遂行されるため、予定の動作を所定時間が経過してから実施する、というタイマ機能を、より少ない消費電力で実現することができ、しかも、計測すべき所定時間(タイマ時間)が数十時間や数日間といった具合に非常に長くても、確実に対応することができる。つまり、タイマブロック17が連続して計測可能な時間は有限であるが、図3(A)に示したように、タイマブロック17により計測されるCPU3の1回ずつの間欠時間Taと、CPU3自身のソフト処理により計測される該CPU3の動作時間Tbとの累積加算値(Σ(Ta+Tb))によって、タイマ時間の計測を行うことができるからである。
【0052】
また、本実施形態のマイコン1によれば、経過したことを判断するタイマ時間をソフトウエアによって自由に設定することができ、汎用性を損なうこともない。
そして更に、本実施形態のマイコン1によれば、図3(A)に示したように、CPU3を定期的に動作させながら、継続して長い時間を計測することができるため、時間の計測中に処理を適宜変更することも可能になる。例えば、タイマ時間の計測を開始してから状況が変化して、実施予定の動作が不要になった場合には、そのことを検知して他の処理を実行することができ、また、定期的にRAM7内のデータ等をチェックして当該マイコン1の動作の安定性を確認することができ、動作の信頼性を向上させることができる。
【0053】
また、本実施形態のマイコン1において、タイマブロック17は、CPU3からの動作モード切替指令によって、時間を継続して計測する第2の動作モードに設定することができると共に、少なくともその第2の動作モードに設定されている場合には、CPU3からの指令によってカウント値のクリアと保持とが行えるようになっている。
【0054】
このため本実施形態のマイコン1によれば、CPU3がタイマブロック17の動作モードを第2の動作モードに設定して下記の如く動作するように、プログラムを設定すれば、前述の各効果を、CPU3の処理負荷を一層軽くしながらも実現することができる。
【0055】
即ち CPU3は、時間の計測を開始する時までに、タイマブロック17の動作モードを第2の動作モードに設定しておくと共に、図3(B)の時刻t1に示すように、時間の計測を開始する時に、タイマブロック17へクリア信号(クリア指令)を与えて、カウンタ21のカウント値を0にクリアする。そして、図3(B)に示すように、CPU3は、間欠動作を開始すると共に、停止状態から起床して動作を再開する毎に、タイマブロック17のカウンタ21のカウントアップ動作を一時停止させて該カウンタ21からカウント値を読み取ると共に、その直後にカウンタ21のカウント値をクリアして、該カウンタ21のカウント動作を0からリスタートさせる。そして更に、CPU3は、停止状態から起床して動作を再開する毎に、上記カウンタ21から読み取ったカウント値の累積加算値(即ち、図3(B)におけるT1,T2,…の累積加算値(Σ(T))に相当する値)を求めて、その累積加算値を、時間の計測を開始した時点からの延べ時間に相当する値として、所定時間が経過したか否かの判定処理に用いる。尚、CPU3は、上記判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行う。
【0056】
そして、本実施形態のマイコン1を、このように使用すれば、図3(A)の場合のように、CPU3が動作状態となっている時間Tbを自らソフト処理で計測する必要がなくなるため、CPU3の処理負荷を低減することができるのである。
【0057】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、間欠動作制御部15が計時する時間は、CPU3によってセットされる(プログラマブルである)のではなく、固定値であっても良い。但し、その時間を任意に設定できる上記実施形態の構成を採用した方が、汎用性が高く有利である。
【図面の簡単な説明】
【図1】 実施形態のマイコンの構成を表すブロック図である。
【図2】 タイマブロックの構成を説明するブロック図である。
【図3】 実施形態のマイコンの使用方法及び作用を説明する説明図である。
【図4】 従来例1を説明する説明図である。
【図5】 従来例2を説明する説明図である。
【図6】 従来例3を説明する説明図である。
【符号の説明】
1…マイコン(マイクロコンピュータ) 3…CPU 5…ROM
7…RAM 8,18…発振素子 9…メイン発振回路
11…発振制御部 13…メインクロック発生部 15…間欠動作制御部
11a,15a…レジスタ 17…タイマブロック 19…サブ発振回路
21…カウンタ 21a…リセット端子 21b…動作停止端子
23,25…アンド回路 27,29…オア回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a microcomputer, and more particularly to a microcomputer suitable for an electronic control device that performs a predetermined operation after a predetermined time has elapsed.
[0002]
[Prior art]
Conventionally, in an electronic control device, for example, after a predetermined time has elapsed since the activation signal was transmitted to the communication partner device, a communication operation with the communication partner is performed, or a signal from an external switch or the like When a predetermined time elapses after detecting the change to the active level, an operation for driving an electric load such as a lamp or a buzzer is performed. May be configured to be implemented at a later date. Hereinafter, such a function (that is, a function of performing a scheduled operation after a predetermined time has elapsed) is referred to as a “timer function”.
[0003]
For example, in an electronic control device mounted on a vehicle, the timer function may have to be realized when the engine is stopped without charging the battery. For this reason, it is necessary to realize the timer function with less power consumption.
And in the conventional electronic control apparatus, in order to implement | achieve said timer function with little power consumption (power consumption), the method in any one of the following [Conventional example 1]-[Conventional example 3] was employ | adopted. .
[0004]
[Conventional example 1]
First, as shown in FIG. 4A, a timer circuit 103 is provided outside a microcomputer (hereinafter referred to as a microcomputer) 101 that controls the operation of the electronic control unit.
[0005]
Then, in this electronic control device, when the microcomputer 101 determines that there is no process to be executed and it is not necessary to operate, the microcomputer 101 operates in the microcomputer 101 as shown in FIG. The operation of the oscillation circuit (not shown) that generates the signal is stopped to stop its own operation, and an operation instruction is issued to the timer circuit 103.
[0006]
Then, the timer circuit 103 starts timing, and outputs a wake-up signal for waking up the microcomputer 101 from the stopped state to the operating state when a predetermined timer time elapses. Note that the timer circuit 103 is a clock having a frequency lower than the operation clock of the microcomputer 101 and operates by a clock generated by the oscillation circuit 105 dedicated to the timer circuit.
[0007]
Then, the microcomputer 103 wakes up from the stop state to the operation state by the wakeup signal from the timer circuit 103, and performs processing corresponding to the scheduled operation.
[Conventional example 2]
Next, as shown in FIG. 5 (a), as a microcomputer that controls the operation of the electronic control device, apart from the CPU (that is, a central processing unit comprising an instruction decoding unit, a calculation unit, etc.) 203 that operates according to a program, A microcomputer 201 incorporating a timer block 205 that wakes up the CPU 203 from a stopped state to an operating state is used.
[0008]
That is, in this microcomputer 201, when the CPU 203 determines that there is no process to be executed and it is not necessary to operate, the CPU 203 stops its own operation as shown in FIG. A substantial operation 201 (ie, an operation for executing a program) is stopped, and an operation instruction is issued to the timer block 205.
[0009]
Then, the timer block 205 starts timing and outputs a time-up signal to the CPU 203 when a predetermined timer time has elapsed. Note that the timer block 205 is an operation clock common to the CPU 203 and operates with a high-frequency operation clock generated by the oscillation circuit 207 inside the microcomputer 201.
[0010]
Then, the CPU 203 wakes up from the stop state to the operation state by a time-up signal from the timer block 205, resumes execution of the program, and performs processing corresponding to the scheduled operation.
[Conventional Example 3]
Next, as shown in FIG. 6A, a microcomputer 301 having a variable operation speed is used as a microcomputer for controlling the operation of the electronic control unit.
[0011]
That is, the microcomputer 301 generates a clock having a frequency instructed by the CPU 303 from the CPU 303, the oscillation circuit 307 that generates a reference clock that is the basis of the operation clock of the CPU 303, and the reference clock generated by the oscillation circuit 307. A frequency control circuit 305 that generates and outputs the operation clock of the CPU 303 is provided.
[0012]
In the microcomputer 301, the CPU 303 sets the frequency of the operation clock output from the frequency control circuit 305 to a normal high frequency (for example, several tens of MHz) at a high speed during normal operation while executing a program. If it is determined that there is no process to be executed and it is not necessary to operate, the frequency of the operation clock output from the frequency control circuit 305 is set to be higher than normal, as shown in FIG. It is set to a low frequency (for example, several MHz), operates at a low speed (that is, enters a low power consumption state), and measures a predetermined timer time in this state.
[0013]
Further, when the CPU 303 determines that the timer time has elapsed in the low speed operation state, the CPU 303 sets the frequency of the operation clock output from the frequency control circuit 305 to the normal high frequency again, and resumes the high speed operation. The process corresponding to the scheduled operation is performed.
[0014]
[Problems to be solved by the invention]
However, since the conventional example 1 requires the dedicated timer circuit 103 in addition to the microcomputer 101, the circuit scale and cost of the entire electronic control unit are increased.
[0015]
In the second conventional example, the CPU 203, which is the central part of the microcomputer 201, stops operating, but an oscillation circuit that generates a high-frequency clock for operating the CPU 203 (that is, a portion that generates an operating clock for the CPU). Since 207 always operates, current consumption cannot be significantly reduced. Moreover, in the conventional example 2, it is very difficult to configure an extremely long timer such as several tens of hours or several days. This is because the time that can be measured by the dedicated timer block 205 is limited, and this is the same as in the first conventional example.
[0016]
Further, in the conventional example 3, not only the oscillation circuit 307 and the frequency control circuit 305 but also the CPU 303 always operates, so that the effect of reducing current consumption is small.
The present invention has been made in view of these problems, and provides a microcomputer suitable for realizing a timer function of performing a scheduled operation after a predetermined time has elapsed with less power consumption. It is an object.
[0017]
[Means for Solving the Problems and Effects of the Invention]
The microcomputer according to claim 1, which has been made to achieve the above object, includes a CPU that operates according to a program and a main clock that generates a main clock for operating the CPU (that is, an operation clock of the CPU). A generation unit and an intermittent operation control unit that operates in response to a sub-clock having a frequency lower than that of the main clock and performs control for causing the CPU to operate intermittently are provided.
[0018]
And in this microcomputer, “When the CPU stops the operation, it outputs a stop command to the intermittent operation control means, and when the intermittent operation control means receives the stop command from the CPU, the operation of the main clock generating means is stopped. By repeating the operation of starting timing of a predetermined set time and restarting the operation of the main clock generation means after the set time elapses to wake the CPU from the stop state to the operation state, The intermittent operation of the CPU as shown in the upper part of FIGS. 3 (A) and 3 (B) is performed.
[0019]
Note that during the period in which the CPU is stopped (during the period indicated as “intermittent time” in FIG. 3), the program execution operation, which is the substantial operation of the microcomputer, is stopped and the CPU The high-frequency main clock that is the operation clock is also stopped. Further, the set time that is measured by the intermittent operation control means is generally set by the CPU (that is, programmable), but may be a fixed value.
[0020]
In particular, the microcomputer according to claim 1 is provided with intermittent time measuring means that operates in response to the subclock, and the intermittent time measuring means is in a state where the CPU is stopped as shown in the lower part of FIG. Period (hereinafter, intermittent time) Toi And the measurement value is readable by the CPU.
[0021]
And furthermore, This microcomputer In CPU operates as follows For, Even a very long time such as several tens of hours or several days can be measured, and the time measurement function (and thus the timer function) can be realized with very little power consumption.
[0022]
That is, as shown in FIG. 3 (A), the CPU performs an intermittent operation when measuring the time, and every time it wakes up from the stop state and temporarily operates, the value of the intermittent time Ta until the current wakeup is obtained. It is read from the intermittent time measuring means, and the operating time (that is, the time during which the CPU is in the operating state) Tb after getting up this time is measured by software processing by itself. Further, every time the CPU wakes up from the stop state and operates, the CPU obtains the cumulative addition value (Σ (Ta + Tb)) of the above Ta and Tb for the number of intermittent operations up to that time, and first calculates the cumulative addition value. The total time from the start of the intermittent operation in which the operation is stopped is used for determination processing as to whether or not a predetermined time has elapsed. And When the CPU determines that the predetermined time has elapsed in the determination process, the CPU stops the intermittent operation and performs a process corresponding to the scheduled operation.
[0023]
According to the microcomputer of the first aspect, the time measurement is performed in a state where not only the CPU but also the high-frequency main clock that is the operation clock of the CPU is stopped. The timer function that is implemented after a lapse of time can be realized with less power consumption, and the predetermined time to be measured (that is, the timer time) is very long, such as several tens of hours or several days. Can respond reliably. That is, the time that the intermittent time measuring means can continuously measure is finite, but as shown in FIG. 3A, the CPU intermittent time Ta measured by the intermittent time measuring means, This is because the time can be measured by the cumulative addition value (Σ (Ta + Tb)) with the operation time Tb of the CPU measured by the software processing of the CPU itself.
[0024]
According to the microcomputer of the first aspect, the timer time (that is, the predetermined time for determining that the time has elapsed) can be freely set by software, and versatility is not impaired.
Further, according to the microcomputer of the first aspect, as shown in FIG. 3A, it is possible to continuously measure a long time while operating the CPU periodically. It is also possible to change the processing as appropriate.
[0025]
For example, when the situation changes after the start of the measurement of the timer time and the scheduled operation becomes unnecessary, this can be detected and other processing can be executed. Further, it is possible to check the internal data and the like periodically to confirm the operation stability of the microcomputer, and to improve the operation reliability.
[0026]
next, Intermittent time The measurement means is one of a first operation mode for measuring a period (intermittent time) in which the CPU is in a stopped state and a second operation mode for continuously measuring the time in response to an operation mode switching command from the CPU. And at least when the operation mode is set to the second operation mode, the measurement value can be cleared by a clear command from the CPU.
[0027]
Such claims 1 According to the microcomputer, if the operation mode of the intermittent time measuring means is set to the first operation mode, Microcomputer The same effect can be achieved with the same usage.
Moreover, this claim 1 According to the microcomputer, if the CPU sets the operation mode of the intermittent time measuring means to the second operation mode and sets the program to operate as follows, Mentioned above The effects described for the microcomputer can be realized while further reducing the processing load on the CPU.
[0028]
That is, the CPU sets the operation mode of the intermittent time measurement means to the second operation mode by the time when the time measurement is started, and measures the time as shown at time t1 in FIG. Is started, a clear command is given to the intermittent time measuring means, and the measurement value of the intermittent time measuring means is cleared (set to 0). Then, as shown in FIG. 3 (B), the CPU starts an intermittent operation, reads the measurement value T of the intermittent time measuring means every time it wakes up from the stop state and temporarily operates, and immediately after that, intermittently operates. The measured value of the time measuring means is cleared (that is, the time measuring operation of the intermittent time measuring means is restarted from 0). Further, every time the CPU wakes up from the stop state and operates, the cumulative addition value (Σ (T)) of the measured values T (T1, T2,... In FIG. 3B) read from the intermittent time measuring means. ) And the accumulated addition value is used as a total time from the start of time measurement in the determination process of whether or not a predetermined time has elapsed. If the CPU determines that the predetermined time has elapsed in the determination process, the CPU stops the intermittent operation and performs a process corresponding to the scheduled operation.
[0029]
And claims 1 If the microcomputer is used in this way, Microcomputer In addition to the same effect as in the case of FIG. 3A, it is not necessary to measure the time Tb during which the CPU is in an operating state by software processing. It can be reduced.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a single chip microcomputer according to an embodiment to which the present invention is applied will be described with reference to the drawings.
First, FIG. 1 is a block diagram showing the configuration of the microcomputer 1 of the present embodiment.
[0031]
As shown in FIG. 1, the microcomputer 1 of this embodiment has a basic configuration including a CPU 3 that operates according to a program, a ROM 5 that stores programs and fixed data in advance, and a RAM 7 that temporarily stores calculation results by the CPU 3. In addition to the main oscillation circuit 9 that generates a main clock (several MHz to several tens of MHz in the present embodiment) that is an operation clock of the CPU 3 in cooperation with the oscillation element 8 provided outside the microcomputer 1, and the main oscillation A main clock generator 13 comprising an oscillation controller 11 for controlling the circuit 9; an intermittent operation controller 15 for controlling the CPU 3 to operate intermittently (intermittent operation) in cooperation with the oscillation controller 11; A timer block 17 for measuring an intermittent time of the CPU 3 (that is, a period during which the CPU 3 is in a stopped state when intermittently operating); In cooperation with the oscillator 18 provided outside of the microcomputer 1 and a sub-oscillation circuit 19 for generating a sub-clock (several tens KHz in this embodiment) lower frequency than the main clock.
[0032]
In the microcomputer 1 of the present embodiment, each of the oscillation control unit 11, the intermittent operation control unit 15, and the timer block 17 operates by receiving a subclock that is constantly generated by the sub oscillation circuit 19.
In the present embodiment, the main oscillation circuit 9 corresponds to main clock generation means, the oscillation control section 11 and the intermittent operation control section 15 correspond to intermittent operation control means, and the timer block 17 measures intermittent time. It corresponds to the means.
[0033]
Here, the CPU 3 can stop its own operation by executing a specific operation stop command in the same manner as the CPU 203 of the conventional example 2 described above. The CPU 3 is configured to output a stop command to the intermittent operation control unit 15 when the operation is stopped by itself (that is, when the operation stop command is executed).
[0034]
On the other hand, the intermittent operation control unit 15 includes a register 15a in which a time to be measured (corresponding to a predetermined set time) is set (written) by the CPU 3.
The intermittent operation control unit 15 normally gives an operation instruction to the oscillation control unit 11 of the main clock generation unit 13 to cause the oscillation control unit 11 to operate the main oscillation circuit 9. When a stop command is received (that is, when the CPU 3 stops its operation), a stop instruction is output to the oscillation control unit 11, causing the oscillation control unit 11 to stop the operation of the main oscillation circuit 9 and setting the register 15a. When the set time elapses, the operation instruction is output again to the oscillation control unit 11, and the operation of the main oscillation circuit 9 is performed on the oscillation control unit 11. Let it resume. Further, when the intermittent operation control unit 15 receives the stop command from the CPU 3 and outputs a stop instruction to the oscillation control unit 11, the intermittent operation control unit 15 outputs a stop notification signal indicating that the operation of the CPU 3 has stopped to the timer block 17. To do.
[0035]
The set time is counted based on the number of subclocks (that is, the number of periods). In the present embodiment, the stop notification signal is a one-shot pulse signal having an extremely short pulse width.
The oscillation control unit 11 of the main clock generation unit 13 switches between operation and non-operation of the main oscillation circuit 9 according to the operation instruction and stop instruction from the intermittent operation control unit 15. When the operation of the main oscillation circuit 9 is started in response to an operation instruction from the control unit 15, when a predetermined oscillation stabilization wait time that is considered that the frequency of the main clock is stabilized from that time point, A RUN signal for raising the CPU 3 from the stopped state to the operating state is output.
[0036]
The oscillation stabilization wait time is provided to wake up the CPU 3 after the main clock frequency is reliably stabilized, and is counted based on the number of sub-clocks. The oscillation control unit 11 includes a register 11a in which the oscillation stabilization waiting time is set (written) by the CPU 3. In this embodiment, the oscillation control unit 11 continues the RUN signal until a next stop instruction is received from the intermittent operation control unit 15 (that is, until the operation of the main oscillation circuit 9 is next stopped). Output. The RUN signal is also supplied to the timer block 17.
[0037]
Next, the timer block 17 includes a first operation mode as a basic operation mode in which the intermittent time of the CPU 3 is automatically measured in conjunction with the intermittent operation of the CPU 3, and a free run first in which the time is continuously measured. There are two operation modes, two operation modes. The timer block 17 is configured such that the operation mode is set to one of the two operation modes in accordance with an operation mode switching command from the CPU 3, and the time measurement value can be read by the CPU 3.
[0038]
In addition, when the operation mode is set to the first operation mode, the timer block 17 clears the measured value to 0 by the stop notification signal from the intermittent operation control unit 15 and the oscillation control unit. While the RUN signal is output from 11, the time measuring operation is stopped and the measured value is held.
[0039]
The timer block 17 is configured to clear the measurement value by a clear command from the CPU 3 and to stop the timing operation and hold the measurement value by a count stop command from the CPU 3.
Specifically, as shown in FIG. 2, the timer block 17 performs an up-counting operation in response to the subclock as means for measuring time, and the count value (corresponding to the time measurement value) is the CPU 3. A counter 21 is provided. The counter 21 is cleared to 0 when a high level signal is supplied to the reset terminal 21a, and corresponds to a time measuring operation while the high level signal is supplied to the operation stop terminal 21b. The count-up operation is stopped and the count value is held.
[0040]
Furthermore, the timer block 17 outputs an AND circuit 23 that outputs a logical product signal of a signal corresponding to an operation mode switching command from the CPU 3 (hereinafter referred to as an operation mode switching signal) and a stop notification signal from the intermittent operation control unit 15. And an AND circuit 25 that outputs a logical product signal of the operation mode switching signal from the CPU 3 and the RUN signal from the oscillation control unit 11, an output from the AND circuit 23, and a signal corresponding to a clear command from the CPU 3 (hereinafter, clear) An OR circuit 27 for supplying a logical sum signal to the reset terminal 21a of the counter 21, a signal corresponding to a count stop command from the CPU 3 and a count stop command from the CPU 3 (hereinafter referred to as a count stop signal) OR circuit 29 for supplying the logical sum signal to the operation stop terminal 21b of the counter 21.
[0041]
In the present embodiment, the high level of each signal input to the timer block 17 is the active level. The clear signal from the CPU 3 to the OR circuit 27 is a one-shot pulse signal having an extremely short pulse width, similar to the stop notification signal from the intermittent operation control unit 15.
[0042]
In such a timer block 17, when the operation mode switching signal from the CPU 3 is at a high level (= logic 1), the stop notification signal from the intermittent operation control unit 15 is countered via the AND circuit 23 and the OR circuit 27. Since the RUN signal from the oscillation control unit 11 is supplied to the operation stop terminal 21b of the counter 21 through the AND circuit 25 and the OR circuit 29, the operation of the timer block 17 is performed. The mode is set to the first operation mode.
[0043]
That is, in this case, as shown in FIG. 3A, when the operation of the CPU 3 stops and the stop notification signal is output from the intermittent operation control unit 15, the count value of the counter 21 is cleared to zero. When the count operation of the counter 21 is started from the beginning, and then the RUN signal is output from the oscillation control unit 11 and the CPU 3 resumes the operation, the operation of the CPU 3 is stopped again, and the stop notification signal is sent from the intermittent operation control unit 15. Until the count value is output, the count operation of the counter 21 is stopped and the count value is held.
[0044]
Conversely, when the operation mode switching signal from the CPU 3 is at a low level (= logic 0), the stop notification signal from the intermittent operation control unit 15 is supplied to the reset terminal 21a of the counter 21, and the oscillation control is performed. Since the AND circuit 23, 25 prevents the RUN signal from the unit 11 from being supplied to the operation stop terminal 21b of the counter 21, the operation mode of the timer block 17 is set to the second operation mode. .
[0045]
That is, in this case, the counter 21 performs the up-count operation in a free-run state regardless of the stop notification signal from the intermittent operation control unit 15 and the RUN signal from the oscillation control unit 11.
Furthermore, in the timer block 17, when the clear signal is output from the CPU 3 regardless of which of the two operation modes is set, the count value of the counter 21 is cleared to 0, and the CPU 3 While the count stop signal is output from, the count operation of the counter 21 is stopped and the count value of the counter 21 is held.
[0046]
In the microcomputer 1 of the present embodiment as described above, the CPU 3 sets an arbitrary time in the register 15a of the intermittent operation control unit 15 and determines that there is no processing to be executed and the operation may be stopped. If the program is set such that the operation stop command is executed to stop its own operation and a stop command is output to the intermittent operation control unit 15, it is shown in the upper part of FIGS. Such intermittent operation of the CPU 3 is realized.
[0047]
That is, when the CPU 3 determines that the operation may be stopped and stops its own operation and outputs a stop command to the intermittent operation control unit 15, the intermittent operation control unit 15 instructs the oscillation control unit 11 to stop. Is output to stop the operation of the main oscillation circuit 9 and starts measuring the set time set in the register 15a. When the set time elapses, an operation instruction is output again to the oscillation control unit 11 to The operation of the oscillation circuit 9 is resumed. Then, when the above-described oscillation stabilization wait time elapses from that point, the RUN signal is output from the oscillation control unit 11 to the CPU 3 and the CPU 3 wakes up from the stop state to the operation state. By being repeated, the intermittent operation of the CPU 3 is performed.
[0048]
Here, in particular, in the microcomputer 1 of the present embodiment, the timer block 17 that operates in response to the subclock is provided, and the timer block 17 has the operation mode set to the first operation mode by the CPU 3. As described with reference to FIG. 3A, the oscillation control unit starts from the actual intermittent time of the CPU 3 (that is, from the time when the CPU 3 stops operating and the intermittent operation control unit 15 outputs a stop notification signal). 11 automatically measures the time until the RUN signal is output to the CPU 3.
[0049]
Therefore, according to the microcomputer 1 of the present embodiment, if the CPU 3 sets the operation mode of the timer block 17 to the first operation mode and sets the program so as to operate as follows, even if the program is set, several tens of hours or several The measurement can be performed even for a very long time such as a day, and the time measurement function (and thus the timer function) can be realized with very little power consumption.
[0050]
That is, as shown in FIG. 3A, the CPU 3 operates intermittently when measuring time, and corresponds to an intermittent time Ta until it wakes up this time every time it wakes up from a stopped state and temporarily operates. The count value is read from the counter 21 of the timer block 17 and the actual intermittent time Ta of this time is calculated based on the count value, and the operation time after the current wakeup (that is, the CPU 3 is in the operation state). Time) Tb is measured by software processing by itself. Further, every time the CPU 3 wakes up from the stop state and operates, the CPU 3 obtains the cumulative addition value (Σ (Ta + Tb)) of the intermittent time Ta and the operation time Tb corresponding to the number of intermittent times until then, and the cumulative addition value Is used for the determination process as to whether or not a predetermined time has elapsed as the total time from the start of the intermittent operation in which the operation is first stopped. If the CPU 3 determines that the predetermined time has elapsed in the determination process, the CPU 3 stops the intermittent operation and performs a process corresponding to the scheduled operation.
[0051]
According to such a microcomputer 1, not only the CPU 3 but also the high-frequency main clock that is the operation clock of the CPU 3 is stopped, so that time measurement is performed. It is possible to realize the timer function of starting with less power consumption, and even if the predetermined time to be measured (timer time) is very long, such as several tens of hours or several days, it can be handled reliably. can do. That is, the time that the timer block 17 can continuously measure is finite, but as shown in FIG. 3A, the CPU 3 itself has an intermittent time Ta measured by the timer block 17 and the CPU 3 itself. This is because the timer time can be measured by the cumulative addition value (Σ (Ta + Tb)) with the operation time Tb of the CPU 3 measured by the soft processing.
[0052]
Further, according to the microcomputer 1 of the present embodiment, the timer time for determining that the time has elapsed can be freely set by software, and versatility is not impaired.
Furthermore, according to the microcomputer 1 of the present embodiment, as shown in FIG. 3A, since the CPU 3 can be operated continuously while measuring a long time, the time is being measured. It is also possible to appropriately change the processing. For example, if the situation changes after the start of timer time measurement and the scheduled operation becomes unnecessary, it can be detected and other processing can be executed, In addition, the stability of the operation of the microcomputer 1 can be confirmed by checking the data in the RAM 7 and the like, and the operation reliability can be improved.
[0053]
In the microcomputer 1 of the present embodiment, the timer block 17 can be set to the second operation mode in which time is continuously measured by an operation mode switching command from the CPU 3, and at least the second operation thereof. When the mode is set, the count value can be cleared and held by a command from the CPU 3.
[0054]
For this reason, according to the microcomputer 1 of the present embodiment, if the CPU 3 sets the operation mode of the timer block 17 to the second operation mode and sets the program so as to operate as follows, the above-described effects are obtained. This can be realized while further reducing the processing load on the CPU 3.
[0055]
That is, the CPU 3 sets the operation mode of the timer block 17 to the second operation mode by the time when the time measurement is started, and measures the time as shown at time t1 in FIG. At the start, a clear signal (clear command) is given to the timer block 17 to clear the count value of the counter 21 to zero. Then, as shown in FIG. 3B, the CPU 3 starts an intermittent operation and pauses the count-up operation of the counter 21 of the timer block 17 every time it wakes up from the stopped state and restarts the operation. The count value is read from the counter 21, and immediately after that, the count value of the counter 21 is cleared, and the count operation of the counter 21 is restarted from zero. Further, every time the CPU 3 wakes up from the stop state and restarts the operation, the cumulative addition value of the count values read from the counter 21 (that is, the cumulative addition values of T1, T2,... In FIG. 3B ( Value corresponding to Σ (T)) is obtained, and the accumulated addition value is used as a value corresponding to the total time from the start of time measurement, and used in the determination process of whether or not a predetermined time has elapsed. . If the CPU 3 determines that the predetermined time has elapsed in the determination process, the CPU 3 stops the intermittent operation and performs a process corresponding to the scheduled operation.
[0056]
If the microcomputer 1 of this embodiment is used in this way, it is not necessary to measure the time Tb during which the CPU 3 is in an operating state by software processing as in the case of FIG. The processing load on the CPU 3 can be reduced.
[0057]
As mentioned above, although one Embodiment of this invention was described, it cannot be overemphasized that this invention can take a various form.
For example, the time measured by the intermittent operation control unit 15 is not set (programmable) by the CPU 3 but may be a fixed value. However, it is more versatile and advantageous to employ the configuration of the above embodiment in which the time can be arbitrarily set.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a microcomputer according to an embodiment.
FIG. 2 is a block diagram illustrating a configuration of a timer block.
FIG. 3 is an explanatory diagram for explaining a method of using the microcomputer and its operation according to the embodiment.
FIG. 4 is an explanatory diagram for explaining a conventional example 1;
FIG. 5 is an explanatory diagram for explaining a second conventional example.
FIG. 6 is an explanatory diagram for explaining a conventional example 3;
[Explanation of symbols]
1 ... microcomputer (microcomputer) 3 ... CPU 5 ... ROM
7 ... RAM 8, 18 ... Oscillating element 9 ... Main oscillation circuit
DESCRIPTION OF SYMBOLS 11 ... Oscillation control part 13 ... Main clock generation part 15 ... Intermittent operation control part
11a, 15a ... Register 17 ... Timer block 19 ... Sub oscillation circuit
21 ... Counter 21a ... Reset terminal 21b ... Operation stop terminal
23, 25 ... AND circuit 27, 29 ... OR circuit

Claims (1)

プログラムに従い動作するCPUと、
該CPUを動作させるためのメインクロックを生成するメインクロック生成手段と
前記メインクロックよりも周波数が低いサブクロックを受けて動作すると共に、前記CPUを間欠的に動作させるための制御を行う間欠動作制御手段と、
を備え、前記CPUが、動作を停止する際に前記間欠動作制御手段へ停止指令を出力し、前記間欠動作制御手段が、前記停止指令を受けると、前記メインクロック生成手段の動作を停止させると共に、所定の設定時間の計時を開始し、その設定時間の経過後に、前記メインクロック生成手段の動作を再開させて前記CPUを停止状態から動作状態へと起床させることにより、前記CPUの間欠動作が実施されるマイクロコンピュータであって、
前記サブクロックを受けて動作して、前記CPUが停止状態である期間(以下、間欠時間という)を計測すると共に、その計測値が前記CPUによって読み取り可能な間欠時間計測手段を備えており、
前記CPUは、時間を計測する際に、間欠動作すると共に、停止状態から起床して一時動作する毎に、今回起床するまでの間欠時間の値を前記間欠時間計測手段から読み取り、また、今回起床してからの動作時間を自らソフト処理で計測し、更に、停止状態から起床して動作する毎に、それまでの間欠回数分の前記間欠時間及び前記動作時間の累積加算値を求めて、その累積加算値を、最初に動作を停止した間欠動作開始時からの延べ時間として、所定時間が経過したか否かの判定処理に用い、この判定処理で所定時間が経過したと判断したならば、間欠動作を止めて、予定の動作に該当する処理を行い、
前記間欠時間計測手段は、
前記CPUからの動作モード切替指令によって、前記間欠時間を計測する第1の動作モードと、時間を継続して計測する第2の動作モードとの何れかの動作モードに設定されると共に、少なくとも、動作モードが前記第2の動作モードに設定されている場合には、前記CPUからのクリア指令によって計測値のクリアが行えるように構成されていること、
を特徴とするマイクロコンピュータ。
A CPU that operates according to a program;
Main clock generating means for generating a main clock for operating the CPU, and an intermittent operation control for receiving a sub clock having a frequency lower than that of the main clock to operate and controlling the CPU to operate intermittently Means,
The CPU outputs a stop command to the intermittent operation control means when stopping the operation, and when the intermittent operation control means receives the stop command, the CPU stops the operation of the main clock generation means. Then, the timing of a predetermined set time is started, and after the set time elapses, the operation of the main clock generation means is restarted to wake up the CPU from the stopped state to the operating state, whereby the intermittent operation of the CPU is performed. A microcomputer implemented;
It operates in response to the subclock, measures a period during which the CPU is in a stopped state (hereinafter referred to as intermittent time), and includes an intermittent time measuring means whose measured value can be read by the CPU,
When measuring the time, the CPU intermittently operates and reads the value of the intermittent time until the current wake-up from the intermittent time measurement means every time it wakes up from the stop state and temporarily operates. Measure the operation time after that by software processing, and every time you get up from the stop state and operate, find the intermittent time for the number of times until then and the cumulative addition value of the operation time, The cumulative added value is used as a total time from the start of the intermittent operation in which the operation is stopped first, and is used in the determination process of whether or not the predetermined time has elapsed. to stop the intermittent operation, we have line the processing corresponding to the operation of the schedule,
The intermittent time measuring means includes
According to an operation mode switching command from the CPU, the operation mode is set to any one of a first operation mode for measuring the intermittent time and a second operation mode for continuously measuring time, and at least, When the operation mode is set to the second operation mode, the measurement value can be cleared by a clear command from the CPU.
A microcomputer characterized by.
JP2000402422A 2000-12-28 2000-12-28 Microcomputer Expired - Lifetime JP3829916B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000402422A JP3829916B2 (en) 2000-12-28 2000-12-28 Microcomputer
US10/022,794 US6986070B2 (en) 2000-12-28 2001-12-20 Microcomputer that cooperates with an external apparatus to be driven by a drive signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000402422A JP3829916B2 (en) 2000-12-28 2000-12-28 Microcomputer

Publications (2)

Publication Number Publication Date
JP2002202830A JP2002202830A (en) 2002-07-19
JP3829916B2 true JP3829916B2 (en) 2006-10-04

Family

ID=18866722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000402422A Expired - Lifetime JP3829916B2 (en) 2000-12-28 2000-12-28 Microcomputer

Country Status (1)

Country Link
JP (1) JP3829916B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4461850B2 (en) * 2004-03-12 2010-05-12 日本電気株式会社 Portable information terminal and communication method thereof
JP4715760B2 (en) * 2006-07-28 2011-07-06 株式会社デンソー Microcomputer and control system
JP4780098B2 (en) * 2007-12-13 2011-09-28 株式会社デンソー Microcomputer
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
JP2009199424A (en) * 2008-02-22 2009-09-03 Denso Corp Microcomputer
JP5293767B2 (en) * 2011-04-15 2013-09-18 株式会社デンソー Microcomputer

Also Published As

Publication number Publication date
JP2002202830A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
KR101771674B1 (en) External device power control during low power sleep mode without central processing intervention
JP2009202822A (en) Control device
JP5968561B2 (en) Microcomputer and its clock correction method
JP3829916B2 (en) Microcomputer
JPH0854954A (en) Integrated circuit provided with power saving function
KR100303271B1 (en) Clock supply apparatus for reducing consumption of power
EP1262015A1 (en) Power-conserving external clock for use with a clock-dependent integrated circuit
US6442704B1 (en) Ring oscillator clock frequency measuring method, ring oscillator clock frequency measuring circuit, and microcomputer
CN108230660B (en) Control method and control device, storage medium and remote controller
JP5324340B2 (en) Microcomputer
JP3879523B2 (en) Microcomputer
JP2001350739A (en) Microcomputer
JP3711849B2 (en) Microcomputer
US6986070B2 (en) Microcomputer that cooperates with an external apparatus to be driven by a drive signal
JP4192485B2 (en) Microcomputer
JP3736348B2 (en) Single-chip microcomputer that can control output signal with timer
JP3903716B2 (en) Microcomputer
JP2001117546A (en) Display device
CN103713960A (en) Watchdog circuit used for embedded system
JP2003315474A (en) Electronic control device and semiconductor integrated circuit
JP2009014393A (en) Time correction method, microcomputer internal timepiece, and electronic control unit
JP3925150B2 (en) Microcomputer and electronic control device for vehicle
JPH0724006B2 (en) Data processing device
JP2002091610A (en) Electronic equipment
JP2993318B2 (en) Timed switching watchdog timer circuit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050902

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3829916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090721

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130721

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term