JP5803847B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP5803847B2
JP5803847B2 JP2012185175A JP2012185175A JP5803847B2 JP 5803847 B2 JP5803847 B2 JP 5803847B2 JP 2012185175 A JP2012185175 A JP 2012185175A JP 2012185175 A JP2012185175 A JP 2012185175A JP 5803847 B2 JP5803847 B2 JP 5803847B2
Authority
JP
Japan
Prior art keywords
storage area
stored
data
memory
storage unit
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
JP2012185175A
Other languages
English (en)
Other versions
JP2014044494A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2012185175A priority Critical patent/JP5803847B2/ja
Publication of JP2014044494A publication Critical patent/JP2014044494A/ja
Application granted granted Critical
Publication of JP5803847B2 publication Critical patent/JP5803847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、記憶内容の書き換えが可能な不揮発性メモリを備える電子制御装置に関する。
車両を制御する電子制御装置では、車両を制御する過程で求めた学習値を、記憶内容の書き換えが可能な不揮発性メモリに書き込むことにより、電子制御装置の電源オフで学習値が消去されるのを防止し、次回の電源オン時に、この学習値を利用することができるように構成されている。
ところで、学習値を不揮発性メモリに書き込んでいる最中に例えばバッテリ電源が外れ、不揮発性メモリにデータを正常に書き込むことができない事態が発生することが想定される。このため、電子制御装置の中には、不揮発性メモリにデータが正常に書き込まれなかった異常を検出するための処理を実行するように構成されたものがある(例えば、特許文献1を参照)。
また、学習値を記憶する記憶領域を複数設け、直近の電源オフ時の学習値だけでなく、それ以前における電源オフ時の学習値を記憶し、直近の電源オフ時における不揮発性メモリへのデータ書き込みで異常が発生した場合に、それ以前の学習値を用いるように構成された電子制御装置が知られている。これにより、不揮発性メモリへのデータ書き込みでの失敗が1回発生しただけで、学習値を初期化しなくてはならないという事態の発生を抑制することができる。
特開平9−161493号公報
しかし、学習値を記憶する記憶領域が2つ設けられており、電源オフ時における学習値の記憶を、異常が発生した記憶領域に記憶するように構成されている電子制御装置では、以下に説明する問題が発生する可能性がある。
まず、電源オフ時において学習値を記憶するときに、2つの記憶領域のうちの一方の記憶領域(以下、第1記憶領域という)で異常が発生していると、この第1記憶領域に学習値を記憶する。その後、電源オン時に、第1記憶領域に異常が発生していることを確認すると、他方の記憶領域(以下、第2記憶領域という)から学習値を読み出すことになる。
そして、次の電源オフ時において学習値を記憶するときに、第1記憶領域で異常が発生していると、第1記憶領域に学習値を記憶する。その後、次の電源オン時に、第1記憶領域に異常が発生していることを確認すると、第2記憶領域から学習値を読み出すことになる。
このように、第1記憶領域での異常が継続すると、第2記憶領域において学習値の更新が行われず、学習値の更新が行われない第2記憶領域の学習値を電源オン時に読み出して使用する状況が継続することになる。
本発明は、こうした問題に鑑みてなされたものであり、書き換え可能な不揮発性メモリから読み出して使用するデータが更新されない異常を検出することを可能にする技術を提供することを目的とする。
上記目的を達成するためになされた請求項1に記載の電子制御装置は、所定の制御対象を制御するための制御データを記憶する第1記憶領域が設けられ、記憶内容の書き換えが可能なメモリである第1メモリと、第1記憶領域に記憶されていた制御データを記憶するための第2記憶領域が複数設けられ、記憶内容の書き換えが可能な不揮発性メモリである第2メモリとを備える。
そして第1記憶手段が、当該電子制御装置の電源オフ時に、第2メモリにおける複数の第2記憶領域の中から1つの第2記憶領域を選択し、選択した第2記憶領域に、第1メモリの第1記憶領域に記憶されている制御データを記憶する。
また第2記憶手段が、第1記憶手段が制御データを第2メモリに記憶する場合に、制御データを第2メモリに記憶したタイミングの順序を判別可能な情報である判別情報を、記憶する制御データと対応付けて第2メモリに記憶する。
次に異常判断手段が、当該電子制御装置の電源オン時に、第2メモリにおける複数の第2記憶領域に記憶されているデータに異常が発生しているか否かを判断する。
そして第5記憶手段が、当該電子制御装置の電源オン時に、異常判断手段による判断結果と、判別情報とに基づいて、データに異常が発生していない第2記憶領域の中から、制御データを第2メモリに記憶したタイミングが最も遅い第2記憶領域を選択し、選択した第2記憶領域に記憶されている制御データを、第1メモリの第1記憶領域に記憶する。
これにより、第2メモリにおける複数の第2記憶領域のそれぞれに、記憶されたタイミングが異なる制御データが記憶される。そして、第2記憶領域に記憶された制御データには、記憶したタイミングの順序を判別可能な情報である判別情報が対応付けられており、当該電子制御装置の電源オン時に、データに異常が発生していない第2記憶領域の中から、制御データを第2メモリに記憶したタイミングが最も遅い第2記憶領域に記憶されている制御データを、第1メモリの第1記憶領域に記憶する。
このため、請求項1に記載の電子制御装置は、第2記憶領域に異常が発生していない場合には、直近の電源オフ時に第2メモリに記憶された制御データを利用して、所定の制御対象を制御することができる。一方、直近の電源オフ時に第2メモリに記憶された制御データに異常が発生した場合であっても、直近の電源オフの1回前の電源オフ時に第2メモリに記憶された制御データを利用して、所定の制御対象を制御することができる。したがって、直近の電源オフ時に第2メモリに記憶された制御データに異常が発生すると、その後の電源オン時に制御データを初期化しなくてはならないという事態の発生を抑制することができる。
さらに、請求項1に記載の電子制御装置では、第3記憶手段が、第1記憶手段が制御データを第2メモリに記憶する場合に、予め設定された設定条件に基づいて決定された第1設定情報を、記憶する制御データと対応付けて第2メモリに記憶する。
また第4記憶手段が、第1記憶手段が制御データを第2メモリに記憶する場合に、第1設定情報との間で予め設定された関係である設定情報間関係を有するように第2設定情報を決定し、決定した第2設定情報を第2メモリに記憶する。
そして関係判断手段が、第5記憶手段が第1記憶領域に記憶した制御データに対応付けられている第1設定情報と、第2メモリに記憶されている第2設定情報との間で、設定情報間関係を有しているか否かを判断する。
これにより、第1設定情報と第2設定情報との間で設定情報間関係を有している場合には、当該電子制御装置の電源オン時に第1記憶領域に記憶した制御データは、直近の電源オフ時に第2メモリに記憶された制御データであり、設定情報間関係を有していない場合には、直近の電源オフ時に第2メモリに記憶された制御データではないと判断することができる。
したがって、請求項1に記載の電子制御装置によれば、直近の電源オフ時に第2メモリに記憶された制御データを次の電源オン時に利用できない異常を検出することが可能となる。
ECU1の構成を示すブロック図である。 全閉位置学習処理を示すフローチャートである。 RAMコピー処理を示すフローチャートである。 データ書戻処理を示すフローチャートである。 データが正常に記憶されている場合のECU1の動作を示すタイミングチャートである。 データの記憶で異常が発生する場合のECU1の動作を示すタイミングチャートである。
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置(以下、ECUという)1は、車両に搭載され、図1に示すように、車両のエンジンEGの制御を行う。
ECU1は、CPU(中央演算装置)2、ROM3、RAM4、フラッシュROM5および入出力回路6と、これらを相互に接続するバス7とを備える。
ROM3は、データ書き換え不能な不揮発性メモリであり、CPU2が実行するプログラムと、プログラムの実行時に参照されるデータを記憶する。
RAM4は、揮発性メモリであり、CPU2の演算結果等を一時的に記憶する。
フラッシュROM5は、データ書き換え可能な不揮発性メモリであり、ECU1のシャットダウン後でも記憶内容を保持する必要があるデータを記憶する。
CPU2は、エンジンEGを制御するための情報として、吸気管圧力センサ、エンジン回転数センサ、エンジン水温センサ、排気系の酸素センサ(空燃比センサ)、車速センサ、アクセルペダルセンサASおよびイグニッションスイッチ等から各種信号を入出力回路6を介して入力する。なお、図1に示すエンジンEGは、エンジン本体を含め、吸気系、排気系等、エンジンに関連する系を総称して示すものであって、本実施形態では詳細な説明を省略する。
そしてCPU2は、ROM3に記憶されたプログラムに基づいて各種処理を実行する。またCPU2は、入出力回路6を介して入力される各種信号に基づいて制御演算を行い、その演算結果に基づき、点火装置およびインジェクタ等の電気負荷へ入出力回路6を介して駆動信号を出力することにより、エンジンEGの制御に関係する電気負荷を制御する。
例えばCPU2は、インジェクタの開弁タイミングおよび開弁時間を演算し、その演算結果に基づいて、インジェクタを駆動するための駆動信号を出力することにより、エンジンEGへの燃料噴射を制御する。またCPU2は、アクセルペダル開度を示す信号をアクセルペダルセンサASから入力した後に、アクセルペダル開度に基づいて目標スロットル開度を設定し、スロットルモータを駆動するための駆動信号を出力することにより、スロットルバルブを制御する。
さらにRAM4内には、第1データ記憶領域41、第2データ記憶領域42および異常カウンタ43が設けられる。
第1データ記憶領域41には、第1記憶部411、第2記憶部412および第3記憶部413が設けられている。そして第1記憶部411には、アクセルペダル全閉位置の学習値(以下、全閉位置学習値ともいう)が記憶される。第2記憶部412には、第1照合情報(詳細は後述する)が記憶される。第3記憶部413には、データが更新された回数(以下、データ更新回数という)が記憶される。
第2データ記憶領域42には、第2照合情報(詳細は後述する)が記憶される。
異常カウンタ43は、異常(詳細は後述する)の発生回数を示す。
さらにフラッシュROM5内には、第1データ記憶領域51、第2データ記憶領域52および第3データ記憶領域53が設けられる。
第1データ記憶領域51には、第1記憶部511、第2記憶部512、第3記憶部513および第4記憶部514が設けられている。また第2データ記憶領域52には、第1記憶部521、第2記憶部522、第3記憶部523および第4記憶部524が設けられている。
そして第1記憶部511,521には、全閉位置学習値が記憶される。第2記憶部512,522には、第1照合情報が記憶される。第3記憶部513,523には、データ更新回数が記憶される。第4記憶部514,524には、チェックサム値が記憶される。
なお、第4記憶部514(524)に記憶されるチェックサム値は、第1記憶部511(521)、第2記憶部512(522)、第3記憶部513(523)および第4記憶部514(524)の加算値が例えば$FFとなるように設定される。
第3データ記憶領域53には、第1記憶部531および第2記憶部532が設けられている。そして第1記憶部531には、第2照合情報が記憶される。第2記憶部532には、異常カウンタ43の値が記憶される。
このように構成されたECU1において、CPU2は、全閉位置学習処理を実行する。ここで、CPU2が実行する全閉位置学習処理の手順を図2を用いて説明する。この全閉位置学習処理は、ECU1の動作中に実行される処理である。
この全閉位置学習処理が実行されると、CPU2は、まずS10にて、フラッシュROM5に記憶されているデータをRAM4にコピーするRAMコピー処理(詳細は後述する)を実行する。
その後S20にて、アクセルペダル全閉位置の学習値(全閉位置学習値)を更新し、更新した値を、RAM4内における第1データ記憶領域41の第1記憶部411に記憶する。
そしてS30にて、異常カウンタ43の値(以下、異常カウンタ値という)が予め設定された異常確定判定値(本実施形態では例えば3)以上であるか否かを判断する。ここで、異常カウンタ値が異常確定判定値未満である場合には(S30:NO)、S50に移行する。一方、異常カウンタ値が異常確定判定値以上である場合には(S30:YES)、S40にて、異常が確定した時に実行する処理として予め設定された処理を実行し、S50に移行する。本実施形態では、フラッシュROM5へデータを書き込むときに異常が発生した旨を示す情報(例えばダイアグコード)をフラッシュROM5に記憶するとともに、フラッシュROM5へデータを書き込むときに異常が発生した旨を車両の運転者に報知する処理を実行する。
そしてS50に移行すると、ECU1をシャットダウンさせる要求(以下、シャットダウン要求という)が発生したか否かを判断する。ここで、シャットダウン要求が発生していない場合には(S50:NO)、S20に移行して上述の処理を繰り返す。一方、シャットダウン要求が発生した場合には(S50:YES)、S60にて、RAM4の第1データ記憶領域41に記憶されているデータをフラッシュROM5に書き戻すデータ書戻処理(詳細は後述する)を実行し、その後、全閉位置学習処理を終了する。
次に、S10で実行されるRAMコピー処理の手順を図3を用いて説明する。
RAMコピー処理が実行されると、CPU2は、まずS110にて、フラッシュROM5の第1データ記憶領域51に記憶されているデータは正常であるか否かを判断する。なおS110では、第1記憶部511、第2記憶部512、第3記憶部513および第4記憶部514の加算値が$FFである場合に正常であり、$FFでない場合には異常であると判断する。
ここで、第1データ記憶領域51に記憶されているデータが異常である場合には(S110:NO)、S120にて、フラッシュROM5の第2データ記憶領域52に記憶されているデータは正常であるか否かを判断する。なおS120では、第1記憶部521、第2記憶部522、第3記憶部523および第4記憶部524の加算値が$FFである場合に正常であり、$FFでない場合には異常であると判断する。
ここで、第2データ記憶領域52に記憶されているデータが異常である場合には(S120:NO)、S130にて、第1データ記憶領域41に初期値を記憶し、S180に移行する。具体的には、第1データ記憶領域41の第1記憶部411に、全閉位置学習値の初期値として予め設定された値を記憶する。また第2記憶部412に、第1照合情報の初期値を記憶する。また第3記憶部413に、データ更新回数の初期値を記憶する。
一方、第2データ記憶領域52に記憶されているデータが正常である場合には(S120:YES)、S140にて、第2データ記憶領域52に記憶されているデータを第1データ記憶領域41に記憶し、S180に移行する。具体的には、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523に記憶されているデータをそれぞれ、第1データ記憶領域41の第1記憶部411、第2記憶部412および第3記憶部413に記憶する。
またS110にて、第1データ記憶領域51に記憶されているデータが正常である場合には(S110:YES)、S150にて、フラッシュROM5の第2データ記憶領域52に記憶されているデータは正常であるか否かを判断する。ここで、第2データ記憶領域52に記憶されているデータが正常である場合には(S150:YES)、S160にて、第1データ記憶領域51の第3記憶部513に記憶されているデータ更新回数(以下、第1データ更新回数という)が、第2データ記憶領域52の第3記憶部523に記憶されているデータ更新回数(以下、第2データ更新回数という)よりも小さいか否かを判断する。
ここで、第1データ更新回数が第2データ更新回数よりも小さい場合には(S160:YES)、S140に移行して、上述の処理を行う。一方、第1データ更新回数が第2データ更新回数以上である場合には(S160:NO)、S170に移行する。
またS150にて、第2データ記憶領域52に記憶されているデータが異常である場合には(S150:NO)、S170に移行する。
そしてS170に移行すると、第1データ記憶領域51に記憶されているデータを第1データ記憶領域41に記憶し、S180に移行する。具体的には、第1データ記憶領域51の第1記憶部511、第2記憶部512および第3記憶部513に記憶されているデータをそれぞれ、第1データ記憶領域41の第1記憶部411、第2記憶部412および第3記憶部413に記憶する。
そしてS180に移行すると、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報の値と、第3データ記憶領域53の第2記憶部532に記憶されている第2照合情報の値とが一致しているか否かを判断する。ここで、第1照合情報の値と第2照合情報の値とが一致していない場合には(S180:NO)、S190にて、異常カウンタ43をリセット(すなわち、異常カウンタ値を0に設定)し、RAMコピー処理を終了する。
一方、第1照合情報の値と第2照合情報の値とが一致している場合には(S180:YES)、S200にて、異常カウンタ43をインクリメント(1加算)して、RAMコピー処理を終了する。
次に、S60で実行されるデータ書戻処理の手順を図4を用いて説明する。
データ書戻処理が実行されると、CPU2は、まずS310にて、第2データ記憶領域42に、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報を記憶する。そしてS320にて、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報の値を1加算する。さらにS330にて、第1データ記憶領域41の第3記憶部413に記憶されているデータ更新回数を1加算する。
その後S340にて、フラッシュROM5の第1データ記憶領域51に記憶されているデータは正常であるか否かを判断する。ここで、第1データ記憶領域51に記憶されているデータが異常である場合には(S340:NO)、S370に移行する。
一方、第1データ記憶領域51に記憶されているデータが正常である場合には(S340:YES)、S350にて、フラッシュROM5の第2データ記憶領域52に記憶されているデータは正常であるか否かを判断する。ここで、第2データ記憶領域52に記憶されているデータが正常である場合には(S350:YES)、S360にて、第1データ記憶領域51の第3記憶部513に記憶されているデータ更新回数(第1データ更新回数)が、第2データ記憶領域52の第3記憶部523に記憶されているデータ更新回数(第2データ更新回数)よりも小さいか否かを判断する。
ここで、第1データ更新回数が第2データ更新回数よりも小さい場合には(S360:YES)、S370に移行する。一方、第1データ更新回数が第2データ更新回数以上である場合には(S360:NO)、S380に移行する。
またS350にて、第2データ記憶領域52に記憶されているデータが異常である場合には(S350:NO)、S380に移行する。
そしてS370に移行すると、第1データ記憶領域41に記憶されているデータを第1データ記憶領域51に記憶し、S390に移行する。具体的には、第1データ記憶領域41の第1記憶部411、第2記憶部412および第3記憶部413に記憶されているデータをそれぞれ、第1データ記憶領域51の第1記憶部511、第2記憶部512および第3記憶部513に記憶するとともに、第1記憶部411、第2記憶部412および第3記憶部413に記憶された値に基づいて算出されたチェックサム値を第1データ記憶領域51の第4記憶部514に記憶する。
またS380に移行すると、第1データ記憶領域41に記憶されているデータを第2データ記憶領域52に記憶し、S390に移行する。具体的には、第1データ記憶領域41の第1記憶部411、第2記憶部412および第3記憶部413に記憶されているデータをそれぞれ、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523に記憶するとともに、第1記憶部411、第2記憶部412および第3記憶部413に記憶された値に基づいて算出されたチェックサム値を第2データ記憶領域52の第4記憶部524に記憶する。
そしてS390に移行すると、第2データ記憶領域42に記憶されているデータを、第3データ記憶領域53の第1記憶部531に記憶する。その後S400にて、異常カウンタ43の値を、第3データ記憶領域53の第2記憶部532に記憶し、データ書戻処理を終了する。
次に、RAM4とフラッシュROM5に全閉位置学習値を記憶するときのECU1の動作を図5を用いて説明する。
なお図5は、データ記憶領域51,52に記憶されているデータに異常が発生していない場合におけるECU1の動作を示す。
まず、図5に示すように、フラッシュROM5内における第1データ記憶領域51の第1記憶部511には全閉位置学習値として「12」が記憶され、第2記憶部512には第1照合情報として「3」が記憶され、第3記憶部513にはデータ更新回数として「4」が記憶され、第4記憶部514にはチェックサム値が記憶されているとする(第1データ記憶領域51aを参照)。
また、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523にはそれぞれ、「25」、「2」および「3」が記憶され、第4記憶部524にはチェックサム値が記憶されているとする(第2データ記憶領域52aを参照)。
また、フラッシュROM5内における第3データ記憶領域53の第1記憶部531には第2照合情報として「2」が記憶され、第2記憶部532には異常カウンタ値として「0」が記憶されているとする(第3データ記憶領域53aを参照)。
そして、電源オンによりECU1が起動すると、第1データ記憶領域51および第2データ記憶領域52のうち、第1データ記憶領域51のデータが第1データ記憶領域41に記憶される。
これは、第1データ記憶領域51aおよび第2データ記憶領域52aに記憶されているデータが正常であるとチェックサム値に基づいて判断される(判断結果R01,R02を参照)とともに、第1データ記憶領域51aに記憶されているデータ更新回数が、第2データ記憶領域52aに記憶されているデータ更新回数よりも大きいためである。
これにより、RAM4内における第1データ記憶領域41の第1記憶部411には全閉位置学習値として「12」が記憶され、第2記憶部412には第1照合情報として「3」が記憶され、第3記憶部413にはデータ更新回数として「4」が記憶される(第1データ記憶領域41aを参照)。
なお、電源オンによりECU1が起動してから、電源オフによりECU1がシャットダウンするまでに、ECU1を搭載した車両でドライブが1回行われるとし、図5では、今回の電源オンで5回目のドライブが行われるとしている。
さらに、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報の値と、第3データ記憶領域53の第1記憶部531に記憶されている第2照合情報の値とが一致していないため、異常カウンタ43がリセットされる(すなわち、異常カウンタ値を0に設定される)。
その後、全閉位置学習値が更新されることにより、RAM4内における第1データ記憶領域41の第1記憶部411に全閉位置学習値として「16」が記憶されるとする(第1データ記憶領域41bを参照)。なお、第2記憶部412と第3記憶部413のデータの内容は変化しない。
そして、電源オフによりECU1がシャットダウンするときに、第1データ記憶領域41の第3記憶部413に記憶されているデータ更新回数が1加算されることにより、第3記憶部413にはデータ更新回数として「5」が記憶される(第1データ記憶領域41cを参照)。その後、第1データ記憶領域41のデータが第2データ記憶領域52に記憶される。
これは、第1データ記憶領域51aおよび第2データ記憶領域52aに記憶されているデータが正常であるとチェックサム値に基づいて判断される(判断結果R01,R02を参照)とともに、第1データ記憶領域51aに記憶されているデータ更新回数が、第2データ記憶領域52aに記憶されているデータ更新回数よりも大きいためである。
これにより、フラッシュROM5内における第1データ記憶領域51の第1記憶部511には全閉位置学習値として「12」が記憶され、第2記憶部512には第1照合情報として「3」が記憶され、第3記憶部513にはデータ更新回数として「4」が記憶され、第4記憶部514にはチェックサム値が記憶される(第1データ記憶領域51cを参照)。
また、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523にはそれぞれ、「16」、「4」および「5」が記憶され、第4記憶部524にはチェックサム値が記憶される(第2データ記憶領域52cを参照)。
また、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報が第3データ記憶領域53の第1記憶部531に記憶される。これにより、第3データ記憶領域53の第1記憶部531には第2照合情報として「3」が記憶され、また、第2記憶部532には異常カウンタ値として「0」が記憶される(第3データ記憶領域53cを参照)。
その後、電源オンによりECU1が起動すると、起動直後の第1データ記憶領域51、第2データ記憶領域52および第3データ記憶領域53には、前回の電源オフ時と同じデータが記憶されており(第1データ記憶領域51d、第2データ記憶領域52dおよび第3データ記憶領域53dを参照)、第1データ記憶領域51および第2データ記憶領域52のうち、第2データ記憶領域52のデータが第1データ記憶領域41に記憶される。
これは、第1データ記憶領域51dおよび第2データ記憶領域52dに記憶されているデータが正常であるとチェックサム値に基づいて判断される(判断結果R03,R04を参照)とともに、第2データ記憶領域52dに記憶されているデータ更新回数が、第1データ記憶領域51dに記憶されているデータ更新回数よりも大きいためである。
これにより、RAM4内における第1データ記憶領域41の第1記憶部411には全閉位置学習値として「16」が記憶され、第2記憶部412には第1照合情報として「4」が記憶され、第3記憶部413にはデータ更新回数として「5」が記憶される(第1データ記憶領域41dを参照)。
なお図5では、今回の電源オンで6回目のドライブが行われるとしている。
さらに、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報の値と、第3データ記憶領域53の第1記憶部531に記憶されている第2照合情報の値とが一致していないため、異常カウンタ43がリセットされる(すなわち、異常カウンタ値を0に設定される)。
その後、全閉位置学習値が更新されることにより、RAM4内における第1データ記憶領域41の第1記憶部411に全閉位置学習値として「22」が記憶されるとする(第1データ記憶領域41eを参照)。なお、第2記憶部412と第3記憶部413のデータの内容は変化しない。
そして、電源オフによりECU1がシャットダウンするときに、第1データ記憶領域41の第3記憶部413に記憶されているデータ更新回数が1加算されることにより、第3記憶部413にはデータ更新回数として「6」が記憶される(第1データ記憶領域41fを参照)。その後、第1データ記憶領域41のデータが第1データ記憶領域51に記憶される。
これは、第1データ記憶領域51dおよび第2データ記憶領域52dに記憶されているデータが正常であるとチェックサム値に基づいて判断される(判断結果R03,R04を参照)とともに、第2データ記憶領域52dに記憶されているデータ更新回数が、第1データ記憶領域51dに記憶されているデータ更新回数よりも大きいためである。
これにより、フラッシュROM5内における第1データ記憶領域51の第1記憶部511には全閉位置学習値として「22」が記憶され、第2記憶部512には第1照合情報として「5」が記憶され、第3記憶部513にはデータ更新回数として「6」が記憶され、第4記憶部514にはチェックサム値が記憶される(第1データ記憶領域51fを参照)。
また、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523にはそれぞれ、「16」、「4」および「5」が記憶され、第4記憶部524にはチェックサム値が記憶される(第2データ記憶領域52fを参照)。
また、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報が第3データ記憶領域53の第1記憶部531に記憶される。これにより、第3データ記憶領域53の第1記憶部531には第2照合情報として「4」が記憶され、また、第2記憶部532には異常カウンタ値として「0」が記憶される(第3データ記憶領域53fを参照)。
次に、データ記憶領域52に記憶されているデータに異常が発生した場合において、RAM4とフラッシュROM5に全閉位置学習値を記憶するときのECU1の動作を図6を用いて説明する。
図6に示すように、5回目のドライブにおけるECU1の動作は、図5と同一であるため、5回目のドライブでの説明を省略する。
そして、5回目のドライブの終了後に、6回目のドライブを開始するための電源オンによりECU1が起動すると、起動直後の第1データ記憶領域51、第2データ記憶領域52および第3データ記憶領域53には、前回の電源オフ時と同じデータが記憶されており(第1データ記憶領域51g、第2データ記憶領域52gおよび第3データ記憶領域53gを参照)、第1データ記憶領域51および第2データ記憶領域52のうち、第1データ記憶領域51のデータが第1データ記憶領域41に記憶される。
これは、第1データ記憶領域51gに記憶されているデータが正常であり、第2データ記憶領域52gに記憶されているデータが異常であるとチェックサム値に基づいて判断されるためである(判断結果R11,R12を参照)。
これにより、RAM4内における第1データ記憶領域41の第1記憶部411には全閉位置学習値として「12」が記憶され、第2記憶部412には第1照合情報として「3」が記憶され、第3記憶部413にはデータ更新回数として「4」が記憶される(第1データ記憶領域41dを参照)。
さらに、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報の値と、第3データ記憶領域53の第1記憶部531に記憶されている第2照合情報の値とが一致しているため、異常カウンタ43がインクリメント(1加算)される。これにより、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値を次の電源オン時に利用できない異常を検出することができる。
その後、全閉位置学習値が更新されることにより、RAM4内における第1データ記憶領域41の第1記憶部411に全閉位置学習値として「22」が記憶されるとする(第1データ記憶領域41hを参照)。なお、第2記憶部412と第3記憶部413のデータの内容は変化しない。
そして、電源オフによりECU1がシャットダウンするときに、第1データ記憶領域41の第3記憶部413に記憶されているデータ更新回数が1加算されることにより、第3記憶部413にはデータ更新回数として「5」が記憶される(第1データ記憶領域41iを参照)。その後、第1データ記憶領域41のデータが第2データ記憶領域52に記憶される。
これは、第1データ記憶領域51gに記憶されているデータが正常であり、第2データ記憶領域52gに記憶されているデータが異常であるとチェックサム値に基づいて判断されるためである(判断結果R11,R12を参照)。
これにより、フラッシュROM5内における第1データ記憶領域51の第1記憶部511には全閉位置学習値として「12」が記憶され、第2記憶部512には第1照合情報として「3」が記憶され、第3記憶部513にはデータ更新回数として「4」が記憶され、第4記憶部514にはチェックサム値が記憶される(第1データ記憶領域51iを参照)。
また、第2データ記憶領域52の第1記憶部521、第2記憶部522および第3記憶部523にはそれぞれ、「22」、「4」および「5」が記憶され、第4記憶部524にはチェックサム値が記憶される(第2データ記憶領域52iを参照)。
また、第1データ記憶領域41の第2記憶部412に記憶されている第1照合情報が第3データ記憶領域53の第1記憶部531に記憶される。これにより、第3データ記憶領域53の第1記憶部531には第2照合情報として「3」が記憶され、また、第2記憶部532には異常カウンタ値として「1」が記憶される(第3データ記憶領域53iを参照)。
このように構成されたECU1は、エンジンEGを制御するための全閉位置学習値を記憶する第1データ記憶領域41が設けられ、記憶内容の書き換えが可能なメモリであるRAM4と、第1データ記憶領域41に記憶されていた全閉位置学習値を記憶するための第1データ記憶領域51および第2データ記憶領域52が設けられ、記憶内容の書き換えが可能な不揮発性メモリであるフラッシュROM5とを備える。
そして、ECU1の電源オフ時に、フラッシュROM5における第1データ記憶領域51および第2データ記憶領域52の中から1つを選択し、選択したデータ記憶領域に、RAM4の第1データ記憶領域41に記憶されている全閉位置学習値を記憶する(S370,S380)。
また、全閉位置学習値をフラッシュROM5に記憶する場合に、全閉位置学習値をフラッシュROM5に記憶したタイミングの順序を判別可能な情報であるデータ更新回数を、記憶する全閉位置学習値と対応付けてフラッシュROM5に記憶する(S370,S380)。
次に、ECU1の電源オン時に、フラッシュROM5における第1データ記憶領域51および第2データ記憶領域52に記憶されているデータに異常が発生しているか否かを判断する(S110,S120,S150)。
そして、ECU1の電源オン時に、上記の異常判断の判断結果と、データ更新回数とに基づいて、フラッシュROM5における第1データ記憶領域51および第2データ記憶領域52のうちデータに異常が発生していないデータ記憶領域の中から、全閉位置学習値をフラッシュROM5に記憶したタイミングが最も遅いデータ記憶領域を選択し、選択したデータ記憶領域に記憶されている全閉位置学習値を、RAM4の第1データ記憶領域41に記憶する(S110,S120,S140,S150,S160,S170)。
これにより、フラッシュROM5における第1データ記憶領域51および第2データ記憶領域52のそれぞれに、記憶されたタイミングが異なる全閉位置学習値が記憶される。そして、第1データ記憶領域51および第2データ記憶領域52に記憶された全閉位置学習値には、記憶したタイミングの順序を判別可能な情報であるデータ更新回数が対応付けられており、ECU1の電源オン時に、フラッシュROM5における第1データ記憶領域51および第2データ記憶領域52のうちデータに異常が発生していないデータ記憶領域の中から、全閉位置学習値をフラッシュROM5に記憶したタイミングが最も遅いデータ記憶領域に記憶されている全閉位置学習値を、RAM4の第1データ記憶領域41に記憶する。
このためECU1は、フラッシュROM5の第1データ記憶領域51および第2データ記憶領域52に異常が発生していない場合には、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値を利用して、エンジンEGを制御することができる。一方、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値に異常が発生した場合であっても、直近の電源オフの1回前の電源オフ時にフラッシュROM5に記憶された全閉位置学習値を利用して、エンジンEGを制御することができる。したがって、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値に異常が発生すると、その後の電源オン時に全閉位置学習値を初期化しなくてはならないという事態の発生を抑制することができる。
さらにECU1では、全閉位置学習値をフラッシュROM5に記憶する場合に、RAM4の第1データ記憶領域41に記憶された第1照合情報を、記憶する全閉位置学習値と対応付けてフラッシュROM5に記憶する(S370,S380)。
また、全閉位置学習値をフラッシュROM5に記憶する場合に、第1照合情報の値を1加算した値を第2照合情報として決定し、決定した第2照合情報をフラッシュROM5に記憶する(S320,S390)。
そして、RAM4の第1データ記憶領域41に記憶した全閉位置学習値に対応付けられている第1照合情報の値と、フラッシュROM5に記憶されている第2照合情報の値とが非一致であるか否かを判断する(S180)。
これにより、第1照合情報の値と第2照合情報の値とが非一致である場合には、ECU1の電源オン時にRAM4の第1データ記憶領域41に記憶した全閉位置学習値は、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値であり、第1照合情報の値と第2照合情報の値とが一致している場合には、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値ではないと判断することができる。
したがって、ECU1によれば、直近の電源オフ時にフラッシュROM5に記憶された全閉位置学習値を次の電源オン時に利用できない異常を検出することが可能となる。
またECU1では、第1照合情報の値と第2照合情報の値とが一致していると判断した回数を計数する(S200)。これにより、異常の発生回数を監視することができる。
以上説明した実施形態において、RAM4は本発明における第1メモリ、フラッシュROM5は本発明における第2メモリ、S370,S380の処理は本発明における第1,2,3記憶手段、S320,S390の処理は本発明における第4記憶手段、S110,S120,S150の処理は本発明における異常判断手段、S110,S120,S140,S150,S160,S170の処理は本発明における第5記憶手段、S180の処理は本発明における関係判断手段、S200の処理は本発明における計数手段である。
また、エンジンEGは本発明における制御対象、全閉位置学習値は本発明における制御データ、第1データ記憶領域41は本発明における第1記憶領域、第1データ記憶領域51および第2データ記憶領域52は本発明における第2記憶領域、データ更新回数は本発明における判別情報、第1照合情報は本発明における第1設定情報、第2照合情報は本発明における第2設定情報である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、フラッシュROM5において全閉位置学習値を記憶するデータ記憶領域を2つ設けたものを示したが、データ記憶領域を3つ以上設けるようにしてもよい。
1…ECU、2…CPU、4…RAM、5…フラッシュROM

Claims (2)

  1. 所定の制御対象を制御する電子制御装置(1)であって、
    前記制御対象を制御するための制御データを記憶する第1記憶領域(41)が設けられ、記憶内容の書き換えが可能なメモリである第1メモリ(4)と、
    前記第1記憶領域に記憶されていた前記制御データを記憶するための第2記憶領域(51,52)が複数設けられ、記憶内容の書き換えが可能な不揮発性メモリである第2メモリ(5)と、
    当該電子制御装置の電源オフ時に、前記第2メモリにおける複数の前記第2記憶領域の中から1つの前記第2記憶領域を選択し、選択した前記第2記憶領域に、前記第1メモリの前記第1記憶領域に記憶されている前記制御データを記憶する第1記憶手段(S370,S380)と、
    前記第1記憶手段が前記制御データを前記第2メモリに記憶する場合に、前記制御データを前記第2メモリに記憶したタイミングの順序を判別可能な情報である判別情報を、記憶する前記制御データと対応付けて前記第2メモリに記憶する第2記憶手段(S370,S380)と、
    前記第1記憶手段が前記制御データを前記第2メモリに記憶する場合に、予め設定された設定条件に基づいて決定された第1設定情報を、記憶する前記制御データと対応付けて前記第2メモリに記憶する第3記憶手段(S370,S380)と、
    前記第1記憶手段が前記制御データを前記第2メモリに記憶する場合に、前記第1設定情報との間で予め設定された関係である設定情報間関係を有するように第2設定情報を決定し、決定した前記第2設定情報を前記第2メモリに記憶する第4記憶手段(S320,S390)と、
    当該電子制御装置の電源オン時に、前記第2メモリにおける複数の前記第2記憶領域に記憶されているデータに異常が発生しているか否かを判断する異常判断手段(S110,S120,S150)と、
    当該電子制御装置の電源オン時に、前記異常判断手段による判断結果と、前記判別情報とに基づいて、データに異常が発生していない前記第2記憶領域の中から、前記制御データを前記第2メモリに記憶したタイミングが最も遅い前記第2記憶領域を選択し、選択した前記第2記憶領域に記憶されている前記制御データを、前記第1メモリの前記第1記憶領域に記憶する第5記憶手段(S110,S120,S140,S150,S160,S170)と、
    前記第5記憶手段が前記第1記憶領域に記憶した前記制御データに対応付けられている前記第1設定情報と、前記第2メモリに記憶されている前記第2設定情報との間で、前記設定情報間関係を有しているか否かを判断する関係判断手段(S180)とを備える
    ことを特徴とする電子制御装置。
  2. 前記第1設定情報と前記第2設定情報との間で前記設定情報間関係を有していないと前記関係判断手段が判断した回数を計数する計数手段(S200)を備える
    ことを特徴とする請求項1に記載の電子制御装置。
