JP2007079772A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2007079772A JP2007079772A JP2005265081A JP2005265081A JP2007079772A JP 2007079772 A JP2007079772 A JP 2007079772A JP 2005265081 A JP2005265081 A JP 2005265081A JP 2005265081 A JP2005265081 A JP 2005265081A JP 2007079772 A JP2007079772 A JP 2007079772A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- execution
- specific task
- task
- surplus time
- 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.)
- Withdrawn
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】 CPUの実際の負荷率の変動にリアルタイムに対応して特定タスクを実行することができる車載電子制御装置を提供する。
【解決手段】 外部割込み信号として周期的に入力されるパルス信号に基づく割込み処理時に特定タスクを実行するCPUを備えた車載電子制御装置であって、前記CPUの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段12が、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段13と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段14と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段15とを備え、前記余剰時間計時手段13が、前記CPUの負荷率に応じた余剰時間を計時する。
【選択図】 図1
【解決手段】 外部割込み信号として周期的に入力されるパルス信号に基づく割込み処理時に特定タスクを実行するCPUを備えた車載電子制御装置であって、前記CPUの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段12が、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段13と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段14と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段15とを備え、前記余剰時間計時手段13が、前記CPUの負荷率に応じた余剰時間を計時する。
【選択図】 図1
Description
本発明は、周期的に発生する割込み処理時に特定タスクを実行するCPUを備えた電子制御装置に関する。
従来、特許文献1に記載されているように、車速センサやクランク角センサ等からの外部パルス信号が割込み信号として入力され、前記パルス信号による割込み処理時にそれらのパルス信号をカウントし或いはパルス幅を演算処理して車速やクランク角を導出するとともに、ベース処理またはイベント処理において燃料の噴射タイミングや噴射量等を演算するような特定のタスクを実行するCPUを備えたエンジン制御ユニット等の車載電子制御装置では、エンジン回転数の上昇に比例して割込みインタバルが短くなることもあり、CPUの負荷率が増大する傾向がある。そのようなCPUの負荷率が100%を超えると本来実行されるべきタスクが所定タイミングで実行されず、良好なエンジン制御が行なえなくなる。
そのため、図11(a)、(b)に示すように、特許文献1では、外部パルス信号Pに対応する割込み処理時の特定タスクの実行周期を例えばエンジンの回転数領域により分周して、所定の分周周期、例えば2倍の周期で必要なタスクを実行したり、前回の実行時から一定時間経過したときに必要なタスクを実行することにより、負荷の分散を図ることによりCPUの負荷率の増大に対応していた。
また、特許文献2には、CPUによる負荷を分散させる車載電子制御装置として、エンジン又は車載機器の各種制御に関する処理を定期的に実施するマイクロコンピュータを搭載し、該定期的に実施される処理毎にマイクロコンピュータがメモリ内のチェックサムを分割して算出する特定タスクを実行する車載電子制御装置であり、エンジン回転数を指標として推定されるマイクロコンピュータの負荷率に応じて、チェックサムの算出時に1度に加算するバイト数を変更する技術が提案されている。
特開2000−310151号公報
特開2001−227402号公報
しかし、上述した従来技術によれば、特定タスクの実行回数を一律に制限することによりCPUの実行負荷を軽減するものではあるが、CPU全体の実際の負荷率の変動にリアルタイムに対応して特定タスクを実行しているものではないため、不必要に負荷が軽減される場合や十分に負荷が軽減されない場合もあり、特定タスクの負荷分散という観点でさらなる改良の余地があった。
本発明は、上述した従来の問題点に鑑み、CPUの実際の負荷率の変動にリアルタイムに対応して適切に特定タスクを実行することができる電子制御装置を提供する点にある。
上述の目的を達成するため、本発明による電子制御装置の第一の特徴構成は、周期的に発生する割込み処理時に特定タスクを実行するCPUを備えた電子制御装置であって、前記CPUの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段を備えている点にある。
上述の構成によれば、CPUの負荷率が大きくなればタスク制御手段が特定タスクの実行周期を長くして負荷率の異常な上昇を回避し、負荷率が小さくなればタスク制御手段が特定タスクの実行周期を短くして当該特定タスクを適切に実行させるので、CPUの負荷率の変動にかかわらず、所期の制御を安定的に実現できるようになるのである。
例えば、車載電子制御装置がエンジンの駆動制御を行なうエンジンECUであれば、エンジンの回転数が大きくなりCPUの負荷率が高くなったときには、回転数も比較的安定しているため、前記特定タスクの実行周期を不都合が生じることの無い範囲で長く設定することにより、単位時間当たりの前記特定タスクの実行回数を削減して、前記CPUの負荷率を低減することができる。
逆にエンジンの回転数が小さくなりCPUの負荷率が低くなったときには、前記特定タスクの実行周期を短く設定することにより単位時間当たりの実行回数を増大させることにより、回転数の変動が比較的大きな低速域においても適切な特定タスクの実行が可能になるのである。
同第二の特徴構成は、上述した第一特徴構成に加えて、前記タスク管理手段は、複数の割込み処理に対して夫々に対応する特定タスクの実行周期を予め設定された優先度に基づいて異ならせる点にある。
上述の構成によれば、例えば、前記CPUの負荷率が高いときに、優先度の高い、つまり、重要度の高い特定タスクの実行周期をあまり長く設定することなく、代わりに、優先度の低い、つまり、重要度の低い特定タスクの実行周期を長く設定すれば、より優先度の高い特定タスクの単位時間当たりの実行回数を確保した上で、前記CPUの負荷率の低減を行なうことが可能となるのである。つまり、エンジン制御不良を発生させることなく、前記CPUの負荷率を低減させることが可能となるのである。
同第三の特徴構成は、上述した第一または第二特徴構成に加えて、前記タスク管理手段は、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段とを備え、前記余剰時間計時手段が、前記CPUの負荷率に応じた余剰時間を計時する点にある。
上述の構成によれば、特定タスク実行制御手段が、前記CPUの負荷率に応じた余剰時間により設定される実行周期に基づいて前記特定タスクの実行を許容するため、CPUの実際の負荷率の変動にリアルタイムに対応して特定タスクを実行する車載電子制御装置とすることができるのである。
同第四の特徴構成は、上述した第三特徴構成に加えて、前記実行周期設定手段は、前記余剰時間に基づいて前記負荷率が大であるほど前記実行周期を大に設定する点にある。
上述の構成とすることにより、CPUの負荷率が高くなったときに、確実に、前記特定タスクの実行周期を通常設定されている実行周期よりも長く設定することができるのである。つまり、単位時間当たりの前記特定タスクの実行回数を削減することができ、確実に、前記CPUの負荷率を低減することができるのである。
同第五の特徴構成は、上述した第三または第四特徴構成に加えて、前記余剰時間が所定時間以上継続して所定の値より小となるときに前記CPUをリセットする初期化手段を設けてある点にある。
上述の構成によれば、初期化手段が、前記余剰時間が所定時間以上継続して所定の値より小となるときに前記CPUをリセットするため、例えば、前記CPUの負荷率が100%になったと推定できるような異常なときや、CPUが暴走して無限ルーチンを回る等の正規のプログラムが実行されないような異常なときに前記CPUをリセットすることにより、速やかに正常な状態に復帰させてエンジン制御不良の発生を防止することができるのである。
以上説明した通り、本発明によれば、CPUの実際の負荷率の変動にリアルタイムに対応して適切に特定タスクを実行することができる電子制御装置を提供することができるようになった。具体的には、CPU負荷が大きいときには優先度に応じてタスクの実行周期を長くすることで、効率的にCPUの負荷を下げ、優先度の高いタスクをより確実に実行させることができるようになった。
以下に本発明による電子制御装置の実施形態について説明する。本発明による車載電子制御装置01(以下、「ECU」と記す)のハードウェア構成は、図2に示すように、所定の制御プログラムを実行するCPU02と、制御データを一時的に記憶するRAM03と、前記制御プログラムや判定用データ等を格納したROM04と、各種センサからのアナログ信号をデジタル信号に変換するA/D変換器(不図示)と、前記各種センサからのアナログ信号やデジタル信号を入力するための複数の入力ポート(不図示)と、各種アクチェータへデジタル信号を出力するための複数の出力ポート(不図示)等を備えて構成されている。尚、入力ポートには後述する割込み処理を起動するための割込み入力ポートが含まれる。つまり、前記ECU01は、前記各入力ポートを介してエンジンの回転数を検出する回転数センサ05や、エンジン吸気管内の圧力を検出する吸気管圧力センサ06、空燃比を検出するA/Fセンサ07、エンジン冷却水の温度を検出する冷却水温センサ08、吸気温度を検出する吸気温度センサ09等の各種センサからのアナログ信号やデジタル信号を入力し、前記各種入力信号から検出されるエンジン回転数や、吸気管圧力、空燃比、エンジン冷却水の温度、吸気温度等に基づいて、前記出力ポートを介して燃料噴射弁10や点火制御装置11等の各種アクチェータへデジタル制御信号を出力することで、燃料噴射制御や点火時期制御等を実施するように構成されている。
前記CPU02は、リセット後のCPUの初期化処理や初期化終了後に繰り返し実行されるベース処理、外部割込み信号に基づく複数の割込み処理等の各種処理を実行することで、前記各種制御プログラムに基づく所定の演算処理等を実行するように構成されている。
前記CPU02における演算処理にかかる機能ブロック構成は、図1に示すように、各種プログラムの初期化を行なう初期化処理手段20と、主タスクとしての所定の演算処理を繰り返し実行するベース処理手段21と、前記外部割込み信号に基づく割込み処理時に特定タスクとしての演算処理を行なう割込み処理手段22と、前記CPU02の負荷率に応じて前記特定タスクの実行周期を異ならせるタスク管理手段12を備えて構成されている。
つまり、前記CPU02は、前記ECU01が起動されると、前記初期化処理手段20により各種プログラムの初期化を行なう初期化処理を行ない、その後、前記ベース処理手段21によりベース処理となる主タスクとしての各種演算を繰り返し実行するが、前記入力ポートを介して前記各種センサから周期的なパルス信号としての所定の割込み信号が入力されると、前記割込み処理手段22により、その都度、前記周期的なパルス信号に基づいて前記ベース処理を一旦中断し、代わりに、前記パルス信号に基づいた割込み処理を行い、前記特定タスクとしての演算処理等の終了の後、再度、前記ベース処理を繰り返し実行するように構成されている。
つまり、前記CPU02は、前記ECU01が起動されると、前記初期化処理手段20により各種プログラムの初期化を行なう初期化処理を行ない、その後、前記ベース処理手段21によりベース処理となる主タスクとしての各種演算を繰り返し実行するが、前記入力ポートを介して前記各種センサから周期的なパルス信号としての所定の割込み信号が入力されると、前記割込み処理手段22により、その都度、前記周期的なパルス信号に基づいて前記ベース処理を一旦中断し、代わりに、前記パルス信号に基づいた割込み処理を行い、前記特定タスクとしての演算処理等の終了の後、再度、前記ベース処理を繰り返し実行するように構成されている。
詳述すると、当該CPU02にリセット信号が入力されると、前記初期化処理手段20は、図3に示すように、当該CPU02の動作環境の設定(SA1)、前記RAM03の初期化(SA2)、前記ベース処理の繰り返し回数をカウントするための内部カウンタKの0へのリセット(SA3)、前記入力ポートを介した各種センサから所定のパルス信号等に基づいた割り込み処理の許可(SA4)等を実行する。
前記ベース処理手段21は、図4に示すように、前記エンジン回転数と吸気管圧力に基づいた基本燃料噴射量の演算(SB1)、前記エンジン冷却水の温度や吸気温度等に基づいた温度補正燃料噴射量の演算(SB2)、前記空燃比に基づいた空燃比補正燃料噴射量の演算(SB3)、前記基本燃料噴射量や、前記温度補正燃料噴射量、前記空燃比補正燃料噴射量に基づいた燃料噴射量の演算(SB4)、前記空燃比補正燃料噴射量に基づいた燃料点火時期の演算(SB5)、前記内部カウンタKのインクリメント(SB6)等の主タスクを繰り返し実行する。
図1に戻り、前記割込み処理手段22は、前記基本燃料噴射量の演算等に適用されるエンジン回転数の演算を行うエンジン回転数割込み演算部23、前記空燃比補正燃料噴射量の演算等に適用される車速の演算を行う車速割込み演算部24、タービン回転数の演算を行うタービン回転数割込み演算部25、例えば、CVT車であった場合におけるプライマリプーリ回転数の演算を行うプライマリプーリ回転数割込み演算部26、同じくCVT車であった場合におけるセカンダリプーリ回転数の演算を行うセカンダリプーリ回転数割込み演算部27等、各種特定タスクとしての演算処理に対応する割込み演算部を備えて構成され、前記各種割込み演算部23、24、25、26、27は、それぞれに対応した前記各種パルス信号に基づいた割込み処理タイミングで、図5(a)、図5(b)、図5(c)、図5(d)、図5(e)に示すような、後述するタスク実行判断処理(SC1、SD1、SE1、SF1、SG1)と、それぞれに対応した特定タスクとしての演算処理(SC2、SD2、SE2、SF2、SG2)とを実行する。尚、前記特定タスクは、後述する実行周期に基づいてその実行が許容されるように構成されている。
また、前記割込み処理手段22による割込み処理には、前記各種割込演算部23、24、25、26、27毎にそれぞれ優先度が割り当てられた構成となっている。例えば、図6に示すように、優先度の高い割込み演算部Aが割込み処理を実行中に、優先度の低い他の割込み演算部Bからの割込み処理要求があったときには、前記優先度の低い他の割込み演算部Bによる割込み処理は、前記優先度の高い割込み演算部Aによる割込み処理の終了を待って実行されるように構成され、また、優先度の低い割込み演算部Cが割込み処理を実行中に、優先度の高い他の割込み演算部Aからの割込み処理要求があったときには、前記優先度の低い割込み演算部Cによる割込み処理を一旦中断し、代えて、前記優先度の高い他の割込み演算部Aによる割込み処理を実行し、前記優先度の高い他の割込み演算部Aによる割込み処理の終了の後、前記優先度の低い割込み演算部Cによる割込み処理を再開するように構成されている。尚、上述したように、前記ベース処理は、前記各種割込み演算部23、24、25、26、27が割込み処理を実行中には、その実行を中断し、待ちの状態となっている。
ここで、前記CPU02の負荷率は、例えば、単位時間当たりにおける、前記ベース処理の待ち時間を前記ベース処理の実行時間で除したときの割合として定義することが可能である。つまり、前記ベース処理部21は、余力を持って主タスクとしての各種演算処理を行うことで、たとえ前記各種割込み演算部23、24、25、26、27からの割込み処理があったときでも、十分に主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適用可能なように構成されている。しかし、所定の負荷率よりも大きくなったときには、つまり、待ち時間が所定の時間よりも大きくなったときには、前記主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適切に反映できなくなる場合が生じるが、上述のように定義すればその指標とすることができる。
ここで、前記CPU02の負荷率は、例えば、単位時間当たりにおける、前記ベース処理の待ち時間を前記ベース処理の実行時間で除したときの割合として定義することが可能である。つまり、前記ベース処理部21は、余力を持って主タスクとしての各種演算処理を行うことで、たとえ前記各種割込み演算部23、24、25、26、27からの割込み処理があったときでも、十分に主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適用可能なように構成されている。しかし、所定の負荷率よりも大きくなったときには、つまり、待ち時間が所定の時間よりも大きくなったときには、前記主タスクとしての各種演算処理結果を前記燃料噴射制御や前記点火時期制御等に適切に反映できなくなる場合が生じるが、上述のように定義すればその指標とすることができる。
図1に戻り、前記タスク管理手段12は、前記CPU02の負荷率に応じて前記特定タスクの実行周期を異ならせる前記タスク実行判断処理にかかるもので、前記CPU02の負荷率を実行される前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間を計時する余剰時間計時手段13と、前記余剰時間計時手段13により計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段14と、前記実行周期設定手段14により設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段15とを備えて構成されている。
前記余剰時間計時手段13は、前記ベース処理におけるカウンタKの計数処理とカウンタKの値に基づいて前記CPU02の負荷率に応じた余剰時間を取得するタイマー割込み処理で構成され、当該余剰時間計時手段13が割込み処理を行うときの優先度が、前記割込み処理部22における各種割込み演算部23、24、25、26、27の何れの優先度よりも低く設定され、また、一定の周期でクロック信号を発信する内部クロックと、前記クロック信号を計測する内部カウンタMとを備え、前記内部カウンタMの値に基づいた割込み処理により前記内部カウンタKの値を前記余剰時間Tcとして取得し、更に、前記内部カウンタKの値を0にリセットするように構成されている。
以下、前記余剰時間計時手段13の動作について図7のフローチャートに基づいて説明する。前記ECU01が起動されると、前記余剰時間計時手段13は、前記内部カウンタMを0にリセットし(SH1)、前記内部クロックが、前記クロック信号の発信を開始するとともに(SH2)、前記内部カウンタMが前記クロック信号の発信に基づいてそのカウント値をインクリメントすることで前記クロック信号数を時間として計測する(SH3)。そして、前記内部カウンタMのカウント値が所定のカウント閾値Mthを超えたときに(SH4)、タイマー割り込み処理を行なう。
つまり、前記割込み処理部22による割込み処理が実行されていなければ(SH5)、そのまま、割込み処理を開始することで前記ベース処理を中断させる(SH6)。一方、前記割込み処理部22による割込み処理が実行されているときには(SH5)、前記割込み処理部22による割込み処理が終了するのを待って、割込み処理を開始することで前記ベース処理を中断させる(SH6)。
そして、前記内部カウンタKの値を前記余剰時間Tcとして取得するとともに(SH7)、前記内部カウンタKの値を0にリセットし(SH8)、割込み処理を終了する(SH9)。
尚、前記ステップSH1から前記ステップSH9は繰り返し実行されるように構成されている。
そして、前記内部カウンタKの値を前記余剰時間Tcとして取得するとともに(SH7)、前記内部カウンタKの値を0にリセットし(SH8)、割込み処理を終了する(SH9)。
尚、前記ステップSH1から前記ステップSH9は繰り返し実行されるように構成されている。
つまり、前記余剰時間計時手段13は、前記割込み処理部22による割込み処理が頻繁に実行されているときには、前記ベース処理にかかる演算処理の実行時間が短く代わりに待ち時間が長く、そして、前記ベース処理の繰り返し実行回数が少なくなっているため、そのときの前記内部カウンタKの値としての前記余剰時間Tcを小さな値として取得することができ、また、前記割込み処理部22による割込み処理が余り実行されていないときには、前記ベース処理にかかる演算処理の実行時間が長く代わりに待ち時間が短く、そして、前記ベース処理の繰り返し実行回数が多くなっているため、そのときの前記内部カウンタKの値としての前記余剰時間Tcを大きな値として取得することができる。換言すると、前記CPU02の負荷率が大きいときには、前記余剰時間Tcを小さな値として取得し、前記CPU02の負荷率が小さいときには、前記余剰時間Tcを大きな値として取得する。つまり、前記CPU02の負荷率に応じた余剰時間を計時するように構成されている。
前記実行周期設定手段14は、図8に示すような、前記特定タスク毎に予め記憶された余剰時間と実行周期との関係テーブルから、前記余剰時間計時手段13により計時された余剰時間Tcに応じた前記特定タスクの実行周期を設定するように構成されている。前記余剰時間Tcが大きいとき、つまり、前記CPU02の負荷率が小さいときには、前記特定タスクの実行周期を短く(小に)、前記余剰時間Tcが小さいときには、つまり、前記CPU02の負荷率が大きいときには、前記特定タスクの実行周期を長く(大に)設定するように構成されている。尚、前記実行周期は、割込み処理における予め設定された優先度に応じて、特定タスク毎に異なるように設定される構成としてもよい。
また、前記特定タスクにおける実行周期の設定は、前記余剰時間計時手段13による前記余剰時間Tcの取得とともに実施されることで随時更新される。
前記実行周期設定手段14は、図8に示すような、前記特定タスク毎に予め記憶された余剰時間と実行周期との関係テーブルから、前記余剰時間計時手段13により計時された余剰時間Tcに応じた前記特定タスクの実行周期を設定するように構成されている。前記余剰時間Tcが大きいとき、つまり、前記CPU02の負荷率が小さいときには、前記特定タスクの実行周期を短く(小に)、前記余剰時間Tcが小さいときには、つまり、前記CPU02の負荷率が大きいときには、前記特定タスクの実行周期を長く(大に)設定するように構成されている。尚、前記実行周期は、割込み処理における予め設定された優先度に応じて、特定タスク毎に異なるように設定される構成としてもよい。
また、前記特定タスクにおける実行周期の設定は、前記余剰時間計時手段13による前記余剰時間Tcの取得とともに実施されることで随時更新される。
前記特定タスク実行制御手段15は、前記各種割込み演算部23、24、25、26、27のそれぞれに対応した内部カウンタN(N1、N2、N3、N4、N5)を備え、前記各種割込み演算部23、24、25、26、27毎に割込み処理回数をカウントし、前記内部カウンタN(N1、N2、N3、N4、N5)の値が、前記実行周期設定手段14により設定された各特定タスクに対応する実行周期L(L1、L2、L3、L4、L5)と等しくなったときに、前記特定タスクの実行を許容するように構成されている。尚、前記内部カウンタN(N1、N2、N3、N4、N5)は、前記ECU01の起動とともに0にリセットされるように構成されている。
以下、前記ステップSC1、前記ステップSD1、前記ステップSE1、前記ステップSF1、前記ステップSG1における、前記タスク実行判断処理及びタスク実行の許容について図9のフローチャートに基づいて説明する。前記周期的なパルス信号としての所定のアナログまたはデジタル信号が入力され、所定の入力信号に対応した割込演算部が割り込み処理を開始すると、前記実行周期設定手段14は、前記割込み演算部に対応した内部カウンタN(N1、N2、N3、N4、N5)のカウント値をインクリメントし(SK1)、前記割込演算部に対応した前記内部カウンタN(N1、N2、N3、N4、N5)のカウント値を、そのときにおける前記実行周期設定手段14により設定されている前記割込演算部に対応した特定タスクの実行周期L(L1、L2、L3、L4、L5)と比較し、それ以上の値となっていれば、前記割込演算部に対応した特定タスクとしての演算処理を許容するとともに(SK3)、前記内部カウンタN(N1、N2、N3、N4、N5)を0にリセットし(SK4)、また、それよりも小さな値となっていれば、そのまま前記割込み演算部による割込み処理を終了させる(SK5)。
つまり、図10に示すように、前記CPU02の負荷率が大きいときには、前記特定タスクの実行を所定回数だけ省き、前記割込み処理に費やす時間を削減することで前記CPU02の負荷率を低減させ、また、前記CPU02の負荷率が小さいときには、確実に特定タスクを実行させるというように、前記CPU02の実際の負荷率の変動にリアルタイムに対応して特定タスクを実行する。
以下、別の実施形態について説明する。上述の実施形態に加えて、前記余剰時間Tcが所定時間Rth以上継続して所定の値Tcthより小となるときに前記CPU02をリセットする初期化手段を設けた構成としてもよい。つまり、前記余剰時間計時手段13が前記余剰時間Tcを取得する都度、前記初期化手段が前記余剰時間Tcを記憶し、所定の回数Rth以上連続して所定の値Tcthより小となるときに、前記初期化処理手段に対してリセット信号を送信し、前記初期化処理手段が前記リセット信号に基づいて上述の図3における前記ステップSA1から前記ステップSA4の処理を行なう構成としてもよい。例えば、前記CPU02の負荷率が100%になったと推定できるようなときに前記CPUをリセットすることで、前記CPUの負荷率の増大によるエンジン制御不良の発生を防止することができ好ましい。
また、前記初期化手段は、前記ステップSH5の際に、つまり、前記余剰時間計時手段13が割込み処理を開始するための待ち時間をカウントし、前記待ち時間が所定の時間以上になったときに、前記初期化処理手段に対してリセット信号を送信し、前記初期化処理手段が前記リセット信号に基づいて上述の図3における前記ステップSA1から前記ステップSA4の処理を行なう構成としてもよい。例えば、前記CPU02の負荷率が100%になったと推定できるようなときに前記CPUをリセットすることで、前記CPUの負荷率の増大によるエンジン制御不良の発生を防止することができ好ましい。
上述した実施形態では、特定タスクとしてのエンジン回転数の演算処理を割込み処理の度に実行するものを説明したが、CPUが高負荷のときに分周して処理するように構成するものであってもよい。
上述した実施形態では、図4に示すように、前記ベース処理手段21が、前記エンジン回転数と吸気管圧力に基づいた基本燃料噴射量の演算(SB1)、前記エンジン冷却水の温度や吸気温度等に基づいた温度補正燃料噴射量の演算(SB2)、前記空燃比に基づいた空燃比補正燃料噴射量の演算(SB3)、前記基本燃料噴射量や、前記温度補正燃料噴射量、前記空燃比補正燃料噴射量に基づいた燃料噴射量の演算(SB4)、前記空燃比補正燃料噴射量に基づいた燃料点火時期の演算(SB5)、内部カウンタKの計時処理(SB6)等の主タスクを順次繰り返し実行し、前記余剰時間計時手段13が、タイマー割込み処理で前記余剰時間Tcとして前記内部カウンタKの取得と、前記内部カウンタKの値を0にリセットする構成について説明したが、前記ベース処理手段21をアイドル処理手段とし、ここで実行される処理を内部カウンタKの計時処理のみとして、前記基本燃料噴射量の演算、空燃比補正燃料噴射量の演算、燃料噴射量の演算、及び、燃料点火時期等の各主タスクをイベント、つまりタイマー割込みや外部からのパルス入力をトリガとして実行するイベント駆動型の制御構成を採用するものに対しても本発明を適用することができる。
即ち、優先的に実行される外部割込み処理やタイマー割込み処理が発生しない間のみアイドル処理で内部カウンタKが計時されるように構成して、外部割込み処理の発生頻度が低いCPUの負荷率の減少時に内部カウンタKの値が大きく、頻繁に外部割込み処理が発生するCPUの負荷率が増大時に内部カウンタKの値が小さくなるように構成してもよい。
具体的には、上述のベース処理手段で実行されていたタスクのうち、例えば、エンジン回転数割込演算部23で制御されるインジェクションに対する噴射パルスやイグニッションコイルに対する点火パルスに対応して、当該割込み処理で燃料噴射量や点火時期の演算を行ない、水温や油温のモニタ処理、負荷量の演算処理、余剰時間Tcの演算処理等の等緊急性の低いタスクをタイマー割込み処理で実行するように構成することができる。
ここで、タイマー割込み処理をインタバルの異なる複数のタイマー割込み処理に分割し、比較的重要度の高い割込み処理をインタバルの短い割込み処理で実行し、重要度の低い割込み処理をインタバルの短い割込み処理で実行するように構成することにより、CPUにかかる負荷を分散させることもできる。
そして、このようなイベント駆動型の場合には、上述した何れかのタイマー割込み処理時に前記余剰時間計時手段13による余剰時間の演算処理が実行されるように構成することができる。つまり、何れかのタイマー割込み処理において内部カウンタKの値を余剰時間Tcとして取得するように構成すれば、当該タイマー割込み処理においてCPUの負荷率が求められ、この値に基づいて各割込み処理に設定されている特定タスクの実行の可否が判断されるようになる。尚、余剰時間の演算処理は最も優先順位の低い割込み処理で実行されるのが好ましい。
外部割込み処理で実行が予定されている複数のタスクに対して、上述のようにして求められた余剰時間の値に応じて何れのタスクを実行するのかを判断することにより、CPUの負荷率に応じて、前記特定タスクの実行周期を異ならせることができるようになる。
例えば、エンジン回転数割込演算部23において、CPUの負荷率が大であると判断されるときには、回転数を求める演算処理を毎回行なうのではなく、負荷率に応じて実行周期を変えることによりCPU負荷を軽減させる一方、燃料噴射量や点火時期の演算は次回の噴射パルスや点火パルスの出力タイミングに間に合うように毎回実行するように構成することができる。同様に、例えば、車速割込み演算部24においても、CPUの負荷率が大であると判断されるときには、車速を求める演算処理を毎回行なうのではなく、負荷率に応じて実行周期を変えることによりCPU負荷を軽減させることができるようになるのである。
さらに、上述した別実施形態において、アイドル処理手段で実行される内部カウンタKの計時処理を、上述の外部割込み処理や上述のタイマー割込処理より優先順位の低い第二のタイマー割込処理で行なうように構成することも可能である。この場合には、上述の外部割込み処理が少なくCPU負荷が小さいときに第二のタイマー割込み処理が頻繁に実行されることにより内部カウンタKの値が大きくなり、上述の外部割込み処理が頻繁でCPU負荷が大きいときに第二のタイマー割込み処理の実行機会が減少することにより内部カウンタKの値が小さくなる。
上述の複数の実施形態で説明したタスク管理手段、主タスク、割込み処理手段における各演算部の具体的構成は例示に過ぎず、本発明の作用効果が奏される限りにおいて適宜変更して構成することができることはいうまでもない。
上述した実施形態では、電子制御装置の具体例として車載電子制御装置を例に説明したが、電子制御装置は車載されるものに限定されるものではなく、他の分野における電子制御装置にも適用可能である。
01:車載電子制御装置(ECU)
02:CPU
12:タスク管理手段
13:余剰時間計時手段
14:実行周期設定手段
15:特定タスク実行制御手段
20:初期化処理手段
21:ベース処理手段
22:割り込み処理手段
02:CPU
12:タスク管理手段
13:余剰時間計時手段
14:実行周期設定手段
15:特定タスク実行制御手段
20:初期化処理手段
21:ベース処理手段
22:割り込み処理手段
Claims (5)
- 周期的に発生する割込み処理時に特定タスクを実行するCPUを備えた電子制御装置であって、
前記CPUの負荷率に応じて、前記特定タスクの実行周期を異ならせるタスク管理手段を備えている電子制御装置。 - 前記タスク管理手段は、複数の割込み処理に対して夫々に対応する特定タスクの実行周期を予め設定された優先度に基づいて異ならせる請求項1記載の電子制御装置。
- 前記タスク管理手段は、前記割込み処理よりも優先度の低い他のタスクに設けられた余剰時間計時手段と、計時された余剰時間に応じて前記実行周期を設定する実行周期設定手段と、設定された前記実行周期に基づいて前記特定タスクの実行を許容する特定タスク実行制御手段とを備え、前記余剰時間計時手段が、前記CPUの負荷率に応じた余剰時間を計時する請求項1または2記載の電子制御装置。
- 前記実行周期設定手段は、前記余剰時間に基づいて前記負荷率が大であるほど前記実行周期を大に設定する請求項3記載の電子制御装置。
- 前記余剰時間が所定時間以上継続して所定の値より小となるときに前記CPUをリセットする初期化手段を設けてある請求項3または4記載の電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005265081A JP2007079772A (ja) | 2005-09-13 | 2005-09-13 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005265081A JP2007079772A (ja) | 2005-09-13 | 2005-09-13 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007079772A true JP2007079772A (ja) | 2007-03-29 |
Family
ID=37940035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005265081A Withdrawn JP2007079772A (ja) | 2005-09-13 | 2005-09-13 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007079772A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008280863A (ja) * | 2007-05-08 | 2008-11-20 | Denso Corp | マイクロコンピュータ |
JP2010044590A (ja) * | 2008-08-12 | 2010-02-25 | Toshiba Corp | 携帯端末装置 |
JP2011005952A (ja) * | 2009-06-25 | 2011-01-13 | Toyota Motor Corp | 車載制御装置 |
KR20150110585A (ko) * | 2013-01-30 | 2015-10-02 | 콘티넨탈 테베스 아게 운트 코. 오하게 | 유지될 필요가 있는 총 연산 용량을 감소시키는 방법, V2X(vehicle-to-X) 통신 장치 및 이 V2X 통신 장치의 사용 |
CN113748646A (zh) * | 2019-06-10 | 2021-12-03 | 马自达汽车株式会社 | 车载网络系统 |
-
2005
- 2005-09-13 JP JP2005265081A patent/JP2007079772A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008280863A (ja) * | 2007-05-08 | 2008-11-20 | Denso Corp | マイクロコンピュータ |
JP2010044590A (ja) * | 2008-08-12 | 2010-02-25 | Toshiba Corp | 携帯端末装置 |
JP2011005952A (ja) * | 2009-06-25 | 2011-01-13 | Toyota Motor Corp | 車載制御装置 |
KR20150110585A (ko) * | 2013-01-30 | 2015-10-02 | 콘티넨탈 테베스 아게 운트 코. 오하게 | 유지될 필요가 있는 총 연산 용량을 감소시키는 방법, V2X(vehicle-to-X) 통신 장치 및 이 V2X 통신 장치의 사용 |
JP2016514292A (ja) * | 2013-01-30 | 2016-05-19 | コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト | 保持すべき総計算容量を削減するための方法、車対x通信装置及び車対x通信装置の使用 |
KR102104156B1 (ko) * | 2013-01-30 | 2020-04-23 | 콘티넨탈 테베스 아게 운트 코. 오하게 | 유지될 필요가 있는 총 연산 용량을 감소시키는 방법, V2X(vehicle-to-X) 통신 장치 및 이 V2X 통신 장치의 사용 |
CN113748646A (zh) * | 2019-06-10 | 2021-12-03 | 马自达汽车株式会社 | 车载网络系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2192489B1 (en) | Multi-core processing system for vehicle control or an internal combustion engine controller | |
JP2007079772A (ja) | 電子制御装置 | |
US20140101420A1 (en) | Adaptive Control of Processor Performance | |
US20080010563A1 (en) | Program-execution monitoring method, system, and program | |
US8949663B2 (en) | Multi-core processor including a monitored processor core whose process result is to be monitored by a number of processors based on processing load | |
JP6125111B2 (ja) | 車載電子制御装置 | |
US20190354135A1 (en) | Frequency execution monitoring in a real-time embedded system | |
US20070157207A1 (en) | Hardwired scheduler for low power wireless device processor and method for using the same | |
JP2020135214A (ja) | タスク管理装置 | |
JP2016113968A (ja) | 車両用制御装置および制御方法 | |
JP3376906B2 (ja) | 計算機の負荷率計測システム | |
JP2010003213A (ja) | 制御装置、演算モード切換方法及びプログラム | |
JP2005301812A (ja) | デジタル制御装置およびこれを用いたエンジン制御装置 | |
JP2013253593A (ja) | 内燃機関の気筒別空燃比制御装置 | |
JP2005242806A (ja) | データ処理装置 | |
JP5776661B2 (ja) | 電子制御装置 | |
WO2005013130A1 (ja) | リアルタイム制御システム | |
US20140298074A1 (en) | Method of calculating cpu utilization | |
JP2001227402A (ja) | 車載電子制御装置 | |
JP5673576B2 (ja) | エンジン制御装置 | |
JP2021163425A (ja) | 電子制御装置 | |
JP2020173644A (ja) | 電子制御装置 | |
JP2013167945A (ja) | 情報処理装置、タスク起床制御方法、及びタスク起動制御プログラム | |
KR102075086B1 (ko) | Dma를 활용한 epm 마이크로틱 생성 긴급 중단 방법 | |
WO2009026361A2 (en) | Method, system and apparatus for measuring an idle value of a central processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081202 |