(57)【要約】【課題】ノッキング制御装置において暖機完了直後におけるノック判定閾値Ｊ（ｉ）と点火時期学習値に異常な値が設定されるのを抑制する。【解決手段】ノッキング制御処理による点火時期制御はノック判定閾値Ｊ（ｉ）更新前にて冷却水温≧６０℃以後に許可されるため暖機中の早期に開始できる。ノック判定閾値Ｊ（ｉ）更新（Ｓ１６２〜Ｓ１７６）は、冷却水温≧８３℃及び吸入空気量積算値≧２０００ｇ以後で更に点火時期学習値更新回数≧１０回以後に許可される（Ｓ１６０でＹＥＳ）。このため異常な値がノック判定閾値Ｊ（ｉ）に設定されることが抑制される。既に吸入空気量積算値≧２０００ｇ以後に実行されている点火時期学習値更新もノック判定閾値が固定状態の期間から開始されると共にノック判定閾値Ｊ（ｉ）更新開始後もＪ（ｉ）に異常に大きな値が設定されないので点火時期学習値も更新にて過剰に進角しない。【選択図】図３
2010270684.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関に設けたノックセンサにより燃焼行程に伴って検出される振動強度をノック判定閾値により判定した結果に基づいて点火時期を調節するノッキング制御を実行すると共に、振動強度分布に基づいてノック判定閾値を更新するノック判定閾値更新処理を実行するノッキング制御装置であって、
内燃機関の始動後における第１暖機状態とこの第１暖機状態よりも暖機が進んだ第２暖機状態とを設定して、第１暖機状態以後に前記ノッキング制御の実行を許可し、第２暖機状態以後に前記ノック判定閾値更新処理の実行を許可する許可手段を備えたことを特徴とする内燃機関ノッキング制御装置。
【請求項２】
請求項１に記載の内燃機関ノッキング制御装置において、前記ノッキング制御は、前記振動強度を前記ノック判定閾値により判定した結果に基づいて点火時期をフィードバック制御することにより調節するものであり、
前記許可手段は、第２暖機状態以後に、前記ノック判定閾値更新処理の実行を許可する前の暖機状態又は後の暖機状態にて、前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする内燃機関ノッキング制御装置。
【請求項３】
請求項２に記載の内燃機関ノッキング制御装置において、前記許可手段は、第２暖機状態以後に、前記フィードバック制御による点火時期学習値の更新回数が規定回数以上となった後に、前記ノック判定閾値更新処理の実行を許可することを特徴とする内燃機関ノッキング制御装置。
【請求項４】
請求項３に記載の内燃機関ノッキング制御装置において、前記許可手段は、内燃機関温度が第１温度以上となった後に前記ノッキング制御の実行を許可し、内燃機関温度が前記第１温度より高い第２温度以上となった後に更に内燃機関が燃焼により発生する熱量を反映する物理量が規定量以上となった後に前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする内燃機関ノッキング制御装置。
【請求項５】
請求項２に記載の内燃機関ノッキング制御装置において、前記許可手段は、第２暖機状態以後に、前記ノック判定閾値更新処理の回数が規定回数以上となった後に、前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする内燃機関ノッキング制御装置。
【請求項６】
請求項５に記載の内燃機関ノッキング制御装置において、前記許可手段は、内燃機関温度が第１温度以上となった後に前記ノッキング制御の実行を許可し、内燃機関温度が前記第１温度より高い第２温度以上となった後に更に内燃機関が燃焼により発生する熱量を反映する物理量が規定量以上となった後に前記ノック判定閾値更新処理の実行を許可することを特徴とする内燃機関ノッキング制御装置。
【請求項７】
請求項４又は６に記載の内燃機関ノッキング制御装置において、前記熱量を反映する物理量は、内燃機関に吸入される吸入空気量の積算値であることを特徴とする内燃機関ノッキング制御装置。
【請求項８】
請求項４、６又は７に記載の内燃機関ノッキング制御装置において、前記内燃機関温度は、内燃機関の冷却水温度であることを特徴とする内燃機関ノッキング制御装置。
【請求項９】
請求項１〜８のいずれか一項に記載の内燃機関ノッキング制御装置において、前記振動強度は振動波形解析により抽出されたノック波形の振動強度であることを特徴とする内燃機関ノッキング制御装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の内燃機関ノッキング制御装置において、前記第２暖機状態は暖機完了状態であることを特徴とする内燃機関ノッキング制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノックセンサにより燃焼行程に伴って検出される振動強度をノック判定閾値により判定した結果に基づいて点火時期を調節するノッキング制御を実行すると共に、振動強度分布に基づいてノック判定閾値を更新するノック判定閾値更新処理を実行する内燃機関ノッキング制御装置に関する。
【背景技術】
【０００２】
内燃機関のノッキングを点火時期によりフィードバック制御して燃焼状態を適切に維持させるノッキング制御装置が知られている。このようなノッキング制御装置においては、点火時期フィードバック制御におけるフィードバック補正値を学習して再始動時におけるノッキング制御性を向上させている（例えば特許文献１，２参照）。
【０００３】
特に特許文献１では内燃機関が暖機後において所定の水温範囲において、フィードバック補正値の学習実行を許可することで高精度なノッキング制御を実行できるとしている。
特許文献２では、特許文献１のごとくのノッキング制御に加えて、振動強度分布に基づいて振動強度の発生状態に対応してノック判定閾値を更新する処理を実行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−８００４５号公報（第５−７頁、図３（ａ）（ｂ））
【特許文献２】特開２００７−２５５１９５号公報（第１２−１４頁、図１１−１２）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ノッキング発生は内燃機関の性能に影響することから、内燃機関始動後の早期に行われるのが普通である。このようにノッキング制御が暖機期間の早期に開始されると、特許文献２に示したごとくのノック判定閾値の更新についても同時に実行されることになる。
【０００６】
特許文献１で行われる点火時期に対するフィードバック補正値の学習は比較的内燃機関運転が安定化した状態で実行する必要があり、内燃機関が暖機完了後に行われるのが普通である。したがってノッキング制御よりも遅れて点火時期学習処理が開始されることになる。
【０００７】
しかしこのように点火時期学習処理が行われる完全暖機状態よりも前にて、暖機中の早期にノッキング制御に伴うノック判定閾値更新処理が開始されているため、ノック判定閾値は点火時期学習処理に比較してノッキングが発生しにくい運転状態から更新されることになる。
【０００８】
このため振動強度分布に基づいて算出されるノック判定閾値は、暖機完了後の通常運転時に更新される場合と比較すると、ずれた値に更新される。具体的にはノック判定閾値は、通常運転時よりも大きくなる傾向に更新される。
【０００９】
このような更新が暖機中に継続することにより、暖機完了直後のノック判定閾値は、振動強度が許容できないほど大きくても問題ない程度であると判定してしまう状態となる。
このため暖機完了後、しばらくは、ノッキングによる振動強度が大きくても許容される状態が継続する。そしてこのことにより、点火時期フィードバック制御では、ノッキング発生頻度が高まる側への制御、すなわち点火時期を過剰に進角させることになる。そしてこのような点火時期の過剰進角制御が点火時期学習に反映されて、点火時期学習値が過剰な進角値に誤学習されることになる。
【００１０】
このように始動後にノック判定閾値と点火時期学習値とに異常な値が設定されるため、以後、ノック判定閾値が次第に正常な値に収束するまでに時間を要し、その間に想定していない高いノッキング発生頻度での内燃機関運転状態が継続することになり、運転者に違和感を与えるおそれがある。
【００１１】
本発明は振動強度をノック判定閾値により判定した結果に基づいて点火時期を調節するノッキング制御を実行すると共に振動強度分布に基づいてノック判定閾値を更新するノック判定閾値更新処理を実行するノッキング制御装置において暖機完了直後におけるノック判定閾値に異常な値が設定されるのを抑制することを目的とする。更にノック判定閾値に異常な値が設定されることによって点火時期学習値にも異常な値が設定されるのを抑制することを目的とする。
【課題を解決するための手段】
【００１２】
以下、上記目的を達成するための手段及びその作用・効果について記載する。
請求項１に記載の内燃機関ノッキング制御装置は、内燃機関に設けたノックセンサにより燃焼行程に伴って検出される振動強度をノック判定閾値により判定した結果に基づいて点火時期を調節するノッキング制御を実行すると共に、振動強度分布に基づいてノック判定閾値を更新するノック判定閾値更新処理を実行するノッキング制御装置であって、内燃機関の始動後における第１暖機状態とこの第１暖機状態よりも暖機が進んだ第２暖機状態とを設定して、第１暖機状態以後に前記ノッキング制御の実行を許可し、第２暖機状態以後に前記ノック判定閾値更新処理の実行を許可する許可手段を備えたことを特徴とする。
【００１３】
このようにノッキング制御の実行は、ノック判定閾値更新処理に先だって第１暖機状態以後に許可されているので、ノッキング制御は暖機期間の早期に開始できることになる。
しかしノック判定閾値更新処理は第１暖機状態よりも暖機が進んだ第２暖機状態にて実行が許可されるので、第１暖機状態から第２暖機状態における期間にはノック判定閾値更新処理はなされることはなく、その分、ノック判定閾値が大きめに振れるのを抑制できる。
【００１４】
このことにより、暖機完了直後におけるノック判定閾値に異常な値が設定されるのを抑制することができる。
このことから派生して、ノック判定閾値更新処理の開始前後に関わらず、フィードバック制御による点火時期学習値の更新が行われる場合も、ノック判定閾値更新処理ではノック判定閾値が大きめに振れるのが抑制されるため、点火時期学習値も過剰に進角するのが抑制され、点火時期学習値についても異常な値が設定されるのを抑制できる。
【００１５】
請求項２に記載の内燃機関ノッキング制御装置では、請求項１に記載の内燃機関ノッキング制御装置において、前記ノッキング制御は、前記振動強度を前記ノック判定閾値により判定した結果に基づいて点火時期をフィードバック制御することにより調節するものであり、前記許可手段は、第２暖機状態以後に、前記ノック判定閾値更新処理の実行を許可する前の暖機状態又は後の暖機状態にて、前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする。
【００１６】
このようにフィードバック制御において点火時期学習値の更新を許可する場合は、ノック判定閾値更新処理の実行を許可する前の暖機状態で許可しても良く、後の暖機状態で許可しても良い。いずれにせよ、ノック判定閾値更新処理ではノック判定閾値に異常な値が設定されるのが抑制されているため、点火時期学習値にも異常な値が設定されるのを抑制することができる。
【００１７】
請求項３に記載の内燃機関ノッキング制御装置では、請求項２に記載の内燃機関ノッキング制御装置において、前記許可手段は、第２暖機状態以後に、前記フィードバック制御による点火時期学習値の更新回数が規定回数以上となった後に、前記ノック判定閾値更新処理の実行を許可することを特徴とする。
【００１８】
このように第２暖機状態以後にノック判定閾値更新処理の実行を許可する場合も、更に第２暖機状態以後にフィードバック制御による点火時期学習値の更新回数が規定回数以上となった後に、ノック判定閾値更新処理の実行を許可することとしても良い。
【００１９】
このことによりノック判定閾値が更新されていない状態にて、しばらく点火時期学習値の更新がなされることで点火時期学習値には正常な値が設定される状態となり、このことにより安定した内燃機関運転が継続する。そしてこのような安定した内燃機関運転状態にて点火時期学習値の更新回数が規定回数以上となる期間が経過した後に、ノック判定閾値の更新が許可される。したがってノック判定閾値に異常な値が設定されるのを抑制でき、更にこのことにより、その後の点火時期学習値にも異常な値が設定されるのを抑制できる。
【００２０】
請求項４に記載の内燃機関ノッキング制御装置では、請求項３に記載の内燃機関ノッキング制御装置において、前記許可手段は、内燃機関温度が第１温度以上となった後に前記ノッキング制御の実行を許可し、内燃機関温度が前記第１温度より高い第２温度以上となった後に更に内燃機関が燃焼により発生する熱量を反映する物理量が規定量以上となった後に前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする。
【００２１】
このようにノッキング制御の実行を許可した後に、上記タイミングでフィードバック制御による点火時期学習値更新を許可しても良い。このことにより暖機が確実に進行しあるいは完了することで、十分に安定した運転状態にて高精度な点火時期学習値が更新により設定できる。
【００２２】
請求項５に記載の内燃機関ノッキング制御装置では、請求項２に記載の内燃機関ノッキング制御装置において、前記許可手段は、第２暖機状態以後に、前記ノック判定閾値更新処理の回数が規定回数以上となった後に、前記フィードバック制御における点火時期学習値の更新を許可することを特徴とする。
【００２３】
このように第２暖機状態以後にノック判定閾値更新処理の実行を許可した後、更にその更新回数が規定回数以上となった後に、フィードバック制御による点火時期学習値の更新を許可することとしても良い。
【００２４】
このことにより、点火時期学習値の更新がなされない状態で、しばらくノック判定閾値が更新されるので、点火時期学習値に異常な値が設定されない。そしてノック判定閾値の更新回数が規定回数以上となった後に、フィードバック制御による点火時期学習値の更新を許可している。すなわち点火時期学習値に異常な値が設定されない状態にて安定した内燃機関運転が継続して十分に内燃機関運転が安定な状態となった後で、点火時期学習値の更新が許可される。この点火時期学習値の更新許可時には既にノック判定閾値には適切な値が設定されていることから、以後、更新により点火時期学習値に異常な値が設定されるのが抑制できる。
【００２５】
請求項６に記載の内燃機関ノッキング制御装置では、請求項５に記載の内燃機関ノッキング制御装置において、前記許可手段は、内燃機関温度が第１温度以上となった後に前記ノッキング制御の実行を許可し、内燃機関温度が前記第１温度より高い第２温度以上となった後に更に内燃機関が燃焼により発生する熱量を反映する物理量が規定量以上となった後に前記ノック判定閾値更新処理の実行を許可することを特徴とする。
【００２６】
このようにノッキング制御の実行を許可した後に、上記タイミングでノック判定閾値更新処理の実行を許可しても良い。このことにより暖機が確実に進行しあるいは完了することで、十分に安定した運転状態にて高精度なノック判定閾値を設定できる。更にこのことにより高精度な点火時期学習値を更新により設定できるので、ノック判定閾値も点火時期学習値も異常な値が設定されるのが抑制できる。
【００２７】
請求項７に記載の内燃機関ノッキング制御装置では、請求項４又は６に記載の内燃機関ノッキング制御装置において、前記熱量を反映する物理量は、内燃機関に吸入される吸入空気量の積算値であることを特徴とする。
【００２８】
このように吸入空気量の積算値を熱量を反映する物理量として用いることができ、容易に制御に反映させることができる。
請求項８に記載の内燃機関ノッキング制御装置では、請求項４、６又は７に記載の内燃機関ノッキング制御装置において、前記内燃機関温度は、内燃機関の冷却水温度であることを特徴とする。
【００２９】
内燃機関温度としては内燃機関の冷却水温度を用いることができ、容易に制御に反映させることができる。
請求項９に記載の内燃機関ノッキング制御装置では、請求項１〜８のいずれか一項に記載の内燃機関ノッキング制御装置において、前記振動強度は振動波形解析により抽出されたノック波形の振動強度であることを特徴とする。
【００３０】
このように振動波形解析により抽出されたノック波形の振動強度を用いることにより、ノッキング状態をより適切に反映できるノック判定閾値を設定することができると共に、このような振動波形解析によるノック判定閾値に異常な値が設定されることを抑制できる。
【００３１】
請求項１０に記載の内燃機関ノッキング制御装置では、請求項１〜９のいずれか一項に記載の内燃機関ノッキング制御装置において、前記第２暖機状態は暖機完了状態であることを特徴とする。
【００３２】
このように第２暖機状態を暖機完了状態とすることにより、ノック判定閾値及び点火時期学習値に対して異常な値が設定されるのを、より確実に抑制できる。
【図面の簡単な説明】
【００３３】
【図１】実施の形態１において内燃機関ノッキング制御装置により実行されるノッキング制御処理のフローチャート。
【図２】同じく点火時期フィードバック制御処理のフローチャート。
【図３】同じくノック判定閾値Ｊ（ｉ）更新処理のフローチャート。
【図４】実施の形態１における内燃機関制御系のブロック図。
【図５】（ａ）〜（ｃ）実施の形態１にてノック振動強度波形解析を説明するためのグラフ。
【図６】実施の形態１にてノック判定レベルＶＫＤを設定するためのノック強度Ｎ頻度分布説明図。
【図７】実施の形態１における制御の一例を示すタイミングチャート。
【図８】実施の形態２の点火時期フィードバック制御処理のフローチャート。
【図９】実施の形態２のノック判定閾値Ｊ（ｉ）更新処理のフローチャート。
【図１０】実施の形態２における制御の一例を示すタイミングチャート。
【図１１】実施の形態３の点火時期フィードバック制御処理のフローチャート。
【図１２】実施の形態３における制御の一例を示すタイミングチャート。
【図１３】実施の形態４の点火時期フィードバック制御処理のフローチャート。
【図１４】実施の形態４のノック判定閾値Ｊ（ｉ）更新処理の前半のフローチャート。
【図１５】実施の形態４のノック判定閾値Ｊ（ｉ）更新処理の後半のフローチャート。
【図１６】実施の形態４における制御の一例を示すタイミングチャート。
【発明を実施するための形態】
【００３４】
［実施の形態１］
図１〜３は、上述した発明が適用された内燃機関ノッキング制御装置により実行されるノッキング制御処理及びこれに関連した処理のフローチャートである。図４のブロック図に示す内燃機関２を制御している電子制御ユニット（以下、ＥＣＵと称する）４が内燃機関ノッキング制御装置に相当し、このＥＣＵ４により上記図１〜３の処理が実行される。
【００３５】
図４に示した内燃機関２は車両駆動用に車両に搭載されたポート噴射火花点火式の直列４気筒ガソリンエンジンである。図４では＃１〜＃４気筒の内の１気筒のみ示している。尚、６気筒や８気筒などのその他の気筒数の内燃機関、あるいはＶ型内燃機関であっても良い。
【００３６】
内燃機関２の各燃焼室６には、サージタンク８ａ及び分岐管８ｂを含む吸気通路８を介して空気が供給され、気筒毎に設けられた燃料噴射弁１０から、吸気ポート８ｃの吸気流中に燃料が噴射されることで混合気を形成する。この混合気が内燃機関２の各燃焼室６内に供給される。
【００３７】
尚、燃料噴射弁１０は、内燃機関２の各燃焼室６内に直接燃料を噴射するように配置した直噴型としても良い。
そして、このことにより燃焼室６内に形成された混合気に点火タイミングにて点火プラグ１２のスパークによる点火が行われることにより混合気が燃焼し、ピストン１４が押し下げられて出力軸であるクランクシャフト１６を回転させる。そして燃焼後の混合気は排気として燃焼室６から排気ポート１８ａに排出され、排気浄化触媒やマフラーを有する排気通路１８を介して外部へ排出される。
【００３８】
ここで吸気ポート８ｃにて開閉弁動作する吸気バルブ２０と、排気ポート１８ａにて開閉弁動作する排気バルブ２２とは共に一定のバルブ作用角（あるいは最大バルブリフト量）にて駆動される。尚、吸気バルブ２０については、バルブタイミング可変機構を設けてバルブ作用角（あるいは最大バルブリフト量）を可変とするものであっても良い。
【００３９】
吸気通路８から各気筒の燃焼室６に分配される吸入空気量は、ＥＣＵ４が、アクセルペダル２４の踏み込み量であるアクセル操作量ＡＣＣＰに応じてスロットルバルブ２６の開度を制御することにより、調節される。尚、吸気バルブ２０のバルブ作用角（あるいは最大バルブリフト量）を可変としている場合には、すなわち可変動弁機構を採用している場合には、吸気バルブ２０のバルブ作用角（あるいは最大バルブリフト量）の調節により、各気筒の燃焼室６に分配される吸入空気量が調節される。この場合にはスロットルバルブ２６は、通常、全開に制御されて内燃機関２が運転されている。
【００４０】
ＥＣＵ４は、上述したごとく内燃機関２の燃料噴射量、噴射時期、吸入空気量以外に、点火時期制御、その他の処理を実行している。これらの処理のためにＥＣＵ４は、機関回転数センサ２８、冷却水温センサ３０、スロットル開度センサ３２、吸入空気量センサ３４、アクセル操作量センサ３６、カムポジションセンサ３８、ノックセンサ４０などによる検出信号を入力している。
【００４１】
機関回転数センサ２８はクランクシャフト１６の回転に対応した機関回転数ＮＥを、冷却水温センサ３０は内燃機関温度としての冷却水温度ＴＨＷを、スロットル開度センサ３２はスロットルバルブ開度ＴＡを、吸入空気量センサ３４は吸入空気量ＧＡを、アクセル操作量センサ３６はアクセル操作量ＡＣＣＰを検出している。更にカムポジションセンサ３８は吸気バルブ２０を駆動する吸気カムのカム角を、ノックセンサ４０は内燃機関２の燃焼行程時に生じる振動に対応したノック信号を内燃機関２のシリンダブロックにて検出している。
【００４２】
ＥＣＵ４は、これらの信号、記憶しているデータ、演算結果などに基づいて、点火プラグ１２による点火時期、燃料噴射弁１０の開弁制御による燃料噴射量や噴射時期、前述したスロットルバルブ２６の開度調節（可変動弁機構を採用している場合には吸気バルブ２０のバルブ作用角あるいは最大バルブリフト量調節）などの制御を実行する。
【００４３】
次にＥＣＵ４が実行する図１のノッキング制御処理、図２の点火時期フィードバック制御処理、図３のノック判定閾値Ｊ（ｉ）更新処理について説明する。図１，３の処理は一定のクランク角周期にて繰り返し実行される処理であり、図２の点火時期フィードバック制御処理はノッキング制御処理に連続して実行される処理である。尚、個々の処理内容に対応するフローチャート中のステップを「Ｓ〜」で表す。
【００４４】
ノッキング制御処理（図１）が開始されると、まず冷却水温度ＴＨＷが６０℃（第１暖機状態の指標となる第１温度に相当する）以上となっているか否かが判定される（Ｓ１０２）。ここで始動後において冷却水温度ＴＨＷが６０℃未満であれば（Ｓ１０２でＮＯ）、処理は点火時期フィードバック制御処理（Ｓ１１６：図２）へ移行する。
【００４５】
点火時期フィードバック制御処理（図２）において、まず冷却水温度ＴＨＷ≧６０℃か否かが判定される（Ｓ１３０）。今回は、ここでも冷却水温度ＴＨＷ＜６０℃であることから（Ｓ１３０でＮＯ）、直ちに点火時期設定がなされる（Ｓ１４８）。ここでは後述する点火時期学習値の更新はなされず、既に前回の内燃機関運転時においてＥＣＵ４に記憶されている点火時期学習値が用いられて、現在の冷却水温度ＴＨＷに対応した点火時期が設定される。そしてこの点火時期に基づいて点火制御が実行されることになる。以後、冷却水温度ＴＨＷ＜６０℃である限り、上述した処理が継続し、この間は、点火時期学習値の更新、及び後述するノック判定閾値の更新はなされない。
【００４６】
内燃機関２の運転継続により冷却水温度ＴＨＷが上昇して、ＴＨＷ≧６０℃となれば（Ｓ１０２でＹＥＳ）、機関回転数センサ２８及びカムポジションセンサ３８の検出結果に基づいて、４気筒の内のいずれかの気筒が、燃焼行程における一定のクランク角範囲にあるか否かが判定される（Ｓ１０４）。ここでは燃焼行程の０°〜９０°ＣＡ（°ＣＡはクランク角を表す）の範囲内か否かが判定される。いずれの気筒に対しても燃焼行程の０°〜９０°ＣＡ外であれば（Ｓ１０４でＮＯ）、点火時期フィードバック制御処理（Ｓ１１６：図２）へ移行する。尚、点火時期フィードバック制御処理（図２）におけるＴＨＷ≧６０℃での処理については後述する。
【００４７】
いずれかの気筒が燃焼行程の０°〜９０°ＣＡ内となれば（Ｓ１０４でＹＥＳ）、次にシリンダブロックにて振動を検出しているノックセンサ４０の出力（電圧）を、複数設定した周波数帯で振動強度として５°ＣＡ毎に検出し、この振動強度検出データを積算する（Ｓ１０６）。この複数の周波数帯はノッキングによる振動周波数が含まれる周波数帯である。
【００４８】
次に今回のクランク角は、いずれかの気筒における燃焼行程の９０°ＣＡであるか否かが判定される（Ｓ１０８）。未だ９０°ＣＡに達していなければ（Ｓ１０８でＮＯ）、点火時期フィードバック制御処理（Ｓ１１６：図２）へ移行する。
【００４９】
以後、０°から９０°ＣＡの範囲にて９０°ＣＡ未満の状態である限り、上述したステップＳ１０６の処理が繰り返され、ここでは５°ＣＡ毎に繰り返されて現在の燃焼行程での振動強度検出データの積算がなされる。
【００５０】
そして９０°ＣＡに達すると（Ｓ１０８でＹＥＳ）、この時には今回燃焼行程にある気筒において、例えば図５の（ａ）に示すごとくクランク角を横軸とする振動強度データが得られる。尚、図５の（ａ）は、各クランク角において複数周波数帯の全ての振動強度を合計した値を、振動強度として表している。
【００５１】
いずれかの気筒においてその燃焼行程の９０°ＣＡとなれば（Ｓ１０８でＹＥＳ）、次にノック強度Ｎが算出される（Ｓ１１０）。ここではノック強度Ｎとしては、図５の（ａ）に示した積算値を０°ＣＡ〜９０°ＣＡまでを総計して算出する。尚、５°ＣＡ振動強度積算値の内で最大の値をノック強度Ｎとして設定しても良い。あるいは上記積算値の最大値をノッキングが発生していない状態における内燃機関２の振動強度を表す値で除算した値をノック強度Ｎとして設定しても良い。これ以外の手法にてノック強度Ｎを表しても良い。
【００５２】
次に振動波形解析によるノック振動強度波形モデルとの相関係数Ｋを算出する（Ｓ１１２）。ノック振動強度波形モデルは図５の（ｂ）に示すごとくであり、内燃機関２にノッキングが発生した場合の振動波形のモデルとして予め作成されている。
【００５３】
このノック振動強度波形モデルはノッキングにより発生した振動強度のピーク値以降の振動に対応し、かつ０〜１の無次元数とされている。したがって、図５の（ａ）に示した積算値についても、そのピーク以降をピーク値にて除算することにより無次元数に変換して正規化する。このことにより図５の（ｃ）に示すごとくノック振動強度波形モデルと比較でき、相関係数Ｋを算出できる。
【００５４】
例えば、正規化後の振動強度波形とノック振動強度波形モデルとの５°ＣＡ毎の偏差の絶対値をΔＳ（Ｉ）（Ｉは自然数）とし、ノック振動強度波形モデルにおける振動強度をクランク角で積分した値（ノック振動強度波形モデルの面積）をＳとおくと、相関係数Ｋは、Ｋ＝（Ｓ−ΣΔＳ（Ｉ））／Ｓという方程式により算出される。ここで、ΣΔＳ（Ｉ）は、０°ＣＡから９０°ＣＡまでのΔＳ（Ｉ）の総和である。
【００５５】
このように求められる相関係数Ｋは、振動強度波形の形状がノック振動強度波形モデルの形状に近いほど、大きな値として算出される。振動強度波形にノッキング以外の要因による振動の波形が含まれた場合には、相関係数Ｋは小さくなる。
【００５６】
このようにしてノック強度Ｎと相関係数Ｋとが算出されると、次に点火時期フィードバック制御処理（Ｓ１１６：図２）へ移行する。
点火時期フィードバック制御処理（図２）について説明する。
【００５７】
まずＴＨＷ≧６０℃か否かが判定される（Ｓ１３０）。ＴＨＷ＜６０℃であれば（Ｓ１３０でＮＯ）、前述したごとく点火時期設定（Ｓ１４８）に移行する。
ＴＨＷ≧６０℃であれば（Ｓ１３０でＹＥＳ）、求められたノック強度Ｎと相関係数Ｋとに基づいてノック判定が実行される（Ｓ１３２）。
【００５８】
このノック判定は次の２つの条件が共に満足された場合にノッキング有と判定され、いずれかあるいは両方が不満足ならばノッキング無と判定される。
条件１：ノック強度Ｎ≧ノック判定閾値Ｊ（ｉ）
条件２：相関係数Ｋ≧相関判定値Ｋ１
条件１におけるノック判定閾値Ｊ（ｉ）は、後述するごとく、特定の条件下において、ノック強度Ｎとその発生頻度に応じて、各気筒において内燃機関運転状態の領域毎に補正によって更新されている値であり、ノッキング発生の有無を判定するための判定値である。ここで（ｉ）は領域を表し、内燃機関２の負荷と機関回転数ＮＥとにより区分されている領域である。負荷は内燃機関２の１回転当たりに燃焼室６に吸入される空気量であり、吸入空気量ＧＡと機関回転数ＮＥとから求められる値である。
【００５９】
条件２における相関判定値Ｋ１は、内燃機関２の機種に対応して予め設定されている相関判定用基準値である。
ここで前記条件１，２のいずれかあるいは両方が満足されていなければ（Ｓ１３２で「ノッキング無」判定）、点火時期をフィードバック制御するためのフィードバック補正値に進角処理がなされる（Ｓ１３４）。ここでフィードバック補正値が進角値により表されているとするとフィードバック補正値が増加されることになる。
【００６０】
前記条件１，２の両方が満足されている場合は（Ｓ１３２で「ノッキング有」判定）、点火時期を補正するためのフィードバック補正値に遅角処理がなされる（Ｓ１３６）。フィードバック補正値が進角値により表されているとするとフィードバック補正値が減少されることになる。場合によりマイナスの値が設定されることもある。
【００６１】
ステップＳ１３４又はステップＳ１３６にてフィードバック補正値が算出されると、次に冷却水温度ＴＨＷが８３℃（第２暖機状態の指標の１つである第２温度に相当する）以上か否かが判定される（Ｓ１３８）。
【００６２】
冷却水温度ＴＨＷが８３℃未満である場合には（Ｓ１３８でＮＯ）、前述したごとく点火時期設定（Ｓ１４８）に移行する。
冷却水温度ＴＨＷ≧８３℃となれば（Ｓ１３８でＹＥＳ）、次に吸入空気量センサ３４にて検出される吸入空気量ＧＡの積算がなされる（Ｓ１４０）。すなわち冷却水温度ＴＨＷが８３℃以上となった後に、内燃機関２にて燃焼に用いられる空気量の総計が、吸入空気量積算値（ｇ）として求められることになる。この吸入空気量積算値は、完全暖機に至ったか否かを判定するために、内燃機関２が燃焼により発生した熱量を反映する物理量として算出するものである。
【００６３】
次に、この吸入空気量積算値が２０００ｇ以上となったか否かが判定される（Ｓ１４２）。最初は吸入空気量積算値＜２０００ｇであるので（Ｓ１４２でＮＯ）、前述したごとく点火時期設定（Ｓ１４８）に移行する。
【００６４】
そして吸入空気量積算値≧２０００ｇとなると（Ｓ１４２でＹＥＳ）、点火時期学習値の更新がなされる（Ｓ１４４）。
前述したごとく冷却水温度ＴＨＷ≧６０℃ではフィードバック補正値の進角処理（Ｓ１３４）や遅角処理（Ｓ１３６）が行われている。しかし冷却水温度ＴＨＷ＜８３℃では、あるいは冷却水温度ＴＨＷ≧８３℃であっても吸入空気量積算値＜２０００ｇでは、完全暖機ではないとして、フィードバック補正値の変化に対応した点火時期学習値の更新はなされていない。すなわち内燃機関２の始動から吸入空気量積算値≧２０００ｇとなる前までは、点火時期学習値は固定状態で点火時期設定処理（Ｓ１４８）にて用いられることになる。
【００６５】
そして冷却水温度ＴＨＷ≧８３℃にて吸入空気量積算値≧２０００ｇとなることで完全暖機として、フィードバック補正値の変化に対応した点火時期学習値の更新がなされることになる。
【００６６】
次に点火時期学習値の更新回数がカウントされる（Ｓ１４６）。すなわち更新回数カウンタがインクリメントされることになる。尚、この更新回数カウンタは内燃機関２の始動時にクリアされている。
【００６７】
そして、これ以後は、ステップＳ１３４，Ｓ１３６にて算出されているフィードバック補正値に基づいて更新された点火時期学習値が用いられた点火時期設定処理（Ｓ１４８）がなされることになる。
【００６８】
ノック判定閾値Ｊ（ｉ）更新処理（図３）について説明する。
まず点火時期学習値更新回数が規定回数以上か否か、ここでは規定回数として１０回以上か否かが判定される（Ｓ１６０）。点火時期学習値更新回数は上述したごとく点火時期フィードバック制御処理（図２）のステップＳ１４６にて更新回数カウンタがカウントしている値である。
【００６９】
点火時期学習値更新回数が１０回未満である場合には（Ｓ１６０でＮＯ）、このまま本処理を一旦出る。
点火時期フィードバック制御処理（図２）のステップＳ１４４，Ｓ１４６が繰り返されて、点火時期学習値更新回数≧１０となると（Ｓ１６０でＹＥＳ）、次に前述したノッキング制御処理（図１）にて算出されているノック強度Ｎがノック判定レベルＶＫＤ以上か否かが判定される（Ｓ１６２）。
【００７０】
ここでノック判定レベルＶＫＤは、図６に示すごとく、ノック強度Ｎの履歴から作成されているノック強度Ｎの頻度分布に基づいて算出されるものである。
図６では縦軸が頻度、横軸がノック強度Ｎの対数値を表している。実際には、このような頻度分布の中央値ＶＭと標準偏差σとが、ノック強度Ｎが算出される毎に式１，２のごとく近似的に繰り返し算出されている。
【００７１】
［式１］  ＶＭ  ←  ＶＭ  ＋  （Ｎ−ＶＭ）／ｘ
［式２］  σ  ←  σ  ＋  （Ｎ−σ）／ｙ
ここで前記式１，２において「←」の右辺のＶＭ，σは前回値であり、左辺のＶＭ，σは今回値である。ｘ，ｙは加重平均の重み付けのための正の値であり、ノック強度Ｎの変化に対して或る程度の遅れが生じる処理、いわゆる「なまし処理」がなされている。
【００７２】
この式１，２がＥＣＵ４により点火周期毎に別途実行されて、中央値ＶＭと標準偏差σとがノック強度Ｎの値に応じて繰り返し算出されている。
ここでは、例えばノック判定レベルＶＫＤは、ＶＭ＋３・σの値に設定されている。尚、ノッキング制御の設計やノッキングの発生状況に応じて、これ以外の値（例えば、「ＶＭ＋５・σ」など）にノック判定レベルＶＫＤを設定しても良い。
【００７３】
このように設定されているノック判定レベルＶＫＤに対して、Ｎ≧ＶＫＤであった場合には（Ｓ１６２でＹＥＳ）、ノックカウント値ＫＣがインクリメントされる（Ｓ１６４）。そしてステップＳ１６６の判定に移る。
【００７４】
尚、Ｎ＜ＶＫＤであった場合には（Ｓ１６２でＮＯ）、直ちにステップＳ１６６の判定に移る。
ステップＳ１６６では、ノック判定閾値Ｊ（ｉ）の更新が可能な状態にあるか否かが判定される。例えば前回ノック判定閾値Ｊ（ｉ）を更新した後に、２００点火が経過している場合に更新可能状態にあると判定する。
【００７５】
更新可能状態でなければ（Ｓ１６６でＮＯ）、このまま本処理を出る。
更新可能状態であれば（Ｓ１６６でＹＥＳ）、次にノックカウント値ＫＣが、所定値ＫＣＸ以上か否かを判定する（Ｓ１６８）。ここで所定値ＫＣＸは、ノック判定閾値Ｊ（ｉ）を増加により更新するか減少により更新するかの境界を判定する値であり、ノッキング制御の設計に応じて設定されている値である。
【００７６】
ここでＫＣ≧ＫＣＸであれば（Ｓ１６８でＹＥＳ）、式３に示すごとくノック判定閾値Ｊ（ｉ）を所定値ＪＡ分減少する更新処理が実行される（Ｓ１７０）。
［式３］  ＪＸ  ←  Ｊ（ｉ）  −  ＪＡ
このことにより前記点火時期フィードバック制御処理（図２）のステップＳ１３２にてノッキング有とするノック判定頻度を上げることにより、ステップＳ１３６による点火時期遅角処理の回数を増加してノッキング抑制を強めることになる。
【００７７】
ＫＣ＜ＫＣＸであれば（Ｓ１６８でＮＯ）、式４に示すごとくノック判定閾値Ｊ（ｉ）を所定値ＪＢ分増加する更新処理が実行される（Ｓ１７２）。
［式４］  ＪＸ  ←  Ｊ（ｉ）  ＋  ＪＢ
このことにより前記点火時期フィードバック制御処理（図２）のステップＳ１３２にてノッキング有とするノック判定頻度を下げることにより、ステップＳ１３４による点火時期進角処理の回数を増加してノッキング抑制を弱めることになる。
【００７８】
上述した所定値ＪＡ，ＪＢについてはノッキング制御の設計に応じて設定されている値である。
ステップＳ１７０又はステップＳ１７２の処理が終了すると、前記式３又は前記式４にて算出されたノック判定閾値ＪＸに対してガード処理を実行し、新たなノック判定閾値Ｊ（ｉ）として設定する（Ｓ１７４）。ここでガード処理は、他の気筒のノック判定閾値Ｊ（ｉ）から飛び離れた異常な値が、今回の気筒のノック判定閾値Ｊ（ｉ）に設定されないようにするためになされる。ここでは４つの気筒におけるノック判定閾値Ｊ（ｉ）の内で、最小と最大とを除いた２つの値の平均から、予め設定しておいた所定範囲内になるようにガードする。したがってノック判定閾値ＪＸが所定範囲内に存在する場合には、そのノック判定閾値ＪＸをそのまま、今回の気筒のノック判定閾値Ｊ（ｉ）に設定する。ノック判定閾値ＪＸが前記所定範囲より小さければ、所定範囲の下限値を、今回の気筒のノック判定閾値Ｊ（ｉ）に設定し、前記所定範囲より大きければ、所定範囲の上限値を、今回の気筒のノック判定閾値Ｊ（ｉ）に設定する。
【００７９】
ガード処理（Ｓ１７４）が終了すると、ノックカウント値ＫＣがクリアされ（Ｓ１７６）、一旦本処理を出る。
以後、制御周期毎に上述した処理が行われることで、各気筒におけるノック判定閾値Ｊ（ｉ）の更新がノッキングの発生状況に応じてなされることになる。すなわち各気筒におけるノック判定閾値Ｊ（ｉ）の学習がなされることになる。
【００８０】
図７のタイミングチャートに本実施の形態による制御の一例を示す。
内燃機関２の始動後、タイミングｔ０で冷却水温度ＴＨＷが６０℃となり、ノッキング制御による点火時期調節が開始される。そしてタイミングｔ１に冷却水温度ＴＨＷが８３℃となり、このタイミングｔ１から積算される吸入空気量積算値がタイミングｔ２に２０００ｇとなる。このタイミングｔ２から点火時期学習値の更新が開始される。
【００８１】
そしてタイミングｔ３にて点火時期学習値更新が１０回以上となるとノック判定閾値Ｊ（ｉ）の更新が開始される。
本実施の形態では、点火時期学習値更新が開始されてから更新が１０回以上となるまで、ノック判定閾値Ｊ（ｉ）の更新が開始されないので、実線に示すごとくノック判定閾値Ｊ（ｉ）は、ＥＣＵ４において前回の内燃機関運転時に記憶されていた値からの変化はほとんどない。このため点火時期学習値もほとんど変化しない。
【００８２】
比較例として、ノック判定閾値Ｊ（ｉ）の更新開始をノッキング制御開始と同じタイミングｔ０とすると、破線で示したごとく、ノック判定閾値Ｊ（ｉ）は、その更新により異常に大きい値が一時的に設定される。そして、これに伴い点火時期学習値にも一時的に異常に大きい値が設定されることになる。その後、正常な状態に復帰するのに長時間を要している。
【００８３】
上述した構成において、請求項との関係は、ＥＣＵ４が許可手段に相当する。このＥＣＵ４が実行するノッキング制御処理（図１）のステップＳ１０２、点火時期フィードバック制御処理（図２）のステップＳ１３０，Ｓ１３８，Ｓ１４０，Ｓ１４２，Ｓ１４６、及びノック判定閾値Ｊ（ｉ）更新処理（図３）のステップＳ１６０が許可手段としての処理に相当する。
【００８４】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（１）ノッキング制御処理（図１）及び点火時期フィードバック制御処理（図２）により行われるノッキング発生状態に伴う点火時期制御（Ｓ１０４〜Ｓ１１２，Ｓ１３２，Ｓ１３４，Ｓ１３６，Ｓ１４８）は、実質的なノック判定閾値更新処理（Ｓ１６２〜Ｓ１７６）に先だって、第１暖機状態（ここではＴＨＷ≧６０℃）以後に許可されている。このため点火時期調節によるノッキング制御は暖機中での早期に開始できることになる。
【００８５】
しかし実質的なノック判定閾値更新処理（Ｓ１６２〜Ｓ１７６）は、第１暖機状態よりも暖機が進んだ第２暖機状態（ここではＴＨＷ≧８３℃及び吸入空気量積算値≧２０００ｇとなる暖機完了状態）以後に（実際は更に点火時期学習値更新回数≧１０回以後に）、実行が許可される。
【００８６】
このため第１暖機状態から第２暖機状態における期間には実質的なノック判定閾値更新処理（Ｓ１６２〜Ｓ１７６）はなされることはなく、その分、ノック判定閾値Ｊ（ｉ）が大きい側に振れるのを抑制できる。実際には更新されないのでノック判定閾値Ｊ（ｉ）が固定されており大小いずれにも全く振れることはなく、異常な値がノック判定閾値Ｊ（ｉ）に設定されることが抑制されている。
【００８７】
このため実質的なノック判定閾値更新処理（Ｓ１６２〜Ｓ１７６）の開始前に、本実施の形態のごとくフィードバック制御による点火時期学習値の更新（Ｓ１４４）が行われていても、ノック判定閾値が大きい方へ振れないので、点火時期学習値も更新にて過剰に進角するのが抑制される。
【００８８】
このことにより点火時期学習値についても異常な値が設定されるのを抑制することができる。
したがって図７に比較例（破線）で示したごとく、ノック判定閾値Ｊ（ｉ）及び点火時期学習値が次第に正常な値に収束するまで、想定していない高いノッキング発生頻度での内燃機関運転が継続することはないことから、運転者に違和感を与えることはない。
【００８９】
（２）上述したごとく第２暖機状態以後に実質的なノック判定閾値更新処理（Ｓ１６２〜Ｓ１７６）の実行を許可する場合も、点火時期フィードバック制御による点火時期学習値の更新回数が規定回数（ここでは１０回）以上となった後に（Ｓ１６０でＹＥＳ）、その実行を許可している。
【００９０】
このことによりノック判定閾値Ｊ（ｉ）が更新されていない状態にて、しばらく点火時期学習値の更新がなされることで点火時期学習値には正常な値が設定され、このことにより安定した内燃機関運転状態が継続する。そしてこのような安定した内燃機関運転状態が経過した後に、ノック判定閾値Ｊ（ｉ）の更新が許可される（Ｓ１６０でＹＥＳ）。
【００９１】
このためノック判定閾値Ｊ（ｉ）も異常な値が設定されるのを抑制でき、このことにより、その後の点火時期学習値にも異常な値が設定されるのを抑制できる。
（３）上述したごとく第２暖機状態としては、冷却水温度ＴＨＷ≧８３℃（Ｓ１３８）の状態のみでなく、吸入空気量積算値≧２０００ｇの状態（Ｓ１４２）も必要な条件としている。これは内燃機関２が燃焼により発生する熱量を反映する物理量が規定量以上となった後でフィードバック制御による点火時期学習値の更新を許可することを意味する。
【００９２】
このような条件にてフィードバック制御による点火時期学習値更新（Ｓ１４４）を許可している（Ｓ１４２でＹＥＳ）。このことから、確実に暖機が進行あるいは完了した十分に安定した運転状態にて更新でき、高精度な点火時期学習値を得られる。
【００９３】
（４）吸入空気量ＧＡの積算値を、内燃機関２が燃焼により発生する熱量を反映する物理量として用いているので、容易にＥＣＵ４の処理へ反映できる。
更に内燃機関温度としては内燃機関２の冷却水温度ＴＨＷを用いているので、容易にＥＣＵ４の処理へ反映できる。
【００９４】
［実施の形態２］
本実施の形態では、点火時期フィードバック制御処理としては図８に示すフローチャートのごとく実行され、ノック判定閾値Ｊ（ｉ）更新処理としては図９に示すフローチャートのごとく実行される点が前記実施の形態１と異なり、他の構成（図１，４〜６）は前記実施の形態１と同じである。
【００９５】
点火時期フィードバック制御処理（図８）のステップＳ２３０〜Ｓ２４４，Ｓ２４８は、前記図２に示した点火時期フィードバック制御処理のステップＳ１３０〜Ｓ１４４，Ｓ１４８と同じ処理であり、点火時期学習値更新回数カウントが実行されていない点が異なる。
【００９６】
ノック判定閾値Ｊ（ｉ）更新処理（図９）は、最初のステップＳ２６０が吸入空気量積算値が３０００ｇ以上か否かを判定している点が異なり、他のステップＳ２６２〜Ｓ２７６は前記図３に示したノック判定閾値Ｊ（ｉ）更新処理のステップＳ１６２〜Ｓ１７６と同じ処理である。
【００９７】
したがって本実施の形態では、図１０のタイミングチャートに示すごとく、前記実施の形態１と同様にノッキング制御開始時（ｔ１０）よりも実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）は十分に遅く開始（ｔ１３）させている。ここでは特に実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）は、点火時期学習値更新（Ｓ２４４）が実行されるようになった後（ｔ１２〜）、吸入空気量積算値に１０００ｇ分が上積みされるまでの期間（ｔ１２〜ｔ１３）、待機した後に実行されている。このためノック判定閾値Ｊ（ｉ）及び点火時期学習値は実線に示すごとく安定した推移を示している。
【００９８】
上述した構成において、請求項との関係は、ＥＣＵ４が実行するノッキング制御処理（図１）のステップＳ１０２、点火時期フィードバック制御処理（図８）のステップＳ２３０，Ｓ２３８，Ｓ２４０，Ｓ２４２、及びノック判定閾値Ｊ（ｉ）更新処理（図９）のステップＳ２６０が許可手段としての処理に相当する。
【００９９】
以上説明した本実施の形態２によれば、以下の効果が得られる。
（１）ノッキング制御開始時（ｔ１０）よりも実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）は十分に遅く開始（ｔ１３）させている。すなわち第１暖機状態（ここではＴＨＷ≧６０℃）から第２暖機状態（ここではＴＨＷ≧８３℃及び吸入空気量積算値≧２０００ｇとなる暖機完了状態）以後に（実際は更に吸入空気量積算値≧３０００ｇ以後に）、実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）がなされる。
【０１００】
このため前記実施の形態１の（１）で述べたごとく、点火時期学習値もノック判定閾値Ｊ（ｉ）も更新にて異常な値が設定されることが抑制される。
このことから、図１０に比較例（破線）にて示すごとく、ノック判定閾値Ｊ（ｉ）及び点火時期学習値が次第に正常な値に収束するまで、想定していない高いノッキング発生頻度での内燃機関運転が継続することはないことから、運転者に違和感を与えることはない。
【０１０１】
（２）点火時期学習値更新回数の代わりに、吸入空気量積算値における更なる上積み分の発生後に、ノック判定閾値Ｊ（ｉ）更新を開始している。このためノック判定閾値Ｊ（ｉ）が更新されてない状態にて、しばらく点火時期学習値の更新がなされることになる。したがって点火時期学習値には安定した値が設定され、このような安定した内燃機関運転状態が継続した後に、ノック判定閾値Ｊ（ｉ）の更新が許可される（Ｓ２６０でＹＥＳ）。このためノック判定閾値Ｊ（ｉ）も異常な値が設定されるのを抑制でき、更にこれ以後においても点火時期学習値に異常な値が設定されるのを抑制できる。
【０１０２】
したがって前記実施の形態１と同様な効果を生じる。
［実施の形態３］
本実施の形態では、点火時期フィードバック制御処理としては図１１に示すフローチャートのごとく実行される点が前記実施の形態２と異なり、他の構成（図１，４〜６，９）は前記実施の形態２と同じである。
【０１０３】
点火時期フィードバック制御処理（図１１）のステップＳ３３０〜Ｓ３４０，Ｓ３４４，Ｓ３４８は、前記図８に示した点火時期フィードバック制御処理のステップＳ２３０〜Ｓ２４０，Ｓ２４４，Ｓ２４８と同じ処理である。
【０１０４】
異なる点はステップＳ３４２が、ノック判定閾値Ｊ（ｉ）更新処理（図９）のステップＳ２６０と同様に、吸入空気量積算値が３０００ｇ以上か否かを判定している点である。
したがって本実施の形態では、図１２のタイミングチャートに示すごとく、点火時期学習値更新（Ｓ３４４）と実質的なノック判定閾値更新処理（図９：Ｓ２６２〜Ｓ２７６）とは、吸入空気量積算値≧３０００ｇとなることで暖機後十分に安定した内燃機関運転状態となった後に（ｔ２３〜）、同時に開始されることになる。
【０１０５】
上述した構成において、請求項との関係は、ＥＣＵ４が実行するノッキング制御処理（図１）のステップＳ１０２、点火時期フィードバック制御処理（図１１）のステップＳ３３０，Ｓ３３８，Ｓ３４０，Ｓ３４２、及びノック判定閾値Ｊ（ｉ）更新処理（図９）のステップＳ２６０が許可手段としての処理に相当する。
【０１０６】
以上説明した本実施の形態３によれば、以下の効果が得られる。
（１）ノッキング制御開始時（ｔ２０）から更に十分に暖機されるまでは、実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）は開始されず、ノック判定閾値Ｊ（ｉ）は固定されている。このことは前記実施の形態２と同様である。
【０１０７】
このため、その後に（ｔ２３〜）、実質的なノック判定閾値更新処理（Ｓ２６２〜Ｓ２７６）の開始と同時に点火時期学習値更新が開始されても、点火時期学習値が更新にて過剰に進角するのが抑制される。更にこの進角抑制に対応してノック判定閾値Ｊ（ｉ）も更新にて過剰に大きくなるのが抑制される。
【０１０８】
このため図１２に比較例（破線）で示したごとく、ノック判定閾値Ｊ（ｉ）及び点火時期学習値が次第に正常な値に収束するまで、想定していない高いノッキング発生頻度での内燃機関運転が継続することはないことから、運転者に違和感を与えることはない。
【０１０９】
（２）吸入空気量積算値を判定するための規定量として３０００ｇを用いているので、より確実に暖機が進行あるいは完了して十分に安定した運転状態にて更新でき、高精度な点火時期学習値及びノック判定閾値Ｊ（ｉ）を得られる。
【０１１０】
更に、前記実施の形態１の（４）と同様な効果が生じる。
［実施の形態４］
本実施の形態では、点火時期フィードバック制御処理としては図１３に示すフローチャートのごとく実行され、ノック判定閾値Ｊ（ｉ）更新処理としては図１４，１５に示すフローチャートのごとく実行される点が前記実施の形態１と異なり、他の構成（図１，４〜６）は前記実施の形態１と同じである。
【０１１１】
点火時期フィードバック制御処理（図１３）のステップＳ４３０〜Ｓ４３６，Ｓ４４４，Ｓ４４８は、前記図２に示した点火時期フィードバック制御処理のステップＳ１３０〜Ｓ１３６，Ｓ１４４，Ｓ１４８と同じ処理である。そして前記図２のステップＳ１３８，Ｓ１４０，Ｓ１４６の処理が存在しない点と、ステップＳ４４２での判定が、ノック判定閾値Ｊ（ｉ）更新回数が５回以上か否かを判定する点が、前記図２とは異なる。
【０１１２】
ノック判定閾値Ｊ（ｉ）更新処理（図１４，１５）は、ステップＳ４５６，Ｓ４５８，Ｓ４７８の処理が加わり、ステップＳ４６０が吸入空気量積算値が２０００ｇ以上か否かを判定する処理である点が異なり、他のステップＳ４６２〜Ｓ４７６は前記図３に示したノック判定閾値Ｊ（ｉ）更新処理のステップＳ１６２〜Ｓ１７６と同じ処理である。
【０１１３】
上述した構成により点火時期フィードバック制御処理（図１３）では、点火時期学習値更新（Ｓ４４４）は、ノック判定閾値Ｊ（ｉ）の更新回数が５回以上となってから（Ｓ４４２でＹＥＳ）なされることになる。
【０１１４】
そしてノック判定閾値Ｊ（ｉ）更新処理（図１４，１５）では、内燃機関２の冷却水温度ＴＨＷが８３℃以上で（Ｓ４５６でＹＥＳ）、吸入空気量ＧＡの積算（Ｓ４５８）が開始され、この吸入空気量積算が２０００ｇ以上となってから（Ｓ４６０でＹＥＳ）、実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）が開始される。そしてこの実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）によるノック判定閾値Ｊ（ｉ）の更新回数がカウントされる（Ｓ４７８）。
【０１１５】
したがって本実施の形態では、図１６のタイミングチャートに示すごとく、前記実施の形態１と同様にノッキング制御開始時（ｔ３０）よりも実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）は十分に遅く開始（ｔ３２）させている。そして、点火時期学習値更新（Ｓ４４４）は、更に、実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）が実行されてノック判定閾値Ｊ（ｉ）が５回更新されるまでの期間（ｔ３２〜ｔ３３）、待機した後に開始されている。
【０１１６】
上述した構成において、請求項との関係は、ＥＣＵ４が実行するノッキング制御処理（図１）のステップＳ１０２、点火時期フィードバック制御処理（図１３）のステップＳ４３０，Ｓ４４２、及びノック判定閾値Ｊ（ｉ）更新処理（図１４，１５）のステップＳ４５６，Ｓ４５８，Ｓ４６０，Ｓ４７８が許可手段としての処理に相当する。
【０１１７】
以上説明した本実施の形態４によれば、以下の効果が得られる。
（１）上述したごとくノッキング制御開始時（ｔ３０）よりも実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）は十分に遅く開始（ｔ３２）させている。この間（ｔ３０〜ｔ３２）はノック判定閾値Ｊ（ｉ）は更新されず固定されているので、異常な値が設定されることがない。そしてその後に（ｔ３２〜）、ノック判定閾値Ｊ（ｉ）の更新が開始されても、既に十分に暖機が進行しあるいは暖機完了しているのでノック判定閾値Ｊ（ｉ）に更新にて異常な値が設定されることが抑制される。
【０１１８】
そして点火時期学習値更新（Ｓ４４４）は、第１暖機状態よりも暖機が進んだ第２暖機状態（ここではＴＨＷ≧８３℃及び吸入空気量積算値≧２０００ｇとなる暖機完了状態）であって、更にノック判定閾値Ｊ（ｉ）更新回数≧５回の状態にて実行が許可される（Ｓ４４２でＹＥＳ）。
【０１１９】
このため、第１暖機状態から第２暖機状態後のノック判定閾値Ｊ（ｉ）更新回数≧５回の状態となるまでの期間には、点火時期学習値更新（Ｓ４４４）はなされることはなく、その間、特にノック判定閾値Ｊ（ｉ）の更新開始後（ｔ３２〜）においても、点火時期学習値がノック判定閾値Ｊ（ｉ）に影響されることはない。更にこのことによりノック判定閾値Ｊ（ｉ）についても異常な変動が防止できる。
【０１２０】
このことにより、暖機完了直後におけるノック判定閾値Ｊ（ｉ）及び点火時期学習値に異常な値が設定されるのを抑制することができる。
そして、このことから図１６に比較例（破線）で示したごとく、始動後にノック判定閾値Ｊ（ｉ）が次第に正常な値に収束するまで想定していない高いノッキング発生頻度での内燃機関運転が継続することはない。このため運転者に違和感を与えることはない。
【０１２１】
（２）上述したごとく第２暖機状態としては、冷却水温度ＴＨＷ≧８３℃の状態のみでなく、吸入空気量積算値≧２０００ｇの状態も必要な条件としている。これは内燃機関２が燃焼により発生する熱量を反映する物理量が規定量以上となった後でノック判定閾値Ｊ（ｉ）の更新を許可することを意味する。
【０１２２】
このような条件にて実質的なノック判定閾値更新処理（Ｓ４６２〜Ｓ４７６）を許可しているので、内燃機関運転が確実に暖機が完了し安定した運転状態にて、高精度なノック判定閾値Ｊ（ｉ）を得られる。
【０１２３】
（３）更に前記実施の形態１の（４）に述べた効果を生じる。
［その他の実施の形態］
・前記各実施の形態のノック判定（Ｓ１３２，Ｓ２３２，Ｓ３３２，Ｓ４３２）では、条件１，２によりノック強度Ｎと共に相関係数Ｋについても判定対象としたが、相関係数Ｋを用いずにノック強度Ｎのみにより判定しても良い。
【０１２４】
・前記各実施の形態ではポート噴射火花点火式内燃機関であったが筒内噴射火花点火式内燃機関にも本発明を適用できる。又、吸入空気量調節はスロットルバルブにより実行していたが、吸気バルブのバルブ作用角あるいは最大バルブリフト量調節により吸入空気量調節する内燃機関にも本発明を適用できる。
【０１２５】
・実質的なノック判定閾値更新処理としては、ステップＳ１６２〜Ｓ１７６、ステップＳ２６２〜Ｓ２７６、ステップＳ４６２〜Ｓ４７６に述べた処理に限らない。他の手法によりノック判定閾値Ｊ（ｉ）を更新しても良い。
【０１２６】
・前記各実施の形態では内燃機関温度として内燃機関の冷却水温度を用いたが、これ以外にエンジンオイルの油温を用いても良い。
・前記各実施の形態では内燃機関が燃焼により発生する熱量を反映する物理量として吸入空気量の積算値を用いたが、燃料噴射弁から噴射される燃料量の積算値を用いても良い。これ以外に、内燃機関が燃焼により発生する熱量を反映する物理量としては、機関回転数ＮＥの積算値でも良く、あるいは内燃機関の継続運転時間でも良い。
【符号の説明】
【０１２７】
２…内燃機関、４…ＥＣＵ、６…燃焼室、８…吸気通路、８ａ…サージタンク、８ｂ…分岐管、８ｃ…吸気ポート、１０…燃料噴射弁、１２…点火プラグ、１４…ピストン、１６…クランクシャフト、１８…排気通路、１８ａ…排気ポート、２０…吸気バルブ、２２…排気バルブ、２４…アクセルペダル、２６…スロットルバルブ、２８…機関回転数センサ、３０…冷却水温センサ、３２…スロットル開度センサ、３４…吸入空気量センサ、３６…アクセル操作量センサ、３８…カムポジションセンサ、４０…ノックセンサ。
【図１】
2010270684.tif 000003
【図２】
2010270684.tif 000004
【図３】
2010270684.tif 000005
【図４】
2010270684.tif 000006
【図５】
2010270684.tif 000007
【図６】
2010270684.tif 000008
【図７】
2010270684.tif 000009
【図８】
2010270684.tif 000010
【図９】
2010270684.tif 000011
【図１０】
2010270684.tif 000012
【図１１】
2010270684.tif 000013
【図１２】
2010270684.tif 000014
【図１３】
2010270684.tif 000015
【図１４】
2010270684.tif 000016
【図１５】
2010270684.tif 000017
【図１６】
2010270684.tif 000018