JP2013246718A - 制御システム及びプログラム更新方法 - Google Patents
制御システム及びプログラム更新方法 Download PDFInfo
- Publication number
- JP2013246718A JP2013246718A JP2012121073A JP2012121073A JP2013246718A JP 2013246718 A JP2013246718 A JP 2013246718A JP 2012121073 A JP2012121073 A JP 2012121073A JP 2012121073 A JP2012121073 A JP 2012121073A JP 2013246718 A JP2013246718 A JP 2013246718A
- Authority
- JP
- Japan
- Prior art keywords
- control
- computer program
- program
- ecu
- received
- 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.)
- Pending
Links
Images
Abstract
【課題】簡素化された制御装置の構成であっても、プログラム更新に失敗した場合に安全に復旧することが可能となる制御システム、及びプログラム更新方法を提供する。
【解決手段】ECU1aの制御部10aは、診断装置4からプログラム更新要求を受信した場合、記憶部11aに記憶してある制御プログラム12aを分割し、分割後の制御プログラムを、ECU1b及びECU1cへ夫々送信し、ECU1b及びECU1cにて分割後の制御プログラムを受信し、記憶部11b及び記憶部に記憶する。これにより、旧プログラムがECU1b及びECU1cに分散して退避される。ECU1aの制御部10aは、診断装置4から新たなコンピュータプログラムを受信して更新を実行するが、更新に失敗した場合に、ECU1b及びECU1cに退避されていた分割後の制御プログラムを受信して再合成し、記憶部11bに再記憶する。
【選択図】図1
【解決手段】ECU1aの制御部10aは、診断装置4からプログラム更新要求を受信した場合、記憶部11aに記憶してある制御プログラム12aを分割し、分割後の制御プログラムを、ECU1b及びECU1cへ夫々送信し、ECU1b及びECU1cにて分割後の制御プログラムを受信し、記憶部11b及び記憶部に記憶する。これにより、旧プログラムがECU1b及びECU1cに分散して退避される。ECU1aの制御部10aは、診断装置4から新たなコンピュータプログラムを受信して更新を実行するが、更新に失敗した場合に、ECU1b及びECU1cに退避されていた分割後の制御プログラムを受信して再合成し、記憶部11bに再記憶する。
【選択図】図1
Description
本発明は、記憶しているコンピュータプログラムに基づきアクチュエータなどの制御対象に対する処理を実行し、且つ、相互に通信を行なう複数の制御装置を含む制御システムにおけるプログラム更新に関する。特に、安全にプログラム更新を実行することと、各制御装置の構成の簡素化とを両立することを可能とする制御システム及びプログラム更新方法に関する。
コンピュータプログラムに基づき制御対象に関する処理を実行する制御装置を複数用いて制御を実行する制御システムが各分野で利用されている。特に車両制御の分野では、車両内に制御装置として多数のECUが配され、各ECUが車載LANを介して情報を送受信し、協調・連携して多様な処理を行なう構成が一般的となっている。
制御システムにて機能が追加される場合、又はプログラムの不具合を解消すべき場合など、制御装置のプロセッサが実行するコンピュータプログラムの更新が必要となるときがある。プログラムの更新は、特定の制御装置が外部から有線又は無線通信にて更新プログラムを受信し、制御装置が相互にデータを交換するための既存の通信手段を利用して、特定の制御装置が対象装置へ更新プログラムを送信し、プログラムを更新させる方法が採用される。
車両制御の分野でも、プログラム更新は例えばディーラーなどにて、特定の診断用装置が、ECUを介して又は直接的に車載LANに接続可能に構成されており、診断用装置が更新プログラムを対象装置へ送信して実現されている。
このように制御システムにてプログラムを更新する場合、例えば、対象装置が更新プログラムを受信し、旧プログラムが記憶してある記憶領域に、そのまま受信した更新プログラムを上書きする構成がある。この場合、書き換え中に通信途絶、バグ又は暴走、記憶容量不足等によって何らかの支障が生じたときには、旧プログラムも使用できず、復旧が不可能となることが考えられる。
このような問題に対して特許文献1では、各ECUが、プログラム格納エリア(メモリ)として副格納エリアと主格納エリアとを備える構成としてある。特許文献1に開示されている構成では、受信した更新プログラムを副格納エリアへ書き込み、書き込みが成功した場合に、主格納エリアと副格納エリアとを切り替え、書き込みが失敗した場合には切り替えを行なわないことにより、コンピュータプログラムに基づく動作が不能に陥ることを防ぐことができる。
また、特許文献2では、メモリに非書き換え領域と書き換え領域とを設け、非書き換え領域に、書き換えファームウェアと通信機能と、車両が走行するために必要となる情報を取得する機能を実装したプログラムを格納しておき、書き換え領域に、制御プログラムと正常/異常を判断するための情報を格納する構成とする制御システムが開示されている。特許文献2に開示されている構成では、プログラムの書き換えに失敗した場合でも、非書き換え領域に実装されている機能は最低限動作するので、車両の走行を維持することが可能である。
特許文献1及び2に開示されている構成により、制御システムが完全に動作不能となることを回避することは可能である。しかしながら、特許文献2に開示されている構成では、最低限の動作が保証されるのみであって、多くの機能が失われてしまう。また、特許文献1に開示されている構成では、各制御装置にてプログラム格納のためのメモリの容量が2倍必要であり、メモリ搭載量の増加により、制御システムはコスト増となる。車両制御の分野では特に、コスト削減は勿論、制御システム全体の軽量化が求められる。したがって、各制御装置の構成は簡素化すべきであり、メモリ搭載量を2倍とすることは望ましくない。
本発明は斯かる事情に鑑みてなされたものであり、簡素化された制御装置の構成であっても、プログラム更新に失敗した場合に安全に復旧することが可能となる制御システム、及びプログラム更新方法を提供することを目的とする。
本発明に係る制御システムは、情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備える3つ以上の複数の制御装置が通信線に接続されており、前記複数の制御装置の内のいずれかがプログラム更新要求を受信し、新たなコンピュータプログラムを受信し、受信したコンピュータプログラムを前記記憶手段に記憶させてプログラムを更新することが可能な制御システムにおいて、プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを分割する手段と、前記通信手段により、分割後のコンピュータプログラムを、他の複数の制御装置へ夫々送信せしめる手段と、前記記憶手段における前記新たなコンピュータプログラムの更新処理の成否を判断する手段と、該手段が否と判断した場合、前記他の複数の制御装置へ、送信してある分割後のコンピュータプログラムの送信要求を、前記通信手段により送信せしめる手段と、前記他の複数の制御装置から送信される前記分割後のコンピュータプログラムを、前記通信手段により受信する手段と、各制御装置から受信した前記分割後のコンピュータプログラムに基づき、元のコンピュータプログラムを再合成する手段と、再合成したコンピュータプログラムを前記記憶手段に再記憶させる手段とを備え、前記他の制御装置は、前記通信手段により、前記分割後のコンピュータプログラムをプログラム更新対象の制御装置から受信する手段と、受信した前記分割後のコンピュータプログラムを前記記憶手段に一時的に記憶する手段と、前記送信要求を受信した場合、前記分割後のコンピュータプログラムをプログラム更新対象の制御装置へ前記通信手段により送信せしめる手段とを備えることを特徴とする。
本発明に係る制御システムは、各制御装置へ、記憶手段における空き容量を問い合わせる手段と、問い合わせに対する応答を受信する応答受信手段とを備え、更新要求を受信した制御装置は、前記応答受信手段が受信した応答に含まれる各制御装置の記憶手段における空き容量の情報に基づき、他の複数の制御装置へ、コンピュータプログラムを分割して前記通信手段により送信させるようにしてあり、各制御装置は、前記空き容量の問い合わせを、前記通信手段により受信する手段と、前記問い合わせを受信した場合、自身の記憶手段における空き容量を算出する手段と、算出した空き容量の情報を含む応答メッセージを、前記通信手段により送信せしめる手段とを備えることを特徴とする。
本発明に係る制御システムは、更新要求を受信した制御装置は、前記記憶手段に記憶しているコンピュータプログラムのデータ量を算出する手段と、算出したデータ量を前記応答受信手段へ送信する手段とを備え、前記応答受信手段は、各制御装置の記憶手段における空き容量を加算する手段と、加算結果と、各制御装置の記憶手段における空き容量の情報に基づき、複数の送信先を決定する手段とを更に備えることを特徴とする。
本発明に係る制御システムは、前記応答受信手段は、各制御装置から受信した応答を受信した場合、受信した応答に含まれる各制御装置の記憶手段における空き容量の情報に基づき、各制御装置の記憶手段における空き容量をリスト化したテーブルを作成する手段を更に備えることを特徴とする。
本発明に係るプログラム更新方法は、情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備えて通信線に接続されている3つ以上の複数の制御装置を含む制御システムにて、前記複数の制御装置の内のいずれかが、プログラム更新要求及び更新対象の新たなコンピュータプログラムを受信し、前記記憶手段に記憶されているコンピュータプログラムを前記新たなコンピュータプログラムに更新する方法において、プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを分割し、分割後のコンピュータプログラムを他の複数の制御装置へ夫々前記通信手段により送信し、前記他の複数の制御装置は、プログラム更新対象の制御装置から送信された分割後のコンピュータプログラムを前記通信手段により受信し、受信した分割後のコンピュータプログラムを記憶手段に記憶させ、前記プログラム更新要求を受信した制御装置は、新たなコンピュータプログラムを受信し、前記記憶手段にて、受信した新たなコンピュータプログラムの更新処理を試行し、前記更新処理の成否を判断し、否と判断した場合、前記他の複数の制御装置へ、送信してある分割後のコンピュータプログラムの送信要求を前記通信手段により送信し、前記他の複数の制御装置は、前記送信要求を前記通信手段により受信し、前記通信手段により、記憶してある分割後のコンピュータプログラムをプログラム更新対象の制御装置へ送信し、プログラム更新対象の制御装置は、前記他の複数の制御装置から各送信される分割後のコンピュータプログラムを、前記通信手段により受信し、受信した分割後のコンピュータプログラムに基づき、元のコンピュータプログラムを再合成し、再合成したコンピュータプログラムを前記記憶手段に再記憶させることを特徴とする。
本発明では、更新対象のコンピュータプログラムを記憶している1つの制御装置から、他の複数の制御装置へ、記憶されていたコンピュータプログラムが分割されて送信され、各制御装置にて記憶され、退避される。更新対象の制御装置にて、コンピュータプログラムの更新処理の成否が判断され、否と判断された場合に、他の複数の制御装置に送信されて退避してあった分割後のコンピュータプログラムが他の制御装置から夫々送信され、集約されて再合成され、再記憶される。更新に失敗した場合に、更新対象の旧コンピュータプログラムは複数の制御装置に分散させて退避されており、失われない。
本発明では、各制御装置の記憶手段における空き容量の情報を各制御装置から受信して集約する応答受信手段が更に備えられる。複数の制御装置へ分散してコンピュータプログラムを退避させるので、各制御装置の記憶手段における空き容量を集約管理する機能が別途備えられる構成とすることが好ましい。なお、空き容量の情報を受信する応答受信手段は、制御システム内に専用の装置が加えられて当該装置にて実現されてもよいし、制御システム内のいずれかの制御装置、又は中継装置などの特定の装置内で新たな機能として実現されてもよい。なお、いずれの他の複数の制御装置へコンピュータプログラムを退避させるかは、応答受信手段によって得られる各制御装置の空き容量の情報に基づき、更新対象の制御装置にて決定してもよいし、空き容量の情報を受信した応答受信手段にて決定してもよい。
本発明では、各制御装置の記憶手段における空き容量の情報を集約している応答受信手段が、コンピュータプログラムが複数の他の制御装置のいずれへ退避されるかを決定する機能をも持つ。応答受信手段にて情報を集約しているので、更新対象のコンピュータプログラムのデータ量を取得できれば、効率的に分散させる送信先を決定することが可能となる。応答受信手段にて、更新対象の制御装置から更新対象の旧コンピュータプログラムのデータ量の情報を取得し、取得した退避すべきコンピュータプログラムのデータ量と、各制御装置の記憶手段における空き容量の加算結果とに基づき、コンピュータプログラムの退避先である複数の他の制御装置が決定される。
本発明では、空き容量の情報を集約する応答受信手段にて、各制御装置の記憶手段における空き容量をリスト化したテーブルが作成される。更新対象の制御装置が当該テーブルを参照できるようにしてもよいし、外部装置から当該テーブルを参照できるようにしてもよい。外部装置から当該テーブルを参照できれば、いずれの制御装置に分割後のコンピュータプログラムが記憶されているかが外部から参照可能である。
本発明による場合、更新対象の旧コンピュータプログラムは、夫々の記憶部の記憶容量が比較的小さい複数の他の制御装置に一旦、分散して退避させられ、その間に制御プログラムの更新が試行される。失敗した場合でも旧コンピュータプログラムは失われず、各制御装置から集約して復旧することが可能である。したがって、最小限のメモリしか有しない簡素化された制御装置からなる制御システムであっても、プログラム更新に失敗した場合に安全に復旧することが可能となる。
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
なお、以下の実施の形態では本発明を、車載機器を制御する制御システムに適用した場合の例を挙げて説明する。
なお、以下の実施の形態では本発明を、車載機器を制御する制御システムに適用した場合の例を挙げて説明する。
(実施の形態1)
図1は、実施の形態1における制御システムの構成を示すブロック図である。制御システムは、複数のECU1a,1b,1cと、プログラム退避制御装置2と、通信線3とを含む。ECU1aには、外部装置である診断装置4が接続可能である。なお通信線3に、診断装置4の通信線2への接続を可能とする外部コネクタが接続されていてもよい。通信線3に接続されているECUはECU1a,1b,1cのみでなく、更に複数のECU1,1,…が接続されてよい。
図1は、実施の形態1における制御システムの構成を示すブロック図である。制御システムは、複数のECU1a,1b,1cと、プログラム退避制御装置2と、通信線3とを含む。ECU1aには、外部装置である診断装置4が接続可能である。なお通信線3に、診断装置4の通信線2への接続を可能とする外部コネクタが接続されていてもよい。通信線3に接続されているECUはECU1a,1b,1cのみでなく、更に複数のECU1,1,…が接続されてよい。
通信線3には、ECU1a,1b,1c、及びプログラム退避制御装置2がいずれもバス型に接続されている。通信線3を介した通信のプロトコルはCAN(Controller Area Network)である。通信線3に接続されるECU1a,1b,1cは、CSMA(Carrier Sense Multiple Access with Collision Detection)方式により情報を送受信する。通信線3に送信される信号は、ECU1a、ECU1b、ECU1c及びプログラム退避制御装置2のいずれでも受信することが可能である。
ECU1aは、記憶部11aに記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する電子制御装置である。ECU1aは、制御部10aと、記憶部11aと、一時記憶部13aと、通信部14aと、外部コネクタ15aとを備える。
制御部10aには、CPU(Central Processing Unit)を利用する。記憶部11aには、フラッシュメモリ、EEPROM(登録商標、Electrically Erasable and Programmable Read Only Memory)などの不揮発性メモリであって書き換えが可能な記憶媒体が用いられ、制御部10aが読み出して実行する制御プログラム12aが記憶されている。つまり、制御プログラム12aは書き換え(更新)が可能である。なお、車載の制御システムに搭載されるECU1aにおける記憶部11aの記憶容量は、ECU1aを簡素で安価な構成とするために比較的小さい。コンピュータプログラムの実行ファイルのデータ量は様々ではあるが、数〜数十キロバイト程度であることが考えられる制御プログラム12aと、他の制御用の条件、固定値などの各種情報を記憶する程度で、余分な記憶容量は用意されていない。
一時記憶部13aには、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などが用いられ、制御部10aの動作により発生した情報、記憶部11aから読み出された各種情報、制御プログラム12aの実行コードなどが一時的に記憶される。一時記憶部13aは、CPUである制御部10a内蔵のメモリでよい。
通信部14aは、通信線3を介した通信を実現する。即ち実施の形態1では通信部14aはCANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部10aは、通信部14aにより通信線3を介して他のECU1b,1c、及びECU1,1,…との間でメッセージ及びデータの送受信が可能である。
なお、ECU1aにおける制御部10a、記憶部11a、一時記憶部13a及び通信部14aの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
外部コネクタ15aは、診断装置4との接続インタフェースである。外部コネクタ15aに診断装置4が接続されている間、制御部10aは、外部コネクタ15aを介して診断装置4との間で通知及びデータの入出力が可能である。
ECU1bは、ECU1aと同様に、記憶部11bに記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する電子制御装置である。ECU1bは、制御部10bと、記憶部11bと、一時記憶部13bと、通信部14bとを備える。
制御部10bには、CPUを利用する。記憶部11bには、フラッシュメモリ、EEPROM(登録商標)などの不揮発性メモリであって書き換えが可能な記憶媒体が用いられる。記憶部11bの記憶容量は、ECU1aと同様に、ECU1bを簡素で安価な構成とするために比較的小さい。なお記憶部11bには、制御部10bが読み出す図示しないコンピュータプログラムが記憶されていてもよい。
一時記憶部13bには、SRAM、DRAMなどが用いられ、制御部10bの動作により発生した情報などが一時的に記憶される。一時記憶部13bは、CPUである制御部10b内蔵のメモリでよい。
通信部14bは、通信線3を介した通信を実現する。通信部14bは、CANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部10bは、通信部14bにより通信線2を介して他のECU1a、ECU1c、及び他のECU1,1,…、並びにプログラム退避制御装置2との間でデータの送受信が可能である。
なお、ECU1bにおける制御部10b、記憶部11b、一時記憶部13b及び通信部14bの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
ECU1cの構成は、ECU1bと同様であるので、内部構成の図示及び詳細な説明を省略する。
プログラム退避制御装置2は、ECU1a,1b,1cと同様に、記憶部21に記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する電子制御装置である。プログラム退避制御装置2は、制御部20と、記憶部21と、一時記憶部22と、通信部23とを備える。
制御部20には、CPUを利用する。記憶部21には、フラッシュメモリ、EEPROM(登録商標)などの不揮発性メモリを用いる。一時記憶部22には、SRAM、DRAM等が用いられ、制御部20の動作により発生した情報が一時的に記憶される。
通信部23は、通信線3を介した通信を実現する。通信部23は、CANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部20は、通信部23により通信線3を介して他のECU1a,1b,1c、及び他のECU1,1,…との間でデータの送受信が可能である。
車載の制御システムにおけるECU1a,1b,1c及び他のECU1,1,…、並びにプログラム退避制御装置2は、車両の組み立て完了後は、車体の床、ボンネットの中などに配されて、ECU1a,1b,1c及び他のECU1,1,…、並びにプログラム退避制御装置2間の通信線3及び信号線などを含むワイヤーハーネスが、車両の車体枠の中などに張り巡らされて配されている。したがって、ECU1a,1b,1c等は、車外からアクセスすることが困難であるが、ECU1aの外部コネクタ15aは、車両の組み立て後に、ECU1aにおける制御プログラム12aの書き換え、記憶部11aへのデータの記憶、又はECU1aからのデータの読み出しが、後述する外部装置である診断装置3から可能なように、車外からアクセスすることが容易な位置に配置されている。
診断装置4は、車両の点検が行なわれるとき以外は、制御システムに含まれない外部装置である。診断装置4は、検査員などのオペレータが操作することにより、ECU1aの制御プログラム12aの更新要求を出力し、更新対象の新たなコンピュータプログラムを出力するように構成されている。
上述のように構成される制御システムにて、ECU1aの制御部10aが読み出す制御プログラム12aを更新する方法について、詳細を説明する。
図2は、実施の形態1における診断装置4による処理手順の一例を示すフローチャートである。オペレータが診断装置4をECU1aの外部コネクタ15aに接続し、プログラム更新操作を実行すると、診断装置4は以下の処理を実行する。
診断装置4は、プログラムの更新要求を出力する(ステップS11)。診断装置4は、プログラムの更新要求を出力した後、更新対象であるECU1aから、後述するように、準備が完了したことを示す通知、又は準備が出来なかったことを示すエラー通知を受信したか否かを判断する(ステップS12)。診断装置4は、通知を受信していないと判断した場合(S12:NO)、処理をステップS12へ戻し、通知を受信したと判断するまで待機する。診断装置4は、ECU1aから何らかの通知を受信したと判断した場合(S12:YES)、受信した通知は準備完了の通知であるか否かを判断する(ステップS13)。診断装置4は、準備完了の通知であると判断した場合(S13:YES)、更新対象の新たな制御プログラムをECU1aへ出力する(ステップS14)。
診断装置4は、新たな制御プログラムを出力後、更新が完了したことを示す更新完了通知、又は更新が失敗したことを示すエラー通知を、ECU1aから受信したか否かを判断する(ステップS15)。診断装置4は、通知を受信していないと判断した場合(S15:NO)、処理をステップS15へ戻し、受信したと判断するまで待機する。
診断装置4は、更新完了通知を受信したと判断した場合(S15:YES)、受信した通知を音声信号にて出力するか、又は図示しない液晶モニタに出力し(ステップS16)、診断装置4におけるプログラムの更新処理を終了する。また、診断装置4はステップS15にてエラー通知を受信したと判断した場合(S15:YES)、及びステップS13にてエラー通知であると判断した場合も(S13:NO)、受信したエラー通知を出力し(S16)、オペレータに知らせ、診断装置4におけるプログラムの更新処理を中止して終了する。
図2のフローチャートに示した診断装置4における処理に対し、制御システムでは以下のような処理が行なわれる。図3、図4及び図5は、実施の形態1における制御システムにおいてECU1aの制御プログラム12aが更新される際の処理手順の一例を示すフローチャートである。オペレータが診断装置4を操作して、制御プログラム12aの更新要求を出力させた場合、以下の処理が制御システムにて実行される。
診断装置4が接続されたECU1aの制御部10aは、外部コネクタ15aにてプログラムの更新要求を受信し(ステップS201)、制御プログラム12aを暗号化変換したときのデータ量を算出する(ステップS202)。制御部10aは、他のECU1b,1c,1,…における空き容量を問い合わせるメッセージを、通信部14aからプログラム退避制御装置2へ送信する(ステップS203)。
プログラム退避制御装置2では、通信部23がメッセージを受信し(ステップS204)、制御部20は、他のECU1b,1c、及び他のECU1,1,…へ空き容量を問い合わせるメッセージを通信部23から送信する(ステップS205)。
ECU1bの通信部14bは、空き容量を問い合わせるメッセージを受信し(ステップS206)、制御部10bへ通知する。ECU1bの制御部10bは、当該メッセージに応じて記憶部11bにおける「利用可能な空き容量」を算出する(ステップS207)。ステップS207にて制御部10bは、記憶部11bの空き容量から、自身が制御用に用いる容量を減算し、減算後の容量を「利用可能な容量」とする。このとき自身の制御用に用いる容量は、予め定められてある。制御部10bは、算出した「利用可能な空き容量」を含む応答メッセージを通信部14bから送信する(ステップS208)。ECU1cでも同様に、ステップS206〜S208の処理を行なう。
プログラム退避制御装置2の通信部23が、応答メッセージを受信し(ステップS209)、制御部20へ通知する。制御部20は、ECU1b,1cから受信した応答メッセージに基づき、ECU1b及びECU1c夫々の「利用可能な空き容量」を読み出す(ステップS210)。制御部20は、読み出した各ECU1b,1cの「利用可能な空き容量」からテーブルを作成して一時記憶部22又は記憶部21に記憶する(ステップS211)。
ステップS210で作成されるテーブルの内容例を示す。図6は、実施の形態1におけるプログラム退避制御装置2の制御部20にて作成されるテーブルの内容例を示す説明図である。図6に示すテーブルには、ECU1b,1cの装置毎に、制御システム内での装置ID、各装置の「利用可能な空き容量」(KB:キロバイト)をリスト化してある。
図6に示す例では、ECU1bは、装置IDが「0001」であり、「利用可能な空き容量」は、ECU1bからの応答メッセージに基づき124(KB)であるとされている。ECU1cは、装置IDが「0002」であり、「利用可能な空き容量」は、ECU1cからの応答メッセージに基づき33(KB)であるとされている。
図3〜図5のフローチャートに戻り、説明を続ける。プログラム退避制御装置2の制御部20は、作成したテーブルをECU1aへ送信する(ステップS212)。
ECU1aでは通信部14aが、テーブルを受信し(ステップS213)、制御部10aへ通知する。制御部10aは、受信したテーブルに基づき、ECU1b及び1cの記憶部11b及び記憶部11cの空き容量を合計し(ステップS214)、ステップS202で算出したデータ量が、空き容量の合計以下であるか否かを判断する(ステップS215)。
制御部10aは、ステップS214にてデータ量が空き容量の合計より多いと判断した場合(S215:NO)、退避先の確保に失敗したのでエラー通知を診断装置4へ送信する(ステップS216)。以後、ECU1aでのプログラム更新処理は中止され、各装置は処理を終了する。
制御部10aは、ステップS215にてデータ量が空き容量の合計以下であると判断した場合(S215:YES)、退避先を確保したので記憶部11aに記憶されている制御プログラム12aに対して暗号化処理を施し(ステップS217)、暗号化後の制御プログラム12aを分割し(ステップS218)、ECU1b及び1cへの送信を開始する(ステップS219)。ステップS217における暗号化処理では、制御部10aは圧縮処理を行なうことが望ましい。なお、制御部ECU1b及び1cへの送信は順次行えばよい。この間、制御部10aは、通信部14aから分割後の制御プログラムの送信が正常に行なわれているか否かを判断する(ステップS220)。制御部10aは、分割後の制御プログラムの送信が正常に行なわれていると判断した場合(S220:YES)、分割後の制御プログラムの全ての送信を完了したか否かを判断する(ステップS221)。制御部10aは、送信を完了していないと判断した場合(S221:NO)、処理をステップS220へ戻し、送信を完了したと判断するまで(S221:YES)、ステップS220による監視を継続する。
この間、送信先の1つに決定されたECU1bの通信部14bは、ECU1aから分割後の制御プログラムを受信し(ステップS222)、制御部10bへ通知する。制御部10bは、受信した分割後の制御プログラムを記憶部11bの空き領域へ記憶する(ステップS223)。ECU1cにおける処理も同様であるので、詳細な説明を省略する。
そして制御部10aは、送信を完了したと判断した場合(S221:YES)、退避先の確保に成功したので、準備完了の通知を外部コネクタ15aから診断装置4へ送信する(ステップS224)。
なおステップS220において制御部10aは、送信を完了したと判断する前に、分割後の制御プログラムの送信に何らかのエラーが発生し、送信が正常に行なわれていないと判断した場合(S220:NO)、外部コネクタ15aからエラー通知を診断装置4へ送信する(ステップS225)。このとき制御部10aは、ECU1b及びECU1cへもエラーを知らせるメッセージを送信することが好ましい。以後、制御部10aでの更新処理は中止され、ECU1b及びECU1cでも、エラーメッセージを受信することで途中まで記憶した分割後の制御プログラムを記憶部11b及び記憶部11cから消去する。
ECU1aの制御部10aは、準備完了の通知を外部コネクタ15aから診断装置4へ送信した後(S224)、外部コネクタ15aにて新たな制御プログラムを診断装置4から受信し(ステップS226)、新たな制御プログラムの、記憶部11aの制御プログラム12aが記憶されていた領域への書き込み(更新)を開始する(ステップS227)。
制御部10aは、新たな制御プログラムの書き込みが順次、正常に行なわれ、更新が正常に完了したか否かを判断する(ステップS228)。制御部10aは、更新が正常に完了したと判断した場合(S228:YES)、更新完了の通知を外部コネクタ15aから診断装置4へ送信し(ステップS229)、更新処理を終了する。なお、このとき制御部10aは、更新が完了したことを知らせる完了メッセージを通信部14aからECU1b及びECU1cへも送信する(S229)。
制御部10aは、新たな制御プログラムの記憶部11aへの書き込み中、例えば診断装置4とECU1aとの間の入出力が遮断されるなど、続行が不可能となった場合、更新が失敗したと判断する(S228:NO)。制御部10aは、更新が失敗したと判断した場合(S228:NO)、退避先であるECU1b及びECU1cの内、まずECU1bへ、プログラム復旧のための分割後のプログラムの送信要求を通信部14aから送信する(ステップS230)。
ECU1bでは、ECU1aから送信された分割後の制御プログラムを一時的に記憶した後、通信部14bがECU1aから分割後のプログラムの送信要求を受信したか否かを判断する(ステップS231)。通信部14bが受信したと判断した場合(S231:YES)、制御部10bへ通知する。制御部10bは、記憶部11bに記憶してある分割後の制御プログラムを記憶部11bから読み出し(ステップS232)、通信部14bから順次ECU1aへ送信する(ステップS233)。
ECU1aでは、ECU1bから送信された分割後の制御プログラムを順次受信し、記憶部11aに記憶する(ステップS234)。
制御部10aは、分割後の制御プログラムを全て受信、記憶したか否かを判断する(ステップS235)。制御部10aは、全て受信していないと判断した場合(S235:NO)、処理をステップS230へ戻し、次の退避先であるECU1cへ、分割後のプログラムの送信要求を通信部14aから送信する(S230)。
ECU1cでも、ECU1b同様に、ステップS231〜S233の処理を実行する。ECU1aの制御部10aは、ECU1cから受信した分割後の制御プログラムを、ステップS234にてECU1bから受信した分割後の制御プログラムの次に順次記憶すればよい。
ECU1aの制御部10aは、分割後の制御プログラムを全て受信、記憶したと判断した場合(S235:YES)、受信した分割後の制御プログラムに基づき、元の制御プログラム12aを復号、再合成する(ステップS236)。ECU1aの制御部10aは、再合成した制御プログラム12aを記憶部11aに再記憶する(ステップS237)。
制御部10aは、制御プログラム12aの再合成が完了すると、復旧の完了を知らせるメッセージを通信部14aから、プログラムの退避先であったECU1b及びECU1cへ送信する(ステップS238)。またこのとき制御部10cは、更新エラーの通知を、外部コネクタ15cから診断装置4へ送信し(ステップS239)、更新処理を終了する。
ECU1bでは、送信要求に応じて分割後の制御プログラム12を送信した後、通信部14bがECU1aからメッセージを受信したか否かを判断し(ステップS240)、復旧完了のメッセージを受信していない場合は(S240:NO)、通知を受信するまで待機する。通信部14bが完了のメッセージを受信したと判断した場合(S240:YES)、制御部10bへ通知する。制御部10bは、前記完了のメッセージを受信した場合(S240:YES)、記憶部11bに記憶してある分割後の制御プログラムを記憶部11bから消去する(ステップS241)。
なおECU1bでは、ステップS231にてプログラムの送信要求を受信していないと判断した場合(S231:NO)、通信部10bは、ECU1aから、正常に更新が完了したことを示す完了のメッセージを受信したか否かを判断する(S240)。この場合も制御部10bは、記憶部11bに退避させてある分割後の制御プログラムが不要となったと判断し、記憶部11bから消去する(S241)。
ECU1cでも同様にステップS240、S241の処理を行なう。
これにより、ECU1a,1b,1c及びプログラム退避制御装置2における更新処理は完了する。なお、プログラム退避制御装置2によるステップS204、S205、S209〜S212の処理は、診断装置4が接続されたECU1aからの問い合わせのメッセージの受信の有無に関わらず、通信線3に負荷を与えない程度に定期的に行なっておいてもよい。
図3〜図5のフローチャートに示したように、他の複数のECUの空き容量を利用し、更新対象の制御プログラム12aを分散して退避させておくことにより、ECU1a,1b,1cが夫々簡素化されていて記憶部11a,11b,11cの記憶容量が比較的小さい構成であっても、更新に失敗したときに復旧が可能となる。特に、不揮発性メモリである記憶部11b,11cに分散して退避しておくから、更新処理中に各装置の電源がオフとなるなどの状態となったとしても、後に復旧することが可能となる。これにより、最小限のメモリしか有しない簡素化された制御装置からなる制御システムであっても、プログラム更新に失敗した場合に安全に復旧することが可能となる。
なお、プログラム退避制御装置2による処理手順は、ECU1a,1b,1cのいずれかに帰属しているとしてもよい。
(実施の形態2)
実施の形態1では、プログラム退避制御装置2が作成したテーブルに基づき、ECU1aの制御部10aが、更新対象の制御プログラム12aの複数の送信先を決定する構成とした。実施の形態2では、プログラム退避制御装置2にて、送信先をも決定する構成とする。
実施の形態1では、プログラム退避制御装置2が作成したテーブルに基づき、ECU1aの制御部10aが、更新対象の制御プログラム12aの複数の送信先を決定する構成とした。実施の形態2では、プログラム退避制御装置2にて、送信先をも決定する構成とする。
なお、実施の形態2における制御システムの構成は、ECU1a及びプログラム退避制御装置2による処理内容が一部異なること以外は、実施の形態1と同様である。したがって、実施の形態1と共通する構成には、同一の符合を付して詳細な説明を省略する。
以下、実施の形態2における制御システムにおける更新処理の詳細について説明する。図7〜図10は、実施の形態2におけるECU1aの制御プログラム12aが更新される際の処理手順の一例を示すフローチャートである。実施の形態2でも、オペレータが診断装置4を操作して、制御プログラム12aの更新要求を出力させた場合、以下の処理が実行される。なお、図7〜図10のフローチャートに示す処理手順の内、実施の形態1における図3〜図5のフローチャートに示す処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。
診断装置4が接続されたECU1aの制御部10aは、外部コネクタ15aにてプログラムの更新要求を受信し(ステップS301)、制御プログラム12aを暗号化変換したときのデータ量を算出する(ステップS302)。制御部10aは、ステップS302で算出したデータ量を含み、送信先の決定を依頼するメッセージを、通信部14aからプログラム退避制御装置2へ送信する(ステップS303)。
プログラム退避制御装置2では、通信部23がECU1aからのメッセージを受信し(ステップS304)、制御部20は、受信したメッセージから、更新対象の制御プログラム12aのデータ量を読み出す(ステップS305)。次に制御部20は、ECU1b,1c、及び他のECU1,1,…へ空き容量を問い合わせるメッセージを通信部23から送信する(ステップS306)。
ECU1bの通信部14bは、空き容量を問い合わせるメッセージを受信し(ステップS307)、制御部10bへ通知する。ECU1bの制御部10bは、当該メッセージに応じて記憶部11bにおける「利用可能な空き容量」を算出する(ステップS308)。ステップS308にて制御部10bは、記憶部11bの空き容量から、自身が制御用に用いる容量を減算し、減算後の容量を「利用可能な容量」とする。このとき自身の制御用に用いる容量は、予め定められてある。制御部10bは、算出した「利用可能な空き容量」を含む応答メッセージを通信部14bから送信する(ステップS309)。ECU1cでも同様に、ステップS307〜S309の処理を行なう。更に、他のECU1,1,1,…でも同様の処理を行なってよい。
プログラム退避制御装置2の通信部23が、ECU1b,1c及び他のECU1,1,…から応答メッセージを受信し(ステップS310)、制御部20へ通知する。制御部20は、ECU1b,1c及び他のECU1,1,…から受信した応答メッセージに基づき、ECU1b,1c及び他のECU1,1,…夫々の「利用可能な空き容量」を読み出す(ステップS311)。制御部20は、読み出した各ECU1b,1c及び他のECU1,1,…の「利用可能な空き容量」をリスト化したテーブルを作成し、一時記憶部22又は記憶部21に記憶する(ステップS312)。
制御部20は、ECU1b及びECU1cの記憶部11b及び記憶部11cの空き容量を合計し(ステップS313)、ステップS305で読み出した制御プログラム12aのデータ量が、空き容量の合計以下であるか否かを判断する(ステップS314)。制御部20は、データ量が空き容量の合計以下であると判断した場合(S314:YES)、応答メッセージを送信してきたECU1b,1cを送信先と決定する(ステップS315)。そして制御部20は、決定した送信先の情報を作成したテーブルに追加し(ステップS316)、テーブルを通信部22からECU1aへ送信する(ステップS317)。ステップS317にて制御部20は、作成したテーブルの各空き容量に対応するECU1b及びECU1cを夫々識別する情報に、送信先と決定したことを示す二値情報(TRUE/FALSE)を対応付ける。
なおステップS315で送信先を決定する方法は、種々考え得る。例えば、制御部20は、応答メッセージを送信してきた全てのECU1b,1c,1,1,…の空き容量の合計がデータ量以上であれば、全てのECU1b,1c,1,1,…を送信先と決定してよい。制御部20は、空き容量が所定値以下である一部のECU1は、送信先から除外するようにしてもよい。又は、制御部20は、ECU1b,1c及び他のECU1,1,…における記憶部11b,11c,…の空き容量が多い順に、空き容量を加算する。即ち制御部20は、最も多い空き容量に、2番目の空き容量、3番目の空き容量を足しこむ。制御部20は、加算を行なう都度、加算結果と制御プログラム12aのデータ量とを比較し、加算結果がデータ量以上となった時点で、加算された空き容量に対応する各ECUを送信先と決定するようにしてもよい。
ステップS312で作成され、ステップS316で情報が対応付けられたテーブルの内容例を示す。図11は、実施の形態2におけるプログラム退避制御装置2の制御部20にて作成されるテーブルの内容例を示す説明図である。図11に示すテーブルには、ECU1b,1c及び他のECU1,1,…の装置毎に、制御システム内での装置ID、各装置の「利用可能な空き容量」(KB:キロバイト)をリスト化してあり、各装置が送信先であるか否かを示す二値情報(TRUE/FALSE)が対応付けられている。
図11に示す例では、ECU1bは、装置IDが「0001」であり、「利用可能な空き容量」は、ECU1bからの応答メッセージに基づき124(KB)であり、送信先である(TRUE)とされている。ECU1cは、装置IDが「0002」であり、「利用可能な空き容量」は、ECU1cからの応答メッセージに基づき64(KB)であり、送信先である(TRUE)とされている。また、図11に示すテーブルには、他のECU1の情報も含まれている。他のECU1は、装置IDが「0003」であり、「利用可能な空き容量」は、33(KB)であり、送信先でない(FALSE)とされている。
図7〜図10のフローチャートに戻り、説明を続ける。
ECU1aでは制御部10aは、通信部14aからテーブルを受信したか否かを判断する(ステップS318)。制御部10aは、テーブルを受信したと判断した場合(S318:YES)、退避先を確保したので記憶部11aに記憶されている制御プログラム12aに対して暗号化処理を施す(ステップS319)。ステップS319における暗号化処理では、制御部10aは圧縮処理を行なうことが望ましい。制御部10aは、暗号化後の制御プログラムを、受信したテーブル中の送信先(TRUE)である各装置の空き容量の大きさに基づき分割し(ステップS320)、送信先であるECU1b及びECU1cへの送信を開始する(ステップS321)。ステップS320及びS321にて制御部10aは、空き容量が多い順に送信先がTRUEである装置の空き容量を参照し、参照した空き容量に対応する大きさに制御プログラム12aを分割し、順次送信する。
ECU1aでは制御部10aは、通信部14aからテーブルを受信したか否かを判断する(ステップS318)。制御部10aは、テーブルを受信したと判断した場合(S318:YES)、退避先を確保したので記憶部11aに記憶されている制御プログラム12aに対して暗号化処理を施す(ステップS319)。ステップS319における暗号化処理では、制御部10aは圧縮処理を行なうことが望ましい。制御部10aは、暗号化後の制御プログラムを、受信したテーブル中の送信先(TRUE)である各装置の空き容量の大きさに基づき分割し(ステップS320)、送信先であるECU1b及びECU1cへの送信を開始する(ステップS321)。ステップS320及びS321にて制御部10aは、空き容量が多い順に送信先がTRUEである装置の空き容量を参照し、参照した空き容量に対応する大きさに制御プログラム12aを分割し、順次送信する。
なお、プログラム退避制御装置2の制御部20は、ステップS314にて、データ量が空き容量より多いと判断した場合(S314:NO)、送信先を決定できないことを示すエラー通知を通信部23からECU1aへ送信する(ステップS322)。
この場合ECU1aの制御部10aは、ステップS318にてテーブルを受信せず、エラー通知を受信したと判断した場合(S318:NO)、退避先の確保に失敗したのでエラー通知を診断装置4へ送信する(ステップS323)。以後、ECU1aでのプログラム更新処理は中止され、各装置は処理を終了する。
制御プログラム12aの退避先が決定した後、ECU1aから、分割された制御プログラムの送信が開始されてからECU1aとECU1b及びECU1cとの間での処理手順は、実施の形態1における処理手順と同様である。したがって、以下の処理についての詳細な説明は、省略する。
このように、実施の形態2でも、他の複数のECUの空き容量を利用し、更新対象の制御プログラム12aを分散して退避させておくことにより、ECU1a,1b,1cが夫々簡素化されていて記憶部11a,11b,11cの記憶容量が比較的小さい構成であっても、更新に失敗したときに復旧が可能となる。そして、各ECU1b,1c,1,1,…から空き容量の情報を集約するプログラム退避制御装置2にて、プログラム更新対象のECU1aからの制御プログラム12aの送信先をも決定することにより、ECU1aでは送信先を決定するという特別な機能を実現する必要がない。
(変形例)
実施の形態1及び2では、診断装置4はECU1aの外部コネクタ15aに接続される構成とした。しかしながら、診断装置4は、通信線3に直接的に接続される外部コネクタに接続され、診断装置4から通信線3を介して更新要求、及び新たなコンピュータプログラムがECU1aへ送信される構成としてもよい。
実施の形態1及び2では、診断装置4はECU1aの外部コネクタ15aに接続される構成とした。しかしながら、診断装置4は、通信線3に直接的に接続される外部コネクタに接続され、診断装置4から通信線3を介して更新要求、及び新たなコンピュータプログラムがECU1aへ送信される構成としてもよい。
図12は、変形例における制御システムの構成を示すブロック図である。変形例における制御システムは、ECU1a,1b,1cと、プログラム退避制御装置2と、通信線3と、通信線3に接続される外部コネクタ5とを含む。変形例では、外部装置である診断装置4は外部コネクタ5に接続されている。
この場合、プログラム更新要求は、CANプロトコルに準じ、プログラムの更新要求というメッセージに割り振られたIDが含まれるデータフレームを、診断装置4が通信線3へ送出することにより実現される。当該データフレームには、プログラムの更新対象であるECU1aを送信先とする情報を含むことが望ましい。また、更新対象のコンピュータプログラムは、ECU1aを送信先とするデータフレームで、複数回に分けて送信される。その他の構成は、ECU1aと診断装置4との間の通信が、CANプロトコルに準じて通信線3を介して行なわれること以外は、実施の形態1と同様の方法で実現される。
実施の形態1及び2、並びに変形例では、本発明は車両に搭載される車両制御システムに適用される例を示した。しかしながら本発明はこれに限らず、通信手段を備えて相互にデータを送受信して連携により制御を行なう多様な制御システムに適用することができる。
なお、上述のように開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1a,1b,1c ECU
10a,10b,10c 制御部
11a,11b,11c 記憶部(記憶手段)
12a 更新対象の制御プログラム
14a,14b,14c 通信部(通信手段)
2 プログラム退避制御装置(応答受信手段)
3 通信線
4 診断装置
10a,10b,10c 制御部
11a,11b,11c 記憶部(記憶手段)
12a 更新対象の制御プログラム
14a,14b,14c 通信部(通信手段)
2 プログラム退避制御装置(応答受信手段)
3 通信線
4 診断装置
Claims (5)
- 情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備える3つ以上の複数の制御装置が通信線に接続されており、前記複数の制御装置の内のいずれかがプログラム更新要求を受信し、新たなコンピュータプログラムを受信し、受信したコンピュータプログラムを前記記憶手段に記憶させてプログラムを更新することが可能な制御システムにおいて、
プログラム更新要求を受信した制御装置は、
前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを分割する手段と、
前記通信手段により、分割後のコンピュータプログラムを、他の複数の制御装置へ夫々送信せしめる手段と、
前記記憶手段における前記新たなコンピュータプログラムの更新処理の成否を判断する手段と、
該手段が否と判断した場合、前記他の複数の制御装置へ、送信してある分割後のコンピュータプログラムの送信要求を、前記通信手段により送信せしめる手段と、
前記他の複数の制御装置から送信される前記分割後のコンピュータプログラムを、前記通信手段により受信する手段と、
各制御装置から受信した前記分割後のコンピュータプログラムに基づき、元のコンピュータプログラムを再合成する手段と、
再合成したコンピュータプログラムを前記記憶手段に再記憶させる手段と
を備え、
前記他の制御装置は、
前記通信手段により、前記分割後のコンピュータプログラムをプログラム更新対象の制御装置から受信する手段と、
受信した前記分割後のコンピュータプログラムを前記記憶手段に一時的に記憶する手段と、
前記送信要求を受信した場合、前記分割後のコンピュータプログラムをプログラム更新対象の制御装置へ前記通信手段により送信せしめる手段と
を備えることを特徴とする制御システム。 - 各制御装置へ、記憶手段における空き容量を問い合わせる手段と、
問い合わせに対する応答を受信する応答受信手段と
を備え、
更新要求を受信した制御装置は、前記応答受信手段が受信した応答に含まれる各制御装置の記憶手段における空き容量の情報に基づき、他の複数の制御装置へ、コンピュータプログラムを分割して前記通信手段により送信させるようにしてあり、
各制御装置は、
前記空き容量の問い合わせを、前記通信手段により受信する手段と、
前記問い合わせを受信した場合、自身の記憶手段における空き容量を算出する手段と、
算出した空き容量の情報を含む応答メッセージを、前記通信手段により送信せしめる手段と
を備えることを特徴とする請求項1に記載の制御システム。 - 更新要求を受信した制御装置は、
前記記憶手段に記憶しているコンピュータプログラムのデータ量を算出する手段と、
算出したデータ量を前記応答受信手段へ送信する手段と
を備え、
前記応答受信手段は、
各制御装置の記憶手段における空き容量を加算する手段と、
加算結果と、各制御装置の記憶手段における空き容量の情報に基づき、複数の送信先を決定する手段と
を更に備えることを特徴とする請求項2に記載の制御システム。 - 前記応答受信手段は、
各制御装置から受信した応答を受信した場合、受信した応答に含まれる各制御装置の記憶手段における空き容量の情報に基づき、各制御装置の記憶手段における空き容量をリスト化したテーブルを作成する手段を更に備えること
を特徴とする請求項2又は3に記載の制御システム。 - 情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備えて通信線に接続されている3つ以上の複数の制御装置を含む制御システムにて、前記複数の制御装置の内のいずれかが、プログラム更新要求及び更新対象の新たなコンピュータプログラムを受信し、前記記憶手段に記憶されているコンピュータプログラムを前記新たなコンピュータプログラムに更新する方法において、
プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを分割し、
分割後のコンピュータプログラムを他の複数の制御装置へ夫々前記通信手段により送信し、
前記他の複数の制御装置は、
プログラム更新対象の制御装置から送信された分割後のコンピュータプログラムを前記通信手段により受信し、
受信した分割後のコンピュータプログラムを記憶手段に記憶させ、
前記プログラム更新要求を受信した制御装置は、新たなコンピュータプログラムを受信し、
前記記憶手段にて、受信した新たなコンピュータプログラムの更新処理を試行し、
前記更新処理の成否を判断し、
否と判断した場合、前記他の複数の制御装置へ、送信してある分割後のコンピュータプログラムの送信要求を前記通信手段により送信し、
前記他の複数の制御装置は、
前記送信要求を前記通信手段により受信し、
前記通信手段により、記憶してある分割後のコンピュータプログラムをプログラム更新対象の制御装置へ送信し、
プログラム更新対象の制御装置は、
前記他の複数の制御装置から各送信される分割後のコンピュータプログラムを、前記通信手段により受信し、
受信した分割後のコンピュータプログラムに基づき、元のコンピュータプログラムを再合成し、
再合成したコンピュータプログラムを前記記憶手段に再記憶させる
ことを特徴とするプログラム更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012121073A JP2013246718A (ja) | 2012-05-28 | 2012-05-28 | 制御システム及びプログラム更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012121073A JP2013246718A (ja) | 2012-05-28 | 2012-05-28 | 制御システム及びプログラム更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013246718A true JP2013246718A (ja) | 2013-12-09 |
Family
ID=49846411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012121073A Pending JP2013246718A (ja) | 2012-05-28 | 2012-05-28 | 制御システム及びプログラム更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013246718A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071527A (ja) * | 2014-09-29 | 2016-05-09 | 株式会社オートネットワーク技術研究所 | 通信システム、車載装置、通信装置、及びコンピュータプログラム |
JP5996074B1 (ja) * | 2015-10-15 | 2016-09-21 | 三菱電機株式会社 | プログラム書き換えシステム及びプログラム書き換え方法 |
JP2017059211A (ja) * | 2015-09-14 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
JP2017191529A (ja) * | 2016-04-15 | 2017-10-19 | 三菱電機株式会社 | プログラム書き換えシステムおよびプログラム書き換え方法 |
CN109144555A (zh) * | 2017-06-19 | 2019-01-04 | 歌拉利旺株式会社 | 电子设备以及程序更新方法 |
WO2019038855A1 (ja) * | 2017-08-23 | 2019-02-28 | 三菱電機株式会社 | 車載電子機器、サーバ装置、およびソフトウェア更新方法 |
CN111656317A (zh) * | 2017-12-11 | 2020-09-11 | 株式会社自动网络技术研究所 | 车载更新装置、程序、及程序或数据的更新方法 |
JP2020154853A (ja) * | 2019-03-20 | 2020-09-24 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
-
2012
- 2012-05-28 JP JP2012121073A patent/JP2013246718A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071527A (ja) * | 2014-09-29 | 2016-05-09 | 株式会社オートネットワーク技術研究所 | 通信システム、車載装置、通信装置、及びコンピュータプログラム |
JP2017059211A (ja) * | 2015-09-14 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
JP2020107355A (ja) * | 2015-09-14 | 2020-07-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 仮想マシンモニタ、ソフトウェア及びファームウェア更新方法 |
JP5996074B1 (ja) * | 2015-10-15 | 2016-09-21 | 三菱電機株式会社 | プログラム書き換えシステム及びプログラム書き換え方法 |
JP2017191529A (ja) * | 2016-04-15 | 2017-10-19 | 三菱電機株式会社 | プログラム書き換えシステムおよびプログラム書き換え方法 |
CN109144555A (zh) * | 2017-06-19 | 2019-01-04 | 歌拉利旺株式会社 | 电子设备以及程序更新方法 |
WO2019038855A1 (ja) * | 2017-08-23 | 2019-02-28 | 三菱電機株式会社 | 車載電子機器、サーバ装置、およびソフトウェア更新方法 |
CN111656317A (zh) * | 2017-12-11 | 2020-09-11 | 株式会社自动网络技术研究所 | 车载更新装置、程序、及程序或数据的更新方法 |
JP2020154853A (ja) * | 2019-03-20 | 2020-09-24 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013246718A (ja) | 制御システム及びプログラム更新方法 | |
JP6889296B2 (ja) | ゲートウェイ装置、システム及びファームウェア更新方法 | |
JP2014029619A (ja) | 制御システム及びプログラム更新方法 | |
JP2020528629A (ja) | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 | |
WO2014148003A1 (ja) | 車載電子制御装置のプログラム書換システム及び車載中継装置 | |
JP7280412B2 (ja) | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 | |
US11914987B2 (en) | Master update agent and distributed update agent architecture for vehicles | |
CN110928561B (zh) | 车辆控制器软件版本管理方法、装置、车辆和存储介质 | |
JP5598491B2 (ja) | 車両用データ出力装置 | |
CN114020526A (zh) | 一种固件升级方法、装置及计算机存储介质 | |
US11449329B2 (en) | Vehicle control device and program update system | |
US20240069906A1 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
EP3923139A1 (en) | Electronic control device and method for using non-volatile memory | |
KR20200121657A (ko) | 차량의 업데이트 제공 장치 및 방법 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
US10073675B2 (en) | Control unit for a motor vehicle, programming unit, and programming system | |
US11736577B2 (en) | Server, update management method, non-transitory storage medium, software update device, and system including server and software update device | |
JP2019074847A (ja) | 電子制御装置 | |
JP6631676B2 (ja) | 車載更新装置、更新システム及び更新処理プログラム | |
CN110888663B (zh) | 应用更新方法、业务服务器、中转服务器、集群及存储介质 | |
WO2019038855A1 (ja) | 車載電子機器、サーバ装置、およびソフトウェア更新方法 | |
WO2020195034A1 (ja) | 車載更新装置、更新処理システム、更新処理方法及び処理プログラム | |
US11144239B2 (en) | Storage controller, storage device, and write control method | |
CN115248694A (zh) | 一种集群协同升级方法、设备以及可读存储介质 | |
US20220405080A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle |