JP2014029619A - 制御システム及びプログラム更新方法 - Google Patents

制御システム及びプログラム更新方法 Download PDF

Info

Publication number
JP2014029619A
JP2014029619A JP2012170149A JP2012170149A JP2014029619A JP 2014029619 A JP2014029619 A JP 2014029619A JP 2012170149 A JP2012170149 A JP 2012170149A JP 2012170149 A JP2012170149 A JP 2012170149A JP 2014029619 A JP2014029619 A JP 2014029619A
Authority
JP
Japan
Prior art keywords
computer program
control
program
control device
ecu
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
Application number
JP2012170149A
Other languages
English (en)
Inventor
Takeshi Furuto
健 古戸
Hideo Odagaki
秀雄 小田垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2012170149A priority Critical patent/JP2014029619A/ja
Publication of JP2014029619A publication Critical patent/JP2014029619A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】簡素化された制御装置の構成であっても、プログラム更新に失敗した場合に安全に復旧することが可能となる制御システム、及びプログラム更新方法を提供する。
【解決手段】ECU1aの制御部10aは、診断装置3からプログラム更新要求を受信した場合、記憶部11aに記憶してある制御プログラム12aを通信部14aからECU1bへ送信して、ECU1bが制御プログラム12aを受信して記憶部11bに記憶する。これにより、旧プログラムがECU1bに退避される。ECU1aの制御部10aは、診断装置3から新たなコンピュータプログラムを受信して記憶部11aにおけるコンピュータプログラムを更新するが、更新に失敗した場合に、ECU1bへプログラム送信要求を送信し、ECU1bに退避されていた制御プログラム12aを受信して記憶部11aに再記憶する。
【選択図】図1

Description

