JP2016013782A - 車載電子制御装置 - Google Patents

車載電子制御装置 Download PDF

Info

Publication number
JP2016013782A
JP2016013782A JP2014137007A JP2014137007A JP2016013782A JP 2016013782 A JP2016013782 A JP 2016013782A JP 2014137007 A JP2014137007 A JP 2014137007A JP 2014137007 A JP2014137007 A JP 2014137007A JP 2016013782 A JP2016013782 A JP 2016013782A
Authority
JP
Japan
Prior art keywords
time
task
execution
scheduled task
scheduled
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
JP2014137007A
Other languages
English (en)
Inventor
誠 田部井
Makoto Tabei
誠 田部井
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 JP2014137007A priority Critical patent/JP2016013782A/ja
Publication of JP2016013782A publication Critical patent/JP2016013782A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】定時タスクの実行を適切に管理する車載電子制御装置を提供する。【解決手段】車載電子制御装置は、所定時間間隔で起動される定時タスクの処理A、B、Cのうち必須の処理Aを実行してから(S400)、定時タスクが次回起動されるまでの現在時刻からの残り時間Xを算出し(S404)、定時タスクよりも優先度が上位の上位タスクが残り時間Xの間で実行される実行時間Zを残り時間Xの長さに応じて算出する(S408、S410、S412)。車載電子制御装置は、残り時間Xと実行時間Zとの差(X−Z)を定時タスクの実行可能時間として算出し、実行可能時間に基づいて処理B、Cのうち処理Bを実行するか否かを判定する(S414)。車載電子制御装置は、S414の判定結果に基づいて処理Bの実行を管理する(S416、S418)。【選択図】図4

Description

