(57)【要約】      （修正有）【課題】複数の電子制御装置に格納された情報を書き換える際に、複数の制御装置に対して漏れなく書き換えが行えるように、その進捗状況をユーザが速やかに把握することができるシステムを提供する。【解決手段】書き換えシステムは、車両に搭載され、それぞれが制御情報を記憶する記憶手段を備える複数の電子制御装置と、新たな制御情報を複数の電子制御装置に送信して、該新たな制御情報で、複数の電子制御装置の記憶手段に記憶された制御情報を書き換える書き換え手段と、を備え、複数の電子制御装置のいずれか１つの電子制御装置は、自己の上記書き換えが完了したことに応じて、他の電子制御装置のそれぞれについて書き換えが完了したか否かを判定し、該判定の結果を報知するよう構成され、ユーザは、どの電子制御装置の書き換えまで完了したかを速やかに認識することができる。【選択図】図２
2010247590.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、それぞれが制御情報を記憶する記憶手段を備える複数の電子制御装置と、
新たな制御情報を前記複数の電子制御装置に送信して、該新たな制御情報で、前記複数の電子制御装置の前記記憶手段に記憶された制御情報を書き換える書き換え手段と、を備え、
前記複数の電子制御装置のいずれか１つの電子制御装置は、自己の前記書き換えが完了したことに応じて、他の電子制御装置のそれぞれについて前記書き換えが完了したか否かを判定し、該判定の結果を報知するよう構成される、
書き換えシステム。
【請求項２】
前記書き換え手段は、前記判定を実行するためのプログラムを、前記１つの電子制御装置に送信し、該１つの電子制御装置は、自己の前記書き換えが完了したことに応じて該プログラムを実行することにより、前記判定を行う、
請求項１に記載の書き換えシステム。
【請求項３】
前記１つの電子制御装置に接続される診断装置が読み取って表示することができるように、前記１つの電子制御装置は、前記書き換えが未完了であると判定された前記電子制御装置の識別コードを出力することにより、前記報知を行う、
請求項１または２に記載の書き換えシステム。
【請求項４】
前記診断装置から前記報知を解除する要求を受け取っても、前記１つの電子制御装置は、前記複数の制御装置の書き換えが完了するまでは、前記報知を解除することなく継続する、
請求項３に記載の書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車両に搭載された電子制御装置に記憶されている情報を書き換えるためのシステムに関する。
【背景技術】
【０００２】
従来より、車両に搭載された電子制御装置（ＥＣＵ）に記憶されている情報を書き換えるための手法が提案されている。下記の特許文献１には、車両に搭載されたＥＣＵのフラッシュメモリ内のデータの書き換えの正常終了または異常終了を、表示ランプを用いて知らせることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４３４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近の車両には、車両をより良好な精度で様々に制御するために、複数の電子制御装置が搭載されている。これらの電子制御装置のメモリには、該電子制御装置が制御を実現するためのプログラムおよび関連するデータなどの情報が記憶されている。この記憶された情報を、たとえばバージョンアップのために書き換える必要が生じうる。当然ながら、１つの電子制御装置だけでなく、複数の電子制御装置を対象に、このような書き換えを行う必要が生じうる。
【０００５】
従来は、複数の電子制御装置に対して書き換えを行う際、各電子制御装置に現在格納されている情報が、書き換え済みの状態であるのか、もしくは未だ書き換えられていない状態であるのかを判定するために、外部の機器を車両に接続して各電子制御装置のメモリにアクセスし、該制御装置に現在格納されている情報のバージョンを調べる必要があった。また、格納されている情報を更新するためには、外部の機器に一旦新たな情報をダウンロードし、その後、該外部の機器を介して複数の電子制御装置に対し、順番に、該新たな情報で古い情報を書き換えることが必要であった。
【０００６】
このような書き換え作業においては、その進捗状況、すなわち、どの電子制御装置のどの情報の書き換えまでが現在完了しているのかを把握するのが困難であった。一旦、進捗状況が不明になると、各電子制御装置のメモリの内容を調べ、書き換えが完了したか否かを逐次調べる必要があった。上記の特許文献１では、正常終了か否かをユーザに知らせる手法が示されているが、これは、１つの電子制御装置に関するものであり、複数の電子制御装置において、どの電子制御装置のどの情報の書き換えまでを現在完了しているのかという進捗状況については、把握することができない。
【０００７】
さらに、外部の機器はユーザによって操作されるが、書き換え中に該外部の機器の操作者が他のユーザに交代する場合も起こりうる。上記のように書き換え作業の進捗状況の把握が困難であるので、このような交代が起こると、その後のユーザ操作によっては書き換え漏れが生じるおそれがある。また、書き換え漏れが生じたとしても、それをユーザに通知する手法が無い。
【０００８】
したがって、複数の電子制御装置に格納された情報を書き換える（更新する）際に、該複数の制御装置に対して漏れなく書き換えが行われるように、その進捗状況をユーザが速やかに把握することができる手法が望まれている。
【課題を解決するための手段】
【０００９】
この発明の一つの側面によると、車両に搭載され、それぞれが制御情報を記憶する記憶手段を備える複数の電子制御装置と、新たな制御情報を前記複数の電子制御装置に送信して、該新たな制御情報で、前記複数の電子制御装置の前記記憶手段に記憶された制御情報を書き換える書き換え手段と、を備え、前記複数の電子制御装置のいずれか１つの電子制御装置は、自己の前記書き換えが完了したことに応じて、他の電子制御装置のそれぞれについて前記書き換えが完了したか否かを判定し、該判定の結果を報知するよう構成される、書き換えシステムが提供される。
【００１０】
この発明によれば、複数の電子制御装置の制御情報を書き換える際に、該複数の電子制御装置のうちの１つが、他の電子制御装置の書き換えが完了しているか否かを判定してその結果を報知するので、該複数の電子制御装置に対する書き換え作業の進捗状況を、自動的に判定することができると共に、ユーザは、書き換え作業の進捗状況を速やかに認識することができる。したがって、複数の制御装置に対する書き換えを漏れなく完了させることができる。
【００１１】
この発明の一実施形態によると、前記書き換え手段は、前記判定を実行するためのプログラムを、前記１つの電子制御装置に送信し、該１つの電子制御装置は、自己の前記書き換えが完了したことに応じて該プログラムを実行することにより、前記判定を行う。
【００１２】
この発明によれば、他の電子制御装置の書き換えが完了したか否かを判定するプログラムを、いずれかの電子制御装置にロードすることにより、上記のような書き換え作業の進捗状況を自動的に判定してユーザに知らせることができる。
【００１３】
この発明の一実施形態によると、前記１つの電子制御装置に接続される診断装置が読み取って表示することができるように、前記１つの電子制御装置は、前記書き換えが未完了であると判定された前記電子制御装置の識別コードを出力することにより、前記報知を行う。
【００１４】
この発明によると、書き換えが完了していない電子制御装置が識別されて診断装置上に識別コードとして表示されるので、ユーザは、これを視認することにより、どの電子制御装置がまだ書き換えられていないかを速やかに認識することができる。したがって、たとえばユーザが交代して書き換え作業を引き継いだとしても、書き換え漏れを回避しつつ、複数の電子制御装置の書き換えを完了させることができる。また、既存の診断装置を用いて、書き換えが未完了の制御装置を認識することができるので、コスト高となるのを回避しつつ、保守整備を行う者にとって使い勝手のよいシステムを提供することができる。
【００１５】
この発明の一実施形態によると、前記診断装置から、前記報知を解除する要求を受け取っても、前記１つの電子制御装置は、前記複数の制御装置の書き換えが完了するまでは、前記報知を解除することなく継続する。
【００１６】
診断装置は、通常、所定のクリアコマンドを制御装置に送信することにより、上記のような識別コードの出力を解除することができるよう構成されている。しかしながら、書き換え作業の進捗中にこのような報知の解除が行われると、書き換えが未完了の制御装置は存在しないとユーザが誤認識するおそれがある。この発明によれば、すべての制御装置の書き換えが完了するまでは、このような報知の解除が抑止され、書き換えが未完了の制御装置を識別するコードの出力が継続して行われる。したがって、ユーザの上記のような誤認識を防止することができる。
【００１７】
本発明のその他の特徴及び利点については、以下の詳細な説明から明らかである。
【図面の簡単な説明】
【００１８】
【図１】この発明の一実施例に従う、車両の書き換えシステムの概略的な構成を示す図。
【図２】この発明の一実施例に従う、他の制御装置の書き換えが完了しているか否かを判定するためのプロセスのフローを示す図。
【図３】この発明の一実施例に従う、診断装置が接続された書き換えシステムの概略的な構成を示す図。
【図４】この発明の一実施例に従う、他の制御装置の書き換えが完了しているか否かを判定する処理の推移を概念的に示す図。
【図５】この発明の一実施例に従う、他の制御装置の書き換えが完了しているか否かを判定する処理の推移を概念的に示す図。
【図６】この発明の一実施例に従う、他の制御装置の書き換えが完了しているか否かを判定する処理の推移を概念的に示す図。
【発明を実施するための形態】
【００１９】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の一実施形態に従う、車両に搭載された複数の制御装置を備える書き換えシステムの概略的な構成を示す。
【００２０】
複数の電子制御装置（ＥＣＵであり、以下、単に制御装置と呼ぶ）は、図では１０ａ〜１０ｃで表されており、ここでは、第１の制御装置１０ａ、第２の制御装置１０ｂおよび第３の制御装置１０ｃと呼ぶ。第１〜第３の制御装置１０ａ〜１０ｃは、車両の様々な制御を実現するために設けられており、たとえば、それぞれ、エンジンを制御するための制御装置、トランスミッションを制御するための制御装置、バッテリを制御するための制御装置であることができる。制御装置の種類は、当然ながらこれらに限定されず、エアバッグを制御するための制御装置、ドアやランプなどを制御するための制御装置等を含めることができる。
【００２１】
第１〜第３の制御装置１０ａ〜１０ｃのそれぞれは、中央処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。第１〜第３の制御装置１０ａ〜１０ｃは、ＣＰＵが演算を行うのに用いる一時的な記憶領域である揮発性のＲＡＭ（図示せず）、および、たとえばＥＥＰＲＯＭおよびフラッシュメモリなど、電源の供給がなくても記憶内容を保持する不揮発性メモリ１２ａ〜１２ｃを備える。
【００２２】
第１〜第３の制御装置１０ａ〜１０ｃの不揮発性メモリ１２ａ〜１２ｃには、ＣＰＵが実行するためのコンピュータプログラムおよびそれに関連するデータ（マップやテーブル等）が格納されており、ＣＰＵが該コンピュータプログラムを実行することにより、上記のような制御、たとえばエンジン制御、トランスミッション制御、バッテリ制御等が実現される。以下の説明では、不揮発性メモリに格納されている上記のようなコンピュータプログラムやデータ等のソフトウェアを、総称して「制御情報」と呼ぶ。図の例では、第１〜第３の制御装置１０ａ〜１０ｃの不揮発性メモリ１２ａ〜１２ｃには、それぞれ、制御情報１４ａ〜１４ｃが格納されている。
【００２３】
この実施例では、車内ネットワーク（車内ＬＡＮ）は、バス型のネットワーク・トポロジによって形成されており、第１〜第３の制御装置１０ａ〜１０ｃは、バス１６に接続されている。第１〜第３の制御装置１０ａ〜１０ｃは、ＣＡＮプロトコルのような所定の通信プロトコルに従って、互いに通信することが可能である。図の例では、制御装置の数が３であるが、これは単なる例であり、任意の数（複数）の制御装置をバス１６に接続することができる。
【００２４】
外部の書き換え装置２０は、各制御装置の不揮発性メモリに格納されている制御情報を、新たな制御情報２４に書き換える（更新する）ための装置である。書き換え装置２０は、ＣＰＵおよびメモリを備えるコンピュータであり、車内ネットワークに接続可能なように構成されている。車両には、車内ネットワークに外部機器を接続するためのコネクタが設けられており、このコネクタに書き換え装置２０を接続することにより、書き換え装置２０は、該ネットワーク上の制御装置と互いに通信することができる。図の例では、書き換え装置２０が、バス１６上の第１〜第３の制御装置１０ａ〜１０ｃと通信可能なように接続されている形態が示されている。
【００２５】
書き換え装置２０のメモリには、書き換えに用いる該新たな制御情報２４が予め格納されている。上記のような車内ネットワークに接続された書き換え装置２０をユーザが操作することにより、該書き換え装置２０に格納された該新たな制御情報２４を、該ネットワークを介して、対象の制御装置に送信する。該新たな制御情報２４を受け取った制御装置は、該新たな制御情報２４で、自己の不揮発性メモリに格納されている制御情報を書き換える。
【００２６】
この書き換えの具体的な手法は、既知の任意の手法を用いることができる。一手法によると、書き換え装置２０をユーザが操作することにより、書き換える新たな制御情報および書き換え対象の制御装置（ここでは、第１の制御装置１０ａとする）を指定する。該ユーザ操作に応じて、書き換え装置２０は、書き換えモードへの移行を指示する信号を、第１の制御装置１０ａに送信する。第１の制御装置１０ａは、肯定応答を書き換え装置２０に返信すると共に、通常モードから書き換えモードに移行する。
【００２７】
書き換え装置２０は、書き換え開始の指示を示す信号を、書き換え領域（アドレス範囲）を示すデータと共に、第１の制御装置１０ａに送信する。第１の制御装置１０ａは、自己の不揮発性メモリ１２ａの該示された書き換え領域に格納されている制御情報１４ａを削除する（何も格納されていなければ、この削除動作は行われない）。削除が完了したならば、書き換え開始の肯定応答を書き換え装置２０に返す。
【００２８】
書き換え装置２０は、新たな制御情報２４を、所定長のデータブロックの単位で、順番に送信する。第１の制御装置１０ａは、受信したデータブロックを、該書き換え領域に書き込む。１つのデータブロックの書き込みが終了するたびに、書き込み終了を示す信号を書き換え装置２０に返す。書き換え装置２０は、この信号に応じて、次のデータブロックを送信する。すべてのデータブロックを送信した後に、第１の制御装置１０ａから最後のデータブロックの書き込み終了信号を受け取ったならば、第１の制御装置１０ａは、通常モードへの移行を指示する信号を第１の制御装置１０ａに送信する。第１の制御装置１０ａは、肯定応答を書き換え装置２０に返すと共に、書き換えモードから通常モードに移行する。こうして、制御情報１４ａは、新たな制御情報２４によって書き換えられる。
【００２９】
このような書き換え処理は、制御装置毎に順番に行われる。書き換え装置２０をユーザが操作することにより、書き換え対象の制御装置を順番に指定して、制御装置毎に書き換えを実行することができる。この実施例では、第１の制御装置１０ａの書き換えを行った後に第２の制御装置１０ｂの書き換えを行い、第２の制御装置１０ｂの書き換えを行った後に第３の制御装置１０ｃの書き換えを行う。書き換える順番は、任意でよく、いずれの制御装置から書き換えを開始してもよい。
【００３０】
また、書き換え装置２０のメモリには、各制御装置の書き換え（更新）状態を判定するためのプログラム（以下、書き換え判定プログラムと呼ぶ）２６が格納されている。書き換え装置２０は、書き換え判定プログラム２６を、書き換え対象となる複数の制御装置のうちのいずれか１つに送信する。どの制御装置に送信するかは、たとえば書き換え装置２０に対するユーザ操作により、任意に設定されることができる。この実施例では、書き換え判定プログラム２６は第１の制御装置１０ａに送信される。第１の制御装置１０ａは、受信した書き換え判定プログラム２６をメモリ（不揮発性メモリでもよい）に記憶し、所定のタイミングで、該プログラムを起動する。
【００３１】
ここで図２を参照すると、図１に示すように書き換え対象の制御装置が３個（第１〜第３の制御装置１０ａ〜１０ｃ）である場合の、書き換え判定プログラム２６によって実現されるプロセスのフローチャートが示されている。この実施例では、該プロセスは、第１の制御装置１０ａにおける上記の新たな制御情報２４による制御情報１４ａの書き換えが完了したことに応じて、第１の制御装置１０ａによって起動される。その後、該プロセスは、所定時間間隔で繰り返し実行される。
【００３２】
ステップＳ１１において、該書き換え判定プログラム２６を受信した第１の制御装置（ＥＣＵ）１０ａにおいて、新たな制御情報２４による古い制御情報１４ａの書き換えが完了したことを、第１の書き換え完了信号を送信することによって、他の第２および第３の制御装置１０ｂおよび１０ｃに知らせる。第２および第３の制御装置１０ｂおよび１０ｃは、第１の書き換え完了信号の受信に対して、第２および第３の書き換え状態信号を、第１の制御装置１０ａに返信する。ここで、第２の書き換え状態信号は、第２の制御装置１０ｂにおいて、新たな制御情報２４による古い制御情報１４ｂの書き換えが完了したかどうかを示す信号であり、第３の書き換え状態信号は、第３の制御装置１０ｃにおいて、新たな制御情報２４による古い制御情報１４ｃの書き換えが完了したかどうかを示す信号である。なお、各制御装置には、第１の書き換え完了信号を受信した時に応答を返すためのプログラムが予め記憶されており、上記第２および第３の書き換え状態信号は、該プログラムを実行することによって返信されることができる。
【００３３】
ステップＳ１３において、第１の制御装置１０ａは、第２および第３の制御装置１０ｂおよび１０ｃからの応答すなわち第２および第３の書き換え状態信号を受信する。
【００３４】
ステップＳ１５において、第２の書き換え状態信号を調べることにより、第２の制御装置１０ｂにおける書き換えが完了したかどうかを判定する。また、ステップＳ１７およびＳ１９において、第３の書き換え状態信号を調べることにより、第３の制御装置１０ｃにおける書き換えが完了したかどうかを判定する。
【００３５】
ステップＳ１５およびステップＳ１９の両方の判定結果がＮｏであれば、第２および第３の制御装置１０ｂおよび１０ｃの両方において、書き換えが完了していないことを示す。したがって、ステップＳ２１において、第２および第３の制御装置１０ｂおよび１０ｃの両方の書き換えが未完了であることを示す報知を行う。
【００３６】
ステップＳ１５の判断がＹｅｓであり、かつステップＳ１７の判断がＮｏであれば、第２の制御装置１０ｂの書き換えは完了しているが、第３の制御装置１０ｃの書き換えは完了していないことを示す。したがって、ステップＳ２３において、第３の制御装置１０ｃの書き換えが未完了であることを示す報知を行う。
【００３７】
ステップＳ１５の判断がＮｏであり、かつステップＳ１９の判断がＹｅｓであれば、第３の制御装置１０ｃの書き換えは完了しているが、第２の制御装置１０ｂの書き換えは完了していないことを示す。したがって、ステップＳ２５において、第２の制御装置１０ｂの書き換えが未完了であることを示す報知を行う。
【００３８】
ステップＳ１５の判断がＹｅｓであり、かつステップＳ１７の判断がＹｅｓであれば、第２および第３の制御装置１０ｂおよび１０ｃの両方の書き換えが完了していることを示す。この場合には、そのまま当該プロセスを抜ける。
【００３９】
後述されるが、第１の制御装置１０ａは、第２および第３の制御装置１０ｂおよび１０ｃの書き換え完了を判定した後に、診断装置から所定のクリアコマンド（クリアを要求する信号）を受け取ったことに応じて、すべての報知を解除する。この報知解除に伴い、図２の判定プロセスの繰り返し実行は停止される。
【００４０】
「報知」は、上で述べたように、書き換えが未完了の制御装置をユーザに知らせるために行われる。ここで、報知の一実施例を説明する。この実施例では、従来から制御装置の診断に用いられている、異常を識別するためのコード（たとえば、ＳＡＥコードのような診断コード）および警告灯を利用する。該識別コードは、どの制御装置に異常が生じたかを判別できるように、各制御装置に対して割り当てられている。第２の制御装置１０ｂの書き換えが未完了である場合には、第２の制御装置１０ｂの異常を示す識別コードが用いられ、第３の制御装置１０ｃの書き換えが未完了である場合には、第３の制御装置１０ｃの異常を示す識別コードが用いられる。たとえば、第２の制御装置１０ｂが、ＣＶＴ（無段変速機）用の制御装置であれば、該ＣＶＴ用の制御装置の異常に割り当てられた識別コードが用いられ、第３の制御装置１０ｃが、バッテリ用の制御装置であれば、該バッテリ用の制御装置の異常に割り当てられた識別コードが用いられる。ステップＳ２１〜Ｓ２５では、書き換えが未完了と判定された制御装置の識別コードを出力（生成）することにより、報知を行う。出力された識別コードは、診断装置が読み出すことができるように、第１の制御装置１０ａの所定の記憶領域（たとえば、常時電力が供給されるバックアップ用のＲＡＭ（ＳＲＡＭ））に記録されて保持される。
【００４１】
ここで図３を参照すると、図１と同様の図が示されているが、書き換え装置２０の代わりに、診断装置３０が車内ネットワークに接続されている。診断装置３０は、書き換え装置２０と同様に、車両に設けられたコネクタに接続することにより車内ネットワークに接続されることができるよう構成されている。この接続により、診断装置３０は、該ネットワーク上の制御装置と互いに通信することができる。診断装置３０は、書き換え装置２０と同じコネクタを用いてもよいし、異なるコネクタを用いてもよい。前者の場合には、書き換え装置２０の接続を外して診断装置３０を接続することとなる。
【００４２】
診断装置３０として、既存の診断装置を用いることができる。このような診断装置３０は、車内ネットワークに接続されると、各制御装置に対して、出力した識別コードを要求する信号を送信するよう構成されている。各制御装置は、この信号に応じて、自己の上記所定の記憶領域に記録されている識別コードを読み出して診断装置３０に送信する。診断装置３０は、送られてきた識別コードを受け取って該診断装置３０の表示画面上に表示する。したがって、診断装置３０を車内ネットワークに接続することにより、ステップＳ２１〜Ｓ２５で出力される識別コードは、診断装置３０の表示画面上に表示されることができる。ユーザは、この表示を視認することにより、書き換えが未完了の制御装置を特定することができる。
【００４３】
また、従来より、車両には予め所定の警告灯が設けられており、何らかの異常を示す識別コードを出力する際には、該識別コードに対応する警告灯を点灯または点滅させて、運転者にその異常を知らせることが行われている。たとえばエンジン制御用の制御装置について何らかの異常を示す識別コードが出力された場合には、それと同時に、エンジンの異常を示す警告灯が点灯または点滅される。この実施例では、この技術をも利用し、ステップＳ２１〜Ｓ２５において、識別コードの出力と同時に、警告灯を点灯（点滅でもよく、以下同様）する。
【００４４】
こうして、ユーザは、警告灯が点灯しているか否かで、書き換えが未完了の制御装置が存在するか否かを認識することができると共に、診断装置３０を介して、書き換えが未完了の制御装置を特定することができる。たとえば、書き換え作業の途中で担当者が交代した場合でも、診断装置３０を接続することにより、書き換えが未完了の制御装置を速やかに確認することができるので、該担当者は、その制御装置の書き換え処理を開始して、書き換え作業を完了させることができる。したがって、書き換えが漏れたり書き換えが重複して行われるのを防止することができる。また、既存の識別コードや診断装置を利用することができるので、コスト高を招くのを回避することができる。さらに、ユーザ（特に、保守整備を行う者）が使うのに慣れている診断装置を利用することができるので、書き換え作業の遂行にあたって不便さをユーザにもたらすのを回避することができる。
【００４５】
上記のような利点があるものの、代替的に、既存の識別コードとは別の体系のコードを用いてもよい。また、識別コードを、たとえば車両の所定の表示装置に表示したり、書き換え装置２０の表示画面に表示したりしてもよい。さらに、警告灯に代えて、所定の音や音声によって、報知を行うようにしてもよい。
【００４６】
制御装置によって記録された識別コードの消去および警告灯の消灯は、従来より、診断装置３０から所定のクリアコマンドを制御装置に対して送信することにより行われている。すなわち、診断装置３０は、通常、各制御装置から識別コードを読み出した後、このクリアコマンドを該制御装置に対して送信する。このクリアコマンドの送信は、診断装置３０をユーザが操作することによって行われることができる。クリアコマンドを受け取った制御装置は、自己の所定の記憶領域に記録された識別コードを消去すると共に、警告灯を消灯する。
【００４７】
しかしながら、図２に示すように、すべての制御装置の書き換えが完了するまでの間に、すなわち書き換えが未完了の制御装置が存在する間に、このような識別コードの消去および警告灯の消灯によって報知を解除すると、ユーザは、書き換えが未完了の制御装置がどれであるのかを特定することができなくなる。特に、書き換え作業の担当者が交代した際にこのような解除が行われると、該作業を引き継いだユーザは、書き換え作業の進捗を把握することができない。これは、書き換え漏れまたは重複した書き換えを生じさせるおそれがある。したがって、一実施例では、診断装置３０からクリアコマンドを受信しても、識別コードの出力および警告灯を点灯している制御装置は、すべての制御装置の書き換えが完了するまで、該識別コードの出力および点灯を解除することなく継続する。
【００４８】
すべての制御装置の書き換えが完了した後、診断装置３０から送信されたクリアコマンドの受信に応じて、上記のような報知を解除する。すなわち、図２のステップＳ１７の判断がＹｅｓとなった後にクリアコマンドを診断装置３０から受信したならば、第１の制御装置１０ａは報知を解除する。これにより、第１の制御装置１０ａは、所定の記憶領域に記録されている識別コードを消去すると共に、警告灯を消灯する。
【００４９】
こうして、書き換えが未完了の制御装置が存在すれば、クリアコマンドを発行しても、該書き換えが未完了の制御装置の識別コードは記憶領域に保持されたままであり、警告灯は点灯したままである。したがって、ユーザは、診断装置３０を操作して意図的にクリアコマンドを発行し、その結果、警告灯が点灯し続けていれば、書き換えが未完了の制御装置が存在していると判断することができる。この場合、診断装置３０を操作して再び識別コードを読み出すことにより、該識別コードを診断装置３０上の表示画面上に表示させることができる。
【００５０】
他方、書き換えが未完了の制御装置が存在しなければ、クリアコマンドの発行に応じて、書き換えが未完了の制御装置の識別コードは記憶領域から消去され、警告灯は消灯する。したがって、ユーザは、診断装置３０を操作して意図的にクリアコマンドを発行し、その結果、警告灯が消灯すれば、書き換えが未完了の制御装置が存在しないと判断することができる。この場合、診断装置３０を操作して再び識別コードを読み出そうとしても、診断装置３０上の表示画面上に何ら識別コードが表示されない。このことを確認することによっても、書き換えが未完了の制御装置が存在しないと判断することができる。
【００５１】
なお、図２に示すような判定処理を行う書き換え判定プログラム２６の制御装置への送信（ロード）タイミングは、該制御装置の書き換えに先立って行われてもよいし、該制御装置の書き換えが終了した後でもよい。書き換え判定プログラム２６の起動は、書き換え装置２０をユーザが操作して所定の起動信号を該制御装置に送信することにより実現してもよいし、代替的に、該制御装置の書き換えが完了したことに応じて起動するよう該書き換え判定プログラム２６を作成しておいてもよい。
【００５２】
また、書き換え判定プログラム２６が、どの制御装置に第１の書き換え完了信号を送信するかについては、書き換え判定プログラム２６に予め記述しておいてもよいし、書き換え装置２０に対するユーザ操作を介して、指定できるようにしてもよい。後者の場合、指定された制御装置は、パラメータとして書き換え判定プログラム２６に渡されることができる。
【００５３】
図４〜図６を参照して、図２を参照して説明した書き換え判定プログラム２６によるプロセスの、具体的な一形態を説明する。
【００５４】
図４は、第１の制御装置（ＥＣＵ）１０ａにおいて、新たな制御情報２４によって古い制御情報１４ａの書き換えが完了しており、また、書き換え判定プログラム２６が第１の制御装置１０ａに送信（ロード）された状態を示す。したがって、第１の制御装置１０ａのメモリ１２ａには、符号２４ａおよび２６ａにより、それぞれ、新たな制御情報および書き換え判定プログラムが格納されていることが示されている。
【００５５】
第１の制御装置１０ａは、自己の書き換えが完了したので、第２および第３の制御装置１０ｂおよび１０ｃに、第１の書き換え完了信号を送信する。この例では、該書き換え完了信号は、１が設定された１ビット値により、書き換えが完了したことを知らせる信号である。
【００５６】
第２および第３の制御装置１０ｂおよび１０ｃは、第１の書き換え完了信号を受信したことに応じて、それぞれ、第２の書き換え状態信号および第３の書き換え状態信号を、第１の制御装置１０ａ宛てに送信する。書き換え状態信号は、書き換えが完了している場合には１が設定され、書き換えが未完了の場合にはゼロが設定される１ビット値により、書き換え状態を知らせる信号である。図４の時点においては、第２および第３の制御装置１０ｂおよび１０ｃの書き換えが未完了であるので、第２および第３の書き換え状態信号の該１ビット値には、いずれもゼロが設定される。
【００５７】
第１の制御装置１０ａは、第２および第３の書き換え状態信号を受信し、該信号の１ビット値がゼロであることを判定し、これにより、第２および第３の制御装置１０ｂおよび１０ｃの書き換えが未完了であると判定する。この判定に応じて、前述したように、第１の制御装置１０ａは、第２の制御装置１０ｂの識別コードおよび第３の制御装置１０ｃの識別コードを出力して所定の記憶領域に記録する。診断装置３０を車内ネットワークに接続することにより、該記録した識別コードは読み出されて診断装置３０上に表示されることができる。こうして、ユーザに、第２および第３の制御装置１０ｂおよび１０ｃの書き換えが未完了であることを知らせる。また、第１の制御装置１０ａは、所定の警告灯を点灯し、ユーザに、未完了の制御装置が存在することを知らせる。
【００５８】
前述したように、診断装置３０を介してクリアコマンドを発行させても、第１の制御装置１０ａは、記録された第２および第３の制御装置１０ｂおよび１０ｃの識別コードの保持および警告灯の点灯を維持する。ユーザは、クリアコマンド発行に応じて警告灯が消灯しないことを視認することにより、書き換えが未完了の制御装置が存在することを認識することができる。再び診断装置３０を操作して、上記保持されている識別コードを読み出して診断装置３０の表示画面上に表示させることができる。
【００５９】
次に、図５は、図４の状態から時間が進んだ状態を示し、第２の制御装置１０ｂにおいて、新たな制御情報２４で、古い制御情報１４ｂの書き換えが完了した状態を示す。そのため、第２の制御装置１０ｂのメモリ１２ｂには、符号２４ｂにより、新たな制御情報が格納されていることが示されている。
【００６０】
このような状態で、図３と同様に第１の制御装置１０ａが、第１の書き換え完了信号（１ビット値が１）を第２および第３の制御装置１０ｂおよび１０ｃに送信すると、第２の制御装置１０ｂは、第２の書き換え状態信号の１ビット値を１に設定して、該信号を第１の制御装置１０ａに返信する。第３の制御装置１０ｃでは、書き換えが未完了であるので、第３の書き換え状態信号の１ビット値をゼロに設定して、該信号を第１の制御装置１０ａに返信する。
【００６１】
第１の制御装置１０ａは、第２および第３の書き換え状態信号を受信し、第２の書き換え状態信号の１ビット値は１であるが、第３の書き換え状態信号の１ビット値はゼロであることを判定し、これにより、第３の制御装置１０ｃの書き換えが未完了であると判定する。この判定に応じて、第３の制御装置１０ｃの識別コードを出力し、所定の記憶領域に記録する。この記録は上書きによって行われる。したがって、図４で記録された識別コードのうち、第２の制御装置１０ｂの識別コードは消去されることとなる。診断装置３０を車内ネットワークに接続することにより、該記録した識別コードは読み出されて診断装置３０上に表示されることができる。こうして、ユーザに、第３の制御装置１０ｃの書き換えが未完了であることを知らせることができる。また、図４の時点において警告灯は点灯されているため、第１の制御装置１０ａは、その点灯状態を維持する。これにより、ユーザに、書き換えが未完了の制御装置が存在することを知らせることができる。
【００６２】
前述したように、診断装置３０を介してクリアコマンドを発行させても、第１の制御装置１０ａは、記録された第３の制御装置１０ｃの識別コードの保持および警告灯の点灯を維持する。ユーザは、クリアコマンド発行に応じて警告灯が消灯しないことを視認することにより、書き換えが未完了の制御装置が存在することを認識することができる。再び診断装置３０を操作して、上記保持されている識別コードを読み出して診断装置３０の表示画面上に表示させることができる。
【００６３】
次に、図６は、図５の状態からさらに時間が進んだ状態を示し、第３の制御装置１０ｃにおいて、新たな制御情報２４で、古い制御情報１４ｃの書き換えが完了した状態を示す。そのため、第３の制御装置１０ｃのメモリ１２ｃには、符号２４ｃにより、新たな制御情報が格納されていることが示されている。
【００６４】
このような状態で、図３、４と同様に第１の制御装置１０ａが、第１の書き換え完了信号（１ビット値が１）を第２および第３の制御装置１０ｂおよび１０ｃに送信すると、第２の制御装置１０ｂは、第２の書き換え状態信号の１ビット値を１に設定して、該信号を第１の制御装置１０ａに返信する。第３の制御装置１０ｃも、書き換えが完了しているので、第３の書き換え状態信号の１ビット値を１に設定して、該信号を第１の制御装置１０ａに返信する。
【００６５】
第１の制御装置１０ａは、第２および第３の書き換え状態信号を受信し、第２および第３の書き換え状態信号の１ビット値が１であることを判定し、これにより、すべての制御装置の書き換えは完了したと判定する。診断装置３０を車内ネットワークに接続すると、現在記録されている識別コード（図５に示すように、第３の制御装置１０ｃの書き換えが未完了であることを示すコード）が読み出される。このとき、診断装置３０を介してクリアコマンドを発行させると、該記録された識別コードが消去されると共に、警告灯が消灯する。この警告灯の消灯を視認することにより、ユーザは、すべての制御装置の書き換えが完了したことを認識することができる。また、診断装置３０を介して識別コードの読み出し操作を行った結果、診断装置３０上の表示画面に何ら識別コードが表示されないことを確認することによっても、ユーザは、すべての制御装置の書き換えが完了したことを認識することができる。
【００６６】
図４〜図６の実施例では、第２の制御装置１０ｂの書き換えが、第３の制御装置１０ｃの書き換えよりも先に完了しているが、第３の制御装置１０ｃの書き換えが、第２の制御装置１０ｂの書き換えよりも先に完了している場合にも、同様の処理が行われる。また、この実施例では、３つの制御装置が書き換え対象となっているが、当然ながら、書き換え対象となる任意の複数の制御装置について、同様の処理が実行される。
【００６７】
さらに、上記の報知においては、書き換えが未完了の制御装置を特定するような表示形態を取っており、これにより、書き換え作業を遂行しているユーザは、書き換え未完了の制御装置がいくつ残っているかを速やかに把握することができる。
【００６８】
しかしながら、代替的に、書き換え完了の制御装置を特定するような表示形態により、報知を行ってもよい。この場合、図２においては、ステップＳ１１が実行される時点で、第１の制御装置１０ａを識別するコード（前述したように、既存の診断コードを用いてもよい）が出力され、ステップＳ２３では、第２の制御装置１０ｂを識別するコードが出力され、ステップＳ２５では、第３の制御装置１０ｃを識別するコードが出力される。ステップＳ２１は実行されない。コードの出力が一旦行われたならば、該コードは、消去されずにそのまま記憶領域に保持される。そのため、すべての制御装置の書き換えが完了したときには、すべての制御装置についてのコードが記録されており、診断装置を車内ネットワークに接続することによって、これらのコードを表示することができる。また、警告灯については、第１の制御装置１０ａの書き換えが完了した時点で点灯し、その後、すべての制御装置の書き換えが完了するまで点灯を継続することができる。このような報知によっても、ユーザは、書き換え作業の進捗を把握することができる。コードの消去および警告灯の消灯は、すべての制御装置の書き換えが完了した後で、診断装置３０からのクリアコマンドに応じて行うことができる。
【００６９】
また、上の実施例では、書き換え判定プログラム２６を受信した第１の制御装置１０ａの書き換えが完了したことに応じて、該判定プログラム２６を起動して、１が設定された１ビット値を有する第１の書き換え完了信号を、他の制御装置１０ｂおよび１０ｃに送信している。代替的に、第１の制御装置１０ａの書き換えが完了する前に、該判定プログラム２６を起動してもよい。この場合、該書き換えが完了するまでは、ゼロが設定された１ビット値を有する第１の書き換え完了信号を、他の制御装置１０ｂおよび１０ｃに送信するようにしてもよい。他の制御装置１０ｂおよび１０ｃは、ゼロが設定された１ビット値を有する第１の書き換え完了信号に対しては、応答しないことができる。
【００７０】
好ましくは、書き換え判定プログラム２６は、書き換え作業において一番最初に書き換えを実行する制御装置（上の実施例では、第１の制御装置１０ａ）に送信（ロード）される。これにより、該制御装置の書き換え完了の時から、他の制御装置の書き換えの進捗状況を知ることができる。しかしながら、書き換え判定プログラム２６を、一番最初に書き換えを実行する制御装置以外の制御装置（たとえば、第２の制御装置１０ｂ）にロードしてもよい。この場合、第２の制御装置１０ｂの書き換えが完了したことに応じて、他の制御装置すなわち第１および第３の制御装置１０ａおよび１０ｃの書き換え状態が判定される。この時点で、第１の制御装置１０ａについては既に書き換えが完了しているので、識別コードは出力されず、未だ書き換えが完了していない第３の制御装置１０ｃの識別コードが出力される。
【００７１】
このように、いずれかの制御装置に書き換え判定プログラム２６をロードすることにより、自動的に、書き換えが未完了の制御装置が判定されて報知されるので、ユーザは、書き換え作業の進捗状況を速やかに把握することができる。書き換え作業を遂行するユーザが交代しても、進捗状況をリアルタイムに確認することができるので、書き換えの漏れおよび重複を防止することができる。
【００７２】
なお、この実施形態では、外部の書き換え装置２０を書き換え手段として用いている。代替的に、他の装置を、書き換え手段として用いてもよい。たとえば、ＣＤのような記録媒体に、新たな制御情報と書き換え判定プログラムを記録し、これを、所定の制御装置が読み出して自己のメモリにロードするようにしてもよい。あるいは、該所定の制御装置が、無線または有線の通信を介して、新たな制御情報と書き換え判定プログラムを、自己のメモリにダウンロードするようにしてもよい。該所定の制御装置は、書き換え対象となる複数の制御装置に対し、新たな制御情報を送信すると共に、該複数の制御装置のうちのいずれかに、該書き換え判定プログラムを送信することができる。該所定の制御装置が、書き換え装置２０と同様の役割を果たすので、書き換え装置２０を車内ネットワークに接続することは必要とされない。
【００７３】
以上のように、この発明の特定の実施形態について説明したが、本願発明は、これら実施形態に限定されるものではない。
【符号の説明】
【００７４】
１０ａ〜１０ｃ  電子制御装置
２０  書き換え装置
【図１】
2010247590.tif 000003
【図２】
2010247590.tif 000004
【図３】
2010247590.tif 000005
【図４】
2010247590.tif 000006
【図５】
2010247590.tif 000007
【図６】
2010247590.tif 000008