(57)【特許請求の範囲】
【請求項１】
内燃機関の運転状態に応じて求められる要求燃料噴射量と、燃料噴射弁の駆動電流の通電期間から得られる噴射モニタ信号により算出されるモニタ噴射量とを比較することによって燃料噴射量制御が正常に行われているか否かを監視するエンジン制御ユニットの監視装置において、
前記駆動電流が、前記燃料噴射弁の燃料噴射を実施する値と燃料噴射を停止する値との間で切り替わることに応じて、信号レベルがＬｏとＨｉとの間で切り替わる前記噴射モニタ信号を出力する噴射モニタ信号出力手段と、
前記噴射モニタ信号出力手段からの前記噴射モニタ信号を受ける入力ポートを備えた中央処理装置とを備え、
前記中央処理装置は、前記入力ポートが受けている前記噴射モニタ信号の信号レベルであるポートレベルがＬｏとＨｉとの間で切り替わった場合に、その時刻を取得する時刻取得手段と、前記入力ポートが受けている前記噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった場合に、その切り替わり後に処理時間遅れをもってポートレベルを検出するポートレベル検出手段と、このポートレベル検出手段が前記切り替わり後のポートレベルを検出した際に、前記切り替わり後のポートレベルまたはそのポートレベルに対応して設定されるフラグ値を記憶するポートレベル記憶手段と、前記時刻取得手段が取得した時刻および前記ポートレベル検出手段が検出したポートレベルから算出される噴射期間に基づいて前記モニタ噴射量を算出する噴射量算出手段と、この噴射量算出手段によって算出された前記モニタ噴射量と前記要求燃料噴射量とを比較することによって燃料噴射量制御が正常に行われているか否かを監視する監視手段とを備えており、
前記中央処理装置は、
前記入力ポートが受けている前記噴射モニタ信号のポートレベルが、ＬｏとＨｉとの間で切り替わった際、前記ポートレベル検出手段によって検出されたポートレベルと、前記ポートレベル記憶手段に現在記憶されているポートレベルまたは前記フラグ値に対応するポートレベルとが異なる場合には、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用する時刻として確定する一方、
前記入力ポートが受けている前記噴射モニタ信号のポートレベルが、ＬｏとＨｉとの間で切り替わった後に、この噴射モニタ信号のポートレベルが再び切り替わるまでの時間が、前記処理遅れ時間よりも短いことに起因して、前記ポートレベル検出手段によって検出されたポートレベルと、前記ポートレベル記憶手段に現在記憶されているポートレベルまたは前記フラグ値に対応するポートレベルとが一致している場合には、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用しない構成となっていることを特徴とするエンジン制御ユニットの監視装置。
【請求項２】
請求項１記載のエンジン制御ユニットの監視装置において、
前記中央処理装置は、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用する時刻として確定した際、前記ポートレベル記憶手段が記憶するポートレベルまたはそのポートレベルに対応して設定されるフラグ値を切り替える構成となっていることを特徴とするエンジン制御ユニットの監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン制御ユニットの監視装置に係る。特に、本発明は、燃料噴射量制御が正常に行われているか否かを監視する監視装置に関する。
【背景技術】
【０００２】
従来、車両等に搭載されるエンジンでは、運転者の要求等に応じたエンジン出力を得るために燃料噴射量制御が行われている。この燃料噴射量制御は、エンジン制御ユニットによって行われる。エンジン制御ユニットは、演算処理を行うマイクロコンピュータと、インジェクタを駆動する電子駆動ユニット（ＥＤＵ：Electric Driving Unit）とを備えている。
【０００３】
燃料噴射量制御では、マイクロコンピュータが、要求噴射量を演算すると共に、この要求噴射量を得るために必要なインジェクタ駆動電流の通電期間を演算する。この通電期間の情報がＥＤＵに送信され、ＥＤＵは、その情報に応じた通電期間だけインジェクタに駆動電流を流す。これにより、インジェクタからの燃料噴射が実行される。
【０００４】
燃料噴射量制御が正常に行われているか否かを監視する監視装置として特許文献１に開示されているものがある。この特許文献１では、インジェクタに流れる駆動電流を検出することで生成される噴射モニタ信号（パルス信号）をＥＤＵからマイクロコンピュータに送信するようにしている。具体的には、前記駆動電流の上昇（ＥＤＵからの噴射指令信号のＯＮ）に応じて噴射モニタ信号を立ち下げ、駆動電流の下降（ＥＤＵからの噴射指令信号のＯＦＦ）に応じて噴射モニタ信号を立ち上げる。そして、この噴射モニタ信号が立ち下がったタイミング（燃料噴射開始時刻に略同期したタイミング）および噴射モニタ信号が立ち上がったタイミング（燃料噴射終了時刻に略同期したタイミング）から燃料噴射期間を算出する。そして、この算出された燃料噴射期間から求められる燃料噴射量（燃料噴射期間および燃料圧力から求められる燃料噴射量）と、要求されていた燃料噴射量とを比較することによって、燃料噴射量制御が正常に行われているか否かを監視するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２３８２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記特許文献１に開示されている技術にあっては以下に述べる課題がある。
【０００７】
前述した監視（燃料噴射量制御が正常に行われているか否かの監視）を行う場合、この監視のために使用するマイクロコンピュータの入力ポートとしては少ない方が好ましい。つまり、マイクロコンピュータの１つの入力ポートのみを使用してＥＤＵから噴射モニタ信号を受信する構成とすることが好ましい。
【０００８】
この場合、ＥＤＵからの噴射モニタ信号のレベル（以下、ポートレベルという）が変化した場合（噴射モニタ信号のエッジ割り込みコールが生じた場合）には、この噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）から、その噴射モニタ信号のポートレベルがＨｉ（噴射モニタ信号の立ち上がり）またはＬｏ（噴射モニタ信号の立ち下がり）の何れであるかを判別するまでに処理遅れが生じてしまう（エッジ割り込みコールの発生時点からポートレベル判別時点までの時間が処理遅れ時間となる）。このため、噴射モニタ信号のポートレベルが変化した後、短時間のうちにポートレベルが再び変化する状況が生じた場合であって、このポートレベルの変化時間（ポートレベルが変化した後、このポートレベルが再び変化するまでの時間）が前記処理遅れ時間よりも短い場合には、噴射モニタ信号のポートレベルを正確に判別することができなくなり、燃料噴射量を正確に算出することができなくなる可能性がある。以下、具体的に説明する。
【０００９】
図１１は、従来技術において、短時間インターバルが生じている場合（燃料多段噴射を行う場合に燃料噴射停止期間が極端に短くなる噴射指令信号がＥＤＵから出力されている場合）における噴射指令信号および噴射モニタ信号それぞれの変化の一例を示すタイミングチャート図である。
【００１０】
この図１１に示す波形では、図中のタイミングｔ１において、噴射指令信号がＯＮ（駆動電流の上昇）となり、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち下がっている。この際、このエッジ割り込みコールが生じた時点を記憶する。そして、このエッジ割り込みコールが生じた時点から処理遅れ時間をもって（図中のタイミングｔ２で）噴射モニタ信号のポートレベルがＬｏであることが判別される。これにより、前記エッジ割り込みコールが生じた時点（前記記憶されている時点）が燃料噴射開始時刻として読み込まれる。また、図中のタイミングｔ３において、噴射指令信号がＯＦＦ（駆動電流の下降）となり、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち上がっている。この際、このエッジ割り込みコールが生じた時点を記憶する。そして、このエッジ割り込みコールが生じた時点から処理遅れ時間をもって（図中のタイミングｔ４で）噴射モニタ信号のポートレベルがＨｉであることが判別される。これにより、前記エッジ割り込みコールが生じた時点（前記記憶されている時点）が燃料噴射終了時刻として読み込まれる。なお、図中のタイミングｔ５においても前述と同様に噴射指令信号がＯＮとなり、図中のタイミングｔ６で噴射モニタ信号のポートレベルがＬｏであることが判別される。これにより、タイミングｔ５に対応するエッジ割り込みコールが生じた時点が燃料噴射開始時刻として読み込まれる。
【００１１】
そして、図中のタイミングｔ７からタイミングｔ８に示すように噴射指令信号がＯＦＦ（タイミングｔ７）となった後、短時間のうちに（前記処理遅れ時間よりも短い時間のうちに）噴射指令信号がＯＮ（タイミングｔ８）となって、短時間インターバルが生じる状況では、噴射モニタ信号が立ち上がった時点（タイミングｔ７で噴射指令信号がＯＦＦとなったことに伴って噴射モニタ信号が立ち上がった時点）から処理遅れ時間を経過した時点（タイミングｔ９）では、既に噴射モニタ信号が立ち下がっている。このため、このタイミングｔ７に対応するエッジ割り込みコールに対しては噴射モニタ信号のポートレベルはＬｏであると判別されてしまうことになる。また、噴射モニタ信号が立ち下がった時点（タイミングｔ８で噴射指令信号がＯＮとなったことに伴って噴射モニタ信号が立ち下がった時点）から処理遅れ時間を経過した時点（タイミングｔ１０）でも噴射モニタ信号のポートレベルはＬｏであると判別されることになる。
【００１２】
燃料噴射動作にあっては、通常であれば燃料噴射開始時刻と燃料噴射終了時刻とが交互に現れるので、噴射モニタ信号のポートレベルはＬｏとＨｉとが交互に繰り返されることになる。しかしながら、前述したように、短時間インターバルが生じる状況では、連続するエッジ割り込みコールに対して、噴射モニタ信号のポートレベルがそれぞれＬｏであると判別されてしまう場合がある（タイミングｔ６、ｔ９、ｔ１０を参照）。この場合、燃料噴射期間を正確に算出することができなくなって、燃料噴射量を正確に算出することができなくなる。例えば、タイミングｔ７に対応するエッジ割り込みコール時点を燃料噴射開始時刻と誤って読み込んでしまって、この燃料噴射開始時刻の情報と、タイミングｔ３に対応するエッジ割り込みコール時点の燃料噴射終了時刻の情報とを使用して燃料噴射量を算出してしまう可能性がある。このように燃料噴射量が正確に算出できない状況になると、燃料噴射量制御が正常に行われているにも拘わらず、燃料噴射量制御が正常に行われていないと誤判定してしまう可能性がある。
【００１３】
このような状況は、短時間インターバルが生じた場合に限らず、燃料噴射期間（燃料噴射開始から燃料噴射終了までの期間）が極端に短くなる（前記処理遅れ時間よりも短くなる）噴射指令信号がＥＤＵから出力された場合においても同様に発生する可能性がある。
【００１４】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、噴射モニタ信号のポートレベルが短時間のうちに変化する状況が生じた場合であっても燃料噴射量を正確に算出できるエンジン制御ユニットの監視装置を提供することにある。
【課題を解決するための手段】
【００１５】
前記の目的を達成するための本発明の解決手段は、内燃機関の運転状態に応じて求められる要求燃料噴射量と、燃料噴射弁の駆動電流の通電期間から得られる噴射モニタ信号により算出されるモニタ噴射量とを比較することによって燃料噴射量制御が正常に行われているか否かを監視するエンジン制御ユニットの監視装置を前提とする。このエンジン制御ユニットの監視装置に対し、前記駆動電流が、前記燃料噴射弁の燃料噴射を実施する値と燃料噴射を停止する値との間で切り替わることに応じて、信号レベルがＬｏとＨｉとの間で切り替わる前記噴射モニタ信号を出力する噴射モニタ信号出力手段と、前記噴射モニタ信号出力手段からの前記噴射モニタ信号を受ける入力ポートを備えた中央処理装置とを備えさせる。また、前記中央処理装置に、時刻取得手段、ポートレベル検出手段、ポートレベル記憶手段、噴射量算出手段、および、監視手段を備えさせる。時刻取得手段は、前記入力ポートが受けている前記噴射モニタ信号の信号レベルであるポートレベルがＬｏとＨｉとの間で切り替わった場合に、その時刻を取得する。ポートレベル検出手段は、前記入力ポートが受けている前記噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった場合に、その切り替わり後に処理時間遅れをもってポートレベルを検出する。ポートレベル記憶手段は、前記ポートレベル検出手段が前記切り替わり後のポートレベルを検出した際に、前記切り替わり後のポートレベルまたはそのポートレベルに対応して設定されるフラグ値を記憶する。噴射量算出手段は、前記時刻取得手段が取得した時刻および前記ポートレベル検出手段が検出したポートレベルから算出される噴射期間に基づいて前記モニタ噴射量を算出する。監視手段は、前記噴射量算出手段によって算出された前記モニタ噴射量と前記要求燃料噴射量とを比較することによって燃料噴射量制御が正常に行われているか否かを監視する。そして、前記中央処理装置を、前記入力ポートが受けている前記噴射モニタ信号のポートレベルが、ＬｏとＨｉとの間で切り替わった際、前記ポートレベル検出手段によって検出されたポートレベルと、前記ポートレベル記憶手段に現在記憶されているポートレベルまたは前記フラグ値に対応するポートレベルとが異なる場合には、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用する時刻として確定する一方、前記入力ポートが受けている前記噴射モニタ信号のポートレベルが、ＬｏとＨｉとの間で切り替わった後に、この噴射モニタ信号のポートレベルが再び切り替わるまでの時間が、前記処理遅れ時間よりも短いことに起因して、前記ポートレベル検出手段によって検出されたポートレベルと、前記ポートレベル記憶手段に現在記憶されているポートレベルまたは前記フラグ値に対応するポートレベルとが一致している場合には、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用しない構成としている。
【００１６】
この特定事項により、中央処理装置の入力ポートが受けている噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった際、ポートレベル検出手段によって検出されたポートレベルが、ポートレベル記憶手段に現在記憶されているポートレベルまたはフラグ値に対応するポートレベルと異なる場合には、時刻取得手段によって取得されている時刻を噴射期間の算出に使用する時刻として確定する。つまり、この噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった時点を、入力ポートが受けた噴射モニタ信号のポートレベルに応じて燃料噴射開始時刻または燃料噴射終了時刻として読み込む。そして、この読み込まれた時刻の複数（燃料噴射開始時刻および燃料噴射終了時刻）を使用して噴射期間を算出し、この噴射期間に基づいてモニタ噴射量を算出する。このモニタ噴射量が、燃料噴射量制御が正常に行われているか否かの監視に使用される。
【００１７】
一方、中央処理装置の入力ポートが受けている噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった際、ポートレベル検出手段によって検出されたポートレベルが、ポートレベル記憶手段に現在記憶されているポートレベルまたはフラグ値に対応するポートレベルに一致している場合には、時刻取得手段によって取得されている時刻を噴射期間の算出に使用しない。つまり、この噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった時点を燃料噴射開始時刻および燃料噴射終了時刻として読み込むことはない。このため、噴射モニタ信号のポートレベルが短時間のうちに変化した場合であって、ポートレベルを判別するまでに処理遅れが生じていることに起因して、ポートレベル検出手段によってポートレベルが検出される時点で既にポートレベルが変化している状況が生じた場合には、前記時刻（燃料噴射開始時刻または燃料噴射終了時刻）の読み込み（噴射期間の算出に使用する時刻としての読み込み）を行わないことになる。これにより、噴射期間の算出に使用する時刻（時刻取得手段により取得されて噴射期間の算出に使用する時刻として確定された時刻）における噴射モニタ信号のポートレベルとしてはＬｏとＨｉとが交互に現れることになる。このため、連続して読み込まれる時刻それぞれの噴射モニタ信号のポートレベルが同一となることに起因して燃料噴射期間が正確に算出できなくなるといったことが回避される。このため、燃料噴射量を正確に算出することができ、誤判定を防止することができる。
【００１８】
また、中央処理装置としては、前記時刻取得手段により取得される時刻を前記噴射期間の算出に使用する時刻として確定した際、前記ポートレベル記憶手段が記憶するポートレベルまたはそのポートレベルに対応して設定されるフラグ値を切り替える構成とすることが好ましい。
【００１９】
これにより、ポートレベルまたはそのポートレベルに対応して設定されるフラグ値を適正値に設定しておくことができる。
【発明の効果】
【００２０】
本発明では、噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった際、検出されたポートレベルと、現在記憶されているポートレベルまたはフラグ値に対応するポートレベルとが異なる場合に限り、前記ポートレベルが切り替わった際の時刻を噴射期間の算出に使用するようにしている。このため、噴射モニタ信号のポートレベルが短時間のうちに変化した場合であっても、噴射期間の算出に使用する時刻における噴射モニタ信号のポートレベルとしてはＬｏとＨｉとが交互に現れることになり、燃料噴射量を正確に算出することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係るエンジン制御ユニットおよびエンジンの燃料供給系の構成を模式的に示す図である。
【図２】エンジン制御ユニットにおける燃料噴射量制御および燃料噴射監視に係る処理の流れを示す図である。
【図３】第１異常判定ルーチンの処理手順を示すフローチャート図である。
【図４】実通電期間計測処理を実行するための構成を、噴射量換算処理および第２異常判定処理と共に示す機能ブロック図である。
【図５】短時間インターバルが生じていない場合における、クランク角信号、噴射指令信号、燃料噴射率、および、噴射モニタ信号それぞれの変化と、噴射時刻取得タイミングとの一例を示すタイミングチャート図である。
【図６】噴射量モニタ値算出ルーチンの処理手順を示すフローチャート図である。
【図７】通電モニタ期間ＩＮＪＭおよび噴射圧Ｐｃｒｉｎｊと噴射量モニタ値ＱＭとの関係を示す図である。
【図８】第２異常判定ルーチンの処理手順を示すフローチャート図である。
【図９】データ取得許可フラグ切替処理および噴射時刻読込処理の手順を示すフローチャート図である。
【図１０】短時間インターバルが生じている場合における、クランク角信号、噴射指令信号、燃料噴射率、噴射モニタ信号、および、データ取得許可フラグそれぞれの変化と、噴射時刻取得タイミングとの一例を示すタイミングチャート図である。
【図１１】従来技術において、短時間インターバルが生じている場合における噴射指令信号および噴射モニタ信号それぞれの変化の一例を示すタイミングチャート図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態を図面に基づいて説明する。本実施形態は、車両に搭載されたディーゼルエンジン（内燃機関）のエンジン制御ユニットに本発明を適用した場合について説明する。
【００２３】
（エンジン制御ユニットおよび燃料供給系の全体構成）
図１は、本実施形態に係るエンジン制御ユニットおよびエンジンの燃料供給系の構成を模式的に示す図である。この図１に示すように、エンジンの燃料供給系には燃料ポンプ１１が備えられている。この燃料ポンプ１１は、燃料タンク１０から汲み上げた燃料を加圧して吐出する。燃料ポンプ１１には圧力調整弁（ＰＣＶ）１２が設けられている。このＰＣＶ１２は、燃料ポンプ１１から吐出する燃料の圧力を調整する。燃料ポンプ１１が吐出した燃料は、コモンレール１３に圧送され、このコモンレール１３の内部に貯留される。コモンレール１３に貯留された燃料は、各気筒のインジェクタ（燃料噴射弁）１４に分配供給される。なお、コモンレール１３には減圧弁１５が設けられている。この減圧弁１５の開弁時には、コモンレール１３内部の燃料が燃料タンク１０に戻されることにより、コモンレール１３内部の燃料圧力（レール圧）が降下する。
【００２４】
前記燃料供給系を備えるエンジンは、エンジン制御ユニット２０により制御される。エンジン制御ユニット２０は、マイクロコンピュータ（中央処理装置）２１、電子駆動ユニット（ＥＤＵ）２３および駆動回路２４を備えている。マイクロコンピュータ２１は、エンジン制御に係る各種演算処理を行う。ＥＤＵ（噴射モニタ信号出力手段）２３は、マイクロコンピュータ２１からの指令に応じて各インジェクタ１４を駆動する。駆動回路２４は、マイクロコンピュータ２１からの指令に応じてＰＣＶ１２および減圧弁１５を駆動する。
【００２５】
一方、エンジン制御ユニット２０には、アクセルポジションセンサ２６、水温センサ２７、レール圧センサ２８、クランク角センサ２９などの各種センサからの検出信号が入力されている。アクセルポジションセンサ２６は、アクセル操作量ＡＣＣＰを検出する。水温センサ２７は、エンジン水温ＴＨＷを検出する。レール圧センサ２８は、レール圧ＰＣＲを検出する。クランク角センサ２９は、エンジン出力軸の回転に応じてパルス状のクランク角信号を出力する。なお、エンジン制御ユニット２０にはＡＤコンバータ（ＡＤＣ）２５が設けられている。アクセルポジションセンサ２６、水温センサ２７およびレール圧センサ２８の各検出信号は、ＡＤコンバータ２５によってデジタル信号に変換されて、マイクロコンピュータ２１に入力される。また、クランク角センサ２９が出力するクランク角信号は、マイクロコンピュータ２１に直接入力される。
【００２６】
以上のように構成されたエンジン制御ユニット２０は、エンジン制御の一つとして、燃料噴射量制御を行う。次に、燃料噴射量制御の詳細を説明する。
【００２７】
（燃料噴射量制御）
図２（エンジン制御ユニットにおける燃料噴射量制御および燃料噴射監視に係る処理の流れを示す図）に示すように、マイクロコンピュータ２１は、燃料噴射量制御に際して、燃料噴射量制御ルーチンＲ１の処理を行う。この燃料噴射量制御ルーチンＲ１では、インジェクタ駆動電流の通電期間τを算出するにあたり、要求噴射量演算処理Ｐ２、噴射量分割処理Ｐ３、通電期間演算処理Ｐ４の３つの処理が行われる。
【００２８】
要求噴射量演算処理Ｐ２は、エンジンの運転状態に応じて要求噴射量（要求燃料噴射量）Ｑｆｉｎを求める処理であって、エンジン回転速度ＮＥ、アクセル操作量ＡＣＣＰ等に基づいて、要求噴射量Ｑｆｉｎを演算する。この要求噴射量Ｑｆｉｎの演算に際しては、まず、エンジン回転速度ＮＥおよびアクセル操作量ＡＣＣＰからベース噴射量Ｑｂｓｅが算出される。ここでのベース噴射量Ｑｂｓｅの算出は、マイクロコンピュータ２１に記憶されたベース噴射量算出用のマップに基づいて行われる。このマップには、エンジン回転速度ＮＥおよびアクセル操作量ＡＣＣＰと、ベース噴射量Ｑｂｓｅとの関係が記憶されている。そして、その演算したベース噴射量Ｑｂｓｅをエンジン水温ＴＨＷ等によって補正することで、要求噴射量Ｑｆｉｎが演算される。
【００２９】
なお、エンジン回転速度ＮＥは、回転速度算出処理Ｐ１により算出されている。回転速度算出処理Ｐ１では、クランク角センサ２９から入力されたクランク角信号に基づいて、エンジン回転速度ＮＥの算出が行われる。
【００３０】
一方、噴射量分割処理Ｐ３では、要求噴射量Ｑｆｉｎが、パイロット噴射、メイン噴射、アフタ噴射の各噴射に割り振られる。これにより、各噴射の噴射量が決定される。なお、燃料噴射の分割数や各噴射の噴射量の分配比率は、そのときのエンジン運転状況に応じて定められる。
【００３１】
また、通電期間演算処理Ｐ４では、決定された噴射量が得られるように、各噴射のインジェクタ駆動電流の通電期間τが演算される。各噴射の通電期間τは、各噴射の噴射量とレール圧ＰＣＲとに基づき求められる。そして、マイクロコンピュータ２１は、演算した各噴射の通電期間τをＥＤＵ２３に指令する。
【００３２】
この指令を受けたＥＤＵ２３は、指令された各噴射の通電期間τに基づき、噴射指令信号を生成する指令信号生成処理Ｐ５を行う。噴射指令信号は、通電期間の開始とともにインジェクタ１４の電磁弁を開弁可能なレベルまで信号レベルが上がり、通電期間の終了に応じてその開弁を保持不能となるレベルまで信号レベルが下がるように生成される。そして、生成された噴射指令信号は、該当する（燃焼行程を迎えている）気筒のインジェクタ１４に出力される。
【００３３】
また、ＥＤＵ２３は、各インジェクタ１４の電磁弁に流れる電流を検出し、その結果から噴射モニタ信号を生成するモニタ信号生成処理Ｐ６も行っている。噴射モニタ信号は、インジェクタ１４の電磁弁に通電される駆動電流の通電期間から得られるものであって、駆動電流が実際に通電されている期間（駆動電流が、インジェクタ１４の燃料噴射を実施する値となっている期間）は信号レベルが「Ｌｏ」となり、通電がなされていない期間（駆動電流が、インジェクタ１４の燃料噴射を停止する値となっている期間）は信号レベルが「Ｈｉ」となるパルス状の信号として生成されている。生成された噴射モニタ信号は、マイクロコンピュータ２１の１つの入力ポート（割り込みポート）Ｐｏｒｔ１に入力される。
【００３４】
（噴射圧制御）
次に、前述した燃料噴射量制御に付随して行われる噴射圧制御について説明する。
【００３５】
マイクロコンピュータ２１は、前記回転速度算出処理Ｐ１で算出されたエンジン回転速度ＮＥと、前記要求噴射量演算処理Ｐ２で演算された要求噴射量Ｑｆｉｎとに基づいて、目標レール圧を算出する目標レール圧算出処理Ｐ７を行う。そして、マイクロコンピュータ２１は、算出した目標レール圧と、レール圧センサ２８により検出された実際のレール圧ＰＣＲとに基づいて、ポンプフィードバック（Ｆ／Ｂ）制御処理Ｐ８と減圧弁制御処理Ｐ９とを実施する。
【００３６】
ポンプＦ／Ｂ制御処理Ｐ８では、目標レール圧と実際のレール圧ＰＣＲとの偏差に応じてＰＣＶ１２の目標開度が演算される。演算された目標開度は、駆動回路２４に出力される。そして、駆動回路２４が、目標開度が得られるようにＰＣＶ１２を駆動することで、燃料ポンプ１１の吐出圧が調整される。
【００３７】
また、減圧弁制御処理Ｐ９では、実際のレール圧ＰＣＲが目標レール圧よりも高いときに、減圧弁１５の作動指令が駆動回路２４に出力される。駆動回路２４は、この作動指令の入力に伴って減圧弁１５を作動させて、コモンレール１３から燃料を排出させることで、レール圧ＰＣＲを降下させる。
【００３８】
一方、マイクロコンピュータ２１は、前記燃料噴射量制御と並行して、その制御が正常に行われているか否かを常時監視している。本実施形態では、こうした燃料噴射量制御の監視を、次の２つの監視ルーチンの処理を通じて行っている。すなわち、燃料噴射量制御ルーチンＲ１の要求噴射量Ｑｆｉｎの演算機能を監視する第１監視ルーチンＲ２と、要求噴射量Ｑｆｉｎに基づくインジェクタ１４の駆動機能を監視する第２監視ルーチンＲ３とにより、燃料噴射量制御の監視が行われている。
【００３９】
（第１監視ルーチン）
第１監視ルーチンＲ２では、要求噴射量Ｑｆｉｎの演算値と、その演算に使用されたエンジン運転状態の検出値（エンジン回転速度ＮＥ、アクセル操作量ＡＣＣＰ、エンジン水温ＴＨＷ）とに基づいて、要求噴射量Ｑｆｉｎの演算が正常に行われたか否かが判定される。
【００４０】
図２に示すように、第１監視ルーチンＲ２は、噴射量モニタ値算出処理Ｐ１０と第１異常判定処理Ｐ１１との２つの処理を通じて行われる。
【００４１】
噴射量モニタ値算出処理Ｐ１０では、エンジン回転速度ＮＥとアクセル操作量ＡＣＣＰとエンジン水温ＴＨＷとに基づいて要求噴射量（要求噴射量モニタ値Ｑｆｉｎｍ）の算出が行われる。また、第１異常判定処理Ｐ１１では、前記要求噴射量モニタ値Ｑｆｉｎｍと前記要求噴射量Ｑｆｉｎとの比較により、要求噴射量Ｑｆｉｎの演算が正常に行われたか否かが判定される。前記要求噴射量モニタ値Ｑｆｉｎｍの算出は、マイクロコンピュータ２１に記憶された噴射量モニタ値算出用のマップに基づいて行われる。
【００４２】
第１異常判定処理Ｐ１１は、図３に示す第１異常判定ルーチンの処理を通じて行われる。
【００４３】
図３に示すように、ステップＳＴ１において、前記要求噴射量Ｑｆｉｎが読み込まれる。そして、ステップＳＴ２において、前記要求噴射量モニタ値Ｑｆｉｎｍと要求噴射量Ｑｆｉｎとの比較が行われる。本実施形態では、要求噴射量Ｑｆｉｎが過剰となる場合のみをフェールセーフ処理が必要な異常としている。そのため、ここでは、要求噴射量Ｑｆｉｎが、要求噴射量モニタ値Ｑｆｉｎｍよりも既定値α以上大きい（Ｑｆｉｎ≧Ｑｆｉｎｍ＋α）場合に、それらの乖離が生じたと判定している。
【００４４】
ステップＳＴ２でＮＯ判定されると、ステップＳＴ３において、この乖離が生じた状態の継続期間を示す異常検出カウンタＣ１の値がクリアされた後、リターンされる。
【００４５】
ステップＳＴ２でＹＥＳ判定されると、ステップＳＴ４において、異常検出カウンタＣ１のカウントアップが行われる。そして、ステップＳＴ５において、異常検出カウンタＣ１が予め規定された異常判定値β以上であるか否かが判定される。ステップＳＴ５でＮＯ判定されると、そのままリターンされる。
【００４６】
一方、ステップＳＴ５でＹＥＳ判定されると、ステップＳＴ６において、噴射量演算機能異常フラグがセットされた後、今回の本ルーチンの処理が終了される。この際、マイクロコンピュータ２１は、フェールセーフ処理として、要求噴射量Ｑｆｉｎの演算を停止し、この要求噴射量Ｑｆｉｎを予め規定された値に固定する。
【００４７】
（第２監視ルーチン）
次に、第２監視ルーチンＲ３の処理の詳細を説明する。第２監視ルーチンＲ３では、インジェクタ１４から実際に噴射された燃料の量（実燃料噴射量；本発明でいうモニタ噴射量）と、燃料噴射量制御ルーチンＲ１が演算した要求噴射量Ｑｆｉｎとを比較する。これにより、要求噴射量Ｑｆｉｎの演算結果に基づくインジェクタ１４の駆動が正常に行われたか否かが判定される。つまり、この第２監視ルーチンＲ３によって燃料噴射量制御が正常に行われているか否かが監視されることになる。
【００４８】
図２に示すように、第２監視ルーチンＲ３は、実通電期間計測処理Ｐ２０、噴射量換算処理Ｐ２１および第２異常判定処理Ｐ２２の３つの処理により構成されている。実通電期間計測処理Ｐ２０では、ＥＤＵ２３から入力された前記噴射モニタ信号に基づいて、インジェクタ１４の駆動電流の通電期間が計測される。噴射量換算処理Ｐ２１では、その計測された通電期間から、インジェクタ１４の実燃料噴射量（前記モニタ噴射量）が算出される。第２異常判定処理Ｐ２２では、算出された実燃料噴射量と、燃料噴射量制御ルーチンＲ１で演算された要求噴射量Ｑｆｉｎとの比較により、要求噴射量Ｑｆｉｎに基づくインジェクタ１４の駆動が正常に行われたか否か、つまり、燃料噴射量制御が正常に行われているか否かが判定される。
【００４９】
まず、実通電期間計測処理Ｐ２０の詳細を説明する。
【００５０】
図４は、実通電期間計測処理Ｐ２０を実行するための構成を、噴射量換算処理Ｐ２１および第２異常判定処理Ｐ２２と共に示す機能ブロック図である。この図４に示すように、実通電期間計測処理Ｐ２０では、時刻取得処理Ｐ２０ａ、ポートレベル検出処理Ｐ２０ｂ、および、ポートレベル記憶処理Ｐ２０ｃの各処理が行われる。
【００５１】
時刻取得処理Ｐ２０ａは、マイクロコンピュータ２１の１つの入力ポートＰｏｒｔ１が受けている前記噴射モニタ信号の信号レベル（ポートレベル）がＬｏとＨｉとの間で切り替わった場合に（噴射モニタ信号のエッジ割り込みコールが生じた場合に）、その時刻を取得する処理である。この時刻取得処理Ｐ２０ａの詳細については後述する。マイクロコンピュータ２１において、この時刻取得処理Ｐ２０ａを実行する処理部分が本発明でいう時刻取得手段に相当することになる。
【００５２】
ポートレベル検出処理Ｐ２０ｂでは、前記入力ポートＰｏｒｔ１が受けている噴射モニタ信号のポートレベルがＬｏとＨｉとの間で切り替わった場合に（噴射モニタ信号のエッジ割り込みコールが生じた場合に）、その切り替わり後のポートレベルを検出する処理である。実際には、前述したように１つの入力ポートＰｏｒｔ１で噴射モニタ信号を受けているため、噴射モニタ信号のエッジ割り込みコールが生じた後、噴射モニタ信号のポートレベルがＬｏであるのかＨｉであるのかを判別するのに要する処理遅れがある。このため、ポートレベル検出処理Ｐ２０ｂでは、この処理遅れの後にポートレベルが検出（ポートレベルが判別）されることになる。マイクロコンピュータ２１において、このポートレベル検出処理Ｐ２０ｂを実行する処理部分が本発明でいうポートレベル検出手段に相当することになる。
【００５３】
ポートレベル記憶処理Ｐ２０ｃは、前記入力ポートＰｏｒｔ１が受けている噴射モニタ信号のポートレベルを記憶する処理であって、前記ポートレベル検出処理Ｐ２０ｂで前記切り替わり後のポートレベルが検出された際に、前記切り替わり後のポートレベルを記憶する処理である。本実施形態では、このポートレベルをそのまま記憶するのではなく、このポートレベルに応じてＯＮとＯＦＦとが切り替わる（ポートレベルに対応して設定されるフラグ値がＯＮとＯＦＦとで切り替わる）データ取得許可フラグを記憶することで、ポートレベルの記憶に代用させている。このデータ取得許可フラグ、このフラグの切り替え動作、このフラグを使用したデータ読み込み動作（燃料噴射開始時刻および燃料噴射終了時刻のデータの読み込み動作）については後述する。マイクロコンピュータ２１において、このポートレベル記憶処理Ｐ２０ｃを実行する処理部分が本発明でいうポートレベル記憶手段に相当することになる。
【００５４】
ここで燃料噴射開始時刻および燃料噴射停止時刻を読み込む処理（噴射時刻読み込み処理）の基本動作について説明する。
【００５５】
図５は、燃料噴射時におけるクランク角信号、噴射指令信号、燃料噴射率、および、噴射モニタ信号それぞれの変化と、噴射時刻取得タイミングとの一例（後述する短時間インターバルが生じていない場合）を示すタイミングチャート図である。
【００５６】
この図５に示すように、各燃料噴射時において、ＥＤＵ２３がインジェクタ１４に出力する噴射指令信号の信号レベルが立ち上がると、それに若干遅れてインジェクタ１４の電磁弁に流れる駆動電流が同電磁弁を開弁可能なレベルまで上昇して、燃料噴射が開始される。そして、このときの駆動電流の上昇に応じて、ＥＤＵ２３が生成する噴射モニタ信号が立ち下げられる。その後、噴射指令信号の信号レベルが立ち下がると、それに若干遅れてインジェクタ１４の電磁弁への駆動電流の通電が停止され、インジェクタ１４からの燃料噴射が停止される。そして、このときの駆動電流の通電停止に応じて、噴射モニタ信号が立ち上げられる。
【００５７】
前記時刻取得処理Ｐ２０ａでは、こうした噴射モニタ信号の立ち下がり、および立ち上がりに応じた割り込み処理として、噴射時刻の取り込みを行う。また、ポートレベル検出処理Ｐ２０ｂでは、噴射モニタ信号が立ち上がりと立ち下がりとの間で切り替わった際に、その切り替わり後のポートレベルが検出される。これにより、噴射モニタ信号が立ち下がったタイミングを燃料噴射開始時刻として読み込み、噴射モニタ信号が立ち上がったタイミングを燃料噴射停止時刻として読み込む。
【００５８】
具体的には、噴射指令信号がＯＮとなった場合、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち下がる。この際、このエッジ割り込みコールが生じた時点を記憶する（この時点では噴射モニタ信号のポートレベルが判別されていないため、燃料噴射開始時刻であるのか燃料噴射終了時刻であるのかは確定されない）。そして、このエッジ割り込みコールが生じた時点から処理遅れ時間をもって噴射モニタ信号のポートレベルがＬｏであることが判別される。これにより、前記エッジ割り込みコールが生じた時点（前記記憶されている時点）が燃料噴射開始時刻として読み込まれる。
【００５９】
また、噴射指令信号がＯＦＦとなった場合、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち上がる。この際、このエッジ割り込みコールが生じた時点を記憶する（この時点では噴射モニタ信号のポートレベルが判別されていないため、燃料噴射開始時刻であるのか燃料噴射終了時刻であるのかは確定されない）。そして、このエッジ割り込みコールが生じた時点から処理遅れ時間をもって噴射モニタ信号のポートレベルがＨｉであることが判別される。これにより、前記エッジ割り込みコールが生じた時点（前記記憶されている時点）が燃料噴射終了時刻として読み込まれる。
【００６０】
そして、マイクロコンピュータ２１は、各噴射の開始および終了の時刻から、各噴射における駆動電流の通電期間を通電モニタ期間ＩＮＪＭとして算出する。
【００６１】
なお、本実施形態では、マイクロコンピュータ２１は、こうした各噴射の開始および終了の時刻の読み込みと同時に、インジェクタ１４に供給される燃料の圧力（レール圧ＰＣＲ）の取り込みも行っている。ここでは、各噴射の終了時に取り込まれたレール圧ＰＣＲを、各噴射の噴射圧Ｐｃｒｉｎｊとして取得している。
【００６２】
一方、本実施形態では、噴射量換算処理Ｐ２１および第２異常判定処理Ｐ２２は、クランク角割り込み処理として、燃料噴射の終了後の所定の時期に実施されている。
【００６３】
次に、噴射量換算処理Ｐ２１の詳細を説明する。噴射量換算処理Ｐ２１では、前記実通電期間計測処理Ｐ２０によって計測された駆動電流の通電期間（前記時刻取得処理Ｐ２０ａによって取得された時刻および前記ポートレベル検出処理Ｐ２０ｂによって検出されたポートレベルから算出される噴射期間）に基づいて前記モニタ噴射量を算出する。この噴射量換算処理Ｐ２１を実行する処理部分が本発明でいう噴射量算出手段に相当する。この噴射量換算処理Ｐ２１では、具体的には、図６に示す噴射量モニタ値算出ルーチンの処理を通じて行われる。同ルーチンの処理は、マイクロコンピュータ２１により、インジェクタ１４からの一連の燃料噴射の終了後に、クランク角割り込み処理として実施される。
【００６４】
図６に示すように、本ルーチンの処理が開始されると、まずステップＳＴ１１において、各噴射の通電モニタ期間ＩＮＪＭと噴射圧Ｐｃｒｉｎｊとに基づいて、各噴射の噴射量が噴射量モニタ値ＱＭとして算出される。なお、マイクロコンピュータ２１には、図７に示すような通電モニタ期間ＩＮＪＭおよび噴射圧Ｐｃｒｉｎｊと、噴射量モニタ値ＱＭとの関係を示す算出マップが記憶されている。そして、ここでの噴射量モニタ値ＱＭの算出は、この算出マップを参照して行われる。
【００６５】
続いて、ステップＳＴ１２において、各噴射の噴射量モニタ値ＱＭの合計が、総噴射量モニタ値ΣＱＭに設定される。そして、その後、今回の本ルーチンの処理が終了される。なお、こうして求められた総噴射量モニタ値ΣＱＭは、今回の一連の燃料噴射（パイロット噴射からアフタ噴射までの燃料噴射）において、インジェクタ１４から実際に噴射された燃料の総量を示している。
【００６６】
次に、第２異常判定処理Ｐ２２の詳細を説明する。第２異常判定処理Ｐ２２では、前記モニタ噴射量と前記要求噴射量Ｑｆｉｎとを比較することによって燃料噴射量制御が正常に行われているか否かを監視する。この第２異常判定処理Ｐ２２を実行する処理部分が本発明でいう監視手段に相当する。この第２異常判定処理Ｐ２２では、具体的には、図８に示す第２異常判定ルーチンの処理を通じて行われる。同ルーチンの処理は、マイクロコンピュータ２１により、上述の噴射量モニタ値算出ルーチンの処理に引き続いて実行される。
【００６７】
図８に示すように、本ルーチンの処理が開始されると、まずステップＳＴ２１において、噴射量換算処理Ｐ２１で算出された総噴射量モニタ値ΣＱＭと、燃料噴射量制御ルーチンＲ１で演算された要求噴射量Ｑｆｉｎとが乖離しているか否かが判定される。なお、本実施形態では、総噴射量モニタ値ΣＱＭが過剰となる場合のみをフェールセーフ処理が必要な異常としている。そのため、ここでは、総噴射量モニタ値ΣＱＭが要求噴射量Ｑｆｉｎよりも既定値α以上大きい場合に、それらの乖離が生じたと判定している。
【００６８】
ここで、乖離が生じていなければ（ステップＳＴ２１でＮＯ判定）、ステップＳＴ２２において、異常検出カウンタＣ２の値がクリアされた後、リターンされる。なお、異常検出カウンタＣ２の値は、一定の時間毎に自動的にカウントアップされる。したがって、異常検出カウンタＣ２の値は、総噴射量モニタ値ΣＱＭと要求噴射量Ｑｆｉｎとが乖離した状態の継続に応じて、次第に大きくなる。
【００６９】
これに対して、総噴射量モニタ値ΣＱＭと要求噴射量Ｑｆｉｎとが乖離していると判定されたときには（ステップＳＴ２１でＹＥＳ判定）、ステップＳＴ２３において、異常検出カウンタＣ２が予め規定された異常判定値γ以上であるか否かが判定される。ここで、異常検出カウンタＣ２が異常判定値γ未満であれば（ステップＳＴ２３でＮＯ判定）、そのままリターンされる。
【００７０】
一方、異常検出カウンタＣ２が異常判定値γ以上であれば（ステップＳＴ２３でＹＥＳ判定）、ステップＳＴ２４において、通電期間演算機能異常フラグがセットされた後、今回の本ルーチンの処理が終了される。なお、通電期間演算機能異常フラグがセットされると、マイクロコンピュータ２１は、フェールセーフ処理として、異常が生じた気筒を休止、すなわちその気筒の燃料噴射を停止する。
【００７１】
（データ取得許可フラグ）
本実施形態の特徴として、マイクロコンピュータ２１には前記データ取得許可フラグが記憶されている。このデータ取得許可フラグは、後述するように噴射モニタ信号に基づく噴射開始時刻および噴射終了時刻それぞれの読み込みの許可および不許可を規定するために設けられたフラグである。
【００７２】
前述したように、ＥＤＵ２３からの噴射モニタ信号は、マイクロコンピュータ２１の１つの入力ポートＰｏｒｔ１に入力されるようになっている。このため、ＥＤＵ２３からの噴射モニタ信号のポートレベルが変化した場合（噴射モニタ信号のエッジ割り込みコールが生じた場合）には、このＥＤＵ２３から噴射モニタ信号を受信した時点（エッジ割り込みコールが生じた時点）から、その噴射モニタ信号のポートレベルがＨｉ（噴射モニタ信号の立ち上がり）またはＬｏ（噴射モニタ信号の立ち下がり）の何れであるかを判別するまでに処理遅れが生じることになる（エッジ割り込みコールの発生時点からポートレベル判別時点までの時間が処理遅れ時間となる）。
【００７３】
従来技術にあっては、前述したように、噴射モニタ信号のポートレベルが変化した後、短時間のうちにポートレベルが再び変化する状況が生じた場合であって、このポートレベルの変化時間（ポートレベルが変化した後、ポートレベルが再び変化するまでの時間）が前記処理遅れ時間よりも短い場合には、噴射モニタ信号のポートレベルを正確に判別することができなくなり、燃料噴射量を正確に算出することができなくなる可能性があった。
【００７４】
この点に鑑み、本実施形態では、マイクロコンピュータ２１にデータ取得許可フラグを記憶させておくと共に、実通電期間計測処理Ｐ２０のポートレベル記憶処理Ｐ２０ｃによってデータ取得許可フラグの切り替え動作および記憶動作を行わせ、このデータ取得許可フラグの状態（ＯＮ状態またはＯＦＦ状態）に応じて噴射モニタ信号に基づく噴射開始時刻および噴射終了時刻それぞれの読み込みの許可および不許可を規定するようにしている。以下、具体的に説明する。
【００７５】
前記データ取得許可フラグは、前記噴射モニタ信号のポートレベルがＨｉであるのかＬｏであるのかが判別された時点（前記処理遅れ時間が経過して噴射モニタ信号のポートレベルが判別された時点）で、そのポートレベルに応じてＯＮとＯＦＦとが切り替えられるものとなっている。具体的には、噴射モニタ信号のポートレベルがＨｉからＬｏに切り替わったことが検出された際にデータ取得許可フラグはＯＦＦからＯＮに切り替わる。また、噴射モニタ信号のポートレベルがＬｏからＨｉに切り替わったことが検出された際にデータ取得許可フラグはＯＮからＯＦＦに切り替わる。
【００７６】
このため、データ取得許可フラグがＯＦＦとなっている状態において、噴射モニタ信号のポートレベルがＬｏであると判別された時点（ポートレベルがＨｉからＬｏに切り替わった時点）でデータ取得許可フラグはＯＮとなる。また、データ取得許可フラグがＯＮとなっている状態において、噴射モニタ信号のポートレベルがＨｉであると判別された時点（ポートレベルがＬｏからＨｉに切り替わった時点）でデータ取得許可フラグはＯＦＦとなる。
【００７７】
つまり、燃料噴射の切り替え状態が、燃料噴射停止から燃料噴射開始に切り替えられることで噴射モニタ信号のポートレベルがＬｏとなった際に、データ取得許可フラグがＯＦＦであった場合には、このデータ取得許可フラグがＯＦＦからＯＮに切り替わるようになっている。そして、このようにしてデータ取得許可フラグがＯＦＦからＯＮに切り替わった場合に、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）が燃料噴射開始時刻として認識される。
【００７８】
このため、噴射モニタ信号のポートレベルがＬｏとなったとしても、データ取得許可フラグがＯＮであった場合には、このデータ取得許可フラグは切り替わることはなく、この場合には、前記噴射モニタ信号のポートレベルが変化していても燃料噴射開始時刻とは認識しないようにしている。つまり、前記時刻取得処理Ｐ２０ａで取得されている時刻を燃料噴射開始時刻とはせず、この時刻を、前記駆動電流の通電期間の算出には使用しないようにしている。
【００７９】
また、燃料噴射の切り替え状態が、燃料噴射状態から燃料噴射終了に切り替えられることで噴射モニタ信号のポートレベルがＨｉとなった際に、データ取得許可フラグがＯＮであった場合には、このデータ取得許可フラグがＯＮからＯＦＦに切り替わるようになっている。そして、このようにしてデータ取得許可フラグがＯＮからＯＦＦに切り替わった場合に、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）が燃料噴射終了時刻として認識される。
【００８０】
このため、噴射モニタ信号のポートレベルがＨｉとなったとしても、データ取得許可フラグがＯＦＦであった場合には、このデータ取得許可フラグは切り替わることはなく、この場合には、前記噴射モニタ信号のポートレベルが変化していても燃料噴射終了時刻とは認識しないようにしている。つまり、前記時刻取得処理Ｐ２０ａで取得されている時刻を燃料噴射終了時刻とはせず、この時刻を、前記駆動電流の通電期間の算出には使用しないようにしている。
【００８１】
このように、前記入力ポートＰｏｒｔ１が受けている噴射モニタ信号のポートレベルが、ＬｏとＨｉとの間で切り替わった際、ポートレベル検出処理Ｐ２０ｂによって検出されたポートレベルと、前記ポートレベル記憶処理Ｐ２０ｃによって現在記憶されているデータ取得許可フラグに対応するポートレベルとが異なる場合に限り（ポートレベルがＬｏとなった際に、データ取得許可フラグがポートレベルＨｉに対応するＯＦＦであった場合、および、ポートレベルがＨｉとなった際に、データ取得許可フラグがポートレベルＬｏに対応するＯＮであった場合に限り）、前記時刻取得処理Ｐ２０ａにより取得されている時刻を燃料噴射開始時刻または燃料噴射終了時刻として読み込むことで噴射期間の算出に使用する時刻として確定するようにしている。
【００８２】
（フラグ切替処理および噴射時刻読込処理）
次に、前記データ取得許可フラグの切替処理および噴射時刻読込処理の手順について図９のフローチャートに沿って説明する。
【００８３】
まず、ステップＳＴ３１において、噴射モニタ信号のポートレベルが変化したか否か（エッジ割り込みコールが生じたか否か）が判定される。噴射モニタ信号のポートレベルが変化しておらずステップＳＴ３１でＮＯ判定された場合には、データ取得許可フラグの切り替えおよび噴射時刻の読み込みの何れも実行せずリターンされる。
【００８４】
噴射モニタ信号のポートレベルが変化し、ステップＳＴ３１でＹＥＳ判定された場合には、ステップＳＴ３２で、噴射モニタ信号のポートレベルが判別されたか否か、すなわち、前記処理遅れ時間が経過して噴射モニタ信号のポートレベルが判別されたか否かが判定される。未だ噴射モニタ信号のポートレベルが判別されておらず、ステップＳＴ３２でＮＯ判定された場合には、噴射モニタ信号のポートレベルが判別されるのを待つ。
【００８５】
前記の処理遅れ時間が経過して噴射モニタ信号のポートレベルが判別され、ステップＳＴ３２でＹＥＳ判定された場合には、ステップＳＴ３３に移り、その判別されたポートレベルがＬｏ（噴射モニタ信号の立ち下がり）であるか否かが判定される。判別されたポートレベルがＬｏであり、ステップＳＴ３３でＹＥＳ判定された場合には、ステップＳＴ３４に移る。一方、判別されたポートレベルがＨｉであり、ステップＳＴ３３でＮＯ判定された場合には、ステップＳＴ３５に移る。
【００８６】
ステップＳＴ３４では、以下の（１）〜（３）の全ての条件が満たされているか否かが判定される。
【００８７】
（１）クランク角度位置が噴射領域内であること。
【００８８】
（２）通電遮断がＯＦＦとなっていること。
【００８９】
（３）データ取得許可フラグがＯＦＦであること。
【００９０】
条件（１）は、現在のクランク角度位置が、対象とする気筒のインジェクタ１４の燃料噴射期間にある場合に成立する。条件（２）はインジェクタ１４への通電が禁止（通電遮断；例えばアクセルＯＦＦによるフューエルカット）となっている制御状態にない場合に成立する。
【００９１】
これら（１）〜（３）の条件が満たされており、ステップＳＴ３４でＹＥＳ判定された場合には、ステップＳＴ３６に移り、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）を燃料噴射開始時刻として読み込む。また、データ取得許可フラグをＯＦＦからＯＮに切り替える。その後、リターンされる。
【００９２】
一方、前記条件の何れかが満たされておらず、ステップＳＴ３４でＮＯ判定された場合には、データ取得許可フラグの切り替えおよび噴射時刻の読み込みの何れも実行せずリターンされる。
【００９３】
また、ステップＳＴ３５では、データ取得許可フラグがＯＮであるか否かが判定される。データ取得許可フラグがＯＮとなっており、ステップＳＴ３５でＹＥＳ判定された場合には、ステップＳＴ３７に移り、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）を燃料噴射終了時刻として読み込む。また、データ取得許可フラグをＯＮからＯＦＦに切り替える。その後、リターンされる。
【００９４】
一方、データ取得許可フラグがＯＦＦとなっており、ステップＳＴ３５でＮＯ判定された場合には、データ取得許可フラグの切り替えおよび噴射時刻の読み込みの何れも実行せずリターンされる。
【００９５】
このような噴射時刻読込処理が行われるため、ＥＤＵ２３（特に、モニタ信号生成処理Ｐ６を実行する処理部分）、マイクロコンピュータ２１（特に、実通電期間計測処理Ｐ２０、噴射量換算処理Ｐ２１および第２異常判定処理Ｐ２２を実行する処理部分）によって本発明に係るエンジン制御ユニットの監視装置が構成される。この監視装置は、クランク角、アクセル操作量、エンジン水温、レール圧の各信号を入力信号として受信する。また、この監視装置は、燃料噴射量制御が正常に行われているか否かの監視結果信号を出力信号として出力する（例えば図示しないダイアグノーシスに監視結果を書き込む）構成となっている。
【００９６】
（短時間インターバル発生時）
次に、前述の如くデータ取得許可フラグの切替処理および噴射時刻読込処理が行われる場合において、短時間インターバルが生じた場合（燃料噴射停止期間が極端に短くなる噴射指令信号がＥＤＵ２３から出力された場合）について説明する。
【００９７】
図１０は、短時間インターバルが生じた場合における、クランク角信号、噴射指令信号、燃料噴射率、噴射モニタ信号、および、データ取得許可フラグそれぞれの変化と、噴射時刻取得タイミングとの一例を示すタイミングチャート図である。
【００９８】
このタイミングチャートでは、２回のパイロット噴射（第１パイロット噴射および第２パイロット噴射）、メイン噴射、アフタ噴射が順に実行される場合において、メイン噴射とアフタ噴射との間に短時間インターバルが生じる噴射指令信号がＥＤＵ２３から出力された場合を示している。
【００９９】
この図１０に示す波形では、図中のタイミングＴ１において、噴射指令信号がＯＮ（第１パイロット噴射を開始するために噴射指令信号がＯＮ；駆動電流の上昇）となり、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち下がっている。この際、この噴射モニタ信号が立ち下がった時点を記憶する。そして、この噴射モニタ信号が立ち下がった時点（エッジ割り込みコールが生じた時点）から処理遅れ時間をもって（図中のタイミングＴ２で）噴射モニタ信号のポートレベルがＬｏであることが判別される（図９のフローチャートにおけるステップＳＴ３３でＹＥＳ判定）。この噴射モニタ信号のポートレベルがＬｏと判定されるまでの（直前の）データ取得許可フラグはＯＦＦとなっているので（図９のフローチャートにおけるステップＳＴ３４でＹＥＳ判定）、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）を燃料噴射開始時刻として読み込む。また、データ取得許可フラグをＯＦＦからＯＮに切り替える（図９のフローチャートにおけるステップＳＴ３６）。
【０１００】
また、図中のタイミングＴ３において、噴射指令信号がＯＦＦ（第１パイロット噴射を停止するために噴射指令信号がＯＦＦ；駆動電流の下降）となり、これに伴って（僅かな時間遅れをもって）噴射モニタ信号が立ち上がっている。この際、この噴射モニタ信号が立ち上がった時点を記憶する。そして、この噴射モニタ信号が立ち上がった時点（エッジ割り込みコールが生じた時点）から処理遅れ時間をもって（図中のタイミングＴ４で）噴射モニタ信号のポートレベルがＨｉであることが判別される（図９のフローチャートにおけるステップＳＴ３３でＮＯ判定）。この噴射モニタ信号のポートレベルがＨｉと判定されるまでの（直前の）データ取得許可フラグはＯＮとなっているので（図９のフローチャートにおけるステップＳＴ３５でＹＥＳ判定）、前記噴射モニタ信号のポートレベルが変化した時点（エッジ割り込みコールが生じた時点）を燃料噴射終了時刻として読み込む。また、データ取得許可フラグをＯＮからＯＦＦに切り替える（図９のフローチャートにおけるステップＳＴ３７）。
【０１０１】
このようにして燃料噴射開始時刻および燃料噴射終了時刻の読み込みが行われることによって第１パイロット噴射の噴射期間が算出されることになる。
【０１０２】
また、第２パイロット噴射においても同様である。つまり、図中のタイミングＴ５において噴射指令信号がＯＮとなり、図中のタイミングＴ６で噴射モニタ信号のポートレベルがＬｏであることが判別される。これにより、タイミングｔ５に対応するエッジ割り込みコールが生じた時点が燃料噴射開始時刻として読み込まれる。また、図中のタイミングＴ７において噴射指令信号がＯＦＦとなり、図中のタイミングＴ８で噴射モニタ信号のポートレベルがＨｉであることが判別される。これにより、タイミングＴ７に対応するエッジ割り込みコールが生じた時点が燃料噴射終了時刻として読み込まれる。メイン噴射にあっては、図中のタイミングＴ９において噴射指令信号がＯＮとなり、図中のタイミングＴ１０で噴射モニタ信号のポートレベルがＬｏであることが判別される。これにより、タイミングＴ９に対応するエッジ割り込みコールが生じた時点が燃料噴射開始時刻として読み込まれる。
【０１０３】
そして、この波形では、メイン噴射の終了時刻（図中のタイミングＴ１１）とアフタ噴射の開始時刻（図中のタイミングＴ１２）との間のインターバルが短く、短時間インターバルが生じる噴射指令信号がＥＤＵ２３から出力されている。つまり、噴射指令信号がＯＦＦとなった後、短時間のうちにＯＮとなって、短時間インターバルが生じている。この場合、噴射モニタ信号が立ち上がったタイミング（タイミングＴ１１で噴射指令信号がＯＦＦとなったことに伴って噴射モニタ信号が立ち上がったタイミング）から処理遅れ時間を経過した時点（タイミングＴ１３）では、既に噴射モニタ信号が立ち下がっており、噴射モニタ信号のポートレベルはＬｏであると判別されてしまうことになる（図９のフローチャートにおけるステップＳＴ３３でＹＥＳ判定）。この場合、本実施形態では、データ取得許可フラグがＯＦＦでない限り（図９のフローチャートにおけるステップＳＴ３４でＹＥＳ判定されない限り）燃料噴射時刻の読み込みは行われないことになる。また、データ取得許可フラグはＯＮに維持される。
【０１０４】
つまり、短時間インターバルが生じている場合には、この短時間インターバルが生じていることに伴う噴射モニタ信号による燃料噴射時刻の読み込みは行われないことになる。
【０１０５】
同様に、噴射モニタ信号が立ち下がったタイミング（タイミングＴ１２で噴射指令信号がＯＮとなったことに伴って噴射モニタ信号が立ち下がったタイミング）から処理遅れ時間を経過した時点（タイミングＴ１４）でも噴射モニタ信号のポートレベルはＬｏであると判別されることになる（図９のフローチャートにおけるステップＳＴ３３でＹＥＳ判定）。前述したように、本実施形態では、データ取得許可フラグがＯＦＦでない限り（図９のフローチャートにおけるステップＳＴ３４でＹＥＳ判定されない限り）燃料噴射時刻の読み込みは行われないことになる。また、データ取得許可フラグはＯＮに維持される。従って、この場合にも、短時間インターバルが生じている場合には、この短時間インターバルが生じていることに伴う噴射モニタ信号による燃料噴射時刻の読み込みは行われないことになる。
【０１０６】
なお、アフタ噴射にあっては、図中のタイミングＴ１５において噴射指令信号がＯＦＦとなり、図中のタイミングＴ１６で噴射モニタ信号のポートレベルがＨｉであることが判別される。これにより、タイミングＴ１５に対応するエッジ割り込みコールが生じた時点が燃料噴射終了時刻として読み込まれる。
【０１０７】
従来技術にあっては、短時間インターバルが生じている場合に、この短時間インターバルが生じていることに伴う噴射モニタ信号の変化を認識するようにしていたため、噴射モニタ信号のポートレベルがＬｏであると判別されることが繰り返されることになって、燃料噴射期間を正確に算出することができず、燃料噴射量を正確に算出することができない可能性があった。
【０１０８】
本実施形態では、マイクロコンピュータ２１の入力ポートＰｏｒｔ１が受けている噴射モニタ信号のポートレベルがＬｏであると判別されたとしても、データ取得許可フラグがＯＮであった場合には燃料噴射時刻の読み込みは行わないようにしている。このため、短時間インターバルが生じている場合であっても、噴射期間の算出に使用する時刻（噴射期間の算出に使用する時刻として確定された時刻）における噴射モニタ信号のポートレベルとしてはＬｏとＨｉとが交互に現れることになる（図１０におけるタイミングＴ２、Ｔ４、Ｔ６、Ｔ８、Ｔ１０、Ｔ１６の順でポートレベルとしてはＬｏとＨｉとが交互に現れることになる）。このため、連続して読み込まれる時刻それぞれの噴射モニタ信号のポートレベルが同一となることに起因して燃料噴射期間が正確に算出できなくなるといったことが回避される。その結果、燃料噴射量を正確に算出することができ、誤判定を防止することができる。
【０１０９】
また、短時間インターバルが生じた場合、インジェクタ１４内部のニードルは、噴射位置（後退位置）から噴射停止位置（前進位置）に向けて移動を開始したとしても、噴射停止位置に達するまでに噴射位置に向けての移動が開始されることになる。つまり、燃料噴射は停止されることなく継続されている可能性が高い。このため、短時間インターバルが生じたとしても、このインターバル期間にあっては、燃料噴射は停止しておらず、継続した燃料噴射が行われている。本実施形態では、前述したように短時間インターバルでの燃料噴射開始時刻および燃料噴射終了時刻の読み込みを行わないことで、この短時間インターバルにおいて燃料噴射が継続されたとみなして燃料噴射量を算出することができる。これによっても、燃料噴射量を正確に算出することができる。
【０１１０】
また、本実施形態では、マイクロコンピュータ２１の１つの入力ポートＰｏｒｔ１のみを使用しながらも燃料噴射量制御の監視を正確に行うことができる。また、インジェクタ１４の駆動が正常に行われているか否かを監視するための構成として、インジェクタ１４の作動状態を直接的に検出する手段（例えばインジェクタ１４内のニードルの位置を検出するセンサ等）が必要ないため、この監視のための構成の簡素化が図れる。
【０１１１】
−他の実施形態−
以上説明した実施形態は、ポートレベル記憶処理Ｐ２０ｃにおいて記憶する情報としてはデータ取得許可フラグとしていた。本発明はこれに限らず、ポートレベル検出処理Ｐ２０ｂで切り替わり後のポートレベルが検出された際に、その切り替わり後のポートレベルをそのまま記憶するようにしてもよい。
【０１１２】
また、前記実施形態では、噴射モニタ信号のポートレベルがＨｉからＬｏに切り替わったことが検出された際にデータ取得許可フラグがＯＦＦからＯＮに切り替わり、また、噴射モニタ信号のポートレベルがＬｏからＨｉに切り替わったことが検出された際にデータ取得許可フラグがＯＮからＯＦＦに切り替わるものとしていた。本発明はこれに限らず、噴射モニタ信号のポートレベルがＨｉからＬｏに切り替わったことが検出された際にデータ取得許可フラグがＯＮからＯＦＦに切り替わり、また、噴射モニタ信号のポートレベルがＬｏからＨｉに切り替わったことが検出された際にデータ取得許可フラグがＯＦＦからＯＮに切り替わるものとしてもよい。この場合、噴射モニタ信号のポートレベルがＬｏとなったとしても、データ取得許可フラグがＯＦＦであった場合には、前記噴射モニタ信号のポートレベルが変化していても燃料噴射開始時刻とは認識しないようにする。また。噴射モニタ信号のポートレベルがＨｉとなったとしても、データ取得許可フラグがＯＮであった場合には、前記噴射モニタ信号のポートレベルが変化していても燃料噴射終了時刻とは認識しないようにする。
【０１１３】
また、前記実施形態では、車両に搭載されたディーゼルエンジンのエンジン制御ユニットに本発明を適用した場合について説明した。本発明はこれに限らず、ガソリンエンジンのエンジン制御ユニットに対して適用することも可能である。また、車両以外のものに搭載されるエンジンのエンジン制御ユニットに対して適用することも可能である。
【０１１４】
また、本発明では、燃料噴射期間（燃料噴射開始から燃料噴射終了までの期間）が極端に短くなる（前記処理遅れ時間よりも短くなる）噴射指令信号がＥＤＵ２３から出力された場合においては、連続するエッジ割り込みコールに対して、噴射モニタ信号のポートレベルがそれぞれＨｉであると判別されてしまうことがなくなる。つまり、この場合にも、ポートレベルとしてはＬｏとＨｉとが交互に現れることになり、燃料噴射量を正確に算出することができる。
【産業上の利用可能性】
【０１１５】
本発明は、ディーゼルエンジンのエンジン制御ユニットによる燃料噴射量制御が正常に行われているか否かを監視する監視装置に適用可能である。
【符号の説明】
【０１１６】
１４        インジェクタ（燃料噴射弁）
２０        エンジン制御ユニット
２１        マイクロコンピュータ（中央処理装置）
２３        ＥＤＵ（噴射モニタ信号出力手段）
Ｐ２０      実通電期間計測処理
Ｐ２０ａ    時刻取得処理（時刻取得手段）
Ｐ２０ｂ    ポートレベル検出処理（ポートレベル検出手段）
Ｐ２０ｃ    ポートレベル記憶処理（ポートレベル記憶手段）
Ｐ２１      噴射量換算処理（噴射量算出手段）
Ｐ２２      第２異常判定処理（監視手段）
Ｐｏｒｔ１  入力ポート
【図１】
0006269544.tif 000002
【図２】
0006269544.tif 000003
【図３】
0006269544.tif 000004
【図４】
0006269544.tif 000005
【図５】
0006269544.tif 000006
【図６】
0006269544.tif 000007
【図７】
0006269544.tif 000008
【図８】
0006269544.tif 000009
【図９】
0006269544.tif 000010
【図１０】
0006269544.tif 000011
【図１１】
0006269544.tif 000012