(57)【特許請求の範囲】
【請求項１】
燃料噴射弁を備える内燃機関に適用され、且つ、
前記機関の運転状態に関するパラメータ値を所定サンプリング間隔にてサンプリングし、該サンプリングされたパラメータ値のうちの最新の値に基づいて前記燃料噴射弁からの燃料噴射に関する制御値を所定期間を隔てて繰り返し演算し、該演算された制御値に基づいて前記燃料噴射を制御する制御部を有する、
燃料噴射制御装置において、
前記制御部は、
第１クランク角度間隔のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理を実行する第１処理モードと、前記第１クランク角度間隔よりも短い第２クランク角度間隔のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理を実行する第２処理モードと、のうちの何れかのモードにて各燃料噴射を開始するための処理を実行するように構成され、
前記第１クランク角度間隔に相当する時間内に燃料噴射を１回のみ開始するシングル噴射制御を実行する場合、該シングル噴射制御の燃料噴射を開始するための処理を前記第１処理モードにて実行し、
前記第１クランク角度間隔に相当する時間内に燃料噴射を複数回開始するマルチ噴射制御を実行する場合、該マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行する、
ように構成された、燃料噴射制御装置。
【請求項２】
請求項１に記載の燃料噴射制御装置において、
前記内燃機関が多気筒内燃機関であり、
前記制御部は、各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御を実行する場合、これらシングル噴射制御及びマルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行する、ように構成された、
燃料噴射制御装置。
【請求項３】
請求項１に記載の燃料噴射制御装置において、
前記制御部は、
前記第１クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する第１演算モードと、前記第２クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する第２演算モードと、のうちの何れかのモードにて前記制御値を演算するように構成され、
前記シングル噴射制御を実行する場合、前記制御値を前記第１演算モードにて演算し、
前記マルチ噴射制御を実行する場合、前記制御値を前記第２演算モードにて演算する、
ように構成された、
燃料噴射制御装置。
【請求項４】
請求項１に記載の燃料噴射制御装置において、
前記制御部は、
前記第１クランク角度間隔にて前記制御値を演算する第１演算モードと、前記第２クランク角度間隔にて前記制御値を演算する第２演算モードと、のうちの何れかのモードにて前記制御値を演算するように構成され、
前記シングル噴射制御を実行する場合、前記制御値を前記第１演算モードにて演算し、
前記マルチ噴射制御を実行する場合、前記制御値を前記第２演算モードにて演算する、
ように構成された、
燃料噴射制御装置。
【請求項５】
請求項３又は請求項４に記載の燃料噴射制御装置において、
前記内燃機関が多気筒内燃機関であり、
前記制御部は、各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御を実行する場合、前記制御値を前記第２演算モードにて演算し且つ前記シングル噴射制御及び前記マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行する、ように構成された、
燃料噴射制御装置。
【請求項６】
請求項１、請求項３又は請求項４に記載の燃料噴射制御装置において、
前記制御部は、
第１サンプリング間隔にて前記パラメータ値をサンプリングする第１サンプリングモードと、前記第１サンプリング間隔よりも短い第２サンプリング間隔にて前記パラメータ値をサンプリングする第２サンプリングモードと、のうちの何れかのモードにて前記パラメータ値をサンプリングするように構成され、
前記シングル噴射制御を実行する場合、前記パラメータ値を前記第１サンプリングモードにてサンプリングし、
前記マルチ噴射制御を実行する場合、前記パラメータ値を前記第２サンプリングモードにてサンプリングする、
ように構成された、
燃料噴射制御装置。
【請求項７】
請求項６に記載の燃料噴射制御装置において、
前記第１サンプリング間隔は一定の第１時間間隔であり、前記第２サンプリング間隔は前記第１時間間隔よりも短い一定の第２時間間隔である、
燃料噴射制御装置。
【請求項８】
請求項６に記載の燃料噴射制御装置において、
前記第１サンプリング間隔は前記第１クランク角度間隔であり、前記第２サンプリング間隔は前記第２クランク角度間隔である、
燃料噴射制御装置。
【請求項９】
請求項８に記載の燃料噴射制御装置において、
前記制御部は、
前記シングル噴射制御を実行する場合、前記パラメータ値の１つである機関回転速度を前記第１サンプリングモードにてサンプリングし、
前記マルチ噴射制御を実行する場合、前記機関回転速度を前記第２サンプリングモードにてサンプリングする、
ように構成された、
燃料噴射制御装置。
【請求項１０】
請求項３又は請求項４に記載の燃料噴射制御装置において、
前記内燃機関が多気筒内燃機関であり、
前記制御部は、
第１サンプリング間隔にて前記パラメータ値をサンプリングする第１サンプリングモードと、前記第１サンプリング間隔よりも短い第２サンプリング間隔にて前記パラメータ値をサンプリングする第２サンプリングモードと、のうちの何れかのモードにて前記パラメータ値をサンプリングするように構成され、
前記シングル噴射制御を実行する場合、前記パラメータ値を前記第１サンプリングモードにてサンプリングし、
前記マルチ噴射制御を実行する場合、前記パラメータ値を前記第２サンプリングモードにてサンプリングし、
各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御を実行する場合、前記パラメータ値を前記第２サンプリングモードにてサンプリングし且つ前記制御値を前記第２演算モードにて演算し且つ前記シングル噴射制御及び前記マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行する、
ように構成された、
燃料噴射制御装置。
【請求項１１】
請求項１０に記載の燃料噴射制御装置において、
前記第１サンプリング間隔は一定の第１時間間隔であり、前記第２サンプリング間隔は前記第１時間間隔よりも短い一定の第２時間間隔である、
燃料噴射制御装置。
【請求項１２】
請求項１０に記載の燃料噴射制御装置において、
前記第１サンプリング間隔は前記第１クランク角度間隔であり、前記第２サンプリング間隔は前記第２クランク角度間隔である、
燃料噴射制御装置。
【請求項１３】
請求項１２に記載の燃料噴射制御装置において、
前記制御部は、
前記シングル噴射制御を実行する場合、前記パラメータ値の１つである機関回転速度を前記第１サンプリングモードにてサンプリングし、
前記マルチ噴射制御を実行する場合、前記機関回転速度を前記第２サンプリングモードにてサンプリングする、
ように構成された、
燃料噴射制御装置。
【請求項１４】
請求項１乃至請求項１３の何れか一項に記載の燃料噴射制御装置において、
前記マルチ噴射制御の各燃料噴射は、前記燃料噴射弁のニードルリフト量が最大リフト量に達する前にニードル弁を閉弁させるパーシャル噴射である、
燃料噴射制御装置。
【請求項１５】
請求項１乃至請求項１４の何れか一項に記載の燃料噴射制御装置において、
前記シングル噴射制御の燃料噴射は、前記燃料噴射弁のニードルリフト量が最大リフト量に達した後にニードル弁を閉弁させるフル噴射である、
燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射制御装置に関する。
【背景技術】
【０００２】
特許文献１に内燃機関の燃料噴射制御装置（以下「従来装置」）が記載されている。この従来装置は、目標空燃比を実現するための燃料噴射量（以下「目標噴射量」）を、吸気量に影響を与える機関回転速度（パラメータ値）を用いて演算する。
【０００３】
より具体的に述べると、機関回転速度が比較的低いときには、クランク角度が所定角度進むのに要する時間が長いので、クランク角度が所定角度進む間に機関回転速度が大きく変動する可能性がある。このように機関回転速度が大きく変動した場合、この変動は吸気量に大きく影響する。従って、機関回転速度が比較的低いときに比較的長い間隔（例えば、１８０°クランク角度間隔）にて機関回転速度がサンプリングされていると、機関回転速度の大きな変動が目標噴射量の演算に反映されず、目標空燃比が実現されない可能性がある。
【０００４】
そこで、従来装置は、機関回転速度が所定回転速度以下である場合、１０°クランク角度間隔にて機関回転速度をサンプリングしている。
【０００５】
一方、機関回転速度が比較的高いときには、クランク角度が１８０°進むのに要する時間が短いので、クランク角度が１８０°進む間に機関回転速度は殆ど変動せず、仮に機関回転速度が変動したとしても、この変動は吸気量には殆ど影響しない。従って、機関回転速度が比較的高いときに比較的短い間隔（例えば、１０°クランク角度間隔）で機関回転速度がサンプリングされていると、吸気量に殆ど影響しない機関回転速度の変動が目標噴射量の演算に反映されてしまい、目標空燃比が実現されない可能性がある。
【０００６】
そこで、従来装置は、機関回転速度が所定回転速度よりも高い場合、１８０°クランク角度間隔にて機関回転速度をサンプリングしている。
【０００７】
このように、従来装置は、機関回転速度に応じて機関回転速度のサンプリング間隔を切り替えている。但し、従来装置において、目標噴射量の演算間隔は、機関回転速度に係わらず一定間隔（４ｍｓ）である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−５９４４１号公報
【発明の概要】
【０００９】
ところで、短時間内に複数回の燃料噴射を連続的に実行するマルチ噴射制御が実行される場合、この複数回の燃料噴射の実行中に各燃料噴射の影響等により燃料噴射に関する制御値（例えば、燃料噴射の開始時期、燃料噴射時間等）の演算に用いられるパラメータ値（例えば、機関回転速度、機関負荷、燃圧、筒内圧等）が変動する可能性がある。従って、各燃料噴射において適切な燃料噴射を実現するためには、前記パラメータ値の変動が前記制御値の演算に反映されるように、各燃料噴射の開始時期にできるだけ近い時期に前記制御値が演算されることが好ましい。ところが、従来装置においては、前記制御値の１つである目標噴射量の演算間隔は一定である。従って、この演算間隔が長い間隔に設定されている場合、前記パラメータ値の変動が各燃料噴射に関する制御値の演算に反映されず、適切な燃料噴射が実現されない可能性がある。
【００１０】
更に、短時間内に１回の燃料噴射のみを実行するシングル噴射制御が実行される場合、燃料噴射の影響等により前記パラメータ値が変動したとしても、この変動を直ちに反映させるべき燃料噴射はない。このため、前記制御値の演算間隔がマルチ噴射制御が実行される場合に比べて長くても適切な燃料噴射は十分に実現される。加えて、このような場合にまで前記制御値の演算間隔を短くすることは、演算に係る処理負荷の過剰な増大を招いてしまうので好ましくない。ところが、上述したように、従来装置においては、目標噴射量の演算間隔は一定である。従って、この演算間隔が短い間隔に設定されている場合、演算に係る処理負荷が過剰に増大してしまう可能性がある。
【００１１】
こうした事情に鑑み、本発明の目的は、短時間内に燃料噴射を１回のみ開始するシングル噴射制御と、短時間内に複数回の燃料噴射を開始するマルチ噴射制御と、を実行する燃料噴射制御装置であって、各燃料噴射を実現するための処理負荷を過剰に増大させることなく、適切な燃料噴射を実現可能な燃料噴射制御装置を提供することにある。
【００１２】
本発明は、燃料噴射弁を備える内燃機関に適用され、且つ、前記機関の運転状態に関するパラメータ値（例えば、機関回転速度、機関負荷、燃圧、筒内圧等）を所定サンプリング間隔にてサンプリングし、該サンプリングされたパラメータ値のうちの最新の値に基づいて前記燃料噴射弁からの燃料噴射に関する制御値（例えば、噴射クランク角度、燃料噴射時間、現時点から燃料噴射開始までに要する時間等）を所定期間を隔てて繰り返し演算し、該演算された制御値に基づいて前記燃料噴射を制御する制御部を有する、燃料噴射制御装置に関する。
【００１３】
前記所定期間には、例えば、「一定の時間、任意の時間、一定のクランク角度、及び、任意のクランク角度」が含まれる。前記所定期間が任意の時間である場合、例えば、制御部が制御値を演算可能な状態になった時点で制御値が演算される。更に、前記所定期間が任意のクランク角度である場合、例えば、制御部が制御値を演算可能な状態になったクランク角度にて制御値が演算される。
【００１４】
前記制御部は、第１クランク角度間隔（例えば、３０°クランク角度間隔）のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理を実行する第１処理モードと、前記第１クランク角度間隔よりも短い第２クランク角度間隔（例えば、１０°クランク角度間隔）のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理を実行する第２処理モードと、のうちの何れかのモードにて各燃料噴射を開始するための処理を実行するように構成されている。
【００１５】
更に、前記制御部は、前記第１クランク角度間隔に相当する時間内に燃料噴射を１回のみ開始するシングル噴射制御を実行する場合、該シングル噴射制御の燃料噴射を開始するための処理を前記第１処理モードにて実行するように構成されている。
【００１６】
一方、前記制御部は、前記第１クランク角度間隔に相当する時間内に燃料噴射を複数回開始するマルチ噴射制御を実行する場合、該マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行するように構成されている。
【００１７】
本発明によれば、マルチ噴射制御が実行される場合、マルチ噴射制御の各燃料噴射を開始するための処理（以下、燃料噴射を開始するための処理を「噴射開始用処理」とも称呼する）は、第１クランク角度間隔よりも短い第２クランク角度間隔のクランク角度のうち、当該各燃料噴射の開始直前のクランク角度において実行される。噴射開始用処理は、少なくとも、「各燃料噴射の開始時刻の設定」及び／又は「各燃料噴射の燃料噴射時間の決定」を含む。従って、マルチ噴射制御の各燃料噴射の開始時点に、より近い時点にて演算された制御値に基づいて、噴射開始用処理が実行される。このため、マルチ噴射制御の複数回の燃料噴射の実行中に各燃料噴射の影響等によりパラメータ値が変動したとしても、この変動が反映された制御値に基づいて噴射開始用処理が実行される可能性が高くなり、その結果、前記変動が各燃料噴射に反映される可能性が高くなる。従って、マルチ噴射制御において、より適切な燃料噴射が実現される。
【００１８】
尚、本発明の前記パラメータ値について、最新の値とは、例えば、ＡＤ変換により取得されたパラメータ値（例えば、機関負荷、燃圧、筒内圧）のうち、各燃料噴射に関する制御値の演算に利用可能な最新のパラメータ値である。或いは、最新の値とは、例えば、演算により取得されたパラメータ値（例えば、機関回転速度）のうち、各燃料噴射に関する制御値の演算に利用可能な最新のパラメータ値である。
【００１９】
更に、内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、或る気筒におけるシングル噴射制御の実行直後に別の気筒におけるマルチ噴射制御が実行されたり、或る気筒におけるマルチ噴射制御の実行直後に別の気筒におけるシングル噴射制御が実行されたりする可能性がある。つまり、非常に短い時間間隔でシングル噴射制御とマルチ噴射制御とが交互に実行される可能性がある。この場合において、シングル噴射制御の燃料噴射ための噴射開始用処理を第１処理モードにて実行し、マルチ噴射制御の各燃料噴射のための噴射開始用処理を第２処理モードにて実行しようとすると、制御部は、処理モードを頻繁に切り替えつつ噴射開始用処理を実行しなければならない。しかしながら、これによると、噴射開始用処理に係る処理負荷が過剰に増大したり、噴射開始用処理に係る処理プログラムが過剰に複雑化したりする。
【００２０】
そこで、前記内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御が実行される場合、前記制御部は、これらシングル噴射制御及びマルチ噴射制御の各燃料噴射を開始するための処理（噴射開始用処理）を前記第２処理モードにて実行するように構成されることが好ましい。
【００２１】
更に、前記制御部は、前記第１クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する第１演算モードと、前記第２クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する第２演算モードと、のうちの何れかのモードにて前記制御値を演算するように構成されてもよい。この場合、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値を前記第１演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値を前記第２演算モードにて演算するように構成されると好ましい。
【００２２】
これによれば、マルチ噴射制御が実行される場合、マルチ噴射制御の各燃料噴射の開始時点に、より近い時点にて演算された制御値が噴射開始用処理に用いられる。このため、マルチ噴射制御の複数回の燃料噴射の実行中に各燃料噴射の影響等によりパラメータ値が変動したとしても、噴射開始用処理に用いられる制御値に前記変動が反映されている可能性が高くなり、その結果、各燃料噴射に前記変動が反映される可能性も高くなる。従って、マルチ噴射制御において、より適切な燃料噴射が実現される。
【００２３】
この場合、制御部は、第１演算モードにおいて、第１クランク角度間隔のうち、各燃料噴射の開始直前の前記クランク角度においてのみ、制御値を演算してよい。
【００２４】
更に、例えば、「噴射クランク角度、燃料噴射時間、現時点から燃料噴射開始までに要する時間」が「前記制御値」として演算される場合においては、これら制御値の少なくとも何れか１つが各燃料噴射の開始直前の前記クランク角度において演算される。
【００２５】
更に、前記制御部は、前記第１クランク角度間隔にて前記制御値を演算する第１演算モードと、前記第２クランク角度間隔にて前記制御値を演算する第２演算モードと、のうちの何れかのモードにて前記制御値を演算するように構成されてもよい。この場合、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値を前記第１演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値を前記第２演算モードにて演算するように構成されると好ましい。
【００２６】
これによれば、マルチ噴射制御が実行される場合、制御値は、第１クランク角度間隔よりも短い第２クランク角度間隔にて演算される。従って、マルチ噴射制御の各燃料噴射の開始時点に、より近い時点に演算された制御値が噴射開始用処理に用いられる。このため、マルチ噴射制御の複数回の燃料噴射の実行中に各燃料噴射の影響等によりパラメータ値が変動したとしても、噴射開始用処理に用いられる制御値に前記変動が反映されている可能性が高くなり、その結果、各燃料噴射に前記変動が反映される可能性も高くなる。従って、マルチ噴射制御において、より適切な燃料噴射が実現される。
【００２７】
更に、これによれば、シングル噴射制御が実行される場合、第２クランク角度間隔よりも長い第１クランク角度間隔にて制御値が演算される。上述したように、シングル噴射制御が実行される場合、燃料噴射の影響等によりパラメータ値が変動したとしても、この変動を直ちに反映させるべき燃料噴射はない。このため、制御値の演算間隔がマルチ噴射制御が実行される場合に比べて長くても適切な燃料噴射が十分に実現される。加えて、このような場合にまで制御値の演算間隔を短くすることは、制御値の演算に係る処理負荷の過剰な増大を招いてしまうので好ましくない。従って、シングル噴射制御において、第２クランク角度間隔よりも長い第１クランク角度間隔にて制御値を演算することにより、制御値の演算に係る処理負荷の過剰な増大が防止される。
【００２８】
この場合、例えば、「噴射クランク角度、燃料噴射時間、現時点から燃料噴射開始までに要する時間」が「前記制御値」として演算される場合においては、これら制御値の少なくとも何れか１つが前記第１クランク角度間隔又は前記第２クランク角度間隔で演算される。
【００２９】
更に、内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、上述したように、非常に短い時間間隔でシングル噴射制御とマルチ噴射制御とが交互に実行される可能性がある。この場合において、シングル噴射制御のために、制御値を第１演算モードにて演算し且つ噴射開始用処理を第１処理モードにて実行し、一方、マルチ噴射制御のために、制御値を第２演算モードにて演算し且つ噴射開始用処理を第２処理モードにて実行しようとすると、制御部は、演算モード及び処理モードを頻繁に切り替えつつ制御値の演算及び噴射開始用処理を実行しなければならない。しかしながら、これによると、制御値の演算及び噴射開始用処理に係る処理負荷が過剰に増大したり、演算及び噴射開始用処理に係る処理プログラムが過剰に複雑化したりする。
【００３０】
そこで、前記内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御が実行される場合、前記制御部は、前記制御値を前記第２演算モードにて演算し且つ前記シングル噴射制御及び前記マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行するように構成されることが好ましい。
【００３１】
更に、前記制御部は、第１サンプリング間隔にて前記パラメータ値をサンプリングする第１サンプリングモードと、前記第１サンプリング間隔よりも短い第２サンプリング間隔にて前記パラメータ値をサンプリングする第２サンプリングモードと、のうちの何れかのモードにて前記パラメータ値をサンプリングするように構成されてもよい。この場合、前記制御部は、前記シングル噴射制御を実行する場合、前記パラメータ値を前記第１サンプリングモードにてサンプリングし、前記マルチ噴射制御を実行する場合、前記パラメータ値を前記第２サンプリングモードにてサンプリングするように構成されると好ましい。
【００３２】
これによれば、マルチ噴射制御が実行される場合、パラメータ値は、第１サンプリング間隔よりも短い第２サンプリング間隔にてサンプリングされる。従って、噴射開始用処理に用いられる制御値の演算時点に、より近い時点にサンプリングされたパラメータ値が制御値の演算に用いられる。このため、マルチ噴射制御の複数回の実行中に各燃料噴射の影響等によりパラメータ値が変動したとしても、噴射開始用処理に用いられる制御値に前記変動が反映されている可能性が高くなり、その結果、各燃料噴射に前記変動が反映される可能性も高くなる。従って、マルチ噴射制御において、より一層適切な燃料噴射が実現される。
【００３３】
更に、これによれば、シングル噴射制御が実行される場合、第２サンプリング間隔よりも長い第１サンプリング間隔にてパラメータ値がサンプリングされる。上述したように、シングル噴射制御が実行される場合、燃料噴射の影響等によりパラメータ値が変動したとしても、この変動を直ちに反映させるべき燃料噴射はない。このため、前記パラメータ値のサンプリング間隔がマルチ噴射制御が実行される場合に比べて長くても適切な燃料噴射が十分に実現される。加えて、このような場合にまでパラメータ値のサンプリング間隔を短くすることは、パラメータ値のサンプリングに係る処理負荷の過剰な増大を招いてしまうので好ましくない。従って、シングル噴射制御が実行される場合において、第２サンプリング間隔よりも長い第１サンプリング間隔にてパラメータ値をサンプリングすることにより、パラメータ値のサンプリングに係る処理負荷の過剰な増大が防止される。
【００３４】
更に、前記第１サンプリング間隔は、例えば、一定の第１時間間隔であり、前記第２サンプリング間隔は、例えば、前記第１時間間隔よりも短い一定の第２時間間隔である。
【００３５】
或いは、前記第１サンプリング間隔は、例えば、前記第１クランク角度間隔であり、前記第２サンプリング間隔は、例えば、前記第２クランク角度間隔である。この場合、例えば、前記制御部は、前記シングル噴射制御を実行する場合、前記パラメータ値の１つである機関回転速度を前記第１サンプリングモードにてサンプリングし、前記マルチ噴射制御を実行する場合、前記機関回転速度を前記第２サンプリングモードにてサンプリングするように構成される。これによれば、機関回転速度の変動を噴射開始用処理に用いられる制御値に、より確実に反映させることができる。
【００３６】
更に、内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、上述したように、非常に短い時間間隔でシングル噴射制御とマルチ噴射制御とが交互に実行される可能性がある。この場合において、シングル噴射制御のために、パラメータ値を第１サンプリング間隔にてサンプリングし且つ制御値を第１演算間隔にて演算し且つ噴射開始用処理を第１処理モードにて実行し、一方、マルチ噴射制御のために、パラメータ値を第２サンプリング間隔にてサンプリングし且つ制御値を第２演算間隔にて演算し且つ噴射開始用処理を第２処理モードにて実行しようとすると、制御部は、前記各モードを頻繁に切り替えつつパラメータ値のサンプリング、制御値の演算及び噴射開始用処理を実行しなければならない。しかしながら、これによると、こうしたパラメータ値のサンプリング、制御値の演算及び噴射開始用処理に係る処理負荷が過剰に増大したり、こうしたパラメータ値のサンプリング、制御値の演算及び噴射開始用処理に係る処理プログラムが過剰に複雑化したりする。
【００３７】
そこで、前記内燃機関が多気筒内燃機関であり、前記内燃機関が多気筒内燃機関であり、各気筒の１機関サイクルにおいて前記シングル噴射制御及び前記マルチ噴射制御が実行される場合、前記制御部は、前記パラメータ値を前記第２サンプリングモードにてサンプリングし且つ前記制御値を前記第２演算モードにて演算し且つ前記シングル噴射制御及び前記マルチ噴射制御の各燃料噴射を開始するための処理を前記第２処理モードにて実行するように構成されることが好ましい。
【００３８】
更に、前記マルチ噴射制御の各燃料噴射は、例えば、前記燃料噴射弁のニードルリフト量が最大リフト量に達する前にニードル弁を閉弁させるパーシャル噴射であってもよい。
【００３９】
更に、前記シングル噴射制御の燃料噴射は、例えば、前記燃料噴射弁のニードルリフト量が最大リフト量に達した後にニードル弁を閉弁させるフル噴射であってもよい。
【００４０】
本発明の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【００４１】
【図１】図１は、本発明の第１実施形態に係る燃料噴射制御装置が適用された内燃機関の縦断面図である。
【図２】図２（Ａ）は、フル噴射におけるニードルリフト量の変化を示しており、図２（Ｂ）は、パーシャル噴射におけるニードルリフト量の変化を示している。
【図３】図３は、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御が実行される場合の各気筒における燃料噴射を示したタイムチャートである。
【図４】図４は、１機関サイクルにおいてシングル噴射制御のみが実行される場合の各気筒における燃料噴射を示したタイムチャートである。
【図５】図５（Ａ）は、シングル噴射制御が実行される場合における燃料噴射弁への通電を示したタイムチャートであり、図５（Ｂ）は、シングル噴射制御が実行される場合において、所定クランク角度間隔が「３０°クランク角度間隔」であるときの「フル噴射に関する制御値（フル噴射の燃料噴射時期ＣＡf及びフル噴射の燃料噴射時間ＴＡＵf）」並びに「機関回転速度ＮＥ及び燃圧Ｐｆ」を示したタイムチャートである。
【図６】図６（Ａ）は、マルチ噴射制御が実行される場合における燃料噴射弁への通電を示したタイムチャートであり、図６（Ｂ）は、マルチ噴射制御が実行される場合において、所定クランク角度間隔が「３０°クランク角度間隔」であるときの「パーシャル噴射に関する制御値（パーシャル噴射の燃料噴射時期ＣＡp1〜ＣＡp3及びパーシャル噴射の燃料噴射時間ＴＡＵp1〜ＴＡＵp3）」並びに「機関回転速度ＮＥ及び燃圧Ｐｆ」を示したタイムチャートである。
【図７】図７（Ａ）は、図６（Ａ）と同様の図であり、図７（Ｂ）は、図６（Ｂ）と同様の図であるが、所定クランク角度間隔が「１０°クランク角度間隔」である場合を示している。
【図８】図８（Ａ）は、フル噴射の燃料噴射時期ＣＡfを決定（演算）する際に参照されるルックアップテーブルを示しており、図８（Ｂ）は、１回目のパーシャル噴射の燃料噴射時期ＣＡp1を決定（演算）する際に参照されるルックアップテーブルを示している。
【図９】図９（Ａ）は、図６（Ａ）と同様の図であり、図９（Ｂ）は、マルチ噴射制御が実行される場合における第１実施形態に係る「パーシャル噴射に関する制御値（パーシャル噴射の燃料噴射時期ＣＡp1〜ＣＡp3及びパーシャル噴射の燃料噴射時間ＴＡＵp1〜ＴＡＵp3）」並びに「機関回転速度ＮＥ及び燃圧Ｐｆ」を示したタイムチャートである。
【図１０】図１０は、第１実施形態に従って噴射制御モードを設定するフローを示している。
【図１１】図１１は、第１施形態に従って演算モード、サンプリングモード及び処理モードを設定すると共に、噴射用演算及び噴射開始用処理を実行するフローを示している。
【図１２】図１２は、第１実施形態に従って燃料噴射の終了時刻をセットするフローを示している。
【図１３】図１３（Ａ）は、図５（Ａ）と同様の図であり、図１３（Ｂ）は、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御が実行される場合における第２実施形態に係る「フル噴射に関する制御値（フル噴射の燃料噴射時期ＣＡf及びフル噴射の燃料噴射時間ＴＡＵf」並びに「機関回転速度ＮＥ及び燃圧Ｐｆ」を示したタイムチャートである。
【図１４】図１４は、第２実施形態に従って噴射制御モードを設定すると共に、演算モード、サンプリングモード及び処理モードを設定するフローを示している。
【図１５】図１５は、第２実施形態に従って噴射用演算及び噴射開始用処理を実行するフローを示している。
【図１６】図１６は、本発明の実施形態に従って燃圧を制御するフローを示している。
【発明を実施するための形態】
【００４２】
以下、図面を参照して本発明の実施形態に係る燃料噴射制御装置について説明する。図１に示したように、内燃機関１０は４サイクル・火花点火式・筒内燃料噴射型ガソリン機関である。
【００４３】
機関１０は、シリンダブロック１２及びシリンダヘッド１３を有する。シリンダブロック１２には、シリンダボア１４が形成されている。シリンダボア１４内には、ピストン１５が嵌装されている。シリンダヘッド１３の壁面とシリンダボア１４の内周壁面とピストン１５の冠面とにより燃焼室１１が画成されている。図示していないが、機関１０は４つの燃焼室（気筒）１１を有する。シリンダヘッド１３には、燃焼室１１にそれぞれ連通する吸気ポート３０及び排気ポート４０が形成されている。更に、シリンダヘッド１３には、「燃焼室１１側の吸気ポート３０の端部開口を閉鎖したり開放したりする吸気弁３１」及び「燃焼室１１側の排気ポート４０の端部開口を閉鎖したり開放したりする排気弁４１」が配設されている。
【００４４】
機関１０は吸気管３２を有する。吸気管３２は、その内部通路が吸気ポート３０に連通するようにシリンダヘッド１３に接続されている。吸気管３２の内部通路内には、スロットル弁３３が配置されている。更に、機関１０は排気管４２を有する。排気管４２は、その内部通路が排気ポート４０に連通するようにシリンダヘッド１３に接続されている。排気管４２の内部通路には、排気中の成分を浄化するための排気浄化触媒４３が配置されている。排気浄化触媒４３は、その温度（以下「触媒温度」）が活性温度以上であるときに排気中の成分を浄化する機能を発揮する。
【００４５】
シリンダヘッド１３には、各燃焼室１１にそれぞれ対応して１つの点火装置１６及び１つの燃料噴射弁１７が配設されている。点火装置１６は、イグナイタ、イグニッションコイル及び点火プラグを含む。噴射弁１７は、筒内（即ち、燃焼室１１内）に燃料を直接噴射するようにシリンダヘッド１３に配設されている。
【００４６】
噴射弁１７には、燃料供給管１８を介して燃料ポンプ１９が接続されている。燃料ポンプ１９は機関１０の回転と共に回転するカム（図示せず）により駆動される。燃料ポンプ１９は「低圧燃料ポンプ（図示せず）によりフューエルタンク（図示せず）から供給される燃料」の圧力を上昇させ、その上昇させた高圧の燃料を燃料供給管１８を介して噴射弁１７に供給する。
【００４７】
燃料ポンプ１９は、その燃料吸入部に電磁弁（図示せず）を備えている。電磁弁はＥＣＵ８０からの指示に基づいて燃料ポンプ１９の吸入動作開始時に開かれ且つ加圧動作中の所定のタイミングにて閉じられる。この電磁弁が閉じられるタイミングが早くなるほど、燃料ポンプ１９のプランジャ（図示せず）の有効ストロークが長くなるので、燃料ポンプ１９から吐出される燃料の量が多くなる。その結果、噴射弁１７に供給される燃料の圧力が上昇する。
【００４８】
燃料供給管１８には、燃圧（即ち、燃料供給管１８内の燃料の圧力）を検出するための燃圧センサ２０が配設されている。スロットル弁３３よりも上流の吸気管３２には、吸気管３２の内部通路を流れる空気の流量を検出するためのエアフローメータ（吸気量センサ）３４が配設されている。シリンダブロック１２には、筒内圧（即ち、燃焼室１１内の圧力）を検出するための筒内圧センサ２１が配設されている。筒内圧センサ２１は、各燃焼室１１にそれぞれ対応して１つずつ設けられてもよいし、何れか１つの燃焼室１１にのみ設けられてもよい。更に、シリンダブロック１２には、機関１０を冷却するための冷却水の温度を検出するための冷却水温センサ２２が配設されている。アクセルペダル２３には、アクセルペダル２３の踏込量を検出するためのアクセルペダル踏込量センサ２４が取り付けられている。更に、機関１０には、クランクシャフト２５に近接してクランク角度センサ２６が配設されている。
【００４９】
ＥＣＵ８０は、ＣＰＵ８１、ＲＯＭ８２、ＲＡＭ（メモリ）８３、バックアップＲＡＭ８４、タイマー（フリーランカウンタ）８５、入出力インターフェース８６、コンペアレジスタ８７、駆動回路８８、ＡＤコンバータ８９、マルチプレクサ９０、エッヂ検出回路９１及び波形整形回路９２等を含む周知のマイクロコンピュータを備える電子制御回路（電子制御ユニット）である。
【００５０】
レジスタ８７は、噴射弁１７及び点火装置１６のそれぞれに対応して１つずつ設けられており、駆動回路８８を通じて、「対応する噴射弁１７への通電・通電停止」及び「対応する点火装置１６の通電・通電停止」を行うことができる。
【００５１】
上述したセンサは、マルチプレクサ９０を介してＡＤコンバータ８９に接続されている。燃圧センサ２０は、燃圧に応じた電圧を出力する。筒内圧センサ２１は、筒内圧に応じた電圧を出力する。冷却水温センサ２２は、冷却水温に応じた電圧を出力する。アクセルペダル踏込量センサ２４は、アクセルペダル２３の踏込量に応じた電圧を出力する。エアフローメータ３４は、そこを通過する空気の流量に応じた電圧を出力する。ＥＣＵ８０は、これら電圧を用いて、燃圧、筒内圧、冷却水温、アクセルペダル踏込量及び吸気量（即ち、燃焼室１１内に吸入される空気の量）をサンプリング（取得）する。尚、ＥＣＵ８０は、取得したアクセルペダル踏込量を含むパラメータ値に応じてスロットル弁３３の開度を制御する。
【００５２】
クランク角度センサ２６は、波形整形回路９２と共に、クランクシャフト２５が所定角度（本例においては、１０°）回転する毎にパルス信号（矩形波信号）を出力する。即ち、そのパルス信号は、クランクシャフト２５が１０°回転すると「０（Ｖ）」から所定電圧にまで急峻に上昇し、その後、その電圧を維持し、クランクシャフト２５が更に１０°回転するまでに「０（Ｖ）」へと低下する。ＥＣＵ８０は、後に詳述するように、このパルス信号を用いて機関回転速度をサンプリング（取得）する。尚、機関１０はカムポジションセンサ（図示せず）も備えている。カムポジションセンサは特定気筒（例えば、第１気筒）が基準位置（例えば、吸気上死点）となったときにのみパルス信号を出力するようになっている。ＥＣＵ８０は、このパルス信号を検出し、このパルス信号とクランク角度センサ２６からのパルス信号とに基づいて特定気筒の基準位置を基準とした絶対クランク角度を演算するようになっている。
【００５３】
ＥＣＵ８０においては、タイマー８５が示す時刻が予め定められた時刻と一致したとき、ＣＰＵ８１に割込み処理が発生する。この割込み処理は便宜上「タイマー割込み処理」とも称呼される。更に、クランク角度センサ２６から波形整形回路９２を通じて送られて来るパルスの立ち上がりエッヂをエッヂ検出回路９１が検出したときにも、ＣＰＵ８１に割込み処理が発生する。この割込み処理は便宜上「エッヂ割込み処理」とも称呼される。加えて、タイマー８５が示す時刻がレジスタ８７にセットされた時刻と一致したときにも、ＣＰＵ８１に割込み処理が発生する。この割込み処理は便宜上「コンペアレジスタ割込み処理」とも称呼される。
【００５４】
ＣＰＵ８１は、マルチプレクサ９０により選択されたセンサ（クランク角度センサ２６を除く）の出力電圧をＡＤコンバータ８９を用いて予め定められた順序（ＡＤ変換スケジュール）に従ってＡＤ変換することにより、上述した種々のパラメータ値（燃圧、筒内圧、冷却水温、吸気量及びアクセルペダル踏込量等）をサンプリングする。この動作はタイマー割込み処理により実行される。
【００５５】
更に、ＣＰＵ８１は、クランク角度センサ２６からのパルス信号の立ち上がりエッヂがエッヂ検出回路９１により検出されたときにエッヂ割込み処理を実行して現在の時刻をタイマー８５から読み込む。加えて、ＣＰＵ８１は、前回の立ち上がりエッヂ検出時に読み込んだ時刻と今回の立ち上がりエッヂ検出時に読み込んだ時刻とから、クランクシャフト２５が１０°回転するのに要した時間を求め、その時間から機関回転速度ＮＥ１０をサンプリング（取得）する。或いは、ＣＰＵ８１は、前回の立ち上がりエッヂ検出時に読み込んだ時刻と３回前の立ち上がりエッヂ検出時に読み込んだ時刻とから、クランクシャフト２５が３０°回転するのに要した時間を求め、その時間から機関回転速度ＮＥ３０をサンプリング（取得）する。
【００５６】
＜燃料噴射制御装置の作動＞
以下、このように構成された燃料噴射制御装置の作動について、先ず、燃料噴射制御から説明する。
【００５７】
本実施形態においては、詳細は後述するが、「燃料噴射を開始するクランク角度（噴射クランク角度）の演算」、「目標量の燃料を噴射させるために噴射弁１７を開弁しておく時間（燃料噴射時間）の演算」及び「或る時点からクランク角度が噴射クランク角度に到達するまでに要する時間（噴射開始までの所要時間）の演算」が「通常演算モード」と「短縮演算モード」とのうちの何れかのモードにて行われる。
【００５８】
通常演算モードは「噴射クランク角度及び燃料噴射時間を通常クランク角度間隔（本例においては、３０°クランク角度間隔）毎に演算する」と共に「通常クランク角度間隔のクランク角度のうち、燃料噴射の開始直前のクランク角度（本例においては、０°、３０°、６０°・・・６６０°、６９０°、７２０°（＝０°）の何れか）において前記所要時間を演算する」モードである。
【００５９】
一方、短縮演算モードは「前記通常クランク角度間隔よりも短い短縮クランク角度間隔（本例においては、１０°クランク角度間隔）毎に噴射クランク角度及び燃料噴射時間を演算する」と共に「短縮クランク角度間隔のクランク角度のうち、燃料噴射の開始直前のクランク角度（本例においては、０°、１０°、２０°・・・７００°、７１０°、７２０°（＝０°）の何れか）において前記所要時間を演算する」モードである。
【００６０】
更に、本実施形態においては、詳細は後述するが、「レジスタ８７への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」が「通常処理モード」と「短縮処理モード」とのうちの何れかのモードにて行われる。これら「レジスタ８７への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」は「噴射開始用処理」とも総称される。
【００６１】
通常処理モードは、通常クランク角度間隔（３０°クランク角度間隔）のクランク角度のうち、燃料噴射の開始直前のクランク角度（０°、３０°、６０°・・・６６０°、６９０°、７２０°（＝０°）の何れか）において「レジスタ８７への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」を行うモードである。
【００６２】
一方、短縮処理モードは、短縮クランク角度間隔（１０°クランク角度間隔）のクランク角度のうち、燃料噴射の開始直前のクランク角度（０°、１０°、２０°・・・７００°、７１０°、７２０°（＝０°）の何れか）において「レジスタ８７への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」を行うモードである。
【００６３】
加えて、本実施形態においては、フル噴射とパーシャル噴射とが選択的に実行可能である。フル噴射とは、図２（Ａ）に示したように、ニードルリフト量（即ち、噴射弁１７のニードル弁のリフト量）が最大リフト量（フルリフト量）に達した後にニードル弁の閉弁が開始される燃料噴射である。パーシャル噴射とは、図２（Ｂ）に示したように、ニードルリフト量が最大リフト量に達する前にニードル弁の閉弁が開始される燃料噴射である。即ち、パーシャル噴射とは、ニードルリフト量が「０」から「最大リフト量よりも小さい部分リフト量（パーシャルリフト量）」にまで増大した時点で直ちにニードルリフト量を「０」にまで減少させることにより行われる燃料噴射である。図２（Ｂ）には、パーシャル噴射が３回実行される場合のニードルリフト量の変化が示されている。
【００６４】
そして、本実施形態においては、図２（Ａ）に示したように、通常クランク角度間隔（３０°クランク角度間隔）に相当する時間内に燃料噴射（本例においては、フル噴射）を１回のみ開始するシングル噴射制御と、図２（Ｂ）に示したように、通常クランク角度間隔に相当する時間内に燃料噴射（本例においては、パーシャル噴射）を複数回（本例においては、連続的に３回）開始するマルチ噴射制御と、が実行可能である。
【００６５】
本実施形態においては、冷間始動条件又は急速触媒暖機条件が成立しているときには、図３に示したように、各気筒♯１〜♯４の１機関サイクルにおいて、吸気行程の中期にシングル噴射制御ＳＩが実行されると共に、圧縮行程の後期にマルチ噴射制御ＭＩが実行される。一方、冷間始動条件及び急速触媒暖機条件の何れもが成立していないときには、図４に示したように、各気筒♯１〜♯４の１機関サイクルにおいて、吸気行程の中期にシングル噴射制御ＳＩのみが実行される。
【００６６】
図３及び図４において、「♯１」〜「♯４」は、それぞれ、第１気筒、第２気筒、第３気筒及び第４気筒を示している。更に、１機関サイクルは、１つの気筒において、吸気・圧縮・爆発・排気の各行程が順に行われる期間であり、４サイクル・レシプロ内燃機関の場合、クランク角度７２０°が経過する期間である。
【００６７】
前記冷間始動条件は、機関始動要求が発生したときに機関温度（即ち、冷却水温センサ２２の出力電圧に基づき推定される機関１０の温度）が所定機関温度よりも低い場合に成立し、その後、機関回転速度が所定回転速度以上になった場合（機関始動が完了した場合）に不成立となる条件である。冷間始動とは、機関温度が所定機関温度よりも低い状態における機関始動である。
【００６８】
更に、前記急速触媒暖機条件は、機関始動要求の発生後、機関回転速度が前記所定回転速度以上になったとき（機関始動が完了したとき）に触媒温度が活性温度よりも低い場合に成立し、触媒温度が活性温度以上になったときに不成立となる条件である。急速触媒暖機とは、機関始動の完了後に短時間で触媒温度を活性温度以上にまで上昇させる触媒暖機である。触媒温度は、例えば、冷却水温センサ２２の出力電圧に基づき推定される。
【００６９】
冷間始動条件又は急速触媒暖機条件が成立しているときの燃料噴射について具体的に述べると、本実施形態においては、図３に示したように、任意の気筒♯Ｎ（Ｎ：１〜４）において、吸気行程中期のフル噴射クランク角度（フル噴射を開始するべきクランク角度）が到来すると、その気筒の噴射弁１７への通電が開始される。その後、フル噴射時間（フル噴射を実現するための燃料噴射時間）に亘ってその通電が継続される。これにより、フル噴射（シングル噴射制御）が行われる。前記フル噴射時間は、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
【００７０】
更に、図３に示したように、圧縮行程後期の１回目、２回目及び３回目のパーシャル噴射クランク角度（各パーシャル噴射を開始するべきクランク角度）がそれぞれ到来すると、当該気筒の噴射弁１７への通電が開始される。その後、第１〜第３パーシャル噴射時間（１回目〜３回目のパーシャル噴射を実現するための燃料噴射時間それぞれに亘ってその通電が継続される。これにより、１回目〜３回目のパーシャル噴射（マルチ噴射制御）が行われる。前記第１〜第３パーシャル噴射時間は、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
【００７１】
尚、実際には、噴射弁１７への通電が開始されたとしても、噴射弁１７は即座には開弁せず、噴射弁１７への通電開始から一定時間が経過したときに燃料が噴射され始める。このように噴射弁１７への通電開始から燃料が噴射され始めるまでの時間は「無効噴射時間」と称呼される。各燃料噴射時間には、この無効噴射時間が含まれている。
【００７２】
一方、冷間始動条件及び急速触媒暖機条件が成立していないときの燃料噴射について具体的に述べると、本実施形態においては、図４に示したように、任意の気筒♯Ｎ（Ｎ：１〜４）において、吸気行程中期のフル噴射クランク角度（フル噴射を開始するべきクランク角度）が到来すると、その気筒の噴射弁１７への通電が開始される。その後、フル噴射時間に亘ってその通電が継続される。これにより、フル噴射（シングル噴射制御）が行われる。この場合のフル噴射時間も、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
【００７３】
＜燃料噴射の概要＞
次に、上述した燃料噴射を実現するためのＥＣＵ８０の作動の概要について図５〜図７を参照して説明する。
【００７４】
１．フル噴射の実現
先ず、前記シングル噴射制御ＳＩの１回のフル噴射を実現するために、図５に示したように、一定時間Ｔ１が経過する毎にタイマー割込み処理により「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃのサンプリング」を予め定められた順序（ＡＤ変換スケジュール）で行うと共に、クランク角度０°を出発点としてクランク角度３０°が経過する毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「噴射用演算」を行う場合について説明する。
【００７５】
この場合において、噴射用演算とは、フル噴射に必要な制御値（本例においては、フル噴射クランク角度及びフル噴射時間）を各種のパラメータ値（本例においては、機関回転速度ＮＥ３０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ）に基づき計算することを言う。
【００７６】
更に、この場合において、サンプリングされる機関回転速度ＮＥは、先述したように、クランクシャフト２５が３０°回転するのに要した時間から求められる「機関回転速度ＮＥ３０」である。
【００７７】
加えて、機関負荷ＫＬは、実際には、一定時間Ｔ１が経過する毎にエアフローメータ３４の出力電圧に基づいて吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「後述するように３０°クランク角度間隔毎にサンプリングされる機関回転速度ＮＥ３０のうち、その時点にて最新の機関回転速度ＮＥ３０」とに基づき演算されるが、このような機関負荷ＫＬの演算動作（取得動作）を機関負荷ＫＬのサンプリングと称呼する。
【００７８】
噴射用演算について具体的に述べると、ＥＣＵ８０のＣＰＵ８１は、３０°クランク角度間隔で（即ち、クランク角度０°、３０°、６０°、９０°、・・・、６６０°、６９０°、７２０°（＝０°）において）実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度ＮＥ３０及び機関負荷ＫＬ」（即ち、最新のパラメータ値）に基づいて、図８（Ａ）に示したルックアップテーブルから「フル噴射クランク角度（フル噴射を開始するべきクランク角度）ＣＡf」を決定（演算）すると共に、その時点にて得られている最新の「機関回転速度ＮＥ３０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」（即ち、最新のパラメータ値）に基づいて「フル噴射時間（フル噴射を実現するための燃料噴射時間）ＴＡＵf」を演算する。
【００７９】
本例において、各噴射用演算に用いられる最新の「機関回転速度ＮＥ３０」は、各噴射用演算が行われるクランク角度にてサンプリングされる「ＮＥ３０」であり、各噴射用演算に用いられる最新の「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」である。
【００８０】
尚、フル噴射クランク角度は、フル噴射を行う気筒における吸気上死点（クランク角度０°）からのクランク角度により表される。
【００８１】
次いで、ＣＰＵ８１は、現時点から次の噴射用演算（次のエッヂ割込み処理に基づく噴射用演算）が行われるクランク角度（つまり、３０°後のクランク角度）までの間に「フル噴射クランク角度ＣＡf」が到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「フル噴射クランク角度ＣＡf」が到来しない場合、ＣＰＵ８１は、噴射弁１７への通電（フル噴射）を開始するための「追加の噴射用演算及び処理（噴射開始用処理）」を行わない。
【００８２】
この場合において、追加の噴射用演算とは、「現時点からクランク角度がフル噴射クランク角度ＣＡfに到達するまでに要する時間（フル噴射開始までの所要時間）」を計算することを言う。更に、噴射開始用処理とは、「クランク角度がフル噴射クランク角度ＣＡfに到達する時刻（フル噴射の開始時刻）」をレジスタ８７にセットすると共に「その時点にて得られている最新のフル噴射時間ＴＡＵf」を取得することを言う。
【００８３】
図５に示した例においては、６０°と９０°との間に「フル噴射クランク角度ＣＡf」が到来する。従って、ＣＰＵ８１は、クランク角度が６０°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度９０°）までの間に「フル噴射クランク角度ＣＡf」が到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
【００８４】
追加の噴射用演算においては、ＣＰＵ８１は、フル噴射クランク角度ＣＡf（最新の制御値）とクランク角度６０°との差Δθfを、その時点にて得られている最新の機関回転速度ＮＥ３０に基づいて「現時点（クランク角度が６０°に到達した時点）からクランク角度がフル噴射クランク角度ＣＡfに到達するまでに要する時間（即ち、フル噴射開始までの所要時間）ΔＴf」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ３０」は、クランク角度６０°にてサンプリングされた「ＮＥ３０」である。
【００８５】
続く噴射開始用処理においては、ＣＰＵ８１は、「タイマー８５が示す現在の時刻に前記所要時間ΔＴf（最新の制御値）を加えた時刻（フル噴射の開始時刻）Ｔf」を「フル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、そのレジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「フル噴射時間ＴＡＵf（最新の制御値）」を取得し、メモリに保存する。
【００８６】
本例において、前記取得される最新の「フル噴射時間ＴＡＵf」は、クランク角度が６０°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵf」である。更に、前記取得される最新のフル噴射時間ＴＡＵfの演算に用いられた「機関回転速度ＮＥ３０」は、クランク角度６０°にてサンプリングされた「ＮＥ３０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度６０°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図５の時刻ｔ１にてサンプリングされた燃圧である。
【００８７】
この結果、タイマー８５が示す時刻（タイマー時刻）が「前記レジスタ８７にセットされたフル噴射の開始時刻Ｔf」と一致すると、図５（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存されたフル噴射時間ＴＡＵf」を加えた時刻（フル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【００８８】
この結果、タイマー時刻が「前記レジスタ８７にセットされたフル噴射の終了時刻Ｔe」と一致すると（即ち、フル噴射時間ＴＡＵfが経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度がフル噴射クランク角度ＣＡfに一致すると推定される時刻Ｔfからフル噴射時間ＴＡＵfだけ前記噴射弁１７への通電が行われ、これにより、フル噴射が行われる。
【００８９】
２．パーシャル噴射をフル噴射と同様に実現した場合の課題
次に、前記マルチ噴射制御ＭＩの３回のパーシャル噴射を前記フル噴射と同様に実現した場合の課題について図６を参照して説明する。
【００９０】
この場合、ＣＰＵ８１は、前記フル噴射を行う場合と同様に、一定時間Ｔ１が経過する毎にタイマー割込み処理により「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」のサンプリングを予め定められた順序（ＡＤ変換スケジュール）で行うと共に、クランク角度０°を出発点としてクランク角度３０°が経過する毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「噴射用演算」を行う。
【００９１】
この場合において、噴射用演算とは、パーシャル噴射に必要な制御値（本例においては、第１〜第３パーシャル噴射クランク角度及び第１〜第３パーシャル噴射時間）を各種のパラメータ値（本例においては、機関回転速度ＮＥ、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ）に基づき計算することを言う。
【００９２】
更に、この場合においても、サンプリングされる機関回転速度ＮＥは、先に述べた機関回転速度ＮＥ３０である。
【００９３】
加えて、この場合においても、機関負荷ＫＬは、一定時間Ｔ１が経過する毎にエアフローメータ３４の出力電圧に基づいて吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「３０°クランク角度間隔毎にサンプリングされる機関回転速度ＮＥ３０のうち、その時点にて最新の機関回転速度ＮＥ３０」とに基づき演算される。
【００９４】
この場合の噴射用演算について具体的に述べると、ＣＰＵ８１は、３０°クランク角度間隔で実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度ＮＥ３０及び機関負荷ＫＬ」に基づいて、図８（Ｂ）のルックアップテーブルから「第１パーシャル噴射クランク角度（１回目のパーシャル噴射を開始するべきクランク角度）ＣＡp1」を決定（演算）すると共に、その時点にて得られている最新の「機関回転速度ＮＥ３０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」に基づいて「第１パーシャル噴射時間（１回目のパーシャル噴射を実現するための燃料噴射時間）ＴＡＵp1」を演算する。
【００９５】
更に、ＣＰＵ８１は、前記演算された第１パーシャル噴射クランク角度ＣＡp1に所定クランク角度ａ°を加えることにより「第２パーシャル噴射クランク角度（２回目のパーシャル噴射を開始するべきクランク角度）ＣＡp2」を演算すると共に、この第２パーシャル噴射クランク角度に前記所定クランク角度ａ°を加えることにより「第３パーシャル噴射クランク角度（３回目のパーシャル噴射を開始するべきクランク角度）ＣＡp3」を演算する。加えて、ＣＰＵ８１は、その時点にて得られている最新の「機関回転速度ＮＥ３０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」に基づいて「第２及び第３パーシャル噴射時間（２回目及び３回目のパーシャル噴射を実現するための燃料噴射時間）ＴＡＵp2及びＴＡＵp3」を演算する。
【００９６】
本例においても、各噴射用演算に用いられる最新の「機関回転速度ＮＥ３０」は、各噴射用演算が行われるクランク角度にてサンプリングされる「ＮＥ３０」であり、各噴射用演算に用いられる最新の「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」である。
【００９７】
尚、パーシャル噴射クランク角度は、パーシャル噴射を行う気筒における吸気上死点（クランク角度０°）からのクランク角度により表される。
【００９８】
次いで、ＣＰＵ８１は、現時点から次の噴射用演算（次のエッヂ割込み処理に基づく噴射用演算）が行われるクランク角度（つまり、３０°後のクランク角度）までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れも到来しない場合、ＣＰＵ８１は、噴射弁１７への通電を開始するための「追加の噴射用演算及び処理（噴射開始用処理）」を行わない。
【００９９】
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象パーシャル噴射クランク角度ＣＡp1〜ＣＡp3（次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度）に到達するまでに要する時間（パーシャル噴射開始までの所要時間）」を計算することを言う。
【０１００】
更に、噴射開始用処理とは、「クランク角度が対象パーシャル噴射クランク角度ＣＡp1〜ＣＡp3（次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度）に到達する時刻（パーシャル噴射の開始時刻）」をレジスタ８７にセットすると共に、「その時点にて得られている最新のパーシャル噴射時間ＴＡＵp1〜ＴＡＵp3（対象パーシャル噴射クランク角度において噴射を開始するべきパーシャル噴射を実現するための燃料噴射時間）」を取得することを言う。
【０１０１】
図６に示した例においては、３００°と３３０°との間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れも到来する。従って、ＣＰＵ８１は、クランク角度が３００°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度３３０°）までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れも到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
【０１０２】
追加の噴射用演算においては、ＣＰＵ８１は、各パーシャル噴射クランク角度ＣＡp1〜ＣＡp3（最新の制御値）とクランク角度３００°との差Δθp1〜Δθp3を、その時点にて得られている最新の機関回転速度ＮＥ３０に基づいて「現時点（クランク角度が３００°に到達した時点）からクランク角度が各パーシャル噴射クランク角度ＣＡp1〜ＣＡp3に到達するまでに要する時間（即ち、１回目〜３回目のパーシャル噴射開始までの所要時間）ΔＴp1〜ΔＴp3」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ３０」は、クランク角度３００°にてサンプリングされた「ＮＥ３０」である。
【０１０３】
続く噴射開始用処理においては、ＣＰＵ８１は、「タイマー８５が示す現在の時刻に前記所要時間ΔＴp1（最新の制御値）を加えた時刻（１回目のパーシャル噴射の開始時刻）Ｔp1を「１回目のパーシャル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットすると共に、「前記現在の時刻に前記所要時間ΔＴp2及びΔＴp3（最新の制御値）をそれぞれ加えた時刻（２回目及び３回目のパーシャル噴射の開始時刻）Ｔp2及びＴp3」をメモリに保存する。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「第１〜第３パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3（最新の制御値）」を取得し、メモリに保存する。
【０１０４】
本例において、前記取得される「第１〜第３パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3」は、クランク角度が３００°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵp1〜ＴＡＵp3」である。更に、前記取得される最新の第１〜第３パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3の演算に用いられた「機関回転速度ＮＥ３０」は、クランク角度３００°にてサンプリングされた「ＮＥ３０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度３００°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図６の時刻ｔ５にてサンプリングされた燃圧である。
【０１０５】
この結果、タイマー８５が示す時刻（タイマー時刻）が「前記レジスタ８７にセットされた１回目のパーシャル噴射の開始時刻Ｔp1」と一致すると、図６（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第１パーシャル噴射時間ＴＡＵp1」を加えた時刻（１回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１０６】
この結果、タイマー時刻が「前記レジスタ８７にセットされた１回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第１パーシャル噴射時間ＴＡＵp1が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第１パーシャル噴射クランク角度ＣＡp1に一致すると推定される時刻Ｔp1から第１パーシャル噴射時間ＴＡＵp1だけ前記噴射弁１７への通電が行われ、これにより、１回目のパーシャル噴射が行われる。
【０１０７】
更に、１回目のパーシャル噴射が終了すると（即ち、前記噴射弁１７への通電が停止されると）、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「前記メモリに保存された２回目のパーシャル噴射の開始時刻Ｔp2」を「前記噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、そのレジスタ８７の噴射開始フラグをセットする。
【０１０８】
この結果、タイマー時刻が「前記レジスタ８７にセットされた２回目のパーシャル噴射の開始時刻Ｔp2」と一致すると、図６（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第２パーシャル噴射時間ＴＡＵp2」を加えた時刻（２回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１０９】
この結果、タイマー時刻が「前記レジスタ８７にセットされた２回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第２パーシャル噴射時間ＴＡＵp2が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第２パーシャル噴射クランク角度ＣＡp2に一致すると推定される時刻Ｔp2から第２パーシャル噴射時間ＴＡＵp2だけ前記噴射弁１７への通電が行われ、これにより、２回目のパーシャル噴射が行われる。
【０１１０】
更に、２回目のパーシャル噴射が終了すると（即ち、前記噴射弁１７への通電が停止されると）、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「前記メモリに保存された３回目のパーシャル噴射の開始時刻Ｔp3」を「前記噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、そのレジスタ８７の噴射開始フラグをセットする。
【０１１１】
この結果、タイマー時刻が「前記レジスタ８７にセットされた３回目のパーシャル噴射の開始時刻Ｔp3」と一致すると、図６（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第３パーシャル噴射時間ＴＡＵp3」を加えた時刻（３回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１１２】
この結果、タイマー時刻が「前記レジスタ８７にセットされた３回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第３パーシャル噴射時間ＴＡＵp3が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第３パーシャル噴射クランク角度ＣＡp3に一致すると推定される時刻Ｔp3から第３パーシャル噴射時間ＴＡＵp3だけ前記噴射弁１７への通電が行われ、これにより、３回目のパーシャル噴射が行われる。
【０１１３】
ところが、図６（Ｂ）に示したように、マルチ噴射制御の実行中（即ち、１回目のパーシャル噴射の開始から３回目のパーシャル噴射の終了までの間）に「機関回転速度ＮＥ及び／又は燃圧Ｐｆ」が変化することがある。しかしながら、図６に示した例においては、この場合であっても、「第２及び第３パーシャル噴射時間ＴＡＵp2及びＴＡＵp3」並びに「２回目及び３回目のパーシャル噴射開始までの所要時間ΔＴp2及びΔＴp3」の演算には、変化前の「機関回転速度ＮＥ及び燃圧Ｐｆ」（即ち、クランク角度３００°における機関回転速度ＮＥ及び時刻ｔ５における燃圧Ｐｆ）が用いられている。このため、この演算に用いられた「機関回転速度ＮＥ及び燃圧Ｐｆ」は、それぞれ、「２回目及び３回目のパーシャル噴射の開始時刻Ｔp2及びＴp3」における「機関回転速度ＮＥ及び燃圧Ｐｆ」から大きく乖離している。
【０１１４】
勿論、マルチ噴射制御の実行中に「機関負荷ＫＬ及び／又は筒内圧Ｐｃ」が変化することもあり、この場合にも、「第２及び第３パーシャル噴射時間ＴＡＵp2及びＴＡＵp3」の演算に、変化前の「機関負荷ＫＬ及び筒内圧Ｐｃ」が用いられる。この場合、この演算に用いられた「機関負荷ＫＬ及び筒内圧Ｐｃ」も、それぞれ、「２回目及び３回目のパーシャル噴射の開始時刻Ｔp2及びＴp3」における「機関負荷ＫＬ及び筒内圧Ｐｃ」から大きく乖離している。
【０１１５】
こうしたことから、演算された「ＴＡＵp2及びＴＡＵp3」並びに「ΔＴp2及びΔＴp3」を用いて２回目及び３回目のパーシャル噴射が行われたとしても、各パーシャル噴射において、適切な燃料噴射が実現されない可能性ある。
【０１１６】
３．噴射用演算の実行間隔を短縮した場合のパーシャル噴射の実現
次に、噴射用演算の実行間隔を１０°クランク角度間隔に短縮してマルチ噴射制御のパーシャル噴射を実現した場合について図７を参照して説明する。この場合、ＣＰＵ８１は、一定時間Ｔ１が経過する毎にタイマー割込み処理により各種のパラメータ値（本例においても、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ）のサンプリングを予め定められた順序（ＡＤ変換スケジュール）で行うと共に、クランク角度１０°が経過する毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「噴射用演算」を行う。
【０１１７】
この場合においても、噴射用演算とは、パーシャル噴射に必要な制御値（本例においては、第１〜第３パーシャル噴射クランク角度及び第１〜第３パーシャル噴射時間）を各種のパラメータ値（本例においては、機関回転速度ＮＥ、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ）に基づき計算することを言う。
【０１１８】
更に、この場合において、サンプリングされる機関回転速度ＮＥは、先述したように、クランクシャフト２５が１０°回転するのに要した時間から求められる「機関回転速度ＮＥ１０」である。
【０１１９】
加えて、機関負荷ＫＬは、一定時間Ｔ１が経過する毎にエアフローメータ３４の出力電圧に基づいて吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「１０°クランク角度間隔毎にサンプリングされる機関回転速度ＮＥ１０のうち、その時点にて最新の機関回転速度ＮＥ１０」とに基づき演算される。
【０１２０】
この場合の噴射用演算について具体的に述べると、ＣＰＵ８１は、１０°クランク角度間隔で（即ち、クランク角度０°、１０°、２０°、３０°、・・・、６９０°、７００°、７１０°、７２０°（＝０°）において）実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度ＮＥ１０及び機関負荷ＫＬ」（即ち、最新のパラメータ値）に基づいて、図８（Ｂ）に示したルックアップテーブルから「第１パーシャル噴射クランク角度ＣＡp1」を決定（演算）すると共に、その時点にて得られている最新の「機関回転速度ＮＥ１０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」に基づいて「第１パーシャル噴射時間ＴＡＵp1」を演算する。
【０１２１】
更に、ＣＰＵ８１は、前記演算された第１パーシャル噴射クランク角度ＣＡp1に所定クランク角度ａ°を加えることにより「第２パーシャル噴射クランク角度ＣＡp2」を演算すると共に、この第２パーシャル噴射クランク角度に所定クランク角度ａ°を加えることにより「第３パーシャル噴射クランク角度ＣＡp3」を演算する。加えて、ＣＰＵ８１は、その時点にて得られている最新の「機関回転速度ＮＥ１０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」に基づいて「第２及び第３パーシャル噴射時間ＴＡＵp2及びＴＡＵp3」を演算する。
【０１２２】
本例においても、各噴射用演算に用いられる最新の「機関回転速度ＮＥ１０」は、各噴射用演算が行われるクランク角度にてサンプリングされる「ＮＥ１０」であり、各噴射用演に用いられる最新の「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」である。
【０１２３】
次いで、ＣＰＵ８１は、現時点から次の噴射用演算（次のエッヂ割込み処理に基づく噴射用演算）が行われるクランク角度（つまり、１０°後のクランク角度）までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れも到来しない場合、ＣＰＵ８１は、噴射弁１７への通電を開始するための「追加の噴射用演算及び処理（噴射開始用処理）」を行わない。
【０１２４】
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象パーシャル噴射クランク角度ＣＡp1〜ＣＡp3（次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度）に到達するまでに要する時間（パーシャル噴射開始までの所要時間）」を計算することを言う。
【０１２５】
更に、噴射開始用処理とは、「クランク角度が対象パーシャル噴射クランク角度（次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度）に到達する時刻（パーシャル噴射の開始時刻）」をレジスタ８７にセットすると共に、「その時点にて得られている最新のパーシャル噴射時間（対象パーシャル噴射クランク角度において開始するべきパーシャル噴射を実現するための燃料噴射時間）」を取得することを言う。
【０１２６】
図７に示した例においては、３００°と３１０°との間に「第１パーシャル噴射クランク角度ＣＡp1」が到来する。従って、ＣＰＵ８１は、クランク角度が３００°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度３１０°）までの間に「第１パーシャル噴射クランク角度ＣＡp1」が到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
【０１２７】
追加の噴射用演算においては、ＣＰＵ８１は、第１パーシャル噴射クランク角度ＣＡp1（最新の制御値）とクランク角度３００°との差Δθp1を、その時点にて得られている最新の機関回転速度ＮＥ１０に基づいて「現時点（クランク角度が３００°に到達した時点）からクランク角度が第１パーシャル噴射クランク角度ＣＡp1に到達するまでに要する時間（１回目のパーシャル噴射開始までの所要時間）ΔＴp1）」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ１０」は、クランク角度３００°にてサンプリングされた「ＮＥ１０」である。
【０１２８】
続く噴射開始用処理においては、ＣＰＵ８１は、「タイマー８５が示す現在の時刻に前記所要時間ΔＴp1（最新の制御値）を加えた時刻（１回目のパーシャル噴射の開始時刻）Ｔp1」を「１回目のパーシャル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「第１パーシャル噴射時間ＴＡＵp1（最新の制御値）」を取得し、メモリに保存する。
【０１２９】
本例において、前記取得される最新の「第１パーシャル噴射時間ＴＡＵp1」は、クランク角度が３００°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵp1」である。更に、前記取得される最新の第１パーシャル噴射時間ＴＡＵp1の演算に用いられた「機関回転速度ＮＥ１０」は、クランク角度３００°にてサンプリングされた「ＮＥ１０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度３００°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図７の時刻ｔ５にてサンプリングされた燃圧である。
【０１３０】
この結果、タイマー８５が示す時刻（タイマー時刻）が「前記レジスタ８７にセットされた１回目のパーシャル噴射の開始時刻Ｔp1」と一致すると、図７（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第１パーシャル噴射時間ＴＡＵp1」を加えた時刻（１回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１３１】
この結果、タイマー時刻が「前記レジスタ８７にセットされた１回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第１パーシャル噴射時間ＴＡＵp1が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第１パーシャル噴射クランク角度ＣＡp1に一致すると推定される時刻Ｔp1から第１パーシャル噴射時間ＴＡＵp1だけ前記噴射弁１７への通電が行われ、これにより、１回目のパーシャル噴射が行われる。
【０１３２】
更に、図７に示した例においては、３１０°と３２０°との間に「第２パーシャル噴射クランク角度ＣＡp2」が到来する。従って、ＣＰＵ８１は、クランク角度が３１０°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度３２０°）までの間に「第２パーシャル噴射クランク角度ＣＡp2」が到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
【０１３３】
追加の噴射用演算においては、ＣＰＵ８１は、第２パーシャル噴射クランク角度ＣＡp2（最新の制御値）とクランク角度３１０°との差Δθp2を、その時点にて得られている最新の機関回転速度ＮＥ１０に基づいて「現時点（クランク角度が３１０°に到達した時点）からクランク角度が第２パーシャル噴射クランク角度ＣＡp2に到達するまでに要する時間（２回目のパーシャル噴射開始までの所要時間）ΔＴp2」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ１０」は、クランク角度３１０°にてサンプリングされた「ＮＥ１０」である。
【０１３４】
続く噴射開始用処理においては、ＣＰＵ８１は、「現在のタイマー時刻に前記所要時間ΔＴp2（最新の制御値）を加えた時刻（２回目のパーシャル噴射の開始時刻）Ｔp2」を「２回目のパーシャル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「第２パーシャル噴射時間ＴＡＵp2（最新の制御値）」を取得し、メモリに保存する。
【０１３５】
本例において、前記取得される最新の「第２パーシャル噴射時間ＴＡＵp2」は、クランク角度が３１０°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵp2」である。更に、前記取得される最新の第２パーシャル噴射時間ＴＡＵp2の演算に用いられた「機関回転速度ＮＥ１０」は、クランク角度３１０°にてサンプリングされた「ＮＥ１０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度３１０°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図７の時刻ｔ５にてサンプリングされた燃圧である。
【０１３６】
この結果、タイマー時刻が「前記レジスタ８７にセットされた２回目のパーシャル噴射の開始時刻Ｔp2」と一致すると、図７（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第２パーシャル噴射時間ＴＡＵp2」を加えた時刻（２回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１３７】
この結果、タイマー時刻がレジスタ８７にセットされた「２回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第２パーシャル噴射時間ＴＡＵp2が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第２パーシャル噴射クランク角度ＣＡp2に一致すると推定される時刻Ｔp2から第２パーシャル噴射時間ＴＡＵp2だけ前記噴射弁１７への通電が行われ、これにより、２回目のパーシャル噴射が行われる。
【０１３８】
更に、図７に示した例においては、３２０°と３３０°との間に「第３パーシャル噴射クランク角度ＣＡp3」が到来する。従って、ＣＰＵ８１は、クランク角度が３２０°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度３３０°）までの間に「第３パーシャル噴射クランク角度ＣＡp3」が到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
【０１３９】
追加の噴射用演算においては、ＣＰＵ８１は、第３パーシャル噴射クランク角度ＣＡp3（最新の制御値）とクランク角度３２０°との差Δθp3を、その時点にて得られている最新の機関回転速度ＮＥ１０に基づいて「現時点（クランク角度が３２０°に到達した時点）からクランク角度が第３パーシャル噴射クランク角度ＣＡp3に到達するまでに要する時間（３回目のパーシャル噴射開始までの所要時間）ΔＴp3」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ１０」は、クランク角度３２０°にてサンプリングされた「ＮＥ１０」である。
【０１４０】
続く噴射開始用処理においては、ＣＰＵ８１は、「現在のタイマー時刻に前記所要時間ΔＴp3（最新の制御値）を加えた時刻（３回目のパーシャル噴射の開始時刻）Ｔp3」を「３回目のパーシャル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「第３パーシャル噴射時間ＴＡＵp3（最新の制御値）」を取得し、メモリに保存する。
【０１４１】
本例において、前記取得される最新の「第３パーシャル噴射時間ＴＡＵp3」は、クランク角度が３２０°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵp3」である。更に、前記取得される最新の第３パーシャル噴射時間ＴＡＵp3の演算に用いられた「機関回転速度ＮＥ１０」は、クランク角度３２０°にてサンプリングされた「ＮＥ１０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度３２０°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図７の時刻ｔ８にてサンプリングされた燃圧である。
【０１４２】
この結果、タイマー時刻が「前記レジスタ８７にセットされた３回目のパーシャル噴射の開始時刻Ｔp3」と一致すると、図７（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第３パーシャル噴射時間ＴＡＵp3」を加えた時刻（３回目のパーシャル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０１４３】
この結果、タイマー時刻が「前記レジスタ８７にセットされた３回目のパーシャル噴射の終了時刻Ｔe」と一致すると（即ち、第３パーシャル噴射時間ＴＡＵp3が経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度が第３パーシャル噴射クランク角度ＣＡp3に一致すると推定される時刻Ｔp3から第３パーシャル噴射時間ＴＡＵp3だけ前記噴射弁１７への通電が行われ、これにより、３回目のパーシャル噴射が行われる。
【０１４４】
このように噴射用演算の実行間隔が１０°クランク角度間隔に短縮された場合、「第２及び第３パーシャル噴射時間ＴＡＵp2及びＴＡＵp3」並びに「２回目及び３回目のパーシャル噴射開始までの所要時間ΔＴp2及びΔＴp3」の演算には、各パーシャル噴射の開始時刻に、より近い時点でサンプリングされたパラメータ値（ＮＥ、ＫＬ、Ｐｆ及びＰｃ）が用いられる。従って、この演算に用いられたパラメータ値と、各パーシャル噴射の開始時点におけるパラメータ値との乖離は小さい。このため、これら「ＴＡＵp2及びＴＡＵp3」並びに「ΔＴp2及びΔＴp3」を用いて各パーシャル噴射が制御されれば、より適切な燃料噴射が実現される。
【０１４５】
＜第１実施形態に係る燃料噴射＞
以上を踏まえ、本実施形態に係る燃料噴射を実現するためのＥＣＵ８０の作動について具体的に説明する。
【０１４６】
１．シングル噴射制御
本実施形態において、シングル噴射制御のフル噴射を実現するためのＥＣＵ８０の作動は、図５を参照して先に説明したＥＣＵ８０の作動と同じである。従って、以下、当該作動については簡単に説明する。
【０１４７】
本実施形態において、ＣＰＵ８１は、シングル噴射制御を行う場合、以下のように各間隔を設定する。
・特定種類の（或る１つの）パラメータ値（本例において、「機関負荷（吸気量）、燃圧及び筒内圧」のうちの任意の１つ）をサンプリングする所定時間間隔：通常時間間隔（＝通常サンプリング間隔）
・機関回転速度をサンプリングする所定クランク角度間隔：通常クランク角度間隔（＝通常サンプリング間隔）
・「フル噴射クランク角度及びフル噴射時間」を演算する所定クランク角度間隔：通常クランク角度間隔（＝通常演算間隔）
・「フル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔：通常クランク角度間隔（＝通常演算間隔）
・「フル噴射の開始時刻のセット及びフル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔：通常クランク角度間隔
【０１４８】
本例において、通常時間間隔は「一定時間間隔Ｔ１」であり、通常クランク角度間隔は「３０°クランク角度間隔」である。
【０１４９】
従って、ＣＰＵ８１は、シングル噴射制御を実行する場合、図５に示した例と同様に、一定時間間隔Ｔ１毎にタイマー割込み処理により「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」のサンプリングを行う。本例において、ＣＰＵ８１は、一定のＡＤ変換周期（本例においては、０．４ｍｓ）にて「エアフローメータ３４、燃圧センサ２０及び筒内圧センサ２１」の出力電圧を順番にＡＤ変換し、これにより得られるデジタルデータを「吸気量、燃圧及び筒内圧」に関するデータとしてメモリに保存する。更に、ＣＰＵ８１は、吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「その時点にて得られている最新の機関回転速度ＮＥ３０」とに基づいて機関負荷ＫＬを取得（サンプリング）する。
【０１５０】
従って、「吸気量、燃圧及び筒内圧」以外にサンプリングするべきパラメータ値が存在しない場合には、「吸気量、燃圧及び筒内圧」は、それぞれ、１．２ｍｓ（＝０．４ｍｓ＊３）毎にサンプリングされる。この１．２ｍｓが上述の通常時間間隔Ｔ１である。尚、この「１．２ｍｓ」は、機関回転速度ＮＥが４０００ｒｐｍであるときに３０°クランク角度が経過するのに要する時間よりも短い時間である。
【０１５１】
更に、ＣＰＵ８１は、図５に示した例と同様に、クランク角度０°を出発点として３０°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「噴射用演算（フル噴射クランク角度及びフル噴射時間の演算）」を行う。
【０１５２】
加えて、ＣＰＵ８１は、現時点から次のエッヂ割込み処理に基づく噴射用演算を行うクランク角度（３０°後のクランク角度）までの間に「フル噴射クランク角度ＣＡf」が到来すると判定した場合、図５に示した例と同様に、「フル噴射開始までの所要時間の演算（追加の噴射用演算）」並びに「フル噴射の開始時刻のセット及びフル噴射時間の取得（噴射開始用処理）」を行う。
【０１５３】
以降、図５に示した例と同様に、フル噴射が実現される。
【０１５４】
これにより、本実施形態によれば、シングル噴射制御が実行される場合、各種のパラメータ値のサンプリングが「通常サンプリングモード（第１サンプリングモード）」にて行われ、噴射用演算が「通常演算モード（第１演算モード）」にて行われ、噴射開始用処理が「通常処理モード（第１処理モード）」にて行われる。
【０１５５】
２．マルチ噴射制御
本実施形態において、ＣＰＵ８１は、マルチ噴射制御を行う場合、以下のように各間隔を設定する。
・特定種類の（或る１つの）パラメータ値（本例において、「機関負荷（吸気量）、燃圧及び筒内圧」のうちの任意の１つ）をサンプリングする所定時間間隔：短縮時間間隔（＝短縮サンプリング間隔）
・機関回転速度をサンプリングする所定クランク角度間隔：短縮クランク角度間隔（＝短縮サンプリング間隔）
・「パーシャル噴射クランク角度及びパーシャル噴射時間」を演算する所定クランク角度間隔：短縮クランク角度間隔（＝短縮演算間隔）
・「パーシャル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔：短縮クランク角度間隔（＝短縮演算間隔）
・「パーシャル噴射の開始時刻のセット及びパーシャル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔：短縮クランク角度間隔
【０１５６】
本例において、短縮時間間隔は前記一定時間間隔Ｔ１よりも短い「一定時間間隔Ｔ２」であり、短縮クランク角度間隔は「１０°クランク角度間隔」である。
【０１５７】
従って、ＣＰＵ８１は、マルチ噴射制御を実行する場合、図７に示した例とは異なり、一定時間間隔Ｔ２毎にタイマー割込み処理により「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」のサンプリングを行う。本例においては、ＣＰＵ８１は、シングル噴射制御を実行する場合の前記ＡＤ変換周期よりも短い一定のＡＤ変換周期（本例においては、０．１３ｍｓ）にて「エアフローメータ３４、燃圧センサ２０及び筒内圧センサ２１」の出力電圧を順番にＡＤ変換し、これにより得られるデジタルデータを「吸気量、燃圧及び筒内圧」に関するデータとしてメモリに保存する。更に、ＣＰＵ８１は、吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「その時点にて得られている最新の機関回転速度ＮＥ」とに基づいて機関負荷ＫＬを取得（サンプリング）する。
【０１５８】
従って、「吸気量、燃圧及び筒内圧」以外にサンプリングするべきパラメータ値が存在しない場合には、「吸気量、燃圧及び筒内圧」は、それぞれ、０．３９ｍｓ（＝０．１３ｍｓ＊３）毎にサンプリングされる。この０．３９ｍｓが上述の短縮時間間隔Ｔ２である。尚、この「０．３９ｍｓ」は、機関回転速度ＮＥが４０００ｒｐｍであるときに１０°クランク角度が経過するのに要する時間よりも短い時間である。
【０１５９】
更に、ＣＰＵ８１は、図７に示した例と同様に、クランク角度０°を出発点として１０°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「パーシャル噴射クランク角度及びパーシャル噴射時間の演算（噴射用演算）」を行う。但し、本例において、「パーシャル噴射クランク角度及びパーシャル噴射時間」の演算に用いられる「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、一定時間間隔Ｔ２毎にサンプリングされる「ＫＬ、Ｐｆ及びＰｃ」のうち、各噴射用演算の実行時点において最新の「ＫＬ、Ｐｆ及びＰｃ」である。
【０１６０】
更に、ＣＰＵ８１は、現時点から次の噴射用演算（次のエッヂ割込み処理に基づく噴射用演算）を行うクランク角度（つまり、１０°後のクランク角度）までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れかが到来すると判定した場合、図７に示した例と同様に、追加の噴射用演算として、パーシャル噴射（次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射クランク角度において開始するべきパーシャル噴射）に関し、「パーシャル噴射開始までの所要時間（現時点からパーシャル噴射の開始までに要する所要時間）」の演算を行う。
【０１６１】
更に、ＣＰＵ８１は、図７に示した例と同様に、噴射開始用演算として、パーシャル噴射の開始時刻（パーシャル噴射を開始するべき時刻）のセット及びパーシャル噴射時間（パーシャル噴射の燃料噴射時間）の取得を行う。但し、前記取得されるパーシャル噴射時間の演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、一定時間間隔Ｔ２毎にサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」のうち、パーシャル噴射時間の演算時点において最新の「ＫＬ、Ｐｆ及びＰｃ」である。燃圧Ｐｆに関し、図９に示した例においては、前記取得されるパーシャル噴射時間の演算に用いられた燃圧Ｐｆは、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「１回目のパーシャル噴射」である場合、時刻ｔ６にてサンプリングされた燃圧であり、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「２回目のパーシャル噴射」である場合、時刻ｔ７にてサンプリングされた燃圧であり、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「３回目のパーシャル噴射」である場合、時刻Ｔ８にてサンプリングされた燃圧である。
【０１６２】
以降、図７に示した例と同様に、パーシャル噴射が実現される。
【０１６３】
これにより、本実施形態によれば、マルチ噴射制御が実行される場合、各種のパラメータ値のサンプリングが「短縮サンプリングモード」にて行われ、噴射用演算が「短縮演算モード」にて行われ、噴射開始用処理が「短縮処理モード」にて行われる。
【０１６４】
このように、本実施形態においては、マルチ噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔が比較的短い間隔に設定されるので、パーシャル噴射に用いられる制御値（「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」、「パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3」及び「パーシャル噴射開始までの所要時間ΔＴp1〜ΔＴp3」）は、各パーシャル噴射の開始時刻に、より近い時点のパラメータ値（ＮＥ、ＫＬ、Ｐｆ及びＰｃ）を用いて演算された制御値である。このため、マルチ噴射制御の実行中にパラメータ値が変動したとしても、その変動がパーシャル噴射に用いられる制御値の演算に反映される可能性が高くなる。従って、本実施形態によれば、各パーシャル噴射において、より適切な燃料噴射が実現される。
【０１６５】
更に、所定クランク角度間隔及び所定時間間隔が常に短い間隔に設定されていると、その分、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理負荷が増大する。加えて、一般に、内燃機関のＣＰＵ等の演算装置は、これら「噴射用演算に用いられるパラメータ値のサンプリング、噴射用演算及び噴射開始用処理」のみならず、「燃料噴射以外の機関制御に必要な制御値の演算及び同演算に用いられるパラメータ値のサンプリング」も行う。このため、「噴射用演算に用いられるパラメータ値のサンプリングを行う所定クランク角度間隔及び所定時間間隔」、「噴射用演算を行う所定クランク角度間隔」及び「噴射開始用処理を行うクランク角度を規定する所定クランク角度間隔」が常に短い間隔に設定されていると、燃料噴射以外の機関制御の精度が不必要に低下する恐れがある。勿論、高性能の演算装置を用いることにより、こうした機関制御の精度低下は回避可能であるが、これによると、ＥＣＵのコストが上昇してしまう。
【０１６６】
一方、上述したように、シングル噴射制御が実行される場合、シングル噴射制御の燃料噴射の影響等によりパラメータ値が変動したとしても、その変動を直ちに反映させるべき燃料噴射はない。更に、パーシャル噴射により噴射される燃料の量は非常に少ないので、この燃料の量はパラメータ値の変動の影響を大きく受ける。しかしながら、フル噴射により噴射される燃料の量はパーシャル噴射により噴射される燃料の量に比べて比較的多いので、フル噴射により噴射される燃料の量はパラメータ値の変動の影響を大きくは受けない。従って、シングル噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔は比較的長い間隔であっても、適切な燃料噴射が十分に実現される。
【０１６７】
以上の点から、本実施形態においては、シングル噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔が比較的長い通常の間隔に設定される。このため、シングル噴射制御において、適切な燃料噴射が実現されると共に、燃料噴射以外の機関制御の精度低下が回避される。
【０１６８】
３．実際の作動
次に、本実施形態に係る噴射制御モードの設定について図１０のフローを用いて、より具体的に説明する。図１０のフローは、所定時間間隔の割込み処理により開始される。このフローが開始されると、初めに、ステップＳ１０において、冷間始動条件が成立しているか否かが判定される。冷間始動条件が成立している場合、フローはステップＳ１１に進む。一方、冷間始動条件が成立していない場合、フローはステップＳ１２に進む。
【０１６９】
ステップＳ１２においては、触媒急速暖機条件が成立しているか否かが判定される。触媒急速暖機条件が成立している場合、フローはステップＳ１１に進む。一方、触媒急速暖機条件が成立していない場合、フローはステップＳ１３に進む。
【０１７０】
ステップＳ１１においては、噴射制御モードとして、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御を実行するモードが設定され、フローが終了する。この場合、図３に示したように、１機関サイクルにおいて、吸気行程においてシングル噴射制御が実行されると共に、圧縮行程においてマルチ噴射制御が実行される。
【０１７１】
ステップＳ１３においては、噴射制御モードとして、１機関サイクルにおいてシングル噴射制御のみを実行するモードが設定され、フローが終了する。この場合、図４に示したように、１機関サイクルにおいて、吸気行程においてシングル噴射制御が実行される。
【０１７２】
次に、本実施形態に係る「サンプリングモード、演算モード及び処理モードの設定」並びに「噴射用演算及び噴射開始用処理」について図１１及び図１２のフローを用いて、より具体的に説明する。図１１のフローは、所定クランク角度間隔（本例においては、１０°クランク角度間隔）の割込み処理により開始される。図１２のフローは、各燃料噴射が開始されたときにコンペアレジスタ割込み処理により開始される。
【０１７３】
図１１のフローが開始されると、初めに、ステップＳ２０において、演算間隔フラグＸＮが「１」にセットされている（ＸＮ＝１）か否かが判定される。このフラグＸＮは、全気筒において次の燃料噴射がフル噴射であり、従って、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔及び通常時間間隔に設定されたときにセットされ、次の燃料噴射がパーシャル噴射であり、従って、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔及び短縮時間間隔に設定されたときにリセットされるフラグである。ステップＳ２０において、ＸＮ＝１である場合、フローはステップＳ２１に進む。一方、ＸＮ＝１ではない場合、フローはステップＳ３３に進む。
【０１７４】
ステップＳ２１においては、現在のクランク角度ＣＡがクランク角度０°を出発点として３０°クランク角度間隔（通常クランク角度間隔）のクランク角度３０＊ｎ（ｎは１〜２４の整数）である（ＣＡ＝３０＊ｎ）か否かが判定される。ＣＡ＝３０＊ｎである場合、フローはステップＳ２２に進む。一方、ＣＡ＝３０＊ｎではない場合、フローは終了する。つまり、ステップＳ２２以降のステップは、３０°クランク角度間隔で行われる。
【０１７５】
ステップＳ２２においては、機関回転速度ＮＥ３０がサンプリングされる。次いで、ステップＳ２３において、最新の機関回転速度（ステップＳ２２にてサンプリングされた機関回転速度）ＮＥ３０及び最新の機関負荷ＫＬに基づいて、各気筒におけるフル噴射クランク角度ＣＡf（♯Ｎ）及び各第１〜第３パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）が演算されると共に、最新の機関回転速度（ステップＳ２２にてサンプリングされた機関回転速度）ＮＥ３０、最新の機関負荷ＫＬ、最新の燃圧Ｐｆ及び最新の筒内圧Ｐｃに基づいて、各気筒におけるフル噴射時間ＴＡＵf（♯Ｎ）及び第１〜第３パーシャル噴射時間ＴＡＵpＮ（♯Ｎ）が演算される。
【０１７６】
但し、図１０のステップＳ１３において、シングル噴射制御モードが設定され、シングル噴射制御のみが実行される場合、図１１のステップＳ２３においては、各気筒におけるフル噴射時間ＴＡＵf（♯Ｎ）のみが演算される。
【０１７７】
尚、「♯Ｎ」は「第１気筒〜第４気筒」を表し、「ＣＡf（♯Ｎ）」は「第１気筒〜第４気筒におけるフル噴射クランク角度」を表し、「ＣＡpＮ（♯Ｎ）」は「第１気筒〜第４気筒における第１〜第３パーシャル噴射クランク角度」を表し、「ＴＡＵf（♯Ｎ）」は「第１気筒〜第４気筒におけるフル噴射時間」を表し、「ＴＡＵpＮ（♯Ｎ）」は「第１気筒〜第４気筒における第１〜第３パーシャル噴射時間」を表している。
【０１７８】
次いで、ステップＳ２４において、全気筒において次の燃料噴射がフル噴射であるか否かが判定される。次の燃料噴射がフル噴射である場合、フローはステップＳ２５に進む。一方、次の燃料噴射がフル噴射ではない場合、つまり、次の燃料噴射がパーシャル噴射である場合、フローはステップＳ３６に進む。
【０１７９】
ステップＳ２５においては、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔（３０°クランク角度間隔）及び通常時間間隔（Ｔ１）に設定される。次いで、ステップＳ２６において、演算間隔フラグＸＮがセットされる（ＸＮ←１）。
【０１８０】
次いで、ステップＳ２７において、前記演算されたフル噴射クランク角度ＣＡf（♯Ｎ）の何れかが現在のクランク角度から３０°後のクランク角度ＣＡ３０以前のクランク角度である（ＣＡf（♯Ｎ）≦ＣＡ３０）か否かが判定される。何れの角度ＣＡf（♯Ｎ）も角度ＣＡ３０以前のクランク角度ではない場合、フローは終了する。一方、角度ＣＡf（♯Ｎ）の何れかが角度ＣＡ３０以前のクランク角度である場合、フローはステップＳ２８に進む。以下「角度ＣＡ３０以前のクランク角度であると判定されたフル噴射クランク角度」を「対象フル噴射クランク角度」と称呼し、「対象フル噴射クランク角度において開始するべきフル噴射」を「対象フル噴射」と称呼し、「対象フル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
【０１８１】
ステップＳ２８においては、最新の機関回転速度ＮＥに基づいて、現時刻Ｔnowからクランク角度が対象フル噴射クランク角度ＣＡf（♯Ｎ）に到達するまでに要する時間（対象フル噴射の開始までの所要時間）ΔＴf（♯Ｎ）が演算される。
【０１８２】
次いで、ステップＳ２９において、現時刻Ｔnowに前記所要時間ΔＴf（♯Ｎ）を加えた時刻（対象フル噴射の開始時刻）Ｔf（♯Ｎ）が演算され（Ｔf（♯Ｎ）＝Ｔnow＋ΔＴf（♯Ｎ））、この時刻Ｔf（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射開始フラグがセットされ、加えて、対象フル噴射に対応する最新のフル噴射時間（即ち、ステップＳ２３にて演算されたフル噴射時間）ＴＡＵf（♯Ｎ）が取得され、この「ＴＡＵf（♯Ｎ）」がメモリに保存され、フローが終了する。これにより、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象フル噴射の開始時刻Ｔf（♯Ｎ）」と一致したときに、そのレジスタ８７により対象気筒の噴射弁１７への通電が行われ、対象気筒においてフル噴射が開始される。
【０１８３】
そして、フル噴射が開始されたとき、コンペアレジスタ割込み処理により図１２のフローが開始され、ステップＳ４５において、前記対象フル噴射の開始時刻Ｔf（♯Ｎ）に「図１１のステップＳ２９にてメモリに保存されたフル噴射時間ＴＡＵf（♯Ｎ）」を加えた時刻（対象フル噴射の終了時刻）Ｔe（♯Ｎ）が演算され（Ｔe（♯Ｎ）＝Ｔf（♯Ｎ）＋ＴＡＵf（♯Ｎ））、この時刻Ｔe（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射終了フラグがセットされ、フローが終了する。その後、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象フル噴射の終了時刻Ｔe（♯Ｎ）」と一致したときに、そのレジスタ８７により噴射弁１７への通電が停止される。これにより、対象気筒におけるフル噴射が終了する。
【０１８４】
ステップＳ３３においては、機関回転速度ＮＥ１０がサンプリングされる。次いで、ステップＳ３４において、最新の機関回転速度（ステップＳ３３にてサンプリングされた機関回転速度）ＮＥ１０及び最新の機関負荷ＫＬに基づいて、各気筒における「フル噴射クランク角度ＣＡf（♯Ｎ）及び第１〜第３パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）」が演算されると共に、最新の機関回転速度（ステップＳ３３にてサンプリングされた機関回転速度）ＮＥ１０、最新の機関負荷ＫＬ、最新の燃圧Ｐｆ及び最新の筒内圧Ｐｃに基づいて、各気筒における「フル噴射時間ＴＡＵf（♯Ｎ）及び第１〜第３パーシャル噴射時間ＴＡＵpＮ（♯Ｎ）」が演算される。
【０１８５】
但し、図１０のステップＳ１３において、シングル噴射制御モードが設定され、シングル噴射制御のみが実行される場合、図１１のステップＳ３４においては、各気筒におけるフル噴射時間ＴＡＵf（♯Ｎ）のみが演算される。
【０１８６】
次いで、ステップＳ３５において、全気筒において次の燃料噴射がフル噴射であるか否かが判定される。次の燃料噴射がフル噴射である場合、フローはステップＳ３０に進む。一方、次の燃料噴射がフル噴射ではない場合、つまり、次の燃料噴射がパーシャル噴射である場合、フローはステップＳ３６に進む。
【０１８７】
ステップＳ３６においては、サンプリングモード、演算モード及び処理モードがそれぞれ短縮サンプリングモード、短縮演算モード及び短縮処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔（１０°クランク角度間隔）及び短縮時間間隔（Ｔ２）に設定される。次いで、ステップＳ３７において、演算間隔フラグＸＮがリセットされる（ＸＮ←０）。
【０１８８】
次いで、ステップＳ３８において、前記演算された第１〜第３パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）の何れかが現在のクランク角度から１０°後のクランク角度ＣＡ１０以前のクランク角度である（ＣＡpＮ（♯Ｎ）≦ＣＡ１０）か否かが判定される。何れの角度ＣＡpＮ（♯Ｎ）も角度ＣＡ１０以前のクランク角度ではない場合、フローは終了する。一方、角度ＣＡpＮ（♯Ｎ）の何れかが角度ＣＡ１０以前のクランク角度である場合、フローはステップＳ３９に進む。以下、「角度ＣＡ１０以前のクランク角度であると判定されたパーシャル噴射クランク角度」を「対象パーシャル噴射クランク角度」と称呼し、「対象パーシャル噴射クランク角度において開始するべきパーシャル噴射」を「対象パーシャル噴射」と称呼し、「対象パーシャル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
【０１８９】
ステップＳ３９においては、最新の機関回転速度ＮＥに基づいて、現時刻Ｔnowからクランク角度が対象パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）に到達するまでに要する時間（対象パーシャル噴射の開始までの所要時間）ΔＴpＮ（♯Ｎ）が演算される。
【０１９０】
次いで、ステップＳ４０において、現時刻Ｔnowに前記所要時間ΔＴpＮ（♯Ｎ）を加えた時刻（対象パーシャル噴射の開始時刻）ＴpＮ（♯Ｎ）が演算され（ＴpＮ（♯Ｎ）＝Ｔnow＋ΔＴpＮ（♯Ｎ））、この時刻ＴpＮ（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射開始フラグがセットされ、加えて、対象パーシャル噴射に対応する最新のパーシャル噴射時間（即ち、ステップＳ３４にて演算されたパーシャル噴射時間）ＴＡＵpＮ（♯Ｎ）が取得され、この「ＴＡＵpＮ（♯Ｎ）」がメモリに保存され、フローが終了する。これにより、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象パーシャル噴射の開始時刻ＴpＮ（♯Ｎ）」と一致したときに、そのレジスタ８７により対象気筒の噴射弁１７への通電が行われ、対象気筒においてパーシャル噴射が開始される。
【０１９１】
そして、パーシャル噴射が開始されたとき、コンペアレジスタ割込み処理により図１２のフローが開始され、ステップＳ４５において、前記対象パーシャル噴射の開始時刻ＴpＮ（♯Ｎ）に「図１１のステップＳ４０にてメモリに保存されたパーシャル噴射時間ＴＡＵpＮ（♯Ｎ）」を加えた時刻（パーシャル噴射の終了時刻）Ｔe（♯Ｎ）が演算され（Ｔe（♯Ｎ）＝ＴpＮ（♯Ｎ）＋ＴＡＵpＮ（♯Ｎ））、この時刻Ｔe（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射終了フラグがセットされ、フローが終了する。その後、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象パーシャル噴射の終了時刻Ｔe（♯Ｎ）」と一致したときに、そのレジスタ８７により噴射弁１７への通電が停止される。これにより、対象気筒におけるパーシャル噴射が終了する。
【０１９２】
ステップＳ３０においては、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔（３０°クランク角度間隔）及び通常時間間隔（Ｔ１）に設定される。次いで、ステップＳ３１において、演算間隔フラグＸＮがセットされる（ＸＮ←１）。次いで、ステップＳ３２において、現在のクランク角度ＣＡがクランク角度０°を出発点として３０°クランク角度間隔（通常クランク角度間隔）のクランク角度３０＊ｎ（ｎは１〜２４の整数）である（ＣＡ＝３０＊ｎ）か否かが判定される。ＣＡ＝３０＊ｎである場合、ステップＳ２７に進む。一方、ＣＡ＝３０＊ｎではない場合、フローは終了する。
【０１９３】
＜第２実施形態＞
ところで、図３に示したように各気筒の１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、第１気筒♯１の吸気行程におけるシングル噴射制御の実行直後に、第２気筒♯２の圧縮行程におけるマルチ噴射制御が実行され、更にその直後に、第４気筒♯４の吸気行程におけるシングル噴射制御が実行され、更にその直後に、第１気筒♯１の圧縮行程におけるマルチ噴射制御が実行される。つまり、非常に短い時間間隔でシングル噴射制御とマルチ噴射制御とが交互に実行される。
【０１９４】
この場合、第１実施形態によると、ＣＰＵ８１は、「通常クランク角度間隔及び通常時間間隔」と「短縮クランク角度間隔及び短縮時間間隔」との間で所定クランク角度間隔及び所定時間間隔を頻繁に切り替えつつ、「種々のパラメータ値のサンプリング、種々の制御値の演算（噴射用演算）及び噴射開始用処理」を行わなければならない。しかしながら、これによると、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理負荷が過剰に増大したり、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理プログラムが複雑化してしまう。そこで、第２実施形態においては、ＣＰＵ８１は、以下のように各間隔を設定する。
【０１９５】
１．シングル噴射制御
即ち、ＣＰＵ８１は、１機関サイクルにおいてシングル噴射制御のみを行う場合、以下のように各間隔を設定する。
・特定種類の（或る１つの）パラメータ値（本例において、「機関負荷（吸気量）、燃圧及び筒内圧」のうちの任意の１つ）をサンプリングする所定時間間隔：通常時間間隔（＝通常サンプリング間隔）
・機関回転速度をサンプリングする所定クランク角度間隔：通常クランク角度間隔（＝通常サンプリング間隔）
・「フル噴射クランク角度及びフル噴射時間」を演算する所定クランク角度間隔：通常クランク角度間隔（＝通常演算間隔）
・フル噴射開始までの所要時間を演算するクランク角度を規定する所定クランク角度間隔：通常クランク角度間隔（＝通常演算間隔）
・「フル噴射の開始時刻のセット及びフル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔：通常クランク角度間隔
【０１９６】
この場合、第１実施形態と同様に、通常時間間隔は「一定時間間隔Ｔ１」であり、通常クランク角度間隔は「３０°クランク角度間隔」である。
【０１９７】
つまり、ＥＣＵ８０は、第１実施形態においてシングル噴射制御のフル噴射を実現する場合と同様に、シングル噴射制御のフル噴射を実現する。
【０１９８】
２．マルチ噴射制御
更に、ＣＰＵ８１は、１機関サイクルにおいてマルチ噴射制御のみを実行する場合、以下のように各間隔を設定する。
・特定種類の（或る１つの）パラメータ値（本例において、「機関負荷（吸気量）、燃圧及び筒内圧」のうちの任意の１つ）をサンプリングする所定時間間隔：短縮時間間隔（＝短縮サンプリング間隔）
・機関回転速度をサンプリングする所定クランク角度間隔：短縮クランク角度間隔（＝短縮サンプリング間隔）
・「パーシャル噴射クランク角度及びパーシャル噴射時間」を演算する所定クランク角度間隔：短縮クランク角度間隔（＝短縮演算間隔）
・「パーシャル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔：短縮クランク角度間隔（＝短縮演算間隔）
・「パーシャル噴射の開始時刻のセット及びパーシャル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔：短縮クランク角度間隔
【０１９９】
この場合、第１実施形態と同様に、短縮時間間隔は前記一定時間間隔Ｔ１よりも短い「一定時間間隔Ｔ２」であり、短縮クランク角度間隔は「１０°クランク角度間隔」である。
【０２００】
つまり、ＥＣＵ８０は、第１実施形態においてマルチ噴射制御の各パーシャル噴射を実現する場合と同様に、マルチ噴射制御の各パーシャル噴射を実現する。
【０２０１】
３．シングル噴射制御及びマルチ噴射制御
加えて、ＣＰＵ８１は、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行する場合、上記２．の「１機関サイクルにおいてマルチ噴射制御のみを実行する場合」と同様に、各間隔（所定時間間隔及び所定クランク角度間隔）を設定する。つまり、ＥＣＵ８０は、第１実施形態においてマルチ噴射制御の各パーシャル噴射を実現する場合と同様に、シングル噴射制御のフル噴射及びマルチ噴射制御の各パーシャル噴射を実現する。
【０２０２】
次に、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行する場合における第２実施形態に係るＥＣＵ８０の作動について、図１３を参照して、より具体的に説明する。
【０２０３】
この場合、ＣＰＵ８１は、短縮時間間隔Ｔ２毎にタイマー割込み処理により「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃのサンプリング」を行う。この場合において、機関負荷ＫＬは、短縮時間間隔Ｔ２毎にエアフローメータ３４の出力電圧に基づいて吸気量Ｇａをサンプリングする毎に「当該サンプリングされた吸気量Ｇａ」と「１０°クランク角度間隔毎にサンプリングされる機関回転速度ＮＥ１０のうち、その時点にて最新の機関回転速度ＮＥ１０」とに基づき演算される。
【０２０４】
更に、ＣＰＵ８１は、クランク角度０°を出発点として１０°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度ＮＥのサンプリング」及び「噴射用演算」を行う。この場合において、噴射用演算とは、フル噴射及びパーシャル噴射に必要な制御値（本例においては、フル噴射クランク角度、フル噴射時間、第１〜第３パーシャル噴射クランク角度及び第１〜第３パーシャル噴射時間）を各種のパラメータ値（本例においては、機関回転速度ＮＥ１０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ）に基づき計算することを言う。加えて、この場合において、サンプリングされる機関回転速度ＮＥは、先述したように、クランクシャフト２５が１０°回転するのに要した時間から求められる「機関回転速度ＮＥ１０」である。
【０２０５】
この場合の噴射用演算について具体的に述べると、ＣＰＵ８１は、１０°クランク角度間隔で実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度ＮＥ１０及び機関負荷ＫＬ」（即ち、最新のパラメータ値）に基づいて、図８（Ａ）及び図８（Ｂ）に示したルックアップテーブルから、それぞれ、「フル噴射クランク角度（フル噴射を開始するべきクランク角度）ＣＡf」及び「第１パーシャル噴射クランク角度（１回目のパーシャル噴射を開始するべきクランク角度）ＣＡp1」を決定（演算）すると共に、その時点にて得られている最新の「機関回転速度ＮＥ１０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」（即ち、最新のパラメータ値）に基づいて「フル噴射時間（フル噴射を実現するための燃料噴射時間）ＴＡＵf」及び「第１パーシャル噴射時間（１回目のパーシャル噴射を実現するための燃料噴射時間）ＴＡＵp1」を演算する。
【０２０６】
更に、ＣＰＵ８１は、前記演算された第１パーシャル噴射クランク角度ＣＡp1に所定クランク角度ａ°を加えることにより「第２パーシャル噴射クランク角度（２回目のパーシャル噴射を開始するべきクランク角度）ＣＡp2」を演算すると共に、この第２パーシャル噴射クランク角度に所定クランク角度ａ°を加えることにより「第３パーシャル噴射クランク角度（３回目のパーシャル噴射を開始するべきクランク角度）ＣＡp3」を演算する。加えて、ＣＰＵ８１は、その時点にて得られている最新の「機関回転速度ＮＥ１０、機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」に基づいて「第２及び第３パーシャル噴射時間（２回目及び３回目のパーシャル噴射を実現するための燃料噴射時間）ＴＡＵp2及びＴＡＵp3」を演算する。
【０２０７】
本例において、各噴射用演算に用いられる最新の「機関回転速度ＮＥ１０」は、各噴射用演算が行われるクランク角度にてサンプリングされる「ＮＥ１０」であり、各噴射用演に用いられる最新の「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」である。
【０２０８】
次いで、ＣＰＵ８１は、現時点から次の噴射用演算（次のエッヂ割込み処理に基づく噴射用演算）が行われるクランク角度（つまり、１０°後のクランク角度）までの間に「フル噴射クランク角度ＣＡf及びパーシャル噴射角度ＣＡp1〜ＣＡp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「噴射クランク角度ＣＡf及びＣＡp1〜ＣＡp3」の何れも到来しない場合、ＣＰＵ８１は、噴射弁１７への通電を開始するための「追加の噴射用演算及び処理（噴射開始用処理）」を行わない。
【０２０９】
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象噴射クランク角度ＣＡf及びＣＡp1〜ＣＡp3（次の噴射用演算が行われるクランク角度までの間に到来する噴射クランク角度）に到達するまでに要する時間（噴射開始までの所要時間）」を計算することを言う。
【０２１０】
更に、噴射開始用処理とは、「クランク角度が対象噴射クランク角度（次の噴射用演算が行われるクランク角度までの間に到来する噴射クランク角度）に到達する時刻（燃料噴射の開始時刻）」をレジスタ８７にセットすると共に、「その時点にて得られている最新の燃料噴射時間（対象噴射クランク角度において開始するべき燃料噴射を実現するための燃料噴射時間）」を取得することを言う。
【０２１１】
図１３に示した例においては、７０°と８０°との間に「フル噴射クランク角度ＣＡf」が到来する。従って、ＣＰＵ８１は、クランク角度が７０°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度（つまり、クランク角度８０°）までの間に「フル噴射クランク角度ＣＡf」が到来すると判定する。次いで、ＣＰＵ８１は、追加の噴射用演算を行い、それに続いて、噴射開始用演算を行う。
【０２１２】
追加の噴射用演算においては、ＣＰＵ８１は、フル噴射クランク角度ＣＡf（最新の制御値）とクランク角度７０°との差Δθfを、その時点にて得られている最新の機関回転速度ＮＥ１０に基づいて「現時点（クランク角度が７０°に到達した時点）からクランク角度がフル噴射クランク角度ＣＡfに到達するまでに要する時間（フル噴射開始までの所要時間）ΔＴf」へと変換（演算）する。本例において、この変換に用いられる最新の「機関回転速度ＮＥ１０」は、クランク角度７０°にてサンプリングされた「ＮＥ１０」である。
【０２１３】
続く噴射開始用処理においては、ＣＰＵ８１は、「タイマー８５が示す現在の時刻に前記所要時間ΔＴf（最新の制御値）を加えた時刻（フル噴射の開始時刻）Ｔf」を「フル噴射を行うべき噴射弁１７に対応するレジスタ８７」にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射開始フラグをセットする。更に、ＣＰＵ８１は、その時点にて得られている最新の「フル噴射時間ＴＡＵf（最新の制御値）」を取得し、メモリに保存する。
【０２１４】
本例において、前記取得される最新の「フル噴射時間ＴＡＵf」は、クランク角度が７０°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「ＴＡＵf」である。更に、前記取得される最新のフル噴射時間ＴＡＵfの演算に用いられた「機関回転速度ＮＥ１０」は、クランク角度７０°にてサンプリングされた「ＮＥ１０」（最新のパラメータ値）である。加えて、同演算に用いられた「機関負荷ＫＬ、燃圧Ｐｆ及び筒内圧Ｐｃ」は、それぞれ、クランク角度７０°の時点に時間的に最も近い時点にてサンプリングされた「ＫＬ、Ｐｆ及びＰｃ」（最新のパラメータ値）であり、燃圧に関し、同演算に用いられた燃圧は、図１３の時刻ｔ３にてサンプリングされた燃圧である。
【０２１５】
この結果、タイマー８５が示す時刻（タイマー時刻）が「前記レジスタ８７にセットされたフル噴射の開始時刻Ｔf」と一致すると、図１３（Ｂ）に示したように、前記噴射弁１７に噴射指令信号が発せられ、前記噴射弁１７への通電が開始されると共に、ＣＰＵ８１にコンペアレジスタ割込み処理が発生する。ＣＰＵ８１は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存されたフル噴射時間ＴＡＵf」を加えた時刻（フル噴射の終了時刻）Ｔeをレジスタ８７にセットする。加えて、ＣＰＵ８１は、前記レジスタ８７の噴射終了フラグをセットする。
【０２１６】
この結果、タイマー時刻が「前記レジスタ８７にセットされたフル噴射の終了時刻Ｔe」と一致すると（即ち、フル噴射時間ＴＡＵfが経過すると）、前記噴射弁１７への通電が停止される。以上の結果、クランク角度がフル噴射クランク角度ＣＡfに一致すると推定される時刻Ｔfからフル噴射時間ＴＡＵfだけ前記噴射弁１７への通電が行われ、これにより、フル噴射が行われる。
【０２１７】
現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」の何れかが到来する場合、ＣＰＵ８１は、そのパーシャル噴射クランク角度において開始するべきパーシャル噴射を実現するための「追加の噴射用演算及び噴射開始用処理」を行う。これら「追加の噴射用演算及び噴射開始用処理」は、図９を参照して先に説明した第１実施形態に係るパーシャル噴射を実現するための「追加の噴射用演算及び噴射開始用処理」と同様であるので、その説明は省略する。
【０２１８】
このように、第２実施形態によれば、１機関サイクルにおいてシングル噴射制御のみが実行される場合には、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔及び通常時間間隔に設定される。一方、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合には、シングル噴射制御に関しても、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔及び短縮時間間隔に設定される。これにより、マルチ噴射制御が実行されるときだけでなく、シングル噴射制御が実行されるときにも、噴射用演算及び機関回転速度のサンプリングが短縮クランク角度間隔にて行われ、機関負荷、燃圧及び筒内圧のサンプリングが短縮時間間隔にて行われ、噴射開始用処理が短縮クランク角度間隔のクランク角度にて行われる。
【０２１９】
このように、第２実施形態においては、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、シングル噴射制御が実行されるときにも、所定クランク角度間隔及び所定時間間隔が比較的短い間隔に設定される。従って、所定クランク角度間隔及び所定時間間隔は頻繁に切り替えられないので、パラメータ値のサンプリング、噴射用演算及び噴射開始用処理に係る処理負荷の過剰な増大が回避されると共に、パラメータ値のサンプリング、噴射用演算及び噴射開始用処理に係る処理プログラムの複雑化が回避される。
【０２２０】
また、第２実施形態においては、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、フル噴射に関する制御値（フル噴射クランク角度ＣＡf、フル噴射時間ＴＡＵf及びフル噴射開始までの所要時間ΔＴf）の演算には、１機関サイクルにおいてシングル噴射制御のみが実行される場合に比べて、フル噴射の開始時刻に、より一層近い時点のパラメータ値が用いられる。従って、フル噴射において、より適切な燃料噴射が実現される。
【０２２１】
４．実際の作動
次に、第２実施形態に係る「噴射制御モード」並びに「サンプリングモード、演算モード及び処理モード」の設定について図１４のフローを用いて、より具体的に説明する。図１４のフローは、所定時間間隔の割込み処理により開始される。このフローが開始されると、初めに、ステップＳ５０において、冷間始動条件が成立しているか否かが判定される。冷間始動条件が成立している場合、フローはステップＳ５１に進む。一方、冷間始動条件が成立していない場合、フローはステップＳ５４に進む。
【０２２２】
ステップＳ５４においては、触媒急速暖機条件が成立しているか否かが判定される。触媒急速暖機条件が成立している場合、フローはステップＳ５１に進む。一方、触媒急速暖機条件が成立していない場合、フローはステップＳ５５に進む。
【０２２３】
ステップＳ５１においては、噴射制御モードとして、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行するモードが設定される。この場合、図３に示したように、１機関サイクルにおいて、吸気行程においてシングル噴射制御が実行されると共に、圧縮行程においてマルチ噴射制御が実行される。次いで、ステップＳ５２において、サンプリングモード、演算モード及び処理モードがそれぞれ短縮サンプリングモード、短縮演算モード及び短縮処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔（１０°クランク角度間隔）及び短縮時間間隔（Ｔ２）に設定される。次いで、ステップＳ５３において、演算間隔フラグＸＮがリセットされ（ＸＮ←０）、フローが終了する。このフラグＸＮは、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御が実行されるときにリセットされ、１機関サイクルにおいてシングル噴射制御のみが実行されるときにセットされるフラグである。
【０２２４】
ステップＳ５５においては、噴射制御モードとして、１機関サイクルにおいてシングル噴射制御のみを実行するモードが設定される。この場合、図４に示したように、１機関サイクルにおいて、吸気行程においてシングル噴射制御が実行される。次いで、ステップＳ５６において、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔（３０°クランク角度間隔）及び通常時間間隔（Ｔ１）に設定される。次いで、ステップＳ５７において、演算間隔フラグＸＮがセットされ（ＸＮ←１）、フローが終了する。
【０２２５】
次に、第２実施形態に係る噴射用演算及び噴射開始用処理について図１５及び図１２のフローを用いて、より具体的に説明する。図１５のフローは、所定クランク角度間隔（本例においては、１０°クランク角度間隔）の割込み処理により開始される。図１２のフローは、上述したように、各燃料噴射が開始されたときにコンペアレジスタ割込み処理により開始される。
【０２２６】
図１５のフローが開始されると、初めに、ステップＳ６０において、演算間隔フラグＸＮが「１」にセットされている（ＸＮ＝１）か否かが判定される。このフラグＸＮは、図１４のステップＳ５３においてリセットされ、図１４のステップＳ５７においてセットされるフラグである。ステップＳ６０において、ＸＮ＝１である場合、フローはステップＳ６１に進む。一方、ＸＮ＝１ではない場合、フローはステップＳ６７に進む。
【０２２７】
ステップＳ６１においては、現在のクランク角度ＣＡがクランク角度０°を出発点として３０°クランク角度間隔（通常クランク角度間隔）のクランク角度３０＊ｎ（ｎは１〜２４の整数）である（ＣＡ＝３０＊ｎ）か否かが判定される。ＣＡ＝３０＊ｎである場合、フローはステップＳ６２に進む。一方、ＣＡ＝３０＊ｎではない場合、フローは終了する。つまり、ステップＳ６２以降のステップは、３０°クランク角度間隔で行われる。
【０２２８】
ステップＳ６２においては、機関回転速度ＮＥ３０がサンプリングされる。次いで、ステップＳ６３において、最新の機関回転速度（ステップＳ６２にてサンプリングされた機関回転速度）ＮＥ３０及び最新の機関負荷ＫＬに基づいて、各気筒におけるフル噴射クランク角度ＣＡf（♯Ｎ）が演算されると共に、最新の機関回転速度（ステップＳ６２にてサンプリングされた機関回転速度）ＮＥ３０、最新の機関負荷ＫＬ、最新の燃圧Ｐｆ及び最新の筒内圧Ｐｃに基づいて、フル噴射時間ＴＡＵf（♯Ｎ）が演算される。
【０２２９】
次いで、ステップＳ６４において、前記演算されたフル噴射クランク角度ＣＡf（♯Ｎ）の何れかが現在のクランク角度から３０°後のクランク角度ＣＡ３０以前のクランク角度である（ＣＡf（♯Ｎ）≦ＣＡ３０）か否かが判定される。何れの角度ＣＡf（♯Ｎ）も角度ＣＡ３０以前のクランク角度ではない場合、フローは終了する。一方、角度ＣＡf（♯Ｎ）の何れかが角度ＣＡ３０以前のクランク角度である場合、フローはステップＳ６５に進む。以下「角度ＣＡ３０以前のクランク角度であると判定されたフル噴射クランク角度」を「対象フル噴射クランク角度」と称呼し、「対象フル噴射クランク角度において開始するべきフル噴射」を「対象フル噴射」と称呼し、「対象フル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
【０２３０】
ステップＳ６５においては、最新の機関回転速度ＮＥ３０に基づいて、現時刻Ｔnowからクランク角度が対象フル噴射クランク角度ＣＡf（♯Ｎ）に到達するまでに要する時間（対象フル噴射の開始までの所要時間）ΔＴf（♯Ｎ）が演算される。
【０２３１】
次いで、ステップＳ６６において、現時刻Ｔnowに前記所要時間ΔＴf（♯Ｎ）を加えた時刻（対象フル噴射の開始時刻）Ｔf（♯Ｎ）が演算され（Ｔf（♯Ｎ）＝Ｔnow＋ΔＴf（♯Ｎ））、この時刻Ｔf（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射開始フラグがセットされ、加えて、対象フル噴射に対応する最新のフル噴射時間（即ち、ステップＳ６３にて演算されたフル噴射時間）ＴＡＵf（♯Ｎ）が取得され、この「ＴＡＵf（♯Ｎ）」がメモリに保存され、フローが終了する。これにより、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象フル噴射の開始時刻Ｔf（♯Ｎ）」と一致したときに、そのレジスタ８７により対象気筒の噴射弁１７への通電が行われ、対象気筒においてフル噴射が開始される。
【０２３２】
そして、フル噴射が開始されたとき、コンペアレジスタ割込み処理により図１２のフローが開始され、ステップＳ４５において、前記対象フル噴射の開始時刻Ｔf（♯Ｎ）に「図１５のステップＳ６６にてメモリに保存されたフル噴射時間ＴＡＵf（♯Ｎ）」を加えた時刻（対象フル噴射の終了時刻）Ｔe（♯Ｎ）が演算され（Ｔe（♯Ｎ）＝Ｔf（♯Ｎ）＋ＴＡＵf（♯Ｎ））、この時刻Ｔe（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射終了フラグがセットされ、フローが終了する。その後、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象フル噴射の終了時刻Ｔe（♯Ｎ）」と一致したときに、そのレジスタ８７により噴射弁１７への通電が停止される。これにより、対象気筒におけるフル噴射が終了する。
【０２３３】
ステップＳ６７においては、機関回転速度ＮＥ１０がサンプリングされる。次いで、ステップＳ６８において、最新の機関回転速度（ステップＳ６７にてサンプリングされた機関回転速度）ＮＥ１０及び最新の機関負荷ＫＬに基づいて、各気筒における「フル噴射クランク角度ＣＡf（♯Ｎ）及び第１〜第３パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）」が演算されると共に、最新の機関回転速度（ステップＳ６７にてサンプリングされた機関回転速度）ＮＥ１０、最新の機関負荷ＫＬ、最新の燃圧Ｐｆ及び最新の筒内圧Ｐｃに基づいて、各気筒における「フル噴射時間ＴＡＵf（♯Ｎ）及び第１〜第３パーシャル噴射時間ＴＡＵpＮ（♯Ｎ）」が演算される。
【０２３４】
次いで、ステップＳ６９において、前記演算された「フル噴射クランク角度ＣＡf（♯Ｎ）及び第１〜第３パーシャル噴射クランク角度ＣＡpＮ（♯Ｎ）」の何れかが現在のクランク角度から１０°後のクランク角度ＣＡ１０以前のクランク角度である（ＣＡpＮ（♯Ｎ）≦ＣＡ１０）か否かが判定される。何れの「角度ＣＡf（♯Ｎ）及びＣＡpＮ（♯Ｎ）」も角度ＣＡ１０以前のクランク角度ではない場合、フローは終了する。一方、「角度ＣＡf（♯Ｎ）及びＣＡpＮ（♯Ｎ）」の何れかが角度ＣＡ１０以前のクランク角度である場合、フローはステップＳ７０に進む。以下「角度ＣＡ１０以前のクランク角度であると判定された噴射クランク角度」を「対象噴射クランク角度」と称呼し、「対象噴射クランク角度において開始するべき燃料噴射」を「対象噴射」と称呼し、「対象噴射が開始されるべき気筒」を「対象気筒」と称呼する。
【０２３５】
ステップＳ７０において、最新の機関回転速度ＮＥ１０に基づいて、現時刻Ｔnowからクランク角度が「対象噴射クランク角度ＣＡf（♯Ｎ）又はＣＡpＮ（♯Ｎ）」に到達するまでに要する時間（対象噴射の開始までの所要時間）ΔＴf（♯Ｎ）又はΔＴpＮ（♯Ｎ）が演算される。
【０２３６】
次いで、ステップＳ７１において、現時刻Ｔnowに「前記所要時間ΔＴf（♯Ｎ）又はΔＴpＮ（♯Ｎ）」を加えた時刻（対象噴射の開始時刻）Ｔf（♯Ｎ）又はＴpＮ（♯Ｎ）が演算され（Ｔf（♯Ｎ）＝Ｔnow＋ΔＴf（♯Ｎ）、ＴpＮ（♯Ｎ）＝Ｔnow＋ΔＴpＮ（♯Ｎ））、この時刻Ｔf（♯Ｎ）又はＴpＮ（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射開始フラグがセットされ、加えて、対象噴射に対応する最新の「フル噴射時間ＴＡＵf（♯Ｎ）又はパーシャル噴射時間ＴＡＵpＮ（♯Ｎ）（ステップ６８にて演算されたフル噴射時間又はパーシャル噴射時間）」が取得され、この「ＴＡＵf（♯Ｎ）又はＴＡＵpＮ（♯Ｎ）」がメモリに保存され、フローが終了する。これにより、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象噴射の開始時刻Ｔf（♯Ｎ）又はＴpＮ（♯Ｎ）」と一致したときに、そのレジスタ８７により対象気筒の噴射弁１７への通電が行われ、対象気筒において燃料噴射が開始される。
【０２３７】
そして、燃料噴射が開始されたとき、コンペアレジスタ割込み処理により図１２のフローが開始され、ステップＳ４５において、「前記対象噴射の開始時刻Ｔf（♯Ｎ）又はＴpＮ（♯Ｎ）」に「図１５のステップＳ７１にてメモリに保存されたフル噴射時間ＴＡＵf（♯Ｎ）又はパーシャル噴射時間ＴＡＵpＮ（♯Ｎ）」を加えた時刻（対象噴射の終了時刻）Ｔe（♯Ｎ）が演算され（Ｔe（♯Ｎ）＝Ｔf（♯Ｎ）＋ＴＡＵf（♯Ｎ）、Ｔe（♯Ｎ）＝ＴpＮ（♯Ｎ）＋ＴＡＵpＮ（♯Ｎ））、この時刻Ｔe（♯Ｎ）が対象気筒の噴射弁１７に対応するレジスタ８７にセットされ、更に、そのレジスタ８７の噴射終了フラグがセットされ、フローが終了する。その後、タイマー８５が示す時刻が「前記レジスタ８７にセットされた対象噴射の終了時刻Ｔe（♯Ｎ）」と一致したときに、そのレジスタ８７により噴射弁１７への通電が停止される。これにより、対象気筒における噴射が終了する。
【０２３８】
尚、図１４の例においては、「冷間始動条件が成立しているか否か」及び「急速触媒暖機条件が成立しているか否か」に応じて「シングル・マルチ噴射制御モード」又は「シングル噴射制御モード」のみが設定される。しかしながら、「冷間始動条件及び急速触媒暖機条件」以外の所定の条件が成立した場合に「１機関サイクルにおいてマルチ噴射制御のみを実行するマルチ噴射制御モード」が設定されてもよい。この場合、図１５の噴射制御フラグＸＮはリセットされる（ＸＮ←０）。更に、この場合、図１５のステップＳ６０において、ＸＮ＝１ではないと判定され、ステップＳ６７〜ステップＳ７１の処理が行われるが、これら処理は、マルチ噴射制御の各パーシャル噴射についてのみ行われる。
【０２３９】
＜第１及び第２実施形態における燃圧制御＞
上記実施形態においては、燃圧が所定圧力に維持されるように燃料ポンプ１９の作動が制御される。次に、上記実施形態に係る燃圧の制御について図１６のフローを用いて、より具体的に説明する。図１６のフローは、所定時間間隔の割込み処理により開始される。図１６のフローが開始されると、初めに、ステップＳ８０において、燃圧Ｐｆが目標燃圧Ｐｆｔよりも低い（Ｐｆ＜Ｐｆｔ）か否かが判定される。Ｐｆ＜Ｐｆｔである場合、ステップＳ８１において、燃圧が上昇するように燃料ポンプ１９の作動を変更する昇圧制御が実行され、フローは終了する。一方、Ｐｆ＜Ｐｆｔではない場合、ステップＳ８２において、燃圧Ｐｆが目標燃圧Ｐｆｔよりも高い（Ｐｆ＞Ｐｆｔ）か否かが判定される。Ｐｆ＞Ｐｆｔである場合、ステップＳ８３において、燃圧が低下するように燃料ポンプ１９の作動を変更する降圧制御が実行され、フローは終了する。一方、Ｐｆ＞Ｐｆｔではない場合、このときには燃圧が目標燃圧に等しいので、フローはそのまま終了する。
【０２４０】
＜変形例＞
第１実施形態の変形例において、「冷間始動条件及び急速触媒暖機条件」以外の条件が成立したときに、マルチ噴射制御が実行されてもよい。更に、第２実施形態の変形例において、「冷間始動条件及び急速触媒暖機条件」以外の条件が成立したときに、シングル噴射制御及びマルチ噴射制御の双方が実行されてもよい。
【０２４１】
更に、上記各実施形態の変形例において、マルチ噴射制御におけるパーシャル噴射の回数は、機関運転状態に応じて変更されてもよい。
【０２４２】
更に、機関負荷、燃圧及び筒内圧（以下「機関負荷等」とも称呼する）のサンプリングは、所定クランク角度間隔にて実行されてもよい。更に、機関回転速度のサンプリングは、所定時間間隔にて実行されてもよい。更に、噴射用演算は、所定時間間隔にて実行されてもよい。更に、追加の噴射用演算は、所定時間間隔の時刻にて実行されてもよい。更に、噴射開始用処理は、所定時間間隔の時刻にて実行されてもよい。
【０２４３】
更に、短縮時間間隔及び通常時間間隔はそれぞれ０．３９ｍｓ及び１．２ｍｓに限定されず、これら時間間隔は、短縮時間間隔が通常時間間隔よりも短い間隔であれば、如何なる時間間隔であってもよい。加えて、各時間間隔は、短縮時間間隔が通常時間間隔よりも短い限り、一定の時間間隔ではなく、任意の時間間隔でもよい。
【０２４４】
更に、ＡＤ変換スケジュール（一定時間Δtad経過毎にＡＤ変換をするべきパラメータの順番を決めるスケジュール）が変更されると、結果的に、機関負荷等をサンプリングする時間間隔が変更される。そこで、上記実施形態において、ＡＤ変換スケジュールを変更することにより機関負荷等をサンプリングする時間間隔を変更するようにしてもよい。
【０２４５】
より具体的に述べると、例えば、燃料噴射に関する制御値の演算に必要で且つＡＤ変換されるパラメータ値が「Ａ」、「Ｂ」及び「Ｃ」であり、その他のＡＤ変換されるパラメータ値が「Ｙ」及び「Ｚ」であり、所定時間間隔が通常時間間隔であるときの各パラメータ値をサンプリングするＡＤ変換スケジュールが「Ａ，Ｙ，Ｚ，Ｂ，Ｙ，Ｚ，Ｃ，Ｙ，Ｚ」の順であるとする。このＡＤ変換スケジュールにおいては、パラメータ値Ａ、Ｂ及びＣのそれぞれは、時間９＊Δtad毎にＡＤ変換される。即ち、通常時間間隔は９＊Δtadである。これに対し、所定時間間隔が短縮時間間隔であるときの各パラメータ値をサンプリングするときには、ＡＤ変換スケジュールを「Ａ，Ｙ，Ｂ，Ｚ，Ｃ，Ｙ」の順に変更する。このＡＤ変換スケジュールにおいては、パラメータ値Ａ、Ｂ及びＣのそれぞれは、時間６＊Δtad毎にＡＤ変換される。即ち、短縮時間間隔は６＊Δtadであり、所定時間間隔が通常時間間隔９＊Δtadよりも短くなる。
【０２４６】
更に、短縮クランク角度間隔及び通常クランク角度間隔はそれぞれ１０°クランク角度間隔及び３０°クランク角度間隔に限定されず、これらクランク角度間隔は、短縮クランク角度間隔が通常クランク角度間隔よりも短い間隔であれば、如何なるクランク角度間隔であってもよい。加えて、各クランク角度間隔は、短縮クランク角度間隔が通常クランク角度間隔よりも短い間隔である限り、一定のクランク角度間隔ではなく、任意のクランク角度間隔でもよい。
【０２４７】
更に、第１実施形態においてマルチ噴射制御が実行される場合及び第２実施形態においてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、「噴射用演算を実行する所定クランク角度間隔」、「追加の噴射用演算を実行するクランク角度を規定する所定クランク角度」、「噴射開始用処理を実行するクランク角度を規定する所定クランク角度」、「機関回転速度をサンプリングする所定クランク角度間隔」及び「機関負荷等をサンプリングする所定時間間隔」の何れかのみが短縮されてもよい。
【０２４８】
更に、「噴射クランク角度、燃料噴射時間及び噴射開始までの所要時間」の演算に「機関回転速度、機関負荷、燃圧及び筒内圧」以外のパラメータ値が用いられてもよい。更に、燃料噴射を制御する制御値として、「噴射クランク角度、燃料噴射時間及び噴射開始までの所要時間」以外の制御値が演算されてもよい。
【０２４９】
更に、「通常クランク角度間隔又は短縮クランク角度間隔」で「各燃料噴射の開始までの所要時間」が演算されてもよい。加えて、「通常クランク角度間隔又は短縮クランク角度間隔」で演算される制御値が「フル噴射クランク角度及びパーシャル噴射クランク角度」及び「フル噴射時間及びパーシャル噴射時間」の何れか一方のみであってもよい。この場合、演算されない制御値は、「噴射開始用処理が行われるクランク角度」においてのみ演算される。或いは、「フル噴射クランク角度及びパーシャル噴射クランク角度」及び「フ噴射時間及びパーシャル噴射時間」の双方が「噴射開始用処理が行われるクランク角度」においてのみ演算されてもよい。
【０２５０】
更に、上記各実施形態は、４つの気筒全てにおける燃料噴射制御に本発明の燃料噴射制御を適用した場合の実施形態であるが、本発明は、１つの気筒における燃料噴射制御にのみ適用されてもよい。
【０２５１】
更に、上記各実施形態のマルチ噴射制御においては、パーシャル噴射が複数回実行されるが、本発明は、マルチ噴射制御においてフル噴射が複数回実行される場合にも適用可能である。更に、上記各実施形態のシングル噴射制御においては、フル噴射が１回のみ実行されるが、本発明は、シングル噴射制御においてパーシャル噴射が１回のみ実行される場合にも適用可能である。
【０２５２】
更に、上記各実施形態において、１機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、シングル噴射制御は吸気行程の中期に実行され、マルチ噴射制御は圧縮行程の後期に実行される。しかしながら、本発明は、シングル噴射制御が吸気行程の中期以外のタイミングにおいて実行される場合にも適用可能であり、マルチ噴射制御が圧縮行程の後期以外のタイミングにおいて実行される場合にも適用可能である。
【０２５３】
更に、上記各実施形態において、１機関サイクルにおいてマルチ噴射制御が実行される場合、シングル噴射制御は必ず実行されるが、本発明は、１機関サイクルにおいてマルチ噴射制御のみが実行される場合にも適用可能である。
【０２５４】
以上の説明から理解されるように、本発明は、燃料噴射弁１７を備える内燃機関１０に適用され、且つ、前記機関の運転状態に関するパラメータ値（機関回転速度ＮＥ、機関負荷ＫＬ、燃圧Ｐｆ、筒内圧Ｐｃ等）を所定サンプリング間隔にてサンプリングし、該サンプリングされたパラメータ値のうちの最新の値に基づいて前記燃料噴射弁からの燃料噴射に関する制御値（「噴射クランク角度ＣＡf及び／又はＣＡp1〜ＣＡp3」、「燃料噴射時間ＴＡＵf及び／又はＴＡＵp1〜ＴＡＵp3」、「噴射開始までの所要時間ΔＴf及び／又はΔＴp1〜ΔＴp3」等）を所定期間を隔てて繰り返し演算し、該演算された制御値に基づいて前記燃料噴射を制御する制御部（ＥＣＵ８０）を有する、燃料噴射制御装置に関する。
【０２５５】
前記制御部は、第１クランク角度間隔（例えば、３０°クランク角度間隔）のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理（噴射開始用処理）を実行する第１処理モード（通常処理モード）と、前記第１クランク角度間隔よりも短い第２クランク角度間隔（例えば、１０°クランク角度間隔）のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理（噴射開始用処理）を実行する第２処理モード（短縮処理モード）と、のうちの何れかのモードにて各燃料噴射を開始するための処理を実行するように構成されている。
【０２５６】
前記制御部は、前記第１クランク角度間隔に相当する時間内に燃料噴射（フル噴射）を１回のみ開始するシングル噴射制御を実行する場合、該シングル噴射制御の燃料噴射を開始するための処理（「フル噴射の開始時刻Ｔfのセット」及び「フル噴射時間ＴＡＵfの取得」）を前記第１処理モードにて実行する（図１１のステップＳ２９、図１５のステップＳ６６）ように構成されている。
【０２５７】
一方、前記制御部は、前記第１クランク角度間隔に相当する時間内に燃料噴射（パーシャル噴射）を複数回開始するマルチ噴射制御を実行する場合、該マルチ噴射制御の各燃料噴射を開始するための処理（「パーシャル噴射の開始時刻Ｔp1〜Ｔp3のセット」及び「パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3の取得」）を前記第２処理モードにて実行する（図１１のステップＳ４０、図１５のステップＳ７１）ように構成されている。
【０２５８】
更に、前記制御部は、前記第１クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する（図１１のステップＳ２８、図１５のステップＳ６５）第１演算モード（通常演算モード）と、前記第２クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する（図１１のステップＳ３９、図１５のステップＳ７０）第２演算モード（短縮演算モード）と、のうちの何れかのモードにて前記制御値を演算するように構成されている。
【０２５９】
この場合において、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値（フル噴射開始までの所要時間ΔＴf）を前記第１演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値（パーシャル噴射開始までの所要時間ΔＴp1〜ΔＴp3）を前記第２演算モードにて演算するように構成されている。
【０２６０】
更に、前記制御部は、前記第１クランク角度間隔にて前記制御値を演算する第１演算モード（通常演算モード）と、前記第２クランク角度間隔にて前記制御値を演算する第２演算モード（短縮演算モード）と、のうちの何れかのモードにて前記制御値を演算するように構成されている。
【０２６１】
この場合において、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値（「フル噴射クランク角度ＣＡf」及び「フル噴射時間ＴＡＵf」）を前記第１演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値（「パーシャル噴射クランク角度ＣＡp1〜ＣＡp3」及び「パーシャル噴射時間ＴＡＵp1〜ＴＡＵp3」）を前記第２演算モードにて演算するように構成されている。
【符号の説明】
【０２６２】
１０…内燃機関、１１…燃焼室（気筒）、１７…燃料噴射弁、１９…燃料ポンプ、２０…燃圧センサ、２１…筒内圧センサ、２６…クランク角度センサ、３４…エアフローメータ、８０…電子制御装置（ＥＣＵ）
【図１】
0005949819.tif 000002
【図２】
0005949819.tif 000003
【図３】
0005949819.tif 000004
【図４】
0005949819.tif 000005
【図５】
0005949819.tif 000006
【図６】
0005949819.tif 000007
【図７】
0005949819.tif 000008
【図８】
0005949819.tif 000009
【図９】
0005949819.tif 000010
【図１０】
0005949819.tif 000011
【図１１】
0005949819.tif 000012
【図１２】
0005949819.tif 000013
【図１３】
0005949819.tif 000014
【図１４】
0005949819.tif 000015
【図１５】
0005949819.tif 000016
【図１６】
0005949819.tif 000017