(57)【要約】【課題】燃焼モードの切換えが行われても、ブレーキの制動力の速やかな増大と内燃機関の安定した運転状態をともに確保できる内燃機関の制御装置を提供する。【解決手段】ブレーキブースタ９を備える筒内噴射式の内燃機関の制御装置１であって、内燃機関３の運転状態ＮＥ、ＡＰを検出する運転状態検出手段２、２４、３２と、運転状態に応じて、内燃機関３の要求出力PMCMDREGを算出する要求出力算出手段２と、要求出力に応じて、内燃機関３を、均一燃焼モード、成層燃焼モードおよび２回噴射燃焼モードのいずれかに決定する燃焼モード決定手段２と、ブレーキブースタ９内の負圧を増大すべき負圧要求を検出する負圧要求検出手段２と、負圧要求が検出されているときには、検出されていないときよりも２回噴射燃焼モードを実行する移行期間＃CMODDSLを長く設定する移行期間設定手段２と、を備えている。【選択図】  図１
2004190649.tif 000002
【特許請求の範囲】
【請求項１】
気筒内への燃料噴射を、吸気行程中に行う均一燃焼モードと、圧縮行程中に行う成層燃焼モードと、前記均一燃焼モードおよび前記成層燃焼モードを切り換える際の移行期間中において１サイクル内の吸気行程中および圧縮行程中に１回ずつ行う２回噴射燃焼モードとのいずれかの燃焼モードによって運転されるとともに、吸気管内から導入した負圧によってブレーキの制動力を増大させるためのブレーキブースタを備える筒内噴射式の内燃機関の制御装置であって、
当該内燃機関の運転状態を検出する運転状態検出手段と、
当該検出された運転状態に応じて、前記内燃機関の要求出力を算出する要求出力算出手段と、
当該算出された前記内燃機関の要求出力に応じて、前記内燃機関の燃焼モードを、前記均一燃焼モード、前記成層燃焼モードおよび前記２回噴射燃焼モードのいずれかに決定する燃焼モード決定手段と、
前記ブレーキブースタ内の負圧を増大すべき負圧要求を検出する負圧要求検出手段と、
当該負圧要求検出手段によって前記負圧要求が検出されているときには、前記負圧要求が検出されていないときよりも、前記２回噴射燃焼モードを実行する前記移行期間を長く設定する移行期間設定手段と、
を備えていることを特徴とする内燃機関の制御装置。
【請求項２】
前記燃焼モードが切り換えられたときに、前記負圧要求検出手段によって検出された前記負圧要求の有無に応じて、前記気筒への燃料噴射量を設定するための前記内燃機関の燃焼効率を推定する燃焼効率推定手段をさらに備えていることを特徴とする請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の運転状態に応じて燃焼モードを決定するとともに、吸気管内から導入した負圧によってブレーキの制動力を増大させるためのブレーキブースタを備える筒内噴射式の内燃機関の制御装置に関する。
【０００２】
【従来の技術】
従来のこの種の内燃機関の制御装置として、例えば特許文献１に開示されたものが知られている。この内燃機関（以下「エンジン」という）は、気筒内に燃料を直接、噴射する筒内噴射式エンジンであり、その運転状態などに応じて、燃焼モード（燃焼状態）が切り換えられる。すなわち、エンジン回転数に基づいて算出された切換判定用噴射量と、エンジン回転数やアクセル開度などに応じて算出された、負荷に相当する目標噴射量とが比較され、目標噴射量が切換判定用噴射量以下の場合は、成層燃焼が実行され、目標噴射量が切換判定用噴射量よりも大きい場合には、均一燃焼（均質燃焼）が実行される。
【０００３】
また、この内燃機関には、吸気管内の負圧を利用してブレーキの制動力を増大させるためのブレーキブースタが設けられており、ブレーキブースタ内の負圧を検出し、検出された負圧が所定の目標負圧よりも小さく且つ上述したエンジンの燃焼モードが成層燃焼であるときには、目標負圧を確保するために、負圧確保制御が実行され、スロットル弁が閉じ側に駆動される。
【０００４】
また、成層燃焼が実行されている場合の切換判定用噴射量は、エンジンブースタの負圧確保制御が実行されているときには、実行されていないときよりも、小さい値に設定される。すなわち、目標噴射量が比較的小さいときに、エンジンの燃焼モードを成層燃焼から均一燃焼に切り換えやすくすることによって、成層燃焼時におけるオーバーリッチによる失火を抑制し、燃焼状態の安定化を図っている。
【０００５】
【特許文献１】
特開平１１−２１０５１８号公報  （第５−８頁、第４−８図）
【０００６】
【発明が解決しようとする課題】
しかし、この従来の内燃機関の制御装置には、以下のような問題がある。成層燃焼が実行され且つブレーキブースタの負圧確保制御が実行されているときは、負圧確保制御が実行されていないときよりも、均質燃焼への切換えのタイミングが早くなるため、ブレーキブースタ内の負圧が目標負圧に達するよりも早く均質燃焼への切換えが行われるおそれがある。そのような場合、均質燃焼時の負圧確保制御は行われないため、目標負圧に到達するのに必要な時間が延長されることにより、ブレーキの制動力が増大するタイミングが遅延するおそれがある。
【０００７】
また、一般に、均一燃焼モードでは、リーンまたはストイキの空燃比で燃焼が行われるため、スロットル弁を閉じることにより、吸気管内の圧力が負圧に制御される。一方、成層燃焼モードでは、極リーンの空燃比で燃焼が行われるため、スロットル弁が全開され、吸気管内の圧力が大気圧に近い状態に制御される。また、燃焼モードの切換え時に、ブレーキブースタ内の負圧を増大させるべき負圧要求が検出されると、ブレーキブースタ内の負圧を増大させるために、スロットル弁が閉じられるとともに、ブレーキブースタと吸気管が連通される。すなわち、ブレーキブースタの分、負圧にすべき容積が増加する。このため、例えば成層燃焼モードから均一燃焼モードへの切換え時には、負圧にすべき容積が増加している分、所要の負圧になるまでに時間を要し、吸気管内が均一燃焼モードに適した負圧状態になるのにより多くの時間が必要になってしまう。また、例えば均一燃焼モードから成層燃焼モードへの切換え時には、ブレーキブースタへの負圧の導入が完了するのを待ってスロットル弁が開かれるため、吸気管内が成層燃焼に適した圧力状態になるのに、やはり多くの時間が必要になってしまう。
【０００８】
以上のように、燃焼モードの切換え時に負圧要求が検出されているときには、燃焼モードの切換え開始から、吸気管内圧、ずなわち空燃比が実際に切換え後の燃焼モードに適した状態になるまでの時間が、より大きくなる。そのため、燃焼モードの切換えの間の、吸気管内圧が安定しない状態にあるときに、燃料噴射のタイミングのみを直ちに切換え後の燃焼モードに対応したものにすると、エンジンの出力が安定せず、急激なトルク変動や失火を来すおそれがある。
【０００９】
本発明は、このような課題を解決するためになされたものであり、燃焼モードの切換えが行われても、ブレーキの制動力の速やかな増大と内燃機関の安定した運転状態をともに確保できる内燃機関の制御装置を提供することを目的としている。
【００１０】
【課題を解決するための手段】
この目的を達成するために、本発明の請求項１に係る発明は、気筒内への燃料噴射を、吸気行程中に行う均一燃焼モードと、圧縮行程中に行う成層燃焼モードと、均一燃焼モードおよび成層燃焼モードを切り換える際の移行期間中において１サイクル内の吸気行程中および圧縮行程中に１回ずつ行う２回噴射燃焼モードとのいずれかの燃焼モードによって運転されるとともに、吸気管４内から導入した負圧によってブレーキの制動力を増大させるためのブレーキブースタ９を備える筒内噴射式の内燃機関の制御装置１であって、内燃機関３の運転状態（エンジン回転数ＮＥ、アクセル開度ＡＰ）を検出する運転状態検出手段（ＥＣＵ２、クランク角センサ２４、アクセル開度センサ３２）と、検出された運転状態に応じて、内燃機関３の要求出力（要求トルクＰＭＣＭＤＲＥＧ）を算出する要求出力算出手段（ＥＣＵ２）と、算出された内燃機関３の要求出力に応じて、内燃機関３の燃焼モードを、均一燃焼モード、成層燃焼モードおよび２回噴射燃焼モードのいずれかに決定する燃焼モード決定手段（ＥＣＵ２、図５）と、ブレーキブースタ９内の負圧を増大すべき負圧要求を検出する負圧要求検出手段（ＥＣＵ２、図３のステップ１６６、１６９）と、負圧要求検出手段によって負圧要求が検出されているときには、負圧要求が検出されていないときよりも、２回噴射燃焼モードを実行する移行期間（所定時間＃ＣＭＯＤＤＳＬ）を長くする移行期間設定手段（ＥＣＵ２、図６のステップ１９０）と、を備えていることを特徴とする。
【００１１】
この内燃機関の制御装置によれば、内燃機関は、均一燃焼モード、成層燃焼モードおよび両者間の移行期間中における２回噴射燃焼モードのいずれかによって運転される。また、検出された内燃機関の運転状態に応じ、要求出力算出手段によって内燃機関の要求出力が算出され、算出された要求出力に応じ、内燃機関の燃焼モードが、燃焼モード決定手段によって、均一燃焼モード、成層燃焼モードおよび２回噴射燃焼モードのいずれかに決定される。その際、負圧要求検出手段によって、ブレーキブースタ内の負圧を増大すべき負圧要求が検出されているときには、移行期間が、移行期間設定手段によって、負圧要求が検出されていないときよりも長く設定される。すなわち、内燃機関が２回噴射燃焼モードで運転される期間が、負圧要求が検出されているときにはより長くなる。
【００１２】
したがって、燃焼モードの切換えの際に、負圧要求によってブレーキブースタの容積の分、負圧にすべき容積が増加することで、吸気管内圧が安定しない状態が長くなったとしても、それに応じ、より燃焼しやすい２回噴射燃焼モードを実行する移行期間が延長されることにより、内燃機関の急激なトルク変動や失火を確実に回避でき、内燃機関の安定した運転状態を確保することができる。
【００１３】
また、このように、２回噴射燃焼モードでの運転期間の延長によって、内燃機関の安定した運転状態が確保されるので、負圧要求に応えることを優先して、ブレーキブースタ内の負圧を増大させることが可能になり、ブレーキの制動力を速やかに確保することができる。
【００１４】
請求項２に係る発明は、請求項１に記載の内燃機関の制御装置において、燃焼モードが切り換えられたときに、負圧要求検出手段によって検出された負圧要求の有無に応じて、気筒への燃料噴射量（要求燃料噴射時間ＴＣＹＬＢＳ）を設定するための内燃機関３の燃焼効率（燃焼効率パラメータＫＬＭＴＣＹＨ）を推定する燃焼効率推定手段（ＥＣＵ２）をさらに備えていることを特徴とする。
【００１５】
この内燃機関の制御装置によれば、内燃機関の燃焼モードが切り換えられたときに、内燃機関の燃料噴射量を設定するための燃焼効率が、検出された負圧要求の有無に応じて推定される。したがって、燃焼モードの切り換えの際に、負圧要求の有無に応じたブレーキブースタの容積の影響を反映させながら、燃焼効率を適切に設定できる。その結果、燃焼効率に基づいて内燃機関の燃料噴射量が適切に設定されることによって、燃焼モードの切換えの前後で内燃機関のトルク変動や回転変動を防止でき、ドライバビリティ（運転性）を向上させることができる。
【００１６】
【発明の実施形態】
以下、図面を参照しながら、本発明の好ましい実施形態を説明する。図１は、本発明による内燃機関の制御装置（以下、単に「制御装置」という）１、およびこれを適用した車両（図示せず）の概略構成を示している。同図に示すように、この制御装置１は、ＥＣＵ２を備えており、このＥＣＵ２は、内燃機関（以下「エンジン」という）３の運転状態に応じて、後述する制御処理を実行する。
【００１７】
エンジン３は、車両に搭載された４気筒（１気筒のみ図示）タイプのガソリンエンジンであり、各気筒のピストン３ａとシリンダヘッド３ｂとの間に燃焼室３ｃが形成されている。また、シリンダヘッド３ｂには、吸気管４および排気管５がそれぞれ設けられているとともに、燃焼室３ｃに臨むように燃料噴射弁（以下「インジェクタ」という）６および点火プラグ７が取り付けられている。すなわち、このエンジン３は、燃料をインジェクタ６によって燃焼室３ｃに直接、噴射する筒内噴射式のものである。
【００１８】
吸気管４のスロットル弁１０よりも下流側には、分岐管８を介してブレーキブースタ９が接続されており、このブレーキブースタ９は、円形ゴム製のダイヤフラムなどによって構成されている。また、ブレーキブースタ９には、スロットル弁１０が閉じることによって発生する負圧が供給され、この供給されたブレーキブースタ９内の負圧によって、運転者が操作したブレーキペダル１１のペダル踏込み力が増幅されることにより、ブレーキの制動力が増大する。また、分岐管８には、負圧センサ２１が設けられており、この負圧センサ２１は、ブレーキブースタ９内の負圧を絶対値（以下「マスターバッグ圧力」という）ＰＢＡＭとして検出し、その検出信号をＥＣＵ２に出力する。
【００１９】
スロットル弁１０は、電動モータ１０ａに連結されており、この電動モータ１０ａによって、スロットル弁１０の開度（以下「スロットル弁開度」という）ＴＨが制御される。スロットル弁開度ＴＨは、スロットル弁開度センサ２２によって検出され、その検出信号は、ＥＣＵ２に出力される。ＥＣＵ２は、エンジン３の運転状態に応じ、電動モータ１０ａを介してスロットル弁開度ＴＨを制御することにより、エンジン３の吸入空気量を制御する。
【００２０】
クランクシャフト３ｅには、クランク角センサ２４（運転状態検出手段）が設けられている。このクランク角センサ２４は、マグネットロータ２４ａとＭＲＥピックアップ２４ｂで構成されている。クランク角センサ２４は、クランクシャフト３ｅの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２へ出力する。
【００２１】
ＣＲＫ信号は、所定のクランク角（例えば３０°）ごとに出力される。ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥ（運転状態）を求める。ＴＤＣ信号は、各気筒のピストン３ａが吸気行程開始時のＴＤＣ（上死点）付近の所定クランク角度位置にあることを表す信号であり、４気筒タイプの本例では、クランク角１８０°ごとに出力される。また、エンジン３には、気筒判別センサ（図示せず）が設けられており、この気筒判別センサは、気筒を判別するためのパルス信号である気筒判別信号をＥＣＵ２に送る。ＥＣＵ２は、これらの気筒判別信号、ＣＲＫ信号およびＴＤＣ信号によって、気筒ごとのクランク角度位置を判別するようになっている。
【００２２】
一方、吸気管４のスロットル弁１０よりも下流側には、吸気管内絶対圧センサ２５が配置されている。この吸気管内絶対圧センサ２５は、吸気管４内の絶対圧である吸気管内絶対圧ＰＢＡを検出し、その検出信号をＥＣＵ２に送る。
【００２３】
また、吸気管４のスロットル弁１０よりも下流側と、排気管５の触媒装置（図示せず）よりも上流側との間には、ＥＧＲ管１４が接続されている。このＥＧＲ管１４は、エンジン３の排気ガスを吸気側に再循環し、燃焼室３ｃ内の燃焼温度を下げることによって排気ガス中のＮＯｘを低減させるＥＧＲ動作を実行する。
【００２４】
ＥＧＲ管１４には、ＥＧＲ制御弁１５が取り付けられている。ＥＧＲ制御弁１５は、リニア電磁弁であり、ＥＣＵ２からの駆動信号に応じてそのバルブリフト量がリニアに変化し、これによってＥＧＲ管１４を開閉する。このＥＧＲ制御弁１５には、バルブリフト量センサ２７が取り付けられている。このバルブリフト量センサ２７は、ＥＧＲ制御弁１５の実際のバルブリフト量ＬＡＣＴを検出し、その検出信号をＥＣＵ２に送る。
【００２５】
ＥＣＵ２は、エンジン３の運転状態に応じて、ＥＧＲ制御弁１５の目標バルブリフト量ＬＣＭＤを算出するとともに、実際のバルブリフト量ＬＡＣＴが目標バルブリフト量ＬＣＭＤになるように制御することにより、ＥＧＲ率を制御する。
【００２６】
また、排気管５の触媒装置よりも上流側には、ＬＡＦセンサ２８が配置されている。ＬＡＦセンサ２８は、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲の空燃比Ａ／Ｆの領域において、排気ガス中の酸素濃度をリニアに検出し、その酸素濃度に比例する出力を表す信号ＫＡＣＴをＥＣＵ２に送る。
【００２７】
一方、インジェクタ６は、燃焼室３ｃの天壁中央部に配置されており、燃料パイプ６ａを介して燃料ポンプ６ｂに接続されている。燃料は、燃料タンク（図示せず）からこの燃料ポンプ６ｂで高圧に昇圧された後、レギュレータ（図示せず）で調圧された状態でインジェクタ６に供給される。燃料は、インジェクタ６からピストン３ａの凹部３ｄ側に向かって噴射されるとともに、凹部３ｄを含むピストン３ａの上面に衝突して燃料噴流を形成する。
【００２８】
エンジン３の本体には、水温センサ３０および大気圧センサ３１が取り付けられている。水温センサ３０は、エンジン３の本体内を循環する冷却水の温度であるエンジン水温ＴＷを検出する。また、大気圧センサ３１は、大気圧ＰＡを検出する。これらの検出信号は、ＥＣＵ２に送られる。
【００２９】
また、ＥＣＵ２には、アクセル開度センサ３２（運転状態検出手段）から図示しないアクセルペダルの操作量（以下「アクセル開度」という）ＡＰ（運転状態）を表す検出信号が、車速センサ３３から車両の速度（以下「車速」という）ＶＰを表す検出信号がそれぞれ送られる。
【００３０】
一方、ＥＣＵ２は、本実施形態において、運転状態検出手段、要求出力算出手段、燃焼モード決定手段、負圧要求検出手段、移行期間設定手段および燃焼効率推定手段を構成するものであり、ＣＰＵ２ａ、ＲＡＭ２ｂ、ＲＯＭ２ｃおよび入出力インターフェース（図示せず）などからなるマイクロコンピュータ（図示せず）で構成されている。前述した各種センサからの検出信号は、それぞれＥＣＵ２に入力され、入力インターフェースでＡ／Ｄ変換や成形がなされた後、ＣＰＵ２ａに入力される。ＣＰＵ２ａは、これらの入力信号に応じ、ＲＯＭ２ｃに記憶された制御処理などに従って、各種の演算処理を実行する。
【００３１】
具体的には、前述した各種の検出信号からエンジン３の運転状態を判別し、その判別結果に基づいて、エンジン３の燃焼モードを、アイドル運転時などの極低負荷運転時には成層燃焼モード、または極低負荷運転時以外の運転時には均一燃焼モードに決定するとともに、両燃焼モードを切り換える際の移行期間中に２回噴射燃焼モードを実行する。また、決定した燃焼モードに従って、電動モータ１０ａを介してスロットル弁開度ＴＨを制御するとともに、後述する燃料噴射制御処理において、インジェクタ６の燃料噴射時間および点火プラグ７の点火時期を制御する。
【００３２】
また、上記の成層燃焼モードでは、スロットル弁１０がほぼ全開状態に制御されるとともに、燃料をインジェクタ６から圧縮行程中に燃焼室３ｃ内に噴射し、噴射燃料の大部分を凹部３ｄに衝突させることにより燃料噴流が形成される。この燃料噴流と、吸気管４からの流入空気の流動とによって混合気が生成されるとともに、ピストン３ａが圧縮行程の上死点に近い位置にあることで、混合気を点火プラグ７の付近に偏在させながら、理論空燃比よりも極リーンな空燃比Ａ／Ｆ（たとえば２７〜６０）で、成層燃焼が行われる。
【００３３】
また、均一燃焼モードでは、スロットル弁１０を成層燃焼モードよりも小さな開度状態に制御するとともに、燃料を吸気行程中に燃焼室３ｃ内に噴射し、燃料噴流と空気の流動とによって生成した混合気を燃焼室３ｃ内に均一に分散させながら、成層燃焼モードよりもリッチな空燃比Ａ／Ｆ（例えば１２〜２２）で、均一燃焼が行われる。
【００３４】
さらに、２回噴射燃焼モードでは、１サイクル中に燃料を間隔をあけて２回噴射し、成層燃焼モードよりもリッチな空燃比Ａ／Ｆ（例えば１２〜２２）で、燃焼が行われる。この場合の２回の燃料噴射は、吸気行程中と圧縮行程中に各１回ずつ実行される。
【００３５】
以下、前述した燃料噴射制御処理を、図２を参照しながら説明する。本処理は、ＴＤＣ信号の入力に同期して割込み実行される。
【００３６】
この処理では、まずステップ１４１（「Ｓ１４１」と図示。以下、同様）において、後述するように、ブレーキブースタ９内にブレーキの制動力を増幅するのに十分な負圧が確保されているか否かを判定するマスターバッグ負圧判定処理を実行し、次いで、要求トルク算出処理を実行する（ステップ１４２）。そして、算出した要求トルクＰＭＣＭＤＲＥＧ（要求出力）などに応じ、エンジン３の燃焼モードを決定する（ステップ１４３）とともに、燃焼モード遷移判別処理および要求燃料噴射時間算出処理を順に実行し（ステップ１４４、１４５）、燃焼モード移行フラグＦ＿ＣＭＯＤおよび燃焼モードモニタＳＴ＿ＥＭＯＤの値に応じ、各燃焼モード制御処理を実行する（ステップ１４９〜１５２）。
【００３７】
図３は、前記ステップ１４１で実行されるマスターバッグ負圧判定処理のサブルーチンを示すフローチャートである。この処理では、まず、ステップ１６１において、そのときのマスターバッグ負圧要求フラグ（以下、単に「負圧要求フラグ」という）Ｆ＿ＰＢＭを、その前回値Ｆ＿ＰＢＭ１としてセットする。この負圧要求フラグＦ＿ＰＢＭは、後述するように、ブレーキブースタ９内に十分な負圧が確保されておらず、この負圧を増大させるべきと判定されたときに、負圧要求があるとして、「１」にセットされるものである。次に、大気圧センサ３１によって検出された大気圧ＰＡから、負圧センサ２１によって検出されたマスターバッグ圧力ＰＢＡＭを減算した値（ＰＡ−ＰＢＡＭ）を、マスターバッグゲージ圧ＰＢＧＭとして設定する（ステップ１６２）。
【００３８】
次に、負圧要求フラグの前回値Ｆ＿ＰＢＭ１が「１」であるか否かを判別する（ステップ１６３）。この判別結果がＮＯのとき、すなわち、前回時にブレーキブースタ９の負圧要求がなかったときには、車速センサ３３によって検出された車速ＶＰが所定車速♯Ｘ＿ＶＰＰＢＭ（例えば１５ｋｍ／ｈ）以下であるか否かを判別する（ステップ１６４）。この判別結果がＹＥＳで、ＶＰ≦♯Ｘ＿ＶＰＰＢＭのときには、燃焼モードモニタＳＴ＿ＥＭＯＤが「０」でないか否かを判別する。（ステップ１６５）。この燃焼モードモニタＳＴ＿ＥＭＯＤは、後述するように、エンジン３の燃焼モードが、成層燃焼モードに切り換えられたときに「２」に、均一燃焼モードのうちの均一リーン燃焼モードに切り換えられたときに「１」に、均一燃焼モードのうちの均一ストイキ燃焼モードに切り換えられたときに「０」に、それぞれセットされるものである。この判別結果がＹＥＳのとき、すなわちＳＴ＿ＥＭＯＤ≠０であって、エンジン３の燃焼モードが成層燃焼モードまたは均一リーン燃焼モードに設定されているときには、マスターバッグゲージ圧ＰＢＧＭが第１所定負圧＃Ｘ＿ＰＢＭＬＬ（例えば２５０ｍｍＨｇ）以下か否かを判別する（ステップ１６６）。この第１所定負圧＃Ｘ＿ＰＢＭＬＬは、ブレーキの制動力を増幅させるのに必要な最小の負圧の大きさに相当する。この判別結果がＹＥＳのとき、すなわち、車両が例えば比較的低速状態にあり、燃焼モードが成層燃焼モードまたは均一リーン燃焼モードであることで、スロットル弁１０がほぼ全開または高開度状態に制御されており且つ吸気管４内の実際の負圧が小さいときには、負圧を確保しにくい状態にあり、負圧を強制的に高めるべきとして、負圧要求フラグＦ＿ＰＢＭを「１」にセットし（ステップ１６７）、本処理を終了する。
【００３９】
このように、負圧要求フラグＦ＿ＰＢＭが「１」にセットされることによって、スロットル弁１０が全閉状態に制御され、吸気管４およびブレーキブースタ９の負圧の増大が促進される。
【００４０】
一方、前記ステップ１６４〜１６６のいずれかの判別結果がＮＯのとき、すなわち、車速ＶＰが所定車速＃Ｘ＿ＶＰＰＢＭよりも大きいとき、燃焼モードが均一ストイキ燃焼モードであることで、スロットル弁１０が低開度状態に制御されているとき、または、マスターバッグゲージ圧ＰＢＭが第１所定負圧＃Ｘ＿ＰＢＭＬＬよりも大きいときには、現状のままで、負圧を強制的に高める必要がないとして、負圧要求フラグＦ＿ＰＢＭを「０」にセットし（ステップ１６８）、本処理を終了する。
【００４１】
また、前記ステップ１６３の判別結果がＹＥＳのとき、すなわちＦ＿ＰＢＭ１＝１であって、前回時に負圧要求があったときには、マスターバッグゲージ圧ＰＢＧＭが、前記第１所定負圧＃Ｘ＿ＰＢＭＬＬよりも大きな第２所定負圧＃Ｘ＿ＰＢＭＨＬ（例えば４００ｍｍＨｇ）以上であるか否かを判別する（ステップ１６９）。
【００４２】
この判別結果がＮＯで、ＰＢＧＭ＜＃Ｘ＿ＰＢＭＨＬのときには、負圧要求を今回も継続すべきとして、負圧要求フラグＦ＿ＰＢＭを「１」に保持し（ステップ１７１）、本処理を終了する。
【００４３】
一方、ステップ１６９の判別結果がＹＥＳのとき、すなわちＰＢＧＭ≧＃Ｘ＿ＰＢＭＨＬのときには、負圧が十分に回復し、それにより、負圧要求の必要がなくなったとして、負圧要求フラグＦ＿ＰＢＭを「０」にセットし（ステップ１７０）、本処理を終了する。
【００４４】
このように、負圧要求の終了判定用の第２所定負圧＃Ｘ＿ＰＢＭＨＬを、負圧要求の開始判定用の第１所定負圧＃Ｘ＿ＰＢＭＬＬよりも高い値に設定し、すなわちヒステリシスを与えることによって、負圧要求の有無およびそれに応じた制御のハンチングを確実に回避することができる。
【００４５】
図２に戻り、前記ステップ１４１の上述したマスターバッグ負圧判定処理に続くステップ１４２において、要求トルク算出処理を実行する。図４は、この要求トルク算出処理のサブルーチンを示すフローチャートであり、この処理では、要求トルクＰＭＣＭＤＲＥＧを、エンジン回転数ＮＥとアクセル開度ＡＰに基づき、図示しないマップを検索することにより求める（ステップ１）。
【００４６】
次いで、ステップ１４３において、燃焼モード決定処理を実行する。この処理では、まず、そのときの燃焼モードモニタＳＴ＿ＥＭＯＤを、その前回値ＳＴ＿ＥＭＯＤ１として設定した後、今回の燃焼モードを以下のように決定するとともに、それを表す燃焼モードモニタＳＴ＿ＥＭＯＤの値を設定する。すなわち、前述したステップ１で求めた要求トルクＰＭＣＭＤＲＥＧ、およびエンジン回転数ＮＥに基づき、図５に示すマップを検索することによって、エンジン３の燃焼モードを決定する。具体的には、同マップにおいて、要求トルクＰＭＣＭＤＲＥＧおよびエンジン回転数ＮＥがともに小さい成層燃焼域では、燃焼モードを成層燃焼モードに決定するとともに、それに応じて燃焼モードモニタＳＴ＿ＥＭＯＤを「２」に設定する。また、要求トルクＰＭＣＭＤＲＥＧおよびエンジン回転数ＮＥが成層燃焼域よりも大きい均一燃焼域のうちの均一リーン燃焼域では、均一リーン燃焼モードと決定され、燃焼モードモニタＳＴ＿ＥＭＯＤを「１」に設定する。さらに、要求トルクＰＭＣＭＤＲＥＧおよびエンジン回転数ＮＥが均一リーン燃焼域よりもさらに大きい均一燃焼域のうちの均一ストイキ燃焼域では、均一ストイキ燃焼モードと決定し、燃焼モードモニタＳＴ＿ＥＭＯＤを「０」に設定する。なお、このマップにおける均一ストイキ燃焼域は、混合気を主として理論空燃比で燃焼させる領域に加えて、混合気を理論空燃比よりもリッチな空燃比Ａ／Ｆで燃焼させるリッチ燃焼域も含むように設定されており、以下、リッチ燃焼も含めて均一ストイキ燃焼という。
【００４７】
次いで、ステップ１４４において、燃焼モード遷移判別処理を実行する。図６および７は、この燃焼モード遷移判別処理のサブルーチンを示すフローチャートである。この処理では、まず、ステップ１８０において、燃焼モード移行フラグＦ＿ＣＭＯＤが「１」であるか否かを判別する。この判別結果がＮＯのとき、すなわちＦ＿ＣＭＯＤ＝０であって、エンジン３の燃焼モードが２回噴射燃焼モードでないときには、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１および今回値ＳＴ＿ＥＭＯＤが「２」であるか否かをそれぞれ判別する（ステップ１８３、１８４）。これらの判別結果がそれぞれＹＥＳおよびＮＯのとき、すなわち、ＳＴ＿ＥＭＯＤ１＝２且つＳＴ＿ＥＭＯＤ≠２であって、今回のループが、エンジン３の燃焼モードが成層燃焼モードから均一燃焼モードに移行した直後に相当するときには、燃焼モードの移行が行われたとして、そのことを表すために燃焼モード移行フラグＦ＿ＣＭＯＤを「１」にセットする（ステップ１８５）。このように、燃焼モード移行フラグＦ＿ＣＭＯＤが「１」にセットされることにより、後述する２回噴射燃焼モード制御処理が実行される。
【００４８】
次いで、燃焼モードモニタＳＴ＿ＥＭＯＤが「０」であるか否かを判別する（ステップ１８７）。この判別結果がＮＯのとき、すなわち、エンジン３の移行後の燃焼モードが均一燃焼モードのうちの均一リーン燃焼モードであるときには、ダウンカウント式の移行期間タイマＴＭＣＣＭＯＤを、成層燃焼モードから均一リーン燃焼モードへの移行用の所定時間＃ＣＭＯＤＤＬ（例えば２００ｍｓｅｃ）にセットし（ステップ１９１）、本処理を終了する。
【００４９】
一方、前記ステップ１８７の判別結果がＹＥＳのとき、すなわち、エンジン３の移行後の燃焼モードが、均一ストイキ燃焼モードであるときには、負圧要求フラグＦ＿ＰＢＭが「１」であるか否かを判別する（ステップ１８８）とともに、アクセル全閉フラグＦ＿ＡＰＩＤＬＥが「０」であるか否かを判別する（ステップ１８９）。このアクセル全閉フラグＦ＿ＡＰＩＤＬＥは、アクセルペダルが全閉状態、すなわち踏み込まれていないときに、「０」にセットされるものである。これらのいずれか一方の判別結果がＮＯのとき、すなわち、Ｆ＿ＰＢＭ＝０であって負圧要求がないか、または、Ｆ＿ＡＰＩＤＬＥ＝１であって、アクセル開度ＡＰが全閉状態ではないときには、前記移行期間タイマＴＭＣＣＭＯＤを、負圧要求がない場合の成層燃焼モードから均一ストイキ燃焼モードへの移行用の所定時間＃ＣＭＯＤＤＳＨ（例えば２００ｍｓｅｃ）にセットし（ステップ１９２）、本処理を終了する。
【００５０】
一方、前記ステップ１８８およびステップ１８９の判別結果がともにＹＥＳのとき、すなわち、負圧要求があり、且つアクセル開度ＡＰが全閉状態であるときには、前記移行期間タイマＴＭＣＣＭＯＤを、所定時間＃ＣＭＯＤＤＳＬにセットし（ステップ１９０）、本処理を終了する。この所定時間＃ＣＭＯＤＤＳＬは、負圧要求がある場合の成層燃焼モードから均一ストイキ燃焼モードへの移行期間を定めるものであり、前記所定時間＃ＣＭＯＤＤＳＨよりも大きな値（例えば３００ｍｓｅｃ）に設定されている。
【００５１】
また、前記ステップ１８３の判別結果がＮＯまたは前記ステップ１８４の判別結果がＹＥＳのとき、すなわち、今回のループがエンジン３の燃焼モードが成層燃焼モードから均一燃焼モードに移行した直後でないときには、前記ステップ１８３およびステップ１８４と同様に、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１および今回値ＳＴ＿ＥＭＯＤが「２」であるか否かをそれぞれ判別する（ステップ１９３、１９４）。
【００５２】
これらの判別結果がそれぞれＮＯおよびＹＥＳのとき、すなわち、今回のループが、エンジン３の燃焼モードが均一燃焼モードから成層燃焼モードへ移行した直後に相当するときには、燃焼モードの移行が行われたとして、そのことを表すために、燃焼モード移行フラグＦ＿ＣＭＯＤを「１」にセットする（ステップ１９５）。
【００５３】
次いで、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１が「０」であるか否かを判別する（ステップ１９７）。この判別結果がＹＥＳのとき、すなわち、エンジン３の移行前の燃焼モードが、均一燃焼モードのうちの均一ストイキ燃焼モードであるときには、前記移行期間タイマＴＭＣＣＭＯＤを、均一ストイキ燃焼モードから成層燃焼モードへの移行用の所定時間＃ＣＭＯＤＳＤ（例えば２００ｍｓｅｃ）にセットし（ステップ１９８）、本処理を終了する。
【００５４】
一方、前記ステップ１９７の判別結果がＮＯのとき、すなわち、ＳＴ＿ＥＭＯＤ１＝１であって、エンジン３の移行前の燃焼モードが、均一燃焼モードのうちの均一リーン燃焼モードであるときには、前記移行期間タイマＴＭＣＣＭＯＤを、均一リーン燃焼モードから成層燃焼モードへの移行用の所定時間＃ＣＭＯＤＬＤ（例えば２００ｍｓｅｃ）にセットし（ステップ１９９）、本処理を終了する。
【００５５】
また、前記ステップ１９３の判別結果がＹＥＳまたはステップ１９４の判別結果がＮＯのとき、すなわち、今回のループが、エンジン３の燃焼モードが成層燃焼モードから均一燃焼モードに移行した直後でないときには、そのまま本処理を終了する。
【００５６】
一方、前記ステップ１８０の判別結果がＹＥＳのとき、すなわち、Ｆ＿ＣＭＯＤ＝１であって、エンジン３の燃焼モードの移行が行われたときには、前記ステップ１９０〜１９２、ステップ１９８またはステップ１９９でセットした移行期間タイマＴＭＣＣＭＯＤの値が、０以下であるか否かを判別する（ステップ１８１）。この判別結果がＮＯのときには、燃焼モードの移行期間が終了していないとして、そのまま本処理を終了し、２回噴射燃焼モードが継続して実行される。
【００５７】
一方、ステップ１８１の判別結果がＹＥＳで、ＴＭＣＣＭＯＤ≦０のときには、燃焼モードの移行期間、すなわち２回噴射燃焼モードでの運転期間が終了したとして、そのことを表すために、燃焼モード移行フラグＦ＿ＣＭＯＤを「０」にセットし（ステップ１８２）、本処理を終了する。
【００５８】
図２に戻り、前記ステップ１４４の上述した燃焼モード遷移判別処理に続くステップ１４５では、要求燃料噴射時間ＴＣＹＬＢＳ（燃料噴射量）を算出するために、要求燃料噴射時間算出処理を実行する。この処理については後述する。
【００５９】
次いで、ステップ１４６に進み、燃焼モード移行フラグＦ＿ＣＭＯＤが「１」であるか否かを判別する。この判別結果がＮＯで、Ｆ＿ＣＭＯＤ＝０のとき、すなわち２回噴射燃焼モード以外の燃焼モードであるときには、ステップ１４７に進み、前記ステップ１４３でセットした燃焼モードモニタＳＴ＿ＥＭＯＤが「０」であるか否かを判別する。この判別結果がＹＥＳで、燃焼モードが均一ストイキ燃焼モードに決定されているときには、ステップ１４９に進み、均一ストイキ燃焼モード制御処理を実行した後、本処理を終了する。この処理では、前記ステップ１４５で算出した要求燃料噴射時間ＴＣＹＬＢＳに応じて、この燃焼モード用の燃料噴射時期などを算出するとともに、これらの制御パラメータに基づいて、インジェクタ６および点火プラグ７を制御する。
【００６０】
一方、ステップ１４７の判別結果がＮＯのときには、ステップ１４８に進み、燃焼モードモニタＳＴ＿ＥＭＯＤが「１」であるか否かを判別する。この判別結果がＹＥＳで、燃焼モードが均一リーン燃焼モードに決定されているときには、ステップ１５０に進み、均一リーン燃焼モード制御処理を実行する。この処理では、上記ステップ１４９と同様に、この燃焼モード用の燃料噴射時期などを算出するとともに、算出した要求燃料噴射時間ＴＣＹＬＢＳや燃料噴射時期などに基づいて、インジェクタ６および点火プラグ７を制御する。
【００６１】
一方、ステップ１４８の判別結果がＮＯのとき、すなわち燃焼モードが成層燃焼モードに決定されているときには、ステップ１５１に進み、成層燃焼モード制御処理を実行する。この処理では、前記ステップ１４９と同様に、この燃焼モード用の燃料噴射時期などを算出し、算出した要求燃料噴射時間ＴＣＹＬＢＳや燃料噴射時期などに基づいてインジェクタ６および点火プラグ７を制御する。
【００６２】
一方、上記ステップ１４６の判別結果がＹＥＳのとき、すなわちＦ＿ＣＭＯＤ＝１で、２回噴射燃焼モードを実行すべきときには、ステップ１５２に進み、２回噴射燃焼モード制御処理を実行する。この処理では、前記ステップ１４９と同様に、この燃焼モード用の燃料噴射時期などを算出するとともに、算出した要求燃料噴射時間ＴＣＹＬＢＳや燃料噴射時期に基づいて、インジェクタ６および点火プラグ７を制御し、吸気行程中と圧縮行程中に各１回、計２回の燃料噴射を実行する。
【００６３】
次いで、前述したステップ１４５で実行される要求燃料噴射時間算出処理について説明する。図８は、要求燃料噴射時間算出処理のサブルーチンを示すフローチャートである。この処理では、まず、そのときの要求燃料噴射時間ＴＣＹＬＢＳをその前回値ＴＣＹＬＢＳ１として設定する（ステップ２）とともに、目標空燃比ＫＣＭＤを算出する（ステップ３）。この目標空燃比ＫＣＭＤは、基本目標空燃比ＫＢＳに水温補正係数ＫＴＷを乗算した値として算出される。この基本目標空燃比ＫＢＳは、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤＲＥＧに基づいて、水温補正係数ＫＴＷは、エンジン水温ＴＷおよび吸気管内絶対圧ＰＢＡに基づいて、図示しないそれぞれのマップを検索することによって、それぞれ求められる。
【００６４】
次いで、始動モードフラグＦ＿ＳＴＭＯＤが「１」であるか否かを判別する（ステップ４）。この判別結果がＹＥＳで、エンジン３が始動中であるときには、要求燃料噴射時間ＴＣＹＬＢＳを、基本燃料噴射時間ＴＩＭに前記ステップ３で算出された目標空燃比ＫＣＭＤを乗算した値に設定し（ステップ５）、本処理を終了する。なお、基本燃料噴射時間ＴＩＭは、エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに基づき、図示しないマップを検索することによって求められる。
【００６５】
上記ステップ４の判別結果がＮＯで、エンジン３の始動が終了しているときには、前記ステップ３および５でそれぞれ算出された目標空燃比ＫＣＭＤおよび基本燃料噴射時間ＴＩＭなどを用いて、通常時要求燃料噴射時間ＴＣＹＬＴＭＰを次式（１）によって算出する（ステップ６）。
ＴＣＹＬＴＭＰ＝ＴＩＭ・ＫＣＭＤ・ＫＥＧＲ・ＫＡＦ・ＫＡＳＴ・ＫＬＳ……（１）
ここで、ＫＥＧＲは、ＥＧＲ率の変化による吸入空気量の変化を補償するためのＥＧＲ補正係数であり、目標バルブリフト量ＬＣＭＤ、実際のバルブリフト量ＬＡＣＴおよび吸気管内絶対圧ＰＢＡに応じて設定される。また、ＫＡＦは、ＬＡＦセンサ２５の出力ＫＡＣＴが目標空燃比ＫＣＭＤに収束するように、混合気の空燃比Ａ／Ｆをフィードバック制御するためのフィードバック補正係数であり、オブザーバによりＬＡＦセンサ２５の出力ＫＡＣＴから推定された気筒ごとの実際の空燃比Ａ／Ｆ、および目標空燃比ＫＣＭＤなどに応じて設定される。さらに、ＫＡＳＴは、エンジン３の始動時における燃料噴射量増大補正を行うための始動時補正係数である。また、ＫＬＳは、減速時における空燃比Ａ／Ｆのリッチ化を抑制するための減速時リーン化補正係数である。
【００６６】
次に、切換時リミット処理を実行する（ステップ７）。この切換時リミット処理では、切換時要求燃料噴射時間ＴＣＹＬＬＭＴが後述するように算出される。次いで、算出された切換時要求燃料噴射時間ＴＣＹＬＬＭＴを、要求燃料噴射時間ＴＣＹＬＢＳとして設定する（ステップ８）とともに、今回の要求トルクＰＭＣＭＤＲＥＧをその前回値ＰＭＣＭＤＲＥＧ１として設定し（ステップ９）、本処理を終了する。
【００６７】
図９は、図８のステップ７で実行される切換時リミット処理のサブルーチンを示すフローチャートである。本処理は次のような趣旨に基づくものである。すなわち、上記の通常時要求燃料噴射時間ＴＣＹＬＴＭＰは、成層燃焼モードから均一燃焼モードへの燃焼モードの切換え時には、急激に増加し、また、均一燃焼モードから成層燃焼モードへの燃焼モードの切換え時には、急激に減少する傾向にあるため、エンジン３の出力トルクが要求トルクＰＭＣＭＤＲＥＧに一致しにくい。このため、本処理では、燃焼モードが切り換えられたときに、出力トルクが要求トルクＰＭＣＭＤＲＥＧに良好に一致するように、燃焼モードの切換えパターン別に、リミット値ＴＣＹＬＬＴが後述するように算出され、このリミット値ＴＣＹＬＬＴが、切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定される。
【００６８】
まず、ステップ１０および１１ではそれぞれ、フューエルカット（以下「Ｆ／Ｃ」という）実行フラグの前回値Ｆ＿ＦＣＺが「１」であるか否か、Ｆ／Ｃ実行フラグＦ＿ＦＣが「０」であるか否かを判別する。このＦ／Ｃ実行フラグＦ＿ＦＣは、Ｆ／Ｃが実行されているときに、「１」にセットされるものである。
【００６９】
これらの判別結果のいずれもがＹＥＳで、今回のループがＦ／Ｃの終了直後であるときには、ディレイカウンタの値ＣＴＣＹＬを所定値＃ＣＴＣＹＬＤ（例えば２８ＴＤＣ）にセットし（ステップ１２）、後述するステップ１３に進む。
【００７０】
一方、ステップ１０および１１の判別結果のいずれかがＮＯで、今回のループがＦ／Ｃの終了直後でないときには、ディレイカウンタの値ＣＴＣＹＬが、０であるか否かを判別する（ステップ１４）。この判別結果がＮＯのときには、ディレイカウンタの値ＣＴＣＹＬをデクリメントした（ステップ１５）後、ステップ１３に進む。また、ステップ１４の判別結果がＹＥＳのときには、そのままステップ１３に進む。
【００７１】
このステップ１３では、ディレイカウンタの値ＣＴＣＹＬが０であるか否かを判別する。この判別結果がＮＯ、すなわち、Ｆ／Ｃの終了時から、所定値＃ＣＴＣＹＬＤに相当する時間が経過していないときには、リミット値ＴＣＹＬＬＴの算出を禁止し、通常時要求燃料噴射時間ＴＣＹＬＴＭＰを切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定し（ステップ１６）、本処理を終了する。上記のように、リミット値ＴＣＹＬＬＴの算出を禁止するのは、次の理由による。すなわち、リミット値ＴＣＹＬＬＴは、後述するように、前回時の要求燃料噴射時間ＴＣＹＬＢＳ１と、燃焼効率パラメータＫＬＭＴＣＹＨ（燃焼効率）またはＫＬＭＴＣＹＬＤと、要求トルクの今回値ＰＭＣＭＤＲＥＧおよび前回値ＰＭＣＭＤＲＥＧ１の比とを互いに乗算した値に設定されるので、前回時の要求燃料噴射時間ＴＣＹＬＢＳ１が値０であるＦ／Ｃの終了時およびその後には、値０として算出されてしまい、これを適切に設定できないためである。
【００７２】
一方、前記ステップ１３の判別結果がＹＥＳで、ＣＴＣＹＬ＝０のとき、すなわちＦ／Ｃの終了時から、所定値＃ＣＴＣＹＬＤに相当する時間が経過したときには、リミット値ＴＣＹＬＬＴを算出するためのパラメータを設定するリミット値算出パラメータ設定処理を実行する（ステップ１７）とともに、リミット値算出処理を実行し（ステップ１８）、本処理を終了する。
【００７３】
図１０および図１１は、図９のステップ１７で実行されるリミット値算出パラメータ設定処理のサブルーチンを示すフローチャートである。まず、ステップ２０および２１では、前述した燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１が「２」であるか否か、および今回の燃焼モードモニタＳＴ＿ＥＭＯＤが「０」であるか否かをそれぞれ判別する。これらの判別結果のいずれもがＹＥＳで、今回のループが、燃焼モードが成層燃焼モードから均一ストイキ燃焼モードに切り換えられた直後のときには、切換ステイタスＥＭＯＤ＿ＳＴＳを「１」にセットする（ステップ２２）。
【００７４】
次に、ステップ２３および２４では、前記ステップ１６７、１６８、１７０または１７１でセットした負圧要求フラグＦ＿ＰＢＭが「１」であるか否か、およびアクセル全閉フラグＦ＿ＡＰＩＤＬＥが「０」であるか否かをそれぞれ判別する。これらの判別結果のいずれもがＮＯ、すなわち、負圧要求がなく、かつアクセルペダルが踏み込まれているときには、リミット時間ＮＴＣＹＬを第１の所定時間＃ＮＴＣＹＬＤＳＳ（例えば５００ｍｓｅｃ相当）にセットする（ステップ２５）一方、これらの判別結果のいずれかがＹＥＳのときには、リミット時間ＮＴＣＹＬを第２の所定時間＃ＮＴＣＹＬＤＳ（例えば１０００ｍｓｅｃ相当）にセットする（ステップ２６）。このリミット時間ＮＴＣＹＬは、燃焼モードの切換えパターンごとに、リミット値ＴＣＹＬＬＴによるリミットの実行期間を、それを計時する後述のリミット時間カウンタＴＣＹＬＴ１０ＭＳのカウント回数として定めたものであり、このリミット時間ＮＴＣＹＬ内において、リミット値ＴＣＹＬＬＴの算出が実行される。
【００７５】
なお、第２の所定時間＃ＮＴＣＹＬＤＳは、第１の所定時間＃ＮＴＣＹＬＤＳＳよりも長く設定されており、これは次の理由による。例えばアクセルペダルが踏み込まれていない低負荷運転状態において、燃焼モードが切り換えられるときに急激に増加しやすい傾向にある通常時燃料噴射時間ＴＣＹＬＴＭＰを用いると、特に、エンジン回転数ＮＥが変動し、その結果、失火するおそれがあるので、そのような事態を回避すべく、要求燃料噴射時間ＴＣＹＬＢＳを徐々に変化させるためである。
【００７６】
一方、前記ステップ２０および２１の判別結果のいずれかがＮＯのときには、ステップ２７および２８において、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１が「２」であるか否か、および今回の燃焼モードモニタＳＴ＿ＥＭＯＤが「１」であるか否かをそれぞれ判別する。これらの判別結果のいずれもがＹＥＳで、燃焼モードが成層燃焼モードから均一リーン燃焼モードに切り換えられた直後のときには、切換ステイタスＥＭＯＤ＿ＳＴＳを「２」にセットし（ステップ２９）、リミット時間ＮＴＣＹＬを第３の所定時間＃ＮＴＣＹＬＤＬ（例えば５００ｍｓｅｃ相当）にセットする（ステップ３０）。
【００７７】
ステップ２７および２８の判別結果のいずれかがＮＯのときには、ステップ３１および３２において、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１が「０」であるか否か、および今回の燃焼モードモニタＳＴ＿ＥＭＯＤが「２」であるか否かをそれぞれ判別する。これらの判別結果のいずれもがＹＥＳで、燃焼モードが均一ストイキ燃焼モードから成層燃焼モードに切り換えられた直後のときには、切換ステイタスＥＭＯＤ＿ＳＴＳを「３」にセットし（ステップ３３）、リミット時間ＮＴＣＹＬを第４の所定時間＃ＮＴＣＹＬＳＤ（例えば８００ｍｓｅｃ相当）にセットする（ステップ３４）。
【００７８】
ステップ３１および３２の判別結果のいずれかがＮＯのときには、ステップ３５および３６において、燃焼モードモニタの前回値ＳＴ＿ＥＭＯＤ１が「１」であるか否か、および今回の燃焼モードモニタＳＴ＿ＥＭＯＤが「２」であるか否かをそれぞれ判別する。これらの判別結果のいずれもがＹＥＳで、燃焼モードが均一リーン燃焼モードから成層燃焼モードに切り換えられた直後のときには、切換ステイタスＥＭＯＤ＿ＳＴＳを「４」にセットし（ステップ３７）、リミット時間ＮＴＣＹＬを第５の所定時間＃ＮＴＣＹＬＬＤ（例えば８００ｍｓｅｃ相当）にセットする（ステップ３８）。なお、上記の第１の所定時間＃ＮＴＣＹＬＤＳＳ、および第３〜５の所定時間＃ＮＴＣＹＬＤＬ、＃ＮＴＣＹＬＳＤならびに＃ＮＴＣＹＬＬＤは、目標バルブリフト量ＬＣＭＤが成層燃焼モードと均一燃焼モードの間で大きく異なる値に設定されることと、ＥＧＲ制御弁１３の応答性を考慮し、実際のバルブリフト量ＬＡＣＴが切換え後の燃焼モードに適した値に達するのに必要な時間としてそれぞれ設定されている。上述の例では、燃焼モードが成層燃焼モードへ切り換えられる際の第４および第５の所定時間＃ＮＴＣＹＬＳＤおよび＃ＮＴＣＹＬＬＤが、成層燃焼モードの切換え時に用いられる第１および第３の所定時間＃ＮＴＣＹＬＤＳＳおよび＃ＮＴＣＹＬＤＬよりも長い時間に設定されている。
【００７９】
前記ステップ２５、２６、３０、３４または３８に続くステップ３９では、要求燃料噴射時間の前回値ＴＣＹＬＢＳ１を切換直前要求燃料噴射時間ＴＣＹＬＬＴＩＮ（燃焼モードが切り換えられる直前に算出された要求燃料量）として設定する。次いで、要求トルクＰＭＣＭＤＲＥＧの前回値ＰＭＣＭＤＲＥＧ１が、所定の上限値＃ＰＭＴＣＹＬＭＩＮ（例えば１．２ｋｇｆ／ｃｍ2）よりも小さいか否かを判別する（ステップ４０）。
【００８０】
この判別結果がＹＥＳのときには、要求トルクの前回値ＰＭＣＭＤＲＥＧ１を切換直前要求トルクＰＭＴＣＹＬＩＮ（燃焼モードが切り換えられる直前に算出された要求トルク）として設定する（ステップ４１）とともに、前記４つの切換えパターンのいずれかによる燃焼モードの切換え直後であって、リミット値ＴＣＹＬＬＴを算出するためのパラメータの設定が完了していることを表すために、パラメータ設定完了フラグＦ＿ＴＣＹＬＩＮを「１」にセットし（ステップ４２）、本処理を終了する。また、ステップ４０の判別結果がＮＯで、ＰＭＣＭＤＲＥＧ１≧＃ＰＭＴＣＹＬＭＩＮのときには、所定の上限値＃ＰＭＴＣＹＬＭＩＮを切換直前要求トルクＰＭＴＣＹＬＩＮとして設定する（ステップ４３）とともに、上記ステップ４２を実行し、本処理を終了する。
【００８１】
一方、前記ステップ３５および３６の判別結果のいずれかがＮＯで、前記４つの切換えパターンによる燃焼モードのいずれの切換え直後でもないときには、パラメータ設定完了フラグＦ＿ＴＣＹＬＩＮを「０」にセットし（ステップ４４）、リミット許可フラグＦ＿ＴＣＹＬＬＴが「０」であるか否かを判別する（ステップ４５）。この判別結果がＮＯで、リミット値ＴＣＹＬＬＴによるリミットの実行中のときには、そのまま本処理を終了する一方、この判別結果がＹＥＳのときには、切換ステイタスＥＭＯＤ＿ＳＴＳを「０」にリセットし（ステップ４６）、本処理を終了する。
【００８２】
図１２および図１３は、図９のステップ１８で実行されるリミット値算出処理のサブルーチンを示すフローチャートである。まず、ステップ５０および５１では、要求トルクＰＭＣＭＤＲＥＧおよびその前回値ＰＭＣＭＤＲＥＧ１が、値０よりも大きいか否かをそれぞれ判別する。これらの判別結果のいずれかがＮＯのときには、エンジン３にトルクが要求されていないため、リミット値ＴＣＹＬＬＴの算出を実行しないものとして、リミット許可フラグＦ＿ＴＣＹＬＬＴを「０」にセットする（ステップ５２）とともに、通常時要求燃料噴射時間ＴＣＹＬＴＭＰを切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定し（ステップ５３）、本処理を終了する。
【００８３】
一方、前記ステップ５０および５１の判別結果のいずれもがＹＥＳのときには、前述したパラメータ設定完了フラグＦ＿ＴＣＹＬＩＮが、「１」であるか否かを判別する（ステップ５４）。この判別結果がＹＥＳのとき、すなわち、今回のループが前記４つの切換えパターンのいずれかによる燃焼モードの切換え直後のときには、リミット許可フラグＦ＿ＴＣＹＬＬＴを「１」にセットする（ステップ５５）とともに、アップカウント式のリミット時間カウンタの値ＴＣＹＬＴ１０ＭＳを０にセットし（ステップ５６）、ステップ５７に進む。このリミット時間カウンタＴＣＹＬＴ１０ＭＳは、所定時間（例えば１０ｍｓｅｃ）ごとにインクリメントされるものである。なお、このような時間タイマに代えて、ＴＤＣ信号の出力ごとにインクリメントされるカウンタを用いてもよい。
【００８４】
一方、ステップ５４の判別結果がＮＯで、今回のループが燃焼モードの切換え直後でないときには、上記ステップ５５および５６をスキップし、ステップ５７に進む。
【００８５】
このステップ５７では、リミット許可フラグＦ＿ＴＣＹＬＬＴが「１」であるか否かを判別する。この判別結果がＹＥＳのときには、リミット時間カウンタの値ＴＣＹＬＴ１０ＭＳが、前記ステップ２５、２６、３０、３４または３８でセットされたリミット時間ＮＴＣＹＬよりも小さいか否かを判別する（ステップ５８）。
【００８６】
この判別結果がＹＥＳで、燃焼モードの切換え後、リミット時間ＮＴＣＹＬに相当する時間が経過していないときには、そのときのリミット時間カウンタの値ＴＣＹＬＴ１０ＭＳを切換後経過時間Ｎ＿ＴＣＹＬＬＴとして設定する（ステップ５９）。次いで、ステップ６０において、切換ステイタスＥＭＯＤ＿ＳＴＳが「１」であるか否かを判別する。この判別結果がＹＥＳで、今回の燃焼モードの切換えが成層燃焼モードから均一ストイキ燃焼モードへの切換えであるときには、成層→均一ストイキ燃焼モードの切換え時用のリミット値ＴＣＹＬＬＴを算出する（ステップ６１）。以下同様に、ステップ６２および６３において、切換ステイタスＥＭＯＤ＿ＳＴＳが「２」および「３」であるか否かをそれぞれ判別するとともに、ステップ６２の判別結果がＹＥＳ、ステップ６３の判別結果がＹＥＳ、およびＮＯのときには、成層→均一リーン燃焼モード、均一ストイキ→成層燃焼モードおよび均一リーン→成層燃焼モードの切換え時用のリミット値ＴＣＹＬＬＴをそれぞれ算出し（ステップ６４〜６６）、本処理を終了する。
【００８７】
一方、ステップ５８の判別結果がＮＯで、燃焼モードの切換え後、リミット時間ＮＴＣＹＬに相当する時間が経過したときには、リミット値ＴＣＹＬＬＴによるリミットの実行期間が終了したとして、前記ステップ５２以降を実行し、リミット許可フラグＦ＿ＴＣＹＬＬＴを「０」にセットするとともに、通常時燃料噴射時間ＴＣＹＬＴＭＰを切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定し、本処理を終了する。
【００８８】
また、このようにリミット値ＴＣＹＬＬＴによるリミットの実行期間が終了した後には、前記ステップ５２の実行によって、前記ステップ５７の判別結果がＮＯとなるので、その場合には、前記ステップ５２以降を実行し、本処理を終了する。
【００８９】
図１４は、図１３のステップ６１で実行される成層→均一ストイキ燃焼モードの切換え時用のリミット値ＴＣＹＬＬＴの算出処理のサブルーチンを示すフローチャートである。まず、ステップ７０では、要求トルクＰＭＣＭＤＲＥＧが所定の上限トルク＃ＰＭＴＣＹＬＬＧよりも大きいか否かを判別する。この判別結果がＹＥＳで、要求トルクＰＭＣＭＤＲＥＧが非常に大きいときには、要求トルク領域外フラグＦ＿ＴＣＹＨを「１」にセットし（ステップ７１）、燃焼効率パラメータＫＬＭＴＣＹＨを所定値＃ＣＡＬＩＢに設定する（ステップ７２）。この所定値＃ＣＡＬＩＢは、後述するステップ７９で算出された場合の燃焼効率パラメータＫＬＭＴＣＹＨよりも大きな値に設定されている。
【００９０】
一方、前記ステップ７０の判別結果がＮＯで、ＰＭＣＭＤＲＥＧ≦＃ＰＭＴＣＹＬＬＧのときには、要求トルク領域外フラグＦ＿ＴＣＹＨが「１」であるか否かを判別する（ステップ７３）。この判別結果がＹＥＳのときには、前記ステップ７２を実行する。このように、要求トルクＰＭＣＭＤＲＥＧが、上限トルク＃ＰＭＴＣＹＬＬＧよりも一旦大きくなった後、上限トルク＃ＰＭＴＣＹＬＬＧよりも小さくなっても、燃焼モードが切り換えられない限り、燃焼効率パラメータＫＬＭＴＣＹＨは、所定値＃ＣＡＬＩＢに維持される。
【００９１】
ステップ７３の判別結果がＮＯで、燃焼モードの切換え時から、要求トルクＰＭＣＭＤＲＥＧが上限トルク＃ＰＭＴＣＹＬＬＧを一度も超えていないときには、前述したマスターバッグ負圧判定処理で設定した負圧要求フラグＦ＿ＰＢＭが「１」であるか否か、およびアクセルペダル全閉フラグＦ＿ＡＰＩＤＬＥが「０」であるか否かをそれぞれ判別する（ステップ７４、７４Ａ）。これらの判別結果のいずれもがＮＯ、すなわち、ブレーキブースタ９内の負圧を増大させるべき負圧要求がなく、かつアクセルペダルが踏み込まれているときには、図１３のステップ５９で設定された切換後経過時間Ｎ＿ＴＣＹＬＬＴに基づき、図１５に実線で示す負圧非要求時用のＫＬＭＴＣＹＨＢＤＳＮテーブルを検索した値を、燃焼効率係数ＫＬＭＴＣＹＨＢＤＳとして設定する（ステップ７４Ｂ）。このテーブル値ＫＬＭＴＣＹＨＢＤＳＮは、切換後経過時間Ｎ＿ＴＣＹＬＬＴが大きいほど、すなわち燃焼モードの切換え時からの経過時間が長いほど、徐々に大きくなるように設定され、第１の所定時間Ｔ１を超えた後には、最大値ＫＤＳＭＡＸに設定されている。
【００９２】
一方、ステップ７４および７４Ａのいずれかの判別結果がＹＥＳのときには、切換後経過時間Ｎ＿ＴＣＹＬＬＴに基づき、上記ステップ７４Ｂと同様に、図１５に破線で示す負圧要求時用のＫＬＭＴＣＹＨＢＤＳＹテーブルを検索した値を、燃焼効率係数ＫＬＭＴＣＹＨＢＤＳとして設定する（ステップ７４Ｃ）。この負圧要求時用のテーブル値ＫＬＭＴＣＹＨＢＤＳＹは、上述した負圧非要求時用のテーブル値ＫＬＭＴＣＹＨＢＤＳＮと比較し、全体として高い値に設定されるとともに、上記の第１の所定時間Ｔ１を超えて所定時間Ｔ１ｂ（例えば１１００ｍｓｅｃ）まで増加し続け、すなわち、その増加期間がより長く設定されており、所定時間Ｔ１ｂ以上では、最大値ＫＤＳＭＡＸに設定されている。
【００９３】
次に、要求トルクＰＭＣＭＤＲＥＧから、図１１の前記ステップ４１または４３で設定された切換直前要求トルクＰＭＴＣＹＬＩＮを減算した値を、トルク偏差ｄｐｍｅｔｍｐとして算出し（ステップ７５）、このトルク偏差ｄｐｍｅｔｍｐが値０よりも大きいか否かを判別する（ステップ７６）。この判別結果がＹＥＳで、要求トルクＰＭＣＭＤＲＥＧが、切換直前要求トルクＰＭＴＣＹＬＩＮよりも大きいときには、トルク偏差ｄｐｍｅｔｍｐに基づき、図１６に示すｄｐｍｅｔｍｐ−ｋｄｐｍｅｔｍｐｄｓテーブルを検索することにより、補正係数ｋｄｐｍｅｔｍｐｄｓを算出する（ステップ７７）。このテーブルでは、補正係数ｋｄｐｍｅｔｍｐｄｓは、トルク偏差ｄｐｍｅｔｍｐが第１の所定値ｄｐ１以下では、最小値ｋｄｓｍｉｎ（例えば１．０）に設定され、第１の所定値ｄｐ１と、これよりも大きい第２の所定値ｄｐ２との間では、トルク偏差ｄｐｍｅｔｍｐが大きいほど、リニアに増大するように設定され、第２の所定値ｄｐ２以上では、トルク偏差ｄｐｍｅｔｍｐが大きいほど、より小さな傾きでリニアに増大するように設定されている。
【００９４】
一方、ステップ７６の判別結果がＮＯで、要求トルクＰＭＣＭＤＲＥＧが切換直前要求トルクＰＭＴＣＹＬＩＮ以下のときには、補正係数ｋｄｐｍｅｔｍｐｄｓを値１．０に設定する（ステップ７８）。次に、前記ステップ７４Ａまたは７４Ｂで設定された燃焼効率係数ＫＬＭＴＣＹＨＢＤＳに、上記ステップ７７または７８で設定された補正係数ｋｄｐｍｅｔｍｐｄｓを乗算した値を、燃焼効率パラメータＫＬＭＴＣＹＨとして設定する（ステップ７９）。
【００９５】
前記ステップ７２または７９に続くステップ８０では、図１１のステップ３９で設定された切換直前要求燃料噴射時間ＴＣＹＬＬＴＩＮ、上記燃焼効率パラメータＫＬＭＴＣＹＨ、要求トルクＰＭＣＭＤＲＥＧ、および図１１のステップ４１または４３で設定された切換直前要求トルクＰＭＴＣＹＬＩＮを用いて、リミット値ＴＣＹＬＬＴを次式（２）により算出する。
TCYLLT=TCYLLTIN・(1+KLMTCYH)・PMCMDREG/PMTCYLIN      ……（２）
【００９６】
なお、燃焼効率は、燃焼モードの切換えが実行されるような低負荷領域では、成層燃焼モードよりも均一燃焼モードの方が低くなる傾向にあるので、前者から後者への燃焼モードの切換え時には、同一のトルクを出力するための要求燃料噴射時間ＴＣＹＬＢＳが増加する傾向にある。このため、上式（２）では、値１に燃焼効率パラメータＫＬＭＴＣＹＨを加算した値（１＋ＫＬＭＴＣＹＨ）を、切換え直前を基準とした燃焼効率の低下度合を表す値として設定し、これを乗算しており、それにより、リミット値ＴＣＹＬＬＴがより大きな値に設定される。
【００９７】
また、前述したように、負圧要求があるときまたはアクセルペダルが踏み込まれていないときの燃焼効率係数ＫＬＭＴＣＹＨＢＤＳが、負圧要求がなくかつアクセルペダルが踏み込まれているときよりも大きな値に設定されるのは、以下の理由による。すなわち、負圧要求が検出されるのは、一般に、アクセルペダルが踏み込まれていないような極低負荷運転状態であるため、成層燃焼モードと均一燃焼モードとの間の燃焼効率の差が、より拡大するためである。
【００９８】
また、前述したように、負圧要求があるときまたはアクセルペダルが踏み込まれていないときの燃焼効率係数ＫＬＭＴＣＹＨＢＤＳの増加期間が、負圧要求がなくかつアクセルペダルが踏み込まれているときと比較して、より長く設定されるのは、以下の理由による。すなわち、負圧要求がある場合には、ブレーキブースタ９の容積の分、負圧にすべき容積が増加することで、吸気管内絶対圧ＰＢＡが安定するのに時間がかかり、その分、リミットの実行期間を延長するためである。また、アクセルペダルが踏み込まれていない極低負荷運転状態の場合には、要求トルクＰＭＣＭＤＲＥＧが増加していない状況での切換えなので、切換え後の実際の吸入空気量が切換え後に適した値になるのに時間がかかり、その分、リミットの実行期間を延長するためである。
【００９９】
次に、図８のステップ６で算出した通常時要求燃料噴射時間ＴＣＹＬＴＭＰが、算出したリミット値ＴＣＹＬＬＴよりも大きいか否かを判別する（ステップ８１）。この判別結果がＹＥＳのときには、リミット値ＴＣＹＬＬＴを、切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定し（ステップ８２）、本処理を終了する。
【０１００】
この判別結果がＮＯで、ＴＣＹＬＴＭＰ≦ＴＣＹＬＬＴのときには、通常時要求燃料噴射時間ＴＣＹＬＴＭＰを切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定する（ステップ８３）。また、リミット値ＴＣＹＬＬＴが通常時要求燃料噴射時間ＴＣＹＬＴＭＰ以上の関係になっていて、リミット値ＴＣＹＬＬＴによるリミットが行えない状態であるので、これを終了させるために、リミット許可フラグＦ＿ＴＣＹＬＬＴを「０」にセットし（ステップ８４）、本処理を終了する。
【０１０１】
図１７および図１８は、図１３のステップ６４で実行される成層→均一リーン燃焼モードの切換え時用のリミット値の算出処理のサブルーチンを示すフローチャートである。本処理は、上述した図１４の成層→均一ストイキ燃焼モードの場合の処理とほぼ同様であり、これと比較して、現在の燃焼モードが均一ストイキ燃焼モードまたは均一リーン燃焼モードであるか否かを判別し、燃焼効率パラメータＫＬＭＴＣＹＨを判別した燃焼モードごとに算出する点のみが、異なっている。
【０１０２】
このように判別された均一ストイキまたは均一リーン燃焼モードごとに燃焼効率パラメータＫＬＭＴＣＹＨを算出するのは、次の理由による。すなわち、切換ステイタスＥＭＯＤ＿ＳＴＳは、前述した設定の仕方から明らかなように、均一ストイキ燃焼モードと均一リーン燃焼モードの間で切換えが行われても、その値が変わらず、また、均一リーン燃焼モードから均一ストイキ燃焼モードへの切換えは、極めて短時間に行われるので、リミット値ＴＣＹＬＬＴによるリミットの実行期間中に行われる場合があるためである。なお、図１７に示すように、ステップ９０〜９３の実行内容は、上述した図１４のステップ７０〜７３と同様であるので、その具体的な説明は省略する。したがって、以下、ステップ９３に続く、ステップ９４の処理から説明する。
【０１０３】
このステップ９４では、燃焼モードモニタＳＴ＿ＥＭＯＤが「０」であるか否かを判別する。この判別結果がＮＯで、そのときの燃焼モードが均一リーン燃焼モードであるときには、切換後経過時間Ｎ＿ＴＣＹＬＬＴに基づき、図１９に示すＫＬＭＴＣＹＨＢＤＬテーブルを検索することにより、均一リーン燃焼モード用の燃焼効率係数ＫＬＭＴＣＹＨＢＤＬを算出する（ステップ９５）。このテーブルでは、前述した図１５のテーブルと同様、燃焼効率係数ＫＬＭＴＣＹＨＢＤＬは、切換後経過時間Ｎ＿ＴＣＹＬＬＴが大きいほど、大きな値に設定され、切換後経過時間Ｎ＿ＴＣＹＬＬＴが第２の所定時間Ｔ２以上では、最大値ＫＤＬＭＡＸに設定されている。第２の所定時間Ｔ２は、前述した図１０のテーブルの第１の所定時間Ｔ１よりも短い時間に設定されている。
【０１０４】
次に、図１４のステップ７５および７６と同様にして、要求トルクＰＭＣＭＤＲＥＧと切換直前要求トルクＰＭＴＣＹＬＩＮとのトルク偏差ｄｐｍｅｔｍｐを算出し（ステップ９６）、ｄｐｍｅｔｍｐ＞０であるか否かを判別する（ステップ９７）。この判別結果がＹＥＳで、要求トルクＰＭＣＭＤＲＥＧが、切換直前要求トルクＰＭＴＣＹＬＩＮよりも大きいときには、トルク偏差ｄｐｍｅｔｍｐに基づき、図２０に示すｄｐｍｅｔｍｐ−ｋｄｐｍｅｔｍｐｄｌテーブルを検索することにより、均一リーン燃焼モード用の補正係数ｋｄｐｍｅｔｍｐｄｌを算出する（ステップ９８）。このテーブルでは、補正係数ｋｄｐｍｅｔｍｐｄｌは、トルク偏差ｄｐｍｅｔｍｐが第３の所定値ｄｐ３以下では、最小値ｋｄｌｍｉｎに設定され、第３の所定値ｄｐ３よりも大きいときには、トルク偏差ｄｐｍｅｔｍｐが大きいほど、リニアに増大するように設定されている。一方、ステップ９７の判別結果がＮＯの場合は、前記ステップ７８と同様に、補正係数ｋｄｐｍｅｔｍｐｄｌを値１．０に設定する（ステップ９９）。
【０１０５】
上記ステップ９８または９９に続くステップ１００では、燃焼効率パラメータＫＬＭＴＣＹＨを、前記ステップ９５で算出された燃焼効率係数ＫＬＭＴＣＹＨＢＤＬに、上記ステップ９８または９９で設定された補正係数ｋｄｐｍｅｔｍｐｄｌを乗算した値に設定する。
【０１０６】
一方、前記ステップ９４の判別結果がＹＥＳのときには、燃焼モードが均一リーン燃焼モードから均一ストイキ燃焼モードに切り換えられているので、前述したステップ７４〜７９と全く同様に、ステップ１０１〜１０８を実行する。
【０１０７】
次いで、前記ステップ１００または１０８で設定された燃焼効率パラメータＫＬＭＴＣＹＨなどを用いて、リミット値ＴＣＹＬＬＴを、前記ステップ８０と同様に、前述した式（２）により算出する（ステップ１０９）。次いで、図１４のステップ８１〜８４と全く同様に、ステップ１１０〜１１３を実行し、本処理を終了する。
【０１０８】
図２１は、図１３のステップ６５で実行される均一ストイキ→成層燃焼モードの切換え時用のリミット値ＴＣＹＬＬＴの算出処理のサブルーチンを示すフローチャートである。まず、ステップ１２０では、切換後経過時間Ｎ＿ＴＣＹＬＬＴに基づき、図２２に示すＫＬＭＴＣＹＳＤテーブルを検索することにより、均一ストイキ→成層燃焼モードの切換え時用の燃焼効率パラメータＫＬＭＴＣＹＳＤを算出する。このテーブルでは、燃焼効率パラメータＫＬＭＴＣＹＳＤは、切換後経過時間Ｎ＿ＴＣＹＬＬＴが第３の所定時間Ｔ３以下では最小値ＫＳＤＭＩＮに設定され、これよりも大きい場合には最大値ＫＳＤＭＡＸに設定されている。
【０１０９】
次いで、ステップ１２１では、切換直前要求燃料噴射時間ＴＣＹＬＬＴＩＮ、上記燃焼効率パラメータＫＬＭＴＣＹＳＤ、要求トルクＰＭＣＭＤＲＥＧ、および切換直前要求トルクＰＭＴＣＹＬＩＮを用いて、リミット値ＴＣＹＬＬＴを次式（３）により算出する。
TCYLLT=TCYLLTIN・(1-KLMTCYSD)・PMCMDREG/PMTCYLIN      ……（３）
【０１１０】
なお、低負荷領域では、燃焼効率は、前述したように均一燃焼モードよりも成層燃焼モードの方が高くなる傾向にあるので、前者から後者への燃焼モードの切換え時には、同一のトルクを出力するための要求燃料噴射時間ＴＣＹＬＢＳが減少する傾向にある。このため、上式（３）では、前記（２）式と異なり、値１から燃焼効率パラメータＫＬＭＴＣＹＳＤを減算した値（１−ＫＬＭＴＣＹＳＤ）を、切換え直前を基準とした燃焼効率の上昇度合を表す値として設定し、これを乗算しており、それにより、リミット値ＴＣＹＬＬＴがより小さな値に設定される。
【０１１１】
次いで、通常時要求燃料噴射時間ＴＣＹＬＴＭＰが、算出されたリミット値ＴＣＹＬＬＴよりも小さいか否かを判別する（ステップ１２２）。この判別結果がＹＥＳのときには、リミット値ＴＣＹＬＬＴを、切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定し（ステップ１２３）、本処理を終了する。
【０１１２】
この判別結果がＮＯで、ＴＣＹＬＴＭＰ≧ＴＣＹＬＬＴのときには、通常時要求燃料噴射時間ＴＣＹＬＴＭＰを切換時要求燃料噴射時間ＴＣＹＬＬＭＴとして設定する（ステップ１２４）。また、リミット値ＴＣＹＬＬＴが通常要求燃料噴射時間ＴＣＹＬＴＭＰ以下の関係になっていて、リミット値ＴＣＹＬＬＴによるリミットが行えない状態であるので、これを終了させるために、リミット許可フラグＦ＿ＴＣＹＬＬＴを「０」にセットし（ステップ１２５）、本処理を終了する。
【０１１３】
図２３は、図１３のステップ６６で実行される均一リーン→成層燃焼モードの切換え時用のリミット値ＴＣＹＬＬＴの算出処理のサブルーチンを示すフローチャートである。まず、ステップ１３０では、切換後経過時間Ｎ＿ＴＣＹＬＬＴに基づき、図２４に示すＮ＿ＴＣＹＬＬＴ−ＫＬＭＴＣＹＬＤテーブルを検索することにより、均一リーン→成層燃焼モードの切換え時用の燃焼効率パラメータＫＬＭＴＣＹＬＤを算出する。このテーブルでは、燃焼効率パラメータＫＬＭＴＣＹＬＤは、切換後経過時間Ｎ＿ＴＣＹＬＬＴが第４の所定時間Ｔ４以下では最小値ＫＬＤＭＩＮに設定され、第４の所定時間Ｔ４よりも大きいときには最大値ＫＬＤＭＡＸに設定されている。
【０１１４】
次いで、切換直前要求燃料噴射時間ＴＣＹＬＬＴＩＮ、上記燃焼効率パラメータＫＬＭＴＣＹＬＤ、要求トルクＰＭＣＭＤＲＥＧ、および切換え直前要求トルクＰＭＴＣＹＬＩＮを用いて、リミット値ＴＣＹＬＬＴを次式（４）により算出する（ステップ１３１）。
TCYLLT=TCYLLTIN・(1-KLMTCYLD)・PMCMDREG/PMTCYLIN      ……（４）
なお、上式（４）では、前記（３）式と同様に、値１から燃焼効率パラメータＫＬＭＴＣＹＬＤを減算した値（１−ＫＬＭＴＣＹＬＤ）を、切換え直前を基準とした燃焼効率の上昇度合を表す値として設定し、これを乗算しており、それにより、リミット値ＴＣＹＬＬＴがより小さな値に設定される。
【０１１５】
次に、図２１のステップ１２２〜１２５と同様に、ステップ１３２〜１３５を実行し、本処理を終了する。
【０１１６】
以上のように、本実施形態の制御装置１によれば、エンジン３の燃焼モードが成層燃焼モードから均一ストイキ燃焼モードに切り換えられる際に、２回噴射燃焼モードでの運転を実行する移行期間が、負圧要求がない場合には所定時間＃ＣＭＯＤＤＳＨに設定され、負圧要求があり且つアクセル開度ＡＰが全閉状態である場合にはより長い所定時間＃ＣＭＯＤＤＳＬに設定される。したがって、負圧要求によってブレーキブースタ９の容積の分、負圧にすべき容積が増加することで、吸気管４内の圧力が安定しない状態が長くなったとしても、それに応じ、より燃焼しやすい２回噴射燃焼モードでの運転期間が延長されることにより、エンジン３の急激なトルク変動や失火を確実に回避でき、エンジン３の安定した運転状態を確保することができる。
【０１１７】
また、このように、負圧要求があったときに、２回噴射燃焼モードでの運転期間の延長によって、エンジン３の安定した運転状態が確保されるので、負圧要求に応えることを優先して、ブレーキブースタ９内の負圧を増大させることができ、それによりブレーキの制動力を速やかに確保することができる。
【０１１８】
さらに、エンジン３の燃焼モードが成層燃焼モードから均一ストイキ燃焼モード切り換えられ且つ負圧要求がある場合、燃焼効率パラメータＫＬＭＴＣＹＨを算出するための燃焼効率係数ＫＬＭＴＣＹＨＤＳの増加期間は、負圧要求がない場合よりも長く設定される。それにより、負圧要求の有無に応じたブレーキブースタ９の容積の影響を反映させながら、燃焼効率パラメータＫＬＭＴＣＹＨを適切に設定することができる。また、負圧要求が検出されるのは、エンジン３が極低負荷状態にある場合、すなわち、成層燃焼モードおよび均一ストイキ燃焼モード間の燃焼効率の差が大きい場合である。したがって、前述したように、負圧要求があるときの燃焼効率係数ＫＬＭＴＣＹＨＤＳを、負圧要求がないときよりも大きな値に設定することによって、燃焼効率パラメータＫＬＭＴＣＹＨを、燃焼モード間における上述した燃焼効率の差に応じて、より適切に設定することができる。以上により、燃焼効率パラメータＫＬＭＴＣＹＨが適切に設定されることによって、燃焼モードの切換えの前後でのエンジン３のトルク変動や回転変動を防止でき、ドライバビリティを向上させることができる。
【０１１９】
なお、上述した実施形態では、２回噴射燃焼モードでの運転期間を設定する際、および要求燃料噴射時間ＴＣＹＬＢＳを算出するための燃焼効率係数ＫＬＭＴＣＹＨＢＤＳを設定する際の負圧要求の有無の判別を、燃焼モードが成層燃焼モードから均一ストイキ燃焼モードに切り換えられたときのみ行っているが、これに限定されることなく、他の互いに異なる燃焼モード間の切換え時に行うことも可能である。
【０１２０】
また、実施形態では、燃焼モードが成層燃焼モードから均一ストイキ燃焼モードに切り換えられた場合において、負圧要求があり且つアクセル開度ＡＰが全閉状態であるときに、２回噴射燃焼モードでの運転期間を、より長い所定時間＃ＣＭＯＤＤＳＬに設定しているが、これらの一方の条件のみが成立したときに設定してもよい。また、実施形態では、同様に、燃焼モードが成層燃焼モードから均一ストイキ燃焼モードに切り換えられた場合において、負圧要求があること、およびアクセル開度ＡＰが全閉状態であることのいずれか一方が成立したときに、燃焼効率係数ＫＬＭＴＣＹＨＢＤＳを、負圧要求時用のテーブル値ＫＬＭＴＣＹＨＢＤＳＹに設定しているが、これら両方の条件がともに成立したときに設定するようにしてもよい。
【０１２１】
また、実施形態は、本発明の内燃機関の制御装置を、車両用の内燃機関に適用した例であるが、これに限定されることなく、他の産業用機械、例えば、クランクシャフトを鉛直方向に配置した船外機などのような船舶推進機用の内燃機関にも適用可能である。
【０１２２】
【発明の効果】
以上のように、本発明の内燃機関の制御装置は、燃焼モードの切換えが行われても、ブレーキの制動力の速やかな増大と内燃機関の安定した運転状態をともに確保できるなどの効果を有する。
【図面の簡単な説明】
【図１】本発明を適用した内燃機関の制御装置を示す概略構成図である。
【図２】燃料噴射制御処理を示すフローチャートである。
【図３】マスターバッグ負圧判定処理のサブルーチンを示すフローチャートである。
【図４】要求トルク算出処理のサブルーチンを示すフローチャートである。
【図５】内燃機関の燃焼モードを設定するためのテーブルの一例である。
【図６】燃焼モード遷移判別処理のサブルーチンを示すフローチャートの一部である。
【図７】図６のフローチャートの残りの部分である。
【図８】要求燃料噴射時間算出処理のサブルーチンを示すフローチャートである。
【図９】切換え時リミット処理のサブルーチンを示すフローチャートである。
【図１０】リミット値算出パラメータ設定処理のサブルーチンを示すフローチャートの一部である。
【図１１】図１０のフローチャートの残りの部分である。
【図１２】リミット値算出処理のサブルーチンを示すフローチャートの一部である。
【図１３】図１２のフローチャートの残りの部分である。
【図１４】成層燃焼モード→均一ストイキ燃焼モードのリミット値算出処理のサブルーチンを示すフローチャートである。
【図１５】負圧要求の有無などにより、燃焼効率係数ＫＬＭＴＣＹＨＢＤＳを設定するためのテーブルの一例である。
【図１６】補正係数ｋｄｐｍｅｔｍｐｄｓを設定するためのテーブルの一例である。
【図１７】成層燃焼モード→均一リーン燃焼モードのリミット値算出処理のサブルーチンを示すフローチャートである。
【図１８】図１７のフローチャートの残りの部分である。
【図１９】燃焼効率係数ＫＬＭＴＣＹＨＢＤＬを設定するためのテーブルの一例である。
【図２０】補正係数ｋｄｐｍｅｔｍｐｄｌを設定するためのテーブルの一例である。
【図２１】均一ストイキ燃焼モード→成層燃焼モードのリミット値算出処理のサブルーチンを示すフローチャートである。
【図２２】燃焼効率係数ＫＬＭＴＣＹＳＤを設定するためのテーブルの一例である。
【図２３】均一リーン燃焼モード→成層燃焼モードのリミット値算出処理のサブルーチンを示すフローチャートである。
【図２４】燃焼効率係数ＫＬＭＴＣＹＬＤを設定するためのテーブルの一例である。
【符号の説明】
１  制御装置
２  ＥＣＵ（運転状態検出手段、要求出力算出手段、燃焼モード決定手段、負圧要求検出手段、移行期間設定手段、燃焼効率推定手段）
３  エンジン（内燃機関）
９  ブレーキブースタ
２１  負圧センサ（負圧要求検出手段）
２４  クランク角センサ（運転状態検出手段）
３１  大気圧センサ（負圧要求検出手段）
３２  アクセル開度センサ（運転状態検出手段）
ＮＥ  エンジン回転数（運転状態）
ＡＰ  アクセル開度（運転状態）
ＰＭＣＭＤＲＥＧ  要求トルク（要求出力）
ＴＣＹＬＢＳ  要求燃料噴射時間（燃料噴射量）
＃ＣＭＯＤＤＳＬ  所定時間（移行期間）
ＫＬＭＴＣＹＨ  燃焼効率パラメータ（燃焼効率）
【図１】
2004190649.tif 000003
【図２】
2004190649.tif 000004
【図３】
2004190649.tif 000005
【図４】
2004190649.tif 000006
【図５】
2004190649.tif 000007
【図６】
2004190649.tif 000008
【図７】
2004190649.tif 000009
【図８】
2004190649.tif 000010
【図９】
2004190649.tif 000011
【図１０】
2004190649.tif 000012
【図１１】
2004190649.tif 000013
【図１２】
2004190649.tif 000014
【図１３】
2004190649.tif 000015
【図１４】
2004190649.tif 000016
【図１５】
2004190649.tif 000017
【図１６】
2004190649.tif 000018
【図１７】
2004190649.tif 000019
【図１８】
2004190649.tif 000020
【図１９】
2004190649.tif 000021
【図２０】
2004190649.tif 000022
【図２１】
2004190649.tif 000023
【図２２】
2004190649.tif 000024
【図２３】
2004190649.tif 000025
【図２４】
2004190649.tif 000026