JP2003345404A - 電子制御装置、プログラム - Google Patents

電子制御装置、プログラム

Info

Publication number
JP2003345404A
JP2003345404A JP2002150716A JP2002150716A JP2003345404A JP 2003345404 A JP2003345404 A JP 2003345404A JP 2002150716 A JP2002150716 A JP 2002150716A JP 2002150716 A JP2002150716 A JP 2002150716A JP 2003345404 A JP2003345404 A JP 2003345404A
Authority
JP
Japan
Prior art keywords
interrupt
processing
level
electronic control
executed
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
Application number
JP2002150716A
Other languages
English (en)
Inventor
Makoto Tsuboi
誠 坪井
Tomokazu Sawada
朋一 澤田
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 JP2002150716A priority Critical patent/JP2003345404A/ja
Publication of JP2003345404A publication Critical patent/JP2003345404A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】状況に応じて処理量を容易に調整することがで
きる電子制御装置等を提供する。 【解決手段】CPUにはエンジンのクランク軸の所定回
転角毎にレベル1とレベル2とレベル3の割り込みが同
時にかかる。CPUは最も高いレベルであるレベル3の
割り込み処理ルーチンを実行し、エンジン回転数と水温
を求め(S110)、どの処理単位をどの割り込みレベ
ルで実行するかを決定して処理レベルテーブルへ保存す
る(S120)。そして、処理レベルテーブルの値が
「3」の処理を順に実行して(S140)復帰する。C
PUは処理を保留していたレベル2の割り込み処理へ実
行対象を移し、処理レベルテーブルの値が「2」の処理
を実行して(S210)復帰する。そしてレベル1の割
り込み処理へ実行対象を移し、処理レベルテーブルの値
が「1」の処理を実行する(S310)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】電子制御装置等に関する。
【0002】
【従来の技術】従来より、種々の入力装置から情報を取
得し、取得した情報に基づいて、制御対象の装置の制御
を行う電子制御装置(ECU)が知られている。このよ
うな電子制御装置では、状況に応じて処理を間引くこと
で、処理負荷を軽減させ、制御対象の装置を適切に制御
できるようにしている。
【0003】例えばマイコン等で構成されたエンジン制
御用の電子制御装置(エンジンECU)では、次のよう
にして処理を間引いている。例えば、車両暖気後は水温
の変化が少ないため、通常100msに1回実行してい
る水温に関する燃料の補正制御間隔を、エンジン冷却水
温度が80℃以上の場合に200msに1回に変更して
制御を間引する。また、エンジンの高回転時には、VV
Tによる効果が減少する為VVT制御を間引いたり、ノ
ック判定が困難になるのでエンジン回転数が6000r
pm以上の時に点火時期制御のノック補正を禁止したり
している。
【0004】このように、制御を間引いた場合にできる
だけ影響が少ない条件を選び、その条件を満たしている
場合に、処理を行わないようにしたり(すなわち制御を
停止する)、その処理の実行間隔を長くしたり、所定間
隔で実行されている処理を所定回数に1回行わないよう
にしたり(すなわち制御を間引いたり)することで、所
定の時間内に処理が完了するようにしている。
【0005】例えば、図9に示すように、予め定めた条
件を満たしたか否か(例えば、水温が90℃以上である
か否か)を判定し(S110)、満たした場合(例えば
水温が90℃以上の場合)(S110:YES)には、
処理(S120)を行わなわずにスキップする。一方、
条件を満たさない場合には(例えば水温が90℃未満の
場合)(S110:NO)、制御(例えば水温補正制
御)を行う(S120)。
【0006】また、図10に示すように、予め定めた条
件を満たしたか否か(例えば、水温が80℃以上である
か否か(S210)、前回制御補正を実行したか否か
(S210))を判定し、満たした場合(例えば水温が
80℃以上であり(S210:YES)、前回補正制御
を実行している場合(S220:YES)、処理(S2
30)を行わずにスキップする。一方、所定の条件を満
たさない場合(例えば、水温が80℃未満の場合(S2
10:NO)や、前回補正制御を実行していない場合
(S220:NO))には、制御(例えば水温補正制
御)を行う。
【0007】このように、制御を実行する前にエンジン
状態(センサ状態等)を参照し、各々の制御を停止した
り間引いたりするべき状況であるか否かを、予め定めた
条件に基づいて判定して、処理の間引きを行って、全体
の処理が所定時間内に完了するように調整し、制御の応
答性の悪化を抑えている。
【0008】
【発明が解決しようとする課題】しかしながら、こうし
た電子制御装置の処理能力に対する負荷は、上記の冷却
水温、エンジン回転数だけでなく、車両の加速/減速状
態、各センサ/アクチュエータの故障判定状態、AT等
の他の電子制御装置との通信状況等、実際の車両の運転
条件のさまざまな要因で変化する。
【0009】例えば、図11に示すように、処理実行タ
イミングにおいて処理Aが実行可能状態となり、処理A
→処理B→その他の処理の順で処理を実行し、その他の
処理までのすべての処理が完了した場合に次の処理実行
タイミングまで待つ構成において、例えば図11(a)
に示すように、全体の処理が処理実行タイミングの間隔
内でちょうど完了する場合には、電子制御装置の処理能
力に一致した処理が実行されていることとなる。
【0010】一方、図11(b)に示すように、上述し
た予め定められた条件に基づき、処理Aの一部を間引か
れ、処理Bが禁止されたとすると、その他の処理が完了
した後、次の処理Aの実行開始まで、処理が実行されな
い時間が生じてしまう。このように各制御処理におい
て、あらかじめ設定された条件で制御の停止や間引きを
行うと、実際には電子制御装置(例えばマイコンやマイ
コン内のCPU)の処理能力に余裕がある場合であって
も、各制御処理において制御の間引きや停止を行ってし
まう。このような場合には、本来処理を間引く必要はな
く、制御の応答遅れによって制御性が悪化することを防
ぐために、処理を実行した方がよい。
【0011】一方、図11(c)に示すように、エンジ
ン状況によって、「その他」処理が増加した場合、処理
実行間隔内で全体の処理が完了せず、処理の遅れが発生
してしまう場合がある。このように、電子制御装置の処
理能力に余裕がない場合であっても、各制御処理におい
て予め設定された条件を満たさないため制御の間引きや
停止を行わず、全体の処理に、処理の遅れが発生する場
合がある。この遅れを回避する為には、予め処理に余裕
を持って処理Aのさらに一部を間引きする必要がある
が、このように間引きの条件を設定すると、実際の電子
制御装置に処理負荷に余裕がある場合でも、条件を満た
すと処理を間引いてしまうこととなる。
【0012】このように、各処理において予め設定され
た条件によって処理を間引いているため、実際の処理負
荷に応じて適切に処理を間引くことができないという問
題があった。そこで、本発明は、状況に応じて処理量を
容易に調整することができる電子制御装置等を提供する
ことを目的とする。
【0013】
【課題を解決するための手段及び発明の効果】上述した
問題点を解決するためになされた請求項1に記載の電子
制御装置によれば、ある割り込み要因が発生した際に、
複数の異なる割り込みレベルの割り込みが同時にかけら
れる。そして、割り込み処理機構により、この同時にか
けられた割り込み(多重割り込み)によって、最も割り
込みレベルの高い割り込みに対応する実行対象の処理か
ら順に実行される。この実行対象の処理は、複数の処理
単位から構成されており、制御手段は、各割り込みレベ
ルで実行する処理単位を設定する。
【0014】したがって、各処理単位の設定された割り
込みレベルが、割り込み制御機構によって実行対象とな
った際に、その処理単位が実行されることとなる。よっ
て状況に応じて適切に処理量を調整することができる。
例えば、割り込み要因の発生後に割り込みレベルの高い
別の割り込みの多重割り込みがかかった場合や、ある割
り込み要因による割り込み処理に時間がかかり、その割
り込み要因の割り込みが再度その処理中に発生してしま
った場合などには、この割り込みレベルより相対的に低
い割り込みレベルの割り込み処理に割り当てられた処理
単位の実行は自動的に保留されることとなる。一方、割
り込み要因の発生後に、割り込みレベルの高い多重割り
込みがかからない場合や、同一の割り込み要因の割り込
みがその処理中に発生しない場合には、この処理の完了
後に、この処理より相対的に低い割り込みレベルの割り
込み処理中で実行するように割り当てられた処理単位
が、実行されることとなる。このように、割り込み処理
機構によって容易に処理を間引くことができ、処理量を
容易に調整することができる。
【0015】例えば図1に示すように、割り込みレベル
〜の割り込みを同時にかけた場合、多重割り込みが
ない場合には、その割り込みに対応する処理〜処理
が順に実行される。このとき、例えば請求項2に示すよ
うに電子制御装置の持つ状態に応じて、各割り込みレベ
ルに割り当てる処理を変更することで、処理〜の処
理順序を変更することができる。また、この割り込み処
理の実行中に例えば別の割り込み要因によってレベル3
の多重割り込みがかかった場合には、割り込み処理機構
によって、レベル2以下のレベルの処理は自動的に保留
されることとなる。さらに、例えば、この割り込み要因
と同一の割り込みが処理中で再度発生した場合には、
処理は自動的に中断され、処理処理が再度優先的
に実行される。このように状況に応じて処理量を容易に
調整することができる。
【0016】制御手段は、請求項3に示すように、割り
込み起動手段によってかけられた割り込みによって実行
される最も高いレベルの割り込み処理において、どの処
理単位を、どの割り込みレベルの割り込み処理内で実行
するのかを割り当てるとよい。そして、割り込み処理機
構によって、処理が各割り込みレベルの割り込み処理に
移行した際には、その割り込み処理に割り当てられた処
理単位を実行する。例えば図1において、処理内で処
理〜をレベル1〜3のいずれかに割り当てる。
【0017】この割当処理は、例えば請求項4に示すよ
うに、制御手段が、割り込みを受け付けるための複数の
割り込み要求端子を備え、割り込み要求端子毎に対応す
る割り込みレベルを設定可能に構成されている場合に
は、各割り込み端子に対応する割り込みレベルを設定す
ることで行うとよい。
【0018】また、割当処理は、例えば請求項5に示す
ように行ってもよい。すなわち、例えば所定の記憶領域
に、各処理単位を実行する割り込みレベルを記憶してお
き、各割り込みレベルの割り込み処理において、その割
り込み処理の割り込みレベルで実行するように記憶され
た処理単位を実行する。このようにすれば、より柔軟に
各処理単位を実行する割り込みレベルを設定できる。
【0019】このように割当処理によって各処理単位を
実行する割り込みレベルの割り込み処理が決定された
後、制御手段の持つ割り込み処理機構によって、割り込
みレベルの高い割り込みに対応する割り込み処理から順
に実行される。つまり、割り込み処理機構によって実行
対象の割り込みレベルの割り込み処理が自動的に決定さ
れ、決定された実行対象の割り込みレベルの割り込み処
理内で、その割り込み処理に割り当てられた処理単位が
実行される。
【0020】割当処理では、請求項6に示すように、各
処理単位の優先順位(例えば重要度)に基づいて、優先
順位の低い処理単位については、相対的に低い割り込み
レベルの割り込み処理中で実行するように割り当て、優
先順位の高い処理単位については、相対的に高い割り込
みレベルの割り込み処理中で実行するように割り当てる
とよい。このようにすれば、優先順位の高い処理単位
は、優先的に実行されることとなる。例えば各処理単位
の優先順位が動的に変化する場合に特にすぐれた効果を
発揮する。
【0021】こうした各割り込みレベルの割り込み処理
に対する各処理単位の割り当ては、動的に変更するとよ
い。例えば請求項6の構成において優先順位を状況に応
じて動的に変更することにより各処理単位の割り当てを
動的に変更するとよい。例えば、状況に応じて、間引い
てもよい処理単位については、相対的に低い割り込みレ
ベルの割り込み処理中で実行するように割り当て、間引
いてはいけない処理単位については、相対的に高い割り
込みレベルの割り込み処理中で実行するように割り当て
れば、割り込み処理機構によって、処理負荷に余裕のな
い場合には相対的に高い割り込みレベルの割り込み処理
中で実行するように割り当てられた処理単位のみが優先
的に実行されることとなる。このように処理負荷に応じ
て処理の間引きを自動的に行うことができ、処理量を容
易に調整することができる。
【0022】特に請求項7に示すように、制御手段によ
って入力された情報に基づく現在の制御状態に基づい
て、各処理単位の割り当てを決定するとよい。つまり例
えば請求項2における当該電子制御装置の持つ状態とし
て、制御手段によって入力された情報に基づく現在の制
御状態と用いるとよい。このように動的に処理単位を実
行する割り込みレベルの割り込み処理を変更することに
よって、処理順序を最適化することができる。なお、各
制御状態と各処理単位を実行する割り込みレベルとの対
応関係は、例えばテーブルとして保持しておき、当該テ
ーブルに保持された関係に基づいて、各処理単位を実行
する割り込みレベルを決定することができる。
【0023】なお、処理単位は、所定の演算処理や判定
処理のみから構成することもできるが、請求項8に示す
ように制御対象を制御する処理(例えば出力処理)を含
むとよい。このようにすれば、制御を容易に間引くこと
ができる。そして、割り込み処理機構によって、実行す
る割り込み処理が決定されると、相対的に割り込みレベ
ルの低い割り込み処理が長期間(例えば、その処理単位
について定期的な実行が必要な最大間隔を越える期間)
にわたって実行されず、その結果、このような割り込み
処理に割り当てられた処理単位が長期間(長時間)に渡
って実行されない事態が発生することが考えられる。
【0024】そこで、請求項9に示すように、割当処理
では、処理単位のうち所定の不実施条件が成立した処理
単位について、相対的に高い割り込みレベルの割り込み
処理中で実行するように割り当てを変更するとよい。こ
のようにすれば、いつまでも実行されない処理単位の処
理を実行させることができる。なお、所定の不実施条件
は、例えば、請求項10に示すように処理単位が所定時
間以上実行されていない場合に成立させるとよい。
【0025】上述した電子制御装置は、種々の機器の制
御に用いる電子制御装置とすることができる。特に請求
項11に示すように、制御対象がエンジンの場合のよう
に、制御対象の状態に応じて割り込み間隔が変動し、処
理の間引きが必要となるものについて優れた効果を発揮
する。
【0026】そして、請求項12に示すように、請求項
1〜11のいずれかに記載の電子制御装置における制御
手段をコンピュータシステムにて実現する場合、例え
ば、コンピュータシステム側で起動するプログラムとし
て備えることができる。このようなプログラムの場合、
例えば、フレキシブルディスク、光磁気ディスク、CD
−ROM、ハードディスク、ROM、RAM等のコンピ
ュータ読み取り可能な記録媒体に記録し、必要に応じて
コンピュータシステムにロードして起動することにより
用いることができ、また、ネットワークを介してロード
して起動することにより用いることもできる。
【0027】
【発明の実施の形態】以下、本発明が適用された実施例
について図面を用いて説明する。なお、本発明の実施の
形態は、下記の実施例に何ら限定されることなく、本発
明の技術的範囲に属する限り種々の形態を採りうること
は言うまでもない。
【0028】図2に示すように、本実施例の電子制御装
置は、車両のエンジンを制御するために必要な各種のセ
ンサやアクチュエータに接続されたエンジン制御装置
(以下、エンジンECUと称する)10として構成され
ている。エンジンECU10は、CPU、ROM・RA
M等のメモリ、I/O、I/Oに接続されたタイマ・A
/D変換器・通信インターフェース等の周辺回路、これ
らを接続する接続線等を備えた制御手段としてのマイコ
ン14を備えており、ROMに記憶されたプログラムに
従ってCPUがI/Oを制御することにより、センサ等
から情報を取得して、取得した情報に基づき制御対象の
制御量等を決定し、制御を行う。
【0029】図2には、エンジンのクランク軸の所定回
転角(例えば90°)毎にパルスを発生する回転角セン
サ20からの信号を、波形整形回路12で整形し、マイ
コン14へ入力する部分と、水温センサ30が出力する
水温に対応した電圧値をマイコン14のA/D変換端子
に入力する部分について図示している。
【0030】マイコン14は、割り込み要因毎に割り込
み信号を入力するための複数のインプットキャプチャー
割り込み端子を備えており、各々のインプットキャプチ
ャー割り込み端子には、それぞれ割り込みレベルを設定
することができる。回転角センサ20からの信号線は波
形整形回路12を介してマイコン14の3つのインプッ
トキャプチャー端子に接続している。すなわち、回転角
センサ20からの所定回転角毎に発生するパルス信号
は、波形整形回路12によって整形されてマイコン14
の3つのインプットキャプチャー端子に入力される。こ
れら3つのインプットキャプチャー端子の割り込みレベ
ルは、レベル1(図中LVL1で示す)、レベル2(図
中LVL2で示す)、レベル3(図中LVL3で示す)
に、マイコン14のリセット時(電源投入時を含む)に
設定しておく。なお、レベル3が最も優先度が高く、レ
ベル2、レベル1と続く。
【0031】このような構成により、マイコン14のC
PUには、エンジンのクランク軸の所定回転角毎に、レ
ベル1とレベル2とレベル3の割り込みが同時にかかる
(割り込み起動手段に相当する)。すると、マイコン1
4のCPUは、まずレベル2とレベル1の割り込みを保
留し、最も高いレベルであるレベル3の割り込み処理ル
ーチンから実行する。そして、他のレベルの高い割り込
みがなければ、レベル3の割り込み処理ルーチンの実行
が完了するとレベル2の割り込み処理ルーチンを実行
し、レベル2の処理が完了するとレベル1の割り込み処
理ルーチンを実行することとなる。
【0032】レベル3の割り込み処理ルーチンは、図3
に示すように、S110で、前回のS110の実行時点
から今回のS110の実行時点までの時間をマイコン1
4のタイマの値から求め、この時間とパルス信号の発生
する前記所定回転角度とに基づきエンジン回転数を算出
する。また、水温センサ30からA/D変換器を介して
入力される値に基づき水温を求める。
【0033】続くS120では、S110で求めたエン
ジン回転数と水温に基づき、どの処理単位をどの割り込
みレベルで実行するのかを、図4に示す割り込みレベル
マップから取り出して、図5に示す処理レベルテーブル
texecとして保存する。この割り込みレベルマップ
は、各処理の実行すべき割り込みレベルを規定したもの
であり、検出された状態と各処理の重要度(必要性)と
に基づき生成したものである。図4の割り込みレベルマ
ップは、エンジン回転数と水温に応じて、処理A−1,
A−2,A−3,B−1,B−2,B−3の6つの処理
をいずれの割り込みレベルで実行するかを、規定してい
る。割り込みレベル「0」は、その処理を実行しないこ
とを示す。また、処理A−1は、最終点火時期演算処理
であり、処理A−2は点火時期ノック補正処理であり、
処理A−3は点火時期アイドリング補正処理である。そ
して、処理B−1は、点火時期水温補正処理であり、処
理B−2は、燃料噴射量水温補正処理であり、処理B−
3は燃料噴射量始動時補正処理である。
【0034】例えば、エンジン回転数が3000rpm
未満であり、水温が80℃未満の場合には、図4に示す
ように、対応する割り込みレベルマップの値は「333
333」である。したがって、図5(a)に示すよう
に、すべての処理単位(A−1〜B−3)について、そ
の処理を実行する割り込みレベルを3として処理レベル
テーブルtexecに書き込む。また、例えば、エンジ
ン回転数が5000rpm以上、6000rpm未満で
あり、水温が80℃以上の場合には、割り込みレベルマ
ップの値は「320200」となり、図5(b)に示す
ように、「処理A−1は割り込みレベル3、処理A−2
は割り込みレベル2、処理A−3は実行しない、処理B
−1は割り込みレベル2、処理B−2と処理B−3は実
行しない」として処理レベルテーブルを設定する。
【0035】このようにして、エンジン回転数と水温に
基づきる各処理を実行する割り込みレベル(実行しない
場合を含む)を割り込みレベルマップから取り出して、
処理レベルテーブルtexecとして保存する。続くS
140では、処理レベルテーブルtexecの値が
「3」の処理を順に実行する。例えば、処理レベルテー
ブルtexecが図5(b)に示す値の場合には、処理
A−1のみが値「3」(レベル3)であるので、処理A
−1だけを実行する。そして、レベル3のすべての処理
の実行が完了するとこの割り込み処理からリターンす
る。例えば、図5(b)の場合、処理A−1の処理が完
了するとリターンする。したがって、CPUは、処理を
保留していたレベル2の割り込み処理ルーチンへ実行対
象を移す。
【0036】レベル2の割り込み処理ルーチンは、図3
(b)に示すように、処理レベルテーブルtexecに
おいて、値が「2」(レベル2)の処理を実行する。例
えば、処理レベルテーブルtexecが、図5(b)に
示す値の場合には、処理A−2と処理B−1がレベル2
であるので、処理A−2、処理B−1の順に実行する。
そして、レベル2の処理が完了すると(図5(b)の場
合、処理B−1が完了すると)この割り込み処理からリ
ターンする。したがって、CPUは保留となっているレ
ベル1の割り込み処理ルーチンを次に実行する。
【0037】レベル1の割り込み処理ルーチンは、図3
(c)に示すように、レベル2の処理と同様に、処理レ
ベルテーブルtexecにおいて、値が「1」(レベル
1)の処理を実行する。例えば、処理レベルテーブルt
execが図5(b)に示す値の場合には、レベル1の
処理はないので、そのまま終了する。レベル1の処理が
完了すると、割り込み前の他の処理(例えば、割り込み
待ち処理(アイドルループ))へ復帰する。
【0038】このようにして、エンジンのクランク軸の
所定回転角毎に、レベル1とレベル2とレベル3の割り
込みが同時にかけ、算出したエンジン回転数と水温に応
じて、割り込みレベルマップに基づき各割り込みレベル
で実行する処理を決定して、実行する。したがって処理
の間引きを割り込みレベルマップに基づいて自動的に行
うことができる。
【0039】しかも、例えばクランク軸の所定回転角毎
の割り込みによるレベル3の処理の実行中に、これとは
別の割り込み要因(例えばタイマ割り込み)によってレ
ベル3の割り込みがかかった場合、クランク軸の所定回
転角毎の割り込みによるレベル2の処理を実行する前
に、別の割り込み要因(例えばタイマ割り込み)による
レベル3の割り込み処理が実行されることとなる。すな
わち、CPUはレベルの高い処理から実行する(図6
(c)参照)。したがって、処理負荷に応じて適切に処
理を実行することができる。
【0040】この点について、さらに詳細に説明する。
説明を容易にするため、処理間引き前の処理レベルテー
ブルの値が、図5(a)の値であり、処理間引き後の処
理レベルテーブルの値が、図5(c)の値であるとして
説明する。すなわち、例えば、図3のS110、S12
0で、図5(a)(c)の値が処理レベルテーブルte
xecに設定されているものとして説明する。(図4に
は、図5(c)の値はないが、このような値が設定され
ていたものとして説明する。) この場合、処理間引き前の割り込みレベルと処理内容と
の対応関係と、処理間引き後の割り込みレベルと処理内
容との対応関係は、図6(a)に示すようになる。すな
わち処理間引き前は、すべての処理をレベル3で実行す
るのに対し、処理間引き後は、処理A−1,A−2がレ
ベル3の処理、処理A−3がレベル2の処理、処理B−
1,B−2,B−3は実行しない(未実施)となる(図
6(b),図7(a)参照)。
【0041】そして、前述のように、割り込みレベル3
と割り込みレベル2の割り込みが同時にかかるため、割
り込みレベル2の処理は、割り込みレベル3の処理が終
了するまで待って実行される。そして、割り込みレベル
3の処理では、図6(a)の割り込みレベルが3の処理
を、図6(a)の上側に記載した処理から順に実行す
る。すなわち、処理間引き前は、処理A−1,A−2,
A−3,B−1,B−2,B−3の順で実行し、処理間
引き後は、処理A−1,処理A−2の順で実行する(図
7(a)参照)。
【0042】ここで、処理間引き後の処理が完了した
際、すなわち処理A−3が完了した際に、他の割り込み
レベル3の割り込みがかかった場合には、図7(b)上
段に示すようにその他処理が実行される。また、他の割
り込みレベル3の割り込みが、処理A−2中にかかった
場合には、図7(b)中段に示すようにその他処理の実
行完了後に処理A−3が実行される。このように、実行
順序が自動的に適切に変更される。
【0043】また、エンジンの状況によって、その他処
理が増加した場合には、図7(b)下段に示すように、
処理負荷に余裕ができるまでは、処理A−3は実行され
なくなる。このように、処理負荷に応じて処理を間引く
ことができる。なお、その他処理が、図7(b)下段に
示す以上に伸びた場合には、処理A−1などの処理が遅
れることとなるが、このような状態が発生する場合に
は、予め余裕を持って処理A−2のレベルを低く設定し
ておけばよい。
【0044】また、実行すべき処理でありながら、処理
負荷が大きく実行されていない処理については、一定時
間実行されなかった際に、その処理を一時的にレベル3
やレベル4等に設定して強制的に実行させるようにして
もよい。このようにすれば、長時間に渡ってデータが更
新されないなど、処理が実行されないことによる種々の
問題を解決できる。
【0045】このような処理は、図3(a)の処理を、
例えば図8に示すように変更することで行うことができ
る。すなわち、図3(a)のS120とS130との間
に、各処理について、一定時間実行されていないかどう
かを判定し、一定時間実行されていない場合にレベルを
3にする処理を入れる。
【0046】図8において、「xexe(処理名)」は
処理名で示される処理の実施フラグであり、その処理名
の処理の実行が完了した際にセットする。すなわち、図
3のS140、S210、S310で、各処理を実行し
た際にxexe(処理名)=1とする。また、「cex
e(処理名)」は処理名で示される処理の不実施回数を
示すカウンタである。なお、これらの変数は、リセット
時に0に設定する。また「texec(処理名)」は、
処理名で示される処理の処理レベルテーブルtexec
(図5参照)の値である。
【0047】S110、S120で図3(a)と同様に
して処理レベルテーブルtexecを保存し、S131
(A−1)で、xexec(A−1)=1すなわちA−
1実施フラグが実施済みであるか、または、texec
(A−1)=0すなわち処理A−1の処理レベルテーブ
ルtexecの値が0であるかを判定する。
【0048】xexec(A−1)=1またはtexe
c(A−1)=0の場合(S131(A−1):YE
S)、S132(A−1)へ移行して、xexec(A
−1)とcexec(A−1)を0にリセットする。一
方、xexec(A−1)=0かつtexec(A−
1)≠0の場合(S131(A−1):NO)、S13
3(A−1)へ移行する。
【0049】S133(A−1)では、cexe(A−
1)>=100であるか、すなわち、処理A−1の不実
施回数が100回以上であるか否かを判定し、100回
未満の場合には(S133(A−1):NO)S134
(A−1)へ移行して、cexec(A−1)をカウン
トアップ(+1)する一方、処理A−1の不実施回数が
100回以上の場合には、S135(A−1)へ移行し
て、texec(A−1)=3、すなわち、処理A−1
の処理レベルテーブルtexecの値を3に設定する。
【0050】このようにして、処理A−1が実施すべき
状況であるにもかかわらず、実施されていない回数が1
00回以上となる場合に、強制的に割り込みレベル3の
処理(S140の処理)内で、処理A−1を実行させる
ことができる。処理A−2についても、同様にして、S
131(A−2)〜S135(A−2)に示すように処
理を行い、処理A−3、B−1、B−2、B−3につい
ても続けて同様の処理を行う(図示は省略している)。
このようにして、各処理が、長期間に渡って実行されな
いといった事態を防ぐことができる。
【0051】なお、本実施例では、回転数や水温を求め
て図4のテーブルから処理レベルを設定する処理(S1
10,S120)を、実際の処理(処理A−1など)と
同一の処理レベル(レベル3)内で行うこととしたが、
例えば、さらに高いレベル(例えばレベル4)で行うよ
うにしてもよい。すなわち、S110,S120の処理
を処理A−1〜B−3の処理よりも高いレベルで行うよ
うにしてもよい。
【0052】また、本実施例では、エンジン回転数と水
温から各割り込みレベルで実行する処理を設定すること
としたが、エンジン回転数と水温以外のデータに基づい
てレベルを設定してもよい。また本実施例では、図4に
示す割り込みレベルマップから処理レベルテーブルte
xecを得ることとしたが、センサ等の値から直接各処
理を実行する割り込みレベルを設定するようにしてもよ
い。また、例えば、マップによって設定したレベルを、
センサ等の入力値に基づいて変更してもよいし、マップ
自体を動的に変更するようにしてもよい。
【0053】さらに、本実施例では、図3に示すよう
に、レベル3の処理で、各処理単位を実行する割り込み
レベルを決定して記憶しておき、各割り込みレベルの割
り込み処理内で、その記憶に基づきどの処理を行うのか
を判断して実行するようにしたが、例えば、図2のマイ
コン14の各インプットキャプチャー割り込み端子に割
り当てる割り込みレベルを変更するして、各処理単位を
実行する割り込みレベルを変更するようにしてもよい。
【0054】また、本実施例では、エンジンのクランク
軸の所定回転角毎の割り込みにおける処理として説明し
たが、種々の処理に適用でき、エンジンECU以外の装
置においても適用できる。
【図面の簡単な説明】
【図1】割り込みのタイミングと割り込みレベル毎の割
り込み処理の様子を示す説明図である。
【図2】実施例の電子制御装置の構成を示すブロック図
である。
【図3】実施例の電子制御装置におけるクランク軸の所
定回転角毎の割り込みによる各割り込みレベルの処理を
示すフローチャートである。
【図4】割り込みレベルマップの例を示す図である。
【図5】処理レベルテーブルの値の例を示す図である。
【図6】各処理のレベルについての説明図である。
【図7】処理の間引きの様子についての説明図である。
【図8】図3のクランク軸の所定回転角毎の割り込みに
よる割り込みレベル3の処理の別例を示すフローチャー
トである。
【図9】従来の処理の間引きの例を示す説明図である。
【図10】従来の処理の間引きの別例を示す説明図であ
る。
【図11】従来の処理の間引きによる処理状態の例を示
す図である。
【符号の説明】
10…エンジンECU 12…波形整形回路 14…マイコン 20…回転角センサ 30…水温センサ

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】所定の割り込み要因の発生に応じて実行す
    る実行対象の処理が複数の処理単位から構成されてお
    り、 多重割り込みがかかった際に割り込みレベルの相対的に
    高い割り込みに対応する割り込み処理から実行する割り
    込み処理機構を有する制御手段と、 前記所定の割り込み要因の発生時に複数の異なる割り込
    みレベルの割り込みを同時にかける割り込み起動手段と
    を備え、 前記制御手段は、各割込みレベルで実行する処理単位を
    設定することを特徴とする電子制御装置。
  2. 【請求項2】請求項1に記載の電子制御装置において、 前記制御手段は、当該電子制御装置の持つ状態に応じ
    て、前記各割り込みレベルで実行する処理単位の設定を
    変更することを特徴とする電子制御装置。
  3. 【請求項3】請求項1または2に記載の電子制御装置に
    おいて、 前記制御手段は、前記割り込み起動手段によってかけら
    れた割り込みによって実行される最も割り込みレベルの
    高い割り込み処理において、前記処理単位を、当該割り
    込みレベル以下のいずれの割り込みレベルの割り込み処
    理内で実行するのかを割り当てる割当処理を行い、各割
    り込みレベルの割り込み処理において前記割当処理によ
    って割り当てられた処理単位を実行することを特徴とす
    る電子制御装置。
  4. 【請求項4】請求項3に記載の電子制御装置において、 前記制御手段は、割り込みを受け付けるための複数の割
    り込み要求端子を備え、前記割り込み要求端子毎に実行
    対象の処理単位が対応付けられ、前記割り込み要求端子
    毎に対応する割り込みレベルを設定可能に構成されてお
    り、前記割当処理は、各割り込み要求端子に対応する割
    り込みレベルを設定することで行うことを特徴とする電
    子制御装置。
  5. 【請求項5】請求項3に記載の電子制御装置において、 前記制御手段は、前記割当処理において、各処理単位を
    実行する割り込みレベルを記憶しておき、前記各割り込
    みレベルの割り込み処理において、当該割り込み処理の
    割り込みレベルで実行するように記憶された処理単位を
    実行することを特徴とする電子制御装置。
  6. 【請求項6】請求項3〜5のいずれかに記載の電子制御
    装置において、 前記割当処理では、各処理単位の優先順位に基づいて、
    優先順位の低い処理単位については、相対的に低い割り
    込みレベルの割り込み処理中で実行するように割り当
    て、優先順位の高い処理単位については、相対的に高い
    割り込みレベルの割り込み処理中で実行するように割り
    当てることを特徴とする電子制御装置。
  7. 【請求項7】請求項3〜6のいずれかに記載の電子制御
    装置について、 前記割当処理では、前記制御手段によって入力された情
    報に基づく現在の制御状態に基づいて、前記割り当てを
    決定することを特徴とする電子制御装置。
  8. 【請求項8】請求項3〜7のいずれかに記載の電子制御
    装置において、 前記処理単位は、前記制御手段が制御対象を制御する処
    理を含むことを特徴とする電子制御装置。
  9. 【請求項9】請求項3〜8のいずれかに記載の電子制御
    装置において、 前記割当処理では、前記処理単位のうち所定の不実施条
    件が成立した処理単位について、相対的に高い割り込み
    レベルの割り込み処理中で実行するように割り当てを変
    更することを特徴とする電子制御装置。
  10. 【請求項10】請求項9に記載の電子制御装置におい
    て、 前記所定の不実施条件は、前記処理単位が所定時間以上
    実行されていない場合に成立させることを特徴とする電
    子制御装置。
  11. 【請求項11】請求項1〜10のいずれかに記載の電子
    制御装置において、 制御対象がエンジンであることを特徴とする電子制御装
    置。
  12. 【請求項12】請求項1〜11のいずれかに記載の電子
    制御装置における制御手段としてコンピュータを機能さ
    せるためのプログラム。
JP2002150716A 2002-05-24 2002-05-24 電子制御装置、プログラム Pending JP2003345404A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002150716A JP2003345404A (ja) 2002-05-24 2002-05-24 電子制御装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002150716A JP2003345404A (ja) 2002-05-24 2002-05-24 電子制御装置、プログラム

Publications (1)

Publication Number Publication Date
JP2003345404A true JP2003345404A (ja) 2003-12-05

Family

ID=29768501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002150716A Pending JP2003345404A (ja) 2002-05-24 2002-05-24 電子制御装置、プログラム

Country Status (1)

Country Link
JP (1) JP2003345404A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008163851A (ja) * 2006-12-28 2008-07-17 Toyota Motor Corp 内燃機関の制御システムおよび制御方法
JP2011005952A (ja) * 2009-06-25 2011-01-13 Toyota Motor Corp 車載制御装置
JP2015218695A (ja) * 2014-05-21 2015-12-07 三菱電機株式会社 車両用電子制御装置
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008163851A (ja) * 2006-12-28 2008-07-17 Toyota Motor Corp 内燃機関の制御システムおよび制御方法
JP2011005952A (ja) * 2009-06-25 2011-01-13 Toyota Motor Corp 車載制御装置
JP2015218695A (ja) * 2014-05-21 2015-12-07 三菱電機株式会社 車両用電子制御装置
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法

Similar Documents

Publication Publication Date Title
JP3578082B2 (ja) 処理実行装置及び記録媒体
US7269678B2 (en) Interrupt request program and microcomputer
JP5423685B2 (ja) 車両用電子制御システム、車両用電子制御ユニット、車両用制御同期方法
JP5515792B2 (ja) 内燃機関制御装置
US6581119B1 (en) Interrupt controller and a microcomputer incorporating this controller
CN111913790A (zh) 任务调度方法、装置、家用电器和计算机可读存储介质
JP2003345404A (ja) 電子制御装置、プログラム
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
JPH11232148A (ja) 計算機の負荷率計測方法及び計測システム
JP7263746B2 (ja) 情報処理装置
US6389353B2 (en) Electronic control apparatus and method for engines
JP6394442B2 (ja) 電子制御装置
JP2002149421A (ja) 情報処理装置
JP2021015613A (ja) 電子制御装置
JP2006172229A (ja) タスクの動作制御方法、タスクの動作制御システムおよびプログラム
JP3736123B2 (ja) パワー制御回路
JPH0816459B2 (ja) エンジンの制御装置
JP2018072921A (ja) 車載電子制御装置
JP3257932B2 (ja) エンジン制御方法
JP2023047154A (ja) 電子制御装置
JP2000347882A (ja) 制御プログラムの処理装置
JP2947667B2 (ja) パルス信号出力制御装置
JP2001273152A (ja) 電子制御装置
JP3362673B2 (ja) チャネルコントロール装置
JP2002259139A (ja) マイクロコンピュータ、プログラム及び記録媒体