JP6447442B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6447442B2
JP6447442B2 JP2015197149A JP2015197149A JP6447442B2 JP 6447442 B2 JP6447442 B2 JP 6447442B2 JP 2015197149 A JP2015197149 A JP 2015197149A JP 2015197149 A JP2015197149 A JP 2015197149A JP 6447442 B2 JP6447442 B2 JP 6447442B2
Authority
JP
Japan
Prior art keywords
data
update
execution
calculation
ram
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.)
Active
Application number
JP2015197149A
Other languages
English (en)
Other versions
JP2017068802A (ja
Inventor
基彰 桑原
基彰 桑原
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 JP2015197149A priority Critical patent/JP6447442B2/ja
Publication of JP2017068802A publication Critical patent/JP2017068802A/ja
Application granted granted Critical
Publication of JP6447442B2 publication Critical patent/JP6447442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、演算処理を行う演算部と、演算処理によって得られたデータを記憶するRAMと、を有する電子制御装置に関するものである。
特許文献1に示されるように、CPUと、制御データを記憶するRAMと、を有する電子制御装置が知られている。CPUは、ベース処理となる主タスクとしての各種演算を繰り返し実行する。またCPUは、各種センサから周期的な割込み信号が入力されると、ベース処理の代わりに割込み処理を行う。CPUはこの割り込み処理において特定タスクを行う。CPUはこの特定タスクの実行周期を自身の負荷率に応じて変化させる。実行周期は、CPUの負荷率の小さいときに短く設定され、CPUの負荷率の大きいときに長く設定される。
特開2007−79772号公報
上記したように特許文献1に示される電子制御装置では、CPU(演算部)の負荷率(処理負荷)の増大が抑制されるように、特定タスクの実行周期を変化させる。この特定タスクは周期的な割り込み信号の入力時に行われる。割り込み信号の入力周期は、ベース処理の実行周期とは異なる。そのために処理負荷の調整は、リアルタイムの演算部の処理負荷に応じて行われない虞がある。
そこで本発明は上記問題点に鑑み、演算部の処理負荷をリアルタイムで調整することのできる電子制御装置を提供することを目的とする。
上記した目的を達成するための開示された発明の1つは、演算処理を行う演算部(10,50)と、
演算部の演算処理によって得られたデータを記憶するRAM(30,40,60,70)と、を有し、
演算部は、演算処理によってRAMに記憶されるデータが更新されると、データの更新値の変化量、および、データの更新時刻の変化量の少なくとも一方に基づいて、演算処理におけるデータの算出の実行と不実行とを切り替え
演算部は、更新時刻の変化量が記憶している所定時間未満の場合に演算処理におけるデータの算出を実行し、更新時刻の変化量が所定時間以上の場合に演算処理におけるデータの算出を不実行とする。
上記した目的を達成するための開示された発明の1つは、演算処理を行う演算部(10,50)と、
演算部の演算処理によって得られたデータを記憶するRAM(30,40,60,70)と、を有し、
演算部は、演算処理によってRAMに記憶されるデータが更新されると、データの更新値の変化量、および、データの更新時刻の変化量の少なくとも一方に基づいて、演算処理におけるデータの算出の実行と不実行とを切り替え、
演算部は、更新値の変化量に基づいて更新値の変化率を算出し、更新時刻の変化量が記憶している所定時間未満、および、更新値の変化率が記憶している所定値以上の少なくとも一方が成立する場合に演算処理におけるデータの算出を実行し、更新時刻の変化量が所定時間以上であり更新値の変化率が所定値未満の場合に演算処理におけるデータの算出を不実行とする。
RAM(30,40,60,70)には演算処理にて得られたデータが記憶される。したがってRAM(30,40,60,70)に記憶されるデータの更新は、演算処理と同期している。またデータの更新値の変化量と更新時刻の変化量は、演算部(10,50)の処理負荷を反映している。そこで本発明では、データの更新時において、更新値と更新時刻の少なくとも一方の変化量に基づいて演算処理の実行と不実行とを切り替える。換言すれば、RAM(30,40,60,70)の更新時において、演算部(10,50)の処理負荷を調整する。これによればRAM(30,40,60,70)の更新とはかかわらない周期で処理負荷を調整する構成と比べて、演算部(10,50)の処理負荷をリアルタイムで調整することができる。
なお、特許請求の範囲に記載の請求項、および、課題を解決するための手段それぞれに記載の要素に括弧付きで符号をつけている。この括弧付きの符号は実施形態に記載の各構成要素との対応関係を簡易的に示すためのものであり、実施形態に記載の要素そのものを必ずしも示しているわけではない。括弧付きの符号の記載は、いたずらに特許請求の範囲を狭めるものではない。
第1実施形態に係る電子制御装置内のマイクロコンピュータの概略構成を示すブロック図である。 RAMの記憶領域を示す模式図である。 タスク処理、アイドル時間、および、RAMの更新を示すタイムチャートである。 RAMの演算処理を示すフローチャートである。 切替フラグ決定処理を示すフローチャートである。 切替フラグ決定処理を示すフローチャートである。 第2実施形態に係る電子制御装置内のマイクロコンピュータの概略構成を示すブロック図である。 ローカルRAMとグローバルRAMそれぞれの記憶領域を示す模式図である。 タスク処理、アイドル時間、および、RAMの更新を示すタイムチャートである。
本発明は、演算部とRAMを有する電子制御装置である。以下、本発明をエンジンECU内のマイクロコンピュータ(以下、マイコンと略す。)に適用した場合の実施形態を図に基づいて説明する。
(第1実施形態)
図1〜図6に基づいて本実施形態に係る電子制御装置を説明する。電子制御装置200は車両に搭載されている。電子制御装置200は図示しないバス配線を介して他の電子制御装置と通信可能になっている。本実施形態の電子制御装置200はエンジンECUである。上記の他の電子制御装置はバッテリECUやブレーキECUなどである。
電子制御装置200には、図示しない各種センサから車両情報が入力される。これら各種センサは、例えばエアフロセンサ、スロットルポジションセンサ、アクセルポジションセンサ、クランクポジションセンサ、カムポジションセンサ、温度センサなどである。電子制御装置200は、これら各種センサからの検出信号や他の電子制御装置からの通知に基づいて、インジェクタの燃料噴射量などを算出する。
燃料の噴射タイミングは、エンジンの回転角度に応じて定められる。そしてその噴射頻度は、エンジンの回転数に応じて決定される。電子制御装置200は、噴射タイミングが来る前に、燃料噴射量などを算出する。電子制御装置200は複数のタスク処理を周期的に行う。複数のタスク処理それぞれは、上記した燃料噴射量などのデータを算出する算出処理と、そのデータの更新処理と、を有する。タスク処理が周期処理に相当する。
図1に示すように電子制御装置200はマイコン100を有する。マイコン100は、CPU10、ROM20、および、RAM30を有する。CPU10はROM20やRAM30と通信可能となっている。ROM20には制御プログラムが記憶されている。RAM30には、CPU10のタスク処理にて生じるデータが記憶される。なお図1では電子制御装置200の構成要素としてマイコン100のみを図示している。
CPU10は各種センサからの検出信号や他の電子制御装置からの通知、および、ROM20に記憶された制御プログラムとRAM30に記憶されたデータとに基づいてタスク処理する。CPU10はタスク処理によって得られたデータや、そのタスク処理の途中において算出したデータそれぞれをRAM30に記憶する。
CPU10はタスク処理を所定周期Tで行う。タスク処理としては、その代表として第1タスク処理と第2タスク処理がある。第1タスク処理は第2タスク処理よりもCPU10での処理負荷が高くなっている。CPU10は第1タスク処理と第2タスク処理の算出処理の実行と不実行とを判定処理する。CPU10はエンジン回転数が所定回転数よりも低い場合、第1タスク処理と第2タスク処理それぞれの算出処理の実行と不実行とを判定する。しかしながらCPU10はエンジン回転数が所定回転数以上となると、第1タスク処理を選択し、その算出処理の実行と不実行とを判定する。CPU10は第2タスク処理の算出処理の実行と不実行とを判定しない。
なお第1タスク処理と同等、若しくは、それよりも処理負荷の高いタスク処理は複数ある。同様にして第2タスク処理と同等、若しくは、それよりも処理負荷の低いタスク処理も複数ある。CPU10はエンジン回転数が所定回転数以上になると、第1タスク処理、および、第1タスク処理と同等若しくはそれ以上に処理負荷の高いタスク処理それぞれを選択し、それらの算出処理の実行と不実行とを判定する。CPU10は第2タスク処理、および、第2タスク処理と同等若しくは処理負荷が第2タスク処理よりも低いタスク処理それぞれの算出処理の実行と不実行とを判定しない。またCPU10はエンジン回転数が所定回転数よりも低い場合、全てのタスク処理それぞれの算出処理の実行と不実行とを判定する。第1タスク処理の処理負荷が、閾値に相当する。
RAM30は各タスク処理において得られたデータを記憶する記憶領域を有する。図2に代表として示すようにRAM30の記憶領域は、第1タスク処理によって得られた第1データを記憶する第1アドレス領域31と、第2タスク処理によって得られた第2データを記憶する第2アドレス領域32と、を有する。また図示しないがRAM30の記憶領域は、タスク処理の途中において一時的に算出したデータを記憶するスタック領域も有する。
第1アドレス領域31には、第1データとしての更新値の他に、第1データの更新時刻も記憶される。同様にして第2アドレス領域32には、第2データとしての更新値の他に、第2データの更新時刻も記憶される。以下においては煩雑となることを避けるため、第1データの更新値を第1更新値、第1データの更新時刻を第1更新時刻と示す。また第2データの更新値を第2更新値、第2データの更新時刻を第2更新時刻と示す。
なお上記の更新値と更新時刻の履歴もRAM30に記憶される。すなわち、複数の第1更新時刻と、これら複数の第1更新時刻に対応する複数の第1更新値とが第1アドレス領域31に記憶される。同様にして複数の第2更新時刻と、これら複数の第2更新時刻に対応する複数の第2更新値とが第2アドレス領域32に記憶される。
次に図3に基づいて、CPU10によるタスク処理と、タスク処理の算出処理の実行と不実行とを説明する。CPU10は第1タスク処理を行った後に第2タスク処理を行う。CPU10の1回の各タスク処理に用いることのできる時間は、所定周期Tである。CPU10の各タスク処理が所定周期T以内に終了した場合、CPU10には空き時間が生じる。CPU10はこの空き時間において、タスク処理の算出処理の実行と不実行とを判定する。以下この空き時間をアイドル時間と示す。図3ではアイドル時間の有無を信号の立ち上がり時間によって示している。
CPU10は算出処理の後に更新処理を行う。例えばCPU10が第1タスク処理において第1データを算出すると、RAM30の第1アドレス領域31に記憶されているデータを更新する。すなわちCPU10は第1更新値と第1更新時刻とを更新する。同様にしてCPU10は第2タスク処理において第2データを算出すると、第2更新値と第2更新時刻とを更新する。換言すれば、CPU10は更新値と更新時刻の履歴を更新する。
ただし、例えば第1タスク処理の算出処理が不実行の場合、CPU10は算出処理を行わずに、更新処理を行う。この場合にCPU10は、もともと記憶されていた第1データを再度記憶する。これによって第1アドレス領域に記憶されているデータの値そのもの(第1更新値)自体は変化しないが、第1更新値は更新される。これに対して第1更新時刻は新しい値に更新される。
図3では、RAM30におけるデータの更新タイミングを、RAM30の横線とタスク処理からの矢印との交点によって示している。CPU10は時刻t1,t3,t5,t7それぞれにおいて第1更新値と第1更新時刻とを更新する。またCPU10は時刻t2,t4,t6,t8それぞれにおいて第2更新値と第2更新時刻とを更新する。そしてCPU10はその後のアイドル時間において、第1更新値の変化率、第1更新時刻間の時間、第2更新値の変化率、および、第2更新時刻間の時間それぞれを算出する。これら更新時刻間の時間が、更新時刻の変化量に相当する。
CPU10は、更新値の変化率が、記憶している所定値よりも大きいか否かを判定する。またCPU10は、更新時刻間の時間(以下、更新時間と示す)が、記憶している所定時間よりも短いか否かを判定する。更新値の変化率が所定値よりも大きい場合、タスク処理によって得られるデータの変化量が大きいことを示している。これとは反対に更新値の変化率が所定値よりも小さい場合、タスク処理によって得られるデータの変化量が小さいことを示している。また更新時間が所定時間よりも短い場合、タスク処理によって得られるデータの更新頻度が高いことを示している。これとは反対に更新時間が所定時間よりも長い場合、タスク処理によって得られるデータの更新頻度が低いことを示している。
本実施形態のCPU10は、更新値の変化率が所定値よりも小さく、且つ、更新時間が所定時間以上の場合、データの新たな算出が不要であると判断する。そこでCPU10は、そのタスク処理の算出処理を不実行とする。これとは異なり、更新値の変化率が所定値以上、および、更新時間が所定時間よりも短い、の少なくとも一方が成立する場合、CPU10はデータの新たな算出が必要であると判断する。そこでCPU10は、そのタスク処理の算出処理を実行する。
図3においてCPU10は、第1タスク処理の算出処理を一時的に不実行としている。これによりCPU10は処理負荷を軽減している。この一時的な算出処理の不実行のため、時刻t5において更新される第1更新値の値そのものは、時刻t3において更新された第1更新値の値そのものと同一になる。
上記したようにCPU10は、第1タスク処理を行った後に第2タスク処理を行う。図3においてCPU10は第2タスク処理の算出処理を全て実行としている。しかしながらCPU10は第1タスク処理の算出処理を実行から不実行、不実行から実行へと変化させている。そのため例えば時刻t2と時刻t4間の第2更新時間は短いにもかかわらず、時刻t4と時刻t6間の第2更新時間が長くなる。
そこでCPU10は、処理順序の早いタスク処理の算出処理の実行と不実行とが切り替わった場合、その切り替わりによって生じた変化時間を加味して、処理順序の遅いタスク処理の更新時間を算出する。例えば第1タスク処理の算出処理の実行と不実行とによって第2タスク処理の実行開始時間および実行終了時間が変化時間Tcだけ変化した場合、CPU10はその変化時間Tcに基づいて第2更新時間を補正する。時刻t2と時刻t4との間の第2更新時間を算出する場合、CPU10は、(t4−t2)に変化時間Tcを加算する。こうすることでCPU10は第2更新時間を補正する。また時刻t6と時刻t8との第2更新時間を算出する場合、CPU10は、(t8−t6)から変化時間Tcを減算する。こうすることでCPU10は第2更新時間を補正する。なお図3では変化時間Tcを明示するため、実行しなかった第1タスク処理の算出処理を破線で示している。
次に図4〜図6に基づいてCPU10によるRAM30の演算処理を説明する。なおCPU10は図4〜図6に示す演算処理を各タスクそれぞれに対して行う。そしてCPU10は演算処理を所定周期Tで行う。
先ずステップS10においてCPU10は、図5および図6に示す切替フラグ決定処理それぞれを行う。この切替フラグ決定処理は、上記のアイドル時間にて行われる。
図5に示す切替フラグ決定処理のステップS11においてCPU10は、更新時刻に基づいて更新時間を算出する。その後にCPU10はステップS12へと進む。
ステップS12へ進むとCPU10は、更新時間が所定時間よりも短いか否かを判定する。更新時間が所定時間よりも短い場合にCPU10はステップS13へと進む。これとは異なり更新時間が所定時間以上の場合にCPU10はステップS14へと進む。
ステップS13へ進むとCPU10は、算出処理の実行と不実行にかかわる切替フラグをオフにする。これとは異なりステップS14へ進むとCPU10は、切替フラグをオンにする。この切替フラグの判定結果は、RAM30に記憶される。
また図6に示す切替フラグ決定処理のステップS15においてCPU10は、更新値の変化率を算出する。その後にCPU10はステップS16へと進む。なお更新前のデータの値をa、更新時のデータの値をbとすると、更新値の変化量は(b−a)と表される。そして更新値の変化率は、(b−a)×100/aと表される。データの値が変化していない場合、更新値の変化率はゼロになる。
ステップS16へ進むとCPU10は、更新値の変化率が所定値よりも大きいか否かを判定する。更新値の変化率が所定値よりも大きい場合にCPU10はステップS17へと進む。これとは異なり更新値の変化率が所定値以下の場合にCPU10はステップS18へと進む。
ステップS17へ進むとCPU10は、切替フラグをオフにする。これとは異なりステップS18へ進むとCPU10は、切替フラグをオンにする。この切替フラグの判定結果も、RAM30に記憶される。
以上に示したようにステップS10においてCPU10は、更新時間に基づく切替フラグのオンオフ判定、および、更新値の変化率に基づく切替フラグのオンオフ判定を行う。この後にCPU10はステップS20へと進む。
ステップS20へ進むとCPU10は、ステップS10において判定した2つの切替フラグの両方がオンか否かを判定する。2つの切替フラグの両方がオンの場合、CPU10はデータの新たな算出が不要であると判断し、ステップS40へと進む。これとは異なり2つの切替フラグの少なくとも一方がオフの場合、CPU10はデータの新たな算出が必要であると判断し、ステップS30へと進む。
ステップS30へ進むとCPU10は算出処理を実行する。その後にCPU10はステップS40へと進む。そしてステップS40においてCPU10は、更新処理を行う。この際にCPU10は、ステップS30で算出したデータによって、RAM30を更新する。そしてRAM30の演算処理を終了する。この場合、CPU10の処理負荷は変化しない。
これとは異なりステップS20からステップS40へ進むとCPU10は、算出処理を実行せずに、以前算出したデータによって、RAM30を更新する。そしてRAM30の演算処理を終了する。この場合、CPU10の処理負荷は上記の算出処理の分、軽減される。
次に、本実施形態に係る電子制御装置200内のマイコン100の作用効果を説明する。上記したようにCPU10は、RAM30の更新値の変化率と更新時間とに基づいて、タスク処理の算出処理の実行と不実行とを判定する。これによってCPU10は処理負荷を調整する。これによればRAMの更新とはかかわらない周期で処理負荷を調整する構成と比べて、CPU10の処理負荷をリアルタイムで調整することができる。
CPU10は、アイドル時間において算出処理の実行と不実行とを判定する。これによれば、例えばタスク処理を行っている際に、割り込みによって算出処理の実行と不実行とを切り替えるための処理を行う構成とは異なり、タスク処理の実行が阻害されることが抑制される。
CPU10はエンジン回転数が所定回転数よりも低い場合、第1タスク処理と第2タスク処理の両方の算出処理の実行と不実行とを判定する。しかしながらCPU10はエンジン回転数が所定回転数以上になると、処理負荷が第2タスク処理よりも高い第1タスク処理を選択し、その算出処理の実行と不実行とを判定する。これによればエンジン回転数が速いためにCPU10の処理負荷が増大している際に、算出処理の実行と不実行の判定処理によって、処理負荷が増大することが抑制される。
CPU10は、更新値の変化率と更新時間とに基づいて算出処理の実行と不実行とを決定する。これによれば更新値の変化率と更新時間の一方に基づいて算出処理の実行と不実行とを決定する構成と比べて、処理負荷をより正確に調整することができる。
上記したように本実施形態のCPU10は算出処理の実行と不実行の判定を、更新時間、および、更新値の変化率それぞれに基づいて行った。しかしながらCPU10は算出処理の実行と不実行の判定を、更新時間のみに基づいて行ってもよい。この場合、CPU10はRAM30の演算処理のステップS10において、図5に示す切替フラグ決定処理のみを行う。そしてステップS20においてCPU10は、ステップS10において判定した1つの切替フラグがオンか否かを判定する。これによれば処理負荷を軽減しつつ、更新頻度の高い算出処理を実行することができる。
またCPU10は算出処理の実行と不実行の判定を、更新値の変化率のみに基づいて行ってもよい。この場合、CPU10はRAM30の演算処理のステップS10において、図6に示す切替フラグ決定処理のみを行う。そしてステップS20においてCPU10は、ステップS10において判定した1つの切替フラグがオンか否かを判定する。これによれば処理負荷を軽減しつつ、更新値の変化率の高い算出処理を実行することができる。
なおCPU10は、更新値の変化率ではなく、更新値の変化量に基づいて算出処理の実行と不実行の判定を行ってもよい。
本実施形態では、CPU10がエンジン回転数に応じて算出処理の実行と不実行の判定を行うタスク処理を選択する例を示した。しかしながら上記例に限定されず、CPU10は予め定めた優先順位に応じてタスク処理を選択し、その選択したタスク処理の算出処理の実行と不実行の判定を行ってもよい。若しくは、CPU10はエンジン回転数や優先順位に応じずに全てのタスク処理の算出処理の実行と不実行の判定を行ってもよい。
本実施形態では、CPU10がアイドル時間において算出処理の実行と不実行とを判定する例を示した。しかしながら各タスク処理の更新処理終了直後に算出処理の実行と不実行とを判定してもよい。
(第2実施形態)
次に、本発明の第2実施形態を図7〜図9に基づいて説明する。第2実施形態に係る電子制御装置内のマイコンは上記した実施形態によるものと共通点が多い。そのため以下においては共通部分の説明を省略し、異なる部分を重点的に説明する。また以下においては上記した実施形態で示した要素と同一の要素には同一の符号を付与する。
第1実施形態では、電子制御装置200内のマイコン100は1つのCPU10を有する例を示した。これに対して本実施形態では、マイコン100が2つのCPU10,50を有する点を特徴とする。またマイコン100はグローバルRAM70を有することも特徴とする。
図7に示すようにマイコン100は、CPU10,50,ROM20、ローカルRAM40,60、および、グローバルRAM70を有する。第1ローカルRAM40には、第1CPU10が算出したデータが記憶される。第2ローカルRAM60には、第2CPU50が算出したデータが記憶される。そしてグローバルRAM70には、2つのCPU10,50それぞれの算出したデータが記憶される。このようにグローバルRAM70は、2つのCPU10,50において共有される。またROM20も、2つのCPU10,50において共有される。
タスク処理としては様々にあるが、以下においては第1CPU10が第1タスク処理と第2タスク処理を行い、第2CPU50が第3タスク処理と第4タスク処理を行う、とする。図9に示すように第1タスク処理と第2タスク処理は所定周期Tで行われる。これに対して第3タスク処理と第4タスク処理とは所定周期2Tで行われる。そして第3タスク処理と第4タスク処理とは、所定周期Tにおいて交互に行われる。なお図8ではグローバルRAM70に対応する第1タスク処理と第3タスク処理それぞれを明示するためにハッチングを入れている。これらタスク処理の周期はあくまで一例に過ぎない。
第1CPU10による第1タスク処理にて算出される第1データは、図8に示すグローバルRAM70の第1アドレス領域71に記憶される。また第1CPU10による第2タスク処理にて算出される第2データは、第1ローカルRAM40の第2アドレス領域41に記憶される。同様にして第2CPU50による第3タスク処理にて算出される第3データは、グローバルRAM70の第3アドレス領域72に記憶される。また第2CPU50による第4タスク処理にて算出される第4データは、第2ローカルRAM60の第4アドレス領域61に記憶される。
第1CPU10は第1ローカルRAM40に対応する第2タスク処理の算出処理の実行と不実行とを自身のアイドル時間にて判定する。同様にして第2CPU50は第2ローカルRAM60に対応する第4タスク処理の算出処理の実行と不実行とを自身のアイドル時間にて判定する。
またCPU10,50は、グローバルRAM70に対応する第1タスク処理と第3タスク処理それぞれの算出処理の実行と不実行とをCPU10,50の少なくとも一方のアイドル時間にて判定する。第1CPU10の処理負荷が過多なためにアイドル時間がなく、第2CPU50の処理負荷が少なくてアイドル時間がある場合、第2CPU50が第1タスク処理と第3タスク処理の算出処理の実行と不実行とを判定する。これとは逆に第2CPU50の処理負荷が過多なためにアイドル時間がなく、第1CPU10の処理負荷が少なくてアイドル時間がある場合、第1CPU10が第1タスク処理と第3タスク処理の算出処理の実行と不実行とを判定する。もちろん、CPU10,50それぞれの処理負荷が少なくてアイドル時間がある場合、第1タスク処理と第3タスク処理それぞれの算出処理の実行と不実行の判定をCPU10,50のいずれが行ってもよい。
図9に、タスク処理、アイドル時間、RAMの更新を示す。第1タスク処理によって得られる第1データは、時刻t2,t4,t7,t11にて更新される。第2タスク処理によって得られる第2データは、時刻t3,t5,t8,t12にて更新される。第3タスク処理によって得られる第3データは、時刻t6,t10にて更新される。第4タスク処理によって得られる第4データは、時刻t1,t9にて更新される。
図9に示すように、第1CPU10の処理負荷が過多なために第2タスク処理の更新時刻t3が所定周期Tの終了タイミングと同時になっている。この場合、第1CPU10にはアイドル時間がない。しかしながら時刻t1から時刻t3までの間に第2CPU50はアイドル時間を有する。第2CPU50はこのアイドル時間において第1タスク処理の算出処理の実行と不実行の判定を行う。この判定の結果第1タスク処理の算出処理が不実行になり、第1CPU10の処理負荷が軽減される。これによって第1CPU10にアイドル時間が生じる。第1CPU10は時刻t5以降のアイドル時間において第2タスク処理の算出処理の実行と不実行とを判定することが可能となる。これによって第1CPU10の処理負荷をさらに軽減することが可能となる。
なお上記したようにCPU10,50それぞれはグローバルRAM70を共有している。したがって例えば第1CPU10の処理負荷が過多で、第2CPU50の処理負荷が低い場合、第1CPU10に代わって第2CPU50がグローバルRAM70にかかわる第1タスク処理を行ってもよい。この場合、第2CPU50が第1データの更新を行う。これとは逆に、第2CPU50の処理負荷が過多で、第1CPU10の処理負荷が低い場合、第2CPU50に代わって第1CPU10がグローバルRAM70にかかわる第3タスク処理を行ってもよい。この場合、第1CPU10が第3データの更新を行う。
以上に示したように、CPU10,50の一方の処理負荷が過多の際に、他方にてグローバルRAM70にかかわるタスク処理の算出処理の実行と不実行とを判断することができる。
なお本実施形態では電子制御装置200内のマイコン100が2つのCPU10,50を有する例を示した。しかしながらCPUの数としては上記例に現例されず、3つ以上でもよい。この場合、各CPUそれぞれにローカルRAMが設けられ、各CPUそれぞれに共通して1つのグローバルRAMが設けられる。
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
(その他の変形例)
各実施形態では、電子制御装置200がエンジンECUである例を示した。しかしながら電子制御装置200としては上記例に限定されず、例えばハイブリッドECUやバッテリECUでもよい。
10…(第1)CPU
20…ROM
30…RAM
40…第1ローカルRAM
50…第2CPU
60…第2ローカルRAM
70…グローバルRAM
100…マイクロコンピュータ
200…電子制御装置

Claims (10)

  1. 演算処理を行う演算部(10,50)と、
    前記演算部の前記演算処理によって得られたデータを記憶するRAM(30,40,60,70)と、を有し、
    前記演算部は、前記演算処理によって前記RAMに記憶される前記データが更新されると、前記データの更新値の変化量、および、前記データの更新時刻の変化量の少なくとも一方に基づいて、前記演算処理における前記データの算出の実行と不実行とを切り替え
    前記演算部は、前記更新時刻の変化量が記憶している所定時間未満の場合に前記演算処理における前記データの算出を実行し、前記更新時刻の変化量が前記所定時間以上の場合に前記演算処理における前記データの算出を不実行とする電子制御装置。
  2. 演算処理を行う演算部(10,50)と、
    前記演算部の前記演算処理によって得られたデータを記憶するRAM(30,40,60,70)と、を有し、
    前記演算部は、前記演算処理によって前記RAMに記憶される前記データが更新されると、前記データの更新値の変化量、および、前記データの更新時刻の変化量の少なくとも一方に基づいて、前記演算処理における前記データの算出の実行と不実行とを切り替え、
    前記演算部は、前記更新値の変化量に基づいて前記更新値の変化率を算出し、前記更新時刻の変化量が記憶している所定時間未満、および、前記更新値の変化率が記憶している所定値以上の少なくとも一方が成立する場合に前記演算処理における前記データの算出を実行し、前記更新時刻の変化量が前記所定時間以上であり前記更新値の変化率が前記所定値未満の場合に前記演算処理における前記データの算出を不実行とする電子制御装置。
  3. 前記演算処理として周期的に処理する周期処理が複数あり、
    複数の前記周期処理それぞれは、前記データを算出する算出処理と、前記データを前記RAM(30)に記憶して前記データを更新する更新処理と、を有し、
    前記RAMは、前記演算部(10)が複数の前記周期処理によって得られた前記データそれぞれを記憶するための複数のアドレス領域(31,32)を、複数の前記周期処理それぞれに対応して有しており、
    前記演算部は、複数の前記アドレス領域それぞれに記憶される前記データが更新された際の前記データの前記更新値の変化量、および、前記データの前記更新時刻の変化量の少なくとも一方に基づいて、複数の前記周期処理それぞれの前記算出処理の実行と不実行とを切り替える請求項1または請求項2に記載の電子制御装置。
  4. 前記演算部は、
    複数の前記周期処理を所定周期の間で行っており、
    前記所定周期の間における前記周期処理を行わない空き時間において、前記更新値の変化量および前記更新時刻の変化量の少なくとも一方に基づいて、前記算出処理の実行と不実行とを切り替える請求項に記載の電子制御装置。
  5. 前記演算部は、複数の前記周期処理のうち、処理負荷が閾値よりも高い前記周期処理を選択し、選択した前記周期処理の前記算出処理の実行と不実行とを、前記更新値の変化量および前記更新時刻の変化量の少なくとも一方に基づいて切り替える請求項3または請求項4に記載の電子制御装置。
  6. 前記演算部(10,50)を複数有し、
    前記RAMとして、複数の前記演算部それぞれに対応する複数のローカルRAM(40,60)と、複数の前記演算部それぞれに共通するグローバルRAM(70)と、を有し、
    複数の前記演算部それぞれは、自身に対応する前記ローカルRAMに記憶される前記データが更新された際の前記データの前記更新値の変化量、および、前記データの前記更新時刻の変化量の少なくとも一方に基づいて、前記演算処理における前記ローカルRAMの前記データの算出の実行と不実行とを切り替える請求項1または請求項2に記載の電子制御装置。
  7. 複数の前記演算部それぞれは、前記グローバルRAMに記憶される前記データが更新された際の前記データの前記更新値の変化量、および、前記データの前記更新時刻の変化量の少なくとも一方に基づいて、前記演算処理における前記グローバルRAMの前記データの算出の実行と不実行とを切り替える請求項に記載の電子制御装置。
  8. 前記演算処理として周期的に処理する周期処理が複数あり、
    複数の前記周期処理それぞれは、前記データを算出する算出処理と、前記データを前記ローカルRAMおよび前記グローバルRAMに記憶して前記データを更新する更新処理と、を有し、
    前記ローカルRAMおよび前記グローバルRAMそれぞれは、前記演算部が複数の前記周期処理によって得られた前記データそれぞれを記憶するための複数のアドレス領域(41,61,71,72)を、複数の前記周期処理それぞれに対応して有しており、
    前記演算部は、複数の前記アドレス領域それぞれに記憶される前記データが更新された際の前記データの前記更新値の変化量、および、前記データの前記更新時刻の変化量の少なくとも一方に基づいて、複数の前記周期処理それぞれの前記算出処理の実行と不実行とを切り替える請求項に記載の電子制御装置。
  9. 前記演算部は、
    複数の前記周期処理を所定周期の間で行っており、
    前記所定周期の間における前記周期処理を行わない空き時間において、前記更新値の変化量および前記更新時刻の変化量の少なくとも一方に基づいて、前記算出処理の実行と不実行とを切り替える請求項に記載の電子制御装置。
  10. 前記演算部は、複数の前記周期処理のうち、処理負荷が閾値よりも高い前記周期処理を選択し、選択した前記周期処理の前記算出処理の実行と不実行とを、前記更新値の変化量および前記更新時刻の変化量の少なくとも一方に基づいて切り替える請求項8または請求項9に記載の電子制御装置。
JP2015197149A 2015-10-02 2015-10-02 電子制御装置 Active JP6447442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015197149A JP6447442B2 (ja) 2015-10-02 2015-10-02 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015197149A JP6447442B2 (ja) 2015-10-02 2015-10-02 電子制御装置

Publications (2)

Publication Number Publication Date
JP2017068802A JP2017068802A (ja) 2017-04-06
JP6447442B2 true JP6447442B2 (ja) 2019-01-09

Family

ID=58492691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015197149A Active JP6447442B2 (ja) 2015-10-02 2015-10-02 電子制御装置

Country Status (1)

Country Link
JP (1) JP6447442B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7449219B2 (ja) 2020-12-03 2024-03-13 日立Astemo株式会社 内燃機関の制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4219669B4 (de) * 1992-06-16 2007-08-09 Robert Bosch Gmbh Steuergerät zur Berechnung von Steuergrößen für sich wiederholende Steuervorgänge
DE19851974B4 (de) * 1998-11-03 2011-04-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug
JP5268791B2 (ja) * 2009-06-11 2013-08-21 三菱電機株式会社 制御システム
JP2012108786A (ja) * 2010-11-18 2012-06-07 Toyota Motor Corp マイコン、処理同期方法
JP2012218467A (ja) * 2011-04-04 2012-11-12 Denso Corp 電子制御装置

Also Published As

Publication number Publication date
JP2017068802A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
JP2011153596A (ja) 内燃機関制御装置
JP6447442B2 (ja) 電子制御装置
JP6519515B2 (ja) マイクロコンピュータ
JP2016013782A (ja) 車載電子制御装置
JP2010003213A (ja) 制御装置、演算モード切換方法及びプログラム
JP2011108140A (ja) データ処理装置
JP5776661B2 (ja) 電子制御装置
JP2013185481A (ja) エンジンの位相角検出装置
JP2016218627A (ja) ソフトウェア分割方法、ソフトウェア分割装置および車載装置
JP7435182B2 (ja) 電子制御装置
JP7263746B2 (ja) 情報処理装置
JP2013084059A (ja) 電子制御装置
JP6183251B2 (ja) 電子制御装置
JP2017123119A (ja) 電子制御装置
JP6094387B2 (ja) 制御装置
JP2019212032A (ja) マルチコアマイコンを備える電子制御装置
JP2016184315A (ja) 電子制御装置
JP2016162330A (ja) 電子制御装置
JP6281463B2 (ja) 制御装置
JP2013104387A (ja) エンジン制御装置
JP2001256063A (ja) 制御装置及びエンジン制御装置
JP2015102053A (ja) 内燃機関の点火時期制御装置
JP2009280021A (ja) 車両用制御装置
JP2010018150A (ja) 電子制御装置
JP2012247850A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R151 Written notification of patent or utility model registration

Ref document number: 6447442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250