しかしながら、上記前者の従来の技術によれば、ROMを交換することなく、CPUの制御ソフトウェアの更新を行うことはできるが、ユーザはソフトウェアの更新が必要な場合とそうでない場合の区別をつけることができないといった問題があった。また、車両に搭載する車両制御装置等は、ソフトウェアを更新するタイミングによっては車両の走行等に影響を及ぼす可能性が生ずるといった問題があった。
また、上記後者の従来の技術によれば、イグニッションスイッチかオンされ且つ車両のエンジンが停止している状態で電子制御装置のプログラムの書換を行っているため、車両のエンジンが停止していても電子制御装置に電源が供給されている状態で電子制御装置のプログラムの書換が行われる。このため、電子制御装置が動作可能な状態で電子制御装置のプログラムの書換が行われることとなり、プログラムを書き換えるタイミングによっては車両に搭載する電子制御装置の動作に影響を及ぼす可能性が生ずるといった問題があった。
例えば、車両が搭載するエアバッグはエンジンが停止していてもイグニッションスイッチがオンの状態では被制御部(エアバッグを展開させる点火部)及びこれを制御する制御部に電源が供給されている状態であり、このように点火部が動作可能な状態で車両が受ける衝撃度を監視しており、この監視動作中にプログラムを書換ることは、エアバッグの動作に影響を及ぼす可能性がありエアバッグの制御上好ましくない。
本発明は、上記に鑑みてなされたものであって、車両に搭載する制御装置や電子機器のソフトウェアを更新する際に、車両の走行や車両に搭載する制御装置等に影響を及ぼさないタイミングでソフトウェアを更新するため、イグニッションスイッチの状態に基づいてソフトウェアを更新するか否かを判断することができるソフトウェア更新装置およびソフトウェア更新方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、請求項1の発明に係るソフトウェア更新装置は、車両(図2に示す車両3に対応する)が備える被制御部(図2に示す駆動部32、電子機器34に対応する)の作動制御を行う制御装置(図2に示す運転支援用ECU50、電子機器制御ECU80に対応する)のソフトウェア(図2に示す運転支援用ソフトウェア51、電子機器制御ソフトウェア81に対応する)を更新させるソフトウェア更新装置(図2に示すソフトウェア更新装置1に対応する)であって、前記車両は、前記被制御部および前記制御装置に電源供給を行うか否かを操作する電源操作部(図2に示すIG30に対応する)を備え、被制御部の種類ごとに異なるソフトウェアの種類を判別する種類判別部(図2に示すソフトウェア判別部14に対応する)と、電源操作部が、種類判別部によって判別されたソフトウェアの種類に応じて異なる被制御部であって当該種類のソフトウェアに対応する制御装置が作動制御を行う被制御部への電源供給を停止して、当該被制御部の状態が動作できない状態となった場合に、制御装置のソフトウェアを更新させる更新制御部(図2に示す制御部12に対応する)を備えることを特徴とする。
この請求項1の発明によれば、被制御部の種類ごとに異なるソフトウェアの種類を判別し、電源操作部が被制御部への電源供給を停止して、被制御部の状態が、動作できない状態となった場合に、制御装置のソフトウェアを更新させる更新制御部を備えるので、被制御部の動作に影響を及ぼすことなく最適なタイミングでソフトウェアを制御装置に更新できる。
また、請求項2の発明に係るソフトウェア更新装置は、請求項1の発明において、前記ソフトウェアを外部からダウンロードする受信部と該受信部のソフトウェアを一時的に格納する格納部をさらに備えたことを特徴とする。
この請求項2の発明によれば、ソフトウェアを外部からダウンロードする受信部とソフトウェアを一時的に格納する格納部をさらに備えたので、ソフトウェアの更新時期に関わらずソフトウェアを外部からダウンロードして格納しておくことができる。
また、請求項3の発明に係るソフトウェア更新装置は、請求項2の発明において、前記被制御部は、電子機器と、車両の所定部位を駆動する駆動部とからなり、前記電源操作部は、前記電子機器および前記駆動部が動作可能なオンの状態、前記電子機器は動作可能であって前記駆動部は動作不可能であるアクセサリの状態および前記電子機器および前記駆動部が動作不可能なオフの状態のいずれか1つに操作可能なイグニッションスイッチであることを特徴とする。
この請求項3の発明によれば、電源操作部が、オンの状態、アクセサリの状態、オフの状態のいずれか1つに操作可能なイグニッションスイッチであるため、イグニッションスイッチの状態に応じて被制御部の動作状況を判断することができ、被制御部の動作に影響を及ぼすことなくソフトウェアを制御装置に更新できる。
また、請求項4の発明に係るソフトウェア更新装置は、請求項3の発明において、前記更新制御部は、前記イグニッションスイッチをオフの状態にした場合であっても、前記格納部のソフトウェアを前記制御装置に更新中は前記格納部および前記制御装置への電源供給を維持し、かつ前記格納部のソフトウェアを前記制御装置に更新した後に前記格納部および前記制御装置への電源供給を終了するよう電源供給を制御することを特徴とする。
この請求項4の発明によれば、更新制御部は、イグニッションスイッチをオフの状態にした場合であっても、ソフトウェアを前記制御装置に更新中は格納部および制御装置への電源供給を維持し、更新後に電源供給を終了するよう電源供給を制御するので、ソフトウェアの更新が途中で中止されることがなく、格納部および制御装置での消費電力が小さくなる。
また、請求項5の発明に係るソフトウェア更新装置は、請求項4の発明において、前記制御装置は、複数からなり、前記更新制御部は、前記制御装置毎に電源供給を制御することを特徴とする。
この請求項5の発明によれば、更新制御部は、制御装置毎に電源供給を制御するので、制御装置毎に格納部および制御装置での消費電力を小さくすることができる。
また、請求項6の発明に係るソフトウェア更新装置は、請求項3〜5の発明において、前記更新制御部は、イグニッションスイッチがオフの状態の場合に前記被制御部が動作できない状態であれば、イグニッションスイッチがオフの状態の場合に前記制御装置のソフトウェアを前記格納部のソフトウェアによって更新し、イグニッションスイッチがオフの状態の場合またはアクセサリの状態の場合に前記被制御部が動作できない状態であれば、イグニッションスイッチがオフの状態またはアクセサリの状態の場合に前記制御装置のソフトウェアを前記格納部のソフトウェアによって更新することを特徴とする。
この請求項6の発明によれば、更新制御部は、被制御部が動作できないイグニッションスイッチがオフの状態またはイグニッションスイッチがオフの状態の場合またはアクセサリの状態の場合に制御装置のソフトウェアを更新するので、被制御部の動作状況をイグニッションスイッチの状態に基づいて判断することができ、被制御部が動作できない場合にソフトウェアを制御装置に更新できる。
また、請求項7の発明に係るソフトウェア更新装置は、請求項3〜6の発明において、前記更新制御部は、前記制御部に前記格納部のソフトウェアを更新している際に、前記イグニッションスイッチをオンの状態にしようとした場合は、更新を中止するかまたはイグニッションスイッチをオンの状態にすることを中止することを特徴とする。
この請求項7の発明によれば、更新制御部は、ソフトウェアの更新中に、イグニッションスイッチをオンの状態にしようとした場合は、更新を中止するかまたはイグニッションスイッチをオンの状態にするので、イグニッションスイッチがオンの状態である場合に、ソフトウェアが制御装置にインストールされることがなくなる。
また、請求項8の発明に係るソフトウェア更新装置は、請求項7の発明において、更新の中止またはイグニッションスイッチをオンの状態にすることの中止は、前記車両の使用者によって選択されることを特徴とする。
この請求項8の発明によれば、車両の使用者が更新の中止またはイグニッションスイッチをオンの状態にすることを選択するので、車両の使用者がイグニッションスイッチをオンにしたい場合には、車両の使用者に都合のいいタイミングで、更新の中止またはイグニッションスイッチをオンの状態にすることを選択できる。
また、請求項9の発明に係るソフトウェア更新装置は、請求項3〜8の発明において、前記受信部は、前記イグニッションスイッチがオフの状態でない場合に外部から前記ソフトウェアをダウンロードし、前記格納部は、前記イグニッションスイッチがオフの状態でない場合に前記受信部からのソフトウェアを一時的に格納することを特徴とする。
この請求項9の発明によれば、イグニッションスイッチがオフの状態でない場合にソフトウェアをダウンロードし、一時的に格納するので、受信部や格納部に電源が供給されている場合は常時ダウンロード可能となる。
請求項10の発明にかかるソフトウェア更新方法は、車両が備える被制御部の作動制御を行う制御装置のソフトウェアを更新させるソフトウェア更新方法であって、前記被制御部を動作可能な状態にするか否かを決めるイグニッションスイッチが前記被制御部の動作可能なオンの状態であるか否かを判断する判断ステップと、被制御部の種類ごとに異なるソフトウェアの種類を判別する種類判別ステップと、イグニッションスイッチが、種類判別ステップによって判別されたソフトウェアの種類に応じて異なる被制御部であって当該種類のソフトウェアに対応する制御装置が作動制御を行う被制御部への電源供給を停止して、当該被制御部の状態が動作できない状態となった場合に、制御装置のソフトウェアを更新させる更新ステップと、を含むことを特徴とする。
この請求項10の発明によれば、イグニッションスイッチが、被制御部の動作可能なオンの状態であるか否かを判断し、被制御部の種類ごとに異なるソフトウェアの種類を判別し、イグニッションスイッチがオンの状態でない場合に、かつ、判別したソフトウェアの種類に対応する制御装置が作動制御を行う被制御部が動作できない状態である場合に、ソフトウェアを制御装置に更新するので、イグニッションスイッチの状態を判断するだけで、被制御手段の動作に影響を及ぼすことなく最適なタイミングでソフトウェアを制御装置に更新できる。
また、請求項11の発明に係るソフトウェア更新方法は、請求項10の発明において、ダウンロードして一時的に格納した前記ソフトウェアを前記制御装置に更新している際に、前記イグニッションスイッチをオンの状態にしようとした場合は、更新を中止するかまたはイグニッションスイッチをオンの状態にすることを中止すること選択する選択ステップ、をさらに含むことを特徴とする。
この請求項11の発明によれば、車両の使用者によって更新の中止またはイグニッションスイッチをオンの状態にすることの中止が選択されるので、車両の使用者に都合のいいタイミングで、更新の中止またはイグニッションスイッチをオンの状態にすることを選択できる。
請求項1の発明によれば、被制御部の種類ごとに異なるソフトウェアの種類を判別し、電源操作部が被制御部への電源供給を停止して、被制御部の状態が、動作できない状態となった場合に、制御装置のソフトウェアを更新させるので、被制御部の動作に影響を及ぼすことなく最適なタイミングでソフトウェアを制御装置に更新できるソフトウェア更新装置を得ることができるという効果を奏する。
請求項2の発明によれば、ソフトウェアを外部からダウンロードする受信部とソフトウェアを一時的に格納する格納部をさらに備えたので、ソフトウェアの更新時期に関わらずソフトウェアを外部からダウンロードして格納しておくことができるソフトウェア更新装置を得ることができるという効果を奏する。
請求項3の発明によれば、電源操作部が、オンの状態、アクセサリの状態、オフの状態のいずれか1つに操作可能なイグニッションスイッチであるため、イグニッションスイッチの状態に応じて被制御部の動作状況を判断することができ、被制御部の動作に影響を及ぼすことなくソフトウェアを制御装置に更新できるソフトウェア更新装置を得ることができるという効果を奏する。
請求項4の発明によれば、更新制御部は、イグニッションスイッチをオフの状態にした場合であっても、ソフトウェアを前記制御装置に更新中は格納部および制御装置への電源供給を維持し、更新後に電源供給を終了するよう電源供給を制御するので、ソフトウェアの更新が途中で中止されることがなく、格納部および制御装置での消費電力が小さくできるソフトウェア更新装置を得ることができるという効果を奏する。
請求項5の発明によれば、更新制御部は、制御装置毎に電源供給を制御するので、制御装置毎に格納部および制御装置での消費電力を小さくできるソフトウェア更新装置を得ることができるという効果を奏する。
請求項6の発明によれば、前記更新制御部は、被制御部が動作できないイグニッションスイッチがオフの状態またはイグニッションスイッチがオフの状態の場合またはアクセサリの状態の場合に制御装置のソフトウェアを更新するので、被制御部の動作状況をイグニッションスイッチの状態に基づいて判断することができ、被制御部が動作できない場合にソフトウェアを制御装置に更新できるソフトウェア更新装置を得ることができるという効果を奏する。
請求項7の発明によれば、更新制御部は、ソフトウェアの更新中に、イグニッションスイッチをオンの状態にしようとした場合は、更新を中止するかまたはイグニッションスイッチをオンの状態にするので、イグニッションスイッチがオンの状態である場合に、ソフトウェアが制御装置にインストールされることがなくなるソフトウェア更新装置を得ることができるという効果を奏する。
請求項8の発明によれば、車両の使用者が更新の中止またはイグニッションスイッチをオンの状態にすることを選択するので、車両の使用者がイグニッションスイッチをオンにしたい場合には、車両の使用者に都合のいいタイミングで、更新の中止またはイグニッションスイッチをオンの状態にすることを選択できるソフトウェア更新装置を得ることができるという効果を奏する。
請求項9の発明によれば、イグニッションスイッチがオフの状態でない場合にソフトウェアをダウンロードし、一時的に格納するので、受信部や格納部に電源が供給されている場合は常時ダウンロード可能なソフトウェア更新装置を得ることができるという効果を奏する。
請求項10の発明によれば、イグニッションスイッチが、被制御部の動作可能なオンの状態であるか否かを判断し、被制御部の種類ごとに異なるソフトウェアの種類を判別し、イグニッションスイッチがオンの状態でない場合に、かつ、判別したソフトウェアの種類に対応する制御装置が作動制御を行う被制御部が動作できない状態である場合に、ソフトウェアを制御装置に更新するので、イグニッションスイッチの状態を判断するだけで、被制御手段の動作に影響を及ぼすことなく最適なタイミングでソフトウェアを制御装置に更新できるソフトウェア更新方法を得ることができるという効果を奏する。
請求項11の発明によれば、車両の使用者によって更新の中止またはイグニッションスイッチをオンの状態にすることの中止が選択されるので、車両の使用者に都合のいいタイミングで、更新の中止またはイグニッションスイッチをオンの状態にすることを選択できるソフトウェア更新方法を得ることができるという効果を奏する。
以下に、本発明にかかるソフトウェア更新装置およびソフトウェア更新方法の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
(実施の形態)
まず、本実施の形態におけるソフトウェア更新装置の概要構成について説明する。図1は、本実施の形態にかかるソフトウェア更新装置を備えた車両の概要構成を説明するための図である。
同図に示すように、車両3は受信部20、ダウンロード済みソフトウェア格納部21、ソフトウェア更新装置1、車両3の各部に電源供給を行うための電源操作手段であるイグニッションスイッチ(以下、IGという)30、駆動部32、制御装置である運転支援用エレクトロニック・コントロール・ユニット(以下、ECU(Electrical Control Unit)という)50を備えている。
外部から送られてくる運転支援用ECU50を制御する運転支援用ソフトウェア51は、受信部20が受信してダウンロードされダウンロード済みソフトウェア格納部21に一時的に格納される。そして、ソフトウェア更新装置1は、IG30がIG/ON(オン)の状態であるか否かを確認する。
IG/ONの状態でなければ、駆動部32は動作せずダウンロード済みソフトウェア格納部21に格納されている運転支援用ソフトウェア51を運転支援用ECU50にインストールしても車両3の走行に影響を及ぼさないので、ソフトウェア更新装置1はIG/ONの状態でない場合に運転支援用ソフトウェア51のインストールを行わせる。
一方、IG/ONの状態である場合は、駆動部32は動作可能な状態であり、ダウンロード済みソフトウェア格納部21に格納されている運転支援用ソフトウェア51を運転支援用ECU50にインストールすると車両3の走行に影響を及ぼす可能性があるので、ソフトウェア更新装置1はIG/ONの状態である場合は運転支援用ソフトウェア51のインストールを行わせない。
なお、本実施の形態におけるインストール(更新)は、ソフトウェアをインストールする際に、すでにそのソフトウェアがインストールされている領域に上書きする形でインストールする上書きインストールによって行うものとする。そして、上書きインストールによって古いソフトウェアから新しいソフトウェアに更新されるものとする。また、今までにないソフトウェアを新たに記憶するようなものを含めるようにしてもよい。
図2は、本実施の形態にかかるソフトウェア更新装置を備えた車両の構成を示すブロック図である。同図に示すように車両3は、ソフトウェア更新装置1、車両制御装置2、IG30、駆動部32、電子機器34からなる。
ソフトウェア更新装置1は、車両制御装置2と接続されて車両制御装置2の各種ECUを制御するプログラム等のソフトウェアの更新を行うものであり、IG判断部10、通知部11、制御部12、動作認識部13、ソフトウェア判別部14、入力部15を備えている。ソフトウェア更新装置1は+Bで示される電力供給源と接続されており、ソフトウェア更新装置1には常時電源が供給され動作可能な状態である。
IG判断部10は、制御部12および車両3内のIG30と接続されている。そして、IG30がIG/ONの状態であるか、IG/OFFの状態であるか、アクセサリ(以下、ACCという)の状態であるかを判断する。そして、これらの動作状況を通知部11に送る。
動作認識部13は、電子機器34と接続され電子機器34の動作状況を認識する。そして、これらの動作状況を通知部11に送る。通知部11は、音声や画像によって動作認識部13から送られる車両3と車両制御装置2の動作状況を車両3の運転者(使用者)に通知する。
ソフトウェア判別部14は、車両制御装置2の後述するダウンロード済みソフトウェア格納部21内のソフトウェアの種類を判別するとともに、通知部11を介して車両3の運転者にソフトウェアの種類を通知する。
入力部15は、車両3の運転者が車両制御装置2の後述する運転支援用ECU50のソフトウェアを更新させる否かの情報等を入力するためのものである。制御部12は、IG判断部10、通知部11、動作認識部13、ソフトウェア判別部14および入力部15と接続され、これらの動作を制御する。また、制御部12は車両制御装置2と接続され、車両制御装置2への電源供給やソフトウェアを更新するタイミングを制御する。
車両制御装置2は、車両3の動作の一部を制御または制動するものであり、受信部20、ダウンロード済みソフトウェア格納部21、制御部22、運転支援システム用の車両制御ECU(以下、運転支援用ECUという)50、電子機器制御ECU80を備えている。また、車両制御装置2はソフトウェア更新装置1と接続されており、ソフトウェア更新装置1によって動作が制御される。
車両制御装置2は、+Bで示される電力供給源、IG30、制御部12と接続されている。受信部20、ダウンロード済みソフトウェア格納部21、制御部22はソフトウェアをダウンロードするときのみ、制御部12の制御によって電源が供給されて動作可能な状態となる。なお、受信部20、ダウンロード済みソフトウェア格納部21、制御部22は制御部12の制御によって常時電源が供給され、常時動作可能な状態となる構成としてもよい。
運転支援用ECU50は、IG30がIG/ONの状態では制御部12の制御によって電源が供給され、動作可能な状態である。また、IG30がIG/OFFの状態またはACCの状態では制御部12の制御によって電源を供給しないようにし、動作不可能な状態である。ただし、IG30がIG/OFFの状態またはACCの状態であっても、運転支援用ECU50へのソフトウェア更新時には制御部12の制御によって電源が供給され、動作可能な状態となる。
電子機器制御ECU80は、IG30がIG/ONの状態またはACCの状態では制御部12の制御によって電源が供給され、動作可能な状態である。また、IG30がIG/OFFの状態では制御部12の制御によって電源を供給しないようにし、動作不可能な状態である。ただし、IG30がIG/OFFの状態であっても、電子機器制御ECU80へのソフトウェア更新時には制御部12の制御によって電源が供給され、動作可能な状態となる。
受信部20は、車両制御装置2のメーカー等の外部から送られてくる運転支援用ECU50等を動作させるためのソフトウェアを受信してダウンロードする。ダウンロード済みソフトウェア格納部21は、フラッシュメモリやEEPROMからなるものであり、受信部20によってダウンロードされたソフトウェアを一時的に格納しておき、所定のタイミングで格納しておいたソフトウェアを運転支援用ECU50や電子機器制御ECU80に送り、運転支援用ECU50を制御するための後述する運転支援用ソフトウェア51や電子機器制御ECU80を制御するための後述する電子機器制御ソフトウェア81を書き換える。制御部22は、受信部20、ダウンロード済みソフトウェア格納部21、制御部22と接続されており、これらの動作を制御する。
なお、ダウンロード済みソフトウェア格納部21から運転支援用ECU50や電子機器制御ECU80へソフトウェアをインストールするタイミングはECUが制御する機器の種類によって異なる。
運転支援用ECU50は、ダウンロード済みソフトウェア格納部21および車両3の駆動部32と接続されている。運転支援用ECU50は、駆動部32の動作を支援するためのECUであり、例えば車両3を加速させるためのスロットルアクチュエータを制御するエンジン制御ECU(図示せず)、車両3を減速させるためのブレーキアクチュエータを制御するブレーキ制御ECU(図示せず)、車両3を左右に移動させるためのステアリングアクチュエータを制御するステアリング制御ECU(図示せず)、車両3の衝突時に車両3の運転者や同乗者が受ける衝撃を軽減するためのエアバッグ点火部を制御するエアバッグECU(図示せず)等からなる。
そして、運転支援用ECU50は、運転支援用ECU50を動作させるためのソフトウェアとして運転支援用ソフトウェア51を複数有している。例えば、エンジン制御ECUはエンジン制御ECUを動作させるためのソフトウェアとしてエンジン制御ソフトウェア(図示せず)を有し、ブレーキ制御ECUはブレーキ制御ECUを動作させるためのソフトウェアとしてブレーキ制御ソフトウェア(図示せず)を有し、ステアリング制御ECUはステアリング制御ECUを動作させるためのソフトウェアとしてステアリング制御ソフトウェア(図示せず)を有し、エアバッグ制御ECUはエアバッグ制御ECUを動作させるためのソフトウェアとしてエアバッグ制御ソフトウェア(図示せず)を有している。これらのソフトウェアは、運転支援用ECU50が備える図示しないフラッシュメモリやEEPROM等に格納されている。
運転支援用ソフトウェア51は、ダウンロード済みソフトウェア格納部21から送られるソフトウェアによって更新され、運転支援用ECU50による駆動部32の制御方法が変更される。例えば、エンジン制御ソフトウェアの更新によってエンジン制御ECUによるスロットルアクチュエータの制御方法が変更され、ブレーキ制御ソフトウェアの更新によってブレーキ制御ECUによるブレーキアクチュエータの制御方法が変更され、ステアリング制御ソフトウェアの更新によってステアリング制御ECUによるステアリングアクチュエータの制御方法が変更され、エアバッグ制御ソフトウェアの更新によってエアバッグ制御ECUによるエアバッグ点火部の制御方法が変更される。
運転支援用ソフトウェア51はIG30がIG/ONの状態またはACCの状態のときに受信部20によって受信されてダウンロードされる。この場合、ユーザによる要求もしくはECU自らの要求により、運転支援用ソフトウェア51がメーカー等の外部から受信される。そして、IG30がIG/OFFの状態またはACCのとき、即ち駆動部32が動作不能な状態のときにダウンロード済みソフトウェア格納部21に格納された運転支援用ソフトウェア51が運転支援用ECU50にインストールされる。
電子機器制御ECU80は、ダウンロード済みソフトウェア格納部21および電子機器34と接続されている。電子機器制御ECU80は、電子機器34を制御するECUであり、電子機器制御ソフトウェア81を備えている。
電子機器制御ソフトウェア81は、電子機器制御ECU80を動作させるソフトウェアである。電子機器制御ソフトウェア81の更新によって、電子機器制御ECU80による電子機器34の制御方法が変更される。
また、電子機器制御ソフトウェア81はIG30がIG/ONの状態またはACCの状態のときに受信部20によって受信されてダウンロードされる。そして、電子機器が動作していないときにダウンロード済みソフトウェア格納部21に格納された電子機器制御ソフトウェア81が電子機器制御ECU80にインストールされる。
IG30は、車両3のエンジン(図示せず)を始動させるためのスイッチであり、駆動部32、電子機器34、ソフトウェア更新装置1、車両制御装置2と接続され、駆動部32や電子機器34へ電源を供給させるか否かの操作を行うため電源供給を制御する。
駆動部32は、車両3の各部位(スロットル、ブレーキ、エアバッグ等)に関する駆動を行うものであり、例えば車両3を加速させるためのスロットルアクチュエータ(図示せず)、車両3を減速させるためのブレーキアクチュエータ(図示せず)、車両3を左右に移動させるためのステアリングアクチュエータ(図示せず)、車両3の衝突時に車両3の運転者や同乗者が受ける衝撃を軽減するためのエアバッグ点火部(図示せず)等からなる。
駆動部32は+Bで示される電力供給源、IG30と接続されている。そして、IG30がIG/ONの状態では電源が供給され、動作可能な状態である。また、IG30がIG/OFFの状態またはACCの状態では電源が供給されず、動作不可能な状態である。
スロットルアクチュエータは、車両3の運転者によって制御されるアクセルペダル(図示せず)と連動するとともに、エンジン制御ECUによって制御される。ブレーキアクチュエータは、車両3の運転者によって制御されるとともにブレーキ制御ECUによって制御される。ハンドル(ステアリングアクチュエータ)は、車両3の運転者によって制御されるとともにステアリング制御ECUによって制御される。電子機器34は、車両3のナビゲーション装置やラジオ等であり、車両3の運転者等の使用者によって操作され、電子機器制御ECU80によって制御される。
なお、電子機器34は+Bで示される電力供給源、IG30と接続されている。そして、IG30がIG/ONの状態またはACCの状態では電源が供給され、動作可能な状態である。また、IG30がIG/OFFの状態では電源が供給されず、動作不可能な状態である。ただし、IG30がIG/ONの状態またはACCの状態であっても電子機器34自体の電源スイッチ(図示せず)によって動作不可能な状態にすることもできるものとする。
また、制御部12は更新するソフトウェアの種類により運転支援用ECU50または電子機器制御ECU80への電源供給を選択する。例えば、運転支援用ソフトウェア51の更新である場合、制御部12は運転支援用ECU50に電源供給を行う。
図3は、IG30の状態と車両内各部への電源供給の状態を説明するための図である。運転支援用ECU50は、IG30がIG/ONの状態では制御部12の制御によって電源が供給され(電源オン)、動作可能な状態である。したがって、この場合は運転支援用ソフトウェア51の更新は禁止された状態である。
また、IG30がIG/OFFの状態またはACCの状態では制御部12の制御によって運転支援用ECU50に電源が供給されず(電源オフ)、動作不可能な状態である。したがって、この場合は運転支援用ソフトウェア51の更新を行ってもよい。また、IG30がIG/OFFの状態またはACCの状態であっても、運転支援用ECU50へのソフトウェア更新時には制御部12の制御によって運転支援用ECU50に電源が供給され、運転支援用ソフトウェア51の更新を行うものとする。そして、ソフトウェアの更新終了後に制御部12によって運転支援用ECU50への電源の供給が終了される。
駆動部32は、IG30がIG/ONの状態では電源が供給され、動作可能な状態である。したがって、この場合は運転支援用ソフトウェア51の更新は禁止された状態である。一方、IG30がIG/OFFの状態またはACCの状態では駆動部32に電源が供給されないため、駆動部32は動作不可能な状態である。したがって、この場合は運転支援用ソフトウェア51の更新を行ってもよい。
電子機器制御ECU80は、IG30がIG/ONの状態またはACCの状態では制御部12の制御によって電源が供給され、動作可能な状態である。したがって、この場合は電子機器制御ソフトウェア81の更新は禁止された状態である。ただし、IG30がIG/ONの状態またはACCの状態であっても電子機器34自体の電源スイッチによって動作不可能な状態にしてある場合等は電子機器制御ソフトウェア81の更新は可能となる。
また、IG30がIG/OFFの状態では制御部12の制御によって電源が供給されず、動作不可能な状態である。したがって、この場合は電子機器制御ソフトウェア81の更新は可能な状態である。また、IG30がIG/OFFの状態であっても、電子機器制御ECU80へのソフトウェア更新時には、制御部12の制御によって電源が供給され、電子機器制御ソフトウェア81の更新を行うものとする。そして、ソフトウェアの更新終了後に制御部12によって運転支援用ECU50への電源の供給が終了される。
電子機器34は、IG30がIG/ONの状態またはACCの状態では電源が供給され、動作可能な状態である。したがって、この場合は電子機器制御ソフトウェア81の更新は禁止された状態である。ただし、IG30がIG/ONの状態またはACCの状態であっても電子機器34自体の電源スイッチ(図示せず)によって動作不可能な状態にすることもできるものとする。また、IG30がIG/OFFの状態では電源が供給されず、動作不可能な状態である。したがって、この場合は電子機器制御ソフトウェア81の更新を行ってもよい。また、ソフトウェア更新装置1には、常時電源が供給され動作可能な状態である。
このように、IG30がIG/OFFの状態やACCの状態である場合は、運転支援用ECU50の運転支援用ソフトウェア51を更新する際に、運転支援用ECU50に電源を供給するようにする。これによって、運転支援用ECU50での電力消費を削減することが可能となる。また、IG30がIG/OFFの状態である場合は、電子機器制御ECU80の電子機器制御ソフトウェア81を更新する際に、電子機器制御ECU80に電源を供給するようにする。これによって、電子機器制御ECU80での電力消費を削減することが可能となる。
つぎに、ソフトウェア更新装置1の制御によって各種ECUを制御するソフトウェアを更新する手順をフローチャートに従って説明する。図4は、ソフトウェア更新装置の制御によって車両制御装置内にソフトウェアをダウンロードする手順を示すフローチャートである。IG判断部10は、車両3のIG30の状態がIG/ON、IG/OFF、ACCの状態のいずれであるかを確認する(ステップS100)。
車両3のIG30が、IG/OFFの状態である場合は車両制御装置2の電源が入っていないため、車両制御装置2は動作不可能な状態である(ステップS100、Yes)。一方、IG/ONの状態またはACCの状態である場合には(ステップS100、No)、ソフトウェア更新装置1と車両制御装置2の電源が入っており動作可能であるため、この場合に車両制御装置2の受信部20が外部から送られる各種ECUを制御するためのソフトウェアを受信してダウンロードする(ステップS110)。
ここで、ソフトウェアのダウンロード中にIG/OFFの状態となった場合であっても、車両3が備えるバッテリ等の電源によって車両制御装置2を動作させ続け、ソフトウェアのダウンロードを完了させるものとする。そして、ダウンロードの完了後に車両制御装置2への電源供給を終了させるものとする。
なお、バッテリの電源によって車両制御装置2を動作させつづける時間はタイマ等によって予め設定しておき、所定時間が経過してもダウンロードが完了しない場合は、ダウンロードを中止するようにしてもよい。これによって、バッテリ等の電源を所定量以上消耗させないことが可能となる。
受信したソフトウェアは、ダウンロード済みソフトウェア格納部21に格納しておく(ステップS120)。ソフトウェアのダウンロードが完了した後、ソフトウェア判別部14はダウンロード済みソフトウェア格納部21に格納されているソフトウェアの種類を識別しておく。
ここでの、ソフトウェアの種類の識別は、格納されているソフトウェアが運転支援用ECU50を制御するための運転支援用ソフトウェア51であるか、電子機器制御ECU80を制御するための電子機器制御ソフトウェア81であるかを識別することによって行われる。そして、ソフトウェア格納部21に格納されているソフトウェアの種類に応じて、ソフトウェアを更新するタイミングが決定される。
運転支援用ECU50を制御する運転支援用ソフトウェア51を更新する手順について説明する。図5は、運転支援用ソフトウェアのソフトウェア更新方法の手順を示すフローチャートである。
ソフトウェア判別部14が、ダウンロード済みソフトウェア格納部21に格納されているソフトウェアの種類が運転支援用ソフトウェア51であると判断した場合、この運転支援用ソフトウェア51は運転支援用ECU50にインストールされる準備ができている状態である。この状態において、IG判断部10によってIG30の状態がIG/ONであるか否かを判断する(ステップS200)。
IG判断部10によって、IG30がIG/ONの状態であると判断された場合は、車両3の駆動部32は動作中であるか、これから動作する状態である。したがって、この場合に運転支援用ソフトウェア51をインストールすると、車両3の駆動部32の動作中に運転支援用ECU50の設定が変更され、車両3の走行に影響を及ぼす可能性がある。このような、IG/ONの状態では運転支援用ソフトウェア51のインストールは行わないこととする(ステップS200、Yes)。
なお、ダウンロード済みソフトウェア格納部21にダウンロードされた運転支援用ソフトウェア51が格納された状態であって、IG/ONの状態である場合は、ダウンロード済みソフトウェア格納部21にダウンロードされた運転支援用ソフトウェア51が格納された状態であり、運転支援用ソフトウェア51をインストールする準備ができていることを通知部11によって運転者に通知しておく。
一方、IG/OFFの状態またはACCの状態であると判断された場合は(ステップS200、No)、車両3の駆動部32は動作していない状態であり、IG/OFFの状態である間は駆動部32は動作しない。したがって、この場合に運転支援用ソフトウェア51をインストールして運転支援用ECU50の設定が変更されても、車両3の走行に影響を及ぼすことはない。このため、IG/OFFまたはACCの状態で運転支援用ECU50を制御するための運転支援用ソフトウェア51のインストールを行う。
通常、IG/OFFの状態になると車両制御装置2の電源等もOFFになり、車両制御装置2が動作しなくなるが、IG/ONやACCの状態からIG/OFFにした場合であっても、車両3に備えられたバッテリ等を電源としてソフトウェアのインストール中はソフトウェア更新装置1が動作可能な状態を維持するようにしてもよいし、予め設定しておいた所定の時間は車両制御装置2やソフトウェア更新装置1が動作可能な状態を維持しておくようにしてもよい。
そして、運転支援用ソフトウェア51のインストールが完了した後、または予め設定しておいた所定の時間経過後に車両制御装置2やソフトウェア更新装置1への電源供給を終了するものとする。
運転支援用ECU50に運転支援用ECU50を制御するための運転支援用ソフトウェア51のインストールを開始すると(ステップS210)、通知部11によってインストールが開始されたことを通知する(ステップS215)。
運転支援用ソフトウェア51のインストールを行いながらIG判断部10ではIG30がIG/ONの状態にされないかを監視する(ステップS220)。そして、IG30がIG/ONの状態にされなければ、このままインストールを続行する。
一方、運転支援用ソフトウェア51のインストール中にIG30をIG/ONの状態にしようとすると(ステップS220、Yes)、車両3の駆動部32はこれから動作可能な状態となる。したがって、この場合にECUを制御するためのソフトウェアをインストールし続けると、車両制御装置2の運転支援用ECU50の設定が変更されている途中に車両3の駆動部32が動作する可能性があり、車両3の走行に影響を及ぼすこととなる。
このように、ECUを制御するためのソフトウェアをインストール中に車両3の運転者がIG30をIG/ONの状態にしようとすると、通知部11によって車両3の運転者に運転支援用ECU50を制御するための運転支援用ソフトウェア51をインストール中であることを通知する(ステップS240)。
そして、車両3の運転者は運転支援用ECU50を制御するための運転支援用ソフトウェア51のインストールを中止してIG30をIG/ONの状態にするか、IG30をIG/ONの状態にすることを諦めてインストールを続行するかを選択する(ステップS250)。
車両3の運転者が、IG30をIG/ONの状態にすることを諦めてインストールを続行するよう選択する場合は(ステップS250、No)、入力部15にインストールを続行するためのコマンドを入力する。これにより、車両制御装置2では、運転支援用ECU50を制御するための運転支援用ソフトウェア51の更新を続行し、IG30をIG/ONの状態にすることをキャンセルすることとなる。
一方、車両3の運転者が、運転支援用ソフトウェア51のインストールを中止してIG30をIG/ONの状態にすることを選択する場合は(ステップS250、Yes)、入力部15にインストールを中止するためのコマンドを入力する。これにより、車両制御装置2では運転支援用ソフトウェア51の更新を中止して、IG30をIG/ONの状態にすることとなる。なお、運転支援用ソフトウェア51のインストールを中止してIG30をIG/ONの状態にするか、IG30をIG/ONの状態にすることを諦めてインストールを続行するかを予め設定しておき、この設定に基づいて自動的に選択するようにしてもよい。
そして、運転支援用ソフトウェア51の更新が中止されたことを通知部11によって車両3の運転者に通知する(ステップS260)。この場合は、IG30がIG/ONの状態でなくなったときに改めてインストールの開始を行うものとする(ステップS200、S210)。
また、インストールの開始後、車両3の運転者がIG30をIG/ONの状態にしようとしなければこのままインストールを続行してインストールを完了させる(ステップS230、Yes)。そして、インストールが完了したことを通知部11によって車両3の運転者に通知する(ステップS270)。インストールの完了によって、インストールの行われた運転支援用ECU50は新しい運転支援用ソフトウェア51によって制御されることとなる。
電子機器制御ECU80を制御する電子機器制御ソフトウェア81を更新する手順について説明する。図6は、電子機器制御ソフトウェアのソフトウェア更新方法の手順を示すフローチャートである。ソフトウェアのインストール条件は、ソフトウェアの種類によって異なるものである。ここでは、電子機器制御ソフトウェア81のインストール条件は、運転支援用ソフトウェア51のインストール条件と異なっている。
ソフトウェア判別部14が、ダウンロード済みソフトウェア格納部21に格納されているソフトウェアの種類が電子機器制御ソフトウェア81であると判断した場合、動作認識部13によって電子機器34が動作中であるか否かを判断する(ステップS300)。この判断は、例えばIG30がIG/OFFの状態であれば、電子機器34は動作停止と判断し、IG30がIG/ONの状態またはACCの状態であれば動作可能(電源供給可能)と判断してもよい。また、電子機器34の電源スイッチの状態がOFFの状態であれば電子機器34は動作停止と判断し、電子機器34の電源スイッチの状態がONの状態であれば動作可能(電源供給可能)と判断してもよい。
電子機器34が動作中であると判断された場合に、電子機器制御ソフトウェア81をインストールすると、電子機器34の動作中に電子機器制御ECU80の設定が変更され、電子機器34の正常な動作を保証することができなくなる。
電子機器34が動作中でないと判断された場合は(ステップS300、No)、車両制御装置2において電子機器制御ソフトウェア81のインストールを開始する(ステップS330)。
一方、電子機器34が動作中であると判断された場合は(ステップS300、Yes)、電子機器34を制御するためのソフトウェアをインストールする準備ができているが電子機器34が動作中であり、電子機器制御ソフトウェア81のインストールが行えない状態であることを通知部11によって車両3の運転者に通知する(ステップS310)。
車両3の運転者は、電子機器34の動作を続けさせて電子機器制御ソフトウェア81のインストールを後から行うか、電子機器制御ソフトウェア81のインストールを行うため電子機器34の動作を停止させるかを選択する(ステップS320)。
車両3の運転者が、電子機器34の動作を続けさせて電子機器制御ソフトウェア81のインストールを後から行うことを選択する場合は(ステップS320、No)、入力部15にインストールを後から行うためのコマンドを入力する。これにより、電子機器34は動作を続行することとなる。この場合は、電子機器34が動作中でなくなった場合に改めてインストールの開始を行うものとする(ステップS300、S330)。
一方、車両3の運転者が、電子機器制御ソフトウェア81のインストールを行うため電子機器34の動作を停止させることを選択する場合は(ステップS320、Yes)、入力部15に電子機器34の動作を停止させるためのコマンドを入力する。これにより、電子機器34の動作は停止し、車両制御装置2において電子機器制御ソフトウェア81のインストールが開始される(ステップS330)。
なお、電子機器34の動作を続けさせて電子機器制御ソフトウェア81のインストールを後から行うか、電子機器制御ソフトウェア81のインストールを行うため電子機器34の動作を停止させるかを予め設定しておき、この設定に基づいて自動的に選択するようにしてもよい。
電子機器制御ECU80に電子機器制御ソフトウェア81のインストールを開始すると、インストールを行いながら動作認識部13では電子機器34を動作させるためのコマンドが車両3の運転者によって入力されたか否かを監視する(ステップS340)。電子機器34を動作させるためのコマンドが入力されなければ、このままインストールを続行する(ステップS340、No)。
一方、ソフトウェアのインストール中に電子機器34を動作させるためのコマンドが入力された場合に(ステップS340、Yes)、電子機器制御ソフトウェア81をインストールし続けると、電子機器制御ECU80の設定が変更されている途中に電子機器34が動作する可能性があり、電子機器34に影響を及ぼすこととなる。
このように、電子機器制御ソフトウェア81をインストール中に車両3の運転者が電子機器34を動作させようとすると、通知部11によって車両3の運転者に電子機器制御ソフトウェア81をインストール中であることを通知する(ステップS360)。そして、車両3の運転者は電子機器制御ソフトウェア81のインストールを中止して電子機器34を動作させるか、電子機器34を動作させることを諦めてインストールを続行するかを選択する(ステップS370)。
車両3の運転者が、電子機器34を動作させることを諦めてインストールを続行するよう選択する場合は(ステップS370、No)、入力部15にインストールを続行するためのコマンドを入力する。これにより、車両制御装置2では電子機器制御ソフトウェア81のインストールを続行し、ステップS340で電子機器34を動作させるために入力されたコマンドを無効とし、電子機器34を動作させないこととなる。
一方、車両3の運転者が、電子機器制御ソフトウェア81のインストールを中止して電子機器34を動作させることを選択する場合は(ステップS370、Yes)、入力部15にインストールを中止するためのコマンドを入力する。これにより、車両制御装置2の電子機器制御ECU80では電子機器制御ソフトウェア81の更新を中止して、電子機器34を動作させることとなる。そして、ソフトウェアのインストールが中止されたことを通知部11によって車両3の運転者に通知する(ステップS380)。この場合は、電子機器34の動作が停止し、電子機器34が使用中でなくなったときに改めてインストールの開始を行うものとする(ステップS300、No)。
なお、電子機器34の動作を続けさせて電子機器制御ソフトウェア81のインストールを後から行うか、電子機器制御ソフトウェア81のインストールを行うため電子機器34の動作を停止させるかを予め設定しておき、この設定に基づいて自動的に選択するようにしてもよい。
インストールの開始後、車両3の運転者が電子機器34を動作させるためのコマンドを入力しなければこのままインストールを続行してインストールを完了する(ステップS350、Yes)。そして、インストールが完了したことを通知部11によって車両3の運転者に通知する(ステップS390)。インストールの完了によって、インストールの行われた電子機器制御ECU80は新しくインストールされた電子機器制御ソフトウェア81によって制御されることとなる。
なお、本実施の形態においては、IG30がIG/OFFまたはACCの状態である場合に運転支援用ソフトウェア51のインストールを行うこととしたが、運転支援用ソフトウェア51の内容によって、その都度運転者にインストールを行うか否かを確認させるようにしてもよい。
例えば、ソフトウェアの更新がバージョンアップ等の運転支援用ECU50の制御において小さな変更である場合は、運転者にインストールを行うか否かの確認を行うことなくインストールを自動的に実行する。
一方、新しいソフトウェアのインストール等の運転支援用ECU50の制御において大きな変更となる場合は運転者にインストールを行うか否かの確認を行った後、運転者がインストールすることを許可した場合のみインストールを実行する。また、運転者は新しいソフトウェアのインストールによって運転支援用ECU50の制御がどの程度変更されるかによって自動的にインストールを開始するか、運転者にインストールの確認を行うかを設定できるものとする。
なお、本実施の形態においては、例えばエンジン制御ECUが1つのエンジン制御ソフトウェアを格納し、ブレーキ制御ECUが1つのブレーキ制御ソフトウェアを格納し、ステアリング制御ECUが1つのステアリング制御ソフトウェアを格納し、エアバッグ制御ECUが1つのエアバッグ制御ソフトウェアを格納することとしたが、各ECUが2つのソフトウェアを格納できる構成としてもよい。
例えば、エンジン制御ECUが2つのエンジン制御ソフトウェアを格納している構成とすると、1つのエンジン制御ソフトウェアを使用してエンジン制御ECUを制御し、このエンジン制御ECUによってスロットルアクチュエータを制御している場合であっても、ダウンロード済みソフトウェア格納部21からもう1つのエンジン制御ソフトウェアにインストールを行うことが可能となる。
そして、IG30がIG/OFFまたはACCの状態になった時に、これまでに使用していたエンジン制御ソフトウェアと新しくインストールされたエンジン制御ソフトウェアの切替えを行い、以降新しくインストールされたエンジン制御ソフトウェアによってエンジン制御ECUを制御させることとする。また、これまでに使用してきたエンジン制御ソフトウェアは、ダウンロード済みソフトウェア格納部からの新たなインストールを待つ状態となる。
これによって、エンジン制御ソフトウェアをインストールする際にIG判断部10によるIG30の状態を確認する必要がなくなり、ソフトウェアのダウンロードが完了した後、直ちにソフトウェアのインストールを行うことが可能となる。
同様に、電子機器制御ECU80が2つの電子機器制御ソフトウェア81を格納できる構成としてもよい。これによって、電子機器制御ソフトウェアをインストールする際に動作認識部13による電子機器34の動作状態を確認する必要がなくなり、ソフトウェアのダウンロードが完了した後、直ちにソフトウェアのインストールを行うことが可能となる。
なお、本実施の形態においては、受信部20、ダウンロード済みソフトウェア格納部21、制御部22が車両制御装置2に含まれる構成としたが、これらの構成に限られず受信部20、ダウンロード済みソフトウェア格納部21または制御部22が車両制御装置2とは独立した構成としてもよい。さらに、ソフトウェア更新装置1が受信部20、ダウンロード済みソフトウェア格納部21または制御部22を備える構成としてもよい。
なお、本実施の形態においては、運転支援用ECU50と運転支援用ソフトウェア51として、エンジン制御ECUとエンジン制御ソフトウェア、ブレーキ制御ECUとブレーキ制御ソフトウェア、ステアリング制御ECUとステアリング制御ソフトウェア、エアバッグ制御ECUとエアバッグ制御ソフトウェアを備えることとしたが、運転支援用ECU50と運転支援用ソフトウェア51としてはこれらのECUとソフトウェアに限られず、トランスミッション制御ECUとトランスミッション制御ソフトウェア、サスペンション制御ECUとサスペンション制御ソフトウェア、予測判断ECUと予測判断ソフトウェア、通信制御ECUと通信制御ソフトウェア、画像認識制御ECUと画像認識制御ソフトウェア等のECUとソフトウェアを備える構成としてもよい。
また、電子機器34としては、ナビゲーション装置に限られず、ステレオ、テレビ、DVD(Digital Video Disk)、空調機器等を備える構成としてもよい。
上述してきたように、本実施の形態では、駆動部32や電子機器34が動作可能な状態であるIG30がIG/ONの状態である場合には、ソフトウェア更新装置1がダウンロード済みソフトウェア格納部21に格納されているソフトウェアを運転支援用ECU50や電子機器制御ECU80にインストールさせず、駆動部32が動作不可能な状態であるIG30がIG/OFFの状態である場合またはACCの状態である場合に、ソフトウェア更新装置1がダウンロード済みソフトウェア格納部21に格納されている運転支援用ソフトウェア51をECU50にインストールさせるようにしたり、電子機器34が動作不可能な状態であるIG30がIG/OFFの状態である場合に、ソフトウェア更新装置1がダウンロード済みソフトウェア格納部21に格納されている電子機器制御ソフトウェア81を電子機器制御ECU80にインストールさせるようにしたので、車両3の走行、駆動部32や電子機器34の動作に影響を及ぼすことなくソフトウェアをECUにインストールできる。
また、ソフトウェア更新装置1がダウンロード済みソフトウェア格納部21に格納されているソフトウェアを運転支援用ECU50や電子機器制御ECU80にインストールしている間に、車両3の運転者がIG30をIG/ONの状態にしようとすると、通知部11によって車両3の運転者に運転支援用ECU50を制御するための運転支援用ソフトウェア51や電子機器制御ソフトウェア81をインストール中であることを通知し、車両3の運転者は運転支援用ソフトウェア51や電子機器制御ソフトウェア81のインストールを中止してIG30をIG/ONの状態にするか、IG30をIG/ONの状態にすることを諦めてインストールを続行するかを選択する。したがって、車両3の走行、駆動部32や電子機器34の動作に影響を及ぼすことなくソフトウェアをECUにインストールできる。