JP2020129325A - 車両用電子制御装置 - Google Patents

車両用電子制御装置 Download PDF

Info

Publication number
JP2020129325A
JP2020129325A JP2019022401A JP2019022401A JP2020129325A JP 2020129325 A JP2020129325 A JP 2020129325A JP 2019022401 A JP2019022401 A JP 2019022401A JP 2019022401 A JP2019022401 A JP 2019022401A JP 2020129325 A JP2020129325 A JP 2020129325A
Authority
JP
Japan
Prior art keywords
block
data
vehicle
stored
electronic control
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
JP2019022401A
Other languages
English (en)
Inventor
由典 松島
Yoshinori Matsushima
由典 松島
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 JP2019022401A priority Critical patent/JP2020129325A/ja
Publication of JP2020129325A publication Critical patent/JP2020129325A/ja
Priority to JP2022181895A priority patent/JP2023010802A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】リプログラム時に、可能な限り書き換え前の記憶データを持ち越すことができ、故障への対処や学習値の消失による制御の遅れを抑制できる車両用電子制御装置を提供する。【解決手段】車両用電子制御装置30は、外部から書き換え可能に設定され、車両10の動作中に生じたデータを必要に応じて記憶する不揮発性メモリ35を備える。この不揮発性メモリに、車両の制御に使用する複数のプログラム間で共通する前記データを予め定められたブロック構成で記憶する。そして、プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに変換して再配置する、ことを特徴とする。【選択図】図1

Description

