JP2010003213A - 制御装置、演算モード切換方法及びプログラム - Google Patents

制御装置、演算モード切換方法及びプログラム Download PDF

Info

Publication number
JP2010003213A
JP2010003213A JP2008163177A JP2008163177A JP2010003213A JP 2010003213 A JP2010003213 A JP 2010003213A JP 2008163177 A JP2008163177 A JP 2008163177A JP 2008163177 A JP2008163177 A JP 2008163177A JP 2010003213 A JP2010003213 A JP 2010003213A
Authority
JP
Japan
Prior art keywords
processing
processing load
load
arithmetic
increase rate
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
JP2008163177A
Other languages
English (en)
Inventor
Shigeo Tojo
茂男 東條
Masayuki Kaneko
正幸 金子
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 JP2008163177A priority Critical patent/JP2010003213A/ja
Publication of JP2010003213A publication Critical patent/JP2010003213A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】演算処理の処理負荷が過渡的に増加するような状況が生じた場合にも早期に対応できるようにする。
【解決手段】予測部31は、入力処理部20から入力される入力データに基づき、その入力データに基づく演算処理が演算部33により実行される前に、その演算処理の処理負荷の増加率を予測し、予測増加率を判定部32へ出力する。判定部32は、予測部31から入力される予測増加率に基づき、演算部33による演算処理の処理負荷を低減すべき状態であるか否かを判定し、判定結果を演算部33へ出力する。そして、演算部33は、判定部32により演算処理の処理負荷を低減すべき状態であると判定された場合に、通常モードに比べ処理負荷の低減される負荷低減モードで演算処理を実行する。
【選択図】図1

Description

