(57)【要約】【課題】バックアップメモリと不揮発性メモリとの相異なる性質を積極的に利用して、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部としての容量的な無駄を排除することのできる故障診断方法及び故障診断装置を提供する。【解決手段】電子制御装置１００は、車載バッテリからの給電に基づいて記憶内容が保持されるバックアップメモリ１１４ａと同給電を受けることなく記憶内容が保持される不揮発性メモリ１０３とを備えている。ここで、電子制御装置１００は、車載機器の故障状況を示す故障情報をドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類し、該分類に基づいて第１及び第２の故障情報をバックアップメモリ１１４ａと不揮発性メモリ１０３とに書き分ける。【選択図】        図１
2006209685.tif 000002
【特許請求の範囲】
【請求項１】
車載バッテリからのバックアップ電圧に基づいて記憶内容が保持されるバックアップメモリとバックアップ電圧を受けることなく記憶内容が保持される不揮発性メモリとに対して車載機器の故障状況を示す故障情報の書き込み処理を行いつつ、イグニッションスイッチのオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定されるドライビングサイクルごとに前記故障情報に基づく車載機器の故障診断を行う故障診断方法において、
前記故障情報を前記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類し、該分類に基づいて前記第１及び第２の故障情報を前記バックアップメモリと前記不揮発性メモリとに書き分けるようにした
ことを特徴とする故障診断方法。
【請求項２】
前記不揮発性メモリに書き込まれる前記第２の故障情報は、前記バックアップメモリに書き込まれている最新の情報と前記不揮発性メモリにその時点で書き込まれている第２の故障情報とに基づいて、同第２の故障情報として新たに書き込まれるべき情報が算出される
請求項１に記載の故障診断方法。
【請求項３】
前記第２の故障情報を前記不揮発性メモリのみに書き込む
請求項２に記載の故障診断方法。
【請求項４】
前記第１の故障情報のうち、前記ドライビングサイクルの開始に伴って初期化される故障情報についてはこれを前記バックアップメモリのみに書き込む
請求項３に記載の故障診断方法。
【請求項５】
前記第１の故障情報を前記バックアップメモリのみに書き込む
請求項２に記載の故障診断方法。
【請求項６】
前記第２の故障情報のうち、前記不揮発性メモリへの書き込み時に、同不揮発性メモリにその時点で書き込まれている値と前記バックアップメモリにその時点で書き込まれている他の故障情報の最新の値とに基づいて算出することのできる故障情報についてはこれを前記不揮発性メモリのみに書き込む
請求項５に記載の故障診断方法。
【請求項７】
前記不揮発性メモリへの前記第２の故障情報の書き込みが、前記ドライビングサイクルの終了タイミングに同期して実行される
請求項１〜６のいずれか一項に記載の故障診断方法。
【請求項８】
前記不揮発性メモリへの前記第２の故障情報の書き込みが、前記イグニッションスイッチのオフ操作に基づいて実行される
請求項１〜６のいずれか一項に記載の故障診断方法。
【請求項９】
前記不揮発性メモリに書き込むことのできる故障情報の数に制限を設けるとともに、それら故障情報の各々に優先度を定め、前記不揮発性メモリへの故障情報の書き込みに際して前記故障情報の数が前記制限を超えるとき、優先度の低い故障情報から順次削除しつつ、新たな故障情報を同不揮発性メモリに書き込む
請求項１〜８のいずれか一項に記載の故障診断方法。
【請求項１０】
前記バックアップメモリ及び前記不揮発性メモリに格納されている各故障情報についての外部ツールからの消去要求があったとき、前記バックアップメモリに格納されている消去要求故障情報については消去を行い、前記不揮発性メモリに格納されている消去要求故障情報については、当該故障情報についての消去要求があった旨を示す情報を前記バックアップメモリ及び前記不揮発性メモリの少なくとも一方に書き込む
請求項１〜９のいずれか一項に記載の故障診断方法。
【請求項１１】
車載バッテリからのバックアップ電圧に基づいて記憶内容が保持されるバックアップメモリとバックアップ電圧を受けることなく記憶内容が保持される不揮発性メモリとに対して車載機器の故障状況を示す故障情報の書き込み処理を行いつつ、イグニッションスイッチのオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定されるドライビングサイクルごとに前記故障情報に基づく車載機器の故障診断を行う故障診断装置において、
前記故障情報を前記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類し、該分類に基づいて前記第１及び第２の故障情報を前記バックアップメモリと前記不揮発性メモリとに書き分ける書き込み制御手段を備える
ことを特徴とする故障診断装置。
【請求項１２】
前記書き込み制御手段は、前記不揮発性メモリへの前記第２の故障情報の書き込みに際し、前記バックアップメモリに書き込まれている最新の情報と前記不揮発性メモリにその時点で書き込まれている第２の故障情報とに基づき同第２の故障情報として新たに書き込むべき情報を算出し、該算出した情報を前記不揮発性メモリに書き込むものである
請求項１１に記載の故障診断装置。
【請求項１３】
前記書き込み制御手段は、前記第２の故障情報を前記不揮発性メモリのみに書き込むものである
請求項１２に記載の故障診断装置。
【請求項１４】
前記書き込み制御手段は、前記第１の故障情報のうち、前記ドライビングサイクルの開始に伴って初期化される故障情報についてはこれを前記バックアップメモリのみに書き込むものである
請求項１３に記載の故障診断装置。
【請求項１５】
前記書き込み制御手段は、前記第１の故障情報を前記バックアップメモリのみに書き込むものである
請求項１２に記載の故障診断装置。
【請求項１６】
前記書き込み制御手段は、前記第２の故障情報のうち、前記不揮発性メモリにその時点で書き込まれている値と前記バックアップメモリにその時点で書き込まれている他の故障情報とに基づいて算出することのできる故障情報についてはこれを前記不揮発性メモリのみに書き込むものである
請求項１５に記載の故障診断装置。
【請求項１７】
前記書き込み制御手段は、前記不揮発性メモリへの前記第２の故障情報の書き込みを、前記ドライビングサイクルの終了タイミングに同期して実行する
請求項１０〜１６のいずれか一項に記載の故障診断装置。
【請求項１８】
前記書き込み制御手段は、前記不揮発性メモリへの前記第２の故障情報の書き込みを、前記イグニッションスイッチのオフ操作に基づいて実行する
請求項１０〜１６のいずれか一項に記載の故障診断装置。
【請求項１９】
前記書き込み制御手段は、前記不揮発性メモリに書き込むことのできる故障情報の数に制限を設けるとともに、それら故障情報の各々に優先度を定め、前記不揮発性メモリへの故障情報の書き込みに際して前記故障情報の数が前記制限を超えるとき、優先度の低い故障情報から順次削除しつつ、新たな故障情報を同不揮発性メモリに書き込むものである
請求項１０〜１８のいずれか一項に記載の故障診断装置。
【請求項２０】
前記書き込み制御手段は、前記バックアップメモリ及び前記不揮発性メモリに格納されている各故障情報についての外部ツールからの消去要求があったとき、前記バックアップメモリに格納されている消去要求故障情報については消去を行い、前記不揮発性メモリに格納されている消去要求故障情報については、当該故障情報についての消去要求があった旨を示す情報を前記バックアップメモリ及び前記不揮発性メモリの少なくとも一方に書き込むものである
請求項１０〜１９のいずれか一項に記載の故障診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車載内燃機関の稼働状況に応じて変化する物理量、例えば排気管内の酸素濃度や冷却水の温度等を検出するセンサによる検出出力などに基づいて内燃機関を含めた車載機器の故障診断を行う故障診断方法及び故障診断装置に関する。
【背景技術】
【０００２】
周知のように、車両には、排気ガスに含まれる有害物質の低減を目的として、例えば触媒装置や、該触媒装置による排気浄化能力を維持すべく空燃比のフィードバック制御を行う空燃比フィードバック制御装置などが搭載されている。こうした装置では通常、排気管内の酸素濃度を検出する酸素センサなどを備え、このようなセンサによる出力信号に基づいて燃焼に供された混合気の空燃比をその都度認識し、その認識（リッチまたはリーン）に応じた燃料噴射量制御を行うことによって排気ガスに含まれる有害物質の低減を図っている。しかしながら、排気ガスに含まれる有害物質の低減を目的とするこのような装置では、例えば上記酸素センサの故障などによって、上記燃料噴射量等に関する適正な制御が行われなくなると、機関出力に悪影響を及ぼすことはもとより、排気ガスに含まれる有害物質が逆に増加しかねない。
【０００３】
そこで近年、排気ガスに含まれる有害物質の低減を目的とするこのような装置の故障診断を行う故障診断装置を車両に搭載することが世界的に進められている。事実、アメリカ合衆国では、故障診断装置の車両への搭載を義務づけるＯＢＤ（Ｏｎ  Ｂｏａｒｄ  Ｄｉａｇｎｏｓｉｓ）規制が施行されており、我が国もこうした動きに追従している。ちなみに、このＯＢＤ規制では、具体的には、
・イグニッションスイッチのオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定されるドライビングサイクル（ＤＣ）を基準として、該ドライビングサイクルごとに車載機器の故障診断を行うこと。
・当該故障診断装置に対する給電が遮断された状態においても車載機器の故障診断に用いられる情報（故障情報）を記憶保持することのできるメモリを用いること。
等々が義務づけられている。
【０００４】
そして従来、こうした故障診断装置としては、上記故障情報を記憶保持するメモリとして、車載バッテリによってバックアップされた例えばバックアップＲＡＭ等のバックアップメモリを備える故障診断装置が知られている。
【０００５】
すなわち、この故障診断装置では、上記ドライビングサイクルを基準として、該ドライビングサイクルごとに、例えば排気管内の酸素濃度を検出する酸素センサの出力信号に基づいてその故障診断を行う。そして、同故障診断装置は、上記酸素センサやその他の車載機器の故障が検出された場合、その故障コードなどの故障情報を上記バックアップメモリに格納してこれを記憶保持する。ただし、このバックアップメモリは上述のように、車載バッテリによってバックアップされているメモリであるため、該車載バッテリの交換時など、一瞬でもその給電が途絶えるようなことがあると、同メモリに格納されている故障情報が消去されることとなる。すなわち、上記故障診断にかかる信頼性を維持することができなくなる。
【０００６】
そこで、バックアップメモリに代えて、車載バッテリからの給電を受けることなくその記憶内容が保持されるフラッシュメモリ等の不揮発性メモリを用意し、該不揮発性メモリに上記故障情報を格納するようにすることも考えられる。すなわち、このような不揮発性メモリは、情報（データ）の消去時、書き込み時、そして読み出し時以外は基本的に給電の不要なメモリであるため、一旦書き込まれた情報（データ）についてはその保持能力も高く、上記故障診断にかかる信頼性を維持することができるようになる。ただし、このような不揮発性メモリは、その他方の性質としてよく知られているように、上記バックアップメモリ（ＲＡＭ）等と比較して、データの書き込み処理により多くの時間（処理負荷）を要するメモリでもあるため、この不揮発性メモリに対して上記故障情報が積極的に格納されるような場合、その書き込み処理にかかる時間（処理負荷）の増大が無視できないものとなる。
【０００７】
そのため、従来は、例えば特許文献１に見られるように、上記故障情報を記憶保持するメモリとして、上述したバックアップメモリと不揮発性メモリとの両方のメモリを備える故障診断装置なども提案されている。すなわち、この故障診断装置では、車載機器の故障診断が行われるとき、上記故障情報の全てを、まずは、上記バックアップメモリに格納する。そして、所定のタイミングにて該バックアップメモリから同故障情報を読み出して上記不揮発性メモリに格納することによって、上記不揮発性メモリに対する上記故障情報の書き込み処理に要する処理負荷の軽減を図りつつ、それら故障情報の信頼性を確保するようにしている。
【特許文献１】特表２００２−５２２８３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように、上記従来の故障診断装置では、上記故障情報の格納部として上記バックアップメモリと上記不揮発性メモリとを共用することによって、上記不揮発性メモリに対する上記故障情報の書き込み処理に要する処理負荷の軽減を図ることはできる。しかしながら、上記従来の故障診断装置では、上記バックアップメモリ及び上記不揮発性メモリにそれぞれ格納される情報の大部分が重複することとなり、上記故障情報の格納部としての容量的な無駄が避けられない。
【０００９】
この発明は、こうした実情に鑑みてなされたものであり、その目的は、バックアップメモリと不揮発性メモリとの相異なる性質を積極的に利用して、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部としての容量的な無駄を排除することのできる故障診断方法及び故障診断装置を提供することにある。
【課題を解決するための手段】
【００１０】
こうした目的を達成するため、請求項１に記載の故障診断方法あるいは請求項１１に記載の故障診断装置では、車載バッテリからのバックアップ電圧に基づいて記憶内容が保持されるバックアップメモリとバックアップ電圧を受けることなく記憶内容が保持される不揮発性メモリとに対して車載機器の故障状況を示す故障情報の書き込み処理を行いつつ、イグニッションスイッチのオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定されるドライビングサイクルごとに前記故障情報に基づく車載機器の故障診断を行う故障診断方法あるいは故障診断装置として、前記故障情報を前記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類し、該分類に基づいて前記第１及び第２の故障情報を前記バックアップメモリと前記不揮発性メモリとに書き分けるようにした。
【００１１】
前述のように、フラッシュメモリ等の不揮発性メモリは、バックアップＲＡＭ等のバックアップメモリと比較して、情報（データ）の保持能力は高いものの、データの書き込み処理には多くの時間（処理負荷）を要するといった性質を有する。
【００１２】
一方、ドライビングサイクルごとに車載機器の故障診断が行われる上記条件下にあっては、車載機器の故障状況を示す上記故障情報のうち、故障診断の信頼性を維持する上で情報保持の必要性の高い情報の多くが上記ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報となる。また、ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報には、例えばドライビングサイクルの開始に伴って初期化される故障情報など、バックアップメモリの情報（データ）保持の能力によっても十分にその信頼性が確保されるような情報が多い。
【００１３】
この点、上記方法あるいは構成では、ドライビングサイクルごとに車載機器の故障診断が行われる上記条件下にあって、故障情報を上記第１の故障情報と第２の故障情報とに分類し、これら第１及び第２の故障情報の上述した各性質と上記バックアップメモリ及び不揮発性メモリの上述した各性質とに基づいて、上記第１及び第２の故障情報を上記バックアップメモリと上記不揮発性メモリとに書き分けるようにしている。このため、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部（バックアップメモリ及び不揮発性メモリ）としての容量的な無駄を排除することができるようになる。
【００１４】
ちなみに、上記バックアップメモリ及び上記不揮発性メモリに対する上記第１及び第２の故障情報の書き分けの具体的な態様としては、それら第１の故障情報及び第２の故障情報の上述の各性質に鑑み、基本的には、
（イ）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリに書き込む。
（ロ）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリに書き込む。
といった書き分けが採用される。そしてこの場合、上記（イ）の処理によって、上記故障情報の保持に対する信頼性の向上が図られるようになる。また、上記（ロ）の処理によって、ドライビングサイクル中、不揮発性メモリへの情報の書き込みが上記第１の故障情報の更新の都度行われることがなくなり、上記故障情報の書き込みにかかる処理負荷の軽減が図られるとともに、リアルタイム性も維持されるようになる。また、このような（イ）及び（ロ）の書き分けを通じて、上記バックアップメモリ及び上記不揮発性メモリにそれぞれ格納される情報の重複も大幅に抑制されるようになる。
【００１５】
なお、このような場合には通常、例えば、車載内燃機関の稼働状況をその都度検出するセンサからの出力信号などの故障情報が上記第１の故障情報として、まず上記バックアップメモリに書き込まれる。そして、バックアップメモリに書き込まれるこの第１の故障情報と上記不揮発性メモリにその時点で書き込まれている第２の故障情報とに基づいて、ドライビングサイクルごとに行われる上記故障診断のいわば最終的な診断結果ともいうべき同第２の故障情報としての最新の情報が算出されることとなる。したがって、このような場合には、請求項２に記載の故障診断方法あるいは請求項１２に記載の故障診断装置によるように、上記第２の故障情報については、上記バックアップメモリに書き込まれている最新の情報と上記不揮発性メモリにその時点で書き込まれている第２の故障情報とに基づいて、同第２の故障情報として新たに書き込まれるべき情報を算出し、該算出した情報を上記不揮発性メモリに書き込むようにすることが実用上望ましい。
【００１６】
また、請求項２に記載の故障診断方法あるいは請求項１２に記載の故障診断装置において、請求項３に記載の故障診断方法あるいは請求項１３に記載の故障診断装置によるように、
（イ’）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリのみに書き込む。
若しくは、請求項５に記載の故障診断方法あるいは請求項１５に記載の故障診断装置によるように、
（ロ’）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリのみに書き込む。
等々、といった書き分けをさらに採用するようにすることが、それらメモリとしての容量的な無駄を排除する上でより望ましい。
【００１７】
ちなみに、上記請求項３に記載の故障診断方法あるいは請求項１３に記載の故障診断装置では、
（イ’）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリのみに書き込む。且つ、
（ロ）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリに書き込む。
といった書き分けが採用されることとなる。すなわち上述の通り、ドライビングサイクルごとに車載機器の故障診断が行われる上記条件下にあっては、車載機器の故障状況を示す上記故障情報のうち、故障診断の信頼性を維持する上で情報保持の必要性の高い情報の多くが上記ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報となる。このため、この請求項３に記載の故障診断方法あるいは請求項１３に記載の故障診断装置によるように、このような第２の故障情報を、バックアップメモリと比較して情報保持の能力に優れる不揮発性メモリのみに書き込むようにすれば、故障情報の保持に対する信頼性を好適に維持しつつ、バックアップメモリとしての容量的な無駄をより適切に排除することができるようになる。
【００１８】
また、この場合には特に、請求項４に記載の故障診断方法あるいは請求項１４に記載の故障診断装置によるように、前記第１の故障情報のうち、前記ドライビングサイクルの開始に伴って初期化される故障情報についてはこれを前記バックアップメモリのみに書き込むようにすることが望ましい。すなわち上述の通り、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報には、例えばドライビングサイクルの開始に伴って初期化される故障情報など、バックアップメモリの情報（データ）保持の能力によっても十分にその信頼性が確保される故障情報が多い。したがって、上記方法あるいは構成によるように、このような故障情報を前記バックアップメモリのみに書き込むようにすれば、上記故障情報の保持に対する信頼性を好適に維持しつつ、不揮発性メモリとしての容量的な無駄をさらに排除することができるようになる。
【００１９】
一方、上記請求項５に記載の故障診断方法あるいは請求項１５に記載の故障診断装置では、
（イ）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリに書き込む。且つ、
（ロ’）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリのみに書き込む。
といった書き分けが採用される。すなわちここでは、上記（ロ’）の処理を通じて上記不揮発性メモリとしての容量的な無駄のより適切な排除を図るようにしている。ただしこの場合、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報が、上記不揮発性メモリに対して情報（データ）の保持能力に劣るバックアップメモリのみに格納されることとなり、その情報保持に対する信頼性の低下が懸念される。しかしながら、上述の通り、このような第１の故障情報には、例えばドライビングサイクルの開始に伴って初期化される故障情報や上記不揮発性メモリに格納される第２の故障情報に基づいて算出される故障情報など、このバックアップメモリの情報（データ）の保持能力によっても十分にその信頼性が確保される故障情報が多い。したがって、このような故障診断方法あるいは故障診断装置によっても、上記故障情報の格納部としてその情報の保持に対する信頼性を好適に維持しつつ、それら故障情報の格納部としての容量的な無駄をより適切に排除することができるようになる。
【００２０】
しかも、この故障診断方法あるいは故障診断装置では、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報のメモリへの書き込みに際して、上記バックアップメモリの書き込み処理に対するリアルタイム性が最大限に利用されるようになる。また併せて、不揮発性メモリへの情報の書き込みの頻度も、上記ドライビングサイクルごとに故障診断が行われる上記条件下にあって最小頻度（１回）に設定されることともなる。このため、上記不揮発性メモリに対する上記故障情報の書き込み処理の処理負荷をより好適に軽減することもできるようになる。
【００２１】
また、この場合には特に、請求項６に記載の故障診断方法あるいは請求項１６に記載の故障診断装置によるように、前記第２の故障情報のうち、前記不揮発性メモリへの書き込み時に、同不揮発性メモリにその時点で書き込まれている値と前記バックアップメモリにその時点で書き込まれている他の故障情報とに基づいて算出することのできる故障情報についてはこれを前記不揮発性メモリのみに書き込むようにすることが実用上より望ましい。
【００２２】
すなわち、上記請求項５に記載の故障診断方法あるいは請求項１５に記載の故障診断装置では、ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記バックアップメモリにまずは格納するとともに、該第２の故障情報を、前記不揮発性メモリの書き込み時に同バックアップメモリから読み出して上記不揮発性メモリに複写することも可能ではある。ただし、第２の故障情報のうち、不揮発性メモリへの書き込み時に、同不揮発性メモリにその時点で書き込まれている値と上記バックアップメモリにその時点で書き込まれている他の故障情報とに基づいて算出することのできる故障情報についてはこれを上記バックアップメモリに格納することなく、上記不揮発性メモリに直接書き込むことが可能である。したがって、このような第２の故障情報を上記不揮発性メモリのみに書き込むようにすることで、この第２の故障情報の書き込みによる上記車両の燃料噴射や点火時期制御などへの悪影響を回避しつつ、上記故障情報の格納部としての容量的な無駄をさらに排除することができるようになる。
【００２３】
また、上記不揮発性メモリへの上記故障情報の書き込みを、例えば、請求項７に記載の故障診断方法あるいは請求項１７に記載の故障診断装置によるように、
・前記不揮発性メモリへの前記第２の故障情報の書き込みを、前記ドライビングサイクルの終了タイミングに同期して実行する。
若しくは、請求項８に記載の故障診断方法あるいは請求項１８に記載の故障診断装置によるように、
・前記不揮発性メモリへの前記第２の故障情報の書き込みを、前記イグニッションスイッチのオフ操作に基づいて実行する。
などの条件の下で実行するようにすれば、車両の燃料噴射や点火時期制御などの制御と並行して上記故障診断が実行されるような場合であれ、同制御に対して悪影響を及ぼすことなく、上記不揮発性メモリに対する書き込み処理を行うことができるようになる。
【００２４】
また、請求項１〜８のいずれか一項に記載の故障診断方法あるいは請求項１１〜１８のいずれか一項に記載の故障診断装置において、請求項９に記載の故障診断方法あるいは請求項１９に記載の故障診断装置によるように、前記不揮発性メモリに書き込むことのできる故障情報の数に制限を設けるとともに、それら故障情報の各々に優先度を定め、前記不揮発性メモリへの故障情報の書き込みに際して前記故障情報の数が前記制限を超えるとき、優先度の低い故障情報から順次削除しつつ、新たな故障情報を同不揮発性メモリに書き込むようにすれば、上記不揮発性メモリに対する上記故障情報の書き込みに際して、該不揮発性メモリに格納することのできる故障情報の数よりも同不揮発性メモリに書き込まれるべき故障情報の数のほうが大きい場合であれ、その情報保持に対する信頼性の低下を好適に抑制することができるようになる。なおこの場合、上記故障情報の各々に設定される優先度については、例えば、故障情報の種類に基づいて予め設定される情報の重要度や、上記不揮発性メモリに格納された順番等に基づいて同優先度を設定することができる。
【００２５】
また、請求項１〜９のいずれか一項に記載の故障診断方法あるいは請求項１１〜１９のいずれか一項に記載の故障診断装置において、請求項１０に記載の故障診断方法あるいは請求項２０に記載の故障診断装置では、前記バックアップメモリ及び前記不揮発性メモリに格納されている各故障情報についての外部ツールからの消去要求があったとき、前記バックアップメモリに格納されている消去要求故障情報については消去を行い、前記不揮発性メモリに格納されている消去要求故障情報については、当該故障情報についての消去要求があった旨を示す情報を前記バックアップメモリに書き込むようにしている。
【００２６】
周知のように、フラッシュメモリ等からなる不揮発性メモリは、上述のバックアップメモリと比較して、消去動作、書き込み動作、読み出し動作の３つの動作のうち、特に消去動作および書き込み動作の２つの動作が遅い。このため、前記不揮発性メモリに格納されている各故障情報についての外部ツールからの消去要求があったタイミングにて、同不揮発性メモリに格納されている各故障情報の消去を実行するとした場合、例えば、車両の燃料噴射や点火時期制御などの制御（リアルタイム性を要する制御）に対して悪影響を及ぼしかねない。
【００２７】
この点、上記故障診断方法あるいは故障診断装置では、前記バックアップメモリ及び前記不揮発性メモリに格納されている各故障情報についての外部ツールからの消去要求があったとき、前記バックアップメモリに格納されている消去要求故障情報の消去をまずは行う。そして、前記不揮発性メモリに格納されている消去要求故障情報については、当該故障情報についての消去要求があった旨を示す情報を前記バックアップメモリに書き込むこととしたため、上記不揮発性メモリに格納されている故障情報の消去動作を所望のタイミングに実行することが可能となり、ひいては上記不揮発性メモリの消去動作が車両の燃料噴射や点火時期制御などの制御（リアルタイム性を要する制御）に対して悪影響を及ぼすことも好適に回避されるようになる。
【発明を実施するための最良の形態】
【００２８】
（第１の実施の形態）
以下、この発明にかかる故障診断方法及び故障診断装置の第１の実施の形態について、図１〜図７を参照して詳細に説明する。図１に、このような故障診断装置の一般的な構成をブロック図として示す。
【００２９】
同図１に示すように、この故障診断装置は、車載バッテリ（図示略）による給電を受けて、車両の燃料噴射や点火時期制御などの制御と車載機器の故障診断とを併せて行う電子制御装置１００として構成されている。そして、故障診断装置としてのこの電子制御装置１００は、車載内燃機関の稼働状況に応じて変化する各種物理量を検出するセンサ群１０やイグニッション（ＩＧ）スイッチ２０、内燃機関の回転情報を得る機関回転センサ３０による各信号を取り込みつつ、センサ群１０等を含む車載機器の故障診断を行う。また、こうした診断の結果、車載機器に故障が生じている旨診断されるとき、ＭＩＬランプなどからなる表示部４０を通じてその故障状況をドライバに通知する。
【００３０】
このような電子制御装置１００にあって、同図１に示されるマルチプレクサ１０１は、上記センサ群１０によるセンサ出力を以下に説明するマイクロコンピュータ１１０からの指令に基づき選択的に取り込む部分である。ここで、センサ群１０は排気管内の酸素濃度を検出する酸素センサ１１や冷却水の温度を検出する温度センサ１２などのセンサ群からなり、このマルチプレクサ１０１を介して選択的に取り込まれたセンサ出力はＡ／Ｄ変換器１０２に入力される。
【００３１】
Ａ／Ｄ変換器１０２は、上記マルチプレクサ１０１を通じて選択的に取り込まれるセンサ出力を所定の分解能をもって量子化（アナログ／デジタル変換）する部分である。そして、このＡ／Ｄ変換器１０２にてデジタル信号化されたセンサ出力がマイクロコンピュータ１１０に取り込まれる。
【００３２】
マイクロコンピュータ１１０は、上記センサ群１０による各センサ出力のほか、上記ＩＧスイッチ２０及び上記機関回転センサ３０から出力される各信号を取り込み、これら信号に基づいて車載機器の故障診断を行う部分である。すなわちこの実施の形態において、同マイクロコンピュータ１１０は、上記ＩＧスイッチ２０から出力される信号として該ＩＧスイッチ２０のオン／オフ情報を示す２値の信号を、また上記機関回転センサ３０から出力される信号として内燃機関の回転情報を示す２値化信号（パルス信号）をそれぞれ取得する。そして、こうして取得されるＩＧスイッチ２０のオン／オフ情報及び内燃機関の回転情報に基づいてＩＧスイッチ２０のオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定されるドライビングサイクル（ＤＣ）を判別する。すなわち、マイクロコンピュータ１１０では、前述したＯＢＤ規制に従い、この判別したドライビングサイクルを基準として、該ドライビングサイクルごとに上記車載機器の故障診断を行うこととなる。なお、このドライビングサイクルについては、後に図面を参照して詳述する。
【００３３】
一方、図１に例示する電子制御装置１００において、不揮発性メモリ１０３は、例えばフラッシュメモリ等から構成されて、マイクロコンピュータ１１０からの指令のもとに上記車載機器の故障状況を示す故障情報の一部が格納されるメモリである。そして駆動回路１０４は、同じくマイクロコンピュータ１１０からの指令のもとに、上記ＭＩＬランプなどからなる表示部４０を駆動（点灯）する回路である。
【００３４】
次に、上記マイクロコンピュータ１１０の内部構成及びその動作の概要について同図１に基づきさらに説明する。
図１に示されるように、このマイクロコンピュータ１１０は、各種情報を演算処理する中央演算処理装置（ＣＰＵ）１１１を中心に構成されている。この中央演算処理装置１１１は、内部バスＢＵＳを介して、入出力ポート１１２やプログラムメモリ（ＲＯＭ）１１３、データメモリ１１４等との間での各種データの授受を行うこととなる。
【００３５】
ここで、上記入出力ポート１１２は、マイクロコンピュータ１１０の周辺回路である上述したマルチプレクサ１０１、Ａ／Ｄ変換器１０２、不揮発性メモリ１０３、及び駆動回路１０４や、イグニッションＩＧスイッチ２０及び機関回転センサ３０等と電気的に接続されて、それら各部とマイクロコンピュータ１１０との間での信号やデータの授受を仲介する部分である。また、上記プログラムメモリ１１３は、各種制御プログラムやそれら制御で用いられる制御データが格納されている読み出し専用のメモリであり、特にこの実施の形態では、上記故障診断の手順などを規定する故障診断プログラムが併せて格納されている。また、上記データメモリ１１４は、ランダムアクセスメモリ（ＲＡＭ）からなり、そのメモリ領域の一部が上記車載バッテリによってバックアップされることによって記憶内容が保持されるバックアップメモリ１１４ａとして機能する。
【００３６】
このように構成されるマイクロコンピュータ１１０にあって、上述した故障診断の実行に際しては、上記中央演算処理装置１１１がまず、プログラムメモリ１１３から上記故障診断プログラムを読み込む。そして、この読み込んだ故障診断プログラムに従って、上記ＩＧスイッチ２０や上記機関回転センサ３０の出力をもとに上述したドライビングサイクル（ＤＣ）を判別しつつ、センサ群１０からのセンサ出力等に基づき、必要に応じてその故障情報を上記不揮発性メモリ１０３や上記バックアップメモリ１１４ａに書き込むこととなる。
【００３７】
ただし、この実施の形態において、マイクロコンピュータ１１０は、上記不揮発性メモリ１０３や上記バックアップメモリ１１４ａに対する上記故障情報の書き込みに際して、まず、同故障情報を、上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類する。そして、このようにして分類される第１及び第２の故障情報の各々の性質と上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３の前述の性質とに基づいて、これら第１及び第２の故障情報を上記バックアップメモリ１１４ａと上記不揮発性メモリ１０３とに書き分けるようにしている。
【００３８】
すなわち前述のように、フラッシュメモリ等の不揮発性メモリ１０３は、バックアップＲＡＭ等のバックアップメモリ１１４ａと比較して、情報（データ）の保持能力は高いものの、データの書き込み処理には多くの時間（処理負荷）を要するといった性質を有する。
【００３９】
一方、ドライビングサイクルごとに車載機器の故障診断が行われる上記条件下にあっては、車載機器の故障状況を示す上記故障情報のうち、故障診断の信頼性を維持する上で情報保持の必要性の高い情報の多くが上記ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報となる。また、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報には、例えばドライビングサイクルの開始に伴って初期化される故障情報など、バックアップメモリ１１４ａの情報（データ）保持の能力によっても十分にその信頼性が確保されるような情報が多い。
【００４０】
そこで、この実施の形態にかかるマイクロコンピュータ１１０は、上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に対する上記第１及び第２の故障情報の書き分けの具体的な態様として、それら第１の故障情報及び第２の故障情報のこのような各性質に鑑み、
（イ’）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリ１０３のみに書き込む。且つ、
（ロ）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリ１１４ａに書き込む。
といった書き分けを採用するようにしている。これにより、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、バックアップメモリ１１４ａとしての容量的な無駄を排除することができるようになる。具体的には、上記（イ’）の処理によって、上記故障情報の保持に対する信頼性の向上が図られるようになる。また、上記（ロ）の処理によって、ドライビングサイクル中、不揮発性メモリ１０３への情報の書き込みが上記第１の故障情報の更新の都度行われることがなくなり、上記故障情報の書き込みにかかる処理負荷の軽減が図られるとともに、リアルタイム性も維持されるようになる。また、このような（イ’）及び（ロ）の書き分けを通じて、上記バックアップメモリ１１４ａに格納される情報の重複も大幅に抑制されるようになる。
【００４１】
以下、上記マイクロコンピュータ１１０によって行われるこうした故障情報の分類、及びこの分類に基づく上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に対する同故障情報の書き分け操作についてその具体的な態様を図２〜図６に基づき説明する。なおここでは、一例として、上記センサ群１０を構成するセンサのうち、酸素センサ１１を対象としてそのセンサ出力に基づき故障の有無を診断する場合について説明する。ちなみに、この酸素センサ１１の故障診断では、例えば、「活性温度に達して以降、空燃比のリッチ／リーンに対応した適正な電圧が出力されているか」といった内容が診断される。
【００４２】
この実施の形態では、まず、車載機器の故障状況を示す上記故障情報として、異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、故障確定コードといった故障情報が上記マイクロコンピュータ１１０によって取り扱われる。そしてこのうち、異常判定情報及び駆動指令出力情報が上記第１の故障情報に、また故障カウンタ値、正常カウンタ値、故障保留コード及び故障確定コードが上記第２の故障情報にそれぞれ分類されている。
【００４３】
ここで、上記異常判定情報（第１の故障情報）は、上記酸素センサ１１からの出力信号が上述した診断内容に対して異常値を示しているか否かの判定に基づいて得られる故障情報である。
【００４４】
図２に、マイクロコンピュータ１１０を通じて行われる上記酸素センサ１１からの出力信号に対する異常判定処理の一例についてその異常判定手順（異常判定情報の操作手順）をフローチャートとして示す。
【００４５】
この異常判定では、同図２に示すように、酸素センサ１１が活性温度に達していることを条件に、まず、ステップＳ１００の処理として、酸素センサ１１からの出力信号が通常取り得る値の範囲として予め設定されている許容範囲内にあるか否かの判断が行われる。このステップＳ１００の処理において、酸素センサ１１からの出力信号が上記許容範囲内にないと判断される場合には、酸素センサ１１の内部回路に断線、若しくは短絡などの異常が生じている可能性があるとして、次にステップＳ１１０の処理を行う。このステップＳ１１０の処理では、上記故障診断プログラム内に設定されている異常カウンタの異常カウンタ値がカウントアップされ、次いでステップＳ１２０の処理では、該異常カウンタ値が上限値を超えているか否かの判断が行われる。そして、該ステップＳ１２０の処理において上記異常カウンタ値が上限値を超えていると判断される場合には、ステップＳ１３０の処理として、上記酸素センサ１１からの出力信号が異常である旨の判定が行われ、上記バックアップメモリ１１４ａに該異常判定に対応した論理「Ｈ（ハイ）」レベルの異常判定情報が書き込まれる。
【００４６】
他方、上記ステップＳ１００の処理において、酸素センサ１１からの出力信号が上記許容範囲内にあると判断される場合には、上記異常カウンタ値が「０」にセットされるとともに（ステップＳ１４０）、上記酸素センサ１１からの出力信号が正常である旨の判定が行われる（ステップＳ１５０）。すなわち、このステップＳ１５０の処理では、上記バックアップメモリ１１４ａに該正常判定に対応した論理「Ｌ（ロー）」レベルの異常判定情報が書き込まれることとなる。
【００４７】
そして、こうした異常判定情報の操作（ステップＳ１００〜Ｓ１５０）は、以下に説明するステップＳ１６０及びＳ１７０の処理において上記ドライビングサイクルの終了（開始）タイミングが判別されるまで繰り返し実行される。したがって、この異常判定情報（第１の故障情報）について、マイクロコンピュータ１１０は、上記ドライビングサイクルの１サイクル中に、上記酸素センサ１１からの出力信号が異常又は正常である旨の判定を行う都度（ステップＳ１３０、Ｓ１５０）、その結果に対応した論理レベルの同異常判定情報を上記バックアップメモリ１１４ａに書き込むこととなる。
【００４８】
ここで、上記ドライビングサイクルの終了（開始）タイミングの判別（ステップＳ１６０及びＳ１７０の処理）は、以下のようにして行われる。
すなわち上述の通り、ドライビングサイクルとは、ＩＧスイッチ２０のオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定される期間のことである。このため、ステップＳ１６０の処理では、まず、上記ＩＧスイッチ２０にオフ状態からオン状態への切替操作（オン操作）があったか否かの判断が行われる。ただし、このドライビングサイクルは、厳密には、ＩＧスイッチ２０の前回のオン操作に基づいて車載内燃機関が回転したことを示す機関回転の履歴が上記バックアップメモリ１１４ａに記憶されているときにはじめてその終了条件が満たされるものである。したがって、次のステップＳ１７０の処理では、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されているか否かの判断が行われ、その結果、同バックアップメモリ１１４ａに機関回転の履歴が記憶されていることが確認されるとき、上記ドライビングサイクルの終了タイミングが判別される。
【００４９】
そして、こうしてドライビングサイクルの終了タイミングが判別されると、マイクロコンピュータ１１０は次に、上記故障診断プログラムにて設定されている故障カウンタ及び正常カウンタの各カウンタ値（第２の故障情報）をそれぞれ操作する（ステップＳ１８０）。このカウンタ値の操作については、後に図３を参照して説明するが、ここでは基本的に、上記バックアップメモリ１１４ａに格納されている上記異常判定情報（第１の故障情報）の最新の値に基づいてそれらカウンタ値（第２の故障情報）のカウントアップ等の操作が行われる。そして、これら各カウンタ値（第２の故障情報）が操作されて後、マイクロコンピュータ１１０は、上記バックアップメモリ１１４ａに格納されている上記異常判定情報（第１の故障情報）を、その論理レベルが論理「Ｌ」レベル（正常）とされるかたちで初期化する（ステップＳ１９０）。なお、この異常判定情報（第１の故障情報）の初期化の後は、次のドライビングサイクルにおける該異常判定情報の操作として、上記ステップＳ１００〜Ｓ１９０の処理が再度実行される。
【００５０】
図３は、マイクロコンピュータ１１０を通じて行われる上記故障カウンタ及び正常カウンタの各カウンタ値（第２の故障情報）の操作についてその手順の一例を示すフローチャートである。なおここで、上記故障カウンタ（第２の故障情報）は、ドライビングサイクルの終了タイミングにおける異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるときにカウントアップされ、同終了タイミングにおける異常判定情報（第２の故障情報）が論理「Ｌ」レベル（正常）であるときに「０」にリセットされるカウンタである。また、上記正常カウンタ（第２の故障情報）は、ドライビングサイクルの終了タイミングにおける異常判定情報（第１の故障情報）が論理「Ｌ」レベル（正常）であるときにカウントアップされ、同終了タイミングにおける異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるときに「０」にリセットされるカウンタである。したがって、いま、上記ステップＳ１７０（図２）において、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていると判断されたとすると、マイクロコンピュータ１１０は上述のように、ステップＳ１８０の処理として、上記故障診断プログラムにて設定されている故障カウンタ及び正常カウンタの各カウンタ値（第２の故障情報）の操作を開始する。
【００５１】
図３に示されるように、これら故障及び正常カウンタ値（第２の故障情報）の操作に際して、マイクロコンピュータ１１０はまず、ステップＳ１８１の処理として、上記バックアップメモリ１１４ａに格納されている上記異常判定情報（第１の故障情報）の最新の値が論理「Ｈ」レベル（異常）であるか否かの判断を行う。この結果、上記異常判定情報（第１の故障情報）の最新の値が論理「Ｈ」レベル（異常）にあると判断されると、マイクロコンピュータ１１０は、次にステップＳ１８２の処理として、上記不揮発性メモリ１０３に格納する故障カウンタの故障カウンタ値を操作する。具体的には、上記異常判定情報（第１の故障情報）の論理「Ｈ」レベル（異常）と上記不揮発性メモリ１０３に格納されている前回の故障カウンタ値（第２の故障情報）とに基づいて新たな故障カウンタ値を求め、この求めた故障カウンタ値で不揮発性メモリ１０３に格納されている前回の故障カウンタ値を更新（カウントアップ）する。その後、マイクロコンピュータ１１０は、ステップＳ１８３の処理として、上記異常判定情報（第１の故障情報）の論理「Ｈ」レベル（異常）に基づいて不揮発性メモリ１０３に格納されている前回の正常カウンタ値をリセット（「０」）するかたちで上記正常カウンタ値を操作する。
【００５２】
他方、上記ステップＳ１８１の処理において、異常判定情報（第１の故障情報）の最新の値が論理「Ｌ」レベル（正常）にあると判断される場合には、マイクロコンピュータ１１０は、次にステップＳ１８４の処理として、上記不揮発性メモリ１０３に格納する正常カウンタの正常カウンタ値を操作する。具体的には、上記異常判定情報（第１の故障情報）の論理「Ｌ」レベル（正常）と上記不揮発性メモリ１０３に格納されている前回の正常カウンタ値（第２の故障情報）とに基づいて新たな正常カウンタ値を求め、この求めた正常カウンタ値で不揮発性メモリ１０３に格納されている前回の正常カウンタ値を更新（カウントアップ）する。その後、マイクロコンピュータ１１０は、ステップＳ１８５の処理として、上記異常判定情報（第１の故障情報）の論理「Ｌ」レベル（正常）に基づいて不揮発性メモリ１０３に格納されている前回の故障カウンタ値をリセット（「０」）するかたちで上記故障カウンタ値を操作する。
【００５３】
そして次に、マイクロコンピュータ１１０は、ドライビングサイクルごとに操作されるこうした故障カウンタ及び正常カウンタの各カウンタ値（第２の故障情報）とその都度更新される上記異常判定情報（第１の故障情報）とに基づき、駆動指令出力情報、故障保留コード、故障確定コードなどといった各故障情報の操作を、例えば以下に列記する各切替条件の下で行う。なおここでは、これら故障情報の操作がいずれもその有効及び無効に対応した論理「Ｈ」レベル及び論理「Ｌ」レベルの切替操作として実行される。
【００５４】
＜駆動指令出力情報の論理「Ｌ」レベルから論理「Ｈ」レベルへの切替条件＞
（ａ１）故障カウンタの故障カウンタ値が所定値（ここでは「１」）以上であること。及び、
（ａ２）異常判定情報の論理レベルが論理「Ｈ」レベル（異常）であること。
の論理積（アンド）条件が満たされること。
【００５５】
＜駆動指令出力情報の論理「Ｈ」レベルから論理「Ｌ」レベルへの切替条件＞
（ｂ１）ドライビングサイクルの終了タイミングであること。及び、
（ｂ２）正常カウンタの正常カウンタ値が所定値（ここでは「３」）以上であること。
の論理積（アンド）条件が満たされること。
【００５６】
＜故障保留コードの論理「Ｌ」レベルから論理「Ｈ」レベルへの切替条件＞
（ｃ１）ドライビングサイクルの終了タイミングであること。及び、
（ｃ２）故障カウンタの故障カウンタ値が所定値（ここでは「１」）以上であること。
の論理積（アンド）条件が満たされること。
【００５７】
＜故障保留コードの論理「Ｈ」レベルから論理「Ｌ」レベルへの切替条件＞
（ｄ１）ドライビングサイクルの終了タイミングであること。及び、
（ｄ２）正常カウンタの正常カウンタ値が所定値（ここでは「１」）以上であること。
の論理積（アンド）条件が満たされること。
【００５８】
＜故障確定コードの論理「Ｌ」レベルから論理「Ｈ」レベルへの切替条件＞
（ｅ１）ドライビングサイクルの終了タイミングであること。及び、
（ｅ２）故障カウンタの故障カウンタ値が所定値（ここでは「２」）以上であること。
の論理積（アンド）条件が満たされること。  
【００５９】
＜故障確定コードの論理「Ｈ」レベルから論理「Ｌ」レベルへの切替条件＞
（ｆ１）ドライビングサイクルの終了タイミングであること。及び、
（ｆ２）正常カウンタの正常カウンタ値が所定値（ここでは「４０」）以上であること。
の論理積（アンド）条件が満たされること。
【００６０】
図４は、上記（ａ１）及び（ａ２）の論理積条件と上記（ｂ１）及び（ｂ２）の論理積条件との下、上記マイクロコンピュータ１１０によって行われる上記駆動指令出力情報（第１の故障情報）の操作についてその手順の一例を示すフローチャートである。なお、この駆動指令出力情報（第１の故障情報）の操作は、上記異常判定情報（第１の故障情報）の操作（図２）と並行して実行され、マイクロコンピュータ１１０は、該駆動指令出力情報の論理「Ｈ」レベル（有効）に基づいて上記駆動回路１０４に対して駆動指令を出力する。すなわち、この駆動指令出力情報の操作は、上記表示部４０を駆動すべきか否か、例えばＭＩＬランプを点灯させるべきか否かの判断に基づいて以下のように行われる。
【００６１】
図４に示されるように、駆動指令出力情報（第１の故障情報）の操作に際して、マイクロコンピュータ１１０はまず、ステップＳ２００の処理として、上記不揮発性メモリ１０３に格納されている故障カウンタ値が「１」以上であるか否かの判断を行う。その結果、該故障カウンタ値が「１」以上であると判断されると、次にステップＳ２１０の処理として、上記バックアップメモリ１１４ａにその時点で格納されている異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるか否かの判断を行う。なお、このステップＳ２１０の処理では、上記異常判定情報が論理「Ｈ」レベル（有効）であると判断された時点で上記（ａ１）及び（ａ２）の論理積条件が満たされることとなる。したがってこの場合、マイクロコンピュータ１１０は、次のステップＳ２２０の処理として、上記駆動指令出力情報（第１の故障情報）を、その論理レベルが論理「Ｈ」レベル（有効）となるように上記バックアップメモリ１１４ａに格納する。また、このステップＳ２２０の処理では、マイクロコンピュータ１１０は、上記バックアップメモリ１１４ａに格納される駆動指令出力情報が論理「Ｈ」レベル（有効）となることに基づき、上記駆動回路１０４に対して駆動指令を出力し、上記表示部４０の駆動（ＭＩＬランプの点灯）を促す処理も併せて行う。そして、こうした各処理（ステップＳ２００、Ｓ２１０、Ｓ２２０）は、ドライビングサイクルの終了タイミングが判別されるまで繰り返し実行される（ステップＳ２３０、Ｓ２４０）。
【００６２】
一方、ＩＧスイッチ２０にオン操作があったこと（ステップＳ２３０）、及び、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていること（ステップＳ２４０）がそれぞれ確認されると、マイクロコンピュータ１１０は、上記ドライビングサイクルの終了タイミングを判別する。そして、この実施の形態のマイクロコンピュータ１１０は次に、ステップＳ２５０の処理として、先のステップＳ２１０の処理において上記バックアップメモリ１１４ａに格納した上記駆動指令出力情報（第１の故障情報）を上記不揮発性メモリ１０３に複写する。このように、上記第１の故障情報の上記不揮発性メモリに対する書き込み時を上記ドライビングサイクルの終了タイミングのみとすることで、その不揮発性メモリに対する書き込み処理を上記ドライビングサイクルごとに故障診断が行われる上記条件下にあって最小頻度（１回）に設定することができるようになる。ただし、この実施の形態のマイクロコンピュータ１１０は、上記第１の故障情報のうち、ドライビングサイクルの開始に伴って初期化される上記異常判定情報（図２）などの故障情報を上記不揮発性メモリ１０３に書き込むことはしない。すなわち、このような故障情報は、上記バックアップメモリ１１４ａの情報（データ）保持の能力によっても十分にその信頼性が確保されるため、上記バックアップメモリ１１４ａのみに書き込むようにして上記不揮発性メモリ１０３としての容量的な無駄を排除するようにすることが実用上より望ましい。
【００６３】
そして、このドライビングサイクルの終了タイミングでは、マイクロコンピュータ１１０は次に、上記表示部４０の駆動（ＭＩＬランプの点灯）を中断すべきか否かの判断として、上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値が「３」以上であるか否かの判断を行う（ステップＳ２６０）。その結果、上記正常カウンタ値が「３」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｂ１）及び（ｂ２）の論理積条件が満たされたとして、次にステップＳ２７０の処理を行う。すなわち、このステップＳ２７０の処理では、同マイクロコンピュータ１１０が、上記表示部４０の駆動（ＭＩＬランプの点灯）を中断すべく、上記バックアップメモリ１１４ａに格納されている上記駆動指令出力情報を論理「Ｌ」レベル（無効）とする。なお、このステップＳ２７０の処理の後、若しくは上記ステップＳ２６０の処理において上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値が「３」以上でないと判断された場合は、次のドライビングサイクルにおける該駆動指令出力情報の操作として、上記ステップＳ２００〜Ｓ２７０の処理が再度実行される。
【００６４】
図５は、上記（ｃ１）及び（ｃ２）の論理積条件と上記（ｄ１）及び（ｄ２）の論理積条件との下、上記マイクロコンピュータ１１０によって行われる上記故障保留コード（第２の故障情報）の操作についてその手順の一例を示すフローチャートである。なお、この故障保留コード（第２の故障情報）の操作も、上記異常判定情報（第１の故障情報）の操作（図２）と並行して実行される。
【００６５】
図５に示されるように、故障保留コード（第２の故障情報）の操作に際して、このマイクロコンピュータ１１０はまず、ドライビングサイクルの終了タイミングが判別されるまで待機する（ステップＳ３００、Ｓ３１０）。そして、ＩＧスイッチ２０にオン操作があったこと（ステップＳ３００）、且つ、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていること（ステップＳ３１０）が確認されるとき、同マイクロコンピュータ１１０は、上記ドライビングサイクルの終了タイミングを判別し、次にステップＳ３２０の処理を行う。
【００６６】
このステップＳ３２０の処理では、マイクロコンピュータ１１０は、上記バックアップメモリ１１４ａにその時点で格納されている異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるか否かの判断を行う。そして、このステップＳ３２０の処理において、上記異常判定情報が論理「Ｈ」レベル（有効）であると判断されると、同マイクロコンピュータ１１０は、上記（ｃ１）及び（ｃ２）の論理積条件が満たされたとして、上記故障保留コード（第２の故障情報）を、その論理レベルが論理「Ｈ」レベル（有効）となるように上記不揮発性メモリ１０３に格納する（ステップＳ３３０）。
【００６７】
一方、上記ステップＳ３２０の処理において、上記異常判定情報が論理「Ｈ」レベル（有効）でないと判断されると、同マイクロコンピュータ１１０は次に、ステップＳ３４０の処理として、上記不揮発性メモリ１０３に格納される故障保留コードを論理「Ｌ」レベルとすべきか否かの判断を行う。すなわち、このステップＳ３４０の処理では、同マイクロコンピュータ１１０は、上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値（第２の故障情報）が「１」以上であるか否かの判断を行う。そして、このステップＳ３４０の処理において、上記正常カウンタ値（第２の故障情報）が「１」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｄ１）及び（ｄ２）の論理積条件が満たされたとして、上記不揮発性メモリ１０３に格納される故障保留コードを論理「Ｌ」レベルとする（ステップＳ３５０）。なお、このステップＳ３５０の処理の後、若しくは上記ステップＳ３３０の処理の後、あるいは先のステップＳ３４０において上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値が「１」以上でないと判断された場合は、次のドライビングサイクルにおける該故障保留コード（第２の故障情報）の操作として、上記ステップＳ３００〜Ｓ３５０の処理が再度実行される。
【００６８】
図６は、上記（ｅ１）及び（ｅ２）の論理積条件と上記（ｆ１）及び（ｆ２）の論理積条件との下、上記マイクロコンピュータ１１０によって行われる上記故障確定コード（第２の故障情報）の操作についてその手順の一例を示すフローチャートである。なお、この故障確定コード（第２の故障情報）の操作は、基本的には、先の故障保留コード（第２の故障情報）の操作手順に準じて実行される。ただし、故障確定コードと上述の故障保留コードとは、それらの論理レベルの切替条件に用いられる上記故障及び正常カウンタの各カウンタ値の大きさが異なっており、これが故障確定コード及び故障保留コードの操作手順の相違点となっている。
【００６９】
したがって、図６に示されるように、この故障確定コードの操作に際しても、マイクロコンピュータ１１０はまず、ドライビングサイクル（ＤＣ）の終了タイミングが判別されるまで待機する（ステップＳ４００、Ｓ４１０）。そして、ＩＧスイッチ２０にオン操作があったこと（ステップＳ４００）、且つ、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていること（ステップＳ４１０）が確認されるとき、同マイクロコンピュータ１１０は、上記ドライビングサイクルの終了タイミングを判別し、次にステップＳ４２０の処理を行う。
【００７０】
このステップＳ４２０の処理では、マイクロコンピュータ１１０は、上記不揮発性メモリ１０３に格納されている最新の故障カウンタ値が「２」以上であるか否かの判断を行う。そして、このステップＳ４２０の処理において、上記最新の故障カウンタ値が「２」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｅ１）及び（ｅ２）の論理積条件が満たされたとして、上記故障確定コード（第２の故障情報）を、その論理レベルが論理「Ｈ」レベル（有効）となるように上記不揮発性メモリ１０３に格納する（ステップＳ４３０）。
【００７１】
一方、上記ステップＳ４２０の処理において、上記故障カウンタ値（第２の故障情報）が「２」以上でないと判断されると、同マイクロコンピュータ１１０は次に、ステップＳ４４０の処理として、上記不揮発性メモリ１０３に格納される故障確定コードを論理「Ｌ」レベルとすべきか否かの判断を行う。すなわち、このステップＳ４４０の処理では、同マイクロコンピュータ１１０は、上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値（第２の故障情報）が「４０」以上であるか否かの判断を行う。そして、このステップＳ４４０の処理において、上記正常カウンタ値（第２の故障情報）が「４０」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｆ１）及び（ｆ２）の論理積条件が満たされたとして、上記不揮発性メモリ１０３に格納される故障確定コードを論理「Ｌ」レベルとする（ステップＳ４５０）。なお、このステップＳ４５０の処理の後、若しくは上記ステップＳ４３０の処理の後、あるいは先のステップＳ４４０において上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値が「４０」以上でないと判断された場合は、次のドライビングサイクルにおける該故障確定コード（第２の故障情報）の操作として、上記ステップＳ４００〜Ｓ４５０の処理が再度実行される。
【００７２】
図７は、このような態様で異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、及び故障確定コードの各操作が行われるときのそれら論理レベルの推移例を総括して示したものである。
【００７３】
上述の通り、この故障診断に際してはまず、ＩＧスイッチ２０のオン／オフ情報及び機関回転センサ３０を通じて検出される機関回転情報に基づいてドライビングサイクル（ＤＣ）が判別される。はじめに、この図７を参照して、ドライビングサイクル（ＤＣ）、及びその判別手法について説明する。
【００７４】
図７（ａ）及び（ｂ）に示されるように、ドライビングサイクル（ＤＣ）とは、ＩＧスイッチ２０のオン操作から再度のオン操作までの期間が基本的に１サイクルとして設定される期間のことである。したがって、例えばいま、タイミングｔ１０にてＩＧスイッチ２０がオン操作されたとすると、このドライビングサイクルとして第１のドライビングサイクル（ＤＣ１）の開始が判断される。そして、ＩＧスイッチ２０が一旦オフ操作され、タイミングｔ２０にて再度オン操作されると、上記第１のドライビングサイクル（ＤＣ１）の終了が判断されるとともに、次のドライビングサイクルとして第２のドライビングサイクル（ＤＣ２）の開始が判断される。この第２のドライビングサイクル（ＤＣ２）も上記第１のドライビングサイクル（ＤＣ１）と同様、タイミングｔ３０にて上記ＩＧスイッチ２０が再度オン操作されることによりその終了が判断される。そして、この第２のドライビングサイクル（ＤＣ２）の終了と同期して、次のドライビングサイクルである第３のドライビングサイクル（ＤＣ３）の開始が判断される。以降も、基本的には同様の条件にてドライビングサイクルの開始／終了が判断される。
【００７５】
ただし、図７（ｃ）と併せて示すように、上記ドライビングサイクル（ＤＣ）は、厳密には、ＩＧスイッチ２０のオン操作から再度のオン操作までの期間内に機関の回転履歴があることによってはじめてその終了条件が満たされることも上述した通りである。したがって、例えばタイミングｔ３１では、ＩＧスイッチ２０の再度のオン操作はあったものの、同ＩＧスイッチ２０の直前のオン操作タイミングｔ３０からこの再度のオン操作タイミングｔ３１までの期間内には機関の回転履歴が残っていないため、第３のドライビングサイクル（ＤＣ３）がそのまま継続されていると判断される。そして、機関の回転履歴があるその後のＩＧスイッチ２０のオン操作タイミングｔ４０にて、この第３のドライビングサイクル（ＤＣ３）の終了が判断されることとなる。
【００７６】
そして、こうして判別されるドライビングサイクルごとに上記車載機器（ここでは酸素センサ１１）の故障診断が以下のように行われる。
例えば、図７（ａ）及び（ｈ）に示されるように、ドライビングサイクルが第１のドライビングサイクル（ＤＣ１）にあるときの終了タイミングｔ２０では、上記異常判定情報の論理「Ｈ」レベルに基づき、上記故障カウンタの故障カウンタ値が「１」にカウントアップされるため、上記（ｃ１）及び（ｃ２）の論理積条件が満たされる。このため、このタイミングｔ２０では、上記不揮発性メモリ１０３に格納される故障保留コード（図７（ｈ））が論理「Ｌ」レベル（無効）から論理「Ｈ」レベル（有効）に切り替えられるかたちで更新される。
【００７７】
一方、ドライビングサイクルが第２のドライビングサイクル（ＤＣ２）に移行すると、上記バックアップメモリ１１４ａに格納されている異常判定情報が論理「Ｌ」レベル（正常）から論理「Ｈ」レベル（異常）に切り替えられるタイミングｔ２１にて、上記（ａ１）及び（ａ２）の論理積条件が満たされるようになる。このため、このタイミングｔ２１では、上記バックアップメモリ１１４ａに格納される駆動指令出力情報（図７（ｇ）破線）が論理「Ｌ」レベル（無効）から論理「Ｈ」レベル（有効）に切り替えられるかたちで更新される。ただし、この駆動指令出力情報は、この第２のドライビングサイクル（ＤＣ２）の終了タイミングｔ３０にて上記バックアップメモリ１１４ａから読み出されて不揮発性メモリ１０３に複写される（図７（ｇ）実線）。また、同タイミングｔ３０では、上記故障カウンタがさらにカウントアップされ、そのカウンタ値が「２」となる。このため、このタイミングｔ３０では、上記（ｅ１）及び（ｅ２）の論理積条件が満たされるようになり、上記不揮発性メモリ１０３に格納される故障確定コード（図７（ｉ））が論理「Ｌ」レベル（無効）から論理「Ｈ」レベル（有効）に切り替えられるかたちで更新される。
【００７８】
また一方、ドライビングサイクルが第３のドライビングサイクル（ＤＣ３）に移行すると、該第３のドライビングサイクル（ＤＣ３）の終了タイミングｔ４０にて、上記異常判定情報（図７（ｄ））の論理「Ｌ」レベルに基づき、上記故障カウンタの故障カウンタ値が「０」となり、上記正常カウンタの正常カウンタ値が「１」となる。このため、このタイミングｔ４０では、上記（ｄ１）及び（ｄ２）の論理積条件が満たされるようになり、上記不揮発性メモリ１０３に格納される故障保留コード（図７（ｈ））が論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちで更新される。
【００７９】
また、ドライビングサイクルが第５のドライビングサイクル（ＤＣ５）に移行すると、該第５のドライビングサイクル（ＤＣ３）の終了タイミングｔ６０にて、上記正常カウンタの正常カウンタ値が「３」となる。このため、このタイミングｔ６０では、上記（ｂ１）及び（ｂ２）の論理積条件が満たされるようになり、バックアップメモリ１１４ａ及び不揮発性メモリ１０３に格納される駆動指令出力情報（図７（ｇ））が共に論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちでそれぞれ更新される。
【００８０】
またさらに、ドライビングサイクルが第４２のドライビングサイクル（ＤＣ４２）に移行すると、該第４２のドライビングサイクル（ＤＣ４２）の終了タイミングｔ４３０にて、上記正常カウンタの正常カウンタ値が「４０」となる。このため、このタイミングｔ４３０では、上記（ｆ１）及び（ｆ２）の論理積条件が満たされるようになり、上記不揮発性メモリ１０３に格納される故障確定コード（図７（ｉ））が論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちで更新される。
【００８１】
このように、この実施の形態では、図７（ｄ）〜（ｉ）に示される故障情報のうち、ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報、具体的には故障カウンタ値（図７（ｅ））、正常カウンタ値（図７（ｆ））、故障保留コード（図７（ｈ））、故障確定コード（図７（ｉ））を、上記不揮発性メモリ１０３のみに格納するようにしている。すなわち、上記故障情報のうち上記ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報（上述の４種の故障情報など）についてはそれらの上記バックアップメモリ１１４ａに対する書き込み処理を行わないようにしている。しかも、これら第２の故障情報（上述の４種の故障情報など）の不揮発性メモリ１０３への書き込みに際しては、ドライビングサイクルの終了タイミングごとに上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に格納されている故障情報に基づき同第１の故障情報として採るべき値を求めてこれを不揮発性メモリ１０３に書き込むようにしている。このため、バックアップメモリ１１４ａとしての容量的な無駄が排除され、それら情報の保持能力を好適に維持することができるようになる。
【００８２】
さらに、上記故障情報のうち、上記ドライビングサイクルの１サイクル中に２回以上更新される故障情報、すなわち図７の例では異常判定情報（図７（ｄ））及び駆動指令出力情報（図７（ｇ））等についてはこれらを上記バックアップメモリ１１４ａに積極的に書き込むようにしている。また併せて、同第１の故障情報も含めて、上記故障情報の上記不揮発性メモリ１０３に対する書き込み処理の頻度を、上記ドライビングサイクルごとに故障診断が行われる上記条件下にあって最小頻度（１回）に設定している。このため、故障診断に最低限必要とされるリアルタイム性を確保しつつ、上記不揮発性メモリ１０３に対する故障情報の書き込み処理にかかる処理負荷を軽減することができるようにもなる。
【００８３】
なお、上述の切替条件（ａ１）及び（ａ２）、切替条件（ｂ１）及び（ｂ２）として示されるように、上記駆動指令出力情報（図７（ｇ））も、上記４種の情報と同様、基本的には、上記ドライビングサイクルの１サイクル中に１回だけ更新される故障情報である。ただし、この駆動指令出力情報（図７（ｇ））は、他に内燃機関の失火が検出されるような場合にも、例えばＭＩＬランプの点滅といったかたちで表示部４０を駆動すべくその論理レベルがその都度切り替わるようになる。このため、この実施の形態では、同駆動指令出力情報（図７（ｇ））を、上記ドライビングサイクルの１サイクル中に２回以上更新される故障情報に分類することとしている。
【００８４】
以上説明したように、この実施の形態にかかる故障診断方法及び故障診断装置によれば、以下に記載するような多くの優れた効果が得られるようになる。
（１）ドライビングサイクルごとに車載機器の故障診断が行われる上記条件下にあって、故障情報を上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類した。そして、これら第１及び第２の故障情報の性質と上記バックアップメモリ及び不揮発性メモリの性質とに基づいて、上記第１及び第２の故障情報を上記バックアップメモリ１１４ａと上記不揮発性メモリ１０３とに書き分けるようにした。このため、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部としての容量的な無駄を排除することができるようになる。
【００８５】
（２）ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報を上記不揮発性メモリ１０３のみに書き込むこととしたため、上記バックアップメモリ１１４ａとしての容量的な無駄をより適切に排除することができるようになる。
【００８６】
（３）例えば駆動指令出力情報（図７（ｇ））など、上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報を、バックアップメモリ１１４ａにまずは格納しておき、上記各ドライビングサイクルの終了タイミングにて該バックアップメモリ１１４ａから上記不揮発性メモリ１０３に同第１の故障情報を複写するようにした。このため、上記第１の故障情報に対する情報保持の信頼性のさらなる向上を図ることができるようになる。
【００８７】
（４）上記第１の故障情報のうち、例えば異常判定情報（図７（ｄ））など、ドライビングサイクルの開始に伴って初期化される故障情報についてはこれを上記バックアップメモリ１１４ａのみに書き込むこととした。このため、上記第１の故障情報に対する情報保持の信頼性を好適に維持しつつ、不揮発性メモリ１０３としての容量的な無駄をさらに排除することができるようになる。
【００８８】
（５）車両の燃料噴射や点火時期制御などの制御と車載機器の故障診断とを併せて行う電子制御装置１００にあって、上記不揮発性メモリ１０３に対する故障情報の書き込み処理を、各ドライビングサイクルの終了タイミングのみにて行うこととした。このため、不揮発性メモリ１０３の書き込み動作が、車両の燃料噴射や点火時期制御などの制御などのリアルタイム性を要する制御に対して悪影響を及ぼすことも回避されるようになる。
（第２の実施の形態）
次に、この発明にかかる故障診断方法及び故障診断装置についてその第２の実施の形態を示す。なお、この実施の形態の故障診断装置も、先の実施の形態の故障診断装置とほぼ同様、車載バッテリによる給電を受けて、車両の点火時期制御などのリアルタイム性を要する制御と車載機器の故障診断とを併せて行う電子制御装置１００（図１）として構成され、ドライビングサイクルごとに車載機器の故障診断を行うものとなっている。すなわち、この実施の形態にあっても、故障診断装置としてのこの電子制御装置１００が、
・車載内燃機関の稼働状況に応じて変化する各種物理量を検出するセンサ群１０やイグニッション（ＩＧ）スイッチ２０、内燃機関の回転情報を得る機関回転センサ３０による各信号を取り込みつつ、センサ群１０等を含む車載機器の故障診断を行うこと。
・車載機器の故障診断に際して、故障情報をドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報と同ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報とに分類し、該分類に基づいてこれら第１及び第２の故障情報をバックアップメモリ１１４ａと不揮発性メモリ１０３とに書き分けること。
等々を行う点については、先の第１の実施の形態とほぼ同様である。
【００８９】
ただし、この実施の形態にかかる電子制御装置１００では、マイクロコンピュータ１１０内のプログラムメモリ１１３に格納されている故障診断プログラムが以下のように規定されている点で、先の第１の実施の形態と異なっている。すなわち、この電子制御装置１００では、上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に対する上記第１及び第２の故障情報の書き分けの具体的な態様として、上記第１の故障情報及び第２の故障情報の前述の各性質に鑑み、
（イ）ドライビングサイクルの１サイクル中に１回だけ更新される上記第２の故障情報を上記不揮発性メモリ１０３に書き込む。且つ、
（ロ’）ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報を上記バックアップメモリ１１４ａのみに書き込む。
といった書き分けを採用するようにしている。そして、上記（イ）の処理によって、上記故障情報の保持に対する信頼性の向上を図るとともにリアルタイム性も維持するようにしている。また、上記（ロ’）の処理によって、ドライビングサイクル中、不揮発性メモリ１０３への情報の書き込みが上記第１の故障情報の更新の都度行われることを回避して、上記故障情報の書き込みにかかる処理負荷の軽減を図るようにしている。また、このような（イ）及び（ロ’）の書き分けを通じて、上記バックアップメモリ１１４ａ及び上記不揮発性メモリ１０３にそれぞれ格納される情報の重複を大幅に抑制するようにしている。ただしこの場合、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報が、上記不揮発性メモリ１０３に対して情報（データ）の保持能力に劣るバックアップメモリ１１４ａのみに格納されることとなり、その情報保持に対する信頼性の低下が懸念される。しかしながら、前述の通り、このような第１の故障情報には、例えばドライビングサイクルの開始に伴って初期化される故障情報（異常判定情報（図７（ｄ）））や上記不揮発性メモリ１０３に格納される第２の故障情報に基づいて算出される故障情報（駆動指令出力情報（図７（ｇ））など、このバックアップメモリ１１４ａの情報（データ）の保持能力によっても十分にその信頼性が確保される故障情報が多い。したがって、この実施の形態にかかる電子制御装置１００によっても、上記故障情報の保持に対する信頼性を好適に維持しつつ、それら故障情報の格納部、ここでは特に不揮発性メモリ１０３としての容量的な無駄をより適切に排除することができるようになる。
【００９０】
しかも、この（ロ’）の書き分けの態様によれば、ドライビングサイクルの１サイクル中に２回以上更新される上記第１の故障情報のメモリへの書き込みに際して、上記バックアップメモリ１１４ａの書き込み処理に対するリアルタイム性が最大限に利用されるようになる。また併せて、不揮発性メモリ１０３への情報の書き込みの頻度も、上記ドライビングサイクルごとに故障診断が行われる上記条件下にあって最小頻度（１回）に設定されることとなる。このため、上記不揮発性メモリ１０３に対する上記故障情報の書き込み処理の処理負荷も好適に軽減されるようになる。
【００９１】
以下、この実施の形態のマイクロコンピュータ１１０によって行われるこうした故障情報の分類、及びこの分類に基づく上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に対する同故障情報の書き分けについてその具体的な操作態様を説明する。なおここでも、上記センサ群１０を構成するセンサのうち、酸素センサ１１を対象としてそのセンサ出力に基づき故障の有無を診断する場合について説明する。
【００９２】
この実施の形態においても、車載機器の故障状況を示す上記故障情報として、異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、故障確定コードといった故障情報が上記マイクロコンピュータ１１０によって取り扱われる。そしてこのうち、異常判定情報及び駆動指令出力情報が上記第１の故障情報に、また故障カウンタ値、正常カウンタ値、故障保留コード及び故障確定コードが上記第２の故障情報にそれぞれ分類される点も先の第１の実施の形態と同様である。また、これも同様、それら故障情報のうち、異常判定情報、故障カウンタ値、正常カウンタ値、及び故障確定コードは、
・異常判定情報（第１の故障情報）が、バックアップメモリ１１４ａのみに格納されて、具体的には先の図２に例示した手順にて操作されること。
・故障及び正常カウンタの各カウンタ値（第２の故障情報）が、不揮発性メモリ１０３のみに格納されて、具体的には先の図３に例示した手順にて操作されること。
・故障確定コード（第２の故障情報）が、不揮発性メモリ１０３のみに格納されて、具体的には先の図６に例示した手順にて操作されること。
といった条件の下で操作される。ただし、この実施の形態では、上述の（イ）及び（ロ’）の書き分けの採用によって、駆動指令出力情報（第１の故障情報）及び故障保留コード（第２の故障情報）の操作が先の第１の実施の形態とそれぞれ異なっている。なお、この実施の形態では、故障保留コード（第２の故障情報）の論理「Ｌ」レベルから論理「Ｈ」レベルへの切替条件が、
（ｃ３）異常判定情報が論理「Ｈ」レベルであること。
とされている。
【００９３】
次に、この実施の形態における上記駆動指令出力情報（第１の故障情報）及び故障保留コード（第２の故障情報）の各操作について、図８および図９を参照しつつ説明する。図８は、前記（ａ１）及び（ａ２）の論理積条件と前記（ｂ１）及び（ｂ２）の論理積条件との下で規定される上記駆動指令出力情報についてその操作手順を示したフローチャートである。また、図９は、上記（ｃ３）の切替条件と前記（ｄ１）及び（ｄ２）の論理積条件との下で規定される上記故障保留コードについてその操作手順を示したフローチャートである。
【００９４】
同図８に示されるように、この実施の形態にあっても、駆動指令出力情報（第１の故障情報）の操作に際して、マイクロコンピュータ１１０はまず、ステップＳ５００の処理として、上記不揮発性メモリ１０３に格納されている故障カウンタ値が「１」以上であるか否かの判断を行う。その結果、該故障カウンタ値が「１」以上であると判断されると、次にステップＳ５１０の処理として、上記バックアップメモリ１１４ａにその時点で格納されている異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるか否かの判断を行う。そして、このステップＳ５１０の処理において、上記異常判定情報が論理「Ｈ」レベル（有効）であると判断された時点で、同マイクロコンピュータ１１０が、上記駆動指令出力情報（第１の故障情報）を、その論理レベルが論理「Ｈ」レベル（有効）となるように上記バックアップメモリ１１４ａに格納する点も先の第１の実施の形態と同様である。また、これも同様、このような各処理（ステップＳ５００、Ｓ５１０、Ｓ５２０）は、ドライビングサイクルの終了タイミングが判別されるまで繰り返し実行される（ステップＳ５３０、Ｓ５４０）。
【００９５】
そして、この実施の形態にあっても、ＩＧスイッチ２０にオン操作があったこと（ステップＳ５３０）、且つ、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていること（ステップＳ５４０）が確認されるとき、マイクロコンピュータ１１０は、上記ドライビングサイクルの終了タイミングを判別する。ただし、この実施の形態のマイクロコンピュータ１１０は、このドライビングサイクルの終了タイミングにて、先のステップＳ５２０の処理において上記バックアップメモリ１１４ａに格納した上記駆動指令出力情報（第１の故障情報）を上記不揮発性メモリ１０３に複写することはない。すなわち、同マイクロコンピュータ１１０は次に、上記表示部４０の駆動（ＭＩＬランプの点灯）を中断すべきか否かの判断として、上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値が「３」以上であるか否かの判断を行う（ステップＳ５６０）。その結果、上記正常カウンタ値が「３」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｂ１）及び（ｂ２）の論理積条件が満たされたとして、次にステップＳ５７０の処理を行う。すなわち、このステップＳ５７０の処理では、同マイクロコンピュータ１１０が、上記表示部４０の駆動（ＭＩＬランプの点灯）を中断すべく、上記バックアップメモリ１１４ａに格納されている上記駆動指令出力情報を論理「Ｌ」レベル（無効）とする。
【００９６】
このように、この実施の形態では、上記第１の故障情報としての駆動指令出力情報をバックアップメモリ１１４ａのみに格納するため、不揮発性メモリ１０３としての容量的な無駄を適切に排除することができるようになる。なお上述のように、この駆動指令出力情報は、不揮発性メモリ１０３に格納されている上記故障及び正常カウンタの各カウンタ値とバックアップメモリ１１４ａにその更新の都度格納される上記異常判定情報とから算出される故障情報である。このため、バックアップ電圧が遮断されて、上記バックアップメモリ１１４ａに格納されている上記駆動指令出力情報が仮に失われたとしても、上記故障及び正常カウンタの各カウンタ値（第２の故障情報）とその都度更新される上記異常判定情報（第１の故障情報）とから新たな駆動指令出力情報を求めることで、その情報保持に対する信頼性も維持されるようになる。
【００９７】
また、図９に示されるように、故障保留コード（第２の故障情報）の操作に際して、この実施の形態のマイクロコンピュータ１１０はまず、ステップＳ６００の処理として、上記バックアップメモリ１１４ａにその時点で格納されている異常判定情報（第１の故障情報）が論理「Ｈ」レベル（異常）であるか否かの判断を行う。そして、このステップＳ６１０の処理において、上記異常判定情報が論理「Ｈ」レベル（有効）であると判断された時点で、同マイクロコンピュータ１１０は、上記故障保留コード（第２の故障情報）を、その論理レベルが論理「Ｈ」レベル（有効）となるように上記バックアップメモリ１１４ａに格納する。また、これらステップＳ６００及びＳ６１０の処理は、ドライビングサイクルの終了タイミングが判別されるまで繰り返し実行される（ステップＳ６３０、Ｓ６４０）。
【００９８】
その後、ＩＧスイッチ２０にオン操作があったこと（ステップＳ５３０）、且つ、上記バックアップメモリ１１４ａに機関回転の履歴が記憶されていること（ステップＳ５４０）が確認されると、マイクロコンピュータ１１０は、上記ドライビングサイクルの終了タイミングを判別する。そして、この判別に基づき、同マイクロコンピュータ１１０は次に、上記ステップＳ６１０の処理において上記バックアップメモリ１１４ａに格納した上記故障保留コード（第２の故障情報）を上記不揮発性メモリ１０３に複写する（ステップＳ６４０）。すなわち、この実施の形態のマイクロコンピュータ１１０は、上記故障保留コード（第２の故障情報）の不揮発性メモリ１０３への書き込みを、該故障保留コードの更新のタイミングによることなく、上記ドライビングサイクルの終了タイミング（不揮発性メモリ１０３への書き込み時）のみに実行するようにしている。これにより、第２の故障情報の更新が車両の燃料噴射や点火時期制御などの制御などのリアルタイム性を要する制御の実行中に行われる場合であれ、電子制御装置１００は、それら車両の燃料噴射や点火時期制御などの制御などのリアルタイム性を要する制御の円滑な実行を確保することができるようになる。ただし、この実施の形態のマイクロコンピュータ１１０は、上記第２の故障情報のうち、ドライビングサイクルの終了タイミングに、同不揮発性メモリ１０３にその時点で書き込まれている値と上記バックアップメモリ１１４ａにその時点で書き込まれている他の故障情報の最新の値とから算出することのできる故障情報（故障及び正常カウンタの各カウンタ値及び故障確定情報）についてはこれらを上記不揮発性メモリ１０３のみに書き込むようにしている。これにより、第２の故障情報の書き込みによる上記車両の燃料噴射や点火時期制御などの制御などへの悪影響を回避しつつ、上記バックアップメモリ１１４ａとしての容量的な無駄をさらに排除することができるようになる。
【００９９】
そしてその後は、上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に格納される故障保留コードを論理「Ｌ」レベルとすべきか否かの判断が行われる。すなわち、次のステップＳ６５０の処理では、マイクロコンピュータ１１０は、上記不揮発性メモリ１０３に格納されている最新の正常カウンタ値（第２の故障情報）が「１」以上であるか否かの判断を行う。そして、このステップＳ６５０の処理において、上記正常カウンタ値（第２の故障情報）が「１」以上であると判断されると、同マイクロコンピュータ１１０は、上記（ｄ１）及び（ｄ２）の論理積条件が満たされたとして、上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に格納される故障保留コードを論理「Ｌ」レベルとする。
【０１００】
図１０は、このような態様で異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、及び故障確定コードの各操作が行われるときのそれら論理レベルの推移例を総括して示したものである。ここでは、先の第１の実施の形態に対してその操作の異なる上記駆動指令出力情報及び故障保留コードの推移例を中心に説明する。
【０１０１】
この故障診断に際してもまず、ＩＧスイッチ２０のオン／オフ情報及び機関回転センサ３０を通じて検出される機関回転情報に基づいてドライビングサイクル（ＤＣ）が判別される。そして、このドライビングサイクルごとに上記車載機器（ここでは酸素センサ１１）の故障診断が行われる。
【０１０２】
例えば、図１０（ａ）及び（ｈ）に示されるように、ドライビングサイクルが第１のドライビングサイクル（ＤＣ１）にあるときの終了タイミングｔ１１では、上記異常判定情報の論理レベルが論理「Ｈ」レベル（異常）であるため、上記（ｃ３）の切替条件が満たされる。このため、このタイミングｔ１１では、上記バックアップメモリ１１４ａに格納される故障保留コード（図１０（ｈ）破線）が論理「Ｌ」レベル（無効）から論理「Ｈ」レベル（有効）に切り替えられるかたちでまずは更新される。ただし、この故障保留コードは、この第１のドライビングサイクル（ＤＣ１）の終了タイミングｔ２０にて上記バックアップメモリ１１４ａから読み出されて不揮発性メモリ１０３に複写される（図１０（ｈ）実線）。また、同タイミングｔ２０では、上記バックアップメモリ１１４ａにその時点で格納されている異常判定情報（図１０（ｄ））の論理「Ｈ」レベルに基づき、上記不揮発性メモリ１０３に格納される上記故障カウンタがカウントアップされ、そのカウンタ値が「１」となる。なお、このバックアップメモリ１１４ａに格納されている駆動指令出力情報（図１０（ｇ））が、第５のドライビングサイクル（ＤＣ５）の終了タイミングｔ４０にて、論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちで更新される点は先の第１の実施の形態と同様である。
【０１０３】
一方、ドライビングサイクルが第２のドライビングサイクル（ＤＣ２）に移行すると、上記バックアップメモリ１１４ａに格納されている異常判定情報が論理「Ｌ」レベル（正常）から論理「Ｈ」レベル（異常）に切り替えられるタイミングｔ２１にて、上記（ａ１）及び（ａ２）の論理積条件が満たされるようになる。したがって、このタイミングｔ２１では、先の実施の形態と同様、上記バックアップメモリ１１４ａに格納される駆動指令出力情報（図１０（ｇ））が論理「Ｌ」レベル（無効）から論理「Ｈ」レベル（有効）に切り替えられるかたちで更新される。ただし上述の通り、この実施の形態では、この駆動指令出力情報が、この第２のドライビングサイクル（ＤＣ２）の終了タイミングｔ３０にて上記バックアップメモリ１１４ａから読み出されて不揮発性メモリ１０３に複写されることはない。
【０１０４】
また一方、ドライビングサイクルが第３のドライビングサイクル（ＤＣ３）に移行すると、該第３のドライビングサイクル（ＤＣ３）の終了タイミングｔ４０にて、上記異常判定情報（図１０（ｄ））の論理「Ｌ」レベルに基づき、上記故障カウンタの故障カウンタ値が「０」となり、上記正常カウンタの正常カウンタ値が「１」となる。このため、上記不揮発性メモリ１０３及びバックアップメモリ１１４ａに格納されている故障保留コード（図１０（ｈ））は、このタイミングｔ４０にて、論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちでそれぞれ更新される。また、バックアップメモリ１１４ａに格納されている上記駆動指令出力情報（図１０（ｇ））は、第５のドライビングサイクル（ＤＣ３）の終了タイミングｔ６０にて、論理「Ｈ」レベル（有効）から論理「Ｌ」レベル（無効）に切り替えられるかたちで更新される。
【０１０５】
このように、この実施の形態では、図１０（ｄ）〜（ｉ）に示される故障情報のうち、ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報、具体的には異常判定情報（図１０（ｄ））及び駆動指令出力情報（図１０（ｇ））を、上記バックアップメモリ１１４ａのみに格納するようにしている。すなわち、上記故障情報のうち上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報（上述の２種の故障情報など）についてはそれらの上記不揮発性メモリ１０３に対する書き込み処理を行わないようにしている。このため、それら情報の保持に対する信頼性を維持しつつ、不揮発性メモリ１０３としての容量的な無駄を排除することができるようになる。また、この場合には、上記故障情報の上記不揮発性メモリ１０３に対する書き込み処理の頻度が、上記ドライビングサイクルごとに故障診断が行われる上記条件下にあって最小頻度（１回）に設定されることとなる。したがって、故障診断に最低限必要とされるリアルタイム性を確保しつつ、上記不揮発性メモリ１０３に対する故障情報の書き込み処理にかかる処理負荷をより軽減することができるようになる。
【０１０６】
さらに、上記故障情報のうち、上記ドライビングサイクルの１サイクル中に１回だけ更新される第１の故障情報、すなわち図１０の例では故障カウンタ値（図１０（ｅ））、正常カウンタ値（図１０（ｆ））、故障保留コード（図１０（ｈ））、故障確定コード（図１０（ｉ））等についてはこれらを上記不揮発性メモリ１０３に書き込むようにしている。ドライビングサイクルごとに行われる上記故障診断のいわば最終的な診断結果ともいうべきこのような第２の故障情報を、情報保持の能力に優れる不揮発性メモリ１０３に格納することで、上記故障情報の信頼性も的確に確保されるようになる。
【０１０７】
以上説明したように、この第２の実施の形態にかかる故障診断方法及び故障診断装置によっても、基本的には先の第１の実施の形態の前記（１）及び（５）の効果と同等、あるいはそれに準じた効果を得ることができるとともに、以下の効果を新たに得ることができるようになる。
【０１０８】
（６）ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報を上記バックアップメモリ１１４ａのみに書き込むこととしたため、不揮発性メモリ１０３としての容量的な無駄をより適切に排除することができるようになる。
【０１０９】
（７）例えば故障保留コード（図１０（ｈ））など、上記ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報を、バックアップメモリ１１４ａにまずは格納しておき、上記各ドライビングサイクルの終了タイミングにて該バックアップメモリ１１４ａから上記不揮発性メモリ１０３に同第２の故障情報を複写するようにした。このため、第２の故障情報の更新が車両の燃料噴射や点火時期制御などの制御などのリアルタイム性を要する制御の実行中に行われる場合であれ、それら車両の燃料噴射や点火時期制御などの制御などのリアルタイム性を要する制御の円滑な実行が確保されるようになる。
【０１１０】
（８）上記第２の故障情報のうち、上記故障カウンタ値（図１０（ｅ））、正常カウンタ値（図１０（ｆ））、故障確定コード（図１０（ｉ））など、ドライビングサイクルの終了タイミングに、同不揮発性メモリ１０３にその時点で書き込まれている値と上記バックアップメモリ１１４ａにその時点で書き込まれている他の故障情報の最新の値とから算出することのできる故障情報についてはこれらを上記不揮発性メモリ１０３のみに書き込むこととした。このため、上記第２の故障情報の書き込みによる上記車両の燃料噴射や点火時期制御などの制御などへの悪影響を回避しつつ、上記バックアップメモリ１１４ａとしての容量的な無駄をさらに排除することができるようになる。
（他の実施の形態）
なお、上記各実施の形態は、以下のように変更して実施することもできる。
【０１１１】
・車載機器の故障診断に際して、不揮発性メモリ１０３に格納することのできる故障情報の数よりも同不揮発性メモリ１０３に格納される故障情報の数のほうが大きい場合が考えられる。そしてこの場合、不揮発性メモリ１０３に故障情報を書き込むことが困難となり、故障情報の情報保持に対する信頼性の低下が懸念される。そこで、上記各実施の形態において、上記不揮発性メモリ１０３に書き込むことのできる故障情報の数に制限を設けるとともに、それら故障情報の各々に優先度を定めておき、例えば図１１に示される手順に従って、マイクロコンピュータ１１０が上記不揮発性メモリ１０３に格納されている故障情報を消去するようにしてもよい。すなわちこの場合、マイクロコンピュータ１１０は、同図１１に示されるように、例えばドライビングサイクルの終了タイミングごとに（ステップＳ７００及びＳ７１０）、不揮発性メモリ１０３に書き込むべき新たな故障情報が発生したか否かの判断を行う（ステップＳ７２０）。そして、不揮発性メモリ１０３に書き込むべき新たな故障情報が発生したと判断される場合、マイクロコンピュータ１１０は次に、不揮発性メモリ１０３にその時点で書き込まれている故障情報の数が予め設定されている上限値（制限）にあるか否かの判断を行う（ステップＳ７３０）。その結果、同故障情報の数が予め設定されている上限値（制限）にあると判断される場合、同マイクロコンピュータ１１０は、例えば故障情報ごとに予め設定されている優先度に基づき、上記不揮発性メモリ１０３に格納されている故障情報のうち、優先度の最も低い故障情報を消去する（ステップＳ７４０）。そしてその後に、同マイクロコンピュータ１１０が、上記発生した新たな故障情報を上記不揮発性メモリ１０３に書き込むこととなる（ステップＳ７５０）。これにより、不揮発性メモリ１０３に格納することのできる故障情報の数よりも同不揮発性メモリ１０３に書き込まれるべき故障情報の数のほうが大きい場合であれ、ドライビングサイクルの終了タイミング（書き込み時）にて発生した新たな故障情報を、上記不揮発性メモリ１０３に的確に格納することができるようになる。なお、上記故障情報の各々に設定される優先度については、例えば、故障情報の種類に基づいて予め設定される情報の重要度や、上記不揮発性メモリ１０３に格納された順番等に基づいて同優先度を設定することができる。
【０１１２】
・周知のように、フラッシュメモリ等からなる不揮発性メモリは、上述のバックアップメモリと比較して、消去動作、書き込み動作、読み出し動作の３つの動作のうち、特に消去動作および書き込み動作の２つの動作が遅い。このため、不揮発性メモリ１０３に格納されている各故障情報についての外部ツールからの消去要求があったとき、このタイミングにて、同不揮発性メモリ１０３に格納されている各故障情報の消去動作が実行されるようなことがあると、例えば、車両の燃料噴射や点火時期制御などの制御に対して悪影響を及ぼしかねない。そこで、上記各実施の形態において、バックアップメモリ１１４ａ及び不揮発性メモリ１０３に格納されている各故障情報についての外部ツールからの検査要求があったとき、例えば図１２に示される手順に従って、マイクロコンピュータ１１０が同外部ツールからの検査要求に応答するようにしてもよい。すなわち、いま、電子制御装置１００（マイクロコンピュータ１１０）に対して上記外部ツールからの検査要求があったとする。このような場合において、マイクロコンピュータ１１０はまず、図１２に示されるように、外部ツールから上記バックアップメモリ１１４ａに対して故障情報の消去要求があるか否かの判断を行う（ステップＳ８００）。そして、故障情報の消去要求があったときにはその時点で、同マイクロコンピュータ１１０が上記バックアップメモリ１１４ａに格納されている故障情報のうち上記消去要求のあった故障情報を消去するようにする（ステップＳ８１０）。そして、マイクロコンピュータ１１０は次に、同外部ツールから上記不揮発性メモリ１０３に対して故障情報の消去要求があるか否かの判断を行う（ステップＳ８２０）。その結果、不揮発性メモリ１０３に格納されている故障情報に消去要求があった場合、この故障情報については、同マイクロコンピュータ１１０が当該故障情報についての消去要求があった旨を示す情報を上記バックアップメモリ１１４ａに書き込むようにする（ステップＳ８３０）。そしてその後に、マイクロコンピュータ１１０が、上記不揮発性メモリ１０３に格納されている故障情報（異常判定情報など）と上記バックアップメモリ１１４ａに格納されている故障情報（前回の故障カウンタ値など）とから、上記外部ツールから要求された故障情報の最新値（最新の故障カウンタ値など）を求め（ステップＳ８４０）、この求めた故障情報を外部ツールに送信することで上記外部ツールからの検査要求に応答する（ステップＳ８５０）。こうした手順に従って上記外部ツールからの検査要求に対する応答処理が行われる場合、マイクロコンピュータ１１０は、バックアップメモリ１１４ａに格納した上記故障情報についての消去要求があった旨を示す情報に基づき、この情報に対応する故障情報の消去動作を所望のタイミングに実行することが可能となる。そして、同故障情報の消去動作を、例えば、図１３に示すように、ドライビングサイクルの終了タイミングに行うようにすれば、この不揮発性メモリ１０３に格納されている故障情報の消去動作が、車両の燃料噴射や点火時期制御などの制御に対して悪影響を及ぼすことも回避されるようになる。なお、この図１３に示される例では、ドライビングサイクルの終了タイミングごとに（ステップＳ９００及びＳ９１０）、故障情報についての消去要求があった旨を示す情報が上記バックアップメモリ１１４ａに格納されているか否かの判断が行われる。そして、バックアップメモリ１１４ａに該情報が格納されていると判断されるとき、同情報によって示されている上記外部ツールからの消去要求に対応する故障情報が上記不揮発性メモリ１０３から消去されることとなる。なお、この図１３に示される例を、先の図４〜図６や図８、図９に示した故障情報の操作手順に適用するとした場合には、上記ステップＳ２４０、Ｓ３１０、Ｓ４１０、Ｓ５４０、Ｓ６３０の各処理の後に、上記ステップＳ９２０及びＳ９３０の処理が実行される。
【０１１３】
・上記各実施の形態において、不揮発性メモリ１０３を、マイクロコンピュータ１１０内に設けるようにしてもよい。例えば、図１４に示すように、電子制御装置１００が各種制御プログラムやそれら制御で用いられる制御データ等をフラッシュメモリ２１３に格納するものであるとき、該フラッシュメモリ２１３に、プログラムメモリとして機能するプログラム領域２１３ａ及びデータメモリとして機能するデータ領域２１３ｂを設けるようにする。これにより、同マイクロコンピュータ１１０内のデータ領域２１３ｂを上記不揮発性メモリ１０３として用いることができるようになる。なお、同データ領域２１３ｂは、電気的に書き換え可能な不揮発性のメモリ領域であればよい。
【０１１４】
・不揮発性メモリ１０３に格納されている故障情報に消去要求があった場合、この故障情報については、当該故障情報についての消去要求があった旨を示す情報を上記バックアップメモリ１１４ａに書き込むようにした。ただし、この消去要求があった旨を示す情報については、不揮発性メモリ１０３に書き込むようにしてもよいし、上記バックアップメモリ１１４ａ及び不揮発性メモリ１０３に書き込むようにしてもよい。
【０１１５】
・不揮発性メモリ１０３の書き込み動作や消去動作を、上記ＩＧスイッチ２０のオフ操作に基づいて実行するようにしても、車両の燃料噴射や点火時期制御などの制御に対して悪影響を及ぼすことなく、上記不揮発性メモリ１０３に対する書き込み処理を行うことができるようになる。なお、このような書き込み処理は、図１５に示されるような故障診断装置に適用して特に有効である。すなわち、この故障診断装置は、リレー回路２０１内に設けられるメインリレースイッチのオン／オフ制御を通じて車載バッテリからの給電の有無を自己制御する電子制御装置２００として構成されている。この電子制御装置２００では、上記ＩＧスイッチ２０のオフ操作以降も上記車載バッテリからの給電が確保されるため、上記不揮発性メモリ１０３の書き込み動作や消去動作を的確に行うことが可能である。
【０１１６】
・上記各実施の形態では、上記車載機器の故障状況を示す故障情報として、異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、故障確定コードを例示したが、同故障情報はこれに限られない。例えば、上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報として、図１６に例示する故障情報を挙げることができる。なお、この故障情報は、未診断状態Ｍ、正常状態Ｓ、類似正常状態Ｒ、異常状態Ｉの４つの状態を有し、例えば上記センサ群１０からの出力信号に基づき、同故障情報がそれら４つの状態のいずれかにその都度更新されるものである。ただし、この故障情報では、例えばドライビングサイクルの開始タイミングごとにその状態が未診断状態Ｍに更新（初期化）される。また、この故障情報では、類似正常状態Ｒから正常状態Ｓの状態に変化することや、異常状態Ｉから正常状態Ｓや類似正常状態Ｒに変化することはない。
【０１１７】
・上記各実施の形態では、表示部（ＭＩＬランプ）４０を駆動（点灯）させるべきか否かの判断に基づいて操作される駆動指令出力情報を、上記ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報に分類することとした。ただし、車載内燃機関がディーゼル機関である場合には、該機関に失火が生じることもないため、例えばＭＩＬランプの点滅といったかたちで表示部４０を駆動すべく該駆動指令出力情報の論理レベルがその都度切り替わるようなこともない。したがってこの場合、同駆動指令出力情報は、上記ドライビングサイクルの１サイクル中に１回だけ更新される第２の故障情報として取り扱われることとなる。
【０１１８】
・上記第２の実施の形態では、上記第１の故障情報を上記バックアップメモリ１１４ａのみに格納するとともに、上記第２の故障情報を上記不揮発性メモリ１０３に格納する限りは、該第２の故障情報の全てを上記バックアップメモリ１１４ａに書き込むようにしてもよい。この場合であれ、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部としての容量的な無駄を排除することはできる。
【０１１９】
・上記第１の実施の形態では、上記第１の故障情報を上記バックアップメモリ１１４ａに格納するとともに上記第２の故障情報を上記不揮発性メモリ１０３のみに格納する限りは、上記ＩＧスイッチ２０のオフ操作に基づき、若しくはドライビングサイクルの終了タイミングごとに上記第１の故障情報の全てを上記バックアップメモリ１１４ａに複写するようにしてもよい。この場合であれ、故障情報の保持に対する信頼性の向上と故障情報の書き込みにかかる処理負荷の軽減との好適な両立を図りつつ、それら故障情報の格納部としての容量的な無駄を排除することはできる。
【図面の簡単な説明】
【０１２０】
【図１】この発明の第１の実施の形態にかかる故障診断装置について、各センサとの関係も含め、その全体構成を示すブロック図。
【図２】同実施の形態の異常判定情報（第１の故障情報）の操作についてその手順を示すフローチャート。
【図３】同実施の形態の故障カウンタ及び正常カウンタの各カウンタ値（第２の故障情報）の操作についてその手順を示すフローチャート。
【図４】同実施の形態の駆動指令出力情報（第１の故障情報）の操作についてその手順を示すフローチャート。
【図５】同実施の形態の故障保留コード（第２の故障情報）の操作についてその手順を示すフローチャート。
【図６】同実施の形態の故障確定コード（第２の故障情報）の操作についてその手順を示すフローチャート。
【図７】（ａ）〜（ｉ）は、この実施の形態の異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、及び故障確定コードの論理レベルの推移例を示すタイミングチャート。
【図８】この発明の第２の実施の形態にかかる故障診断装置について、その故障診断に際して行われる駆動指令出力情報（第１の故障情報）の操作についてその手順を示すフローチャート。
【図９】同実施の形態の故障保留コード（第２の故障情報）の操作についてその手順を示すフローチャート。
【図１０】（ａ）〜（ｉ）は、この実施の形態の異常判定情報、故障カウンタ値、正常カウンタ値、駆動指令出力情報、故障保留コード、及び故障確定コードの論理レベルの推移例を示すタイミングチャート。
【図１１】不揮発性メモリに格納される故障情報の消去処理についてその手順を示すフローチャート。
【図１２】外部ツールによる検査要求に対する応答処理についてその手順を示すフローチャート。
【図１３】不揮発性メモリに格納される故障情報の消去処理についてその手順を示すフローチャート。
【図１４】不揮発性メモリの配設態様のバリエーションを示すブロック図。
【図１５】車載バッテリからの給電の有無を自己制御する電子制御装置として設けられる場合の該故障診断装置の構成を示すブロック図。
【図１６】ドライビングサイクルの１サイクル中に２回以上更新される第１の故障情報のバリエーションを示す概念図。
【符号の説明】
【０１２１】
１０…センサ群、１１…酸素センサ、１２…温度センサ、２０…イグニッション（ＩＧ）スイッチ、３０…機関回転センサ、４０…表示部、１００、２００…電子制御装置、１０１…マルチプレクサ、１０２…Ａ／Ｄ変換器、１０３…不揮発性メモリ、１０４…駆動回路、１１０…マイクロコンピュータ（書き込み制御手段）、１１１…中央演算処理装置、１１２…入出力ポート、１１３…プログラムメモリ、１１４…データメモリ、１１４ａ…バックアップメモリ、２０１…リレー回路、２１３…フラッシュメモリ、２１３ａ…プログラム領域、２１３ｂ…データ領域、Ｂ…車載バッテリ、ＢＵＳ…内部バス。
【図１】
2006209685.tif 000003
【図２】
2006209685.tif 000004
【図３】
2006209685.tif 000005
【図４】
2006209685.tif 000006
【図５】
2006209685.tif 000007
【図６】
2006209685.tif 000008
【図７】
2006209685.tif 000009
【図８】
2006209685.tif 000010
【図９】
2006209685.tif 000011
【図１０】
2006209685.tif 000012
【図１１】
2006209685.tif 000013
【図１２】
2006209685.tif 000014
【図１３】
2006209685.tif 000015
【図１４】
2006209685.tif 000016
【図１５】
2006209685.tif 000017
【図１６】
2006209685.tif 000018