以下、図面を参照して本発明の実施形態に係る燃料噴射制御装置について説明する。図1に示したように、内燃機関10は4サイクル・火花点火式・筒内燃料噴射型ガソリン機関である。
機関10は、シリンダブロック12及びシリンダヘッド13を有する。シリンダブロック12には、シリンダボア14が形成されている。シリンダボア14内には、ピストン15が嵌装されている。シリンダヘッド13の壁面とシリンダボア14の内周壁面とピストン15の冠面とにより燃焼室11が画成されている。図示していないが、機関10は4つの燃焼室(気筒)11を有する。シリンダヘッド13には、燃焼室11にそれぞれ連通する吸気ポート30及び排気ポート40が形成されている。更に、シリンダヘッド13には、「燃焼室11側の吸気ポート30の端部開口を閉鎖したり開放したりする吸気弁31」及び「燃焼室11側の排気ポート40の端部開口を閉鎖したり開放したりする排気弁41」が配設されている。
機関10は吸気管32を有する。吸気管32は、その内部通路が吸気ポート30に連通するようにシリンダヘッド13に接続されている。吸気管32の内部通路内には、スロットル弁33が配置されている。更に、機関10は排気管42を有する。排気管42は、その内部通路が排気ポート40に連通するようにシリンダヘッド13に接続されている。排気管42の内部通路には、排気中の成分を浄化するための排気浄化触媒43が配置されている。排気浄化触媒43は、その温度(以下「触媒温度」)が活性温度以上であるときに排気中の成分を浄化する機能を発揮する。
シリンダヘッド13には、各燃焼室11にそれぞれ対応して1つの点火装置16及び1つの燃料噴射弁17が配設されている。点火装置16は、イグナイタ、イグニッションコイル及び点火プラグを含む。噴射弁17は、筒内(即ち、燃焼室11内)に燃料を直接噴射するようにシリンダヘッド13に配設されている。
噴射弁17には、燃料供給管18を介して燃料ポンプ19が接続されている。燃料ポンプ19は機関10の回転と共に回転するカム(図示せず)により駆動される。燃料ポンプ19は「低圧燃料ポンプ(図示せず)によりフューエルタンク(図示せず)から供給される燃料」の圧力を上昇させ、その上昇させた高圧の燃料を燃料供給管18を介して噴射弁17に供給する。
燃料ポンプ19は、その燃料吸入部に電磁弁(図示せず)を備えている。電磁弁はECU80からの指示に基づいて燃料ポンプ19の吸入動作開始時に開かれ且つ加圧動作中の所定のタイミングにて閉じられる。この電磁弁が閉じられるタイミングが早くなるほど、燃料ポンプ19のプランジャ(図示せず)の有効ストロークが長くなるので、燃料ポンプ19から吐出される燃料の量が多くなる。その結果、噴射弁17に供給される燃料の圧力が上昇する。
燃料供給管18には、燃圧(即ち、燃料供給管18内の燃料の圧力)を検出するための燃圧センサ20が配設されている。スロットル弁33よりも上流の吸気管32には、吸気管32の内部通路を流れる空気の流量を検出するためのエアフローメータ(吸気量センサ)34が配設されている。シリンダブロック12には、筒内圧(即ち、燃焼室11内の圧力)を検出するための筒内圧センサ21が配設されている。筒内圧センサ21は、各燃焼室11にそれぞれ対応して1つずつ設けられてもよいし、何れか1つの燃焼室11にのみ設けられてもよい。更に、シリンダブロック12には、機関10を冷却するための冷却水の温度を検出するための冷却水温センサ22が配設されている。アクセルペダル23には、アクセルペダル23の踏込量を検出するためのアクセルペダル踏込量センサ24が取り付けられている。更に、機関10には、クランクシャフト25に近接してクランク角度センサ26が配設されている。
ECU80は、CPU81、ROM82、RAM(メモリ)83、バックアップRAM84、タイマー(フリーランカウンタ)85、入出力インターフェース86、コンペアレジスタ87、駆動回路88、ADコンバータ89、マルチプレクサ90、エッヂ検出回路91及び波形整形回路92等を含む周知のマイクロコンピュータを備える電子制御回路(電子制御ユニット)である。
レジスタ87は、噴射弁17及び点火装置16のそれぞれに対応して1つずつ設けられており、駆動回路88を通じて、「対応する噴射弁17への通電・通電停止」及び「対応する点火装置16の通電・通電停止」を行うことができる。
上述したセンサは、マルチプレクサ90を介してADコンバータ89に接続されている。燃圧センサ20は、燃圧に応じた電圧を出力する。筒内圧センサ21は、筒内圧に応じた電圧を出力する。冷却水温センサ22は、冷却水温に応じた電圧を出力する。アクセルペダル踏込量センサ24は、アクセルペダル23の踏込量に応じた電圧を出力する。エアフローメータ34は、そこを通過する空気の流量に応じた電圧を出力する。ECU80は、これら電圧を用いて、燃圧、筒内圧、冷却水温、アクセルペダル踏込量及び吸気量(即ち、燃焼室11内に吸入される空気の量)をサンプリング(取得)する。尚、ECU80は、取得したアクセルペダル踏込量を含むパラメータ値に応じてスロットル弁33の開度を制御する。
クランク角度センサ26は、波形整形回路92と共に、クランクシャフト25が所定角度(本例においては、10°)回転する毎にパルス信号(矩形波信号)を出力する。即ち、そのパルス信号は、クランクシャフト25が10°回転すると「0(V)」から所定電圧にまで急峻に上昇し、その後、その電圧を維持し、クランクシャフト25が更に10°回転するまでに「0(V)」へと低下する。ECU80は、後に詳述するように、このパルス信号を用いて機関回転速度をサンプリング(取得)する。尚、機関10はカムポジションセンサ(図示せず)も備えている。カムポジションセンサは特定気筒(例えば、第1気筒)が基準位置(例えば、吸気上死点)となったときにのみパルス信号を出力するようになっている。ECU80は、このパルス信号を検出し、このパルス信号とクランク角度センサ26からのパルス信号とに基づいて特定気筒の基準位置を基準とした絶対クランク角度を演算するようになっている。
ECU80においては、タイマー85が示す時刻が予め定められた時刻と一致したとき、CPU81に割込み処理が発生する。この割込み処理は便宜上「タイマー割込み処理」とも称呼される。更に、クランク角度センサ26から波形整形回路92を通じて送られて来るパルスの立ち上がりエッヂをエッヂ検出回路91が検出したときにも、CPU81に割込み処理が発生する。この割込み処理は便宜上「エッヂ割込み処理」とも称呼される。加えて、タイマー85が示す時刻がレジスタ87にセットされた時刻と一致したときにも、CPU81に割込み処理が発生する。この割込み処理は便宜上「コンペアレジスタ割込み処理」とも称呼される。
CPU81は、マルチプレクサ90により選択されたセンサ(クランク角度センサ26を除く)の出力電圧をADコンバータ89を用いて予め定められた順序(AD変換スケジュール)に従ってAD変換することにより、上述した種々のパラメータ値(燃圧、筒内圧、冷却水温、吸気量及びアクセルペダル踏込量等)をサンプリングする。この動作はタイマー割込み処理により実行される。
更に、CPU81は、クランク角度センサ26からのパルス信号の立ち上がりエッヂがエッヂ検出回路91により検出されたときにエッヂ割込み処理を実行して現在の時刻をタイマー85から読み込む。加えて、CPU81は、前回の立ち上がりエッヂ検出時に読み込んだ時刻と今回の立ち上がりエッヂ検出時に読み込んだ時刻とから、クランクシャフト25が10°回転するのに要した時間を求め、その時間から機関回転速度NE10をサンプリング(取得)する。或いは、CPU81は、前回の立ち上がりエッヂ検出時に読み込んだ時刻と3回前の立ち上がりエッヂ検出時に読み込んだ時刻とから、クランクシャフト25が30°回転するのに要した時間を求め、その時間から機関回転速度NE30をサンプリング(取得)する。
<燃料噴射制御装置の作動>
以下、このように構成された燃料噴射制御装置の作動について、先ず、燃料噴射制御から説明する。
本実施形態においては、詳細は後述するが、「燃料噴射を開始するクランク角度(噴射クランク角度)の演算」、「目標量の燃料を噴射させるために噴射弁17を開弁しておく時間(燃料噴射時間)の演算」及び「或る時点からクランク角度が噴射クランク角度に到達するまでに要する時間(噴射開始までの所要時間)の演算」が「通常演算モード」と「短縮演算モード」とのうちの何れかのモードにて行われる。
通常演算モードは「噴射クランク角度及び燃料噴射時間を通常クランク角度間隔(本例においては、30°クランク角度間隔)毎に演算する」と共に「通常クランク角度間隔のクランク角度のうち、燃料噴射の開始直前のクランク角度(本例においては、0°、30°、60°・・・660°、690°、720°(=0°)の何れか)において前記所要時間を演算する」モードである。
一方、短縮演算モードは「前記通常クランク角度間隔よりも短い短縮クランク角度間隔(本例においては、10°クランク角度間隔)毎に噴射クランク角度及び燃料噴射時間を演算する」と共に「短縮クランク角度間隔のクランク角度のうち、燃料噴射の開始直前のクランク角度(本例においては、0°、10°、20°・・・700°、710°、720°(=0°)の何れか)において前記所要時間を演算する」モードである。
更に、本実施形態においては、詳細は後述するが、「レジスタ87への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」が「通常処理モード」と「短縮処理モード」とのうちの何れかのモードにて行われる。これら「レジスタ87への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」は「噴射開始用処理」とも総称される。
通常処理モードは、通常クランク角度間隔(30°クランク角度間隔)のクランク角度のうち、燃料噴射の開始直前のクランク角度(0°、30°、60°・・・660°、690°、720°(=0°)の何れか)において「レジスタ87への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」を行うモードである。
一方、短縮処理モードは、短縮クランク角度間隔(10°クランク角度間隔)のクランク角度のうち、燃料噴射の開始直前のクランク角度(0°、10°、20°・・・700°、710°、720°(=0°)の何れか)において「レジスタ87への燃料噴射の開始時刻のセット」及び「燃料噴射時間の取得」を行うモードである。
加えて、本実施形態においては、フル噴射とパーシャル噴射とが選択的に実行可能である。フル噴射とは、図2(A)に示したように、ニードルリフト量(即ち、噴射弁17のニードル弁のリフト量)が最大リフト量(フルリフト量)に達した後にニードル弁の閉弁が開始される燃料噴射である。パーシャル噴射とは、図2(B)に示したように、ニードルリフト量が最大リフト量に達する前にニードル弁の閉弁が開始される燃料噴射である。即ち、パーシャル噴射とは、ニードルリフト量が「0」から「最大リフト量よりも小さい部分リフト量(パーシャルリフト量)」にまで増大した時点で直ちにニードルリフト量を「0」にまで減少させることにより行われる燃料噴射である。図2(B)には、パーシャル噴射が3回実行される場合のニードルリフト量の変化が示されている。
そして、本実施形態においては、図2(A)に示したように、通常クランク角度間隔(30°クランク角度間隔)に相当する時間内に燃料噴射(本例においては、フル噴射)を1回のみ開始するシングル噴射制御と、図2(B)に示したように、通常クランク角度間隔に相当する時間内に燃料噴射(本例においては、パーシャル噴射)を複数回(本例においては、連続的に3回)開始するマルチ噴射制御と、が実行可能である。
本実施形態においては、冷間始動条件又は急速触媒暖機条件が成立しているときには、図3に示したように、各気筒♯1〜♯4の1機関サイクルにおいて、吸気行程の中期にシングル噴射制御SIが実行されると共に、圧縮行程の後期にマルチ噴射制御MIが実行される。一方、冷間始動条件及び急速触媒暖機条件の何れもが成立していないときには、図4に示したように、各気筒♯1〜♯4の1機関サイクルにおいて、吸気行程の中期にシングル噴射制御SIのみが実行される。
図3及び図4において、「♯1」〜「♯4」は、それぞれ、第1気筒、第2気筒、第3気筒及び第4気筒を示している。更に、1機関サイクルは、1つの気筒において、吸気・圧縮・爆発・排気の各行程が順に行われる期間であり、4サイクル・レシプロ内燃機関の場合、クランク角度720°が経過する期間である。
前記冷間始動条件は、機関始動要求が発生したときに機関温度(即ち、冷却水温センサ22の出力電圧に基づき推定される機関10の温度)が所定機関温度よりも低い場合に成立し、その後、機関回転速度が所定回転速度以上になった場合(機関始動が完了した場合)に不成立となる条件である。冷間始動とは、機関温度が所定機関温度よりも低い状態における機関始動である。
更に、前記急速触媒暖機条件は、機関始動要求の発生後、機関回転速度が前記所定回転速度以上になったとき(機関始動が完了したとき)に触媒温度が活性温度よりも低い場合に成立し、触媒温度が活性温度以上になったときに不成立となる条件である。急速触媒暖機とは、機関始動の完了後に短時間で触媒温度を活性温度以上にまで上昇させる触媒暖機である。触媒温度は、例えば、冷却水温センサ22の出力電圧に基づき推定される。
冷間始動条件又は急速触媒暖機条件が成立しているときの燃料噴射について具体的に述べると、本実施形態においては、図3に示したように、任意の気筒♯N(N:1〜4)において、吸気行程中期のフル噴射クランク角度(フル噴射を開始するべきクランク角度)が到来すると、その気筒の噴射弁17への通電が開始される。その後、フル噴射時間(フル噴射を実現するための燃料噴射時間)に亘ってその通電が継続される。これにより、フル噴射(シングル噴射制御)が行われる。前記フル噴射時間は、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
更に、図3に示したように、圧縮行程後期の1回目、2回目及び3回目のパーシャル噴射クランク角度(各パーシャル噴射を開始するべきクランク角度)がそれぞれ到来すると、当該気筒の噴射弁17への通電が開始される。その後、第1〜第3パーシャル噴射時間(1回目〜3回目のパーシャル噴射を実現するための燃料噴射時間それぞれに亘ってその通電が継続される。これにより、1回目〜3回目のパーシャル噴射(マルチ噴射制御)が行われる。前記第1〜第3パーシャル噴射時間は、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
尚、実際には、噴射弁17への通電が開始されたとしても、噴射弁17は即座には開弁せず、噴射弁17への通電開始から一定時間が経過したときに燃料が噴射され始める。このように噴射弁17への通電開始から燃料が噴射され始めるまでの時間は「無効噴射時間」と称呼される。各燃料噴射時間には、この無効噴射時間が含まれている。
一方、冷間始動条件及び急速触媒暖機条件が成立していないときの燃料噴射について具体的に述べると、本実施形態においては、図4に示したように、任意の気筒♯N(N:1〜4)において、吸気行程中期のフル噴射クランク角度(フル噴射を開始するべきクランク角度)が到来すると、その気筒の噴射弁17への通電が開始される。その後、フル噴射時間に亘ってその通電が継続される。これにより、フル噴射(シングル噴射制御)が行われる。この場合のフル噴射時間も、後述するようにサンプリングされた「機関運転状態を表す複数種類のパラメータ値」に基づき演算される。
<燃料噴射の概要>
次に、上述した燃料噴射を実現するためのECU80の作動の概要について図5〜図7を参照して説明する。
1.フル噴射の実現
先ず、前記シングル噴射制御SIの1回のフル噴射を実現するために、図5に示したように、一定時間T1が経過する毎にタイマー割込み処理により「機関負荷KL、燃圧Pf及び筒内圧Pcのサンプリング」を予め定められた順序(AD変換スケジュール)で行うと共に、クランク角度0°を出発点としてクランク角度30°が経過する毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「噴射用演算」を行う場合について説明する。
この場合において、噴射用演算とは、フル噴射に必要な制御値(本例においては、フル噴射クランク角度及びフル噴射時間)を各種のパラメータ値(本例においては、機関回転速度NE30、機関負荷KL、燃圧Pf及び筒内圧Pc)に基づき計算することを言う。
更に、この場合において、サンプリングされる機関回転速度NEは、先述したように、クランクシャフト25が30°回転するのに要した時間から求められる「機関回転速度NE30」である。
加えて、機関負荷KLは、実際には、一定時間T1が経過する毎にエアフローメータ34の出力電圧に基づいて吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「後述するように30°クランク角度間隔毎にサンプリングされる機関回転速度NE30のうち、その時点にて最新の機関回転速度NE30」とに基づき演算されるが、このような機関負荷KLの演算動作(取得動作)を機関負荷KLのサンプリングと称呼する。
噴射用演算について具体的に述べると、ECU80のCPU81は、30°クランク角度間隔で(即ち、クランク角度0°、30°、60°、90°、・・・、660°、690°、720°(=0°)において)実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度NE30及び機関負荷KL」(即ち、最新のパラメータ値)に基づいて、図8(A)に示したルックアップテーブルから「フル噴射クランク角度(フル噴射を開始するべきクランク角度)CAf」を決定(演算)すると共に、その時点にて得られている最新の「機関回転速度NE30、機関負荷KL、燃圧Pf及び筒内圧Pc」(即ち、最新のパラメータ値)に基づいて「フル噴射時間(フル噴射を実現するための燃料噴射時間)TAUf」を演算する。
本例において、各噴射用演算に用いられる最新の「機関回転速度NE30」は、各噴射用演算が行われるクランク角度にてサンプリングされる「NE30」であり、各噴射用演算に用いられる最新の「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」である。
尚、フル噴射クランク角度は、フル噴射を行う気筒における吸気上死点(クランク角度0°)からのクランク角度により表される。
次いで、CPU81は、現時点から次の噴射用演算(次のエッヂ割込み処理に基づく噴射用演算)が行われるクランク角度(つまり、30°後のクランク角度)までの間に「フル噴射クランク角度CAf」が到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「フル噴射クランク角度CAf」が到来しない場合、CPU81は、噴射弁17への通電(フル噴射)を開始するための「追加の噴射用演算及び処理(噴射開始用処理)」を行わない。
この場合において、追加の噴射用演算とは、「現時点からクランク角度がフル噴射クランク角度CAfに到達するまでに要する時間(フル噴射開始までの所要時間)」を計算することを言う。更に、噴射開始用処理とは、「クランク角度がフル噴射クランク角度CAfに到達する時刻(フル噴射の開始時刻)」をレジスタ87にセットすると共に「その時点にて得られている最新のフル噴射時間TAUf」を取得することを言う。
図5に示した例においては、60°と90°との間に「フル噴射クランク角度CAf」が到来する。従って、CPU81は、クランク角度が60°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度90°)までの間に「フル噴射クランク角度CAf」が到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
追加の噴射用演算においては、CPU81は、フル噴射クランク角度CAf(最新の制御値)とクランク角度60°との差Δθfを、その時点にて得られている最新の機関回転速度NE30に基づいて「現時点(クランク角度が60°に到達した時点)からクランク角度がフル噴射クランク角度CAfに到達するまでに要する時間(即ち、フル噴射開始までの所要時間)ΔTf」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE30」は、クランク角度60°にてサンプリングされた「NE30」である。
続く噴射開始用処理においては、CPU81は、「タイマー85が示す現在の時刻に前記所要時間ΔTf(最新の制御値)を加えた時刻(フル噴射の開始時刻)Tf」を「フル噴射を行うべき噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、そのレジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「フル噴射時間TAUf(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される最新の「フル噴射時間TAUf」は、クランク角度が60°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUf」である。更に、前記取得される最新のフル噴射時間TAUfの演算に用いられた「機関回転速度NE30」は、クランク角度60°にてサンプリングされた「NE30」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度60°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図5の時刻t1にてサンプリングされた燃圧である。
この結果、タイマー85が示す時刻(タイマー時刻)が「前記レジスタ87にセットされたフル噴射の開始時刻Tf」と一致すると、図5(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存されたフル噴射時間TAUf」を加えた時刻(フル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされたフル噴射の終了時刻Te」と一致すると(即ち、フル噴射時間TAUfが経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度がフル噴射クランク角度CAfに一致すると推定される時刻Tfからフル噴射時間TAUfだけ前記噴射弁17への通電が行われ、これにより、フル噴射が行われる。
2.パーシャル噴射をフル噴射と同様に実現した場合の課題
次に、前記マルチ噴射制御MIの3回のパーシャル噴射を前記フル噴射と同様に実現した場合の課題について図6を参照して説明する。
この場合、CPU81は、前記フル噴射を行う場合と同様に、一定時間T1が経過する毎にタイマー割込み処理により「機関負荷KL、燃圧Pf及び筒内圧Pc」のサンプリングを予め定められた順序(AD変換スケジュール)で行うと共に、クランク角度0°を出発点としてクランク角度30°が経過する毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「噴射用演算」を行う。
この場合において、噴射用演算とは、パーシャル噴射に必要な制御値(本例においては、第1〜第3パーシャル噴射クランク角度及び第1〜第3パーシャル噴射時間)を各種のパラメータ値(本例においては、機関回転速度NE、機関負荷KL、燃圧Pf及び筒内圧Pc)に基づき計算することを言う。
更に、この場合においても、サンプリングされる機関回転速度NEは、先に述べた機関回転速度NE30である。
加えて、この場合においても、機関負荷KLは、一定時間T1が経過する毎にエアフローメータ34の出力電圧に基づいて吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「30°クランク角度間隔毎にサンプリングされる機関回転速度NE30のうち、その時点にて最新の機関回転速度NE30」とに基づき演算される。
この場合の噴射用演算について具体的に述べると、CPU81は、30°クランク角度間隔で実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度NE30及び機関負荷KL」に基づいて、図8(B)のルックアップテーブルから「第1パーシャル噴射クランク角度(1回目のパーシャル噴射を開始するべきクランク角度)CAp1」を決定(演算)すると共に、その時点にて得られている最新の「機関回転速度NE30、機関負荷KL、燃圧Pf及び筒内圧Pc」に基づいて「第1パーシャル噴射時間(1回目のパーシャル噴射を実現するための燃料噴射時間)TAUp1」を演算する。
更に、CPU81は、前記演算された第1パーシャル噴射クランク角度CAp1に所定クランク角度a°を加えることにより「第2パーシャル噴射クランク角度(2回目のパーシャル噴射を開始するべきクランク角度)CAp2」を演算すると共に、この第2パーシャル噴射クランク角度に前記所定クランク角度a°を加えることにより「第3パーシャル噴射クランク角度(3回目のパーシャル噴射を開始するべきクランク角度)CAp3」を演算する。加えて、CPU81は、その時点にて得られている最新の「機関回転速度NE30、機関負荷KL、燃圧Pf及び筒内圧Pc」に基づいて「第2及び第3パーシャル噴射時間(2回目及び3回目のパーシャル噴射を実現するための燃料噴射時間)TAUp2及びTAUp3」を演算する。
本例においても、各噴射用演算に用いられる最新の「機関回転速度NE30」は、各噴射用演算が行われるクランク角度にてサンプリングされる「NE30」であり、各噴射用演算に用いられる最新の「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」である。
尚、パーシャル噴射クランク角度は、パーシャル噴射を行う気筒における吸気上死点(クランク角度0°)からのクランク角度により表される。
次いで、CPU81は、現時点から次の噴射用演算(次のエッヂ割込み処理に基づく噴射用演算)が行われるクランク角度(つまり、30°後のクランク角度)までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れも到来しない場合、CPU81は、噴射弁17への通電を開始するための「追加の噴射用演算及び処理(噴射開始用処理)」を行わない。
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象パーシャル噴射クランク角度CAp1〜CAp3(次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度)に到達するまでに要する時間(パーシャル噴射開始までの所要時間)」を計算することを言う。
更に、噴射開始用処理とは、「クランク角度が対象パーシャル噴射クランク角度CAp1〜CAp3(次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度)に到達する時刻(パーシャル噴射の開始時刻)」をレジスタ87にセットすると共に、「その時点にて得られている最新のパーシャル噴射時間TAUp1〜TAUp3(対象パーシャル噴射クランク角度において噴射を開始するべきパーシャル噴射を実現するための燃料噴射時間)」を取得することを言う。
図6に示した例においては、300°と330°との間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れも到来する。従って、CPU81は、クランク角度が300°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度330°)までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れも到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
追加の噴射用演算においては、CPU81は、各パーシャル噴射クランク角度CAp1〜CAp3(最新の制御値)とクランク角度300°との差Δθp1〜Δθp3を、その時点にて得られている最新の機関回転速度NE30に基づいて「現時点(クランク角度が300°に到達した時点)からクランク角度が各パーシャル噴射クランク角度CAp1〜CAp3に到達するまでに要する時間(即ち、1回目〜3回目のパーシャル噴射開始までの所要時間)ΔTp1〜ΔTp3」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE30」は、クランク角度300°にてサンプリングされた「NE30」である。
続く噴射開始用処理においては、CPU81は、「タイマー85が示す現在の時刻に前記所要時間ΔTp1(最新の制御値)を加えた時刻(1回目のパーシャル噴射の開始時刻)Tp1を「1回目のパーシャル噴射を行うべき噴射弁17に対応するレジスタ87」にセットすると共に、「前記現在の時刻に前記所要時間ΔTp2及びΔTp3(最新の制御値)をそれぞれ加えた時刻(2回目及び3回目のパーシャル噴射の開始時刻)Tp2及びTp3」をメモリに保存する。加えて、CPU81は、前記レジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「第1〜第3パーシャル噴射時間TAUp1〜TAUp3(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される「第1〜第3パーシャル噴射時間TAUp1〜TAUp3」は、クランク角度が300°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUp1〜TAUp3」である。更に、前記取得される最新の第1〜第3パーシャル噴射時間TAUp1〜TAUp3の演算に用いられた「機関回転速度NE30」は、クランク角度300°にてサンプリングされた「NE30」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度300°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図6の時刻t5にてサンプリングされた燃圧である。
この結果、タイマー85が示す時刻(タイマー時刻)が「前記レジスタ87にセットされた1回目のパーシャル噴射の開始時刻Tp1」と一致すると、図6(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第1パーシャル噴射時間TAUp1」を加えた時刻(1回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた1回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第1パーシャル噴射時間TAUp1が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第1パーシャル噴射クランク角度CAp1に一致すると推定される時刻Tp1から第1パーシャル噴射時間TAUp1だけ前記噴射弁17への通電が行われ、これにより、1回目のパーシャル噴射が行われる。
更に、1回目のパーシャル噴射が終了すると(即ち、前記噴射弁17への通電が停止されると)、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「前記メモリに保存された2回目のパーシャル噴射の開始時刻Tp2」を「前記噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、そのレジスタ87の噴射開始フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた2回目のパーシャル噴射の開始時刻Tp2」と一致すると、図6(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第2パーシャル噴射時間TAUp2」を加えた時刻(2回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた2回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第2パーシャル噴射時間TAUp2が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第2パーシャル噴射クランク角度CAp2に一致すると推定される時刻Tp2から第2パーシャル噴射時間TAUp2だけ前記噴射弁17への通電が行われ、これにより、2回目のパーシャル噴射が行われる。
更に、2回目のパーシャル噴射が終了すると(即ち、前記噴射弁17への通電が停止されると)、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「前記メモリに保存された3回目のパーシャル噴射の開始時刻Tp3」を「前記噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、そのレジスタ87の噴射開始フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた3回目のパーシャル噴射の開始時刻Tp3」と一致すると、図6(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第3パーシャル噴射時間TAUp3」を加えた時刻(3回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた3回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第3パーシャル噴射時間TAUp3が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第3パーシャル噴射クランク角度CAp3に一致すると推定される時刻Tp3から第3パーシャル噴射時間TAUp3だけ前記噴射弁17への通電が行われ、これにより、3回目のパーシャル噴射が行われる。
ところが、図6(B)に示したように、マルチ噴射制御の実行中(即ち、1回目のパーシャル噴射の開始から3回目のパーシャル噴射の終了までの間)に「機関回転速度NE及び/又は燃圧Pf」が変化することがある。しかしながら、図6に示した例においては、この場合であっても、「第2及び第3パーシャル噴射時間TAUp2及びTAUp3」並びに「2回目及び3回目のパーシャル噴射開始までの所要時間ΔTp2及びΔTp3」の演算には、変化前の「機関回転速度NE及び燃圧Pf」(即ち、クランク角度300°における機関回転速度NE及び時刻t5における燃圧Pf)が用いられている。このため、この演算に用いられた「機関回転速度NE及び燃圧Pf」は、それぞれ、「2回目及び3回目のパーシャル噴射の開始時刻Tp2及びTp3」における「機関回転速度NE及び燃圧Pf」から大きく乖離している。
勿論、マルチ噴射制御の実行中に「機関負荷KL及び/又は筒内圧Pc」が変化することもあり、この場合にも、「第2及び第3パーシャル噴射時間TAUp2及びTAUp3」の演算に、変化前の「機関負荷KL及び筒内圧Pc」が用いられる。この場合、この演算に用いられた「機関負荷KL及び筒内圧Pc」も、それぞれ、「2回目及び3回目のパーシャル噴射の開始時刻Tp2及びTp3」における「機関負荷KL及び筒内圧Pc」から大きく乖離している。
こうしたことから、演算された「TAUp2及びTAUp3」並びに「ΔTp2及びΔTp3」を用いて2回目及び3回目のパーシャル噴射が行われたとしても、各パーシャル噴射において、適切な燃料噴射が実現されない可能性ある。
3.噴射用演算の実行間隔を短縮した場合のパーシャル噴射の実現
次に、噴射用演算の実行間隔を10°クランク角度間隔に短縮してマルチ噴射制御のパーシャル噴射を実現した場合について図7を参照して説明する。この場合、CPU81は、一定時間T1が経過する毎にタイマー割込み処理により各種のパラメータ値(本例においても、機関負荷KL、燃圧Pf及び筒内圧Pc)のサンプリングを予め定められた順序(AD変換スケジュール)で行うと共に、クランク角度10°が経過する毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「噴射用演算」を行う。
この場合においても、噴射用演算とは、パーシャル噴射に必要な制御値(本例においては、第1〜第3パーシャル噴射クランク角度及び第1〜第3パーシャル噴射時間)を各種のパラメータ値(本例においては、機関回転速度NE、機関負荷KL、燃圧Pf及び筒内圧Pc)に基づき計算することを言う。
更に、この場合において、サンプリングされる機関回転速度NEは、先述したように、クランクシャフト25が10°回転するのに要した時間から求められる「機関回転速度NE10」である。
加えて、機関負荷KLは、一定時間T1が経過する毎にエアフローメータ34の出力電圧に基づいて吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「10°クランク角度間隔毎にサンプリングされる機関回転速度NE10のうち、その時点にて最新の機関回転速度NE10」とに基づき演算される。
この場合の噴射用演算について具体的に述べると、CPU81は、10°クランク角度間隔で(即ち、クランク角度0°、10°、20°、30°、・・・、690°、700°、710°、720°(=0°)において)実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度NE10及び機関負荷KL」(即ち、最新のパラメータ値)に基づいて、図8(B)に示したルックアップテーブルから「第1パーシャル噴射クランク角度CAp1」を決定(演算)すると共に、その時点にて得られている最新の「機関回転速度NE10、機関負荷KL、燃圧Pf及び筒内圧Pc」に基づいて「第1パーシャル噴射時間TAUp1」を演算する。
更に、CPU81は、前記演算された第1パーシャル噴射クランク角度CAp1に所定クランク角度a°を加えることにより「第2パーシャル噴射クランク角度CAp2」を演算すると共に、この第2パーシャル噴射クランク角度に所定クランク角度a°を加えることにより「第3パーシャル噴射クランク角度CAp3」を演算する。加えて、CPU81は、その時点にて得られている最新の「機関回転速度NE10、機関負荷KL、燃圧Pf及び筒内圧Pc」に基づいて「第2及び第3パーシャル噴射時間TAUp2及びTAUp3」を演算する。
本例においても、各噴射用演算に用いられる最新の「機関回転速度NE10」は、各噴射用演算が行われるクランク角度にてサンプリングされる「NE10」であり、各噴射用演に用いられる最新の「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」である。
次いで、CPU81は、現時点から次の噴射用演算(次のエッヂ割込み処理に基づく噴射用演算)が行われるクランク角度(つまり、10°後のクランク角度)までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れも到来しない場合、CPU81は、噴射弁17への通電を開始するための「追加の噴射用演算及び処理(噴射開始用処理)」を行わない。
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象パーシャル噴射クランク角度CAp1〜CAp3(次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度)に到達するまでに要する時間(パーシャル噴射開始までの所要時間)」を計算することを言う。
更に、噴射開始用処理とは、「クランク角度が対象パーシャル噴射クランク角度(次の噴射用演算が行われるクランク角度までの間に到来するパーシャル噴射クランク角度)に到達する時刻(パーシャル噴射の開始時刻)」をレジスタ87にセットすると共に、「その時点にて得られている最新のパーシャル噴射時間(対象パーシャル噴射クランク角度において開始するべきパーシャル噴射を実現するための燃料噴射時間)」を取得することを言う。
図7に示した例においては、300°と310°との間に「第1パーシャル噴射クランク角度CAp1」が到来する。従って、CPU81は、クランク角度が300°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度310°)までの間に「第1パーシャル噴射クランク角度CAp1」が到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
追加の噴射用演算においては、CPU81は、第1パーシャル噴射クランク角度CAp1(最新の制御値)とクランク角度300°との差Δθp1を、その時点にて得られている最新の機関回転速度NE10に基づいて「現時点(クランク角度が300°に到達した時点)からクランク角度が第1パーシャル噴射クランク角度CAp1に到達するまでに要する時間(1回目のパーシャル噴射開始までの所要時間)ΔTp1)」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE10」は、クランク角度300°にてサンプリングされた「NE10」である。
続く噴射開始用処理においては、CPU81は、「タイマー85が示す現在の時刻に前記所要時間ΔTp1(最新の制御値)を加えた時刻(1回目のパーシャル噴射の開始時刻)Tp1」を「1回目のパーシャル噴射を行うべき噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、前記レジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「第1パーシャル噴射時間TAUp1(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される最新の「第1パーシャル噴射時間TAUp1」は、クランク角度が300°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUp1」である。更に、前記取得される最新の第1パーシャル噴射時間TAUp1の演算に用いられた「機関回転速度NE10」は、クランク角度300°にてサンプリングされた「NE10」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度300°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図7の時刻t5にてサンプリングされた燃圧である。
この結果、タイマー85が示す時刻(タイマー時刻)が「前記レジスタ87にセットされた1回目のパーシャル噴射の開始時刻Tp1」と一致すると、図7(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第1パーシャル噴射時間TAUp1」を加えた時刻(1回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた1回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第1パーシャル噴射時間TAUp1が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第1パーシャル噴射クランク角度CAp1に一致すると推定される時刻Tp1から第1パーシャル噴射時間TAUp1だけ前記噴射弁17への通電が行われ、これにより、1回目のパーシャル噴射が行われる。
更に、図7に示した例においては、310°と320°との間に「第2パーシャル噴射クランク角度CAp2」が到来する。従って、CPU81は、クランク角度が310°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度320°)までの間に「第2パーシャル噴射クランク角度CAp2」が到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
追加の噴射用演算においては、CPU81は、第2パーシャル噴射クランク角度CAp2(最新の制御値)とクランク角度310°との差Δθp2を、その時点にて得られている最新の機関回転速度NE10に基づいて「現時点(クランク角度が310°に到達した時点)からクランク角度が第2パーシャル噴射クランク角度CAp2に到達するまでに要する時間(2回目のパーシャル噴射開始までの所要時間)ΔTp2」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE10」は、クランク角度310°にてサンプリングされた「NE10」である。
続く噴射開始用処理においては、CPU81は、「現在のタイマー時刻に前記所要時間ΔTp2(最新の制御値)を加えた時刻(2回目のパーシャル噴射の開始時刻)Tp2」を「2回目のパーシャル噴射を行うべき噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、前記レジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「第2パーシャル噴射時間TAUp2(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される最新の「第2パーシャル噴射時間TAUp2」は、クランク角度が310°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUp2」である。更に、前記取得される最新の第2パーシャル噴射時間TAUp2の演算に用いられた「機関回転速度NE10」は、クランク角度310°にてサンプリングされた「NE10」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度310°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図7の時刻t5にてサンプリングされた燃圧である。
この結果、タイマー時刻が「前記レジスタ87にセットされた2回目のパーシャル噴射の開始時刻Tp2」と一致すると、図7(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第2パーシャル噴射時間TAUp2」を加えた時刻(2回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻がレジスタ87にセットされた「2回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第2パーシャル噴射時間TAUp2が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第2パーシャル噴射クランク角度CAp2に一致すると推定される時刻Tp2から第2パーシャル噴射時間TAUp2だけ前記噴射弁17への通電が行われ、これにより、2回目のパーシャル噴射が行われる。
更に、図7に示した例においては、320°と330°との間に「第3パーシャル噴射クランク角度CAp3」が到来する。従って、CPU81は、クランク角度が320°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度330°)までの間に「第3パーシャル噴射クランク角度CAp3」が到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用処理を行う。
追加の噴射用演算においては、CPU81は、第3パーシャル噴射クランク角度CAp3(最新の制御値)とクランク角度320°との差Δθp3を、その時点にて得られている最新の機関回転速度NE10に基づいて「現時点(クランク角度が320°に到達した時点)からクランク角度が第3パーシャル噴射クランク角度CAp3に到達するまでに要する時間(3回目のパーシャル噴射開始までの所要時間)ΔTp3」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE10」は、クランク角度320°にてサンプリングされた「NE10」である。
続く噴射開始用処理においては、CPU81は、「現在のタイマー時刻に前記所要時間ΔTp3(最新の制御値)を加えた時刻(3回目のパーシャル噴射の開始時刻)Tp3」を「3回目のパーシャル噴射を行うべき噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、前記レジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「第3パーシャル噴射時間TAUp3(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される最新の「第3パーシャル噴射時間TAUp3」は、クランク角度が320°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUp3」である。更に、前記取得される最新の第3パーシャル噴射時間TAUp3の演算に用いられた「機関回転速度NE10」は、クランク角度320°にてサンプリングされた「NE10」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度320°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図7の時刻t8にてサンプリングされた燃圧である。
この結果、タイマー時刻が「前記レジスタ87にセットされた3回目のパーシャル噴射の開始時刻Tp3」と一致すると、図7(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存された第3パーシャル噴射時間TAUp3」を加えた時刻(3回目のパーシャル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされた3回目のパーシャル噴射の終了時刻Te」と一致すると(即ち、第3パーシャル噴射時間TAUp3が経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度が第3パーシャル噴射クランク角度CAp3に一致すると推定される時刻Tp3から第3パーシャル噴射時間TAUp3だけ前記噴射弁17への通電が行われ、これにより、3回目のパーシャル噴射が行われる。
このように噴射用演算の実行間隔が10°クランク角度間隔に短縮された場合、「第2及び第3パーシャル噴射時間TAUp2及びTAUp3」並びに「2回目及び3回目のパーシャル噴射開始までの所要時間ΔTp2及びΔTp3」の演算には、各パーシャル噴射の開始時刻に、より近い時点でサンプリングされたパラメータ値(NE、KL、Pf及びPc)が用いられる。従って、この演算に用いられたパラメータ値と、各パーシャル噴射の開始時点におけるパラメータ値との乖離は小さい。このため、これら「TAUp2及びTAUp3」並びに「ΔTp2及びΔTp3」を用いて各パーシャル噴射が制御されれば、より適切な燃料噴射が実現される。
<第1実施形態に係る燃料噴射>
以上を踏まえ、本実施形態に係る燃料噴射を実現するためのECU80の作動について具体的に説明する。
1.シングル噴射制御
本実施形態において、シングル噴射制御のフル噴射を実現するためのECU80の作動は、図5を参照して先に説明したECU80の作動と同じである。従って、以下、当該作動については簡単に説明する。
本実施形態において、CPU81は、シングル噴射制御を行う場合、以下のように各間隔を設定する。
・特定種類の(或る1つの)パラメータ値(本例において、「機関負荷(吸気量)、燃圧及び筒内圧」のうちの任意の1つ)をサンプリングする所定時間間隔:通常時間間隔(=通常サンプリング間隔)
・機関回転速度をサンプリングする所定クランク角度間隔:通常クランク角度間隔(=通常サンプリング間隔)
・「フル噴射クランク角度及びフル噴射時間」を演算する所定クランク角度間隔:通常クランク角度間隔(=通常演算間隔)
・「フル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔:通常クランク角度間隔(=通常演算間隔)
・「フル噴射の開始時刻のセット及びフル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔:通常クランク角度間隔
本例において、通常時間間隔は「一定時間間隔T1」であり、通常クランク角度間隔は「30°クランク角度間隔」である。
従って、CPU81は、シングル噴射制御を実行する場合、図5に示した例と同様に、一定時間間隔T1毎にタイマー割込み処理により「機関負荷KL、燃圧Pf及び筒内圧Pc」のサンプリングを行う。本例において、CPU81は、一定のAD変換周期(本例においては、0.4ms)にて「エアフローメータ34、燃圧センサ20及び筒内圧センサ21」の出力電圧を順番にAD変換し、これにより得られるデジタルデータを「吸気量、燃圧及び筒内圧」に関するデータとしてメモリに保存する。更に、CPU81は、吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「その時点にて得られている最新の機関回転速度NE30」とに基づいて機関負荷KLを取得(サンプリング)する。
従って、「吸気量、燃圧及び筒内圧」以外にサンプリングするべきパラメータ値が存在しない場合には、「吸気量、燃圧及び筒内圧」は、それぞれ、1.2ms(=0.4ms*3)毎にサンプリングされる。この1.2msが上述の通常時間間隔T1である。尚、この「1.2ms」は、機関回転速度NEが4000rpmであるときに30°クランク角度が経過するのに要する時間よりも短い時間である。
更に、CPU81は、図5に示した例と同様に、クランク角度0°を出発点として30°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「噴射用演算(フル噴射クランク角度及びフル噴射時間の演算)」を行う。
加えて、CPU81は、現時点から次のエッヂ割込み処理に基づく噴射用演算を行うクランク角度(30°後のクランク角度)までの間に「フル噴射クランク角度CAf」が到来すると判定した場合、図5に示した例と同様に、「フル噴射開始までの所要時間の演算(追加の噴射用演算)」並びに「フル噴射の開始時刻のセット及びフル噴射時間の取得(噴射開始用処理)」を行う。
以降、図5に示した例と同様に、フル噴射が実現される。
これにより、本実施形態によれば、シングル噴射制御が実行される場合、各種のパラメータ値のサンプリングが「通常サンプリングモード(第1サンプリングモード)」にて行われ、噴射用演算が「通常演算モード(第1演算モード)」にて行われ、噴射開始用処理が「通常処理モード(第1処理モード)」にて行われる。
2.マルチ噴射制御
本実施形態において、CPU81は、マルチ噴射制御を行う場合、以下のように各間隔を設定する。
・特定種類の(或る1つの)パラメータ値(本例において、「機関負荷(吸気量)、燃圧及び筒内圧」のうちの任意の1つ)をサンプリングする所定時間間隔:短縮時間間隔(=短縮サンプリング間隔)
・機関回転速度をサンプリングする所定クランク角度間隔:短縮クランク角度間隔(=短縮サンプリング間隔)
・「パーシャル噴射クランク角度及びパーシャル噴射時間」を演算する所定クランク角度間隔:短縮クランク角度間隔(=短縮演算間隔)
・「パーシャル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔:短縮クランク角度間隔(=短縮演算間隔)
・「パーシャル噴射の開始時刻のセット及びパーシャル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔:短縮クランク角度間隔
本例において、短縮時間間隔は前記一定時間間隔T1よりも短い「一定時間間隔T2」であり、短縮クランク角度間隔は「10°クランク角度間隔」である。
従って、CPU81は、マルチ噴射制御を実行する場合、図7に示した例とは異なり、一定時間間隔T2毎にタイマー割込み処理により「機関負荷KL、燃圧Pf及び筒内圧Pc」のサンプリングを行う。本例においては、CPU81は、シングル噴射制御を実行する場合の前記AD変換周期よりも短い一定のAD変換周期(本例においては、0.13ms)にて「エアフローメータ34、燃圧センサ20及び筒内圧センサ21」の出力電圧を順番にAD変換し、これにより得られるデジタルデータを「吸気量、燃圧及び筒内圧」に関するデータとしてメモリに保存する。更に、CPU81は、吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「その時点にて得られている最新の機関回転速度NE」とに基づいて機関負荷KLを取得(サンプリング)する。
従って、「吸気量、燃圧及び筒内圧」以外にサンプリングするべきパラメータ値が存在しない場合には、「吸気量、燃圧及び筒内圧」は、それぞれ、0.39ms(=0.13ms*3)毎にサンプリングされる。この0.39msが上述の短縮時間間隔T2である。尚、この「0.39ms」は、機関回転速度NEが4000rpmであるときに10°クランク角度が経過するのに要する時間よりも短い時間である。
更に、CPU81は、図7に示した例と同様に、クランク角度0°を出発点として10°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「パーシャル噴射クランク角度及びパーシャル噴射時間の演算(噴射用演算)」を行う。但し、本例において、「パーシャル噴射クランク角度及びパーシャル噴射時間」の演算に用いられる「機関負荷KL、燃圧Pf及び筒内圧Pc」は、一定時間間隔T2毎にサンプリングされる「KL、Pf及びPc」のうち、各噴射用演算の実行時点において最新の「KL、Pf及びPc」である。
更に、CPU81は、現時点から次の噴射用演算(次のエッヂ割込み処理に基づく噴射用演算)を行うクランク角度(つまり、10°後のクランク角度)までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れかが到来すると判定した場合、図7に示した例と同様に、追加の噴射用演算として、パーシャル噴射(次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射クランク角度において開始するべきパーシャル噴射)に関し、「パーシャル噴射開始までの所要時間(現時点からパーシャル噴射の開始までに要する所要時間)」の演算を行う。
更に、CPU81は、図7に示した例と同様に、噴射開始用演算として、パーシャル噴射の開始時刻(パーシャル噴射を開始するべき時刻)のセット及びパーシャル噴射時間(パーシャル噴射の燃料噴射時間)の取得を行う。但し、前記取得されるパーシャル噴射時間の演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、一定時間間隔T2毎にサンプリングされた「KL、Pf及びPc」のうち、パーシャル噴射時間の演算時点において最新の「KL、Pf及びPc」である。燃圧Pfに関し、図9に示した例においては、前記取得されるパーシャル噴射時間の演算に用いられた燃圧Pfは、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「1回目のパーシャル噴射」である場合、時刻t6にてサンプリングされた燃圧であり、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「2回目のパーシャル噴射」である場合、時刻t7にてサンプリングされた燃圧であり、次の噴射用演算を行うクランク角度までの間に到来するパーシャル噴射が「3回目のパーシャル噴射」である場合、時刻T8にてサンプリングされた燃圧である。
以降、図7に示した例と同様に、パーシャル噴射が実現される。
これにより、本実施形態によれば、マルチ噴射制御が実行される場合、各種のパラメータ値のサンプリングが「短縮サンプリングモード」にて行われ、噴射用演算が「短縮演算モード」にて行われ、噴射開始用処理が「短縮処理モード」にて行われる。
このように、本実施形態においては、マルチ噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔が比較的短い間隔に設定されるので、パーシャル噴射に用いられる制御値(「パーシャル噴射クランク角度CAp1〜CAp3」、「パーシャル噴射時間TAUp1〜TAUp3」及び「パーシャル噴射開始までの所要時間ΔTp1〜ΔTp3」)は、各パーシャル噴射の開始時刻に、より近い時点のパラメータ値(NE、KL、Pf及びPc)を用いて演算された制御値である。このため、マルチ噴射制御の実行中にパラメータ値が変動したとしても、その変動がパーシャル噴射に用いられる制御値の演算に反映される可能性が高くなる。従って、本実施形態によれば、各パーシャル噴射において、より適切な燃料噴射が実現される。
更に、所定クランク角度間隔及び所定時間間隔が常に短い間隔に設定されていると、その分、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理負荷が増大する。加えて、一般に、内燃機関のCPU等の演算装置は、これら「噴射用演算に用いられるパラメータ値のサンプリング、噴射用演算及び噴射開始用処理」のみならず、「燃料噴射以外の機関制御に必要な制御値の演算及び同演算に用いられるパラメータ値のサンプリング」も行う。このため、「噴射用演算に用いられるパラメータ値のサンプリングを行う所定クランク角度間隔及び所定時間間隔」、「噴射用演算を行う所定クランク角度間隔」及び「噴射開始用処理を行うクランク角度を規定する所定クランク角度間隔」が常に短い間隔に設定されていると、燃料噴射以外の機関制御の精度が不必要に低下する恐れがある。勿論、高性能の演算装置を用いることにより、こうした機関制御の精度低下は回避可能であるが、これによると、ECUのコストが上昇してしまう。
一方、上述したように、シングル噴射制御が実行される場合、シングル噴射制御の燃料噴射の影響等によりパラメータ値が変動したとしても、その変動を直ちに反映させるべき燃料噴射はない。更に、パーシャル噴射により噴射される燃料の量は非常に少ないので、この燃料の量はパラメータ値の変動の影響を大きく受ける。しかしながら、フル噴射により噴射される燃料の量はパーシャル噴射により噴射される燃料の量に比べて比較的多いので、フル噴射により噴射される燃料の量はパラメータ値の変動の影響を大きくは受けない。従って、シングル噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔は比較的長い間隔であっても、適切な燃料噴射が十分に実現される。
以上の点から、本実施形態においては、シングル噴射制御が実行される場合、所定クランク角度間隔及び所定時間間隔が比較的長い通常の間隔に設定される。このため、シングル噴射制御において、適切な燃料噴射が実現されると共に、燃料噴射以外の機関制御の精度低下が回避される。
3.実際の作動
次に、本実施形態に係る噴射制御モードの設定について図10のフローを用いて、より具体的に説明する。図10のフローは、所定時間間隔の割込み処理により開始される。このフローが開始されると、初めに、ステップS10において、冷間始動条件が成立しているか否かが判定される。冷間始動条件が成立している場合、フローはステップS11に進む。一方、冷間始動条件が成立していない場合、フローはステップS12に進む。
ステップS12においては、触媒急速暖機条件が成立しているか否かが判定される。触媒急速暖機条件が成立している場合、フローはステップS11に進む。一方、触媒急速暖機条件が成立していない場合、フローはステップS13に進む。
ステップS11においては、噴射制御モードとして、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御を実行するモードが設定され、フローが終了する。この場合、図3に示したように、1機関サイクルにおいて、吸気行程においてシングル噴射制御が実行されると共に、圧縮行程においてマルチ噴射制御が実行される。
ステップS13においては、噴射制御モードとして、1機関サイクルにおいてシングル噴射制御のみを実行するモードが設定され、フローが終了する。この場合、図4に示したように、1機関サイクルにおいて、吸気行程においてシングル噴射制御が実行される。
次に、本実施形態に係る「サンプリングモード、演算モード及び処理モードの設定」並びに「噴射用演算及び噴射開始用処理」について図11及び図12のフローを用いて、より具体的に説明する。図11のフローは、所定クランク角度間隔(本例においては、10°クランク角度間隔)の割込み処理により開始される。図12のフローは、各燃料噴射が開始されたときにコンペアレジスタ割込み処理により開始される。
図11のフローが開始されると、初めに、ステップS20において、演算間隔フラグXNが「1」にセットされている(XN=1)か否かが判定される。このフラグXNは、全気筒において次の燃料噴射がフル噴射であり、従って、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔及び通常時間間隔に設定されたときにセットされ、次の燃料噴射がパーシャル噴射であり、従って、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔及び短縮時間間隔に設定されたときにリセットされるフラグである。ステップS20において、XN=1である場合、フローはステップS21に進む。一方、XN=1ではない場合、フローはステップS33に進む。
ステップS21においては、現在のクランク角度CAがクランク角度0°を出発点として30°クランク角度間隔(通常クランク角度間隔)のクランク角度30*n(nは1〜24の整数)である(CA=30*n)か否かが判定される。CA=30*nである場合、フローはステップS22に進む。一方、CA=30*nではない場合、フローは終了する。つまり、ステップS22以降のステップは、30°クランク角度間隔で行われる。
ステップS22においては、機関回転速度NE30がサンプリングされる。次いで、ステップS23において、最新の機関回転速度(ステップS22にてサンプリングされた機関回転速度)NE30及び最新の機関負荷KLに基づいて、各気筒におけるフル噴射クランク角度CAf(♯N)及び各第1〜第3パーシャル噴射クランク角度CApN(♯N)が演算されると共に、最新の機関回転速度(ステップS22にてサンプリングされた機関回転速度)NE30、最新の機関負荷KL、最新の燃圧Pf及び最新の筒内圧Pcに基づいて、各気筒におけるフル噴射時間TAUf(♯N)及び第1〜第3パーシャル噴射時間TAUpN(♯N)が演算される。
但し、図10のステップS13において、シングル噴射制御モードが設定され、シングル噴射制御のみが実行される場合、図11のステップS23においては、各気筒におけるフル噴射時間TAUf(♯N)のみが演算される。
尚、「♯N」は「第1気筒〜第4気筒」を表し、「CAf(♯N)」は「第1気筒〜第4気筒におけるフル噴射クランク角度」を表し、「CApN(♯N)」は「第1気筒〜第4気筒における第1〜第3パーシャル噴射クランク角度」を表し、「TAUf(♯N)」は「第1気筒〜第4気筒におけるフル噴射時間」を表し、「TAUpN(♯N)」は「第1気筒〜第4気筒における第1〜第3パーシャル噴射時間」を表している。
次いで、ステップS24において、全気筒において次の燃料噴射がフル噴射であるか否かが判定される。次の燃料噴射がフル噴射である場合、フローはステップS25に進む。一方、次の燃料噴射がフル噴射ではない場合、つまり、次の燃料噴射がパーシャル噴射である場合、フローはステップS36に進む。
ステップS25においては、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔(30°クランク角度間隔)及び通常時間間隔(T1)に設定される。次いで、ステップS26において、演算間隔フラグXNがセットされる(XN←1)。
次いで、ステップS27において、前記演算されたフル噴射クランク角度CAf(♯N)の何れかが現在のクランク角度から30°後のクランク角度CA30以前のクランク角度である(CAf(♯N)≦CA30)か否かが判定される。何れの角度CAf(♯N)も角度CA30以前のクランク角度ではない場合、フローは終了する。一方、角度CAf(♯N)の何れかが角度CA30以前のクランク角度である場合、フローはステップS28に進む。以下「角度CA30以前のクランク角度であると判定されたフル噴射クランク角度」を「対象フル噴射クランク角度」と称呼し、「対象フル噴射クランク角度において開始するべきフル噴射」を「対象フル噴射」と称呼し、「対象フル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
ステップS28においては、最新の機関回転速度NEに基づいて、現時刻Tnowからクランク角度が対象フル噴射クランク角度CAf(♯N)に到達するまでに要する時間(対象フル噴射の開始までの所要時間)ΔTf(♯N)が演算される。
次いで、ステップS29において、現時刻Tnowに前記所要時間ΔTf(♯N)を加えた時刻(対象フル噴射の開始時刻)Tf(♯N)が演算され(Tf(♯N)=Tnow+ΔTf(♯N))、この時刻Tf(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射開始フラグがセットされ、加えて、対象フル噴射に対応する最新のフル噴射時間(即ち、ステップS23にて演算されたフル噴射時間)TAUf(♯N)が取得され、この「TAUf(♯N)」がメモリに保存され、フローが終了する。これにより、タイマー85が示す時刻が「前記レジスタ87にセットされた対象フル噴射の開始時刻Tf(♯N)」と一致したときに、そのレジスタ87により対象気筒の噴射弁17への通電が行われ、対象気筒においてフル噴射が開始される。
そして、フル噴射が開始されたとき、コンペアレジスタ割込み処理により図12のフローが開始され、ステップS45において、前記対象フル噴射の開始時刻Tf(♯N)に「図11のステップS29にてメモリに保存されたフル噴射時間TAUf(♯N)」を加えた時刻(対象フル噴射の終了時刻)Te(♯N)が演算され(Te(♯N)=Tf(♯N)+TAUf(♯N))、この時刻Te(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射終了フラグがセットされ、フローが終了する。その後、タイマー85が示す時刻が「前記レジスタ87にセットされた対象フル噴射の終了時刻Te(♯N)」と一致したときに、そのレジスタ87により噴射弁17への通電が停止される。これにより、対象気筒におけるフル噴射が終了する。
ステップS33においては、機関回転速度NE10がサンプリングされる。次いで、ステップS34において、最新の機関回転速度(ステップS33にてサンプリングされた機関回転速度)NE10及び最新の機関負荷KLに基づいて、各気筒における「フル噴射クランク角度CAf(♯N)及び第1〜第3パーシャル噴射クランク角度CApN(♯N)」が演算されると共に、最新の機関回転速度(ステップS33にてサンプリングされた機関回転速度)NE10、最新の機関負荷KL、最新の燃圧Pf及び最新の筒内圧Pcに基づいて、各気筒における「フル噴射時間TAUf(♯N)及び第1〜第3パーシャル噴射時間TAUpN(♯N)」が演算される。
但し、図10のステップS13において、シングル噴射制御モードが設定され、シングル噴射制御のみが実行される場合、図11のステップS34においては、各気筒におけるフル噴射時間TAUf(♯N)のみが演算される。
次いで、ステップS35において、全気筒において次の燃料噴射がフル噴射であるか否かが判定される。次の燃料噴射がフル噴射である場合、フローはステップS30に進む。一方、次の燃料噴射がフル噴射ではない場合、つまり、次の燃料噴射がパーシャル噴射である場合、フローはステップS36に進む。
ステップS36においては、サンプリングモード、演算モード及び処理モードがそれぞれ短縮サンプリングモード、短縮演算モード及び短縮処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔(10°クランク角度間隔)及び短縮時間間隔(T2)に設定される。次いで、ステップS37において、演算間隔フラグXNがリセットされる(XN←0)。
次いで、ステップS38において、前記演算された第1〜第3パーシャル噴射クランク角度CApN(♯N)の何れかが現在のクランク角度から10°後のクランク角度CA10以前のクランク角度である(CApN(♯N)≦CA10)か否かが判定される。何れの角度CApN(♯N)も角度CA10以前のクランク角度ではない場合、フローは終了する。一方、角度CApN(♯N)の何れかが角度CA10以前のクランク角度である場合、フローはステップS39に進む。以下、「角度CA10以前のクランク角度であると判定されたパーシャル噴射クランク角度」を「対象パーシャル噴射クランク角度」と称呼し、「対象パーシャル噴射クランク角度において開始するべきパーシャル噴射」を「対象パーシャル噴射」と称呼し、「対象パーシャル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
ステップS39においては、最新の機関回転速度NEに基づいて、現時刻Tnowからクランク角度が対象パーシャル噴射クランク角度CApN(♯N)に到達するまでに要する時間(対象パーシャル噴射の開始までの所要時間)ΔTpN(♯N)が演算される。
次いで、ステップS40において、現時刻Tnowに前記所要時間ΔTpN(♯N)を加えた時刻(対象パーシャル噴射の開始時刻)TpN(♯N)が演算され(TpN(♯N)=Tnow+ΔTpN(♯N))、この時刻TpN(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射開始フラグがセットされ、加えて、対象パーシャル噴射に対応する最新のパーシャル噴射時間(即ち、ステップS34にて演算されたパーシャル噴射時間)TAUpN(♯N)が取得され、この「TAUpN(♯N)」がメモリに保存され、フローが終了する。これにより、タイマー85が示す時刻が「前記レジスタ87にセットされた対象パーシャル噴射の開始時刻TpN(♯N)」と一致したときに、そのレジスタ87により対象気筒の噴射弁17への通電が行われ、対象気筒においてパーシャル噴射が開始される。
そして、パーシャル噴射が開始されたとき、コンペアレジスタ割込み処理により図12のフローが開始され、ステップS45において、前記対象パーシャル噴射の開始時刻TpN(♯N)に「図11のステップS40にてメモリに保存されたパーシャル噴射時間TAUpN(♯N)」を加えた時刻(パーシャル噴射の終了時刻)Te(♯N)が演算され(Te(♯N)=TpN(♯N)+TAUpN(♯N))、この時刻Te(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射終了フラグがセットされ、フローが終了する。その後、タイマー85が示す時刻が「前記レジスタ87にセットされた対象パーシャル噴射の終了時刻Te(♯N)」と一致したときに、そのレジスタ87により噴射弁17への通電が停止される。これにより、対象気筒におけるパーシャル噴射が終了する。
ステップS30においては、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔(30°クランク角度間隔)及び通常時間間隔(T1)に設定される。次いで、ステップS31において、演算間隔フラグXNがセットされる(XN←1)。次いで、ステップS32において、現在のクランク角度CAがクランク角度0°を出発点として30°クランク角度間隔(通常クランク角度間隔)のクランク角度30*n(nは1〜24の整数)である(CA=30*n)か否かが判定される。CA=30*nである場合、ステップS27に進む。一方、CA=30*nではない場合、フローは終了する。
<第2実施形態>
ところで、図3に示したように各気筒の1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、第1気筒♯1の吸気行程におけるシングル噴射制御の実行直後に、第2気筒♯2の圧縮行程におけるマルチ噴射制御が実行され、更にその直後に、第4気筒♯4の吸気行程におけるシングル噴射制御が実行され、更にその直後に、第1気筒♯1の圧縮行程におけるマルチ噴射制御が実行される。つまり、非常に短い時間間隔でシングル噴射制御とマルチ噴射制御とが交互に実行される。
この場合、第1実施形態によると、CPU81は、「通常クランク角度間隔及び通常時間間隔」と「短縮クランク角度間隔及び短縮時間間隔」との間で所定クランク角度間隔及び所定時間間隔を頻繁に切り替えつつ、「種々のパラメータ値のサンプリング、種々の制御値の演算(噴射用演算)及び噴射開始用処理」を行わなければならない。しかしながら、これによると、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理負荷が過剰に増大したり、「パラメータ値のサンプリング、噴射用演算及び噴射開始用処理」に係る処理プログラムが複雑化してしまう。そこで、第2実施形態においては、CPU81は、以下のように各間隔を設定する。
1.シングル噴射制御
即ち、CPU81は、1機関サイクルにおいてシングル噴射制御のみを行う場合、以下のように各間隔を設定する。
・特定種類の(或る1つの)パラメータ値(本例において、「機関負荷(吸気量)、燃圧及び筒内圧」のうちの任意の1つ)をサンプリングする所定時間間隔:通常時間間隔(=通常サンプリング間隔)
・機関回転速度をサンプリングする所定クランク角度間隔:通常クランク角度間隔(=通常サンプリング間隔)
・「フル噴射クランク角度及びフル噴射時間」を演算する所定クランク角度間隔:通常クランク角度間隔(=通常演算間隔)
・フル噴射開始までの所要時間を演算するクランク角度を規定する所定クランク角度間隔:通常クランク角度間隔(=通常演算間隔)
・「フル噴射の開始時刻のセット及びフル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔:通常クランク角度間隔
この場合、第1実施形態と同様に、通常時間間隔は「一定時間間隔T1」であり、通常クランク角度間隔は「30°クランク角度間隔」である。
つまり、ECU80は、第1実施形態においてシングル噴射制御のフル噴射を実現する場合と同様に、シングル噴射制御のフル噴射を実現する。
2.マルチ噴射制御
更に、CPU81は、1機関サイクルにおいてマルチ噴射制御のみを実行する場合、以下のように各間隔を設定する。
・特定種類の(或る1つの)パラメータ値(本例において、「機関負荷(吸気量)、燃圧及び筒内圧」のうちの任意の1つ)をサンプリングする所定時間間隔:短縮時間間隔(=短縮サンプリング間隔)
・機関回転速度をサンプリングする所定クランク角度間隔:短縮クランク角度間隔(=短縮サンプリング間隔)
・「パーシャル噴射クランク角度及びパーシャル噴射時間」を演算する所定クランク角度間隔:短縮クランク角度間隔(=短縮演算間隔)
・「パーシャル噴射開始までの所要時間」を演算するクランク角度を規定する所定クランク角度間隔:短縮クランク角度間隔(=短縮演算間隔)
・「パーシャル噴射の開始時刻のセット及びパーシャル噴射時間の取得」を行うクランク角度を規定する所定クランク角度間隔:短縮クランク角度間隔
この場合、第1実施形態と同様に、短縮時間間隔は前記一定時間間隔T1よりも短い「一定時間間隔T2」であり、短縮クランク角度間隔は「10°クランク角度間隔」である。
つまり、ECU80は、第1実施形態においてマルチ噴射制御の各パーシャル噴射を実現する場合と同様に、マルチ噴射制御の各パーシャル噴射を実現する。
3.シングル噴射制御及びマルチ噴射制御
加えて、CPU81は、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行する場合、上記2.の「1機関サイクルにおいてマルチ噴射制御のみを実行する場合」と同様に、各間隔(所定時間間隔及び所定クランク角度間隔)を設定する。つまり、ECU80は、第1実施形態においてマルチ噴射制御の各パーシャル噴射を実現する場合と同様に、シングル噴射制御のフル噴射及びマルチ噴射制御の各パーシャル噴射を実現する。
次に、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行する場合における第2実施形態に係るECU80の作動について、図13を参照して、より具体的に説明する。
この場合、CPU81は、短縮時間間隔T2毎にタイマー割込み処理により「機関負荷KL、燃圧Pf及び筒内圧Pcのサンプリング」を行う。この場合において、機関負荷KLは、短縮時間間隔T2毎にエアフローメータ34の出力電圧に基づいて吸気量Gaをサンプリングする毎に「当該サンプリングされた吸気量Ga」と「10°クランク角度間隔毎にサンプリングされる機関回転速度NE10のうち、その時点にて最新の機関回転速度NE10」とに基づき演算される。
更に、CPU81は、クランク角度0°を出発点として10°クランク角度間隔毎にエッヂ割込み処理により「機関回転速度NEのサンプリング」及び「噴射用演算」を行う。この場合において、噴射用演算とは、フル噴射及びパーシャル噴射に必要な制御値(本例においては、フル噴射クランク角度、フル噴射時間、第1〜第3パーシャル噴射クランク角度及び第1〜第3パーシャル噴射時間)を各種のパラメータ値(本例においては、機関回転速度NE10、機関負荷KL、燃圧Pf及び筒内圧Pc)に基づき計算することを言う。加えて、この場合において、サンプリングされる機関回転速度NEは、先述したように、クランクシャフト25が10°回転するのに要した時間から求められる「機関回転速度NE10」である。
この場合の噴射用演算について具体的に述べると、CPU81は、10°クランク角度間隔で実行される各噴射用演算において、その時点にて得られている最新の「機関回転速度NE10及び機関負荷KL」(即ち、最新のパラメータ値)に基づいて、図8(A)及び図8(B)に示したルックアップテーブルから、それぞれ、「フル噴射クランク角度(フル噴射を開始するべきクランク角度)CAf」及び「第1パーシャル噴射クランク角度(1回目のパーシャル噴射を開始するべきクランク角度)CAp1」を決定(演算)すると共に、その時点にて得られている最新の「機関回転速度NE10、機関負荷KL、燃圧Pf及び筒内圧Pc」(即ち、最新のパラメータ値)に基づいて「フル噴射時間(フル噴射を実現するための燃料噴射時間)TAUf」及び「第1パーシャル噴射時間(1回目のパーシャル噴射を実現するための燃料噴射時間)TAUp1」を演算する。
更に、CPU81は、前記演算された第1パーシャル噴射クランク角度CAp1に所定クランク角度a°を加えることにより「第2パーシャル噴射クランク角度(2回目のパーシャル噴射を開始するべきクランク角度)CAp2」を演算すると共に、この第2パーシャル噴射クランク角度に所定クランク角度a°を加えることにより「第3パーシャル噴射クランク角度(3回目のパーシャル噴射を開始するべきクランク角度)CAp3」を演算する。加えて、CPU81は、その時点にて得られている最新の「機関回転速度NE10、機関負荷KL、燃圧Pf及び筒内圧Pc」に基づいて「第2及び第3パーシャル噴射時間(2回目及び3回目のパーシャル噴射を実現するための燃料噴射時間)TAUp2及びTAUp3」を演算する。
本例において、各噴射用演算に用いられる最新の「機関回転速度NE10」は、各噴射用演算が行われるクランク角度にてサンプリングされる「NE10」であり、各噴射用演に用いられる最新の「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、各噴射用演算の実行時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」である。
次いで、CPU81は、現時点から次の噴射用演算(次のエッヂ割込み処理に基づく噴射用演算)が行われるクランク角度(つまり、10°後のクランク角度)までの間に「フル噴射クランク角度CAf及びパーシャル噴射角度CAp1〜CAp3」の何れかが到来するか否かを判定する。現時点から次の噴射用演算が行われるクランク角度までの間に「噴射クランク角度CAf及びCAp1〜CAp3」の何れも到来しない場合、CPU81は、噴射弁17への通電を開始するための「追加の噴射用演算及び処理(噴射開始用処理)」を行わない。
この場合において、追加の噴射用演算とは、「現時点からクランク角度が対象噴射クランク角度CAf及びCAp1〜CAp3(次の噴射用演算が行われるクランク角度までの間に到来する噴射クランク角度)に到達するまでに要する時間(噴射開始までの所要時間)」を計算することを言う。
更に、噴射開始用処理とは、「クランク角度が対象噴射クランク角度(次の噴射用演算が行われるクランク角度までの間に到来する噴射クランク角度)に到達する時刻(燃料噴射の開始時刻)」をレジスタ87にセットすると共に、「その時点にて得られている最新の燃料噴射時間(対象噴射クランク角度において開始するべき燃料噴射を実現するための燃料噴射時間)」を取得することを言う。
図13に示した例においては、70°と80°との間に「フル噴射クランク角度CAf」が到来する。従って、CPU81は、クランク角度が70°に一致したときのエッヂ割込み処理に基づく噴射用演算において、現時点から次の噴射用演算が行われるクランク角度(つまり、クランク角度80°)までの間に「フル噴射クランク角度CAf」が到来すると判定する。次いで、CPU81は、追加の噴射用演算を行い、それに続いて、噴射開始用演算を行う。
追加の噴射用演算においては、CPU81は、フル噴射クランク角度CAf(最新の制御値)とクランク角度70°との差Δθfを、その時点にて得られている最新の機関回転速度NE10に基づいて「現時点(クランク角度が70°に到達した時点)からクランク角度がフル噴射クランク角度CAfに到達するまでに要する時間(フル噴射開始までの所要時間)ΔTf」へと変換(演算)する。本例において、この変換に用いられる最新の「機関回転速度NE10」は、クランク角度70°にてサンプリングされた「NE10」である。
続く噴射開始用処理においては、CPU81は、「タイマー85が示す現在の時刻に前記所要時間ΔTf(最新の制御値)を加えた時刻(フル噴射の開始時刻)Tf」を「フル噴射を行うべき噴射弁17に対応するレジスタ87」にセットする。加えて、CPU81は、前記レジスタ87の噴射開始フラグをセットする。更に、CPU81は、その時点にて得られている最新の「フル噴射時間TAUf(最新の制御値)」を取得し、メモリに保存する。
本例において、前記取得される最新の「フル噴射時間TAUf」は、クランク角度が70°に一致したときのエッヂ割込み処理に基づく噴射用演算にて演算された「TAUf」である。更に、前記取得される最新のフル噴射時間TAUfの演算に用いられた「機関回転速度NE10」は、クランク角度70°にてサンプリングされた「NE10」(最新のパラメータ値)である。加えて、同演算に用いられた「機関負荷KL、燃圧Pf及び筒内圧Pc」は、それぞれ、クランク角度70°の時点に時間的に最も近い時点にてサンプリングされた「KL、Pf及びPc」(最新のパラメータ値)であり、燃圧に関し、同演算に用いられた燃圧は、図13の時刻t3にてサンプリングされた燃圧である。
この結果、タイマー85が示す時刻(タイマー時刻)が「前記レジスタ87にセットされたフル噴射の開始時刻Tf」と一致すると、図13(B)に示したように、前記噴射弁17に噴射指令信号が発せられ、前記噴射弁17への通電が開始されると共に、CPU81にコンペアレジスタ割込み処理が発生する。CPU81は、この割込み処理において「その時点のタイマー時刻」に「前記メモリに保存されたフル噴射時間TAUf」を加えた時刻(フル噴射の終了時刻)Teをレジスタ87にセットする。加えて、CPU81は、前記レジスタ87の噴射終了フラグをセットする。
この結果、タイマー時刻が「前記レジスタ87にセットされたフル噴射の終了時刻Te」と一致すると(即ち、フル噴射時間TAUfが経過すると)、前記噴射弁17への通電が停止される。以上の結果、クランク角度がフル噴射クランク角度CAfに一致すると推定される時刻Tfからフル噴射時間TAUfだけ前記噴射弁17への通電が行われ、これにより、フル噴射が行われる。
現時点から次の噴射用演算が行われるクランク角度までの間に「パーシャル噴射クランク角度CAp1〜CAp3」の何れかが到来する場合、CPU81は、そのパーシャル噴射クランク角度において開始するべきパーシャル噴射を実現するための「追加の噴射用演算及び噴射開始用処理」を行う。これら「追加の噴射用演算及び噴射開始用処理」は、図9を参照して先に説明した第1実施形態に係るパーシャル噴射を実現するための「追加の噴射用演算及び噴射開始用処理」と同様であるので、その説明は省略する。
このように、第2実施形態によれば、1機関サイクルにおいてシングル噴射制御のみが実行される場合には、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔及び通常時間間隔に設定される。一方、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合には、シングル噴射制御に関しても、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔及び短縮時間間隔に設定される。これにより、マルチ噴射制御が実行されるときだけでなく、シングル噴射制御が実行されるときにも、噴射用演算及び機関回転速度のサンプリングが短縮クランク角度間隔にて行われ、機関負荷、燃圧及び筒内圧のサンプリングが短縮時間間隔にて行われ、噴射開始用処理が短縮クランク角度間隔のクランク角度にて行われる。
このように、第2実施形態においては、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、シングル噴射制御が実行されるときにも、所定クランク角度間隔及び所定時間間隔が比較的短い間隔に設定される。従って、所定クランク角度間隔及び所定時間間隔は頻繁に切り替えられないので、パラメータ値のサンプリング、噴射用演算及び噴射開始用処理に係る処理負荷の過剰な増大が回避されると共に、パラメータ値のサンプリング、噴射用演算及び噴射開始用処理に係る処理プログラムの複雑化が回避される。
また、第2実施形態においては、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、フル噴射に関する制御値(フル噴射クランク角度CAf、フル噴射時間TAUf及びフル噴射開始までの所要時間ΔTf)の演算には、1機関サイクルにおいてシングル噴射制御のみが実行される場合に比べて、フル噴射の開始時刻に、より一層近い時点のパラメータ値が用いられる。従って、フル噴射において、より適切な燃料噴射が実現される。
4.実際の作動
次に、第2実施形態に係る「噴射制御モード」並びに「サンプリングモード、演算モード及び処理モード」の設定について図14のフローを用いて、より具体的に説明する。図14のフローは、所定時間間隔の割込み処理により開始される。このフローが開始されると、初めに、ステップS50において、冷間始動条件が成立しているか否かが判定される。冷間始動条件が成立している場合、フローはステップS51に進む。一方、冷間始動条件が成立していない場合、フローはステップS54に進む。
ステップS54においては、触媒急速暖機条件が成立しているか否かが判定される。触媒急速暖機条件が成立している場合、フローはステップS51に進む。一方、触媒急速暖機条件が成立していない場合、フローはステップS55に進む。
ステップS51においては、噴射制御モードとして、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方を実行するモードが設定される。この場合、図3に示したように、1機関サイクルにおいて、吸気行程においてシングル噴射制御が実行されると共に、圧縮行程においてマルチ噴射制御が実行される。次いで、ステップS52において、サンプリングモード、演算モード及び処理モードがそれぞれ短縮サンプリングモード、短縮演算モード及び短縮処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ短縮クランク角度間隔(10°クランク角度間隔)及び短縮時間間隔(T2)に設定される。次いで、ステップS53において、演算間隔フラグXNがリセットされ(XN←0)、フローが終了する。このフラグXNは、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御が実行されるときにリセットされ、1機関サイクルにおいてシングル噴射制御のみが実行されるときにセットされるフラグである。
ステップS55においては、噴射制御モードとして、1機関サイクルにおいてシングル噴射制御のみを実行するモードが設定される。この場合、図4に示したように、1機関サイクルにおいて、吸気行程においてシングル噴射制御が実行される。次いで、ステップS56において、サンプリングモード、演算モード及び処理モードがそれぞれ通常サンプリングモード、通常演算モード及び通常処理モードに設定される。即ち、所定クランク角度間隔及び所定時間間隔がそれぞれ通常クランク角度間隔(30°クランク角度間隔)及び通常時間間隔(T1)に設定される。次いで、ステップS57において、演算間隔フラグXNがセットされ(XN←1)、フローが終了する。
次に、第2実施形態に係る噴射用演算及び噴射開始用処理について図15及び図12のフローを用いて、より具体的に説明する。図15のフローは、所定クランク角度間隔(本例においては、10°クランク角度間隔)の割込み処理により開始される。図12のフローは、上述したように、各燃料噴射が開始されたときにコンペアレジスタ割込み処理により開始される。
図15のフローが開始されると、初めに、ステップS60において、演算間隔フラグXNが「1」にセットされている(XN=1)か否かが判定される。このフラグXNは、図14のステップS53においてリセットされ、図14のステップS57においてセットされるフラグである。ステップS60において、XN=1である場合、フローはステップS61に進む。一方、XN=1ではない場合、フローはステップS67に進む。
ステップS61においては、現在のクランク角度CAがクランク角度0°を出発点として30°クランク角度間隔(通常クランク角度間隔)のクランク角度30*n(nは1〜24の整数)である(CA=30*n)か否かが判定される。CA=30*nである場合、フローはステップS62に進む。一方、CA=30*nではない場合、フローは終了する。つまり、ステップS62以降のステップは、30°クランク角度間隔で行われる。
ステップS62においては、機関回転速度NE30がサンプリングされる。次いで、ステップS63において、最新の機関回転速度(ステップS62にてサンプリングされた機関回転速度)NE30及び最新の機関負荷KLに基づいて、各気筒におけるフル噴射クランク角度CAf(♯N)が演算されると共に、最新の機関回転速度(ステップS62にてサンプリングされた機関回転速度)NE30、最新の機関負荷KL、最新の燃圧Pf及び最新の筒内圧Pcに基づいて、フル噴射時間TAUf(♯N)が演算される。
次いで、ステップS64において、前記演算されたフル噴射クランク角度CAf(♯N)の何れかが現在のクランク角度から30°後のクランク角度CA30以前のクランク角度である(CAf(♯N)≦CA30)か否かが判定される。何れの角度CAf(♯N)も角度CA30以前のクランク角度ではない場合、フローは終了する。一方、角度CAf(♯N)の何れかが角度CA30以前のクランク角度である場合、フローはステップS65に進む。以下「角度CA30以前のクランク角度であると判定されたフル噴射クランク角度」を「対象フル噴射クランク角度」と称呼し、「対象フル噴射クランク角度において開始するべきフル噴射」を「対象フル噴射」と称呼し、「対象フル噴射が開始されるべき気筒」を「対象気筒」と称呼する。
ステップS65においては、最新の機関回転速度NE30に基づいて、現時刻Tnowからクランク角度が対象フル噴射クランク角度CAf(♯N)に到達するまでに要する時間(対象フル噴射の開始までの所要時間)ΔTf(♯N)が演算される。
次いで、ステップS66において、現時刻Tnowに前記所要時間ΔTf(♯N)を加えた時刻(対象フル噴射の開始時刻)Tf(♯N)が演算され(Tf(♯N)=Tnow+ΔTf(♯N))、この時刻Tf(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射開始フラグがセットされ、加えて、対象フル噴射に対応する最新のフル噴射時間(即ち、ステップS63にて演算されたフル噴射時間)TAUf(♯N)が取得され、この「TAUf(♯N)」がメモリに保存され、フローが終了する。これにより、タイマー85が示す時刻が「前記レジスタ87にセットされた対象フル噴射の開始時刻Tf(♯N)」と一致したときに、そのレジスタ87により対象気筒の噴射弁17への通電が行われ、対象気筒においてフル噴射が開始される。
そして、フル噴射が開始されたとき、コンペアレジスタ割込み処理により図12のフローが開始され、ステップS45において、前記対象フル噴射の開始時刻Tf(♯N)に「図15のステップS66にてメモリに保存されたフル噴射時間TAUf(♯N)」を加えた時刻(対象フル噴射の終了時刻)Te(♯N)が演算され(Te(♯N)=Tf(♯N)+TAUf(♯N))、この時刻Te(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射終了フラグがセットされ、フローが終了する。その後、タイマー85が示す時刻が「前記レジスタ87にセットされた対象フル噴射の終了時刻Te(♯N)」と一致したときに、そのレジスタ87により噴射弁17への通電が停止される。これにより、対象気筒におけるフル噴射が終了する。
ステップS67においては、機関回転速度NE10がサンプリングされる。次いで、ステップS68において、最新の機関回転速度(ステップS67にてサンプリングされた機関回転速度)NE10及び最新の機関負荷KLに基づいて、各気筒における「フル噴射クランク角度CAf(♯N)及び第1〜第3パーシャル噴射クランク角度CApN(♯N)」が演算されると共に、最新の機関回転速度(ステップS67にてサンプリングされた機関回転速度)NE10、最新の機関負荷KL、最新の燃圧Pf及び最新の筒内圧Pcに基づいて、各気筒における「フル噴射時間TAUf(♯N)及び第1〜第3パーシャル噴射時間TAUpN(♯N)」が演算される。
次いで、ステップS69において、前記演算された「フル噴射クランク角度CAf(♯N)及び第1〜第3パーシャル噴射クランク角度CApN(♯N)」の何れかが現在のクランク角度から10°後のクランク角度CA10以前のクランク角度である(CApN(♯N)≦CA10)か否かが判定される。何れの「角度CAf(♯N)及びCApN(♯N)」も角度CA10以前のクランク角度ではない場合、フローは終了する。一方、「角度CAf(♯N)及びCApN(♯N)」の何れかが角度CA10以前のクランク角度である場合、フローはステップS70に進む。以下「角度CA10以前のクランク角度であると判定された噴射クランク角度」を「対象噴射クランク角度」と称呼し、「対象噴射クランク角度において開始するべき燃料噴射」を「対象噴射」と称呼し、「対象噴射が開始されるべき気筒」を「対象気筒」と称呼する。
ステップS70において、最新の機関回転速度NE10に基づいて、現時刻Tnowからクランク角度が「対象噴射クランク角度CAf(♯N)又はCApN(♯N)」に到達するまでに要する時間(対象噴射の開始までの所要時間)ΔTf(♯N)又はΔTpN(♯N)が演算される。
次いで、ステップS71において、現時刻Tnowに「前記所要時間ΔTf(♯N)又はΔTpN(♯N)」を加えた時刻(対象噴射の開始時刻)Tf(♯N)又はTpN(♯N)が演算され(Tf(♯N)=Tnow+ΔTf(♯N)、TpN(♯N)=Tnow+ΔTpN(♯N))、この時刻Tf(♯N)又はTpN(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射開始フラグがセットされ、加えて、対象噴射に対応する最新の「フル噴射時間TAUf(♯N)又はパーシャル噴射時間TAUpN(♯N)(ステップ68にて演算されたフル噴射時間又はパーシャル噴射時間)」が取得され、この「TAUf(♯N)又はTAUpN(♯N)」がメモリに保存され、フローが終了する。これにより、タイマー85が示す時刻が「前記レジスタ87にセットされた対象噴射の開始時刻Tf(♯N)又はTpN(♯N)」と一致したときに、そのレジスタ87により対象気筒の噴射弁17への通電が行われ、対象気筒において燃料噴射が開始される。
そして、燃料噴射が開始されたとき、コンペアレジスタ割込み処理により図12のフローが開始され、ステップS45において、「前記対象噴射の開始時刻Tf(♯N)又はTpN(♯N)」に「図15のステップS71にてメモリに保存されたフル噴射時間TAUf(♯N)又はパーシャル噴射時間TAUpN(♯N)」を加えた時刻(対象噴射の終了時刻)Te(♯N)が演算され(Te(♯N)=Tf(♯N)+TAUf(♯N)、Te(♯N)=TpN(♯N)+TAUpN(♯N))、この時刻Te(♯N)が対象気筒の噴射弁17に対応するレジスタ87にセットされ、更に、そのレジスタ87の噴射終了フラグがセットされ、フローが終了する。その後、タイマー85が示す時刻が「前記レジスタ87にセットされた対象噴射の終了時刻Te(♯N)」と一致したときに、そのレジスタ87により噴射弁17への通電が停止される。これにより、対象気筒における噴射が終了する。
尚、図14の例においては、「冷間始動条件が成立しているか否か」及び「急速触媒暖機条件が成立しているか否か」に応じて「シングル・マルチ噴射制御モード」又は「シングル噴射制御モード」のみが設定される。しかしながら、「冷間始動条件及び急速触媒暖機条件」以外の所定の条件が成立した場合に「1機関サイクルにおいてマルチ噴射制御のみを実行するマルチ噴射制御モード」が設定されてもよい。この場合、図15の噴射制御フラグXNはリセットされる(XN←0)。更に、この場合、図15のステップS60において、XN=1ではないと判定され、ステップS67〜ステップS71の処理が行われるが、これら処理は、マルチ噴射制御の各パーシャル噴射についてのみ行われる。
<第1及び第2実施形態における燃圧制御>
上記実施形態においては、燃圧が所定圧力に維持されるように燃料ポンプ19の作動が制御される。次に、上記実施形態に係る燃圧の制御について図16のフローを用いて、より具体的に説明する。図16のフローは、所定時間間隔の割込み処理により開始される。図16のフローが開始されると、初めに、ステップS80において、燃圧Pfが目標燃圧Pftよりも低い(Pf<Pft)か否かが判定される。Pf<Pftである場合、ステップS81において、燃圧が上昇するように燃料ポンプ19の作動を変更する昇圧制御が実行され、フローは終了する。一方、Pf<Pftではない場合、ステップS82において、燃圧Pfが目標燃圧Pftよりも高い(Pf>Pft)か否かが判定される。Pf>Pftである場合、ステップS83において、燃圧が低下するように燃料ポンプ19の作動を変更する降圧制御が実行され、フローは終了する。一方、Pf>Pftではない場合、このときには燃圧が目標燃圧に等しいので、フローはそのまま終了する。
<変形例>
第1実施形態の変形例において、「冷間始動条件及び急速触媒暖機条件」以外の条件が成立したときに、マルチ噴射制御が実行されてもよい。更に、第2実施形態の変形例において、「冷間始動条件及び急速触媒暖機条件」以外の条件が成立したときに、シングル噴射制御及びマルチ噴射制御の双方が実行されてもよい。
更に、上記各実施形態の変形例において、マルチ噴射制御におけるパーシャル噴射の回数は、機関運転状態に応じて変更されてもよい。
更に、機関負荷、燃圧及び筒内圧(以下「機関負荷等」とも称呼する)のサンプリングは、所定クランク角度間隔にて実行されてもよい。更に、機関回転速度のサンプリングは、所定時間間隔にて実行されてもよい。更に、噴射用演算は、所定時間間隔にて実行されてもよい。更に、追加の噴射用演算は、所定時間間隔の時刻にて実行されてもよい。更に、噴射開始用処理は、所定時間間隔の時刻にて実行されてもよい。
更に、短縮時間間隔及び通常時間間隔はそれぞれ0.39ms及び1.2msに限定されず、これら時間間隔は、短縮時間間隔が通常時間間隔よりも短い間隔であれば、如何なる時間間隔であってもよい。加えて、各時間間隔は、短縮時間間隔が通常時間間隔よりも短い限り、一定の時間間隔ではなく、任意の時間間隔でもよい。
更に、AD変換スケジュール(一定時間Δtad経過毎にAD変換をするべきパラメータの順番を決めるスケジュール)が変更されると、結果的に、機関負荷等をサンプリングする時間間隔が変更される。そこで、上記実施形態において、AD変換スケジュールを変更することにより機関負荷等をサンプリングする時間間隔を変更するようにしてもよい。
より具体的に述べると、例えば、燃料噴射に関する制御値の演算に必要で且つAD変換されるパラメータ値が「A」、「B」及び「C」であり、その他のAD変換されるパラメータ値が「Y」及び「Z」であり、所定時間間隔が通常時間間隔であるときの各パラメータ値をサンプリングするAD変換スケジュールが「A,Y,Z,B,Y,Z,C,Y,Z」の順であるとする。このAD変換スケジュールにおいては、パラメータ値A、B及びCのそれぞれは、時間9*Δtad毎にAD変換される。即ち、通常時間間隔は9*Δtadである。これに対し、所定時間間隔が短縮時間間隔であるときの各パラメータ値をサンプリングするときには、AD変換スケジュールを「A,Y,B,Z,C,Y」の順に変更する。このAD変換スケジュールにおいては、パラメータ値A、B及びCのそれぞれは、時間6*Δtad毎にAD変換される。即ち、短縮時間間隔は6*Δtadであり、所定時間間隔が通常時間間隔9*Δtadよりも短くなる。
更に、短縮クランク角度間隔及び通常クランク角度間隔はそれぞれ10°クランク角度間隔及び30°クランク角度間隔に限定されず、これらクランク角度間隔は、短縮クランク角度間隔が通常クランク角度間隔よりも短い間隔であれば、如何なるクランク角度間隔であってもよい。加えて、各クランク角度間隔は、短縮クランク角度間隔が通常クランク角度間隔よりも短い間隔である限り、一定のクランク角度間隔ではなく、任意のクランク角度間隔でもよい。
更に、第1実施形態においてマルチ噴射制御が実行される場合及び第2実施形態においてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、「噴射用演算を実行する所定クランク角度間隔」、「追加の噴射用演算を実行するクランク角度を規定する所定クランク角度」、「噴射開始用処理を実行するクランク角度を規定する所定クランク角度」、「機関回転速度をサンプリングする所定クランク角度間隔」及び「機関負荷等をサンプリングする所定時間間隔」の何れかのみが短縮されてもよい。
更に、「噴射クランク角度、燃料噴射時間及び噴射開始までの所要時間」の演算に「機関回転速度、機関負荷、燃圧及び筒内圧」以外のパラメータ値が用いられてもよい。更に、燃料噴射を制御する制御値として、「噴射クランク角度、燃料噴射時間及び噴射開始までの所要時間」以外の制御値が演算されてもよい。
更に、「通常クランク角度間隔又は短縮クランク角度間隔」で「各燃料噴射の開始までの所要時間」が演算されてもよい。加えて、「通常クランク角度間隔又は短縮クランク角度間隔」で演算される制御値が「フル噴射クランク角度及びパーシャル噴射クランク角度」及び「フル噴射時間及びパーシャル噴射時間」の何れか一方のみであってもよい。この場合、演算されない制御値は、「噴射開始用処理が行われるクランク角度」においてのみ演算される。或いは、「フル噴射クランク角度及びパーシャル噴射クランク角度」及び「フ噴射時間及びパーシャル噴射時間」の双方が「噴射開始用処理が行われるクランク角度」においてのみ演算されてもよい。
更に、上記各実施形態は、4つの気筒全てにおける燃料噴射制御に本発明の燃料噴射制御を適用した場合の実施形態であるが、本発明は、1つの気筒における燃料噴射制御にのみ適用されてもよい。
更に、上記各実施形態のマルチ噴射制御においては、パーシャル噴射が複数回実行されるが、本発明は、マルチ噴射制御においてフル噴射が複数回実行される場合にも適用可能である。更に、上記各実施形態のシングル噴射制御においては、フル噴射が1回のみ実行されるが、本発明は、シングル噴射制御においてパーシャル噴射が1回のみ実行される場合にも適用可能である。
更に、上記各実施形態において、1機関サイクルにおいてシングル噴射制御及びマルチ噴射制御の双方が実行される場合、シングル噴射制御は吸気行程の中期に実行され、マルチ噴射制御は圧縮行程の後期に実行される。しかしながら、本発明は、シングル噴射制御が吸気行程の中期以外のタイミングにおいて実行される場合にも適用可能であり、マルチ噴射制御が圧縮行程の後期以外のタイミングにおいて実行される場合にも適用可能である。
更に、上記各実施形態において、1機関サイクルにおいてマルチ噴射制御が実行される場合、シングル噴射制御は必ず実行されるが、本発明は、1機関サイクルにおいてマルチ噴射制御のみが実行される場合にも適用可能である。
以上の説明から理解されるように、本発明は、燃料噴射弁17を備える内燃機関10に適用され、且つ、前記機関の運転状態に関するパラメータ値(機関回転速度NE、機関負荷KL、燃圧Pf、筒内圧Pc等)を所定サンプリング間隔にてサンプリングし、該サンプリングされたパラメータ値のうちの最新の値に基づいて前記燃料噴射弁からの燃料噴射に関する制御値(「噴射クランク角度CAf及び/又はCAp1〜CAp3」、「燃料噴射時間TAUf及び/又はTAUp1〜TAUp3」、「噴射開始までの所要時間ΔTf及び/又はΔTp1〜ΔTp3」等)を所定期間を隔てて繰り返し演算し、該演算された制御値に基づいて前記燃料噴射を制御する制御部(ECU80)を有する、燃料噴射制御装置に関する。
前記制御部は、第1クランク角度間隔(例えば、30°クランク角度間隔)のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理(噴射開始用処理)を実行する第1処理モード(通常処理モード)と、前記第1クランク角度間隔よりも短い第2クランク角度間隔(例えば、10°クランク角度間隔)のクランク角度のうち、各燃料噴射の開始直前のクランク角度において、利用可能な最新の前記制御値に基づいて当該各燃料噴射を開始するための処理(噴射開始用処理)を実行する第2処理モード(短縮処理モード)と、のうちの何れかのモードにて各燃料噴射を開始するための処理を実行するように構成されている。
前記制御部は、前記第1クランク角度間隔に相当する時間内に燃料噴射(フル噴射)を1回のみ開始するシングル噴射制御を実行する場合、該シングル噴射制御の燃料噴射を開始するための処理(「フル噴射の開始時刻Tfのセット」及び「フル噴射時間TAUfの取得」)を前記第1処理モードにて実行する(図11のステップS29、図15のステップS66)ように構成されている。
一方、前記制御部は、前記第1クランク角度間隔に相当する時間内に燃料噴射(パーシャル噴射)を複数回開始するマルチ噴射制御を実行する場合、該マルチ噴射制御の各燃料噴射を開始するための処理(「パーシャル噴射の開始時刻Tp1〜Tp3のセット」及び「パーシャル噴射時間TAUp1〜TAUp3の取得」)を前記第2処理モードにて実行する(図11のステップS40、図15のステップS71)ように構成されている。
更に、前記制御部は、前記第1クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する(図11のステップS28、図15のステップS65)第1演算モード(通常演算モード)と、前記第2クランク角度間隔のクランク角度のうち、少なくとも各燃料噴射の開始直前のクランク角度において前記制御値を演算する(図11のステップS39、図15のステップS70)第2演算モード(短縮演算モード)と、のうちの何れかのモードにて前記制御値を演算するように構成されている。
この場合において、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値(フル噴射開始までの所要時間ΔTf)を前記第1演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値(パーシャル噴射開始までの所要時間ΔTp1〜ΔTp3)を前記第2演算モードにて演算するように構成されている。
更に、前記制御部は、前記第1クランク角度間隔にて前記制御値を演算する第1演算モード(通常演算モード)と、前記第2クランク角度間隔にて前記制御値を演算する第2演算モード(短縮演算モード)と、のうちの何れかのモードにて前記制御値を演算するように構成されている。
この場合において、前記制御部は、前記シングル噴射制御を実行する場合、前記制御値(「フル噴射クランク角度CAf」及び「フル噴射時間TAUf」)を前記第1演算モードにて演算し、前記マルチ噴射制御を実行する場合、前記制御値(「パーシャル噴射クランク角度CAp1〜CAp3」及び「パーシャル噴射時間TAUp1〜TAUp3」)を前記第2演算モードにて演算するように構成されている。