JP2001202256A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JP2001202256A JP2001202256A JP2000011718A JP2000011718A JP2001202256A JP 2001202256 A JP2001202256 A JP 2001202256A JP 2000011718 A JP2000011718 A JP 2000011718A JP 2000011718 A JP2000011718 A JP 2000011718A JP 2001202256 A JP2001202256 A JP 2001202256A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- time
- interrupt request
- microcomputer
- input
- 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.)
- Pending
Links
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【課題】 上位割込処理が発生しても所定のタイマ割込
処理を効率よく実行できるマイクロコンピュータを提供
する。 【解決手段】 NMI端子レベルが LowレベルとなりN
MI信号の入力が検出されると、FRCのカウント動作
が一旦停止される。そして、所定時間の経過を待ち、N
MI端子レベルの状態がLowレベルからHighレベルに切
り替わり、NMI割込要求が解除されたことが検知され
ると、FRCの停止が解除される。その後は、FRCに
より上記一旦停止された時点のカウント値からのカウン
トが継続される。そして、FRCのカウント値とOCR
にセットされた値との一致が確認されると、所定のタイ
マ割込要求が発生され、本来行われるべきであったタイ
マ割込処理が実行される。
処理を効率よく実行できるマイクロコンピュータを提供
する。 【解決手段】 NMI端子レベルが LowレベルとなりN
MI信号の入力が検出されると、FRCのカウント動作
が一旦停止される。そして、所定時間の経過を待ち、N
MI端子レベルの状態がLowレベルからHighレベルに切
り替わり、NMI割込要求が解除されたことが検知され
ると、FRCの停止が解除される。その後は、FRCに
より上記一旦停止された時点のカウント値からのカウン
トが継続される。そして、FRCのカウント値とOCR
にセットされた値との一致が確認されると、所定のタイ
マ割込要求が発生され、本来行われるべきであったタイ
マ割込処理が実行される。
Description
【0001】
【発明の属する技術分野】本発明は、割り込みルーチン
を有するマイクロコンピュータに関し、特にタイマ割込
処理を効率よく実行できるマイクロコンピュータに関す
る。
を有するマイクロコンピュータに関し、特にタイマ割込
処理を効率よく実行できるマイクロコンピュータに関す
る。
【0002】
【従来の技術】従来より、エンジン制御装置(以下、
「ECU」ともいう)等の電子制御装置では、所定のプ
ログラムが実行される過程において、必要に応じて時間
で管理されたタイマ割込処理が実行される。
「ECU」ともいう)等の電子制御装置では、所定のプ
ログラムが実行される過程において、必要に応じて時間
で管理されたタイマ割込処理が実行される。
【0003】すなわち、図4に示すように、ECUに
は、マイクロコンピュータの内部クロックによって常時
カウントアップされるフリーランニングカウンタ(以
下、「FRC」という)と、FRCのカウント値と比較
される時間情報としての値がCPUによってセットされ
るアウトプットコンペアレジスタ(以下、「OCR」と
いう)とが備えられている。このECUでは、プログラ
ムの順序に従って実行される処理に加え、このFRCの
カウント値とOCRにセットされた値とが一致したとき
に開始されるタイマ割込処理が実行される。
は、マイクロコンピュータの内部クロックによって常時
カウントアップされるフリーランニングカウンタ(以
下、「FRC」という)と、FRCのカウント値と比較
される時間情報としての値がCPUによってセットされ
るアウトプットコンペアレジスタ(以下、「OCR」と
いう)とが備えられている。このECUでは、プログラ
ムの順序に従って実行される処理に加え、このFRCの
カウント値とOCRにセットされた値とが一致したとき
に開始されるタイマ割込処理が実行される。
【0004】ところで、エンジン始動時等においては、
電源回路を介してマイクロコンピュータに供給される電
圧が、CPU等の動作限界電圧まで低下することがあ
る。この状態でエンジン制御を実行すると、CPU等が
正常に動作せず、場合によっては制御プログラムが暴走
することが懸念される。このため、このような事態を回
避すべく、電源回路に設けられた電源ICにてこのよう
な電圧の低下が検知されると、電源回路のWI端子から
マイクロコンピュータ側にマスク禁止割込(NMI)信
号が出力され、マスク禁止割込処理(NMI割込処理)
が実行される。
電源回路を介してマイクロコンピュータに供給される電
圧が、CPU等の動作限界電圧まで低下することがあ
る。この状態でエンジン制御を実行すると、CPU等が
正常に動作せず、場合によっては制御プログラムが暴走
することが懸念される。このため、このような事態を回
避すべく、電源回路に設けられた電源ICにてこのよう
な電圧の低下が検知されると、電源回路のWI端子から
マイクロコンピュータ側にマスク禁止割込(NMI)信
号が出力され、マスク禁止割込処理(NMI割込処理)
が実行される。
【0005】このNMI割込処理は、最も優先順位の高
い上位割込処理に該当し、他の割込処理に優先して実行
されるものである。例えば、プログラムの暴走時に所定
のデータ(プログラムカウンタの値等)の消失を防止す
るため、これらをバックアップRAMに退避させる等の
処理がこれに該当する。マイクロコンピュータ側では、
NMI端子レベルがLowレベルになったことを検出して
このNMI信号を受け取ったと判断し、NMI割込処理
を実行する。
い上位割込処理に該当し、他の割込処理に優先して実行
されるものである。例えば、プログラムの暴走時に所定
のデータ(プログラムカウンタの値等)の消失を防止す
るため、これらをバックアップRAMに退避させる等の
処理がこれに該当する。マイクロコンピュータ側では、
NMI端子レベルがLowレベルになったことを検出して
このNMI信号を受け取ったと判断し、NMI割込処理
を実行する。
【0006】
【発明が解決しようとする課題】しかしながら、OCR
への時間情報の設定は、まずFRCから現在時刻の情報
を読取り、この現在時刻にタイマ割込処理までの時間情
報(カウント値)を加算し、この加算された時間情報を
OCRに格納することにより完了する。従って、このO
CRへの時間情報の設定が開始されてから完了するまで
の間にNMI割込要求が入力されると、OCRへの設定
処理が一時中断されることになる。そうすると、NMI
割込処理が終了した時点からOCRへの設定処理が再開
されるが、その時点では、設定されるタイマ割込処理の
開始時点は既に過去のものとなってしまっており、この
タイマ割込処理が抜け落ちる結果となってしまうことも
想定し得る。この場合、本来実行されるはずであったタ
イマ割込処理は、割込ルーチンが一周してこのタイマ割
込処理が再度設定されるまで行われないことになる。
への時間情報の設定は、まずFRCから現在時刻の情報
を読取り、この現在時刻にタイマ割込処理までの時間情
報(カウント値)を加算し、この加算された時間情報を
OCRに格納することにより完了する。従って、このO
CRへの時間情報の設定が開始されてから完了するまで
の間にNMI割込要求が入力されると、OCRへの設定
処理が一時中断されることになる。そうすると、NMI
割込処理が終了した時点からOCRへの設定処理が再開
されるが、その時点では、設定されるタイマ割込処理の
開始時点は既に過去のものとなってしまっており、この
タイマ割込処理が抜け落ちる結果となってしまうことも
想定し得る。この場合、本来実行されるはずであったタ
イマ割込処理は、割込ルーチンが一周してこのタイマ割
込処理が再度設定されるまで行われないことになる。
【0007】このような問題は、OCRへの設定処理の
処理時間とNMI割込処理の処理時間を考慮した上でタ
イマ割込処理の時点を設定することにより解決できると
も考えられる。しかし、この場合、NMI割込要求が発
生しない場合にも常に大きな不感帯をもってタイマ割込
処理の時点を設定することになり、タイマ割込処理自体
の精度が悪くなる。
処理時間とNMI割込処理の処理時間を考慮した上でタ
イマ割込処理の時点を設定することにより解決できると
も考えられる。しかし、この場合、NMI割込要求が発
生しない場合にも常に大きな不感帯をもってタイマ割込
処理の時点を設定することになり、タイマ割込処理自体
の精度が悪くなる。
【0008】本発明は、こうした問題に鑑みなされたも
のであり、NMI割込処理等上位の割込処理が発生して
も所定のタイマ割込処理を効率よく実行できるマイクロ
コンピュータを提供することを目的とする。
のであり、NMI割込処理等上位の割込処理が発生して
も所定のタイマ割込処理を効率よく実行できるマイクロ
コンピュータを提供することを目的とする。
【0009】
【課題を解決するための手段、及び発明の効果】上記目
的を達成するためになされた請求項1に記載の本発明の
マイクロコンピュータは、周知のように、割込要求発生
手段において計時用カウンタによる計時時刻と予め設定
された割込時刻とが一致したときに、所定の割込処理を
実行するものであるが、外部からこの割込要求発生手段
が発生する割込要求よりも優先度の高い上位割込要求が
入力された場合には、計時カウント停止手段が、この計
時用カウンタによるカウントを一旦停止する。そして、
当該マイクロコンピュータが上位割込処理の実行を終了
した後に、計時用カウント手段が、この計時用カウンタ
によるカウント動作を再開させる。
的を達成するためになされた請求項1に記載の本発明の
マイクロコンピュータは、周知のように、割込要求発生
手段において計時用カウンタによる計時時刻と予め設定
された割込時刻とが一致したときに、所定の割込処理を
実行するものであるが、外部からこの割込要求発生手段
が発生する割込要求よりも優先度の高い上位割込要求が
入力された場合には、計時カウント停止手段が、この計
時用カウンタによるカウントを一旦停止する。そして、
当該マイクロコンピュータが上位割込処理の実行を終了
した後に、計時用カウント手段が、この計時用カウンタ
によるカウント動作を再開させる。
【0010】このため、この上位割込要求が入力された
時点から上位割込処理が終了する時点までは、計時用カ
ウンタのカウント値は更新されず、上位割込処理が終了
した時点から、上記カウント停止時点のカウント値を更
新する態様で、計時用カウンタによるカウントが再開さ
れる。この結果、上記のように、割込時間情報の設定処
理が開始されてから完了するまでの間に、上位割込要求
が入力されてその設定処理が一時中断されたとしても、
上位割込処理が終了した時点から、あたかも上位割込処
理が無かったかのように設定処理が再開されることにな
る。このため、その後はその設定処理が通常通り行わ
れ、所定のタイマ割込処理が実行される。
時点から上位割込処理が終了する時点までは、計時用カ
ウンタのカウント値は更新されず、上位割込処理が終了
した時点から、上記カウント停止時点のカウント値を更
新する態様で、計時用カウンタによるカウントが再開さ
れる。この結果、上記のように、割込時間情報の設定処
理が開始されてから完了するまでの間に、上位割込要求
が入力されてその設定処理が一時中断されたとしても、
上位割込処理が終了した時点から、あたかも上位割込処
理が無かったかのように設定処理が再開されることにな
る。このため、その後はその設定処理が通常通り行わ
れ、所定のタイマ割込処理が実行される。
【0011】つまり、このように計時用カウンタによる
カウントを一時的に停止させることにより、従来のよう
なタイマ割込処理が抜け落ちる等の問題を有効に回避す
ることができるのである。この上位割込処理とは、通常
のタイマ割込処理よりも優先順位が高い割込処理を意味
するが、ソフト的に割込の禁止が可能なレベルの割込処
理であれば、上記のような構成をとらなくても、この上
位割込処理とタイマ割込処理との競合を回避するように
プログラムを構成することができる。
カウントを一時的に停止させることにより、従来のよう
なタイマ割込処理が抜け落ちる等の問題を有効に回避す
ることができるのである。この上位割込処理とは、通常
のタイマ割込処理よりも優先順位が高い割込処理を意味
するが、ソフト的に割込の禁止が可能なレベルの割込処
理であれば、上記のような構成をとらなくても、この上
位割込処理とタイマ割込処理との競合を回避するように
プログラムを構成することができる。
【0012】従って、本発明が特に有効に機能を発揮す
る態様としては、このようなソフト的な割込の禁止がで
きないレベルの割込処理を対象とする場合であり、請求
項2に記載のマスク禁止割込処理等を対象とする場合が
これに該当する。このマスク禁止割込処理は、割込処理
の中で最上位に位置づけられるものであり、上記従来技
術にて述べたように、プログラムの暴走を防止等するた
めに行われる非常時の処理に該当し、ソフト的に割込の
禁止ができないように構成されている。
る態様としては、このようなソフト的な割込の禁止がで
きないレベルの割込処理を対象とする場合であり、請求
項2に記載のマスク禁止割込処理等を対象とする場合が
これに該当する。このマスク禁止割込処理は、割込処理
の中で最上位に位置づけられるものであり、上記従来技
術にて述べたように、プログラムの暴走を防止等するた
めに行われる非常時の処理に該当し、ソフト的に割込の
禁止ができないように構成されている。
【0013】本発明のマイクロコンピュータによれば、
このようなマスク禁止割込が入力された場合において、
このマスク禁止割込処理が実行される間、計時用カウン
タによるカウントが停止される。このため、上記と同
様、マスク禁止割込処理の終了後所定の時点でタイマ割
込処理が実行されるのである。
このようなマスク禁止割込が入力された場合において、
このマスク禁止割込処理が実行される間、計時用カウン
タによるカウントが停止される。このため、上記と同
様、マスク禁止割込処理の終了後所定の時点でタイマ割
込処理が実行されるのである。
【0014】尚、上記タイマ割込処理としては、タイマ
一致により割込要求を発生し、その割込要求により所定
のプログラムを設定するソフト的な割込処理のみなら
ず、ソフトを介在させずにタイマ一致によりマイコンの
出力ポート等をハード的に制御する割込処理も含まれ
る。ただし、後者の割込処理も上位割込処理よりその優
先順位が低い処理であることはいうまでもない。
一致により割込要求を発生し、その割込要求により所定
のプログラムを設定するソフト的な割込処理のみなら
ず、ソフトを介在させずにタイマ一致によりマイコンの
出力ポート等をハード的に制御する割込処理も含まれ
る。ただし、後者の割込処理も上位割込処理よりその優
先順位が低い処理であることはいうまでもない。
【0015】また、上記上位割込処理が入力された際に
は、その割込要因や計時用カウンタとして用いる記憶媒
体等によっては、上記計時用カウンタのカウント値が消
滅或いは書き換えられてしまうことが懸念される。この
ため、請求項3に記載のマイクロコンピュータでは、さ
らに、上位割込要求が入力された場合に、計時用カウン
タによるカウントを停止してその時のカウント値を所定
の記憶手段に退避させ、上位割込処理の実行が終了した
ときに、当該記憶手段からこのカウント値を取り出し、
このカウント値を用いて(更新する態様で)計時用カウ
ンタによるカウントを再開するようにしている。
は、その割込要因や計時用カウンタとして用いる記憶媒
体等によっては、上記計時用カウンタのカウント値が消
滅或いは書き換えられてしまうことが懸念される。この
ため、請求項3に記載のマイクロコンピュータでは、さ
らに、上位割込要求が入力された場合に、計時用カウン
タによるカウントを停止してその時のカウント値を所定
の記憶手段に退避させ、上位割込処理の実行が終了した
ときに、当該記憶手段からこのカウント値を取り出し、
このカウント値を用いて(更新する態様で)計時用カウ
ンタによるカウントを再開するようにしている。
【0016】また、上記上位割込要求は、その入力後解
除されない場合も考えられる。例えばエンジン制御を例
に挙げると、イグニションキーのオフ時には電源電圧が
低下するために、上記マスク禁止割込要求が入力される
が、その後エンジンを再始動しない限り電源電圧が所定
値以上に復帰することはない。このような場合に、この
割込処理を継続させるとCPU等に余計な負担をかける
ことになる。
除されない場合も考えられる。例えばエンジン制御を例
に挙げると、イグニションキーのオフ時には電源電圧が
低下するために、上記マスク禁止割込要求が入力される
が、その後エンジンを再始動しない限り電源電圧が所定
値以上に復帰することはない。このような場合に、この
割込処理を継続させるとCPU等に余計な負担をかける
ことになる。
【0017】そこで、請求項4記載のマイクロコンピュ
ータは、上位割込要求が入力された後、所定時間経過し
ても解除されない場合には、マイクロコンピュータ自体
がリセットするように構成されている。
ータは、上位割込要求が入力された後、所定時間経過し
ても解除されない場合には、マイクロコンピュータ自体
がリセットするように構成されている。
【0018】
【発明の実施の形態】以下、本発明の好適な実施例を図
面に基づいて説明する。本実施例は、本発明のマイクロ
コンピュータをエンジン制御装置(ECU)に適用した
ものであり、図1は当該ECU周辺の電気的構成を示し
たブロック図である。
面に基づいて説明する。本実施例は、本発明のマイクロ
コンピュータをエンジン制御装置(ECU)に適用した
ものであり、図1は当該ECU周辺の電気的構成を示し
たブロック図である。
【0019】図1に示すように、ECU1が備えるマイ
クロコンピュータ2は、各種機器を制御するCPU2
1、予め各種の数値やプログラムが書き込まれたROM
22、演算過程の数値やフラグが所定の領域に書き込ま
れるRAM23、タイマ割込要求を発生するタイマ部2
4、各種ディジタル信号が入力され、各種ディジタル信
号が出力される入出力ポート(I/O)25、これら各
機器がそれぞれ接続されるバスライン26、及び、マイ
クロコンピュータ2の暴走時等にリセット信号を出力す
るリセット回路27から構成されている。ROM22内
には、エンジン制御用プログラム、後述する割込処理プ
ログラム、その他の処理プログラム、及びこれらの演算
処理に必要な種々のデータが予め格納されている。
クロコンピュータ2は、各種機器を制御するCPU2
1、予め各種の数値やプログラムが書き込まれたROM
22、演算過程の数値やフラグが所定の領域に書き込ま
れるRAM23、タイマ割込要求を発生するタイマ部2
4、各種ディジタル信号が入力され、各種ディジタル信
号が出力される入出力ポート(I/O)25、これら各
機器がそれぞれ接続されるバスライン26、及び、マイ
クロコンピュータ2の暴走時等にリセット信号を出力す
るリセット回路27から構成されている。ROM22内
には、エンジン制御用プログラム、後述する割込処理プ
ログラム、その他の処理プログラム、及びこれらの演算
処理に必要な種々のデータが予め格納されている。
【0020】ここで、RAM23における所定の記憶領
域は、電源供給の遮断後も記憶内容を保持可能なバック
アップRAMとして設定されている。また、タイマ部2
4は、マイクロコンピュータ2の内部クロック(本実例
では、1MHz(メガヘルツ))によって常時カウント
アップされるフリーランニングカウンタ(FRC)2
8、FRC28のカウント値と比較される時間情報とし
ての値がCPU21によってセットされるアウトプット
コンペアレジスタ(OCR)29、及び、FRC28の
カウント値とOCR29にセットされた値とを比較し、
両値が一致すると所定のタイマ割込要求を発生する比較
器30を備えている。
域は、電源供給の遮断後も記憶内容を保持可能なバック
アップRAMとして設定されている。また、タイマ部2
4は、マイクロコンピュータ2の内部クロック(本実例
では、1MHz(メガヘルツ))によって常時カウント
アップされるフリーランニングカウンタ(FRC)2
8、FRC28のカウント値と比較される時間情報とし
ての値がCPU21によってセットされるアウトプット
コンペアレジスタ(OCR)29、及び、FRC28の
カウント値とOCR29にセットされた値とを比較し、
両値が一致すると所定のタイマ割込要求を発生する比較
器30を備えている。
【0021】また、ECU1には、電源電圧を供給する
ためのバッテリ31、エアフローメータ,吸気圧セン
サ,水温センサ、エンジン回転数センサ等のセンサ群3
2、及び、アクチュエータ群33等が接続されている。
そして、バッテリ31からの電源電圧は、電源回路3を
介してマイクロコンピュータ2に供給される。また、セ
ンサ群32からの電圧信号は、A/D変換器4にてデジ
タル信号に変換された後、入出力ポート25に入力され
る。
ためのバッテリ31、エアフローメータ,吸気圧セン
サ,水温センサ、エンジン回転数センサ等のセンサ群3
2、及び、アクチュエータ群33等が接続されている。
そして、バッテリ31からの電源電圧は、電源回路3を
介してマイクロコンピュータ2に供給される。また、セ
ンサ群32からの電圧信号は、A/D変換器4にてデジ
タル信号に変換された後、入出力ポート25に入力され
る。
【0022】そして、マイクロコンピュータ2では、こ
のようにして取り込まれたデータに基づいて、所定のプ
ログラムに従った演算処理が実行される。そして、この
演算結果に基づいて生成された出力データが、入出力ポ
ート25,出力回路5を介してアクチュエータ群33に
出力され、所望のエンジン制御が行われる。
のようにして取り込まれたデータに基づいて、所定のプ
ログラムに従った演算処理が実行される。そして、この
演算結果に基づいて生成された出力データが、入出力ポ
ート25,出力回路5を介してアクチュエータ群33に
出力され、所望のエンジン制御が行われる。
【0023】また、ECU1では、この所定のプログラ
ムが実行される過程において、上述のタイマ割込要求の
発生に応じて所定のタイマ割込処理が実行される。とこ
ろで、エンジン始動時等においては、電源回路3を介し
てマイクロコンピュータ2に供給される電圧が、CPU
21等の動作限界電圧まで低下することがあるが、この
状態でエンジン制御を実行すると、CPU21等が正常
に動作せず、場合によっては制御プログラムが暴走する
ことが懸念される。このため、このような事態を回避す
べく、電源回路3に設けられた電源ICにてこのような
電圧の低下が検知されると、電源回路3のWI端子から
マイクロコンピュータ2側にNMI信号が出力される。
マイクロコンピュータ2側では、NMI端子レベルがLo
wレベルになったことを検出してこのNMI信号を受け
取ったと判断する。そして、所定のデータ(プログラム
カウンタの値等)の消失を防止するため、これらをバッ
クアップRAMに退避させる処理等(NMI割込処理)
を行う。
ムが実行される過程において、上述のタイマ割込要求の
発生に応じて所定のタイマ割込処理が実行される。とこ
ろで、エンジン始動時等においては、電源回路3を介し
てマイクロコンピュータ2に供給される電圧が、CPU
21等の動作限界電圧まで低下することがあるが、この
状態でエンジン制御を実行すると、CPU21等が正常
に動作せず、場合によっては制御プログラムが暴走する
ことが懸念される。このため、このような事態を回避す
べく、電源回路3に設けられた電源ICにてこのような
電圧の低下が検知されると、電源回路3のWI端子から
マイクロコンピュータ2側にNMI信号が出力される。
マイクロコンピュータ2側では、NMI端子レベルがLo
wレベルになったことを検出してこのNMI信号を受け
取ったと判断する。そして、所定のデータ(プログラム
カウンタの値等)の消失を防止するため、これらをバッ
クアップRAMに退避させる処理等(NMI割込処理)
を行う。
【0024】しかしながら、OCR29への時間情報の
設定は、後述のように、まずFRC28から現在時刻の
情報を読取り、この現在時刻にタイマ割込処理までの時
間情報(カウント値)を加算し、この加算された時間情
報をOCR29に格納することにより完了する。従っ
て、図4に示すように、このOCR29への時間情報の
設定が開始されてから完了するまでの間にNMI割込要
求が入力されると、OCR29への設定処理が一時中断
されることになる。そうすると、NMI割込処理が終了
した時点からOCR29への設定処理が再開されるが、
同図に示すように、その時点において、設定されるタイ
マ割込処理の開始時点が既に過去のものとなっている
と、このタイマ割込処理が抜け落ちる結果となってしま
う。
設定は、後述のように、まずFRC28から現在時刻の
情報を読取り、この現在時刻にタイマ割込処理までの時
間情報(カウント値)を加算し、この加算された時間情
報をOCR29に格納することにより完了する。従っ
て、図4に示すように、このOCR29への時間情報の
設定が開始されてから完了するまでの間にNMI割込要
求が入力されると、OCR29への設定処理が一時中断
されることになる。そうすると、NMI割込処理が終了
した時点からOCR29への設定処理が再開されるが、
同図に示すように、その時点において、設定されるタイ
マ割込処理の開始時点が既に過去のものとなっている
と、このタイマ割込処理が抜け落ちる結果となってしま
う。
【0025】そこで、このような事態を回避するため、
本実施例のマイクロコンピュータ2では、このようにタ
イマ割込処理とNMI割込処理とが競合した場合におい
ても、上記のようなタイマ割込処理の抜け落ちを防止す
る制御が行われる。以下、この制御内容について、図2
に示すタイムチャート及び図3に示すフローチャートに
基づいて詳細に説明する。
本実施例のマイクロコンピュータ2では、このようにタ
イマ割込処理とNMI割込処理とが競合した場合におい
ても、上記のようなタイマ割込処理の抜け落ちを防止す
る制御が行われる。以下、この制御内容について、図2
に示すタイムチャート及び図3に示すフローチャートに
基づいて詳細に説明する。
【0026】マイクロコンピュータ2のCPU21は、
タイマ割込処理の実行開始時点をOCR29に設定する
際に、まずその設定時点(t0 )でのFRC28のカウ
ント値を読み出し、そのカウント値をRAM23に設定
されている記憶領域に格納する。そして、このRAM2
3の記憶領域に格納したFRC28のカウント値と、R
OM22に予め記憶された応答開始時間T (OCR2
9の設定時点(t0 )からタイマ割込処理の実行開始時
点までの時間)に対応する値N1 とを加算した値を、応
答開始時間Tを示す時間情報としてOCR29にセット
する。
タイマ割込処理の実行開始時点をOCR29に設定する
際に、まずその設定時点(t0 )でのFRC28のカウ
ント値を読み出し、そのカウント値をRAM23に設定
されている記憶領域に格納する。そして、このRAM2
3の記憶領域に格納したFRC28のカウント値と、R
OM22に予め記憶された応答開始時間T (OCR2
9の設定時点(t0 )からタイマ割込処理の実行開始時
点までの時間)に対応する値N1 とを加算した値を、応
答開始時間Tを示す時間情報としてOCR29にセット
する。
【0027】ここで、応答開始時間Tに対応する値N1
とは、応答開始時間TをFRC28の動作クロックの周
期(即ち、マイクロコンピュータ2の内部クロックの周
期であり、本実施例1μs)で割った値である。つま
り、マイクロコンピュータ2では、上記OCR29の設
定時点からNMI割込要求が入力されることなく応答開
始時間Tが経過すると、比較器30によりFRC28の
カウント値とOCR29にセットされた値との一致が確
認されてタイマ割込要求が発生され、所定のタイマ割込
処理が実行されることとなる(図2の二点鎖線参照)。
とは、応答開始時間TをFRC28の動作クロックの周
期(即ち、マイクロコンピュータ2の内部クロックの周
期であり、本実施例1μs)で割った値である。つま
り、マイクロコンピュータ2では、上記OCR29の設
定時点からNMI割込要求が入力されることなく応答開
始時間Tが経過すると、比較器30によりFRC28の
カウント値とOCR29にセットされた値との一致が確
認されてタイマ割込要求が発生され、所定のタイマ割込
処理が実行されることとなる(図2の二点鎖線参照)。
【0028】一方、例えば、エンジン始動時において、
電源電圧がCPU21等の動作限界電圧まで低下し、図
2に示すように、上記OCR29の設定時点(t0 )か
ら応答開始時間Tを経過するまでの間の時点t1 でNM
I割込要求が入力された場合には、図3に示すNMI割
込処理対処プログラムが実行される。
電源電圧がCPU21等の動作限界電圧まで低下し、図
2に示すように、上記OCR29の設定時点(t0 )か
ら応答開始時間Tを経過するまでの間の時点t1 でNM
I割込要求が入力された場合には、図3に示すNMI割
込処理対処プログラムが実行される。
【0029】すなわち、NMI端子レベルが Lowレベル
となり、電源回路3からのNMI信号の入力が検出され
ると、CPU21は、FRC28のカウント動作を一旦
停止させる(S110)。そして、エンジンの始動時の
電源電圧が安定するまでに通常かかる所定時間(通常の
NMI割込処理の時間T2 )の経過を待つ(S12
0)。そして、所定時間が経過したと判断されると(S
120:YES)、NMI端子レベルの状態がLowレベ
ルからHighレベルに切り替わり、NMI割込要求が解除
されたことが検知されたか、つまり、通常のエンジン制
御に復帰できる状態にあるか否かが判断される(S13
0)。
となり、電源回路3からのNMI信号の入力が検出され
ると、CPU21は、FRC28のカウント動作を一旦
停止させる(S110)。そして、エンジンの始動時の
電源電圧が安定するまでに通常かかる所定時間(通常の
NMI割込処理の時間T2 )の経過を待つ(S12
0)。そして、所定時間が経過したと判断されると(S
120:YES)、NMI端子レベルの状態がLowレベ
ルからHighレベルに切り替わり、NMI割込要求が解除
されたことが検知されたか、つまり、通常のエンジン制
御に復帰できる状態にあるか否かが判断される(S13
0)。
【0030】このとき、時点t2 にて復帰できる状態で
あると判断されると(S130:YES)、FRC28
の停止が解除され、NMI割込処理対処プログラムの実
行を終了する。そして、その後FRC28により、S1
10で一旦停止された時点のカウント値からのカウント
が継続され、これと並行してタイマ割込処理の開始時点
の設定処理が再開される(S140)。そして、この再
開時点から所定の時間時間T1 (NMI割込要求の入力
時点(t1 )から、このNMI割込要求がなければ本来
タイマ割込処理が開始されるまでの時間:T−(t1 −
t0 ))が経過し、比較器30によりFRC28のカウ
ント値とOCR29にセットされた値との一致が確認さ
れると、所定のタイマ割込要求が発生され、本来行われ
るべきであったタイマ割込処理が実行される。
あると判断されると(S130:YES)、FRC28
の停止が解除され、NMI割込処理対処プログラムの実
行を終了する。そして、その後FRC28により、S1
10で一旦停止された時点のカウント値からのカウント
が継続され、これと並行してタイマ割込処理の開始時点
の設定処理が再開される(S140)。そして、この再
開時点から所定の時間時間T1 (NMI割込要求の入力
時点(t1 )から、このNMI割込要求がなければ本来
タイマ割込処理が開始されるまでの時間:T−(t1 −
t0 ))が経過し、比較器30によりFRC28のカウ
ント値とOCR29にセットされた値との一致が確認さ
れると、所定のタイマ割込要求が発生され、本来行われ
るべきであったタイマ割込処理が実行される。
【0031】一方、S130において通常制御に復帰で
きないと判断された場合には(S130:NO)、例え
ばエンジンが停止している、或いはプログラムが暴走し
ていると判断され、リセット回路27によりマイクロコ
ンピュータ2自体がリセットされる(S150)。
きないと判断された場合には(S130:NO)、例え
ばエンジンが停止している、或いはプログラムが暴走し
ていると判断され、リセット回路27によりマイクロコ
ンピュータ2自体がリセットされる(S150)。
【0032】以上の一連の動作により、タイマ割込処理
中にNMI割り込みが発生したとしても、所定のタイマ
割込処理が抜け落ちることなく、NMI割込処理からの
復帰後、必ず実行される。この結果、タイマ割込処理を
正確に、しかも効率よく実行することができる。
中にNMI割り込みが発生したとしても、所定のタイマ
割込処理が抜け落ちることなく、NMI割込処理からの
復帰後、必ず実行される。この結果、タイマ割込処理を
正確に、しかも効率よく実行することができる。
【0033】なお、本実施例においては、CPU21が
計時カウント停止手段に該当し、タイマ部24が割込要
求発生手段に該当する。そして、CPU21が実行する
処理の内、図3のフローチャートに示したS110〜S
150の処理が計時カウント停止手段としての処理に該
当する。
計時カウント停止手段に該当し、タイマ部24が割込要
求発生手段に該当する。そして、CPU21が実行する
処理の内、図3のフローチャートに示したS110〜S
150の処理が計時カウント停止手段としての処理に該
当する。
【0034】以上、本発明の実施例について説明した
が、本発明の実施の形態は、上記実施例に何ら限定され
ることなく、本発明の技術的範囲に属する限り種々の形
態をとり得ることはいうまでもない。例えば、上記実施
例では、本発明のマイクロコンピュータをECUに適用
させた例を示したが、当該マイクロコンピュータの適用
対象はECUに限られず、他の電子制御装置に適用させ
ることができることはもちろんである。
が、本発明の実施の形態は、上記実施例に何ら限定され
ることなく、本発明の技術的範囲に属する限り種々の形
態をとり得ることはいうまでもない。例えば、上記実施
例では、本発明のマイクロコンピュータをECUに適用
させた例を示したが、当該マイクロコンピュータの適用
対象はECUに限られず、他の電子制御装置に適用させ
ることができることはもちろんである。
【0035】また、上記実施例では、本発明の効果が特
に発揮される例として、上位割込処理にNMI割込処理
を選んで説明したが、上位割込処理はNMI割込処理に
限られず、タイマ割込処理よりも優先順位が高い割込処
理であれば本発明を適用することは可能である。また、
逆に上記タイマ割込処理としては、タイマ一致により割
込要求を発生し、その割込要求により所定のプログラム
を設定するソフト的な割込処理として説明したが、NM
I割込処理よりも優先順位が低いハード的な割込処理、
つまり、ソフトを介在させずにタイマ一致によりマイコ
ンの出力ポート等をハード的に制御する割込処理であっ
てもよいことはもちろんである。
に発揮される例として、上位割込処理にNMI割込処理
を選んで説明したが、上位割込処理はNMI割込処理に
限られず、タイマ割込処理よりも優先順位が高い割込処
理であれば本発明を適用することは可能である。また、
逆に上記タイマ割込処理としては、タイマ一致により割
込要求を発生し、その割込要求により所定のプログラム
を設定するソフト的な割込処理として説明したが、NM
I割込処理よりも優先順位が低いハード的な割込処理、
つまり、ソフトを介在させずにタイマ一致によりマイコ
ンの出力ポート等をハード的に制御する割込処理であっ
てもよいことはもちろんである。
【0036】さらに、上記実施例では、割込要求発生手
段としてのタイマ部にFRC29を採用したが、例えば
CPU21内のレジスタを使用してカウントする態様と
することも考えられる。ただし、この場合は、割込要因
によっては、レジスタ内のカウント値が消滅或いは書き
換えられてしまうことが懸念される。このため、上位割
込要求が入力された場合に、レジスタ内のカウント値を
バックアップRAM等に一時退避させ、上位割込処理の
実行が終了したときに、当該バックアップRAMからこ
のカウント値を取り出し、このカウント値を用いて(更
新する態様で)カウント手段によるカウントを再開する
ようにしてもよい。尚、この場合には、バックアップR
AMが記憶手段に該当する。
段としてのタイマ部にFRC29を採用したが、例えば
CPU21内のレジスタを使用してカウントする態様と
することも考えられる。ただし、この場合は、割込要因
によっては、レジスタ内のカウント値が消滅或いは書き
換えられてしまうことが懸念される。このため、上位割
込要求が入力された場合に、レジスタ内のカウント値を
バックアップRAM等に一時退避させ、上位割込処理の
実行が終了したときに、当該バックアップRAMからこ
のカウント値を取り出し、このカウント値を用いて(更
新する態様で)カウント手段によるカウントを再開する
ようにしてもよい。尚、この場合には、バックアップR
AMが記憶手段に該当する。
【図1】 本発明の実施例に係るECU周辺の電気的構
成を表すブロック図である。
成を表すブロック図である。
【図2】 実施例のマイクロコンピュータが実行するタ
イマ一致制御を示すタイムチャートである。
イマ一致制御を示すタイムチャートである。
【図3】 実施例のマイクロコンピュータが実行するタ
イマ一致制御を示すフローチャートである。
イマ一致制御を示すフローチャートである。
【図4】 従来のマイクロコンピュータが実行するタイ
マ一致制御を示すタイムチャートである。
マ一致制御を示すタイムチャートである。
1・・・ECU、 2・・・マイクロコンピュータ、3
・・・電源回路、 24・・・タイマ部、27・・・リ
セット回路、 28・・・フリーランニングカウンタ
(FRC)、29・・・アウトプットコンペアレジスタ
(OCR)、 30・・・比較器
・・・電源回路、 24・・・タイマ部、27・・・リ
セット回路、 28・・・フリーランニングカウンタ
(FRC)、29・・・アウトプットコンペアレジスタ
(OCR)、 30・・・比較器
Claims (4)
- 【請求項1】 計時用カウンタによる計時時刻が予め設
定された割込時刻と一致した際に割込要求を発生する割
込要求発生手段を備え、 予め設定されたプログラムに従い、所定の演算処理を実
行すると共に、該演算処理の過程で前記割込要求発生手
段に割込時刻を設定し、該割込時刻の設定により前記割
込要求発生手段から割込要求が入力されると、該割込要
求に対応した割込処理を実行し、更に、外部から前記割
込要求発生手段が発生する割込要求よりも優先度の高い
上位割込要求が入力されると、該上位割込要求に対応し
た上位割込処理を最優先で実行するように構成されたマ
イクロコンピュータにおいて、 外部から前記上位割込要求が入力されると、前記割込要
求発生手段を構成する計時用カウンタのカウント動作を
停止させ、その後、前記上位割込処理が終了すると、前
記計時用カウンタのカウント動作を再開させる計時カウ
ント停止手段を設けたことを特徴とするマイクロコンピ
ュータ。 - 【請求項2】 前記上位割込要求が、マスク禁止割込要
求であることを特徴とする請求項1記載のマイクロコン
ピュータ。 - 【請求項3】 請求項1又は請求項2に記載のマイクロ
コンピュータにおいて、さらに、前記上位割込要求が入
力された場合に、所定のデータを退避させるための記憶
手段を備え、 前記計時カウント停止手段は、 前記上位割込要求が入力されると、前記計時用カウンタ
のカウント動作を停止させ、その時のカウント値を前記
記憶手段に退避させ、 前記上位割込処理の実行が終了したときに、前記記憶手
段から前記退避させたカウント値を取り出して前記計時
用カウンタに格納し、該カウント値を用いて前記計時用
カウンタのカウント動作を再開させる、 ことを特徴とするマイクロコンピュータ。 - 【請求項4】 前記計時カウント停止手段は、前記上位
割込要求が入力された後、所定時間経過しても該上位割
込要求が解除されない場合には、当該マイクロコンピュ
ータの処理動作をリセットすることを特徴とする請求項
1〜3のいずれかに記載のマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000011718A JP2001202256A (ja) | 2000-01-20 | 2000-01-20 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000011718A JP2001202256A (ja) | 2000-01-20 | 2000-01-20 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001202256A true JP2001202256A (ja) | 2001-07-27 |
Family
ID=18539546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000011718A Pending JP2001202256A (ja) | 2000-01-20 | 2000-01-20 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001202256A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013159198A (ja) * | 2012-02-03 | 2013-08-19 | Denso Corp | 電子制御装置 |
JP2015225474A (ja) * | 2014-05-27 | 2015-12-14 | 富士通株式会社 | 情報処理装置及びタイマ設定方法 |
-
2000
- 2000-01-20 JP JP2000011718A patent/JP2001202256A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013159198A (ja) * | 2012-02-03 | 2013-08-19 | Denso Corp | 電子制御装置 |
US9006924B2 (en) | 2012-02-03 | 2015-04-14 | Denso Corporation | Electronic control device |
JP2015225474A (ja) * | 2014-05-27 | 2015-12-14 | 富士通株式会社 | 情報処理装置及びタイマ設定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7007180B2 (en) | System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue | |
US8086883B2 (en) | Hardware driven processor state storage prior to entering a low power | |
US7100062B2 (en) | Power management controller and method | |
US20120246501A1 (en) | Controller and program product | |
US7103738B2 (en) | Semiconductor integrated circuit having improving program recovery capabilities | |
JP2001318742A (ja) | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 | |
JPS62157953A (ja) | 異常検知機能を備えたマイクロコンピユ−タ | |
JP3988636B2 (ja) | マイクロコンピュータ及び車両用ecu | |
JP2004280783A (ja) | マイクロコンピュータ | |
JP2001202256A (ja) | マイクロコンピュータ | |
JP2016170604A (ja) | 電子制御装置 | |
US6757810B1 (en) | Microprocessor including memory for storing set value used to select and executive instruction after completing exception handling caused by exception request | |
JP5660010B2 (ja) | 情報処理装置、データ復帰方法 | |
JP2002304304A (ja) | 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体 | |
JP2021163425A (ja) | 電子制御装置 | |
JP2967219B2 (ja) | ディジタル・コンピュータの外部電源瞬断対処装置 | |
JPS6043536B2 (ja) | マイクロコンピユ−タの誤動作防止装置 | |
JP2012173919A (ja) | 情報処理装置、車両用電子制御ユニット、データ記憶方法 | |
JP2001323836A (ja) | クランク同期タスクの異常検出方法 | |
JPS58125102A (ja) | エンジン電子制御装置 | |
JP4058870B2 (ja) | 浮動小数点演算機能を有した電子制御装置 | |
JP4647276B2 (ja) | 半導体回路装置 | |
JP2002063150A (ja) | マイクロコンピュータ | |
JPH0687213B2 (ja) | データ処理装置 | |
JPH0728507A (ja) | マイクロコンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040602 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040914 |