JP2012185175A 2012-08-24 2012-08-24 電子制御装置 Active JP5803847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012185175A JP5803847B2 (ja) 2012-08-24 2012-08-24 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012185175A JP5803847B2 (ja) 2012-08-24 2012-08-24 電子制御装置

Publications (2)

Publication Number Publication Date
JP2014044494A JP2014044494A (ja) 2014-03-13
JP5803847B2 true JP5803847B2 (ja) 2015-11-04

Family

ID=50395733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012185175A Active JP5803847B2 (ja) 2012-08-24 2012-08-24 電子制御装置

Country Status (1)

Country Link
JP (1) JP5803847B2 (ja)

Also Published As

Publication number Publication date
JP2014044494A (ja) 2014-03-13

Similar Documents

Publication Publication Date Title
JP4803168B2 (ja) 車両用情報記憶装置
JP4420944B2 (ja) 車載エンジン制御装置
JP4572751B2 (ja) 電子制御装置
JP5176728B2 (ja) 車両用電子制御装置
JP4636118B2 (ja) 電子機器及びプログラム
JP4835755B2 (ja) 車両用制御装置
US6401163B1 (en) Apparatus and method for rewriting data from volatile memory to nonvolatile memory
JP2007287022A (ja) 電子制御装置の情報記憶方法
JP2009262676A (ja) 電子制御装置
JP5664454B2 (ja) 車両用電子制御装置
JP4552982B2 (ja) 電子制御装置
JP5835160B2 (ja) 電子制御装置
JP5803847B2 (ja) 電子制御装置
US8832537B2 (en) Information management apparatus and information managing method
JP2002041367A (ja) 車両制御装置
JP6444847B2 (ja) 車両用電子制御装置
JP2008196441A (ja) 車両の制御装置
US11314634B2 (en) Electronic control unit and data protection method therefor
JP6956566B2 (ja) 車両情報記憶装置
JP2008019725A (ja) 車両用電子制御装置
JP5686083B2 (ja) 車両用電子制御装置
JP7024582B2 (ja) 車載制御装置
JP2011100416A (ja) 車載電子制御装置およびメモリ制御方法
JP3846398B2 (ja) 車両制御装置
JP7029366B2 (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R151 Written notification of patent or utility model registration

Ref document number: 5803847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250