本発明は、車載電子制御装置においてタスクの実行を管理する技術に関する。
特許文献1に記載されているように、車両に搭載される電子制御装置が実行する複数のタスクに優先順位を設定し、優先順位に基づいてタスクの実行を管理する技術が公知である。例えば、エンジンの回転角度に同期したタスクの優先度は、所定時間間隔で起動される定時タスクの優先度よりも上位に設定される。
特許文献1に記載の技術によると、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差を余裕時間として算出し、この余裕時間をタスクの混雑度を判定する尺度にしている。特許文献1に記載の技術では、余裕時間が所定の閾値以下の場合、実行するタスクの混雑度が高いと判断し、優先度が低い定時タスクの処理の実行を一部省略する。
特開2006−90356号公報
しかしながら、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出される余裕時間が必ずしもタスクの混雑度を表わさない場合がある。
例えば、定時タスクよりも優先度が上位の上位タスクの実行回数が増加したり、1回当たりの実行時間が長くなったりしてタスクの混雑度が高くなると、前回の定時タスクの実行終了時刻が遅くなるだけでなく、今回の定時タスクの実行開始時刻も遅くなることがある。
また、定時タスクよりも優先度が上位の上位タスクの実行回数が減少したり、1回当たりの実行時間が短くなったりしてタスクの混雑度が低くなると、前回の定時タスクの実行終了時刻が早くなるだけでなく、今回の定時タスクの実行開始時刻も早くなることがある。
このような場合、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出される余裕時間は、タスクの混雑度に応じて変化しない。
したがって、特許文献1に記載の技術のように、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出する余裕時間に基づいてタスクの混雑度を判断すると、定時タスクの実行を適切に管理できないおそれがある。
本発明は上記問題を解決するためになされたものであり、定時タスクの実行を適切に管理する車載電子制御装置を提供することを目的とする。
本発明の車載電子制御装置によると、時間算出手段と、管理手段と、を備える。
時間算出手段は、所定時間間隔で起動される少なくとも一つの定時タスクが次回起動されるまでの現在時刻からの残り時間と、定時タスクよりも優先度が上位の上位タスクが残り時間の間で実行される実行時間との差を、定時タスクの実行可能時間として算出する。
管理手段は、時間算出手段が算出する実行可能時間に基づいて定時タスクの実行を管理する。
この構成によれば、定時タスクよりも優先度の上位の上位タスクの実行時間から今回定時タスクを実行できる実行可能時間を高精度に算出できるので、実行可能時間に基づいて定時タスクの実行を適切に管理できる。
尚、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
本実施形態による車載電子制御装置を示すブロック図。 角度同期タスクと定時タスクとの実行状態を示すタイムチャート。 角度同期タスクと定時タスクとの実行状態を示す他のタイムチャート。 タスク処理を示すフローチャート。
以下、本発明が適用された実施形態を図に基づいて説明する。
[構成]
図1に示す電子制御装置(Electronic Control Unit:ECU)10は車両に搭載されており、タスク管理部12と、角度同期タスク処理部14と、定時タスク処理部16と、を備える。ECU10は、CPU、RAM、ROM、フラッシュメモリ等を備えるマイクロコンピュータを搭載している。
ECU10は、ROMまたはフラッシュメモリに記憶された処理プログラムをCPUが実行することにより、タスク管理部12と、角度同期タスク処理部14と、定時タスク処理部16として機能する。
タスク管理部12は、リアルタイムOS(RTOS)に基づいて、車両制御を実行するタスクに対する実行時間の割り当て等を管理する。各タスクには、実行するときの優先順位が予め設定されている。
角度同期タスク処理部14は、エンジンの回転角度に同期して起動される角度同期タスクを実行する。角度同期タスクは、例えば、点火時期の制御タスク、燃料噴射の制御タスクなど、エンジン制御を実行するタスクである。
定時タスク処理部16は、所定時間間隔で起動される定時タスクを実行する。定時タスクは、例えば、エンジン負荷率の算出タスク、車両に搭載されている各種アクチュエータをデューティ制御するときのデューティ算出タスクである。
角度同期タスクは定時タスクよりも優先度が上位のタスクである。定時タスクのうち、エンジン負荷率の算出タスクはデューティ算出タスクよりも優先度が上位のタスクである。
[処理]
ECU10が実行するタスク処理について図2〜図4に基づいて説明する。
図2および図3において、定時タスク1はエンジン負荷率の算出タスクであり、定時タスク2はデューティ算出タスクである。タスク管理部12は、定時タスク1を例えば5ms間隔で起動し、定時タスク2を例えば10ms間隔で起動する。各タスクの矢印で示すタイミングが起動タイミングである。
定時タスク1が最初に起動されるときは角度同期タスクが実行されていないので、タスク管理部12は定時タスク1を起動後すぐに実行させる。その後、角度同期タスクが起動されると、タスク管理部12は、定時タスク1よりも優先度が上位の角度同期タスクを実行させ、定時タスク1の実行を中断する。
図2および図3において定時タスク1が2回目に起動されるときは角度同期タスクが実行されているので、タスク管理部12は定時タスク1を起動しても実行を待機させる。定時タスク1が最初に起動されるときに定時タスク2も起動されるが、定時タスク2の優先度は最下位なので、角度同期タスクと定時タスク1とが両方共に実行されないタイミングになるまで、タスク管理部12は定時タスク2の実行を待機させる。
定時タスク2は、デューティ算出タスクとして処理A、処理B、処理Cの処理を実行する。処理Aは、車両に搭載された各種アクチュエータをデューティ制御するときの基本デューティの値を算出する処理である。処理Bは、車両の運転状態に応じて基本デューティを補正する補正係数を算出する処理である。処理Cは、処理Bが算出した補正値で基本デューティを補正してアクチュエータをデューティ制御するデューティを算出する処理である。
処理A、B、Cのうち処理Aと処理Cとが実行されないと、アクチュエータをデューティ制御するデューティを決定できないので、定時タスク2において、処理Aと処理Cとは実行する必要のある処理である。一方、処理Bを実行しない場合には、前回の処理Bで算出された補正係数によりデューティを算出してデューティ制御するか、基本デューティを補正せずにデューティ制御することもできるので、処理Bの実行は省略することができる。
図2においては、10msの所定時間間隔の間に、定時タスク2の処理A、B、Cの実行はすべて終了している。
図3においては、エンジン回転数の上昇などにより、角度同期タスクの1回当たりの実行時間が長くなっている。エンジン回転数の上昇などにより、10msの所定時間間隔の間で実行される角度同期タスクの実行回数が増加することもある。
そのため、図3では、10msの所定時間間隔の間に定時タスク2が実行できる時間が図2よりも減少している。そこで、定時タスク2の処理A、B、Cのうち、処理Bを省略し、処理A、Cを実行することにより、アクチュエータをデューティ制御するデューティを10msの時間間隔内で設定している。
次に、定時タスク2の実行を管理する具体的なタスク処理について図4のフローチャートに基づいて説明する。図4のフローチャートは、10msの時間間隔において、タスク管理部12が定時タスク処理部16に定時タスク2の実行を最初に許可するときに定時タスク処理部16により実行される。
尚、図4のフローチャートが示す処理は、定時タスク2よりも優先度が上位の角度同期タスクまたは定時タスク1の実行が許可されると中断される。10msの時間間隔の間に定時タスク2の実行が次回許可されると、中断された状態から定時タスク2の実行が再開される。
S400において、定時タスク処理部16は処理Aを実行する。次に定時タスク処理部16は、前回角度同期タスクが実行された1回当たりの実行時間Y1と、5msの時間間隔の間に定時タスク1が前回実行された実行時間の合計Y2とをタスク管理部12から取得する(S402)。
定時タスク処理部16は、処理Aの実行が終了した現在時刻から、次回処理Aが起動されるまでの残り時間Xを算出する(S404)。残り時間Xは式(1)から算出される。
X=10ms−(現在時刻−今回の定時タスク2の起動時刻) ・・・(1)
次に、定時タスク処理部16は、角度同期タスクが残り時間Xの間に実行される回数Nを式(2)から算出して推定する(S406)。
N=X×{(現在のエンジン回転数[rpm]/60000[ms])
×(360°/角度同期タスクの実行角度間隔)} (2)
尚、式(2)から回数Nを算出するときに、車両の運転状態に基づいてエンジン回転数が上昇または低下するかを推定し、この推定結果に基づいて回数Nを増減してもよい。車両の運転状態は、スロットル開度センサ、吸気量センサ等のエンジン回転数センサ以外の他のセンサの検出値、ならびにエアコンの作動状態、自動変速機の変速段の変化等のアクチュエータの作動状態に基づいて検出される。
S408において定時タスク処理部16は、残り時間Xが5ms以上であるか否かを判定する。残り時間Xが5ms以上であれば(S408:Yes)、定時タスク処理部16は、定時タスク2の実行が許可され図4のタスク処理が実行されるときに、定時タスク1は1回目の実行を終了しており、残り時間Xの間に定時タスク1がもう1回実行されると判断する。
この場合、定時タスク処理部16は、S402で取得したY1、Y2と式(2)で算出した回数Nに基づいて、残り時間Xで角度同期タスクと定時タスク1とが実行される合計時間Zを式(3)から算出し(S410)、S414に処理を移行する。
Z=Y1×N+Y2 (3)
残り時間Xが5ms未満であれば(S408:No)、定時タスク処理部16は、10msの時間間隔の間に定時タスク1が2回実行されて定時タスク1の実行は終了し、残り時間Xで実行されるのは角度同期タスクだけだと判断する。この場合、定時タスク処理部16は、残り時間Xで角度同期タスクが実行される合計時間Zを式(4)から算出し(S412)、S414に処理を移行する。
Z=Y1×N (4)
S414において定時タスク処理部16は、残り時間Xの間に定時タスク2の処理B、Cが両方実行できるのか、処理Cしかできないのかを式(5)により判定する。式(5)において、(X−Z)は残り時間で定時タスク2を実行できる実行可能時間を表わしている。
X−Z≧C (5)
式(5)において、Cは式(6)から設定される定数である。式(6)の定数Cには、図4において処理A、B、Cの実行以外の処理に要する時間を含めたマージンが設定されている。
C=処理Bの実行時間+処理Cの実行時間+マージン (6)
式(5)を満たす場合(S414:Yes)、定時タスク処理部16は、残り時間Xの間に定時タスク2の処理B、Cが両方実行できると判断し、処理部Bおよび処理Cを実行する(S416、S418)。
式(5)を満たさない場合(S414:No)、定時タスク処理部16は、残り時間Xの間に定時タスク2の処理Cしか実行できないと判断し、処理Cだけを実行する(S418)。
[効果]
以上説明した本実施形態によれば、以下の効果が得られる。
[A]定時タスク2よりも優先度が上位の上位タスクである角度同期タスクおよび定時タスク1の実行時間から、今回の残り時間で定時タスク2を実行できる実行可能時間を高精度に算出できる。これにより、定時タスク2が実行する複数の処理のうち、実行可能時間で実行できる処理と実行できない処理とを適切に判定できる。したがって、定時タスク2の実行を適切に管理できる。
[B]定時タスク2が実際に実行を開始してから実行可能時間を算出するので、定時タスク2よりも優先度が上位の定時タスク1が1回目の実行を終了したか2回目の実行を終了したかを正確に判定できる。これにより、今回の残り時間で定時タスク2を実行できる実行可能時間を高精度に算出できる。
[C]エンジン回転数センサ以外の他のセンサ、ならびにアクチュエータの作動状態に基づいてエンジン回転数の変化を推定し、エンジン回転数の変化に応じて残り時間で角度同期タスクが実行される回数を増減することにより、今回の残り時間で定時タスク2を実行できる実行可能時間を高精度に算出できる。
[他の実施形態]
「A」上記実施形態では、定時タスク1、2のうち定時タスク1よりも優先度が低い定時タスク2の処理の実行を、残り時間で定時タスク2が実行できる実行可能時間に基づいて管理した。この管理を定時タスク1について実行してもよい。定時タスク1の場合、上位タスクは角度同期タスクになるので、残り時間と角度同期タスクの実行時間との差から定時タスク1の処理の実行を管理すればよい。
[B]上記実施形態では、式(5)を満たさない場合、定時タスク2において必須ではない処理Bの実行を省略した。これに対し、例えば処理B、Cのいずれも必須ではなく、式(5)を満たさない場合、今回は処理Bを実行して処理Cの実行を省略し、次回も式(5)を満たさない場合は、処理Cを実行して処理Bの実行を省略してもよい。
[C]上記実施形態では、定時タスク2のうち処理Aの実行が終了してから処理Bを実行するか否かを判定した。これに対し、定時タスク2の実行が許可され処理Aの実行が開始される前に、処理Bを実行するか否かを判定してもよい。
[D]上記実施形態では、定時タスク2の実行を管理するタスク処理において定時タスク2の実行可能時間を算出した。これに対し、定時タスク2の実行を管理するタスク処理とは別に、定時タスク2の実行可能時間を算出する専用の処理をタスク処理の実行前に実行してもよい。
[E]上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
[F]上述したECU10の他、当該ECU10を構成要素とするタスク管理システム、当該ECU10としてコンピュータを機能させるためのタスク管理プログラム、このタスク管理プログラムを記録した記録媒体、タスク管理方法など、種々の形態で本発明を実現することもできる。
10:ECU(車載電子制御装置)、16:定時タスク処理部(時間算出手段、管理手段、実行回数推定手段、回転数推定手段)

