JP4001088B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP4001088B2
JP4001088B2 JP2003307331A JP2003307331A JP4001088B2 JP 4001088 B2 JP4001088 B2 JP 4001088B2 JP 2003307331 A JP2003307331 A JP 2003307331A JP 2003307331 A JP2003307331 A JP 2003307331A JP 4001088 B2 JP4001088 B2 JP 4001088B2
Authority
JP
Japan
Prior art keywords
data
value
stored
control device
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.)
Expired - Fee Related
Application number
JP2003307331A
Other languages
English (en)
Other versions
JP2004164601A (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 JP2003307331A priority Critical patent/JP4001088B2/ja
Priority to US10/678,229 priority patent/US6957135B2/en
Publication of JP2004164601A publication Critical patent/JP2004164601A/ja
Application granted granted Critical
Publication of JP4001088B2 publication Critical patent/JP4001088B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Description

本発明は、動作中に更新される特定のデータを、電気的にデータの書き換えが可能な不揮発性メモリを用いて継続的に保存する電子制御装置に関し、特に、その不揮発性メモリへのデータの記憶抜けを検出する技術に関するものである。
従来より、自動車用の電子制御装置では、動作電源の供給が停止されても継続して保存すべき故障診断情報や制御学習値などの特定のデータを、電気的にデータの書き換えが可能なEEPROMなどの不揮発性メモリに書き込んでおくことにより、バッテリ外れやバッテリ上がりが発生しても、そのデータを継続して保持及び更新することができるようにしている。例えば、バッテリバックアップされたRAM(以下、バックアップRAMともいう)内の所定領域のデータを、EEPROMに逐次コピーして保存しておき、動作電源の投入に伴う動作開始時に、そのRAM内のデータが異常であれば、EEPROM内のデータを上記RAMへコピーして復元する装置が知られている(例えば、特許文献1参照)。
また、この種の電子制御装置においては、EEPROMに記憶されているデータの良否を、チェックサムによってチェックすることもある(例えば、特許文献2参照)。尚、他のチェック方法として、例えば、(1):本来の記憶データと足し合わせると予め決められた所定値となるミラーデータもEEPROMに記憶させておき、そのミラーデータと本来の記憶データとを加算して、上記所定値にならなかったら不良と判定する方法や、(2):データをEEPROM内の3箇所に記憶させておき、多数決によって正常なデータを判定する多数決法もある。
一方、自動車用電子制御装置においては、CARB(カリフォルニア大気資源保護局)によるOBD(オンボードダイアグノスティック)2の法規に、RateBaseモニタ法があり、そのRateBaseモニタ法では、下記の式で示されるモニタ頻度を継続的に記憶しておく必要がある。
モニタ頻度=モニタリング実施回数/運転回数
尚、モニタ頻度は、故障診断を実施した頻度であり、触媒コンバータ,フューエルエバポレーションシステム,酸素センサ等といった複数の項目の故障診断について各々存在する。そして、運転回数(以下、分母という)は、その項目について法規で定められた所定の走行条件が満たされたときにインクリメントされるデータである。また、モニタリング実施回数(以下、分子という)は、その項目について自動車メーカで定めた故障診断実施条件が満たされて、正常又は異常の判定が終了した時点で、インクリメントされるデータである。そして更に、これら分母と分子は、両方共に、自動車のイグニッションスイッチがオンされてオフされるまでの間(即ち、故障診断を実施する電子制御装置に動作電源が投入されて該動作電源が遮断されるまでの1回の動作期間中)に、1回だけインクリメントされるか、或いは、インクリメントされずにそのままの値を維持するかの何れかである。よって、各項目の分母と分子は、1インクリメントされると、その回の自動車の運転期間中では、それ以上値が更新されることはない。
特開平4−336351号公報(第3頁、図3,図4) 特開平5−216776号公報(第2頁)
ところで、上記チェックサム又はミラーデータによるチェックや多数決法によるチェックでは、EEPROMに記憶したデータが壊れているか否かのチェックはできるものの、電子制御装置の前回の動作期間においてEEPROM等の書き換え可能不揮発性メモリへのデータの書き込みが未完了であったこと(以下、データの記憶抜けともいう)は検出することができない。
つまり、データの記憶抜けが起こっても、それ以前に記憶されているデータとチェックサム又はミラーデータとの関係が壊れるわけではないからである。また、多数決法は、メモリ内の3箇所に同じデータを書き込んでおき、ビット毎に2つ以上一致したデータを真とするものであるが、この方法でも、データの記憶抜けについては検出することができない。
また特に、EEPROMの場合は、一般に、マイコンとの間のシリアル通信によってデータのリード/ライトが実施され、マイコンに内蔵のRAM等のメモリと比べるとデータの書き込みに時間がかかるため、そのEEPROMへのデータの書き込みが未完了の時点で電子制御装置への動作電源が遮断されてしまう可能性が比較的高い。
そこで、本発明は、前述したRateBaseモニタ法の分母及び分子のように、その値が所定の規則性に従った特定の変化方向に更新されていくデータを、EEPROM等の書き換え可能不揮発性メモリを用いて継続的に保存する電子制御装置において、その不揮発性メモリへのデータの記憶抜けを検出できるようにすることを目的としている。
上記目的を達成するためになされた請求項1に記載の電子制御装置は、動作電源の供給が停止されても継続して保存すべきデータであって、所定の規則性を持って増加又は減少し、その規則性に従った特定の変化方向に更新されていく継続保存対象データを、データ保持用の電源が常時供給されたRAM(以下、スタンバイRAMという)に書き込んでから、電気的にデータの書き換えが可能な不揮発性メモリ(書き換え可能不揮発性メモリ)にも書き込むことで保存するものであり、記憶抜け検知手段を備えている。
そして、記憶抜け検知手段は、当該装置が動作電源の投入により動作を開始した際に、スタンバイRAMに記憶されている継続保存対象データの値が、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向に進んでいる値であるか否かを判定し、その判定により肯定判定したならば(即ち、スタンバイRAMに記憶されている継続保存対象データの値が、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向に進んでいる値であると判定したならば)、当該装置の前回の動作期間において、書き換え可能不揮発性メモリへの継続保存対象データの書き込みが未完了であったと判断する。
尚、スタンバイRAMに記憶されている継続保存対象データの値Daが、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値Dbよりも前記変化方向に進んでいる値であるとは、例えば、前記規則性が単純増加であるならば、継続保存対象データの値の変化方向は常に増加であるため、「Da>Db」ということであり、前記規則性が単純減少であるならば、継続保存対象データの値の変化方向は常に減少であるため、「Da<Db」ということである。
このような請求項1の電子制御装置によれば、従来のチェックサム又はミラーデータによるチェックや多数決法によるチェックでは検出不能であった書き換え可能不揮発性メモリへのデータの記憶抜けを検出することができるようになる。つまり、更新された継続保存対象データのスタンバイRAMへの記憶は完了しているが、そのデータの書き換え可能不揮発性メモリへの書き込みが完了する前に、電子制御装置への動作電源が遮断された場合には、スタンバイRAMに記憶されている継続保存対象データの値が、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向に進んだ値となるため、そのことを次の動作開始時に検出することにより、前回の動作期間において書き換え可能不揮発性メモリへの継続保存対象データの書き込みが未完了であったこと(即ち、データの記憶抜け)を検知することができるのである。
次に、請求項2に記載の電子制御装置では、請求項1の電子制御装置において、継続保存対象データは、当該装置に動作電源が投入されてから該動作電源が遮断されるまでの1回の動作期間中に、最大で1回だけ更新されることで値がN(但しNは正数)だけ前記変化方向に変化するデータである。
そして、記憶抜け検知手段は、スタンバイRAMに記憶されている継続保存対象データの値が、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向にNだけ進んでいる値であるか否かを判定し、該判定により肯定判定したならば(即ち、スタンバイRAMに記憶されている継続保存対象データの値が、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向にNだけ進んでいる値であると判定したならば)、当該装置の前回の動作期間において、書き換え可能不揮発性メモリへの継続保存対象データの書き込みが未完了であったと判断する。
尚、スタンバイRAMに記憶されている継続保存対象データの値Daが、書き換え可能不揮発性メモリに記憶されている継続保存対象データの値Dbよりも前記変化方向にNだけ進んでいる値であるとは、例えば、前記規則性が単純増加であるならば、継続保存対象データの値の変化方向は常に増加であるため、「Da=Db+N」ということであり、前記規則性が単純減少であるならば、継続保存対象データの値の変化方向は常に減少であるため、「Da=Db−N」ということである。
このような請求項2の電子制御装置によれば、当該装置の動作期間中に最大で1回だけ更新されることで値がNだけ変化するデータについて、そのデータの書き換え可能不揮発性メモリへの記憶抜けを正確に検出することができるようになる。
次に、請求項3に記載の電子制御装置では、請求項1,2の電子制御装置に対して、データ回復手段を設けている。そして、そのデータ回復手段は、記憶抜け検知手段により、書き換え可能不揮発性メモリへの継続保存対象データの書き込みが未完了であったと判断された場合に、スタンバイRAMに記憶されている継続保存対象データの値を書き換え可能不揮発性メモリに書き込む。
このような請求項3の電子制御装置によれば、前回の動作期間において書き換え可能不揮発性メモリへの書き込みが未完了であった継続保存対象データを、スタンバイRAMから書き換え可能不揮発性メモリに書き込んでリカバリーすることができる。
次に、請求項4に記載の電子制御装置では、請求項1〜3の電子制御装置に対して、判定手段を設けている。そして、その判定手段は、当該装置が動作電源の投入により動作を開始した際に、スタンバイRAM内のデータが正常であるか否かを判定し、正常でないと判定した場合には、記憶抜け検知手段の動作を禁止する。
このような判定手段を備えた請求項4の電子制御装置によれば、バッテリ外れやスタンバイRAMの故障が発生して、スタンバイRAM内のデータが正常でなくなった場合には、当該装置の動作開始時における記憶抜け検知手段の動作が禁止されるため、スタンバイRAM内のデータが正常でないことによる記憶抜け検知手段での誤検出(即ち、前回の動作期間において書き換え可能不揮発性メモリへの継続保存対象データの書き込みが未完了であったと誤って判断してしまうこと)を防止することができ、特に、請求項3のデータ回復手段を備えている構成においては、異常なデータ値が書き換え可能不揮発性メモリに記憶されてしまうことを防止することができる。
ところで、請求項1,2に記載の電子制御装置の特徴を採用した具体的な装置の構成としては、請求項5に記載の電子制御装置が考えられる。
即ち、請求項5に記載の電子制御装置は、車両に搭載された車載機器を制御するものであり、車両が所定の運転状態となったことを検出する検出手段と、所定の条件が満足された場合に前記車載機器における診断対象の故障診断を実施する故障診断手段と、記憶内容を電気的に書き換え可能な不揮発性メモリと、データ保持用の電源が常時供給されたスタンバイRAMと、当該制御装置の起動から停止までの間に、前記検出手段にて前記所定の運転状態が検出されたときにスタンバイRAMに記憶されている運転回数を1回分だけ更新した値に書き換える処理を実行すると共に、前記故障診断手段にて前記故障診断が実施されたときにスタンバイRAMに記憶されている故障診断回数を1回分だけ更新した値に書き換える処理を実行する書換え手段と、該書換え手段により前記運転回数又は前記故障診断回数の書き換え処理が実行された後に、その書き換えられた運転回数又は故障診断回数を前記不揮発性メモリに記憶する記憶手段と、記憶抜け検知手段とを備えている。
そして、記憶抜け検知手段は、当該装置が動作電源の投入により動作を開始した際に、スタンバイRAMに記憶されている運転回数又は故障診断回数の値が、前記不揮発性メモリに記憶されている運転回数又は故障診断回数の値よりも1回分だけ更新された値であるか否かを判定し、その判定により肯定判定したならば、当該装置の前回の動作期間において、前記不揮発性メモリへの運転回数又は故障診断回数の書き込みが未完了であったと判断する。
よって、このような請求項5の電子制御装置によれば、書き換え可能不揮発性メモリへの運転回数又は故障診断回数の記憶抜けを検出することができる。
また、請求項5の電子制御装置は、請求項6に記載のように構成することもできる。即ち、請求項6に記載の電子制御装置は、車両外部の診断ツールと接続可能になっており、更に出力手段を備えている。そして、その出力手段は、前記診断ツールからの前記運転回数、前記故障診断回数の出力要求があった場合には、前記不揮発性メモリに記憶されている前記運転回数、前記故障診断回数を前記診断ツールに対して出力する。そして、このような電子制御装置によれば、不揮発性メモリに記憶されている運転回数と故障診断回数を外部の診断ツールによって読み出すことができる。
以下、本発明の一実施形態について、図面を用いて説明する。
まず図1は、自動車に搭載されて内燃機関型エンジンの制御を行う、実施形態の電子制御装置(以下、ECUという)1の構成を表すブロック図である。
図1に示すように、ECU1は、エンジンの運転状態やエンジンの周辺機器の状態を検出するための様々なセンサ3からの信号を入力して波形処理する入力処理回路5と、入力処理回路5からのセンサ信号等に基づき、エンジン制御や故障診断等に関する様々な処理を行うマイクロコンピュータ(以下、マイコンという)7と、マイコン7と通信ライン9を介して接続され、そのマイコン7にて算出されるデータのうちで、当該ECU1への動作電源の供給が停止されても継続して保存すべきデータ(継続保存対象データ)が記憶される書き換え可能不揮発性メモリとしてのEEPROM11と、マイコン7からの制御信号に応じて、エンジンに取付けられた燃料噴射装置(インジェクタ)や点火装置(イグナイタ)等のアクチュエータ13を駆動する出力回路15と、自動車のイグニッションスイッチ17のオンに伴い供給されるバッテリ19からの動作電源としての電圧VDを受けて、マイコン7を始めとする当該ECU1内の各部に動作用の電源電圧(例えば5V)Vmを供給すると共に、バッテリ19から常時供給される電圧VBから、マイコン7内の後述するスタンバイRAM29が常時データを保持するための副電源電圧Vs(データ保持用の電源に相当)を生成して出力する電源回路21とを備えている。
尚、電源回路21は、イグニッションスイッチ17がオンされて上記電源電圧Vmの供給を開始してから、その電源電圧Vmが安定すると見なされる所定時間だけマイコン7へリセット信号を出力する、所謂パワーオンリセット機能も有している。
そして、マイコン7は、プログラムを実行する周知のCPU(中央演算処理装置)23と、CPU23によって実行されるプログラム(詳しくは、そのプログラムを構成する命令コードやそのプログラムの実行時に参照される固定のデータ)を記憶する不揮発性のROM25と、CPU23による演算結果等を一時的に記憶するための揮発性のRAM27と、電源回路21からの副電源電圧Vsを受けて常時データを保持可能なスタンバイRAM(バッテリバックアップされたRAMであり、以下、SRAMと記す)29と、入力処理回路5,EEPROM11,及び出力回路15等との間で信号やデータをやり取りするためのI/O31とを備えている。尚、以下の説明において、バッテリバックアップされていない通常のRAM27は、SRAM29との区別を明確にするために、NRAM(ノーマルRAM)27と呼ぶ。
以上のような構成のECU1は、イグニッションスイッチ17がオンされている間、バッテリ19からの電圧VDを受けて動作する。
そして、ECU1では、イグニッションスイッチ17がオンされて、電源回路21からマイコン7へのリセット信号が解除されると、マイコン7が初期状態から動作を開始して、後述するイニシャル処理を行った後、エンジンを制御するための制御処理を行う。尚、マイコン7の動作は、CPU23がROM25内のプログラムを実行することによるものである。
また、マイコン7は、前述したCARB・OBD2のRateBaseモニタ法で定められている故障診断対象項目の各々(触媒コンバータ,フューエルエバポレーションシステム,酸素センサ等)について、その項目の故障診断実施条件が成立したか否かを例えば定期的に判定すると共に、故障診断実施条件が成立した場合には、該当する項目についての故障診断処理を実施して正常又は異常の判定を行う、といった故障診断手段としての処理を実行する。そして更に、マイコン7は、上記各故障診断対象項目について、前述したモニタ頻度を表す分子(故障診断回数としてのモニタリング実施回数)と分母(運転回数)のデータを、EEPROM11とSRAM29とを使用して継続的に保存及び更新していくようにしている。
また更に、ECU1には、車両外部の診断ツール33がダイアグコネクタ35を介して接続可能となっている。そして、ECU1は、診断ツール33からの故障診断に関する出力要求に応じて、その要求に応じた内容のデータを出力するようになっており、上記故障診断モニタ頻度に関わる情報の出力要求あった際に、EEPROM11に記憶されている分子と分母のデータを出力する。尚、診断ツール33からの出力要求に応じてEEPROM11内の分子と分母のデータを診断ツール33へ出力する処理は、マイコン7が実行しており、本実施形態では、その処理が出力手段としての処理に相当している。また、図1において、符号37は、マイコン7が診断ツール33と通信を行うための通信回路である。
そこで次に、ECU1のマイコン7が、各故障診断対象項目についてのモニタ頻度の分子と分母のデータを継続して保存及び更新していくために実行する処理の内容について、図2〜図5を用いて説明する。
まず、図2に示すように、本実施形態では、各故障診断対象項目についてのモニタ頻度の分子と分母の各々である継続保存対象データに対して、0番から順に番号を付けている。例えば、0番目のデータは、フューエルエバポレーションシステム(以下単に、エバポという)についてのモニタ頻度の分子であり、1番目のデータは、エバポについてのモニタ頻度の分母であり、2番目のデータは、触媒コンバータ(以下単に、触媒という)についてのモニタ頻度の分子であり、3番目のデータは、触媒についてのモニタ頻度の分母であり、4番目のデータは、酸素センサについてのモニタ頻度の分子であり、5番目のデータは、酸素センサについてのモニタ頻度の分母である。
また、図2に示すように、NRAM27内には、各継続保存対象データについて、そのデータのインクリメントが実施されたか否かを示すインクリメント終了フラグF[i]が設けられている。尚、[]内のiは、そのフラグが対応している継続保存対象データの番号であり、継続保存対象データの総数をnとすると、0〜「n−1」の何れかである。
そして、マイコン7は、図3に示すように、各継続保存対象データについて、そのデータのインクリメント条件が成立すると(S91:YES)、そのデータをNRAM27上で1インクリメントして(S93)、そのデータに対応するインクリメント終了フラグF[i]をオンする(S95)。
尚、既述したように、分母のデータについては、該当する故障診断対象項目について法規で定められている所定の走行条件が満たされたこと(換言すれば、車両が、その故障診断対象項目について法規で定められている所定の運転状態となったこと)を、検出手段としての処理によって検出したときに、インクリメント条件が成立したと判定する。また、分子のデータについては、該当する故障診断対象項目について、前述した故障診断手段としての処理により、自動車メーカで定められた所定の故障診断実施条件が満たされたと判定されて故障診断が実施され正常又は異常の判定が終了した時点で、インクリメント条件が成立したと判定する。一方、NRAM27内の全てのインクリメント終了フラグF[i]は、マイコン7が動作開始時に行うイニシャル処理でのNRAM27に対する初期化(後述する図5のS205)により、予めオフ側にクリアされている。
次に、図4は、マイコン7が一定時間毎(例えば64ms毎)に実行する定期処理を表すフローチャートである。
マイコン7が図4の定期処理を開始すると、まずS110にて、継続保存対象データの番号を示す変数iを0に設定し、続くS120にて、変数iの値が継続保存対象データの総数(データ数)nよりも小さいか否かを判定する。尚、変数iは、NRAM27内のデータである。
そして、変数iの値がデータ数nよりも小さいと判定した場合には(S120:YES)、S130に進んで、i番目の継続保存対象データ(即ち、番号が変数iの値である継続保存対象データ)のインクリメントが終了しているか否かを、そのデータに対応するインクリメント終了フラグF[i]がオンされているか否かで判定し、i番目の継続保存対象データのインクリメントが終了していない(即ち、インクリメント終了フラグF[i]がオンされていない)と判定したならば(S130:NO)、S140に移行して、変数iの値を1インクリメントした後、S120に戻る。
また、上記S130にて、i番目の継続保存対象データのインクリメントが終了していると判定した場合には(S130:YES)、S150に移行して、そのi番目の継続保存対象データをNRAM27からSRAM29に記憶(コピー)する。すると、そのi番目の継続保存対象データのSRAM29内での記憶値は、1回分だけ更新した値(即ち1だけ増加した値)に書き換えられることとなる。つまり、このS150の処理により、何れかの継続保存対象データのインクリメント条件が成立したときに、その継続保存対象データのSRAM29内での記憶値が、1回分だけ更新した値に書き換えられることとなる。
そして更に、続くS160にて、そのi番目の継続保存対象データをNRAM27からEEPROM11に記憶(コピー)する。このため、上記S150の処理でSRAM29に更新して記憶されたi番目の継続保存対象データがEEPROM11にも書き込まれることとなる。そして、その後、上記S140に移行して、変数iの値を1インクリメントした後、S120に戻る。
一方、上記S120にて、変数iの値がデータ数nよりも小さくない(即ち、i≧nである)と判定した場合には(S120:NO)、当該定期処理を終了する。
つまり、図4の定期処理では、S110〜S140の処理により、全ての継続保存対象データについてのインクリメント終了フラグF[i]をチェックすることで、本ECU1の今回の動作期間中において1インクリメントされた継続保存対象データを探し出している。そして、1インクリメントされた継続保存対象データがあれば(S130:YES)、そのデータをNRAM27からSRAM29とEEPROM11との両方に書き込むようにしている(S150及びS160)。
尚、EEPROM11へのデータ書き込み回数を節約するために、上記S160でEEPROM11に書き込んだデータについては、以後その動作期間中では、EEPROM11へ書き込むS160の処理を実施しないようにしても良い。
具体的には、各継続保存対象データについてNRAM27内に書込完了フラグを用意しておくと共に、その書込完了フラグは、インクリメント終了フラグと共に、イニシャル処理でのNRAM27に対する初期化によって予めオフ側にクリアしておくようにする。そして、上記S160にて、EEPROM11に書き込んだ継続保存対象データについての書込完了フラグをオンするようにし、更に、S130にて、i番目の継続保存対象データのインクリメントが終了していると肯定判定しても、そのi番目の継続保存対象データについての書込完了フラグが既にオンされていたならば、S150及びS160の処理をスキップして、S140に移行するように構成すれば良い。
次に、図5は、マイコン7がイグニッションスイッチ17のオンに伴い動作を開始した際に実行するイニシャル処理を表すフローチャートである。
図5に示すように、マイコン7がイニシャル処理の実行を開始すると、まずS205にて、NRAM27内のデータを初期化し、続くS210にて、SRAM29内のデータが正常であるか否かを判定する。尚、このS210では、バッテリ外れ(バッテリ19が外されたこと)の履歴があるか否かを判定すると共に、SRAM29内のデータ自体をパリティチェックやチェックサム等の方法で検査して、バッテリ外れの履歴が無く且つデータ自体も正常であったならば、SRAM29内のデータは正常であると判定する。
そして、SRAM29内のデータが正常であると判定した場合には(S210:YES)、S220に進んで、継続保存対象データの番号を示す変数iを0に設定し、続くS230にて、変数iの値が継続保存対象データの総数(データ数)nよりも小さいか否かを判定する。
ここで、変数iの値がデータ数nよりも小さいと判定した場合には(S230:YES)、S240に進む。
そして、S240にて、i番目の継続保存対象データのSRAM値(即ち、SRAM29に記憶されているi番目の継続保存対象データの値)S[i]と、i番目の継続保存対象データのEEPROM値(即ち、EEPROM11に記憶されているi番目の継続保存対象データの値)E[i]とを読み出して、「S[i]=E[i]+1」であるか否かを判定し、「S[i]=E[i]+1」でなければ(S240:NO)、S250に移行して、変数iの値を1インクリメントした後、S230に戻る。
また、上記S240にて、「S[i]=E[i]+1」であると判定した場合には(S240:YES)、本ECU1の前回の動作期間においてEEPROM11へのi番目の継続保存対象データの書き込みが未完了であった(換言すれば、EEPROM11へのi番目の継続保存対象データの記憶抜けが生じていた)と判断して、S260に進む。そして、このS260にて、S[i]をEEPROM11にE[i]として書き込み、その後、上記S250に移行して、変数iの値を1インクリメントした後、S230に戻る。
また、上記S230にて、変数iの値がデータ数nよりも小さくない(即ち、i≧nである)と判定した場合には(S230:NO)、S280に移行して、SRAM29に記憶されている全ての(即ちn個の)継続保存対象データをNRAM27にコピーし、その後、エンジン制御処理や図4の定期処理といった各種処理の実行へ移る。
一方、上記S210にて、SRAM29内のデータが正常ではないと判定した場合には(S210:NO)、S270に移行して、EEPROM11に書き込まれている全ての(n個の)継続保存対象データをSRAM29にコピーし、その後、上記S280の処理を行う。
つまり、このイニシャル処理では、SRAM29内のデータが正常であれば(S210:YES)、S220〜S250の処理により、全ての継続保存対象データについて、SRAM値S[i]がEEPROM値E[i]よりも1だけ大きい値であるか否か(換言すれば、SRAM値S[i]がEEPROM値E[i]よりも継続保存対象データの変化方向に1だけ進んでいる値であるか否をチェックし、「S[i]=E[i]+1」となっているデータがあったならば(S240:YES)、そのi番目のデータは前回の動作期間においてEEPROM11への書き込みが未完了であったと判断して、そのデータのSRAM値S[i]をEEPROM11に書き込むようにしている(S260)。
そして更に、SRAM29内のデータが正常であれば(S210:YES)、そのSRAM29には、図4のS150の処理により、前回動作までの継続保存対象データの最終値が記憶されているため、S280の処理により、そのSRAM29内の全ての継続保存対象データを、インクリメント処理の作業エリアであるNRAM27にコピーして、その各継続保存対象データが前回動作時までの値を継承しつつ更新され得るようにしている。
また、EEPROM11にも、図4のS160の処理(或いは更に前回動作までの図5のS260の処理)により、前回動作までの継続保存対象データの最終値が記憶されているため、SRAM29内のデータが正常でなければ(S210:NO)、EEPROM11内の全ての継続保存対象データをSRAM29にコピーしてから(S270)、S280の処理を行っている。このため、バッテリ外れ等によってSRAM29内のデータが異常になっても、EEPROM11に記憶されていた前回動作までの継続保存対象データがNRAM27にコピーされ、これにより、各継続保存対象データが前回動作時までの値を継承しつつ更新されていくこととなる。
以上のような本実施形態のECU1では、マイコン7が図4の定期処理を実行することにより、本ECU1の1回の動作期間中において、何れかの継続保存対象データが1回インクリメントされると(S130:YES)、その1インクリメントされたデータをSRAM29とEEPROM11との両方に書き込むようにしている(S150,S160)。そして、マイコン7が図5のイニシャル処理を実行することにより、本ECU1が動作電源VDの投入により動作を開始した際に、各継続保存対象データについて、SRAM値がEEPROM値よりも1だけ大きい値(1回分だけ更新された値)であるか否かを判定し(S220〜S250)、SRAM値がEEPROM値よりも1だけ大きいデータがあれば、そのデータは本ECU1の前回の動作期間においてEEPROM11への書き込みが未完了であったと判断して、そのデータのSRAM値をEEPROM11に書き込むようにしている(S240:YES→S260)。
よって、このような本実施形態のECU1によれば、RateBaseモニタ法で定められている各診断対象項目のモニタ頻度を表すデータであって、1回の動作期間中に最大で1回だけインクリメントされることで値が1だけ増加する継続保存対象データについて、そのデータのEEPROM11への記憶抜けを正確に検出することができ、更に、その記憶抜けが生じたデータ(即ち、前回の動作期間においてEPROM11への書き込みが未完了であったデータ)を、SRAM29からEEPROM11に書き込んでリカバリーすることができる。
また、本実施形態のECU1では、マイコン7が図5のイニシャル処理を実行することにより、本ECU1が動作電源VDの投入により動作を開始した際に、SRAM29内のデータが正常であるか否かを判定し(S210)、正常でないと判定した場合には、S220〜S260の処理が実施されるのを禁止している(S210:NO)。
このため、バッテリ外れ等が発生してSRAM19内のデータが正常でなくなった場合に、前回の動作期間においてEEPROM11への継続保存対象データの書き込みが未完了であったと誤って判断してしまうことと、異常なデータ値がEEPROM11に記憶されてしまうこととを防止することができる。
尚、本実施形態では、図4の定期処理が、継続保存対象データを書き換え可能不揮発性メモリとスタンバイRAMとの両方に記憶させる処理に相当している。そして、図5のS220〜S250が、記憶抜け検知手段としての処理に相当し、図5のS260が、データ回復手段としての処理に相当している。そして更に、図5のS210が、判定手段としての処理に相当している。また、図4のS150が、書換え手段としての処理に相当し、図4のS160が、記憶手段としての処理に相当している。
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、上記実施形態では、継続保存対象データが、ECUの1回の動作期間中に、最大で1回だけ更新されることで値が1だけ増加方向に変化するデータであったため、図5のS240にて、「S[i]=E[i]+1」であるか否かを判定したが、もし、継続対象データがデクリメントされるものであり、そのデータの変化方向が減少方向であるならば、図5のS240にて、「S[i]=E[i]−1」であるか否かを判定するように構成すれば良い。
また、継続保存対象データが、ECUの1回の動作期間中において、ある単位変化量ずつ且つ複数回増加される可能性があるものならば、図5のS240にて、「S[i]>E[i]」であるか否かを判定するように構成すれば良い。同様に、継続保存対象データが、ECUの1回の動作期間中において、ある単位変化量ずつ且つ複数回減少される可能性があるものならば、図5のS240にて、「S[i]<E[i]」であるか否かを判定するように構成すれば良い。尚、この場合、継続保存対象データの単位変化量は、常に同じ値である必要はない。
また、上記実施形態では、各継続保存対象データのSRAM29及びEEPROM11への書き込み処理を、1つの定期処理(図4)で実施するようにしたが、その書き込み処理は、各継続保存対象データの値をNRAM27上で更新するルーチン毎に、関数コールやサブルーチン形式等で実施するようにしても良い。
一方、上記実施形態において、NRAM27を設けずに、継続保存対象データのインクリメント処理を含む各種データ処理をSRAM29上で実施するのであれば(つまり、継続保存対象データをインクリメントする作業エリアが元々SRAM29である場合)には、図4のS150と図5のS205及びS280とが不要となる。尚、この場合、インクリメント終了フラグF[i]もSRAM29内に設けられることとなるため、そのフラグのクリアは、イニシャル処理の何処かで実施すれば良い。
また、図5において、S270の処理は、S210とS230との何れかで否定判定した場合に、S280の直前で実施するようにしても良い。但し、S270の処理は、図5のように、S210でSRAM29内のデータが正常ではないと判定した場合にのみ実施した方が効率的である。
また更に、書き換え可能不揮発性メモリとしては、EEPROMに限らず、例えばフラッシュROMを用いても良い。
一方、継続保存対象データは、単純に増加又は減少していくものに限らず、初期値Aから最終値Bまでの間で繰り返し変化するように設定されるものでも良く、その場合には、最終値Bの次が初期値Aになるという規則性に従って、データの記憶抜け検出を行い本案でのデータ回復手段を適用すれば良い。
具体例を挙げると、図6に示すように、継続保存対象データが、初期値0から1ずつ増加すると共に、最大値15の次には初期値0に戻るように更新される場合には、図5のイニシャル処理を、図7のように変形すれば良い。尚、図7において、図5と同じ内容の処理ステップについては、同一のステップ番号を付しているため、説明を省略する。
即ち、図7のイニシャル処理では、図5に対してS245の処理が追加されている。そして、S240で「S[i]=E[i]+1」でないと判定した場合に(S240:NO)、そのS245へ移行して、「S[i]=0且つE[i]=15」であるか否かを判定し、「S[i]=0且つE[i]=15」でなければ(S245:NO)、そのままS250に移行するが、「S[i]=0且つE[i]=15」であったならば(S245:YES)、S240で「S[i]=E[i]+1」であると判定した場合と同様に、EEPROM11へのi番目の継続保存対象データの記憶抜けが生じていたと判断して、S260に進み、そのS260にて、S[i]をEEPROM11にE[i]として書き込むようにすれば良い。
そして、このようにすれば、継続保存対象データが図6のように初期値0から最大値15までの間で繰り返し変化するような規則性を持ったデータであっても、EEPROM11への記憶抜けを防止することができる。尚、継続保存対象データは、初期値から最小値までの間で繰り返し変化する(つまり、初期値から減少して最小値になると次に初期値へ戻る)という規則性を持ったデータであっても良い。
実施形態の電子制御装置(ECU)の構成を表すブロック図である。 SRAM及びEEPROMに記憶される継続保存対象データと、インクリメント終了フラグとを説明する説明図である。 ECUのマイコンが継続保存対象データをRAM上でインクリメントする際の処理を表すフローチャートである。 ECUのマイコンで実行される定期処理を表すフローチャートである。 ECUのマイコンで実行されるイニシャル処理を表すフローチャートである。 継続保存対象データの他の規則性を表す説明図である。 継続保存対象データが図6のように更新される場合のイニシャル処理を表すフローチャートである。
符号の説明
1…電子制御装置(ECU)、3…センサ、5…入力処理回路、7…マイコン、9…通信ライン、11…EEPROM、13…アクチュエータ、15…出力回路、17…イグニッションスイッチ、19…バッテリ、21…電源回路、23…CPU、25…ROM、27…ノーマルRAM(NRAM)、29…スタンバイRAM(SRAM)、31…I/O、33…診断ツール

Claims (6)

  1. 動作電源の供給が停止されても継続して保存すべきデータであって、所定の規則性を持って増加又は減少し、その規則性に従った特定の変化方向に更新されていくデータ(以下、継続保存対象データという)を、データ保持用の電源が常時供給されたRAM(以下、スタンバイRAMという)に書き込んでから、電気的にデータの書き換えが可能な不揮発性メモリにも書き込むことで保存する電子制御装置であって、
    当該装置が動作電源の投入により動作を開始した際に、前記スタンバイRAMに記憶されている継続保存対象データの値が、前記不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向に進んでいる値であるか否かを判定し、該判定により肯定判定したならば、当該装置の前回の動作期間において、前記不揮発性メモリへの前記継続保存対象データの書き込みが未完了であったと判断する記憶抜け検知手段を備えていること、
    を特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記継続保存対象データは、当該装置に動作電源が投入されてから該動作電源が遮断されるまでの1回の動作期間中に、最大で1回だけ更新されることで値がN(但しNは正数)だけ前記変化方向に変化するデータであり、
    前記記憶抜け検知手段は、前記スタンバイRAMに記憶されている継続保存対象データの値が、前記不揮発性メモリに記憶されている継続保存対象データの値よりも前記変化方向に前記Nだけ進んでいる値であるか否かを判定し、該判定により肯定判定したならば、当該装置の前回の動作期間において、前記不揮発性メモリへの前記継続保存対象データの書き込みが未完了であったと判断すること、
    を特徴とする電子制御装置。
  3. 請求項1又は請求項2に記載の電子制御装置において、
    前記記憶抜け検知手段により、前記不揮発性メモリへの前記継続保存対象データの書き込みが未完了であったと判断された場合に、前記スタンバイRAMに記憶されている継続保存対象データの値を前記不揮発性メモリに書き込むデータ回復手段を備えていること、
    を特徴とする電子制御装置。
  4. 請求項1ないし請求項3の何れか1項に記載の電子制御装置において、
    当該装置が動作電源の投入により動作を開始した際に、前記スタンバイRAM内のデータが正常であるか否かを判定し、正常でないと判定した場合には、前記記憶抜け検知手段の動作を禁止する判定手段を備えていること、
    を特徴とする電子制御装置。
  5. 車両に搭載された車載機器を制御する電子制御装置であって、
    車両が所定の運転状態となったことを検出する検出手段と、
    所定の条件が満足された場合に前記車載機器における診断対象の故障診断を実施する故障診断手段と、
    記憶内容を電気的に書き換え可能な不揮発性メモリと、
    データ保持用の電源が常時供給されたRAM(以下、スタンバイRAMという)と、
    当該制御装置の起動から停止までの間に、前記検出手段にて前記所定の運転状態が検出されたときに前記スタンバイRAMに記憶されている運転回数を1回分だけ更新した値に書き換える処理を実行すると共に、前記故障診断手段にて前記故障診断が実施されたときに前記スタンバイRAMに記憶されている故障診断回数を1回分だけ更新した値に書き換える処理を実行する書換え手段と、
    該書換え手段により前記運転回数又は前記故障診断回数の書き換え処理が実行された後に、その書き換えられた運転回数又は故障診断回数を前記不揮発性メモリに記憶する記憶手段と、
    当該装置が動作電源の投入により動作を開始した際に、前記スタンバイRAMに記憶されている前記運転回数又は前記故障診断回数の値が、前記不揮発性メモリに記憶されている前記運転回数又は前記故障診断回数の値よりも1回分だけ更新された値であるか否かを判定し、該判定により肯定判定したならば、当該装置の前回の動作期間において、前記不揮発性メモリへの前記運転回数又は前記故障診断回数の書き込みが未完了であったと判断する記憶抜け検知手段を備えていること、
    を特徴とする電子制御装置。
  6. 請求項5に記載の電子制御装置において、
    当該制御装置は車両外部の診断ツールと接続可能となっており、前記診断ツールからの前記運転回数、前記故障診断回数の出力要求があった場合には、前記不揮発性メモリに記憶されている前記運転回数、前記故障診断回数を前記診断ツールに対して出力する出力手段をさらに備えることを特徴とする電子制御装置。
JP2003307331A 2002-10-25 2003-08-29 電子制御装置 Expired - Fee Related JP4001088B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003307331A JP4001088B2 (ja) 2002-10-25 2003-08-29 電子制御装置
US10/678,229 US6957135B2 (en) 2002-10-25 2003-10-06 Electronic control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002311390 2002-10-25
JP2003307331A JP4001088B2 (ja) 2002-10-25 2003-08-29 電子制御装置

Publications (2)

Publication Number Publication Date
JP2004164601A JP2004164601A (ja) 2004-06-10
JP4001088B2 true JP4001088B2 (ja) 2007-10-31

Family

ID=32109508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003307331A Expired - Fee Related JP4001088B2 (ja) 2002-10-25 2003-08-29 電子制御装置

Country Status (2)

Country Link
US (1) US6957135B2 (ja)
JP (1) JP4001088B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3991963B2 (ja) * 2002-10-16 2007-10-17 株式会社デンソー 車両制御装置
US7350097B2 (en) * 2005-01-24 2008-03-25 General Motors Corporation Method for recovering control of a continually resetting control module
US7554843B1 (en) * 2005-11-04 2009-06-30 Alta Analog, Inc. Serial bus incorporating high voltage programming signals
US8600605B2 (en) * 2006-01-30 2013-12-03 GM Global Technology Operations LLC Distributed diagnostics architecture
JP4363471B2 (ja) 2007-08-03 2009-11-11 株式会社デンソー 故障コード記憶管理装置、及び記憶管理装置
EP2026288A3 (en) * 2007-08-03 2010-11-24 Denso Corporation Electronic control system and method for vehicle diagnosis
JP5350186B2 (ja) * 2009-11-06 2013-11-27 富士通テン株式会社 データ書込装置、及び、データ書込方法
JP6183330B2 (ja) 2014-10-13 2017-08-23 株式会社デンソー 電子制御装置
JP6443299B2 (ja) * 2015-10-21 2018-12-26 株式会社デンソー 電子制御装置
JP6593241B2 (ja) 2016-04-05 2019-10-23 株式会社デンソー 電子制御装置
CN106485020B (zh) * 2016-10-31 2019-10-01 上海华虹集成电路有限责任公司 带有非易失性存储器的处理器芯片仿真器
CN110515952A (zh) * 2019-08-28 2019-11-29 广州高谱技术有限公司 一种电力数据的存储方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3076881B2 (ja) 1991-05-14 2000-08-14 株式会社エフ・エフ・シー メモリ復元機能付情報処理装置
JPH0579397A (ja) 1991-09-19 1993-03-30 Hitachi Ltd 自動車制御装置
JPH05216776A (ja) 1992-02-04 1993-08-27 Hitachi Ltd 自動車用コントロールユニット
US5745864A (en) * 1994-10-04 1998-04-28 Nippondenso Co., Ltd. Vehicular information storage device and power outage-resistant storage system and method for the same
JP3166634B2 (ja) * 1996-11-07 2001-05-14 日産自動車株式会社 車両用制御装置の故障記憶装置
JP4041216B2 (ja) 1998-07-17 2008-01-30 富士通テン株式会社 異常検出方法および異常検出装置
JP3721089B2 (ja) * 2001-03-01 2005-11-30 株式会社日立製作所 車両診断システム及び該システムを用いた自動車

Also Published As

Publication number Publication date
US6957135B2 (en) 2005-10-18
US20040080997A1 (en) 2004-04-29
JP2004164601A (ja) 2004-06-10

Similar Documents

Publication Publication Date Title
JP5176728B2 (ja) 車両用電子制御装置
JP3969278B2 (ja) 電子制御装置
JP4636118B2 (ja) 電子機器及びプログラム
US6401163B1 (en) Apparatus and method for rewriting data from volatile memory to nonvolatile memory
JP4001088B2 (ja) 電子制御装置
JP4539757B2 (ja) 電子制御装置
JP4552982B2 (ja) 電子制御装置
JP2002041367A (ja) 車両制御装置
JP4281808B2 (ja) 車両の制御装置およびその制御方法
JP2002323902A (ja) 電子制御装置
US7386714B2 (en) Transmitting data from a single storage unit between multiple processors during booting
JP2007062632A (ja) 電子制御ユニットおよび異常発生時記憶用データの記憶方法
JP2008196441A (ja) 車両の制御装置
WO2018079537A1 (ja) 電子制御装置及びそのデータ保護方法
JP3960212B2 (ja) 電子制御装置
JP2004151944A (ja) 不揮発性記憶装置へのデータの書き込み方法、プログラム、および装置、ならびに車載電子制御装置
JP3644058B2 (ja) 車載エンジンの電子制御装置及びeepromのデータ再書込制御装置
JP4353126B2 (ja) 車両状態判定装置
JP7029366B2 (ja) 自動車用電子制御装置
JP3211708B2 (ja) 車両制御装置
JP6887277B2 (ja) 自動車用電子制御装置
JP2001182607A (ja) 車両制御装置
JP2004021520A (ja) 車両用電子制御装置
JP2000257502A (ja) 自動車用電子制御装置
JP3551855B2 (ja) 車両用制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070806

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees