(57)【要約】【課題】更新ファイルを効率よく配信可能な車両用プログラム更新システムを提供する。【解決手段】車両用プログラム更新システムでは、各ＥＣＵ２，３が起動していることを示すシステム起動通知（車両ＩＤ）が、車両２０から管理装置１０に送信される。管理装置１０は、車両ＩＤ毎にプログラムのバージョン情報が登録された管理データベース３２を有し、車両２０から受信した車両ＩＤに基づいて管理データベース３２内に車両２０に対する更新ファイルが用意されているか否かを判断し、用意されている場合に限り、車両２０に更新ファイル（製品識別情報を含む）を送信する。そして、この更新ファイルを受信した車両２０が、製品識別情報に対応するＥＣＵ（対象ＥＣＵ）の制御プログラムを、更新ファイルに基づいて更新する。このため、各ＥＣＵ２，３が制御プログラムを更新する必要がない場合にかかる不要な通信コストの発生を抑制することが可能となる。【選択図】図１１
2011148398.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されて予め設定された制御対象機器を制御する電子制御装置と、前記電子制御装置のプログラムを最新のバージョンに更新するための更新ファイルを保有する管理装置との間で、無線通信を行うことにより、前記電子制御装置が、前記管理装置から前記更新ファイルを受信し、その受信した更新ファイルに基づいて当該電子制御装置に実装されているプログラムを更新する車両用プログラム更新システムにおいて、
前記電子制御装置は、予め設定された問い合わせタイミングで、当該電子制御装置が搭載された車両を特定するための車両ＩＤを前記管理装置に送信し、
前記管理装置は、前記電子制御装置に実装されているプログラムのバージョンを示すバージョン情報が前記車両ＩＤ毎に登録された管理データベースを有し、前記更新ファイルを前記車両ＩＤに対応付けて前記管理データベースに登録すると共に、前記電子制御装置から前記車両ＩＤを受信すると、前記管理データベース内に前記車両ＩＤに対応する前記更新ファイルが存在する場合に限り、該更新ファイルを前記電子制御装置に送信することを特徴とする車両用プログラム更新システム。
【請求項２】
前記問い合わせタイミングは、前記車両のイグニションスイッチがＯＦＦからＯＮに切り替えられたときであることを特徴とする請求項１に記載の車両用プログラム更新システム。
【請求項３】
前記電子制御装置は、当該電子制御装置に実装されているプログラムを更新した後に、前記車両ＩＤを少なくとも含む更新完了通知を前記管理装置に送信し、
前記管理装置は、前記電子制御装置から受信した更新完了通知に基づいて、前記管理データベース内の前記車両ＩＤに対応する前記バージョン情報を最新のバージョンに更新することを特徴とする請求項１または請求項２に記載の車両用プログラム更新システム。
【請求項４】
前記電子制御装置は、当該電子制御装置の製品識別情報と前記バージョン情報とからなるＥＣＵ情報を保有し、予め設定された送信条件が成立すると、該ＥＣＵ情報を前記車両ＩＤと共に前記管理装置に送信し、
前記管理装置は、前記電子制御装置から受信した前記ＥＣＵ情報と前記車両ＩＤとに基づいて、前記バージョン情報を前記製品識別情報と共に前記車両ＩＤに対応付けて前記管理データベースに登録することを特徴とする請求項１ないし請求項３のいずれか１項に記載の車両用プログラム更新システム。
【請求項５】
前記管理装置は、前記バージョン情報を前記管理データベースに登録した後に、前記製品識別情報を少なくとも含む登録完了通知を前記電子制御装置に送信し、
前記電子制御装置は、前記管理装置から前記登録完了通知を受信すると、前記製品識別情報に基づいて、前記ＥＣＵ情報と該登録完了通知とを対応付けて記憶し、前記問い合わせタイミング時に該登録完了通知が未記憶である場合に前記送信条件が成立することを特徴とする請求項４に記載の車両用プログラム更新システム。
【請求項６】
前記車両には、複数の前記電子制御装置が搭載され、
該複数の前記電子制御装置のうち、前記各電子制御装置の製品識別情報毎に前記バージョン情報を管理するための情報管理テーブルを有する電子制御装置をマスタＥＣＵ、該マスタＥＣＵ以外の前記電子制御装置をスレーブＥＣＵとして、
前記スレーブＥＣＵは、当該スレーブＥＣＵの製品識別情報と前記バージョン情報とからなるＥＣＵ情報を前記マスタＥＣＵに出力し、
前記マスタＥＣＵは、前記スレーブＥＣＵから入力した前記ＥＣＵ情報と前記情報管理テーブルとを比較し、前記製品識別情報が同一、且つ、前記バージョン情報が異なる場合に、該ＥＣＵ情報を前記車両ＩＤと共に前記管理装置に送信し、
前記管理装置は、前記マスタＥＣＵから受信した前記ＥＣＵ情報と前記車両ＩＤとに基づいて、前記管理データベース内の前記バージョン情報を更新することを特徴とする請求項４または請求項５に記載の車両用プログラム更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された電子制御装置に実装されているプログラムを更新するための車両用プログラム更新システムに関する。
【背景技術】
【０００２】
従来より、車両に搭載されて所定の制御対象機器を制御する電子制御装置（以下、ＥＣＵという）のプログラムについて、機能拡張や機能修正が生じたときに、そのＥＣＵを搭載する車両に対して、ＥＣＵのプログラムを更新するための更新ファイルを配信する車両用プログラム更新システムが知られている。
【０００３】
一般的に、この種の車両用プログラム更新システムでは、車両の無線通信機能（詳しくは、車両外部と無線通信を行う機能）を利用して、ＥＣＵが、更新ファイルを保有する管理装置と無線通信を行い、管理装置からダウンロードした更新ファイルに基づいて、自装置に実装されているプログラムを更新する。
【０００４】
具体的には、ＥＣＵが、まず、自装置の製品識別情報（例えば、型番）を含む問い合わせ情報を管理装置に送信し、その問い合わせ情報を受信した管理装置が、製品識別情報に対応する最新のプログラムのバージョン情報をＥＣＵに送信する。そして、ＥＣＵが、管理装置から受信したバージョン情報を、自装置に実装されているプログラムのものと比較し、両者が不一致である場合、両者の差分を表す送信要求情報を管理装置に送信し、管理装置が、ＥＣＵから受信した送信要求情報に基づく更新ファイルを配信する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２４９９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の車両用プログラム更新システムでは、管理装置が、ＥＣＵから問い合わせ情報を受信すると必ずバージョン情報を送信しなければならないため、その送信処理に係る負荷が、問い合わせ情報の受信数に比例して大きくなり、一度に多くの車両から問い合わせがなされた場合に膨大になってしまう可能性があった。
【０００７】
さらに言うと、従来の車両用プログラム更新システムでは、ＥＣＵが更新ファイルを受信する必要がない場合（具体的には、ＥＣＵに最新のプログラムが既に実装されている場合）であっても、管理装置がバージョン情報を送信しなければならないため、不要な通信コストが発生してしまう問題があった。
【０００８】
本発明は、上記問題点を解決するために、更新ファイルを効率よく配信可能な車両用プログラム更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するためになされた発明である請求項１に記載の車両用プログラム更新システムは、車両に搭載されて予め設定された制御対象機器を制御する電子制御装置と、電子制御装置のプログラムを最新のバージョンに更新するための更新ファイルを保有する管理装置との間で、無線通信を行うことにより、電子制御装置に実装されているプログラムを更新するシステムである。なお、電子制御装置は、管理装置から更新ファイルを受信し、その受信した更新ファイルに基づいて、自装置に実装されているプログラムを更新する。
【００１０】
ここで、電子制御装置は、予め設定された問い合わせタイミングで、自装置が搭載された車両を特定するための車両ＩＤを管理装置に送信する。そして、管理装置は、電子制御装置に実装されているプログラムのバージョンを示すバージョン情報が車両ＩＤ毎に登録された管理データベースを有し、上記の更新ファイルを車両ＩＤに対応付けて管理データベースに登録すると共に、電子制御装置から車両ＩＤを受信すると、管理データベース内にその車両ＩＤに対応する更新ファイルが存在する場合に限り、更新ファイルを電子制御装置に送信する。
【００１１】
つまり、本発明の車両用プログラム更新システムでは、管理装置が、車両ＩＤ毎にバージョン情報および更新ファイルを管理しているため、電子制御装置（ＥＣＵ）から送られてくる車両ＩＤに基づいて、ＥＣＵに実装されているプログラムが最新のバージョンでない場合に限り、ＥＣＵに更新ファイルを送信することが可能になる。
【００１２】
したがって、本発明の車両用プログラム更新システムによれば、管理装置が、ＥＣＵからの問い合わせ（詳しくは、車両ＩＤの受信）の全てに対して、何らかの情報（例えば、最新のプログラムのバージョン情報）を返信するのではなく、最新のプログラムが未実装のＥＣＵだけに対して、更新ファイルを送信するため、ひいては更新ファイルを効率よく配信することができる。
【００１３】
なお、電子制御装置（ＥＣＵ）から管理装置に車両ＩＤを送信するための問い合わせタイミングは、例えば、請求項２に記載のように、車両のイグニションスイッチがＯＦＦからＯＮに切り替えられた時として設定してもよい。
【００１４】
この場合、車両における制御対象機器の作動開始にあわせて、管理装置からＥＣＵに更新ファイルを配信できるため、ＥＣＵに実装されているプログラムをオンデマンドに更新することができる。その結果、ＥＣＵから管理装置への問い合わせ数をむやみに増大させることなく、更新ファイルを迅速に配信することができる。
【００１５】
また、本発明の車両用プログラム更新システムでは、請求項３に記載のように、電子制御装置が、自装置に実装されているプログラムを更新した後に、車両ＩＤを少なくとも含む更新完了通知を管理装置に送信し、管理装置が、電子制御装置から受信した更新完了通知に基づいて、管理データベース内の車両ＩＤに対応するバージョン情報を最新のバージョンに更新してもよい。
【００１６】
この場合、管理装置が、電子制御装置（ＥＣＵ）に更新ファイルを送信した後すぐに、管理データベース内のバージョン情報を更新する場合と比較して、ＥＣＵに実装されているプログラムのバージョンを管理データベース内に確実に反映させることができる。
【００１７】
ところで、管理データベースにバージョン情報を登録する方法としては、人力を介して行ってもよいが、管理装置が、ＥＣＵとの間で無線通信を行うことにより受信したバージョン情報を、自動的に管理データベースに登録する方が効率的である。
【００１８】
具体的には、本発明の車両用プログラム更新システムでは、請求項４に記載のように、電子制御装置が、自装置の製品識別情報とバージョン情報とからなるＥＣＵ情報を保有し、予め設定された送信条件が成立すると、そのＥＣＵ情報を車両ＩＤと共に管理装置に送信する。そして、管理装置が、電子制御装置から受信したＥＣＵ情報と車両ＩＤとに基づいて、バージョン情報を製品識別情報と共に車両ＩＤに対応付けて管理データベースに登録することが考えられる。
【００１９】
このように構成された車両用プログラム更新システムによれば、管理装置が、各車両ＩＤの製品識別情報（即ち、電子制御装置）毎にバージョン情報および更新ファイルを管理できるため、各車両における複数の電子制御装置に対して個別に更新ファイルを配信することができる。
【００２０】
また、本発明の車両用プログラム更新システムでは、請求項５に記載のように、管理装置が、バージョン情報を管理データベースに登録した後に、製品識別情報を少なくとも含む登録完了通知を電子制御装置に送信する。そして、電子制御装置が、管理装置から登録完了通知を受信すると、製品識別情報に基づいて、ＥＣＵ情報と登録完了通知とを対応付けて記憶し、問い合わせタイミング時に登録完了通知が未記憶である場合に、上記の送信条件が成立するものとしてもよい。
【００２１】
つまり、このように構成された車両用プログラム更新システムでは、電子制御装置（ＥＣＵ）が、問い合わせタイミング時（車両ＩＤの送信時）に、管理データベースに未登録のＥＣＵ情報を送信し、管理装置が、ＥＣＵから受信したＥＣＵ情報を車両ＩＤに対応付けて管理データベースに登録する。
【００２２】
したがって、このように構成された車両用プログラム更新システムによれば、ＥＣＵが、管理データベースに登録済みのＥＣＵ情報を送信せずに済み、また、管理データベースに未登録のＥＣＵ情報を、車両ＩＤと共に問い合わせタイミング時に送信できるため、ＥＣＵ情報の登録に係る不要な通信コストの発生を防止することができる。
【００２３】
また、本発明の車両用プログラム更新システムでは、請求項６に記載のように、車両に複数の電子制御装置（ＥＣＵ）が搭載され、これら複数のＥＣＵのうち、各ＥＣＵの製品識別情報毎にバージョン情報を管理するための情報管理テーブルを有するＥＣＵをマスタＥＣＵ、このマスタＥＣＵ以外のＥＣＵをスレーブＥＣＵとして、以下の態様であってもよい。
【００２４】
即ち、スレーブＥＣＵが、自装置の製品識別情報とバージョン情報とからなるＥＣＵ情報をマスタＥＣＵに出力し、マスタＥＣＵが、スレーブＥＣＵから入力したＥＣＵ情報と情報管理テーブルとを比較し、製品識別情報が同一、且つ、バージョン情報が異なる場合に、そのＥＣＵ情報を車両ＩＤと共に管理装置に送信する。そして、管理装置が、マスタＥＣＵから受信したＥＣＵ情報と車両ＩＤとに基づいて、管理データベース内のバージョン情報を更新する。
【００２５】
このように構成された車両用プログラム更新システムでは、例えば修理工場などでスレーブＥＣＵが交換され、その交換前後のスレーブＥＣＵに実装されているプログラムのバージョンが異なる場合に、交換後のスレーブＥＣＵに対応するＥＣＵ情報（製品識別情報，バージョン情報）が車両ＩＤと共に管理装置に送信され、その製品識別情報に対応する管理データベース内のバージョン情報が更新される。
【００２６】
したがって、このように構成された車両用プログラム更新システムによれば、スレーブＥＣＵが交換された場合であっても、交換後のスレーブＥＣＵに対応するＥＣＵ情報が、管理データベースに登録されているＥＣＵ情報と同一であれば、マスタＥＣＵが、そのＥＣＵ情報を管理装置に送信せずに済むため、ＥＣＵ情報の登録に係る不要な通信コストの発生防止を強化することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明が適用された車両用プログラム更新システムの構成を示す概念図である。
【図２】電子制御装置（ＥＣＵ）の構成を示すブロック図である。
【図３】ＥＣＵ情報の構成を示す説明図である。
【図４】情報管理テーブルの構成を示す一覧表である。
【図５】スレーブＥＣＵ３のＭＣＵ１６が実行するプログラム管理処理の内容を示すフローチャートである。
【図６】マスタＥＣＵ２のＭＣＵ１６が実行するプログラム管理処理の内容を示すフローチャートである。
【図７】管理装置１０の制御部３４が実行するメイン処理の内容を示すフローチャートである。
【図８】管理データベース３２の登録内容を示す一覧表である。
【図９】管理装置１０の制御部３４が実行する更新ファイル配信処理の内容を示すフローチャートである。
【図１０】管理装置１０の制御部３４が実行する登録・更新処理の内容を示すフローチャートである。
【図１１】車両用プログラム更新システムの動作を示すシーケンス図。
【図１２】情報管理テーブルの構成に係る変形例を示す一覧表である。
【図１３】マイコンを複数搭載する電子制御装置（ＥＣＵ）の構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下に、本発明の実施形態を図面と共に説明する。
＜全体構成＞
図１は、本発明が適用された車両用プログラム更新システムの構成を示す概念図である。
【００２９】
図１に示すように、車両用プログラム更新システム１は、エンジンやブレーキ等の所定の制御対象機器を制御する各電子制御装置（以下、ＥＣＵという）２，３（３ａ，３ｂ，３ｃ，…）に実装されているプログラムを更新するシステムであり、このシステムを運営する側の施設である情報センタに設置された管理装置１０と、ＥＣＵ２，３（３ａ，３ｂ，３ｃ，…）により車載ネットワーク６が構築された複数の車両２０（２０ａ，２０ｂ，２０ｃ，…）とから構成されている。
【００３０】
なお、以下では、複数の車両２０（２０ａ，２０ｂ，２０ｃ，…）が同様の構成を有しているため、各車両２０（２０ａ，２０ｂ，２０ｃ，…）を、単に、車両２０と表記する。
【００３１】
また、車両用プログラム更新システム１では、車両２０毎に自車両を特定するための車両ＩＤが予め割り当てられている。さらに、各車両２０には、自車両の外部と無線通信を行うための通信機７（例えば、携帯電話機）が設置されており、車載ネットワーク６内の通信機７に直接または間接的に接続された各ＥＣＵ２，３（３ａ，３ｂ，３ｃ，…）と、管理装置１０とが、移動通信網８およびインターネット網９を介して相互に情報を送受信可能に構成されている。
【００３２】
なお、以下では、説明の便宜上、車載ネットワーク６におけるＥＣＵ２，３（３ａ，３ｂ，３ｃ，…）のうち、通信機７に直接接続されている一つのＥＣＵをマスタＥＣＵ２、マスタＥＣＵ２を介して通信機７に接続されている複数のＥＣＵをスレーブＥＣＵ３と表記する。また、これらのマスタＥＣＵ２およびスレーブＥＣＵ３は、各制御対象機器を制御するために必要な制御データを共有したり車両を統合制御したりするために、車載ネットワーク６内の通信バス６ａを介して互いにデータ通信可能に接続されている。本実施形態では、そのデータ通信に、ＣＡＮ（ドイツ、Robert Bosch社が提案した「Controller Area Network 」）プロトコルが主として用いられる。
【００３３】
＜ＥＣＵの構成＞
次に、図２は、各ＥＣＵ２，３の構成を示すブロック図である。
図２に示すように、各ＥＣＵ２，３は、いずれも基本的には同様の構成をしており、通信バス６ａへのデータの送出、通信バス６ａからのデータの取込を行うトランシーバ１１と、ＣＡＮプロトコルに従って通信バス６ａを介した通信を制御する通信コントローラ１２と、通信コントローラ１２を制御して他のＥＣＵとの通信を行うことにより、他のＥＣＵと連動して、自ＥＣＵに割り当てられた機能を実現するための各種処理を実行するマイクロコンピュータ（マイコン）１３と、バッテリ１４からの入力電圧を内部電圧に変換し、各部１１〜１３への電源供給を行う電源回路１５とを備えている。
【００３４】
このうち、マイコン１３は、プログラムに基づく各種処理を実行するマイクロコントローラユニット（以下、ＭＣＵという）１６と、自ＥＣＵに割り当てられた制御対象機器を制御するためのプログラム（以下、制御プログラムという）、及び、制御プログラムを実行するための基本的な機能を提供するプログラムであるオペレーティングシステム（ＯＳ）が格納されたフラッシュメモリ１７と、フラッシュメモリ１７に格納されたプログラムを書き換える機能を提供するブートローダが格納されたＲＯＭ１８と、ＭＣＵ１６による各種処理実行時のワークメモリとなる揮発性ＲＡＭ（本実施形態ではＳＲＡＭ）１９とを備えている。
【００３５】
各ＥＣＵ２，３のＳＲＡＭ１９には、ＲＯＭ１８に予め記憶されている自ＥＣＵに割り当てられた製品識別情報と、自ＥＣＵに実装されているプログラム（本実施形態では、フラッシュメモリ１７に格納されている制御プログラム）のバージョン情報とからなるＥＣＵ情報２２（図３参照）を格納するための領域（以下、ＥＣＵ情報領域という）が設けられている。なお、本実施形態の製品識別情報は、ＥＣＵの製品モデルを識別するための情報であり、少なくともＥＣＵの用途（即ち、制御対象機器）を特定することが可能に予め設定されている。
【００３６】
また、ＥＣＵ情報２２は、フラッシュメモリ１７に複数の制御プログラムが格納されているＥＣＵや、複数のマイコン１３ａ，１３ｂ（図１３参照）を装備するＥＣＵでは、例えば、一つの製品識別情報に対して一つのバージョン情報が割り当てられたり（図３（ａ）参照）、一つの製品識別情報に対して複数のバージョン情報が割り当てられたりする（図３（ｂ）参照）。
【００３７】
後者の複数のマイコン１３ａ，１３ｂ（図１３参照）を装備するＥＣＵの場合、ＥＣＵ情報２２がメインマイコン１３ａのＳＲＡＭ１９ａに格納され、サブマイコン１３ｂのフラッシュメモリ１７ｂに格納されている制御プログラムのバージョン情報は、メインマイコン１３ａのＲＯＭ１８ａに記憶された製品識別情報に対応付けられている。さらに、ＥＣＵ情報２２には、詳細については後述するが、管理装置１０に登録されているか否かを表す登録フラグが対応付けられている。
【００３８】
なお、マスタＥＣＵ２のＳＲＡＭ１９には、各スレーブＥＣＵ３のＥＣＵ情報２２を管理するための情報管理テーブル２３（図４参照）を格納するための領域（以下、テーブル領域という）も設けられている。
【００３９】
但し、本実施形態のＳＲＡＭ１９は、電源回路１５を介してバックアップ電源電圧が入力されるようにバッテリ１４に接続されており、バッテリ１４と電源回路１５とが接続されている間、ＥＣＵ情報２２や情報管理テーブル２３等の記憶内容が保持され、バッテリ１４と電源回路１５との接続が絶たれると、これらの記憶内容が消失されるようになっている。
【００４０】
ＭＣＵ１６には、外部記憶装置としてのハードディスク（ＨＤＤ）２１が接続されており、ＭＣＵ１６が、ＳＲＡＭ１９に記憶される各種プログラム（タスク）やデータを必要に応じてＨＤＤ２１に入れ替えることにより、マイコン１３内のワークメモリを仮想的に増量させることが可能になっている。
【００４１】
また、ＭＣＵ１６は、フラッシュメモリ１７に格納されている制御プログラムに基づいて、自ＥＣＵに割り当てられた制御対象機器を制御するための処理を行うと共に、以下のプログラム管理処理を実行するように構成されている。
【００４２】
＜プログラム管理処理（スレーブＥＣＵ）＞
ここで、各スレーブＥＣＵ３のＭＣＵ１６が実行するプログラム管理処理の内容を、図５に示すフローチャートに沿って詳しく説明する。なお、本処理は、イグニッションスイッチがＯＦＦからＯＮに切り替えられたときに起動する。
【００４３】
まず、本処理が開始されると、Ｓ１１０では、ＳＲＡＭ１９のＥＣＵ情報領域に記憶されている登録フラグに基づいて、この登録フラグが、管理装置１０にＥＣＵ情報２２が登録されている状態を表すＯＮに設定されているか否かを判断し、ここで肯定判断した場合にはＳ１５０に移行し、否定判断した場合にはＳ１２０に移行する。
【００４４】
Ｓ１２０では、ＲＯＭ１８に記憶されている製品識別情報とフラッシュメモリ１７に記憶されている制御プログラムのバージョン情報とをＥＣＵ情報２２として、このＥＣＵ情報２２を、ＳＲＡＭ１９のＥＣＵ情報領域に格納すると共に、通信コントローラ１２を介してマスタＥＣＵ２に送信し、Ｓ１３０に移行する。
【００４５】
Ｓ１３０では、マスタＥＣＵ２から通信コントローラ１２を介して後述する登録完了通知を受信したか否かを判断し、ここで肯定判断した場合にはＳ１４０に移行し、否定判断した場合にはこの登録完了通知を受信するまで待機する。
【００４６】
Ｓ１４０では、ＳＲＡＭ１９のＥＣＵ情報領域に記憶されている登録フラグをＯＮに設定することにより、Ｓ１３０で受信した登録完了通知を、ＳＲＡＭ１９のＥＣＵ情報領域に記憶されているＥＣＵ情報２２に対応付けて記憶する。
【００４７】
Ｓ１５０では、所定期間が経過するまでに、マスタＥＣＵ２から通信コントローラ１２を介して、フラッシュメモリ１７に格納されている制御プログラムを最新のバージョンに更新するための更新ファイルを受信したか否かを判断し、ここで肯定判断した場合にはＳ１６０に移行し、否定判断した場合には本処理を終了する。
【００４８】
Ｓ１６０では、Ｓ１５０で受信した更新ファイルに基づいて、フラッシュメモリ１７に格納されている制御プログラムを最新のバージョンに更新するプログラム更新処理を実行し、この制御プログラムの更新を完了すると、Ｓ１７０に移行する。なお、プログラム更新処理では、Ｓ１５０で受信した更新ファイルに、マスタＥＣＵ２からプログラム更新処理の実行タイミングを指示するための更新指示が付与されている場合、その更新指示に沿ったタイミングで制御プログラムを更新する。
【００４９】
Ｓ１７０では、Ｓ１６０で制御プログラムの更新が完了したことを表す更新完了通知を、自ＥＣＵの製品識別情報と共に、通信コントローラ１２を介してマスタＥＣＵ２に送信し、本処理を終了する。
【００５０】
＜プログラム管理処理（マスタＥＣＵ）＞
次に、マスタＥＣＵ２のＭＣＵ１６が実行するプログラム管理処理の内容を、図６に示すフローチャートに沿って詳しく説明する。なお、本処理は、イグニッションスイッチがＯＦＦからＯＮに切り替えられたときに起動する。
【００５１】
まず、本処理が開始されると、Ｓ２１０では、所定期間が経過するまでに、スレーブＥＣＵ３から、通信コントローラ１２を介してＥＣＵ情報２２を受信したか否かを判断し、ここで肯定判断した場合にはＳ２２０に移行し、否定判断した場合にはＳ２７０に移行する。
【００５２】
Ｓ２２０では、Ｓ２１０で受信したＥＣＵ情報２２と、ＳＲＡＭ１９のテーブル領域に記憶されている情報管理テーブル２３上のＥＣＵ情報２２とを比較して、Ｓ２１０で受信したＥＣＵ情報２２のうち、予め設定された送信条件に該当するＥＣＵ情報２２が存在するか否かを判断し、ここで肯定判断した場合にはＳ２３０に移行し、否定判断した場合にはＳ２４０に移行する。なお、本実施形態では、両者のＥＣＵ情報２２を比較して、製品識別情報が同一、且つ、バージョン情報が異なる場合に、上記の送信条件が成立するものとしている。
【００５３】
例えば、修理工場などでスレーブＥＣＵ３を交換する際に、スレーブＥＣＵ３が車両２０から取り外されると、バッテリ１４と電源回路１５との接続が絶たれるため、ＳＲＡＭ１９の記憶内容（登録フラグの設定）が消失される。このため、その交換によって新たに車両２０に搭載されるスレーブＥＣＵ３のＳＲＡＭ１９には、登録フラグが初期状態としてＯＦＦに設定される。よって、その交換後に車両２０のイグニションスイッチがＯＦＦからＯＮに切り替えられると、スレーブＥＣＵ３からマスタＥＣＵ２にＥＣＵ情報２２が送信されることになる。この場合、マスタＥＣＵ２のＳＲＡＭ１９上の情報管理テーブル２３に、交換前のスレーブＥＣＵ３のＥＣＵ情報２２が保持されており、この保持されたＥＣＵ情報２２と、交換後のスレーブＥＣＵ３のＥＣＵ情報２２とが一致していれば、上記の送信条件が不成立になる。
【００５４】
Ｓ２３０では、Ｓ２２０の送信条件に該当するＥＣＵ情報２２を、自車両に対応する車両ＩＤと共に、通信機７を介して管理装置１０に送信し、Ｓ２５０に移行する。なお、ここでは、ＳＲＡＭ１９のＥＣＵ情報領域に記憶されている登録フラグに基づいて、自ＥＣＵ（マスタＥＣＵ２）に対応するＥＣＵ情報２２が管理装置１０に未登録の状態であると判断した場合にも、そのＥＣＵ情報２２を管理装置１０に送信する。
【００５５】
一方、Ｓ２４０では、自車両に対応する車両ＩＤだけを、通信機７を介して管理装置１０に送信し、Ｓ２７０に移行する。
Ｓ２５０では、管理装置１０から通信機７を介して登録完了通知を受信したか否かを判断し、ここで肯定判断した場合にはＳ２６０に移行し、否定判断した場合には登録完了通知を受信するまで待機する。なお、登録完了通知は、Ｓ２３０でマスタＥＣＵ２から送信されたＥＣＵ情報２２について、管理装置１０が後述する登録・更新処理を完了した際に自車両に送られてくる情報であり、その情報には少なくとも製品識別情報が含まれている。
【００５６】
Ｓ２６０では、通信コントローラ１２を介して、Ｓ２４０で受信した登録完了通知を、その登録完了通知に含まれている製品識別情報によって示されるスレーブＥＣＵ３に送信すると共に、ＳＲＡＭ１９のテーブル領域に記憶されている情報管理テーブル２３上のＥＣＵ情報２２を更新し、Ｓ２７０に移行する。なお、この登録完了通知に含まれている製品識別情報が、自ＥＣＵ（マスタＥＣＵ２）を示す場合には、ＳＲＡＭ１９のＥＣＵ情報領域に記憶されている登録フラグをＯＮに設定する。
【００５７】
Ｓ２７０では、所定期間が経過するまでに、管理装置１０から通信機７を介して更新ファイルを受信したか否かを判断し、ここで肯定判断した場合にはＳ２８０に移行し、否定判断した場合には本処理を終了する。なお、更新ファイルには、プログラムの更新の対象となるＥＣＵ２，３を識別するために、少なくとも製品識別情報が付与されている。
【００５８】
Ｓ２８０では、通信コントローラ１２を介して、Ｓ２７０で受信した更新ファイルを、その更新ファイルに付与されている製品識別情報によって示されるスレーブＥＣＵ３に送信し、Ｓ２８５に移行する。ここでは、更新ファイルの送信先であるスレーブＥＣＵ３に応じて、プログラム更新処理の実行タイミングを指示するための更新指示を、更新ファイルと共に送信する。なお、更新指示を送信する代わりに、その更新指示に沿ったタイミングで更新ファイルをスレーブＥＣＵ３に送信してもよい。また、更新ファイルに含まれている製品識別情報が、自ＥＣＵ（マスタＥＣＵ２）を示す場合には、フラッシュメモリ１７に格納されている制御プログラムを最新のバージョンに更新するプログラム更新処理を実行する。
【００５９】
Ｓ２８５では、Ｓ２８０における更新ファイルの送信先であるスレーブＥＣＵ３から、通信コントローラ１２を介して更新完了通知を受信したか否かを判断し、ここで肯定判断した場合にはＳ２９０に移行し、否定判断した場合にはこの更新完了通知を受信するまで待機する。なお、Ｓ２８０で自ＥＣＵの制御プログラムを更新した場合には、自ＥＣＵに対応する更新完了通知を生成する。
【００６０】
Ｓ２９０では、Ｓ２８５で受信（あるいは生成）した更新完了通知を、Ｓ２８０における更新ファイルの送信先であるスレーブＥＣＵ３（あるいはマスタＥＣＵ２）の製品識別情報、及び、車両ＩＤと共に、通信機７を介して管理装置１０に送信し、本処理を終了する。
【００６１】
つまり、各ＥＣＵ２，３がプログラム管理処理を実行することによって、これらＥＣＵ２，３により車載ネットワーク６が構築された車両２０は、イグニッションがＯＮにされると、管理装置１０に未登録のＥＣＵ情報２２を自車両の車両ＩＤと共に管理装置１０に送信する。そして、管理装置１０から更新ファイルをダウンロードすると、その更新ファイルに基づいて、該当するＥＣＵ２，３のプログラムをアップデートすることが可能となる。
【００６２】
＜管理装置の構成＞
一方、図１に戻り、管理装置１０は、インターネット網９に接続するためのネットワークＩ／Ｆ３１と、車両ＩＤ毎にＥＣＵ情報２２が登録された管理データベース３２と、ＥＣＵ２，３の制御プログラムを最新のバージョンに更新するための更新ファイルを入力する入力部３３と、ネットワークＩ／Ｆ３１および入力部３３を介して入力する各種情報に基づいて各種処理を実行し、管理データベース３２の登録内容を管理すると共に、各車両２０にネットワークＩ／Ｆ３１を介して更新ファイルを配信する制御部３４とを備えている。
【００６３】
このうち、制御部３４は、ＣＰＵ、ＲＯＭ、ＲＡＭからなる周知のマイクロコンピュータを中心に構成され、以下のメイン処理、更新ファイル配信処理、及び登録・更新処理を実行する。
【００６４】
＜メイン処理＞
ここで、制御部３４が実行するメイン処理の内容を、図７に示すフローチャートに沿って詳しく説明する。なお、本処理は、管理装置１０本体の電源がＯＮされている間、所定の周期で繰り返し実行される。
【００６５】
まず、本処理が開始されると、Ｓ３１０では、更新ファイルが入力部３３を介して入力されたか否かを判断し、ここで肯定判断した場合にはＳ３２０に移行し、否定判断した場合には、Ｓ３３０に移行する。なお、更新ファイルには、最新の制御プログラムのバージョンに対応するバージョン情報（以下、最新バージョン情報という）が含まれている。
【００６６】
Ｓ３２０では、Ｓ３１０で入力した更新ファイルに含まれている最新バージョン情報に基づいて、管理データベース３２に登録されているＥＣＵ情報２２を検索して、最新のバージョンに更新する必要のあるプログラムに相当するバージョン情報を抽出し、その抽出したバージョン情報（ＥＣＵ情報２２）に更新ファイルを対応付けて記憶して（図８参照）、Ｓ３３０に移行する。
【００６７】
Ｓ３３０では、車両ＩＤがネットワークＩ／Ｆ３１を介して入力されたか否かを判断し、ここで肯定判断した場合にはＳ３４０に移行し、否定判断した場合には本処理を終了する。
【００６８】
Ｓ３４０では、Ｓ３３０で入力した車両ＩＤに基づいて、管理データベース３２内でその車両ＩＤに対応するＥＣＵ情報２２を抽出し、そのＥＣＵ情報２２に更新ファイルが対応付けて記憶されているか否かを判断し、ここで、肯定判断した場合には、Ｓ３５０に移行して、後述する更新ファイル配信処理を起動し、一方、否定判断した場合には、Ｓ３６０に移行する。なお、Ｓ３５０では、更新ファイル配信処理を起動した後に、Ｓ３６０に移行する。
【００６９】
Ｓ３６０では、Ｓ３３０で受信した車両ＩＤにＥＣＵ情報２２が付与されているか否かを判断し、ここで、肯定判断した場合には、Ｓ３７０に移行して、後述する登録・更新処理を起動し、一方、否定判断した場合には、本処理を終了する。なお、Ｓ３７０では、登録・更新処理を起動した後に、本処理を終了する。
【００７０】
＜更新ファイル配信処理＞
次に、先のＳ３４０にて起動される更新ファイル配信処理の内容を、図９に示すフローチャートに沿って詳しく説明する。
【００７１】
まず、本処理が開始されると、Ｓ４１０では、先のＳ３４０で抽出したＥＣＵ情報２２に対応する更新ファイルを、そのＥＣＵ情報２２を構成する製品識別情報と共に、先のＳ３３０で入力した車両ＩＤに基づく車両に送信する。
【００７２】
続くＳ４２０では、所定期間が経過するまでに、ネットワークＩ／Ｆ３１を介して更新完了通知が入力されたか否かを判断し、ここで肯定判断した場合にはＳ４３０に移行し、否定判断した場合には更新完了通知が入力されるまで待機する。
【００７３】
Ｓ４３０では、Ｓ４２０で入力された更新完了通知に付与されている製品識別情報と車両ＩＤとに基づいて、管理データベース３２に登録されているバージョン情報を、Ｓ４１０で送信した更新ファイルに含まれている最新バージョン情報に更新すると共に、その更新したバージョン情報と更新ファイルとの対応付けを解消し、本処理を終了する。
【００７４】
＜登録・更新処理＞
次に、先のＳ３７０にて起動される登録・更新処理の内容を、図１０に示すフローチャートに沿って詳しく説明する。
【００７５】
まず、本処理が開始されると、Ｓ５１０では、先のＳ３３０で入力した車両ＩＤ（以下、対象車両ＩＤという）が、管理データベース３２内に存在するか否かを判断し、ここで肯定判断した場合にはＳ５３０に移行し、否定判断した場合にはＳ５２０に移行する。
【００７６】
Ｓ５２０では、対象車両ＩＤと、その対象車両ＩＤに付与されているＥＣＵ情報２２とを、互いに対応付けて、管理データベース３２に新規に登録し、Ｓ５７０に移行する。
Ｓ５３０では、対象車両ＩＤに付与されているＥＣＵ情報２２に基づいて、管理データベース３２内でその車両ＩＤに対応するＥＣＵ情報２２を抽出する。
【００７７】
続くＳ５４０では、Ｓ５３０で抽出したＥＣＵ情報２２の中に、対象車両ＩＤに付与されているＥＣＵ情報２２と一致する製品識別情報（以下、対象製品識別情報という）が含まれているか否かを判断し、ここで肯定判断した場合にはＳ５６０に移行し、否定判断した場合にはＳ５５０に移行する。
【００７８】
Ｓ５５０では、対象車両ＩＤに付与されているＥＣＵ情報２２（製品識別情報，バージョン情報）を、その対象車両ＩＤに対応付けて管理データベース３２に新規に登録し、Ｓ５７０に移行する。
【００７９】
Ｓ５６０では、管理データベース３２内の対象製品識別情報に対応するバージョン情報を、対象車両ＩＤに付与されているＥＣＵ情報２２のバージョン情報に更新し、Ｓ５７０に移行する。
【００８０】
Ｓ５７０では、管理データベース３２にＥＣＵ情報２２を登録（又は更新）したことを表す登録完了通知を、対象製品識別情報と共に、対象車両ＩＤに基づく車両に送信し、本処理を終了する。
【００８１】
＜動作＞
このように構成された車両用プログラム更新システム１では、図１１に示すように、車両２０のイグニションスイッチがＯＮにされると、車載ネットワーク６上の各ＥＣＵ２，３が起動していることを示すシステム起動通知（車両ＩＤ）が、車両２０から管理装置１０に送信される。
【００８２】
次に、このシステム起動通知を受信した管理装置１０が、車両ＩＤに基づいて管理データベース３２内に車両２０に対する更新ファイルが用意されているか否かを判断し、用意されている場合に限り、管理装置１０から車両２０に更新ファイル（製品識別情報を含む）が送信される。
【００８３】
そして、この更新ファイルを受信した車両２０が、製品識別情報に対応するＥＣＵ（対象ＥＣＵ）の制御プログラムを、更新ファイルに基づいて更新し、その更新後、更新完了通知（製品識別情報，車両ＩＤ）が、車両２０から管理装置１０に送信される。最後に、この更新完了通知を受信した管理装置１０が、車両ＩＤ及び製品識別情報に基づいて、管理データベース３２内の車両２０の対象ＥＣＵに対するバージョン情報を更新する。
【００８４】
また、車両用プログラム更新システム１では、車両２０のイグニションスイッチがＯＮにされると、各ＥＣＵ２，３が保有する登録フラグとマスタＥＣＵ２が保有する情報管理テーブル２３とに基づいて、管理データベース３２に未登録のＥＣＵ情報２２が存在するか否かを判断し、未登録のＥＣＵ情報２２が存在する場合に限り、そのＥＣＵ情報２２を含むシステム起動通知が、車両２０から管理装置１０に送信される。
【００８５】
次に、このシステム起動通知を受信した管理装置１０が、管理データベース３２においてＥＣＵ情報２２を車両ＩＤに対応付けて登録（あるいはバージョン情報を更新）し、その登録後、登録完了通知（製品識別情報）が、管理装置１０から車両２０に送信される。最後に、この登録完了通知を受信した車両２０が、製品識別情報に対応する登録フラグをＯＮに設定すると共に、情報管理テーブル２３内のＥＣＵ情報２２を更新する。
【００８６】
＜効果＞
以上説明したように、本実施形態の車両用プログラム更新システム１では、車両２０のイグニションスイッチがＯＮにされると、システム起動通知（車両ＩＤ）が車両２０から送信されるため、管理装置１０（管理データベース３２）において更新ファイルの配信準備がなされると、システム起動通知の受信後直ちに、車両ＩＤに基づく車両２０に更新ファイルを配信することができる。
【００８７】
また、車両用プログラム更新システム１では、車両２０が、システム起動通知の送信時に、各ＥＣＵ２，３に対応する全てのＥＣＵ情報２２を送信するのではなく、管理データベース３２に未登録のＥＣＵ情報２２だけを管理装置１０に送信する。そして、管理装置１０が、車両２０からシステム起動通知を受信すると、最新のバージョン情報を返信するのではなく、その車両２０に搭載されたＥＣＵ２，３の制御プログラムを更新する必要がある場合に限り、更新ファイルを送信する。よって、更新ファイルの配信に係る不要な通信コストの発生を抑制することができる。
【００８８】
さらに、車両用プログラム更新システム１では、車両２０内のスレーブＥＣＵ３が交換されると、イグニションスイッチがＯＦＦからＯＮに切り替えられたときに、その交換後のスレーブＥＣＵ３に最新のバージョンのプログラムが既に実装されていれば、そのスレーブＥＣＵ３のＥＣＵ情報２２を送信するのではなく、システム起動通知だけを管理装置１０に送信する。よって、管理データベース３２へのＥＣＵ情報２２の登録に係る不要な通信コストの発生を防止することができる。
【００８９】
［他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００９０】
例えば、上記実施形態のスレーブＥＣＵ３におけるプログラム管理処理では、マスタＥＣＵ２から登録完了通知を受信すると、登録フラグをＯＮに設定し、この登録フラグに基づいて、自ＥＣＵ３のＥＣＵ情報をマスタＥＣＵ２（ひいては管理装置１０）に送信するようにしているが、これに限定されるものではない。
【００９１】
具体的には、車両２０のイグニションスイッチがＯＮされる毎に、登録フラグの設定に関わらず、自ＥＣＵ３のＥＣＵ情報２２をマスタＥＣＵ２に送信してもよい。この場合、マスタＥＣＵ２は、スレーブＥＣＵ３から受信したＥＣＵ情報２２が、情報管理テーブル２３内のＥＣＵ情報２２と異なる場合（または、情報管理テーブル２３内に存在しない場合）に送信条件が成立したものとして、スレーブＥＣＵ３から受信したＥＣＵ情報２２を管理装置１０に送信すればよい。
【００９２】
また、上記実施形態のマスタＥＣＵ２におけるプログラム管理処理では、管理装置１０から登録完了通知（製品識別情報を含む）を受信すると、その受信した登録完了通知をスレーブＥＣＵ３に送信しているが、これに代えて、情報管理テーブル２３内のＥＣＵ情報２２に登録完了通知を対応付けて記憶するようにしてもよい。つまり、情報管理テーブル２３内のＥＣＵ情報２２に対応付けられた更新フラグをＯＮに設定すればよい（図１２参照）。
【００９３】
なお、上記実施形態の車両用プログラム更新システム１は、車載ネットワーク６上の複数のＥＣＵ２，３に実装された制御プログラムを更新するシステムとして構成されているが、これに限定されるものではなく、例えば、車両２０毎にある特定の一つのＥＣＵに実装されたプログラムを更新するシステムとして構成されてもよい。また、本システム１の更新対象は、制御プログラムに限らず、例えばＯＳであってもよい。
【符号の説明】
【００９４】
１…車両用プログラム更新システム、２…マスタＥＣＵ、３…スレーブＥＣＵ、６…車載ネットワーク、６ａ…通信バス、７…通信機、１０…管理装置、１１…トランシーバ、１２…通信コントローラ、１３…マイコン、１５…電源回路、１６…ＭＰＵ、１７…フラッシュメモリ、１９…ＳＲＡＭ、２０…車両、２２…ＥＣＵ情報、２３…情報管理テーブル、３１…ネットワークＩ／Ｆ、３２…管理データベース、３３…入力部、３４・・・制御部。
【図１】
2011148398.tif 000003
【図２】
2011148398.tif 000004
【図３】
2011148398.tif 000005
【図４】
2011148398.tif 000006
【図５】
2011148398.tif 000007
【図６】
2011148398.tif 000008
【図７】
2011148398.tif 000009
【図８】
2011148398.tif 000010
【図９】
2011148398.tif 000011
【図１０】
2011148398.tif 000012
【図１１】
2011148398.tif 000013
【図１２】
2011148398.tif 000014
【図１３】
2011148398.tif 000015