(57)【要約】【課題】制御対象に対する制御処理を監視する監視処理を極力短時間で検査する電子制御装置を提供する。【解決手段】電子制御装置は、監視処理を検査するための実行テストを実行した実行結果を表わす変数ＡＮＳの初期値を、監視処理が正常であることを示す「ＯＫ」に設定し（Ｓ４２０）、監視処理の監視結果と理論出力値が反対の正常テストまたは異常テストにおいてＴＰ［Ｎ］が示す位置のテストデータを監視部に実行させ（Ｓ４２４）、監視部の実行結果が、ＴＰ［Ｎ］が示す位置のテストデータを実行したときの理論出力値と一致しない場合（Ｓ４２６：Ｎｏ）、変数ＡＮＳに監視部が異常であることを示す「ＮＧ」を設定する（Ｓ４２８）。監視部による実行テストの実行結果が理論出力値と一致する場合（Ｓ４２６：Ｙｅｓ）、正常テストまたは異常テストのテスト数をすべて実行するまで（Ｓ４３２：Ｙｅｓ）、Ｓ４２４に処理を戻す。【選択図】図８
2014044492.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された制御対象を制御する制御手段（３２）と、
前記制御対象に対する前記制御手段の制御処理を監視する監視手段（３４）と、
前記制御処理に対する前記監視手段による監視結果に応じて、前記制御処理に対する前記監視手段の監視処理を検査するためのテスト群（４２、４４）から前記監視手段に実行させる実行テストを選択する選択手段（４０、Ｓ４００、Ｓ４１０〜Ｓ４１４）と、
前記選択手段が選択した前記実行テストを前記監視手段に実行させ、前記実行テストの実行結果に基づいて前記監視手段による前記監視処理を検査する検査手段（５０、６０、Ｓ４０２、Ｓ４２０〜Ｓ４３６、Ｓ４４０〜Ｓ４６２）と、
を備えることを特徴とする電子制御装置。
【請求項２】
前記選択手段は、正常な前記監視手段が前記実行テストを実行した場合に前記実行結果として出力すると考えられる理論出力値が前記監視手段による前記監視結果と異なる前記実行テストを前記テスト群から選択して前記監視手段に実行させ、
前記検査手段は、前記監視手段が前記実行テストを実行した前記実行結果と前記実行テストの前記理論出力値とが一致すれば前記監視手段は正常であると判定し、前記監視手段による前記実行結果と前記理論出力値とが異なれば前記監視手段は異常であると判定する、
ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記監視手段は、前記監視結果および前記実行テストの前記実行結果として正常または異常の２値のいずれかを出力し、
前記選択手段は、前記監視手段による前記監視結果と反対の前記理論出力値となる前記実行テストを選択して前記監視手段に実行させる、
ことを特徴とする請求項２に記載の電子制御装置。
【請求項４】
前記テスト群は、正常な前記監視手段が前記テスト群を実行した場合に前記実行結果として出力すると考えられる理論出力値毎に分けて記憶されていることを特徴とする請求項１から３のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された制御対象に対する制御処理を監視する電子制御装置に関する。
【背景技術】
【０００２】
従来、車両に搭載されたアクチュエータ等の制御対象に対する制御処理を監視する電子制御装置が知られている（例えば、特許文献１参照。）。特許文献１では、制御対象に対する制御部による制御処理が正常に機能しているかを監視部が監視する。さらに、制御処理に対する監視部による監視処理が正常に機能しているかを検査部が検査する。
【０００３】
検査部は、監視部にテストを実行させ、監視部の実際の実行結果と、正常な監視部がテストを実行したときに出力すると考えられる実行結果とを比較し、一致しない場合に監視部の監視処理は正常に機能していないと判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平１１−５０５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
監視部の監視処理が正常に機能しているか否かを高精度に検査するためには、極力多くのテストを監視部に実行させることが望ましい。
しかしながら、テスト数が増加すると検査時間が延びるので、検査以外の他の処理を実行するための時間が減少する。テストが増加しても検査時間が延びないようにするためには、処理能力の高い演算装置が必要であるが、処理能力の高い演算装置は高価である。
【０００６】
本発明は上記問題を解決するためになされたものであり、制御対象に対する制御処理を監視する監視処理を極力短時間で検査する電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の電子制御装置によると、車両に搭載された制御対象に対する制御手段の制御処理を監視手段が監視する。そして、制御処理に対する監視手段による監視結果に応じて、制御処理に対する監視手段の監視処理を検査するためのテスト群から監視手段に実行させる実行テストを選択手段が選択し、監視手段が実行テストを実行した実行結果に基づいて監視手段による監視処理を検査手段が検査する。
【０００８】
このように、監視手段による監視処理を検査するためのテスト群をすべて監視手段に実行させるのではなく、監視結果に応じて選択手段がテスト群から実行テストを選択して監視手段に実行させるので、処理能力の高い演算装置を使用することなく、監視手段に対する検査時間を短縮できる。検査時間が短くなることにより、監視手段に対する検査以外の他の処理の実行時間を確保できる。
【０００９】
また、本発明の電子制御装置によると、正常な監視手段が実行テストを実行した場合に実行結果として出力すると考えられる理論出力値が監視手段による監視結果と異なる実行テストをテスト群から選択して監視手段に実行させる。
【００１０】
この場合、監視手段が異常であれば、監視手段による監視結果と理論出力値が異なる実行テストを監視手段が実行すると、実行結果は理論出力値と異なる筈である。一方、監視手段が正常であれば、監視手段による監視結果と理論出力値が異なる実行テストを監視手段が実行すると、実行結果は理論出力値と一致する筈である。
【００１１】
したがって、監視手段による監視結果と理論出力値が異なる実行テストを監視手段が実行したときの実行結果と理論出力値とに基づいて、監視手段が正常であるか異常であるかを判定できる。
【００１２】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００１３】
【図１】本実施形態による電子制御装置を示す図。
【図２】テスト群を示す図。
【図３】処理の実行周期および実行パターンを示す図。
【図４】テストデータと理論出力値とを示す図。
【図５】監視処理を検査するテストの実行パターンを示す図。
【図６】検査処理を示すフローチャート。
【図７】テストの選択処理を示すフローチャート。
【図８】テストの実行処理を示すフローチャート。
【図９】テストの実行結果に対する判定処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図に基づいて説明する。
図１に示す電子制御装置（Electronic Control Unit：ＥＣＵ）１０は、例えば、自動車用の多気筒のガソリンエンジン（以下、単に「エンジン」ともいう。）に搭載された制御対象を制御するものである。図１では、制御対象としてスロットル装置１００を例にしているが、スロットル装置１００以外にも、インジェクタ、燃料ポンプ、変速装置等を制御するＥＣＵであってもよい。
【００１５】
ＥＣＵ１０は、入力段２０、マイクロプロセッサ（ＭＰＵとも言う。）３０、検査ＩＣ６０、および出力段８０から主に構成されている。ＭＰＵ３０と検査ＩＣ６０とは、異なる処理装置としてＥＣＵ１０に搭載されている。
【００１６】
ＭＰＵ３０は、制御部３２、監視部３４、テスト選択部４０およびテスト実行部５０から主に構成されている。制御部３２、監視部３４、テスト選択部４０およびテスト実行部５０が処理を実行するためのプログラムは、ＭＰＵ３０内のフラッシュメモリ等の書換可能な不揮発性メモリに記憶されている。
【００１７】
制御部３２は、入力段２０を介してアクセル開度センサ９０、スロットル開度センサ９２、および図示しない水温センサ、回転数（ＮＥ）センサ、車速センサ等の信号を入力し、これら各種センサ信号に基づいてエンジンの運転状態を検出する。そして、検出したエンジン運転状態に基づいてスロットル装置１００の開度を制御する制御信号を出力段８０からスロットル装置１００に出力する。
【００１８】
監視部３４は、制御部３２と同じ各種センサ信号を入力段２０から入力するとともに、制御部３２の制御信号を入力し、制御部３２が出力する制御信号がエンジン運転状態を表わす各種センサ信号から生成される適正な範囲内であるか否かを監視する。
【００１９】
そして、制御信号が適正な範囲内であり制御部３２による制御処理が正常であれば、監視部３４は監視結果を表わす信号であるイネーブル信号１をオンにし、制御部３２が生成した制御信号を出力段８０から出力することを許可する。制御信号が適正な範囲を外れており制御部３２による制御処理が異常であれば、監視部３４はイネーブル信号１をオフにし、制御部３２が生成した制御信号を出力段８０から出力することを禁止する。
【００２０】
テスト選択部４０は、監視部３４が出力するイネーブル信号１に基づいて、正常テスト４２または異常テスト４４のいずれかを選択してテスト実行部５０に通知する。
図２に示すように、正常テスト４２および異常テスト４４は、制御部３２に対する監視部３４の監視処理を検査するためのテスト群を構成しており、フラッシュメモリに分けて記憶されている。これにより、テスト群から正常テスト４２または異常テスト４４を容易に選択することができる。
【００２１】
正常テスト４２および異常テスト４４は、監視部３４に実行させるテストデータと、正常な監視部３４が各テストデータを実行したときに実行結果として出力すると考えられる理論出力値とから構成されている。正常な監視部３４が正常テスト４２のテストデータを実行したときの理論出力値は「正常」であり、正常な監視部３４が異常テスト４４のテストデータを実行したときの理論出力値は「異常」である。
【００２２】
テスト実行部５０は、テスト選択部４０で選択された実行テストを監視部３４に実行するように指令し、監視部３４から実行テストの実行結果を取得する。
監視部３４は、テストＩ／Ｆ３６を介してテスト実行部５０から実行テストの実行を指令されると、指令された実行テストを制御部３２に対する監視処理と同じ監視プログラムで実行し、実行テストの実行結果をテストＩ／Ｆ３６を介してテスト実行部５０に出力する。
【００２３】
検査ＩＣ６０の結果判定部６２は、監視部３４における実行テストの実行結果をテスト実行部５０から取得し、実行結果が監視部３４による監視処理が正常であることを示している場合はイネーブル信号２をオンにし、実行結果が監視部３４による監視処理が異常であることを示している場合はイネーブル信号２をオフにする。
【００２４】
イネーブル信号２がオンの場合、出力段８０の出力の許可または禁止はイネーブル信号１により決定され、イネーブル信号２がオフの場合、出力段８０の出力はイネーブル信号１のオン、オフに関わらず禁止される。
【００２５】
尚、ＭＰＵ３０のテスト選択部４０およびテスト実行部５０と、検査ＩＣ６０の結果判定部６２とは、制御部３２の制御処理に対する監視部３４の監視処理を検査する検査部７０を構成している。
【００２６】
（処理周期と実行パターン）
制御部３２、監視部３４、テスト選択部４０およびテスト実行部５０による処理の実行周期と実行パターンとを図３に示す。
【００２７】
本実施形態では、制御部３２による制御処理（Ａ）は４ｍｓ周期で実行され、監視部３４による監視処理（Ｂ）、テスト選択部４０によるテスト選択処理（Ｃ）およびテスト実行部５０によるテスト実行処理（Ｄ）は８ｍｓ周期で実行される。これ以外の他の処理（Ｘ）は、例えば、監視処理（Ｂ）、テスト選択処理（Ｃ）およびテスト実行処理（Ｄ）と同じかまたは異なるタイミングで８ｍｓ周期で実行される。
【００２８】
（実行テスト）
制御部３２の制御処理に対する監視部３４の監視処理が正常に実行されている場合、制御処理に対する監視部３４の監視結果が「正常」または「異常」のいずれであっても、監視結果として採用できる。一方、制御処理に対する監視部３４の監視処理が異常な場合、制御処理に対する監視部３４の監視結果が「正常」または「異常」のいずれであっても、その監視結果を採用することはできない。したがって、制御処理に対する監視部３４の監視処理が正常か異常であるかを検査する必要がある。
【００２９】
本実施形態では、理論出力値が監視部３４による監視結果と同じになる実行テストを監視部３４が実行した場合、監視部３４が正常であれば実行テストの実行結果は理論出力値と一致し、監視部３４が異常であっても実行テストの実行結果は誤って理論出力値と一致する可能性があるので、理論出力値が監視部３４による監視結果と同じになる実行テストを監視部３４に実行させる必要はないと判断する。
【００３０】
したがって、監視部３４に実行テストを実行させ監視部３４が正常であるか異常であるかを検査する場合、理論出力値が監視部３４による監視結果と同じになる実行テストは監視部３４に実行させず、理論出力値が監視部３４による監視結果と異なる実行テストを監視部３４に実行させる。
【００３１】
例えば、図４に示す４個のテストのうち、図５に示すように、監視部３４による監視結果が「正常」の場合には、理論出力値が「異常」であるテスト（２）、（３）を監視部３４に実行させ、監視部３４による監視結果が「異常」の場合には理論出力値が「正常」であるテスト（１）、（４）を監視部３４に実行させる。
【００３２】
これにより、監視部３４の監視結果に関わらず全てのテストを監視部３４に実行させる比較例に比べ、監視部３４に対する検査処理に要する時間が短くなる。
次に、ＥＣＵ１０が実行する検査処理について図６〜図９のフローチャートに基づいて説明する。図６〜図９において「Ｓ」はステップを表わしている。図６〜図８はＭＰＵ３０が実行する処理であり、図９は検査ＩＣ６０が実行する処理である。また、図８および図９において、変数ＴＣＮ、ＴＲＣ、ＦＬＣ、ＲＣＮ、ＯＣＮはエンジンスタート時に初期値の０に設定される。
【００３３】
（検査処理）
図６に示す検査処理は、８ｍｓ周期で監視部３４による監視処理の後に実行される。テスト選択部４０は、監視部３４による監視結果であるイネーブル信号１に基づいて、正常テストまたは異常テストのいずれを実行テストとして監視部３４に実行させるかを選択する（Ｓ４００）。テスト実行部５０は、テスト選択部４０が選択した実行テストを監視部３４に実行させる（Ｓ４０２）。
【００３４】
（テスト選択処理）
図７のテスト選択処理は、図６のＳ４００で実行される処理である。監視部３４の監視結果であるイネーブル信号１が「正常」を示すオンの場合（Ｓ４１０：Ｙｅｓ）、テスト選択部４０は、実行テストの先頭アドレスを示すテストポインタ（ＴＰ）に、図２の（Ｂ）に示す異常テストの先頭アドレスを設定する（Ｓ４１２）。
【００３５】
一方、監視部３４の監視結果であるイネーブル信号が「異常」を示すオフの場合（Ｓ４１０：Ｎｏ）、テスト選択部４０は、テストポインタ（ＴＰ）に、図２の（Ａ）に示す正常テストの先頭アドレスを設定する（Ｓ４１４）。
【００３６】
（テスト実行処理）
図８に示すテスト実行処理は、図６のＳ４０２で実行される処理である。テスト実行部５０は、監視部３４が実行テストを実行した実行結果を表わす変数ＡＮＳの初期値を、監視部３４が正常であることを示す「ＯＫ」に設定し（Ｓ４２０）、正常テストまたは異常テストにおけるテストデータの実行位置を表わす変数Ｎを初期値の０に設定する（Ｓ４２２）。変数Ｎは、図２に示す正常テストまたは異常テストにおいて何番目のテストデータを実行するかを表わしており、ＴＰ［Ｎ］は、テストデータの実行アドレスを表わしている。
【００３７】
ＴＰ［Ｎ］が示す位置のテストデータを監視部３４に実行させ（Ｓ４２４）、監視部３４の実行結果が、ＴＰ［Ｎ］が示す位置のテストデータを実行したときの理論出力値と一致するか否かを判定する（Ｓ４２６）。
【００３８】
監視部３４の実行結果が理論出力値と一致しない場合（Ｓ４２６：Ｎｏ）、変数ＡＮＳに監視部３４が異常であることを示す「ＮＧ」を設定し（Ｓ４２８）、Ｓ４３４に処理を移行する。
【００３９】
監視部３４の実行結果が理論出力値と一致する場合（Ｓ４２６：Ｙｅｓ）、変数ＡＮＳは監視部３４が正常であることを示す「ＯＫ」のまま変更せず、変数Ｎを＋１してＴＰ［Ｎ］が次のテストデータを示すようにする（Ｓ４３０）。そして、今回の実行テストとして正常テスト４２または異常テスト４４のテスト数をすべて実行していない場合（Ｓ４３２：Ｎｏ）、Ｓ４２４に処理を戻す。今回の実行テストのテスト数をすべて実行した場合（Ｓ４３２：Ｙｅｓ）、Ｓ４３４に処理を移行する。
【００４０】
Ｓ４３４では、図８のテスト実行処理の実行回数を示す変数ＴＣＮを＋１し、変数ＡＮＳ、ＴＣＮを検査ＩＣ６０に送信する（Ｓ４３６）。
（結果判定処理）
図９に示す結果判定処理は、ＭＰＵ３０から変数ＡＮＳ、ＴＣＮが送信されると検査ＩＣ６０が実行する処理である。検査ＩＣ６０は、図８のテスト実行処理から受信した変数ＡＮＳを変数ＲＡＮに設定し、変数ＴＣＮを変数ＲＣＮに設定する（Ｓ４４０）。
【００４１】
変数ＲＡＮが「ＯＫ」であり、図８のテスト実行処理の結果、監視部３４が正常である場合（Ｓ４４２：Ｙｅｓ）、Ｓ４４４に処理を移行する。変数ＲＡＮが「ＯＫ」ではなく、図８のテスト実行処理の結果、監視部３４が異常である場合（Ｓ４４２：Ｎｏ）、Ｓ４５４に処理を移行する。
【００４２】
Ｓ４４４において検査ＩＣ６０は、ＲＣＮが（ＯＣＮ＋１）と一致するか否かを判定する。ＲＣＮは、ＭＰＵ３０から受信した図８のテスト実行処理の実行回数を表わす変数であり、ＯＣＮは、図９の結果判定処理を前回実行したときにＭＰＵ３０から受信した図８のテスト実行処理の実行回数を表わす変数である。つまり、ＭＰＵ３０と検査ＩＣ６０との通信が正常に実行されていれば、ＲＣＮと（ＯＣＮ＋１）とは一致する筈である。
【００４３】
そこで、ＲＣＮが（ＯＣＮ＋１）と一致しておらず（Ｓ４４４：Ｎｏ）、ＭＰＵ３０と検査ＩＣ６０との通信が異常の場合、監視部３４が異常の場合と同様にＳ４５４に処理を移行する。
【００４４】
ＲＣＮが（ＯＣＮ＋１）と一致する場合（Ｓ４４４：Ｙｅｓ）、ＭＰＵ３０と検査ＩＣ６０との通信は正常であると判断し、監視部３４に対するテストの実行結果が「ＯＫ」である回数を示す変数ＴＲＣを＋１し（Ｓ４４６）、ＴＲＣが所定値以上であるか否かを判定する（Ｓ４４８）。
【００４５】
ＴＲＣが所定値以上の場合（Ｓ４４８：Ｙｅｓ）、監視部３４は正常であると判断してイネーブル信号２をオンに設定し（Ｓ４５０）、ＴＲＣと、監視部３４に対する実行テストの実行結果が「ＮＧ」であることをＭＰＵ３０から受信した回数を示す変数ＦＬＣとを初期値の０に設定し（Ｓ４５２）、Ｓ４６２に処理を移行する。
【００４６】
Ｓ４５４において検査ＩＣ６０は、変数ＦＬＣを＋１し（Ｓ４５４）、ＦＬＣが所定値以上であるか否かを判定する（Ｓ４５６）。
ＦＬＣが所定値以上の場合（Ｓ４５６：Ｙｅｓ）、監視部３４は異常であると判断してイネーブル信号２をオフに設定し（Ｓ４５８）、変数ＴＲＣ、ＦＬＣを０に設定し（Ｓ４６０）、Ｓ４６２に処理を移行する。
【００４７】
Ｓ４６２において検査ＩＣ６０は、ＲＣＮをＯＣＮに設定し、本処理を終了する。
以上説明した本実施形態によると、制御部３２に対する監視部３４の監視結果が「正常」であれば、理論出力値が「正常」である実行テストは監視部３４に実行させず、「異常」である実行テストを監視部３４に実行させる。
【００４８】
一方、制御部３２に対する監視部３４の監視結果が「異常」であれば、理論出力値が「異常」である実行テストは監視部３４に実行させず、理論出力値が「正常」である実行テストを監視部３４に実行させる。
【００４９】
これにより、監視部３４が正常であるか異常であるかを検査するために監視部３４に実行させる実行テスト量が減少するので、検査時間を短縮できる。検査時間が短くなることにより、監視部３４に対する検査と同じ周期で実行される他の処理の実行時間を確保できる。
【００５０】
また、監視部３４の監視処理を検査するためのテスト群を全て実行するときと同じ長さの検査時間でよいのであれば、処理能力の低い演算装置を使用できるので、ＥＣＵ１０のコストを低減できる。
【００５１】
［他の実施形態］
上記実施形態では、制御部３２に対する監視部３４の監視結果、ならびに監視部３４が実行テストを実行した実行結果は「正常」または「異常」の２値であったが、例えば、３値以上の監視結果および実行結果を監視部３４が出力してもよい。
【００５２】
この場合にも、テスト群から選択して監視部３４に実行させる実行テストとして、監視部３４による監視結果と理論出力値が異なる実行テストを選択して監視部３４に実行させればよい。そして、理論出力値と、監視部３４が実行テストを実行したときの実行結果とに基づいて、監視部３４が正常であるか異常であるかを判定する。
【００５３】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００５４】
１０：ＥＣＵ（電子制御装置、制御手段、監視手段、選択手段、検査手段）、３２：制御部（制御手段）、３４：監視部（監視手段）、４０：テスト選択部（選択手段）、５０：テスト実行部（検査手段）、６０：検査ＩＣ（検査手段）
【図１】
2014044492.tif 000003
【図２】
2014044492.tif 000004
【図３】
2014044492.tif 000005
【図４】
2014044492.tif 000006
【図５】
2014044492.tif 000007
【図６】
2014044492.tif 000008
【図７】
2014044492.tif 000009
【図８】
2014044492.tif 000010
【図９】
2014044492.tif 000011