(57)【要約】【課題】  電子制御装置のプログラム書き換え失敗時も、車両の走行が可能な状態を維持することができる車両用制御システムを提供すること。【解決手段】  電子制御装置は不揮発性メモリの非書き換え領域にプログラム書き換えを行うための書き換えファームウェアと通信機能と、車両が走行するために他の電子制御装置が必要とする情報を取得する機能を実装し、不揮発性メモリの書き換え領域に制御プログラムと現在書き込まれているプログラムの正常異常を判断するための判断領域を持つ構成とし、このシステムにおいて、プログラム書き換え失敗後はアプリケーションを異常と判断し、他の電子制御装置が必要とする情報を取得する機能を実行し、通信機能により提供する。【選択図】        図１
2009087107.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される車両の電子制御装置と、前記電子制御装置と通信を行うことにより書き換え対象のプログラムを提供する外部書き換え手段と、を有する車両用制御システムにおいて、
前記電子制御装置は、
実行するプログラムを外部から書き換え可能に記憶する記憶手段と、
前記外部書き換え手段から送信された前記書き換え対象プログラムにより、前記記憶手段のプログラムを書き換える内部書き換え手段と、
前記内部書き換え手段による書き換えに失敗した場合、車両の走行を可能にするために必要な情報を維持する情報維持手段と、
を備えることを特徴とする車両用制御システム。
【請求項２】
ネットワークを介して接続される車両の電子制御装置と、前記電子制御装置と通信を行うことにより、書き換え対象プログラムを提供する外部書き換え手段と、を有する車両用制御システムにおいて、
前記電子制御装置は、
実行するプログラムを外部から書き換え可能に記憶する書き換え可能領域、及び前記書き換え可能領域の外部に設けられ実行するプログラムを外部から書き換え不可能にして記憶する書き換え不可領域を有する記憶手段と、
前記外部書き換え手段から送信された前記書き換え対象プログラムにより、前記記憶手段の書き換え可能領域のプログラムを書き換える内部書き換え手段と、
前記内部書き換え手段による書き換えに失敗した場合、前記書き換え不可領域のプログラムの実行により車両の走行を可能にするために必要な情報を維持する情報維持手段と、
を備えることを特徴とする車両用制御システム。
【請求項３】
請求項１又は請求項２に記載の車両用制御システムにおいて、
前記外部書き換え手段及び前記内部書き換え手段は、前記記憶手段のプログラムの書き換えに失敗した場合であって、且つ再書き換えを実施可能な場合は、情報維持手段を停止し、高速な書き換えを実施する、
ことを特徴とする車両用制御システム。
【請求項４】
請求項１〜請求項３のいずれか１項に記載の車両用制御システムにおいて、
前記電子制御装置が使用される環境に応じて、前記内部書き換え手段及び前記情報維持手段の実行と停止を判断する判断手段を備えた、
ことを特徴とする車両用制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して通信する車両の電子制御装置のプログラム書き換えを行う車両用制御システムの技術分野に属する。
【背景技術】
【０００２】
従来では、車両の複数の電子制御装置を通信線で接続して車内ネットワークを構成し、この電子制御装置は、データの消去及び書き込みをブロック単位で行うことができる不揮発性メモリにプログラムを格納し、オンボード状態で書き換えを可能にしている。そして、この車内ネットワークにプログラムの書き換え装置を作業者が接続し、書き換えるプログラムを、車内ネットワークを介して対象となる電子制御装置に送って書き換えを行うものがある（例えば、特許文献１参照。）。
また、車内ネットワークに書き換え装置を接続して、書き換えを行う際に、書き換えを実施しないメモリ領域に書き換えファームウェアを実装し、書き換えの正常完了と失敗を判定する領域を設けることにより、書き換え失敗時にも再書き換えを可能にしている。そして、電子制御装置はネットワークを介して接続されるため、電子制御装置間でプログラムの書き換えが適正に行われているかの書き換え実行判定処理を実施している（例えば、特許文献２参照。）。
【特許文献１】特開２００３−１７２１９９号公報
【特許文献２】特開２００６−３１２３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来にあっては、電子制御装置のプログラム書き換えに失敗した際にシステムに与える不具合が問題であった。
【０００４】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、車両に搭載された電子制御装置のプログラム書き換えに失敗した場合においても、車両の走行を可能にすることができる車両用制御システムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明では、ネットワークを介して接続される車両の電子制御装置と、通信を行い書き換えるプログラムを提供する外部書き換えシステムからなる。電子制御装置は、不揮発性メモリの非書き換え領域にプログラム書き換えを行うための書き換えファームウェアと通信機能と、車両が走行するために他の電子制御装置が必要とする情報を取得する機能を実装し、不揮発性メモリの書き換え領域に制御プログラムと現在書き込まれているプログラムの正常、異常を判断するための判断領域を持つ構成とする。
この車両用制御システムでは、プログラム書き換え失敗後は、アプリケーションを異常と判断し、他の電子制御装置が必要とする情報を取得する機能を実行し、通信機能により提供する。
【０００６】
これにより、外部書き換えシステム側のトラブルや車両側のトラブルにより、プログラム書き換え失敗後に再書き換えが実施不可能な場合においても、車両の走行が可能となる状態を維持することができる。
【発明を実施するための最良の形態】
【０００７】
一般的に、ネットワークを介して接続される電子制御装置は、必要な情報をセンサ等から直接取得するのではなく、他の電子制御装置が取得した情報をネットワークより受信し利用する。このシステムにおける電子制御装置のプログラム書き換え失敗時は、書き換えファームウェアにより再書き換えが可能であるが、他の電子制御装置が必要とする情報の取得及び送信が不可となる。この状態において、書き換え装置及び書き換えシステムのトラブルにより再書き換えが実施できない場合、書き換えに失敗した電子制御装置が車両の走行に関する機能を持たないものであっても、車両は走行不可状態になる可能性がある。また、書き換え失敗時における電子制御装置の機能を保護するために、プログラムのバックアップを行う場合において、電子制御装置に多くの資源が必要となってしまうものであった。
以下、本発明の車両用制御システムを実現する実施の形態を説明する。
【実施例１】
【０００８】
まず、構成を説明する。
図１は実施例１の車両用制御システムの全体構成を示す図である。
ECU１は、車両の挙動を制御するためのECU（電子制御装置）であり、他のECU５０と車内ネットワーク２０を介して接続される。ECU１と車速検出器１２とは、有線又は無線（符号２３）で独立に通信する。また、ECU１は、プログラム書き換え実施時は外部書き換えシステム１３と有線又は無線（符号２１又は符号２２）で通信を行う。
ECU１は、CPU２とRAM３とフラッシュROM４（不揮発性メモリ）を含んで構成される。
CPU２は、RAM３やフラッシュROM４の制御等を行い、必要なプログラムを実行し、また、必要な演算等を行うものである。
RAM３は、CPU２の制御により、必要な情報を一時的に記憶し、記憶した情報を出力する。
【０００９】
フラッシュROM４は非書き換え領域である領域５と、書き換え領域である領域６から構成される。非書き換え領域である領域５には、プログラム書き換えを実施する際に実行する書き換えファームウェア７と、他のECU５０や外部書き換えシステム１３と通信するための通信プログラム８と、車速検出器１２からの情報を取得するためのセンサ入力プログラム９が格納される。
【００１０】
書き換え領域である領域６には、車両制御プログラム１０と、プログラム状態識別情報１１が格納される。
書き換えファームウェア７は、ECU１のハードウェアに予め組み込まれたソフトウェアであり、プログラム状態識別情報１１の内容からプログラムの正常、異常を判断する機能を有し、プログラム書き換えの際にはプログラム書き換え機能をRAM３に転送し、外部書き換えシステム１３から送信される書き換え対象プログラムを受信し、車両制御プログラム１０の書き換えを実行する。
【００１１】
車両制御プログラム１０は、このECU１に接続される装置を制御するため、もしくは、装置の接続なく車両の制御のためにプログラム演算等を行うためのプログラムである。
なお、実施例１のECU１の車両制御プログラム１０は、そのプログラムの機能として、通常制御時に車速検出器１２から得る車速情報を、車内ネットワーク２０を介して他のECUへの送信を行う。
プログラム状態識別情報１１は、プログラム書き換えの際の初めに値を変化させ、プログラム書き換えが正常に完了した場合にも値を変化させることにより、プログラム書き換えが正常に実施されたかどうかの情報を格納する。
他のECU５０は、例えば、ブレーキECUやトランスミッションECUなどであり、その制御に車速を必要とするものである。
【００１２】
作用を説明する。
[車両制御プログラムの書き換え処理]
図２に示すのは、実施例１の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートで、以下各ステップについて説明する。
【００１３】
ステップＳ１００では、ECU１の起動時に行われる処理であり、書き換え可能で、起動後にECU１において実行する車両制御プログラム１０が、前回の書き換えにおいて、正常であり実行してもよいかどうかを確認するための処理である。つまり、プログラム状態識別情報１１により車両制御プログラム１０が正常に書き込まれているかどうかを判定し、正常と判定するならばステップＳ１０１へ進み、正常と判定しないならばステップＳ１１１へ進む。
【００１４】
ステップＳ１０１では、ECU１が実行する車両制御プログラム１０の前回の書き込みが正常であることが確認されているので、通常の車両制御を行う。つまり、書き換え可能に領域６に記憶している車両制御プログラム１０を実行する。この車両制御プログラム１０では、車速検出器１２から車速情報を得て、他のECU５０へ車内ネットワーク２０により送信する処理を行う。
【００１５】
ステップＳ１０２では、プログラム書き換え要求を外部書き換えシステム１３から受け付けたかどうかを判断し、受け付けたならば車両制御プログラム１０を書き換えるためステップＳ１０３へ進み、受け付けないならば現在の車両制御プログラム１０で通常制御を継続するためステップＳ１０１へ戻る。
【００１６】
ステップＳ１０３では、プログラムの書き換えを開始してよいECU１の状態かどうかの判断を行う。つまり、プログラム書き換えが適切に実行可能かどうかを判断し、適切に実行可能ならば車両制御プログラム１０を書き換えるためステップＳ１０４へ進み、不適切な場合には現在の車両制御プログラム１０で通常制御を継続するためステップＳ１０１へ戻る。
【００１７】
ステップＳ１０４では、車両制御プログラム１０を書き換える処理が完了しない場合の判断のために、プログラム書き換えを実施するにあたり、プログラム状態識別情報１１へ書き換えが未完了であることを意味する値を書き込む。
【００１８】
ステップＳ１０５では、現在の車両制御プログラム１０を消去し、新たに、外部書き換えシステム１３から受信した車両制御プログラム１０を、領域６に記憶させるプログラムの書き換え処理を行う。
【００１９】
ステップＳ１０６では、車両制御プログラム１０の書き換え処理の継続が、その時点でECU１が得ているECU１の状態又は外部の情報から、適切に実行可能か不適切で不可能なのかを判断し、適切と判断したならば車両制御プログラム１０の書き換え処理を継続するためにステップＳ１０７へ進み、不適切と判断したならば、車両制御プログラム１０の書き換え処理を中止してステップＳ１１５へ進む。
【００２０】
ステップＳ１０７では、車両制御プログラム１０の書き換えが終了したかどうかを判断し、終了したならばステップＳ１０８へ進み、書き換え処理を継続するならばステップＳ１０５へ戻る。
【００２１】
ステップＳ１０８では、新たに領域６に記憶させた、書き換えた車両制御プログラム１０を、予め定められた処理に従って、確認する。例えば、書き換え前後でのプログラムデータの所定の関数による演算結果の一致などである。
【００２２】
ステップＳ１０９では、書き換えられたプログラムの確認結果が正常かどうかを判断し、正常ならば書き換え処理が正常に終了したことを記憶するための処理を行うために、ステップＳ１１０へ進み、正常でないならば、書き換え処理が異常終了したことを記憶するための処理を行うために、ステップＳ１１５へ進む。
【００２３】
ステップＳ１１０では、書き換え処理が正常に終了したため、プログラム状態識別情報１１に正常を意味する値を書き込む。
【００２４】
ステップＳ１１１では、センサ入力プログラム９によるセンサ入力処理を実行する。つまり、車両制御プログラム１０を実行する通常制御の前の起動時の確認において、前回の車両制御プログラム１０の書き込みが異常終了しているため、異常時の処理として、車両の走行を維持させるためにECU１が仲介しているデータを問題なく流すために、車速検出器１２からのセンサ入力処理を行う。
【００２５】
ステップＳ１１２では、センサ入力処理で得た車速検出器１２からのセンサ情報を、非書き込み領域である領域５に記憶している通信プログラム８を実行することにより他のECU５０（車内ネットワーク２０）へ送信する。
【００２６】
ステップＳ１１３では、プログラム書き換え要求を外部書き換えシステム１３から受け付けたかどうかを判断し、受け付けたならば車両制御プログラム１０を書き換えるために車両制御ステップＳ１１４へ進み、受け付けないならば、前回の書き込みが異常終了した状態が継続しているために、ステップＳ１１１へ戻る。
【００２７】
ステップＳ１１４では、プログラムの書き換えを開始してよいECU１の状態かどうか、あるいは車両の状態がどうかの判断を行う。つまり、プログラム書き換えが適切に実行可能かどうかを判断し、適切に実行可能ならば車両制御プログラム１０を書き換えるためステップＳ１０４へ進み、不適切な場合には、前回の書き込みが異常終了した状態が継続しているために、ステップＳ１１１へ戻る。
【００２８】
ステップＳ１１５では、車両制御プログラム１０の書き込みが異常終了しているので、プログラム状態識別情報１１に異常を意味する値を書き込む。
【００２９】
[車両制御プログラムの書き換え作用]
実施例１の車両用制御システムでは、例えば、図１に示すように、ECU１が、車速検出器１２から車速情報を車内ネットワークとは別の有線又は無線（符号２３）により入手し、この車速情報を必要としている他のECU５０へ車内ネットワーク２０を介して送信しているものとする。
【００３０】
その場合に、ECU１のフラッシュROM４の書き込み可能な領域６に記憶している車両制御プログラム１０を、外部書き換えシステム１３から取得する新たなプログラムに書き換える場合、もし書き換えに失敗した場合には、その状態で担当している車両制御を行うことができなくなる。すると、車速検出器１２は正常であるにもかかわらず、車速情報は、それを必要としているECUへ送ることができなくなる。
例えば、メーターを制御している機能を受け持つECUに車速を送信できなければ、正確な車速を表示できないため、走行を中断せざるを得ない。
【００３１】
実施例１の車両用制御システムでは、車両制御プログラム１０の書き換えに失敗すると（ステップＳ１０９）、プログラム状態識別情報１１に異常値を書き込んでおく。そして、次のこの処理の始めにこの書き込み失敗を確認し（ステップＳ１００）、書き込み失敗の場合には、書き込みを不可とする領域５のセンサ入力プログラム９を実行して車速検出器１２から車速情報を取得し（ステップＳ１１１）、その車速情報を必要としている他のECU５０へ送信する（ステップＳ１１２）。これにより、ECU１が車両制御プログラム１０の書き換えに失敗して車速を出力できない状態であっても、他のECU５０が必要とする情報、つまり車速情報を送ることができる。
【００３２】
そうしておいて、外部書き換えシステム１３が書き換え処理を行うことができる状態かを確認し（ステップＳ１１３）、これが可能ならば、ECU１の状態及び車両の状態が書き換え処理の実行が出来る状態かを確認する（ステップＳ１１４）。そしてこれらの条件を満たしているならば再度、書き換え処理を行う（ステップＳ１１４→Ｓ１０４）。
【００３３】
このように処理を行うようにすれば、実施例１の車両用制御システムでは、被書き換え対象のECUがプログラム書き換えに失敗した場合においても、非書き換え対象のECUが必要とする車速情報を提供可能であり、車両の走行を継続できる。
実施例１では、外部書き換えシステム１３を車両の外部に設置して、車両と無線で通信するものであってもよいし、または外部書き換えシステム１３が既に書き換え用プログラムを備えて、車両に設置されているものでもよい。もしくは、外部書き換えシステム１３が外部と無線で通信するなどにより、書き換え用のプログラムを得るようにすれば、書き換えの成功、失敗により車両の走行を妨げることなく、車両制御プログラム１０の書き換えをECU１で行える。
【００３４】
次に、効果を説明する。
実施例１の車両用制御システムにあっては、下記に列挙する効果を得ることができる。
【００３５】
(1)車内ネットワーク２０を介して接続される車両のECU１と、ECU１と通信を行うことにより書き換え対象プログラムを提供する外部書き換えシステム１３とを有する車両用制御システムにおいて、ECU１は、実行するプログラムを外部から書き換え可能に記憶するフラッシュROM４と、外部書き換えシステム１３から送信された書き換え対象プログラムにより、フラッシュROM４の車両制御プログラム１０を書き換える書き換えファームウェア７と、書き換えファームウェア７による書き換えに失敗した場合、車両の走行を可能にするために必要な情報を維持するセンサ入力プログラム９を用いたステップＳ１１１、Ｓ１１２の処理を備えるため、外部書き換えシステム１３側のトラブルや車両側のトラブルにより、プログラム書き換えを失敗した後においても、車両の走行が可能となる状態を維持することができる。
【００３６】
(2)車内ネットワーク２０を介して接続される車両のECU１と、ECU１と通信を行うことにより書き換え対象プログラムを提供する外部書き換えシステム１３とを有する車両用制御システムにおいて、ECU１は、実行するプログラムを外部から書き換え可能に記憶する領域６、及び領域６の外部に設けられ実行するプログラムを外部から書き換え不可能にして記憶する領域５を有するフラッシュROM４と、外部書き換えシステム１３から送信された書き換え対象プログラムにより、フラッシュROM４の領域６の車両制御プログラム１０を書き換える書き換えファームウェア７と、書き換えファームウェア７による書き換えに失敗した場合、領域５のセンサ入力プログラム９の実行により車両の走行を可能にするために必要な情報を維持するステップＳ１１１、Ｓ１１２の処理を備えるため、外部書き換えシステム１３側のトラブルや車両側のトラブルにより、プログラム書き換えを失敗した後においても、領域５のセンサ入力プログラム９の実行により車両の走行が可能となる状態を維持することができる。
【００３７】
実施例１の車両用制御システムの作用効果について付け加えて説明する。
現在、ECU（コントロールユニット）のプログラムの書き換えは、ディーラーや工場において行われている。車両のインテリジェント化や情報のユビキタス化に伴い、今後は、車両の走行中において、ECU（コントロールユニット）のプログラムの書き換えが要望されることになると考えられる。つまり、ユーザーに負荷をかけることなく、工場外やディーラー外において、車両用制御システムのECUのプログラムが勝手にアップグレードすることが求められることになる。実施例１の車両用制御システムでは、車両の走行を維持しつつ、書き換え処理を行うことができ、このような要望に充分に応えることができるのである。
【実施例２】
【００３８】
実施例２は、外部書き換えシステムにより再書き換えが実施可能な場合には、維持手段の機能実行を停止し、高速な書き換えを実施する例である。
構成を説明する。
構成は実施例１と同様であるので説明を省略する。
作用を説明する。
[車両制御プログラムの書き換え処理]
図３に示すのは、実施例２の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートで、以下各ステップについて説明する。なお、実施例１の図２と同様の処理については、同じ符号を付し、説明を省略する。
【００３９】
ステップＳ２０１では、プログラム高速書き換え要求を外部書き換えシステム１３から受け付けたかどうかを判断し、受け付けたならば、車両制御プログラム１０を高速に書き換えるためステップＳ２０４へ進み、受け付けないならば車両制御プログラム１０の通常書き換えを行うためにステップＳ１０５へ進む。
【００４０】
ステップＳ２０２では、センサ入力プログラム９によるセンサ入力処理を実行する。つまり、車両制御プログラム１０の書き換えを実行しつつ、車両の走行を維持させるためにECU１が仲介しているデータを問題なく流すよう、車速検出器１２からのセンサ入力を得るためのセンサ入力処理を行う。
【００４１】
ステップＳ２０３では、センサ入力処理で得た車速検出器１２からのセンサ情報を、非書き込み領域である領域５に記憶している通信プログラム８を実行することにより他のECU５０（車内ネットワーク２０）へ送信する。
【００４２】
ステップＳ２０４では、外部書き換えシステム１３から送られ、受信した新たな車両制御プログラム１０を、現在の車両制御プログラム１０を消去し新たに、領域６に車両制御プログラム１０を記憶させるプログラムの書き換え処理を行う。
なお、ステップＳ２０４における書き換え処理は、高速な処理として行う。
例えば、通常書き換え時に行う「センサ入力」、「情報通信」等を省き、高速な書き換え処理を行う。
【００４３】
ステップＳ２０５では、車両制御プログラム１０の書き換え処理の継続が、その時点でECU１が得ているECU１の状態又は外部の情報から、適切に実行可能か不適切で不可能なのかを判断し、適切と判断したならば車両制御プログラム１０の高速な書き換え処理を継続するためにステップＳ２０６へ進み、不適切と判断したならば、車両制御プログラム１０の高速な書き換え処理を中止してステップＳ１１５へ進む。
【００４４】
ステップＳ２０６では、車両制御プログラム１０の書き換えが終了したかどうかを判断し、終了したならばステップＳ１０８へ進み、終了していない、つまり高速な書き換え処理を継続するならばステップＳ２０４へ戻る。
【００４５】
[車両制御プログラムの書き換え作用]
実施例２の車両用制御システムでは、車両制御プログラム１０の書き換え開始時に、外部書き換えシステム１３により書き換え処理の選択が可能であり、書き換え処理中も、車速情報の取得（ステップＳ２０２）、送信の処理（ステップＳ２０３）等を行う通常書き換え処理と、それらを制限した高速な書き換え処理を行うようにする（ステップＳ２０４）。
【００４６】
このような高速の書き込み処理では、ECU１の負荷が高くなるため、次に行うセンサ入力処理（ステップＳ２０２）、情報送信処理（ステップＳ２０３）を一旦、停止もしくはサンプリング周期、送信周期を粗くして、高速な書き込み処理を行う。
【００４７】
効果を説明する。実施例２の車両用制御システムにあっては、上記(1),(2)の効果に加えて、以下の効果を有する。
(3)外部書き換えシステム１３及び書き換えファームウェア７は、フラッシュROM４の車両制御プログラム１０の書き換えに失敗した場合であっても、ステップＳ１１１、Ｓ１１２の処理を備えるため、外部書き換えシステム１３側のトラブルや車両側のトラブルにより、プログラム書き換え失敗後に再書き換えが実施不可能な場合においても、車両の走行が可能となる状態を維持することができる。
そして、プログラム書き換え中に、ステップＳ１１１、Ｓ１１２と同様の処理であるＳ２０２、Ｓ２０３の実施の有無を選択することができる。この選択により、プログラムの高速な書き換えが可能であり、書き込みを完了させることができる。
【実施例３】
【００４８】
実施例３の車両用制御システムは、ECU１が情報送信した他のECU５０からの情報によって、書き換え処理の継続判断を行う例である。
構成を説明する。
構成は実施例１と同様であるので説明を省略する。
【００４９】
作用を説明する。
[車両制御プログラムの書き換え処理]
図４に示すのは、実施例３の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートで、以下各ステップについて説明する。なお、実施例１の図２と同様の処理については、同じ符号を付し、説明を省略する。
【００５０】
ステップＳ３０１では、センサ入力プログラム９によるセンサ入力処理を実行する。つまり、車両制御プログラム１０の書き換えを実行しつつ、車両の走行を維持させるためにECU１が仲介しているデータを問題なく流すよう、車速検出器１２からのセンサ入力を得るためのセンサ入力処理を行う。
【００５１】
ステップＳ３０２では、センサ入力処理で得た車速検出器１２からのセンサ情報を、非書き込み領域である領域５に記憶している通信プログラム８を実行することにより他のECU５０（車内ネットワーク２０）へ送信する。
【００５２】
ステップＳ３０３では、車速検出器１２からのセンサ情報、つまり車速情報を送信した他のECU５０から、その情報を受信したECUの状態もしくはその情報を受信したECUが知得する車両の状態を情報として取得（受信）する。
【００５３】
ステップＳ３０４では、車両制御プログラム１０の書き換え処理の継続が、その時点でECU１が得ている車速情報の送信先である他のECU５０の状態又は他のECU５０が知得する車両の状態の情報から、適切に実行可能か不適切で不可能なのかを判断し、適切と判断したならば車両制御プログラム１０の書き換え処理を継続するためにステップＳ１０７へ進み、不適切と判断したならば、車両制御プログラム１０の書き換え処理を中止してステップＳ１１５へ進む。
【００５４】
ステップＳ３０５では、車速検出器１２からのセンサ情報、つまり車速情報を送信した他のECU５０から、その情報を受信したECUの状態もしくはその情報を受信したECUが知得する車両の状態を情報として取得（受信）する。
【００５５】
[車両制御プログラムの書き換え作用]
実施例３の車両用制御システムでは、書き換え処理を行う途中であっても、車速検出器１２から得る車速情報を他のECU５０へ送信する（ステップＳ３０１、Ｓ３０２）。
そして、その情報の送り先となるECUから、そのECUの状態の情報、もしくはそのECUが得る車両の情報を取得（受信）し（ステップＳ３０３）、これらの情報から、車両制御プログラム１０の書き換え処理を継続することが可能かどうかの判断を行う（ステップＳ３０４）。
【００５６】
これによって、車両制御プログラム１０の書き換え処理を、車両の走行に影響を与えることがないようにしつつ、より確実に行うようにする。
例えば、車速情報を得ている他のECU５０が、車両のエンジン温度や、水温などが上昇していることに関して、車速情報を細かく得たいと車内ネットワーク２０を介して要求する場合や、他の処理で車内ネットワークを頻度高く使用することを求めている場合を考える。
【００５７】
すると、このような場合には、ECU１が外部書き換えシステム１３との送受信により車両制御プログラム１０を書き換える処理を控えたほうがよく、処理を継続しても中止になる可能性が高いことになる。そのような場合、つまりECU１の環境が書き換えに向かないと判断する場合には、情報送信（ステップＳ３０２）によりその送信先のECUから送られてくる情報に基づく判断を行えば、より書き換え処理を確実に行うことにつながる。
【００５８】
効果を説明する。
実施例３の車両用制御システムでは、上記(1)〜(3)に加えて、以下の効果を有する。
(4)ECU１が使用される環境に応じて、書き換えファームウェア７及びセンサ入力プログラム９の実行と停止を判断するステップＳ３０１〜Ｓ３０４の処理を備えたため、車両制御プログラム１０の書き換えの継続の判断を、このECU１の環境状態から判断することにより、より確実に書き換えを実行できる。
【００５９】
以上、本発明の車両用制御システムを実施例１〜実施例３に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【産業上の利用可能性】
【００６０】
本発明は、車両以外の移動体や、他の装置に搭載された電子制御装置に関するプログラムを書き換えるための技術に利用可能である。
【図面の簡単な説明】
【００６１】
【図１】実施例１の車両用制御システムの全体構成を示す図である。
【図２】実施例１の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートである。
【図３】実施例２の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートである。
【図４】実施例１の車両用制御システムのECU１のCPUで実行される車両制御プログラムの書き換え処理の流れを示すフローチャートである。
【符号の説明】
【００６２】
１  ECU
２  CPU
３  RAM
４  フラッシュROM
５  （書き換えが不可能な）領域
６  （書き換えが可能な）領域
７  書き換えファームウェア
８  通信プログラム
９  センサ入力プログラム
１０  車両制御プログラム
１１  プログラム状態識別情報
１２  車速検出器
１３  外部書き換えシステム
２０  車内ネットワーク
２１  （外部書き換えシステムが車内ネットワークに接続される状態を示す）符号
２２  （外部書き換えシステムとECUとの有線又は無線による通信ラインを示す）符号
２３  （車速検出器とECUとの有線又は無線による通信ラインを示す）符号
５０  （他の）ECU
【図１】
2009087107.tif 000003
【図２】
2009087107.tif 000004
【図３】
2009087107.tif 000005
【図４】
2009087107.tif 000006