本発明は、周期的に演算処理を実行する制御装置、演算モード切換方法及びプログラムに関するものである。
従来、例えば車両のエンジン回転に同期した周期的なタイミングで演算処理を実行する制御装置のように、周期的に演算処理を実行する制御装置においては、例えば演算処理の実行周期が短くなる(例えばエンジン回転数が上昇する)ことにより演算処理の処理負荷が過剰に高くなってしまうという問題があり、この問題を回避するため種々の構成が提案されている。
例えば、特許文献1には、演算処理の処理負荷がしきい値以下の場合には基本制御プログラムと補正制御プログラムとを実行して制御を行い、処理負荷がしきい値より大きい場合には補正制御プログラムの実行を停止することで、処理負荷を抑える構成が示されている。
なお、特許文献2には、過渡運転時の急な加減速による周期変動に対しても基準位置誤差を補正し、高精度のタイミング制御を可能とするため、今回計測された第1区間周期及び第2区間周期の周期比率に基づいて補正係数を算出し、補正係数を用いて算出された予測基準位置周期に基づいて内燃機関に対する制御信号を補正する構成が示されている。
また、特許文献3には、エンジン回転に同期した演算処理を行う場合に、エンジン回転数が所定回転数以上である場合には処理の一部を行わないようにした構成が示されている。
さらに、特許文献4には、CPUの実際の負荷率が大きくなった場合には特定タスクの実行周期を長くして負荷率の異常な上昇を回避し、負荷率が小さくなった場合には特定タスクの実行周期を短くして特定タスクを適切に実行させる構成が示されている。
なお、特許文献5には、多重タスク処理を行う計算機において、その過負荷の割合をも的確に知ることができるようにした構成が示されている。
特開2002−366374号公報 特開平6−33821号公報 特開昭60−3462号公報 特開2007−79772号公報 特許第3376906号公報
前述したように、演算処理の処理負荷が高い場合には演算処理の処理モードを処理負荷の低減されるモードに切り換えることで処理負荷を抑える構成が提案されている。しかしながら、演算処理の処理負荷を実際に確認してから演算処理のモードを切り換える構成では、処理負荷の過渡的(急激)な増加に対して追従性が悪く、処理負荷の増加を効果的に抑制することができないという問題があった。
本発明は、こうした問題にかんがみてなされたものであり、演算処理の処理負荷が過渡的に増加するような状況が生じた場合にも早期に対応することのできる制御装置、演算モード切換方法及びプログラムを提供することを目的としている。
上記目的を達成するためになされた本発明の請求項1に記載の制御装置は、演算手段と、予測手段と、判定手段とを備えている。演算手段は、周期的に演算処理を実行する手段であって、演算処理のモードを、通常モードと、通常モードに比べ処理負荷の低減される負荷低減モードとに切換可能なものである。予測手段は、演算手段による演算処理の処理負荷の変化を予測可能な入力情報に基づき、演算手段により演算処理が実行される前に、前回実行された演算処理に対する処理負荷の増加率を予測する。判定手段は、予測手段により予測された増加率に基づき、演算手段による演算処理の処理負荷を低減すべき状態であるか否かを判定する。そして、演算手段は、判定手段により演算処理の処理負荷を低減すべき状態であると判定された場合に、負荷低減モードで演算処理を実行する。
なお、予測手段による処理負荷の増加率の予測は、前回実行された演算処理の処理負荷自体を把握していなくても行うことは可能である。
このような制御装置によれば、処理負荷の増加率を予測し、予測した増加率に基づき演算処理のモードを切り換えるようにしているため、処理負荷の増加を実際に確認してからモードを切り換える構成に比べ、演算処理の処理負荷が過渡的に増加するような状況が生じた場合にも早期に対応することができ、処理負荷が過剰に高くなることを効果的に抑制することができる。
ここで、周期的な演算処理としては、一定時間ごとに実行される演算処理(時間同期処理)や、繰り返し発生するイベント(発生周期は変化してもよい)に同期して実行される演算処理(例えばクランク角同期処理)が挙げられる。そして、後者の演算処理の場合、演算処理の処理負荷の変化を予測可能な入力情報としては、例えば請求項2に記載のように、演算処理の実行周期の変化を予測可能な入力情報が挙げられる。
ところで、本発明の制御装置では、演算処理の処理負荷を低減すべき状態であるか否かを、予測した増加率に基づき判定するようにしているが、この判定は、具体的には例えば請求項3に記載のように行うことができる。
すなわち、請求項3に記載の制御装置では、判定手段は、予測手段により予測された増加率が所定の増加率判定しきい値よりも大きい場合に、演算処理の処理負荷を低減すべき状態であると判定する。このような制御装置によれば、演算処理の処理負荷を低減すべき状態であるか否かを簡易的に判定することができる。なお、判定手段による判定は、予測手段により予測された増加率が所定の増加率判定しきい値よりも大きいか否かを実質的に判定できる方法であればよく、例えば、増加率に対応する別の値とその値に対応するしきい値とを比較することにより行うようにしてもよいことは言うまでもない。
一方、処理負荷の増加率は、例えば請求項4に記載のように予測することができる。
すなわち、請求項4に記載の制御装置では、予測手段は、入力情報と処理負荷の増加率の予測値との対応関係をあらかじめ記憶しており、その対応関係に従い処理負荷の増加率を予測する。このような制御装置によれば、処理負荷の増加率を簡易的にかつ正確に予測することが可能となる。
また、請求項5に記載の制御装置では、予測手段は、アクセル変化量に基づき処理負荷の増加率を予測する。このような制御装置によれば、例えば、エンジン回転数(例えば、クランク角入力信号に基づく角度間隔時間の移動平均をとることにより算出される。)に基づき処理負荷の増加率を予測する場合に比べ、増加率の予測を早期にかつ高い追従性で行うことが可能となる。
ここで、アクセル変化量に基づき処理負荷の増加率を予測するとは、少なくともアクセル変化量を判断材料とするという意味であり、アクセル変化量のみに基づく予測だけでなく、それ以外の情報を加味した予測も含まれる。
例えば、請求項6に記載のように、予測手段が、アクセル変化量及びエンジン負荷に基づき処理負荷の増加率を予測するものや、請求項7に記載のように、アクセル変化量及び噴射量変化量に基づき処理負荷の増加率を予測するものでは、アクセル変化量のみに基づき処理負荷の増加率を予測する場合に比べ、処理負荷の増加率の予測精度を高めることができる。
一方、請求項8に記載の制御装置では、予測手段は、クランク角の変化率に基づき処理負荷の増加率を予測する。このような制御装置によれば、請求項5の制御装置と同様、例えば、エンジン回転数に基づき処理負荷の増加率を予測する場合に比べ、増加率の予測を早期にかつ高い追従性で行うことが可能となる。
また、請求項9に記載の制御装置では、判定手段は、前回の演算処理の処理負荷と予測手段により予測された増加率とに基づき今回の演算処理の処理負荷の予測値を算出し、算出した処理負荷の予測値が所定の処理負荷判定しきい値よりも大きい場合に、演算手段による演算処理の処理負荷を低減すべき状態であると判定する。このような制御装置によれば、演算処理の処理負荷を低減すべき状態であるか否かを、予測した増加率のみに基づき判定する場合に比べ、より適切な判定結果を得ることができる。
特に、請求項10に記載のように、判定手段が、予測手段により予測された増加率に応じて処理負荷判定しきい値を変更するようにすれば、演算処理の処理負荷が過渡的に増加するような状況が生じた場合に処理負荷が過剰に高くなることを効果的に抑制することが可能となる。
また、請求項11に記載の制御装置では、判定手段は、処理負荷の予測値と実際の処理負荷との差が大きいと判定した場合には、予測手段により予測された増加率を補正するための補正値を算出し、算出した補正値を用いて処理負荷の予測値を算出する。このような制御装置によれば、実際の処理負荷に基づき、処理負荷の予測値が実際の処理負荷に近づくように補正する学習機能を実現することが可能となる。
特に、請求項12に記載のように、判定手段が、補正値を不揮発性メモリに記憶させるようによれば、電源がオフされた場合や、制御装置を交換するような場合などにおいても、学習した補正値についてはそのまま利用することが可能となる。
また、請求項13に記載の制御装置では、負荷低減モードには、複数通りのモードが含まれており、演算手段は、判定手段により演算処理の処理負荷を低減すべき状態であると判定された場合に、入力情報に応じた負荷低減モードで演算処理を実行する。このような制御装置によれば、負荷低減モードが1種類のみの場合に比べ、より適切な演算処理を実行することができる。
ここで、負荷低減モードとしては、例えば請求項14に記載のように、通常モードとタスクの優先度が異なるモードが挙げられる。このような制御装置によれば、タスクの優先度を異ならせることにより処理負荷の低減されるモードを容易に実現することができる。
一方、請求項15に記載の制御装置では、演算手段は、負荷低減モードにおいて、演算処理の一部を他の演算手段に分担させることにより処理負荷を低減する。このような制御装置によれば、実行される演算処理の内容を変更することなく、ある演算手段による演算処理の処理負荷を低減することができる。
次に、請求項16に記載の演算モード切換方法は、周期的に実行される演算処理のモードを切り換える演算モード切換方法であって、演算処理の処理負荷の変化を予測可能な入力情報に基づき、演算処理が実行される前に、前回実行した演算処理に対する処理負荷の増加率を予測する予測ステップと、予測ステップで予測した増加率に基づき演算処理の処理負荷を低減すべき状態であるか否かを判定する判定ステップと、判定ステップで演算処理の処理負荷を低減すべき状態であると判定した場合に、通常のモードに比べ処理負荷の低減されるモードで演算処理を実行する演算ステップとを備える。
このような演算モード切換方法によれば、請求項1に記載の制御装置と同様の効果を得ることができる。
次に、請求項17に記載のプログラムは、周期的に演算処理を実行する手段であって、演算処理のモードを、通常モードと、通常モードに比べ処理負荷の低減される負荷低減モードとに切換可能な演算手段と、演算手段による演算処理の処理負荷の変化を予測可能な入力情報に基づき、演算手段により演算処理が実行される前に、前回実行された演算処理に対する処理負荷の増加率を予測する予測手段と、予測手段により予測された増加率に基づき演算手段による演算処理の処理負荷を低減すべき状態であるか否かを判定する判定手段としてコンピュータを機能させるためのものであって、演算手段は、判定手段により演算処理の処理負荷を低減すべき状態であると判定された場合に、負荷低減モードで演算処理を実行する。
このようなプログラムによれば、請求項1に記載の制御装置としてコンピュータを機能させることができ、これにより前述した効果を得ることができる。
以下、本発明が適用された実施形態について、図面を用いて説明する。
[第1実施形態]
図1は、第1実施形態のエンジンECU10の概略構成を表すブロック図である。
このエンジンECU10は、車両のエンジンを制御するための電子制御装置であり、入力処理部20と、制御部30と、出力処理部40とを備えている。
入力処理部20は、車両に搭載された各種センサからアクセル開度やエンジン回転数などを表す信号を入力し、これら入力信号を制御部30により実行されるソフトウェアで扱うことのできる入力データに変換(A/D変換等)した上で、制御部30へ出力する。
制御部30は、CPU、ROM、RAM等からなるマイクロコンピュータを中心に構成されており、あらかじめ記憶されているプログラムに従い処理を実行することにより、図1に示す予測部31、判定部32及び演算部33として機能する。
演算部33は、エンジンのクランク軸の回転と同期した周期的なタイミングで、エンジン制御のための各種制御量(エンジンに最適な燃料供給量点火時期等)の演算処理(ソフトウェア処理)を実行するものであり、演算処理のモードを、通常モードと、通常モードに比べ処理負荷の低減される負荷低減モードとに切換可能となっている。
予測部31は、入力処理部20から入力される入力データ、具体的には、アクセル開度やエンジン回転数などクランク軸の回転周期の変化を予測可能なデータに基づき、その入力データに基づく演算処理が演算部33により実行される前に、その演算処理の処理負荷(以下「ソフト処理負荷」という。)の増加率(前回のソフト処理負荷に対する増加率)を予測し、予測した増加率(以下「予測増加率」という。)を判定部32へ出力する。
具体的には、予測部31は、図2に示すように、単位時間あたりのアクセル変化量[%/ms]と予測増加率[%]との関係を表すマップ(以下「増加率マップ」という。)をあらかじめ記憶しており、この増加率マップを参照することで、入力データとして入力されるアクセル開度に対応する予測増加率を決定する。なお、アクセル変化量の単位は[°/℃A]であってもよい。
この増加率マップは、エンジンECU10の設計時において実測値に基づき作成される。具体的には、アクセル変化前の状態を固定とし、アクセル変化量のみを実際に変化させてソフト処理負荷の増加率を測定し、その測定結果から増加率マップ(一次元マップ)を作成して制御部30に記憶させる。なお、図2では、アクセル変化量と予測増加率との関係を簡易的に直線で示しているが、直線関係に限定されるものではない。
このような増加率マップを用いることにより、アクセル開度が変化した場合には、その変化量に対応する予測増加率を容易に求めることができる。
図1に戻り、判定部32は、予測部31から入力される予測増加率に基づき、演算部33による演算処理の処理負荷を低減すべき状態であるか否かを判定し、判定結果を演算部33へ出力する。
そして、演算部33は、判定部32により演算処理の処理負荷を低減すべき状態であると判定された時点で、負荷低減モードで演算処理を実行する。具体的には、入力処理部20から入力される入力データ(アクセル開度やエンジン回転数などを表すデータ)を用いて演算処理を実行し、演算結果を出力処理部40へ出力する。
出力処理部40は、制御部30から入力される制御量を出力信号(噴射信号や点火信号等)としてエンジンECU10の外部へ出力する。
次に、エンジンのクランク軸の回転と同期した周期的なタイミングで制御部30が実行する演算モード切換処理について、図3のフローチャートを用いて説明する。なお、この演算モード切換処理(S101〜S103)のS101の処理は前述した予測部31としての処理であり、S102,S103の処理は前述した判定部32としての処理であるため、詳細な説明は省略する。
制御部30は、演算モード切換処理を開始すると、まずS101で、入力処理部20から入力される入力データに基づき、ソフト処理負荷の増加率を予測する。
続いて、S102では、S101での予測結果(予測増加率)に基づき、予測増加率がしきい値(例えば50%)を超えるか否か(つまり、ソフト処理負荷が過渡的に増加するか否か)を判定する。
そして、S102で、予測増加率がしきい値を超えると判定した場合には、S103へ移行し、ソフトウェアの演算モードを、通常モードから負荷低減モードに切り換えた後、本演算モード切換処理を終了する。これにより、通常モードに比べ処理負荷の低減される負荷低減モードで演算処理が行われることになる。
一方、S102で、予測増加率がしきい値を超えないと判定した場合には、そのまま本演算モード切換処理を終了する。この場合、通常モードで演算処理が行われることになる。
なお、エンジンECU10が本発明の制御装置に相当し、特に、予測部31が予測手段に相当し、判定部32が判定手段に相当し、演算部33が演算手段に相当する。
以上説明したように、第1実施形態のエンジンECU10は、単位時間あたりのアクセル変化量に基づきソフト処理負荷の増加率を予測し(S101)、その予測増加率がしきい値よりも大きい場合に(S102:YES)、ソフト処理負荷を低減すべき状態であると判定して、負荷低減モードで演算処理を実行する(S103)。このようなエンジンECU10によれば、処理負荷の増加を実際に確認してからモードを切り換える構成に比べ、ソフト処理負荷が過渡的に増加するような状況が生じた場合にも早期に対応することができ、ソフト処理負荷が過剰に高くなることを効果的に抑制することができる。
また、このエンジンECU10では、予測増加率がしきい値よりも大きい場合にソフト処理負荷を低減すべき状態であると判定するようにしているため、ソフト処理負荷を低減すべき状態であるか否かを簡易的に判定することができる。
さらに、このエンジンECU10では、単位時間あたりのアクセル変化量と予測増加率との関係を表す増加率マップに従いソフト処理負荷の増加率を予測するようにしているため、予測増加率を簡易的にかつ正確に求めることができる。
加えて、このエンジンECU10では、アクセル変化量に基づきソフト処理負荷の予測増加率を予測するようにしているため、予測増加率の予測を早期にかつ高い追従性で行うことが可能となる。
なお、第1実施形態では、増加率マップとして図2を例示したが、これに限定されるものではなく、例えば図4〜図6に示す増加率マップを用いることもできる。
図4に示す増加率マップは、図2と同様、アクセル変化量と予測増加率との関係を表すものであるが、エンジン負荷が軽い状態(エンジン回転数が低い状態)及びエンジン負荷が高い状態(エンジン回転数が高い状態)の2種類の関係を表す点が異なる。すなわち、アクセル変化量に対するソフト処理負荷の増加率は、エンジン負荷に応じて特性が異なるため、エンジンECU10の設計時において、エンジン回転数を低回転とした条件及び高回転とした条件のそれぞれで、アクセル変化量の変化に対するソフト処理負荷の増加率を測定する。そして、その測定結果から増加率マップ(二次元マップ)を作成して制御部30に記憶させる。このような増加率マップを用いることにより、アクセル開度が変化した場合には、その変化量及びエンジン回転数に対応する予測増加率を、増加率マップを参照することで容易に求めることができ、しかも、図2の増加率マップに比べ予測精度を高めることができる。なお、エンジン負荷の状態は2種類に限定されるものではなく、3種類以上としてもよい。
また、図5に示す増加率マップは、クランク角変化率[%]と予測増加率[%]との関係を表すものである。ここで、クランク角変化率とは、エンジンにおける各気筒の同じ位置かつ同じ間隔のクランク角(例えば10℃A〜40℃A)における回転時間(クランク角幅)tの比である。具体的には、今回のクランク角幅をtn、前回(1気筒前)のクランク角幅をtn-1とすると、クランク角変化率は、次の式(1)で表される。
すなわち、エンジンECU10の設計時において、アクセルなどを固定とし、エンジン回転数のみを実際に変化させることによりクランク角変化率を変化させ、ソフト処理負荷の増加率を測定する。そして、その測定結果から増加率マップ(一次元マップ)を作成して制御部30に記憶させる。このような増加率マップを用いることにより、エンジン回転数が変化した場合には、その変化率に対応する予測増加率を、増加率マップを参照することで容易に求めることができる。特に、エンジン回転数は、クランク角信号をなまして算出されるため、過渡時の推定値が実値から乖離することがあるが、図5のようにクランク角変化率を基準とすることで予測精度を高めることができる。
さらに、図6に示す増加率マップは、エンジンにおける1気筒当たりの燃料噴射量の変化量(以下「噴射量変化量」という。)[mm3/ms]及びアクセル変化量[%/ms]と、予測増加率[%]との関係を表すもの(二次元マップ)である。ここで、噴射量変化量は、アクセル変化前及び変化後の噴射量から算出する。噴射量には、エンジン負荷が深く関係しているため、噴射量変化量及びアクセル変化量から予測増加率を求めることで、アクセル変化量だけではとらえられない予測増加率を精度よく求めることができる。また、アクセル変化量が一定であってもエンジン回転数は変化するため、噴射量による補正も可能となる。
[第2実施形態]
次に、第2実施形態について説明する。
図7は、第2実施形態のエンジンECU10の概略構成を表すブロック図である。
第2実施形態のエンジンECU10は、第1実施形態のエンジンECU10(図1)と対比すると、不揮発性メモリである記憶部50を備えている点が異なり、また、制御部30の実行する演算モード切換処理の内容も異なる。その他、第1実施形態のエンジンECU10と共通する構成については同一の符号を用いるとともに説明を省略する。
第2実施形態のエンジンECU10において、制御部30の演算部33は、演算処理の実行後に、その演算処理に要した実際のソフト処理負荷(演算量)を測定し、測定したソフト処理負荷を判定部32へ出力する。
また、判定部32は、予測部31から入力される予測増加率と、演算部33から入力される前回のソフト処理負荷(前回演算量)とに基づき、今回の予測ソフト処理負荷を算出する。そして、算出した予測ソフト処理負荷に基づき、演算部33による演算処理の処理負荷を低減すべき状態であるか否かを判定し、判定結果を演算部33へ出力する。
具体的には、判定部32は、図8に示すように、前回のソフト処理負荷SLn-1と予測増加率Meとに基づき、次の式(2)から今回の予測ソフト処理負荷SLestを算出する。なお、Rは後述する補正値であり、初期値は0に設定されている。
SLest=SLn-1×(Me+R)/100 …式(2)
そして、判定部32は、算出した予測ソフト処理負荷SLestが判定しきい値SLthrを超える場合に、演算部33による演算処理の処理負荷を低減すべき状態であると判定する。
ここで、判定部32は、予測増加率Meの値に応じて判定しきい値SLthrの値を変更する。具体的には、判定部32は、図9に示すように、予測増加率Meと判定しきい値SLthrとの関係を表すマップ(以下「しきい値マップ」という。)をあらかじめ記憶しており、このしきい値マップを参照することで、予測増加率Meに対応する判定しきい値SLthrを決定する。
このしきい値マップは、ソフト処理負荷の増大による出力異常を防止することのできる判定しきい値SLthrを設定するためのものである。具体的には、エンジンECU10の設計時において、まず、車両やエンジンの特性に基づき判定しきい値SLthrの初期値及び限界値(低下させる限界値)を設定する。次に、予測増加率Meの上昇に伴う判定しきい値SLthrの低下開始点a及び低下終了点bを適合により決定することでしきい値マップを作成する。特に、低下終了点bは、予測増加率Meが大きくかつ予測ソフト処理負荷SLestが判定しきい値SLthr近くの場合の予測外れ(オーバーシュート)を見込んで設定する。そして、作成したしきい値マップを制御部30に記憶させる。
ただし、このような予測ソフト処理負荷SLestに基づく判定方法では、予測ソフト処理負荷SLestが実際のソフト処理負荷から大きくかけ離れた値となることも考えられ、例えば図10に示すように、予測ソフト処理負荷SLestが判定しきい値SLthr以下であっても、実際のソフト処理負荷SLrelは判定しきい値SLthrを上回るといったことも生じ得る。なお、図10において、SLovrは、判定しきい値SLthrに対する実際のソフト処理負荷SLrelのオーバー分を示している。
そこで、判定部32は、予測ソフト処理負荷SLestと実際のソフト処理負荷SLrelとの差が大きいと判定した場合(本実施形態では、図10のように実際のソフト処理負荷SLrelのみが判定しきい値SLthrを上回った場合)には、前回のソフト処理負荷SLn-1と実際の(今回の)ソフト処理負荷SLrelとに基づき、次の式(3)から補正値Rを算出する。ただし、MAX(Rn,Rn-1)とする。
ここで、Cは反映係数であり、予測増加率Meの値に応じて変更する。具体的には、判定部32は、図11に示すように、予測ソフト処理負荷SLestと実際のソフト処理負荷SLrelとの差に対する反映係数Cの関係を表すマップ(以下「反映係数マップ」という。)をあらかじめ記憶している。この反映係数マップから明らかなように、反映係数Cは、ソフト処理負荷の差が大きいほど大きくなるものであり、判定部32は、この反映係数マップを参照することで、ソフト処理負荷の差に対応する反映係数C(例えば、0〜0.8の値)を決定する。なお、反映係数マップは、エンジンECU10の設計時において適合により設定される。
なお、予測ソフト処理負荷SLestと実際のソフト処理負荷SLrelとの差が大きいと判定する条件は、実際のソフト処理負荷SLrelのみが判定しきい値SLthrを上回った場合に限定されるものではなく、例えば、予測ソフト処理負荷SLestと実際のソフト処理負荷SLrelとの差があらかじめ設定されている値を上回った場合などとしてもよい。
次に、前述した第1実施形態の演算モード切換処理(図3)に代えて第2実施形態のエンジンECU10の制御部30が実行する演算モード切換処理について、図12のフローチャートを用いて説明する。なお、この演算モード切換処理(S201〜S209)のS201の処理は前述した予測部31としての処理であり、S202〜S205,S207〜S209の処理は前述した判定部32としての処理であり、S206の処理は前述した演算部33としての処理であるため、詳細な説明は省略する。
制御部30は、演算モード切換処理を開始すると、まずS201で、入力処理部20から入力される入力データに基づき、ソフト処理負荷の増加率を予測する。
続いて、S202では、S201での予測結果(予測増加率Me)と、前回のソフト処理負荷SLn-1(前回の演算モード切換処理のS206で測定した値)とに基づき、今回の予測ソフト処理負荷SLestを算出する(上記式(2))。なお、式(2)に示すように、記憶部50に補正値Rが記憶されている場合には、その補正値Rに基づき増加率が補正される。この補正値Rは、後述するS208の処理で算出され、S209の処理で記憶部50に記憶される。
続いて、S203では、後述するS204の判定処理で用いる判定しきい値SLthrを算出する(図9)。
続いて、S204では、S202で算出した予測ソフト処理負荷SLestが、S203で算出した判定しきい値SLthrを超えるか否かを判定する。
そして、S204で、予測ソフト処理負荷SLestが判定しきい値SLthrを超えると判定した場合には、S205へ移行し、ソフトウェアの演算モードを、通常モードから負荷低減モードに切り換えた後、S206へ移行する。これにより、通常モードに比べ処理負荷の低減される負荷低減モードで演算処理が行われることになる。
一方、S204で、予測ソフト処理負荷SLestが判定しきい値SLthrを超えないと判定した場合には、そのままS206へ移行する。この場合、通常モードで演算処理が行われることになる。
S206では、実際のソフト処理負荷SLrelを測定する。なお、ここで測定したソフト処理負荷SLrelが、次回の演算モード切換処理においては前回のソフト処理負荷SLn-1として用いられる。
続いて、S207では、S202で算出した予測ソフト処理負荷SLestがS203で算出した判定しきい値SLthrを超えておらず、かつ、S206で測定したソフト処理負荷SLrelがその判定しきい値SLthrを超えているか否かを判定する。つまり、ソフト処理負荷の予測値SLestが判定しきい値SLthrを超えていないにもかかわらず、実際の値SLrelが判定しきい値SLthrを超えている状態を判定する。
そして、S207で、予測ソフト処理負荷SLestが判定しきい値SLthrを超えていないにもかかわらず測定したソフト処理負荷SLrelがその判定しきい値SLthrを超えていると判定した場合には、S208へ移行し、補正値Rを算出する。
続いて、S209では、S208で算出した補正値Rを記憶部50に記憶させる。その後、本演算モード切換処理を終了する。
一方、S207で、予測ソフト処理負荷SLestが判定しきい値SLthrを超えていると判定した場合や、測定したソフト処理負荷SLrelが判定しきい値SLthrを超えていないと判定した場合には、そのまま本演算モード切換処理を終了する。
以上説明したように、第2実施形態のエンジンECU10は、上記第1実施形態のエンジンECU10と同様の効果を得ることができる。
特に、第2実施形態のエンジンECU10は、前回のソフト処理負荷SLn-1と予測増加率Meとに基づき今回の予測ソフト処理負荷SLestを算出し、算出した予測ソフト処理負荷SLestが判定しきい値SLthrよりも大きい場合に、ソフト処理負荷を低減すべき状態であると判定する。このようなエンジンECU10によれば、ソフト処理負荷を低減すべき状態であるか否かを予測増加率Meのみに基づき判定する場合に比べ、より適切な判定結果を得ることができる。
また、このエンジンECU10では、予測増加率Meに応じて判定しきい値SLthrを変更するようにしているため、ソフト処理負荷が過渡的に増加するような状況が生じた場合にソフト処理負荷が過剰に高くなることを効果的に抑制することが可能となる。
さらに、このエンジンECU10では、予測ソフト処理負荷SLestと実際のソフト処理負荷SLrelとの差が大きいと判定した場合には、予測増加率Meを補正するための補正値を算出し、算出した補正値を用いて予測ソフト処理負荷SLestを算出する。このため、実際のソフト処理負荷SLrelに基づき、予測ソフト処理負荷SLestが実際のソフト処理負荷SLrelに近づくように補正する学習機能を実現することが可能となる。
加えて、このエンジンECU10では、補正値を記憶部50に記憶させるようにしているため、電源(BATT、IG)がオフされた場合や、エンジンECU10を交換するような場合においても、学習した補正値についてはそのまま利用することが可能となる。
具体的には、例えば図13に示すように、エンジンECU10が故障した際などの交換時において、記憶部50に記憶されている補正値のデータをサービスツール等によりCAN通信、SIL通信(シリアル通信)等を用いて読み出し、交換後のエンジンECU10の記憶部50に書き込むことで、交換前のエンジンECU10と同等の予測精度とすることができる。
なお、第2実施形態では、補正値Rに基づき増加率を補正するようにしているが、このような補正を行わないようにしてもよい。この場合、記憶部50を不要とすることができるとともに、演算モード切換処理(図12)のS207〜S209の処理が不要となる。また、上記式(2)に代えて、次の式(4)を用いる。
SLest=SLn-1×Me/100 …式(4)
[第3実施形態]
次に、第3実施形態について説明する。
第3実施形態のエンジンECU10は、第1実施形態や第2実施形態のエンジンECU10と対比すると、負荷低減モードとして、複数通りのモードを用意している点が異なる。そこで、この相違点について説明する。
図14は、前述した各実施形態の演算モード切換処理(図3、図12)における演算モードを切り換える処理(S103、S205)で第3実施形態のエンジンECU10の制御部30が実行する演算モード選択処理のフローチャートである。
制御部30は、演算モード選択処理を開始すると、まずS301で、演算処理の増加幅が10%未満であるか以上であるかを判定する。
続いて、S302では、エンジン回転数が3000rpm未満であるか以上であるかを判定するとともに、アクセル開度が80%未満であるか以上であるかを判定する。
続いて、S303では、S301及びS302の判定結果に基づき、演算モードを切り換える。具体的には、図15に示すように、S301及びS302での判定結果に応じた複数通りの負荷低減モードがあらかじめ記憶されており、判定結果に応じた負荷低減モードが選択されることになる。
ここで例示している処理は、A〜Iの順に処理を実行することにより処理結果を得るものであって、B〜Hの処理については省略(スキップ)可能となっており、それらの一部又は全部を省略することによりソフト処理負荷を減少させることができる(処理時間を短縮できる)ものの処理結果の精度は低下する。そこで、処理時間(演算周期)が十分に確保されると予測される状況では、処理を省略しない負荷低減モード(mode1)が選択されるようにし、逆に、処理時間が十分に確保されないと予測される状況では、その度合いに応じた負荷低減モード(mode2〜8)が選択される(確保可能な処理時間が短いほど省略する処理を増やす)ようにしている。つまり、処理結果を確実に得ることができるようにしつつ、処理結果の精度ができるだけ高くなるようにしている。
以上説明したように、第3実施形態のエンジンECU10は、第1実施形態や第2実施形態のエンジンECU10と同様の効果を得ることができる。
特に、第3実施形態のエンジンECU10は、負荷低減モードとして、複数通りのモードを用意しているため、負荷低減モードが1種類のみの場合に比べ、より適切な演算処理を実行することができる。
なお、負荷低減モードは、例えば図16に示すように、通常モードとタスクの優先度(処理順序)が異なるモードとしてもよい。このようにすれば、タスクの優先度を異ならせることにより、ソフト処理負荷の低減されるモードを容易に実現することができる。
具体的には、ここで例示している処理は、A→B→C→Dの順に処理を実行することにより処理結果を得るものであって、A,Bの処理については省略可能となっており、それらの一方又は両方を省略することによりソフト処理負荷を減少させることができるものの処理結果の精度は低下する。そこで、負荷低減モードとして、例えば、Aの処理の優先度を下げてB→C→D→Aの順に処理が実行されるようにしたり、A,Bの処理の優先度を下げてC→D→A→Bの順に処理が実行されるようにする。つまり、図15の例(処理を省略する例)と比較すると、優先度を下げた処理も処理順序を遅らせるだけで省略はしていない点が異なるが、負荷低減モードへの切換は、ソフト処理負荷の増加(確保可能な処理時間の短縮)の予測値に基づき行われるため、負荷低減モードに切り換えられた状況ではすべての処理が実行できなくなり、結果的には優先度を下げた処理が省略されることになる。ただし、予測に反して長い処理時間が確保された場合には、優先度を下げた処理も実行されるため、その処理結果を次回の処理等に利用するといったことが可能となる。
[第4実施形態]
次に、第4実施形態について説明する。
図17は、第4実施形態のエンジンECU60の概略構成を表すブロック図である。
第4実施形態のエンジンECU60は、第2実施形態のエンジンECU10(図7)を2つ備えた構成であり、一方がメインECU10a、他方がサブECU10bとして主従関係を持ち、互いに通信可能に構成されている。なお、メインECU10a及びサブECU10bの間での通信としては、CAN通信、DMA通信、SIL通信などを用いることができる。
このエンジンECU60では、メインECU10a及びサブECU10bがそれぞれ異なる処理を分担して実行する。そして、メインECU10aは、第2実施形態のエンジンECU10と対比すると、負荷低減モードにおいて、処理の一部をサブECU10bに実行させることによりソフト処理負荷を低減するようにしている点が異なる。すなわち、メインECU10aは、ソフト処理負荷が一時的に増加すると予測すると、サブECU10bへ処理要求(サブECU10bに割り込みを発生させる)を送信し、メインECU10aが本来実行すべき処理の一部を一時的にサブECU10bで優先的に実行させる。サブECU10bは、メインECU10aの処理の一部を実行可能に構成されており、メインECU10aからの処理要求に従いメインECU10aの処理の一部を実行し、処理完了後に演算結果をシリアル通信でメインECU10aへ伝える。なお、サブECU10bとしては、メインECU10aのソフト処理負荷が増加する状況において、その状況に依存しない処理(メインECU10aと同様の理由で処理負荷が増加しない処理)又は逆に下がるような処理を実行するものが用いられる。
つまり、第4実施形態のエンジンECU60では、複数の制御装置によりソフト処理負荷を分散させるようにしている。
以上説明したように、第4実施形態のエンジンECU60は、上記第2実施形態のエンジンECU10と同様の効果を得ることができる。
特に、第4実施形態のエンジンECU60では、メインECU10aが、負荷低減モードにおいて、処理の一部をサブECU10bに分担させることによりソフト処理負荷を低減するようにしているため、エンジンECU60全体として実行される演算処理の内容を変更することなく、メインECU10aのソフト処理負荷を低減することができる。また、このような構成では、メインECU10aは第2実施形態のエンジンECU10と同じ車両制御処理を行うため、メインECU10aの処理の一部をサブECU10bにあらかじめ(ソフト処理負荷に関係なく)分担させておく構成に比べ、第2実施形態の構成を採用した製品と第4実施形態の構成を採用した製品とを製造する場合に、共通化を図りやすくすることができる。
なお、第4実施形態では、第2実施形態のエンジンECU10を2つ備えた構成のエンジンECU60を例示したが、これに限定されるものではなく、例えば制御部30のみを2つ備えた構成とすることも可能である。
[他の形態]
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
例えば、上記各実施形態では、周期的な演算処理として、繰り返し発生するイベントに同期して実行される演算処理(具体的にはクランク角同期処理)を例示したが、これに限定されるものではなく、本発明は、一定時間ごとに実行される演算処理(時間同期処理)にも適用することができる。すなわち、時間同期処理であっても、エンジン回転数の増加に伴い、一定時間内で実行すべき処理量(処理負荷)が増加することから、上記実施形態と同様に処理負荷の変化を予測することが可能であり、同様の効果が得られることになる。
また、上記各実施形態では、本発明の制御装置としてエンジンECUを例示したが、これに限定されるものではなく、本発明はエンジンECU以外の他の制御装置にも適用することができる。
第1実施形態のエンジンECUの概略構成を表すブロック図である。 アクセル変化量と予測増加率との関係を表す増加率マップの説明図である。 第1実施形態のエンジンECUが実行する演算モード切換処理のフローチャートである。 エンジン負荷状態に応じたアクセル変化量と予測増加率との関係を表す増加率マップの説明図である。 クランク角変化率と予測増加率との関係を表す増加率マップの説明図である。 噴射量変化量及びアクセル変化量と予測増加率との関係を表す増加率マップの説明図である。 第2実施形態のエンジンECUの概略構成を表すブロック図である。 予測ソフト処理負荷の算出方法を説明するための説明図である。 予測増加率と判定しきい値との関係を表すしきい値マップの説明図である。 実際のソフト処理負荷のみが判定しきい値を上回った状態を説明するための説明図である。 予測ソフト処理負荷と実際のソフト処理負荷との差に対する反映係数の関係を表す反映係数マップの説明図である。 第2実施形態のエンジンECUが実行する演算モード切換処理のフローチャートである。 エンジンECUに記憶されている補正値のデータをサービスツールにより読み出す構成を表す説明図である。 第3実施形態のエンジンECUが実行する演算モード選択処理のフローチャートである。 判定結果に応じた複数通りの負荷低減モードを説明するための説明図である。 通常モードとタスクの優先度が異なる負荷低減モードを説明するための説明図である。 第4実施形態のエンジンECUの概略構成を表すブロック図である。
符号の説明
10,60…エンジンECU、20…入力処理部、30…制御部、31…予測部、32…判定部、33…演算部、40…出力処理部、50…記憶部

