JP6807467B2 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP6807467B2
JP6807467B2 JP2019550964A JP2019550964A JP6807467B2 JP 6807467 B2 JP6807467 B2 JP 6807467B2 JP 2019550964 A JP2019550964 A JP 2019550964A JP 2019550964 A JP2019550964 A JP 2019550964A JP 6807467 B2 JP6807467 B2 JP 6807467B2
Authority
JP
Japan
Prior art keywords
cpu
microcomputer
current value
control device
vehicle control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019550964A
Other languages
English (en)
Other versions
JPWO2019082647A1 (ja
Inventor
文博 大澤
文博 大澤
啓人 栗原
啓人 栗原
暢紀 長濱
暢紀 長濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Publication of JPWO2019082647A1 publication Critical patent/JPWO2019082647A1/ja
Application granted granted Critical
Publication of JP6807467B2 publication Critical patent/JP6807467B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明は、車両が搭載する機器を制御する車両制御装置に関する。
車両が搭載している機器を制御する車両制御装置(ECU:Electronic Control Unit)は、制御演算を実施するマイクロコンピュータを備える。マイクロコンピュータは、一般的に、CPU(中央処理装置:Central Processing Unit)、不揮発性メモリであるROM(Read Only Memory)、揮発性メモリであるRAM(Random Access Memory)などを備える。CPUは、RAM、ROMに格納された情報を演算、制御するための演算装置である。CPUが故障すると、マイクロコンピュータは正しい演算を実施することができず、不具合が生じる。その為、車両制御装置はCPUを診断する機能を備えている。
複数のマイクロコンピュータを用いて、相互にCPUの異常を診断する手法や、マイクロコンピュータに内蔵された複数のCPUを用いて、各CPUの出力結果を照合し、その一致性から異常を診断する手法、いわゆるロックステップ方式などが一般的に存在する。
特開2003−97344号公報(特許文献1)は、制御CPUの故障診断手法を記載している。同文献において、制御CPUと監視CPUとを備え、制御CPUと監視CPUとは、相互に通信し、正常状態であることを確認している。
特開2000−172521号公報(特許文献2)は、複数CPUに同じ入力を与えたとき、出力結果を照合して異常を検知する手法が記載されている。
上記のように、コンピュータもしくはCPUに異常が発生した場合、自動車が危険な状態に陥らないようにフェールセーフ処理を実施する。フェールセーフ処理の一例を以下に記載する。たとえば、自動変速機の制御装置のCPUが故障した場合、自動変速機の変速制御を実現するアクチュエータが正しく動作せず、意図しない変速が発生することを防止するため、自動変速機の制御装置は、アクチュエータを固定させ、自動変速機の変速比を一定に維持させるというフェールセーフ処理を実施するものがある。
特開2003−97344号公報 特開2000−172521号公報
特許文献1、2に記載のCPU故障診断方法は、CPUが完全に故障した状態でないと、CPUの故障と判断できないという課題がある。また、どちらのCPUが故障したかを検知することは困難であるという課題もある。また、CPU故障が発生した場合、故障していないマイクロコンピュータまたはCPUを有しているにも関わらず、フェールセーフ処理に移行するため、車両全体としては通常走行できるポテンシャルを残しているにも関わらず、運転性能を低下させてしまうという課題もある。
本発明の目的は、CPUの異常発生時において、故障していない正常なCPUを特定し、故障していない正常なCPUを有効利用して、運転性能を維持することが可能な車両制御装置を提供することにある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、車両制御装置は、メインCPUとサブCPUとを有するマイクロコンピュータと、電源部と、前記電源部と前記メインCPUとを接続する第1接続線と、前記電源部と前記サブCPUとを接続する第2接続線と、前記第1接続線に流れる電流値と前記第2接続線に流れる電流値とを検出する電流検出部と、を有する。前記マクロコンピュータは、前記第1接続線と前記第2接続線の一方に流れる前記電流値が設定値より大きく、かつ、前記第1接続線と前記第2接続線の他方に流れる前記電流値が前記設定値以下の場合、前記他方に接続される前記メインCPU、又は前記サブCPUを用いて運転を継続する。
本発明に係る車両制御装置によれば、CPUの異常発生時においても、故障していない正常なCPUを有効利用して、運転性能を維持することが可能である。
実施例1に係る車両制御装置システムを示す図である。 マイクロコンピュータの概念的な構成例を示す図である。 電源供給部の概念的な構成例を示す図である。 電流測定部の構成を説明するための図である。 リーク電流の増加を説明するための図である。 リーク電流の増加分の補正方法を説明するための図である。 ROM114、ROM124のアドレス空間の構成例を示す図である。 実施例1に係る故障ポテンシャル診断手順の一例を示すフローチャートである。 実施例1に係る故障ポテンシャル診断手順の一例を示すフローチャートである。 実施例1に係る故障ポテンシャル診断の実施タイミングを説明する図である。 変形例1に係る故障ポテンシャル診断の実施タイミングを説明する図である。 変形例2に係る故障ポテンシャル診断の実施タイミングを説明する図である。 変形例3に係る故障ポテンシャル診断の実施タイミングを説明する図である。 実施例1に係る制御手順を説明する図である。 実施例2に係る車両制御装置システムを示す図である。 実施例2に係る制御手順を説明する図である。 実施例2に係る制御タスクの割り当て変更の一例を説明する図である。 実施例3に係る車両制御装置システムを示す図である。 実施例3に係る制御手順を説明する図である。
以下、本発明の課題について、詳細に説明する。
車両制御装置のマイクロコンピュータが備えるCPUは、半導体製造工程において混入した異物により隣接するトランジスタや配線がショートすることや、長期使用によるトランジスタ劣化不良などが原因となって、車両制御装置の動作状態によらずに故障する可能性がある。
一般的に知られているCPUの故障モードとしては、例えば、以下のものがある。これらの故障モードが1つでも発生した場合、故障したCPUは正しく演算処理を実行することが不可能となる。
(故障その1)CPU内部の演算回路出力が「0」または「1」に固定される。
(故障その2)CPU内部の演算回路出力が本来の正しい演算結果と異なる結果を示す。
一般的なCPU故障診断方法は、CPUを構成するトランジスタが完全に故障し、CPU演算結果が本来あるべき演算結果と異なる値を出力するように至った場合は、CPUの故障を検知することができる。言い換えると、一般的なCPU故障診断方法は、CPUが完全に故障した状態でないと、CPUの故障と判断できないという課題がある。
従って、CPUが完全に故障する前の不安定な状態や、CPU故障診断においてCPU故障が確定する前の状態においては、CPUの出力結果は通常時と同様に使用されるため、CPUの誤演算結果が使用される恐れがある。例えば、アクチュエータに誤指示をする、また、他ユニットに誤情報を送信するなどにより、車両が意図しない挙動となるリスクがある。また、一般的なCPU故障診断方法でCPU故障状態を診断した場合、車両が安全な状態となるようなフェールセーフ制御が実施され、一般的には車両の運転性能が低下した状態となる、または車両が走行できない状態となる。
また、一般的なCPU故障診断方法は、完全に故障していないものの、将来、故障となるポテンシャルを持つCPUの検出はできないという課題がある。
CPUを構成するトランジスタに異物が付着し、それが何らかの原因で移動し、隣接するトランジスタ間に異物が付着すると、その隣接するトランジスタが短絡し、CPUの故障を引き起こす場合がある。ただし、トランジスタ間の短絡状態によっては、短絡によって生じる電位変動が判定閾値に至らない程度にとどまる場合がある。この場合、トランジスタ間に短絡故障が生じていたとしても、一般的なCPU故障診断方法では、このような故障を検出することは困難である。同様の現象はトランジスタの経年劣化によっても発生することが知られている。
このようなトランジスタの短絡故障を放置すると、短絡状態が進行し、トランジスタ間が完全に短絡し、CPUの故障として診断されることになると想定される。このように、将来CPUの故障として顕出する潜在的な故障ポテンシャルは、できる限り早い時点で検出することが望ましい。
また、一般的なCPU故障診断方法は、複数のCPUを使用し、同じ入力信号を与えたときの出力値を比較するロックステップ方式により故障を診断している。このロックステップ方式の場合、どちらかのCPUに故障が発生しても検知することは可能であるが、どちらのCPUが故障したかを検知することは困難であるという課題がある。
同様に、複数のマイクロコンピュータを使用してお互いに情報を送受信して、情報の中身から診断するマイクロコンピュータの相互監視方法においても、CPU故障により送信情報が破壊される、または、受信情報を誤演算するなどの故障が存在するため、どちらのCPUが故障したかを判断することは困難である。
上記のように、一般的なCPU故障診断では、故障したCPUを特定することが困難である。また、一般的には、複数のCPUのうち1つでもCPU故障を検知した場合は、フェールセーフ処理に移行する方式を取る。つまり、故障していないマイクロコンピュータまたはCPUを有しているにも関わらず、フェールセーフ処理に移行するため、車両全体としては通常走行できるポテンシャルを残しているにも関わらず、運転性能を低下させてしまっているのが現状である。
<実施形態>
次に、本発明の実施形態について説明する。
本発明の実施形態では、マイクロコンピュータに内蔵されるCPUにおいて、製造時に混入した異物や経年劣化よって生じるCPUの故障ポテンシャルを判断することにより、CPUの故障を、できる限り早期の段階で検出することができる。また、CPUの故障発生時、または、CPUの異常発生時において、故障していない正常なCPUを特定することが可能であり、故障していない正常なCPUを有効利用することで、運転性能を維持可能な車両制御装置(100)を提供することが出来る。
本発明の実施形態において、CPU(111、112、121、122)は、CPUの故障の原因となるトランジスタの短絡や経年劣化によって、CPUに電源を供給している電源供給ライン(接続線:L1、L2、L3、L4)を流れる電流(リーク電流)が増加していく特徴に着目する。CPUのリーク電流の値を電流測定部(電流検出部:150、160、152、162)を利用して検出および測定し、測定されたリーク電流の値ないし量からトランジスタの劣化状態を判断することができる。つまり、CPUの故障ポテンシャルを判断することができる。
ただし、CPUが駆動状態のときにおいて、CPUの電源供給ラインを流れる電流はCPUのリーク電流成分とCPUの駆動電流成分とを含んでおり、ここからCPUの駆動電流成分を除いて、CPUのリーク電流成分のみを測定する必要がある。ここで、CPUの動作状態を、CPUが駆動していない状態(非演算状態)、いわゆる、スタンバイ状態とすると、CPUの駆動電流成分をゼロとすることが可能である。さらに、スタンバイ状態のCPUとは別に、駆動状態のCPUを用いて、スタンバイ状態のCPUに流れる電流を測定する。この電流を故障ポテンシャル診断用のCPUリーク電流(Ileak2)として扱う。このように、故障ポテンシャル診断のために、被測定CPUをスタンバイ状態とし、測定用CPUを駆動状態とする。
さらに、故障ポテンシャル診断用のCPUリーク電流(Ileak2)は、マイクロコンピュータまたはCPUの製造ばらつきと、マイクロコンピュータまたはCPUの温度変化によるばらつきを含んでいるため、これらリーク電流のばらつき要素を排除して、トランジスタ劣化によるCPUリーク電流の増加分のみを抽出する必要がある。このため、測定した故障ポテンシャル診断用のCPUリーク電流の値の補正が必要となる。マイクロコンピュータまたはCPUの製造ばらつきによるリーク電流ばらつきの補正と、温度変化によるリーク電流ばらつきの2つを補正する。
マイクロコンピュータまたはCPUの製造ばらつきによるリーク電流ばらつきを補正する方法として、マイクロコンピュータまたはCPU製造時に故障ポテンシャル診断用のCPUリーク電流値(Ileak1)を計測し、マイクロコンピュータの記憶領域(ROM:114、124)にCPU製造時のリーク電流値として記憶させる。現在の故障ポテンシャル診断用のCPUリーク電流値(Ileak2)からマイクロコンピュータまたはCPU製造時のリーク電流値(Ileak1)を減算することで、マイクロコンピュータまたはCPU製造時から現在に至るまでのリーク電流の増加分(ΔIleak)を抽出することができる。これを温度補正前のCPUリーク電流の増加量とする。また、故障ポテンシャル診断用のCPUリーク電流値(Ileak1)は、マイクロコンピュータまたはCPUの製造時でなく、車両制御装置の製造時に故障ポテンシャル診断用のCPUリーク電流を計測し、記憶してもよい。
次に、温度によるリーク電流の変化を補正する。一般的にCPUのリーク電流とCPUの温度は相関関係をもつことが知られている。よって、あらかじめCPUの温度とCPUのリーク電流の相関マップ(TCM)を用意することができる。マイクロコンピュータまたはCPUの温度は、マイクロコンピュータに内蔵している温度センサ(TSEN:115,125)により測定することができる。若しくは、車両用制御装置(1)の基板上に配した温度センサからの温度情報から推定しても良い。測定したCPUの温度と、CPUリーク電流温度変化マップ(TCM)から、温度によるCPUリーク電流の変化量を算出することができる。
前記温度補正前のCPUリーク電流増加量(ΔIleak)と前記温度によるCPUリーク電流変化量(Icv)を用いて、温度補正後のCPUリーク電流増加量(ΔIleakc)を算出することができる。前記温度補正後のCPUリーク電流の増加量(ΔIleakc)が、あらかじめ規定した故障ポテンシャルを有すると判断する電流の増加量の判定閾値(TH)よりも大きいとき、CPUは、完全に故障していないものの、将来、故障となるポテンシャルを有していると判断できる。判定閾値は、設定値ないし所定値と見做すことが出来る。
リーク電流の測定とCPU故障ポテンシャル診断は任意のタイミングで実施することができるが、少なくとも1つのCPUをスタンバイ状態とするために、車両制御装置の起動時またはシャットダウン時に実施することが有効である。また、起動時毎やシャットダウン毎に、診断するCPUの組み合わせを変えてもよい(図9A、図9B,図9C,図9D)。
実施形態に係る車両制御装置によれば、現時点ではCPUは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。
前述の通り、複数のマイクロコンピュータや複数のCPUを使用して故障を検知しているが、故障発生したことは検知可能であるが、故障したCPUを特定することができなかった。そのため、CPU故障発生時は、他に正常なCPUがあったとしても車両制御を縮退させて、車両制御用アクチュエータを停止させるなどのフェールセーフ処理が一般的に実行される。
一方、実施形態によれば、CPUの故障ポテンシャル診断の結果から、故障したCPUを特定することができるので、CPUの故障発生時において、故障していない正常なCPUを使って、車両制御を縮退させることなく、車両の走行性能を維持することができる。
また、実施形態によれば、故障ポテンシャルが高いCPUが完全に故障する前に、故障ポテンシャルが高いCPUが受け持つ演算制御を他CPUに譲渡し、車両制御装置が持つ機能を縮退させることなく、自動車運転者にCPU故障を通知することができるため、安全かつスムーズに自動車を修理するための移動を行うことができる。
また、実施形態によれば、CPUが完全に故障したとき、故障を検知するまでの故障検知ディレイ時間においても、正常なCPUを使用できるため、本来の運転性能を犠牲にすることが無く、エンジンやトランスミッション等のアクチュエータが急停止や誤作動し、車両が意図しない挙動をすることを防ぐことができる。
また、実施形態によれば、CPUが完全に故障する前に、あらかじめ故障ポテンシャルの高いCPUで演算するタスクを縮退させてCPU演算負荷を下げることで、CPUが完全に故障するまでの期間を延長することができる。
以下、実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。なお、図面は説明をより明確にするため、実際の態様に比べ、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
以下、実施例1について、図面を用いて説明する。
(車両制御装置システムの構成)
図1は、実施例1に係る車両制御装置システムを示す図である。車両制御装置システム1は、電子制御装置(ECU:Electronic Control Unit)である車両制御装置100を有する。車両制御装置100は、車両が搭載する車載機器(例えば、自動変速機、エンジンなど)を電子的に制御する装置である。車両制御装置100は、メインマイクロコンピュータ(MMC)110、サブマイクロコンピュータ(SMC)120、メイン電源部(MPSP)130、サブ電源部(SPSP)140、メインCPU電流測定部(MCM)150,152、サブCPU電流測定部(SMCM)160,162、温度センサ170、を備える。メインマイクロコンピュータ(MMC)110は第1マイクロコンピュータと、サブマイクロコンピュータ(SMC)120は第2マイクロコンピュータと、いうこともできる。
メインマイクロコンピュータ110は、車両が搭載する車載機器を制御するマイクロコンピュータまたはマイクロコントローラである。メインマイクロコンピュータ110は、例えばアクチュエータ(ACU)202を制御することによって車載機器を制御する。また、表示装置(DISP)203を介してメッセージを表示することができる。メッセージは、例えば文字や画像などのメッセージ、ランプ点灯による通知など、任意の形態のものを用いることができる。
メインマイクロコンピュータ(MMC)110は、半導体集積回路装置であり、例えば、公知のCMOS半導体製造技術により、複数のCMOSトランジスタを単結晶シリコンの様な半導体チップ上に形成することにより、形成されている。メインマイクロコンピュータ(MMC)110は、メインCPU(MCPU:第1CPU)111、サブCPU(SCPU:第2CPU)112、揮発性メモリであるRAM(Random Access Memory)113、不揮発性メモリであるROM(Read Only Memory)114、メインマイクロコンピュータ110の温度を測定可能な温度センサ(TSEN)115、比較器(COMP)116、アナログデジタル変換回路(ADC)117、を備える。メインCPU111とサブCPU112は、車載機器を制御するために必要な制御演算を実施する演算装置である。RAM113は、メインCPU111とサブCPU112が使用するデータを一時的に格納する。ROM114は、メインCPU111とサブCPU112が実行する制御プログラムや、後述される診断処理グログラムなどを格納し、また、メインCPU111とサブCPU112が演算した情報やサブマイクロコンピュータ120やその他の車載機器から受信した情報を記憶することができる。比較器116は、メインCPU111とサブCPU112に同じ入力情報を与え、メインCPU111とサブCPU112の出力結果を照合する。メインCPU111とサブCPU112に異常が無ければ、比較器116の照合結果は一致する。比較器116の照合結果が不一致のとき、メインCPU111またはサブCPU112の異常を検知することができる。この構成は、一般的なロックステップ方式である。
メインCPU111とメイン電源部130との間に設けられた電源供給ライン(第1接続線)L1は、メインCPU111の駆動電流を測定するメイン電流測定部(電流検出部)150を備える。サブCPU112とメイン電源部130との間に設けられた電源供給ライン(第2接続線)L2は、サブCPU112の駆動電流を測定するサブ電流測定部(電流検出部)160を備える。後述されるサブマイクロコンピュータ120のアナログデジタル変換回路(ADC)127は、メイン電流測定部150とサブ電流測定部160と、計測用配線LM1,LM2を介して接続され、電源供給ライン(第1、第2接続線)L1,L2に流れるメインCPU111およびサブCPU112の駆動電流の電流値を測定する。
サブマイクロコンピュータ120は、メインマイクロコンピュータ110と同様の構成を備える。すなわち、サブマイクロコンピュータ(SMC)120は、半導体集積回路装置であり、例えば、公知のCMOS半導体製造技術により、複数のCMOSトランジスタを単結晶シリコンの様な半導体チップ上に形成することにより、形成されている。サブマイクロコンピュータ(SMC)120は、メインCPU(MCPU)121、サブCPU(SCPU)122、揮発性メモリであるRAM(Random Access Memory)123、不揮発性メモリであるROM(Read Only Memory)124、サブマイクロコンピュータ120の温度を測定可能な温度センサ(TSEN)125、比較器(COMP)126、アナログデジタル変換回路(ADC)127、を備える。メインCPU121とサブCPU122は、車載機器を制御するために必要な制御演算を実施する演算装置である。RAM123は、メインCPU121とサブCPU122が使用するデータを一時的に格納する。ROM124は、メインCPU121とサブCPU122が実行する制御プログラムや、後述される診断処理グログラムなどを格納し、また、メインCPU121とサブCPU122が演算した情報やメインマイクロコンピュータ110やその他の車載機器から受信した情報を記憶することができる。比較器126は、メインCPU121とサブCPU122に同じ入力情報を与え、メインCPU121とサブCPU122の出力結果を照合する。メインCPU121とサブCPU122に異常が無ければ比較器126の照合結果は一致する。比較器126の照合結果が不一致のとき、メインCPU121またはサブCPU122の異常を検知することができる。この構成は、一般的なロックステップ方式である。なお、サブマイクロコンピュータ120はメインマイクロコンピュータ110の機能異常を検知するのみに機能を限定してもよい。
メインCPU121とサブ電源部140との間に設けられた電源供給ライン(第3接続線)L3は、メインCPU121の駆動電流を測定するメイン電流測定部(電流検出部)152を備える。サブCPU122とサブ電源部140との間に設けられた電源供給ライン(第4接続線)L4は、サブCPU122の駆動電流を測定するサブ電流測定部(電流検出部)162を備える。メインマイクロコンピュータ110のアナログデジタル変換回路(ADC)117は、メイン電流測定部152とサブ電流測定部162と、計測用配線LM3,LM4を介して接続され、電源供給ライン(第3、第4接続線)L3,L4に流れるメインCPU121およびサブCPU122の駆動電流の電流値を測定する。
サブマイクロコンピュータ120は、メイン電流測定部150とサブ電流測定部160からの電流値と温度センサ115からの温度情報を用いて、後述する手順により、メインマイクロコンピュータ110のメインCPU111およびサブCPU112の故障ポテンシャル診断を実施して、その診断結果をサブマイクロコンピュータ120のROM124等の記憶領域に格納する。サブマイクロコンピュータ120は、次回メインマイクロコンピュータ110の起動時に、診断結果の情報をメインマイクロコンピュータ110へ通知する。
一方、メインマイクロコンピュータ110は、メイン電流測定部152とサブ電流測定部162からの電流値と温度センサ125からの温度情報を用いて、後述する手順により、サブマイクロコンピュータ120のメインCPU121およびサブCPU122の故障ポテンシャル診断を実施して、その診断結果をメインマイクロコンピュータ110のROM114等の記憶領域に格納する。メインマイクロコンピュータ110は、次回サブマイクロコンピュータ120の起動時に、診断結果の情報をサブマイクロコンピュータ120へ通知する。
このように、サブマイクロコンピュータ120がメインマイクロコンピュータ110の故障ポテンシャル診断を実施し、メインマイクロコンピュータ110がサブマイクロコンピュータ120の故障ポテンシャル診断を実施する。この理由は、前述の通り、CPUが駆動状態ではCPUのリーク電流とCPUの駆動電流を切り分けることができないため、CPUが駆動していない状態、いわゆるCPUスタンバイ状態とし、さらに別の通常駆動中のマイクロコンピュータがスタンバイ状態のCPUの駆動電流を測定することで、CPUのリーク電流を正確に測定することを可能とするためである。
車両制御装置100は、車両が搭載するバッテリ201から電力の供給を受ける。メイン電源部130は、バッテリ201から受け取った電圧を昇圧ないし降圧し、メインマイクロコンピュータ110に対して供給する。サブ電源部140も同様に、バッテリ201から受け取った電圧を昇圧ないし降圧し、サブマイクロコンピュータ120に対して供給する。メイン電源部130およびサブ電源部140は、電源信号(PS)200の受信に従って、メインマイクロコンピュータ110およびサブマイクロコンピュータ120のそれぞれへの電力供給を開始するように構成されている。
メイン電源部130は、メインCPU111、サブCPU112、RAM113、ROM114のそれぞれに対して個別に電力を供給するように、内部的に回路が切り分けられている。これは、メインCPU111、サブCPU112に対して供給する駆動電流がRAM113やROM114の電流変動によって受ける影響を抑制するためである。また、サブメイン電源部140も同様に、メインCPU121、サブCPU122、RAM123、ROM124のそれぞれに対して個別に電力を供給するように、内部的に回路が切り分けられている。これは、メインCPU121、サブCPU122に対して供給する駆動電流がRAM123やROM124の電流変動によって受ける影響を抑制するためである。メイン電源部130およびサブメイン電源部140の構成は、図3を用いて、後で説明される。
(マイクロコンピュータの構成)
図2は、マイクロコンピュータMCの概念的な構成例を示す図である。マイクロコンピュータMCは、メインマイクロコンピュータ110およびメインマイクロコンピュータ120の構成を示している。マイクロコンピュータMCは、メインCPU(MCPU:111,121)、サブCPU(SCPU:112,121)、RAM(113,123)、ROM(114、124)および周辺回路PERIを含み、バスBUSにより相互に接続されている。周辺回路PERIは、例えば、温度センサTSEN(115,125),比較部COMP(116,126)、アナログデジタル変換回路ADC(117,127)、コントロールエリアネットワーク(Controller Area Network)インターフェイスCANIF、および、信号入出力ポートIOP等を有する。
マイクロコンピュータMCは、MCPUへ電源電圧Vdd1を供給するための外部端子VDD1,SCPUへ電源電圧Vdd2を供給するための外部端子VDD2、RAMへ電源電圧Vdd3を供給するための外部端子VDD3、ROMへ電源電圧Vdd4を供給するための外部端子VDD4、および、例えば、0(ゼロ)ボルトの様な接地電圧または基準電圧Vssが供給される基準電位端子VSSを有する。マイクロコンピュータMCは、さらに、アナログデジタル変換回路ADCへアナログ用電源電圧Avddおよびアナログ用基準電圧Avssを供給ための外部端子AVDDおよびAVSS、温度センサTSEN、比較部COMP、CANIFや信号入出力ポートIOP等の周辺回路PERIへ電源電圧Vdd5を供給するための外部端子VDD5等を有する。電源電圧Vdd1、Vdd2,Vdd3,Vdd4,Vdd5は、それぞれ異なる電源電圧とすることが出来る。
図2に示されるように、アナログデジタル変換回路ADCは、アナログ信号入力端子AN0,AN1、AN2,AN3を有している。マイクロコンピュータMCが、メインマイクロコンピュータ110とされる場合、アナログ信号入力端子AN0,AN1は、LM3を介して、MCM152に接続され、アナログ信号入力端子AN2,AN3は、LM4を介して、SCM162に接続される。また、マイクロコンピュータMCが、メインマイクロコンピュータ120とされる場合、アナログ信号入力端子AN0,AN1は、LM1を介して、MCM150に接続され、アナログ信号入力端子AN2,AN3は、LM2を介して、SCM160に接続される。なお、アナログデジタル変換回路ADCは、アナログ信号入力端子AN0,AN1、AN2,AN3の他に、アナログ信号入力端子AN4−ANnを有してもよい。アナログ信号入力端子AN4−ANnは、他のアナログセンサ等の出力と接続することが可能である。
また、CANIFは、CANバスに接続することが可能な入出力端子CAN0を有する。CANバスには、CANプロトコルに基づくCAN通信が可能な電動パワーステリングEPSや他の電子制御ユニット(ECU)などを接続することが可能である。信号入出力ポートIOPは、デジタル信号の入出力を可能とするポート端子PD0−PDNを有する。
(電源供給部の構成)
図3は、電源供給部PSPの概念的な構成例を示す図である。電源供給部PSPは、メイン電源部(MPSP)130およびサブ電源部(SPSP)140の構成を示している。電源供給部PSPは、複数のレギュレータREG1−RG6を有する。レギュレータREG1は、MCPUへ電源電圧Vdd1を供給するための外部端子VDD1へ電源電圧を供給する。レギュレータREG2は、SCPUへ電源電圧Vdd2を供給するための外部端子VDD2へ電源電圧を供給する。レギュレータREG3は、RAMへ電源電圧Vdd3を供給するための外部端子VDD3へ電源電圧を供給する。レギュレータREG4は、ROMへ電源電圧Vdd4を供給するための外部端子VDD4へ電源電圧を供給する。レギュレータREG5は、周辺回路PERIへ電源電圧を供給するための外部端子VDD5へ電源電圧Vdd5を供給する。レギュレータREG6は、アナログデジタル変換回路ADCへアナログ用電源電圧Avddおよびアナログ用基準電圧Avssを供給ための外部端子AVDDおよびAVSSへアナログ用電源電圧Avddおよびアナログ用基準電圧Avssを供給する。複数のレギュレータREG1−RG6は、電源供給の開始を指示する電源信号200の受信に応答して、バッテリ(BAT)201から電圧を供給されて、各電源電圧Vdd1−Vdd5、Avdd、アナログ用電源電圧Avdd、およびアナログ用基準電圧Avssを生成する。
このように、電源供給部PSP(130、140)は、メインCPU(MCPU:111,121)、サブCPU(SCPU:112,122)、RAM(113,123)、ROM(114、124)、周辺回路PERI、アナログデジタル変換回路ADC(117,127)のそれぞれに対して個別に電力を供給可能とするように、複数レギュレータREG1−RG6を有する。これは、前述の様に、メインCPU111、サブCPU112に対して供給する駆動電流がRAM(113,123)、ROM114(114、124)、周辺回路PERI、アナログデジタル変換回路ADC(117,127)の電流変動によって受ける影響を抑制する為である。
なお、図2および図3において、周辺回路PERIへ電源電圧の供給する外部端子VDD5、および周辺回路PERIの電源電圧を生成するレギュレータREG5は、さらに、複数の外部端子、および複数のレギュレータとされても良い。これにより、周辺回路PERIに含まれる各回路ないし各機能モジュールの電源電位の要求仕様に従う様に、電源電位を供給出来る。
(電流測定部の構成)
図4は、電流測定部の構成を説明するための図である。図4には、電流測定部として、メイン電流測定部150の構成を例示的に示している。電流測定部150の構成は、電流測定部160,152,162の構成と同一であり、他の接続構成は図1から容易に理解されるので、電流測定部160,152,162の構成の説明は省略する。電源測定部150は、抵抗値Rsの抵抗素子R1を有する。抵抗素子R1は、メイン電源部130のレギュレータREG1の出力とメインマイクロコンピュータ110のメインCPU111の外部端子VDD1との間に設けられた電源供給ラインL1に直列に挿入されるように、設けられる。抵抗素子R1の両端のノードVRHおよびVRLは、LM1を介して、サブマイクロコンピュータ120に内蔵されたアナログデジタル変換回路127のアナログ入力端子AN0,AN1にそれぞれ接続される。同様な構成により、電流測定部160は、LM2を介して、サブマイクロコンピュータ120に内蔵されたアナログデジタル変換回路127のアナログ入力端子AN2,AN3にそれぞれ接続される。また、電流測定部152,162は、LM3およびLM4を介して、メインマイクロコンピュータ110に内蔵されたアナログデジタル変換回路117のアナログ入力端子AN0,AN1、および、AN2,AN3にそれぞれ接続される。
このような構成により、抵抗素子R1に流れるメインCPU111のリーク電流を含む駆動電流Isは、以下の式により求められる。
Is=Vs/Rs
ここで、Vsは、抵抗素子R1の両端のノードVRHとノードVRLとの間の電圧差に対応する電圧値である。
すなわち、ノードVRHとノードVRLとの間の電圧値Vsを、アナログデジタル変換回路127によって計測することにより、メインCPU111のリーク電流を含む駆動電流Isが求められる。
なお、メイン電源部130のレギュレータREG1の出力電圧値は、メインマイクロコンピュータ110のメインCPU111の基準動作電圧と、抵抗素子R1の抵抗値Rsと、抵抗素子R1に流れる駆動電流Isの最大電流値と、抵抗素子R1に流れる駆動電流Isによる電圧降下分(Vs)とを考慮し、メインマイクロコンピュータ110のメインCPU111の基準動作電圧を満足する様に、決めればよい。メイン電源部130のレギュレータREG2、サブ電源部140のレギュレータREG1,REG2のそれぞれの出力電圧値も、上記と同様の思想により、メインマイクロコンピュータ110のサブCPU112、サブマイクロコンピュータ120のメインCPU121、サブCPU122の各々の基準動作電圧を満足する様に、決定すればよい。
なお、上記では、マイクロコンピュータ110,120に内蔵されたアナログデジタル変換回路117、127を利用する例に関して説明したが、これに限定されない。アナログデジタル変換回路117、127の変換ビット数(例えば、10ビットや12ビット)より多い変換ビット数(例えば、100ビット)が必要な場合は、車両制御装置100に、変換ビット数の多い外付けの個別アナログデジタル変換回路を実装し、アナログデジタル変換回路117、127の代わりとして、その個別アナログデジタル変換回路を利用しても良い。リーク電流値の測定において、リーク電流値の値自体が小さいので、変換ビット数の多い個別アナログデジタル変換回路を用いれば、リーク電流値をより正確に計測することが出来る。
(リーク電流およびその補正)
図5は、リーク電流の増加を説明するための図である。メインマイクロコンピュータ110やサブマイクロコンピュータ120は、複数のCMOSトランジスタなどから構成されており、製造不良の顕在化や長期使用による経年劣化などの要因により、リーク電流が増加する場合がある。
図5において、縦軸はリーク電流値Ileakを示し、横軸は時間Timeを示す。一般的に、半導体集積回路装置の製造メーカは、半導体集積回路装置の出荷前に、出荷前検査を実施し、リーク電流を計測し、リーク電流Ileak1が所定の範囲内にある半導体集積回路装置を、正常品として出荷する。なお、図5において、リーク電流値Ileak1は、メインマイクロコンピュータ110やサブマイクロコンピュータ120の出荷前検査で計測したものを利用する例を説明するが、車両制御装置1の製造時にリーク電流値Ileak1を計測し、メインマイクロコンピュータ110やサブマイクロコンピュータ120のROM(114,124)に記憶させてもよい。
時間T1には、出荷前検査時における正常品のリーク電流値Ileak1が示されており、時間T2には、長期使用によりリーク電流Ileakが増加した異常品のリーク電流値Ileak2が示される。時間T1において、正常品のリーク電流の範囲は、たとえは、最小値(0mA(ミリアンペア))と最大値(M mA)との間の範囲とされており、出荷前検査によって計測されたメインマイクロコンピュータ110またはサブマイクロコンピュータ120のリーク電流値Ileak1が、例えば、TmAであったとする。
時間T2において、メインマイクロコンピュータ110またはサブマイクロコンピュータ120のリーク電流値Ileak2がT+Y mAへ増加したものとする。すなわち、リーク電流IleakがYmA=ΔIleak=Ileak2―Ileak1の値だけ増加した状態である。
ΔIleakの値は、経年劣化以外に、メインマイクロコンピュータ110またはサブマイクロコンピュータ120におけるリーク電流の温度特性の変動と、メインマイクロコンピュータ110またはサブマイクロコンピュータ120の製造ばらつきによるリーク電流の変動と、が含まれている。そのため、リーク電流の増加量ΔIleakの値は補正する必要がある。
図6は、リーク電流の増加分の補正方法を説明するための図である。リーク電流の増加量ΔIleakは、製造時のリーク電流値Ileak1と、計測時のリーク電流値Ileak2と、リーク電流値Ileak2の温度特性ないし温度依存性とを考慮して、補正される。リーク電流値Ileak2の温度特性ないし温度依存性は、メインマイクロコンピュータ110またはサブマイクロコンピュータ120の温度センサTSENにより計測された温度情報TMと、リーク電流の温度補正マップ(テーブル)TCMにより、補正される。温度補正マップ(テーブル)TCMは、メインマイクロコンピュータ110またはサブマイクロコンピュータ120のそれぞれで固有のものであり、例えば、半導体製造メーカから得ることが可能である。温度補正マップ(または温度補正テーブル)TCMは、各温度におけるリーク電流の補正電流値(Icv)が記述されている。
したがって、故障ポテンシャルの診断用として利用される補正されたリーク電流の増加量ΔIleakcは、次式で求められる。
ΔIleakc=Ileak2+Icv−Ileak1
ここで、Icvは、温度情報TMにおける温度補正マップ(テーブル)TCMに記載の補正電流値を示すものとする。
これにより、リーク電流値の温度によるばらつきと、メインマイクロコンピュータ110またはサブマイクロコンピュータ120の製造ばらつきとが排除でき、経年劣化等によるリーク電流値の補正された増加量ΔIleakcを得ることができる。故障ポテンシャルの診断の際、この補正されたリーク電流の増加量ΔIleakcが、しきい値または所定値(TH)を超えたか否かにより、故障ポテンシャルの有無が判断される。このような構成により、CPU(111,112,121,122)が、完全に故障していないものの、将来、故障となるポテンシャルを有しているか否かを判断することが可能になる。しきい値または所定値(TH)は、設定値や規定値という事もできる。
(ROM114、124のアドレス空間の構成例)
図7は、ROM114、ROM124のアドレス空間の構成例を示す図である。図7(A)は、ROM114のアドレス空間の構成例を示し、図7(B)はROM124のアドレス空間の構成例を示す。
図7(A)に示すように、メインマイクロコンピュータ110のROM114のアドレス空間には、メインCPU111およびサブCPU112により実行されるプログラム、プログラム実行時に参照されるデータ、マップないしテーブル、演算結果のデータなどが格納される。ROM114は、例えば、第1アドレス空間ADSP1aと、第2アドレス空間ADSP2aと、を有する。
第1アドレス空間ADSP1aには、制御プログラムCPROGおよび制御プログラムCPROGの実行時に参照される参照データ等が格納される。制御プログラムCPROGは、車両が搭載する車載機器(例えば、自動変速機、エンジンなど)を電子的に制御するための制御プログラムである。
第2アドレス空間ADSP2aには、本発明に係る処理プログラムないしデータが格納されており、図8A,図8Bで説明される診断プログラムDPROG、図10で説明されるCPUの異常判断時に実行される制御プログラムCNTPROG、図6で説明されたリーク電流補正用の計算プログラムLCCPROGが格納される。第2アドレス空間ADSP2aには、さらに、メインマイクロコンピュータ110に関するリーク電流の温度補正マップ(テーブル)TCM、しきい値または所定値(TH)、リーク電流値Ileak1(110)、サブマイクロコンピュータ120のメインCPU121およびサブCPU122に関する計測されたリーク電流値Ileak2(121)、Ileak2(122)が、格納される。第2アドレス空間ADSP2aには、さらに、補正されたリーク電流の増加量ΔIleakc(121)、ΔIleakc(122)、サブマイクロコンピュータ120のメインCPU121およびサブCPU122に関する診断結果DResult(121)、DResult(122)、および、診断履歴を示す経験情報DHistが格納される。
診断結果DResult(121)、DResult(122)は、診断プログラムDPROGによるサブマイクロコンピュータ120に関する診断の結果であり、サブマイクロコンピュータ120のメインCPU121およびサブCPU122の故障ポテンシャルの有無が格納される。経験情報DHistには、最後または先回診断されたメインマイクロコンピュータ110またはサブマイクロコンピュータ120のデータが格納される。
図7(B)に示すように、サブマイクロコンピュータ120のROM124のアドレス空間には、メインCPU121およびサブCPU122により実行されるプログラム、プログラム実行時に参照されるデータ、マップないしテーブル、演算結果のデータなどが格納される。ROM124は、例えば、第1アドレス空間ADSP1bと、第2アドレス空間ADSP2bと、を有する。
第1アドレス空間ADSP1bには、制御プログラムCPROGおよび制御プログラムCPROGの実行時に参照される参照データ等が格納される。制御プログラムCPROGは、車両が搭載する車載機器(例えば、自動変速機、エンジンなど)を電子的に制御するための制御プログラムである。
第2アドレス空間ADSP2bには、本発明に係る処理プログラムないしデータが格納されており、図8で説明される診断プログラムDPROG、図10で説明されるCPUの異常判断時に実行される制御プログラムCNTPROG、図6で説明されたリーク電流補正のための計算プログラムLCCPROGが格納される。第2アドレス空間ADSP2bには、さらに、サブマイクロコンピュータ120に関するリーク電流の温度補正マップ(テーブル)TCM、しきい値または所定値(TH)、リーク電流値Ileak1(120)、メインマイクロコンピュータ110のメインCPU111およびサブCPU112に関する計測されたリーク電流値Ileak2(111)、Ileak2(112)が、格納される。第2アドレス空間ADSP2bには、さらに、補正されたリーク電流の増加量ΔIleakc(111)、ΔIleakc(112)、メインマイクロコンピュータ110のメインCPU111およびサブCPU112に関する診断結果DResult(111)、DResult(112)、および、診断履歴を示す経験情報DHistが格納される。
診断結果DResult(111)、DResult(112)は、診断プログラムDPROGによるメインマイクロコンピュータ110に関する診断の結果であり、メインマイクロコンピュータ110のメインCPU111およびサブCPU112の故障ポテンシャルの有無が格納される。経験情報DHistには、最後または先回診断されたメインマイクロコンピュータ110またはサブマイクロコンピュータ120のデータが格納される。
なお、図7(A)、図7(B)では、計測されたリーク電流値Ileak2(111)、Ileak2(112)、Ileak2(121)、Ileak2(122)や、補正後のリーク電流の増加量ΔIleakc(111)、ΔIleakc(112)、ΔIleakc(121)、ΔIleakc(122)を、ROM114、124のアドレス空間に格納する例を示したが、これらの値は、ROM114、124のアドレス空間に格納せずに、診断時において、RAM113,123に一時的に格納することも可能である。
(故障ポテンシャル診断手順の例)
図8A、図8Bは、実施例1に係るCPUの故障ポテンシャル診断手順の一例を示すフローチャートである。なお、図8Aの下側のAと、図8Bの上側のAとは接続される。図8A、図8Bは、車両制御装置100がシャットダウンするとき、メインマイクロコンピュータ110のメインCPU111とサブCPU112の故障ポテンシャルを、サブマイクロコンピュータ120を用いて、診断する手順を説明するフローチャートである。サブマイクロコンピュータ120のメインCPU121とサブCPU122の故障ポテンシャルを、メインマイクロコンピュータ110を用いて診断するフローチャートは、図8A,図8Bから容易に理解されると思われるので、その記載は省略される。以下、図8A、図8Bの各ステップについて説明する。
(ステップS100)
メインマイクロコンピュータ110及びサブマイクロコンピュータ120は、電源が投入されたことを示す電源信号200を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源IC130とサブ電源IC140はそれぞれ電源信号200に従って電力供給を開始済みであるものとする。なお、このフローチャートは、図7の診断プログラムDPROGに対応するものである。
(ステップS101)
メインマイクロコンピュータ110及びサブマイクロコンピュータ120は、それぞれの記憶領域(ROM114,124)からメインマイクロコンピュータ110及びサブマイクロコンピュータ120の製造時のリーク電流値(Ileak1)と、故障ポテンシャル実施経験情報(DHist)を読みだす。上記のリーク電流値(Ileak1)は、メインマイクロコンピュータ110及びサブマイクロコンピュータ120の製造時だけでなく、車両制御装置100の製造時に、メインマイクロコンピュータ110及びサブマイクロコンピュータ120のリーク電流を測定し、それぞれの記憶領域(ROM114,124)に記憶してもよい。
(ステップS102)
メインマイクロコンピュータ110は故障ポテンシャル診断の実施条件が成立するまでは、本故障ポテンシャル診断は実施しない。故障ポテンシャル診断の実施条件は、電源信号200がオフされた後に実施されるセルフシャット処理が全て完了したことで条件成立とする。
(ステップS103)
メインマイクロコンピュータ110は、ステップS101で読み出だしたメインマイクロコンピュータ110及びサブマイクロコンピュータ120の故障ポテンシャル実施経験情報から、今回の故障ポテンシャルの診断対象マイクロコンピュータを決定し、被測定マイクロコンピュータとする。たとえば、前回の故障ポテンシャル診断で、メインマイクロコンピュータ110内蔵のメインCPU111とサブCPU112の故障ポテンシャルを診断した場合、今回の故障ポテンシャル診断では、サブマイクロコンピュータ120内蔵のメインCPU121およびサブCPU122を診断対象とする。上記のように、本例では、セルフシャット処理実施毎に診断するマイクロコンピュータを切り替えているのは、診断対象マイクロコンピュータ内蔵のメインCPUおよびサブCPUを停止状態(スタンバイ状態)とする必要があるためである。詳細は、図9Aの説明にて記載する。本例では、被測定マイクロコンピュータをメインマイクロコンピュータ110として、メインマイクロコンピュータ110に内蔵されるメインCPU111とサブCPU112の故障ポテンシャルを診断するものとして記載する。
(ステップS104)
被測定マイクロコンピュータ110のメインCPU111及びサブCPU112の温度を推定するため、メインマイクロコンピュータ110に内蔵されている温度センサ115からメインマイクロコンピュータ110の温度を測定する。本例では、メインマイクロコンピュータ110に内蔵されている温度センサ115を使用しているが、温度センサは、車両制御装置100に搭載されている温度センサ170を使用してもよい。また、外界の温度状態や車両制御装置100の運転時間による推定温度値を使用してもよい。
(ステップS105)
被測定マイクロコンピュータ110のメインCPU111及びサブCPU112は、ステップS104で取得したメインマイクロコンピュータ110の温度情報から、温度によるCPU111,112のリーク電流Ileak2の値の変化を補正するために、リーク電流の温度補正マップTCMからリーク電流の温度補正値Icvを算出する。リーク電流の温度補正マップTCMは被測定マイクロコンピュータの種別毎に事前に規定する。リーク電流の温度補正マップTCMは、図7に示されるように、メインマイクロコンピュータ110及びサブマイクロコンピュータ120が備えるROM114,124にあらかじめ格納しておくことができる。
(ステップS106)
ステップS105で算出したリーク電流の温度補正値Icvをサブマイクロコンピュータ120に通知する。
(ステップS107)
被測定マイクロコンピュータ110のメインCPU111及びサブCPU112を、停止状態(スタンバイ状態)に移行させ、以降の演算はサブマイクロコンピュータ120を使用してする。
(ステップS108)
被測定マイクロコンピュータ110がスタンバイ状態モードに移行完了するまで待機する。移行完了の判定は規定時間、または被測定マイクロコンピュータ110の出力がOFFとなったことをもって判断する。
(ステップS109)
サブマイクロコンピュータ120は、メイン電流測定部150及びサブ電流測定部160にて、被測定マイクロコンピュータ110のメインCPU111及びサブCPU112の現在のリーク電流値(Ileak2(111)、Ileak2(112))を計測する。
(ステップS110)
サブマイクロコンピュータ120は、メインCPU111及びサブCPU112それぞれについて、ステップS101で取得した製造時のリーク電流(Ileak1)とステップS109で取得した現在のリーク電流(Ileak2(111)、Ileak2(112))とステップS106で取得したリーク電流温度補正値(Icv)から診断用リーク電流値(ΔIleakc(111)、ΔIleakc(112))を算出する。すなわち、図7の計算プログラムLCCPROGが実行され、図6で説明されたリーク電流値の補正のための計算が実行される。
(ステップS111)
サブマイクロコンピュータ120は、メインCPU111及びサブCPU112それぞれについて、診断用リーク電流値(ΔIleakc(111)、 ΔIleakc(112))が、しきい値(TH)以下であるか否かを判定する。メインCPU111及びサブCPU112どちらの診断用リーク電流値(ΔIleakc(111)、 ΔIleakc(112))も、しきい値(TH)を下回る場合は、メインCPU111及びサブCPU112は正常であると判断して、ステップS113に進む。診断用リーク電流値(ΔIleakc(111)、 ΔIleakc(112))がしきい値(HT)を上回る場合は、故障ポテンシャル有りとしてステップS112に進む。しきい値(TH)は、図7に示されるように、メインマイクロコンピュータ110及びサブマイクロコンピュータ120が備えるROM114,124などにあらかじめ格納しておくことができる。
(ステップS112)
サブマイクロコンピュータ120は、ステップS111にて故障ポテンシャル有りと判断した結果を、判断結果DResult(111)、DResult(112)として、サブマイクロコンピュータ120内の記憶領域(ROM124)に格納する。
(ステップS113)
サブマイクロコンピュータ120は、サブマイクロコンピュータ120内の記憶領域(ROM124)に、故障ポテンシャル診断の実施経験情報(DHist)を格納する。故障ポテンシャル実施経験情報(DHist)は、ステップS101で記憶領域(ROM114、124)から読み出され、ステップ103の故障ポテンシャル診断の対象マイクロコンピュータを決定する情報として使用する。
(故障ポテンシャル診断の実施タイミング)
図9Aは、実施例1に係る故障ポテンシャル診断の実施のタイミングを説明する図である。図9Aは、図8Aのステップ103で説明された様に、車両制御装置100のシャットダウン毎に、故障ポテンシャルの診断対象マイクロコンピュータが切り替えられることを説明する図である。すなわち、例えば、メインマイクロコンピュータ110およびサブマイクロコンピュータ120が通常制御を実施しており、その後、電源信号200がオフされたものとする。この場合、第1回目のシャットダウンとして、電源信号200がオフされた後にセルフシャット処理へ移行する。セルフシャット処理が実施され、セルフシャット処理が全て完了した後、メインマイクロコンピュータ110がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ120がスタンバイ状態のメインマイクロコンピュータ110に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断の実施後に、メインマイクロコンピュータ110およびサブマイクロコンピュータ120がシャットオフされる。
一方、例えば、2回目のシャットダウン時には、セルフシャット処理が全て完了した後、サブマイクロコンピュータ120がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ110がスタンバイ状態のサブマイクロコンピュータ120に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断の実施後に、メインマイクロコンピュータ110およびサブマイクロコンピュータ120がシャットオフされる。
以上の様に、シャットオフ毎に診断対象のマイクロコンピュータを切り替えることにより、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の各々の故障ポテンシャル診断を、均一に行うことが可能である。
(実施タイミングの変形例1)
図9Bは、故障ポテンシャル診断の実施タイミングの変形例1を説明する図である。図9Aでは、シャットオフ毎に診断対象のマイクロコンピュータを切り替える例を示した。
図9Bでは、電源信号200がオフされた後にセルフシャット処理へ移行し、その後、セルフシャット処理が実施され、セルフシャット処理が全て完了した後、メインマイクロコンピュータ110がスタンバイ状態とされて、サブマイクロコンピュータ120がスタンバイ状態のメインマイクロコンピュータ110に対して故障ポテンシャル診断を実施する。その後、サブマイクロコンピュータ120がスタンバイ状態とされて、メインマイクロコンピュータ110がスタンバイ状態のサブマイクロコンピュータ120に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断を実施する。
このような故障ポテンシャル診断の実施タイミングでも、より短い時間間隔で、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の両方の故障ポテンシャルの判断を行うことが可能である。
(実施タイミングの変形例2)
図9Cは、故障ポテンシャル診断の実施タイミングの変形例2を説明する図である。図9Aおよび図9Bでは、電源信号200がオフされた後、故障ポテンシャル診断が実施される例を示した。図9Cでは、電源信号200がオンされた後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の起動毎に、故障ポテンシャルの診断対象のマイクロコンピュータが切り替えられ、故障ポテンシャル診断が実施される例を示している。すなわち、例えば、電源信号200が第1回目にオンされた後、サブマイクロコンピュータ120がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ110がスタンバイ状態のサブマイクロコンピュータ120に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120がリセットされる。この例では、メインマイクロコンピュータ110は、サブマイクロコンピュータ120がリセットの完了まで待機(wait)状態とされ、その後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の同期がとられ、メインマイクロコンピュータ110およびサブマイクロコンピュータ120が通常制御に移行する。
次に、図示されないが、電源信号200が第2回目にオンされた後、メインマイクロコンピュータ110がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ120がスタンバイ状態のメインマイクロコンピュータ110に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120がリセットされ、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の同期がとられ、メインマイクロコンピュータ110およびサブマイクロコンピュータ120が通常制御に移行する。
このような故障ポテンシャル診断の実施タイミングでも、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の故障ポテンシャルを診断することが出来る。
(実施タイミングの変形例3)
図9Dは、故障ポテンシャル診断の実施タイミングの変形例3を説明する図である。図9Cでは、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の起動毎に、故障ポテンシャルの診断対象のマイクロコンピュータが切り替えられ、故障ポテンシャル診断が実施される例を示した。図9Dでは、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の起動毎に、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の両方の故障ポテンシャルを診断実施する例を示している。すなわち、電源信号200が第1回目にオンされた後、サブマイクロコンピュータ120がスタンバイ状態とされて、駆動状態のメインマイクロコンピュータ110がスタンバイ状態のサブマイクロコンピュータ120に対して故障ポテンシャル診断を実施し、故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120がリセットされ、メインマイクロコンピュータ110がスタンバイ状態とされて、駆動状態のサブマイクロコンピュータ120がスタンバイ状態のメインマイクロコンピュータ110に対して故障ポテンシャル診断を実施する。その後、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の同期がとられ、メインマイクロコンピュータ110およびサブマイクロコンピュータ120が通常制御に移行する。
(実施タイミングの変形例4)
故障ポテンシャル診断の実施タイミングとしては、図9Cに示された実施タイミングと、図9Aに示された実施タイミングと、を組み合わせでもよい。すなわち、起動時(電源信号200がオン)に、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の一方の故障ポテンシャル診断を実施し、シャットオフ時(電源信号200がオフ)に、メインマイクロコンピュータ110およびサブマイクロコンピュータ120の他方の故障ポテンシャル診断を実施する。起動毎またはシャットオフ時毎に、診断対象のマイクロコンピュータが切り替えされる。
なお、図9Bと図9Dとを組み合わせて、故障ポテンシャル診断を実施しても、もちろんよい。
(故障ポテンシャル診断結果を用いた制御手順)
図10は、実施例1に係る制御手順を説明する図である。図10は、車両制御装置100において、メインCPU111とサブCPU112の出力が比較器116で照合不一致となったとき、故障ポテンシャル診断結果を利用して、故障していないCPU情報を使用するための手段を説明するフローチャートの一例である。このフローチャートは、図7の制御プログラムCNTPROGに対応するものである。
(ステップS300)
メインマイクロコンピュータ110及びサブマイクロコンピュータ120は、電源が投入されたことを示す電源信号200を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源IC130とサブ電源IC140はそれぞれ電源信号200に従って電力供給を開始済みであるものとする。以下は、一例として、メインマイクロコンピュータ110の動作について記載する。なお、図1において説明された様に、サブマイクロコンピュータ120は、メインマイクロコンピュータ110の起動時に、診断結果(DResult(111)、DResult(112))の情報をメインマイクロコンピュータ110へ通知しており、また、メインマイクロコンピュータ110は、サブマイクロコンピュータ120の起動時に、診断結果(DResult(121)、DResult(122))の情報をサブマイクロコンピュータ120へ通知しているものとする。
(ステップS301)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112と、それぞれの出力結果を比較する比較器116を備えており、比較器116での照合結果が一致するか否かを判定する。比較器116の照合結果が一致する場合は、CPU故障無しとしてステップS302に進む。比較器116の照合結果が不一致の場合は、CPU故障有りとしてステップS303に進む。
(ステップS302)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112に故障が無いと判定し、メインCPU111の出力信号を使用する。または、サブCPU112の出力値を使用してもよい。
(ステップS303)
メインマイクロコンピュータ110は、ステップS112で格納したメインCPU111の故障ポテンシャル診断結果(DResult(111))が、正常か否かを判定する。メインCPU111の故障ポテンシャル診断結果(DResult(111))が正常の場合、ステップS304に進む。メインCPU111の故障ポテンシャル診断結果(DResult(111))が異常の場合は、ステップS307に進む。
(ステップS304)
メインマイクロコンピュータ110は、ステップS112で格納したサブCPU112の故障ポテンシャル診断結果(DResult(112))が、正常か否かを判定する。
サブCPU112の故障ポテンシャル診断結果(DResult(112))が正常の場合、ステップS305に進む。サブCPU112の故障ポテンシャル診断結果(DResult(112))が異常の場合は、ステップS306に進む。
(ステップS305)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112以外に故障があると判断し、車両制御用アクチュエータ202を停止させるなどのフェールセーフ処理に移行する。
(ステップS306)
メインマイクロコンピュータ110は、サブCPU112に故障があるものの、メインCPU111は正常であると判断し、メインCPU111の出力信号を使用して通常処理(車両の通常制御の動作)を継続する。
(ステップS307)
ステップS307はステップS304と同様の判定を実施する。サブCPU112の故障ポテンシャル診断結果(DResult(112))が正常の場合、ステップS308に進む。サブCPU112の故障ポテンシャル診断結果(DResult(112))が異常の場合は、ステップS309に進む。
(ステップS308)
メインマイクロコンピュータ110は、メインCPU111に故障があるものの、サブCPU112は正常であると判断し、サブCPU112の出力信号を使用して通常処理(車両の通常制御の動作)を継続する。
(ステップS309)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112どちらにも故障ポテンシャルがあると判断し、車両制御用アクチュエータ202を停止させるなどのフェールセーフ処理に移行する。
(ステップS310)
メインマイクロコンピュータ110は、比較器116の照合不一致の情報を、CPU故障情報として、他ユニットに通知する。また、ステップS305またはステップS309に移行したときのみ、CPU故障情報を他ユニットに通知するとしてもよい。
以上により、CPUの故障発生時、または、CPUの異常発生時において、故障していない正常なCPUを特定することが可能であり、また、故障していない正常なCPUを有効利用することで、運転性能を維持可能な車両制御装置100を提供することが出来る。
実施例1によれば、マイクロコンピュータ(110,120)に内蔵されるCPU(111,112,121,122)において、製造時に混入した異物や経年劣化よって生じるCPUの故障ポテンシャルを判断することにより、CPUの故障を、できる限り早期の段階で検出することができる。また、CPUの故障発生時、または、CPUの異常発生時において、故障していない正常なCPUを特定することが可能であり、故障していない正常なCPUを有効利用することで、運転性能を維持可能な車両制御装置100を提供することが出来る。
実施例1によれば、CPU(111、112、121、122)に電源を供給している電源供給ライン(接続線:L1、L2、L3、L4)を流れるCPUの電流(リーク電流)の値が、電流測定部(電流検出部:150、160、152、162)を利用して検出および測定される。これにより、測定されたリーク電流の値ないし量からトランジスタの劣化状態を判断することができる。つまり、測定されたリーク電流の値ないし量によって、CPUの故障ポテンシャルを判断することができる。
実施例1において、CPUの電流(リーク電流)の値の測定は、駆動状態のCPUを用いて、スタンバイ状態のCPUに電源を供給している電源供給ラインに流れる電流を測定する。CPUが駆動状態のときにおいて、CPUの電源供給ラインを流れる電流はCPUのリーク電流成分とCPUの駆動電流成分とを含んでいる。被測定CPUをスタンバイ状態とすることにより、CPUの駆動電流成分を除いて、CPUのリーク電流成分(Ileak2)のみを測定することが出来る。
故障ポテンシャル診断用のCPUリーク電流(Ileak2)は、マイクロコンピュータまたはCPUの製造ばらつきと、マイクロコンピュータまたはCPUの温度変化によるばらつきと、を含んでいる。これらリーク電流のばらつき要素を排除して、トランジスタ劣化によるCPUリーク電流の増加分のみを抽出するため、測定した故障ポテンシャル診断用のCPUリーク電流の値の補正を行う。補正の対象は、マイクロコンピュータまたはCPUの製造ばらつきによるリーク電流ばらつきの補正と、温度変化によるリーク電流ばらつきの補正との2つの補正である。
マイクロコンピュータまたはCPUの製造ばらつきによるリーク電流ばらつきを補正する方法は、マイクロコンピュータまたはCPU製造時に故障ポテンシャル診断用のCPUリーク電流値(Ileak1)を計測し、マイクロコンピュータの記憶領域(ROM:114、124)にCPU製造時のリーク電流値として記憶させる。現在の故障ポテンシャル診断用のCPUリーク電流値(Ileak2)からマイクロコンピュータまたはCPU製造時のリーク電流値(Ileak1)を減算することで、マイクロコンピュータまたはCPU製造時から現在に至るまでのリーク電流の増加分(ΔIleak)を抽出することができる。
温度によるリーク電流の変化の補正は、あらかじめCPUの温度とCPUのリーク電流の相関マップ(TCM)を用意することで、可能である。マイクロコンピュータまたはCPUの温度は、マイクロコンピュータに内蔵している温度センサ(TSEN:115,125)によりマイクロコンピュータまたはCPUの温度の測定し、測定したCPUの温度とCPUリーク電流の相関マップないし温度変化マップ(TCM)から、温度によるCPUリーク電流の変化量(Icv)を算出する。
温度補正前のCPUリーク電流増加量(ΔIleak)と、相関マップ(TCM)を利用した温度によるCPUリーク電流の変化量(Icv)とを用いて、温度補正後のCPUリーク電流増加量(ΔIleakc)が算出される。温度補正後のCPUリーク電流の増加量(ΔIleakc)が、あらかじめ規定した故障ポテンシャルを有すると判断する電流の増加量(ΔIleakc)の判定閾値(TH)よりも大きい場合、CPUは、完全に故障していないものの、将来、故障となるポテンシャルを有していると判断する。
これにより、現時点ではCPUは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。すなわち、CPUの故障ポテンシャル診断の結果から、故障したCPUを特定することができるので、CPUの故障発生時において、故障していない正常なCPUを使って、車両制御を縮退させることなく、車両の走行性能を維持することができる。
リーク電流の測定とCPU故障ポテンシャル診断は、少なくとも1つのCPUをスタンバイ状態とするために、車両制御装置の起動時またはシャットダウン時に実施することが有効である。また、起動時毎やシャットダウン毎に、診断するCPUの組み合わせを変えてもよい(図9A、図9B,図9C,図9Dを参照)。
図11は、実施例2に係る車両制御装置システムを示す図である。図11に示される車両制御装置システム1aは、図1と同様に、電子制御装置(ECU:Electronic Control Unit)である車両制御装置100aを有する。車両制御装置100aは、車両が搭載する車載機器(例えば、自動変速機、エンジンなど)を電子的に制御する装置である。図11の車両制御装置100aは、図1の車両制御装置100と比較して、メインマイクロコンピュータ110内の比較器116およびサブマイクロコンピュータ120内の比較器126を排除した構成となっている。車両制御装置100aのメインマイクロコンピュータ110は、メインCPU111とサブCPU112で別の制御を同時実行する並列処理型の方式とする。上記以外は車両制御装置100と同じため、その説明は省略する。
図12は、実施例2に係る制御手順を説明する図である。実施例2の制御手順では、車両制御装置100aにおいて、故障ポテンシャル診断の結果が正常か否かを判定し、異常時は本来実施していた制御機能を縮退させる。これにより、完全にCPUが故障するまでの期間を延長させるとともに、完全にCPUが故障しても、車両制御装置100aが本来もつ機能を維持させることが出来る。
(ステップS400)
メインマイクロコンピュータ110及びサブマイクロコンピュータ120は、電源が投入されたことを示す電源信号200を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源IC130とサブ電源IC140はそれぞれ電源信号200に従って電力供給を開始済みであるものとする。以下は、一例として、メインマイクロコンピュータ110の動作について記載する。また、故障ポテンシャル診断は、前述通りであり、同様のため、その説明は省略する。
(ステップS401)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112の故障ポテンシャル診断の実施経験(DHist)があるか否かを判定する。故障ポテンシャル診断の実施経験(DHist)が無い場合は、制御終了し、実施経験(DHist)がある場合は、ステップS402に進む。
(ステップS402)
メインマイクロコンピュータ110は、メインCPU111の故障ポテンシャル診断結果(DRsult(111))が正常か否かを判定する。メインCPU111の故障ポテンシャル診断結果(DRsult(111))が正常の場合、ステップS403に進む。故障ポテンシャル診断結果(DRsult(111))が異常の場合、ステップS407へ進む。
(ステップS403)
メインマイクロコンピュータ110は、サブCPU112の故障ポテンシャル診断結果(DRsult(112))が正常か否かを判定する。サブCPU112の故障ポテンシャル診断結果(DRsult(112))が正常の場合、ステップS404に進む。故障ポテンシャル診断結果(DRsult(112))が異常の場合、ステップS405へ進む。
(ステップS404)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112のどちらにも故障ポテンシャルが無いと判断し、通常タスク動作設定に従う通常動作を継続させる。
(ステップS405、ステップS406)
メインマイクロコンピュータ110は、メインCPU111に故障ポテンシャル無し、サブCPU112に故障ポテンシャル有りと判断する。そして、サブCPU112の制御タスクに割り当てられていた機能(タスクD)を縮小し、サブCPU112の演算負荷を低下させる。これにより、サブCPU112が完全に故障するまでの時間を延長させる。同時に、ステップS406で、メインCPU111の制御タスクに割り当てられていた機能(タスクD)を拡張させる。結果として、メインCPU111とサブCPU112の演算の分担割合が変化するものの、車両制御装置100aのトータルで演算される制御タスクは変わらない状況を作り出すことが可能となる。ただし、メインCPU111の演算負荷限界を超える機能は、メインCPU111に割り当てることはできないことから、メインCPU111に割り当てる機能と、サブCPU112から縮小させる機能は、あらかじめ決定しておく必要がある。図13に、サブCPU112の故障ポテンシャルが高いことを検知したときの制御タスクの割り当て変更の一例を示す、詳細は図13の説明に記す。
(ステップS407)
ステップS403と同様のため省略する。
(ステップS408、ステップS409)
ステップS405、ステップS406と同様の手段とし、メインCPU111の制御タスクの機能(タスク)を縮小し、サブCPU112の制御タスクの機能(タスク)を拡張させる。
(ステップS410)
メインマイクロコンピュータ110は、メインCPU111及びサブCPU112のどちらにも故障ポテンシャルがあると判断し、通常タスク動作設定に従う通常動作を継続させる。なお、ここでいう通常タスク動作設定とは、タスク変更を実施しない通常動作のためのタスク設定の意味合いである。
(制御タスクの割り当て変更の一例)
図13は、実施例2に係る制御タスクの割り当て変更の一例を説明する図である。図13は、サブCPU112の故障ポテンシャルが高いことを検知したときの制御タスクの割り当て変更の一例である。図12の故障ポテンシャル診断によって、メインCPU111及びサブCPU112に故障ポテンシャルが無く、CPUが正常な状態では、図13の(A)に示す様に、メインCPU111は、定時処理としてタスクAとタスクBを実行し、空き時間でバックグラウンドジョブ(以下、BGJ)1を実行する。一方、サブCPU112は定時処理としてタスクCとタスクDを実行し、空き時間でBGJ2を実行する。
ここで、図12の故障ポテンシャル診断によって、サブCPU112に故障ポテンシャル有りと判定された場合、図13の(B)に示す様に、サブCPU112のタスクDをメインCPU111に割り当てるという一例を示している。メインCPU111は、タスクAとタスクBと拡張されたタスクDとを実行し、空き時間でバックグラウンドジョブ(以下、BGJ)1を実行する。一方、サブCPU112はタスクCを実行し、空き時間でBGJ2を実行する。すなわち、サブCPU112で実行されていたタスクDが、メインCPU111へ譲渡された状態である。
図12の故障ポテンシャル診断は電源信号200がオフされた後に実施され、タスク割り当て変更は車両のキーオンにより車両制御装置100aが起動した際に実施される。このため、通常制御中のタスク割り当て変更による制御の急変による車両挙動への影響は無い。
また、サブCPU112は、タスクDの機能をメインCPU111に割り当てて、演算負荷を下げたとはいえ、故障ポテンシャルが高い状態であることは変わらない。サブCPU112が完全に故障した際は、タスクC機能、BGJ2は失われることになるため、予め失われても車両走行に影響のない機能を割り当てるのが良い。この場合、サブCPU112が完全に故障したとしても、車両は安全に走行を継続することができるからである。
なお、図13の(A)のタスク実行状態から、図13の(B)のタスク実行状態からへ変更する場合には、図13の(A)のタスク実行状態を定義する通常タスク動作設定と、図13の(B)のタスク実行状態を定義する異常時タスク動作設定1とを、例えば、メインマイクロコンピュータ110のROM114の記憶領域に格納する。メインCPU111及びサブCPU112に故障ポテンシャルが無く、CPU111,112が正常な状態では、通常タスク動作設定を実行する様にする。一方、サブCPU112に故障ポテンシャルが有ると判定された場合、通常タスク動作設定から、異常時タスク動作設定へ変更する。この通常タスク動作設定から異常時タスク動作設定1への変更は、前述の様に、車両のキーオンにより車両制御装置100aが起動した際に変更するようにする。
なお、メインCPU111に故障ポテンシャルが有ると判定された場合には、上記と同様な思想により、例えば、メインCPU111で実行されていたタスクBを、サブCPU112へ譲渡する様な、タスクの変更を行うことが出来る。この場合、メインCPU111に故障ポテンシャルが有ると判定された場合に利用される異常時タスク動作設定2を、通常タスク動作設定、異常時タスク動作設定1の他に、設ければよい。この異常時タスク動作設定2は、メインマイクロコンピュータ110のROM114の記憶領域に、通常タスク動作設定、異常時タスク動作設定1とともに格納すればよい。
実施例2によれば、故障ポテンシャルが高いCPU(112)が完全に故障する前に、故障ポテンシャルが高いCPU(112)が受け持つ演算制御(タスクD)を他のCPU(111)に譲渡し、車両制御装置(100a)が持つ機能を縮退させることなく、自動車の運転者にCPU故障を通知することができるため、安全かつスムーズに自動車を修理するための移動を行うことができる。
また、実施例2によれば、CPU(112)が完全に故障したとき、故障を検知するまでの故障検知ディレイ時間においても、正常なCPU(111)を使用できる。このため、車両制御装置(100a)の有する本来の運転性能を犠牲にすることが無く、エンジンやトランスミッション等のアクチュエータが急停止や誤作動し、車両が意図しない挙動をすることを防ぐことができる。
また、実施例2によれば、CPU(112)が完全に故障する前に、あらかじめ故障ポテンシャルの高いCPU(112)で演算するタスク(D)を縮退させる。これにより、CPU(112)の演算負荷を下げることかできので、CPU(112)が完全に故障するまでの期間を延長することができる。
図14は、実施例3に係る車両制御装置システムを示す図である。図14に示される車両制御装置システム1bは、図1と同様に、電子制御装置(ECU:Electronic Control Unit)である車両制御装置100bを有する。車両制御装置100bは、車両が搭載する車載機器(例えば、自動変速機、エンジンなど)を電子的に制御する装置である。図14の車両制御装置100bは、図1の車両制御装置100と比較して、メインマイクロコンピュータ110はCPU111のみ有し、サブマイクロコンピュータ120はCPU121のみ有する。この変更に伴い、電流測定部SCM160,162が削除されている。また、メインマイクロコンピュータ110内の比較器116およびサブマイクロコンピュータ120内の比較器126が削除されている。比較器116,126の代わりとして、比較器としての機能を有する信号照合部COMPbが、メインマイクロコンピュータ110およびサブマイクロコンピュータ120とは別の半導体集積回路装置として、車両制御装置100bに設けられる。他の構成は、実施例1と同様であり、その説明は省略される。
信号照合部COMPbは、メインマイクロコンピュータ(第1マイクロコンピュータ)110またはCPU(第1CPU)111の出力信号Smmcとサブマイクロコンピュータ(第2マイクロコンピュータ)120またはCPU(第2CPU)121の出力信号Ssmcとが一致しているか否かを比較する。出力信号Smmcと出力信号Ssmcとが一致の場合、例えば、メインマイクロコンピュータ110の出力信号Smmcが利用されて、信号照合部COMPbは、信号照合部COMPbに接続されるアクチュエータ(ACU)202や信号照合部COMPbにCANバス(CAN bus)を介して接続される表示装置203および電動パワーステアリング装置(EPS)204を駆動する。
信号照合部COMPbは、また、メインマイクロコンピュータ110から故障ポテンシャルの診断結果DResult(121)とサブマイクロコンピュータ120から故障ポテンシャルの診断結果DResult(111)とを受けるようにされており、これら診断信号DResult(121)、DResult(111)に従って、図15で説明される故障ポテンシャル診断結果を用いた制御手順が実行される。
図15は、実施例3に係る制御手順を説明する図である。以下、図15を用いて、実施例3の制御手順を説明する。
(ステップS500)
メインマイクロコンピュータ110及びサブマイクロコンピュータ120は、電源が投入されたことを示す電源信号200を受信すると、本フローチャートを開始する。本フローチャートを開始する時点において、メイン電源IC130とサブ電源IC140はそれぞれ電源信号200に従って電力供給を開始済みであるものとする。
(ステップS501)
信号照合部COMPbは、メインマイクロコンピュータ110の出力信号Smmcとサブマイクロコンピュータ120の出力信号Ssmcとが一致しているか否かを比較し、照合結果が一致するか否かを判定する。信号照合部COMPbの照合結果が一致する場合(YES)は、CPU故障無しとしてステップS502に進む。信号照合部COMPbの照合結果が不一致(NO)の場合は、CPU故障有りとしてステップS503に進む。
(ステップS502)
信号照合部COMPbは、メインマイクロコンピュータ110のCPU111に故障が無いと判定し、メインマイクロコンピュータ110の出力信号Smmcをそのまま使用する。または、サブマイクロコンピュータ120のCPU121に故障が無いと判定し、サブマイクロコンピュータ120の出力信号Ssmcを使用してもよい。
(ステップS503)
信号照合部COMPbは、ステップS112で格納したCPU111の故障ポテンシャル診断結果(DResult(111))が、正常か否かを判定する。CPU111の故障ポテンシャル診断結果(DResult(111))が正常の場合、ステップS504に進む。CPU111の故障ポテンシャル診断結果(DResult(111))が異常の場合は、ステップS507に進む。
(ステップS504)
信号照合部COMPbは、ステップS112で格納したサブマイクロコンピュータ120のCPU121の故障ポテンシャル診断結果(DResult(121))が、正常か否かを判定する。CPU121の故障ポテンシャル診断結果(DResult(121))が正常の場合、ステップS505に進む。CPU121の故障ポテンシャル診断結果(DResult(121))が異常の場合は、ステップS506に進む。
(ステップS505)
メインマイクロコンピュータ110のCPU111及びサブマイクロコンピュータ120のCPU121以外に故障があると判断し、車両制御用アクチュエータ202を停止させるなどのフェールセーフ処理に移行する。
(ステップS506)
信号照合部COMPbは、サブマイクロコンピュータ120のCPU121に故障があるものの、メインマイクロコンピュータ110のCPU111は正常であると判断し、メインマイクロコンピュータ110の出力信号Smmcを使用して通常処理(車両の通常制御の動作)を継続する。
(ステップS507)
ステップS507はステップS504と同様の判定を実施する。CPU121の故障ポテンシャル診断結果(DResult(121))が正常の場合、ステップS508に進む。CPU121の故障ポテンシャル診断結果(DResult(121))が異常の場合は、ステップS509に進む。
(ステップS508)
信号照合部COMPbは、メインマイクロコンピュータ110のCPU111に故障があるものの、サブマイクロコンピュータ120のCPU121は正常であると判断し、メインマイクロコンピュータ110の出力信号Sscmを使用して通常処理(車両の通常制御の動作)を継続する。
(ステップS509)
信号照合部COMPbは、メインマイクロコンピュータ110のCPU111及びサブマイクロコンピュータ120のCPU121どちらにも故障ポテンシャルがあると判断し、車両制御用アクチュエータ202を停止させるなどの安全状態に遷移し、フェールセーフ処理に移行する。
なお、信号照合部COMPbは、照合不一致の情報をCPU故障情報として、他ユニットに通知しても良い。また、ステップS505またはステップS509に移行したときのみ、CPU故障情報を他ユニットに通知するとしてもよい。
実施例3によれば、実施例1と同様な効果を得る事が可能であり、現時点ではCPUは正常に演算できるが将来的に故障する可能性がある状態を早期の段階で検出することができる。
CPU故障ポテンシャル診断の結果から、故障したCPUを特定することができるので、CPUの故障発生時やCPUの異常発生時において、故障していない正常なCPUを有効に利用して、車両制御を縮退させることなく、運転性能を維持可能な車両制御装置(100b)を提供することが出来る。
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
100:車両制御装置110:メインマイクロコンピュータ(MMC)111:メインCPU(MCPU)112:サブCPU(SCPU)113:RAM114:ROM115:温度センサ(TSEN)116:比較器(COMP)120:サブマイクロコンピュータ(SMC)130:メイン電源IC(MPSP)140:サブ電源IC(SPSP)150:メインCPU電流測定部(MCM)160:サブCPU電流測定部(SCM)200:電源信号(PS)201:バッテリ(BAT)202:アクチュエータ(ACU)203:表示装置(DISP)L1,L2,L3,L4:接続線

Claims (17)

  1. メインCPUとサブCPUと前記メインCPUからの出力信号と前記サブCPUからの出力信号とを比較する比較部とを有するマイクロコンピュータと、
    電源部と、
    前記電源部と前記メインCPUとを接続する第1接続線と、
    前記電源部と前記サブCPUとを接続する第2接続線と、
    前記第1接続線に流れるリーク電流値と前記第2接続線に流れるリーク電流値とを検出する電流検出部と、を有し、
    前記マイクロコンピュータは、前記メインCPUと前記サブCPUとに同じ入力信号を与えたときの出力信号を前記比較部で比較するロックステップ方式によりCPUの故障を診断し、
    前記マイクロコンピュータは、前記比較部の比較結果が不一致の場合において、前記第1接続線と前記第2接続線の一方に流れる前記リーク電流値がしきい値より大きく、かつ、前記第1接続線と前記第2接続線の他方に流れる前記リーク電流値が前記しきい値以下の場合、前記他方に接続される前記メインCPU、又は前記サブCPUを用いて運転を継続する、車両制御装置。
  2. 請求項1の車両制御装置において、
    温度センサを有し、
    前記リーク電流値は、前記温度センサからの温度情報と前記マイクロコンピュータの製造時のリーク電流値とにより、補正されたリーク電流値である、車両制御装置。
  3. 請求項2の車両制御装置において、
    前記電流検出部は、前記マイクロコンピュータがスタンバイ状態とされる時、前記電流値を検出し、
    前記補正されたリーク電流値は、前記電流値と、前記温度情報と、リーク電流と温度との相関を表す温度補正マップと、前記マイクロコンピュータの製造時のリーク電流値と、により算出される、車両制御装置。
  4. 第1CPUを内蔵する第1マイクロコンピュータと、
    第2CPUを内蔵する第2マイクロコンピュータと、
    電源部と、
    前記電源部と前記第1CPUとを接続する第1接続線と、
    前記電源部と前記第2CPUとを接続する第2接続線と、
    前記第1接続線に流れる第1リーク電流値を検出する第1電流検出部と、
    前記第2接続線に流れる第2リーク電流値と検出する第2電流検出部と、を有し、
    前記第1マイクロコンピュータは、前記第2電流検出部に接続され、前記第2リーク電流値と第2しきい値とを比較し、
    前記第2マイクロコンピュータは、前記第1電流検出部に接続され、前記第1リーク電流値と第1しきい値とを比較する、車両制御装置。
  5. 請求項4の車両制御装置において、
    前記第1マイクロコンピュータは、前記第2電流検出部に接続された第1アナログデジタル変換回路を有し、
    前記第2マイクロコンピュータは、前記第1電流検出部に接続された第2アナログデジタル変換回路を有する、車両制御装置。
  6. 請求項5の車両制御装置において、
    前記第1マイクロコンピュータは、前記第2マイクロコンピュータがスタンバイ状態のとき、前記第1アナログデジタル変換回路を用いて前記第2リーク電流値を計測し、
    前記第2マイクロコンピュータは、前記第1マイクロコンピュータがスタンバイ状態のとき、前記第2アナログデジタル変換回路を用いて、前記第1リーク電流値を計測する、車両制御装置。
  7. 第1CPUと、
    第2CPUと、
    前記第1CPUからの出力信号と前記第2CPUからの出力信号とを比較する比較部と、
    を含み、
    前記比較部は、前記第1CPUと前記第2CPUとに同じ入力情報を与え、前記第1CPUの出力信号と前記第2CPUの出力信号とを比較することでロックステップ方式によりCPU故障診断し、前記第1CPUと前記第2CPUとに異常が無ければ、前記比較部の比較結果は一致し、前記第1CPUまたは前記第2CPUに異常があれば、前記比較部の比較結果は不一致とされ、
    前記第1CPUのリーク電流値と前記第2CPUのリーク電流値とを、しきい値と比較することにより、前記第1CPUおよび前記第2CPUを構成するトランジスタの劣化状態を故障ポテンシャルの有無として判断し、
    前記リーク電流値が前記しきい値を上回る場合、前記故障ポテンシャルを有と判断し、前記リーク電流値が前記しきい値を下回る場合、前記故障ポテンシャルを無と判断し、前記故障ポテンシャルの有の判断は、現時点では対応するCPUは正常に演算できるが将来的に故障する可能性がある状態を示し、
    前記比較部の前記比較結果が不一致の場合、前記故障ポテンシャルの有無の判断が判定され、
    前記第1CPUおよび前記第2CPUの各々の前記故障ポテンシャルが無の判断の場合、前記第1CPUおよび前記第2CPU以外に異常があると判断して、フェールセーフ処理へ移行し、
    前記第1CPUおよび前記第2CPUの各々の前記故障ポテンシャルが有の場合、前記第1CPUおよび前記第2CPUともに異常がある判断して、フェールセーフ処理へ移行し、
    前記第1CPUおよび前記第2CPUの一方の前記故障ポテンシャルが無の判断であり、前記第1CPUおよび前記第2CPUの他方の前記故障ポテンシャルが有の判断の場合、前記故障ポテンシャルが有の判断とされた前記第1CPUおよび前記第2CPUの他方に故障があると判断し、前記故障ポテンシャルを無と判断された前記第1CPUおよび前記第2CPUの一方を用いて、車両の運転を継続させる、車両制御装置。
  8. 請求項7の車両制御装置において、
    前記第1CPU、前記第2CPU、および、前記比較部を内蔵するマイクロコンピュータと、
    電源部と、
    前記電源部と前記第1CPUとを接続する第1接続線と、
    前記電源部と前記第2CPUとを接続する第2接続線と、
    前記第1接続線に流れる電流値と前記第2接続線に流れる電流値とを検出する電流測定部と、
    温度センサと、を有する、車両制御装置。
  9. 請求項8の車両制御装置において、
    前記第1CPUのリーク電流値と前記第2CPUのリーク電流値とは、前記電流測定部により測定された前記電流値を、前記マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値である、車両制御装置。
  10. 請求項9の車両制御装置において、
    前記電流測定部は、前記マイクロコンピュータがスタンバイ状態とされる時、前記電流値を検出する、車両制御装置。
  11. 請求項7の車両制御装置において、
    前記第1CPUを内蔵する第1マイクロコンピュータと、
    前記第2CPUを内蔵する第2マイクロコンピュータと、
    電源部と、
    前記電源部と前記第1CPUとを接続する第1接続線と、
    前記電源部と前記第2CPUとを接続する第2接続線と、
    前記第1接続線に流れる第1電流値を検出する第1電流測定部と、
    前記第2接続線に流れる第2電流値と検出する第2電流測定部と、
    温度センサと、を有する、車両制御装置。
  12. 請求項11の車両制御装置において、
    前記第1CPUのリーク電流値は、前記第1電流値を、前記第1マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値であり、
    前記第2CPUのリーク電流値は、前記第2電流値を、前記第2マイクロコンピュータの製造時のリーク電流値と、前記温度センサからの温度情報と、リーク電流と温度との相関を表す温度補正マップとにより、補正されたリーク電流値である、車両制御装置。
  13. 請求項12の車両制御装置において、
    前記第1マイクロコンピュータは、前記第2電流測定部に接続された第1アナログデジタル変換回路を有し、
    前記第2マイクロコンピュータは、前記第1電流測定部に接続された第2アナログデジタル変換回路を有する、車両制御装置。
  14. 請求項13の車両制御装置において、
    前記第1アナログデジタル変換回路は、前記第2マイクロコンピュータがスタンバイ状態のとき、前記第2電流測定部を用いて、前記第2電流値を計測し、
    前記第2アナログデジタル変換回路は、前記第1マイクロコンピュータがスタンバイ状態のとき、前記第1電流測定部を用いて、前記第1電流値を計測する、車両制御装置。
  15. 請求項14の車両制御装置において、
    前記第1マイクロコンピュータと前記第2マイクロコンピュータの一方がスタンバイ状態とされ、前記第1マイクロコンピュータと前記第2マイクロコンピュータの他方が起動状態とされ、
    前記起動状態とされた前記第1マイクロコンピュータまたは前記第2マイクロコンピュータにより、前記スタンバイ状態とされた前記第1マイクロコンピュータの前記第1電流値または前記第2マイクロコンピュータの前記第2電流値が計測される、車両制御装置。
  16. 請求項15の車両制御装置において、
    前記スタンバイ状態とされた前記第1マイクロコンピュータの前記第1電流値または前記第2マイクロコンピュータの前記第2電流値の計測は、前記第1マイクロコンピュータおよび前記第2マイクロコンピュータがセルフシャット処理を完了した後、行われる、車両制御装置。
  17. 請求項16の車両制御装置において、
    前記セルフシャット処理毎に、前記第1マイクロコンピュータと前記第2マイクロコンピュータの前記スタンバイ状態および前記起動状態が切り替えられる、車両制御装置。
JP2019550964A 2017-10-24 2018-10-10 車両制御装置 Active JP6807467B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017205116 2017-10-24
JP2017205116 2017-10-24
PCT/JP2018/037657 WO2019082647A1 (ja) 2017-10-24 2018-10-10 車両制御装置

Publications (2)

Publication Number Publication Date
JPWO2019082647A1 JPWO2019082647A1 (ja) 2020-08-06
JP6807467B2 true JP6807467B2 (ja) 2021-01-06

Family

ID=66246924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019550964A Active JP6807467B2 (ja) 2017-10-24 2018-10-10 車両制御装置

Country Status (2)

Country Link
JP (1) JP6807467B2 (ja)
WO (1) WO2019082647A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230074362A (ko) * 2021-11-19 2023-05-30 주식회사 모베이스전자 자율주행차량의 리던던시 제어 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019113139A1 (de) * 2019-05-17 2020-11-19 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Vorrichtung und Verfahren zur Stromsteuerung eines Aktuators
KR102191169B1 (ko) * 2019-11-26 2020-12-16 주식회사 오비고 이종 dcu의 출력 값을 사용하는 ads를 통해 자율 주행에서 발생할 수 있는 dcu들의 오판 상황을 방지하는 방법 및 이를 이용한 장치
WO2021111554A1 (ja) * 2019-12-04 2021-06-10 三菱電機株式会社 車両制御装置
DE102020204529A1 (de) * 2020-04-08 2021-10-14 Robert Bosch Gesellschaft mit beschränkter Haftung Systemeinheit mit einem ersten Aktorsystem und einem zweiten Aktorsystem

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4894228B2 (ja) * 2005-11-02 2012-03-14 トヨタ自動車株式会社 車両用電子制御装置の電源管理システム
JP5601127B2 (ja) * 2010-09-28 2014-10-08 株式会社デンソー 制御装置
JP2015035073A (ja) * 2013-08-08 2015-02-19 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の制御方法
JP6557157B2 (ja) * 2016-01-29 2019-08-07 矢崎総業株式会社 電源制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230074362A (ko) * 2021-11-19 2023-05-30 주식회사 모베이스전자 자율주행차량의 리던던시 제어 시스템
KR102537986B1 (ko) * 2021-11-19 2023-05-31 주식회사 모베이스전자 자율주행차량의 리던던시 제어 시스템

Also Published As

Publication number Publication date
JPWO2019082647A1 (ja) 2020-08-06
WO2019082647A1 (ja) 2019-05-02

Similar Documents

Publication Publication Date Title
JP6807467B2 (ja) 車両制御装置
US20090024775A1 (en) Dual core architecture of a control module of an engine
US20170091017A1 (en) Fault detecting device and method
KR102071404B1 (ko) Bms의 페일 세이프 장치 및 방법
JP2013025570A (ja) 電子制御ユニット
JP2005086108A (ja) 半導体集積回路
JP5582748B2 (ja) 車両用電子制御装置
US20150012781A1 (en) Power supply diagnostic strategy
US9384078B2 (en) Method for diagnosing a mechanism of untimely cut-offs of the power supply to a motor vehicle computer
JP6012918B1 (ja) 制御システム及び制御方法
US11820252B2 (en) Battery diagnostic device, battery diagnostic method, battery diagnostic program, and vehicle
JP6869743B2 (ja) 自動車用電子制御装置
JP4710386B2 (ja) 電源装置
WO2015076012A1 (ja) 電子制御装置、ソフトウェア書き換えシステム
US20170169630A1 (en) Diagnosis circuit, semiconductor device, on-vehicle electronic control unit, and diagnosis method by diagnosis circuit
US20190178928A1 (en) Electronic control device
JP7099793B2 (ja) メイン制御部の異常診断システムおよび方法
JP6075262B2 (ja) 制御装置
WO2019207905A1 (ja) 車載制御装置
JP2018090214A (ja) 自動車用電子制御装置及び自動車用電子制御装置のリセット方法
JP4026924B2 (ja) 自動車用電子制御装置
JP2015162102A (ja) 車両用制御装置
JP2013193721A (ja) 共用電源装置
JP7363448B2 (ja) 電子装置
EP3736583A1 (en) System and method to provide safety partition for automotive system-on-a-chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201207

R150 Certificate of patent or registration of utility model

Ref document number: 6807467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250