(57)【要約】【課題】  定時タスクの実行を適切に管理する車載電子制御装置を提供する。【解決手段】車載電子制御装置は、所定時間間隔で起動される定時タスクの処理Ａ、Ｂ、Ｃのうち必須の処理Ａを実行してから（Ｓ４００）、定時タスクが次回起動されるまでの現在時刻からの残り時間Ｘを算出し（Ｓ４０４）、定時タスクよりも優先度が上位の上位タスクが残り時間Ｘの間で実行される実行時間Ｚを残り時間Ｘの長さに応じて算出する（Ｓ４０８、Ｓ４１０、Ｓ４１２）。車載電子制御装置は、残り時間Ｘと実行時間Ｚとの差（Ｘ−Ｚ）を定時タスクの実行可能時間として算出し、実行可能時間に基づいて処理Ｂ、Ｃのうち処理Ｂを実行するか否かを判定する（Ｓ４１４）。車載電子制御装置は、Ｓ４１４の判定結果に基づいて処理Ｂの実行を管理する（Ｓ４１６、Ｓ４１８）。【選択図】図４
2016013782.tif 000002
【特許請求の範囲】
【請求項１】
所定時間間隔で起動される少なくとも一つの定時タスクが次回起動されるまでの現在時刻からの残り時間と、前記定時タスクよりも優先度が上位の上位タスクが前記残り時間の間で実行される実行時間との差を、前記定時タスクの実行可能時間として算出する時間算出手段（１６、Ｓ４０６、Ｓ４１０、Ｓ４１２、Ｓ４１４）と、
前記時間算出手段が算出する前記実行可能時間に基づいて前記定時タスクの実行を管理する管理手段（１６、Ｓ４１６、Ｓ４１８）と、
を備えることを特徴とする車載電子制御装置（１０）。
【請求項２】
前記管理手段は、前記実行可能時間で前記定時タスクの実行が終了しないと判断すると、前記定時タスクが実行する複数の処理のうち、前記実行可能時間で実行する処理と前記実行可能時間で実行しない処理とを決定することを特徴とする請求項１に記載の車載電子制御装置。
【請求項３】
前記時間算出手段は、前記定時タスクが実際に実行を開始されてから前記実行可能時間を算出することを特徴とする請求項１または２に記載の車載電子制御装置。
【請求項４】
前記上位タスクの少なくとも一つは、エンジンの回転角度に同期して起動される角度同期タスクであり、
エンジン回転数に基づいて前記残り時間で前記角度同期タスクが実行される回数を推定する実行回数推定手段（１６、Ｓ４０６）をさらに備え、
前記時間算出手段は、前記実行回数推定手段が推定する前記回数に基づいて、前記残り時間で前記角度同期タスクが実行される前記実行時間を算出する、
ことを特徴とする請求項１から３のいずれか一項に記載の車載電子制御装置。
【請求項５】
車両の運転状態に基づいてエンジン回転数が上昇または低下するかを推定する回転数推定手段（１６、Ｓ４０６）をさらに備え、
前記実行回数推定手段は、前記回転数推定手段が推定する前記エンジン回転数が上昇または低下するかの推定結果に基づいて、前記残り時間で前記角度同期タスクが実行される回数を推定する、
ことを特徴とする請求項４に記載の車載電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載電子制御装置においてタスクの実行を管理する技術に関する。
【背景技術】
【０００２】
特許文献１に記載されているように、車両に搭載される電子制御装置が実行する複数のタスクに優先順位を設定し、優先順位に基づいてタスクの実行を管理する技術が公知である。例えば、エンジンの回転角度に同期したタスクの優先度は、所定時間間隔で起動される定時タスクの優先度よりも上位に設定される。
【０００３】
特許文献１に記載の技術によると、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差を余裕時間として算出し、この余裕時間をタスクの混雑度を判定する尺度にしている。特許文献１に記載の技術では、余裕時間が所定の閾値以下の場合、実行するタスクの混雑度が高いと判断し、優先度が低い定時タスクの処理の実行を一部省略する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９０３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出される余裕時間が必ずしもタスクの混雑度を表わさない場合がある。
例えば、定時タスクよりも優先度が上位の上位タスクの実行回数が増加したり、１回当たりの実行時間が長くなったりしてタスクの混雑度が高くなると、前回の定時タスクの実行終了時刻が遅くなるだけでなく、今回の定時タスクの実行開始時刻も遅くなることがある。
【０００６】
また、定時タスクよりも優先度が上位の上位タスクの実行回数が減少したり、１回当たりの実行時間が短くなったりしてタスクの混雑度が低くなると、前回の定時タスクの実行終了時刻が早くなるだけでなく、今回の定時タスクの実行開始時刻も早くなることがある。
【０００７】
このような場合、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出される余裕時間は、タスクの混雑度に応じて変化しない。
したがって、特許文献１に記載の技術のように、前回の定時タスクの実行終了時刻と今回の定時タスクの実行開始時刻との差から算出する余裕時間に基づいてタスクの混雑度を判断すると、定時タスクの実行を適切に管理できないおそれがある。
【０００８】
本発明は上記問題を解決するためになされたものであり、定時タスクの実行を適切に管理する車載電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の車載電子制御装置によると、時間算出手段と、管理手段と、を備える。
時間算出手段は、所定時間間隔で起動される少なくとも一つの定時タスクが次回起動されるまでの現在時刻からの残り時間と、定時タスクよりも優先度が上位の上位タスクが残り時間の間で実行される実行時間との差を、定時タスクの実行可能時間として算出する。
【００１０】
管理手段は、時間算出手段が算出する実行可能時間に基づいて定時タスクの実行を管理する。
この構成によれば、定時タスクよりも優先度の上位の上位タスクの実行時間から今回定時タスクを実行できる実行可能時間を高精度に算出できるので、実行可能時間に基づいて定時タスクの実行を適切に管理できる。
【００１１】
尚、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】本実施形態による車載電子制御装置を示すブロック図。
【図２】角度同期タスクと定時タスクとの実行状態を示すタイムチャート。
【図３】角度同期タスクと定時タスクとの実行状態を示す他のタイムチャート。
【図４】タスク処理を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明が適用された実施形態を図に基づいて説明する。
［構成］
図１に示す電子制御装置（Electronic Control Unit：ＥＣＵ）１０は車両に搭載されており、タスク管理部１２と、角度同期タスク処理部１４と、定時タスク処理部１６と、を備える。ＥＣＵ１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を備えるマイクロコンピュータを搭載している。
【００１４】
ＥＣＵ１０は、ＲＯＭまたはフラッシュメモリに記憶された処理プログラムをＣＰＵが実行することにより、タスク管理部１２と、角度同期タスク処理部１４と、定時タスク処理部１６として機能する。
【００１５】
タスク管理部１２は、リアルタイムＯＳ（ＲＴＯＳ）に基づいて、車両制御を実行するタスクに対する実行時間の割り当て等を管理する。各タスクには、実行するときの優先順位が予め設定されている。
【００１６】
角度同期タスク処理部１４は、エンジンの回転角度に同期して起動される角度同期タスクを実行する。角度同期タスクは、例えば、点火時期の制御タスク、燃料噴射の制御タスクなど、エンジン制御を実行するタスクである。
【００１７】
定時タスク処理部１６は、所定時間間隔で起動される定時タスクを実行する。定時タスクは、例えば、エンジン負荷率の算出タスク、車両に搭載されている各種アクチュエータをデューティ制御するときのデューティ算出タスクである。
【００１８】
角度同期タスクは定時タスクよりも優先度が上位のタスクである。定時タスクのうち、エンジン負荷率の算出タスクはデューティ算出タスクよりも優先度が上位のタスクである。
【００１９】
［処理］
ＥＣＵ１０が実行するタスク処理について図２〜図４に基づいて説明する。
図２および図３において、定時タスク１はエンジン負荷率の算出タスクであり、定時タスク２はデューティ算出タスクである。タスク管理部１２は、定時タスク１を例えば５ｍｓ間隔で起動し、定時タスク２を例えば１０ｍｓ間隔で起動する。各タスクの矢印で示すタイミングが起動タイミングである。
【００２０】
定時タスク１が最初に起動されるときは角度同期タスクが実行されていないので、タスク管理部１２は定時タスク１を起動後すぐに実行させる。その後、角度同期タスクが起動されると、タスク管理部１２は、定時タスク１よりも優先度が上位の角度同期タスクを実行させ、定時タスク１の実行を中断する。
【００２１】
図２および図３において定時タスク１が２回目に起動されるときは角度同期タスクが実行されているので、タスク管理部１２は定時タスク１を起動しても実行を待機させる。定時タスク１が最初に起動されるときに定時タスク２も起動されるが、定時タスク２の優先度は最下位なので、角度同期タスクと定時タスク１とが両方共に実行されないタイミングになるまで、タスク管理部１２は定時タスク２の実行を待機させる。
【００２２】
定時タスク２は、デューティ算出タスクとして処理Ａ、処理Ｂ、処理Ｃの処理を実行する。処理Ａは、車両に搭載された各種アクチュエータをデューティ制御するときの基本デューティの値を算出する処理である。処理Ｂは、車両の運転状態に応じて基本デューティを補正する補正係数を算出する処理である。処理Ｃは、処理Ｂが算出した補正値で基本デューティを補正してアクチュエータをデューティ制御するデューティを算出する処理である。
【００２３】
処理Ａ、Ｂ、Ｃのうち処理Ａと処理Ｃとが実行されないと、アクチュエータをデューティ制御するデューティを決定できないので、定時タスク２において、処理Ａと処理Ｃとは実行する必要のある処理である。一方、処理Ｂを実行しない場合には、前回の処理Ｂで算出された補正係数によりデューティを算出してデューティ制御するか、基本デューティを補正せずにデューティ制御することもできるので、処理Ｂの実行は省略することができる。
【００２４】
図２においては、１０ｍｓの所定時間間隔の間に、定時タスク２の処理Ａ、Ｂ、Ｃの実行はすべて終了している。
図３においては、エンジン回転数の上昇などにより、角度同期タスクの１回当たりの実行時間が長くなっている。エンジン回転数の上昇などにより、１０ｍｓの所定時間間隔の間で実行される角度同期タスクの実行回数が増加することもある。
【００２５】
そのため、図３では、１０ｍｓの所定時間間隔の間に定時タスク２が実行できる時間が図２よりも減少している。そこで、定時タスク２の処理Ａ、Ｂ、Ｃのうち、処理Ｂを省略し、処理Ａ、Ｃを実行することにより、アクチュエータをデューティ制御するデューティを１０ｍｓの時間間隔内で設定している。
【００２６】
次に、定時タスク２の実行を管理する具体的なタスク処理について図４のフローチャートに基づいて説明する。図４のフローチャートは、１０ｍｓの時間間隔において、タスク管理部１２が定時タスク処理部１６に定時タスク２の実行を最初に許可するときに定時タスク処理部１６により実行される。
【００２７】
尚、図４のフローチャートが示す処理は、定時タスク２よりも優先度が上位の角度同期タスクまたは定時タスク１の実行が許可されると中断される。１０ｍｓの時間間隔の間に定時タスク２の実行が次回許可されると、中断された状態から定時タスク２の実行が再開される。
【００２８】
Ｓ４００において、定時タスク処理部１６は処理Ａを実行する。次に定時タスク処理部１６は、前回角度同期タスクが実行された１回当たりの実行時間Ｙ１と、５ｍｓの時間間隔の間に定時タスク１が前回実行された実行時間の合計Ｙ２とをタスク管理部１２から取得する（Ｓ４０２）。
【００２９】
定時タスク処理部１６は、処理Ａの実行が終了した現在時刻から、次回処理Ａが起動されるまでの残り時間Ｘを算出する（Ｓ４０４）。残り時間Ｘは式（１）から算出される。
Ｘ＝１０ｍｓ−（現在時刻−今回の定時タスク２の起動時刻）  ・・・（１）
次に、定時タスク処理部１６は、角度同期タスクが残り時間Ｘの間に実行される回数Ｎを式（２）から算出して推定する（Ｓ４０６）。
【００３０】
Ｎ＝Ｘ×｛（現在のエンジン回転数［ｒｐｍ］／６００００［ｍｓ］）
×（３６０°／角度同期タスクの実行角度間隔）｝              （２）
尚、式（２）から回数Ｎを算出するときに、車両の運転状態に基づいてエンジン回転数が上昇または低下するかを推定し、この推定結果に基づいて回数Ｎを増減してもよい。車両の運転状態は、スロットル開度センサ、吸気量センサ等のエンジン回転数センサ以外の他のセンサの検出値、ならびにエアコンの作動状態、自動変速機の変速段の変化等のアクチュエータの作動状態に基づいて検出される。
【００３１】
Ｓ４０８において定時タスク処理部１６は、残り時間Ｘが５ｍｓ以上であるか否かを判定する。残り時間Ｘが５ｍｓ以上であれば（Ｓ４０８：Ｙｅｓ）、定時タスク処理部１６は、定時タスク２の実行が許可され図４のタスク処理が実行されるときに、定時タスク１は１回目の実行を終了しており、残り時間Ｘの間に定時タスク１がもう１回実行されると判断する。
【００３２】
この場合、定時タスク処理部１６は、Ｓ４０２で取得したＹ１、Ｙ２と式（２）で算出した回数Ｎに基づいて、残り時間Ｘで角度同期タスクと定時タスク１とが実行される合計時間Ｚを式（３）から算出し（Ｓ４１０）、Ｓ４１４に処理を移行する。
【００３３】
Ｚ＝Ｙ１×Ｎ＋Ｙ２                                              （３）
残り時間Ｘが５ｍｓ未満であれば（Ｓ４０８：Ｎｏ）、定時タスク処理部１６は、１０ｍｓの時間間隔の間に定時タスク１が２回実行されて定時タスク１の実行は終了し、残り時間Ｘで実行されるのは角度同期タスクだけだと判断する。この場合、定時タスク処理部１６は、残り時間Ｘで角度同期タスクが実行される合計時間Ｚを式（４）から算出し（Ｓ４１２）、Ｓ４１４に処理を移行する。
【００３４】
Ｚ＝Ｙ１×Ｎ                                                    （４）
Ｓ４１４において定時タスク処理部１６は、残り時間Ｘの間に定時タスク２の処理Ｂ、Ｃが両方実行できるのか、処理Ｃしかできないのかを式（５）により判定する。式（５）において、（Ｘ−Ｚ）は残り時間で定時タスク２を実行できる実行可能時間を表わしている。
【００３５】
Ｘ−Ｚ≧Ｃ                                                      （５）
式（５）において、Ｃは式（６）から設定される定数である。式（６）の定数Ｃには、図４において処理Ａ、Ｂ、Ｃの実行以外の処理に要する時間を含めたマージンが設定されている。
【００３６】
Ｃ＝処理Ｂの実行時間＋処理Ｃの実行時間＋マージン                （６）
式（５）を満たす場合（Ｓ４１４：Ｙｅｓ）、定時タスク処理部１６は、残り時間Ｘの間に定時タスク２の処理Ｂ、Ｃが両方実行できると判断し、処理部Ｂおよび処理Ｃを実行する（Ｓ４１６、Ｓ４１８）。
【００３７】
式（５）を満たさない場合（Ｓ４１４：Ｎｏ）、定時タスク処理部１６は、残り時間Ｘの間に定時タスク２の処理Ｃしか実行できないと判断し、処理Ｃだけを実行する（Ｓ４１８）。
【００３８】
［効果］
以上説明した本実施形態によれば、以下の効果が得られる。
［Ａ］定時タスク２よりも優先度が上位の上位タスクである角度同期タスクおよび定時タスク１の実行時間から、今回の残り時間で定時タスク２を実行できる実行可能時間を高精度に算出できる。これにより、定時タスク２が実行する複数の処理のうち、実行可能時間で実行できる処理と実行できない処理とを適切に判定できる。したがって、定時タスク２の実行を適切に管理できる。
【００３９】
［Ｂ］定時タスク２が実際に実行を開始してから実行可能時間を算出するので、定時タスク２よりも優先度が上位の定時タスク１が１回目の実行を終了したか２回目の実行を終了したかを正確に判定できる。これにより、今回の残り時間で定時タスク２を実行できる実行可能時間を高精度に算出できる。
【００４０】
［Ｃ］エンジン回転数センサ以外の他のセンサ、ならびにアクチュエータの作動状態に基づいてエンジン回転数の変化を推定し、エンジン回転数の変化に応じて残り時間で角度同期タスクが実行される回数を増減することにより、今回の残り時間で定時タスク２を実行できる実行可能時間を高精度に算出できる。
【００４１】
［他の実施形態］
「Ａ」上記実施形態では、定時タスク１、２のうち定時タスク１よりも優先度が低い定時タスク２の処理の実行を、残り時間で定時タスク２が実行できる実行可能時間に基づいて管理した。この管理を定時タスク１について実行してもよい。定時タスク１の場合、上位タスクは角度同期タスクになるので、残り時間と角度同期タスクの実行時間との差から定時タスク１の処理の実行を管理すればよい。
【００４２】
［Ｂ］上記実施形態では、式（５）を満たさない場合、定時タスク２において必須ではない処理Ｂの実行を省略した。これに対し、例えば処理Ｂ、Ｃのいずれも必須ではなく、式（５）を満たさない場合、今回は処理Ｂを実行して処理Ｃの実行を省略し、次回も式（５）を満たさない場合は、処理Ｃを実行して処理Ｂの実行を省略してもよい。
【００４３】
［Ｃ］上記実施形態では、定時タスク２のうち処理Ａの実行が終了してから処理Ｂを実行するか否かを判定した。これに対し、定時タスク２の実行が許可され処理Ａの実行が開始される前に、処理Ｂを実行するか否かを判定してもよい。
【００４４】
［Ｄ］上記実施形態では、定時タスク２の実行を管理するタスク処理において定時タスク２の実行可能時間を算出した。これに対し、定時タスク２の実行を管理するタスク処理とは別に、定時タスク２の実行可能時間を算出する専用の処理をタスク処理の実行前に実行してもよい。
【００４５】
［Ｅ］上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００４６】
［Ｆ］上述したＥＣＵ１０の他、当該ＥＣＵ１０を構成要素とするタスク管理システム、当該ＥＣＵ１０としてコンピュータを機能させるためのタスク管理プログラム、このタスク管理プログラムを記録した記録媒体、タスク管理方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００４７】
１０：ＥＣＵ（車載電子制御装置）、１６：定時タスク処理部（時間算出手段、管理手段、実行回数推定手段、回転数推定手段）
【図１】
2016013782.tif 000003
【図２】
2016013782.tif 000004
【図３】
2016013782.tif 000005
【図４】
2016013782.tif 000006