Claims (17)

  1. 周期的に演算処理を実行する手段であって、前記演算処理のモードを、通常モードと、前記通常モードに比べ処理負荷の低減される負荷低減モードとに切換可能な演算手段と、
    前記演算手段による前記演算処理の処理負荷の変化を予測可能な入力情報に基づき、前記演算手段により演算処理が実行される前に、前回実行された演算処理に対する処理負荷の増加率を予測する予測手段と、
    前記予測手段により予測された増加率に基づき前記演算手段による前記演算処理の処理負荷を低減すべき状態であるか否かを判定する判定手段と、
    を備え、
    前記演算手段は、前記判定手段により前記演算処理の処理負荷を低減すべき状態であると判定された場合に、前記負荷低減モードで前記演算処理を実行すること
    を特徴とする制御装置。
  2. 前記予測手段は、前記演算処理の実行周期の変化を予測可能な入力情報に基づき、前記演算手段により演算処理が実行される前に、前回実行された演算処理に対する処理負荷の増加率を予測すること
    を特徴とする請求項1に記載の制御装置。
  3. 前記判定手段は、前記予測手段により予測された増加率が所定の増加率判定しきい値よりも大きい場合に、前記演算処理の処理負荷を低減すべき状態であると判定すること
    を特徴とする請求項1又は請求項2に記載の制御装置。
  4. 前記予測手段は、前記入力情報と前記処理負荷の増加率の予測値との対応関係をあらかじめ記憶しており、その対応関係に従い処理負荷の増加率を予測すること
    を特徴とする請求項1から請求項3までのいずれか1項に記載の制御装置。
  5. 前記予測手段は、アクセル変化量に基づき処理負荷の増加率を予測すること
    を特徴とする請求項1から請求項4までのいずれか1項に記載の制御装置。
  6. 前記予測手段は、アクセル変化量及びエンジン負荷に基づき処理負荷の増加率を予測すること
    を特徴とする請求項5に記載の制御装置。
  7. 前記予測手段は、アクセル変化量及び噴射量変化量に基づき処理負荷の増加率を予測すること
    を特徴とする請求項5に記載の制御装置。
  8. 前記予測手段は、クランク角の変化率に基づき処理負荷の増加率を予測すること
    を特徴とする請求項1から請求項4までのいずれか1項に記載の制御装置。
  9. 前記判定手段は、前回の演算処理の処理負荷と前記予測手段により予測された増加率とに基づき今回の演算処理の処理負荷の予測値を算出し、算出した処理負荷の予測値が所定の処理負荷判定しきい値よりも大きい場合に、前記演算手段による前記演算処理の処理負荷を低減すべき状態であると判定すること
    を特徴とする請求項1から請求項8までのいずれか1項に記載の制御装置。
  10. 前記判定手段は、前記予測手段により予測された増加率に応じて前記処理負荷判定しきい値を変更すること
    を特徴とする請求項9に記載の制御装置。
  11. 前記判定手段は、前記処理負荷の予測値と実際の処理負荷との差が大きいと判定した場合には、前記予測手段により予測された増加率を補正するための補正値を算出し、算出した補正値を用いて前記処理負荷の予測値を算出すること
    を特徴とする請求項9又は請求項10に記載の制御装置。
  12. 前記判定手段は、前記補正値を不揮発性メモリに記憶させること
    を特徴とする請求項11に記載の制御装置。
  13. 前記負荷低減モードには、複数通りのモードが含まれており、
    前記演算手段は、前記判定手段により前記演算処理の処理負荷を低減すべき状態であると判定された場合に、前記入力情報に応じた負荷低減モードで前記演算処理を実行すること
    を特徴とする請求項1から請求項12までのいずれか1項に記載の制御装置。
  14. 前記負荷低減モードは、前記通常モードとタスクの優先度が異なること
    を特徴とする請求項1から請求項13までのいずれか1項に記載の制御装置。
  15. 前記演算手段は、前記負荷低減モードにおいて、前記演算処理の一部を他の演算手段に分担させることにより処理負荷を低減すること
    を特徴とする請求項1から請求項13までのいずれか1項に記載の制御装置。
  16. 周期的に実行される演算処理のモードを切り換える演算モード切換方法であって、
    前記演算処理の処理負荷の変化を予測可能な入力情報に基づき、演算処理が実行される前に、前回実行した演算処理に対する処理負荷の増加率を予測する予測ステップと、
    前記予測ステップで予測した増加率に基づき前記演算処理の処理負荷を低減すべき状態であるか否かを判定する判定ステップと、
    前記判定ステップで前記演算処理の処理負荷を低減すべき状態であると判定した場合に、通常のモードに比べ処理負荷の低減されるモードで前記演算処理を実行する演算ステップと、
    を備えることを特徴とする演算モード切換方法。
  17. 周期的に演算処理を実行する手段であって、前記演算処理のモードを、通常モードと、前記通常モードに比べ処理負荷の低減される負荷低減モードとに切換可能な演算手段と、
    前記演算手段による前記演算処理の処理負荷の変化を予測可能な入力情報に基づき、前記演算手段により演算処理が実行される前に、前回実行された演算処理に対する処理負荷の増加率を予測する予測手段と、
    前記予測手段により予測された増加率に基づき前記演算手段による前記演算処理の処理負荷を低減すべき状態であるか否かを判定する判定手段
    としてコンピュータを機能させるためのプログラムであって、
    前記演算手段は、前記判定手段により前記演算処理の処理負荷を低減すべき状態であると判定された場合に、前記負荷低減モードで前記演算処理を実行すること
    を特徴とするプログラム。
