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