(57)【要約】【課題】  フューエルカット処理（Ｆ／Ｃ）後の空燃比リッチ制御の実行にあたり、運転者にもたつき感を与えることなく触媒からのＮＯｘの流出を効果的に抑制すること。【解決手段】  この燃料噴射制御装置は、Ｆ／Ｃ後リッチ制御として、Ｆ／Ｃ終了直後（時刻ｔ２）において浅いリッチ空燃比AFrich（その空燃比が比較的長い間継続しても運転者がもたつき感を覚えない程度に浅いリッチ空燃比。例えば、１３）に対応する燃料量に所定の増量分を加えた量の燃料を噴射することでオーバーリッチ空燃比（その空燃比が比較的長い間継続すると運転者がもたつき感を覚える程度に深いリッチ空燃比。例えば、１１）に対応する燃料噴射を１回のみ行う。その直後から、浅いリッチ空燃比AFrichに対応する量の燃料噴射を行う。これにより、機関の空燃比は、Ｆ／Ｃ終了直後にて瞬間的にオーバーリッチ空燃比となり、その後、直ちに、浅いリッチ空燃比AFrichに切換えられる。【選択図】  図４
2006194118.tif 000002
【特許請求の範囲】
【請求項１】
燃焼室に向けて燃料を噴射する燃料噴射手段と、
内燃機関の排気通路に配設された触媒と、
を備えた内燃機関に適用され、
前記内燃機関の運転状態に応じて前記燃料噴射手段による燃料噴射を禁止する処理であるフューエルカット処理を行うフューエルカット処理実行手段と、
前記フューエルカット処理終了後において前記触媒に流入するガスの空燃比が理論空燃比よりもリッチの空燃比になるように前記燃料噴射手段から噴射される燃料量を制御するフューエルカット処理後リッチ制御手段と、
を備えた内燃機関の燃料噴射制御装置において、
前記フューエルカット処理後リッチ制御手段は、
前記触媒に流入するガスの空燃比が、
前記フューエルカット処理の終了時点からの所定の短期間のみ前記機関の出力が明白に低下する程度に理論空燃比からの偏差が大きいリッチの空燃比である第１リッチ空燃比になるとともに前記短期間が経過した時点以降、前記機関の出力が明白に低下しない程度に理論空燃比からの偏差が小さいリッチの空燃比である第２リッチ空燃比に切り換るように、前記燃料噴射手段から噴射される燃料量を制御するように構成された内燃機関の燃料噴射制御装置。
【請求項２】
請求項１に記載の内燃機関の燃料噴射制御装置であって、
前記触媒の酸素吸蔵能力の程度を表す酸素吸蔵能力指標値を取得する指標値取得手段を更に備え、
前記フューエルカット処理後リッチ制御手段は、
前記第１リッチ空燃比を、前記触媒の酸素吸蔵能力が大きいほどよりリッチの空燃比になるように前記取得された酸素吸蔵能力指標値に基づいて設定するように構成された内燃機関の燃料噴射制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の燃料噴射制御装置において、
前記フューエルカット処理後リッチ制御手段は、
前記第１リッチ空燃比に対応する燃料噴射を１回のみ行うように前記燃料噴射手段から噴射される燃料量を制御するよう構成された内燃機関の燃料噴射制御装置。
【請求項４】
請求項１又は請求項２に記載の内燃機関の燃料噴射制御装置において、
前記フューエルカット処理後リッチ制御手段は、
前記第１リッチ空燃比に対応する燃料噴射を複数回行うように前記燃料噴射手段から噴射される燃料量を制御するよう構成された内燃機関の燃料噴射制御装置。
【請求項５】
請求項１乃至請求項４の何れか一項に記載の内燃機関の燃料噴射制御装置において、
前記フューエルカット処理後リッチ制御手段は、
前記第１リッチ空燃比を１１未満に設定するとともに、前記第２リッチ空燃比を１１以上理論空燃比未満に設定するように構成された内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射制御装置に係わり、特に、内燃機関の運転状態に応じてフューエルカット処理を行うとともに、フューエルカット処理終了後において空燃比を一時的にリッチ空燃比に制御するものに関する。
【背景技術】
【０００２】
従来より、内燃機関の排ガスを浄化するための三元触媒（本明細書においては、単に「触媒」とも称呼する。）が、同機関の排気通路に配設されている。この三元触媒は、流入する排ガス中の未燃成分（ＨＣ,ＣＯ）を酸化する機能（酸化機能）と同排ガス中の窒素酸化物（ＮＯｘ）を還元する機能（還元機能）を有し、この酸化・還元機能により未燃ＨＣ，ＣＯやＮＯｘ等の有害成分を浄化することができる。
【０００３】
更に、三元触媒は、一般に、酸素を吸蔵（貯蔵）する酸素吸蔵機能（Ｏ２ストレージ機能）を有していて、流入する排ガスの空燃比が理論空燃比よりもリッチである場合には吸蔵している酸素により同排ガス中の未燃ＨＣ,ＣＯ等の未燃成分を酸化する（即ち、酸素を放出する）とともに、流入する排ガスの空燃比が理論空燃比よりもリーンである場合には同排ガス中の酸素及びＮＯｘを還元して同還元により奪った酸素を内部に吸蔵する。この酸素吸蔵機能により、三元触媒は、流入する排ガスの空燃比が理論空燃比から或る程度まで偏移した場合でも、未燃ＨＣ，ＣＯやＮＯｘを効果的に浄化することができる。
【０００４】
従って、係る触媒を、空燃比が理論空燃比に対してリッチ及びリーンの何れの排ガスが流入しても上述した酸素吸蔵機能を十分に発揮し得る状態とするためには、触媒が吸蔵している酸素量（酸素吸蔵量）が所定の適切な値、例えば、同触媒が吸蔵し得る酸素量の最大値（最大酸素吸蔵量）の半分程度に調整されることが好ましい。
【０００５】
ところで、近時の内燃機関においては、燃費向上等を図るため、車両走行中においてアクセルペダルがオフされる場合等、機関の運転状態に応じて燃料噴射を行わない処理（フューエルカット処理）が実行されるようになっている。係るフューエルカット処理実行中においては触媒に空気そのものが流入する。換言すれば、触媒に流入するガスの空燃比が継続的に超リーンとなる。以下、フューエルカット処理を「Ｆ／Ｃ」と呼ぶこともある。
【０００６】
この結果、Ｆ／Ｃが終了した時点（即ち、燃料噴射（従って、燃焼）が開始された時点）では、触媒の酸素吸蔵量は最大酸素吸蔵量に達している場合が多い。この状態では、その後において空燃比が理論空燃比よりもリーンの排ガスが流入した場合、触媒は酸素吸蔵機能を発揮し得ず、従って、同排ガス中のＮＯｘを効果的に浄化することができない。
【０００７】
そこで、係る問題に対処するため、Ｆ／Ｃ終了後において触媒に流入する排ガスの空燃比（従って、機関に供給される混合気の空燃比）を一時的にリッチ空燃比に意図的に制御して触媒の酸素吸蔵量を上記所定の適切な値に調整する技術が知られている。以下、係る制御を「Ｆ／Ｃ後リッチ制御」と呼ぶこともある。また、機関に供給される混合気の空燃比を「機関の空燃比」とも呼ぶこともある。
【０００８】
例えば、下記特許文献１に記載のＦ／Ｃ後リッチ制御を行う燃料噴射制御装置（燃料供給制御装置）は、機関の空燃比を、Ｆ／Ｃ終了時点にて理論空燃比よりも所定量だけリッチの空燃比に設定するとともに、以降、時間の経過に応じて徐々に理論空燃比に戻すようになっている。
【特許文献１】特開２００３−１７２１７６号公報
【０００９】
図１７は、上記文献に記載の装置によりＦ／Ｃ後リッチ制御が行われる場合における機関の空燃比変化の一例を示している。この例では、Ｆ／Ｃが開始される時刻ｔ１までは機関の空燃比が理論空燃比（ストイキ）に制御され、時刻ｔ１から時刻ｔ２までＦ／Ｃが実行される場合の例が示されている。
【００１０】
この場合、Ｆ／Ｃ終了時点である時刻ｔ２以降、時刻ｔ３までの間に亘ってＦ／Ｃ後リッチ制御が実行される。これにより、機関の空燃比は、時刻ｔ２にてストイキよりも所定量だけリッチの空燃比に設定され、以降、時間の経過に応じて徐々にストイキに近づき、時刻ｔ３になると、ストイキに一致する。
【００１１】
ところで、機関の出力は、機関の空燃比が理論空燃比よりも僅かにリッチ空燃比である場合に最大となり、機関の空燃比がそれよりもリッチの場合、よりリッチになるほど次第に低下していく傾向がある。従って、機関の空燃比が理論空燃比からの偏差が相当に大きいリッチ空燃比に制御される状態が比較的長い間継続すると、運転者は、所望の出力が得られていない感覚（以下、「もたつき感」と称呼する。）を覚えるようになる。以下、このように比較的長い間継続すると運転者がもたつき感を覚える程度に機関の出力が明白に低下することになる深いリッチ空燃比を「オーバーリッチ空燃比」と称呼する。
【００１２】
従って、Ｆ／Ｃ後リッチ制御中において運転者がもたつき感を覚えないようにするためには、機関の空燃比を比較的長い間に亘ってオーバーリッチ空燃比に制御することを防止すればよい。
【００１３】
他方、Ｆ／Ｃ後リッチ制御において機関の空燃比をオーバーリッチ空燃比よりもリーンの浅いリッチ空燃比（即ち、比較的長い間継続しても運転者がもたつき感を覚えない程度のリッチ空燃比）に維持すると、Ｆ／Ｃ終了直後の極短期間に亘って触媒に流入する排ガス中のＮＯｘが十分に浄化され得ずに比較的多量のＮＯｘが触媒から流出される現象が発生することがわかっている。この現象は、触媒内において上述した還元機能が発揮し得る領域（以下、「還元領域」と称呼する。）がＦ／Ｃ終了直後の極短期間において十分に確保できていないことに起因すると考えられている。
【００１４】
そして、係る現象は、Ｆ／Ｃ終了直後にて機関の空燃比をオーバーリッチ空燃比とすることで回避され得ることがわかってきている。これは、Ｆ／Ｃ終了直後にて機関の空燃比をオーバーリッチ空燃比とすることで、Ｆ／Ｃ終了直後の極短期間において還元領域を十分に確保することができるためと考えられる（詳細は、後述する。）。
【００１５】
ここで、上記文献に記載の装置によりＦ／Ｃ後リッチ制御が行われる場合において、Ｆ／Ｃ終了直後にて機関の空燃比をオーバーリッチ空燃比とする場合を考える。図１７に示すように、値AFrichよりもリッチの空燃比がオーバーリッチ空燃比であるものとすると、この例の場合、時刻ｔ２以降、時刻ｔAまでの比較的長い間に亘って機関の空燃比がオーバーリッチ空燃比に制御されることになる（図１７における斜線で示した領域を参照）。
【００１６】
従って、上記文献に記載の装置によりＦ／Ｃ後リッチ制御を行う場合、Ｆ／Ｃ終了直後の極短期間に亘る上述したＮＯｘの流出を防止しようとすると運転者にもたつき感を与える場合があるという問題がある。
【発明の開示】
【００１７】
本発明は上記問題に対処するためになされたものであって、その目的は、Ｆ／Ｃ後リッチ制御を行う内燃機関の燃料噴射制御装置において、運転者にもたつき感を与えることなく触媒からのＮＯｘの流出を効果的に抑制し得るものを提供することにある。
【００１８】
本発明に係る燃料噴射制御装置は、燃焼室に向けて燃料を噴射する燃料噴射手段（例えば、インジェクタ）と、内燃機関の排気通路に配設された触媒（三元触媒）とを備えた内燃機関に適用される。
【００１９】
本発明に係る燃料噴射制御装置は、前記内燃機関の運転状態に応じてＦ／Ｃを行うフューエルカット処理実行手段と、Ｆ／Ｃ終了後において上記Ｆ／Ｃ後リッチ制御を行うフューエルカット処理後リッチ制御手段とを備えている。
【００２０】
そして、本発明の特徴は、前記フューエルカット処理後リッチ制御手段が、前記触媒に流入するガスの空燃比が、前記フューエルカット処理の終了時点からの所定の短期間のみ前記機関の出力が明白に低下する程度に理論空燃比からの偏差が大きいリッチの空燃比である第１リッチ空燃比になるとともに前記短期間が経過した時点以降、前記機関の出力が明白に低下しない程度に理論空燃比からの偏差が小さいリッチの空燃比である第２リッチ空燃比に切り換るように、前記燃料噴射手段から噴射される燃料量を制御するように構成されたことにある。
【００２１】
ここにおいて、「前記機関の出力が明白に低下する」とは、その出力低下が比較的長い間継続すると運転者がもたつき感を覚える程度に機関の出力が（空燃比が理論空燃比である場合に比して）低下することを意味している。即ち、前記第１リッチ空燃比は、その空燃比が比較的長い間継続すると運転者がもたつき感を覚える程度に深いリッチ空燃比（即ち、上記オーバーリッチ空燃比）に対応し、前記第２リッチ空燃比は、その空燃比が比較的長い間継続しても運転者がもたつき感を覚えない程度に浅いリッチ空燃比に対応している。
【００２２】
なお、第１リッチ空燃比、及び第２リッチ空燃比はそれぞれ、一定値であってもよいし、時間の経過に応じて変動する値であってもよい。また、第１リッチ空燃比は、例えば、「１１」未満に対応するとともに、第２リッチ空燃比は、例えば、「１１」以上理論空燃比（例えば、１４．６）未満に対応する。
【００２３】
上記構成によれば、通常、例えば、触媒に流入するガスの空燃比（即ち、機関の空燃比）が理論空燃比に一致するように燃料噴射量が制御される。この場合、筒内吸入空気量から理論空燃比を得るために必要な燃料量（基本燃料噴射量）を算出し、この基本燃料噴射量と等しい量の燃料を噴射してもよいし、触媒の下流の排気通路に配設された空燃比センサの出力に基づいて行われる空燃比フィードバック制御により基本燃料噴射量を補正して燃料噴射量を求め、同求めた燃料噴射量の燃料を噴射してもよい。
【００２４】
一方、機関の運転状態に応じて所定のＦ／Ｃ実行条件が成立すると、Ｆ／Ｃが実行される。そして、Ｆ／Ｃ終了時点以降、Ｆ／Ｃ後リッチ制御が実行される。この場合、触媒に流入するガスの空燃比（従って、機関の空燃比）は、Ｆ／Ｃ終了時点からの所定の短期間のみオーバーリッチ空燃比（深いリッチ空燃比）に制御され、その後、オーバーリッチ空燃比よりもリーンのリッチ空燃比（浅いリッチ空燃比）に直ちに切換えられる。即ち、機関の空燃比は２段階に制御される。
【００２５】
これにより、空燃比が第１リッチ空燃比であるオーバーリッチ空燃比に制御される期間は上記短期間となるから、空燃比が第１リッチ空燃比に制御されることにより運転者にもたつき感を与えることが防止され得る。他方、Ｆ／Ｃ終了直後にて機関の空燃比がオーバーリッチ空燃比に制御されることになるから、Ｆ／Ｃ終了直後の極短期間において触媒内に還元領域を十分に確保することができる。この結果、上述したＦ／Ｃ終了直後の極短期間に亘るＮＯｘの流出が防止され得る。以上のことから、本発明によると、運転者にもたつき感を与えることなく触媒からのＮＯｘの流出を効果的に抑制することができる。
【００２６】
なお、Ｆ／Ｃ後リッチ制御中における触媒に流入するガスの空燃比の調整は、燃焼室内の燃焼に寄与する上記燃料噴射手段による燃料噴射量の調整のみならず、触媒の上流の排気通路に配設された排気通路内（或いは、触媒）に向けて燃料（或いは、還元剤）を噴射する第２燃料噴射手段（インジェクタ等）からの燃料噴射量の調整によって行っても良い。
【００２７】
また、触媒に流入するガスの空燃比を第１リッチ空燃比に制御する際における燃料噴射量は、触媒に流入するガスの空燃比を第２リッチ空燃比に制御する際における燃料噴射量（即ち、筒内吸入空気量から第２リッチ空燃比を得るために必要な燃料量）に所定の増量分を加えた値に設定されてもよい。
【００２８】
係る増量分は、筒内吸入空気量にかかわらずに設定されてもよい（即ち、所謂、非同期噴射量であってもよい）。この場合、触媒に流入するガスの空燃比は、第２リッチ空燃比よりも係る増量分に応じた分だけリッチの空燃比となり、この空燃比が結果的に第１リッチ空燃比となる。
【００２９】
また、空燃比が第２リッチ空燃比に制御される期間は、例えば、Ｆ／Ｃ後リッチ制御終了後において空燃比が理論空燃比よりもリーンの排ガスが触媒に流入した場合にＮＯｘが効果的に浄化され得る程度まで触媒の酸素吸蔵量が最大酸素吸蔵量から減少した時点、触媒の酸素吸蔵量が最大酸素吸蔵量の半分程度まで最大酸素吸蔵量から減少した時点等で終了することが好ましい。なお、触媒の酸素吸蔵量は、周知の手法により（例えば、後述するように）推定され得る。
【００３０】
上記本発明に係る燃料噴射制御装置においては、前記触媒の酸素吸蔵能力の程度を表す酸素吸蔵能力指標値を取得する指標値取得手段を更に備え、前記フューエルカット処理後リッチ制御手段は、前記第１リッチ空燃比を、前記触媒の酸素吸蔵能力が大きいほどよりリッチの空燃比になるように前記取得された酸素吸蔵能力指標値に基づいて設定するように構成されることが好適である。
【００３１】
ここにおいて、触媒の酸素吸蔵能力の程度とは、触媒の酸素吸蔵機能による酸素の吸蔵・放出反応の程度（酸素の吸蔵・放出反応の速度。即ち、単位時間、単位体積当たりに吸蔵・放出され得る酸素量）である。触媒の酸素吸蔵能力の程度を表す「酸素吸蔵能力指標値」は、触媒の劣化の程度を表す劣化指標値又は同触媒の温度に応じて変化する値であることが好適である。触媒の酸素吸蔵能力は、触媒の劣化が進行するほど低下し、また、触媒の温度に応じて変化するからである。
【００３２】
また、上記劣化指標値としては、触媒の最大酸素吸蔵量を使用することが好ましい。触媒の劣化が進行するほど同触媒の最大酸素吸蔵量が減少するからであり、また、同触媒の最大酸素吸蔵量量は周知の手法により比較的容易に取得できるからである。
【００３３】
Ｆ／Ｃ終了直後にて機関の空燃比をオーバーリッチ空燃比とする場合において、Ｆ／Ｃ終了直後の極短期間において確保され得る触媒の還元領域は、同触媒の酸素吸蔵能力が高いほど少なくなる傾向がある（詳細は、後述する。）。また、Ｆ／Ｃ終了直後にて機関の空燃比をオーバーリッチ空燃比とする場合、このオーバーリッチ空燃比がよりリッチに設定されるほどＦ／Ｃ終了直後の極短期間において確保され得る触媒の還元領域が大きくなる傾向がある（詳細は、後述する。）。
【００３４】
以上のことから、上記構成のように、第１リッチ空燃比（即ち、オーバーリッチ空燃比）を、触媒の酸素吸蔵能力が大きいほどよりリッチの空燃比になるように設定すると、Ｆ／Ｃ終了直後の極短期間において触媒の還元領域を、触媒の酸素吸蔵能力にかかわらず安定して十分に確保することができる。この結果、触媒の酸素吸蔵能力にかかわらず、上述したＦ／Ｃ終了直後の極短期間に亘るＮＯｘの流出が安定して防止され得る。
【００３５】
なお、この場合において、上述したように、触媒に流入するガスの空燃比を第１リッチ空燃比に制御する際における燃料噴射量が、触媒に流入するガスの空燃比を第２リッチ空燃比に制御する際における燃料噴射量に所定の増量分を加えた値に設定される場合、係る増量分は、触媒の酸素吸蔵能力（例えば、最大酸素吸蔵量）が大きいほどより大きくなるように設定される。
【００３６】
上記本発明に係る燃料噴射制御装置においては、前記フューエルカット処理後リッチ制御手段は、前記第１リッチ空燃比に対応する燃料噴射を１回のみ行うように前記燃料噴射手段から噴射される燃料量を制御するよう構成されることが好適である。
【００３７】
これによれば、触媒に流入するガスの空燃比（従って、機関の空燃比）がオーバーリッチ空燃比に制御される期間（即ち、上記所定の短期間）が１回の燃料噴射に対応する期間となり、極めて短時間となる。この結果、空燃比がオーバーリッチ空燃比に制御されることにより運転者にもたつき感を与える事態の発生が確実に防止され得る。
【００３８】
また、上記本発明に係る燃料噴射制御装置においては、前記フューエルカット処理後リッチ制御手段は、前記第１リッチ空燃比に対応する燃料噴射を複数回行うように前記燃料噴射手段から噴射される燃料量を制御するよう構成されてもよい。
【００３９】
上述したように、第１リッチ空燃比に対応する燃料噴射を１回のみ行うようにすると、この１回の燃料噴射のみで、Ｆ／Ｃ終了直後の極短期間において触媒の還元領域を十分に確保する必要が生じる。このため、係る第１リッチ空燃比を相当にリッチの空燃比に設定する必要がある。換言すれば、係る１回の燃料噴射において噴射する燃料量を相当に多くする必要がある。この結果、係る１回の燃料噴射により失火が発生する可能性が高くなる。
【００４０】
以上のことから、失火の発生の防止を優先する場合、上記構成のように、運転者にもたつき感を与えない程度に十分に短い期間内（上記所定の短期間）に亘って第１リッチ空燃比に対応する燃料噴射を複数回行うことで、１回の燃料噴射において噴射する燃料量を少なくすることができ、この結果、失火の発生を防止することができる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明による内燃機関の燃料噴射制御装置の各実施形態について図面を参照しつつ説明する。
【００４２】
（第１実施形態）
図１は、本発明の第１実施形態に係る燃料噴射制御装置を４サイクル火花点火式多気筒内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００４３】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００４４】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００４５】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００４６】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットルバルブ４３及びスワールコントロールバルブ４４を備えている。
【００４７】
スロットルバルブ４３は、ＤＣモータからなるスロットルバルブアクチュエータ４３ａにより吸気管４１内で回転駆動されるようになっている。ＳＣＶ４４は、ＤＣモータからなるＳＣＶアクチュエータ４４ａにより回転駆動されるようになっている。
【００４８】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、エキゾーストパイプ５２に配設された上流側触媒５３、上流側触媒５３よりも下流のエキゾーストパイプ５２に配設された下流側触媒５４を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００４９】
上流側触媒５３及び下流側触媒５４のそれぞれは、所謂、白金等の貴金属からなる活性成分を担持する三元触媒装置である。各触媒は、特に、触媒流入ガスがほぼ理論空燃比であるとき、未燃ＨＣ，ＣＯ等を酸化するとともに、ＮＯｘを還元する上記酸化・還元機能を有する。更に、各触媒は、酸素を吸蔵（貯蔵）する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃ＨＣ，ＣＯ及びＮＯｘを浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア(CeO2)によってもたらされる。
【００５０】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、スロットルポジションセンサ６３、カムポジションセンサ６４、クランクポジションセンサ６５、水温センサ６６、空燃比センサ６７、酸素濃度センサ６８、触媒温度センサ６９及びアクセル開度センサ７０を備えている。
【００５１】
エアフローメータ６１は、吸気管４１内を流れる吸入空気の質量流量Gaに応じた信号を出力するようになっている。吸気温センサ６２は、吸入空気の温度を検出し、吸気温度THAを表す信号を出力するようになっている。スロットルポジションセンサ６３は、スロットルバルブ４３の開度（スロットルバルブ開度）を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。
【００５２】
カムポジションセンサ６４は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６５は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ６６は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００５３】
空燃比センサ６７は、排気通路であって上流側触媒５３よりも上流側に配設されている。空燃比センサ６７は、所謂「限界電流式酸素濃度センサ」であって、上流側触媒５３に流入する排ガス中の空燃比を検出し、図２に示したように、検出した空燃比に応じた信号vabyfsを出力するようになっている。
【００５４】
酸素濃度センサ６８は、排気通路であって上流側触媒５３よりも下流側であり下流側触媒５４よりも上流側に配設されている。酸素濃度センサ６８は、所謂「濃淡電池式酸素濃度センサ」である。この酸素濃度センサ６８の出力Voxsの（静的な）特性は、図３に示したようである。即ち、この酸素濃度センサ６８は、検出対象のガス（本例では、上流側触媒５３から流出する排ガス）の空燃比が理論空燃比よりもリッチ及びリーンのとき最大出力値max及び最小出力値minをそれぞれ出力し、検出対象のガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の値（中央値）ａを出力するようになっている。
【００５５】
アクセル開度センサ７０は、運転者によって操作されるアクセルペダル７１の操作量Accpを表す信号を出力するようになっている。
【００５６】
電気制御装置８０は、互いにバスで接続されたＣＰＵ８１、ＣＰＵ８１が実行するプログラム、テーブル（マップ、関数）及び定数等を予め記憶したＲＯＭ８２、ＣＰＵ８１が必要に応じてデータを一時的に格納するＲＡＭ８３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ８４並びにＡＤコンバータを含むインターフェース８５等からなるマイクロコンピュータである。
【００５７】
インターフェース８５は、前記センサ６１〜７０と接続され、ＣＰＵ８１にセンサ６１〜７０からの信号を供給するとともに、ＣＰＵ８１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットルバルブアクチュエータ４３ａ及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００５８】
（空燃比フィードバック制御の概要）
次に、上記のように構成された燃料噴射制御装置（以下、「本装置」と称呼することもある。）による空燃比フィードバック制御の概要について説明する。本装置は、上流側触媒５３から流出しているガスの空燃比（従って、上流側触媒５３に流入するガスの空燃比）が理論空燃比AFstoichとなるように機関に供給する混合気の空燃比（即ち、機関の空燃比）を制御する。
【００５９】
具体的には、上流側触媒５３の下流に配設された酸素濃度センサ６８の出力Voxsが理論空燃比AFstoichに相当する目標値Voxsref（本例では、上記中央値ａ）となるように、同出力Voxsに基づいて（実際には、空燃比センサ６７の出力vabyfsにも基づいて）機関の空燃比をフィードバック制御する。この結果、上流側触媒５３（及び、下流側触媒５４）の酸素吸蔵量は適切な値（例えば、最大酸素吸蔵量の半分程度の値）に維持され得る。
【００６０】
また、本装置は、所定の条件が成立する毎に上記空燃比フィードバック制御を中断するとともにフューエルカット処理（Ｆ／Ｃ）を行う。Ｆ／Ｃが終了すると、本装置は、Ｆ／Ｃ終了後におけるリッチ制御（後に詳述するＦ／Ｃ後リッチ制御）を実行して上流側触媒５３の酸素吸蔵量を所定の適切な値に調整する。そして、本装置は、Ｆ／Ｃ後リッチ制御が終了した後において上記空燃比フィードバック制御を再開する。以上が、空燃比フィードバック制御の概要である。
【００６１】
（Ｆ／Ｃ後リッチ制御の概要）
以下、本装置によるＦ／Ｃ後リッチ制御の概要について、図４に示したタイムチャートを参照しながら説明する。図４に示したタイムチャートは、時刻ｔ１以前にて上記空燃比フィードバック制御が実行されていて、時刻ｔ１から時刻ｔ２までの間、Ｆ／Ｃが実行される場合における、機関の空燃比、及び上流側触媒５３から流出するＮＯｘの量（ＮＯｘ排出量）の変化の例が示されている。
【００６２】
この場合、時刻ｔ１以前にて、機関の空燃比は理論空燃比AFstoich近傍に制御される。この結果、時刻ｔ１以前にて、上流側触媒５３の酸素吸蔵量は上記適切な値に維持され得るとともに、上流側触媒５３の上述した酸化・還元機能、及び酸素吸蔵機能が適切に作用し得、この結果、ＮＯｘ排出量は微量に維持されている。
【００６３】
時刻ｔ１になると、Ｆ／Ｃが開始されるとともに空燃比フィードバック制御が中断され、Ｆ／Ｃは時刻ｔ２まで継続される。これにより、時刻ｔ１〜ｔ２の間、機関の空燃比が超リーンに維持されるから上流側触媒５３（及び、下流側触媒５４）の酸素吸蔵量は次第に増大していき、時刻ｔ２では既に最大酸素吸蔵量に達している。また、時刻ｔ１〜ｔ２の間、燃焼室２５内の燃焼が中断されることでＮＯｘ排出量が「０」に維持される。
【００６４】
時刻ｔ２になると、Ｆ／Ｃが終了し、同時刻ｔ２の直後から、Ｆ／Ｃ後リッチ制御が開始される。ここで、上述したように、Ｆ／Ｃ後リッチ制御として、機関の空燃比を上記オーバーリッチ空燃比（上記第１リッチ空燃比に対応する空燃比。その空燃比が比較的長い間継続すると運転者がもたつき感を覚える程度に深いリッチ空燃比。例えば、「１１」程度。）に一定に維持するものとすると、運転者がもたつき感を覚えることになる。
【００６５】
従って、運転者にもたつき感を与えることを防止するため、時刻ｔ２の直後から、図４に実線で示すように、機関の空燃比がオーバーリッチ空燃比よりもリーンのリッチ空燃比AFrich（上記第２リッチ空燃比に対応する空燃比。その空燃比が比較的長い間継続しても運転者がもたつき感を覚えない程度に浅いリッチ空燃比。例えば、「１３」程度。）に一定に維持されるものと仮定する。
【００６６】
そうすると、図４に実線で示すように、時刻ｔ２（従って、Ｆ／Ｃ終了時点）の直後の極短期間に亘ってＮＯｘ排出量が瞬間的に（パルス的に）増大する現象が発生する。なお、この時点では下流側触媒５４の酸素吸蔵量は最大酸素吸蔵量に達しているから、このように上流側触媒５３から排出された比較的多量のＮＯｘは下流側触媒５４を通過しても浄化され得ずに外部に排出されてしまうことになる。
【００６７】
このように上流側触媒５３からのＮＯｘ排出量が瞬間的に増大する現象は、上流側触媒５３内において上述した還元機能が発揮し得る領域（即ち、上記還元領域）がＦ／Ｃ終了直後の極短期間において十分に確保できていないことに起因すると考えられる。以下、このことを図５を参照しながら説明する。
【００６８】
図５（ａ）は、この場合（即ち、Ｆ／Ｃ終了直後から機関の空燃比が浅いリッチ空燃比AFrichに一定に維持される場合）におけるＦ／Ｃ終了直後の極短期間において、上流側触媒５３に流入する未燃ＨＣ，ＣＯの酸化反応に対応して上流側触媒５３内で発生する酸素放出反応（吸蔵されている酸素が放出される反応）の状態（分布）を示している。ドットで示した領域の色の濃さは、酸素放出反応が発生する程度を示していて、色が濃いほど酸素放出反応が発生する程度が高いことを意味している。
【００６９】
図５（ａ）に示すように、酸素放出反応の程度は、同反応が上流側触媒５３の上流側から順に発生していくことに起因して同上流側触媒５３の上流側ほど高くなる。また、上流側触媒５３内における単位時間、単位体積当たりに放出され得る酸素量（酸素吸蔵能力、酸素放出速度）には限度があるから、上流側触媒５３に単位時間あたりに流入する未燃ＨＣ，ＣＯの量が多いほど、酸化され得ない状態にある未燃ＨＣ，ＣＯが上流側触媒５３のより下流側まで侵入することになる。この結果、酸素放出反応が上流側触媒５３のより下流側まで発生するようになる。
【００７０】
即ち、上流側触媒５３に流入するガスの空燃比（従って、機関の空燃比）が理論空燃比AFstoichよりもよりリッチであるほど酸素放出反応が上流側触媒５３のより下流側まで発生する。従って、この場合のように、Ｆ／Ｃ終了直後から機関の空燃比が浅いリッチ空燃比AFrichに維持される場合では、Ｆ／Ｃ終了直後の極短期間において酸素放出反応が発生し得る領域は、図５（ａ）に示すように上流側触媒５３の上流側の小さい領域のみとなる。
【００７１】
そして、係る酸素放出反応が発生する領域が上記「還元機能が発揮し得る領域」である上記還元領域に対応する。従って、この場合、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域が十分に確保されていないことになる。
【００７２】
他方、理論空燃比AFstoichよりもリッチの空燃比の排ガスが上流側触媒５３に流入する場合において同排ガス中のＮＯｘは、上流側触媒５３内にて形成されている還元領域が大きいほど上記還元機能によってより高い効率をもって浄化され得る。
【００７３】
以上のことから、このようにＦ／Ｃ終了直後から機関の空燃比を浅いリッチ空燃比AFrichに一定に維持すると、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３からのＮＯｘ排出量が瞬間的に増大する現象が発生すると考えられる。なお、この場合、Ｆ／Ｃ終了直後の極短期間が経過した後は、上流側触媒５３内において酸素放出反応が発生する領域（即ち、還元領域）が時間の経過に応じて上流側触媒５３のより下流側まで達していく（従って、大きくなっていく）から、ＮＯｘ排出量は微量となる。
【００７４】
以上より、Ｆ／Ｃ終了直後における係るＮＯｘ排出量の瞬間的な増大を防止するためには、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域を十分に確保する必要がある。このためには、Ｆ／Ｃ終了直後から機関の空燃比を深いリッチ空燃比（オーバーリッチ空燃比）とする必要がある。しかしながら、上述したように、機関の空燃比を比較的長い間オーバーリッチ空燃比に維持すると運転者にもたつき感を与えることになる。従って、機関の空燃比をオーバーリッチ空燃比とする期間を極短期間とする必要がある。
【００７５】
そこで、本装置は、図４に破線で示すように、Ｆ／Ｃ終了直後（時刻ｔ２直後）において、オーバーリッチ空燃比に対応する燃料噴射を１回のみ行う。具体的には、本装置は、浅いリッチ空燃比AFrichに対応する燃料量に所定の増量分（後述する非同期増量Fadd）を加えた量の燃料を噴射することでオーバーリッチ空燃比に対応する燃料噴射を１回のみ行う。
【００７６】
そして、本装置は、その直後から、浅いリッチ空燃比AFrichに対応する量の燃料を噴射していく。これにより、機関の空燃比は、時刻ｔ２の直後にて瞬間的にオーバーリッチ空燃比（第１リッチ空燃比）となり、その後、直ちに、浅いリッチ空燃比AFrich（第２リッチ空燃比）に切換えられることになる（即ち、２段階に制御される）。
【００７７】
図５（ｂ）は、この場合（即ち、Ｆ／Ｃ終了直後にてオーバーリッチ空燃比に対応する燃料噴射を１回行う場合）において、図５（ａ）と同様、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内で発生する酸素放出反応の分布（従って、還元領域）を示している。
【００７８】
図５（ｂ）に示すように、この場合、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域が下流側まで広がっていて、還元領域が十分に確保されている。従って、図４に破線で示すように、この場合、Ｆ／Ｃ終了直後における上述したＮＯｘ排出量の瞬間的な増大が回避され得る。また、この場合、機関の空燃比がオーバーリッチになる期間が極短期間となるから、運転者にもたつき感を与えることも防止され得る。
【００７９】
ここで、上記非同期増量Faddは、図６に示した上流側触媒５３の最大酸素吸蔵量Cmax（酸素吸蔵能力指標値、劣化指標値）と非同期増量Faddとの関係を規定するテーブルMapFadd(Cmax)と、同最大酸素吸蔵量Cmaxとに基づいて決定される。上流側触媒５３の最大酸素吸蔵量Cmaxは、周知の手法により（例えば、後述するように）取得され得る。これにより、最大酸素吸蔵量Cmaxが大きいほど非同期増量Faddはより大きい値に設定される。これは、以下の理由に基づく。
【００８０】
即ち、上流側触媒５３内における単位時間、単位体積当たりに放出され得る酸素量（酸素吸蔵能力、酸素放出速度）は上流側触媒５３の劣化の程度が少ないほど（上流側触媒５３が新しいほど）大きくなる。そうすると、上流側触媒５３に流入するガスの空燃比（従って、機関の空燃比）が理論空燃比AFstoichよりもリッチである場合、上流側触媒５３の劣化の程度が少ないほど、酸素放出反応が上流側触媒５３のより上流側で発生するようになる。換言すれば、上流側触媒５３の劣化の程度が少ないほど、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域が確保され難くなる。
【００８１】
従って、上流側触媒５３の劣化の程度にかかわらずＦ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域を安定して十分に確保するためには（即ち、上述したＮＯｘ排出量の瞬間的な増大の発生を安定して防止するためには）、上流側触媒５３の劣化の程度が少ないほど、上記オーバーリッチ空燃比をよりリッチに設定する必要がある。換言すれば、オーバーリッチ空燃比に対応する燃料噴射量（従って、上記非同期増量Fadd）をより多くする必要がある。
【００８２】
他方、上流側触媒５３の劣化の程度が少ないほど、上流側触媒５３の最大酸素吸蔵量Cmaxは大きくなる。以上のことから、上流側触媒５３の最大酸素吸蔵量Cmaxが大きいほど非同期増量Faddがより大きい値に設定される。
【００８３】
ところで、時刻ｔ２以降、上流側触媒５３に流入する排ガスの空燃比が理論空燃比AFstoichよりもリッチの空燃比となることで、上流側触媒５３の酸素吸蔵量は最大酸素吸蔵量から徐々に減少していく。そして、機関の空燃比が上記浅いリッチ空燃比AFrichに維持される期間は、例えば、「Ｆ／Ｃ後リッチ制御終了後（即ち、上記空燃比フィードバック制御の再開後）において理論空燃比AFstoichよりもリーンの排ガスが上流側触媒５３に流入した場合に同上流側触媒５３によりＮＯｘが効果的に浄化され得る程度まで上流側触媒５３の酸素吸蔵量が最大酸素吸蔵量から減少した時点」で終了することが好適であると考えられる。以下、この時点における、上流側触媒５３の酸素吸蔵量の最大酸素吸蔵量からの減少量を「要求還元量O2outref」と称呼する。
【００８４】
このため、本装置は、浅いリッチ空燃比AFrichに対応する量の燃料の噴射を開始した時点以降、上流側触媒５３に吸蔵されている酸素の放出量の積算値（以下、「放出Ｏ２量O2out」と称呼する。）をカウント（更新）していく。
【００８５】
具体的には、本装置は、浅いリッチ空燃比AFrichに対応する量の燃料の噴射を開始した時点以降、下記(1)式、及び下記(2)式に基づいて１回の燃料噴射に対応する酸素吸蔵量の減少量ΔO2を燃料噴射毎に算出するとともに、これを積算することで放出Ｏ２量O2outを更新していく。
【００８６】
ΔO2＝０．２３・Fi・（AFstoich − AFrich）  ・・・(1)
【００８７】
O2out＝ΣΔO2  ・・・(2)
【００８８】
上記(1)式において、値「０．２３」は大気中に含まれる酸素の重量割合である。Fiは１回の燃料噴射量である。なお、AFrichは空燃比センサ６７により検出された空燃比に代えてもよい。
【００８９】
この(1)式に示したように、１回の燃料噴射量Fiに、上記浅いリッチ空燃比AFrichの理論空燃比AFstoichからの偏移（AFstoich
− AFrich）を乗じることで、１回の燃料噴射に対応する空気の不足量が求められ、この空気の不足量に酸素の重量割合を乗じることで同１回の燃料噴射に対応する上流側触媒５３の酸素吸蔵量減少量（吸蔵酸素の放出量）ΔO2が求められる。
【００９０】
そして、(2)式に示したように、酸素吸蔵量減少量ΔO2を浅いリッチ空燃比AFrichに対応する量の燃料の噴射を開始した時点から積算していくことで、同時点以降における放出Ｏ２量O2outが更新されていく。このように、本例では、機関の空燃比が浅いリッチ空燃比AFrich（第２リッチ空燃比）に制御されていることを利用して放出Ｏ２量O2outを推定していく。これにより、図４に示したように、放出Ｏ２量O2outは、時刻ｔ２以降（正確には、浅いリッチ空燃比AFrichに対応する量の燃料噴射が開始された時点以降）、「０」から増大していく。
【００９１】
そして、本装置は、放出Ｏ２量O2outが上記要求還元量O2outrefに達した時点（時刻ｔ３）にて浅いリッチ空燃比AFrichに対応する量の燃料噴射を終了し、以降、機関の空燃比を浅いリッチ空燃比AFrichから徐々に理論空燃比AFstoichまで近づけていく。以下、この過程を「空燃比移行過程」と称呼する。
【００９２】
ここで、上記要求還元量O2outrefは、図７に示した上流側触媒５３の最大酸素吸蔵量Cmaxと要求還元量O2outrefとの関係を規定するテーブルMapO2outref(Cmax)と、同最大酸素吸蔵量Cmaxとに基づいて決定される。これにより、最大酸素吸蔵量Cmaxが小さいほど要求還元量O2outrefはより小さい値に設定される。これは、以下の理由に基づく。
【００９３】
即ち、放出Ｏ２量O2outが上記要求還元量O2outrefに達した時点（時刻ｔ３）での上流側触媒５３の酸素吸蔵量は、「Cmax−O2outref」となる。従って、要求還元量O2outrefを最大酸素吸蔵量Cmaxにかかわらず一定とすると、最大酸素吸蔵量Cmaxが小さいほど時刻ｔ３での上流側触媒５３の酸素吸蔵量が小さくなる。
【００９４】
この結果、最大酸素吸蔵量Cmaxが小さいほど、Ｆ／Ｃ後リッチ制御終了後（即ち、上記空燃比フィードバック制御の再開後）において理論空燃比AFstoichよりもリッチの排ガスが上流側触媒５３に流入した場合に同上流側触媒５３により未燃ＨＣ，ＣＯが効果的に浄化され得なくなる。
【００９５】
以上のことから、Ｆ／Ｃ後リッチ制御終了後（即ち、上記空燃比フィードバック制御の再開後）における上流側触媒５３によるＮＯｘの浄化能力と未燃ＨＣ，ＣＯの浄化能力とのバランスを考慮して、最大酸素吸蔵量Cmaxが小さいほど要求還元量O2outrefはより小さい値に設定される。
【００９６】
機関の空燃比が理論空燃比AFstoichと一致する時刻ｔ４になると、本装置は「空燃比移行過程」を終了してＦ／Ｃ後リッチ制御を終了するとともに、同時刻ｔ４以降、所定の一定期間TAに亘って機関の空燃比を理論空燃比AFstoich一定に維持する。この一定期間TAにおいても空燃比フィードバック制御は中断されたままである。
【００９７】
これは、空燃比が理論空燃比AFstoichで一定となる排ガスが上流側触媒５３に流入する期間（従って、上流側触媒５３から流出する期間）を或る程度確保することで、空燃比フィードバック制御再開時点における酸素濃度センサ６８の状態を安定した状態とし、これにより、空燃比フィードバック制御再開時点から適切な空燃比フィードバック制御を達成するためである。
【００９８】
そして、上記一定期間TAが経過する時刻ｔ５になると、本装置は、空燃比フィードバック制御を再開する。以上が、本装置によるＦ／Ｃ後リッチ制御の概要である。
【００９９】
（実際の作動）
次に、上記のように構成された燃料噴射制御装置の実際の作動について、電気制御装置８０のＣＰＵ８１が実行するルーチン（プログラム）をフローチャートにより示した図８〜図１２を参照しながら説明する。なお、図８に示したフローチャートは、機関の運転状態に応じてＦ／Ｃを行うフューエルカット処理実行手段に対応し、図１１に示したフローチャートは、上述した機関の空燃比を２段階のリッチ空燃比に制御してＦ／Ｃ後リッチ制御を行うフューエルカット処理後リッチ制御手段に対応している。
【０１００】
ＣＰＵ８１は、図８に示したＦ／Ｃ後リッチ制御非実行中における燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンを、所定の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、所定の気筒のクランク角度が前記所定クランク角度になると、ＣＰＵ８１はステップ８００から処理を開始してステップ８０５に進み、リッチ制御実行フラグＸＲＩＣＨの値が「０」になっているか否かを判定する。ここで、リッチ制御実行フラグＸＲＩＣＨは、その値が「１」のときＦ／Ｃ後リッチ制御実行中であることを示し、その値が「０」のときＦ／Ｃ後リッチ制御が実行されていないことを示す。
【０１０１】
いま、Ｆ／Ｃ後リッチ制御が実行されておらず、且つ、Ｆ／Ｃも実行されていないものとすると（例えば、図４の時刻ｔ１以前を参照）、ＣＰＵ８１はステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進み、エアフローメータ６１により計測された吸入空気量Gaとエンジン回転速度NEとに基づいて、筒内吸入空気量McをテーブルMapMc(Ga,NE)から求める。
【０１０２】
次いで、ＣＰＵ８１はステップ８１５に進み、現時点にてＦ／Ｃが実行されているか否かを判定する。現時点ではＦ／Ｃは実行されていないから、ＣＰＵ８１はステップ８１５にて「Ｎｏ」と判定してステップ８２０に進んで、現時点がＦ／Ｃ終了直後であるか否かを判定し、ここでも「Ｎｏ」と判定してステップ８２５に進む。
【０１０３】
ＣＰＵ８１はステップ８２５に進むと、上記求めた筒内吸入空気量Mcを理論空燃比AFstoichで除することで機関の空燃比を理論空燃比AFstoichとするための燃料量である基本燃料噴射量Fbaseを求める。次いで、ＣＰＵ８１はステップ８３０に進んで、燃料噴射量Fiを、上記求めた基本燃料噴射量Fbaseに後述する空燃比フィードバック補正量ＤＦｉを加えた値に設定する。
【０１０４】
そして、ＣＰＵ８１はステップ８３５に進んで燃料噴射量Fiの燃料を噴射するための指示を前記所定の気筒に対応するインジェクタ３９に対して行い、ステップ８９５に進んで本ルーチンを一旦終了する。これにより、空燃比フィードバック補正された燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【０１０５】
次に、上記空燃比フィードバック補正量ＤＦｉの算出について説明する。ＣＰＵ８１は図９に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ９００から処理を開始し、ステップ９０５に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、Ｆ／Ｃが実行されておらず、Ｆ／Ｃ後リッチ制御が実行されておらず（ＸＲＩＣＨ＝０）、最新のＦ／Ｃ後リッチ制御終了後上記一定期間TAが経過していて、水温センサ６６により検出される機関の冷却水温THWが第１所定温度以上であり、機関の一回転当りの吸入空気量（負荷）が所定値以下であり、且つ、空燃比センサ６７が正常であるとき成立する。
【０１０６】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ８１はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、現時点の空燃比センサ６７の出力vabyfsと後述するサブフィードバック制御量vafsfbとの和（vabyfs＋vafsfb）及び図２に示したマップに基づいて現時点における上流側触媒５３の上流の空燃比を求める。この空燃比は、上流側触媒５３の上流におけるガスの「みかけの空燃比」であり、以下、「上流側制御用空燃比abyfs」と称呼される。
【０１０７】
次に、ＣＰＵ８１はステップ９１５に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Ｍｃ（ｋ−Ｎ）を前記求めた上流側制御用空燃比abyfsで除することにより、現時点からＮストローク前の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。値Ｎは、内燃機関の排気量及び燃焼室２５から空燃比センサ６７までの距離等により異なる値である。
【０１０８】
このように、現時点からＮストローク前の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を上流側制御用空燃比abyfsで除するのは、燃焼室２５内で燃焼された混合気が空燃比センサ６７に到達するまでには、Ｎストロークに相当する時間を要しているからである。なお、筒内吸入空気量Ｍｃは、先のステップ８１０の処理により各気筒の吸気行程毎に求められ、各吸気行程に対応してＲＡＭ８３内に記憶されている。
【０１０９】
次いで、ＣＰＵ８１はステップ９２０に進み、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を現時点からＮストローク前の時点における目標空燃比abyfr（ｋ−Ｎ）（この例では、理論空燃比）で除することにより、現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。
【０１１０】
そして、ＣＰＵ８１はステップ９２５に進んで目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じた値を筒内燃料供給量偏差ＤＦｃとして設定する。つまり、筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、ＣＰＵ８１はステップ９３０に進み、下記(3)式に基づいて空燃比フィードバック補正量ＤＦｉを求める。
【０１１１】
ＤＦｉ＝（Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ）・ＫＦＢ  …  (3)
【０１１２】
上記(3)式において、Ｇｐは予め設定された比例ゲイン、Ｇｉは予め設定された積分ゲインである。なお、(3)式の係数ＫＦＢはエンジン回転速度NE及び筒内吸入空気量Ｍｃ等により可変とすることが好適であるが、ここでは「１」としている。また、値ＳＤＦｃは筒内燃料供給量偏差ＤＦｃの積分値であり、次のステップ９３５にて更新される。
【０１１３】
即ち、ＣＰＵ８１は、ステップ９３５にてその時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ９２５にて求めた筒内燃料供給量偏差ＤＦｃを加えて、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを求め、ステップ９９５にて本ルーチンを一旦終了する。
【０１１４】
以上により、空燃比フィードバック補正量ＤＦｉが比例積分制御により求められ、この空燃比フィードバック補正量ＤＦｉが前述した図８のステップ８３０により燃料噴射量Fiに反映される。この結果、現時点からＮストローク前の燃料供給量の過不足が補償されるので、機関の空燃比（従って、上流側触媒５３に流入するガスの空燃比）の平均値が目標空燃比abyfrと略一致せしめられる。
【０１１５】
一方、ステップ９０５の判定時において、空燃比フィードバック制御条件が不成立であると、ＣＰＵ８１は同ステップ９０５にて「Ｎｏ」と判定してステップ９４０に進み、空燃比フィードバック補正量ＤＦｉの値を「０」に設定し、続くステップ９４５にて、その後に空燃比フィードバック制御を再開するための準備として筒内燃料供給量偏差の積分値ＳＤＦｃを「０」に初期化した後、ステップ９９５に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、空燃比フィードバック補正量ＤＦｉを「０」として空燃比（基本燃料噴射量Ｆbase）の補正を行わない。
【０１１６】
次に、酸素濃度センサ６８の出力Voxsに基づく空燃比フィードバック制御について説明する。なお、かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、上述したサブフィードバック制御量vafsfbが算出される。
【０１１７】
ＣＰＵ８１は、サブフィードバック制御量vafsfbを求めるために、図１０に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ１０００から処理を開始し、ステップ１００５に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ９０５での空燃比フィードバック制御条件が成立し、機関の冷却水温THWが前記第１所定温度よりも高い第２所定温度以上であり、且つ、酸素濃度センサ６８が正常であるときに成立する。
【０１１８】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ８１はステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進み、理論空燃比相当の目標値Voxsrefから現時点の酸素濃度センサ６８の出力Voxsを減じることにより、出力偏差量ＤＶoxsを求める。次に、ＣＰＵ８１はステップ１０１５に進み、下記(4)式に基づいてサブフィードバック制御量vafsfbを求める。
【０１１９】
vafsfb＝Ｋｐ・ＤＶoxs＋Ｋｉ・ＳＤＶoxs  …(4)
【０１２０】
上記(4)式において、Ｋｐは予め設定された比例ゲイン、Ｋｉは予め設定された積分ゲインである。また、ＳＤＶoxsは、出力偏差量ＤＶoxsの積分値であって、次のステップ１０２０にて更新される値である。即ち、ＣＰＵ８１は、ステップ１０２０に進むと、その時点における出力偏差量の積分値ＳＤＶoxsに上記ステップ１０１０にて求めた出力偏差量ＤＶoxsを加えて、新たな出力偏差量の積分値ＳＤＶoxsを求め、その後、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０１２１】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は前述した図９のステップ９１０にて空燃比センサ６７の実際の出力に加えられ、その和（vabyfs
+ vafsfb）が図２に示したマップに基づいて前記上流側制御用空燃比abyfsに変換される。換言すると、上流側制御用空燃比abyfsは、空燃比センサ６７が実際に検出している空燃比に対して、酸素濃度センサ６８の出力Voxsに基づいて求められるサブフィードバック制御量vafsfbに相当する分だけ異なる空燃比として求められる。
【０１２２】
この結果、前述した図９のステップ９１５にて計算される筒内燃料供給量Ｆｃ（ｋ−Ｎ）が酸素濃度センサ６８の出力Voxsに応じて変化するので、ステップ９２５，９３０によって空燃比フィードバック補正量ＤＦｉが同酸素濃度センサ６８の出力Voxsに応じて変更せしめられる。これにより、上流側触媒５３の下流側の空燃比が理論空燃比に一致するように、機関の空燃比が制御せしめられる。
【０１２３】
一方、ステップ１００５の判定時において、サブフィードバック制御条件が不成立であると、ＣＰＵ８１は同ステップ１００５にて「Ｎｏ」と判定してステップ１０２５に進み、サブフィードバック制御量vafsfbの値を「０」に設定し、続くステップ１０３０にて、その後にサブフィードバック制御を再開するための準備として出力偏差量の積分値ＳＤＶoxsを「０」に初期化した後、ステップ１０９５に進んで本ルーチンを一旦終了する。このように、サブフィードバック制御条件が不成立であるときは、サブフィードバック制御量vafsfbを「０」として、酸素濃度センサ６８の出力Voxsに応じた空燃比センサ６７の出力vabyfsの補正（従って、空燃比フィードバック補正量ＤＦｉの補正）を行わない。以上、Ｆ／Ｃ、及びＦ／Ｃ後リッチ制御が実行されておらず、従って、空燃比フィードバック制御が実行されている場合（例えば、図４の時刻ｔ１以前を参照）について説明した。
【０１２４】
次に、この状態にてＦ／Ｃが開始される場合（図４の時刻ｔ１を参照）について説明する。この場合、空燃比フィードバック制御条件、及びサブフィードバック制御条件が成立しなくなるから、ＣＰＵ８１は図９のステップ９０５、及び図１０のステップ１００５に進んだとき「Ｎｏ」と判定するようになる。この結果、空燃比フィードバック補正量ＤＦｉが「０」に維持されて（ステップ９４０）、空燃比フィードバック制御が中断される。
【０１２５】
また、この場合、図８のルーチンを繰り返し実行しているＣＰＵ８１はステップ８１５に進んだとき「Ｙｅｓ」と判定するようになり、ステップ８９５に直ちに進んで本ルーチンを一旦終了するようになる。この結果、ステップ８３５の処理が実行されないから燃料が噴射されなくなる（即ち、Ｆ／Ｃが実行される）。以降、Ｆ／Ｃが実行されている限りにおいてＣＰＵ８１はステップ８１５にて「Ｙｅｓ」と判定し続ける。
【０１２６】
そして、所定時間が経過してＦ／Ｃが終了すると（図４の時刻ｔ２を参照）、ＣＰＵ８１はステップ８１５に進んだとき「Ｎｏ」と判定するようになり、ステップ８２０に進む。この時点は、Ｆ／Ｃ終了直後である。従って、この場合、ＣＰＵ８１はステップ８２０にて「Ｙｅｓ」としてステップ８４０に進み、リッチ制御実行フラグＸＲＩＣＨの値を「０」から「１」に変更する。
【０１２７】
これにより、以降、ＣＰＵ８１はステップ８０５に進んだとき「Ｎｏ」と判定してステップ８９５に直ちに進むようになる。従って、リッチ制御実行フラグＸＲＩＣＨの値が「１」になっている場合（即ち、Ｆ／Ｃ後リッチ制御が実行される場合）、本ルーチンによっては燃料噴射制御が実行されない。この場合、後述する図１１に示したＦ／Ｃ後リッチ制御実行中における燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンにより燃料噴射制御が実行される。
【０１２８】
即ち、ＣＰＵ８１は、図１１に示したルーチンを、図８のルーチンと同期して、所定の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、所定の気筒のクランク角度が前記所定クランク角度になると、ＣＰＵ８１はステップ１１００から処理を開始してステップ１１０２に進み、リッチ制御実行フラグＸＲＩＣＨの値が「１」であるか否かを判定し、「Ｎｏ」と判定する場合、ステップ１１９５に直ちに進んで本ルーチンを一旦終了する。
【０１２９】
いま、先のステップ８４０の処理によりリッチ制御実行フラグＸＲＩＣＨの値が「０」から「１」に変更された直後であるものとすると（図４の時刻ｔ２を参照）、ＣＰＵ８１はステップ１１０２にて「Ｙｅｓ」と判定してステップ１１０４に進み、リッチ制御実行フラグＸＲＩＣＨの値が「０」から「１」に変化したか否かを判定する。
【０１３０】
現時点は、リッチ制御実行フラグＸＲＩＣＨの値が「０」から「１」に変更された直後であるから、ＣＰＵ８１はステップ１１０４にて「Ｙｅｓ」と判定してステップ１１０６を経由して図１２に示した制御用最大酸素吸蔵量Cmaxsを決定するためのルーチンを実行する。制御用最大酸素吸蔵量Cmaxsとは、後述する要求還元量O2outref、及び非同期増量Faddを求める際に使用される、上流側触媒５３の最大酸素吸蔵量の値である。
【０１３１】
ＣＰＵ８１はステップ１２００から処理を開始し、ステップ１２０５に進むと、上流側触媒５３の最大酸素吸蔵量Cmaxが未測定であるか否かを判定する。ここで、最大酸素吸蔵量Cmaxの測定について説明する。本装置は、所定の最大酸素吸蔵量測定条件が成立する毎に、例えば、機関の空燃比をリーンな空燃比から所定のリッチ空燃比に強制的に変化させ、その際における上流側触媒５３の下流の酸素濃度センサ６８の出力変化に基づいて上流側触媒５３の最大酸素吸蔵量Cmaxを測定するようになっている。
【０１３２】
より具体的に述べると、本装置は、機関の空燃比をリーンな空燃比に制御して上流側触触媒５３の酸素吸蔵量を最大酸素吸蔵量としておき（従って、酸素濃度センサ６８の出力をリーンを示す値（上記値min）としておき）、その後、機関の空燃比を所定のリッチ空燃比に切換える。そして、本装置は、この時点から、上記(1)式、及び(2)式に相当する式を利用して放出Ｏ２量O2outを「０」から積算・更新していく。本装置は、この放出Ｏ２量O2outの更新を、上流側触媒５３の酸素吸蔵量が「０」となって同上流側触媒５３下流の酸素濃度センサ６８の出力がリッチを示す値（上記値max）へと変化する時点まで行う。そして、この時点で更新されている放出Ｏ２量O2outが上流側触媒５３の最大酸素吸蔵量Cmaxと等しいことを利用して、本装置は、最大酸素吸蔵量Cmaxを上記この時点で更新されている放出Ｏ２量O2outの値に設定する。このようにして、最大酸素吸蔵量Cmax（酸素吸蔵能力指標値）を取得する手段が指標値取得手段に相当する。
【０１３３】
係る上流側触媒５３の最大酸素吸蔵量Cmaxは、例えば、図示しない車両のバッテリーの交換直後やイグニッションがオフからオンに変更された時点以降、上述した最大酸素吸蔵量Cmaxの初回の測定が完了するまでの間、測定されていない状態となる。
【０１３４】
いま、最大酸素吸蔵量Cmaxの測定が未完了であって、且つ、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がないものとすると、ＣＰＵ８１はステップ１２０５にて「Ｙｅｓ」と判定してステップ１２１０に進み、フラグＸＯ２ＯＵＴの値が「０」であるか否かを判定する。ここで、フラグＸＯ２ＯＵＴは、その値が「１」のとき、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯があることを示し、その値が「０」のとき、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がないことを示す。
【０１３５】
現時点では、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がなく、フラグＸＯ２ＯＵＴの値が「０」になっているから、ＣＰＵ８１はステップ１２１０にて「Ｙｅｓ」と判定してステップ１２１５に進み、制御用最大酸素吸蔵量Cmaxsの値を最大酸素吸蔵量初期値Cmaxiniに設定する。
【０１３６】
最大酸素吸蔵量初期値Cmaxiniは、本例では、上流側触媒５３が新品の状態での最大酸素吸蔵量の値と同上流側触媒５３が劣化したと判定される状態での最大酸素吸蔵量の値の中央の値である。最大酸素吸蔵量初期値Cmaxiniをこのように設定するのは以下の理由に基づく。
【０１３７】
即ち、最大酸素吸蔵量初期値Cmaxiniを「上流側触媒５３が新品の状態での最大酸素吸蔵量の値」とすると、上記非同期増量Faddが大きい値に設定される（図６を参照）。この結果、仮に上流側触媒５３の劣化が相当進行している場合、上流側触媒５３が多量に流入する未燃ＨＣ，ＣＯを完全に浄化できず、上流側触媒５３から未燃ＨＣ，ＣＯが多量に流出する可能性がある。一方、最大酸素吸蔵量初期値Cmaxiniを「上流側触媒５３が劣化したと判定される状態での最大酸素吸蔵量の値」とすると、上記非同期増量Faddが小さい値に設定される（図６を参照）。この結果、仮に上流側触媒５３が新品である場合、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて上記還元領域が十分に確保され難くなり、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３からＮＯｘが多量に流出する可能性がある。以上のことから、最大酸素吸蔵量初期値Cmaxiniは、本例では、上流側触媒５３が新品の状態での最大酸素吸蔵量の値と同上流側触媒５３が劣化したと判定される状態での最大酸素吸蔵量の値の中央の値に設定される。
【０１３８】
そして、制御用最大酸素吸蔵量Cmaxsの値を最大酸素吸蔵量初期値Cmaxiniに設定した後、ＣＰＵ８１はステップ１２９５を経由して図１１のステップ１１０８に戻り、上記設定された制御用最大酸素吸蔵量Cmaxsと、図７に示したテーブルとに基づいて要求還元量O2outrefを決定する。これにより、現時点では、要求還元量O2outは最大酸素吸蔵量初期値Cmaxiniに対応する値に設定される。
【０１３９】
続いて、ＣＰＵ８１はステップ１１１０に進んで、オーバーリッチフラグＸＯＶＥＲの値を「１」に設定するとともに空燃比移行フラグＸＳＨＩＦＴの値を「０」に設定し、続くステップ１１１２にて放出Ｏ２量O2outの値を「０」に初期化する。ここで、オーバーリッチフラグＸＯＶＥＲは、その値が「１」のときオーバーリッチ空燃比に対応する燃料噴射が実行されていることを示し、その値が「０」のときオーバーリッチ空燃比に対応する燃料噴射が実行されていない（上記浅いリッチ空燃比AFrichに対応する燃料噴射が実行されている）ことを示す。空燃比移行フラグＸＳＨＩＦＴは、その値が「１」のとき上記「空燃比移行過程」にあることを示し、その値が「０」のとき上記「空燃比移行過程」にないことを示す。
【０１４０】
次に、ＣＰＵ８１はステップ１１１４に進み、先のステップ８１０と同様に、筒内吸入空気量Mcを求め、続くステップ１１１６にて空燃比移行フラグＸＳＨＩＦＴの値が「０」であるか否かを判定する。
【０１４１】
現時点では、空燃比移行フラグＸＳＨＩＦＴの値が「０」であるから、ＣＰＵ８１はステップ１１１６にて「Ｙｅｓ」と判定してステップ１１１８に進み、オーバーリッチフラグＸＯＶＥＲの値が「１」であるか否かを判定し、ここでも「Ｙｅｓ」と判定してステップ１１２０に進み、上記求めた筒内吸入空気量Mcを上記浅いリッチ空燃比AFrichで除することで機関の空燃比を同浅いリッチ空燃比AFrich（第２リッチ空燃比）とするための燃料噴射量Fiを求める。
【０１４２】
次に、ＣＰＵ８１はステップ１１２２に進んで上記求めた制御用最大酸素吸蔵量Cmaxsと、図６に示したテーブルとに基づいて非同期増量Faddを求める。これにより、現時点では、非同期増量Faddは最大酸素吸蔵量初期値Cmaxiniに対応する値に設定される。
【０１４３】
次に、ＣＰＵ８１はステップ１１２４に進み、燃料噴射量Fiを、上記求めたFiの値に上記求めた非同期増量Faddを加えた値に設定する。これにより、燃料噴射量Fiは、機関の空燃比をオーバーリッチ空燃比（第１リッチ空燃比）とするための値になる。
【０１４４】
続いて、ＣＰＵ８１はステップ１１２６に進んでオーバーリッチフラグＸＯＶＥＲの値を「１」から「０」に変更し、続くステップ１１５０にて燃料噴射量Fiの燃料を噴射するための指示を前記所定の気筒に対応するインジェクタ３９に対して行い、ステップ１１９５に進んで本ルーチンを一旦終了する。これにより、機関の空燃比をオーバーリッチ空燃比とするための燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して１回だけ噴射されて、Ｆ／Ｃ後リッチ制御が開始・実行される。
【０１４５】
以降、オーバーリッチフラグＸＯＶＥＲの値が「０」になっている。従って、ＣＰＵ８１は本ルーチンを実行する際、ステップ１１０２にて「Ｙｅｓ」、ステップ１１０４にて「Ｎｏ」、ステップ１１１６にて「Ｙｅｓ」と判定してステップ１１１８に進み、同ステップ１１１８にて「Ｎｏ」と判定してステップ１１２８に進むようになる。
【０１４６】
ＣＰＵ８１はステップ１１２８に進むと、先のステップ１１１４にて求めた筒内吸入空気量Mcを上記浅いリッチ空燃比AFrichで除することで機関の空燃比を同浅いリッチ空燃比AFrich（第２リッチ空燃比）とするための燃料噴射量Fiを求める。次に、ＣＰＵ８１はステップ１１３０に進み、ステップ１１２８にて求めた燃料噴射量Fiと、上記(1)式とに基づいて酸素吸蔵量減少量ΔO2を求め、続くステップ１１３２にて、放出Ｏ２量O2outの値を、上記(2)式に従ってその時点での値（現時点では「０」）に上記求めた酸素吸蔵量減少量ΔO2を加えた値に更新する。
【０１４７】
続いて、ＣＰＵ８１はステップ１１３４に進み、上記更新された放出Ｏ２量O2outが先のステップ１１０８にて設定されている要求還元量O2outref以上となっているか否かを判定する。現時点では、上記更新された放出Ｏ２量O2outが要求還元量O2outrefよりも十分に小さい。従って、ＣＰＵ８１はステップ１１３４にて「Ｎｏ」と判定してステップ１１３６に進み、酸素濃度センサ６８の出力Voxsがリーンを示す値（上記値min）からリッチを示す値（上記値max）に変化したか否かを判定する。ここで、酸素濃度センサ６８の出力Voxsがリーンを示す値からリッチを示す値に変化することは、Ｆ／Ｃ後リッチ制御により上流側触媒５３の酸素吸蔵量が「０」になったことを意味している。
【０１４８】
現時点は、オーバーリッチ空燃比に対応する燃料噴射が終了した直後（従って、Ｆ／Ｃが終了した直後）であるから、酸素濃度センサ出力Voxsはリーンを示す値に維持されている。従って、ＣＰＵ８１はステップ１１３６にて「Ｎｏ」と判定してステップ１１５０に進む。これにより、機関の空燃比を浅いリッチ空燃比AFrichとするための燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【０１４９】
以降、ステップ１１３２の処理が実行される毎に更新・増大されていく放出Ｏ２量O2outの値が要求還元量O2outref未満であり、且つ、酸素濃度センサ出力Voxsがリーンを示す値に維持されている限りにおいて、ＣＰＵ８１はステップ１１０２、１１０４、１１１４〜１１１８、１１２８〜１１３４、１１３６、１１５０の処理を繰り返し実行する。これにより、機関の空燃比を浅いリッチ空燃比AFrichとするための燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して繰り返し噴射される。
【０１５０】
いま、放出Ｏ２量O2outの値が要求還元量O2outref以上となった（図４の時刻ｔ３を参照）、或いは、酸素濃度センサ出力Voxsがリーンを示す値からリッチを示す値に変化したものとする。この場合、ＣＰＵ８１はステップ１１３４、或いはステップ１１３６に進んだとき「Ｙｅｓ」と判定してステップ１１３８に進み、空燃比移行フラグＸＳＨＩＦＴの値、及びフラグＸＯ２ＯＵＴの値を共に、「０」から「１」に変更する。これにより、浅いリッチ空燃比AFrichに対応する燃料噴射制御が終了する。
【０１５１】
そして、ＣＰＵ８１はステップ１１４０に進み、最終放出Ｏ２量O2out1の値を現時点での放出Ｏ２量O2outと等しい値に設定し、空燃比移行過程中空燃比AFshiftの値を上記浅いリッチ空燃比AFrichの値（即ち、初期値）に設定する。ここで、最終放出Ｏ２量O2out1は、後述するように、制御用最大酸素吸蔵量Cmaxsの設定（ステップ１２２０）に使用される値である。
【０１５２】
この最終放出Ｏ２量O2out1の値は、放出Ｏ２量O2outの値が要求還元量O2outref以上となったことによりステップ１１４０が実行された場合、要求還元量O2outrefと等しい値に設定されることになる。
【０１５３】
一方、最終放出Ｏ２量O2out1の値は、酸素濃度センサ出力Voxsがリーンを示す値からリッチを示す値に変化したことによりステップ１１４０が実行された場合（即ち、上流側触媒５３の酸素吸蔵量が「０」になった場合）、要求還元量O2outrefよりも小さい値に設定されることになる。この場合における最終放出Ｏ２量O2out1の値は、上流側触媒５３の最大酸素吸蔵量Cmaxの大きさを精度良く表す値となり得る。
【０１５４】
換言すれば、制御用最大酸素吸蔵量Cmaxsが上流側触媒５３の実際の最大酸素吸蔵量Cmaxよりも大きめに設定されている場合（従って、要求還元量O2outrefが大きめに設定されている場合）、最終放出Ｏ２量O2out1の値は、上流側触媒５３の最大酸素吸蔵量Cmaxの大きさを精度良く表す値となり得る。
【０１５５】
以降、空燃比移行フラグＸＳＨＩＦＴの値が「１」になっているから、ＣＰＵ８１はステップ１１０２、１１０４、１１１４と進んだ後、ステップ１１１６に進んだとき「Ｎｏ」と判定してステップ１１４２に進むようになる。これにより、上記空燃比移行過程が開始される。
【０１５６】
ＣＰＵ８１はステップ１１４２に進むと、空燃比移行過程中空燃比AFshiftの値を、その時点での値（現時点では、浅いリッチ空燃比AFrich）に所定の正の微小値αを加えた値に更新し、続くステップ１１４４にて先のステップ１１１４にて求めた筒内吸入空気量Mcを上記更新された空燃比移行過程中空燃比AFshiftで除することで機関の空燃比を同空燃比移行過程中空燃比AFshiftとするための燃料噴射量Fiを求める。
【０１５７】
続いて、ＣＰＵ８１はステップ１１４６に進み、上記更新された空燃比移行過程中空燃比AFshiftの値が理論空燃比AFstoich以上となったか否か（従って、空燃比移行過程が終了したか否か）を判定する。現時点では、空燃比移行過程中空燃比AFshiftの値が浅いリッチ空燃比AFrich近傍の値（＜AFstoich）となっているから、ＣＰＵ８１はステップ１１４６にて「Ｎｏ」と判定してステップ１１５０に進む。これにより、機関の空燃比を、空燃比移行過程中空燃比AFshiftとするための燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【０１５８】
以降、ステップ１１４２の処理により更新・増大されていく空燃比移行過程中空燃比AFshiftの値が理論空燃比AFstoich以上となるまでの間、ＣＰＵ８１はステップ１１０２、１１０４、１１１４、１１１６、１１４２〜１１４６、１１５０の処理を繰り返し実行する。これにより、機関の空燃比が、浅いリッチ空燃比AFrichから理論空燃比AFstoichに向けて徐々に変更されていく。
【０１５９】
そして、空燃比移行過程中空燃比AFshiftの値が理論空燃比AFstoich以上となると（図４の時刻ｔ４を参照）、ＣＰＵ８１はステップ１１４６に進んだとき「Ｙｅｓ」と判定してステップ１１４８に進み、リッチ制御実行フラグＸＲＩＣＨの値を「１」から「０」に変更する。
【０１６０】
これにより、以降、ＣＰＵ８１はステップ１１０２に進んだとき「Ｎｏ」と判定してステップ１１９５に直ちに進んで本ルーチンを一旦終了するようになる。これにより、Ｆ／Ｃ後リッチ制御が終了する。加えて、図８のルーチンを図１１のルーチンと同期して実行しているＣＰＵ８１は、ステップ８０５に進んだとき「Ｙｅｓ」と判定して先のステップ８１０〜８３５の処理を再開するようになる。
【０１６１】
なお、この時点では、Ｆ／Ｃ後リッチ制御終了時点から上記一定期間TAが経過していないから、空燃比フィードバック制御条件が未だ不成立のままである。即ち、空燃比フィードバック補正量ＤＦｉが「０」に維持されている（ステップ９４０）。従って、ステップ８３０の処理における空燃比フィードバック補正量ＤＦｉの値が「０」に維持されているから、空燃比フィードバック制御が中断されたままとなる。
【０１６２】
そして、上記一定期間TAが経過すると（図４の時刻ｔ５を参照）、空燃比フィードバック制御条件が成立する。この結果、図９のステップ９０５、及び図１０のステップ１００５にて「Ｙｅｓ」と判定されるようになり、ステップ９３０にて空燃比フィードバック補正量ＤＦｉの値が適宜設定されて空燃比フィードバック制御が再開される（ステップ８３０）。
【０１６３】
以上、最大酸素吸蔵量Cmaxの測定が未完了であって、且つ、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がない場合（ＸＯ２ＯＵＴ＝０）において（即ち、制御用最大酸素吸蔵量Cmaxsが最大酸素吸蔵量初期値Cmaxiniに設定される場合において）、Ｆ／Ｃ、及びＦ／Ｃ後リッチ制御が実行される場合について説明した。次に、最大酸素吸蔵量Cmaxの測定が未完了のままであるが、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がある場合（ＸＯ２ＯＵＴ＝１）において、Ｆ／Ｃ、及びＦ／Ｃ後リッチ制御が実行される場合について説明する。
【０１６４】
いま、Ｆ／Ｃが終了してＦ／Ｃ後リッチ制御が開始されたもの（ステップ８４０にてＸＲＩＣＨが「０」から「１」に変更されたもの）とすると（図４の時刻ｔ２を参照）、ＣＰＵ８１は図１１のステップ１１０２、１１０４にて共に「Ｙｅｓ」と判定してステップ１１０６を経由して図１２のステップ１２０５に進む。
【０１６５】
ＣＰＵ８１はステップ１２０５に進むと「Ｙｅｓ」と判定してステップ１２１０に進み、ここでは「Ｎｏ」と判定してステップ１２２０に進んで、先の図１１のステップ１１４０にて設定されている最新の最終放出Ｏ２量O2out1の値と、図１３に示した放出Ｏ２量O2outと仮最大酸素吸蔵量Cmaxtempとの関係を規定するテーブルMapCmaxtemp(O2out)とに基づいて仮最大酸素吸蔵量Cmaxtempを求める。これにより、仮最大酸素吸蔵量Cmaxtempは最終放出Ｏ２量O2out1の値に比例した値に設定される。
【０１６６】
そして、ＣＰＵ８１はステップ１２２５に進んで、制御用最大酸素吸蔵量Cmaxsの値をこの仮最大酸素吸蔵量Cmaxtempの値に設定し、ステップ１２９５を経由してステップ１１０８以降の処理を実行する。
【０１６７】
これにより、ステップ１１０８、１１２２の処理により、要求還元量O2outref、及び非同期増量Faddが、上記仮最大酸素吸蔵量Cmaxtempの値と、図７及び図６のテーブルにそれぞれ基づいて決定されるようになる。
【０１６８】
この結果、最新の最終放出Ｏ２量O2out1の値が、以前において酸素濃度センサ出力Voxsがリーンを示す値からリッチを示す値に変化したことによりステップ１１４０が実行されて求められている場合（即ち、上流側触媒５３の酸素吸蔵量が「０」になった場合）、仮最大酸素吸蔵量Cmaxtempの値は上述した最大酸素吸蔵量初期値Cmaxiniよりも上流側触媒５３の実際の最大酸素吸蔵量Cmaxにより近い値となり得、この場合、制御用最大酸素吸蔵量Cmaxsの値が上流側触媒５３の実際の最大酸素吸蔵量Cmaxにより近い値となり得る。従って、要求還元量O2outref、及び非同期増量Faddが上流側触媒５３の実際の最大酸素吸蔵量Cmaxに応じたより適切な値に設定された状態でＦ／Ｃ後リッチ制御が実行される。
【０１６９】
以上、最大酸素吸蔵量Cmaxの測定が未完了のままであるが、イグニッションがオンに変更された時点以降においてＦ／Ｃ後リッチ制御が実行・完了された経緯がある場合（ＸＯ２ＯＵＴ＝１）において（即ち、制御用最大酸素吸蔵量Cmaxsが仮最大酸素吸蔵量Cmaxtempに設定される場合において）、Ｆ／Ｃ、及びＦ／Ｃ後リッチ制御が実行される場合について説明した。次に、その後、上述した最大酸素吸蔵量測定条件が成立し、その結果、最大酸素吸蔵量Cmaxの測定が完了している場合について説明する。
【０１７０】
いま、Ｆ／Ｃが終了してＦ／Ｃ後リッチ制御が開始されたもの（ステップ８４０にてＸＲＩＣＨが「０」から「１」に変更されたもの）とすると（図４の時刻ｔ２を参照）、ＣＰＵ８１は図１１のステップ１１０２、１１０４にて共に「Ｙｅｓ」と判定してステップ１１０６を経由して図１２のステップ１２０５に進む。
【０１７１】
ＣＰＵ８１はステップ１２０５に進むと「Ｎｏ」と判定してステップ１２３０に進み、制御用最大酸素吸蔵量Cmaxsの値を上記測定された正確な最大酸素吸蔵量Cmaxの値に設定し、ステップ１２９５を経由してステップ１１０８以降の処理を実行する。
【０１７２】
これにより、ステップ１１０８、１１２２の処理により、要求還元量O2outref、及び非同期増量Faddが、上記測定された正確な最大酸素吸蔵量Cmaxの値と、図７及び図６のテーブルにそれぞれ基づいて決定されるようになる。この結果、要求還元量O2outref、及び非同期増量Faddが上流側触媒５３の正確な最大酸素吸蔵量Cmaxに基づいて正確に設定された状態でＦ／Ｃ後リッチ制御が実行される。
【０１７３】
以上、説明したように、本発明の第１実施形態に係る燃料噴射制御装置によれば、Ｆ／Ｃ終了後、Ｆ／Ｃ後リッチ制御を行う。このＦ／Ｃ後リッチ制御では、Ｆ／Ｃ終了直後において、浅いリッチ空燃比AFrich（その空燃比が比較的長い間継続しても運転者がもたつき感を覚えない程度に浅いリッチ空燃比。例えば、１３）に対応する燃料量に所定の非同期増量Faddを加えた量の燃料を噴射することでオーバーリッチ空燃比（その空燃比が比較的長い間継続すると運転者がもたつき感を覚える程度に深いリッチ空燃比。例えば、１１）に対応する燃料噴射が１回のみ行われる。その直後から、浅いリッチ空燃比AFrichに対応する量の燃料噴射が行われる。これにより、機関の空燃比は、Ｆ／Ｃ終了直後にて瞬間的にオーバーリッチ空燃比となり、その後、直ちに、浅いリッチ空燃比AFrichに切換えられる（即ち、２段階に制御される）。
【０１７４】
これにより、Ｆ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域が十分に確保され得、Ｆ／Ｃ終了直後におけるＮＯｘ排出量の瞬間的な増大が回避され得る。また、機関の空燃比がオーバーリッチになる期間が極短期間となるから、運転者にもたつき感を与えることも防止され得る。
【０１７５】
また、上記非同期増量Faddは、上流側触媒５３の最大酸素吸蔵量Cmaxが大きいほどより大きい値に設定される。これにより、上流側触媒５３の劣化の程度にかかわらずＦ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域を安定して十分に確保することができ、この結果、上述したＮＯｘ排出量の瞬間的な増大の発生を安定して防止することができる。
【０１７６】
更には、上流側触媒５３の最大酸素吸蔵量Cmaxが測定されていない段階では、上流側触媒５３の最大酸素吸蔵量として適切な値（最大酸素吸蔵量初期値Cmaxini、仮最大酸素吸蔵量Cmaxtemp）を使用して非同期増量Fadd等が決定されていく。従って、上流側触媒５３の最大酸素吸蔵量Cmaxが測定されていない段階から上述したＦ／Ｃ終了直後におけるＮＯｘ排出量の瞬間的な増大の発生を安定して防止することができる。
【０１７７】
（第２実施形態）
次に、本発明の第２実施形態に係る燃料噴射制御装置について説明する。この燃料噴射制御装置は、オーバーリッチ空燃比（第１リッチ空燃比）に相当する燃料噴射を複数回（Nref回）行う点、並びに、オーバーリッチ空燃比の目標値AFoverrichを設定する点においてのみ上記第１実施形態と異なっている。従って、以下、係る相違点を中心に説明する。
【０１７８】
上記第１実施形態では、機関の空燃比をオーバーリッチ空燃比とする期間を短くすることを最優先し、オーバーリッチ空燃比に対応する燃料噴射が１回のみ行われている。しかしながら、この１回の燃料噴射のみでＦ／Ｃ終了直後の極短期間において上流側触媒５３の還元領域を十分に確保するためには、この１回の噴射に係る燃料量（即ち、上記非同期増量Fadd）を相当に多くする必要がある。この結果、係る１回の燃料噴射により失火が発生する可能性が高くなる場合がある。
【０１７９】
以上のことから、この第２実施形態に係る装置は、失火の発生の防止を最優先し、運転者にもたつき感を与えない程度に十分に短い期間内に亘って、第１実施形態でのオーバーリッチ空燃比よりもリーンのオーバーリッチ空燃比に対応する燃料噴射をＦ／Ｃ終了直後から複数回（Nref回）行う。これにより、１回の燃料噴射において噴射する燃料量を少なくすることができ、この結果、オーバーリッチ空燃比に対応する燃料噴射が実行されている間における失火の発生が防止され得る。
【０１８０】
この場合、この第２実施形態に係る装置は、図１４に示した上流側触媒５３の最大酸素吸蔵量Cmaxとオーバーリッチ空燃比の目標値AFoverrichとの関係を規定するテーブルMapAFoverrichと、上記制御用最大酸素吸蔵量Cmaxsとに基づいて、オーバーリッチ空燃比の目標値AFoverrichを設定し、機関の空燃比が係るオーバーリッチ空燃比の目標値AFoverrichになるように上述したNref回の燃料噴射を行う。
【０１８１】
これにより、上流側触媒５３の最大酸素吸蔵量Cmaxが大きいほどオーバーリッチ空燃比の目標値AFoverrichがよりリッチの空燃比となる。このことは、上記第１実施形態において、上流側触媒５３の最大酸素吸蔵量Cmaxが大きいほど非同期増量Faddがより大きい値に設定されることに対応している。
【０１８２】
これにより、上記第１実施形態と同様、上流側触媒５３の劣化の程度にかかわらずＦ／Ｃ終了直後の極短期間において上流側触媒５３内にて還元領域を安定して十分に確保することができる。なお、図１４に示すように、制御用最大酸素吸蔵量Cmaxsが値a以下になると、オーバーリッチ空燃比AFoverrichは上記浅いリッチ空燃比AFrichに維持される。
【０１８３】
（第２実施形態の実際の作動）
以下、第２実施形態に係る燃料噴射制御装置の実際の作動について説明する。この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図８〜図１２に示したルーチン（図１１に示したルーチンを除く。）をそのまま実行する。一方、この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図１１に示したルーチンに代えて図１５にフローチャートにより示したルーチンを実行する。以下、第２実施形態に特有の図１５に示したルーチンについて説明する。
【０１８４】
この装置のＣＰＵ８１は、図１５に示したＦ／Ｃ後リッチ制御実行中における燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンを、図８のルーチンと同期して、所定の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。なお、図１５に示したルーチンにおいて、図１１のステップと同一のステップについては図１１のステップ番号と同一の番号を付している。
【０１８５】
いま、先のステップ８４０の処理によりリッチ制御実行フラグＸＲＩＣＨの値が「０」から「１」に変更された直後であるものとすると（図４の時刻ｔ２を参照）、ＣＰＵ８１はステップ１１０２、１１０４にて「Ｙｅｓ」と判定してステップ１１０６（実際には、図１２のルーチン）にて制御用最大酸素吸蔵量Cmaxsを取得した後、ステップ１５０５に進み、図１６に示した上流側触媒５３の最大酸素吸蔵量Cmaxと要求還元量O2outref2との関係を規定するテーブルMapO2outref2と、上記取得した制御用最大酸素吸蔵量Cmaxsとに基づいて要求還元量O2outrefを求める。
【０１８６】
なお、この要求還元量O2outref2は、第１実施形態において図１１のステップ１１０８にて取得される要求還元量O2outrefよりも、上述したNref回のオーバーリッチ空燃比に対応する燃料噴射による放出Ｏ２量O2out分だけ大きい値に設定される。
【０１８７】
続いて、ＣＰＵ８１はステップ１５１０に進み、先の図１４に示した上流側触媒５３の最大酸素吸蔵量Cmaxとオーバーリッチ空燃比の目標値AFoverrichとの関係を規定するテーブルMapAFoverrichと、上記取得した制御用最大酸素吸蔵量Cmaxsとに基づいてオーバーリッチ空燃比の目標値AFoverrichを求める。
【０１８８】
次いで、ＣＰＵ８１はステップ１１１０、１１１２の処理を順に実行した後、ステップ１５１５に進んで、カウンタＮの値を「０」に初期化する。カウンタＮはオーバーリッチ空燃比に対応する燃料噴射の回数をカウントするためのカウンタである。
【０１８９】
次に、ＣＰＵ８１はステップ１１１４の処理を実行した後、ステップ１１１６、１１１８にて「Ｙｅｓ」と判定してステップ１５２０に進み、ステップ１１１４にて求めた吸入空気量Mcを先のステップ１５１０に求めたオーバーリッチ空燃比の目標値AFoverrichで除することで機関の空燃比を同目標値AFoverrich（第１リッチ空燃比）とするための燃料噴射量Fiを求める。
【０１９０】
次いで、ＣＰＵ８１はステップ１５２５に進んで、カウンタＮの値を、その時点での値（現時点では、「０」）に「１」を加えた値に設定し、続くステップ１５３０にてカウンタＮの値が上記値Nrefと等しいか否かを判定する。ＣＰＵ８１は、現時点では「Ｎｏ」と判定してステップ１５４０、１５４５へと順に進み、図１１のステップ１１３０、１１３２と同じ手法により、ステップ１５２０にて求めたオーバーリッチ空燃比に対応する燃料噴射量Fiに基づいて放出Ｏ２量Ｏ２outを「０」から燃料噴射毎に更新していく。
【０１９１】
そして、ＣＰＵ８１はステップ１１５０の処理を実行する。これにより、機関の空燃比をオーバーリッチ空燃比とするための燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。以降、ＣＰＵ８１は、本ルーチンの繰り返し実行によりステップ１５２５にて「１」ずつ増大していくカウンタＮの値が値Nrefと等しくなるまでステップ１５３０にて「Ｎｏ」と判定し続け、ステップ１５４０、１５４５、１１５０の処理を繰り返し実行する。
【０１９２】
そして、カウンタＮの値が値Nrefと等しくなると、ＣＰＵ８１はステップ１５３０に進んだとき「Ｙｅｓ」と判定してステップ１５３５に進み、オーバーリッチフラグＸＯＶＥＲの値を「１」から「０」に変更し、ステップ１５４０、１５４５、１１５０の処理を実行する。
【０１９３】
これにより、オーバーリッチ空燃比に対応するNref回の燃料噴射が終了する。また、この時点での放出Ｏ２量O2outの値は、オーバーリッチ空燃比に対応するNref回の燃料噴射に基づく酸素吸蔵量減少量ΔO2の積算値となっている。
【０１９４】
以降、オーバーリッチフラグＸＯＶＥＲの値が「０」になっている。従って、ＣＰＵ８１は、ステップ１１２８〜１１４０、１１５０（ステップ１１３４の代わりのステップ１５５０を含む。）の処理を実行するようになる。これにより、上記浅いリッチ空燃比AFrichに対応する燃料噴射が繰り返し実行されていく。また、ステップ１１３２にて放出Ｏ２量O2outが上記「Nref回の燃料噴射に基づく酸素吸蔵量減少量ΔO2の積算値」から更新されていく。
【０１９５】
また、本ルーチンでは、ステップ１５５０にて、ステップ１１３２にて更新されている上記「Nref回の燃料噴射に基づく酸素吸蔵量減少量ΔO2の積算値」が加算されている放出Ｏ２量O2outが先のステップ１５０５にて設定されている要求還元量O2outref2以上となっているか否かが判定される。そして、このステップ１５５０、或いは、ステップ１１３６の何れかにて「Ｙｅｓ」と判定されるとき、上記浅いリッチ空燃比AFrichに対応する燃料噴射が終了されて、上述した空燃比移行過程が開始される。
【０１９６】
以上、説明したように、本発明の第２実施形態に係る燃料噴射制御装置によれば、失火の発生の防止を最優先し、運転者にもたつき感を与えない程度に十分に短い期間内に亘って、第１実施形態でのオーバーリッチ空燃比よりもリーンのオーバーリッチ空燃比に対応する燃料噴射をＦ／Ｃ終了直後から複数回（Nref回）行う。これにより、１回の燃料噴射において噴射する燃料量を少なくすることができ、失火の発生が防止され得る。
【０１９７】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１実施形態では、機関の空燃比を浅いリッチ空燃比AFrich（第２リッチ空燃比）とするための燃料噴射量に上記非同期増量Faddを加えた量の燃料噴射（第１リッチ空燃比に対応する燃料噴射）を１回のみ行っているが、運転者にもたつき感を与えない程度に十分に短い期間内に亘って、複数回（例えば、気筒毎に１回ずつ、計４回）行うように構成してもよい。
【０１９８】
また、上記第２実施形態においては、オーバーリッチ空燃比に対応する燃料噴射をNref回（値Nrefは一定値）実行するように構成されているが、値Nrefを上流側触媒５３の最大酸素吸蔵量Cmax（酸素吸蔵能力）が大きいほどより大きい値に設定してもよい。
【０１９９】
また、上記各実施形態においては、最大酸素吸蔵量初期値Cmaxiniを、上流側触媒５３が新品の状態での最大酸素吸蔵量の値と同上流側触媒５３が劣化したと判定される状態での最大酸素吸蔵量の値の中央の値に設定しているが、上流側触媒５３が新品の状態での最大酸素吸蔵量の値に設定してもよい。
【０２００】
これにより、制御用最大酸素吸蔵量Cmaxsが最大酸素吸蔵量初期値Cmaxiniに設定される場合（ステップ１２１５）において、制御用最大酸素吸蔵量Cmaxsが上流側触媒５３の実際の最大酸素吸蔵量Cmaxよりも大きめに設定され易くなり（従って、要求還元量O2outref（或いは、O2outref2）が大きめに設定され易くなり）、ステップ１１４０にて設定される最終放出Ｏ２量O2out1の値が、上述したように、上流側触媒５３の最大酸素吸蔵量Cmaxの大きさを精度良く表す値となり易くなる。
【０２０１】
従って、その後において再びＦ／Ｃ後リッチ制御が実行されて制御用最大酸素吸蔵量Cmaxsが仮最大酸素吸蔵量Cmaxtempに設定される場合（ステップ１２２５）、制御用最大酸素吸蔵量Cmaxsを上流側触媒５３の実際の最大酸素吸蔵量Cmaxにより近づけることができる。従って、要求還元量O2outref（O2outref2）、及び非同期増量Faddが上流側触媒５３の実際の最大酸素吸蔵量Cmaxに応じたより適切な値に設定された状態でＦ／Ｃ後リッチ制御が実行され得る。
【０２０２】
また、上記各実施形態においては、第１リッチ空燃比（具体的には、非同期増量Fadd、オーバーリッチ空燃比の目標値AFoverrich）を上流側触媒５３の最大酸素吸蔵量Cmaxに応じてのみ変更しているが、これに加えて、触媒温度センサ６９により得られる上流側触媒５３の温度（酸素吸蔵能力指標値）、或いは筒内吸入空気量Mc（排気ガス流速、酸素吸蔵能力指標値）等に応じて第１リッチ空燃比を変更するように構成してもよい。
【図面の簡単な説明】
【０２０３】
【図１】内燃機関に適用した本発明の第１実施形態に係る燃料噴射制御装置の概略を示した図である。
【図２】図１に示した空燃比センサの出力と空燃比の関係を示したグラフである。
【図３】図１に示した酸素濃度センサの出力と空燃比の関係を示したグラフである。
【図４】図１に示した燃料噴射制御装置によりＦ／Ｃ、Ｆ／Ｃ後リッチ制御が実行される場合における、機関の空燃比、及び上流側触媒から流出するＮＯｘの量（ＮＯｘ排出量）の変化の例を示したタイムチャートである。
【図５】（ａ）は、Ｆ／Ｃ終了直後から機関の空燃比が浅いリッチ空燃比に一定に維持される場合におけるＦ／Ｃ終了直後の極短期間での上流側触媒内で発生する酸素放出反応の状態を示した図である。（ｂ）は、Ｆ／Ｃ終了直後にてオーバーリッチ空燃比に対応する燃料噴射を１回行う場合におけるＦ／Ｃ終了直後の極短期間での上流側触媒内で発生する酸素放出反応の状態を示した図である。
【図６】図１に示したＣＰＵが参照する上流側触媒の最大酸素吸蔵量と非同期増量との関係を規定するテーブルを示したグラフである。
【図７】図１に示したＣＰＵが参照する上流側触媒の最大酸素吸蔵量と要求還元量との関係を規定するテーブルを示したグラフである。
【図８】図１に示したＣＰＵがＦ／Ｃ後リッチ制御非実行中において燃料噴射制御を行うために実行するルーチンを示したフローチャートである。
【図９】図１に示したＣＰＵが空燃比フィードバック補正量を算出するために実行するルーチンを示したフローチャートである。
【図１０】図１に示したＣＰＵがサブフィードバック量を算出するために実行するルーチンを示したフローチャートである。
【図１１】図１に示したＣＰＵがＦ／Ｃ後リッチ制御実行中において燃料噴射制御を行うために実行するルーチンを示したフローチャートである。
【図１２】図１に示したＣＰＵが制御用最大酸素吸蔵量を決定するために実行するルーチンを示したフローチャートである。
【図１３】図１に示したＣＰＵが参照する放出Ｏ２量と仮最大酸素吸蔵量との関係を規定するテーブルを示したグラフである。
【図１４】本発明の第２実施形態に係る燃料噴射制御装置のＣＰＵが参照する上流側触媒の最大酸素吸蔵量とオーバーリッチ空燃比の目標値との関係を規定するテーブルを示したグラフである。
【図１５】本発明の第２実施形態に係る燃料噴射制御装置のＣＰＵがＦ／Ｃ後リッチ制御実行中において燃料噴射制御を行うために実行するルーチンを示したフローチャートである。
【図１６】本発明の第２実施形態に係る燃料噴射制御装置のＣＰＵが参照する上流側触媒の最大酸素吸蔵量と要求還元量との関係を規定するテーブルを示したグラフである。
【図１７】従来の燃料噴射制御装置によりＦ／Ｃ、Ｆ／Ｃ後リッチ制御が実行される場合における、機関の空燃比の変化の例を示したタイムチャートである。
【符号の説明】
【０２０４】
２５…燃焼室、３２…吸気弁、３５…排気弁、３９…インジェクタ、５３…上流側触媒、６７…空燃比センサ、６８…酸素濃度センサ、８０…電気制御装置、８１…ＣＰＵ
【図１】
2006194118.tif 000003
【図２】
2006194118.tif 000004
【図３】
2006194118.tif 000005
【図４】
2006194118.tif 000006
【図５】
2006194118.tif 000007
【図６】
2006194118.tif 000008
【図７】
2006194118.tif 000009
【図８】
2006194118.tif 000010
【図９】
2006194118.tif 000011
【図１０】
2006194118.tif 000012
【図１１】
2006194118.tif 000013
【図１２】
2006194118.tif 000014
【図１３】
2006194118.tif 000015
【図１４】
2006194118.tif 000016
【図１５】
2006194118.tif 000017
【図１６】
2006194118.tif 000018
【図１７】
2006194118.tif 000019