本発明は、記憶しているコンピュータプログラムに基づきアクチュエータなどの制御対象に対する処理を実行し、且つ、相互に通信を行なう複数の制御装置を含む制御システムにおけるプログラム更新に関する。特に、安全にプログラム更新を実行することと、各制御装置の構成の簡素化とを両立することを可能とする制御システム及びプログラム更新方法に関する。
コンピュータプログラムに基づき制御対象に関する処理を実行する制御装置を複数用いて制御を実行する制御システムが各分野で利用されている。特に車両制御の分野では、車両内に制御装置として多数のECUが配され、各ECUが車載LANを介して情報を送受信し、協調・連携して多様な処理を行なう構成が一般的となっている。
制御システムにて機能が追加される場合、又はプログラムの不具合を解消すべき場合など、制御装置のプロセッサが実行するコンピュータプログラムの更新が必要となるときがある。プログラムの更新は、特定の制御装置が外部から有線又は無線通信にて更新プログラムを受信し、制御装置が相互にデータを交換するための既存の通信手段を利用して、特定の制御装置が対象装置へ更新プログラムを送信し、プログラムを更新させる方法が採用される。
車両制御の分野でも、プログラム更新は例えばディーラーなどにて、特定の診断用装置が、ECUを介して又は直接的に車載LANに接続可能に構成されており、診断用装置が更新プログラムを対象装置へ送信して実現されている。
このように制御システムにてプログラムを更新する場合、例えば、対象装置が更新プログラムを受信し、旧プログラムが記憶してある記憶領域に、そのまま受信した更新プログラムを上書きする構成がある。この場合、書き換え中に通信途絶、バグ又は暴走、記憶容量不足等によって何らかの支障が生じたときには、旧プログラムも使用できず、復旧が不可能となることが考えられる。
このような問題に対して特許文献1では、各ECUが、プログラム格納エリア(メモリ)として副格納エリアと主格納エリアとを備える構成としてある。特許文献1に開示されている構成では、受信した更新プログラムを副格納エリアへ書き込み、書き込みが成功した場合に、主格納エリアと副格納エリアとを切り替え、書き込みが失敗した場合には切り替えを行なわないことにより、コンピュータプログラムに基づく動作が不能に陥ることを防ぐことができる。
また、特許文献2では、メモリに非書き換え領域と書き換え領域とを設け、非書き換え領域に、書き換えファームウェアと通信機能と、車両が走行するために必要となる情報を取得する機能を実装したプログラムを格納しておき、書き換え領域に、制御プログラムと正常/異常を判断するための情報を格納する構成とする制御システムが開示されている。特許文献2に開示されている構成では、プログラムの書き換えに失敗した場合でも、非書き換え領域に実装されている機能は最低限動作するので、車両の走行を維持することが可能である。
特開2006−301960号公報 特開2009−087107号公報
特許文献1及び2に開示されている構成により、制御システムが完全に動作不能となることを回避することは可能である。しかしながら、特許文献2に開示されている構成では、最低限の動作が保証されるのみであって、多くの機能が失われてしまう。また、特許文献1に開示されている構成では、各制御装置にてプログラム格納のためのメモリの容量が2倍必要であり、メモリ搭載量の増加により、制御システムはコスト増となる。車両制御の分野では特に、コスト削減は勿論、制御システム全体の軽量化が求められる。したがって、各制御装置の構成は簡素化すべきであり、メモリ搭載量を2倍とすることは望ましくない。
本発明は斯かる事情に鑑みてなされたものであり、簡素化された制御装置の構成であっても、プログラム更新に失敗した場合に安全に復旧することが可能となる制御システム、及びプログラム更新方法を提供することを目的とする。
本発明に係る制御システムは、情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づいて制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備える複数の制御装置が通信線に接続されており、前記複数の制御装置の内のいずれかがプログラム更新要求を受信し、新たなコンピュータプログラムを受信し、受信したコンピュータプログラムを前記記憶手段に記憶させてプログラムを更新する制御システムにおいて、プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ、前記通信手段により送信せしめる手段と、前記記憶手段における前記新たなコンピュータプログラムの更新処理の成否を判断する手段と、該手段が否と判断した場合、前記他の制御装置へ送信してあるコンピュータプログラムの送信要求を、前記通信手段により送信せしめる手段と、前記他の制御装置から送信されるコンピュータプログラムを、前記通信手段により受信する手段と、受信したコンピュータプログラムを前記記憶手段に再度記憶させる手段とを備え、前記他の制御装置は、前記通信手段により、コンピュータプログラムをプログラム更新対象の制御装置から受信する手段と、受信したコンピュータプログラムを前記記憶手段に記憶する手段と、前記送信要求を受信した場合、前記コンピュータプログラムをプログラム更新対象の制御装置へ前記通信手段により送信せしめる手段とを備えることを特徴とする。
本発明に係る制御システムは、前記プログラム更新要求を受信した制御装置は、前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ送信する前に、前記通信手段により、他の制御装置の記憶手段における空き容量を問い合わせる手段と、前記問い合わせに対する応答を受信する手段と、前記応答に含まれる他の制御装置の記憶手段における空き容量の情報に基づき、前記コンピュータプログラムの送信先を決定する決定手段とを備え、前記1つの制御装置は、前記通信手段により、前記決定手段が決定した送信先へ、前記コンピュータプログラムを送信するようにしてあり、他の制御装置は、前記空き容量の問い合わせを、前記通信手段により受信する手段と、前記メッセージを受信した場合、自身の記憶手段における空き容量を算出する手段と、算出した空き容量の情報を含む応答メッセージを、前記通信手段により送信せしめる手段とを備えることを特徴とする。
本発明に係る制御システムは、前記決定手段は、前記応答に含まれる情報に基づき、空き容量が多い他の制御装置を送信先と決定するようにしてあることを特徴とする。
本発明に係る制御システムは、前記他の制御装置は、前記複数の制御装置の内、特定の制御装置であることを特徴とする。
本発明に係る制御システムは、前記プログラム更新要求を受信した制御装置は、コンピュータプログラムの更新処理の成否の結果を送信する手段と、プログラム更新要求を受信した場合に前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ送信する前に、他の制御装置への前記コンピュータプログラムの記憶の可否を判断する手段とを備え、該手段が否と判断した場合、プログラムの更新を失敗と判断し、結果を送信するようにしてあることを特徴とする。
本発明に係るプログラム更新方法は、情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備えて通信線に接続されている複数の制御装置を含む制御システムにて、前記複数の制御装置の内のいずれかが、プログラム更新要求及び更新対象の新たなコンピュータプログラムを受信し、前記記憶手段に記憶されているコンピュータプログラムを前記新たなコンピュータプログラムに更新する方法において、前記プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを、前記通信手段により他の制御装置へ送信し、前記他の制御装置は、プログラム更新対象の制御装置から送信されたコンピュータプログラムを前記通信手段により受信し、受信したコンピュータプログラムを記憶手段に記憶させ、前記プログラム更新要求を受信した制御装置は、新たなコンピュータプログラムを受信し、前記記憶手段にて、受信した新たなコンピュータプログラムの更新処理を試行し、前記更新処理の成否を判断し、否と判断した場合、前記他の制御装置へ、送信してあるコンピュータプログラムの送信要求を、前記通信手段により送信し、前記他の制御装置は、前記送信要求を前記通信手段により受信し、記憶してあるコンピュータプログラムをプログラム更新対象の制御装置へ、前記通信手段により送信し、プログラム更新対象の制御装置は、前記他の制御装置から送信されるコンピュータプログラムを、前記通信手段により受信し、受信したコンピュータプログラムを前記記憶手段に再記憶させることを特徴とする。
本発明では、更新対象のコンピュータプログラムを記憶している制御装置から、当該コンピュータプログラムが他の制御装置へ送信され、更新が開始される前に退避される。プログラム更新対象の制御装置にて、更新対象の新たなコンピュータプログラムの記憶処理の成否が判断され、否と判断された場合には、他の制御装置に送信されて退避してあるコンピュータプログラムが他の制御装置から送信要求に応じて送信され、更新対象の制御装置にて再記憶される。これにより、更新に失敗した場合に、更新対象の旧コンピュータプログラムは退避されているので失われない。
本発明では、プログラム更新対象の制御装置以外の他の制御装置の各記憶部の空き容量が、他の制御装置からの応答によって、プログラム更新対象の制御装置にて把握される。空き容量に基づき、更新対象の旧コンピュータプログラムの退避先となる他の制御装置が決定されるから、確実に旧コンピュータプログラムを記憶することが可能な制御装置に、退避することが可能となる。
本発明では、記憶部を備える他の制御装置の内、記憶部の空き容量がより多い他の制御装置にコンピュータプログラムが退避される。これにより、他の制御装置の動作に支障をきたすことなく、制御システム全体での記憶容量を有効に用いてプログラムを更新することが可能となる。
本発明では、プログラム更新対象の制御装置からのコンピュータプログラムの送信先は、特定の制御装置とされる。制御システム内に、その機能のために大容量の記憶部を備える特定の制御装置が存在する場合、特定の制御装置を更新対象の旧コンピュータプログラムの退避先としておくことにより有効利用することができる。また、複数の制御装置にて順次コンピュータプログラムの更新を行なう場合、各制御装置も特定の制御装置を退避先とすることにより、複数の制御装置にて共通の退避先として利用することができる。この場合、各制御装置は余剰な記憶容量を必要としないから、制御装置の簡素化を図ることができる。
本発明では、他の制御装置への更新対象のコンピュータプログラムの退避の成否の結果が送信されるので、退避できない場合にはコンピュータプログラムの更新が行なわれない。これにより、より安全にコンピュータプログラムの更新を実行することが可能となる。
本発明による場合、更新対象の旧コンピュータプログラムは、記憶部に空き容量を有する他の制御装置に一旦退避させられ、その間に制御プログラムの更新が試みられ、失敗した場合に旧コンピュータプログラムは失われないから、最小限のメモリしか有しない簡素化された構成の制御装置であっても、プログラム更新に失敗した場合に確実に復旧することが可能となる。
実施の形態1における制御システムの構成を示すブロック図である。 実施の形態1における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態1における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態1における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態2における制御システムの構成を示すブロック図である。 実施の形態2における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態2における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態2における制御システムにおいてECUの制御プログラムが更新される際の処理手順の一例を示すフローチャートである。 実施の形態2におけるECUの制御部にて作成されるテーブルの内容例を示す説明図である。 実施の形態3における制御システムの構成を示すブロック図である。 実施の形態3におけるECUの制御部にて作成されるテーブルの内容例を示す説明図である。 変形例における制御システムの構成を示すブロック図である。
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
なお、以下の実施の形態では本発明を、車載機器を制御する制御システムに適用した場合の例を挙げて説明する。
(実施の形態1)
図1は、実施の形態1における制御システムの構成を示すブロック図である。制御システムは、複数のECU1a,1bと、通信線2とを含む。ECU1aには、外部装置である診断装置3が接続可能である。なお通信線2に、診断装置3の通信線2への接続を可能とする外部コネクタが接続されていてもよい。通信線2に接続されているECUはECU1a,1bのみでなく、更に複数のECU1,1,…が接続されてよい。
通信線2には、ECU1a,1bがいずれもバス型に接続されている。通信線2を介した通信のプロトコルはCAN(Controller Area Network)である。通信線2に接続されるECU1a,1bは、CSMA(Carrier Sense Multiple Access with Collision Detection)方式により情報を送受信する。通信線2に送信される信号は、ECU1a及びECU1bのいずれでも受信することが可能である。
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は、通信線2を介した通信を実現する。即ち実施の形態1では通信部14aはCANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部10aは、通信部14aにより通信線2を介して他のECU1b及び他のECU1,1,…との間でメッセージ及びデータの送受信が可能である。
なお、ECU1aにおける制御部10a、記憶部11a、一時記憶部13a及び通信部14aの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
外部コネクタ15aは、診断装置3との接続インタフェースである。外部コネクタ15aに診断装置3が接続されている間、制御部10aは、外部コネクタ15aを介して診断装置3との間で通知及びデータの入出力が可能である。
ECU1bは、ECU1aと同様に、記憶部11bに記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する電子制御装置である。ECU1bは、制御部10bと、記憶部11bと、一時記憶部13bと、通信部14bとを備える。
制御部10bには、CPUを利用する。記憶部11bには、例えばハードディスク、SSD(Solid State Drive )などの比較的大容量の不揮発性記憶装置が用いられる。記憶部11bの記憶容量は、ECU1bの機能に応じて、十分な記憶容量が確保されている。例えば、ECU1bの機能がナビゲーションシステムである場合、地図情報等の各種情報を記憶するためにハードディスク等の大容量記憶装置を用いる。なお記憶部11bには、制御部10bが読み出す図示しないコンピュータプログラムが記憶されていてもよい。
一時記憶部13bには、SRAM、DRAMなどが用いられ、制御部10bの動作により発生した情報などが一時的に記憶される。一時記憶部13bは、CPUである制御部10b内蔵のメモリでよい。
通信部14bは、通信線2を介した通信を実現する。通信部14bは、CANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部10bは、通信部14bにより通信線2を介して他のECU1a及び他のECU1,1,…との間でデータの送受信が可能である。
なお、ECU1bにおける制御部10b、記憶部11b、一時記憶部13b及び通信部14bの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
車載の制御システムにおけるECU1a,1b及び他のECU1,1,…は、車両の組み立て完了後は、車体の床、ボンネットの中などに配されて、ECU1a,1b及び他のECU1,1,…間の通信線2及び信号線などを含むワイヤーハーネスが、車両の車体枠の中などに張り巡らされて配されている。したがって、ECU1a,1bは、車外からアクセスすることが困難であるが、ECU1aの外部コネクタ15aは、車両の組み立て後に、ECU1aにおける制御プログラム12aの書き換え、記憶部11aへのデータの記憶、又はECU1aからのデータの読み出しが、後述する外部装置である診断装置3から可能なように、車外からアクセスすることが容易な位置に配置されている。
診断装置3は、車両の点検が行なわれるとき以外は、制御システムに含まれない外部装置である。診断装置3は、検査員などのオペレータが操作することにより、ECU1aの制御プログラム12aの更新要求を出力し、更新対象の新たなコンピュータプログラムを出力するように構成されている。
上述のように構成される制御システムにて、ECU1aの制御部10aが読み出す制御プログラム12aを更新する方法について、詳細を説明する。
図2、図3及び図4は、実施の形態1における制御システムにおいてECU1aの制御プログラム12aが更新される際の処理手順の一例を示すフローチャートである。オペレータが診断装置3を操作して、制御プログラム12aの更新要求を出力させた場合、以下の処理が制御システムにて実行される。
診断装置3は、プログラムの更新要求を出力する(ステップS101)。
診断装置3が接続されたECU1aの制御部10aは、外部コネクタ15aにてプログラムの更新要求を受信し(ステップS102)、制御プログラム12aを暗号化変換したときのデータ量を算出する(ステップS103)。制御部10aは、他のECU1bへ記憶部11bの空き容量を問い合わせるメッセージを、通信部14aから送信する(ステップS104)。
ECU1bの通信部14bが、空き容量を問い合わせるメッセージを受信し(ステップS105)、制御部10bへ通知する。制御部10bは、当該メッセージに応じて記憶部11bにおける「利用可能な空き容量」を算出する(ステップS106)。このとき制御部10bは、記憶部11bの空き容量から、自身が制御用に用いる容量を減算し、減算後の容量を「利用可能な容量」とする。このとき自身の制御用に用いる容量は、予め定められてある。制御部10bは、算出した「利用可能な空き容量」を含む応答メッセージを通信部14bから送信する(ステップS107)。
ECU1aの通信部14aが、応答メッセージを受信し(ステップS108)、制御部10aへ通知する。制御部10aは、当該応答メッセージから、ECU1bにて「利用可能な空き容量」を読み出し(ステップS109)、ステップS104で算出したデータ量が、ECU1bにおける「利用可能な空き容量」以下であるか否かを判断する(ステップS110)。
制御部10aは、ステップS110にてデータ量が「利用可能な空き容量」より多いと判断した場合(S110:NO)、待避先の確保に失敗したのでエラー通知を診断装置3へ送信する(ステップS111)。以後、ECU1aでの更新処理は中止される。
一方制御部10aは、ステップS110にて「利用可能な空き容量」以下であると判断した場合(S110:YES)、ECU1bを送信先に決定する(ステップS112)。制御部10aは、記憶部11aに記憶されている制御プログラム12aを読み出す(ステップS113)。制御部10aは、読み出した制御プログラム12cに暗号化処理を施し(ステップS114)、暗号化後の制御プログラム12aのECU1bへの送信を開始する(ステップS115)。ステップS114における暗号化処理では、圧縮処理を行なうことが望ましい。この間、制御部10aは、通信部14aから暗号化後の制御プログラム12aの送信が正常に行なわれているか否かを判断する(ステップS116)。制御部10aは、制御プログラム12aの送信が正常に行なわれていると判断した場合(S116:YES)、制御プログラム12aの全ての送信を完了したか否かを判断する(ステップS117)。制御部10aは、送信を完了していないと判断した場合(S117:NO)、処理をステップS116へ戻し、送信を完了したと判断するまで(S117:YES)、ステップS116による監視を継続する。
この間、ECU1bの通信部14bは、ECU1aから制御プログラム12aを受信し(ステップS119)、制御部10bへ通知する。制御部10bは、受信した暗号化後の制御プログラム12aを記憶部11bの空き領域へ記憶する(ステップS120)。
そして制御部10aは、送信を完了したと判断した場合(S117:YES)、退避先の確保に成功したので、準備完了の通知を外部コネクタ15aから診断装置3へ送信する(ステップS118)。
一方制御部10aは、送信を完了したと判断する前に、制御プログラム12aの送信に何らかのエラーが発生し、送信が正常に行なわれていないと判断した場合(S116:NO)、外部コネクタ15aからエラー通知を診断装置3へ送信する(ステップS121)。このとき制御部10aは、ECU1bへもエラーを知らせるメッセージを送信することが好ましい。以後、ECU1aでの更新処理は中止され、ECU1bでも、エラーメッセージを受信することで途中まで記憶した制御プログラム12aを記憶部11bから消去する。
診断装置3では、プログラムの更新要求を出力した後、ECU1aから通知を受信したか否かを判断し(ステップS122)、通知を受信していないと判断した場合(S122:NO)、処理をステップS122へ戻し、通知を受信したと判断するまで(S122:YES)、待機する。そして診断装置3では、ECU1aからの何らかの通知を受信したと判断した場合(S122:YES)、エラー通知であるか否かを判断する(ステップS123)。診断装置3は、エラー通知でなく、準備完了の通知を受信したと判断した場合(S123:NO)、更新対象の新たな制御プログラムをECU1aへ出力する(ステップS124)。
ECU1aの制御部10aは、外部コネクタ15aにて新たな制御プログラムを受信し(ステップS125)、新たな制御プログラムの、記憶部11aの制御プログラム12aが記憶されていた領域への書き込み(更新)を開始する(ステップS126)。
制御部10aは、新たな制御プログラムの書き込みが順次、正常に行なわれ、更新が正常に完了したか否かを判断する(ステップS127)。制御部10aは、更新が正常に完了したと判断した場合(S127:YES)、更新完了の通知を外部コネクタ15aから診断装置3へ送信する(ステップS128)。また、このとき制御部10aは、更新が完了したことを知らせる完了メッセージを通信部14aからECU1bへも送信する(S128)。
なお、ステップS127における新たな制御プログラムの更新処理は詳細には、診断装置3から送信される更新処理用のプログラムが一時記憶部13aに記憶され、制御部10aが当該更新処理用のプログラムに基づき書き込み処理を制御することで実現される。
診断装置3では、新たな制御プログラムをECU1aへ出力した後、通知を受信したか否かを判断し(ステップS129)、受信していないと判断した場合は(S129:NO)、処理をステップS129へ戻して受信したと判断するまで待機する。
制御部10aは、新たな制御プログラムの記憶部11aへの書き込み中、例えば診断装置3とECU1aとの間の入出力が遮断されるなど、更新の続行が不可能となった場合、更新が失敗したと判断する(S127:NO)。制御部10aは、更新が失敗したと判断した場合(S127:NO)、ECU1bへ、プログラム復旧のためのプログラムの送信要求を通信部14aから送信する(ステップS130)。
ECU1bでは、ECU1aから送信された制御プログラム12aを一時的に記憶した後、通信部14bがECU1aからプログラムの送信要求を受信したか否かを判断する(ステップS131)。通信部14bが受信したと判断した場合(S131:YES)、制御部10bへ通知する。制御部10bは、記憶部11bに記憶してある制御プログラム12aを記憶部11bから読み出し(ステップS132)、通信部14bから順次ECU1aへ送信する(ステップS133)。
ECU1aの通信部14aは、ECU1bから送信された制御プログラム12aを順次受信し(ステップS134)、制御部10aへ通知する。制御部10aは、受信した暗号化されてある制御プログラム12aを復号する(ステップS135)。制御部10aは、復号後の制御プログラム12aを記憶部11aに再記憶する(ステップS136)。制御部10aは、制御プログラム12aの再記憶が完了すると、復旧の完了を知らせるメッセージを通信部14aからECU1bへ送信する(ステップS137)。またこのとき制御部10aは、更新エラーの通知を、外部コネクタ15aから診断装置3へ送信する(ステップS138)。
一方でECU1bでは、送信要求に応じて制御プログラム12aを送信した後、通信部14bがECU1aからメッセージを受信したか否かを判断し(ステップS139)、復旧完了のメッセージを受信していない場合は(S139:NO)、通知を受信するまで待機する。通信部14bが完了のメッセージを受信したと判断した場合(S139:YES)、制御部10bへ通知する。制御部10bは、前記完了のメッセージを受信した場合、記憶部11bに一時的に記憶してある制御プログラム12aを記憶部11bから消去する(ステップS140)。
なおECU1bでは、ステップS131にてプログラムの送信要求を受信していないと判断した場合(S131:NO)、通信部10bは、ECU1aから、正常に更新が完了したことを示す更新完了のメッセージを受信したか否かを判断する(S139)。この場合も制御部10bは、一時的に記憶部11bに退避させてある更新前の制御プログラム12aが不要となったと判断し、制御プログラム12aを記憶部11bから消去する(S140)。
診断装置3では、新たな制御プログラムを送信した後、更新完了通知を受信したと判断した場合(S129:YES)、受信した通知を音声信号、又は図示しない液晶モニタに出力し(ステップS141)、プログラムの更新処理を終了する。また、ECU1aにて更新が失敗して更新エラーの通知を受信したと判断した場合も(S129:YES)、また、ステップS123にて、新たな制御プログラムを送信する前に、受信した通知はエラー通知(退避先確保失敗、若しくは制御プログラム12a送信失敗)であると判断した場合も(S123:YES)、受信した通知を音声信号、又は図示しない液晶モニタに出力し(S141)、プログラムの更新処理を終了する。
図2乃至図4のフローチャートに示したように、更新対象の制御プログラム12aを記憶部11bに空き容量を有するECU1bへ一時的に退避することにより、ECU1aの記憶部11aの記憶容量が、ECU1aを簡易で安価な構成とするために比較的小さい構成であった場合でも、更新に失敗したときに復旧が可能となる。特に、他のECU1bの不揮発性記憶装置である記憶部11bに退避しておくから、更新処理中に各装置の電源がオフとなるなどの状態となったとしても、後に復旧することが可能となる。これにより、安全にプログラムの更新を行なうことができる。
なお、図2乃至図4のフローチャートに示した処理手順の内のステップS103〜S112の、ECU1bの記憶部11bにおける空き容量を確認する処理は省略してもよい。つまり、記憶部11bには十分な空き容量が存在するという前提で、制御部10aは、更新要求を受信した場合、記憶部11aに記憶してある制御プログラム12aを通信部14aから送信する構成としてもよい。
(実施の形態2)
実施の形態2では、1つのECUの制御プログラムの退避先として、複数の他のECUのいずれかがなり得る構成の場合に、複数の他のECUに退避先としての優先順位を付したテーブルを作成し、テーブルに基づき、送信先を決定して送信する。
図5は、実施の形態2における制御システムの構成を示すブロック図である。実施の形態2における制御システムは、複数のECU1b,1c,1dと、通信線2とを含む。ECU1cには、外部装置である診断装置3が接続可能である。実施の形態2でも通信線2に、診断装置3の通信線2への接続を可能とする外部コネクタが接続されていてもよい。通信線2に接続されているECUは、ECU1b,1c,1dのみでなく、更に複数のECU1,1,…が接続されてよい。
なお、実施の形態2における構成は、診断装置3が接続されてコンピュータプログラムの更新対象となるECU1cによって実行される処理内容以外は、実施の形態1と共通する。したがって、実施の形態1と共通する構成には、同一の符号を付して詳細な説明を省略する。
ECU1cは、記憶部11cに記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する電子制御装置である。ECU1cは、制御部10cと、記憶部11cと、一時記憶部13cと、通信部14cと、外部コネクタ15cとを備える。
制御部10cには、CPUを利用する。記憶部11cには、フラッシュメモリ、EEPROM(登録商標)などの不揮発性メモリであって書き換えが可能な記憶媒体が用いられ、制御部10cが読み出して実行する制御プログラム12cが記憶されている。つまり、制御プログラム12cは書き換え(更新)が可能である。記憶部11cの記憶容量は、制御プログラム12cと、他の制御用の条件、固定値などの各種情報を記憶する程度で、余分な記憶容量は用意されていない。
一時記憶部13cには、SRAM、DRAMなどが用いられ、制御部10cの動作により発生した情報、記憶部11cから読み出された各種情報、制御プログラム12cの実行コードなどが一時的に記憶される。
通信部14cは、通信線2を介した通信を実現する。つまり通信部14cはCANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部10cは、通信部14cにより通信線2を介して他のECU1b,1d、及び他のECU1,1,…との間でメッセージ及びデータの送受信が可能である。
なお、ECU1cにおける制御部10c、記憶部11c、一時記憶部13c及び通信部14cの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
外部コネクタ15cは、診断装置3との接続インタフェースである。外部コネクタ15cに診断装置3が接続されている間、制御部10cは、外部コネクタ15cを介して診断装置3との間で通知及びデータの入出力が可能である。
ECU1bの構成は、実施の形態1同様であり、記憶部11bはハードディスクを用いて十分な記憶容量が確保されている。ECU1dの構成は、ECU1bと同様であるが、記憶部11dはフラッシュメモリを用いる。
実施の形態2にて、ECU1cの制御部10cが読み出す制御プログラム12cを更新する方法について、詳細を説明する。
図6、図7及び図8は、実施の形態2における制御システムにおいてECU1cの制御プログラム12cが更新される際の処理手順の一例を示すフローチャートである。オペレータが診断装置3を操作して、制御プログラム12cの更新要求を出力させた場合、以下の処理が制御システムにて実行される。
診断装置3は、プログラムの更新要求を出力する(ステップS201)。
診断装置3が接続されたECU1cの制御部10cは、外部コネクタ15cにてプログラムの更新要求を受信し(ステップS202)、制御プログラム12cを暗号化変換したときのデータ量を算出する(ステップS203)。制御部10cは、他のECU1b及びECU1dへ記憶部11b及び記憶部11dの空き容量を問い合わせるメッセージを、通信部14aから送信する(ステップS204)。
ECU1b,1dの通信部14b,14dが夫々、空き容量を問い合わせるメッセージを受信し(ステップS205)、制御部10b,10dへ通知する。ECU1bの制御部10bは、当該メッセージに応じて記憶部11bにおける「利用可能な空き容量」を算出する(ステップS206)。ECU1dの制御部10dもステップS205及びS206の処理を実行する。制御部10b又は制御部10dは、記憶部11b又は記憶部11dの空き容量から、自身が制御用に用いる容量を減算し、減算後の容量を「利用可能な容量」とする。このとき自身の制御用に用いる容量は、予め定められてある。制御部10bは、算出した「利用可能な空き容量」を含む応答メッセージを通信部14bから送信する(ステップS207)。ECU1dの制御部10dも同様の処理を行なう。
ECU1cの通信部14cが、応答メッセージを受信し(ステップS208),制御部10cへ通知する。制御部10cは、ECU1b及びECU1dから受信した応答メッセージに基づき、ECU1b及びECU1d夫々の「利用可能な空き容量」を読み出す(ステップS209)。制御部10cは、読み出した各ECU1b及びECU1dの「利用可能な空き容量」からテーブルを作成して記憶部11cに記憶する(ステップS210)。制御部10cは、作成したテーブルにおけるECU1b及びECU1dに、「利用可能な空き容量」の大きさ順に優先順位を付与し(ステップS211)、優先順位が高い装置(ここではECU1b)を、送信先に決定する(ステップS212)。
ステップS210で作成され、ステップS211で優先順位が付与されるテーブルの内容例を示す。図9は、実施の形態2におけるECU1cの制御部10cにて作成されるテーブルの内容例を示す説明図である。図9に示すテーブルには、ECU1b及びECU1dの装置毎に、制御システム内での装置ID、各装置の「利用可能な空き容量」(KB:キロバイト)、記憶部11b及び記憶部11dの記憶装置の種別、及び優先順位をリスト化してある。
図9に示す例では、ECU1bは、装置IDが「0001」であり、「利用可能な空き容量」は、ECU1bからの応答メッセージに基づき124(KB)であると記憶されている。また、ECU1bの記憶部11bの記憶装置の種別はHDD(ハードディスク)であると記憶されている。一方でECU1dは、装置IDが「0002」であり、「利用可能な空き容量」は、ECU1dからの応答メッセージに基づき33(KB)であり、記憶部11dの記憶装置の種別はフラッシュメモリであると記憶されている。
また、図9に示す例では優先順位が付与されており、ECU1bとECU1dとでは「利用可能な空き容量」はECU1bの124(KB)が最も大きいので、ECU1bに対応する装置ID「0001」の優先順位が「1」と付与されている。同様にしてECU1dに対応する装置ID「0002」の優先順位は「2」と付与されている。
このように作成されるテーブルに基づき、ECU1cの制御部10cは、退避先を決定する。図6〜図8のフローチャートに戻り、説明を続ける。ECU1cの制御部10cは、テーブルの優先順位が高い順に、退避先のECUを決定する(ステップS212)。図9に示した例の場合、制御部10cは、優先順位が「1」であるECU1bを退避先と決定する(S212)。
次に制御部10cは、ステップS204で算出したデータ量が、退避先に決定したECU1bの「利用可能な空き容量」以下であるか否かを判断する(ステップS213)。
制御部10cは、ステップS213にてデータ量が「利用可能な空き容量」より多いと判断した場合(S213:NO)、退避先の確保に失敗したのでエラー通知を診断装置3へ送信する(ステップS214)。以後、ECU1cでの更新処理は中止される。
制御部10cは、ステップS213にて「利用可能な空き容量」以下であると判断した場合(S213:YES)、退避先を確保したので記憶部11cに記憶されている制御プログラム12cを読み出す(ステップS215)。制御部10cは、読み出した制御プログラム12cに暗号化処理を施し(ステップS216)、暗号化後の制御プログラム12cのECU1bへの送信を開始する(ステップS217)。この間、制御部10cは、通信部14cから暗号化後の制御プログラム12cの送信が正常に行なわれているか否かを判断する(ステップS218)。制御部10cは、制御プログラム12cの送信が正常に行なわれていると判断した場合(S218:YES)、制御プログラム12cの全ての送信を完了したか否かを判断する(ステップS219)。制御部10cは、送信を完了していないと判断した場合(S219:NO)、処理をステップS218へ戻し、送信を完了したと判断するまで(S219:YES)、ステップS218による監視を継続する。
この間、退避先に決定されたECU1bの通信部14bは、ECU1cから制御プログラム12cを受信し(ステップS221)、制御部10bへ通知する。制御部10bは、受信した暗号化後の制御プログラム12cを記憶部11bの空き領域へ記憶する(ステップS222)。
そして制御部10cは、送信を完了したと判断した場合(S219:YES)、退避先の確保に成功したので、準備完了の通知を外部コネクタ15cから診断装置3へ送信する(ステップS220)。
一方制御部10cは、送信を完了したと判断する前に、制御プログラム12cの送信に何らかのエラーが発生し、送信が正常に行なわれていないと判断した場合(S218:NO)、外部コネクタ15cからエラー通知を診断装置3へ送信する(ステップS223)。このとき制御部10cは、ECU1bへもエラーを知らせるメッセージを送信することが好ましい。以後、制御部10cでの更新処理は中止され、ECU1bでも、エラーメッセージを受信することで途中まで記憶した制御プログラム12cを記憶部11bから消去する。
診断装置3では、プログラムの更新要求を出力した後、ECU1cから通知を受信したか否かを判断し(ステップS224)、通知を受信していないと判断した場合(S224:NO)、処理をステップS224へ戻し、通知があったと判断するまで(S224:YES)、待機する。そして診断装置3では、ECU1cからの何らかの通知を受信したと判断した場合(S224:YES)、エラー通知であるか否かを判断する(ステップS225)。診断装置3は、エラー通知でなく、準備完了の通知を受信したと判断した場合(S225:YES)、更新対象の新たな制御プログラムをECU1dへ出力する(ステップS226)。
ECU1cの制御部10cは、外部コネクタ15cにて新たな制御プログラムを受信し(ステップS227)、新たな制御プログラムの、記憶部11cの制御プログラム12cが記憶されていた領域への書き込み(更新)を開始する(ステップS228)。
制御部10cは、新たな制御プログラムの書き込みが順次、正常に行なわれ、更新が正常に完了したか否かを判断する(ステップS229)。制御部10cは、更新が正常に完了したと判断した場合(S229:YES)、更新完了の通知を外部コネクタ15cから診断装置3へ送信する(ステップS230)。また、このとき制御部10cは、更新が完了したことを知らせる完了メッセージを通信部14cからECU1bへも送信する(S230)。
診断装置3では、新たな制御プログラムをECU1cへ出力した後、通知を受信したか否かを判断し(ステップS231)、受信していないと判断した場合は(S231:NO)、処理をステップS231へ戻して受信したと判断するまで待機する。
制御部10cは、新たな制御プログラムの記憶部11cへの書き込み中、例えば診断装置3とECU1cとの間の入出力が遮断されるなど、続行が不可能となった場合、更新が失敗したと判断する(S229:NO)。制御部10aは、更新が失敗したと判断した場合(S229:NO)、退避先であるECU1bへ、プログラム復旧のためのプログラムの送信要求を通信部14cから送信する(ステップS232)。
ECU1bでは、ECU1cから送信された制御プログラム12cを一時的に記憶した後、通信部14bがECU1cからプログラムの送信要求を受信したか否かを判断する(ステップS233)。通信部14bが受信したと判断した場合(S233:YES)、制御部10bへ通知する。制御部10bは、記憶部11bに記憶してある制御プログラム12cを記憶部11bから読み出し(ステップS234)、通信部14bから順次ECU1cへ送信する(ステップS235)。
ECU1cの通信部14cは、ECU1bから送信された制御プログラム12cを順次受信し(ステップS236)、制御部10cへ通知する。制御部10cは、受信した暗号化されてある制御プログラム12cを復号する(ステップS237)。制御部10aは、復号後の制御プログラム12cを記憶部11cに再記憶する(ステップS238)。制御部10cは、制御プログラム12cの再記憶が完了すると、復旧の完了を知らせるメッセージを通信部14cからECU1bへ送信する(ステップS239)。またこのとき制御部10cは、更新エラーの通知を、外部コネクタ15cから診断装置3へ送信する(ステップS240)。
一方でECU1bでは、送信要求に応じて制御プログラム12cを送信した後、通信部14bがECU1cからメッセージを受信したか否かを判断し(ステップS241)、復旧完了のメッセージを受信していない場合は(S241:NO)、通知を受信するまで待機する。通信部14bが完了のメッセージを受信したと判断した場合(S241:YES)、制御部10bへ通知する。制御部10bは、前記完了のメッセージを受信した場合、記憶部11bに一時的に記憶してある制御プログラム12cを記憶部11bから消去する(ステップS242)。
なおECU1bでは、ステップS233にてプログラムの送信要求を受信していないと判断した場合(S233:NO)、通信部10bは、ECU1cから、正常に更新が完了したことを示す完了のメッセージを受信したか否かを判断する(S241)。この場合も制御部10bは、一時的に記憶部11bに退避させてある更新前の制御プログラム12cが不要となったと判断し、制御プログラム12cを記憶部11bから消去する(S242)。
診断装置3では、新たな制御プログラムを送信した後、更新完了通知を受信したと判断した場合(S231:YES)、受信した通知を音声信号、又は図示しない液晶モニタに出力し(ステップS243)、プログラムの更新処理を終了する。また、ECU1cにて更新が失敗して更新エラーの通知を受信したと判断した場合も(S231:YES)、及び、ステップS225にて、新たな制御プログラムを送信する前に、受信した通知はエラー通知(退避先確保失敗、若しくは制御プログラム12c送信失敗)であると判断した場合も(S225:YES)、受信した通知を音声信号、又は図示しない液晶モニタに出力し(S243)、プログラムの更新処理を終了する。
図6乃至図8のフローチャートに示したように、他のECUの空き容量をリスト化してテーブル化し、優先順位が高い順に退避先のECUを決定する構成とすることにより、より確実に、更新対象のコンピュータプログラムを退避させておくことが可能である。したがって、ECU1cの記憶部11cの記憶容量が、ECU1cを簡易で安価な構成とするために比較的小さい構成であった場合でも、更新に失敗したときに復旧が可能となる。これにより、安全にプログラムの更新を行なうことができる。
(実施の形態3)
更新対象のコンピュータプログラムの退避先は、車内に配されているECU1b,1,1,…のみならず、通信線2に一時的に接続される装置が内蔵する記憶部を用いる構成としてもよい。
図10は、実施の形態3における制御システムの構成を示すブロック図である。実施の形態3における制御システムは、複数のECU1b,1c,1dと、ECU1b,1c,1dが接続される通信線2と、通信線2に接続されている中継装置4と、中継装置4に接続されている他の通信線5と、通信線5に接続される通信装置6とを含む。
なお、実施の形態3における構成は、中継装置4を介して通信線5に接続される通信装置6とも通信が可能であり、通信装置6も退避先の候補となること以外は、実施の形態2における構成と共通する。したがって、実施の形態2と共通する構成には、同一の符号を付して詳細な説明を省略する。
中継装置4は、通信線2及び通信線5の両方に接続されており、通信線5を介して通信装置6から受信した情報を、必要であれば通信線2へ送出し、通信線2を介してECU1c,1b,1dから受信した情報を、必要であれば通信線5へ送出する機能を有する。中継装置4は、ECU1cからの「利用可能な空き容量」の問い合わせメッセージ及び各種通知を、通信線2を介して受信した場合、通信線5を介して通信装置6へ送信し、通信装置6から応答メッセージを受信した場合、通信線2を介してECU1cへ送信する。また、中継装置4は、ECU1cと通信装置6との間の更新対象の制御プログラム12cの送受信を中継する。なお、通信線2を介した通信は、実施の形態1及び2同様にCANプロトコルに準じて実現されるが、通信線5を介した通信は、CAN以外でよく、例えば光通信等でもよい。
通信装置6は、例えば車内に持ち込まれたノート型のパーソナルコンピュータ、携帯情報端末装置、又は携帯電話機等の、記憶部を備える電子装置である。通信装置6は、制御部60と、記憶部61、一時記憶部62、及び通信部63を備える。
制御部60は、CPUを用いる。記憶部61は、ハードディスク又はフラッシュメモリを用いる。通信装置6の記憶部61は、ECU1cよりも大容量の記憶容量を有している。一時記憶部62は、SRAM又はDRAM等を用い、制御部60の処理により発生する種々の情報を一時的に記憶する。通信部60は、通信線5を介して中継装置4との通信を実現する。通信部60は例えば、光通信に対応している。通信部60は、無線通信機能を有し、通信線5ではなく空気中の伝送波を介して中継装置4と通信、又はECU1cと通信が可能な構成であってもよい。
このように構成される実施の形態3の制御システムで、ECU1cの制御プログラム12cを更新する方法について、説明する。
実施の形態3における更新方法は、実施の形態2の図6〜図8のフローチャートに示した処理手順と同様である。中継装置4を介した通信装置6の制御部60も、ECU1b,1dと同様の処理を行なうことにより、同様の処理手順で実現することが可能である。ECU1cから通信装置6へのメッセージの送受信、退避する制御プログラム12cの送受信が、中継装置4を介して行なわれているか否かの違いのみである。したがって、フローチャートを参照した詳細な説明を省略する。
図11は、実施の形態3におけるECU1cの制御部10cにて作成されるテーブルの内容例を示す説明図である。図11に示すテーブルには、ECU1b及びECU1dの装置に加え、通信装置6も加えた装置毎に、制御システム内での装置ID、各装置が持ち込み装置であるか否かの区別、各装置の「利用可能な空き容量」(KB:キロバイト)、記憶装置の種別、及び優先順位をリスト化してある。
図11に示す例では、ECU1bは、装置IDが「0001」であり、既存の車載装置であると記憶されている。また、ECU1bの「利用可能な空き容量」は、応答メッセージに基づき124(KB)であると記憶されている。また、ECU1bの記憶部11bの記憶装置の種別はHDD(ハードディスク)であると記憶されている。一方でECU1dは、装置IDが「0002」であり、同様に既存の車載装置であると記憶されている。また、ECU1dの「利用可能な空き容量」は、応答メッセージに基づき33(KB)であり、記憶部11dの記憶装置の種別はフラッシュメモリであると記憶されている。
図11に示す例では更に、通信装置6は、装置IDが「0003」であり、持ち込み装置であると記憶されている。また、通信装置6の「利用可能な空き容量」は、応答メッセージに基づき2289(KB)であると記憶されている。また、通信装置6の記憶部61の記憶装置の種別はHDDであると記憶されている。
また、図11に示す例では、実施の形態2における例と同様に、「利用可能な空き容量」の大きさ順に、優先順位が付与されている。図11に示す例では、通信装置6の2289(KB)が最も大きいので、通信装置6に対応する装置ID「0003」の優先順位が「1」と付与されている。ECU1bに対応する装置ID「0001」には「優先順位」が「2」、ECU1dに対応する装置ID「0002」には「優先順位」が「3」と付与されている。
図11に示す例のように作成されるテーブルに基づき、ECU1cの制御部10cが退避先を決定した場合、優先順位が「1」である通信装置6を退避先と決定する。このように、車両点検時に一時的に車両の制御システムに持ち込まれる装置も、更新対象のコンピュータプログラムの退避先とすることが可能となり、ECU1cの記憶部11cの記憶容量が、車載装置であるECU1cを簡易で安価な構成とするために比較的小さい構成であった場合でも、更新に失敗したときに復旧が可能となる。
(変形例)
実施の形態1から3では、診断装置3はECU1a又はECU1cの外部コネクタ15a又は外部コネクタ15cに接続される構成とした。しかしながら、診断装置3は、通信線2に直接的に接続される外部コネクタに接続され、診断装置3から通信線2を介して更新要求、及び新たなコンピュータプログラムがECU1a又はECU1cへ送信される構成としてもよい。
図12は、変形例における制御システムの構成を示すブロック図である。変形例における制御システムは、ECU1a,1bと、通信線2と、通信線2に接続される外部コネクタ7とを含む。変形例では、外部装置である診断装置3は外部コネクタ4に接続されている。
この場合、プログラム更新要求は、CANプロトコルに準じ、プログラムの更新要求というメッセージに割り振られたIDが含まれるデータフレームを、診断装置3が通信線2へ送出することにより実現される。当該データフレームには、プログラムの更新対象であるECU1aを送信先とする情報を含むことが望ましい。また、更新対象のコンピュータプログラムは、ECU1aを送信先とするデータフレームで、複数回に分けて送信される。その他の構成は、ECU1aと診断装置3との間の通信が、CANプロトコルに準じて通信線2を介して行なわれること以外は、実施の形態1と同様の方法で実現される。
実施の形態1乃至3及び変形例では、本発明は車両に搭載される車両制御システムに適用される例を示した。しかしながら本発明はこれに限らず、通信手段を備えて相互にデータを送受信して連携により制御を行なう多様な制御システムに適用することができる。
なお、上述のように開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1a,1b,1c,1d ECU
10a,10b,10c,10d 制御部
11a,11b,11c,11d 記憶部
12a,12c 更新対象の制御プログラム
14a,14b,14c,14d 通信部
2 通信線
3 診断装置
6 通信装置
60 制御部
61 記憶部

