(57)【要約】【課題】筒内噴射式エンジンの成層燃焼モード運転中に発生するノッキングを失火や排気エミッションの悪化を招くことなく抑制できるようにする。【解決手段】成層燃焼モード運転中にノックセンサ等でノッキングを検出したときに、そのノッキングの検出レベルに応じて点火時期の遅角補正量ＩＧＫＮを設定して点火時期を遅角補正する共に、その点火時期の遅角補正量ＩＧＫＮに応じて燃料噴射時期の遅角補正量ＩＮＪＫＮを設定して燃料噴射時期を遅角補正する。これにより、成層燃焼モード運転中に、点火時期の遅角補正によってノッキングを抑制しながら、その点火時期の遅角補正に応じた燃料噴射時期の遅角補正によって噴射燃料が点火プラグの近傍を流動するタイミングを点火時期に合わせる。これにより、成層燃焼モード運転中の点火時期の遅角補正による失火や排気エミッションの悪化を防止することができる。【選択図】　図５
2004003429.tif 000002
【特許請求の範囲】
【請求項１】
圧縮行程で筒内に燃料を噴射して成層燃焼させる成層燃焼モードで運転する内燃機関のノッキング抑制制御装置において、
内燃機関のノッキングを検出するノッキング検出手段と、
前記成層燃焼モード運転中に前記ノッキング検出手段でノッキングを検出したときに、点火時期を遅角補正すると共に燃料噴射時期を遅角補正してノッキングを抑制する成層燃焼モード用ノッキング抑制制御手段と
を備えていることを特徴とする内燃機関のノッキング抑制制御装置。
【請求項２】
前記成層燃焼モード用ノッキング抑制制御手段は、点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果を所定の補正ガード値で制限することを特徴とする請求項１に記載の内燃機関のノッキング抑制制御装置。
【請求項３】
前記成層燃焼モードと、吸気行程と圧縮行程でそれぞれ筒内に燃料を噴射して弱成層燃焼させる成層２回噴射燃焼モードとを切り換える第１の燃焼モード切換手段を備え、
前記第１の燃焼モード切換手段は、前記成層燃焼モード運転中に前記成層燃焼モード用ノッキング抑制制御手段による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果が所定の判定値を越えたときに、前記成層燃焼モードから前記成層２回噴射燃焼モードに切り換えることを特徴とする請求項１又は２に記載の内燃機関のノッキング抑制制御装置。
【請求項４】
前記成層燃焼モードと、吸気行程と圧縮行程でそれぞれ筒内に燃料を噴射して弱成層燃焼させる成層２回噴射燃焼モードとを切り換える第１の燃焼モード切換手段と、
前記成層燃焼モード運転中に前記成層燃焼モード用ノッキング抑制制御手段による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果を学習する学習手段とを備え、
前記第１の燃焼モード切換手段は、前記学習手段で学習した学習値が所定の判定値を越えたときに、前記成層燃焼モードから前記成層２回噴射燃焼モードに切り換えることを特徴とする請求項１又は２に記載の内燃機関のノッキング抑制制御装置。
【請求項５】
前記成層２回噴射燃焼モード運転中に前記ノッキング検出手段でノッキングを検出したときに、吸気行程で噴射する燃料と圧縮行程で噴射する燃料の分配率（以下「燃料分配率」という）、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つ補正してノッキングを抑制する成層２回噴射燃焼モード用ノッキング抑制制御手段を備えていることを特徴とする請求項３又は４に記載の内燃機関のノッキング抑制制御装置。
【請求項６】
吸気行程と圧縮行程でそれぞれ筒内に燃料を噴射して弱成層燃焼させる成層２回噴射燃焼モードで運転する機能を備えた内燃機関のノッキング抑制制御装置において、
内燃機関のノッキングを検出するノッキング検出手段と、
前記成層２回噴射燃焼モード運転中に前記ノッキング検出手段でノッキングを検出したときに、吸気行程で噴射する燃料と圧縮行程で噴射する燃料の分配率（以下「燃料分配率」という）、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つを補正してノッキングを抑制する成層２回噴射燃焼モード用ノッキング抑制制御手段とを備えていることを特徴とする内燃機関のノッキング抑制制御装置。
【請求項７】
前記成層２回噴射燃焼モード用ノッキング抑制制御手段は、前記成層２回噴射燃焼モード運転中に機関負荷が大きいほど吸気行程噴射の燃料割合が大きくなるように前記燃料分配率を設定することを特徴とする請求項５又は６記載の内燃機関のノッキング抑制制御装置。
【請求項８】
前記成層２回噴射燃焼モードと、吸気行程で筒内に燃料を噴射して均質燃焼させる均質燃焼モードとを切り換える第２の燃焼モード切換手段を備え、
前記第２の燃焼モード切換手段は、前記成層２回噴射燃焼モード運転中に前記成層２回噴射燃焼モード用ノッキング抑制制御手段による燃料分配率、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つの補正量又は補正結果が所定の判定値を越えたときに、前記成層２回噴射燃焼モードから前記均質燃焼モードに切り換えることを特徴とする請求項５乃至７のいずれかに記載の内燃機関のノッキング抑制制御装置。
【請求項９】
前記成層２回噴射燃焼モードと、吸気行程で筒内に燃料を噴射して均質燃焼させる均質燃焼モードとを切り換える第２の燃焼モード切換手段と、
前記成層２回噴射燃焼モード運転中に前記成層２回噴射燃焼用ノッキング抑制制御手段による燃料分配率、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つの補正量又は補正結果を学習する学習手段とを備え、
前記第２の燃焼モード切換手段は、前記学習手段で学習した学習値が所定の判定値を越えたときに、前記成層２回噴射燃焼モードから前記均質燃焼モードに切り換えることを特徴とする請求項５乃至７のいずれかに記載の内燃機関のノッキング抑制制御装置。
【請求項１０】
前記成層燃焼モードと、吸気行程で筒内に燃料を噴射して均質燃焼させる均質燃焼モードとを切り換える第３の燃焼モード切換手段を備え、　前記第３の燃焼モード切換手段は、前記成層燃焼モード運転中に前記成層燃焼モード用ノッキング抑制制御手段による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果が所定の判定値を越えたときに、前記成層燃焼モードから前記均質燃焼モードに切り換えることを特徴とする請求項１又は２に記載の内燃機関のノッキング抑制制御装置。
【請求項１１】
前記成層燃焼モードと、吸気行程で筒内に燃料を噴射して均質燃焼させる均質燃焼モードとを切り換える第３の燃焼モード切換手段と、
前記成層燃焼モード運転中に前記成層燃焼モード用ノッキング抑制制御手段による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果を学習する学習手段とを備え、
前記第３の燃焼モード切換手段は、前記学習手段で学習した学習値が所定の判定値を越えたときに、前記成層燃焼モードから前記均質燃焼モードに切り換えることを特徴とする請求項１又は２に記載の内燃機関のノッキング抑制制御装置。
【請求項１２】
前記所定の判定値にヒステリシスを持たせたことを特徴とする請求項３、４、８、９、１０、１１のいずれかに記載の内燃機関のノッキング抑制制御装置。
【請求項１３】
圧縮行程で筒内に燃料を噴射して成層燃焼させる成層燃焼モードと、吸気行程で筒内に燃料を噴射して均質燃焼させる均質燃焼モードとを運転状態等に応じて切り換えて運転する内燃機関のノッキング抑制制御装置において、
内燃機関のノッキングを検出するノッキング検出手段と、
前記成層燃焼モード運転中に前記ノッキング検出手段でノッキングを検出したときに前記成層燃焼モードから前記均質燃焼モードに切り換える燃焼モード切換手段と
を備えていることを特徴とする内燃機関のノッキング抑制制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、圧縮行程で筒内に燃料を噴射して成層燃焼させる内燃機関のノッキング抑制制御装置に関するものである。
【０００２】
【従来の技術】
近年、低燃費、低排気エミッション、高出力の特長を兼ね備えた筒内噴射式エンジンの需要が増加している。一般的な筒内噴射式エンジンは、低負荷時には、少量の燃料を圧縮行程で筒内に直接噴射して成層混合気を形成して成層燃焼させることで、燃費を向上させ、一方、中・高負荷時には、燃料噴射量を増量して吸気行程で筒内に直接噴射して均質混合気を形成して均質燃焼させることで、エンジン出力を高めるようにしている。
【０００３】
この筒内噴射式エンジンでは、空燃比が超リーンとなる成層燃焼モード運転中でも、ノッキングが発生することがある。従来の最も一般的なエンジンである吸気ポート噴射式エンジンでは、ノッキングが発生したときに、点火時期を遅角補正してノッキングを抑制するようにしている。
【０００４】
しかし、筒内噴射式エンジンの成層燃焼モード運転中は、圧縮行程で噴射した噴射燃料が点火プラグの近傍を流動するタイミングに合わせて点火することによって成層燃焼を実現するようにしているので、ノッキングを抑制するために点火時期を遅角すると、噴射燃料が点火プラグの近傍を流動するタイミングに対して点火時期がずれてしまい、失火や排気エミッションの悪化を招く可能性がある。
【０００５】
この問題を解決するために、特許文献１（特開平４−１８７８５１号公報）に示すように、ノッキング抑制制御として点火時期を遅角すると共に、圧縮行程の燃料噴射量を増量することで点火時期のずれを補償することが提案されている。
【０００６】
或は、特許文献２（特開平１１−２４１６２６号公報）に示すように、圧縮行程の燃料噴射量を増量したり、又は増量した燃料量を圧縮行程と膨脹行程の２回に分けて噴射することによって、燃焼温度を低下させてノッキングを抑制することが提案されている。
【０００７】
【特許文献１】
特開平４−１８７８５１号公報（第１頁〜第２頁等）
【特許文献２】
特開平１１−２４１６２６号公報（第２頁等）
【０００８】
【発明が解決しようとする課題】
これら２つの特許文献１，２のノッキング抑制制御では、いずれも燃料噴射量を増量するようにしているが、成層燃焼モード運転中に、燃料噴射量を増量すると、成層燃焼モード運転の本来の目的である燃費節減の効果を低下させてしまうという欠点がある。
【０００９】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、失火や排気エミッションの悪化を招くことなく、ノッキングを抑制することができると共に、ノッキング抑制制御中でも成層燃焼モード運転の燃費節減効果を維持することができる内燃機関のノッキング抑制制御装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関のノッキング抑制制御装置は、成層燃焼モード運転中にノッキング検出手段でノッキングを検出したときに、成層燃焼モード用ノッキング抑制制御手段により点火時期を遅角補正すると共に燃料噴射時期を遅角補正してノッキングを抑制するようにしたものである。このようにすれば、成層燃焼モード運転中に、ノッキングを抑制するために点火時期の遅角補正しながら、その点火時期の遅角補正量に応じて燃料噴射時期を遅角補正することで、成層燃焼モード運転中の燃料噴射時期と点火時期との関係を、噴射燃料が点火プラグの近傍を流動するタイミングに合わせて点火できるように補正することができる。そのため、成層燃焼モード運転中に、点火時期の遅角補正によりノッキングを抑制しながら、失火や排気エミッションの悪化を燃料噴射時期の遅角補正により未然に防止することができる。しかも、成層燃焼モード運転中にノッキングを抑制する際に燃料噴射量を増量する必要がないので、成層燃焼モード運転の燃費節減効果も維持することができる。
【００１１】
この場合、請求項２のように、成層燃焼モード運転中にノッキング抑制制御による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果を所定の補正ガード値で制限するようにしても良い。このようにすれば、ノッキングを抑制するための点火時期や燃料噴射時期の補正量又は補正結果を成層燃焼状態が悪化しない範囲内に制限することができる。
【００１２】
ところで、筒内噴射式の内燃機関では、成層燃焼モードと均質燃焼モードの中間的な特性を持った成層２回噴射燃焼モードを設定しているものがある。この成層２回噴射燃焼モードでは、吸気行程と圧縮行程でそれぞれ筒内に燃料を噴射して均質燃焼と成層燃焼の中間的な燃焼（弱成層燃焼）を行わせるようにしている。一般に、成層２回噴射燃焼モードでは、成層燃焼モードよりも点火時期や燃料噴射時期の補正可能範囲が広くなるため、成層燃焼モードよりもノッキングを抑制しやすくなる。
【００１３】
この点に着目して、請求項３のように、成層燃焼モード運転中にノッキング抑制制御による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果が所定の判定値を越えたときに、成層燃焼モードから成層２回噴射燃焼モードに切り換えるようにしても良い。つまり、成層燃焼モード運転中にノッキングを抑制するための補正量又は補正結果が所定の判定値を越えたとき（例えば、補正ガード値で制限されたとき）には、成層燃焼モードのままではノッキングを抑制しきれないと判断して、成層２回噴射燃焼モードに切り換える。これにより、成層燃焼モードでは抑制しきれないノッキングも抑制することができる。しかも、成層２回噴射燃焼モードは、均質燃焼モードに比べて燃費の低下幅も少なく、ある程度の燃費節減効果を得ることができる。
【００１４】
また、請求項５、６のように、成層２回噴射燃焼モード運転中にノッキングを検出したときには、成層２回噴射燃焼モード用ノッキング抑制制御手段により吸気行程で噴射する燃料と圧縮行程で噴射する燃料の分配率（以下「燃料分配率」という）、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つ補正してノッキングを抑制するようにしても良い。成層２回噴射燃焼モードでは、点火時期以外に、燃料分配率（吸気行程の燃料噴射量）や吸気行程の燃料噴射時期を補正することによってノッキングを抑制することができる。尚、燃料分配率（吸気行程の燃料噴射量）を補正する場合は、吸気行程の燃料噴射量を自己着火しないレベルまで減量することでノッキングを抑制したり、或は、その反対に、吸気行程の燃料噴射量を増量して吸気行程の噴射燃料の気化熱によって筒内ガス温度を下げることでノッキングを抑制するようにしても良い。
【００１５】
一般に、機関負荷（吸入空気量）が大きくなるほど、筒内に吸入される空気の流速が速くなり、それに伴って、点火プラグ近傍の燃料濃度が燃焼可能領域となる期間（図９参照）が短くなって、点火時期を変更（遅角補正又は進角補正）できる期間が短くなる。このように、高負荷域で点火時期を変更できる期間が短くなれば、ノッキング発生時に点火時期を遅角補正できる幅が狭くなってしまい、高負荷域におけるノッキング抑制効果が低下する結果となる。
【００１６】
この対策として、請求項７のように、成層２回噴射燃焼モード運転中に、機関負荷が大きいほど吸気行程噴射の燃料割合が大きくなるように（圧縮行程噴射の燃料割合が小さくなるように）、燃料分配率を設定するようにしても良い。吸気行程噴射の燃料割合が大きくなれば、圧縮行程開始当初から点火プラグ近傍の燃料濃度をある程度高めることができるので、圧縮行程中に点火プラグ近傍の燃料濃度が燃焼可能領域となる期間を広げることができて、点火時期を変更（遅角補正又は進角補正）できる期間を広げることができる（図９参照）。これにより、高負荷域でもノッキング発生時に点火時期を遅角補正できる幅を確保することができ、高負荷域におけるノッキング抑制効果の低下を防止することができる。
【００１７】
一般に、均質燃焼モードは、成層２回噴射燃焼モードよりも点火時期や燃料噴射時期の補正可能範囲が更に広くなるため、成層２回噴射燃焼モードよりも更にノッキングを抑制しやすくなる。
【００１８】
そこで、請求項８のように、成層２回噴射燃焼モード運転中にノッキング抑制制御による燃料分配率、吸気行程の燃料噴射時期、点火時期のうちの少なくとも１つの補正量又は補正結果が所定の判定値を越えたときに、成層２回噴射燃焼モードから均質燃焼モードに切り換えるようにしても良い。或は、請求項１０のように、成層燃焼モード運転中にノッキング抑制制御による点火時期と燃料噴射時期のうちの少なくとも一方の補正量又は補正結果が所定の判定値を越えたときに、成層燃焼モードから均質燃焼モードに切り換えるようにしても良い。
【００１９】
つまり、成層２回噴射燃焼モード（又は成層燃焼モード）の運転中にノッキングを抑制するための補正量又は補正結果が所定の判定値を越えたとき（例えば、補正ガード値で制限されたとき）には、成層２回噴射燃焼モード（又は成層燃焼モード）のままではノッキングを抑制しきれないと判断して、均質燃焼モードに切り換える。これにより、成層２回噴射燃焼モード（又は成層燃焼モード）では抑制しきれないノッキングも抑制することができる。
【００２０】
また、請求項１３のように、成層燃焼モード運転中にノッキングを検出したときに、成層燃焼モードから均質燃焼モードに切り換えて、ノッキングをより確実に抑制できるようにしても良い。
【００２１】
ところで、上述した請求項３、８、１０に係る発明では、ノッキングを抑制するための補正量又は補正結果が所定の判定値を越えたときに、燃焼モードを切り換えるようにしたが、この場合、判定値が一定値に固定されていると、ノッキングを抑制するための補正量又は補正結果が判定値付近で振動するように変化したときに、燃焼モードが頻繁に切り換わるチャタリング現象が発生してしまう。
【００２２】
この対策として、請求項１２のように、燃焼モードを切り換える際の判定値にヒステリシスを持たせるようにしても良い（つまり２種類の判定値を持たせて燃焼モードを切り換える毎に使用する判定値を交互に切り換えるようにしても良い）。このようにすれば、燃焼モードが頻繁に切り換わるチャタリング現象を回避することができる。
【００２３】
或は、請求項４、９、１１のように、ノッキングを抑制するための補正量又は補正結果を学習し、その学習値が所定の判定値を越えたときに、燃焼モードを切り換えるようにしても良い。一般に、補正量又は補正結果を学習する周期、つまり学習値の更新周期は、補正量又は補正結果の演算周期よりも長くなるため、学習値を判定値と比較して燃焼モードを切り換えるようにすれば、燃焼モードが頻繁に切り換わるチャタリング現象を回避することができる。この場合の判定値にもヒステリシスを持たせるようにしても良い。
【００２４】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図５に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。筒内噴射式の内燃機関である筒内噴射式エンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等のモータ１５によって駆動されるスロットルバルブ１６が設けられ、このスロットルバルブ１６の開度（スロットル開度）がスロットル開度センサ１７によって検出される。
【００２５】
また、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０に、エンジン１１の筒内の気流（スワール流やタンブル流）を制御する気流制御弁３１が設けられている。
【００２６】
エンジン１１の各気筒の上部には、それぞれ燃料を筒内に直接噴射する燃料噴射弁２１が取り付けられている。エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。更に、エンジン１１のシリンダブロックには、ノッキングを検出するノックセンサ３２（ノッキング検出手段）と、冷却水温を検出する冷却水温センサ２３と、エンジン回転速度を検出するクランク角センサ２４とが取り付けられている。
【００２７】
一方、エンジン１１の排気管２５には、排出ガスを浄化する上流側触媒２６と下流側触媒２７が設けられ、上流側触媒２６の上流側に、排出ガスの空燃比又はリーン／リッチ等を検出する排出ガスセンサ２８（空燃比センサ、酸素センサ等）が設けられている。本実施形態（１）では、上流側触媒２６として理論空燃比付近で排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒が設けられ、下流側触媒２７としてＮＯｘ吸蔵還元型触媒が設けられている。このＮＯｘ吸蔵還元型触媒は、排出ガスの空燃比がリーンのときに排出ガス中のＮＯｘを吸蔵し、空燃比が理論空燃比付近又はリッチになったときに吸蔵ＮＯｘを還元浄化して放出する特性を持っている。
【００２８】
また、排気管２５のうちの上流側触媒２６の下流側と吸気管１２のうちのスロットルバルブ１６の下流側のサージタンク１８との間に、排出ガスの一部を吸気側に還流させるためのＥＧＲ配管３３が接続され、このＥＧＲ配管３３の途中に排出ガス還流量（ＥＧＲ量）を制御するＥＧＲ弁３４が設けられている。また、アクセルペダル３５の踏込量（アクセル操作量）がアクセルセンサ３６によって検出される。
【００２９】
前述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種の制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や燃料噴射時期、点火プラグ２２の点火時期等を制御する。
【００３０】
その際、ＥＣＵ３０は、図２に示す燃焼モード決定ルーチンを実行することで、エンジン運転状態に応じて成層燃焼モード、均質燃焼モード、成層２回噴射燃焼モードのうちのいずれか１つの燃焼モードに設定する。成層燃焼モードでは、少量の燃料を圧縮行程で筒内に直接噴射して点火プラグ２２の近傍に成層混合気を形成して成層燃焼させることで、燃費を向上させる。一方、均質燃焼モードでは、燃料噴射量を増量して吸気行程で筒内に直接噴射して均質混合気を形成して均質燃焼させることで、エンジン出力を高める。また、成層２回噴射燃焼モードでは、均質燃焼モードよりも少量の燃料を吸気行程と圧縮行程でそれぞれ筒内に直接噴射して均質燃焼と成層燃焼の中間的な燃焼（弱成層燃焼）をさせることで、成層燃焼モードと均質燃焼モードの中間的な特性となるようにしている。尚、成層２回噴射燃焼モードを省略して、成層燃焼モードと均質燃焼モードとの間で燃焼モードを切り換えるようにしても良い。
【００３１】
また、ＥＣＵ３０は、図３に示す成層燃焼モード時の点火時期演算ルーチン及び図４に示す成層燃焼モード時の燃料噴射時期演算ルーチンを実行することで、成層燃焼モード運転中にノックセンサ３２でノッキングを検出したときに、点火時期を遅角補正してノッキングを抑制すると共に、その点火時期の遅角補正に合わせて圧縮行程の燃料噴射時期を遅角補正して、噴射燃料が点火プラグ２２の近傍を流動するタイミングを点火時期に合わせるようにしている。これら図３の成層燃焼モード時の点火時期演算ルーチン及び図４の成層燃焼モード時の燃料噴射時期演算ルーチンが特許請求の範囲でいう成層燃焼モード用ノッキング抑制制御手段としての役割を果たす。
【００３２】
以下、ＥＣＵ３０が実行する各ルーチンの処理内容を説明する。
図２に示す燃焼モード決定ルーチンは、イグニッションスイッチ（図示せず）のオン後に所定周期で実行される。本ルーチンが起動されると、まず、ステップ１０１で、燃焼モード判定マップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと要求トルク）に応じて成層燃焼モード、均質燃焼モード、成層２回噴射燃焼モードのうちのいずれか１つの燃焼モードを選択する。
【００３３】
この燃焼モード判定マップは、低回転、低トルク領域では、燃費節減を優先して成層燃焼モードが選択され、一方、高回転、高トルク領域では、エンジン出力を優先して均質燃焼モードが選択されるように設定されている。また、中回転、中トルク領域では、成層燃焼モードと均質燃焼モードの中間的な特性を持った成層２回噴射燃焼モードが選択されるように設定されている。
【００３４】
尚、成層２回噴射燃焼モードを省略したシステムでは、燃焼モード判定マップは、低回転、低トルク領域で、成層燃焼モードが選択され、中・高回転、中・高トルク領域で、均質燃焼モードが選択されるように設定すれば良い。
【００３５】
この後、ステップ１０２に進み、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであるか否かを判定する。成層燃焼モードが選択されていれば、ステップ１０３に進み、燃焼モードを成層燃焼モードに設定する。
【００３６】
一方、ステップ１０２で成層燃焼モードが選択されていないと判定された場合には、ステップ１０４に進み、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであるか否かを判定する。成層２回噴射燃焼モードが選択されていれば、ステップ１０５に進み、燃焼モードを成層２回噴射燃焼モードに設定する。
【００３７】
また、ステップ１０２で成層燃焼モードが選択されていないと判定され、且つ、ステップ１０４で成層２回噴射燃焼モードが選択されていないと判定された場合には、ステップ１０６に進み、燃焼モードを均質燃焼モードに設定する。
【００３８】
図３に示す成層燃焼モード時の点火時期演算ルーチンは、成層燃焼モード運転中に、所定周期で実行される。本ルーチンが起動されると、まず、ステップ２０１で、ベース点火時期ＩＧｂａｓｅのマップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じたベース点火時期ＩＧｂａｓｅを求める。
【００３９】
この後、ステップ２０２に進み、ノックセンサ３２の出力に基づいてノッキングが発生したか否かを判定し、ノッキングが発生していなければ、ステップ２０３に進み、燃費・出力向上を狙って、ノッキングが発生する直前の位置まで点火時期を進角補正するために、次式によりベース点火時期ＩＧｂａｓｅに対する遅角補正量ＩＧＫＮを所定量α１だけ減量する。
ＩＧＫＮ（ｉ）＝ＩＧＫＮ（ｉ−１）−α１
【００４０】
これに対して、ステップ２０２で、ノッキングが発生していると判定された場合には、ステップ２０４に進み、点火時期を遅角補正してノッキングを抑制するために、次式によりベース点火時期ＩＧｂａｓｅに対する遅角補正量ＩＧＫＮを所定量β１だけ増量する。
ＩＧＫＮ（ｉ）＝ＩＧＫＮ（ｉ−１）＋β１
【００４１】
ここで、ノッキングの検出レベルが大きいほど、所定量β１を大きく設定して遅角補正量ＩＧＫＮが大きくなるようすると良い。勿論、演算処理の簡略化のために、所定量β１を固定値（例えばβ１＝α１）としても良い。
【００４２】
上記ステップ２０３又は２０４で遅角補正量ＩＧＫＮを減量又は増量した後、ステップ２０５に進み、遅角補正量ＩＧＫＮの上下限チェックを行って、遅角補正量ＩＧＫＮが遅角側及び進角側の補正ガード値を越えていればガード処理し、遅角補正量ＩＧＫＮを正常な成層燃焼を維持できるように遅角側及び進角側の補正ガード値の範囲内に制限する。
【００４３】
この後、ステップ２０６に進み、次式によりベース点火時期ＩＧｂａｓｅを遅角補正量ＩＧＫＮだけ遅角補正して最終的な点火時期ＩＧを求める。
ＩＧ＝ＩＧｂａｓｅ−ＩＧＫＮ（ｉ）
【００４４】
尚、本ルーチンでは、ステップ２０３又は２０４で算出した遅角補正量ＩＧＫＮの上下限チェックを行った後に、その遅角補正量ＩＧＫＮでベース点火時期ＩＧｂａｓｅを遅角補正して点火時期ＩＧを求めるようにしたが、ステップ２０３又は２０４で算出した遅角補正量ＩＧＫＮでベース点火時期ＩＧｂａｓｅを遅角補正して点火時期ＩＧを求めた後に、その点火時期ＩＧの上下限チェックを行うようにしても良い。
【００４５】
図４に示す成層燃焼モード時の燃料噴射時期演算ルーチンは、成層燃焼モード運転中に、所定周期で実行される。本ルーチンが起動されると、まず、ステップ３０１で、ベース燃料噴射時期ＩＮＪｂａｓｅのマップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じた圧縮行程のベース燃料噴射時期ＩＮＪｂａｓｅを求める。
【００４６】
この後、ステップ３０２に進み、噴射燃料が点火プラグ２２の近傍を流動するタイミングを点火時期に合わせるために、次式によりベース燃料噴射時期ＩＮＪｂａｓｅを遅角補正量ＩＮＪＫＮだけ遅角補正して最終的な圧縮行程の燃料噴射時期ＩＮＪを求める。
ＩＮＪ＝ＩＮＪｂａｓｅ−ＩＮＪＫＮ（ｉ）
【００４７】
ここで、ベース燃料噴射時期ＩＮＪｂａｓｅに対する遅角補正量ＩＮＪＫＮは、点火時期の遅角補正量ＩＧＫＮと同じ値（ＩＮＪＫＮ＝ＩＧＫＮ）に設定しても良く、或は、遅角補正量ＩＮＪＫＮを、点火時期の遅角補正量ＩＧＫＮに補正係数を乗算して求めたり、点火時期の遅角補正量ＩＧＫＮに応じてテーブル等により求めるようにしても良い。
【００４８】
この後、ステップ３０３に進み、燃料噴射時期ＩＮＪの上下限チェックを行って、燃料噴射時期ＩＮＪが上限側及び下限側の補正ガード値を越えていればガード処理し、燃料噴射時期ＩＮＪを正常な成層燃焼を維持できるように上限側及び下限側の補正ガード値の範囲内に制限する。
【００４９】
尚、本ルーチンでは、ベース燃料噴射時期ＩＮＪｂａｓｅを遅角補正量ＩＮＪＫＮで遅角補正して燃料噴射時期ＩＮＪを求めた後に、その燃料噴射時期ＩＮＪの上下限チェックを行うようにしたが、遅角補正量ＩＮＪＫＮの上下限チェックを行った後に、その遅角補正量ＩＮＪＫＮでベース燃料噴射時期ＩＮＪｂａｓｅを遅角補正して燃料噴射時期ＩＮＪを求めるようにしても良い。
【００５０】
以上説明した本実施形態（１）によれば、図５に示すように、成層燃焼モード運転中にノッキングを検出する毎に、そのノッキングの検出レベルに応じて点火時期の遅角補正量ＩＧＫＮを増量して点火時期を遅角補正する共に、その点火時期の遅角補正量ＩＧＫＮに合わせて燃料噴射時期の遅角補正量ＩＮＪＫＮを設定して圧縮行程の燃料噴射時期を遅角補正する。これにより、成層燃焼モード運転中に、点火時期の遅角補正によってノッキングを抑制しながら、その点火時期の遅角補正に合わせた燃料噴射時期の遅角補正によって、噴射燃料が点火プラグ２２の近傍を流動するタイミングを点火時期に合わせることができる。その結果、成層燃焼モード運転中に、ノッキング抑制のための点火時期の遅角補正による失火や排気エミッションの悪化を、燃料噴射時期の遅角補正によって未然に防止することができる。しかも、成層燃焼モード運転中にノッキングを抑制する際に燃料噴射量を増量する必要がないので、成層燃焼モード運転の燃費節減効果も維持することができる。
【００５１】
《実施形態（２）》
次に、本発明の実施形態（２）を図６乃至図１３を用いて説明する。
一般に、点火時期や燃料噴射時期の補正可能範囲は、成層燃焼モード、成層２回噴射燃焼モード、均質燃焼モードの順に広くなるため、成層燃焼モードよりも成層２回噴射燃焼モードの方がノッキングを抑制しやすく、更に、成層２回噴射燃焼モードよりも均質燃焼モードの方がノッキングを抑制しやすくなる。
【００５２】
そこで、本実施形態（２）では、成層燃焼モード運転中に、ノッキングを抑制するための点火時期の遅角補正量ＩＧＫＮが所定の補正ガード値を越えたときには、成層燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードを成層燃焼モードから成層２回噴射燃焼モードに切り換えることによって、成層燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【００５３】
また、成層２回噴射燃焼モード運転中に、ノッキングを検出したときには、吸気行程で噴射する燃料と圧縮行程で噴射する燃料の分配率（燃料分配率）と吸気行程の燃料噴射時期を補正してノッキングを抑制するが、燃料分配率の分配率補正量ＫＫＮ又は吸気行程の燃料噴射時期の遅角補正量ＡＩＫＮが所定の補正ガード値を越えたときには、成層２回噴射燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードを成層２回噴射燃焼モードから均質燃焼モードに切り換えることによって、成層２回噴射燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【００５４】
以下、本実施形態（２）でＥＣＵ３０が実行する各ルーチンの処理内容を説明する。
図６に示す燃焼モード決定ルーチンは、前記実施形態（１）で説明した図２の燃焼モード決定ルーチンのステップ１０２と１０３の間にステップ１０２ａの処理を追加すると共に、ステップ１０４と１０５の間にステップ１０４ａの処理を追加したものであり、それ以外の各ステップの処理は図２と同じである。本ルーチンは、特許請求の範囲でいう第１の燃焼モード切換手段と第２の燃焼モード切換手段としての役割を果たす。
【００５５】
本ルーチンでは、ステップ１０２でエンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであると判定されたときに、ステップ１０２ａに進み、後述する点火遅角限界フラグがオンか否かを判定する。点火遅角限界フラグがオフであれば、ステップ１０３に進み、燃焼モードを成層燃焼モードに設定する。
【００５６】
一方、ステップ１０２ａで点火遅角限界フラグがオンされていると判定された場合、又は、ステップ１０４でエンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであると判定された場合には、ステップ１０４ａに進み、後述する燃料噴射遅角限界フラグ又は燃料分配率補正限界フラグがオンか否かを判定する。燃料噴射遅角限界フラグと燃料分配率補正限界フラグが両方ともオフであれば、ステップ１０５に進み、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであっても、燃焼モードを成層２回噴射燃焼モードに設定する。
【００５７】
これに対して、ステップ１０４ａで燃料噴射遅角限界フラグ又は燃料分配率補正限界フラグがオンされていると判定された場合には、ステップ１０６に進み、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モード又は成層２回噴射燃焼モードであっても、燃焼モードを均質燃焼モードに設定する。
【００５８】
図７に示す成層燃焼モード時の点火時期演算ルーチンは、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードのときに、所定周期で実行される。本ルーチンが起動されると、まず、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じたベース点火時期ＩＧｂａｓｅを算出した後、ノッキングが発生しているか否かを判定する（ステップ４０１、４０２）。もし、ノッキングが発生していなければ、ベース点火時期ＩＧｂａｓｅに対する遅角補正量ＩＧＫＮを所定量α１だけ減量し（ステップ４０３）、ノッキングが発生していれば、ベース点火時期ＩＧｂａｓｅに対する遅角補正量ＩＧＫＮを所定量β１だけ増量する（ステップ４０４）。
【００５９】
ステップ４０３又は４０４で遅角補正量ＩＧＫＮを減量又は増量した後、ステップ４０５に進み、遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１（遅角側限界値Ａ１）以上であるか否かを判定する。その結果、遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１以上であると判定された場合には、ステップ４０６に進み、遅角補正量ＩＧＫＮを上限側の補正ガード値Ａ１でガード処理して（ＩＧＫＮ＝Ａ１）、遅角補正量ＩＧＫＮを正常な成層燃焼を維持できる範囲内に制限した後、ステップ４０７に進み、点火遅角限界フラグをオンする。
【００６０】
点火遅角限界フラグがオンされたときには、成層燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードが成層燃焼モードから成層２回噴射燃焼モードに切り換えられる。これにより、成層燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
この後、ステップ４１２に進み、ベース点火時期ＩＧｂａｓｅを遅角補正量ＩＧＫＮだけ遅角補正して最終的な点火時期ＩＧを求める。
【００６１】
その後、ノッキングが抑制されて遅角補正量ＩＧＫＮが減量され、ステップ４０５で遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１よりも小さくなったと判定されたときには、点火遅角限界フラグのオン／オフの切換特性（成層燃焼モードと成層２回噴射燃焼モードの切換特性）にヒステリシスを持たせるために、ステップ４０８に進み、遅角補正量ＩＧＫＮが所定値Ｂ１以下であるか否かを判定する。この所定値Ｂ１は、上限側の補正ガード値Ａ１よりも少し小さい値に設定されている。
【００６２】
遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１よりも小さくなっても、遅角補正量ＩＧＫＮが所定値Ｂ１以下になるまでは、点火遅角限界フラグをオンに維持し、その後、遅角補正量ＩＧＫＮが所定値Ｂ１以下になった時点で、ステップ４０９に進み、点火遅角限界フラグをオフする。
【００６３】
点火遅角限界フラグがオフされると、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであれば、燃焼モードが成層２回噴射燃焼モードから成層燃焼モードに戻される。
【００６４】
この後、ステップ４１０に進み、遅角補正量ＩＧＫＮが下限側の補正ガード値Ｃ１以下か否かを判定する。遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１と下限側の補正ガード値Ｃ１の範囲内にあるときは（Ａ１＞ＩＧＫＮ＞Ｃ１）、上記ステップ４０３又は４０４で算出した遅角補正量ＩＧＫＮをそのまま採用して、ステップ４１２に進み、最終的な点火時期ＩＧを求める。
【００６５】
一方、遅角補正量ＩＧＫＮが下限側の補正ガード値Ｃ１以下であると判定された場合には、ステップ４１１に進み、遅角補正量ＩＧＫＮを下限側の補正ガード値Ｃ１でガード処理して（ＩＧＫＮ＝Ｃ１）、遅角補正量ＩＧＫＮを正常な成層燃焼を維持できる範囲内に制限した後、ステップ４１２に進み、最終的な点火時期ＩＧを求める。
【００６６】
図８に示す成層２回噴射燃焼モード時の燃料噴射量演算ルーチンは、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードのとき、及び、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであっても、ノッキングを抑制するために成層２回噴射燃焼モードに切り換えられているときに所定周期で実行される。
【００６７】
本ルーチンが起動されると、まずステップ５０１で、ベース燃料分配率Ｋｂａｓｅのマップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じた燃料分配率Ｋｂａｓｅを求める。この燃料分配率Ｋｂａｓｅは、トータル燃料噴射量Ｑｔｏｔａｌ（吸気行程の燃料噴射量ＱＩ＋圧縮行程の燃料噴射量ＱＣ）に対する吸気行程の燃料噴射量ＱＩの割合である。
【００６８】
一般に、エンジン１１の負荷（吸入空気量）が大きくなるほど、筒内に吸入される空気の流速が速くなり、それに伴って、点火プラグ２２近傍の燃料濃度が燃焼可能領域となる期間（図９参照）が短くなって、点火時期を変更（遅角補正又は進角補正）できる期間が短くなる。このように、高負荷域で点火時期を変更できる期間が短くなれば、ノッキング発生時に点火時期を遅角補正できる幅が狭くなってしまい、高負荷域におけるノッキング抑制効果が低下する結果となる。
【００６９】
そこで、ベース燃料分配率Ｋｂａｓｅのマップの特性は、エンジン１１の負荷（吸入空気量）が大きくなるほど、ベース燃料分配率Ｋｂａｓｅ（吸気行程噴射の燃料割合）が大きくなるように設定されている。ベース燃料分配率Ｋｂａｓｅ（吸気行程噴射の燃料割合）が大きくなれば、圧縮行程開始当初から点火プラグ２２近傍の燃料濃度をある程度高めることができるので（図９参照）、圧縮行程中に点火プラグ２２近傍の燃料濃度が燃焼可能領域となる期間を広げることができて、点火時期を変更（遅角補正又は進角補正）できる期間を広げることができる。これにより、高負荷域でもノッキング発生時に点火時期を遅角補正できる幅を確保することができて、高負荷域におけるノッキング抑制効果の低下を防止することができる。
【００７０】
ベース燃料分配率Ｋｂａｓｅを算出した後、ステップ５０２に進み、ノッキングが発生しているか否かを判定し、ノッキングが発生していなければ、ステップ５０３に進み、次式によりベース燃料分配率Ｋｂａｓｅに対する分配率補正量ＫＫＮを所定量α２だけ減量する。
ＫＫＮ（ｉ）＝ＫＫＮ（ｉ−１）−α２
【００７１】
これに対して、ステップ５０２で、ノッキングが発生していると判定された場合には、ステップ５０４に進み、吸気行程の燃料噴射量ＱＩを減量してノッキングを抑制するために、次式によりベース燃料分配率Ｋｂａｓｅに対する分配率補正量ＫＫＮを所定量β２だけ増量する。
ＫＫＮ（ｉ）＝ＫＫＮ（ｉ−１）＋β２
【００７２】
尚、所定量β２は、固定値（例えばβ２＝α２）としても良いが、ノッキングの検出レベルが大きいほど所定量β２を大きくして分配率補正量ＫＫＮが大きくなるようにしても良い。
【００７３】
後述するステップ５１２の処理により分配率補正量ＫＫＮが大きくなるほど燃料分配率Ｋ（吸気行程の燃料噴射量ＱＩ）が小さくなるため、分配率補正量ＫＫＮを大きくして吸気行程の燃料噴射量ＱＩを自己着火しないレベルまで減量することでノッキングを抑制できるようにする。
【００７４】
ステップ５０３又は５０４で分配率補正量ＫＫＮを減量又は増量した後、ステップ５０５に進み、分配率補正量ＫＫＮが上限側の補正ガード値Ａ２以上であるか否かを判定する。その結果、分配率補正量ＫＫＮが上限側の補正ガード値Ａ２以上であると判定された場合には、ステップ５０６に進み、分配率補正量ＫＫＮを上限側の補正ガード値Ａ２でガード処理して（ＫＫＮ＝Ａ２）、分配率補正量ＫＫＮを正常な成層２回噴射燃焼を維持できる範囲内に制限した後、ステップ５０７に進み、燃料分配率補正限界フラグをオンする。
【００７５】
燃料分配率補正限界フラグがオンされたときには、成層２回噴射燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードが成層２回噴射燃焼モードから均質燃焼モードに切り換えられる。これにより、成層２回噴射燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【００７６】
この後、ステップ５１２に進み、ベース燃料分配率Ｋｂａｓｅから分配率補正量ＫＫＮだけ減算して最終的な燃料分配率Ｋを求める。
Ｋ＝Ｋｂａｓｅ−ＫＫＮ（ｉ）
【００７７】
本実施形態（２）では、成層２回噴射燃焼モード運転中に、負荷（吸入空気量）が大きくなるほど、ベース燃料分配率Ｋｂａｓｅ（吸気行程噴射の燃料割合）が大きくなるように設定されているため、最終的な燃料分配率Ｋも、負荷（吸入空気量）が大きくなるほど大きくなる。
【００７８】
この後、ステップ５１３に進み、トータル燃料噴射量Ｑｔｏｔａｌに燃料分配率Ｋを乗算して吸気行程の燃料噴射量ＱＩを求めると共に、トータル燃料噴射量Ｑｔｏｔａｌに燃料分配率（１−Ｋ）を乗算して圧縮行程の燃料噴射量ＱＣを求める。
ＱＩ＝Ｑｔｏｔａｌ×Ｋ
ＱＣ＝Ｑｔｏｔａｌ×（１−Ｋ）
【００７９】
その後、ノッキングが抑制されて分配率補正量ＫＫＮが減量され、ステップ５０５で分配率補正量ＫＫＮが上限側の補正ガード値Ａ２よりも小さくなったと判定されたときには、燃料分配率補正限界フラグのオン／オフの切換特性（成層２回噴射燃焼モードと均質燃焼モードの切換特性）にヒステリシスを持たせるために、ステップ５０８に進み、分配率補正量ＫＫＮが所定値Ｂ２以下であるか否かを判定する。この所定値Ｂ２は、上限側の補正ガード値Ａ２よりも少し小さい値に設定されている。
【００８０】
分配率補正量ＫＫＮが上限側の補正ガード値Ａ２よりも小さくなっても、分配率補正量ＫＫＮが所定値Ｂ２以下になるまでは、燃料分配率補正限界フラグをオンに維持し、その後、分配率補正量ＫＫＮが所定値Ｂ２以下になった時点で、ステップ５０９に進み、燃料分配率補正限界フラグをオフする。
【００８１】
燃料分配率補正限界フラグがオフされると、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであれば、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに戻される。
【００８２】
この後、ステップ５１０に進み、分配率補正量ＫＫＮが下限側の補正ガード値Ｃ２以下か否かを判定する。分配率補正量ＫＫＮが上限側の補正ガード値Ａ２と下限側の補正ガード値Ｃ２の範囲内にあるときは（Ａ２＞ＫＫＮ＞Ｃ２）、上記ステップ５０３又は５０４で算出した分配率補正量ＫＫＮをそのまま採用して、ステップ５１２に進み、最終的な燃料分配率Ｋを算出した後、ステップ５１３に進み、吸気行程の燃料噴射量ＱＩと圧縮行程の燃料噴射量ＱＣを算出する。
【００８３】
一方、分配率補正量ＫＫＮが下限側の補正ガード値Ｃ２以下であると判定された場合には、ステップ５１１に進み、分配率補正量ＫＫＮを下限側の補正ガード値Ｃ２でガード処理して（ＫＫＮ＝Ｃ２）、分配率補正量ＫＫＮを正常な成層２回噴射燃焼を維持できる範囲内に制限した後、ステップ５１２に進み、最終的な燃料分配率Ｋを算出した後、ステップ５１３に進み、吸気行程の燃料噴射量ＱＩと圧縮行程の燃料噴射量ＱＣを算出する。
【００８４】
尚、本ルーチンでは、ノッキングを検出したときに、燃料分配率Ｋを小さくして（分配率補正量ＫＫＮを大きくして）、吸気行程の燃料噴射量ＱＩを自己着火しないレベルまで減量することでノッキングを抑制するようにしたが、これとは反対に、ノッキングを検出したときに、燃料分配率Ｋを大きくして（分配率補正量ＫＫＮを小さくして）、吸気行程の燃料噴射量ＱＩを増量して吸気行程の噴射燃料の気化熱によって筒内温度を下げることでノッキングを抑制するようにしても良い。
【００８５】
また、ノッキング検出時に吸気行程の燃料噴射量ＱＩを減量する場合と燃料噴射量ＱＩを増量する場合とを、エンジン運転状態等に応じて切り換えるようにしても良い。
【００８６】
図１０に示す成層２回噴射燃焼モード時の燃料噴射時期演算ルーチンは、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードのとき、及び、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであっても、ノッキングを抑制するために成層２回噴射燃焼モードに切り換えられているときに、所定周期で実行される。本ルーチンが起動されると、まず、ステップ６０１で、圧縮行程の燃料噴射時期ＡＣｂａｓｅのマップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じた圧縮行程の燃料噴射時期ＡＣｂａｓｅを求める。
【００８７】
この後、ステップ６０２に進み、吸気行程のベース燃料噴射時期ＡＩｂａｓｅのマップを検索して、現在のエンジン運転状態（例えばエンジン回転速度Ｎｅと負荷）に応じた吸気縮行程のベース燃料噴射時期ＡＩｂａｓｅを求める。
【００８８】
この後、ステップ６０３に進み、ノッキングが発生したか否かを判定する。ノッキングが発生していなければ、ステップ６０４に進み、次式により吸気縮行程のベース燃料噴射時期ＡＩｂａｓｅに対する遅角補正量ＡＩＫＮを所定量α３だけ減量する。
ＡＩＫＮ（ｉ）＝ＡＩＫＮ（ｉ−１）−α３
【００８９】
これに対して、ステップ６０３で、ノッキングが発生していると判定された場合には、ステップ６０５に進み、次式により吸気縮行程のベース燃料噴射時期ＡＩｂａｓｅに対する遅角補正量ＡＩＫＮを所定量β３だけ増量する。
ＡＩＫＮ（ｉ）＝ＡＩＫＮ（ｉ−１）＋β３
【００９０】
尚、所定量β３は、固定値（例えばβ３＝α３）としても良いが、ノッキングの検出レベルが大きいほど所定量β３を大きくして遅角補正量ＡＩＫＮが大きくなるようにしても良い。
【００９１】
ステップ６０４又は６０５で遅角補正量ＡＩＫＮを減量又は増量した後、ステップ６０６に進み、遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３（遅角側限界値Ａ３）以上であるか否かを判定する。その結果、遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３以上であると判定された場合には、ステップ６０７に進み、遅角補正量ＡＩＫＮを上限側の補正ガード値Ａ３でガード処理して（ＡＩＫＮ＝Ａ３）、遅角補正量ＡＧＫＮを正常な成層２回噴射燃焼を維持できる範囲内に制限した後、ステップ６０８に進み、燃料噴射遅角限界フラグをオンする。
【００９２】
燃料噴射遅角限界フラグがオンされたときには、成層２回噴射燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードが成層２回噴射燃焼モードから均質燃焼モードに切り換えられる。これにより、成層２回噴射燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【００９３】
この後、ステップ６１３に進み、次式により吸気行程のベース燃料噴射時期ＡＩｂａｓｅを遅角補正量ＡＩＫＮだけ遅角補正して最終的な吸気行程の燃料噴射時期ＡＩを求める。
ＡＩ＝ＡＩｂａｓｅ−ＡＩＫＮ（ｉ）
【００９４】
その後、ノッキングが抑制されて遅角補正量ＡＩＫＮが減量され、ステップ６０６で遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３よりも小さくなったと判定されたときには、燃料噴射遅角限界フラグのオン／オフの切換特性（成層２回噴射燃焼モードと均質燃焼モードの切換特性）にヒステリシスを持たせるために、ステップ６０９に進み、遅角補正量ＡＩＫＮが所定値Ｂ３以下であるか否かを判定する。この所定値Ｂ３は、上限側の補正ガード値Ａ３よりも少し小さい値に設定されている。
【００９５】
遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３よりも小さくなっても、遅角補正量ＡＩＫＮが所定値Ｂ３以下になるまでは、燃料噴射遅角限界フラグをオンに維持し、その後、遅角補正量ＡＩＫＮが所定値Ｂ３以下になった時点で、ステップ６１０に進み、燃料噴射遅角限界フラグをオフする。
【００９６】
燃料噴射遅角限界フラグがオフされると、図６の燃焼モード決定ルーチンによってエンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであれば、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに戻される。
【００９７】
この後、ステップ６１１に進み、遅角補正量ＡＩＫＮが下限側の補正ガード値Ｃ３以下か否かを判定する。遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３と下限側の補正ガード値Ｃ３の範囲内にあるときは（Ａ３＞ＡＩＫＮ＞Ｃ３）、上記ステップ６０４又は６０５で算出した遅角補正量ＡＩＫＮをそのまま採用して、ステップ６１３に進み、最終的な吸気行程の燃料噴射時期ＡＩを求める。
【００９８】
一方、遅角補正量ＡＩＫＮが下限側の補正ガード値Ｃ３以下であると判定された場合には、ステップ６１２に進み、遅角補正量ＡＩＫＮを下限側の補正ガード値Ｃ３でガード処理して（ＡＩＫＮ＝Ｃ３）、遅角補正量ＡＩＫＮを正常な成層２回噴射燃焼を維持できる範囲内に制限した後、ステップ６１３に進み、最終的な吸気行程の燃料噴射時期ＡＩを求める。
【００９９】
これら図８の成層２回噴射燃焼モード時の燃料噴射量演算ルーチン及び図１０の成層２回噴射燃焼モード時の燃料噴射時期演算ルーチンが特許請求の範囲でいう成層２回噴射燃焼モード用ノッキング抑制制御手段としての役割を果たす。
【０１００】
以上説明した本実施形態（２）のノッキング抑制制御を図１１〜図１３のタイムチャートを用いて説明する。図１１のタイムチャートに示すように、エンジン運転中は、ノッキングが検出される毎に、そのノッキングの検出レベルに応じて点火時期の遅角補正量ＩＧＫＮが設定されて、点火時期が遅角補正され、ノッキングが抑制される。そして、ノッキングが検出されない期間は、燃費・出力の向上を狙って、点火時期の遅角補正量ＩＧＫＮが徐々に減量され、点火時期が徐々に進角される。
【０１０１】
そして、成層燃焼モード運転中に、ノッキングが発生して点火時期の遅角補正量ＩＧＫＮが上限側の補正ガード値Ａ１を越えると、点火遅角限界フラグがオンされる。この時点で、成層燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードを成層燃焼モードから成層２回噴射燃焼モードに切り換える。これにより、成層燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【０１０２】
その後、ノッキングが抑制されて遅角補正量ＩＧＫＮが所定値Ｂ１以下に減量されると、点火遅角限界フラグがオフされる。この時点で、燃焼モードが成層２回噴射燃焼モードから成層燃焼モードに戻される。
【０１０３】
また、図１２のタイムチャートに示すように、成層２回噴射燃焼モード運転中にノッキングを検出する毎に、そのノッキングの検出レベルに応じて分配率補正量ＫＫＮを大きくして、吸気行程の燃料噴射量ＱＩに対する燃料分配率Ｋを小さくすることで、吸気行程の燃料噴射量ＱＩを自己着火しないように減量する。これにより、ノッキングを抑制すると共に、吸気行程の燃料噴射量ＱＩの減量分だけ、圧縮行程の燃料噴射量ＱＣを増量して、出力トルクを維持する。
【０１０４】
更に、この成層２回噴射燃焼モード運転中は、図１３のタイムチャートに示すように、ノッキングを検出する毎に、そのノッキングの検出レベルに応じて吸気行程の噴射時期遅角補正量ＡＩＫＮを増量して吸気行程の燃料噴射時期ＡＩを遅角させ、ノッキングが検出されない期間は、吸気行程の噴射時期遅角補正量ＡＩＫＮを徐々に減量して吸気行程の燃料噴射時期ＡＩを進角させる。
【０１０５】
このように、成層２回噴射燃焼モード運転中は、ノッキングの有無に応じて吸気行程の燃料噴射時期ＡＩが補正されるが、圧縮行程の燃料噴射時期ＡＣは補正されない。
【０１０６】
そして、図１２のタイムチャートに示すように、成層２回噴射燃焼モード運転中に分配率補正量ＫＫＮが上限側の補正ガード値Ａ２を越えると、燃料分配率補正限界フラグがオンされる。この時点で（又は噴射時期遅角補正量ＡＩＫＮが上限側の補正ガード値Ａ３を越えて燃料噴射遅角限界フラグがオンされた時点で）、成層２回噴射燃焼モードのままではノッキングを抑制しきれないと判断して、燃焼モードを成層２回噴射燃焼モードから均質燃焼モードに切り換える。これにより、成層２回噴射燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【０１０７】
その後、ノッキングが抑制されて分配率補正量ＫＫＮが所定値Ｂ２以下に減量されると、燃料分配率補正限界フラグがオフされる。この時点で（又は噴射時期遅角補正量ＡＩＫＮが所定値Ｂ３以下になって燃料噴射遅角限界フラグがオフされた時点で）、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに戻される。
【０１０８】
以上のようにして、本実施形態（２）では、ノッキング抑制具合によって、燃焼モードを成層燃焼モード→成層２回噴射燃焼モード→均質燃焼モードの順に切り換えるので、成層燃焼モードで抑制しきれないノッキングや成層２回噴射燃焼モードで抑制しきれないノッキングも抑制することができる。
【０１０９】
しかも、本実施形態（２）では、燃焼モードを切り換える際の判定値（点火遅角限界フラグ、燃料分配率補正限界フラグ、燃料噴射遅角限界フラグのオン／オフを切り換える際の判定値）にヒステリシスを持たせるようにしたので、燃焼モードが頻繁に切り換わるチャタリング現象を回避することができる。
【０１１０】
更に、本実施形態（２）では、成層２回噴射燃焼モード運転中に、負荷（吸入空気量）が大きくなるほど、ベース燃料分配率Ｋｂａｓｅ（吸気行程噴射の燃料割合）が大きくなるように設定されるため、高負荷域でも、点火時期を変更（遅角補正又は進角補正）できる期間を確保することができる。これにより、高負荷域でもノッキング発生時に点火時期を遅角補正できる幅を確保することができ、高負荷域におけるノッキング抑制効果の低下を防止することができる。
【０１１１】
尚、本実施形態（２）において、成層燃焼モード運転中に、圧縮行程の燃料噴射時期の遅角補正量が所定の補正ガード値を越えたときに、成層燃焼モードから成層２回噴射燃焼モードに切り換えるようにしても良い。また、成層燃焼モード運転中に、点火時期や燃料噴射時期の遅角補正量が所定の補正ガード値を越えたときに、成層燃焼モードから均質燃焼モードに切り換えるようにしても良い。
【０１１２】
また、本実施形態（２）では、点火時期、燃料噴射時期、燃料分配率の補正量が所定の補正ガード値を越えたときに、燃焼モードを切り換えるようにしたが、点火時期、燃料噴射時期、燃料分配率の補正結果（補正後の値）が所定のガード値を越えたときに、燃焼モードを切り換えるようにしても良い。
【０１１３】
また、点火時期、燃料噴射時期、燃料分配率の補正量又は補正結果が、ガード値とは別に設定された判定値を越えたときに、燃焼モードを切り換えるようにしても良い。
また、成層燃焼モード運転中に、ノッキングを検出したときに、成層燃焼モードから均質燃焼モードに切り換えるようにしても良い。
【０１１４】
《実施形態（３）》
前記実施形態（２）では、点火時期の遅角補正量や燃料分配率の分配率補正量が所定の補正ガード値を越えたときに、燃焼モードを切り換えるようにしたが、図１４乃至図１８に示す本発明の実施形態（３）では、点火時期の遅角補正量や燃料分配率の分配率補正量を学習し、それらの学習値が所定の判定値を越えたときに、燃焼モードを切り換えるようにしている。
【０１１５】
図１４に示す点火時期の遅角補正量学習ルーチンは、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードのときに、所定周期で実行され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ７０１で、定常運転状態が所定時間以上継続したか否かを判定する。この際、定常運転状態であるか否かは、例えば、要求トルク、エンジン回転速度、吸入空気量等の変化量が所定範囲内であるか否かによって判定する。定常運転状態が所定時間以上継続していなければ、以降の学習処理（ステップ７０２〜７０９）を実行することなく本ルーチンを終了する。
【０１１６】
もし、ステップ７０１で定常運転状態が所定時間以上継続したと判定されれば、ステップ７０２以降の学習処理を実行して、点火時期の遅角補正量ＩＧＫＮの学習値ＧＩＧ（遅角補正量学習値ＧＩＧ）を更新する。この遅角補正量学習値ＧＩＧは、図１６に示すように、エンジン回転速度Ｎｅと負荷とをパラメータとする運転領域毎に設定され、次回の遅角補正量ＩＧＫＮの算出に反映される。
【０１１７】
点火時期の遅角補正量ＩＧＫＮの学習処理を行う場合は、まずステップ７０２で、点火時期の遅角補正量ＩＧＫＮが所定値Ｋ１よりも大きい（遅角側）か否かを判定する。遅角補正量ＩＧＫＮが所定値Ｋ１よりも大きければ、ステップ７０３に進み、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の遅角補正量学習値ＧＩＧに所定量α４を加算して、その運転領域の遅角補正量学習値ＧＩＧを更新した後、ステップ７０６に進む。
ＧＩＧ（ｉ）＝ＧＩＧ（ｉ−１）＋α４
【０１１８】
これに対し、ステップ７０２で、点火時期の遅角補正量ＩＧＫＮが所定値Ｋ１以下であると判定された場合には、ステップ７０４に進み、点火時期の遅角補正量ＩＧＫＮが所定値Ｋ２よりも小さい（進角側）か否かを判定する。ここで、所定値Ｋ２は所定値Ｋ１よりも小さい値に設定されている。
【０１１９】
このステップ７０４で、遅角補正量ＩＧＫＮが所定値Ｋ２よりも小さいと判定された場合は、ステップ７０５に進み、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の遅角補正量学習値ＧＩＧから所定量β４だけ減算して、その運転領域の遅角補正量学習値ＧＩＧを更新した後、ステップ７０６に進む。
ＧＩＧ（ｉ）＝ＧＩＧ（ｉ−１）−β４
【０１２０】
尚、点火時期の遅角補正量ＩＧＫＮが所定値Ｋ２から所定値Ｋ１までの範囲内（Ｋ２≦ＩＧＫＮ≦Ｋ１）と判定された場合には、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の遅角補正量学習値ＧＩＧを補正せずに、ステップ７０６に進む。
【０１２１】
このステップ７０６では、遅角補正量学習値ＧＩＧの上下限チェックを行って、遅角補正量学習値ＧＩＧが下限側ガード値Ｃ１と上限側ガード値Ｃ２の範囲を越えていればその範囲内に制限した後、ステップ７０７に進み、遅角補正量学習値ＧＩＧが遅角側判定値Ｄ１よりも大きいか否かを判定する。
【０１２２】
その結果、遅角補正量学習値ＧＩＧが遅角側判定値Ｄ１よりも大きいと判定された場合には、ステップ７０８に進み、点火遅角限界フラグをオンする。これにより、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであっても、燃焼モードが成層燃焼モードから成層２回噴射燃焼モードに切り換えられ、成層燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【０１２３】
その後、ノッキングが抑制されて遅角補正量学習値ＧＩＧが減量され、ステップ７０７で遅角補正量学習値ＧＩＧが遅角側判定値Ｄ１以下になったと判定された時点で、ステップ７０８に進み、点火遅角限界フラグをオフする。これにより、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであれば、燃焼モードが成層２回噴射燃焼モードから成層燃焼モードに戻される。
【０１２４】
図１５に示す分配率補正量学習ルーチンは、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードのとき、及び、エンジン運転状態に応じて選択した燃焼モードが成層燃焼モードであっても、ノッキングを抑制するために成層２回噴射燃焼モードに切り換えられているときに、所定周期で実行され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ８０１で、定常運転状態が所定時間以上継続したか否かを判定する。定常状態が所定時間以上継続していなければ、以降の学習処理（ステップ８０２〜８０９）を実行することなく本ルーチンを終了する。
【０１２５】
もし、ステップ８０１で定常運転状態が所定時間以上継続したと判定されれば、ステップ８０２以降の学習処理を実行して、燃料分配率の分配率補正量ＫＫＮの学習値ＧＫ（分配率補正量学習値ＧＫ）を更新する。この分配率補正量学習値ＧＫは、図１７に示すように、エンジン回転速度Ｎｅと負荷とをパラメータとする運転領域毎に設定され、次回の分配率補正量ＫＫＮの算出に反映される。
【０１２６】
分配率補正量ＫＫＮの学習処理を行う場合は、まずステップ８０２で、分配率補正量ＫＫＮが所定値Ｂ１よりも大きいか否かを判定する。分配率補正量ＫＫＮが所定値Ｂ１よりも大きければ、ステップ８０３に進み、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の分配率補正量学習値ＧＫに所定量α５を加算して、その運転領域の分配率補正量学習値ＧＫを更新した後、ステップ８０６に進む。
ＧＫ（ｉ）＝ＧＫ（ｉ−１）＋α５
【０１２７】
これに対して、ステップ８０２で、分配率補正量ＫＫＮが所定値Ｂ１以下であると判定された場合には、ステップ８０４に進み、分配率補正量ＫＫＮが所定値Ｂ２よりも小さいか否かを判定する。ここで、所定値Ｂ２は所定値Ｂ１よりも小さい値に設定されている。
【０１２８】
このステップ８０４で、分配率補正量ＫＫＮが所定値Ｂ２よりも小さいと判定された場合は、ステップ８０５に進み、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の分配率補正量学習値ＧＫから所定量β５だけ減算して、その運転領域の分配率補正量学習値ＧＫを更新した後、ステップ８０６に進む。
ＧＫ（ｉ）＝ＧＫ（ｉ−１）−β５
【０１２９】
尚、分配率補正量ＫＫＮが所定値Ｂ２から所定値Ｂ１までの範囲内（Ｂ２≦ＫＫＮ≦Ｂ１）と判定された場合には、現在のエンジン運転状態（Ｎｅ，負荷）に対応した運転領域の分配率補正量学習値ＧＫを補正せずに、ステップ８０６に進む。
【０１３０】
このステップ８０６では、分配率補正量学習値ＧＫの上下限チェックを行って、分配率補正量学習値ＧＫが下限側ガード値Ｅ１と上限側ガード値Ｅ２の範囲を越えていればその範囲内に制限した後、ステップ８０７に進み、分配率補正量学習値ＧＫが減量側判定値Ｆ１よりも大きいか否かを判定する。
【０１３１】
その結果、分配率補正量学習値ＧＫが減量側判定値Ｆ１よりも大きいと判定された場合には、ステップ８０８に進み、燃料分配率補正限界フラグをオンする。これにより、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであっても、燃焼モードが成層２回噴射燃焼モードから均質燃焼モードに切り換えられ、成層２回噴射燃焼モードでは抑制しきれないノッキングを抑制できるようにする。
【０１３２】
その後、ノッキングが抑制されて分配率補正量学習値ＧＫが減量され、ステップ８０７で分配率補正量学習値ＧＫが減量側判定値Ｆ１以下になったと判定されたときに、ステップ８０８に進み、燃料分配率補正限界フラグをオフする。これにより、図６の燃焼モード決定ルーチンによって、エンジン運転状態に応じて選択した燃焼モードが成層２回噴射燃焼モードであれば、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに戻される。
【０１３３】
以上説明した本実施形態（３）のノッキング抑制制御を図１８のタイムチャートを用いて説明する。エンジン運転中にノッキングが検出される毎に、そのノッキングの検出レベルに応じて点火時期の遅角補正量ＩＧＫＮが設定されて、点火時期が遅角補正され、ノッキングが抑制される。そして、ノッキングが検出されない期間は、燃費・出力の向上を狙って、点火時期の遅角補正量ＩＧＫＮが徐々に減量され、点火時期が徐々に進角される。
【０１３４】
更に、定常運転状態が所定時間継続する毎に、点火時期の遅角補正量ＩＧＫＮを学習し、その学習値ＧＩＧを更新する。そして、この点火時期の遅角補正量学習値ＧＩＧが遅角側判定値Ｄ１を越えると、点火遅角限界フラグがオンされる。このようにして、例えば成層燃焼モード運転中に点火遅角限界フラグがオンされると、燃焼モードが成層燃焼モードから成層２回噴射燃焼モードに切り換えられる。また、この成層２回噴射燃焼モード運転中に点火遅角限界フラグがオンされると、燃焼モードが成層２回噴射燃焼モードから均質燃焼モードに切り換えられる。
【０１３５】
その後、遅角補正量学習値ＧＩＧが遅角側判定値Ｄ１以下になると、点火遅角限界フラグがオフされる。このようにして、例えば均質燃焼モード運転中に点火遅角限界フラグがオフされると、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに切り換えられる。また、成層２回噴射燃焼モード運転中に点火遅角限界フラグがオフされると、燃焼モードが成層２回噴射燃焼モードから成層燃焼モードに切り換えられる。
【０１３６】
また、成層２回噴射燃焼モード運転中は、定常運転状態が所定時間継続する毎に、燃料分配率補正量ＫＫＮを学習し、その学習値ＧＫが減量側判定値Ｆ１を越えると、燃料噴射分配率補正限界フラグがオンされる。これにより、燃焼モードが成層２回噴射燃焼モードから均質燃焼モードに切り換えられる。その後、分配率補正量学習値ＧＫが減量側判定値Ｆ１以下になると、燃料噴射分配率補正限界フラグがオフされ、燃焼モードが均質燃焼モードから成層２回噴射燃焼モードに戻される。
【０１３７】
遅角補正量学習値ＧＩＧや分配率補正量学習値ＧＫの更新は、定常運転状態が所定時間継続するするまで行われないため、これらの学習値ＧＩＧ，ＧＫの更新周期は遅角補正量ＩＧＫＮや分配率補正量ＫＮＫの演算周期よりもかなり長くなる。このため、本実施形態（３）のように、遅角補正量学習値ＧＩＧや分配率補正量学習値ＧＫを所定の判定値Ｄ１，Ｆ１と比較して燃焼モードを切り換えるようにすれば、燃焼モードが頻繁に切り換わるチャタリング現象を回避することができる。
【０１３８】
尚、本実施形態（３）は、成層燃焼モード運転中に、圧縮行程の燃料噴射時期の遅角補正量を学習し、その学習値が所定の遅角側判定値を越えたときに、成層燃焼モードから成層２回噴射燃焼モードに切り換えるようにしても良い。また、成層２回噴射燃焼モード運転中に、吸気行程の燃料噴射時期の遅角補正量を学習し、その学習値が所定の遅角側判定値を越えたときに、成層２回噴射燃焼モードから均質燃焼モードに切り換えるようにしても良い。
【０１３９】
また、成層燃焼モード運転中に、点火時期や燃料噴射時期の遅角補正量学習値が所定の遅角側判定値を越えたときに、成層燃焼モードから均質燃焼モードに切り換えるようにしても良い。
また、点火時期、燃料噴射時期、燃料分配率の補正量学習値が、所定のガード値を越えたときに、燃焼モードを切り換えるようにしても良い。
【０１４０】
尚、図１のシステム構成例では、ノックセンサ３２でノッキングを検出するようにしたが、例えば、燃焼時に筒内で発生するイオン電流を点火プラグ等で検出してそのイオン電流からノッキングを検出するようにしたり、或は、筒内圧力を検出する筒内圧力センサの出力に基づいてノッキングを検出するようにしても良い等、ノッキング検出手段は種々の変更が可能である。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】実施形態（１）の燃焼モード決定ルーチンの処理の流れを示すフローチャート
【図３】実施形態（１）の成層燃焼モード時の点火時期演算ルーチンの処理の流れを示すフローチャート
【図４】実施形態（１）の成層燃焼モード時の燃料噴射時期演算ルーチンの処理の流れを示すフローチャート
【図５】実施形態（１）のノッキング抑制制御の実行例を示すタイムチャート
【図６】実施形態（２）の燃焼モード決定ルーチンの処理の流れを示すフローチャート
【図７】実施形態（２）の成層燃焼モード時の点火時期演算ルーチンの処理の流れを示すフローチャート
【図８】実施形態（２）の成層２回噴射燃焼モード時の燃料噴射量演算ルーチンの処理の流れを示すフローチャート
【図９】成層燃焼モードと成層２回噴射燃焼モードにおける圧縮行程中の点火プラグ周辺の燃料濃度の変化特性を説明する図
【図１０】実施形態（２）の成層２回噴射燃焼モード時の燃料噴射時期演算ルーチンの処理の流れを示すフローチャート
【図１１】実施形態（２）の点火時期補正の実行例を示すタイムチャート
【図１２】実施形態（２）の燃料分配率補正の実行例を示すタイムチャート
【図１３】実施形態（２）の燃料噴射時期補正の実行例を示すタイムチャート
【図１４】実施形態（３）の点火時期の遅角補正量学習ルーチンの処理の流れを示すフローチャート
【図１５】実施形態（３）の分配率補正量学習ルーチンの処理の流れを示すフローチャート
【図１６】実施形態（３）の点火時期の遅角補正量学習値のマップを概念的に示す図
【図１７】実施形態（３）の分配率補正量学習値のマップを概念的に示す図
【図１８】実施形態（３）の点火時期の遅角補正量学習値による燃料モード切換の実行例を示すタイムチャート
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、２１…燃料噴射弁、２２…点火プラグ、２５…排気管、３０…ＥＣＵ（成層燃焼モード用ノッキング抑制制御手段，第１の燃焼モード切換手段，第２の燃焼モード切換手段，第３の燃焼モード切換手段，成層２回噴射燃焼モード用ノッキング抑制制御手段，学習手段）、３２…ノックセンサ（ノッキング検出手段）。
【図１】
2004003429.tif 000003
【図２】
2004003429.tif 000004
【図３】
2004003429.tif 000005
【図４】
2004003429.tif 000006
【図５】
2004003429.tif 000007
【図６】
2004003429.tif 000008
【図７】
2004003429.tif 000009
【図８】
2004003429.tif 000010
【図９】
2004003429.tif 000011
【図１０】
2004003429.tif 000012
【図１１】
2004003429.tif 000013
【図１２】
2004003429.tif 000014
【図１３】
2004003429.tif 000015
【図１４】
2004003429.tif 000016
【図１５】
2004003429.tif 000017
【図１６】
2004003429.tif 000018
【図１７】
2004003429.tif 000019
【図１８】
2004003429.tif 000020