JP2021047637A - プログラム更新装置及びプログラム更新方法 - Google Patents

プログラム更新装置及びプログラム更新方法 Download PDF

Info

Publication number
JP2021047637A
JP2021047637A JP2019169714A JP2019169714A JP2021047637A JP 2021047637 A JP2021047637 A JP 2021047637A JP 2019169714 A JP2019169714 A JP 2019169714A JP 2019169714 A JP2019169714 A JP 2019169714A JP 2021047637 A JP2021047637 A JP 2021047637A
Authority
JP
Japan
Prior art keywords
program
usage rate
vehicle
usage
update
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.)
Granted
Application number
JP2019169714A
Other languages
English (en)
Other versions
JP7377038B2 (ja
Inventor
賢史 山▲崎▼
Kenshi Yamazaki
賢史 山▲崎▼
建保 胡
Kenho Ko
建保 胡
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2019169714A priority Critical patent/JP7377038B2/ja
Publication of JP2021047637A publication Critical patent/JP2021047637A/ja
Application granted granted Critical
Publication of JP7377038B2 publication Critical patent/JP7377038B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】車両用電子制御装置で動作するプログラムの更新において、プログラム更新のための記憶領域の予約領域を具備しない場合であっても、プログラムの自動更新を実現できるようにする。【解決手段】車両用電子制御装置で動作するプログラムを更新するプログラム更新装置は、車両の使用履歴情報を記憶装置130に順次記録する使用履歴記録部510と、使用履歴情報に基づいて、車両の使用率を算出する使用率算出部520と、プログラムに対する更新が発生したときに、車両の使用率が所定基準以下であるタイミングを特定し、当該タイミングで、車両用電子制御装置が備える記憶装置230に格納された更新対象のプログラムを、更新後の新プログラムで書き換えるプログラム書き換え部530と、を含む。。【選択図】図3

Description

本発明は、車両用電子制御装置で動作するプログラムの更新を行うプログラム更新装置及びプログラム更新方法に関する。
自動車などの車両に搭載された電子制御装置(ECU:ElectricControl Unit)は、機能追加、不具合改修などによってプログラムが更新される場合がある。このため、ECUのプログラムを、無線通信を利用して自動更新する技術が提案されている。
特開2004−249914号公報
このようなプログラムの自動更新を行う方法として、ECUのマイコンが備える不揮発性メモリに確保された複数の記憶領域を交互に使用し、一方の記憶領域に実行対象のプログラムを書き込んでおき、他方の記憶領域をプログラムの更新用の予約領域とする方法がある。かかる方法では、プログラムの更新が発生した際に、予約領域に更新後の新プログラムを書き込む。そして、例えば、再起動時などのタイミングで、実行対象のプログラムを、更新前の旧プログラムから、予約領域に書き込んだ新プログラムに切り替える。このため、例えば、車両走行中等にも新プログラムの書き込みを行うことが可能である。
しかし、かかる方法では、プログラムの更新のために大容量の記憶領域を要するため、ECUのマイコンのコストアップの要因等になり得る。また、プログラムの更新のための予約領域の確保により、ECUに搭載可能なプログラム容量が相対的に制限される要因にもなり得る。
そこで、本発明は、ECUで動作するプログラムの更新において、プログラム更新のための記憶領域の予約領域を具備しない場合であっても、プログラムの自動更新を実現することを目的とする。
本発明では、ECUで動作するプログラムの更新において、車両の使用履歴情報を記憶装置に順次記録し、前記プログラムに対する更新が発生したときに、前記使用履歴情報に基づいて、前記車両の使用率が所定基準以下であるタイミングを特定する。そして、当該タイミングで、前記車両用電子制御装置が備える記憶装置に格納された前記プログラムを、更新後の新プログラムで書き換える。
本発明によれば、車両が使用される可能性の低いタイミングを自動で選択し、そのタイミングでプログラムを書き換えることができる。このため、プログラム更新のための記憶領域の予約領域を具備しない場合であっても、プログラムの自動更新を実現することができる。
プログラム更新システム全体の構成の一例を示すブロック図である。 各装置のハードウェア構成の一例を示すブロック図であり、(a)は管理ユニット、(b)はECUのハードウェア構成を示す。 プログラム更新装置の機能ブロック図である。 各データ構造の一例を示す図であり、(a)は使用履歴テーブル、(b)は使用率テーブル、(c)は使用率閾値を示す。 使用履歴記録処理の一例を示すフローチャートであり、(a)は車両使用開始時、(b)は車両使用終了時を示す。 使用率算出処理の一例を示すフローチャートである。 使用率算出処理の具体例を示した説明図である。 使用率の算出サイクル及び算出期間の具体例を示した説明図である。 プログラム書き換え処理の一例を示した説明図である。 プログラムの書き換え結果の表示方法の一例を示した説明図であり、(a)はランプを用いた表示例、(b)はディスプレイを用いた表示例である。 プログラムの書き換え中であることを示す表示方法の一例を示した説明図であり、(a)はランプを用いた表示例、(b)はディスプレイを用いた表示例である。 プログラムの書き換えの進捗状況を示す表示方法の一例を示した説明図であり、(a)はランプを用いた表示例、(b)はディスプレイを用いた表示例である。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図1は、OTA(Over the Air)によって車両に搭載されたECUのプログラムを更新するプログラム更新システム1の一例を示している。本実施形態におけるプログラム更新システム1は、車両10と、OTA基地局20とを含む。車両10は、管理ユニット100、ECU200A〜200C、無線通信機300及びHMI(Human Machine Interface)400を含む。
管理ユニット100は、ゲートウェイとして機能し、無線通信機300やHMI400と車載ネットワーク500aで接続される一方で、各ECUと車載ネットワーク500bで接続されている。車載ネットワーク500a及び500bは、例えばCAN(Controller Area Network)やLIN(Local Interconnect Network)、Ethernet(登録商標)、FlexRay等で構成される。管理ユニット100は、各ECU200間の通信を中継する一方で、無線通信機300を介してOTA基地局20と通信を行い、各ECU200で動作するプログラムの更新の有無を管理する。そして、いずれかのECU200のプログラムに更新が発生したときには、OTA基地局20から受信した更新後の新プログラムで、該当のECU200のプログラムを更新する。すなわち、本実施形態では、管理ユニット100に搭載されたマイコンがプログラム更新装置として機能する。管理ユニット100の機能については別途詳述する。
ECU200A〜200Cは、車両10に搭載された各種車載機器に対応して夫々設けられており、車両10の諸機能を実現するために必要な制御を行う。なお、図1では一部のECUのみを図示しているが、車両10には他にも多数のECUが搭載されている。
無線通信機300は、OTA基地局20と無線通信を行い、OTA基地局20との間でデータの送受信を行う。HMI400は、本実施形態では、車両10のユーザ(運転者等)への情報提示や、ユーザからの入力を受け付けるための車載機器を示し、例えば、カーナビゲーション装置等のディスプレイや、その他の車載ディスプレイ等を含む。
次に、管理ユニット100のハードウェア構成について説明する。
管理ユニット100は、図2(a)に示すように、プロセッサ110、SRAM120、FROM130、通信インタフェース140a及び140b、並びにこれらを相互通信可能に接続する内部バス150を含む。
プロセッサ110は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。
SRAM120は、電源供給遮断によってデータが消失する揮発性メモリからなり、プロセッサ110が動作中に使用する一時的な記憶領域を提供する。
FROM130は、電気的にデータを書き換え可能な不揮発性メモリからなり、各ECU200の管理を行うプログラムや、当該プログラムの動作に用いる各種データを格納する。また、本実施形態で説明する、プログラム更新処理を行うための一連のプログラム及びデータも、同様にFROM130に格納されている。
通信インタフェース140a及び140bは、例えばCANトランシーバ等で構成され、通信インタフェース140aは無線通信機300やHMI400との間の車載ネットワーク500aに、通信インタフェース140bは各ECU200との間の車載ネットワーク500bに接続する機能を提供する。内部バス150は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
次に、ECU200のハードウェア構成について説明する。
ECU200は、図2(b)に示すように、プロセッサ210、SRAM220、FROM230、通信インタフェース240、車載機器インタフェース250及びこれらを相互通信可能に接続する内部バス260を含む。
ECU200のハードウェア構成は、基本的に前述した管理ユニット100のハードウェア構成と同様であるため、管理ユニット100と異なる点についてのみ説明する。
FROM230は、ECU200の機能に応じた制御プログラム(例えば、エンジン、自動変速機、燃料噴射装置等を制御するプログラム)や、当該プログラムの動作に用いる各種データを格納する。当該プログラムが、本実施形態における更新対象のプログラムである。
通信インタフェース240は、管理ユニット100等との間の車載ネットワークに接続する機能を提供する。また、車載機器インタフェース250は、ECU200が行う制御に関連する車載機器等(例えば、各種センサやアクチュエータ等)に接続する機能を提供する。
すなわち、本実施形態のプログラム更新システム1では、ECU200で動作するプログラムに更新が発生したとき、更新後の新プログラムが、OTA基地局20から無線通信で車両10に配信され、車両10の無線通信機300で受信される。このとき、管理ユニット100は待機(スタンバイ)状態であり、当該新プログラムを受信すると、所定条件下で、プログラムの更新対象となるECU200を起動させる。当該所定条件については、別途詳述する。当該新プログラムは、管理ユニット100によってプロトコル変換されつつECU200に送信される。そして、ECU200の内部にあるFROM230の更新対象プログラムが当該新プログラムで書き換えられ、更新が完了する。その後、ECU200が動作するときには、当該新プログラムが実行される。
図3は、管理ユニット100において実現されるプログラム更新装置の機能ブロック図である。管理ユニット100は、FROM130に格納された、プログラム更新処理を行うプログラムが、プロセッサ110によって実行されることによってその機能が実現される、使用履歴記録部510、使用率算出部520及びプログラム書き換え部530を備える。また、管理ユニット100は、FROM130に格納された、使用履歴テーブル610、使用率テーブル620及び使用率閾値630を備える。
使用履歴記録部510は、車両の使用履歴情報を記憶装置に順次記録する。具体的には、使用履歴記録部510は、車両の使用開始時及び使用終了時に、夫々の時刻を使用履歴テーブル610に記録する。
使用率算出部520は、使用履歴テーブル610に記録された車両の使用履歴情報に基づいて所定期間毎の車両の使用率を算出し、使用率テーブル620に記録する。
プログラム書き換え部530は、ECU200で動作するプログラムに対する更新が発生したときに、使用率テーブル620の使用率及び使用率閾値630を参照し、車両の使用率が使用率閾値630に設定された値以下のタイミングを特定して、当該タイミングでプログラムの書き換えを実行する。
使用履歴テーブル610は、車両の使用開始時及び使用終了時に、夫々の時刻が使用履歴情報として順次記録されるテーブルであり、図4(a)に示すように、使用開始時刻と使用終了時刻の項目を有する。
使用率テーブル620は、所定期間毎の車両の使用率が記録されるテーブルであり、図4(b)に示すように、期間と使用率の項目を有する。
使用率閾値630は、プログラムの書き換えを実行するか否かの判断に用いる基準としての使用率の閾値であり、図4(c)に示すように、任意の割合を示す値が設定される。本実施形態では、車両の使用率がこの使用率閾値630に設定された値以下の期間に含まれるタイミングで、プログラムの書き換えが実行される。なお、当該使用率閾値630が、所定基準の一例である。
また、ECU200では、FROM230において、ECU200の制御プログラムである、更新対象プログラム640を備える。
図5は、使用履歴記録部510によって実行される使用履歴記録処理の一例を示す。
図5(a)は、車両の使用開始時における処理の一例である。
ステップ1011で、使用履歴記録部510は、イグニッションスイッチがオンにされ、エンジンの始動操作がなされたことを検出する。
ステップ1012で、使用履歴記録部510は、使用履歴テーブル610に新規データを作成し、現在時刻を、当該データの使用開始時刻に記録する。
図5(b)は車両の使用終了時における処理の一例を示す。
ステップ1021で、使用履歴記録部510は、イグニッションスイッチがオフにされ、エンジンの停止操作がなされたことを検出する。
ステップ1022で、使用履歴記録部510は、現在時刻を、使用履歴テーブル610の使用履歴データのうち、使用開始時刻のみが記録されている最新データの使用終了時刻に記録する。
このような使用履歴記録部510による使用履歴記録処理により、車両が使用されるごとに、その使用開始時刻及び使用終了時刻が対応づけられた使用履歴情報が、使用履歴テーブル610に格納される。
図6は、使用率算出部520によって実行される使用率算出処理の一例を示す。この使用率は、車両の使用態様に応じた任意のサイクルで、任意の単位期間毎に算出することができる。本実施形態では、具体例として、週単位かつ曜日別の車両の使用率を、30分毎に算出するものとする。なお、この「週単位かつ曜日別」が、所定のサイクルの一例であり、「30分毎」が所定期間の一例である。
また、本実施形態では、当該使用率算出処理を、週に一度、所定の時刻(例えば毎週日曜の深夜0時等)に実行するものとする。なお、この「週に一度」が所定の頻度の一例である。
ステップ1031で、使用率算出部520は、所定のサイクルで、所定期間毎の車両の使用率を算出する。具体的には、本実施形態では、使用率算出部520は、30分毎の各時間帯について、使用履歴テーブル610に記録された各データの使用開始時刻と使用終了時刻の間の時間と全部又は一部が重複している日数の割合を、週単位かつ曜日別に算出する。
ステップ1032で、使用率算出部520は、算出した使用率と該当する期間とを対応付けたデータを生成し、使用率テーブル620に記録する。
このような使用率算出部520による使用率算出処理により、車両の使用率を、所定のサイクルで所定期間毎に把握することが可能となる。本実施形態では、車両の使用率を、週単位かつ曜日別に、30分毎の時間帯のそれぞれについて把握することが可能となる。
ここで、ステップ1031における使用率の算出方法の一例について、具体例を示して説明する。例えば、使用履歴テーブル610への使用履歴情報の記録を開始したのが5週間前である場合において、使用履歴テーブル610に格納されたデータが示す使用履歴と、日曜の7時から7時30分の間の時間帯の全部又は一部とが重複している日数、すなわち、当該時間帯に車両が使用された日数が3日であるとき、当該時間帯における車両使用率は5分の3、すなわち60パーセントとなる。
図7は、当該使用率算出処理の具体例を示した説明図である。左側に示すのは、ある一週間における、曜日別の車両の使用履歴である。この具体例では、平日は車両を通勤に用いており、週末はレジャー等に用いる使用態様を示しており、網掛け部分がこの一週間で実際に車両が使用された時間帯を示している。そして、右側が、このような使用履歴情報が蓄積されたデータに基づいて算出された、週単位での曜日別の車両の使用率を示しており、網掛けの色がより濃い部分がより使用率が高いことを示している。例えば、平日は朝9時前後と夕方の使用率が高く、週末は、平日と比較すると使用時間帯が分散されていることがわかる。
このような使用率を算出するのに用いる使用履歴情報は、使用履歴テーブル610に使用履歴情報が蓄積されている期間のうち、全ての期間を対象としてもよいし、例えば所定時期以降の使用履歴情報のみを対象としてもよい。特に、あるタイミングで車両の使用態様が変わった場合等(例えば、個人で所有している車両が、あるタイミングから業務使用になった場合等)には、そのタイミング以降のデータのみを用いて使用率を算出したほうが、より現在の使用態様に則した使用率を得ることができる。このような算出対象の期間の変更は、例えば、パラメータで適宜設定できるようにしてもよい。そして、使用率算出部520では、当該パラメータで設定された日時を参照して、当該日時以降の使用履歴テーブル610のデータのみを使用率の算出対象とするようにしてもよい。
ここで、本実施形態では、週単位かつ曜日別の使用率を30分毎に算出しているが、車両の使用態様によって、使用率の算出サイクルや、使用率を算出する単位期間の長さは適宜変更してもよい。
図8は、使用率の算出サイクル及び単位期間の長さの具体例についての説明図である。(a)は、使用率の算出サイクルが「週単位かつ曜日別」であり、使用率を算出する単位期間が1時間毎の例を示す。この例は、上記の実施形態の具体例と同様に、曜日によって使用態様が異なる場合に適している。(b)は、(a)と同様に単位期間は1時間毎だが、算出サイクルが「月単位かつ日別(月初から月末までの各日)」の例を示す。この例は、例えば、使用態様が一ヶ月のサイクルで日毎に変わる場合(例えば、商用車で、毎月締日が近づくと使用率が高くなるが、それ以外の日には相対的に使用率が低い場合等)などに適している。
一方、(c)は、算出サイクルが「年単位かつ月別」であり、単位期間が1日毎の例を示す。この例は、例えば、使用態様が一年のサイクルで月毎に変わる場合(例えば、観光業で使用される車両で、毎年夏休みや行楽シーズンの月には使用率が高くなるが、それ以外の月には相対的に使用率が低い場合等)に適している。(d)は、(c)と同様に単位期間は1日毎だが、算出サイクルが「年単位かつ四半期別」の例を示す。この例は、例えば、使用態様が一年のサイクルで四半期毎に変わる場合(例えば、商用車で、毎年四半期決算の前の時期に使用率が高くなる場合等)に適している。
なお、曜日や季節等に関係なく毎日同じような使用態様であれば、例えば、単に「日単位」のサイクルで、30分や1時間毎に使用率を算出してもよい。
このように、車両の使用態様に応じて、使用率の算出サイクル及び単位期間はいかようにも設定することができる。なお、単位期間を短くすればするほど、使用率の精度が高くなり、プログラム書き換えの可否についてより適切な判定が可能となるが、一方で使用率テーブル620のデータの件数は多くなる。特に算出サイクルが長いほどデータの件数が多くなるため、上記のように、算出サイクルが長い場合には、単位期間を1時間毎から日毎にまとめるなど、使用可能な記憶領域の容量を考慮して調整するようにしてもよい。
このような使用率の算出サイクルや単位期間の長さは、例えば、パラメータで適宜設定できるようにしてもよい。そして、使用率算出部520では、当該パラメータで設定された算出サイクルや単位期間の長さを参照して、当該算出サイクルや単位期間の長さに応じた使用率を算出できるようにしてもよい。このようにすることで、将来的な車両の使用態様の変化や、プログラムの更新頻度の変化等にも柔軟に対応することができる。
また、使用率算出部520が当該使用率算出処理を実行するタイミングも、任意に設定することができる。例えば、上記の実施形態では週単位かつ曜日別の算出サイクルの使用率を週に一度の頻度で算出しているが、必ずしも算出サイクルと同じ頻度で実行する必要はない。例えば、使用率算出部520は、算出サイクルに関わらず、プログラムの更新が発生したタイミング、すなわち、本実施形態においては、後述するプログラム書き換え部530によるプログラム書き換え処理において、OTA基地局20から更新後の新プログラムを受信したタイミングで、使用率を算出するようにしてもよい。
図9は、プログラム書き換え部530によって実行されるプログラム書き換え処理の一例を示す。
ステップ1041で、プログラム書き換え部530は、無線通信機300経由で、OTA基地局20から更新後の新プログラムを受信する。
ステップ1042で、プログラム書き換え部530は、使用率テーブル620を参照し、使用率が使用率閾値630に設定された閾値以下であるデータの期間に設定された時間帯を、書き換え可能時間帯として特定する。この書き換え可能時間帯が、使用率が所定基準以下である期間の一例である。
ステップ1043で、プログラム書き換え部530は、現時点においてプログラムの書き換えが可能か否かの判定を行う。具体的には、ステップ1042で特定した書き換え可能時間帯に、現在時刻が含まれるか否かを判定する。現在時刻が含まれる場合には、現在時刻を、使用率が閾値以下であるタイミング、すなわち、プログラムの書き換えが可能なタイミングとして特定し、ステップ1045に進む(YES)。一方、書き換え可能時間帯に現在時刻が含まれない場合には、ステップ1044に進む(NO)。なお、当該判定の前提として、現時点において車両が使用中である場合には、プログラムの書き換えは当然に不可能であるため、ステップ1044に進む。
ステップ1044で、プログラム書き換え部530は、ステップ1042で特定した書き換え可能時間帯のうち、現在時刻から直近の時間帯を特定する。そして、プログラム書き換え部530は、当該直近の時間帯に含まれるタイミング、例えば、当該時間帯の最初の時刻まで待機する。この場合、受信した新プログラムは、例えば、圧縮された状態で管理ユニットのFROM130等に格納しておくことができる。
ステップ1045で、プログラム書き換え部530は、プログラムの更新対象となるECU200を起動させ、ECU200のFROM230に格納された更新対象プログラム640を、OTA基地局20から受信した新プログラムで書き換える。
ステップ1046で、プログラム書き換え部530は、プログラムの書き換えが正常終了したか否かを判定する。正常終了した場合にはステップ1047に進み(YES)、正常終了しなかった場合にはステップ1048に進む(NO)。
ステップ1047で、プログラム書き換え部530は、プログラムの書き換えが正常終了したことをユーザに通知する。なお、このような正常終了の通知は特に行わないようにしてもよい。
ステップ1048で、プログラム書き換え部530は、プログラムの書き換えが異常終了したことをユーザに通知する。このとき、プログラム書き換え部530は、プログラムの書き換えを再試行するか否かを選択できるインタフェースを提供する。ステップ1047及び1048におけるユーザへの通知方法の具体例については後述する。
ステップ1049で、プログラム書き換え部530は、ユーザがプログラムの書き換えの再試行を選択したか否かを判定する。再試行を選択した場合には、再度ステップ1045に戻り(YES)、再試行を選択しなかった場合には処理を終了する(NO)。
このようなプログラム書き換え部530によるプログラム書き換え処理により、使用率が所定閾値以下の場合、すなわち、車両が使用される可能性が低いタイミングで、ECU200のプログラムの書き換えを行うことができる。
ここで、上記のステップ1043における判定を、図4に示す使用率テーブル620及び使用率閾値630のデータ例を参照して説明する。例えば、現在時刻が日曜日の0時15分である場合、使用率テーブル620のうち、該当する期間のデータの使用率は0パーセントである。一方、使用率閾値630に設定された閾値が10パーセントであり、現在時刻における使用率のほうが低い。このため、プログラム書き換え部530は、プログラムの書き換えが可能であると判定する。しかし、例えば、現在時刻が日曜日の6時40分である場合、使用率テーブル620のうち、該当する期間のデータの使用率は34.8パーセントである一方、使用率閾値630に設定された閾値が10パーセントであり、現在時刻における使用率のほうが高い。このため、プログラム書き換え部530は、プログラムの書き換えが不可であると判定する。
なお、使用率閾値630は、パラメータとして適宜変更できるようにしておくことで、車両の使用態様の変化や、プログラムの更新頻度の変化等にも柔軟に対応することができる。
また、当該プログラム書き換え処理においては、OTA基地局20から更新後の新プログラム本体を受信する前に、プログラム更新がある旨の通知のみを受信し、その段階で前述のステップ1043の判定を行ってもよい。そして、プログラム書き換え部530は、プログラムの書き換えが可能と判定した時点で、OTA基地局20から新プログラム本体を受信するようにしてもよい。
なお、ステップ1046でプログラムの書き換えが正常終了しなかった場合には、プログラムの書き換えをバックグラウンドで自動的に所定回数再試行するようにしてもよい。
ここで、上記のステップ1047及び1048において、プログラムの書き換えが正常に終了したか否かを、ECU200に接続された車載機器等やHMI400のディスプレイ等によってユーザに通知する方法について、具体例を示して説明する。
図10(a)は、ランプを用いた表示例である。プログラムの書き換え中にはランプが緑色で点灯又は点滅しており、書き換えが正常終了した場合には、ランプが消灯する一方、書き換えが異常終了した場合には、ランプが赤色で点灯又は点滅する。こうすることによって、ユーザは、少なくともプログラムの書き換えが正常に終了しなかったことを把握することができ、例えばディーラに連絡する等の対応をすることができる。
一方、図10(b)は、プログラムの書き換えが正常に終了したか否かをディスプレイ等にメッセージで表示させる例である。書き換えが正常終了した場合には、正常終了した旨を表示し、書き換えに失敗した場合には、その旨を表示した上で、書き換えを再試行するか否かをユーザに選択させるボタン等を表示する。こうすることによって、ユーザは、プログラムの書き換えが正常終了したか否かを把握することができるほか、異常終了したときに、すぐに書き換えを再試行するか否かを決定することができる。
なお、このようにディスプレイ等を用いる場合でも、書き換えが正常終了した場合には特にメッセージを表示させないようにすることも可能であるし、書き換えが異常終了した場合には、単に異常終了した旨のみをメッセージで表示することも当然に可能である。
ところで、上記のステップ1045においてプログラムの書き換えをしている間は、エンジンを始動させることができず、ユーザは車両を使用することができない。このため、ユーザに対し、プログラムの書き換え中であることを通知することが望ましい。そこで、このような通知をECU200に接続された車載機器等やHMI400のディスプレイ等によって行う方法について、具体例を示して説明する。
図11は、プログラムの書き換え中であることをユーザに示す表示例を示している。図11(a)は、車内に設けられたランプを用いる表示例であり、書き換え前にはランプが消灯しており、書き換え中にランプが点灯し、書き換えが終了すると再び消灯する。一方、図11(b)はメッセージをディスプレイ等に表示させる例であり、プログラムの書き換え中に「エンジン制御プログラムを更新中」というメッセージを表示させる。このような表示により、ユーザにプログラムの書き換え中であることを知らせることができる。
図12は、プログラムの書き換え中か否かに加え、その進捗状況もユーザに示す表示例を示している。図12(a)は、ランプを用いる例であり、書き換えの前半にはランプが遅く点滅し、書き換え中の中盤にはランプが中程度の普通の速さで点滅し、書き換えの後半にはさらに速く点滅する。一方、図12(b)はプログラムの書き換え処理の進捗状況を、ディスプレイ等にプログレスバーで表示させる例である。このような表示により、プログラムの書き換え中に、ユーザに書き換え処理の進捗状況を知らせることができ、ユーザは、プログラムの書き換え処理が終了するまでの残り時間をおおむね把握することができる。なお、プログラム書き換え処理の処理速度及び進捗状況に基づいて、残り時間の予測値を表示するようにしてもよい。
なお、かかる進捗状況は、例えば、車載設備のうち、車両10のインストルメントパネル等に装備された車速メータ、エンジン回転速度メータ、フューエルメータ、走行距離メータ、時計などの数値表示機能を利用して表示することも可能である。デジタル表示するものを用いる場合は、進捗状況をそのまま数値表示すればよく、アナログ表示の場合は、例えば、車速メータの0〜100km/h区間を0〜100%に置き換えて表示するようにしてもよい。また、10%毎など、ステップ的に表示するようにしてもよい。さらに、距離計によるデジタル表示では減算表示も可能である。なお、音声通報機能を備えた車両では、音声によって進捗状況を知らせるようにしてもよい。
また、上記のランプは、例えば、車両10のインストルメントパネル等に装備されたランプのほか、車外へ警報を表示する表示ランプ(ハザードランプ、ターンシグナルランプ等)を用いることもできる。
かかる本実施形態によれば、ECU200で動作するプログラムに対して更新が発生した際に、車両10が使用される可能性が低いタイミングを自動的に識別してプログラムの書き換えを行うことができる。例えば、プログラムに更新が発生した際にちょうど車両10が使用されていない状態であっても、その時間帯における使用率が高ければ、プログラムの更新が完了する前に、すぐに車両が使用されてしまう可能性が高い。しかし、本実施形態のように、車両10が使用される可能性が低いタイミング、すなわち、ECU200のプログラムが動作する可能性が低いタイミングでプログラムの書き換えができることで、ECU200のFROM230に格納された更新対象のプログラムを、直接書き換えることができる。このため、プログラムの更新用の予約領域を確保する必要がなくなり、例えば、プログラム更新のためにメモリをダブルバンクで実装するなどの必要性がなくなる。その結果、ECU200のマイコンにおける記憶容量を減らすことができ、マイコンのコストを抑えたり、相対的に他のプログラムのための記憶容量を多く確保したりすることができる。
なお、上記実施形態では、車両10の使用率を所定サイクルで所定期間毎に算出しているが、このような算出処理は必須ではない。例えば、変形例として、使用率算出部520は、プログラムの更新が発生したタイミングで、使用履歴テーブル610を参照し、使用開始時刻及び使用終了時刻の間に現在時刻が含まれるデータが存在しないか、すなわち、現在時刻における使用回数が0回であるかを特定することができる。これは、実質的に、使用率が0パーセントであるかを特定していることと同義であり、このように使用回数が0回の場合にのみ、プログラムを更新するようにすることができる。なお、この場合、当該データが0件であることが所定基準となる。このように、本明細書における車両の「使用率」は、例えば車両の使用回数の多さ等によって特定されてもよく、必ずしも割合を示す数値である必要はない。同様に、使用率閾値630に設定される値も、必ずしも割合を示す値でなくてもよい。なお、当該変形例で、プログラムの更新が発生したタイミングで、使用履歴テーブル610に、使用開始時刻及び使用終了時刻の間に現在時刻が含まれるデータが存在している場合には、現在時刻以降で使用履歴テーブル610のデータが0件となるタイミングを特定し、そのタイミングまで待機した後に、プログラムを更新することもできる。
また、上記の実施形態では、車両の使用履歴記録処理、使用率算出処理及びプログラム書き換え処理を、車両に搭載された管理ユニット100において実行している。すなわち、本明細書で説明するプログラム更新装置が、管理ユニット100に実装されている例について説明している。しかし、これらの処理は、必ずしも管理ユニット100で実行する必要はない。例えば、OTA基地局20側においてプログラム更新装置を実装し、OTA基地局20側において各処理を実行することもできる。
これらの処理をOTA基地局20側で実行する変形例について説明する。当該変形例では、例えば、それぞれの車両10の管理ユニット100が、車両10が使用されるごとに、使用開始時刻及び使用終了時刻をOTA基地局20に送信する。そして、OTA基地局20では、これらの受信した時刻を、車両10のそれぞれについて、上記の使用履歴テーブル610と同様に、OTA基地局20において備える記憶装置に記録する。また、OTA基地局20では、車両10のそれぞれについて、所定のサイクルで所定期間毎の使用率を算出し、上記の使用率テーブル620と同様に、記憶装置に記録する。
そして、OTA基地局20では、車両10のECU200で動作するプログラムに対する更新が発生したときに、該当するECU200を搭載している車両10のそれぞれについて、現在時刻における使用率が、予め設定された使用率閾値よりも低いか否かを判定し、使用率が使用率閾値よりも低い場合に、更新後の新プログラムを車両10に対して送信する。そして、車両10側では、受信した新プログラムで、ECU200の更新対象のプログラムを更新する。
このようにすれば、OTA基地局20側で上記の処理を実行する場合においても、車両10の管理ユニット100が処理を実行する上記の実施形態と同様に、車両10のそれぞれが使用される可能性が低いタイミングで、プログラムを書き換えて更新することができる。
また、他の変形例として、プログラム書き換え装置をECU200側で実装し、使用履歴記録処理、使用率算出処理及びプログラム書き換え処理を、ECU200において実行することもできる。また、例えば、プログラム書き換え装置を、管理ユニット100とECU200とで分散して実装し、使用履歴記録処理、使用率算出処理を管理ユニット100で実行する一方、プログラム書き換え処理をECU200側で実行することもできる。この場合、ECU200では、プログラム書き換え処理において現在時刻の使用率を参照するときには、管理ユニット100に対して、当該使用率を提供するようにリクエストを送信するようにしてもよい。
以上説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
1…プログラム更新システム、10…車両、20…OTA基地局、100…管理ユニット、200…ECU、300…無線通信機、400…HMI、510…使用履歴記録部、520…使用率算出部、530…プログラム書き換え部、610…使用履歴テーブル、620…使用率テーブル、630…使用率閾値、640…更新対象プログラム

Claims (9)

  1. 車両用電子制御装置で動作するプログラムの更新を行うプログラム更新装置であって、
    車両の使用履歴情報を記憶装置に順次記録する使用履歴記録部と、
    前記使用履歴情報に基づいて、前記車両の使用率を算出する使用率算出部と、
    前記プログラムに対する更新が発生したときに、前記使用率が所定基準以下であるタイミングを特定し、当該タイミングで、前記車両用電子制御装置が備える記憶装置に格納された前記プログラムを更新後の新プログラムで書き換えるプログラム書き換え部と
    を備えたプログラム更新装置。
  2. 前記プログラム書き換え部は、前記プログラムに対する更新が発生したタイミングにおける前記使用率が前記所定基準以下であれば、当該タイミングで前記プログラムを前記新プログラムで書き換える一方、当該タイミングにおける前記使用率が前記所定基準より高ければ、前記使用率が前記所定基準以下となるタイミングまで待機する、請求項1記載のプログラム更新装置。
  3. 前記使用率算出部は、前記使用率を、前記車両の使用態様に応じた所定のサイクルで所定期間ごとに算出し、
    前記プログラム書き換え部は、前記所定期間のうち、前記使用率が前記所定基準以下である期間に含まれるタイミングで、前記プログラムを前記新プログラムで書き換える、請求項1又は2に記載のプログラム更新装置。
  4. 前記使用率算出部は、前記使用率を、前記プログラムに対する更新が発生したタイミングで算出する、請求項3記載のプログラム更新装置。
  5. 前記使用率算出部は、前記使用率を、前記所定のサイクルに応じた所定の頻度で算出する、請求項3記載のプログラム更新装置。
  6. 前記使用率算出部は、前記使用率を、所定時期以降に記録された前記使用履歴情報のみに基づいて算出する、請求項3〜5のいずれか1項に記載のプログラム更新装置。
  7. 前記プログラム書き換え部は、前記プログラムの書き換え中に、当該プログラムの書き換え状況を示す情報を前記車両の車載機器に表示させる、請求項1〜6のいずれか1項に記載のプログラム更新装置。
  8. 前記プログラム書き換え部は、前記プログラムの書き換えが異常終了したときに、異常終了したことを示す情報及び再試行の可否をユーザに選択させるインタフェースを前記車両の車載機器に表示させる、請求項1〜7のいずれか1項に記載のプログラム更新装置。
  9. 車両用電子制御装置で動作するプログラムの更新を行うプログラム更新方法であって、
    車両の使用履歴情報を記憶装置に順次記録し、
    前記使用履歴情報に基づいて、前記車両の使用率を算出し、
    前記プログラムに対する更新が発生したときに、前記使用率が所定基準以下であるタイミングを特定し、当該タイミングで、前記車両用電子制御装置が備える記憶装置に格納された前記プログラムを更新後の新プログラムで書き換える、
    プログラム更新方法。
JP2019169714A 2019-09-18 2019-09-18 プログラム更新装置及びプログラム更新方法 Active JP7377038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019169714A JP7377038B2 (ja) 2019-09-18 2019-09-18 プログラム更新装置及びプログラム更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019169714A JP7377038B2 (ja) 2019-09-18 2019-09-18 プログラム更新装置及びプログラム更新方法

Publications (2)

Publication Number Publication Date
JP2021047637A true JP2021047637A (ja) 2021-03-25
JP7377038B2 JP7377038B2 (ja) 2023-11-09

Family

ID=74878511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019169714A Active JP7377038B2 (ja) 2019-09-18 2019-09-18 プログラム更新装置及びプログラム更新方法

Country Status (1)

Country Link
JP (1) JP7377038B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024095463A1 (ja) * 2022-11-04 2024-05-10 三菱電機株式会社 車載診断装置およびプログラム更新方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
WO2010113348A1 (ja) * 2009-03-31 2010-10-07 トヨタ自動車株式会社 車載ソフトウェア更新装置
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2019145004A (ja) * 2018-02-23 2019-08-29 トヨタ自動車株式会社 情報システム、情報処理方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
WO2010113348A1 (ja) * 2009-03-31 2010-10-07 トヨタ自動車株式会社 車載ソフトウェア更新装置
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2019145004A (ja) * 2018-02-23 2019-08-29 トヨタ自動車株式会社 情報システム、情報処理方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024095463A1 (ja) * 2022-11-04 2024-05-10 三菱電機株式会社 車載診断装置およびプログラム更新方法

Also Published As

Publication number Publication date
JP7377038B2 (ja) 2023-11-09

Similar Documents

Publication Publication Date Title
CN106458113B (zh) 车载程序写入装置以及地图数据写入装置
RU2669526C2 (ru) Способ перезаписи электронных модулей и транспортное средство
JP6696468B2 (ja) 車載更新装置及び車載更新システム
JP6658409B2 (ja) 車載更新システム、車載更新装置及び通信装置の更新方法
JP6693853B2 (ja) ソフトウエア更新制御装置
US11683197B2 (en) Vehicle master device, update data distribution control method, computer program product and data structure of specification data
CN106414178A (zh) 车载程序写入装置
JP3151831B2 (ja) 車両情報通信装置及び車両情報通信システム
US11288156B2 (en) Control apparatus, control method, and computer program
JP4722194B2 (ja) 車両のための書き換えシステム
US8688319B2 (en) Procedure for adaptive configuration recognition
JP6185789B2 (ja) 車載ソフトウェア更新装置
JP2016060407A (ja) 車両制御プログラム書換システム及び車両制御プログラム書換方法
JP4442617B2 (ja) 電子制御装置
CN101242380A (zh) 车载网关装置、其控制方法、连接装置及其连接控制方法
US20210165649A1 (en) Electronic control unit, retry point specifying method and computer program product for specifying retry point
JP2018181377A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
US20220415097A1 (en) Vehicle-mounted relay apparatus, program, and reply method
US20100004812A1 (en) Method for On-Board Data Backup for Configurable Programmable Parameters
JP2020004245A (ja) プログラム更新装置、プログラム更新システム、プログラム更新方法、およびプログラム更新プログラム
JP7377038B2 (ja) プログラム更新装置及びプログラム更新方法
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP7131475B2 (ja) 電子制御装置、セッション確立プログラム及び制御プログラム
CN108008964A (zh) 车载网络系统,车载软件的管理方法和车辆
CN108749573A (zh) 一种车辆里程备份方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231027

R150 Certificate of patent or registration of utility model

Ref document number: 7377038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150