JP7219813B2 - 演算処理装置、車両制御装置及び更新方法 - Google Patents

演算処理装置、車両制御装置及び更新方法 Download PDF

Info

Publication number
JP7219813B2
JP7219813B2 JP2021522304A JP2021522304A JP7219813B2 JP 7219813 B2 JP7219813 B2 JP 7219813B2 JP 2021522304 A JP2021522304 A JP 2021522304A JP 2021522304 A JP2021522304 A JP 2021522304A JP 7219813 B2 JP7219813 B2 JP 7219813B2
Authority
JP
Japan
Prior art keywords
programs
common data
storage unit
rewritable
data
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.)
Active
Application number
JP2021522304A
Other languages
English (en)
Other versions
JPWO2020241473A1 (ja
Inventor
佑介 小暮
駿 衣笠
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 Astemo 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 Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of JPWO2020241473A1 publication Critical patent/JPWO2020241473A1/ja
Application granted granted Critical
Publication of JP7219813B2 publication Critical patent/JP7219813B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • B60W2050/046Monitoring control system parameters involving external transmission of data to or from the vehicle, e.g. via telemetry, satellite, Global Positioning System [GPS]
    • B60W2050/048Monitoring control system parameters involving external transmission of data to or from the vehicle, e.g. via telemetry, satellite, Global Positioning System [GPS] displaying data transmitted between vehicles, e.g. for platooning, control of inter-vehicle distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Computational Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、演算処理装置及び車両制御装置に関する。
従来のリプログラミングでは、外部の機器と車載制御装置(ECU:Electric Control Unit)を接続し、新しい制御プログラム及び制御プログラムに付随するデータを転送しながらECUへ書き込みを行っている。
付随するデータとは、制御プログラムから参照され、制御プログラムの実行に対して影響を与えるデータサイズの小さい情報(1byte程度)であり、制御プログラムで実現された機能のON/OFFなどを切り替えることができるものである。
特許文献1に記載の装置は、装置内部に旧プログラムと新プログラムの2つのプログラム領域を有し、2つのプログラムのうち1つを選択して実行し、もう一方のプログラム領域に新プログラム及び付随するデータを転送しながら書き込む技術を提供している。
特許文献2に記載の装置は、装置内部に制御データを二重化した形で記憶し、障害発生時には、同一内容の正常な制御データを用いて復旧を行う技術が提供されている。
また、車載制御装置は、不揮発性メモリとしてEEPROM(Electrically Erasable Programmable Read Only Memory)が広く使用されてきたが、EEPROMは記憶情報をバイト単位で消去可能であるが、記憶容量は数十~数kバイト程度であるため、大量の制御データの記憶には適さない。そのため近年は、より大容量であるフラッシュメモリが採用されるようになった。
フラッシュメモリは、EEPROMと同様に電気的な消去または書き換えが可能な不揮発性メモリでありながら、EEPROMよりも数桁大きい記憶容量を有する(数10kバイト~数百Mバイト:例えば数Mバイト)。
フラッシュメモリは大容量である反面、高集積化を図るための代償として、EEPROMではバイト単位で可能であった消去処理が、数十kバイトのブロック単位(セクタ単位)でしかできず、1回の消去に時間を要する難点がある。
しかしながら、情報をバイト単位で消去または書き換える要望もあるため、フラッシュメモリ上でEEPROMを模擬できるような技術も提供されている。
特開2003-114807号公報 特開2008-77221号公報
しかしながら、上記従来の装置は、外部通信手段を用いて制御プログラムの書き換えを行う際に、制御プログラムを更新するたびに2つのプログラム領域のそれぞれで実行可能な2つの制御プログラムや付随するデータ(Configデータ)を転送する。そして、従来の装置は、更新すべきプログラムを選択したうえで更新を行うため、使用されない制御プログラムも転送する必要があるため更新に時間がかかる、という問題があった。
すなわち、上記従来では、2つの制御プログラムを2つのバンクA、バンクBへそれぞれ格納する構成で、制御プログラムと付随データは一対となっており、受信するデータは2バンク分必要となる。これは、制御プログラムと付随データがバンクAとバンクB向けにそれぞれ専用のデータであるため、2つのバンク分のデータを受信して、片側のバンクを書き換えるといった構成のため2つのバンク分の受信が必要となる。
本発明の目的は、2つの制御プログラムのうちの1つを選択して実行可能な装置で制御プログラムを更新する際に、転送するデータ量を減らしてプログラムの更新に要する時間を短縮することにある。
本発明は、2つのプログラムを記憶する第1の書き換え可能な記憶部と、前記2つのプログラムのうち、どちらか1つを選択して実行するCPUと、前記2つのプログラムに付随する共通のデータを記憶する第2の書き換え可能な記憶部とを有し、前記2つのプログラムを記憶する第1の書き換え可能な記憶部は、所定の書き換え可能単位を有し、前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部は、前記プログラムを記憶する第1の書き換え可能な記憶部の書き換え可能単位より小さい書き換え可能単位を有する。
本発明によれば、プログラムを更新する際に、2つのプログラムを転送することなく、更新データの転送量を削減して更新時間の短縮を行うことができる。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
従来例を示し、演算処理装置を含むプログラム更新システムの全体の構成を示す機能ブロック図である。 従来例を示し、フラッシュメモリの一例を示す図である。 従来例を示し、プログラム更新処理の一例を示すフローチャートである。 従来例を示し、受信した更新プログラムのデータの流れの一例を示す図である。 本発明の実施例1を示し、プログラムに付随するデータを共通化する手法の一例を示す図である。 本発明の実施例1を示し、演算処理装置を含むプログラム更新システムの全体の構成を示す機能ブロック図である。 本発明の実施例1を示し、更新プログラムのデータの流れの一例を示す図である。 本発明の実施例2を示し、共通付随データをフラッシュメモリに保存した場合の更新対象を示す図である。 本発明の実施例2を示し、共通付随データをフラッシュメモリに保存した場合の消去範囲を示す図である。 本発明の実施例2を示し、共通付随データをフラッシュメモリに保存した場合の更新後を示す図である。 本発明の実施例2を示し、共通付随データをEEPROMに保存した場合の更新対象を示す図である。 本発明の実施例2を示し、共通付随データをEEPROMに保存した場合の消去範囲を示す図である。 本発明の実施例2を示し、共通付随データをEEPROMに保存した場合の更新後を示す図である。 本発明の実施例2を示し、演算処理装置を含むプログラム更新システムの全体の構成を示す機能ブロック図である。 本発明の実施例3を示し、ロールバック機能を含むプログラム更新システムの全体の構成を示す機能ブロック図である。 本発明の実施例3を示し、ロールバック機能を含むプログラム更新システムの全体の構成を示す機能ブロック図である。 本発明の実施例3を示し、更新処理の一例を示すフローチャートである。 本発明の実施例3を示し、ロールバック処理の一例を示すフローチャートである。
以下、車両制御装置(演算処理装置)を含むプログラム更新システムの一実施形態について図面を参照しながら説明する。
最初に、図1は、従来例を示し、演算処理装置1を含むプログラム更新システムの全体の構成を示す機能ブロック図を示す。演算処理装置1は、制御部2と、通信制御部3と、記憶部4と、タイマ管理部5と、信号入力部6、電源制御部7とを含む。
タイマ管理部5は、各種時間を計測する。信号入力部6は各種センサからの信号を入力する。制御部2は、CPU2aを主体に構成され、記憶部4に記憶される制御プログラムを実行することで、演算処理装置1の処理全般を制御する。
記憶部4は、RAM(Random Access Memory)14、EEPROM(Electrically Erasable Programmable Read Only Memory)15、フラッシュメモリ16など各種記憶媒体を含んでいる。このうちフラッシュメモリ16は、制御部2が実行する制御プログラムがあらかじめ記憶している。RAM(主記憶)14は、実行する制御プログラムや各種情報を一時的に格納して読出しや書き込みを行うためのである。
図2は、従来例を示し、フラッシュメモリ16の一例を示す図である。フラッシュメモリ16は、図2に示すように記憶領域Pa、Pbを有しており、制御部2が実行可能な新旧の異なる制御プログラムが記憶されている。なお、2つの記憶領域Pa、Pbは、2つの異なるバンクで構成することができる。
制御部2は、記憶領域Pa、Pbのどちらか一方を選択して実行することができ、通常は、更新タイミング(更新日時)が新しい方の制御プログラムが実行される。制御プログラムの更新日時は、プログラム更新装置9や制御部2によって設定される。
同様にフラッシュメモリ16は、図2に示すように、制御プログラムに付随するデータ(DPa、DPb)を有しており、記憶領域Pa、Bbに記憶されている制御プログラムから読出しや書き込みされる制御プログラムに付随するデータが記憶されている。
なお、図1では各電気的ブロックを機能的に表しているが、近年の集積回路装置には、CPU2aの内部に記憶部4が搭載されているものもあるため、ハードウェア的に一体のものでも別体のものでも適用可能である。
図1に示すように演算処理装置1は、無線通信装置10を通じて、基地局11及び通信網(無線又は有線の通信網を含む)12を経由し、データセンタ13に接続されている。
また、車両用通信網17には、プログラム更新装置9や無線通信装置10などの各種ECU(Electronic Control Unit)が接続されている。制御部2は、フラッシュメモリ16に記載されたプログラムを実行することで通信制御部3を通して、車両用通信網17の各種ECUとの間で通信を行う。
電源制御部7は、車両バッテリ8に接続されており、バッテリ電圧を変換して演算処理装置1の中の各ブロックに電源を供給する。
図3は、従来例を示し、プログラム更新時の全体の処理を示すフローチャートである。
図4は、従来例を示し、受信した更新プログラムのデータの流れの一例を示す図である。
演算処理装置1の制御プログラムを更新する際には、図3及び図4で示すように、記憶領域Pa、Pbのそれぞれで実行可能な2つの制御プログラムや付随データを含んだ更新データ20を、プログラム更新装置9や無線通信装置10から通信制御部3を経由して受信する(102)。
なお、プログラム更新装置9は、無線通信装置10から更新プログラムを受け付けて、所定のタイミングで各演算処理装置1へ更新プログラムを送信する。車両に搭載される演算処理装置1は、エンジンECU、モータECU、ブレーキECU、ステアリングECU、運転支援ECU等の複数のECUを構成する。プログラム更新装置9は、データセンタ13から受信した各種ECUの更新プログラムを受信し、各ECU毎の更新プログラムを選択して配信する。
演算処理装置1の制御部2は、更新する領域を判定し(103)、記憶領域Pa、Pbのうち現在実行されていない方の記憶領域で実行可能な制御プログラムを更新対象として選択する。そして、制御部2は、更新対象の記憶領域Pa(Pb)でデータの消去及び書き込みを実施し(104、105)、更新する制御プログラムに付随するデータ(記憶領域DPa、DPb)も消去及び書き込みをする手法が考えられる。
しかし、制御プログラムを更新するたびに、記憶領域Pa、Pbそれぞれで実行可能な2つの制御プログラムや付随するデータを転送し、更新すべき制御プログラムを選別したうえで更新する手法では、使用されない制御プログラムも転送する必要があるため更新に時間がかかってしまう。
そこで本実施例1では、以下の工夫をプログラムの作成時に取り入れることで課題を解決している。
図5は、本発明のプログラムに付随するデータを共通化する手法の一例を示す図である。図6は、実施例1の演算処理装置1を含むプログラム更新システムの全体の構成を示す機能ブロック図である。図7は、実施例1の更新プログラムのデータの流れの一例を示す図である。
図6は、実施例1の演算処理装置1を示し、フラッシュメモリ16に共通付随データ(図中Pa、Pb共通付随データ)32を記憶する共通記憶領域ComDを設定した点が、前記従来例の図1、図2と相違し、その他の構成は前記従来例と同様である。
図2で示す従来例では、制御プログラムに付随するデータには、制御プログラムに対して依存する情報が含まれるため、制御プログラムにはそれ専用の付随データが必要となっていた。
そこで図5に示すように、制御プログラム及び付随データは更新されることを前提に、各制御プログラムで共通な情報(付随データ)を共通付随データ32と定義するとともに、共通でない付随データは、制御プログラムへ含めることで、付随データと制御ブログラムの依存性を排除する。
そうすることで、図7で示すように、フラッシュメモリ16には共通付随データ32を格納する共通記憶領域ComDが設定され、共通でない付随データを制御プログラム(記憶領域Pa、Pb)に含めることで、記憶領域Pa、Pbに依存することなく、どちらでも実行可能な制御プログラムが作成可能となり、更新データ21で示すように、使用されない情報を余分に転送する必要がなくなることから更新に要する時間を短縮することができる。
なお、上記実施例1では、プログラム更新装置9で更新プログラムを取得し、所定のタイミングで演算処理装置1へ更新プログラムを転送する例を示したが、これに限定されるものでなはい。演算処理装置1が、無線通信装置10から更新プログラムを受信するようにしてもよい。
本実施例は、前記実施例1における更新時間を低減するものである。
図8A~図8C及び図9A~図9Cに、共通付随データ32を記憶する共通記憶領域ComDをフラッシュメモリ16とした場合とEEPROM(模擬EEPROM含む)とした場合の書き換え処理の概略を示す。図8Aは、共通記憶領域ComDをフラッシュメモリ16に設定した場合の更新対象を示す図で、図8Bは消去範囲を示す図で、図8Cは更新後を示す図である。図9Aは、共通記憶領域ComDをEEPROM15に設定した場合の更新対象を示す図で、図9Bは消去範囲を示す図で、図9Cは更新後を示す図である。
図6で示したように、制御プログラムに付随するデータを共通化(共通付随データ32)することで、記憶領域Pa、Pbに依存することのないプログラムが作成可能となるメリットがあるが、フラッシュメモリ16上の共通記憶領域ComDにある共通付随データ32を更新する際には、更新に時間がかかるという課題がある。
共通付随データ32の一例として、制御プログラムで実現している機能のON/OFF情報など、比較的データサイズの小さいものがあげられる(1byte未満)。しかし図8A~図8Cで示すとおり、フラッシュメモリ16上の共通付随データ32を更新する際には、更新したいデータのみではなく、その周辺データも多く消去し、その後、更新したいデータの書き込みと消去してしまったデータの復元を行う必要がある。
これはフラッシュメモリ16の特性上、消去(書き込み)の単位がビット単位ではなく、ブロック単位(セクタ単位)でしか消去ができないためである。
したがって、共通付随データ32のように、更新するデータが非常に小さいものであっても、フラッシュメモリ16の特性上、消去単位が大きいために更新に必要な時間が増大してしまう。
そこで、図9A~図9C及び図10に示すように共通付随データ32の保存先(共通記憶領域ComD)をEEPROM15(模擬EEPROMを含む)にすることで上記課題を解決できる。
図10は、実施例2の演算処理装置1の一例を示すブロック図である。実施例2の演算処理装置1が、記憶部4のEEPROM15に共通付随データ32を記憶する共通記憶領域ComDを設定する。その他の構成は、前記実施例1と同様である。
図9A~図9Cで示すように、EEPROM15は、前記従来例のとおりビット単位(またはバイト単位)での消去が可能であるため、更新する共通付随データ32をピンポイント(バイト単位)で更新することが可能となり、更新に必要な時間を短縮できる。
また、近年採用が広がっている模擬EEPROMにおいても、EEPROM15のように消去単位が小さいことから同様の効果を得ることができる。
そのため、フラッシュメモリ16に記憶した場合よりも、EEPROM15に記憶しておく方が、消去及び書き換えにかかる時間を短縮できる。
本実施例は、実施例2においてEEPROM15の使用量を低減するものである。
2つの実行可能なプログラムを記憶する記憶領域Pa、Pbを有する場合に採用されるロールバック機能について説明する。ロールバック機能とは、制御プログラムの更新の際に障害が発生した際に、以前に正常に稼働していた次点の状態(制御プログラム及び付随データ)に戻して復旧を試みる機能である。
しかし、図11に示すようにロールバック機能を実現するためには、共通付随データも新旧2つ分の領域(ComD、ComD2)を準備する必要があるため、EEPROM15の使用量がひっ迫してしまう。なお、図11は、更新前の共通付随データ32をEEPROM15に記憶させる構成の演算処理装置1のブロック図である。
また、ロールバック機能は障害発生時の保険であるため、ロールバック機能を実行する頻度は少なく、EEPROM15の容量を消費するのは非効率である。
そこで、本実施例では更新前の共通付随データ32の保存先として、制御プログラムを保存する領域である記憶領域Pa、Pbを利用する構成とすることでこの課題を解決する。
図12は、更新前の共通付随データ32をフラッシュメモリ16に記憶させる構成の演算処理装置1のブロック図である。図12は、フラッシュメモリ16に更新前の共通付随データ32を記憶する共通記憶領域ComD2を設定する。その他の構成は前記実施例2と同様である。
図12に示すように、更新前の共通付随データ32を記憶する共通記憶領域ComD2は、現在実行していない制御プログラムの記憶領域Pbを保存先とする(実行していない制御プログラムの領域がPaの場合、記憶領域Paが保存先となる)。これによりロールバックする制御プログラムと付随データを一緒に管理可能となる。
また、図13は、共通付随データ32の更新処理及び更新前データの保存処理の一例を示すフローチャートである。この処理は図12に示す制御部2において所定の間隔で実行され、更新データ21を受信後、制御プログラムを更新した後に、共通付随データ32を更新する。共通付随データ32の更新は、記憶領域Paの制御プログラムを実行中の場合には、更新前の共通記憶領域ComDの値(共通付随データ32)を、実行していない制御プログラムの記憶領域Pbに保存する。
以下の説明では、記憶領域Pa、Pbの制御プログラムが、更新機能を含む例を示すが、更新処理を独立したプログラムとして制御部2に実行させてもよい。また、以下では、制御部2を処理の主体として説明するが、CPU2aに読み込まれた制御プログラムを処理の主体としてもよい。なお、制御プログラムは、更新処理が終了すると、所定の処理(車両制御等)を実行する。
まず、制御部2は、ステップ102に示すように更新データ21を受信し、ステップ103で記憶領域Paの制御プログラムを実行中か否かを判定する。記憶領域Paの制御プログラムを実行中の場合はステップ104へ進み、記憶領域Pbの制御プログラムを実行中の場合はステップ105へ進む。
ステップ104では、制御部2が実行されていない記憶領域Pbの制御プログラムを消去してから書き込みを実施して受信した制御プログラムに更新する。ステップ105では、制御部2が実行されていない記憶領域Paの制御プログラムを消去してから書き込みを実施して受信した制御プログラムに更新する。
ステップ106では、制御部2で更新が完了したか否かを判定し、更新が完了した場合にはステップ107へ進み、完了していない場合にはステップ102へ戻って上記処理を繰り返す。
ステップ107では、制御プログラムの更新が完了したら、制御部2は、実行する制御プログラムの切り替えを行う。制御プログラムの切り替えは、所定の条件(例えば、停車中やパーキング状態)を満たしていれば、現在実行中の記憶領域Paの制御プログラムを停止させて、更新された記憶領域Pbの制御プログラムを起動させる。所定の条件を満たしていない場合には、ステップ108へ進む。
なお、制御プログラムの切り替えは、制御プログラム自身ではなく、制御部2で実行される他のプログラムに依頼してもよい。
制御プログラムの切り替えの完了後、ステップ108で示すように制御部2は、共通付随データ32の更新の有無について判定し、更新が必要であればステップ109へ進み、不要であれば処理を終了する。
ステップ109で制御部2は、記憶領域Paの制御プログラムを実行中か否かを判定する。記憶領域Paの制御プログラムを実行中の場合はステップ110へ進み、記憶領域Pbの制御プログラムを実行中の場合はステップ111へ進む。
ステップ110では、制御部2が実行中ではない記憶領域Pbへ共通付随データ32の現在値を共通記憶領域ComD2に保存する。一方、ステップ111では、制御部2が実行中ではない記憶領域Paへ共通付随データ32の現在値を共通記憶領域ComD2へ保存する。
制御部2が保存する対象は、共通付随データ32の全てでもよいし、更新されるデータのみでもよい。そして保存が完了した後、制御部2は、ステップ112で示すように、共通記憶領域ComDの共通付随データ32を受信した更新データ21に基づき更新する。
なお、共通記憶領域ComDの共通付随データ32の更新は、ステップ107で述べたように、制御部2が所定の条件を満足したと判定した場合に実行すればよい。
これらの処理により、共通付随データ32の更新及び更新前データの共通記憶領域ComD2への保存を実現できる。
また、図14は、ロールバック機能実行時の処理のフローチャートを示す。以下の説明では、記憶領域Pa、Pbの制御プログラムが、ロールバック機能を含む例を示すが、ロールバック処理を独立したプログラムとして制御部2に実行させてもよい。また、以下では、制御部2を処理の主体として説明するが、CPU2aに読み込まれた制御プログラムを処理の主体としてもよい。なお、制御プログラムは、ロールバック処理が終了すると、所定の処理(車両制御等)を実行する。
まずステップ202で示すように、制御部2はロールバックの要否判定を行い、ロールバックの実行要件を満足した場合にのみロールバックを実行する。ロールバックの実行要件は、例えば、他のECUからの要求時でもよいし、ECU(演算処理装置1)自身がエラーを検知した時でもよい。実行要件を満たした場合はステップ203へ進み、実行要件を満たしていない場合には処理を終了する。
なお、他のECUからの要求時は、例えば、他のECUで更新後の制御プログラムで不具合が発生した場合で、他のECUか制御プログラムのロールバックを実施する場合には、演算処理装置1で実行する制御プログラムもバージョンを一致させるため障害の有無にかかわらずロールバックを行う。
制御部2は、ステップ203で記憶領域Paの制御プログラムを実行中か否かを判定する。記憶領域Paの制御プログラムを実行中の場合はステップ204へ進み、記憶領域Pbの制御プログラムを実行中の場合はステップ205へ進む。
ステップ204では、制御部2が、記憶領域Pbに保存された更新前の共通付随データ32を共通記憶領域ComDへ書き込んで反映させる。ステップ205では、制御部2が、記憶領域Paに保存された更新前の共通付随データ32を共通記憶領域ComDへ書き込んで反映させる。
そして、ステップ206で制御部2は、更新前の共通付随データ32の反映が完了した後、ステップ207へ進んで実行する制御プログラムの切り替えを行う。なお、制御部2は、更新前の共通付随データ32の反映が完了していなければステップ203へ戻って上記処理を繰り返す。
上記処理により、更新前の共通付随データ32のために使用するEEPROM15の容量を削減して、ロールバック機能を実現することができる。
なお、ロールバックの完了後に、制御部2は、演算処理装置1に接続されたナビゲーション装置(図示省略)の表示画面等に、ロールバックを実施したことを報知してもよい。
なお、報知は、画像に限定されるものではなく、音声や振動のいずれでもよい。
また、ロールバックの実行条件としては、車両のイグニッションキー(図示省略)をオフにした後や、イグニッションキーがオンとなって車両の発進前など、車両の停車または駐車中で運転者にロールバックの開始を通知した後が望ましい。
また、制御プログラムの更新失敗時には、制御部2が、次回の起動(キーオン)時に更新を実行するか否かを演算処理装置1に接続されたナビゲーション装置等で問い合わせるようにしてもよい。
なお、本実施例では、記憶領域Pa、Pbへ更新前の共通付随データ32を格納する例を示したが、これに限定されるものではなく、フラッシュメモリ16の所定の領域であればよい。
<結び>
以上のように、上記実施例の演算処理装置1または車両制御装置は以下のような構成とすることができる。
(1).2つのプログラムを記憶する第1の書き換え可能な記憶部(フラッシュメモリ16、記憶領域Pa、Pb)と、前記2つのプログラムのうち、どちらか1つを選択して実行するCPU(2a)と、前記2つのプログラムに付随する共通のデータ(共通付随データ32)を記憶する第2の書き換え可能な記憶部(共通記憶領域ComD、EEPROM15)とを有する。
上記構成により、制御プログラム及び共通付随データ32は更新されることを前提に、各制御プログラムで共通な情報(付随データ)を共通付随データ32として定義するとともに、共通でない付随データは、制御プログラムへ含めることで、付随データと制御ブログラムの依存性を排除する。フラッシュメモリ16には共通付随データ32を格納する共通記憶領域ComDが設定され、共通でない付随データを制御プログラムに含めることで、記憶領域Pa、Pbに依存することなく、どちらでも実行可能な制御プログラムが作成可能となり、更新データ21で示すように、使用されない情報を余分に転送する必要がなくなることから更新に要する時間を短縮することが可能となる。
(2).上記(1)に記載の演算処理装置であって、前記2つのプログラムを記憶する第1の書き換え可能な記憶部(16)は、所定の書き換え可能単位(ブロック単位)を有し、前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部(ComD、15)は、前記プログラムを記憶する第1の書き換え可能な記憶部(16)の書き換え可能単位より小さい書き換え可能単位(バイト単位)を有する。
上記構成により、EEPROM15では(バイト単位)でのデータの消去又は書き換えが可能であるため、更新する共通付随データ32をピンポイント(バイト単位)で更新することが可能となり、更新に必要な時間を短縮できる。
(3).上記(1)に記載の演算処理装置であって、前記2つのプログラムに付随する共通データ(32)を更新する際に、更新する前の前記共通データを旧データとして記憶し、前記旧データの記憶先は、前記共通データ(32)を記憶する前記第2の書き換え可能な記憶部(ComD、15)である。
上記構成により、更新前の共通付随データ32を共通記憶領域ComDへ格納しておくことで、更新前のプログラムへロールバックする際には、共通記憶領域ComDの旧データで更新前のプログラムの実行環境を再生することが可能となる。
(4).上記(1)に記載の演算処理装置であって、前記2つのプログラムに付随する共通データ(32)を更新する際に、更新する前の前記共通データを旧データとして記憶し、前記旧データの記憶先は、前記第1の書き換え可能な記憶部(16)である。
上記構成により、更新前の共通付随データ32をフラッシュメモリ16の共通記憶領域ComDへ格納しておくことで、更新前のプログラムへロールバックする際には、共通記憶領域ComDの旧データで更新前のプログラムの実行環境を再生することが可能となる。
(5).上記(1)に記載の演算処理装置であって、外部システムとデータの交換を行う通信インターフェース(通信制御部3)をさらに有し、前記CPU(2a)は、前記通信インターフェース(3)を介して、選択されていない前記プログラムに付随する共通データを受信して、更新を行う。
上記構成により、外部のシステムから更新データ21を受信して共通付随データ32を更新することができる。
(6).上記(1)に記載の演算処理装置であって、前記共通データは、前記プログラムの実行に影響を及ぼす情報を含み、車両の制御に影響を与える。
上記構成により、車両のECU等の制御プログラムの更新に共通付随データ32を利用することができ、更新時間の短縮とロールバックの実行を保証することが可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。
例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 演算処理装置2 制御部2a CPU3 通信制御部4 記憶部14 RAM15 EEPROM16 フラッシュメモリ21 更新データ32 共通付随データPa 記憶領域Pb 記憶領域ComD 共通記憶領域ComD2 共通記憶領域

Claims (10)

  1. 2つのプログラムを記憶する第1の書き換え可能な記憶部と、
    前記2つのプログラムのうち、どちらか1つを選択して実行するCPUと、
    前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部と、を有し、
    前記2つのプログラムを記憶する第1の書き換え可能な記憶部は、所定の書き換え可能単位を有し、
    前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部は、前記プログラムを記憶する第1の書き換え可能な記憶部の書き換え可能単位より小さい書き換え可能単位を有することを特徴とする演算処理装置。
  2. 2つのプログラムを記憶する第1の書き換え可能な記憶部と、
    前記2つのプログラムのうち、どちらか1つを選択して実行するCPUと、
    前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部と、を有し、
    前記2つのプログラムに付随する共通データを更新する際に、更新する前の前記共通データを旧データとして記憶し、前記旧データの記憶先は、前記第1の書き換え可能な記憶部であることを特徴とする演算処理装置。
  3. 前記2つのプログラムに付随する共通データを更新する際に、更新する前の前記共通データを旧データとして記憶し、前記旧データの記憶先は、前記共通データを記憶する前記第2の書き換え可能な記憶部であることを特徴とする請求項1に記載の演算処理装置。
  4. 外部システムとデータの交換を行う通信インターフェースをさらに有し、
    前記CPUは、前記通信インターフェースを介して、選択されていない前記プログラムに付随する共通データを受信して、更新を行うことを特長とする請求項1又は2に記載の演算処理装置。
  5. 前記共通データは、前記プログラムの実行に影響を及ぼす情報を含み、車両の制御に影響を与えることを特徴とする請求項1又は2に記載の演算処理装置を含む車両制御装置。
  6. CPUと主記憶を演算処理装置でプログラムを更新する更新方法であって、
    前記CPUが、第1の書き換え可能な記憶部へ2つのプログラムを記憶する第1のステップと、
    前記CPUが、前記2つのプログラムに付随する共通データを第2の書き換え可能な記憶部へ記憶する第2のステップと、
    前記CPUが、前記2つのプログラムのうち、どちらか1つを選択して実行する第3のステップと、を含み、
    前記2つのプログラムを記憶する第1の書き換え可能な記憶部は、所定の書き換え可能単位を有し、
    前記2つのプログラムに付随する共通データを記憶する第2の書き換え可能な記憶部は、前記プログラムを記憶する第1の書き換え可能な記憶部の書き換え可能単位より小さい書き換え可能単位を有することを特徴とする更新方法。
  7. CPUと主記憶を演算処理装置でプログラムを更新する更新方法であって、
    前記CPUが、第1の書き換え可能な記憶部へ2つのプログラムを記憶する第1のステップと、
    前記CPUが、前記2つのプログラムに付随する共通データを第2の書き換え可能な記憶部へ記憶する第2のステップと、
    前記CPUが、前記2つのプログラムのうち、どちらか1つを選択して実行する第3のステップと、
    前記CPUが、前記2つのプログラムに付随する共通データを更新する第4のステップと、を含み、
    前記第4のステップでは、前記CPUが、前記2つのプログラムに付随する共通データを更新する際に、更新する前の前記共通データを旧データとして前記第1の書き換え可能な記憶部へ記憶することを特徴とする更新方法。
  8. 前記CPUが、前記2つのプログラムに付随する共通データを更新する第4のステップをさらに含み、
    前記第4のステップは、
    更新する前の前記共通データを旧データとして前記共通データを記憶する前記第2の書き換え可能な記憶部に記憶することを特徴とする請求項6に記載の更新方法。
  9. 外部システムとデータの交換を行う通信インターフェースをさらに有し、
    前記CPUが、前記2つのプログラムに付随する共通データを更新する第4のステップをさらに含み、
    前記第4のステップは、
    前記通信インターフェースを介して、選択されていない前記プログラムに付随する共通データを受信し、更新を行うことを特長とする請求項6又は7に記載の更新方法。
  10. 前記共通データは、前記プログラムの実行に影響を及ぼす情報を含み、車両の制御に影響を与えることを特徴とする請求項6又は7に記載の更新方法。
JP2021522304A 2019-05-28 2020-05-22 演算処理装置、車両制御装置及び更新方法 Active JP7219813B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019099015 2019-05-28
JP2019099015 2019-05-28
PCT/JP2020/020237 WO2020241473A1 (ja) 2019-05-28 2020-05-22 演算処理装置、車両制御装置及び更新方法

Publications (2)

Publication Number Publication Date
JPWO2020241473A1 JPWO2020241473A1 (ja) 2020-12-03
JP7219813B2 true JP7219813B2 (ja) 2023-02-08

Family

ID=73552767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021522304A Active JP7219813B2 (ja) 2019-05-28 2020-05-22 演算処理装置、車両制御装置及び更新方法

Country Status (5)

Country Link
US (1) US20220204008A1 (ja)
JP (1) JP7219813B2 (ja)
CN (1) CN113841116A (ja)
DE (1) DE112020001909T5 (ja)
WO (1) WO2020241473A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328453A (ja) 2006-06-06 2007-12-20 Brother Ind Ltd 周辺装置システム,周辺装置および周辺装置設定更新方法
JP2015194922A (ja) 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム
JP2017133921A (ja) 2016-01-27 2017-08-03 株式会社リコー 画像形成装置
WO2018003649A1 (ja) 2016-06-28 2018-01-04 日本精機株式会社 車両用表示装置
JP2018156638A (ja) 2017-03-17 2018-10-04 株式会社リコー 情報処理装置、画像形成装置、アップデート方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114807A (ja) 2001-10-02 2003-04-18 Fuji Photo Film Co Ltd 電子機器及び本体制御プログラムの書き換え方法
CN1288932C (zh) * 2002-06-30 2006-12-06 海尔集团公司 具有防干扰设置的移动电话
JP2008077221A (ja) 2006-09-19 2008-04-03 Denso Corp 車両用制御装置
JP5289003B2 (ja) * 2008-11-17 2013-09-11 エイチジーエスティーネザーランドビーブイ ディスク・ドライブ及びそのプログラムの変更方法
GB2515364B (en) * 2013-12-20 2015-06-17 Nordic Semiconductor Asa Updatable integrated-circuit radio
US10241807B2 (en) * 2014-09-26 2019-03-26 Hitachi Automotive Systems, Ltd. Vehicle control device, reprogramming system
JP6899719B2 (ja) * 2017-07-05 2021-07-07 日立Astemo株式会社 自動車用電子制御装置
US20210012585A1 (en) * 2019-07-10 2021-01-14 Mkdwell (Jiaxing) Electronics Technology Co., Ltd. Camping Car Control System and Control Method Thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328453A (ja) 2006-06-06 2007-12-20 Brother Ind Ltd 周辺装置システム,周辺装置および周辺装置設定更新方法
JP2015194922A (ja) 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム
JP2017133921A (ja) 2016-01-27 2017-08-03 株式会社リコー 画像形成装置
WO2018003649A1 (ja) 2016-06-28 2018-01-04 日本精機株式会社 車両用表示装置
JP2018156638A (ja) 2017-03-17 2018-10-04 株式会社リコー 情報処理装置、画像形成装置、アップデート方法

Also Published As

Publication number Publication date
US20220204008A1 (en) 2022-06-30
CN113841116A (zh) 2021-12-24
WO2020241473A1 (ja) 2020-12-03
JPWO2020241473A1 (ja) 2020-12-03
DE112020001909T5 (de) 2022-01-13

Similar Documents

Publication Publication Date Title
US20080250188A1 (en) Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method
JP4037605B2 (ja) 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP2669365B2 (ja) 書換え可能なromファイル装置
US9063728B2 (en) Systems and methods for handling hibernation data
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
JPH11134875A (ja) 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
JP4315488B2 (ja) データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法
US7971014B2 (en) Information processing apparatus and data recovering method
WO2006098212A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
CN112035294B (zh) 安全日志文件系统及其实现方法和介质
JP2006331378A (ja) フラッシュメモリ保存システム
CN110928487A (zh) 存储装置和存储装置的操作方法
JP3212960B2 (ja) フラッシュメモリを利用したデータ管理方法
KR19980023759A (ko) 휴대형 단말기기의 메모리 관리방법
CN1701300B (zh) 用于分解与一共用逻辑块相关联的物理块的方法和设备
JP4661369B2 (ja) メモリコントローラ
JP7219813B2 (ja) 演算処理装置、車両制御装置及び更新方法
JP4794530B2 (ja) 半導体装置および携帯電話
JPH11272569A (ja) フラッシュメモリを使用した外部記憶装置のデータ回復方式
WO2010145967A1 (en) Memory device for managing the recovery of a non volatile memory
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
KR20050011869A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP2012128900A (ja) 半導体記憶装置、及び記憶媒体
US6898680B2 (en) Minimization of overhead of non-volatile memory operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230127

R150 Certificate of patent or registration of utility model

Ref document number: 7219813

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150