(57)【要約】【課題】気筒内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価に基づいて、内燃機関のノッキングを適切に抑制することができる内燃機関の制御装置を提供する。【解決手段】気筒内に供給される低オクタン価燃料及び低オクタン価燃料よりもオクタン価が高い高オクタン価燃料の総量に対する、低オクタン価燃料の量の割合及び高オクタン価燃料の量の割合を調整することによって、気筒内に供給される燃料のオクタン価が変更される。また、気筒内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価ＥＬＣＭＡＸが算出されるとともに、算出された最大オクタン価ＥＬＣＭＡＸに基づいて、内燃機関の出力が制限される。【選択図】図１０
2017150338.tif 000002
【特許請求の範囲】
【請求項１】
気筒内に供給される低オクタン価燃料及び当該低オクタン価燃料よりもオクタン価が高い高オクタン価燃料の総量に対する、前記低オクタン価燃料の量の割合及び前記高オクタン価燃料の量の割合を調整することによって、前記気筒内に供給される燃料のオクタン価が変更される内燃機関の制御装置であって、
前記気筒内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価を算出する最大オクタン価算出手段と、
前記算出された最大オクタン価に基づいて、前記内燃機関の出力を制限する出力制限手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記内燃機関は、前記低オクタン価燃料及び前記高オクタン価燃料の一方を前記気筒内に噴射する第１噴射弁と、前記低オクタン価燃料及び前記高オクタン価燃料の他方を吸気ポートに噴射する第２噴射弁と、前記気筒内の混合気を点火する点火プラグと、を有し、
前記内燃機関のノック強度、前記内燃機関のノッキングを抑制するための前記点火プラグの点火時期の遅角化の状態、前記第１噴射弁の噴射孔部分の温度、及び、前記第１及び第２噴射弁のうちの前記高オクタン価燃料を噴射する高オクタン価燃料噴射弁に供給される前記高オクタン価燃料の圧力と、前記高オクタン価燃料噴射弁の噴射孔部分の周囲の雰囲気の圧力との差圧の少なくとも１つである設定用パラメータを取得する設定用パラメータ取得手段と、
当該取得された設定用パラメータに応じて、前記高オクタン価燃料の量の割合の上限値を設定する上限値設定手段と、
前記低オクタン価燃料のオクタン価を表す第１オクタン価を取得する第１オクタン価取得手段と、
前記高オクタン価燃料のオクタン価を表す第２オクタン価を取得する第２オクタン価取得手段と、をさらに備え、
前記最大オクタン価算出手段は、前記設定された上限値、前記取得された第１及び第２オクタン価に応じて、前記最大オクタン価を算出することを特徴とする、請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、気筒内に供給される低オクタン価燃料及び高オクタン価燃料の総量に対する、低オクタン価燃料の量の割合及び高オクタン価燃料の量の割合を調整することによって、気筒内に供給される燃料のオクタン価が変更される内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、この種の内燃機関の制御装置として、例えば特許文献１及び特許文献２に開示されたものが知られている。この特許文献１に開示された制御装置では、気筒内に供給される低オクタン価燃料及び高オクタン価燃料の総量に対する高オクタン価燃料の量の割合の基本値である基本高オクタン価燃料割合が、内燃機関の回転数及び負荷に応じて算出される。また、内燃機関のノッキングが、内燃機関の負荷の増大率が大きいほど発生しやすくなる点に着目し、ノッキングを抑制するために、検出された内燃機関の負荷の増大率に基づき、基本高オクタン価燃料割合を増大補正することによって、高オクタン価燃料の量の割合が算出されるとともに、算出された高オクタン価燃料の量の割合に基づいて、気筒内に供給される高オクタン価燃料の量が制御される。
【０００３】
また、特許文献２に開示された制御装置では、内燃機関のノッキングを抑制するために、検出された内燃機関の負荷が増大するほど、気筒内に供給される低オクタン価燃料の量に対する高オクタン価燃料の量の割合が、増大するように算出されるとともに、算出された高オクタン価燃料の量の割合に基づいて、気筒内に供給される高オクタン価燃料の量が制御される。この場合、内燃機関の負荷が増大するときでも、高オクタン価燃料の量に対する低オクタン価燃料の量の割合が値０にならないように、気筒内に供給される低オクタン価燃料の量を制御することによって、高オクタン価燃料を節約するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１５５４６９号公報
【特許文献２】特開２０１４−０７４３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
気筒内に供給される低オクタン価燃料の量の割合及び高オクタン価燃料の量の割合を調整することにより気筒内に供給される燃料のオクタン価が変更される内燃機関では、気筒内に供給することが可能な燃料のオクタン価の最大値は、必ずしも一定ではなく、種々の要因によって変化する。これに対して、上述した従来の制御装置では、内燃機関の回転数や、負荷、負荷の増大率に応じて、高オクタン価燃料の量の割合が算出されるにすぎない。このため、内燃機関の負荷が比較的大きいような場合に、気筒内に実際に供給される燃料のオクタン価を十分な大きさに調整できず、それにより内燃機関のノッキングが発生するおそれがある。
【０００６】
本発明は、上記の課題を解決するためになされたものであり、気筒内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価に基づいて、内燃機関のノッキングを適切に抑制することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、請求項１に係る発明は、気筒３ａ内に供給される低オクタン価燃料（実施形態における（以下、本項において同じ）ガソリンＧ）及び低オクタン価燃料よりもオクタン価が高い高オクタン価燃料（エタノールＥ）の総量に対する、低オクタン価燃料の量の割合及び高オクタン価燃料の量の割合（ポート噴射割合ＲＦ２）を調整することによって、気筒３ａ内に供給される燃料のオクタン価が変更される内燃機関３の制御装置１であって、気筒３ａ内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価（筒内供給最大オクタン価ＥＬＣＭＡＸ）を算出する最大オクタン価算出手段（ＥＣＵ２、図１０のステップ１０５）と、算出された最大オクタン価に基づいて、内燃機関３の出力を制限する出力制限手段（ＥＣＵ２、図１０のステップ１０６、１０８〜１１１）と、を備えることを特徴とする。
【０００８】
この構成によれば、気筒内に供給することが可能な燃料のオクタン価の最大値である最大オクタン価が、最大オクタン価算出手段により算出されるとともに、算出された最大オクタン価に基づき、出力制限手段によって、内燃機関の出力が制限される。内燃機関のノッキングは、その出力が高いほど、より発生しやすくなる傾向にある。このため、上述した出力制限手段により、気筒内に実際に供給される燃料の最大オクタン価が小さいほど、内燃機関の出力をより小さくなるように制限することによって、前述した従来の制御装置と異なり、ノッキングを抑制可能な大きさにオクタン価を調整できなくなるような事態が発生するのを回避でき、ひいては、内燃機関のノッキングを適切に抑制することができる。
【０００９】
請求項２に係る発明は、請求項１に記載の内燃機関３の制御装置１において、内燃機関３は、低オクタン価燃料及び高オクタン価燃料の一方を気筒３ａ内に噴射する第１噴射弁（筒内噴射弁６）と、低オクタン価燃料及び高オクタン価燃料の他方を吸気ポート４ａに噴射する第２噴射弁（ポート噴射弁７）と、気筒３ａ内の混合気を点火する点火プラグ８と、を有し、内燃機関３のノック強度ＫＮＯＣＫ、内燃機関３のノッキングを抑制するための点火プラグ８の点火時期ＩＧの遅角化の状態、第１噴射弁の噴射孔部分の温度（先端温度ＴＥＤＩ）、及び、第１及び第２噴射弁のうちの高オクタン価燃料を噴射する高オクタン価燃料噴射弁（ポート噴射弁７）に供給される高オクタン価燃料の圧力（所定圧ＰＲＥＦ）と、高オクタン価燃料噴射弁の噴射孔部分の周囲の雰囲気の圧力（吸気圧ＰＢＡ）との差圧（圧力偏差ＤＰ）の少なくとも１つである設定用パラメータを取得する設定用パラメータ取得手段（ノックセンサ３２、吸気圧センサ３４、先端温度センサ３６、ＥＣＵ２、図９のステップ９１、９５）と、取得された設定用パラメータに応じて、高オクタン価燃料の量の割合の上限値ＲＦ２ＬＭＨを設定する上限値設定手段（ＥＣＵ２、図９のステップ９２、９３、９６、９７、９９〜１０１）と、低オクタン価燃料のオクタン価を表す第１オクタン価（第１推定エタノール濃度ＥＬ１Ｅ）を取得する第１オクタン価取得手段（第１濃度センサ３９、ＥＣＵ２、図３のステップ２）と、高オクタン価燃料のオクタン価を表す第２オクタン価（第２推定エタノール濃度ＥＬ２Ｅ）を取得する第２オクタン価取得手段（第２濃度センサ４０、ＥＣＵ２、図３のステップ３）と、をさらに備え、最大オクタン価算出手段は、設定された上限値ＲＦ２ＬＭＨ、取得された第１及び第２オクタン価に応じて、最大オクタン価を算出することを特徴とする。
【００１０】
この構成によれば、低オクタン価燃料及び高オクタン価燃料の一方が、第１噴射弁によって気筒内に噴射され、低オクタン価燃料及び高オクタン価燃料の他方が、第２噴射弁によって吸気ポートに噴射されるとともに、気筒内の混合気が点火プラグで点火させられる。また、高オクタン価燃料の量の割合の上限値が、上限値設定手段によって設定され、低オクタン価燃料のオクタン価を表す第１オクタン価が第１オクタン価取得手段によって取得されるとともに、高オクタン価燃料のオクタン価を表す第２オクタン価が、第２オクタン価取得手段によって取得される。
【００１１】
前述したように、内燃機関では、気筒内に供給される低オクタン価燃料及び高オクタン価燃料の総量に対する、低オクタン価燃料の量の割合及び高オクタン価燃料の量の割合を調整することによって、気筒内に供給される燃料のオクタン価が変更され、また、最大オクタン価は、気筒内に供給することが可能な燃料のオクタン価の最大値である。以上から明らかなように、設定された高オクタン価燃料の量の割合の上限値、第１及び第２オクタン価（低オクタン価燃料及び高オクタン価燃料のオクタン価）に応じて、最大オクタン価を適切に算出することができる。
【００１２】
また、この種の内燃機関では、高オクタン価燃料は、内燃機関のノッキングを抑制するために用いられるものである。このため、高オクタン価燃料の量の割合の上限値を設定するための設定用パラメータとして、内燃機関のノック強度、及び、内燃機関のノッキングを抑制するための点火プラグの点火時期の遅角化の状態の少なくとも一方を用いることによって、高オクタン価燃料の量の割合の上限値を、内燃機関のノッキングの状態に応じて適切に設定することができる。
【００１３】
さらに、第１噴射弁は、低オクタン価燃料及び高オクタン価燃料の一方を気筒内に噴射するものであることから、その噴射孔部分が高温の気筒（燃焼室）内に晒されるので、噴射孔部分にデポジットが堆積する傾向にあり、その堆積度合は、噴射孔部分の温度が高いほど、より高くなる。また、第１噴射弁の噴射孔部分は、噴射される燃料で冷却されるため、その温度は、噴射される燃料の量に応じて変化する。以上から、第１噴射弁の噴射孔部分の温度を高オクタン価燃料の量の割合の上限値の設定に用いることによって、第１噴射弁の噴射孔部分にデポジットが堆積するのを防止することができる。
【００１４】
また、高オクタン価燃料噴射弁によって噴射可能な高オクタン価燃料の噴射量は、供給される高オクタン価燃料の圧力と、その噴射孔部分の周囲の雰囲気の圧力との差圧に応じて変化する。このため、この差圧を設定用パラメータとして用いることによって、高オクタン価燃料の量の割合の上限値を適切に設定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態による制御装置を適用した内燃機関を、概略的に示す図である。
【図２】制御装置のＥＣＵなどを示すブロック図である。
【図３】ＥＣＵによって実行されるエンジン制御処理を示すフローチャートである。
【図４】図３のステップ１１で実行されるノッキング用制御処理のサブルーチンを示すフローチャートである。
【図５】図４の続きを示すフローチャートである。
【図６】図３のステップ１２で実行される非ノッキング用制御処理のサブルーチンを示すフローチャートである。
【図７】図６の続きを示すフローチャートである。
【図８】図７の続きを示すフローチャートである。
【図９】エンジンの吸入空気量を制御するための処理を示すフローチャートである。
【図１０】図９の続きを示すフローチャートである。
【図１１】図９の処理で用いられる基本値を算出するためのマップの一例である。
【図１２】図１０の処理で用いられる上限要求トルクを算出するためのマップの一例である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明の好ましい実施形態について詳細に説明する。図１は、本実施形態による制御装置１が適用された内燃機関（以下「エンジン」という）３を示している。エンジン３は、車両（図示せず）に動力源として搭載されており、低オクタン価燃料としてのガソリンＧと、高オクタン価燃料としてのエタノールＥを併用するものである。ガソリンＧは、１０％程度の高オクタン価成分としてのエタノール成分を含む市販のものであり、第１燃料タンク２１に貯留されている。エタノールＥは、６０％程度のエタノール成分を含むものであり、ガソリンＧよりもオクタン価が高く、第２燃料タンク２２に貯留されている。周知のように、燃料のエタノール成分の濃度は、当該燃料のオクタン価を表し、エタノール成分の濃度が高いほど、オクタン価はより高くなる。第１及び第２燃料タンク２１、２２の内部には、低圧ポンプ２１ａ及び２２ａがそれぞれ設けられている。低圧ポンプ２２ａによる燃料の吐出圧は、所定圧ＰＲＥＦに設定されている。
【００１７】
本実施形態では、エタノールＥは、分離装置２３によってガソリンＧから生成される。この分離装置２３は、第１燃料タンク２１から通路２３ａを介して供給されたガソリンＧから、エタノール成分を分離することによって、エタノールＥを生成するとともに、生成したエタノールＥを、通路２３ｂを介して第２燃料タンク２２に供給する。分離装置２３による第２燃料タンク２２へのエタノールＥの生成・供給動作は、制御装置１の後述するＥＣＵ２によって制御される（図２参照）。なお、分離装置２３による分離方法として、分離膜による方法や、触媒による方法を適宜、採用可能である。
【００１８】
エンジン３は、例えば４つの気筒３ａ（１つのみ図示）を有している。各気筒３ａのピストン３ｂとシリンダヘッド３ｃとの間には、燃焼室３ｄが形成されている。燃焼室３ｄには、吸気ポート４ａ及び吸気マニホルド４ｂを介して、吸気通路４が接続されるとともに、排気ポート５ａ及び排気マニホルド５ｂを介して、排気通路５が接続されている。
【００１９】
また、シリンダヘッド３ｃには筒内噴射弁６が、吸気マニホルド４ｂにはポート噴射弁７が、気筒３ａごとにそれぞれ設けられている。シリンダヘッド３ｃにはさらに、燃焼室３ｄ内に生成された燃料と空気との混合気を点火するための点火プラグ８が、気筒３ａごとに設けられている。
【００２０】
筒内噴射弁６及びポート噴射弁７はいずれも、ソレノイドやニードル弁（いずれも図示せず）などで構成された一般的なものである。筒内噴射弁６は、噴射孔（図示せず）を有する先端部が燃焼室３ｄに臨むように配置されており、ガソリン供給通路２４、及びその途中に設けられた高圧ポンプ２５を介して、第１燃料タンク２１に接続されている。ポート噴射弁７は、噴射孔（図示せず）を有する先端部が吸気ポート４ａに臨むように配置されており、エタノール供給通路２６を介して、第２燃料タンク２２に接続されている。
【００２１】
以上の構成により、ガソリンＧは、第１燃料タンク２１から低圧ポンプ２１ａ及びガソリン供給通路２４を介し、高圧ポンプ２５によって昇圧された状態で、筒内噴射弁６に供給され、筒内噴射弁６から燃焼室３ｄに直接、噴射される。筒内噴射弁６に供給されるガソリンＧの圧力は、高圧ポンプ２５の動作をＥＣＵ２で制御することによって、変更される。また、エタノールＥは、第２燃料タンク２２から低圧ポンプ２２ａ及びエタノール供給通路２６を介して、ポート噴射弁７に供給され、ポート噴射弁７から吸気ポート４ａに噴射される。
【００２２】
また、吸気通路４には、スロットル弁９が設けられており、スロットル弁９は、吸気通路４を開閉する弁体９ａと、弁体９ａを駆動するＴＨアクチュエータ９ｂを有している。ＴＨアクチュエータ９ｂは、例えば電動モータで構成されており、ＥＣＵ２に接続されている。スロットル弁９の開度はＥＣＵ２により変更され、それにより、吸気通路４を介して気筒３ａ内に流入する吸入空気の量が制御される。
【００２３】
また、エンジン３には、クランク角センサ３１、ノックセンサ３２及び水温センサ３３が設けられている。クランク角センサ３１は、クランクシャフト（図示せず）の回転に伴って、パルス信号であるＣＲＫ信号及びＴＤＣ信号をＥＣＵ２に出力する（図２参照）。ＣＲＫ信号は、所定のクランクシャフトの回転角度（以下「クランク角」という。例えば１°）ごとに出力される。ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、いずれかの気筒３ａにおいて、ピストン３ｂが吸気行程の開始時の上死点付近に位置することを表す信号であり、実施形態のように気筒３ａが４つの場合には、クランク角１８０°ごとに出力される。
【００２４】
上記のノックセンサ３２は、例えばピエゾ素子などで構成され、エンジン３のシリンダブロックに設けられており、エンジン３のノッキングの強度であるノック強度ＫＮＯＣＫを検出するとともに、その検出信号をＥＣＵ２に出力する。水温センサ３３は、エンジン３の冷却水の温度（以下「エンジン水温」という）ＴＷを検出するとともに、その検出信号をＥＣＵ２に出力する。
【００２５】
また、吸気通路４のスロットル弁９よりも下流側には吸気圧センサ３４が、排気通路５には空燃比センサ３５が、それぞれ設けられている。吸気圧センサ３４は、吸気管４内の圧力である吸気圧ＰＢＡを検出するとともに、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、算出されたエンジン回転数ＮＥ及び検出された吸気圧ＰＢＡに応じ、所定のマップ（図示せず）を検索することによって、気筒３ａ内に吸入される吸入空気の吸入空気量ＱＡＩＲを算出する。上記の空燃比センサ３５は燃焼室３ｄ内で燃焼した混合気の空燃比ＬＡＦを検出するとともに、その検出信号をＥＣＵ２に出力する。
【００２６】
さらに、エンジン３には、先端温度センサ３６及び気筒判別センサ（図示せず）が設けられている。先端温度センサ３６は、例えばサーミスタなどで構成されており、筒内噴射弁６の噴射孔部分の温度である先端温度ＴＥＤＩを検出するとともに、その検出信号をＥＣＵ２に出力する。気筒判別センサは、気筒を判別するためのパルス信号である気筒判別信号をＥＣＵ２に出力する。ＥＣＵ２は、この気筒判別信号、上記のＣＲＫ信号及びＴＤＣ信号によって、クランクシャフトの実際の回転角度位置である実クランク角度位置を気筒３ａごとに算出する。この場合、実クランク角度位置は、各気筒３ａのＴＤＣ信号を基準としたクランクシャフトの回転角度位置に算出され、ＴＤＣ信号の発生時には値０に算出される。
【００２７】
また、第１及び第２燃料タンク２１、２２には、ガソリン残量センサ３７及びエタノール残量センサ３８がそれぞれ設けられている。ガソリン残量センサ３７は、第１燃料タンク２１に貯留されたガソリンＧの量（以下「ガソリン残量」という）ＱＲＦ１を検出し、その検出信号をＥＣＵ２に出力する。エタノール残量センサ３８は、第２燃料タンク２２に貯留されたエタノールＥの量（以下「エタノール残量」という）ＱＲＦ２を検出し、その検出信号をＥＣＵ２に出力する。
【００２８】
さらに、第１及び第２燃料タンク２１、２２には、例えば静電容量式の第１濃度センサ３９及び第２濃度センサ４０がそれぞれ設けられている。第１濃度センサ３９は、第１燃料タンク２１に貯留されたガソリンＧに含まれるエタノール成分の濃度（以下「第１エタノール濃度」という）ＥＬ１を検出し、その検出信号をＥＣＵ２に出力する。第２濃度センサ４０は、第２燃料タンク２２に貯留されたエタノールＥに含まれるエタノール成分の濃度（以下「第２エタノール濃度」という）ＥＬ２を検出し、その検出信号をＥＣＵ２に出力する。なお、第１及び第２濃度センサ３９、４０として、他の適当なセンサ、例えば光学式のセンサなどを用いてもよいことはもちろんである。
【００２９】
また、ＥＣＵ２には、アクセル開度センサ４１から、車両のアクセルペダル（図示せず）の操作量（以下「アクセル開度」という）ＡＰを表す検出信号が、車速センサ４２から、車両の車速ＶＰを表す検出信号が、それぞれ出力される。
【００３０】
ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、及びＩ／Ｏインターフェース（いずれも図示せず）などから成るマイクロコンピュータで構成されている。ＥＣＵ２は、前記各種のセンサ３１〜４２からの検出信号に応じ、ＲＯＭに記憶された制御プログラムに従って、筒内噴射弁６及びポート噴射弁７の各々の燃料噴射時間及び噴射時期や、点火プラグ８の点火時期、スロットル弁９の開度を制御するとともに、前述した分離装置２３や、高圧ポンプ２５の動作を制御する。
【００３１】
次に、図３〜図１０を参照しながら、ＥＣＵ２によって実行される処理について説明する。図３に示すエンジン制御処理は、筒内噴射弁６及びポート噴射弁７の各々の噴射時間及び点火プラグ８の点火時期を気筒３ａごとに制御するための処理であり、ＴＤＣ信号の発生に同期して、繰り返し実行される。まず、図３のステップ１（「Ｓ１」と図示。以下同じ）では、検出されたエタノール残量ＱＲＦ２を、検出されたガソリン残量ＱＲＦ１とエタノール残量ＱＲＦ２の和で除算することによって、エタノール残量割合ＲＱＲＦ２を算出する［ＲＱＲＦ２＝ＱＲＦ２／（ＱＲＦ１＋ＱＲＦ２）］。
【００３２】
次いで、検出された第１エタノール濃度ＥＬ１を補正することによって、第１推定エタノール濃度ＥＬ１Ｅを算出する（ステップ２）とともに、検出された第２エタノール濃度ＥＬ２を補正することによって、第２推定エタノール濃度ＥＬ２Ｅを算出する（ステップ３）。この場合、第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅは、後述するステップ１０によってエンジン３でノッキングが発生していると判定されるほど、より小さな値に補正される。
【００３３】
次に、エンジン回転数ＮＥ及び算出された吸入空気量ＱＡＩＲに応じ、所定のマップ（図示せず）を検索することによって、基本燃料噴射量ＱＩＮＪＢを算出する（ステップ４）。次いで、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲに応じ、所定のマップ（図示せず）を検索することによって、要求エタノール濃度ＥＲＥＱを算出する（ステップ５）。この要求エタノール濃度ＥＲＥＱは、燃焼室３ｄ内に供給される燃料のエタノール濃度の要求値であり、上記のマップでは、要求トルクＴＲＥＱが大きいほど、より大きな値に設定されている。
【００３４】
次に、前記ステップ２及び３でそれぞれ算出された第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅ、ならびにステップ５で算出された要求エタノール濃度ＥＲＥＱに応じ、所定のマップ（図示せず）を検索することによって、基本ポート噴射割合ＲＦ２Ｂを算出する（ステップ６）。この基本ポート噴射割合ＲＦ２Ｂは、筒内噴射量とポート噴射量の和に対するポート噴射量の割合の基本値であり、上記のマップでは、燃焼室３ｄ内に供給される燃料中のエタノール濃度が要求エタノール濃度ＥＲＥＱになるように、設定されている。
【００３５】
次いで、前記ステップ４で算出された基本燃料噴射量ＱＩＮＪＢに、補正係数ＫＩＮＪを乗算することによって、総燃料噴射量ＱＩＮＪＴを算出する（ステップ７）。総燃料噴射量ＱＩＮＪＴは、筒内噴射弁６の噴射量（以下「筒内噴射量」という）とポート噴射弁７の噴射量（以下「ポート噴射量」という）の和の目標値である。この補正係数ＫＩＮＪは、量論混合比補正係数と、空燃比補正係数とに基づいて設定される。この量論混合比補正係数は、燃料中のエタノール濃度が異なると、吸入空気量ＱＡＩＲに対して空燃比ＬＡＦがストイキ相当空燃比になる燃料の質量割合（以下「量論混合比」という）が異なる大きさになる点に着目し、それによる影響を補償するためのものであり、例えば次のようにして算出される。
【００３６】
すなわち、まず、第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅに応じ、所定のマップ（図示せず）を検索することによって、ガソリンＧ及びエタノールＥの量論混合比を算出する。次いで、値１．０から上記ステップ６で算出された基本ポート噴射割合ＲＦ２Ｂを減算した値に、算出されたガソリンＧの量論混合比を乗算した値と、基本ポート噴射割合ＲＦ２Ｂに、算出されたエタノールＥの量論混合比を乗算した値との和を、量論混合比補正係数として算出する。総燃料噴射量ＱＩＮＪＴは、この量論混合比補正係数に応じて算出されることにより、第１又は第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅが大きいほど、より大きな値に算出される。また、上記の空燃比補正係数は、例えば、検出された空燃比ＬＡＦが所定の目標空燃比になるように、所定のフィードバック制御アルゴリズムに従って算出される。なお、量論混合比補正係数を、基本ポート噴射割合ＲＦ２Ｂに代えて、図４のステップ２３や、ステップ２７、図６のステップ４２、図８のステップ７９、８１で最終的に算出されたポート噴射割合ＲＦ２に応じて算出してもよい。
【００３７】
前記ステップ７に続くステップ８では、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲに応じ、所定のマップ（図示せず）を検索することによって、基本点火時期ＩＧＢを算出する。次いで、算出された基本点火時期ＩＧＢに、補正係数ＫＩＧを乗算することによって、暫定点火時期ＩＧＴＥＭを算出する（ステップ９）。この補正係数ＫＩＧは、検出されたエンジン水温ＴＷなどに基づいて算出される。以上により、暫定点火時期ＩＧＴＥＭは、エンジン３の効率が最も高くなるような点火プラグ８の最適点火時期に設定される。
【００３８】
次に、検出されたノック強度ＫＮＯＣＫが所定の判定値ＫＪＵＤよりも大きいか否かを判別する（ステップ１０）。なお、本処理及び後述するいずれの処理においても、ノック強度ＫＮＯＣＫとして、そのときに検出されたＫＮＯＣＫではなく、エンジン３の前回の燃焼サイクルにおいて検出されたＫＮＯＣＫの最大値が用いられる。
【００３９】
上記ステップ１０の答がＹＥＳ（ＫＮＯＣＫ＞ＫＪＵＤ）のときには、エンジン３のノッキングが発生していると判定するとともに、ノッキング用制御処理を実行し（ステップ１１）、本処理を終了する。一方、ステップ１０の答がＮＯ（ＫＮＯＣＫ≦ＫＪＵＤ）のときには、エンジン３のノッキングが発生していないと判定するとともに、非ノッキング用制御処理を実行し（ステップ１２）、本処理を終了する。
【００４０】
次に、図４及び図５を参照しながら、図３のステップ１１で実行されるノッキング用制御処理について説明する。まず、図４のステップ２１では、図３のステップ１で算出されたエタノール残量割合ＲＱＲＦ２、ノック強度ＫＮＯＣＫ、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲに応じ、所定のマップ（図示せず）を検索することによって、加算項ＣＯＡＲＦ２を算出する。このマップでは、加算項ＣＯＡＲＦ２は正値に設定されており、その設定の詳細については後述する。
【００４１】
次いで、前述した基本ポート噴射割合ＲＦ２Ｂの補正値であるポート噴射割合補正項の前回値ＣＯＲＦ２Ｚに、ステップ２１で算出された加算項ＣＯＡＲＦ２を加算することによって、今回のポート噴射割合補正項ＣＯＲＦ２を算出する（ステップ２２）。ポート噴射割合補正項の前回値ＣＯＲＦ２Ｚは、エンジン３の始動時に所定の上限値に設定される。次に、図３のステップ６で算出された基本ポート噴射割合ＲＦ２Ｂに、ステップ２２で算出されたポート噴射割合補正項ＣＯＲＦ２を加算することによって、ポート噴射割合ＲＦ２を算出する（ステップ２３）。
【００４２】
次いで、算出されたポート噴射割合ＲＦ２が、上限値ＲＦ２ＬＭＨよりも大きいか否かを判別する（ステップ２４）。この上限値ＲＦ２ＬＭＨは、後述する図９及び図１０に示す処理において値１．０以下の正値に算出される。このステップ２４の答がＮＯ（ＲＦ２≦ＲＦ２ＬＭＨ）のときには、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第１点火時期補正項ＣＯＩＧ１を算出する（ステップ２５）。このマップでは、第１点火時期補正項ＣＯＩＧ１は正値に設定されており、その設定の詳細については後述する。次に、算出された第１点火時期補正項ＣＯＩＧ１を、点火時期補正項ＣＯＩＧとして設定し（ステップ２６）、ステップ３０に進む。この点火時期補正項ＣＯＩＧは、暫定点火時期ＩＧＴＥＭを補正する補正項である。
【００４３】
一方、前記ステップ２４の答がＹＥＳで、ポート噴射割合ＲＦ２が上限値ＲＦ２ＬＭＨよりも大きいときには、ポート噴射割合ＲＦ２を上限値ＲＦ２ＬＭＨに設定する（ステップ２７）。次いで、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第２点火時期補正項ＣＯＩＧ２を算出する（ステップ２８）。このマップでは、第２点火時期補正項ＣＯＩＧ２は正値に設定されており、その設定の詳細については後述する。次に、算出された第２点火時期補正項ＣＯＩＧ２を、点火時期補正項ＣＯＩＧとして設定し（ステップ２９）、ステップ３０に進む。
【００４４】
前記ステップ２６又は２９に続く図５のステップ３０では、図３のステップ７で算出された総燃料噴射量ＱＩＮＪＴに、前記ステップ２３で算出されたポート噴射割合ＲＦ２を乗算することによって、目標ポート噴射量ＱＩＮＪ２を算出する。次いで、算出された目標ポート噴射量ＱＩＮＪ２に基づき、ポート噴射弁７の開弁時間の目標値である最終ポート噴射時間ＴＯＵＴ２を算出する（ステップ３１）。以上のようにして最終ポート噴射時間ＴＯＵＴ２が算出されると、ポート噴射弁７が、図示しない処理で算出されたポート噴射開始時期に開弁されるとともに、その開弁時間が最終ポート噴射時間ＴＯＵＴ２になるように制御される。その結果、ポート噴射量は、ステップ３０で算出された目標ポート噴射量ＱＩＮＪ２になるように制御される。
【００４５】
次に、総燃料噴射量ＱＩＮＪＴから、上記ステップ３０で算出された目標ポート噴射量ＱＩＮＪ２を減算することによって、目標筒内噴射量ＱＩＮＪ１を算出する（ステップ３２）とともに、算出された目標筒内噴射量ＱＩＮＪ１に基づき、筒内噴射弁６の開弁時間の目標値である最終筒内噴射時間ＴＯＵＴ１を算出する（ステップ３３）。以上のようにして最終筒内噴射時間ＴＯＵＴ１が算出されると、筒内噴射弁６が、図示しない処理で算出された筒内噴射開始時期に開弁されるとともに、その開弁時間が最終筒内噴射時間ＴＯＵＴ１になるように制御される。その結果、筒内噴射量は、ステップ３２で算出された目標筒内噴射量ＱＩＮＪ１になるように制御される。
【００４６】
上記ステップ３３に続くステップ３４では、図３のステップ９で算出された暫定点火時期ＩＧＴＥＭに、ステップ２６又は２９で算出された点火時期補正項ＣＯＩＧを加算することによって、点火時期ＩＧを算出する。次いで、算出された点火時期ＩＧが上限値ＩＧＬＭＨよりも大きいか否かを判別する（ステップ３５）。この上限値ＩＧＬＭＨは、点火時期ＩＧの遅角側の制限値であり、後述する図９及び図１０に示す処理において算出される。このステップ３５の答がＹＥＳ（ＩＧ＞ＩＧＬＭＨ）のときには、点火時期ＩＧを上限値ＩＧＬＭＨに設定し（ステップ３６）、ステップ３７に進む一方、ＮＯ（ＩＧ≦ＩＧＬＭＨ）のときには、ステップ３６をスキップし、ステップ３７に進む。
【００４７】
このステップ３７では、後述する設定フラグＦ＿ＳＥＴ及び減算フラグＦ＿ＳＵＢＴを「１」に設定し、本処理を終了する。以上のようにして点火時期ＩＧが算出されると、点火プラグ８の点火時期が、算出された点火時期ＩＧになるように制御される。なお、点火時期ＩＧは、大きいほど、より遅角側になる。また、設定フラグＦ＿ＳＥＴ及び減算フラグＦ＿ＳＵＢＴは、エンジン３の始動時に「０」にリセットされる。
【００４８】
以上のように、ノッキング用制御処理では、前記ステップ２１〜２３の実行により、基本ポート噴射割合ＲＦ２Ｂにポート噴射割合補正項ＣＯＲＦ２を加算することによって、ポート噴射割合ＲＦ２が増大補正される。この場合、ポート噴射割合補正項ＣＯＲＦ２に加算される加算項ＣＯＡＲＦ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２が大きいほど、より大きな値に設定されており、また、ノック強度ＫＮＯＣＫが大きいほど、より大きな値に設定されている。これにより、ポート噴射割合ＲＦ２の増大補正量は、エタノール残量割合ＲＱＲＦ２が大きいほど、また、ノック強度ＫＮＯＣＫが大きいほど、より大きくなる。なお、ポート噴射割合補正項ＣＯＲＦ２は、リミット処理（図示せず）によって、前記上限値以下に制限される。
【００４９】
また、ノッキング用制御処理では、前記ステップ２５、２６、２８、２９及び３４の実行により、基本点火時期ＩＧＢに点火時期補正項ＣＯＩＧを加算することによって、点火時期ＩＧが遅角側に補正される。この場合、点火時期補正項ＣＯＩＧとして用いられる第１及び第２点火時期補正項ＣＯＩＧ１、ＣＯＩＧ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２が小さいほど、より大きな値に設定されている。これにより、点火時期ＩＧの遅角補正量は、エタノール残量割合ＲＱＲＦ２が小さいほど、より大きくなる。また、第１及び第２点火時期補正項ＣＯＩＧ１、ＣＯＩＧ２は、吸気ポート４ａの壁面へのエタノールＥの付着の影響や、ポート噴射弁７から噴射された燃料が気筒３ａ内に実際に流入するまでの時間遅れ（以下「ポート噴射燃料の流入時間遅れ」という）の影響に応じて、エンジン３のノッキングを抑制できるような値に設定されている。
【００５０】
また、増大補正されたポート噴射割合ＲＦ２は、上限値ＲＦ２ＬＭＨ以下に制限される（ステップ２４、２７）。さらに、点火時期補正項ＣＯＩＧとして、ポート噴射割合ＲＦ２が上限値ＲＦ２ＬＭＨに制限されているとき（ステップ２４：ＹＥＳ）には、第２点火時期補正項ＣＯＩＧ２が用いられ、制限されていないとき（ステップ２４：ＮＯ）には、第１点火時期補正項ＣＯＩＧ１が用いられる。前記マップにおいて、第２点火時期補正項ＣＯＩＧ２は、エタノール残量割合ＲＱＲＦ２の全体として、第１点火時期補正項ＣＯＩＧ１よりも大きな値に設定されている。これにより、増大補正されたポート噴射割合ＲＦ２が上限値ＲＦ２ＬＭＨに制限されているときには、制限されていないときよりも、点火時期ＩＧの遅角補正量は大きくなる。
【００５１】
次に、図６〜図８を参照しながら、図３のステップ１２で実行される非ノッキング用制御処理について説明する。まず、図６のステップ４１では、吸入空気量ＱＡＩＲが所定値ＱＫＮＯＣＫよりも大きいか否かを判別する。この答がＮＯ（ＱＡＩＲ≦ＱＫＮＯＣＫ）のときには、エンジン３が、ノッキングが発生するような負荷領域にないと判定する。次いで、図３のステップ６で算出された基本ポート噴射割合ＲＦ２Ｂをそのまま、ポート噴射割合ＲＦ２として設定する（ステップ４２）。
【００５２】
次に、ステップ４３〜４６において、図５のステップ３０〜３３と同様にして、目標ポート噴射量ＱＩＮＪ２、最終ポート噴射時間ＴＯＵＴ２、目標筒内噴射量ＱＩＮＪ１、及び最終筒内噴射時間ＴＯＵＴ１をそれぞれ算出する。以上により、ポート噴射量が、ステップ４３で算出された目標ポート噴射量ＱＩＮＪ２になるように制御されるとともに、筒内噴射量が、ステップ４５で算出された目標筒内噴射量ＱＩＮＪ１になるように制御される。
【００５３】
次いで、点火時期ＩＧを、図３のステップ９で算出された暫定点火時期ＩＧＴＥＭに設定し（ステップ４７）、本処理を終了する。以上のようにして点火時期ＩＧが算出されると、ステップ３４の場合と同様、点火プラグ８の点火時期が、ステップ４７で算出された点火時期ＩＧになるように制御される。
【００５４】
一方、前記ステップ４１の答がＹＥＳ（ＱＡＩＲ＞ＱＫＮＯＣＫ）のときには、エンジン３が、ノッキングが発生するような負荷領域にあると判定する。次いで、図７のステップ５１において、前記設定フラグＦ＿ＳＥＴが「１」であるか否かを判別する。この答がＹＥＳ（Ｆ＿ＳＥＴ＝１）のときには、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢ以上であるか否かを判別する（ステップ５２）。
【００５５】
このステップ５２の答がＹＥＳ（ＲＱＲＦ２≧ＲＱＲＢ）のときには、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第１減算時間ＴＩＭＡ１を算出する（ステップ５３）。このマップでは、第１減算時間ＴＩＭＡ１は正値に設定されており、その設定の詳細については後述する。次いで、算出された第１減算時間ＴＩＭＡ１で、所定の基本減算項ＣＯＳＩＢを除算することによって、減算項ＣＯＳＩＧを算出する（ステップ５４）。次に、減算項ＣＯＳＩＧの算出・設定を終了するために、設定フラグＦ＿ＳＥＴを「０」にリセットし（ステップ５５）、ステップ５８に進む。
【００５６】
一方、ステップ５２の答がＮＯで、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢよりも小さいときには、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第２減算時間ＴＩＭＡ２を算出する（ステップ５６）。このマップでは、第２減算時間ＴＩＭＡ２は正値に設定されており、その設定の詳細については後述する。次いで、算出された第２減算時間ＴＩＭＡ２で、上記の基本減算項ＣＯＳＩＢを除算することによって、減算項ＣＯＳＩＧを算出する（ステップ５７）。次に、減算項ＣＯＳＩＧの算出・設定を終了するために、上記ステップ５５を実行し（Ｆ＿ＳＥＴ←０）、ステップ５８に進む。
【００５７】
一方、前記ステップ５１の答がＮＯ（Ｆ＿ＳＥＴ＝０）のときには、ステップ５２〜５７をスキップし、ステップ５８に進む。
【００５８】
このステップ５８では、減算フラグＦ＿ＳＵＢＴが「１」であるか否かを判別する。この答がＹＥＳ（Ｆ＿ＳＵＢＴ＝１）のときには、図４のステップ２６又は２９で設定された点火時期補正項の前回値ＣＯＩＧＺから、ステップ５４又は５７で算出された減算項ＣＯＳＩＧを減算することによって、今回の点火時期補正項ＣＯＩＧを算出する（ステップ５９）。
【００５９】
次いで、ステップ５９で算出された点火時期補正項ＣＯＩＧが値０以下であるか否かを判別する（ステップ６０）。この答がＮＯ（ＣＯＩＧ＞０）のときには、図３のステップ９で算出された暫定点火時期ＩＧＴＥＭに、ステップ５９で算出された点火時期補正項ＣＯＩＧを加算することによって、点火時期ＩＧを算出し（ステップ６１）、図８のステップ７１に進む。以上のようにして点火時期ＩＧが算出されると、図５のステップ３４などと同様、点火プラグ８の点火時期が、ステップ６１で算出された点火時期ＩＧになるように制御される。
【００６０】
一方、上記ステップ６０の答がＹＥＳで、点火時期補正項ＣＯＩＧが値０以下になったときには、ステップ５９による点火時期補正項ＣＯＩＧの減算処理を終了するために、減算フラグＦ＿ＳＵＢＴを「０」にリセットする（ステップ６２）。次いで、点火時期ＩＧを、図３のステップ９で算出された暫定点火時期ＩＧＴＥＭに設定し（ステップ６３）、図８のステップ７１に進む。
【００６１】
一方、前記ステップ５８の答がＮＯ（Ｆ＿ＳＵＢＴ＝０）のときには、上記ステップ６３を実行することによって、点火時期ＩＧを暫定点火時期ＩＧＴＥＭに設定し、図８のステップ７１に進む。
【００６２】
図７のステップ６１又は６３に続く図８のステップ７１では、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢ以上であるか否かを判別する。この答がＹＥＳ（ＲＱＲＦ２≧ＲＱＲＢ）のときには、減算フラグＦ＿ＳＵＢＴが「１」であるか否かを判別する（ステップ７２）。この答がＹＥＳ（Ｆ＿ＳＵＢＴ＝１）のとき、すなわち、前記ステップ５９による点火時期補正項ＣＯＩＧの減算処理の実行中であるときには、ポート噴射割合補正項の前回値ＣＯＲＦ２Ｚを、今回のポート噴射割合補正項ＣＯＲＦ２として設定し（ステップ７３）、後述するステップ７９に進む。
【００６３】
一方、上記ステップ７２の答がＮＯ（Ｆ＿ＳＵＢＴ＝０）で、点火時期補正項ＣＯＩＧの減算処理の実行中でないときには、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第１減算時間ＴＩＭＢ１を算出する（ステップ７４）。このマップでは、第１減算時間ＴＩＭＢ１は正値に設定されており、その設定の詳細については後述する。次いで、算出された第１減算時間ＴＩＭＢ１で、所定の基本減算項ＣＯＳＲＢを除算することによって、減算項ＣＯＳＲＦ２を算出し（ステップ７５）、ステップ７８に進む。
【００６４】
一方、前記ステップ７１の答がＮＯ（ＲＱＲＦ２＜ＲＱＲＢ）のときには、エタノール残量割合ＲＱＲＦ２に応じ、所定のマップ（図示せず）を検索することによって、第２減算時間ＴＩＭＢ２を算出する（ステップ７６）。このマップでは、第２減算時間ＴＩＭＢ２は正値に設定されており、その設定の詳細については後述する。次いで、算出された第２減算時間ＴＩＭＢ２で、上記の基本減算項ＣＯＳＲＢを除算することによって、減算項ＣＯＳＲＦ２を算出し（ステップ７７）、ステップ７８に進む。
【００６５】
前記ステップ７５又は７７に続くステップ７８では、ポート噴射割合補正項の前回値ＣＯＲＦ２Ｚから、ステップ７５又は７７で算出された減算項ＣＯＳＲＦ２を減算することによって、今回のポート噴射割合補正項ＣＯＲＦ２を算出する。次いで、ステップ７９に進む。
【００６６】
前記ステップ７３又は７８に続くステップ７９では、図３のステップ６で算出された基本ポート噴射割合ＲＦ２Ｂに、ステップ７３又は７８で設定・算出されたポート噴射割合補正項ＣＯＲＦ２を加算することによって、ポート噴射割合ＲＦ２を算出する。次いで、算出されたポート噴射割合ＲＦ２が所定の下限値ＲＦ２ＬＭＬよりも小さいか否かを判別する（ステップ８０）。この下限値ＲＦ２ＬＭＬは、図４のステップ２４で用いられる上限値ＲＦ２ＬＭＨよりも小さな正値に設定されている。
【００６７】
このステップ８０の答がＹＥＳ（ＲＦ２＜ＲＦ２ＬＭＬ）のときには、ポート噴射割合ＲＦ２を下限値ＲＦ２ＬＭＬに設定し（ステップ８１）、ステップ８２に進む。一方、ステップ８０の答がＮＯで、ポート噴射割合ＲＦ２が所定の下限値ＲＦ２ＬＭＬ以上であるときには、ステップ８１をスキップし、ステップ８２に進む。
【００６８】
続くステップ８２〜８５では、図５のステップ３０〜３３と同様にして、目標ポート噴射量ＱＩＮＪ２、最終ポート噴射時間ＴＯＵＴ２、目標筒内噴射量ＱＩＮＪ１及び最終筒内噴射時間ＴＯＵＴ１をそれぞれ算出し、本処理を終了する。以上により、ポート噴射量が、ステップ８２で算出された目標ポート噴射量ＱＩＮＪ２になるように制御されるとともに、筒内噴射量が、ステップ８４で算出された目標筒内噴射量ＱＩＮＪ１になるように制御される。
【００６９】
以上のように、非ノッキング用制御処理では、エンジン３が、ノッキングが発生するような負荷領域にないとき（図６のステップ４１：ＮＯ）には、ポート噴射割合ＲＦ２が基本ポート噴射割合ＲＦ２Ｂに設定される（ステップ４２）とともに、点火時期ＩＧが暫定点火時期ＩＧＴＥＭに設定される（ステップ４７）。また、エンジン３が、ノッキングが発生するような負荷領域にあるとき（ステップ４１：ＹＥＳ）には、エンジン３の始動からノッキングが発生しない限り、減算フラグＦ＿ＳＵＢＴが「０」に保持されることによって、点火時期ＩＧは暫定点火時期ＩＧＴＥＭに設定される（図７のステップ５８：ＮＯ、ステップ６３）。
【００７０】
一方、エンジン３が、ノッキングが発生するような負荷領域にある場合において、それまでにエンジン３のノッキングが発生したと判定されたことでノッキング用制御処理が実行されていたときには、当該ノッキング用制御処理で設定された点火時期補正項ＣＯＩＧを減算する減算処理が実行される（図７のステップ５９）。
【００７１】
この点火時期補正項ＣＯＩＧの減算処理は、点火時期補正項ＣＯＩＧが値０以下になるまで繰り返され、その実行中、点火時期ＩＧは、暫定点火時期ＩＧＴＥＭに点火時期補正項ＣＯＩＧを加算した値に、設定される（図７のステップ６１）。そして、点火時期補正項ＣＯＩＧが値０以下になると（ステップ６０：ＹＥＳ）、点火時期補正項ＣＯＩＧの減算処理が終了され、減算フラグＦ＿ＳＵＢＴが「０」に設定される（ステップ６２）。点火時期補正項ＣＯＩＧの減算処理が終了した以後は、点火時期ＩＧは、暫定点火時期ＩＧＴＥＭに設定される（ステップ５８：ＮＯ、ステップ６３）。以上により、点火時期ＩＧは、エンジン３のノッキングの発生時に、暫定点火時期ＩＧＴＥＭよりも遅角側に補正され、ノッキングが発生しなくなったときに、進角側の暫定点火時期ＩＧＴＥＭに徐々に復帰される。
【００７２】
さらに、点火時期補正項ＣＯＩＧから減算される減算項ＣＯＳＩＧは、所定の基本減算項ＣＯＳＩＢを第１又は第２減算時間ＴＩＭＡ１、ＴＩＭＡ２で除算することによって、算出される（図７のステップ５４、５７）。これらの第１及び第２減算時間ＴＩＭＡ１、ＴＩＭＡ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２が小さいほど、より大きな値に設定されている（ステップ５３、５６）。また、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢ以上であるとき（ステップ５２：ＹＥＳ）には、第１減算時間ＴＩＭＡ１が用いられ、所定値ＲＱＲＢよりも小さいとき（ステップ５２：ＮＯ）には、第２減算時間ＴＩＭＡ２が用いられる。第２減算時間ＴＩＭＡ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２の全体として、第１減算時間ＴＩＭＡ１よりも大きな値に設定されている。以上により、エタノール残量割合ＲＱＲＦ２が小さいほど、減算項ＣＯＳＩＧがより小さな値に設定されることによって、点火時期ＩＧが暫定点火時期ＩＧＴＥＭに復帰するまでの時間が、より長くなる。
【００７３】
さらに、第１減算時間ＴＩＭＡ１は、前記マップにおいて、前記ポート噴射燃料の流入時間遅れ（ポート噴射弁７から噴射された燃料が気筒３ａ内に実際に流入するまでの時間遅れ）に応じて、設定されており、このポート噴射燃料の流入時間遅れの間は、点火時期補正項ＣＯＩＧが値０にならないような値に設定されている。
【００７４】
また、非ノッキング用制御処理では、エンジン３が、ノッキングが発生するような負荷領域にあるときには、ポート噴射割合補正項ＣＯＲＦ２を減算するポート噴射割合補正項ＣＯＲＦ２の減算処理が実行される（図８のステップ７８）。ポート噴射割合補正項ＣＯＲＦ２の減算処理は、基本的には、上述した点火時期補正項ＣＯＩＧの減算処理とは異なり、エンジン３のノッキングが発生しておらず、かつ、エンジン３が、ノッキングが発生するような負荷領域にある限り、繰り返し実行される。
【００７５】
一方、エンジン３のノッキングが発生しなくなった場合において、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢ以上であるとき（ステップ７１：ＹＥＳ）には、非ノッキング用制御処理が開始されてから点火時期補正項ＣＯＩＧの減算処理が終了するまでの間は、ポート噴射割合補正項ＣＯＲＦ２の減算処理は実行されず、ポート噴射割合補正項ＣＯＲＦ２は、その前回値ＣＯＲＦ２Ｚに保持される（ステップ７２：ＹＥＳ、ステップ７３）。これにより、ポート噴射割合補正項ＣＯＲＦ２は、非ノッキング用制御処理が開始されてから点火時期補正項ＣＯＩＧが値０になるまでの間は、ノッキング用制御処理（図４のステップ２２）で増大された値に、保持される。そして、点火時期補正項ＣＯＩＧの減算処理が終了すると（ステップ７２：ＮＯ）、ポート噴射割合補正項ＣＯＲＦ２の減算処理が開始される。
【００７６】
一方、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢよりも小さいとき（ステップ７１：ＮＯ）には、点火時期補正項ＣＯＩＧの減算処理にかかわらず、非ノッキング用制御処理の開始に伴って、ポート噴射割合補正項ＣＯＲＦ２の減算処理が開始される。すなわち、この場合には、点火時期補正項ＣＯＩＧの減算処理と、ポート噴射割合補正項ＣＯＲＦ２の減算処理が互いに併行して実行される。
【００７７】
また、ポート噴射割合補正項ＣＯＲＦ２から減算される減算項ＣＯＳＲＦ２は、所定の基本減算項ＣＯＳＲＢを第１又は第２減算時間ＴＩＭＢ１、ＴＩＭＢ２で除算することによって、算出される（図８のステップ７５、７７）。これらの第１及び第２減算時間ＴＩＭＢ１、ＴＩＭＢ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２が小さいほど、より小さな値に設定されている（ステップ７４、７６）。また、エタノール残量割合ＲＱＲＦ２が所定値ＲＱＲＢ以上であるとき（ステップ７１：ＹＥＳ）には、第１減算時間ＴＩＭＢ１が用いられ、所定値ＲＱＲＢよりも小さいとき（ステップ７１：ＮＯ）には、第２減算時間ＴＩＭＢ２が用いられる。第２減算時間ＴＩＭＢ２は、前記マップにおいて、エタノール残量割合ＲＱＲＦ２の全体として、第１減算時間ＴＩＭＢ１よりも小さな値に設定されている。以上により、エタノール残量割合ＲＱＲＦ２が小さいほど、減算項ＣＯＳＲＦ２がより大きな値に設定されることによって、ポート噴射割合補正項ＣＯＲＦ２がより大きな傾きで減少する結果、ポート噴射割合補正項ＣＯＲＦ２が加算されるポート噴射割合ＲＦ２も、より大きな傾きで減少する。
【００７８】
なお、ポート噴射割合補正項ＣＯＲＦ２は、リミット処理（図示せず）によって、所定の下限値以上に制限される。
【００７９】
以上のように、エンジン制御処理において、ポート噴射割合ＲＦ２を、エンジン３のノッキングが発生していないときに基本的に減少補正するとともに、発生しているときに増大補正するのは、次の理由による。すなわち、第１及び第２濃度センサ３９、４０で検出された第１及び第２エタノール濃度ＥＬ１、ＥＬ２の精度は、両センサ３９、４０の個体差や経年劣化などの影響を受けるため、必ずしも高くはない。このため、第１及び第２エタノール濃度ＥＬ１、ＥＬ２に基づいて算出された第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅや要求エタノール濃度ＥＲＥＱを用いて、ポート噴射割合ＲＦ２を算出しても、燃焼室３ｄ内に供給される燃料の実際のエタノール濃度が、要求エタノール濃度ＥＲＥＱよりも大きくなったり、小さくなったりし、前者の場合にはエタノールＥの無駄な消費につながり、後者の場合にはエンジン３のノッキングの頻繁な発生につながってしまう。この点に着目し、エタノールＥの消費を最小限に抑えながら、エンジン３のノッキングを抑制するためである。
【００８０】
次に、図９及び図１０を参照しながら、エンジン３の吸入空気量を制御するための処理について説明する。本処理は、ＴＤＣ信号の発生に同期して、かつ、前記エンジン制御処理と併行して、繰り返し実行される。まず、図９のステップ９１では、前述した低圧ポンプ２２ａによる燃料の吐出圧である所定圧ＰＲＥＦから、吸気圧ＰＢＡを減算することによって、圧力偏差ＤＰを算出する。次いで、エンジン回転数ＮＥ、吸入空気量ＱＡＩＲ及び、ステップ９１で算出された圧力偏差ＤＰに応じ、図１１に示すマップを検索することによって、ポート噴射割合ＲＦ２の前記上限値ＲＦ２ＬＭＨの基本値ＢＡＳＥＬＭＨを算出する（ステップ９２）。
【００８１】
この基本値ＢＡＳＥＬＭＨを算出するためのマップとして、圧力偏差ＤＰが第１所定値ＤＰＲＥＦａ、第２所定値ＤＰＲＥＦｂ、第３所定値ＤＰＲＥＦｃ及び第４所定値ＤＰＲＥＦｄであるときにそれぞれ用いられる４つのマップが設定されており、図１１は、ＤＰがＤＰＲＥＦａであるときに用いられるマップを示している。また、第１〜第４所定値ＤＰＲＥＦａ〜ＤＰＲＥＦｄの大小関係は、ＤＰＲＥＦａ＞ＤＰＲＥＦｂ＞ＤＰＲＥＦｃ＞ＤＰＲＥＦｄに設定されている。
【００８２】
また、図１１に示すように、基本値ＢＡＳＥＬＭＨを算出するためのマップでは、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲで規定される複数の領域αａ、βａ、γａ及びδａが設定されており、ＮＥ及びＱＡＩＲが領域αａ、βａ、γａ及びδａにそれぞれあるときには、基本値ＢＡＳＥＬＭＨは、所定の第１、第２、第３及び第４基本値ＢＡＳＥαａ、ＢＡＳＥβａ、ＢＡＳＥγａ、ＢＡＳＥδａにそれぞれ設定される。なお、図１１に示すマップは、ＤＰがＤＰＲＥＦａであるときに用いられるものである。図示しないものの、ＤＰがＤＰＲＥＦｂであるときに用いられるマップでは、領域αｂ、βｂ、γｂ及びδｂが設定されており、ＮＥ及びＱＡＩＲがこれらの領域αｂ、βｂ、γｂ及びδｂにそれぞれあるときには、基本値ＢＡＳＥＬＭＨは、所定の第１、第２、第３及び第４基本値ＢＡＳＥαｂ、ＢＡＳＥβｂ、ＢＡＳＥγｂ、ＢＡＳＥδｂにそれぞれ設定される。これらの第１〜第４基本値ＢＡＳＥαｂ〜ＢＡＳＥδｂは、上記の第１〜第４基本値ＢＡＳＥαａ〜ＢＡＳＥδａよりも小さな値にそれぞれ設定されている。
【００８３】
また、ＤＰがＤＰＲＥＦｃであるときに用いられるマップでは、領域αｃ、βｃ、γｃ及びδｃが設定されており、ＮＥ及びＱＡＩＲがこれらの領域αｃ、βｃ、γｃ及びδｃにそれぞれあるときには、基本値ＢＡＳＥＬＭＨは、所定の第１、第２、第３及び第４基本値ＢＡＳＥαｃ、ＢＡＳＥβｃ、ＢＡＳＥγｃ、ＢＡＳＥδｃにそれぞれ設定される。これらの第１〜第４基本値ＢＡＳＥαｃ〜ＢＡＳＥδｃは、上記の第１〜第４基本値ＢＡＳＥαｂ〜ＢＡＳＥδｂよりも小さな値にそれぞれ設定されている。さらに、ＤＰがＤＰＲＥＦｄであるときに用いられるマップでは、領域αｄ、βｄ、γｄ及びδｄが設定されており、ＮＥ及びＱＡＩＲがこれらの領域αｄ、βｄ、γｄ及びδｄにそれぞれあるときには、基本値ＢＡＳＥＬＭＨは、所定の第１、第２、第３及び第４基本値ＢＡＳＥαｄ、ＢＡＳＥβｄ、ＢＡＳＥγｄ、ＢＡＳＥδｄにそれぞれ設定される。これらの第１〜第４基本値ＢＡＳＥαｄ〜ＢＡＳＥδｄは、上記の第１〜第４基本値ＢＡＳＥαｃ〜ＢＡＳＥδｃよりも小さな値にそれぞれ設定されている。
【００８４】
以上のように、基本値ＢＡＳＥＬＭＨは、圧力偏差ＤＰが小さいほど、より小さな値に設定される。これは、圧力偏差ＤＰが小さいほど、すなわち、ポート噴射弁７によるエタノールＥの噴射圧が吸気ポート４ａにおける圧力に対して低くなるほど、ポート噴射弁７の同じ開弁時間に対して、噴射されるポート噴射量がより少なくなるためである。なお、圧力偏差ＤＰが第１〜第４所定値ＤＰＲＥＦａ〜ＤＰＲＥＦｄのいずれとも異なるときには、基本値ＢＡＳＥＬＭＨは補間演算により算出される。
【００８５】
また、上記の４つのマップにおいて、領域αａ〜αｄは、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲで表されるエンジン３の出力（以下「エンジン出力」という）が極めて高い極高出力領域に設定され、領域βａ〜βｄは、エンジン出力が比較的高く、かつ、領域αａ〜αｄよりも低い高出力領域にそれぞれ設定されている。また、領域γａ〜γｄは、エンジン出力が中で、かつ、領域βａ〜βｄよりも低い中出力領域にそれぞれ設定されており、領域δａ〜δｄは、エンジン出力が低から中で、かつ、領域γａ〜γｄよりも低い低中出力領域にそれぞれ設定されている。さらに、第１〜第４基本値ＢＡＳＥαａ〜ＢＡＳＥδａの大小関係は、ＢＡＳＥαａ＜ＢＡＳＥβａ＜ＢＡＳＥγａ＜ＢＡＳＥδａに設定されており、第１〜第４基本値ＢＡＳＥαｂ〜ＢＡＳＥδｂ、ＢＡＳＥαｃ〜ＢＡＳＥδｃ、及びＢＡＳＥαｄ〜ＢＡＳＥδｄの大小関係は、ＢＡＳＥαｂ＜ＢＡＳＥβｂ＜ＢＡＳＥγｂ＜ＢＡＳＥδｂ、ＢＡＳＥαｃ＜ＢＡＳＥβｃ＜ＢＡＳＥγｃ＜ＢＡＳＥδｃ、及びＢＡＳＥαｄ＜ＢＡＳＥβｄ＜ＢＡＳＥγｄ＜ＢＡＳＥδｄにそれぞれ設定されている。以上により、基本値ＢＡＳＥＬＭＨは、エンジン出力が高いほど、より小さな値に算出される。これは次の理由による。
【００８６】
すなわち、エンジン出力が高く、エンジン回転数ＮＥが高いほど、エンジン３の１燃焼サイクル当たりの時間が短くなることにより、ポート噴射弁７から噴射されたエタノールＥを燃焼室３ｄで燃焼させることが可能なポート噴射弁７の開弁期間が短くなることで、ポート噴射弁７から実質的に噴射することが可能な燃料量が、より少なくなるためである。また、前述した目標筒内噴射量ＱＩＮＪ１の算出手法から明らかなように、ポート噴射割合ＲＦ２が大きいほど、筒内噴射弁６の筒内噴射量がより少なくなる。これにより、筒内噴射弁６の噴射孔部分がガソリンＧで冷却されにくくなることによって、先端温度ＴＥＤＩがより高くなる結果、筒内噴射弁６の噴射孔部分に、デポジットの前駆物質が凝集し、デポジットが堆積しやすくなる。このような傾向は、エンジン出力が高く、吸入空気量ＱＡＩＲが大きいほど、燃焼室３ｄ内の温度が高くなるため、より顕著になる。このデポジットの堆積を防止すべく、エンジン出力が高いほど、ポート噴射弁７のポート噴射割合ＲＦ２をより小さな値に制限することによって、筒内噴射弁６の筒内噴射量をより多くするためである。
【００８７】
なお、最も大きな値に設定されている第４基本値ＢＡＳＥδａは、エタノールＥを節約するために、値１．０よりも小さな値に設定されている。また、上述した基本値ＢＡＳＥＬＭＨの設定において、吸入空気量ＱＡＩＲに代えて、先端温度ＴＥＤＩと相関する他の適当なパラメータ、例えばエンジン水温ＴＷなどを用いてもよい。
【００８８】
前記ステップ９２に続くステップ９３では、ノック強度ＫＮＯＣＫに応じ、所定のマップ（図示せず）を検索することによって、第１補正係数ＣＯＬＭＨ１を算出する。第１補正係数ＣＯＬＭＨ１は、上限値ＲＦ２ＬＭＨを算出するために、基本値ＢＡＳＥＬＭＨを補正するための補正係数として用いられるものである。上記のマップでは、第１補正係数ＣＯＬＭＨ１は、ノック強度ＫＮＯＣＫが高いほど、値１．０以上のより大きな値に設定されている。これは、ノック強度ＫＮＯＣＫが高いほど、エンジン３のノッキングを適切に抑制するために、ポート噴射割合ＲＦ２の制限を緩和するためである。
【００８９】
次いで、エンジン回転数ＮＥ及び吸入空気量ＱＡＩＲに応じ、所定のマップ（図示せず）を検索することによって、点火時期ＩＧの前記上限値ＩＧＬＭＨ（遅角側の制限値）を算出する（ステップ９４）。このマップでは、上限値ＩＧＬＭＨは、点火時期ＩＧの遅角化によるエンジン３の排ガスの過熱化や燃焼の不安定化を防止できるような値に設定されており、同じＮＥ及びＱＡＩＲに対して、前記暫定点火時期ＩＧＴＥＭよりも大きな値（遅角側の値）に設定されている。
【００９０】
次に、図５や図７で算出された点火時期ＩＧが上記ステップ９４で算出された上限値ＩＧＬＭＨよりも小さいか否かを判別する（ステップ９５）。この答がＹＥＳ（ＩＧ＜ＩＧＬＭＨ）のとき、すなわち、図５の前記ステップ３５及び３６で点火時期ＩＧが上限値ＩＧＬＭＨに制限されないときには、第２補正係数ＣＯＬＭＨ２を値１．０に設定し（ステップ９６）、ステップ９８に進む。この第２補正係数ＣＯＬＭＨ２は、前記第１補正係数ＣＯＬＭＨ１と同様、上限値ＲＦ２ＬＭＨを算出するために、基本値ＢＡＳＥＬＭＨを補正するための補正係数として用いられるものである。
【００９１】
一方、上記ステップ９５の答がＮＯ（ＩＧ≧ＩＧＬＭＨ）のとき、すなわち、図５の前記ステップ３５及び３６で点火時期ＩＧが上限値ＩＧＬＭＨに制限されるときには、第２補正係数ＣＯＬＭＨ２を値１．０よりも大きな第１所定値ＣＯＬＭＲＥ１に設定し（ステップ９７）、ステップ９８に進む。以上のように、第２補正係数ＣＯＬＭＨ２を用いた基本値ＢＡＳＥＬＭＨの補正は、点火時期ＩＧが上限値ＩＧＬＭＨに制限されるときに限って行われ、当該補正により、基本値ＢＡＳＥＬＭＨは増大される。
【００９２】
ステップ９６又は９７に続くステップ９８では、先端温度ＴＥＤＩが所定の上限温度ＴＥＬＭＨよりも低いか否かを判別する。この上限温度ＴＥＬＭＨは、筒内噴射弁６の噴射孔部分にデポジットが発生し、かつ、筒内噴射弁６の噴射孔部分が過熱化するような温度よりも若干、低い温度に設定されている。このステップ９８の答がＹＥＳ（ＴＥＤＩ＜ＴＥＬＭＨ）のときには、第３補正係数ＣＯＬＭＨ３を値１．０に設定し（ステップ９９）、ステップ１０１に進む。この第３補正係数ＣＯＬＭＨ３は、前記第１補正係数ＣＯＬＭＨ１と同様、上限値ＲＦ２ＬＭＨを算出するために、基本値ＢＡＳＥＬＭＨを補正するための補正係数として用いられるものである。
【００９３】
一方、ステップ９８の答がＮＯ（ＴＥＤＩ≧ＴＥＬＭＨ）のときには、第３補正係数ＣＯＬＭＨ３を値１．０よりも小さな第２所定値ＣＯＬＭＲＥ２に設定し（ステップ１００）、ステップ１０１に進む。以上のように、第３補正係数ＣＯＬＭＨ３を用いた基本値ＢＡＳＥＬＭＨの補正は、先端温度ＴＥＤＩが上限温度ＴＥＬＭＨ以上であるときに限って行われ、当該補正により、基本値ＢＡＳＥＬＭＨは減少される。
【００９４】
ステップ９９又は１００に続くステップ１０１では、前記ステップ９２で算出された基本値ＢＡＳＥＬＭＨに、ステップ９３で算出された第１補正係数ＣＯＬＭＨ１と、ステップ９６又は９７で設定された第２補正係数ＣＯＬＭＨ２と、ステップ９９又は１００で設定された第３補正係数ＣＯＬＭＨ３とを乗算することによって、上限値ＲＦ２ＬＭＨを算出する。なお、当該算出により上限値ＲＦ２ＬＭＨは、値１．０以下に算出される。
【００９５】
次いで、図１０のステップ１０５において、図３のステップ２及び３でそれぞれ算出された第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅ、及び前記ステップ１０１で算出された上限値ＲＦ２ＬＭＨを用い、次式（１）によって、筒内供給最大オクタン価ＥＬＣＭＡＸを算出する。この式（１）から明らかなように、筒内供給最大オクタン価ＥＬＣＭＡＸは、燃焼室３ｄ内に供給することが可能な燃料のエタノール濃度の最大値であり、燃焼室３ｄ内に供給することが可能な燃料のオクタン価の最大値に相当する。なお、筒内供給最大オクタン価ＥＬＣＭＡＸを、ＥＬ１Ｅ、ＥＬ２Ｅ及びＲＦ２ＬＭＨに応じたマップ検索により算出してもよい。
ＥＬＣＭＡＸ←ＥＬ１Ｅ（１−ＲＦ２ＬＭＨ）＋ＥＬ２Ｅ・ＲＦ２ＬＭＨ
……（１）
【００９６】
次に、エンジン回転数ＮＥ及び算出された筒内供給最大オクタン価ＥＬＣＭＡＸに応じ、図１２に示すマップを検索することによって、上限要求トルクＴＲＥＱＬＩＭを算出する（ステップ１０６）。上限要求トルクＴＲＥＱＬＩＭは、後述するエンジン３の要求トルクＴＲＥＱの上限値である。上記のマップとして、筒内供給最大オクタン価ＥＬＣＭＡＸが所定の第１最大オクタン価ＥＭＡＸ１、第２最大オクタン価ＥＭＡＸ２、及び第３最大オクタン価ＥＭＡＸ３であるときにそれぞれ上限要求トルクＴＲＥＱＬＩＭを算出するための３つのマップが設定されており、第１〜第３最大オクタン価ＥＭＡＸ１〜ＥＭＡＸ３の大小関係は、ＥＭＡＸ１＞ＥＭＡＸ２＞ＥＭＡＸ３に設定されている。なお、筒内供給最大オクタン価ＥＬＣＭＡＸが第１〜第３最大オクタン価ＥＭＡＸ１〜ＥＭＡＸ３のいずれでもないときには、上限要求トルクＴＲＥＱＬＩＭは補間演算により算出される。
【００９７】
また、図１２に示すように、これらのマップでは、上限要求トルクＴＲＥＱＬＩＭは、筒内供給最大オクタン価ＥＬＣＭＡＸが小さいほど、より小さな値に設定されている。これにより、要求トルクＴＲＥＱは、筒内供給最大オクタン価ＥＬＣＭＡＸが小さいほど、より小さな値に制限される。また、上限要求トルクＴＲＥＱＬＩＭは、ポート噴射割合ＲＦ２が上限値ＲＦ２ＬＭＨに設定されているとき、すなわち、燃焼室３ｄに供給される燃料のエタノール成分の濃度が筒内供給最大オクタン価ＥＬＣＭＡＸに調整されているときに、エンジン３のノッキングが確実に抑制されるような最大のトルク値に設定されている。
【００９８】
さらに、上限要求トルクＴＲＥＱＬＩＭは、エンジン回転数ＮＥが所定の第１回転数ＮＥ１よりも低い極低回転領域では、ＮＥが高いほど、比較的大きな傾きで、より大きな値に設定され、ＮＥがＮＥ１以上でかつ所定の第２回転数ＮＥ２（＞ＮＥ１）よりも低い低〜高回転領域では、ＮＥが高いほど、比較的小さな傾きで、より大きな値に設定され、ＮＥがＮＥ２以上の高回転領域では、ＮＥが高いほど、比較的大きな傾きで、より小さな値に設定されている。このような上限要求トルクＴＲＥＱＬＩＭの設定は、エンジン回転数ＮＥとエンジン３の出力トルクとの関係に基づくものであり、一般的な内燃機関の回転数と出力トルクとの関係と同様である。
【００９９】
上記ステップ１０６に続くステップ１０７では、エンジン回転数ＮＥ及び検出されたアクセル開度ＡＰに応じ、所定のマップ（図示せず）を検索することによって、要求トルクＴＲＥＱを算出する。このマップでは、要求トルクＴＲＥＱは、アクセル開度ＡＰが大きいほど、より大きな値に設定されている。
【０１００】
次いで、算出された要求トルクＴＲＥＱが、前記ステップ１０６で算出された上限要求トルクＴＲＥＱＬＩＭよりも大きいか否かを判別する（ステップ１０８）。この答がＹＥＳ（ＴＲＥＱ＞ＴＲＥＱＬＩＭ）のときには、要求トルクＴＲＥＱを上限要求トルクＴＲＥＱＬＩＭに設定し（ステップ１０９）、ステップ１１０に進む。一方、ステップ１０８の答がＮＯ（ＴＲＥＱ≦ＴＲＥＱＬＩＭ）のときには、ステップ１０９をスキップし、ステップ１１０に進む。
【０１０１】
このステップ１１０では、ステップ１０７又は１０９で設定された要求トルクＴＲＥＱに応じ、所定のマップ（図示せず）を検索することによって、目標吸入空気量ＱＡＯＢＪを算出する。このマップでは、目標吸入空気量ＱＡＯＢＪは、要求トルクＴＲＥＱが大きいほど、より大きな値に設定されている。次いで、算出された目標吸入空気量ＱＡＯＢＪに基づく制御信号をＴＨアクチュエータ９ｂに出力し（ステップ１１１）、本処理を終了する。このステップ１１１の実行により、スロットル弁９の開度が制御されることによって、吸入空気量ＱＡＩＲが目標吸入空気量ＱＡＯＢＪになるように制御され、ひいては、エンジン３のトルクが要求トルクＴＲＥＱになるように制御される。
【０１０２】
また、本実施形態における各種の要素と、本発明における各種の要素との対応関係は、次のとおりである。すなわち、本実施形態における筒内噴射弁６が本発明における第１噴射弁に相当し、本実施形態におけるポート噴射弁７が、本発明における第２噴射弁及び高オクタン価燃料噴射弁に相当するとともに、本実施形態におけるノックセンサ３２、吸気圧センサ３４及び先端温度センサ３６が、本発明における設定用パラメータ取得手段に相当する。また、本実施形態における第１及び第２濃度センサ３９、４０が、本発明における第１及び第２オクタン価取得手段にそれぞれ相当するとともに、本実施形態におけるＥＣＵ２が、本発明における最大オクタン価算出手段、出力制限手段、設定用パラメータ取得手段、上限値設定手段、第１及び第２オクタン価取得手段に相当する。
【０１０３】
以上のように、本実施形態によれば、気筒３ａ内に供給することが可能な燃料のオクタン価の最大値に相当する筒内供給最大オクタン価ＥＬＣＭＡＸが算出される（図１０のステップ１０５）とともに、算出された筒内供給最大オクタン価ＥＬＣＭＡＸに基づいて、筒内供給最大オクタン価ＥＬＣＭＡＸが小さいほど、エンジン３の出力がより小さな値に制限される（ステップ１０６〜１１１）。これにより、前述した従来の制御装置と異なり、ノッキングを抑制可能な大きさにオクタン価を調整できなくなるような事態が発生するのを回避でき、ひいては、エンジン３のノッキングを適切に抑制することができる。
【０１０４】
この場合、エンジン３の出力の制限に用いられる上限要求トルクＴＲＥＱＬＩＭが、ポート噴射割合ＲＦ２が上限値ＲＦ２ＬＭＨに設定されているとき、すなわち、燃焼室３ｄに供給される燃料のエタノール成分の濃度（オクタン価）が筒内供給最大オクタン価ＥＬＣＭＡＸに調整されているときに、エンジン３のノッキングが確実に抑制されるような最大のトルク値に設定されている。したがって、エンジン３の出力を過剰に制限することなく、上述した効果を有効に得ることができる。
【０１０５】
また、低オクタン価燃料としてのガソリンＧが、筒内噴射弁６によって気筒３ａ内に噴射され、高オクタン価燃料としてのエタノールＥが、ポート噴射弁７によって吸気ポート４ａに噴射されるとともに、気筒３ａ内の混合気が点火プラグ８で点火させられる。また、ポート噴射割合割合ＲＦ２の上限値ＲＦ２ＬＭＨが設定され（図９のステップ９１〜１０１）、ガソリンＧの第１推定エタノール濃度ＥＬ１Ｅが算出されるとともに、エタノールＥの第２推定エタノール濃度ＥＬ２Ｅが算出される。これらの第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅは、オクタン価を良好に表すパラメータである。
【０１０６】
前述したように、エンジン３では、筒内噴射量とポート噴射量の和に対する筒内噴射量の割合及びポート噴射量の割合を調整することによって、気筒３ａ内に供給される燃料のオクタン価が変更され、また、筒内供給最大オクタン価ＥＬＣＭＡＸは、気筒３ａ内に供給することが可能な燃料のオクタン価の最大値に相当する。以上から明らかなように、設定された上限値ＲＦ２ＬＭＨ、第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅに応じて、筒内供給最大オクタン価ＥＬＣＭＡＸを適切に算出することができる。
【０１０７】
また、ノック強度ＫＮＯＣＫと、点火時期ＩＧと上限値ＩＧＬＭＨとの比較結果に応じて上限値ＲＦ２ＬＭＨを設定する（図９のステップ９３、９５〜９７、１０１）ので、上限値ＲＦ２ＬＭＨを、エンジン３のノッキングの状態に応じて適切に設定することができる。
【０１０８】
さらに、筒内噴射弁６は、ガソリンＧを気筒３ａ内に噴射するものであることから、その噴射孔部分が高温の燃焼室３ｄ内に晒されるので、噴射孔部分にデポジットが堆積する傾向にあり、その堆積度合は、先端温度ＴＥＤＩが高いほど、より高くなる。また、筒内噴射弁６の先端温度ＴＥＤＩは、その筒内噴射量が多いほど、燃料による噴射孔部分の冷却度合が高くなるため、より低くなる。これに対して、筒内噴射弁５の先端温度ＴＥＤＩが上限温度ＴＥＬＭＨ以上であるときに、上限値ＲＦ２ＬＭＨをより小さな値に設定するので、筒内噴射量を増大でき、それにより、筒内噴射弁５の噴射孔部分にデポジットが堆積するのを防止することができる。
【０１０９】
また、ポート噴射弁７によって噴射可能なポート噴射量は、供給されるエタノールＥの所定圧ＰＲＥＦと吸気圧ＰＢＡとの差圧である圧力偏差ＤＰが小さいほど、より少なくなる。これに対して、この圧力偏差ＤＰが小さいほど、上限値ＲＦ２ＬＭＨをより小さな値に設定するので、ＲＦ２ＬＭＨを適切に設定することができる。
【０１１０】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、本発明における最大オクタン価として、気筒３ａ内に供給可能な燃料のエタノール濃度の最大値である筒内供給最大オクタン価ＥＬＣＭＡＸを算出しているが、筒内供給最大オクタン価ＥＬＣＭＡＸに基づいて、最大オクタン価そのものを算出してもよい。あるいは、上限値ＲＦ２ＬＭＨ、第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅに応じて、最大オクタン価そのものを算出してもよい。この場合の算出手法として、モデル式やマップを用いた算出手法を用いてもよいことは、もちろんである。
【０１１１】
また、実施形態では、本発明における内燃機関の出力の制限を、吸入空気量の制御に用いる要求トルクＴＲＥＱを低減補正することにより行っているが、目標吸入空気量ＱＡＯＢＪを低減補正することにより行ってもよく、あるいは、点火時期の遅角補正により行ってもよい。さらに、実施形態では、上限値ＲＦ２ＬＭＨを設定するための本発明における設定用パラメータとして、ノック強度ＫＮＯＣＫ、点火時期ＩＧと上限値ＩＧＬＭＨとの比較結果（点火時期の遅角化の状態）、先端温度ＴＥＤＩ、及び、圧力偏差ＤＰを用いているが、これらのいずれか１つ、２つ又は３つを省略してもよい。
【０１１２】
また、実施形態では、ノック強度ＫＮＯＣＫを、ノックセンサ３２によって検出しているが、センサで検出された気筒内の圧力に基づいて算出してもよい。さらに、実施形態では、本発明における点火時期の遅角化の状態として、点火時期ＩＧと上限値ＩＧＬＭＨとの比較結果を用いているが、点火時期補正項ＣＯＩＧを用いてもよい。また、実施形態では、先端温度ＴＥＤＩが上限温度ＴＥＬＭＨ以上であるときに、上限値ＲＦ２ＬＭＨを減少側に補正しているが、先端温度ＴＥＤＩが高いほど、上限値ＲＦ２ＬＭＨをより小さな値に設定してもよい。
【０１１３】
さらに、実施形態では、先端温度ＴＥＤＩを、先端温度センサ３６で検出しているが、本出願人による特開２０１５−１６９１８４号公報に開示されているように、筒内噴射弁６の噴射孔部分の温度に影響を及ぼす各種のパラメータ、例えば、エンジン回転数ＮＥ、吸入空気量ＧＡＩＲや、点火時期ＩＧ、エンジン水温ＴＷ、筒内噴射弁６の噴射時間などに応じて算出してもよい。また、実施形態では、圧力偏差ＤＰの算出に当たって、吸気圧ＰＢＡを、吸気圧センサ３４で検出しているが、センサで検出されたスロットル弁９の開度に応じて算出してもよく、あるいは、アクセル開度ＡＰに応じて算出（推定）してもよい。
【０１１４】
さらに、実施形態では、第１及び第２エタノール濃度ＥＬ１、ＥＬ２を、第１及び第２濃度センサ３９、４０でそれぞれ検出しているが、例えば、次のようにして推定（算出）してもよい。すなわち、内燃機関の負荷が所定の低オクタン価判定領域にあるときに、低オクタン価燃料（ガソリンＧ）のみを内燃機関に供給するとともに、点火時期を通常の点火時期（暫定点火時期ＩＧＴＥＭ）から一旦、遅角側に変化させた後、進角側に徐々に変化させる。上記の低オクタン価判定領域は、内燃機関の点火時期を通常の点火時期よりも遅角側に制御するか、あるいは、低オクタン価燃料に加えて高オクタン価燃料（エタノールＥ）を内燃機関に供給しなければ、内燃機関のノッキングが発生するような負荷領域（以下「ノック領域」という）のうちの低負荷側の領域に設定される。上述したように点火時期を進角側に変化させているときに、内燃機関のノッキングの有無を検出し、ノッキングが発生した時点における点火時期、内燃機関の負荷、内燃機関の回転数、及び実行圧縮比などの内燃機関の運転状態を特定する複数の運転パラメータを取得するとともに、取得された運転パラメータに基づくマップ検索によって、第１エタノール濃度（低オクタン価燃料のオクタン価）を算出（推定）する。
【０１１５】
また、第２エタノール濃度（高オクタン価燃料のオクタン価）の推定は、次のようにして行われる。すなわち、内燃機関の負荷が、上記の低オクタン価判定領域よりも高負荷側の所定の高オクタン価判定領域にあるときに、低オクタン価燃料及び高オクタン価燃料の供給量を図６のステップ４２〜４５と同様にして制御するとともに、点火時期を通常の点火時期から進角側に変化させる。このように点火時期を進角側に変化させているときに、内燃機関のノッキングの有無を検出し、ノッキングが発生した時点におけるポート噴射割合ＲＦ２、第１エタノール濃度、点火時期、内燃機関の負荷、内燃機関の回転数、及び実行圧縮比などの内燃機関の運転状態を特定する複数の運転パラメータを取得するとともに、取得された運転パラメータに基づくマップ検索によって、第２エタノール濃度を算出（推定）する。
【０１１６】
あるいは、ガソリンＧとエタノールＥでは前述した量論混合比が異なるため、両者Ｇ、Ｅから成る混合燃料のエタノール濃度（オクタン価）が高いほど、空燃比ＬＡＦを所定値に維持するのに必要な燃料噴射量が大きくなる点に着目し、第１及び第２エタノール濃度を、次のようにして推定してもよい。すなわち、内燃機関の負荷が所定の非ノック領域にあり、かつ一定であるときに、前述した空燃比ＬＡＦに基づいて算出される補正係数ＫＩＮＪの移動平均値を算出し、この移動平均値を算出した時点における基本燃料噴射量ＱＩＮＪＢに、値１．０からポート噴射割合ＲＦ２を減算した値を乗算することによって、第１基準噴射量を算出する。上記の非ノック領域は、内燃機関に低オクタン価燃料のみを供給しても、内燃機関のノッキングが発生しないような低負荷側の領域に設定される。そして、算出された移動平均値、第１基準噴射量及び第１エタノール濃度の前回値に応じて、今回の第１エタノール濃度を算出（推定）する。
【０１１７】
また、第２エタノール濃度（高オクタン価燃料のオクタン価）の推定は、次のようにして行われる。すなわち、内燃機関の負荷が前記ノック領域にあり、かつ一定であるときに、前述した空燃比ＬＡＦに基づいて算出される補正係数ＫＩＮＪの移動平均値を算出し、この移動平均値を算出した時点における基本燃料噴射量ＱＩＮＪＢを、第２基準噴射量として設定する。そして、算出された移動平均値、第２基準噴射量、第１及び第２エタノール濃度の前回値に応じて、今回の第２エタノール濃度を算出（推定）する。
【０１１８】
また、実施形態では、本発明における第１及び第２オクタン価として、第１及び第２推定エタノール濃度ＥＬ１Ｅ、ＥＬ２Ｅをそれぞれ算出しているが、検出された第１及び第２エタノール濃度ＥＬ１、ＥＬ２をそれぞれ用いてもよく、ＥＬ１Ｅ及びＥＬ２Ｅ又はＥＬ１及びＥＬ２に基づいて、ガソリンＧ及びエタノールＥのオクタン価そのものをそれぞれ算出してもよい。あるいは、第１及び第２エタノール濃度ＥＬ１、ＥＬ２に基づくオクタン価を表す検出信号を出力するセンサを用いて、第１及び第２オクタン価をそれぞれ検出してもよい。さらに、実施形態で説明した上限値ＲＦ２ＬＭＨの算出手法は、あくまで一例であり、内燃機関のノック強度、点火プラグの点火時期の遅角化の状態、第１噴射弁の噴射孔部分の温度、及び、高オクタン価燃料噴射弁に供給される高オクタン価燃料の圧力と高オクタン価燃料噴射弁の噴射孔部分の周囲の雰囲気の圧力との差圧の少なくとも１つである設定用パラメータなどを用いて、他の適当な算出手法を採用可能である。
【０１１９】
また、実施形態で説明したポート噴射割合ＲＦ２及び点火時期ＩＧの設定手法は、あくまで一例であり、本発明の趣旨の範囲内で、他の適当な設定手法を採用してもよいことは、もちろんである。さらに、実施形態では、低オクタン価燃料としてのガソリンＧを気筒３ａ内に、高オクタン価燃料としてのエタノールＥを吸気ポート４ａに、それぞれ噴射しているが、これとは逆に、低オクタン価燃料を吸気ポートに、高オクタン価燃料を気筒内に、それぞれ噴射してもよい。この場合、高オクタン価燃料の量の割合の上限値は、本実施形態の場合とは逆に、高オクタン価燃料を噴射する第１噴射弁の噴射孔部分の温度が高いほど、より大きな値に設定される。あるいは、低オクタン価燃料及び高オクタン価燃料を、それらの割合を調整した状態で予め混合するとともに、混合した燃料を、単一の噴射弁を用いて気筒内に供給してもよい。
【０１２０】
また、実施形態は、低オクタン価燃料としてのガソリンＧからエタノール成分（高オクタン価成分）を分離することによって、高オクタン価燃料としてのエタノールＥが生成されるエンジン３に、本発明を適用した例であるが、本発明はこれに限らず、低オクタン価燃料と高オクタン価燃料が外部から別個の燃料タンクに補給される内燃機関に、適用してもよい。さらに、実施形態では、低オクタン価燃料及び高オクタン価燃料として、ガソリンＧ及びエタノールＥをそれぞれ用いているが、オクタン価が互いに異なる他の適当な燃料を用いてもよい。
【０１２１】
また、実施形態では、本発明による内燃機関は、車両用のエンジン３であるが、他の適当な産業用の内燃機関、例えば船舶用の内燃機関などでもよい。なお、これまでに述べた実施形態に関するバリエーションを適宜、組み合わせて適用してもよいことは、もちろんである。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【符号の説明】
【０１２２】
１  制御装置
２  ＥＣＵ（最大オクタン価算出手段、出力制限手段、設定用パラメータ取得手段、上限値設定手段、第１オクタン価取得手段、第２オクタン価取得手段）
３  内燃機関
３ａ  気筒
４ａ  吸気ポート
６  筒内噴射弁（第１噴射弁）
７  ポート噴射弁（第２噴射弁、高オクタン価燃料噴射弁）
８  点火プラグ
３２  ノックセンサ（設定用パラメータ取得手段）
３４  吸気圧センサ（設定用パラメータ取得手段）
３６  先端温度センサ（設定用パラメータ取得手段）
３９  第１濃度センサ（第１オクタン価取得手段）
４０  第２濃度センサ（第２オクタン価取得手段）
Ｇ  ガソリン（低オクタン価燃料）
Ｅ  エタノール（高オクタン価燃料）
ＲＦ２  ポート噴射割合（高オクタン価燃料の量の割合）
ＥＬＣＭＡＸ  筒内供給最大オクタン価（最大オクタン価）
ＫＮＯＣＫ  ノック強度
ＩＧ  点火時期
ＴＥＤＩ  先端温度（第１噴射弁の噴射孔部分の温度）
ＰＲＥＦ  所定圧（高オクタン価燃料噴射弁に供給される高オクタン価燃料の圧力）
ＰＢＡ  吸気圧（高オクタン価燃料噴射弁の噴射孔部分の周囲の雰囲気の圧力）
ＤＰ  圧力偏差（高オクタン価燃料噴射弁に供給される高オクタン価燃料の圧力と、高オクタン価燃料噴射弁の噴射孔部分の周囲の雰囲気の圧力との差圧）
ＲＦ２ＬＭＨ  上限値（高オクタン価燃料の量の割合の上限値）
ＥＬ１Ｅ  第１推定エタノール濃度（第１オクタン価）
ＥＬ２Ｅ  第２推定エタノール濃度（第２オクタン価）
【図１】
2017150338.tif 000003
【図２】
2017150338.tif 000004
【図３】
2017150338.tif 000005
【図４】
2017150338.tif 000006
【図５】
2017150338.tif 000007
【図６】
2017150338.tif 000008
【図７】
2017150338.tif 000009
【図８】
2017150338.tif 000010
【図９】
2017150338.tif 000011
【図１０】
2017150338.tif 000012
【図１１】
2017150338.tif 000013
【図１２】
2017150338.tif 000014