(57)【要約】【課題】制御装置にて、制御機能に異常が生じた場合の安全性と可用性とを両立させる。【解決手段】車両に搭載されてエンジンのトルク制御とアイドルストップ制御（以下、ＡＳ制御）とを行うＥＣＵ１では、各プロセッサ３１，３２が、プログラムにより実現される機能として、ＡＳ制御機能５１とトルク制御機能５４との一方ずつを備え、更に、自分と異なる方のプロセッサの制御機能を監視してフェイルセーフを行う制御モニタ機能５５，５２と、自分の制御モニタ機能を検査して、その検査結果を表す検査結果情報を監視ＩＣ７に出力する検査機能５６，５３とを備える。そして、監視ＩＣ７は、プロセッサ３２の検査機能５３による検査結果情報に基づき制御モニタ機能５２が異常と判断すると、プロセッサ３１による制御を禁止し、プロセッサ３１の検査機能５６による検査結果情報に基づき制御モニタ機能５５が異常と判断すると、プロセッサ３２による制御を禁止する。【選択図】図１
2014085761.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従い独立して別の処理を行う少なくとも２つの処理装置（３１，３２）を備え、
前記２つの処理装置のうちの一方の処理装置（３１）は、
第１のプログラム（４１）によって実現される機能として、第１の制御を行う第１の制御機能（５１）を備え、
前記２つの処理装置のうちの他方の処理装置（３２）は、
第２のプログラム（４２）によって実現される機能として、前記一方の処理装置による前記第１の制御機能が正常か否かを監視し、前記第１の制御機能が異常であると判断すると、前記第１の制御における一部の制御が行われることを禁止するフェイルセーフを行う第１のモニタ機能（５２）を備えていること、
を特徴とする制御装置（１）。
【請求項２】
請求項１に記載の制御装置において、
前記他方の処理装置は、
第３のプログラム（４３）によって実現される機能として、前記第１のモニタ機能が正常か否かを検査して、その検査結果を表す検査結果情報を当該処理装置の外部に出力する第１の検査機能（５３）を備え、
更に、当該制御装置は、
前記他方の処理装置から前記第１の検査機能によって出力される前記検査結果情報に基づいて、前記第１のモニタ機能が異常であると判断すると、前記第１の制御が行われることを禁止するフェイルセーフを行う監視装置（７）を備えていること、
を特徴とする制御装置。
【請求項３】
請求項２に記載の制御装置において、
前記他方の処理装置は、
第４のプログラム（４４）によって実現される機能として、第２の制御を行う第２の制御機能（５４）を備え、
前記一方の処理装置は、
第５のプログラム（４５）によって実現される機能として、前記他方の処理装置による前記第２の制御機能が正常か否かを監視し、前記第２の制御機能が異常であると判断すると、前記第２の制御における一部の制御が行われることを禁止するフェイルセーフを行う第２のモニタ機能（５５）を備えると共に、
第６のプログラム（４６）によって実現される機能として、前記第２のモニタ機能が正常か否かを検査して、その検査結果を表す検査結果情報を当該処理装置の外部に出力する第２の検査機能（５６）を備え、
前記監視装置は、
前記一方の処理装置から前記第２の検査機能によって出力される前記検査結果情報に基づいて、前記第２のモニタ機能が異常であると判断すると、前記第２の制御が行われることを禁止するフェイルセーフを行うこと、
を特徴とする制御装置。
【請求項４】
請求項３に記載の制御装置において、
前記第１の検査機能によって出力される前記検査結果情報には、その検査結果情報が前記第１の検査機能によって出力されるものであることを示す識別情報が付加され、
前記第２の検査機能によって出力される前記検査結果情報には、その検査結果情報が前記第２の検査機能によって出力されるものであることを示す識別情報が付加され、
前記第１の検査機能によって出力される前記検査結果情報と、前記第２の検査機能によって出力される前記検査結果情報とを、シリアル通信線（６）を介して前記監視装置に送信する通信回路（３７）を備え、
前記監視装置は、前記シリアル通信線を介して入力された検査結果情報が前記第１の検査機能と前記第２の検査機能との何れによって出力されたものかを、前記識別情報に基づいて識別すること、
を特徴とする制御装置。
【請求項５】
請求項３又は請求項４に記載の制御装置において、
前記第１の制御と前記第２の制御は、車両の制御システムにおける２つの制御の各々であること、
を特徴とする制御装置。
【請求項６】
車両の制御システムにおける制御を実施する制御装置として、請求項１ないし請求項５の何れか１項に記載の制御装置を備えた車両制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び車両制御システムに関する。
【背景技術】
【０００２】
マイクロコンピュータ（以下、マイコンという）として、２つ１組の実施ユニット（コア）が同じ処理を同時に行うと共に、その両実施ユニットの出力を比較器で比較し、２つの出力が同じならば、それらの一方を出力信号として外部へ出力するが、２つの出力が不一致ならば出力信号を遮断する、というものがある（例えば、特許文献１参照）。このマイコンは、２つのコアがロックステップモードで動作するマイコンである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５０５１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のマイコンを、何らかの制御を実施するのに用いた場合、２つのコアが同じ制御用処理を行うと共に、どちらかのコアによる処理結果に異常が生じた場合には、該マイコンからの出力信号が遮断されて、制御の実施自体が停止することとなる。このため、不定な制御が行われてしまうことを防止できるものの、フェイルセーフとして、例えば一部機能の禁止で済ます、ということはできない。つまり、フェイルセーフを実施することによる安全性は実現できても、故障時に制御システムを継続して稼働できるようにするという可用性は実現することができない。
【０００５】
そこで、本発明は、制御装置において、制御機能に異常が生じた場合の安全性と可用性とを両立させることを目的としている。
【課題を解決するための手段】
【０００６】
本発明の制御装置は、プログラムに従い独立して別の処理を行う少なくとも２つの処理装置を備えている。
そして、２つの処理装置のうちの一方の処理装置は、第１のプログラムによって実現される機能として、第１の制御を行う第１の制御機能を備えている。
【０００７】
また、２つの処理装置のうちの他方の処理装置は、第２のプログラムによって実現される機能として、一方の処理装置による第１の制御機能が正常か否かを監視し、第１の制御機能が異常であると判断すると、第１の制御における一部の制御が行われることを禁止するフェイルセーフを行う第１のモニタ機能を備えている。
【０００８】
この制御装置によれば、一方の処理装置による第１の制御機能が異常になった場合に、他方の処理装置が、その異常を検知してフェイルセーフを行うことにより、安全性を確保することができる。更に、他方の処理装置が第１のモニタ機能で行うフェイルセーフは、第１の制御における一部の制御が行われることを禁止するフェイルセーフであるため、安全性を確保しつつ制御を継続させることができる。よって、故障時における可用性も実現することができる。
【０００９】
また、下記の追加構成を更に備えても良い。
即ち、他方の処理装置は、第３のプログラムによって実現される機能として、第１のモニタ機能が正常か否かを検査して、その検査結果を表す検査結果情報を当該処理装置の外部に出力する第１の検査機能を備え、当該制御装置は、他方の処理装置から第１の検査機能によって出力される検査結果情報に基づいて、第１のモニタ機能が異常であると判断すると、第１の制御が行われることを禁止するフェイルセーフを行う監視装置を備える、という構成である。
【００１０】
この構成によれば、他方の処理装置による第１のモニタ機能に異常が生じて、一方の処理装置による第１の制御機能を正しく監視することが出来なくなった場合には、そのことが、監視装置によって検出され、監視装置は、第１の制御が行われることを禁止するフェイルセーフを行うこととなる。また、他方の処理装置による第１の検査機能、あるいは他方の処理装置自体に異常が生じて、他方の処理装置から監視装置への検査結果情報が正しく出力されなくなっても、監視装置は、第１のモニタ機能が異常であると判断して上記フェイルセーフを行うこととなる。
【００１１】
つまり、制御機能を監視する側の処理装置に異常が生じた場合には、その処理装置による異常監視及びフェイルセーフができない可能性があるため、処理装置とは別の監視装置により、制御の実施自体を禁止するようにしている。
【００１２】
よって、第１の制御機能に異常が生じた場合には、一部の制御が行われることを禁止し、第１の制御機能を監視する処理装置に異常が生じた場合には、第１の制御の実施自体を禁止する（即ち、最終的なフェイルセーフを行う）というように、故障した機能や部位に応じた段階的なフェイルセーフを行うことができるようになる。このため、可用性を実現しつつ、制御の安全性、信頼性を高めることができる。
【００１３】
また、上記追加構成に加えて、下記の構成を更に備えても良い。
即ち、他方の処理装置は、第４のプログラムによって実現される機能として、第２の制御を行う第２の制御機能を備える。そして、一方の処理装置は、第５のプログラムによって実現される機能として、他方の処理装置による第２の制御機能が正常か否かを監視し、第２の制御機能が異常であると判断すると、第２の制御における一部の制御が行われることを禁止するフェイルセーフを行う第２のモニタ機能を備えると共に、第６のプログラムによって実現される機能として、第２のモニタ機能が正常か否かを検査して、その検査結果を表す検査結果情報を当該処理装置の外部に出力する第２の検査機能を備える。そして更に、監視装置は、一方の処理装置から第２の検査機能によって出力される検査結果情報に基づいて、第２のモニタ機能が異常であると判断すると、第２の制御が行われることを禁止するフェイルセーフを行う。
【００１４】
この構成によれば、第２の制御についても、上記追加構成について述べた効果と同様に、第２の制御機能に異常が生じた場合には、一部の制御が行われることを禁止し、第２の制御機能を監視する処理装置に異常が生じた場合には、第２の制御の実施自体を禁止するというように、故障した機能や部位に応じた段階的なフェイルセーフを行うことができる。また、第１の制御と第２の制御との各々に応じたフェイルセーフを行うことができる。更に、第１の制御機能と第２の制御機能とを、別々の処理装置に分担させているため、各処理装置での処理負荷を軽減させることができる。
【００１５】
尚、第１のモニタ機能で行うフェイルセーフ（第１の制御における一部の制御が行われることを禁止するフェイルセーフ）としては、例えば、第１の制御における複数の制御内容のうちの一部が実施されるのを禁止することに限らず、制御対象の可動範囲を制限することなども含む。後者の場合、制御対象を所定の制限範囲を超えて動かす、という制御（これが一部の制御に相当）を禁止することになるからである。そして、このことは、第２のモニタ機能で行うフェイルセーフ（第２の制御における一部の制御が行われることを禁止するフェイルセーフ）についても同様である。
【図面の簡単な説明】
【００１６】
【図１】実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図２】アイドルストップ制御モニタ機能とトルク制御モニタ機能との処理を表すフローチャートである。
【図３】検査機能の処理を表すフローチャートである。
【図４】監視ＩＣの故障機能判別部が行う処理を表すフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本発明が適用された実施形態の制御装置について説明する。尚、本実施形態の制御装置は、マイコンを備えた電子制御装置（以下、ＥＣＵという）であり、例えば、車両に搭載されて、該車両のエンジンに出力させるトルクの制御と、アイドルストップ制御とを行う。
【００１８】
図１に示すように、本実施形態のＥＣＵ１は、マイコン３と、当該ＥＣＵ１の外部から入力される各種情報の信号をマイコン３に入力させる入力回路５と、マイコン３にシリアル通信線６を介して接続された監視ＩＣ７と、マイコン３から出力される制御信号に従ってスタータリレー９をオンさせる駆動回路（スタータリレー駆動回路）１１と、マイコン３から出力される制御信号に従ってスロットルモータ１３を駆動する駆動回路（スロットルモータ駆動回路）１５と、を備えている。
【００１９】
スタータリレー９は、オンすることで、エンジン１７を始動させるためのスタータ１９に通電して、該スタータ１９を動作させるリレーである。また、スロットルモータ１３は、エンジン１７への吸入空気量を調節するスロットル２１の開度を調節するモータである。そして、駆動回路１５は、マイコン３から当該駆動回路１５に与えられる制御信号（本実施形態では、例えばＰＷＭ（パルス幅変調）信号であり、以下、スロットル制御信号ともいう）によって指令される電圧をスロットルモータ１３に供給することにより、スロットル２１の開度を、その指令される電圧に応じた開度にする。
【００２０】
マイコン３は、プログラムに従い独立して別の処理を行う２つのプロセッサ３１，３２と、プロセッサ３１，３２が実行するプログラムが記憶されたＲＯＭ３３と、プロセッサ３１，３２による演算結果等が記憶されるＲＡＭ３５と、プロセッサ３１，３２がシリアル通信線６を介して監視ＩＣ７と通信するための通信回路３７と、を備えている。
【００２１】
記憶媒体としてのＲＯＭ３３には、少なくとも第１〜第６のプログラム４１，４２，４３，４４，４５，４６が記憶されている。
そして、プロセッサ３１は、第１のプログラム４１によって実現される機能として、アイドルストップ制御を行うアイドルストップ制御機能５１を備えている。尚、プログラムによって実現される機能とは、詳しくは、そのプログラムが実行されることによって実現される機能である。
【００２２】
ここで、アイドルストップ制御は、エンジン１７の運転中において該エンジン１７を自動的に停止させる自動停止条件が成立したと判定すると、例えば、エンジン１７を制御する他のＥＣＵにエンジン停止指令を送信してエンジン１７を停止させ、その後、エンジン１７を自動的に再始動させる自動始動条件が成立したと判定すると、駆動回路１１に制御信号を出力してスタータリレー９をオンさせることにより、スタータ１９を動作させてエンジン１７を始動させる、といった基本の制御に加え、運転者による始動用操作に応じてスタータ１９を動作させる制御（即ち、スタータ１９の制御）も含む。
【００２３】
そして、自動停止条件としては、例えば、車両の運転者によりブレーキペダルが踏まれていて、且つ、運転者によりアクセルペダルが踏まれておらず、且つ、車速が所定値以下である、といった条件であるが、他の条件であっても良い。また、自動始動条件としては、例えば、運転者によりブレーキペダルが放されるか、ブレーキペダルは踏まれたままだが運転者が車両を走行させようとする他の操作を行った、といった条件であるが、他の条件であっても良い。
【００２４】
このため、入力回路５からマイコン３へは、アイドルストップ制御に用いられる入力情報の信号として、例えば、ブレーキペダルの操作有無を示すブレーキ信号や、アクセルペダルの操作量を示すアクセル信号や、車速を示す車速信号や、運転者による始動用操作の有無を示す信号などが入力される。
【００２５】
一方、プロセッサ３２は、第２のプログラム４２によって実現される機能として、アイドルストップ制御モニタ機能５２を備え、第３のプログラム４３によって実現される機能として、アイドルストップ制御モニタの検査機能５３を備えている。
【００２６】
アイドルストップ制御モニタ機能５２は、プロセッサ３１によるアイドルストップ制御機能５１が正常か否かを監視して、アイドルストップ制御機能５１が異常であると判断すると、アイドルストップ制御に関する所定のフェイルセーフを行う機能である。
【００２７】
そして、アイドルストップ制御モニタの検査機能５３は、アイドルストップ制御モニタ機能５２が正常か否かを検査して、その検査結果を表す検査結果情報を通信回路３７に出力する機能である。また、アイドルストップ制御モニタの検査機能５３によって出力される検査結果情報には、その検査結果情報が当該検査機能５３によって出力されるものであることを示す識別情報（本実施形態では、アイドルストップ制御とトルク制御とのうち、アイドルストップ制御の方を示す識別情報）が付加される。
【００２８】
更に、プロセッサ３２は、第４のプログラム４４によって実現される機能として、エンジン１７のトルク制御を行うトルク制御機能５４を備えている。
ここで、トルク制御は、例えば、エンジン回転数（エンジン１７の回転数）や、運転者によるアクセルペダルの操作量などに基づいて、エンジン１７に出力させるべき目標トルクを算出し、更に、その目標トルクをエンジン１７に出力させるためのスロットル２１の目標開度を算出し、その目標開度を実現するための制御信号を駆動回路１５に出力する、といった制御である。
【００２９】
このため、入力回路５からマイコン３へは、トルク制御に用いられる入力情報の信号として、例えば、エンジン回転数を示す回転信号や、前述のアクセル信号などが入力される。
【００３０】
また更に、プロセッサ３１は、第５のプログラム４５によって実現される機能として、トルク制御モニタ機能５５を備え、第６のプログラム４６によって実現される機能として、トルク制御モニタの検査機能５６を備えている。
【００３１】
トルク制御モニタ機能５５は、プロセッサ３２によるトルク制御機能５４が正常か否かを監視して、トルク制御機能５４が異常であると判断すると、トルク制御に関する所定のフェイルセーフを行う機能である。
【００３２】
そして、トルク制御モニタの検査機能５６は、トルク制御モニタ機能５５が正常か否かを検査して、その検査結果を表す検査結果情報を通信回路３７に出力する機能である。また、トルク制御モニタの検査機能５６によって出力される検査結果情報には、その検査結果情報が当該検査機能５６によって出力されるものであることを示す識別情報（本実施形態では、アイドルストップ制御とトルク制御とのうち、トルク制御の方を示す識別情報）が付加される。
【００３３】
通信回路３７は、例えば、パラレルデータをシリアルデータに変換してシリアル通信線６に出力するパラレル／シリアルインターフェースである。そして、通信回路３７は、プロセッサ３２から出力される検査結果情報（即ち、アイドルストップ制御モニタの検査機能５３によって出力される検査結果情報）と、プロセッサ３１から出力される検査結果情報（即ち、トルク制御モニタの検査機能５６によって出力される検査結果情報）とを、シリアルデータの形にして、シリアル通信線６を介し監視ＩＣ７へ送信する。
【００３４】
そして、監視ＩＣ７は、マイコン３（詳しくは、２つのプロセッサ３１，３２）とシリアル通信をするための通信回路６１と、故障機能判別部６３とを備えている。
通信回路６１は、マイコン３から送信されて来るデータであって、前述した識別情報付の検査結果情報を、故障機能判別部６３に出力する。
【００３５】
そして、故障機能判別部６３は、マイコン３からシリアル通信線６及び通信回路６１を介して入力された検査結果情報が検査機能５３，５６の何れによって出力されたものかを、その検査結果情報に付加されている識別情報に基づいて識別する。
【００３６】
つまり、故障機能判別部６３は、アイドルストップ制御を示す識別情報が付加された検査結果情報であれば、検査機能５３によって出力された検査結果情報であって、アイドルストップ制御モニタ機能５２に関する検査結果情報であると判断する。また、故障機能判別部６３は、トルク制御を示す識別情報が付加された検査結果情報であれば、検査機能５６によって出力された検査結果情報であって、トルク制御モニタ機能５５に関する検査結果情報であると判断する。
【００３７】
更に、故障機能判別部６３は、検査機能５３によって出力された検査結果情報（即ち、アイドルストップ制御を示す識別情報が付加された検査結果情報）に基づいて、アイドルストップ制御モニタ機能５２が異常であるか否かを判断し、アイドルストップ制御モニタ機能５２が異常であると判断すると、アイドルストップ制御に関する所定のフェイルセーフを行う。
【００３８】
また、故障機能判別部６３は、検査機能５６によって出力された検査結果情報（即ち、トルク制御を示す識別情報が付加された検査結果情報）に基づいて、トルク制御モニタ機能５５が異常であるか否かを判断し、トルク制御モニタ機能５５が異常であると判断すると、トルク制御に関する所定のフェイルセーフを行う。
【００３９】
次に、アイドルストップ制御モニタ機能５２とトルク制御モニタ機能５５の処理について、図２のフローチャートを用い説明する。
尚、以下の説明において、アイドルストップ制御モニタ機能５２とトルク制御モニタ機能５５とを区別しない場合には、それらを「制御モニタ機能」と称する。また、「監視対象制御機能」とは、制御モニタ機能が監視対象とする制御機能のことであり、アイドルストップ制御モニタ機能５２であれば、監視対象制御機能はアイドルストップ制御機能５１であり、トルク制御モニタ機能５５であれば、監視対象制御機能はトルク制御機能５４である。
【００４０】
図２に示す制御モニタ機能の処理は、各プロセッサ３１，３２において、例えば一定時間毎に実行される。
そして、図２に示すように、各プロセッサ３１，３２は、制御モニタ機能では、まず、監視対象制御機能が使用する入力情報の一部又は全てを読み込む（Ｓ１１０）。
【００４１】
次に、監視対象制御機能による演算結果をＲＡＭ３５から読み込む（Ｓ１２０）。
そして次に、Ｓ１２０で読み込んだ演算結果の妥当性を判定するための判定値を、Ｓ１１０で読み込んだ入力情報に基づいて算出する（Ｓ１３０）。
【００４２】
次に、Ｓ１２０で読み込んだ演算結果とＳ１３０で算出した判定値とを比較することにより、監視対象制御機能が正常であるか否かを判定する（Ｓ１４０）。
そして、監視対象制御機能が正常であると判定した場合には（Ｓ１４０：ＹＥＳ）、そのまま当該制御モニタ機能の処理を終了するが、正常でないと判定した場合には（Ｓ１４０：ＮＯ）、監視対象制御機能が異常であると判断して、その監視対象制御機能の一部の制御が行われることを禁止するフェイルセーフを行う（Ｓ１５０）。そして、その後、当該制御モニタ機能の処理を終了する。尚、Ｓ１４０にて正常でないと２以上の所定回数判定した場合に、監視対象制御機能が異常であると判断して、Ｓ１５０でフェイルセーフを行うようになっていても良い。また、Ｓ１５０でのフェイルセーフとしては、更に、車両の使用者に対して異常の発生を報知するための異常報知処理（例えば、異常の発生を示す警告灯を点灯させたり、メッセージを表示させたりする処理）を行っても良い。
【００４３】
ここで、例えば、アイドルストップ制御モニタ機能５２であれば、Ｓ１１０にて、入力情報として、前述した自動停止条件の成立有無を判定するための情報（車速、ブレーキペダルの状態及びアクセルペダルの状態など）を読み込み、Ｓ１２０にて、アイドルストップ制御機能５１による演算結果として、エンジン１７の自動停止（以下、アイドルストップともいう）を行うか否かの判断結果を読み込む。そして、Ｓ１３０では、Ｓ１１０で読み込んだ入力情報から、自動停止条件が成立しているか否かを判定する処理を行って、その判定結果を判定値とし、Ｓ１４０では、その判定値と、Ｓ１２０で読み込んだアイドルストップの判断結果とが、理論上一致しているか否かを判定する。
【００４４】
つまり、判定値が“自動停止条件の非成立”であるのに、アイドルストップ制御機能５１による演算結果が“アイドルストップの実施”であったり、逆に、判定値が“自動停止条件の成立”であるのに、アイドルストップ制御機能５１による演算結果が“アイドルストップの非実施”であったりすれば、アイドルストップ制御機能５１が正常でないと判定して、Ｓ１５０に進む。
【００４５】
そして、Ｓ１５０では、例えば、フェイルセーフとして、アイドルストップ制御機能５１によるアイドルストップを禁止する処理を行う。具体的には、例えば、当該マイコン３からエンジン１７を制御する他のＥＣＵにエンジン停止指令を送信するための信号経路を遮断する、といった処理を行う。尚、このＳ１５０のフェイルセーフが行われても、アイドルストップ制御のうち、スタータ１９の制御は禁止されない。
【００４６】
尚、他の例として、例えば、Ｓ１１０では、入力情報として少なくとも車速を読み込み、Ｓ１３０では、その車速から、アイドルストップが実施されるはずのない状況か否かを判定して、その判定結果を、判定値とし、Ｓ１４０では、判定値が“アイドルストップが実施されるはずのない状況”であるのに、アイドルストップ制御機能５１による演算結果が“アイドルストップの実施”であったならば、アイドルストップ制御機能５１が正常でないと判定しても良い。
【００４７】
一方、例えば、トルク制御モニタ機能５５であれば、Ｓ１１０にて、入力情報として、エンジン１７に出力させるトルクを算出するための情報（エンジン回転数やアクセルペダルの操作量など）を読み込み、Ｓ１２０にて、トルク制御機能５４による演算結果として、目標トルクを読み込む。そして、Ｓ１３０では、Ｓ１１０で読み込んだ入力情報から、トルク制御機能５４が正常な場合に算出し得る目標トルクの最大値（あるいは、その最大値よりも所定値だけ大きい値）を、判定値に該当する許容トルクとして算出する。そして、Ｓ１４０では、その許容トルクと、Ｓ１２０で読み込んだ目標トルクとを比較して、目標トルクが許容トルクよりも大きければ、トルク制御機能５４が正常でないと判定して、Ｓ１５０に進む。
【００４８】
そして、Ｓ１５０では、例えば、フェイルセーフとして、トルク制御機能５４によって制御されるスロットル２１の最大開度を、所定の許容開度（例えば、エンジン１７が許容トルクを出すための開度や、その許容トルクよりも小さいトルクを出すための開度）に制限する処理を行う。具体的には、例えば、マイコン３において、トルク制御機能５４により内部レジスタに設定されるスロットル制御信号の出力デューティ比（即ち、マイコン３から駆動回路１５に出力するスロットル制御信号のデューティ比の設定値）が、許容開度に対応するデューティ比以上であれば、その内部レジスタに設定される出力デューティ比を、許容開度に対応するデューティ比に書き換える、といった処理を行う。また、内部レジスタに設定される出力デューティ比を書き換えることに代えて、例えば、マイコン３から駆動回路１５へのスロットル制御信号の信号経路を切り替えて、駆動回路１５に、許容開度に対応するデューティ比の別のスロットル制御信号を与えるように構成しても良い。尚、このＳ１５０のフェイルセーフが行われても、スロットル２１の開度は、上記許容開度以下の範囲であれば、トルク制御機能５４によって制御される。つまり、許容開度以下でのスロットル２１の制御は許可される。
【００４９】
また、他の例として、例えば、Ｓ１３０では、判定値として、許容トルクに代えて、トルク制御機能５４と同じプログラムにより目標トルクを算出し、Ｓ１４０では、その算出した目標トルクとＳ１２０で読み込んだ目標トルクとを比較して、両方の目標トルクの差が０でないか、あるいは、その差が所定範囲外であれば、トルク制御機能５４が正常でないと判定して、Ｓ１５０に進むようにすることもできる。
【００５０】
また、他の例として、例えば、Ｓ１１０では、入力情報として、エンジン１７の実際の出力トルクを算出するための入力情報（例えば、エンジン回転数やエンジン１７への吸入空気量など）も読み込み、Ｓ１２０の処理は止め、Ｓ１３０では、判定値としての許容トルクを算出することに加えて、Ｓ１１０で読み込んだ入力情報に基づきエンジン１７の実際の出力トルクを算出し、Ｓ１４０では、その算出した出力トルクと許容トルクとを比較して、出力トルクが許容トルクよりも大きければ、トルク制御機能５４が正常でないと判定して、Ｓ１５０に進むようにすることもできる。
【００５１】
次に、アイドルストップ制御モニタの検査機能５３とトルク制御モニタの検査機能５６の処理について、図３のフローチャートを用い説明する。
尚、以下の説明において、アイドルストップ制御モニタの検査機能５３とトルク制御モニタの検査機能５６とを特に区別しない場合には、それらを「検査機能」と称する。また、「検査対象機能」とは、検査機能が検査対象とする制御モニタ機能のことであり、アイドルストップ制御モニタの検査機能５３であれば、検査対象機能はアイドルストップ制御モニタ機能５２であり、トルク制御モニタの検査機能５６であれば、検査対象機能はトルク制御モニタ機能５５である。
【００５２】
図３に示す検査機能の処理は、各プロセッサ３１，３２において、例えば一定時間毎に実行される。
そして、図３に示すように、各プロセッサ３１，３２は、検査機能では、まず、検査対象機能を実現するプログラムの処理を、本当の入力情報ではないダミー入力情報を用いて行う（Ｓ２１０）。
【００５３】
本実施形態では、例えば、検査対象機能を実現するプログラムの処理である図２の処理のうち、Ｓ１２０〜Ｓ１４０の処理を、図２のＳ１１０で読み込む入力情報の代わりに、予めＲＯＭ３３に記憶されたダミー入力情報を用いて実行する。尚、後述するように、ダミー入力情報は、複数通り用意されており、当該検査機能の処理が行われる毎に、異なるダミー入力情報が用いられる。
【００５４】
次にＳ２２０にて、Ｓ２１０の処理結果であって、ダミー入力情報を用いて図２のＳ１２０〜Ｓ１４０の処理を行った場合のＳ１４０での判定結果が、“正常”であるか（即ち、Ｓ１４０で“ＹＥＳ”と判定されたか）否かを判定する。
【００５５】
そして、Ｓ２２０にて、判定結果が“正常”であると判定した場合には、検査対象機能の検査結果情報として、“正常”を示す情報を通信回路３７に出力し（Ｓ２３０）、逆に、判定結果が“正常”でないと判定した場合には、検査対象機能の検査結果情報として、“異常”を示す情報を通信回路３７に出力する（Ｓ２４０）。そして、その後、当該検査機能の処理を終了する。
【００５６】
尚、Ｓ２３０とＳ２４０の各々では、前述したように、アイドルストップ制御モニタの検査機能５３であれば、出力する“正常”又は“異常”の検査結果情報に、アイドルストップ制御を示す識別情報を付加し、トルク制御モニタの検査機能５６であれば、出力する“正常”又は“異常”の検査結果情報に、トルク制御を示す識別情報を付加する。
【００５７】
また、ダミー入力情報としては、プログラム及びプロセッサ（３１又は３２）が正常ならば、Ｓ２２０で“ＹＥＳ”と判定される（換言すれば、図２のＳ１４０で“ＹＥＳ”と判定される）はずの、正常判定期待のダミー入力情報と、プログラム及びプロセッサ（３１又は３２）が正常ならば、Ｓ２２０で“ＮＯ”と判定される（換言すれば、図２のＳ１４０で“ＮＯ”と判定される）はずの、異常判定期待のダミー入力情報とが、予めＲＯＭ３３に用意されている。
【００５８】
そして、本実施形態では、検査機能によって出力される検査結果情報のパターンが、例えば、「“正常”→“正常”→“異常”→正常”→“正常”→“異常”」というように、予め決められた特定パターンとなるように、当該検査機能で用いるダミー入力情報が選択されるようになっている。
【００５９】
このため、検査機能によって出力される検査結果情報のパターンが特定パターンであれば、その検査機能の検査対象機能は正常ということであり、逆に、検査機能によって出力される検査結果情報のパターンが特定パターンでなければ、その検査機能の検査対象機能は正常でないということである。尚、検査対象機能を検査する上で検査の対象とする処理は、検査対象機能の処理の中から適宜選択すれば良い。
【００６０】
次に、監視ＩＣ７の故障機能判別部６３が行う処理について、図４を用い説明する。
まず、前述したように、故障機能判別部６３は、シリアル通信線６及び通信回路６１を介して入力される検査結果情報が、マイコン３における検査機能５３，５６の何れによって出力されたものかを、その検査結果情報に付加されている識別情報に基づいて識別する。
【００６１】
そして、故障機能判別部６３は、検査機能５３，５６の各々を相手にして、図４に示す処理を、例えば一定時間毎に行う。
図４に示すように、故障機能判別部６３は、相手の検査機能によって出力された検査結果情報が前述の特定パターンで変化するか否かを判定する（Ｓ３１０）。
【００６２】
そして、検査結果情報が特定パターンで変化すると判定した場合には（Ｓ３１０：ＹＥＳ）、相手の検査機能が検査対象とする制御モニタ機能が正常であると判定して（Ｓ３２０）、そのまま処理を終了する。
【００６３】
また、検査結果情報が特定パターンで変化しないと判定した場合には（Ｓ３１０：ＮＯ）、相手の検査機能が検査対象とする制御モニタ機能が異常であると仮の判定をする（Ｓ３３０）。そして、その異常との仮判定状態が所定期間継続していなければ（Ｓ３４０：ＮＯ）、そのまま処理を終了する。
【００６４】
これに対して、異常との仮判定状態が所定期間継続したならば（Ｓ３４０：ＹＥＳ）、相手の検査機能が検査対象とする制御モニタ機能が異常であると判断して、アイドルストップ制御とトルク制御とのうち、相手の検査機能に対応する方の制御に関するフェイルセーフを行う（Ｓ３５０）。
【００６５】
ここで、故障機能判別部６３が図４のＳ３５０で行うフェイルセーフについて、具体的に説明する。
まず、故障機能判別部６３は、相手の検査機能が、検査機能５３であれば、アイドルストップ制御モニタ機能５２が異常であると判断し、アイドルストップ制御に関するフェイルセーフとして、マイコン３から駆動回路１１への制御信号によってスタータリレー９がオンされるのを禁止する処理を行う。例えば、本実施形態において、駆動回路１１は、駆動禁止信号を受けると、マイコン３からの制御信号に拘わらずスタータリレー９をオフしたままにするようになっており、故障機能判別部６３は、その駆動禁止信号を駆動回路１１に出力することで、スタータリレー９のオンを禁止する。
【００６６】
そして、スタータリレー９のオンを禁止した状態で、もしアイドルストップが実施されてしまうと、その後にエンジン１７を再始動させることができなくなるため、故障機能判別部６３は、アイドルストップ制御に関するフェイルセーフとして、更に、アイドルストップを禁止する処理も行う。その禁止用の処理としては、例えば、アイドルストップ制御モニタ機能５２が図２のＳ１５０で行うフェイルセーフの処理と同様の処理を行う。
【００６７】
つまり、故障機能判別部６３は、検査機能５３からの検査結果情報に基づいて、アイドルストップ制御モニタ機能５２が異常であると判断した場合には、そのアイドルストップ制御モニタ機能５２によるアイドルストップ制御機能５１の監視及びフェイルセーフが正しく実施される保証が無いため、アイドルストップ制御機能５１が担う制御（スタータ１９の制御を含むアイドルストップ制御）の全てが行われることを禁止している。そして、このような処置により、アイドルストップ制御機能５１によって意図せぬエンジン１７のクランキングなどが実施されてしまうことを回避している。
【００６８】
尚、故障機能判別部６３によって、アイドルストップ制御モニタ機能５２が異常であると判断される場合には、検査機能５３の方が異常か、あるいはプロセッサ３２自体が異常であることも考えられる。しかし、何れにしても、プロセッサ３２によって、プロセッサ３１側のアイドルストップ制御機能５１を正しく監視することができないため、アイドルストップ制御が行われることを禁止することにより、安全性を確保している。
【００６９】
また、故障機能判別部６３は、相手の検査機能が、検査機能５６であれば、トルク制御モニタ機能５５が異常であると判断し、トルク制御に関するフェイルセーフとして、マイコン３から駆動回路１５へのスロットル制御信号によってスロットル２１の開度が制御されるのを禁止する処理を行う。例えば、本実施形態において、駆動回路１５は、制御禁止信号を受けると、マイコン３からのスロットル制御信号に拘わらずスロットルモータ１３への電圧供給を停止するようになっており、故障機能判別部６３は、その制御禁止信号を駆動回路１５に出力することで、スロットル２１の開度の電気的制御を禁止する。尚、スロットル２１の電気的制御が禁止された場合、スロットル２１の開度は、エンジン１７をアイドル運転状態にすることが可能な開度に保持されるか、あるいは、メカニカルな機構により運転者のアクセルペダル操作に応じて所定範囲で調整可能となっている。このため、スロットル２１の電気的制御が禁止されても、車両の最低限の走行は可能である。
【００７０】
つまり、故障機能判別部６３は、検査機能５６からの検査結果情報に基づいて、トルク制御モニタ機能５５が異常であると判断した場合には、そのトルク制御モニタ機能５５によるトルク制御機能５４の監視及びフェイルセーフが正しく実施される保証が無いため、トルク制御機能５４が担うトルク制御の全てが行われることを禁止している。そして、このような処置により、トルク制御機能５４によって意図せぬエンジン１７の出力トルク増加が実施されてしまうことを回避している。
【００７１】
尚、故障機能判別部６３によって、トルク制御モニタ機能５５が異常であると判断される場合には、検査機能５６の方が異常か、あるいはプロセッサ３１自体が異常であることも考えられる。しかし、何れにしても、プロセッサ３１によって、プロセッサ３２側のトルク制御機能５４を正しく監視することができないため、トルク制御が行われることを禁止することにより、安全性を確保している。
【００７２】
そして、故障機能判別部６３は、上記のようなフェイルセーフを行った後、当該処理を終了する。
以上のようなＥＣＵ１では、マイコン３の各プロセッサ３１，３２が、制御機能を備えていると共に、自分と異なる方のプロセッサの制御機能を監視してフェイルセーフを行う制御モニタ機能を備えている。
【００７３】
このため、プロセッサ３１，３２のうち、一方のプロセッサの制御機能が異常になった場合には、他方のプロセッサが、制御モニタ機能により、その異常を検知してフェイルセーフ（Ｓ１５０）を行うため、安全性を確保することができる。そして、各プロセッサ２１，３２が制御モニタ機能で行うフェイルセーフは、監視対象制御機能が行う制御のうちの一部の制御が行われることを禁止するフェイルセーフであるため、安全性を確保しつつ制御を継続させることができる。よって、故障時における可用性も実現することができる。
【００７４】
更に、各プロセッサ３１，３２は、自分が備える制御モニタ機能を検査して、その検査結果を表す検査結果情報を監視ＩＣ７に出力する検査機能も備えている。
そして、監視ＩＣ７は、プロセッサ３２から検査機能５３によって出力される検査結果情報に基づいて、該プロセッサ３２のアイドルストップ制御モニタ機能５２が異常であると判断すると、そのアイドルストップ制御モニタ機能５２によって監視されているプロセッサ３１によるアイドルストップ制御が行われることを禁止する（Ｓ３５０）。同様に、監視ＩＣ７は、プロセッサ３１から検査機能５６によって出力される検査結果情報に基づいて、該プロセッサ３１のトルク制御モニタ機能５５が異常であると判断すると、そのトルク制御モニタ機能５５によって監視されているプロセッサ３２によるトルク制御が行われることを禁止する（Ｓ３５０）。
【００７５】
このため、プロセッサ３１，３２の一方に異常が生じて、他方のプロセッサの制御機能に対する異常監視ができなくなった場合には、監視ＩＣ７により、その他方のプロセッサによる制御の実施自体が禁止される。
【００７６】
よって、本実施形態のＥＣＵ１によれば、プロセッサ３１でのアイドルストップ制御機能５１に異常が生じた場合には、アイドルストップ制御における一部の制御が行われることを禁止し、アイドルストップ制御機能５１を監視するプロセッサ３２に異常が生じた場合には、アイドルストップ制御の実施自体を禁止するというように、アイドルストップ制御について段階的なフェイルセーフを行うことができる。同様に、プロセッサ３２でのトルク制御機能５４に異常が生じた場合には、トルク制御における一部の制御が行われることを禁止し、トルク制御機能５４を監視するプロセッサ３１に異常が生じた場合には、トルク制御の実施自体を禁止するというように、トルク制御についても段階的なフェイルセーフを行うことができる。よって、可用性を実現しつつ、制御の安全性、信頼性を高めることができる。
【００７７】
そして更に、アイドルストップ制御とトルク制御との、各々に応じたフェイルセーフを行うことができる。その上、アイドルストップ制御機能５１とトルク制御機能５４とを、別々のプロセッサ３１，３２に分担させているため、各プロセッサ３１，３２での処理負荷を軽減させることができる。
【００７８】
また、各検査機能５３，５６によってマイコン３から監視ＩＣ７に出力される検査結果情報には、その検査結果情報が検査機能５３，５６の何れによって出力されたものであるかを示す識別情報が付加される。そして、各検査機能５３，５６によって出力される検査結果情報は、通信回路３７により、共通のシリアル通信線６を介して監視ＩＣ７に入力され、監視ＩＣ７は、そのシリアル通信線６を介して入力された検査結果情報が検査機能５３，５６の何れによって出力されたものかを、識別情報に基づき識別するようになっている。このため、マイコン３と監視ＩＣ７との間の通信用配線の数を少なくすることができる。
【００７９】
また、プロセッサ３１，３２が行うアイドルストップ制御とトルク制御は、車両の制御システムにおける２つの制御の各々であるため、安全性、信頼性の高い車両の制御システムを構築することができる。つまり、車両の制御システムにおける制御（本実施形態の例では、アイドルストップ制御とトルク制御）を実施する制御装置として、本実施形態のＥＣＵ１を用いれば、安全性、信頼性の高い車両の制御システムを構築することができる。
【００８０】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【００８１】
以下に変形例の一例について述べる。尚、以下の各変形例は適宜組み合わせることができるものである。
例えば、プロセッサ３２の方からトルク制御機能５４を削除すると共に、プロセッサ３１の方からトルク制御モニタ機能５５及びトルク制御モニタの検査機能５６を削除した構成を採ることもできる。また逆に、プロセッサ３１の方からアイドルストップ制御機能５１を削除すると共に、プロセッサ３２の方からアイドルストップ制御モニタ機能５２及びアイドルストップ制御モニタの検査機能５３を削除した構成を採ることもできる。
【００８２】
また、検査機能５３，５６及び監視ＩＣ７を備えない構成を採ることもできる。
また、アイドルストップ制御機能５１とトルク制御機能５４との両方を、プロセッサ３１，３２のうちの一方に備えさせ、プロセッサ３１，３２のうちの他方に、アイドルストップ制御モニタ機能５２及びアイドルストップ制御モニタの検査機能５３と、トルク制御モニタ機能５５及びトルク制御モニタの検査機能５６とを備えさせるように構成しても良い。
【００８３】
また、アイドルストップ制御とトルク制御も、あくまで制御内容の一例であり、実施する制御は、他の制御であっても良い。
また、処理装置としてのプロセッサ３１，３２は、シングルコアのプロセッサに限らず、例えば、ロックステップ動作をするデュアルコアのプロセッサでも良い。後者の場合には、信頼性を更に向上させることができる。
【００８４】
また、処理装置（上記実施形態ではマイコン３内のプロセッサ）の数は、３つ以上であっても良い。また、複数の処理装置としては、別々のマイコンであっても良いし、マイコンを備えた別々のユニットであっても良い。
【００８５】
また、マイコン３のプロセッサ３１，３２と監視ＩＣ７とのデータ通信は、シリアルデータ通信に限らず、例えばパラレルデータ通信であっても良い。
また、監視装置としては、監視ＩＣ７に代えて、例えば、その監視ＩＣ７と同様の役割を果たすマイコンや他のユニットを用いても良い。
【符号の説明】
【００８６】
１…ＥＣＵ（電子制御装置）、３…マイコン、６…シリアル通信線、７…監視ＩＣ、３１，３２…プロセッサ、３３…ＲＯＭ、３７…通信回路、４１〜４６…第１〜第６のプログラム、５１…アイドルストップ制御機能、５２…アイドルストップ制御モニタ機能、５３…アイドルストップ制御モニタの検査機能、５４…トルク制御機能、５５…トルク制御モニタ機能、５６…トルク制御モニタの検査機能
【図１】
2014085761.tif 000003
【図２】
2014085761.tif 000004
【図３】
2014085761.tif 000005
【図４】
2014085761.tif 000006