JP2020126452A - 電子制御装置及び不揮発性メモリの使用方法 - Google Patents

電子制御装置及び不揮発性メモリの使用方法 Download PDF

Info

Publication number
JP2020126452A
JP2020126452A JP2019018584A JP2019018584A JP2020126452A JP 2020126452 A JP2020126452 A JP 2020126452A JP 2019018584 A JP2019018584 A JP 2019018584A JP 2019018584 A JP2019018584 A JP 2019018584A JP 2020126452 A JP2020126452 A JP 2020126452A
Authority
JP
Japan
Prior art keywords
electronic control
failure information
rom
inactive
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.)
Granted
Application number
JP2019018584A
Other languages
English (en)
Other versions
JP7216559B2 (ja
Inventor
貴仁 藤生
Takahito Fujio
貴仁 藤生
建保 胡
Kenho Ko
建保 胡
大介 手島
Daisuke Tejima
大介 手島
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 JP2019018584A priority Critical patent/JP7216559B2/ja
Priority to CN202080006733.XA priority patent/CN113196242A/zh
Priority to PCT/JP2020/004052 priority patent/WO2020162430A1/ja
Priority to US17/418,966 priority patent/US11836045B2/en
Priority to EP20752619.5A priority patent/EP3923139B1/en
Publication of JP2020126452A publication Critical patent/JP2020126452A/ja
Application granted granted Critical
Publication of JP7216559B2 publication Critical patent/JP7216559B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】不揮発性メモリを効率的に利用する。【解決手段】電子制御装置のコードフラッシュメモリ140には、アクティブ状態とインアクティブ状態とを排他的に切り替え可能な2つの記憶領域(バンクA及びバンクB)が確保されている。アクティブ状態のバンクAには、実行対象の制御プログラムが格納され、インアクティブ状態のバンクBは、制御プログラムを更新するための予約領域として使用される。そして、インアクティブ状態のバンクBには、制御プログラムを更新する予約領域として使用されないとき、故障情報などの任意のデータが書き込まれる。【選択図】図6

Description

本発明は、電子制御装置及び不揮発性メモリの使用方法に関する。
自動車などの車両に搭載された電子制御装置は、機能追加、不具合改修などによって制御プログラムが更新される場合がある。従来では、車両をディーラなどに持ち込んで、電子制御装置の制御プログラムを更新していた。この場合、車両ユーザの利便性が良くないことから、特開2018−86894号公報(特許文献1)に記載されるように、無線通信を使用したOTA(Over The Air)によって、ユーザの手元で制御プログラムを更新する技術が提案されている。
特開2018−86894号公報
OTAによって制御プログラムを更新する場合、車両走行中などにも制御プログラムを更新できることが望ましい。これを実現するため、電子制御装置の不揮発性メモリに確保された2つの記憶領域を交互に使用し、一方の記憶領域に実行対象の制御プログラムを書き込んでおき、他方の記憶領域を制御プログラムの更新用の予約領域とすることが考えられる。そして、予約領域に更新プログラムを書き込み、例えば、再起動時などのタイミングで更新プログラムに切り替えることで、車両走行中などにも制御プログラムを更新できるようになる。しかしながら、不揮発性メモリに確保された予約領域は、制御プログラムを更新するためだけに使用されるため、不揮発性メモリの利用可能な記憶領域が小さくなってしまう。
そこで、本発明は、不揮発性メモリを効率的に利用可能な、電子制御装置及び不揮発性メモリの使用方法を提供することを目的とする。
このため、電子制御装置において、不揮発性メモリにアクティブ状態とインアクティブ状態とを排他的に切り替え可能な2つの記憶領域が確保され、アクティブ状態の記憶領域に実行対象の制御プログラムが書き込まれ、インアクティブ状態の記憶領域が制御プログラムを更新するための予約領域として使用される。そして、電子制御装置は、制御プログラムを更新しないとき、インアクティブ状態の記憶領域に任意のデータを書き込む。
本発明によれば、電子制御装置の不揮発性メモリを効率的に利用することができる。
電子制御装置の制御プログラムを更新するシステム図である。 電子制御装置の一例を示す内部構成図である。 コードフラッシュメモリのデータ構造図である。 制御プログラムの更新方法の説明図である。 車両で実行される故障情報書込み処理の一例を示すフローチャートである。 インアクティブ状態の記憶領域に故障情報を書き込んだ状態の説明図である。 故障発生時及び故障発生前後の故障情報を書き込む方法の説明図である。 アドレス空間が同一の記憶領域に故障情報を書き込む方法の説明図である。 OTAセンターで実行されるプログラム更新処理の一例を示すフローチャートである。 制御プログラムの更新ができない故障を定義したテーブルの説明図である。 車両で実行される故障情報返送処理の一例を示すフローチャートである。 車両で実行されるプログラム更新処理の一例を示すフローチャートである。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図1は、OTAを利用して、車両VHに搭載された電子制御装置の制御プログラムを更新するシステムの一例を示している。更新プログラムは、OTAセンターCTRのサーバーSVRに格納されており、OTAセンターCTRに接続された基地局BSから無線通信で車両VHに配信される。車両VHに配信された更新プログラムは、無線送受信機、ゲートウェイ及び車載ネットワークを介して電子制御装置に送られ、電子制御装置の不揮発性メモリに書き込まれる。ここで、OTAセンターCTRのサーバーSVRが、外部装置の一例として挙げられる。なお、サーバーSVRは、例えば、汎用コンピュータシステムから構成されている。
図2は、車両VHに搭載された電子制御装置100の一例を示している。
電子制御装置100は、プロセッサ120と、コードフラッシュメモリ140と、データフラッシュメモリ160と、RAM(Random Access Memory)180と、入出力回路200と、通信回路220と、これらを相互通信可能に接続する内部バス240と、を備えている。ここで、コードフラッシュメモリ140が、不揮発性メモリの一例として挙げられる。なお、図2においては、1つの電子制御装置100のみが図示されているが、車両VHには、CAN(Controller Area Network)などの車載ネットワークに接続された、複数の電子制御装置100が搭載されている。
プロセッサ120は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウエアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。コードフラッシュメモリ140は、電気的にデータを書き換え可能な不揮発性メモリからなり、例えば、エンジン、自動変速機、燃料噴射装置などを制御する制御プログラムなどを格納する。データフラッシュメモリ160は、電気的にデータを書き換え可能な不揮発性メモリからなり、例えば、学習値などのデータを格納する。RAM180は、電源供給遮断によってデータが消失する揮発性メモリからなり、プロセッサ120の一時的な記憶領域を提供する。
入出力回路200は、A/Dコンバータ、D/Aコンバータ、D/Dコンバータなどからなり、外部機器に対するアナログ信号及びデジタル信号の入出力機能を提供する。通信回路220は、CANトランシーバなどからなり、車載ネットワークに接続する機能を提供する。内部バス240は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を遣り取りするコントロールバスを含んでいる。
また、電子制御装置100の通信回路220は、ゲートウェイ260を介して、基地局BSと無線通信する無線送受信機280に接続されている。ここで、ゲートウェイ260は、基地局BSから送信されたデータのプロトコルを通信回路220で処理可能なプロトコルに変換すると共に、電子制御装置100で処理されるデータのプロトコルを基地局BSで処理可能なプロトコルに変換する機能を提供する。
従って、基地局BSから配信された更新プログラムは、車両VHに搭載された無線送受信機280で受信され、ゲートウェイ260によってプロトコル変換されつつ、通信回路220及び内部バス240を介してプロセッサ120に送られる。そして、プロセッサ120は、例えば、コードフラッシュメモリ140に予め格納されたプログラムに従って、以下で詳細に説明するように、コードフラッシュメモリ140の制御プログラムを更新する。なお、コードフラッシュメモリ140に予め格納されたプログラム自体も、更新対象となり得る。
コードフラッシュメモリ140には、図3に示すように、アクティブ状態とインアクティブ状態とを排他的に切り替え可能な2つの記憶領域として、バンクAとバンクBとが予め確保されている。図3に示す一例では、アクティブ状態のバンクAに、電子制御装置100の制御対象を制御するための制御プログラムA〜Fが書き込まれ、インアクティブ状態のバンクBにデータが書き込まれていない状態を示している。ここで、インアクティブ状態のバンクBは、制御プログラムA〜Fを更新するための予約領域として使用される。なお、以下の説明においては、アクティブ状態のバンクを「アクティブROM」、インアクティブ状態のバンクを「インアクティブROM」と呼ぶこととする。
電子制御装置100の初期状態では、図4に示すように、アクティブROMにリビジョン1.0の制御プログラムが書き込まれ、インアクティブROMが未使用となっている。この初期状態において、アクティブROMに書き込まれている制御プログラムを更新する場合、インアクティブROMにリビジョン2.0の更新プログラムが書き込まれ、例えば、電子制御装置100の再起動時などの所定のタイミングで、アクティブROMがインアクティブROMに切り替えられると共に、インアクティブROMがアクティブROMに切り替えられる。従って、電子制御装置100は、その後、アクティブROMに書き込まれているリビジョン2.0の制御プログラムを実行し、例えば、機能追加、不具合改修などが行われた制御を実行することができる。
そして、アクティブROMに書き込まれているリビジョン2.0の制御プログラムを更に更新する場合、インアクティブROMにリビジョン3.0の更新プログラムが書き込まれ、例えば、電子制御装置100の再起動時などの所定のタイミングで、アクティブROMがインアクティブROMに切り替えられると共に、インアクティブROMがアクティブROMに切り替えられる。このようにすることで、車両VHが走行中であっても制御プログラムを更新することができる。
しかしながら、インアクティブROMが制御プログラムの更新のためだけに使用されると、コードフラッシュメモリ140の使用可能な記憶領域が小さくなってしまう。そこで、コードフラッシュメモリ140を効率的に利用するため、電子制御装置100のプロセッサ120は、制御プログラムを更新しないとき、インアクティブROMに任意のデータを書き込む。ここで、任意のデータとしては、例えば、OBS(On Board Snapshot)やFFD(Freeze Frame Data)などの故障情報とすることができる。
図5は、電子制御装置100が起動されたことを契機として、電子制御装置100のプロセッサ120が所定時間ごとに繰り返し実行する、故障情報書込み処理の一例を示している。ここで、電子制御装置100のプロセッサ120は、コードフラッシュメモリ140に書き込まれているプログラムに従って、故障情報書込み処理を実行する。
ステップ1(図5では「S1」と略記する。以下同様。)では、電子制御装置100のプロセッサ120が、電子制御装置100の制御対象及びセンサなどに故障が発生したか否かを判定する。故障発生の有無は、例えば、自己診断機能、BIST(Built-In Self Test)などを使用して判定することができる。そして、電子制御装置100のプロセッサ120は、故障が発生したと判定すれば、処理をステップ2へと進める(Yes)。一方、電子制御装置100のプロセッサ120は、故障が発生していないと判定すれば、故障情報書込み処理を終了させる(No)。
ステップ2では、電子制御装置100のプロセッサ120が、図6に示すように、インアクティブROMに故障情報を書き込む。図6に示す一例では、電子制御装置100のプロセッサ120は、故障情報として、インアクティブROMにOBS1〜99及びFFD1〜99を書き込んでいるが、その故障情報の種類及び個数は任意とすることができる。また、インアクティブROMへの故障情報の書き込みは、例えば、時系列で書き込むことができる。
このようにすれば、インアクティブROMが制御プログラム更新のために使用されないとき、インアクティブROMの記憶領域が故障情報の格納領域として利用される。従って、コードフラッシュメモリ140を効率的に利用することができる。また、故障情報がコードフラッシュメモリ140のインアクティブROMに書き込まれることから、従来技術において故障情報をバックアップRAMに書き込んでいた場合と比較して、バックアップRAMの容量を小さくすることが可能となって、電子制御装置100のコストを低減することができる。なお、現状の法規では、制御プログラムを更新したときには故障情報が消失しても問題がなく、インアクティブROMを制御プログラム更新のために使用することを妨げない。コードフラッシュメモリ140のインアクティブROMに書き込まれた故障情報は、例えば、BST(Generic Scan Tool)などにより読み出され、故障発生の原因を特定することなどに利用することができる。
コードフラッシュメモリ140は、比較的大容量であるため、図7に示すように、インアクティブROMに故障発生時のOBS及びFFDだけでなく、故障発生前の少なくとも1つのOBS及びFFD、故障発生後の少なくとも1つのOBS及びFFDを書き込むこともできる。この場合、故障発生前のOBS及びFFDは、RAM180に時系列で一時的に保存しておく必要があるため、例えば、RAM180の容量に応じた個数とすることができる。また、故障発生後のOBS及びFFDは、インアクティブROMの容量などを考慮して、その個数を適宜決定することができる。このようにすれば、故障情報の取得期間及び頻度が増加し、故障発生の経緯や故障発生後の挙動を把握することが可能となり、故障原因の解析に役立つことができる。
アクティブROM及びインアクティブROMのアドレス空間が同一の場合、アクティブROMに書き込まれている故障情報書込みプログラムで故障情報をインアクティブROMに書き込むことができない。この場合、図8に示すように、電子制御装置100のプロセッサ120は、アクティブROMに書き込まれている故障情報書込みプログラムをRAM180に転送して実行する(手順(1))。RAM180で実行された故障情報書込みプログラムは、アクティブROMとインアクティブROMとを排他的に切り替えるROM切替スイッチを制御してインアクティブROMへのアクセスを可能とし(手順(2))、故障情報をインアクティブROMに書き込む(手順(3))。なお、故障情報書込みプログラムは、インアクティブROMへの故障情報の書き込みが完了したら、ROM切替スイッチを制御してアクティブROMへのアクセスを可能にする。
コードフラッシュメモリ140のインアクティブROMを使用して制御プログラムを更新しても、インアクティブROMに書き込まれていた故障情報を継続して保持したい場合、次のようにすればよい。
図9は、OTAセンターCTRにおいて、例えば、管理者によって制御プログラムの更新指示がなされたことを契機として、サーバーSVRが実行するプログラム更新処理の一例を示している。なお、OTAセンターCTRのサーバーSVRは、例えば、ハードディスクドライブなどのストレージに格納されたプログラムに従って、プログラム更新処理を実行する。
ステップ11では、OTAセンターCTRのサーバーSVRが、車両VHに故障情報を問い合わせる。ここで、故障情報の問い合わせは、例えば、制御プログラムの更新対象となる各車両VHに対して行われる。
ステップ12では、OTAセンターCTRのサーバーSVRが、車両VHから故障情報を受信したか否かを判定する。そして、OTAセンターCTRのサーバーSVRは、故障情報を受信したと判定すれば、処理をステップ13へと進める(Yes)。一方、OTAセンターCTRのサーバーSVRは、故障情報を受信していない、即ち、車両VHのインアクティブROMに故障情報が書き込まれていないと判定すれば、処理をステップ15へと進める(No)。
ステップ13では、OTAセンターCTRのサーバーSVRが、車両VHから受信した故障情報を、例えば、ハードディスクなどのストレージに車両VHの識別子と関連付けた状態で一時的に記憶させる。なお、OTAセンターCTRのサーバーSVRは、故障情報をクラウドサービスに記憶させることもできる。
ステップ14では、OTAセンターCTRのサーバーSVRが、受信した故障情報を参照し、制御プログラムを更新することが可能であるか否かを判定する。即ち、OTAセンターCTRのサーバーSVRには、制御プログラムの更新が正常に行うことができない可能性がある車両VHの故障として、図10に示すように、故障情報に含まれる故障コードが少なくとも1つ格納されたテーブルTBLが備えられている。そして、OTAセンターCTRのサーバーSVRは、受信した故障情報に含まれる故障コードがテーブルTBLに格納されているか否かを確認することで、制御プログラムを更新することが可能であるか否かを判定する。そして、OTAセンターCTRのサーバーSVRは、制御プログラムの更新が可能であると判定すれば、処理をステップ15へと進める(Yes)。一方、OTAセンターCTRのサーバーSVRは、制御プログラムの更新が可能でないと判定すれば、プログラム更新処理を終了させる(No)。
ステップ15では、OTAセンターCTRのサーバーSVRが、車両VHに対して更新プログラムを送信する。ここで、更新プログラムが大きく1回の通信で送信できない場合、OTAセンターCTRのサーバーSVRは、1回の通信で送信可能な所定サイズに更新プログラムを分割し、分割した更新プログラムを順次送信することができる。なお、OTAセンターCTRのサーバーSVRは、更新プログラムの全体を送信せずに、アクティブROMに格納されている制御プログラムの差分を送信するようにしてもよい。
ステップ16では、OTAセンターCTRのサーバーSVRが、車両VHから制御プログラムの更新完了応答があったか否かを判定する。そして、OTAセンターCTRのサーバーSVRは、更新完了応答があったと判定すれば、処理をステップ17へと進める(Yes)。一方、OTAセンターCTRのサーバーSVRは、更新完了応答がないと判定すれば、更新完了応答があるまで待機する(No)。
ステップ17では、OTAセンターCTRのサーバーSVRが、車両VHに対して、ストレージに一時的に記憶させておいた故障情報を送信する。即ち、車両VHにおいて制御プログラムの更新が完了したので、OTAセンターCTRのサーバーSVRが故障情報を車両VHに送信することで、車両VHにおける故障情報を継続して利用することを可能にする。なお、故障情報の送信対象となる車両VHのインアクティブROMに故障情報が書き込まれていなかった場合、OTAセンターCTRのサーバーSVRは、車両VHに対して、故障情報に代えて、故障情報が書き込まれていなかった旨を送信すればよい。
OTAセンターCTRのサーバーSVRは、車両VHに故障情報を送信するとき、どのリビジョンの制御プログラムに関する故障情報であるかを特定可能とするため、故障情報に制御プログラムのリビジョン情報を付加することもできる。このようにすれば、異なるリビジョンの制御プログラムに関する故障情報が混在していても、そのリビジョン情報を参照することで、故障情報と制御プログラムとを紐付けすることができる。
図11は、車両VHの電子制御装置100が故障情報問い合わせを受信したことを契機として、電子制御装置100のプロセッサ120が実行する、故障情報返送処理の一例を示している。なお、電子制御装置100のプロセッサ120は、コードフラッシュメモリ140に格納されているプログラムに従って、故障情報返送処理を実行する。
ステップ21では、電子制御装置100のプロセッサ120が、故障情報問い合わせを行ったOTAセンターCTRに対して、コードフラッシュメモリ140のインアクティブROMに書き込まれている故障情報を返送する。なお、電子制御装置100のプロセッサ120は、インアクティブROMに故障情報が書き込まれていない場合、故障情報としてその旨を返送する。
図12は、車両VHの電子制御装置100が更新プログラムを受信したことを契機として、電子制御装置100のプロセッサ120が実行する、プログラム更新処理の一例を示している。なお、電子制御装置100のプロセッサ120は、コードフラッシュメモリ140に格納されているプログラムに従って、プログラム更新処理を実行する。
ステップ31では、電子制御装置100のプロセッサ120が、受信した更新プログラムをインアクティブROMに書き込む。ここで、電子制御装置100のプロセッサ120は、アクティブROMに格納されている制御プログラムの差分を受信した場合には、アクティブROMに格納されている制御プログラムにパッチを当てつつ、これをインアクティブROMに書き込むことができる。
ステップ32では、電子制御装置100のプロセッサ120が、所定のタイミングで、アクティブROMをインアクティブROMに切り替えると共に、インアクティブROMをアクティブROMに切り替える。ここで、所定のタイミングとは、例えば、電子制御装置100の再起動時、アイドリングストップ時、駐車時など、切替時間に制御が不可又は不十分となっても支障がない状態となったタイミングとすることができる。従って、電子制御装置100は、その後、更新された制御プログラムによって制御対象を制御することができる。
ステップ33では、電子制御装置100のプロセッサ120が、更新プログラムを送信したOTAセンターCTRに対して、制御プログラムの更新完了応答を返送する。なお、電子制御装置100のプロセッサ120は、インアクティブROMへの更新プログラムの書き込みが正常に行われなかった場合、更新完了応答に代えて、更新プログラムの再送要求を送信するようにしてもよい。この場合、OTAセンターCTRのサーバーSVRは、再送要求に応答して、更新プログラムを再送すればよい。
ステップ34では、電子制御装置100のプロセッサ120が、OTAセンターCTRから故障情報を受信したか否かを判定する。そして、電子制御装置100のプロセッサ120は、故障情報を受信したと判定すれば、処理をステップ35へと進める(Yes)。一方、電子制御装置100のプロセッサ120は、故障情報を受信していない、即ち、故障情報が書き込まれていなかったと判定すれば、プログラム更新処理を終了させる(No)。
ステップ35では、電子制御装置100のプロセッサ120が、故障情報をインアクティブROMに書き込む。
このようにすれば、電子制御装置100の制御プログラムを更新する場合、最初に、OTAセンターCTRから車両VHに対して故障情報が問い合わされる。故障情報が問い合わされた車両VHの電子制御装置100は、インアクティブROMに書き込まれている故障情報又は故障が書き込まれていない旨をOTAセンターCTRに返送する。OTAセンターCTRは、故障情報を受信した場合、ストレージに故障情報を一時的に記憶すると共に、故障情報により特定される故障によって制御プログラムの更新が可能であるか否かを判定する。そして、OTAセンターCTRは、制御プログラムの更新が可能であるか、故障情報が書き込まれていなければ、車両VHの電子制御装置100に対して更新プログラムを送信する。
更新プログラムを受信した車両VHの電子制御装置100は、インアクティブROMに更新プログラムを書き込み、所定のタイミングで、アクティブROMをインアクティブROMに切り替えると共に、インアクティブROMをアクティブROMに切り替える。そして、車両VHの電子制御装置100は、OTAセンターCTRに対して、制御プログラムの更新完了応答を返送する。その後、車両VHの電子制御装置100は、OTAセンターCTRから故障情報を受信すると、インアクティブROMに故障情報を書き込む。
要するに、車両VHの電子制御装置100は、制御プログラムを更新するとき、インアクティブROMに書き込まれている故障情報をOTAセンターCTRに送信し、OTAセンターCTRから送信された更新プログラムをインアクティブROMに書き込む。また、車両VHの電子制御装置100は、アクティブROMをインアクティブROMに切り替えると共にインアクティブROMをアクティブROMに切り替え、OTAセンターCTRから送信された故障情報をインアクティブROMに書き込む。
従って、車両VHの電子制御装置100は、コードフラッシュメモリ140に確保された2つの記憶領域を交互に使用して制御プログラムを更新しつつ、インアクティブROMに書き込まれていた故障情報を継続して利用することができる。
以上説明した実施形態では、コードフラッシュメモリ140に2つの記憶領域が確保されていたが、データフラッシュメモリ160に2つの記憶領域が確保されていたり、物理的に1つの不揮発性メモリに2つの記憶領域が確保されていたりしてもよい。また、インアクティブROMには、故障情報に限らず、又は故障情報に加え、学習値などの任意のデータを書き込むようにしてもよい。
なお、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を置換したりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。
100 電子制御装置
120 プロセッサ
140 コードフラッシュメモリ(不揮発性メモリ)
VH 車両
CTR OTAセンター
SVR サーバー(外部装置)

Claims (6)

  1. 不揮発性メモリにアクティブ状態とインアクティブ状態とを排他的に切り替え可能な2つの記憶領域が確保され、前記アクティブ状態の記憶領域に実行対象の制御プログラムが書き込まれ、前記インアクティブ状態の記憶領域が前記制御プログラムを更新するための予約領域として使用される電子制御装置であって、
    前記制御プログラムを更新しないとき、前記インアクティブ状態の記憶領域に任意のデータが書き込まれる、
    電子制御装置。
  2. 前記任意のデータは故障情報である、
    請求項1に記載の電子制御装置。
  3. 前記インアクティブ状態の記憶領域には、故障発生時及び故障発生前後の前記故障情報が書き込まれる、
    請求項2に記載の電子制御装置。
  4. 前記制御プログラムを更新するとき、前記インアクティブ状態の記憶領域に書き込まれている前記任意のデータを外部装置に送信し、前記外部装置から送信された更新プログラムを前記インアクティブ状態の記憶領域に書き込み、前記アクティブ状態の記憶領域をインアクティブ状態に切り替えると共に前記インアクティブ状態の記憶領域をアクティブ状態に切り替え、前記外部装置から送信された前記任意のデータを前記インアクティブ状態の記憶領域に書き込む、
    請求項1〜請求項3のいずれか1つに記載の電子制御装置。
  5. 前記外部装置はOTAセンターのサーバーである、
    請求項4に記載の電子制御装置。
  6. 不揮発性メモリにアクティブ状態とインアクティブ状態とを排他的に切り替え可能な2つの記憶領域が確保され、前記アクティブ状態の記憶領域に実行対象の制御プログラムが書き込まれ、前記インアクティブ状態の記憶領域が前記制御プログラムを更新するための予約領域として使用される電子制御装置のプロセッサが、前記制御プログラムを更新しないとき、前記インアクティブ状態の記憶領域に任意のデータを書き込む、
    不揮発性メモリの使用方法。
JP2019018584A 2019-02-05 2019-02-05 電子制御装置及び不揮発性メモリの使用方法 Active JP7216559B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019018584A JP7216559B2 (ja) 2019-02-05 2019-02-05 電子制御装置及び不揮発性メモリの使用方法
CN202080006733.XA CN113196242A (zh) 2019-02-05 2020-02-04 电子控制装置以及非易失性存储器的使用方法
PCT/JP2020/004052 WO2020162430A1 (ja) 2019-02-05 2020-02-04 電子制御装置及び不揮発性メモリの使用方法
US17/418,966 US11836045B2 (en) 2019-02-05 2020-02-04 Electronic control device having a non-volatile memory with a reserved area storing failure data
EP20752619.5A EP3923139B1 (en) 2019-02-05 2020-02-04 Electronic control device and method for using non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019018584A JP7216559B2 (ja) 2019-02-05 2019-02-05 電子制御装置及び不揮発性メモリの使用方法

Publications (2)

Publication Number Publication Date
JP2020126452A true JP2020126452A (ja) 2020-08-20
JP7216559B2 JP7216559B2 (ja) 2023-02-01

Family

ID=71947710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019018584A Active JP7216559B2 (ja) 2019-02-05 2019-02-05 電子制御装置及び不揮発性メモリの使用方法

Country Status (5)

Country Link
US (1) US11836045B2 (ja)
EP (1) EP3923139B1 (ja)
JP (1) JP7216559B2 (ja)
CN (1) CN113196242A (ja)
WO (1) WO2020162430A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7128763B2 (ja) * 2019-03-18 2022-08-31 日立Astemo株式会社 電子制御装置及び制御データの設定方法
WO2023141832A1 (zh) * 2022-01-26 2023-08-03 宁德时代新能源科技股份有限公司 程序更新方法和程序更新装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005059862A1 (ja) * 2003-12-15 2005-06-30 Hitachi, Ltd. 車載制御装置の情報更新方法と更新情報通信システム、および、車両搭載制御装置と情報管理基地局装置
JP2009044543A (ja) * 2007-08-09 2009-02-26 Sharp Corp テレビ受信機
WO2009090978A1 (ja) * 2008-01-15 2009-07-23 Toyota Jidosha Kabushiki Kaisha 車両用制御装置
JP2014085709A (ja) * 2012-10-19 2014-05-12 Denso Corp 車載電子制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3726663B2 (ja) * 2000-09-07 2005-12-14 日産自動車株式会社 電子制御装置の制御データ記憶装置
JP2003084998A (ja) * 2001-09-12 2003-03-20 Denso Corp 故障診断システム及び電子制御装置
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
US7587431B1 (en) * 2006-09-28 2009-09-08 Emc Corporation Updating snapshots
JP4640475B2 (ja) * 2008-09-11 2011-03-02 トヨタ自動車株式会社 車両の修理交換情報管理システム、車両の修理交換情報管理装置、車両の異常原因情報管理システム、車両の異常原因情報管理装置、複数組の教師データの処理方法
US8543760B2 (en) * 2010-12-13 2013-09-24 International Business Machines Corporation Saving log data using a disk system as primary cache and a tape library as secondary cache
JP2013222435A (ja) * 2012-04-19 2013-10-28 Toshiba Corp 半導体記憶装置及びその制御方法
US20170046152A1 (en) * 2015-08-12 2017-02-16 Quanta Computer Inc. Firmware update
US10157005B2 (en) * 2016-09-30 2018-12-18 Intel Corporation Utilization of non-volatile random access memory for information storage in response to error conditions
JP2018086894A (ja) 2016-11-28 2018-06-07 トヨタ自動車株式会社 リプログラミング制御装置
US10782955B2 (en) 2017-01-03 2020-09-22 Ford Global Technologies, Llc Pre-shutdown swap verification
US10152381B1 (en) * 2017-04-27 2018-12-11 EMC IP Holding Company LLC Using storage defragmentation function to facilitate system checkpoint

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005059862A1 (ja) * 2003-12-15 2005-06-30 Hitachi, Ltd. 車載制御装置の情報更新方法と更新情報通信システム、および、車両搭載制御装置と情報管理基地局装置
JP2009044543A (ja) * 2007-08-09 2009-02-26 Sharp Corp テレビ受信機
WO2009090978A1 (ja) * 2008-01-15 2009-07-23 Toyota Jidosha Kabushiki Kaisha 車両用制御装置
JP2014085709A (ja) * 2012-10-19 2014-05-12 Denso Corp 車載電子制御装置

Also Published As

Publication number Publication date
EP3923139A4 (en) 2022-09-21
US11836045B2 (en) 2023-12-05
WO2020162430A1 (ja) 2020-08-13
JP7216559B2 (ja) 2023-02-01
EP3923139B1 (en) 2024-06-12
US20220197747A1 (en) 2022-06-23
EP3923139A1 (en) 2021-12-15
CN113196242A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN109804355B (zh) 软件更新装置、软件更新方法、软件更新系统
WO2020158675A1 (ja) 電子制御装置及びプログラム更新方法
US10625754B2 (en) Control apparatus, control method, and computer program
WO2020080273A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP6902722B2 (ja) プログラム更新システム、制御システム、移動体、プログラム更新方法及びプログラム
WO2020162430A1 (ja) 電子制御装置及び不揮発性メモリの使用方法
CN110569053A (zh) 电子设备中应用芯片的升级方法及电子设备
US11449329B2 (en) Vehicle control device and program update system
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
JP6547904B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
WO2020189281A1 (ja) 電子制御装置及び制御データの設定方法
WO2021024792A1 (ja) 車両制御装置、更新プログラム、プログラム更新システム、及び書込み装置
CN111190628B (zh) 基站升级方法、装置、设备和存储介质
WO2019038855A1 (ja) 車載電子機器、サーバ装置、およびソフトウェア更新方法
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
JP2005085054A (ja) プログラム動作変更方法
JP2005085054A5 (ja)
JP2002073361A (ja) 遠隔ソフトウエア更新可能な電子機器及び遠隔ソフトウエア更新方法。
JP2023085002A (ja) 車載装置、プログラム、プログラムの更新方法、及び車載更新システム
JP2021124829A (ja) 電子制御装置
JP2000089939A (ja) 制御プログラム更新方式
CN116149906A (zh) 车辆里程信息的备份方法、装置、车辆及存储介质
CN116594806A (zh) Ota的备份方法、备份装置、计算机可读存储介质和车辆
JPH11184702A (ja) 無線システム及びそれにおけるプログラム入れ替え方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220928

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: 20221227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230120

R150 Certificate of patent or registration of utility model

Ref document number: 7216559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150