JP2020129325A - 車両用電子制御装置 - Google Patents
車両用電子制御装置 Download PDFInfo
- 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
Links
Abstract
Description
図1は、本発明の実施形態に係る車両用電子制御装置の概略構成を示している。車両10に搭載されたエンジン(内燃機関)20には、各種のセンサ21が設けられており、これらセンサ21で検出された信号がECM30に入力される。センサ21は、例えば吸入空気量センサ、クランク角センサ、アクセル開度センサ、水温センサ、カム角センサ、空燃比センサ、及び油温センサなどである。また、ECM30には、エンジン20の運転及び停止のメインスイッチであるイグニッションスイッチ(図示せず)からの信号が入力されて制御される。
なお、ECM30とリプログラミングツール50とは、ネットワークケーブル40とコネクタ38a,52aを使用した有線接続に限らず、無線送受信機を使用した無線通信によって相互に接続されるように構成しても良い。
このストレージ53には、ECM30のEEPROM35を書き換えるための更新プログラムや更新データが格納されている。これらの更新プログラムや更新データは、例えばエンジン20に搭載あるいは設置された各種機器を制御する制御プログラム、その制御プログラムで使用される定数やマップなどの制御パラメータなどを含む。
そのために、リプログラミングの対象となる不揮発性メモリ(フラッシュメモリ34及びEEPROM35)は、下記(1)〜(5)のように構成している。
(2)上記(1)のブロック長は用途によりサイズを可変とする。
(3)EEPROM35の固定のアドレスに、ブロック数と各ブロックの格納先アドレス及びブロック長を配置する。
(4)フラッシュメモリ34におけるソフトウェアを配置する領域に、ブロック数と各ブロックの不揮発性メモリの格納先アドレス、転送先RAMアドレス、ブロック長、初期値、及び制御情報を配置する。
(5)上記(3)と(4)の情報はブロックID(ブロック0、ブロック1、ブロック2)毎に対応している。
このようにすることで、EEPROM35にデータを記憶する電子制御装置において、ソフトウェアの書き換え(アップデート)時に可能な限り書き換え前の記憶データを消去することなく持ち越すことが可能となる。
図4及び図5はそれぞれ、リプログラミングの対象となるEEPROM35のブロック構成例を示している。また、図6は、フラッシュメモリ34におけるソフトウェア領域の構成例を示している。
図4に示すように、EEPROM35にソフトウェアの用途毎に種類の異なる複数のブロックBlock0、Block1、Block2、…を配置する。このブロック数は可変であり、各ブロックBlock0、Block1、Block2、…は消去単位の整数倍の記憶容量に設定されている。また、各ブロックBlock0、Block1、Block2、…のブロック長は、用途に応じてサイズが可変となっている。
このように、EEPROM35のブロック構成とフラッシュメモリ34におけるソフトウェア領域の構成は対応した構成になっている。
車両用電子制御装置の起動時に、まず処理対象のブロックをBlock0に設定し(ステップS1)、EEPROM35の固定アドレスに格納されているブロック数分終了したか否かを判定する(ステップS2)。そして、終了していないと判定されると、各ブロックに対してステップS3〜S10の処理をブロック数分繰り返す。
この際、EEPROM35に格納されるブロック長がフラッシュメモリ34のソフトウェア領域に格納されるブロック長よりも小さい場合、不足分のデータはソフトウェア領域に格納される初期値格納先アドレスから転送する(オフセット分を考慮して)。一方、EEPROM35に格納されるブロック長がソフトウェア領域に格納されるブロック長よりも大きい場合、EEPROM35に格納される余分なデータは破棄する。
そして、ステップS2でブロック数分終了と判定された場合、及びステップS3でフラッシュメモリ34のソフトウェア領域にブロック情報が格納されていない、と判定された場合には、ステップS11に移動する。
これらのステップS11〜S13は、リプログラミングによってブロックアドレスが増加している場合の処理である。フラッシュメモリ34のソフトウェア領域に格納されるブロック数がEEPROM35に格納されるブロックよりも多い場合には、不足分のブロックについてはフラッシュメモリ34のソフトウェア領域に格納される初期値格納先アドレスから転送先アドレスへデータを転送する。
従って、本発明によれば、プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに再配置するので、不揮発性メモリにデータを記憶する電子制御装置において、ソフトウェアの書き換え時に可能な限り書き換え前の記憶データを消去することなく持ち越すことが可能となる。これによって、故障への対処や学習値の消失による制御の遅れを抑制できる。
<変形例1>
上記構成(1)について、各ブロックのデータの堅固性向上のため冗長化する構成を採用しても良い。図11は、冗長化しない場合のEEPROM35のブロック構成を示しており、図12は、冗長化した場合のEEPROM35のブロック構成を示している。図11と図12を対比すれば明らかなように、冗長化した場合には、各ブロックBlock0(base)とBlock0(mirror)、Block1(base)とBlock1(mirror)、Block2(base)とBlock2(mirror)、…が一対ずつ配置される。
この場合には、フラッシュメモリ34のソフトウェア領域に格納する制御情報にて冗長化の有無を設定し(不変)、EEPROM35に格納されるブロック長から冗長化した分のブロックの格納先アドレスを自動的に計算できる構成とすればよい。
上記構成(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に格納されるブロック長から自動的に計算できる構成とする。また、最新のバンクを識別するためのロジックも追加する(シーケンス番号など)。
上記構成(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),…が配置されている。
EEPROM35に格納する上記構成(3)のデータは、図15に示すように検証用データ(CRCなど)を終端(終端ブロックの後)に持つ構成を採用することもできる。
検証用データを持つ構成の場合、データ故障を検出した際はEEPROM35を初期状態(格納データ無し)として扱う。
上記変形例4の構成を採用する場合、図16に示すように上記構成(3)のデータを冗長化する構成にしてもよい。
冗長化する構成の場合、どちらか一方が正常であれば正常側を採用し、両方とも異常の場合のみEEPROM35を初期状態(格納データ無し)として扱う。また、どちらか一方が異常の場合は、正常側のデータを異常側へ書き直す。
上記構成(3)の各データは、読み出し時にデータの正当性を検証する構成にすることもできる。
検証は、例えば格納先のEEPROM35のアドレスが正常範囲であるかどうかなどについて実行する。
上記図9に示したステップS7,S8の処理において、ブロック長更新時の処理をソフトウェア領域に格納される制御情報に設定する構成にしてもよい。この場合、ブロック長更新時に初期値格納先アドレスからブロックの全領域分を転送するか、拡張部分のみ更新するかを選択できる。
上記制御情報の構成例としては、下記のようなものが考えられる。
Bit 0:ブロック検証有効フラグ(1:検証有効、0:検証無効)
Bit 1:ブロック初期値選択フラグ(1:ブロック毎の初期値を設定、0:全領域0を設定)
Bit 2:ブロック長更新時初期化選択フラグ(1:全領域初期化、0:拡張分のみ初期化)
Bit 3:ブロック冗長化有効フラグ(1:冗長化あり、0:冗長化無し)
図17に示すように、変更前にはブロック数が3であり、ブロック0に診断情報、ブロック1にシステム動作履歴情報、ブロック2に機能Aの学習データが書き込まれているものとする。変更後には、ソフトウェアのアップデートに伴い、診断情報のブロック0を拡張している。ここでは、ブロック長が256bytesから320bytesになっている。ブロック1は変更がない。機能Aの削除に伴い、機能A学習データのブロック2を縮小する。ブロックの削除はできないため、ブロック長を64bytesから0bytesに設定している。更に、機能Bの追加に伴い、機能Bの学習データのブロック3を追加して、ブロック数が4に増加している。本例では、ブロック長を96bytesに設定している。
また、ECMが燃料噴射弁、VTC機構及び点火モジュールなどを制御する例について説明したが、車両に搭載された各種の機器、例えば変速機、電動ブレーキシステム、ABS(Antilock Brake System)、及びブラシレスモータなどを制御する電子制御装置にも同様に適用できる。
Claims (3)
- 外部から書き換え可能に設定され、車両の動作中に生じたデータを必要に応じて記憶する不揮発性記憶装置を備えた車両用電子制御装置であって、
前記不揮発性記憶装置に、車両の制御に使用する複数のプログラム間で共通する前記データを予め定められたブロック構成で記憶し、前記プログラムの書き換えでブロックサイズが変化するときは、書き換え前のプログラムによって記憶されたデータを、書き換え後のプログラムに対応するブロックサイズに変換して再配置する、ことを特徴とする車両用電子制御装置。 - データを記憶するブロックの順序は不変とし、ブロックサイズのみ変更する、ことを特徴とする請求項1に記載の車両用電子制御装置。
- 前記書き換え後のプログラムで追加されたブロックには、該当データの初期値を記憶する、ことを特徴とする請求項1又は2に記載の車両用電子制御装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7484606B2 (ja) | 2020-09-17 | 2024-05-16 | トヨタ自動車株式会社 | 車載機器、ソフトウェア更新方法、ソフトウェア更新プログラム、および、車両 |
Citations (7)
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 | 日立オートモティブシステムズ株式会社 | 自動車用制御装置 |
-
2019
- 2019-02-12 JP JP2019022401A patent/JP2020129325A/ja active Pending
-
2022
- 2022-11-14 JP JP2022181895A patent/JP2023010802A/ja active Pending
Patent Citations (7)
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)
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 |