IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オートネットワーク技術研究所の特許一覧 ▶ 住友電装株式会社の特許一覧 ▶ 住友電気工業株式会社の特許一覧

特許7192415プログラム更新システム及び更新処理プログラム
<>
  • 特許-プログラム更新システム及び更新処理プログラム 図1
  • 特許-プログラム更新システム及び更新処理プログラム 図2
  • 特許-プログラム更新システム及び更新処理プログラム 図3
  • 特許-プログラム更新システム及び更新処理プログラム 図4
  • 特許-プログラム更新システム及び更新処理プログラム 図5
  • 特許-プログラム更新システム及び更新処理プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】プログラム更新システム及び更新処理プログラム
(51)【国際特許分類】
   B60R 16/02 20060101AFI20221213BHJP
   G06F 8/65 20180101ALI20221213BHJP
【FI】
B60R16/02 660U
G06F8/65
【請求項の数】 7
(21)【出願番号】P 2018209122
(22)【出願日】2018-11-06
(65)【公開番号】P2020075580
(43)【公開日】2020-05-21
【審査請求日】2021-02-25
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】上口 翔悟
【審査官】菅 和幸
(56)【参考文献】
【文献】国際公開第2017/149825(WO,A1)
【文献】特開2004-291943(JP,A)
【文献】特開2005-122763(JP,A)
【文献】特開2017-224047(JP,A)
【文献】特開2004-210183(JP,A)
【文献】特開2010-028355(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 16/02
G06F 13/00
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
車両に搭載される車載ECUのプログラムを更新するための処理を行うプログラム更新システムであって、
前記車載ECUに含まれ、複数種類のプログラムを実行可能とし、実行する前記プログラムの種類に応じて異なる機能を発揮する複数の汎用ECUを備え、
前記汎用ECUは、前記車両に搭載される車載装置を制御するための情報を出力する状態にある動作中ECUと、前記車載装置を制御するための情報を出力しない状態にある待機中ECUとを含み、
前記汎用ECUのプログラムを更新する場合、
前記待機中ECUは、前記動作中ECUが前記車載装置を制御することができない期間を発生させることなく、車外の外部サーバから送信される更新プログラムを取得して自ECUの記憶部に記憶し、
前記更新プログラムに対応する車載装置が停止した後、
前記待機中ECUは、前記車載装置を制御するための情報を出力する動作中ECUに遷移し、
前記更新プログラムの前バージョンのプログラムを実行している動作中ECUは、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移し、
前記複数の汎用ECUは、前記汎用ECU夫々が動作中又は待機中かを示す動作状態に関する情報を共有しており、
前記待機中ECUは、
前記共有されている情報に基づき、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUを特定し、
特定した該動作中ECUへ、待機状態に遷移させる信号を送信する
プログラム更新システム。
【請求項2】
前記待機中ECUは、前記動作中ECUであった時点に実行していたプログラムを前記記憶部に記憶しており、前記外部サーバから送信される前記更新プログラムを取得する際に、前記動作中ECUであった時点に実行していたプログラムを削除する
請求項1に記載のプログラム更新システム。
【請求項3】
前記車載ECUは、前記汎用ECUと、前記車載装置と直接接続される専用ECUとを含み、
前記汎用ECUは、前記車載装置と直接接続せず、前記車載装置を制御するための情報を生成して前記専用ECUに前記情報を送信し、
前記専用ECUは、前記汎用ECUが送信した前記情報を受信し、前記情報に基づいて自ECUに直接接続される前記車載装置を制御する
請求項1又は請求項2に記載のプログラム更新システム。
【請求項4】
前記汎用ECUと前記専用ECUとは、複数の通信系統を統合する中継装置を介して接続しており、
前記汎用ECUが接続される通信系統と、前記専用ECUが接続される通信系統とは、異なる
請求項3に記載のプログラム更新システム。
【請求項5】
コンピュータに、
車両に搭載される車載ECUに含まれ、複数種類のプログラムを実行可能とし実行する前記プログラムの種類に応じて異なる機能を発揮する複数の汎用ECUを、前記車両に搭載される車載装置を制御するための情報を出力する状態にある動作中ECU又は、前記車載装置を制御するための情報を出力しない状態にある待機中ECUに遷移させ、
前記汎用ECUのプログラムを更新する場合、
前記待機中ECUに、前記動作中ECUが前記車載装置を制御することができない期間を発生させることなく、車外の外部サーバから送信される更新プログラムを取得して自ECUの記憶部に記憶させ、
前記更新プログラムに対応する車載装置が停止した後、
前記待機中ECUを、前記車載装置を制御するための情報を出力する動作中ECUに遷移させ、
前記更新プログラムの前バージョンのプログラムを実行している動作中ECUを、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移させ
前記複数の汎用ECUは、前記汎用ECU夫々が動作中又は待機中かを示す動作状態に関する情報を共有しており、
前記待機中ECUに、
前記共有されている情報に基づき、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUを特定させ、
特定した該動作中ECUへ、待機状態に遷移させる信号を送信させる
処理を実行させる更新処理プログラム。
【請求項6】
前記コンピュータに、
前記汎用ECUに前記車載装置を制御するための情報を生成させ、前記車載ECUに含まれ前記車載装置と直接接続される専用ECUに対し、生成した前記情報を送信させる
処理を実行させる請求項5に記載の更新処理プログラム。
【請求項7】
前記汎用ECUと前記専用ECUとは、複数の通信系統を統合する中継装置を介して接続しており、
前記汎用ECUが接続される通信系統と、前記専用ECUが接続される通信系統とは、異なる
請求項6に記載の更新処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム更新システム及び更新処理プログラムに関する。
【背景技術】
【0002】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載装置を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載装置の制御を行う。更に車両には、無線通信の機能を備えた中継装置(ゲートウェイ)が実装されており、中継装置を介して車外のネットワークに接続されているプログラム生成装置と通信し、当該プログラム生成装置から車載ECUの制御プログラムをダウンロード(受信)し、当該車載ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
【0003】
特許文献1の車載ECU(車載制御装置)は、ゲートウェイから送信された差分圧縮データを取得し、取得した差分圧縮データ及び旧プログラムを入力データとして、車載ECUの記憶部に記憶してある復元ソフトを実行し、新プログラムを復元する。
【先行技術文献】
【特許文献】
【0004】
【文献】WO2016/121442号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の車載ECU(車載制御装置)は、差分圧縮データ及び旧プログラムを入力データとして、新プログラムを復元する処理を行うため、当該復元処理を行っている間、当該車載ECUが車載装置を制御することができない期間が、長くなるという問題点がある。
【0006】
本発明の目的は、車載ECUのプログラムを更新するにあたり、当該車載ECUが車載装置を制御することができない期間を短縮することができるプログラム更新システム等を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係るプログラム更新システムは、車両に搭載される車載ECUのプログラムを更新するための処理を行うプログラム更新システムであって、前記車載ECUに含まれ、複数種類のプログラムを実行可能とし、実行する前記プログラムの種類に応じて異なる機能を発揮する複数の汎用ECUを備え、前記汎用ECUは、前記車両に搭載される車載装置を制御するための情報を出力する状態にある動作中ECUと、前記車載装置を制御するための情報を出力しない状態にある待機中ECUとを含み、前記汎用ECUのプログラムを更新する場合、前記待機中ECUは、前記動作中ECUが前記車載装置を制御することができない期間を発生させることなく、車外の外部サーバから送信される更新プログラムを取得して自ECUの記憶部に記憶し、前記更新プログラムに対応する車載装置が停止した後、前記待機中ECUは、前記車載装置を制御するための情報を出力する動作中ECUに遷移し、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUは、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移し、前記複数の汎用ECUは、前記汎用ECU夫々が動作中又は待機中かを示す動作状態に関する情報を共有しており、前記待機中ECUは、前記共有されている情報に基づき、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUを特定し、特定した該動作中ECUへ、待機状態に遷移させる信号を送信する
【発明の効果】
【0008】
本開示の一態様によれば、車載ECUのプログラムを更新するにあたり、当該車載ECUが車載装置を制御することができない期間を短縮することができるプログラム更新システム等を提供することができる。
【図面の簡単な説明】
【0009】
図1】実施形態1(専用ECUあり)に係るプログラム更新システムの構成を例示する模式図である。
図2】汎用ECU等の構成を例示するブロック図である。
図3】汎用ECUの構成情報の一態様を例示する説明図である。
図4】汎用ECUのプログラムの更新の一態様を例示する説明図である。
図5】汎用ECU(待機中ECU)の制御部の処理を例示するフローチャートである。
図6】実施形態2(専用ECUなし)に係るプログラム更新システムの構成を例示する模式図である。
【発明を実施するための形態】
【0010】
[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0011】
(1)本開示の一態様に係るプログラム更新システムは、車両に搭載される車載ECUのプログラムを更新するための処理を行うプログラム更新システムであって、前記車載ECUに含まれ、複数種類のプログラムを実行可能とし、実行する前記プログラムの種類に応じて異なる機能を発揮する複数の汎用ECUを備え、前記汎用ECUは、前記車両に搭載される車載装置を制御するための情報を出力する状態にある動作中ECUと、前記車載装置を制御するための情報を出力しない状態にある待機中ECUとを含み、前記汎用ECUのプログラムを更新する場合、前記待機中ECUは車外の外部サーバから送信される更新プログラムを取得して自ECUの記憶部に記憶し、前記車載装置を制御するための情報を出力する動作中ECUに遷移し、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUは、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移する。
【0012】
本態様にあたっては、車載ECUに含まれる汎用ECUのプログラムを更新する場合、待機中ECUは、車外の外部サーバから送信される更新プログラムを取得して自ECUの記憶部に記憶する。待機中ECUは車載装置を制御するための情報を出力していないため、更新プログラムを記憶する処理を行っても、車載装置への影響は発生しない。又、待機中ECUが更新プログラムを記憶する処理を行っている間は、動作中ECUは、車載装置を制御するための情報を出力するため、動作中ECUが車載装置を制御することができない期間が発生しない。又、動作中ECU及び待機中ECUとの間での状態遷移において、更新プログラムの復号等の処理は発生しない。従って、汎用ECU(車載ECU)のプログラムを更新するにあたり、当該車載ECUが車載装置を制御することができない期間を短縮することができる。
【0013】
(2)本開示の一態様に係るプログラム更新システムは、前記汎用ECUのプログラムを更新する場合、前記更新プログラムに対応する車載装置が停止した後、前記待機中ECUは、前記車載装置を制御するための情報を出力する動作中ECUに遷移し、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUは、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移する。
【0014】
本態様にあたっては、例えば、車両のIG(イグニッション)スイッチがオフにされることにより更新プログラムに対応する車載装置が停止した後、動作中ECUは、車載装置を制御するための情報の出力を停止して待機中ECUに遷移し、待機中ECUは、車載装置を制御するための情報の出力を開始して動作中ECUに遷移する。従って、汎用ECUのプログラムを確実に更新することができる。
【0015】
(3)本開示の一態様に係るプログラム更新システムは、前記待機中ECUは、前記動作中ECUであった時点に実行していたプログラムを前記記憶部に記憶しており、前記外部サーバから送信される前記更新プログラムを取得する際に、前記動作中ECUであった時点に実行していたプログラムを削除する。
【0016】
本態様にあたっては、待機中ECUは、動作中ECUであった時点に実行していた旧プログラムを記憶部に記憶して保持しているので、万が一、更新プログラムに問題が発生した場合であっても、当該旧プログラムを用いて復旧(ロールバック)させることができる。
【0017】
(4)本開示の一態様に係るプログラム更新システムは、前記車載ECUは、前記汎用ECUと、前記車載装置と直接接続される専用ECUとを含み、前記汎用ECUは、前記車載装置と直接接続せず、前記車載装置を制御するための情報を生成して前記専用ECUに前記情報を送信し、前記専用ECUは、前記汎用ECUが送信した前記情報を受信し、前記情報に基づいて自ECUに直接接続される前記車載装置を制御する。
【0018】
本態様にあたっては、汎用ECUは、実行するプログラムの種類に応じて、複数の異なる機能を発揮する。当該機能夫々は、制御対象の車載装置に対応するものであるが、車載装置と、車載装置を駆動制御するECUとは、シリアルケーブル等のワイヤーハーネス又は、内部バスにより直接接続される必要がある。これに対し、汎用ECUは、駆動対象の車載装置と直接接続せず、前記車載装置を制御するための情報を生成して出力する。そして、専用ECUと駆動対象の車載装置とを直接接続し、専用ECUは、汎用ECUが出力した情報を取得し、前記情報に基づいて直接接続される車載装置を駆動する。従って、汎用ECU夫々と車載装置夫々とを個々のワイヤーハーネスにより接続して配策することを不要とすることができる。駆動対象の車載装置と直接接続される専用ECUは、当該車載装置と一体化して構成される場合が多く、車載装置の機構又は構造に対する依存度が高い傾向にあるため、専用ECUのプログラムの更新の頻度は低い。これに対し、汎用ECUにて実行されるプログラムは、車載装置を制御するための情報を生成する処理を行うものであり、走行安全性の向上又はセキュリティ対策を図るため、更新の頻度は、専用ECUのプログラムよりも高くなる。従って、更新の頻度が高くなるプログラムを汎用ECUで実行させ、当該汎用ECUのプログラムの更新をプログラム更新システムにて行うことにより、汎用ECUが車載装置を制御することができない期間を効率的に短縮することができる。
【0019】
(5)本開示の一態様に係るプログラム更新システムは、前記汎用ECUと前記専用ECUとは、複数の通信系統を統合する中継装置を介して接続しており、前記汎用ECUが接続される通信系統と、前記専用ECUが接続される通信系統とは、異なる。
【0020】
本態様にあたっては、汎用ECUが接続される通信系統と、前記専用ECUが接続される通信系統とを異なる通信系統することにより、専用ECUが接続される通信系統に対し、汎用ECUが接続される通信系統内で発生するトラフィックの影響を低減することができる。従って、車外の外部サーバから送信される更新プログラムを中継装置が、中継して汎用ECUに送信する場合、当該更新プログラムの送信によって、専用ECUが接続される通信系統のトラフィックが増加することを抑制することができる。
【0021】
(6)本開示の一態様に係る更新処理プログラムは、コンピュータに、車両に搭載される車載ECUに含まれ、複数種類のプログラムを実行可能とし実行する前記プログラムの種類に応じて異なる機能を発揮する複数の汎用ECUを、前記車両に搭載される車載装置を制御するための情報を出力する状態にある動作中ECU又は、前記車載装置を制御するための情報を出力しない状態にある待機中ECUに遷移させ、前記汎用ECUのプログラムを更新する場合、前記待機中ECUに、車外の外部サーバから送信される更新プログラムを取得させ自ECUの記憶部に記憶させ、該待機中ECUを、前記車載装置を制御するための情報を出力する動作中ECUに遷移させ、前記更新プログラムの前バージョンのプログラムを実行している動作中ECUを、前記車載装置を制御するための情報の出力を停止して待機中ECUに遷移させる処理を実行させる。
【0022】
本態様にあたっては、コンピュータに更新処理プログラムを実行させることにより、プログラム更新システムとして機能させることができる。当該コンピュータは、汎用ECUに内蔵されるものに限定されない。当該コンピュータは、例えば汎用ECUと通信可能に接続された中継装置(ゲートウェイ)等、汎用ECUに対する更新プログラムの送信を制御するリプロマスターに内蔵されるものであってもよい。
【0023】
(7)本開示の一態様に係る更新処理プログラムは、前記コンピュータに、前記汎用ECUに前記車載装置を制御するための情報を生成させ、前記車載ECUに含まれ前記車載装置と直接接続される専用ECUに対し、生成した前記情報を送信させる処理を実行させる。
【0024】
本態様にあたっては、コンピュータに更新処理プログラムを実行させることにより、汎用ECUに情報を生成させ、当該情報を車載装置と直接接続される専用ECUに送信させる。従って、汎用ECUと車載装置とを直接接続することを不要とし、車内の配策を適正化することができる。
【0025】
(8)本開示の一態様に係る更新処理プログラムは、前記汎用ECUと前記専用ECUとは、複数の通信系統を統合する中継装置を介して接続しており、前記汎用ECUが接続される通信系統と、前記専用ECUが接続される通信系統とは、異なる。
【0026】
本態様にあたっては、汎用ECUが接続される通信系統と、専用ECUが接続される通信系統とを、異なる通信系統とすることにより、更新プログラムが送信させる際において、汎用ECUが接続される通信系統のトラフィックにより、専用ECUが接続される通信系統に影響が与えられることを抑制することができる。
【0027】
[本発明の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係るプログラム更新システムSを、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0028】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1(専用ECU6あり)に係るプログラム更新システムSの構成を例示する模式図である。図2は、汎用ECU3等の構成を例示するブロック図である。車両Cには、車外通信装置1、中継装置2及び、複数の汎用ECU3を備えるプログラム更新システムSが搭載されている。
【0029】
車外通信装置1により車外ネットワークNに接続し、汎用ECU3は、車外通信装置1及び中継装置2を介して、当該車外ネットワークNに接続されたプログラム提供装置S1からプログラム又はデータを取得する。中継装置2は、プログラム提供装置S1から取得したプログラム又はデータを、汎用ECU3に送信するプログラム更新装置(リプロマスター)として機能するものであってもよい。
【0030】
プログラム提供装置S1は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、車外の外部サーバに相当する。プログラム提供装置S1の記憶部S11には、車載ECU(汎用ECU3、専用ECU6)の製造メーカ等によって作成された当該車載ECUを制御するためのプログラム又はデータが記憶(保存)されている。当該プログラム又はデータは、更新プログラムとして車両Cに送信され、車両Cに搭載されている車載ECUのプログラム又はデータを更新するために用いられる。このように構成されたプログラム提供装置S1(外部サーバ)は、OTA(Over The Air)サーバとも称される。車両に搭載される車載ECUは、プログラム提供装置S1から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ECUが実行するプログラムを更新(リプロ)することができる。
【0031】
以降、プログラムは、車載ECUが処理を行うための制御構文等を含むプログラムコード及び、当該プログラムコードを実行するにあたり参照するデータが記載される外部ファイルを含むものとして説明する。更新プログラムの送信時において、これらプログラムコード及びデータが記載される外部ファイルは、例えば暗号化されたアーカイブファイルとして、プログラム提供装置S1から送信される。
【0032】
車両Cには、複数の専用ECU6及び専用ECU6にシリアルケーブル等のワイヤーハーネスにより直接接続された車載装置7が設けられている。すなわち、車両Cには、車載ECUとして汎用ECU3及び専用ECU6が設けられている。中継装置2は、複数の汎用ECU3が接続される汎用ECU通信系統と、複数の専用ECU6が接続される専用ECU通信系統との複数のセグメントを備えるゲートウェイである。汎用ECU3夫々は、汎用ECU通信系統を介して相互に通信可能に接続される。専用ECU6夫々は、専用ECU通信系統を介して相互に通信可能に接続される。汎用ECU3夫々と専用ECU6夫々とは、中継装置2を介して相互に通信可能に接続される。中継装置2が備える汎用ECU通信系統及び専用ECU通信系統によって、車内LAN4が構成される。
【0033】
詳細は後述するが、汎用ECU3夫々は、複数の異なる種類のプログラムを実行可能とし、実行する前記プログラムの種類に応じて異なる機能を発揮する。すなわち、汎用ECU3夫々は、例えばハードウェアの仕様は同一に構成され、一の汎用ECU3にはエンジン用プログラムを適用することにより、エンジンを制御するための情報(データ)を出力し、他の汎用ECU3にはブレーキ用プログラムを適用することにより、ブレーキを制御するためのデータを出力する。出力されたデータは、中継装置2を介して、当該データに対応するエンジン用又はブレーキ用の専用ECU6によって受信される。
【0034】
これら専用ECU6夫々は、対応する汎用ECU3から受信したデータに基づき、自ECUに直接接続されている車載装置7を駆動制御する。例えば、エンジン用の車載装置7に接続されているエンジン用の専用ECU6は、エンジン用プログラムが適用されている汎用ECU3から出力されたデータを受信し、アクチュエータであるエンジン用の車載装置7の駆動、起動又は停止等の駆動制御を行う。
【0035】
汎用ECU3は、動作中ECU3a及び待機中ECU3bを含む。動作中ECU3aは、上述のごとく専用ECU6へ送信するためのデータを生成し出力する状態にある汎用ECU3である。待機中ECU3bは、当該データを出力することなく、待機している状態にある汎用ECU3である。すなわち、動作中ECU3a及び待機中ECU3bは、汎用ECU3の状態によって決定される。詳細は、フローチャート等の説明にて後述する。
【0036】
車外通信装置1と中継装置2とは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。中継装置2及び車載ECU(汎用ECU3、専用ECU6)は、CAN(Control Area Network/登録商標)又はEthernet(登録商標)等の通信プロトコルに対応した車内LAN4によって通信可能に接続されている。
【0037】
車外通信装置1は、車外通信部11及び、中継装置2と通信するための入出力I/F(インターフェイス)12を含む。車外通信部11は、3G、LTE、4G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部11に接続されたアンテナ13を介してプログラム提供装置S1とデータの送受信を行う。車外通信装置1とプログラム提供装置S1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。
【0038】
入出力I/F12は、中継装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と中継装置2とは、入出力I/F12及び入出力I/F12に接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、中継装置2と別装置とし、入出力I/F12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、中継装置2の一構成部位として、中継装置2に内蔵されるものであってもよい。
【0039】
中継装置2は、制御部20、記憶部21及び車内通信部23を含む。中継装置2は、車外通信装置1が無線通信によってプログラム提供装置S1から受信した更新プログラムを、車外通信装置1から取得し、車内LAN4を介して当該更新プログラムを汎用ECU3に送信(中継)するように構成されているゲートウェイである。中継装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。
【0040】
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部20は、プログラム提供装置S1から送信された更新プログラムを、車外通信装置1を介して取得する取得部に相当する。
【0041】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部21に記憶させたものであってもよい。更に、記憶部21には、車両Cに搭載される全ての車載ECU(汎用ECU3、専用ECU6)の構成情報、プログラム提供装置S1から取得した更新プログラム、及び車載ECUに更新プログラムを送信する際の進捗状況に関する情報が、記憶される。
【0042】
車内通信部23は、CAN(Control Area Network)又はEthernet(登録商標)等の通信プロトコルを用いた入出力インターフェイスであり、制御部20は、車内通信部23を介して車内LAN4に接続されている車載ECU(汎用ECU3、専用ECU6)又は他の中継装置2等の車載機器と相互に通信する。車内通信部23は、複数個(図面上では2つ)設けられており、車内通信部23夫々に、車内LAN4を構成する通信線が接続されている。このように車内通信部23を複数個設けることにより、車内LAN4は複数個のセグメントに分けられる。図1に示すごとく、一のセグメントには複数の汎用ECU3を接続することにより、当該一のセグメントは、汎用ECU通信系統として機能する。他のセグメントには複数の専用ECU6を接続することにより、当該他のセグメントは、専用ECU通信系統として機能する。
【0043】
汎用ECU3は、制御部30、記憶部31及び車内通信部32を含む。制御部30は、CPU又はMPUにより構成される。車内通信部32は、中継装置2の車内通信部23と同様の通信プロトコルを用いた入出力インターフェイスである。制御部30は、中継装置2から送信(中継)される更新プログラムを、車内通信部32を介して受信して当該更新プログラムを取得する。
【0044】
記憶部31は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、汎用ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、中継装置2から送信される更新プログラムによって更新される対象である。
【0045】
汎用ECU3は、異なる複数の種類のプログラムが実行可能なように構成されている。例えば、汎用ECU3の記憶部31にエンジン用プログラムが記憶されており、汎用ECU3の制御部30が当該エンジン用プログラムを読み出し実行することにより、当該汎用ECU3は、エンジン(エンジン用の車載装置7)を制御するための情報を生成し、当該情報を送信(出力)する。又、汎用ECU3の記憶部31にブレーキ用プログラムが記憶されている場合、汎用ECU3の制御部30は、当該ブレーキ用プログラムを読み出し実行することにより、当該汎用ECU3は、ブレーキ(ブレーキ用の車載装置7)を制御するための情報を生成し、当該情報を送信(出力)する。このように汎用ECU3は、記憶部31に記憶してあるプログラムの種類に応じて、異なる機能を発揮するように構成されている。
【0046】
上述のごとく、汎用ECU3は、動作中ECU3a及び待機中ECU3bを含む。動作中ECU3aの記憶部31には、現在実行しているプログラムが記憶されている。待機中ECU3bの記憶部31には、以前に実行していた前バージョンのプログラム(旧プログラム)が記憶されている。なお、更新プログラムにより汎用ECU3のプログラムの更新が一度も行われていない場合は、待機中ECU3bの記憶部31は、いずれのプログラムも記憶されていない空の状態である。汎用ECU3夫々の記憶部31には、自ECUの動作状態に関する情報が記憶されている。動作状態に関する情報とは、例えば動作中又は待機中を示すフラグデータである。詳細は後述するが、汎用ECU3夫々の記憶部31夫々には、全ての汎用ECU3の構成情報が記憶されており、すなわち全ての汎用ECU3の構成情報は、汎用ECU3夫々によって共有されている。
【0047】
当該構成情報には、動作状態に関する情報が含まれているため、汎用ECU3夫々は、自ECUのみならず全ての汎用ECU3の動作状態を認識することができ、どの汎用ECU3が動作中(動作中ECU3a)であり、どの汎用ECU3が待機中(待機中ECU3b)であるかを認識することができる。
【0048】
専用ECU6は、汎用ECU3と同様に図示しない制御部、記憶部、及び車内通信部を含む。又、専用ECU6は、中継装置2と同様の入出力I/F(図示せず)を含み、当該入出力I/Fに接続されるシリアルケーブル等のワイヤーハーネスにより、車載装置7と通信可能に直接接続される。専用ECU6は、上述ごとく、自ECUに直接接続される車載装置7(例えばエンジン用の車載装置7)に対応するプログラム(エンジン用プログラム)が適用されている汎用ECU3から出力されたデータ(車載装置7を制御するための情報)を受信し、当該データに基づき、自ECUに直接接続される車載装置7の駆動又は停止等の駆動制御を行う。
【0049】
中継装置2の入出力I/F24には、シリアルケーブル等のワイヤーハーネスにより、表示装置5が通信可能に接続されている。表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5には、例えば、中継装置2の制御部20から入出力I/F24を介して出力されたデータ又は情報が表示される。中継装置2は、汎用ECU3夫々の状態(動作中ECU3a又は待期中ECU3bであるか)に関する情報を表示装置5に送信し、当該状態を表示装置5に表示させてもよい。表示装置5と中継装置2との接続形態は、入出力I/F24等による接続形態に限定されず、表示装置5と中継装置2とは、車内LAN4を介した接続形態であってもよい。
【0050】
中継装置2の入出力I/F24には、シリアルケーブル等のワイヤーハーネスにより、車両の起動又は停止を行うIGスイッチ8(イグニッションスイッチ)が通信可能に接続されている。IGスイッチ8がオン又はオフにされた場合、IGスイッチ8から出力(送信)された信号を、中継装置2の制御部20は、入出力I/F24を介して取得(受信)する。中継装置2の制御部20は、取得した信号に基づき、当該IGスイッチ8のオン又はオフに関する情報として、車内通信部23を介して、車載ECUである汎用ECU3及び専用ECU6に送信する。従って、汎用ECU3は、中継装置2から送信された情報に基づき、IGスイッチ8のオン又はオフに関する情報を取得することができる。
【0051】
図3は、汎用ECU3の構成情報の一態様を例示する説明図である。汎用ECU3夫々の記憶部には、全ての汎用ECU3の構成情報が記憶されている。当該構成情報は、例えば図3に示す表の項目によって示される情報群(車両構成情報マスターテーブル)によるものある。構成情報は、例えば汎用ECU3の製造番号(シリアル番号)、ECU部番(部番、型番)、Software部番、プログラムのバージョン、MAC(Media Access Control)アドレス、IPアドレス、機能グループ、及び動作状態を含み、個々の汎用ECU3において重複しないように設定された連番等によるECU-IDに関連付けられて管理される。
【0052】
製造番号(シリアル番号)は、汎用ECU3の製造時に付与される番号であり、生産拠点等を示すロット番号及び製造時の連番等により構成され、当該ECUを一意に特定することができるユニークな番号である。ECU部番(部番、型番)は、車載ECUの種類を特定する番号であり、例えば部品番号である。Software部番は、プログラムのソフトウェアの種類を特定するための番号である。バージョンは、記憶部に記憶されているプログラムのバージョンである。
【0053】
MACアドレスは、汎用ECU3の車内通信部32がEthernetに対応した通信ポートである場合、データリング層に対応するアドレスである。MACアドレスは、当該車内通信部32の製造時付与される番号であり、製造者を示すベンダーコード及び製造時の連番等により構成され、当該ECUを一意に特定することができるユニークな番号である。IPアドレスは、車内通信部32がEthernetに対応した通信ポートである場合、TCP/IPを用いた通信を行う際のネットワーク層に対応するアドレスである。
【0054】
機能グループは、Software部番により特定されるプログラムの機能を区分したものであり、例えば制御対象の車載装置7の機能分類又は種類を示すものである。動作状態は、汎用ECU3の状態に関する情報として、動作中又は待機中であるかを示す情報である。動作状態が動作中の汎用ECU3は動作中ECU3aとして機能し、動作状態が待機中の汎用ECU3は待機中ECU3bとして機能する。
【0055】
汎用ECU3の構成情報は、当該汎用ECU3を識別するための識別情報を含む。IPアドレスは、車内通信部32の設定に応じて任意に決定できるアドレスであるため、汎用ECU3を識別するための識別情報としては、シリアル番号又はMACアドレスを用いることが望ましい。
【0056】
図3に示すごとく、機能グループがエンジンである汎用ECU3(ECU-IDが001及び003)が、2つあるとしている。この内、ECU-IDが001の汎用ECU3は、動作中であり、動作中ECU3aとしてエンジン用のプログラムを実行している。ECU-IDが003の汎用ECU3は、待機中であり、待機中ECU3bとして、以前に実行していたエンジン用の旧プログラム(前バージョンのプログラム)を、自ECUの記憶部に記憶している。この様に旧プログラムは、待機中ECU3bの記憶部に記憶してあるため、現状実行するプログラムに問題が生じた場合であっても、当該旧プログラムを用いてロールバックすることにより、当該プログラムに対応する車載装置7の制御を継続することができる。
【0057】
図4は、汎用ECU3のプログラムの更新の一態様を例示する説明図である。図4において、複数の汎用ECU3(動作中ECU3a、待機中ECU3b)を含むプログラム更新システムSによるプログラムの更新を、中継装置2、動作中ECU3a及び待機中ECU3bの処理を含むシーケンス図を用いて説明する。
【0058】
中継装置2は、プログラム提供装置S1から取得した更新プログラムを待機中ECU3bに送信する(S1)。例えば、中継装置2は、更新プログラムをマルチキャストで全ての汎用ECU3に対し送信する。汎用ECU3夫々は、自ECUの動作状態が動作中(動作中ECU3a)又は待機中(待機中ECU3b)であるかを記憶部31に記憶している。従って、待機中ECU3bは、中継装置2から送信された更新プログラムを取得(受信)する。又は、中継装置2は、全ての汎用ECU3の構成情報を記憶部21に記憶しており、待機中の汎用ECU3、すなわち待機中ECU3bを特定し、当該待機中ECU3bに対し、更新プログラムをユニキャストで送信してもよい。待機中ECU3bは、更新プログラムの取得(受信)を正常に終了した場合、中継装置2に対し、更新プログラムの受信が成功した旨を送信(返信)してもよい。
【0059】
待機中ECU3bは、取得(受信)した更新プログラムを自ECUの記憶部31に記憶する(S2)。待機中ECU3bの記憶部31に、以前実行していた旧プログラムが記憶されている場合、すなわち旧プログラムが記憶部31に残存している場合は、待機中ECU3bは、更新プログラムを取得又は記憶するための準備処理として、当該旧プログラムを削除する。
【0060】
IGスイッチ8がオフにされる(S3)。IGスイッチ8がオフにされることにより、車両Cは停止する。車両Cが停止することにより、専用ECU6に接続されている車載装置7も停止となる。又、IGスイッチ8がオフにされることにより、中継装置2は、IGスイッチ8がオフにされた旨に関する情報を全ての汎用ECU3(動作中ECU3a、待機中ECU3b)に対し送信する。当該情報を受信した動作中ECU3aは、車載装置7を制御するための情報の生成及び送信を停止する。
【0061】
待機中ECU3bは、動作中ECU3aに対し待機状態に遷移させる信号を送信する(S4)。待機中ECU3bは、(S2)の処理で記憶した更新プログラムのヘッダー情報等を参照し、当該更新プログラムのSoftware部番、バージョン及び機能グループを特定する。汎用ECU3は、例えば特定した機能グループ又はSoftware部番と同一の機能グループ又はSoftware部番である動作中ECU3a(動作中の汎用ECU3)を特定する。例えば、更新プログラムの機能グループがエンジンである場合、機能グループがエンジンの動作中ECU3aを特定する。動作中ECU3aの特定は、例えば製造番号又はMACアドレスによって行われる。待機中ECU3bは、特定した動作中ECU3aに対し、待機状態に遷移させる信号を送信する。
【0062】
待機状態に遷移させる信号を受信した動作中ECU3aは、自ECUを待機中ECU3bに遷移させる(S5)。待機状態に遷移させる信号を受信した動作中ECU3aは、自ECUの記憶部31に記憶してある構成情報において、自ECUの動作状態を動作中から待機中に変更する。動作状態を動作中から待機中に変更することにより、動作中ECU3aであった汎用ECU3は、待機中ECU3bに遷移する。自ECUの記憶部31に記憶してある構成情報を変更して待機中ECU3bに遷移した後、当該待機中ECU3bは、変更した構成情報を、例えばマルチキャストにより全汎用ECU3及び中継装置2に送信してもよい。
【0063】
待機状態に遷移させる信号を送信した待機中ECU3bは、自ECUを動作中ECU3aに遷移させる(S6)。待機状態に遷移させる信号を送信した待機中ECU3bは、自ECUの記憶部31に記憶してある構成情報において、自ECUの動作状態を待機中から動作中に変更する。動作状態を待機中から動作中に変更することにより、待機中ECU3bであった汎用ECU3は、動作中ECU3aに遷移する。自ECUの記憶部31に記憶してある構成情報を変更して動作中ECU3aに遷移した後、当該動作中ECU3aは、変更した構成情報を、例えばマルチキャストにより全ての汎用ECU3及び中継装置2に送信してもよい。なお、送信される構成情報は、自ECUの動作状態に関する情報に加え、取得した更新プログラムに基づき、Software部番、バージョン及び機能グループを変更したものである。
【0064】
このようにプログラムの更新の都度、動作状態を遷移させた汎用ECU3が、自ECUの動作状態及び、取得した更新プログラムに基づき修正したSoftware部番、バージョン及び機能グループを含む構成情報を、全ての汎用ECU3及び、中継装置2に送信する。従って、汎用ECU3夫々、及び中継装置2は、常に最新の汎用ECU3夫々の構成情報を共有することができる。
【0065】
IGスイッチ8がオンにされる(S7)。IGスイッチ8がオンにされることにより、車両Cは起動する。IGスイッチ8がオンにされた旨に関する情報は、中継装置2から全ての汎用ECU3に送信される。
【0066】
待機中ECU3bは、中継装置2から送信される更新プログラムを待ち受ける待機処理を行う(S8)。待機中ECU3bの記憶部31には、前回、中継装置2から送信された更新プログラムと同種のプログラムであって、当該更新プログラムの前バージョンとなる旧プログラムが記憶(保存)されている。待機中ECU3bは、当該旧プログラムを実行せず、待機処理を行う。従って、待機中ECU3bは、車載装置7を制御するための情報の出力を実質的に停止している。車載装置7を制御するための情報の出力を実質的に停止するとは、待機中ECU3bが一切の情報の出力を停止している場合に限られない。すなわち、待機中ECU3bは、例えば専用ECU6又は車載装置7の状態を確認するためのポーリングに関する情報(信号)や、専用ECU6又は車載装置7に向けて送信する情報(信号)であっても、当該専用ECU6又は車載装置7によって無視又は破棄される情報(信号)を出力するものであってもよい。車載装置7を制御するための情報の出力を実質的に停止するとは、車載装置7の制御に影響を与える情報の出力(送信)を停止することを意味する。従って、待機中ECU3bは、車載装置7の制御に影響を与えない情報(信号)を出力(送信)するものであってもよい。
【0067】
動作中ECU3aは、記憶部31に記憶した更新プログラムを実行し、車載装置7を制御するための情報を出力する(S9)。動作中ECU3aは、(S2)の処理にて記憶した更新プログラムを実行し、当該更新プログラムに対応する車載装置7を制御するための情報を生成し、当該車載装置7に直接接続されている専用ECU6に対し、当該情報を出力(送信)する。
【0068】
待機中ECU3bは、(S1)の処理と同様に、次の更新プログラムを取得する(S10)。待機中ECU3bは、中継装置2から次の更新プログラムを取得し記憶する準備処理として、例えば新たな更新プログラムの存在に関する情報が中継装置2を介してプログラム提供装置S1から送信された場合、自ECUの記憶部31に記憶されている旧プログラムを削除する。
【0069】
更新プログラムの取得及び記憶は、車両Cの起動中に待機中ECU3bが行うため、車両Cの蓄電装置の残容量を考慮することなく行うことができる。待機中ECU3bは、車載装置7を制御するための情報の生成及び出力を行っていないため、車載装置7の制御に影響を与えることなく、更新プログラムを取得することができる。
【0070】
待機中ECU3bが取得した更新プログラムを適用するためには、例えばIGスイッチ8のオフからオンまでの間等、更新プログラムに対応する車載装置が停止している間に、当該待機中ECU3bを動作中ECU3aに遷移させる処理を行うことにより対応することができる。待機中ECU3bから動作中ECU3aへの遷移は、例えば、自ECUの記憶部31に記憶してある構成情報において、自ECUの動作状態を示す情報を、待機中から動作中に変更する処理で行うことができるため、短時間にて当該遷移を行うことができる。従って、更新プログラムの適用、すなわちプログラムの更新処理(リプロ処理)を短時間で完了させることができ、汎用ECU3が車載装置7を制御できない時間を削減することができる。
【0071】
待機状態に遷移させる信号を受信した動作中ECU3aは、例えばIGスイッチ8のオフからオンまでの間等、更新プログラムに対応する車載装置が停止している間に、待機中ECU3bに遷移する。IGスイッチ8がオンにされた後、起動した待機中ECU3bは、車載装置7を制御するための情報の生成及び出力を停止している。従って、待機中ECU3bの記憶部31に記憶(保存)されている旧プログラムが実行されることを防止することができる。
【0072】
適用した更新プログラムに問題が発生した場合、当該更新プログラムを実行している動作中ECU3aは待機中ECU3bに遷移して当該更新プログラムの実行を停止する共に、待機中ECU3bは動作中ECU3aに遷移して自ECUの旧プログラムを実行するロールバック処理を行ってもよい。当該ロールバック処理を行うことにより、更新プログラムに対応する車載装置7の制御を継続することができる。
【0073】
汎用ECU3夫々の記憶部31には、全ての汎用ECU3の構成情報が記憶されているとしたが、これに限定されない。汎用ECU3夫々の記憶部31には自ECUの構成情報のみが記憶されており、中継装置2が、汎用ECU3夫々と通信し、汎用ECU3夫々から送信された夫々の構成情報を取得(受信)して、当該構成情報夫々を集約するものであってもよい。すなわち、中継装置2の記憶部21には、全ての汎用ECU3の構成情報が記憶されており、汎用ECU3夫々は、中継装置2と通信することにより、全ての汎用ECU3の構成情報を取得するものであってもよい。
【0074】
待機中ECU3bが、取得した更新プログラムと同種のプログラムを実行している動作中ECU3aを特定し、当該動作中ECU3a対し、待機状態に遷移させる信号を送信するとしたが、これに限定されない。中継装置2が、取得した更新プログラムと同種のプログラムを実行している動作中ECU3aを特定し、当該動作中ECU3a対し、待機状態に遷移させる信号を送信してもよい。
【0075】
図5は、汎用ECU3(待機中ECU3b)の制御部の処理を例示するフローチャートである。待機中ECU3bの状態にある汎用ECU3の制御部30(待機中ECU3bの制御部30)は、車両Cが起動状態(IGスイッチ8がオン)において、中継装置2によって中継される更新プログラムを待ち受けており、以下の処理を行う。
【0076】
待機中ECU3bの制御部30は、更新プログラムを取得する(S100)。自ECUの記憶部31に、旧プログラムが記憶されている場合、制御部30は、当該プログラムを取得するための準備処理として、当該旧プログラムを削除してもよい。旧プログラムを削除することにより、自ECUの記憶部31の記憶領域が逼迫することを抑制することができる。待機中ECU3bの制御部30は、更新プログラムを記憶する(S101)。制御部30は、取得した更新プログラムの自ECUの記憶部31に記憶する。
【0077】
待機中ECU3bの制御部30は、IGオフの信号を受信したか否か判定する(S102)。待機中ECU3bは、例えば中継装置2から送信されるIGスイッチ8のオフに関する情報(IGオフの信号)に基づき、IGオフの信号を受信したか否かを判定する。
【0078】
IGオフの信号を受信していない場合(S102:NO)、待機中ECU3bの制御部30は、再度S102の処理を実行すべく、ループ処理を行う。
【0079】
IGオフの信号を受信した場合(S102:YES)、待機中ECU3bの制御部30は、動作状態を遷移させる信号を送信する(S103)。制御部30は、取得した更新プログラムと同種のプログラム、すなわち更新プログラムの前バージョンのプログラムを実行している動作中ECU3aに対し、動作状態を遷移させる信号(動作中ECU3aから待機中ECU3bに遷移させる信号)を送信する。当該信号を受信した動作中ECU3aは、自ECUを待機中ECU3bに遷移させるように自ECUの記憶部31に当該信号に関する情報を記憶する。又は、当該信号を受信した動作中ECU3aは、自ECUの記憶部31に記憶してある更新情報において、自ECUの動作状態を動作中から待機中に変更するものであってもよい。
【0080】
待機中ECU3bの制御部30は、自ECUを動作中ECU3aに遷移する。(S104)。待機中ECU3bの制御部30は、自ECUの記憶部31に記憶してある更新情報において、自ECUの動作状態を待機中から動作中に変更することにより、動作中ECU3aに遷移する。
【0081】
車両CのIGスイッチ8がオフされた後、オンされることにより、更新プログラムに対応する車載装置7及び当該車載装置7に直接接続される専用ECU6は、停止された後、起動する。更新プログラムに対応する車載装置7が停止している間に、更新プログラムを取得した待機中ECU3bを動作中ECU3aに遷移させることにより、更新プログラムを適用するだけのために当該車載装置7を停止させることを回避することができ、汎用ECU3が車載装置7を制御することができない期間を短縮することができる。
【0082】
当該車載装置7が停止する前にて動作中ECU3aであった汎用ECU3は、車載装置7が停止している間に待機中ECU3bに遷移する。待機中ECU3bに遷移した汎用ECU3の記憶部31には、旧プログラム(更新プログラムの前バージョンのプログラム)が記憶されているが、待機中ECU3bは、当該旧プログラムを実行することなく待機処理をしているので、車載装置7の制御に影響を与えることを防止することができる。すなわち、待機中ECU3bは、車載装置7を制御するための情報(信号)の出力を実質的に停止している。
【0083】
制御部30は、自ECUを動作中ECU3aに遷移するにあたり、自ECUの記憶部31に記憶してある構成情報において、自ECUの動作状態に関する情報を修正する。動作状態に関する情報の修正内容は、自ECUの動作状態を待機中から動作中に変更すると共に、(S103)の処理にて信号を送信した動作中ECU3aの動作状態を動作中から待機中に変更するものである。更に、構成情報の修正内容は、自ECUのSoftware部番、バージョン及び機能グループを、取得した更新プログラムのSoftware部番、バージョン及び機能グループに変更することも含む。
【0084】
制御部30は、修正した構成情報を、他の汎用ECU3及び中継装置2に向けて送信する。当該構成情報を受信した他の汎用ECU3は、自ECUに記憶されている構成情報を、受信した構成情報に入れ替えることにより、現時点における汎用ECU3夫々の動作状態(動作中又は待機中)等が含まれる構成情報を共有することができる。
【0085】
動作中ECU3aとなった汎用ECU3の制御部30(動作中ECU3aの制御部30)は、IGオンの信号を受信した否か判定する(S105)。動作中ECU3aとなった汎用ECU3の制御部30は、例えば中継装置2から送信されるIGスイッチ8のオンに関する情報(IGオンの信号)に基づき、IGオフの信号を受信したか否かを判定する。
【0086】
IGオンの信号を受信していない場合(S105:NO)、動作中ECU3aとなった汎用ECU3の制御部30は、再度S105の処理を実行すべく、ループ処理を行う。
【0087】
IGオンの信号を受信した場合(S105:YES)、動作中ECU3aとなった汎用ECU3の制御部30は、車載装置7の制御情報を出力する(S106)。制御部30は、取得した更新プログラムを実行することにより、当該更新プログラムに対応する車載装置7を制御するための情報を生成し、車載装置7に直接接続されている専用ECU6に当該情報を送信(出力)する。
【0088】
動作状態を遷移させる信号を受信して待機中ECU3bとなった汎用ECU3の記憶部31には、上述のごとく更新プログラムの前バージョンのプログラム(旧プログラム)が記憶されている。待機中ECU3bとなった汎用ECU3は、当該旧プログラムを実行することなく、中継装置2から送信される次の更新プログラムを待ち受ける待機処理を行う。中継装置2から次の更新プログラムが送信された場合、待機中ECU3bとなった汎用ECU3は、S100からの処理を実行する。
【0089】
中継装置2から更新プログラムが送信される都度、すなわちプログラムの更新処理(リプロ処理)が実行される都度、待機中ECU3bは、当該更新プログラムを取得して動作中ECU3aに遷移することにより、当該更新プログラムを実行する。更新プログラムの前バージョンのプログラム(旧プログラム)を実行していた動作中ECU3aは、待機中ECU3bに遷移する。この様に更新プログラムによるプログラムの更新処理の都度、待機中ECU3bが移り変わる。待機中ECU3bは、車載装置7を制御するための情報の生成及び出力を停止しているため、車載装置7が動作している間であっても、更新プログラムを取得することができる。更に待機中ECU3bから動作中ECU3aへの遷移は、例えばIGスイッチ8がオフにされている間にて、極めて短時間で行われるため、動作中ECU3aによって車載装置7を制御できない時間を短縮することができる。又、当該待機中ECU3bは、更新プログラムの前バージョンのプログラム(旧プログラム)を保持するため、当該更新プログラムに問題が発生した場合、当該旧プログラムによりロールバック処理を行うことができる。
【0090】
(実施形態2)
図6は、実施形態2(専用ECU6なし)に係るプログラム更新システムSの構成を例示する模式図である。実施形態2のプログラム更新システムSは、汎用ECU3及び車載装置7による全ての組合せにおいて、汎用ECU3夫々と車載装置7夫々とを接続する点で実施形態1と異なる。
【0091】
汎用ECU3は、実施形態1と同様に動作中ECU3a及び待機中ECU3bを含む。全ての汎用ECU3は、制御対象となる全ての車載装置7と例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。汎用ECU3夫々は中継装置2又は実施形態1の専用ECU6と同様の入出力I/F(図示せず)を備え、ワイヤーハーネスは当該入出力I/Fに接続される。
【0092】
図6において、一例として3つの汎用ECU3及び2つの車載装置7が示されている。汎用ECU3夫々は、2本のワイヤーハーネスにより、2つの車載装置7夫々と接続されている。すなわち、汎用ECU3と車載装置7とによる全ての組合せに対応するように、汎用ECU3夫々と車載装置7夫々は、ワイヤーハーネスによって接続されている。
【0093】
動作状態が動作中の汎用ECU3、すなわち動作中ECU3aは、記憶部31に記憶してあるプログラムを実行し、当該プログラムに対応する車載装置7を制御するための情報を生成し、生成した情報を入出力I/Fを介して当該車載装置7に出力する。
【0094】
汎用ECU3及び車載装置7による全ての組合せにおいて、汎用ECU3夫々と車載装置7夫々とを接続することにより、専用ECU6を不要とすることができる。
【0095】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0096】
C 車両
S プログラム更新システム
S1 プログラム提供装置(外部サーバ)
S11 記憶部
1 車外通信装置
11 車外通信部
12 入出力I/F
13 アンテナ
2 中継装置
20 制御部
21 記憶部
22 記録媒体
23 車内通信部
24 入出力I/F
3 汎用ECU(車載ECU)
3a 動作中ECU
3b 待機中ECU
30 制御部
31 記憶部
32 車内通信部
4 車内LAN
5 表示装置
6 専用ECU(車載ECU)
7 車載装置
8 IGスイッチ
図1
図2
図3
図4
図5
図6