JP2010195111A - 車載コンピュータシステム - Google Patents
車載コンピュータシステム Download PDFInfo
- Publication number
- JP2010195111A JP2010195111A JP2009040110A JP2009040110A JP2010195111A JP 2010195111 A JP2010195111 A JP 2010195111A JP 2009040110 A JP2009040110 A JP 2009040110A JP 2009040110 A JP2009040110 A JP 2009040110A JP 2010195111 A JP2010195111 A JP 2010195111A
- Authority
- JP
- Japan
- Prior art keywords
- update
- control means
- slave
- unit
- computer program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】車載機に含まれる各機器のプログラムを極力安全に更新し、予期しない障害が発生した場合にも、障害の影響を可能な限り小さくする
【解決手段】マスタユニットは、スレーブ制御手段の階層構造において、下層のスレーブ制御手段で実行されるコンピュータプログラムを優先して更新し、その更新後に、下層の上位の階層のスレーブ制御手段のコンピュータプログラムを更新するように更新順を制御するスレーブ更新制御手段と、スレーブ更新手段によって、更新対象のスレーブユニットのコンピュータプログラムが更新された後に、マスタ制御手段の階層構造において、下層のマスタ制御手段で実行されるコンピュータプログラムを優先して更新し、その更新後に、下層の上位の階層のマスタ制御手段のコンピュータプログラムを更新するように更新順を制御するマスタ更新制御手段と、を有する。
【選択図】図2
【解決手段】マスタユニットは、スレーブ制御手段の階層構造において、下層のスレーブ制御手段で実行されるコンピュータプログラムを優先して更新し、その更新後に、下層の上位の階層のスレーブ制御手段のコンピュータプログラムを更新するように更新順を制御するスレーブ更新制御手段と、スレーブ更新手段によって、更新対象のスレーブユニットのコンピュータプログラムが更新された後に、マスタ制御手段の階層構造において、下層のマスタ制御手段で実行されるコンピュータプログラムを優先して更新し、その更新後に、下層の上位の階層のマスタ制御手段のコンピュータプログラムを更新するように更新順を制御するマスタ更新制御手段と、を有する。
【選択図】図2
Description
本発明は、車載コンピュータシステムに含まれるコンピュータプログラムの更新技術に関する。
車載機は複数の制御装置を含み、各制御装置は互いに車載ネットワークで接続される。これらの制御装置の中には、例えば、マスタユニット、あるいはマスタECU(Electronic Control Unit)と呼ばれ、車載機全体を管理する装置と、スレーブユニット、あるい
は、スレーブECUと呼ばれ、マスタユニットに接続され担当する処理を実行する装置が存在する。
は、スレーブECUと呼ばれ、マスタユニットに接続され担当する処理を実行する装置が存在する。
また、マスタユニット、スレーブユニットともに、プロセッサとメモリを含むマイクロコンピュータ(以下、単にマイコン)等の制御部を複数階層に渡って有することがある。複数階層とは、例えば、上位側の制御部の指示にしたがって、下位側の制御部が処理を分担して実行するような親子関係の構造をいう。したがって、車載機では、複数の制御部が親子関係を構築し、車載機がいわば制御部の木構造を構築している。そして、それぞれの制御部は、メモリ上に展開されたコンピュータプログラムを実行することで、それぞれの機能を提供する。
このような車両上の複数の機器に組み込むべき種々の制御プログラムを外部から読込んでEEPROMに保存し、そして伝送路を通じて車両上の各種の機器を指定して該当する制御プログラムをEEPROMから転送する技術も提案されている(例えば、下記特許文献1等)。
しかしながら、従来の技術では、車載機に含まれる各機器が親子関係を構築し、複雑な木構造を構築している場合に、それぞれの機器の制御プログラムを更新する際、更新が失敗した場合の配慮が十分でない。例えば、機器のプログラムを更新中に、誤操作あるいはバッテリ不足等により電源が遮断し、更新途中のプログラムが破壊されてしまう場合もあるからである。
本発明の目的は、車載機に含まれる各機器のプログラムを極力安全に更新し、予期しない障害が発生した場合にも、障害の影響を可能な限り小さくする技術を提供することである。
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明の一態様は、車内ネットワークで接続されるマスタユニットと1以上のスレーブユニットとを備える車載システムとして例示される。
ここで、マスタユニットは、車外のネットワークへの接続手段と、車内ネットワークへ
の接続手段と、階層構造を形成する複数のマスタ制御手段と、を有する。そして、複数のマスタ制御手段は、少なくとも一部の処理の実行を他のマスタ制御手段に指示する第1のマスタ制御手段と、第1のマスタ制御手段から指示された処理のうち少なくとも一部を実行するとともに、処理の少なくとも他の一部を実行する第3のマスタ制御手段が存在する場合に、他の一部の実行を第3のマスタ制御手段に指示する第2のマスタ制御手段とを含む、少なくとも2階層の階層構造を形成する。また、複数のマスタ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と、記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含む。
の接続手段と、階層構造を形成する複数のマスタ制御手段と、を有する。そして、複数のマスタ制御手段は、少なくとも一部の処理の実行を他のマスタ制御手段に指示する第1のマスタ制御手段と、第1のマスタ制御手段から指示された処理のうち少なくとも一部を実行するとともに、処理の少なくとも他の一部を実行する第3のマスタ制御手段が存在する場合に、他の一部の実行を第3のマスタ制御手段に指示する第2のマスタ制御手段とを含む、少なくとも2階層の階層構造を形成する。また、複数のマスタ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と、記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含む。
一方、スレーブユニットは、車内ネットワークへの接続手段と、階層構造を形成する複数のスレーブ制御手段と、を有する以外は、マスタユニットと同様の構成である。
そして、マスタユニットは、車外のネットワークへの接続手段を通じて、それぞれのコンピュータプログラムを更新するための更新プログラムを取得し、不揮発性の記憶手段に保存する手段と、スレーブユニットに対して、スレーブ制御手段の階層構造において、下層のスレーブ制御手段で実行されるコンピュータプログラムを優先して更新し、下層のスレーブ制御手段で実行されるコンピュータプログラムを更新後に、下層の上位の階層のスレーブ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するスレーブ更新制御手段と、スレーブ更新手段によって、更新対象のスレーブユニットのコンピュータプログラムが更新された後に、マスタ制御手段の階層構造において、下層のマスタ制御手段で実行されるコンピュータプログラムを優先して更新し、下層のマスタ制御手段で実行されるコンピュータプログラムを更新後に、下層の上位の階層のマスタ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するマスタ更新制御手段と、を有する。
この構成では、車載システムのコンピュータプログラムの更新において、マスタユニットより先にスレーブユニットが更新される。更新プログラムは、マスタユニットに保持されるので、スレーブユニットでの更新が失敗しても、直ちに、マスタユニットに保持される更新プログラムで、再度更新を行うことができる。一方、マスタユニットでの更新を先に行って失敗した場合に、車載システム全体の更新プログラムが利用できなくなり、再度、更新プログラム全体を取得しなければならない状態に陥る可能が高くなる。上記例示の態様は、そのような自体を回避できる可能性が高い。
また、スレーブユニット、マスタユニット、それぞれの更新において、スレーブ制御手段およびマスタ制御手段の、それぞれの階層構造の下層を先に更新する。通常、プログラムの更新では、更新の初期に問題が生じることが多い。したがって、階層構造の下層で実行されるコンピュータプログラムを先に更新することで、問題の発生、あるいは、更新失敗による影響を、階層構造の下層側、すなわち、システム中の狭い範囲に限定できる可能性が高い。
本発明によれば、車載機に含まれる各機器のプログラムを極力安全に更新し、予期しない障害が発生した場合にも、障害の影響を可能な限り小さくできる。
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係る車載システムについて説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
<システムの概要>
図1に、本車載システムの構成図を例示する。本車載システムは、車載LAN(Local Area Network)2(本発明の車内ネットワークに相当)で接続されたマスタユニット10と、1以上のスレーブユニット20、30等を含む。本実施形態では、スレーブユニット20,30の2台で説明するが、スレーブユニットの数は、2台に限定されるわけではなく、1台の場合もあり、また、3台以上の場合もある。車載LANとしては、様々な規格が提案されており、例えば、AVC-LAN、MOST(Media Oriented Systems Trans-port)等を
例示できる。
図1に、本車載システムの構成図を例示する。本車載システムは、車載LAN(Local Area Network)2(本発明の車内ネットワークに相当)で接続されたマスタユニット10と、1以上のスレーブユニット20、30等を含む。本実施形態では、スレーブユニット20,30の2台で説明するが、スレーブユニットの数は、2台に限定されるわけではなく、1台の場合もあり、また、3台以上の場合もある。車載LANとしては、様々な規格が提案されており、例えば、AVC-LAN、MOST(Media Oriented Systems Trans-port)等を
例示できる。
マスタユニット10、スレーブユニット20,30は、いずれも、ECU(Electronic
Control Unit)と呼ばれるものであり、内部に複数のマイクロコンピュータ(以下、マ
イコンという)を含んでいる。また、これらのマイコンは、階層的な親子関係を構成している。すなわち、図1の例では、マスタユニット10は、親マイコン11と親マイコン11に管理される子マイコン11A,11Bを有している。ここで、管理されるとは、例えば、親マイコン11の指示にしたがって、親マイコンが提供する機能の一部を分担して処理していることをいう。また、子マイコン11Bは、さらに、孫マイコン11Cを管理している。なお、これらのマイコンとマイコンとの間は、バス(図1では、「内部接続」で示す)で接続される。複数の親マイコン11、子マイコン11A,11B、孫マイコン11C等がマスタ制御手段に相当する。
Control Unit)と呼ばれるものであり、内部に複数のマイクロコンピュータ(以下、マ
イコンという)を含んでいる。また、これらのマイコンは、階層的な親子関係を構成している。すなわち、図1の例では、マスタユニット10は、親マイコン11と親マイコン11に管理される子マイコン11A,11Bを有している。ここで、管理されるとは、例えば、親マイコン11の指示にしたがって、親マイコンが提供する機能の一部を分担して処理していることをいう。また、子マイコン11Bは、さらに、孫マイコン11Cを管理している。なお、これらのマイコンとマイコンとの間は、バス(図1では、「内部接続」で示す)で接続される。複数の親マイコン11、子マイコン11A,11B、孫マイコン11C等がマスタ制御手段に相当する。
同様に、スレーブユニット20は、親マイコン21、子マイコン21A,21B,孫マイコン21Cを含む。また、スレーブユニット30は、親マイコン31、子マイコン31A,31B,孫マイコン31Cを含む。複数の親マイコン21、31、子マイコン21A,21B、31A,31B、孫マイコン21C,31C等がスレーブ制御手段に相当する。図1の例では、マスタユニット10、スレーブユニット20,30は、いずれも、子マイコンが2個、孫マイコンが1個の構成であるが、マイコンの階層関係がこのような構成に限定されるわけではない。
本車載システムは、無線通信媒体、例えば、車載データ通信モジュール(Data Communication Module:DCM)、携帯電話、PHS(Personal Handyphone System)、無線LAN等によって、基幹ネットワーク(コアネットワークともいう)上のセンタサーバ3と通信する。本車載システムのマスタユニット10は、センタサーバ3から、最新バージョンのプログラムを取得し、マスタユニット10、スレーブユニット20,30で実行されるコンピュータプログラムを最新バージョンのものに更新する。
図2に、マスタユニット10の具体例を示す。この例では、マスタユニット10の親マ
イコン11は、CPU12(本発明の処理手段に相当)、ROM(Read Only Memory)13、RAM(Random Access Memory)14およびI/Oインターフェース15を含む。ROM13は、例えば、フラッシュメモリであり、1回の書き込みと、データ消去後の再書き込みが可能である。この意味で、本実施形態のROM13は、不揮発性メモリ(本発明の記憶手段に相当)ともいい、書き込み不可能なメモリではない。ROM13には、CPU12で実行されるコンピュータプログラムが実行可能な形式に展開され、所定のアドレスに格納される。実行可能な形式とは、コンピュータプログラムがCPU12の機械命令列で記述され、コンピュータプログラムが有するそれぞれの部分(モジュール)がそれぞれのアドレスに直接または間接に割り当てられ、例えば、JUMP命令等の制御命令によって、モジュール間が結合され、次の実行すべき機械命令を示すカウンタの指示にしたがって、CPU12が機械命令を処理可能な状態で配置されていることをいう。
イコン11は、CPU12(本発明の処理手段に相当)、ROM(Read Only Memory)13、RAM(Random Access Memory)14およびI/Oインターフェース15を含む。ROM13は、例えば、フラッシュメモリであり、1回の書き込みと、データ消去後の再書き込みが可能である。この意味で、本実施形態のROM13は、不揮発性メモリ(本発明の記憶手段に相当)ともいい、書き込み不可能なメモリではない。ROM13には、CPU12で実行されるコンピュータプログラムが実行可能な形式に展開され、所定のアドレスに格納される。実行可能な形式とは、コンピュータプログラムがCPU12の機械命令列で記述され、コンピュータプログラムが有するそれぞれの部分(モジュール)がそれぞれのアドレスに直接または間接に割り当てられ、例えば、JUMP命令等の制御命令によって、モジュール間が結合され、次の実行すべき機械命令を示すカウンタの指示にしたがって、CPU12が機械命令を処理可能な状態で配置されていることをいう。
また、ROM13には、スレーブユニット20,30にインストールされるべきプログラムが一時的に保存される。一方は、RAM14は、例えば、ダイナミックRAMであり、CPU12が処理するデータ等が保持される。
また、図2では、子マイコン11Bの例として、チューナユニットが例示されている。チューナユニットは、CPU11B、ROM13B、I/Oインターフェース15B、およびチューナ16Bを含む。I/Oインターフェース15Bは、バスおよび親マイコンのI/Oインターフェース15を通じて、子マイコン11BのCPU12Bと、親マイコン11のCPU12とを接続する。CPU12Bは、ROM13B上に展開されたコンピュータプログラムを実行し、チューナ16Bを制御する。ROM13Bは、例えば、フラッシュメモリであり、1回の書き込みと、データ消去後の再書き込みが可能である。ROM13Bには、CPU12Bで実行されるコンピュータプログラムが実行可能な形式に展開され、所定のアドレスに格納される。チューナ16Bは、例えば、サーバ3から送信される情報を無線通信信号で受信する。なお、チューナ16Bの内部に、さらに、孫マイコンが設けられる場合がある。
子マイコン11BのCPU12Bは、チューナ16Bで受信された情報を、I/Oインターフェース15B、バス、およびI/Oインターフェース15を介して、親マイコンのCPU12に引き渡す。
図2では、他の子マイコンの例として、ビデオインターフェース15Cおよびビデオデコーダ16Cを含むビデオユニットが例示されている。例えば、ビデオデコーダ16C内にも、子マイコンの構成が含まれている。その場合に、機能の複雑さに応じて、子マイコンの配下にさらに、孫マイコンが設けられる。さらに、ビデオデコーダ16Cに、表示操作パネル17Cが接続される。表示操作パネル17Cは、映像データ、およびグラフィックスオブジェクトを画面に表示するとともに、グラフィックスオブジェクトに対するユーザ操作を検出する。すなわち、表示操作パネル17Cは、いわゆるタッチパネルである。
また、図2では、他の子マイコンの例として、オーディオインターフェース15Dおよびパワーアンプ16Dを含む構成が例示されている。例えば、パワーアンプ16D内にも、子マイコンの構成が含まれている。その場合に、機能の複雑さに応じて、子マイコンの配下にさらに、孫マイコンが設けられる。
さらに、図2では、I/Oインターフェース15には、I/Oインターフェース15Eを通じて入力操作部16Eが接続されている。入力操作部16Eは、例えば、操作ボタン列である。あるいは、入力操作部16Eは、リモートコントローラからの赤外線を受光する受光部と信号処理部を含む、リモートコントローラインターフェースでもよい。入力操作部15Eにも、少なくとも1つの子マイコンが設けられている。
また、I/Oインターフェース15には、I/Oインターフェース15Fを通じて着脱可能記憶媒体入出力装置16Fが接続されている。着脱可能記憶媒体入出力装置16Fは、例えば、CD−ROM(Compact Disk Read Only Memory)読み取り装置、DVD(Digital Versatile Disk)駆動装置、ブルーレイディスク駆動装置、フラッシュメモリカー
ド入出力装置等である。着脱可能記憶媒体入出力装置16Fにも、少なくとも1つの子マイコンが設けられている。
ド入出力装置等である。着脱可能記憶媒体入出力装置16Fにも、少なくとも1つの子マイコンが設けられている。
さらに、I/Oインターフェース15に車載LAN2へのインターフェース(本発明の車内ネットワークへの接続手段に相当)を通じて、車載LAN2が接続される。なお、スレーブユニット20,30も、マスタユニット10と同様の構成である。ただし、スレーブユニット20,30は、車載LAN2へのインターフェース(本発明の車内ネットワークへの接続手段に相当)を含むが、チューナ16B等の車外への接続手段および着脱可能記憶媒体入出力装置16Fは含まない。
したがって、マスタユニット10内には、装備される機器の構成にしたがって、親マイコン11の配下に子マイコン11B,11C、さらに、孫マイコン11Dのように(図1参照)、マイコンが階層的に接続される。
以上のような親マイコン以下、子マイコン、孫マイコン等の階層構造は、スレーブユニット20,30にも同様に存在する。スレーブユニット20は、例えば、エアーコンディショナー制御装置である。また、スレーブユニット30は、例えば、デジタルテレビ制御装置である。
本車載システムでは、各マイコンのコンピュータプログラムをバージョンアップする場合には、マスタユニット10の親マイコン11が、チューナユニット11Bを通じて、センタサーバ3にアクセスし、更新プログラムを取得する。ただし、マスタユニット10の親マイコンは、着脱可能記憶媒体入出力装置16Fを通じて可搬媒体(DVD,CD、メモリカード等)から更新プログラムを取得してもよい。
そして、マスタユニット10の親マイコン11は、マスタユニット10およびスレーブユニット20,30のそれぞれのマイコンで実行されるコンピュータプログラムを更新する。その場合に、本車載システムは、コンピュータプログラムの更新に伴う、不具合が車載システム全体に影響及ぼす可能性を極力抑制するように、各マイコンのコンピュータプログラムを更新する。
以下、個々のスレーブユニットは、参照番号を付して、スレーブユニット20のように呼び、一方、複数のスレーブユニットを総称する場合には、参照番号を省略して、単にスレーブユニットと呼ぶ。
<データ構造>
図3および図4に、マスタユニット10が、車載システムの各部のプログラムを更新するために参照するデータ例を示す。図3は、車載LAN2によってマスタユニット10に接続されるスレーブユニットの管理テーブルの例である。スレーブユニットの管理テーブルは、マスタユニット10のROM13に保持される。
図3および図4に、マスタユニット10が、車載システムの各部のプログラムを更新するために参照するデータ例を示す。図3は、車載LAN2によってマスタユニット10に接続されるスレーブユニットの管理テーブルの例である。スレーブユニットの管理テーブルは、マスタユニット10のROM13に保持される。
図3のように、スレーブユニットの管理テーブルの各レコードは、スレーブユニットの機器IDと、型番と、車載LAN2のアドレスを含む。スレーブユニットの機器IDは、スレーブユニットを識別する情報である。例えば、機器IDは、それぞれの機器(マスタ
ユニット、スレーブユニット等のECU)の車載LAN2上でのノード名である。型番は、それらの機器の製造メーカでの管理コードである。例えば、型番をキーにセンタサーバ3にアクセスし、その機器に関する詳細情報、例えば、機器内の部品構成、マイコンの数、複数のマイコンの階層構造等を取得できる。車載LAN2のアドレスは、マスタユニット10がスレーブユニットにアクセスするときのアドレスである。
ユニット、スレーブユニット等のECU)の車載LAN2上でのノード名である。型番は、それらの機器の製造メーカでの管理コードである。例えば、型番をキーにセンタサーバ3にアクセスし、その機器に関する詳細情報、例えば、機器内の部品構成、マイコンの数、複数のマイコンの階層構造等を取得できる。車載LAN2のアドレスは、マスタユニット10がスレーブユニットにアクセスするときのアドレスである。
スレーブユニットの管理テーブルは、次のようにしてメンテナンスされる。例えば、スレーブユニット20が組み込まれ、最初に、マスタユニット10とスレーブユニット20間で、通信がなされたときに、スレーブユニット20の情報をスレーブユニットの管理テーブルに格納するようにすればよい。スレーブユニットの管理テーブルを参照することによって、マスタユニット10のCPU12は、車載LAN2に接続されたそれぞれのスレーブユニット20等の存在の有無、型番およびそのスレーブユニット20等にアクセスするための車載LAN2上のアドレスを認識できる。型番については、スレーブユニット20等のインストール時、操作表示パネル17Cから入力し、機器IDと対応付けて記録するようにしてもよい。また、車載システムの工場出荷時に、図3のようなスレーブユニットの管理テーブルを不揮発性メモリに格納しておくようにしてもよい。
図4は、例えば、スレーブユニットの1つであり、機器ID(ECU1)によって特定されるスレーブユニットが有するマイコンの管理テーブルの例である。マイコンの管理テーブルは、マスタユニット10、あるいは、各スレーブユニットに対してそれぞれ設けられ、それぞれに含まれるマイコンを管理する。マイコンの管理テーブルの各レコードは、マイコンID、子ID、親ID、および通信用マイコンフラグを含む。
例えば、機器IDがECU1のスレーブユニットの場合には、マイコンとして、ID1−ID5が例示されている。まだ、ID1のマイコンの子IDとして、ID2,ID3が存在する。この例では、ID2,ID3のマイコンは、それぞれID1のマイコンの子マイコンであることを示している。また、ID1のマイコンは、ID2,ID3のマイコンの親マイコンであることを示している。ID1のマイコンの親マイコンの指定が空欄("-")となっており、ID1のマイコンが階層構造の最上位に位置することを示している。
さらに、通信用マイコンフラグから、マイコンIDがID5のマイコンは、通信用マイコンであることを示している。このようなマイコンの管理テーブルは、センタサーバ3から取得し、ROM13に格納しておけばよい。
すなわち、マスタユニット10は、最初にスレーブユニット(例えば、ECU1)と通信を確立し、ECU1を認識したときに、そのスレーブユニットの機器IDをスレーブユニットの管理テーブルに登録するとともに、センタサーバ3から、そのスレーブユニットのマイコンの管理テーブルを取得し、不揮発性メモリに格納しておけばよい。
<処理フロー>
図5に、車載システムのプログラム更新処理の処理フローを例示する。図5の処理は、マスタユニット10のCPU12が不揮発性メモリに展開されたコンピュータプログラムを実行することによって実現される。マスタユニット10の入出力操作部16Eへのユーザ操作をCPU12が検知して、図5に示す処理を起動する。なお、入出力操作部16Eへの操作の代わりに、表示操作パネル17Cへの操作によって、図5の処理を起動してもよい。
図5に、車載システムのプログラム更新処理の処理フローを例示する。図5の処理は、マスタユニット10のCPU12が不揮発性メモリに展開されたコンピュータプログラムを実行することによって実現される。マスタユニット10の入出力操作部16Eへのユーザ操作をCPU12が検知して、図5に示す処理を起動する。なお、入出力操作部16Eへの操作の代わりに、表示操作パネル17Cへの操作によって、図5の処理を起動してもよい。
この処理では、マスタユニット10は、まず、センタサーバ3からシステムの更新プログラムを暗号化した暗号化データをダウンロードし、マスタユニット10のRAM14に保存する(S5)。そして、マスタユニット10は、ダウンロードしたプログラムをマス
タユニット10のRAM14上で復号し、不揮発性メモリに保存する(S7)。S7の処理を実行するマスタユニット10のCPU12が本発明の更新プログラムを取得し、不揮発性の記憶手段に保存する手段に相当する。
タユニット10のRAM14上で復号し、不揮発性メモリに保存する(S7)。S7の処理を実行するマスタユニット10のCPU12が本発明の更新プログラムを取得し、不揮発性の記憶手段に保存する手段に相当する。
次に、マスタユニット10は、更新プログラムによってプログラムを更新する更新対象の機器を決定する(S8)。更新対象機器の一覧表は、更新プログラムとともに、センタサーバ3からダウンロードするようにすればよい。そして、マスタユニット10は、更新対象機器の一覧表(型番の一覧表)と、スレーブユニット管理テーブル(図3)の型番を照合し、本車載システムに搭載されている更新対象機器を決定すればよい。
次に、マスタユニット10は、復号した更新プログラムを用いて、スレーブユニットのプログラムを更新する(S9)。そして、マスタユニット10は、すべての更新対象のスレーブユニットのプログラムを更新したか否かを判定する(S10)。そして、更新対象のスレーブユニットで未更新のものが存在する場合に、マスタユニット10は、制御をS9に戻し、残りの更新対象のスレーブユニットに対して、プログラムの更新処理を繰り返す。
一方、すべての更新対象のスレーブユニットの更新処理が終了すると、次に、マスタユニット10は、マスタユニット10自身が更新対象となっているか否かを判定する(S12)。そして、更新プログラムによる更新対象に、マスタユニット10のプログラムが含まれる場合、マスタユニット10は、マスタユニット10自身の更新対象のプログラムを更新する(S13)。S13の処理を実行するマスタユニット10のCPU12が本発明のマスタ更新制御手段に相当する。
図6に、スレーブユニットのプログラム更新処理(図6のS9)の詳細を例示する。この処理では、マスタユニット10は、それぞれのスレーブユニットのマイコン管理テーブル(図4参照)を基に、プログラム更新対象のスレーブユニットでマイコンの階層構造をたどり、次のマイコンを検索する(S91)。ここで、次のマイコンとは、階層構造で最も下位に位置するマイコンである。例えば、親マイコン、子マイコン、孫マイコンの3階層が存在する場合に、孫マイコンが最初に更新対象となる。階層構造で最も下位に位置するマイコンは、図4のマイコンの管理テーブルをたどることで、検索できる。また、同一階層複数のマイコンが存在する場合、図4のマイコンの管理テーブル中で先に見出された方のマイコンを先に処理する。
そして、検索されたマイコンがプログラムの更新対象か否かを判定する(S93)。プログラムの更新対象のマイコンの識別情報は、例えば、更新プログラムとともに、センタサーバ3からダウンロードするようにすればよい。そして、S91で検索された次のマイコンがプログラム更新の対象である場合、スレーブユニットにそのマイコンのプログラムの更新を指示する(S95)。プログラムの更新は、例えば、そのマイコンが実行するスレーブユニットの不揮発性メモリ上のアドレスに該当するプログラムを書き込むことによってなされる。スレーブユニットの不揮発性メモリへのプログラムの書き込み処理は、例えば、マスタユニット10(親マイコン11)から、スレーブユニットに、更新対象のマイコンのIDと、そのマイコンの更新プログラムを引き渡し、スレーブユニットに書き込みを依頼すればよい。S91−S95の処理を実行するマスタユニット10のCPU12が本発明のスレーブ更新制御手段に相当する。
次に、マスタユニット10は、当該スレーブユニットについて、すべてのマイコンのプログラム更新の確認が終了したか否かを判定する(S97)。すべてのマイコンのプログラム更新処理が終了していない場合、マスタユニット10は、制御をS91に戻し、スレーブユニット内のマイコンの階層構造中で、次のマイコンを検索する。この処理は、階層
構造中で、最下層のマイコンから、親マイコンに至るまで繰り返される。一方、すべてのマイコンのプログラム更新の確認が終了すると、マスタユニット10は、処理を終了する。
構造中で、最下層のマイコンから、親マイコンに至るまで繰り返される。一方、すべてのマイコンのプログラム更新の確認が終了すると、マスタユニット10は、処理を終了する。
なお、ここでは、図6の処理は、マスタユニット10で実行するものとしたが、S91からS97の処理をスレーブユニットの親マイコンが実行するようにしてもよい。
図7に、スレーブユニット側の親マイコンによる更新処理を例示する。この処理では、スレーブユニットは、マスタユニット10から更新対象のマイコンのIDと、更新プログラムを受信する(S31)。つぎに、スレーブユニット側の親マイコンは、受信した更新プログラムのうち、通信用マイコンの更新プログラムを不揮発性メモリに保存する(S32)。通信用マイコンとは、車載LAN2とのインターフェースを制御するマイコンである。
S32では、通信用マイコンの更新プログラムを不揮発性メモリに保存したが、通信用マイコンの更新前のプログラムを不揮発性メモリに保存するようにしてもよい。更新プログラムを保存した場合には、更新に失敗したときに、再度更新を実行できる。また、更新前のプログラムを保存した場合には、更新に失敗したときに更新前の状態に復旧できる。したがって、通信用マイコンの更新プログラムまたは更新前のプログラムの少なくとも一方を保存すればよい。この処理を実行するスレーブユニットの親マイコンが本発明の車内ネットワークへの接続手段を制御するコンピュータプログラムの更新プログラムおよび更新前のコンピュータプログラムの少なくとも1つを保存する手段に相当する。
次に、更新処理の開始を不揮発性メモリに記憶する(S33)。S33の処理を実行するスレーブユニットの親マイコンが本発明のコンピュータプログラムの更新が開始されたことを不揮発性の記憶装置に記録する手段に相当する。
そして、親マイコンは、更新対象のマイコンのプログラムを更新する。すなわち、マスタユニット10から指定されたマイコンのIDに対応するプログラムの格納先(不揮発性メモリのアドレス)に、更新プログラムを書き込む(S35)。
そして、更新が終了すると、スレーブユニット側の親マイコンは、更新完了を不揮発性メモリに記憶する(S39)。S39の処理を実行するスレーブユニットの親マイコンが本発明のコンピュータプログラムの更新が完了したことを不揮発性の記憶装置に記録する手段に相当する。
図8に、スレーブユニット側の親マイコンによる復旧処理を例示する。これは、例えば、スレーブユニット側の親マイコンが、スレーブユニットに属するいずれかのマイコンのプログラム更新処理実行中に、電源が遮断してしまった場合に、次に、電源が再投入されたときの処理である。この処理は、電源が投入されると常に、実行される。
この処理では、スレーブユニット側の親マイコンは、不揮発性メモリにおいて、更新が開始され、かつ、更新が終了していない記録が存在するか否かを検索する。そのような記録が検出された場合、スレーブユニット側の親マイコンは、更新未完了と判定する(S53)。S53の処理を実行するスレーブユニットの親マイコンが本発明の更新が中断したことを判定する手段に相当する。
その場合には、スレーブユニット側の親マイコンは、不揮発性メモリに格納された更新プログラムが正常なものであるか否かを判定する(S55)。すなわち、プログラム更新中に、電源が遮断された場合には、完全な状態で、更新プログラムが不揮発性メモリに格
納されていない可能性がある。不揮発性メモリに格納された更新プログラムが正常なものであるか否か(プログラムが破壊されているか否か)は、例えば、センタサーバ3からダウンロードされる更新プログラムにチェックサム値を付与しておけばよい。そして、不揮発性メモリに格納された更新プログラムのチェックサムを算出し、センタサーバ3からダウンロードされたチェックサムと一致するか否かを判定すればよい。S55の処理を実行するスレーブユニットの親マイコンが本発明の更新プログラムが破壊されているか否かを判定する手段に相当する。
納されていない可能性がある。不揮発性メモリに格納された更新プログラムが正常なものであるか否か(プログラムが破壊されているか否か)は、例えば、センタサーバ3からダウンロードされる更新プログラムにチェックサム値を付与しておけばよい。そして、不揮発性メモリに格納された更新プログラムのチェックサムを算出し、センタサーバ3からダウンロードされたチェックサムと一致するか否かを判定すればよい。S55の処理を実行するスレーブユニットの親マイコンが本発明の更新プログラムが破壊されているか否かを判定する手段に相当する。
そして、プログラムが正常でない場合、スレーブユニット側の親マイコンは、破壊されたプログラムが、通信用マイコンのプログラムか否かを判定する(S56)。破壊されているのが、通信用マイコンのプログラムでない場合、スレーブユニット側の親マイコンは、マスタユニット10に、更新対象のマイコンのIDを指定し、更新プログラムの再送信を要求する(S57)。S57の処理を実行するスレーブユニットの親マイコンが本発明の再度の送信を要求する手段に相当する。そして、スレーブユニット側の親マイコンは、更新プログラムを再度受信し(この処理を実行するスレーブユニットの親マイコンが本発明の再度取得する手段に相当)、更新対象のマイコンのプログラムを更新する(S58)。
一方、破壊されているのが、通信用マイコンのプログラムである場合、スレーブユニット側の親マイコンは、不揮発性メモリから通信用マイコンのプログラムを読み出し、更新処理を再実行する(S59)。S59の処理を実行するスレーブユニットの親マイコンが本発明のネットワークへの接続手段の制御を復旧する手段に相当する。そして、通信用マイコンのプログラム更新完了後に、スレーブユニット側の親マイコンは、更新完了を不揮発性メモリに記憶する(S60)。
以上述べたように、本実施例に係る車載システムによれば、マスタユニット10よりも先に、スレーブユニットのプログラムを更新する。マスタユニット10のプログラムの更新が失敗したような場合には、例えば、着脱可能記憶媒体の入出力装置を通じて、リカバリを行い、再度センタサーバ3から更新プログラムをダウンロードできる。しかし、その場合に、全プログラムのダウンロードが必要となる。すなわち、車載システム全体の更新がやり直しとなる。一方、本実施例のように、スレーブユニット側のプログラムの更新を先に行って、更新に失敗した場合には、更新プログラムがマスタユニット10の不揮発性メモリに残っているので、少ない負荷で再度スレーブユニットのプログラムの更新を再度実行できる。
しかしながら、スレーブユニットの場合には、通常、マスタユニット10のように、着脱可能記憶媒体の入出力装置16Fを接続する構成になっていない。したがって、車載LAN2を通じたマスタユニット10と、スレーブユニットとの通信が重要なリカバリ手段となる。そこで、本実施例では、図8に示したように、スレーブユニット側にて、少なくとも車載LAN2を通じてマスタユニット10と通信するための通信用マイコンの更新プログラムまたは更新前の通信プログラムを親マイコンの不揮発性メモリに保存する。これにより、通信プログラムの更新時に、電源遮断等の不慮の事態が発生しても、スレーブユニット側で、少なくとも、マスタユニット10との通信機能を復旧できる。
また、スレーブユニットに対するプログラムの更新において、親マイコン、子マイコン、あるいは、孫マイコンという階層的なマイコンの構成において、下位に位置するマイコンのプログラムを先に更新した。下位のマイコンほど、プログラムの更新失敗時の影響範囲が小さいので、以上の手順によって、より安全にプログラムの更新を実施できる。例えば、更新プログラム自体に問題があって更新に失敗するような事態が発生しても、早期に、影響の少ない範囲で問題を摘出できる。
また、本実施例では、スレーブユニット側にて、親マイコンがそれぞれのマイコンのプログラムの更新開始と更新完了とを不揮発性メモリに記録する。そして、車載システムの電源が投入されたときに、プログラムの更新が開始され、更新が完了していない記録が残っているか否かを判定する。これによって、更新途中で中断してしまった更新処理を検出できる。さらに、そのような中断が検出されると、次に、親マイコンは、更新プログラムが破壊されているか否かを確認する。そして、通信プログラムが破壊されている場合には、親マイコンが保存したプログラムを基に通信機能を復旧する。また、通信プログラム以外のプログラムが破壊されている場合には、マスタユニットから再度更新プログラムを取得する。このように、本車載システムによれば、更新の中断、プログラムの破壊を検出可能として、プログラムの更新に伴う問題の発生を極力低減できる。
上記実施例1では、スレーブユニット側で、通信マイコンの更新プログラムを一旦不揮発性メモリに保存した上で、プログラムの更新を実行した。そのような手順によって、少なくとも、マスタユニット10とスレーブユニットとの間の車載LAN2を通じた復旧手段を維持した。そのような構成に代えて、すなわち、通信マイコンの更新プログラムを一旦不揮発性メモリに保存する代わりに、スレーブユニットでのマイコンのプログラム更新手順を工夫することで、スレーブユニットのリカバリができなくなるという問題の発生をある程度低減できる。
図9に、スレーブユニットのプログラム更新処理の他の例を示す。この処理は、通信用マイコンについては、最後にプログラムを更新する点が、図6の場合と相異する。
すなわち、マスタユニット10は、そのスレーブユニットに含まれるマイコンのうち、通信用マイコン以外のマイコンを図5のマイコン管理テーブルから、階層構造の最下層を優先して検索する(S91A)。その後のS93−S97の処理は、図6の場合と同様であるので、その説明を省略する。そして、通信用マイコンを除くマイコンに対して、プログラム更新の確認が終了すると、マスタユニット10は、通信用マイコンがプログラム更新の対象か否かを判定する(S98)。そして、通信用マイコンがプログラム更新の対象である場合、マスタユニット10は、そのスレーブユニットに含まれるマイコン中の通信用マイコンのプログラムの更新を指示する(S99)。
このような手順を取ることによって、更新用プログラムに問題があって、更新が失敗する場合でも、通信用マイコンのプログラム更新よりも前に問題が発生する可能性を高くすることができる。例えば、図9では、省略しているが、マイコンのプログラム更新が終了するごとに、それぞれのマイコン単独で、動作チェックを行ってもよい。また、通信用マイコン以外の更新対象のマイコンのプログラム更新が終了したときに、動作チェックを実行してもよい。
そして、問題が発生した段階で、更新処理を停止し、当該スレーブユニットからマスタユニット10に問題が発生した旨を報知するようにすればよい。このような手順により、通信用マイコンでのプログラム更新失敗の可能性を低減できる。通信用マイコンで障害が発生すると、マスタユニット10との通信が不可となり、そのスレーブユニットの使用ができなくなる場合が生じる。そのような可能性を極力低減できる。
なお、実施例2では、通信マイコンの更新プログラムを一旦不揮発性メモリに保存する代わりに、スレーブユニットでの通信用マイコンのプログラム更新手順を最後にすることで、問題の発生をある程度低減した。しかし、そのような手順に代えて、通信マイコンの更新プログラムを一旦不揮発性メモリに保存するとともに、さらに、スレーブユニットで
の通信用マイコンのプログラム更新を最後にするようにしてもよい。そのような組み合わせによって、確実にマスタユニット10とスレーブユニットとの通信を復旧する手段を維持した上で、さらに、通信用マイコンでのプログラムの更新失敗の発生を低減できる。
の通信用マイコンのプログラム更新を最後にするようにしてもよい。そのような組み合わせによって、確実にマスタユニット10とスレーブユニットとの通信を復旧する手段を維持した上で、さらに、通信用マイコンでのプログラムの更新失敗の発生を低減できる。
(アクセサリ電源遮断後のプログラム更新)
上記実施例1では、車載システムに対して、十分に電力が供給できる状態、すなわち、車両の動力源(例えば、エンジン)が始動中で、アクセサリ電源から、電力が供給される状態でのプログラムの更新処理を説明した。しかし、車両の運転中に、車載システムのプログラムが更新されると、車載システム自体が利用できなくなる。このため、ユーザに対して、車両の動力源が停止後(アクセサリ電源停止後)に、バッテリのような二次電池にて、車載システムを駆動し、プログラム更新する機能が提供される。
上記実施例1では、車載システムに対して、十分に電力が供給できる状態、すなわち、車両の動力源(例えば、エンジン)が始動中で、アクセサリ電源から、電力が供給される状態でのプログラムの更新処理を説明した。しかし、車両の運転中に、車載システムのプログラムが更新されると、車載システム自体が利用できなくなる。このため、ユーザに対して、車両の動力源が停止後(アクセサリ電源停止後)に、バッテリのような二次電池にて、車載システムを駆動し、プログラム更新する機能が提供される。
図10に、アクセサリ電源停止後のプログラム更新処理を例示する。この処理は、入力操作部16Eまたは表示操作パネル17Cを通じたユーザの指示をマスタユニット10が受け付けて実行される。その指示を検出するマスタユニット10のCPU12が、本発明の二次電池モードでの更新実行の指示を受け付ける手段に相当する。
そのような指示を受け付け、マスタユニット10は、アクセサリ電源遮断後、二次電池にて車載システムが駆動されているときに、以下の処理を実行する。この処理では、マスタユニット10は、二次電池の充電状態を確認する(S1)。二次電池の充電状態は、例えば、二次電池の端子電圧から判定できる。
そして、マスタユニット10は、充電量が十分か否かを判定する(S3)。充電量が十分か否かの基準値は、プログラム更新処理に必要な時間から決定すればよい。例えば、車載システムのプログラム更新に必要な時間が、事前の試験等によって、T2分であるとする。一方、二次電池の開放端子電圧Vと、車載システムの稼働可能時間Tを関係付けてマップ化し、不揮発性メモリに格納しておく。そして、T2の稼働に必要な充電量に相当する開放端子電圧V2をマップから求め、基準値とすればよい。そして、開放端子電圧Vが基準値V2を上回っている場合には、充電量が十分であると判定すればよい。S3の処理を実行するマスタユニット10のCPU12が、本発明の充電状態を検出する手段に相当する。
充電量が不十分な場合、マスタユニット10は、例えば、車載システムの表示操作パネル17Cに二次電池の充電量が不足している旨のメッセージを表示し(S21)、処理を終了する。なお、このようなメッセージの代わりに、発光ダイオード等で、所定の警告を表示するようにしてもよい。S21の処理を実行するマスタユニット10のCPU12が、本発明の報知する手段に相当する。一方、充電量が十分な場合、マスタユニット10は、S5−S13の処理を実行する。この処理は、実施例1,2と同様である。
そして、スレーブユニットおよびマスタユニット10自身のプログラム更新後に、マスタユニット10は、それぞれのスレーブユニットが電源を遮断したか否かを確認する(S15)。S15の処理を実行するマスタユニット10のCPU12が、本発明の更新完了後に電源を遮断したか否かを判定する手段に相当する。
スレーブユニットの電源が遮断されていない場合、例えば、表示操作パネル17Cでの警告メッセージの表示、あるいは、発光ダイオード等による警告の表示を行えばよい。また、ブザー等の音によって、警告を発してもよい。そして、マスタユニット10は、制御をS15に戻し、再度スレーブユニットが電源を遮断したか否かを確認する。なお、それぞれのスレーブユニットが電源を遮断したか否かを確認する代わりに、それぞれのスレー
ブユニットでプログラムの更新が完了したときに、マスタユニット10が、その更新が完了したスレーブユニットの電源を強制的に遮断するようにしてもよい。
ブユニットでプログラムの更新が完了したときに、マスタユニット10が、その更新が完了したスレーブユニットの電源を強制的に遮断するようにしてもよい。
一方、すべてのスレーブユニットの電源が遮断された場合、マスタユニット10は、マスタユニット10自身の電源を遮断する(S19)。S19の処理を実行するマスタユニット10のCPU12が、本発明のマスタユニット10の電源を遮断する手段に相当する。
以上述べたように、本実施例によれば、アクセサリ電源遮断後でも、安全にプログラムの更新処理を実行できる。また、プログラム更新終了後、確実に、スレーブユニットおよびマスタユニット10の電源を遮断し、二次電池の消耗を回避できる。
また、本実施例によれば、マスタユニットは、二次電池の充電状態が十分でない場合には、二次電池の充電量が不足している旨のメッセージを表示し、処理を終了する。したがって、更新処理が途中で中断してしまうような不十分なバッテリ状態でのプログラムの更新処理の起動を抑制できる。
図11に、実施例4に係るプログラム更新処理を例示する。この処理は、車載LAN2がリングネットワークであった場合の処理である。リングネットワークの場合、ネットワークに接続されるマスタユニット10、およびスレーブユニットのいずれかが停止すると、もはや、車載システム全体の通信が遮断される。そこで、リングネットワークの場合には、プログラムの更新終了後、時刻を設定して、マスタユニット10およびスレーブユニットが一斉に電源を遮断する。他の構成および作用は、実施例3と同様である。そこで、同一の処理ステップには、同一の符号を付してその説明を省略する。
すなわち、図11で、S1から13までの処理、およびS21の処理は、図10と同様である。実施例4では、プログラムの更新終了後(S11でYESの場合)、マスタユニット10は、各スレーブユニットに、所定時間(例えば、T1秒)後に、電源を遮断するように指示を送信する(S15A)。S11の処理を実行するマスタユニット10のCPU12が、本発明の更新が完了したか否かを判定する手段に相当する。また、S15の処理を実行するマスタユニット10のCPU12が、本発明のスレーブユニットの電源を遮断する指示をスレーブユニットに送信する手段に相当する。
そして、マスタユニット10は、所定時間(T1秒)を計測する(S17A)。S17の処理を実行するマスタユニット10のCPU12が、本発明の計測する手段に相当する。時間の計測は、例えば、マスタユニット10の親マイコンのクロックおよびOSのクロック機能をAPI(アプリケーションインターフェース)から呼び出して、実現すればよい。なお、このとき、各スレーブユニットでも、同様の計測がなされている。
そして、所定時間(T1秒)経過後、マスタユニット10は、電源を遮断する(S19)。同様に、各スレーブユニットも、電源を遮断する。S19の処理を実行するマスタユニット10のCPU12が、本発明の所定時間経過後に、マスタユニット10の電源を遮断する手段に相当する。
以上のような手順によって、リングネットワークの車載LAN2であっても、二次電池によるプログラム更新実行後、マスタユニット10およびスレーブユニットの電源を遮断し、二次電池の消耗を抑制できる。
<その他>
以上述べた車載システムの機能は、マスタユニット10、スレーブユニット等に含まれる各親マイコン、および子マイコンが実行するコンピュータとして実現できる。また、これらのコンピュータプログラムは、着脱可能記憶媒体入出力装置16Fでデータを入出力可能な媒体に記憶し、車載システムにインストールすることもできる。また、車載システムが、チューナ16B等を通じて、車外のネットワークから、これらのコンピュータプログラムをダウンロードし、車載システムにインストールすることもできる。
以上述べた車載システムの機能は、マスタユニット10、スレーブユニット等に含まれる各親マイコン、および子マイコンが実行するコンピュータとして実現できる。また、これらのコンピュータプログラムは、着脱可能記憶媒体入出力装置16Fでデータを入出力可能な媒体に記憶し、車載システムにインストールすることもできる。また、車載システムが、チューナ16B等を通じて、車外のネットワークから、これらのコンピュータプログラムをダウンロードし、車載システムにインストールすることもできる。
1 車載システム
2 車載LAN
3 センタサーバ
10 マスタユニット
11,21,31 親マイコン
12 CPU
13 ROM
14 RAM
15,15B I/Oインターフェース
11A,11B,11C 子マイコン
20,30 スレーブユニット
21A,21B,21C,31A,31B,31C 子マイコン
2 車載LAN
3 センタサーバ
10 マスタユニット
11,21,31 親マイコン
12 CPU
13 ROM
14 RAM
15,15B I/Oインターフェース
11A,11B,11C 子マイコン
20,30 スレーブユニット
21A,21B,21C,31A,31B,31C 子マイコン
Claims (5)
- 車内ネットワークで接続されるマスタユニットと1以上のスレーブユニットとを備え、
前記マスタユニットは、
車外のネットワークへの接続手段と、
前記車内ネットワークへの接続手段と、
階層構造を形成する複数のマスタ制御手段と、を有し、
前記複数のマスタ制御手段は、少なくとも一部の処理の実行を他のマスタ制御手段に指示する第1のマスタ制御手段と、前記第1のマスタ制御手段から指示された前記処理のうち少なくとも一部を実行するとともに、前記処理の少なくとも他の一部を実行する第3のマスタ制御手段が存在する場合に、前記他の一部の実行を前記第3のマスタ制御手段に指示する第2のマスタ制御手段とを含む、少なくとも2階層の階層構造を形成し、
前記複数のマスタ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と、前記記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含み、
前記スレーブユニットは、
前記車内ネットワークへの接続手段と、
階層構造を形成する複数のスレーブ制御手段と、を有し、
前記複数のスレーブ制御手段は、少なくとも一部の処理の実行を他のスレーブ制御手段に指示する第1のスレーブ制御手段と、前記第1のスレーブ制御手段から指示された前記処理のうち少なくとも一部を実行するとともに、前記処理の少なくとも他の一部を実行する第3のスレーブ制御手段が存在する場合に、前記他の一部の実行を前記第3のスレーブ制御手段に指示する第2のスレーブ制御手段とを含む、少なくとも2階層の階層構造を形成し、
前記複数のスレーブ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と前記記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含み、
前記マスタユニットは、
前記車外のネットワークへの接続手段を通じて、前記それぞれのコンピュータプログラムを更新するための更新プログラムを取得し、不揮発性の記憶手段に保存する手段と、
前記スレーブユニットに対して、前記スレーブ制御手段の階層構造において、下層のスレーブ制御手段で実行されるコンピュータプログラムを優先して更新し、前記下層のスレーブ制御手段で実行されるコンピュータプログラムを更新後に、前記下層の上位の階層のスレーブ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するスレーブ更新制御手段と、
前記スレーブ更新制御手段によって、更新対象のスレーブユニットのコンピュータプログラムが更新された後に、前記マスタ制御手段の階層構造において、下層のマスタ制御手段で実行されるコンピュータプログラムを優先して更新し、前記下層のマスタ制御手段で実行されるコンピュータプログラムを更新後に、前記下層の上位の階層のマスタ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するマスタ更新制御手段と、を有する車載コンピュータシステム。 - 前記スレーブユニットの階層構造の最上位のスレーブ制御手段は、
前記車内ネットワークへの接続手段の制御のための通信プログラムの更新プログラムおよび更新前の通信プログラムの少なくとも1つを保存する手段と、
前記コンピュータプログラムの更新が開始されたことを不揮発性の記憶装置に記録する手段と、
前記コンピュータプログラムの更新が完了したことを前記不揮発性の記憶装置に記録する手段と、
電源が遮断後、再度投入されたときに、前記コンピュータプログラムの更新が開始され
た後に終了前に更新が中断したことを判定する手段と、
前記終了前に更新が中断したと判定したときに、更新プログラムが破壊されているか否かを判定する手段と、
前記通信プログラムの更新プログラムが破壊されている判定したときに前記不揮発性メモリに保存した更新プログラムまたは更新前の通信プログラムによって車内ネットワークへの接続手段の制御を復旧する手段と、
前記通信プログラム以外の更新プログラムが破壊されている判定したときに
前記マスタユニットに再送要求して前記更新プログラムを再度取得する手段と、を有し、
前記マスタユニットは、前記再送要求された更新プログラムを前記不揮発性の記憶手段から読み出して前記スレーブユニットに送信する手段を有する請求項1に記載に車載コンピュータシステム。 - 前記マスタユニットは、車両のエンジン停止後に二次電池駆動にて前記コンピュータプログラムの更新を実行する二次電池モードでの更新実行の指示を受け付ける手段と、
二次電池モードでの更新の実行時に、前記スレーブユニットがコンピュータプログラムの更新完了後に電源を遮断したか否かを判定する手段と、
前記スレーブユニットが電源を遮断した後に、マスタユニットの電源を遮断する手段と、を有する請求項1または2に記載の車載コンピュータシステム。 - 前記車載ネットワークはリング接続されたネットワークであり、
前記マスタユニットは、車両のエンジン停止後に二次電池駆動にて前記コンピュータプログラムの更新を実行する二次電池モードでの更新実行の指示を受け付ける手段と、
二次電池モードでの更新の実行時に、前記スレーブユニットのそれぞれにおいてコンピュータプログラムの更新が完了したか否かを判定する手段と、
すべてのスレーブユニットでの更新が完了したときに、それぞれのスレーブユニットの電源を所定時間経過後に遮断する指示を、スレーブユニットに送信する手段と、
前記所定時間を計測する手段と、
前記所定時間経過後に、マスタユニットの電源を遮断する手段と、を有する請求項1または2に記載の車載コンピュータシステム。 - 1以上のスレーブユニットと車内ネットワークで接続されるマスタユニットであり、
前記スレーブユニットは、
前記車内ネットワークへの接続手段と、
階層構造を形成する複数のスレーブ制御手段と、を有し、
前記複数のスレーブ制御手段は、少なくとも一部の処理の実行を他のスレーブ制御手段に指示する第1のスレーブ制御手段と、前記第1のスレーブ制御手段から指示された前記処理のうち少なくとも一部を実行するとともに、前記処理の少なくとも他の一部を実行する第3のスレーブ制御手段が存在する場合に、前記他の一部の実行を前記第3のスレーブ制御手段に指示する第2のスレーブ制御手段とを含む、少なくとも2階層の階層構造を形成し、
前記複数のスレーブ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と前記記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含み、
前記マスタユニットは、
車外のネットワークへの接続手段と、
前記車内ネットワークへの接続手段と、
階層構造を形成する複数のマスタ制御手段と、を有し、
前記複数のマスタ制御手段は、少なくとも一部の処理の実行を他のマスタ制御手段に指示する第1のマスタ制御手段と、前記第1のマスタ制御手段から指示された前記処理のうち少なくとも一部を実行するとともに、前記処理の少なくとも他の一部を実行する第3
のマスタ制御手段が存在する場合に、前記他の一部の実行を前記第3のマスタ制御手段に指示する第2のマスタ制御手段とを含む、少なくとも2階層の階層構造を形成し、
前記複数のマスタ制御手段がそれぞれ、コンピュータプログラムを実行可能な形式で記憶する記憶手段と、前記記憶手段に記憶されたコンピュータプログラムを実行する処理手段と、を含み、
さらに、前記マスタユニットは、
前記車外のネットワークへの接続手段を通じて、前記それぞれのコンピュータプログラムを更新するための更新プログラムを取得し、不揮発性の記憶手段に保存する手段と、
前記スレーブユニットに対して、前記スレーブ制御手段の階層構造において、下層のスレーブ制御手段で実行されるコンピュータプログラムを優先して更新し、前記下層のスレーブ制御手段で実行されるコンピュータプログラムを更新後に、前記下層の上位の階層のスレーブ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するスレーブ更新制御手段と、
前記スレーブ更新制御手段によって、更新対象のスレーブユニットのコンピュータプログラムが更新された後に、前記マスタ制御手段の階層構造において、下層のマスタ制御手段で実行されるコンピュータプログラムを優先して更新し、前記下層のマスタ制御手段で実行されるコンピュータプログラムを更新後に、前記下層の上位の階層のマスタ制御手段で実行されるコンピュータプログラムを更新するように更新順を制御するマスタ更新制御手段と、を有するマスタユニット。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009040110A JP2010195111A (ja) | 2009-02-24 | 2009-02-24 | 車載コンピュータシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009040110A JP2010195111A (ja) | 2009-02-24 | 2009-02-24 | 車載コンピュータシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010195111A true JP2010195111A (ja) | 2010-09-09 |
Family
ID=42820316
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009040110A Withdrawn JP2010195111A (ja) | 2009-02-24 | 2009-02-24 | 車載コンピュータシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010195111A (ja) |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2488006A (en) * | 2011-02-14 | 2012-08-15 | Fujitsu Ltd | Installing software updates in an order that takes into account the down time caused by an update failing |
| JP2014124978A (ja) * | 2012-12-25 | 2014-07-07 | Honda Motor Co Ltd | データ書込み方法及びデータ書込み装置 |
| WO2017110605A1 (ja) * | 2015-12-24 | 2017-06-29 | 株式会社オートネットワーク技術研究所 | 車両用プログラム更新システム |
| JP2018020609A (ja) * | 2016-08-01 | 2018-02-08 | 株式会社デンソー | 車両用制御システム |
| JP2018058582A (ja) * | 2017-10-11 | 2018-04-12 | Kddi株式会社 | 保守装置、保守方法、及びコンピュータプログラム |
| JP2018194981A (ja) * | 2017-05-15 | 2018-12-06 | 本田技研工業株式会社 | 通信システム、移動体、及び制御プログラムの書き換え方法 |
| DE102018211984A1 (de) | 2017-07-21 | 2019-01-24 | Denso Corporation | Fahrzeugsteuerungssystem |
| JP2019156331A (ja) * | 2018-03-16 | 2019-09-19 | トヨタ自動車株式会社 | プログラム更新管理装置 |
| JP2019175349A (ja) * | 2018-03-29 | 2019-10-10 | Kddi株式会社 | 配信装置 |
| WO2020032201A1 (ja) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | 車両用電子制御システム、電源自己保持の実行制御方法及び電源自己保持の実行制御プログラム |
| JP2020027643A (ja) * | 2018-08-10 | 2020-02-20 | 株式会社デンソー | 車両用電子制御システム、電源自己保持の実行制御方法及び電源自己保持の実行制御プログラム |
| WO2020129324A1 (ja) * | 2018-12-20 | 2020-06-25 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
| JP2020142565A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 |
| JP2021138368A (ja) * | 2018-05-11 | 2021-09-16 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理方法及び更新処理プログラム |
| JP2021166089A (ja) * | 2016-10-17 | 2021-10-14 | 住友電工オプティフロンティア株式会社 | 融着接続装置の管理システム、及び、融着接続装置の管理方法 |
| JP2021175975A (ja) * | 2020-04-28 | 2021-11-04 | キヤノンメディカルシステムズ株式会社 | 検体検査装置、及び、検体検査システム |
| JP2021536403A (ja) * | 2018-09-17 | 2021-12-27 | クノル−ブレムゼ ジステーメ フューア ヌッツファールツォイゲ ゲゼルシャフト ミット ベシュレンクテル ハフツングKnorr−Bremse Systeme fuer Nutzfahrzeuge GmbH | 補助電源および補助電力を提供するための方法 |
| CN116088369A (zh) * | 2022-12-19 | 2023-05-09 | 北京微纳星空科技有限公司 | 一种星载计算机重构方法和系统 |
| JP2023166886A (ja) * | 2022-05-10 | 2023-11-22 | 株式会社デンソー | 制御システム |
| WO2024013995A1 (ja) | 2022-07-15 | 2024-01-18 | 日産自動車株式会社 | 電子制御装置及び電子制御方法 |
-
2009
- 2009-02-24 JP JP2009040110A patent/JP2010195111A/ja not_active Withdrawn
Cited By (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9081640B2 (en) | 2011-02-14 | 2015-07-14 | Fujitsu Limited | Apparatus, method and medium for calculating an update order on a service level objective |
| GB2488006A (en) * | 2011-02-14 | 2012-08-15 | Fujitsu Ltd | Installing software updates in an order that takes into account the down time caused by an update failing |
| JP2014124978A (ja) * | 2012-12-25 | 2014-07-07 | Honda Motor Co Ltd | データ書込み方法及びデータ書込み装置 |
| WO2017110605A1 (ja) * | 2015-12-24 | 2017-06-29 | 株式会社オートネットワーク技術研究所 | 車両用プログラム更新システム |
| JP2018020609A (ja) * | 2016-08-01 | 2018-02-08 | 株式会社デンソー | 車両用制御システム |
| JP7452805B2 (ja) | 2016-10-17 | 2024-03-19 | 住友電工オプティフロンティア株式会社 | 融着接続装置の管理システム、及び、融着接続装置の管理方法 |
| JP2023016871A (ja) * | 2016-10-17 | 2023-02-02 | 住友電工オプティフロンティア株式会社 | 融着接続装置の管理システム、及び、融着接続装置の管理方法 |
| JP2021166089A (ja) * | 2016-10-17 | 2021-10-14 | 住友電工オプティフロンティア株式会社 | 融着接続装置の管理システム、及び、融着接続装置の管理方法 |
| JP7247448B2 (ja) | 2016-10-17 | 2023-03-29 | 住友電工オプティフロンティア株式会社 | 融着接続装置の管理システム、及び、融着接続装置の管理方法 |
| JP2018194981A (ja) * | 2017-05-15 | 2018-12-06 | 本田技研工業株式会社 | 通信システム、移動体、及び制御プログラムの書き換え方法 |
| DE102018211984B4 (de) | 2017-07-21 | 2024-06-13 | Denso Corporation | Fahrzeugsteuerungssystem |
| DE102018211984A1 (de) | 2017-07-21 | 2019-01-24 | Denso Corporation | Fahrzeugsteuerungssystem |
| JP2018058582A (ja) * | 2017-10-11 | 2018-04-12 | Kddi株式会社 | 保守装置、保守方法、及びコンピュータプログラム |
| JP2019156331A (ja) * | 2018-03-16 | 2019-09-19 | トヨタ自動車株式会社 | プログラム更新管理装置 |
| US11556331B2 (en) | 2018-03-16 | 2023-01-17 | Toyota Jidosha Kabushiki Kaisha | Program update management device |
| CN110275720A (zh) * | 2018-03-16 | 2019-09-24 | 丰田自动车株式会社 | 程序更新管理装置 |
| JP7010087B2 (ja) | 2018-03-16 | 2022-01-26 | トヨタ自動車株式会社 | プログラム更新管理装置、プログラム更新管理方法、およびプログラム |
| JP2019175349A (ja) * | 2018-03-29 | 2019-10-10 | Kddi株式会社 | 配信装置 |
| JP2021138368A (ja) * | 2018-05-11 | 2021-09-16 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理方法及び更新処理プログラム |
| WO2020032201A1 (ja) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | 車両用電子制御システム、電源自己保持の実行制御方法及び電源自己保持の実行制御プログラム |
| JP2020027643A (ja) * | 2018-08-10 | 2020-02-20 | 株式会社デンソー | 車両用電子制御システム、電源自己保持の実行制御方法及び電源自己保持の実行制御プログラム |
| JP2021536403A (ja) * | 2018-09-17 | 2021-12-27 | クノル−ブレムゼ ジステーメ フューア ヌッツファールツォイゲ ゲゼルシャフト ミット ベシュレンクテル ハフツングKnorr−Bremse Systeme fuer Nutzfahrzeuge GmbH | 補助電源および補助電力を提供するための方法 |
| US11511689B2 (en) | 2018-09-17 | 2022-11-29 | Knorr-Bremse Systeme Fuer Nutzfahrzeuge Gmbh | Supplementary power supply and a method for providing supplemental power |
| US11853736B2 (en) | 2018-12-20 | 2023-12-26 | Ntt Electronics Corporation | Module, information processing device equipped with same, and method for updating program data to update program data in module |
| JP7281275B2 (ja) | 2018-12-20 | 2023-05-25 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
| JP2020101889A (ja) * | 2018-12-20 | 2020-07-02 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
| WO2020129324A1 (ja) * | 2018-12-20 | 2020-06-25 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
| JP2020142565A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 |
| WO2021220988A1 (ja) * | 2020-04-28 | 2021-11-04 | キヤノンメディカルシステムズ株式会社 | 検体検査装置、及び、検体検査システム |
| JP2021175975A (ja) * | 2020-04-28 | 2021-11-04 | キヤノンメディカルシステムズ株式会社 | 検体検査装置、及び、検体検査システム |
| JP7768686B2 (ja) | 2020-04-28 | 2025-11-12 | キヤノンメディカルシステムズ株式会社 | 検体検査装置、及び、検体検査システム |
| JP2023166886A (ja) * | 2022-05-10 | 2023-11-22 | 株式会社デンソー | 制御システム |
| JP7771860B2 (ja) | 2022-05-10 | 2025-11-18 | 株式会社デンソー | 制御システム |
| WO2024013995A1 (ja) | 2022-07-15 | 2024-01-18 | 日産自動車株式会社 | 電子制御装置及び電子制御方法 |
| CN116088369A (zh) * | 2022-12-19 | 2023-05-09 | 北京微纳星空科技有限公司 | 一种星载计算机重构方法和系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010195111A (ja) | 車載コンピュータシステム | |
| JP6390644B2 (ja) | プログラム更新システム、プログラム更新方法及びコンピュータプログラム | |
| US7991988B2 (en) | Communication device and firmware update method thereof | |
| US20090320012A1 (en) | Secure booting for updating firmware over the air | |
| US20080033609A1 (en) | Automotive diagnostic and tuning system | |
| US20030221092A1 (en) | Method and system of switching between two or more images of firmware on a host device | |
| JPWO2012056773A1 (ja) | 車両用プログラム書換えシステム | |
| US12190092B2 (en) | Control device and terminal device | |
| CN103154900A (zh) | 编入程序更新方法、编入程序更新程序、电子设备、网络系统 | |
| CN110178114A (zh) | 车辆控制装置以及程序更新系统 | |
| US11755308B2 (en) | Software update device, update control method, and non-transitory storage medium | |
| US12461732B2 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
| US20250036393A1 (en) | Software update apparatus, update control method, non-transitory storage medium storing update control program, server, ota master, and center | |
| JP5895385B2 (ja) | 画像出力装置及びそのプログラム | |
| US20040103172A1 (en) | Method of updating an operation system | |
| US12190100B2 (en) | OTA software update based on ECU non-volatile memory type | |
| US20220244946A1 (en) | Ota master, update control method, non-transitory storage medium, and vehicle | |
| JP7540394B2 (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
| CN115113905A (zh) | 固件升级方法和固件升级装置 | |
| JP4482029B2 (ja) | 無線基地局および無線基地局の運用方法 | |
| CN103365684B (zh) | 更新方法和多域嵌入式系统 | |
| US12524218B2 (en) | Center, OTA master, system, distribution method, non-transitory storage medium, and vehicle | |
| JP7596943B2 (ja) | Otaマスタ、センタ、システム、方法、プログラム、及び車両 | |
| JP2011175352A (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
| CN116719670B (zh) | 数据处理的方法、电子设备及可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120501 |