(57)【特許請求の範囲】
【請求項１】
第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求があり、かつ、筒内噴射エンジンのすべての気筒が前記第２の段数の燃料噴射を実施するための条件を満たしている状態を示すスタンバイ状態であるか否かを判定する判定部と、
前記スタンバイ状態である場合、前記第２の段数の燃料噴射に応じて、前記筒内噴射エンジンを制御する制御部と、を備え、
前記制御部は、
第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求があり、かつ、燃焼サイクルの燃料噴射を実施する前の所定のクランク角度で実行される処理を示す回転同期処理でラッチされるすべての気筒の確定噴射回数が前記第２の段数である場合、点火時期を、一定の周期で実行される処理を示す定時処理による前記第２の段数に応じた点火タイミングに切り替え、
第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求がない、又は、前記回転同期処理でラッチされるいずれかの気筒の確定噴射回数が前記第２の段数でない場合、点火時期を、前記定時処理による前記第１の段数に応じた点火タイミングに切り替える内燃機関の制御装置であって、
前記定時処理において、前記第２の段数及び１段噴射のパルス幅を示す基本パルス幅に基づいて、実施可能な燃料噴射の第３の段数を計算する計算部と、
前記定時処理において、更新される前記第３の段数を記憶する第１の記憶部と、
前記回転同期処理において、前記第１の記憶部に記憶された前記第３の段数を参照し、参照された前記第３の段数を記憶する第２の記憶部と、をさらに備え、
前記判定部は、
前記筒内噴射エンジンのすべての気筒について、前記第２の段数と前記第２の記憶部に記憶された前記第３の段数が同じ場合、前記第２の段数の燃料噴射を実施するための条件を満たしていると判定する
ことを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
燃料を筒内に直接噴射する内燃機関(以下、直噴エンジンと称する)において、噴射燃料の気化促進および混合気の冷却、シリンダやピストンへの燃料付着の低減等の目的で、ある気筒の１サイクル当りの燃料噴射を複数回に分割して実施する、多段階の燃料噴射を実施する場合がある(以下、多段噴射と称する)。
【０００３】
この多段噴射の実施有無のそれぞれの場合で、点火時期の要求が異なるため、多段噴射の実施有無に応じて、点火時期を切替える必要がある。
【０００４】
これに関し、均質燃焼から成層燃焼への切替えの際は、所定の遅角量分、徐々に遅角したのち、多段噴射への切り替えと同時に所定量進角させてトルク段差を抑制し、その後、多段噴射による燃焼に応じた点火時期まで徐々に遅角する制御が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３８９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
（１）多段噴射の実施の判断
出力の向上目的で、吸気行程で多段噴射を実施する場合、応答性が求められ、速やかな切替えが要求される。一方、多段噴射の領域を拡大しようとすると、パルス幅等の実施条件がそろわず、要求はあるものの、多段噴射を途中で停止するような状況が有り得る。
【０００７】
そこで、多段噴射の実行は、多段噴射の要求(以下、多段噴射要求)と、多段噴射を実施可能な条件(以下、多段噴射実施条件)が両方とも成立した場合に実施する。このことから、前述したように、多段噴射要求は成立しているが、多段噴射実施条件が成立せず、多段噴射を実施しない状況が有り得る。
【０００８】
（２）燃料噴射制御
燃料噴射制御は、他の制御(例えば、点火時期制御、空気制御)との協調、処理負荷低減のため、処理の上流を定時処理で実行し、処理の下流を回転同期処理で実行する構成とする場合がある。ここで、定時処理は、エンジンの燃焼サイクルとは無関係に、所定の周期で実行される処理を意味する。回転同期処理は、エンジンの燃焼サイクルの所定のタイミング（例えば、所定のクランク角度）で実行される処理を意味する。
【０００９】
また、多段噴射の要求と実施条件に関しては、多段噴射要求を定時処理で演算し、多段噴射の実施条件を定時処理で演算し、これらに基づき、多段噴射実施可否と多段噴射回数とを演算し、回転同期処理のあるタイミングで値を取得し、次の更新タイミングまで値を保持(以下ラッチ処理と称する)することで、最終的な多段噴射の実施を確定（判断）する。ここでラッチ処理を実施するのは、燃料と点火との同期合わせのためである。
【００１０】
（３）点火時期制御
同様に、点火時期制御は、他の制御(例えば、トルク制御、空気制御)との協調、処理負荷低減のため、処理の上流を定時処理で実行し、処理の下流を回転同期処理で実行する構成とする場合がある。
【００１１】
燃料噴射制御と、点火時期制御とが、上記のように構成され、多段噴射実施の有無を定時処理で切替える場合で、かつ、多段噴射から１段噴射に切替った場合を例にあげると、燃料噴射制御の回転同期処理におけるラッチタイミングより切替タイミングが遅い気筒は、燃料噴射行程において多段噴射を実行し、ラッチタイミングより切替えタイミングが早い気筒は、噴射行程において、１段噴射を実施する。
【００１２】
（４）第１の方法の問題
ここで、燃料噴射制御の定時処理において算出される、要求多段噴射回数を、点火時期制御の定時処理で参照して、点火時期を切替える第１の方法を採用する場合、燃料噴射制御の回転同期処理にラッチ処理がある。そのため、要求多段噴射回数の切替えが、ラッチ処理の後の場合は、ラッチされた噴射回数(確定噴射回数と称する)と要求多段噴射回数とは異なるため、燃料噴射制御と点火時期制御とに不整合が生じる場合がある。
【００１３】
ここで、不整合としては２種類ある。一つ目は、多段噴射に対し、一段噴射用の点火時期補正を適用することによる不整合である。多段噴射では、一段噴射よりも点火時期を早める必要がある。多段噴射で一段噴射用の点火時期補正を適用した場合、多段噴射の理想的な点火タイミングまで点火時期を早めることができない。つまり、点火時期は、多段噴射の理想的な点火時期よりも遅くなる。そのため、エンジンの出力は低下するが、それ以外の問題は無いと考える。
【００１４】
二つ目は、一段噴射に対し、多段噴射用の点火時期補正を適用することによる不整合である。一段噴射で多段噴射用の点火時期補正を適用した場合、点火時期は、一段噴射の理想的な点火時期よりも早くなる。そのため、エンジン破損につながるノッキング等の問題を生じさせる可能性がある。
【００１５】
（５）第２の方法の問題
燃料噴射制御の回転同期処理におけるラッチされた確定噴射回数を、点火時期制御の回転同期処理で参照し、それに基づいて、点火時期を決める第２の方法を採用する場合、燃料噴射制御の回転同期処理と、点火時期制御の回転同期処理とは整合が取れる。しかし、点火時期制御の定時処理と、点火時期制御の回転同期処理とで不整合が生じる場合があり、定時処理で情報をやり取りする他制御(例、トルク制御、ISC制御)との連携や、定時処理で演算した目標値に対し、回転同期処理で演算したパラメータを追従させる場合などの点で望ましくないという問題がある。
【００１６】
上記で説明したように、定時処理で算出されるエンジン制御のパラメータは、所定の周期で算出され、書き換えられる。一方、エンジン制御の回転同期処理で使用されるパラメータは、燃焼サイクルの所定のタイミングで参照されたパラメータである。定時処理の周期と、燃焼サイクルは、同期していないため、同じパラメータであっても値が異なる場合がある。そのため、多段噴射の切り替えによって、エンジンを好適に制御することができない場合があった。
【００１７】
本発明の目的は、多段噴射の切り替えがあっても、エンジンを好適に制御することができる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明は、第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求があり、かつ、筒内噴射エンジンのすべての気筒が前記第２の段数の燃料噴射を実施するための条件を満たしている状態を示すスタンバイ状態であるか否かを判定する判定部と、前記スタンバイ状態である場合、前記第２の段数の燃料噴射に応じて、前記筒内噴射エンジンを制御する制御部と、を備え、前記制御部は、第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求があり、かつ、燃焼サイクルの燃料噴射を実施する前の所定のクランク角度で実行される処理を示す回転同期処理でラッチされるすべての気筒の確定噴射回数が前記第２の段数である場合、点火時期を、一定の周期で実行される処理を示す定時処理による前記第２の段数に応じた点火タイミングに切り替え、第１の段数の燃料噴射から第２の段数の燃料噴射へ切り替える要求がない、又は、前記回転同期処理でラッチされるいずれかの気筒の確定噴射回数が前記第２の段数でない場合、点火時期を、前記定時処理による前記第１の段数に応じた点火タイミングに切り替える内燃機関の制御装置であって、前記定時処理において、前記第２の段数及び１段噴射のパルス幅を示す基本パルス幅に基づいて、実施可能な燃料噴射の第３の段数を計算する計算部と、前記定時処理において、更新される前記第３の段数を記憶する第１の記憶部と、前記回転同期処理において、前記第１の記憶部に記憶された前記第３の段数を参照し、参照された前記第３の段数を記憶する第２の記憶部と、をさらに備え、前記判定部は、前記筒内噴射エンジンのすべての気筒について、前記第２の段数と前記第２の記憶部に記憶された前記第３の段数が同じ場合、前記第２の段数の燃料噴射を実施するための条件を満たしていると判定する。
【発明の効果】
【００１９】
本発明によれば、多段噴射の切り替えがあっても、エンジンを好適に制御することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態によるコントロールユニットを備えた筒内噴射エンジンの全体構成図である。
【図２】図１に示すコントロールユニットの構成図である。
【図３】図２に示すMPUが実行するエンジン制御[定時処理]のメインルーチンを示す制御フローである。
【図４】図２に示すMPUが実行するエンジン制御[回転同期処理その１]のメインルーチンを示す制御フローである。
【図５】図２に示すMPUが実行するエンジン制御[回転同期処理その２]のメインルーチンを示す制御フローである。
【図６】図3のステップ3002で実行される多段噴射要求・実施状態判定[定時処理]のサブルーチンを示す制御フローである。
【図７】図３のステップ3003で実行される点火時期制御[定時処理]のサブルーチンを示す制御フローである。
【図８】図５のステップ5001で実行される点火時期制御[回転同期処理]のサブルーチンを示す制御フローである。
【図９】図３のステップ3005で実行されるトルク制御[定時処理]のサブルーチンを示す制御フローである。
【図１０】図３のステップ3006で実行される噴射パルス幅計算[定時処理]のサブルーチンを示す制御フローである。
【図１１Ａ】図４のステップ4001で実行される噴射パルス幅計算[回転同期処理]のサブルーチンを示す制御フローである。
【図１１Ｂ】図１１Ａに続く制御フローである。
【図１１Ｃ】図１１Ｂに続く制御フローである。
【図１１Ｄ】図１１Ｃに続く制御フローである。
【図１２】図３のステップ3007で実行される噴射タイミング計算[定時処理]のサブルーチンを示す制御フローである。
【図１３Ａ】図４のステップ4002で実行される噴射タイミング計算[回転同期処理]のサブルーチンを示す制御フローである。
【図１３Ｂ】図１３Ａに続く制御フローである。
【図１４】本発明の実施形態によるコントロールユニットの動作を説明するためのタイムチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を用いて本発明の第１の実施形態によるコントロールユニット（内燃機関の制御装置）の構成及び動作を説明する。なお、各図において、同一符号は同一部分を表す。
【００２２】
最初に、図１を用いて、本実施形態の筒内噴射エンジン５０７の制御システム全体構成を説明する。図１は、本発明の実施形態によるコントロールユニット５１５を備えた筒内噴射エンジン５０７の全体構成図である。
【００２３】
筒内噴射エンジン５０７は４気筒からなる。各シリンダ５０７ｂに導入する空気は、エアクリーナ５０２の入口部から取り入れられ、空気流量計（エアフロセンサ）５０３を通り、吸気流量を制御する電制スロットル弁５０５ａが収容されたスロットルボディ５０５を通ってコレクタ５０６に入る。
【００２４】
前記コレクタ５０６に吸入された空気は、エンジン５０７の各シリンダ５０７ｂに接続された各吸気管５０１に分配された後、ピストン５０７ａ、前記シリンダ５０７ｂ等によって形成される燃焼室５０７ｃに導かれる。また、前記エアフロセンサ５０３からは、前記吸気流量を表す信号が本実施形態のコントロールユニット５１５に出力されている。さらに、前記スロットルボディ５０５には、電制スロットル弁５０５ａの開度を検出するスロットルセンサ５０４が取り付けられており、その信号もコントロールユニット５１５に出力されるようになっている。
【００２５】
一方、ガソリン等の燃料は、燃料タンク５０から低圧燃料ポンプ５１により一次加圧されて燃圧レギュレータ５２により一定の圧力（例えば３kg/cm２）に調圧されるとともに、高圧燃料ポンプ１でより高い圧力（例えば５０kg/cm２）に２次加圧され、コモンレール５３を介して各シリンダ５０７ｂに設けられている燃料噴射弁（以下、インジェクタと呼ぶ）５４から燃焼室５０７ｃに噴射される。前記燃焼室５０７ｃに噴射された燃料は、点火コイル５２２で高電圧化された点火信号により点火プラグ５０８で着火される。
【００２６】
エンジン５０７のクランク軸５０７ｄに取り付けられたクランク角センサ(以下ポジションセンサと呼ぶ)５１６は、クランク軸５０７ｄの回転位置を表す信号をコントロールユニット５１５に出力する。また、排気弁５２６の開閉タイミングを可変にする機構を備えたカム軸（図示省略）に取り付けられたクランク角センサ(以下フェーズセンサと呼ぶ)５１１は、前記カム軸の回転位置を表す角度信号をコントロールユニット５１５に出力する。
【００２７】
次に、図２を用いて、前記コントロールユニット５１５の主要部を説明する。図２は、図１に示すコントロールユニット５１５の構成図である。
【００２８】
コントロールユニット５１５は、ＭＰＵ６０３、ＥＰ−ＲＯＭ６０２、ＲＡＭ６０４及びＡ／Ｄ変換器を含むＩ／Ｏ  ＬＳＩ６０１等で構成される。コントロールユニット５１５は、ポジションセンサ５１６、フェーズセンサ５１１、水温センサ５１７、並びに燃圧センサ５６を含む各種のセンサ等からの信号を入力として取り込む。
【００２９】
コントロールユニット５１５は、各種のセンサ等から入力された信号に基づいて、所定の演算処理を実行し、この演算結果として算定された各種の制御信号を、アクチュエータである高圧燃料ポンプソレノイド２００、前記各インジェクタ５４及び点火コイル５２２等に供給する。これにより、燃料噴射量制御及び点火時期制御等が実行される。
【００３０】
次に、図３を用いて、図２のMPU603において、定時処理で実行される制御の一部構成を説明する。図３は、図２に示すMPU603が実行するエンジン制御[定時処理]のメインルーチンを示す制御フローである。定時処理の周期は、一例として、10msである。
【００３１】
ステップ3001では、MPU603は、基本パラメータ演算を実施する。一連の演算の中で、MPU603は、前述のエアフロセンサ５０３の測定値に基づき基本パルス幅TPを演算する。ステップ3002では、MPU603は、燃焼制御の中で多段噴射要求・実施状態判定を演算する。ステップ3003では、MPU603は、点火時期制御[定時処理]を実施する。
【００３２】
ステップ3004では、MPU603は、ISC(Idle Speed Control)制御を実施する。ステップ3005では、MPU603は、トルク制御を実施する。ステップ3006では、MPU603は、噴射パルス幅計算[定時処理]を実施する。ステップ3007では、MPU603は、噴射タイミング計算[定時処理]を実施する。
【００３３】
なお、多段噴射要求・実施状態判定（ステップ3002）、点火時期制御[定時処理]（ステップ3003）、トルク制御（ステップ3005）、噴射パルス幅計算[定時処理]（ステップ3006）、噴射タイミング計算[定時処理]（ステップ3007）については、図６、図７、図９、図１０、図１２をそれぞれ用いて、後述する。
【００３４】
図４は、図２のMPU603において、回転同期処理で実行される制御の一部構成を説明する。図４は、図２に示すMPU603が実行するエンジン制御[回転同期処理その１]のメインルーチンを示す制御フローである。同期タイミングは、一例として、排気BDC(Bottom Dead Center)である。
【００３５】
ステップ4001では、MPU603は、図３のステップ3006の噴射パルス幅計算[定時処理]の算出情報を参照し、噴射パルス幅計算[回転同期処理]を実施する。ステップ4002では、MPU603は、図３のステップ3007の噴射タイミング計算[定時処理]の算出情報を参照し、噴射タイミング計算[回転同期処理]を実施する。
【００３６】
なお、噴射タイミング計算[回転同期処理]（ステップ4002）については、図１３を用いて、後述する。
【００３７】
次に、図５を用いて、ある回転同期処理で実行される制御全体構成を説明する。図５は、図２に示すMPU603が実行するエンジン制御[回転同期処理その２]のメインルーチンを示す制御フローである。同期タイミングは、一例として、BTDC（Before Top Death Center）70°CA（クランク角）である。
【００３８】
ステップ5001では、MPU603は、点火時期制御[回転同期]を実施する。なお、点火時期制御[回転同期]（ステップ5001）については、図８を用いて後述する。
【００３９】
次に、図６を用いて、図3のステップ3002で実行される多段噴射要求・実施状態判定の演算を示す。図６は、図3のステップ3002で実行される多段噴射要求・実施状態判定[定時処理]のサブルーチンを示す制御フローである。
【００４０】
ステップ6001では、MPU603は、エンジン運転領域(エンジン回転数やエンジン負荷等に基づく)、水温等の環境条件、運転者操作等に基づき、多段噴射要求の有無を示すフラグxMLTINJFを演算（設定）する。
【００４１】
ステップ6002では、MPU603は、ステップ6001で算出した多段噴射要求のフラグxMLTINJFを参照し、多段噴射要求の有無を判定する。多段噴射要求がある（xMLTINJF＝１）場合は、ステップ6003に進む。多段噴射要求が無い（xMLTINJF＝０）場合はステップ6006に進む。ステップ6003では、MPU603は、図１１Ａのステップ11012で算出される#1気筒確定噴射回数に基づき、第1気筒が多段噴射か否かを判定する。多段噴射実施時は、ステップ6004に進む。多段噴射非実施時はステップ6008に進む。
【００４２】
ステップ6004では、MPU603は、図１１Ｂのステップ11022で算出される#2気筒確定噴射回数に基づき、第2気筒が多段噴射か否かを判定する。多段噴射実施時は、ステップ6005に進む。多段噴射非実施時はステップ6008に進む。
【００４３】
ステップ6005では、MPU603は、図１１Ｃのステップ11032で算出される#3気筒確定噴射回数に基づき、第3気筒が多段噴射か否かを判定する。多段噴射実施時は、ステップ6006に進む。多段噴射非実施時はステップ6008に進む。
【００４４】
ステップ6006では、MPU603は、図１１Ｄのステップ11042で算出される#4気筒確定噴射回数に基づき、第4気筒が多段噴射か否かを判定する。多段噴射実施時は、ステップ6007に進む。多段噴射非実施時はステップ6008に進む。
【００４５】
ステップ6007では、MPU603は、多段噴射実施状態を“実施”(xMISL=1)として算出する。ステップ6008では、多段噴射実施状態を“非実施”(xMISL=0)として算出する。なお、
次に、図７を用いて、図３のステップ3003で示した、点火時期制御[定時処理]を説明する。図７は、図３のステップ3003で実行される点火時期制御[定時処理]のサブルーチンを示す制御フローである。
【００４６】
ステップ7001では、MPU603は、マップ検索値に基づき点火マップ値 ADVMAPDNを求める。ステップ7002では、MPU603は、エンジン冷間始動後のFast Idle時の点火リタード量であるFI点火リタード量 FIRTDを求める。
【００４７】
ステップ7003では、図６のステップ6007あるいはステップ6008で算出される多段噴射実施状態を示すフラグxMILSに基づき、多段噴射実施状態が実施(xMISL=1)か、非実施(xMISL=0)かどうかを判定する。MPU603は、多段噴射実施状態が実施と判定した時はステップ7004に進む。MPU603は、多段噴射実施状態が非実施と判定した時はステップ7005に進む。
【００４８】
ここで、MPU603は、定時処理において、第１の段数（＝１）の燃料噴射から第２の段数（＝要求多段噴射回数）の燃料噴射へ切り替える要求があり（xMLTINJF＝１）、かつ、筒内噴射エンジンのすべての気筒が第２の段数の燃料噴射を実施するための条件を満たしている状態を示すスタンバイ状態（xMISL＝1）であるか否かを判定する判定部として機能する。
【００４９】
ステップ7004では、MPU603は、多段噴射用点火時期補正量に有効補正量(一例では：非０値)を設定し、ステップ7006に進む。ステップ7005では、MPU603は、多段噴射用点火時期補正量に無効補正量(一例：０値)を設定し、ステップ7006に進む。ステップ7006では、MPU603は、マップ検索値(ADVMAPDN)、ステップ7004あるいはステップ7005で求めた多段噴射用点火時期補正量MINJADV、その他補正量に基づき、基本点火進角検索値STDMを計算し、ステップ7007に進む。
【００５０】
ステップ7007では、MPU603は、ステップ7006で求めた基本点火進角検索値STDM、その他補正量に基づき、基本点火時期STDを計算し、ステップ7008に進む。ステップ7008では、MPU603は、ステップ7002で求めたFI点火リタード量 FIRTD、ステップ7007で求めた基本点火時期STD、そのほか補正量に基づき、要求点火時期ADVを計算し、終了する。
【００５１】
ここで、MPU603は、定時処理において、スタンバイ状態である場合、第２の段数（＝要求多段噴射回数）の燃料噴射に応じて、筒内噴射エンジンを制御する制御部として機能する。例えば、MPU603は、スタンバイ状態（xMISL＝1）である場合、第２の段数の燃料噴射に応じた点火時期に切り替える（ステップ7004〜7008）。
【００５２】
すなわち、MPU603は、スタンバイ状態である場合、第２の段数の燃料噴射に応じた進角となるように点火時期を補正する。
【００５３】
次に、図８を用いて、図５のステップ5001で示した、点火時期制御[回転同期処理]を説明する。図８は、図５のステップ5001で実行される点火時期制御[回転同期処理]のサブルーチンを示す制御フローである。
【００５４】
ステップ8001では、MPU603は、前述のクランク角センサ５１６、フェーズセンサ５１１の検出信号に基づく角度情報に基づき、点火確定タイミングかどうかを判定する。点火確定タイミングの場合はステップ8002に進む。点火確定タイミングでない場合はステップ8003に進む。
【００５５】
ここで、点火確定タイミングは、ある気筒に実際に点火する角度(点火タイミング)に対し所定角度だけ前のタイミングとなっている。ステップ8002では、MPU603は、あらかじめ求めたMBT(Most Best Torque)と、図９のステップ9003で求める点火トルクリダクション率TQRDFSTFと、トルク−点火換算テーブルTRQIGNDIに基づき、目標点火時期FADVSを計算する。
【００５６】
ステップ8003では、MPU603は、目標点火時期FADVSに基づいて、ダイナミックリミット付加点火時期 FADVSDLを計算する。ステップ8004では、MPU603は、ステップ8003のダイナミックリミット付加点火時期FADVSDLに基づき、完爆時進角 ADVSPを計算する。ステップ8005では、MPU603は、ステップ8004の完爆時進角に基づき、最終点火時期 ADVSを計算する。
【００５７】
次に、図９を用いて、図３のステップ3005で示した、トルク制御を説明する。図９は、図３のステップ3005で実行されるトルク制御[定時処理]のサブルーチンを示す制御フローである。
【００５８】
ステップ9001では、MPU603は、エンジン運転状態等に基づき最適点火時期 MBTを算出する。ステップ9002では、MPU603は、図７のステップ7002で求めたFI点火リタード量FIRTDに相当する空気量計算値他に基づき、要求スロットル開度 REQTVOを計算する。ステップ9003では、MPU603は、図７のステップ7008で求めた要求点火時期ADV他に基づき点火トルクリダクション率 TQRDFSTFを計算する。
【００５９】
次に、図１０を用いて、図３のステップ3006で示した、噴射パルス幅計算[定時処理]を説明する。図１０は、図３のステップ3006で実行される噴射パルス幅計算[定時処理]のサブルーチンを示す制御フローである。
【００６０】
ステップ10001では、MPU603は、図３のステップ3001で求めるTPに基づき、基本パルス幅共通パラメータ TIATMPを計算する。ステップ10002では、MPU603は、ステップ10001で求めた基本パルス幅共通パラメータTIATMP等に基づき補正後パルス幅 TIAAを計算する。ステップ10003では、MPU603は、図６のステップ6001で算出した多段噴射要求xMLTINJF、ステップ10002で求めた補正後パルス幅TIAA等に基づき、基本多段噴射回数 MLTINJNを計算する。
【００６１】
すなわち、MPU603は、定時処理において、第２の段数（＝要求多段噴射回数）及び１段噴射のパルス幅を示す基本パルス幅TPに基づいて、実施可能な燃料噴射の第３の段数（＝基本多段噴射回数 MLTINJN）を計算する計算部として機能する。MPU603は、定時処理において、更新される第３の段数をRAM604に記憶する。
【００６２】
ステップ10004では、MPU603は、第2噴射第1噴射分割比SP21を計算する。ステップ10005では、MPU603は、第2噴射第2噴射分割比SP22を計算する。ステップ10006では、MPU603は、ステップ10002で求めた補正後パルス幅TIAA等に基づき、#1気筒基本噴射パルス幅TICL1を計算する。ステップ10007では、MPU603は、ステップ10002で求めた補正後パルス幅TIAA等に基づき、#2気筒基本噴射パルス幅TICL2を計算する。
【００６３】
ステップ10008では、MPU603は、ステップ10002で求めた補正後パルス幅TIAA等に基づき、#3気筒基本噴射パルス幅TICL3を計算する。ステップ10009では、MPU603は、ステップ10002で求めた補正後パルス幅TIAA等に基づき、#4気筒基本噴射パルス幅TICL4を計算する。
【００６４】
次に、図１１Ａ〜図１１Ｄを用いて、図４のステップ4001で示した、噴射パルス幅計算[回転同期処理]を示す。図１１Ａは、図４のステップ4001で実行される噴射パルス幅計算[回転同期処理]のサブルーチンを示す制御フローである。図１１Ｂは、図１１Ａに続く制御フローである。図１１Ｃは、図１１Ｂに続く制御フローである。図１１Ｄは、図１１Ｃに続く制御フローである。
【００６５】
ステップ11011では、MPU603は、#1気筒噴射確定タイミングか否かを判定する。確定タイミングの場合はステップ11012に進む。確定タイミングでない場合はステップ11021に進む。#1気筒噴射確定タイミングは、#1気筒の噴射を実施する行程に対し、所定の角度前のタイミングである。ステップ11012では、MPU603は、図１０のステップ10003で求めた基本多段噴射回数をラッチし、#1気筒確定噴射回数を計算する。
【００６６】
すなわち、MPU603は、回転同期処理において、RAM604に記憶されている第３の段数（＝基本多段噴射回数 MLTINJN）を参照し、参照された第３の段数をRAM604に記憶する。なお、MPU603は、第３の段数をRAM604と異なる記憶部に記憶してもよい。
【００６７】
ステップ11013では、MPU603は、ステップ11012で求めた#1気筒確定噴射回数MLTINJN1に基づき、確定噴射回数から多段噴射の有無を判定する。
【００６８】
すなわち、MPU603は、筒内噴射エンジンのすべての気筒について、第２の段数（＝要求多段噴射回数）とRAM604に記憶された第３の段数（＝基本多段噴射回数 MLTINJN）が同じ場合、第２の段数の燃料噴射を実施するための条件を満たしていると判定する。
【００６９】
多段噴射有りの場合はステップ11014に進む。多段噴射なしの場合はステップ11018に進む。ステップ11014では、MPU603は、図１０のステップ10004で求めた第2噴射第1噴射分割比SP21に基づき、#1気筒多段噴射第1分割比SPMLT11を計算する。
【００７０】
ステップ11015では、MPU603は、図１０のステップ10005で求めた第2噴射第2噴射分割比SP22に基づき、#1気筒多段噴射第2分割比SPMLT12を計算する。ステップ11016では、MPU603は、ステップ11014で求めた#1気筒多段噴射第1分割比SPMLT11に基づき、#1気筒確定第1パルス幅TICLFXL11を計算する。ステップ11017では、MPU603は、ステップ11015で求めた#1気筒多段噴射第2分割比SPMLT12に基づき、#1気筒確定第2パルス幅TICLFXL12を計算する。
【００７１】
ステップ11018では、MPU603は、1段噴射用に、#1気筒確定第１パルス幅TICLFXL11を計算する。ステップ11019では、MPU603は、1段噴射用に、#1気筒確定第2パルス幅TICLFXL12を無効値(例：0値)として計算する。
【００７２】
図１１Ｂは、#2気筒の場合の噴射パルス幅計算であり、図１１Ａで示した#1気筒の場合と同様であるため、詳細は省略する。
【００７３】
図１１Ｃは、#3気筒の場合の噴射パルス幅計算であり、図１１Ａで示した#1気筒の場合と同様であるため、詳細は省略する。
【００７４】
図１１Ｄは、#4気筒の場合の噴射パルス幅計算であり、図１１Ａで示した#1気筒の場合と同様であるため、詳細は省略する。
【００７５】
次に、図１２を用いて、図３のステップ3007で示した、噴射タイミング計算[定時処理]を説明する。図１２は、図３のステップ3007で実行される噴射タイミング計算[定時処理]のサブルーチンを示す制御フローである。
【００７６】
ステップ12011では、MPU603は、#1気筒第1噴射基本噴射タイミングSETCA121を計算し、ステップ12012に進む。ステップ12012では、MPU603は、#1気筒第2噴射基本噴射タイミングSETCA122を計算し、ステップ12021に進む。
【００７７】
ステップ12021では、MPU603は、#2気筒第1噴射基本噴射タイミングSETCA221を計算し、ステップ12022に進む。ステップ12022では、MPU603は、#2気筒第2噴射基本噴射タイミングSETCA222を計算し、ステップ12031に進む。
【００７８】
ステップ12031では、MPU603は、#3気筒第1噴射基本噴射タイミングSETCA321を計算し、ステップ12032に進む。ステップ12032では、MPU603は、#3気筒第2噴射基本噴射タイミングSETCA322を計算し、ステップ12041に進む。
【００７９】
ステップ12041では、MPU603は、#4気筒第1噴射基本噴射タイミングSETCA421を計算し、ステップ12042に進む。ステップ12042では、MPU603は、#4気筒第2噴射基本噴射タイミングSETCA422を計算し、終了する。
【００８０】
次に、図１３を用いて、図４のステップ4002で示した、噴射タイミング計算[回転同期処理]を説明する。図１３Ａは、図４のステップ4002で実行される噴射タイミング計算[回転同期処理]のサブルーチンを示す制御フローである。図１３Ｂは、図１３Ａに続く制御フローである。
【００８１】
ステップ13011では、MPU603は、#1気筒噴射確定タイミングか否かを判断する。確定タイミングの場合はステップ13012に進む。確定タイミングでない場合は終了する。ステップ13012では、MPU603は、#1気筒確定第1噴射タイミングを計算し、ステップ13013に進む。ステップ13013では、MPU603は、#1気筒確定第2噴射タイミングを計算し、ステップ13021に進む。
【００８２】
ステップ13021では、MPU603は、#2気筒噴射確定タイミングか否かを判断する。確定タイミングの場合はステップ13022に進む。確定タイミングでない場合は終了する。ステップ13022では、MPU603は、#2気筒確定第1噴射タイミングを計算し、ステップ13023に進む。ステップ13023では、MPU603は、#2気筒確定第2噴射タイミングを計算する。
【００８３】
図１３Ｂは、#3気筒、#4気筒の場合の噴射パルス幅計算であり、図１３Ａで示した#1気筒、#2気筒の場合と同様であるため、詳細は省略する
本実施例としては、多段噴射として２段噴射の場合について記載したが、３段噴射やより多い段数の多段噴射の場合であっても、わずかな変更の追加で対応可能である。
【００８４】
次に、図１４を用いて、コントロールユニット５１５の動作タイミングを説明する。図１４は、本発明の実施形態によるコントロールユニット５１５の動作を説明するためのタイムチャートである。図１４の横軸は、時間である。図１４（Ａ）の縦軸は、多段噴射要求の有無を示すフラグxMLTINJFの値を示す。図１４（Ｂ）〜（Ｅ）の縦軸は、それぞれ、#1気筒確定噴射回数MLTINJN1、#3気筒確定噴射回数MLTINJN3、#2気筒確定噴射回数MLTINJN4、#4気筒確定噴射回数MLTINJN4の値を示す。
【００８５】
図１４（Ｆ）の縦軸は、多段噴射実施状態を示すフラグxMILSの値を示す。図１４（Ｇ）の縦軸は、点火時期補正時の進角を示す。
【００８６】
MPU603は、多段噴射要求があり（xMLTINJF＝１）、かつ、すべての気筒が多段噴射を実施するための条件を満たしている場合（MLTINJN1＝MLTINJN2＝MLTINJN3＝MLTINJN4＝要求多段噴射回数）、多段噴射実施状態を示すフラグxMILSの値を０から１に変更する。MPU603は、多段噴射実施状態を示すフラグxMILS＝１の場合、要求多段噴射回数に応じた進角となるように点火時期を補正する。
【００８７】
なお、上記実施形態では、１段噴射から所定の多段噴射に切り替える場合を説明しているが、ｍ段噴射からｎ段噴射（ｍ＞ｎ；ｍ、ｎ：自然数）に切り替える場合も同様である。
【００８８】
（変形例）
ｍ段噴射（ｍ≧２、ｍ：自然数）から１段噴射に切り替える場合、MPU603は、第１の段数の燃料噴射から前記第２の段数の燃料噴射へ切り替える要求があり、かつ、前記筒内噴射エンジンの１つの気筒が前記第２の段数の燃料噴射を実施するための条件を満たしている場合、前記第２の段数の燃料噴射に応じた点火時期に切り替えるようにしてもよい。これにより、切り替えの判定にかかる時間を短縮できる。
【００８９】
以上説明したように、本実施形態によれば、多段噴射の切り替えがあっても、エンジンを好適に制御することができる。
【００９０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記した実施例は本発明を分かりやすく説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
【００９１】
上記実施形態では、多段噴射実施状態（スタンバイ状態）を示すフラグxMILSに基づいて、インジェクタ５４、点火コイル５２２などのアクチュエータを制御することにより、燃料噴射制御、点火時期制御を行っているが、フラグxMILSに基づいて、高圧燃料ポンプソレノイド２００など他のアクチュエータを制御するようにしてもよい。
【符号の説明】
【００９２】
１…高圧燃料ポンプ
５１…低圧燃料ポンプ
５３…コモンレール
５４…インジェクタ
５６…燃圧センサ
５０７…筒内噴射エンジン
５１５…コントロールユニット
【図１】
0006370174.tif 000002
【図２】
0006370174.tif 000003
【図３】
0006370174.tif 000004
【図４】
0006370174.tif 000005
【図５】
0006370174.tif 000006
【図６】
0006370174.tif 000007
【図７】
0006370174.tif 000008
【図８】
0006370174.tif 000009
【図９】
0006370174.tif 000010
【図１０】
0006370174.tif 000011
【図１１Ａ】
0006370174.tif 000012
【図１１Ｂ】
0006370174.tif 000013
【図１１Ｃ】
0006370174.tif 000014
【図１１Ｄ】
0006370174.tif 000015
【図１２】
0006370174.tif 000016
【図１３Ａ】
0006370174.tif 000017
【図１３Ｂ】
0006370174.tif 000018
【図１４】
0006370174.tif 000019