(57)【要約】【課題】エンジンと変速機との共振現象に起因する失火の誤判定を回避できる失火判定装置を提供する。【解決手段】エンジン１の回転変動量が所定の閾値Ｎ１を越えた際、失火が生じた可能性があると判断する。その後、エンジン１の回転変動パターンが第１の失火判定パターンに沿うものであれば失火と判定し、第１の失火判定パターンに沿わない場合、失火判定対象気筒が膨張行程にある時の機関回転速度が閾値よりも低速度であるか否を判別し、低速度であるには、更に、この失火判定対象気筒が膨張行程にある時の機関回転速度が、その前後で膨張行程を迎えていた気筒の膨張行程時における回転速度よりも所定値以上低速度であるか否かによって失火の有無を判定する。これにより、エンジン１と自動変速機５０との共振現象が発生している状況であっても、失火の誤判定が回避できる。【選択図】      図２
2010024850.tif 000002
【特許請求の範囲】
【請求項１】
ロックアップクラッチを有する流体式動力伝達装置を介して変速機に連結された内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、内燃機関の回転変動パターンが失火発生時に特有のパターンであるか否かを判定することによって失火判定を行う内燃機関の失火判定装置において、
上記失火が生じている可能性があると判断された失火判定対象気筒が膨張行程にある時の機関回転速度と他気筒が膨張行程にある時の機関回転速度との偏差によって回転変動量を求め、この回転変動量の変化パターンが、予め設定された失火判定パターンに略沿っているか否かによって失火の有無を判定する第１の失火判定動作を行う第１失火判定手段と、
上記第１失火判定手段による第１の失火判定動作において失火有りと判断されなかった場合、上記ロックアップクラッチがロックアップ状態にあって、失火判定対象気筒が膨張行程にある時の機関回転速度が予め設定された閾値よりも低速度であるか否かを判定する機関回転速度判定動作を行う機関回転速度判定手段と、
上記機関回転速度判定手段による機関回転速度判定動作において、失火判定対象気筒が膨張行程にある時の機関回転速度が予め設定された閾値よりも低速度であると判定された場合に、この失火判定対象気筒が膨張行程にある時の機関回転速度と他気筒が膨張行程にある時の機関回転速度との偏差に基づいて失火の有無を判定する第２の失火判定動作を行う第２失火判定手段とを備えていることを特徴とする内燃機関の失火判定装置。
【請求項２】
上記請求項１記載の内燃機関の失火判定装置において、
上記第１の失火判定動作において失火有りと判定された場合、または、第２の失火判定動作において失火有りと判定された場合に、失火判定結果として失火有りを確定する一方、機関回転速度判定動作において失火判定対象気筒が膨張行程にある時の機関回転速度が閾値よりも低速度ではないと判定された場合、または、第２の失火判定動作において失火無しと判定された場合に、失火判定結果として失火無しを確定するよう構成されていることを特徴とする内燃機関の失火判定装置。
【請求項３】
上記請求項１または２記載の内燃機関の失火判定装置において、
上記第１失火判定手段は、内燃機関の回転変動量が所定の閾値を超えたことで失火が生じている可能性があると判断された場合に、その失火判定対象気筒の膨張行程時における回転変動量、この失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒の膨張行程時における回転変動量、および、失火判定対象気筒の膨張行程の直後に膨張行程を迎えた気筒の膨張行程時における回転変動量の変化のパターンと、上記失火判定パターンとを比較することで失火判定動作を行うよう構成されていることを特徴とする内燃機関の失火判定装置。
【請求項４】
上記請求項１または２記載の内燃機関の失火判定装置において、
上記機関回転速度判定手段は、ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が上記所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記第１の失火判定動作において失火有りと判断されなかった場合に、その失火判定対象気筒の膨張行程時における機関回転速度が予め設定された閾値よりも低速度であるか否か、且つ失火判定対象気筒の膨張行程時における上記回転変動量が上記所定の閾値を超える状態が連続的に発生したか否かを判断するよう構成されていることを特徴とする内燃機関の失火判定装置。
【請求項５】
上記請求項１または２記載の内燃機関の失火判定装置において、
上記機関回転速度判定手段は、ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が上記所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記第１の失火判定動作において失火有りと判断されなかった場合に、その失火判定対象気筒の膨張行程時における機関回転速度が予め設定された閾値よりも低速度であるか否か、且つ失火判定対象気筒の膨張行程時における上記機関回転速度が予め設定された閾値よりも低速度となる状態が連続的に発生したか否かを判断するよう構成されていることを特徴とする内燃機関の失火判定装置。
【請求項６】
上記請求項１または２記載の内燃機関の失火判定装置において、
上記第２失火判定手段は、ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記機関回転速度判定動作において失火が生じている可能性があると判断された場合に、失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒および失火判定対象気筒の膨張行程の直後に膨張行程を迎えた気筒それぞれの膨張行程時における機関回転速度に対して、失火判定対象気筒の膨張行程時における機関回転速度が所定値以上低いか否かを判定し、失火判定対象気筒の膨張行程時における機関回転速度の方が所定値以上低い場合に、失火が発生していると判定するよう構成されていることを特徴とする内燃機関の失火判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の失火判定装置に係る。特に、本発明は、内燃機関の回転変動に基づいて失火発生の有無を判定する失火判定装置における判定動作の信頼性を高めるための対策に関する。
【背景技術】
【０００２】
従来より、例えば自動車用内燃機関において混合気への着火がなされない現象、いわゆる「失火」が発生すると、未燃混合気が排気通路に排出され、排気エミッションの悪化や、排気浄化触媒への悪影響が懸念される。
【０００３】
そこで、上記失火の発生時には機関回転速度の変動（以下、単に回転変動と呼ぶ）が大きくなることに着目し、この回転変動に基づいて失火の発生を判定する失火判定装置が提案されている。この種の装置における失火判定の基本原理は以下のとおりである。
【０００４】
先ず、ある一つの気筒に失火が発生した場合、その気筒の膨張行程（実際には失火しており爆発していない行程）における機関回転速度が次第に低下していく。その結果、この失火を生じた気筒の膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間が、他気筒の膨張行程時におけるその時間よりも長くなる。このため、これら時間を計測して比較することにより失火発生の有無を判定することが可能になる。
【０００５】
具体的には、ある気筒（例えば第３番気筒）が膨張行程にあるときに、この膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間と、この膨張行程よりも所定クランク角度前（例えば３６０°前）に膨張行程を迎えていた気筒（例えば第２番気筒）の膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間との差を演算（前者の時間から後者の時間を減算）する。そして、この演算値が所定の閾値を越えている場合には、内燃機関の回転変動が大きくなったと判断して失火（第３番気筒に失火）が発生したと判定している。
【０００６】
ＯＢＤ（Ｏｎ−Ｂｏａｄ  Ｄｉａｇｎｏｓｔｉｃ  Ｓｙｓｔｅｍ）対応国向けの自動車では、制御回路中に失火カウンタが備えられており、失火発生の判定を行う度に失火カウンタがインクリメントされ、所定の機関回転回数（例えば１０００回転）当たりの失火カウンタのカウント値が所定値（例えば３０）を越えるとＭＩＬ（警告灯）が点灯し、運転者に警告を促す。
【０００７】
従って、失火の判定が正確に行われていない状況では、例えば、失火が発生しているにも拘わらずそれを認識することができず、排気エミッションが悪化した状態が継続されてしまう。また、失火が発生していないにも拘わらず失火が発生していると誤検出してしまって、実際の失火発生回数が上記所定値より少なくても早期にＭＩＬが点灯することになってしまい、ユーザに違和感を与えてしまう。
【０００８】
そこで、このような失火の誤判定を解消するべく、回転変動の経時変化パターンが、予め定められた失火パターンとなったときに失火が生じたと判定するようにしたものが知られている（例えば、下記の特許文献１を参照）。
【０００９】
この特許文献１に開示されているものは、各気筒の膨張行程時においてクランクシャフトが一定クランク角度を回転するのに要する時間を検出し、膨張行程が一つ間隔を隔てて行われる気筒間（４気筒エンジンの場合のクランク角度３６０°の角度間隔で膨張行程が行われる気筒同士）の上記時間の偏差を求め、この偏差が閾値を越え且つ偏差の変化パターンが失火発生時に特有のパターンとなったときに失火が発生したと判定するようにしている。具体的には、失火判定対象気筒の膨張行程時における上記回転変動量が所定の閾値を超えており、且つこの回転変動量が、失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒の回転変動量および失火判定対象気筒の膨張行程の直後に膨張行程を迎えた気筒の回転変動量に比べて特に大きくなっている場合に、この失火判定対象気筒において失火が生じたと判定している。
【００１０】
また、下記の特許文献２には、トルクコンバータにロックアップクラッチを備えた自動車において、エンジンの失火判定のための閾値を、ロックアップ状態にあるときと非ロックアップ状態にあるときとで異ならせることについて開示されている。
【特許文献１】特開２００６−１５２９７１号公報
【特許文献２】特開平１０−３３１７０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところが、上述したような各特許文献における失火判定動作では、失火の誤判定が生じてしまう可能性が未だ残っていることを本発明の発明者は見出した。
【００１２】
具体的には、変速装置としてオートマティックトランスミッション（自動変速機）を搭載した自動車にあっては、トルクコンバータにロックアップクラッチを備えており、このロックアップクラッチの締結状態（ロックアップ状態）では、エンジンとトランスミッションとが直結状態となる。このような状況で、失火が発生してエンジンに振動が発生すると、その振動がトランスミッションにまで伝達される。そして、その振動数がトランスミッションの固有振動数に一致する状況になると、エンジンからトランスミッションに亘るパワートレーン全体に共振現象が発生してしまうことになる。このような共振現象が発生する状況では、上記回転変動が正確に認識できず、失火の誤判定を招いてしまう可能性がある。
【００１３】
この失火誤判定の発生状況の一例について説明する。エンジン回転数は、クランクシャフトに一体的に取り付けられたＮＥロータの外歯の通過を、電磁ピックアップで成るクランク角センサによって検出することで計測されるが、この際、上記共振現象が発生すると、クランク角センサを支持しているステーにも共振が発生し、このクランク角センサとＮＥロータとの相対位置が変動してしまう。このため、クランクシャフトが一定回転速度で回転していても、上記共振現象に起因する相対位置変動のために、クランク角センサによって検出されるＮＥロータの外歯の通過タイミングが不安定になる。逆に、クランクシャフトの回転速度が失火によって変動しているにも拘わらず、上記共振現象により、この回転変動が正確に検出できなくなる場合もある。このように、上記共振現象によって、回転変動の増幅、相殺、減衰などが生じて、クランク角センサによる回転変動の検出が正確に行われなくなり、失火の誤判定を招いてしまう可能性があった。
【００１４】
また、上述した特許文献２では、ロックアップクラッチがロックアップ状態にあるときと非ロックアップ状態にあるときとで、失火判定のための閾値を異ならせることについて開示されているが、上記パワートレーン全体の共振現象に起因する失火の誤判定については何ら考慮されておらず、単に回転変動量が所定の閾値を超えているか否かによって失火判定を行うものに過ぎない。従って、この特許文献２においても未だ上記共振現象に起因する失火の誤判定が生じてしまう可能性が残っている。
【００１５】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、上記共振現象に起因する失火の誤判定を回避することができる失火判定装置を提供することにある。
【課題を解決するための手段】
【００１６】
−課題の解決原理−
上記の目的を達成するために講じられた本発明の解決原理は、内燃機関の回転変動パターンが失火判定パターンに沿うものであるか否かによって失火の有無を判定し、失火が発生していると判定されなかった場合には、他の気筒の膨張行程時における回転速度の影響を排除して、失火判定対象気筒の膨張行程時における回転速度のみによって失火が発生している可能性の有無を判断する。そして、失火が発生している可能性があると判断された場合には、失火判定対象気筒の膨張行程時における回転速度と他の気筒の膨張行程時における回転速度との比較によって失火の有無を判定するようにしている。これにより、他の気筒の膨張行程時において検出される回転速度が上記共振現象の影響を受けて正確に検出できない状況であっても、失火の誤判定が回避できるようにしている。
【００１７】
−解決手段−
具体的に、本発明は、ロックアップクラッチを有する流体式動力伝達装置を介して変速機に連結された内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、内燃機関の回転変動パターンが失火発生時に特有のパターンであるか否かを判定することによって失火判定を行う内燃機関の失火判定装置を前提とする。この内燃機関の失火判定装置に対し、第１失火判定手段、機関回転速度判定手段、第２失火判定手段を備えさせている。第１失火判定手段は、上記失火が生じている可能性があると判断された失火判定対象気筒が膨張行程にある時の機関回転速度と他気筒が膨張行程にある時の機関回転速度との偏差によって回転変動量を求め、この回転変動量の変化パターンが、予め設定された失火判定パターンに略沿っているか否かによって失火の有無を判定する第１の失火判定動作を行う。機関回転速度判定手段は、上記第１失火判定手段による第１の失火判定動作において失火有りと判断されなかった場合、上記ロックアップクラッチがロックアップ状態にあって、失火判定対象気筒が膨張行程にある時の機関回転速度が予め設定された閾値よりも低速度であるか否かを判定する機関回転速度判定動作を行う。第２失火判定手段は、上記機関回転速度判定手段による機関回転速度判定動作において、失火判定対象気筒が膨張行程にある時の機関回転速度が予め設定された閾値よりも低速度であると判定された場合に、この失火判定対象気筒が膨張行程にある時の機関回転速度と他気筒が膨張行程にある時の機関回転速度との偏差に基づいて失火の有無を判定する第２の失火判定動作を行う。
【００１８】
この場合、上記第１の失火判定動作において失火有りと判定された場合、または、第２の失火判定動作において失火有りと判定された場合に、失火判定結果として失火有りを確定する。一方、機関回転速度判定動作において失火判定対象気筒が膨張行程にある時の機関回転速度が閾値よりも低速度ではないと判定された場合、または、第２の失火判定動作において失火無しと判定された場合に、失火判定結果として失火無しを確定する構成としている。
【００１９】
これらの特定事項により、先ず、内燃機関の駆動中にその回転変動量が所定の閾値を超えたときには、失火が生じている可能性があると判断する。そして、内燃機関の回転変動パターンが失火判定パターン（非ロックアップ状態での失火発生時に特有の回転変動パターン、または、ロックアップ状態で上記共振現象が生じていない失火発生時に特有の回転変動パターン）に沿っているか否かによって失火判定動作を行う（第１の失火判定動作）。そして、内燃機関の回転変動パターンが上記失火判定パターンに沿っている場合には失火が発生していると判定できる。
【００２０】
一方、内燃機関の回転変動パターンが上記失火判定パターンに沿っていない場合には、失火判定対象気筒が膨張行程にある時の機関回転速度が予め設定された閾値よりも低速度であるか否かを判定する。つまり、失火判定対象気筒以外の気筒の回転変動の影響を受けることなしに、この失火判定対象気筒の膨張行程時の回転速度によって、この失火判定対象気筒に失火が発生している可能性があるか否かを判定する（機関回転速度判定動作）。この機関回転速度判定動作によって、失火判定対象気筒が膨張行程にある時の機関回転速度が閾値よりも高速度である場合には、失火が発生していないと判断できる。つまり、上記回転変動量が所定の閾値を超えた原因は、失火以外であると判断できる。一方、失火判定対象気筒が膨張行程にある時の機関回転速度が閾値よりも低速度である場合には、第２の失火判定動作に移る。つまり、失火判定対象気筒が膨張行程にある時の機関回転速度と他気筒が膨張行程にある時の機関回転速度との偏差に基づいて失火の有無を判定する。この偏差が所定値よりも小さい場合には失火が発生していないと判断できる。一方、上記偏差が所定値よりも大きい場合には失火が発生していると判断する。
【００２１】
このように、本解決手段では、他の気筒（失火判定対象気筒以外の気筒）の膨張行程時における回転速度の影響を受けることなしに、失火判定対象気筒の膨張行程時における回転速度を失火判定のための判断条件として加えている。このため、ロックアップクラッチのロックアップ状態において、内燃機関と変速機との共振現象が発生している場合に、従来であれば、他の気筒の膨張行程時における回転速度が上記共振の影響を受けてしまって、失火判定対象気筒の回転変動を正確に求めることが困難であり、失火が発生していてもそれを検出することができない可能性が高かったが、本解決手段によれば、他の気筒の膨張行程時における回転速度の影響を排除した失火判定動作も実行するようにしているので、上記共振現象の悪影響を受けることなく失火が発生していることが正確に判定され、失火判定の信頼性を高めることができる。
【００２２】
上記失火判定パターンに基づいて失火判定を行う第１失火判定手段の構成としては以下のものが挙げられる。内燃機関の回転変動量が所定の閾値を超えたことで失火が生じている可能性があると判断された場合に、第１失火判定手段が、その失火判定対象気筒の膨張行程時における回転変動量、この失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒の膨張行程時における回転変動量、および、失火判定対象気筒の膨張行程の直後に膨張行程を迎えた気筒の膨張行程時における回転変動量の変化のパターンと、上記失火判定パターンとを比較することで失火判定動作を行う構成としている。
【００２３】
本発明において、上記失火判定パターンは、ロックアップクラッチが非ロックアップ状態（解放状態）にある際に１つの気筒で失火が発生している場合における内燃機関の回転変動パターンに対応する。また、ロックアップクラッチがロックアップ状態（係合状態）にあり、内燃機関と変速機との共振現象が生じていない状態において１つの気筒で失火が発生している場合における内燃機関の回転変動パターンにも対応する。つまり、上記共振による悪影響を受けること無しに回転変動量を求めることができる状況での回転変動パターンに従って失火判定を行うためのものである。即ち、１つの気筒で失火が発生している場合、その気筒での膨張行程における回転変動量は、他の気筒の膨張行程（失火が発生している気筒の前後で膨張行程を迎える気筒）における回転変動量よりも大きくなるので、この回転変動パターンを上記失火判定パターンとして規定している。これにより、非ロックアップ状態またはロックアップ時で共振現象が生じていない状態での失火判定が正確に行える。
【００２４】
上記機関回転速度判定手段の構成としては以下のものが挙げられる。ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が上記所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記第１の失火判定動作において失火有りと判断されなかった場合に、機関回転速度判定手段が、その失火判定対象気筒の膨張行程時における機関回転速度が予め設定された閾値よりも低速度であるか否か、且つ失火判定対象気筒の膨張行程時における上記回転変動量が上記所定の閾値を超える状態が連続的に発生したか否かを判断する構成としている。
【００２５】
また、機関回転速度判定手段の他の構成として以下のものも挙げられる。ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が上記所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記第１の失火判定動作において失火有りと判断されなかった場合に、機関回転速度判定手段が、その失火判定対象気筒の膨張行程時における機関回転速度が予め設定された閾値よりも低速度であるか否か、且つ失火判定対象気筒の膨張行程時における上記機関回転速度が予め設定された閾値よりも低速度となる状態が連続的に発生したか否かを判断する構成としている。
【００２６】
また、上記第２失火判定手段の構成としては以下のものが挙げられる。ロックアップクラッチがロックアップ状態にある場合において、内燃機関の回転変動量が所定の閾値を超えたことで失火が生じている可能性があると判断され且つ上記機関回転速度判定動作において失火が生じている可能性があると判断された場合に、失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒および失火判定対象気筒の膨張行程の直後に膨張行程を迎えた気筒それぞれの膨張行程時における機関回転速度に対して、失火判定対象気筒の膨張行程時における機関回転速度が所定値以上低いか否かを判定し、失火判定対象気筒の膨張行程時における機関回転速度の方が所定値以上低い場合に、失火が発生していると判定する構成としている。
【００２７】
以上のように、第１の失火判定動作、機関回転速度判定動作、第２の失火判定動作を具体的に特定することにより、本発明の実用性を高めることができる。また、各動作で判定するパターンを明確に識別することで、ロックアップクラッチの非ロックアップ状態における失火判定動作と、ロックアップクラッチのロックアップ状態で上記共振現象が生じている場合における失火判定動作とをそれぞれ正確に行うことができ、ロックアップ時および非ロックアップ時ともに失火の誤判定を防止することができる。
【発明の効果】
【００２８】
以上説明したように、本発明では、失火判定対象気筒以外の気筒の膨張行程時における機関回転速度の影響を排除して、失火判定対象気筒の膨張行程時における機関回転速度のみによって失火が発生している可能性の有無を判断できるようにしている。これにより、他の気筒の膨張行程時において検出される回転速度が上記共振現象の影響を受けて正確に検出できていない状況であっても、失火の誤判定が回避でき、失火判定の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施形態を図面に基づいて説明する。本実施形態では、本発明に係る失火判定装置を自動車用４気筒ガソリンエンジンに適用した場合について説明する。
【００３０】
−エンジンの構成説明−
先ず、図１を参照して、本実施形態に係るエンジン（内燃機関）の概略構成について説明する。図１に示すように、本実施形態に係るエンジン１は、４気筒分（図１では１気筒分のみを示す）のシリンダボア２を有するシリンダブロック１ａと、シリンダヘッド１ｂとを備えている。各シリンダボア２内には上下動可能に設けられたピストン３が備えられ、このピストン３が、コンロッド（コネクティングロッド）３ａを介してエンジン１の出力軸であるクランクシャフト１０に連結されている。そして、シリンダボア２の内部において、ピストン３とシリンダヘッド１ｂとにより囲まれた空間によって燃焼室４が区画形成されている。
【００３１】
シリンダヘッド１ｂには、各燃焼室４に対応して点火プラグ１１が取り付けられている。また、シリンダヘッド１ｂには、各燃焼室４に通じる吸気ポート５ａおよび排気ポート６ａがそれぞれ設けられ、これら吸気ポート５ａおよび排気ポート６ａには、吸気通路５および排気通路６がそれぞれ接続されている。吸気ポート５ａおよび排気ポート６ａにおける燃焼室４に通じる各開口端には、吸気バルブ７および排気バルブ８がそれぞれ設けられている。吸気バルブ７および排気バルブ８は、クランクシャフト１０の動力によってそれぞれ回転する吸気カムシャフト３１および排気カムシャフト３２によって開閉される。クランクシャフト１０の動力は、タイミングベルト３５および各タイミングプーリー３３，３４を介して、上記吸気カムシャフト３１および排気カムシャフト３２に伝達されている。
【００３２】
また、上記吸気ポート５ａの近傍には、各気筒に対応してインジェクタ（燃料噴射弁）９がそれぞれ備えられている。各インジェクタ９には図示しない燃料供給系を介して所定圧力の燃料が供給されている。
【００３３】
一方、吸気通路５にはサージタンク１６が設けられ、このサージタンク１６の上流側には、アクセルペダル１８の操作に応じて開閉駆動されるスロットルバルブ１９が設けられている。このスロットルバルブ１９の開度に応じて吸気通路５へ導入される吸入空気量が調整される。
【００３４】
エンジン１の運転が開始されると、吸気通路５内への吸入空気の導入とともにインジェクタ９から燃料が噴射されることにより、それら吸入空気と燃料とが混合されて混合気となる。そして、エンジン１の吸入行程において、吸気バルブ７により吸気ポート５ａが開かれることにより混合気が吸気ポート５ａを通じて燃焼室４に取り込まれる。この燃焼室４に取り込まれた混合気は、圧縮行程において圧縮された後、点火プラグ１１によって着火され、その混合気が爆発・燃焼してクランクシャフト１０に駆動力が付与される（膨張行程）。燃焼後の排気ガスは、排気バルブ８により排気ポート６ａが開かれることによって排気通路６に排出され（排気行程）、更に触媒１２を経て浄化された後、外部に放出される。なお、上記点火プラグ１１は、イグナイタ１３から出力される高電圧の印加タイミングに応じて混合気への点火動作を実行している。
【００３５】
−自動変速機−
次に、上記エンジン１からの回転動力が伝達され、且つ変速動作を行う自動変速機について説明する。図２は、上記エンジン１と自動変速機５０との接続状態を示す概略構成図である。また、図３は、トルクコンバータ（流体式動力伝達装置）５３の概略構成を示す図である。
【００３６】
これらの図に示すように、自動変速機５０は、エンジン１から入力軸５１に入力される回転動力を変速し、出力軸５２を介して駆動輪に出力するもので、主として、トルクコンバータ５３、変速機構部５４、油圧制御装置５５等を含んで構成されている。
【００３７】
トルクコンバータ５３は、エンジン１のクランクシャフト１０に連結されるもので、ポンプインペラ５３ａ、タービンランナ５３ｂ、ステータ５３ｃ、ワンウェイクラッチ５３ｄ、ステータシャフト５３ｅ、ロックアップクラッチ５３ｆを含んで構成されている。
【００３８】
上記ロックアップクラッチ５３ｆは、トルクコンバータ５３のポンプインペラ５３ａ（入力側）とタービンランナ５３ｂ（出力側）とを直結可能とするものであり、必要に応じて、ポンプインペラ５３ａとタービンランナ５３ｂとを直結する係合状態と、ポンプインペラ５３ａとタービンランナ５３ｂとを切り離す解放状態と、これら係合状態と解放状態との中間の半係合状態（スリップ状態）との間で切り換えられる。この切り換えのための条件については後述する。
【００３９】
このロックアップクラッチ５３ｆの係合力制御は、ロックアップコントロールバルブ５６でポンプインペラ５３ａ（入力側）とタービンランナ５３ｂ（出力側）とに対する作動油圧をコントロールすることによって行われる。
【００４０】
変速機構部５４は、例えば、複数のプラネタリギヤ、クラッチ、ブレーキ、ワンウェイクラッチ等を含んで構成されており、例えば、前進６段、後進１段の変速が可能になっている。上記油圧制御装置５５によって、変速機構部５４のクラッチやブレーキが個別に係合、解放されることにより適宜の変速段（前進１〜６速段、後進段）を成立させるように構成されている。この変速機構部５４の構成および油圧制御装置５５による制御動作は公知であるので、ここでは詳細な図示や説明を割愛する。
【００４１】
−エンジン制御装置４０、トランスミッション制御装置４５−
上記油圧制御装置５５は、トランスミッション制御装置４５により制御される。つまり、このトランスミッション制御装置４５による油圧制御装置５５の制御により、変速機構部５４における適宜の変速段つまり動力伝達経路を成立させるようになっている。
【００４２】
また、図４に示すように、上記エンジン制御装置（エンジンＥＣＵ）４０とトランスミッション制御装置（トランスミッションＥＣＵ）４５とは、エンジン制御やトランスミッション制御に必要な情報を互いに送受可能に接続されている。
【００４３】
エンジン制御装置４０およびトランスミッション制御装置４５は、図示していないが、共に一般的に公知のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）とされており、それぞれ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびバックアップＲＡＭなどを備えている。
【００４４】
ＲＯＭは、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。ＣＰＵは、ＲＯＭに記憶された各種制御プログラムやマップに基づいて演算処理を実行する。ＲＡＭは、ＣＰＵでの演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭは、エンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００４５】
エンジン制御装置４０には、図４に示すように、クランク角センサ２１、カム角センサ２２、圧力センサ２３、スロットル開度センサ２４などのエンジン１の運転状態を検出する各種センサが接続されており、その各センサの信号が入力される。
【００４６】
クランク角センサ２１は、上記クランクシャフト１０の近傍に配設され、クランクシャフト１０の回転角（クランク角ＣＡ）および回転速度（エンジン回転速度ＮＥ）を検出する。具体的には、このクランク角センサ２１は、所定のクランク角（例えば３０°）毎にパルス信号を出力する。このクランク角センサ２１によるクランク角の検出手法の一例としては、クランクシャフト１０と回転一体の図示しないロータ（ＮＥロータ）の外周面の３０°おきに外歯を形成しておき、この外歯と対面して電磁ピックアップで成る上記クランク角センサ２１を配置する。そして、クランクシャフト１０の回転に伴って外歯がクランク角センサ２１の近傍を通過した際に、このクランク角センサ２１が出力パルスを発生するようになっている。尚、このロータとしては、外周面に形成される外歯が１０°おきに形成されたものが適用される場合もある。この場合、エンジン制御装置４０内で分周して３０°ＣＡ毎の出力パルスを発生する。
【００４７】
カム角センサ２２は、上記吸気カムシャフト３１の近傍に配設され、気筒判別センサとして用いられる。例えば第１番気筒♯１の圧縮上死点（ＴＤＣ）に対応してパルス信号を出力する。つまり、このカム角センサ２２は、吸気カムシャフト３１の１回転毎にパルス信号を出力する。このカム角センサ２２によるカム角の検出手法の一例としては、吸気カムシャフト３１と回転一体のロータの外周面の１箇所に外歯を形成しておき、この外歯と対面して電磁ピックアップで成る上記カム角センサ２２を配置し、吸気カムシャフト３１の回転に伴って外歯がカム角センサ２２の近傍を通過した際に、このカム角センサ２２が出力パルスを発生するようになっている。このロータはクランクシャフト１０の１／２の回転速度で回転するため、クランクシャフト１０が７２０°回転する毎に出力パルスを発生する。言い換えると、ある特定の気筒が同一行程（例えば第１番気筒♯１が圧縮上死点に達した時点）となる度に出力パルスを発生する構成である。
【００４８】
圧力センサ２３は、上記サージタンク１６に配設され、吸気通路５内の圧力（吸気管内圧力ＰＭ）を検出する。つまり、この圧力センサ２３は、サージタンク１６内の圧力に応じた信号を出力する。
【００４９】
また、このエンジン制御装置４０は、スロットルバルブ１９のアクチュエータ１９ａ、および、インジェクタ９などのエンジン１の各部を制御する。
【００５０】
更に、このエンジン制御装置４０には総失火カウンタ４１および気筒別失火カウンタ４２が備えられている。総失火カウンタ４１は、後述する失火判定動作によって何れかの気筒で失火が発生したことが認識される度に、そのカウント値がインクリメントされていくようになっている。一方、気筒別失火カウンタ４２は、後述する失火判定動作によって失火が発生したことが認識された場合に、その失火が発生している気筒を特定し、その気筒に対する失火カウント値をインクリメントしていく。
【００５１】
一方、トランスミッション制御装置４５には、上記入力軸５１の回転数を検出する入力軸回転数センサ６１、出力軸５２の回転数を検出する出力軸回転数センサ６２、ドライバにより操作されるアクセルペダル１８の開度を検出するアクセル開度センサ６３、自動変速機５０のシフトレバー位置（レンジ位置）を検出するシフトポジションセンサ６４、駆動輪の速度（車輪速度）を検出する車輪速センサ６５などが接続されている。
【００５２】
また、このトランスミッション制御装置４５は、上記ロックアップコントロールバルブ５６にロックアップクラッチ制御信号を出力する。このロックアップクラッチ制御信号に基づいてロックアップコントロールバルブ５６がロックアップクラッチ５３ｆの係合圧を制御し、上述したロックアップクラッチ５３ｆの係合状態（ロックアップ状態）、解放状態（完全スリップ状態）、半係合状態（スリップ状態：フレックスロックアップ状態とも呼ばれる）が切り換えられるようになっている。
【００５３】
さらに、トランスミッション制御装置４５は、自動変速機５０の油圧制御装置５５にソレノイド制御信号（油圧指令信号）を出力する。このソレノイド制御信号に基づいて油圧制御装置５５の油圧制御回路に備えられているリニアソレノイドバルブやオンオフソレノイドバルブなどが制御され、所定の変速段（第１変速段〜第６変速段、後退変速段など）を達成するように、変速機構部５４の各クラッチ、各ブレーキなどが所定の状態に係合または解放される。
【００５４】
−ロックアップクラッチ作動マップ−
上述したロックアップクラッチ５３ｆの係合状態、解放状態、半係合状態の切り換え動作は、例えば図５に示すようなロックアップクラッチ作動マップに従って行われる。このロックアップクラッチ作動マップは、車速Ｖおよびアクセル開度θTHをパラメータとし、それら車速Ｖおよびアクセル開度θTHに応じて、ロックアップクラッチ５３ｆを、係合状態（ロックアップ状態）、解放状態（トルコン状態）、半係合状態（フレックスロックアップ状態：スリップ状態）の間で切り換えるためのマップであって、上記トランスミッション制御装置４５のＲＯＭ内に記憶されている。
【００５５】
つまり、車速Ｖおよびアクセル開度θTHに基づいて、係合領域（ロックアップ作動領域）、解放領域（トルコン作動領域）、スリップ領域（フレックスロックアップ作動領域）のいずれの領域に属するかを判定し、その判定された領域の作動となるように上記ロックアップコントロールバルブ５６を制御してロックアップクラッチ５３ｆを係合、解放、或いは半係合のいずれかの状態とする制御を実行する。尚、上記アクセル開度θTHに代えてスロットル開度に応じたロックアップクラッチ作動マップ（車速とスロットル開度とに応じてロックアップクラッチ５３ｆを制御するためのマップ）によりロックアップクラッチ５３ｆの状態を切り換えるようにしてもよい。
【００５６】
上記フレックスロックアップ作動領域では、運転性を損なうことなく燃費を可及的に良くすることを目的としてエンジン１の回転変動を吸収しつつトルクコンバータ５３の動力伝達損失を可及的に抑制するために、ロックアップクラッチ５３ｆのスリップ制御を実行する。ロックアップクラッチ５３ｆのスリップ制御については、タービン回転速度ＮＴとエンジン回転速度ＮＥとの回転速度差（スリップ量）ＮＳＬＰ（＝ＮＥ−ＮＴ）を目標回転速度差（目標スリップ量：例えば５０ｒｐｍ）に制御するためにロックアップクラッチ５３ｆを制御するソレノイド弁に対して駆動信号を出力する。このスリップ制御のうちの減速走行時スリップ制御は、例えば、アクセル開度θTHが略零で惰性走行（減速走行）する前進走行時において生じる駆動輪側からの逆入力をエンジン１側へ伝達する変速段、すなわちエンジンブレーキ作用が得られる変速段で行われ、タービン回転速度ＮＴおよびエンジン回転速度ＮＥは、車両の減速にしたがって緩やかに減少させられる。このようにロックアップクラッチ５３ｆがスリップ係合させられると、エンジン回転速度ＮＥがタービン回転速度ＮＴ付近まで引き上げられるため、エンジン１に対する燃料供給量を抑制する制御状態（フューエルカット状態）がさらに長い期間維持されて燃費が向上する。
【００５７】
−失火判定のための構成および動作−
次に、本実施形態の特徴部分であるエンジン１の失火判定のための構成（失火判定装置の構成）およびその動作について説明する。
【００５８】
本実施形態に係る失火判定装置は、上記エンジン制御装置４０を備えている。このエンジン制御装置４０には、上記各センサ２１〜２４の出力信号がそれぞれ取り込まれている。そして、エンジン制御装置４０には、これら各信号に基づいてクランク角ＣＡや、エンジン回転速度ＮＥ、現在の運転気筒（例えば現在膨張行程を迎えている気筒）、吸気管内圧力ＰＭ等を演算するとともに、それら演算結果に基づいて、後述する失火判定動作を実行する。
【００５９】
次に、失火判定装置の失火判定動作について説明する。この失火判定装置は、失火の有無を判定するために、以下に述べる回転変動量（ｅｄｄｔｃｒｘ）、および、膨張行程時のエンジン回転速度に相関のある値としての９０°ＣＡ所要時間（ｅｄｔ）を利用するようにしている。
【００６０】
上記回転変動量（ｅｄｄｔｃｒｘ）は、複数の気筒それぞれの膨張行程時におけるエンジン回転速度（所定クランク角度を回転するのに要する時間）の偏差に基づいた値として算出される（この回転変動量の算出動作の詳細については後述する）。一方、上記９０°ＣＡ所要時間（ｅｄｔ）は、各気筒それぞれの膨張行程時における９０°ＣＡ（Ｃｒａｎｋ  Ａｎｇｌｅ）だけ回転するのに要する時間であって、他の気筒の膨張行程時におけるエンジン回転速度の影響を受けることのない値として求められる（この９０°ＣＡ所要時間についても詳しくは後述する）。
【００６１】
（回転変動量の算出）
上記回転変動量（ｅｄｄｔｃｒｘ）の算出手順について以下に説明する。
【００６２】
この回転変動量（ｅｄｄｔｃｒｘ）は、「現在、膨張行程を迎えている気筒が圧縮上死点から下死点まで１８０°ＣＡだけ回転するのに要する時間（以下、この時間を「膨張行程所要時間」という）と、この気筒の直前に膨張行程を迎えていた（点火タイミングで１８０°ＣＡ前の）気筒の膨張行程所要時間との偏差（前者の膨張行程所要時間から後者の膨張行程所要時間を減算した値）」から、「現在、膨張行程を迎えている気筒の２点火前に膨張行程を迎えていた（点火タイミングで３６０°ＣＡ前の）気筒の膨張行程所要時間と、この気筒の直前（現在、膨張行程を迎えている気筒の３点火前（点火タイミングで５４０°ＣＡ前））に膨張行程を迎えていた気筒の膨張行程所要時間との偏差（前者の膨張行程所要時間から後者の膨張行程所要時間を減算した値）」を減算した値である。
【００６３】
例えば、図６に示すように、第１番気筒♯１、第３番気筒♯３、第４番気筒♯４、第２番気筒♯２の順で１８０°ＣＡ毎に燃焼行程を行っていく場合に、現在、膨張行程を迎えている気筒を第２番気筒♯２とし、この第２番気筒♯２の膨張行程において圧縮上死点（ＴＤＣ）から下死点まで１８０°ＣＡだけ回転するのに要していた時間（膨張行程所要時間）を「Ａ」、その直前の第４番気筒♯４の膨張行程所要時間を「Ｂ」、その直前の第３番気筒♯３の膨張行程所要時間を「Ｃ」、更に、その直前の第１番気筒♯１の膨張行程所要時間を「Ｄ」、更に、その直前の第２番気筒♯２の膨張行程所要時間を「Ｅ」とした場合、現在、膨張行程を迎えている気筒（第２番気筒♯２）の回転変動量（ｅｄｄｔｃｒｘ）は、以下の式（１）によって算出される。
【００６４】
ｅｄｄｔｃｒｘ＝（Ａ−Ｂ）−（Ｃ−Ｄ）      …（１）
これにより、現在膨張行程中の気筒（第２番気筒♯２）の回転速度と、その直近の３回の膨張行程（第４番気筒♯４、第３番気筒♯３、第１番気筒♯１それぞれの膨張行程）での回転速度とによって、現在膨張行程中の気筒を対象とした回転変動量（ｅｄｄｔｃｒｘ）を求めることができる。
【００６５】
現在膨張行程中の気筒において失火が生じてエンジン回転速度が低下すると、クランクシャフト１０が一定クランク角度を回転するのに要する経過時間が長くなる。つまり、上記式（１）におけるＡの値がＢ，Ｃ，Ｄの値に対して大きくなる。そこで、各気筒の膨張行程時においてクランクシャフト１０が一定クランク角度（１８０°ＣＡ）を回転するのに要する経過時間を検出し、この経過時間の長さを上記式（１）に当てはめ、算出された回転変動量（ｅｄｄｔｃｒｘ）に基づいて、現在膨張行程中の気筒に失火が生じている可能性があるか否かを認識して、後述する失火判定出動作に役立てるようにしている。
【００６６】
（９０°ＣＡ所要時間）
上記９０°ＣＡ所要時間（ｅｄｔ）は、上述した如く、各気筒それぞれの膨張行程時におけるエンジン回転速度（所定クランク角度を回転するのに要する時間）であって、他の気筒の膨張行程時におけるエンジン回転速度の影響を受けることのない値として求められる。
【００６７】
具体的には、膨張行程を迎えている気筒が圧縮上死点から圧縮上死点後９０°ＣＡまで回転するのに要する時間として求められる値である。
【００６８】
例えば、図７に示すように、第１番気筒♯１、第３番気筒♯３、第４番気筒♯４、第２番気筒♯２の順で１８０°ＣＡ毎に燃焼行程を行っていく場合に、第２番気筒♯２が圧縮上死点（ＴＤＣ）から圧縮上死点後９０°ＣＡまで回転するのに要する時間は「Ａ’」、第４番気筒♯４が圧縮上死点から圧縮上死点後９０°ＣＡまで回転するのに要する時間は「Ｂ’」、第３番気筒♯３が圧縮上死点から圧縮上死点後９０°ＣＡまで回転するのに要する時間は「Ｃ’」、第１番気筒♯１が圧縮上死点から圧縮上死点後９０°ＣＡまで回転するのに要する時間は「Ｄ’」としてそれぞれ求められることになる。具体的には、上記クランク角センサ２１（３０°ＣＡ毎にパルス信号を出力するセンサ）が、各気筒の膨張行程の圧縮上死点でパルス信号を出力した後に３回のパルス信号を出力するまでの時間を計測することにより求められる。
【００６９】
そして、例えば第２番気筒♯２で失火が発生した場合には、上記９０°ＣＡ所要時間「Ａ’」が、他の９０°ＣＡ所要時間「Ｂ’、Ｃ’、Ｄ’」に比べて極端に大きな値として得られることになり、また、この９０°ＣＡ所要時間「Ａ’」は、他の９０°ＣＡ所要時間「Ｂ’、Ｃ’、Ｄ’」の影響を受けない値として得られることになる。
【００７０】
尚、上記回転変動量（ｅｄｄｔｃｒｘ）の算出動作では、膨張行程所要時間として、クランクシャフト１０が１８０°ＣＡだけ回転するのに要する時間を求めているのに対し、９０°ＣＡ所要時間（ｅｄｔ）としては、クランクシャフト１０が９０°ＣＡだけ回転するのに要する時間を求めている（回転変動量（ｅｄｄｔｃｒｘ）を算出するための回転角度よりも９０°ＣＡ所要時間（ｅｄｔ）を求めるための回転角度の方が小さく設定されている）。その理由について以下に説明する。
【００７１】
９０°ＣＡ所要時間（ｅｄｔ）は、他の気筒の膨張行程時における回転速度の影響を受けない回転速度を求めるものであり、失火が発生している気筒と失火が発生していない気筒とで、大きな時間差が得られるようにしておくことが好ましい。一般に膨張行程において正常な燃焼が行われた場合、圧縮上死点で混合気の燃焼が開始された後の圧縮上死点後９０°ＣＡ程度までは回転速度が高く、その後は回転速度が低下していく。一方、膨張行程において失火が発生した場合、圧縮上死点から圧縮上死点後９０°ＣＡ程度までの回転速度は低く、その後も回転速度は低くなっている。この両者の回転速度差として、圧縮上死点から圧縮上死点後９０°ＣＡ程度までの間の回転速度としては特に大きく得られるのに対し、圧縮上死点後９０°ＣＡ以降の回転速度としてはあまり大きく得られない。つまり、失火の有無による回転速度差が最も顕著に現れるのが、圧縮上死点から圧縮上死点後９０°ＣＡ程度までの間である。このため、９０°ＣＡ所要時間（ｅｄｔ）を求めるための回転角度は比較的小さく（圧縮上死点から圧縮上死点後９０°ＣＡまでの間に）設定される。これに対し、回転変動量（ｅｄｄｔｃｒｘ）の算出動作では、各気筒の膨張行程時における所定ＣＡだけ回転するのに要する時間同士の偏差として求められるため、所定ＣＡだけ回転するのに要する時間の値が大きいほど、失火した気筒と失火していない気筒との偏差の値を大きく得ることができる。このため、回転変動量（ｅｄｄｔｃｒｘ）を求めるための回転角度は比較的大きく設定されている。
【００７２】
（失火判定動作の手順の概略）
次に、上述した回転変動量（ｅｄｄｔｃｒｘ）および９０°ＣＡ所要時間（ｅｄｔ）を利用して行われる失火判定動作の手順の概略について説明する。尚、以下の説明で、「ロックアップクラッチ５３ｆのロックアップ状態（係合状態）」とは「ロックアップクラッチ５３ｆのフレックスロックアップ状態（半係合状態）」も含む概念とする。
【００７３】
（Ｉ）  先ず、エンジン１の回転変動量が所定の閾値（Ｎ１）を超えたか否かを判定し、この回転変動量が閾値（Ｎ１）を超えた場合に、失火が生じている可能性があると判断する。具体的には、上記回転変動量（ｅｄｄｔｃｒｘ）が、ある気筒の膨張行程において閾値（Ｎ１）を超えたか否かを判定し、この回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えた場合に、その膨張行程を迎えていた気筒（以下、失火判定対象気筒という）では失火が生じている可能性があると判断する。尚、この失火が生じている可能性があると判断するために閾値（Ｎ１）を超えているか否かの判定に使用する値としては上記回転変動量（ｅｄｄｔｃｒｘ）に限定されるものではない。
【００７４】
なお、上記閾値（Ｎ１）は、実験的または経験的に設定されるものであり、エンジン回転速度ＮＥが速いほど小さな値として例えばマップ演算される。これは、次の理由による。通常、エンジン回転速度ＮＥが速くなると、それに伴って上記各膨張行程所要時間Ａ〜Ｅがそれぞれ短い時間として算出される。このため、上記式（１）に基づき算出される回転変動量（ｅｄｄｔｃｒｘ）も小さな値として算出されるようになる。そこで、上記閾値（Ｎ１）をエンジン回転速度ＮＥが速くなるほど小さな値として設定しておくことで、エンジン回転速度ＮＥの変化による影響を極力排除した上で失火が生じている可能性があるか否かを判断することができるようにしている。また、この閾値（Ｎ１）は、エンジン負荷に応じて変更するようにしてもよい。例えば、エンジン負荷が高いほど閾値（Ｎ１）としては大きな値として設定される。
【００７５】
（II）  このようにして失火が生じている可能性があると判断されると、エンジン１の回転変動パターンが、上記失火判定対象気筒の膨張行程の前後において、予め設定された第１の失火判定パターンに略沿っているか否かによって失火の有無を判定する第１の失火判定動作を行う（第１失火判定手段による第１の失火判定動作）。具体的には、上記回転変動量（ｅｄｄｔｃｒｘ）の経時変化として表される回転変動パターンが第１の失火判定パターンに沿っているか否かによって失火の有無を判定する。この第１の失火判定パターンの詳細については後述する。
【００７６】
（III）  そして、この第１の失火判定動作において、上記失火判定対象気筒で失火が発生していると判定された場合には、失火判定動作としては「失火有り」を確定する。
【００７７】
一方、上記第１の失火判定動作において、失火が無いと判定された場合には、上記ロックアップクラッチ５３ｆがロックアップ状態であり、且つ上記失火判定対象気筒が膨張行程にある時の上記９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも長いか否か、つまり、失火判定対象気筒が膨張行程にある時のエンジン回転速度が所定値よりも低速度であるか否かを判定する機関回転速度判定動作を行う（機関回転速度判定手段による機関回転速度判定動作）。
【００７８】
なお、上記閾値（Ｔ）は、実験的または経験的に設定されており、上記閾値（Ｎ１）よりも小さな値として設定されている。また、この閾値（Ｔ）は、エンジン回転速度ＮＥが速いほど小さな値として例えばマップ演算される。これは、次の理由による。通常、エンジン回転速度ＮＥが速くなると、それに伴って上記９０°ＣＡ所要時間（ｅｄｔ）としては短い時間として算出される。そこで、上記閾値（Ｔ）をエンジン回転速度ＮＥが速くなるほど小さな値として設定しておくことで、エンジン回転速度ＮＥの変化による影響を極力排除した上で失火が生じているか否かを判断することができるようにしている。また、この閾値（Ｔ）は、エンジン負荷に応じて変更するようにしてもよい。具体的には、エンジン負荷が高いほど大きな値として設定する。
【００７９】
また、上述したような９０°ＣＡ所要時間（ｅｄｔ）が閾値（Ｔ）よりも長いか否かを判定する動作と同時に、上記回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えている気筒（失火判定対象気筒）では、このような回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が、連続的に発生しているか否かを判定する。つまり、この失火判定対象気筒の膨張行程において連続的に回転変動が生じているか否かを判定する。
【００８０】
また、このような回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が連続的に発生しているか否かを判定する動作に代えて、失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が閾値（Ｔ）よりも長い状況が、連続的に発生しているか否かを判定するようにしてもよい。
【００８１】
（IV）  そして、失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも短い場合、つまり、膨張行程時のクランク回転速度が予め設定された閾値よりも高い場合には、失火判定動作としては「失火無し」を確定する。
【００８２】
一方、失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも長く、且つこの失火判定対象気筒では、回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が連続的に発生している場合には、エンジン１の回転変動パターンが、上記失火判定対象気筒の膨張行程の前後において、上記第１の失火判定パターンとは異なるパターンとして規定された第２の失火判定パターンに略沿っているか否かによって失火の有無を判定する第２の失火判定動作を行うようにしている（第２失火判定手段による第２の失火判定動作）。具体的には、上記９０°ＣＡ所要時間（ｅｄｔ）の値の経時変化として表される回転変動パターンが第２の失火判定パターンに沿っているか否かによって失火の有無を判定する。この第２の失火判定動作において、回転変動パターンが第２の失火判定パターンに沿っていないと判定された場合には、失火判定動作としては「失火無し」を確定する。一方、この第２の失火判定動作において、回転変動パターンが第２の失火判定パターンに略沿っていると判定された場合には、失火判定動作としては「失火有り」を確定する。この第２の失火判定パターンの詳細については後述する。
【００８３】
−失火判定パターン−
次に、上述した失火判定のための各失火判定パターンについて説明する。
【００８４】
図８は、ロックアップクラッチ５３ｆが非ロックアップ状態（解放状態）にある際に第２番気筒♯２で連続的に失火が発生している場合における回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンおよび９０°ＣＡ所要時間（ｅｄｔ）の変動パターンの一例を示している。また、この図８に示す回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンおよび９０°ＣＡ所要時間（ｅｄｔ）の変動パターンは、ロックアップクラッチ５３ｆがロックアップ状態（上述した如く、フレックスロックアップ状態も含む）であり、エンジン１と自動変速機５０との共振現象が生じていない際において、第２番気筒♯２で連続的に失火が発生している場合のパターンでもある。
【００８５】
また、図９は、ロックアップクラッチ５３ｆがロックアップ状態（上述した如く、フレックスロックアップ状態も含む）であり、エンジン１と自動変速機５０との共振現象が生じている際において、第２番気筒♯２で連続的に失火が発生している場合における回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンおよび９０°ＣＡ所要時間（ｅｄｔ）の一例を示している。
【００８６】
図８および図９の各波形における、ΔＮ１−０は第３番気筒♯３の膨張行程時における回転変動量、ΔＮ１−１は第１番気筒♯１の膨張行程時における回転変動量、ΔＮ１−２は第２番気筒♯２の膨張行程時における回転変動量、ΔＮ１−３は第４番気筒♯４の膨張行程時における回転変動量である。つまり、ΔＮ１−３→ΔＮ１−２→ΔＮ１−１→ΔＮ１−０→ΔＮ１−３→…の順に従う回転変動量の変化が、この回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンとなる。
【００８７】
同様に、図８および図９の各波形における、ＮＥ０は第３番気筒♯３の膨張行程時における９０°ＣＡ所要時間、ＮＥ１は第１番気筒♯１の膨張行程時における９０°ＣＡ所要時間、ＮＥ２は第２番気筒♯２の膨張行程時における９０°ＣＡ所要時間、ＮＥ３は第４番気筒♯４の膨張行程時における９０°ＣＡ所要時間である。つまり、ＮＥ３→ＮＥ２→ＮＥ１→ＮＥ０→…の順に従う９０°ＣＡ所要時間の変化が、この９０°ＣＡ所要時間（ｅｄｔ）の変動パターンとなる。
【００８８】
（第１の失火判定パターン）
上記第１の失火判定パターンは、回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンを対象とするものであり、図８に示している回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンに相当する。つまり、この第１の失火判定パターンは、ロックアップクラッチ５３ｆが非ロックアップ状態にある際に失火が発生した場合における回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターン、または、ロックアップクラッチ５３ｆがロックアップ状態にあり、エンジン１と自動変速機５０との共振現象が生じることなしに失火が発生した場合における回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンに相当する。以下、具体的に説明する。
【００８９】
図８の回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンに示すように、例えば第２番気筒♯２（失火判定対象気筒）で失火が発生する場合には、この第２番気筒♯２の膨張行程時に算出された回転変動量（ｅｄｄｔｃｒｘ＝ΔＮ１−２）が、その直前の第４番気筒♯４の膨張行程時に算出された回転変動量（ｅｄｄｔｃｒｘ＝ΔＮ１−３）および直後の第１番気筒♯１の膨張行程時に算出された回転変動量（ｅｄｄｔｃｒｘ＝ΔＮ１−１）に比べて特に大きくなる。また、これに加えて、第２番気筒♯２（失火判定対象気筒）の２点火後に膨張行程を迎えた第３番気筒♯３の膨張行程時に算出された回転変動量（ｅｄｄｔｃｒｘ＝ΔＮ１−０）が、上記回転変動量ΔＮ１−２（失火判定対象気筒である第２番気筒♯２の回転変動量）と、ほぼその絶対値が同じであって、且つ正負が逆の値をとるようになる。
【００９０】
本実施形態の失火判定装置では、このように回転変動量ΔＮ１−０〜ΔＮ１−３の変化パターンが、非ロックアップ状態における失火発生時に特有のパターンとなることに着目して失火発生を判断するべく、以下の各条件がエンジン制御装置４０内のＲＯＭに予め記憶されている。
【００９１】
（ａ）ΔＮ１−２×Ｘ＜｜ΔＮ１−０｜、且つ
（ｂ）ΔＮ１−２×Ｙ≧ΔＮ１−３、且つ
（ｃ）ΔＮ１−２×Ｚ≧ΔＮ１−１
これら（ａ）〜（ｃ）の論理積が満たされる（つまり、上記第１の失火判定パターンとなる）ことを条件として、回転変動量がΔＮ１−２である気筒（第２番気筒♯２）で失火が発生していると判断されることになる。ここで、上記各係数Ｘ，Ｙ，Ｚは、それぞれ「１」未満の正の値として実験的または経験的に設定されている。
【００９２】
また、これら係数Ｘ〜Ｚは、エンジン回転速度ＮＥに基づき算出される。具体的には、上記各係数Ｘ〜Ｚは、エンジン回転速度ＮＥが速くなるほど小さな値として算出される。これは、次の理由による。
【００９３】
上述したように、エンジン回転速度ＮＥが速くなると、それに伴って各回転変動量ΔＮ１−０〜ΔＮ１−３は小さな値として算出されるようになる。そこで、上記各係数Ｘ〜Ｚをエンジン回転速度ＮＥが速いときほど小さな値として算出することで、これら回転変動量ΔＮ１−０〜ΔＮ１−３の変化パターンと、上記失火パターンとを、エンジン回転速度ＮＥの変化による影響を極力排除した上で比較することができるようにしている。
【００９４】
そして、上記（ａ）〜（ｃ）の論理積条件が満たされているときには、回転変動量ΔＮ１−０〜ΔＮ１−３の変化パターンが、非ロックアップ状態における失火パターン（第１の失火判定パターン）になっており、回転変動量ΔＮ１−２が大きくなった原因は失火であるとして「失火有り」と判定される。
【００９５】
（第２の失火判定パターン）
上記第２の失火判定パターンは、上記９０°ＣＡ所要時間（ｅｄｔ）の変動パターンを対象とするものであり、図９に示している９０°ＣＡ所要時間（ｅｄｔ）の変動パターンに相当する。つまり、この第２の失火判定パターンは、ロックアップクラッチ５３ｆがロックアップ状態であり、エンジン１と自動変速機５０との共振現象が生じている場合において、第２番気筒♯２で失火が発生している際の９０°ＣＡ所要時間（ｅｄｔ）の変動パターンに相当する。以下、具体的に説明する。
【００９６】
図９の９０°ＣＡ所要時間（ｅｄｔ）の変動パターンに示すように、例えば第２番気筒♯２（失火判定対象気筒）で失火が発生する場合には、この第２番気筒♯２の膨張行程時における９０°ＣＡ所要時間（ｅｄｔ）が、その直前の第４番気筒♯４の膨張行程時における９０°ＣＡ所要時間（ｅｄｔ）および直後の第１番気筒♯１の膨張行程時における９０°ＣＡ所要時間（ｅｄｔ）に比べて特に大きくなる。
【００９７】
本実施形態の失火判定装置では、このように９０°ＣＡ所要時間（ｅｄｔ）の変化パターンが、ロックアップ状態における失火発生時に特有のパターンとなることに着目して失火発生を判断するべく、以下の条件がエンジン制御装置４０内のＲＯＭに予め記憶されている。
【００９８】
具体的には、第２の失火判定パターンは、９０°ＣＡ所要時間（ｅｄｔ）が以下の式（２）および式（３）に当てはまるような変動状態となった場合の変動パターンとして規定されている。
【００９９】
ＮＥ２×γ≧ＮＥ３      …（２）
ＮＥ２×γ≧ＮＥ１      …（３）
ここで、ＮＥ２は、第２番気筒♯２の膨張行程時における９０°ＣＡ所要時間、つまり、失火判定対象気筒の膨張行程時における９０°ＣＡ所要時間である。また、ＮＥ３は、第４番気筒♯４の膨張行程時における９０°ＣＡ所要時間、つまり、失火判定対象気筒の膨張行程の直前に膨張行程を迎えていた気筒における９０°ＣＡ所要時間である。また、ＮＥ１は、第１番気筒♯１の膨張行程時における９０°ＣＡ所要時間、つまり、失火判定対象気筒の膨張行程の直後に膨張行程を迎えていた気筒における９０°ＣＡ所要時間である。更に、γは「１」未満の正の値として設定された係数であり、実験的または経験的に設定されている。
【０１００】
このようにして第２の失火判定パターンが規定されることで、図９で示すように回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンが上記第１の失火判定パターンに一致しない状況であったとしても、この第２の失火判定パターンを利用して失火判定を行うことが可能になる。
【０１０１】
このように、本実施形態では、複数の気筒それぞれの膨張行程時におけるエンジン回転速度（所定クランク角度を回転するのに要する時間）の偏差に基づいた値として算出される回転変動量（ｅｄｄｔｃｒｘ）に基づいた失火判定動作と、他の気筒の膨張行程時におけるエンジン回転速度の影響を受けることのない値として求められる９０°ＣＡ所要時間（ｅｄｔ）とを併用し、これらにより規定される失火判定パターンのうち少なくとも一方に略一致するパターンでエンジン１が駆動している場合には失火が発生していると判定するようにしている。
【０１０２】
つまり、例えば、上記回転変動量（ｅｄｄｔｃｒｘ）に基づいて失火判定動作を行うようにした従来の失火判定動作にあっては、図９に示す回転変動量（ｅｄｄｔｃｒｘ）の失火判定パターンでは、失火判定対象気筒である第２番気筒♯２の膨張行程時における回転変動量と、その直前に膨張行程を迎えていた第４番気♯４の膨張行程時における回転変動量との差が小さいために、失火無しと判定してしまう可能性が高いものであった。本実施形態では、このような状況であっても、ロックアップクラッチ５３ｆがロックアップ状態またはフレックスロックアップ状態にある場合に限って、上記失火判定対象気筒である第２番気筒♯２の膨張行程時における９０°ＣＡ所要時間（ｅｄｔ）に基づいて失火を検出することが可能になっている。
【０１０３】
−失火判定処理の手順−
以下、本実施形態における失火判定処理の手順について、図１０のフローチャートを参照して説明する。この図１０に示す制御ルーチンは、上記エンジン制御装置４０において、例えばクランクシャフト１０の１回転毎または所定時間毎（例えば数ｍｓｅｃ毎）に繰り返して実行される。
【０１０４】
尚、この処理は、失火を判定（失火検出）するための前提条件が成立している場合に実行される。この判断では、上記前提条件に基づく判断を通じて、失火発生以外の要因でエンジン回転速度ＮＥが大きく変動するおそれがなく、この失火発生に伴うエンジン回転速度ＮＥの変動を精度よく検出することができる条件下であるか否かが判断される。なお、上記前提条件としては、例えば、エアーコンディショナの作動／非作動が切り換えられてから所定時間が経過していることや、シフトレバーが操作されてから所定時間が経過していること等がある。
【０１０５】
そして、上記前提条件が成立している状態で、ステップＳＴ１において失火仮判定処理が実行される。この失火仮判定処理は、何れかの気筒で失火が発生している可能性があるか否かを判断する処理である。具体的には、上述したように、エンジン１の上記回転変動量（ｅｄｄｔｃｒｘ）が、ある気筒の膨張行程において閾値（Ｎ１）を超えたか否かを判定し、この回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えた場合に、その膨張行程を迎えていた気筒（失火判定対象気筒）では失火が生じている可能性があると判断する。
【０１０６】
このステップＳＴ１で回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えおらず、失火が発生している可能性がないと判断（ステップＳＴ１でＮＯ判定）されると、そのまま本ルーチンを終了する。
【０１０７】
一方、回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えており、失火が発生している可能性があると判断（ステップＳＴ１でＹＥＳ判定）されると、ステップＳＴ２に移り、仮判定結果フラグを「１」に設定し、ステップＳＴ３で、失火種別および失火発生気筒の情報を初期化する。つまり、前回の失火判定処理で判断された失火種別および失火発生気筒のデータをリセットする。また、ステップＳＴ４において、パターン判定タイミングカウンタを「０」に設定する。つまり、前回の失火判定処理で使用したパターン判定タイミングカウンタのカウント値をリセットする。
【０１０８】
その後、ステップＳＴ５において、上記第１の失火判定動作により失火種別判定動作を実行する。つまり、エンジン１の回転変動パターンが、上記失火判定対象気筒の膨張行程の前後において、上記第１の失火判定パターン（図８に示している回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンに相当）に略沿っているか否かを判定し、失火の有無を判定する。
【０１０９】
そして、エンジン１の回転変動パターンが、上記第１の失火判定パターンに略沿っている場合には、失火が発生しているとして、ステップＳＴ８に移る。つまり、本ルーチンの失火判定処理において「失火有り」を確定する。
【０１１０】
一方、エンジン１の回転変動パターンが、上記第１の失火判定パターンに沿っていない場合（第１の失火判定動作において失火有りと判断されなかった場合）には、未だ、「失火有り／失火無し」の確定を行うこと無しにステップＳＴ６に移る。このステップＳＴ６では、上記ロックアップクラッチ５３ｆがロックアップ状態（フレックスロックアップ状態を含む）であり且つ上記エンジン１の回転変動パターンがロックアップ状態での失火発生時に特有の特定回転変動パターンに略沿っているか否かを判定する。つまり、上記失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも長く、且つ、回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えている気筒（失火判定対象気筒）では、このような回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が連続的に発生しているといった特定パターン（エンジン１と自動変速機５０との共振現象が生じている状態で、単一気筒に失火が発生している場合に特有の回転変動パターン）となっているか否かを判定する。
【０１１１】
また、この特定パターン判定動作にあっては、エンジン負荷の急な変化が生じていないことも実行条件となる。例えば、アクセルペダル１８の操作量の急な変化や、自動変速機５０の変速動作や、補機類の負荷変動などが生じていないことが条件となる。
【０１１２】
そして、この特定パターン判定動作において、上記失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも短い場合や、回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えている気筒（失火判定対象気筒）では、このような回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が連続的に発生していない場合には、本ルーチンの失火判定処理において「失火無し」を確定する。つまり、上記回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えた原因は、悪路の走行などのように失火以外のものが原因であったと判断して「失火無し」を確定する。
【０１１３】
一方、上記失火判定対象気筒が膨張行程にある時の９０°ＣＡ所要時間（ｅｄｔ）が、予め設定された閾値（Ｔ）よりも長く、且つ、回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えている気筒（失火判定対象気筒）では、このような回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超える状況が連続的に発生しており、ステップＳＴ６でＹＥＳ判定された場合には、ステップＳＴ７に移る。このステップＳＴ７では、９０°ＣＡ所要時間（ｅｄｔ）の変動パターンが上記第２の失火判定パターンに略沿っているか否かによって失火の有無を判定する第２の失火判定動作を実行する。
【０１１４】
そして、この第２の失火判定動作において、９０°ＣＡ所要時間（ｅｄｔ）の変動パターンが上記第２の失火判定パターン（図９に示している９０°ＣＡ所要時間（ｅｄｔ）の変動パターンに相当）に沿っていないと判定された場合（ステップＳＴ７でＮＯ判定された場合）には、本ルーチンの失火判定処理において「失火無し」を確定する。つまり、上記回転変動量（ｅｄｄｔｃｒｘ）が閾値（Ｎ１）を超えた原因は、悪路の走行などのように失火以外のものが原因であったと判断して「失火無し」を確定する。
【０１１５】
一方、この第２の失火判定動作において、９０°ＣＡ所要時間（ｅｄｔ）の変動パターンが上記第２の失火判定パターンに略沿っていると判定された場合（ステップＳＴ７でＹＥＳ判定された場合）には、失火判定動作としては「失火有り」を確定し、ステップＳＴ８に移る。つまり、本ルーチンの失火判定処理において「失火有り」を確定する。
【０１１６】
上記ステップＳＴ５またはステップＳＴ７において「失火有り」が確定した後、ステップＳＴ８では、失火種別の処理動作を行う、具体的には、総失火カウンタ４１のカウント値をインクリメントおよび検出カウンタ（１０００ｒｅｖカウンタ）のカウント値のインクリメントを行う。この場合、検出カウンタのカウント値が所定値（例えば１０００）を超えており且つ総失火カウンタ４１のカウント値も所定値（例えば３０）を超えている場合、総検出回数中に所定回数以上の頻度で失火発生が検出されたと判断され、排気エミッションの悪化や触媒１２の劣化等を招くおそれのある頻度で失火が発生しているとして、ＭＩＬ（警告灯）が点灯し、運転者に警告を促すことになる。また、ステップＳＴ９において失火気筒の特定を行い、その気筒に対応する気筒別失火カウンタ４２のカウント値をインクリメントする。そして、この失火発生情報および失火発生気筒情報は上記エンジン制御装置４０に備えられたダイアグノーシスに書き込まれることになる。
【０１１７】
以上説明したように、本実施の形態によれば、以下の効果が得られる。エンジン１の回転変動パターンが上記第１の失火判定パターンに沿っている場合には、ロックアップクラッチ５３ｆの非ロックアップ状態での失火、または、共振現象が生じていない状態での失火が発生していると判断する。一方、エンジン１の回転変動パターンが第１の失火判定パターンに沿っていない場合には、失火判定対象気筒の膨張行程時における９０°ＣＡ所要時間が所定値を越えていること等を条件として、上記第２の失火判定パターンに基づいた失火判定動作を実行し、第２の失火判定パターンに沿っている場合には、共振現象が生じている状態で失火が発生していると判断するようにしている。
【０１１８】
その結果、ロックアップクラッチ５３ｆのロックアップ状態において、エンジン１と自動変速機５０との共振現象が発生している場合に、従来であれば、この共振の影響によって他の気筒の膨張行程時における回転速度の検出値が正確に検出できずに、失火が発生していてもそれを検出することができない可能性が高かったが、本実施形態によれば、他の気筒の膨張行程時における回転速度の影響を排除した失火判定動作も実行するようにしているので、上記共振現象の悪影響を受けることなく失火が発生していることが正確に検出可能になる。このようにして、上記共振現象の悪影響を受けることなく失火が発生していることが正確に判定され、失火判定の信頼性を高めることができる。
【０１１９】
（Ｎ１判定の変形例）
上記実施形態では、上記回転変動量（ｅｄｄｔｃｒｘ）が所定の閾値（Ｎ１）を超えた場合に、失火が生じている可能性があると判断するようにし、この回転変動量（ｅｄｄｔｃｒｘ）としては、上記式（１）により算出するものとしていた。本変形例では、これに代えて、以下に説明する新たな回転変動量（ｅｄｌｔｍｆｈ：以下、第２回転変動量と呼ぶ）を算出し、この値が閾値（Ｎ１）を超えた場合に、失火が生じている可能性があると判断するようにしている。この失火が生じている可能性があるか否かを判断するための第２回転変動量（ｅｄｌｔｍｆｈ）が上記実施形態とは異なっており、その他の構成および失火判定動作は上記実施形態と略同一であるので、ここでは、この第２回転変動量（ｅｄｌｔｍｆｈ）の算出動作についてのみ説明する。
【０１２０】
この第２回転変動量（ｅｄｌｔｍｆｈ）の算出動作としては、先ず、「現在、膨張行程を迎えている気筒の膨張行程所要時間と、この気筒の２点火前に膨張行程を迎えていた（点火タイミングで３６０°ＣＡ前の）気筒の膨張行程所要時間との偏差（前者の膨張行程所要時間から後者の膨張行程所要時間を減算した値）」を求める。そして、「現在、膨張行程を迎えている気筒の直前に膨張行程を迎えていた（点火タイミングで１８０°ＣＡ前の）気筒の膨張行程所要時間とその気筒の２点火前（現在、膨張行程を迎えている気筒の３点火前（点火タイミングで５４０°ＣＡ前））に膨張行程を迎えていた気筒の膨張行程所要時間との偏差（前者の膨張行程所要時間から後者の膨張行程所要時間を減算した値）」と「現在、膨張行程を迎えている気筒の２点火前に膨張行程を迎えていた（点火タイミングで３６０°ＣＡ前の）気筒の膨張行程所要時間とその気筒の更に２点火前（現在、膨張行程を迎えている気筒の４点火前（点火タイミングで７２０°ＣＡ前））に膨張行程を迎えていた気筒の膨張行程所要時間との偏差（前者の膨張行程所要時間から後者の膨張行程所要時間を減算した値）」との平均値を、上記「現在、膨張行程を迎えている気筒の膨張行程所要時間と、この気筒の２点火前に膨張行程を迎えていた気筒の膨張行程所要時間との偏差」から減算することで上記第２回転変動量（ｅｄｌｔｍｆｈ）は求められる。
【０１２１】
図６に当てはめた場合、この第２回転変動量（ｅｄｌｔｍｆｈ）は、以下の式（４）によって算出される。
【０１２２】
ｅｄｌｔｍｆｈ＝（Ａ−Ｃ）−｛（Ｂ−Ｄ）＋（Ｃ−Ｅ）｝／２      …（４）
このようにして第２回転変動量（ｅｄｌｔｍｆｈ）を算出し、この第２回転変動量（ｅｄｌｔｍｆｈ）が閾値（Ｎ１）を超えた場合に、失火が生じている可能性があると判断するようにした場合にも、エンジン１に失火が発生している可能性の有無を正確に判別することが可能である。
【０１２３】
−他の実施形態−
上記実施の形態は、以下のように変更して実施してもよい。
・上記実施形態および変形例では、本発明を自動車用４気筒ガソリンエンジンに適用した場合について説明したが、本発明は、これに限るものではなく、種々のエンジン（４気筒以外の例えば６気筒のエンジン、ディーゼルエンジン、自動車以外に搭載されるエンジン等）に対して適用できる。
・上記実施形態および変形例では、所定値Ｎ１をエンジン回転速度ＮＥおよび吸気管内圧力ＰＭに基づき算出するようにしたが、これに限られない。例えば、この所定値Ｎ１を、エンジン回転速度ＮＥおよび吸気管内圧力ＰＭの何れか一方に基づき算出したり、あるいは他のパラメータに基づき算出してもよい。また、吸気管内圧力ＰＭに代えて吸入空気量を検出するシステムにあっては、この吸入空気量を代用しても勿論よい。他方、所定値Ｎ１を一定の値として設定するようにしてもよい。要は、失火の発生に伴う回転変動量ΔＮＥの変化を好適に監視できるのであれば、所定値Ｎ１をどのように算出、若しくは設定してもよい。
・上記実施形態および変形例では、各係数Ｘ〜Ｚをエンジン回転速度ＮＥに基づき算出するようにしたが、これに限らず、例えば各係数Ｘ〜Ｚを吸気管内圧力ＰＭや吸入空気量に基づいて算出したり、あるいは他のパラメータに基づき算出したりするようにしてもよい。また、各係数Ｘ〜Ｚを一定の値として設定するようにしてもよい。要は、失火判定パターンを好適なパターンとして設定できるのであれば、係数Ｘ〜Ｚをどのように算出、若しくは設定するようにしてもよい。
・上記実施形態では、検出カウンタ（１０００ｒｅｖカウンタ）によって総検出回数を、失火カウンタ（総失火カウンタ４１および気筒別失火カウンタ４２）によって失火発生の検出回数をそれぞれカウントすることで、失火発生の検出頻度を求めるようにしたが、これら頻度の求め方も任意である。
・上記回転変動量としては上記式（１）または式（４）から算出するようにしたが、これに限られない。要は、失火発生に伴うエンジン回転速度の変動を把握することが可能な態様であれば、回転変動量の算出態様を適宜変更してもよい。
・また、上記実施形態では、有段式の自動変速機５０が連結されたエンジン１に対して本発明を適用した場合について説明したが、ベルト式ＣＶＴ（Ｃｏｎｔｉｎｕｏｕｓｌｙ  Ｖａｒｉａｂｌｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ）やトロイダル式ＣＶＴ等の無段変速機が連結されたエンジン１に対しても本発明は適用可能である。
【図面の簡単な説明】
【０１２４】
【図１】実施形態に係る失火判定装置が適用されるエンジンおよびその周辺装置の概略構成を示す図である。
【図２】実施形態に係る車両のパワートレーンを示す概略構成図である。
【図３】トルクコンバータの概略構成を模式的に示す自動変速機の概略構成図である。
【図４】エンジン制御装置およびトランスミッション制御装置を含む制御ブロックを示す概略構成図である。
【図５】ロックアップクラッチの制御に用いるロックアップクラッチ作動マップを示す図である。
【図６】各気筒の燃焼行程の順序と、それぞれにおける膨張行程所要時間とを示す図である。
【図７】各気筒の燃焼行程の順序と、それぞれにおける圧縮上死点後９０°ＣＡだけ回転するのに要する時間とを示す図である。
【図８】ロックアップクラッチが非ロックアップ状態にある際に第２番気筒で連続的に失火が発生している場合における回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンおよび９０°ＣＡ所要時間（ｅｄｔ）の変動パターンの一例を示す図である。
【図９】ロックアップクラッチがロックアップ状態であり、エンジンと自動変速機との共振現象が生じている際において、第２番気筒で連続的に失火が発生している場合の回転変動量（ｅｄｄｔｃｒｘ）の回転変動パターンおよび９０°ＣＡ所要時間（ｅｄｔ）の変動パターンの一例を示す図である。
【図１０】失火判定処理動作の手順を示すフローチャート図である。
【符号の説明】
【０１２５】
１        エンジン（内燃機関）
５０      自動変速機
５３      トルクコンバータ（流体式動力伝達装置）
５３ｆ    ロックアップクラッチ
５４      変速機構部
Ｎ１      閾値
♯１      第１気筒（１点火後気筒）
♯２      第２気筒（失火判定対象気筒）
♯４      第４気筒（１点火前気筒）
【図１】
2010024850.tif 000003
【図２】
2010024850.tif 000004
【図３】
2010024850.tif 000005
【図４】
2010024850.tif 000006
【図５】
2010024850.tif 000007
【図６】
2010024850.tif 000008
【図７】
2010024850.tif 000009
【図８】
2010024850.tif 000010
【図９】
2010024850.tif 000011
【図１０】
2010024850.tif 000012