(57)【特許請求の範囲】
【請求項１】
原動機を用いた移動体に使用される制御装置であって、
前記原動機の動作を制御するために、第１と第２のＣＰＵを含む互いに接続された複数のＣＰＵを備えており、
前記第１のＣＰＵは、リセット信号が与えられてリセットされたときに、前記第２のＣＰＵを含む所定の範囲の回路にリセットを引き起こす第１のリセット事象を実行する第１のリセット実行手段を有しており、
前記第２のＣＰＵは、前記第１のリセット事象において前記第２のＣＰＵがリセットされたときには前記第１のＣＰＵにリセット信号を供給せず、前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する第２のリセット実行手段を有していることを特徴とする制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記第１のＣＰＵは、前記原動機の制御において、前記所定の範囲の回路の中の最上位の制御を行うＣＰＵである、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記第１と第２のＣＰＵは、互いに相手の異常を監視するとともに、相手のＣＰＵの異常を検出したときに相手のＣＰＵにリセット信号を供給する機能をそれぞれ有している、制御装置。
【請求項４】
請求項１ないし３のいずれかに記載の制御装置であって、さらに、
前記第１のＣＰＵの異常を監視するとともに、前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する監視回路を有しており、
前記制御装置は、前記移動体の始動時に、前記第２のＣＰＵによる前記第１のＣＰＵのリセット動作と、前記監視回路による前記第１のＣＰＵのリセット動作とが正常に実行されるか否かを確認するためのリセットテストを実行する、制御装置。
【請求項５】
請求項１ないしの４いずれかに記載の制御装置であって、さらに、
前記複数のＣＰＵの中のいずれかのＣＰＵに接続され、前記リセットテストの結果を登録するリセット履歴登録部を有する、制御装置。
【請求項６】
請求項５記載の制御装置であって、
前記リセット履歴登録部は、前記リセットテスト中において前記複数のＣＰＵに供給される複数のリセット信号のうちの少なくとも一部のリセット信号の発生を検出して記憶する機能を有する、制御装置。
【請求項７】
請求項６記載の制御装置であって、
前記リセット履歴登録部は、さらに、前記リセットテスト後の前記移動体の運行中において前記複数のリセット信号のうちの少なくとも一部のリセット信号の発生を検出して記憶する機能を有する、制御装置。
【請求項８】
請求項１ないし７のいずれかに記載の制御装置であって、
前記第１と第２のＣＰＵは、前記原動機の制御のための異なる制御機能を担当するＣＰＵである、制御装置。
【請求項９】
原動機を用いた移動体を第１と第２のＣＰＵを含む互いに接続された複数のＣＰＵを用いて制御する方法であって、
（ａ）前記第１のＣＰＵにリセット信号が与えられてリセットされたときに、前記第２のＣＰＵを含む所定の範囲の回路にリセットを引き起こす第１のリセット事象を実行する工程と、
（ｂ）前記第２のＣＰＵが前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する工程と、
を備え、
前記工程（ａ）において前記第２のＣＰＵがリセットされたときには前記第２のＣＰＵから前記第１のＣＰＵにリセット信号を供給しないことを特徴とする制御方法。
【請求項１０】
原動機を用いた移動体であって、
前記原動機の動作を制御するために、第１と第２のＣＰＵを含む互いに接続された複数のＣＰＵを有する制御装置を備えており、
前記第１のＣＰＵは、リセット信号が与えられてリセットされたときに、前記第２のＣＰＵを含む所定の範囲の回路にリセットを引き起こす第１のリセット事象を実行する第１のリセット実行手段を有しており、
前記第２のＣＰＵは、前記第１のリセット事象において前記第２のＣＰＵがリセットされたときには前記第１のＣＰＵにリセット信号を供給せず、前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する第２のリセット実行手段を有していることを特徴とする移動体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、原動機を用いた移動体に使用される制御技術に関し、特に、ＣＰＵの異常監視の技術に関する。
【０００２】
【従来の技術】
近年では、車両や飛行機等のような原動機を用いた移動体の制御は、ＣＰＵを用いたデジタル制御装置によって行われるのが普通である。デジタル制御装置においては、ＣＰＵを監視して、ＣＰＵに異常が発生したときにＣＰＵをリセットする監視回路が設けられることが多い。監視回路としては、監視対象のＣＰＵとは別の他のＣＰＵが用いられることもあり、また、いわゆるウォッチドッグ回路などが用いられることもある。
【０００３】
例えば、特開平５−１４３１９６号公報には、車両用エアバッグ装置において、主ＣＰＵを監視するための副ＣＰＵを用いる技術が開示されている。この技術では、副ＣＰＵは、主ＣＰＵの動作を監視し、主ＣＰＵに異常が発生したときにはインヒビタ回路を動作させて、主ＣＰＵからの信号が外部回路に出力されることを禁止する。
【０００４】
また、特開平１１−３１４５７３号公報には、電動式パワーステアリングの制御装置における監視回路が開示されている。この技術では、監視回路として、ウォッチドッグタイマや、過電流検出回路等が用いられている。
【０００５】
【発明が解決しようとする課題】
移動体を制御するために複数のＣＰＵが用いられている場合には、いくつかのＣＰＵを相互に監視するように構成することが可能である。例えば、２つの原動機をそれぞれ制御するための２つのＣＰＵが、互いに相手の動作を監視し、異常を発見した場合に相手のＣＰＵをリセットするような構成を取ることが可能である。
【０００６】
しかし、このように複数のＣＰＵが互いに監視するような構成を採用した場合には、１つのＣＰＵがリセットされると、リセットされたＣＰＵがその再起動時に他のＣＰＵをリセットするという事態が生じ得る。この理由は、ＣＰＵがリセットされたときには、その周辺回路をすべてリセットするのが普通だからである。このような事態が生じると、ＣＰＵ同士のリセットが際限なく続いてしまい、制御装置が正常に復帰できなくなるという問題がある。
【０００７】
本発明は、上述した従来の課題を解決するためになされたものであり、相互に監視する複数のＣＰＵを用いた制御装置において、ＣＰＵ同士のリセットが際限なく続くことを防止することが可能な技術を提供することを目的とする。
【０００８】
【課題を解決するための手段およびその作用・効果】
上記目的を達成するために、本発明では、前記原動機の動作を制御するために、第１と第２のＣＰＵを含む互いに接続された複数のＣＰＵを利用する。前記第１のＣＰＵは、リセット信号が与えられてリセットされたときに、前記第２のＣＰＵを含む所定の範囲の回路にリセットを引き起こす第１のリセット事象を実行する第１のリセット実行手段を有している。前記第２のＣＰＵは、前記第１のリセット事象において前記第２のＣＰＵがリセットされたときには前記第１のＣＰＵにリセット信号を供給せず、前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する第２のリセット実行手段を有している。
【０００９】
この構成では、第１のＣＰＵにリセット信号が与えられた場合には第２のＣＰＵを含む所定の範囲の回路がリセットされるが、第２のＣＰＵは第１のＣＰＵをリセットしないので、ＣＰＵ同士のリセットが際限なく続くことを防止することが可能である。また、第２のＣＰＵは、第１のＣＰＵの異常を検出したときに第１のＣＰＵをリセットするので、第１のＣＰＵの異常を監視することが可能である。
【００１０】
なお、前記第１のＣＰＵは、前記原動機の制御において、前記所定の範囲の回路の中の最上位の制御を行うＣＰＵであることが好ましい。
【００１１】
こうすれば、第１のＣＰＵがリセットされるときに第２のＣＰＵを含む所定の範囲の回路がリセットすることによって、より確実に原動機の制御を正常に復帰することが可能である。
【００１２】
また、前記第１と第２のＣＰＵは、互いに相手の異常を監視するとともに、相手のＣＰＵの異常を検出したときに相手のＣＰＵにリセット信号を供給する機能をそれぞれ有しているようにしてもよい。
【００１３】
このような場合には、第１と第２のＣＰＵ同士のリセットの循環を防止できるという効果が顕著である。
【００１４】
前記制御装置は、さらに、前記第１のＣＰＵの異常を監視するとともに、前記第１のＣＰＵの異常を検出したときに前記第１のＣＰＵにリセット信号を供給する監視回路を有するようにしてもよい。このとき、前記制御装置は、前記移動体の始動時に、前記第２のＣＰＵによる前記第１のＣＰＵのリセット動作と、前記監視回路による前記第１のＣＰＵのリセット動作とが正常に実行されるか否かを確認するためのリセットテストを実行するようにしてもよい。
【００１５】
この構成では、移動体の運行前に第１のＣＰＵのリセット動作を確認することができるので、制御装置の信頼性を向上させることが可能である。
【００１６】
前記制御装置は、さらに、前記複数のＣＰＵの中のいずれかのＣＰＵに接続され、前記リセットテストの結果を登録するリセット履歴登録部を有するようにしてもよい。
【００１７】
この構成では、リセットテスト後に、ＣＰＵによってリセットテストの結果を容易に確認することが可能である。
【００１８】
前記リセット履歴登録部は、前記リセットテスト中において前記複数のＣＰＵに供給される複数のリセット信号のうちの少なくとも一部のリセット信号の発生を検出して記憶する機能を有するようにしてもよい。
【００１９】
こうすれば、リセット履歴登録部を調べることによって、リセットテスト中において所定のリセット信号が発生しているか否かを知ることが可能である。
【００２０】
また、前記リセット履歴登録部は、さらに、前記リセットテスト後の前記移動体の運行中において前記複数のリセット信号のうちの少なくとも一部のリセット信号の発生を検出して記憶する機能を有するようにしてもよい。
【００２１】
こうすれば、リセット履歴登録部を調べることによって、移動体の運行中におけるＣＰＵの異常の発生を知ることが可能である。
【００２２】
なお、本発明は、種々の態様で実現することが可能であり、例えば、移動体の制御装置またはその制御方法、その制御装置を用いた移動体、その制御装置または制御方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【００２３】
【発明の実施の形態】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．ハイブリッド車両の全体構成：
Ｂ．ハイブリッド車両の基本動作：
Ｃ．第１実施例の制御システムの構成：
Ｄ．ＣＰＵのリセット体系：
Ｅ．車両始動時のリセットテスト：
Ｆ．第２実施例のメインＥＣＵの構成：
Ｇ．変形例
【００２４】
Ａ．ハイブリッド車両の全体構成：
図１は、本発明の一実施例としてのハイブリッド車両の全体構成を示す説明図である。このハイブリッド車両は、エンジン１５０と、２つのモータ／ジェネレータＭＧ１，ＭＧ２と、の３つの原動機を備えている。ここで、「モータ／ジェネレータ」とは、モータとしても機能し、また、ジェネレータとしても機能する原動機を意味している。なお、以下では簡単のため、これらを単に「モータ」と呼ぶ。車両の制御は、制御システム２００によって行われる。
【００２５】
制御システム２００は、メインＥＣＵ２１０と、ブレーキＥＣＵ２２０と、バッテリＥＣＵ２３０と、エンジンＥＣＵ２４０とを有している。各ＥＣＵは、マイクロコンピュータや、入力インタフェース、出力インタフェースなどの複数の回路要素が１つの回路基板上に配置された１ユニットとして構成されたものである。メインＥＣＵ２１０は、モータ制御部２６０とマスタ制御部２７０とを有している。マスタ制御部２７０は、３つの原動機１５０，ＭＧ１，ＭＧ２の出力の配分などの制御量を決定する機能を有している。
【００２６】
エンジン１５０は、通常のガソリンエンジンであり、クランクシャフト１５６を回転させる。エンジン１５０の運転はエンジンＥＣＵ２４０により制御されている。エンジンＥＣＵ２４０は、マスタ制御部２７０からの指令に従って、エンジン１５０の燃料噴射量その他の制御を実行する。
【００２７】
モータＭＧ１，ＭＧ２は、同期電動機として構成されており、外周面に複数個の永久磁石を有するロータ１３２，１４２と、回転磁界を形成する三相コイル１３１，１４１が巻回されたステータ１３３，１４３とを備える。ステータ１３３，１４３はケース１１９に固定されている。モータＭＧ１，ＭＧ２のステータ１３３，１４３に巻回された三相コイル１３１，１４１は、それぞれ駆動回路１９１，１９２を介して２次バッテリ１９４に接続されている。駆動回路１９１，１９２は、各相ごとにスイッチング素子としてのトランジスタを１対ずつ備えたトランジスタインバータである。駆動回路１９１，１９２はモータ制御部２６０によって制御される。モータ制御部２６０からの制御信号によって駆動回路１９１，１９２のトランジスタがスイッチングされると、バッテリ１９４とモータＭＧ１，ＭＧ２との間に電流が流れる。モータＭＧ１，ＭＧ２はバッテリ１９４からの電力の供給を受けて回転駆動する電動機として動作することもできるし（以下、この動作状態を力行と呼ぶ）、ロータ１３２，１４２が外力により回転している場合には三相コイル１３１，１４１の両端に起電力を生じさせる発電機として機能してバッテリ１９４を充電することもできる（以下、この動作状態を回生と呼ぶ）。
【００２８】
エンジン１５０とモータＭＧ１，ＭＧ２の回転軸は、プラネタリギヤ１２０を介して機械的に結合されている。プラネタリギヤ１２０は、サンギヤ１２１と、リングギヤ１２２と、プラネタリピニオンギヤ１２３を有するプラネタリキャリア１２４と、から構成されている。本実施例のハイブリッド車両では、エンジン１５０のクランクシャフト１５６はダンパ１３０を介してプラネタリキャリア軸１２７に結合されている。ダンパ１３０はクランクシャフト１５６に生じる捻り振動を吸収するために設けられている。モータＭＧ１のロータ１３２は、サンギヤ軸１２５に結合されている。モータＭＧ２のロータ１４２は、リングギヤ軸１２６に結合されている。リングギヤ１２２の回転は、チェーンベルト１２９とデファレンシャルギア１１４とを介して車軸１１２および車輪１１６Ｒ，１１６Ｌに伝達される。
【００２９】
制御システム２００は、車両全体の制御を実現するために種々のセンサを用いており、例えば、運転者によるアクセルの踏み込み量を検出するためのアクセルセンサ１６５、シフトレバーの位置を検出するシフトポジションセンサ１６７、ブレーキの踏み込み圧力を検出するためのブレーキセンサ１６３、バッテリ１９４の充電状態を検出するためのバッテリセンサ１９６、およびモータＭＧ２の回転数を測定ための回転数センサ１４４などを利用している。リングギヤ軸１２６と車軸１１２はチェーンベルト１２９によって機械的に結合されているため、リングギヤ軸１２６と車軸１１２の回転数の比は一定である。従って、リングギヤ軸１２６に設けられた回転数センサ１４４によって、モータＭＧ２の回転数のみでなく、車軸１１２の回転数も検出することができる。
【００３０】
Ｂ．ハイブリッド車両の基本的動作：
ハイブリッド車両の基本的な動作を説明するために、以下ではまず、プラネタリギヤ１２０の動作について説明する。プラネタリギヤ１２０は、上述した３つの回転軸のうちの２つの回転軸の回転数が決定されると残りの回転軸の回転数が決まるという性質を有している。各回転軸の回転数の関係は次式（１）の通りである。
【００３１】
Ｎｃ＝Ｎｓ×ρ／（１＋ρ）＋Ｎｒ×１／（１＋ρ）    …（１）
【００３２】
ここで、Ｎｃはプラネタリキャリア軸１２７の回転数、Ｎｓはサンギヤ軸１２５の回転数、Ｎｒはリングギヤ軸１２６の回転数である。また、ρは次式で表される通り、サンギヤ１２１とリングギヤ１２２のギヤ比である。
【００３３】
ρ＝［サンギヤ１２１の歯数］／［リングギヤ１２２の歯数］
【００３４】
また、３つの回転軸のトルクは、回転数に関わらず、次式（２），（３）で与えられる一定の関係を有する。
【００３５】
Ｔｓ＝Ｔｃ×ρ／（１＋ρ）                      …（２）
Ｔｒ＝Ｔｃ×１／（１＋ρ）＝Ｔｓ／ρ            …（３）
【００３６】
ここで、Ｔｃはプラネタリキャリア軸１２７のトルク、Ｔｓはサンギヤ軸１２５のトルク、Ｔｒはリングギヤ軸１２６のトルクである。
【００３７】
本実施例のハイブリッド車両は、このようなプラネタリギヤ１２０の機能により、種々の状態で走行することができる。例えば、ハイブリッド車両が走行を始めた比較的低速な状態では、エンジン１５０を停止したまま、モータＭＧ２を力行することにより車軸１１２に動力を伝達して走行する。同様にエンジン１５０をアイドル運転したまま走行することもある。
【００３８】
走行開始後にハイブリッド車両が所定の速度に達すると、制御システム２００はモータＭＧ１を力行して出力されるトルクによってエンジン１５０をモータリングして始動する。このとき、モータＭＧ１の反力トルクがプラネタリギヤ１２０を介してリングギヤ１２２にも出力される。
【００３９】
エンジン１５０を運転してプラネタリキャリア軸１２７を回転させると、上式（１）〜（３）を満足する条件下で、サンギヤ軸１２５およびリングギヤ軸１２６が回転する。リングギヤ軸１２６の回転による動力はそのまま車輪１１６Ｒ，１１６Ｌに伝達される。サンギヤ軸１２５の回転による動力は第１のモータＭＧ１で電力として回生することができる。一方、第２のモータＭＧ２を力行すれば、リングギヤ軸１２６を介して車輪１１６Ｒ，１１６Ｌに動力を出力することができる。
【００４０】
定常運転時には、エンジン１５０の出力が、車軸１１２の要求動力（すなわち車軸１１２の回転数×トルク）とほぼ等しい値に設定される。このとき、エンジン１５０の出力の一部はリングギヤ軸１２６を介して直接車軸１１２に伝えられ、残りの出力は第１のモータＭＧ１によって電力として回生される。回生された電力は、第２のモータＭＧ２がリングギヤ軸１２６を回転させるトルクを発生するために使用される。この結果、車軸１１２を所望の回転数で所望のトルクで駆動することが可能である。
【００４１】
車軸１１２に伝達されるトルクが不足する場合には、第２のモータＭＧ２によってトルクをアシストする。このアシストのための電力には、第１のモータＭＧ１で回生した電力およびバッテリ１４９に蓄えられた電力が用いられる。このように、制御システム２００は、車軸１１２から出力すべき要求動力に応じて２つのモータＭＧ１，ＭＧ２の運転を制御する。
【００４２】
本実施例のハイブリッド車両は、エンジン１５０を運転したまま後進することも可能である。エンジン１５０を運転すると、プラネタリキャリア軸１２７は前進時と同方向に回転する。このとき、第１のモータＭＧ１を制御してプラネタリキャリア軸１２７の回転数よりも高い回転数でサンギヤ軸１２５を回転させると、上式（１）から明らかな通り、リングギヤ軸１２６は後進方向に反転する。制御システム２００は、第２のモータＭＧ２を後進方向に回転させつつ、その出力トルクを制御して、ハイブリッド車両を後進させることができる。
【００４３】
プラネタリギヤ１２０は、リングギヤ１２２が停止した状態で、プラネタリキャリア１２４およびサンギヤ１２１を回転させることが可能である。従って、車両が停止した状態でもエンジン１５０を運転することができる。例えば、バッテリ１９４の残容量が少なくなれば、エンジン１５０を運転し、第１のモータＭＧ１を回生運転することにより、バッテリ１９４を充電することができる。車両が停止しているときに第１のモータＭＧ１を力行すれば、そのトルクによってエンジン１５０をモータリングし、始動することができる。
【００４４】
Ｃ．第１実施例の制御システムの構成：
図２は、第１実施例における制御システム２００のより詳細な構成を示すブロック図である。マスタ制御部２７０は、マスタ制御ＣＰＵ２７２と、電源制御回路２７４とを含んでいる。また、モータ制御部２６０は、モータ主制御ＣＰＵ２６２と、２つのモータＭＧ１，ＭＧ２をそれぞれ制御するための２つのモータ制御ＣＰＵ２６４，２６６とを有している。各ＣＰＵは、それぞれ図示しないＣＰＵとＲＯＭとＲＡＭと入力ポートと出力ポートを備えており、これらとともに１チップマイクロコンピュータを構成している。
【００４５】
マスタ制御ＣＰＵ２７２は、３つの原動機１５０，ＭＧ１，ＭＧ２の回転数やトルクの配分等の制御量を決定し、他のＣＰＵやＥＣＵに各種の要求値を供給して、各原動機の駆動を制御する機能を有している。この制御のために、マスタ制御ＣＰＵ２７２には、アクセル開度を示すアクセルポジション信号ＡＰ１，ＡＰ２や、シフト位置を示すシフトポジション信号ＳＰ１，ＳＰ２等が供給されている。なお、アクセルセンサ１６５とシフトポジションセンサ１６７は、それぞれ２重化されており、２つのアクセルポジション信号ＡＰ１，ＡＰ２と、２つのシフトポジション信号ＳＰ１，ＳＰ２とをそれぞれマスタ制御ＣＰＵ２７２に供給している。
【００４６】
マスタ制御ＣＰＵ２７２には、さらに、マスタ制御ＣＰＵ２７２に異常が検出された時に警告灯１７２を点灯するための点灯回路１７０が接続されている。警告灯１７２は、例えばインストルメントパネルに設けられている。
【００４７】
電源制御回路２７４は、バッテリ１９４の高圧直流電圧をメインＥＣＵ２１０内の各回路用の低圧直流電圧に変換するための回路である。この電源制御回路２７４は、マスタ制御ＣＰＵ２７２の異常を監視する監視回路としての機能も有しているが、これについては後述する。
【００４８】
エンジンＥＣＵ２４０は、マスタ制御ＣＰＵ２７２から与えられたエンジン出力要求値ＰＥｒｅｑ  に応じてエンジン１５０を制御する。エンジンＥＣＵ２４０からは、エンジン１５０の回転数ＲＥＶｅｎがマスタ制御ＣＰＵ２７２にフィードバックされる。
【００４９】
モータ主制御ＣＰＵ２６２は、マスタ制御ＣＰＵ２７２から与えられたモータＭＧ１，ＭＧ２に関するトルク要求値Ｔ１ｒｅｑ，Ｔ２ｒｅｑに応じて、２つのモータ制御ＣＰＵ２６４，２６６にそれぞれ電流要求値Ｉ１ｒｅｑ，Ｉ２ｒｅｑを供給する。モータ制御ＣＰＵ２６４，２６６は、電流要求値Ｉ１ｒｅｑ，Ｉ２ｒｅｑに従って駆動回路１９１，１９２をそれぞれ制御して、モータＭＧ１，ＭＧ２を駆動する。モータＭＧ１，ＭＧ２の回転数センサからは、モータＭＧ１，ＭＧ２の回転数ＲＥＶ１，ＲＥＶ２がモータ主制御ＣＰＵ２６２にフィードバックされている。なお、モータ主制御ＣＰＵ２６２からマスタ制御ＣＰＵ２７２には、モータＭＧ１，ＭＧ２の回転数ＲＥＶ１，ＲＥＶ２や、バッテリ１９４から駆動回路１９１，１９２への電流値ＩＢなどがフィードバックされている。
【００５０】
バッテリＥＣＵ２３０は、バッテリ１９４の充電状態ＳＯＣを監視するとともに、必要に応じてバッテリ１９４の充電要求値ＣＨｒｅｑ  をマスタ制御ＣＰＵ２７２に供給する。マスタ制御ＣＰＵ２７２は、この要求値ＣＨｒｅｑ  を考慮して各原動機の出力を決定する。すなわち、充電が必要な場合には、走行に必要な出力よりも大きい動力をエンジン１５０に出力させて、その一部を第１のモータＭＧ１による充電動作に配分する。
【００５１】
ブレーキＥＣＵ２２０は、図示しない油圧ブレーキと、第２のモータＭＧ２による回生ブレーキとのバランスを取る制御を行う。この理由は、このハイブリッド車両では、ブレーキ時に第２のモータＭＧ２による回生動作が行われてバッテリ１９４が充電されるからである。具体的には、ブレーキＥＣＵ２２０は、ブレーキセンサ１６３からのブレーキ圧力ＢＰに基づいて、マスタ制御ＣＰＵ２７２に回生要求値ＲＥＧｒｅｑ  を入力する。マスタ制御ＣＰＵ２７２は、この要求値ＲＥＧｒｅｑ  に基づいてモータＭＧ１，ＭＧ２の動作を決定して、ブレーキＥＣＵ２２０に回生実行値ＲＥＧｐｒａｃをフィードバックする。ブレーキＥＣＵ２２０は、この回生実行値ＲＥＧｐｒａｃと回生要求値ＲＥＧｒｅｑ  の差分と、ブレーキ圧力ＢＰとに基づいて、油圧ブレーキによるブレーキ量を適切な値に制御する。
【００５２】
以上のように、マスタ制御ＣＰＵ２７２は、各原動機１５０，ＭＧ１，ＭＧ２の出力を決定して、それぞれの制御を担当するＥＣＵ２４０やＣＰＵ２６４，２６６に要求値を供給する。ＥＣＵ２４０やＣＰＵ２６４，２６６は、この要求値応じて各原動機を制御する。この結果、ハイブリッド車両は、走行状態に応じて適切な動力を車軸１１２から出力して走行することができる。また、ブレーキ時には、ブレーキＥＣＵ２２０とマスタ制御ＣＰＵ２７２とが協調して、各原動機や油圧ブレーキの動作を制御する。この結果、電力を回生しつつ、運転者に違和感をあまり感じさせないブレーキングを実現することができる。
【００５３】
ところで、このメインＥＣＵ２１０は、各ＣＰＵの異常を監視するために、以下のような構成を有している。マスタ制御ＣＰＵ２７２は、モータ主制御ＣＰＵ２６２の異常を監視する機能を有している。この異常監視のために、モータ主制御ＣＰＵ２６２は、一定周期を有するクロック信号であるウォッチドッグパルスＷＤＰ１を発生してマスタ制御ＣＰＵ２７２に供給している。マスタ制御ＣＰＵ２７２は、図示しないウォッチドッグタイマを有している。一般によく知られているように、ＣＰＵが正常であれば、ＣＰＵからウォッチドッグパルスが一定周期で出力されるので、ウォッチドッグタイマはＣＰＵが正常に動作していると見なして何もしない。一方、ＣＰＵに異常が発生し、ウォッチドッグパルスが所定の期間以上発生しないと、ウォッチドッグタイマからＣＰＵにリセット信号が出力される。この結果、そのＣＰＵがリセットされて再び正常な動作を開始する。マスタ制御ＣＰＵ２７２のウォッチドッグタイマは、この原理に従ってモータ主制御ＣＰＵ２６２の動作を監視し、モータ主制御ＣＰＵ２６２に異常が生じたときにモータ主制御ＣＰＵ２６２にリセット信号ＲＥＳ１を供給する。
【００５４】
モータ主制御ＣＰＵ２６２は、マスタ制御ＣＰＵ２７２と、２つのモータ制御ＣＰＵ２６４，２６６の異常を監視する機能を有している。すなわち、モータ主制御ＣＰＵ２６２には、これらのＣＰＵ２７２，２６４，２６６からウォッチドッグパルスがそれぞれ入力されており、いずれかのＣＰＵに異常が発生すると、そのＣＰＵにリセット信号を供給する。マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２とは、互いにその動作を監視していることになる。
【００５５】
なお、マスタ制御ＣＰＵ２７２から出力されるウォッチドッグパルスＷＤＰ２は、電源制御回路２７４によっても監視されている。モータ主制御ＣＰＵ２６２と電源制御回路２７４の２つをマスタ制御ＣＰＵ２７２の監視回路として使用することによって、監視動作をより確実にすることができる。例えば、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２の両方に異常が発生しても、電源制御回路２７４がマスタ制御ＣＰＵ２７２の異常を検出してこれをリセットすることができる。マスタ制御ＣＰＵ２７２は、ハイブリッド車両全体の制御を統括しているので、監視回路をこのように多重化することによって制御システムの信頼性を高めることができる。
【００５６】
異常履歴登録回路２８０の入力ポートには、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２との間で送受信されるリセット信号ＲＥＳ１，ＲＥＳ２が入力されている。異常履歴登録回路２８０は、これらのリセット信号ＲＥＳ１，ＲＥＳ２が発生すると、これを内部のＥＥＰＲＯＭ２８２に格納する。すなわち、異常履歴登録回路２８０は、マスタ制御ＣＰＵ２７２やモータ主制御ＣＰＵ２６２がリセットされるときに、どのリセット信号が発生したかを監視してその履歴を登録する機能を有している。
【００５７】
なお、モータ主制御ＣＰＵ２６２と異常履歴登録回路２８０とは、双方向通信配線２１４を介して互いに各種の要求や通知を行うことができる。また、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２の間にも双方向通信配線２１２が設けられている。
【００５８】
Ｄ．ＣＰＵのリセット体系：
図３は、ハイブリッド車両の運転時においてメインＥＣＵ２１０内のＣＰＵに異常が発生した場合に行われるリセット動作の流れを示す説明図である。各ＣＰＵ間の矢印はリセット信号を表しており、矢印の中の番号はリセット信号の発生順序を示している。
【００５９】
図３（Ａ）は、マスタ制御ＣＰＵ２７２に異常が発生した場合の動作を示している。モータ主制御ＣＰＵ２６２と電源制御回路２７４が正常に動作していれば、これらの両方からマスタ制御ＣＰＵ２７２にリセット信号が入力される。モータ主制御ＣＰＵ２６２と電源制御回路２７４の少なくとも一方からリセット信号が入力されるとマスタ制御ＣＰＵ２７２はリセットされ、リセット後の立ち上がり時にモータ主制御ＣＰＵ２６２をリセットする。モータ主制御ＣＰＵ２６２がリセットされて立ち上がると、モータ主制御ＣＰＵ２６２は２つのモータ制御ＣＰＵ２６４，２６６をリセットする。この結果、４つのＣＰＵはすべてリセットされて、正常な動作を再開する。
【００６０】
警告灯１７２の点灯回路１７０は、マスタ制御ＣＰＵ２７２に入力される２つのリセット信号のうちの少なくとも一方が発生すると、警告灯１７２を点灯する。なお、点灯回路１７０は、最上位のＣＰＵであるマスタ制御ＣＰＵ２７２に異常が発生した場合にのみ点灯するように構成されていればよい。但し、点灯回路１７０や警告灯１７２を省略することも可能である。
【００６１】
なお、リセット信号を出力するリセット実行部２７２ａ，２６２ａとしてのＣＰＵ２７２，２６２の機能は、これら各ＣＰＵの図示しないＲＯＭに予め格納されたプログラムを各ＣＰＵが実行することによって実現されている。
【００６２】
図３（Ａ）の場合において、マスタ制御ＣＰＵ２７２に異常が発生したときに、メインＥＣＵ２１０内の他のＣＰＵ２６２，２６４，２６６をすべてリセットするのは、これらのＣＰＵ２６２，２６４，２６６が、マスタ制御ＣＰＵ２７２からの要求値や指令に基づいて動作しているからである。すなわち、マスタ制御ＣＰＵ２７２に異常が発生している場合には、マスタ制御ＣＰＵ２７２が他のＣＰＵに間違った要求値や指令を供給し、他のＣＰＵがこれに従って間違った制御を行っている可能性がある。このとき、他のＣＰＵをすべてリセットするようにすれば、正常な制御動作を確実に再開することが可能である。この意味では、マスタ制御ＣＰＵ２７２に異常が発生したときに、マスタ制御ＣＰＵ２７２から要求値や指令が供給されている他のＥＣＵ内のＣＰＵ（すなわち、ブレーキＥＣＵ２２０やエンジンＥＣＵ２４０内のＣＰＵ）を同時にリセットするようにしてもよい。
【００６３】
図３（Ｂ）は、モータ主制御ＣＰＵ２６２に異常が発生した場合の動作を示している。このときには、マスタ制御ＣＰＵ２７２がモータ主制御ＣＰＵ２６２をリセットする。モータ主制御ＣＰＵ２６２がリセットされて立ち上がると、モータ主制御ＣＰＵ２６２は２つのモータ制御ＣＰＵ２６４，２６６をリセットする。この結果、３つのＣＰＵ２６２，２６４，２６６がリセットされて、正常な動作を再開する。なお、マスタ制御ＣＰＵ２７２には、モータ主制御ＣＰＵ２６２からの要求値や指令が供給されていないので、モータ主制御ＣＰＵ２６２がリセットされるときにマスタ制御ＣＰＵ２７２をリセットする必要は無い。このとき、マスタ制御ＣＰＵ２７２には異常が発生していないので、警告灯１７２は点灯されない。
【００６４】
図３（Ａ），（Ｂ）の説明から理解できるように、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２は互いに相手の異常を監視している。また、マスタ制御ＣＰＵ２７２に異常が発生したときには、モータ主制御ＣＰＵ２６２がマスタ制御ＣＰＵ２７２をリセットし、その後、マスタ制御ＣＰＵ２７２がモータ主制御ＣＰＵ２６２をリセットする。一方、モータ主制御ＣＰＵ２６２に異常が発生したときには、マスタ制御ＣＰＵ２７２がモータ主制御ＣＰＵ２６２をリセットするが、モータ主制御ＣＰＵ２６２はマスタ制御ＣＰＵ２７２をリセットしない。このような動作から、２つのＣＰＵ２７２，２６２のリセット動作には序列が設けられているものと考えることができる。すなわち、この序列の上位にあるＣＰＵ２７２がリセットされたときには下位にあるＣＰＵ２６２がリセットされるが、下位にあるＣＰＵ２６２がリセットされたときには上位にあるＣＰＵ２７２はリセットされない。ＣＰＵ同士のリセット動作にこのような序列を設けることよって、以下のような利点がある。
【００６５】
仮に、モータ主制御ＣＰＵ２６２がリセットされたときに、モータ主制御ＣＰＵ２６２がマスタ制御ＣＰＵ２７２をリセットするようにリセット実行部２６２ａを構成した場合を想定する。この場合には、モータ主制御ＣＰＵ２６２のリセットの後に、モータ主制御ＣＰＵ２６２によってマスタ制御ＣＰＵ２７２がリセットされ、さらに、マスタ制御ＣＰＵ２７２によってモータ主制御ＣＰＵ２６２がリセットされる、というようにリセット動作の循環が際限なく続く。従って、制御システムが正常に復帰できなくなるという問題がある。これに対して、図３（Ａ），（Ｂ）のリセット体系では、このようなリセット動作の循環の問題が生じず、制御システムを正常に復帰させることが可能である。
【００６６】
なお、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２とは、原動機の制御動作の一部をそれぞれ実行しており、また、相互に相手の異常を監視している、という２つの点に関しては、互いにほぼ対等の関係にある。このように、ほぼ対等な関係にある２つのＣＰＵ２７２，２６２の間において、リセット動作上の序列を設定することによって、リセット動作の循環の問題を防止しつつ、互いに相手の異常を監視することが可能である。
【００６７】
このようなリセット動作の序列は、２つのＣＰＵ２７２，２６２の原動機制御上の序列に一致させることが好ましい。すなわち、本実施例では、マスタ制御ＣＰＵ２７２からモータ主制御ＣＰＵ２６２には原動機制御上の要求値（モータトルク要求値ＴＯＲｒｅｑ  ）が供給されているが、モータ主制御ＣＰＵ２６２からマスタ制御ＣＰＵ２７２には原動機制御上の要求値は供給されていない。すなわち、このような原動機制御上の序列においては、マスタ制御ＣＰＵ２７２はモータ主制御ＣＰＵ２６２よりも上位にあり、すべてのＣＰＵの中の最上位にある。このように、原動機制御上の序列において上位にあるＣＰＵを、リセット動作上の序列においても上位に位置付けるようにすれば、リセット動作後の制御システムの制御動作をより確実に再開することが可能である。
【００６８】
Ｅ．車両始動時のリセットテスト：
図４は、ハイブリッド車両の始動時におけるマスタ制御ＣＰＵ２７２のリセットテストの手順を示すフローチャートである。運転者がキーをオン位置に回すと制御システム２００（図１）が起動される。このとき、マスタ制御ＣＰＵ２７２のリセット動作を確認するために、まず、ステップＳ１０において、モータ主制御ＣＰＵ２６２によるマスタ制御ＣＰＵ２７２のリセット動作が確認される（第１のリセットテスト）。そして、ステップＳ２０において、電源制御回路２７４によるマスタ制御ＣＰＵ２７２のリセット動作が確認される（第２のリセットテスト）。これらのリセットテストの詳細については後述する。リセットテストの結果は、異常履歴登録回路２８０内のＥＥＰＲＯＭ２８２に登録される。
【００６９】
図５は、ＥＥＰＲＯＭ２８２のリセット履歴領域の内容を示す説明図である。ＥＥＰＲＯＭ２８２内の所定の位置には、リセット履歴領域が予め確保されている。リセット履歴領域は、初期リセットテスト履歴領域Ｒ１と、走行中リセット履歴領域Ｒ２とを含んでいる。初期リセットテスト履歴領域Ｒ１には、第１と第２のリセットテストに対応する２つの事象番号＃１．＃２の事象を登録可能である。また、走行中リセット履歴領域Ｒ２には、事象番号＃３以降の複数の事象を登録可能である。なお、１つの事象番号には、リセット信号ＲＥＳ１，ＲＥＳ２の発生の有無を示す値をそれぞれ登録することができる。また、ＥＥＰＲＯＭ２８２には、最新のリセット事象を示すためのポインタＰＴも登録されている。図５（Ａ）に示すように、リセット履歴領域の登録内容は、車両の始動時に初期化される。
【００７０】
図６は、第１のリセットテスト（ステップＳ１０）の詳細手順を示すフローチャートである。図６のステップＳ１１では、マスタ制御ＣＰＵ２７２が、双方向通信配線２１２を介してモータ主制御ＣＰＵ２６２に第１のリセットテストを実行することを通知する。モータ主制御ＣＰＵ２６２は、この通知を受けると、マスタ制御ＣＰＵ２７２に対してリセット信号ＲＥＳ２を供給してリセットさせる（ステップＳ１２）。このとき、異常履歴登録回路２８０（図２）の入力ポートにもこのリセット信号ＲＥＳ２が入力され、ＥＥＰＲＯＭ２８２内にリセット信号ＲＥＳ２が発生したことを示す値「１」が登録される（図５（Ｂ））。
【００７１】
マスタ制御ＣＰＵ２７２は、リセットされた後の立ち上が時に、モータ主制御ＣＰＵ２６２に対してリセット信号ＲＥＳ１を供給してリセットさせる（ステップＳ１３）。このとき、ＥＥＰＲＯＭ２８２内にリセット信号ＲＥＳ１が発生したことを示す値「１」が登録される（図５（Ｂ）参照）。モータ主制御ＣＰＵ２６２は、リセットされた後の立ち上がり時に、２つのモータ制御ＣＰＵ２６４，２６６をリセットする（ステップＳ１４）。その後、モータ主制御ＣＰＵ２６２は、ＥＥＰＲＯＭ２８２に登録されているテスト結果を読み出して、マスタ制御ＣＰＵ２７２に通知する（ステップＳ１５）。
【００７２】
図５（Ｂ）は、第１のリセットテスト後のリセット履歴を示している。第１のリセットテストが終了した時点では、ポインタＰＴは第１のリセットテストの結果（事象番号＃１）を指している。第１のリセットテストにおいて、リセット信号ＲＥＳ１，ＲＥＳ２が発生していれば各信号の登録位置に値「１」が登録されているはずである。一方、いずれかのリセット信号が発生していなければ、その信号の登録位置に値「０」が登録される。
【００７３】
モータ主制御ＣＰＵ２６２は、最新のリセット事象が第１のリセットテスト（事象番号＃１）であることと、そのリセットテストの結果とをマスタ制御ＣＰＵ２７２に通知する。第１のリセットテストにおいて２つのリセット信号ＲＥＳ１，ＲＥＳ２がいずれも発生している場合には、マスタ制御ＣＰＵ２７２は第１のリセットテストが正常に終了したと判断してこのテストを終了する（ステップＳ１６）。一方、リセット信号ＲＥＳ１，ＲＥＳ２のうちの少なくとも一方が発生していない場合には、第１のリセットテストが正常に終了しなかったものと判断して、エラー処理を実行する（ステップＳ１７）。エラー処理では、例えば、制御システムが異常であることをインストルメントパネルに表示して運転者に通知するとともに、ハイブリッド車両の走行を禁止する。なお、制御システム２００の起動後に一定時間が経過したときに第１のリセットテストが完了していない場合にも、マスタ制御ＣＰＵ２７２はエラー処理を実行する。この第１のリセットテストの結果、モータ主制御ＣＰＵ２６２からマスタ制御ＣＰＵ２７２をリセットする第１のリセット経路が正常に動作することを確認することができる。
【００７４】
図７は、第２のリセットテスト（図４のステップＳ２０）の詳細手順を示すフローチャートである。ステップＳ２１では、マスタ制御ＣＰＵ２７２が、モータ主制御ＣＰＵ２６２に第２のリセットテストを実行することを通知する。モータ主制御ＣＰＵ２６２は、この通知を受けると、第２のリセットテストを開始することを異常履歴登録回路２８０内のＥＥＰＲＯＭ２８２に登録する。この結果、ＥＥＰＲＯＭ２８２のポインタＰＴは１つインクリメントされて、第２のリセットテスト（履歴番号＃２）を指す状態となる（図５（Ｃ））。モータ主制御ＣＰＵ２６２は、さらに、マスタ制御ＣＰＵ２７２監視用のウォッチドッグタイマの動作を禁止する。
【００７５】
ステップＳ２２では、マスタ制御ＣＰＵ２７２が、ウォッチドッグパルスＷＤＰ２の発生を停止する。このとき、モータ主制御ＣＰＵ２６２内のウォッチドッグタイマの動作は禁止されているので、電源制御回路２７４のみがリセット信号ＲＥＳ０をマスタ制御ＣＰＵ２７２に供給してリセットさせる（ステップＳ２３）。
【００７６】
マスタ制御ＣＰＵ２７２は、リセットされた後の立ち上がり時に、モータ主制御ＣＰＵ２６２に対してリセット信号ＲＥＳ１を供給してリセットさせる（ステップＳ２４）。このとき、ＥＥＰＲＯＭ２８２内にリセット信号ＲＥＳ１が発生したことが登録される。モータ主制御ＣＰＵ２６２は、リセットされた後の立ち上がり時に２つのモータ制御ＣＰＵ２６４，２６６をリセットする（ステップＳ２５）。その後、モータ主制御ＣＰＵ２６２は、ＥＥＰＲＯＭ２８２に登録されているテスト結果を読み出して、マスタ制御ＣＰＵ２７２に通知する（ステップＳ２６）。
【００７７】
図５（Ｃ）は、第２のリセットテスト後のリセット履歴を示している。第２のリセットテストが終了した時点では、ポインタＰＴは第２のリセットテストの結果（事象番号＃２）を指している。第２のリセットテストにおいては、モータ主制御ＣＰＵ２６２からマスタ制御ＣＰＵ２７２へのリセット信号ＲＥＳ２は発生しておらず、その逆方向のリセット信号ＲＥＳ１が発生しているはずである。
【００７８】
モータ主制御ＣＰＵ２６２は、最新のリセット事象が第２のリセットテスト（事象番号＃２）であることと、そのリセットテストの結果とをマスタ制御ＣＰＵ２７２に通知する。第２のリセットテストにおいてリセット信号ＲＥＳ１が発生しており、他のリセット信号ＲＥＳ２が発生していない場合には、マスタ制御ＣＰＵ２７２は第２のリセットテストが正常に終了したと判断してこのテストを終了する（ステップＳ２７）。一方、リセット信号ＲＥＳ１が発生していない場合には、第２のリセットテストが正常に終了しなかったものと判断して、エラー処理を実行する（ステップＳ２８）。このエラー処理は、図６のステップＳ２７のものと同じである。なお、制御システム２００の起動後に一定時間が経過したときに第２のリセットテストが完了していない場合にも、マスタ制御ＣＰＵ２７２はエラー処理を実行する。この第２のリセットテストの結果、電源制御回路２７４からマスタ制御ＣＰＵ２７２をリセットする第２のリセット経路が正常に動作することを確認することができる。
【００７９】
こうして、第１と第２のリセットテストによって、マスタ制御ＣＰＵ２７２の２つのリセット動作が正常に行われることが確認されると、マスタ制御ＣＰＵ２７２は、インストルメントパネルに走行可能ランプを点灯させる。この結果、運転者がハイブリッド車両を走行させることが可能となる。
【００８０】
走行中にリセット信号ＲＥＳ１またはＲＥＳ２が発生すると、ＥＥＰＲＯＭ２８２内の走行中リセット履歴領域Ｒ２（図５（Ｃ））にその履歴が登録される。従って、走行後にサービスコンピュータを制御システム２００に接続し、ＥＥＰＲＯＭ２８２からリセット履歴を読み出して調べることによって、走行中にどのリセット信号が発生したかを知ることが可能である。
【００８１】
なお、リセット履歴領域Ｒ１，Ｒ２内には、他のリセット信号の発生も登録できるようにすることが好ましい。特に、ＣＰＵをリセットするためのすべてのリセット信号の発生事象をリセット履歴領域内を登録できるようにすれば、より詳細なリセット履歴を知ることが可能である。また、リセット履歴領域Ｒ１，Ｒ２内に、各リセット事象の発生時刻を登録できるようにしてもよい。さらに、走行中リセット履歴領域Ｒ２は、車両の始動時に初期化せず、数回の走行中のリセット履歴を格納しておくようにしてもよい。
【００８２】
上述したように、本実施例では、車両の始動時に、マスタ制御ＣＰＵ２７２の２つのリセット経路（すなわちリセット信号ＲＥＳ０，ＲＥＳ２）が正常に作動するか否かを確認するようにしたので、車両の走行中においてマスタ制御ＣＰＵ２７２に異常が発生したとしても確実に回復させることができる。また、異常履歴登録回路２８０にリセットの履歴を登録するようにしたので、走行中におけるリセット履歴を走行後に調べることが可能である。
【００８３】
Ｆ．第２実施例のメインＥＣＵの構成：
図８は、第２実施例におけるメインＥＣＵの構成を示すブロック図である。このメインＥＣＵ２１０ａは、モータ主制御ＣＰＵ２６２の代わりに第１のモータ制御ＣＰＵ２６４がマスタ制御ＣＰＵ２７２を監視している点を除いて、図２に示した第１実施例と同じ構成を有している。
【００８４】
第１のモータ制御ＣＰＵ２６４にはマスタ制御ＣＰＵ２７２からのウォッチドッグパルスＷＤＰ２が供給されている。マスタ制御ＣＰＵ２７２に異常が発生してウォッチドッグパルスＷＤＰ２の発生が停止すると、第１のモータ制御ＣＰＵ２６４がマスタ制御ＣＰＵ２７２にリセット信号ＲＥＳ２を供給してリセットさせる。
【００８５】
この第２実施例では、マスタ制御ＣＰＵ２７２の異常は第１のモータ制御ＣＰＵ２６４で監視されており、また、第１のモータ制御ＣＰＵ２６４の異常はモータ主制御ＣＰＵ２６２によって、モータ主制御ＣＰＵ２６２の異常はマスタ制御ＣＰＵ２７２によって監視されている。換言すれば、これらの３つのＣＰＵ２７２，２６２，２６４は、循環的に異常を監視している。
【００８６】
図９（Ａ）は、第２実施例においてマスタ制御ＣＰＵ２７２に異常が発生した場合の動作を示している。このとき、第１のモータ制御ＣＰＵ２６４と電源制御回路２７４の少なくとも一方からリセット信号が入力されると、マスタ制御ＣＰＵ２７２がリセットされる。マスタ制御ＣＰＵ２７２は、リセット後の立ち上がり時にモータ主制御ＣＰＵ２６２をリセットする。モータ主制御ＣＰＵ２６２がリセットされて立ち上がると、２つのモータ制御ＣＰＵ２６４，２６６をリセットする。この結果、４つのＣＰＵはすべてリセットされて、正常な制御動作を再開する。但し、第１のモータ制御ＣＰＵ２６４は、リセットされた後に立ち上がるときにマスタ制御ＣＰＵ２７２をリセットしないように、そのリセット実行部としての機能が設定されている。なお、点灯回路１７０は、マスタ制御ＣＰＵ２７２に入力されるリセット信号の発生に応じて警告灯１７２を点灯する。
【００８７】
図９（Ｂ）は、モータ主制御ＣＰＵ２６２に異常が発生した場合の動作を示している。このときには、マスタ制御ＣＰＵ２７２からモータ主制御ＣＰＵ２６２にリセット信号が入力される。モータ主制御ＣＰＵ２６２がリセットされて立ち上がると、モータ主制御ＣＰＵ２６２は２つのモータ制御ＣＰＵ２６４，２６６をリセットする。この結果、３つのＣＰＵ２６２，２６４，２６６がリセットされて、正常な動作を再開する。このときにも、第１のモータ制御ＣＰＵ２６４はマスタ制御ＣＰＵ２７２をリセットしない。また、マスタ制御ＣＰＵ２７２には異常が発生していないので、点灯回路１７０は警告灯１７２を点灯しない。
【００８８】
図９（Ｃ）は、第１のモータ制御ＣＰＵ２６４に異常が発生した場合の動作を示している。このときには、モータ主制御ＣＰＵ２６２から第１のモータ制御ＣＰＵ２６４にリセット信号が入力されて、このＣＰＵ２６４のみがリセットされる。このときにも、第１のモータ制御ＣＰＵ２６４はマスタ制御ＣＰＵ２７２をリセットしない。この場合にも、マスタ制御ＣＰＵ２７２には異常が発生していないので、点灯回路１７０は警告灯１７２を点灯しない。
【００８９】
図９（Ａ）〜（Ｃ）の説明から理解できるように、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２と第１のモータ制御ＣＰＵ２６４は、循環的に異常を監視している。但し、マスタ制御ＣＰＵ２７２の異常を監視している第１のモータ制御ＣＰＵ２６４がリセットされたときには、第１のモータ制御ＣＰＵ２６４の立ち上がり時にマスタ制御ＣＰＵ２７２をリセットしないように、第１のモータ制御ＣＰＵ２６４のリセット実行部としての機能が予め設定されている。この結果、リセット動作の循環の発生が起こらないので、制御システムを正常に復帰させることが可能である。
【００９０】
上述した第１、第２実施例から理解できるように、本発明では、第１のＣＰＵ２７２にリセット信号が与えられたときに、この第１のＣＰＵ２７２が、第２のＣＰＵ２６２（または２６４）を含む所定の範囲の回路（２６２，２６４，２６６）にリセットを引き起こす第１のリセット事象を実行するように、第１のＣＰＵ２７２のリセット実行手段が構成されている。また、第２のＣＰＵ２６２（または２６４）は、第２のＣＰＵ２６２（または２６４）がリセットされたときには第１のＣＰＵ２７２にリセット信号を供給せず、一方、第１のＣＰＵ２７２の異常を検出したときには第１のＣＰＵ２７２にリセット信号を供給するように、第２のＣＰＵ２６２（または２６４）のリセット実行手段が構成されている。このようにリセット実行手段を構成すれば、リセット動作の循環の発生が起こらないので、制御システムを正常に復帰させることが可能である。
【００９１】
特に、第１のＣＰＵとして、第１のリセット事象でリセットされる回路の中で、原動機の制御において最上位の制御を行うＣＰＵ２７２を選択すれば、この第１のＣＰＵ２７２に異常が発生したときに、制御システム全体の動作をより確実に正常に復帰させることができるという利点がある。
【００９２】
Ｇ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００９３】
Ｇ１．変形例１：
上記各実施例では、プラネタリアギアを用いて、エンジンの動力を車軸と第１のモータＭＧ１とに分配するいわゆる機械分配式のハイブリッド車両について説明したが、本発明は、プラネタリアギアを用いずにモータ／ジェネレータを用いて電気的にエンジンの動力を分配するいわゆる電気分配式のハイブリッド車両にも適用可能である。電気分配式のハイブリッド車両については、例えば本出願人により開示された特開平９−４６９６５号公報に開示されているので、ここではその説明は省略する。
【００９４】
また、本発明は、ハイブリッド車両以外の他の車両や、飛行機、船舶などの種主の移動体に適用可能である。すなわち、一般に、本発明は、少なくとも１つの原動機を用いた移動体に適用可能である。
【００９５】
Ｇ２．変形例２：
上記実施例では、各ＣＰＵの異常の監視は、ウォッチドッグパルスＷＤＰを用いて行われていたが、各ＣＰＵの演算内容を他のＣＰＵが確認することによって、ＣＰＵの異常監視を行ってもよい。例えば、マスタ制御ＣＰＵ２７２とモータ主制御ＣＰＵ２６２は、ウォッチドッグパルスＷＤＰの監視を行う代わりに、または、これと並行して、互いの演算が正確に実行されているか否かを監視するようにしてもよい。
【００９６】
Ｇ３．変形例３：
異常履歴登録回路２８０（図２）内のメモリとしては、ＥＥＰＲＯＭ２８２以外の任意のメモリを使用することが可能である。但し、ＥＥＰＲＯＭのように不揮発性のメモリを用いれば、電源が消失しても登録内容が失なわれることが無いという点で好ましい。また、異常履歴登録回路２８０は、ＥＣＵ２１０内のＣＰＵがリセットされても異常履歴登録回路２８０への電源が消失しないように、ＥＣＵ２１０内のＣＰＵからの独立性が高い電源回路から電源を供給されていることが好ましい。
【図面の簡単な説明】
【図１】本発明の第１実施例としてのハイブリッド車両の全体構成を示す説明図。
【図２】制御システム２００のより詳細な構成を示すブロック図。
【図３】ハイブリッド車両の運転時においてメインＥＣＵ２１０内のＣＰＵに異常が発生した場合に行われるリセット動作の流れを示す説明図。
【図４】ハイブリッド車両の始動時におけるマスタ制御ＣＰＵ２７２のリセットの確認動作を示すフローチャート。
【図５】ＥＥＰＲＯＭ２８２のリセット履歴領域の内容を示す説明図。
【図６】第１のリセットテスト（図４のステップＳ１０）の詳細手順を示すフローチャート。
【図７】第２のリセットテスト（図４のステップＳ２０）の詳細手順を示すフローチャート。
【図８】第２実施例におけるメインＥＣＵの構成を示すブロック図。
【図９】第２実施例におけるリセット動作の流れを示す説明図。
【符号の説明】
１１２…車軸
１１４…デファレンシャルギア
１１６Ｒ，１１６Ｌ…車輪
１１９…ケース
１２０…プラネタリギヤ
１２１…サンギヤ
１２２…リングギヤ
１２３…プラネタリピニオンギヤ
１２４…プラネタリキャリア
１２５…サンギヤ軸
１２６…リングギヤ軸
１２７…プラネタリキャリア軸
１２９…チェーンベルト
１３０…ダンパ
１３１…三相コイル
１３２…ロータ
１３３…ステータ
１４１…三相コイル
１４２…ロータ
１４３…ステータ
１４４…回転数センサ
１４９…バッテリ
１５０…エンジン
１５６…クランクシャフト
１６３…ブレーキセンサ
１６５…アクセルセンサ
１６７…シフトポジションセンサ
１９１，１９２…駆動回路
１９４…バッテリ
１９６…バッテリセンサ
２００…制御システム
２１０…メインＥＣＵ
２１２…双方向通信配線
２１４…双方向通信配線
２２０…ブレーキＥＣＵ
２３０…バッテリＥＣＵ
２４０…エンジンＥＣＵ
２６０…モータ制御部
２６２…モータ主制御ＣＰＵ
２６２ａ…リセット実行部
２６４…第１モータ制御ＣＰＵ
２６６…第２モータ制御ＣＰＵ
２７０…マスタ制御部
２７２…マスタ制御ＣＰＵ
２７２ａ…リセット実行部
２７４…電源制御回路
２８０…異常履歴登録回路
２８２…ＥＥＰＲＯＭ
【図１】
0003617407.tif 000002
【図２】
0003617407.tif 000003
【図３】
0003617407.tif 000004
【図４】
0003617407.tif 000005
【図５】
0003617407.tif 000006
【図６】
0003617407.tif 000007
【図７】
0003617407.tif 000008
【図８】
0003617407.tif 000009
【図９】
0003617407.tif 000010