JP4736828B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP4736828B2
JP4736828B2 JP2006027098A JP2006027098A JP4736828B2 JP 4736828 B2 JP4736828 B2 JP 4736828B2 JP 2006027098 A JP2006027098 A JP 2006027098A JP 2006027098 A JP2006027098 A JP 2006027098A JP 4736828 B2 JP4736828 B2 JP 4736828B2
Authority
JP
Japan
Prior art keywords
abnormality
data
history
electronic control
control 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.)
Expired - Fee Related
Application number
JP2006027098A
Other languages
English (en)
Other versions
JP2007207092A (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 JP2006027098A priority Critical patent/JP4736828B2/ja
Priority to EP07002311.4A priority patent/EP1835403B1/en
Priority to US11/701,555 priority patent/US8849504B2/en
Publication of JP2007207092A publication Critical patent/JP2007207092A/ja
Application granted granted Critical
Publication of JP4736828B2 publication Critical patent/JP4736828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、揮発性メモリが記憶する制御用データに基づき、車両制御を実行すると共に、制御結果に従って制御用データを更新する車両用の電子制御装置に関する。
従来より、車両用の電子制御装置としては、車載バッテリにて常時電源供給がなされるバックアップRAMに、制御用データを記憶保持し、この制御用データに基づき車両制御を実行すると共に、制御結果に基づき、バックアップRAMが記憶する制御用データを更新する学習機能を備えた電子制御装置が知られている。また、この種の電子制御装置としては、バックアップRAMの異常を検出し、異常が検出された場合には、警告ランプを点灯させて、異常を車両乗員に報知するものが知られている(例えば、特許文献1参照)。
また、メモリの異常を検出可能な電子制御装置としては、ROMに記憶されたデータの異常を検出し、異常が検出された場合には、フェールセーフ処理を実行すると共に、その異常に関するデータを記憶し、必要に応じて外部装置に出力するものが知られている(例えば、特許文献2,3参照)。
特開平11−184762号公報 特開平10−299565号公報 特開平11−039231号公報
しかしながら、従来装置では、制御用データを記憶する揮発性メモリの異常を検出した際、警告ランプを点灯させ、異常を車両乗員に報知する程度であるため、車両乗員やメンテナンス時の作業者等は、揮発性メモリの異常を詳細に知ることができず、異常解消のために、適切な処置を採ることができないといった問題があった。
特に、揮発性メモリにおいては、電源等の影響を受けるため、ROMよりも安定的にデータを記憶保持することができず、また制御用データを繰返し更新する場合には、更新時に偶発的な異常が発生しやすいため、揮発性メモリの異常を詳細に知ることができないと、異常が恒久的なものであるのかについてすら知ることができず、異常解消のために、適切な処置を採ることができないといった問題があった。
本発明は、こうした問題に鑑みなされたものであり、制御用データを記憶する揮発性メモリの異常に関して、詳細な情報を外部装置に提供可能な電子制御装置を提供することを第一の目的とする。また、揮発性メモリの異常に関する情報を外部装置に提供すると共に、特定の異常に関しては、内部的に解決可能な電子制御装置を提供することを第二の目的とする。
かかる目的を達成するためになされた本発明の車両用の電子制御装置は、揮発性メモリが記憶する制御用データに基づき、車両制御を実行すると共に、この制御結果に従い、制御用データを更新する。また、この電子制御装置は、異常検出手段により、揮発性メモリで発生した異常を検出し、異常履歴記録手段により、この異常検出手段で検出された異常の履歴を、異常の発生領域を表す情報と関連付け、記録する。
尚、揮発性メモリが、イグニッションスイッチのオン/オフ操作にかかわらず、車載バッテリからの電源供給を常時受け、所有データを常時記憶保持する構成にされている場合、異常履歴記録手段は、上記履歴を、揮発性メモリに記録することができる(請求項1)。また、電子制御装置が、電気的にデータ書換可能な不揮発性メモリを備える場合、異常履歴記録手段は、上記履歴を、不揮発性メモリに記録することができる(請求項2)。
また、この電子制御装置は、外部装置と通信可能な通信インタフェースを備え、異常履歴記録手段によって記録された履歴に基づき、異常履歴送信手段にて、揮発性メモリについての異常履歴を表す送信信号を生成し、これを通信インタフェースを通じて外部装置に送信する。
このように構成された電子制御装置(請求項1,2)によれば、イグニッションスイッチのオン/オフ操作にかかわらず、異常履歴を揮発性メモリ又は不揮発性メモリにて記憶することができ、異常履歴を長期に渡り蓄積し、これを外部装置に提供することができる。また、異常履歴の記録の際には、異常履歴を、発生領域を表す情報と関連付けて記録するため、外部装置には、発生領域を表す情報と共に異常の履歴を提供できる。
従来装置においては、揮発性メモリに係る異常の履歴を、長期に渡り、発生領域を表す情報と関連付けて記録し、これを外部装置に提供する機能がないため、本発明によれば、従来よりも、異常が恒久的なものであるのか等の異常の分析に役立つ詳細情報を外部装置に提供することができる。従って、この発明によれば、利用者は、外部装置を通じ、揮発性メモリの異常の詳細を把握することができ、異常解消のための適切な処理を採ることができる。尚、外部装置としては、無線通信ネットワークを通じて通信インタフェースと通信可能に接続される外部センタや、車内LANを通じて通信インタフェースと通信可能に接続される車両用の故障診断装置(所謂ダイアグテスタ)等を挙げることができる。
また、異常履歴送信手段は、定期的に、異常履歴を表す送信信号を生成し、これを外部装置に送信する構成にされてもよいが、次のように構成されると一層好ましい。即ち、異常履歴送信手段は、通信インタフェースを通じ、外部装置から異常履歴の送信要求信号を受信すると、上記異常履歴を表す送信信号を生成し、これを送信要求元の外部装置に送信する構成にされるとよい。このように構成された電子制御装置(請求項3)によれば、外部装置からの要求に応じて効率的に異常履歴を外部装置に提供することができる。
また、異常履歴送信手段は、外部装置から送信要求信号を受信した場合、異常履歴記録手段により記録された全履歴を表す送信信号を生成し、これを外部装置に送信する構成にされてもよいが、次のように構成されると一層好ましい。
即ち、送信要求信号は、異常の発生領域を指定する情報を内包する構成にされ、異常履歴送信手段は、通信インタフェースを通じ、外部装置から異常履歴の送信要求信号を受信すると、異常履歴記録手段により記録された履歴の内、受信した送信要求信号により指定された領域において発生した異常についての履歴を表す送信信号を生成し、これを送信要求元の外部装置に送信する構成にされるとよい。
このように構成された電子制御装置(請求項4)によれば、外部装置からの要求に応じて、要求された情報を選択的に送信することができ、利用者は、外部装置を通じ、必要な情報のみを得て、効率的に異常原因を究明することができる。
また、異常の内容によっては、再現テストを行い、このテスト時に生成された異常履歴を解析したほうが、効率的に異常原因を究明できる場合もあるため、上記電子制御装置には、通信インタフェースを通じ、外部装置から異常履歴のクリア要求信号を受信すると、異常履歴記録手段によって記録された履歴をクリアする異常履歴クリア手段を設けるとよい。上記異常履歴クリア手段が設けられた電子制御装置(請求項5)によれば、外部装置を通じて、異常履歴記録手段にて記録された履歴をクリアすることができ、利用者は、外部装置を通じて、異常履歴記録手段に記録された履歴をクリアした後に再現テストを実行することで、異常原因の究明を効率的に行うことができる。
尚、異常履歴クリア手段は、クリア要求信号を受信すると、異常履歴記録手段によって記録された履歴を、全てクリアする構成にされてもよいが、次のように構成されると一層好ましい。即ち、クリア要求信号は、異常の発生領域を指定する情報を内包する構成にされ、異常履歴クリア手段は、通信インタフェースを通じ、外部装置から異常履歴のクリア要求信号を受信すると、異常履歴記録手段により記録された履歴の内、受信したクリア要求信号により指定された上記異常の発生領域を表す情報と関連付けられて異常履歴記録手段により記録された履歴を、クリアする構成にされるとよい。
このように構成された電子制御装置(請求項6)によれば、外部装置を通じ、クリア操作を詳細に行うことができ、利用者にとっては、クリアする必要のない履歴をクリアせずに済むため、便利である。尚、クリア要求信号を受信した場合に、異常履歴記録手段によって記録された履歴を、全てクリアする電子制御装置では、請求項6記載の電子制御装置と比較して、全履歴のクリアが簡単に行えるといった利点がある。
また、異常履歴記録手段は、異常検出手段によって検出された異常の履歴として、異常の発生領域を表す情報に関連付けて、異常の発生日時等を記録する構成にされてもよいが、好ましくは、異常検出手段によって検出された異常の履歴として、異常の発生領域を表す情報に関連付け、異常の発生回数を記録する構成にされるとよい。このように構成された電子制御装置(請求項7)によれば、外部装置側では、揮発性メモリ上の各領域の異常の発生頻度を簡単に知ることができ、各領域での異常が恒久的な異常か、偶発的な異常かを簡単に判断することができる。
また、上記電子制御装置において、異常検出手段は、複数種類の異常を検出可能な構成にされ、異常履歴記録手段は、異常検出手段により異常が検出された各領域毎に、各種類の異常の発生回数を記録する構成にされるとよい。このように構成された電子制御装置(請求項8)によれば、揮発性メモリ上の各領域毎に、複数種類の異常の発生回数を表す情報を外部装置に提供することができ、利用者は、この情報に基づき異常原因の究明を効率的に行うことができる。
また、異常履歴記録手段は、車両乗員の操作により車両制御が開始されてから車両制御が終了されるまでの期間に、異常検出手段によって検出された各異常に関し、異常の発生領域及び異常の種類毎に、1度のみ、異常の発生回数を1カウントアップして、各領域及び各種類の異常の発生回数を記録する構成にされると好ましい。
車両乗員のイグニッション操作により車両制御が開始されてから車両制御が終了されるまでの期間(1度の車両運転期間)に、1度のみ異常の発生回数を記録するように電子制御装置を構成すれば、異常履歴の記録動作に係る電子制御装置内の処理負荷を抑えることができる。また、1度の運転期間に、異常の発生回数を、検出回数分カウントアップしても、これらの情報は、車両の運転状態の詳細を利用者が把握していなければ、無意味な情報となる可能性が高いため、本発明(請求項9)によれば、効率的に、異常の発生回数を記録することができる。
また、上記の電子制御装置には、請求項10記載のように、異常検出手段により異常が検出されると、検出された異常に対して所定のフェールセーフ処理を実行するフェールセーフ処理実行手段を設けるのが好ましい。また、このフェールセーフ処理実行手段は、検出された異常の発生領域に応じ、実行するフェールセーフ処理の内容を切り替える構成にされるとよい(請求項11)。
異常が検出された領域にて記憶される制御用データの重要度にかかわらず、同一内容のフェールセーフ処理を実行すると、重要度の高い制御用データに対して適切なフェールセーフ処理を実行することができない可能性があるが、検出された異常の発生領域に応じ、実行するフェールセーフ処理の内容を切り替えるように電子制御装置を構成すれば、制御用データの重要度に応じて、適切なフェールセーフ処理を実行することができる。
例えば、書込異常が生じた領域が重要度の高い制御用データが格納される領域である場合には、揮発性メモリ上の別領域に、この制御用データの記憶領域を確保する内容のフェールセーフ処理を実行し、書込異常が生じた領域が重要度の低い制御用データが格納される領域である場合には、別領域に制御用データの記憶領域を確保せずに、この制御用データの初期値を、制御用データの読出時に、返値として出力する内容のフェールセーフ処理を実行するように、電子制御装置を構成すれば、重要度の高い制御用データの書込異常に対して、より適切なフェールセーフ処理を実行することができる。
また、フェールセーフ処理実行手段は、検出された異常と同一領域で過去に発生した異常の発生回数に応じ、実行するフェールセーフ処理の内容を切り替える構成にされてもよい。このようにフェールセーフ処理実行手段が構成された電子制御装置(請求項12)によれば、異常が偶発的なものであるのか恒久的なものであるのかによって、フェールセーフ処理の内容を切り替えることができ、異常の性質に合わせて適切なフェールセーフ処理を実行することができる。
例えば、制御用データの書込異常が発生したとしても、異常の発生回数が閾値未満である場合には、別領域に制御用データの記憶領域を確保せずに、この制御用データの初期値を、制御用データの読出時に、返値として出力する内容のフェールセーフ処理を実行するようにし、異常の発生回数が閾値以上である場合には、書込異常が恒久的なものであるとして、揮発性メモリ上の別領域に、この制御用データの記憶領域を確保する内容のフェールセーフ処理を実行すれば、異常の性質に合わせ、適切に異常に対処することができる。
また、フェールセーフ処理実行手段は、検出された異常の発生領域、及び、この領域で過去に発生した異常の発生回数に応じ、実行するフェールセーフ処理の内容を切り替える構成にされてもよい。このように構成された電子制御装置(請求項13)によれば、異常が偶発的なものであるか恒久的なものであるのかに応じて、又は、異常が発生した領域が重要な制御用データを記憶する領域であるか否かに応じて、フェールセーフ処理の内容を適切に切り替えることができ、各ケースにて、適切なフェールセーフ処理を実行することができる。
また、上記の電子制御装置においては、制御用データに、データ化け検出用のデータとしてのチェックデータを内包させるようにし、異常検出手段では、上記異常として、チェックデータに基づき、揮発性メモリが記憶する各制御用データについてのデータ化けを検出するとよい。このように構成された電子制御装置(請求項14)によれば、各制御用データについてのデータ化けに関する異常履歴を記録して、外部装置に提供することができる。
その他、フェールセーフ処理実行手段は、データ化けに対するフェールセーフ処理として、データ化けが検出された制御用データを、データ化け発生前の制御用データに更新する処理を実行する構成にされるとよい。このように構成された電子制御装置(請求項15)によれば、データ化けによる異常を、電子制御装置内部で解決することができ、車両の安全性を高めることができる。
また、電子制御装置では、複数の制御用データを用いて、車両制御を行う場合があり、複数の制御用データが正常な値の組合せとなっていないと、正常な車両制御を行うことができない場合もある。このため、揮発性メモリが記憶する各制御用データについては、制御用データの種類毎にグループ化し、フェールセーフ処理実行手段は、データ化けに対するフェールセーフ処理として、データ化けが検出された制御用データを、データ化け発生前の制御用データに更新すると共に、データ化けが検出された制御用データと同一グループに属する各制御用データを、上記データ化け発生前の制御用データと対となる制御用データに更新する処理を実行する構成にされるとよい。
このように構成された電子制御装置(請求項16)によれば、車両制御に必要な一組の制御用データについて、そのいずれかにデータ化けが発生した際に、組内の制御用データを全て更新するので、組内の制御用データが不整合となって、不安定な車両制御が行われるのを防止することができる。
尚、上記データ化け発生前の制御用データとしては、製品出荷時に設定された制御用データを挙げることができるが、データ化けが発生した際に、対応する制御用データを、製品出荷時の値に戻してしまうと、制御用データについての学習の成果が失われることになる。
従って、不揮発性メモリを備える電子制御装置には、異常検出手段により異常が検出されていない領域に記憶された揮発性メモリ内の各制御用データを、不揮発性メモリにバックアップ保存するバックアップ手段を設け、フェールセーフ処理実行手段は、データ化けに対するフェールセーフ処理として、異常検出手段によりデータ化けが検出された制御用データを、バックアップ手段により不揮発性メモリに記憶された異常検出前の制御用データに更新する処理を実行する構成にされるとよい。
このように構成された電子制御装置(請求項17)によれば、制御用データが化けた場合でも、制御用データを製品出荷時の値に戻さなくて済み、学習結果に基づいた適切な車両制御を実行することができる。
また、車載バッテリからの電源供給を常時受ける揮発性メモリを備えた電子制御装置においては、揮発性メモリに制御用データが保持されているため、車両制御開始時に、不揮発性メモリ等から制御用データを読み出し、これを揮発性メモリにセットしないのが普通である。よって、上記種類の揮発性メモリを備える電子制御装置においては、車載バッテリの脱着作業後に、異常検出手段が動作すると、異常検出手段にて、車載バッテリの脱着作業を原因とする制御用データの揮発が、データ化けとして検出されてしまう可能性がある。
このことから、上記種類の電子制御装置では、異常検出手段にて、車両制御の開始時に、各制御用データに対しデータ化けの検出動作を実行する共に、車両制御の開始時に異常検出手段によって実行された検出動作の結果に基づき、脱着判断手段にて、車載バッテリの脱着があったか否かを判断するとよい。また、この電子制御装置において、異常履歴記録手段は、脱着判断手段により車載バッテリの脱着があったと判断されると、車両制御の開始時に異常検出手段により検出されたデータ化けについての異常の履歴を記録しない構成にされるとよい。
このように構成された電子制御装置(請求項18,19)によれば、車載バッテリの脱着に起因する異常検出を無視することができ、この異常が外部通知されてしまうことによって、車両乗員や作業者等が、電子制御装置に異常があると錯誤してしまうのを防止することができる。
その他、異常検出手段は、揮発性メモリが記憶する制御用データが更新される際、このデータ更新に先立って、更新される制御用データに対しデータ化けの検出動作を実行する構成にされるとよい。このように異常検出手段が構成された電子制御装置(請求項20)によれば、データ更新前の制御用データにデータ化けが生じている場合でも、データ更新によってデータ化け異常が解消される前に、この異常を漏らさず検出することができる。従って、この電子制御装置によれば、正確に、異常の履歴を記録することができる。
また、異常検出手段は、揮発性メモリが記憶する制御用データの更新時に、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出する構成にされてもよい。このように異常検出手段が構成された電子制御装置(請求項21)によれば、各制御用データについて、書込異常に関する履歴を記録し、これを外部装置に提供することができる。
また、フェールセーフ処理実行手段は、上記書込異常に対するフェールセーフ処理として、書込異常が検出された制御用データの格納領域を、揮発性メモリ上の別領域に変更する処理を実行する構成にされるとよい。このように構成された電子制御装置(請求項22)によれば、書込異常によって、以後、制御用データの更新ができなくなるのを防止することができ、学習結果に基づいた適切な車両制御を行うことができる。
その他、フェールセーフ処理実行手段は、上記書込異常に対するフェールセーフ処理として、書込異常が検出された制御用データの読出指令が発せられた際、この制御用データの初期値を、読出指令に対する応答結果として出力する処理を実行する構成にされてもよい。書込異常が発生した領域の制御用データについては、データ内容にも異常がある可能性が高いため、このフェールセーフ処理実行手段を備える電子制御装置(請求項23)によれば、少なくとも、異常な制御用データに基づいた車両制御を行わなくて済み、車両の安全性を高めることができる。
尚、初期値としては、製品出荷時の値を挙げることができるが、書込異常後、対応する制御用データを、製品出荷時の値に戻してしまうと、制御用データについての学習の成果が失われることになる。
従って、バックアップ手段を備える電子制御装置においては、フェールセーフ処理実行手段を次のように構成するとよい。即ち、フェールセーフ処理実行手段は、書込異常に対するフェールセーフ処理として、書込異常が検出された制御用データの読出指令が発せられた際、バックアップ手段により不揮発性メモリに記憶された異常検出前の該当制御用データを、読出指令に対する応答結果として出力する処理を実行する構成にされるとよい。このように構成された電子制御装置(請求項24)によれば、製品出荷時の値を用いる電子制御装置よりも、学習結果に基づいた適切な車両制御を実行することができる。
また、上記の電子制御装置には、異常履歴記録手段により記録された履歴に基づき、車両乗員に対して異常を報知する必要があるか否かを判断する警告要否判断手段と、警告要否判断手段にて報知が必要であると判断されると、車両内に設けられた警告装置を制御し、車両乗員に対して、異常を報知する警告装置制御手段と、を設けるのが好ましい。このように構成された電子制御装置(請求項25)によれば、発生頻度の高い異常が発生した場合に、早期に車両乗員に対して異常を警告することができると共に、偶発的な異常については、これを報知せずに済み、車両乗員に不安を与えないようにすることができる。
また、揮発性メモリには、異常が発生すると車両の挙動に大きく影響を与える重要度の高い制御用データや、異常が発生しても車両の挙動には大きな影響を与えない重要度の低い制御用データ等の種々が記憶されるので、重要度の高い制御用データの記憶領域、及び、重要度の低い制御用データの記憶領域を夫々区別して、異常を報知する必要があるか否かを判断するとよい。即ち、警告要否判断手段は、異常の発生領域毎に、異なる基準で、車両乗員に対して異常を報知する必要があるか否かを判断する構成にされるとよい。このように構成された電子制御装置(請求項26)によれば、重大な異常を、車両乗員に対し適切に報知することができる。
以下、本発明の実施例について、図面と共に説明する。
図1(a)は、電子制御装置1の構成を表すブロック図であり、図1(b)は、電子制御装置1のCPU11にて実現される一部機能を表す機能ブロック図である。本実施例の電子制御装置1は、車両に搭載された車両用電子制御装置であり、CPU11と、プログラム実行時に作業領域として使用される揮発性メモリとしてのRAM13と、CPU11にて実行される各種プログラムを記憶するROM15と、電気的にデータ書換可能な不揮発性メモリとしてのEEPROM17と、タイマ19と、車両を駆動する各種アクチュエータ等の制御対象装置や車両の状態を検出する各種センサ等と電気的に接続された入出力装置(I/O)21と、車内LANを通じて車外装置と通信可能な通信インタフェース23とを備える。
電子制御装置1としては、具体的に、エンジン制御用の電子制御装置を挙げることができ、電子制御装置1がエンジン制御用の電子制御装置である場合、制御対象装置としては、イグナイタやインジェクタ等を挙げることができる。
この電子制御装置1では、運転席に設けられたイグニッションスイッチ操作部を通じ、イグニッションスイッチSWがオンにされると、装置内部全体に、車載バッテリ25から電源供給がなされ、装置内各部が始動する。
CPU11は、イグニッションスイッチSWがオンにされると、ROM15に記憶されたプログラムを実行し、学習制御部11a及び書込読出制御部11bとしての機能を実現する。具体的に、学習制御部11aは、RAM13に記憶された制御用データ(制御パラメータの値を示すデータ)に基づき、各種アクチュエータを制御し、車両制御を実行すると共に、センサの出力信号が示す制御結果に従い、書込読出制御部11bを通じてRAM13が記憶する制御用データを更新する。また、書込読出制御部11bは、読出処理や書込処理を実行するものであり、学習制御部11aからの読出指令や書込指令を受けて、RAM13に制御用データを書き込んだり、RAM13から制御用データを読み出し、これを学習制御部11aに入力する。
また、RAM13は、車載バッテリ25に直結され、イグニッションスイッチSWの状態にかかわらず、車載バッテリ25からの電源供給を常時受ける領域を有する。即ち、RAM13の一部は、バックアップメモリ13aとして機能し、イグニッションスイッチSWのオン/オフにかかわらず、車載バッテリ25からの電源供給を受けて、常時、所有データを記憶保持する構成にされている。このバックアップメモリ13aには、制御用データや、バックアップメモリ13a内で発生した異常の履歴を示す異常履歴データ等が記録される。図2は、このバックアップメモリ13aのデータ構成を表す説明図である。
バックアップメモリ13aは、データ記憶領域R1と、代替データ記憶領域R2と、異常履歴記憶領域R3と、を備える。データ記憶領域R1は、制御用データを記憶する領域であり、このデータ記憶領域R1に記憶される各制御用データは、主データと、この主データのデータ化けを検出するためのチェックデータと、からなる。尚、チェックデータとしては、主データの全ビットの合計値を表すデータや、主データの全ビットが反転してなるミラーデータ等を挙げることができる。
また、データ記憶領域R1は、各制御用データに適合する固定バイトの領域毎に区画化されており、各制御用データは、書込読出制御部11bの動作により、データ記憶領域R1内の同一区画に書き込まれる。また、各区画には、固有IDが割り当てられ、本実施例の電子制御装置1は、この固有IDを用いて、データの読み出しや書き込みを行う構成にされている(詳細後述)。
また、代替データ記憶領域R2は、データ記憶領域R1において異常が発生した場合に、異常が発生した区画に格納されていた制御用データを、代替記憶させるための領域である。この代替データ記憶領域R2は、データ記憶領域R1と同様に区画化されており、各区画には、データ記憶領域R1にて異常が発生した際、対応する制御用データが書き込まれる。また、各区画には、データ記憶領域R1と同様、固有IDが割り当てられている。
その他、異常履歴記憶領域R3は、データ記憶領域R1及び代替データ記憶領域R2にて発生した異常の履歴を表す異常履歴データを記憶する領域である。異常履歴データは、異常発生箇所の固有IDを表す履歴データ(以下、「異常発生箇所履歴データ」という。)と、RAM化け(即ち、データ化け)異常の発生回数を表す履歴データ(以下、「RAM化け異常発生回数履歴データ」という。)と、書込異常の発生回数を表す履歴データ(以下、「書込異常発生回数履歴データ」という。)と、電源不安定異常の発生回数を表す履歴データ(以下、「電源不安定異常発生回数履歴データ」という。)と、メモリセル異常の発生回数を表す履歴データ(以下、「メモリセル異常発生回数履歴データ」という。)と、からなる。また、各履歴データは、主データと、上述のチェックデータと、からなる。
また、異常履歴記憶領域R3は、各履歴データに適合する固定バイトの領域毎に区画化されており、各区画には、データ記憶領域R1と同様に、固有IDが割り当てられている。そして、一組の履歴データからなる上記異常履歴データは、メモリアドレス方向に連続した複数(本実施例では5つ)の区画にまたがって、書込読出制御部11bにより書き込まれる。
一方、ROM15は、上述した固有IDとメモリアドレスとの対応関係を示す固有ID割当情報と、セクションテーブルと、重要度テーブルと、初期値テーブルとを有する。尚、図3は、ROM15のデータ構成を表す説明図である。
セクションテーブルは、各制御用データ及び履歴データの所属グループを定義するものであり、バックアップメモリ13aに割り当てられた各区画の固有ID毎に、所属グループを表すセクション番号が記述されたレコードを有する。具体的に、本実施例では、異常発生時に、同時に書き換えられる必要のあるデータに対して同一グループを割り当てるように、設計段階で、セクションテーブルを生成している。但し、本実施例では、代替データ記憶領域R2内の区画に対して割り当てたセッション番号とは異なるセッション番号を、データ領域R1及び異常履歴記憶領域R3の各区画に対し割り当てているものとする。
また、重要度テーブルは、各制御用データ及び履歴データの重要度を定義するものであり、バックアップメモリ13aに割り当てられた各区画の固有ID毎に、重要度を表す値が記述されたレコードを有する。その他、初期値テーブルは、各制御用データの初期値(製品出荷時の値)を示すものであり、各区画の固有ID毎に、初期値が記述されてなる。
また、EEPROM17は、図4に示すように、ID変更テーブルと、前回値テーブルと、異常履歴前回値テーブルと、車載バッテリ25の脱着回数を表すデータと、を記憶するためのメモリとして用いられる。尚、図4は、EEPROM17のデータ構成を表す説明図である。
EEPROM17が記憶するID変更テーブルは、代替データ記憶領域R2に格納領域が変更された制御用データの格納領域についての変更前固有IDと変更後固有IDとの対応関係を示すテーブルである。ID変更テーブルの変更後固有IDの各フィールドには、代替データ記憶領域R2の各区画に割り当てられた固有IDが予め記述されており、変更前固有IDのフィールドには、書込読出制御部11bの動作により、順次、対応する固有IDが書き込まれる。
また、前回値テーブルは、重要度が高い制御用データのバックアップ領域として機能する。具体的に、前回値テーブルは、重要度が基準値D1以上に設定されたバックアップ対象の制御用データ毎に、固有IDと、バックアップ保存時の制御用データの値(前回値)と、からなるレコードを有する。
また、異常履歴前回値テーブルは、異常履歴記憶領域R3が記憶するデータのバックアップ領域として機能するものであり、この異常履歴前回値テーブルには、バワーダウン時に、書込読出制御部11bの動作により、異常履歴記憶領域R3が記憶するデータが書き込まれる。
続いて、書込読出制御部11bが実行する処理について説明する。図5は、イグニッションスイッチSWがオンにされた後、書込読出制御部11bが最初に実行するパワーオン処理を表すフローチャートである。
パワーオン処理を開始すると、書込読出制御部11bは、バックアップメモリ13aの各区画に割り当てられた固有IDの全てに関し、各固有ID毎に、RAM化け異常フラグ、書込異常フラグ、電源不安定異常フラグ、メモリセル異常フラグ、RAM化け異常記録完了フラグ、書込異常記録完了フラグ、電源不安定異常記録完了フラグ、及び、メモリセル異常記録完了フラグを生成し、各フラグをオフに設定する(S110)。
そして、EEPROM17が記憶するID変更テーブルをRAM13にコピーし(S120)、この後、データ記憶領域R1及び異常履歴記憶領域R3の各区画に割り当てられた固有IDについて、各固有ID毎に、これを引数に設定したバックアップメモリ読出処理(図6参照)を実行する(S130)。尚、詳細は後述するが、このバックアップメモリ読出処理では、バックアップメモリ13aから、引数に設定された固有IDに対応するデータ(制御用データ又は履歴データ)を読み出すと共に、読み出し時にRAM化け(データ化け)異常がないかどうかを検査し、RAM化け異常がある場合には、この固有IDに対応するRAM化け異常フラグをオンにする動作を行う。
そして、該当する全固有IDについて、バックアップメモリ読出処理を実行すると、S140に移行して、オンとなったRAM化け異常フラグが所定数以上であるか否かを判断し、オンとなったRAM化け異常フラグが所定数未満であると判断すると(S140でNo)、当該パワーオン処理を終了する。
一方、オンとなったRAM化け異常フラグが所定数以上であると判断すると(S140でYes)、書込読出制御部11bは、車載バッテリ25が脱着されたと判断し、バッテリ脱着回数を1増加させるように、EEPROM17が記憶するバッテリ脱着回数を表すデータを更新する(S150)。
また、この処理を終えると、書込読出制御部11bは、EEPROM17が記憶する異常履歴前回値テーブルを、バックアップメモリ13aの異常履歴記憶領域R3にコピーし(S160)、全固有IDについての各フラグを全てオフに設定する(S170)。その後、当該パワーオン処理を終了する。
続いて、書込読出制御部11bが実行するバックアップメモリ読出処理について説明する。図6は、書込読出制御部11bが実行するバックアップメモリ読出処理を表すフローチャートである。このバックアップメモリ読出処理は、書込読出制御部11b内部で必要に応じて実行されると共に、パワーオン処理実行後、学習制御部11aからのバックアップメモリ13aに対する読出指令を受けて実行される。
バックアップメモリ読出処理を開始すると、書込読出制御部11bは、まず、当該バックアップメモリ読出処理実行時に、引数に設定された固有ID(以下、「引数ID」という。)を用いて、図7に示す処理ID設定処理を実行する(S210)。図7は、書込読出制御部11bが実行する処理ID設定処理を表すフローチャートである。
処理ID設定処理を開始すると、書込読出制御部11bは、引数IDがRAM13のID変更テーブルにおいて変更前固有IDとして登録されている種類の固有IDであるか否かを判断し(S310)、変更前固有IDとして登録されている種類の固有IDであると判断すると(S310でYes)、この引数IDに対応する変更後固有IDを、処理IDに設定し(S320)、その後、当該処理ID設定処理を終了する。一方、引数IDがID変更テーブルにおいて変更前固有IDとして登録されている種類の固有IDではないと判断すると(S310でNo)、この引数IDを処理IDに設定し(S330)、当該処理ID設定処理を終了する。
また、このようにしてS210での処理ID設定処理を終了すると、書込読出制御部11bは、設定された処理IDに対応するバックアップメモリ13aの区画から、この区画に記憶されたデータ(制御用データ又は履歴データ)を読み出し(S220)、読み出したデータの主データとチェックデータとの整合性を確認することにより、読み出したデータがデータ化けしていないかどうかを検査する(S230)。例えば、チェックデータが、主データの全ビットの合計値を示すデータである場合、書込読出制御部11bは、チェックサム方式により、チェックデータと対となっている主データの全ビットの合計値を算出し、この値が、チェックデータが示す値と一致するかを確認する。
そして、主データとチェックデータとの整合がとれている(主データの全ビットの合計値がチェックデータが示す値と一致する)場合には(S240でYes)、S270に移行し、整合がとれていない(主データの全ビットの合計値がチェックデータが示す値と一致しない)場合には(S240でNo)、RAM化け異常が発生していると判断し、S250に移行する。
また、S250に移行すると、書込読出制御部11bは、処理IDのRAM化け異常フラグがオンになっているか否かを判断し、オンになっていないと判断すると(S250でNo)、処理IDのRAM化け異常フラグをオンに設定し(S255)、その後、S260に移行する。一方、RAM化け異常フラグがオンになっていると判断すると(S250でYes)、書込読出制御部11bは、S255の処理を実行せずに、S260に移行する。
また、S260に移行すると、書込読出制御部11bは、図8に示すRAM化け異常フェールセーフ(F/S)処理を実行する。図8は、書込読出制御部11bが実行するRAM化け異常フェールセーフ処理を表すフローチャートである。
RAM化け異常フェールセーフ処理を開始すると、書込読出制御部11bは、まず、処理IDがS320の処理を経て設定された固有ID(変更後固有ID、即ち、代替データ記憶領域R2の区画に割り当てられた固有ID)であるか否かを判断し(S410)、処理IDがS320の処理を経て設定された固有IDであると判断すると(S410でYes)、この処理IDの変更前固有IDに設定されたセクション番号を、ROM15が記憶するセクションテーブルから読み出し、これを照合番号に設定する(S420)。その後、S440に移行する。
一方、書込読出制御部11bは、処理IDがS320の処理を経て設定された固有IDではないと判断すると(S410でNo)、この処理IDに設定されたセクション番号を、セクションテーブルから読み出し、これを照合番号に設定する(S430)、その後、S440に移行する。
また、S440に移行すると、書込読出制御部11bは、S450以降の処理について未処理のレコードを、セクションテーブル内において一つ選択し、選択したレコードが示すセクション番号が照合番号に一致するか否かを判断する(S450)。そして、このセクション番号が照合番号に一致しないと判断すると(S450でNo)、S455〜S480の処理を実行せずに、S490に移行する。
一方、選択したレコードが示すセクション番号が照合番号に一致すると判断すると(S450でYes)、書込読出制御部11bは、上記選択したレコードにおいてセクション番号と対応付けられた固有IDを、初期値取得先IDに設定し(S455)、この初期値取得先IDを用いて、図9に示す初期値取得処理を実行する(S460)。図9は、書込読出制御部11bが実行する初期値取得処理を表すフローチャートである。
初期値取得処理を開始すると、書込読出制御部11bは、S510にて、初期値取得先IDが異常履歴記憶領域R3の区画に割り当てられた固有IDであるか否かを判断し、初期値取得先IDが異常履歴記憶領域R3の区画に割り当てられた固有IDであると判断すると(S510でYes)、異常履歴前回値テーブルから、初期値取得先IDに対応する履歴データの前回値を読み出し(S520)、その後、当該初期値取得処理を終了する。
一方、書込読出制御部11bは、初期値取得先IDが異常履歴記憶領域R3の区画に割り当てられた固有IDではなく、データ記憶領域R1又は代替データ記憶領域R2の区画に割り当てられた固有IDであると判断すると(S510でNo)、重要度テーブルに基づき、初期値取得先IDに設定された重要度を識別し(S530)、この処理を終えると、S540にて、識別した重要度が基準値D1以上であるか否かを判断する。尚、本実施例の電子制御装置1は、重要度が基準値D1以上の制御用データを、前回値テーブルにバックアップ保存する構成にされており、S540では、この基準値D1が用いられる。
S540にて、上記識別した重要度が、基準値D1以上であると判断すると(S540でYes)、書込読出制御部11bは、前回値テーブルから、初期値取得先IDに対応する制御用データの前回値を読み出し(S550)、その後、当該初期値取得処理を終了する。その他、S540にて、上記識別した重要度が、基準値D1未満であると判断すると(S540でNo)、書込読出制御部11bは、初期値テーブルから、初期値取得先IDに対応する制御用データの初期値を読み出し(S560)、その後、当該初期値取得処理を終了する。
また、このようにしてS460での初期値取得処理を終えると、書込読出制御部11bは、S470に移行し、上記選択したレコードにおいてセクション番号と対応付けられた固有IDを、書込先IDに設定する共に、初期値取得処理にて読み出したデータを、書込対象データに設定する。但し、上記選択したレコードにおいてセクション番号と対応付けられた固有IDが、RAM13のID変更テーブルにおいて変更前固有IDとして登録されたものである場合には、S470において、この固有IDに対応する変更後固有IDを、書込先IDに設定する。
また、このようにしてS470での処理を終えると、書込読出制御部11bは、この書込先ID及び書込対象データを用いて、図10に示す異常判定付き書込処理を実行する(S480)。尚、図10は、書込読出制御部11bが実行する異常判定付き書込処理を表すフローチャートである。
異常判定付き書込処理を開始すると、書込読出制御部11bは、書込対象データを、書込先IDに対応するバックアップメモリ13a内の区画に書き込む(S610)。また、この処理を終えると、S620に移行して、書込先IDに対応する区画から、この区画に書き込まれたデータを読み出し、読み出したデータと書込対象データとの整合性を確認する(S630)。即ち、読み出したデータと書込対象データとが一致するか否かを判断する。そして、読み出したデータと書込対象データとの整合がとれている(読み出したデータと書込対象データとが一致する)場合には(S640でYes)、返値として、書込に「成功」したことを示す値を出力する(S650)。その後、当該異常判定付き書込処理を終了する。
一方、読み出したデータと書込対象データとの整合がとれていない(読み出したデータと書込対象データとが一致しない)場合には(S640でNo)、書込異常が発生したと判断して、S660に移行し、書込先IDの書込異常フラグがオンに設定されているか否かを判断する。そして、書込先IDの書込異常フラグがオンに設定されていないと判断すると(S660でNo)、書込先IDの書込異常フラグをオンに設定した後(S670)、S680に移行し、返値として、書込に「失敗」したことを示す値を出力する。その後、当該異常判定付き書込処理を終了する。
その他、書込先IDの書込異常フラグがオンにされていると判断すると(S660でYes)、書込読出制御部11bは、S670の処理を実行せずに、S680に移行し、返値として、書込に「失敗」したことを示す値を出力した後、当該異常判定付き書込処理を終了する。
また、このようにしてS480での異常判定付き書込処理を終了すると、書込読出制御部11bは、S490に移行して、セクションテーブル内の全レコードについて、S450以降の処理を実行したか否かを判断し、全レコードについて、S450以降の処理を実行していないと判断すると(S490でNo)、S440に移行する。一方、書込読出制御部11bは、全レコードについて、S450以降の処理を実行したと判断すると(S490でYes)、当該RAM化け異常フェールセーフ処理を終了する。
また、書込読出制御部11bは、このようにしてS260でのRAM化け異常フェールセール処理を終了すると、S280に移行する。
その他、S280に移行すると、書込読出制御部11bは、当該バックアップメモリ読出処理実行時に引数に設定された固有ID(引数ID)を、初期値取得先IDに設定し、この初期値取得先IDを用いて、上述した図9に示す初期値取得処理を実行する(S285)。また、この処理を終えると、書込読出制御部11bは、S285での初期値取得処理にて読み出したデータを、返値として、当該バックアップメモリ読出処理の実行指令元に出力し(S290)、その後、当該バックアップメモリ読出処理を終了する。
また、書込読出制御部11bは、バックアップメモリ読出処理において、S270に移行すると、処理IDの書込異常フラグがオフに設定されているか否かを判断し、処理IDの書込異常フラグがオフに設定されていると判断すると(S270でYes)、返値として、S220にて読み出した処理IDに対応するデータを出力する(S295)。その後、当該バックアップメモリ読出処理を終了する。
この他、書込読出制御部11bは、S270において、処理IDの書込異常フラグがオンに設定されていると判断すると(S270でNo)、上述したS280〜S290の処理を実行した後、当該バックアップメモリ読出処理を終了する。
続いて、書込読出制御部11bが実行するバックアップメモリ書込処理について説明する。図11は、書込読出制御部11bが実行するバックアップメモリ書込処理を表すフローチャートである。このバックアップメモリ書込処理は、書込読出制御部11b内部で必要に応じて実行されると共に、パワーオン処理実行後、学習制御部11aからのバックアップメモリ13aに対する書込指令を受けて実行される。
バックアップメモリ書込処理を開始すると、書込読出制御部11bは、まず、このバックアップメモリ書込処理実行時に引数に設定された固有ID(引数ID)を用いて、図7に示す処理ID設定処理を実行する(S710)と共に、このバックアップメモリ書込処理実行時に引数に設定された上記固有ID(引数ID)と同一の固有IDを引数に設定してバックアップメモリ読出処理(図6参照)を実行する(S720)。尚、S720では、処理IDに対応する区画でのデータ化けを検出する目的で、バックアップメモリ読出処理を実行する。
また、この処理を終えると、書込読出制御部11bは、S725に移行し、S710で設定された処理IDを書込先IDに設定すると共に、当該バックアップメモリ書込処理実行時に引数に設定された指定データを、書込対象データに設定し、この書込先ID及び書込対象データを用いて、図10に示す異常判定付き書込処理を実行する(S730)。
そして、S730での異常判定付き書込処理を終了すると、返値に基づき、書込対象データのバックアップメモリ13aへの書込に成功したか否かを判断し(S740)、書込に成功したと判断すると(S740でYes)、処理IDがS710での処理ID設定処理においてS320の処理を経て設定された固有ID(変更後固有ID)であるか否かを判断する(S750)。
そして、処理IDがS320の処理を経て設定された固有IDであると判断すると(S750でYes)、S760に移行し、処理IDがS330の処理を経て設定された固有IDであると判断すると(S750でNo)、S770に移行する。
また、S760に移行すると、書込読出制御部11bは、この処理IDに対応する変更前固有IDのメモリセル異常フラグがオンに設定されているか否かを判断し、変更前固有IDのメモリセル異常フラグがオフに設定されていると判断すると(S760でNo)、この変更前固有IDのメモリセル異常フラグをオンに設定し(S765)、その後、S770に移行する。一方、処理IDに対応する変更前固有IDのメモリセル異常フラグがオンに設定されていると判断すると(S760でYes)、S765の処理を実行することなく、S770に移行する。
また、S770に移行すると、書込読出制御部11bは、返値として、書込に「成功」したことを示す値を、当該バックアップメモリ書込処理の実行指令元に出力する。その後、当該バックアップメモリ書込処理を終了する。
これに対し、S730での異常判定付き書込処理で出力された返値に基づき、書込対象データのバックアップメモリ13aへの書込に失敗したと判断すると(S740でNo)、書込読出制御部11bは、S780に移行して、処理IDがS710での処理ID設定処理においてS320の処理を経て設定された固有ID(変更後固有ID)であるか否かを判断する。
そして、処理IDがS320の処理を経て設定された固有IDであると判断すると(S780でYes)、S785の処理を実行することなく、S790に移行し、処理IDがS330の処理を経て設定された固有IDであると判断すると(S780でNo)、S785に移行して、図12に示すID変更処理を実行する。そして、このID変更処理を終了すると、S790に移行する。
また、S790に移行すると、書込読出制御部11bは、返値として、書込に「失敗」したことを示す値を、当該バックアップメモリ書込処理の実行指令元に出力する。その後、当該バックアップメモリ書込処理を終了する。尚、このバックアップメモリ書込処理の返値として「失敗」したことを示す値を得た実行指令元(学習制御部11a等)は、例えば、書込に成功するまで所定回数、同様のバックアップメモリ書込処理の実行を試みるといった対応を採る。また、S790での処理を終えると、書込読出制御部11bは、当該バックアップメモリ書込処理を終了する。
続いて、S785で実行されるID変更処理について説明する。図12は、書込読出制御部11bが、S785で実行するID変更処理を表すフローチャートである。
ID変更処理を開始すると、書込読出制御部11bは、S710で設定された処理IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されているか否かを判断し(S810)、この処理IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されていないと判断すると(S810でNo)、当該ID変更処理を終了する。
一方、S710で設定された処理IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されていると判断すると(S810でYes)、この処理IDを値に持つ異常発生箇所履歴データが格納された区画の固有IDに基づき、この異常発生箇所履歴データと組となっている書込異常発生回数履歴データが格納された区画の固有IDを割り出し(S820)、割り出した固有IDを引数IDに設定して、バックアップメモリ読出処理を実行することにより、上記書込異常発生回数履歴データを、バックアップメモリ13aから読み出す(S830)。
また、この処理を終えると、書込読出制御部11bは、重要度テーブルに基づいて処理IDに設定された重要度を識別し(S840)、処理IDに設定された重要度が、所定の基準値D2以上であるか否かを判断する(S850)。尚、基準値D2は、代替データ記憶領域R2を使用する権限のあるデータを判別するために用いられるものである。
そして、書込読出制御部11bは、上記重要度が基準値D2以上であると判断すると(S850でYes)、S860に移行し、上記処理IDに設定された重要度が基準値D2未満であると判断すると(S850でNo)、当該ID変更処理を終了する。
また、S860に移行すると、書込読出制御部11bは、ROM15に記憶された第一閾値設定テーブルに基づき、処理IDに設定された重要度に応じて異なる閾値V1を設定する。尚、図12に示すように、第一閾値設定テーブルは、重要度が所定の基準値D3(D3>D2)以上である場合に閾値V1として設定すべき値V1[1]と、重要度が基準値D3未満である場合に閾値V1として設定すべき値V1[2]と、が記述されてなる。
この他、S860での処理を終えると、書込読出制御部11bは、S830で読み出した書込異常発生回数履歴データが示す書込異常の発生回数が閾値V1以上であるか否かを判断し(S870)、書込異常の発生回数が閾値V1以上であると判断すると(S870でYes)、RAM13のID変更テーブルから、変更前固有IDのフィールドについて、空(未使用)のフィールドを検索し(S880)、検索の結果発見された未使用のフィールドに、処理IDを書き込むことで、この処理IDに、変更後固有IDを割り当てる(S890)。即ち、この処理IDの区画を格納場所とするデータに対し、新たな格納領域として、代替データ記憶領域R2内の区画を割り当てる。また、この処理を終えると、書込読出制御部11bは、当該ID変更処理を終了する。
一方、S830で読み出した書込異常発生回数履歴データが示す書込異常の発生回数が閾値V1未満であると判断すると(S870でNo)、書込読出制御部11bは、S880〜S890の処理を実行することなく、当該ID変更処理を終了する。
尚、本実施例においては、異常履歴記憶領域R3の各区画に対し、重要度を最低に設定しており、処理IDがこれらの区画の固有IDである場合、S850では常にNoと判断される。
続いて、書込読出制御部11bが、タイマ19のカウント値に基づき、車両制御の実行期間(車両運転期間)中に、定期的に実行する処理について説明する。図13は、書込読出制御部11bが、異常履歴の記録のために定期的に実行する異常履歴記録処理を表すフローチャートである。尚、本実施例では、RAM化け異常の発生回数を記録するための異常履歴記録処理、書込異常の発生回数を記録するための異常履歴記録処理、及び、メモリセル異常の発生回数を記録するための異常履歴記録処理の計3種類の異常履歴記録処理が存在する。そして、書込読出制御部11bは、これら各異常履歴記録処理を、図13に示す手順に従って、夫々定期的に実行する。
以下には、これらの各異常履歴記録処理をまとめて説明するが、この説明において用いる「異常フラグ」との表現は、RAM化け異常の発生回数を記録するための異常履歴記録処理の場合、RAM化け異常フラグのことを示し、書込異常の発生回数を記録するための異常履歴記録処理の場合、書込異常フラグのことを示し、メモリセル異常の発生回数を記録するための異常履歴記録処理の場合、メモリセル異常フラグのことを示すものとする。
また、「異常記録完了フラグ」との表現は、RAM化け異常の発生回数を記録するための異常履歴記録処理の場合、RAM化け異常記録完了フラグのことを示し、書込異常の発生回数を記録するための異常履歴記録処理の場合、書込異常記録完了フラグのことを示し、メモリセル異常の発生回数を記録するための異常履歴記録処理の場合、メモリセル異常記録完了フラグのことを示すものとする。
その他、「更新対象の異常発生回数履歴データ」との表現は、RAM化け異常の発生回数を記録するための異常履歴記録処理の場合、RAM化け異常発生回数履歴データのことを示し、書込異常の発生回数を記録するための異常履歴記録処理の場合、書込異常発生回数履歴データのことを示し、メモリセル異常の発生回数を記録するための異常履歴記録処理の場合、メモリセル異常発生回数履歴データのことを示すものとする。
図13に示す異常履歴記録処理を開始すると、書込読出制御部11bは、バックアップメモリ13aの各区画に割り当てられた固有IDの中から、異常フラグがオンに設定され、異常記録完了フラグがオフに設定された固有IDを一つ検索し(S910)、この検索の結果、該当する固有IDが発見されなかった場合には(S920でNo)、当該異常履歴記録処理を終了し、該当する固有IDが発見された場合には(S920でYes)、S930に移行する。
また、S930に移行すると、書込読出制御部11bは、検索の結果発見された固有IDを、履歴取得対象IDに設定し、この履歴取得対象IDを用いて、図14に示す異常履歴ID取得処理を実行する(S940)。尚、図14は、書込読出制御部11bが実行する異常履歴ID取得処理を表すフローチャートである。
異常履歴ID取得処理を開始すると、書込読出制御部11bは、設定された履歴取得対象IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されているか否かを判断し(S1010)、この履歴取得対象IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されていると判断すると(S1010でYes)、S1020に移行して、異常発生箇所履歴データが格納された区画の固有IDを、返値として出力する。その後、当該異常履歴ID取得処理を終了する。
一方、履歴取得対象IDを値に持つ異常発生箇所履歴データが異常履歴記憶領域R3に記録されていないと判断すると(S1010でNo)、書込読出制御部11bは、履歴取得対象IDを値(主データ)に持つ異常発生箇所履歴データを生成すると共に(S1030)、異常履歴記憶領域R3における未使用領域から、新規に異常履歴データを書き込むための領域を選択する(S1040)。また、この処理を終えると、選択した領域の先頭区画の固有IDを引数IDに設定すると共に、S1030で生成した異常発生箇所履歴データを、指定データとして引数に設定して、図11に示すバックアップメモリ書込処理を実行することにより、S1030で生成した異常発生箇所履歴データを、上記選択した領域の先頭区画に書き込む(S1050)。
また、この処理を終えると、書込読出制御部11bは、異常発生箇所履歴データを書き込んだ区画の固有IDを、返値として出力する(S1060)。その後、当該異常履歴ID取得処理を終了する。
また、このようにしてS940での異常履歴ID取得処理を終了すると、書込読出制御部11bは、返値の固有IDに基づいて、組となっている更新対象の異常発生回数履歴データが格納された区画の固有IDを割り出し(S950)、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、更新対象の異常発生回数履歴データを、バックアップメモリ13aから読み出す(S960)。
そして、バックアップメモリ読出処理の返値として得た更新対象の異常発生回数履歴データに基づき、このデータが示す異常発生回数よりも1大きい異常発生回数を示す異常発生回数履歴データを新たに生成する(S970)。尚、異常履歴記憶領域R3の未使用領域は、値ゼロを示すデータで初期化されているものとする。即ち、S940での異常履歴ID取得処理にて新規領域が選択された場合に、S960で読み出される異常発生回数履歴データは、異常発生回数として値ゼロを示す。
また、この処理を終えると、書込読出制御部11bは、S950で割り出した固有IDを引数IDに設定すると共に、S970で生成した異常発生回数履歴データを、指定データとして引数に設定して、図11に示すバックアップメモリ書込処理を実行し、S970で生成した異常発生回数履歴データを、上記割り出した固有IDに対応する区画に書き込む(S980)。これによって、書込読出制御部11bは、バックアップメモリ13a内において、更新対象の異常発生回数履歴データを、異常発生回数が1増加するように更新する。
そして、S980での処理を終えると、書込読出制御部11bは、S990に移行し、S910での検索の結果発見された上記固有ID(履歴取得対象ID)の異常記録完了フラグをオンに設定する。また、S990での処理を終えると、S910に移行して、再び、異常フラグがオンに設定され、異常記録完了フラグがオフに設定された固有IDを検索する。そして、異常フラグがオンに設定され、異常記録完了フラグがオフに設定された固有IDが発見されなかったならば、当該異常履歴記録処理を終了する。
続いて、書込読出制御部11bが、電源不安定異常の検出及びこれについての異常履歴の記録のために定期的に実行する電源不安定異常検出記録処理について説明する。図15は、書込読出制御部11bが実行する電源不安定異常検出記録処理を表すフローチャートである。
電源不安定異常検出記録処理を開始すると、書込読出制御部11bは、現在オンに設定されている書込異常記録完了フラグが、所定数以上あるか否かを判断することにより、電源不安定異常を検出する(S1110)。
そして、現在オンに設定されている書込異常記録完了フラグが所定数未満であると判断すると(S1110でNo)、書込読出制御部11bは、電源不安定異常が発生していないとして、S1120〜1190の処理を実行することなく、当該電源不安定異常検出記録処理を終了する。
一方、現在オンに設定されている書込異常記録完了フラグが所定数以上であると判断すると(S1110でYes)、書込読出制御部11bは、電源不安定異常が発生しているとして、S1120に移行する。
また、S1120に移行すると、書込読出制御部11bは、バックアップメモリ13aの各区画に割り当てられた固有IDの中から、書込異常記録完了フラグがオンに設定され、電源不安定異常フラグ及び電源不安定異常記録完了フラグがオフに設定されている固有IDを一つ検索し、この検索の結果、該当する固有IDが発見されなかった場合には(S1125でNo)、当該電源不安定異常検出記録処理を終了し、該当する固有IDが発見された場合には(S1125でYes)、S1130に移行する。
また、S1130に移行すると、書込読出制御部11bは、検索の結果発見された固有IDを、履歴取得対象IDに設定すると共に、この固有ID(履歴取得対象ID)の電源不安定異常フラグをオンに設定する(S1140)。また、S1130で設定した履歴取得対象IDを用いて、図14に示す異常履歴ID取得処理を実行する(S1150)。
そして、S1150での異常履歴ID取得処理を終了すると、書込読出制御部11bは、返値の固有IDに基づき、対応する電源不安定異常発生回数履歴データが格納された区画の固有IDを割り出し(S1160)、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、上記電源不安定異常発生回数履歴データを、バックアップメモリ13aから読み出し(S1165)、バックアップメモリ読出処理の返値として得た電源不安定異常発生回数履歴データに基づき、このデータが示す異常発生回数よりも1大きい異常発生回数を示す電源不安定異常発生回数履歴データを新たに生成する(S1170)。
また、この処理を終えると、書込読出制御部11bは、新たに生成した電源不安定異常発生回数履歴データをバックアップメモリ13aに書き込むため、S1160で割り出した固有IDを引数IDに設定すると共に、S1170で生成した電源不安定異常発生回数履歴データを、指定データとして引数に設定して、図11に示すバックアップメモリ書込処理を実行し、S1170で生成した電源不安定異常発生回数履歴データを、上記割り出した固有IDに対応する区画に書き込む(S1180)。これによって、S1180では、バックアップメモリ13aにおいて、対応する電源不安定異常発生回数履歴データを、異常発生回数が1増加するように更新する。
そして、S1180での処理を終えると、書込読出制御部11bは、S1190に移行し、S1120での検索の結果発見された上記固有ID(履歴取得対象ID)の電源不安定異常記録完了フラグをオンに設定する。また、S1190での処理を終えると、S1120に移行して、再び、書込異常記録完了フラグがオンに設定され、電源不安定異常フラグ及び電源不安定異常記録完了フラグがオフに設定されている固有IDを検索する。そして、該当する固有IDが発見されなかった場合には、当該電源不安定異常検出記録処理を終了する。
続いて、書込読出制御部11bが異常を車両乗員に向けて報知(警告)するために定期的に実行する異常監視処理について説明する。図16及び図17は、書込読出制御部11bが実行する異常監視処理を表すフローチャートである。
異常監視処理を開始すると、書込読出制御部11bは、バックアップメモリ13aの各区画に割り当てられた固有IDの中から、検査対象IDとして未選択の固有IDを一つ選択し、これを検査対象IDに設定する(S1210)。また、この処理を終えると、書込読出制御部11bは、検査対象IDに対応する異常記録完了フラグのいずれかがオンに設定されているか否かを判断する(S1220)。即ち、検査対象IDのRAM化け異常記録完了フラグ、書込異常記録完了フラグ、電源不安定異常記録完了フラグ、及び、メモリセル異常記録完了フラグのいずれかがオンに設定されているか否かを判断する。
そして、書込読出制御部11bは、異常記録完了フラグのいずれかがオンに設定されていると判断すると(S1220でYes)、S1230に移行し、異常記録完了フラグが全てオフに設定されていると判断すると(S1220でNo)、S1290に移行する。
また、S1230に移行すると、書込読出制御部11bは、上記検査対象IDと同一の固有IDを、履歴取得対象IDに設定し(S1230)、設定した履歴取得対象IDを用いて、図14に示す異常履歴ID取得処理を実行する(S1240)。そして、この異常履歴ID取得処理を終了すると、検査対象IDのRAM化け異常記録完了フラグがオンに設定されているか否かを判断し(S1250)、RAM化け異常記録完了フラグがオンに設定されていると判断すると(S1250でYes)、S1251に移行する。
また、S1251に移行すると、書込読出制御部11bは、S1240で返値として出力された固有IDに基づき、対応するRAM化け異常発生回数履歴データが格納された区画の固有IDを割り出し、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、上記RAM化け異常発生回数履歴データを、バックアップメモリ13aから読み出す(S1253)。
そして、この処理を終えると、書込読出制御部11bは、ROM15が記憶する第二閾値設定テーブルに基づき、検査対象IDのクラスに応じて異なる閾値V2を設定する(S1255)。図18は、ROM15が記憶する第二閾値設定テーブルの構成を表す説明図である。
図18に示すように、第二閾値設定テーブルは、固有IDのクラス毎に、RAM化け異常、書込異常、電源不安定異常、及び、メモリセル異常の各異常発生時に閾値V2として設定すべき値V2[i,1]〜V2[i,4]を有する(i=1〜4)。また、この第二閾値設定テーブルにおいて、上記固有IDのクラスとしては、重要度が基準値D4以上に設定されたデータ記憶領域内の区画に割り当てられた固有IDのクラス、重要度が基準値D4未満に設定されたデータ記憶領域R1内の区画に割り当てられた固有IDのクラス、代替データ記憶領域R2内の区画に割り当てられた固有IDのクラス、及び、異常履歴記憶領域R3内の区画に割り当てられた固有IDのクラスが設定されている。
書込読出制御部11bは、このように構成された第二閾値設定テーブルを用い、値V2[1,1]〜V2[4,1]の内、検査対象IDのクラスに対応する値を、閾値V2に設定する(S1255)。
また、このようにしてS1255での処理を終えると、書込読出制御部11bは、S1253で読み出したRAM化け異常発生回数履歴データが示すRAM化け異常の発生回数が閾値V2以上であるか否かを判断し(S1257)、RAM化け異常の発生回数が閾値V2以上であると判断すると(S1257でYes)、RAM化け異常を表すメッセージを、運転席前方のインストルパネルに設けられた表示装置27に表示することにより、このRAM化け異常を、車両乗員に報知する(S1259)。その後、S1260に移行する。
これに対し、S1257にて、RAM化け異常の発生回数が閾値V2未満であると判断すると(S1257でNo)、書込読出制御部11bは、S1259の処理を実行せずに、S1260に移行する。
また、S1250において、検査対象IDのRAM化け異常記録完了フラグがオフに設定されていると判断すると(S1250でNo)、書込読出制御部11bは、S1260に移行し、検査対象IDの書込異常記録完了フラグがオンに設定されているか否かを判断する。そして、書込異常記録完了フラグがオンに設定されていると判断すると(S1260でYes)、S1261に移行する。
また、S1261に移行すると、書込読出制御部11bは、S1240で返値として出力された固有IDに基づき、対応する書込異常発生回数履歴データが格納された区画の固有IDを割り出し、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、上記書込異常発生回数履歴データを、バックアップメモリ13aから読み出す(S1263)。
そして、この処理を終えると、書込読出制御部11bは、ROM15が記憶する第二閾値設定テーブルに基づき、検査対象IDのクラスに応じて異なる閾値V2を設定する(S1265)。即ち、書込読出制御部11bは、第二閾値設定テーブルに記述された値V2[1,2]〜V2[4,2]の内、検査対象IDのクラスに対応する値を、閾値V2に設定する。
また、このようにしてS1265での処理を終えると、書込読出制御部11bは、S1263で読み出した書込異常発生回数履歴データが示す書込異常の発生回数が閾値V2以上であるか否かを判断し(S1267)、書込異常の発生回数が閾値V2以上であると判断すると(S1267でYes)、書込異常を表すメッセージを、表示装置27に表示することにより、この書込異常を、車両乗員に報知する(S1269)。その後、S1270に移行する。
その他、S1267にて、書込異常の発生回数が閾値V2未満であると判断すると(S1267でNo)、書込読出制御部11bは、S1269の処理を実行せずに、S1270に移行する。
また、S1260において、検査対象IDの書込異常記録完了フラグがオフに設定されていると判断すると(S1260でNo)、書込読出制御部11bは、S1270に移行し、検査対象IDの電源不安定異常記録完了フラグがオンに設定されているか否かを判断する。そして、電源不安定異常記録完了フラグがオンに設定されていると判断すると(S1270でYes)、S1271に移行する。
また、S1271に移行すると、書込読出制御部11bは、S1240で返値として出力された固有IDに基づき、対応する電源不安定異常発生回数履歴データが格納された区画の固有IDを割り出し、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、上記電源不安定異常発生回数履歴データを、バックアップメモリ13aから読み出す(S1273)。
そして、S1273での処理を終えると、書込読出制御部11bは、ROM15が記憶する第二閾値設定テーブルに基づき、検査対象IDのクラスに応じて異なる閾値V2を設定する(S1275)。即ち、S1275において、書込読出制御部11bは、第二閾値設定テーブルに記述された値V2[1,3]〜V2[4,3]の内、検査対象IDのクラスに対応する値を、閾値V2に設定する。
また、S1275での処理を終えると、書込読出制御部11bは、S1273で読み出した電源不安定異常発生回数履歴データが示す電源不安定異常の発生回数が閾値V2以上であるか否かを判断し(S1277)、電源不安定異常の発生回数が閾値V2以上であると判断すると(S1277でYes)、電源不安定異常を表すメッセージを、表示装置27に表示することにより、この電源不安定異常を、車両乗員に報知する(S1279)。その後、S1280に移行する。
これに対し、S1277にて、電源不安定異常の発生回数が閾値V2未満であると判断すると(S1277でNo)、書込読出制御部11bは、S1279の処理を実行せずに、S1280に移行する。
また、S1270において、検査対象IDの電源不安定異常記録完了フラグがオフに設定されていると判断すると(S1270でNo)、書込読出制御部11bは、S1280に移行し、検査対象IDのメモリセル異常記録完了フラグがオンに設定されているか否かを判断する。そして、メモリセル異常記録完了フラグがオンに設定されていないと判断すると、S1290に移行し、オンに設定されていると判断すると(S1280でYes)、S1281に移行する。
また、S1281に移行すると、書込読出制御部11bは、S1240で返値として出力された固有IDに基づき、対応するメモリセル異常発生回数履歴データが格納された区画の固有IDを割り出し、割り出した固有IDを引数に設定してバックアップメモリ読出処理を実行することにより、上記メモリセル異常発生回数履歴データを、バックアップメモリ13aから読み出す(S1283)。
そして、S1283での処理を終えると、書込読出制御部11bは、ROM15が記憶する第二閾値設定テーブルに基づき、検査対象IDのクラスに応じて異なる閾値V2を設定する(S1285)。即ち、S1285において、書込読出制御部11bは、第二閾値設定テーブルに記述された値V2[1,4]〜V2[2,4]の内、検査対象IDのクラスに対応する値を、閾値V2に設定する。
また、S1285での処理を終えると、書込読出制御部11bは、S1283で読み出したメモリセル異常発生回数履歴データが示すメモリセル異常の発生回数が閾値V2以上であるか否かを判断し(S1287)、メモリセル異常の発生回数が閾値V2以上であると判断すると(S1287でYes)、メモリセル異常を表すメッセージを表示装置27に表示することにより、このメモリセル異常を、車両乗員に報知する(S1289)。その後、S1290に移行する。
これに対し、S1287にて、メモリセル異常の発生回数が閾値V2未満であると判断すると(S1287でNo)、書込読出制御部11bは、S1289の処理を実行せずに、S1290に移行する。
また、S1290に移行すると、書込読出制御部11bは、バックアップメモリ13aの各区画に割り当てられた固有IDの全てをS1210において検査対象IDに設定してS1220以降の処理を実行したか否かを判断し、全固有IDを検査対象IDに設定していないと判断すると(S1290でNo)、S1210に移行して、未選択の固有IDの一つを、検査対象IDに設定し、S1220以降の処理を実行する。そして、全固有IDを検査対象IDに設定してS1220以降の処理を実行したと判断すると(S1290でYes)、当該異常監視処理を終了する。
続いて、書込読出制御部11bが実行するパワーダウン処理について説明する。図19は、運転席に設けられたイグニッションスイッチ操作部を通じ、イグニッションスイッチのオフ操作がなされ、所定のタイムラグをもって、イグニッションスイッチSWがオフされるまでの間に、書込読出制御部11bが実行するパワーダウン処理を表すフローチャートである。
パワーダウン処理を開始すると、書込読出制御部11bは、まず、データ記憶領域R1及び代替データ記憶領域R2の各区画に割り当てられた固有IDの中から、前回値書込対象IDとして未選択の固有IDを一つ選択し、これを前回値書込対象IDに設定する(S1310)。
また、この処理を終えると、書込読出制御部11bは、重要度テーブルに基づき、前回値書込対象IDに設定された重要度を識別し(S1320)、識別した重要度が基準値D1以上であるか否かを判断する(S1330)。但し、前回値書込対象IDが代替データ記憶領域の区画に割り当てられた固有IDである場合、S1320では、この前回値書込対象IDに設定された固有IDの変更前固有IDに設定された重要度を識別する。
そして、重要度が基準値D1未満であると判断すると(S1330でNo)、書込読出制御部11bは、S1360に移行し、重要度が基準値D1以上であると判断すると(S1330でYes)、S1340に移行する。また、S1340に移行すると、書込読出制御部11bは、この前回値書込対象IDの異常記録完了フラグのいずれかが、オンに設定されているか否かを判断する。即ち、RAM化け異常記録完了フラグ、書込異常記録完了フラグ、電源不安定異常記録完了フラグ、及び、メモリセル異常記録完了フラグのいずれかがオンに設定されているか否かを判断する。
そして、前回値書込対象IDの異常記録完了フラグのいずれかがオンに設定されていると判断すると(S1340でYes)、S1350の処理を実行することなく、S1360に移行し、前回値書込対象IDの異常記録完了フラグの全てがオフに設定されていると判断すると(S1340でNo)、S1350に移行して、前回値テーブルにおいて上記前回値書込対象IDに対応付けられている制御用データを、前回値書込対象IDに対応するバックアップメモリ13a内の区画に記録されたデータ(制御用データ)に更新する。
但し、上記前回値書込対象IDが代替データ記憶領域の区画に割り当てられた固有IDである場合には、前回値テーブルにおいて、この変更前固有IDに対応付けられた制御用データを、前回値書込対象IDに対応するバックアップメモリ13a内の区画に記録されたデータ(制御用データ)に更新する。また、S1350での処理を終えると、書込読出制御部11bは、S1360に移行する。
この他、S1360に移行すると、書込読出制御部11bは、データ記憶領域R1及び代替データ記憶領域R2の各区画に割り当てられた固有IDの全てを、前回値書込対象IDに選択してS1320以降の処理を実行したか否かを判断し、全固有IDを前回値書込対象IDに選択していないと判断すると(S1360でNo)、S1310に移行して、未選択の固有IDを、前回値書込対象IDに設定し、S1320以降の処理を実行する。
一方、全固有IDを前回値書込対象IDに選択したと判断すると(S1360でYes)、書込読出制御部11bは、S1370に移行し、EEPROM17が記憶するID変更テーブルを、RAM13が記憶するID変更テーブルと同一内容に更新して、最新のID変更テーブルを、EEPROM17にバックアップ保存する。
また、この処理を終えると、書込読出制御部11bは、S1380に移行し、EEPROM17が記憶する異常履歴前回値テーブルの内容を、バックアップメモリ13aにおける異常履歴記憶領域R3の内容と同一内容に更新して、各異常履歴データを、EEPROM17にバックアップ保存する。その後、当該パワーダウン処理を終了する。
以上、書込読出制御部11bにて実行される処理について説明したが、本実施例の電子制御装置1は、この書込読出制御部11bによって生成・記録された異常履歴データを出力する機能を有する。
即ち、本実施例の電子制御装置1が備える通信インタフェース23には、車内LANを通じて、当該車両に搭載された無線通信装置31が接続されており、電子制御装置1は、図20(a)に示すように、この無線通信装置31を通じて、外部のリモートセンタ32から異常履歴データを要求する旨の要求メッセージを受信すると、これに応答して、要求された異常履歴データを格納した応答メッセージを、リモートセンタ32に送信する。
また、本実施例の電子制御装置1が備える通信インタフェース23には、車内LANを通じて、ダイアグテスタ(故障診断装置)34の接続を受け付ける外部接続装置33が接続されており、電子制御装置1は、この外部接続装置33を通じて、外部接続装置33に接続されたダイアグテスタ34から異常履歴データを要求する旨の要求メッセージを受信すると、これに応答して、要求された異常履歴データを格納した応答メッセージを、ダイアグテスタ34に送信する。
尚、図20(a)は、リモートセンタ32及びダイアグテスタ34と電子制御装置1とのメッセージ送受に関する説明図であり、図20(b)は、要求メッセージの構成を表す説明図、図20(c)は、応答メッセージの構成を表す説明図である。また、図21は、イグニッションスイッチSWがオンにされ上述のパワーオン処理が実行された後、CPU11が、ROM15に記憶された所定のプログラムに基づき繰返し実行する外部メッセージ受付処理を表すフローチャートである。
外部メッセージ受付処理を開始すると、CPU11は、通信インタフェース23を通じて外部装置(リモートセンタ32又はダイアグテスタ34)からメッセージを受信するまで待機し(S1410)、メッセージを受信すると、受信メッセージを解析し(S1420)、受信メッセージが正しいデータ構造の要求メッセージであるか否かを判断する(S1430)。尚、要求メッセージは、図20(b)に示すように、当該メッセージが要求メッセージであることを示すコード情報と、要求の種類を表すコード情報と、付属データと、からなる構造を採る。
CPU11は、受信メッセージが図20(b)に示す構造の要求メッセージである場合、受信メッセージが正しいデータ構造の要求メッセージであると判断して(S1430でYes)、S1440に移行し、受信メッセージが正しいデータ構造の要求メッセージではないと判断すると(S1430でNo)、当該外部メッセージ受付処理を一旦終了する。その後、再びS1410に移行する。
また、S1440に移行すると、CPU11は、受信メッセージに格納された要求の種類を表すコード情報に基づき、受信メッセージが、データ要求メッセージであるか否かを判断し、受信メッセージがデータ要求メッセージであると判断すると(S1440でYes)、S1450にて、付属データに基づき、要求されたデータを識別する。具体的に、付属データが”0xFFFF”との値を示す場合、CPU11は、要求されたデータが、異常履歴記憶領域R3に記憶された各異常発生箇所履歴データが示す固有IDのリストを記したリストデータであると識別する。そして、要求されたデータがリストデータであると識別すると、S1460に移行し、このリストデータを格納した応答メッセージを生成する。尚、応答メッセージは、図20(c)に示すように、当該メッセージが応答メッセージであることを示すコード情報と、付属データと、からなる構造を採る。
即ち、異常履歴記憶領域R3に記憶された異常発生箇所履歴データが示す固有IDが、”ID1234”及び”ID1345”である場合、CPU11は、付属データとして、”1234,1345”との値を示す付属データを生成し、応答メッセージ用の上記コード情報と、この付属データとを配列した応答メッセージを生成する(S1460)。
また、この処理を終えると、CPU11は、S1490に移行し、応答メッセージを、通信インタフェース23を通じて要求メッセージ送信元装置に送信する。その後、当該外部メッセージ受付処理を終了する。
一方、受信メッセージの付属データが”0xFFFF”以外の値を示す場合、CPU11は、S1450において要求されたデータが異常履歴データであると識別し、S1470にて、この付属データが示す値と一致する固有IDを示す異常発生箇所履歴データを有する異常履歴データを、付属データとした応答メッセージを生成する。即ち、要求メッセージの付属データが示す固有IDが割り当てられたバックアップメモリ13aの区画にて発生したRAM化け異常、書込異常、電源不安定異常、メモリセル異常の各異常についての発生回数を記述した応答メッセージを生成する。
また、このようにしてS1470での処理を終えると、CPU11は、生成した応答メッセージを、通信インタフェース23を通じて要求メッセージ送信元装置に送信する(S1490)。その後、当該外部メッセージ受付処理を終了する。
その他、S1440において、受信メッセージに格納された要求の種類を表すコード情報に基づき、受信メッセージがデータ要求メッセージではないと判断すると、CPU11は、受信メッセージが、データクリアを要求する旨のクリア要求メッセージであるか否かを判断し(S1480)、クリア要求メッセージであると判断すると(S1480でYes)、受信メッセージの付属データに基づき、指定されたクリア対象の区画を識別する(S1481)。
具体的に、付属データが”0xFFFF”との値を示す場合、CPU11は、指定されたクリア対象が、異常履歴記憶領域R3の全区画であると識別し、S1483にて、異常履歴記憶領域R3内の全区画のデータをクリアする。また、この処理を終えると、CPU11は、S1487に移行し、データクリアした旨のメッセージを記した応答メッセージを生成し、この応答メッセージを、通信インタフェース23を通じて要求メッセージ送信元装置に送信する(S1490)。その後、当該外部メッセージ受付処理を終了する。
一方、受信メッセージの付属データが”0xFFFF”以外の値を示す場合、CPU11は、S1481において指定されたクリア対象が特定区画であると識別し、S1485にて、この付属データが示す値と一致する固有IDを示す異常発生箇所履歴データを有する異常履歴データが格納された各区画のデータをクリアする。また、この処理を終えると、CPU11は、S1487に移行し、データクリアした旨のメッセージを記した応答メッセージを生成し、この応答メッセージを、通信インタフェース23を通じて要求メッセージ送信元装置に送信する(S1490)。その後、当該外部メッセージ受付処理を終了する。
その他、S1480において、受信メッセージがクリア要求メッセージではないと判断すると(S1480でNo)、CPU11は、S1489に移行し、受信メッセージが示す要求内容に対応した処理を実行し、その後、当該外部メッセージ受付処理を終了する。
以上、本実施例の電子制御装置1について説明したが、本実施例の電子制御装置1では、バックアップメモリ13aにて異常を検出すると、バックアップメモリ13aの異常履歴記憶領域R3において、検出された異常の発生区画の固有IDを表す異常発生箇所履歴データと関連付けられて記憶された異常発生回数履歴データを更新することにより、この異常発生回数を、異常の発生区画の情報と対応付けて記録する(図13参照)。また、車載バッテリ25が脱着されても異常発生回数がリセットされないように、パワーダウン時には、異常履歴記憶領域R3内のデータをEEPROM17に書き込む(図19参照)。
また、本実施例の電子制御装置1は、車外装置と通信可能な通信インタフェース23を備え、異常履歴記録処理等により記録された異常履歴の内容に基づき、バックアップメモリ13aで発生した異常の発生回数を表すデータ(応答メッセージ)を、通信インタフェース23を通じて車外装置に送信する(図21参照)。
このように、本実施例の電子制御装置1では、イグニッションスイッチのオン/オフ操作にかかわらず、異常発生回数の情報を記憶して、異常発生回数を長期に渡り累積的に記録し、これをダイアグテスタ34やリモートセンタ32等に提供するので、従来よりも、異常が恒久的な異常か、偶発的な異常かを判断するのに役立つ詳細な情報を提供することができる。
即ち、本実施例によれば、利用者(車両乗員やメンテナンス作業者等)は、ダイアグテスタ34等を通じ、バックアップメモリ13aにおける異常の発生頻度を正確に把握することができ、異常解消のための適切な処置を採ることができる。具体的には、異常が恒久的な異常である場合には、ハードウェアを交換する等の処置を採ることができると共に、偶発的な異常である場合には、ハードウェアを交換せず、異常に対処することができる。
また、本実施例の電子制御装置1によれば、通信インタフェース23を通じて外部装置から受信したデータ要求メッセージに応答して、異常履歴データを要求元装置に送信するため、効率的に異常履歴データを外部に提供することができる。
また、本実施例の電子制御装置1は、受信したデータ要求メッセージにより固有IDの指定を受けて、この固有IDに対応する区画の異常発生回数を表す応答メッセージを、データ要求元装置に送信する。即ち、本実施例の電子制御装置1によれば、要求された異常発生回数の情報を選択的に、利用者に提供することができ、利用者は、必要な異常履歴の情報を得て、効率的に異常を究明することができる。
その他、異常の内容によっては、再現テストを行い、このテスト時に生成された異常履歴データを解析したほうが、効率的に異常原因を究明できる場合もあるため、本実施例の電子制御装置1には、通信インタフェース23を通じ、外部装置からクリア要求メッセージを受信した場合に、異常履歴データをクリアする機能を設けた。従って、利用者は、ダイアグテスタ34等を通じて、異常履歴データをクリアした後に再現テストを実行することで、異常原因の究明を効率的に行うことができる。
また、本実施例の電子制御装置1では、受信したクリア要求メッセージにより指定された固有IDと同一の値を示す異常発生箇所履歴データを有する異常履歴データを、選択的にクリアできるため、利用者は、ダイアグテスタ等を通じ、クリアする必要のない異常履歴データをクリアせずに必要なデータのみを選択的にクリアすることができる。
また、本実施例の電子制御装置1によれば、RAM化け異常発生回数履歴データと、書込異常発生回数履歴データと、電源不安定異常発生回数履歴データと、メモリセル異常発生回数履歴データとを更新して、これらの各異常発生回数を記録するため、利用者は、ダイアグテスタ等を通じて、様々な異常の発生頻度を把握することができ、様々な異常に対し適切に対処することができる。
その他、1度の運転期間に、異常の発生回数を、検出回数分カウントアップしても、これらの情報は、車両の運転状態の詳細を利用者が把握していなければ、無意味な情報となる可能性が高いため、本実施例の電子制御装置1では、異常記録完了フラグを用いて、車両乗員の操作により当該装置がパワーオンされてから、パワーダウンされるまでの期間(1度の運転期間)に発生した各異常に関し、異常の発生区画及び異常の種類毎に、1度のみ、異常の発生回数を1カウントアップし、各区画及び各種類の異常の発生回数を記録するようにした。従って、本実施例の電子制御装置1によれば、効率的に、異常の発生回数を記録することができ、CPU11の処理負荷を抑えることができる。
また、本実施例では、異常判定付き書込処理において、バックアップメモリ13a内の制御用データを更新する際、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出するようにした。そして、書込異常が検出された場合には、書込異常の発生区画に応じ、フェールセーフ処理の内容を切り替えるようにした。
即ち、データ記憶領域R1の区画で書込異常が生じた場合であって、この区画に記憶された制御用データが重要度の高い制御用データである場合には、代替データ記憶領域R2に、この制御用データの記憶領域を確保するといった内容のフェールセーフ処理を実行し、書込異常が生じた区画の制御用データが重要度の低い制御用データである場合には、代替データ記憶領域R2に制御用データの記憶領域を確保せず、この制御用データの初期値を、制御用データの読出時に、返値として出力するといった内容のフェールセーフ処理を実行するようにした。従って、本実施例によれば、代替データ記憶領域R2を必要以上に大きくしなくても、書込異常の問題を電子制御装置1内で適切に解決することができる。
また、本実施例では、重要度の高い制御用データに対して、書込異常の発生時に代替データ記憶領域R2の区画を割り当てるが、この割り当ての実行タイミングを、書込異常の発生回数で調整するようにした。
即ち、本実施例の電子制御装置1では、書込異常が検出された場合に実行するフェールセーフ処理の内容を、同一区画で過去に発生した異常の発生回数に応じ切り替え、制御用データの書込異常が発生しても、異常の発生回数が閾値V1未満である場合には、代替データ記憶領域R2に制御用データの記憶領域を確保せずに、この制御用データの初期値を、制御用データの読出時に、返値として出力するようにし、異常の発生回数が閾値V1以上である場合には、書込異常が恒久的なものであるとして、代替データ記憶領域R2に、この制御用データの記憶領域を確保するようにした。従って、本実施例によれば、偶発的な書込異常が発生している区画の制御用データに、代替データ記憶領域R2を割り当てなくて済み、代替データ記憶領域R2を有効に活用することができる。
また、本実施例の電子制御装置1では、チェックデータに基づき、各制御用データについてのデータ化けを検出し、この異常発生回数を記録すると共に、データ化けに対するフェールセーフ処理として、データ化けが検出された制御用データを、データ化け発生前の制御用データに更新する処理を実行するようにした。従って、本実施例の電子制御装置1によれば、データ化けによる異常を、電子制御装置1内部で解決することができる。
その他、本実施例の電子制御装置1では、互いに整合が取れていないと好ましくない制御用データ群を、セクション番号によってグループ化し、データ化けが検出された制御用データを、データ化け発生前の制御用データに更新する際には、データ化けが検出された制御用データと同時に、データ化けが検出された制御用データと同一グループに属する各制御用データを、データ化け発生前の値に更新するようにした。従って、本実施例によれば、各制御用データ間の整合をとりながら、データ化けに対処することができ、制御用データ間の不整合により、不安定な車両制御が行われるのを防止することができる。
また、本実施例の電子制御装置1では、異常が検出されていない区画の制御用データを、EEPROM17にバックアップ保存し、データ化けが検出された場合には、対応する区画のバックアップ保存値(前回値)を用い、データ化けが検出された区画の制御用データを復元するようにした。従って、本実施例によれば、データ化け発生時にも、学習結果に基づいた適切な車両制御を実行することができる。
また、本実施例の電子制御装置1では、チェックデータを制御用データに組み込んでいるため、車載バッテリ25の脱着によりバックアップメモリ13a内のデータが揮発した場合には、バックアップメモリ13a内の各区画において、データ化けが検出されてしまうが、本実施例では、パワーオン時に、各制御用データに対し、データ化けの検出動作を実行するようにし、この動作にて所定数以上のデータ化けが検出された場合には、車載バッテリ25が脱着されたと判断して、このデータ化けに基づき、異常発生回数を更新しないようにした。従って、本実施例によれば、車載バッテリ25の脱着に起因する異常検出を無視することができ、この異常の報知によって、車両乗員や作業者等が、電子制御装置1に異常があると錯誤してしまうのを防止することができる。
その他、本実施例では、バックメモリ書込処理にて、実行指令元からの指定データを対応する固有IDの区画に書き込む際、これに先立って、バックアップメモリ読出処理を実行することにより、上記区画に対する書込動作(上記区画のデータ更新)に先立って、更新される制御用データに対しデータ化けの検出動作を実行するようにした。従って、本実施例の電子制御装置1によれば、データ更新前の制御用データにデータ化けが生じている場合でも、データ更新によって異常が解消される前に、この異常を漏らさず検出することができ、正確に、データ化けに係る異常履歴を記録することができる。
また、本実施例の電子制御装置1では、異常が検出されていない区画の制御用データをの内、重要度の高いものをEEPROM17にバックアップ保存し、この区画についての書込異常が検出された場合には、この書込異常に対するフェールセーフ処理として、対応する区画のバックアップ保存値(前回値)を、読出指令に対する応答結果として出力するようにした。従って、本実施例によれば、書込異常発生時にも、学習結果に基づいた適切な車両制御を実行することができる。
また、本実施例の電子制御装置1では、異常履歴データが表す異常発生回数に基づき、車両乗員に対して異常を報知する必要があるか否かを判断し、報知が必要であると判断した場合には、インストルパネル内の表示装置27を通じて、車両乗員に対し、異常を報知するようにした。従って、本実施例によれば、発生頻度の高い異常が発生した場合に、早期に車両乗員に対して異常を警告することができると共に、偶発的な異常については、これを報知せずに済み、車両乗員に不安を与えないようにすることができる。
また特に、本実施例では、異常が発生している区画のクラスに応じて異なる閾値V2を設定し、この閾値V2を基準として、車両乗員に対して異常を報知する必要があるか否かを判断するようにした。従って、電子制御装置1によれば、車両乗員に対し適切に必要な異常を報知することができる。
尚、本発明の異常検出手段は、S230〜S255,S630〜S670,S750〜S765,S1110〜S1140の処理にて実現され、異常履歴記録手段は、異常履歴記録処理及びS1150〜S1190,S1380の処理にて実現されている。また、異常履歴送信手段は、外部メッセージ受付処理、特に、S1470,S1490の処理にて実現されている。その他、異常履歴クリア手段は、外部メッセージ受付処理、特に、S1485の処理にて実現されている。
また、フェールセーフ処理実行手段は、S260,S280〜S290,S780〜S785の処理にて実現され、バックアップ手段は、S1310〜S1360の処理にて実現されている。その他、脱着判断手段は、S140の処理にて実現され、警告要否判断手段及び警告装置制御手段は、異常監視処理にて実現されている。
また、本発明の電子制御装置は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、異常監視処理において、インストルパネルに設けられた表示装置27を通じ、メッセージの形態で、車両乗員に異常を報知するようにしたが、異常監視処理においては、表示装置27に代えて、インストルパネルに設けられた警告ランプを制御し、これを点灯させることにより、車両乗員に異常を報知するようにしても構わない。
電子制御装置1の構成を表すブロック図(a)及びCPU11にて実現される機能を表す機能ブロック図(b)である。 バックアップメモリ13aのデータ構成を表す説明図である。 ROM15のデータ構成を表す説明図である。 EEPROM17のデータ構成を表す説明図である。 書込読出制御部11bが行うパワーオン処理を表すフローチャートである。 書込読出制御部11bが行うバックアップメモリ読出処理を表すフローチャートである。 書込読出制御部11bが行う処理ID設定処理を表すフローチャートである。 書込読出制御部11bが行うRAM化け異常フェールセーフ処理を表すフローチャートである。 書込読出制御部11bが行う初期値取得処理を表すフローチャートである。 書込読出制御部11bが行う異常判定付き書込処理を表すフローチャートである。 書込読出制御部11bが行うバックアップメモリ書込処理を表すフローチャートである。 書込読出制御部11bが行うID変更処理を表すフローチャートである。 書込読出制御部11bが定期的に行う異常履歴記録処理を表すフローチャートである。 書込読出制御部11bが行う異常履歴ID取得処理を表すフローチャートである。 書込読出制御部11bが行う電源不安定異常検出記録処理を表すフローチャートである。 書込読出制御部11bが行う異常監視処理を表すフローチャートである。 書込読出制御部11bが行う異常監視処理を表すフローチャートである。 ROM15が記憶する第二閾値設定テーブルの構成を表す説明図である。 書込読出制御部11bが行うパワーダウン処理を表すフローチャートである。 外部装置と電子制御装置1とのメッセージ送受に関する説明図(a)及び要求メッセージの構成及び応答メッセージの構成を表す説明図(b,c)である。 CPU11が行う外部メッセージ受付処理を表すフローチャートである。
符号の説明
1…電子制御装置、11…CPU、11a…学習制御部、11b…書込読出制御部、13…RAM、13a…バックアップメモリ、15…ROM、17…EEPROM、19…タイマ、21…入出力装置、23…通信インタフェース、25…車載バッテリ、27…表示装置、31…無線通信装置、32…リモートセンタ、33…外部接続装置、34…ダイアグテスタ、R1…データ記憶領域、R2…代替データ記憶領域、R3…異常履歴記憶領域

Claims (26)

  1. 揮発性メモリを内蔵し、前記揮発性メモリが記憶する制御用データに基づき、車両制御を実行すると共に、この制御結果に従い、前記揮発性メモリが記憶する制御用データを更新する車両用の電子制御装置であって、
    前記揮発性メモリにおいて発生した異常を検出する異常検出手段と、
    前記異常検出手段によって検出された異常の履歴を、前記揮発性メモリにおける異常の発生領域を表す情報と関連付けて、前記揮発性メモリに記録する異常履歴記録手段と、
    外部装置と通信可能な通信インタフェースと、
    前記異常履歴記録手段によって前記揮発性メモリに記録された履歴に基づき、前記揮発性メモリについての異常履歴を表す送信信号を生成し、これを前記通信インタフェースを通じて外部装置に送信する異常履歴送信手段と、
    を備え、前記揮発性メモリは、車載バッテリからの電源供給を常時受けて、所有データを常時記憶保持可能な構成にされていることを特徴とする電子制御装置。
  2. 揮発性メモリを内蔵し、前記揮発性メモリが記憶する制御用データに基づき、車両制御を実行すると共に、この制御結果に従い、前記揮発性メモリが記憶する制御用データを更新する車両用の電子制御装置であって、
    電気的にデータ書換可能な不揮発性メモリと、
    前記揮発性メモリにおいて発生した異常を検出する異常検出手段と、
    前記異常検出手段によって検出された異常の履歴を、前記揮発性メモリにおける異常の発生領域を表す情報と関連付けて、前記不揮発性メモリに記録する異常履歴記録手段と、
    外部装置と通信可能な通信インタフェースと、
    前記異常履歴記録手段によって前記不揮発性メモリに記録された履歴に基づき、前記揮発性メモリについての異常履歴を表す送信信号を生成し、これを前記通信インタフェースを通じて外部装置に送信する異常履歴送信手段と、
    を備えることを特徴とする電子制御装置。
  3. 前記異常履歴送信手段は、前記通信インタフェースを通じ、外部装置から異常履歴の送信要求信号を受信すると、前記異常履歴を表す送信信号を生成し、これを送信要求元の外部装置に送信する構成にされていることを特徴とする請求項1又は請求項2記載の電子制御装置。
  4. 前記送信要求信号には、異常の発生領域を指定する情報が含まれ、
    前記異常履歴送信手段は、前記通信インタフェースを通じ、外部装置から異常履歴の送信要求信号を受信すると、前記異常履歴記録手段により記録された履歴の内、前記受信した送信要求信号により指定された領域において発生した異常についての履歴を表す前記送信信号を生成し、これを送信要求元の外部装置に送信する構成にされていることを特徴とする請求項3記載の電子制御装置。
  5. 前記通信インタフェースを通じ、外部装置から異常履歴のクリア要求信号を受信すると、前記異常履歴記録手段によって記録された履歴を、クリアする異常履歴クリア手段、
    を備えることを特徴とする請求項1〜請求項4のいずれかに記載の電子制御装置。
  6. 前記クリア要求信号には、異常の発生領域を指定する情報が含まれ、
    前記異常履歴クリア手段は、前記通信インタフェースを通じ、外部装置から異常履歴のクリア要求信号を受信すると、前記異常履歴記録手段により記録された履歴の内、前記受信したクリア要求信号により指定された前記異常の発生領域を表す情報と関連付けられて前記異常履歴記録手段により記録された履歴を、クリアする構成にされていることを特徴とする請求項5記載の電子制御装置。
  7. 前記異常履歴記録手段は、前記異常検出手段によって検出された異常の履歴として、前記異常の発生領域を表す情報に関連付けて、異常の発生回数を記録する構成にされていることを特徴とする請求項1〜請求項6のいずれかに記載の電子制御装置。
  8. 前記異常検出手段は、複数種類の異常を検出可能な構成にされ、
    前記異常履歴記録手段は、前記異常検出手段により異常が検出された各領域毎に、前記各種類の異常の発生回数を記録する構成にされていることを特徴とする請求項7記載の電子制御装置。
  9. 前記異常履歴記録手段は、車両乗員の操作により車両制御が開始されてから車両制御が終了されるまでの期間に、前記異常検出手段によって検出された各異常に関し、異常の発生領域及び異常の種類毎に、1度のみ、異常の発生回数を1カウントアップして、各領域及び各種類の異常の発生回数を記録する構成にされていることを特徴とする請求項8記載の電子制御装置。
  10. 前記異常検出手段により異常が検出されると、前記検出された異常に対して所定のフェールセーフ処理を実行するフェールセーフ処理実行手段、
    を備えることを特徴とする請求項1〜請求項9のいずれかに記載の電子制御装置。
  11. 前記フェールセーフ処理実行手段は、前記検出された異常の発生領域に応じ、実行するフェールセーフ処理の内容を切り替える構成にされていることを特徴とする請求項10記載の電子制御装置。
  12. 前記フェールセーフ処理実行手段は、前記検出された異常と同一領域で過去に発生した異常の発生回数に応じ、実行するフェールセーフ処理の内容を切り替える構成にされていることを特徴とする請求項10記載の電子制御装置。
  13. 前記フェールセーフ処理実行手段は、前記検出された異常の発生領域、及び、この領域で過去に発生した異常の発生回数に応じ、実行するフェールセーフ処理の内容を切り替える構成にされていることを特徴とする請求項10記載の電子制御装置。
  14. 前記制御用データには、データ化け検出用のデータとしてのチェックデータが含まれ、
    前記異常検出手段は、前記異常として、前記チェックデータに基づき、前記揮発性メモリが記憶する各制御用データについてのデータ化けを検出可能な構成にされていることを特徴とする請求項1〜請求項13のいずれかに記載の電子制御装置。
  15. 前記制御用データには、データ化け検出用のデータとしてのチェックデータが含まれ、
    前記異常検出手段は、前記異常として、前記チェックデータに基づき、前記揮発性メモリが記憶する各制御用データについてのデータ化けを検出可能な構成にされ、
    前記フェールセーフ処理実行手段は、前記データ化けに対するフェールセーフ処理として、前記データ化けが検出された制御用データを、データ化け発生前の制御用データに更新する処理を実行する構成にされていることを特徴とする請求項10記載の電子制御装置。
  16. 前記揮発性メモリが記憶する各制御用データは、種類毎にグループ化されており、
    前記フェールセーフ処理実行手段は、前記データ化けに対するフェールセーフ処理として、前記データ化けが検出された制御用データを、データ化け発生前の制御用データに更新すると共に、前記データ化けが検出された制御用データと同一グループに属する各制御用データを、前記データ化け発生前の制御用データと対となる制御用データに更新する処理を実行する構成にされていることを特徴とする請求項15記載の電子制御装置。
  17. 前記異常検出手段により異常が検出されていない領域に記憶された前記揮発性メモリ内の各制御用データを、前記不揮発性メモリにバックアップ保存するバックアップ手段と、
    前記異常検出手段により異常が検出されると、前記検出された異常に対して所定のフェールセーフ処理を実行するフェールセーフ処理実行手段と、
    を備え、
    前記制御用データには、データ化け検出用のデータとしてのチェックデータが含まれ、
    前記異常検出手段は、前記異常として、前記チェックデータに基づき、前記揮発性メモリが記憶する各制御用データについてのデータ化けを検出可能な構成にされ、
    前記フェールセーフ処理実行手段は、前記データ化けに対するフェールセーフ処理として、前記異常検出手段によりデータ化けが検出された制御用データを、前記バックアップ手段により前記不揮発性メモリに記憶された異常検出前の制御用データに更新する処理を実行する構成にされていることを特徴とする請求項2記載の電子制御装置。
  18. 前記制御用データには、データ化け検出用のデータとしてのチェックデータが含まれ、
    前記異常検出手段は、前記異常として、前記チェックデータに基づき、前記揮発性メモリが記憶する各制御用データについてのデータ化けを検出可能な構成にされ、車両制御の開始時に、各制御用データに対しデータ化けの検出動作を実行する構成にされ、
    当該電子制御装置は、更に、
    車両制御の開始時に前記異常検出手段によって実行された前記検出動作の結果に基づき、前記車載バッテリの脱着があったか否かを判断する脱着判断手段、
    を備え、
    前記異常履歴記録手段は、前記脱着判断手段により前記車載バッテリの脱着があったと判断されると、前記車両制御の開始時に前記異常検出手段により検出されたデータ化けについての異常の履歴を記録しないことを特徴とする請求項1記載の電子制御装置。
  19. 前記制御用データには、データ化け検出用のデータとしてのチェックデータが含まれ、
    前記異常検出手段は、前記異常として、前記チェックデータに基づき、前記揮発性メモリが記憶する各制御用データについてのデータ化けを検出可能な構成にされ、車両制御の開始時に、各制御用データに対しデータ化けの検出動作を実行する構成にされ、
    前記揮発性メモリは、車載バッテリからの電源供給を常時受けて、所有データを常時記憶保持可能な構成にされ、
    当該電子制御装置は、更に、
    車両制御の開始時に前記異常検出手段によって実行された前記検出動作の結果に基づき、前記車載バッテリの脱着があったか否かを判断する脱着判断手段、
    を備え、
    前記異常履歴記録手段は、前記脱着判断手段により前記車載バッテリの脱着があったと判断されると、前記車両制御の開始時に前記異常検出手段により検出されたデータ化けについての異常の履歴を記録しないことを特徴とする請求項2記載の電子制御装置。
  20. 前記異常検出手段は、前記揮発性メモリが記憶する制御用データの更新時に、このデータ更新に先立って、更新される制御用データに対しデータ化けの検出動作を実行することを特徴とする請求項14〜請求項19のいずれかに記載の電子制御装置。
  21. 前記異常検出手段は、前記揮発性メモリが記憶する制御用データの更新時に、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出可能な構成にされていることを特徴とする請求項1〜請求項20のいずれかに記載の電子制御装置。
  22. 前記異常検出手段は、前記揮発性メモリが記憶する制御用データの更新時に、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出可能な構成にされ、
    前記フェールセーフ処理実行手段は、前記書込異常に対するフェールセーフ処理として、前記書込異常が検出された制御用データの格納領域を、前記揮発性メモリ上の別領域に変更する処理を実行する構成にされていることを特徴とする請求項10記載の電子制御装置。
  23. 前記異常検出手段は、前記揮発性メモリが記憶する制御用データの更新時に、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出可能な構成にされ、
    前記フェールセーフ処理実行手段は、前記書込異常に対するフェールセーフ処理として、前記書込異常が検出された制御用データの読出指令が発せられた際、前記書込異常が検出された制御用データの初期値を、前記読出指令に対する応答結果として出力する処理を実行する構成にされていることを特徴とする請求項10記載の電子制御装置。
  24. 前記異常検出手段により異常が検出されていない領域に記憶された前記揮発性メモリ内の各制御用データを、前記不揮発性メモリにバックアップ保存するバックアップ手段と、
    前記異常検出手段により異常が検出されると、前記検出された異常に対して所定のフェールセーフ処理を実行するフェールセーフ処理実行手段と、
    を備え、
    前記異常検出手段は、前記揮発性メモリが記憶する制御用データの更新時に、制御用データが目的の制御用データに書き換えられたか否かを判断することにより、制御用データの書込異常を検出可能な構成にされ、
    前記フェールセーフ処理実行手段は、前記書込異常に対するフェールセーフ処理として、前記書込異常が検出された制御用データの読出指令が発せられた際、前記バックアップ手段により前記不揮発性メモリに記憶された異常検出前の該当制御用データを、前記読出指令に対する応答結果として出力する処理を実行する構成にされていることを特徴とする請求項2記載の電子制御装置。
  25. 前記異常履歴記録手段により記録された履歴に基づき、車両乗員に対して異常を報知する必要があるか否かを判断する警告要否判断手段と、
    前記警告要否判断手段にて報知が必要であると判断されると、車両内に設けられた警告装置を制御し、車両乗員に対して、異常を報知する警告装置制御手段と、
    を備えることを特徴とする請求項1〜請求項24のいずれかに記載の電子制御装置。
  26. 前記警告要否判断手段は、前記異常の発生領域毎に、異なる基準で、車両乗員に対して異常を報知する必要があるか否かを判断する構成にされていることを特徴とする請求項25記載の電子制御装置。
JP2006027098A 2006-02-03 2006-02-03 電子制御装置 Expired - Fee Related JP4736828B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006027098A JP4736828B2 (ja) 2006-02-03 2006-02-03 電子制御装置
EP07002311.4A EP1835403B1 (en) 2006-02-03 2007-02-02 Electronic control apparatus for vehicles
US11/701,555 US8849504B2 (en) 2006-02-03 2007-02-02 Electronic control apparatus for vehicles

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006027098A JP4736828B2 (ja) 2006-02-03 2006-02-03 電子制御装置

Publications (2)

Publication Number Publication Date
JP2007207092A JP2007207092A (ja) 2007-08-16
JP4736828B2 true JP4736828B2 (ja) 2011-07-27

Family

ID=38320710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006027098A Expired - Fee Related JP4736828B2 (ja) 2006-02-03 2006-02-03 電子制御装置

Country Status (3)

Country Link
US (1) US8849504B2 (ja)
EP (1) EP1835403B1 (ja)
JP (1) JP4736828B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140007592A (ko) * 2012-07-09 2014-01-20 콘티넨탈 오토모티브 시스템 주식회사 제어변수 검증결과에 기초한 차량 제어 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789070B2 (en) * 2007-12-06 2014-07-22 Wyse Technology L.L.C. Local device virtualization
US9329919B2 (en) 2008-07-16 2016-05-03 Freescale Semiconductor, Inc. Micro controller unit including an error indicator module
JP5406689B2 (ja) * 2009-12-10 2014-02-05 富士通テン株式会社 制御装置、及び、制御方法
JP5051214B2 (ja) * 2009-12-25 2012-10-17 株式会社デンソー 車載故障検出装置
JP5348040B2 (ja) * 2010-03-25 2013-11-20 株式会社デンソー 車両通信システム及び電子制御装置
KR101586051B1 (ko) * 2011-05-31 2016-01-19 한국전자통신연구원 제품 테스트용 차량 데이터 제공 장치 및 방법
JP5387637B2 (ja) * 2011-09-07 2014-01-15 株式会社デンソー 電子制御装置
JP5350521B1 (ja) * 2012-07-12 2013-11-27 ヤマハ発動機株式会社 車両情報管理システム。
JP5842783B2 (ja) * 2012-10-18 2016-01-13 株式会社デンソー 車両用制御装置
JP6044316B2 (ja) * 2012-12-12 2016-12-14 株式会社デンソー 車載電子制御装置
TWI570738B (zh) * 2013-03-29 2017-02-11 萬國商業機器公司 具有使用歷程記錄的主記憶體模組以及此主記憶體模組於電腦系統之應用
JP5849990B2 (ja) * 2013-05-29 2016-02-03 株式会社デンソー 車載制御装置及び車載制御システム
US9384081B2 (en) * 2014-07-01 2016-07-05 Gogo Llc Delayed disk recovery
US10038703B2 (en) * 2014-07-18 2018-07-31 The Regents Of The University Of Michigan Rating network security posture and comparing network maliciousness
JP6177748B2 (ja) * 2014-09-25 2017-08-09 日立オートモティブシステムズ株式会社 組み込み制御装置
US20150169441A1 (en) * 2015-02-25 2015-06-18 Caterpillar Inc. Method of managing data of an electronic control module of a machine
JP6448787B2 (ja) * 2015-06-29 2019-01-09 日立オートモティブシステムズ株式会社 車両用変速機の制御装置
JP2017228052A (ja) * 2016-06-22 2017-12-28 日立オートモティブシステムズ株式会社 車載制御装置
US20180247548A1 (en) * 2017-02-27 2018-08-30 Honeywell International Inc. System and method to decipher and display advisory information
CN109257203A (zh) * 2017-07-14 2019-01-22 西安中兴新软件有限责任公司 一种车载通信设备的升级方法、装置和车载通信设备
JP6921296B2 (ja) * 2018-02-14 2021-08-18 日立Astemo株式会社 電子制御装置
CN112927391A (zh) * 2021-01-13 2021-06-08 烟台兴业机械股份有限公司 一种地下无轨设备故障管理方法、装置及系统
JP7296426B2 (ja) * 2021-06-22 2023-06-22 株式会社日立製作所 情報システムを管理する管理システム及び管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5810246A (ja) * 1981-07-13 1983-01-20 Nissan Motor Co Ltd 車両用ディジタル制御装置
JPS59165300A (ja) * 1983-03-10 1984-09-18 Fujitsu Ltd メモリ障害訂正方式
US4535455A (en) * 1983-03-11 1985-08-13 At&T Bell Laboratories Correction and monitoring of transient errors in a memory system
US4608687A (en) * 1983-09-13 1986-08-26 International Business Machines Corporation Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
JPS6294442A (ja) * 1985-10-22 1987-04-30 Nissan Motor Co Ltd 車両診断システム
JPH0267658A (ja) 1988-09-01 1990-03-07 Fujitsu Ten Ltd 不揮発性メモリの故障診断方法
JPH0674087A (ja) * 1992-08-27 1994-03-15 Nippondenso Co Ltd バックアップメモリを備えた電子制御装置
JP3460256B2 (ja) * 1993-08-20 2003-10-27 株式会社デンソー バッテリ断線検出装置
JPH09146849A (ja) * 1995-11-21 1997-06-06 Nec Corp 情報処理システム及びそのメモリ再構成方法
JPH10299565A (ja) 1997-04-21 1998-11-10 Unisia Jecs Corp 車両用電子制御ユニットの自己診断装置
JPH1139231A (ja) 1997-07-17 1999-02-12 Unisia Jecs Corp 車両用電子制御装置
JPH11184762A (ja) 1997-12-19 1999-07-09 Unisia Jecs Corp 自動車用制御装置のバックアップramシステムの診断装置
JPH11232181A (ja) * 1998-02-12 1999-08-27 Denso Corp バッテリバックアップramの異常検出装置
JP4135220B2 (ja) * 1998-07-01 2008-08-20 株式会社デンソー 車両用電子制御装置
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6505306B1 (en) * 1999-09-15 2003-01-07 International Business Machines Corporation Redundant bit steering mechanism with delayed switchover of fetch operations during redundant device initialization
JP2003207192A (ja) 2002-01-11 2003-07-25 Matsushita Electric Ind Co Ltd 空気調和機制御装置
JP3835312B2 (ja) * 2002-03-07 2006-10-18 株式会社デンソー 車両用電子制御装置
JP2003263372A (ja) 2002-03-11 2003-09-19 Sharp Corp 誤動作防止装置
JP4042466B2 (ja) * 2002-05-01 2008-02-06 株式会社デンソー メモリ診断装置及び制御装置
JP4158566B2 (ja) 2003-03-18 2008-10-01 株式会社デンソー 浮動小数点演算機能を有する電子制御装置
JP4306765B2 (ja) * 2007-06-08 2009-08-05 株式会社デンソー 故障診断用情報収集装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140007592A (ko) * 2012-07-09 2014-01-20 콘티넨탈 오토모티브 시스템 주식회사 제어변수 검증결과에 기초한 차량 제어 방법

Also Published As

Publication number Publication date
EP1835403A2 (en) 2007-09-19
JP2007207092A (ja) 2007-08-16
EP1835403A3 (en) 2008-05-21
EP1835403B1 (en) 2019-06-12
US20070198874A1 (en) 2007-08-23
US8849504B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
JP4736828B2 (ja) 電子制御装置
JP5206737B2 (ja) 電子制御装置及び情報管理システム
JP4363471B2 (ja) 故障コード記憶管理装置、及び記憶管理装置
JP4306765B2 (ja) 故障診断用情報収集装置
CN107531198B (zh) 程序改写装置和程序改写方法
JP4525816B2 (ja) 電子機器及びプログラム
JP5272507B2 (ja) 電子制御装置
JP2018063659A (ja) ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
JP2006291730A (ja) 車両用診断装置
JP2009126299A (ja) 車両制御装置
US8412412B2 (en) Vehicle communication system and electronic control unit
JP2009036165A (ja) 電子制御装置
US9251016B2 (en) Storage system, storage control method, and storage control program
JP4600510B2 (ja) 制御装置およびプログラム
JP7183884B2 (ja) 電子制御装置
JP3379260B2 (ja) 車両用ダイアグノーシス装置
JP6851110B2 (ja) 電子制御装置
JP7278478B2 (ja) 情報処理装置及び情報処理方法
US20220222135A1 (en) Electronic control device
JP2005088676A (ja) 車両通信診断装置および診断方法
US20090222633A1 (en) Information processing system and information processing method capable of performing detailed state notification even in a difficult situation
US11721984B2 (en) Battery monitoring system, vehicle, battery monitoring device
JP3099037B2 (ja) 記憶型ダイアグノーシス装置
JP7243470B2 (ja) 車両用装置
US20050081133A1 (en) Method and test drive for detecting addressing errors in control devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110418

R151 Written notification of patent or utility model registration

Ref document number: 4736828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

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

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