(57)【特許請求の範囲】
【請求項１】
１回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置であって、
前記駆動装置は、入力される前記駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合に前記インジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されており、
当該燃料噴射制御装置は、
自身が生成した前記噴射指令及びその噴射指令に基づいて生成した前記駆動信号の少なくとも一方と、その駆動信号に対して前記駆動装置から入力された前記通電検出信号とを比較し、その比較結果に基づいて、前記噴射指令に対して前記インジェクタから正常なタイミングで燃料噴射が開始されない第１の異常状態、前記噴射指令に対して前記インジェクタからの燃料噴射が正常な時間行われない第２の異常状態、及び前記噴射指令に対して前記インジェクタからの燃料噴射が正常な回数行われない第３の異常状態、のうち少なくとも１つについてその発生の有無の判断である異常判断を行う、異常判断手段と、
前記噴射指令を生成する噴射指令生成手段と、
前記噴射指令生成手段が生成した前記噴射指令に基づいて前記駆動信号を生成する駆動信号生成手段と、
を備え、
前記異常判断手段は、前記噴射指令生成手段が生成した前記噴射指令、その噴射指令に基づいて前記駆動信号生成手段が生成した前記駆動信号、及びその駆動信号に対して前記駆動装置から入力された前記通電検出信号、の三者を比較する三者比較を行って、その三者比較の結果に基づいて前記異常判断を行い、その異常判断として更に、何れかの前記異常状態が生じている場合にその異常状態を生じさせている原因となっている箇所の特定も行う
ことを特徴とする燃料噴射制御装置。
【請求項２】
請求項１に記載の燃料噴射制御装置であって、
前記駆動信号と前記通電検出信号との排他的論理和を演算してその演算結果を示すパルス状の排他的論理和信号を出力する排他的論理和出力手段を備え、
前記異常判断手段は、前記三者比較を、前記排他的論理和出力手段からの前記排他的論理和信号と前記通電検出信号とを比較することにより行う
ことを特徴とする燃料噴射制御装置。
【請求項３】
請求項２に記載の燃料噴射制御装置であって、
前記駆動装置から入力された前記通電検出信号を所定の信号遅延時間だけ遅延させる遅延手段を備え、
前記排他的論理和出力手段は、前記三者比較を、前記遅延手段により遅延された後の前記通電検出信号と前記駆動信号とを比較することにより行う
ことを特徴とする燃料噴射制御装置。
【請求項４】
１回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置であって、
前記駆動装置は、入力される前記駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合に前記インジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されており、
当該燃料噴射制御装置は、
自身が生成した前記噴射指令及びその噴射指令に基づいて生成した前記駆動信号の少なくとも一方と、その駆動信号に対して前記駆動装置から入力された前記通電検出信号とを比較し、その比較結果に基づいて、前記噴射指令に対して前記インジェクタから正常なタイミングで燃料噴射が開始されない第１の異常状態、前記噴射指令に対して前記インジェクタからの燃料噴射が正常な時間行われない第２の異常状態、及び前記噴射指令に対して前記インジェクタからの燃料噴射が正常な回数行われない第３の異常状態、のうち少なくとも１つについてその発生の有無の判断である異常判断を行う、異常判断手段を備え、
前記異常判断手段は、次の（ａ）〜（ｃ）の各差異のうち、少なくとも（ｃ）のパルス数差異を含む少なくともいずれか１つに基づいて前記異常判断を行い、（ｃ）のパルス数差異に基づく前記異常判断においては、そのパルス数差異が０ではなかった場合に、前記第３の異常状態である旨を判断することを特徴とする燃料噴射制御装置。
（ａ）前記噴射指令又は前記駆動信号が示す噴射開始タイミングと前記通電検出信号が示す通電開始タイミングとの差異であるタイミング差異
（ｂ）前記噴射指令又は前記駆動信号が示す噴射開始から終了までの噴射時間と、前記通電検出信号が示す通電開始から終了までの通電時間との差異である駆動時間差異
（ｃ）前記駆動信号の論理レベルが燃料噴射を行う期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその駆動信号における１つのパルスとし、前記通電検出信号の論理レベルが前記インジェクタへの通電が行われている期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその通電検出信号における１つのパルスとして、所定の判断期間中に生成された、前記噴射指令の数又は前記駆動信号のパルス数と、前記通電検出信号のパルス数との差異であるパルス数差異
【請求項５】
請求項４に記載の燃料噴射制御装置であって、
前記異常判断手段は、前記タイミング差異に基づく前記異常判断を行い、そのタイミング差異が予め設定されたタイミング差異閾値を超えていた場合に、前記第１の異常状態である旨を判断する
ことを特徴とする燃料噴射制御装置。
【請求項６】
請求項４又は請求項５に記載の燃料噴射制御装置であって、
前記異常判断手段は、前記駆動時間差異に基づく前記異常判断を行い、その駆動時間差異が予め設定された時間差許容範囲内に入っていない場合に、前記第２の異常状態である旨を判断する
ことを特徴とする燃料噴射制御装置。
【請求項７】
請求項１〜請求項６の何れか１項に記載の燃料噴射制御装置であって、
前記駆動装置を内蔵することによりその駆動装置と一体化されて構成されていることを特徴とする燃料噴射制御装置。
【請求項８】
請求項１〜請求項６の何れか１項に記載の燃料噴射制御装置と、
前記駆動装置と、
を備えたことを特徴とする燃料噴射制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関へ燃料を噴射するインジェクタの動作を制御する燃料噴射制御装置、及び燃料噴射制御システムに関する。
【背景技術】
【０００２】
従来、例えばディーゼルエンジンやガソリン直噴エンジンなどの、車両に搭載された内燃機関に用いられ、各気筒にそれぞれ燃料を噴射供給するためのインジェクタ（燃料噴射弁）としては、通電により開弁する電磁弁を使用したものが一般的である。そして、このようなインジェクタを駆動して燃料噴射を制御するために、燃料噴射制御装置（ＥＣＵ）が、インジェクタへの通電期間（通電開始タイミング及び通電時間）を制御することにより、燃料噴射時期及び燃料噴射量を制御している。
【０００３】
また、燃料噴射制御装置としては、マイコン及び駆動回路を備え、マイコンからの噴射指令に基づいて駆動信号を生成し、その駆動信号に基づいて駆動回路がインジェクタへの通電を行う構成のものが知られているが、駆動回路を備えない（駆動回路が別体化された）構成のものも知られている。即ち、燃料噴射制御装置（ＥＣＵ）と、駆動回路を有する駆動ユニット（ＥＤＵ：Electronic Driver Unit）がそれぞれ別個のユニットとして構成され、ＥＣＵはＥＤＵへ駆動信号を出力し、ＥＤＵはそのＥＣＵからの駆動信号に基づいてインジェクタへの通電を行う。
【０００４】
こうした各種構成の燃料噴射制御装置に対しては、自身が生成した噴射指令に対して（或いは駆動信号に対して）駆動回路からインジェクタへ正常に通電が行われているか否か、延いてはインジェクタからの燃料噴射が正常に行われているか否かを監視し、異常があればそれを検出する機能を備えることが要求されている。
【０００５】
そして、例えば特許文献１には、そうした異常検出方法の一例が記載されている。即ち、特許文献１に記載の技術は、ＥＣＵとＥＤＵが別体化された構成において、ＥＤＵに、ＥＣＵからの駆動信号の終了タイミング（噴射終了を指示するタイミング）に対してインジェクタへの通電が遮断されるタイミングが合致するか否かを判断してその判断結果を示すフェイルセーフ信号を出力する機能を持たせる。そして、ＥＣＵは、ＥＤＵからのフェイルセーフ信号を取り込み、そのフェイルセーフ信号に基づいて、インジェクタに適正な電流が供給されたか否かを判断する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３５９６１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載の技術は、単に、ＥＣＵからの駆動信号の終了タイミングとインジェクタの通電遮断タイミングとが合致したか否かの判定結果がＥＣＵへ入力されるだけであり、ＥＣＵは、その判定結果に基づく異常有無判定程度しかできない。そのため、例えば、燃料噴射が正常なタイミングで開始されたか、正常な時間噴射されたか、或いは正常な回数噴射されたか、などといったより具体的な異常内容までは判定できない。
【０００８】
一方、自動車の電子制御装置に対しては、上述した具体的な異常内容まで判定できるようにすることが望ましく、今後は、機能安全上からもそういったより具体的な異常内容まで検出できるよう要求されることが予想される。
【０００９】
即ち、上記例示した各種異常内容は、ＥＣＵやＥＤＵ（駆動回路）を構成する各種電子部品・電子回路やインジェクタ（以下まとめて「電子部品等」と言う）の誤動作や異常によって生じうるものであり、よってそうした電子部品等の誤動作や異常を想定した、より具体的な異常検出が今後は求められる。
【００１０】
本発明は上記課題に鑑みなされたものであり、インジェクタの動作を制御する燃料噴射制御装置において、インジェクタの駆動が正常に行われない異常が生じた場合にその異常の具体的な内容を判断できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するためになされた請求項１に記載の発明は、１回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置である。
【００１２】
駆動装置は、入力される駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合にインジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されている。
【００１３】
そして、当該燃料噴射制御装置は、自身が生成した前記噴射指令及びその噴射指令に基づいて生成した駆動信号の少なくとも一方と、その駆動信号に対して駆動装置から入力された通電検出信号とを比較し、その比較結果に基づいて、第１〜第３の異常状態のうち少なくとも１つについてその発生の有無の判断を行う、異常判断手段を備えている。各異常状態のうち第１の異常状態は、噴射指令に対してインジェクタから正常なタイミングで燃料噴射が開始されない異常状態であり、第２の異常状態は、噴射指令に対してインジェクタからの燃料噴射が正常な時間行われない異常状態であり、第３の異常状態は、噴射指令に対してインジェクタからの燃料噴射が正常な回数行われない異常状態である。
また、当該燃料噴射制御装置は、噴射指令を生成する噴射指令生成手段と、この噴射指令生成手段が生成した噴射指令に基づいて駆動信号を生成する駆動信号生成手段とを備えている。そして、異常判断手段は、噴射指令生成手段が生成した噴射指令、その噴射指令に基づいて駆動信号生成手段が生成した駆動信号、及びその駆動信号に対して駆動装置から入力された通電検出信号、の三者を比較する三者比較を行って、その三者比較の結果に基づいて異常判断を行い、その異常判断として更に、何れかの前記異常状態が生じている場合にその異常状態を生じさせている原因となっている箇所（以下、「故障箇所」とも言う）の特定も行う。
【００１４】
尚、以下の説明では、説明の便宜上、噴射指令及駆動信号の少なくとも一方を、制御側信号とも称する。
このように構成された燃料噴射制御装置によれば、自身が生成した制御側信号と、この制御側信号に対して駆動装置から入力された通電検出信号とを比較することで異常判断を行うため、当該燃料噴射制御装置或いは駆動装置等に何らかの異常（例えば装置を構成する電子部品や電子回路の誤動作・異常等）が生じて燃料噴射が正常に行われない異常状態になったとしても、第１〜第３の異常状態のうち少なくとも１つを判断することができる。
【００１５】
そのため、その異常判断結果（どの異常状態が発生したか）に応じた適切な処置（例えばフェールセーフ処理等）を行うようにすることができる。
また、このように構成された燃料噴射制御装置では、例えば、噴射指令に対して通電検出信号が正常でなかった場合に、駆動信号生成手段から出力されている駆動信号が正常でなかったならば、当該燃料噴射制御装置側に何らかの異常（例えば駆動信号生成手段の異常）が発生している可能性が高いことが予想される。逆に、例えば、噴射指令に対して駆動信号は正常に生成されているにもかかわらず駆動装置からの通電検出信号が正常でなかったならば、駆動装置側（駆動装置、駆動装置からインジェクタへの通電経路、或いはインジェクタ等）に何らかの異常が発生している可能性が高いことが予想される。
つまり、噴射指令、駆動信号、及び通電検出信号の三者を比較することで、異常状態の有無に加えてその異常状態を生じさせている原因となっている故障箇所まである程度特定できるのである。そのため、異常状態が生じた場合に、正常な状態に戻すための処置（例えば故障箇所の部品交換、修理など）を迅速に行うことができる。
ここで、異常判断手段による三者比較は、噴射指令、駆動信号、及び通電検出信号の三者を個々に直接比較することにより行うようにしても良いが、例えば請求項２に記載のように行うようにすることもできる。
即ち、駆動信号と通電検出信号との排他的論理和を演算してその演算結果を示すパルス状の排他的論理和信号を出力する排他的論理和出力手段を備える。そして、異常判断手段は、上記三者比較を、排他的論理和出力手段からの排他的論理和信号と通電検出信号とを比較することにより行う。
駆動信号がアクティブレベルとなるタイミングと、通電検出信号がアクティブレベルとなるタイミングとは、実際上は、駆動装置における通電検出信号を生成・出力するための具体的構成やインジェクタ特性などによって、完全には一致せず、駆動信号がアクティブレベルになるタイミングに対して通電検出信号がアクティブレベルとなるタイミングは若干ながら遅れが生じる。噴射終了時における、駆動信号が示す噴射終了タイミングに対する、通電検出信号がアクティブレベルから反転するタイミングについても同様である。
そこで、駆動信号と通電検出信号に上記のような遅れが生じることを利用して、両者の排他的論理和を演算する。駆動信号又は通電検出信号の何れか一方でも異常になると、両者の排他的論理和も当然ながら正常状態とは異なるものとなる。そのため、排他的論理和信号に基づいて異常判断を行うことができる。
このように構成された燃料噴射制御装置によれば、異常判断手段は、排他的論理和信号と通電検出信号との比較を行うことで実質的には上記三者比較を行うことになるため、異常判断手段の構成や判断処理負荷を簡素化できる。特に、異常判断手段が例えばマイクロコンピュータで構成されている場合、駆動信号と通電検出信号を個別に入力するようにすると個別に入力ポートが必要になるが、上記のように排他的論理和出力手段を備えるようにすれば、これら２つの信号の各入力ポートに代えて排他的論理和信号の入力ポートが１つあればよいため、入力ポートの使用数増加を抑制することも可能となる。
また、上記のように排他的論理和出力手段を備えた燃料噴射制御装置は、更に、例えば請求項３に記載のように構成するとよい。即ち、駆動装置から入力された通電検出信号を所定の信号遅延時間だけ遅延させる遅延手段を備える。そして、排他的論理和出力手段は、上記三者比較を、遅延手段により遅延された後の通電検出信号と駆動信号とを比較することにより行う。
上記の通り、駆動信号と通電検出信号とは実際上はずれ（遅れ）が生じるものの、そのずれは、意図的に発生させているものではなく、各装置の構成やインジェクタ特性等に起因するものであるため、ごく短い時間である場合が多く、そのずれが排他的論理和出力手段において反映されない（排他的論理和信号の論理レベルが変化しない）おそれがある。
そこで、遅延手段によって通電検出信号を意図的に遅延させ、これにより、駆動信号が論理反転してからそれに追随して通電検出信号が論理反転するまでの時間差（遅延時間）を適切に確保するようにすることで、排他的論理和信号を適切に生成することができ、ひいては三者比較に基づく異常判断を確実に行うことができる。
請求項４に記載の発明は、１回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置である。駆動装置は、入力される駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合にインジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されている。そして、当該燃料噴射制御装置は、自身が生成した噴射指令及びその噴射指令に基づいて生成した駆動信号の少なくとも一方と、その駆動信号に対して駆動装置から入力された通電検出信号とを比較し、その比較結果に基づいて、噴射指令に対してインジェクタから正常なタイミングで燃料噴射が開始されない第１の異常状態、噴射指令に対してインジェクタからの燃料噴射が正常な時間行われない第２の異常状態、及び噴射指令に対してインジェクタからの燃料噴射が正常な回数行われない第３の異常状態、のうち少なくとも１つについてその発生の有無の判断である異常判断を行う、異常判断手段を備える。
そして、異常判断手段は、次の（ａ）〜（ｃ）の各差異のうち、少なくとも（ｃ）のパルス数差異を含む少なくともいずれか１つに基づいて異常判断を行い、（ｃ）のパルス数差異に基づく異常判断においては、そのパルス数差異が０ではなかった場合に、第３の異常状態である旨を判断する。
（ａ）噴射指令又は駆動信号が示す噴射開始タイミングと通電検出信号が示す通電開始タイミングとの差異であるタイミング差異
（ｂ）噴射指令又は駆動信号が示す噴射開始から終了までの噴射時間と、通電検出信号が示す通電開始から終了までの通電時間との差異である駆動時間差異
（ｃ）駆動信号の論理レベルが燃料噴射を行う期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその駆動信号における１つのパルスとし、通電検出信号の論理レベルがインジェクタへの通電が行われている期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその通電検出信号における１つのパルスとして、所定の判断期間中に生成された、噴射指令の数又は駆動信号のパルス数と、通電検出信号のパルス数との差異であるパルス数差異
このように構成された燃料噴射制御装置では、正常であれば、１回の噴射毎に、噴射指令が１つ生成され、その噴射指令に基づいて駆動信号が１パルス生成され、その駆動信号に対して通電検出信号が１パルス生成されるはずであり、よって、判断期間の長さにかかわらず、パルス数差異は０となるはずである。そのため、所定の判断期間中のパルス数差異が０であるか否かによって異常判断を行うことで、燃料噴射が正常な回数行われたか否か（換言すれば、制御側信号に対して燃料噴射が行われないことがあったか否か、或いは意図しない噴射（誤噴射）が行われたか否か）を適切に判断することができる。
なお、例えばタイミング差異に基づく異常判断を行うようにすれば、インジェクタからの燃料噴射が正常なタイミングで開始されたか否か、即ち第１の異常状態の有無を判断できる。また例えば、駆動時間差異に基づく異常判断を行うようにすれば、燃料噴射が正常な時間行われたか否か、即ち第２の異常状態の有無を判断できる。
【００１６】
ここで、異常判断手段が上記（ａ）のタイミング差異に基づく異常判断を行う場合は、より具体的には、例えば請求項５に記載のように構成することができる。即ち、異常判断手段は、タイミング差異に基づく異常判断を行い、そのタイミング差異が予め設定されたタイミング差異閾値を超えていた場合に、第１の異常状態である旨を判断する。
【００１７】
制御側信号が示す噴射開始タイミングと、通電検出信号がアクティブレベルとなるタイミングとの時間差は、通常、当該燃料噴射制御装置における駆動信号を生成・出力するための具体的構成や、駆動装置における通電検出信号を生成・出力するための具体的構成、インジェクタの特性などによって、一意的に決まる。そのため、その一意的に決まる時間差をもとにタイミング差異閾値を適宜設定し、そのタイミング差異閾値を判断基準として異常判断を行うことで、燃料噴射が正常なタイミングで開始されたか否かを適切に判断することができる。
【００１８】
また、異常判断手段が上記（ｂ）の駆動時間差異に基づく異常判断を行う場合は、より具体的には、例えば請求項６に記載のように構成することができる。即ち、異常判断手段は、駆動時間差異に基づく異常判断を行い、その駆動時間差異が予め設定された時間差許容範囲内に入っていない場合に、第２の異常状態である旨を判断する。
【００１９】
制御側信号が示す噴射時間と、通電検出信号が示す通電時間との時間差も、上記の開始タイミングの時間差と同様、上述した各具体的構成やインジェクタ特性等によって一意的に決まる。そのため、その一意的に決まる時間差をもとに時間差許容範囲を適宜設定し、その時間差許容範囲を判断基準として異常判断を行うことで、燃料噴射が正常な時間行われたか否か（換言すれば、噴射時間が正常な時間よりも増大又は減少していないか否か）を適切に判断することができる。
【００３３】
次に、請求項７に記載の発明は、請求項１〜請求項６の何れか１項に記載の燃料噴射制御装置であって、駆動装置を内蔵することによりその駆動装置と一体化されて構成されている。このように、駆動装置が燃料噴射制御装置に一体化された構成であっても、上述した各効果を得ることができる。
【００３４】
次に、請求項８に記載の発明は、請求項１〜請求項６の何れか１項に記載の燃料噴射制御装置と、駆動装置と、を備えたことを特徴とする燃料噴射制御システムである。
このように構成された燃料噴射制御システムによれば、燃料噴射制御装置が、自身が生成した制御側信号と駆動装置からの通電検出信号に基づいて上記異常判断を行うため、請求項１〜請求項６と同様の効果を得ることができる。
【図面の簡単な説明】
【００３５】
【図１】第１実施形態の燃料噴射制御システムの概略構成を表す構成図である。
【図２】第１実施形態の燃料噴射制御システムの基本動作及び異常検出方法を説明するための説明図である。
【図３】第１実施形態の異常検出処理を表すフローチャートである。
【図４】第２実施形態の燃料噴射制御システムの概略構成を表す構成図である。
【図５】第２実施形態の燃料噴射制御システムの基本動作及び異常検出方法を説明するための説明図である。
【図６】第２実施形態において検出される故障モード及び故障箇所を説明するための説明図である。
【図７】第２実施形態の異常検出処理を表すフローチャートである。
【発明を実施するための形態】
【００３６】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
まず図１は、第１実施形態の燃料噴射制御システムの概略構成を表す構成図である。
【００３７】
図１に示すように、本実施形態の燃料噴射制御システムは、車両に搭載された多気筒（この例では４気筒）エンジンの各気筒♯１〜♯４に燃料を噴射供給する４個のインジェクタ（電磁弁）１０１，１０２，１０３，１０４を駆動するものであり、詳しくは、その各インジェクタ１０１〜１０４のコイル１０１ａ，１０２ａ，１０３ａ，１０４ａへの通電開始タイミング及び通電時間を制御することにより、各気筒♯１〜♯４への燃料噴射時期及び燃料噴射量を制御する。
【００３８】
この燃料噴射制御システムは、入力される駆動信号ＩＪＴに基づいて各インジェクタ１０１〜１０４への通電を行うＥＤＵ（駆動ユニット）１００と、このＥＤＵ１００へ駆動信号ＩＪＴを出力することにより各インジェクタ１０１〜１０４への通電を制御するエンジンＥＣＵ１３０とを備えてなるものである。
【００３９】
尚、本実施形態のエンジンはディーゼルエンジンであって、高圧燃料をコモンレール（蓄圧室）に蓄圧してこれを各インジェクタから各気筒に噴射するよう構成された、いわゆるコモンレールシステムが構築されており、このコモンレールシステムがエンジンＥＣＵ１３０によって制御される。コモンレールシステムはよく知られているため、ここではその詳細についての説明及び図示は省略する。
【００４０】
また、各インジェクタ１０１〜１０４は、常閉式の電磁弁により構成されており、コイル１０１ａ〜１０４ａに通電されると開弁して燃料噴射を行う。また、コイル１０１ａ〜１０４ａへの通電が遮断されると閉弁して燃料噴射を停止する。
【００４１】
ここで、本実施形態では、全４気筒分のインジェクタ１０１〜１０４を２気筒ずつ２つのグループに分け、気筒♯１，♯３の各インジェクタ１０１，１０３を第１グループとして、それらのコイル１０１ａ，１０３ａの上流側の一端をＥＤＵ１００の第１コモン端子ＣＯＭ１に接続し、気筒♯２，♯４の各インジェクタ１０２，１０４を第２グループとして、それらのコイル１０２ａ，１０４ａの上流側の一端をＥＤＵ１００の第２コモン端子ＣＯＭ２に接続している。尚、各グループは、同時に駆動されることがないインジェクタ同士で構成している。
【００４２】
各コイル１０１ａ〜１０４ａの下流側の端部は、ＥＤＵ１００の端子ＩＮＪ１，ＩＮＪ２，ＩＮＪ３，ＩＮＪ４を介して気筒選択用のトランジスタ（以下「気筒選択トランジスタ」という）Ｔ１０，Ｔ２０，Ｔ３０，Ｔ４０の一方の出力端子にそれぞれ接続されている。そして、それら各気筒選択トランジスタＴ１０〜Ｔ４０の他方の出力端子は、インジェクタの各グループ毎に電流検出抵抗Ｒ１０，Ｒ２０を介してグランドラインに接続（接地）されている。
【００４３】
このため、気筒♯１，♯３に対応した各気筒選択トランジスタＴ１０，Ｔ３０を介してインジェクタ１０１，１０３のコイル１０１ａ，１０３ａに流れる電流（第１駆動電流）が、電流検出抵抗Ｒ１０に生じる電圧として検出され、気筒♯２，♯４に対応した各気筒選択トランジスタＴ２０，Ｔ４０を介してインジェクタ１０２，１０４のコイル１０２ａ，１０４ａに流れる電流（第２駆動電流）が、電流検出抵抗Ｒ２０に生じる電圧として検出される。
【００４４】
尚、以下の説明では、第１駆動電流及び第２駆動電流について、特に区別する必要がない場合は、単に「駆動電流」と称することもある。また、この例において、ＥＤＵ１００内にスイッチング素子として設けられているトランジスタは、全てＭＯＳＦＥＴである。
【００４５】
また、ＥＤＵ１００には、上記各気筒選択トランジスタＴ１０〜Ｔ４０及び各電流検出抵抗Ｒ１０，Ｒ２０に加えて、定電流制御用のトランジスタ（以下「定電流トランジスタ」という）Ｔ１１，Ｔ２１と、放電用のトランジスタ（以下「放電用トランジスタ」という）Ｔ１２，Ｔ２２と、４つのダイオードＤ１１，Ｄ１２，Ｄ２１，Ｄ２２と、２つのコンデンサ（放電用コンデンサ）Ｃ１０，Ｃ２０と、直流電源としての車載バッテリ１０の直流電圧（バッテリ電圧）ＶＢ（本例では例えば１２Ｖ）を昇圧して、そのバッテリ電圧ＶＢよりも高い電圧を生成して各コンデンサＣ１０，Ｃ２０を規定充電電圧（例えば５０Ｖ）に充電する昇圧回路（ＤＣ−ＤＣコンバータ）５０と、上記各トランジスタ及び昇圧回路５０を制御する駆動回路１２０とが備えられている。
【００４６】
駆動回路１２０は、エンジンＥＣＵから入力される各気筒♯１〜♯４毎の駆動信号ＩＪＴ１〜ＩＪＴ４に基づき、各気筒選択トランジスタＴ１０〜Ｔ４０のゲートへ、対応する駆動信号と同じ論理レベルの気筒選択信号ＳＬ１〜ＳＬ４を出力する。この駆動信号ＩＪＴ１〜ＩＪＴ４は、その信号のレベルがハイレベル（Ｈレベル）の間だけインジェクタ１０１〜１０４のコイル１０１ａ〜１０４ａに通電する（つまり、インジェクタ１０１〜１０４を開弁させる）、という意味を持っている。
【００４７】
そのため、例えば、気筒♯１に対応した駆動信号ＩＪＴ１がローレベル（Ｌレベル）の間は、駆動回路１２０は対応する気筒選択トランジスタＴ１０へＬレベルの気筒選択信号ＳＬ１を出力してこの気筒選択トランジスタＴ１０をオフさせ、逆にその駆動信号ＩＪＴ１がＨレベルの間は、駆動回路１２０は対応する気筒選択トランジスタＴ１０へＨレベルの気筒選択信号ＳＬ１を出力してこの気筒選択トランジスタＴ１０をオンさせる。
【００４８】
また、ＥＤＵ１００において、第１の放電用トランジスタＴ１２は、第１のコンデンサＣ１０から第１コモン端子ＣＯＭ１に接続されている第１グループのコイル１０１ａ，１０３ａへ放電させるために設けられており、第２の放電用トランジスタＴ２２は、第２のコンデンサＣ２０から第２コモン端子ＣＯＭ２に接続されている第２グループのコイル１０２ａ，１０４ａへ放電させるために設けられている。
【００４９】
更に、ＥＤＵ１００において、第１の定電流トランジスタＴ１１は、第１グループのコイル１０１ａ，１０３ａに一定の電流（保持電流）を流すために設けられており、気筒♯１に対応した気筒選択トランジスタＴ１０又は気筒♯３に対応した気筒選択トランジスタＴ３０の何れかがオンされている状態で、その第１の定電流トランジスタＴ１１がオンされると、各気筒選択トランジスタＴ１０，Ｔ３０のうちでオンされている方に接続されているコイル（１０１ａ又は１０３ａ）に、電源ラインＬｐから逆流防止用のダイオードＤ１１を介して電流が流れる。尚、ダイオードＤ１２は、コイル１０１ａ、１０３ａに対する定電流制御のための帰還ダイオードであり、各気筒選択トランジスタＴ１０，Ｔ３０の何れかがオンされている状態で第１の定電流トランジスタＴ１１がオンからオフされた時に、コイル１０１ａ，１０３ａに電流を還流させるものである。
【００５０】
同様に、第２の定電流トランジスタＴ２１は、第２グループのコイル１０２ａ，１０４ａに一定の電流（保持電流）を流すために設けられており、気筒♯２に対応した気筒選択トランジスタＴ２０又は気筒♯４に対応した気筒選択トランジスタＴ４０の何れかがオンされている状態で、その第２の定電流トランジスタＴ２１がオンされると、各気筒選択トランジスタＴ２０，Ｔ４０のうちでオンされている方に接続されているコイル（１０２ａ又は１０４ａ）に、電源ラインＬｐから逆流防止用のダイオードＤ２１を介して電流が流れる。尚、ダイオードＤ２２は、コイル１０２ａ、１０４ａに対する定電流制御のための帰還ダイオードであり、各気筒選択トランジスタＴ２０，Ｔ４０の何れかがオンされている状態で第２の定電流トランジスタＴ２１がオンからオフされた時に、コイル１０２ａ，１０４ａに電流を還流させるものである。
【００５１】
尚、各定電流トランジスタＴ１１，Ｔ２１は、それぞれ駆動回路１２０によってオン／オフ制御され、このオン／オフ制御により上記保持電流が流れる。
また、駆動回路１２０は、第１グループのインジェクタ１０１，１０３に流れる電流である第１駆動電流を波形成形してパルス状の信号である第１通電検出信号ＩＮＪＦ１を生成する波形成形回路２１と、第２グループのインジェクタ１０２，１０４に流れる電流である第２駆動電流を波形成形してパルス状の信号である第２通電検出信号ＩＮＪＦ２を生成する波形成形回路２２とを備えている。尚、以下の説明では、第１通電検出信号ＩＮＪF１及び第２通電検出信号ＩＮＪＦ２について、特に区別する必要がない場合は、単に「通電検出信号ＩＮＪＦ」と称することもある。
【００５２】
各波形成形回路２１，２２に入力される駆動電流は、図２の三段目に例示するような波形となっている。そこで、各波形成形回路２１，２２は、その入力波形に対して閾値を設定して、通電されているかどうかを判断し、通電中はＬレベル（ＯＮ）、非通電中はＨレベル（ＯＦＦ）となるようなパルス状の通電検出信号ＩＮＪＦを生成する（図２の四段目参照）。即ち、この通電検出信号ＩＮＪＦは、非通電時はＨレベル（ＯＦＦ）で、通電開始後、駆動電流が所定のＯＮ閾値を超えたら通電されているものとしてＬレベル（ＯＮ）となり、その後駆動電流が所定のＯＦＦ閾値（＜ＯＮ閾値）を下回ったらＨレベル（ＯＦＦ）となるようなパルス信号である。そして、各波形成形回路２１，２２で生成された通電検出信号ＩＮＪＦは、エンジンＥＣＵ１３０へ出力される。
【００５３】
エンジンＥＣＵ１３０は、ＣＰＵ１１、出力回路１２，及び２つの入力回路１３，１４を備えている。ＣＰＵ１１は、例えばエンジン回転数、アクセル開度、エンジン水温、コモンレール内のレール圧などの各種のエンジン運転情報に基づき、各種制御プログラム（図示しないメモリに格納）を実行することで、各気筒♯１〜♯４毎に、パルス状の信号である噴射指令ＴＱ１〜ＴＱ４を生成して出力回路１２へ出力する。
【００５４】
そして、出力回路１２は、ＣＰＵ１１から入力された各噴射指令ＴＱ１〜ＴＱ４毎に、それぞれ、その噴射指令に対応した（同じタイミングでレベル変化するような）パルス信号である各駆動信号ＩＪＴ１〜ＩＪＴ４を生成し、ＥＤＵ１００へ（駆動回路１２０へ）出力する。尚、以下の説明では、各噴射指令ＴＱ１〜ＴＱ４及び各駆動信号ＩＪＴ１〜ＩＪＴ４について、特に区別する必要がない場合は、それぞれ単に「噴射指令ＴＱ」，「駆動信号ＩＪＴ」と称することもある。
【００５５】
噴射指令ＴＱは、図２の一段目に例示するように、１回の噴射毎に１つ（１パルス）生成される。即ち、ＣＰＵ１１は、各気筒♯１〜♯４の各コイルへの通電開始タイミング（放電開始タイミング）及び通電時間を制御することにより、各インジェクタ１０１〜１０４を所定の順序でそれぞれ所定期間（上記通電時間）開弁させる。そのため、ある気筒についてそのインジェクタを開弁させるタイミング（即ち噴射開始タイミング）が到来すると、ＣＰＵ１１は、その気筒に対応した噴射指令ＴＱをＨレベルに立ち上げることによりＯＮさせる（時刻ｔ１）。そして、所定の噴射時間が経過すると、噴射指令ＴＱをＬレベルに立ち下げることによりＯＦＦさせる（時刻ｔ３）。
【００５６】
この噴射指令ＴＱに対し、出力回路１２は、図２の二段目に示すように、入力された噴射指令ＴＱと同じタイミングでレベル変化する駆動信号ＩＪＴを生成する。つまり、１回の噴射毎に１つ（１パルス）の駆動信号ＩＪＴがＥＤＵ１００へ出力される。尚、回路構成によっては、噴射指令ＴＱに対し、駆動信号ＩＪＴは、厳密には微小なずれ（遅れ）が発生し得るが、そのずれは無視しうる程度のものであるため、本実施形態では、噴射指令ＴＱとこれに対する駆動信号ＩＪＴは同じタイミングで変化するパルス信号であるものとして扱う。
【００５７】
各入力回路１３，１４は、ＥＤＵ１００の駆動回路１２０から入力される通電検出信号ＩＮＪＦ１，２を中継してＣＰＵ１１へ出力するためのインターフェイス機能を有するものであり、通電検出信号ＩＮＪＦと同じタイミングでレベル変化するようなパルス信号をＣＰＵ１１へ出力する。そのため、説明の便宜上、ＣＰＵ１１には各入力回路１３を経由して各通電検出信号ＩＮＪＦ１，２が入力される、と捉えても差し支えない。
【００５８】
このように、ＣＰＵ１１は、各気筒♯１〜♯４それぞれについて、１回の噴射毎に噴射指令ＴＱを生成し、その噴射指令ＴＱに対して出力回路１２が駆動信号ＩＪＴを生成してＥＤＵ１００の駆動回路１２０へ出力する。
【００５９】
一方、ＥＤＵ１００の駆動回路１２０は、何れかの気筒に対応した駆動信号ＩＪＴがＨレベルに立ち上がると（図２の時刻ｔ１）、対応する気筒の気筒選択信号ＳＬをＨレベルにすることで、対応する気筒選択トランジスタＴ１０（又はＴ２０）をＯＮさせると共に、対応する放電用トランジスタＴ１２（又はＴ２２）をＯＮさせる。これにより、対応するコンデンサＣ１０（又はＣ２０）から対応する気筒のインジェクタへの放電が開始され、図２の三段目に示すように、駆動電流が流れ始める。放電開始後、駆動電流が所定のＯＮ閾値を超えると（時刻ｔ２）、通電検出信号ＩＮＪＦはＨレベル（ＯＦＦ）からＬレベル（ＯＮ）に立ち下がる。
【００６０】
そして、その駆動電流が一定量流れると（例えば電流値が所定の電流閾値まで到達すると）、駆動回路１２０は、対応する放電用トランジスタをＯＦＦさせてコンデンサからの放電を停止し、対応する定電流トランジスタＴ１１（又はＴ２１）をＯＮ／ＯＦＦ制御することで、インジェクタへ一定の保持電流を通電させて開弁状態を保持させる。
【００６１】
尚、駆動回路１２０は、第１コンデンサＣ１０又は第２コンデンサＣ２０の何れかからの放電が行われる毎に、その放電停止後、次の放電が開始されるまでの間に、昇圧回路５０を動作させて各コンデンサＣ１０，Ｃ２０の充電を行わせ、各コンデンサＣ１０，Ｃ２０を規定充電電圧まで充電する。
【００６２】
そして、所定の噴射時間（通電時間）が経過したことによってエンジンＥＣＵ１３０からの駆動信号ＩＪＴがＬレベル（ＯＦＦ）に立ち下がると、駆動回路１２０は、定電流トランジスタＴ１１（又はＴ１２）のＯＮ／ＯＦＦ制御を停止して完全にＯＦＦさせると共に対応する気筒選択信号ＳＬをＬレベルにすることで、インジェクタへの通電を停止させる。
【００６３】
これにより、時刻ｔ３以後、駆動電流は低下していき、やがて０になる。その低下の過程で、駆動電流が所定のＯＦＦ閾値を下回ると（時刻ｔ４）、通電検出信号ＩＮＪＦはＨレベル（ＯＦＦ）に立ち上がる。
【００６４】
このように、エンジンＥＣＵ１３０のＣＰＵ１１が、ある気筒に対する噴射指令ＴＱを１つ（１パルス）生成する毎に、対応する気筒のインジェクタによる一回の燃料噴射が行われるのである。
【００６５】
このように構成された本実施形態の燃料噴射制御システムにおいて、エンジンＥＣＵ１３０は、更に、燃料噴射が正常に行われたか否か、また、正常に行われない異常状態である場合には具体的にどういった内容の異常状態となっているのか、を検出する、異常検出機能を備えている。
【００６６】
具体的には、ＣＰＵ１１が、自身が生成した噴射指令ＴＱと、その噴射指令ＴＱに対してＥＤＵ１００から入力された通電検出信号ＩＮＪＦとを比較（波形比較）して、両者の相違に基づき、三種類の異常状態を判断する。
【００６７】
三種類の異常状態のうち１つは、噴射開始タイミングの異常である。燃料噴射制御システムが正常ならば、図２に示したように、ＣＰＵ１１が噴射指令ＴＱを出力（ＯＮ）すると（時刻ｔ１）、その噴射指令に対し、所定時間遅れて通電検出信号ＩＮＪＦもＯＮする（時刻ｔ２）。そして、噴射指令ＴＱがＯＮしてから通電検出信号ＩＮＪＦがＯＮするまでの時間差（ｔ２−ｔ１）であるＯＮタイミング差Ｔｓは、駆動電流を通電検出信号ＩＮＪＦに波形成形する際のＯＮ閾値（ＩＮＪＦの立ち下がりタイミングを決める閾値）の他、波形成形回路２１，２２内の出力段に設けられたＲＣフィルタ（ローパスフィルタ）のフィルタ定数や、アクチュエータ（インジェクタ）の特性、駆動電圧（インジェクタに印加される電圧）などの各種要因によって一意的に決まる。尚、図２に示す波形は、上記各種要因のうち、ＯＮ閾値以外の要因による遅れ分については説明の便宜上省略しているが、実際には、噴射指令ＴＱが立ち上がった時刻ｔ１から、上記各種要因による時間だけ遅れた後の時刻ｔ２にて通電検出信号ＩＮＪＦが立ち下がることになる。
【００６８】
そこで、正常時におけるその一意的に決まる時間差よりもある程度大きい一定時間を異常判断用のタイミング差異閾値として予め設定しておき、ＯＮタイミング差Ｔｓがそのタイミング差異閾値以内であるか否かに基づいて、噴射開始タイミングの異常の有無を判断する。即ち、ＯＮタイミング差Ｔｓがタイミング差異閾値より大きければ、噴射開始タイミングが正常時よりも遅れるような異常が生じているものと判断する。
【００６９】
三種類の異常状態のうち他の１つは、噴射時間の異常である。燃料噴射制御システムが正常ならば、図２に示したように、噴射指令ＴＱがＯＮしている時間（噴射指令ＴＱのパルス幅）、即ち噴射指令ＴＱが立ち上がってから再び立ち下がるまでの時間であるＯＮ時間Ｔ１と、通電検出信号ＩＮＪＦがＯＮしている時間（通電検出信号ＩＮＪＦのパルス幅であり、立ち下がってから再び立ち上がるまでの時間であるＯＮ時間Ｔ２）との差は、上述した各種要因によって一意的に決まる。
【００７０】
そこで、正常時において一意的に決まる、噴射指令ＴＱのＯＮ時間Ｔ１（パルス幅）と通電検出信号ＩＮＪＦのＯＮ時間Ｔ２（パルス幅）との時間差をもとに、その時間差を含む所定の時間差許容範囲を予め設定しておく。そして、ＯＮ時間Ｔ１とＯＮ時間Ｔ２の時間差がその時間差許容範囲内にあるか否かに基づいて、噴射時間の異常を判断する。即ち、ＯＮ時間Ｔ１とＯＮ時間Ｔ２の時間差が時間差許容範囲より大きければ噴射時間が正常時よりも増大（即ち噴射量が正常時より増大）するような異常が生じており、逆に時間差許容範囲より小さければ噴射時間が正常時よりも短くなる（即ち噴射量が正常時より減少する）ような異常が生じているものと判断する。
【００７１】
三種類の異常状態のうちもう１つは、噴射回数の異常である。燃料噴射システムが正常ならば、所定の時間内における、噴射指令ＴＱのパルス数と通電検出信号ＩＮＪＦのパルス数とは同一となるはずである。そこで、所定の判断期間（例えば噴射指令ＴＱが複数生成される程度の所定期間）を適宜設定し、その判断期間中に両者のパルス数を比較して、同一か否か（換言すれば、両者のパルス数の差が０か否か）に基づいて、噴射回数の異常を判断する。即ち、噴射指令ＴＱのパルス数よりも通電検出信号ＩＮＪＦのパルス数が多い場合は、意図しない噴射（誤噴射）が行われたものと判断し、逆に通電検出信号ＩＮＪＦのパルス数が少なければ、正常に噴射されないこと（失火）が発生したものと判断する。
【００７２】
上述した三種類の異常状態の有無の判断は、ＣＰＵ１１が、図示しないＲＯＭに格納されている異常検出処理プログラムを実行することにより実現される。図３に、その異常検出処理のフローチャートを示す。
【００７３】
この異常検出処理は、本実施形態では、各入力回路１３，１４からの各通電検出信号ＩＮＪＦ１，２毎に（即ち、第１グループ及び第２グループの各グループ毎に）個別に実行されるものであり、且つ、各グループそれぞれ、噴射指令ＴＱが出力される毎に（即ち１パルス出力される毎に）次の噴射指令ＴＱが立ち上がるまでの間の所定のタイミングで、順次、その出力された噴射指令ＴＱを対象に実行されるものである。
【００７４】
尚、この異常検出処理と並行して、噴射指令ＴＱと通電検出信号ＩＮＪＦそれぞれのパルス数を気筒毎に個別に累積カウントする処理も実行される。また、その累積カウントを行う累積期間は、適宜設定することができる。
【００７５】
ＣＰＵ１１は、何れかの気筒に対する噴射指令ＴＱを出力したことにより、その噴射を対象としてこの異常検出処理を開始すると、まずＳ１１０にて、その気筒について現在累積カウントされている噴射指令ＴＱのパルス数と通電検出信号ＩＮＪＦのパルス数が同一か否かを判断する。そして、同一でなければ（Ｓ１１０：ＮＯ）、Ｓ１６０にて、噴射指令ＴＱのパルス数が通電検出信号ＩＮＪＦのパルス数より大きいか否かを判断する。
【００７６】
そして、噴射指令ＴＱのパルス数の方が大きい場合は（Ｓ１６０：ＹＥＳ）、Ｓ１７０にて、噴射指令ＴＱに対してインジェクタへの通電が行われない（即ち燃料噴射が行われない）失火が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。
【００７７】
逆に、通電検出信号ＩＮＪＦのパルス数の方が大きい場合は（Ｓ１６０：ＮＯ）、Ｓ１８０にて、誤噴射（意図しない噴射）が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。
【００７８】
一方、各パルス数が同一ならば（Ｓ１１０：ＹＥＳ）、Ｓ１２０に進み、噴射指令ＴＱの立ち上がり（ＯＮ）後、タイミング差異閾値以内に通電検出信号ＩＮＪＦの立ち下がり（ＯＮ）があったか否か、即ち、ＯＮタイミング差Ｔｓがタイミング差異閾値以内であるか否かを判断する。そして、タイミング差異閾値以内に通電検出信号が立ち下がらなかった場合は（Ｓ１２０：ＮＯ）、Ｓ１３０にて、噴射タイミングが異常である旨の判定を行い、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。
【００７９】
一方、タイミング差異閾値以内に通電検出信号が立ち下がった場合は（Ｓ１２０：ＹＥＳ）、Ｓ１４０に進み、噴射指令ＴＱのパルス幅（ＯＮ時間Ｔ１）と通電検出信号ＩＮＪＦのパルス幅（ＯＮ時間Ｔ２）との差が時間差許容範囲内であるか否かを判断する。そして、時間差許容範囲内であったならば（Ｓ１４０：ＹＥＳ）、異常はなかったものとして本処理を終了するが、時間差許容範囲内ではなかった場合は（Ｓ１４０：ＮＯ）、Ｓ１５０にて、噴射量が増大又は減少するような異常が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。
【００８０】
尚、ＣＰＵ１１は、例えば噴射指令ＴＱがＯＮしている間に通電検出信号ＩＮＪＦがＯＮしない（ＴＱがＯＦＦした後にＩＮＪＦがＯＮする）などのような、噴射指令ＴＱに対して通電検出信号ＩＮＪＦの遅れが大きすぎる場合には、上記異常検出処理を停止し、ダイアグ記録やユーザに対する何らかの注意喚起（例えば点検を促す表示をするなど）を行う。
【００８１】
以上説明したように、本実施形態の燃料噴射制御システムでは、エンジンＥＣＵ１３０のＣＰＵ１１が、自身が生成した噴射指令ＴＱと、その噴射指令ＴＱに対してＥＤＵから入力される通電検出信号ＩＮＪＦとを波形比較することで、燃料噴射が正常に行われているか否かの判断を行う。そのため、異常の有無が判断できるのはもちろん、異常が生じている場合に、具体的に上記三種類の異常状態のうちいずれの異常状態となっているかを判定することができ、ユーザは異常状態の内容をより具体的に知ることができる。そのため、異常が生じた場合にその異常を解消するための対応を迅速且つ適切に行うことができる。
【００８２】
また、その三種類の異常状態の判断は、それぞれ、噴射指令ＴＱと通電検出信号ＩＮＪＦのパルス数が同一か否か、ＯＮタイミング差Ｔｓがタイミング差異閾値以内であるか否か、及び噴射指令ＴＱのパルス幅と通電検出信号ＩＮＪＦのパルス幅との差が時間差許容範囲内であるか否か、によって行われるため、上記各閾値を適切に設定することで、上記三種類の異常状態の判断を適切且つ確実に行うことができる。
【００８３】
また、異常検出を行うにあたり、ＥＤＵ１００は、単にインジェクタへの通電の有無を示す通電検出信号ＩＮＪＦを生成してエンジンＥＣＵ１３０へ出力するだけでよく、異常検出処理そのものは、エンジンＥＣＵ１３０側で主体的に行われる。そのため、異常検出機能搭載のためにＥＤＵ１００の構成を複雑化する必要はなく、よって、簡素な構成でありながら高い異常検出性能を備えた燃料噴射制御システムを提供することができる。
【００８４】
［第２実施形態］
図４に、第２実施形態の燃料噴射制御システムの概略構成を示す。本実施形態の燃料噴射システムは、第１実施形態の燃料噴射システムと比較して、エンジンＥＣＵ内の一部構成及び異常検出処理の内容が異なっており、その他のＥＤＵ１００や各インジェクタ１０１〜１０４の構成は第１実施形態と同じである。そのため、以下、第１実施形態と同じ構成要素についてはその説明を省略し、第１実施形態と異なる構成に絞って説明する。
【００８５】
上記第１実施形態では、噴射指令ＴＱと通電検出信号ＩＮＪＦとの波形比較によって異常の有無を判断したが、本実施形態では、これら２つの信号ＴＱ，ＩＮＪＦに加え、更に、駆動信号ＩＪＴも考慮して、異常有無を判断する。つまり、本実施形態のエンジンＥＣＵ１５０では、ＣＰＵ３１が、自身が生成した噴射指令ＴＱと、その噴射指令ＴＱに対して出力回路３２が生成し出力した駆動信号ＩＪＴと、その駆動信号ＩＪＴに対してＥＤＵ１００から（駆動回路１２０から）入力された通電検出信号ＩＮＪＦとの三者を比較（波形比較）する。そしてその三者比較により、上記第１実施形態と同じように異常状態の有無の判断を行うのに加え、本実施形態では更に、その異常状態を生じさせている原因となっている箇所（故障箇所）及びその箇所の具体的故障内容（故障モード）も判断する。
【００８６】
そして、そのような高性能な異常判断機能を実現すべく、本実施形態のエンジンＥＣＵ１５０は、図４に示すように、グループ毎に、ＯＲ回路、遅延回路、及びＥＸＯＲ回路を備えている。
【００８７】
即ち、第１グループに対しては、その第１グループに対応した各駆動信号ＩＪＴ１，３を入力して両者の論理和を出力するＯＲ回路４１と、その第１グループに対応した通電検出信号ＩＮＪＦ１を所定の信号遅延時間Ｔｄｘ（図５参照）だけ遅延させる遅延回路４２と、ＯＲ回路４１の出力と遅延回路４２の出力の排他的論理和（ＥＸＯＲ）を演算するＥＸＯＲ回路４３とを備えている。そして、ＥＸＯＲ回路４３からの出力信号であるＥＸＯＲ信号がＣＰＵ３１へ入力される。
【００８８】
第２グループに対しても同様であり、その第１グループに対応した各駆動信号ＩＪＴ１，３を入力して両者の論理和を出力するＯＲ回路４１と、その第１グループに対応した通電検出信号ＩＮＪＦ１を所定の信号遅延時間Ｔｄｘ（図５参照）だけ遅延させる遅延回路４２と、ＯＲ回路４１の出力と遅延回路４２の出力の排他的論理和（ＥＸＯＲ）を演算するＥＸＯＲ回路４３とを備えている。そして、ＥＸＯＲ回路４３からの出力信号であるＥＸＯＲ信号がＣＰＵ３１へ入力される。
【００８９】
第１実施形態でも説明したように、駆動信号ＩＪＴに対して通電検出信号ＩＮＪＦは若干遅れて入力される。また、その遅れは、上述したように、駆動回路１２０内のフィルタ定数やインジェクタの特性、駆動電圧などの各種要因によって一意的に決まるものである。
【００９０】
そこで本実施形態では、駆動信号ＩＪＴと通電検出信号ＩＮＪＦとの間に上記のような遅れが生じることを利用して、両者の排他的論理和を演算し、その演算結果であるＥＸＯＲ信号に基づいて異常判断を行う。駆動信号ＩＪＴ又は通電検出信号ＩＮＪＦの何れか一方でも異常になると、両者の排他的論理和も当然ながら正常状態とは異なるものとなるため、ＥＸＯＲ信号に基づいて異常判断を行うことができるのである。
【００９１】
但し、上述した各種要因によって生じる、駆動信号ＩＪＴと通電検出信号ＩＮＪＦとのずれ（遅れ）は、設計上意図的に発生させているものではないため、場合によってはそのずれが小さくてそのずれがＥＸＯＲ回路にて正しく認識されないおそれがある。
【００９２】
そこで本実施形態では、エンジンＥＣＵ１５０に遅延回路を設けて通電検出信号ＩＮＪＦを意図的に信号遅延時間Ｔｄｘだけ遅延させることで、図５の五段目に示す波形のように、駆動信号ＩＪＴと通電検出信号ＩＮＪＦとのずれを明確に発生させ、ＥＸＯＲ信号のエッジ変化を確実に発生させるようにしている。これにより、図５の六段目（最下段）に示すように、一回の噴射毎に２つのパルスからなるＥＸＯＲ信号が生成されることとなる。尚、図５において一段目〜四段目の各波形は、図２に示した各波形と全く同じである。
【００９３】
ＥＸＯＲ信号を構成する２つのパルスのうち、１つ目のパルスは、噴射指令ＴＱがＨレベルに立ち上がってから通電検出信号ＩＮＪＦ（但し遅延回路出力）が立ち下がるまでの間（図５の時刻ｔ１〜ｔ３）にアクティブレベル（Ｌレベル）となる、パルス幅Ｔｄ１のパルスであり、二つ目のパルスは、噴射指令ＴＱがＬレベルに立ち下がってから通電検出信号ＩＮＪＦ（但し遅延回路出力）が立ち上がるまでの間（図５の時刻ｔ４〜ｔ６）にアクティブレベルとなる、パルス幅Ｔｄ２のパルスである。
【００９４】
このように、本実施形態では、ＣＰＵ３１に対して駆動信号ＩＪＴと通電検出信号ＩＮＪＦがそれぞれ直接入力されるわけではなく、両者の排他的論理和が演算されてその演算結果であるＥＸＯＲ信号が入力される。そのため、ＣＰＵ３１は、直接的には、自身が生成した噴射指令ＴＱとそれに対するＥＸＯＲ信号とを比較することになる。但し、ＥＸＯＲ信号は、駆動信号ＩＪＴと通電検出信号ＩＮＪＦの各波形の変化が反映されたものであり、何れかの波形に異常が生じたらその異常がＥＸＯＲ信号の波形変化として反映される。そのため、ＣＰＵ３１は実質的には、噴射指令ＴＱ、駆動信号ＩＪＴ、及び通電検出信号ＩＮＪＦの三者を比較していることになる。
【００９５】
次に、エンジンＥＣＵ１５０のＣＰＵ３１により行われる各種異常判断について説明する。ＣＰＵ３１は、上記の通り、三者比較によって異常判断を行うわけだが、第１実施形態と同様、燃料噴射に関する３つの異常状態の何れかの発生を判断する機能は有している。つまり、本実施形態においても、三者比較に基づき、噴射開始タイミングの異常、噴射時間の異常、及び噴射回数の異常の有無を判断することができる。
【００９６】
これに加え、本実施形態では更に、図６に示すような１０種類の故障モード（異常Ｎｏ．１〜ＮＯ．１０）の判定を、その故障箇所の判定と共に行うことができる。
図６に示す各故障モードのうち、異常Ｎｏ．１は、噴射指令ＴＱに関係なく駆動信号ＩＪＴがＨレベルに固定されたままであり、よってＥＸＯＲ信号もＨレベル固定となっている故障モードである。この異常Ｎｏ．１が検出された場合は、エンジンＥＣＵ１５０内の出力回路３２の故障によって駆動信号ＩＪＴがＨレベルに固着していることが予想される。またこの場合、駆動信号ＩＪＴがＨレベル固着であることから、ＯＲ回路の出力もＨレベル一定となるため、同一グループの他の気筒の燃料噴射時においてもＥＸＯＲ信号はＨレベルのままの状態となる。またこの異常Ｎｏ．１が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっているものと判断できる。
【００９７】
異常Ｎｏ．２は、噴射指令ＴＱに関係なく駆動信号ＩＪＴがＬレベルに固定されたままであり、よってＥＸＯＲ信号もＨレベル固定となっている故障モードである。この異常Ｎｏ．２が検出された場合は、エンジンＥＣＵ１５０内の出力回路３２の故障によって駆動信号ＩＪＴがＬレベルに固着していることが予想される。但しこの場合、駆動信号ＩＪＴがＬレベル固着であることから、同一グループの他の気筒の燃料噴射時においては、駆動信号ＩＪＴがＯＮすることによりＥＸＯＲ信号のエッジ変化も正常に生じるはずである。そのため、ＥＸＯＲ信号がＨレベル一定となる異常が検出された場合は、同一グループの他の気筒の燃料噴射時にＥＸＯＲ信号がエッジ変化するか否かをもって、異常ＮＮｏ．１と異常Ｎｏ．２を区別することができる。尚、異常Ｎｏ．２が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっているものと判断できる。
【００９８】
異常Ｎｏ．３は、噴射指令ＴＱに対し、駆動信号ＩＪＴが、その立上りタイミングは正常であるものの立下りタイミングが遅く、よってＥＸＯＲ信号も２つ目のパルスの立下りが遅くなるような故障モードである。この異常Ｎｏ．３が検出された場合は、エンジンＥＣＵ１５０内の出力回路３２の故障によって、噴射指令ＴＱが立ち下がっても駆動信号ＩＪＴがすぐには立ち下がらない状態になっていることが予想される。また、異常Ｎｏ．３が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射時間が異常（増大）となっているものと判断できる。
【００９９】
異常Ｎｏ．４は、噴射指令ＴＱに対し、駆動信号ＩＪＴが、その立上りタイミングは正常であるものの立下りタイミングが早く（ＴＱ立下りよりも早く）、よってＥＸＯＲ信号も２つ目のパルスの立下りが早くなるような故障モードである。この異常Ｎｏ．４が検出された場合は、エンジンＥＣＵ１５０内の出力回路３２の故障によって、噴射指令ＴＱが立ち下がるよりも先に駆動信号ＩＪＴが立ち下がってしまうような状態になっていることが予想される。また、異常Ｎｏ．４が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射時間が異常（減少）となっているものと判断できる。
【０１００】
異常Ｎｏ．５は、噴射指令ＴＱに対し、駆動信号ＩＪＴが、そのパルス幅は正常であるものの、パルス発生タイミングが遅く（即ち、立上りタイミング及び立下りタイミングがいずれも遅く）、よってＥＸＯＲ信号も２つのパルスの立ち下がりがいずれも遅くなるような故障モードである。この異常Ｎｏ．５が検出された場合は、エンジンＥＣＵ１５０内の出力回路３２の故障によって、噴射指令ＴＱに対して駆動信号ＩＪＴが正常に追随してエッジ変化しない状態になっていることが予想される。また、異常Ｎｏ．５が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミングが異常（遅い）となっているものと判断できる。
【０１０１】
異常Ｎｏ．６〜異常Ｎｏ．１０は、いずれも、エンジンＥＣＵ１５０は正常であって制御側信号（噴射指令ＴＱ及び駆動信号ＩＪＴ）は正常に生成・出力されたものの、ＥＤＵ１００側（インジェクタ含む）で何らかの故障等が発生していることにより生じることが予想される故障モードである。
【０１０２】
このうち、異常Ｎｏ．６は、制御側信号に関係なく通電検出信号ＩＮＪＦがＨレベルに固定されたままであり、よってＥＸＯＲ信号の１つ目のパルスの立上りタイミングが遅くなっている（制御側信号の立ち下がり時に１つ目が立ち上がっている）故障モードである。この異常Ｎｏ．６が検出された場合は、ＥＤＵ１００側の故障によって通電検出信号ＩＮＪＦがＨレベルに固着していることが予想される。またこの異常Ｎｏ．６が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっている可能性がある。
【０１０３】
異常Ｎｏ．７は、制御側信号に関係なく通電検出信号ＩＮＪＦがＬレベルに固定されたままであり、よってＥＸＯＲ信号のエッジ変化が正常時とは逆になっていると共にそのパルス数も１つとなっている故障モードである。この異常Ｎｏ．７が検出された場合は、ＥＤＵ１００側の故障によって通電検出信号ＩＮＪＦがＬレベルに固着していることが予想される。またこの異常Ｎｏ．７が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっている可能性がある。
【０１０４】
異常Ｎｏ．８は、制御側信号に対し、通電検出信号ＩＮＪＦが、その立下りタイミングは正常であるものの立上りタイミングが遅く、よってＥＸＯＲ信号も２つ目のパルスの立上りが遅くなるような故障モードである。この異常Ｎｏ．８が検出された場合は、ＥＤＵ１００側の故障によって、制御側信号が立ち下がっても通電検出信号ＩＮＪＦがすぐには立ち上がらない状態になっていることが予想される。また、異常Ｎｏ．８が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射時間が異常（増大）となっている可能性がある。
【０１０５】
異常Ｎｏ．９は、制御側信号に対し、通電検出信号ＩＮＪＦが、その立下りタイミングは正常であるものの立上りタイミングが早く、よってＥＸＯＲ信号も２つ目のパルスの立上りが早く且つその立上りが制御側信号の立下り直後となるような故障モードである。この異常Ｎｏ．９が検出された場合は、ＥＤＵ１００側の故障によって、制御側信号が立ち下がるよりも先に通電検出信号ＩＮＪＦが立ち上がってしまうような状態になっていることが予想される。また、異常Ｎｏ．９が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射時間が異常（減少）となっている可能性がある。
【０１０６】
尚、単にＥＸＯＲ信号の２つ目の立ち下がりが早いというだけでは、異常Ｎｏ．４との区別ができないが、２つ目の立ち上がりタイミングによって、異常Ｎｏ．４か異常Ｎｏ．９かを区別することができる。即ち、ＥＸＯＲ信号の２つ目の立上りが制御側信号の立下り直後（略同一）ならば異常Ｎｏ．９と判断でき、そうでなければ異常Ｎｏ．４と判断できる。
【０１０７】
異常Ｎｏ．１０は、制御側信号に対し、通電検出信号ＩＮＪＦが、そのパルス幅は正常であるものの、パルス発生タイミングが遅く（即ち、立上りタイミング及び立下りタイミングがいずれも遅く）、よってＥＸＯＲ信号も、２つのパルスの立下りタイミングは正常であるものの立上りタイミングがいずれも遅くなるような故障モードである。この異常Ｎｏ．１０が検出された場合は、ＥＤＵ１００側の故障によって、制御側信号に対して通電検出信号ＩＮＪＦが正常に追随してエッジ変化しない状態になっていることが予想される。また、異常Ｎｏ．５が検出された場合は、インジェクタの動作（燃料噴射）の状態として、噴射開始タイミングが異常（遅い）となっているものと判断できる。
【０１０８】
次に、本実施形態のエンジンＥＣＵ１５０においてＣＰＵ３１が実行する異常検出処理について、図７のフローチャートを用いて説明する。ＣＰＵ３１は、図７に示す異常検出処理を、第１実施形態の異常検出処理と同じタイミングで実行する。また、第１実施形態と同様、この異常検出処理と並行して、噴射指令ＴＱと通電検出信号ＩＮＪＦそれぞれのパルス数を気筒毎に個別に累積カウントする処理も実行される。
【０１０９】
ＣＰＵ３１は、この異常検出処理を開始すると、まずＳ３１０にて、その気筒について現在累積カウントされている噴射指令ＴＱのパルス数と通電検出信号ＩＮＪＦのパルス数が同一か否かを判断する。そして、同一でなければ（Ｓ３１０：ＮＯ）、Ｓ３２０にて、噴射指令ＴＱのパルス数が通電検出信号ＩＮＪＦのパルス数より大きいか否かを判断する。
【０１１０】
そして、噴射指令ＴＱのパルス数の方が大きい場合は（Ｓ３２０：ＹＥＳ）、Ｓ３３０にて、噴射指令ＴＱに対してインジェクタへの通電が行われない（即ち燃料噴射が行われない）失火が発生したものと判断し、処理Ｂを実行して、この異常検出処理を終了する。
【０１１１】
ここで、この異常判定処理では、異常が検出された場合に、故障モード毎に、処理Ａ，Ｂ，Ｃの何れかが実行される。このうち処理Ａは、燃料が正常時よりも過剰に噴射されるおそれがあるような故障モードに対してなされる処理であり、例えば、エンジンの動作を即座に停止させ、エンジン動作を停止せざるをえないような故障が生じたことを、故障モード（異常Ｎｏ．）と共にユーザに報知する。
【０１１２】
一方、処理Ｂは、燃料噴射が正常時よりも少ない（或いは噴射されない）おそれがあるような故障モードに対してなされる処理であって、処理Ｃは、燃料の噴射量に異常はないものの正常なタイミングで噴射されないおそれがあるような故障モードに対してなされる処理であり、いずれも、例えば、一定の上限速度以下で一定の距離までの走行は許容しつつ、正常に走行できないような故障が生じたことを故障モード（異常Ｎｏ．）と共にユーザに報知する。
【０１１３】
Ｓ３２０の判断処理で、通電検出信号ＩＮＪＦのパルス数の方が大きいと判断された場合は、Ｓ３４０にて、誤噴射（意図しない噴射）が発生したものと判断し、処理Ａを実行して、この異常検出処理を終了する。
【０１１４】
一方、各パルス数が同一ならば（Ｓ３１０：ＹＥＳ）、Ｓ３５０に進み、噴射指令ＴＱの立ち上がり（ＯＮ）後、再び立ち下がる前に、ＥＸＯＲ信号の立下りエッジを検出したか否かを判断する。このとき、当該燃料噴射システムが正常ならば、ＥＸＯＲ信号が立ち下がるはずであり、その場合はＳ４１０に進むが、何らかの故障によってＥＸＯＲ信号の立下りエッジが検出されなかった場合は（Ｓ３５０：ＮＯ）、故障モードとして異常Ｎｏ．１，２，７の何れかであることが予想される。
【０１１５】
そこで更に、Ｓ３６０に進み、噴射指令ＴＱの立ち上がり後、ＥＸＯＲ信号の立上りエッジを検出したか否かを判断する。このとき、ＥＸＯＲ信号の立上りエッジを検出したならば、ＥＸＯＲ信号はもともとＬレベルとなっていて、ＴＱ立ち上がりによってＥＸＯＲ信号がＨレベルに立ち上がったものと考えられる。つまり、ＥＸＯＲ信号のエッジ変化が正常時とは逆転しているものと考えられる。そこでこの場合は、Ｓ３７０にて、ＥＤＵ１００側において異常Ｎｏ．７の故障モードが生じているものと判断し、処理Ａを実行して、この異常検出処理を終了する。
【０１１６】
Ｓ３６０にて、噴射指令ＴＱの立ち上がり後、ＥＸＯＲ信号の立上りエッジも検出しなかった場合は（Ｓ３６０：ＮＯ）、故障モードとして異常Ｎｏ．１，２の何れかが考えられるため、更にＳ３８０にて、他の気筒の噴射時にもＥＸＯＲ信号のエッジ変化が無かったのかどうかを判断する。そして、他の気筒の噴射時にもＥＸＯＲ信号のエッジ変化が無かったならば（Ｓ３８０：ＹＥＳ）、Ｓ４００にて、エンジンＥＣＵ１５０側において異常Ｎｏ．１の故障モードが生じているものと判断し、処理Ａを実行して、この異常検出処理を終了する。逆に、他の気筒の噴射時にはＥＸＯＲ信号のエッジ変化があったならば（Ｓ３８０：ＮＯ）、Ｓ３９０にて、エンジンＥＣＵ１５０側において異常Ｎｏ．２の故障モードが生じているものと判断し、処理Ｂを実行して、この異常検出処理を終了する。
【０１１７】
次に、Ｓ３５０にて、噴射指令ＴＱの立ち上がり（ＯＮ）後、再び立ち下がる前に、ＥＸＯＲ信号の立下りエッジを検出した場合は（Ｓ３５０：ＹＥＳ）、Ｓ４１０にて、そのＥＸＯＲ信号の立下りエッジは噴射指令ＴＱの立ち上がりタイミングから所定の第１判定時間以内に生じたか否かを判断する。
【０１１８】
当該システムが正常ならば、ＥＸＯＲ信号の最初の立下りエッジは、噴射指令ＴＱの立上りとほぼ同時に生じるはずである。そこで、そのように噴射指令ＴＱの立上りとほぼ同時にＥＸＯＲ信号も立ち下がったか否かを適切に判断できるような第１判定時間を予め設定しておく。そして、その第１判定時間内にＥＸＯＲ信号が立ち下がらなかったならば（即ち、第１判定時間を超えてＥＸＯＲ信号が立ち下がったならば）、Ｓ４２０にて、エンジンＥＣＵ１５０側において異常Ｎｏ．５の故障モードが生じているものと判断し、処理Ｃを実行して、この異常検出処理を終了する。
【０１１９】
一方、噴射指令ＴＱの立上り後、第１判定時間内にＥＸＯＲ信号が立ち下がった場合は（Ｓ４１０：ＹＥＳ）、Ｓ４３０に進み、噴射指令ＴＱの立上り後、ＥＸＯＲ信号の立上りエッジを第２判定時間内に検出したか否かを判断する。
【０１２０】
当該システムが正常ならば、ＥＸＯＲ信号は、図５で説明したように、最初の立下り後、Ｔｄ１だけ遅れたタイミングで立ち上がるはずである。そこで、そのように正常なタイミングでＥＸＯＲ信号が立ち上がったか否かを適切に判断できるような第２判定時間を予め設定しておく。具体的には、例えば時間Ｔｄ１よりも所定時間αだけ長い時間（Ｔｄ１＋α）を適宜設定すればよい。そして、ＥＸＯＲ信号の最初の立下りからその第２判定時間内に最初の立上りエッジが検出されたならば、Ｓ４７０に進む。
【０１２１】
一方、噴射指令ＴＱの立上り後（即ちＥＸＯＲ信号の最初の立下り後）、第２判定時間内にＥＸＯＲ信号の最初の立上りエッジが検出されなかった場合は（Ｓ４３０：ＮＯ）、故障モードとして、異常Ｎｏ．６，１０の何れかが考えられる。そこで、その場合は更にＳ４４０にて、噴射指令ＴＱが立ち下がる前にＥＸＯＲ信号の立上りエッジを検出したか否かを判断する。
【０１２２】
そして、ＴＱ立下り前にＥＸＯＲ信号が立ち上がった場合は（Ｓ４４０：ＹＥＳ）、一応はＥＸＯＲ信号が立ち上がったものの、その立上りタイミングは正常なタイミングよりも遅いことから、Ｓ４６０にて、ＥＤＵ１００側において異常Ｎｏ．１０の故障モードが生じているものと判断し、処理Ｃを実行して、この異常検出処理を終了する。逆に、ＴＱ立下り前にＥＸＯＲ信号が立ち上がらなかった場合は（Ｓ４４０：ＮＯ）、Ｓ４５０にて、ＥＤＵ１００側において異常Ｎｏ．６の故障モードが生じているものと判断し、処理Ｂを実行して、この異常検出処理を終了する。
【０１２３】
そして、Ｓ４７０では、噴射指令ＴＱが立ち下がった後、ＥＸＯＲ信号の２つ目の立下りエッジを第１判定時間以内に検出したか否かを判断する。当該システムが正常ならば、ＥＸＯＲ信号の最初の２つ目の立下りエッジは、噴射指令ＴＱの立下りとほぼ同時に生じるはずであり、その場合はＳ５３０に進むが、何らかの故障によってＴＱ立下り後に第１判定時間内にＥＸＯＲ信号の２つ目の立下りエッジが検出されなかった場合は（Ｓ４７０：ＮＯ）、故障モードとして異常Ｎｏ．３，４，９の何れかであることが予想される。
【０１２４】
そこで更に、Ｓ４８０に進み、噴射指令ＴＱの立下りよりも前にＥＸＯＲ信号の２つ目の立下りエッジを検出したか否かを判断する。ここで、ＴＱ立下り以後にＥＸＯＲ信号の２つ目の立下りエッジを検出したならば（Ｓ４８０：ＮＯ）、Ｓ４９０にて、エンジンＥＣＵ１５０側において異常Ｎｏ．３の故障モードが生じているものと判断し、処理Ａを実行して、この異常検出処理を終了する。
【０１２５】
Ｓ４８０にて、噴射指令ＴＱの立下りよりも前にＥＸＯＲ信号の２つ目の立下りエッジを検出した場合は（Ｓ４８０：ＹＥＳ）、故障モードとして異常Ｎｏ．４，９の何れかが考えられるため、更にＳ５００にて、噴射指令ＴＱの立ち下がり直後に（ほぼ同時に）ＥＸＯＲ信号の２つ目の立上りエッジを検出したか否かを判断する。
【０１２６】
そして、噴射指令ＴＱの立ち下がり直後にＥＸＯＲ信号の２つ目の立上りエッジを検出したならば（Ｓ５００：ＹＥＳ）、Ｓ５１０にて、ＥＤＵ１００側において異常Ｎｏ．９の故障モードが生じているものと判断し、処理Ｂを実行して、この異常検出処理を終了する。逆に、噴射指令ＴＱの立ち下がり直後にＥＸＯＲ信号の２つ目の立上りエッジを検出しなかったならば（Ｓ５００：ＮＯ）、Ｓ５２０にて、エンジンＥＣＵ１５０側において異常Ｎｏ．４の故障モードが生じているものと判断し、処理Ｂを実行して、この異常検出処理を終了する。
【０１２７】
Ｓ４７０で、噴射指令ＴＱが立ち下がった後、ＥＸＯＲ信号の２つ目の立下りエッジを第１判定時間以内に検出した場合は、Ｓ５３０に進み、噴射指令ＴＱの立下り後、ＥＸＯＲ信号の２つ目の立ち上がりエッジを第３判定時間内に検出したか否かを判断する。
【０１２８】
当該システムが正常ならば、図５に示したように、噴射指令ＴＱの立ち下がり後、Ｔｄ２だけ遅れたタイミングでＥＸＯＲ信号の２つ目の立上りエッジが検出されるはずである。そこで、そのように正常なタイミングでＥＸＯＲ信号の２つ目の立上りエッジが検出されたか否かを適切に判断できるような第３判定時間を予め設定しておく。具体的には、例えば時間Ｔｄ２よりも所定時間βだけ長い時間（Ｔｄ１＋β）を適宜設定すればよい。
【０１２９】
そして、噴射指令ＴＱの立ち下がり後、その第３判定時間内にＥＸＯＲ信号の２つ目の立上りエッジが検出されたならば（Ｓ５３０：ＹＥＳ）、異常はなく正常であるものとしてこの異常検出処理を終了する。
【０１３０】
一方、噴射指令ＴＱの立ち下がり後、第３判定時間内にＥＸＯＲ信号の２つ目の立上りエッジが検出されなかったならば（Ｓ５３０：ＮＯ）、ＥＤＵ１００側において異常ＮＯ．８の故障モードが生じているものと判断し、処理Ａを実行して、この異常検出処理を終了する
以上説明したように、本実施形態の燃料噴射制御システムでは、エンジンＥＣＵ１５０のＣＰＵ３１が、自身が生成した噴射指令ＴＱと、その噴射指令ＴＱに対してエンジンＥＣＵ１５０内の出力回路３２が生成した駆動信号ＩＪＴと、その駆動信号ＩＪＴに対してＥＤＵ１００から入力される通電検出信号ＩＮＪＦとの三者を比較することで、燃料噴射が正常に行われているか否かの判断に加え、正常に燃料噴射できない状態となっている場合にその異常状態を生じさせている原因となっている箇所（故障箇所）及びその箇所の具体的故障内容（故障モード）も判断する。
【０１３１】
そのため、異常状態が生じた場合に、ユーザは、故障モード及び故障箇所を具体的に知ることができ、正常な状態に戻すための処置（例えば故障箇所の部品交換、修理など）を迅速且つ適切に行うことができる。つまり、ユーザにとって商品性・使い勝手のより高い燃料噴射制御システムを提供することができる。
【０１３２】
また、本実施形態では、駆動信号ＩＪＴと通電検出信号ＩＮＪＦを直接ＣＰＵ３１へ取り込まず、ＥＸＯＲ回路にて両者の排他的論理和を演算して、その演算結果であるＥＸＯＲ信号をＣＰＵ３１へ取り込むようにしている。そのため、ＣＰＵ３１の使用ポート数を削減することができる。
【０１３３】
更に、本実施形態では、ＥＤＵ１００からの通電検出信号ＩＮＪＦを直接ＥＸＯＲ回路に入力せず、遅延回路にて所定の信号遅延時間Ｔｄｘだけ遅延させた上でＥＸＯＲ回路に入力している。そのため、正常時においてはＥＸＯＲ信号のエッジ変化（２つのパルス）を確実に発生させることができ、その２パルスからなる正常時のＥＸＯＲ信号の波形をもとに、異常検出を的確に行うことができる。
【０１３４】
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１３５】
例えば、第１実施形態では、噴射指令ＴＱと通電検出信号ＩＮＪＦとの比較によって異常検出を行ったが、出力回路１２が正常ならば噴射指令ＴＱと駆動信号ＩＪＴは同じパルスとなるため、出力回路１２が正常（即ち駆動信号ＩＪＴは正常）であるとの仮定のもとに、駆動信号ＩＪＴと通電検出信号ＩＮＪＦとの比較によって異常検出を行うようにしてもよい。但し、そのようにすると、ＣＰＵ１１には駆動信号ＩＪＴと通電検出信号ＩＮＪＦの双方を取り込まなければならず、よってそのための２つの入力ポートが必要となる。そのため、ＣＰＵ１１の入力ポート数増加を抑えるためには、第１実施形態のように噴射指令ＴＱと通電検出信号ＩＮＪＦとの比較に基づく異常検出を行うのが好ましい。
【０１３６】
また、第２実施形態では、エンジンＥＣＵ１５０内にＥＸＯＲ回路４３，４８やＯＲ回路４１，４６を設けたが、これらＥＸＯＲ回路４３，４８やＯＲ回路４１，４６を設けることは必須ではなく、例えば、ＥＸＯＲ回路４３，４８を省略してＯＲ回路出力と遅延回路出力を直接ＣＰＵ３１に入力するようにしてもよいし、また例えば、ＯＲ回路４１，４６とＥＸＯＲ回路４３，４８をいずれも省略して、駆動信号ＩＪＴ及び遅延回路出力をそれぞれ直接ＣＰＵ３１に入力するようにしてもよい。更には、遅延回路４２，４７についても必須ではなく、これらを省略して、ＥＤＵ１００からの通電検出信号ＩＮＪＦを直接ＣＰＵ３１に入力するようにしてもよい。
【０１３７】
つまり、ＣＰＵ３１において、結果として、噴射指令ＴＱ、駆動信号ＩＪＴ、及び通電検出信号ＩＮＪＦの三者比較に基づく異常検出を行うことができる限り、これら３つの信号をそれぞれどのように処理してＣＰＵ３１へ入力するかについては特に限定されるものではない。
【０１３８】
また、上記各実施形態では、エンジンＥＣＵとＥＤＵとが別体化された構成の燃料噴射制御システムを示したが、このようにエンジンＥＣＵとＥＤＵを別体化することは必須ではなく、両者が一体化された構成、即ちエンジンＥＣＵにＥＤＵが内蔵された構成であっても、本発明を適用できる。
【０１３９】
また、上記各実施形態では、ディーゼルエンジンの燃料噴射を制御する燃料噴射制御システムを例に挙げて説明したが、制御対象がディーゼルエンジンのインジェクタであることもあくまでも一例に過ぎない。
【符号の説明】
【０１４０】
１０…車載バッテリ、１１，３１…ＣＰＵ、１２，３２…出力回路、１３，１４…入力回路、２１，２２…波形成形回路、４１，４６…ＯＲ回路、４２，４７…遅延回路、４３，４８…ＥＸＯＲ回路、５０…昇圧回路、１００…ＥＤＵ、１０１〜１０４…インジェクタ、１０１ａ〜１０４ａ…コイル、１２０…駆動回路、１３０，１５０…エンジンＥＣＵ、Ｃ１０…第１のコンデンサ、Ｃ２０…第２のコンデンサ、ＣＯＭ１…第１コモン端子、ＣＯＭ２…第２コモン端子、Ｄ１１，Ｄ１２，Ｄ２１，Ｄ２２…ダイオード、Ｌｐ…電源ライン、Ｒ１０，Ｒ２０…電流検出抵抗、Ｔ１０，Ｔ２０，Ｔ３０，Ｔ４０…気筒選択トランジスタ、Ｔ１１，Ｔ２１…定電流トランジスタ、Ｔ１２，Ｔ２２…放電用トランジスタ
【図１】
0005594251.tif 000002
【図２】
0005594251.tif 000003
【図３】
0005594251.tif 000004
【図４】
0005594251.tif 000005
【図５】
0005594251.tif 000006
【図７】
0005594251.tif 000007
【図６】
0005594251.tif 000008