JP2008163177A 2008-06-23 2008-06-23 制御装置、演算モード切換方法及びプログラム Pending JP2010003213A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008163177A JP2010003213A (ja) 2008-06-23 2008-06-23 制御装置、演算モード切換方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008163177A JP2010003213A (ja) 2008-06-23 2008-06-23 制御装置、演算モード切換方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2010003213A true JP2010003213A (ja) 2010-01-07

Family

ID=41584861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008163177A Pending JP2010003213A (ja) 2008-06-23 2008-06-23 制御装置、演算モード切換方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2010003213A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018086938A (ja) * 2016-11-29 2018-06-07 株式会社デンソー 電子制御装置
US20210046942A1 (en) * 2018-04-18 2021-02-18 Hitachi Automotive Systems, Ltd. Electronic control device
CN112615893A (zh) * 2019-10-03 2021-04-06 丰田自动车株式会社 车辆用运算处理装置、服务器计算机及非暂时性存储介质
JP2021124947A (ja) * 2020-02-05 2021-08-30 トヨタ自動車株式会社 感情推定装置、方法、プログラムおよび車両
WO2022162988A1 (ja) * 2021-01-28 2022-08-04 日立Astemo株式会社 車両制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018086938A (ja) * 2016-11-29 2018-06-07 株式会社デンソー 電子制御装置
US20210046942A1 (en) * 2018-04-18 2021-02-18 Hitachi Automotive Systems, Ltd. Electronic control device
CN112615893A (zh) * 2019-10-03 2021-04-06 丰田自动车株式会社 车辆用运算处理装置、服务器计算机及非暂时性存储介质
JP2021124947A (ja) * 2020-02-05 2021-08-30 トヨタ自動車株式会社 感情推定装置、方法、プログラムおよび車両
JP7264079B2 (ja) 2020-02-05 2023-04-25 トヨタ自動車株式会社 感情推定装置、方法、プログラムおよび車両
WO2022162988A1 (ja) * 2021-01-28 2022-08-04 日立Astemo株式会社 車両制御装置