Claims (5)

  1. 所定時間間隔で起動される少なくとも一つの定時タスクが次回起動されるまでの現在時刻からの残り時間と、前記定時タスクよりも優先度が上位の上位タスクが前記残り時間の間で実行される実行時間との差を、前記定時タスクの実行可能時間として算出する時間算出手段(16、S406、S410、S412、S414)と、
    前記時間算出手段が算出する前記実行可能時間に基づいて前記定時タスクの実行を管理する管理手段(16、S416、S418)と、
    を備えることを特徴とする車載電子制御装置(10)。
  2. 前記管理手段は、前記実行可能時間で前記定時タスクの実行が終了しないと判断すると、前記定時タスクが実行する複数の処理のうち、前記実行可能時間で実行する処理と前記実行可能時間で実行しない処理とを決定することを特徴とする請求項1に記載の車載電子制御装置。
  3. 前記時間算出手段は、前記定時タスクが実際に実行を開始されてから前記実行可能時間を算出することを特徴とする請求項1または2に記載の車載電子制御装置。
  4. 前記上位タスクの少なくとも一つは、エンジンの回転角度に同期して起動される角度同期タスクであり、
    エンジン回転数に基づいて前記残り時間で前記角度同期タスクが実行される回数を推定する実行回数推定手段(16、S406)をさらに備え、
    前記時間算出手段は、前記実行回数推定手段が推定する前記回数に基づいて、前記残り時間で前記角度同期タスクが実行される前記実行時間を算出する、
    ことを特徴とする請求項1から3のいずれか一項に記載の車載電子制御装置。
  5. 車両の運転状態に基づいてエンジン回転数が上昇または低下するかを推定する回転数推定手段(16、S406)をさらに備え、
    前記実行回数推定手段は、前記回転数推定手段が推定する前記エンジン回転数が上昇または低下するかの推定結果に基づいて、前記残り時間で前記角度同期タスクが実行される回数を推定する、
    ことを特徴とする請求項4に記載の車載電子制御装置。
