"1回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置であって、前記駆動装置は、入力される前記駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合に前記インジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されており、当該燃料噴射制御装置は、自身が生成した前記噴射指令及びその噴射指令に基づいて生成した前記駆動信号の少なくとも一方と、その駆動信号に対して前記駆動装置から入力された前記通電検出信号とを比較し、その比較結果に基づいて、前記噴射指令に対して前記インジェクタから正常なタイミングで燃料噴射が開始されない第1の異常状態、前記噴射指令に対して前記インジェクタからの燃料噴射が正常な時間行われない第2の異常状態、及び前記噴射指令に対して前記インジェクタからの燃料噴射が正常な回数行われない第3の異常状態、のうち少なくとも1つについてその発生の有無の判断である異常判断を行う、異常判断手段を備えていることを特徴とする燃料噴射制御装置。請求項1に記載の燃料噴射制御装置であって、前記異常判断手段は、次のa~cの各差異のうち少なくともいずれか1つに基づいて前記異常判断を行うことを特徴とする燃料噴射制御装置。a前記噴射指令又は前記駆動信号が示す噴射開始タイミングと前記通電検出信号が示す通電開始タイミングとの差異であるタイミング差異b前記噴射指令又は前記駆動信号が示す噴射開始から終了までの噴射時間と、前記通電検出信号が示す通電開始から終了までの通電時間との差異である駆動時間差異c前記駆動信号の論理レベルが燃料噴射を行う期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその駆動信号における1つのパルスとし、前記通電検出信号の論理レベルが前記インジェクタへの通電が行われている期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその通電検出信号における1つのパルスとして、所定の判断期間中に生成された、前記噴射指令の数又は前記駆動信号のパルス数と、前記通電検出信号のパルス数との差異であるパルス数差異請求項2に記載の燃料噴射制御装置であって、前記異常判断手段は、前記タイミング差異に基づく前記異常判断を行い、そのタイミング差異が予め設定されたタイミング差異閾値を超えていた場合に、前記第1の異常状態である旨を判断することを特徴とする燃料噴射制御装置。請求項2又は請求項3に記載の燃料噴射制御装置であって、前記異常判断手段は、前記駆動時間差異に基づく前記異常判断を行い、その駆動時間差異が予め設定された時間差許容範囲内に入っていない場合に、前記第2の異常状態である旨を判断することを特徴とする燃料噴射制御装置。請求項2~請求項4の何れか1項に記載の燃料噴射制御装置であって、前記異常判断手段は、前記パルス数差異に基づく前記異常判断を行い、そのパルス数差異が0ではなかった場合に、前記第3の異常状態である旨を判断することを特徴とする燃料噴射制御装置。請求項1~請求項5の何れか1項に記載の燃料噴射制御装置であって、前記噴射指令を生成する噴射指令生成手段と、前記噴射指令生成手段が生成した前記噴射指令に基づいて前記駆動信号を生成する駆動信号生成手段と、を備え、前記異常判断手段は、前記噴射指令生成手段が生成した前記噴射指令、その噴射指令に基づいて前記駆動信号生成手段が生成した前記駆動信号、及びその駆動信号に対して前記駆動装置から入力された前記通電検出信号、の三者を比較する三者比較を行って、その三者比較の結果に基づいて前記異常判断を行い、その異常判断として更に、何れかの前記異常状態が生じている場合にその異常状態を生じさせている原因となっている箇所の特定も行うことを特徴とする燃料噴射制御装置。請求項6に記載の燃料噴射制御装置であって、前記駆動信号と前記通電検出信号との排他的論理和を演算してその演算結果を示すパルス状の排他的論理和信号を出力する排他的論理和出力手段を備え、前記異常判断手段は、前記三者比較を、前記排他的論理和出力手段からの前記排他的論理和信号と前記通電検出信号とを比較することにより行うことを特徴とする燃料噴射制御装置。請求項7に記載の燃料噴射制御装置であって、前記駆動装置から入力された前記通電検出信号を所定の信号遅延時間だけ遅延させる遅延手段を備え、前記排他的論理和出力手段は、前記三者比較を、前記遅延手段により遅延された後の前記通電検出信号と前記駆動信号とを比較することにより行うことを特徴とする燃料噴射制御装置。請求項1~請求項8の何れか1項に記載の燃料噴射制御装置であって、前記駆動装置を内蔵することによりその駆動装置と一体化されて構成されていることを特徴とする燃料噴射制御装置。請求項1~請求項8の何れか1項に記載の燃料噴射制御装置と、前記駆動装置と、を備えたことを特徴とする燃料噴射制御システム。しかし、特許文献1に記載の技術は、単に、ECUからの駆動信号の終了タイミングとインジェクタの通電遮断タイミングとが合致したか否かの判定結果がECUへ入力されるだけであり、ECUは、その判定結果に基づく異常有無判定程度しかできない。そのため、例えば、燃料噴射が正常なタイミングで開始されたか、正常な時間噴射されたか、或いは正常な回数噴射されたか、などといったより具体的な異常内容までは判定できない。一方、自動車の電子制御装置に対しては、上述した具体的な異常内容まで判定できるようにすることが望ましく、今後は、機能安全上からもそういったより具体的な異常内容まで検出できるよう要求されることが予想される。即ち、上記例示した各種異常内容は、ECUやEDU駆動回路を構成する各種電子部品電子回路やインジェクタ以下まとめて電子部品等と言うの誤動作や異常によって生じうるものであり、よってそうした電子部品等の誤動作や異常を想定した、より具体的な異常検出が今後は求められる。本発明は上記課題に鑑みなされたものであり、インジェクタの動作を制御する燃料噴射制御装置において、インジェクタの駆動が正常に行われない異常が生じた場合にその異常の具体的な内容を判断できるようにすることを目的とする。上記課題を解決するためになされた請求項1に記載の発明は、1回の噴射毎にその噴射期間を示す噴射指令を生成し、その噴射指令に基づき、燃料噴射を行う期間と行わない期間とで論理レベルが反転するようなパルス状の駆動信号を生成して、その駆動信号を、インジェクタを駆動するための駆動装置へ出力することによって、そのインジェクタを駆動させて内燃機関へ燃料を噴射させるよう構成された燃料噴射制御装置である。駆動装置は、入力される駆動信号の論理レベルが燃料噴射を行う期間を示すレベルである場合にインジェクタへの通電を行うことによって、そのインジェクタを開弁させて内燃機関へ燃料を噴射させるよう構成され、且つ、そのインジェクタに流れる電流を検出することによりそのインジェクタへの通電が行われているか否かを判断して、通電が行われている期間と行われていない期間とで論理レベルが反転するようなパルス状の通電検出信号を当該燃料噴射制御装置へ出力するよう構成されている。そして、当該燃料噴射制御装置は、自身が生成した前記噴射指令及びその噴射指令に基づいて生成した駆動信号の少なくとも一方と、その駆動信号に対して駆動装置から入力された通電検出信号とを比較し、その比較結果に基づいて、第1~第3の異常状態のうち少なくとも1つについてその発生の有無の判断を行う、異常判断手段を備えている。各異常状態のうち第1の異常状態は、噴射指令に対してインジェクタから正常なタイミングで燃料噴射が開始されない異常状態であり、第2の異常状態は、噴射指令に対してインジェクタからの燃料噴射が正常な時間行われない異常状態であり、第3の異常状態は、噴射指令に対してインジェクタからの燃料噴射が正常な回数行われない異常状態である。尚、以下の説明では、説明の便宜上、噴射指令及駆動信号の少なくとも一方を、制御側信号とも称する。このように構成された燃料噴射制御装置によれば、自身が生成した制御側信号と、この制御側信号に対して駆動装置から入力された通電検出信号とを比較することで異常判断を行うため、当該燃料噴射制御装置或いは駆動装置等に何らかの異常例えば装置を構成する電子部品や電子回路の誤動作異常等が生じて燃料噴射が正常に行われない異常状態になったとしても、第1~第3の異常状態のうち少なくとも1つを判断することができる。そのため、その異常判断結果どの異常状態が発生したかに応じた適切な処置例えばフェールセーフ処理等を行うようにすることができる。異常判断手段が制御側信号と通電検出信号とを具体的にどのように比較して異常判断を行うかについては種々考えられるが、例えば請求項2に記載のように、次のa~cの各差異のうち少なくともいずれか1つに基づいて異常判断を行うようにするとよい。a噴射指令又は駆動信号が示す噴射開始タイミングと通電検出信号が示す通電開始タイミングとの差異であるタイミング差異b噴射指令又は駆動信号が示す噴射開始から終了までの噴射時間と、通電検出信号が示す通電開始から終了までの通電時間との差異である駆動時間差異c駆動信号の論理レベルが燃料噴射を行う期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその駆動信号における1つのパルスとし、通電検出信号の論理レベルがインジェクタへの通電が行われている期間を示すアクティブレベルに変化する毎にそのアクティブレベルとなっている時間をその通電検出信号における1つのパルスとして、所定の判断期間中に生成された、噴射指令の数又は駆動信号のパルス数と、通電検出信号のパルス数との差異であるパルス数差異このように構成された燃料噴射制御装置では、例えばタイミング差異に基づく異常判断を行うようにすれば、インジェクタからの燃料噴射が正常なタイミングで開始されたか否か、即ち第1の異常状態の有無を判断できる。また例えば、駆動時間差異に基づく異常判断を行うようにすれば、燃料噴射が正常な時間行われたか否か、即ち第2の異常状態の有無を判断できる。また例えば、パルス数差異に基づく異常判断を行うようにすれば、燃料噴射が正常な回数行われたか否か、即ち第3の異常状態の有無を判断できる。ここで、異常判断手段が上記aのタイミング差異に基づく異常判断を行う場合は、より具体的には、例えば請求項3に記載のように構成することができる。即ち、異常判断手段は、タイミング差異に基づく異常判断を行い、そのタイミング差異が予め設定されたタイミング差異閾値を超えていた場合に、第1の異常状態である旨を判断する。制御側信号が示す噴射開始タイミングと、通電検出信号がアクティブレベルとなるタイミングとの時間差は、通常、当該燃料噴射制御装置における駆動信号を生成出力するための具体的構成や、駆動装置における通電検出信号を生成出力するための具体的構成、インジェクタの特性などによって、一意的に決まる。そのため、その一意的に決まる時間差をもとにタイミング差異閾値を適宜設定し、そのタイミング差異閾値を判断基準として異常判断を行うことで、燃料噴射が正常なタイミングで開始されたか否かを適切に判断することができる。また、異常判断手段が上記bの駆動時間差異に基づく異常判断を行う場合は、より具体的には、例えば請求項4に記載のように構成することができる。即ち、異常判断手段は、駆動時間差異に基づく異常判断を行い、その駆動時間差異が予め設定された時間差許容範囲内に入っていない場合に、第2の異常状態である旨を判断する。制御側信号が示す噴射時間と、通電検出信号が示す通電時間との時間差も、上記の開始タイミングの時間差と同様、上述した各具体的構成やインジェクタ特性等によって一意的に決まる。そのため、その一意的に決まる時間差をもとに時間差許容範囲を適宜設定し、その時間差許容範囲を判断基準として異常判断を行うことで、燃料噴射が正常な時間行われたか否か換言すれば、噴射時間が正常な時間よりも増大又は減少していないか否かを適切に判断することができる。また、異常判断手段が上記cのパルス数差異に基づく異常判断を行う場合は、より具体的には、例えば請求項5に記載のように構成することができる。即ち、異常判断手段は、パルス数差異に基づく異常判断を行い、そのパルス数差異が0ではなかった場合に、第3の異常状態である旨を判断する。正常であれば、1回の噴射毎に、噴射指令が1つ生成され、その噴射指令に基づいて駆動信号が1パルス生成され、その駆動信号に対して通電検出信号が1パルス生成されるはずであり、よって、判断期間の長さにかかわらず、パルス数差異は0となるはずである。そのため、所定の判断期間中のパルス数差異が0であるか否かによって異常判断を行うことで、燃料噴射が正常な回数行われたか否か換言すれば、制御側信号に対して燃料噴射が行われないことがあったか否か、或いは意図しない噴射誤噴射が行われたか否かを適切に判断することができる。次に、請求項6に記載の発明は、請求項1~請求項5の何れか1項に記載の燃料噴射制御装置であって、噴射指令を生成する噴射指令生成手段と、この噴射指令生成手段が生成した噴射指令に基づいて駆動信号を生成する駆動信号生成手段とを備えている。そして、異常判断手段は、噴射指令生成手段が生成した噴射指令、その噴射指令に基づいて駆動信号生成手段が生成した駆動信号、及びその駆動信号に対して駆動装置から入力された通電検出信号、の三者を比較する三者比較を行って、その三者比較の結果に基づいて異常判断を行い、その異常判断として更に、何れかの前記異常状態が生じている場合にその異常状態を生じさせている原因となっている箇所以下、故障箇所とも言うの特定も行う。このように構成された燃料噴射制御装置では、例えば、噴射指令に対して通電検出信号が正常でなかった場合に、駆動信号生成手段から出力されている駆動信号が正常でなかったならば、当該燃料噴射制御装置側に何らかの異常例えば駆動信号生成手段の異常が発生している可能性が高いことが予想される。逆に、例えば、噴射指令に対して駆動信号は正常に生成されているにもかかわらず駆動装置からの通電検出信号が正常でなかったならば、駆動装置側駆動装置、駆動装置からインジェクタへの通電経路、或いはインジェクタ等に何らかの異常が発生している可能性が高いことが予想される。つまり、噴射指令、駆動信号、及び通電検出信号の三者を比較することで、異常状態の有無に加えてその異常状態を生じさせている原因となっている故障箇所まである程度特定できるのである。そのため、異常状態が生じた場合に、正常な状態に戻すための処置例えば故障箇所の部品交換、修理などを迅速に行うことができる。ここで、異常判断手段による三者比較は、噴射指令、駆動信号、及び通電検出信号の三者を個々に直接比較することにより行うようにしても良いが、例えば請求項7に記載のように行うようにすることもできる。即ち、駆動信号と通電検出信号との排他的論理和を演算してその演算結果を示すパルス状の排他的論理和信号を出力する排他的論理和出力手段を備える。そして、異常判断手段は、上記三者比較を、排他的論理和出力手段からの排他的論理和信号と通電検出信号とを比較することにより行う。駆動信号がアクティブレベルとなるタイミングと、通電検出信号がアクティブレベルとなるタイミングとは、実際上は、駆動装置における通電検出信号を生成出力するための具体的構成やインジェクタ特性などによって、完全には一致せず、駆動信号がアクティブレベルになるタイミングに対して通電検出信号がアクティブレベルとなるタイミングは若干ながら遅れが生じる。噴射終了時における、駆動信号が示す噴射終了タイミングに対する、通電検出信号がアクティブレベルから反転するタイミングについても同様である。そこで、駆動信号と通電検出信号に上記のような遅れが生じることを利用して、両者の排他的論理和を演算する。駆動信号又は通電検出信号の何れか一方でも異常になると、両者の排他的論理和も当然ながら正常状態とは異なるものとなる。そのため、排他的論理和信号に基づいて異常判断を行うことができる。このように構成された燃料噴射制御装置によれば、異常判断手段は、排他的論理和信号と通電検出信号との比較を行うことで実質的には上記三者比較を行うことになるため、異常判断手段の構成や判断処理負荷を簡素化できる。特に、異常判断手段が例えばマイクロコンピュータで構成されている場合、駆動信号と通電検出信号を個別に入力するようにすると個別に入力ポートが必要になるが、上記のように排他的論理和出力手段を備えるようにすれば、これら2つの信号の各入力ポートに代えて排他的論理和信号の入力ポートが1つあればよいため、入力ポートの使用数増加を抑制することも可能となる。また、上記のように排他的論理和出力手段を備えた燃料噴射制御装置は、更に、例えば請求項8に記載のように構成するとよい。即ち、駆動装置から入力された通電検出信号を所定の信号遅延時間だけ遅延させる遅延手段を備える。そして、排他的論理和出力手段は、上記三者比較を、遅延手段により遅延された後の通電検出信号と駆動信号とを比較することにより行う。上記の通り、駆動信号と通電検出信号とは実際上はずれ遅れが生じるものの、そのずれは、意図的に発生させているものではなく、各装置の構成やインジェクタ特性等に起因するものであるため、ごく短い時間である場合が多く、そのずれが排他的論理和出力手段において反映されない排他的論理和信号の論理レベルが変化しないおそれがある。そこで、遅延手段によって通電検出信号を意図的に遅延させ、これにより、駆動信号が論理反転してからそれに追随して通電検出信号が論理反転するまでの時間差遅延時間を適切に確保するようにすることで、排他的論理和信号を適切に生成することができ、ひいては三者比較に基づく異常判断を確実に行うことができる。次に、請求項9に記載の発明は、請求項1~請求項8の何れか1項に記載の燃料噴射制御装置であって、駆動装置を内蔵することによりその駆動装置と一体化されて構成されている。このように、駆動装置が燃料噴射制御装置に一体化された構成であっても、上述した各効果を得ることができる。次に、請求項10に記載の発明は、請求項1~請求項8の何れか1項に記載の燃料噴射制御装置と、駆動装置と、を備えたことを特徴とする燃料噴射制御システムである。このように構成された燃料噴射制御システムによれば、燃料噴射制御装置が、自身が生成した制御側信号と駆動装置からの通電検出信号に基づいて上記異常判断を行うため、請求項1~請求項8と同様の効果を得ることができる。以下に、本発明の好適な実施形態を図面に基づいて説明する。[第1実施形態]まず図1は、第1実施形態の燃料噴射制御システムの概略構成を表す構成図である。図1に示すように、本実施形態の燃料噴射制御システムは、車両に搭載された多気筒この例では4気筒エンジンの各気筒♯1~♯4に燃料を噴射供給する4個のインジェクタ電磁弁101,102,103,104を駆動するものであり、詳しくは、その各インジェクタ101~104のコイル101a,102a,103a,104aへの通電開始タイミング及び通電時間を制御することにより、各気筒♯1~♯4への燃料噴射時期及び燃料噴射量を制御する。この燃料噴射制御システムは、入力される駆動信号IJTに基づいて各インジェクタ101~104への通電を行うEDU駆動ユニット100と、このEDU100へ駆動信号IJTを出力することにより各インジェクタ101~104への通電を制御するエンジンECU130とを備えてなるものである。尚、本実施形態のエンジンはディーゼルエンジンであって、高圧燃料をコモンレール蓄圧室に蓄圧してこれを各インジェクタから各気筒に噴射するよう構成された、いわゆるコモンレールシステムが構築されており、このコモンレールシステムがエンジンECU130によって制御される。コモンレールシステムはよく知られているため、ここではその詳細についての説明及び図示は省略する。また、各インジェクタ101~104は、常閉式の電磁弁により構成されており、コイル101a~104aに通電されると開弁して燃料噴射を行う。また、コイル101a~104aへの通電が遮断されると閉弁して燃料噴射を停止する。ここで、本実施形態では、全4気筒分のインジェクタ101~104を2気筒ずつ2つのグループに分け、気筒♯1,♯3の各インジェクタ101,103を第1グループとして、それらのコイル101a,103aの上流側の一端をEDU100の第1コモン端子COM1に接続し、気筒♯2,♯4の各インジェクタ102,104を第2グループとして、それらのコイル102a,104aの上流側の一端をEDU100の第2コモン端子COM2に接続している。尚、各グループは、同時に駆動されることがないインジェクタ同士で構成している。各コイル101a~104aの下流側の端部は、EDU100の端子INJ1,INJ2,INJ3,INJ4を介して気筒選択用のトランジスタ以下気筒選択トランジスタというT10,T20,T30,T40の一方の出力端子にそれぞれ接続されている。そして、それら各気筒選択トランジスタT10~T40の他方の出力端子は、インジェクタの各グループ毎に電流検出抵抗R10,R20を介してグランドラインに接続接地されている。このため、気筒♯1,♯3に対応した各気筒選択トランジスタT10,T30を介してインジェクタ101,103のコイル101a,103aに流れる電流第1駆動電流が、電流検出抵抗R10に生じる電圧として検出され、気筒♯2,♯4に対応した各気筒選択トランジスタT20,T40を介してインジェクタ102,104のコイル102a,104aに流れる電流第2駆動電流が、電流検出抵抗R20に生じる電圧として検出される。尚、以下の説明では、第1駆動電流及び第2駆動電流について、特に区別する必要がない場合は、単に駆動電流と称することもある。また、この例において、EDU100内にスイッチング素子として設けられているトランジスタは、全てMOSFETである。また、EDU100には、上記各気筒選択トランジスタT10~T40及び各電流検出抵抗R10,R20に加えて、定電流制御用のトランジスタ以下定電流トランジスタというT11,T21と、放電用のトランジスタ以下放電用トランジスタというT12,T22と、4つのダイオードD11,D12,D21,D22と、2つのコンデンサ放電用コンデンサC10,C20と、直流電源としての車載バッテリ10の直流電圧バッテリ電圧VB本例では例えば12Vを昇圧して、そのバッテリ電圧VBよりも高い電圧を生成して各コンデンサC10,C20を規定充電電圧例えば50Vに充電する昇圧回路DC-DCコンバータ50と、上記各トランジスタ及び昇圧回路50を制御する駆動回路120とが備えられている。駆動回路120は、エンジンECUから入力される各気筒♯1~♯4毎の駆動信号IJT1~IJT4に基づき、各気筒選択トランジスタT10~T40のゲートへ、対応する駆動信号と同じ論理レベルの気筒選択信号SL1~SL4を出力する。この駆動信号IJT1~IJT4は、その信号のレベルがハイレベルHレベルの間だけインジェクタ101~104のコイル101a~104aに通電するつまり、インジェクタ101~104を開弁させる、という意味を持っている。そのため、例えば、気筒♯1に対応した駆動信号IJT1がローレベルLレベルの間は、駆動回路120は対応する気筒選択トランジスタT10へLレベルの気筒選択信号SL1を出力してこの気筒選択トランジスタT10をオフさせ、逆にその駆動信号IJT1がHレベルの間は、駆動回路120は対応する気筒選択トランジスタT10へHレベルの気筒選択信号SL1を出力してこの気筒選択トランジスタT10をオンさせる。また、EDU100において、第1の放電用トランジスタT12は、第1のコンデンサC10から第1コモン端子COM1に接続されている第1グループのコイル101a,103aへ放電させるために設けられており、第2の放電用トランジスタT22は、第2のコンデンサC20から第2コモン端子COM2に接続されている第2グループのコイル102a,104aへ放電させるために設けられている。更に、EDU100において、第1の定電流トランジスタT11は、第1グループのコイル101a,103aに一定の電流保持電流を流すために設けられており、気筒♯1に対応した気筒選択トランジスタT10又は気筒♯3に対応した気筒選択トランジスタT30の何れかがオンされている状態で、その第1の定電流トランジスタT11がオンされると、各気筒選択トランジスタT10,T30のうちでオンされている方に接続されているコイル101a又は103aに、電源ラインLpから逆流防止用のダイオードD11を介して電流が流れる。尚、ダイオードD12は、コイル101a、103aに対する定電流制御のための帰還ダイオードであり、各気筒選択トランジスタT10,T30の何れかがオンされている状態で第1の定電流トランジスタT11がオンからオフされた時に、コイル101a,103aに電流を還流させるものである。同様に、第2の定電流トランジスタT21は、第2グループのコイル102a,104aに一定の電流保持電流を流すために設けられており、気筒♯2に対応した気筒選択トランジスタT20又は気筒♯4に対応した気筒選択トランジスタT40の何れかがオンされている状態で、その第2の定電流トランジスタT21がオンされると、各気筒選択トランジスタT20,T40のうちでオンされている方に接続されているコイル102a又は104aに、電源ラインLpから逆流防止用のダイオードD21を介して電流が流れる。尚、ダイオードD22は、コイル102a、104aに対する定電流制御のための帰還ダイオードであり、各気筒選択トランジスタT20,T40の何れかがオンされている状態で第2の定電流トランジスタT21がオンからオフされた時に、コイル102a,104aに電流を還流させるものである。尚、各定電流トランジスタT11,T21は、それぞれ駆動回路120によってオン/オフ制御され、このオン/オフ制御により上記保持電流が流れる。また、駆動回路120は、第1グループのインジェクタ101,103に流れる電流である第1駆動電流を波形成形してパルス状の信号である第1通電検出信号INJF1を生成する波形成形回路21と、第2グループのインジェクタ102,104に流れる電流である第2駆動電流を波形成形してパルス状の信号である第2通電検出信号INJF2を生成する波形成形回路22とを備えている。尚、以下の説明では、第1通電検出信号INJF1及び第2通電検出信号INJF2について、特に区別する必要がない場合は、単に通電検出信号INJFと称することもある。各波形成形回路21,22に入力される駆動電流は、図2の三段目に例示するような波形となっている。そこで、各波形成形回路21,22は、その入力波形に対して閾値を設定して、通電されているかどうかを判断し、通電中はLレベルON、非通電中はHレベルOFFとなるようなパルス状の通電検出信号INJFを生成する図2の四段目参照。即ち、この通電検出信号INJFは、非通電時はHレベルOFFで、通電開始後、駆動電流が所定のON閾値を超えたら通電されているものとしてLレベルONとなり、その後駆動電流が所定のOFF閾値<ON閾値を下回ったらHレベルOFFとなるようなパルス信号である。そして、各波形成形回路21,22で生成された通電検出信号INJFは、エンジンECU130へ出力される。エンジンECU130は、CPU11、出力回路12,及び2つの入力回路13,14を備えている。CPU11は、例えばエンジン回転数、アクセル開度、エンジン水温、コモンレール内のレール圧などの各種のエンジン運転情報に基づき、各種制御プログラム図示しないメモリに格納を実行することで、各気筒♯1~♯4毎に、パルス状の信号である噴射指令TQ1~TQ4を生成して出力回路12へ出力する。そして、出力回路12は、CPU11から入力された各噴射指令TQ1~TQ4毎に、それぞれ、その噴射指令に対応した同じタイミングでレベル変化するようなパルス信号である各駆動信号IJT1~IJT4を生成し、EDU100へ駆動回路120へ出力する。尚、以下の説明では、各噴射指令TQ1~TQ4及び各駆動信号IJT1~IJT4について、特に区別する必要がない場合は、それぞれ単に噴射指令TQ,駆動信号IJTと称することもある。噴射指令TQは、図2の一段目に例示するように、1回の噴射毎に1つ1パルス生成される。即ち、CPU11は、各気筒♯1~♯4の各コイルへの通電開始タイミング放電開始タイミング及び通電時間を制御することにより、各インジェクタ101~104を所定の順序でそれぞれ所定期間上記通電時間開弁させる。そのため、ある気筒についてそのインジェクタを開弁させるタイミング即ち噴射開始タイミングが到来すると、CPU11は、その気筒に対応した噴射指令TQをHレベルに立ち上げることによりONさせる時刻t1。そして、所定の噴射時間が経過すると、噴射指令TQをLレベルに立ち下げることによりOFFさせる時刻t3。この噴射指令TQに対し、出力回路12は、図2の二段目に示すように、入力された噴射指令TQと同じタイミングでレベル変化する駆動信号IJTを生成する。つまり、1回の噴射毎に1つ1パルスの駆動信号IJTがEDU100へ出力される。尚、回路構成によっては、噴射指令TQに対し、駆動信号IJTは、厳密には微小なずれ遅れが発生し得るが、そのずれは無視しうる程度のものであるため、本実施形態では、噴射指令TQとこれに対する駆動信号IJTは同じタイミングで変化するパルス信号であるものとして扱う。各入力回路13,14は、EDU100の駆動回路120から入力される通電検出信号INJF1,2を中継してCPU11へ出力するためのインターフェイス機能を有するものであり、通電検出信号INJFと同じタイミングでレベル変化するようなパルス信号をCPU11へ出力する。そのため、説明の便宜上、CPU11には各入力回路13を経由して各通電検出信号INJF1,2が入力される、と捉えても差し支えない。このように、CPU11は、各気筒♯1~♯4それぞれについて、1回の噴射毎に噴射指令TQを生成し、その噴射指令TQに対して出力回路12が駆動信号IJTを生成してEDU100の駆動回路120へ出力する。一方、EDU100の駆動回路120は、何れかの気筒に対応した駆動信号IJTがHレベルに立ち上がると図2の時刻t1、対応する気筒の気筒選択信号SLをHレベルにすることで、対応する気筒選択トランジスタT10又はT20をONさせると共に、対応する放電用トランジスタT12又はT22をONさせる。これにより、対応するコンデンサC10又はC20から対応する気筒のインジェクタへの放電が開始され、図2の三段目に示すように、駆動電流が流れ始める。放電開始後、駆動電流が所定のON閾値を超えると時刻t2、通電検出信号INJFはHレベルOFFからLレベルONに立ち下がる。そして、その駆動電流が一定量流れると例えば電流値が所定の電流閾値まで到達すると、駆動回路120は、対応する放電用トランジスタをOFFさせてコンデンサからの放電を停止し、対応する定電流トランジスタT11又はT21をON/OFF制御することで、インジェクタへ一定の保持電流を通電させて開弁状態を保持させる。尚、駆動回路120は、第1コンデンサC10又は第2コンデンサC20の何れかからの放電が行われる毎に、その放電停止後、次の放電が開始されるまでの間に、昇圧回路50を動作させて各コンデンサC10,C20の充電を行わせ、各コンデンサC10,C20を規定充電電圧まで充電する。そして、所定の噴射時間通電時間が経過したことによってエンジンECU130からの駆動信号IJTがLレベルOFFに立ち下がると、駆動回路120は、定電流トランジスタT11又はT12のON/OFF制御を停止して完全にOFFさせると共に対応する気筒選択信号SLをLレベルにすることで、インジェクタへの通電を停止させる。これにより、時刻t3以後、駆動電流は低下していき、やがて0になる。その低下の過程で、駆動電流が所定のOFF閾値を下回ると時刻t4、通電検出信号INJFはHレベルOFFに立ち上がる。このように、エンジンECU130のCPU11が、ある気筒に対する噴射指令TQを1つ1パルス生成する毎に、対応する気筒のインジェクタによる一回の燃料噴射が行われるのである。このように構成された本実施形態の燃料噴射制御システムにおいて、エンジンECU130は、更に、燃料噴射が正常に行われたか否か、また、正常に行われない異常状態である場合には具体的にどういった内容の異常状態となっているのか、を検出する、異常検出機能を備えている。具体的には、CPU11が、自身が生成した噴射指令TQと、その噴射指令TQに対してEDU100から入力された通電検出信号INJFとを比較波形比較して、両者の相違に基づき、三種類の異常状態を判断する。三種類の異常状態のうち1つは、噴射開始タイミングの異常である。燃料噴射制御システムが正常ならば、図2に示したように、CPU11が噴射指令TQを出力ONすると時刻t1、その噴射指令に対し、所定時間遅れて通電検出信号INJFもONする時刻t2。そして、噴射指令TQがONしてから通電検出信号INJFがONするまでの時間差t2-t1であるONタイミング差Tsは、駆動電流を通電検出信号INJFに波形成形する際のON閾値INJFの立ち下がりタイミングを決める閾値の他、波形成形回路21,22内の出力段に設けられたRCフィルタローパスフィルタのフィルタ定数や、アクチュエータインジェクタの特性、駆動電圧インジェクタに印加される電圧などの各種要因によって一意的に決まる。尚、図2に示す波形は、上記各種要因のうち、ON閾値以外の要因による遅れ分については説明の便宜上省略しているが、実際には、噴射指令TQが立ち上がった時刻t1から、上記各種要因による時間だけ遅れた後の時刻t2にて通電検出信号INJFが立ち下がることになる。そこで、正常時におけるその一意的に決まる時間差よりもある程度大きい一定時間を異常判断用のタイミング差異閾値として予め設定しておき、ONタイミング差Tsがそのタイミング差異閾値以内であるか否かに基づいて、噴射開始タイミングの異常の有無を判断する。即ち、ONタイミング差Tsがタイミング差異閾値より大きければ、噴射開始タイミングが正常時よりも遅れるような異常が生じているものと判断する。三種類の異常状態のうち他の1つは、噴射時間の異常である。燃料噴射制御システムが正常ならば、図2に示したように、噴射指令TQがONしている時間噴射指令TQのパルス幅、即ち噴射指令TQが立ち上がってから再び立ち下がるまでの時間であるON時間T1と、通電検出信号INJFがONしている時間通電検出信号INJFのパルス幅であり、立ち下がってから再び立ち上がるまでの時間であるON時間T2との差は、上述した各種要因によって一意的に決まる。そこで、正常時において一意的に決まる、噴射指令TQのON時間T1パルス幅と通電検出信号INJFのON時間T2パルス幅との時間差をもとに、その時間差を含む所定の時間差許容範囲を予め設定しておく。そして、ON時間T1とON時間T2の時間差がその時間差許容範囲内にあるか否かに基づいて、噴射時間の異常を判断する。即ち、ON時間T1とON時間T2の時間差が時間差許容範囲より大きければ噴射時間が正常時よりも増大即ち噴射量が正常時より増大するような異常が生じており、逆に時間差許容範囲より小さければ噴射時間が正常時よりも短くなる即ち噴射量が正常時より減少するような異常が生じているものと判断する。三種類の異常状態のうちもう1つは、噴射回数の異常である。燃料噴射システムが正常ならば、所定の時間内における、噴射指令TQのパルス数と通電検出信号INJFのパルス数とは同一となるはずである。そこで、所定の判断期間例えば噴射指令TQが複数生成される程度の所定期間を適宜設定し、その判断期間中に両者のパルス数を比較して、同一か否か換言すれば、両者のパルス数の差が0か否かに基づいて、噴射回数の異常を判断する。即ち、噴射指令TQのパルス数よりも通電検出信号INJFのパルス数が多い場合は、意図しない噴射誤噴射が行われたものと判断し、逆に通電検出信号INJFのパルス数が少なければ、正常に噴射されないこと失火が発生したものと判断する。上述した三種類の異常状態の有無の判断は、CPU11が、図示しないROMに格納されている異常検出処理プログラムを実行することにより実現される。図3に、その異常検出処理のフローチャートを示す。この異常検出処理は、本実施形態では、各入力回路13,14からの各通電検出信号INJF1,2毎に即ち、第1グループ及び第2グループの各グループ毎に個別に実行されるものであり、且つ、各グループそれぞれ、噴射指令TQが出力される毎に即ち1パルス出力される毎に次の噴射指令TQが立ち上がるまでの間の所定のタイミングで、順次、その出力された噴射指令TQを対象に実行されるものである。尚、この異常検出処理と並行して、噴射指令TQと通電検出信号INJFそれぞれのパルス数を気筒毎に個別に累積カウントする処理も実行される。また、その累積カウントを行う累積期間は、適宜設定することができる。CPU11は、何れかの気筒に対する噴射指令TQを出力したことにより、その噴射を対象としてこの異常検出処理を開始すると、まずS110にて、その気筒について現在累積カウントされている噴射指令TQのパルス数と通電検出信号INJFのパルス数が同一か否かを判断する。そして、同一でなければS110:NO、S160にて、噴射指令TQのパルス数が通電検出信号INJFのパルス数より大きいか否かを判断する。そして、噴射指令TQのパルス数の方が大きい場合はS160:YES、S170にて、噴射指令TQに対してインジェクタへの通電が行われない即ち燃料噴射が行われない失火が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。逆に、通電検出信号INJFのパルス数の方が大きい場合はS160:NO、S180にて、誤噴射意図しない噴射が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。一方、各パルス数が同一ならばS110:YES、S120に進み、噴射指令TQの立ち上がりON後、タイミング差異閾値以内に通電検出信号INJFの立ち下がりONがあったか否か、即ち、ONタイミング差Tsがタイミング差異閾値以内であるか否かを判断する。そして、タイミング差異閾値以内に通電検出信号が立ち下がらなかった場合はS120:NO、S130にて、噴射タイミングが異常である旨の判定を行い、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。一方、タイミング差異閾値以内に通電検出信号が立ち下がった場合はS120:YES、S140に進み、噴射指令TQのパルス幅ON時間T1と通電検出信号INJFのパルス幅ON時間T2との差が時間差許容範囲内であるか否かを判断する。そして、時間差許容範囲内であったならばS140:YES、異常はなかったものとして本処理を終了するが、時間差許容範囲内ではなかった場合はS140:NO、S150にて、噴射量が増大又は減少するような異常が発生したものと判断し、例えばその旨のダイアグ記録を行うなどの所定の処理を行った上で、この異常検出処理を終了する。尚、CPU11は、例えば噴射指令TQがONしている間に通電検出信号INJFがONしないTQがOFFした後にINJFがONするなどのような、噴射指令TQに対して通電検出信号INJFの遅れが大きすぎる場合には、上記異常検出処理を停止し、ダイアグ記録やユーザに対する何らかの注意喚起例えば点検を促す表示をするなどを行う。以上説明したように、本実施形態の燃料噴射制御システムでは、エンジンECU130のCPU11が、自身が生成した噴射指令TQと、その噴射指令TQに対してEDUから入力される通電検出信号INJFとを波形比較することで、燃料噴射が正常に行われているか否かの判断を行う。そのため、異常の有無が判断できるのはもちろん、異常が生じている場合に、具体的に上記三種類の異常状態のうちいずれの異常状態となっているかを判定することができ、ユーザは異常状態の内容をより具体的に知ることができる。そのため、異常が生じた場合にその異常を解消するための対応を迅速且つ適切に行うことができる。また、その三種類の異常状態の判断は、それぞれ、噴射指令TQと通電検出信号INJFのパルス数が同一か否か、ONタイミング差Tsがタイミング差異閾値以内であるか否か、及び噴射指令TQのパルス幅と通電検出信号INJFのパルス幅との差が時間差許容範囲内であるか否か、によって行われるため、上記各閾値を適切に設定することで、上記三種類の異常状態の判断を適切且つ確実に行うことができる。また、異常検出を行うにあたり、EDU100は、単にインジェクタへの通電の有無を示す通電検出信号INJFを生成してエンジンECU130へ出力するだけでよく、異常検出処理そのものは、エンジンECU130側で主体的に行われる。そのため、異常検出機能搭載のためにEDU100の構成を複雑化する必要はなく、よって、簡素な構成でありながら高い異常検出性能を備えた燃料噴射制御システムを提供することができる。[第2実施形態]図4に、第2実施形態の燃料噴射制御システムの概略構成を示す。本実施形態の燃料噴射システムは、第1実施形態の燃料噴射システムと比較して、エンジンECU内の一部構成及び異常検出処理の内容が異なっており、その他のEDU100や各インジェクタ101~104の構成は第1実施形態と同じである。そのため、以下、第1実施形態と同じ構成要素についてはその説明を省略し、第1実施形態と異なる構成に絞って説明する。上記第1実施形態では、噴射指令TQと通電検出信号INJFとの波形比較によって異常の有無を判断したが、本実施形態では、これら2つの信号TQ,INJFに加え、更に、駆動信号IJTも考慮して、異常有無を判断する。つまり、本実施形態のエンジンECU150では、CPU31が、自身が生成した噴射指令TQと、その噴射指令TQに対して出力回路32が生成し出力した駆動信号IJTと、その駆動信号IJTに対してEDU100から駆動回路120から入力された通電検出信号INJFとの三者を比較波形比較する。そしてその三者比較により、上記第1実施形態と同じように異常状態の有無の判断を行うのに加え、本実施形態では更に、その異常状態を生じさせている原因となっている箇所故障箇所及びその箇所の具体的故障内容故障モードも判断する。そして、そのような高性能な異常判断機能を実現すべく、本実施形態のエンジンECU150は、図4に示すように、グループ毎に、OR回路、遅延回路、及びEXOR回路を備えている。即ち、第1グループに対しては、その第1グループに対応した各駆動信号IJT1,3を入力して両者の論理和を出力するOR回路41と、その第1グループに対応した通電検出信号INJF1を所定の信号遅延時間Tdx図5参照だけ遅延させる遅延回路42と、OR回路41の出力と遅延回路42の出力の排他的論理和EXORを演算するEXOR回路43とを備えている。そして、EXOR回路43からの出力信号であるEXOR信号がCPU31へ入力される。第2グループに対しても同様であり、その第1グループに対応した各駆動信号IJT1,3を入力して両者の論理和を出力するOR回路41と、その第1グループに対応した通電検出信号INJF1を所定の信号遅延時間Tdx図5参照だけ遅延させる遅延回路42と、OR回路41の出力と遅延回路42の出力の排他的論理和EXORを演算するEXOR回路43とを備えている。そして、EXOR回路43からの出力信号であるEXOR信号がCPU31へ入力される。第1実施形態でも説明したように、駆動信号IJTに対して通電検出信号INJFは若干遅れて入力される。また、その遅れは、上述したように、駆動回路120内のフィルタ定数やインジェクタの特性、駆動電圧などの各種要因によって一意的に決まるものである。そこで本実施形態では、駆動信号IJTと通電検出信号INJFとの間に上記のような遅れが生じることを利用して、両者の排他的論理和を演算し、その演算結果であるEXOR信号に基づいて異常判断を行う。駆動信号IJT又は通電検出信号INJFの何れか一方でも異常になると、両者の排他的論理和も当然ながら正常状態とは異なるものとなるため、EXOR信号に基づいて異常判断を行うことができるのである。但し、上述した各種要因によって生じる、駆動信号IJTと通電検出信号INJFとのずれ遅れは、設計上意図的に発生させているものではないため、場合によってはそのずれが小さくてそのずれがEXOR回路にて正しく認識されないおそれがある。そこで本実施形態では、エンジンECU150に遅延回路を設けて通電検出信号INJFを意図的に信号遅延時間Tdxだけ遅延させることで、図5の五段目に示す波形のように、駆動信号IJTと通電検出信号INJFとのずれを明確に発生させ、EXOR信号のエッジ変化を確実に発生させるようにしている。これにより、図5の六段目最下段に示すように、一回の噴射毎に2つのパルスからなるEXOR信号が生成されることとなる。尚、図5において一段目~四段目の各波形は、図2に示した各波形と全く同じである。EXOR信号を構成する2つのパルスのうち、1つ目のパルスは、噴射指令TQがHレベルに立ち上がってから通電検出信号INJF但し遅延回路出力が立ち下がるまでの間図5の時刻t1~t3にアクティブレベルLレベルとなる、パルス幅Td1のパルスであり、二つ目のパルスは、噴射指令TQがLレベルに立ち下がってから通電検出信号INJF但し遅延回路出力が立ち上がるまでの間図5の時刻t4~t6にアクティブレベルとなる、パルス幅Td2のパルスである。このように、本実施形態では、CPU31に対して駆動信号IJTと通電検出信号INJFがそれぞれ直接入力されるわけではなく、両者の排他的論理和が演算されてその演算結果であるEXOR信号が入力される。そのため、CPU31は、直接的には、自身が生成した噴射指令TQとそれに対するEXOR信号とを比較することになる。但し、EXOR信号は、駆動信号IJTと通電検出信号INJFの各波形の変化が反映されたものであり、何れかの波形に異常が生じたらその異常がEXOR信号の波形変化として反映される。そのため、CPU31は実質的には、噴射指令TQ、駆動信号IJT、及び通電検出信号INJFの三者を比較していることになる。次に、エンジンECU150のCPU31により行われる各種異常判断について説明する。CPU31は、上記の通り、三者比較によって異常判断を行うわけだが、第1実施形態と同様、燃料噴射に関する3つの異常状態の何れかの発生を判断する機能は有している。つまり、本実施形態においても、三者比較に基づき、噴射開始タイミングの異常、噴射時間の異常、及び噴射回数の異常の有無を判断することができる。これに加え、本実施形態では更に、図6に示すような10種類の故障モード異常No.1~NO.10の判定を、その故障箇所の判定と共に行うことができる。図6に示す各故障モードのうち、異常No.1は、噴射指令TQに関係なく駆動信号IJTがHレベルに固定されたままであり、よってEXOR信号もHレベル固定となっている故障モードである。この異常No.1が検出された場合は、エンジンECU150内の出力回路32の故障によって駆動信号IJTがHレベルに固着していることが予想される。またこの場合、駆動信号IJTがHレベル固着であることから、OR回路の出力もHレベル一定となるため、同一グループの他の気筒の燃料噴射時においてもEXOR信号はHレベルのままの状態となる。またこの異常No.1が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっているものと判断できる。異常No.2は、噴射指令TQに関係なく駆動信号IJTがLレベルに固定されたままであり、よってEXOR信号もHレベル固定となっている故障モードである。この異常No.2が検出された場合は、エンジンECU150内の出力回路32の故障によって駆動信号IJTがLレベルに固着していることが予想される。但しこの場合、駆動信号IJTがLレベル固着であることから、同一グループの他の気筒の燃料噴射時においては、駆動信号IJTがONすることによりEXOR信号のエッジ変化も正常に生じるはずである。そのため、EXOR信号がHレベル一定となる異常が検出された場合は、同一グループの他の気筒の燃料噴射時にEXOR信号がエッジ変化するか否かをもって、異常NNo.1と異常No.2を区別することができる。尚、異常No.2が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっているものと判断できる。異常No.3は、噴射指令TQに対し、駆動信号IJTが、その立上りタイミングは正常であるものの立下りタイミングが遅く、よってEXOR信号も2つ目のパルスの立下りが遅くなるような故障モードである。この異常No.3が検出された場合は、エンジンECU150内の出力回路32の故障によって、噴射指令TQが立ち下がっても駆動信号IJTがすぐには立ち下がらない状態になっていることが予想される。また、異常No.3が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射時間が異常増大となっているものと判断できる。異常No.4は、噴射指令TQに対し、駆動信号IJTが、その立上りタイミングは正常であるものの立下りタイミングが早くTQ立下りよりも早く、よってEXOR信号も2つ目のパルスの立下りが早くなるような故障モードである。この異常No.4が検出された場合は、エンジンECU150内の出力回路32の故障によって、噴射指令TQが立ち下がるよりも先に駆動信号IJTが立ち下がってしまうような状態になっていることが予想される。また、異常No.4が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射時間が異常減少となっているものと判断できる。異常No.5は、噴射指令TQに対し、駆動信号IJTが、そのパルス幅は正常であるものの、パルス発生タイミングが遅く即ち、立上りタイミング及び立下りタイミングがいずれも遅く、よってEXOR信号も2つのパルスの立ち下がりがいずれも遅くなるような故障モードである。この異常No.5が検出された場合は、エンジンECU150内の出力回路32の故障によって、噴射指令TQに対して駆動信号IJTが正常に追随してエッジ変化しない状態になっていることが予想される。また、異常No.5が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミングが異常遅いとなっているものと判断できる。異常No.6~異常No.10は、いずれも、エンジンECU150は正常であって制御側信号噴射指令TQ及び駆動信号IJTは正常に生成出力されたものの、EDU100側インジェクタ含むで何らかの故障等が発生していることにより生じることが予想される故障モードである。このうち、異常No.6は、制御側信号に関係なく通電検出信号INJFがHレベルに固定されたままであり、よってEXOR信号の1つ目のパルスの立上りタイミングが遅くなっている制御側信号の立ち下がり時に1つ目が立ち上がっている故障モードである。この異常No.6が検出された場合は、EDU100側の故障によって通電検出信号INJFがHレベルに固着していることが予想される。またこの異常No.6が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっている可能性がある。異常No.7は、制御側信号に関係なく通電検出信号INJFがLレベルに固定されたままであり、よってEXOR信号のエッジ変化が正常時とは逆になっていると共にそのパルス数も1つとなっている故障モードである。この異常No.7が検出された場合は、EDU100側の故障によって通電検出信号INJFがLレベルに固着していることが予想される。またこの異常No.7が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミング、噴射時間、噴射回数のいずれも異常となっている可能性がある。異常No.8は、制御側信号に対し、通電検出信号INJFが、その立下りタイミングは正常であるものの立上りタイミングが遅く、よってEXOR信号も2つ目のパルスの立上りが遅くなるような故障モードである。この異常No.8が検出された場合は、EDU100側の故障によって、制御側信号が立ち下がっても通電検出信号INJFがすぐには立ち上がらない状態になっていることが予想される。また、異常No.8が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射時間が異常増大となっている可能性がある。異常No.9は、制御側信号に対し、通電検出信号INJFが、その立下りタイミングは正常であるものの立上りタイミングが早く、よってEXOR信号も2つ目のパルスの立上りが早く且つその立上りが制御側信号の立下り直後となるような故障モードである。この異常No.9が検出された場合は、EDU100側の故障によって、制御側信号が立ち下がるよりも先に通電検出信号INJFが立ち上がってしまうような状態になっていることが予想される。また、異常No.9が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射時間が異常減少となっている可能性がある。尚、単にEXOR信号の2つ目の立ち下がりが早いというだけでは、異常No.4との区別ができないが、2つ目の立ち上がりタイミングによって、異常No.4か異常No.9かを区別することができる。即ち、EXOR信号の2つ目の立上りが制御側信号の立下り直後略同一ならば異常No.9と判断でき、そうでなければ異常No.4と判断できる。異常No.10は、制御側信号に対し、通電検出信号INJFが、そのパルス幅は正常であるものの、パルス発生タイミングが遅く即ち、立上りタイミング及び立下りタイミングがいずれも遅く、よってEXOR信号も、2つのパルスの立下りタイミングは正常であるものの立上りタイミングがいずれも遅くなるような故障モードである。この異常No.10が検出された場合は、EDU100側の故障によって、制御側信号に対して通電検出信号INJFが正常に追随してエッジ変化しない状態になっていることが予想される。また、異常No.5が検出された場合は、インジェクタの動作燃料噴射の状態として、噴射開始タイミングが異常遅いとなっているものと判断できる。次に、本実施形態のエンジンECU150においてCPU31が実行する異常検出処理について、図7のフローチャートを用いて説明する。CPU31は、図7に示す異常検出処理を、第1実施形態の異常検出処理と同じタイミングで実行する。また、第1実施形態と同様、この異常検出処理と並行して、噴射指令TQと通電検出信号INJFそれぞれのパルス数を気筒毎に個別に累積カウントする処理も実行される。CPU31は、この異常検出処理を開始すると、まずS310にて、その気筒について現在累積カウントされている噴射指令TQのパルス数と通電検出信号INJFのパルス数が同一か否かを判断する。そして、同一でなければS310:NO、S320にて、噴射指令TQのパルス数が通電検出信号INJFのパルス数より大きいか否かを判断する。そして、噴射指令TQのパルス数の方が大きい場合はS320:YES、S330にて、噴射指令TQに対してインジェクタへの通電が行われない即ち燃料噴射が行われない失火が発生したものと判断し、処理Bを実行して、この異常検出処理を終了する。ここで、この異常判定処理では、異常が検出された場合に、故障モード毎に、処理A,B,Cの何れかが実行される。このうち処理Aは、燃料が正常時よりも過剰に噴射されるおそれがあるような故障モードに対してなされる処理であり、例えば、エンジンの動作を即座に停止させ、エンジン動作を停止せざるをえないような故障が生じたことを、故障モード異常No.と共にユーザに報知する。一方、処理Bは、燃料噴射が正常時よりも少ない或いは噴射されないおそれがあるような故障モードに対してなされる処理であって、処理Cは、燃料の噴射量に異常はないものの正常なタイミングで噴射されないおそれがあるような故障モードに対してなされる処理であり、いずれも、例えば、一定の上限速度以下で一定の距離までの走行は許容しつつ、正常に走行できないような故障が生じたことを故障モード異常No.と共にユーザに報知する。S320の判断処理で、通電検出信号INJFのパルス数の方が大きいと判断された場合は、S340にて、誤噴射意図しない噴射が発生したものと判断し、処理Aを実行して、この異常検出処理を終了する。一方、各パルス数が同一ならばS310:YES、S350に進み、噴射指令TQの立ち上がりON後、再び立ち下がる前に、EXOR信号の立下りエッジを検出したか否かを判断する。このとき、当該燃料噴射システムが正常ならば、EXOR信号が立ち下がるはずであり、その場合はS410に進むが、何らかの故障によってEXOR信号の立下りエッジが検出されなかった場合はS350:NO、故障モードとして異常No.1,2,7の何れかであることが予想される。そこで更に、S360に進み、噴射指令TQの立ち上がり後、EXOR信号の立上りエッジを検出したか否かを判断する。このとき、EXOR信号の立上りエッジを検出したならば、EXOR信号はもともとLレベルとなっていて、TQ立ち上がりによってEXOR信号がHレベルに立ち上がったものと考えられる。つまり、EXOR信号のエッジ変化が正常時とは逆転しているものと考えられる。そこでこの場合は、S370にて、EDU100側において異常No.7の故障モードが生じているものと判断し、処理Aを実行して、この異常検出処理を終了する。S360にて、噴射指令TQの立ち上がり後、EXOR信号の立上りエッジも検出しなかった場合はS360:NO、故障モードとして異常No.1,2の何れかが考えられるため、更にS380にて、他の気筒の噴射時にもEXOR信号のエッジ変化が無かったのかどうかを判断する。そして、他の気筒の噴射時にもEXOR信号のエッジ変化が無かったならばS380:YES、S400にて、エンジンECU150側において異常No.1の故障モードが生じているものと判断し、処理Aを実行して、この異常検出処理を終了する。逆に、他の気筒の噴射時にはEXOR信号のエッジ変化があったならばS380:NO、S390にて、エンジンECU150側において異常No.2の故障モードが生じているものと判断し、処理Bを実行して、この異常検出処理を終了する。次に、S350にて、噴射指令TQの立ち上がりON後、再び立ち下がる前に、EXOR信号の立下りエッジを検出した場合はS350:YES、S410にて、そのEXOR信号の立下りエッジは噴射指令TQの立ち上がりタイミングから所定の第1判定時間以内に生じたか否かを判断する。当該システムが正常ならば、EXOR信号の最初の立下りエッジは、噴射指令TQの立上りとほぼ同時に生じるはずである。そこで、そのように噴射指令TQの立上りとほぼ同時にEXOR信号も立ち下がったか否かを適切に判断できるような第1判定時間を予め設定しておく。そして、その第1判定時間内にEXOR信号が立ち下がらなかったならば即ち、第1判定時間を超えてEXOR信号が立ち下がったならば、S420にて、エンジンECU150側において異常No.5の故障モードが生じているものと判断し、処理Cを実行して、この異常検出処理を終了する。一方、噴射指令TQの立上り後、第1判定時間内にEXOR信号が立ち下がった場合はS410:YES、S430に進み、噴射指令TQの立上り後、EXOR信号の立上りエッジを第2判定時間内に検出したか否かを判断する。当該システムが正常ならば、EXOR信号は、図5で説明したように、最初の立下り後、Td1だけ遅れたタイミングで立ち上がるはずである。そこで、そのように正常なタイミングでEXOR信号が立ち上がったか否かを適切に判断できるような第2判定時間を予め設定しておく。具体的には、例えば時間Td1よりも所定時間αだけ長い時間Td1αを適宜設定すればよい。そして、EXOR信号の最初の立下りからその第2判定時間内に最初の立上りエッジが検出されたならば、S470に進む。一方、噴射指令TQの立上り後即ちEXOR信号の最初の立下り後、第2判定時間内にEXOR信号の最初の立上りエッジが検出されなかった場合はS430:NO、故障モードとして、異常No.6,10の何れかが考えられる。そこで、その場合は更にS440にて、噴射指令TQが立ち下がる前にEXOR信号の立上りエッジを検出したか否かを判断する。そして、TQ立下り前にEXOR信号が立ち上がった場合はS440:YES、一応はEXOR信号が立ち上がったものの、その立上りタイミングは正常なタイミングよりも遅いことから、S460にて、EDU100側において異常No.10の故障モードが生じているものと判断し、処理Cを実行して、この異常検出処理を終了する。逆に、TQ立下り前にEXOR信号が立ち上がらなかった場合はS440:NO、S450にて、EDU100側において異常No.6の故障モードが生じているものと判断し、処理Bを実行して、この異常検出処理を終了する。そして、S470では、噴射指令TQが立ち下がった後、EXOR信号の2つ目の立下りエッジを第1判定時間以内に検出したか否かを判断する。当該システムが正常ならば、EXOR信号の最初の2つ目の立下りエッジは、噴射指令TQの立下りとほぼ同時に生じるはずであり、その場合はS530に進むが、何らかの故障によってTQ立下り後に第1判定時間内にEXOR信号の2つ目の立下りエッジが検出されなかった場合はS470:NO、故障モードとして異常No.3,4,9の何れかであることが予想される。そこで更に、S480に進み、噴射指令TQの立下りよりも前にEXOR信号の2つ目の立下りエッジを検出したか否かを判断する。ここで、TQ立下り以後にEXOR信号の2つ目の立下りエッジを検出したならばS480:NO、S490にて、エンジンECU150側において異常No.3の故障モードが生じているものと判断し、処理Aを実行して、この異常検出処理を終了する。S480にて、噴射指令TQの立下りよりも前にEXOR信号の2つ目の立下りエッジを検出した場合はS480:YES、故障モードとして異常No.4,9の何れかが考えられるため、更にS500にて、噴射指令TQの立ち下がり直後にほぼ同時にEXOR信号の2つ目の立上りエッジを検出したか否かを判断する。そして、噴射指令TQの立ち下がり直後にEXOR信号の2つ目の立上りエッジを検出したならばS500:YES、S510にて、EDU100側において異常No.9の故障モードが生じているものと判断し、処理Bを実行して、この異常検出処理を終了する。逆に、噴射指令TQの立ち下がり直後にEXOR信号の2つ目の立上りエッジを検出しなかったならばS500:NO、S520にて、エンジンECU150側において異常No.4の故障モードが生じているものと判断し、処理Bを実行して、この異常検出処理を終了する。S470で、噴射指令TQが立ち下がった後、EXOR信号の2つ目の立下りエッジを第1判定時間以内に検出した場合は、S530に進み、噴射指令TQの立下り後、EXOR信号の2つ目の立ち上がりエッジを第3判定時間内に検出したか否かを判断する。当該システムが正常ならば、図5に示したように、噴射指令TQの立ち下がり後、Td2だけ遅れたタイミングでEXOR信号の2つ目の立上りエッジが検出されるはずである。そこで、そのように正常なタイミングでEXOR信号の2つ目の立上りエッジが検出されたか否かを適切に判断できるような第3判定時間を予め設定しておく。具体的には、例えば時間Td2よりも所定時間βだけ長い時間Td1βを適宜設定すればよい。そして、噴射指令TQの立ち下がり後、その第3判定時間内にEXOR信号の2つ目の立上りエッジが検出されたならばS530:YES、異常はなく正常であるものとしてこの異常検出処理を終了する。一方、噴射指令TQの立ち下がり後、第3判定時間内にEXOR信号の2つ目の立上りエッジが検出されなかったならばS530:NO、EDU100側において異常NO.8の故障モードが生じているものと判断し、処理Aを実行して、この異常検出処理を終了する以上説明したように、本実施形態の燃料噴射制御システムでは、エンジンECU150のCPU31が、自身が生成した噴射指令TQと、その噴射指令TQに対してエンジンECU150内の出力回路32が生成した駆動信号IJTと、その駆動信号IJTに対してEDU100から入力される通電検出信号INJFとの三者を比較することで、燃料噴射が正常に行われているか否かの判断に加え、正常に燃料噴射できない状態となっている場合にその異常状態を生じさせている原因となっている箇所故障箇所及びその箇所の具体的故障内容故障モードも判断する。そのため、異常状態が生じた場合に、ユーザは、故障モード及び故障箇所を具体的に知ることができ、正常な状態に戻すための処置例えば故障箇所の部品交換、修理などを迅速且つ適切に行うことができる。つまり、ユーザにとって商品性使い勝手のより高い燃料噴射制御システムを提供することができる。また、本実施形態では、駆動信号IJTと通電検出信号INJFを直接CPU31へ取り込まず、EXOR回路にて両者の排他的論理和を演算して、その演算結果であるEXOR信号をCPU31へ取り込むようにしている。そのため、CPU31の使用ポート数を削減することができる。更に、本実施形態では、EDU100からの通電検出信号INJFを直接EXOR回路に入力せず、遅延回路にて所定の信号遅延時間Tdxだけ遅延させた上でEXOR回路に入力している。そのため、正常時においてはEXOR信号のエッジ変化2つのパルスを確実に発生させることができ、その2パルスからなる正常時のEXOR信号の波形をもとに、異常検出を的確に行うことができる。[変形例]以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。例えば、第1実施形態では、噴射指令TQと通電検出信号INJFとの比較によって異常検出を行ったが、出力回路12が正常ならば噴射指令TQと駆動信号IJTは同じパルスとなるため、出力回路12が正常即ち駆動信号IJTは正常であるとの仮定のもとに、駆動信号IJTと通電検出信号INJFとの比較によって異常検出を行うようにしてもよい。但し、そのようにすると、CPU11には駆動信号IJTと通電検出信号INJFの双方を取り込まなければならず、よってそのための2つの入力ポートが必要となる。そのため、CPU11の入力ポート数増加を抑えるためには、第1実施形態のように噴射指令TQと通電検出信号INJFとの比較に基づく異常検出を行うのが好ましい。また、第2実施形態では、エンジンECU150内にEXOR回路43,48やOR回路41,46を設けたが、これらEXOR回路43,48やOR回路41,46を設けることは必須ではなく、例えば、EXOR回路43,48を省略してOR回路出力と遅延回路出力を直接CPU31に入力するようにしてもよいし、また例えば、OR回路41,46とEXOR回路43,48をいずれも省略して、駆動信号IJT及び遅延回路出力をそれぞれ直接CPU31に入力するようにしてもよい。更には、遅延回路42,47についても必須ではなく、これらを省略して、EDU100からの通電検出信号INJFを直接CPU31に入力するようにしてもよい。つまり、CPU31において、結果として、噴射指令TQ、駆動信号IJT、及び通電検出信号INJFの三者比較に基づく異常検出を行うことができる限り、これら3つの信号をそれぞれどのように処理してCPU31へ入力するかについては特に限定されるものではない。また、上記各実施形態では、エンジンECUとEDUとが別体化された構成の燃料噴射制御システムを示したが、このようにエンジンECUとEDUを別体化することは必須ではなく、両者が一体化された構成、即ちエンジンECUにEDUが内蔵された構成であっても、本発明を適用できる。また、上記各実施形態では、ディーゼルエンジンの燃料噴射を制御する燃料噴射制御システムを例に挙げて説明したが、制御対象がディーゼルエンジンのインジェクタであることもあくまでも一例に過ぎない。"