本発明は、車両用電子制御装置に関し、例えばECM(Engine Control Module)におけるリプログラミング時の異常情報や学習値の維持に関する。
ECMなどの車両用電子制御装置では、異常情報や学習値を不揮発性メモリに記憶している。そして、整備や点検のときには、作業者が診断用の外部ツールをECMに接続して不揮発性メモリから故障などの異常情報を読み出し、外部ツールのモニタに故障の状況を表示して確認するようになっている(例えば特許文献1及び特許文献2参照)。また、エンジンが常に最適な燃焼(空燃比)になるように、学習値を参考に燃焼マップを選択している。
特開2009−059334号公報 特開2009−067298号公報 特開2008−169815号公報
ところで、この種の車両用電子制御装置では、プログラムやデータに更新、あるいは修正が必要になると、それらの書き換え、いわゆるリプログラミングが行われる。リプログラミングの前後では、プログラムの情報の形態が同一とは限らないため、リプログラミングする時に、記憶データを初期化(消去)するのが一般的であった。
また、特許文献3に記載されているように、リプログラミングする際に、記憶データの選択的な初期化も行われている。すなわち、不揮発性メモリ内に記憶されているデータの種類が異なる領域毎にバージョンチェックを行い、バージョンが一致する領域の記憶データは持ち越し、バージョンが不一致の領域の記憶データは初期化する。
しかしながら、リプログラミング対象の記憶領域は初期化されるため、更新されたプログラムを実行するときには、再度診断や学習を行わなければならず、故障への対処や学習値による制御の最適化が遅れる可能性があった。
本発明は上記のような事情に鑑みてなされたもので、その目的とするところは、リプログラム時に、可能な限り書き換え前の記憶データを持ち越すことができ、故障への対処や学習値の消失による制御の遅れを抑制できる車両用電子制御装置を提供することにある。
本発明の一態様に係る車両用電子制御装置は、外部から書き換え可能に設定され、車両の動作中に生じたデータを必要に応じて記憶する記憶装置を備えた車両用電子制御装置であって、前記記憶装置に、車両の制御に使用する複数のプログラム間で共通する前記データを予め定められたブロック構成で記憶し、前記プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに変換して再配置する、ことを特徴とする。
本発明では、異常情報や学習値などの記憶データが予め定められたブロック構成で保存されており、リプログラミング時に、そのブロック内のデータサイズが変更されるのみの場合には、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに変換して再配置する。これによって、書き換え前の記憶データを消去することなく持ち越すことが可能となり、更新したプログラムで異常情報や学習値などの記憶データを継続して使用できる。従って、故障への対処や学習値の消失による制御の遅れを抑制できる。
本発明の実施形態に係る車両用電子制御装置の概略構成を示すブロック図である。 図1に示した車両用電子制御装置のリプログラミングを行う場合のシステム概要図である。 図2に示したリプログラミングツールの構成例を示すブロック図である。 EEPROMのブロック構成例を示す図である。 EEPROMの固定アドレスと各ブロックの構成について説明するための図である。 フラッシュメモリにおけるソフトウェア領域の構成例を示す図である。 ソフトウェアのアップデート時の制約について説明するための図である。 ソフトウェアのアップデート時の他の制約について説明するための図である。 リプログラミングに際して、EEPROMに対して実行される処理の概要を示すフローチャートである。 図9に続く処理を示すフローチャートである。 EEPROMのブロック構成例を示す図である。 変形例1に係るEEPROMのブロック構成例を示す図である。 変形例2に係るEEPROMのブロック構成例を示す図である。 変形例3に係るEEPROMのブロック構成例を示す図である。 変形例4に係るEEPROMのブロック構成例を示す図である。 変形例5に係るEEPROMのブロック構成例を示す図である。 ソフトウェアアップデートにおけるEEPROMのブロック割り当ての変更例について説明するためのもので、変更前と変更後のメモリ構成を示す図である。 図17に示した各ブロックの制御情報の設定を纏めて示す図である。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態に係る車両用電子制御装置の概略構成を示している。車両10に搭載されたエンジン(内燃機関)20には、各種のセンサ21が設けられており、これらセンサ21で検出された信号がECM30に入力される。センサ21は、例えば吸入空気量センサ、クランク角センサ、アクセル開度センサ、水温センサ、カム角センサ、空燃比センサ、及び油温センサなどである。また、ECM30には、エンジン20の運転及び停止のメインスイッチであるイグニッションスイッチ(図示せず)からの信号が入力されて制御される。
ECM30は、これら各種のセンサ21及びイグニッションスイッチからの信号に基づいて、予め記憶された制御プログラムに従って演算処理を行う。詳しくは、例えば燃料噴射弁、VTC(Valve Timing Control)機構及び点火モジュールなどの各種装置の操作量あるいは制御量を算出し、これらの装置や装置を駆動するアクチュエータ22などに制御信号を出力して制御する。
このECM30は、CPU(Central Processing Unit)などのプロセッサ31と、揮発性メモリの一例としてのRAM(Random Access Memory)32と、制御プログラム及び各種データを記憶する不揮発性メモリの一例としてのROM(Read Only Memory)33と、プロセッサ31によって実行されるソフトウェア(エンジン制御用プログラム及びそのプログラムの実行時に参照されるデータ)を記憶する不揮発性メモリの一例としてのフラッシュメモリ34と、車両情報(故障や異常の情報)及び学習値などを記憶する不揮発性メモリの他の一例としてのEEPROM(Electrically Erasable and Programmable Read Only Memory)35と、入力と出力のインターフェースを行うための入出力インターフェース(入出力I/F)37と、外部装置と通信を行うための外部通信インターフェース(外部通信I/F)38と、バス39とを備えている。
プロセッサ31、RAM32、ROM33、フラッシュメモリ34、EEPROM35、入出力I/F37及び外部通信I/F38は、バス39によって相互に接続され、データの授受を行うようになっている。また、外部通信I/F38は、ネットワークケーブル40を着脱可能に接続するコネクタ38aを有する。このコネクタ38aには、外部からプログラムを書き換えるためのリプログラミングツール50、あるいは故障発生時に整備や点検を行うための外部ツール60がCAN(Controller Area Network)、シリアル通信、FlexRay(登録商標)及びEthernet(登録商標)などのネットワークケーブル40を介して接続される。
図2は、車両用電子制御装置のリプログラミングを行う場合のシステム構成を示している。リプログラミングの対象となるECM30は、ネットワークケーブル40を介して、リプログラミングツール50に着脱自在に接続される。この状態で、作業者がリプログラミングツール50を操作して、ECM30のリプログラミング作業を行う。
なお、ECM30とリプログラミングツール50とは、ネットワークケーブル40とコネクタ38a,52aを使用した有線接続に限らず、無線送受信機を使用した無線通信によって相互に接続されるように構成しても良い。
リプログラミングツール50は、作業者がECM30のデータの書き換え作業を行う電子機器であって、例えば、パーソナルコンピュータなどから構成される。具体的には、リプログラミングツール50は、図3に示すように、CPUなどのプロセッサ51と、ネットワークに接続するための通信装置52と、ハードディスク装置やSSD(Solid State Drive)などのストレージ53と、作業者へのインターフェースとなる入出力装置54と、バス55とを備えている。プロセッサ51、通信装置52、ストレージ53及び入出力装置54は、バス55によって相互に接続され、データの授受を行うようになっている。ここで、通信装置52は、ネットワークケーブル40を着脱可能に接続するコネクタ52aを有する。また、入出力装置54は、LCD(Liquid Crystal Display)などのディスプレイと、キーボードと、マウスなどのポインティングデバイスと、を含む。
なお、ストレージ53は、例えば、図示しないネットワークに接続されたNAS(Network Attached Storage)やサーバのストレージなどであってもよい。
このストレージ53には、ECM30のEEPROM35を書き換えるための更新プログラムや更新データが格納されている。これらの更新プログラムや更新データは、例えばエンジン20に搭載あるいは設置された各種機器を制御する制御プログラム、その制御プログラムで使用される定数やマップなどの制御パラメータなどを含む。
リプログラミング処理(データ書き換え処理)は、作業者がネットワークケーブル40を介してECM30とリプログラミングツール50とを接続した後、リプログラミングツール50において、所定の操作を行ったときに実行される。ここでは、ECM30は、ネットワークケーブル40を介してリプログラミングツール50と接続されたときに、電力が供給されて起動することを前提とするが、別の電源ケーブルの接続により起動する形態であってもよい。
一方、外部ツール60は、ECM30から出力される異常情報を受信し、異常情報に対応する故障などの状態をモニタに表示するもので、専用の診断ツールであっても良いし、リプログラミングツール50と同様に、例えばパーソナルコンピュータなどから構成されても良い。また、外部ツール60とECM30は、ネットワークケーブル40を使用した有線接続に限らず、無線送受信機を使用した無線通信によって相互に接続されるような構成でも良い。ここでは、外部ツール60には、周知の診断ツールを用いるものとして詳細な説明は省略する。
本発明の概要は、不揮発性メモリに継続的に保存する記憶データのメモリ配置が、不揮発性メモリを制御するソフトウェアの書き換えによって変化したとしても、書き換え前の記憶データを可能な限り持ち越しつつ、不揮発性メモリ上の記憶データのメモリ配置を更新するものである。
そのために、リプログラミングの対象となる不揮発性メモリ(フラッシュメモリ34及びEEPROM35)は、下記(1)〜(5)のように構成している。
(1)EEPROM35には、ソフトウェアの用途毎に種類の異なる複数のブロックを配置する。
(2)上記(1)のブロック長は用途によりサイズを可変とする。
(3)EEPROM35の固定のアドレスに、ブロック数と各ブロックの格納先アドレス及びブロック長を配置する。
(4)フラッシュメモリ34におけるソフトウェアを配置する領域に、ブロック数と各ブロックの不揮発性メモリの格納先アドレス、転送先RAMアドレス、ブロック長、初期値、及び制御情報を配置する。
(5)上記(3)と(4)の情報はブロックID(ブロック0、ブロック1、ブロック2)毎に対応している。
上記のような構成において、車両用電子制御装置の起動時に、(3)と(4)の情報に応じてEEPROM35内の記憶データの読み出しを行い、メモリ配置が変化している場合には再配置の書き込みを実施する。また、EEPROM35内の記憶データのブロック長が新しいソフトウェアのブロック長に対して不足している場合には、不足分のデータのみ初期値を設定する。すなわち、不足しているデータのみ部分的に書き込んで初期値を設定し、他の部分はRAM32に転送した書き換え前の記憶データを新しい配置で書き込む。
このようにすることで、EEPROM35にデータを記憶する電子制御装置において、ソフトウェアの書き換え(アップデート)時に可能な限り書き換え前の記憶データを消去することなく持ち越すことが可能となる。
次に、上述した(1)〜(5)のメモリ構成について、図4乃至図8により詳しく説明する。
図4及び図5はそれぞれ、リプログラミングの対象となるEEPROM35のブロック構成例を示している。また、図6は、フラッシュメモリ34におけるソフトウェア領域の構成例を示している。
図4に示すように、EEPROM35にソフトウェアの用途毎に種類の異なる複数のブロックBlock0、Block1、Block2、…を配置する。このブロック数は可変であり、各ブロックBlock0、Block1、Block2、…は消去単位の整数倍の記憶容量に設定されている。また、各ブロックBlock0、Block1、Block2、…のブロック長は、用途に応じてサイズが可変となっている。
このEEPROM35には、図5に示すように、固定のアドレスにブロック数、各ブロック0〜2には格納先の不揮発性メモリのアドレスとブロック長を配置している。ここで、固定のアドレスは、すべてのソフトウェアバージョンで固定であり、各ブロック0〜2の格納情報のデータ長は同一、またブロックの追加/削除により全体のサイズは可変である。
更に、図6に示すように、フラッシュメモリ34におけるソフトウェア領域には、ブロック数、各ブロック0〜2には格納先の不揮発性メモリのアドレス、転送先RAMアドレス、ブロック長、初期値格納先アドレス、及び制御情報を配置している。ここで、各ブロック0〜2の格納情報のデータ長は同一である。
このように、EEPROM35のブロック構成とフラッシュメモリ34におけるソフトウェア領域の構成は対応した構成になっている。
図7及び図8はそれぞれ、ソフトウェアのアップデート時の制約について説明するための図である。例えば図7(a)に示すように、3つのブロックBlock0、Block1、Block2が配置されているEEPROM35のブロック構成において、ソフトウェアのアップデートを行う場合に、図7(b)に示すような終端へのブロックBlock3の追加や、図7(c)に示すようなブロックBlock2の削除が可能である。しかし、中間にあるブロックの削除、及び中間へのブロック挿入は不可となっている。
また、ソフトウェアのアップデートにおいて、例えば図8(a)に示すように、3つのブロックBlock0、Block1、Block2が配置されている場合に、図8(b)に示すように、1つのブロックBlock1の終端の領域拡張、または図8(c)に示すように、1つのブロックBlock1の終端の領域縮小は可能である。しかし、1つのブロックの中間領域への挿入(拡張)と、中間領域の削除(縮小)は不可となっている。
次に、図9及び図10により、上述したようなメモリ構成において、リプログラミングの手順について詳しく説明する。図9及び図10はそれぞれ、リプログラミングに際して、不揮発性メモリ(フラッシュメモリ34とEEPROM35)に対して実行される処理の概要を示すフローチャートである。
車両用電子制御装置の起動時に、まず処理対象のブロックをBlock0に設定し(ステップS1)、EEPROM35の固定アドレスに格納されているブロック数分終了したか否かを判定する(ステップS2)。そして、終了していないと判定されると、各ブロックに対してステップS3〜S10の処理をブロック数分繰り返す。
ステップS3では、EEPROM35のソフトウェア領域に、ブロック情報が格納されているか否かを判定する。ブロック情報が格納されていると判定されると、ブロックは「検証有効」か否かを判定する(ステップS4)。そして、「検証有効」と判定されると、ブロックの検証を実施し(ステップS5)、「検証無効」と判定されると、検証結果を正常とする(ステップS6)。ステップS3において、EEPROM35のソフトウェア領域に格納されているブロック数が、これから格納するブロックよりも多い場合、余分なブロックのデータは破棄する。
上記ステップS4,S5,S6では、リプログラミング対象のブロックについて、EEPROM35とフラッシュメモリ34のソフトウェア領域の両方に情報が格納されており、且つソフトウェア領域の制御情報に「検証有効」としてデータが設定されている場合、EEPROM35内のデータを検証する。検証には、CRC(Cyclic Redundancy Check)やチェックサム(Check Sum)などを用いる。そして、「検証無効」に設定されている場合には、検証結果を正常なものとして扱う。
次のステップS7では、検証結果が正常か否か判定し、正常であると判定されると、EEPROM35からRAM32へデータを転送する(ステップS8)。これによって、リプログラミング対象ブロックの検証結果が正常であった場合には、EEPROM35の格納先アドレスから、フラッシュメモリ34におけるソフトウェア領域の転送先RAM32のアドレスへデータが転送される。
この際、EEPROM35に格納されるブロック長がフラッシュメモリ34のソフトウェア領域に格納されるブロック長よりも小さい場合、不足分のデータはソフトウェア領域に格納される初期値格納先アドレスから転送する(オフセット分を考慮して)。一方、EEPROM35に格納されるブロック長がソフトウェア領域に格納されるブロック長よりも大きい場合、EEPROM35に格納される余分なデータは破棄する。
上記ステップS7で検証結果が正常でないと判定されると(対象ブロックの検証結果が異常であった場合)、フラッシュメモリ34のソフトウェア領域に格納される初期値格納先アドレスから転送先RAM32のアドレスへデータを転送する(ステップS9)。
続くステップS10では、処理対象のブロックIDをインクリメントし、ステップS2に戻り、EEPROM35に格納されているブロック数分終了するまでステップS3〜S10の処理を繰り返す。
そして、ステップS2でブロック数分終了と判定された場合、及びステップS3でフラッシュメモリ34のソフトウェア領域にブロック情報が格納されていない、と判定された場合には、ステップS11に移動する。
ステップS11では、フラッシュメモリ34のソフトウェア領域に格納されるブロック数分終了したか否か判定し、フラッシュメモリ34の初期値格納先アドレスからRAM32へデータを転送する(ステップS12)。続いて、処理対象のブロックIDをインクリメントする(ステップS13)。
これらのステップS11〜S13は、リプログラミングによってブロックアドレスが増加している場合の処理である。フラッシュメモリ34のソフトウェア領域に格納されるブロック数がEEPROM35に格納されるブロックよりも多い場合には、不足分のブロックについてはフラッシュメモリ34のソフトウェア領域に格納される初期値格納先アドレスから転送先アドレスへデータを転送する。
ステップS13で、処理対象のブロックIDをインクリメントした後、あるいはステップS11でブロック数分終了したと判定された場合(ブロックアドレスが増加していない場合)には、すべてのブロックについてEEPROM35の格納先アドレスまたはブロック長の変更があるか否か判定する(ステップS14)。EEPROM35の格納先アドレスまたはブロック長の変更がある場合、またはブロック数に変更がある場合はEEPROM35上のデータを再配置するための書き込みを実施して終了する(ステップS15)。再配置は、フラッシュメモリ34のソフトウェア領域に格納されるEEPROM35の格納先アドレス及びブロック長に従い実施する。ステップS14で変更がないと判定された場合には、再書き込みは行わずに終了する。
上述したようなリプログラミングの手順によれば、車両10のECM30における制御プログラムの書き換え時、車両情報や学習値の記憶データが予め定められたブロック構成で保存され、そのブロック内のデータサイズが変更されるのみの場合に、簡易な処理により更新プログラムで継続使用できる。
従って、本発明によれば、プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに再配置するので、不揮発性メモリにデータを記憶する電子制御装置において、ソフトウェアの書き換え時に可能な限り書き換え前の記憶データを消去することなく持ち越すことが可能となる。これによって、故障への対処や学習値の消失による制御の遅れを抑制できる。
なお、本発明は上述した実施形態に限定されるものではなく、要旨を逸脱しない範囲で種々変形して実施可能である。
<変形例1>
上記構成(1)について、各ブロックのデータの堅固性向上のため冗長化する構成を採用しても良い。図11は、冗長化しない場合のEEPROM35のブロック構成を示しており、図12は、冗長化した場合のEEPROM35のブロック構成を示している。図11と図12を対比すれば明らかなように、冗長化した場合には、各ブロックBlock0(base)とBlock0(mirror)、Block1(base)とBlock1(mirror)、Block2(base)とBlock2(mirror)、…が一対ずつ配置される。
この場合には、フラッシュメモリ34のソフトウェア領域に格納する制御情報にて冗長化の有無を設定し(不変)、EEPROM35に格納されるブロック長から冗長化した分のブロックの格納先アドレスを自動的に計算できる構成とすればよい。
<変形例2>
上記構成(1)について、各ブロックのEEPROM35の劣化の緩和のため、書き込み毎に格納先アドレスを移動する多バンク構成にしてもよい。図13は、各ブロックBlock0、Block1、Block2、…がそれぞれ3つのバンクで構成された例を示しており、Block0(bank0),Block0(bank1),Block0(bank2),Block1(bank0),Block1(bank1),Block1(bank2),Block2(bank0),Block2(bank1),Block2(bank2),…が配置されている。
この場合には、EEPROM35とフラッシュメモリ34の各ブロック情報に「バンク数」のデータを追加し、各バンクの格納先アドレスは、EEPROM35に格納されるブロック長から自動的に計算できる構成とする。また、最新のバンクを識別するためのロジックも追加する(シーケンス番号など)。
<変形例3>
上記構成(1)について、変形例1と変形例2を組み合わせた構成にしてもよい。図14は、各ブロックBlock0、Block1、Block2、…がそれぞれ3つのバンクで構成され、且つ冗長化した例を示しておりBlock0(bank0)(base),Block0(bank1)(base),Block0(bank2)(base),Block0(bank0)(mirror),Block0(bank1)(mirror),Block0(bank2)(mirror),Block1(bank0)(base),Block1(bank1)(base),Block1(bank2)(base),Block1(bank0)(mirror),Block1(bank1)(mirror),Block1(bank2)(mirror),Block2(bank0)(base),Block2(bank1)(base),Block2(bank2)(base),Block2(bank0)(mirror),Block2(bank1)(mirror),Block2(bank2)(mirror),…が配置されている。
<変形例4>
EEPROM35に格納する上記構成(3)のデータは、図15に示すように検証用データ(CRCなど)を終端(終端ブロックの後)に持つ構成を採用することもできる。
検証用データを持つ構成の場合、データ故障を検出した際はEEPROM35を初期状態(格納データ無し)として扱う。
<変形例5>
上記変形例4の構成を採用する場合、図16に示すように上記構成(3)のデータを冗長化する構成にしてもよい。
冗長化する構成の場合、どちらか一方が正常であれば正常側を採用し、両方とも異常の場合のみEEPROM35を初期状態(格納データ無し)として扱う。また、どちらか一方が異常の場合は、正常側のデータを異常側へ書き直す。
<変形例6>
上記構成(3)の各データは、読み出し時にデータの正当性を検証する構成にすることもできる。
検証は、例えば格納先のEEPROM35のアドレスが正常範囲であるかどうかなどについて実行する。
<変形例7>
上記図9に示したステップS7,S8の処理において、ブロック長更新時の処理をソフトウェア領域に格納される制御情報に設定する構成にしてもよい。この場合、ブロック長更新時に初期値格納先アドレスからブロックの全領域分を転送するか、拡張部分のみ更新するかを選択できる。
上記制御情報の構成例としては、下記のようなものが考えられる。
Bit 0:ブロック検証有効フラグ(1:検証有効、0:検証無効)
Bit 1:ブロック初期値選択フラグ(1:ブロック毎の初期値を設定、0:全領域0を設定)
Bit 2:ブロック長更新時初期化選択フラグ(1:全領域初期化、0:拡張分のみ初期化)
Bit 3:ブロック冗長化有効フラグ(1:冗長化あり、0:冗長化無し)
次に、ソフトウェアアップデートにおけるEEPROM35の割り当ての変更例について説明する。ここでは、システムの変更内容として、システムから機能Aを削除して、機能Bを追加する場合を例に取る。機能Aと機能Bはそれぞれ異なる学習データを持ち、不揮発性メモリへ記憶する必要があるものとする。
図17に示すように、変更前にはブロック数が3であり、ブロック0に診断情報、ブロック1にシステム動作履歴情報、ブロック2に機能Aの学習データが書き込まれているものとする。変更後には、ソフトウェアのアップデートに伴い、診断情報のブロック0を拡張している。ここでは、ブロック長が256bytesから320bytesになっている。ブロック1は変更がない。機能Aの削除に伴い、機能A学習データのブロック2を縮小する。ブロックの削除はできないため、ブロック長を64bytesから0bytesに設定している。更に、機能Bの追加に伴い、機能Bの学習データのブロック3を追加して、ブロック数が4に増加している。本例では、ブロック長を96bytesに設定している。
図18は、図17に示した各ブロックの制御情報の設定を纏めて示している。ブロック検証有効フラグ(Bit0)は、診断情報(ブロック0)、システム動作履歴情報(ブロック1)、機能A学習データ(ブロック2)、機能B学習データ(ブロック3)の何れも1であり、検証有効である。ブロック初期値選択フラグ(Bit1)は、ブロック0〜3の全てが1であり、ブロック毎の初期値を設定している。ブロック長更新時初期化選択フラグ(Bit2)は、診断情報(ブロック0)が1で全領域初期化である。これによって、アップデート時に、ブロック内のデータ構成を変更可としている。また、システム動作履歴情報(ブロック1)は0であり、拡張分のみ初期化する。情報が追加された場合も既存データは保持する。機能A学習データ(ブロック2)と機能B学習データ(ブロック3)は共に1であり、学習値の整合のため、更新時は全初期化する。ブロック冗長化有効フラグ(Bit3)は、ブロック0〜3の全てが1であり、冗長化ありになっている。
なお、上述した実施形態と変形例では、ECMを例に取って説明したが、プログラムやデータがリプログラミングされる電子制御装置一般に適用できるのは勿論である。
また、ECMが燃料噴射弁、VTC機構及び点火モジュールなどを制御する例について説明したが、車両に搭載された各種の機器、例えば変速機、電動ブレーキシステム、ABS(Antilock Brake System)、及びブラシレスモータなどを制御する電子制御装置にも同様に適用できる。
10…車両、20…エンジン、30…ECM(車両用電子制御装置)、21…センサ、22…アクチュエータ、31…プロセッサ、32…RAM、33…ROM、34…フラッシュメモリ、35…EEPROM(記憶装置)、37…入出力インターフェース、38…外部通信インターフェース、39…バス、40…ネットワークケーブル、50…リプログラミングツール、60…外部ツール

