(57)【特許請求の範囲】
【請求項１】
内燃機関の各々の気筒に対応して設けられた複数の点火コイルと、前記気筒で発生するノッキングの発生状態を当該気筒毎に検出するノック検出部と、前記複数の点火コイルに対応して個別に点火信号を設定し前記気筒での点火時期を個別に制御する信号処理部と、を備える内燃機関用の点火時期制御装置であって、
前記信号処理部は、
前記ノック検出部から出力された検出信号に基づいて当該検出信号に対応する被検査気筒でのノッキングの発生有無を判定するノック判定処理と、
前記被検査気筒の点火時期の制御予定先とされる遅進角制御量を数値化させた遅進角予定値を、前記ノック判定処理の結果に基づいて徐々に変更して増減する遅進角値演算処理と、
前記遅進角制御量が最も遅角側へ制御されている最遅角気筒の遅進角制御量と当該最遅角気筒を除く他の気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角制御量を制御させる最遅角気筒追尾処理と、を実行させ、
前記最遅角気筒追尾処理は、前記被検査気筒が前記他の気筒に属する場合、
前記最遅角気筒の遅進角設定値と前記被検査気筒の遅進角予定値との差分値を演算する比較処理と、
前記差分値が限界差分値より小さい場合、前記被検査気筒の遅進角予定値を当該被検査気筒の遅進角設定値として設定させ、前記差分値が前記限界差分値より大きい場合、前記最遅角気筒の遅進角設定値から所定オフセット値を減算させた減算結果値を、前記被検査気筒の遅進角設定値として設定させる遅進角値設定処理と、を実行させ、
前記信号処理部は、更に、
前記点火時期の遅角制御の許容限界とされる最遅角値を設定する最遅角値設定処理と、
前記差分値が前記限界差分値以上となる事象の頻度を算出するバラツキ頻度認識処理と、
前記頻度が所定閾値頻度を上回った場合、前記被検査気筒の遅進角設定値を前記最遅角値に設定する最遅角処理と、を実行させることを特徴とする内燃機関用の点火時期制御装置。
【請求項２】
内燃機関の各々の気筒に対応して設けられた複数の点火コイルと、前記気筒で発生するノッキングの発生状態を当該気筒毎に検出するノック検出部と、前記複数の点火コイルに対応して個別に点火信号を設定し前記気筒での点火時期を個別に制御する信号処理部と、を備える内燃機関用の点火時期制御装置であって、
前記信号処理部は、
前記ノック検出部から出力された検出信号に基づいて当該検出信号に対応する被検査気筒でのノッキングの発生有無を判定するノック判定処理と、
前記被検査気筒の点火時期の制御予定先とされる遅進角制御量を数値化させた遅進角予定値を、前記ノック判定処理の結果に基づいて徐々に変更して増減する遅進角値演算処理と、
前記遅進角制御量が最も遅角側へ制御されている最遅角気筒の遅進角制御量と当該最遅角気筒を除く他の気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角制御量を制御させる最遅角気筒追尾処理と、を実行させ、
前記最遅角気筒追尾処理は、前記被検査気筒が前記他の気筒に属する場合、
前記最遅角気筒の遅進角設定値と前記被検査気筒の遅進角予定値との差分値を演算する比較処理と、
前記差分値が限界差分値より小さい場合、前記被検査気筒の遅進角予定値を当該被検査気筒の遅進角設定値として設定させ、前記差分値が前記限界差分値より大きい場合、前記最遅角気筒の遅進角設定値から所定オフセット値を減算させた減算結果値を、前記被検査気筒の遅進角設定値として設定させる遅進角値設定処理と、を実行させ、
前記信号処理部は、更に、
前記点火時期の遅角制御の許容限界とされる最遅角値を設定する最遅角値設定処理と、
前記遅進角設定処理の前記減算結果値によって遅角制御される事象の頻度を算出する強制遅角頻度認識処理と、
前記頻度が所定閾値頻度を上回った場合、前記被検査気筒の遅進角設定値を前記最遅角値に設定する最遅角処理と、を実行させることを特徴とする内燃機関の点火時期制御装置。
【請求項３】
前記頻度は、前記事象の連続発生回数によって算出されることを特徴とする請求項１又は請求項２に記載の内燃機関用の点火時期制御装置。
【請求項４】
前記被検査気筒の遅進角設定値が前記最遅角処理に基づいて前記最遅角値に設定されている場面において、
前記最遅角処理は、前記頻度が前記所定閾値頻度以下に復帰すると、前記遅進角設定値の遅進角制御を再開させることを特徴とする請求項１乃至請求項３の何れか一項に記載の内燃機関用の点火時期制御装置。
【請求項５】
前記信号処理部は、当該信号処理部によって設定された遅進角設定値に基づいて、前記被検査気筒に対応した点火信号を生成することを特徴とする請求項１乃至請求項４の何れか一項に記載の内燃機関用の点火時期制御装置。
【請求項６】
前記最遅角気筒追尾処理は、
前記被検査気筒が前記最遅角気筒である場合、前記遅進角予定値を前記被検査気筒の遅進角設定値として設定し、前記被検査気筒が前記他の気筒に属する場合、前記最遅角気筒の遅進角制御量と前記被検査気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角設定値を設定させることを特徴とする請求項１乃至請求項５の何れか一項に記載の内燃機関用の点火時期制御装置。
【請求項７】
前記所定オフセット値は、前記限界差分値とされることを特徴とする請求項１乃至請求項６の何れか一項に記載の内燃機関用の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関用の点火時期制御装置に関し、特に、内燃機関に設けられる気筒の点火時期が当該気筒毎に個別に設定される装置に用いて好適のものである。
【背景技術】
【０００２】
独立点火方式を採用する内燃機関は、ディストリビュータを用いた配電方式に替わり、自動車の技術分野で広く普及されている。当該内燃機関は、気筒毎に点火コイルが設けられており、気筒毎の点火時期が適宜に制御されることで、気筒各々でのノッキングの発生を回避させている。この点火時期は、内燃機関の燃焼制御を行うＥＣＵ（Engine Control Unit）で設定されるものであって、内燃機関の回転数情報及び負荷状態（スロットルバルブの開度情報，インジェクションの開度情報等）に基づいて設定される。
【０００３】
上述した点火時期は、燃費向上及び出力トルクの確保という観点から、ノッキングが発生する直前のタイミング（ＭＢＴ＝Minimum SparkAdvance for BEST Torque）へ設定するのが好ましい。このため、内燃機関用の点火時期制御装置（以下、単に点火時期制御装置と呼ぶ）は、点火時期がＭＢＴに一致するよう、点火信号の出力タイミングを遅進角制御させている。このような点火時期制御は、一般に、ノック判定結果が「ノック無し」の場合に点火時期を進角させ、ノック判定結果が「ノック有り」の場合に点火時期を遅角させる。こうした遅進角制御を点火サイクル毎に行うことで、内燃機関での点火時期は、ＭＢＴへ一致するよう制御される。
【０００４】
当該点火時期は、気筒毎に個別に遅進角制御が行なわれることにより、ノッキングの発生を気筒毎個別に解消させている。このため、内燃機関では、各気筒に機構的なバラツキが生じていても、個別制御される点火信号によって、ノッキングが発生し難い、好適な燃焼動作が実現される。
【０００５】
例えば、特開２００３−３２８８４０号公報（特許文献１）では、点火時期の遅進角を個別制御させる技術の一例として、ノック検出装置が紹介されている。具体的に説明すると、このノック検出装置は、点火コイル，イオン電流検出回路，及び，ＥＣＵを具備し、イオン電流検出回路では、気筒で燃焼が行われた際のイオン電流の波形を、検出信号としてＥＣＵへ送信する。ＥＣＵは、イオン電流の波形に基づいてノック判定処理を実行させる。当該ノック判定処理は、ノッキングの情報を示す波形（ノック信号）をイオン電流の波形から抽出し、其のノック信号の波形がノック判定閾値を上回った回数をカウントすることで、ノック発生の有無を判定する。
【０００６】
その後、ＥＣＵは、全気筒の遅角制御量（特許請求の範囲における遅進角設定値）について平均値（以下、平均遅角量と呼ぶ）を算出し、各々の気筒の遅角制御量と平均遅角量との差分値（以下、遅角偏差量と呼ぶ）を算出する。そして、当該ＥＣＵは、遅角偏差量の値に基づいて補正係数を気筒毎に設定し、この補正係数を用いてノック判定閾値を気筒毎に補正させる。尚、遅角制御量とは、点火サイクル毎に遅進角させる気筒毎の制御値（クランク角の変更値、又は、タイミングの変更値）の積算値を指し、ノック判定時点での点火時期を示す値である。従って、遅角偏差量は、平均偏差量に対する偏差を気筒毎に示すところ、各気筒についての遅角制御量の度合を示すパラメータとなる。
【０００７】
このような処理により、特許文献１に係るＥＣＵでは、ノック判定閾値を遅角偏差量に基づいて調整させ、具体的には、遅進角制御量の大きい気筒では遅角し難いように制御され、一方、平均遅角量に近い気筒にあっては比較的に遅角し易くなるように制御される。このように制御することで、特許文献１に係るノック判定装置では、気筒相互の遅角制御量のバラツキが一定範囲内に抑えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３２８８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１の技術によれば、例えば、ノック信号の不具合等により或る気筒が異常進角してしまうと、平均遅角量が進角側の値に大きくシフトされてしまう。このような場合、正常なノック信号によって点火時期制御されている他の気筒では、平均遅角量に生じた誤差に伴い遅角偏差量の算出基準が不当のものとなり、当該気筒での点火時期が正しい基準に基づいて遅角制御できなくなるといった不具合を招く。特に、３気筒の内燃機関では、平均遅角量を算出する標本値が３気筒分しかないので、気筒各々での遅角制御量の値又は進角制御量の値が平均遅角量に大きく影響する。
【００１０】
また、特許文献１の技術によれば、当該平均遅角量より十分遅角制御された気筒（例えば、最も遅角制御された気筒）は、更なる遅角制御が行われ難くなる。ところが、実際の点火時期制御では、気筒各々の機構的なバラツキが大きい場合、最遅角気筒の点火時期がＭＢＴに一致しているといった場面は十分に起こり得るし、場合によっては、其の最遅角気筒について更なる遅角制御が必要となる。即ち、特許文献１の技術によれば、或る気筒についての遅角制御が他の気筒に比較して進行すると、其の遅角制御が進んだ気筒では、ノッキングの発生場面に直面しているにも関わらず、点火時期が適正に遅角され得なくなる。
【００１１】
本発明は上記課題に鑑み、気筒毎の点火時期が個別に制御される点火時期制御装置について、ノッキングの発生回避と気筒相互の点火時期のバラツキ防止との双方の課題を解消させることが可能な内燃機関用の点火時期制御装置の提供を目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明では次のような内燃機関用の点火時期制御装置の構成とする。即ち、内燃機関の各々の気筒に対応して設けられた複数の点火コイルと、前記気筒で発生するノッキングの発生状態を当該気筒毎に検出するノック検出部と、前記複数の点火コイルに対応して個別に点火信号を設定し前記気筒での点火時期を個別に制御する信号処理部と、を備える内燃機関用の点火時期制御装置であって、
前記信号処理部は、前記ノック検出部から出力された検出信号に基づいて当該検出信号に対応する被検査気筒でのノッキングの発生有無を判定するノック判定処理と、前記被検査気筒の点火時期の制御予定先とされる遅進角制御量を数値化させた遅進角予定値を、前記ノック判定処理の結果に基づいて徐々に変更して増減する遅進角値演算処理と、前記遅進角制御量が最も遅角側へ制御されている最遅角気筒の遅進角制御量と当該最遅角気筒を除く他の気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角制御量を制御させる最遅角気筒追尾処理と、を実行させ、
前記最遅角気筒追尾処理は、前記被検査気筒が前記他の気筒に属する場合、前記最遅角気筒の遅進角設定値と前記被検査気筒の遅進角予定値との差分値を演算する比較処理と、前記差分値が限界差分値より小さい場合、前記被検査気筒の遅進角予定値を当該被検査気筒の遅進角設定値として設定させ、前記差分値が前記限界差分値より大きい場合、前記最遅角気筒の遅進角設定値から所定オフセット値を減算させた減算結果値を、前記被検査気筒の遅進角設定値として設定させる遅進角値設定処理と、を実行させ、
前記信号処理部は、更に、前記点火時期の遅角制御の許容限界とされる最遅角値を設定する最遅角値設定処理と、前記差分値が前記限界差分値以上となる事象の頻度を算出するバラツキ頻度認識処理と、前記頻度が所定閾値頻度を上回った場合、前記被検査気筒の遅進角設定値を前記最遅角値に設定する最遅角処理と、を実行させることとする。
【００１３】
また、内燃機関の各々の気筒に対応して設けられた複数の点火コイルと、前記気筒で発生するノッキングの発生状態を当該気筒毎に検出するノック検出部と、前記複数の点火コイルに対応して個別に点火信号を設定し前記気筒での点火時期を個別に制御する信号処理部と、を備える内燃機関用の点火時期制御装置であって、
前記信号処理部は、前記ノック検出部から出力された検出信号に基づいて当該検出信号に対応する被検査気筒でのノッキングの発生有無を判定するノック判定処理と、前記被検査気筒の点火時期の制御予定先とされる遅進角制御量を数値化させた遅進角予定値を、前記ノック判定処理の結果に基づいて徐々に変更して増減する遅進角値演算処理と、前記遅進角制御量が最も遅角側へ制御されている最遅角気筒の遅進角制御量と当該最遅角気筒を除く他の気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角制御量を制御させる最遅角気筒追尾処理と、を実行させ、
前記最遅角気筒追尾処理は、前記被検査気筒が前記他の気筒に属する場合、前記最遅角気筒の遅進角設定値と前記被検査気筒の遅進角予定値との差分値を演算する比較処理と、前記差分値が限界差分値より小さい場合、前記被検査気筒の遅進角予定値を当該被検査気筒の遅進角設定値として設定させ、前記差分値が前記限界差分値より大きい場合、前記最遅角気筒の遅進角設定値から所定オフセット値を減算させた減算結果値を、前記被検査気筒の遅進角設定値として設定させる遅進角値設定処理と、を実行させ、
前記信号処理部は、更に、前記点火時期の遅角制御の許容限界とされる最遅角値を設定する最遅角値設定処理と、前記遅進角設定処理の前記減算結果値によって遅角制御される事象の頻度を算出する強制遅角頻度認識処理と、前記頻度が所定閾値頻度を上回った場合、前記被検査気筒の遅進角設定値を前記最遅角値に設定する最遅角処理と、を実行させることとする。
【００１４】
好ましくは、前記頻度は、前記事象の連続発生回数によって算出されることとする。
【００１５】
前記被検査気筒の遅進角設定値が前記最遅角処理に基づいて前記最遅角値に設定されている場面において、前記最遅角処理は、前記頻度が前記所定閾値頻度以下に復帰すると、前記遅進角設定値の遅進角制御を再開させることとする。
【００１６】
好ましくは、前記信号処理部は、当該信号処理部によって設定された遅進角設定値に基づいて、前記被検査気筒に対応した点火信号を生成することとする。
【００１７】
好ましくは、前記最遅角気筒追尾処理は、前記被検査気筒が前記最遅角気筒である場合、前記遅進角予定値を前記被検査気筒の遅進角設定値として設定し、前記被検査気筒が前記他の気筒に属する場合、前記最遅角気筒の遅進角制御量と前記被検査気筒の遅進角制御量との差を一定範囲内とするよう、前記被検査気筒の遅進角設定値を設定させることとする。
【００１８】
このとき、前記所定オフセット値は、前記限界差分値とされるのが好ましい。
【発明の効果】
【００２０】
本発明に係る点火時期制御装置によると、最遅角気筒における点火時期の遅角制御量は、他の気筒との関係による規制を受けることなく、適正な処理に基づいて順調に遅角制御が実施される。このため、気筒毎に機構的なバラツキが大きい場合であっても、最遅角気筒のような遅角制御の進んだ気筒について、点火時期の遅角制御を適正量実施することが可能となり、当該最遅角気筒でのノッキングの回避が可能となる。
【００２１】
また、本発明に係る内燃機関用の点火時期制御装置によると、最遅角気筒の点火時期の遅角制御が他の気筒との関係による規制を受けることなく実施され、且つ、他の気筒に係る点火時期の遅角制御量が最遅角気筒の遅角制御量に対して追尾するよう制御される。この追尾制御は、最遅角気筒の遅角制御量に対して一定範囲内となるよう、他の気筒について遅角制御量が行なわれるので、気筒相互の点火時期が略一定の時間間隔とされる。このため、内燃機関では、燃焼エネルギーを受け取る間隔が略一定間隔とされ、出力トルクの周期的な変動が抑制される。
【００２２】
上述の如く、最遅角気筒の点火時期は、「ノック有り」との判定結果が得られた場合、他の気筒との関係による規制を受けることなく、適正な処理に基づいて順調に遅角制御される。一方、他の気筒（進角側の気筒）の各々の点火時期は、最遅角気筒を追尾するよう制御されるので、ＭＢＴよりも遅角側に制御されることとなる。加えて、当該追尾的な制御によって、内燃機関では、気筒相互の点火時期の間隔を略一定間隔で迎えることが可能となる。即ち、本発明に係る点火時期制御装置は、これらの効果が密接に影響し合うことで、全ての気筒においてノックの発生を解消させ、且つ、出力トルクの変動を抑制させる、といった相乗的な効果が得られる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態に係る内燃機関の点火時期制御装置の構成を示す図
【図２】イオン電流検出回路の構成を示す図
【図３】ノック判定処理に関するタイミングチャート
【図４】実施の形態に係る信号処理ルーチンのフローチャート
【図５】実施の形態に係る信号処理ルーチンで設定されるパラメータのイメージ図
【図６】気筒＃１の遅進角設定値を示すタイミングチャート
【図７】実施の形態に係る各気筒の遅進角設定値を示すタイミングチャート（１）
【図８】実施の形態に係る各気筒の遅進角設定値を示すタイミングチャート（２）
【図９】実施の形態に係る気筒＃１，＃２の遅進角設定値を示すタイミングチャート
【図１０】実施の形態に係る各気筒の遅進角設定値を示すタイミングチャート（３）
【図１１】実施例に係る信号処理ルーチンのフローチャート
【図１２】実施例に係る各気筒の遅進角値を示すタイミングチャート
【発明を実施するための形態】
【００２４】
以下、本発明に係る実施の形態につき図面を参照して具体的に説明する。図１は、内燃機関用の点火時期制御装置（以下、単に点火時期制御装置と呼ぶ）の構成が示されている。本実施の形態では、内燃機関が３気筒であるとし、各々の気筒について＃１〜＃３として表すこととする。また、同図にあっては、気筒＃１〜＃３の各々に対応させて点火プラグが示されている。
【００２５】
図示の如く、点火時期制御装置ＣＭＢは、内燃機関の気筒＃１〜＃３に対応して設けられた複数の点火コイルＣＬと、当該点火コイルＣＬに対応して設けられるパワートランジスタＴｒと、各気筒で発生するノッキングの発生状態を気筒毎に検出するイオン電流検出回路ＩＮＳと、複数の点火コイルＣＬに対応して個別に点火信号を設定し気筒＃１〜＃３での点火時期を個別に制御する信号処理部ＥＣＵとを備えている。
【００２６】
図２には、所定の気筒に対応する点火コイルＣＬ及びイオン電流検出回路ＩＮＳの回路構成が示されている。図示の如く、点火コイルＣＬは、一次コイルＬ１及び二次コイルＬ２を備え、各コイルは図示されない鉄心に巻回されている。このうち、一次コイルＬ１は、一端が車載バッテリＶＢに電気的に接続され、他端がパワートランジスタＴｒに接続されている。一方、二次コイルＬ２は、一端が点火プラグＰＧに接続され、他端がイオン電流検出回路ＩＮＳの一端部に接続されている。当該点火コイルＣＬは、一次電流Ｉｃ１（一次コイルＬ１に流れる電流）に応動して、数十ｋＶの高電圧を発生させる。
【００２７】
パワートランジスタＴｒは、信号処理部ＥＣＵから印加される点火信号ＳＧに応じて、一次電流Ｉｃ１を制御させる。点火信号ＳＧは、数μ〜数ｍ（sec）程度の矩形波とされ、パワートランジスタＴｒは、この信号に応じて、一次電流Ｉｃ１の通電／遮断を行なう。当該パワートランジスタＴｒは、ＩＧＢＴ，ＭＯＳＦＥＴ等、自動車技術分野で広く用いられているものが採用される。
【００２８】
イオン電流検出回路ＩＮＳ（ノック判定部）は、図示の如く、ツェナーダイオードＺＤ、ダイオードＤ１，Ｄ２、コンデンサＣ１、抵抗Ｒ１〜Ｒ３、オペアンプＡＭＰを主構成要素する。当該イオン電流検出回路ＩＮＳは、点火コイルＣＬを直接的に点火制御させるイグナイタ、又は、信号処理部ＥＣＵ等の回路部に内蔵される。
【００２９】
かかる構成のうち、オペアンプＡＭＰは、出力端が信号処理部ＥＣＵに接続され、当該出力端の電圧値Ｖｉｏｎ（検出信号Ｖｉｏｎ）を信号処理部ＥＣＵに印加させる。検出信号Ｖｉｏｎは、イオン電流Ｉｉｏｎを増幅させた比例値であって、当該イオン電流Ｉｏｎの波形状態を示すものである。以下、検出信号Ｖｏｕｔを、単に、イオン電流と呼ぶことがある。
【００３０】
信号処理部ＥＣＵは、一般に、「Engine Control Unit」を指すものであり、其の内部要素は、ＣＰＵ，メモリ回路，ＡＤ変換回路，クロック回路等を具備し、種々の情報処理を執り行う。また、メモリ回路には、各種制御プログラム，及び，マップ情報等が格納されている。このうち、制御プログラムは、イオン電流検出処理プログラム１００，ノック判定処理プログラム２００，基準点火時期設定処理プログラム３００，最遅角点火時期設定プログラム４００，この他、点火時期制御に関するプログラム（主に、遅進角値演算処理プログラム，最遅角気筒追尾処理プログラム等、本発明に密接に関係するプログラム）から構成される。そして、本実施の形態では、これらの制御プログラムとハードウェアとが協働して、点火時期制御装置ＣＭＢが構築される。
【００３１】
信号処理部ＥＣＵでは、各気筒での点火動作毎に信号処理ルーチンＲｔ０１が起動され、各処理段階で上述した制御プログラムが機能する（図４参照）。ここで、内燃機関の点火サイクルとは、「圧縮工程→膨張行程」へ移行する動作を全ての気筒についてカウントしたものであって、「ｎ」と表すものとする。具体的に説明すると、ｎ＝１，２，３．・・・・・、の各々が点火サイクルとされる。特に、ｍを自然数とすると、気筒＃１に対応する点火サイクルｎは「ｎ＝３ｍ−２」で表され、気筒＃２に対応する点火サイクルｎは「ｎ＝３ｍ−１」で表され、気筒＃３に対応する点火サイクルｎは「ｎ＝３ｍ」で表される。また、点火時期とは、信号処理部ＥＣＵによって、上記点火サイクルに対応して与えられるものであって、所定の演算処理によって遅進角設定されるものである。
【００３２】
信号処理部ＥＣＵは、後述する遅進角設定値に基づいて点火信号ＳＧを生成させ、当該点火信号ＳＧを点火サイクル毎に順次出力させる（図３ａ参照）。尚、同図にあっては、点火信号ＳＧが気筒１＃についてのみ代表的に示されているが、実際には、気筒＃２及び気筒＃３についても、点火信号が適宜のタイミングで出力されている。この点火信号ＳＧの出力タイミングは、各々の気筒に対応して個別に点火信号を設定し、当該気筒での点火時期が個別に制御される。この出力タイミングについては、後述により其の設定方法が明らかとなろう。
【００３３】
点火コイルＣＬでは、当該点火信号ＳＧを受けて、一次電流Ｉｃ１が発生する（図３ｂ参照）。そして、点火信号ＳＧが立下がると、一次電流Ｉｃ１はパワートランジスタＴｒによって遮断され、これにより、二次コイルＬ２から負の高電圧Ｖ２が出力される（図３ｃ参照）。このとき、点火プラグＰＧでは、プラグギャップ部に放電を発生させ、気筒内部の混合気を燃焼させる。
【００３４】
このとき、イオン電流検出回路ＩＮＳでは、回路内に放電電流Ｉ１が流れ、コンデンサＣ１に電荷がチャージされる（図２参照）。気筒内部では、混合気の燃焼に応じて、ラジカルな物質（イオン）が多数生成されることとなる。このため、放電が止まると、コンデンサＣ１のチャージ電荷は、当該イオンを介して、イオン電流Ｉｉｏｎとして回路内を流れることとなる。
【００３５】
一方、オペアンプＡＭＰの出力端では、イオン電流Ｉｉｏｎが変動すると、これに応じて電圧値が変動する。この電圧値は、イオン電流検出回路ＩＮＳの検出信号Ｖｉｏｎであって、信号ラインを介して、信号処理部ＥＣＵのＡＤポートへ印加される。
【００３６】
図３（ｄ）に示す如く、イオン電流の検出信号Ｖｉｏｎは、放電電圧Ｖ２の収束後（即ち、燃焼後）に現れる。信号処理部ＥＣＵでは、この検出信号Ｖｉｏｎの発生時期に合わせて信号処理ルーチンＲｔ０１が起動され（図４参照）、当該ルーチンＲｔ０１で規定されている処理を点火サイクル毎（即ち、気筒毎）に実行させる。図４に示す如く、信号処理ルーチンＲｔ０１では、先ず、イオン電流検出処理Ｓ１００が実行される。処理Ｓ１００は、検出信号（イオン電流）を検出するためのウィンドウＷｉｏｎを設定し、当該期間において、ＡＤタイミング毎に検出信号Ｖｉｏｎの値をメモリ回路へ順次記憶させる。尚、上述した信号処理ルーチンＲｔ０１の起動タイミング，ウィンドウＷｉｏｎの開始点及び期間は、内燃機関の運転状態（回転数，負荷の状態）に基づいて適宜決定される。
【００３７】
処理Ｓ１００が終了すると、ノック判定処理Ｓ２００が実行される。当該処理Ｓ２００は、図３（ｅ）に示す如く、イオン電流Ｉｏｎに重畳されるノック信号に対応させて、ノック検出用のウィンドウＷｋｎを設定する。このウィンドウＷｋｎについても、内燃機関の運転状態に応じて設定させることで、ウィンドウＷｋｎの開始時期／期間がノック信号の発生時期／期間に一致する。
【００３８】
同ノック判定処理Ｓ２００では、ウィンドウＷｎｋの設定期間についてバンドパス処理を実施し、検出信号Ｖｏｕｔからノック信号Ｓｋｎを抽出する（図３ｆ参照）。その後の処理の一例としては、ノック信号Ｓｋｎの全波波形について積分処理を実施し（図３ｇ参照）、積分値ＩＮＴの値が閾値ＫＮｔｈ以下のとき「ノック無し」と判定し、積分値ＩＮＴの値が閾値以上のとき「ノック有り」と判定する。このように、ノック判定処理２００では、検出信号Ｖｏｕｔに対応する検査中の気筒（以下、被検査気筒と呼ぶ）について、ノッキングの発生有無が判定される。尚、本実施の形態では、かかる判定処方に限定することなく、例えば、積分値ＩＮＴの替わりに、ノック信号Ｓｋｎが所定閾値を上回わる際のカウント値を用いても良い。また、ノック信号Ｓｋｎのピーク値に基づいて、ノック判定を実施しても良い。
【００３９】
次に、処理Ｓ３００では、基準点火時期ＣＡＢＦが設定される。当該基準点火時期ＣＡＢＦは、内燃機関の運転状態（特に、必要トルク）に応じて与えられる進角方向の点火時期を指し、本実施の形態では、全ての運転条件の中で最も進角側に設定される限界時期を、基準点火時期ＣＡＢＦとしている（図５ａ参照）。尚、図５は、クランクシャフトが回転している様を示すものであって、ＴＤＣは、ピストン動作における上死点を指す。
【００４０】
次に、処理４００では、最遅角値ＣＡＭＤが設定される（図５ｂ参照）。当該最遅角値ＣＡＭＤは、遅角方向へ設定されるものであって、トルクを著しく低下させない範囲に設定される。本実施の形態では、当該最遅角値ＣＡＭＤを、点火時期の遅角制御の許容限界として設定する。但し、この最遅角値ＣＡＭＤは、内燃機関の運転状態に応じて適宜変更されるものであっても良く、当該運転状態に関わらず一定の値として設定されても良い。
【００４１】
また、最遅角値ＣＡＭＤは、クランク角（deg CA）に関するパラメータであるが、当該クランク角（deg CA）によって表現されても良く、点火時期等の時間（msec）等によって表現されるものであっても良い。即ち、最遅角値とは、結果的にクランク角（deg CA）を示すこととなる何らかのパラメータであれば良い。同様に、以下の記載において、遅角値，進角値，遅進角値，遅進角予定値，遅進角設定値（遅進角制御量），又は，遅角差，と表現される用語は、上述の如く、結果的にクランク角（deg CA）を示すこととなる何らかのパラメータを指す。尚、本実施の形態にあっては、説明の便宜上、これらの値がクランク角（deg CA）に相当するディメンションであるとして説明を行なう。
【００４２】
処理Ｓ５１０では、現時点で設定されている被検査気筒＃Ｎの遅進角設定値を認識する（図５ｃ参照）。信号処理ルーチンＲｔ０１では、起動時の点火サイクル毎に、遅進角設定値をメモリ回路へ更新・記録させ、次回の点火サイクルに備える。即ち、現点火サイクルｎとし、直前の点火サイクルｎ−３とすると、現点火サイクルｎで設定されている被検査気筒＃Ｎの遅進角設定値は、直前点火サイクルｎ−３で設定されたＣＡｎ−３（＃Ｎ）ということになる。このため、現点火サイクルｎでは、メモリ回路に記録された情報を参照することにより、現時点で設定されている被検査気筒＃Ｎの遅進角設定値ＣＡｎ−３（＃Ｎ）を認識することが可能となる。尚、本実施の形態では３気筒の内燃機関が用いられるところ、現時点の気筒＃Ｎの点火サイクルをｎとすると、其の気筒＃Ｎにおける直前の点火サイクルは、点火サイクルを３点後退させたｎ−３で表される。
【００４３】
以降説明される処理Ｓ５２０〜Ｓ５７０では、図５（ｄ）に示されるように、次回の点火サイクルにおける点火時期の制御先ＣＡｎ（＃Ｎ）が決定される。先ず、処理Ｓ５２０では、ノック判定処理Ｓ２００でのノック判定結果に基づいて、遅進角予定値！ＣＡｎ（＃Ｎ）を算出させる。遅進角予定値！ＣＡｎ（＃Ｎ）は、「！ＣＡｎ（＃Ｎ）＝ＣＡｎ−３（＃Ｎ）＋ΔＣＡｄ」によって算出される。上式右辺のうち、ＣＡｎ−３（＃Ｎ）は、現時点での遅進角設定値であって、ΔＣＡｄは、ノック判定結果に基づいて与えられる制御値である。本実施の形態では、これらのパラメータは遅角方向が「正」で表され、進角方向が「負」で表される。また、本実施の形態では、ノック判定結果が「ノック無し」とされる場合、「ΔＣＡｄ＝−０．５（deg CA）」として設定され、ノック判定結果が「ノック有り」とされる場合、「ΔＣＡｄ＝＋１（deg CA）」として設定される。このように、ノック判定に基づいて遅進角制御されることで、遅進角予定値！ＣＡｎ（＃Ｎ）は、次回の点火サイクルｎ＋３における点火時期の制御予定先を規定することとなる。
【００４４】
処理５２０が終了すると、以下の処理Ｓ５３０〜Ｓ５７０（特許請求の範囲における最遅角気筒追尾処理に相当）によって、最遅角気筒の遅進角制御量と当該最遅角気筒を除く他の気筒の遅進角制御量との差を一定範囲内とするよう、被検査気筒＃Ｎの遅進角制御量を制御させる。尚、最遅角気筒とは、遅進角制御量が最も遅角側へ制御されている気筒を指し、以下、＃Ｍと表わすこととする。また、被検査気筒＃Ｎは、当該気筒＃Ｎの点火時期制御の進行具合によって、最遅角気筒＃Ｍとも成り得るし、他の気筒（進角側の気筒）とも成り得る。
【００４５】
処理５３０では、点火サイクルｎでの最遅角気筒＃Ｍと、当該気筒＃Ｍに相当する最遅角設定値ＣＡｎ（＃Ｍ）を特定する。具体的には、点火サイクル（ｎ−２，ｎ−１，ｎ）の情報が用いられ、この中から、最遅角側の遅進角設定値ＣＡｎ（＃Ｍ）を特定し、また、これに相当する気筒を最遅角気筒＃Ｍと特定する。
【００４６】
この処理によって、被検査気筒＃Ｎが最遅角気筒＃Ｍであるという結果が得られた場合、処理Ｓ５４０，Ｓ５５０を実行させずに、遅進角予定値！ＣＡｎ（＃Ｎ）を被検査気筒＃Ｎの遅進角設定値ＣＡｎ（＃Ｎ）として設定する（Ｓ５６１）。そして、この値ＣＡｎ（＃Ｎ）は、処理Ｓ５７０によってメモリ回路へ記録・更新される。この場合、気筒＃Ｎに係る次回の点火サイクルｎ＋３では、ここで更新された遅進角設定値ＣＡｎ（＃Ｎ）に基づいて、点火時期（点火信号の出力タイミング，パルス幅等）が規定される。
【００４７】
このように、被検査気筒＃Ｎが最遅角気筒＃Ｍとされる場合、当該気筒＃Ｎ（＃Ｍ）における点火時期の遅角制御量（遅進角設定値）は、「ノック有り」との判定結果が得られると、他の気筒との関係による規制を受けることなく、所定の処理に基づいて順調に遅角設定される。このため、気筒毎の機構的なバラツキが大きい場合であっても、最遅角気筒＃Ｍについて、点火時期の遅角制御を適正量実施することが可能となる。
【００４８】
一方、被検査気筒＃Ｎが最遅角気筒＃Ｍでない場合（他の気筒に属する場合）、処理Ｓ５４０〜Ｓ５７０によって、最遅角気筒＃Ｍの遅進角制御量と被検査気筒＃Ｎの遅進角制御量との差を一定範囲内とするよう、被検査気筒＃Ｎの遅進角設定値が定められる。
【００４９】
被検査気筒＃Ｎが最遅角気筒＃Ｍでない場合について説明すると、先ず、比較処理Ｓ５４０を実行させ、「Δ！ＣＡｎ＝ＣＡｎ（＃Ｍ）−！ＣＡｎ（＃Ｎ）」，を演算する。上式右辺のうち、ＣＡｎ（＃Ｍ）は、点火サイクルｎで特定された最遅角設定値であって、！ＣＡｎ（＃Ｎ）は、点火サイクルｎで算出された遅進角予定値である。また、左辺Δ！ＣＡｎを、以下、差分値と呼ぶこととする。
【００５０】
処理Ｓ５４０が終了すると、遅進角設定処理（Ｓ５５０，Ｓ５６１，Ｓ５６２）が実行される。当該処理では、先ず、限界差分値ΔＣＡｔｈを設定し、先の処理で算出された差分値Δ！ＣＡｎが限界差分値ΔＣＡｔｈよりも大きいか否かの閾値判定を行なう（Ｓ５５０）。本実施の形態では、「ΔＣＡｔｈ＝５（deg CA）」と設定される。
【００５１】
そして、「Δ！ＣＡｎ≦ΔＣＡｔｈ」とされる場合、遅進角予定値！ＣＡｎ（＃Ｎ）を遅進角設定値ＣＡｎ（＃Ｎ）として設定させ、「Δ！ＣＡｎ＞ΔＣＡｔｈ」とされる場合、「ＣＡｎ（＃Ｎ）＝ＣＡｎ（＃Ｍ）−ΔＣＡｔｈ」，によって、遅進角設定値ＣＡｎ（＃Ｎ）を設定させる。尚、この場合の遅進角設定値は、減算結果値（最遅角気筒の遅進角設定値から限界差分値を減算させた値）を意味する。このように、本実施の形態では、最遅角気筒＃Ｍの遅進角設定値が基準となり、この基準とされる遅進角設定値に基づいて、他の気筒の遅進角設定値が設定されることとなる。このとき、当該他の気筒（進角側の気筒）は、遅進角設定処理（Ｓ５５０，Ｓ５６１，Ｓ５６２）によって、最遅角気筒＃Ｍと被検査気筒＃Ｎの遅進角設定値の差が一定範囲内とされ、これにより、被検査気筒＃Ｎの遅進角設定値が最遅角気筒＃Ｍの遅進角設定値に追従するように制御されることとなる。
【００５２】
以下、遅進角設定値ＣＡｎ（Ｎ＃）の推移について、所定のシチュエーション毎に説明する。先ず、最遅角気筒＃Ｍの遅進角設定値の推移について説明する。図６上段には、気筒＃１に係るノック判定信号ＫＮｄ（＃１）が示されており、同図下段には、気筒＃１の遅進角設定値ＣＡｎ（＃１）の推移が示されている。尚、この気筒＃１は、最遅角気筒＃Ｍであるものとする。図示の如く、気筒＃１の遅進角設定値ＣＡｎ（＃１）は、「ノック有り｛ＫＮｄ（＃１）＝ＨＩＧＨ｝」との判定が行なわれると、１（deg CA）毎に遅角制御される（点火サイクルｎ＝１，４，７）。一方、「ノック無し｛ＫＮｄ（＃１）＝ＬＯＷ｝」との判定が行なわれると、０．５（deg CA）毎に進角制御される（点火サイクルｎ＝１０，１３，１６）。また、気筒＃１が被検査気筒＃Ｎとされていない点火サイクル（例えば、点火サイクルｎ＝２，３など）にあっては、気筒＃１に対応する信号処理ルーチンＲｔ０１が起動されるまで、既存の値が維持されることとなる。このようにして、気筒＃１の遅進角設定値は、点火サイクルに応じて、ＣＡ１（＃１）→ＣＡ４（＃１）→・・・→ＣＡ１３（＃１）→ＣＡ１６（＃１），といったように、ステップ状に推移する。
【００５３】
この場合、最遅角気筒＃Ｍ（気筒＃１）は、他の気筒に影響されることなく、自己のノック判定結果が該気筒＃１の遅進角設定値に反映されることとなる。このため、最遅角気筒＃Ｍ（気筒＃１）の遅進角設定値は、他の気筒に対して機構的なバラツキが有る場合であっても、ＭＢＴ（Minimum SparkAdvance for BEST Torque）となるように設定される。
【００５４】
図７は、最遅進角気筒＃Ｍ（同図の場合、気筒＃１を指す）に対して、気筒＃２，＃３（他の気筒）が限界差分値未満とされる場面が示されている。図示の如く、気筒＃２，＃３にあっても、ノック判定信号ＫＮｄ（＃２），ＫＮｄ（＃３）に応じて、各気筒の遅進角設定値が設定される。具体的には、気筒＃２の遅進角設定値が，ＣＡ５（＃２）→ＣＡ８（＃２）→ＣＡ１１（＃２）→ＣＡ１４（＃２）→ＣＡ１７（＃２），といったように推移し、気筒＃３の遅進角設定値が，ＣＡ９（＃３）→ＣＡ１２（＃３）→ＣＡ１５（＃３），といったように推移する。
【００５５】
この場合、気筒＃１に対して気筒＃２，＃３（他の気筒）が限界差分値未満とされるので、気筒＃２，＃３についても、各々のノック判定結果に基づいて遅進角設定値が設定されることとなる。また、気筒＃２又は気筒＃３の遅進角設定値が更に遅角される場合には、其の遅角の度合によって、気筒＃２又は気筒＃３の何れかが最遅角気筒＃Ｍともなり得る。
【００５６】
次に、最遅進角気筒＃Ｍと進角側の気筒との差分値Δ！ＣＡｎが限界差分値を上回る場面について説明する。図８上段には、ノック判定信号ＫＮｄ（＃１），ＫＮｄ（＃２），ＫＮｄ（＃３）が示され、同図下段には、前述とは別の場面（点火サイクルｎ＝２０〜３４）での遅進角設定値が示されている。尚、同図に示される遅進角設定値の矢印部は、信号処理ルーチンＲｔ０１の起動タイミングを示すものである。また、図９については、図８のうち気筒＃２に関係する信号・値が省略されている。先ず、図９を参照して、気筒＃１及び気筒＃３の遅進角設定値について説明することとする。
【００５７】
図示の如く、気筒＃１（最遅角気筒＃Ｍ）の遅進角設定値ＣＡｎ（＃１）は、自己のノック判定ＫＮｄ（＃１）がＨＩＧＨ状態とされている期間、遅角方向への設定が進められる。このような制御の中、点火サイクルｎ＝２１が到来すると、気筒＃３を被検査気筒＃Ｎとする信号処理ルーチンＲｔ０１が起動する。かかる場面では、図示の如く、点火サイクルｎ＝２１での差分値Δ！ＣＡ２１が、「Δ！ＣＡ２１＝ＣＡ１９（＃１）−！ＣＡ２１（＃３）」によって算出される。そして、「Δ！ＣＡ２１＝５≦ΔＣＡｔｈ」が得られるため、「ＣＡ２１（＃３）＝！ＣＡ２１（＃３）＝４」として、遅進角設定値が設定される。即ち、点火サイクルｎ＝２１の信号処理ルーチンＲｔ０１では、処理Ｓ５６１を介して遅進角設定値が設定されることとなる。
【００５８】
次に、点火サイクルｎ＝２４が到来すると、先と同様、気筒＃３に関する信号処理ルーチンＲｔ０１が再び起動する。かかる場面では、図示の如く、点火サイクルｎ＝２４での差分値Δ！ＣＡ２４が、「Δ！ＣＡ２４＝ＣＡ２２（＃１）−！ＣＡ２４（＃３）」によって算出される。そして、「Δ！ＣＡ２４＝６．５＞ΔＣＡｔｈ」が得られるため、「ＣＡ２４（＃３）＝ＣＡ２２（＃１）−ΔＣＡｔｈ＝５」として、遅進角設定値が設定される。即ち、点火サイクルｎ＝２４の信号処理ルーチンＲｔ０１では、処理Ｓ５６２が機能し、遅進角予定値！ＣＡ２４（＃３）よりも遅側へ遅進角設定値ＣＡ２４（＃３）が設定されることとなる。
【００５９】
同図では、点火サイクルが更に進むと、気筒＃１（最遅角気筒＃Ｍ）の遅進角設定値が遅角制御される。このように、気筒＃３の遅進角設定値を算出する基準が遅角方向へ推移する為、気筒＃３の遅進角設定値は、上述同様、気筒＃１の遅進角設定値の推移に応じて、遅角方向へ設定されることとなる（ｎ＝２８,ｎ＝３１，参照）。このため、図８に示す如く、気筒＃３の遅進角設定値ＣＡｎ（＃３）は、気筒＃１の遅進角設定値ＣＡｎ（＃１）を追尾するように、点火サイクルの進行に応じて順次遅角側へ設定されることとなる。但し、図８及び図９では気筒全体の点火時期が遅角方向へ制御される場面について示されているが、実際には、図１０に示す如く、最遅角気筒＃Ｍの点火時期が遅角されると、他の気筒の点火時期も追尾的に遅角され、その後、各々が徐所に進角するといった動作を繰返す。
【００６０】
尚、図８では気筒＃３についての説明を行なったが、気筒＃２の遅進角設定値ＣＡｎ（＃２）についても、差分値Δ！ＣＡｎが一定以上増加すると、最遅角設定値に対して追尾的な設定処理が行われる。
【００６１】
このように、全ての気筒の遅進角設定値が一定範囲内に設定されることで、内燃機関では、気筒相互の点火時期が略一定の時間間隔とされ、出力トルクの周期的な変動が抑制される。また、本実施の形態によると、最遅進角気筒＃１の遅進角設定値は、ＭＢＴに略一致するよう設定され、気筒＃２又は＃３の遅進角設定値は、ＭＢＴよりも遅角設定されることとなる。このため、内燃機関の全ての気筒＃１〜＃３は、ノッキングが発生しないタイミングで混合気が点火燃焼されることとなり、内燃機関の長寿命化，ドライバビリティの向上が図られる。
【００６２】
また、本実施の形態に係る点火時期制御装置ＣＭＢによると、最遅角気筒＃Ｍ（＃１）の点火時期の遅角制御が他の気筒（＃２，＃３）との関係による規制を受けることなく実施され、且つ、他の気筒（＃２，＃３）に係る点火時期の遅角制御量が最遅角気筒＃Ｍ（＃１）の遅角制御量に対して追尾するよう制御される。この追尾制御は、最遅角気筒＃Ｍ（＃１）の遅角制御量に対して一定範囲内となるよう、他の気筒について遅角制御量が制御されるので、気筒相互の点火時期が略一定の時間間隔とされる。このため、内燃機関では、燃焼エネルギーを受け取る間隔が略一定間隔とされ、カムシャフトからは、出力変動の少ないトルクが供給されることとなる。
【００６３】
上述の如く、最遅角気筒の点火時期は、「ノック有り」との判定結果が得られた場合、他の気筒との関係による規制を受けることなく、適正な処理に基づいて順調に遅角制御される。一方、他の気筒（進角側の気筒）の各々の点火時期は、最遅角気筒を追尾するよう制御されるので、ＭＢＴよりも遅角側に制御されることとなる。加えて、当該追尾的な制御によって、内燃機関では、気筒相互の点火時期の間隔を略一定間隔で迎えることが可能となる。即ち、本実施の形態に係る点火時期制御装置は、これらの効果が密接に影響し合うことで、全ての気筒においてノックの発生を解消させ、且つ、出力トルクの変動を抑制させる、といった相乗的な効果が得られる。
【００６４】
尚、上述した点火時期制御装置ＣＭＢでは、最遅角気筒と進角側気筒との両遅進角設定値の差分値Δ！ＣＡｎが限界差分値ΔＣＡｔｈに到達した場合、当該差分値Δ！ＣＡｎが限界差分値ΔＣＡｔｈとなるよう、進角側気筒の遅進角設定値を設定させている。しかし、かかる追尾的な処理は、これに限定されるものではない。例えば、限界差分値ΔＣＡｔｈより小さい値の所定オフセット値（例えば、３{deg CA}）を新たに設定し、最遅角気筒と進角側気筒との両遅進角設定値の差分値Δ！ＣＡｎが限界差分値ΔＣＡｔｈに到達した場合、当該差分値Δ！ＣＡｎが所定オフセット値（３{deg CA}）となるよう、進角側気筒の遅進角設定値を遅角させるようにしても良い。この場合、気筒相互の点火時期の間隔誤差が更に低減され、トルクの出力変動がより効果的に抑制されることとなる。
【実施例】
【００６５】
図１１には、実施の形態に係る信号処理ルーチンＲｔ０１の改変例が示されている。具体的に説明すると、本実施例に係る信号処理ルーチンＲｔ０２は、実施の形態で既に説明した処理Ｓ１００〜Ｓ５６２の後に、復帰用カウンタ更新処理Ｓ６１０と、バラツキ頻度認識処理Ｓ６２０と、最遅角処理（Ｓ６３０，Ｓ６３１）と、遅進角動作復帰処理（Ｓ６３０，Ｓ６３２）と、遅進角設定値更新処理Ｓ６４０とが新たに追加構成されている。
【００６６】
先に説明した実施の形態では、処理Ｓ１００〜Ｓ５６２の処理結果に基づいて、被検査気筒＃Ｎの遅進角設定値ＣＡｎ（＃Ｎ）が設定される。これに対し、本実施例にあっては、処理Ｓ１００〜Ｓ５６２の処理結果に基づいて、被検査気筒＃Ｎの復帰用遅進角設定値＄ＣＡｎ（＃Ｎ）を設定する。この復帰用遅進角設定値＄ＣＡｎ（＃Ｎ）は、以後の処理Ｓ６２０〜Ｓ６３１の処理結果によって、次回点火サイクルの点火時期制御に反映される場合と、次回点火サイクルの点火時期制御に反映されない場合とが有る。このため、復帰用カウンタ更新処理Ｓ６１０では、処理Ｓ１００〜Ｓ５６２で得た処理結果＄ＣＡｎ（＃Ｎ）を一時的に記録しておき（図１２の復帰用カウンタを参照）、其の情報＄ＣＡｎ（＃Ｎ）は、必要に応じて後の処理で参照されることとなる。
【００６７】
実施の形態でも説明したが、図１２の復帰用カウンタで示されるように、最遅角気筒＃１と進角側気筒＃３との関係は、双方の遅進角設定値が所定角度を隔てて設定される場合がある（矢印部参照）。本実施例では、この状況を監視する為、バラツキ頻度認識処理Ｓ６２０によって、この事象（矢印部に相当）の連続発生回数ＣＮｃｎｔがカウントされる。具体的には、「Δ！ＣＡｎ＞ΔＣＡｔｈ」となる点火サイクルでカウントを開始させ、「Δ！ＣＡｎ≦ΔＣＡｔｈ」となる点火サイクルでカウントを終了させる。図１２を参照して説明すると、連続発生回数ＣＮｃｎｔは、点火時期ｎ＝６〜９（ＣＮｃｎｔ＝４），点火時期ｎ＝２１〜３０（ＣＮｃｎｔ＝１１），点火時期ｎ＝４８〜５１（ＣＮｃｎｔ＝４），にてカウントが行なわれる。このように、処理Ｓ６２０では、「Δ！ＣＡｎ＞ΔＣＡｔｈ」となる連続発生回数をカウントすることにより、気筒相互の点火時期のバラツキ状態が顕著となる事象の頻度（以下、バラツキ頻度と呼ぶ）を認識する。
【００６８】
処理Ｓ６３０では、連続発生回数ＣＮｃｎｔに対して閾値ＣＮｔｈ（所定閾値頻度）を設定させ、連続発生回数ＣＮｃｎｔが閾値ＣＮｔｈに到達したか否かを判定する。本実施例では、閾値ＣＮｔｈが「ＣＮｔｈ＝５」に設定されている。
【００６９】
そして、「ＣＮｃｎｔ≧ＣＮｔｈ」の場合、最遅角処理Ｓ６３１が機能し、被検査気筒＃１（＃Ｍ）の遅進角設定値を最遅角値ＣＡＭＤに設定する。図１２の場合、「ＣＮｃｎｔ≧ＣＮｔｈ」となる場面は、「点火サイクルｎ＝２５〜２９」とされる。このため、処理Ｓ６３１では、点火サイクルｎ＝２５に対応する遅進角設定値ＣＡ２５（＃２）を「ＣＡ２５（＃２）＝ＣＡＭＤ」に設定し、処理６４０では、この値を遅進角設定値の更新値として、メモリ回路へ記録させる。
【００７０】
かかる処理は、次回以後の点火サイクルでも同様に機能し、点火サイクルが到来する順番で、全ての気筒の遅進角設定値が最遅角値ＣＡＭＤに設定される（図１２の遅進角カウンタを参照）。一般に、気筒相互の点火時期のバラツキ状態が顕著となる場合では、最遅角気筒＃Ｍの遅進角設定値が連続的に遅角制御されている可能性がある。このような気筒については、ノッキング発生の危険度が高いため、其の遅進角設定値を遅角方向に大きく制御させる必要がある。このため、本実施例では、気筒相互の点火時期のバラツキ状態について監視を行い、当該バラツキ状態が顕著と認められた場合、全気筒の遅進角設定値を最遅角値ＣＡＭＤに設定させることで、ノッキングの発生を緊急的に回避させている。併せて、全気筒の遅進角設定値が最遅角値ＣＡＭＤに一律に設定させることで、気筒相互の点火時期が略一定となり、出力トルクの安定化も図られる。
【００７１】
尚、気筒の遅進角設定値が最遅角値ＣＡＭＤに設定されている場面では、連続発生回数ＣＮｃｎｔが閾値ＣＮｔｈ以下に復帰すると、遅進角動作復帰処理（Ｓ６３０，Ｓ６３２）が実行される。当該遅進角動作復帰処理は、閾値ＣＮｔｈの監視を行い（Ｓ６３０）、「ＣＮｃｎｔ＜ＣＮｔｈ」となった時点で、被検査気筒＃Ｎの遅進角設定値ＣＡｎ（＃Ｎ）を、最遅角値ＣＡＭＤから変更させ、遅進角値設定処理（Ｓ５５０，Ｓ５６１，Ｓ５６２）で算出された被検査気筒＃Ｎの復帰用遅進角設定値＄ＣＡｎ（＃Ｎ）に再設定する。即ち、遅進角動作復帰処理（Ｓ６３０，Ｓ６３２）では、角遅進角設定値の遅進角制御を再開させる役割を担う。
【００７２】
このように、遅進角動作復帰処理（Ｓ６３０，Ｓ６３２）によれば、連続発生回数ＣＮｃｎｔの状況から点火時期のバラツキ状態を把握し、其のバラツキ状態が一定範囲に復帰すると、実施の形態で説明した処理に戻すことが可能となる。
【００７３】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態（又は、実施例）に限定されるものではなく、特許請求の範囲に記された技術的思想の範囲内において、種々の変更が可能である。
【００７４】
例えば、実施の形態に係るバラツキ頻度認識処理Ｓ６２０では、バラツキ頻度を算出するために、「Δ！ＣＡｎ≧ΔＣＡｔｈ」となる事象をカウントしている。しかし、これに限らず、減算結果値「ＣＡｎ（＃Ｎ）＝ＣＡｎ（＃Ｍ）−ΔＣＡｔｈ」によって遅角制御される事象をカウントするようにしても良い。これによっても、バラツキ頻度認識処理と同様、バラツキ頻度に関する状況を把握することが可能である（強制遅角頻度認識処理）。
【００７５】
また、上述によると、バラツキ頻度の算出は、当該頻度の連続発生回数を計数することで行なわれている。しかし、これに限らず、種々の統計的算出方法を用いて、該バラツキ頻度を算出させても良い。
【符号の説明】
【００７６】
ＣＭＢ  内燃機関用の点火時期制御装置，  ＃１〜＃３  気筒，  ＣＬ  点火コイル，  ＩＮＳ  イオン電流検出回路，  ＥＣＵ  信号処理部，  １００  ノック判定処理用のプログラム，  ２００  遅進角演算処理用のプログラム，  ３００  最遅角気筒追尾処理用のプログラム，  ＫＮｄ（＃１）〜ＫＮｄ（＃３）  ノック判定結果，  ＣＡＦＢ  基準点火時期，  ＣＡＮＤ  最遅角時期，  Ｎ  点火サイクル，ＣＡｎ（＃Ｎ）  遅進角設定値，  バランス悪化点火サイクル  Ｎｗ，  ＣＮｃｎｔ  連続回数（発生頻度），  ＣＮｔｈ  所定閾値頻度，
【図１】
0005934454.tif 000002
【図２】
0005934454.tif 000003
【図３】
0005934454.tif 000004
【図４】
0005934454.tif 000005
【図５】
0005934454.tif 000006
【図６】
0005934454.tif 000007
【図７】
0005934454.tif 000008
【図８】
0005934454.tif 000009
【図９】
0005934454.tif 000010
【図１０】
0005934454.tif 000011
【図１１】
0005934454.tif 000012
【図１２】
0005934454.tif 000013