【課題】いずれかの車載ECUにソフトウェアを追加するにあたり、それぞれにて定められる電源仕様に応じて当該ソフトウェアを追加する処理を行うことができる統合ECU等を提供する。
【解決手段】統合ECUは、車両に搭載される統合ECUであって、前記車両外から送信された追加プログラムを、前記車両に搭載される複数の車載ECUのうち少なくとも1つに追加する処理を行う制御部を備え、前記制御部は、前記追加プログラムを実行するにあたり要求される電源仕様に基づき、前記追加プログラムを追加する車載ECUを決定し、決定した前記車載ECUに、前記追加プログラムを出力する。
前記制御部は、前記複数の車載ECUにおいて、複数の前記第2車載ECUが存在する場合、複数の前記第2車載ECUそれぞれの記憶部に記憶されているプログラムの個数に応じて、いずれかの第2車載ECUを、前記追加プログラムを追加する車載ECUとして決定する
請求項2に記載の統合ECU。
【発明を実施するための形態】
【0009】
[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る統合ECUは、車両に搭載される統合ECUであって、前記車両外から送信された追加プログラムを、前記車両に搭載される複数の車載ECUのうち少なくとも1つに追加する処理を行う制御部を備え、前記制御部は、前記追加プログラムを実行するにあたり要求される電源仕様に基づき、前記追加プログラムを追加する車載ECUを決定し、決定した前記車載ECUに、前記追加プログラムを出力する。
【0011】
本態様にあたっては、統合ECUの制御部は、車両外から送信された追加プログラムを、車両に搭載される複数の車載ECU(個別ECU)の内の少なくとも1つである、いずれかの車載ECUに出力し、当該車載ECUに追加プログラムを追加(適用)するにあたり、追加プログラムを実行するにあたり要求される電源仕様に基づき、当該いずれかの車載ECUを決定する。従って、いずれかの車載ECUにソフトウェアを追加するにあたり、それぞれにて定められる電源仕様に応じて当該ソフトウェアを追加する処理を行うことができる。
【0012】
(2)本開示の一態様に係る統合ECUは、前記制御部は、前記複数の車載ECUの内、前記追加プログラムを実行するにあたり要求される電源仕様と一致する第1車載ECUがある場合、前記第1車載ECUを、前記追加プログラムを追加する車載ECUとして決定し、前記追加プログラムを実行するにあたり要求される電源仕様と一致する前記第1車載ECUがない場合、前記電源仕様にて定められるスリープ期間よりも短いスリープ期間の第2車載ECUを、前記追加プログラムを追加する車載ECUとして決定する。
【0013】
本態様にあたっては、統合ECUの制御部は、追加プログラムを実行するにあたり要求される電源仕様に基づき、いずれかの車載ECUを決定する。追加プログラムを実行するにあたり要求される電源仕様と一致する第1車載ECUがある場合、統合ECUの制御部は、当該第1車載ECUを、追加プログラムを追加する車載ECUとして決定する。追加プログラムを実行するにあたり要求される電源仕様と一致する第1車載ECUがない場合、すなわち当該第1車載ECUに相当する車載ECUがない場合、統合ECUの制御部は、電源仕様にて定められるスリープ期間よりも短いスリープ期間の第2車載ECUを、追加プログラムを追加する車載ECUとして決定する。従って、追加プログラムを追加するにあたり候補となる車載ECUを増やすことができ、追加プログラムを追加するにあたっての自由度又は許容性を向上させることができる。
【0014】
(3)本開示の一態様に係る統合ECUは、前記制御部は、前記複数の車載ECUにおいて、複数の前記第2車載ECUが存在する場合、複数の前記第2車載ECUそれぞれの記憶部に記憶されているプログラムの個数に応じて、いずれかの第2車載ECUを、前記追加プログラムを追加する車載ECUとして決定する。
【0015】
本態様にあたっては、統合ECUの制御部は、第1車載ECUが存在せず、かつ複数の第2車載ECUが存在する場合、当該複数の第2車載ECUの記憶部に記憶されているプログラムの個数に応じて、いずれかの第2車載ECUを、追加プログラムを追加する車載ECUとして決定する。記憶部に記憶されているプログラムの個数に応じて第2車載ECUの処理負荷が決定されるところ、統合ECUの制御部は、例えば、プログラムの個数が最も少ない第2車載ECUを、追加プログラムを追加する車載ECUとして決定することにより、これら複数の第2車載ECUにおける負荷バランスの平準化を図ることができる。
【0016】
(4)本開示の一態様に係る統合ECUは、前記制御部は、前記追加プログラムのスリープ仕様に基づき、前記追加プログラムを実行するにあたり要求される電源仕様を決定する。
【0017】
本態様にあたっては、統合ECUの制御部は、追加プログラムのスリープ仕様に基づき、追加プログラムを実行するにあたり要求される電源仕様を決定するため、追加プログラムと、追加対象となる車載ECUとのマッチングを適切に行うことができる。
【0018】
(5)本開示の一態様に係る統合ECUは、前記複数の車載ECUそれぞれの電源仕様及びプログラムに関する情報が記憶される記憶部を備え、前記電源仕様に関する情報は、スリープ期間に関する情報を含み、前記制御部は、前記記憶部に記憶される前記情報を参照して、前記追加プログラムを追加する車載ECUを決定する。
【0019】
本態様にあたっては、統合ECUは記憶部を備え、当該記憶部には、複数の車載ECUそれぞれのスリープ期間に関する情報を含む電源仕様と、複数の車載ECUそれぞれに適用されているプログラム(車載ECUの記憶部に記憶されているプログラム)に関する情報が記憶されている。従って、統合ECUは、記憶部を参照することにより、追加プログラムを追加する車載ECUを特定するための情報を効率的に取得することができる。統合ECUの記憶部は、当該統合ECUの筐体内に収納される記憶部に限定されず、統合ECUが有線通信又は無線通信によりアクセス可能な外部記憶装置に含まれるものであってもよい。
【0020】
(6)本開示の一態様に係るプログラムは、コンピュータに、車両外から送信された追加プログラムを取得し、前記追加プログラムを実行するにあたり要求される電源仕様に基づき、前記追加プログラムを追加する車載ECUを決定し、決定した前記車載ECUに、前記追加プログラムを出力する処理を実行させる。
【0021】
本態様にあたっては、コンピュータを、統合ECUとして機能させることができる。
【0022】
(7)本開示の一態様に係る追加プログラムの出力方法は、コンピュータに、車両外から送信された追加プログラムを取得し、前記追加プログラムを実行するにあたり要求される電源仕様に基づき、前記追加プログラムを追加する車載ECUを決定し、決定した前記車載ECUに、前記追加プログラムを出力する処理を実行させる。
【0023】
本態様にあたっては、コンピュータを、統合ECUとして機能させる情報処理方法を提供することができる。
【0024】
(8)本開示の一態様に係る車載システムは、車両に搭載される複数の車載ECUと、統合ECUとを備える車載システムであって、前記統合ECUは、前記車両外から送信された追加プログラムを、前記複数の車載ECUのうち少なくとも1つに追加する処理を行う制御部を備え、前記制御部は、前記追加プログラムを実行するにあたり要求される電源仕様に基づき、前記追加プログラムを追加する車載ECUを決定し、決定した前記車載ECUに、前記追加プログラムを出力する。
【0025】
本態様にあたっては、いずれかの車載ECUにソフトウェアを追加するにあたり、それぞれにて定められる電源仕様に応じて当該ソフトウェアを追加する処理を行うことができる統合ECUを含む車載システムを提供することができる。
【0026】
(9)本開示の一態様に係る車載システムは、前記複数の車載ECUは、第1車載ECUと、前記第1車載ECUのスリープ期間よりも短いスリープ期間の第2車載ECUを含み、前記第2車載ECUの個数は、前記第1車載ECUの個数よりも多い。
【0027】
本態様にあたっては、第2車載ECUのスリープ期間は、第1車載ECUのスリープ期間よりも短いため、第1車載ECUに追加することができる追加プログラムは、第2車載ECUにも追加することができる。その上で、車載システムに含まれる複数の車載ECUにおいて、第2車載ECUの個数は、第1車載ECUの個数よりも多くなるように第1車載ECU及び第2車載ECUを車両に搭載してあるため、追加プログラムを追加する対象となる車載ECUの候補数を増加させ、追加プログラムを追加するにあたっての自由度又は許容性を向上させることができる。
【0028】
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る統合ECU6を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0029】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。
図1は、実施形態1に係る車載システムS(統合ECU6、個別ECU2)のシステム構成を例示する模式図である。
図2は、統合ECU6等の内部構成を例示するブロック図である。車載システムSは、車両Cに搭載される統合ECU6、複数の個別ECU2及び、当該個別ECU2に直接、接続される車載装置3を含む。
【0030】
個別ECU2は、車両Cにおける各エリアに配置され、当該個別ECU2に車載ネットワーク4を介して接続される複数の車載装置3間の通信又は、車載装置3と統合ECU6との通信を中継するゲートウェイ又はイーサスイッチ等の車載中継装置として機能する中継制御ECUである。個別ECU2は、通信に関する中継に加え、蓄電装置5から出力された電力を分配及び中継し、自ECUに接続される車載装置3に供給する電力分配装置としても機能するPLB(Power Lan Box)であってもよい
【0031】
統合ECU6は、個別ECU2を介して中継された車載装置3からのデータに基づき、個々の車載装置3への制御信号を生成及び出力するものであり、例えばヴィークルコンピュータ等の中央制御装置である。統合ECU6は、車両Cの外部に位置する外部サーバ100と、車外通信装置1を介して通信可能に接続されており、外部サーバ100から取得したプログラムを、いずれかの個別ECU2に出力し、当該プログラム(追加プログラム)を個別ECU2に追加するための処理に関する制御を行う追加プログラム制御装置に相当する。
【0032】
車載装置3は、例えばLiDAR(Light Detection and Ranging)、ライトセンサ、CMOSカメラ、赤外線センサ等の各種センサ31及び、ドアSW(スイッチ)、ランプSW等のスイッチ、ランプ、ドア開閉装置、モータ装置等のアクチュエータ30を含む。
【0033】
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部を備える。統合ECU6は、車外通信装置1と通信可能に接続され、車外通信装置1を介して車外ネットワークを介して接続された外部サーバ100と通信し、外部サーバ100と、車両Cに搭載される個別ECU2又は車載装置3との間の通信を中継するものであってもよい。
【0034】
車外通信装置1は、車外通信部(図示せず)及び、統合ECU6と通信するための入出力I/F(図示せず)を含む。車外通信部は、4G、LTE(Long Term Evolution/登録商標)、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバ100とデータの送受信を行う。車外通信装置1と外部サーバ100との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。入出力I/Fは、統合ECU6と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と統合ECU6とは、入出力I/F及び入出力I/Fに接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、統合ECU6と別装置とし、入出力I/F等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、統合ECU6の一構成部位として、統合ECU6に内蔵されるものであってもよい。
【0035】
統合ECU6は、制御部60、記憶部61、入出力I/F62及び車内通信部63を含む。制御部60は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部61に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部60は、CPU等のソフトウェア処理を行うソフトウェア処理部のみに限定されず、FPGA、ASIC又はSOC等のハードウェア処理にて種々の制御処理及び演算処理等を行うハードウェア処理部を含むものであってもよい。
【0036】
記憶部61は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータが予め記憶してある。記憶部61に記憶された制御プログラムは、統合ECU6が読み取り可能な記録媒体から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部61に記憶させたものであってもよい。統合ECU6の記憶部61には、個別ECU2の電源仕様に関する情報が、例えばテーブル形式(個別ECU管理テーブル)にて、記憶されている。個別ECU2の電源仕様に関する情報(個別ECU管理テーブル)については、後述する。
【0037】
入出力I/F62は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F62及びシリアルケーブル等のワイヤーハーネスを介して、統合ECU6は、車外通信装置1と通信可能に接続される。
【0038】
車内通信部63は、例えばCAN(Control Area Network)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイスであり、制御部60は、車内通信部63を介して車載ネットワーク4に接続されている個別ECU2と相互に通信する。
【0039】
個別ECU2は、統合ECU6と同様に、制御部20、記憶部21、入出力I/F22及び車内通信部23を含み、車載ECUに相当する。個別ECU2の制御部20、記憶部21、入出力I/F22及び車内通信部23は、統合ECU6と同一の構成によるものであってもよい。
【0040】
個別ECU2の入出力I/F22には、アクチュエータ30又はセンサ31等の車載装置3が、例えばシリアルケーブル等のワイヤーハーネス(じか線)により、直接、接続されている。
【0041】
個別ECU2は、自ECUの記憶部21に記憶されているプログラムを実行することにより、自ECUに接続されているセンサ31等の車載装置3から出力された信号を取得し、当該信号に基づき生成したデータを統合ECU6に出力する。また、個別ECU2は、統合ECU6から出力されたデータを取得し、当該データに基づき生成した信号を、自ECUに接続されているアクチュエータ30等の車載装置3に出力し、当該車載装置3の駆動制御を行う。個別ECU2の制御部20によって実行されるプログラムは、上述のとおり統合ECU6により、追加される。
【0042】
このように構成された統合ECU6と、複数の個別ECU2とは、例えば
図1に示すとおり、スター状のネットワークトポロジーにて通信可能に接続されている。更に、隣接する個々の個別ECU2同士が接続され、ループ状のネットワークトポロジーを構成し、双方向通信を可能として冗長化を図るものであってもよい。
【0043】
統合ECU6及び、複数の個別ECU2は、鉛バッテリ等の蓄電装置5と電力線にて接続されており、当該蓄電装置5から電力が供給される。複数の個別ECU2は、電源仕様の異なる複数種類による個別ECU2を含む。
【0044】
個別ECU2の電源仕様は、例えば、IG電源に基づく電源仕様(イグニッション電源仕様)、ACC電源に基づく電源仕様(アクセサリー電源仕様)、又はBAT電源(+B電源)に基づく電源仕様(常時電源仕様)を含む。BAT電源(+B電源)の電源仕様(常時電源仕様)の個別ECU2には、蓄電装置5から常時、電力が供給(定格出力電圧が印加)される。ACC電源の電源仕様(アクセサリー電源仕様)の個別ECU2には、アクセサリー電源がオンとなった状態において、蓄電装置5から電力が供給される。IG電源の電源仕様(イグニッション電源仕様)の個別ECU2には、イグニッションスイッチがオンとなった状態において、蓄電装置5から電力が供給される。
【0045】
これら種々の電源仕様による個別ECU2に蓄電装置5から電力が供給される期間は、車両Cの起動状態及び停止状態を含む所定の期間において、BAT電源(+B電源)の電源仕様の個別ECU2が最も長く、IG電源の電源仕様の個別ECU2が最も短いものとなる。すなわち、これら3種の電源仕様の個別ECU2において、当該所定の期間における蓄電装置5から電力が供給される期間は、「BAT電源仕様の個別ECU2」>「ACC電源仕様の個別ECU2」>「IG電源仕様の個別ECU2」の関係となる。
【0046】
複数の個別ECU2の記憶部21に記憶され、個別ECU2の制御部20により実行されるプログラムは、個々の個別ECU2の電源仕様に依拠して、当該プログラムの実行環境が決定される。すなわち、個別ECU2の制御部20により実行されるプログラムについても、当該プログラムの実行環境に基づく電源仕様が定められており、当該プログラムの電源仕様は、個別ECU2と同様に、BAT電源(+B電源)の電源仕様、ACC電源の電源仕様、及びIG電源の電源仕様を含む。
【0047】
個別ECU2にて実行されるプログラムは、自プログラムの電源仕様と同じ電源仕様の個別ECU2にて、動作するように構成されている。更に、個別ECU2にて実行されるプログラムは、自プログラムの電源仕様よりも、上述のように蓄電装置5から電力が供給される期間が長い電源仕様の個別ECU2においても、動作するように構成されている。従って、例えば、IG電源仕様のプログラムは、IG電源仕様の個別ECU2のみならず、ACC電源仕様の個別ECU2及びBAT電源仕様の個別ECU2においても、動作する。例えば、ACC電源仕様の個別ECU2は、ACC電源仕様の個別ECU2のみならず、BAT電源仕様の個別ECU2においても、動作する。BAT電源仕様の個別ECU2は、BAT電源仕様の個別ECU2においてのみ動作する。すなわち、これら異なる電源仕様の個別ECU2においては、プログラムの実装態様は共通化した上で、動作環境における電源仕様の上位互換性が担保されているものであってもよい。
【0048】
これら電源仕様に基づき、個別ECU2のスリープ時間は、決定されるものであってもよい。電源仕様に基づき決定される、所定の期間における蓄電装置5から電力が供給される期間が長くなるつれ、個別ECU2のスリープ時間は、短くなるものであってもよい。すなわち、これら3種の電源仕様の個別ECU2において、これら個別ECU2のスリープ時間は、「BAT電源仕様の個別ECU2」<「ACC電源仕様の個別ECU2」<「IG電源仕様の個別ECU2」の関係となるものであってもよい。
【0049】
プログラムの電源仕様は、当該プログラムを実行するにあたり決定されるスリープ期間を含むスリープ仕様に基づき、決定されるものであってもよい。すなわち、プログラムのスリープ仕様に含まれるスリープ期間と、同一のスリープ期間となる個別ECU2を、当該プログラムの電源仕様に一致する個別ECU2とするものであってもよい。
【0050】
本実施形態においては図示にて例示するとおり、所定の期間における蓄電装置5から電力が供給される期間が最も長い個別ECU2(BAT電源仕様の個別ECU2)は、他の個別ECU2(ACC電源仕様の個別ECU2、IG電源仕様の個別ECU2)よりも多く、車両Cに搭載されている。すなわち、最もスリープ期間が短い個別ECU2(BAT電源仕様の個別ECU2)は、他の個別ECU2(ACC電源仕様の個別ECU2、IG電源仕様の個別ECU2)よりも多く、車両Cに搭載されている。
【0051】
このように車載システムSに含まれる複数の個別ECU2において、BAT電源仕様の個別ECU2の個数は、他の個別ECU2の個数よりも多くなるように車両Cに搭載してある。従って、追加プログラムを追加する対象となる個別ECU2の候補数を増加させ、追加プログラムを追加するにあたっての自由度又は許容性を向上させることができる。
【0052】
図3は、個別ECU管理テーブルを例示する説明図である。統合ECU6の制御部60には、個別ECU2の電源仕様に関する情報が、例えばテーブル形式(個別ECU管理テーブル)にて記憶されている。当該個別ECU管理テーブルは、例えば、個別ECU2の製造番号(シリアル番号)、電源仕様、スリープ期間、MACアドレス、IPアドレス、プログラム個数及び適用されているプログラムを含み、個々の個別ECU2において重複しないように設定された連番等によるECU−IDに関連付けられて管理される。
【0053】
製造番号(シリアル番号)は、個別ECU2の製造時に付与される番号であり、生産拠点等を示すロット番号及び製造時の連番等により構成され、当該ECUを一意に特定することができるユニークな番号である。
【0054】
電源仕様は、それぞれの個別ECU2の動作条件に基づき決定される電源仕様であり、例えば、IG電源に基づく電源仕様(イグニッション電源仕様)、ACC電源に基づく電源仕様(アクセサリー電源仕様)、又はBAT電源(+B電源)に基づく電源仕様(常時電源仕様)を含む。
【0055】
スリープ期間は、それぞれの個別ECU2の動作条件に基づき決定されるスリープ期間であり、個別ECU2において周期的に設定されるスリープ期間、又は、例えば統合ECU6からのスリープ要求信号に基づきスリープ状態に遷移した場合の期間(スリープ期間)である。個別ECU2は、当該スリープ期間においてスリープ状態となった場合、自ECUにおける電力消費量を減少させ、暗電流を低減させる。それぞれの個別ECU2における電源仕様と、スリープ期間とは、相関を有するものであってもよい。上述のとおり、電源仕様に基づき決定される、所定の期間における蓄電装置5から電力が供給される期間が長くなるつれ、個別ECU2のスリープ時間は、短くなるものであってもよい。
【0056】
MACアドレスは、車内通信部63がイーサネットに対応した通信ポートである場合、データリング層に対応するアドレスである。IPアドレスは、車内通信部63がイーサネットに対応した通信ポートである場合、TCP/IPを用いた通信を行う際のネットワーク層に対応するアドレスである。
【0057】
プログラム個数は、それぞれの個別ECU2の記憶部21に記憶されているプログラムの個数に関する情報を示す。当該プログラム個数に基づき、それぞれの個別ECU2において想定される処理負荷が導出されるものであってもよい。適用されているプログラムは、それぞれの個別ECU2の記憶部21に記憶されているプログラムの名称に関する情報を示す。
【0058】
統合ECU6は、個別ECU管理テーブルを参照することにより、それぞれの個別ECU2の電源仕様、スリープ期間及びプログラムの個数等を効率的に把握することができる。従って、統合ECU6は、外部サーバ100等から取得したプログラムであって、個別ECU2に追加するプログラム(追加プログラム)の電源仕様又はスリープ期間に適合する個別ECU2の特定(マッチング)を効率的に行うことができる。
【0059】
統合ECU6は、追加プログラムの電源仕様又はスリープ仕様(スリープ期間)に適合し、追加プログラムの追加対象となる候補の個別ECU2が複数、存在する場合、これら候補の個別ECU2の記憶部21に記憶されているプログラムの個数に基づき、個別ECU2それぞれの処理負荷を導出する。そして、統合ECU6は、例えば、プログラムの個数が少ない個別ECU2を追加プログラムの追加する個別ECU2として特定することにより、これら複数の個別ECU2における処理負荷の平準化を図るものであってもよい。
【0060】
当該個別ECU管理テーブルには、統合ECU6と、これら個別ECU2とが通信するための中継経路情報(ルーティングテーブル)を含むものであってもよい。統合ECU6は、当該中継経路情報を参照することにより、追加プログラムの出力先である個別ECU2が接続される車内通信部63と確定し、当該車内通信部63を介して、追加プログラムの出力先である個別ECU2と通信するものであってもよい。
【0061】
図4は、統合ECU6の制御部60の処理を例示するフローチャートである。統合ECU6の制御部60は、例えば車両Cが起動状態(イグニッションスイッチがオン)又は停止状態(イグニッションスイッチがオフ)において、定常的に以下の処理を行う。
【0062】
統合ECU6の制御部60は、プログラムの追加要求があるか否かを判定する(S101)。プログラムの追加要求がない場合(S101:NO)、統合ECU6の制御部60は、再度S101の処理を実行すべく、ループ処理を行う。すなわち、統合ECU6の制御部60は、車外通信装置1を介して外部サーバ100から出力されるプログラムの追加要求を待ち受ける待ち受け処理を行う。統合ECU6の制御部60は、定期的に外部サーバ100にアクセスし、プログラムの追加要求の有無を確認するものであってもよい。
【0063】
プログラムの追加要求がある場合(S101:YES)、統合ECU6の制御部60は、外部サーバ100からプログラム(追加プログラム)を取得する(S102)。
【0064】
統合ECU6の制御部60は、取得した追加プログラムの電源仕様を取得する(S103)。統合ECU6の制御部60は、取得した追加プログラムのヘッダー情報、ファイル名、当該追加プログラムと共に外部サーバ100から取得した付随情報等に基づき、当該追加プログラムの電源仕様又はスリープ仕様(スリープ期間)に関する情報を取得するものであってもよい。電源仕様は、例えば、IG電源に基づく電源仕様(イグニッション電源仕様)、ACC電源に基づく電源仕様(アクセサリー電源仕様)、又はBAT電源(+B電源)に基づく電源仕様(常時電源仕様)を含むものであり、統合ECU6の制御部60は、取得した追加プログラムの電源仕様が、いずれの電源仕様であるかを取得する。
【0065】
統合ECU6の制御部60は、追加プログラムの電源仕様に一致する個別ECU2を特定する(S104)。統合ECU6の制御部60は、例えば、統合ECU6の記憶部61に記憶されている個別ECU管理テーブルを参照し、取得した追加プログラムの電源仕様と一致する個別ECU2を、第1個別ECUとして特定する。例えば、追加プログラムの電源仕様がIG電源である場合、統合ECU6の制御部60は、電源仕様がIG電源の個別ECU2を、第1個別ECUとして特定する。又は、追加プログラムのスリープ仕様(スリープ期間)と同一のスリープ期間である個別ECU2を、第1個別ECUとして特定するものであってもよい。
【0066】
統合ECU6の制御部60は、特定した個別ECU2(第1個別ECU)に、追加プログラムの追加が可能であるか否かを判定する(S105)。統合ECU6の制御部60は、特定した第1個別ECUに現時点にて適用されているプログラムの個数を確認し、当該個数に応じて、特定した個別ECU2(第1個別ECU)に、今回追加する追加プログラムを適用(インストール)した場合、想定される当該個別ECU2(第1個別ECU)の処理負荷に基づき、追加プログラムの追加が可能であるか否かを判定するものであってもよい。又は、統合ECU6の制御部60は、今回追加する追加プログラムを適用(インストール)した場合、車両Cの制御上、要求される処理速度又は能力を担保できるか否かに基づき、追加プログラムの追加が可能であるか否かを判定するものであってもよい。又は、統合ECU6の制御部60は、特定した第1個別ECUの記憶部21における空き領域を取得し、当該空き領域に基づき、追加プログラムの追加が可能であるか否かを判定するものであってもよい。追加プログラムの電源仕様に一致する個別ECU2(第1個別ECU)が、複数、存在する場合、統合ECU6の制御部60は、記憶部21に記憶されているプログラムの個数が最も少ない個別ECU2(第1個別ECU)を、追加プログラムを追加する個別ECU2(第1個別ECU)として特定するものであってもよい。
【0067】
個別ECU2(第1個別ECU)に追加プログラムの追加が可能である場合(S105:YES)、統合ECU6の制御部60は、追加プログラムを特定した個別ECU2(第1個別ECU)に出力する(S106)。統合ECU6の制御部60は、追加プログラムを特定した個別ECU2(第1個別ECU)、すなわち追加プログラムの電源仕様と同一の電源仕様を有する個別ECU2(第1個別ECU)に、当該追加プログラムを出力(送信)する。当該個別ECU2(第1個別ECU)は、統合ECU6から出力(送信)された追加プログラムを取得(受信)し、取得した追加プログラムを自ECUの記憶部21に記憶することにより、追加(適用)する。個別ECU2(第1個別ECU)は、追加プログラムの追加(適用)が完了した後、例えば完了通知を統合ECU6に送信するものであってもよい。統合ECU6は、個別ECU2(第1個別ECU)から完了通知を受信した場合、自ECUの記憶部61に記憶されている個別ECU管理テーブルにおいて、当該個別ECU2(第1個別ECU)に適用されているプログラムの個数等を変更するものであってもよい。
【0068】
個別ECU2(第1個別ECU)に追加プログラムの追加が不可である場合(S105:NO)、第1個別ECUよりもスリープ期間が短い個別ECU2(第2個別ECU)を特定する(S107)。統合ECU6の制御部60は、例えば、統合ECU6の記憶部61に記憶されている個別ECU管理テーブルを参照し、第1個別ECUよりもスリープ期間が短い個別ECU2(第2個別ECU)、すなわち追加プログラムの電源仕様と同じ個別ECU2のスリープ期間よりも、短いスリープ期間の個別ECU2(第2個別ECU)を特定する。
【0069】
統合ECU6の制御部60は、追加プログラムを特定した個別ECU2(第2個別ECU)に出力する(S108)。統合ECU6の制御部60は、追加プログラムを特定した個別ECU2(第2個別ECU)に、すなわち追加プログラムの電源仕様と同一の電源仕様を有する個別ECU2(第1個別ECU)よりも、スリープ期間が短い個別ECU2(第2個別ECU)に、当該追加プログラムを出力(送信)する。当該個別ECU2(第2個別ECU)は、統合ECU6から出力(送信)された追加プログラムを取得(受信)し、取得した追加プログラムを自ECUの記憶部21に記憶することにより、追加(適用)する。個別ECU2(第2個別ECU)は、追加プログラムの追加(適用)が完了した後、例えば完了通知を統合ECU6に送信するものであってもよい。統合ECU6は、個別ECU2(第2個別ECU)から完了通知を受信した場合、自ECUの記憶部61に記憶されている個別ECU管理テーブルにおいて、当該個別ECU2(第2個別ECU)に適用されているプログラムの個数等を変更するものであってもよい。
【0070】
本実施形態によれば、統合ECU6の制御部60は、車両C外から送信された追加プログラムを、車両Cに搭載される複数の個別ECU2の内、いずれかの個別ECU2に出力し、当該個別ECU2に追加プログラムを追加(適用)するにあたり、追加プログラムを実行するにあたり要求される電源仕様に基づき、当該いずれかの個別ECU2を決定する。従って、いずれかの個別ECU2にソフトウェアを追加するにあたり、それぞれにて定められる電源仕様に応じて当該ソフトウェアを追加する処理を行うことができる。
【0071】
本実施形態によれば、追加プログラムを実行するにあたり要求される電源仕様と一致する個別ECU2がある場合、統合ECU6の制御部60は、当該個別ECU2を、追加プログラムを追加する個別ECU2として決定する。追加プログラムを実行するにあたり要求される電源仕様と一致する個別ECU2がない場合、統合ECU6の制御部60は、追加プログラムの電源仕様にて定められるスリープ期間よりも短いスリープ期間の個別ECU2を、追加プログラムを追加する個別ECU2として決定する。従って、追加プログラムを追加するにあたり候補となる個別ECU2を増やすことができ、個別ECU2を追加するにあたっての自由度又は許容性を向上させることができる。
【0072】
(実施形態2)
図5は、実施形態2(プログラム個数)に係る統合ECU6の制御部60の処理を例示するフローチャートである。統合ECU6の制御部60は、実施形態1の処理S101からS107と同様に、S201からS207までの処理を行う。
【0073】
統合ECU6の制御部60は、特定した個別ECU2(第2個別ECU)は複数あるか否かを判定する(S208)。特定した個別ECU2(第2個別ECU)が複数でない場合(S208:NO)、すなわち特定した個別ECU2(第2個別ECU)が一つである場合、統合ECU6の制御部60は、実施形態1のS108と同様にS210の処理を行う。
【0074】
特定した個別ECU2(第2個別ECU)が複数ある場合(S208:YES)、統合ECU6の制御部60は、それぞれの記憶部21に記憶されているプログラムの個数が最も少ない個別ECU2(第2個別ECU)を特定する(S209)。特定した個別ECU2(第2個別ECU)が複数ある場合、統合ECU6の制御部60は、自ECUの記憶部61に記憶されている個別ECU管理テーブルを参照し、特定した第2個別ECUそれぞれの記憶部21に記憶されているプログラムの個数を取得し、最も個数が少ない第2個別ECUを、追加プログラムを追加する個別ECU2(第2個別ECU)として特定する。統合ECU6の制御部60は、実施形態1の処理S108と同様に、追加プログラムを特定した個別ECU2(第2個別ECU)に出力する(S210)。
【0075】
本実施形態によれば、統合ECU6の制御部60は、追加プログラムの電源仕様に一致する個別ECU2が存在せず、かつ当該電源仕様に一致する個別ECU2よりもスリープ期間が短い個別ECU2が複数存在する場合、当該個別ECU2の記憶部21に記憶されているプログラムの個数に応じて、いずれかの個別ECU2を、追加プログラムを追加する個別ECU2として決定する。記憶部21に記憶されているプログラムの個数に応じて個別ECU2の処理負荷が決定されるところ、統合ECU6の制御部60は、例えば、プログラムの個数が最も少ない個別ECU2を、追加プログラムを追加する個別ECU2として決定することにより、これら複数の個別ECU2における処理負荷の平準化を図ることができる。
【0076】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。