(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023145880
(43)【公開日】2023-10-12
(54)【発明の名称】車載更新装置、車載更新システムおよび車載制御装置のプログラム更新に関する制御方法
(51)【国際特許分類】
G06F 11/14 20060101AFI20231004BHJP
G06F 8/65 20180101ALI20231004BHJP
【FI】
G06F11/14 656
G06F8/65
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022052769
(22)【出願日】2022-03-29
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100123102
【弁理士】
【氏名又は名称】宗田 悟志
(72)【発明者】
【氏名】上原 利幸
(72)【発明者】
【氏名】西田 英志
(72)【発明者】
【氏名】檜垣 茂明
(72)【発明者】
【氏名】谷村 直哉
(72)【発明者】
【氏名】片田 智章
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB43
5B376CA49
5B376CA52
5B376CA75
5B376GA08
(57)【要約】
【課題】車載制御装置のプログラム更新に関する好適な制御を実現する。
【解決手段】車載更新装置24は、プログラム提供装置12から更新対象ECU22aに適用すべき更新プログラムを取得する場合であり、かつ、車載更新装置24の記憶部に記憶されている退避データを非更新対象ECU22bに退避させるべき場合に、第1の条件を満たす非更新対象ECU22bを選択する。車載更新装置24は、第1の条件を満たす非更新対象ECU22bへの退避可能量が第2の条件を満たす場合、第1の処理として、退避データの少なくとも一部を非更新対象ECU22bへ送信し、第1の条件を満たす非更新対象ECU22bへの退避可能量が第2の条件を満たさない場合、第1の処理とは異なる第2の処理を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムが記憶される記憶部と、
更新対象の車載制御装置への前記更新プログラムの送信を制御する制御部と、
を備え、
前記制御部は、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記制御部は、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載更新装置。
【請求項2】
前記制御部は、前記第2の処理として、前記更新プログラムの一部をリムーバブル記憶装置に記憶させる、
請求項1に記載の車載更新装置。
【請求項3】
前記制御部は、前記車両の走行における危険度が高い場合、前記更新対象の車載制御装置のプログラムを更新するための処理を停止する、
請求項1または2に記載の車載更新装置。
【請求項4】
前記車両は、電気自動車であり、
前記制御部は、前記車両のバッテリー残量が所定の閾値未満である場合、前記更新対象の車載制御装置のプログラムを更新するための処理を停止する、
請求項1から3のいずれかに記載の車載更新装置。
【請求項5】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新システムであって、
前記更新プログラムが記憶される記憶部と、
更新対象の車載制御装置への前記更新プログラムの送信を制御する制御部と、
を備え、
前記制御部は、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記制御部は、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載更新システム。
【請求項6】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行い、かつ、前記更新プログラムが記憶される記憶部を備える、前記車両に搭載されるコンピュータが、更新対象の車載制御装置への前記更新プログラムの送信を制御する処理を実行し、
前記コンピュータは、前記制御する処理として、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記コンピュータは、前記制御する処理として、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載制御装置のプログラム更新に関する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はデータ処理技術に関し、特に車載更新装置、車載更新システムおよび車載制御装置のプログラム更新に関する制御方法に関する。
【背景技術】
【0002】
車載制御装置に適用すべき更新プログラムのサイズに対して、車載更新装置の記憶部の空き容量が不十分である場合に、車載更新装置の記憶部に記憶されたデータを外部サーバや非更新対象の車載制御装置に待避させることにより、車載更新装置の記憶部の空き領域を増加させ、車載更新装置の記憶部に更新プログラムを記憶する技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、非更新対象の車載制御装置の中には、書き換え寿命等の観点からデータの退避先として適当でないものが含まれうる。
【0005】
本開示はこうした課題に鑑みてなされたものであり、1つの目的は、車載制御装置のプログラム更新に関する好適な制御を実現する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示のある態様の車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、更新プログラムが記憶される記憶部と、更新対象の車載制御装置への更新プログラムの送信を制御する制御部と、を備える。制御部は、外部サーバから更新プログラムを取得する場合であり、かつ、記憶部に記憶されている退避データを更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、制御部は、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、退避データの少なくとも一部を非更新対象の車載制御装置へ送信し、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たさない場合、第1の処理とは異なる第2の処理を実行する。
【0007】
本発明の別の態様は、車載更新システムである。この車載更新システムは、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新システムであって、更新プログラムが記憶される記憶部と、更新対象の車載制御装置への更新プログラムの送信を制御する制御部と、を備える。制御部は、外部サーバから更新プログラムを取得する場合であり、かつ、記憶部に記憶されている退避データを更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、制御部は、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、退避データの少なくとも一部を非更新対象の車載制御装置へ送信し、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たさない場合、第1の処理とは異なる第2の処理を実行する。
【0008】
本発明のさらに別の態様は、車載制御装置のプログラム更新に関する制御方法である。この方法は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行い、かつ、更新プログラムが記憶される記憶部を備える、車両に搭載されるコンピュータが、更新対象の車載制御装置への更新プログラムの送信を制御する処理を実行し、コンピュータは、制御する処理として、外部サーバから更新プログラムを取得する場合であり、かつ、記憶部に記憶されている退避データを更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、コンピュータは、制御する処理として、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、退避データの少なくとも一部を非更新対象の車載制御装置へ送信し、第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たさない場合、第1の処理とは異なる第2の処理を実行する。
【0009】
なお、以上の構成要素の任意の組合せ、本開示の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、車載更新装置を備える車両などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0010】
本開示の技術によれば、車載制御装置のプログラム更新に関する好適な制御を実現できる。
【図面の簡単な説明】
【0011】
【
図1】第1実施例の車載更新システムの構成を示すブロック図である。
【
図2】
図1のECUと車載更新装置の詳細な機能ブロックを示すブロック図である。
【
図3】車載更新装置の記憶部に記憶される複数種類のデータと、退避データの例を示す図である。
【
図4】第1実施例の車載更新装置の処理を示すフローチャートである。
【
図5】第1実施例の車載更新装置の処理を示すフローチャートである。
【
図6】
図5のS120の退避先ECU設定処理の詳細を示すフローチャートである。
【
図7】第2実施例の車載更新装置の処理を示すフローチャートである。
【
図8】第2実施例の車載更新装置の処理を示すフローチャートである。
【
図9】第2実施例の車載更新装置の処理を示すフローチャートである。
【
図10】第3実施例の車載更新装置の処理を示すフローチャートである。
【
図11】第3実施例の車載更新装置の処理を示すフローチャートである。
【
図12】第3実施例の車載更新装置の処理を示すフローチャートである。
【
図13】変形例の車載更新システムの構成を示すブロック図である。
【
図14】変形例の車載更新システムの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
本開示における装置または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路(Integrated Circuit)(IC)、またはLSI(Large Scale Integration)を含む1つまたは複数の電子回路で構成される。ここではICあるいはLSIと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)もしくはULSI(Ultra Large Scale Integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array)(FPGA)、またはLSI内部の接合関係の再構成またはLSI内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。また、プロセッサは、SoC(System on a Chip)、MPU(Micro Processor Unit)、MCU(Micro Controller Unit)の内少なくとも1つを含んでもよい。複数の電子回路は、1つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは1つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なROM(Read Only Memory)、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録されてもよいし、コンピュータが読み取り可能なRAM(Random Access Memory)などの一時的記憶媒体に記録されてもよい。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体もしくは記憶媒体に供給されてもよい。
【0013】
<第1実施例>
図1は、第1実施例の車載更新システム10の構成を示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0014】
車載更新システム10は、プログラム提供装置12と車両14を備える。プログラム提供装置12と車両14は、通信網16を介して接続される。通信網16は、第4世代移動通信システム(4G)、第5世代移動通信システム(5G)、インターネット等を含んでもよい。
【0015】
プログラム提供装置12は、車両14の車載制御装置で実行されるコンピュータプログラムを更新するためのコンピュータプログラム(以下「更新プログラム」と呼ぶ。)を車両14へ提供するサーバである。プログラム提供装置12は、OTA(Over The Air)サーバとも呼ばれる。車両14の車載制御装置は、第1実施例ではECU(Electronic Control Unit)とする。プログラム提供装置12は、各種データを記憶する記憶部18を備える。後述するように、記憶部18は、待避データの待避先となる。
【0016】
車両14は、車外通信装置20、複数のECU22、車載更新装置24、リムーバブル記憶装置26、表示装置28を備える。車両14内の各装置は、イーサネット(登録商標)、CAN(Controller Area Network)、MOST(Media Oriented Systems Transport)(登録商標)等、公知の車載ネットワークを介して接続される。
【0017】
車外通信装置20は、無線通信により、車両14の外部の装置と通信する。例えば、車外通信装置20は、プログラム提供装置12から送信されたデータを受信して、受信したデータを車載更新装置24に入力する。また、車外通信装置20は、車載更新装置24から出力されたデータをプログラム提供装置12へ送信する。
【0018】
複数のECU22は、車載制御装置とも言える。複数のECU22は、車両14の挙動を制御するECUを含み、また、各種情報を管理するECUを含む。例えば、複数のECU22は、エンジン制御用ECU、ブレーキ制御用ECU、ステアリング制御用ECU、自動運転コントローラ、IVI(In-Vehicle Infotainment)装置等を含んでもよい。複数のECU22のそれぞれは、プロセッサ(CPU等)を含み、予め記憶されたコンピュータプログラムをプロセッサが実行することにより、そのコンピュータプログラムが定める機能が発揮される。
【0019】
1つの更新プログラムの適用に関して、複数のECU22は、更新対象ECU22aと非更新対象ECU22bとに分類される。更新対象ECU22aは、更新プログラムにより既存のプログラムが更新されるべきECUであり、言い換えれば、更新プログラムの適用先となるECUである。非更新対象ECU22bは、更新プログラムの適用先でないECUである。
【0020】
車載更新装置24は、プログラム提供装置12から送信された更新プログラムを、車外通信装置20を介して取得し、その更新プログラムを用いてECU22のプログラムを更新するための処理を実行するコンピュータである。車載更新装置24は、ECUとして実装されてもよい。車載更新装置24は、OTA管理ECUとも言える。
【0021】
リムーバブル記憶装置26は、リムーバブルメディアとも呼ばれ、車両14の乗員により取り外しが可能な外部記録媒体である、リムーバブル記憶装置26は、例えば、USBフラッシュドライブであってもよい。表示装置28は、各種情報を表示する。表示装置28は、例えば、カーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置であってもよい。
【0022】
図2は、
図1のECU22と車載更新装置24の詳細な機能ブロックを示すブロック図である。
図2に示すECU22の構成は、複数のECU22に共通である。ECU22は、車内通信部30、制御部32、記憶部34を備える。車内通信部30は、車載ネットワークを介して車載更新装置24とデータを送受信する
【0023】
記憶部34は、制御部32により参照または更新されるデータを記憶する。記憶部34の少なくとも一部は、書き換え可能な不揮発メモリ(例えばEEPROMやフラッシュメモリ等)により構成される。そのため、記憶部34には、書き換え回数(書き込み回数とも言える)に上限があり、すなわち、書き換え寿命がある。
【0024】
記憶部34は、第1記憶領域36と第2記憶領域38を含む。第1記憶領域36と第2記憶領域38は、一方が、制御部32により実行されるコンピュータプログラムを保持する面(動作面)となり、他方が、更新プログラムが反映される面(非動作面)となる。非動作面のコンピュータプログラムが更新された場合、次回起動時には、動作面と非動作面が切り替えられる。これにより、制御部32は、更新後のコンピュータプログラムを実行し、更新された機能を発揮する。変形例として、ECU22は、記憶部34の別の保存領域に更新プログラムを書き込んでもよい。ECU22は、走行停止中(ECU22の非稼働中)に、更新プログラムを用いて記憶部34の起動面のプログラムを更新する内部処理を実行してもよい。また、ECU22は、更新プログラムを記憶部34の空き領域に書き込んでもよく、走行停止中(ECU22の非稼働中)に、次回稼働時に更新プログラムにて動作するように内部処理を実行してもよい。
【0025】
制御部32は、記憶部34に記憶されたコンピュータプログラムにしたがって、自装置の動作を制御し、また、制御対象の外部装置(アクチュエータ等)の動作を制御する。制御部32は、ECU22のプロセッサ(CPU等)により実現され、制御部32の機能は、ECU22のプロセッサが記憶部34(動作面)に記憶されたコンピュータプログラムを実行することにより発揮される。
【0026】
車載更新装置24は、車内通信部40、入出力IF42、制御部44、記憶部46を備える。車内通信部40は、車載ネットワークを介して複数のECU22とデータを送受信する。入出力IF42は、車外通信装置20、リムーバブル記憶装置26、表示装置28と接続するインタフェースである。入出力IF42は、接続する装置に応じた異なる規格のインタフェースを含んでよい。
【0027】
記憶部46は、車載更新装置24の動作を制御するコンピュータプログラム(以下「更新制御プログラム」とも呼ぶ。)を記憶する。また、記憶部46は、一時的に更新プログラムの少なくとも一部を記憶する。
【0028】
制御部44は、記憶部46に記憶された更新制御プログラムにしたがって、ECU22のコンピュータプログラムの更新に関する処理を実行し、言い換えれば、ECU22に対する更新プログラムの適用に関する処理を実行する。制御部44は、車載更新装置24のプロセッサ(CPU等)により実現され、制御部44の機能は、車載更新装置24のプロセッサが記憶部46に記憶された更新制御プログラムを実行することにより発揮される。
【0029】
制御部44は、更新対象ECU22aへの更新プログラムの送信を制御する。第1実施例の制御部44は、プログラム提供装置12から更新プログラムを取得する場合であり、かつ、記憶部46に記憶されている退避データを非更新対象ECU22bに退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択する。記憶部46に記憶されている退避データを非更新対象ECU22bに退避させるべき場合は、更新プログラムを記憶するための空き領域が記憶部46にない場合とも言える。第1の条件については後述する。
【0030】
制御部44は、第1の条件を満たす非更新対象ECU22bへの退避可能量が第2の条件を満たす場合、第1の処理として、記憶部46に記憶された退避データの少なくとも一部を非更新対象ECU22bへ送信する。一方、第1の条件を満たす非更新対象ECU22bへの退避可能量が第2の条件を満たさない場合、第1の処理とは異なる第2の処理を実行する。制御部44は、送信した退避データが記憶されていた記憶部46の領域に、プログラム提供装置12から取得した更新プログラムの少なくとも一部を記憶させる。
【0031】
上記の第2の条件は、第1の条件を満たす非更新対象ECU22bへの退避可能量が所定の閾値以上となることである。第1実施例での第2の条件は、第1の条件を満たす非更新対象ECU22bへの退避可能量が、更新プログラムを車載更新装置24の記憶部46に格納可能となる値以上になることである。具体的には、第2の条件は、第1の条件を満たす非更新対象ECU22bへの退避可能量と、車載更新装置24の記憶部46の空き領域との合計値が、更新プログラムのサイズ以上となることである。
【0032】
このように車載更新装置24は、更新プログラムの記憶領域を確保するために記憶部46に記憶された既存のデータを退避させる場合に、その退避先を適切に決定できる。また、非更新対象ECU22bを含めても退避可能量が十分でない場合には、退避データの少なくとも一部を非更新対象ECU22bへ送信する第1の処理とは異なる第2の処理を実行する。これにより、非更新対象ECU22bを含めても退避可能量が十分でない場合にも適切な対処を行うことができる。
【0033】
また、制御部44は、第2の処理として、更新プログラムの一部をリムーバブル記憶装置26に記憶させる。これにより、非更新対象ECU22bを含めても退避可能量が十分でない場合、車両14の乗員により接続されたリムーバブル記憶装置26を更新プログラムの格納先として活用することで、更新プログラムの適用可能性を高めることができる。
【0034】
図3は、車載更新装置24の記憶部46に記憶される複数種類のデータと、退避データの例を示す。(1)故障異常コードは、制御部44が複数のECU22のそれぞれから送信されたデータを受信して、そのデータに含まれる故障異常コードを抽出し、記憶部46に格納したものでもよい。また、故障異常コードは、制御部44が自装置の自己診断機能を発揮し、自己診断の結果に基づいて出力したものであってもよい。(2)セキュリティ情報は、車載更新装置24のセキュリティの状態を示す情報であってもよい。
【0035】
(3)フリーズフレームデータは、車両14における異常発生時に車載ネットワークを流れていた全データを記録したものであってもよい。例えば、フリーズフレームデータは、制御部44が故障異常コードを抽出した場合に、その時点で車載ネットワークを流れるデータ(CANメッセージやイーサネットフレーム等)を記録したものであってもよい。(4)更新処理のログデータは、制御部44がECU22(更新対象ECU22a)に更新プログラムを送信する際の進捗状況に関する情報を記録したものであってもよい。(5)通信のログデータは、制御部44により記録された、車載ネットワークを流れる通信のログデータであってもよい。
【0036】
退避データは、車載更新装置24の記憶部46から、車載更新装置24の外部装置の記憶部へ待避させることが可能なデータである。車載更新装置24の記憶部46からプログラム提供装置12の記憶部18への退避データは、(4)更新処理のログデータと(5)通信のログデータを含む。また、車載更新装置24の記憶部46から非更新対象ECU22bの記憶部34への退避データは、(3)フリーズフレームデータを含む。
【0037】
第1実施例では、車載更新装置24は、上記の第1の条件として、以下の選別条件1~4に示す4つの選別条件を使用する。車載更新装置24は、これら4つの選別条件を用いて、非更新対象ECU22bの中から、退避データの送信先となり得るECU(以下「待避先ECU」とも呼ぶ。)を選別し、また、1つ以上の退避先ECUの優先度を決定する。変形例として、車載更新装置24は、4つの選別条件のうち一部の選別条件を用いてもよいし、また、選別順序を変えてもよい。
【0038】
選別条件1:非更新対象ECU22bの記憶部34の書き換え回数(言い換えれば書き換え寿命)を考慮し、一定以上の余裕がある非更新対象ECU22bのみを退避先ECUとして選択する。言い換えれば、書き換え回数が予め定められた許容範囲を逸脱する非更新対象ECU22bを退避先ECUから除外する。なお、退避先ECUの中で書き換え回数の残りが多いものほど高い優先度を付与してもよい。
【0039】
選別条件2:発熱状態が予め定められた許容範囲を逸脱する非更新対象ECU22bを待避先ECUから除外する。
選別条件3:CPU使用率が予め定められた許容範囲を継続して逸脱する非更新対象ECU22bを退避先ECUから除外する。
選別条件4:退避先ECUの中で消費電力が小さいものほど高い優先度を付与する。これにより、車両全体としての消費電力量を低減できる。
【0040】
なお、車載更新装置24は、非更新対象ECU22bの中から退避先ECUを決定すべき場合に都度、非更新対象ECU22bから(1)書き換え可否(あるいは書き換え許容回数)、(2)発熱状態、(3)CPU使用率、(4)消費電力を取得してもよい。または、車載更新装置24は、非更新対象ECU22bからこれらの情報を一度取得すると、取得した情報を記憶部46に格納し、次回以降の待避先ECU決定時には、事前に記憶部46に記憶された情報を参照して待避先ECUを決定してもよい。また、システム構築時に、退避先ECUとして選択可能なECU22の情報、または、退避先ECUとして選択できないECU22の情報が予め定められて記憶部46に記憶されてもよい。
【0041】
車載更新装置24は、退避先ECUの空き領域(すなわち退避先ECUへのデータ退避量)を加味しても、更新プログラムの記憶領域を確保できない場合には、リムーバブル記憶装置の接続を車両14の乗員に要求する。そして、更新プログラムの一部のデータをリムーバブル記憶装置に格納する。
【0042】
なお、リムーバブル記憶装置に更新プログラムの全データを置くと、更新プログラムが改ざんされる等の危険がある。これを防止するため、リムーバブル記憶装置に格納するのは、更新プログラムの一部のデータとする。また、リムーバブル記憶装置に待避データ(フリーズフレームデータやログデータ等)を格納すると、リムーバブル記憶装置が取り外された場合に待避データのリストアができなくなるため、リムーバブル記憶装置には待避データを格納しない。
【0043】
以上の構成による車載更新装置24の動作を説明する。
図4は、第1実施例の車載更新装置24の処理を示すフローチャートである。車載更新装置24の制御部44は、プログラム提供装置12から送信された更新情報を取得する(S100)。更新情報は、更新対象のECU22の型番(言い換えれば更新対象ECU22aの識別情報)と、更新プログラムのサイズを含む。車載更新装置24の制御部44は、取得した更新情報に基づいて、更新プログラムのサイズ(言い換えればデータ容量)を導出する(S101)。
【0044】
制御部44は、更新プログラムのサイズと、ローカルの記憶部46の空き容量とを比較する。更新プログラムのサイズが記憶部46の空き容量以下であれば(S102のY)、制御部44は、更新プログラムの提供を要求するデータをプログラム提供装置12に送信し、プログラム提供装置12から送信された更新プログラムのデータを取得して記憶部46に格納する(S103)。
【0045】
制御部44は、記憶部46に記憶された更新プログラムを更新対象ECU22aへ送信して、更新対象ECU22aの制御部32に更新プログラムの適用を指示する(S104)。更新プログラムを取得(受信)した更新対象ECU22aの制御部32は、所定のタイミングで更新プログラムの適用処理を実行する。例えば、制御部32は、記憶部34の非動作面に記憶されたコンピュータプログラムを更新プログラムに基づいて更新する。次回の起動時、制御部32は、更新プログラムを適用したそれまでの非動作面を新たな動作面として、その新たな動作面に記憶された更新後のコンピュータプログラムに基づいて各種制御を実行する。
【0046】
更新プログラムのサイズが記憶部46の空き容量より大きければ(S102のN)、車載更新装置24の制御部44は、車載更新装置24からプログラム提供装置12に送信可能な退避データの最大容量(以下「最大退避容量」とも呼ぶ。)を特定する。最大退避容量は、プログラム提供装置12から提供された更新情報に含まれてもよく、制御部44は、更新情報の中からプログラム提供装置12への最大退避容量を抽出してもよい。または、制御部44は、プログラム提供装置12に問い合わせることによりプログラム提供装置12への最大退避容量を特定してもよい。
【0047】
制御部44は、ローカルの記憶部46の空き容量とプログラム提供装置12への最大退避容量との合計値(「合計空き容量」とも呼ぶ。)と、更新プログラムのサイズとを比較する。更新プログラムのサイズが合計空き容量以下であれば(S105のY)、制御部44は、記憶部46内の退避データ(例えば更新処理のログデータや通信のログデータを含む)をプログラム提供装置12へ送信し、プログラム提供装置12の記憶部18に記憶させる。退避データのサイズは、例えば、プログラム提供装置12への最大退避容量と同じサイズであってもよい。制御部44は、プログラム提供装置12に送信した退避データをローカルの記憶部46から削除する(S106)。
【0048】
制御部44は、プログラム提供装置12から送信された更新プログラムを取得して記憶部46に格納する(S107)。制御部44は、記憶部46に記憶された更新プログラムを更新対象ECU22aへ送信して、更新対象ECU22aの制御部32に更新プログラムの適用を指示する(S108)。制御部44は、記憶部46に記憶された更新プログラムを削除する(S109)。制御部44は、S106でプログラム提供装置12に送信した退避データをプログラム提供装置12から取得し、その退避データを記憶部46に再度格納する(S110)。
【0049】
更新プログラムのサイズが合計空き容量より大きければ(S105のN)、
図5に示す処理が実行される。
図5も、第1実施例の車載更新装置24の処理を示すフローチャートであり、
図4の続きを示すフローチャートである。
【0050】
車載更新装置24の制御部44は、非更新対象ECU22bの中から、退避データの送信先となり得る退避先ECUを選定する(S120)。
図6は、
図5のS120の退避先ECU設定処理の詳細を示すフローチャートである。制御部44は、
図4のS100で取得した更新情報に基づいて、複数のECU22の中から更新対象ECU22aを除外していき残ったECU22を非更新対象ECU22bとして特定する。制御部44は、特定した1つ以上の非更新対象ECU22bを退避先ECUの候補として示す候補リストを作成する(S130)。
【0051】
制御部44は、候補リストの中から判定対象となる1つの非更新対象ECU22bを判定対象ECUとして選択する(S131)。制御部44は、判定対象ECUに書き換え可否(あるいは書き換え許容回数(今後書き換えが許容される回数))を問い合わせるデータを送信し、判定対象ECUから送信された書き換え可否に関するデータを取得する。判定対象ECUの記憶部34が書き換え不可の場合(または記憶部34の書き換え許容回数が予め定められた許容値以下の場合)(S132のN)、制御部44は、判定対象ECUを候補リストから削除する(S133)。判定対象ECUの記憶部34が書き換え可の場合(または記憶部34の書き換え許容回数が許容値より大きい場合)(S132のY)、制御部44は、判定対象ECUを候補リストに残す。候補リストの中に未判定の非更新対象ECU22bがあれば(S134のY)、S131に戻り、候補リストの中の全ての非更新対象ECU22bを判定済であれば(S134のN)、S135に進む。
【0052】
変形例として、車載更新装置24の記憶部46は、複数のECU22それぞれの記憶部34の書き換え回数を記憶してもよい。車載更新装置24の制御部44は、各ECU22の記憶部34のデータを更新する都度、各ECU22の記憶部34の書き換え回数を増加させてもよい。また、記憶部46は、複数のECU22それぞれの記憶部34の書き換え回数の許容値を記憶してもよい。この許容値は、予め定められた、書き換えの上限回数以下の値であってもよい。制御部44は、記憶部46に記憶された、判定対象ECUの記憶部34の書き換え回数を特定してもよい。判定対象ECUの記憶部34の書き換え回数が予め定められた許容値より大きい場合(S132のN)、制御部44は、判定対象ECUを候補リストから削除してもよい(S133)。判定対象ECUの記憶部34の書き換え回数が許容値以下の場合(S132のY)、制御部44は、判定対象ECUを候補リストに残してもよい。
【0053】
制御部44は、候補リストの中から判定対象となる1つの非更新対象ECU22bを判定対象ECUとして選択する(S135)。制御部44は、判定対象ECUに発熱状態(例えばCPUの温度等)を問い合わせるデータを送信し、判定対象ECUから送信された発熱状態に関するデータを取得する。判定対象ECUの発熱状態が予め定められた許容値より高い場合(S136のN)、制御部44は、判定対象ECUを候補リストから削除する(S137)。判定対象ECUの発熱状態が許容値以下の場合(S136のY)、制御部44は、判定対象ECUを候補リストに残す。候補リストの中に未判定の非更新対象ECU22bがあれば(S138のY)、S135に戻り、候補リストの中の全ての非更新対象ECU22bを判定済であれば(S138のN)、S139に進む。
【0054】
制御部44は、候補リストの中から判定対象となる1つの非更新対象ECU22bを判定対象ECUとして選択する(S139)。制御部44は、判定対象ECUにCPU使用率を問い合わせるデータを送信し、判定対象ECUから送信されたCPU使用率に関するデータを取得する。判定対象ECUのCPU使用率が予め定められた許容値より高い場合(S140のN)、制御部44は、判定対象ECUを候補リストから削除する(S141)。判定対象ECUのCPU使用率が許容値以下の場合(S140のY)、制御部44は、判定対象ECUを候補リストに残す。候補リストの中に未判定の非更新対象ECU22bがあれば(S142のY)、S139に戻り、候補リストの中の全ての非更新対象ECU22bを判定済であれば(S142のN)、S143に進む。
【0055】
候補リストに非更新対象ECU22bが残っていれば(S143のY)、制御部44は、候補リストに残る非更新対象ECU22bを退避先ECUとして決定する。制御部44は、記憶部46に予め記憶された各退避先ECUの消費電力を特定する。制御部44は、複数の退避先ECUに対して、消費電力が少ない順に高い優先順位を付与する(S144)。候補リストに非更新対象ECU22bが残っていなければ(S143のN)、S144の処理をスキップする。
【0056】
図5に戻り、制御部44は、車載更新装置24から各退避先ECUに送信可能な退避データの最大容量(最大退避容量)を特定する。例えば、制御部44は、各退避先ECUに記憶部34の空き容量を問い合わせてもよく、各退避先ECUから送信された記憶部34の空き容量を各退避先ECUへの最大退避容量として特定してもよい。制御部44は、ローカルの記憶部46の空き容量と、プログラム提供装置12への最大退避容量と、各退避先ECUへの最大退避容量との合計値を合計空き容量として導出する。制御部44は、更新プログラムのサイズと合計空き容量とを比較する。
【0057】
更新プログラムのサイズが合計空き容量以下であれば(S121のY)、制御部44は、退避データ(例えば更新処理のログデータや通信のログデータを含む)をプログラム提供装置12へ送信し、プログラム提供装置12の記憶部18に記憶させる。また、制御部44は、退避データ(例えばフリーズフレームデータを含む)を各退避先ECUへ送信し、各退避先ECUの記憶部34に記憶させる。各退避先ECUへ送信する退避データのサイズは、各退避先ECUの最大退避容量と同じサイズであってもよい。制御部44は、プログラム提供装置12に送信した退避データをローカルの記憶部46から削除し、また、各退避先ECUに送信した退避データを記憶部46から削除する(S122)。
【0058】
なお、S121の判定において、制御部44は、合計空き容量を更新プログラムのサイズ以上にするには、優先順位が1位から何位までの退避先ECUへのデータ退避が必要であるかを導出してもよい。制御部44は、優先順位が1位の退避先ECUから、導出した順位までの退避先ECUに対して退避データを送信してもよい。例えば、合計空き容量を更新プログラムのサイズ以上にするために、優先順位が1位から3位までの退避先ECUへのデータ退避が必要である場合、制御部44は、優先順位が1位の退避先ECUから優先順位が3位の退避先ECUまで退避データを送信する。
【0059】
S122の終了後、
図4のS107に戻る。この場合、S110では、プログラム提供装置12に送信した退避データをプログラム提供装置12から取得してローカルの記憶部46に再度格納する。また、退避先ECUに送信した退避データを退避先ECUから取得してローカルの記憶部46に再度格納する。
【0060】
更新プログラムのサイズが、全ての退避先ECUへの最大退避容量を含む合計空き容量より大きければ(S121のN)、制御部44は、リムーバブル記憶装置26を接続するように指示するコンテンツ(画像等)を表示装置28へ送信して表示させる(S123)。なお、リムーバブル記憶装置26を接続するように指示する音声を不図示のスピーカから出力させてもよい。制御部44は、リムーバブル記憶装置26が車載更新装置24に接続されたことを検出すると、リムーバブル記憶装置26の空き容量を取得する。
【0061】
リムーバブル記憶装置26の空き容量が所定の閾値以上であれば(S124のY)、S122に進む。この閾値は、例えば、更新プログラムのサイズであってもよく、開発者の知見や車載更新システム10を用いた実験の結果に基づいて適切な値が定められてよい。制御部44は、記憶部46の空き容量と、リムーバブル記憶装置26の空き容量の合計が更新プログラムのサイズ以上であるか否かを判断する。
【0062】
記憶部46の空き容量と、リムーバブル記憶装置26の空き容量の合計が更新プログラムのサイズ未満であれば、制御部44は、S122の処理を実行する。すなわち、制御部44は、退避データをプログラム提供装置12へ送信し、プログラム提供装置12の記憶部18に記憶させる。制御部44は、プログラム提供装置12に送信した退避データをローカルの記憶部46から削除する。また、制御部44は、退避データを各退避先ECUへ送信し、各退避先ECUの記憶部34に記憶させる。制御部44は、各退避先ECUに送信した退避データを記憶部46から削除する。一方、記憶部46の空き容量と、リムーバブル記憶装置26の空き容量の合計が更新プログラムのサイズ以上であれば、制御部44は、S122の処理をスキップする。この場合、退避データを退避させなくても、記憶部46の空き領域とリムーバブル記憶装置26の空き領域に更新プログラムのデータを分散して保存できるからである。
【0063】
以降、
図4のS107に戻る。S107では、制御部44は、更新プログラムのデータのうち空き容量の観点からローカルの記憶部46に格納可能なデータを記憶部46に格納する。制御部44は、記憶部46に格納できない更新プログラムの一部のデータをリムーバブル記憶装置26へ送信して記憶させる。S108では、制御部44は、ローカルの記憶部46に記憶された更新プログラムのデータを更新対象ECU22aへ送信するとともに、リムーバブル記憶装置26に記憶された更新プログラムのデータを更新対象ECU22aへ送信する。先にS122の処理を実行した場合、すなわち、退避データを退避させた場合には、S110の処理を実行する。すなわち、制御部44は、プログラム提供装置12に送信した退避データをプログラム提供装置12から取得し、また、退避先ECUに送信した退避データを退避先ECUから取得し、それらの退避データを記憶部46に再度格納する。先にS122の処理を実行していなければ、S110の処理をスキップする。
【0064】
図5に戻り、リムーバブル記憶装置26が車載更新装置24に接続されず、または、リムーバブル記憶装置26の空き容量が所定の閾値未満であれば(S124のN)、本図の処理を終了し、すなわち、ECU22に対する更新プログラムの適用に関する処理を停止する。更新プログラムを一時的に保存するための記憶領域が確保できないからである。
【0065】
<第2実施例>
本開示の第2実施例について、第1実施例と相違する点を中心に説明し、共通する点の説明を省略する。第2実施例の特徴は、第1実施例の特徴および変形例の特徴と任意の組合せが可能であることはもちろんである。第2実施例の構成要素のうち第1実施例の構成要素と同一または対応する構成要素には適宜、同一の符号を付して説明する。
【0066】
第2実施例の車載更新システム10における各装置の構成は第1実施例(
図1、
図2)と同様である。第2実施例の車載更新装置24の制御部44は、車両14の走行における危険度が高い場合、更新対象ECU22aのコンピュータプログラムを更新するための処理(以下では「更新対象ECU22aの更新処理」とも呼ぶ。)を停止する。停止は、一時的な停止(言い換えれば中断)であってもよく、永続的な停止(言い換えれば中止)であってもよい。
【0067】
具体的には、車両14には、乗員の生体情報(心拍、呼吸等)を計測する不図示の生体情報センサが配置されてもよい。車載更新装置24の制御部44は、事故後の乗員の生命安全確保の観点で、生体情報センサにより計測された乗員の生体情報に基づいて危険度を導出し、その危険度に応じて、更新対象ECU22aの更新可否を決定してもよい。例えば、制御部44は、乗員の状態が軽傷であれば、相対的に低い危険度を導出して、更新対象ECU22aの更新処理を続行させてもよい。その一方、制御部44は、乗員の状態が重篤であれば、相対的に高い危険度を導出して、更新対象ECU22aの更新処理を停止させてもよい。
【0068】
制御部44は、乗員の操作に応じて、もしくは自動的に緊急通報が実行される場合、そのことを検知して、相対的に高い危険度を導出してもよい。また、制御部44は、危険度が高いことを示す乗員の操作(例えばSOSボタンの押下等)が入力された場合、そのことを検知して、相対的に高い危険度を導出してもよい。また、制御部44は、車両14の故障状態または事故状態に応じて危険度を判定してもよい。例えば、制御部44は、複数のECU22の故障の有無と程度に基づいて危険度を判断してもよい。また、制御部44は、エアバッグの作動有無に基づいて危険度を判断してもよい。
【0069】
また、制御部44は、不図示のカメラによる撮像データや車両14の走行状態を管理するECU22から取得したデータに基づいて、車両14の走行において事故リスクが高いイベントが発生したことを検出してもよい。このイベントは、例えば、歩行者の飛び出しや、車両14における急ブレーキの作動を含む。制御部44は、事故を防止する観点から、歩行者の飛び出しや急ブレーキ等、事故リスクが高いイベントを検出した場合に、更新対象ECU22aの更新処理を停止させてもよい。一方、車両間距離が近い等、リスクが低いイベント検出時には、制御部44は、更新対象ECU22aの更新処理を続行させてもよい。なお、制御部44は、車両14の危険度を、ルールベースで導出してもよく、深層学習やニューラルネットワークを用いて導出してもよい。
【0070】
第2実施例の車載更新装置24によると、車両14の走行における危険度が高い場合、ECU22のプログラム更新に関する処理を停止することで、車載機器(例えばECU22、車載更新装置24等)および車載ネットワークの負荷の増大を回避し、車両14の安全性を向上させることができる。
【0071】
図7は、第2実施例の車載更新装置24の処理を示すフローチャートである。ここでは、車両14の走行における危険度が高い状態として、所定の事故状態(事故が発生した状況および事故リスクが高い状況を含む)である場合に、更新対象ECU22aのプログラムの更新処理を停止する。
図7のS201、S202、S203、S204、S208は、
図4のS100、S101、S102、S103、S104に対応する。
【0072】
更新処理の開始前から所定の事故状態であれば(S200のY)、車載更新装置24の制御部44は、本図の処理を終了し、すなわち、更新プログラムの取得、適用処理を開始しない。所定の事故状態でなければ(S200のN)、制御部44は、プログラム提供装置12から更新情報を取得し(S201)、更新プログラムのサイズを導出する(S202)。更新プログラムのサイズが記憶部46の空き容量以下であれば(S203のY)、制御部44は、プログラム提供装置12から更新プログラムを取得して記憶部46に格納する(S204)。
【0073】
このとき所定の事故状態であることを検出すると(S205のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S206)。すなわち、制御部44は、更新プログラムの取得を停止し、または、更新プログラムを更新対象ECU22aへ送信することを停止する。所定の事故状態でなく(S205のN)、かつ、更新プログラムの取得中であれば(S207のY)、S204に戻る。更新プログラムの取得が完了した場合(S207のN)、制御部44は、更新プログラムを更新対象ECU22aへ送信して、更新対象ECU22aの制御部32に更新プログラムの適用を指示する(S208)。
【0074】
このとき所定の事故状態であることを検出すると(S209のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S206)。すなわち、制御部44は、更新プログラムを更新対象ECU22aへ送信することを停止し、または、更新プログラムの適用処理を停止するよう更新対象ECU22aの制御部32に指示する。なお、更新プログラムが反映されるのは更新対象ECU22aの記憶部34の非動作面であるため、更新プログラムの反映が途中で停止しても更新対象ECU22aの動作に不具合は生じない。所定の事故状態でなく(S209のN)、かつ、更新プログラムの送信中であれば(S210のY)、S208に戻る。更新プログラムの送信が完了した場合(S210のN)、本図の処理を終了する
【0075】
更新プログラムのサイズが記憶部46の空き容量より大きければ(S203のN)、
図8に示す処理が実行される。
図8も、第2実施例の車載更新装置24の処理を示すフローチャートであり、
図7の続きを示すフローチャートである。
図8のS220、S221、S225、S228、S231、S232は、
図4のS105、S106、S107、S108、S109、S110に対応する。
【0076】
更新プログラムのサイズが、記憶部46とプログラム提供装置12の合計空き容量以下であれば(S220のY)、制御部44は、記憶部46内の退避データをプログラム提供装置12へ送信し、送信した退避データを記憶部46から削除する(S221)。
【0077】
このとき所定の事故状態であることを検出すると(S222のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S223)。すなわち、制御部44は、退避データをプログラム提供装置12へ送信することを停止する。所定の事故状態でなく(S222のN)、かつ、退避データの送信中であれば(S224のY)、S221に戻る。退避データの送信が完了した場合(S224のN)、制御部44は、プログラム提供装置12から更新プログラムを取得して記憶部46に格納する(S225)。
【0078】
このとき所定の事故状態であることを検出すると(S226のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S223)。すなわち、制御部44は、更新プログラムの取得を停止し、または、更新プログラムを更新対象ECU22aへ送信することを停止する。所定の事故状態でなく(S226のN)、かつ、更新プログラムの取得中であれば(S227のY)、S225に戻る。更新プログラムの取得が完了した場合(S227のN)、制御部44は、更新プログラムを更新対象ECU22aへ送信して、更新対象ECU22aの制御部32に更新プログラムの適用を指示する(S228)。
【0079】
このとき所定の事故状態であることを検出すると(S229のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S223)。すなわち、制御部44は、更新プログラムを更新対象ECU22aへ送信することを停止し、または、更新プログラムの適用処理を停止するよう更新対象ECU22aの制御部32に指示する。所定の事故状態でなく(S229のN)、かつ、更新プログラムの送信中であれば(S230のY)、S228に戻る。更新プログラムの送信が完了した場合(S230のN)、制御部44は、記憶部46に記憶された更新プログラムを削除する(S231)。制御部44は、S221でプログラム提供装置12に送信した退避データをプログラム提供装置12から取得し、その退避データを記憶部46に再度格納する(S232)。
【0080】
更新プログラムのサイズが合計空き容量より大きければ(S220のN)、
図9に示す処理が実行される。
図9も、第2実施例の車載更新装置24の処理を示すフローチャートであり、
図8の続きを示すフローチャートである。
図9のS240、S241、S242、S246、S247は、説明済の
図5のS120、S121、S122、S123、S124と同じであるため説明を省略する。なお、S240の退避先ECU選定処理の詳細は、第1実施例の
図6に示した処理となる。
【0081】
S242において、外部装置へ退避データを送信中に所定の事故状態であることを検出すると(S243のY)、制御部44は、更新対象ECU22aの更新処理を停止する(S244)。すなわち、制御部44は、プログラム提供装置12および退避先ECUへ退避データを送信することを停止する。所定の事故状態でなく(S243のN)、かつ、退避データの送信中であれば(S245のY)、S242に戻る。退避データの送信が完了した場合(S245のN)、
図8のS225に戻る。
【0082】
<第3実施例>
本開示の第3実施例について、第1実施例と相違する点を中心に説明し、共通する点の説明を省略する。第3実施例の特徴は、他の実施例の特徴および変形例の特徴と任意の組合せが可能であることはもちろんである。第3実施例の構成要素のうち第1実施例の構成要素と同一または対応する構成要素には適宜、同一の符号を付して説明する。
【0083】
第3実施例の車両14は、電気自動車(EV)である。車載更新装置24の制御部44は、車両14のバッテリー状態を管理するECU22から、車両14のバッテリー残量のデータを定期的に取得する。制御部44は、車両14の電池残量が所定の閾値未満である場合、更新対象のECU22のコンピュータプログラムを更新するための処理を停止する。この閾値は、満充電に対する比率であってもよく、開発者の知見や車載更新システム10を用いた実験の結果に基づいて適切な値が定められてよい。
【0084】
第3実施例の車載更新装置24によると、車両14のバッテリー残量が少ない場合、ECU22のプログラム更新に関する処理を停止することで、車載機器(例えばECU22、車載更新装置24等)の電力消費を抑制し、車両14の安全性を向上させることができる。また、車両14の状態として、一定程度の距離を走行可能な状態を維持させやすくなる。
【0085】
図10は、第3実施例の車載更新装置24の処理を示すフローチャートである。
図10のS300~S310は、第2実施例で説明した
図7のS200~S210に対応する。ただし、S305およびS309において、車載更新装置24の制御部44は、車両14のバッテリー残量が所定の閾値未満か否かを判定する点で、第2実施例(
図7)の処理と異なる。
図10の他のステップの処理は、第2実施例(
図7)の処理と同じである。
【0086】
図11も、第3実施例の車載更新装置24の動作を示すフローチャートであり、
図10の続きを示すフローチャートである。
図11のS320~S332は、第2実施例で説明した
図8のS220~S232に対応する。ただし、S322、S326およびS329において、車載更新装置24の制御部44は、車両14のバッテリー残量が所定の閾値未満か否かを判定する点で、第2実施例(
図8)の処理と異なる。
図11の他のステップの処理は、第2実施例(
図8)の処理と同じである。
【0087】
図12も、第3実施例の車載更新装置24の動作を示すフローチャートであり、
図11の続きを示すフローチャートである。
図12のS340~S345は、第2実施例で説明した
図9のS240~S245に対応する。ただし、S343において、車載更新装置24の制御部44は、車両14のバッテリー残量が所定の閾値未満か否かを判定する点で、第2実施例(
図9)の処理と異なる。
図12の他のステップの処理は、第2実施例(
図9)の処理と同じである。
【0088】
第3実施例の変形例として、車両14は、警報手段(例えばサイレンや警光灯など)を備える緊急車両(緊急自動車とも呼ばれる)であってもよい。車両14が緊急対応状態である場合、車載更新装置24の制御部44は、車両14の状態を管理するECU22から、車両14が緊急対応状態であることを示すデータを取得する。緊急対応状態は、警報手段が作動中の状態でもよい。例えば、緊急対応状態は、サイレンを作動させた状態と、警光灯を点灯または点滅させた状態を含んでもよい。
【0089】
制御部44は、車両14が緊急対応状態である場合(例えば警報手段が作動中である場合)に、更新対象のECU22のコンピュータプログラムを更新するための処理を停止してもよい。この態様によると、ECU22のプログラム更新が緊急車両の緊急対応を阻害してしまうことを防止でき、例えば、緊急対応の通信等を優先的に実行させることができる。
【0090】
第3実施例のさらなる変形例として、車両14は、警報手段を備える緊急車両であり、かつ電気自動車であってもよい。車載更新装置24の制御部44は、車両14のバッテリー残量が所定の閾値未満の場合、または、車両14が緊急対応状態である場合に、更新対象のECU22のコンピュータプログラムを更新するための処理を停止してもよい。
【0091】
以上、本開示を第1~第3実施例をもとに説明した。これらの実施例は例示であり、実施例の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0092】
変形例を説明する。
図13は、変形例の車載更新システム10の構成を示すブロック図である。車両14は、ストレージ管理ECU50と車載共通ストレージ52をさらに備えてもよい。ストレージ管理ECU50は、ストレージの管理機能とインタフェース機能を提供するECUである。ストレージ管理ECU50には、車載共通ストレージ52とリムーバブル記憶装置26が接続される。車載共通ストレージ52は、複数の車載機器(ECU22や車載更新装置24等)が共用するストレージである。車載更新装置24は、車載ネットワーク等のバスを介して車載共通ストレージ52と接続される。車載更新装置24の制御部44は、ストレージ管理ECU50を介して、車載共通ストレージ52とリムーバブル記憶装置26にアクセスする。
【0093】
本変形例では、車載更新装置24の制御部44は、更新プログラムを含む各種データを車載共通ストレージ52に格納する。実施例では、制御部44は、ローカルの記憶部46の空き領域に基づいて更新プログラムの取得と送信の態様を決定したが、本変形例では、制御部44は、車載共通ストレージ52の空き領域に基づいて更新プログラムの取得と送信の態様を決定する。車載共通ストレージ52の空き領域は、車載共通ストレージ52で車載更新装置24に割り当てられた記憶領域における空き領域であってもよい。
【0094】
なお、車載共通ストレージ52が設けられる場合、車載更新装置24は、装置内の記憶部46と、車載共通ストレージ52の両方を記憶領域として使用可能であってもよい。この場合、車載更新装置24の制御部44は、記憶部46の空き領域と車載共通ストレージ52の空き領域の両方に基づいて、更新プログラムの取得と送信の態様を決定してもよい。例えば、制御部44は、記憶部46の空き容量が更新プログラムのサイズ以上であれば、更新プログラムの記憶領域として記憶部46のみを使用してもよい。また、制御部44は、記憶部46の空き容量が更新プログラムのサイズ未満であるが、車載共通ストレージ52の空き容量が更新プログラムのサイズ以上であれば、更新プログラムを記憶部46と車載共通ストレージ52に分散して保存してもよく、または、更新プログラムを車載共通ストレージ52のみに保存してもよい。さらにまた、制御部44は、記憶部46の空き容量が更新プログラムのサイズ未満であるが、記憶部46の空き容量と車載共通ストレージ52の空き容量の合計が更新プログラムのサイズ以上であれば、更新プログラムを記憶部46と車載共通ストレージ52に分散して保存してもよい。
【0095】
別の変形例を説明する。
図14は、変形例の車載更新システム10の構成を示すブロック図である。車両14は、車載共通ストレージ52と表示系ECU54をさらに備えてもよい。表示系ECU54は、表示装置28における表示内容を制御するECUであり、例えばIVIに関する処理を実行するECUである。表示系ECU54には、リムーバブル記憶装置26が接続される。車載更新装置24は、車載ネットワーク等のバスを介して、車載共通ストレージ52および表示系ECU54と接続され、また、表示系ECU54を介してリムーバブル記憶装置26と接続される。
【0096】
本変形例でも、車載更新装置24の制御部44は、更新プログラムを含む各種データを車載共通ストレージ52に格納する。また、本変形例でも、制御部44は、車載共通ストレージ52の空き領域に基づいて更新プログラムの取得と送信の態様を決定する。なお、車載共通ストレージ52は、車載更新装置24に直接接続される構成であってもよい。
【0097】
さらに別の変形例を説明する。上記実施例では言及していないが、車載更新装置24の制御部44は、非更新対象ECU22bを更新プログラムの一時保存先として選択してもよい。例えば、制御部44は、プログラム提供装置12から提供された、更新プログラムの少なくとも一部を非更新対象ECU22bに送信して保存させてもよく、分割した更新プログラムのそれぞれを非更新対象ECU22bおよびリムーバブル記憶装置26に送信して保存させてもよい。なお、更新プログラムを分割した場合、CRC(Cyclic Redundancy Check)等を用いて、分割された更新プログラムが正しいデータであることを確認し、正しいデータであることが確認された場合に、分割された更新プログラムのそれぞれを更新対象ECU22aへ送信してもよい。
【0098】
上記の各実施例において車載更新装置24が備えた複数の機能は、複数の装置に分散して実装されてもよい。そして、これら複数の装置がシステムとして連携することにより、各実施例の車載更新装置24の処理と同様の処理が実現されてもよい。
【0099】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【0100】
実施例および変形例に記載の技術は、以下の各項目に記載の態様によって特定されてもよい。
[項目1]
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムが記憶される記憶部と、
更新対象の車載制御装置への前記更新プログラムの送信を制御する制御部と、
を備え、
前記制御部は、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記制御部は、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載更新装置。
この車載更新装置によると、更新プログラムの記憶領域を確保するために既存のデータを退避させる場合に、その退避先を適切に決定できる。また、非更新対象の車載制御装置を含めても退避可能量が十分でない場合には、退避データの少なくとも一部を非更新対象の車載制御装置へ送信する第1の処理とは異なる第2の処理を実行することにより、非更新対象の車載制御装置を含めても退避可能量が十分でない場合にも適切な対処を行うことができる。
[項目2]
前記制御部は、前記第2の処理として、前記更新プログラムの一部をリムーバブル記憶装置に記憶させる、
項目1に記載の車載更新装置。
この車載更新装置によると、非更新対象の車載制御装置を含めても退避可能量が十分でない場合には、リムーバブル記憶装置を更新プログラムの格納先として活用することで、更新プログラムの適用可能性を高めることができる。
[項目3]
前記制御部は、前記車両の走行における危険度が高い場合、前記更新対象の車載制御装置のプログラムを更新するための処理を停止する、
項目1または2に記載の車載更新装置。
この車載更新装置によると、車両の走行における危険度が高い場合には、車載制御装置のプログラム更新に関する処理を停止することで、車載機器の負荷の増大を回避し、車両の安全性を向上させることができる。
[項目4]
前記車両は、電気自動車であり、
前記制御部は、前記車両のバッテリー残量が所定の閾値未満である場合、前記更新対象の車載制御装置のプログラムを更新するための処理を停止する、
項目1から3のいずれかに記載の車載更新装置。
この車載更新装置によると、車両のバッテリー残量が少ない場合には、車載制御装置のプログラム更新に関する処理を停止することで、車載機器の電力消費を抑制し、車両の安全性を向上させることができる。また、車両の状態として、一定程度の距離を走行可能な状態を維持させやすくなる。
[項目5]
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新システムであって、
前記更新プログラムが記憶される記憶部と、
更新対象の車載制御装置への前記更新プログラムの送信を制御する制御部と、
を備え、
前記制御部は、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記制御部は、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載更新システム。
この車載更新システムによると、更新データの記憶領域を確保するために既存データを退避させる場合に、その退避先を適切に決定できる。また、非更新対象の車載制御装置を含めても退避可能量が十分でない場合には、退避データの少なくとも一部を非更新対象の車載制御装置へ送信する第1の処理とは異なる第2の処理を実行することにより、非更新対象の車載制御装置を含めても退避可能量が十分でない場合にも適切な対処を行うことができる。
[項目6]
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行い、かつ、前記更新プログラムが記憶される記憶部を備える、前記車両に搭載されるコンピュータが、更新対象の車載制御装置への前記更新プログラムの送信を制御する処理を実行し、
前記コンピュータは、前記制御する処理として、前記外部サーバから前記更新プログラムを取得する場合であり、かつ、前記記憶部に記憶されている退避データを前記更新対象の車載制御装置以外の非更新対象の車載制御装置に退避させるべき場合に、第1の条件を満たす非更新対象の車載制御装置を選択し、
前記コンピュータは、前記制御する処理として、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が第2の条件を満たす場合、第1の処理として、前記退避データの少なくとも一部を前記非更新対象の車載制御装置へ送信し、前記第1の条件を満たす非更新対象の車載制御装置への退避可能量が前記第2の条件を満たさない場合、前記第1の処理とは異なる第2の処理を実行する、
車載制御装置のプログラム更新に関する制御方法。
この制御方法によると、更新データの記憶領域を確保するために既存データを退避させる場合に、その退避先を適切に決定できる。また、非更新対象の車載制御装置を含めても退避可能量が十分でない場合には、退避データの少なくとも一部を非更新対象の車載制御装置へ送信する第1の処理とは異なる第2の処理を実行することにより、非更新対象の車載制御装置を含めても退避可能量が十分でない場合にも適切な対処を行うことができる。
【符号の説明】
【0101】
10 車載更新システム、 12 プログラム提供装置、 14 車両、 18 記憶部、 22 ECU、 22a 更新対象ECU、 22b 非更新対象ECU、 24 車載更新装置、 26 リムーバブル記憶装置、 44 制御部、 46 記憶部。