(57)【要約】【課題】一定の法則で増加又は減少されていき且つ１回の動作期間中には値が最大でＮしか変化しないデータを、書き換え可能不揮発性メモリを用いて継続的に保存する電子制御装置において、その書き換え可能不揮発性メモリへのデータ書き込み回数の低減とデータの確実な記憶とを、効率的に両立させる。【解決手段】本装置は、ＲａｔｅＢａｓｅモニタ法で定められている各診断対象項目のモニタ頻度を表すデータであって、１ずつ増加され且つ１回の動作期間中における最大変化量が１であるデータを、ＥＥＰＲＯＭを用いて継続的に保存するが、特に、何れかのデータが１インクリメントされた際に（Ｓ１６０：ＹＥＳ）、そのデータをＥＥＰＲＯＭに書き込むと共に（Ｓ１７０）、該データについての書込完了フラグをオンして（Ｓ１８０）、以後その動作期間中では、該データをＥＥＰＲＯＭに書き込む処理は実施しない（Ｓ１３０：ＹＥＳ）。【選択図】　図４
2004139521.tif 000002
【特許請求の範囲】
【請求項１】
動作電源の供給が停止されても継続して保存すべきデータ（以下、継続保存対象データという）を、電気的にデータの書き換えが可能で且つデータ書込回数に制限のある不揮発性メモリを用いて継続的に保存する電子制御装置であって、
前記継続保存対象データは、その値が一定の法則で増加又は減少されていくものであると共に、当該装置に動作電源が投入されてから該動作電源が遮断されるまでの１回の動作期間中には、その値が最大でＮ（但しＮは正数）しか変化しないデータであり、
当該電子制御装置は、前記１回の動作期間中において、前記継続保存対象データの値がＮだけ変化された際に、そのＮだけ値が変化した継続保存対象データを前記不揮発性メモリに書き込む書込処理を実施し、以後その動作期間中では、前記Ｎだけ値が変化した継続保存対象データを前記不揮発性メモリに書き込む処理は実施しないように構成されていること、
を特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
データを保持するための電源が常時供給されたＲＡＭ（以下、スタンバイＲＡＭという）と、
当該装置の動作期間中において、前記継続保存対象データを、少なくとも該データが前記書込処理により前記不揮発性メモリに書き込まれるまでの間、定期的に前記スタンバイＲＡＭに記憶させる定期記憶手段と、
当該装置が動作電源の投入により動作を開始した際に、前回の動作期間中において前記書込処理により前記不揮発性メモリに書き込まれなかった継続保存対象データを、前記スタンバイＲＡＭから前記不揮発性メモリに書き込む予備書込実施手段と、
を備えていることを特徴とする電子制御装置。
【請求項３】
請求項２に記載の電子制御装置において、
当該装置が動作電源の投入により動作を開始した際に、前記スタンバイＲＡＭ内のデータが正常であるか否かを判定し、正常でないと判定した場合には、前記予備書込実施手段の動作を禁止する判定手段を備えていること、
を特徴とする電子制御装置。
【請求項４】
請求項１に記載の電子制御装置において、
当該電子制御装置には、電源スイッチがオンされている時、又は、当該装置の外部に設けられた給電用スイッチング手段がオンされている時に、前記動作電源が供給されるようになっていると共に、
当該電子制御装置は、前記電源スイッチのオンに伴い動作すると、前記給電用スイッチング手段を自らオンさせることで、前記電源スイッチのオフ後も動作を継続することができるようになっており、
更に、前記電源スイッチがオフされた場合には、今回の動作期間中において値がＮだけ変化したものの前記不揮発性メモリに未だ書き込まれていない継続保存対象データがあれば、そのデータを前記不揮発性メモリに書き込んでから、前記給電用スイッチング手段をオフさせるように構成されていること、
を特徴とする電子制御装置。
【請求項５】
請求項１に記載の電子制御装置において、
当該電子制御装置には、電源スイッチがオンされている時、又は、当該装置の外部に設けられた給電用スイッチング手段がオンされている時に、前記動作電源が供給されるようになっていると共に、
当該電子制御装置は、前記電源スイッチのオンに伴い動作すると、前記給電用スイッチング手段を自らオンさせることで、前記電源スイッチのオフ後も動作を継続することができるようになっており、
更に、前記電源スイッチがオフされると、今回の動作期間中において前記書込処理により前記不揮発性メモリに未だ書き込まれていない継続保存対象データを、前記不揮発性メモリに書き込み、その後、前記給電用スイッチング手段をオフさせるように構成されていること、
を特徴とする電子制御装置。
【請求項６】
請求項４又は請求項５に記載の電子制御装置において、
当該装置は自動車のエンジンを制御するものであり、
前記電源スイッチは、前記自動車のイグニッションスイッチであること、
を特徴とする電子制御装置。
【請求項７】
車両に搭載された車載機器を制御する電子制御装置であって、
車両が所定の運転状態となったことを検出する検出手段と、
所定の条件が満足された場合に前記車載機器の故障診断を実施する故障診断手段と、
記憶内容を電気的に書き換え可能な不揮発性メモリと、
当該制御装置の起動から停止までの間に、前記検出手段にて前記所定の運転状態が検出されたときに前記不揮発性メモリに記憶されている運転回数を１回分だけ更新した値に書き換える処理を実行すると共に、前記故障診断手段にて前記故障診断が実施されたときに前記不揮発性メモリに記憶されている故障診断回数を１回分だけ更新した値に書き換える処理を実行する書換え手段と、
前記書換え手段で前記運転回数又は前記故障診断回数の少なくとも一方の書き換え処理が実行された後は、書き換え処理された前記運転回数又は前記故障診断回数に対し前記書換え手段での書き換え処理が実施されないようにする書き換え処理禁止手段と、
を備えることを特徴とする電子制御装置。
【請求項８】
請求項７に記載の電子制御装置において、
前記故障診断手段にて故障診断が実施される診断対象の前記車載機器は複数あって、しかも前記診断対象に応じて前記所定の条件が異なっており、前記不揮発性メモリに記憶される前記運転回数、並びに、前記故障診断回数は前記診断対象に応じて夫々別々の領域に記憶され、前記書き換え処理禁止手段は前記診断対象の前記運転回数、並びに、前記故障診断回数の書き換え処理が実行された後に、書き換え処理を実施しないようにすることを特徴とする電子制御装置。
【請求項９】
請求項７又は請求項８に記載の電子制御装置において、
当該制御装置は車両外部の診断ツールと接続可能となっており、前記診断ツールからの前記運転回数、前記故障診断回数の出力要求があった場合には、前記不揮発性メモリに記憶されている前記運転回数、前記故障診断回数を前記診断ツールに対して出力する出力手段をさらに備えることを特徴とする電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作中に更新される特定のデータを、電気的にデータの書き換えが可能で且つデータ書込回数に制限のある不揮発性メモリに保存するようにした電子制御装置に関するものである。
【０００２】
【従来の技術】
従来より、自動車用の電子制御装置では、動作電源の供給が停止されても継続して保存すべき故障診断情報や制御学習値などの特定のデータ（以下、継続保存対象データという）を、電気的にデータの書き換えが可能なＥＥＰＲＯＭなどの不揮発性メモリに書き込んでおくことにより、バッテリ外れやバッテリ上がりが発生しても、そのデータを継続して保持及び更新することができるようにしている。例えば、バッテリバックアップされたＲＡＭ（以下、バックアップＲＡＭともいう）内の所定領域のデータを、ＥＥＰＲＯＭに逐次コピーして保存しておき、動作電源の投入に伴う動作開始時に、そのＲＡＭ内のデータが異常であれば、ＥＥＰＲＯＭ内のデータを上記ＲＡＭへコピーして復元する装置が知られている（例えば、特許文献１参照）。
【０００３】
そして、ＥＥＰＲＯＭなどの書き換え可能不揮発性メモリには、データ書込回数に制限があるため、上記従来の装置では、一定周期毎にバックアップＲＡＭ内のデータとＥＥＰＲＯＭ内のデータとを比較して、両者が異なっていた場合にバックアップＲＡＭ内のデータをＥＥＰＲＯＭへコピーすることで、ＥＥＰＲＯＭへのデータ書込回数を節約するようにしている（例えば、特許文献１参照）。また、動作電源の切断時に、情報が変化していた場合にだけ、その情報のメモリへの書き込みを行う、といった手法もある（例えば、特許文献２参照）。
【０００４】
一方、自動車用電子制御装置においては、ＣＡＲＢ（カリフォルニア大気資源保護局）によるＯＢＤ（オンボードダイアグノスティック）２の法規に、ＲａｔｅＢａｓｅモニタ法があり、そのＲａｔｅＢａｓｅモニタ法では、下記の式で示されるモニタ頻度を、継続保存対象データとして継続記憶しておく必要がある。
【０００５】
モニタ頻度＝モニタリング実施回数／運転回数
尚、モニタ頻度は、故障診断を実施した頻度であり、触媒コンバータ，フューエルエバポレーションシステム，酸素センサ等といった複数の項目の故障診断について各々存在する。
【０００６】
そして、運転回数（以下、分母という）は、その項目について法規で定められた所定の走行条件が満たされたときにインクリメントされるデータである。また、モニタリング実施回数（以下、分子という）は、その項目について自動車メーカで定めた故障診断実施条件が満たされて、正常又は異常の判定が終了した時点で、インクリメントされるデータである。
【０００７】
そして更に、これら分母と分子は、両方共に、自動車のイグニッションスイッチがオンされてオフされるまでの間（即ち、故障診断を実施する電子制御装置に動作電源が投入されて該動作電源が遮断されるまでの１回の動作期間中）に、１だけインクリメントされるか、或いは、そのままの値を維持するかの何れかである。よって、各項目の分母と分子は、１インクリメントされると、その回の自動車の運転期間中では、それ以上値が更新されることはない。
【０００８】
【特許文献１】
特開平４−３３６３５１号公報（第３頁、図２〜図４）
【特許文献２】
特開平４−２１７０５３号公報（第２頁、図１）
【０００９】
【発明が解決しようとする課題】
ところで、前述したＲａｔｅＢａｓｅモニタ法の分母及び分子のように、そのデータ値が一定の法則で増加又は減少されていき、且つ、そのデータを更新する電子制御装置に動作電源が投入されてから遮断されるまでの該電子制御装置の１回の動作期間中には値が最大でＮ（但しＮは正数であり、ＲａｔｅＢａｓｅモニタ法ではＮ＝１である）しか変化しないデータを、ＥＥＰＲＯＭ等の書き換え可能不揮発性メモリを用いて継続的に保存しようとする場合、その不揮発性メモリへのデータ書込回数を節約するために、上記特許文献１の方法を採用することが考えられる。
【００１０】
しかし、上記特許文献１の方法では、電子制御装置の１回の動作期間中に、継続保存対象データの値がＮだけ変化されて、その値がもはや更新されなくなっても、一定周期毎にバックアップＲＡＭ内のデータとＥＥＰＲＯＭ内のデータとが比較されることとなり、処理に大きな無駄が生じてしまう。特に、ＥＥＰＲＯＭでは、一般に、マイコンとの間のシリアル通信によってデータのリード／ライトが実施されることから、バックアップＲＡＭ内のデータとＥＥＰＲＯＭ内のデータとを比較する処理には時間がかかり、そのような比較処理が無意味に行われるのは、大変非効率である。
【００１１】
また例えば、電子制御装置の動作開始時にだけ、バックアップＲＡＭ内の継続保存対象データをＥＥＰＲＯＭ等の書き換え可能不揮発性メモリに書き込むように構成することも考えられる。しかし、このように継続保存対象データの書き換え可能不揮発性メモリへの書き込みを、必ず動作期間を跨いで実施するように構成した場合には、書き込み回数は減らせるものの、データの最終値が装置の動作停止中にバックアップＲＡＭ内にのみ保存されることとなるため、その動作停止中にバッテリ外れやバッテリ上がりが生じた場合には、もはや、書き換え可能不揮発性メモリ内のデータを確実に更新することができなくなってしまう。尚、スタンバイＲＡＭ自体に異常が生じた場合も同様である。
【００１２】
一方、上記特許文献２の如く、電子制御装置への動作電源の切断時に、ＥＥＰＲＯＭ等の書き換え可能不揮発性メモリへデータを書き込むようにする場合、一般に、電子制御装置には、イグニッションスイッチがオンされている時か、電子制御装置の外部に設けられた給電用のメインリレーがオンされている時に、動作電源が供給されるようにして、電子制御装置は、イグニッションスイッチのオンに伴い動作すると、メインリレーを自らオンさせることで、イグニッションスイッチのオフ後も動作を継続できるように構成することとなる。つまり、電子制御装置は、イグニッションスイッチがオフされたことを検知すると、ＲＡＭ上の継続保存対象データを書き換え可能不揮発性メモリに書き込み、その後、メインリレーをオフさせる、という手順を実施することにより、継続保存対象データの書き換え可能不揮発性メモリへの書き込みが完了する前に動作電源が遮断されてしまうことを防ぐことができるからである。
【００１３】
しかし、上記のようなメインリレーを設けた場合でも、一般にイグニッションスイッチのオフ後は動作電源電圧としてのバッテリ電圧が不安定となるため、書き換え可能不揮発性メモリ内のデータを更新することができなくなってしまう可能性がある。つまり、電源電圧が落ち込んでマイコンのリセット等が発生すると、最新の継続保存対象データを消失してしまうからである。このため、継続保存対象データの書き換え可能不揮発性メモリへの書き込みは、できればイグニッションスイッチがオンされている最中に行うことが好ましい。
【００１４】
本発明は、以上のような問題に鑑みなされたものであり、一定の法則で増加又は減少されていき且つ１回の動作期間中には値が最大でＮしか変化しないデータを、書き換え可能不揮発性メモリを用いて継続的に保存する電子制御装置において、その書き換え可能不揮発性メモリへのデータ書き込み回数の低減とデータの確実な記憶とを、効率的に両立させることを目的としている。
【００１５】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、動作電源の供給が停止されても継続して保存すべきデータであって、その値が一定の法則で増加又は減少されていき、且つ、当該装置に動作電源が投入されてから該動作電源が遮断されるまでの１回の動作期間中には、その値が最大でＮ（但しＮは正数）しか変化しない継続保存対象データを、電気的にデータの書き換えが可能で且つデータ書込回数に制限のある不揮発性メモリ（書き換え可能不揮発性メモリ）を用いて継続的に保存するものである。
【００１６】
そして特に、請求項１の電子制御装置は、１回の動作期間中において、継続保存対象データの値がＮだけ変化された際に、そのＮだけ値が変化した継続保存対象データを不揮発性メモリに書き込む書込処理を実施し、以後その動作期間中では、Ｎだけ値が変化した継続保存対象データを前記不揮発性メモリに書き込む処理は実施しないように構成されている。
【００１７】
このような請求項１の電子制御装置によれば、継続保存対象データの不揮発性メモリへの書き込み回数を抑えることができると共に、その継続保存対象データ（詳しくは、値がＮだけ変化して、その回の動作期間での最終値に達した継続保存対象データ）の不揮発性メモリへの書き込みを、動作期間を跨ぐことなく且つ動作電源電圧が安定している本来の今回動作期間中に実施することができる。しかも、継続保存対象データの不揮発性メモリへの書き込みが終わると、その回の動作では、そのデータについて、もはや不揮発性メモリへの書き込みに関する無駄な処理（上記特許文献１の比較処理等）が行われることはない。
【００１８】
よって、不揮発性メモリへのデータ書き込み回数の低減と、データの確実な記憶とを、効率的に両立させることができる。
次に、請求項２に記載の電子制御装置では、請求項１の電子制御装置に対して、データを保持するための電源が常時供給されたＲＡＭ（以下、スタンバイＲＡＭという）と、定期記憶手段と、予備書込実施手段とを設けている。
【００１９】
そして、定期記憶手段は、当該装置の動作期間中において、継続保存対象データを、少なくとも該データが前記書込処理により前記不揮発性メモリに書き込まれるまでの間、定期的にスタンバイＲＡＭに記憶させる。
また、予備書込実施手段は、当該装置が動作電源の投入により動作を開始した際に、前回の動作期間中において前記書込処理により前記不揮発性メモリに書き込まれなかった継続保存対象データを、スタンバイＲＡＭから前記不揮発性メモリに書き込む。
【００２０】
このような請求項２の電子制御装置によれば、第１の効果として、万一、Ｎだけ値が変化した継続保存対象データの不揮発性メモリへの書き込みが完了する前に動作電源が遮断されてしまった場合でも、その継続保存対象データを、次の動作開始時に、スタンバイＲＡＭから不揮発性メモリに書き込んでリカバリーすることができる。
【００２１】
また、第２の効果としては、継続保存対象データが、１回の動作期間中において値が複数回更新されて最大Ｎだけ変化するものである場合（即ち、継続保存対象データの増加又は減少の単位量がＮ未満である場合）には、そのデータの変化分がＮ未満であったとしても、そのデータの最終値（即ち、変化分がＮ未満であったデータ値）を不揮発性メモリに記憶させることができる。
【００２２】
尚、継続保存対象データが、前述したＲａｔｅＢａｓｅモニタ法の分母及び分子のように、１回の動作期間中において値が１回更新されるとＮだけ変化するものである場合（即ち、継続保存対象データの増加又は減少の単位量がＮである場合）には、前記書込処理で不揮発性メモリに書き込まれるデータの値が、常に１回の動作期間中での最終値となるため、上記第１の効果のみ得られることとなる。
【００２３】
次に、請求項３に記載の電子制御装置では、請求項２の電子制御装置に対して、判定手段を設けている。そして、その判定手段は、当該装置が動作電源の投入により動作を開始した際に、スタンバイＲＡＭ内のデータが正常であるか否かを判定し、正常でないと判定した場合には、予備書込実施手段の動作を禁止する。
【００２４】
このような判定手段を備えた請求項３の電子制御装置によれば、バッテリ外れやスタンバイＲＡＭの故障が発生して、スタンバイＲＡＭ内のデータが正常でなくなった場合には、当該装置の動作開始時における予備書込実施手段の動作が禁止されるため、異常なデータ値が不揮発性メモリに記憶されてしまうことを防止することができる。
【００２５】
一方、請求項４に記載の電子制御装置では、請求項１の電子制御装置において、当該電子制御装置には、電源スイッチがオンされている時、又は、当該装置の外部に設けられた給電用スイッチング手段がオンされている時に、動作電源が供給されるようになっていると共に、当該電子制御装置は、電源スイッチのオンに伴い動作すると、給電用スイッチング手段を自らオンさせることで、電源スイッチのオフ後も動作を継続することができるようになっている。
【００２６】
そして更に、この請求項４の電子制御装置は、電源スイッチがオフされた場合には、今回の動作期間中において値がＮだけ変化したものの前記不揮発性メモリに未だ書き込まれていない継続保存対象データがあれば、そのデータを前記不揮発性メモリに書き込んでから、給電用スイッチング手段をオフさせるように構成されている。
【００２７】
このような請求項４の電子制御装置によれば、万一、Ｎだけ値が変化した継続保存対象データの不揮発性メモリへの書き込みが完了する前に電源スイッチがオフされてしまった場合でも、その継続保存対象データを不揮発性メモリに書き込むことができる。
【００２８】
また、請求項５に記載の電子制御装置では、請求項４の装置と同様に、請求項１の電子制御装置において、当該電子制御装置には、電源スイッチがオンされている時、又は、当該装置の外部に設けられた給電用スイッチング手段がオンされている時に、動作電源が供給されるようになっていると共に、当該電子制御装置は、電源スイッチのオンに伴い動作すると、給電用スイッチング手段を自らオンさせることで、電源スイッチのオフ後も動作を継続することができるようになっている。
【００２９】
そして更に、この請求項５の電子制御装置は、電源スイッチがオフされると、今回の動作期間中において前記書込処理により前記不揮発性メモリに未だ書き込まれていない継続保存対象データを、前記不揮発性メモリに書き込み、その後、給電用スイッチング手段をオフさせるように構成されている。
【００３０】
このような請求項５の電子制御装置によれば、第１の効果として、請求項４の装置と同様に、万一、Ｎだけ値が変化した継続保存対象データの不揮発性メモリへの書き込みが完了する前に電源スイッチがオフされてしまった場合でも、その継続保存対象データを不揮発性メモリに書き込むことができる。
【００３１】
また、第２の効果としては、継続保存対象データが、１回の動作期間中において値が複数回更新されて最大Ｎだけ変化するものである場合には、そのデータの変化分がＮ未満であったとしても、そのデータの最終値（即ち、変化分がＮ未満であったデータ値）を不揮発性メモリに記憶させることができる。
【００３２】
尚、継続保存対象データが、前述したＲａｔｅＢａｓｅモニタ法の分母及び分子のように、１回の動作期間中において値が１回更新されるとＮだけ変化するものである場合には、前記書込処理で不揮発性メモリに書き込まれるデータの値が、常に１回の動作期間中での最終値となるため、上記第１の効果のみ得られることとなる。つまり、この請求項５の構成は、継続保存対象データが、１回の動作期間中において値が複数回更新されて最大Ｎだけ変化するものである場合に有効である。
【００３３】
また、請求項４又は請求項５に記載の電子制御装置において、当該装置が自動車のエンジンを制御するものであるならば、電源スイッチは、請求項６に記載の如く、自動車のイグニッションスイッチとすることができる。
ところで、請求項１に記載の電子制御装置の特徴を採用した具体的な装置の構成例としては、請求項７，８に記載の電子制御装置が考えられる。
【００３４】
即ち、請求項７に記載の電子制御装置は、車両に搭載された車載機器を制御するものであり、車両が所定の運転状態となったことを検出する検出手段と、所定の条件が満足された場合に前記車載機器の故障診断を実施する故障診断手段と、記憶内容を電気的に書き換え可能な不揮発性メモリと、当該制御装置の起動から停止までの間に、前記検出手段にて前記所定の運転状態が検出されたときに前記不揮発性メモリに記憶されている運転回数を１回分だけ更新した値に書き換える処理を実行すると共に、前記故障診断手段にて前記故障診断が実施されたときに前記不揮発性メモリに記憶されている故障診断回数を１回分だけ更新した値に書き換える処理を実行する書換え手段と、該書換え手段で前記運転回数又は前記故障診断回数の少なくとも一方の書き換え処理が実行された後は、書き換え処理された前記運転回数又は前記故障診断回数に対し前記書換え手段での書き換え処理が実施されないようにする書き換え処理禁止手段とを備えている。
【００３５】
また、請求項８に記載の電子制御装置では、請求項７の電子制御装置において、故障診断手段により故障診断が実施される診断対象の車載機器は複数あって、しかも前記診断対象に応じて前記所定の条件が異なっており、前記不揮発性メモリに記憶される前記運転回数、並びに、前記故障診断回数は前記診断対象に応じて夫々別々の領域に記憶され、前記書き換え処理禁止手段は前記診断対象の前記運転回数、並びに、前記故障診断回数の書き換え処理が実行された後に、書き換え処理を実施しないようにすることを特徴としている。
【００３６】
そして、このような請求項７，８の電子制御装置によれば、運転回数と故障診断回数との不揮発性メモリへの書き込み回数（書き換え回数）の低減と、それらデータの確実な記憶とを、効率的に両立させることができる。
また、請求項７，８の電子制御装置は、請求項９に記載のように構成することもできる。即ち、請求項９に記載の電子制御装置は、車両外部の診断ツールと接続可能になっており、更に出力手段を備えている。そして、その出力手段は、前記診断ツールからの前記運転回数、前記故障診断回数の出力要求があった場合には、前記不揮発性メモリに記憶されている前記運転回数、前記故障診断回数を前記診断ツールに対して出力する。そして、このような電子制御装置によれば、不揮発性メモリに記憶されている運転回数と故障診断回数を外部の診断ツールによって読み出すことができる。
【００３７】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を用いて説明する。
まず図１は、自動車に搭載されて内燃機関型エンジンの制御を行う、第１実施形態の電子制御装置（以下、ＥＣＵという）１の構成を表すブロック図である。
【００３８】
図１に示すように、ＥＣＵ１は、エンジンの運転状態やエンジンの周辺機器の状態を検出するための様々なセンサ３からの信号を入力して波形処理する入力処理回路５と、入力処理回路５からのセンサ信号等に基づき、エンジン制御や故障診断等に関する様々な処理を行うマイクロコンピュータ（以下、マイコンという）７と、マイコン７と通信ライン９を介して接続され、そのマイコン７にて算出されるデータのうちで、当該ＥＣＵ１への動作電源の供給が停止されても継続して保存すべきデータ（継続保存対象データ）が記憶される書き換え可能不揮発性メモリとしてのＥＥＰＲＯＭ１１と、マイコン７からの制御信号に応じて、エンジンに取付けられた燃料噴射装置（インジェクタ）や点火装置（イグナイタ）等のアクチュエータ１３を駆動する出力回路１５と、自動車のイグニッションスイッチ１７のオンに伴い供給されるバッテリ１９からの動作電源としての電圧（以下、動作電源電圧ともいう）ＶＤを受けて、マイコン７を始めとする当該ＥＣＵ１内の各部に動作用の電源電圧（例えば５Ｖ）Ｖｍを供給すると共に、バッテリ１９から常時供給される電圧ＶＢから、マイコン７内の後述するスタンバイＲＡＭ２９が常時データを保持するための副電源電圧Ｖｓを生成して出力する電源回路２１とを備えている。
【００３９】
尚、電源回路２１は、イグニッションスイッチ１７がオンされて上記電源電圧Ｖｍの供給を開始してから、その電源電圧Ｖｍが安定すると見なされる所定時間だけマイコン７へリセット信号を出力する、所謂パワーオンリセット機能も有している。
【００４０】
そして、マイコン７は、プログラムを実行する周知のＣＰＵ（中央演算処理装置）２３と、ＣＰＵ２３によって実行されるプログラム（詳しくは、そのプログラムを構成する命令コードやそのプログラムの実行時に参照される固定のデータ）を記憶する不揮発性のＲＯＭ２５と、ＣＰＵ２３による演算結果等を一時的に記憶するための揮発性のＲＡＭ２７と、電源回路２１からの副電源電圧Ｖｓを受けて常時データを保持可能なスタンバイＲＡＭ（バッテリバックアップされたＲＡＭであり、以下、ＳＲＡＭと記す）２９と、入力処理回路５，ＥＥＰＲＯＭ１１，及び出力回路１５等との間で信号やデータをやり取りするためのＩ／Ｏ３１とを備えている。尚、以下の説明において、バッテリバックアップされていない通常のＲＡＭ２７は、ＳＲＡＭ２９との区別を明確にするために、ＮＲＡＭ（ノーマルＲＡＭ）２７と呼ぶ。
【００４１】
以上のような構成のＥＣＵ１は、イグニッションスイッチ１７がオンされている間、バッテリ１９からの電圧ＶＤを受けて動作する。
そして、ＥＣＵ１では、イグニッションスイッチ１７がオンされて、電源回路２１からマイコン７へのリセット信号が解除されると、マイコン７が初期状態から動作を開始して、後述するイニシャル処理を行った後、エンジンを制御するための制御処理を行う。尚、マイコン７の動作は、ＣＰＵ２３がＲＯＭ２５内のプログラムを実行することによるものである。
【００４２】
また、マイコン７は、前述したＣＡＲＢ・ＯＢＤ２のＲａｔｅＢａｓｅモニタ法で定められている故障診断対象項目の各々（触媒コンバータ，フューエルエバポレーションシステム，酸素センサ等）について、その項目の故障診断実施条件が成立したか否かを例えば定期的に判定すると共に、故障診断実施条件が成立した場合には、該当する項目についての故障診断処理を実施して正常又は異常の判定を行う、といった故障診断手段としての処理を実行する。そして更に、マイコン７は、上記各故障診断対象項目について、前述したモニタ頻度を表す分子（故障診断回数としてのモニタリング実施回数）と分母（運転回数）のデータを、ＥＥＰＲＯＭ１１を使用して継続的に保存及び更新していくようにしている。
【００４３】
また更に、ＥＣＵ１には、車両外部の診断ツール３３がダイアグコネクタ３５を介して接続可能となっている。そして、ＥＣＵ１は、診断ツール３３からの故障診断に関する出力要求に応じて、その要求に応じた内容のデータを出力するようになっており、上記故障診断モニタ頻度に関わる情報の出力要求あった際に、ＥＥＰＲＯＭ１１に記憶されている分子と分母のデータを出力する。尚、診断ツール３３からの出力要求に応じてＥＥＰＲＯＭ１１内の分子と分母のデータを診断ツール３３へ出力する処理は、マイコン７が実行しており、本実施形態では、その処理が出力手段としての処理に相当している。また、図１において、符号３７は、マイコン７が診断ツール３３と通信を行うための通信回路である。
【００４４】
そこで次に、ＥＣＵ１のマイコン７が、各故障診断対象項目についてのモニタ頻度の分子と分母のデータを継続して保存及び更新していくために実行する処理の内容について、図２〜図５を用いて説明する。
まず、図２に示すように、本実施形態では、各故障診断対象項目についてのモニタ頻度の分子と分母の各々である継続保存対象データ（即ち、ＥＥＰＲＯＭ１１に記憶すべきデータの各々）に対して、０番から順に番号を付けている。例えば、０番目のデータは、フューエルエバポレーションシステム（以下単に、エバポという）についてのモニタ頻度の分子であり、１番目のデータは、エバポについてのモニタ頻度の分母であり、２番目のデータは、触媒コンバータ（以下単に、触媒という）についてのモニタ頻度の分子であり、３番目のデータは、触媒についてのモニタ頻度の分母であり、４番目のデータは、酸素センサについてのモニタ頻度の分子であり、５番目のデータは、酸素センサについてのモニタ頻度の分母である。そして、ＥＥＰＲＯＭ１１には、各診断対象毎に分子と分母とを記憶するための領域が夫々設定されており、上記各診断対象についての分子と分母の各データは、ＥＥＰＲＯＭ１１内において、そのデータが該当する診断対象用の領域に夫々記憶される。
【００４５】
また、図２に示すように、ＳＲＡＭ２９内には、各継続保存対象データについて、そのデータのＥＥＰＲＯＭ１１への書き込みが完了したか否かを示す書込完了フラグＸ［ｉ］が設けられている。また更に、ＮＲＡＭ２７内には、各継続保存対象データについて、そのデータのインクリメントが実施されたか否かを示すインクリメント終了フラグＦ［ｉ］が設けられている。尚、［］内のｉは、そのフラグが対応している継続保存対象データの番号であり、継続保存対象データの総数をｎとすると、０〜「ｎ−１」の何れかである。
【００４６】
そして、マイコン７は、図３に示すように、各継続保存対象データについて、そのデータのインクリメント条件が成立すると（Ｓ９１：ＹＥＳ）、そのデータをＮＲＡＭ２７上で１インクリメントして（Ｓ９３）、そのデータに対応するインクリメント終了フラグＦ［ｉ］をオンする（Ｓ９５）。
【００４７】
尚、既述したように、分母のデータについては、該当する故障診断対象項目について法規で定められている所定の走行条件が満たされたこと（換言すれば、車両が、その故障診断対象項目について法規で定められている所定の運転状態となったこと）を、検出手段としての処理によって検出したときに、インクリメント条件が成立したと判定する。また、分子のデータについては、該当する故障診断対象項目について、前述した故障診断手段としての処理により、自動車メーカで定められた所定の故障診断実施条件が満たされたと判定されて故障診断が実施され正常又は異常の判定が終了した時点で、インクリメント条件が成立したと判定する。一方、ＮＲＡＭ２７内の全てのインクリメント終了フラグＦ［ｉ］は、マイコン７が動作開始時に行うイニシャル処理でのＮＲＡＭ２７に対する初期化（後述する図５のＳ２０５）により、予めオフ側にクリアされている。
【００４８】
次に、図４は、マイコン７が一定時間毎（例えば６４ｍｓ毎）に実行する定期処理を表すフローチャートである。
マイコン７が図４の定期処理を開始すると、まずＳ１１０にて、継続保存対象データの番号を示す変数ｉを０に設定し、続くＳ１２０にて、変数ｉの値が継続保存対象データの総数（データ数）ｎよりも小さいか否かを判定する。尚、変数ｉは、ＮＲＡＭ２７内のデータである。
【００４９】
そして、変数ｉの値がデータ数ｎよりも小さいと判定した場合には（Ｓ１２０：ＹＥＳ）、Ｓ１３０に進んで、ｉ番目の継続保存対象データ（即ち、番号が変数ｉの値である継続保存対象データ）についてのＳＲＡＭ２９内の書込完了フラグＸ［ｉ］がオンされているか否かを判定し、書込完了フラグＸ［ｉ］が既にオンされていたならば（Ｓ１３０：ＹＥＳ）、Ｓ１４０に移行して、変数ｉの値を１インクリメントした後、Ｓ１２０に戻る。
【００５０】
また、上記Ｓ１３０にて、書込完了フラグＸ［ｉ］がオンされていないと判定した場合には（Ｓ１３０：ＮＯ）、Ｓ１５０に移行して、ＮＲＡＭ２７上で処理されている各継続保存対象データのうち、ｉ番目の継続保存対象データをＮＲＡＭ２７からＳＲＡＭ２９に記憶（コピー）する。
【００５１】
そして、続くＳ１６０にて、ｉ番目の継続保存対象データのインクリメントが終了しているか否か（即ち、その継続保存対象データの値が、１回の動作期間中における最大変化量Ｎである１だけ変化したか否か）を、そのデータに対応するインクリメント終了フラグＦ［ｉ］がオンされているか否かで判定し、ｉ番目の継続保存対象データのインクリメントが終了していない（即ち、インクリメント終了フラグＦ［ｉ］がオンされていない）と判定したならば（Ｓ１６０：ＮＯ）、上記Ｓ１４０に移行して、変数ｉの値を１インクリメントした後、Ｓ１２０に戻る。
【００５２】
また、上記Ｓ１６０にて、ｉ番目の継続保存対象データのインクリメントが終了していると判定した場合には（Ｓ１６０：ＹＥＳ）、Ｓ１７０に進んで、そのｉ番目の継続保存対象データをＮＲＡＭ２７からＥＥＰＲＯＭ１１に記憶（コピー）する。すると、そのｉ番目の継続保存対象データのＥＥＰＲＯＭ１１内での記憶値は、１回分だけ更新した値（即ち１だけ増加した値）に書き換えられることとなる。つまり、このＳ１７０の処理により、何れかの継続保存対象データのインクリメント条件が成立したときに、その継続保存対象データのＥＥＰＲＯＭ１１内での記憶値が、１回分だけ更新した値に書き換えられることとなる。
【００５３】
そして、次のＳ１８０にて、そのｉ番目の継続保存対象データについてのＳＲＡＭ２９内の書込完了フラグＸ［ｉ］をオンし、その後、上記Ｓ１４０に移行して、変数ｉの値を１インクリメントした後、Ｓ１２０に戻る。尚、ＳＲＡＭ２９内の全ての書込完了フラグＸ［ｉ］は、マイコン７が動作開始時に行うイニシャル処理中（後述する図５のＳ２８０）で予めオフ側にクリアされている。
【００５４】
一方、上記Ｓ１２０にて、変数ｉの値がデータ数ｎよりも小さくない（即ち、ｉ≧ｎである）と判定した場合には（Ｓ１２０：ＮＯ）、当該定期処理を終了する。
つまり、図４の定期処理では、Ｓ１１０〜Ｓ１４０の処理により、全ての継続保存対象データについての書込完了フラグＸ［ｉ］をチェックすることで、本ＥＣＵ１の今回の動作期間中においてＮＲＡＭ２７からＥＥＰＲＯＭ１１に未だ書き込まれていない継続保存対象データを探し出している。そして、ＥＥＰＲＯＭ１１に未だ書き込まれていないＮＲＡＭ２７上の継続保存対象データ（即ち、書込完了フラグＸ［ｉ］が未だオフである継続保存対象データ）があれば（Ｓ１３０：ＮＯ）、そのデータをＮＲＡＭ２７からＳＲＡＭ２９にコピーしておき（Ｓ１５０）、更に、そのデータが他の処理でインクリメントされているならば（Ｓ１６０：ＹＥＳ）、そのデータをＮＲＡＭ２７からＥＥＰＲＯＭ１１にコピーすると共に（Ｓ１７０）、そのデータについての書込完了フラグＸ［ｉ］をオンして（Ｓ１８０）、以後、今回の動作期間中では、そのデータのＳＲＡＭ２７及びＥＥＰＲＯＭ１１への書き込み（Ｓ１５０，Ｓ１７０）を実施しないようにしている。
【００５５】
次に、図５は、マイコン７がイグニッションスイッチ１７のオンに伴い動作を開始した際に実行するイニシャル処理を表すフローチャートである。
図５に示すように、マイコン７がイニシャル処理の実行を開始すると、まずＳ２０５にて、ＮＲＡＭ２７内のデータを初期化し、続くＳ２１０にて、ＳＲＡＭ２９内のデータが正常であるか否かを判定する。尚、このＳ２１０では、バッテリ外れ（バッテリ１９が外されたこと）の履歴があるか否かを判定すると共に、ＳＲＡＭ２９内のデータ自体をパリティチェック等の方法で検査して、バッテリ外れの履歴が無く且つデータ自体も正常であったならば、ＳＲＡＭ２９内のデータは正常であると判定する。
【００５６】
そして、ＳＲＡＭ２９内のデータが正常であると判定した場合には（Ｓ２１０：ＹＥＳ）、Ｓ２２０に進んで、継続保存対象データの番号を示す変数ｉを０に設定し、続くＳ２３０にて、変数ｉの値が継続保存対象データの総数（データ数）ｎよりも小さいか否かを判定する。
【００５７】
ここで、変数ｉの値がデータ数ｎよりも小さいと判定した場合には（Ｓ２３０：ＹＥＳ）、Ｓ２４０に進んで、ｉ番目の継続保存対象データについてのＳＲＡＭ２９内の書込完了フラグＸ［ｉ］がオンされているか否かを判定し、書込完了フラグＸ［ｉ］がオンされていたならば（Ｓ２４０：ＹＥＳ）、Ｓ２５０に移行して、変数ｉの値を１インクリメントした後、Ｓ２３０に戻る。
【００５８】
また、上記Ｓ２４０にて、書込完了フラグＸ［ｉ］がオンされていないと判定した場合には（Ｓ２４０：ＮＯ）、Ｓ２６０に移行して、ｉ番目の継続保存対象データのＳＲＡＭ値（即ち、図４のＳ１５０でＳＲＡＭ２９に記憶されているｉ番目の継続保存対象データの値）をＥＥＰＲＯＭ１１に記憶（コピー）する。そして、その後、上記Ｓ２５０に移行して、変数ｉの値を１インクリメントした後、Ｓ２３０に戻る。
【００５９】
また、上記Ｓ２３０にて、変数ｉの値がデータ数ｎよりも小さくない（即ち、ｉ≧ｎである）と判定した場合には（Ｓ２３０：ＮＯ）、Ｓ２８０に移行して、ＳＲＡＭ２９内の全ての書込完了フラグＸ［ｉ］をオフ側にクリアする。そして、続くＳ２９０にて、ＳＲＡＭ２９に記憶されている全ての（即ちｎ個の）継続保存対象データをＮＲＡＭ２７にコピーし、その後、エンジン制御処理や図４の定期処理といった各種処理の実行へ移る。
【００６０】
一方、上記Ｓ２１０にて、ＳＲＡＭ２９内のデータが正常ではないと判定した場合には（Ｓ２１０：ＮＯ）、Ｓ２７０に移行して、ＥＥＰＲＯＭ１１に書き込まれている全ての（ｎ個の）継続保存対象データをＳＲＡＭ２９にコピーし、その後、上記Ｓ２８０及びＳ２９０の処理を行う。
【００６１】
つまり、このイニシャル処理では、ＳＲＡＭ２９内のデータが正常であれば（Ｓ２１０：ＹＥＳ）、Ｓ２２０〜Ｓ２５０の処理により、全ての継続保存対象データについての書込完了フラグＸ［ｉ］をチェックすることで、本ＥＣＵ１の前回の動作期間中においてＮＲＡＭ２７からＥＥＰＲＯＭ１１に書き込まれなかった継続保存対象データを探し出している。そして、ＥＥＰＲＯＭ１１に書き込まれなかった継続保存対象データがあれば（Ｓ２４０：ＮＯ）、そのデータをＳＲＡＭ２９から読み出してＥＥＰＲＯＭ１１にコピーしている（Ｓ２６０）。
【００６２】
そして更に、ＳＲＡＭ２９内のデータが正常であれば（Ｓ２１０：ＹＥＳ）、そのＳＲＡＭ２９には、図４のＳ１５０の処理により、前回動作までの継続保存対象データの最終値が記憶されているため、Ｓ２９０の処理により、そのＳＲＡＭ２９内の全ての継続保存対象データを、インクリメント処理の作業エリアであるＮＲＡＭ２７にコピーして、その各継続保存対象データが前回動作時までの値を継承しつつ更新され得るようにしている。
【００６３】
また、ＥＥＰＲＯＭ１１にも、図４のＳ１７０の処理（或いは更に前回動作までの図５のＳ２６０の処理）により、前回動作までの継続保存対象データの最終値が記憶されているため、ＳＲＡＭ２９内のデータが正常でなければ（Ｓ２１０：ＮＯ）、ＥＥＰＲＯＭ１１内の全ての継続保存対象データをＳＲＡＭ２９にコピーしてから（Ｓ２７０）、Ｓ２９０の処理を行っている。このため、バッテリ外れ等によってＳＲＡＭ２９内のデータが異常になっても、ＥＥＰＲＯＭ１１に記憶されていた前回動作までの継続保存対象データがＮＲＡＭ２７にコピーされ、これにより、各継続保存対象データが前回動作時までの値を継承しつつ更新されていくこととなる。
【００６４】
以上のような本第１実施形態のＥＣＵ１では、マイコン７が図４の定期処理を実行することにより、本ＥＣＵ１の１回の動作期間中において、何れかの継続保存対象データが１だけインクリメントされた際に（Ｓ１６０：ＹＥＳ）、その１インクリメントされたデータをＥＥＰＲＯＭ１１に書き込む書込処理（Ｓ１７０）を実施し、更に、そのデータについての書込完了フラグＸ［ｉ］をオンすることで（Ｓ１８０）、以後その動作期間中では、そのデータをＥＥＰＲＯＭ１１に書き込むための処理は実施しないようにしている（Ｓ１３０：ＹＥＳ→Ｓ１４０）。
【００６５】
よって、このような本第１実施形態のＥＣＵ１によれば、継続保存対象データのＥＥＰＲＯＭ１１への書き込み回数を抑えることができると共に、その継続保存対象データ（詳しくは、１インクリメントされて、その回の動作期間での最終値に達した継続保存対象データ）のＥＥＰＲＯＭ１１への書き込みを、基本的に動作期間を跨ぐことなく且つ動作電源電圧ＶＤが安定している本来の今回動作期間中（即ち、イグニッションスイッチ１７がオンされている最中）に実施することができる。しかも、継続保存対象データのＥＥＰＲＯＭ１１への書き込みが終わると、その回の動作では、そのデータについて、もはやＥＥＰＲＯＭ１１への書き込みに関する無駄な処理が行われることはない。このため、ＥＥＰＲＯＭ１１へのデータ書き込み回数の低減と、データの確実な記憶とを、効率的に両立させることができる。
【００６６】
また、本第１実施形態のＥＣＵ１では、マイコン７が図４の定期処理を実行することにより、本ＥＣＵ１の１回の動作期間中において、各継続保存対象データを、そのデータがＳ１７０の書込処理によりＥＥＰＲＯＭ１１に書き込まれるまでの間、定期的にＳＲＡＭ２９に記憶させるようにしている（Ｓ１１０〜Ｓ１５０）。そして、マイコン７が図５のイニシャル処理を実行することにより、本ＥＣＵ１が動作電源ＶＤの投入により動作を開始した際に、前回の動作期間中において図４のＳ１７０によりＥＥＰＲＯＭ１１に書き込まれなかった継続保存対象データを特定し（Ｓ２２０〜Ｓ２５０）、その特定したデータをＳＲＡＭ２９からＥＥＰＲＯＭ１１に書き込むようにしている（Ｓ２４０：ＮＯ→Ｓ２６０）。
【００６７】
このため、万一、１インクリメントされた継続保存対象データのＮＲＡＭ２７からＥＥＰＲＯＭ１１への書き込みが完了する前に動作電源ＶＤが遮断されてしまった場合でも、その継続保存対象データを、次の動作開始時に、ＳＲＡＭ２９からＥＥＰＲＯＭ１１に書き込んでリカバリーすることができる。
【００６８】
尚、Ｓ２２０〜Ｓ２６０の処理によってＳＲＡＭ２９からＥＥＰＲＯＭ１１に書き込まれるデータについては、そのデータの最終値がＥＣＵ１の動作停止中においてＳＲＡＭ２９内だけに保存されることとなる可能性があり、上記説明で「基本的に動作期間を跨ぐことなく」と記載したのはそのためである。但し、そのような可能性は、ＮＲＡＭ２７上で１インクリメントされたが図４のＳ１７０でそのデータがＥＥＰＲＯＭ１１に書き込まれる前に動作電源ＶＤが遮断されてしまった、という希な状況が発生した場合に限ったものであり、Ｓ２２０〜Ｓ２６０の処理は、そのような非常に希なケースに対する保険である。
【００６９】
一方、本実施形態では、継続保存対象データの単位変化量（具体的には１）が、１回の動作期間中における最大変化量Ｎ（具体的には１）と同じであるため特に関係は無いが、仮に、継続保存対象データが、１回の動作期間中において値が複数回更新されて最大Ｎだけ変化するものである場合（即ち、継続保存対象データの単位変化量がＮ未満である場合）、図４のＳ１６０では、継続保存対象データの値がＮだけ変化したか否かを判定することとなる。そして、この場合には、１回の動作期間中における継続保存対象データの変化分がＮ未満であったとしても、図４のＳ１１０〜Ｓ１５０及び図５のＳ２２０〜Ｓ２６０の処理により、そのデータの最終値（即ち、変化分がＮ未満であったデータ値）をＥＥＰＲＯＭ１１に記憶させることができるようになる。
【００７０】
また、本第１実施形態のＥＣＵ１では、マイコン７が図５のイニシャル処理を実行することにより、本ＥＣＵ１が動作電源ＶＤの投入により動作を開始した際に、ＳＲＡＭ２９内のデータが正常であるか否かを判定し（Ｓ２１０）、正常でないと判定した場合には、ＳＲＡＭ２９からＥＥＰＲＯＭ１１へデータを書き込むＳ２６０の処理が実施されるのを禁止している（Ｓ２１０：ＮＯ）。
【００７１】
このため、バッテリ外れ等が発生して、ＳＲＡＭ１９内のデータが正常でなくなった場合に、異常なデータ値がＥＥＰＲＯＭ１１に記憶されてしまうことを防止することができる。
尚、本第１実施形態では、図４のＳ１１０〜Ｓ１５０が、定期記憶手段としての処理に相当し、図５のＳ２２０〜Ｓ２６０が、予備書込実施手段としての処理に相当している。そして、図５のＳ２１０が、判定手段としての処理に相当している。また、図４のＳ１７０が、書換え手段としての処理に相当し、図４のＳ１３０及びＳ１８０が、書き換え処理禁止手段としての処理に相当している。
【００７２】
次に、第２実施形態のＥＣＵについて説明する。
まず図６は、第２実施形態のＥＣＵ４１の構成を表すブロック図である。尚、本第２実施形態のＥＣＵ４１も、自動車のエンジンを制御するものである。そして、図６において、第１実施形態のＥＣＵ１（図１）と同じ構成要素については、同一の符号を付しているため、詳細な説明を省略する。
【００７３】
図６に示すように、第２実施形態のＥＣＵ４１は、第１実施形態のＥＣＵ１と比較すると、下記の（１）〜（５）の点が異なっている。
（１）バッテリ１９からの動作電源電圧ＶＤが、イグニッションスイッチ１７を介してではなく、本ＥＣＵ４１の外部に設けられた給電用スイッチング手段としてのメインリレー４３を介して供給されるようになっている。つまり、メインリレー４３がオンする（詳しくは、メインリレー４３の接点が短絡する）と、バッテリ１９から電源回路２１へ動作電源電圧ＶＤが供給されて、マイコン７を始めとする当該ＥＣＵ４１内の各部に電源電圧Ｖｍが供給される。
【００７４】
（２）ＥＣＵ４１には、上記メインリレー４３をオン／オフさせるためのメインリレー制御回路４５が設けられている。
このメインリレー制御回路４５は、イグニッションスイッチ１７を介してＥＣＵ４１に入力されるバッテリ１９からの電圧ＶＧと、マイコン７からの駆動信号Ｓｄとが、ダイオード等によりワイヤードオアされてベースに供給されるＮＰＮトランジスタ４７を主要部として構成されている。そして、一端がバッテリ１９のプラス端子に接続されたメインリレー４３のコイルＬの他端に、上記ＮＰＮトランジスタ４７のコレクタが接続されている。
【００７５】
このため、メインリレー制御回路４５では、イグニッションスイッチ１７がオンされるか、マイコン７から駆動信号Ｓｄが出力されると、トランジスタ４７がオンして、そのトランジスタ４７がメインリレー４３のコイルＬから電流を引き込むこととなり、それに伴いメインリレー４３がオンすることとなる。
【００７６】
よって、ＥＣＵ４１には、イグニッションスイッチ１７がオンされている時、又は、マイコン７からの駆動信号Ｓｄによってメインリレー４３がオンされている時に、動作電源ＶＤが供給されることとなる。このため、本ＥＣＵ４１は、イグニッションスイッチ１７のオンに伴い動作すると、メインリレー４３を自らオンさせることで、イグニッションスイッチ１７のオフ後も動作を継続することができる。
【００７７】
尚、メインリレー制御回路４５のトランジスタ４７がマイコン７からの駆動信号Ｓｄだけで駆動されると共に、イグニッションスイッチ１７を介して入力されるバッテリ１９からの電圧ＶＧと、メインリレー４３を介して入力されるバッテリ１９からの電圧ＶＤとがワイヤードオアされて、そのワイヤードオアされた電圧が、ＥＣＵ４１の動作電源となるように構成しても良い。
【００７８】
（３）本第２実施形態では、継続保存対象データを継続的に更新していくために、ＳＲＡＭ２９を用いていない。そして、各継続保存対象データについての書込完了フラグＸ［ｉ］は、インクリメント終了フラグＦ［ｉ］と同様に、ＮＲＡＭ２７内に設定されている。尚、このため、図６ではマイコン７内にＳＲＡＭ２９を記載しているが、そのＳＲＡＭ２９と、電源回路２１が副電源電圧Ｖｓを出力する機能とは削除しても良い。
【００７９】
（４）マイコン７は、イグニッションスイッチ１７のオンに伴い動作を開始した際に、図５のイニシャル処理に代えて、図７のイニシャル処理を実行する。
そして、図７に示すように、マイコン７がイニシャル処理の実行を開始すると、まずＳ３１０にて、メインリレー制御回路４５へ駆動信号Ｓｄを出力して、メインリレー４３をオンさせる。但し、この時点で、メインリレー４３は、イグニッションスイッチ１７のオンによって既にオンしている。そして、このようにマイコン７から駆動信号Ｓｄが出力されることで、その後にイグニッションスイッチ１７がオフされても、メインリレー４３はオンしたままとなる。
【００８０】
次に、Ｓ３２０にて、ＮＲＡＭ２７内のデータを初期化する。尚、この初期化により、全ての書込完了フラグＸ［ｉ］とインクリメント終了フラグＦ［ｉ］とがオフ側にクリアされる。
そして、続くＳ３３０にて、ＥＥＰＲＯＭ１１に書き込まれている全ての（ｎ個の）継続保存対象データをＮＲＡＭ２７にコピーすることで、その各継続保存対象データが前回動作時までの値を継承しつつ更新され得るようにし、その後、エンジン制御処理等の各種処理の実行へ移る。
【００８１】
（５）マイコン７は、一定時間毎に、図４の定期処理に代えて、図８の定期処理を実行する。尚、図８において、図４の定期処理と同じ内容の処理については、図４と同じステップ番号を付しているため、詳細な説明は省略する。
そして、図８に示すように、本第２実施形態の定期処理では、第１実施形態の定期処理（図４）に対して、以下の（５−１）〜（５−３）の点が異なっている。
【００８２】
（５−１）上記（３）から明らかであるが、Ｓ１３０では、ｉ番目の継続保存対象データについてのＮＲＡＭ２７内の書込完了フラグＸ［ｉ］がオンされているか否かを判定し、また、Ｓ１８０では、ｉ番目の継続保存対象データについてのＮＲＡＭ２７内の書込完了フラグＸ［ｉ］をオンする。
【００８３】
（５−２）Ｓ１５０の処理が削除されている。
（５−３）Ｓ１２０にて、変数ｉの値がデータ数ｎよりも小さくないと判定した場合には（Ｓ１２０：ＮＯ）、そのまま当該定期処理を終了するのではなく、Ｓ１８５に移行して、イグニッションスイッチ１７がオフされているか否かを判定する。尚、イグニッションスイッチ１７のオン／オフは、上記電圧ＶＧから判定する。
【００８４】
そして、イグニッションスイッチ１７がオフされていなければ（Ｓ１８５：ＮＯ）、そのまま当該定期処理を終了するが、イグニッションスイッチ１７がオフされていたならば（Ｓ１８５：ＹＥＳ）、Ｓ１９０に進んで、メインリレー制御回路４５への駆動信号Ｓｄの出力を停止して、メインリレー４３をオフさせる。
【００８５】
すると、メインリレー４３からの動作電源ＶＤが遮断され、本ＥＣＵ４１の動作が停止することとなる。
以上のような本第２実施形態のＥＣＵ４１においても、マイコン７が図８の定期処理を実行することにより、１回の動作期間中において、何れかの継続保存対象データが１だけインクリメントされた際に（Ｓ１６０：ＹＥＳ）、その１インクリメントされたデータをＥＥＰＲＯＭ１１に書き込む書込処理（Ｓ１７０）を実施し、更に、そのデータについての書込完了フラグＸ［ｉ］をオンすることで（Ｓ１８０）、以後その動作期間中では、そのデータをＥＥＰＲＯＭ１１に書き込むための処理は実施しないようにしている（Ｓ１３０：ＹＥＳ→Ｓ１４０）。よって、第１実施形態のＥＣＵ１と同様に、ＥＥＰＲＯＭ１１へのデータ書き込み回数の低減と、データの確実な記憶とを、効率的に両立させることができる。
【００８６】
そして更に、本第２実施形態のＥＣＵ４１においては、図８の定期処理におけるＳ１２０で否定判定した時点（即ち、ＮＲＡＭ２７上で１インクリメントされた継続保存対象データをＥＥＰＲＯＭ１１に書き込む処理が全て完了した時点）で、イグニッションスイッチ１７がオフされていると判定したならば、メインリレー４３をオフさせるようにしている（Ｓ１８５：ＹＥＳ→Ｓ１９０）。このため、イグニッションスイッチ１７がオフされた場合に、今回の動作期間中において１インクリメントされた（値がＮ＝１だけ変化した）もののＥＥＰＲＯＭ１１に未だ書き込まれていない継続保存対象データがあれば、そのデータを図８のＳ１７０の処理でＥＥＰＲＯＭ１１に全て書き込んでから、メインリレー４３をオフさせることとなる。
【００８７】
よって、万一、１インクリメントされた継続保存対象データのＥＥＰＲＯＭ１１への書き込みが完了する前に（例えばＳ１７０の処理中に）イグニッションスイッチ１７がオフされた場合でも、その継続保存対象データをＥＥＰＲＯＭ１１に書き込むことができる。つまり、本第２実施形態においても、基本的には、継続保存対象データのＥＥＰＲＯＭ１１への書き込みを、動作電源電圧ＶＤが安定しているイグニッションスイッチ１７のオン中に実施するのであるが、ある継続保存対象データがＮＲＡＭ２７上で１インクリメントされたがＥＥＰＲＯＭ１１に書き込まれる前にイグニッションスイッチ１７がオフされてしまった、という希な場合にだけ、イグニッションスイッチ１７がオフされた後もメインリレー４３を継続してオンさせて、そのデータのＥＥＰＲＯＭ１１への書き込みを完了するようにしている。
【００８８】
ところで、継続保存対象データが、ＥＣＵの１回の動作期間中において、例えば、０．５ずつ増加されて最大で３だけ大きくなるとか、１ずつ減少されて最大で５だけ小さくなるといった具合に、１回の動作期間中に値が複数回更新されて最大でＮだけ変化するものである場合には、図８の定期処理を図９のように変形すれば良い。
【００８９】
即ち、図９の定期処理では、まず、Ｓ１６０にて、ｉ番目の継続保存対象データの値がＮ（＝１回の動作期間中における最大変化量）だけ変化したか否かを判定するようになっている。
次に、Ｓ１３０とＳ１６０との間にＳ１９５が追加されている。そして、Ｓ１３０で書込完了フラグＸ［ｉ］がオンされていないと否定判定した場合に、このＳ１９５に移行して、イグニッションスイッチ１７がオフされているか否かを判定し、オフされていなければＳ１６０に進むが、オフされていたならば、Ｓ１６０をスキップしてＳ１７０へ移行するようになっている。尚、Ｓ１９５とＳ１８５とでは、同じ回の当該定期処理で判定結果が相違しないように、イグニッションスイッチ１７のオン／オフ検出結果を示す同じ内部データを参照するようにしておく。
【００９０】
そして、このような図９の定期処理を実行するように構成すれば、今回の動作期間中においてＥＥＰＲＯＭ１１に未だ書き込まれていない継続保存対象データがある時にイグニッションスイッチ１７がオフされると、Ｓ１９５で肯定判定されて、Ｓ１６０の判定処理がスキップされることとなる。このため、イグニッションスイッチ１７がオフされると、今回の動作期間中においてＥＥＰＲＯＭ１１に未だ書き込まれていない継続保存対象データが、ＮＲＡＭ２７上でＮだけ変化されたか否かに関わらずＥＥＰＲＯＭ１１に書き込まれることとなり、その後、Ｓ１９０の処理により、メインリレー４３がオフされることとなる。
【００９１】
よって、図９の定期処理を実行するように構成すれば、継続保存対象データの今回の動作期間中における変化分がＮ未満であったとしても、そのデータの最終値をＥＥＰＲＯＭ１１に記憶させることができる。また、第２実施形態と同様に、万一、Ｎだけ値が変化した継続保存対象データのＥＥＰＲＯＭ１１への書き込みが完了する前にイグニッションスイッチ１７がオフされてしまった場合でも、その継続保存対象データをＥＥＰＲＯＭ１１に書き込むことができる。
【００９２】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、第１実施形態の定期処理（図４）において、Ｓ１５０を設ける代わりに、Ｓ１１０の前に、全ての継続保存対象データをＮＲＡＭ２７からＳＲＡＭ２９にコピーする処理ステップを設けても良い。そして、この場合には、その処理ステップが定期記憶手段に相当することとなり、各継続保存対象データは、ＥＥＰＲＯＭ１１に書き込まれたか否かに関わらず、定期的にＳＲＡＭ２９に記憶されることとなる。
【００９３】
また、上記各実施形態及びその変形例では、１つの定期処理にて、各継続保存対象データをＥＥＰＲＯＭ１１に書き込むべきか否かの判定処理（Ｓ１６０）と、そのデータのＥＥＰＲＯＭ１１への書き込み処理（Ｓ１７０）とを実施したが、それらの処理は、各継続保存対象データの値をＮＲＡＭ２７上で更新するルーチン毎に関数コールやサブルーチン形式等で実施するようにしても良い。
【００９４】
一方、継続保存対象データを保存するための書き換え可能不揮発性メモリとしては、ＥＥＰＲＯＭに限らず、例えばフラッシュＲＯＭを用いても良い。
また、継続保存対象データは、１ずつ増加されるものに限らず、ある単位変化量ずつ増加又は減少されていくものであれば良く、また、その単位変化量も常に同じ値である必要はない。
【図面の簡単な説明】
【図１】第１実施形態の電子制御装置（ＥＣＵ）の構成を表すブロック図である。
【図２】ＥＥＰＲＯＭに記憶される継続保存対象データと、書込完了フラグ及びインクリメント終了フラグとを説明する説明図である。
【図３】ＥＣＵのマイコンが継続保存対象データをＲＡＭ上でインクリメントする際の処理を表すフローチャートである。
【図４】第１実施形態の定期処理を表すフローチャートである。
【図５】第１実施形態のイニシャル処理を表すフローチャートである。
【図６】第２実施形態の電子制御装置（ＥＣＵ）の構成を表すブロック図である。
【図７】第２実施形態のイニシャル処理を表すフローチャートである。
【図８】第２実施形態の定期処理を表すフローチャートである。
【図９】第２実施形態の変形例の定期処理を表すフローチャートである。
【符号の説明】
１，４１…電子制御装置（ＥＣＵ）、３…センサ、５…入力処理回路、７…マイコン、９…通信ライン、１１…ＥＥＰＲＯＭ、１３…アクチュエータ、１５…出力回路、１７…イグニッションスイッチ、１９…バッテリ、２１…電源回路、２３…ＣＰＵ、２５…ＲＯＭ、２７…ノーマルＲＡＭ（ＮＲＡＭ）、２９…スタンバイＲＡＭ（ＳＲＡＭ）、３１…Ｉ／Ｏ、３３…診断ツール、４３…メインリレー、４５…メインリレー制御回路、４７…ＮＰＮトランジスタ、Ｌ…コイル
【図１】
2004139521.tif 000003
【図２】
2004139521.tif 000004
【図３】
2004139521.tif 000005
【図４】
2004139521.tif 000006
【図５】
2004139521.tif 000007
【図６】
2004139521.tif 000008
【図７】
2004139521.tif 000009
【図８】
2004139521.tif 000010
【図９】
2004139521.tif 000011