Claims (3)

  1. 外部から書き換え可能に設定され、車両の動作中に生じたデータを必要に応じて記憶する不揮発性記憶装置を備えた車両用電子制御装置であって、
    前記不揮発性記憶装置に、車両の制御に使用する複数のプログラム間で共通する前記データを予め定められたブロック構成で記憶し、前記プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに変換して再配置する、ことを特徴とする車両用電子制御装置。
  2. データを記憶するブロックの順序は不変とし、ブロックサイズのみ変更する、ことを特徴とする請求項1に記載の車両用電子制御装置。
  3. 前記書き換え後のプログラムで追加されたブロックには、該当データの初期値を記憶する、ことを特徴とする請求項1又は2に記載の車両用電子制御装置。
JP2019022401A 2019-02-12 2019-02-12 車両用電子制御装置 Pending JP2020129325A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019022401A JP2020129325A (ja) 2019-02-12 2019-02-12 車両用電子制御装置
JP2022181895A JP2023010802A (ja) 2019-02-12 2022-11-14 車両用電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019022401A JP2020129325A (ja) 2019-02-12 2019-02-12 車両用電子制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022181895A Division JP2023010802A (ja) 2019-02-12 2022-11-14 車両用電子制御装置

Publications (1)

Publication Number Publication Date
JP2020129325A true JP2020129325A (ja) 2020-08-27

