(57)【要約】【課題】所定期間内に処理を完了するように規定された期間処理を、アイドルタスク以外のタスクの処理を極力妨げることなく所定期間内に完了させる車載電子制御装置を提供する。【解決手段】車載電子制御装置は、定時タスクの通常制御処理を実行し（Ｓ４００）、現在までに定時タスクおよびアイドルタスクの実行時に実行されたテスト処理の累積テスト数ｉが、今回の定時タスクの実行時において設定された最大の累積テスト数（Ｎ×ｊ）以上であるか否かを判定する（Ｓ４０２）。累積テスト数ｉが最大の累積テスト数（Ｎ×ｊ）以上の場合（Ｓ４０２：Ｙｅｓ）、今回の定時タスクの実行時にはテスト処理を実行せずにＳ４１０に処理を移行する。累積テスト数ｉが最大の累積テスト数（Ｎ×ｊ）より少ない場合（Ｓ４０２：Ｎｏ）、今回の定時タスクの実行時にテスト処理を実行する（Ｓ４０６）。【選択図】図４
2014009949.tif 000002
【特許請求の範囲】
【請求項１】
所定期間内に処理を完了するように規定された期間処理を実行する期間処理手段（２２、３２、Ｓ４０６、Ｓ４２４）と、
アイドルタスクを実行するアイドルタスク手段（３０、Ｓ４２６）と、
前記所定期間内に一定周期で複数回起動され、前記アイドルタスクよりも優先度の高い定時タスクを実行する定時タスク手段（２０、Ｓ４００）と、
前記定時タスクのうち予め設定した所定の定時タスクを前記定時タスク手段が実行するときと前記アイドルタスク手段が前記アイドルタスクを実行するときとにおいて、前記期間処理手段に前記期間処理の実行機会を与える実行管理手段（２０、３０、Ｓ４０２、Ｓ４０４、Ｓ４０８、Ｓ４２０、Ｓ４２２）と、
を備えることを特徴とする車載電子制御装置。
【請求項２】
前記期間処理は前記車載電子制御装置の作動を監視するテスト処理であることを特徴とする請求項１に記載の車載電子制御装置。
【請求項３】
これまで実行された前記期間処理の処理量を取得する処理量取得手段（Ｓ４０２）を備え、
前記実行管理手段は、前記処理量取得手段が取得する前記期間処理の処理量に基づき、前記所定の定時タスクの実行時に前記期間処理手段が実行する前記期間処理の処理量を決定する、
ことを特徴とする請求項１または２に記載の車載電子制御装置。
【請求項４】
前記所定期間内に前記所定の定時タスクが実行される各回において、前記所定の定時タスクの実行時だけで前記期間処理を実行する場合の最大処理量が設定されていることを特徴とする請求項１から３のいずれか一項に記載の車載電子制御装置。
【請求項５】
前記実行管理手段は、前記最大処理量のうち前記アイドルタスクの実行時において前記期間処理が処理された処理量の残りを、前記所定の定時タスクの実行時における前記期間処理の処理量とすることを特徴とする請求項４に記載の車載電子制御装置。
【請求項６】
前記最大処理量は、前記所定の定時タスクの実行時において前記車載電子制御装置の処理負荷が高いときの方が前記処理負荷が低いときよりも少なく設定されていることを特徴とする請求項４または５に記載の車載電子制御装置。
【請求項７】
前記所定の定時タスクとして、前記車載電子制御装置の処理負荷の大きさに関わらず一定周期で抜けなく実行される前記定時タスクが設定されていることを特徴とする請求項１から６のいずれか一項に記載の車載電子制御装置。
【請求項８】
前記所定の定時タスクは複数設定されていることを特徴とする請求項１から７のいずれか一項に記載の車載電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される電子制御装置に関する。
【背景技術】
【０００２】
従来、車載電子制御装置が実行する車両制御の実行機能をテストしたり、このテスト機能を監視したりすることにより、車載電子制御装置が正常に作動しているか否かを判定することが行われている（例えば、特許文献１参照。）。このような機能テストは、所定期間内で完了させることが一般的である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表平１１−５０５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述した機能テストの処理をアイドルタスクの実行時に割り当てると、アイドルタスク以外のタスクの処理を妨げることはないが、電子制御装置の処理負荷が高くアイドルタスクが殆ど実行されない場合には所定期間内で機能テストを完了できない。
【０００５】
一方、機能テストを確実に実行するために、機能テストの処理を、アイドルタスクではなく一定周期で実行される優先度の高い定時タスクの実行時に割り当てると、電子制御装置の処理負荷が高いときに、機能テストの処理が割り当てられたタスクよりも優先度の低いタスクの処理が遅れて妨げられるという問題がある。
【０００６】
本発明は上記課題を解決するためになされたものであり、所定期間内に処理を完了するように規定された期間処理を、アイドルタスク以外のタスクの処理を極力妨げることなく所定期間内に完了させる車載電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の車載電子制御装置によると、一定周期で起動されアイドルタスクよりも優先度の高い定時タスクのうち予め設定した所定の定時タスクの実行時とアイドルタスクの実行時とにおいて、所定期間内に処理を完了するように規定された期間処理を実行する期間処理手段に期間処理の実行機会を与える。
【０００８】
これにより、処理負荷が低くアイドルタスクが実行されるときにはアイドルタスクの実行時に期間処理を実行することにより、アイドルタスク以外のタスクの処理を妨げることなく、期間処理を実行できる。
【０００９】
一方、処理負荷が高くアイドルタスクが実行されないときには、アイドルタスクよりも優先度の高い所定の定時タスクの実行時に期間処理を実行するので、期間処理の実行が抜けることを極力防止できる。
【００１０】
そして、アイドルタスクと定時タスクとのそれぞれの実行時に期間処理を実行することにより、所定期間内に期間処理を完了することができる。
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による車載電子制御装置を示すブロック図。
【図２】テスト処理の実行状態を示すタイムチャート。
【図３】処理負荷に応じたテスト処理の処理量の推移を示す特性図。
【図４】定時タスク処理を示すフローチャート。
【図５】アイドルタスク処理を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図に基づいて説明する。
図１に示す電子制御装置（Electronic Control Unit：ＥＣＵ）１０は車両に搭載されており、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力インタフェース等からなるマイクロコンピュータにより主に構成されている。ＥＣＵ１０は、ＲＯＭ等に記憶された制御プログラムを実行することにより、各種の車両制御を実行する。
【００１３】
また、ＥＣＵ１０は、タスク管理部１２と定時タスク処理部２０とアイドルタスク処理部３０とを備えており、図示しないが、イベントが発生したときに実行される非定時タスクを実行する非定時タスク処理部も備えている。
【００１４】
タスク管理部１２は、タイマ１４の計測時間に基づき、タイマ割り込みにより定時タスク処理部２０に指令して、複数の定時タスクのそれぞれに応じて設定された一定周期で各定時タスクを起動させる。タスク管理部１２は、タスクの実行時間に空きが生じる場合には、アイドルタスク処理部３０に指令してアイドルタスクを起動させる。
【００１５】
定時タスク処理部２０およびアイドルタスク処理部３０には、定時タスクおよびアイドルタスクの処理以外に、ＥＣＵ１０の作動を監視するテスト処理を実行するテスト処理部２２、３２がそれぞれ設けられている。テスト処理では、例えば、特定のパターンの処理をＥＣＵ１０に実行させ、処理の結果に基づいてＥＣＵ１０が正常に作動しているか否かを判定する。テスト処理は、所定期間毎に繰り返し実行され、所定期間内に全ての処理が完了するように規定されている。
【００１６】
（テスト処理の実行状態）
図２に示すように、本実施形態ではタスク１〜タスク４を定時タスクに設定している。タスク１〜タスク４は、各タスクに応じて設定された一定周期で起動される。タスク１〜タスク４のうち、タスク１の実行優先度が最も高く、タスク４の実行優先度が最も低い。実行優先度の高い定時タスクとして、例えば燃料噴射弁の噴射量を算出するタスクが設定されている。アイドルタスクの実行優先度は定時タスクよりも低い。
【００１７】
図２の（Ａ）は本実施形態におけるテスト処理の実行状態を示し、図２の（Ｂ）は比較例におけるテスト処理の実行状態を示している。
図２の（Ａ）では、アイドルタスクを実行するときと、所定の定時タスクとしてタスク３を実行するときとにおいて、テスト処理に実行機会を与えている。タスク３には、自身および他の定時タスクの実行周期および実行優先度に基づいて、ＥＣＵ１０の処理負荷の高低に関わらず実行抜けがない定時タスクが選択されている。タスク３は、テスト処理が完了するように規定されている所定期間内に複数回起動される。
【００１８】
ＥＣＵ１０の処理負荷が低い場合、アイドルタスクの実行時およびタスク３の実行時の両方でテスト処理が実行される。ＥＣＵ１０の低負荷時においてアイドルタスクの実行時にテスト処理を所定の処理量以上実行すれば、ＥＣＵ１０の処理負荷が高い場合には、図２の（Ａ）に点線で示すように、タスク３の実行時にテスト処理を実行しない。
【００１９】
このように、アイドルタスクの実行時にテスト処理をできるだけ多く実行するので、タスク３の実行時にテスト処理を実行する処理量を極力減少することができる。その結果、タスク３よりも実行優先度の低いタスク４の実行が、タスク３でテスト処理を実行するために待たされて妨げられることを防止できる。
【００２０】
これに対し、図２の（Ｂ）に示す比較例では、タスク３を実行するときだけにテスト処理に実行機会を与え、アイドルタスクを実行するときにはテスト処理に実行機会を与えていない。したがって、所定の期間内にテスト処理を完了させるために、ＥＣＵ１０の高負荷時においてもタスク３の実行時にテスト処理が実行される。その結果、タスク３よりも実行優先度の低いタスク４の実行が、タスク３でテスト処理を実行するために待たされる。
【００２１】
（テスト処理の処理量）
前述したように、テスト処理は所定期間内に全ての処理が完了するように規定されている。本実施形態では、テスト処理の処理単位として、タスク３の１回の実行時における最大処理量が設定されている。定時タスク処理部２０のテスト処理部２２は、タスク３の１回の実行時において最大処理量を超えてテスト処理を実行しない。
【００２２】
本実施形態では、テスト処理の実行を完了すべき所定期間をＴ、タスク３の実行周期をΔＴとすると、タスク３の実行抜けがないとして、所定期間Ｔで（Ｔ／ΔＴ）回タスク３が実行される。そして、最大処理量をＮ、所定期間Ｔにおけるテスト処理の合計処理量をＴＯＴＡＬとすると、タスク３だけでテスト処理を実行すると仮定した場合、最大処理量Ｎは次式（１）により求められる。
【００２３】
Ｎ＝ＴＯＴＡＬ／（Ｔ／ΔＴ）      ・・・（１）
式（１）から、所定期間でタスク３が実行される回数（Ｔ／ΔＴ）は（ＴＯＴＡＬ／Ｎ）で表わされる。
【００２４】
本実施形態では、アイドルタスクの実行期間中に最大処理量を無視してテスト処理を極力実行するように設定している。その結果、低負荷時においてアイドタスクが実行されるときには、タスク３の実行時だけでテスト処理を実行し経過時間に応じて最大処理量を累積する図３の点線２００に示す場合よりも、テスト処理の累積処理量ｉが増加する。点線２００は、所定期間Ｔにおける経過時間をｔとすると次式（２）で表わされる。
【００２５】
ｉ＝Ｎ×（ｔ／ΔＴ）    ・・・（２）
高負荷時になると、アイドルタスクの実行機会は減少する。しかし、低負荷時においてアイドルタスクの実行時にテスト処理を極力多く実行し、点線２００で示す処理量を上回っている場合、図２の（Ａ）に示す点線のように、タスク３ではテスト処理を実行しない。したがって、タスク３よりも実行優先度の低いタスク４を待たされることなく実行できる。
【００２６】
テスト処理の累積処理量ｉが点線２００で示す処理量を上回っている高負荷時においてタスク３の実行時にテスト処理を実行せず、アイドルタスクの実行時だけでテスト処理を実行する場合、アイドルタスクの実行機会は殆どないので、テスト処理の累積処理量ｉは式（２）に近づき、やがて一致する。
【００２７】
この状態でさらに高負荷が続くと、アイドルタスクの実行時にテスト処理が実行されない代わりに、タスク３の実行時にテスト処理が実行される。このときのテスト処理の累積処理量ｉは、式（２）に一致する。
【００２８】
次に、本実施形態における定時タスク処理、アイドルタスク処理を図４、図５に示すフローチャートに基づいて説明する。図４および図５において「Ｓ」はステップを表わしている。尚、図４および図５では、テスト処理の処理量はテスト数で表わされている。
【００２９】
（定時タスク処理）
図４に示す定時タスク処理はタスク３を実行する処理であり、タイマ割り込みにより一定周期でＥＣＵ１０の定時タスク処理部２０により起動される。
【００３０】
まず、定時タスク処理部２０はタスク３の通常制御処理を実行する（Ｓ４００）。そして、通常制御処理が終了すると、Ｓ４０２以降の処理は、定時タスク処理部２０のテスト処理部２２が実行する。
【００３１】
現在のテスト処理の累積テスト数ｉが、今回のタスク３の実行時における最大の累積テスト数以上であるか否かを次式（３）に基づいて判定する（Ｓ４０２）。ｉの初期値は０である。
【００３２】
ｉ≧Ｎ×ｊ      ・・・（３）
式（３）において、Ｎはタスク３の各回の実行時における最大テスト数（最大処理量）を表わしている。ｊは、最大テスト数を１回の処理単位として、現在のテスト処理が何回目の最大テスト数の処理であるかを表わしている。したがって、（Ｎ×ｊ）は今回のタスク３の実行時における最大の累積テスト数を表わしている。ｊの初期値は１である。
【００３３】
累積テスト数ｉが最大の累積テスト数（Ｎ×ｊ）以上の場合（Ｓ４０２：Ｙｅｓ）、今回のタスク３の実行時にはテスト処理を実行せずにＳ４１０に処理を移行する。累積テスト数ｉが最大の累積テスト数（Ｎ×ｊ）より少ない場合（Ｓ４０２：Ｎｏ）、Ｓ４０４に処理を移行する。ｉの初期値は０であるから、最初のテスト処理を開始するときはＳ４０２の判定は「Ｎｏ」である。
【００３４】
Ｓ４０４においてｉが＋１され、所定期間で実行されるテスト処理の合計テスト数（ＴＯＴＡＬ）のうちｉ番目のテストを実行する（Ｓ４０６）。そして、Ｓ４０６で実行したテストを含め、今までに実行された累積テスト数ｉが今回のタスク３の実行時における最大の累積テスト数（Ｎ×ｊ）より少ないか否かを判定する（Ｓ４０８）。
【００３５】
累積テスト数が最大の累積テスト数より少ない場合（Ｓ４０８：Ｙｅｓ）、Ｓ４０４に処理を戻してテスト処理を継続し、累積テスト数が最大の累積テスト数以上の場合（Ｓ４０８：Ｎｏ）、今回のタスク３の実行時におけるテスト処理を終了し、Ｓ４１０に処理を移行する。
【００３６】
Ｓ４１０においてｊを＋１し、所定期間Ｔでタスク３が（ＴＯＴＡＬ／Ｎ）回実行され、テスト処理が完了したか否かを式（４）に基づいて判定する（Ｓ４１２）。
ｊ＞ＴＯＴＡＬ／Ｎ      ・・・（４）
ｊはＳ４１０においてタスク３を実行する毎に１回実行されるので、ｊは次回実行するタスク３が何回目であるかを示している。したがって、ｊが式（４）を満たすのは、所定期間Ｔにおいて最終回のタスク３が実行されたときである。
【００３７】
式（４）を満たせば（Ｓ４１２：Ｙｅｓ）、テスト処理が完了したことを表わしているので、Ｓ４１４においてｉ＝０、ｊ＝１としてｉ、ｊを初期値に設定する。
式（４）を満たさない場合（Ｓ４１２：Ｎｏ）、テスト処理は完了していないことを表わしているので、ｉ、ｊの値を保持して本処理を終了する。
【００３８】
（アイドルタスク処理）
図５に示すアイドルタスク処理は、ＥＣＵ１０の処理負荷が低く、通常のタスク処理の間に空きが生じているときにアイドルタスク処理部３０により実行される。
【００３９】
Ｓ４２０〜Ｓ４２４の処理は、アイドルタスク処理部３０のテスト処理部３２により実行される。まず、テスト処理の累積テスト数ｉが合計テスト数（ＴＯＴＡＬ）より少ないか否かを判定する（Ｓ４２０）。
【００４０】
累積テスト数ｉが合計テスト数（ＴＯＴＡＬ）以上の場合（Ｓ４２０：Ｎｏ）、今回の所定期間でテスト処理は完了したと判断し、Ｓ４２６に処理を移行する。Ｓ４２６ではアイドルタスク処理部３０によりアイドル処理が実行される。
【００４１】
累積テスト数ｉが合計テスト数（ＴＯＴＡＬ）より少ない場合（Ｓ４２０：Ｙｅｓ）、ｉを＋１し（Ｓ４２２）、ｉ番目のテストを実行し（Ｓ４２４）、Ｓ４２０に処理を戻す。これにより、アイドルタスクの実行時において、テスト処理が極力多く実行される。
【００４２】
アイドルタスク処理では累積テスト数ｉを初期値に設定しないので、アイドルタスク処理でテスト処理が完了しＳ４２０の判定が「Ｎｏ」になると、図４の定時タスク処理でｉが初期値に設定されるまで、アイドルタスク処理ではテスト処理を実行しない。
【００４３】
以上説明した上記実施形態では、所定期間Ｔにおいてタスク３が実行される各回において、テスト処理を実行する最大処理量が設定されている。これにより、タスク３において最大処理量を超えてテスト処理を実行しないので、タスク３の占有時間を極力短縮することができる。その結果、タスク３よりも実行優先度の低いタスク４の実行が待たされて妨げられることを極力防止できる。
【００４４】
また、アイドルタスク処理の実行時には、テスト処理が完了するまで極力多くテスト処理を実行するので、アイドルタスク以外のタスクの処理を妨げることなくテスト処理を実行できる。さらに、タスク３でテスト処理を実行することを極力回避できるので、タスク３よりも実行優先度の低いタスク４の実行が待たされることを極力防止できる。
【００４５】
そして、タスク３およびアイドルタスクのそれぞれの実行時にテスト処理を実行する機会を与えるので、所定期間Ｔ内にテスト処理を完了することができる。
［他の実施形態］
上記実施形態では、タスク３だけを本発明の予め設定した所定の定時タスクとしたが、タスク１〜タスク４のうち複数のタスクを所定の定時タスクとし、それぞれの所定の定時タスクの実行時において期間処理を実行してもよい。
【００４６】
また、上記実施形態では、タスク３が実行される各回において、タスク３だけでテスト処理を実行する場合の最大処理量（最大テスト数）Ｎを同じ値にしたが、タスク３が実行される各回において異なる値に設定してもよい。
【００４７】
例えば、上記実施形態において定時タスクであるタスク１〜タスク４のそれぞれの実行周期から、タスク３を実行するときの各回においてＥＣＵ１０の処理負荷がどの程度であるかが予め分かるので、ＥＣＵ１０の処理負荷が高いときには処理負荷が低いときよりも最大処理量を少なくするというように、ＥＣＵ１０の処理負荷に応じて最大処理量を設定してもよい。これにより、ＥＣＵ１０の処理負荷が高いときに、テスト処理の実行時間を含めたタスク３の占有時間を極力短縮できる。
【００４８】
本発明の車載電子制御装置は、エンジンとしてどのような駆動源を搭載した車両に適用してもよく、例えばガソリンエンジン、ディーゼルエンジン等の内燃機関、内燃機関と電動モータとの併用、または電動モータだけを駆動源とする車両に適用できる。
【００４９】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００５０】
１０：ＥＣＵ（車載電子制御装置、アイドルタスク手段、定時タスク手段、期間処理手段、実行管理手段、処理量取得手段）
【図１】
2014009949.tif 000003
【図３】
2014009949.tif 000004
【図４】
2014009949.tif 000005
【図５】
2014009949.tif 000006
【図２】
2014009949.tif 000007