Claims (6)

  1. 情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づいて制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備える複数の制御装置が通信線に接続されており、前記複数の制御装置の内のいずれかがプログラム更新要求を受信し、新たなコンピュータプログラムを受信し、受信したコンピュータプログラムを前記記憶手段に記憶させてプログラムを更新する制御システムにおいて、
    プログラム更新要求を受信した制御装置は、
    前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ、前記通信手段により送信せしめる手段と、
    前記記憶手段における前記新たなコンピュータプログラムの更新処理の成否を判断する手段と、
    該手段が否と判断した場合、前記他の制御装置へ送信してあるコンピュータプログラムの送信要求を、前記通信手段により送信せしめる手段と、
    前記他の制御装置から送信されるコンピュータプログラムを、前記通信手段により受信する手段と、
    受信したコンピュータプログラムを前記記憶手段に再度記憶させる手段と
    を備え、
    前記他の制御装置は、
    前記通信手段により、コンピュータプログラムをプログラム更新対象の制御装置から受信する手段と、
    受信したコンピュータプログラムを前記記憶手段に記憶する手段と、
    前記送信要求を受信した場合、前記コンピュータプログラムをプログラム更新対象の制御装置へ前記通信手段により送信せしめる手段と
    を備えることを特徴とする制御システム。
  2. 前記プログラム更新要求を受信した制御装置は、
    前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ送信する前に、前記通信手段により、他の制御装置の記憶手段における空き容量を問い合わせる手段と、
    前記問い合わせに対する応答を受信する手段と、
    前記応答に含まれる他の制御装置の記憶手段における空き容量の情報に基づき、前記コンピュータプログラムの送信先を決定する決定手段と
    を備え、
    前記1つの制御装置は、前記通信手段により、前記決定手段が決定した送信先へ、前記コンピュータプログラムを送信するようにしてあり、
    他の制御装置は、
    前記空き容量の問い合わせを、前記通信手段により受信する手段と、
    前記メッセージを受信した場合、自身の記憶手段における空き容量を算出する手段と、
    算出した空き容量の情報を含む応答メッセージを、前記通信手段により送信せしめる手段と
    を備えることを特徴とする請求項1に記載の制御システム。
  3. 前記決定手段は、
    前記応答に含まれる情報に基づき、空き容量が多い他の制御装置を送信先と決定するようにしてあること
    を特徴とする請求項2に記載の制御システム。
  4. 前記他の制御装置は、前記複数の制御装置の内、特定の制御装置であること
    を特徴とする請求項2に記載の制御システム。
  5. 前記プログラム更新要求を受信した制御装置は、
    コンピュータプログラムの更新処理の成否の結果を送信する手段と、
    プログラム更新要求を受信した場合に前記記憶手段に記憶しているコンピュータプログラムを他の制御装置へ送信する前に、他の制御装置への前記コンピュータプログラムの記憶の可否を判断する手段とを備え、
    該手段が否と判断した場合、プログラムの更新を失敗と判断し、結果を送信するようにしてあること
    を特徴とする請求項1乃至4のいずれかに記載の制御システム。
  6. 情報を記憶する記憶手段と、該記憶手段に記憶してあるコンピュータプログラムに基づき制御対象に対する制御処理を実行するプロセッサと、情報を送受信する通信手段とを備えて通信線に接続されている複数の制御装置を含む制御システムにて、前記複数の制御装置の内のいずれかが、プログラム更新要求及び更新対象の新たなコンピュータプログラムを受信し、前記記憶手段に記憶されているコンピュータプログラムを前記新たなコンピュータプログラムに更新する方法において、
    前記プログラム更新要求を受信した制御装置は、前記新たなコンピュータプログラムを受信する前に、前記記憶手段に記憶しているコンピュータプログラムを、前記通信手段により他の制御装置へ送信し、
    前記他の制御装置は、プログラム更新対象の制御装置から送信されたコンピュータプログラムを前記通信手段により受信し、
    受信したコンピュータプログラムを記憶手段に記憶させ、
    前記プログラム更新要求を受信した制御装置は、新たなコンピュータプログラムを受信し、
    前記記憶手段にて、受信した新たなコンピュータプログラムの更新処理を試行し、
    前記更新処理の成否を判断し、
    否と判断した場合、前記他の制御装置へ、送信してあるコンピュータプログラムの送信要求を、前記通信手段により送信し、
    前記他の制御装置は、
    前記送信要求を前記通信手段により受信し、
    記憶してあるコンピュータプログラムをプログラム更新対象の制御装置へ、前記通信手段により送信し、
    プログラム更新対象の制御装置は、
    前記他の制御装置から送信されるコンピュータプログラムを、前記通信手段により受信し、
    受信したコンピュータプログラムを前記記憶手段に再記憶させる
    ことを特徴とするプログラム更新方法。
