(57)【要約】【課題】高応答の点火時期フィードバック制御が可能となることにより回転変動を効果的に抑制できる内燃機関点火時期制御装置。【解決手段】最終点火時期の通常の算出時からこの最終点火時期までの間で再算出処理が実行できると判定されると(S108でyes、S110でyes)、点火時期フィードバック制御補正量θfbと最終点火時期とを再算出している(S112)。このため実際の点火時期により近いタイミングでのエンジン回転数NEが最終点火時期に反映されるので、フィードバックゲインを大きくしてもオーバーシュートは生じにくく、高応答な点火時期フィードバック制御が可能となりエンジン回転変動を効果的に抑制できる。再算出処理が実行されない場合(S108でno又はS110でno)は通常時に算出された点火時期フィードバック制御補正量θfbに基づく最終点火時期を用いる(S102−S106)ので或程度の精度で最終点火時期が維持され、失火などの点火異常が生じることがない。【選択図】図２
2008298017.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、
点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、
点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、
前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、
前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、
前記最終点火時期算出手段にて算出された最終点火時期と前記最終点火時期再算出手段での再算出結果とに基づいて実際の点火に用いられる点火時期を設定する点火時期設定手段と、
を備えたことを特徴とする内燃機関点火時期制御装置。
【請求項２】
請求項１において、前記最終点火時期再算出手段は、前記最終点火時期算出手段により算出された最終点火時期に基づいて、点火時期フィードバック制御補正量及び最終点火時期の再算出実行タイミングを設定することを特徴とする内燃機関点火時期制御装置。
【請求項３】
内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、
点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、
点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、
前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、
前記最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定する初期点火時期設定手段と、
前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、点火時期フィードバック制御補正量の再算出及び該点火時期フィードバック制御補正量を用いた補正による最終点火時期の再算出が可能であるか否かを判定する再算出可能判定手段と、
前記再算出可能判定手段にて再算出が可能であると判定された場合には、前記点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、
前記最終点火時期再算出手段にて最終点火時期が再算出された場合に、前記初期点火時期設定手段による点火時期設定を解除して、前記最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定する点火時期再設定手段と、
を備えたことを特徴とする内燃機関点火時期制御装置。
【請求項４】
内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、
点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、
点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、
前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、
前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、前記点火時期フィードバック制御補正量の再算出及び該点火時期フィードバック制御補正量を用いた補正による最終点火時期の再算出が可能であるか否かを判定する再算出可能判定手段と、
前記再算出可能判定手段にて再算出が可能であると判定された場合には、点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、
前記再算出可能判定手段にて再算出が可能であると判定された場合には、前記最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定し、前記再算出可能判定手段にて再算出が不可能であると判定された場合には、前記最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定する点火時期設定手段と、
を備えたことを特徴とする内燃機関点火時期制御装置。
【請求項５】
請求項３又は４において、前記最終点火時期再算出手段は一定周期の割り込み処理にて前記点火時期フィードバック制御補正量及び前記最終点火時期の再算出を実行する手段であると共に、前記再算出可能判定手段は、前記最終点火時期再算出手段による割り込み処理が、前記最終点火時期算出手段にて算出された最終点火時期より前に完了する場合には再算出が可能であると判定し、前記最終点火時期算出手段にて算出された最終点火時期より前に完了しない場合には再算出は不可能であると判定することを特徴とする内燃機関点火時期制御装置。
【請求項６】
請求項３〜５のいずれかにおいて、前記再算出可能判定手段は、前記最終点火時期再算出手段による再算出処理が、前記最終点火時期算出手段にて算出された最終点火時期よりも更に余裕期間以前に完了する場合には再算出が可能であると判定し、前記最終点火時期算出手段にて算出された最終点火時期よりも更に余裕期間以前に完了しない場合には再算出は不可能であると判定することを特徴とする内燃機関点火時期制御装置。
【請求項７】
請求項６において、前記余裕期間は、前記最終点火時期再算出手段により再算出される最終点火時期の変動幅を考慮して予め設定されていることを特徴とする内燃機関点火時期制御装置。
【請求項８】
請求項１〜７のいずれかにおいて、前記点火時期フィードバック制御補正量の算出処理は、アイドル時において内燃機関回転数変動を抑制するための処理として行われていることを特徴とする内燃機関点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置に関する。
【背景技術】
【０００２】
内燃機関の点火時期制御において、内燃機関の運転状態から点火時期を求め、更に実際の点火直前までの内燃機関回転変化を角度信号の変化にて検出することにより上記点火時期を補正し、このことで適切な点火時期を設定する技術が提案されている（例えば特許文献１参照）。
【特許文献１】特公平７−１８３９５号公報（第４−６頁、図４−６）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような点火時期制御において、更に内燃機関回転数変動を抑制するために、内燃機関回転数に対する点火時期フィードバック制御を実行する場合がある。このフィードバック制御では、前記特許文献１のごとく内燃機関の運転状態に基づいて求められたベース点火時期は点火時期フィードバック制御にて求められた補正量にて補正されることになる。
【０００４】
しかしこのようなフィードバック制御計算を実行する場合、前記特許文献１のごとく単純に角度信号の差を反映する場合と比較して計算に長時間を要する。
このため点火上死点より十分に前のタイミングで、ベース点火時期を求めると共に、更に内燃機関回転数状態に基づいてフィードバック制御計算を実行して補正量を算出することになる。そしてこの補正量にてベース点火時期を補正して最終点火時期を求め、この最終点火時期となるのを待って実際に点火を実行することになる。
【０００５】
しかしこのように点火上死点より十分に前のタイミングで余裕を持って最終点火時期が計算されていることから、高応答のフィードバック制御にするためにフィードバックゲインを大きくしようとするとオーバーシュートの可能性を高めることになった。すなわち最終点火時期算出時から実際にこの最終点火時期となるまでの時間が長くなり、この間に生じる回転数変動が無視できなくなるからである。このようにフィードバック制御上の無駄時間が長くなって回転変動抑制効果を十分高めることは困難であった。
【０００６】
本発明は、高応答の点火時期フィードバック制御が可能となることにより、回転変動を効果的に抑制できる内燃機関点火時期制御装置を目的とするものである。
【課題を解決するための手段】
【０００７】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の内燃機関点火時期制御装置は、内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、前記最終点火時期算出手段にて算出された最終点火時期と前記最終点火時期再算出手段での再算出結果とに基づいて実際の点火に用いられる点火時期を設定する点火時期設定手段とを備えたことを特徴とする。
【０００８】
このように最終点火時期再算出手段は、最終点火時期算出手段にて最終点火時期を算出した時点からこの最終点火時期までの間に、点火時期フィードバック制御補正量を再算出してベース点火時期を補正することで最終点火時期の再算出を実行するものである。そして点火時期設定手段は、最終点火時期算出手段にて算出された最終点火時期と最終点火時期再算出手段での再算出結果とに基づいて実際の点火に用いられる点火時期を設定している。
【０００９】
このように実際の点火に用いられる点火時期を設定する点火時期設定手段は、最終点火時期算出手段での算出タイミングで得られた最終点火時期をそのまま実際の点火時期として設定してしまうのではなく、更に最終点火時期再算出手段での再算出結果に基づいて点火時期を設定している。
【００１０】
したがって最終点火時期再算出手段での再算出がなされていることにより再算出結果が存在すれば、実際の点火時期に、より近いタイミングでの内燃機関回転数が反映されることになる。このことからフィードバックゲインを大きくしてもオーバーシュートは生じにくくなり、高応答な点火時期フィードバック制御が可能となる。このことにより内燃機関の回転変動を効果的に抑制できる。
【００１１】
又、最終点火時期再算出手段での再算出がなされていないことにより再算出結果が存在しなければ、最終点火時期算出手段にて算出された最終点火時期を用いることにより或程度の精度で最終点火時期を維持でき、失火などの点火異常が防止されることになる。
【００１２】
請求項２に記載の内燃機関点火時期制御装置では、請求項１において、前記最終点火時期再算出手段は、前記最終点火時期算出手段により算出された最終点火時期に基づいて、点火時期フィードバック制御補正量及び最終点火時期の再算出実行タイミングを設定することを特徴とする。
【００１３】
最終点火時期再算出手段が最終点火時期算出手段により算出された最終点火時期に基づいて再算出実行タイミングを設定しているので、再算出の実行可能・不可能が容易に判断できる。そして再算出が実行可能である場合には、適切なタイミングでの再算出が可能となる。
【００１４】
このように適切なタイミングで再算出が可能となることにより効果的に回転変動を抑制できる点火時期が得られる。あるいは再算出しないことを容易に決定できることにより、制御システム側に無駄な処理をさせずに済み、制御システムの負荷をいたずらに高めることがない。
【００１５】
請求項３に記載の内燃機関点火時期制御装置は、内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、前記最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定する初期点火時期設定手段と、前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、点火時期フィードバック制御補正量の再算出及び該点火時期フィードバック制御補正量を用いた補正による最終点火時期の再算出が可能であるか否かを判定する再算出可能判定手段と、前記再算出可能判定手段にて再算出が可能であると判定された場合には、前記点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、前記最終点火時期再算出手段にて最終点火時期が再算出された場合に、前記初期点火時期設定手段による点火時期設定を解除して、前記最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定する点火時期再設定手段とを備えたことを特徴とする。
【００１６】
初期点火時期設定手段は、先に最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定している。しかし、この後に、最終点火時期再算出手段にて最終点火時期が再算出された場合には、点火時期再設定手段は、初期点火時期設定手段による点火時期設定を解除して、最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定している。
【００１７】
このことにより最終点火時期再算出手段にて最終点火時期が再算出された場合には、実際の点火時期に、より近いタイミングでの内燃機関回転数が反映されることになる。したがってフィードバックゲインを大きくしてもオーバーシュートは生じにくくなり、高応答な点火時期フィードバック制御が可能となる。このことにより内燃機関の回転変動を効果的に抑制できる。
【００１８】
最終点火時期再算出手段にて最終点火時期が再算出されなかった場合には、上述したごとく、先に、初期点火時期設定手段により、最終点火時期算出手段にて算出された最終点火時期が実際の点火に用いられる点火時期として設定されていることから、この設定がそのまま生かされてこの点火時期にて実際の点火がなされることになる。
【００１９】
尚、再算出可能判定手段にて再算出可能と判定されて最終点火時期再算出手段にて最終点火時期の再算出がなされても、判定直後の回転変動が激しく変化して、再算出の完了時に最終点火時期を経過していた場合がある。しかし本発明のごとく先に初期点火時期設定手段により点火時期が設定されていることから、再算出が間に合わなければ先に設定した点火時期は解除されていないので、この点火時期に内燃機関のクランク角が到達すれば或程度の精度の点火時期にて実際に点火が行われることになる。このようにして失火などの点火異常が防止されることになる。
【００２０】
請求項４に記載の内燃機関点火時期制御装置は、内燃機関の運転状態に応じて点火時期を設定すると共に、内燃機関回転数に対する点火時期フィードバック制御を実行する内燃機関点火時期制御装置であって、点火上死点前に設けられたベース点火時期計算タイミングにて、内燃機関の運転状態に基づいてベース点火時期を算出するベース点火時期算出手段と、点火上死点前に設けられた点火時期フィードバック制御計算タイミングにて、点火時期フィードバック制御補正量を算出する点火時期フィードバック制御補正量算出手段と、前記ベース点火時期算出手段にて算出されたベース点火時期を、前記点火時期フィードバック制御補正量算出手段にて算出された点火時期フィードバック制御補正量により補正して最終点火時期を算出する最終点火時期算出手段と、前記最終点火時期算出手段にて最終点火時期を算出した時点から該最終点火時期までの間に、前記点火時期フィードバック制御補正量の再算出及び該点火時期フィードバック制御補正量を用いた補正による最終点火時期の再算出が可能であるか否かを判定する再算出可能判定手段と、前記再算出可能判定手段にて再算出が可能であると判定された場合には、点火時期フィードバック制御補正量を再算出して該点火時期フィードバック制御補正量により前記ベース点火時期を補正して最終点火時期の再算出を実行する最終点火時期再算出手段と、前記再算出可能判定手段にて再算出が可能であると判定された場合には、前記最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定し、前記再算出可能判定手段にて再算出が不可能であると判定された場合には、前記最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定する点火時期設定手段とを備えたことを特徴とする。
【００２１】
このように点火時期設定手段は、再算出可能判定手段にて再算出が可能であると判定された場合には、最終点火時期再算出手段にて再算出された最終点火時期を実際の点火に用いられる点火時期として設定している。このことにより実際の点火時期に、より近いタイミングでの内燃機関回転数が反映されることになる。したがってフィードバックゲインを大きくしてもオーバーシュートは生じにくくなり、高応答な点火時期フィードバック制御が可能となる。このことにより内燃機関の回転変動を効果的に抑制できる。
【００２２】
又、再算出可能判定手段にて再算出が不可能であると判定された場合には、点火時期設定手段は、最終点火時期算出手段にて算出された最終点火時期を実際の点火に用いられる点火時期として設定している。このことから或程度の精度がある点火時期が必ず設定されることになり、失火などの点火異常が防止されることになる。
【００２３】
請求項５に記載の内燃機関点火時期制御装置では、請求項３又は４において、前記最終点火時期再算出手段は一定周期の割り込み処理にて前記点火時期フィードバック制御補正量及び前記最終点火時期の再算出を実行する手段であると共に、前記再算出可能判定手段は、前記最終点火時期再算出手段による割り込み処理が、前記最終点火時期算出手段にて算出された最終点火時期より前に完了する場合には再算出が可能であると判定し、前記最終点火時期算出手段にて算出された最終点火時期より前に完了しない場合には再算出は不可能であると判定することを特徴とする。
【００２４】
このように最終点火時期再算出手段による再算出が一定周期の割り込み処理にて行われるものである場合には、この割り込み処理が最終点火時期算出手段にて算出された最終点火時期より前に完了する場合は、最終点火時期を再算出できるので、再算出が可能であると判定できる。そして、これ以外の場合には、最終点火時期を再算出できないので、再算出は不可能であると判定できる。このように既に最終点火時期算出手段にて算出された最終点火時期との比較により容易かつ適切に再算出の可能・不可能を判定できる。
【００２５】
請求項６に記載の内燃機関点火時期制御装置では、請求項３〜５のいずれかにおいて、前記再算出可能判定手段は、前記最終点火時期再算出手段による再算出処理が、前記最終点火時期算出手段にて算出された最終点火時期よりも更に余裕期間以前に完了する場合には再算出が可能であると判定し、前記最終点火時期算出手段にて算出された最終点火時期よりも更に余裕期間以前に完了しない場合には再算出は不可能であると判定することを特徴とする。
【００２６】
このように余裕期間を設けることにより、再算出される最終点火時期の変動をより適切に考慮でき、より高精度に再算出の可能・不可能を判定できる。したがって、より適切に最終点火時期再算出手段による再算出処理を実行でき、内燃機関の回転変動を効果的に抑制できる。
【００２７】
請求項７に記載の内燃機関点火時期制御装置では、請求項６において、前記余裕期間は、前記最終点火時期再算出手段により再算出される最終点火時期の変動幅を考慮して予め設定されていることを特徴とする。
【００２８】
このように最終点火時期の変動幅を考慮して余裕期間を設定することにより、より高精度に再算出の可能・不可能を判定できる。したがって、より適切に最終点火時期再算出手段による再算出処理を実行でき、内燃機関の回転変動を効果的に抑制できる。
【００２９】
請求項８に記載の内燃機関点火時期制御装置では、請求項１〜７のいずれかにおいて、前記点火時期フィードバック制御補正量の算出処理は、アイドル時において内燃機関回転数変動を抑制するための処理として行われていることを特徴とする。
【００３０】
このように点火時期フィードバック制御補正量の算出処理がアイドル時において内燃機関回転数変動を抑制するための処理として実行されている場合には、アイドル時の回転変動抑制処理が高応答なものとなり、アイドル時の内燃機関の回転変動を効果的に抑制できる。
【発明を実施するための最良の形態】
【００３１】
［実施の形態１］
図１は、上述した発明が適用された火花点火型内燃機関（以下「エンジン」と称する）２の概略構成及びその制御装置のブロック図を表している。エンジン２は複数気筒、例えば４気筒ガソリンエンジンとして構成されている。図１ではこの内の１つの気筒を示している。エンジン２の各シリンダ４内にはピストン６が往復動可能に設けられており、このピストン６の頂面と、シリンダ４の内壁面及びシリンダヘッド８の下面とによって燃焼室１０が区画形成されている。燃焼室１０には吸気通路１２及び排気通路１４が接続されており、これら各通路１２，１４は吸気バルブ１６及び排気バルブ１８によって開閉される。
【００３２】
吸気通路１２に設けられたサージタンク１２ａの上流側には燃焼室１０に導入される吸入空気量を調節するためのスロットルバルブ２０が設けられている。更にスロットルバルブ２０の上流側には吸入空気量ＧＡを測定するための吸入空気量センサ２２が設けられている。サージタンク１２ａの下流にある各気筒の吸気ポート１２ｂには燃料噴射弁２４が設けられており、燃焼室１０側に向けて燃料噴射可能としている。尚、燃料噴射弁２４は吸気ポート１２ｂではなく直接、燃焼室１０内に噴射させる筒内噴射型としても良い。
【００３３】
吸気行程にて吸気バルブ１６が吸気カム１６ａにより開弁されることにより燃料噴射弁２４から噴射された燃料と共に吸気が混合気として燃焼室１０内に供給されると、圧縮行程の最後に点火上死点近くにて点火プラグ２６により混合気に点火されて燃焼行程となりピストン６が押し下げられる。そして排気行程にて排気バルブ１８が排気カム１８ａにより開弁されることにより燃焼室１０内の気体が排気通路１４側に排出される。この後、排気は排気浄化触媒やマフラーを介して外部に排出される。
【００３４】
スロットルバルブ２０の開度（スロットル開度）ＴＡ、燃料噴射弁２４による燃料噴射量と燃料噴射時期、及び点火プラグ２６による点火時期は、電子制御ユニット（以下、ＥＣＵと略す）３０により演算された結果に基づいて調節されている。
【００３５】
ここでスロットル開度ＴＡは、スロットルバルブ２０に設けられたスロットル開度センサ２０ａにより検出されてＥＣＵ３０に読み込まれている。そしてアクセルペダル２８の踏み込み量を検出するアクセルセンサ２８ａからのアクセル開度ＡＣＣＰのデータ、及びその他のデータに基づいて算出された結果に応じた指令信号が、ＥＣＵ３０からスロットルバルブ２０を駆動するスロットルモータ２０ｂの制御回路に出力される。このことによりスロットルバルブ２０が駆動されてスロットル開度ＴＡが調節される。特にアイドル時においてはエンジン回転数センサ３２ａにて検出されるエンジン回転数ＮＥが目標回転数ＮＥｔとなるようにスロットル開度ＴＡが調節される。
【００３６】
更にＥＣＵ３０は、吸入空気量センサ２２にて検出される吸入空気量ＧＡ及びエンジン回転数ＮＥに基づいて基本燃料量を算出している。更にＥＣＵ３０は、この基本燃料量を、排気通路１４に設けられた空燃比センサ３４の出力に基づいてフィードバック制御し、適切な空燃比にて燃焼室１０内で燃焼するように燃料噴射弁２４からの燃料噴射量とその噴射タイミングとを調節している。
【００３７】
更にＥＣＵ３０は、吸入空気量ＧＡ及びエンジン回転数ＮＥに基づいて点火時期を設定していると共に、エンジン回転数ＮＥの変動、特にアイドル時における変動を抑制するために、点火時期をフィードバック制御により進遅角制御している。尚、ＥＣＵ３０はカムポジションセンサ３６からのＧ２信号により気筒判別を実行している。
【００３８】
ここでＥＣＵ３０が実行する点火時期制御処理のフローチャートを図２に示す。本処理は各気筒のＢＴＤＣ９０°ＣＡ（点火上死点前９０°クランク角：ベース点火時期計算タイミングに相当）毎の割り込みで実行される。尚、個々の処理内容に対応するフローチャート中のステップを「Ｓ〜」で表す。
【００３９】
本処理が開始されると、まず吸入空気量センサ２２により検出されている吸入空気量ＧＡと、エンジン回転数センサ３２ａにより検出されているエンジン回転数ＮＥとに基づいて、予めＥＣＵ３０内に格納されているベース点火時期マップＭＡＰｉｇｔからベース点火時期を算出する（Ｓ１０２）。
【００４０】
更に各種進遅角要求値θ１，…θｘを算出する（Ｓ１０３）。各種進遅角要求値θ１，…θｘとしては、例えば加速時用、過渡時用、ノック補正用、機関暖機用、触媒暖機用、エンスト回避用などのために設定される点火時期の進遅角要求値である。
【００４１】
そして式１に示すごとく、ベース点火時期を、前記進遅角要求値θ１，…θｘと、別途、後述するごとく算出されている点火時期フィードバック制御補正量θｆｂとに基づく補正処理Ｆｈを実行して、最終点火時期を算出する（Ｓ１０４）。
【００４２】
［式１］  最終点火時期  ←  ベース点火時期＋Ｆｈ（θ１，…θｘ，θｆｂ）
尚、現在、アイドル運転時でなければ、点火時期フィードバック制御補正量θｆｂなどのようにアイドル時で必要な補正はなされない。
【００４３】
上記式１のごとく算出した最終点火時期を、ＥＣＵ３０内に設けられた点火制御システム（ＩＣ回路あるいはプログラム）側に指示する（Ｓ１０６）。このことにより点火制御システム側では、この後に最終点火時期が書き換えられなければ、この最終点火時期にて該当する気筒の点火プラグ２６に通電して点火を実行することになる。
【００４４】
ここで点火時期フィードバック制御補正量θｆｂの算出処理は図３に示したごとく、ＢＴＤＣ１８０°ＣＡ（点火上死点前１８０°クランク角：点火時期フィードバック制御計算タイミングに相当）にて割り込み実行されるようにプログラムが構成されている。したがって点火時期制御処理（図２）の開始タイミングよりも、クランク角９０°ＣＡ前のタイミングで開始されていることになる。
【００４５】
この点火時期フィードバック制御補正量θｆｂ算出処理（図３）では、まずエンジン回転数ＮＥの回転変動量ＤＬＮＥが算出される（Ｓ１２２）。この回転変動量ＤＬＮＥの算出手法は各種存在する。例えば、所定の期間にわたってエンジン回転数ＮＥの平均値ＮＥＳＭを算出し、この平均値ＮＥＳＭと現在のエンジン回転数ＮＥとの差を回転変動量ＤＬＮＥとする。
【００４６】
次にこの回転変動量ＤＬＮＥに基づいて点火時期フィードバック制御計算処理Ｆｐｉｄを実行して、点火時期フィードバック制御補正量θｆｂを算出する（Ｓ１２４）。この点火時期フィードバック制御計算処理Ｆｐｉｄは、例えば式２に示すごとく回転変動量ＤＬＮＥに基づくＰＩＤ計算により求められる。
【００４７】
［式２］  θfb  ←  Kp・DLNE  +  Ki・ΣDLNE  +  Kd・dDLNE/dt
ここでＫｐ，Ｋｉ，Ｋｄは比例係数であり、ΣＤＬＮＥは、制御周期毎の回転変動量ＤＬＮＥの積算を表し、ｄＤＬＮＥ／ｄｔは１制御周期当たりの回転変動量ＤＬＮＥの変化量を表している。
【００４８】
こうして各気筒のＢＴＤＣ１８０°ＣＡ毎に割り込み実行される処理により点火時期フィードバック制御補正量θｆｂが求められ、点火時期制御処理（図２）のステップＳ１０４にてベース点火時期の補正に用いられる。
【００４９】
点火時期制御処理（図２）の説明に戻る。ステップＳ１０６の次に、今回の点火時期制御処理（図２）の処理後から前記式１にて算出した最終点火時期までに、点火時期フィードバック制御補正量θｆｂの再算出、及びこの点火時期フィードバック制御補正量θｆｂを用いた新たな補正にて最終点火時期の再算出が可能か否かが判定される（Ｓ１０８）。
【００５０】
この再算出は、後述する図４の再算出処理により行われるが、この再算出処理（図４）は、ＥＣＵ３０ではＢＴＤＣ６０°ＣＡにて割り込み処理がなされる設定とされている。したがって、今回の点火時期制御処理（図２）の処理後に実行されるＢＴＤＣ６０°ＣＡから前記式１にて算出された最終点火時期までにクランク軸３２が回転する時間を、現在のエンジン回転数ＮＥに基づいて算出し、この時間内で再算出処理（図４）が実行可能であれば（Ｓ１０８でyes）、次に「他の再算出条件」が判定される（Ｓ１１０）。尚、ＢＴＤＣ６０°ＣＡから最終点火時期までにクランク軸３２が回転する時間は、エンジン回転数ＮＥと共にエンジン回転数ＮＥの加速度も考慮して、より高精度に算出しても良い。
【００５１】
ステップＳ１１０における「他の再算出条件」としては、始動後であるか、アイドル時であるか、回転が再算出に適した範囲にあるか、他の進遅角要求と干渉しないか等の条件が挙げられる。尚、他の進遅角要求との干渉とは、例えば前述した触媒暖機やエンスト回避などの優先すべき点火時期制御を実行している場合であり、この場合には再算出は行わない。
【００５２】
上記条件が全て満足された場合に、「他の再算出条件」は成立し（Ｓ１１０でyes）、次に再算出処理実行が設定される（Ｓ１１２）。すなわちこの後のＢＴＤＣ６０°ＣＡにて再算出処理（図４）が実行されることになる。
【００５３】
前記時間内で再算出処理（図４）が実行不可能であれば（Ｓ１０８でno）、あるいは「他の再算出条件」が不成立であれば（Ｓ１１０でno）、再算出処理実行の設定は行わずに、このまま本処理を出る。
【００５４】
ステップＳ１１２にて実行が設定される再算出処理（図４）について説明する。ステップＳ１１２にて再算出処理の実行が設定された後に、ＢＴＤＣ６０°ＣＡとなると、まずこのタイミングでの回転変動量ＤＬＮＥの算出が実行される（Ｓ１３２）。この処理は点火時期フィードバック制御補正量θｆｂ算出処理（図３）のステップＳ１２２と同じである。
【００５５】
次にこの回転変動量ＤＬＮＥに基づいて前記式２に示した点火時期フィードバック制御計算処理Ｆｐｉｄにより点火時期フィードバック制御補正量θｆｂを再算出する（Ｓ１３４）。この処理は点火時期フィードバック制御補正量θｆｂ算出処理（図３）のステップＳ１２４と同じである。
【００５６】
そして前記式１に示したごとくベース点火時期を、前記進遅角要求値θ１，…θｘと、今回再算出した点火時期フィードバック制御補正量θｆｂとに基づく補正処理Ｆｈを実行して、最終点火時期を再算出する（Ｓ１３６）。この処理は点火時期制御処理（図２）のステップＳ１０４と同じである。
【００５７】
次に点火時期制御処理（図２）のステップＳ１０６にて点火制御システム側に指示された初期の最終点火時期の解除を、点火制御システム側に指示する（Ｓ１３８）。このことにより点火制御システム側では新たな最終点火時期を持てることになる。
【００５８】
そしてステップＳ１３６にて再算出した最終点火時期を点火制御システム側に指示する（Ｓ１４０）。この処理は点火時期制御処理（図２）のステップＳ１０６と同じである。尚、単に、再算出した最終点火時期を点火制御システム側に指示することで、点火制御システム側にて最終点火時期が書き換わるのであれば、特にステップＳ１３８の解除指示は不要である。
【００５９】
このことにより点火制御システム側では、この再算出された新たな最終点火時期にて該当する気筒の点火プラグ２６に通電して点火を実行することになる。
図５に、回転変動が生じている状態のエンジンにおいて図２〜４による処理を実行した場合の一例を実施例として示す。尚、比較例として図６にＢＴＤＣ１８０°ＣＡでの点火時期フィードバック制御補正量θｆｂ算出処理（図３）のみで、ＢＴＤＣ６０°ＣＡでの再算出処理（図４）を全く実行しない例を示す。図５に示したごとく本実施の形態によれば迅速に回転変動が収まるが、図６の比較例では回転変動は抑制されていないことが判る。
【００６０】
上述した構成において、請求項１，２，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、最終点火時期再算出手段及び点火時期設定手段に相当する。ＥＣＵ３０が実行する処理（図２〜４）の内、ステップＳ１０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ１０４が最終点火時期算出手段としての処理に相当する。ステップＳ１１２，Ｓ１３２〜Ｓ１３６が最終点火時期再算出手段としての処理に、ステップＳ１０６，Ｓ１０８，Ｓ１３８，Ｓ１４０が点火時期設定手段としての処理に相当する。
【００６１】
請求項３，５，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、初期点火時期設定手段、再算出可能判定手段、最終点火時期再算出手段及び点火時期再設定手段に相当する。ＥＣＵ３０が実行する処理（図２〜４）の内、ステップＳ１０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ１０４が最終点火時期算出手段としての処理に相当する。ステップＳ１０６が初期点火時期設定手段としての処理に、ステップＳ１０８が再算出可能判定手段としての処理に、ステップＳ１１２，Ｓ１３２〜Ｓ１３６が最終点火時期再算出手段としての処理に、ステップＳ１３８，Ｓ１４０が点火時期再設定手段としての処理に相当する。
【００６２】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（イ）．他の再算出条件も含めて最終点火時期の算出からこの最終点火時期までの間で再算出処理（図４：ＢＴＤＣ６０°ＣＡ）が実行できると判定されると（Ｓ１０８でyes、Ｓ１１０でyes）、点火時期フィードバック制御補正量θｆｂと最終点火時期とを再算出している（Ｓ１１２，Ｓ１３２〜Ｓ１３６）。そしてこの新たな最終点火時期を点火制御システム側に指示している（Ｓ１３８，Ｓ１４０）。
【００６３】
再算出処理（図４）が実行されない場合（Ｓ１０８でno又はＳ１１０でno）は、通常の算出タイミング（図３：ＢＴＤＣ１８０°ＣＡ）にて算出された点火時期フィードバック制御補正量θｆｂを用いて最終点火時期をＢＴＤＣ９０°ＣＡで算出（Ｓ１０２，Ｓ１０４）し、そのまま用いている（Ｓ１０６）。
【００６４】
このように実際の点火に用いられる点火時期は、通常の算出タイミング（ＢＴＤＣ１８０°ＣＡ）にて算出された点火時期フィードバック制御補正量θｆｂを単に用いているのではない。通常の算出タイミングでの最終点火時期と共に、再算出結果、すなわち再算出処理（図４）の実行有無とその結果である再算出にて得られた点火時期フィードバック制御補正量θｆｂも用いて最終点火時期を求め、点火制御システム側に指示している（Ｓ１０６，Ｓ１３８，Ｓ１４０）。
【００６５】
したがって再算出処理（図４）にてＢＴＤＣ６０°ＣＡで得られた再算出結果が存在すれば、実際の点火時期に、より近いタイミングでのエンジン回転数ＮＥが最終点火時期に反映されることになる。このことからフィードバックゲイン（比例係数Ｋｐ，Ｋｉ，Ｋｄ）を大きくしてもオーバーシュートは生じにくくなり、高応答な点火時期フィードバック制御が可能となる。このことによりエンジン２の回転変動を効果的に抑制できる。
【００６６】
又、再算出処理（図４）が実行できずにＢＴＤＣ６０°ＣＡで得られた再算出結果が存在しなくても、既に実際の点火時期として通常の算出タイミング（ＢＴＤＣ１８０°ＣＡ）にて算出された点火時期フィードバック制御補正量θｆｂを用いて算出（ＢＴＤＣ９０°ＣＡ）された最終点火時期が設定されている（Ｓ１０６）。このため或程度の精度で最終点火時期が維持され、失火などの点火異常が生じることがない。
【００６７】
（ロ）．再算出処理（図４）が実行可能と判定されても、その直後に回転変動が激しく変化して、ＢＴＤＣ６０°ＣＡに開始した再算出の完了時に最終点火時期を経過していた場合には、再算出された最終点火時期では点火は不能である。しかし本実施の形態のごとく先に点火時期が設定されている（Ｓ１０６）ことから、再計算が間に合わなければ先に設定した点火時期は解除されることはないので、この点火時期にエンジン２のクランク角が到達すれば或程度の精度の点火時期にて実際に点火が行われることになる。このようにして失火などの点火異常が防止されることになる。
【００６８】
（ハ）．再算出処理（図４）をＢＴＤＣ６０°ＣＡにて実行するか否かは、通常の算出タイミング（９０°ＣＡ）にて算出された最終点火時期を用いて判定されている（Ｓ１０８）。この最終点火時期を用いて判定すれば再算出処理（図４）の実行可能・不可能が容易に判断できる。そして再算出処理（図４）を実行できる場合には適切なタイミングでの再算出が可能となる。
【００６９】
このように適切なタイミングで再算出処理（図４）の実行が可能となることにより効果的に回転変動を抑制できる点火時期が得られる。あるいは再算出処理（図４）の実行が不可能であることを容易に決定できることにより、ＥＣＵ３０に無駄な処理をさせずに済み、ＥＣＵ３０の負荷をいたずらに高めることがない。
【００７０】
又、このように再算出処理（図４）自体がＢＴＤＣ６０°ＣＡでの割り込み処理として設定されている。したがってこの開始タイミングＢＴＤＣ６０°ＣＡを参照することにより、既に算出されている最終点火時期（Ｓ１０４）との比較により容易かつ適切に再算出の可能・不可能を判定できる。
【００７１】
（ニ）．特に図３，４による高応答な点火時期フィードバック制御処理は、アイドル時においてエンジン回転数変動を抑制するための処理として実行されているので、アイドル時の回転変動抑制処理が高応答なものとなり、アイドル時のエンジン回転変動を効果的に抑制できる。
【００７２】
［実施の形態２］
本実施の形態では、図２の代わりに図７の点火時期制御処理が各気筒のＢＴＤＣ９０°ＣＡ毎の割り込みで実行され、図４の代わりに図８の再算出処理がＢＴＤＣ６０°ＣＡ毎の割り込みで実行される。これ以外の構成は前記実施の形態１と同じであるので、図１、３も参照して説明する。
【００７３】
本処理が開始されると、まず吸入空気量ＧＡとエンジン回転数ＮＥとに基づいてベース点火時期マップＭＡＰｉｇｔからベース点火時期を算出する（Ｓ２０２）。この処理は前記ステップＳ１０２と同じ処理である。
【００７４】
そして各種進遅角要求値θ１，…θｘを算出する（Ｓ２０３）。この処理は前記ステップＳ１０３と同じ処理である。
そして前記式１に示すごとく、ベース点火時期を、前記進遅角要求値θ１，…θｘと、点火時期フィードバック制御補正量θｆｂ算出処理（図３）にて算出されている点火時期フィードバック制御補正量θｆｂとに基づく補正処理Ｆｈを実行して、最終点火時期を算出する（Ｓ２０４）。この処理は前記ステップＳ１０４と同じ処理である。
【００７５】
次にステップＳ２０４にて算出した最終点火時期までに、再算出処理（図８）が可能か否かが判定される（Ｓ２０６）。この判定処理は前記ステップＳ１０８と同じである。
再算出処理（図８）が実行可能であれば（Ｓ２０６でyes）、次に「他の再算出条件」が判定される（Ｓ２０８）。この判定処理は前記ステップＳ１１０と同じである。
【００７６】
「他の再算出条件」が満足されると（Ｓ２０８でyes）、次に再算出処理実行が設定される（Ｓ２１０）。この処理は前記ステップＳ１１２と同じである。すなわちＢＴＤＣ６０°ＣＡにて再算出処理（図８）の実行がなされる。この再算出処理（図８）では、初期の最終点火時期の解除指示がされないのみで、ステップＳ２３２〜Ｓ２３８の処理は、それぞれ図４に示したステップＳ１３２〜Ｓ１３６，Ｓ１４０と同じである。したがってＢＴＤＣ６０°ＣＡとなって、回転変動量ＤＬＮＥの算出が実行され（Ｓ２３２）。この回転変動量ＤＬＮＥに基づいて前記式２に示した点火時期フィードバック制御計算処理Ｆｐｉｄにより点火時期フィードバック制御補正量θｆｂを再算出する（Ｓ２３４）。そして前記式１に示したごとくベース点火時期を、前記進遅角要求値θ１，…θｘと、今回再算出した点火時期フィードバック制御補正量θｆｂとに基づく補正処理Ｆｈを実行して、最終点火時期を再算出する（Ｓ２３６）。そしてステップＳ２３６にて再算出した最終点火時期を点火制御システム側に指示する（Ｓ２３８）。このことにより点火制御システム側では、この再算出された新たな最終点火時期にて該当する気筒の点火プラグ２６に対して点火を実行することになる。
【００７７】
図７の説明に戻り、再算出処理（図８）が実行不可能であれば（Ｓ２０６でno）、あるいは「他の再算出条件」が成立しなければ（Ｓ２０８でno）、ステップＳ２０４にて算出した最終点火時期を、ＥＣＵ３０内に設けられた点火制御システム側に指示する（Ｓ２１２）。この処理は前記ステップＳ１０６と同じである。このことにより点火制御システム側では、この初期に算出された最終点火時期にて該当する気筒の点火プラグ２６に対して点火を実行することになる。
【００７８】
上述した構成において、請求項１，２，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、最終点火時期再算出手段及び点火時期設定手段に相当する。ＥＣＵ３０が実行する処理（図３，７，８）の内、ステップＳ２０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ２０４が最終点火時期算出手段としての処理に相当する。ステップＳ２１０，Ｓ２３２〜Ｓ２３６が最終点火時期再算出手段としての処理に、ステップＳ２０６，Ｓ２１２，Ｓ２３８が点火時期設定手段としての処理に相当する。
【００７９】
請求項４，５，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、再算出可能判定手段、最終点火時期再算出手段及び点火時期設定手段に相当する。ＥＣＵ３０が実行する処理（図３，７，８）の内、ステップＳ２０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ２０４が最終点火時期算出手段としての処理に相当する。ステップＳ２０６が再算出可能判定手段としての処理に、ステップＳ２１０，Ｓ２３２〜Ｓ２３６が最終点火時期再算出手段としての処理に、ステップＳ２１２，Ｓ２３８が点火時期設定手段としての処理に相当する。
【００８０】
以上説明した本実施の形態２によれば、以下の効果が得られる。
（イ）．前記実施の形態１の（イ）、（ハ）、（ニ）の効果を生じる。
（ロ）．再算出処理（図８）が実行可能と判定されても、その直後に回転変動が激しく変化し、ＢＴＤＣ６０°ＣＡに開始した再算出の完了時に最終点火時期を経過していた場合には、再算出された最終点火時期では点火は不能である。本実施の形態では先に点火時期が設定されていない。しかし、通常は点火制御システム側にて最小進角度（ＡＴＤＣにて設定）にてガードがなされているので失火は生じない。更に例えば点火制御システム側にて最終点火時期の指示がない場合には前回の制御周期時の最終点火時期などをそのまま用いることにしておいても良い。
【００８１】
［実施の形態３］
本実施の形態では、図２の代わりに図９の点火時期制御処理が各気筒のＢＴＤＣ９０°ＣＡ毎の割り込みで実行され、図４の代わりに図１０の再算出処理がＢＴＤＣ３０°ＣＡ又は６０°ＣＡ毎の割り込みで実行される。これ以外の構成は前記実施の形態１と同じであるので、図１、３も参照して説明する。
【００８２】
本処理が開始されると、まず吸入空気量ＧＡとエンジン回転数ＮＥとに基づいてベース点火時期マップＭＡＰｉｇｔからベース点火時期を算出する（Ｓ３０２）。この処理は前記ステップＳ１０２と同じ処理である。
【００８３】
そして各種進遅角要求値θ１，…θｘを算出する（Ｓ３０３）。この処理は前記ステップＳ１０３と同じ処理である。
そして前記式１に示すごとく、ベース点火時期を、前記進遅角要求値θ１，…θｘと、点火時期フィードバック制御補正量θｆｂ算出処理（図３）にて算出されている点火時期フィードバック制御補正量θｆｂとに基づく補正処理Ｆｈを実行して、最終点火時期を算出する（Ｓ３０４）。この処理は前記ステップＳ１０４と同じ処理である。
【００８４】
このようにして算出した最終点火時期を、ＥＣＵ３０内に設けられた点火制御システム側に指示する（Ｓ３０６）。この処理は前記ステップＳ１０６と同じ処理である。このことにより点火制御システム側では、この後に最終点火時期が書き換えられなければ、この最終点火時期にて該当する気筒の点火プラグ２６に対して点火を実行することになる。
【００８５】
ステップＳ３０６の次に、今回の点火時期制御処理（図９）の処理後から前記式１にて算出した最終点火時期までに、ＢＴＤＣ３０°ＣＡ割り込みで行う場合での点火時期フィードバック制御補正量θｆｂの再算出及びこの補正量θｆｂを用いた新たな補正にて最終点火時期の再算出が可能か否かが判定される（Ｓ３０８）。
【００８６】
この再算出は図１０に示す再算出処理により行われる。この再算出処理（図１０）はステップＳ３３２〜Ｓ３４０にて実行される処理は、前記図４における処理と同一である。ただしＥＣＵ３０ではＢＴＤＣ３０°ＣＡとＢＴＤＣ６０°ＣＡとのいずれにても割り込み処理が可能な設定とされている。したがってステップＳ３０８では、ＢＴＤＣ３０°ＣＡから前記式１にて算出された最終点火時期までクランク軸３２が回転する時間を、現在のエンジン回転数ＮＥに基づいて算出し、この時間内で再算出処理（図１０）が実行可能であれば（Ｓ３０８でyes）、次に「他の再算出条件」が判定される（Ｓ３１０）。
【００８７】
このステップＳ３１０の判定は、前記図２のステップＳ１１０と同じ判定である。この「他の再算出条件」が成立していると（Ｓ３１０でyes）、次に３０°ＣＡでの再算出処理実行が設定される（Ｓ３１２）。すなわちＢＴＤＣ３０°ＣＡにて再算出処理（図１０）が実行されて、点火時期フィードバック制御補正量θｆｂ及び最終点火時期の再算出がなされ（Ｓ３３２〜Ｓ３３６）、初期の最終点火時期を解除し（Ｓ３３８）、ステップＳ３３６にて再算出した最終点火時期を点火制御システム側に指示する（Ｓ３４０）。
【００８８】
「他の再算出条件」が成立していなければ（Ｓ３１０でno）、このまま本処理を出る。
ステップＳ３０８にてＢＴＤＣ３０°ＣＡでの再算出処理（図１０）が不可能と判定された場合には（Ｓ３０８でno）、ステップＳ３０４にて算出した最終点火時期までに、ＢＴＤＣ６０°ＣＡ割り込みで行う場合での点火時期フィードバック制御補正量θｆｂ及び最終点火時期の再算出が可能か否かが判定される（Ｓ３１４）。この再算出についても前述したごとく図１０に示す再算出処理により行われる。ステップＳ３１４では、ＢＴＤＣ６０°ＣＡから前記式１にて算出された最終点火時期までクランク軸３２が回転する時間を、現在のエンジン回転数ＮＥに基づいて算出し、この時間内で再算出処理（図１０）が実行可能であれば（Ｓ３１４でyes）、次に「他の再算出条件」が判定される（Ｓ３１６）。このステップＳ３１６の判定は前記ステップＳ３１０と同じ判定である。ここで「他の再算出条件」が成立していると（Ｓ３１６でyes）、次に６０°ＣＡでの再算出処理実行が設定される（Ｓ３１８）。すなわちＢＴＤＣ６０°ＣＡにて再算出処理（図１０）が実行されて、点火時期フィードバック制御補正量θｆｂ及び最終点火時期の再算出がなされ（Ｓ３３２〜Ｓ３３６）、初期の最終点火時期を解除し（Ｓ３３８）、ステップＳ３３６にて再算出した最終点火時期を点火制御システム側に指示する（Ｓ３４０）。
【００８９】
再算出処理（図１０）が実行不可能であれば（Ｓ３１４でno）、あるいは「他の再算出条件」が成立していなければ（Ｓ３１６でno）、このまま本処理を出る。
上述した構成において、請求項１，２，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、最終点火時期再算出手段及び点火時期設定手段に相当する。ＥＣＵ３０が実行する処理（図３，９，１０）の内、ステップＳ３０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ３０４が最終点火時期算出手段としての処理に相当する。ステップＳ３１２，Ｓ３１８，Ｓ３３２〜Ｓ３３６が最終点火時期再算出手段としての処理に、ステップＳ３０６，Ｓ３０８，Ｓ３１４，Ｓ３３８，Ｓ３４０が点火時期設定手段としての処理に相当する。
【００９０】
請求項３，５，８との関係は、ＥＣＵ３０がベース点火時期算出手段、点火時期フィードバック制御補正量算出手段、最終点火時期算出手段、初期点火時期設定手段、再算出可能判定手段、最終点火時期再算出手段及び点火時期再設定手段に相当する。ＥＣＵ３０が実行する処理（図３，９，１０）の内、ステップＳ３０２がベース点火時期算出手段としての処理に、ステップＳ１２２，Ｓ１２４が点火時期フィードバック制御補正量算出手段としての処理に、ステップＳ３０４が最終点火時期算出手段としての処理に相当する。ステップＳ３０６が初期点火時期設定手段としての処理に、ステップＳ３０８，Ｓ３１４が再算出可能判定手段としての処理に、ステップＳ３１２，Ｓ３１８，Ｓ３３２〜Ｓ３３６が最終点火時期再算出手段としての処理に、ステップＳ３３８，Ｓ３４０が点火時期再設定手段としての処理に相当する。
【００９１】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（イ）．前記実施の形態１の効果を生じると共に、ＢＴＤＣ３０°ＣＡとＢＴＤＣ６０°ＣＡとについて再算出可能か否かを判定しているため、ＢＴＤＣ３０°ＣＡで再算出可能となれば、ＢＴＤＣ６０°よりも更に実際の点火時期に近いタイミングでのエンジン回転数が最終点火時期に反映されることになる。又、ＢＴＤＣ３０°ＣＡで再算出が不可能でも、ＢＴＤＣ６０°ＣＡであれば、ＢＴＤＣ１８０°ＣＡよりも実際の点火時期に近いタイミングでのエンジン回転数が最終点火時期に反映されることになる。
【００９２】
このことにより、前記実施の形態１の効果をより顕著なものとすることができる。
［その他の実施の形態］
（ａ）．前記各実施の形態においては、再算出処理の割り込みタイミングは、固定されたタイミング、すなわちＢＴＤＣ６０°ＣＡのみ、あるいはＢＴＤＣ６０°ＣＡとＢＴＤＣ３０°ＣＡとから実行可能なタイミングを選択するものであった。
【００９３】
この代わりに、再算出タイミングを固定せず、ステップＳ１０８，Ｓ２０６の判定では、最終点火時期より前の期間において再算出が可能なタイミングを計算して、該タイミングが点火時期制御処理（図２，７）の終了時点より後のタイミングか否かを判定させても良い。この場合、後のタイミングであれば、再算出可能として、ステップＳ１０８，Ｓ２０６にて判定のために算出したタイミングにて再算出処理（図４，８）を実行させるようにしても良い。
【００９４】
（ｂ）．前記各実施の形態において、最終点火時期を算出した時点からこの最終点火時期までの間に、点火時期フィードバック制御補正量θｆｂ及び最終点火時期の再算出が可能であるか否かを判定していた。すなわち再算出の最終期限として最終点火時期を用いていた。この代わりに、最終点火時期よりも更に余裕期間以前の時点を最終期限として判定しても良い。
【００９５】
例えば、再算出される最終点火時期の変動幅を考慮して、最大の変動幅に該当する余裕期間を予め設定しておくことにより、再算出される最終点火時期の変動をより適切に考慮でき、より高精度に再算出の可能・不可能を判定できる。
【００９６】
（ｃ）．本実施の形態では、アイドル時のエンジン回転数ＮＥの回転変動に対処するものであったが、ステップＳ１１０，Ｓ２０８，Ｓ３１０，Ｓ３１６にてアイドル時の条件を外すことにより、これ以外のエンジン運転状態にてエンジン回転数ＮＥの回転変動に対処させることにしても良い。
【図面の簡単な説明】
【００９７】
【図１】実施の形態１のエンジンの概略構成及びその制御装置のブロック図。
【図２】実施の形態１のＥＣＵが実行する点火時期制御処理のフローチャート。
【図３】同じく点火時期フィードバック制御補正量θｆｂ算出処理のフローチャート。
【図４】同じく再算出処理のフローチャート。
【図５】本実施の形態の処理の一例を示すタイミングチャート。
【図６】比較例を示すタイミングチャート。
【図７】実施の形態２のＥＣＵが実行する点火時期制御処理のフローチャート。
【図８】同じく再算出処理のフローチャート。
【図９】実施の形態３のＥＣＵが実行する点火時期制御処理のフローチャート。
【図１０】同じく再算出処理のフローチャート。
【符号の説明】
【００９８】
２…エンジン、４…シリンダ、６…ピストン、８…シリンダヘッド、１０…燃焼室、１２…吸気通路、１２ａ…サージタンク、１２ｂ…吸気ポート、１４…排気通路、１６…吸気バルブ、１６ａ…吸気カム、１８…排気バルブ、１８ａ…排気カム、２０…スロットルバルブ、２０ａ…スロットル開度センサ、２０ｂ…スロットルモータ、２２…吸入空気量センサ、２４…燃料噴射弁、２６…点火プラグ、２８…アクセルペダル、２８ａ…アクセルセンサ、３０…ＥＣＵ、３２…クランク軸、３２ａ…エンジン回転数センサ、３４…空燃比センサ、３６…カムポジションセンサ。
【図１】
2008298017.tif 000003
【図２】
2008298017.tif 000004
【図３】
2008298017.tif 000005
【図４】
2008298017.tif 000006
【図５】
2008298017.tif 000007
【図６】
2008298017.tif 000008
【図７】
2008298017.tif 000009
【図８】
2008298017.tif 000010
【図９】
2008298017.tif 000011
【図１０】
2008298017.tif 000012