Family

ID=72174613

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019022401A Pending JP2020129325A (ja) 2019-02-12 2019-02-12 車両用電子制御装置
JP2022181895A Pending JP2023010802A (ja) 2019-02-12 2022-11-14 車両用電子制御装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022181895A Pending JP2023010802A (ja) 2019-02-12 2022-11-14 車両用電子制御装置

Country Status (1)

Country Link
JP (2) JP2020129325A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7484606B2 (ja) 2020-09-17 2024-05-16 トヨタ自動車株式会社 車載機器、ソフトウェア更新方法、ソフトウェア更新プログラム、および、車両

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259420A (ja) * 1999-03-05 2000-09-22 Denso Corp 電子制御装置用の学習値更新装置
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2005338955A (ja) * 2004-05-24 2005-12-08 Denso Corp 電子制御装置
JP2006063939A (ja) * 2004-08-30 2006-03-09 Honda Motor Co Ltd プログラム書き換え可能な電子制御装置
JP2011150617A (ja) * 2010-01-25 2011-08-04 Mitsubishi Electric Corp 電子制御装置
JP2016103155A (ja) * 2014-11-28 2016-06-02 日立オートモティブシステムズ株式会社 リプログラミングシステム
JP2019008693A (ja) * 2017-06-28 2019-01-17 日立オートモティブシステムズ株式会社 自動車用制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259420A (ja) * 1999-03-05 2000-09-22 Denso Corp 電子制御装置用の学習値更新装置
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2005338955A (ja) * 2004-05-24 2005-12-08 Denso Corp 電子制御装置
JP2006063939A (ja) * 2004-08-30 2006-03-09 Honda Motor Co Ltd プログラム書き換え可能な電子制御装置
JP2011150617A (ja) * 2010-01-25 2011-08-04 Mitsubishi Electric Corp 電子制御装置
JP2016103155A (ja) * 2014-11-28 2016-06-02 日立オートモティブシステムズ株式会社 リプログラミングシステム
JP2019008693A (ja) * 2017-06-28 2019-01-17 日立オートモティブシステムズ株式会社 自動車用制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7484606B2 (ja) 2020-09-17 2024-05-16 トヨタ自動車株式会社 車載機器、ソフトウェア更新方法、ソフトウェア更新プログラム、および、車両