JP2012170149A 2012-07-31 2012-07-31 制御システム及びプログラム更新方法 Pending JP2014029619A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012170149A JP2014029619A (ja) 2012-07-31 2012-07-31 制御システム及びプログラム更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012170149A JP2014029619A (ja) 2012-07-31 2012-07-31 制御システム及びプログラム更新方法

Publications (1)

Publication Number Publication Date
JP2014029619A true JP2014029619A (ja) 2014-02-13

Family

ID=50202141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012170149A Pending JP2014029619A (ja) 2012-07-31 2012-07-31 制御システム及びプログラム更新方法

Country Status (1)

Country Link
JP (1) JP2014029619A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232815A (ja) * 2014-06-10 2015-12-24 カルソニックカンセイ株式会社 車載プログラムのアップデート装置
JP2017041180A (ja) * 2015-08-21 2017-02-23 三菱電機株式会社 プログラム更新制御装置、情報家電機器、プログラム更新システムおよびプログラム更新方法
CN108292212A (zh) * 2015-09-21 2018-07-17 克诺尔商用车制动系统有限公司 用于分配和/或更新车辆的联网的控制装置中的软件的系统和方法
JP2019074847A (ja) * 2017-10-13 2019-05-16 株式会社デンソー 電子制御装置
WO2019116896A1 (ja) * 2017-12-11 2019-06-20 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及び、プログラム又はデータの更新方法
US10776017B2 (en) 2015-01-05 2020-09-15 Autonetworks Technologies, Ltd. Vehicle-mounted relay device
WO2020189710A1 (ja) * 2019-03-18 2020-09-24 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP2020154594A (ja) * 2019-03-19 2020-09-24 株式会社Pfu サーバ装置及びネットワークシステム
CN111919181A (zh) * 2018-03-29 2020-11-10 株式会社日立产机系统 控制装置
JP2022023738A (ja) * 2020-07-27 2022-02-08 トヨタ自動車株式会社 車両用制御装置
WO2023139821A1 (ja) * 2022-01-21 2023-07-27 日立Astemo株式会社 ソフトウェア更新装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232815A (ja) * 2014-06-10 2015-12-24 カルソニックカンセイ株式会社 車載プログラムのアップデート装置
US10776017B2 (en) 2015-01-05 2020-09-15 Autonetworks Technologies, Ltd. Vehicle-mounted relay device
JP2017041180A (ja) * 2015-08-21 2017-02-23 三菱電機株式会社 プログラム更新制御装置、情報家電機器、プログラム更新システムおよびプログラム更新方法
CN108292212A (zh) * 2015-09-21 2018-07-17 克诺尔商用车制动系统有限公司 用于分配和/或更新车辆的联网的控制装置中的软件的系统和方法
JP2019074847A (ja) * 2017-10-13 2019-05-16 株式会社デンソー 電子制御装置
JP7087334B2 (ja) 2017-10-13 2022-06-21 株式会社デンソー 電子制御装置
WO2019116896A1 (ja) * 2017-12-11 2019-06-20 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及び、プログラム又はデータの更新方法
JP2019105945A (ja) * 2017-12-11 2019-06-27 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及び、プログラム又はデータの更新方法
CN111656317A (zh) * 2017-12-11 2020-09-11 株式会社自动网络技术研究所 车载更新装置、程序、及程序或数据的更新方法
CN111919181A (zh) * 2018-03-29 2020-11-10 株式会社日立产机系统 控制装置
CN111919181B (zh) * 2018-03-29 2023-09-12 株式会社日立产机系统 控制装置
WO2020189710A1 (ja) * 2019-03-18 2020-09-24 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP2020152154A (ja) * 2019-03-18 2020-09-24 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP7316810B2 (ja) 2019-03-19 2023-07-28 株式会社Pfu サーバ装置及びネットワークシステム
JP2020154594A (ja) * 2019-03-19 2020-09-24 株式会社Pfu サーバ装置及びネットワークシステム
JP2022023738A (ja) * 2020-07-27 2022-02-08 トヨタ自動車株式会社 車両用制御装置
JP7359096B2 (ja) 2020-07-27 2023-10-11 トヨタ自動車株式会社 車両用制御装置
WO2023139821A1 (ja) * 2022-01-21 2023-07-27 日立Astemo株式会社 ソフトウェア更新装置