Similar Documents

Publication Publication Date Title
JP6125111B2 (ja) 車載電子制御装置
JP2010003213A (ja) 制御装置、演算モード切換方法及びプログラム
JP4770602B2 (ja) 電子機器
JP2009068430A (ja) 内燃機関の制御装置
JP2011153596A (ja) 内燃機関制御装置
JP2013228859A (ja) プラント制御装置
JP5653332B2 (ja) 周期エラー検出方法および周期エラー検出回路
JP2016013782A (ja) 車載電子制御装置
JPH11232148A (ja) 計算機の負荷率計測方法及び計測システム
JP2005084896A (ja) 車載電子制御装置
JP6447442B2 (ja) 電子制御装置
JP2019125093A (ja) 電子制御装置
JP2009293387A (ja) 内燃機関の制御装置
JP5157697B2 (ja) 電子制御装置
JP2009197720A (ja) 車両用内燃機関の制御装置
US20210119535A1 (en) Power supply control device
JP2010019136A (ja) 内燃機関の制御装置
WO2023149001A1 (ja) 車両制御装置
CN113464289B (zh) 一种电喷发动机空燃比控制方法
JP2018145871A (ja) 電子制御装置
JP2023040853A (ja) 電子制御装置
JP5776671B2 (ja) 内燃機関の制御装置
JP2015102053A (ja) 内燃機関の点火時期制御装置
JP2016162330A (ja) 電子制御装置
JP2013152563A (ja) 電子制御装置、メモリチェック方法