JP2014137007A 2014-07-02 2014-07-02 車載電子制御装置 Pending JP2016013782A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014137007A JP2016013782A (ja) 2014-07-02 2014-07-02 車載電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014137007A JP2016013782A (ja) 2014-07-02 2014-07-02 車載電子制御装置

Publications (1)

Publication Number Publication Date
JP2016013782A true JP2016013782A (ja) 2016-01-28

Family

ID=55230356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014137007A Pending JP2016013782A (ja) 2014-07-02 2014-07-02 車載電子制御装置

Country Status (1)

Country Link
JP (1) JP2016013782A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法
WO2019159310A1 (ja) * 2018-02-16 2019-08-22 株式会社日立製作所 電子制御装置
CN110362444A (zh) * 2018-04-10 2019-10-22 罗伯特·博世有限公司 用于分布式软件组件之间的通信中错误处理的方法和设备
CN110362413A (zh) * 2018-04-10 2019-10-22 罗伯特·博世有限公司 用于分布式软件组件之间的通信中错误处理的方法和设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法
WO2019159310A1 (ja) * 2018-02-16 2019-08-22 株式会社日立製作所 電子制御装置
CN110362444A (zh) * 2018-04-10 2019-10-22 罗伯特·博世有限公司 用于分布式软件组件之间的通信中错误处理的方法和设备
CN110362413A (zh) * 2018-04-10 2019-10-22 罗伯特·博世有限公司 用于分布式软件组件之间的通信中错误处理的方法和设备
JP2019194848A (ja) * 2018-04-10 2019-11-07 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 分散したソフトウェアコンポーネント間の通信におけるエラー処理のための方法および装置
JP2019194847A (ja) * 2018-04-10 2019-11-07 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 分散したソフトウェアコンポーネント間の通信におけるエラー処理のための方法および装置
JP7312002B2 (ja) 2018-04-10 2023-07-20 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 分散したソフトウェアコンポーネント間の通信におけるエラー処理のための方法および装置

