(57)【要約】【課題】フューエルカットの直後に非同期噴射を行うシステムにおいて、非同期噴射量を最適に制御すること。【解決手段】内燃機関１０の排気通路１４に配置される排気浄化触媒４２と、排気浄化触媒４２の下流に配置され、排気ガス中の酸素濃度を検出するＯ２センサ４８と、車両減速時に内燃機関１０への燃料供給を停止して、燃料カット運転を行う燃料カット運転手段と、燃料カット運転から通常運転に復帰した際に非同期燃料噴射を行う非同期燃料噴射手段と、燃料カット運転の終了後、Ｏ２センサ４８の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、非同期燃料噴射による燃料噴射量を制御する制御手段と、を備える。【選択図】図３
2007177759.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配置される排気浄化触媒と、
前記排気浄化触媒の下流に配置され、排気ガス中の酸素濃度を検出する検出手段と、
車両減速時に内燃機関への燃料供給を停止して、燃料カット運転を行う燃料カット運転手段と、
前記燃料カット運転から通常運転に復帰した際に非同期燃料噴射を行う非同期燃料噴射手段と、
前記燃料カット運転の終了後、前記検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、前記非同期燃料噴射による燃料噴射量を制御する制御手段と、
を備えたことを特徴とする内燃機関の制御装置。
【請求項２】
前記制御手段は、前記検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、前記非同期燃料噴射を行う気筒数を可変することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記制御手段は、前記非同期燃料噴射による燃料噴射量を減量する場合は、前記非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に前記非同期燃料噴射を停止することを特徴とする請求項２記載の内燃機関の制御装置。
【請求項４】
前記制御手段は、前記非同期燃料噴射による燃料噴射量を減量する場合は、前記非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に前記非同期燃料噴射による燃料噴射量を減量することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項５】
前記制御手段は、前記非同期燃料噴射による燃料噴射量を可変する場合は、前記非同期燃料噴射による燃料が早く筒内に吸入される気筒順に前記非同期燃料噴射を実施する気筒を決定することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項６】
前記制御手段は、前記非同期燃料噴射による燃料噴射量を増量する場合は、前記非同期燃料噴射による燃料が早く筒内に吸入される気筒順に前記燃料噴射量を増量することを特徴とする請求項１記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、例えば特開昭６３−１１７１３９号公報には、触媒下流側のＡ／Ｆセンサ出力値に基づき、触媒のＯ２ストレージ能力を判定し、そのＯ２ストレージ能力に応じて非同期噴射量を定める技術が記載されている。
【０００３】
また、近時においては、所定の運転条件下で燃料カット（フューエルカット）運転を行う内燃機関システムが提案されている。このようなシステムによれば、フューエルカットにより燃費、効率を向上することができる。
【０００４】
【特許文献１】特開昭６３−１１７１３９号公報
【特許文献２】特開平８−１９３５３７号公報
【特許文献３】特開２００５−２０１１１２号公報
【特許文献４】特開２００５−１４００１１号公報
【特許文献５】特開平２−２９１４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
フューエルカットを行うシステムでは、フューエルカット直後に触媒が酸化雰囲気となるため、触媒の上流から流れてきた窒素酸化物（ＮＯｘ）が触媒下流に排出される場合がある。このため、窒素酸化物の排出を抑えるためには、非同期噴射を行って触媒を還元する必要がある。
【０００６】
しかしながら、インジェクタからの燃料噴射量には、通常、ある程度のバラツキが含まれている。従って、非同期噴射の際には、インジェクタの噴射量バラツキが考慮されずに燃料噴射が行われるという問題がある。上記従来技術の方法でＡ／Ｆセンサ出力値に基づいて非同期噴射量を補正した場合であっても、このバラツキを考慮して燃料噴射を行うことはできない。このため、非同期噴射量が必要量よりも少ない場合は触媒の還元が不十分になることが懸念される。また、非同期噴射量が過度に多くなると触媒が過剰なリッチ状態となることが懸念される。
【０００７】
触媒の還元が不十分になると、窒素酸化物が触媒下流に排出され易くなる問題が生じる。また、触媒に酸素が多く吸蔵された状態で触媒温度が高温になると、触媒の劣化が進行するという問題がある。一方、触媒が過剰なリッチ状態となると、排気中の未燃成分の酸化反応が不足して触媒による排気の浄化性能が低下したり、触媒が燃料中のイオウにより被毒されて触媒臭が発生する場合があり、好ましいものではない。
【０００８】
この発明は、上述のような問題を解決するためになされたものであり、フューエルカットの直後に非同期噴射を行うシステムにおいて、非同期噴射量を最適に制御することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、上記の目的を達成するため、内燃機関の排気通路に配置される排気浄化触媒と、前記排気浄化触媒の下流に配置され、排気ガス中の酸素濃度を検出する検出手段と、車両減速時に内燃機関への燃料供給を停止して、燃料カット運転を行う燃料カット運転手段と、前記燃料カット運転から通常運転に復帰した際に非同期燃料噴射を行う非同期燃料噴射手段と、前記燃料カット運転の終了後、前記検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、前記非同期燃料噴射による燃料噴射量を制御する制御手段と、を備えたことを特徴とする。
【００１０】
第２の発明は、第１の発明において、前記制御手段は、前記検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、前記非同期燃料噴射を行う気筒数を可変することを特徴とする。
【００１１】
第３の発明は、第２の発明において、前記制御手段は、前記非同期燃料噴射による燃料噴射量を減量する場合は、前記非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に前記非同期燃料噴射を停止することを特徴とする。
【００１２】
第４の発明は、第１の発明において、前記制御手段は、前記非同期燃料噴射による燃料噴射量を減量する場合は、前記非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に前記非同期燃料噴射による燃料噴射量を減量することを特徴とする。
【００１３】
第５の発明は、第１の発明において、前記制御手段は、前記非同期燃料噴射による燃料噴射量を可変する場合は、前記非同期燃料噴射による燃料が早く筒内に吸入される気筒順に前記非同期燃料噴射を実施する気筒を決定することを特徴とする。
【００１４】
第６の発明は、第１の発明において、前記制御手段は、前記非同期燃料噴射による燃料噴射量を増量する場合は、前記非同期燃料噴射による燃料が早く筒内に吸入される気筒順に前記燃料噴射量を増量することを特徴とする。
【発明の効果】
【００１５】
第１の発明によれば、燃料カット運転の終了後、検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、非同期燃料噴射による燃料噴射量を制御するため、燃料カット運転の終了直後の排気浄化触媒の酸素吸蔵量を最適に制御することができる。従って、燃料カット運転の終了直後に排気浄化触媒の下流にＮＯｘが排出されてしまうことを抑止するとともに、排気浄化触媒が過剰なリッチ状態となって触媒臭が発生してしまうことを抑止することが可能となる。
【００１６】
第２の発明によれば、検出手段の検出値が燃料リーンから燃料リッチに反転するまでの時間に応じて、非同期燃料噴射を行う気筒数を可変するため、気筒数の増減により非同期燃料噴射による燃料噴射量を制御することができる。
【００１７】
第３の発明によれば、非同期燃料噴射による燃料噴射量を減量する場合は、非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に非同期燃料噴射を停止するため、燃料カット運転から通常運転に復帰した際に、より早く筒内に燃料が吸入される気筒から順に優先的に非同期燃料噴射が実施されることとなる。従って、燃料カット運転の終了直後に非同期噴射による燃料リッチガスを短時間で排気浄化触媒へ到達させることができ、排気浄化触媒を早期に還元することが可能となる。
【００１８】
第４の発明によれば、非同期燃料噴射による燃料噴射量を減量する場合は、非同期燃料噴射による燃料が遅く筒内に吸入される気筒から順番に非同期燃料噴射による燃料噴射量を減量するため、燃料カット運転から通常運転に復帰した際に、より早く筒内に燃料が吸入される気筒から順に優先的に非同期燃料噴射が実施されることとなる。従って、燃料カット運転の終了直後に非同期噴射による燃料リッチガスを短時間で排気浄化触媒へ到達させることができ、排気浄化触媒を早期に還元することが可能となる。また、気筒毎に燃料噴射量を減量するため、非同期燃料噴射量を緻密に制御することが可能となり、排気浄化触媒の酸素吸蔵量を高い精度で制御することができる。
【００１９】
第５の発明によれば、非同期燃料噴射による燃料噴射量を可変する場合は、非同期燃料噴射による燃料が早く筒内に吸入される気筒順に非同期燃料噴射を実施する気筒を決定するため、燃料カット運転の終了直後に非同期噴射による燃料リッチガスを短時間で排気浄化触媒へ到達させることができ、排気浄化触媒を早期に還元することが可能となる。
【００２０】
第６の発明によれば、非同期燃料噴射による燃料噴射量を増量する場合は、非同期燃料噴射による燃料が早く筒内に吸入される気筒順に前記燃料噴射量を増量するため、燃料カット運転の終了直後に非同期噴射による燃料リッチガスを短時間で排気浄化触媒へ到達させることができ、排気浄化触媒を早期に還元することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、図面に基づいてこの発明のいくつかの実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。なお、以下の実施の形態によりこの発明が限定されるものではない。
【００２２】
実施の形態１．
図１は、本発明の各実施形態にかかる内燃機関の制御装置及びその周辺の構造を説明するための図である。内燃機関１０には吸気通路１２および排気通路１４が連通している。吸気通路１２は、上流側の端部にエアフィルタ１６を備えている。エアフィルタ１６には、吸気温ＴＨＡ（すなわち外気温）を検出する吸気温センサ１８が組みつけられている。
【００２３】
エアフィルタ１６の下流には、エアフロメータ２０が配置されている。エアフロメータ２０の下流には、スロットルバルブ２２が設けられている。スロットルバルブ２２の近傍には、スロットル開度ＴＡを検出するスロットルセンサ２４と、スロットルバルブ２２が全閉となることでオンとなるアイドルスイッチ２６とが配置されている。
【００２４】
スロットルバルブ２２の下流には、サージタンク２８が設けられている。また、サージタンク２８の更に下流には、内燃機関１０の吸気ポートに燃料を噴射するための燃料噴射弁３０が配置されている。
【００２５】
内燃機関１０の各気筒はピストン３４を備えている。ピストン３４には、その往復運動によって回転駆動されるクランク軸３６が連結されている。車両駆動系と補機類（エアコンのコンプレッサ、オルタネータ、トルクコンバータ、パワーステアリングのポンプ等）は、このクランク軸３６の回転トルクによって駆動される。また、内燃機関１０の各気筒は、吸気弁５０および排気弁５２を備えている。
【００２６】
クランク軸３６の近傍には、クランク軸３６の回転角を検出するためのクランク角センサ３８が取り付けられている。クランク角センサ３８によれば、クランク軸３６の回転数（機関回転数）、クランク角位置を検出することができる。また、内燃機関１０のシリンダブロックには、冷却水温を検出する水温センサ３２が取り付けられている。
【００２７】
排気通路１４には、排気浄化触媒４２が配置されている。排気浄化触媒４２は、流入する排気空燃比がリーンのときに排気中のＮＯＸを吸着、吸収またはその両方にて選択的に保持（吸蔵）し、流入する排気の空燃比が理論空燃比またはリッチ空燃比となったときに、吸蔵しているＮＯＸを排気中の還元成分（ＨＣ，ＣＯ）を用いて還元浄化するものである。換言すれば、排気浄化触媒４２は、排気通路１４を流れるガス中に含まれる酸素を保持（吸蔵）することにより酸化され、排気中に還元成分が含まれる場合は、酸素を放出することで還元状態とされるものである。
【００２８】
排気通路１４には、排気浄化触媒４２の上流に空燃比センサ（Ａ／Ｆセンサ）４６が配置されている。空燃比センサ４６は排気ガス中の酸素濃度を検出するセンサであって、排気浄化触媒４２に流入する排気ガス中の酸素濃度に基づいて内燃機関１０で燃焼に付された混合気の空燃比を検出するものである。
【００２９】
また、排気浄化触媒４２の下流には、Ｏ２センサ４８が配置されている。Ｏ２センサ４８は、排気ガス中の酸素濃度が所定値より大きいか小さいかを検出するためのセンサであって、センサ位置の排気空燃比がストイキよりも燃料リッチになると所定電圧（例えば０．４５Ｖ）以上の出力を発生し、排気空燃比がストイキよりも燃料リーンになると所定電圧以下の出力を発生する。従って、Ｏ２センサ４８によれば、排気浄化触媒４２の下流に、燃料リッチな排気ガス（ＨＣ，ＣＯを含む排気ガス）、或いは燃料リーンな排気ガス（ＮＯＸを含む排気ガス）が流出してきたかを判断することができる。
【００３０】
排気浄化触媒４２における酸素吸蔵量は、内燃機関１０の運転状態に応じて変動する。例えば空燃比をリーンにする制御が行われた場合は、排気中の酸素量が増加するため、排気浄化触媒４２の酸素吸蔵量は増加する。一方、空燃比をリッチにする制御が行われた場合は、排気中の還元成分が増加し、排気浄化触媒４２から酸素が放出されるため、酸素吸蔵量は減少する。
【００３１】
図１に示すように、本実施形態の燃焼状態推定装置はＥＣＵ（Electronic Control Unit）４０を備えている。ＥＣＵ４０には、上述した各種センサおよび燃料噴射弁３０に加えて、車速ＳＰＤを検出する車速センサ３３などが接続されている。
【００３２】
このように構成されたシステムにおいて、内燃機関１０を搭載した車両が減速運転を行っている条件下では、燃料噴射弁３０からの燃料供給を停止する制御（フューエルカット）が行われる。フューエルカット時には、吸気通路１２から排気通路１４へ空気が流れるため、空気中の酸素を排気浄化触媒４２に吸着させることができる。また、フューエルカット中は燃焼が行われないため、燃費を向上することが可能となる。
【００３３】
フューエルカットの終了後は、排気浄化触媒４２に十分に酸素が供給されており、排気浄化触媒４２は酸素リッチ状態となっている。この場合において、上流側からＮＯｘを含むリーンな排気ガスが流れてくると、排気浄化触媒４２の下流にＮＯｘが排出される場合がある。
【００３４】
このため、本実施形態では、フューエルカットから通常運転に復帰した直後に非同期燃料噴射を実施し、排気通路１４に還元成分を送るようにしている。これにより、非同期噴射を行うことで、燃料リッチな排気が排気浄化触媒４２に流れるため、排気浄化触媒４２を瞬間的に還元することができる。従って、フューエルカット後にリーンな排気が流れた場合であっても、排気浄化触媒４２の下流にＮＯｘが排出されてしまうことを抑止できる。
【００３５】
非同期噴射は、通常、オープン制御により各気筒の燃料噴射弁３０から所定量の燃料を同時に噴射することで行われる。この際、排気浄化触媒４２に燃料リッチな排気が過剰に供給されると、排気浄化触媒４２が過剰リッチとなり、触媒臭が発生する場合がある。一方、燃料リッチな排気の供給が不足すると、排気浄化触媒４２を十分に還元することができない。従って、排気浄化触媒４２の酸素吸蔵状態に応じて非同期噴射量を最適に制御する必要がある。
【００３６】
しかし、排気浄化触媒４２が吸蔵可能な酸素量は排気浄化触媒４２の劣化によって低下するため、オープン制御による非同期噴射では、排気浄化触媒４２の劣化を考慮した上で排気浄化触媒４２に最適な量の燃料リッチガスを供給することはできない。また、燃料噴射量の指令値に対して、燃料噴射弁３０から実際に噴射される燃料量にはバラツキが生じるため、バラツキの影響を考慮した上で非同期噴射量を制御することは困難である。
【００３７】
このため、本実施形態では、フューエルカット後に非同期燃料噴射を行った際に、Ｏ２センサ４８の検出値がリーンからリッチに反転するまでの時間を検出し、検出した時間に基づいて、次回のフューエルカット後に実施される非同期燃料噴射量を補正するようにしている。（これにより、排気浄化触媒４２の酸素吸蔵量を最適に制御することができる。）
【００３８】
フューエルカット中は、排気通路１４に送られた空気中の酸素が排気浄化触媒４２に吸蔵される。非同期燃料噴射を開始した時点では、排気浄化触媒４２は十分に酸化されているため、非同期噴射によって排気通路１４に流れた還元成分（ＨＣ，ＣＯ）は排気浄化触媒４２に吸蔵された酸素によって酸化される。従って、還元成分が排気浄化触媒４２の下流に流れることが抑えられ、Ｏ２センサ４８の検出値はリーンになる。
【００３９】
非同期噴射を開始してから時間が経過すると、排気浄化触媒４２に吸蔵されていた酸素が減少していき、排気浄化触媒４２が還元状態となる。この状態では、燃料リッチな排気が排気浄化触媒４２の下流に流れるため、Ｏ２センサ４８の検出値はリッチに反転する。
【００４０】
非同期噴射を開始してからＯ２センサ４８の検出値がリーンからリッチに反転するまでの時間は、非同期噴射量に応じて変化する。そして、非同期噴射量が多いほど排気浄化触媒４２の還元が促進されるため、Ｏ２センサ４８の検出値がリッチに反転するまでの時間は短くなる。
【００４１】
また、排気浄化触媒４２が劣化した場合は吸蔵可能な酸素量が低下するため、排気浄化触媒４２の劣化が進行している場合ほど、Ｏ２センサ４８の検出値がリッチに反転するまでの時間は短くなる。更に、燃料噴射弁３０からの噴射量にバラツキが生じている場合は、燃料噴射量の指令値に対して実際の噴射量が多くなるほど、Ｏ２センサ４８の検出値がリッチに反転するまでの時間は短くなる。このように、Ｏ２センサ４８の検出値がリッチに反転するまでの時間には、排気浄化触媒４２の劣化度合いの要因、または燃料噴射弁３０からの噴射量バラツキの要因が含まれている。
【００４２】
従って、Ｏ２センサ４８の検出値がリッチに反転するまでの時間に基づいて非同期噴射量を決定することで、排気浄化触媒４２の劣化度合い、または燃料噴射弁３０からの噴射量バラツキによる影響を考慮した上で、排気浄化触媒４２の酸素吸蔵量を最適に制御することができる。
【００４３】
例えば、Ｏ２センサ４８の検出値がリッチに反転するまでの時間が所定の判定値よりも短い場合は、排気浄化触媒４２が劣化しているか、又は燃料噴射量の指令値に対して実際の燃料噴射量が多くなっている等の要因により、排気浄化触媒４２が還元状態になり易いと判断できる。従って、この場合は、次回のフューエルカット後の非同期噴射量を減少させる制御を行う。これにより、排気浄化触媒４２が過剰なリッチ状態となることを回避でき、排気ガスの浄化性能の低下を抑えるとともに、触媒臭の発生を抑止することができる。
【００４４】
また、Ｏ２センサ４８の検出値がリッチに反転するまでの時間が所定の判定値よりも長い場合は、排気浄化触媒４２の劣化が進行していないか、又は燃料噴射量の指令値に対して実際の燃料噴射量が少ない等の要因により、排気浄化触媒４２が還元されにくい状況であると判断できる。従って、この場合は、次回のフューエルカット後の非同期噴射量を増加する制御を行う。これにより、フューエルカット後、確実に排気浄化触媒４２を還元することができ、フューエルカット直後にＮＯｘが排出されることを確実に抑止できる。
【００４５】
このように、Ｏ２センサ４８の検出値がリッチに反転するまでの時間に基づいて非同期噴射量を決定することで、排気浄化触媒４２を適度に還元することができ、排気浄化触媒４２の酸素吸蔵量を最適に制御することが可能となる。従って、排気浄化触媒４２を還元することでＮＯｘの排出を抑止するとともに、排気浄化触媒４２が過剰なリッチ状態となることを回避できる。
【００４６】
本実施形態の内燃機関１０は、４気筒の機関により構成されている。本実施形態において、非同期噴射量の増減は、非同期噴射を行う気筒を増減することで行う。例えば、非同期噴射量を多くする場合は、フューエルカット後に４気筒の全てにおいて非同期噴射を行う。一方、非同期噴射量を少なくする場合は、４気筒のうちの特定気筒のみ（例えば１気筒のみ）で非同期噴射を行う。このように、非同期噴射を行う気筒数を可変することで、非同期噴射量を可変することができる。
【００４７】
また、非同期噴射量を増減する際は、フューエルカット後により早く筒内に燃料が吸入される気筒から順に非同期噴射を実施する気筒が決定される。例えば、１つの気筒のみで非同期噴射を行う場合は、フューエルカット後、最も早く筒内に燃料が吸入される１気筒のみで非同期噴射を行う。また、例えば３つの気筒で非同期噴射を行う場合は、フューエルカット後、最も早く筒内に燃料が吸入される３気筒で非同期噴射を行う。非同期噴射による燃料リッチガスは、非同期噴射燃料が最も早く筒内に吸入される気筒から順に排気通路１４へ排出されるため、このような手法によれば、非同期噴射による燃料リッチガスを最短時間で排気浄化触媒４２へ供給することができる。従って、フューエルカット直後に排気浄化触媒４２を瞬間的に還元することができ、ＮＯｘの排出を確実に抑えることができる。
【００４８】
なお、フューエルカット後に最も早く筒内に燃料が吸入される気筒のみで、全気筒の非同期噴射量に相当する燃料を噴射することも考えられるが、当該気筒で実際に燃焼可能な燃料量を超えてしまうため現実的ではない。従って、非同期噴射量が１気筒からの噴射で済む程度の量である場合以外は、複数の気筒から非同期噴射を行う必要がある。
【００４９】
図２は、各気筒において、非同期噴射による噴射燃料を最も早く筒内に吸入可能なクランク角の範囲を示すタイミングチャートである。図２において、横軸はクランク角カウンタccrnkを示しており、ccrnk=0の位置は＃１気筒が圧縮上死点となるクランク角位置である。また、クランク角カウンタccrnkは、クランク角３０°で１カウント増加する。従って、＃１気筒が圧縮上死点となった後、ccrnkが２４カウントされると、再び＃１気筒が圧縮上死点となる。
【００５０】
図２において、縦軸は４気筒の各気筒＃１〜＃４を示している。４気筒の内燃機関１０では、＃１→＃３→＃４→＃２の順で吸気行程が行われるため、図２の縦軸はこの順で各気筒を示している。ncylは気筒No.であり、吸気行程が行われる順に各気筒に付された番号である。すなわち、＃１気筒はncyl=0、＃３気筒はncyl=1、＃４気筒はncyl=2、＃２気筒はncyl=3である。
【００５１】
図２にハッチングで示す範囲（以下、燃料吸入可能範囲という）は、各気筒において、非同期噴射による燃料を筒内に吸入することのできるクランク角の範囲を示している。例えば、＃１気筒では、クランク角カウンタccrnkの値が９から１５までの範囲で非同期噴射が行われた場合に、非同期噴射による燃料を最も早く筒内に吸入することができる。
【００５２】
図２に示すように、各気筒の燃料吸入可能範囲は、各気筒の吸気行程に対応している。より詳細には、燃料噴射弁３０から噴射された燃料が吸気弁５０に到達する際には輸送遅れが生じるため、燃料吸入可能範囲は、輸送遅れを考慮した上で、各気筒の吸気行程よりも早いタイミングに設定されている。各気筒では、燃料吸入可能範囲で非同期噴射が行われた場合に、非同期噴射による燃料を筒内に吸入することができ、燃料リッチな排気ガスを排気通路１４に送ることができる。
【００５３】
上述したように、非同期噴射量を最も多くする場合は、フューエルカット後、４気筒の全ての気筒で非同期噴射を行う。例えば、図２に示すccrnk=6の位置で全気筒同時に非同期噴射を行うと、ccrnk=6の位置は＃２気筒の燃料吸入可能範囲に含まれるため、非同期噴射による燃料リッチガスは＃２気筒で最も早く筒内に吸入され、排気通路１４へ送られる。他の気筒においても、ccrnk=6の位置で行われた非同期噴射による燃料は、クランク角が各気筒の燃料吸入可能範囲に達した時点で順次に筒内に吸入され、排気通路１４へ送られる。
【００５４】
このように、非同期噴射が行われたタイミングが燃料吸入可能範囲に含まれる気筒において、非同期噴射による燃料リッチガスが最も早く排気浄化触媒４２へ送られる。また、他の気筒では、吸気行程が行われる気筒順に非同期噴射による燃料が排気浄化触媒４２へ送られる。
【００５５】
非同期噴射を行う気筒数を減らす場合は、非同期噴射による噴射燃料が最も遅く筒内に吸入される気筒から順に非同期噴射を停止する。例えば、図２に示すccrnk=6の位置で非同期噴射を行う場合、非同期噴射による噴射燃料が最も遅く筒内に吸入される気筒（ccrnk=6の位置に対して燃料吸入可能範囲が最も遅角側に離れている気筒）は＃４気筒であるため、＃４気筒の非同期噴射を停止し、＃１，＃２，＃３気筒のみで非同期噴射を行う。同様に、非同期噴射を行う気筒数を２気筒減らす場合は、非同期噴射による噴射燃料が最も遅く筒内に吸入される２つの気筒（ccrnk=6の位置に対して燃料吸入可能範囲が最も遅角側に離れている２つの気筒）は＃４気筒と＃３気筒であるため、＃３，＃４気筒の非同期噴射を停止し、＃１，＃２気筒のみで非同期噴射を行う。
【００５６】
このような手法によれば、非同期噴射量を可変する場合は、フューエルカット後により早く筒内に燃料が吸入される気筒から順に優先的に非同期噴射が実施される。従って、非同期噴射量を可変した場合であっても、非同期噴射による燃料リッチガスを常に最短時間で排気浄化触媒４２へ到達させることができる。従って、フューエルカット直後に排気浄化触媒４２を瞬時に還元することができ、触媒酸化雰囲気を脱出することができる。これにより、フューエルカット後にリーンな排気ガスが排出された場合であっても、ＮＯｘの排出を確実に抑えることができる。
【００５７】
フューエルカット直後にＮＯｘの排出を抑制するためには、フューエルカット後、より早く排気浄化触媒４２を還元雰囲気にすることが重要である。非同期噴射量を減少させる場合に、各気筒の非同期噴射量を一律に減少させると、フューエルカット直後に最も早く筒内に燃料が吸入される気筒においても非同期噴射量が減少してしまい、排気浄化触媒４２の還元が遅れてしまう。従って、フューエルカット直後にＮＯｘを含むリーンな排気が排出されることが懸念される。本実施形態の手法によれば、非同期噴射量を減少させる場合は、フューエルカット直後に最も遅く筒内に燃料が吸入される気筒から順に非同期噴射を停止させるため、最も早く筒内に燃料が吸入される気筒では十分な量の非同期噴射を行うことができる。従って、フューエルカット直後のより早い段階で触媒酸化雰囲気を脱出することができる。
【００５８】
次に、図３のフローチャートに基づいて、本実施形態のシステムにおける処理の手順について説明する。図３の処理は所定時間毎に行われるものである。先ず、ステップＳ１では、Xfcフラグの状態を判定し、Xfc=OFFであるか否かを判定する。ここで、Xfcフラグはフューエルカットが行われているか否かを判定するためのフラグであって、フューエルカット中の場合はXfc=ONとされ、フューエルカットが行われていない場合は、Xfc=OFFとされる。
【００５９】
ステップＳ１でフューエルカットが行われていない場合(Xfc=OFF)は、ステップＳ２以降の処理に進み、Ｏ２センサ４８の検出値がリッチに反転するまでの時間に基づいて、非同期噴射減量気筒数(Ninj)を補正する処理を行う。一方、ステップＳ１でフューエルカットが行われている場合(Xfc=ON)は、ステップＳ１１以降の処理へ進む。
【００６０】
先ず、フューエルカットが行われていない場合の処理（ステップＳ２以降）を説明する。ステップＳ２では、判定許可フラグXjudgがオンであるか否かを判定する。ここで、判定許可フラグXjudgは、非同期噴射減量気筒数Ninjの補正処理を行うか否かを判定するためのフラグであって、Xjudg=ONの場合は非同期噴射減量気筒数Ninjの補正処理が許可され、Xjudg=OFFの場合は補正処理が不許可とされる。
【００６１】
ステップＳ２でXjudg=ONの場合はステップＳ３へ進み、以降の処理で、非同期噴射減量気筒数Ninjの補正を行う。一方、Xjudg=OFFの場合は、非同期噴射減量気筒数Ninjを補正することなく、処理を終了する(RETURN)。
【００６２】
ステップＳ３では、最後に行ったフューエルカットの終了時から現在までの経過時間を表すカウンタ（経過時間カウンタTafc）の値をインクリメントする。
【００６３】
次のステップＳ４では、Ｏ２センサ４８の出力Voxsが0.5(V)以上であるか否かを判定し、Voxs≧0.5(V)の場合はステップＳ５へ進む。ステップＳ５へ進んだ場合は、排気浄化触媒４２の下流の空燃比がリッチであるため、フューエルカット後にＯ２センサ４８の出力がリッチに反転していることが判別できる。一方、Voxs＜0.5(V)の場合は処理を終了する(RETURN)。
【００６４】
続くステップＳ５，Ｓ６の処理では、フューエルカット終了からＯ２センサ４８の出力がリッチに反転するまでの時間が所定の許容範囲内であるか否かを判定する。具体的には、経過時間カウンタTafcの値と所定の判定値α，βとを比較し、Tafcの値の大小レベルを判定する。ここで、２つの判定値α，βの間には、α＜βの関係が成立している。
【００６５】
ステップＳ５ではTafc＜βであるか否かを判定し、Tafc＜βの場合はステップＳ６へ進む。ステップＳ６では、Tafc＜αであるか否かを判定し、Tafc＜αの場合はステップＳ７へ進む。
【００６６】
ステップＳ７へ進んだ場合は、Tafcがα，βの双方よりも小さいため、Tafc＜αであることが判定できる。この場合、フューエルカットが終了した後、Ｏ２センサ４８の出力がリッチに反転するまでの時間が許容範囲の下限よりも小さいため、非同期噴射量を減少させる必要がある。このため、ステップＳ７では、現在設定されている非同期噴射減量気筒数Ninjの値に１を加算する処理を行う(Ninj←Ninj+1)。非同期噴射減量気筒数Ninjは、４つの気筒のうち非同期噴射を行わない気筒の数を表しており、Ninjの値が大きくなるほど非同期噴射を行う気筒数が減少する。従って、Ninjの値に１を加算することで、次回のフューエルカット後に非同期噴射を行う気筒数を減少させることができ、非同期噴射量を減少させることができる。
【００６７】
一方、ステップＳ５でTafc≧βの場合は、ステップＳ８へ進む。この場合、フューエルカットが終了した後、Ｏ２センサ４８の出力がリッチに反転するまでの時間が許容範囲の上限以上であるため、非同期噴射量を増加する必要がある。このため、ステップＳ８では、現在設定されている非同期噴射減量気筒数Ninjの値から１を減算する処理を行う(Ninj←Ninj-1)。これにより、次回のフューエルカット後に非同期噴射を行う気筒数を増加することができ、非同期噴射量を増加することができる。
【００６８】
また、ステップＳ６でTafc≧αの場合は、ステップＳ５でTafc＜βであることが判定されているため、α≦Tafc＜βであることが判定できる。この場合は、フューエルカット終了後からＯ２センサ４８の出力が反転するまでの時間が許容範囲内であると判断できるため、現在設定されている非同期噴射減量気筒数Ninjを変更することなくステップＳ１０へ進む。
【００６９】
図４は、ステップＳ５〜Ｓ８で行われる処理において、経過時間カウンタTafcの値と非同期噴射量との関係を示す模式図である。図４に示すように、ステップＳ５〜Ｓ８の処理によれば、経過時間カウンタTafcの値がαよりも小さい場合は非同期噴射量を減少する処理が行われる（ステップＳ８）。これにより、排気浄化触媒４２がリッチ過剰になることを抑えることができ、燃費を向上するとともに、過剰リッチによる硫化水素（Ｈ２Ｓ）の発生を抑えることができ、触媒臭の発生を抑止できる。一方、経過時間カウンタTafcの値がβよりも大きい場合は、非同期噴射量を増加する処理が行われる（ステップＳ７）。これにより、排気浄化触媒４２を確実に還元することができ、ＮＯｘの排出を抑えるとともに、触媒劣化を抑制することができる。
【００７０】
このように、非同期噴射量が少ない場合ほどＯ２センサ４８の出力がリッチに反転するまでの時間が長くなり、非同期噴射量が多い場合ほどリッチに反転するまでの時間が短くなるため、ステップＳ５〜Ｓ８の処理によれば、経過時間カウンタの値をα≦Tafc＜βの範囲に制御することが可能となる。
【００７１】
ステップＳ７，Ｓ８の後はステップＳ９へ進む。ステップＳ９では、Ninjの値が０以上４以下となるように非同期噴射減量気筒数Ninjのガード処理を行う。非同期噴射減量気筒数Ninjは０から気筒数の４までの範囲で設定されるため、Ninjがこの範囲から外れている場合は、Ninjが０以上４以下となるようにガード処理を行う。具体的には、Ninjが０よりも小さい値に設定されている場合はNinj=0とし、Ninjが４よりも大きな値に設定されている場合はNinj=4とする。
【００７２】
次のステップＳ１０では、非同期噴射減量気筒数Ninjの補正処理が完了したため、判定許可フラグXjudgの値をOFFに設定する。ステップＳ１０の後は処理を終了する(RETURN)。
【００７３】
このように、ステップＳ２〜Ｓ１０の処理によれば、フューエルカット終了時点からＯ２センサ４８の出力がリッチに反転するまでの時間に応じて非同期噴射減量気筒数Ninjが設定される。従って、Ｏ２センサ４８の出力がリッチに反転までの時間に応じて非同期噴射量を最適に制御することができる。
【００７４】
次に、フューエルカット中に行われる処理（ステップＳ１１以降）について説明する。フューエルカット中は、各気筒の非同期噴射時間(Tauasy)を補正する処理が逐次行われる（ステップＳ１１、図５）。また、フューエルカット中は、Ｏ２センサ４８の出力に基づいて排気浄化触媒４２の下流の空燃比がリーンであるか否かが判定され、空燃比がリーンの場合は非同期噴射減量気筒数Ninjの補正処理を許可するフラグ(Xjudg)をオンにする処理を行う。
【００７５】
ステップＳ１１では、非同期噴射時間(Tauasy)を補正する処理を行う。図２で説明したように、非同期噴射は、フューエルカット終了直後に筒内に早く燃料が吸入される気筒から優先的に行われる。従って、非同期噴射減量気筒数Ninjに基づいて非同期噴射を行う気筒数を減少させる際には、フューエルカット終了時点のクランク角位置に基づいて、非同期噴射燃料を最も早く筒内に吸入できる気筒を判別する必要がある。このため、ステップＳ１１では、フューエルカット終了直前のクランク角位置を検出し、これに基づいて非同期噴射の際に最も早く筒内に燃料が吸入される気筒を特定し、非同期噴射減量気筒数Ninjに基づいて非同期噴射を行う気筒を決定する処理を行う。ステップＳ１１で行われる処理は、図５のフローチャートに基づいて以下に詳細に説明する。図５の処理は、フューエルカット中に逐次（例えば所定時間毎）行われるものである。
【００７６】
図５に示すように、先ずステップＳ２１では、各気筒の非同期噴射時間Tauasy[ncyl]の
RAMに基本の非同期噴射時間を格納する。ここでは、各気筒の非同期噴射時間Tauasy[ncyl]をそれぞれτに設定する。図２で説明したように、ncylは気筒No.を表しており、Tauasy[0]は＃１気筒の非同期噴射時間、Tauasy[1]は＃３気筒の非同期噴射時間、Tauasy[2]は＃４気筒の非同期噴射時間、Tauasy[3]は＃２気筒の非同期噴射時間をそれぞれ表している。
【００７７】
次のステップＳ２２では、Ninj≠0であるか否かを判定する。ここで、Ninjの値は、最後に行われたフューエルカットの終了後に図３のステップＳ５〜Ｓ９で決定された値である。Ninj≠0の場合は、Ninjの値に応じて非同期噴射を行う気筒を決定するため、ステップＳ２３以降の処理へ進む。一方、Ninj=0の場合は、非同期噴射量を変更する必要がないため、図５の処理を終了する(RETURN)。
【００７８】
ステップＳ２３以降の処理では、fcrcrnkの値に基づいて、フューエルカット終了後に非同期噴射による燃料を最も早く筒内に吸入できる気筒を特定する処理を行う。ここで、fcrcrnkは、図５の処理が実行された時点でのクランク角カウンタccrnkの値であり、図５の処理が実行される毎に更新される値であるが、フューエルカットが終了して通常運転に復帰した後は図３のステップＳ１１以降の処理は停止し、図５の処理も停止するため、フューエルカット終了時に記憶されているfcrcrnkの値は、フューエルカットから通常運転に復帰する直前に図５の処理が行われた時点でのクランク角カウンタccrnkの値である。  
【００７９】
先ずステップＳ２３では、fcrcrnk≧3であるか否かを判定する。ステップＳ２３でfcrcrnk≧3の場合は、ステップＳ２４へ進む。図２に示すように、クランク角カウンタccrnkの値が３の位置から＃２気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧3の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃２気筒とする(ncyl=3)。
【００８０】
一方、fcrcrnk＜3の場合は、0≦fcrcrnk＜3であるため、図２に示すように、fcrcrnkの値が＃４気筒の燃料吸入可能範囲に含まれる。従って、この場合はステップＳ３０へ進み、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃４気筒とする(ncyl=2)。
【００８１】
次のステップＳ２５では、fcrcrnk≧9であるか否かを判定し、fcrcrnk≧9の場合はステップＳ２６へ進む。図２に示すように、クランク角カウンタccrnkの値が９の位置から＃１気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧9の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃１気筒とする(ncyl=0)。
【００８２】
一方、fcrcrnk＜9の場合は、ステップＳ２３でfcrcrnk≧3であることが判定されているため、9＞fcrcrnk≧3となる。図２に示すように、9＞fcrcrnk≧3の場合は、fcrcrnkの値が＃２気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ２４で設定したncylの値を確定させ(ncyl=3)、ステップＳ３１へ進む。
【００８３】
ステップＳ２６の後はステップＳ２７へ進む。ステップＳ２７では、fcrcrnk≧15であるか否かを判定し、fcrcrnk≧15の場合はステップＳ２８へ進む。図２に示すように、クランク角カウンタccrnkの値が１５の位置から＃３気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧15の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃３気筒とする(ncyl=1)。
【００８４】
一方、fcrcrnk＜15の場合は、ステップＳ２５でfcrcrnk≧9であることが判定されているため、15＞fcrcrnk≧9となる。図２に示すように、15＞fcrcrnk≧9の場合は、fcrcrnkの値が＃１気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ２６で設定したncylの値を確定させ(ncyl=0)、ステップＳ３１へ進む。
【００８５】
ステップＳ２８の後はステップＳ２９へ進む。ステップＳ２９では、fcrcrnk≧21であるか否かを判定する。ここで、fcrcrnk≧21の場合は、fcrcrnkの上限値は23であるため、23≧fcrcrnk≧21となる。そして、図２に示すように、23≧fcrcrnk≧21の場合は、fcrcrnkの値が＃４気筒の燃料吸入可能範囲に含まれる。従って、この場合はステップＳ３０へ進み、ncylを2に設定する。
【００８６】
一方、fcrcrnk＜21の場合は、ステップＳ２７でfcrcrnk≧15であることが判定されているため、21＞fcrcrnk≧15となる。図２に示すように、21＞fcrcrnk≧15の場合は、fcrcrnkの値が＃３気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ２８で設定したncylの値を確定させ(ncyl=1)、ステップＳ３１へ進む。
【００８７】
以上のように、ステップＳ３０までの処理によれば、フューエルカットの終了直後に最も早く筒内に燃料を吸入することのできる気筒を特定することができる。
【００８８】
ステップＳ３１以降の処理では、ステップＳ３０までの処理で得られたncylの値に基づいて、非同期噴射を行う気筒を決定する。より詳細には、以降の処理では各気筒の非同期噴射時間Tauasyを決定するが、非同期噴射時間Tauasyは０又はτのいずれかに決定される。この結果、非同期噴射を行う気筒が特定され、非同期噴射時間Tauasyがτの気筒のみで非同期噴射が行われる。
【００８９】
ステップＳ３１では、ルーチンループカウンタｉを０とする(i←0)。次のステップＳ３２では、ステップＳ３０までの処理で決定されたncylの値から1を減算する処理を行う(ncyl←ncyl-1)。ステップＳ３０までの処理で決定されたncylは、フューエルカット終了直後に非同期噴射燃料を最も早く筒内に吸入可能な気筒の番号を表している。また、図２に示すように、ncylは吸気行程が行われる気筒順に設定された番号である。従って、ncylの値から1を減算することで、非同期噴射による燃料が最も遅く筒内に吸入される気筒を特定できる。
【００９０】
次のステップＳ３３では、ncyl＜0であるか否かを判定する。ステップＳ３０までの処理で決定されたncylの値が０（＃１気筒）の場合は、非同期噴射による燃料が最も遅く筒内に吸入される気筒は＃２気筒(ncyl=3)であるが、この場合、ステップＳ３２でncylから1を減算するとncylが負の値になるという不都合が生じる。このため、ステップＳ３３でncyl＜0の場合は、ステップＳ３４へ進み、ncylの値を＃２気筒の値に設定する(ncyl←3)。一方、ステップＳ３３でncyl≧0の場合はこのような不都合が生じていないため、ステップＳ３４を経由することなく、ステップＳ３５へ進む。
【００９１】
ステップＳ３５では、ncylの値によって特定される気筒の非同期噴射時間Tauasy[ncyl]を０に設定する。これにより、非同期噴射による燃料が最も遅く筒内に吸入される気筒の非同期噴射量が０となる。従って、非同期噴射量を１気筒分だけ減量することができる。
【００９２】
次のステップＳ３６では、ルーチンループカウンタｉの値に１を加算する(i=i+1)。次のステップＳ３７では、i=Ninjであるか否かを判定する。ここで、Ninjは、図３のステップＳ１１，Ｓ１２で決定された値である。i=Ninjの場合は、非同期噴射時間Tauasy[ncyl]が0に設定された気筒の数(=i)が非同期噴射減量気筒数Ninjに到達しているため、処理を終了する(RETURN)。
【００９３】
一方、ステップＳ３７でi≠Ninjの場合は、ステップＳ３２へ戻る。この場合、非同期噴射時間Tauasy[ncyl]が0に設定された気筒の数(=i)が非同期噴射減量気筒数Ninjに達していないため、この時点でTauasy=τに設定されている気筒のうち、非同期噴射による燃料が最も遅く筒内に吸入される気筒の非同期噴射時間Tauasyを０に設定する処理を行う。
【００９４】
このため、ステップＳ３２では、現在設定されているncylの値から更に1を減算する。これにより、ncylの値が、現時点でTauasy=τに設定されている気筒のうち非同期噴射による燃料が最も遅く筒内に吸入される気筒の番号に設定される。従って、ステップＳ３３以降の処理を再度行うことで、設定されたncylに対応する気筒の非同期噴射時間Tauasy[ncyl]を0に設定する処理が行われる。
【００９５】
そして、ステップＳ３７でルーチンループカウンタｉの値が非同期噴射減量気筒数Ninjに達するまでステップＳ３３以降の処理を繰り返し行うことで、非同期噴射による燃料が最も遅く筒内に吸入される気筒から順に、非同期噴射減量気筒数Ninjの数だけ、非同期噴射時間Tauasyを0に設定することができる。
【００９６】
以上のようにして、図３のステップＳ１１では、図５のフローチャートに基づいて非同期噴射時間Tauasyの補正処理が行われる。
【００９７】
図３に戻って、ステップＳ１１の後はステップＳ１２へ進む。ステップＳ１２では、Ｏ２センサ４８の出力Voxsが0.1(V)未満であるか否かを判定し、Voxs＜0.1(V)の場合はステップＳ１３へ進む。この場合、Ｏ２センサ４８の出力がリーンであるため、フューエルカットにより排気浄化触媒４２に十分に酸素が吸蔵されていると判断できる。このため、ステップＳ１３ではフューエルカット復帰後の経過カウンタTafcをクリアにし、次のステップＳ１４で判定許可フラグXjudgをONに設定し、非同期噴射減量気筒数Ninjの補正を許可する。これにより、フューエルカット終了後、ステップＳ２以降の処理によって非同期噴射減量気筒数Ninjの補正処理が行われる。
【００９８】
一方、ステップＳ１２でVoxs≧0.1(V)の場合は、フューエルカット時間が短い等の要因でＯ２センサ４８の出力がリーンになっていないため、フューエルカットが終了した場合にＯ２センサ４８の出力がリッチに反転する時間を検出することができず、非同期噴射減量気筒数Ninjの補正処理を行うことはできない。従って、この場合はステップＳ１０へ進み、判定許可フラグXjudgの値をOFFに設定する。
【００９９】
以上のように図３及び図５の処理によれば、フューエルカット終了後、Ｏ２センサ４８の出力がリッチに反転するまでの時間に基づいて、非同期噴射減量気筒数Ninjを変更することができる。従って、非同期噴射減量気筒数Ninjに基づいて、非同期噴射を行う気筒を減少させることで、非同期噴射量を最適に制御することが可能となる。また、非同期噴射による燃料が最も遅く筒内に吸入される気筒から順に非同期噴射が停止されるため、非同期噴射による燃料が最も早く筒内に吸入される気筒から優先的に非同期噴射を行うことができ、フューエルカット直後の極めて短い時間内で非同期噴射を完了することが可能となる。従って、フューエルカット後、早期に触媒酸化雰囲気から脱出することができる。
【０１００】
以上説明したように実施の形態１によれば、フューエルカット終了後、Ｏ２センサ４８の出力がリッチに反転するまでの時間に基づいて非同期噴射量を制御することができるため、劣化により排気浄化触媒４２が吸蔵可能な酸素量が変化した場合、燃料噴射部弁３０からの噴射量にバラツキが生じている場合であっても、非同期噴射によりフューエルカット直後の排気浄化触媒４２の酸素吸蔵量を最適に制御することができる。従って、フューエルカット直後に排気浄化触媒４２の下流にＮＯｘが排出されてしまうことを抑止するとともに、排気浄化触媒４２が過剰なリッチ状態となって触媒臭が発生してしまうことを抑止することが可能となる。
【０１０１】
実施の形態２．
次に、本発明の実施の形態２について説明する。実施の形態２は、非同期噴射を行う気筒数を可変するとともに、各気筒で非同期噴射量を制御することで、非同期噴射を最適に制御するものである。
【０１０２】
図６は、実施の形態２で行われる制御の一例を模式的に示す図である。ここで、図６（Ａ）は、４気筒の全てで非同期噴射を行った場合を示している。この場合、４気筒の全てにおいて、非同期噴射時間がτに設定される。
【０１０３】
一方、図６（Ｂ）は、非同期噴射量を減量した場合の一例を示している。ここでは、フューエルカット後に非同期噴射燃料が最も早く筒内に吸入される３気筒（ここでは、＃１，＃３，＃４の３気筒とする）で非同期噴射が行われる。＃１，＃３気筒では非同期噴射時間が基本のτに設定され、非同期噴射が行われる３気筒のうち最も遅く筒内に燃料が吸入される気筒（＃４気筒）では、非同期噴射時間が他の２気筒よりも短く設定される。
【０１０４】
このように、実施の形態２では、実施の形態１と同様に、非同期噴射燃料が筒内に早く吸入される気筒から優先的に非同期噴射を行うとともに、非同期噴射燃料が最も遅く筒内に吸入される気筒において、非同期噴射量を可変するようにしている。これにより、気筒数の増減で非同期噴射量を制御する場合に比べて、非同期噴射量をより高精度に制御することが可能となる。
【０１０５】
図７は、実施の形態２のシステムにおける処理の手順を示すフローチャートである。図７のフローチャートでは、ステップＳ４７、ステップＳ４８、ステップＳ４９の処理が図３のステップＳ７、ステップＳ８、ステップＳ９とそれぞれ相違している。図７の他の処理は図３と同様に行われる。
【０１０６】
以下、図７のフローチャートに基づいて、本実施形態のシステムにおける処理の手順について説明する。図７の処理は所定時間毎に行われるものである。先ず、ステップＳ４１では、Xfcフラグの状態を判定し、Xfc=OFFであるか否かを判定する。ここで、Xfcフラグはフューエルカットが行われているか否かを判定するためのフラグであって、フューエルカット中の場合はXfc=ONとされ、フューエルカットが行われていない場合は、Xfc=OFFとされる。
【０１０７】
ステップＳ４１でフューエルカットが行われていない場合(Xfc=OFF)は、ステップＳ４２以降の処理に進み、Ｏ２センサ４８の検出値がリッチに反転するまでの時間に基づいて、非同期噴射補正係数(Kinj)を補正する処理を行う。一方、ステップＳ４１でフューエルカットが行われている場合(Xfc=ON)は、ステップＳ５１以降の処理へ進む。
【０１０８】
先ず、フューエルカットが行われていない場合の処理（ステップＳ４２以降）を説明する。ステップＳ４２では、判定許可フラグXjudgがオンであるか否かを判定する。ここで、判定許可フラグXjudgは、非同期噴射補正係数Kinjの補正処理を行うか否かを判定するためのフラグであって、Xjudg=ONの場合は非同期噴射補正係数Kinjの補正処理が許可され、Xjudg=OFFの場合は補正処理が不許可とされる。
【０１０９】
ステップＳ４２でXjudg=ONの場合はステップＳ４３へ進み、以降の処理で、非同期噴射減量気筒数Ninjの補正を行う。一方、Xjudg=OFFの場合は、非同期噴射補正係数Kinjを補正することなく、処理を終了する(RETURN)。
【０１１０】
ステップＳ４３では、最後に行ったフューエルカットの終了時から現在までの経過時間を表すカウンタ（経過時間カウンタTafc）の値をインクリメントする。
【０１１１】
次のステップＳ４４では、Ｏ２センサ４８の出力Voxsが0.5(V)以上であるか否かを判定し、Voxs≧0.5(V)の場合はステップＳ４５へ進む。ステップＳ４５へ進んだ場合は、排気浄化触媒４２の下流の空燃比がリッチであるため、フューエルカット後にＯ２センサ４８の出力がリッチに反転していることが判別できる。一方、Voxs＜0.5(V)の場合は処理を終了する(RETURN)。
【０１１２】
続くステップＳ４５，Ｓ４６の処理では、フューエルカット終了からＯ２センサ４８の出力がリッチに反転するまでの時間が所定の許容範囲内であるか否かを判定する。具体的には、経過時間カウンタTafcの値と所定の判定値α，βとを比較し、Tafcの値の大小レベルを判定する。ここで、２つの判定値α，βの間には、α＜βの関係が成立している。
【０１１３】
ステップＳ４５ではTafc＜βであるか否かを判定し、Tafc＜βの場合はステップＳ４６へ進む。ステップＳ４６では、Tafc＜αであるか否かを判定し、Tafc＜αの場合はステップＳ４７へ進む。
【０１１４】
ステップＳ４７へ進んだ場合は、Tafcがα，βの双方よりも小さいため、Tafc＜αであることが判定できる。この場合、フューエルカットが終了した後、Ｏ２センサ４８の出力がリッチに反転するまでの時間が許容範囲の下限よりも小さいため、非同期噴射量を減少させる必要がある。このため、ステップＳ４７では、現在設定されている非同期噴射補正係数Kinjの値から１を減算する処理を行う(Kinj←Kinj-1)。非同期噴射補正係数Kinjは非同期噴射量の補正量を表す係数であって、-50%から+50%の範囲で設定される。後述するように、非同期噴射量の補正量（非同期噴射補正量dtau）は、基本の非同期噴射量４τにKinjを乗算し、絶対値をとることで算出される。そして、Kinjが負の値の場合は、Kinjの絶対値が大きいほど非同期噴射量を減少させる制御が行われる。従って、現在設定されている非同期噴射補正係数Kinjの値から１を減算することで、次回のフューエルカット後の非同期噴射量を減少させることができる。
【０１１５】
一方、ステップＳ４５でTafc≧βの場合は、ステップＳ４８へ進む。この場合、フューエルカットが終了した後、Ｏ２センサ４８の出力がリッチに反転するまでの時間が許容範囲の上限以上であるため、非同期噴射量を増加する必要がある。このため、ステップＳ４８では、現在設定されている非同期噴射補正係数Kinjの値に１を加算する処理を行う(Kinj←Kinj+1)。後述するように、Kinjが正の値の場合は、Kinjの絶対値が大きいほど非同期噴射量を増加させる制御が行われる。従って、現在設定されている非同期噴射補正係数Kinjの値に１を加算することで、次回のフューエルカット後の非同期噴射量を増加することができる。
【０１１６】
また、ステップＳ４６でTafc≧αの場合は、ステップＳ５でTafc＜βであることが判定されているため、α≦Tafc＜βであることが判定できる。この場合は、フューエルカット終了後からＯ２センサ４８の出力が反転するまでの時間が許容範囲内であると判断できるため、現在設定されている非同期噴射補正係数Kinjを変更することなくステップＳ５０へ進む。
【０１１７】
ステップＳ４７，Ｓ４８の後はステップＳ４９へ進む。ステップＳ４９では、Kinjの値が-50%≦Kinj≦+50%となるように非同期噴射補正係数Kinjのガード処理を行う。具体的には、Kinjが-50%よりも小さい値に設定されている場合はKinj=-50%とし、Kinjが+50%よりも大きな値に設定されている場合はKinj=+50%とする。
【０１１８】
次のステップＳ５０では、判定許可フラグXjudgの値をOFFに設定する。ステップＳ５０の後は処理を終了する(RETURN)。
【０１１９】
このように、ステップＳ４２〜Ｓ５０の処理によれば、フューエルカット終了時点からＯ２センサ４８の出力がリッチに反転するまでの時間に応じて非同期噴射補正係数Kinjが設定される。従って、Ｏ２センサ４８の出力がリッチに反転までの時間に応じて非同期噴射量を最適に制御することができる。
【０１２０】
次に、フューエルカット中に行われる処理（ステップＳ５１以降）について説明する。フューエルカット中は、非同期噴射時間(Tauasy)を補正する処理が逐次行われる（ステップＳ５１、図８）。また、フューエルカット中は、Ｏ２センサ４８の出力に基づいて排気浄化触媒４２の下流の空燃比がリーンであるか否かが判定され、空燃比がリーンの場合は非同期噴射補正係数Kinjの補正処理を許可するフラグ(Xjudg)をオンにする処理を行う。
【０１２１】
ステップＳ５１では、非同期噴射時間(Tauasy)を補正する処理を行う。実施の形態１と同様に、非同期噴射は、フューエルカット終了直後に筒内に早く燃料が吸入される気筒から優先的に行われる。従って、非同期噴射補正係数Kinjに基づいて非同期噴射量を可変する際には、フューエルカット終了時点のクランク角位置に基づいて、非同期噴射燃料を最も早く筒内に吸入できる気筒を判別する必要がある。このため、ステップＳ５１では、フューエルカット終了直前のクランク角位置を検出し、これに基づいて非同期噴射の際に最も早く筒内に燃料が吸入される気筒を特定し、非同期噴射補正係数Kinjに基づいて、非同期噴射を行う気筒及び噴射量を決定する処理を行う。ステップＳ５１で行われる処理は、図８のフローチャートに基づいて以下に詳細に説明する。図８の処理は、フューエルカット中に逐次（例えば所定時間毎）行われるものである。
【０１２２】
図８に示すように、先ずステップＳ６１では、各気筒の非同期噴射時間Tauasy[ncyl]の初期値をそれぞれτに設定する。ここで、Tauasy[0]は＃１気筒の非同期噴射時間、Tauasy[1]は＃３気筒の非同期噴射時間、Tauasy[2]は＃４気筒の非同期噴射時間、Tauasy[3]は＃２気筒の非同期噴射時間をそれぞれ表している。
【０１２３】
次のステップＳ６２では、Kinj≠0であるか否かを判定する。ここで、Kinjの値は、最後に行われたフューエルカットの終了後に図７のステップＳ４５〜Ｓ４９で決定された値である。Kinj≠0の場合は、Kinjの値に応じて非同期噴射を行う気筒を決定するため、ステップＳ６３以降の処理へ進む。一方、Kinj=0の場合は、非同期噴射量を変更する必要がないため、図８の処理を終了する(RETURN)。
【０１２４】
ステップＳ６３以降の処理では、fcrcrnkの値に基づいて、フューエルカット終了後に非同期噴射による燃料を最も早く筒内に吸入できる気筒を特定する処理を行う。ここで、fcrcrnkは、図８の処理が実行された時点でのクランク角カウンタccrnkの値であり、図８の処理が実行される毎に更新される値であるが、フューエルカットが終了して通常運転に復帰した後は図７のステップＳ５１以降の処理は停止し、図８の処理も停止するため、フューエルカット終了時に記憶されているfcrcrnkの値は、フューエルカットから通常運転に復帰する直前に図８の処理が行われた時点でのクランク角カウンタccrnkの値である。  
【０１２５】
先ずステップＳ６３では、fcrcrnk≧3であるか否かを判定する。ステップＳ６３でfcrcrnk≧3の場合は、ステップＳ６４へ進む。図２に示すように、クランク角カウンタccrnkの値が３の位置から＃２気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧3の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃２気筒とする(ncyl=3)。
【０１２６】
一方、fcrcrnk＜3の場合は、0≦fcrcrnk＜3であるため、図２に示すように、fcrcrnkの値が＃４気筒の燃料吸入可能範囲に含まれる。従って、この場合はステップＳ７０へ進み、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃４気筒とする(ncyl=2)。
【０１２７】
次のステップＳ６５では、fcrcrnk≧9であるか否かを判定し、fcrcrnk≧9の場合はステップＳ６６へ進む。図２に示すように、クランク角カウンタccrnkの値が９の位置から＃１気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧9の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃１気筒とする(ncyl=0)。
【０１２８】
一方、fcrcrnk＜9の場合は、ステップＳ６３でfcrcrnk≧3であることが判定されているため、9＞fcrcrnk≧3となる。図２に示すように、9＞fcrcrnk≧3の場合は、fcrcrnkの値が＃２気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ６４で設定したncylの値を確定させ(ncyl=3)、ステップＳ７１へ進む。
【０１２９】
ステップＳ６６の後はステップＳ６７へ進む。ステップＳ６７では、fcrcrnk≧15であるか否かを判定し、fcrcrnk≧15の場合はステップＳ６８へ進む。図２に示すように、クランク角カウンタccrnkの値が１５の位置から＃３気筒の燃料吸入可能範囲が始まる。このため、fcrcrnk≧15の場合は、フューエルカット直後に最も早く筒内に燃料を吸入可能な気筒を＃３気筒とする(ncyl=1)。
【０１３０】
一方、fcrcrnk＜15の場合は、ステップＳ６５でfcrcrnk≧9であることが判定されているため、15＞fcrcrnk≧9となる。図２に示すように、15＞fcrcrnk≧9の場合は、fcrcrnkの値が＃１気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ６６で設定したncylの値を確定させ(ncyl=0)、ステップＳ７１へ進む。
【０１３１】
ステップＳ６８の後はステップＳ６９へ進む。ステップＳ６９では、fcrcrnk≧21であるか否かを判定する。ここで、fcrcrnk≧21の場合は、fcrcrnkの上限値は23であるため、23≧fcrcrnk≧21となる。そして、図２に示すように、23≧fcrcrnk≧21の場合は、fcrcrnkの値が＃４気筒の燃料吸入可能範囲に含まれる。従って、この場合はステップＳ７０へ進み、ncylを2に設定する。
【０１３２】
一方、fcrcrnk＜21の場合は、ステップＳ６７でfcrcrnk≧15であることが判定されているため、21＞fcrcrnk≧15となる。図２に示すように、21＞fcrcrnk≧15の場合は、fcrcrnkの値が＃３気筒の燃料吸入可能範囲に含まれる。従って、この場合は、ステップＳ６８で設定したncylの値を確定させ(ncyl=1)、ステップＳ７１へ進む。
【０１３３】
以上のように、ステップＳ７０までの処理によれば、フューエルカットの終了直後に最も早く筒内に燃料を吸入することのできる気筒を特定することができる。
【０１３４】
ステップＳ７１以降の処理では、ステップＳ７０までの処理で得られたncylの値に基づいて、各気筒の非同期噴射時間Tauasyを決定する処理を行う。
【０１３５】
ステップＳ７１では、非同期噴射補正時間dtauを算出する。ここで、非同期噴射補正時間dtauは、全ての気筒の非同期噴射時間の合計値に対する補正量である。非同期噴射補正時間dtauは、各気筒の非同期噴射時間の初期値τの合計（＝４τ）に非同期噴射補正係数Kinjを乗算し、その絶対値を求めることで算出される(dtau←｜4τ*Kinj｜)。
【０１３６】
次のステップＳ７２では、Kinj＜0%であるか否かを判定する。Kinj＜0%の場合はステップＳ７３へ進み、以降のステップで非同期噴射時間を減少させる処理を行う。一方、Kinj≧0%の場合はステップＳ８２へ進み、以降のステップで非同期噴射時間を増加する処理を行う。
【０１３７】
ステップＳ７２からステップＳ７３へ進んだ場合は、ステップＳ７０までの処理で決定されたncylの値から1を減算する処理を行う(ncyl←ncyl-1)。ステップＳ７０までの処理で決定されたncylは、フューエルカット終了直後の非同期噴射燃料を最も早く筒内に吸入可能な気筒の番号を表している。また、図２に示すように、ncylは吸気行程が行われる気筒順に設定された番号である。従って、ncylの値から1を減算することで、非同期噴射による燃料が最も遅く筒内に吸入される気筒を特定できる。
【０１３８】
次のステップＳ７４では、ncyl＜0であるか否かを判定する。ステップＳ７０までの処理で決定されたncylの値が０（＃１気筒）の場合は、非同期噴射による燃料が最も遅く筒内に吸入される気筒は＃２気筒(ncyl=3)であるが、この場合、ステップＳ７３でncylから1を減算するとncylが負の値になるという不都合が生じる。このため、ステップＳ７４でncyl＜0の場合は、ステップＳ７５へ進み、ncylの値を＃２気筒の値に設定する(ncyl←3)。一方、ステップＳ７４でncyl≧0の場合はこのような不都合が生じていないため、ステップＳ７５を経由することなく、ステップＳ７６へ進む。
【０１３９】
ステップＳ７６では、ステップＳ７１で算出された非同期噴射補正時間dtauと非同期噴射補正時間の下限値Dtminとを比較し、dtau＜Dtminであるか否かを判定する。ここで、Dtminは１つの気筒における補正時間の下限値を示している。
【０１４０】
ステップＳ７６でdtau＜Dtminの場合は、ステップＳ７７へ進む。この場合、非同期噴射補正時間dtauがDtmin未満であるため、ステップＳ７３で特定された、非同期噴射燃料が最も遅く筒内に吸入される気筒のみで非同期噴射時間を補正することができる。従って、ステップＳ７７では、非同期噴射時間τから非同期噴射補正時間dtauを減算し、当該気筒における補正後の噴射時間tauを算出する(tau←τ-dtau)。
【０１４１】
次のステップＳ７８では、ステップＳ７３で特定された気筒の非同期噴射時間Tauasy[ncyl]をステップＳ７７で算出したtauの値とする(Tauasy[ncyl]←tau)。ステップＳ７８の後は処理を終了する(RETURN)。
【０１４２】
このように、非同期噴射量を減量する場合は、１気筒当たりの補正量が下限値Dtmin以下に設定される。なお、非同期噴射によりポートへの付着量（ポートウェット）を補正する場合は、１気筒当たりの非同期噴射量を所定値よりも低下させないように制御を行っても良い。
【０１４３】
一方、ステップＳ７６でdtau≧Dtminの場合は、ステップＳ７９へ進む。この場合は、非同期噴射補正時間dtauがDtmin以上であるため、ステップＳ７３で特定された気筒のみでは、時間dtauの補正を行うことはできない。従って、ステップＳ７９では、ステップＳ７３で特定された気筒ではDtminの値だけ補正を行う。すなわち、ここでは、ステップＳ７３で特定された気筒の非同期噴射時間τから下限値Dtminを減算し、当該気筒における補正後の噴射時間tauを算出する(tau←τ-Dtmin)。次のステップＳ８０では、ステップＳ７３で特定された気筒の非同期噴射時間Tauasy[ncyl]をステップＳ７９で算出したtauの値とする(Tauasy[ncyl]←tau)。これにより、非同期噴射補正時間dtauのうち、時間Dtminが、ステップＳ７９で特定された気筒で補正される。
【０１４４】
次のステップＳ８１では、現在設定されている非同期噴射補正時間dtauから下限値Dtminを減算し、新たに非同期噴射補正時間dtauを算出する(dtau←dtau-Dtmin)。上述のように、ステップＳ７９で特定された気筒では、時間Dtminの分しか補正が行われていないため、以降の処理では、dtauからDtminを減算した残りを他の気筒で補正する処理を行う。ステップＳ８１の後は、ステップＳ７３へ戻る。
【０１４５】
ステップＳ８１からステップＳ７３へ戻った場合、ステップＳ７３では、ncylの値から1を減算する処理を行う(ncyl←ncyl-1)。この場合、ステップＳ７９において、非同期噴射燃料が最も遅く筒内に吸入される気筒の非同期噴射時間tauを下限値Dtminの値だけ減少させているため、ステップＳ７３で非同期噴射燃料が次に遅く筒内に吸入される気筒を特定し、ステップＳ７３〜Ｓ８１の処理が行われる。この場合においても、ステップＳ７６でdtau＜Dtminの場合はステップＳ７７以降の処理へ進み、非同期噴射燃料が次に遅く筒内に吸入される気筒の補正後の噴射時間tauが算出される(tau←τ-dtau)。また、ステップＳ７６でdtau≧Dtminの場合はステップＳ７９以降の処理へ進み、非同期噴射燃料が次に遅く筒内に吸入される気筒の補正後の噴射時間tauを算出するとともに(tau←τ-Dtmin)、再度ステップＳ７３に戻る。従って、ステップＳ７３〜ステップＳ８１の処理を繰り返すことで、非同期噴射燃料が最も遅く筒内に吸入される気筒から順次に、各気筒の非同期噴射時間Tauasy[ncyl]を算出することができる。
【０１４６】
次に、非同期噴射時間を増加する処理を説明する。ステップＳ７２からステップＳ８２へ進んだ場合は、ステップＳ７１で算出された非同期噴射補正時間dtauと非同期噴射補正時間の上限値Dtmaxとを比較し、dtau＜Dtmaxであるか否かを判定する。ここで、Dtmaxは１つの気筒における補正時間の上限値を示している。
【０１４７】
ステップＳ８２でdtau＜Dtmaxの場合は、ステップＳ８３へ進む。この場合、非同期噴射補正時間dtauがDtmax未満であるため、ステップＳ７０までの処理で特定された、非同期噴射燃料が最も早く筒内に吸入される気筒のみで非同期噴射時間を補正することができる。従って、ステップＳ８３では、非同期噴射時間τに非同期噴射補正時間dtauを加算し、当該気筒における補正後の噴射時間tauを算出する(tau←τ+dtau)。
【０１４８】
次のステップＳ８３では、ステップＳ７０までの処理で特定された、非同期噴射燃料が最も早く筒内に吸入される気筒の非同期噴射時間Tauasy[ncyl]を、ステップＳ８３で算出したtauの値とする(Tauasy[ncyl]←tau)。ステップＳ８３の後は処理を終了する(RETURN)。
【０１４９】
このように、非同期噴射量を増量する場合は、１気筒当たりの補正量が上限値Dtmax以下に設定される。これにより、１気筒当たりの非同期噴射量がリッチ側の燃焼限界Ａ／Ｆを超えてしまうことを回避できる。
【０１５０】
一方、ステップＳ８２でdtau≧DtmaxはステップＳ８５へ進む。この場合は、非同期噴射補正時間dtauがDtmax以上であるため、ステップＳ７０までの処理で特定された気筒のみでは、時間dtauの補正を行うことはできない。従って、ステップＳ８５では、ステップＳ７０までの処理で特定された、非同期噴射燃料が最も早く筒内に吸入される気筒において、非同期噴射時間τに上限値Dtmaxを加算し、当該気筒における補正後の噴射時間tauを算出する(tau←τ+Dtmax)。次のステップＳ８６では、ステップＳ７０までの処理で特定された、非同期噴射燃料が最も早く筒内に吸入される気筒の非同期噴射時間Tauasy[ncyl]をステップＳ８５で算出したtauの値とする(Tauasy[ncyl]←tau)。これにより、非同期噴射補正時間dtauのうち、時間Dtmaxが、ステップＳ７０までの処理で特定された気筒で補正される。
【０１５１】
次のステップＳ８７では、現在設定されている非同期噴射補正時間dtauから上限値Dtmaxを減算し、新たに非同期噴射補正時間dtauを算出する(dtau←dtau-Dtmax)。上述のように、ステップＳ７０までの処理で特定された気筒では、時間Dtmaxの分しか補正が行われていないため、以降の処理では、dtauからDtmaxを減算した残りを他の気筒で補正する処理を行う。
【０１５２】
次のステップＳ８８では、ステップＳ７０までの処理で決定されたncylの値に1を加算する処理を行う(ncyl←ncyl+1)。これにより、ステップＳ７０までの処理で決定されたncylで特定される気筒の次に非同期噴射燃料を筒内に吸入可能な気筒が特定される。
【０１５３】
次のステップＳ８９では、ncyl＞３であるか否かを判定する。ステップＳ７０までの処理で決定されたncylの値が３の場合、ステップＳ８８でncylに1を加算すると、ncylが４となり、ncylがいずれの気筒にも対応しない値になるという不都合が生じる。一方、ncylの値が３の場合、次に非同期噴射燃料を吸入可能な気筒は＃１気筒である。従って、ステップＳ８９でncyl＞3の場合は、ステップＳ９０へ進み、ncylの値を＃１気筒の値に設定する(ncyl←0)。そして、ステップＳ９０の後はステップＳ８２へ戻る。一方、ステップＳ８９でncyl≦3の場合はこのような不都合が生じていないため、ステップＳ９０を経由することなく、ステップＳ８２へ戻る。
【０１５４】
ステップＳ８２へ戻ると、dtau＜Dtmaxであるか否かが再度判定される。そして、ステップＳ８２でdtau＜Dtmaxの場合はステップＳ８３以降の処理へ進み、ステップＳ８８で特定された気筒の補正後の噴射時間tauが算出される(tau←τ+dtau)。また、ステップＳ８２でdtau≧Dtmaxの場合はステップＳ８５以降の処理へ進み、ステップＳ８８で特定された気筒の補正後の噴射時間tauを算出する (tau←τ+Dtmax)。従って、ステップＳ８２〜ステップＳ９０の処理を繰り返すことで、非同期噴射燃料が最も早く筒内に吸入される気筒から順次に、各気筒の非同期噴射時間Tauasy[ncyl]を算出することができる。
【０１５５】
以上のようにして、図７のステップＳ５１では、図８のフローチャートに基づいて非同期噴射時間Tauasyの補正処理が行われる。
【０１５６】
図７に戻って、ステップＳ５１の後はステップＳ５２へ進む。ステップＳ５２では、Ｏ２センサ４８の出力Voxsが0.1(V)未満であるか否かを判定し、Voxs＜0.1(V)の場合はステップＳ５３へ進む。この場合、Ｏ２センサ４８の出力がリーンであるため、フューエルカットにより排気浄化触媒４２に十分に酸素が吸蔵されていると判断できる。このため、ステップＳ５３ではフューエルカット復帰後の経過カウンタTafcをクリアにし、次のステップＳ５４で判定許可フラグXjudgをONに設定し、非同期噴射補正係数Kinjの補正を許可する。これにより、フューエルカット終了後、ステップＳ４２以降の処理によって非同期噴射補正係数Kinjの補正処理が行われる。
【０１５７】
一方、ステップＳ５２でVoxs≧0.1(V)の場合は、フューエルカット時間が短い等の要因でＯ２センサ４８の出力がリーンになっていないため、フューエルカットが終了した場合にＯ２センサ４８の出力がリッチに反転する時間を検出することができず、非同期噴射減量気筒数Ninjの補正処理を行うことはできない。従って、この場合はステップＳ５０へ進み、判定許可フラグXjudgの値をOFFに設定する。
【０１５８】
以上のように図７及び図８の処理によれば、フューエルカット終了後、Ｏ２センサ４８の出力が反転するまでの時間に基づいて、非同期噴射補正係数Kinjを変更することができる。そして、非同期噴射補正係数Kinjに基づいて各気筒の非同期噴射量を補正することができるため、排気浄化触媒４２の酸素吸蔵状態に応じて非同期噴射量を高精度に制御することが可能となる。また、非同期噴射による燃料が最も早く筒内に吸入される気筒から優先的に非同期噴射が行われるため、フューエルカット直後の極めて短い時間内で非同期噴射を完了することが可能となる。
【０１５９】
以上説明したように実施の形態２によれば、フューエルカット終了後、Ｏ２センサ４８の出力がリッチに反転するまでの時間に基づいて、各気筒の非同期噴射量を可変するため、非同期噴射量を高精度に制御することが可能となる。従って、フューエルカット直後に排気浄化触媒４２の酸素吸蔵量を緻密に制御することが可能となり、フューエルカット直後のＮＯｘの排出を抑えるとともに、排気浄化触媒４２が過剰なリッチ状態となって触媒臭が発生してしまうことを抑止することが可能となる。
【０１６０】
なお、上述した各実施形態では、フューエルカット後、Ｏ２センサ４８の出力がリッチに反転するまでの時間に基づいて非同期噴射量を制御しているが、フューエルカット後の吸入空気量Ｇａの積算値に基づいて非同期噴射量を制御することとしても良い。この場合においても、吸入空気量Ｇａの積算値に基づいて排気浄化触媒４２の酸素吸蔵状態を判断することができるため、上記と同様の効果を得ることができる。
【図面の簡単な説明】
【０１６１】
【図１】本発明の各実施形態にかかる内燃機関の制御装置及びその周辺の構造を説明するための図である。
【図２】各気筒において、非同期噴射による噴射燃料を最も早く筒内に吸入可能なクランク角の範囲を示すタイミングチャートである。
【図３】実施の形態１のシステムにおける処理の手順を示すフローチャートである。
【図４】図３のステップＳ５〜Ｓ８で行われる処理において、経過時間カウンタTafcの値と非同期噴射量との関係を示す模式図である。
【図５】図３のステップＳ１１で行われる処理を詳細に示すフローチャートである。
【図６】実施の形態２で行われる制御の一例を模式的に示す図である。
【図７】実施の形態２のシステムにおける処理の手順を示すフローチャートである。
【図８】図３のステップＳ１１で行われる処理を詳細に示すフローチャートである。
【符号の説明】
【０１６２】
１０  内燃機関
３０  燃料噴射弁
４０  ＥＣＵ
４２  排気浄化触媒
４８  Ｏ２センサ
【図１】
2007177759.tif 000003
【図２】
2007177759.tif 000004
【図３】
2007177759.tif 000005
【図４】
2007177759.tif 000006
【図５】
2007177759.tif 000007
【図６】
2007177759.tif 000008
【図７】
2007177759.tif 000009
【図８】
2007177759.tif 000010