(57)【要約】【課題】基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域において、学習値の更新不足に起因して同学習値がノック発生を抑制するための値として不適切になることを回避する。【解決手段】点火時期指令値ＳＴの算出にはフィードバック項Ｆ及びその徐変値Ｆｓｍに基づき更新される基本学習値ＡＧ(i)が用いられる。この基本学習値ＡＧ(i)としては現在のエンジン運転状態に対応する基本学習領域ｉの値が用いられる。また、基本学習領域ｉ内に設定された複数の多点学習領域ｎでは、同領域ｎに対応した多点学習値ＡＧｄｐ(n)が上記点火時期指令値ＳＴの算出に用いられるとともに徐変値Ｆｓｍに基づき更新される。現在のエンジン運転状態に対応した多点学習領域ｎが所定の領域ｎから別の領域ｎに切り換えられたときには、徐変値Ｆｓｍとフィードバック項Ｆとの一方がクリアされ、他方がクリア禁止される。【選択図】図１
2010265866.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の点火時期を点火時期指令値に基づき同指令値が減少するほど遅角側に制御する点火時期制御装置であって、前記点火時期指令値は、機関運転状態に基づき算出される最大遅角点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項の徐変値に基づき更新される基本学習値による補正を加えることで算出されるものであり、前記基本学習値に関しては、機関運転状態に応じて区画された複数の基本学習領域毎に用意されて現在の機関運転状態に対応する基本学習領域の値が前記徐変値に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、機関運転状態の変化に伴い現在の機関運転状態に対応する基本学習領域が切り換わったとき、前記フィードバック項及び前記徐変値をそれぞれクリアして初期値とする内燃機関の点火時期制御装置において、
前記複数の基本学習領域のうちの少なくとも一つの領域内にあって、内燃機関の経年劣化によるノック発生への影響にばらつきが生じる領域に、機関運転状態に応じて区画された複数の多点学習領域が設定されるとともに、それら多点学習領域毎に前記最大遅角点火時期の補正に用いられる多点学習値が用意され、
前記多点学習値に関しては、現在の機関運転状態が多点学習領域にあるとき、その多点学習領域の値が前記フィードバック項の徐変値に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、
機関運転状態が各多点学習領域の間で移行して現在の機関運転状態に対応した多点学習領域が切り換わったときには、前記徐変値をクリアして初期値とするとともに前記フィードバック項のクリアを禁止する
ことを特徴とする内燃機関の点火時期制御装置。
【請求項２】
前記フィードバック項及び前記徐変値は、機関運転状態が多点学習領域と基本学習領域との間で移行したとき、それぞれクリアされて初期値とされるものであり、
前記フィードバック項は、機関運転状態が複数の多点学習領域のうちのいずれかにあって予め定められた判定時間以上クリアされていないとき、同クリアが実行されて初期値とされる
請求項１記載の内燃機関の点火時期制御装置。
【請求項３】
前記フィードバック項は、機関運転状態の変化に伴い現在の機関運転状態に対応した多点学習領域の切り換えが予め定められた判定回数以上連続して行われたとき、クリアされて初期値とされる
請求項１記載の内燃機関の点火時期制御装置。
【請求項４】
内燃機関の点火時期を点火時期指令値に基づき同指令値が減少するほど遅角側に制御する点火時期制御装置であって、前記点火時期指令値は、機関運転状態に基づき算出される最大遅角点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項の徐変値に基づき更新される基本学習値による補正を加えることで算出されるものであり、前記基本学習値に関しては、機関運転状態に応じて区画された複数の基本学習領域毎に用意されて現在の機関運転状態に対応する基本学習領域の値が前記徐変値に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、機関運転状態の変化に伴い現在の機関運転状態に対応する基本学習領域が切り換わったとき、前記フィードバック項及び前記徐変値をそれぞれクリアして初期値とする内燃機関の点火時期制御装置において、
前記複数の基本学習領域のうちの少なくとも一つの領域内にあって、内燃機関の経年劣化によるノック発生への影響にばらつきが生じる領域に、機関運転状態に応じて区画された複数の多点学習領域が設定されるとともに、それら多点学習領域毎に前記最大遅角点火時期の補正に用いられる多点学習値が用意され、
前記多点学習値に関しては、現在の機関運転状態が多点学習領域にあるとき、その多点学習領域の値が前記フィードバック項の徐変値に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、
機関運転状態が各多点学習領域の間で移行して現在の機関運転状態に対応した多点学習領域が切り換わったときには、前記フィードバック項をクリアして初期値とするとともに前記徐変値のクリアを禁止する
ことを特徴とする内燃機関の点火時期制御装置。
【請求項５】
現在の機関運転状態が多点学習領域にあるときには、前記最大遅角点火時期に対し前記多点学習領域の存在する基本学習領域の基本学習値による補正が加えられるとともに、前記多点学習領域の多点学習値による補正が加えられるものであり、
前記基本学習値及び前記多点学習値の全てが初期値である状態から各々の更新を行う際には、前記基本学習値の更新がある程度行われるまでは前記多点学習値の更新が禁止され、前記基本学習値の更新がある程度行われてから前記多点学習値の更新が許可される
請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
自動車用エンジン等の内燃機関においては、ノックの発生を抑制するための点火時期の遅角を含めて点火時期制御が行われる。
こうした内燃機関の点火時期制御は機関運転状態等に基づき算出される点火時期指令値を用いて行われ、同制御を通じて上記点火時期指令値が減少するほど同機関の点火時期が遅角されることとなる。上記点火時期指令値は、機関運転状態に基づき算出される最大遅角点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項に基づき更新される基本学習値による補正を加えることによって算出される（特許文献１参照）。
【０００３】
点火時期指令値の算出に用いられる上記フィードバック項は、ノック発生ありのときには予め定められた遅角更新量分だけ減量されて点火時期を遅角補正し、ノック発生なしのときには予め定められた進角更新量分だけ増量されて点火時期を進角補正するものである。従って、フィードバック項は、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないときには点火時期を進角させて上記点火時期の遅角によって低下した機関出力を可能な限り回復させるための補正項ということになる。
【０００４】
また、点火時期指令値の算出に用いられる上記基本学習値に関しては、機関運転状態に応じて区画された複数の基本学習領域毎に用意されて現在の機関運転状態に対応したものが上記フィードバック項に基づき更新される。こうした基本学習値の更新は、例えば、上記フィードバック項に徐変処理を施した値である徐変値がその基準値（初期値）を中心とする予め定められた所定範囲内の値となるよう基本学習値を増減させることにより実現される。そして、このように更新される基本学習値は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。
【０００５】
なお、上記点火時期指令値を算出する際に最大遅角点火時期に対し補正を加えるための基本学習値としては、現在の機関運転状態に対応する基本学習領域の基本学習値が用いられる。従って、機関運転状態が所定の基本学習領域から別の基本学習領域に移行すると、それに合わせて上記点火時期指令値の算出に用いられる基本学習値も、上記所定の基本学習領域に対応したものから上記別の基本学習領域に対応したものに切り換えられる。
【０００６】
また、上記のように機関運転状態の変化に伴い現在の機関運転状態に対応する基本学習領域が切り換わったときには、基本学習値の更新に用いられるフィードバック項及び徐変値がそれぞれクリアされて初期値とされる。これにより、上記切り換え後の基本学習領域でフィードバック項及び徐変値に基づく基本学習値の更新を行う際、同基本学習値に上記切り換え前の基本学習領域で増減されたフィードバック項及び徐変値の影響が及ばないようにされる。
【０００７】
ところで、燃焼室内でのデポジットの付着といった内燃機関の経年劣化によるノック発生への影響は、同一の基本学習領域内において、その領域内中における更に細かな機関運転領域によって大きく異なる可能性がある。この場合、基本学習領域毎に設定された基本学習値を用いて点火時期の補正を行うとき、同基本学習領域内での機関運転状態によっては上記基本学習値が内燃機関の経年劣化によるノック発生を抑制するうえで不適切な値となるおそれがある。詳しくは、上記ノック発生を抑制するうえで、上記基本学習値が大きすぎる値となって同ノック発生を効果的に抑制できなくなったり、上記基本学習値が小さすぎる値となって点火時期が過度に遅角側に補正されて内燃機関の出力低下を招いたりするおそれがある。
【０００８】
こうした不具合に対処するため、基本学習領域内において内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域に、特許文献２に示されるように、同基本学習領域よりも細分化された複数の学習領域を設定し、それら細分化された学習領域毎に細分学習値を用意することが考えられる。この場合、現在の機関運転状態が基本学習領域内において内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域にあるときには、上記細分化された学習領域のうち現在の機関運転状態の存在する領域の細分学習値がフィードバック項に基づき更新され、更新後の細分学習値が基本学習値に代えて点火時期の補正に用いられる。
【０００９】
基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域において、同領域を細分化した学習領域毎の細分学習値はそれぞれ、更新が進むことによって上記ばらつきに応じてノック発生を抑制するうえで適切な値となる。そして、更新の進んだ各細分学習値は、上記細分化した学習領域毎における内燃機関の経年劣化によるノック発生への影響のばらつきに応じて、互いに異なる値とされるようになる。そして、上記細分化された学習領域での各々の細分学習値を用いて点火時期を補正することにより、同領域において内燃機関でのノック発生を効果的に抑制できなくなったり、同点火時期が過度に遅角側に補正されて内燃機関の出力低下を招いたりするという不具合が生じることを抑制できるようになる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−１４７１１２公報（段落［００７５］〜［００７８］）
【特許文献２】特開昭６２−４５９５８公報（第６頁左上欄第１３行〜右上欄第４行）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、細分学習値を用いて点火時期の補正を行うことで、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域でも、そのばらつきに応じて点火時期がノック発生を効果的に抑制し得る値となり、且つ過度に遅角側の値となることのないようにすることはできる。
【００１２】
ここで、機関運転状態が基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域内で変化すると、上記細分化した学習領域のうち現在の機関運転状態の存在する学習領域が所定の領域から別の領域に切り換えられる。こうした切り換えが行われるとき、細分学習値の更新に用いられるフィードバック項及び徐変値がそれぞれクリアされて初期値とされると、上記細分化した学習領域での細分学習値が内燃機関の経年劣化によるノック発生を抑制するうえで適切な値とならなくなるおそれがある。
【００１３】
これは、上記細分化した学習領域は、基本学習領域に比べて狭い範囲の領域であることから、機関運転中に上記細分化した学習領域内に現在の機関運転状態が存在し続ける期間が短くなることが関係している。そして、このような状況のもとで、上記細分化した学習領域のうちで現在の機関運転状態の存在する同学習領域が切り換えられる毎に、上述したようにフィードバック項及び徐変値がクリアされて初期値とされることとなる。この場合、細分学習値を内燃機関の経年劣化によるノック発生を抑制するうえで適切な値とするためには、現在の機関運転状態が上記学習領域内に存在し続けている期間中に、細分学習値を初期値から内燃機関の経年劣化によるノック発生を抑制するうえで適切な値となるまで更新しなければならなくなる。しかし、機関運転中に上記学習領域内に現在の機関運転状態が存在し続ける期間は上述したように短くなることから、その学習領域に対応した細分学習値を初期値から上記適切な値となるまで更新することは困難となる。
【００１４】
従って、上記細分化した学習領域のうちで現在の機関運転状態の存在する同学習領域が切り換えられる毎に、上述したようにフィードバック項及び徐変値がクリアされて初期値とされると、上記学習領域での細分学習値が内燃機関の経年劣化によるノック発生を抑制するうえで適切な値とならなくなるおそれがある。この場合、上記細分学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になり、そのノックを効果的に抑制できなくなるおそれがある。
【００１５】
本発明はこのような実情に鑑みてなされたものであって、その目的は、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域において、学習値の更新不足に起因して同学習値がノック発生を抑制するための値として不適切になることを回避できる内燃機関の点火時期制御装置を提供することにある。
【課題を解決するための手段】
【００１６】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１記載の発明によれば、内燃機関の点火時期制御に用いられる点火時期指令値の算出に、ノック発生の有無に応じて増減するフィードバック項が用いられるとともに、同フィードバック項の徐変値に基づき更新される基本学習値が用いられる。この基本学習値としては、現在の機関運転状態に対応する基本学習領域の値が上記徐変値に基づき更新されるとともに上記点火時期指令値の算出に用いられる。また、複数の基本学習領域のうちの少なくとも一つの領域内に設定された複数の多点学習領域のうちのいずれかに現在の運転状態が存在するときには、同機関運転状態の存在する多点学習領域に対応した多点学習値が、上記点火時期指令値の算出に用いられるとともに、フィードバック項の徐変値に基づき更新される。
【００１７】
ここで、上記フィードバック項及び上記徐変値に関しては、現在の機関運転状態が所定の基本学習領域から他の基本学習領域に移行したときそれぞれクリアされて初期値とされる。ただし、現在の機関運転状態が複数の多点学習領域のうち所定の領域から別の領域に移行し、現在の機関運転状態に対応した多点学習領域が上記所定の領域から上記別の領域に切り換えられたときには、徐変値はクリアされて初期値とされるものの、フィードバック項のクリアは禁止されるため、同フィードバック項が初期値とされることはない。
【００１８】
従って、現在の機関運転状態が多点学習領域の間で移行した後、移行後の多点学習領域における多点学習値の更新では、上記クリアの禁止されたフィードバック項、言い換えれば現状のノック発生状態にある程度対応した値となっているフィードバック項及びその徐変値が用いられることとなる。なお、上記移行後の多点学習領域において、そのときのフィードバック項が現状のノック発生状態にある程度対応した値となるのは、各多点学習領域が互いに隣接するとともに基本学習領域に比べて狭い領域となっており、上記移行の前後でのノック発生状態が互いに近い状態になるためと推測される。
【００１９】
上述したように、上記移行後の多点学習領域での多点学習値を上記クリアの禁止されたフィードバック項及びその徐変値に基づき更新することで、同多点学習領域に現在の機関運転状態が存在し続ける期間が短くなるとしても、上記多点学習値を内燃機関の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域に現在の機関運転状態が存在し続ける期間中において、上記多点学習値の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値を上記適切な値とすることができるようになる。
【００２０】
請求項２、３記載の発明によれば、機関運転状態が複数の多点学習領域の間で移行するときにはフィードバック項のクリアが禁止され、そのときに同フィードバック項が初期値とされることはない。このため、機関運転状態が上記複数の多点学習領域に存在している間は、上記フィードバック項のクリアが行われなくなる。
【００２１】
ここで、機関運転状態が複数の多点学習領域のうちの所定の領域に存在するとき、ノック発生の誤検出の連続等によりフィードバック項が大幅に減少側に変化し、その後に機関運転状態が複数の多点学習領域のうちの上記所定の領域とは別の領域に移行するという状況が生じることがある。この場合、機関運転状態が上記所定の領域から上記別の領域に移行するとき、徐変値はクリアされて初期値とされるものの、フィードバック項はクリアされないため、上記別の領域では上述したように大幅に減少側の値となったままのフィードバック項及びその徐変値に基づき多点学習値の更新が行われる。その結果、上記別の領域に対応した多点学習値に対し上記フィードバック項を通じて上記所定の領域でのノック発生の誤検出の影響が反映されてしまい、その多点学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になるおそれがある。
【００２２】
こうした実情を考慮して、請求項２記載の発明では、機関運転状態が複数の多点学習領域のうちのいずれかにあってフィードバック項が予め定められた判定時間以上クリアされていないときには、そのフィードバック項がクリアされて初期値とされる。これにより、機関運転状態が複数の多点学習領域に長時間存在するような状況のもとでも、上記判定時間の経過毎にフィードバック項がクリアされて初期値とされるようになる。従って、上記のようにノック発生の誤検出の連続等によりフィードバック項が大幅に減少側に変化したとき、そのフィードバック項を通じて多点学習値に対し上記ノック発生の誤検出の影響が反映されることが少なくなり、その多点学習値が上記のように内燃機関の経年劣化によるノック発生を抑制するための値として不適切になることは抑制される。
【００２３】
また、請求項３記載の発明では、上記実情を考慮して、機関運転状態が複数の多点学習領域のうちのいずれかにあって、機関運転状態の変化に伴い現在の機関運転状態に対応した多点学習領域の切り換えが予め定められた判定回数以上連続して行われたときには、そのフィードバック項がクリアされて初期値とされる。これにより、機関運転状態が複数の多点学習領域に長時間存在するような状況のもとでも、定期的にフィードバック項がクリアされて初期値とされるようになる。従って、上記のようにノック発生の誤検出の連続等によりフィードバック項が大幅に減少側に変化したとき、そのフィードバック項を通じて多点学習値に対し上記ノック発生の誤検出の影響が反映されることが少なくなり、その多点学習値が上記のように内燃機関の経年劣化によるノック発生を抑制するための値として不適切になることは抑制される。
【００２４】
請求項４記載の発明によれば、内燃機関の点火時期制御に用いられる点火時期指令値の算出に、ノック発生の有無に応じて増減するフィードバック項が用いられるとともに、同フィードバック項の徐変値に基づき更新される基本学習値が用いられる。この基本学習値としては、現在の機関運転状態に対応する基本学習領域の値が上記徐変値に基づき更新されるとともに上記点火時期指令値の算出に用いられる。また、複数の基本学習領域のうちの少なくとも一つの領域内に設定された複数の多点学習領域のうちのいずれかに現在の運転状態が存在するときには、同機関運転状態の存在する多点学習領域に対応した多点学習値が、上記点火時期指令値の算出に用いられるとともに、フィードバック項の徐変値に基づき更新される。
【００２５】
ここで、上記フィードバック項及び上記徐変値に関しては、現在の機関運転状態から所定の基本学習領域から他の基本学習領域に移行したときにはそれぞれクリアされて初期値とされる。ただし、現在の機関運転状態が複数の多点学習領域のうち所定の領域から別の領域に移行し、現在の機関運転状態に対応した多点学習領域が上記所定の領域から上記別の領域に切り換えられたときには、フィードバック項はクリアされて初期値とされるものの、徐変値のクリアは禁止されるため、同徐変値が初期値とされることはない。
【００２６】
従って、現在の機関運転状態が多点学習領域の間で移行した後、移行後の多点学習領域における多点学習値の更新では、上記クリアの禁止された徐変値、言い換えれば現状のノック発生状態にある程度対応した値となっている徐変値が用いられることとなる。なお、上記移行後の多点学習領域において、そのときの徐変値が現状のノック発生状態にある程度対応した値となるのは、各多点学習領域が互いに隣接するとともに基本学習領域に比べて狭い領域となっており、上記移行の前後でのノック発生状態が互いに近い状態になるためと推測される。
【００２７】
上述したように、上記移行後の多点学習領域での多点学習値を上記クリアの禁止された徐変値に基づき更新することで、その多点学習領域に現在の機関運転状態が存在し続ける期間が短くなるとしても、上記多点学習値を内燃機関の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域に現在の機関運転状態が存在し続ける期間中において、上記多点学習値の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値を上記適切な値とすることができるようになる。
【００２８】
請求項５記載の発明によれば、基本学習値及び多点学習値の全てが初期値である状態から各々の更新を行う際には、多点学習値の更新が基本学習値の更新がある程度行われた後に開始されるため、その多点学習値の更新開始が遅れることは避けられない。このため、上記多点学習値の更新開始が遅れ、それに加えて同多点学習値の更新の進み方が不足するというおそれがあることから、上記多点学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になる可能性がより一層高くなる。しかし、上記多点学習値の更新の進み方が不足することが抑制されるため、多点学習値が上記のように不適切になることは抑制される。
【図面の簡単な説明】
【００２９】
【図１】本実施形態の点火時期制御装置が適用されるエンジン全体を示す略図。
【図２】点火時期指令値を算出するためのフィードバック項及びその徐変値の推移を示すタイムチャート。
【図３】基本学習領域及び多点学習領域を示す説明図。
【図４】点火時期指令値の算出の概要を示す説明図。
【図５】点火時期指令値の算出の概要を示す説明図。
【図６】第１実施形態でのフィードバック項のクリア禁止を採用した場合の同フィードバック項及びその徐変値の推移の一例を示したタイムチャート。
【図７】第１実施形態におけるフィードバック項及びその徐変値のクリアの実行手順を示すフローチャート。
【図８】第２実施形態での徐変値のクリア禁止を採用した場合のフィードバック項及びその徐変値の推移の一例を示したタイムチャート。
【図９】第２実施形態におけるフィードバック項及びその徐変値のクリアの実行手順を示すフローチャート。
【発明を実施するための形態】
【００３０】
［第１実施形態］
以下、本発明を自動車用エンジンの点火時期制御装置に具体化した第１実施形態を図１〜図７に従って説明する。
【００３１】
図１に示されるエンジン１においては、その燃焼室２に吸気通路３を通じて空気が吸入されるとともに、燃料噴射弁４から噴射された燃料が同燃焼室２に供給される。この空気と燃料とからなる混合気に対し点火プラグ５による点火が行われると、同混合気が燃焼してピストン６が往復移動し、エンジン１の出力軸であるクランクシャフト７が回転する。そして、燃焼後の混合気は排気として各燃焼室２から排気通路８に送り出される。
【００３２】
こうしたエンジン１の点火時期制御装置は、同エンジン１の各種運転制御を実行する電子制御装置２６を備えている。この電子制御装置２６は、上記制御に係る各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果等が一時記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００３３】
電子制御装置２６の入力ポートには、以下に示す各種センサが接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダル２７の踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２８。
【００３４】
・吸気通路３に設けられたスロットルバルブ２９の開度（スロットル開度）を検出するスロットルポジションセンサ３０。
・エンジン１でのノック発生を検出するノックセンサ３１。
【００３５】
・吸気通路３を通じて燃焼室２に吸入される空気の量を検出するエアフローメータ３２。
・クランクシャフト７の回転に対応する信号を出力し、エンジン回転速度（機関回転速度）の算出等に用いられるクランクポジションセンサ３４。
【００３６】
また、電子制御装置２６の出力ポートには、点火プラグ５の駆動回路及びスロットルバルブ２９の駆動回路等が接続されている。
そして、電子制御装置２６は、上記各種センサから入力した検出信号に基づき、エンジン回転速度やエンジン負荷（エンジン１の１サイクル当たりに燃焼室２に吸入される空気の量）といったエンジン運転状態を把握する。なお、エンジン回転速度はクランクポジションセンサ３４からの検出信号に基づき求められる。また、エンジン負荷は、アクセルポジションセンサ２８、スロットルポジションセンサ３０、及び、エアフローメータ３２等の検出信号に基づき求められるエンジン１の吸入空気量とエンジン回転速度とから算出される。電子制御装置２６は、エンジン負荷やエンジン回転速度といったエンジン運転状態に応じて、上記出力ポートに接続された各種駆動回路に指令信号を出力する。こうしてエンジン１の点火時期制御等の各種運転制御が電子制御装置２６を通じて実施される。
【００３７】
次に、エンジン１の点火時期制御の概要について説明する。
エンジン１の点火時期に関しては、エンジン運転状態等から求められる点火時期指令値ＳＴに基づき、同点火時期指令値ＳＴが減少するほど遅角側に制御されることとなる。同点火時期指令値ＳＴは、例えば、エンジン運転状態に基づき算出される最大遅角点火時期ＡＫｍａｘに対し、ノック発生の有無に応じて増減するフィードバック項Ｆによる補正を加えるとともに、そのフィードバック項Ｆに基づき更新される基本学習値ＡＧ(i) による補正を加えることによって算出される。
【００３８】
上記点火時期指令値ＳＴの算出に用いられる最大遅角点火時期ＡＫｍａｘは、エンジン負荷及びエンジン回転速度に基づき標準的な環境条件下においてノックを生じさせない最も進角側の点火時期として算出されるベース点火時期ＢＴから、実験等により予め定められた固定値であるノック余裕代Ｒを減算することにより算出される。このように算出された最大遅角点火時期ＡＫｍａｘは、上記ベース点火時期ＢＴからノック余裕代Ｒだけ遅角させた値となり、最もノックが発生しやすい環境条件下においてノックを生じさせない最も進角側の点火時期を表す値となる。なお、上記環境条件としては気温、湿度、大気圧、及びエンジン冷却水温等があげられ、これらの条件に応じてエンジン１でのノックの発生しやすさが変化することとなる。
【００３９】
上記点火時期指令値ＳＴの算出に用いられるフィードバック項Ｆは、ノックセンサ３１からの検出信号に基づきノック発生ありの旨判断されたときには予め定められた遅角更新量ａ分だけ減量されて点火時期を遅角補正し、ノック発生なしの旨判断されたときには予め定められた進角更新量ｂ分だけ増量されて点火時期を進角補正するものである。こうしたフィードバック項Ｆのノック発生の有無に基づく推移の一例を図２に実線で示す。このように推移するフィードバック項Ｆは、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないときには点火時期を進角させて上記点火時期の遅角によって低下したエンジン出力を可能な限り回復させるための補正項ということになる。
【００４０】
上記点火時期指令値ＳＴの算出に用いられる基本学習値ＡＧ(i) は、エンジン負荷及びエンジン回転速度といったエンジン運転状態に応じて区画された複数（この例では「３」）の基本学習領域ｉ（ｉ＝１、２、３）毎に用意されている。そして、点火時期指令値ＳＴの算出に用いられる基本学習値ＡＧ(i) としては、現在のエンジン運転状態に対応する基本学習領域ｉの値が用いられることとなる。また、現在のエンジン運転状態のある基本学習領域ｉでは、フィードバック項Ｆに徐変処理を施した値である徐変値Ｆｓｍに基づき基本学習値ＡＧ(i) の更新が行われる。こうした徐変値Ｆｓｍは、上記フィードバック項Ｆが図２に実線で示されるように推移したとすると、例えば同図に破線で示されるように推移することとなる。
【００４１】
上記基本学習値ＡＧ(i) の更新に関しては、例えば、上記徐変値Ｆｓｍがその基準値（初期値）を中心とする予め定められた所定範囲Ｈ内の値となるよう基本学習値ＡＧ(i) を増減させることによって実現される。詳しくは、所定の時間間隔をおいた更新タイミング毎に、徐変値Ｆｓｍが上記所定範囲Ｈから外れているか否かが判断される。そして、上記徐変値Ｆｓｍが上記所定範囲Ｈに対し増加側に外れているときには基本学習値ＡＧ(i) が予め定められた進角更新量Ｋ１だけ増大され、上記徐変値Ｆｓｍが上記所定範囲Ｈに対し減少側に外れているときには基本学習値ＡＧ(i) が予め定められた遅角更新量Ｋ２だけ減少される。ちなみに、図２の例においては、タイミングＴ１以降で徐変値Ｆｓｍが上記所定範囲Ｈに対し減少側に外れており、そのときに上記更新タイミングを迎えると、基本学習値ＡＧ(i) が予め定められた遅角更新量Ｋ２だけ減少される。以上のように更新される基本学習値ＡＧ(i) は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。
【００４２】
ここで、燃焼室２内でのデポジットの付着などエンジン１の経年劣化が生じると、同エンジン１でノックが発生しやすくなることから、それに基づいて基本学習値ＡＧ(i) が減少側の値に更新される。そして、上記更新後の基本学習値ＡＧ(i) を用いて点火時期を補正することで、エンジン１の経年劣化によってノックが発生しやすくなることの抑制が図られる。
【００４３】
ところで、燃焼室２内でのデポジットの付着といったエンジン１の経年劣化によるノック発生への影響は、同一の基本学習領域ｉ内において、その領域ｉ内中における更に細かなエンジン運転領域によって大きく異なる可能性がある。この場合、基本学習領域ｉ毎に設定された基本学習値ＡＧ(i) を用いて点火時期の補正を行うとき、同基本学習領域ｉ内でのエンジン運転状態によっては上記基本学習値ＡＧ(i) がエンジン１の経年劣化によるノック発生を抑制するうえで不適切な値となるおそれがある。詳しくは、上記ノック発生を抑制するうえで、上記基本学習値ＡＧ(i) が大きすぎる値となって同ノック発生を効果的に抑制できなくなったり、上記基本学習値ＡＧ(i) が小さすぎる値となって点火時期が過度に遅角側に補正されてエンジン１の出力低下を招いたりするおそれがある。
【００４４】
こうしたことを抑制するため、本実施形態では、以下の式（１）から求められる点火時期指令値ＳＴに基づきエンジン１の点火時期制御を行うようにしている。
ＳＴ＝ＡＫｍａｘ＋Ｆ＋ＡＧ(i) ＋ＡＧｄｐ(n)   …（１）
ＳＴ        ：点火時期指令値
ＡＫｍａｘ  ：最大遅角点火時期
Ｆ          ：フィードバック項
ＡＧ(i)     ：基本学習値
ＡＧｄｐ(n) ：多点学習値
この式（１）の多点学習値ＡＧｄｐ(n) は、燃焼室２内でのデポジットの付着などエンジン１の経年劣化が生じたとき、その経年劣化によるノック発生への影響のばらつきに対応して点火時期を補正するための補正項である。この多点学習値ＡＧｄｐ(n) は、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域にエンジン運転状態に応じて同基本学習領域ｉよりも更に細かく区画された複数の多点学習領域ｎ毎に用意されている。
【００４５】
図３は、上記基本学習領域ｉ及び多点学習領域ｎを示したものである。この例では、基本学習領域ｉとして、エンジン回転速度に応じて三つに区画された基本学習領域ｉ（ｉ＝１、２、３）が設定されている。また、複数の基本学習領域ｉのうちエンジン回転速度の変化方向について最も低回転側に存在する基本学習領域ｉ（ｉ＝１）内において、エンジン負荷の変化方向について低負荷側の領域には、複数の多点学習領域ｎが設定されている。これは、こうした領域において、エンジン１の経年劣化によるノック発生への影響の度合いのばらつきが大きくなるためである。
【００４６】
上記各多点学習領域ｎの多点学習値ＡＧｄｐ(n) のうち、エンジン１の運転時に現在のエンジン運転状態のある多点学習領域ｎに対応したものがフィードバック項Ｆに基づき更新される。詳しくは、基本学習値ＡＧ(i) の更新と同様、フィードバック項Ｆに徐変処理を施した値である徐変値Ｆｓｍが所定範囲Ｈ内に収束するよう多点学習値ＡＧｄｐ(n) を増減させることにより、同多点学習値ＡＧｄｐ(n) の更新が実現されるようになる。従って、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域では、そのばらつきに応じて同領域を細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ(n) をそれぞれノック発生を抑制するうえで適切な値とすることができる。なお、現在のエンジン運転状態が多点学習領域ｎ内にあるときには、その多点学習領域ｎの存在する基本学習領域ｉの基本学習値ＡＧ(i) のフィードバック項Ｆに基づく更新は行われないようにされる。
【００４７】
上記式（１）の多点学習値ＡＧｄｐ(n) としては、現在のエンジン運転状態が複数の多点学習領域ｎ内のいずれかにあるときには、同エンジン運転状態のある多点学習領域ｎに対応したものが用いられる。また、現在のエンジン運転状態が複数の多点学習領域ｎのうちのいずれにもないときには、式（１）の多点学習値ＡＧｄｐ(n) が「０」に設定されることとなる。このため、現在のエンジン運転状態が複数の多点学習領域ｎのうちのいずれにもないときには、点火時期指令値ＳＴが多点学習値ＡＧｄｐ(n) を用いずに算出されることになり、点火時期の同多点学習値ＡＧｄｐ(n) による補正も行われなくなる。
【００４８】
ちなみに、自動車の納車直後などにおいては、基本学習値ＡＧ(i) 及び多点学習値ＡＧｄｐ(n) 全てが初期値である状態から各々の更新を行うという状況が生じる。この場合、多点学習領域ｎの存在する基本学習領域ｉでは、まず基本学習値ＡＧ(i) の更新をある程度行ってから多点学習値ＡＧｄｐ(n) の更新を行うことが好ましい。このため、上述した状況のもとでは、上記多点学習値ＡＧｄｐ(n) の更新に対し基本学習値ＡＧ(i) の更新を優先して行うことを意図して、以下のように多点学習値ＡＧｄｐ(n) の更新が行われることとなる。すなわち、上記基本学習値ＡＧ(i) の更新がある程度行われるまでは多点学習値ＡＧｄｐ(n) の更新が禁止され、同基本学習値ＡＧ(i) の更新がある程度行われてから多点学習値ＡＧｄｐ(n) の更新が許可される。
【００４９】
上記式（１）から求められる点火時期指令値ＳＴに基づきエンジン１の点火時期制御を行うことで、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域では、最大遅角点火時期ＡＫｍａｘに対し多点学習値ＡＧｄｐ(n) に基づく補正が加えられる。更に、その補正後の値に対し基本学習値ＡＧ(i) に基づく補正が加えられることとなる。この多点学習値ＡＧｄｐ(n) は、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域に同基本学習領域ｉよりも細かく区画された複数の多点学習領域ｎ毎に用意されたものであり、現在のエンジン運転状態のある多点学習領域ｎに対応したものが用いられる。
【００５０】
こうした多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍａｘの補正により、基本学習領域ｉ内であってエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域においても、同経年劣化等に起因する同エンジン１での定常的なノック発生を的確に抑制することができる。言い換えれば、基本学習領域ｉ内であってエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域において、エンジン１でのノック発生を効果的に抑制できなくなったり、同点火時期が過度に遅角側に補正されてエンジン１の出力低下を招いたりするという不具合が生じることを抑制できるようになる。
【００５１】
図４は、エンジン運転状態が多点学習領域ｎにあり、同領域ｎの多点学習値ＡＧｄｐ(n) が負の値であるときの点火時期指令値ＳＴの算出の概要を示している。また、図５は、エンジン運転状態が多点学習領域ｎにあり、同領域ｎの多点学習値ＡＧｄｐ(n) が正の値であるときの点火時期指令値ＳＴの算出の概要を示している。これらの図に示されるように、上記点火時期指令値ＳＴに関しては、最大遅角点火時期ＡＫｍａｘに対し、上記多点学習領域ｎに対応する多点学習値ＡＧｄｐ(n) による補正が加えられるとともに、同多点学習領域ｎの存在する基本学習領域ｉに対応する基本学習値ＡＧ(i) による補正が加えられる。この状態にあって、ノック発生の有無に応じてフィードバック項Ｆが増減されると、そのフィードバック項Ｆの増減分だけ点火時期指令値ＳＴが矢印Ｙ１又は矢印Ｙ２で示されるように増減する。そして、この増減するフィードバック項Ｆの徐変値Ｆｓｍが所定範囲Ｈ内の値となるよう多点学習値ＡＧｄｐ(n) が増減されることにより、同多点学習値ＡＧｄｐ(n) の更新が実現されることとなる。
【００５２】
次に、エンジン運転状態の変化に伴って現在のエンジン運転状態に対応する学習領域が切り換えられるときのフィードバック項Ｆ及び徐変値Ｆｓｍの処理について、詳しく説明する。
【００５３】
現在のエンジン運転状態が基本学習領域ｉ内であって多点学習領域ｎ以外の領域にあるとき、エンジン運転状態の変化に伴って現在のエンジン運転状態に対応する基本学習領域ｉが切り換わると、基本学習値ＡＧ(i) の更新に用いられるフィードバック項Ｆ及び徐変値Ｆｓｍがそれぞれクリアされて初期値とされる。これは、上記切り換え後の基本学習領域ｉでフィードバック項Ｆ及び徐変値Ｆｓｍに基づく基本学習値ＡＧ(i) の更新を行う際、同基本学習値ＡＧ(i) に上記切り換え前の基本学習領域ｉで増減されたフィードバック項Ｆ及び徐変値Ｆｓｍの影響が及ばないようにするためである。
【００５４】
ところで、基本学習領域ｉ内に複数の多点学習領域ｎを設定した場合、現在のエンジン運転状態が複数の多点学習領域ｎ内にあって、エンジン運転状態の変化に伴って現在のエンジン運転状態の存在する多点学習領域ｎが切り換わるという状況が生じる。このように現在のエンジン運転状態の存在する多点学習領域ｎが切り換わったとき、フィードバック項Ｆ及び徐変値Ｆｓｍが上記と同様にそれぞれクリアされて初期値とされると、次のような不具合が生じるおそれがある。すなわち、上記フィードバック項Ｆ及徐変値Ｆｓｍに基づき更新される多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するうえで適切な値とならなくなるおそれがある。
【００５５】
これは、上記多点学習領域ｎは、基本学習領域ｉに比べて狭い範囲の領域であることから、エンジン運転中に同多点学習領域ｎ内に現在のエンジン運転状態が存在し続ける期間が短くなることが関係している。そして、このような状況のもとで、上記各多点学習領域ｎのうちで現在のエンジン運転状態の存在する同多点学習領域ｎが切り換えられる毎に、上述したようにフィードバック項Ｆ及び徐変値Ｆｓｍがクリアされて初期値とされることとなる。この場合、多点学習値ＡＧｄｐ(n) をエンジン１の経年劣化によるノック発生を抑制するうえで適切な値とするためには、現在のエンジン運転状態が上記多点学習領域ｎ内に存在し続けている期間中に、多点学習値ＡＧｄｐ(n) を初期値からエンジン１の経年劣化によるノック発生を抑制するうえで適切な値となるまで更新しなければならなくなる。しかし、エンジン運転中に上記多点学習領域ｎ内に現在のエンジン運転状態が存在し続ける期間は上述したように短くなることから、その多点学習領域ｎに対応した多点学習値ＡＧｄｐ(n) を初期値から上記適切な値となるまで更新することは困難となる。
【００５６】
従って、上記各多点学習領域ｎのうちで現在のエンジン運転状態の存在する同多点学習領域ｎが切り換えられる毎に、上述したようにフィードバック項Ｆ及び徐変値Ｆｓｍがクリアされて初期値とされると、上記多点学習領域ｎでの多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するうえで適切な値とならなくなるおそれがある。この場合、上記多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になり、そのノックを効果的に抑制できなくなるおそれがある。
【００５７】
そこで本実施形態では、エンジン運転状態が各多点学習領域ｎの間で移行して現在のエンジン運転状態に対応した多点学習領域ｎが切り換わったときには、上記徐変値Ｆｓｍをクリアして初期値とするとともに上記フィードバック項Ｆのクリアを禁止する。
【００５８】
なお、図６は、上述したフィードバック項Ｆのクリア禁止を採用した場合の同フィードバック項Ｆ及び徐変値Ｆｓｍの推移の一例を示したタイムチャートである。同図においては、タイミングＴ２でエンジン運転状態が各多点学習領域ｎの間で移行して現在のエンジン運転状態に対応した多点学習領域ｎが切り換わっている。同図から分かるように、タイミングＴ２では、徐変値Ｆｓｍ（破線）はクリアされて初期値とされており、フィードバック項Ｆ（実線）はクリア禁止されてそれまでの値に保持されている。
【００５９】
現在のエンジン運転状態が多点学習領域ｎの間で移行した後（Ｔ２以後）、移行後の多点学習領域ｎにおける多点学習値ＡＧｄｐ(n) の更新では、上記クリアの禁止されたフィードバック項Ｆ、言い換えれば現状のノック発生状態にある程度対応した値となっているフィードバック項Ｆ及びその徐変値Ｆｓｍが用いられることとなる。なお、上記移行後の多点学習領域ｎにおいて、そのときのフィードバック項Ｆが現状のノック発生状態にある程度対応した値となるのは、各多点学習領域ｎが互いに隣接するとともに基本学習領域ｉに比べて狭い領域となっており、上記移行の前後でのノック発生状態が互いに近い状態になるためと推測される。
【００６０】
上記のように、上記移行後の多点学習領域ｎでの多点学習値ＡＧｄｐ(n) を上記クリアの禁止されたフィードバック項Ｆを用いて更新することで、同多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間が短くなるとしても、上記多点学習値ＡＧｄｐ(n) をエンジン１の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間中において、上記多点学習値ＡＧｄｐ(n) の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値ＡＧｄｐ(n) を上記適切な値とすることができるようになる。
【００６１】
次に、上記フィードバック項Ｆ及び上記徐変値Ｆｓｍのクリアの詳細な実行手順について、クリア実行ルーチンを示す図７のフローチャートを参照して説明する。このクリア実行ルーチンは、電子制御装置２６を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００６２】
同ルーチンにおいては、現在のエンジン運転状態に対応した学習領域が基本学習領域ｉの間で切り換えられたか否かの判断（Ｓ１０１）、及び、現在のエンジン運転状態に対応した学習領域が基本学習領域ｉと多点学習領域ｎとの間で切り換えられたか否かの判断（Ｓ１０２）が行われる。ここで、ステップＳ１０１とステップＳ１０２とのいずれか一方で肯定判定であれば、フィードバック項Ｆ及び徐変値Ｆｓｍがそれぞれクリアされて初期値とされる（Ｓ１０３）。また、現在のエンジン運転状態に対応した学習領域が多点学習領域ｎの間で切り換えられたか否かも判断され（Ｓ１０４）、ここで肯定判定であれば徐変値Ｆｓｍがクリアされて初期値とされるとともにフィードバック項Ｆのクリアが禁止される（Ｓ１０５）。
【００６３】
ところで、エンジン運転状態が複数の多点学習領域ｎの間で移行するときには、上述したようにフィードバック項Ｆのクリアが禁止され、そのときに同フィードバック項が初期値とされることはない。このため、エンジン運転状態が上記複数の多点学習領域ｎに存在している間は、上記フィードバック項Ｆのクリアが行われなくなる。
【００６４】
ここで、エンジン運転状態が複数の多点学習領域ｎのうちの所定の領域に存在するとき、ノック発生の誤検出の連続等によりフィードバック項Ｆが大幅に減少側に変化し、その後にエンジン運転状態が複数の多点学習領域ｎのうちの上記所定の領域とは別の領域に移行するという状況が生じることがある。この場合、エンジン運転状態が上記所定の領域から上記別の領域に移行するとき、徐変値Ｆｓｍはクリアされて初期値とされるものの、フィードバック項Ｆはクリアされないため、上記別の領域では上述したように大幅に減少側の値となったままのフィードバック項Ｆ及びその徐変値Ｆｓｍに基づき多点学習値ＡＧｄｐ(n) の更新が行われる。その結果、上記別の領域に対応した多点学習値ＡＧｄｐ(n) に対し上記フィードバック項Ｆを通じて上記所定の領域でのノック発生の誤検出の影響が反映されてしまい、その多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になるおそれがある。
【００６５】
クリア実行ルーチンにおけるステップＳ１０６〜Ｓ１０８の処理は、こうした問題に対処するためのものである。この一連の処理では、エンジン運転状態が複数の多点学習領域ｎのうちのいずれかにあり（Ｓ１０６：ＹＥＳ）、フィードバック項Ｆが予め定められた判定時間以上クリアされていないとき（Ｓ１０７：ＹＥＳ）、そのフィードバック項Ｆがクリアされて初期値とされる（Ｓ１０８）。なお、上記判定時間としては、予め実験等により定められた最適な時間が採用される。
【００６６】
これにより、エンジン運転状態が複数の多点学習領域ｎに長時間存在するような状況のもとでも、上記判定時間の経過毎にフィードバック項Ｆがクリアされて初期値とされるようになる。従って、上記のようにノック発生の誤検出の連続等によりフィードバック項Ｆが大幅に減少側に変化したとき、そのフィードバック項Ｆを通じて多点学習値ＡＧｄｐ(n) に対し上記ノック発生の誤検出の影響が反映されることが少なくなる。その結果、多点学習値ＡＧｄｐ(n) が上記のようにエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることは抑制される。
【００６７】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）上記フィードバック項Ｆ及び上記徐変値Ｆｓｍに関しては、現在のエンジン運転状態から所定の基本学習領域ｉから他の基本学習領域ｉに移行したときにはそれぞれクリアされて初期値とされる。ただし、現在のエンジン運転状態が複数の多点学習領域ｎのうち所定の領域から別の領域に移行し、現在のエンジン運転状態に対応した多点学習領域ｎが上記所定の領域から上記別の領域に切り換えられたときには、徐変値Ｆｓｍはクリアされて初期値とされるものの、フィードバック項Ｆのクリアは禁止される。このため、そのときにフィードバック項Ｆが初期値とされることはない。従って、現在のエンジン運転状態が多点学習領域ｎの間で移行した後、移行後の多点学習領域ｎにおける多点学習値ＡＧｄｐ(n) の更新では、上記クリアの禁止されたフィードバック項Ｆ、言い換えれば現状のノック発生状態にある程度対応した値となっているフィードバック項Ｆ及びその徐変値Ｆｓｍが用いられることとなる。
【００６８】
このように、上記移行後の多点学習領域ｎでの多点学習値ＡＧｄｐ(n) を上記クリアの禁止されたフィードバック項Ｆを用いて更新することで、同多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間が短くなるとしても、上記多点学習値ＡＧｄｐ(n) をエンジン１の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間中において、上記多点学習値ＡＧｄｐ(n) の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値ＡＧｄｐ(n) を上記適切な値とすることができるようになる。
【００６９】
（２）エンジン運転状態が上記複数の多点学習領域ｎに存在している間、上記フィードバック項Ｆのクリア禁止により、同フィードバック項Ｆのクリアが行われなくなると、次のような問題が生じる。すなわち、エンジン運転状態が複数の多点学習領域ｎのうちの所定の領域に存在するとき、ノック発生の誤検出の連続等によりフィードバック項Ｆが大幅に減少側に変化し、その後にエンジン運転状態が複数の多点学習領域ｎのうちの上記所定の領域とは別の領域に移行するという状況が生じたとする。この場合、エンジン運転状態が上記所定の領域から上記別の領域に移行するとき、徐変値Ｆｓｍはクリアされて初期値とされるものの、フィードバック項Ｆはクリアされないため、上記別の領域では上述したように大幅に減少側の値となったままのフィードバック項Ｆ及びその徐変値Ｆｓｍに基づき多点学習値ＡＧｄｐ(n) の更新が行われる。その結果、上記別の領域に対応した多点学習値ＡＧｄｐ(n) に対し上記フィードバック項Ｆを通じて上記所定の領域でのノック発生の誤検出の影響が反映されてしまい、その多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になるおそれがある。
【００７０】
しかし、エンジン運転状態が複数の多点学習領域ｎのうちのいずれかにあって、フィードバック項Ｆが予め定められた判定時間以上クリアされていないときには、同フィードバック項Ｆがクリアされて初期値とされる。これにより、エンジン運転状態が複数の多点学習領域ｎに長時間存在するような状況のもとでも、上記判定時間の経過毎にフィードバック項Ｆがクリアされて初期値とされるようになる。従って、上記のようにノック発生の誤検出の連続等によりフィードバック項Ｆが大幅に減少側に変化したとき、そのフィードバック項Ｆを通じて多点学習値ＡＧｄｐ(n) に対し上記ノック発生の誤検出の影響が反映されることが少なくなる。その結果、多点学習値ＡＧｄｐ(n) が上記のようにエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることは抑制される。
【００７１】
（３）自動車の納車直後など、基本学習値ＡＧ(i) 及び多点学習値ＡＧｄｐ(n) 全てが初期値である状態から各々の更新を行う際には、多点学習値ＡＧｄｐ(n) の更新が基本学習値ＡＧ(i) の更新がある程度行われた後に開始されるため、その多点学習値ＡＧｄｐ(n) の更新開始が遅れることは避けられない。このため、上記多点学習値ＡＧｄｐ(n) の更新開始が遅れ、それに加えて同多点学習値ＡＧｄｐ(n) の更新の進み方が上述したように不足するというおそれがあることから、上記多点学習値が内燃機関の経年劣化によるノック発生を抑制するための値として不適切になる可能性がより一層高くなる。しかし、多点学習値ＡＧｄｐ(n) の更新の進み方が不足することは上記（１）に示されるように抑制されるため、多点学習値ＡＧｄｐ(n) が上記のように不適切になることは抑制される。
【００７２】
［第２実施形態］
次に、本発明の第２実施形態を図８及び図９に基づき説明する。
この実施形態は、エンジン運転状態が各多点学習領域ｎの間で移行して現在のエンジン運転状態に対応した多点学習領域ｎが切り換わったとき、フィードバック項Ｆをクリアして初期値とするとともに徐変値Ｆｓｍのクリアを禁止するようにしたものである。このようにしても第１実施形態の（１）と同等の効果が得られる。
【００７３】
なお、図８は、上述した徐変値Ｆｓｍのクリア禁止を採用した場合の同フィードバック項Ｆ及び徐変値Ｆｓｍの推移の一例を示したタイムチャートである。同図においては、タイミングＴ３でエンジン運転状態が各多点学習領域ｎの間で移行して現在のエンジン運転状態に対応した多点学習領域ｎが切り換わっている。同図から分かるように、タイミングＴ３では、フィードバック項Ｆ（実線）はクリアされて初期値とされており、徐変値Ｆｓｍ（破線）はクリア禁止されてそれまでの値に保持されている。
【００７４】
現在のエンジン運転状態が多点学習領域ｎの間で移行した後（Ｔ３以後）、移行後の多点学習領域ｎにおける多点学習値ＡＧｄｐ(n) の更新では、上記クリアの禁止された徐変値Ｆｓｍ、言い換えれば現状のノック発生状態にある程度対応した値となっている徐変値Ｆｓｍが用いられることとなる。なお、上記移行後の多点学習領域ｎにおいて、そのときの徐変値Ｆｓｍが現状のノック発生状態にある程度対応した値となるのは、各多点学習領域ｎが互いに隣接するとともに基本学習領域ｉに比べて狭い領域となっており、上記移行の前後でのノック発生状態が互いに近い状態になるためと推測される。
【００７５】
上記のように、上記移行後の多点学習領域ｎでの多点学習値ＡＧｄｐ(n) を上記クリアの禁止された徐変値Ｆｓｍを用いて更新することで、同多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間が短くなるとしても、上記多点学習値ＡＧｄｐ(n) をエンジン１の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間中において、上記多点学習値ＡＧｄｐ(n) の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値ＡＧｄｐ(n) を上記適切な値とすることができるようになる。
【００７６】
図９は、本実施形態のクリア実行ルーチンを示すフローチャートである。このクリア実行ルーチンは、第１実施形態におけるクリア実行ルーチンに対し、同ルーチンのステップＳ１０５以降（図７）に相当する処理（Ｓ２０５）が異なっている。
【００７７】
同ルーチンにおいては、現在のエンジン運転状態に対応した学習領域が基本学習領域ｉの間で切り換えられたとき、及び、基本学習領域ｉと多点学習領域ｎとの間で切り換えられたとき、フィードバック項Ｆ及び徐変値Ｆｓｍがそれぞれクリアされて初期値とされる（Ｓ２０１〜Ｓ２０３）。また、現在のエンジン運転状態に対応した学習領域が多点学習領域ｎの間で切り換えられたか否かも判断されたときには（Ｓ２０４：ＹＥＳ）、フィードバック項Ｆがクリアされて初期値とされるとともに徐変値Ｆｓｍのクリアが禁止される（Ｓ２０５）。
【００７８】
本実施形態によれば、以下に示す効果が得られるようになる。
（４）現在のエンジン運転状態が複数の多点学習領域ｎのうち所定の領域から別の領域に移行し、現在のエンジン運転状態に対応した多点学習領域ｎが上記所定の領域から上記別の領域に切り換えられたときには、フィードバック項Ｆはクリアされて初期値とされるものの、徐変値Ｆｓｍのクリアは禁止される。このため、そのときに徐変値Ｆｓｍが初期値とされることはない。従って、現在のエンジン運転状態が多点学習領域ｎの間で移行した後、移行後の多点学習領域ｎにおける多点学習値ＡＧｄｐ(n) の更新では、上記クリアの禁止された徐変値Ｆｓｍ、言い換えれば現状のノック発生状態にある程度対応した値となっている徐変値Ｆｓｍが用いられることとなる。
【００７９】
このように、上記移行後の多点学習領域ｎでの多点学習値ＡＧｄｐ(n) を上記クリアの禁止された徐変値Ｆｓｍを用いて更新することで、同多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間が短くなるとしても、上記多点学習値ＡＧｄｐ(n) をエンジン１の経年劣化によるノック発生を抑制するうえでの適切な値とすることができる。詳しくは、上記多点学習領域ｎに現在のエンジン運転状態が存在し続ける期間中において、上記多点学習値ＡＧｄｐ(n) の更新の進み方が不足することは抑制され、その不足に伴い上記多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることが回避される。これにより、上記多点学習値ＡＧｄｐ(n) を上記適切な値とすることができるようになる。
【００８０】
［その他の実施形態］
なお、上記各実施形態は、例えば以下のように変更することもできる。
・第１実施形態において、エンジン運転状態が複数の多点学習領域ｎにあって、エンジン運転状態の変化に伴い現在のエンジン運転状態に対応した多点学習領域ｎの切り換えが予め定められた判定回数以上連続して行われたとき、フィードバック項Ｆをクリアして初期値とするようにしてもよい。なお、上記判定回数としては予め実験等により定められた最適な値が採用される。この場合、第１実施形態の（２）と同等の効果が得られる。すなわち、エンジン運転状態が複数の多点学習領域ｎに長時間存在するような状況のもとでも、上記判定回数の到達毎にフィードバック項Ｆがクリアされて初期値とされるようになる。従って、上記（２）に記載したようにノック発生の誤検出の連続等によりフィードバック項Ｆが大幅に減少側に変化したとき、そのフィードバック項Ｆを通じて多点学習値ＡＧｄｐ(n) に対し上記ノック発生の誤検出の影響が反映されることが少なくなる。その結果、上記（２）に記載したように多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化によるノック発生を抑制するための値として不適切になることは抑制される。
【００８１】
・現在のエンジン運転状態が多点学習領域ｎ内にあるとき、基本学習値ＡＧ(i) を「０」に設定し、同多点学習領域ｎに対応する多点学習値ＡＧｄｐ(n) のみがノックの発生を抑制すべく点火時期を定常的に補正する補正項として用いられるようにしてもよい。
【００８２】
・最も低回転側の基本学習領域ｉ内において、低負荷側の領域以外の領域に多点学習領域ｎを設定してもよい。
・基本学習領域ｉの合計数や多点学習領域ｎの合計数を適宜変更してもよい。
【符号の説明】
【００８３】
１…エンジン、２…燃焼室、３…吸気通路、４…燃料噴射弁、５…点火プラグ、６…ピストン、７…クランクシャフト、８…排気通路、２６…電子制御装置、２７…アクセルペダル、２８…アクセルポジションセンサ、２９…スロットルバルブ、３０…スロットルポジションセンサ、３１…ノックセンサ、３２…エアフローメータ、３４…クランクポジションセンサ。
【図１】
2010265866.tif 000003
【図２】
2010265866.tif 000004
【図３】
2010265866.tif 000005
【図４】
2010265866.tif 000006
【図５】
2010265866.tif 000007
【図６】
2010265866.tif 000008
【図７】
2010265866.tif 000009
【図８】
2010265866.tif 000010
【図９】
2010265866.tif 000011