(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る車両制御システムAの概略構成図である。本車両制御システムAは、例えば電気自動車またはプラグインハイブリッド車等のモータを動力源とする車両に搭載されて、主に高圧バッテリの充放電制御及びモータ制御を行うものであり、高圧バッテリ1、低圧バッテリ2、バッテリチャージャ3、ジャンクションボックス4、インバータ5、モータ6、モータECU(Electric Control Unit)7及びバッテリECU8から構成されている。
【0015】
高圧バッテリ1は、直列接続された複数の電池セル(例えば、リチウムイオン電池セルやニッケル水素電池セル等)で構成され、例えば数百ボルトの高圧直流電圧を出力するモータ駆動用のバッテリである。この高圧バッテリ1の両端子(正極端子及び負極端子)は、ジャンクションボックス4に接続されている。低圧バッテリ2は、バッテリECU8にシステム電源電圧Vs(例えば12ボルト)を供給するために設けられたバッテリである。
【0016】
バッテリチャージャ3は、高圧バッテリ1の充電時に、車両外部に設置された交流電源Bに接続される充電回路であり、バッテリECU8による制御の下、交流電源Bから供給される交流電圧を所定電圧値の直流電圧に変換してジャンクションボックス4に出力する。ジャンクションボックス4(接続先切替器)は、バッテリECU8による制御の下、高圧バッテリ1の両端子の接続先を、充電時にはバッテリチャージャ3の両出力端子に切替え、放電時(モータ6の駆動時)にはインバータ5の両入力端子に切替える。
【0017】
インバータ5は、モータECU7から入力されるPWM(Pulse Width Modulation)信号に応じてスイッチング動作を行うことにより、高圧バッテリ1からジャンクションボックス4を介して入力される高圧直流電圧を、所定周波数の交流電圧に変換してモータ6に出力する。モータ6は、車両の動力源として用いられる例えば三相ブラシレスモータであり、インバータ5から供給される交流電圧に応じて回転する。
【0018】
モータECU7は、バッテリECU8と通信可能に接続されており、バッテリECU8からモータ6の駆動要求を受けた時(高圧バッテリ1の接続先がインバータ5に切替わった時)に、インバータ5に供給すべきPWM信号を生成する。なお、このモータECU7は、上位ECU(図示省略)とも通信可能に接続されており、上位ECUから送信される運転情報(例えばアクセルの踏込み量等)に応じてPWM信号のデューティ比及び周波数を変化させることにより、モータ6の回転状態を制御する。
【0019】
バッテリECU8は、高圧バッテリ1の充放電制御を行う電子制御装置であり、ジャンクションボックス4を制御して、高圧バッテリ1の接続先を、充電時にはバッテリチャージャ3に、放電時にはインバータ5に切替える。このバッテリECU8は、高圧バッテリ1の充電時には、高圧バッテリ1の電圧状態を監視しながらバッテリチャージャ3を制御することで、高圧バッテリ1が適正な電圧値まで充電されるようにする。
【0020】
図2は、バッテリECU8のブロック構成図である。この
図2に示すように、バッテリECU8は、CPU11、ウォッチドッグタイマ(WDT)12、ラッチ回路13、AND回路14、3ステートバッファ15、出力インターフェイス16、パワーオンリセット回路17、OR回路18及びタイマ19を備えている。
【0021】
CPU11(処理部)は、不図示の不揮発性メモリに記憶されている制御プログラムに従って高圧バッテリ1の充放電制御に必要な処理を実行する中央演算処理装置である。つまり、このCPU11が、バッテリチャージャ3及びジャンクションボックス4の制御や、モータECU7に対してモータ6の駆動要求を行う。
【0022】
このCPU11は、各種処理によって得られた信号を3ステートバッファ15を介して出力インターフェイス16へ出力する。また、このCPU11は、一定周期でWDTパルス信号WDTPLSをWDT12へ出力すると共に、出力禁止レベル(例えばハイレベル)と出力許可レベル(例えばローレベル)の2つの状態を有するCPU出力イネーブル信号CPUOE(第2の出力イネーブル信号)をAND回路14へ出力する。
【0023】
詳細は後述するが、このCPU11には、ラッチ回路13から出力されるWDT出力イネーブル信号WDTOEが割込み信号として入力されると共に、3ステートバッファ15の出力信号が入力されており、CPU11は、これら割込み信号(WDT出力イネーブル信号WDTOE)及び3ステートバッファ15の出力信号を基にWDT12の故障診断を行う。
【0024】
また、CPU11は、省電力状態であるスリープ状態への移行機能を有しており、起動要因の発生状況(各起動要因信号の状態)に応じてスリープ状態と通常動作状態とのいずれか一方の状態に切り替わる。なお、CPU11には起動要因信号として、例えば、イグニションスイッチのオン/オフ状態を示す第1起動要因信号IG-SW、急速充電スイッチのオン/オフ状態を示す第2起動要因信号QCPL、及び通常充電スイッチのオン/オフ状態を示す第3起動要因信号CPLが外部入力されている。
【0025】
WDT12は、CPU11の状態を監視するために用いられるハードウェアタイマであり、CPU11から一定周期で入力されるWDTパルス信号WDTPLSによってリセットされるタイムカウンタを備えている。このタイムカウンタは、CPU11からWDT12へのWDTパルス信号WDTPLSの出力が停止した後もカウントアップを続け、一定時間の経過後にオーバーフローとなる。WDT12は、オーバーフロー発生の有無によってレベルが反転する信号をオーバーフローリセット信号RSTとしてラッチ回路31へ出力する。具体的には、WDT12は、オーバーフローが発生した時に、このオーバーフローリセット信号RSTのレベルをハイレベルからローレベルへと一定期間だけ反転させる。
【0026】
ラッチ回路13は、WDT12から出力されるオーバーフローリセット信号RSTをラッチし、当該ラッチによって得られた信号をWDT出力イネーブル信号WDTOE(第1の出力イネーブル信号)としてCPU11の割込み端子INT及びAND回路14へ出力する。なお、このWDT出力イネーブル信号WDTOEは、CPU出力イネーブル信号CPUOEと同様に、出力禁止レベル(例えばハイレベル)と出力許可レベル(例えばローレベル)の2つの状態を有する信号である。
【0027】
AND回路14は、ラッチ回路13から入力されるWDT出力イネーブル信号WDTOEと、CPU11から入力されるCPU出力イネーブル信号CPUOEとの論理積を演算し、その演算結果を示す信号を最終的な出力イネーブル信号OEとして3ステートバッファ15の制御端子へ出力する。3ステートバッファ15は、CPU11と出力インターフェイス16との間に介挿され、AND回路14から制御端子に入力される出力イネーブル信号OEに応じて、CPU11から入力された出力信号を出力インターフェイス16へと出力する。
【0028】
具体的には、この3ステートバッファ15は、出力イネーブル信号OEが出力許可レベルの場合、CPU11の出力信号を出力インターフェイス16へとそのまま出力し、出力イネーブル信号OEが出力禁止レベルの場合、出力端子をハイインピーダンス状態として出力を停止する。つまり、出力イネーブル信号OEが出力許可レベルの場合には、3ステートバッファ15の出力も出力許可レベルとなり、出力イネーブル信号OEが出力禁止レベルの場合には、3ステートバッファ15の出力も出力禁止レベルとなる。
【0029】
出力インターフェイス16は、CPU11の出力信号(3ステートバッファ15の出力信号)を、バッテリECU8と接続された外部装置へ送信する通信インターフェイスである。パワーオンリセット回路17は、バッテリECU8の電源投入時において、電源電圧VBUがCPU11の正常動作を保証する規定電圧VBU_thに達するまではローレベル、電源電圧VBUが規定電圧VBU_thに達した以降はハイレベルとなるパワーオンリセット信号P_RESをCPU11のリセット端子RES_C、WDT12のリセット端子RES_W及びOR回路18へ出力する。
つまり、バッテリECU8の電源投入時において、電源電圧VBUが規定電圧VBU_thに達するまで、CPU11及びWDT12がリセット状態に維持されることになる。
【0030】
OR回路18は、パワーオンリセット回路17から入力されるパワーオンリセット信号P_RESと、外部入力される各起動要因信号(IG-SW、QCPL、CPL)との論理和を演算し、その演算結果を示す信号をタイマ19を介してラッチ回路13のリセット端子RES_Lへ出力する。タイマ19は、OR回路18の出力信号を一定時間遅らせてラッチ回路13のリセット端子RES_Lへ出力する。
つまり、ラッチ回路13は、CPU11の起動要因信号(IG-SW、QCPL、CPL)またはパワーオンリセット信号P_RESのいずれか一方の入力によってリセットされ、且つCPU11及びWDT12よりも一定時間遅れてリセットが解除されることになる。
【0031】
次に、上記のように構成されたバッテリECU8の動作について、
図3及び
図4を参照しながら詳細に説明する。
【0032】
図3は、電源電圧VBUと、パワーオンリセット信号P_RESと、第1起動要因信号IG-SWと、CPU11の状態と、CPU出力イネーブル信号CPUOEと、WDTパルス信号WDTPLSと、WDT12のリセット端子RES_Wの電位と、オーバーフローリセット信号RSTと、WDT出力イネーブル信号WDTOEと、ラッチ回路13のリセット端子RES_Lの電位と、3ステートバッファ15の出力レベルとの時間的な対応関係を表すタイミングチャートである。
【0033】
図3の時刻t0からt1までの期間では、バッテリECU8に電源電圧VBUが供給されておらず、CPU11はスリープ状態にあると想定する。ここで、時刻t1に電源投入が為されたとすると、電源電圧VBUは一定の時間をかけて徐々に最大電圧まで上昇する。電源投入がイグニションスイッチのオン操作に起因するものだとすると、時刻t1から第1起動要因信号IG-SWがハイレベルに向かって立ち上り始めるが、電源電圧VBUが規定電圧VBU_thに達する時刻t2までパワーオンリセット信号P_RESがローレベルに維持されるため、時刻t1から時刻t2までの期間ではCPU11はリセット状態に維持される。
【0034】
また、この時刻t1から時刻t2までの期間では、WDT12のリセット端子RES_Wの電位と、ラッチ回路13のリセット端子RES_Lの電位とが共にローレベルに維持されるため、WDT12のタイムカウンタのリセット、及びラッチ回路13のリセットが行われる。
時刻t2に電源電圧VBUが規定電圧VBU_thに達すると、パワーオンリセット信号P_RESがハイレベルに反転するため、CPU11及びWDT12のリセットが解除される。なお、ラッチ回路13はCPU11及びWDT12よりも一定時間遅れてリセットが解除される(ラッチ回路13のリセット端子RES_Lの電位を参照)。
【0035】
時刻t2にリセットが解除されると、CPU11は、スリープ状態から起動し、時刻t3から一定周期でWDTパルス信号WDTPLSをWDT12へ出力し始める一方、時刻t2以降、出力禁止レベル(ハイレベル)に設定していたCPU出力イネーブル信号CPUOEを、時刻t3より遅い時刻t4(起動が完了し、通常動作状態に完全移行した時刻)から出力許可レベル(ローレベル)に反転させる。
【0036】
時刻t3以降、WDTパルス信号WDTPLSがWDT12へ出力され続けている間では、WDT12のタイムカウンタが正常にリセットされてオーバーフローが発生しないため、WDT12から出力されるオーバーフローリセット信号RSTはハイレベルに維持される。この間、ラッチ回路13から出力されるWDT出力イネーブル信号WDTOEは出力許可レベル(ローレベル)に維持されることになる。
【0037】
つまり、時刻t4以降、CPU11から出力されるCPU出力イネーブル信号CPUOEと、ラッチ回路13から出力されるWDT出力イネーブル信号WDTOEとが共に出力許可レベルとなるため、AND回路14から出力される出力イネーブル信号OEが出力許可レベルとなり、その結果、3ステートバッファ15の出力レベルも出力許可レベルとなる。
【0038】
通常動作時では、WDT12が故障していない限り、CPU11からWDT12へのWDTパルス信号WDTPLSの出力を継続することにより、上記のように3ステートバッファ15の出力レベルが出力許可レベルに維持されるため、CPU11が制御プログラムに従って実行した各種処理によって得られた信号を、問題なく、出力インターフェイス16を介して外部装置へ出力することができる。
【0039】
ここで、CPU11が暴走して、時刻t5以降、WDT12へのWDTパルス信号WDTPLSの出力が停止したと想定する。WDT12のタイムカウンタは、WDTパルス信号WDTPLSの出力が停止した後もカウントアップを続け、一定時間の経過後にオーバーフローとなる。時刻t6にオーバーフローが発生したとすると、WDT12は、この時刻t6において、オーバーフローリセット信号RSTのレベルをハイレベルからローレベルへと一定期間だけ反転させる。
【0040】
すると、ラッチ回路13は、上記のようなオーバーフローリセット信号RSTのレベル変化をトリガとしてオーバーフローリセット信号RSTをラッチする。これにより、時刻t6以降、ラッチ回路13から出力されるWDT出力イネーブル信号WDTOEは出力禁止レベル(ハイレベル)に反転することになる。WDT出力イネーブル信号WDTOEはCPU11の割込み端子INTに入力されているので、CPU11は、割込み端子INTに入力されたWDT出力イネーブル信号WDTOEに基づいて、WDT12のオーバーフローが発生したか否かを判断する。
【0041】
CPU11は、WDT出力イネーブル信号WDTOEを基にWDT12のオーバーフローが発生したと判断すると、CPU出力イネーブル信号CPUOEのレベルを出力禁止レベル(ハイレベル)に反転させる。これにより、時刻t6以降、CPU11から出力されるCPU出力イネーブル信号CPUOEと、ラッチ回路13から出力されるWDT出力イネーブル信号WDTOEとが共に出力禁止レベルとなるため、AND回路14から出力される出力イネーブル信号OEが出力禁止レベルとなり、その結果、3ステートバッファ15の出力レベルも出力禁止レベルとなる。
【0042】
つまり、CPU11の暴走時には、3ステートバッファ15から出力インターフェイス16への信号伝達が遮断されるので、異常な信号が出力インターフェイス16を介して外部装置へ出力されてしまうことを防止することができる。
このように、WDT12が正常の場合、CPU11からWDT12へのWDTパルス信号WDTPLSの出力が停止すると、WDT出力イネーブル信号WDTOE、CPU出力イネーブル信号CPUOE、出力イネーブル信号OE及び3ステートバッファ15の出力レベルの全てが出力禁止レベルとなる。これを利用すれば、以下で説明する手法によってWDT12の故障診断を行うことが可能となる。
【0043】
CPU11は、通常動作中(
図3の時刻t4以降の期間)に起動要因の消滅(例えば第1起動要因信号IG-SWがローレベルになる等)を検知すると、
図4に示すフローチャートに従ってスリープ移行処理を実行し、このスリープ移行処理の中でWDT12の故障診断を行う。
【0044】
図4に示すように、CPU11は、起動要因の消滅を検知してスリープ移行処理を開始すると、まず、レジスタ待避等のスリープ移行前準備を行った後(ステップS1)、WDT12へのWDTパルス信号WDTPLSの出力を停止し(ステップS2)、ソフトウェアタイマである故障監視タイマをセットする(ステップS3)。ここで、故障監視タイマの設定時間は、少なくとも、
図3中の時刻t5から時刻t6までの時間、つまりWDT12へのWDTパルス信号WDTPLSの出力を停止してからWDT12にてオーバーフローが発生するまでの時間に設定することが望ましい。
【0045】
そして、CPU11は、割込み端子INTに入力されるWDT出力イネーブル信号WDTOEのレベルからWDT12にてオーバーフローが発生したか否かを判断する(ステップS4)。CPU11は、ステップS4にて「No」の場合(WDT出力イネーブル信号WDTOEが出力許可レベルでオーバーフローは発生していないと判断した場合)、故障監視タイマの設定時間が経過したか否かを判断する(ステップS5)。
【0046】
CPU11は、上記ステップS5にて「No」の場合、上記ステップS4の処理に戻る一方、上記ステップS5にて「Yes」の場合、つまりWDT12へのWDTパルス信号WDTPLSの出力を停止したにも関わらず、故障監視タイマの設定時間を越えてもオーバーフローが発生しない場合には、WDT12の故障と判断する(ステップS6)。
【0047】
また、CPU11は、上記ステップS4にて「Yes」の場合、つまりWDTパルス信号WDTPLSの出力停止後、故障監視タイマの設定時間内にオーバーフローが発生した場合、3ステートバッファ15の出力レベルが出力禁止レベルか否かを判断する(ステップS7)。前述のように、WDT12が正常ならば、WDTパルス信号WDTPLSの出力停止後、3ステートバッファ15の出力レベルが出力禁止レベルになるはずである。
【0048】
そこで、CPU11は、上記ステップS7にて「Yes」の場合(3ステートバッファ15の出力レベルが出力禁止レベルの場合)、WDT12が正常と判断し(ステップS8)、一方、上記ステップS7にて「No」の場合(3ステートバッファ15の出力レベルが出力許可レベルの場合)、WDT12の故障と判断する(ステップS9)。
そして、CPU11は、上記ステップS6、S8或いはS9にてWDT12が故障か正常かを判断すると、それらの故障診断結果をメモリに保存した後、
図3に示すようにスリープ状態へと移行する(ステップS10)。
【0049】
以上説明したように、本実施形態によれば、スリープ状態への移行機能を有するCPU11が、スリープ状態への移行前にWDT12の故障診断を行うので、従来技術のようにCPU11の起動時間の遅延を発生させることなく、WDT12の故障診断を行うことが可能となる。
【0050】
なお、本発明は上記実施形態に限定されず、以下のような変形例が挙げられる。
(1)上記実施形態では、
図4のステップS7の処理において、3ステートバッファ15の出力レベルが出力禁止レベルか否かを判断する場合を例示したが、前述のように、WDT12が正常ならば、AND回路14から出力される出力イネーブル信号OEも出力禁止レベルとなるので、ステップS7にて、出力イネーブル信号OEが出力禁止レベルか否かを判断するようにしても良い。
【0051】
(2)上記実施形態では、WDT12へのWDTパルス信号WDTPLSの出力を停止させてから規定時間内にオーバーフローが発生したか否かを判断し、オーバーフローが発生した場合でも3ステートバッファ15の出力レベルが出力禁止レベルとなったか否かを判断することで、WDT12の故障診断を行っていたが、WDT12へのWDTパルス信号WDTPLSの出力を停止させてから規定時間内にオーバーフローが発生したか否かを判断することのみで、WDT12の故障診断を行うようにしても良い。
この場合、WDT12へのWDTパルス信号WDTPLSの出力を停止させてから規定時間内にオーバーフローが発生すれば、WDT12は正常であると判断し、規定時間内にオーバーフローが発生しなければ、WDT12は故障であると判断すれば良い。
【0052】
(3)上記実施形態では、本発明に係る電子制御装置として、例えば電気自動車やプラグインハイブリッド車等のモータを動力源とする車両に搭載された高圧バッテリ1の充放電制御を行うバッテリECU8を例示したが、本発明はこれに限定されず、スリープ状態への移行機能を有する処理部と、この処理部から一定周期で出力されるパルス信号によってリセットされるタイムカウンタを有すると共にオーバーフロー発生の有無によってレベルが反転する信号を出力するウォッチドッグタイマとを備えた電子制御装置に広く適用することができる。
【0053】
(4)上記実施形態では、電気自動車またはプラグインハイブリッド車等の外部から高圧バッテリ1の充電が可能な車両に搭載される車両制御システムAを例示したが、本発明はこれに限定されず、ハイブリッド車など、エンジンとモータを動力源とし、外部からの高圧バッテリ1の充電が不可能な車両に搭載される車両制御システムにも適用できる。
【0054】
図5は、ハイブリッド車に搭載される車両制御システムA1の一例を示す構成概略図である。
図5において、車両制御システムAと同じ構成要素には同一符号を付している。この
図5に示すように、車両制御システムA1は、モータ6とエンジン9が同一軸にて連結され、両方が車輪10の動力源として使用されるパラレル方式を採用したハイブリッドシステムである。なお、パラレル方式以外のハイブリッドシステムとしても良い。
【0055】
エンジン9は、エンジンECU11によって燃料噴射量、燃料噴射タイミング、点火タイミング等が制御される。このエンジンECU11と、モータECU7及びバッテリECU8は通信可能に接続されており、互いに情報を共有しながら、モータ6とエンジン9の協調制御による車両の走行を実現している。