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