(57)【特許請求の範囲】
【請求項１】
複数の他の装置と共通の通信線を介して接続されると共に、記憶内容の書き換えが可能な不揮発性メモリを備え、
通常時には、前記不揮発性メモリに格納されたプログラムに従い動作することにより、前記他の装置とデータ通信を行うと共に、そのデータ通信で取得した制御データを用いて自己に割り当てられた制御対象を制御し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されているプログラムを、外部から与えられる新たなプログラムに書き換えるための書換処理を実行するように構成されており、
更に、前記他の装置は、通信相手の装置から取得した制御データを用いて自己に割り当てられた制御対象を制御すると共に、通信相手の各装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を、当該他の装置に設けられた異常情報格納用メモリに記憶するようになっている電子制御装置において、
前記書換処理の実行が完了したときに、前記他の装置の異常情報格納用メモリに記憶されている異常情報のうち、当該電子制御装置に関する異常情報を消去させるための消去要求であって、当該電子制御装置の識別コードを含んだ消去要求を、前記他の装置へ送信する消去要求送信手段を備えたこと、
を特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置に、前記他の装置として接続される電子制御装置であって、
前記消去要求送信手段により送信されて来る前記消去要求を受信すると、前記異常情報格納用メモリ内の異常情報のうち、前記受信した消去要求に含まれている識別コードが示す装置に関する異常情報を消去すること、
を特徴とする電子制御装置。
【請求項３】
請求項１に記載の電子制御装置を備えると共に、請求項２に記載の電子制御装置を複数備え、それら電子制御装置を共通の通信線を介して接続したこと、
を特徴とする制御システム。
【請求項４】
複数の他の装置と共通の通信線を介して接続されると共に、記憶内容の書き換えが可能な不揮発性メモリと、異常情報格納用メモリとを備え、
通常時には、前記不揮発性メモリに格納されたプログラムに従い動作することにより、前記他の装置とデータ通信を行うと共に、そのデータ通信で取得した制御データを用いて自己に割り当てられた制御対象を制御し、更に、前記他の装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を前記異常情報格納用メモリに記憶し、
外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されているプログラムを、外部から与えられる新たなプログラムに書き換えるための書換処理を実行するように構成されており、
更に、前記他の装置も、通信相手の装置から取得した制御データを用いて自己に割り当てられた制御対象を制御すると共に、通信相手の各装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を、当該他の装置に設けられた異常情報格納用メモリに記憶するようになっている電子制御装置であって、
前記書換処理の実行が完了したときに、前記他の装置の異常情報格納用メモリに記憶されている異常情報のうち、当該電子制御装置に関する異常情報を消去させるための消去要求であって、当該電子制御装置の識別コードを含んだ消去要求を、前記他の装置へ送信する消去要求送信手段と、
前記他の装置から送信されて来る消去要求を受信すると、当該電子制御装置の前記異常情報格納用メモリ内の異常情報のうち、前記受信した消去要求に含まれている識別コードが示す装置に関する異常情報を消去する消去手段と、
を備えていることを特徴とする電子制御装置。
【請求項５】
請求項４に記載の電子制御装置を３つ以上備え、それら電子制御装置を共通の通信線を介して接続したこと、
を特徴とする制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内蔵プログラムを書き換え可能であると共に、通信線を介して他の装置と接続される電子制御装置と、その電子制御装置に前記他の装置として接続される電子制御装置とに関し、更にそれらの電子制御装置からなる制御システムに関する。
【０００２】
【従来の技術】
従来より、例えば特開平６−２７２６１１号公報に開示されているように、自動車のエンジン等を制御する電子制御装置として、電気的に記憶内容の書き換え（詳しくは記憶内容の消去及び書き込み）が可能なフラッシュメモリやＥＥＰＲＯＭ等の不揮発性メモリ（書換可能不揮発性メモリ）に制御用のプログラム（詳しくはプログラムコードや制御データ）を格納しておき、このようなプログラムを、市場への供給後でも書き換え可能に構成されたものが提案されている。
【０００３】
即ち、この種のプログラム書換機能を有する電子制御装置は、通常時には、書換可能不揮発性メモリに格納されたプログラムに従ってエンジン等の制御対象を制御するのであるが、別途接続されたデータ書換装置から書き換え指令を受けると、上記書換可能不揮発性メモリの記憶内容を前記データ書換装置から送信されて来る新たなプログラムに書き換えるための書換処理を実行するように構成されている。
【０００４】
一方、近年の車両においては、制御性の向上や車両内配線の削減を達成するために、通信線を介して接続された複数の電子制御装置（以下、ＥＣＵともいう）の各々が、互いにデータの送受信を行いながら各自に割り当てられた制御対象（エンジンやトランスミッション等）を制御する、といった車両制御システムが採用されている。
【０００５】
そして、この様な車両制御システムでは、各ＥＣＵが、他のＥＣＵ或いは通信線の良否を次の様な方法で判定して、異常判定時にその異常情報を記憶するようにしている。
例えば、各ＥＣＵは、通信相手である他のＥＣＵへ所定のデータ等を要求する要求メッセージを送信した後、予め定められた時間以内に前記通信相手のＥＣＵから応答メッセージが返って来ない場合に、その通信相手のＥＣＵ或いは通信線が異常であると判定する。そして、異常と判定を判定すると、その異常を示す異常情報を、自己に備えられた不揮発性のメモリ（例えば、バッテリ電圧でバックアップされたバックアップＲＡＭや、ＥＥＰＲＯＭ等）に記憶する。
【０００６】
【発明が解決しようとする課題】
ここで、上記の様な車両制御システムに、前述のプログラム書換機能を有するＥＣＵを適用すると、次のような問題が発生する。
つまり、プログラム書換機能を有するＥＣＵのプログラムを書き換えている最中においては、そのＥＣＵは、プログラムを書き換えるための書換処理を実行することとなるため、他のＥＣＵからの要求メッセージに対して応答メッセージを返すことができない。よって、要求メッセージを送信した前記他のＥＣＵは、プログラム書き換え中のＥＣＵが異常であると誤判定してしまう。
【０００７】
そして、このような誤判定をしたＥＣＵが、プログラムの書き換えを行ったＥＣＵが異常であることを示す異常情報を記憶したままであると、以下のようなことが懸念される。
まず、一般に、この種の車両制御システムを構成する各ＥＣＵは、何れかのＥＣＵが異常であると判定すると、その異常と判定したＥＣＵから受信して取得すべき制御データを、所定のデフォルト値に設定して自己の制御動作を行うため、制御性が低下してしまう。
【０００８】
また、車両の整備工場等で、各ＥＣＵに記憶されている異常情報を解析した場合に、異常であると誤判定されたＥＣＵが交換されてしまう。
尚、従来より、ＥＣＵで記憶されている異常情報を消去するための方法としては、例えばトヨタ・キャバリエ・サービスマニュアル等に記載されているように、下記の▲１▼〜▲３▼の方法がある。
【０００９】
▲１▼：消去対象のＥＣＵに故障診断装置を接続して、その故障診断装置から特定の指令を与えることにより、消去対象のＥＣＵに異常情報を消去するための処理を行わせる。
▲２▼：車両に設けられたヒューズのうちで、消去対象のＥＣＵに対応したヒューズを取り外す。これにより、バッテリから消去対象のＥＣＵへの電源供給が遮断されるため、異常情報がバックアップＲＡＭに記憶されているのであれば、その異常情報を消去することができる。
【００１０】
▲３▼：車両のバッテリケーブルをバッテリ端子から外す。これにより、バッテリから全てのＥＣＵへの電源供給が遮断されるため、上記▲２▼と同様に、異常情報がバックアップＲＡＭに記憶されているのであれば、その異常情報を消去することができる。
【００１１】
しかしながら、上記▲２▼及び▲３▼の方法では、異常情報がＥＥＰＲＯＭやフラッシュメモリ等の書換可能不揮発性メモリに記憶される場合には、その異常情報を消去することができない。また、異常情報がバックアップＲＡＭに記憶されている場合であっても、一般に、バックアップＲＡＭには、異常情報だけではなく、制御に用いる学習値等も記憶されるため、上記▲２▼及び▲３▼の方法では、それまで蓄積した貴重な学習値も消去してしまうこととなり、制御性の低下を招いてしまう。
【００１２】
一方、上記▲１▼の方法では、車両制御システムを構成する各ＥＣＵに故障診断装置を取り替えながら接続していく、といった作業が必要となり、多大な手間がかかってしまう。そして、こうした手間は、制御システムを構成するＥＣＵの数が多くなるほど顕著になる。
【００１３】
しかも、上記▲１▼〜▲３▼の方法では、人による作業が必要となるため、異常情報の消し忘れが起こる可能性がある。
本発明は、こうした問題に鑑みなされたものであり、通信線を介して接続された複数の電子制御装置のうちの少なくとも１つが、プログラム書換機能を有した電子制御装置である制御システムにおいて、プログラムの書き換えを行った電子制御装置が異常であることを示す異常情報が、他の電子制御装置に記憶されたままになってしまうことを確実に防止することを目的としている。
【００１４】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、複数の他の装置と共通の通信線を介して接続されると共に、記憶内容の書き換えが可能な不揮発性メモリを備えている。そして、この電子制御装置は、通常時には、前記不揮発性メモリに格納されたプログラムに従い動作することにより、前記他の装置とデータ通信を行うと共に、そのデータ通信で取得した制御データを用いて自己に割り当てられた制御対象を制御するが、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されているプログラムを、外部から与えられる新たなプログラムに書き換えるための書換処理を実行する。
【００１５】
また、前記他の装置は、通信相手の装置から取得した制御データを用いて自己に割り当てられた制御対象を制御すると共に、通信相手の各装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を、当該他の装置に設けられた異常情報格納用メモリに記憶するようになっている。
よって、請求項１の電子制御装置は、自己の通信状態の良否（即ち、通信処理を正常に実行しているか否）が前記他の装置によって判定される。そして、前記他の装置により異常と判定されると、当該電子制御装置が異常であることを示す異常情報が前記他の装置に設けられた異常情報格納用メモリに記憶される。
このため、前述した如く、当該電子制御装置が書換処理を実行している時に、前記他の装置により、当該電子制御装置が異常であると誤判定されて、前記他の装置の異常情報格納用メモリに誤った異常情報が記憶されてしまう可能性がある。
【００１６】
そこで、請求項１に記載の電子制御装置では、書換処理の実行が完了したときに、消去要求送信手段が、前記他の装置へ、当該電子制御装置の識別コードを含んだ消去要求を送信して、前記他の装置の異常情報格納用メモリに記憶されている異常情報のうち、当該電子制御装置に関する異常情報を消去させるようにしている。
従って、請求項１に記載の電子制御装置によれば、他の装置と共に制御システムを構成した場合において、プログラムの書き換えを行った当該電子制御装置が異常であるという誤った異常情報が、他の装置の異常情報格納用メモリに記憶されたままになってしまうことを、人による作業を一切必要とせずに確実に防止することができる。そして更に、前記異常情報格納用メモリとして、ＥＥＰＲＯＭやフラッシュメモリ等のバックアップＲＡＭ以外のメモリが用いられている場合であっても、誤った異常情報を確実に消去することができる。また、学習値等は消去せずに、異常情報だけを消去することができる。よって、「発明が解決しようとする課題」の項で述べた全ての問題を解決することができる。
【００１７】
また特に、前記他の装置が２つ以上存在する場合には、次のような状態が考えられる。
例えば、他の装置が２つである場合について説明する。この場合において、請求項１に記載の電子制御装置を装置Ａとし、他の２つの装置を、夫々、装置Ｂ，Ｃとすると、装置Ｂの異常情報格納用メモリには、異常情報として、装置Ａに関する誤った異常情報と、装置Ｃに関する正しい異常情報とが記憶され、装置Ｃの異常情報格納用メモリには、異常情報として、装置Ａに関する誤った異常情報のみが記憶されている、といった状態が考えられる。
【００１８】
そして、こうした状態においては、装置Ｂ，Ｃの異常情報格納用メモリに格納されている異常情報のうち、装置Ａに関する異常情報だけを消去することが好ましい。
そこで、請求項１の電子制御装置では、消去要求送信手段が、当該電子制御装置に関する異常情報だけを消去させるための消去要求であって、当該電子制御装置の識別コードを含んだ消去要求を、他の装置へ送信するようにしている。
【００１９】
そして、このような請求項１の電子制御装置によれば、他の装置が複数存在する場合であっても、その各装置の異常情報格納用メモリに記憶された誤った異常情報（つまり、プログラムの書き換えを行った電子制御装置が異常であるという誤った異常情報）だけを消去することができる。
【００２０】
一方、請求項１の電子制御装置に前記他の装置として接続される電子制御装置は、請求項２に記載の如く構成すれば良い。
即ち、請求項２に記載の電子制御装置は、前記消去要求送信手段により送信されて来る消去要求を受信すると、異常情報格納用メモリ内の異常情報のうち、前記受信した消去要求に含まれている識別コードが示す装置に関する異常情報を消去する。
【００２１】
そして、このような請求項２に記載の電子制御装置の２つ以上と、請求項１に記載の電子制御装置とを、請求項３に記載の如く、共通の通信線を介して接続して、車両等を制御するための制御システムを構成すれば、プログラムの書き換えを行った電子制御装置が異常であるという誤った異常情報が、他の電子制御装置に記憶されたままになってしまうことを確実に防止可能な制御システムを得ることができる。
【００２２】
一方、通信線で接続された３つ以上の各電子制御装置のプログラムを夫々書き換えることのできる制御システムを構築するためには、その各電子制御装置を、請求項４に記載のように構成すれば良い。
即ち、請求項４に記載の電子制御装置は、複数の他の装置と共通の通信線を介して接続されると共に、記憶内容の書き換えが可能な不揮発性メモリと、異常情報格納用メモリとを備えている。
【００２３】
そして、この電子制御装置は、通常時には、前記不揮発性メモリに格納されたプログラムに従い動作することにより、前記他の装置とデータ通信を行うと共に、そのデータ通信で取得した制御データを用いて自己に割り当てられた制御対象を制御し、更に、前記他の装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を自己の異常情報格納用メモリに記憶する。これに対して、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されているプログラムを、外部から与えられる新たなプログラムに書き換えるための書換処理を実行する。
【００２４】
また、前記他の装置も、通信相手の装置から取得した制御データを用いて自己に割り当てられた制御対象を制御すると共に、通信相手の各装置が通信処理を正常に実行しているか否を判定して、異常と判定すると、その判定した装置が異常であることを示す異常情報を、当該他の装置に設けられた異常情報格納用メモリに記憶するようになっている。
よって、請求項４の電子制御装置も、自己の通信状態の良否（即ち、通信処理を正常に実行しているか否）が前記他の装置により判定され、異常と判定されると、当該電子制御装置が異常であることを示す異常情報が前記他の装置に設けられた異常情報格納用メモリに記憶される。
そして特に、請求項４に記載の電子制御装置では、書換処理の実行が完了したときに、消去要求送信手段が、他の装置の異常情報格納用メモリに記憶されている異常情報のうち、当該電子制御装置に関する異常情報を消去させるための消去要求であって、当該電子制御装置の識別コードを含んだ消去要求を、前記他の装置へ送信する。また逆に、他の装置から消去要求が送信されて来ると、消去手段が、その消去要求を受信して、当該電子制御装置に備えられた異常情報格納用メモリ内の異常情報のうち、前記受信した消去要求に含まれている識別コードが示す装置に関する異常情報を消去する。
【００２５】
つまり、請求項４に記載の電子制御装置は、請求項１に記載の電子制御装置の動作と、請求項２に記載の電子制御装置の動作との、両方の動作を行うのである。
よって、請求項５に記載の如く、請求項４に記載の電子制御装置を３つ以上用意して、それらを共通の通信線で接続することにより車両等を制御するための制御システムを構成すれば、各電子制御装置のプログラムを任意に書き換えることが可能であると共に、プログラムの書き換えを行った電子制御装置が異常であるという誤った異常情報が他の電子制御装置に記憶されたままになってしまうことを、確実に防止可能な制御システムを得ることができる。
【００２６】
また特に、プログラムの書き換えを行った電子制御装置が異常であるという誤った異常情報だけを消去することができる。
【００２７】
尚、記憶内容の書き換えが可能な不揮発性メモリとしては、フラッシュメモリ（フラッシュＲＯＭ）やＥＥＰＲＯＭが一般的であるが、電気的に書き換え可能な他のＲＯＭを用いても良い。また、バックアップＲＡＭを用いることも可能である。一方、異常情報格納用メモリとしては、バックアップＲＡＭやＥＥＰＲＯＭが一般的であるが、フラッシュメモリを用いても良い。
【００２８】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を用いて説明する。
まず図１は、本発明が適用された実施形態の車両制御システムの全体構成を表すブロック図である。
【００２９】
図１に示すように、本実施形態の車両制御システムは、車両の各部を制御するために、３つのＥＣＵ（電子制御装置）１，２，３を備えている。例えば、ＥＣＵ１は、制御対象としてエンジンを制御するＥＣＵであり、ＥＣＵ２は、制御対象としてトランスミッションを制御するＥＣＵであり、ＥＣＵ３は、制御対象としてブレーキ装置の油圧系統を制御するＥＣＵである。
【００３０】
そして、上記３つのＥＣＵ１，２，３は、車両内に配設された通信線４を介して、互いにデータ通信可能に接続されている。
また、上記各ＥＣＵ１，２，３は、内蔵の制御プログラムをオンボード書き換え可能に構成されており、ＥＣＵ１，２，３のうちの何れかの制御プログラムを書き換える際には、通信線４にデータ書換装置８が接続される。
【００３１】
一方、本実施形態の車両制御システムにおいて、上記３つのＥＣＵ１，２，３は、共通の電源ラインＬ１に接続されている。そして、その電源ラインＬ１にメインリレー６を介してバッテリ５の電圧（バッテリ電圧）が供給されることにより、全てのＥＣＵ１，２，３が動作する。
【００３２】
尚、メインリレー６は、車両のイグニッションスイッチ７がオンされるか、或いは、外部から駆動信号が与えられると、自己の接点が短絡（オン）して、バッテリ５のプラス端子と上記電源ラインＬ１とを接続するように構成されている。そして、本実施形態においては、ＥＣＵ１が、メインリレー６に信号線Ｌ３を介して駆動信号を与えるようになっている。
【００３３】
つまり、イグニッションスイッチ７がオンされると、メインリレー６の接点が短絡して、各ＥＣＵ１，２，３に電源ラインＬ１を介してバッテリ電圧が供給され、それに伴い、各ＥＣＵ１，２，３が動作を開始する。そして、ＥＣＵ１は、イグニッションスイッチ７がオンしていることを、スイッチ状態検出用の信号線Ｌ２の電圧レベルによって検知すると、以後、当該車両制御システムの動作停止条件が成立したと判断するまでの間、上記信号線Ｌ３に駆動信号を出力して、メインリレー６の接点を短絡させたままにする。よって、イグニッションスイッチ７がオフされても、当該車両制御システムの動作停止条件が成立するまでは、メインリレー６の接点が短絡したままとなり、イグニッションスイッチ７がオフされ且つ上記動作停止条件が成立すると、全てのＥＣＵ１，２，３への電源供給が遮断されることとなる。
【００３４】
次に、各ＥＣＵ１，２，３の内部構成について、ＥＣＵ１を例に挙げて説明する。
図２に示すように、ＥＣＵ１は、当該ＥＣＵの動作を司るシングルチップマイクロコンピュータ（以下、マイコンという）１０と、マイコン１０が通信線４を介して他のＥＣＵ２，３或いはデータ書換装置８と通信を行うための送受信回路からなる通信ＩＣ２２と、電源ラインＬ１からのバッテリ電圧を受けて、マイコン１０や通信ＩＣ２２を始めとするＥＣＵ１内の各部に動作電圧ＶCC（例えば５Ｖ）を供給する電源ＩＣ２０とを備えている。
【００３５】
そして、マイコン１０には、プログラムを実行する中央演算装置としてのＣＰＵ１２と、ＣＰＵ１２が実行するプログラムを格納した不揮発性ＲＯＭとしてのフラッシュメモリ１４と、ＣＰＵ１２の演算結果等を一時記憶するためのＲＡＭ１６と、後述する異常情報や学習値等を継続して記憶するための不揮発性のＥＥＰＲＯＭ１８とが内蔵されている。
【００３６】
ここで、フラッシュメモリ１４の記憶領域は、記憶内容の書き換えが可能な不揮発性メモリとしての書換可能領域１４ａと、記憶内容の書き換えが不可能な（或いは、記憶内容の書き換えが禁止されている）書換不能領域１４ｂとに分けられている。そして、書換可能領域１４ａには、通常時に実行される制御プログラムが格納されており、書換不能領域１４ｂには、リセット解除直後に実行されるブートプログラムが格納されている。
【００３７】
尚、フラッシュメモリ１４の書換可能領域１４ａは、所定の書換電圧ＶP （例えば１２Ｖ）が印加された状態でデータの消去及び書き込みが可能な記憶領域である。そして、本実施形態では、電源ＩＣ２０が、マイコン１０からの指令に応じて、上記書換可能領域１４ａへ書換電圧ＶP を印加するようになっている。また、電源ＩＣ２０は、イグニッションスイッチ７のオンに伴い上記動作電圧ＶCCの供給を開始してから、その動作電圧ＶCCが安定すると見なされる所定時間だけマイコン１０へリセット信号を出力する、所謂パワーオンリセット機能も備えている。
【００３８】
一方、他のＥＣＵ２，３の構成は、マイコン１０がメインリレー６を制御するための信号線Ｌ２，Ｌ３に接続されていないという点以外は、ＥＣＵ１の構成と同様である。つまり、３つのＥＣＵ１，２，３のうちで、ＥＣＵ１のマイコン１０だけが、図２に示す如く前述の信号線Ｌ２，Ｌ３に接続されている。
【００３９】
以上のように構成されたＥＣＵ１，２，３の各々においては、イグニッションスイッチ７がオンされて、電源ＩＣ２０からマイコン１０へのリセット信号が解除されると、マイコン１０のＣＰＵ１２が、まず、フラッシュメモリ１４の書換不能領域１４ｂに格納されているブートプログラムを実行し、データ書換装置８から自己のＥＣＵへの書き換え指令としての書換要求メッセージがない通常時には、そのブートプログラムにてフラッシュメモリ１４の書換可能領域１４ａに格納されている制御プログラムをコールする。
【００４０】
そして、その後は、マイコン１０のＣＰＵ１２が、上記書換可能領域１４ａ内の制御プログラムを実行することにより、各ＥＣＵ１，２，３は、以下のような通常時の動作を行う。
即ち、各ＥＣＵ１，２，３は、通信線４を介して互いにデータ通信（データのやり取り）を行いながら各自に割り当てられた制御対象を制御すると共に、通信相手である他のＥＣＵの通信状態の良否を判定して、異常と判定すると、その判定したＥＣＵが異常であることを示す異常情報をＥＥＰＲＯＭ１８に記憶する。尚、各ＥＣＵ１，２，３は、例えば、通信相手のＥＣＵへ所定の制御データを要求する要求メッセージを送信した後、予め定められた設定時間以内に応答メッセージが返って来ない場合に、その通信相手のＥＣＵが異常であると判定する。
【００４１】
また、３つのＥＣＵ１，２，３のうち、ＥＣＵ１の書換可能領域１４ａに格納される制御プログラムには、メインリレー６を制御するためのプログラムが追加されている。そして、ＥＣＵ１は、前述したように、イグニッションスイッチ７がオンしていることを信号線Ｌ２の電圧レベルにより検知すると共に、当該車両制御システムの動作停止条件が成立したと判断するまでの間、メインリレー６へ信号線Ｌ３を介して駆動信号を出力する。
【００４２】
一方、各ＥＣＵ１，２，３に設けられたマイコン１０のＣＰＵ１２は、ブートプログラムの実行時に、データ書換装置８から自己のＥＣＵへ書換要求メッセージが送信されて来たことを検出すると、ブートプログラムを継続して実行することにより、フラッシュメモリ１４の書換可能領域１４ａに格納されている制御プログラムを、データ書換装置８から通信線４を介して送信されて来る新たな制御プログラムに書き換えるための書換処理を行う。
【００４３】
そこで次に、各ＥＣＵ１，２，３のマイコン１０で実行される主要な処理の詳細について、図３〜図５を用いて説明する。
まず図３は、フラッシュメモリ１４の書換不能領域１４ｂに格納されているブートプログラムの処理を表すフローチャートである。
【００４４】
図３に示すように、イグニッションスイッチ７のオンに伴いマイコン１０がリセット状態から動作を開始すると、最初に、上記書換不能領域１４ｂに格納されているブートプログラムが起動する。
そして、まず、ステップ（以下、単に「Ｓ」と記す）１１０にて、ＲＡＭ１６や内部レジスタ等を初期化し、続くＳ１２０にて、データ書換装置８から自己のＥＣＵに対する書換要求メッセージが送信されて来たか否かを判定する。尚、データ書換装置８から送信される書換要求メッセージには、制御プログラムの書き換えを行うべきＥＣＵを示す識別コードが含まれている。そして、このＳ１２０では、データ書換装置８からの書換要求メッセージを受信し、且つ、その書換要求メッセージに含まれている識別コードが自己のＥＣＵを示すコードであれば、自己のＥＣＵに対する書換要求メッセージが送信されて来たと判定する。
【００４５】
ここで、上記Ｓ１２０にて、自己のＥＣＵに対する書換要求メッセージが送信されて来ていないと判定した場合には、Ｓ１３０に進み、所定時間が経過したか否かを判定する。そして、所定時間が経過していなければ、Ｓ１２０に戻る。
また、上記Ｓ１３０で所定時間が経過したと判定した場合には、Ｓ１４０に進んで、フラッシュメモリ１４の書換可能領域１４ａに格納されている制御プログラムへジャンプする。すると、その後は、Ｓ１５０に示すように、上記書換可能領域１４ａ内の制御プログラムに基づく制御処理が実行されて、前述した通常時の動作が行われることとなる。
【００４６】
一方、上記Ｓ１２０にて、データ書換装置８から自己のＥＣＵに対する書換要求メッセージが送信されて来たと判定した場合には、Ｓ１６０に移行して、Ｓ１６０〜Ｓ１９０の書換処理を行う。
即ち、まずＳ１６０にて、データ書換装置８から送信されて来る所定バイト分の書換データ（つまり、フラッシュメモリ１４の書換可能領域１４ａに格納すべき新たな制御プログラムを構成するデータのうちの所定バイト分のデータ）を受信する。
【００４７】
そして、続くＳ１７０にて、電源ＩＣ２０からフラッシュメモリ１４の書換可能領域１４ａへ書換電圧ＶP を印加させると共に、上記書換可能領域１４ａのうち、上記Ｓ１６０で受信した書換データを書き込むべき領域のデータを消去する。そして更に、続くＳ１８０にて、上記書換可能領域１４ａのうち、上記Ｓ１７０でデータ消去を行った領域に、上記Ｓ１６０で受信した書換データを書き込む。
【００４８】
次に、Ｓ１９０に進んで、書換可能領域１４ａの全データの書き換えが終了したか否かを判定し、全データの書き換えが終了していない場合には、Ｓ１６０に戻る。
一方、上記Ｓ１９０にて、書換可能領域１４ａの全データの書き換えが終了したと判定した場合（つまり、書換処理が完了した場合）には、Ｓ２００に進み、他のＥＣＵへ自己のＥＣＵに関する異常情報を消去させるための消去要求を送信する、消去要求送信手段としての処理を実行する。尚、この消去要求には、発信者であるＥＣＵを示す識別コードが含まれている。よって、他のＥＣＵは、その識別コードを検出することにより、上記消去要求を送信したＥＣＵを判別することができる。
【００４９】
そして、上記Ｓ２００で消去要求を送信した後、Ｓ１４０に移行して、フラッシュメモリ１４の書換可能領域１４ａに格納されている制御プログラムへジャンプする。すると、Ｓ１５０に示すように、上記書換可能領域１４ａ内の制御プログラムに基づく制御処理が実行されることとなるが、この場合には、上記Ｓ１６０〜Ｓ１９０の書換処理で書き換えられた新たな制御プログラムに基づく制御処理が実行されて、前述した通常時の動作が行われることとなる。
【００５０】
次に図４は、上記書換可能領域１４ａ内の制御プログラムに基づく制御処理のうちで、各ＥＣＵ１，２，３が通信線４を介して送信されて来る各種メッセージに対応した動作を行うための受信処理を表すフローチャートである。尚、この受信処理は、通信線４を介してメッセージが送信されて来たことを検出する毎、或いは、所定時間毎に実行される。
【００５１】
図４に示すように、各ＥＣＵ１，２，３のマイコン１０が受信処理の実行を開始すると、まずＳ２１０にて、送信されて来たメッセージを受信する。
そして、続くＳ２２０にて、上記Ｓ２１０で受信したメッセージが、他のＥＣＵからの前述した消去要求であるか否かを判定し、消去要求でなければ、Ｓ２３０に進んで、受信したメッセージに対応した処理を実行した後、当該受信処理を終了する。尚、メッセージに対応した処理とは、例えば、受信したメッセージが現在のエンジン回転数を示す制御データを要求するメッセージであれば、自己が取得している最新のエンジン回転数を示す制御データを返信する、といったデータのやり取りを行うための処理である。
【００５２】
一方、Ｓ２２０にて、上記Ｓ２１０で受信したメッセージが消去要求であると判定した場合には、Ｓ２４０に移行して、図５に示す消去処理を実行する。
即ち、この消去処理では、まずＳ３１０にて、上記Ｓ２１０で受信した消去要求に含まれている識別コードを検出することにより、その消去要求を送信したＥＣＵを判別する。そして、その判別したＥＣＵに関する異常情報を、消去すべき異常情報として決定する。
【００５３】
次に、Ｓ３２０にて、異常情報格納用メモリとしてのＥＥＰＲＯＭ１８に格納されている異常情報のうち、上記Ｓ３１０で消去すべきと決定した異常情報（つまり、消去要求を送信したＥＣＵに関する異常情報）を消去する、消去手段としての処理を実行する。
【００５４】
そして、このＳ３２０の処理を実行した後、当該消去処理を終了し、それに伴い、図４の受信処理が終了する。
以上詳述したように、本実施形態の車両制御システムでは、３つのＥＣＵ１，２，３の各々が、通常時には（Ｓ１２０：ＮＯ，Ｓ１３０：ＹＥＳ）、フラッシュメモリ１４の書換可能領域１４ａに格納された制御プログラムに従い動作することにより、他のＥＣＵとデータ通信を行いながら制御対象を制御すると共に、他のＥＣＵの通信状態の良否を判定して、異常と判定すると、その異常を示す異常情報を自己のＥＥＰＲＯＭ１８に記憶するようにしている（Ｓ１５０）。
【００５５】
また、３つのＥＣＵ１，２，３の各々は、データ書換装置８から自己への書換要求メッセージを受けた場合には（Ｓ１２０：ＹＥＳ）、上記書換可能領域１４ａに格納されている制御プログラムを、データ書換装置８から送信されて来る新たな制御プログラムに書き換えるための書換処理を実行する（Ｓ１６０〜Ｓ１９０）。
【００５６】
このため、本実施形態の車両制御システムでは、通信線４にデータ書換装置８を接続して、そのデータ書換装置８から３つのＥＣＵ１，２，３のうちの所望のＥＣＵへ書換要求メッセージを送信させることにより、そのＥＣＵの制御プログラムを書き換えることができる。
【００５７】
しかし、３つのＥＣＵ１，２，３のうちの何れかが書換処理を実行している場合に、そのＥＣＵは、通常時の動作を行っている他のＥＣＵからのメッセージに対して応答することができない。よって、書換処理を実行中のＥＣＵは、他のＥＣＵによって異常であると誤判定され、その結果、上記他のＥＣＵのＥＥＰＲＯＭ１８に、プログラムの書き換えを行ったＥＣＵが異常であるという誤った異常情報が記憶されてしまう可能性がある。
【００５８】
そこで、本実施形態の車両制御システムでは、各ＥＣＵ１，２，３が、書換処理の実行を完了したときに（Ｓ１９０：ＹＥＳ）、他のＥＣＵへ、自己に関する異常情報を消去させるための消去要求を送信するようにし（Ｓ２００）、また、各ＥＣＵ１，２，３は、他のＥＣＵからの消去要求に応じて、自分のＥＥＰＲＯＭ１８に記憶されている異常情報を消去するようにしている（Ｓ３１０，Ｓ３２０）。
【００５９】
従って、このようなＥＣＵ１，２，３からなる本実施形態の車両制御システムによれば、制御プログラムの書き換えを行ったＥＣＵが異常であるという誤った異常情報が、他のＥＣＵ（詳しくは、そのＥＥＰＲＯＭ１８）に記憶されたままになってしまうことを、人による作業を一切必要とせずに確実に防止することができる。そして更に、異常情報を格納するメモリとして、電源供給を遮断しても記憶内容が保持されるＥＥＰＲＯＭ１８を用いているにも拘らず、誤った異常情報を確実に消去することができる。また、ＥＥＰＲＯＭ１８に記憶されている貴重な学習値等を消去してしまうこともない。
【００６０】
更に、上記実施形態では、各ＥＣＵ１，２，３が、書換処理の実行を完了したときに、他のＥＣＵへ、自己のＥＣＵに関する異常情報だけを消去させるための消去要求を送信するようにしているため、誤った異常情報だけを消去できる。
【００６１】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々の形態を採り得ることは言うまでもない。
例えば、上記実施形態では、通信線４に接続される全てのＥＣＵ１，２，３が、制御プログラムをオンボード書き換え可能に構成されていたが、例えば、１つのＥＣＵ１だけをオンボード書き換え可能とする場合には、図３の処理がＥＣＵ１だけで行われ、他のＥＣＵ２，３では、図３の処理のうちのＳ１１０，Ｓ１４０，及びＳ１５０だけと、図４の処理が行われるようにすれば良い。尚、この例の場合、ＥＣＵ１は、図５の消去処理を行う必要はない。
【００６２】
一方、上記実施形態では、データ書換装置８が通信線４に接続されるようになっていたが、例えば、各ＥＣＵ１，２，３にデータ書換装置８と接続するための専用コネクタを設け、データ書換装置８をＥＣＵ１，２，３の各々に対して個別に接続するようにしても良い。
【００６３】
また、上記実施形態のＥＣＵ１，２，３は、異常情報や学習値をＥＥＰＲＯＭ１８に記憶するように構成されていたが、バックアップＲＡＭを設けて、異常情報や学習値をそのバックアップＲＡＭに記憶させるようにしても良い。
また更に、上記実施形態のＥＣＵ１，２，３では、記憶内容の書き換えが可能な不揮発性メモリとして、フラッシュメモリ１４を用いたが、ＥＥＰＲＯＭ等、電気的に書き換えが可能な他のＲＯＭを用いても良い。
【００６４】
一方、上記実施形態では、車両を制御する車両制御システムについて説明したが、本発明は、車両以外の乗り物や工作機械等、他の対象物を複数のＥＣＵにより制御する制御システムに対しても、全く同様に適用することができる。
【図面の簡単な説明】
【図１】  実施形態の車両制御システムの全体構成を表すブロック図である。
【図２】  図１のＥＣＵの内部構成を表すブロック図である。
【図３】  図１の各ＥＣＵで動作開始直後から実行される処理を表すフローチャートである。
【図４】  図１の各ＥＣＵで実行される受信処理を表すフローチャートである。
【図５】  図４の受信処理中で実行される消去処理を表すフローチャートである。
【符号の説明】
１，２，３…電子制御装置（ＥＣＵ）    ４…通信線    ５…バッテリ
６…メインリレー    ７…イグニッションスイッチ    ８…データ書換装置
Ｌ１…電源ライン    Ｌ２，Ｌ３…信号線
１０…シングルチップマイクロコンピュータ（マイコン）    １２…ＣＰＵ
１４…フラッシュメモリ    １４ａ…書換可能領域    １４ｂ…書換不能領域
１６…ＲＡＭ    １８…ＥＥＰＲＯＭ    ２０…電源ＩＣ    ２２…通信ＩＣ
【図１】
0004061694.tif 000002
【図２】
0004061694.tif 000003
【図３】
0004061694.tif 000004
【図４】
0004061694.tif 000005
【図５】
0004061694.tif 000006