Similar Documents

Publication Publication Date Title
JP2014029619A (ja) 制御システム及びプログラム更新方法
US11599349B2 (en) Gateway device, in-vehicle network system, and firmware update method
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2013246718A (ja) 制御システム及びプログラム更新方法
US9086941B1 (en) System and method for providing predictive software upgrades
JP7280412B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
WO2018070156A1 (ja) ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
US10625754B2 (en) Control apparatus, control method, and computer program
CN113613953A (zh) 车载更新装置、更新处理程序、及程序的更新方法
JP2020062936A (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP2019080196A (ja) 車載中継装置、情報処理方法、プログラム、中継装置、及び情報処理システム
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
CN114040360B (zh) 服务器、更新管理方法、非临时存储介质、软件更新装置、带服务器及软件更新装置的系统
US20210173634A1 (en) Vehicle control device and program update system
US20210065478A1 (en) Electronic control unit and non-transitory computer readable medium storing session establishment program
JP7184855B2 (ja) ソフトウェア更新装置、ソフトウェア更新方法
US11836045B2 (en) Electronic control device having a non-volatile memory with a reserved area storing failure data
US20220207129A1 (en) On-board computer, computer execution method, and computer program
US11144239B2 (en) Storage controller, storage device, and write control method
US20230032451A1 (en) Center, method, and non-transitory storage medium
KR20200121657A (ko) 차량의 업데이트 제공 장치 및 방법
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2019074847A (ja) 電子制御装置
CN116909609B (zh) 车载智能设备的软件升级方法、装置及车载智能设备