(57)【要約】  【課題】  ＣＰＵの実際の負荷率の変動にリアルタイムに対応して特定タスクを実行することができる車載電子制御装置を提供する。  【解決手段】  外部割込み信号として周期的に入力されるパルス信号に基づく割込み処理時に特定タスクを実行するＣＰＵを備えた車載電子制御装置であって、前記ＣＰＵの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段１２が、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段１３と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段１４と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段１５とを備え、前記余剰時間計時手段１３が、前記ＣＰＵの負荷率に応じた余剰時間を計時する。【選択図】  図１
2007079772.tif 000002
【特許請求の範囲】
【請求項１】
周期的に発生する割込み処理時に特定タスクを実行するＣＰＵを備えた電子制御装置であって、
前記ＣＰＵの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段を備えている電子制御装置。
【請求項２】
前記タスク管理手段は、複数の割込み処理に対して夫々に対応する特定タスクの実行周期を予め設定された優先度に基づいて異ならせる請求項１記載の電子制御装置。
【請求項３】
前記タスク管理手段は、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段とを備え、前記余剰時間計時手段が、前記ＣＰＵの負荷率に応じた余剰時間を計時する請求項１または２記載の電子制御装置。
【請求項４】
前記実行周期設定手段は、前記余剰時間に基づいて前記負荷率が大であるほど前記実行周期を大に設定する請求項３記載の電子制御装置。
【請求項５】
前記余剰時間が所定時間以上継続して所定の値より小となるときに前記ＣＰＵをリセットする初期化手段を設けてある請求項３または４記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周期的に発生する割込み処理時に特定タスクを実行するＣＰＵを備えた電子制御装置に関する。
【背景技術】
【０００２】
従来、特許文献１に記載されているように、車速センサやクランク角センサ等からの外部パルス信号が割込み信号として入力され、前記パルス信号による割込み処理時にそれらのパルス信号をカウントし或いはパルス幅を演算処理して車速やクランク角を導出するとともに、ベース処理またはイベント処理において燃料の噴射タイミングや噴射量等を演算するような特定のタスクを実行するＣＰＵを備えたエンジン制御ユニット等の車載電子制御装置では、エンジン回転数の上昇に比例して割込みインタバルが短くなることもあり、ＣＰＵの負荷率が増大する傾向がある。そのようなＣＰＵの負荷率が１００％を超えると本来実行されるべきタスクが所定タイミングで実行されず、良好なエンジン制御が行なえなくなる。  
【０００３】
そのため、図１１（ａ）、（ｂ）に示すように、特許文献１では、外部パルス信号Ｐに対応する割込み処理時の特定タスクの実行周期を例えばエンジンの回転数領域により分周して、所定の分周周期、例えば２倍の周期で必要なタスクを実行したり、前回の実行時から一定時間経過したときに必要なタスクを実行することにより、負荷の分散を図ることによりＣＰＵの負荷率の増大に対応していた。
【０００４】
また、特許文献２には、ＣＰＵによる負荷を分散させる車載電子制御装置として、エンジン又は車載機器の各種制御に関する処理を定期的に実施するマイクロコンピュータを搭載し、該定期的に実施される処理毎にマイクロコンピュータがメモリ内のチェックサムを分割して算出する特定タスクを実行する車載電子制御装置であり、エンジン回転数を指標として推定されるマイクロコンピュータの負荷率に応じて、チェックサムの算出時に１度に加算するバイト数を変更する技術が提案されている。
【特許文献１】特開２０００−３１０１５１号公報
【特許文献２】特開２００１−２２７４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上述した従来技術によれば、特定タスクの実行回数を一律に制限することによりＣＰＵの実行負荷を軽減するものではあるが、ＣＰＵ全体の実際の負荷率の変動にリアルタイムに対応して特定タスクを実行しているものではないため、不必要に負荷が軽減される場合や十分に負荷が軽減されない場合もあり、特定タスクの負荷分散という観点でさらなる改良の余地があった。
【０００６】
本発明は、上述した従来の問題点に鑑み、ＣＰＵの実際の負荷率の変動にリアルタイムに対応して適切に特定タスクを実行することができる電子制御装置を提供する点にある。
【課題を解決するための手段】
【０００７】
上述の目的を達成するため、本発明による電子制御装置の第一の特徴構成は、周期的に発生する割込み処理時に特定タスクを実行するＣＰＵを備えた電子制御装置であって、前記ＣＰＵの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段を備えている点にある。
【０００８】
上述の構成によれば、ＣＰＵの負荷率が大きくなればタスク制御手段が特定タスクの実行周期を長くして負荷率の異常な上昇を回避し、負荷率が小さくなればタスク制御手段が特定タスクの実行周期を短くして当該特定タスクを適切に実行させるので、ＣＰＵの負荷率の変動にかかわらず、所期の制御を安定的に実現できるようになるのである。
【０００９】
例えば、車載電子制御装置がエンジンの駆動制御を行なうエンジンＥＣＵであれば、エンジンの回転数が大きくなりＣＰＵの負荷率が高くなったときには、回転数も比較的安定しているため、前記特定タスクの実行周期を不都合が生じることの無い範囲で長く設定することにより、単位時間当たりの前記特定タスクの実行回数を削減して、前記ＣＰＵの負荷率を低減することができる。
【００１０】
逆にエンジンの回転数が小さくなりＣＰＵの負荷率が低くなったときには、前記特定タスクの実行周期を短く設定することにより単位時間当たりの実行回数を増大させることにより、回転数の変動が比較的大きな低速域においても適切な特定タスクの実行が可能になるのである。
【００１１】
同第二の特徴構成は、上述した第一特徴構成に加えて、前記タスク管理手段は、複数の割込み処理に対して夫々に対応する特定タスクの実行周期を予め設定された優先度に基づいて異ならせる点にある。
【００１２】
上述の構成によれば、例えば、前記ＣＰＵの負荷率が高いときに、優先度の高い、つまり、重要度の高い特定タスクの実行周期をあまり長く設定することなく、代わりに、優先度の低い、つまり、重要度の低い特定タスクの実行周期を長く設定すれば、より優先度の高い特定タスクの単位時間当たりの実行回数を確保した上で、前記ＣＰＵの負荷率の低減を行なうことが可能となるのである。つまり、エンジン制御不良を発生させることなく、前記ＣＰＵの負荷率を低減させることが可能となるのである。
【００１３】
同第三の特徴構成は、上述した第一または第二特徴構成に加えて、前記タスク管理手段は、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段とを備え、前記余剰時間計時手段が、前記ＣＰＵの負荷率に応じた余剰時間を計時する点にある。
【００１４】
上述の構成によれば、特定タスク実行制御手段が、前記ＣＰＵの負荷率に応じた余剰時間により設定される実行周期に基づいて前記特定タスクの実行を許容するため、ＣＰＵの実際の負荷率の変動にリアルタイムに対応して特定タスクを実行する車載電子制御装置とすることができるのである。
【００１５】
同第四の特徴構成は、上述した第三特徴構成に加えて、前記実行周期設定手段は、前記余剰時間に基づいて前記負荷率が大であるほど前記実行周期を大に設定する点にある。
【００１６】
上述の構成とすることにより、ＣＰＵの負荷率が高くなったときに、確実に、前記特定タスクの実行周期を通常設定されている実行周期よりも長く設定することができるのである。つまり、単位時間当たりの前記特定タスクの実行回数を削減することができ、確実に、前記ＣＰＵの負荷率を低減することができるのである。
【００１７】
同第五の特徴構成は、上述した第三または第四特徴構成に加えて、前記余剰時間が所定時間以上継続して所定の値より小となるときに前記ＣＰＵをリセットする初期化手段を設けてある点にある。
【００１８】
上述の構成によれば、初期化手段が、前記余剰時間が所定時間以上継続して所定の値より小となるときに前記ＣＰＵをリセットするため、例えば、前記ＣＰＵの負荷率が１００％になったと推定できるような異常なときや、ＣＰＵが暴走して無限ルーチンを回る等の正規のプログラムが実行されないような異常なときに前記ＣＰＵをリセットすることにより、速やかに正常な状態に復帰させてエンジン制御不良の発生を防止することができるのである。
【発明の効果】
【００１９】
以上説明した通り、本発明によれば、ＣＰＵの実際の負荷率の変動にリアルタイムに対応して適切に特定タスクを実行することができる電子制御装置を提供することができるようになった。具体的には、ＣＰＵ負荷が大きいときには優先度に応じてタスクの実行周期を長くすることで、効率的にＣＰＵの負荷を下げ、優先度の高いタスクをより確実に実行させることができるようになった。
【発明を実施するための最良の形態】
【００２０】
以下に本発明による電子制御装置の実施形態について説明する。本発明による車載電子制御装置０１（以下、「ＥＣＵ」と記す）のハードウェア構成は、図２に示すように、所定の制御プログラムを実行するＣＰＵ０２と、制御データを一時的に記憶するＲＡＭ０３と、前記制御プログラムや判定用データ等を格納したＲＯＭ０４と、各種センサからのアナログ信号をデジタル信号に変換するＡ／Ｄ変換器（不図示）と、前記各種センサからのアナログ信号やデジタル信号を入力するための複数の入力ポート（不図示）と、各種アクチェータへデジタル信号を出力するための複数の出力ポート（不図示）等を備えて構成されている。尚、入力ポートには後述する割込み処理を起動するための割込み入力ポートが含まれる。つまり、前記ＥＣＵ０１は、前記各入力ポートを介してエンジンの回転数を検出する回転数センサ０５や、エンジン吸気管内の圧力を検出する吸気管圧力センサ０６、空燃比を検出するＡ／Ｆセンサ０７、エンジン冷却水の温度を検出する冷却水温センサ０８、吸気温度を検出する吸気温度センサ０９等の各種センサからのアナログ信号やデジタル信号を入力し、前記各種入力信号から検出されるエンジン回転数や、吸気管圧力、空燃比、エンジン冷却水の温度、吸気温度等に基づいて、前記出力ポートを介して燃料噴射弁１０や点火制御装置１１等の各種アクチェータへデジタル制御信号を出力することで、燃料噴射制御や点火時期制御等を実施するように構成されている。  
【００２１】
前記ＣＰＵ０２は、リセット後のＣＰＵの初期化処理や初期化終了後に繰り返し実行されるベース処理、外部割込み信号に基づく複数の割込み処理等の各種処理を実行することで、前記各種制御プログラムに基づく所定の演算処理等を実行するように構成されている。
【００２２】
前記ＣＰＵ０２における演算処理にかかる機能ブロック構成は、図１に示すように、各種プログラムの初期化を行なう初期化処理手段２０と、主タスクとしての所定の演算処理を繰り返し実行するベース処理手段２１と、前記外部割込み信号に基づく割込み処理時に特定タスクとしての演算処理を行なう割込み処理手段２２と、前記ＣＰＵ０２の負荷率に応じて前記特定タスクの実行周期を異ならせるタスク管理手段１２を備えて構成されている。
つまり、前記ＣＰＵ０２は、前記ＥＣＵ０１が起動されると、前記初期化処理手段２０により各種プログラムの初期化を行なう初期化処理を行ない、その後、前記ベース処理手段２１によりベース処理となる主タスクとしての各種演算を繰り返し実行するが、前記入力ポートを介して前記各種センサから周期的なパルス信号としての所定の割込み信号が入力されると、前記割込み処理手段２２により、その都度、前記周期的なパルス信号に基づいて前記ベース処理を一旦中断し、代わりに、前記パルス信号に基づいた割込み処理を行い、前記特定タスクとしての演算処理等の終了の後、再度、前記ベース処理を繰り返し実行するように構成されている。
【００２３】
詳述すると、当該ＣＰＵ０２にリセット信号が入力されると、前記初期化処理手段２０は、図３に示すように、当該ＣＰＵ０２の動作環境の設定（ＳＡ１）、前記ＲＡＭ０３の初期化（ＳＡ２）、前記ベース処理の繰り返し回数をカウントするための内部カウンタＫの０へのリセット（ＳＡ３）、前記入力ポートを介した各種センサから所定のパルス信号等に基づいた割り込み処理の許可（ＳＡ４）等を実行する。
【００２４】
前記ベース処理手段２１は、図４に示すように、前記エンジン回転数と吸気管圧力に基づいた基本燃料噴射量の演算（ＳＢ１）、前記エンジン冷却水の温度や吸気温度等に基づいた温度補正燃料噴射量の演算（ＳＢ２）、前記空燃比に基づいた空燃比補正燃料噴射量の演算（ＳＢ３）、前記基本燃料噴射量や、前記温度補正燃料噴射量、前記空燃比補正燃料噴射量に基づいた燃料噴射量の演算（ＳＢ４）、前記空燃比補正燃料噴射量に基づいた燃料点火時期の演算（ＳＢ５）、前記内部カウンタＫのインクリメント（ＳＢ６）等の主タスクを繰り返し実行する。
【００２５】
図１に戻り、前記割込み処理手段２２は、前記基本燃料噴射量の演算等に適用されるエンジン回転数の演算を行うエンジン回転数割込み演算部２３、前記空燃比補正燃料噴射量の演算等に適用される車速の演算を行う車速割込み演算部２４、タービン回転数の演算を行うタービン回転数割込み演算部２５、例えば、ＣＶＴ車であった場合におけるプライマリプーリ回転数の演算を行うプライマリプーリ回転数割込み演算部２６、同じくＣＶＴ車であった場合におけるセカンダリプーリ回転数の演算を行うセカンダリプーリ回転数割込み演算部２７等、各種特定タスクとしての演算処理に対応する割込み演算部を備えて構成され、前記各種割込み演算部２３、２４、２５、２６、２７は、それぞれに対応した前記各種パルス信号に基づいた割込み処理タイミングで、図５（ａ）、図５（ｂ）、図５（ｃ）、図５（ｄ）、図５（ｅ）に示すような、後述するタスク実行判断処理（ＳＣ１、ＳＤ１、ＳＥ１、ＳＦ１、ＳＧ１）と、それぞれに対応した特定タスクとしての演算処理（ＳＣ２、ＳＤ２、ＳＥ２、ＳＦ２、ＳＧ２）とを実行する。尚、前記特定タスクは、後述する実行周期に基づいてその実行が許容されるように構成されている。
【００２６】
また、前記割込み処理手段２２による割込み処理には、前記各種割込演算部２３、２４、２５、２６、２７毎にそれぞれ優先度が割り当てられた構成となっている。例えば、図６に示すように、優先度の高い割込み演算部Ａが割込み処理を実行中に、優先度の低い他の割込み演算部Ｂからの割込み処理要求があったときには、前記優先度の低い他の割込み演算部Ｂによる割込み処理は、前記優先度の高い割込み演算部Ａによる割込み処理の終了を待って実行されるように構成され、また、優先度の低い割込み演算部Ｃが割込み処理を実行中に、優先度の高い他の割込み演算部Ａからの割込み処理要求があったときには、前記優先度の低い割込み演算部Ｃによる割込み処理を一旦中断し、代えて、前記優先度の高い他の割込み演算部Ａによる割込み処理を実行し、前記優先度の高い他の割込み演算部Ａによる割込み処理の終了の後、前記優先度の低い割込み演算部Ｃによる割込み処理を再開するように構成されている。尚、上述したように、前記ベース処理は、前記各種割込み演算部２３、２４、２５、２６、２７が割込み処理を実行中には、その実行を中断し、待ちの状態となっている。
ここで、前記ＣＰＵ０２の負荷率は、例えば、単位時間当たりにおける、前記ベース処理の待ち時間を前記ベース処理の実行時間で除したときの割合として定義することが可能である。つまり、前記ベース処理部２１は、余力を持って主タスクとしての各種演算処理を行うことで、たとえ前記各種割込み演算部２３、２４、２５、２６、２７からの割込み処理があったときでも、十分に主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適用可能なように構成されている。しかし、所定の負荷率よりも大きくなったときには、つまり、待ち時間が所定の時間よりも大きくなったときには、前記主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適切に反映できなくなる場合が生じるが、上述のように定義すればその指標とすることができる。
【００２７】
図１に戻り、前記タスク管理手段１２は、前記ＣＰＵ０２の負荷率に応じて前記特定タスクの実行周期を異ならせる前記タスク実行判断処理にかかるもので、前記ＣＰＵ０２の負荷率を実行される前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間を計時する余剰時間計時手段１３と、前記余剰時間計時手段１３により計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段１４と、前記実行周期設定手段１４により設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段１５とを備えて構成されている。
【００２８】
前記余剰時間計時手段１３は、前記ベース処理におけるカウンタＫの計数処理とカウンタＫの値に基づいて前記ＣＰＵ０２の負荷率に応じた余剰時間を取得するタイマー割込み処理で構成され、当該余剰時間計時手段１３が割込み処理を行うときの優先度が、前記割込み処理部２２における各種割込み演算部２３、２４、２５、２６、２７の何れの優先度よりも低く設定され、また、一定の周期でクロック信号を発信する内部クロックと、前記クロック信号を計測する内部カウンタＭとを備え、前記内部カウンタＭの値に基づいた割込み処理により前記内部カウンタＫの値を前記余剰時間Ｔｃとして取得し、更に、前記内部カウンタＫの値を０にリセットするように構成されている。
【００２９】
以下、前記余剰時間計時手段１３の動作について図７のフローチャートに基づいて説明する。前記ＥＣＵ０１が起動されると、前記余剰時間計時手段１３は、前記内部カウンタＭを０にリセットし（ＳＨ１）、前記内部クロックが、前記クロック信号の発信を開始するとともに（ＳＨ２）、前記内部カウンタＭが前記クロック信号の発信に基づいてそのカウント値をインクリメントすることで前記クロック信号数を時間として計測する（ＳＨ３）。そして、前記内部カウンタＭのカウント値が所定のカウント閾値Ｍｔｈを超えたときに（ＳＨ４）、タイマー割り込み処理を行なう。
【００３０】
つまり、前記割込み処理部２２による割込み処理が実行されていなければ（ＳＨ５）、そのまま、割込み処理を開始することで前記ベース処理を中断させる（ＳＨ６）。一方、前記割込み処理部２２による割込み処理が実行されているときには（ＳＨ５）、前記割込み処理部２２による割込み処理が終了するのを待って、割込み処理を開始することで前記ベース処理を中断させる（ＳＨ６）。
そして、前記内部カウンタＫの値を前記余剰時間Ｔｃとして取得するとともに（ＳＨ７）、前記内部カウンタＫの値を０にリセットし（ＳＨ８）、割込み処理を終了する（ＳＨ９）。
尚、前記ステップＳＨ１から前記ステップＳＨ９は繰り返し実行されるように構成されている。
【００３１】
つまり、前記余剰時間計時手段１３は、前記割込み処理部２２による割込み処理が頻繁に実行されているときには、前記ベース処理にかかる演算処理の実行時間が短く代わりに待ち時間が長く、そして、前記ベース処理の繰り返し実行回数が少なくなっているため、そのときの前記内部カウンタＫの値としての前記余剰時間Ｔｃを小さな値として取得することができ、また、前記割込み処理部２２による割込み処理が余り実行されていないときには、前記ベース処理にかかる演算処理の実行時間が長く代わりに待ち時間が短く、そして、前記ベース処理の繰り返し実行回数が多くなっているため、そのときの前記内部カウンタＫの値としての前記余剰時間Ｔｃを大きな値として取得することができる。換言すると、前記ＣＰＵ０２の負荷率が大きいときには、前記余剰時間Ｔｃを小さな値として取得し、前記ＣＰＵ０２の負荷率が小さいときには、前記余剰時間Ｔｃを大きな値として取得する。つまり、前記ＣＰＵ０２の負荷率に応じた余剰時間を計時するように構成されている。
前記実行周期設定手段１４は、図８に示すような、前記特定タスク毎に予め記憶された余剰時間と実行周期との関係テーブルから、前記余剰時間計時手段１３により計時された余剰時間Ｔｃに応じた前記特定タスクの実行周期を設定するように構成されている。前記余剰時間Ｔｃが大きいとき、つまり、前記ＣＰＵ０２の負荷率が小さいときには、前記特定タスクの実行周期を短く（小に）、前記余剰時間Ｔｃが小さいときには、つまり、前記ＣＰＵ０２の負荷率が大きいときには、前記特定タスクの実行周期を長く（大に）設定するように構成されている。尚、前記実行周期は、割込み処理における予め設定された優先度に応じて、特定タスク毎に異なるように設定される構成としてもよい。
また、前記特定タスクにおける実行周期の設定は、前記余剰時間計時手段１３による前記余剰時間Ｔｃの取得とともに実施されることで随時更新される。
【００３２】
前記特定タスク実行制御手段１５は、前記各種割込み演算部２３、２４、２５、２６、２７のそれぞれに対応した内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）を備え、前記各種割込み演算部２３、２４、２５、２６、２７毎に割込み処理回数をカウントし、前記内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）の値が、前記実行周期設定手段１４により設定された各特定タスクに対応する実行周期Ｌ（Ｌ１、Ｌ２、Ｌ３、Ｌ４、Ｌ５）と等しくなったときに、前記特定タスクの実行を許容するように構成されている。尚、前記内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）は、前記ＥＣＵ０１の起動とともに０にリセットされるように構成されている。
【００３３】
以下、前記ステップＳＣ１、前記ステップＳＤ１、前記ステップＳＥ１、前記ステップＳＦ１、前記ステップＳＧ１における、前記タスク実行判断処理及びタスク実行の許容について図９のフローチャートに基づいて説明する。前記周期的なパルス信号としての所定のアナログまたはデジタル信号が入力され、所定の入力信号に対応した割込演算部が割り込み処理を開始すると、前記実行周期設定手段１４は、前記割込み演算部に対応した内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）のカウント値をインクリメントし（ＳＫ１）、前記割込演算部に対応した前記内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）のカウント値を、そのときにおける前記実行周期設定手段１４により設定されている前記割込演算部に対応した特定タスクの実行周期Ｌ（Ｌ１、Ｌ２、Ｌ３、Ｌ４、Ｌ５）と比較し、それ以上の値となっていれば、前記割込演算部に対応した特定タスクとしての演算処理を許容するとともに（ＳＫ３）、前記内部カウンタＮ（Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５）を０にリセットし（ＳＫ４）、また、それよりも小さな値となっていれば、そのまま前記割込み演算部による割込み処理を終了させる（ＳＫ５）。
【００３４】
つまり、図１０に示すように、前記ＣＰＵ０２の負荷率が大きいときには、前記特定タスクの実行を所定回数だけ省き、前記割込み処理に費やす時間を削減することで前記ＣＰＵ０２の負荷率を低減させ、また、前記ＣＰＵ０２の負荷率が小さいときには、確実に特定タスクを実行させるというように、前記ＣＰＵ０２の実際の負荷率の変動にリアルタイムに対応して特定タスクを実行する。
【００３５】
以下、別の実施形態について説明する。上述の実施形態に加えて、前記余剰時間Ｔｃが所定時間Ｒｔｈ以上継続して所定の値Ｔｃｔｈより小となるときに前記ＣＰＵ０２をリセットする初期化手段を設けた構成としてもよい。つまり、前記余剰時間計時手段１３が前記余剰時間Ｔｃを取得する都度、前記初期化手段が前記余剰時間Ｔｃを記憶し、所定の回数Ｒｔｈ以上連続して所定の値Ｔｃｔｈより小となるときに、前記初期化処理手段に対してリセット信号を送信し、前記初期化処理手段が前記リセット信号に基づいて上述の図３における前記ステップＳＡ１から前記ステップＳＡ４の処理を行なう構成としてもよい。例えば、前記ＣＰＵ０２の負荷率が１００％になったと推定できるようなときに前記ＣＰＵをリセットすることで、前記ＣＰＵの負荷率の増大によるエンジン制御不良の発生を防止することができ好ましい。
【００３６】
また、前記初期化手段は、前記ステップＳＨ５の際に、つまり、前記余剰時間計時手段１３が割込み処理を開始するための待ち時間をカウントし、前記待ち時間が所定の時間以上になったときに、前記初期化処理手段に対してリセット信号を送信し、前記初期化処理手段が前記リセット信号に基づいて上述の図３における前記ステップＳＡ１から前記ステップＳＡ４の処理を行なう構成としてもよい。例えば、前記ＣＰＵ０２の負荷率が１００％になったと推定できるようなときに前記ＣＰＵをリセットすることで、前記ＣＰＵの負荷率の増大によるエンジン制御不良の発生を防止することができ好ましい。
【００３７】
上述した実施形態では、特定タスクとしてのエンジン回転数の演算処理を割込み処理の度に実行するものを説明したが、ＣＰＵが高負荷のときに分周して処理するように構成するものであってもよい。
【００３８】
上述した実施形態では、図４に示すように、前記ベース処理手段２１が、前記エンジン回転数と吸気管圧力に基づいた基本燃料噴射量の演算（ＳＢ１）、前記エンジン冷却水の温度や吸気温度等に基づいた温度補正燃料噴射量の演算（ＳＢ２）、前記空燃比に基づいた空燃比補正燃料噴射量の演算（ＳＢ３）、前記基本燃料噴射量や、前記温度補正燃料噴射量、前記空燃比補正燃料噴射量に基づいた燃料噴射量の演算（ＳＢ４）、前記空燃比補正燃料噴射量に基づいた燃料点火時期の演算（ＳＢ５）、内部カウンタＫの計時処理（ＳＢ６）等の主タスクを順次繰り返し実行し、前記余剰時間計時手段１３が、タイマー割込み処理で前記余剰時間Ｔｃとして前記内部カウンタＫの取得と、前記内部カウンタＫの値を０にリセットする構成について説明したが、前記ベース処理手段２１をアイドル処理手段とし、ここで実行される処理を内部カウンタＫの計時処理のみとして、前記基本燃料噴射量の演算、空燃比補正燃料噴射量の演算、燃料噴射量の演算、及び、燃料点火時期等の各主タスクをイベント、つまりタイマー割込みや外部からのパルス入力をトリガとして実行するイベント駆動型の制御構成を採用するものに対しても本発明を適用することができる。
【００３９】
即ち、優先的に実行される外部割込み処理やタイマー割込み処理が発生しない間のみアイドル処理で内部カウンタＫが計時されるように構成して、外部割込み処理の発生頻度が低いＣＰＵの負荷率の減少時に内部カウンタＫの値が大きく、頻繁に外部割込み処理が発生するＣＰＵの負荷率が増大時に内部カウンタＫの値が小さくなるように構成してもよい。
【００４０】
具体的には、上述のベース処理手段で実行されていたタスクのうち、例えば、エンジン回転数割込演算部２３で制御されるインジェクションに対する噴射パルスやイグニッションコイルに対する点火パルスに対応して、当該割込み処理で燃料噴射量や点火時期の演算を行ない、水温や油温のモニタ処理、負荷量の演算処理、余剰時間Ｔｃの演算処理等の等緊急性の低いタスクをタイマー割込み処理で実行するように構成することができる。
【００４１】
ここで、タイマー割込み処理をインタバルの異なる複数のタイマー割込み処理に分割し、比較的重要度の高い割込み処理をインタバルの短い割込み処理で実行し、重要度の低い割込み処理をインタバルの短い割込み処理で実行するように構成することにより、ＣＰＵにかかる負荷を分散させることもできる。
【００４２】
そして、このようなイベント駆動型の場合には、上述した何れかのタイマー割込み処理時に前記余剰時間計時手段１３による余剰時間の演算処理が実行されるように構成することができる。つまり、何れかのタイマー割込み処理において内部カウンタＫの値を余剰時間Ｔｃとして取得するように構成すれば、当該タイマー割込み処理においてＣＰＵの負荷率が求められ、この値に基づいて各割込み処理に設定されている特定タスクの実行の可否が判断されるようになる。尚、余剰時間の演算処理は最も優先順位の低い割込み処理で実行されるのが好ましい。
【００４３】
外部割込み処理で実行が予定されている複数のタスクに対して、上述のようにして求められた余剰時間の値に応じて何れのタスクを実行するのかを判断することにより、ＣＰＵの負荷率に応じて、前記特定タスクの実行周期を異ならせることができるようになる。
【００４４】
例えば、エンジン回転数割込演算部２３において、ＣＰＵの負荷率が大であると判断されるときには、回転数を求める演算処理を毎回行なうのではなく、負荷率に応じて実行周期を変えることによりＣＰＵ負荷を軽減させる一方、燃料噴射量や点火時期の演算は次回の噴射パルスや点火パルスの出力タイミングに間に合うように毎回実行するように構成することができる。同様に、例えば、車速割込み演算部２４においても、ＣＰＵの負荷率が大であると判断されるときには、車速を求める演算処理を毎回行なうのではなく、負荷率に応じて実行周期を変えることによりＣＰＵ負荷を軽減させることができるようになるのである。
【００４５】
さらに、上述した別実施形態において、アイドル処理手段で実行される内部カウンタＫの計時処理を、上述の外部割込み処理や上述のタイマー割込処理より優先順位の低い第二のタイマー割込処理で行なうように構成することも可能である。この場合には、上述の外部割込み処理が少なくＣＰＵ負荷が小さいときに第二のタイマー割込み処理が頻繁に実行されることにより内部カウンタＫの値が大きくなり、上述の外部割込み処理が頻繁でＣＰＵ負荷が大きいときに第二のタイマー割込み処理の実行機会が減少することにより内部カウンタＫの値が小さくなる。
【００４６】
上述の複数の実施形態で説明したタスク管理手段、主タスク、割込み処理手段における各演算部の具体的構成は例示に過ぎず、本発明の作用効果が奏される限りにおいて適宜変更して構成することができることはいうまでもない。
【００４７】
上述した実施形態では、電子制御装置の具体例として車載電子制御装置を例に説明したが、電子制御装置は車載されるものに限定されるものではなく、他の分野における電子制御装置にも適用可能である。
【図面の簡単な説明】
【００４８】
【図１】ＣＰＵの演算処理にかかる機能ブロック構成の説明図
【図２】車載電子制御装置の電気的構成の説明図
【図３】前記初期化処理手段の動作を説明するためのフローチャート
【図４】ベース処理手段の動作を説明するためのフローチャート
【図５】各種割込演算部における割り込み処理の動作について説明するためのフローチャートであり、（ａ）はエンジン回転数割込演算部、（ｂ）は車速割込演算部、（ｃ）はタービン回転数割込演算部、（ｄ）はプライマリプーリ回転数割込演算部、（ｅ）はセカンダリプーリ回転数割込演算部
【図６】割り込み処理の優先度と割り込み処理の実行状態との関係、及び、パルス信号と割り込み処理の実行開始タイミングとの関係の説明図
【図７】余剰時間計時手段１３の動作について説明するためのフローチャート
【図８】余剰時間と実行周期との関係テーブルの説明図
【図９】タスク実行判断処理及びタスク実行の許容を説明するためのフローチャート
【図１０】ＣＰＵの実際の負荷率の変動にリアルタイムに対応して特定タスクを実行した場合の例
【図１１】従来技術の説明図であり、（ａ）は構成の説明図、（ｂ）は実行周期の分周の説明図
【符号の説明】
【００４９】
０１：車載電子制御装置（ＥＣＵ）
０２：ＣＰＵ
１２：タスク管理手段
１３：余剰時間計時手段
１４：実行周期設定手段
１５：特定タスク実行制御手段
２０：初期化処理手段
２１：ベース処理手段
２２：割り込み処理手段
【図１】
2007079772.tif 000003
【図２】
2007079772.tif 000004
【図３】
2007079772.tif 000005
【図４】
2007079772.tif 000006
【図５】
2007079772.tif 000007
【図６】
2007079772.tif 000008
【図７】
2007079772.tif 000009
【図８】
2007079772.tif 000010
【図９】
2007079772.tif 000011
【図１０】
2007079772.tif 000012
【図１１】
2007079772.tif 000013