Also Published As

Publication number Publication date
JP2023010802A (ja) 2023-01-20

Similar Documents

Publication Publication Date Title
US7472331B2 (en) Memory systems including defective block management and related methods
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
JP4654750B2 (ja) 自動車用制御システム
JP2007126024A (ja) 車両用の電子制御装置
JP2002082841A (ja) 電子制御装置の制御データ記憶装置
US10353584B2 (en) Data storage device and method for rewriting parameters thereof
JP2008204222A (ja) 不揮発性メモリシステム
US9792070B2 (en) Data storage device, method of storing data, and on-vehicle control apparatus
JP5660521B2 (ja) 不揮発性半導体記憶装置およびメモリ管理方法
JP7042096B2 (ja) 車両用電子制御装置
JP2020129325A (ja) 車両用電子制御装置
JP2009042850A (ja) 車両の制御装置および車両制御用プログラムの更新装置
US11169828B2 (en) Electronic control unit and method for verifying control program
JP5543274B2 (ja) 自動車用電子制御装置及び自動車用電子制御装置におけるデータ書き込み方法
JP4844214B2 (ja) 電子制御システム
JP5129791B2 (ja) 車両用制御装置
JP2001242917A (ja) 車両内の駆動シーケンスの制御方法及びその装置,メモリ手段
US20050034034A1 (en) Control device with rewriteable control data
JP5180726B2 (ja) 記憶装置およびデータ書き込み制御方法
JPH0793006A (ja) 車両用電子制御装置
JP2007066326A (ja) 記憶装置、データ処理装置並びにデータ処理方法
JP3623481B2 (ja) 不揮発性メモリの書き換えを制御する車両制御装置
JP4580724B2 (ja) 不揮発性メモリの制御方法
JP6317653B2 (ja) 自動車用電子制御装置及びデータ記憶方法
JP2008257415A (ja) プログラム書き込み機能を有するコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230307