JP6011162B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6011162B2
JP6011162B2 JP2012189140A JP2012189140A JP6011162B2 JP 6011162 B2 JP6011162 B2 JP 6011162B2 JP 2012189140 A JP2012189140 A JP 2012189140A JP 2012189140 A JP2012189140 A JP 2012189140A JP 6011162 B2 JP6011162 B2 JP 6011162B2
Authority
JP
Japan
Prior art keywords
microcomputer
reset
power supply
abnormality
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
JP2012189140A
Other languages
English (en)
Other versions
JP2014048070A (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 JP2012189140A priority Critical patent/JP6011162B2/ja
Publication of JP2014048070A publication Critical patent/JP2014048070A/ja
Application granted granted Critical
Publication of JP6011162B2 publication Critical patent/JP6011162B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電源電圧を供給する給電手段の異常を検出する機能を備えた電子制御装置に関する。
例えば、車両のエンジンを制御する電子制御装置としては、車両の使用者によりイグニッションスイッチ(以下、IGSWと記載する)がオンされることと、当該装置にバッテリからの電源電圧を供給する給電用リレーをオンさせるためのリレーオン信号を、当該装置内のロジック部が出力することとの、何れかにより、バッテリからの電源電圧が供給されるものがある。つまり、この種の電子制御装置では、IGSWのオンという起動用給電条件が成立すると、バッテリからの電源電圧が供給されて、ロジック部が動作を開始し、そのロジック部は、動作を開始すると、上記リレーオン信号の出力を開始して、当該装置への電源供給状態を維持する。そして、ロジック部は、IGSWがオフされたことを検知すると、IGSWがオフされてから動作を停止するまでの間に実施すべき特定の処理(例えば、データを所定のメモリに退避させるための処理等)を行い、その処理が終了すると、リレーオン信号の出力を停止して給電用リレーをオフさせることにより、当該装置への電源供給を遮断する(例えば、特許文献1参照)。
ここで、給電用リレーや該給電用リレーを駆動する回路等、IGSWがオフされた後も電子制御装置に電源電圧を供給するための給電手段が故障していた場合には、IGSWがオフされると、すぐに電子制御装置への電源供給が停止されてしまうことから、ロジック部は、IGSWのオフ後に実施すべき特定の処理を行うことができなくなる。このため、上記給電手段の異常(故障)を検出して、何等かの処置を行うことが好ましい。
そこで、特許文献1には、ロジック部により上記給電手段の異常を検出するための方法として、下記(1)〜(3)の手順からなる方法が記載されている。
(1)ロジック部は、IGSWがオフされたことを検知してからリレーオン信号の出力を停止するまで(延いては、動作を停止するまで)の間に、常時電源供給されたバックアップRAMにデータAを書き込む書込処理を行う。
(2)ロジック部は、動作を開始すると、バックアップRAMにデータAが書き込まれているか否かを判定し、データAが書き込まれていれば、給電手段は正常と判定して、バックアップRAM内のデータAをデータBに書き換える書込処理を行う。
(3)ロジック部は、上記(2)の判定で、バックアップRAMにデータAが書き込まれていないと判定した場合には、給電手段が異常と判定する。
つまり、ロジック部が起動した時点において、バックアップRAMにデータAが書き込まれていない場合は、ロジック部が前回の動作停止前に上記(1)の書込処理を行わなかったということであるが、その原因は、給電手段が故障していて、IGSWのオフ後すぐに電子制御装置への電源供給が停止されたことにある、と考えられるからである。
特開平1−129133号公報
ところで、特許文献1に記載の異常検出方法では、給電手段が正常であっても、IGSWのオン中(詳しくは、IGSWがオンしている期間中)にロジック部が何等かの要因でリセットされた場合には、ロジック部が、上記(1)の書込処理を行うことなく動作を停止して再起動することとなり、その回の起動時において、バックアップRAMにはデータBが書き込まれている(即ち、データAが書き込まれていない)こととなる。よって、起動したロジック部は、上記(2),(3)の判定にて、バックアップRAMにデータAが書き込まれていないと判定することとなり、その結果、給電手段が異常と誤判定してしまう。
そこで、本発明は、電子制御装置において、起動用給電条件が成立している場合にリセットされたロジック部としてのマイコンが、給電手段が異常と誤判定してしまうことを、防止することを目的としている。
本発明の電子制御装置は、起動用給電条件と動作継続用給電条件との何れかが成立している場合に、外部電源からの電源電圧が供給される給電部と、その給電部に電源電圧が供給されると、該電源電圧を電力源として動作するマイコンと、を備えている。また、動作継続用給電条件は、動作状態のマイコンから給電要求信号が出力されることである。
そして、マイコンは、動作を開始すると、当該マイコンからの給電要求信号が入力されることで前記給電部に電源電圧を供給する給電手段に対して、給電要求信号を出力することを開始し、起動用給電条件が非成立になったことを検知した後で特定の処理を終了すると、その給電要求信号の出力を停止して動作を停止する。
このような電子制御装置では、起動用給電条件が成立して、給電部に電源電圧が供給されると、マイコンが動作を開始して、給電要求信号を出力することとなる。よって、給電手段が正常であれば、起動用給電条件が非成立になっても、給電部には給電手段によって電源電圧が供給し続けられることとなる。そして、マイコンは、起動用給電条件が非成立になったことを検知した後で特定の処理を行い、その特定の処理が終了すると、給電要求信号の出力を停止する。すると、給電手段による給電部への電源電圧の供給が停止されて、マイコンが動作を停止することとなる。
また更に、この電子制御装置は、給電手段の異常の有無を判定するために用いられる判定用情報を記憶するための記憶部として、給電部に電源電圧が供給されるか否かに拘わらずデータを保存可能な判定用情報記憶部を備えている。
そして、マイコンは、給電手段の異常を検出するための処理として、第1書込処理、異常検出処理及び第2書込処理を行う。
即ち、マイコンは、起動用給電条件が非成立になったことを検知してから給電要求信号の出力を停止するまでの間に、「判定用情報を判定用情報記憶部に書き込む第1書込処理」を行う。そして、マイコンは、動作を開始した後、「判定用情報記憶部に判定用情報が記憶されているか否かを判定して、判定用情報が記憶されていないことを条件に給電手段が異常であると判断する、異常検出処理」を行い、また、少なくとも判定用情報記憶部に判定用情報が記憶されていると判定した場合には、「判定用情報記憶部に判定用情報とは異なる情報を書き込む第2書込処理」も行う。
このため、給電手段に異常が生じて、マイコンが給電要求信号を出力していても、起動用給電条件が非成立になるとすぐに給電部への電源電圧の供給が停止されてしまう状態になったならば、マイコンは、起動用給電条件が非成立になると、第1書込処理を行うことなく動作を停止することなる。そして、マイコンが次に起動した際には、判定用情報記憶部に判定用情報が記憶されていないこととなり、その結果、マイコンは、異常検出処理により、給電手段が異常であると判断することとなる。このようにして、給電手段の異常がマイコンにより検出される。
ここで、給電手段が正常であっても、起動用給電条件が成立している場合にマイコンがリセットされたとすると、マイコンは第1書込処理を行うことなく動作を停止して再起動することとなり、その回の起動時においても、判定用情報記憶部には判定用情報が記憶されていないこととなる。よって、起動したマイコンは、異常検出処理にて、判定用情報記憶部に判定用情報が記憶されていないと判定することとなり、その結果、給電手段が異常であるとの誤判定を招くこととなる。
そこで、本発明の電子制御装置には、リセット検出手段が備えられており、そのリセット検出手段は、起動用給電条件が成立している場合におけるマイコンのリセットを検出して、マイコンがリセットされたことを示すリセット発生情報をリセット記憶部に記憶する。
そして、マイコンは、動作を開始した際に、リセット記憶部にリセット発生情報が記憶されていた場合には、異常検出処理により給電手段が異常であると判断することを禁止するようになっている。
このため、起動用給電条件が成立している場合にリセットされたマイコンが、異常検出処理によって給電手段が異常であると誤判定してしまうことを、防止することができ、その結果、給電手段の故障検出精度を向上させることができる。
尚、マイコンは、起動用給電条件が成立している場合に所定のリセット実施条件が成立すると、当該マイコンをリセットするためのリセット用処理を行うようになっていることが考えられる。そして、その場合、リセット検出手段は、マイコンのリセットとして、マイコンによりリセット用処理が行われたことを検出するように構成することができる。このように構成すれば、マイコン自身が引き起こした該マイコンのリセット(つまり、ソフトウェアによって故意に実施したリセット)を検出して、そのリセットに起因する誤判定を防止することができる。
更に、その場合、リセット検出手段を、マイコンによって実現することもでき、具体的には、マイコンは、前記リセット用処理を行う場合に、リセット発生情報をリセット記憶部に記憶するようになっていれば良い。つまり、マイコンがリセット用処理を行う場合に、リセット発生情報をリセット記憶部に記憶すれば、マイコン自身が、リセット用処理が行われたことを検出してリセット発生情報をリセット記憶部に記憶することになる。
第1実施形態の電子制御装置(ECU)の構成図である。 マイコンが起動してから動作を終了するまでに行う処理を表すフローチャートである。 時間同期処理を表すフローチャートである。 イニシャル処理を表すフローチャートである。 リプログ要求時処理を表すフローチャートである。 マイコン異常検出時処理を表すフローチャートである。 NMI処理を表すフローチャートである。 アイドル処理を表すフローチャートである。 電子制御装置の作用を説明するための第1のタイムチャートである。 電子制御装置の作用を説明するための第2のタイムチャートである。 電子制御装置の作用を説明するための第3のタイムチャートである。 第2実施形態の電子制御装置(ECU)の構成図である。
本発明が適用された実施形態の電子制御装置(以下、ECUという)について説明する。尚、本実施形態のECUは、例えば、車両に搭載されて、該車両のエンジンを制御するものであるが、制御対象はエンジン以外でも良く、また、用途も車両用以外であっても良い。
[第1実施形態]
図1に示すように、第1実施形態のECU11は、外部電源としてのバッテリ13の電圧(通常12V前後であり、以下、バッテリ電圧という)Vbatが給電用のリレーであるメインリレー15を介して電源電圧VBとして供給される端子17を備えている。そして、その端子17には、車両のIGSW(イグニッションスイッチ)19及びダイオード21を介しても、バッテリ電圧Vbatが電源電圧VBとして供給されるようになっている。
更に、ECU11は、バッテリ電圧Vbatがバックアップ電源として常時供給される端子23と、一端にバッテリ電圧Vbatが印加されるメインリレー15のコイル15aの他端が接続された端子25と、IGSW19がオンすることでバッテリ電圧Vbatが供給されるライン26の電圧が、IGSW19のオン/オフを表すIGSW信号として入力される端子27と、車両内に配設された通信ライン28に接続された端子29と、を備えている。
そして、ECU11は、当該ECU11の動作を司るマイコン31と、電源制御IC33と、入力回路35と、通信回路37と、を備えている。
電源制御IC33は、端子17に供給される電源電圧VBから、マイコン31を動作させるための一定の動作用電圧Vd(本実施形態では例えば5V)を生成して、その動作用電圧Vdをマイコン31に出力する主電源回路41と、端子23に供給されるバックアップ電源としてのバッテリ電圧Vbatから、一定のスタンバイ電圧Vs(本実施形態では例えば3V)を生成して、そのスタンバイ電圧Vsをマイコン31に出力する副電源回路43と、メインリレー15をオンさせるための駆動回路45と、マイコン31をリセットする制御を行うリセット制御回路47と、マイコン31の動作を監視するウォッチドッグタイマ(WDT)49と、を備えている。
駆動回路45は、端子27から入力されるIGSW信号がハイ(=Vbat)の場合、あるいは、マイコン31から入力される給電要求信号SDがハイ(=Vd)の場合に、端子25をグランドライン(0Vのライン)に接続してコイル15aに電流を流すことにより、メインリレー15をオンさせる。
ウォッチドッグタイマ49は、マイコン31が正常な場合に該マイコン31から一定時間以内毎に出力されるクリア信号WDCによってタイマ値がクリアされる(リセットされる)タイマであり、そのクリア信号WDCが上記一定時間よりも少し長い値に設定された規定時間以上出力されないと、リセット制御回路47へリセット要求を出力する。
リセット制御回路47は、それの機能として、下記の《機能1》〜《機能4》を有している。
《機能1》ウォッチドッグタイマ49からリセット要求が出力されると、マイコン31のリセット端子(図1において「RES」と記載)へ、所定時間だけリセット信号SRを出力することにより、マイコン31をリセットして再起動させる。これは、マイコン31の正常復帰を試みるためのリセット機能である。
《機能2》主電源回路41からの動作用電圧Vdが0Vから上昇して、マイコン31が確実に動作すると設計上考えられる正常範囲(例えば4.5V〜5.5V)の最小値に達するまでの間、マイコン31のリセット端子へリセット信号SRを出力する。これは、ECU11への電源投入時において、動作用電圧Vdが正常範囲に上昇するまでマイコン31をリセットしておく機能(いわゆるパワーオンリセット機能)である。
《機能3》主電源回路41からの動作用電圧Vdが正常範囲から低下して、マイコン31が動作不能となる電圧値(例えば3.5V)よりも高い所定のリセット実施閾値(例えば4V)まで低下したことを検知すると、その時点から、動作用電圧Vdが上記リセット実施閾値よりも高いリセット解除閾値(例えば4.5V)に上昇するまでの間、マイコン31のリセット端子へリセット信号SRを出力する。これは、動作用電圧Vdの低下によるマイコン31の誤動作を防止するための機能(いわゆる電圧低下リセット機能)である。
《機能4》上記《機能3》によりリセット信号SRを出力する前の時点であって、動作用電圧Vdが上記リセット実施閾値よりも高いリセット予告閾値(例えば4.3V)まで低下したことを検知した時点で、マイコン31のノンマスカブル割り込み端子(図1において「NMI」と記載)にリセット予告信号SNを出力する。これは、マイコン31に対して、上記《機能3》によるリセットが間もなく実施されることを予告するための機能である。そして、マイコン31は、ノンマスカブル割り込み端子にリセット予告信号SNが入力されると、ノンマスカブル割り込みの処理であるNMI処理を行い、その後リセット信号SRによってリセットされるのを待つこととなる。
また、入力回路35は、端子27から入力されるIGSW信号(ハイがバッテリ電圧Vbatで、ローが0Vの信号)を、マイコン31に入力させることが可能な電圧の信号(ハイが動作用電圧Vdで、ローが0Vの信号)にレベルに変換して出力する。そして、入力回路35から出力されるレベル変換後のIGSW信号は、マイコン31の端子のうち、立ち下がりエッジキャプチャ機能付きの入力端子に入力されるようになっている。
尚、立ち下がりエッジキャプチャ機能付きの入力端子とは、入力される信号に立ち下がりエッジ(ハイからローへの変化)が発生すると、そのことを示す履歴情報がマイコン31内の特定のレジスタにハードウェアによって記憶されることとなる入力端子である。このため、IGSW19がオンからオフされて、入力回路35からマイコン31に入力されるIGSW信号に立ち下がりエッジが生じると、上記特定のレジスタには、履歴情報として、IGSW19がオンからオフに変化したことを示す情報(以下、IGSWオフエッジ履歴という)が記憶されることとなる。尚、その記憶されるIGSWオフエッジ履歴は、例えば、値が“1”のフラグである。
また、マイコン31は、プログラムを実行するCPU51と、データの書き換えが可能な不揮発性メモリであるフラッシュメモリ53と、CPU51による演算結果等が記憶されるRAM55と、副電源回路43からのスタンバイ電圧Vsがデータ記憶用の電圧として常時供給されるスタンバイRAM(SRAM:バックアップRAMとも呼ばれる)57と、を備えている。
そして、フラッシュメモリ53は、CPU51によって実行されるプログラム(実行対象のプログラム)を記憶する記憶領域61と、マイコン31によってメインリレー15をオンさせることができなくなる異常(以下、メインリレー異常という)が発生しているか否かを判定するために用いられる判定用フラグを記憶する記憶領域63と、IGSW19のオン中にマイコン31がリセットされたか否かを示すフラグであるリセット履歴を記憶する記憶領域65と、メインリレー異常が発生しているという判断を確定させるために用いられる異常判定カウンタ(詳しくは、その異常判定カウンタの値)を記憶する記憶領域67と、を備えている。
一方、通信回路37は、端子29を介して車両内の通信ライン28に接続されており、その通信ライン28に接続された他の装置とマイコン31との間で、通信データをやり取りさせる。
また、通信ライン28には、車両外部の装置として、マイコン31のプログラム(詳しくは、フラッシュメモリ53の記憶領域61に記憶されたプログラム)を書き換えるためのツール59が接続可能となっている。そして、マイコン31(詳しくは、マイコン31内のCPU51)は、通信ライン28に接続されたツール59からのリプログ要求(リプログは、プログラムの書き換えを意味する「リプログラム」の略)を受信した場合には、フラッシュメモリ53の記憶領域61に記憶されているプログラムを、そのツール59から送信されて来る新たなプログラムに書き換えるリプログ処理を行うこととなる。
次に、マイコン31が行う処理のうち、主に、メインリレー異常を検出することに関連する処理について、図2〜図8のフローチャートを用い説明する。尚、マイコン31が行う処理は、実際には、CPU51がプログラムを実行することで実現される処理であり、換言すれば、CPU51がプログラムに従って行う処理である。
図2に示すように、マイコン31は、動作を開始すると、まずS110にて、駆動回路45への給電要求信号SDをハイにすることにより、IGSW19がオフされてもメインリレー15のオンが維持されて、該メインリレー15から端子17へ電源電圧VBが供給され続けるようにする。
そして次に、マイコン31は、S120にて、イニシャル処理を行う。
そのイニシャル処理には、例えば、上記特定のレジスタを含む種々の内部レジスタをクリアするレジスタ初期化処理や、RAM55における所定のデータ記憶領域にプログラムで定められた設定値を書き込むデータ初期化処理や、前回の動作中にRAM55からフラッシュメモリ53に保存しておいた(つまり、退避させておいた)データを、フラッシュメモリ53からRAM55に記憶し直すデータ復元処理等が、含まれているが、更に、メインリレー異常を検出することに関連する処理も含まれている。そして、そのイニシャル処理については、後で図4を用いて説明する。また、フラッシュメモリ53の前述した記憶領域63,65,67に記憶される判定用フラグ、リセット履歴、及び異常判定カウンタの各々は、イニシャル処理における上記データ復元処理によってRAM55にコピーされ、その後の処理では、RAM55上で更新されることとなる。
マイコン31は、イニシャル処理を終了した後、S130にて、後述する図3の時間同期処理を行い、更にS140にて、後述する図8のアイドル処理を行う。
尚、時間同期処理は、予め決められた一定の時間(例えば1msや8ms)毎に行われ、その時間同期処理が終了してから次に開始されるまでの空き時間において、アイドル処理が行われる。また、アイドル処理では、主に、RAM55における上記所定のデータ記憶領域に対して上記データ初期化処理で書き込んだのと同じ設定値を書き込むリフレッシュ処理等が行われる。そのリフレッシュ処理は、データ初期化処理でRAM55に書き込んだ設定値が何等かの原因で他の値に変わってしまっても、その設定値を元の値に戻すために行われる。
また、マイコン31は、時間同期処理内にて、所定のシャットダウン条件が成立したか否かを判定する(S150)。尚、図2では、分かりやすさを優先して、シャットダウン条件が成立したか否かを判定するS150の判定処理を、時間同期処理とは別の処理として記載しているが、そのS150の判定処理は、実際には時間同期処理の中で行われる。
また、シャットダウン条件としては、少なくとも、IGSW19がオフであるという条件が含まれており、他には、例えば、エンジンを制御するための処理を行わなくても良い状態になったという条件も含まれている。
そして、マイコン31は、シャットダウン条件が成立したと判定したならば(S150:YES)、S160に移行して、シャットダウン前処理を行い、その後、S170にて、シャットダウン処理を行う。
尚、シャットダウン前処理としては、例えば、フラッシュメモリ53内のデータが正常か否かをサムチェック等の手法で検査するメモリチェック処理等、エンジンの制御を実施している最中には一度に行うことができない比較的時間のかかる処理がある。また、シャットダウン処理としては、例えば、RAM55からフラッシュメモリ53に、異常の発生を示すダイアグコード(ダイアグは、診断を意味する「ダイアグノーシス」の略)や学習値等の、特定のデータをコピーして退避させるデータ退避処理(データ保存のための処理)がある。
そして、マイコン31は、シャットダウン処理を終了したなら、S180にて、駆動回路45への給電要求信号SDをハイからローにする。
すると、その時点において、IGSW19はオフされているため、給電要求信号SDがローになることでメインリレー15がオフし、端子17への電源電圧VBの供給が停止する。その結果、主電源回路41から動作用電圧Vdが出力されなくなり、マイコン31は動作を停止することとなる。
尚、もしメインリレー異常が生じていたならば、IGSW19がオフされた時点で、端子17への電源電圧VBの供給が停止するため、マイコン31は、シャットダウン前処理(S160)及びシャットダウン処理(S170)を行う前に、動作用電圧Vdが供給されなくなって動作を停止してしまうこととなる。
次に、時間同期処理について図3を用い説明する。
図3に示すように、マイコン31は、図2のS130で時間同期処理を開始すると、まずS210にて、今回の処理がイニシャル処理を行った後の初回処理であるか否かを判定し、初回処理であれば、S220〜S240の処理を行う。
まずS220では、RAM55内の判定用フラグをオフにし、次のS230では、RAM55内のリセット履歴を、リセット無しを示す方のオフにする。尚、本実施形態において、「フラグをオフにする」ということは、そのフラグを例えば“0”にするということであり、逆に「フラグをオンにする」ということは、そのフラグを例えば“1”にするということである。そして、次のS240にて、上記S220でオフにした判定用フラグを、フラッシュメモリ53の記憶領域63に書き込むと共に、上記S230でオフにしたリセット履歴を、フラッシュメモリ53の記憶領域65に書き込む書込処理を行う。
つまり、S220〜S240では、記憶領域63,65内の判定用フラグとリセット履歴をオフにして、前回の動作での情報を引き継がないようにしている。
また、S240では、後述する図4(イニシャル処理)のS340又はS350の処理によりRAM55上で更新される異常判定カウンタの現在値を、フラッシュメモリ53の記憶領域67に書き込む処理(つまり、記憶領域67内の異常判定カウンタを更新目的で書き換える処理)も行う。
尚、記憶領域63内の判定用フラグをオフにする書き込み処理は、後述する図4のS330で判定用フラグがオンであると判定した場合にだけ行うようにしても良い。つまり、記憶領域63内の判定用フラグをオフにする書き込み処理は、その記憶領域63内の判定用フラグがオンであった場合にだけ行うようにしても良い。そして、このようなことは、記憶領域65内のリセット履歴をオフにする書き込み処理についても同様である。また、S220〜S240の処理は、例えば、イニシャル処理の最後で実施されるようにしても良い。
図3の説明に戻り、マイコン31は、S240の処理を行った後、S250に進む。
また、マイコン31は、上記S210にて、今回の処理がイニシャル処理後の初回処理ではないと判定した場合には、S220〜S240の処理を行うことなく、そのままS250に進む。
S250では、IGSW19がオフか否かを判定し、IGSW19がオフでなければ(オンであれば)、S255に進み、一定時間毎に行うべき定期処理を行う。
尚、IGSW19がオンかオフかは、入力回路35から入力されるレベル変換後のIGSW信号に基づいて判定することができる。また、定期処理としては、エンジンを制御するための処理の他に、例えば、マイコン31自身の異常を検出するための自己診断処理がある。そして、その自己診断処理としては、例えば、所定時間毎に実行されるべきタスクの実行周期を監視して、その実行周期が異常であれば当該マイコン31が異常であると判断する、といった処理や、既知の演算対象値に対して所定の演算を行い、その演算結果が予め定められた期待値と一致していないと判定したならば当該マイコン31が異常であると判断する、といった処理等がある。
そして、マイコン31は、上記S255で定期処理を行った後、当該時間同期処理を終了する。
一方、マイコン31は、上記S250でIGSW19がオフであると判定した場合(即ち、IGSW19がオンからオフされたことを検知した場合)には、S260に進んで、IGSW19のオフの検出時から所定時間Tdが経過したか否かを判定し、所定時間Tdが経過していなければ、そのまま当該時間同期処理を終了する。また、上記S260にて、所定時間Tdが経過したと判定したならば、S270に進む。
尚、所定時間Tdは、メインリレー異常が生じている場合に、IGSW19がオフされてからマイコン31への動作用電圧Vdが供給されなくなって該マイコン31が動作を停止するまでの、最長時間よりも長い時間に設定されている。このため、図3におけるS270以降の処理は、メインリレー異常が生じておらず、IGSW31がオフされた後もマイコン31が確実に動作している状態で実行されることとなる。逆に言うと、メインリレー異常が生じている場合、S270以降の処理は実行されなくなる。
そして、S270では、RAM55内の判定用フラグをオンにし、次のS280にて、上記S270でオンにした判定用フラグを、フラッシュメモリ53の記憶領域63に書き込む書込処理を行う。
つまり、S270,S280では、記憶領域63内の判定用フラグをオンにしている。
このようにするのは、当該マイコン31が次回に起動した際に、その記憶領域63内の判定用フラグがオンであれば、メインリレー異常が発生していない(即ち、メインリレー15は正常に機能する)と判定できるようにするためである。
逆に、メインリレー異常が発生している場合には、マイコン31がS280の書込処理(記憶領域63にオンの判定用フラグを書き込む処理)を行う前に電源電圧VBが遮断されてマイコン31が動作を停止するため、記憶領域63内の判定用フラグは、S240の書込処理で書き込まれたオフのままとなる。よって、マイコン31は、後述するように、起動した際のイニシャル処理(図4)にて、記憶領域63に記憶されている判定用フラグを参照し、その判定用フラグがオフであれば、メインリレー異常が発生していると判定することができる。
図3の説明に戻り、マイコン31は、S280の処理を行った後、S290に進む。
そして、S290では、前述した特定のレジスタ内のIGSWオフエッジ履歴をクリアし、次のS295にて、後述する図8のアイドル処理で参照されるRAM55内のフラグであるフェールセーフ状態をオフにする。そして、その後、当該時間同期処理を終了する。尚、S290の処理は省略しても良い。
次に、イニシャル処理について図4を用い説明する。
図4に示すように、マイコン31は、図2のS120でイニシャル処理を開始すると、まずS305にて、前述したデータ初期化処理やデータ復元処理等を行う。
そして、次のS310にて、RAM55内の故障診断結果情報の1つであるメインリレー診断結果を、「未検出」を示す値に設定し、次のS315にて、前述したフェールセーフ状態をオフにする。
尚、メインリレー診断結果は、「未検出」を示す値と、「正常」を示す値と、「異常」を示す値との、3通りの何れかに設定される。そして、「未検出」を示す値は、メインリレー異常が発生しているとも発生していないとも判断していないことを表し、「正常」を示す値は、メインリレー異常が発生していない(つまり正常である)と判断したことを表し、「異常」を示す値は、メインリレー異常が発生していると判断したことを表している。
次にS320にて、IGSW19がオフか否かを判定し、IGSW19がオフでなければ(オンであれば)、S325に進む。
S325では、フラッシュメモリ53が正常状態(詳しくは、データの読み出しを正常に行える状態)であるか否かを判定し、フラッシュメモリ53が正常状態でないと判定した場合には、そのまま当該イニシャル処理を終了する。
つまり、フラッシュメモリ53が正常状態でなく、そのフラッシュメモリ53からデータを読み出せない場合には、記憶領域63内の判定用フラグに基づきメインリレー異常の有無を判定することができないため、その場合には、メインリレー診断結果を「未検出」の値にしたまま、当該イニシャル処理を終了する。尚、マイコン31は、例えば、S305のデータ復元処理でフラッシュメモリ53からデータを読み出せなかった場合に、メモリ異常フラグをオンしておき、S325では、そのメモリ異常フラグを参照して、フラッシュメモリ53が正常状態か否か判定する。
一方、上記S325にて、フラッシュメモリ53が正常状態であると判定した場合には、S330に進む。
S330では、データ復元処理により記憶領域63からRAM55にコピーされた判定用フラグが、オンか否かを判定する。尚、このS330で記憶領域63から判定用フラグを読み出して、その読み出した判定用フラグがオンか否かを判定しても良い。
そして、このS330にて、判定用フラグがオンであると判定した場合には、前回の動作中においてIGSW19がオフされてから図3のS270,S280の処理が行われたということである。よって、この場合には、S335に進み、メインリレー異常が発生していないと判断(即ち、メインリレー15は正常に機能すると判断)して、メインリレー診断結果を、「正常」を示す値に設定する。更に、次のS340にて、データ復元処理により記憶領域63からRAM55にコピーされた異常判定カウンタをクリアし(カウンタ値を「0」にし)、その後、当該イニシャル処理を終了する。尚、S340で0にクリアされた異常判定カウンタは、その後に実行される図3のS240にて、フラッシュメモリ53の記憶領域67に書き込まれることとなるが、「0」にされた異常判定カウンタの記憶領域67への書き込みは、このイニシャル処理において実施しても良い。
また、上記S320にて、IGSW19がオフと判定した場合にも、S335に進む。
つまり、IGSW19がオフであるのにマイコン31が動作しているということは、メインリレー15による電源電圧VBの供給が行われている、と考えられることから、この場合にも、メインリレー異常が発生していないと判断して、S335及びS340の処理を行い、その後、当該イニシャル処理を終了する。
一方、上記S330にて、判定用フラグがオンではない(オフである)と判定した場合には、S345に移行する。
S345では、データ復元処理により記憶領域65からRAM55にコピーされたリセット履歴が、オンか否かを判定する。尚、このS345で記憶領域65からリセット履歴を読み出して、その読み出したリセット履歴がオンか否かを判定しても良い。
そして、このS345にて、リセット履歴がオンではない(オフであると)判定した場合には、IGSW19のオン中にマイコン31はリセットされていないということであり、判定用フラグがオフであったのは、メインリレー異常が発生していて、前回の動作中にIGSW19がオフされた際に、図3のS270,S280の処理を行う前に電源電圧VBの供給が遮断されたため、と考えられる。よって、この場合には、S350に進み、メインリレー異常が発生している可能性があると判断して、データ復元処理により記憶領域6からRAM55にコピーされた異常判定カウンタをインクリメントする。尚、このS350でインクリメントされた異常判定カウンタは、その後に実行される図3のS240にて、フラッシュメモリ53の記憶領域67に書き込まれることとなるが、インクリメントされた異常判定カウンタの記憶領域67への書き込みは、このイニシャル処理において実施しても良い。
そして、次のS355にて、インクリメント後の異常判定カウンタが、予め定められた異常判定閾値以上になったか否かを判定し、異常判定閾値以上になっていなければ、そのまま当該イニシャル処理を終了する。よって、この場合は、メインリレー異常が発生している可能性があると判断した状態のままであり、実質的には、メインリレー異常を検出していない状態(即ち、メインリレー診断結果が「未検出」の値になっている状態)となる。
また、上記S355にて、異常判定カウンタが異常判定閾値以上になったと判定した場合には、S360に進み、メインリレー異常が発生していると正式に判断(確定判断)して、メインリレー診断結果を、「異常」を示す値に設定する。この時点で、メインリレー異常を検出したことになる。
そして、次のS365にて、フェールセーフ状態をオンにし、更に、次のS370にて、例えば、メインリレー異常が発生したことを示すダイアグコードをRAM55等に記憶したり、異常の発生を車両の使用者等に知らせるための警告灯を点灯させたりする、ダイアグ処理を行う。そして、その後、当該イニシャル処理を終了する。
一方、上記S345にて、リセット履歴がオンであると判定した場合には、IGSW19のオン中にマイコン31がリセットされたということを意味しており、そのリセットが発生したことにより、前回の動作中に図3のS270,S280の処理を行うことができなかったと考えられる。よって、この場合には、判定用フラグがオフであっても(S330で「NO」と判定しても)、S350以降の処理を行わずに(即ち、メインリレー異常が発生していると判断することを禁止して)、そのまま当該イニシャル処理を終了する。
次に、リセット履歴が、どのような場合にオンにされるのかについて説明する。
本実施形態において、リセット履歴は、図5〜図7の各処理によってオンにされる。
〈図5の説明〉
マイコン31は、IGSW19のオン中に、前述したツール59からのリプログ要求を受信すると、図5のリプログ要求時処理を行う。
図5に示すように、マイコン31は、リプログ要求時処理を開始すると、まずS410にて、RAM55内のリセット履歴をオンにし、次のS420にて、上記S410でオンにしたリセット履歴を、フラッシュメモリ53の記憶領域65に書き込む書込処理を行う。つまり、S410,S420では、記憶領域65内のリセット履歴をオンにしている。
そして次に、S430にて、前述のリプログ処理(記憶領域61内のプログラムを、ツール59から送信されて来る新たなプログラムに書き換える処理)を行う。
そして、リプログ処理が終わると、次のS440にて、当該マイコン31をリセットするためのリセット用処理として、ウォッチドッグタイマ49に対するクリア信号WDCの出力を停止する処理を行う。
すると、マイコン31からクリア信号WDCが出力されなくなり、その結果、リセット制御回路47が、前述の《機能1》によってマイコン31にリセット信号SRを出力するため、マイコン31はリセットされることとなる。このため、マイコン31は、S440の次のS450にて、リセットされるのを待つ状態(例えば、実質的には処理を行わないノンオペレーション命令の実行を繰り返す状態)となる。
このように、マイコン31は、IGSW19のオン中にリプログ処理を行うと、リセット実施条件が成立したとして、自らをリセットするリセット用処理(S440)を行い、その後、再起動して書き換え後の新たなプログラムを実行するようになっている。そして、マイコン31は、このように自らをリセットする自己リセットを行う場合に、当然ながらリセットされると判断して、記憶領域65内リセット履歴をオンする(S410,S420)。
〈図6の説明〉
また、マイコン31は、前述の自己診断処理によって当該マイコン31の異常を検出した場合(当該マイコン31が異常と判断した場合)に、図6のマイコン異常検出時処理を行う。
図6に示すように、マイコン31は、マイコン異常検出時処理を開始すると、まずS510にて、自己診断処理で検出した異常の内容や検出時刻等を示す情報である異常ログを、RAM55等に記憶する処理を行う。
そして次に、S520にて、RAM55内のリセット履歴をオンにし、次のS530にて、上記S520でオンにしたリセット履歴を、フラッシュメモリ53の記憶領域65に書き込む書込処理を行う。つまり、S520,S530では、図5のS410,S420と同様に、記憶領域65内のリセット履歴をオンにしている。
そして、次のS540にて、図5のS440と同様に、リセット用処理として、ウォッチドッグタイマ49に対するクリア信号WDCの出力を停止する処理を行い、その後、S550にて、図5のS450と同様に、リセット制御回路47からのリセット信号SRによってリセットされるのを待つ状態となる。
このように、マイコン31は、IGSW19のオン中に自己診断処理で異常を検出した場合にも、リセット実施条件が成立したとして、自らをリセットするリセット用処理(S540)を行うようになっている。尚、この場合のリセットは、正常復帰を試みるためのリセットである。そして、マイコン31は、このような異常検出に伴う正常復帰用の自己リセットを行う場合にも、当然ながらリセットされると判断して、記憶領域65内リセット履歴をオンする(S520,S530)。
〈図7の説明〉
また、マイコン31は、リセット制御回路47が、前述の《機能4》によってリセット予告信号SNを出力すると、図7のNMI処理を行う。
図7に示すように、マイコン31は、NMI処理を開始すると、まずS610にて、前述した特定のレジスタにIGSWオフエッジ履歴が記憶されているか否かを判定し、IGSWオフエッジ履歴が記憶されていないと判定した場合には、S620に進む。
そして、S620にて、RAM55内のリセット履歴をオンにし、次のS630にて、上記S620でオンにしたリセット履歴を、フラッシュメモリ53の記憶領域65に書き込む書込処理を行う。
つまり、当該NMI処理の開始時にIGSWオフエッジ履歴が記憶されていなかった場合には(S610:NO)、IGSW19がオフされていないのに、例えば電源電圧VBのラインや動作用電圧Vdのラインにノイズが乗ったことにより、動作用電圧Vdがリセット予告閾値まで低下して、リセット制御回路47からリセット予告信号SNが出力された、と考えられる。よって、この場合、マイコン31は、間もなく動作用電圧Vdがリセット実施閾値(<リセット予告閾値)まで低下して、リセット制御回路47の《機能3》によりリセットされる、と判断し、S620,S630の処理により、記憶領域65内のリセット履歴をオンにしている。
そして、マイコン31は、S630の次のS640にて、リセット制御回路47によってリセットされるのを待つ状態(例えば、ノンオペレーション命令の実行を繰り返す状態)となる。
このように、マイコン31は、ノイズにより動作用電圧Vdが低下してリセット制御回路47によりリセットされることを検知した場合(S610:NO)にも、記憶領域65内リセット履歴をオンする(S620,S630)。
尚、メインリレー異常が発生しておらず、IGSW19がオフされてから、図3のS290でIGSWオフエッジ履歴がクリアされ、その後、図2のS180の処理が行われたことにより、動作用電圧Vdが低下して当該NMI処理が行われた場合にも、図7のS610で「NO」と判定されて、S620,S630の処理により、リセット履歴がオンにされる。しかし、その場合には、図3のS270,S280の処理により記憶領域63内の判定用フラグが既にオンにされており、マイコン31が次に起動した際に行う図4のイニシャル処理では、S330にて「YES」と判定する(即ち、メインリレー異常が発生していないと判断する)こととなるため、リセット履歴がオンになっていても処理に影響は無い。また、本実施形態において、マイコン31は、S610の判定により、IGSW19のオン中にリセット予告信号が入力されたこと、を検出していることとなる。
一方、マイコン31は、上記S610にて、特定のレジスタにIGSWオフエッジ履歴が記憶されていると判定した場合には、そのままS640に移行する。
つまり、この場合には、IGSW19がオフされた直後に、動作用電圧Vdがリセット予告閾値まで低下して、リセット制御回路47からリセット予告信号SNが出力された、と考えられ、メインリレー異常が発生している可能性がある。よって、マイコン31は、リセット履歴をオンにすることなく、リセット制御回路47によってリセットされるのを待つ。
以上のように、IGSW19のオン中に起こるマイコン31のリセットとしては、マイコン31がリセット用処理(S440,S540)を行うことで起こるリセット(即ち、ソフトウェアによる故意のリセット)と、ノイズによって動作用電圧Vdが瞬間的に低下して起こるリセット(即ち、意図しないリセット)とがある。そして、図5と図6の各処理では、故意のリセットの発生を検出してリセット履歴をオンにしており、図7の処理では、意図しないリセットの発生を検出してリセット履歴をオンにしている。
次に、アイドル処理について、図8を用い説明する。
図8に示すように、マイコン31は、アイドル処理を開始すると、まずS710にて、前述したリフレッシュ処理等の、通常の処理を行う。
そして、次のS720にて、フェールセーフ状態がオンであるか否かを判定し、フェールセーフ状態がオンでなければ(オフであれば)、そのまま当該アイドル処理を終了する。
また、上記S720にて、フェールセーフ状態がオンであると判定した場合には、図4のイニシャル処理によりメインリレー異常が発生していると判断されたということであり、その場合にはS730に進む。
そして、S730では、メインリレー異常が発生している場合のフェールセーフ処理として、本来ならばIGSW19がオフされた後に行う処理(例えば、図2のS160で行われるシャットダウン前処理や、図2のS170で行われるシャットダウン処理であり、特に、例えば後者のシャットダウン処理)を行う。尚、このS730では、本来ならばIGSW19がオフされた後に行う処理を、制御対象の制御に影響を与えないような処理時間となる量に分けて、少しずつ行う。そして、その後、当該アイドル処理を終了する。
このように、マイコン31は、メインリレー異常の発生を検出した場合には、本来ならばIGSW19がオフされた後に行う処理を、アイドル処理で行うようにしている。
このため、メインリレー異常が発生していて、IGSW19がオフされてすぐに端子17への電源電圧VBの供給が停止されても、IGSW19がオフされた後に行うはずの処理が全く行われなくなってしまうことを防止することができる。つまり、メインリレー異常による影響を少なくすることができる。例えば、S730のフェールセーフ処理として、シャットダウン処理(データ退避処理)を行うようになっていれば、RAM55からフラッシュメモリ53への、ダイアグコードや学習値等のデータ保存を行うことができるため、制御への影響を抑えることができる。
次に、以上のようなECU11の作用ついて、図9〜図11を用い、主にマイコン31を主体にして説明する。尚、図9〜図11及び以下の説明において、「トリップ」とは、マイコン31(延いてはECU11)が連続して動作している期間を意味している。
まず図9は、メインリレー15が正常に機能する場合の、マイコン31の動作例を表している。
図9に示すように、トリップ1中の時刻t1でIGSW19がオンからオフされたとすると、マイコン31は、そのことを図3のS250で検出し、その検出時点から所定時間Tdが経過した時刻t2になると、図3のS270,S280により、フラッシュメモリ53の記憶領域63にオンの判定用フラグを書き込む。尚、マイコン31は、起動した際に、図2のS110により、駆動回路45への給電要求信号SDをハイにしているため、IGSW19がオフされても、メインリレー15がオンし続けて、ECU11への電源電圧VBの供給が継続される。
そして、その後、マイコン31は、シャットダウン前処理(図2のS160)及びシャットダウン処理(図2のS170)を行い、それらの処理が終了した時刻t3にて、図2のS180により、駆動回路45への給電要求信号SDをハイからローにする。すると、メインリレー15がオフしてECU11への電源電圧VBが遮断され、その結果、マイコン31が動作を停止する。この時点でトリップ1が終了する。
その後の時刻t4でIGSW19がオンされると、メインリレー15がオンする。そして、そのメインリレー15を介してECU11に電源電圧VBが供給され、マイコン31が起動して、この時点からトリップ2が始まる。
尚、メインリレー15での電圧降下は殆ど無いため、メインリレー15がオンしていれば、IGSW19がオンであっても、ダイオード21に電流は流れない。つまり、ダイオード21を経由しての電源電圧VBの供給は、IGSW19がオンで、且つ、メインリレー15が故障によりオンしない場合に、行われることとなる。
そして、起動したマイコン31は、図4のイニシャル処理を行うが、マイコン31の起動時点において、記憶領域63内の判定用フラグはオンになっている。
このため、マイコン31は、図4のS330にて、判定用フラグがオンであると判定し、図4のS335にて、メインリレー異常が発生していないと判断して、メインリレー診断結果を、「正常」を示す値に設定することとなる。
そして、その後、マイコン31は、図3のS220,S240により、時刻t5に示すように、記憶領域63にオフの判定用フラグを書き込む。つまり、記憶領域63内の判定用フラグを、オンからオフに書き換えて、次回の異常検出に備える。
次に図10は、メインリレー異常が発生した場合の、マイコン31の動作例を表している。尚、この図10及び図11の各例において、異常判定閾値は「2」である。
図10の例では、トリップ1におけるIGSW19のオン中に、メインリレー異常が発生している。
このため、図10に示すように、トリップ1中の時刻t11でIGSW19がオンからオフされたとすると、すぐに、ECU11への電源電圧VBが遮断されて、マイコン31が動作を停止し、トリップ1が終了する。そして、この場合、マイコン31は、IGSW19がオフされた後に図3のS270,S280の処理を行うことができず、その結果、記憶領域63にオンの判定用フラグを書き込むことができない。よって、判定用フラグがオフのまま、マイコン31の動作が停止することとなる。
尚、メインリレー15が、マイコン31からの給電要求信号SDだけでなく、IGSW信号によってもオン不能ならば(つまり、メインリレー15にオン不能なオフ故障が生じている場合には)、IGSW19のオン中において、ECU11へは、IGSW19及びダイオード21を介して電源電圧VBが供給されることとなる。また、メインリレー異常が発生していても、メインリレー15がIGSW信号でオン可能ならば(つまり、メインリレー15が、IGSW信号ではオン可能で、マイコン31からの給電要求信号SDではオン不能な場合には)、IGSW19のオン中において、ECU11へは、メインリレー15を介して電源電圧VBが供給されることとなる。
その後の時刻t12でIGSW19がオンされると、ECU11に電源電圧VBが供給されて、マイコン31が起動し、この時点からトリップ2が始まる。
そして、起動したマイコン31は、図4のイニシャル処理を行うが、マイコン31の起動時点において、記憶領域63内の判定用フラグは、オンではなく、オフになっている。
このため、マイコン31は、図4のS330にて、判定用フラグがオフであると判定する。また、この例では、記憶領域65内のリセット履歴がオフであり、マイコン31は、図4のS345にて、リセット履歴がオフであると判定することとなる。よって、マイコン31は、図4のS350により、異常判定カウンタをインクリメントする。このため、異常判定カウンタは、「0」から「1」に増加するが、未だ異常判定閾値(=2)には達しない。
また、この場合、マイコン31は、メインリレー診断結果を、図4のS310で「未検出」を示す値に設定した後、変更しないため、そのメインリレー診断結果は「未検出」を示す値になる。
そして、その後、マイコン31は、図3のS220,S240により、時刻t13に示すように、記憶領域63にオフの判定用フラグを書き込むこととなる。よって、判定用フラグはオフのままである。
その後、トリップ1と同様に、トリップ2中の時刻t14でIGSW19がオンからオフされたとすると、この場合も、すぐに、ECU11への電源電圧VBが遮断されて、マイコン31が動作を停止し、トリップ2が終了する。そして、この場合も、マイコン31は、記憶領域63にオンの判定用フラグを書き込むことができない。
そして、その後の時刻t15でIGSW19がオンされると、ECU11に電源電圧VBが供給されて、マイコン31が起動し、この時点からトリップ3が始まる。
そして、起動したマイコン31は、図4のS330にて、判定用フラグがオフであると判定し、図4のS345にて、リセット履歴がオフであると判定することとなる。よって、マイコン31は、図4のS350により、異常判定カウンタをインクリメントする。このため、異常判定カウンタは、「1」から増加して異常判定閾値(=2)に達する。
よって、マイコン31は、図4のS355にて、異常判定カウンタが異常判定閾値以上になったと判定し、図4のS360にて、メインリレー異常が発生していると判断して、メインリレー診断結果を、「異常」を示す値に設定することとなる。更に、マイコン31は、図4のS365により、フェールセーフ状態をオンにし、その後は、本来ならばIGSW19がオフされた後に行う処理を、アイドル処理で行うようになる。
次に図11は、IGSW19のオン中にマイコン31がリセットされた場合の、マイコン31の動作例を表している。尚、この図11の例においても、図10と同様に、トリップ1におけるIGSW19のオン中に、メインリレー異常が発生している。
まず、図11において、時刻t13よりも前(左側)の動作内容は、前述した図10と同じであるため、説明を省略する。
そして、図11では、トリップ2中の時刻t24(この時点でIGSW19はオンのまま)にて、マイコン31がリセットされた場合を表している。
ここで、時刻t24で発生したリセットが、マイコン31のソフトウェアによる故意のリセットであれば、図5のS410,S420又は図6のS520,S530の処理により、記憶領域65にオンのリセット履歴が書き込まれることとなる。また、時刻t24で発生したリセットが、ノイズにより動作用電圧Vdが低下して起こるリセットであれば、図7のS620,S630の処理により、記憶領域65にオンのリセット履歴が書き込まれることとなる。
このため、時刻t24で発生したリセットが時刻25で解除されて、マイコン31が再起動した時点(即ち、トリップ3の開始時)では、記憶領域65内のリセット履歴がオンになっている。そして、時刻25で起動したマイコン31は、図4のS330にて、判定用フラグがオフであると判定し、図4のS345にて、リセット履歴がオンであると判定することとなる。
よって、トリップ3において、マイコン31は、判定用フラグがオフであっても、異常判定カウンタをインクリメントすることなく、図4のイニシャル処理を終了することとなる。このため、異常判定カウンタは、前回のトリップ2における値(=1)のままとなり、メインリレー異常が発生していると図4のS360で判断することが禁止されることとなる。
そして、その後、マイコン31は、時刻t26に示すように、図3のS230,S240により、記憶領域65内のリセット履歴をオンからオフに書き換えることとなる。また、マイコン31は、図3のS220,S240により、記憶領域63にオフの判定用フラグを書き込むこととなる。
その後、トリップ3中の時刻t27でIGSW19がオンからオフされたとすると、この場合も、すぐに、ECU11への電源電圧VBが遮断されて、マイコン31が動作を停止し、トリップ3が終了する。
そして、その後の時刻t28でIGSW19がオンされると、ECU11に電源電圧VBが供給されて、マイコン31が起動し、この時点からトリップ4が始まる。
そして、起動したマイコン31は、図4のS330にて、判定用フラグがオフであると判定し、図4のS345にて、今度は、リセット履歴がオフであると判定することとなる。よって、マイコン31は、図4のS350により、異常判定カウンタをインクリメントし、その結果、異常判定カウンタは異常判定閾値(=2)に達する。このため、マイコン31は、図4のS360にて、メインリレー異常が発生していると判断して、メインリレー診断結果を、「異常」を示す値に設定することとなる。更に、マイコン31は、図4のS365により、フェールセーフ状態をオンにし、その後は、本来ならばIGSW19がオフされた後に行う処理を、アイドル処理で行うようになる。つまり、図11における時刻t28以降のトリップ4の動作は、図10における時刻t15以降のトリップ3の動作と同じである。
以上のようなECU11によれば、マイコン31がIGSW19のオン中にリセットされて、記憶領域63内の判定用フラグがオンにされなかった場合には、そのリセットの発生が検出されてリセット履歴がオンされる。そして、リセットの解除により起動したマイコン31は、判定用フラグがオフであっても、リセット履歴がオンであれば、図4のイニシャル処理におけるS350以降の処理を行うことが禁止される(即ち、メインリレー異常が発生していると判断することが禁止される)ようになっている。
よって、IGSW19のオン中にリセットされたマイコン31が、次に起動した際に、メインリレー異常が発生していると誤判定してしまうことを、防止することができ、その結果、メインリレー15に関する故障検出精度を向上させることができる。
尚、本実施形態では、IGSW19がオンであることが、起動用給電条件に相当している。また、メインリレー15及び駆動回路45が、給電手段に相当し、メインリレー異常が、給電手段の異常に相当している。また、マイコン31が給電要求信号SDをハイにすることが、「給電要求信号を出力すること」に相当し、マイコン31が給電要求信号SDをハイからローにすることが、「給電要求信号の出力を停止すること」に相当している。また、オンの判定用フラグが、判定用情報に相当し、オフの判定用フラグが、判定用情報とは異なる情報に相当している。また、オンのリセット履歴が、リセット発生情報に相当している。
[第2実施形態]
図12に示す第2実施形態のECU11では、図1と比較すると、ダイオード21を経由した電源電圧VBの供給経路が設けられていない、という点が異なっている。
そして、この構成の場合、マイコン31は、例えば、当該マイコン31から駆動回路45へ給電要求信号SDを出力するための配線の故障(断線又はグランドショート)と、メインリレー15のオフ故障とのうち、前者の配線故障を、メインリレー異常として検出することとなる。もしメインリレー15にオフ故障が生じたなら、IGSW19がオンされても、ECU11に電源電圧VBが供給されず、マイコン31は動作しなくなるからである。
一方、第1実施形態のECU11(図1)において、マイコン31は、メインリレー15にオフ故障が生じても、IGSW19のオン中は動作するため、給電要求信号SDの配線故障とメインリレー15のオフ故障とを、メインリレー異常として検出することとなる。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、駆動回路45の一部又は全部は、ECU11の外部にあっても良い。
また、起動用給電条件としては、IGSW19のオンという条件以外でも良く、例えば、他の制御装置から出力される起動用信号がアクティブレベルになったという条件であっても良い。また、起動用給電条件としては、例えば、複数の起動用信号のうちの少なくとも1つがアクティブレベルである、というように、2つ以上の条件の何れかが成立している、という条件あっても良い。
また、図5〜図7の各処理のうち、何れかが行われない構成であっても良い。また、マイコン31が、リプログ処理を実施した場合や異常を検出した場合以外の、所定の場合に、リセット用処理を行うのであれば、その所定の場合に、リセット履歴をオンにする処理を行えば良い。
また、図8のアイドル処理から、S720及びS730の処理を削除することも可能である。
また、判定用フラグ、リセット履歴、及び異常判定カウンタの保存先は、スタンバイRAM57でも良い。
また、動作用電圧Vdの低下によるリセットを検出せずに、マイコン31のソフトウェアによる故意のリセットだけを検出するのであれば、リセット履歴の保存先(リセット記憶部)は、例えばRAM55でも良い。
また、データの書き換えが可能な不揮発性メモリとしては、フラッシュメモリに限らず、例えばEEPROM等でもよい。
また、異常判定閾値は、図10,図11で例示した「2」に限らず、「3」以上であっても良いし、「1」であっても良い。尚、異常判定閾値を「1」にするのであれば、図4におけるS350,S355の処理等、異常判定カウンタに関する処理は不要となる。
一方、マイコン31とは別に、リセット検出手段としてのハードウェアを設けるようにしても良い。
例えば、マイコン31がリセット用処理(S440,S540)を行う場合に、そのリセット用処理を行うことを示す報知信号を、リセット検出手段及びリセット記憶部としてのラッチ回路に出力し、そのラッチ回路は、報知信号が入力されると、該報知信号をラッチしてセット状態になる、といった構成でも良い。この場合、ラッチ回路がセット状態であることが、リセット記憶部にリセット発生情報が記憶されていること、に相当する。また同様に、上記ラッチ回路が、IGSW19のオン中にリセット制御回路47からマイコン31へリセット信号SRが出力されると、そのリセット信号SRをラッチしてセット状態になる、という構成を採ることもできる。そして、マイコン31は、図4のS345にて、上記ラッチ回路がセット状態であるか否か判定すれば良い。
また例えば、上記報知信号をラッチするラッチ回路と、リセット信号SRをラッチするラッチ回路とを、別々に設けても良く、その場合、マイコン31は、図4のS345にて、複数のラッチ回路の少なくとも1つがセット状態であるか否か判定すれば良い。
11…ECU(電子制御装置)、13…バッテリ、15…メインリレー、17…給電部としての端子、19…IGSW(イグニッションスイッチ)、21…ダイオード、31…マイコン、33…電源制御IC、41…主電源回路、45…駆動回路、47…リセット制御回路、49…ウォッチドッグタイマ、51…CPU、53…フラッシュメモリ、63…判定用情報記憶部としての記憶領域、65…リセット記憶部としての記憶領域

Claims (7)

  1. 起動用給電条件と動作継続用給電条件との何れかが成立している場合に、外部電源(13)からの電源電圧が供給される給電部(17)と、
    前記給電部に前記電源電圧が供給されると、該電源電圧を電力源として動作するマイコン(31)と、を備え、
    前記動作継続用給電条件は、動作状態の前記マイコンから給電要求信号が出力されることであり、
    前記マイコンは、動作を開始すると、前記給電要求信号が入力されることで前記給電部に前記電源電圧を供給する給電手段(15,45)に対して、前記給電要求信号を出力することを開始し、前記起動用給電条件が非成立になったことを検知した後で特定の処理を終了すると、前記給電要求信号の出力を停止して動作を停止するようになっている、電子制御装置(11)であって、
    前記給電手段の異常の有無を判定するために用いられる判定用情報を記憶するための記憶部として、前記給電部に前記電源電圧が供給されるか否かに拘わらずデータを保存可能な判定用情報記憶部(63)を備え、
    前記マイコンは、前記起動用給電条件が非成立になったことを検知してから前記給電要求信号の出力を停止するまでの間に、前記判定用情報を前記判定用情報記憶部に書き込む第1書込処理(S270,S280)を行い、
    前記マイコンは、動作を開始した後、前記判定用情報記憶部に前記判定用情報が記憶されているか否かを判定して、前記判定用情報が記憶されていないことを条件に前記給電手段が異常であると判断する、異常検出処理(S330,S350〜S360)を行い、また、少なくとも前記判定用情報記憶部に前記判定用情報が記憶されていると判定した場合には、前記判定用情報記憶部に前記判定用情報とは異なる情報を書き込む第2書込処理(S220,S240)も行い、
    更に、当該電子制御装置は、前記起動用給電条件が成立している場合における前記マイコンのリセットを検出して、前記マイコンがリセットされたことを示すリセット発生情報をリセット記憶部(65)に記憶するリセット検出手段(31,S410,S420,S520,S530,S610〜S630)を備え、
    前記マイコンは、動作を開始した際に、前記リセット記憶部に前記リセット発生情報が記憶されていた場合には、前記異常検出処理により前記給電手段が異常であると判断することを禁止する(S345)ようになっていること、
    を特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    異常判定カウンタを記憶するための記憶部として、前記給電部に前記電源電圧が供給されるか否かに拘わらずデータを保存可能なカウンタ記憶部(67)を備え、
    前記マイコンは、前記異常検出処理として、
    前記判定用情報記憶部に前記判定用情報が記憶されているか否かを判定する第1処理(S330)と、
    前記第1処理により前記判定用情報記憶部に前記判定用情報が記憶されていないと判定した場合に、前記カウンタ記憶部に記憶されていた前記異常判定カウンタをインクリメントする第2処理(S350)と、
    前記第2処理によりインクリメントされた後の前記異常判定カウンタが、2以上の異常判定閾値以上になったか否かを判定し、前記異常判定カウンタが前記異常判定閾値以上であれば、前記給電手段が異常であると判断する第3処理(S355,S360)と、を行うようになっており、
    前記マイコンは、
    前記第2処理によりインクリメントされた後の前記異常判定カウンタを前記カウンタ記憶部に書き込む処理(S240)も行うようになっており、
    更に、前記マイコンは、
    前記第1処理により前記判定用情報記憶部に前記判定用情報が記憶されていないと判定すると、前記第2処理を行う前に、前記リセット記憶部に前記リセット発生情報が記憶されているか否かを判定する第4処理(S345)を行い、該第4処理により前記リセット記憶部に前記リセット発生情報が記憶されていると判定した場合には、前記第2処理及び前記第3処理の実行を禁止することにより、前記異常検出処理により前記給電手段が異常であると判断することを禁止し(S345:YES)、前記リセット記憶部内の前記リセット発生情報を消去する処理(S230,S240)も行うこと、
    を特徴とする電子制御装置。
  3. 請求項1又は請求項2に記載の電子制御装置において、
    前記マイコンは、前記起動用給電条件が成立している場合に所定のリセット実施条件が成立すると、当該マイコンをリセットするためのリセット用処理(S440,S540)を行うようになっており、
    前記リセット検出手段(31,S410,S420,S520,S530)は、前記マイコンのリセットとして、前記マイコンにより前記リセット用処理が行われたことを検出すること、
    を特徴とする電子制御装置。
  4. 請求項に記載の電子制御装置において、
    前記リセット検出手段は、前記マイコンによって実現され、前記マイコンは、前記リセット用処理(S440,S540)を行う場合に、前記リセット発生情報を前記リセット記憶部に記憶する(S410,S420,S520,S530)こと、
    を特徴とする電子制御装置。
  5. 請求項又は請求項に記載の電子制御装置において、
    前記リセット実施条件は、前記マイコンが実行対象のプログラムを書き換える処理を行ったという条件と、前記マイコンが当該マイコンの異常を検出したという条件との、少なくとも一方であること、
    を特徴とする電子制御装置。
  6. 請求項1ないし請求項の何れか1項に記載の電子制御装置において、
    前記給電部に供給される前記電源電圧から、前記マイコンを動作させるための一定の動作用電圧を生成して前記マイコンに出力する電源回路(41)と、
    前記電源回路から出力される前記動作用電圧が、前記マイコンが動作不能となる電圧値よりも高い所定のリセット実施閾値まで低下したことを検知すると、前記マイコンをリセットするリセット制御回路(47)と、を備え、
    前記リセット記憶部(65)は、前記給電部に前記電源電圧が供給されるか否かに拘わらずデータを保存可能な記憶部であり、
    前記リセット検出手段(31,S610〜S630)は、前記マイコンのリセットとして、前記起動用給電条件が成立している場合における前記リセット制御回路による前記マイコンのリセットを検出すること、
    を特徴とする電子制御装置。
  7. 請求項に記載の電子制御装置において、
    前記リセット制御回路(47)は、前記マイコンをリセットする前の時点であって、前記電源回路から出力される前記動作用電圧が前記リセット実施閾値よりも高いリセット予告閾値まで低下したことを検知した時点で、前記マイコンにリセット予告信号を出力するようになっており、
    前記リセット検出手段は、前記マイコンによって実現され、前記マイコンは、前記起動用給電条件が成立している場合に前記リセット予告信号が入力されたことを検出すると、前記リセット発生情報を前記リセット記憶部に記憶する(S610〜S630)こと、
    を特徴とする電子制御装置。
JP2012189140A 2012-08-29 2012-08-29 電子制御装置 Active JP6011162B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012189140A JP6011162B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012189140A JP6011162B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Publications (2)

Publication Number Publication Date
JP2014048070A JP2014048070A (ja) 2014-03-17
JP6011162B2 true JP6011162B2 (ja) 2016-10-19

Family

ID=50607916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012189140A Active JP6011162B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Country Status (1)

Country Link
JP (1) JP6011162B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6399774B2 (ja) * 2014-03-18 2018-10-03 三菱電機株式会社 冷蔵庫
JP2016147585A (ja) * 2015-02-12 2016-08-18 株式会社デンソー 電子制御装置
JP2017056847A (ja) * 2015-09-17 2017-03-23 日野自動車株式会社 車両用電子制御装置
JP6597456B2 (ja) * 2016-03-30 2019-10-30 株式会社デンソー 電子制御装置
JP6690495B2 (ja) * 2016-10-21 2020-04-28 株式会社デンソー 電子制御装置
JP7288513B2 (ja) * 2019-09-18 2023-06-07 日立Astemo株式会社 電子制御装置
JP7329426B2 (ja) 2019-11-29 2023-08-18 エイブリック株式会社 電源管理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60211525A (ja) * 1984-04-06 1985-10-23 Fujitsu Ten Ltd 電源瞬断記憶装置
JPH0435959Y2 (ja) * 1987-03-19 1992-08-25
JPH01129133A (ja) * 1987-11-16 1989-05-22 Hitachi Ltd エンジン制御装置の自己診断
JP2586696Y2 (ja) * 1993-08-31 1998-12-09 株式会社東海理化電機製作所 車両用負荷制御装置
JP3298290B2 (ja) * 1994-03-04 2002-07-02 日産自動車株式会社 多重通信装置
JP5221903B2 (ja) * 2007-06-27 2013-06-26 株式会社島津製作所 質量分析装置
JP5141367B2 (ja) * 2008-05-14 2013-02-13 株式会社デンソー 車両制御装置
JP5236608B2 (ja) * 2009-09-25 2013-07-17 富士通テン株式会社 アイドリングストップ装置およびアイドリングストップ機能の無効化方法
JP5370115B2 (ja) * 2009-12-14 2013-12-18 株式会社デンソー 車載装置
JP5136602B2 (ja) * 2010-06-28 2013-02-06 トヨタ自動車株式会社 電子制御装置

Also Published As

Publication number Publication date
JP2014048070A (ja) 2014-03-17

Similar Documents

Publication Publication Date Title
JP6011162B2 (ja) 電子制御装置
JP4692318B2 (ja) 電子制御装置
JP4518150B2 (ja) 車両用電子制御装置
JP5176728B2 (ja) 車両用電子制御装置
JP6044316B2 (ja) 車載電子制御装置
JP5244981B2 (ja) マイクロコンピュータ及びその動作方法
JP2014035730A (ja) 車両用制御装置
JP2006307721A (ja) 車両用電子制御装置
JP2008186173A (ja) 障害監視システム
JP5962697B2 (ja) 電子制御装置
CN102141939A (zh) 可记录整机重启原因的装置
JP2015118423A (ja) リフレッシュ装置及び電子機器
JP5598447B2 (ja) スタータ制御装置
JP2008055980A (ja) 自動車の電子制御装置
US9778981B2 (en) Microcontroller
JP3870974B2 (ja) 電子制御装置
JP4812699B2 (ja) 電源制御装置
JP2020050319A (ja) 電源監視装置、電源制御システム、および電源監視方法
JP2008293420A (ja) 電子制御装置
JP2002236503A (ja) 車両用電子制御装置
JP3960212B2 (ja) 電子制御装置
JP6172040B2 (ja) 電子制御装置
JP5029123B2 (ja) 電子制御装置及び通信システム
JP2013058159A (ja) 電子制御装置
JP2000337210A (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160325

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R151 Written notification of patent or utility model registration

Ref document number: 6011162

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