(57)【要約】【課題】効率的に、フラッシュメモリ内に最新の学習値を記憶できるようにすることで、フラッシュメモリを長寿命化する。【解決手段】電子制御装置は、フラッシュメモリ１３に、各パラメータの初期学習値を記憶する第一記憶領域Ｒ１と、学習動作により新たに算出された学習値を記憶する第二記憶領域Ｒ２とを備える。学習値書込処理部２３は、制御処理部２１が新たな学習値を算出すると、この算出値を領域Ｒ２に追加書込する。一方、起動処理部２５は、制御処理部の動作前に、領域Ｒ１に記憶された各パラメータの学習値を、ＲＡＭ１５の参照領域Ｒｒに書き込むと共に、領域Ｒｒの学習値を、領域Ｒ２の登録情報に基づき、最新の学習値に更新する。制御処理部は、この領域Ｒｒの学習値を用いて制御を開始する。また、条件判断部２７は、更新条件が満足されると、領域Ｒ１に記憶された各パラメータの学習値を、最新の学習値に更新する。【選択図】図２
2007179460.tif 000002
【特許請求の範囲】
【請求項１】
複数のパラメータについてパラメータ毎に学習値を記憶する、電気的にデータ書換可能な不揮発性メモリと、
前記不揮発性メモリに記憶された各パラメータの学習値を用いて、所定の制御を開始すると共に、この制御時の学習動作によって、前記各パラメータの学習値を新たに算出し、前記新たに算出した学習値を、前記不揮発性メモリに書き込む学習制御手段と、
を備えた電子制御装置であって、
前記不揮発性メモリは、前記各パラメータの初期学習値を記憶する第一記憶領域と、前記学習制御手段により新たに算出された学習値を記憶する第二記憶領域と、を備え、
前記学習制御手段は、前記新たに算出した学習値を、前記第二記憶領域に追加書込すると共に、前記制御の開始時には、前記第一及び第二記憶領域から、前記各パラメータの最新の学習値を読み出し、これら各パラメータの最新の学習値を用いて、前記制御を開始する構成にされ、
更に、当該電子制御装置は、
前記第一記憶領域に記憶された各パラメータの初期学習値についての更新条件が満足されたか否かを判断する条件判断手段と、
前記条件判断手段により前記更新条件が満足されたと判断されると、前記第一記憶領域が記憶する前記各パラメータの初期学習値を、最新の学習値に更新し、前記第二記憶領域をクリアする更新手段と、
を備えることを特徴とする電子制御装置。
【請求項２】
前記学習制御手段は、学習値を新たに算出する度に、これを前記第二記憶領域に追加書込する構成にされていることを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記学習制御手段は、前記学習動作によって新たに算出した各学習値を、内蔵の揮発性メモリに一時記憶し、制御動作の終了時に、前記一時記憶した各学習値を、前記第二記憶領域に追加書込する構成にされると共に、前記学習動作によって複数回、学習値を算出したパラメータについては、最新の学習値のみを選択的に、前記第二記憶領域に追加書込する構成にされていることを特徴とする請求項１記載の電子制御装置。
【請求項４】
前記条件判断手段は、前記学習制御手段による制御動作の開始前にのみ、前記更新条件が満足されたか否かを判断する構成にされていることを特徴とする請求項１〜請求項３のいずれかに記載の電子制御装置。
【請求項５】
前記条件判断手段は、前記学習制御手段による制御動作の終了時にのみ、前記更新条件が満足されたか否かを判断する構成にされていることを特徴とする請求項１〜請求項３のいずれかに記載の電子制御装置。
【請求項６】
前記条件判断手段は、前記学習制御手段が学習動作している期間、繰返し前記更新条件が満足されたか否かを判断する構成にされていることを特徴とする請求項２記載の電子制御装置。
【請求項７】
前記条件判断手段は、前記第二記憶領域に記憶されたデータの量が所定量未満である場合、前記更新条件が満足されていないと判断し、前記第二記憶領域に記憶されたデータの量が所定量以上である場合、前記更新条件が満足されたと判断する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載の電子制御装置。
【請求項８】
前記学習制御手段は、前記所定の制御として、車両制御を行う構成にされ、
前記電子制御装置は、
前記更新手段が最後に前記第一記憶領域を更新してから、イグニションスイッチがオンに操作された回数を記憶する回数記憶手段、
を備え、
前記条件判断手段は、前記回数記憶手段が記憶する回数が所定回数未満である場合、前記更新条件が満足されていないと判断し、前記回数記憶手段が記憶する回数が前記所定回数以上である場合、前記更新条件が満足されたと判断する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載の電子制御装置。
【請求項９】
前記学習制御手段は、前記所定の制御として、車両制御を行う構成にされ、
前記電子制御装置は、
前記更新手段が最後に前記第一記憶領域を更新してからのエンジンの始動回数を記憶する回数記憶手段、
を備え、
前記条件判断手段は、前記回数記憶手段が記憶する回数が所定回数未満である場合、前記更新条件が満足されていないと判断し、前記回数記憶手段が記憶する回数が前記所定回数以上である場合、前記更新条件が満足されたと判断する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載の電子制御装置。
【請求項１０】
前記学習制御手段は、前記所定の制御として、車両制御を行う構成にされ、
前記電子制御装置は、
エンジンが始動される度、エンジン冷却水の温度が所定温度に達したか否かを判断する状態判断手段と、
前記更新手段が最後に前記第一記憶領域を更新してから、前記状態判断手段により前記エンジン冷却水の温度が所定温度に達したと判断された回数を記憶する回数記憶手段と、
を備え、
前記条件判断手段は、前記回数記憶手段が記憶する回数が所定回数未満である場合、前記更新条件が満足されていないと判断し、前記回数記憶手段が記憶する回数が前記所定回数以上である場合、前記更新条件が満足されたと判断する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載の電子制御装置。
【請求項１１】
前記不揮発性メモリは、前記第二記憶領域への学習値の書込履歴を表すフラグをパラメータ毎に記憶するフラグ記憶領域を更に有し、
前記学習制御手段は、前記新たに算出した学習値を前記第二記憶領域に追加書込する際、前記フラグ記憶領域における前記追加書込する学習値に対応するパラメータのフラグをオンに設定する構成にされ、更に、前記第二記憶領域から前記各パラメータの最新の学習値を読み出す際には、前記フラグ記憶領域が記憶する各パラメータのフラグを、内蔵の揮発性メモリにコピーした後、前記第二記憶領域に記憶された各学習値を、最後に書き込まれた学習値から最初に書き込まれた学習値へと順に読み出すと共に、これと並行して前記揮発性メモリにおける前記読み出した学習値に対応するパラメータのフラグをオフに設定する手順を、前記揮発性メモリにおける全パラメータのフラグがオフに設定されるまで実行することにより、前記第二記憶領域から各パラメータについての最新の学習値を読み出す構成にされ、
前記更新手段は、前記第二記憶領域をクリアする際、同時に、前記フラグ記憶領域内の各パラメータのフラグをオフに設定する構成にされていることを特徴とする請求項１〜請求項１０のいずれかに記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御動作を定義するパラメータを学習更新する電子制御装置に関する。
【背景技術】
【０００２】
従来より、制御動作を定義するパラメータを学習更新する電子制御装置としては、車両制御用の電子制御装置が知られている。また、この種の電子制御装置としては、電気的にデータ書換可能な不揮発性メモリとしてのＥＥＰＲＯＭに、学習値を記憶するものが知られている（例えば、特許文献１参照）。
【０００３】
また、電気的にデータ書換可能な不揮発性メモリとしては、ＥＥＰＲＯＭの他に、フラッシュメモリが知られ、フラッシュメモリにデータを書き込む装置としては、一旦、バッファ回路に、書込対象のデータを蓄積し、一定量のデータが蓄積されてから、フラッシュメモリに対し、上記書込対象のデータを書き込む装置が知られている（例えば、特許文献２参照）。
【０００４】
ここで、ＥＥＰＲＯＭ及びフラッシュメモリの特性について比較してみる。ＥＥＰＲＯＭは、フラッシュメモリに対し書込／消去保証回数が多く、その保証回数は、１０万回程度である。一方、フラッシュメモリについての上記保証回数は、３万回程度となっており、書込／消去保証回数については、フラッシュメモリよりもＥＥＰＲＯＭのほうが優れている。これに対し、ＥＥＰＲＯＭの記憶容量は、フラッシュメモリの記憶容量よりも小さく、記憶容量あたりの単価は、フラッシュメモリよりもＥＥＰＲＯＭのほうが高いといった特徴がある。
【０００５】
近年の車両制御用の電子制御装置では、プログラム等の更新を容易にするため、電気的にデータ書換可能な不揮発性メモリにプログラム等を記憶させる手法が広く採用されているが、この種の電子制御装置におけるプログラム記憶用のメモリとしては、一般的に、記憶容量の大きいフラッシュメモリが採用されている。
【特許文献１】特開平１１−１５９３８７号公報
【特許文献２】特開平９−５５０９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、プログラム記憶用のメモリとしてフラッシュメモリを備えた電子制御装置において、上記パラメータを学習更新する場合には、学習値記憶用のメモリとしてＥＥＰＲＯＭを採用せず、プログラム記憶用のメモリと兼用で、フラッシュメモリを採用するのが、コストの点から好ましい。
【０００７】
しかしながら、フラッシュメモリは、ＥＥＰＲＯＭよりも書込／消去保証回数が少なく、学習値記憶用のメモリとしてフラッシュメモリを単に採用すれば、ＥＥＰＲＯＭに学習値を記憶する従来装置と比較して、電子制御装置の寿命が短くなってしまう。
【０００８】
尚、一旦、バッファ回路に書込対象の学習値を蓄積し、バッファ回路に一定量の学習値が蓄積されたら、蓄積された学習値に基づき、フラッシュメモリ内の学習値を更新するといった手法を採用すれば、新たに学習値を算出する度に、フラッシュメモリ内の学習値を更新するよりも、フラッシュメモリのデータ消去回数を減らすことができ、ある程度、電子制御装置の寿命を長くすることができる。
【０００９】
即ち、フラッシュメモリでは、ブロック単位でしかデータ消去を行えないため、フラッシュメモリにおいて、一度書き込んだデータを再度更新しようとすれば、対応ブロック全体を消去する必要があるが、単一ブロックにて複数のパラメータの学習値を記憶する場合に、複数の学習値をまとめて更新すれば、データ消去回数を減らすことができ、結果として、フラッシュメモリの寿命を長くすることができる。
【００１０】
しかしながら、バッファ回路に学習値を一時記憶する手法では、トラブル等で、バッファ回路への電源供給がシャットアウトされた場合、それまで一時記憶した学習値が揮発してしまう。即ち、従来の手法で、学習値の揮発の可能性を小さくしようとすれば、頻繁に、フラッシュメモリ内の学習値を更新しなければならず、結果として、フラッシュメモリの寿命を長くするのには限界があった。
【００１１】
本発明は、こうした問題に鑑みなされたものであり、フラッシュメモリ等の不揮発性メモリを効率的に用いて、この不揮発性メモリ内に最新の学習値を記憶できるようにすることで、電子制御装置を長期に渡り安定的に使用できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
かかる目的を達成するためになされた請求項１記載の電子制御装置は、不揮発性メモリに、複数のパラメータについての学習値を記憶し、学習制御手段により、不揮発性メモリに記憶された各パラメータの学習値を用いて、所定の制御を開始する。また、学習制御手段は、制御時の学習動作によって、各パラメータの学習値を新たに算出し、この学習値を、不揮発性メモリに書き込む。
【００１３】
不揮発性メモリは、各パラメータの初期学習値を記憶する第一記憶領域と、学習制御手段により新たに算出された学習値を記憶する第二記憶領域と、を有し、学習制御手段は、新たに算出した学習値を、第二記憶領域に追加書込して、この学習値を、不揮発性メモリに記録する。また、このような形態にて学習値を記録するため、学習制御手段は、第一及び第二記憶領域から、各パラメータの最新の学習値を読み出し、これら各パラメータの最新の学習値を用いて、上記制御を開始する。
【００１４】
また、この電子制御装置は、条件判断手段にて、更新条件が満足されたか否かを判断し、更新条件が満足されると、更新手段にて、第一記憶領域が記憶する各パラメータの初期学習値を、最新の学習値に更新し、第二記憶領域をクリア（データ消去）する。
【００１５】
上述したように、フラッシュメモリ等の不揮発性メモリに対しては、ブロック単位（例えば、数Ｋバイト単位）でデータ消去を実行する必要があるため、ブロック内のデータを更新する場合には、複数のデータをまとめて更新したほうがデータ消去回数を減らすことができる。一方、データ書込については、１〜数バイト単位で実行できるため、ブロック内をクリアした後であれば、学習値のデータを、学習値毎に書き込むことが可能である。
【００１６】
本発明では、このようなメモリの特性を利用して、一旦、第二記憶領域に、新たに算出した学習値を蓄積し、その後更新条件の満足に伴い、第一記憶領域における各パラメータの学習値を更新する。このため、本発明の電子制御装置において、学習更新に係るデータ消去（クリア）の実行時期は、更新条件が満足されて、第一記憶領域内の学習値を更新するために、第一記憶領域内をクリアする時、及び、第二記憶領域をクリアする時に限られる。
【００１７】
従って、本発明の電子制御装置によれば、従来よりも、学習値記憶のために必要な不揮発性メモリのデータ消去回数を減らすことができ、不揮発性メモリの寿命を長くすることができる。また、本発明の電子制御装置によれば、新たに算出した学習値を、第二記憶領域にて蓄積するため、蓄積データが、従来装置のように電源供給のシャットアウト等で揮発してしまうことがない。
【００１８】
従って、本発明によれば、揮発等の問題発生を抑えつつ、不揮発性メモリを効率的に用いて、この不揮発性メモリ内に、常時、最新の学習値を記憶させることができ、電子制御装置を長期に渡り安定的に使用可能とすることができる。
【００１９】
尚、学習制御手段は、学習値を新たに算出する度に、これを第二記憶領域に追加書込する構成にされてもよいし、学習動作によって新たに算出した各学習値を、内蔵の揮発性メモリに一時記憶し、制御動作の終了時に、一時記憶した各学習値を、第二記憶領域に追加書込する構成にされてもよい。
【００２０】
前者のように学習制御手段を構成した電子制御装置（請求項２）によれば、学習値を新たに算出する度に、これを第二記憶領域に追加書込するので、算出した学習値が揮発してしまう可能性を十分に小さくすることができる。
【００２１】
一方、後者のように学習制御手段を構成した電子制御装置では、制御動作の終了時に、一時記憶した各学習値を、第二記憶領域に追加書込するので、トラブル等で揮発性メモリへの電源供給がシャットアウトされることにより、最新の学習値が揮発してしまう可能性が高くなるが、第二記憶領域に、新たに算出した学習値を蓄積することによる利益については少なくとも得られる。特に、データが十分に蓄積されるまでの時間よりも、制御動作の開始／終了サイクルが短い場合、各学習値を、第二記憶領域に追加書込することによる効果は、十分発揮される。
【００２２】
また、後者の電子制御装置では、制御時の学習動作によって複数回、学習値を算出したパラメータについて、制御動作の終了時に、最新の学習値のみを選択的に、第二記憶領域に追加書込するよう学習制御手段を構成されるとよい。このように構成された電子制御装置（請求項３）によれば、第二記憶領域を効率的に活用して、学習値を記録することができるので、学習値を新たに算出する度に、これを第二記憶領域に書き込む手法よりも、不揮発性メモリの寿命を長くすることができる。
【００２３】
その他、条件判断手段は、学習制御手段による制御動作の開始前にのみ、上記更新条件が満足されたか否かを判断する構成にされてもよい。条件判断手段がこのように構成された電子制御装置（請求項４）によれば、制御動作中に繰返し更新条件が満足されたか否かを判断する電子制御装置よりも、制御動作時の処理負荷を抑えることができる。
【００２４】
また、条件判断手段は、学習制御手段による制御動作の終了時にのみ、上記更新条件が満足されたか否かを判断する構成にされてもよい。条件判断手段がこのように構成された電子制御装置（請求項５）によれば、学習制御手段による制御動作前に更新条件が満足されたか否かを判断する電子制御装置よりも、制御開始までに要する起動時間を短くすることができる。また、制御動作中に繰返し更新条件が満足されたか否かを判断する電子制御装置よりも、制御動作時の処理負荷を抑えることができる。
【００２５】
但し、学習制御手段が、学習値を新たに算出する度に、これを第二記憶領域に追加書込する場合には、制御動作の継続中に、第二記憶領域の空き容量がなくなってしまう可能性も考えられるので、条件判断手段は、次のように構成されるとよい。
【００２６】
即ち、条件判断手段は、学習制御手段が学習動作している期間、繰返し更新条件が満足されたか否かを判断する構成にされると好ましい。このように構成された電子制御装置（請求項６）によれば、学習動作中に、第二記憶領域の空き容量がなくなり、第二記憶領域に、新たに算出された学習値が記録できなくなるのを防止することができる。また、具体的に、この条件判断手段は、次のように構成されるとよい。
【００２７】
即ち、条件判断手段は、第二記憶領域に記憶されたデータの量が所定量未満である場合、上記更新条件が満足されていないと判断し、第二記憶領域に記憶されたデータの量が所定量以上である場合、上記更新条件が満足されたと判断する構成にされるとよい。条件判断手段がこのように構成された電子制御装置（請求項７）によれば、第二記憶領域の空き容量がなくなり、第二記憶領域に、新たに算出された学習値が記録できなくなるのを防止することができ、適切なタイミングにて、第一記憶領域に記憶された各パラメータの学習値を、最新の学習値に更新することができる。
【００２８】
また、電子制御装置が車両用の電子制御装置である場合には、利用者の操作履歴に基づき、第二記憶領域に記録された学習値の量をある程度予測することができるので、学習制御手段が車両制御を行う電子制御装置については、次のように構成されるとよい。
【００２９】
即ち、電子制御装置には、更新手段が最後に第一記憶領域を更新してから、イグニションスイッチがオンに操作された回数を記憶する回数記憶手段を設け、条件判断手段は、回数記憶手段が記憶する回数が所定回数未満である場合、上記更新条件が満足されていないと判断し、回数記憶手段が記憶する回数が所定回数以上である場合、上記更新条件が満足されたと判断する構成にされるとよい。
【００３０】
このように構成にされた電子制御装置（請求項８）によれば、簡易的に、第二記憶領域に記録された学習値の量（データ量）を把握することができ、適切なタイミングで、第一記憶領域内の各パラメータの学習値を更新することができる。
【００３１】
また、電子制御装置が、エンジン制御用の電子制御装置等である場合には、イグニッションスイッチがオン／オフされても、エンジンが始動されない限り、パラメータの学習値の算出が行われないことから、この種の電子制御装置については、次のように構成されるとよい。
【００３２】
即ち、電子制御装置には、更新手段が最後に第一記憶領域を更新してからのエンジンの始動回数を記憶する回数記憶手段を設け、条件判断手段は、回数記憶手段が記憶する回数が所定回数未満である場合、上記更新条件が満足されていないと判断し、回数記憶手段が記憶する回数が所定回数以上である場合、上記更新条件が満足されたと判断する構成にされるとよい。
【００３３】
このように構成された電子制御装置（請求項９）によれば、エンジンの始動回数に基づいて、更新条件が満足されたか否かを判断するので、エンジン制御に連動した学習動作によって得られるパラメータの学習値を第一記憶領域に反映させる際のタイミングを、適切に定めることができる。
【００３４】
その他、エンジンの運転期間が短い場合には、学習制御手段にて新たに算出される学習値の量も少ないため、電子制御装置は、次のように構成されると一層好ましい。
即ち、電子制御装置には、エンジンが始動される度エンジン冷却水の温度が所定温度に達したか否かを判断する状態判断手段と、更新手段が最後に第一記憶領域を更新してから状態判断手段によりエンジン冷却水の温度が所定温度に達したと判断された回数を記憶する回数記憶手段とを設けて、条件判断手段は、回数記憶手段が記憶する回数が所定回数未満である場合、上記更新条件が満足されていないと判断し、回数記憶手段が記憶する回数が所定回数以上である場合、上記更新条件が満足されたと判断する構成にされるとよい。
【００３５】
このように構成された電子制御装置（請求項１０）によれば、エンジン制御に連動した学習動作によって得られる学習値を、より一層適切なタイミングにて、第一記憶領域に反映させることができ、結果として、データ消去回数を減らして、不揮発性メモリの寿命を長くすることができる。
【００３６】
また、第二記憶領域から最新の学習値を効率よく読み出すため、電子制御装置の不揮発性メモリには、第二記憶領域への学習値の書込履歴を表すフラグを上記各パラメータ毎に記憶するフラグ記憶領域を設け、学習制御手段は、新たに算出した学習値を第二記憶領域に追加書込する際、フラグ記憶領域における上記追加書込する学習値に対応するパラメータのフラグをオンに設定する構成にされるとよい。
【００３７】
また、上記構成と併せて、学習制御手段は、第二記憶領域から各パラメータの最新の学習値を読み出す際、フラグ記憶領域が記憶する各パラメータのフラグを、内蔵の揮発性メモリにコピーした後、第二記憶領域に記憶された各学習値を、最後に書き込まれた学習値から最初に書き込まれた学習値へと順に読み出すと共に、これと並行して揮発性メモリにおける上記読み出した学習値に対応するパラメータのフラグをオフに設定する手順を、揮発性メモリにおける全パラメータのフラグがオフに設定されるまで実行することにより、第二記憶領域から各パラメータについての最新の学習値を読み出す構成にされるとよい。その他、このような学習制御手段の動作に対応して、更新手段は、第二記憶領域をクリアする際、同時に、フラグ記憶領域内の各パラメータのフラグをオフに設定する構成にされるとよい。
【００３８】
このように構成された電子制御装置（請求項１１）によれば、最後に書き込まれた学習値から、学習値を読み出すと共に、全パラメータのフラグがオフに設定された時点で、第二記憶領域からの学習値の読み出しを止めるので、第二記憶領域から、最新の学習値を効率よく読み出すことができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施例について、図面と共に説明する。
【実施例１】
【００４０】
図１は、本発明が適用された第一実施例の電子制御装置１の構成を表す説明図である。本実施例の電子制御装置１は、エンジン制御用の電子制御装置（所謂、エンジンＥＣＵ）であり、アクセス開度センサや車両状態を表す物理量を検出するセンサなど各種センサ３からの入力信号に基づき、エンジン制御として、インジェクタやイグナイタ、ＩＳＣバルブ等のアクチュエータ５を制御する。上記物理量を検出するセンサとしては、エンジン回転数を検出する回転角センサ、スロットル開度を検出するスロットル開度センサ、排気ガス中の酸素濃度を検出するＯ2センサ、エンジン冷却水の温度を検出する水温センサ等を挙げることができる。
【００４１】
この電子制御装置１は、マイクロコンピュータ（以下、マイコンと表現する。）１０を中心に構成されており、マイコン１０は、車両に搭載されたエンジン７を制御するための様々な処理を実行するＣＰＵ１１と、ＣＰＵ１１により実行されるプログラム等を記憶するフラッシュメモリ１３と、ＣＰＵ１１による演算結果等を一時記憶する作業用メモリとしてのＲＡＭ１５と、外部装置（各種センサ３等）からの入力信号を受け付ける入力回路１７と、ＣＰＵ１１から入力される制御信号を、アクチュエータ５に出力する出力回路１９と、を備える。
【００４２】
また、この電子制御装置１は、運転席に設けられたイグニッションスイッチ操作部９を通じて、イグニッションスイッチがオンに操作されると、バッテリからの電源供給を受けて起動し、イグニッションスイッチ操作部９を通じて、始動スイッチがオンに操作されると、エンジン７を始動して、エンジン制御を開始する。
【００４３】
図２は、この電子制御装置１によって実現される機能を示した機能ブロック図である。本実施例の電子制御装置１は、ＣＰＵ１１によるプログラムの実行により、制御処理部２１と、学習値書込処理部２３と、起動処理部２５と、条件判断部２７としての機能を実現する。
【００４４】
制御処理部２１は、始動スイッチがオンに操作されると、起動処理部２５の動作によりＲＡＭ１５の参照領域Ｒｒにセットされた制御動作を定義する各パラメータの値（学習値）に基づき、エンジン制御を開始し、エンジン制御を実現するものである。この制御処理部２１は、学習機能を有し、エンジン制御時に学習動作を実行する。即ち、制御処理部２１は、制御結果に基づき、上記各パラメータについての最適な学習値を新たに算出する。
【００４５】
一方、学習値書込処理部２３は、制御処理部２１にて新たに算出された学習値に基づき、参照領域Ｒｒ内の対応するパラメータの学習値を、上記新たに算出された学習値に更新すると共に、制御処理部２１にて新たに算出された上記学習値を、対応するパラメータの識別情報であるパラメータＩＤと関連付けて、フラッシュメモリ１３に設けられた第二記憶領域Ｒ２に書き込むものである。
【００４６】
フラッシュメモリ１３に設けられた第二記憶領域Ｒ２は、制御処理部２１にて新たに算出された学習値を、一時的に蓄積するための領域であり、学習値書込処理部２３によって書き込まれたパラメータＩＤと学習値とからなるレコードを、登録順に記憶する。尚、図３（ａ）は、この第二記憶領域Ｒ２内のデータ構成を表す説明図である。
【００４７】
また、このフラッシュメモリ１３は、上記各パラメータの初期学習値を記憶する第一記憶領域Ｒ１と、第二記憶領域Ｒ２への学習値の書込履歴を表すフラグをパラメータ毎に記憶する履歴記憶領域Ｒｆとを有し、学習値書込処理部２３は、第二記憶領域Ｒ２へのレコードの登録と共に、履歴記憶領域Ｒｆにおける登録したレコードに対応するパラメータのフラグをオンに設定する。尚、図３（ｂ）は、履歴記憶領域Ｒｆ内のデータ構成を表す説明図である。履歴記憶領域Ｒｆは、パラメータＩＤ（例えば、第一記憶領域Ｒ１における該当パラメータの記憶アドレス）に対応する配列で、各パラメータのフラグを記憶する。
【００４８】
その他、図４は、学習値書込処理部２３が、制御処理部２１にて新たに学習値が算出される度に実行する学習値書込処理を表すフローチャートである。図４に示すように、学習値書込処理部２３は、制御処理部２１にて新たに学習値が算出されると、Ｓ１１０にて、新たに算出された学習値に対応するＲＡＭ１５内の参照領域Ｒｒに記憶されたパラメータの学習値を、上記新たに算出された学習値に更新し、その後、上記新たに算出された学習値を、パラメータＩＤと関連付けて、フラッシュメモリ１３の第二記憶領域Ｒ２に追加書込する（Ｓ１２０）。また、この処理を終えると、学習値書込処理部２３は、Ｓ１３０に移行し、履歴記憶領域Ｒｆにおいて、上記新たに算出された学習値に対応するパラメータのフラグをオンに設定する。このような動作により、電子制御装置１は、学習値の書込を実現する。
【００４９】
一方、起動処理部２５は、電子制御装置１の起動時に、制御処理部２１及び学習値書込処理部２３に先立って動作し、第一及び第二記憶領域Ｒ１，Ｒ２から、各パラメータの最新の学習値を読み出し、これをＲＡＭ１５の参照領域Ｒｒに書き込むものである。具体的に、起動処理部２５は、電子制御装置１の起動時に、図５に示す処理を実行する。図５は、起動処理部２５が実行する起動処理を表すフローチャートである。
【００５０】
この処理を開始すると、起動処理部２５は、まずフラッシュメモリ１３の第一記憶領域Ｒ１に記憶された各パラメータの学習値（初期学習値）を読み出して、これをＲＡＭ１５の参照領域Ｒｒに書き込む（Ｓ２１０）。また、この処理を終えると、フラッシュメモリ１３の第二記憶領域Ｒ２にレコードが登録されているか否かを判断する（Ｓ２２０）。そして、レコードが登録されていないと判断すると（Ｓ２２０でＮｏ）、当該起動処理を終了し、レコードが登録されていると判断すると（Ｓ２２０でＹｅｓ）、図６に示す最新値復元処理を実行する（Ｓ２３０）。尚、図６は、起動処理部２５が実行する最新値復元処理を表すフローチャートである。
【００５１】
最新値復元処理を開始すると、起動処理部２５は、フラッシュメモリ１３の履歴記憶領域Ｒｆが記憶する各パラメータのフラグを、ＲＡＭ１５にコピーすると共に（Ｓ３１０）、フラッシュメモリ１３の第二記憶領域Ｒ２から、最も最近登録されたレコードを読み出す（Ｓ３２０）。また、この処理を終えると、ＲＡＭ１５が記憶する各パラメータのフラグが全てオフに設定されているか否かを判断し（Ｓ３３０）、全パラメータのフラグがオフに設定されていると判断すると（Ｓ３３０でＹｅｓ）、当該最新値復元処理を終了する。一方、全パラメータのフラグがオフに設定されていないと判断すると（Ｓ３３０でＮｏ）、Ｓ３４０に移行する。
【００５２】
Ｓ３４０に移行すると、起動処理部２５は、ＲＡＭ１５が記憶するフラグであって、読み出したレコードが示す学習値に対応するパラメータのフラグがオフに設定されているか否かを判断し、フラグがオフに設定されていると判断すると、Ｓ３７０に移行し、フラグがオフに設定されていない（オンに設定されている）と判断すると、Ｓ３５０に移行する。
【００５３】
また、Ｓ３５０に移行すると、起動処理部２５は、ＲＡＭ１５の参照領域Ｒｒにおける上記読み出したレコードに対応するパラメータの学習値を、上記読み出したレコードが示す学習値に更新すると共に、更新した学習値に対応するパラメータのフラグ（ＲＡＭ１５内のフラグ）を、オフに設定し（Ｓ３６０）、その後、Ｓ３７０に移行する。
【００５４】
また、Ｓ３７０に移行すると、起動処理部２５は、上記読み出したレコードよりも一つ前に第二記憶領域Ｒ２に書き込まれたレコードを、第二記憶領域Ｒ２から読み出す。ここで、読出対象のレコードが第二記憶領域Ｒ２に登録されており、レコードの読み出しに成功した場合には、Ｓ３８０でＮｏと判断して、Ｓ３３０に移行し、再び、ＲＡＭ１５内のフラグが全パラメータについてオフに設定されているか否かを判断し、オフに設定されていない場合には、Ｓ３４０以降の処理を実行する。
【００５５】
一方、読出対象のレコードが第二記憶領域Ｒ２に登録されておらず、Ｓ３７０におけるレコードの読み出しに失敗した場合には、Ｓ３８０でＹｅｓと判断し、当該最新値復元処理を終了する。このようにして、最新値復元処理では、全パラメータのフラグがオフに設定されるまで、第二記憶領域Ｒ２から過去方向に順に学習値を読み出し、参照領域Ｒｒの各パラメータの学習値を、最新の学習値に効率よく更新する。また、Ｓ２３０での最新値復元処理を終了すると、起動処理部２５は、当該起動処理を終了する。
【００５６】
その他、条件判断部２７は、更新条件が満足されると、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する。具体的に、条件判断部２７は、エンジン制御が開始されると、図７に示す処理を実行する。図７は、条件判断部２７が実行する条件判断処理を表すフローチャートである。
【００５７】
条件判断処理を開始すると、条件判断部２７は、Ｓ４１０にて、第一記憶領域Ｒ１における各パラメータの学習値についての更新条件が満足されたか否かを判断する。具体的に、ここでは、第二記憶領域Ｒ２に記憶されたデータの総量が閾値未満である場合、上記更新条件が満足されていないと判断し、第二記憶領域Ｒ２に記憶されたデータの総量が閾値以上である場合、上記更新条件が満足されたと判断する。尚、閾値は、次のＳ４１０の実行時期までに、レコードの登録によって第二記憶領域Ｒ２の空き容量がなくならないよう設定される。
【００５８】
Ｓ４１０において、上記更新条件が満足されていないと判断すると（Ｓ４１０でＮｏ）、条件判断部２７は、Ｓ４４０に移行し、上記更新条件が満足されていると判断すると（Ｓ４１０でＹｅｓ）、Ｓ４２０に移行する。また、Ｓ４２０に移行すると、条件判断部２７は、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆ内のデータを消去し、各領域をクリアする。尚、履歴記憶領域Ｒｆのクリアにより、履歴記憶領域Ｒｆが記憶する各パラメータのフラグは、オフに設定される。また、この処理を終えると、条件判断部２７は、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込み、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ４３０）。また、この処理を終えると、Ｓ４４０に移行する。
【００５９】
Ｓ４４０に移行すると、条件判断部２７は、所定時間待機し、所定時間が経過すると、Ｓ４５０に移行して、エンジン制御が終了しているか否かを判断する。そして、エンジン制御が終了していないと判断すると（Ｓ４５０でＮｏ）、Ｓ４１０に移行して、再び更新条件が満足されているか否かを判断する。一方、エンジン制御が終了している場合には、Ｓ４５０でＹｅｓと判断して、当該条件判断処理を終了する。
【００６０】
以上、第一実施例の電子制御装置１について説明したが、本実施例では、フラッシュメモリ１３に、各パラメータの学習値を記憶する領域として、第一及び第二記憶領域Ｒ１，Ｒ２を設け、第一記憶領域Ｒ１には、基礎となる各パラメータの学習値（初期学習値）を登録し、第二記憶領域Ｒ２には、学習動作により新たに算出された学習値を登録することで、学習動作により新たに算出された学習値をフラッシュメモリ１３に書き込む際には、書込動作のみを行なえばよいようにした。
【００６１】
即ち、フラッシュメモリ１３内の学習値を、書き換えようとすると、データの消去動作が必要であるが、本実施例では、追加書込の形態にて、フラッシュメモリ１３内に、新たに算出した学習値を登録することにより、フラッシュメモリ１３に対し、毎回データ消去動作を行わなくてもよいようにした。そして、ある程度、学習値の記録データ（レコード）が第二記憶領域Ｒ２に登録されてから初めて、第一記憶領域Ｒ１をクリアして、第一記憶領域Ｒ１内の各パラメータの学習値を更新するようにした。
【００６２】
従って、本実施例によれば、従来よりも、学習値記憶のために必要なフラッシュメモリ１３の消去回数を減らすことができ、フラッシュメモリ１３の寿命を長くすることができる。また、本実施例によれば、学習値を新たに算出する度に、これをフラッシュメモリ１３に追加書込するため、電源のシャットアウト等が原因で、算出した学習値が揮発してしまうのを防止することができる。即ち、本実施例によれば、フラッシュメモリ１３を効率的に用いて、フラッシュメモリ１３内に、常時、最新の学習値を記憶させることができ、電子制御装置１を長期に渡り安定的に動作させることができる。
【００６３】
また、本実施例の電子制御装置１では、制御処理部２１により制御動作及び学習動作が行われている期間、繰返し更新条件が満足されたか否かを判断するようにした。従って、本実施例の電子制御装置１によれば、学習動作中に、第二記憶領域Ｒ２の空き容量がなくなることが原因で、第二記憶領域Ｒ２に、新たに算出された学習値が記録できなくなるのを防止することができる。
【００６４】
尚、「特許請求の範囲」に記載された不揮発性メモリは、本実施例のフラッシュメモリ１３に相当し、フラグ記憶領域は、履歴記憶領域Ｒｆに相当する。また、学習制御手段は、本実施例において、制御処理部２１及び学習値書込処理部２３並びに起動処理部２５に相当する。その他、条件判断手段は、Ｓ４１０の処理にて実現され、更新手段は、Ｓ４２０〜Ｓ４３０の処理にて実現されている。
【００６５】
また、本実施例では、制御処理部２１により制御動作及び学習動作が行われている期間、繰返し更新条件が満足されたか否かを判断する電子制御装置１について説明したが、更新条件が満足されたか否かの判断は、電子制御装置１の起動時のみ実行されてもよい（第二実施例）。
【実施例２】
【００６６】
図８は、第二実施例の電子制御装置１における起動処理部２５が、図５に示す起動処理に代えて実行する起動処理を表すフローチャートである。
第二実施例の電子制御装置１は、Ｓ４１０〜Ｓ４５０の処理を実行しないこと、及び、起動処理の内容が異なることを除けば、第一実施例の電子制御装置１と同一構成であるため、以下では、第二実施例の電子制御装置１の起動処理部２５が、電子制御装置１の起動時に、制御処理部２１及び学習値書込処理部２３の動作に先立って、実行する起動処理についてのみ説明する。
【００６７】
図８に示す起動処理を開始すると、起動処理部２５は、まずフラッシュメモリ１３の第一記憶領域Ｒ１に記憶された各パラメータの学習値を読み出し、これをＲＡＭ１５の参照領域Ｒｒに書き込む（Ｓ５１０）。また、この処理を終えると、フラッシュメモリ１３の第二記憶領域Ｒ２にレコードが登録されているか否かを判断し（Ｓ５２０）、レコードが登録されていないと判断すると（Ｓ５２０でＮｏ）、Ｓ５４０に移行する。一方、レコードが登録されていると判断すると（Ｓ５２０でＹｅｓ）、Ｓ５３０に移行して、図６に示す最新値復元処理を実行し、参照領域Ｒｒの各パラメータの学習値を、第二記憶領域Ｒ２の記憶内容に基づく最新の学習値に更新する。その後、Ｓ５４０に移行する。
【００６８】
また、Ｓ５４０に移行すると、起動処理部２５は、Ｓ４１０と同様の手法にて、更新条件が満足されたか否かを判断する。そして、更新条件が満足されていないと判断すると（Ｓ５４０でＮｏ）、当該起動処理を終了する。
【００６９】
一方、更新条件が満足されていると判断すると（Ｓ５４０でＹｅｓ）、起動処理部２５は、Ｓ５５０に移行し、Ｓ４２０と同様に、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆの各領域をクリアする。また、この処理を終えると、起動処理部２５は、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込んで、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ５６０）。その後、当該起動処理を終了する。
【００７０】
以上、第二実施例の電子制御装置１について説明したが、本実施例の電子制御装置１では、制御動作中に繰返し更新条件が満足されたか否かを判断しないので、第一実施例の電子制御装置１よりも、制御動作時の処理負荷を抑えることができる。尚、「特許請求の範囲」に記載の条件判断手段は、本実施例において、Ｓ５４０の処理にて実現され、更新手段は、Ｓ５５０〜Ｓ５６０の処理にて実現されている。
【００７１】
また、第二実施例では、第二記憶領域Ｒ２に閾値以上のデータが蓄積された場合、更新条件が満足されたと判断するようにしたが、イグニッションスイッチのオン操作の回数が多い程、エンジン制御の実行期間が長く、第二記憶領域Ｒ２にはレコードが多く登録されていることが予想されるので、イグニッションスイッチのオン操作の回数に基づき、更新条件が満足されたか否かを判断するよう、電子制御装置１を構成してもよい（第三実施例）。
【実施例３】
【００７２】
図９は、第三実施例の電子制御装置１における起動処理部２５が、図８に示す起動処理に代えて実行する起動処理を表すフローチャートである。
第三実施例の電子制御装置１は、起動処理の内容が異なること、及び、イグニッション（ＩＧ）スイッチの操作回数を記憶するＩＧカウンタを、マイコン１０内に備えることを除けば、第二実施例の電子制御装置１と同一構成であるため、以下では、第三実施例の電子制御装置１の起動処理部２５が、電子制御装置１の起動時に、制御処理部２１及び学習値書込処理部２３の動作に先立って実行する起動処理についてのみを説明する。
【００７３】
図９に示す起動処理を開始すると、起動処理部２５は、まず、イグニッションスイッチがオンに操作されたと判断し、当該電子制御装置１に内蔵された不揮発性のＩＧカウンタの値を、１増加させる（Ｓ６１０）。また、この処理を終えると、起動処理部２５は、フラッシュメモリ１３の第一記憶領域Ｒ１に記憶された各パラメータの学習値を読み出し、これをＲＡＭ１５の参照領域Ｒｒに書き込む（Ｓ６２０）。
【００７４】
また、この処理を終えると、起動処理部２５は、フラッシュメモリ１３の第二記憶領域Ｒ２にレコードが登録されているか否かを判断し（Ｓ６３０）、レコードが登録されていないと判断すると（Ｓ６３０でＮｏ）、Ｓ６５０に移行する。一方、レコードが登録されていると判断すると（Ｓ６３０でＹｅｓ）、Ｓ６４０に移行し、図６に示す最新値復元処理を実行することにより、参照領域Ｒｒの各パラメータの学習値を、第二記憶領域Ｒ２の記憶内容に基づき、最新の学習値に更新する。その後、Ｓ６５０に移行する。
【００７５】
また、Ｓ６５０に移行すると、起動処理部２５は、ＩＧカウンタの値が閾値以上であるか否かを判断する。そして、ＩＧカウンタの値が閾値未満であると判断すると（Ｓ６５０でＮｏ）、更新条件が満足されていないとして、当該起動処理を終了し、ＩＧカウンタの値が閾値以上であると判断すると（Ｓ６５０でＹｅｓ）、Ｓ６６０に移行して、ＩＧカウンタをリセットする（カウンタ値をゼロにする）。
【００７６】
また、Ｓ６６０での処理を終えると、起動処理部２５は、Ｓ６７０に移行し、Ｓ４２０と同様に、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆの各領域をクリアする。また、この処理を終えると、起動処理部２５は、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込んで、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ６８０）。その後、当該起動処理を終了する。
【００７７】
以上、第三実施例の電子制御装置１について説明したが、第三実施例の電子制御装置１では、電子制御装置１がイグニッションスイッチのオン操作に連動して起動されることを利用し、起動処理を実行する度に、ＩＧカウンタの値を１増加させることで、イグニッションスイッチのオン操作の回数を、ＩＧカウンタに記録し、このＩＧカウンタの値が、閾値以上となった時点で、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する。
【００７８】
イグニッションスイッチのオン操作の回数と、第二記憶領域Ｒ２に蓄積されるデータ量との間には、相関があるので、本実施例のように、イグニッションスイッチのオン操作の回数に基づいて、更新条件が満足されたか否かを判断すれば、適切なタイミングにて、第二記憶領域Ｒ２をクリアし、第一記憶領域Ｒ１における各パラメータの学習値を更新することができる。尚、「特許請求の範囲」に記載の回数記憶手段は、本実施例において、ＩＧカウンタ及びＳ６１０，Ｓ６６０の処理にて実現され、条件判断手段は、Ｓ６５０の処理にて実現され、更新手段は、Ｓ６７０〜Ｓ６８０の処理にて実現されている。
【００７９】
但し、車両乗員がエンジンを始動させずにイグニッションスイッチをオン／オフ操作することもまれにあるので、エンジン７の始動回数に基づき、更新条件が満足されたか否かを判断するように、電子制御装置１を構成してもよい（第四実施例）。
【実施例４】
【００８０】
図１０（ａ）は、第四実施例の電子制御装置１における起動処理部２５が、図８に示す起動処理に代えて実行する起動処理を表すフローチャートである。また、図１０（ｂ）は、第四実施例の電子制御装置１におけるＣＰＵ１１が、電子制御装置１の起動時に実行を開始する条件成立フラグ切替処理を表すフローチャートである。
【００８１】
第四実施例の電子制御装置１は、起動処理の内容が異なること、及び、ＣＰＵ１１にて条件成立フラグ切替処理を実行すること、及び、エンジン始動回数を記憶するＤＣ（ドライビングサイクル）カウンタ及び更新条件の成立有無を表す更新条件成立フラグを記憶する記憶回路（以下、「フラグ記憶部」とする。）を、マイコン１０内に備えることを除けば、第二実施例の電子制御装置１と同一構成であるため、以下では、第四実施例の電子制御装置１について、上記相違点のみを説明する。
【００８２】
まず、図１０（ｂ）に示す条件成立フラグ切替処理について説明する。本実施例の電子制御装置１におけるＣＰＵ１１は、電子制御装置１が起動されると、車両乗員によりイグニッションスイッチ操作部９を通じて、始動スイッチがオンに操作され、エンジン７が始動するまで待機し、エンジン７が始動すると（Ｓ７１０でＹｅｓ）、Ｓ７２０に移行して、フラグ記憶部が記憶する更新条件成立フラグをオンに設定する。その後、当該条件成立フラグ切替処理を終了する。尚、この更新条件成立フラグの値は、電子制御装置１の次回起動時まで保持される。
【００８３】
次に、第四実施例の電子制御装置１の起動処理部２５が、電子制御装置１の起動時に、制御処理部２１及び学習値書込処理部２３の動作に先立って実行する起動処理について説明する。図１０（ａ）に示す起動処理を開始すると、起動処理部２５は、まず、フラグ記憶部が記憶する更新条件成立フラグがオンに設定されているか否かを判断し（Ｓ８１０）、更新条件成立フラグがオンに設定されていないと判断すると（Ｓ８１０でＮｏ）、Ｓ８３０に移行し、更新条件成立フラグがオンに設定されていると判断すると（Ｓ８１０でＹｅｓ）、前回の電子制御装置１の動作時にエンジン７が始動されているとして、Ｓ８２０に移行する。そして、Ｓ８２０では、フラグ記憶部が記憶する更新条件成立フラグをオフに設定し、その後、Ｓ８２５にて、当該電子制御装置１に内蔵された不揮発性のＤＣカウンタの値を、１増加させる。その後、Ｓ８３０に移行する。
【００８４】
また、Ｓ８３０に移行すると、起動処理部２５は、フラッシュメモリ１３の第一記憶領域Ｒ１に記憶された各パラメータの学習値を読み出し、これをＲＡＭ１５の参照領域Ｒｒに書き込み、この処理を終えると、フラッシュメモリ１３の第二記憶領域Ｒ２にレコードが登録されているか否かを判断する（Ｓ８４０）。そして、レコードが登録されていないと判断すると（Ｓ８４０でＮｏ）、Ｓ８６０に移行する。
【００８５】
一方、レコードが登録されていると判断すると（Ｓ８４０でＹｅｓ）、起動処理部２５は、Ｓ８５０に移行し、図６に示す最新値復元処理を実行することにより、参照領域Ｒｒの各パラメータの学習値を、第二記憶領域Ｒ２の記憶内容に基づき、最新の学習値に更新する。その後、Ｓ８６０に移行する。
【００８６】
また、Ｓ８６０に移行すると、起動処理部２５は、ＤＣカウンタの値が閾値以上であるか否かを判断する。そして、ＤＣカウンタの値が閾値未満であると判断すると（Ｓ８６０でＮｏ）、更新条件が満足されていないとして、当該起動処理を終了し、ＤＣカウンタの値が閾値以上であると判断すると（Ｓ８６０でＹｅｓ）、Ｓ８７０に移行して、ＤＣカウンタをリセットする（カウンタ値をゼロにする）。
【００８７】
また、Ｓ８７０での処理を終えると、起動処理部２５は、Ｓ８８０に移行し、Ｓ４２０と同様に、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆの各領域をクリアする。また、この処理を終えると、起動処理部２５は、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込んで、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ８９０）。その後、当該起動処理を終了する。
【００８８】
以上、第四実施例の電子制御装置１について説明したが、第四実施例の電子制御装置１では、エンジン７が始動される度に、ＤＣカウンタの値を１増加させることで、エンジン始動回数を、ＤＣカウンタに記録し、このＤＣカウンタの値が、閾値以上となった時点で、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する。従って、本実施例によれば、イグニッションスイッチのオン操作の回数に基づいて、更新条件が満足されたか否かを判断するよりも、より適切なタイミングにて、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新することができる。
【００８９】
即ち、本実施例によれば、エンジン始動を伴わないイグニッションスイッチのオン操作の回数が多く、第二記憶領域Ｒ２内のデータ量が少ない場合に、更新条件が満足されたと判断しなくて済み、第三実施例の電子制御装置１よりも、フラッシュメモリ１３に対する消去動作を減らすことができる。従って、本実施例の電子制御装置１によれば、より効率的にフラッシュメモリ１３を利用することができる。
【００９０】
尚、「特許請求の範囲」に記載の回数記憶手段は、本実施例において、ＤＣカウンタ及びＳ８１０〜Ｓ８２５，Ｓ８７０の処理にて実現され、条件判断手段は、Ｓ８６０の処理にて実現され、更新手段は、Ｓ８８０〜Ｓ８９０の処理にて実現されている。
【００９１】
また、エンジン７が始動されても、エンジン７の運転期間が短ければ、学習動作により算出される学習値の量は少ないので、エンジン冷却水の温度に基づき、更新条件が満足されたか否かを判断するように、電子制御装置１を構成してもよい（第五実施例）。
【実施例５】
【００９２】
図１１は、第五実施例の電子制御装置１におけるＣＰＵ１１が、図１０（ｂ）に示す条件成立フラグ切替処理に代えて、電子制御装置１の起動時に実行を開始する条件成立フラグ切替処理を表すフローチャートである。
【００９３】
第五実施例の電子制御装置１は、条件成立フラグ切替処理の内容が異なることを除けば、第四実施例の電子制御装置１と同一構成であるため、以下では、第五実施例の電子制御装置１のＣＰＵ１１が、電子制御装置１の起動時に実行を開始する条件成立フラグ切替処理についてのみ説明する。
【００９４】
条件成立フラグ切替処理を開始すると、ＣＰＵ１１は、車両乗員によりイグニッションスイッチ操作部９を通じて、始動スイッチがオンに操作され、エンジン７が始動するまで待機し、エンジン７が始動すると（Ｓ８１０でＹｅｓ）、Ｓ８２０に移行して、水温センサが示す現在のエンジン冷却水の温度を、ＲＡＭ１５に記憶する。
【００９５】
また、この処理を終えると、ＣＰＵ１１は、Ｓ８３０に移行し、水温センサが示す現在のエンジン冷却水の温度が、予め定められた所定温度以上であるか否かを判断し、水温センサが示す現在のエンジン冷却水の温度が所定温度以上であると判断すると（Ｓ８３０でＹｅｓ）、Ｓ８４０に移行する。一方、水温センサが示す現在のエンジン冷却水の温度が所定温度未満であると判断すると（Ｓ８３０でＮｏ）、Ｓ８７０に移行する。
【００９６】
また、Ｓ８４０に移行すると、ＣＰＵ１１は、水温センサが示す現在のエンジン冷却水の温度から、エンジン始動時にＲＡＭ１５に記憶した温度を引いて、始動時からのエンジン冷却水の温度の変化量を求める。また、この処理を終えると、ＣＰＵ１１は、Ｓ８４０で求めた変化量が、所定量以上であるか否かを判断し（Ｓ８５０）、変化量が所定量以上であると判断すると（Ｓ８５０でＹｅｓ）、フラグ記憶部が記憶する更新条件成立フラグをオンに設定する（Ｓ８６０）。その後、当該条件成立フラグ切替処理を終了する。
【００９７】
一方、Ｓ８４０で求めた変化量が、所定量未満であると判断すると（Ｓ８５０でＮｏ）、ＣＰＵ１１は、Ｓ８７０に移行し、エンジン制御が終了しているか否かを判断する。そして、エンジン制御が終了していないと判断すると（Ｓ８７０でＮｏ）、Ｓ８３０に移行し、エンジン制御が終了している場合には、Ｓ８７０でＹｅｓと判断して、当該条件成立フラグ切替処理を終了する。
【００９８】
以上、第五実施例の電子制御装置１について説明したが、第五実施例の電子制御装置１では、エンジン７が始動される度に、ＤＣカウンタの値を１増加させるのではなく、エンジン７が始動され且つエンジン７のウォームアップが終了した後に、エンジン７が始動されたと判定し、ＤＣカウンタの値を１増加させるので、単にエンジン７の始動回数に着目して、更新条件が満足されたか否かを判断するよりも、適切なタイミングにて、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新することができる。
【００９９】
即ち、本実施例によれば、エンジン７が短時間で始動／停止される回数が多く、第二記憶領域Ｒ２内のデータ量が少ない場合に、更新条件が満足されたと判断しなくて済み、第四実施例の電子制御装置１よりも、フラッシュメモリ１３に対する消去動作回数を減らすことができ、効率的にフラッシュメモリ１３を利用することができる。
【０１００】
尚、「特許請求の範囲」に記載の状態判断手段は、本実施例において、図１１に示す条件成立フラグ切替処理により実現されている。
また、第二実施例〜第五実施例では、起動時に更新条件が満足されたか否かを判断する電子制御装置１について説明したが、更新条件が満足されたか否かの判断は、電子制御装置１によるエンジン制御の終了時に実行されてもよい（第六実施例）。
【実施例６】
【０１０１】
図１２は、第六実施例の電子制御装置１における条件判断部２７が、図７に示す条件判断処理に代えて実行する条件判断処理を表すフローチャートである。
第六実施例の電子制御装置１は、条件判断処理の内容が異なることを除けば、第一実施例の電子制御装置１と同一構成であるため、以下では、第六実施例の電子制御装置１の条件判断部２７が実行する条件判断処理についてのみ説明する。
【０１０２】
条件判断処理を開始すると、条件判断部２７は、Ｓ９１０にて、制御処理部２１によるエンジン制御が終了するまで待機し、エンジン制御が終了すると（Ｓ９１０でＹｅｓ）、Ｓ４１０と同様の手法で、第一記憶領域Ｒ１の更新条件が満足されたか否かを判断する（Ｓ９２０）。そして、更新条件が満足されていないと判断すると（Ｓ９２０でＮｏ）、当該条件判断処理を終了し、更新条件が満足されていると判断すると（Ｓ９２０でＹｅｓ）、Ｓ９３０に移行する。
【０１０３】
また、Ｓ９３０に移行すると、条件判断部２７は、Ｓ４２０と同様、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆの各領域をクリアし、この処理を終えると、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込んで、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ９４０）。その後、当該条件判断処理を終了する。
【０１０４】
以上、第六実施例の電子制御装置１について説明したが、第六実施例の電子制御装置１では、制御動作中に繰返し更新条件が満足されたか否かを判断しないので、第一実施例の電子制御装置１よりも、制御動作時の処理負荷を抑えることができる。また、本実施例によれば、起動時にも更新条件が満足されたか否かを判断しないので、電子制御装置１の起動時間が長くなるのを防止することができる。
【０１０５】
尚、「特許請求の範囲」に記載の条件判断手段は、本実施例において、Ｓ９２０の処理にて実現され、更新手段は、Ｓ９３０〜Ｓ９４０の処理にて実現されている。
また、第一実施例〜第六実施例では、制御処理部２１が学習値を新たに算出する度に、これをフラッシュメモリ１３に追加書込する電子制御装置１について説明したが、電子制御装置１は、制御処理部２１により新たに算出された学習値を一時的にＲＡＭ１５に記憶し、エンジン制御の終了時（学習動作の終了時）に、これらを、フラッシュメモリ１３の第二記憶領域Ｒ２に書き込む構成にされてもよい（第七実施例）。
【実施例７】
【０１０６】
図１３（ａ）は、第七実施例の電子制御装置１における学習値書込処理部２３が、図４に示す処理に代えて実行する学習値書込処理を表すフローチャートである。また、図１３（ｂ）は、第七実施例の電子制御装置１における条件判断部２７が、図７に示す処理に代えて実行する条件判断処理を表すフローチャートである。
【０１０７】
第七実施例の電子制御装置１は、学習値書込処理及び条件判断処理の内容が異なること、及び、ＲＡＭ１５内に学習値比較用の領域（以下、「比較領域」とする。）Ｒｃが用意されていることを除けば、第一実施例の電子制御装置１と同一構成であるため、以下では、第七実施例の電子制御装置１について、上記相違点のみを説明する。
【０１０８】
まず、第七実施例の電子制御装置１は、学習値書込処理部２３において、Ｓ１１０の処理のみを、新たに学習値が算出される度に実行する。即ち、第七実施例の電子制御装置１における学習値書込処理部２３は、制御処理部２１にて新たに学習値が算出されると、この学習値に対応するパラメータについてＲＡＭ１５内の参照領域Ｒｒに記憶された学習値を、上記新たに算出された学習値に更新し、学習値書込処理を終える。
【０１０９】
また、条件判断部２７は、図１３（ｂ）に示す条件判断処理を開始すると、制御処理部２１によるエンジン制御が終了するまで待機し、エンジン制御が終了すると（Ｓ１０１０でＹｅｓ）、Ｓ４１０と同様の手法で、更新条件が満足されたか否かを判断する（Ｓ１０２０）。そして、更新条件が満足されたと判断すると（Ｓ１０２０でＹｅｓ）、Ｓ４２０と同様に、フラッシュメモリ１３における第一記憶領域Ｒ１及び第二記憶領域Ｒ２並びに履歴記憶領域Ｒｆの各領域をクリアし（Ｓ１０３０）、この処理を終えると、ＲＡＭ１５の参照領域Ｒｒが記憶する各パラメータの学習値を、第一記憶領域Ｒ１に書き込んで、第一記憶領域Ｒ１が記憶する各パラメータの学習値を、最新の学習値に更新する（Ｓ１０４０）。その後、当該条件判断処理を終了する。
【０１１０】
一方、更新条件が満足されていないと判断すると（Ｓ１０２０でＮｏ）、条件判断部２７は、フラッシュメモリ１３の第一記憶領域Ｒ１に記憶された各パラメータの学習値（初期学習値）を読み出して、これをＲＡＭ１５の比較領域Ｒｃに書き込む（Ｓ１０５０）。また、この処理を終えると、フラッシュメモリ１３の第二記憶領域Ｒ２にレコードが登録されているか否かを判断する（Ｓ１０６０）。そして、レコードが登録されていないと判断すると（Ｓ１０６０でＮｏ）、Ｓ１０８０に移行し、レコードが登録されていると判断すると（Ｓ１０６０でＹｅｓ）、Ｓ１０７０に移行して、最新値復元処理を実行する。尚、Ｓ１０７０で実行する最新値復元処理では、ＲＡＭ１５の比較領域Ｒｃが記憶する各パラメータの学習値を、Ｓ２３０で参照領域Ｒｒに設定した各パラメータの学習値と同一の値に設定する。即ち、Ｓ１０７０では、図６に示すフローチャートにおける「参照領域Ｒｒ」を、「比較領域Ｒｃ」に読み代えて理解できる処理と同一の処理を行う。
【０１１１】
また、Ｓ１０７０での処理を終えると、条件判断部２７は、Ｓ１０８０に移行し、ＲＡＭ１５の参照領域Ｒｒから、Ｓ１０９０の処理について未処理の学習値を一つ、検査対象の学習値として読み出す。そして、検査対象の学習値と、検査対象の学習値に対応するパラメータの比較領域Ｒｃに記憶された学習値とを比較し（Ｓ１０９０）、両学習値が一致するか否かを判断する（Ｓ１１００）。そして、両学習値が一致すると判断すると（Ｓ１１００でＹｅｓ）、Ｓ１１３０に移行し、両学習値が一致しないと判断すると（Ｓ１１００でＮｏ）、Ｓ１１１０に移行する。
【０１１２】
また、Ｓ１１１０に移行すると、条件判断部２７は、検査対象の学習値を、パラメータＩＤと関連付け、フラッシュメモリ１３の第二記憶領域Ｒ２に追加書込する。また、この処理を終えると、Ｓ１１２０に移行し、履歴記憶領域Ｒｆにおいて、上記検査対象の学習値に対応するパラメータのフラグをオンに設定する。その後、Ｓ１１３０に移行する。
【０１１３】
また、Ｓ１１３０に移行すると、条件判断部２７は、ＲＡＭ１５の参照領域Ｒｒに記憶された各パラメータの学習値の全てについて、これを検査対象としてＳ１０９０以降の処理を実行したか否かを判断し、ＲＡＭ１５の参照領域Ｒｒに記憶された各パラメータの学習値の全てについてＳ１０９０以降の処理を実行していないと判断すると（Ｓ１１３０でＮｏ）、Ｓ１０８０に移行して、検査対象の学習値を新たに読み出し、Ｓ１０９０以降の処理を実行する。
【０１１４】
一方、ＲＡＭ１５の参照領域Ｒｒに記憶された各パラメータの学習値の全てについてＳ１０９０以降の処理を実行したと判断すると（Ｓ１１３０でＹｅｓ）、当該条件判断処理を終了する。
【０１１５】
以上、第七実施例の電子制御装置１について説明したが、第七実施例の電子制御装置１では、学習動作によって新たに算出した各学習値を、ＲＡＭ１５に一時記憶し、制御動作の終了時に、上記一時記憶した各学習値を、第二記憶領域Ｒ２に追加書込するため、トラブル等で正常に制御動作を終了できなかった場合等、最新の学習値が揮発してしまう可能性がある。しかしながら、制御時の学習動作によって複数回、学習値を算出したパラメータについては、制御動作の終了時に、最新の学習値のみを選択的に、第二記憶領域Ｒ２に追加書込することができるので、第二記憶領域Ｒ２を効率的に活用して、学習値をフラッシュメモリ１３に記録することができる。従って、本実施例によれば、学習値を新たに算出する度に、これを第二記憶領域Ｒ２に書き込む手法よりも、フラッシュメモリ１３の寿命を長くすることができる。
【０１１６】
尚、「特許請求の範囲」に記載の学習制御手段は、本実施例において、制御処理部２１及び学習値書込処理部２３及び起動処理部２５と、Ｓ１０５０〜Ｓ１１３０の処理とにより実現されている。その他、条件判断手段は、Ｓ１０２０の処理にて実現され、更新手段は、Ｓ１０３０〜Ｓ１０４０の処理にて実現されている。
【０１１７】
また、本発明の電子制御装置は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、第六実施例及び第七実施例の電子制御装置１が実行する条件判断処理のＳ９２０，Ｓ１０２０では、イグニッションスイッチのオン操作回数に基づいて更新条件が満足されたか判断してもよいし、エンジン７の始動回数に基づいて更新条件が満足されたか判断してもよいし、エンジン始動後エンジン冷却水の温度が所定温度となった回数に基づいて更新条件が満足されたか判断してもよい。
【図面の簡単な説明】
【０１１８】
【図１】本発明が適用された電子制御装置１の構成を表す説明図である。
【図２】電子制御装置１が実現する機能を示した機能ブロック図である。
【図３】フラッシュメモリ１３における第二記憶領域Ｒ２（ａ）及び履歴記憶領域Ｒｆ（ｂ）の構成を表す説明図である。
【図４】学習値書込処理部２３が実行する学習値書込処理を表すフローチャートである。
【図５】起動処理部２５が実行する起動処理を表すフローチャートである。
【図６】起動処理部２５が実行する最新値復元処理を表すフローチャートである。
【図７】条件判断部２７が実行する条件判断処理を表すフローチャートである。
【図８】第二実施例の起動処理を表すフローチャートである。
【図９】第三実施例の起動処理を表すフローチャートである。
【図１０】第四実施例の起動処理を表すフローチャート（ａ）及びこの実施例においてＣＰＵ１１が実行する条件成立フラグ切替処理を表すフローチャート（ｂ）である。
【図１１】第五実施例においてＣＰＵ１１が実行する条件成立フラグ切替処理を表すフローチャートである。
【図１２】第六実施例の条件判断処理を表すフローチャートである。
【図１３】第七実施例の学習値書込処理を表すフローチャート（ａ）及びこの実施例の条件判断処理を表すフローチャートである。
【符号の説明】
【０１１９】
１…電子制御装置、３…各種センサ、５…アクチュエータ、７…エンジン、９…イグニッションスイッチ操作部、１０…マイコン、１１…ＣＰＵ、１３…フラッシュメモリ、１５…ＲＡＭ、１７…入力回路、１９…出力回路、２１…制御処理部、２３…学習値書込処理部、２５…起動処理部、２７…条件判断部、Ｒ１…第一記憶領域、Ｒ２…第二記憶領域、Ｒｃ…比較領域、Ｒｆ…履歴記憶領域、Ｒｒ…参照領域
【図１】
2007179460.tif 000003
【図２】
2007179460.tif 000004
【図３】
2007179460.tif 000005
【図４】
2007179460.tif 000006
【図５】
2007179460.tif 000007
【図６】
2007179460.tif 000008
【図７】
2007179460.tif 000009
【図８】
2007179460.tif 000010
【図９】
2007179460.tif 000011
【図１０】
2007179460.tif 000012
【図１１】
2007179460.tif 000013
【図１２】
2007179460.tif 000014
【図１３】
2007179460.tif 000015