Similar Documents

Publication Publication Date Title
JP4586903B2 (ja) エンジン制御装置
JP2016013782A (ja) 車載電子制御装置
JP5708675B2 (ja) 車両制御装置
US9513679B2 (en) Electronic control unit
JP5406072B2 (ja) 組込み制御装置
JP2018069870A5 (ja)
JP6288431B2 (ja) 車両の出力制御装置
US10207717B2 (en) Coasting timer for predictive acceleration
JP2016079850A (ja) エンジン制御装置
JP2012218467A (ja) 電子制御装置
JP2010003213A (ja) 制御装置、演算モード切換方法及びプログラム
JP6365367B2 (ja) 電子制御装置
JP2005084896A (ja) 車載電子制御装置
US20170082984A1 (en) Electronic control device
JP5951115B2 (ja) エンジン自動停止再始動装置、及びエンジン自動停止再始動方法
JP5595571B1 (ja) 制御装置
US9863529B2 (en) Method for controlling a shift process of an automatic gearbox and controller
JP2016189118A (ja) 電子制御装置
JP6656757B2 (ja) 車両制御装置
JP2015102053A (ja) 内燃機関の点火時期制御装置
JP6933148B2 (ja) エンジン制御装置
JP2004124802A (ja) 自動変速機の制御装置
JP6136870B2 (ja) 車両制御装置
KR101575333B1 (ko) 자동변속기 제어 방법 및 시스템
JP2016162330A (ja) 電子制御装置