(57)【要約】  ＣＰＵの異常発生時において、故障していない正常なＣＰＵを特定し、故障していない正常なＣＰＵを有効利用して、運転性能を維持することが可能な車両制御装置を提供することにある。そのため、車両制御装置は、メインＣＰＵとサブＣＰＵとを有するマイクロコンピュータと、電源部と、前記電源部と前記メインＣＰＵとを接続する第１接続線と、前記電源部と前記サブＣＰＵとを接続する第２接続線と、  前記第１接続線に流れる電流値と前記第２接続線に流れる電流値とを検出する電流検出部と、を有する。前記マクロコンピュータは、前記第１接続線と前記第２接続線の一方に流れる前記電流値が設定値より大きく、かつ、前記第１接続線と前記第２接続線の他方に流れる前記電流値が前記設定値以下の場合、前記他方に接続される前記メインＣＰＵ、又は前記サブＣＰＵを用いて運転を継続する。
2019082647.tif 000002
【特許請求の範囲】
【請求項１】
メインＣＰＵとサブＣＰＵとを有するマイクロコンピュータと、
電源部と、
前記電源部と前記メインＣＰＵとを接続する第１接続線と、
前記電源部と前記サブＣＰＵとを接続する第２接続線と、
前記第１接続線に流れる電流値と前記第２接続線に流れる電流値とを検出する電流検出部と、を有し、
前記マイクロコンピュータは、前記第１接続線と前記第２接続線の一方に流れる前記電流値が設定値より大きく、かつ、前記第１接続線と前記第２接続線の他方に流れる前記電流値が前記設定値以下の場合、前記他方に接続される前記メインＣＰＵ、又は前記サブＣＰＵを用いて運転を継続する、車両制御装置。
【請求項２】
請求項１の車両制御装置において、
前記マイクロコンピュータは、前記メインＣＰＵからの出力信号と前記サブＣＰＵからの出力信号とを比較する比較部と、を有し、
前記マイクロコンピュータは、前記比較部の比較結果が不一致の場合、前記メインＣＰＵおよび前記サブＣＰＵのうち、前記電流値が前記設定値以下の前記メインＣＰＵ又は前記サブＣＰＵを用いて車両の運転を継続する、車両制御装置。
【請求項３】
請求項１の車両制御装置において、
前記電流値は、リーク電流値である、車両制御装置。
【請求項４】
請求項３の車両制御装置において、
温度センサを有し、
前記リーク電流値は、前記温度センサからの温度情報と前記マイクロコンピュータの製造時のリーク電流値とにより、補正されたリーク電流値である、車両制御装置。
【請求項５】
請求項４の車両制御装置において、
前記電流検出部は、前記マイクロコンピュータがスタンバイ状態とされる時、前記電流値を検出し、
前記補正されたリーク電流値は、前記電流値と、前記温度情報と、リーク電流と温度との相関を表す温度補正マップと、前記マイクロコンピュータの製造時のリーク電流値と、により算出される、車両制御装置。
【請求項６】
メインＣＰＵとサブＣＰＵとを有するマイクロコンピュータと、
電源部と、
前記電源部と前記メインＣＰＵとを接続する第１接続線と、
前記電源部と前記サブＣＰＵとを接続する第２接続線と、
前記第１接続線に流れる電流値と前記第２接続線に流れる電流値とを検出する電流検出部と、を有し、
前記マイクロコンピュータは、前記第１接続線と前記第２接続線の一方に流れる前記電流値が設定値より大きく、かつ、前記第１接続線と前記第２接続線の他方の接続線を流れる前記電流値が前記設定値以下の場合、前記他方の接続線に接続される前記メインＣＰＵ、又は前記サブＣＰＵに割り当てる機能を変更する、車両制御装置。
【請求項７】
第１ＣＰＵと、
第２ＣＰＵと、
前記第１ＣＰＵからの出力信号と前記第２ＣＰＵからの出力信号とを比較する比較部と、
を含み、
前記第１ＣＰＵのリーク電流値と前記第２ＣＰＵのリーク電流値とを、しきい値と比較し、前記第１ＣＰＵおよび前記第２ＣＰＵの故障ポテンシャルを判断し、
前記比較部の比較結果が不一致の場合、前記第１ＣＰＵおよび前記第２ＣＰＵのうち、前記故障ポテンシャルの低い前記第１ＣＰＵまたは前記第２ＣＰＵを用いて、車両の運転を継続させる、車両制御装置。
【請求項８】
請求項７の車両制御装置において、
前記第１ＣＰＵ、前記第２ＣＰＵ、および、前記比較部を内蔵するマイクロコンピュータと、
電源部と、
前記電源部と前記第１ＣＰＵとを接続する第１接続線と、
前記電源部と前記第２ＣＰＵとを接続する第２接続線と、
前記第１接続線に流れる電流値と前記第２接続線に流れる電流値とを検出する電流測定部と、
温度センサと、を有する、車両制御装置。
【請求項９】
請求項８の車両制御装置において、
前記第１ＣＰＵのリーク電流値と前記第２ＣＰＵのリーク電流値とは、前記電流測定部により測定された前記電流値を、前記マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値である、車両制御装置。
【請求項１０】
請求項９の車両制御装置において、
前記電流測定部は、前記マイクロコンピュータがスタンバイ状態とされる時、前記電流値を検出する、車両制御装置。
【請求項１１】
請求項７の車両制御装置において、
前記第１ＣＰＵを内蔵する第１マイクロコンピュータと、
前記第２ＣＰＵを内蔵する第２マイクロコンピュータと、
電源部と、
前記電源部と前記第１ＣＰＵとを接続する第１接続線と、
前記電源部と前記第２ＣＰＵとを接続する第２接続線と、
前記第１接続線に流れる第１電流値を検出する第１電流測定部と、
前記第２接続線に流れる第２電流値と検出する第２電流測定部と、
温度センサと、を有する、車両制御装置。
【請求項１２】
請求項１１の車両制御装置において、
前記第１ＣＰＵのリーク電流値は、前記第１電流値を、前記第１マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値であり、
前記第２ＣＰＵのリーク電流値は、前記第２電流値を、前記第２マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値である、車両制御装置。
【請求項１３】
請求項１２の車両制御装置において、
前記第１マイクロコンピュータは、前記第２電流測定部に接続された第１アナログデジタル変換回路を有し、
前記第２マイクロコンピュータは、前記第１電流測定部に接続された第２アナログデジタル変換回路を有する、車両制御装置。
【請求項１４】
請求項１３の車両制御装置において、
前記第１アナログデジタル変換回路は、前記第２マイクロコンピュータがスタンバイ状態のとき、前記第２電流測定部を用いて、前記第２電流値を計測し、
前記第２アナログデジタル変換回路は、前記第１マイクロコンピュータがスタンバイ状態のとき、前記第１電流測定部を用いて、前記第１電流値を計測する、車両制御装置。
【請求項１５】
請求項１４の車両制御装置において、
前記第１マイクロコンピュータと前記第２マイクロコンピュータの一方がスタンバイ状態とされ、前記第１マイクロコンピュータと前記第２マイクロコンピュータの他方が起動状態とされ、
前記起動状態とされた前記第１マイクロコンピュータまたは前記第２マイクロコンピュータにより、前記スタンバイ状態とされた前記第１マイクロコンピュータの前記第１電流値または前記第２マイクロコンピュータの前記第２電流値が計測される、車両制御装置。
【請求項１６】
請求項１５の車両制御装置において、
前記スタンバイ状態とされた前記第１マイクロコンピュータの前記第１電流値または前記第２マイクロコンピュータの前記第２電流値の計測は、前記第１マイクロコンピュータおよび前記第２マイクロコンピュータがセルフシャット処理を完了した後、行われる、車両制御装置。
【請求項１７】
請求項１６の車両制御装置において、
前記セルフシャット処理毎に、前記第１マイクロコンピュータと前記第２マイクロコンピュータの前記スタンバイ状態および前記起動状態が切り替えられる、車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両が搭載する機器を制御する車両制御装置に関する。
【背景技術】
【０００２】
車両が搭載している機器を制御する車両制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）は、制御演算を実施するマイクロコンピュータを備える。マイクロコンピュータは、一般的に、ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、不揮発性メモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、揮発性メモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを備える。ＣＰＵは、ＲＡＭ、ＲＯＭに格納された情報を演算、制御するための演算装置である。ＣＰＵが故障すると、マイクロコンピュータは正しい演算を実施することができず、不具合が生じる。その為、車両制御装置はＣＰＵを診断する機能を備えている。【０００３】
複数のマイクロコンピュータを用いて、相互にＣＰＵの異常を診断する手法や、マイクロコンピュータに内蔵された複数のＣＰＵを用いて、各ＣＰＵの出力結果を照合し、その一致性から異常を診断する手法、いわゆるロックステップ方式などが一般的に存在する。【０００４】
特開２００３−９７３４４号公報（特許文献１）は、制御ＣＰＵの故障診断手法を記載している。同文献において、制御ＣＰＵと監視ＣＰＵとを備え、制御ＣＰＵと監視ＣＰＵとは、相互に通信し、正常状態であることを確認している。【０００５】
特開２０００−１７２５２１号公報（特許文献２）は、複数ＣＰＵに同じ入力を与えたとき、出力結果を照合して異常を検知する手法が記載されている。【０００６】
上記のように、コンピュータもしくはＣＰＵに異常が発生した場合、自動車が危険な状態に陥らないようにフェールセーフ処理を実施する。フェールセーフ処理の一例を以下に記載する。たとえば、自動変速機の制御装置のＣＰＵが故障した場合、自動変速機の変速制御を実現するアクチュエータが正しく動作せず、意図しない変速が発生することを防止するため、自動変速機の制御装置は、アクチュエータを固定させ、自動変速機の変速比を一定に維持させるというフェールセーフ処理を実施するものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−９７３４４号公報
【特許文献２】特開２０００−１７２５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１、２に記載のＣＰＵ故障診断方法は、ＣＰＵが完全に故障した状態でないと、ＣＰＵの故障と判断できないという課題がある。また、どちらのＣＰＵが故障したかを検知することは困難であるという課題もある。また、ＣＰＵ故障が発生した場合、故障していないマイクロコンピュータまたはＣＰＵを有しているにも関わらず、フェールセーフ処理に移行するため、車両全体としては通常走行できるポテンシャルを残しているにも関わらず、運転性能を低下させてしまうという課題もある。【０００９】
本発明の目的は、ＣＰＵの異常発生時において、故障していない正常なＣＰＵを特定し、故障していない正常なＣＰＵを有効利用して、運転性能を維持することが可能な車両制御装置を提供することにある。【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。【００１２】
すなわち、車両制御装置は、メインＣＰＵとサブＣＰＵとを有するマイクロコンピュータと、電源部と、前記電源部と前記メインＣＰＵとを接続する第１接続線と、前記電源部と前記サブＣＰＵとを接続する第２接続線と、前記第１接続線に流れる電流値と前記第２接続線に流れる電流値とを検出する電流検出部と、を有する。前記マクロコンピュータは、前記第１接続線と前記第２接続線の一方に流れる前記電流値が設定値より大きく、かつ、前記第１接続線と前記第２接続線の他方に流れる前記電流値が前記設定値以下の場合、前記他方に接続される前記メインＣＰＵ、又は前記サブＣＰＵを用いて運転を継続する。
【発明の効果】
【００１３】
本発明に係る車両制御装置によれば、ＣＰＵの異常発生時においても、故障していない正常なＣＰＵを有効利用して、運転性能を維持することが可能である。
【図面の簡単な説明】
【００１４】
【図１】実施例１に係る車両制御装置システムを示す図である。
【図２】マイクロコンピュータの概念的な構成例を示す図である。
【図３】電源供給部の概念的な構成例を示す図である。
【図４】電流測定部の構成を説明するための図である。
【図５】リーク電流の増加を説明するための図である。
【図６】リーク電流の増加分の補正方法を説明するための図である。
【図７】ＲＯＭ１１４、ＲＯＭ１２４のアドレス空間の構成例を示す図である。
【図８Ａ】実施例1に係る故障ポテンシャル診断手順の一例を示すフローチャートである。
【図８Ｂ】実施例1に係る故障ポテンシャル診断手順の一例を示すフローチャートである。
【図９Ａ】実施例１に係る故障ポテンシャル診断の実施タイミングを説明する図である。
【図９Ｂ】変形例１に係る故障ポテンシャル診断の実施タイミングを説明する図である。
【図９Ｃ】変形例２に係る故障ポテンシャル診断の実施タイミングを説明する図である。
【図９Ｄ】変形例３に係る故障ポテンシャル診断の実施タイミングを説明する図である。
【図１０】実施例１に係る制御手順を説明する図である。
【図１１】実施例２に係る車両制御装置システムを示す図である。
【図１２】実施例２に係る制御手順を説明する図である。
【図１３】実施例２に係る制御タスクの割り当て変更の一例を説明する図である。
【図１４】実施例３に係る車両制御装置システムを示す図である。
【図１５】実施例３に係る制御手順を説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の課題について、詳細に説明する。
【００１６】
車両制御装置のマイクロコンピュータが備えるＣＰＵは、半導体製造工程において混入した異物により隣接するトランジスタや配線がショートすることや、長期使用によるトランジスタ劣化不良などが原因となって、車両制御装置の動作状態によらずに故障する可能性がある。
【００１７】
一般的に知られているＣＰＵの故障モードとしては、例えば、以下のものがある。これらの故障モードが１つでも発生した場合、故障したＣＰＵは正しく演算処理を実行することが不可能となる。
（故障その１）ＣＰＵ内部の演算回路出力が「０」または「１」に固定される。
（故障その２）ＣＰＵ内部の演算回路出力が本来の正しい演算結果と異なる結果を示す。
【００１８】
一般的なＣＰＵ故障診断方法は、ＣＰＵを構成するトランジスタが完全に故障し、ＣＰＵ演算結果が本来あるべき演算結果と異なる値を出力するように至った場合は、ＣＰＵの故障を検知することができる。言い換えると、一般的なＣＰＵ故障診断方法は、ＣＰＵが完全に故障した状態でないと、ＣＰＵの故障と判断できないという課題がある。
【００１９】
従って、ＣＰＵが完全に故障する前の不安定な状態や、ＣＰＵ故障診断においてＣＰＵ故障が確定する前の状態においては、ＣＰＵの出力結果は通常時と同様に使用されるため、ＣＰＵの誤演算結果が使用される恐れがある。例えば、アクチュエータに誤指示をする、また、他ユニットに誤情報を送信するなどにより、車両が意図しない挙動となるリスクがある。また、一般的なＣＰＵ故障診断方法でＣＰＵ故障状態を診断した場合、車両が安全な状態となるようなフェールセーフ制御が実施され、一般的には車両の運転性能が低下した状態となる、または車両が走行できない状態となる。
【００２０】
また、一般的なＣＰＵ故障診断方法は、完全に故障していないものの、将来、故障となるポテンシャルを持つＣＰＵの検出はできないという課題がある。
【００２１】
ＣＰＵを構成するトランジスタに異物が付着し、それが何らかの原因で移動し、隣接するトランジスタ間に異物が付着すると、その隣接するトランジスタが短絡し、ＣＰＵの故障を引き起こす場合がある。ただし、トランジスタ間の短絡状態によっては、短絡によって生じる電位変動が判定閾値に至らない程度にとどまる場合がある。この場合、トランジスタ間に短絡故障が生じていたとしても、一般的なＣＰＵ故障診断方法では、このような故障を検出することは困難である。同様の現象はトランジスタの経年劣化によっても発生することが知られている。
【００２２】
このようなトランジスタの短絡故障を放置すると、短絡状態が進行し、トランジスタ間が完全に短絡し、ＣＰＵの故障として診断されることになると想定される。このように、将来ＣＰＵの故障として顕出する潜在的な故障ポテンシャルは、できる限り早い時点で検出することが望ましい。
【００２３】
また、一般的なＣＰＵ故障診断方法は、複数のＣＰＵを使用し、同じ入力信号を与えたときの出力値を比較するロックステップ方式により故障を診断している。このロックステップ方式の場合、どちらかのＣＰＵに故障が発生しても検知することは可能であるが、どちらのＣＰＵが故障したかを検知することは困難であるという課題がある。
【００２４】
同様に、複数のマイクロコンピュータを使用してお互いに情報を送受信して、情報の中身から診断するマイクロコンピュータの相互監視方法においても、ＣＰＵ故障により送信情報が破壊される、または、受信情報を誤演算するなどの故障が存在するため、どちらのＣＰＵが故障したかを判断することは困難である。
【００２５】
上記のように、一般的なＣＰＵ故障診断では、故障したＣＰＵを特定することが困難である。また、一般的には、複数のＣＰＵのうち１つでもＣＰＵ故障を検知した場合は、フェールセーフ処理に移行する方式を取る。つまり、故障していないマイクロコンピュータまたはＣＰＵを有しているにも関わらず、フェールセーフ処理に移行するため、車両全体としては通常走行できるポテンシャルを残しているにも関わらず、運転性能を低下させてしまっているのが現状である。
【００２６】
＜実施形態＞
次に、本発明の実施形態について説明する。
【００２７】
本発明の実施形態では、マイクロコンピュータに内蔵されるＣＰＵにおいて、製造時に混入した異物や経年劣化よって生じるＣＰＵの故障ポテンシャルを判断することにより、ＣＰＵの故障を、できる限り早期の段階で検出することができる。また、ＣＰＵの故障発生時、または、ＣＰＵの異常発生時において、故障していない正常なＣＰＵを特定することが可能であり、故障していない正常なＣＰＵを有効利用することで、運転性能を維持可能な車両制御装置（１００）を提供することが出来る。
【００２８】
本発明の実施形態において、ＣＰＵ（１１１、１１２、１２１、１２２）は、ＣＰＵの故障の原因となるトランジスタの短絡や経年劣化によって、ＣＰＵに電源を供給している電源供給ライン（接続線：Ｌ１、Ｌ２、Ｌ３、Ｌ４）を流れる電流(リーク電流)が増加していく特徴に着目する。ＣＰＵのリーク電流の値を電流測定部（電流検出部：１５０、１６０、１５２、１６２）を利用して検出および測定し、測定されたリーク電流の値ないし量からトランジスタの劣化状態を判断することができる。つまり、ＣＰＵの故障ポテンシャルを判断することができる。
【００２９】
ただし、ＣＰＵが駆動状態のときにおいて、ＣＰＵの電源供給ラインを流れる電流はＣＰＵのリーク電流成分とＣＰＵの駆動電流成分とを含んでおり、ここからＣＰＵの駆動電流成分を除いて、ＣＰＵのリーク電流成分のみを測定する必要がある。ここで、ＣＰＵの動作状態を、ＣＰＵが駆動していない状態（非演算状態）、いわゆる、スタンバイ状態とすると、ＣＰＵの駆動電流成分をゼロとすることが可能である。さらに、スタンバイ状態のＣＰＵとは別に、駆動状態のＣＰＵを用いて、スタンバイ状態のＣＰＵに流れる電流を測定する。この電流を故障ポテンシャル診断用のＣＰＵリーク電流（Ｉｌｅａｋ２）として扱う。このように、故障ポテンシャル診断のために、被測定ＣＰＵをスタンバイ状態とし、測定用ＣＰＵを駆動状態とする。
【００３０】
さらに、故障ポテンシャル診断用のＣＰＵリーク電流（Ｉｌｅａｋ２）は、マイクロコンピュータまたはＣＰＵの製造ばらつきと、マイクロコンピュータまたはＣＰＵの温度変化によるばらつきを含んでいるため、これらリーク電流のばらつき要素を排除して、トランジスタ劣化によるＣＰＵリーク電流の増加分のみを抽出する必要がある。このため、測定した故障ポテンシャル診断用のＣＰＵリーク電流の値の補正が必要となる。マイクロコンピュータまたはＣＰＵの製造ばらつきによるリーク電流ばらつきの補正と、温度変化によるリーク電流ばらつきの２つを補正する。
【００３１】
マイクロコンピュータまたはＣＰＵの製造ばらつきによるリーク電流ばらつきを補正する方法として、マイクロコンピュータまたはＣＰＵ製造時に故障ポテンシャル診断用のＣＰＵリーク電流値（Ｉｌｅａｋ１）を計測し、マイクロコンピュータの記憶領域（ＲＯＭ：１１４、１２４）にＣＰＵ製造時のリーク電流値として記憶させる。現在の故障ポテンシャル診断用のＣＰＵリーク電流値（Ｉｌｅａｋ２）からマイクロコンピュータまたはＣＰＵ製造時のリーク電流値（Ｉｌｅａｋ１）を減算することで、マイクロコンピュータまたはＣＰＵ製造時から現在に至るまでのリーク電流の増加分（ΔＩｌｅａｋ）を抽出することができる。これを温度補正前のＣＰＵリーク電流の増加量とする。また、故障ポテンシャル診断用のＣＰＵリーク電流値（Ｉｌｅａｋ１）は、マイクロコンピュータまたはＣＰＵの製造時でなく、車両制御装置の製造時に故障ポテンシャル診断用のＣＰＵリーク電流を計測し、記憶してもよい。
【００３２】
次に、温度によるリーク電流の変化を補正する。一般的にＣＰＵのリーク電流とＣＰＵの温度は相関関係をもつことが知られている。よって、あらかじめＣＰＵの温度とＣＰＵのリーク電流の相関マップ（ＴＣＭ）を用意することができる。マイクロコンピュータまたはＣＰＵの温度は、マイクロコンピュータに内蔵している温度センサ（ＴＳＥＮ：１１５，１２５）により測定することができる。若しくは、車両用制御装置（１）の基板上に配した温度センサからの温度情報から推定しても良い。測定したＣＰＵの温度と、ＣＰＵリーク電流温度変化マップ（ＴＣＭ）から、温度によるＣＰＵリーク電流の変化量を算出することができる。
【００３３】
前記温度補正前のＣＰＵリーク電流増加量（ΔＩｌｅａｋ）と前記温度によるＣＰＵリーク電流変化量（Ｉｃｖ）を用いて、温度補正後のＣＰＵリーク電流増加量（ΔＩｌｅａｋｃ）を算出することができる。前記温度補正後のＣＰＵリーク電流の増加量（ΔＩｌｅａｋｃ）が、あらかじめ規定した故障ポテンシャルを有すると判断する電流の増加量の判定閾値（ＴＨ）よりも大きいとき、ＣＰＵは、完全に故障していないものの、将来、故障となるポテンシャルを有していると判断できる。判定閾値は、設定値ないし所定値と見做すことが出来る。
【００３４】
リーク電流の測定とＣＰＵ故障ポテンシャル診断は任意のタイミングで実施することができるが、少なくとも１つのＣＰＵをスタンバイ状態とするために、車両制御装置の起動時またはシャットダウン時に実施することが有効である。また、起動時毎やシャットダウン毎に、診断するＣＰＵの組み合わせを変えてもよい(図９Ａ、図９Ｂ，図９Ｃ，図９Ｄ)。
【００３５】
実施形態に係る車両制御装置によれば、現時点ではＣＰＵは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。
【００３６】
前述の通り、複数のマイクロコンピュータや複数のＣＰＵを使用して故障を検知しているが、故障発生したことは検知可能であるが、故障したＣＰＵを特定することができなかった。そのため、ＣＰＵ故障発生時は、他に正常なＣＰＵがあったとしても車両制御を縮退させて、車両制御用アクチュエータを停止させるなどのフェールセーフ処理が一般的に実行される。
【００３７】
一方、実施形態によれば、ＣＰＵの故障ポテンシャル診断の結果から、故障したＣＰＵを特定することができるので、ＣＰＵの故障発生時において、故障していない正常なＣＰＵを使って、車両制御を縮退させることなく、車両の走行性能を維持することができる。
【００３８】
また、実施形態によれば、故障ポテンシャルが高いＣＰＵが完全に故障する前に、故障ポテンシャルが高いＣＰＵが受け持つ演算制御を他ＣＰＵに譲渡し、車両制御装置が持つ機能を縮退させることなく、自動車運転者にＣＰＵ故障を通知することができるため、安全かつスムーズに自動車を修理するための移動を行うことができる。
【００３９】
また、実施形態によれば、ＣＰＵが完全に故障したとき、故障を検知するまでの故障検知ディレイ時間においても、正常なＣＰＵを使用できるため、本来の運転性能を犠牲にすることが無く、エンジンやトランスミッション等のアクチュエータが急停止や誤作動し、車両が意図しない挙動をすることを防ぐことができる。
【００４０】
また、実施形態によれば、ＣＰＵが完全に故障する前に、あらかじめ故障ポテンシャルの高いＣＰＵで演算するタスクを縮退させてＣＰＵ演算負荷を下げることで、ＣＰＵが完全に故障するまでの期間を延長することができる。
【００４１】
以下、実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。なお、図面は説明をより明確にするため、実際の態様に比べ、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
【実施例１】
【００４２】
以下、実施例１について、図面を用いて説明する。【００４３】
（車両制御装置システムの構成）
図１は、実施例１に係る車両制御装置システムを示す図である。車両制御装置システム１は、電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）である車両制御装置１００を有する。車両制御装置１００は、車両が搭載する車載機器（例えば、自動変速機、エンジンなど）を電子的に制御する装置である。車両制御装置１００は、メインマイクロコンピュータ（ＭＭＣ）１１０、サブマイクロコンピュータ（ＳＭＣ）１２０、メイン電源部（ＭＰＳＰ）１３０、サブ電源部（ＳＰＳＰ）１４０、メインＣＰＵ電流測定部（ＭＣＭ）１５０，１５２、サブＣＰＵ電流測定部（ＳＭＣＭ）１６０，１６２、温度センサ１７０、を備える。メインマイクロコンピュータ（ＭＭＣ）１１０は第１マイクロコンピュータと、サブマイクロコンピュータ（ＳＭＣ）１２０は第２マイクロコンピュータと、いうこともできる。【００４４】
メインマイクロコンピュータ１１０は、車両が搭載する車載機器を制御するマイクロコンピュータまたはマイクロコントローラである。メインマイクロコンピュータ１１０は、例えばアクチュエータ（ＡＣＵ）２０２を制御することによって車載機器を制御する。また、表示装置（ＤＩＳＰ）２０３を介してメッセージを表示することができる。メッセージは、例えば文字や画像などのメッセージ、ランプ点灯による通知など、任意の形態のものを用いることができる。【００４５】
メインマイクロコンピュータ（ＭＭＣ）１１０は、半導体集積回路装置であり、例えば、公知のＣＭＯＳ半導体製造技術により、複数のＣＭＯＳトランジスタを単結晶シリコンの様な半導体チップ上に形成することにより、形成されている。メインマイクロコンピュータ（ＭＭＣ）１１０は、メインＣＰＵ（ＭＣＰＵ：第１ＣＰＵ）１１１、サブＣＰＵ（ＳＣＰＵ：第２ＣＰＵ）１１２、揮発性メモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３、不揮発性メモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１４、メインマイクロコンピュータ１１０の温度を測定可能な温度センサ（ＴＳＥＮ）１１５、比較器（ＣＯＭＰ）１１６、アナログデジタル変換回路（ＡＤＣ）１１７、を備える。メインＣＰＵ１１１とサブＣＰＵ１１２は、車載機器を制御するために必要な制御演算を実施する演算装置である。ＲＡＭ１１３は、メインＣＰＵ１１１とサブＣＰＵ１１２が使用するデータを一時的に格納する。ＲＯＭ１１４は、メインＣＰＵ１１１とサブＣＰＵ１１２が実行する制御プログラムや、後述される診断処理グログラムなどを格納し、また、メインＣＰＵ１１１とサブＣＰＵ１１２が演算した情報やサブマイクロコンピュータ１２０やその他の車載機器から受信した情報を記憶することができる。比較器１１６は、メインＣＰＵ１１１とサブＣＰＵ１１２に同じ入力情報を与え、メインＣＰＵ１１１とサブＣＰＵ１１２の出力結果を照合する。メインＣＰＵ１１１とサブＣＰＵ１１２に異常が無ければ、比較器１１６の照合結果は一致する。比較器１１６の照合結果が不一致のとき、メインＣＰＵ１１１またはサブＣＰＵ１１２の異常を検知することができる。この構成は、一般的なロックステップ方式である。【００４６】
メインＣＰＵ１１１とメイン電源部１３０との間に設けられた電源供給ライン（第１接続線）Ｌ１は、メインＣＰＵ１１１の駆動電流を測定するメイン電流測定部（電流検出部）１５０を備える。サブＣＰＵ１１２とメイン電源部１３０との間に設けられた電源供給ライン（第２接続線）Ｌ２は、サブＣＰＵ１１２の駆動電流を測定するサブ電流測定部（電流検出部）１６０を備える。後述されるサブマイクロコンピュータ１２０のアナログデジタル変換回路（ＡＤＣ）１２７は、メイン電流測定部１５０とサブ電流測定部１６０と、計測用配線ＬＭ１，ＬＭ２を介して接続され、電源供給ライン（第１、第２接続線）Ｌ１，Ｌ２に流れるメインＣＰＵ１１１およびサブＣＰＵ１１２の駆動電流の電流値を測定する。【００４７】
サブマイクロコンピュータ１２０は、メインマイクロコンピュータ１１０と同様の構成を備える。すなわち、サブマイクロコンピュータ（ＳＭＣ）１２０は、半導体集積回路装置であり、例えば、公知のＣＭＯＳ半導体製造技術により、複数のＣＭＯＳトランジスタを単結晶シリコンの様な半導体チップ上に形成することにより、形成されている。サブマイクロコンピュータ（ＳＭＣ）１２０は、メインＣＰＵ（ＭＣＰＵ）１２１、サブＣＰＵ（ＳＣＰＵ）１２２、揮発性メモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２３、不揮発性メモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２４、サブマイクロコンピュータ１２０の温度を測定可能な温度センサ（ＴＳＥＮ）１２５、比較器（ＣＯＭＰ）１２６、アナログデジタル変換回路（ＡＤＣ）１２７、を備える。メインＣＰＵ１２１とサブＣＰＵ１２２は、車載機器を制御するために必要な制御演算を実施する演算装置である。ＲＡＭ１２３は、メインＣＰＵ１２１とサブＣＰＵ１２２が使用するデータを一時的に格納する。ＲＯＭ１２４は、メインＣＰＵ１２１とサブＣＰＵ１２２が実行する制御プログラムや、後述される診断処理グログラムなどを格納し、また、メインＣＰＵ１２１とサブＣＰＵ１２２が演算した情報やメインマイクロコンピュータ１１０やその他の車載機器から受信した情報を記憶することができる。比較器１２６は、メインＣＰＵ１２１とサブＣＰＵ１２２に同じ入力情報を与え、メインＣＰＵ１２１とサブＣＰＵ１２２の出力結果を照合する。メインＣＰＵ１２１とサブＣＰＵ１２２に異常が無ければ比較器１２６の照合結果は一致する。比較器１２６の照合結果が不一致のとき、メインＣＰＵ１２１またはサブＣＰＵ１２２の異常を検知することができる。この構成は、一般的なロックステップ方式である。なお、サブマイクロコンピュータ１２０はメインマイクロコンピュータ１１０の機能異常を検知するのみに機能を限定してもよい。【００４８】
メインＣＰＵ１２１とサブ電源部１４０との間に設けられた電源供給ライン（第３接続線）Ｌ３は、メインＣＰＵ１２１の駆動電流を測定するメイン電流測定部（電流検出部）１５２を備える。サブＣＰＵ１２２とサブ電源部１４０との間に設けられた電源供給ライン（第４接続線）Ｌ４は、サブＣＰＵ１２２の駆動電流を測定するサブ電流測定部（電流検出部）１６２を備える。メインマイクロコンピュータ１１０のアナログデジタル変換回路（ＡＤＣ）１１７は、メイン電流測定部１５２とサブ電流測定部１６２と、計測用配線ＬＭ３，ＬＭ４を介して接続され、電源供給ライン（第３、第４接続線）Ｌ３，Ｌ４に流れるメインＣＰＵ１２１およびサブＣＰＵ１２２の駆動電流の電流値を測定する。【００４９】
サブマイクロコンピュータ１２０は、メイン電流測定部１５０とサブ電流測定部１６０からの電流値と温度センサ１１５からの温度情報を用いて、後述する手順により、メインマイクロコンピュータ１１０のメインＣＰＵ１１１およびサブＣＰＵ１１２の故障ポテンシャル診断を実施して、その診断結果をサブマイクロコンピュータ１２０のＲＯＭ１２４等の記憶領域に格納する。サブマイクロコンピュータ１２０は、次回メインマイクロコンピュータ１１０の起動時に、診断結果の情報をメインマイクロコンピュータ１１０へ通知する。【００５０】
一方、メインマイクロコンピュータ１１０は、メイン電流測定部１５２とサブ電流測定部１６２からの電流値と温度センサ１２５からの温度情報を用いて、後述する手順により、サブマイクロコンピュータ１２０のメインＣＰＵ１２１およびサブＣＰＵ１２２の故障ポテンシャル診断を実施して、その診断結果をメインマイクロコンピュータ１１０のＲＯＭ１１４等の記憶領域に格納する。メインマイクロコンピュータ１１０は、次回サブマイクロコンピュータ１２０の起動時に、診断結果の情報をサブマイクロコンピュータ１２０へ通知する。【００５１】
このように、サブマイクロコンピュータ１２０がメインマイクロコンピュータ１１０の故障ポテンシャル診断を実施し、メインマイクロコンピュータ１１０がサブマイクロコンピュータ１２０の故障ポテンシャル診断を実施する。この理由は、前述の通り、ＣＰＵが駆動状態ではＣＰＵのリーク電流とＣＰＵの駆動電流を切り分けることができないため、ＣＰＵが駆動していない状態、いわゆるＣＰＵスタンバイ状態とし、さらに別の通常駆動中のマイクロコンピュータがスタンバイ状態のＣＰＵの駆動電流を測定することで、ＣＰＵのリーク電流を正確に測定することを可能とするためである。【００５２】
車両制御装置１００は、車両が搭載するバッテリ２０１から電力の供給を受ける。メイン電源部１３０は、バッテリ２０１から受け取った電圧を昇圧ないし降圧し、メインマイクロコンピュータ１１０に対して供給する。サブ電源部１４０も同様に、バッテリ２０１から受け取った電圧を昇圧ないし降圧し、サブマイクロコンピュータ１２０に対して供給する。メイン電源部１３０およびサブ電源部１４０は、電源信号（ＰＳ）２００の受信に従って、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０のそれぞれへの電力供給を開始するように構成されている。【００５３】
メイン電源部１３０は、メインＣＰＵ１１１、サブＣＰＵ１１２、ＲＡＭ１１３、ＲＯＭ１１４のそれぞれに対して個別に電力を供給するように、内部的に回路が切り分けられている。これは、メインＣＰＵ１１１、サブＣＰＵ１１２に対して供給する駆動電流がＲＡＭ１１３やＲＯＭ１１４の電流変動によって受ける影響を抑制するためである。また、サブメイン電源部１４０も同様に、メインＣＰＵ１２１、サブＣＰＵ１２２、ＲＡＭ１２３、ＲＯＭ１２４のそれぞれに対して個別に電力を供給するように、内部的に回路が切り分けられている。これは、メインＣＰＵ１２１、サブＣＰＵ１２２に対して供給する駆動電流がＲＡＭ１２３やＲＯＭ１２４の電流変動によって受ける影響を抑制するためである。メイン電源部１３０およびサブメイン電源部１４０の構成は、図３を用いて、後で説明される。【００５４】
（マイクロコンピュータの構成）
図２は、マイクロコンピュータＭＣの概念的な構成例を示す図である。マイクロコンピュータＭＣは、メインマイクロコンピュータ１１０およびメインマイクロコンピュータ１２０の構成を示している。マイクロコンピュータＭＣは、メインＣＰＵ（ＭＣＰＵ：１１１，１２１）、サブＣＰＵ（ＳＣＰＵ：１１２，１２１）、ＲＡＭ（１１３，１２３）、ＲＯＭ（１１４、１２４）および周辺回路ＰＥＲＩを含み、バスＢＵＳにより相互に接続されている。周辺回路ＰＥＲＩは、例えば、温度センサＴＳＥＮ（１１５，１２５），比較部ＣＯＭＰ（１１６，１２６）、アナログデジタル変換回路ＡＤＣ（１１７，１２７）、コントロールエリアネットワーク（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ）インターフェイスＣＡＮＩＦ、および、信号入出力ポートＩＯＰ等を有する。【００５５】
マイクロコンピュータＭＣは、ＭＣＰＵへ電源電圧Ｖｄｄ１を供給するための外部端子ＶＤＤ１，ＳＣＰＵへ電源電圧Ｖｄｄ２を供給するための外部端子ＶＤＤ２、ＲＡＭへ電源電圧Ｖｄｄ３を供給するための外部端子ＶＤＤ３、ＲＯＭへ電源電圧Ｖｄｄ４を供給するための外部端子ＶＤＤ４、および、例えば、０（ゼロ）ボルトの様な接地電圧または基準電圧Ｖｓｓが供給される基準電位端子ＶＳＳを有する。マイクロコンピュータＭＣは、さらに、アナログデジタル変換回路ＡＤＣへアナログ用電源電圧Ａｖｄｄおよびアナログ用基準電圧Ａｖｓｓを供給ための外部端子ＡＶＤＤおよびＡＶＳＳ、温度センサＴＳＥＮ、比較部ＣＯＭＰ、ＣＡＮＩＦや信号入出力ポートＩＯＰ等の周辺回路ＰＥＲＩへ電源電圧Ｖｄｄ５を供給するための外部端子ＶＤＤ５等を有する。電源電圧Ｖｄｄ１、Ｖｄｄ２，Ｖｄｄ３，Ｖｄｄ４，Ｖｄｄ５は、それぞれ異なる電源電圧とすることが出来る。【００５６】
図２に示されるように、アナログデジタル変換回路ＡＤＣは、アナログ信号入力端子ＡＮ０，ＡＮ１、ＡＮ２，ＡＮ３を有している。マイクロコンピュータＭＣが、メインマイクロコンピュータ１１０とされる場合、アナログ信号入力端子ＡＮ０，ＡＮ１は、ＬＭ３を介して、ＭＣＭ１５２に接続され、アナログ信号入力端子ＡＮ２，ＡＮ３は、ＬＭ４を介して、ＳＣＭ１６２に接続される。また、マイクロコンピュータＭＣが、メインマイクロコンピュータ１２０とされる場合、アナログ信号入力端子ＡＮ０，ＡＮ１は、ＬＭ１を介して、ＭＣＭ１５０に接続され、アナログ信号入力端子ＡＮ２，ＡＮ３は、ＬＭ２を介して、ＳＣＭ１６０に接続される。なお、アナログデジタル変換回路ＡＤＣは、アナログ信号入力端子ＡＮ０，ＡＮ１、ＡＮ２，ＡＮ３の他に、アナログ信号入力端子ＡＮ４−ＡＮｎを有してもよい。アナログ信号入力端子ＡＮ４−ＡＮｎは、他のアナログセンサ等の出力と接続することが可能である。【００５７】
また、ＣＡＮＩＦは、ＣＡＮバスに接続することが可能な入出力端子ＣＡＮ０を有する。ＣＡＮバスには、ＣＡＮプロトコルに基づくＣＡＮ通信が可能な電動パワーステリングＥＰＳや他の電子制御ユニット（ＥＣＵ）などを接続することが可能である。信号入出力ポートＩＯＰは、デジタル信号の入出力を可能とするポート端子ＰＤ０−ＰＤＮを有する。【００５８】
（電源供給部の構成）
図３は、電源供給部ＰＳＰの概念的な構成例を示す図である。電源供給部ＰＳＰは、メイン電源部（ＭＰＳＰ）１３０およびサブ電源部（ＳＰＳＰ）１４０の構成を示している。電源供給部ＰＳＰは、複数のレギュレータＲＥＧ１−ＲＧ６を有する。レギュレータＲＥＧ１は、ＭＣＰＵへ電源電圧Ｖｄｄ１を供給するための外部端子ＶＤＤ１へ電源電圧を供給する。レギュレータＲＥＧ２は、ＳＣＰＵへ電源電圧Ｖｄｄ２を供給するための外部端子ＶＤＤ２へ電源電圧を供給する。レギュレータＲＥＧ３は、ＲＡＭへ電源電圧Ｖｄｄ３を供給するための外部端子ＶＤＤ３へ電源電圧を供給する。レギュレータＲＥＧ４は、ＲＯＭへ電源電圧Ｖｄｄ４を供給するための外部端子ＶＤＤ４へ電源電圧を供給する。レギュレータＲＥＧ５は、周辺回路ＰＥＲＩへ電源電圧を供給するための外部端子ＶＤＤ５へ電源電圧Ｖｄｄ５を供給する。レギュレータＲＥＧ６は、アナログデジタル変換回路ＡＤＣへアナログ用電源電圧Ａｖｄｄおよびアナログ用基準電圧Ａｖｓｓを供給ための外部端子ＡＶＤＤおよびＡＶＳＳへアナログ用電源電圧Ａｖｄｄおよびアナログ用基準電圧Ａｖｓｓを供給する。複数のレギュレータＲＥＧ１−ＲＧ６は、電源供給の開始を指示する電源信号２００の受信に応答して、バッテリ（ＢＡＴ）２０１から電圧を供給されて、各電源電圧Ｖｄｄ１−Ｖｄｄ５、Ａｖｄｄ、アナログ用電源電圧Ａｖｄｄ、およびアナログ用基準電圧Ａｖｓｓを生成する。【００５９】
このように、電源供給部ＰＳＰ（１３０、１４０）は、メインＣＰＵ（ＭＣＰＵ：１１１，１２１）、サブＣＰＵ（ＳＣＰＵ：１１２，１２２）、ＲＡＭ（１１３，１２３）、ＲＯＭ（１１４、１２４）、周辺回路ＰＥＲＩ、アナログデジタル変換回路ＡＤＣ（１１７，１２７）のそれぞれに対して個別に電力を供給可能とするように、複数レギュレータＲＥＧ１−ＲＧ６を有する。これは、前述の様に、メインＣＰＵ１１１、サブＣＰＵ１１２に対して供給する駆動電流がＲＡＭ（１１３，１２３）、ＲＯＭ１１４（１１４、１２４）、周辺回路ＰＥＲＩ、アナログデジタル変換回路ＡＤＣ（１１７，１２７）の電流変動によって受ける影響を抑制する為である。【００６０】
なお、図２および図３において、周辺回路ＰＥＲＩへ電源電圧の供給する外部端子ＶＤＤ５、および周辺回路ＰＥＲＩの電源電圧を生成するレギュレータＲＥＧ５は、さらに、複数の外部端子、および複数のレギュレータとされても良い。これにより、周辺回路ＰＥＲＩに含まれる各回路ないし各機能モジュールの電源電位の要求仕様に従う様に、電源電位を供給出来る。【００６１】
（電流測定部の構成）
図４は、電流測定部の構成を説明するための図である。図４には、電流測定部として、メイン電流測定部１５０の構成を例示的に示している。電流測定部１５０の構成は、電流測定部１６０，１５２，１６２の構成と同一であり、他の接続構成は図１から容易に理解されるので、電流測定部１６０，１５２，１６２の構成の説明は省略する。電源測定部１５０は、抵抗値Ｒｓの抵抗素子Ｒ１を有する。抵抗素子Ｒ１は、メイン電源部１３０のレギュレータＲＥＧ１の出力とメインマイクロコンピュータ１１０のメインＣＰＵ１１１の外部端子ＶＤＤ１との間に設けられた電源供給ラインＬ１に直列に挿入されるように、設けられる。抵抗素子Ｒ１の両端のノードＶＲＨおよびＶＲＬは、ＬＭ１を介して、サブマイクロコンピュータ１２０に内蔵されたアナログデジタル変換回路１２７のアナログ入力端子ＡＮ０，ＡＮ１にそれぞれ接続される。同様な構成により、電流測定部１６０は、ＬＭ２を介して、サブマイクロコンピュータ１２０に内蔵されたアナログデジタル変換回路１２７のアナログ入力端子ＡＮ２，ＡＮ３にそれぞれ接続される。また、電流測定部１５２，１６２は、ＬＭ３およびＬＭ４を介して、メインマイクロコンピュータ１１０に内蔵されたアナログデジタル変換回路１１７のアナログ入力端子ＡＮ０，ＡＮ１、および、ＡＮ２，ＡＮ３にそれぞれ接続される。【００６２】
このような構成により、抵抗素子Ｒ１に流れるメインＣＰＵ１１１のリーク電流を含む駆動電流Ｉｓは、以下の式により求められる。
Ｉｓ＝Ｖｓ／Ｒｓ
ここで、Ｖｓは、抵抗素子Ｒ１の両端のノードＶＲＨとノードＶＲＬとの間の電圧差に対応する電圧値である。【００６３】
すなわち、ノードＶＲＨとノードＶＲＬとの間の電圧値Ｖｓを、アナログデジタル変換回路１２７によって計測することにより、メインＣＰＵ１１１のリーク電流を含む駆動電流Ｉｓが求められる。【００６４】
なお、メイン電源部１３０のレギュレータＲＥＧ１の出力電圧値は、メインマイクロコンピュータ１１０のメインＣＰＵ１１１の基準動作電圧と、抵抗素子Ｒ１の抵抗値Ｒｓと、抵抗素子Ｒ１に流れる駆動電流Ｉｓの最大電流値と、抵抗素子Ｒ１に流れる駆動電流Ｉｓによる電圧降下分（Ｖｓ）とを考慮し、メインマイクロコンピュータ１１０のメインＣＰＵ１１１の基準動作電圧を満足する様に、決めればよい。メイン電源部１３０のレギュレータＲＥＧ２、サブ電源部１４０のレギュレータＲＥＧ１，ＲＥＧ２のそれぞれの出力電圧値も、上記と同様の思想により、メインマイクロコンピュータ１１０のサブＣＰＵ１１２、サブマイクロコンピュータ１２０のメインＣＰＵ１２１、サブＣＰＵ１２２の各々の基準動作電圧を満足する様に、決定すればよい。【００６５】
なお、上記では、マイクロコンピュータ１１０，１２０に内蔵されたアナログデジタル変換回路１１７、１２７を利用する例に関して説明したが、これに限定されない。アナログデジタル変換回路１１７、１２７の変換ビット数(例えば、１０ビットや１２ビット)より多い変換ビット数(例えば、１００ビット)が必要な場合は、車両制御装置１００に、変換ビット数の多い外付けの個別アナログデジタル変換回路を実装し、アナログデジタル変換回路１１７、１２７の代わりとして、その個別アナログデジタル変換回路を利用しても良い。リーク電流値の測定において、リーク電流値の値自体が小さいので、変換ビット数の多い個別アナログデジタル変換回路を用いれば、リーク電流値をより正確に計測することが出来る。【００６６】
(リーク電流およびその補正)
図５は、リーク電流の増加を説明するための図である。メインマイクロコンピュータ１１０やサブマイクロコンピュータ１２０は、複数のＣＭＯＳトランジスタなどから構成されており、製造不良の顕在化や長期使用による経年劣化などの要因により、リーク電流が増加する場合がある。【００６７】
図５において、縦軸はリーク電流値Ｉｌｅａｋを示し、横軸は時間Ｔｉｍｅを示す。一般的に、半導体集積回路装置の製造メーカは、半導体集積回路装置の出荷前に、出荷前検査を実施し、リーク電流を計測し、リーク電流Ｉｌｅａｋ１が所定の範囲内にある半導体集積回路装置を、正常品として出荷する。なお、図５において、リーク電流値Ｉｌｅａｋ１は、メインマイクロコンピュータ１１０やサブマイクロコンピュータ１２０の出荷前検査で計測したものを利用する例を説明するが、車両制御装置１の製造時にリーク電流値Ｉｌｅａｋ１を計測し、メインマイクロコンピュータ１１０やサブマイクロコンピュータ１２０のＲＯＭ（１１４，１２４）に記憶させてもよい。【００６８】
時間Ｔ１には、出荷前検査時における正常品のリーク電流値Ｉｌｅａｋ１が示されており、時間Ｔ２には、長期使用によりリーク電流Ｉｌｅａｋが増加した異常品のリーク電流値Ｉｌｅａｋ２が示される。時間Ｔ１において、正常品のリーク電流の範囲は、たとえは、最小値（０ｍＡ（ミリアンペア））と最大値（Ｍ ｍＡ）との間の範囲とされており、出荷前検査によって計測されたメインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０のリーク電流値Ｉｌｅａｋ１が、例えば、ＴｍＡであったとする。【００６９】
時間Ｔ２において、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０のリーク電流値Ｉｌｅａｋ２がＴ＋Ｙ  ｍＡへ増加したものとする。すなわち、リーク電流ＩｌｅａｋがＹｍＡ＝ΔＩｌｅａｋ＝Ｉｌｅａｋ２―Ｉｌｅａｋ１の値だけ増加した状態である。【００７０】
ΔＩｌｅａｋの値は、経年劣化以外に、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０におけるリーク電流の温度特性の変動と、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０の製造ばらつきによるリーク電流の変動と、が含まれている。そのため、リーク電流の増加量ΔＩｌｅａｋの値は補正する必要がある。【００７１】
図６は、リーク電流の増加分の補正方法を説明するための図である。リーク電流の増加量ΔＩｌｅａｋは、製造時のリーク電流値Ｉｌｅａｋ１と、計測時のリーク電流値Ｉｌｅａｋ２と、リーク電流値Ｉｌｅａｋ２の温度特性ないし温度依存性とを考慮して、補正される。リーク電流値Ｉｌｅａｋ２の温度特性ないし温度依存性は、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０の温度センサＴＳＥＮにより計測された温度情報ＴＭと、リーク電流の温度補正マップ（テーブル）ＴＣＭにより、補正される。温度補正マップ（テーブル）ＴＣＭは、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０のそれぞれで固有のものであり、例えば、半導体製造メーカから得ることが可能である。温度補正マップ（または温度補正テーブル）ＴＣＭは、各温度におけるリーク電流の補正電流値（Ｉｃｖ）が記述されている。【００７２】
したがって、故障ポテンシャルの診断用として利用される補正されたリーク電流の増加量ΔＩｌｅａｋｃは、次式で求められる。
ΔＩｌｅａｋｃ＝Ｉｌｅａｋ２＋Ｉｃｖ−Ｉｌｅａｋ１
ここで、Ｉｃｖは、温度情報ＴＭにおける温度補正マップ（テーブル）ＴＣＭに記載の補正電流値を示すものとする。【００７３】
これにより、リーク電流値の温度によるばらつきと、メインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０の製造ばらつきとが排除でき、経年劣化等によるリーク電流値の補正された増加量ΔＩｌｅａｋｃを得ることができる。故障ポテンシャルの診断の際、この補正されたリーク電流の増加量ΔＩｌｅａｋｃが、しきい値または所定値（ＴＨ）を超えたか否かにより、故障ポテンシャルの有無が判断される。このような構成により、ＣＰＵ（１１１，１１２，１２１，１２２）が、完全に故障していないものの、将来、故障となるポテンシャルを有しているか否かを判断することが可能になる。しきい値または所定値（ＴＨ）は、設定値や規定値という事もできる。【００７４】
（ＲＯＭ１１４、１２４のアドレス空間の構成例）
図７は、ＲＯＭ１１４、ＲＯＭ１２４のアドレス空間の構成例を示す図である。図７（Ａ）は、ＲＯＭ１１４のアドレス空間の構成例を示し、図７（Ｂ）はＲＯＭ１２４のアドレス空間の構成例を示す。【００７５】
図７（Ａ）に示すように、メインマイクロコンピュータ１１０のＲＯＭ１１４のアドレス空間には、メインＣＰＵ１１１およびサブＣＰＵ１１２により実行されるプログラム、プログラム実行時に参照されるデータ、マップないしテーブル、演算結果のデータなどが格納される。ＲＯＭ１１４は、例えば、第１アドレス空間ＡＤＳＰ１ａと、第２アドレス空間ＡＤＳＰ２ａと、を有する。【００７６】
第１アドレス空間ＡＤＳＰ１ａには、制御プログラムＣＰＲＯＧおよび制御プログラムＣＰＲＯＧの実行時に参照される参照データ等が格納される。制御プログラムＣＰＲＯＧは、車両が搭載する車載機器（例えば、自動変速機、エンジンなど）を電子的に制御するための制御プログラムである。【００７７】
第２アドレス空間ＡＤＳＰ２ａには、本発明に係る処理プログラムないしデータが格納されており、図８Ａ，図８Ｂで説明される診断プログラムＤＰＲＯＧ、図１０で説明されるＣＰＵの異常判断時に実行される制御プログラムＣＮＴＰＲＯＧ、図６で説明されたリーク電流補正用の計算プログラムＬＣＣＰＲＯＧが格納される。第２アドレス空間ＡＤＳＰ２ａには、さらに、メインマイクロコンピュータ１１０に関するリーク電流の温度補正マップ（テーブル）ＴＣＭ、しきい値または所定値（ＴＨ）、リーク電流値Ｉｌｅａｋ１（１１０）、サブマイクロコンピュータ１２０のメインＣＰＵ１２１およびサブＣＰＵ１２２に関する計測されたリーク電流値Ｉｌｅａｋ２（１２１）、Ｉｌｅａｋ２（１２２）が、格納される。第２アドレス空間ＡＤＳＰ２ａには、さらに、補正されたリーク電流の増加量ΔＩｌｅａｋｃ（１２１）、ΔＩｌｅａｋｃ（１２２）、サブマイクロコンピュータ１２０のメインＣＰＵ１２１およびサブＣＰＵ１２２に関する診断結果ＤＲｅｓｕｌｔ（１２１）、ＤＲｅｓｕｌｔ（１２２）、および、診断履歴を示す経験情報ＤＨｉｓｔが格納される。【００７８】
診断結果ＤＲｅｓｕｌｔ（１２１）、ＤＲｅｓｕｌｔ（１２２）は、診断プログラムＤＰＲＯＧによるサブマイクロコンピュータ１２０に関する診断の結果であり、サブマイクロコンピュータ１２０のメインＣＰＵ１２１およびサブＣＰＵ１２２の故障ポテンシャルの有無が格納される。経験情報ＤＨｉｓｔには、最後または先回診断されたメインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０のデータが格納される。【００７９】
図７（Ｂ）に示すように、サブマイクロコンピュータ１２０のＲＯＭ１２４のアドレス空間には、メインＣＰＵ１２１およびサブＣＰＵ１２２により実行されるプログラム、プログラム実行時に参照されるデータ、マップないしテーブル、演算結果のデータなどが格納される。ＲＯＭ１２４は、例えば、第１アドレス空間ＡＤＳＰ１ｂと、第２アドレス空間ＡＤＳＰ２ｂと、を有する。【００８０】
第１アドレス空間ＡＤＳＰ１ｂには、制御プログラムＣＰＲＯＧおよび制御プログラムＣＰＲＯＧの実行時に参照される参照データ等が格納される。制御プログラムＣＰＲＯＧは、車両が搭載する車載機器（例えば、自動変速機、エンジンなど）を電子的に制御するための制御プログラムである。【００８１】
第２アドレス空間ＡＤＳＰ２ｂには、本発明に係る処理プログラムないしデータが格納されており、図８で説明される診断プログラムＤＰＲＯＧ、図１０で説明されるＣＰＵの異常判断時に実行される制御プログラムＣＮＴＰＲＯＧ、図６で説明されたリーク電流補正のための計算プログラムＬＣＣＰＲＯＧが格納される。第２アドレス空間ＡＤＳＰ２ｂには、さらに、サブマイクロコンピュータ１２０に関するリーク電流の温度補正マップ（テーブル）ＴＣＭ、しきい値または所定値（ＴＨ）、リーク電流値Ｉｌｅａｋ１（１２０）、メインマイクロコンピュータ１１０のメインＣＰＵ１１１およびサブＣＰＵ１１２に関する計測されたリーク電流値Ｉｌｅａｋ２（１１１）、Ｉｌｅａｋ２（１１２）が、格納される。第２アドレス空間ＡＤＳＰ２ｂには、さらに、補正されたリーク電流の増加量ΔＩｌｅａｋｃ（１１１）、ΔＩｌｅａｋｃ（１１２）、メインマイクロコンピュータ１１０のメインＣＰＵ１１１およびサブＣＰＵ１１２に関する診断結果ＤＲｅｓｕｌｔ（１１１）、ＤＲｅｓｕｌｔ（１１２）、および、診断履歴を示す経験情報ＤＨｉｓｔが格納される。【００８２】
診断結果ＤＲｅｓｕｌｔ（１１１）、ＤＲｅｓｕｌｔ（１１２）は、診断プログラムＤＰＲＯＧによるメインマイクロコンピュータ１１０に関する診断の結果であり、メインマイクロコンピュータ１１０のメインＣＰＵ１１１およびサブＣＰＵ１１２の故障ポテンシャルの有無が格納される。経験情報ＤＨｉｓｔには、最後または先回診断されたメインマイクロコンピュータ１１０またはサブマイクロコンピュータ１２０のデータが格納される。【００８３】
なお、図７（Ａ）、図７（Ｂ）では、計測されたリーク電流値Ｉｌｅａｋ２（１１１）、Ｉｌｅａｋ２（１１２）、Ｉｌｅａｋ２（１２１）、Ｉｌｅａｋ２（１２２）や、補正後のリーク電流の増加量ΔＩｌｅａｋｃ（１１１）、ΔＩｌｅａｋｃ（１１２）、ΔＩｌｅａｋｃ（１２１）、ΔＩｌｅａｋｃ（１２２）を、ＲＯＭ１１４、１２４のアドレス空間に格納する例を示したが、これらの値は、ＲＯＭ１１４、１２４のアドレス空間に格納せずに、診断時において、ＲＡＭ１１３，１２３に一時的に格納することも可能である。【００８４】
（故障ポテンシャル診断手順の例）
図８Ａ、図８Ｂは、実施例1に係るＣＰＵの故障ポテンシャル診断手順の一例を示すフローチャートである。なお、図８Ａの下側のＡと、図８Ｂの上側のＡとは接続される。図８Ａ、図８Ｂは、車両制御装置１００がシャットダウンするとき、メインマイクロコンピュータ１１０のメインＣＰＵ１１１とサブＣＰＵ１１２の故障ポテンシャルを、サブマイクロコンピュータ１２０を用いて、診断する手順を説明するフローチャートである。サブマイクロコンピュータ１２０のメインＣＰＵ１２１とサブＣＰＵ１２２の故障ポテンシャルを、メインマイクロコンピュータ１１０を用いて診断するフローチャートは、図８Ａ，図８Ｂから容易に理解されると思われるので、その記載は省略される。以下、図８Ａ、図８Ｂの各ステップについて説明する。【００８５】
（ステップＳ１００）
メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０は、電源が投入されたことを示す電源信号２００を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源ＩＣ１３０とサブ電源ＩＣ１４０はそれぞれ電源信号２００に従って電力供給を開始済みであるものとする。なお、このフローチャートは、図７の診断プログラムＤＰＲＯＧに対応するものである。【００８６】
（ステップＳ１０１）
メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０は、それぞれの記憶領域（ＲＯＭ１１４，１２４）からメインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０の製造時のリーク電流値（Ｉｌｅａｋ１）と、故障ポテンシャル実施経験情報（ＤＨｉｓｔ）を読みだす。上記のリーク電流値（Ｉｌｅａｋ１）は、メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０の製造時だけでなく、車両制御装置１００の製造時に、メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０のリーク電流を測定し、それぞれの記憶領域（ＲＯＭ１１４，１２４）に記憶してもよい。【００８７】
（ステップＳ１０２）
メインマイクロコンピュータ１１０は故障ポテンシャル診断の実施条件が成立するまでは、本故障ポテンシャル診断は実施しない。故障ポテンシャル診断の実施条件は、電源信号２００がオフされた後に実施されるセルフシャット処理が全て完了したことで条件成立とする。【００８８】
（ステップＳ１０３）
メインマイクロコンピュータ１１０は、ステップＳ１０１で読み出だしたメインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０の故障ポテンシャル実施経験情報から、今回の故障ポテンシャルの診断対象マイクロコンピュータを決定し、被測定マイクロコンピュータとする。たとえば、前回の故障ポテンシャル診断で、メインマイクロコンピュータ１１０内蔵のメインＣＰＵ１１１とサブＣＰＵ１１２の故障ポテンシャルを診断した場合、今回の故障ポテンシャル診断では、サブマイクロコンピュータ１２０内蔵のメインＣＰＵ１２１およびサブＣＰＵ１２２を診断対象とする。上記のように、本例では、セルフシャット処理実施毎に診断するマイクロコンピュータを切り替えているのは、診断対象マイクロコンピュータ内蔵のメインＣＰＵおよびサブＣＰＵを停止状態（スタンバイ状態）とする必要があるためである。詳細は、図９Ａの説明にて記載する。本例では、被測定マイクロコンピュータをメインマイクロコンピュータ１１０として、メインマイクロコンピュータ１１０に内蔵されるメインＣＰＵ１１１とサブＣＰＵ１１２の故障ポテンシャルを診断するものとして記載する。【００８９】
（ステップＳ１０４）
被測定マイクロコンピュータ１１０のメインＣＰＵ１１１及びサブＣＰＵ１１２の温度を推定するため、メインマイクロコンピュータ１１０に内蔵されている温度センサ１１５からメインマイクロコンピュータ１１０の温度を測定する。本例では、メインマイクロコンピュータ１１０に内蔵されている温度センサ１１５を使用しているが、温度センサは、車両制御装置１００に搭載されている温度センサ１７０を使用してもよい。また、外界の温度状態や車両制御装置１００の運転時間による推定温度値を使用してもよい。【００９０】
（ステップＳ１０５）
被測定マイクロコンピュータ１１０のメインＣＰＵ１１１及びサブＣＰＵ１１２は、ステップＳ１０４で取得したメインマイクロコンピュータ１１０の温度情報から、温度によるＣＰＵ１１１，１１２のリーク電流Ｉｌｅａｋ２の値の変化を補正するために、リーク電流の温度補正マップＴＣＭからリーク電流の温度補正値Ｉｃｖを算出する。リーク電流の温度補正マップＴＣＭは被測定マイクロコンピュータの種別毎に事前に規定する。リーク電流の温度補正マップＴＣＭは、図７に示されるように、メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０が備えるＲＯＭ１１４，１２４にあらかじめ格納しておくことができる。【００９１】
（ステップＳ１０６）
ステップＳ１０５で算出したリーク電流の温度補正値Ｉｃｖをサブマイクロコンピュータ１２０に通知する。【００９２】
（ステップＳ１０７）
被測定マイクロコンピュータ１１０のメインＣＰＵ１１１及びサブＣＰＵ１１２を、停止状態（スタンバイ状態）に移行させ、以降の演算はサブマイクロコンピュータ１２０を使用してする。【００９３】
（ステップＳ１０８）
被測定マイクロコンピュータ１１０がスタンバイ状態モードに移行完了するまで待機する。移行完了の判定は規定時間、または被測定マイクロコンピュータ１１０の出力がＯＦＦとなったことをもって判断する。【００９４】
（ステップＳ１０９）
サブマイクロコンピュータ１２０は、メイン電流測定部１５０及びサブ電流測定部１６０にて、被測定マイクロコンピュータ１１０のメインＣＰＵ１１１及びサブＣＰＵ１１２の現在のリーク電流値（Ｉｌｅａｋ２（１１１）、Ｉｌｅａｋ２（１１２））を計測する。【００９５】
（ステップＳ１１０）
サブマイクロコンピュータ１２０は、メインＣＰＵ１１１及びサブＣＰＵ１１２それぞれについて、ステップＳ１０１で取得した製造時のリーク電流（Ｉｌｅａｋ１）とステップＳ１０９で取得した現在のリーク電流（Ｉｌｅａｋ２（１１１）、Ｉｌｅａｋ２（１１２））とステップＳ１０６で取得したリーク電流温度補正値（Ｉｃｖ）から診断用リーク電流値（ΔＩｌｅａｋｃ(１１１)、ΔＩｌｅａｋｃ（１１２））を算出する。すなわち、図７の計算プログラムＬＣＣＰＲＯＧが実行され、図６で説明されたリーク電流値の補正のための計算が実行される。【００９６】
（ステップＳ１１１）
サブマイクロコンピュータ１２０は、メインＣＰＵ１１１及びサブＣＰＵ１１２それぞれについて、診断用リーク電流値（ΔＩｌｅａｋｃ(１１１)、 ΔＩｌｅａｋｃ（１１２））が、しきい値（ＴＨ）以下であるか否かを判定する。メインＣＰＵ１１１及びサブＣＰＵ１１２どちらの診断用リーク電流値（ΔＩｌｅａｋｃ(１１１)、 ΔＩｌｅａｋｃ（１１２））も、しきい値（ＴＨ）を下回る場合は、メインＣＰＵ１１１及びサブＣＰＵ１１２は正常であると判断して、ステップＳ１１３に進む。診断用リーク電流値（ΔＩｌｅａｋｃ(１１１)、 ΔＩｌｅａｋｃ（１１２））がしきい値（ＨＴ）を上回る場合は、故障ポテンシャル有りとしてステップＳ１１２に進む。しきい値（ＴＨ）は、図７に示されるように、メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０が備えるＲＯＭ１１４，１２４などにあらかじめ格納しておくことができる。【００９７】
（ステップＳ１１２）
サブマイクロコンピュータ１２０は、ステップＳ１１１にて故障ポテンシャル有りと判断した結果を、判断結果ＤＲｅｓｕｌｔ（１１１）、ＤＲｅｓｕｌｔ（１１２）として、サブマイクロコンピュータ１２０内の記憶領域（ＲＯＭ１２４）に格納する。【００９８】
（ステップＳ１１３）
サブマイクロコンピュータ１２０は、サブマイクロコンピュータ１２０内の記憶領域（ＲＯＭ１２４）に、故障ポテンシャル診断の実施経験情報（ＤＨｉｓｔ）を格納する。故障ポテンシャル実施経験情報（ＤＨｉｓｔ）は、ステップＳ１０１で記憶領域（ＲＯＭ１１４、１２４）から読み出され、ステップ１０３の故障ポテンシャル診断の対象マイクロコンピュータを決定する情報として使用する。【００９９】
（故障ポテンシャル診断の実施タイミング）
図９Ａは、実施例１に係る故障ポテンシャル診断の実施のタイミングを説明する図である。図９Ａは、図８Ａのステップ１０３で説明された様に、車両制御装置１００のシャットダウン毎に、故障ポテンシャルの診断対象マイクロコンピュータが切り替えられることを説明する図である。すなわち、例えば、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０が通常制御を実施しており、その後、電源信号２００がオフされたものとする。この場合、第１回目のシャットダウンとして、電源信号２００がオフされた後にセルフシャット処理へ移行する。セルフシャット処理が実施され、セルフシャット処理が全て完了した後、メインマイクロコンピュータ１１０がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ１２０がスタンバイ状態のメインマイクロコンピュータ１１０に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断の実施後に、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０がシャットオフされる。【０１００】
一方、例えば、２回目のシャットダウン時には、セルフシャット処理が全て完了した後、サブマイクロコンピュータ１２０がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ１１０がスタンバイ状態のサブマイクロコンピュータ１２０に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断の実施後に、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０がシャットオフされる。【０１０１】
以上の様に、シャットオフ毎に診断対象のマイクロコンピュータを切り替えることにより、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の各々の故障ポテンシャル診断を、均一に行うことが可能である。【０１０２】
（実施タイミングの変形例１）
図９Ｂは、故障ポテンシャル診断の実施タイミングの変形例１を説明する図である。図９Ａでは、シャットオフ毎に診断対象のマイクロコンピュータを切り替える例を示した。
図９Ｂでは、電源信号２００がオフされた後にセルフシャット処理へ移行し、その後、セルフシャット処理が実施され、セルフシャット処理が全て完了した後、メインマイクロコンピュータ１１０がスタンバイ状態とされて、サブマイクロコンピュータ１２０がスタンバイ状態のメインマイクロコンピュータ１１０に対して故障ポテンシャル診断を実施する。その後、サブマイクロコンピュータ１２０がスタンバイ状態とされて、メインマイクロコンピュータ１１０がスタンバイ状態のサブマイクロコンピュータ１２０に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断を実施する。【０１０３】
このような故障ポテンシャル診断の実施タイミングでも、より短い時間間隔で、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の両方の故障ポテンシャルの判断を行うことが可能である。【０１０４】
（実施タイミングの変形例２）
図９Ｃは、故障ポテンシャル診断の実施タイミングの変形例２を説明する図である。図９Ａおよび図９Ｂでは、電源信号２００がオフされた後、故障ポテンシャル診断が実施される例を示した。図９Ｃでは、電源信号２００がオンされた後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の起動毎に、故障ポテンシャルの診断対象のマイクロコンピュータが切り替えられ、故障ポテンシャル診断が実施される例を示している。すなわち、例えば、電源信号２００が第１回目にオンされた後、サブマイクロコンピュータ１２０がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ１１０がスタンバイ状態のサブマイクロコンピュータ１２０に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０がリセットされる。この例では、メインマイクロコンピュータ１１０は、サブマイクロコンピュータ１２０がリセットの完了まで待機（ｗａｉｔ）状態とされ、その後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の同期がとられ、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０が通常制御に移行する。【０１０５】
次に、図示されないが、電源信号２００が第２回目にオンされた後、メインマイクロコンピュータ１１０がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ１２０がスタンバイ状態のメインマイクロコンピュータ１１０に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０がリセットされ、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の同期がとられ、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０が通常制御に移行する。【０１０６】
このような故障ポテンシャル診断の実施タイミングでも、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の故障ポテンシャルを診断することが出来る。【０１０７】
（実施タイミングの変形例３）
図９Ｄは、故障ポテンシャル診断の実施タイミングの変形例３を説明する図である。図９Ｃでは、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の起動毎に、故障ポテンシャルの診断対象のマイクロコンピュータが切り替えられ、故障ポテンシャル診断が実施される例を示した。図９Ｄでは、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の起動毎に、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の両方の故障ポテンシャルを診断実施する例を示している。すなわち、電源信号２００が第１回目にオンされた後、サブマイクロコンピュータ１２０がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ１１０がスタンバイ状態のサブマイクロコンピュータ１２０に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０がリセットされ、メインマイクロコンピュータ１１０がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ１２０がスタンバイ状態のメインマイクロコンピュータ１１０に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の同期がとられ、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０が通常制御に移行する。【０１０８】
（実施タイミングの変形例４）
故障ポテンシャル診断の実施タイミングとしては、図９Ｃに示された実施タイミングと、図９Ａに示された実施タイミングと、を組み合わせでもよい。すなわち、起動時（電源信号２００がオン）に、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の一方の故障ポテンシャル診断を実施し、シャットオフ時（電源信号２００がオフ）に、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０の他方の故障ポテンシャル診断を実施する。起動毎またはシャットオフ時毎に、診断対象のマイクロコンピュータが切り替えされる。【０１０９】
なお、図９Ｂと図９Ｄとを組み合わせて、故障ポテンシャル診断を実施しても、もちろんよい。【０１１０】
（故障ポテンシャル診断結果を用いた制御手順）
図１０は、実施例１に係る制御手順を説明する図である。図１０は、車両制御装置１００において、メインＣＰＵ１１１とサブＣＰＵ１１２の出力が比較器１１６で照合不一致となったとき、故障ポテンシャル診断結果を利用して、故障していないＣＰＵ情報を使用するための手段を説明するフローチャートの一例である。このフローチャートは、図７の制御プログラムＣＮＴＰＲＯＧに対応するものである。【０１１１】
（ステップＳ３００）
メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０は、電源が投入されたことを示す電源信号２００を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源ＩＣ１３０とサブ電源ＩＣ１４０はそれぞれ電源信号２００に従って電力供給を開始済みであるものとする。以下は、一例として、メインマイクロコンピュータ１１０の動作について記載する。なお、図１において説明された様に、サブマイクロコンピュータ１２０は、メインマイクロコンピュータ１１０の起動時に、診断結果(ＤＲｅｓｕｌｔ（１１１）、ＤＲｅｓｕｌｔ（１１２）)の情報をメインマイクロコンピュータ１１０へ通知しており、また、メインマイクロコンピュータ１１０は、サブマイクロコンピュータ１２０の起動時に、診断結果(ＤＲｅｓｕｌｔ（１２１）、ＤＲｅｓｕｌｔ（１２２）)の情報をサブマイクロコンピュータ１２０へ通知しているものとする。【０１１２】
（ステップＳ３０１）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２と、それぞれの出力結果を比較する比較器１１６を備えており、比較器１１６での照合結果が一致するか否かを判定する。比較器１１６の照合結果が一致する場合は、ＣＰＵ故障無しとしてステップＳ３０２に進む。比較器１１６の照合結果が不一致の場合は、ＣＰＵ故障有りとしてステップＳ３０３に進む。【０１１３】
（ステップＳ３０２）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２に故障が無いと判定し、メインＣＰＵ１１１の出力信号を使用する。または、サブＣＰＵ１１２の出力値を使用してもよい。【０１１４】
（ステップＳ３０３）
メインマイクロコンピュータ１１０は、ステップＳ１１２で格納したメインＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が、正常か否かを判定する。メインＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が正常の場合、ステップＳ３０４に進む。メインＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が異常の場合は、ステップＳ３０７に進む。【０１１５】
（ステップＳ３０４）
メインマイクロコンピュータ１１０は、ステップＳ１１２で格納したサブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１２））が、正常か否かを判定する。
サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１２））が正常の場合、ステップＳ３０５に進む。サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１２））が異常の場合は、ステップＳ３０６に進む。【０１１６】
（ステップＳ３０５）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２以外に故障があると判断し、車両制御用アクチュエータ２０２を停止させるなどのフェールセーフ処理に移行する。【０１１７】
（ステップＳ３０６）
メインマイクロコンピュータ１１０は、サブＣＰＵ１１２に故障があるものの、メインＣＰＵ１１１は正常であると判断し、メインＣＰＵ１１１の出力信号を使用して通常処理（車両の通常制御の動作）を継続する。【０１１８】
（ステップＳ３０７）
ステップＳ３０７はステップＳ３０４と同様の判定を実施する。サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１２））が正常の場合、ステップＳ３０８に進む。サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１２））が異常の場合は、ステップＳ３０９に進む。【０１１９】
（ステップＳ３０８）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１に故障があるものの、サブＣＰＵ１１２は正常であると判断し、サブＣＰＵ１１２の出力信号を使用して通常処理（車両の通常制御の動作）を継続する。【０１２０】
（ステップＳ３０９）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２どちらにも故障ポテンシャルがあると判断し、車両制御用アクチュエータ２０２を停止させるなどのフェールセーフ処理に移行する。【０１２１】
（ステップＳ３１０）
メインマイクロコンピュータ１１０は、比較器１１６の照合不一致の情報を、ＣＰＵ故障情報として、他ユニットに通知する。また、ステップＳ３０５またはステップＳ３０９に移行したときのみ、ＣＰＵ故障情報を他ユニットに通知するとしてもよい。【０１２２】
以上により、ＣＰＵの故障発生時、または、ＣＰＵの異常発生時において、故障していない正常なＣＰＵを特定することが可能であり、また、故障していない正常なＣＰＵを有効利用することで、運転性能を維持可能な車両制御装置１００を提供することが出来る。【０１２３】
実施例１によれば、マイクロコンピュータ（１１０，１２０）に内蔵されるＣＰＵ（１１１，１１２，１２１，１２２）において、製造時に混入した異物や経年劣化よって生じるＣＰＵの故障ポテンシャルを判断することにより、ＣＰＵの故障を、できる限り早期の段階で検出することができる。また、ＣＰＵの故障発生時、または、ＣＰＵの異常発生時において、故障していない正常なＣＰＵを特定することが可能であり、故障していない正常なＣＰＵを有効利用することで、運転性能を維持可能な車両制御装置１００を提供することが出来る。【０１２４】
実施例１によれば、ＣＰＵ（１１１、１１２、１２１、１２２）に電源を供給している電源供給ライン（接続線：Ｌ１、Ｌ２、Ｌ３、Ｌ４）を流れるＣＰＵの電流(リーク電流)の値が、電流測定部（電流検出部：１５０、１６０、１５２、１６２）を利用して検出および測定される。これにより、測定されたリーク電流の値ないし量からトランジスタの劣化状態を判断することができる。つまり、測定されたリーク電流の値ないし量によって、ＣＰＵの故障ポテンシャルを判断することができる。【０１２５】
実施例１において、ＣＰＵの電流(リーク電流)の値の測定は、駆動状態のＣＰＵを用いて、スタンバイ状態のＣＰＵに電源を供給している電源供給ラインに流れる電流を測定する。ＣＰＵが駆動状態のときにおいて、ＣＰＵの電源供給ラインを流れる電流はＣＰＵのリーク電流成分とＣＰＵの駆動電流成分とを含んでいる。被測定ＣＰＵをスタンバイ状態とすることにより、ＣＰＵの駆動電流成分を除いて、ＣＰＵのリーク電流成分（Ｉｌｅａｋ２）のみを測定することが出来る。【０１２６】
故障ポテンシャル診断用のＣＰＵリーク電流（Ｉｌｅａｋ２）は、マイクロコンピュータまたはＣＰＵの製造ばらつきと、マイクロコンピュータまたはＣＰＵの温度変化によるばらつきと、を含んでいる。これらリーク電流のばらつき要素を排除して、トランジスタ劣化によるＣＰＵリーク電流の増加分のみを抽出するため、測定した故障ポテンシャル診断用のＣＰＵリーク電流の値の補正を行う。補正の対象は、マイクロコンピュータまたはＣＰＵの製造ばらつきによるリーク電流ばらつきの補正と、温度変化によるリーク電流ばらつきの補正との２つの補正である。【０１２７】
マイクロコンピュータまたはＣＰＵの製造ばらつきによるリーク電流ばらつきを補正する方法は、マイクロコンピュータまたはＣＰＵ製造時に故障ポテンシャル診断用のＣＰＵリーク電流値（Ｉｌｅａｋ１）を計測し、マイクロコンピュータの記憶領域（ＲＯＭ：１１４、１２４）にＣＰＵ製造時のリーク電流値として記憶させる。現在の故障ポテンシャル診断用のＣＰＵリーク電流値（Ｉｌｅａｋ２）からマイクロコンピュータまたはＣＰＵ製造時のリーク電流値（Ｉｌｅａｋ１）を減算することで、マイクロコンピュータまたはＣＰＵ製造時から現在に至るまでのリーク電流の増加分（ΔＩｌｅａｋ）を抽出することができる。【０１２８】
温度によるリーク電流の変化の補正は、あらかじめＣＰＵの温度とＣＰＵのリーク電流の相関マップ（ＴＣＭ）を用意することで、可能である。マイクロコンピュータまたはＣＰＵの温度は、マイクロコンピュータに内蔵している温度センサ（ＴＳＥＮ：１１５，１２５）によりマイクロコンピュータまたはＣＰＵの温度の測定し、測定したＣＰＵの温度とＣＰＵリーク電流の相関マップないし温度変化マップ（ＴＣＭ）から、温度によるＣＰＵリーク電流の変化量（Ｉｃｖ）を算出する。【０１２９】
温度補正前のＣＰＵリーク電流増加量（ΔＩｌｅａｋ）と、相関マップ（ＴＣＭ）を利用した温度によるＣＰＵリーク電流の変化量（Ｉｃｖ）とを用いて、温度補正後のＣＰＵリーク電流増加量（ΔＩｌｅａｋｃ）が算出される。温度補正後のＣＰＵリーク電流の増加量（ΔＩｌｅａｋｃ）が、あらかじめ規定した故障ポテンシャルを有すると判断する電流の増加量（ΔＩｌｅａｋｃ）の判定閾値（ＴＨ）よりも大きい場合、ＣＰＵは、完全に故障していないものの、将来、故障となるポテンシャルを有していると判断する。【０１３０】
これにより、現時点ではＣＰＵは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。すなわち、ＣＰＵの故障ポテンシャル診断の結果から、故障したＣＰＵを特定することができるので、ＣＰＵの故障発生時において、故障していない正常なＣＰＵを使って、車両制御を縮退させることなく、車両の走行性能を維持することができる。【０１３１】
リーク電流の測定とＣＰＵ故障ポテンシャル診断は、少なくとも１つのＣＰＵをスタンバイ状態とするために、車両制御装置の起動時またはシャットダウン時に実施することが有効である。また、起動時毎やシャットダウン毎に、診断するＣＰＵの組み合わせを変えてもよい(図９Ａ、図９Ｂ，図９Ｃ，図９Ｄを参照)。
【実施例２】
【０１３２】
図１１は、実施例２に係る車両制御装置システムを示す図である。図１１に示される車両制御装置システム１ａは、図１と同様に、電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）である車両制御装置１００ａを有する。車両制御装置１００ａは、車両が搭載する車載機器（例えば、自動変速機、エンジンなど）を電子的に制御する装置である。図１１の車両制御装置１００ａは、図１の車両制御装置１００と比較して、メインマイクロコンピュータ１１０内の比較器１１６およびサブマイクロコンピュータ１２０内の比較器１２６を排除した構成となっている。車両制御装置１００ａのメインマイクロコンピュータ１１０は、メインＣＰＵ１１１とサブＣＰＵ１１２で別の制御を同時実行する並列処理型の方式とする。上記以外は車両制御装置１００と同じため、その説明は省略する。【０１３３】
図１２は、実施例２に係る制御手順を説明する図である。実施例２の制御手順では、車両制御装置１００ａにおいて、故障ポテンシャル診断の結果が正常か否かを判定し、異常時は本来実施していた制御機能を縮退させる。これにより、完全にＣＰＵが故障するまでの期間を延長させるとともに、完全にＣＰＵが故障しても、車両制御装置１００ａが本来もつ機能を維持させることが出来る。【０１３４】
（ステップＳ４００）
メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０は、電源が投入されたことを示す電源信号２００を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源ＩＣ１３０とサブ電源ＩＣ１４０はそれぞれ電源信号２００に従って電力供給を開始済みであるものとする。以下は、一例として、メインマイクロコンピュータ１１０の動作について記載する。また、故障ポテンシャル診断は、前述通りであり、同様のため、その説明は省略する。【０１３５】
（ステップＳ４０１）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２の故障ポテンシャル診断の実施経験（ＤＨｉｓｔ）があるか否かを判定する。故障ポテンシャル診断の実施経験（ＤＨｉｓｔ）が無い場合は、制御終了し、実施経験（ＤＨｉｓｔ）がある場合は、ステップＳ４０２に進む。【０１３６】
（ステップＳ４０２）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１１））が正常か否かを判定する。メインＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１１））が正常の場合、ステップＳ４０３に進む。故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１１））が異常の場合、ステップＳ４０７へ進む。【０１３７】
（ステップＳ４０３）
メインマイクロコンピュータ１１０は、サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１２））が正常か否かを判定する。サブＣＰＵ１１２の故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１２））が正常の場合、ステップＳ４０４に進む。故障ポテンシャル診断結果（ＤＲｓｕｌｔ（１１２））が異常の場合、ステップＳ４０５へ進む。【０１３８】
（ステップＳ４０４）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２のどちらにも故障ポテンシャルが無いと判断し、通常タスク動作設定に従う通常動作を継続させる。【０１３９】
（ステップＳ４０５、ステップＳ４０６）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１に故障ポテンシャル無し、サブＣＰＵ１１２に故障ポテンシャル有りと判断する。そして、サブＣＰＵ１１２の制御タスクに割り当てられていた機能（タスクＤ）を縮小し、サブＣＰＵ１１２の演算負荷を低下させる。これにより、サブＣＰＵ１１２が完全に故障するまでの時間を延長させる。同時に、ステップＳ４０６で、メインＣＰＵ１１１の制御タスクに割り当てられていた機能（タスクＤ）を拡張させる。結果として、メインＣＰＵ１１１とサブＣＰＵ１１２の演算の分担割合が変化するものの、車両制御装置１００ａのトータルで演算される制御タスクは変わらない状況を作り出すことが可能となる。ただし、メインＣＰＵ１１１の演算負荷限界を超える機能は、メインＣＰＵ１１１に割り当てることはできないことから、メインＣＰＵ１１１に割り当てる機能と、サブＣＰＵ１１２から縮小させる機能は、あらかじめ決定しておく必要がある。図１３に、サブＣＰＵ１１２の故障ポテンシャルが高いことを検知したときの制御タスクの割り当て変更の一例を示す、詳細は図１３の説明に記す。【０１４０】
（ステップＳ４０７）
ステップＳ４０３と同様のため省略する。【０１４１】
（ステップＳ４０８、ステップＳ４０９）
ステップＳ４０５、ステップＳ４０６と同様の手段とし、メインＣＰＵ１１１の制御タスクの機能（タスク）を縮小し、サブＣＰＵ１１２の制御タスクの機能（タスク）を拡張させる。【０１４２】
（ステップＳ４１０）
メインマイクロコンピュータ１１０は、メインＣＰＵ１１１及びサブＣＰＵ１１２のどちらにも故障ポテンシャルがあると判断し、通常タスク動作設定に従う通常動作を継続させる。なお、ここでいう通常タスク動作設定とは、タスク変更を実施しない通常動作のためのタスク設定の意味合いである。【０１４３】
（制御タスクの割り当て変更の一例）
図１３は、実施例２に係る制御タスクの割り当て変更の一例を説明する図である。図１３は、サブＣＰＵ１１２の故障ポテンシャルが高いことを検知したときの制御タスクの割り当て変更の一例である。図１２の故障ポテンシャル診断によって、メインＣＰＵ１１１及びサブＣＰＵ１１２に故障ポテンシャルが無く、ＣＰＵが正常な状態では、図１３の（Ａ）に示す様に、メインＣＰＵ１１１は、定時処理としてタスクＡとタスクＢを実行し、空き時間でバックグラウンドジョブ(以下、ＢＧＪ)１を実行する。一方、サブＣＰＵ１１２は定時処理としてタスクＣとタスクＤを実行し、空き時間でＢＧＪ２を実行する。【０１４４】
ここで、図１２の故障ポテンシャル診断によって、サブＣＰＵ１１２に故障ポテンシャル有りと判定された場合、図１３の（Ｂ）に示す様に、サブＣＰＵ１１２のタスクＤをメインＣＰＵ１１１に割り当てるという一例を示している。メインＣＰＵ１１１は、タスクＡとタスクＢと拡張されたタスクＤとを実行し、空き時間でバックグラウンドジョブ(以下、ＢＧＪ)１を実行する。一方、サブＣＰＵ１１２はタスクＣを実行し、空き時間でＢＧＪ２を実行する。すなわち、サブＣＰＵ１１２で実行されていたタスクＤが、メインＣＰＵ１１１へ譲渡された状態である。【０１４５】
図１２の故障ポテンシャル診断は電源信号２００がオフされた後に実施され、タスク割り当て変更は車両のキーオンにより車両制御装置１００ａが起動した際に実施される。このため、通常制御中のタスク割り当て変更による制御の急変による車両挙動への影響は無い。【０１４６】
また、サブＣＰＵ１１２は、タスクＤの機能をメインＣＰＵ１１１に割り当てて、演算負荷を下げたとはいえ、故障ポテンシャルが高い状態であることは変わらない。サブＣＰＵ１１２が完全に故障した際は、タスクＣ機能、ＢＧＪ２は失われることになるため、予め失われても車両走行に影響のない機能を割り当てるのが良い。この場合、サブＣＰＵ１１２が完全に故障したとしても、車両は安全に走行を継続することができるからである。【０１４７】
なお、図１３の（Ａ）のタスク実行状態から、図１３の（Ｂ）のタスク実行状態からへ変更する場合には、図１３の（Ａ）のタスク実行状態を定義する通常タスク動作設定と、図１３の（Ｂ）のタスク実行状態を定義する異常時タスク動作設定１とを、例えば、メインマイクロコンピュータ１１０のＲＯＭ１１４の記憶領域に格納する。メインＣＰＵ１１１及びサブＣＰＵ１１２に故障ポテンシャルが無く、ＣＰＵ１１１，１１２が正常な状態では、通常タスク動作設定を実行する様にする。一方、サブＣＰＵ１１２に故障ポテンシャルが有ると判定された場合、通常タスク動作設定から、異常時タスク動作設定へ変更する。この通常タスク動作設定から異常時タスク動作設定１への変更は、前述の様に、車両のキーオンにより車両制御装置１００ａが起動した際に変更するようにする。【０１４８】
なお、メインＣＰＵ１１１に故障ポテンシャルが有ると判定された場合には、上記と同様な思想により、例えば、メインＣＰＵ１１１で実行されていたタスクＢを、サブＣＰＵ１１２へ譲渡する様な、タスクの変更を行うことが出来る。この場合、メインＣＰＵ１１１に故障ポテンシャルが有ると判定された場合に利用される異常時タスク動作設定２を、通常タスク動作設定、異常時タスク動作設定１の他に、設ければよい。この異常時タスク動作設定２は、メインマイクロコンピュータ１１０のＲＯＭ１１４の記憶領域に、通常タスク動作設定、異常時タスク動作設定１とともに格納すればよい。【０１４９】
実施例２によれば、故障ポテンシャルが高いＣＰＵ（１１２）が完全に故障する前に、故障ポテンシャルが高いＣＰＵ（１１２）が受け持つ演算制御（タスクＤ）を他のＣＰＵ（１１１）に譲渡し、車両制御装置（１００ａ）が持つ機能を縮退させることなく、自動車の運転者にＣＰＵ故障を通知することができるため、安全かつスムーズに自動車を修理するための移動を行うことができる。【０１５０】
また、実施例２によれば、ＣＰＵ（１１２）が完全に故障したとき、故障を検知するまでの故障検知ディレイ時間においても、正常なＣＰＵ（１１１）を使用できる。このため、車両制御装置（１００ａ）の有する本来の運転性能を犠牲にすることが無く、エンジンやトランスミッション等のアクチュエータが急停止や誤作動し、車両が意図しない挙動をすることを防ぐことができる。【０１５１】
また、実施例２によれば、ＣＰＵ（１１２）が完全に故障する前に、あらかじめ故障ポテンシャルの高いＣＰＵ（１１２）で演算するタスク（Ｄ）を縮退させる。これにより、ＣＰＵ（１１２）の演算負荷を下げることかできので、ＣＰＵ（１１２）が完全に故障するまでの期間を延長することができる。
【実施例３】
【０１５２】
図１４は、実施例３に係る車両制御装置システムを示す図である。図１４に示される車両制御装置システム１ｂは、図１と同様に、電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）である車両制御装置１００ｂを有する。車両制御装置１００ｂは、車両が搭載する車載機器（例えば、自動変速機、エンジンなど）を電子的に制御する装置である。図１４の車両制御装置１００ｂは、図１の車両制御装置１００と比較して、メインマイクロコンピュータ１１０はＣＰＵ１１１のみ有し、サブマイクロコンピュータ１２０はＣＰＵ１２１のみ有する。この変更に伴い、電流測定部ＳＣＭ１６０，１６２が削除されている。また、メインマイクロコンピュータ１１０内の比較器１１６およびサブマイクロコンピュータ１２０内の比較器１２６が削除されている。比較器１１６，１２６の代わりとして、比較器としての機能を有する信号照合部ＣＯＭＰｂが、メインマイクロコンピュータ１１０およびサブマイクロコンピュータ１２０とは別の半導体集積回路装置として、車両制御装置１００ｂに設けられる。他の構成は、実施例１と同様であり、その説明は省略される。【０１５３】
信号照合部ＣＯＭＰｂは、メインマイクロコンピュータ（第１マイクロコンピュータ）１１０またはＣＰＵ（第１ＣＰＵ）１１１の出力信号Ｓｍｍｃとサブマイクロコンピュータ（第２マイクロコンピュータ）１２０またはＣＰＵ(第２ＣＰＵ)１２１の出力信号Ｓｓｍｃとが一致しているか否かを比較する。出力信号Ｓｍｍｃと出力信号Ｓｓｍｃとが一致の場合、例えば、メインマイクロコンピュータ１１０の出力信号Ｓｍｍｃが利用されて、信号照合部ＣＯＭＰｂは、信号照合部ＣＯＭＰｂに接続されるアクチュエータ（ＡＣＵ）２０２や信号照合部ＣＯＭＰｂにＣＡＮバス（ＣＡＮ  ｂｕｓ）を介して接続される表示装置２０３および電動パワーステアリング装置（ＥＰＳ）２０４を駆動する。【０１５４】
信号照合部ＣＯＭＰｂは、また、メインマイクロコンピュータ１１０から故障ポテンシャルの診断結果ＤＲｅｓｕｌｔ（１２１）とサブマイクロコンピュータ１２０から故障ポテンシャルの診断結果ＤＲｅｓｕｌｔ（１１１）とを受けるようにされており、これら診断信号ＤＲｅｓｕｌｔ（１２１）、ＤＲｅｓｕｌｔ（１１１）に従って、図１５で説明される故障ポテンシャル診断結果を用いた制御手順が実行される。【０１５５】
図１５は、実施例３に係る制御手順を説明する図である。以下、図１５を用いて、実施例３の制御手順を説明する。【０１５６】
（ステップＳ５００）
メインマイクロコンピュータ１１０及びサブマイクロコンピュータ１２０は、電源が投入されたことを示す電源信号２００を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源ＩＣ１３０とサブ電源ＩＣ１４０はそれぞれ電源信号２００に従って電力供給を開始済みであるものとする。【０１５７】
（ステップＳ５０１）
信号照合部ＣＯＭＰｂは、メインマイクロコンピュータ１１０の出力信号Ｓｍｍｃとサブマイクロコンピュータ１２０の出力信号Ｓｓｍｃとが一致しているか否かを比較し、照合結果が一致するか否かを判定する。信号照合部ＣＯＭＰｂの照合結果が一致する場合（ＹＥＳ）は、ＣＰＵ故障無しとしてステップＳ５０２に進む。信号照合部ＣＯＭＰｂの照合結果が不一致（ＮＯ）の場合は、ＣＰＵ故障有りとしてステップＳ５０３に進む。【０１５８】
（ステップＳ５０２）
信号照合部ＣＯＭＰｂは、メインマイクロコンピュータ１１０のＣＰＵ１１１に故障が無いと判定し、メインマイクロコンピュータ１１０の出力信号Ｓｍｍｃをそのまま使用する。または、サブマイクロコンピュータ１２０のＣＰＵ１２１に故障が無いと判定し、サブマイクロコンピュータ１２０の出力信号Ｓｓｍｃを使用してもよい。【０１５９】
（ステップＳ５０３）
信号照合部ＣＯＭＰｂは、ステップＳ１１２で格納したＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が、正常か否かを判定する。ＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が正常の場合、ステップＳ５０４に進む。ＣＰＵ１１１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１１１））が異常の場合は、ステップＳ５０７に進む。【０１６０】
（ステップＳ５０４）
信号照合部ＣＯＭＰｂは、ステップＳ１１２で格納したサブマイクロコンピュータ１２０のＣＰＵ１２１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１２１））が、正常か否かを判定する。ＣＰＵ１２１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１２１））が正常の場合、ステップＳ５０５に進む。ＣＰＵ１２１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１２１））が異常の場合は、ステップＳ５０６に進む。【０１６１】
（ステップＳ５０５）
メインマイクロコンピュータ１１０のＣＰＵ１１１及びサブマイクロコンピュータ１２０のＣＰＵ１２１以外に故障があると判断し、車両制御用アクチュエータ２０２を停止させるなどのフェールセーフ処理に移行する。【０１６２】
（ステップＳ５０６）
信号照合部ＣＯＭＰｂは、サブマイクロコンピュータ１２０のＣＰＵ１２１に故障があるものの、メインマイクロコンピュータ１１０のＣＰＵ１１１は正常であると判断し、メインマイクロコンピュータ１１０の出力信号Ｓｍｍｃを使用して通常処理（車両の通常制御の動作）を継続する。【０１６３】
（ステップＳ５０７）
ステップＳ５０７はステップＳ５０４と同様の判定を実施する。ＣＰＵ１２１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１２１））が正常の場合、ステップＳ５０８に進む。ＣＰＵ１２１の故障ポテンシャル診断結果（ＤＲｅｓｕｌｔ（１２１））が異常の場合は、ステップＳ５０９に進む。【０１６４】
（ステップＳ５０８）
信号照合部ＣＯＭＰｂは、メインマイクロコンピュータ１１０のＣＰＵ１１１に故障があるものの、サブマイクロコンピュータ１２０のＣＰＵ１２１は正常であると判断し、メインマイクロコンピュータ１１０の出力信号Ｓｓｃｍを使用して通常処理（車両の通常制御の動作）を継続する。【０１６５】
（ステップＳ５０９）
信号照合部ＣＯＭＰｂは、メインマイクロコンピュータ１１０のＣＰＵ１１１及びサブマイクロコンピュータ１２０のＣＰＵ１２１どちらにも故障ポテンシャルがあると判断し、車両制御用アクチュエータ２０２を停止させるなどの安全状態に遷移し、フェールセーフ処理に移行する。【０１６６】
なお、信号照合部ＣＯＭＰｂは、照合不一致の情報をＣＰＵ故障情報として、他ユニットに通知しても良い。また、ステップＳ５０５またはステップＳ５０９に移行したときのみ、ＣＰＵ故障情報を他ユニットに通知するとしてもよい。【０１６７】
実施例３によれば、実施例１と同様な効果を得る事が可能であり、現時点ではＣＰＵは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。【０１６８】
ＣＰＵ故障ポテンシャル診断の結果から、故障したＣＰＵを特定することができるので、ＣＰＵの故障発生時やＣＰＵの異常発生時において、故障していない正常なＣＰＵを有効に利用して、車両制御を縮退させることなく、運転性能を維持可能な車両制御装置（１００ｂ）を提供することが出来る。【０１６９】
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【０１７０】
１００：車両制御装置１１０：メインマイクロコンピュータ（ＭＭＣ）１１１：メインＣＰＵ（ＭＣＰＵ）１１２：サブＣＰＵ（ＳＣＰＵ）１１３：ＲＡＭ１１４：ＲＯＭ１１５：温度センサ（ＴＳＥＮ）１１６：比較器（ＣＯＭＰ）１２０：サブマイクロコンピュータ（ＳＭＣ）１３０：メイン電源ＩＣ（ＭＰＳＰ）１４０：サブ電源ＩＣ（ＳＰＳＰ）１５０：メインＣＰＵ電流測定部（ＭＣＭ）１６０：サブＣＰＵ電流測定部（ＳＣＭ）２００：電源信号（ＰＳ）２０１：バッテリ（ＢＡＴ）２０２：アクチュエータ（ＡＣＵ）２０３：表示装置（ＤＩＳＰ）Ｌ１，Ｌ２，Ｌ３，Ｌ４：接続線
【図１】
2019082647.tif 000003
【図２】
2019082647.tif 000004
【図３】
2019082647.tif 000005
【図４】
2019082647.tif 000006
【図５】
2019082647.tif 000007
【図６】
2019082647.tif 000008
【図７】
2019082647.tif 000009
【図８Ａ】
2019082647.tif 000010
【図８Ｂ】
2019082647.tif 000011
【図９Ａ】
2019082647.tif 000012
【図９Ｂ】
2019082647.tif 000013
【図９Ｃ】
2019082647.tif 000014
【図９Ｄ】
2019082647.tif 000015
【図１０】
2019082647.tif 000016
【図１１】
2019082647.tif 000017
【図１２】
2019082647.tif 000018
【図１３】
2019082647.tif 000019
【図１４】
2019082647.tif 000020
【図１５】
2019082647.tif 000021
【国際調査報告】
2019082647.tif 000022
2019082647.tif 000023
2019082647.tif 000024
2019082647.tif 000025