(57)【要約】【課題】クランク角度位置信号の異常を確実に検出して異常発生時のフェールセーフ機能を確保した内燃機関制御装置を得る。【解決手段】気筒判別手段による気筒判別結果とクランク角度位置信号のクランク角度位置とに基づいて燃料噴射信号および点火信号を生成する気筒制御手段と、クランク角度位置信号の異常を判定する異常判定手段とを備え、気筒判別手段は、異常が判定された場合に気筒判別手段による現在の判別内容をリセットする気筒判別リセット手段を含み、気筒判別リセット手段は、燃料噴射信号および点火信号を停止させる燃料噴射・点火信号停止手段３０１、３０２と、異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段３０５とを含む。【選択図】　　　　図７
2004027898.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の複数の気筒を判別して前記各気筒に対する燃料噴射および点火時期を制御するための内燃機関制御装置であって、
前記内燃機関のクランク軸に設けられて、前記クランク軸の回転角度位置に対応して複数個のクランク角度位置信号を出力するクランク角度位置信号発生手段と、
前記クランク軸の２回転に１回転の割合で回転するカム軸に設けられて、前記カム軸の回転角度位置に対応して、前記各気筒に対応した気筒判別信号を発生する気筒判別信号発生手段と、
前記クランク角度位置信号に含まれる基準クランク角度位置を検出するための基準クランク角度位置検出手段と、
前記気筒判別信号に基づいて前記各気筒を判別する気筒判別手段と、
前記気筒判別手段による気筒判別結果と前記クランク角度位置信号のクランク角度位置とに基づいて、少なくとも前記各気筒に対する燃料噴射信号および点火信号を生成する気筒制御手段と、
少なくとも前記クランク角度位置信号の異常を判定する異常判定手段とを備え、
前記気筒判別手段は、前記クランク角度位置信号の異常が判定された場合に、
前記気筒判別手段による現在の判別内容をリセットする気筒判別リセット手段を含み、
前記気筒判別リセット手段は、
前記燃料噴射信号および前記点火信号を停止させる燃料噴射・点火信号停止手段と、
異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段と
を含むことを特徴とする内燃機関制御装置。
【請求項２】
前記異常判定手段は、前記気筒判別信号が所定のクランク角度にわたって検出されない場合に、前記クランク角度位置信号を異常と判定することを特徴とする請求項１に記載の内燃機関制御装置。
【請求項３】
前記異常判定手段は、前記基準クランク角度位置により限定される所定角度の間に前記クランク角度位置信号が所定数だけ検出されない場合に、前記クランク角度位置信号を異常と判定することを特徴とする請求項１に記載の内燃機関制御装置。
【請求項４】
前記異常判定手段は、所定のクランク角度にわたって前記基準クランク角度位置が検出されない場合に、前記クランク角度位置信号を異常と判定することを特徴とする請求項１に記載の内燃機関制御装置。
【請求項５】
前記異常判定手段は、前記気筒判別信号の異常を判定し、
前記気筒判別リセット手段は、前記燃料噴射および前記点火時期の少なくとも一方が制御されている間に前記気筒判別信号の異常が判定された場合に、前記燃料噴射信号および前記点火信号を停止させるとともに、前記気筒判別信号の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアすることを特徴とする請求項１に記載の内燃機関制御装置。
【請求項６】
前記異常判定手段は、前記気筒判別信号が検出されたクランク角度位置が所定範囲外にある場合に、前記気筒判別信号を異常と判定することを特徴とする請求項５に記載の内燃機関制御装置。
【請求項７】
前記異常判定手段は、クランク角度位置の所定範囲内に前記気筒判別信号が所定数以上検出された場合に、前記気筒判別信号を異常と判定することを特徴とする請求項５に記載の内燃機関制御装置。
【請求項８】
前記異常判定手段は、前記クランク角度位置信号の各信号間に前記気筒判別信号が所定数以上検出された場合に、前記気筒判別信号を異常と判定することを特徴とする請求項５に記載の内燃機関制御装置。
【請求項９】
前記異常判定手段は、前記基準クランク角度位置で限定される複数のクランク角度位置と前記気筒判別信号とが所定の位置関係でない場合に、前記気筒判別信号を異常と判定することを特徴とする請求項５に記載の内燃機関制御装置。
【請求項１０】
前記気筒判別手段は、
前記クランク角度位置信号に基づくクランク角度位置と前記気筒判別手段の気筒判別結果とを順次更新しながら読み込み、第１の気筒系列として記憶する第１の気筒系列記憶手段と、
あらかじめ正規のクランク角度位置および気筒系列が第２の気筒系列として記憶されている第２の気筒系列記憶手段と、
前記第１および第２の気筒系列が一致しているか否かを判定する気筒系列比較手段と、
前記気筒系列比較手段により、所定行程間にわたって前記第１および第２の気筒系列が一致していることが判定された場合に、前記第２の気筒系列を学習系列として生成する学習系列生成手段とを含み、
前記学習系列が生成された後は、前記学習系列にしたがって前記クランク角度位置信号の角度位置および前記各気筒を決定することを特徴とする請求項１から請求項９までのいずれか１項に記載の内燃機関制御装置。
【請求項１１】
前記異常判定手段は、
前記基準クランク角度位置検出手段により検出された基準クランク角度位置と、前記学習系列にしたがう基準クランク角度位置とを比較する基準クランク角度位置比較手段を含み、
前記基準クランク角度位置比較手段により前記各基準クランク角度位置が不一致であると判定された場合に、前記学習系列の基準クランク角度位置が異常状態であると判定し、
前記気筒判別手段は、
前記異常判定手段により前記学習系列の基準クランク角度位置が異常状態であると判定された場合に、前記基準クランク角度位置検出手段が次回に検出する基準クランク角度位置を前記学習系列の基準クランク角度位置として再設定する学習系列再設定手段と、
前記異常判定手段により異常状態であると判定されたときの前記学習系列の気筒番号を保持し、前記学習系列の基準クランク角度位置から前記次回に検出される基準クランク角度位置までの間に検出されるクランク角度位置信号の数が第１の所定数以下のときに、前記保持された学習系列の気筒番号の通りに制御気筒番号を設定する第１の気筒番号設定手段と、
前記クランク角度位置信号数が前記第１の所定数よりも大きい第２の所定数以上のときに、前記保持された学習系列の気筒番号から前記制御気筒番号を１だけ進める第２の気筒番号設定手段と、
前記クランク角度位置信号の信号数が前記第１および第２の所定数の間の数であった場合と、前記学習系列の基準クランク角度位置から、前記第２の所定数よりも大きい第３の所定数だけ検出されても、検出されるべき基準クランク角度位置が検出されない場合とにおいて、前記第１および第２の気筒番号設定手段による制御気筒番号の設定が不適切であると判定し、前記学習系列生成手段および前記気筒判別手段をリセットする学習系列気筒判別リセット手段とを含み、
前記学習系列気筒判別リセット手段は、
前記第１の気筒系列記憶手段の記憶内容をクリアして前記学習系列をクリアする学習系列情報クリア手段と、
前記燃料噴射信号および前記点火信号を停止させる燃料噴射・点火信号停止手段と、
前記学習系列の基準クランク角度位置の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段と
を含むことを特徴とする請求項１０に記載の内燃機関制御装置。
【請求項１２】
前記異常判定手段は、
前記基準クランク角度位置比較手段により前記各基準クランク角度位置が不一致であると判定された場合に、
前記学習系列再設定手段と前記第１または第２の気筒番号設定手段とにより再設定された学習系列にしたがう基準クランク角度位置の気筒が前記気筒判別手段による次回の気筒判別結果と一致した場合には、前記再設定された学習系列が正常であると判定し、
前記再設定された学習系列にしたがう基準クランク角度位置の気筒が前記気筒判別手段による次回の気筒判別結果と不一致であった場合には、前記再設定された学習系列が異常であると判定し、
前記学習系列気筒判別リセット手段は、前記異常判定手段により前記再設定された学習系列のクランク角度位置が異常であると判定された場合に、前記学習系列生成手段および前記気筒判別手段をリセットすることを特徴とする請求項１１に記載の内燃機関制御装置。
【請求項１３】
前記学習系列気筒判別リセット手段は、
前記異常判定手段により、前記学習系列の基準クランク角度位置が正常であると判定され、且つ前記気筒判別信号の異常が判定された場合には、
前記学習系列生成手段および前記気筒判別手段をリセットすることを特徴とする請求項１０から請求項１２までのいずれか１項に記載の内燃機関制御装置。
【請求項１４】
前記異常判定手段は、前記気筒系列比較手段により前記第１および第２の気筒系列の各クランク角度位置が一致していると判定されたときに、前記学習系列が所定行程数間以内に生成されない場合には、前記気筒判別信号を異常と判定することを特徴とする請求項１３に記載の内燃機関制御装置。
【請求項１５】
前記異常判定手段は、前記学習系列生成手段による前記学習系列の生成後に、所定行程間にわたって連続して前記第１および第２の気筒系列が不一致となる場合には、前記気筒判別信号を異常と判定することを特徴とする請求項１３に記載の内燃機関制御装置。
【請求項１６】
前記異常判定手段は、エラーカウンタおよび学習系列エラーカウンタ設定手段を含み、
前記エラーカウンタは、前記学習系列生成手段による前記学習系列の生成後に、前記第１および第２の気筒系列記が不一致となる場合には、インクリメントされ、
前記学習系列エラーカウンタ設定手段は、前記カム軸が１回転する間にわたって前記第１および第２の気筒系列が常に一致した場合には、前記エラーカウンタをクリアし、
前記異常判定手段は、前記学習系列エラーカウンタ設定手段による前記エラーカウンタのカウンタ値が所定値以上となったときに、前記気筒判別信号を異常と判定することを特徴とする請求項１３に記載の内燃機関制御装置。
【請求項１７】
前記学習系列気筒判別リセット手段は、
前記異常判定手段により、前記学習系列生成手段による前記学習系列の生成後に、前記気筒判別信号が入力されなくなって前記気筒判別信号の異常が判定された場合には、
前記学習系列にしたがって前記クランク角度位置信号のクランク角度位置および前記各気筒を決定することを特徴とする請求項１０から請求項１２までのいずれか１項に記載の内燃機関制御装置。
【請求項１８】
前記気筒判別手段は、学習系列再生成手段を含み、
前記学習系列再生成手段は、
前記学習系列の異常判定後、所定行程間にわたって連続して前記第１および第２の気筒系列が一致したときに、前記気筒判別信号の異常判定を解除して、前記学習系列を再生成することを特徴とする請求項１０から請求項１７までのいずれか１項に記載の内燃機関制御装置。
【請求項１９】
前記学習系列再生成手段によって前記学習系列の再生成を判定する所定行程数は、前記学習系列生成手段によって前記学習系列の生成を判定する所定行程数よりも大きい値に設定されたことを特徴とする請求項１８に記載の内燃機関制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、クランク軸に取り付けられたセンサからのクランク角度位置信号とカム軸に取付けられたセンサからの気筒判別信号とに基づいて気筒判別を行う内燃機関制御装置に関し、特に異常検出手段および異常時のフェールセーフ機能を備えた内燃機関制御装置に関するものである。
【０００２】
【従来の技術】
一般に、自動車用エンジンなどの内燃機関制御装置においては、運転条件に応じて燃料噴射や点火時期などを最適に制御する必要がある。また、内燃機関を制御するためには、気筒毎の基準クランク角度位置を示す基準クランク角度位置信号と、特定気筒を判別するための気筒判別信号とを取得する必要がある。
【０００３】
したがって、内燃機関のクランク軸やカム軸などの回転軸には、たとえば電磁センサを含む信号発生手段が設けられており、これらの信号発生手段から生成される基準クランク角度位置信号および気筒判別信号に基づいて、気筒毎の基準クランク角度位置を認識するとともに各気筒を判別し、燃料噴射および点火時期の高精度制御を可能にしている。
【０００４】
すなわち、従来の内燃機関制御装置は、クランク軸に取り付けられたクランク角センサと、クランク軸の２回転に対し１回転するカム軸に取り付けられたカム角センサとを備えている。
【０００５】
クランク角センサは、クランク軸外周のリングギヤ突起に対応した所定クランク角度毎（たとえば、１０°ＣＡ毎）に、パルス状のクランク角度位置信号を出力し、カム角センサは、各気筒に対応した気筒判別信号を出力する。
【０００６】
また、クランク角度位置信号の一部に欠け歯部分（たとえば、３０°ＣＡ）を設け、この欠け歯部分に対応した基準クランク角度位置を検出し、気筒判別信号と組み合わせることにより、正確に気筒判別を行う装置も提案されている。
【０００７】
クランク角センサに関連した基準クランク角度位置検出手段は、基準クランク角度位置をリアルタイムに検出し、カム角センサに関連した気筒判別信号発生手段は、気筒判別信号をリアルタイムに発生する。
【０００８】
また、基準クランク角度位置検出手段および気筒判別信号発生手段に関連した気筒判別手段は、基準クランク角度位置および気筒判別信号に応答して、気筒の判別をリアルタイムに行う。
【０００９】
しかしながら、クランク角度位置信号または気筒判別信号のいずれかに異常が発生した場合には、正しいクランク角度位置の検出および各気筒の判別を行うことができない。
【００１０】
そこで、クランク角度位置信号または気筒判別信号のいずれかに異常が発生した場合には、異常発生状態を直ちに検出して、内燃機関の誤制御を回避するためのフェールセーフ処理を行う必要がある。
【００１１】
このようなフェールセーフ処理機能を備えた内燃機関制御装置として、たとえば特開平７−１９７８４３号公報に記載されたものがある。
この公報に記載の従来装置においては、クランク角度位置信号にノイズ重畳や信号欠落が発生した場合でも、欠け歯部分を基準として基準クランク角度位置を再判定するとともに、基準クランク角度位置の再判定時の欠け歯間のクランク角度位置信号のパルス数により気筒番号を再設定することにより、判別された気筒番号がずれることを防止している。
【００１２】
また、他の従来装置として、たとえば特開平９−１７０４８４号公報に記載された装置においては、気筒判別信号の入力タイミング間におけるクランク角度位置信号のパルス数を計数し、この計数値と所定の判定値と比較することにより、気筒判別信号の異常を判定している。
【００１３】
しかしながら、クランク角度位置信号や気筒判別信号に対しては、ノイズ重畳や信号欠落などが、単発的のみならず、連続的または間欠的に発生することも考えられる。
【００１４】
たとえば、上記特開平７−１９７８４３号公報に記載の方法によれば、クランク角度位置信号にノイズ重畳や信号欠落が単発的に発生した場合には、気筒番号のずれを防止することができる。
【００１５】
しかし、特開平７−１９７８４３号公報に記載の方法によれば、何らかの原因でノイズ重畳や信号欠落が連続的または間欠的に発生した場合には、誤った気筒に対して（または、誤ったタイミングで）燃料噴射および点火時期を制御するおそれがあり、特に、誤った気筒に対して（または、誤ったタイミングで）点火制御が行われた場合には、バックファイアやエンジン損傷などの原因となり得る。
【００１６】
また、他方の特開平９−１７０４８４号公報記載の方法においては、クランク角度位置信号が正常であることを前提としているので、クランク角度位置信号または気筒判別信号のどちらに異常が発生したのかを判定する必要があるうえ、異常判定時に必要なフェールセーフ処理についても全く記載されていない。
【００１７】
【発明が解決しようとする課題】
従来の内燃機関制御装置は以上のように、クランク角度位置信号や気筒判別信号に発生し得る異常（ノイズ重畳や信号欠落など）を高い信頼性で検出することができず、異常発生時のフェールセーフ機能を確保することもできないという問題点があった。
【００１８】
すなわち、特開平７−１９７８４３号公報に記載の従来装置は、クランク角度位置信号にノイズ重畳や信号欠落が連続的または間欠的に発生した場合には、燃料噴射や点火時期が誤制御されるおそれがあり、特に点火に関して誤制御が行われた場合には、バックファイアやエンジン損傷の原因となるという問題点があった。
【００１９】
また、特開平９−１７０４８４号公報に記載の従来装置は、クランク角度位置信号または気筒判別信号のどちらが異常かを判定する必要があるうえ、異常判定時に必要なフェールセーフ処理について考慮されておらず、異常発生時のフェールセーフ機能を確保することもできないという問題点があった。
【００２０】
この発明は上記のような問題点を解決するためになされたもので、クランク角度位置信号や気筒判別信号に発生する異常状態（ノイズ重畳や信号欠落など）を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置を得ることを目的とする。
【００２１】
また、この発明は、クランク角度位置信号や気筒判別信号に対する上記異常状態が単発的に発生した場合には、クランク角度位置および気筒判別の誤判定を防止してエンジンの運転を継続した内燃機関制御装置を得ることを目的とする。
【００２２】
また、この発明は、上記異常状態が連続的に発生した場合（エンジン運転を継続するとバックファイアやエンジン損傷の原因となり得る場合）には、速やかにエンジンを停止させた内燃機関制御装置を得ることを目的とする。
【００２３】
さらに、この発明は、上記異常状態が間欠的に発生した場合には、正しく気筒判別が実行された気筒または期間においてのみ燃料噴射制御や点火時期制御を継続し、最低限のリンプホーム性能を確保可能な異常検出手段およびフェールセーフ機能を備えた内燃機関制御装置を得ることを目的とする。
【００２４】
【課題を解決するための手段】
この発明に係る内燃機関制御装置は、内燃機関の複数の気筒を判別して各気筒に対する燃料噴射および点火時期を制御するための内燃機関制御装置であって、内燃機関のクランク軸に設けられて、クランク軸の回転角度位置に対応して複数個のクランク角度位置信号を出力するクランク角度位置信号発生手段と、クランク軸の２回転に１回転の割合で回転するカム軸に設けられて、カム軸の回転角度位置に対応して、各気筒に対応した気筒判別信号を発生する気筒判別信号発生手段と、クランク角度位置信号に含まれる基準クランク角度位置を検出するための基準クランク角度位置検出手段と、気筒判別信号に基づいて各気筒を判別する気筒判別手段と、気筒判別手段による気筒判別結果とクランク角度位置信号のクランク角度位置とに基づいて、少なくとも各気筒に対する燃料噴射信号および点火信号を生成する気筒制御手段と、少なくともクランク角度位置信号の異常を判定する異常判定手段とを備え、気筒判別手段は、クランク角度位置信号の異常が判定された場合に、気筒判別手段による現在の判別内容をリセットする気筒判別リセット手段を含み、気筒判別リセット手段は、燃料噴射信号および点火信号を停止させる燃料噴射・点火信号停止手段と、異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段とを含むものである。
【００２５】
また、この発明に係る内燃機関制御装置の異常判定手段は、気筒判別信号が所定のクランク角度にわたって検出されない場合に、クランク角度位置信号を異常と判定するものである。
【００２６】
また、この発明に係る内燃機関制御装置の異常判定手段は、基準クランク角度位置により限定される所定角度の間にクランク角度位置信号が所定数だけ検出されない場合に、クランク角度位置信号を異常と判定するものである。
【００２７】
また、この発明に係る内燃機関制御装置の異常判定手段は、所定のクランク角度にわたって基準クランク角度位置が検出されない場合に、クランク角度位置信号を異常と判定するものである。
【００２８】
また、この発明に係る内燃機関制御装置の異常判定手段は、気筒判別信号の異常を判定し、気筒判別リセット手段は、燃料噴射および点火時期の少なくとも一方が制御されている間に気筒判別信号の異常が判定された場合に、燃料噴射信号および点火信号を停止させるとともに、気筒判別信号の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアするものである。
【００２９】
また、この発明に係る内燃機関制御装置の異常判定手段は、気筒判別信号が検出されたクランク角度位置が所定範囲外にある場合に、気筒判別信号を異常と判定するものである。
【００３０】
また、この発明に係る内燃機関制御装置の異常判定手段は、クランク角度位置の所定範囲内に気筒判別信号が所定数以上検出された場合に、気筒判別信号を異常と判定するものである。
【００３１】
また、この発明に係る内燃機関制御装置の異常判定手段は、クランク角度位置信号の各信号間に気筒判別信号が所定数以上検出された場合に、気筒判別信号を異常と判定するものである。
【００３２】
また、この発明に係る内燃機関制御装置の異常判定手段は、基準クランク角度位置で限定される複数のクランク角度位置と気筒判別信号とが所定の位置関係でない場合に、気筒判別信号を異常と判定するものである。
【００３３】
また、この発明に係る内燃機関制御装置の気筒判別手段は、クランク角度位置信号に基づくクランク角度位置と気筒判別手段の気筒判別結果とを順次更新しながら読み込み、第１の気筒系列として記憶する第１の気筒系列記憶手段と、あらかじめ正規のクランク角度位置および気筒系列が第２の気筒系列として記憶されている第２の気筒系列記憶手段と、第１および第２の気筒系列が一致しているか否かを判定する気筒系列比較手段と、気筒系列比較手段により、所定行程間にわたって第１および第２の気筒系列が一致していることが判定された場合に、第２の気筒系列を学習系列として生成する学習系列生成手段とを含み、学習系列が生成された後は、学習系列にしたがってクランク角度位置信号の角度位置および各気筒を決定するものである。
【００３４】
また、この発明に係る内燃機関制御装置の異常判定手段は、基準クランク角度位置検出手段により検出された基準クランク角度位置と、学習系列にしたがう基準クランク角度位置とを比較する基準クランク角度位置比較手段を含み、基準クランク角度位置比較手段により各基準クランク角度位置が不一致であると判定された場合に、学習系列の基準クランク角度位置が異常状態であると判定し、気筒判別手段は、異常判定手段により学習系列の基準クランク角度位置が異常状態であると判定された場合に、基準クランク角度位置検出手段が次回に検出する基準クランク角度位置を学習系列の基準クランク角度位置として再設定する学習系列再設定手段と、異常判定手段により異常状態であると判定されたときの学習系列の気筒番号を保持し、学習系列の基準クランク角度位置から次回に検出される基準クランク角度位置までの間に検出されるクランク角度位置信号の数が第１の所定数以下のときに、保持された学習系列の気筒番号の通りに制御気筒番号を設定する第１の気筒番号設定手段と、クランク角度位置信号数が第１の所定数よりも大きい第２の所定数以上のときに、保持された学習系列の気筒番号から制御気筒番号を１だけ進める第２の気筒番号設定手段と、クランク角度位置信号の信号数が第１および第２の所定数の間の数であった場合と、学習系列の基準クランク角度位置から、第２の所定数よりも大きい第３の所定数だけ検出されても、検出されるべき基準クランク角度位置が検出されない場合とにおいて、第１および第２の気筒番号設定手段による制御気筒番号の設定が不適切であると判定し、学習系列生成手段および気筒判別手段をリセットする学習系列気筒判別リセット手段とを含み、学習系列気筒判別リセット手段は、第１の気筒系列記憶手段の記憶内容をクリアして学習系列をクリアする学習系列情報クリア手段と、燃料噴射信号および点火信号を停止させる燃料噴射・点火信号停止手段と、学習系列の基準クランク角度位置の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段とを含むものである。
【００３５】
また、この発明に係る内燃機関制御装置の異常判定手段は、基準クランク角度位置比較手段により各基準クランク角度位置が不一致であると判定された場合に、学習系列再設定手段と第１または第２の気筒番号設定手段とにより再設定された学習系列にしたがう基準クランク角度位置の気筒が気筒判別手段による次回の気筒判別結果と一致した場合には、再設定された学習系列が正常であると判定し、再設定された学習系列にしたがう基準クランク角度位置の気筒が気筒判別手段による次回の気筒判別結果と不一致であった場合には、再設定された学習系列が異常であると判定し、学習系列気筒判別リセット手段は、異常判定手段により再設定された学習系列のクランク角度位置が異常であると判定された場合に、学習系列生成手段および気筒判別手段をリセットするものである。
【００３６】
また、この発明に係る内燃機関制御装置の学習系列気筒判別リセット手段は、異常判定手段により、学習系列の基準クランク角度位置が正常であると判定され、且つ気筒判別信号の異常が判定された場合には、学習系列生成手段および気筒判別手段をリセットするものである。
【００３７】
また、この発明に係る内燃機関制御装置の異常判定手段は、気筒系列比較手段により第１および第２の気筒系列の各クランク角度位置が一致していると判定されたときに、学習系列が所定行程数間以内に生成されない場合には、気筒判別信号を異常と判定するものである。
【００３８】
また、この発明に係る内燃機関制御装置の異常判定手段は、学習系列生成手段による学習系列の生成後に、所定行程間にわたって連続して第１および第２の気筒系列が不一致となる場合には、気筒判別信号を異常と判定するものである。
【００３９】
また、この発明に係る内燃機関制御装置の異常判定手段は、エラーカウンタおよび学習系列エラーカウンタ設定手段を含み、エラーカウンタは、学習系列生成手段による学習系列の生成後に、第１および第２の気筒系列記が不一致となる場合には、インクリメントされ、学習系列エラーカウンタ設定手段は、カム軸が１回転する間にわたって第１および第２の気筒系列が常に一致した場合には、エラーカウンタをクリアし、異常判定手段は、学習系列エラーカウンタ設定手段によるエラーカウンタのカウンタ値が所定値以上となったときに、気筒判別信号を異常と判定するものである。
【００４０】
また、この発明に係る内燃機関制御装置の学習系列気筒判別リセット手段は、異常判定手段により、学習系列生成手段による学習系列の生成後に、気筒判別信号が入力されなくなって気筒判別信号の異常が判定された場合には、学習系列にしたがってクランク角度位置信号のクランク角度位置および各気筒を決定するものである。
【００４１】
また、この発明に係る内燃機関制御装置の気筒判別手段は、学習系列再生成手段を含み、学習系列再生成手段は、学習系列の異常判定後、所定行程間にわたって連続して第１および第２の気筒系列が一致したときに、気筒判別信号の異常判定を解除して、学習系列を再生成するものである。
【００４２】
また、この発明に係る内燃機関制御装置は、学習系列再生成手段によって学習系列の再生成を判定する所定行程数は、学習系列生成手段によって学習系列の生成を判定する所定行程数よりも大きい値に設定されたものである。
【００４３】
【発明の実施の形態】
実施の形態１．
以下、図面を参照しながら、この発明の実施の形態１について詳細に説明する。
図１はこの発明の実施の形態１による主要部を概略的に示す構成図である。
【００４４】
図１において、内燃機関を構成するエンジン１０は、カム軸１１およびクランク軸１２を回転駆動するために、気筒内に移動自在に配置されたピストン１３と、気筒に対して吸気および排気を行うバルブ１４と、燃焼室内に配置された点火プラグ１５とを備えている。
【００４５】
点火プラグ１５は、燃料噴射弁（図示せず）とともに、コントロールユニット４０により制御される。
コントロールユニット４０は、入力回路（図示せず）を介して、周知の各種センサ（図示せず）からの検出情報を取り込み、エンジン１０の制御パラメータを演算する。
【００４６】
コントロールユニット４０は、マイクロコンピュータを主体として構成されており、ここでは図示されないが、ＣＰＵ、ＲＯＭ、ＲＡＭ、タイマ、Ｉ／Ｏポート、Ｉ／Ｏインターフェースなどを備えている。
【００４７】
クランク軸１２は、ピストン１３の上下運動により回転駆動される。
カム軸１１は、タイミングベルトなどの機械的伝達手段（図示せず）を介してクランク軸１２と連結されており、クランク軸１２が２回転する間に１回転する。
【００４８】
カム軸１１には、気筒判別信号発生手段の信号板２１が取付けられており、信号板２１には、電磁ピックアップ式などの気筒判別用のセンサ２２が対向配置されている。センサ２２は、後述するように気筒判別信号を発生する。
【００４９】
同様に、クランク軸１２には、クランク角度位置信号発生手段の信号板３１が取付けられており、信号板３１には、電磁ピックアップ式などのクランク角度位置検出用のセンサ３２が対向配置されている。センサ３２は、後述するようにクランク角度位置信号を発生する。
【００５０】
図２は気筒判別信号発生手段の信号板２１の外周形状を具体的に示す側面図であり、図３はクランク角度位置信号発生手段の信号板３１の外周形状を具体的に示す側面図である。
【００５１】
図２において、気筒判別信号発生手段の信号板２１には、外周に沿って非対称な突起２３が設けられている。
図３において、クランク角度位置信号発生手段の信号板３１には、外周に沿って等間隔の突起３１ａ（リングギヤと称される）が設けられている。
【００５２】
また、信号板３１の外周には、突起３１ａが欠落している欠け歯部分３１ｂおよび３１ｃが設けられており、各欠け歯部分３１ｂおよび３１ｃの角度は互いに異なっている。
たとえば、後述するように、欠け歯部分３１ｂのクランク角度は２０°に設定され、欠け歯部分３１ｃのクランク角度は３０°に設定されている。
【００５３】
図１〜図３において、エンジン１０が回転を開始すると、クランク軸１２に取り付けられたクランク角度位置信号発生手段の信号板３１が回転し、センサ３２が突起３１ａを検出することにより、クランク角度位置信号が発生する。
また、同時に、気筒判別信号発生手段の信号板２１が回転し、センサ２２が突起２３を検出することにより、気筒判別信号が発生する。
【００５４】
図４は図１〜図３内の各センサ２２、３２から発生する気筒判別信号およびクランク角度位置信号を示すタイミングチャートであり、４気筒エンジンの場合の具体的な信号パターン例を示している。
【００５５】
図４において、気筒判別信号およびクランク角度位置信号の連続的なパルス波形は、便宜的に上下に分割して示しており、４つの気筒＃１〜＃４は、＃１→＃３→＃４→＃２の順序で制御されるものとする。
【００５６】
また、圧縮上死点（ＴＤＣ）よりも手前（進角側）のクランク角度位置（ＢＴＤＣ）は「Ｂ」で示され、圧縮上死点よりも後（遅角側）のクランク角度位置（ＡＴＤＣ）は「Ａ」で示されている。
【００５７】
クランク角度位置信号は、各突起３１ａに対応した１０°ＣＡ毎のパルスからなる。また、欠け歯部分３１ｂは、各気筒＃１、＃４のＢ９５°のクランク角度位置に対応し、欠け歯部分３１ｃは、各気筒＃３、＃２のＢ１０５°およびＢ９５°のクランク角度位置に対応している。
【００５８】
次に、図１〜図４を参照しながら、この発明の実施の形態１による基本的動作について説明する。
まず、各センサ２２、３２からの気筒判別信号およびクランク角度位置信号は、他の各種センサ信号とともに、エンジン１０のコントロールユニット４０に読み込まれる。
【００５９】
コントロールユニット４０内のマイクロコンピュータは、クランク角度位置センサ３２からクランク角度位置信号が入力される毎に、各気筒に対する燃料噴射および点火時期を制御するための割込み処理を実行する。
【００６０】
コントロールユニット４０は、上記割込み処理において、クランク角度位置信号の信号パターンを記憶すると同時に、割込み処理が発生する時間間隔を計測することにより、突起３１ａが欠落している欠け歯部分３１ｂ、３１ｃを検出し、基準クランク角度位置を検出する。
【００６１】
また、コントロールユニット４０内のマイクロコンピュータは、気筒判別センサ２２から気筒判別信号が入力される毎に、同様に割込み処理を実行し、気筒判別信号の信号パターンを気筒系列として記憶する。
【００６２】
そして、コントロールユニット４０は、基準クランク角度位置を基準として、気筒判別クランク角度位置と、判定されたクランク角度位置とにおいて、クランク角度位置信号と、気筒判別信号の気筒判別区間の信号パターンとから、気筒判別処理を実行する。
【００６３】
また、コントロールユニット４０は、少なくともクランク角度位置信号の異常を判定する異常判定手段を備えている。
次に、図１〜図４とともに、図５のフローチャートを参照しながら、コントロールユニット４０によるクランク角度位置信号の異常判定処理動作について説明する。
【００６４】
コントロールユニット４０は、クランク角度位置信号のパルス数を計数するためのカウンタＣＲＫＣＮを含み、図５に示す異常判定ルーチンを実行することにより、クランク角度位置センサ３２からのクランク角度位置信号に異常が発生したか否かを判定する。
【００６５】
図５の異常判定ルーチンは、前述のクランク角度位置信号の入力タイミングに同期した割込み処理において、以下のように実行される。
図５において、まず、クランク角度位置信号の入力タイミングによる割込み処理が実行されたことを計数し、クランク角度位置信号カウンタＣＲＫＣＮをインクリメントする（ステップ１０１）。
【００６６】
次に、クランク角度位置信号カウンタＣＲＫＣＮが所定数Ｋ１（所定クランク角度区間に対応：たとえば「１７」）以上であって、且つ、所定クランク角度区間にわたって気筒判別信号の入力が無かったか否かを判定する（ステップ１０２）。
【００６７】
ステップ１０２において、ＣＲＫＣＮ≧Ｋ１、且つ気筒判別信号の入力が無かった（すなわち、ＹＥＳ）と判定されれば、クランク角度位置信号に異常が発生したものと見なし、クランク角度位置信号異常フラグＣＲＫＦＡＩＬをセットして（ステップ１０９）、図５の処理ルーチンを終了する。
【００６８】
一方、ステップ１０２において、ＣＲＫＣＮ＜Ｋ１であるか、または、ＣＲＫＣＮ≧Ｋ１の区間で気筒判別信号の入力があった（すなわち、ＮＯ）と判定されれば、続いて、たとえばクランク角度位置信号間隔の比に基づいて、欠け歯を検出したか否かを判定する（ステップ１０３）。
【００６９】
ステップ１０３において、欠け歯を検出した（すなわち、ＹＥＳ）と判定されれば、欠け歯数ＮＴＮを記憶し（ステップ１０４）、欠け歯数ＮＴＮと欠け歯数間のクランク角度位置信号カウンタＣＲＫＣＮ値とを、それぞれの所定数と比較し、正常か否かを判定する（ステップ１０５）。
【００７０】
たとえば、図４に示したクランク角度位置信号パターンにおいて、＃３気筒のＢ１０５°およびＢ９５°の欠け歯位置に注目すれば、前回の欠け歯数ＮＴＮ＝１、前回の欠け歯から今回の欠け歯までのクランク角度位置信号カウンタＣＲＫＣＮ＝１６、且つ、今回の欠け歯数ＮＴＮ＝２であれば、クランク角度位置信号は正常と判定される。
【００７１】
また、＃４気筒のＢ９５°の欠け歯位置に注目すれば、前回の欠け歯数ＮＴＮ＝２、前回の欠け歯から今回の欠け歯までのクランク角度位置信号カウンタＣＲＫＣＮ＝１７、且つ、今回の欠け歯数ＮＴＮ＝１であれば、クランク角度位置信号は正常と判定される。
【００７２】
つまり、ステップ１０５において、欠け歯数ＮＴＮおよび欠け歯間の信号数ＣＲＫＣＮが上記正常条件を満たす（すなわち、ＹＥＳ）と判定されれば、次の欠け歯検出までの信号数ＣＲＫＣＮを計数するために、クランク角度位置信号カウンタＣＲＫＣＮを０クリアして（ステップ１０６）、図５の処理ルーチンを終了する。
【００７３】
一方、ステップ１０５において、欠け歯数ＮＴＮおよび信号数ＣＲＫＣＮが上記正常条件を満たさず、クランク角度位置信号が異常（すなわち、ＮＯ）と判定された場合には、前述のステップ１０９に進み、クランク角度位置信号異常フラグＣＲＫＦＡＩＬをセットする。
【００７４】
また、ステップ１０３において、今回の割込みタイミングが欠け歯の直後でない（すなわち、ＮＯ）と判定された場合には、クランク角度位置信号カウンタＣＲＫＣＮが所定数Ｋ２（たとえば「１８」）以上か否かにより、欠け歯が検出されない状態が異常に継続したか否かを判定する（ステップ１０７）。
【００７５】
ステップ１０７において、ＣＲＫＣＮ＜Ｋ２（すなわち、ＮＯ）と判定されれば、図５の処理ルーチンを終了し、ＣＲＫＣＮ≧Ｋ２（すなわち、ＹＥＳ）と判定されれば、クランク角度位置信号の異常と見なして、ステップ１０９と同様のステップ１０８に進み、クランク角度位置信号異常フラグＣＲＫＦＡＩＬをセットして、図５の処理ルーチンを終了する。
【００７６】
なお、ここでは図示していないが、クランク角度位置信号異常フラグＣＲＫＦＡＩＬは、所定行程数間にわたって正常状態が連続した場合に、自動的にクリアされる。
【００７７】
次に、図６のフローチャートを参照しながら、この発明の実施の形態１による異常判定時のフェールセーフ処理動作について説明する。
コントロールユニット４０は、図６に示すクランク角度位置信号の異常判定時処理ルーチンを実行することにより、クランク角度位置信号が異常と判定された場合のフェールセーフ処理を実行する。
【００７８】
図６に示す異常判定時の処理ルーチンは、クランク角度位置信号の入力タイミングに同期して実行される割込み処理において、前述（図５参照）の異常判定ルーチンに続いて、以下のように実行される。
【００７９】
まず、クランク角度位置信号異常フラグＣＲＫＦＡＩＬが「１」にセットされているか否かを判定し（ステップ２０１）、ＣＲＫＦＡＩＬ＝０（すなわち、ＮＯ）と判定されれば、図６の処理ルーチンを終了する。
【００８０】
また、ステップ２０１において、ＣＲＫＦＡＩＬ＝１（すなわち、ＹＥＳ）と判定されれば、続いて、リアルタイムの気筒判別（学習系列が未生成）か否かを判定する（ステップ２０２）。
【００８１】
このとき、学習系列など（後述する）が生成され、学習系列により気筒番号が更新されていて、ステップ２０２において、リアルタイム気筒判別でない（すなわち、ＮＯ）と判定されれば、図６の処理ルーチンを終了する。以下、学習系列生成処理（後述する図１１）に進む。
【００８２】
一方、ステップ２０２において、リアルタイムの気筒判別により気筒番号が更新されている（すなわち、ＹＥＳ）と判定されれば、以下の気筒判別リセット処理ルーチンを実行し（ステップ２０３）、図６の処理ルーチンを終了する。
【００８３】
次に、図７のフローチャートを参照しながら、この発明の実施の形態１による気筒判別リセット処理動作（図６内のステップ２０３）について具体的に説明する。
【００８４】
図７において、まず、燃料噴射信号を停止し（ステップ３０１）、点火信号を停止し（ステップ３０２）、欠け歯数ＮＴＮをクリアする（ステップ３０３）。
続いて、クランク角度位置信号カウンタＣＲＫＣＮをクリアし（ステップ３０４）、記憶していた気筒判別信号パターンをクリアして（ステップ３０５）、欠け歯検出待ち状態として、図７の処理ルーチンを終了する。
【００８５】
図８は図５〜図７の処理動作をクランク角度位置信号のパルスタイミングと関連付けて示す説明図であり、各タイミングにおけるフラグＣＲＫＦＡＩＬのセット状態と、リアルタイム気筒判別処理の実行状態と、噴射・点火処理の実行状態とが示されている。
【００８６】
また、図８においては、欠け歯間のクランク角度位置信号のパルス数が正常時よりも多い場合（欠け歯位置よりもＢ７５°が先に検出された場合）と、正常時よりも少ない場合（欠け歯位置がＢ７５°よりも先に検出された場合）とにおける各処理が示されている。
【００８７】
この発明の実施の形態１においては、通常は、図４の信号パターンに示すように、欠け歯検出のクランク角度位置に基づいて気筒判別を実行している。
【００８８】
一方、図８に示すように、Ｂ７５°が欠け歯位置と一致せず、欠け歯検出位置が「異常」と判定された場合には、クランク角度位置信号異常フラグＣＲＫＦＡＩＬがセットされるとともに、気筒判別リセット処理により気筒判別情報がクリアされて、リアルタイム気筒判別処理が実行されず、噴射・点火処理が実行されずに燃料噴射信号停止および点火信号停止の状態となる。
【００８９】
そして、次の欠け歯位置において、クランク角度位置が正常であれば、直ちに噴射・点火処理が実行されて、燃料噴射制御および点火時期制御が再開される。
【００９０】
このように、リアルタイムで気筒判別を実行している間のクランク角度位置信号の異常発生時には、直ちに燃料噴射信号および点火信号を停止することにより内燃機関を保護し、正常時には直ちに燃料噴射制御および点火時期制御を再開して、エンジンストールを防止する。
【００９１】
次に、図９のフローチャートを参照しながら、この発明の実施の形態１による気筒判別信号の異常判定処理動作について説明する。
コントロールユニット４０は、気筒判別クランク角度位置で実行される割込み処理において、図９に示す気筒判別信号の異常判定ルーチンを実行する。
【００９２】
図９において、まず、コントロールユニット４０は、気筒判別信号の位置を確認して、気筒判別信号が所定範囲外にあるか否かを判定する（ステップ４０１）。
【００９３】
ステップ４０１において、気筒判別信号の位置が所定範囲外にある（すなわち、ＹＥＳ）と判定されれば、気筒判別信号が異常状態であると見なし、気筒判別信号異常フラグＤＳＴＦＡＩＬを「１」にセットし（ステップ４０５）、図９の処理ルーチンを終了する。
【００９４】
なお、ステップ４０１の判定基準となる所定範囲は、気筒判別信号発生手段の信号板２１および気筒判別センサ２２の組付け誤差や、ＶＶＴなどにより気筒判別信号位置がシフトされる場合の動作範囲などに応じて決定される。
【００９５】
一方、ステップ４０１において、気筒判別信号が所定範囲内にある（すなわち、ＮＯ）と判定された場合は、続いて、気筒判別信号のパルス数を所定数（正常数である「１」または「２」）と比較し、所定範囲内に異常数の気筒判別信号が検出されたか否かを判定する（ステップ４０２）。
【００９６】
ステップ４０２において、気筒判別信号のパルス数が異常である（すなわち、ＹＥＳ）と判定されれば、ステップ４０５に進み、気筒判別信号異常フラグＤＳＴＦＡＩＬをセットする。
【００９７】
また、ステップ４０２において、気筒判別信号のパルス数が正常である（すなわち、ＮＯ）と判定されれば、続いて、クランク角度位置信号のパルス間（１０°ＣＡ）の気筒判別信号数が所定数Ｍ１（たとえば「２」）以上であるか否かを判定する（ステップ４０３）。
【００９８】
図４に示す信号パターンの場合、クランク角度位置信号間の気筒判別信号数の最大値は「１」であり、「２」以上ある場合はノイズと考えることができ、このような場合には異常状態（ノイズ重畳）と判定される。
【００９９】
つまり、ステップ４０３において、クランク角度位置信号間の気筒判別信号数≧Ｍ１（すなわち、ＹＥＳ）と判定されれば、異常が発生したものと見なして、ステップ４０５に進み、気筒判別信号異常フラグＤＳＴＦＡＩＬをセットする。
【０１００】
一方、ステップ４０３において、クランク角度位置信号間の気筒判別信号数が正常である（すなわち、ＮＯ）と判定された場合には、続いて、気筒判別信号を検出した直後のクランク角度位置における欠け歯数ＮＴＮを確認し、欠け歯数ＮＴＮと気筒判別信号のパルス数とが正規の関係と異なるか否かを判定する（ステップ４０４）。
【０１０１】
たとえば、図４の信号パターンの場合、気筒判別信号のパルス数が「２」のときに欠け歯数「２」、続いて、気筒判別信号のパルス数が「２」のときに欠け歯数「１」、気筒判別信号のパルス数が「１」のときに欠け歯数「２」、気筒判別信号のパルス数が「１」のときに欠け歯数「１」、の順序であれば、正規と見なすことができる。
【０１０２】
ステップ４０４において、欠け歯数ＮＴＮと気筒判別信号数との関係が正規でない（すなわち、ＹＥＳ）と判定されれば、気筒判別信号数が異常であると見なして、前述のステップ４０５に進み、気筒判別信号異常フラグＤＳＴＦＡＩＬをセットする。
【０１０３】
一方、ステップ４０４において、欠け歯数ＮＴＮと気筒判別信号数との関係が正常である（すなわち、ＮＯ）と判定された場合には、そのまま図９の処理ルーチンを終了する。
【０１０４】
次に、図１０のフローチャートを参照しながら、この発明の実施の形態１による気筒判別信号の異常判定時（ＤＳＴＦＡＩＬのセット時）におけるフェールセーフ処理動作について具体的に説明する。
【０１０５】
この場合、コントロールユニット４０は、図１０に示す気筒判別信号異常判定時処理ルーチンを実行することにより、気筒判別信号が異常と判定された場合のフェールセーフ処理を実行する。
図１０において、ステップ５０２、５０３は、前述（図６参照）のステップ２０２、２０３と同様の処理である。
【０１０６】
図１０の気筒判別信号異常判定時処理ルーチンは、前述の気筒判別クランク角度位置で実行される割込み処理において、図９の気筒判別信号異常判定ルーチンに続いて、以下のように実行される。
【０１０７】
図１０において、まず、コントロールユニット４０は、気筒判別信号異常フラグＤＳＴＦＡＩＬがセットされているか否かを判定し（ステップ５０１）、気筒判別信号異常フラグＤＳＴＦＡＩＬがセットされていない（すなわち、ＮＯ）と判定されれば、そのまま図１０の処理ルーチンを終了する。
【０１０８】
一方、ステップ５０１において、気筒判別信号異常フラグＤＳＴＦＡＩＬがセットされている（すなわち、ＹＥＳ）と判定されれば、続いて、リアルタイムの気筒判別か否かを判定する（ステップ５０２）。
【０１０９】
このとき、学習系列など（後述する）が生成されていて、ステップ５０２において、リアルタイム気筒判別でない（すなわち、ＮＯ）と判定されれば、図１０の処理ルーチンを終了する。以下、学習系列生成処理（後述する図１１）に進む。
【０１１０】
一方、ステップ５０２において、リアルタイムの気筒判別により気筒番号が更新されている状態（すなわち、ＹＥＳ）と判定されれば、前述（図７参照）の気筒判別リセット処理ルーチンを実行し（ステップ５０３）、図１０の処理ルーチンを終了する。
【０１１１】
このように、気筒判別信号の異常時（ＤＳＴＦＡＩＬのセット時）において、リアルタイム気筒判別中であれば、直ちに気筒判別リセット処理ステップ５０３（燃料噴射信号停止、点火信号停止、気筒判別情報クリア）が実行される。
また、次の気筒判別クランク角度位置において、気筒判別信号が正常と判定されれば、直ちに燃料噴射制御および点火時期制御が再開される。
【０１１２】
この結果、リアルタイムで気筒判別を実行している間の気筒判別信号の異常時には、直ちに燃料噴射停止および点火信号停止を実行して内燃機関を保護し、正常復帰時には直ちに燃料噴射制御および点火時期制御を再開して、エンジンストールを防止することができる。
【０１１３】
次に、図１１のフローチャートを参照しながら、この発明の実施の形態１による学習系列の生成処理動作について説明する。
この場合、コントロールユニット４０は、学習系列生成用のカウンタＬＲＮＣＮＴを含み、図１１に示す学習系列生成処理ルーチンを実行し、リアルタイムの気筒判別が所定期間にわたって正常であると判定された場合に学習系列を生成する。
【０１１４】
これにより、ノイズの重畳や信号の欠落による異常発生時においても、学習系列を参照して、直ちに正常復帰またはエンジン停止の処理を行うことができる。
図１１の学習系列生成処理ルーチンは、前述のクランク角度位置信号の入力に同期して実行される割込み処理において、リアルタイムに実行される気筒判別処理に続いて、以下のように実行される。
【０１１５】
図１１において、まず、コントロールユニット４０は、初回の気筒判別が完了しているか否かを判定し（ステップ６０１）、初回の気筒判別が未完了（すなわち、ＮＯ）と判定されれば、学習系列生成カウンタＬＲＮＣＮＴをクリアして（ステップ６０２）、図１１の処理ルーチンを終了する。
【０１１６】
一方、ステップ６０１において、初回の気筒判別が完了している（すなわち、ＹＥＳ）と判定された場合には、第１の気筒系列記憶手段にクランク角度位置および気筒判別結果を格納する（ステップ６０３）。
第１の気筒系列記憶手段は、クランク角度位置信号のクランク角度位置と気筒判別手段による気筒判別結果とを順次更新しながら記憶する。
【０１１７】
続いて、学習系列生成カウンタＬＲＮＣＮＴが「０」であって、且つ今回の割込みタイミングが気筒判別クランク角度位置であるか否かを判定する（ステップ６０４）。
【０１１８】
ステップ６０４において、ＬＲＮＣＮＴ＝０で且つ気筒判別クランク角度位置である（すなわち、ＹＥＳ）と判定されれば、初回の気筒判別を完了した直後なので、図４に示す正規のクランク角度位置信号パターンおよび正規の気筒系列が記憶されている第２の気筒系列記憶手段に対して、今回のクランク角度位置信号および気筒系列の気筒判別結果により、正規信号パターン上での初期位置を設定し（ステップ６０５）、後述のステップ６０９に進む。
【０１１９】
一方、ステップ６０４において、ＬＲＮＣＮＴ≧１（すなわち、ＮＯ）と判定されれば、第２の気筒系列記憶手段内の正規のクランク角度位置信号パターンおよび気筒系列を、クランク角度位置信号の１パルス分だけインクリメントする（ステップ６０６）。
【０１２０】
続いて、第１および第２の気筒系列記憶手段内の気筒系列を比較して、両者が一致するか否かを判定し（ステップ６０７）、各気筒系列記憶手段の比較結果が一致しない（すなわち、ＮＯ）と判定されれば、クランク角度位置信号または気筒判別信号に異常が発生したものと見なし、学習系列生成カウンタＬＲＮＣＮＴを０クリアし（ステップ６１２）、学習系列生成後の判定処理を実行して（ステップ６１３）、図１１の処理ルーチンを終了する。
【０１２１】
一方、ステップ６０７において、各気筒系列記憶手段の比較結果が一致した（すなわち、ＹＥＳ）と判定されれば、続いて、一致した角度位置が気筒判別クランク角度位置であるか否かを判定する（ステップ６０８）。
【０１２２】
ステップ６０８において、気筒判別クランク角度位置でない（すなわち、ＮＯ）と判定されれば図１１の処理ルーチンを終了し、気筒判別クランク角度位置である（すなわち、ＹＥＳ）と判定されれば、学習系列生成カウンタＬＲＮＣＮＴをインクリメントする（ステップ６０９）。
【０１２３】
続いて、学習系列生成カウンタＬＲＮＣＮＴが所定値（たとえば、気筒数「４」以上の値）以上か否かを判定し（ステップ６１０）、ＬＲＮＣＮＴ＜所定値（すなわち、ＮＯ）と判定されれば、学習系列の生成に必要な所定行程数に達してしていないので、図１１の処理ルーチンを終了する。
【０１２４】
一方、ステップ６１１において、ＬＲＮＣＮＴ≧所定値（すなわち、ＹＥＳ）と判定されれば、所定行程間にわたって連続して第１および第２の気筒系列記憶手段が一致しているので、一致した気筒系列（たとえば、第２の気筒系列）を学習系列として生成し（ステップ６１１）、図１１の処理ルーチンを終了する。
【０１２５】
次に、図１２のフローチャートおよび図１３の説明図を参照しながら、図１１内の判定処理ルーチン（ステップ６１３）について具体的に説明する。
図１２および図１３は、第１および第２の気筒系列記憶手段が不一致の場合に実行される学習系列異常判定処理を示している。
【０１２６】
第１および第２の気筒系列記憶手段の内容が不一致と判定される場合には、クランク角度位置信号が不一致の場合と、気筒判別結果が不一致の場合とが考えられるが、ここでは、各気筒系列記憶手段内のクランク角度位置信号が不一致の場合を例にとって説明する。
【０１２７】
図１３は、前述の図８と同様に、図１２の処理動作をクランク角度位置信号のパルスタイミングと関連付けて示している。
図１３においては、各タイミングにおける基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴのセット状態と、学習系列クランク角度位置の正否状態と、リアルタイム気筒判別処理の実行状態と、噴射・点火処理の実行状態とが示されている。
【０１２８】
また、図１３においては、前述と同様に、欠け歯間のクランク角度位置信号のパルス数が正常時よりも多い場合と、正常時よりも少ない場合とにおける各処理が示されている。
【０１２９】
図１２において、ステップ７１８および７１９は同様の処理ルーチンである。
まず、欠け歯検出に基づく基準クランク角度位置と、学習系列により更新される基準クランク角度位置とを比較して、両者が一致するか否かを判定する（ステップ７０１）。
【０１３０】
ステップ７０１において、各基準クランク角度位置が一致する（すなわち、ＹＥＳ）と判定されれば、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴをクリアし（ステップ７０２）、気筒判別信号異常判定処理を実行して（ステップ７０３）、図１２の処理ルーチンを終了する。
なお、学習系列の気筒判別信号異常判定処理（ステップ７０３）については、図１５を参照して後述する。
【０１３１】
一方、ステップ７０１において、各基準クランク角度位置が不一致である（すなわち、ＮＯ）と判定されれば、続いて、基準クランク角度位置リセットフラグＲＳＴＰＯＳがセットされているか否かを判定する（ステップ７０４）。
【０１３２】
ここでは、各基準クランク角度位置が不一致となる一例として、図１３に示す欠け歯間のクランク角度位置信号数が正常時より多い（欠け歯位置よりも学習系列の基準クランク角度位置Ｂ７５°が先に来た）状態が、学習系列の生成後に初めて現れた場合を例にとって説明する。
【０１３３】
基準クランク角度位置リセットフラグＲＳＴＰＯＳは、学習系列の基準クランク角度位置を再設定した場合にセットされるフラグ（後述する）であり、基準クランク角度位置の不一致が初めて現れた時点では、０クリアされている。
【０１３４】
したがって、上記例の場合、ステップ７０４において、ＲＳＴＰＯＳ＝０（すなわち、ＮＯ）と判定され、続いて、現在のクランク角度位置が、欠け歯によって検出される基準クランク角度位置の検出位置であるか否かが判定される（ステップ７０５）。
【０１３５】
この場合、学習系列による基準クランク角度位置が先に現れるので、ステップ７０５において、基準クランク角度位置の検出位置でない（すなわち、ＮＯ）と判定され、続いて、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴがセットされているか否かが判定される（ステップ７０９）。
【０１３６】
基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴは、学習系列の基準クランク角度位置を再設定するために、欠け歯検出を待つ状態になった場合にセットされるフラグ（後述する）であり、基準クランク角度位置の不一致が初めて現れた時点では、０クリアされている。
【０１３７】
したがって、上記例の場合、ステップ７０９において、ＪＤＰＯＳＷＡＩＴ＝０（すなわち、ＮＯ）と判定され、続いて、学習系列の基準クランク角度位置か否かが判定される（ステップ７１０）。
【０１３８】
この場合、ステップ７１０において、学習系列の基準クランク角度位置である（すなわち、ＹＥＳ）と判定されるので、学習系列の基準クランク角度位置で割込み処理を実行して（ステップ７１１）、ステップ７０８に進む。
【０１３９】
ステップ７１１の割込み処理は、この発明の実施の形態１においては、Ｂ７５°（ＢＴＤＣ７５°ＣＡ）の割込み処理に相当し、燃料噴射制御処理および点火時期制御処理などが実行される。
【０１４０】
続いて、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴが「１」にセットされ（ステップ７０８）、図１２の処理ルーチンを終了する。
ステップ７０８において、フラグＪＤＰＯＳＷＡＩＴがセットされると、欠け歯による基準クランク角度位置検出の待ち状態となる。
【０１４１】
この待ち状態により、次回の欠け歯による基準クランク角度位置が検出されるまでは、クランク角度位置の割込み処理のたびに、上記ステップ７０１、７０４および７０５の順で、処理が実行される。
【０１４２】
また、ステップ７０５において、欠け歯位置（基準クランク角度位置）が検出されなければ、上記ステップ７０９に進み、ここで、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴがセットされていれば、ＪＤＰＯＳＷＡＩＴ＝１（すなわち、ＹＥＳ）と判定され、ステップ７１７に進む。
【０１４３】
ステップ７１７においては、学習系列による基準クランク角度位置から、実際の欠け歯検出による基準クランク角度位置までの、クランク角度位置信号のパルス数（基準クランク角度位置間数）ＮＰが第３の所定数Ｎ３（後述する第２の所定数Ｎ２よりも大きい）よりも大きいか否かを判定する。
【０１４４】
ステップ７１７において、ＮＰ≦Ｎ３（すなわち、ＮＯ）と判定されれば、図１２の処理ルーチンを終了し、ＮＰ＞Ｎ３（すなわち、ＹＥＳ）と判定されれば、第３の所定数Ｎ３まで待っても、検出されるべき欠け歯が検出されなかった場合に相当するので、学習系列気筒判別リセット処理を実行して（ステップ７１８）、図１２の処理ルーチンを終了する。
【０１４５】
一方、ステップ７０５において、欠け歯位置（基準クランク角度位置）が検出された（すなわち、ＹＥＳ）と判定された場合には、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴがセットされているか否かを判定する（ステップ７０６）。
【０１４６】
この場合、ＪＤＰＯＳＷＡＩＴ＝１（すなわち、ＹＥＳ）と判定されるので、続いて、基準クランク角度位置間数ＮＰが第１の所定数Ｎ１よりも小さいか否かを判定する（ステップ７１２）。
【０１４７】
ステップ７１２において、ＮＰ＜Ｎ１（すなわち、ＹＥＳ）と判定されれば、欠け歯位置を基準クランク角度位置にリセットし（ステップ７１５）、基準クランク角度位置リセット済みフラグＲＳＴＰＯＳを「１」にセットして（ステップ７１６）、図１２の処理ルーチンを終了する。
【０１４８】
次に、図１３に示す欠け歯間のクランク角度位置信号数が正常時よりも少ない（学習系列の基準クランク角度位置よりも欠け歯位置が先に来た）状態が、学習系列生成後に初めて現れた場合を例にとって説明する。
【０１４９】
上述したように、まず、図１２内のステップ７０１、７０４および７０５の順で処理が実行される。
この場合、欠け歯検出位置が先に来ることから、ステップ７０５において、欠け歯位置（基準クランク角度位置）が検出された（すなわち、ＹＥＳ）と判定され、ステップ７０６に進む。
【０１５０】
続いて、ステップ７０６においては、ＪＤＰＯＳＷＡＩＴ＝０（すなわち、ＮＯ）と判定されるので、ステップ７０７に進む。
このとき、学習系列の基準クランク角度位置が検出されていないので、今回の欠け歯位置を無視し（ステップ７０７）、続いて、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴをセットして（ステップ７０８）、図１２の処理ルーチンを終了する。
【０１５１】
学習系列の生成後は、学習系列の基準クランク角度位置を基準に制御が行われるので、上記のように処理される。
この状態で、次回の欠け歯（基準クランク角度位置）が検出されるまでは、クランク角度位置の割込み処理のたびに、上記ステップ７０１、７０４、７０５および７０６の順で、処理が実行される。
【０１５２】
このとき、上記ステップ７０８において、基準クランク角度位置検出待ちフラグＪＤＰＯＳＷＡＩＴがセットされているので、ステップ７０６において、ＪＤＰＯＳＷＡＩＴ＝１（すなわち、ＹＥＳ）と判定され、ステップ７１２に進む。
【０１５３】
ステップ７１２において、基準クランク角度位置間数ＮＰ≧第１の所定数Ｎ１（すなわち、ＹＥＳ）と判定されれば、基準クランク角度位置間数ＮＰが第２の所定数Ｎ２（＞Ｎ１）よりも大きいか否かを判定する（ステップ７１３）。
【０１５４】
ステップ７１３において、ＮＰ≦Ｎ２（すなわち、ＮＯ）と判定されれば、検出された欠け歯位置が、本来の欠け歯位置から大きく離れていると見なされるので、学習系列気筒判別リセット処理を実行して（ステップ７１９）、図１２の処理ルーチンを終了する。
【０１５５】
一方、ステップ７１３において、ＮＰ＞Ｎ２（すなわち、ＹＥＳ）と判定されれば、検出された欠け歯位置は次の気筒の欠け歯位置であると見なされ、気筒番号をインクリメントして（ステップ７１４）、上記ステップ７１５に進む。
【０１５６】
以下、ステップ７１５において、欠け歯位置を基準クランク角度位置にリセットし、続いて、ステップ７１６において、基準クランク角度位置リセット済みフラグＲＳＴＰＯＳをセットし、図１２の処理ルーチンを終了する。
【０１５７】
以上のように、各基準クランク角度位置が不一致の場合において、学習系列の基準クランク角度位置が再設定される。
さらに、基準クランク角度位置リセット済みフラグＲＳＴＰＯＳがセットされた状態で、ステップ７０１において、再度基準クランク角度位置の不一致が判定されると、ステップ７０１および７０４の順で処理が実行され、ステップ７１９に進み、気筒判別リセット処理が実行される。
【０１５８】
また、ここでは図示しないが、所定行程間にわたって、欠け歯位置による基準クランク角度位置と学習系列による基準クランク角度位置とが一致した場合は、基準クランク角度位置リセット済みフラグＲＳＴＰＯＳを０クリアしてもよい。
【０１５９】
次に、図１４のフローチャートを参照しながら、図１２内の学習系列気筒判別リセット処理（ステップ７１８、７１９）について具体的に説明する。
図１４において、各ステップ８０２〜８０６は、前述（図７参照）のステップ３０１〜３０５と同様の処理である。
【０１６０】
まず、第１の気筒系列記憶手段の記憶内容（第１の気筒系列）をクリアする（ステップ８０１）。このとき、学習系列生成カウンタＬＲＮＣＮＴの０クリアなどにより、学習系列をクリアする。
【０１６１】
続いて、燃料噴射信号を停止し（ステップ８０２）、点火信号を停止し（ステップ８０３）、欠け歯数ＮＴＮをクリアし（ステップ８０４）、クランク角度位置信号カウンタＣＲＫＣＮをクリアし（ステップ８０５）、記憶していた気筒判別信号パターンをクリアする（ステップ８０６）。こうして、欠け歯検出待ち状態として、図１４の処理ルーチンを終了する。
【０１６２】
このように、図１４の学習系列気筒判別リセット処理が実行されると、次回のクランク角度位置からリアルタイムによる気筒判別が再開される。
【０１６３】
このように、学習系列を用いたクランク角度位置信号の異常判定により、クランク角度位置信号にノイズ重畳や信号欠落などが単発的に発生した場合には、クランク角度位置の誤判定を防止して、エンジン１０の運転を継続することができる。
【０１６４】
また、ノイズ重畳や信号欠落などが連続的に発生して、クランク角度位置に大きな誤差が発生するおそれのある場合には、直ちにエンジン１０を停止し、エンジン１０の運転継続に起因するバックファイアやエンジン損傷などを未然に防止することができる。
【０１６５】
さらに、ノイズ重畳や信号欠落などが間欠的に発生した場合にも、正しくクランク角度位置が検出された気筒（または、期間）においてのみ、燃料噴射制御および点火時期制御を継続して最低限のリンプホーム性を確保することができる。
【０１６６】
次に、図１５のフローチャートを参照しながら、この発明の実施の形態１による学習系列の生成中および生成後の気筒判別信号の異常判定処理について説明する。
【０１６７】
この場合、コントロールユニット４０は、気筒判別信号異常カウンタＤＳＴＣＮＴおよび学習系列気筒判別信号異常フラグＬＲＮＤＳＴＣＮＴを備え、図１５の処理ルーチンを実行する。
【０１６８】
図１５において、ステップ９０６および９１０は同様の処理ルーチンである。
まず、現在のクランク角度位置が気筒判別クランク角度位置であるか否かを判定し（ステップ９０１）、気筒判別クランク角度位置でない（すなわち、ＮＯ）と判定されれば、気筒判別信号が正常であるか異常であるかの判定が不可能なので、直ちに図１５の処理ルーチンを終了する。
【０１６９】
また、ステップ９０１において、現在のクランク角度位置が気筒判別クランク角度位置である（すなわち、ＹＥＳ）と判定されれば、気筒判別信号異常カウンタＤＳＴＣＮＴをインクリメントする（ステップ９０２）。
【０１７０】
気筒判別信号異常カウンタＤＳＴＣＮＴは、気筒判別結果と学習系列とが不一致である場合にインクリメントされるカウンタであり、図示されないが、所定行程間にわたって気筒判別結果と学習系列とが一致する場合には０クリアされる。
【０１７１】
次に、気筒判別信号の有無を判定し（ステップ９０３）、気筒判別信号が無入力（すなわち、ＮＯ）と判定されれば、気筒判別信号の異常と見なされるので、学習系列気筒判別信号異常フラグＬＲＮＤＳＴＣＮＴをセットし（ステップ９０４）、続いて、学習系列が生成済みか否かを判定する（ステップ９０５）。
【０１７２】
ステップ９０５において、学習系列が生成済み（すなわち、ＹＥＳ）と判定されれば、図１５の処理ルーチンを終了する。
このとき、異常判定フラグがセットされた状態で、学習系列により気筒を更新することにより、制御を継続することができる。
【０１７３】
また、ステップ９０５において、学習系列が未生成（すなわち、ＮＯ）と判定されれば、前述（図１２参照）のステップ７１８および７１９と同様の学習系列気筒判別リセット処理を実行して（ステップ９０６）、図１５の処理ルーチンを終了する。
【０１７４】
一方、ステップ９０３において、気筒判別信号の入力があった（すなわち、ＹＥＳ）と判定されれば、気筒判別開始後の行程数Ｚが所定数Ｚ１以上か否かを判定する（ステップ９０７）。
【０１７５】
気筒判別開始後の行程数Ｚは、始動直後の気筒判別の開始時、および、気筒判別のリセット処理が実行された後の気筒判別処理の再開時から、カウントアップされるカウンタにより計数される。
【０１７６】
ステップ９０７において、Ｚ＜Ｚ１（すなわち、ＮＯ）と判定されれば、学習系列が生成されるまでの行程であると判定し、直ちに図１５の処理ルーチンを終了する。
また、ステップ９０７において、Ｚ≧Ｚ１（すなわち、ＹＥＳ）と判定されれば、続いて、学習系列が生成済みであるか否かを判定する（ステップ９０８）。
【０１７７】
ステップ９０８において、学習系列が未生成（すなわち、ＮＯ）と判定されれば、気筒判別信号に異常があると見なされるので、学習系列気筒判別信号異常フラグＬＲＮＤＳＴＣＮＴをセットし（ステップ９０９）、学習系列気筒判別リセット処理を実行して（ステップ９１０）、図１５の処理ルーチンを終了する。
【０１７８】
一方、ステップ９０８において、学習系列が生成済み（すなわち、ＹＥＳ）と判定されれば、続いて、気筒判別結果と学習系列の気筒系列とが所定行程数間以上にわたって連続して不一致か否かを判定する（ステップ９１１）。
【０１７９】
ステップ９１１において、各気筒系列が所定行程数間以上にわたって連続して不一致（すなわち、ＹＥＳ）と判定されれば、気筒判別信号に異常があると見なされるので、前述のステップ９０９、９１０が実行される。
【０１８０】
また、ステップ９１１において、各気筒系列の不一致が所定行程数間以内である（すなわち、ＮＯ）と判定されれば、続いて、気筒判別信号異常カウンタＤＳＴＣＮＴが所定値以上か否かを判定する（ステップ９１２）。
【０１８１】
ステップ９１２において、ＤＳＴＣＮＴ＜所定値（すなわち、ＮＯ）と判定されれば、図１５の処理ルーチンを終了し、ＤＳＴＣＮＴ≧所定値（すなわち、ＹＥＳ）と判定されれば、気筒判別信号に異常があると見なされるので、前述のステップ９０９、９１０が実行される。
【０１８２】
このように、学習系列を用いた気筒判別信号の異常判定により、気筒判別信号にノイズ重畳や信号欠落が単発的に発生した場合には、気筒番号の誤判定を防止して、エンジン１０の運転を継続することができる。
【０１８３】
また、学習系列異常状態判定手段により、学習系列の基準クランク角度位置が正常と判定された場合に、学習系列の生成後に気筒判別信号の入力がなくなって気筒判別信号が異常と判定された場合には、学習系列により気筒を更新することができる。
【０１８４】
また、ノイズ重畳や信号欠落が連続的に発生して、気筒番号にずれが発生するおそれのある場合には、直ちにエンジンを停止して、エンジンの運転継続に起因するバックファイアやエンジン損傷を未然に防止することができる。
【０１８５】
また、ノイズ重畳や信号欠落が間欠的に発生した場合にも、正しく気筒判別を実行された気筒（または、期間）においてのみ、燃料噴射制御および点火時期制御を継続して最低限のリンプホーム性を確保することができる。
【０１８６】
また、ここでは図示しないが、学習系列気筒判別リセット処理の実行後に再度学習系列を生成するように構成すれば、学習系列の信頼性をさらに向上させることができる。
【０１８７】
また、気筒判別手段内の学習系列再生成手段は、学習系列の異常判定後に、所定行程間にわたって連続して第１および第２の気筒系列が一致したときに、気筒判別信号の異常判定を解除して学習系列を再生成し、学習系列の再生成時の生成条件を通常の学習系列の生成条件よりも厳しくすることにより、学習系列の信頼性をさらに向上させることができる。
【０１８８】
さらに、学習系列再生成を判定する所定行程数を、学習系列生成を判定する所定行程数よりも大きい値に設定し、学習系列の再生成時の生成条件を通常の学習系列の生成条件よりも厳しくすることにより、学習系列の信頼性をさらに向上させることができる。
【０１８９】
【発明の効果】
以上のように、この発明によれば、内燃機関の複数の気筒を判別して各気筒に対する燃料噴射および点火時期を制御するための内燃機関制御装置であって、内燃機関のクランク軸に設けられて、クランク軸の回転角度位置に対応して複数個のクランク角度位置信号を出力するクランク角度位置信号発生手段と、クランク軸の２回転に１回転の割合で回転するカム軸に設けられて、カム軸の回転角度位置に対応して、各気筒に対応した気筒判別信号を発生する気筒判別信号発生手段と、クランク角度位置信号に含まれる基準クランク角度位置を検出するための基準クランク角度位置検出手段と、気筒判別信号に基づいて各気筒を判別する気筒判別手段と、気筒判別手段による気筒判別結果とクランク角度位置信号のクランク角度位置とに基づいて、少なくとも各気筒に対する燃料噴射信号および点火信号を生成する気筒制御手段と、少なくともクランク角度位置信号の異常を判定する異常判定手段とを備え、気筒判別手段は、クランク角度位置信号の異常が判定された場合に、気筒判別手段による現在の判別内容をリセットする気筒判別リセット手段を含み、気筒判別リセット手段は、燃料噴射信号および点火信号を停止させる燃料噴射・点火信号停止手段と、異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段とを含むので、クランク角度位置信号に発生する異常状態（ノイズ重畳や信号欠落など）を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９０】
また、この発明によれば、異常判定手段は、気筒判別信号が所定のクランク角度にわたって検出されない場合に、クランク角度位置信号を異常と判定するので、クランク角度位置信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９１】
また、この発明によれば、異常判定手段は、基準クランク角度位置により限定される所定角度の間にクランク角度位置信号が所定数だけ検出されない場合に、クランク角度位置信号を異常と判定するので、クランク角度位置信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９２】
また、この発明によれば、異常判定手段は、所定のクランク角度にわたって基準クランク角度位置が検出されない場合に、クランク角度位置信号を異常と判定するので、クランク角度位置信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９３】
また、この発明によれば、異常判定手段は、気筒判別信号の異常を判定し、気筒判別リセット手段は、燃料噴射および点火時期の少なくとも一方が制御されている間に気筒判別信号の異常が判定された場合に、燃料噴射信号および点火信号を停止させるとともに、気筒判別信号の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアするので、クランク角度位置信号および気筒判別信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９４】
また、この発明によれば、異常判定手段は、気筒判別信号が検出されたクランク角度位置が所定範囲外にある場合に、気筒判別信号を異常と判定するので、クランク角度位置信号および気筒判別信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９５】
また、この発明によれば、異常判定手段は、クランク角度位置の所定範囲内に気筒判別信号が所定数以上検出された場合に、気筒判別信号を異常と判定するので、クランク角度位置信号および気筒判別信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９６】
また、この発明によれば、異常判定手段は、クランク角度位置信号の各信号間に気筒判別信号が所定数以上検出された場合に、気筒判別信号を異常と判定するので、クランク角度位置信号および気筒判別信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９７】
また、この発明によれば、異常判定手段は、基準クランク角度位置で限定される複数のクランク角度位置と気筒判別信号とが所定の位置関係でない場合に、気筒判別信号を異常と判定するので、クランク角度位置信号および気筒判別信号に発生する異常状態を高い信頼性で検出し、異常発生時のフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０１９８】
また、この発明によれば、気筒判別手段は、クランク角度位置信号に基づくクランク角度位置と気筒判別手段の気筒判別結果とを順次更新しながら読み込み、第１の気筒系列として記憶する第１の気筒系列記憶手段と、あらかじめ正規のクランク角度位置および気筒系列が第２の気筒系列として記憶されている第２の気筒系列記憶手段と、第１および第２の気筒系列が一致しているか否かを判定する気筒系列比較手段と、気筒系列比較手段により、所定行程間にわたって第１および第２の気筒系列が一致していることが判定された場合に、第２の気筒系列を学習系列として生成する学習系列生成手段とを含み、学習系列が生成された後は、学習系列にしたがってクランク角度位置信号の角度位置および各気筒を決定するので、異常状態が単発的に発生した場合にはクランク角度位置および気筒判別の誤判定を防止して運転を継続し、異常状態が連続的に発生した場合には速やかに運転を停止させ、また、間欠的に発生した場合には、正しく気筒判別された気筒または期間のみで燃料噴射制御および点火時期制御を継続し、最低限のリンプホーム性能を確保した内燃機関制御装置が得られる効果がある。
【０１９９】
また、この発明によれば、異常判定手段は、基準クランク角度位置検出手段により検出された基準クランク角度位置と、学習系列にしたがう基準クランク角度位置とを比較する基準クランク角度位置比較手段を含み、基準クランク角度位置比較手段により各基準クランク角度位置が不一致であると判定された場合に、学習系列の基準クランク角度位置が異常状態であると判定し、気筒判別手段は、異常判定手段により学習系列の基準クランク角度位置が異常状態であると判定された場合に、基準クランク角度位置検出手段が次回に検出する基準クランク角度位置を学習系列の基準クランク角度位置として再設定する学習系列再設定手段と、異常判定手段により異常状態であると判定されたときの学習系列の気筒番号を保持し、学習系列の基準クランク角度位置から次回に検出される基準クランク角度位置までの間に検出されるクランク角度位置信号の数が第１の所定数以下のときに、保持された学習系列の気筒番号の通りに制御気筒番号を設定する第１の気筒番号設定手段と、クランク角度位置信号数が第１の所定数よりも大きい第２の所定数以上のときに、保持された学習系列の気筒番号から制御気筒番号を１だけ進める第２の気筒番号設定手段と、クランク角度位置信号の信号数が第１および第２の所定数の間の数であった場合と、学習系列の基準クランク角度位置から、第２の所定数よりも大きい第３の所定数だけ検出されても、検出されるべき基準クランク角度位置が検出されない場合とにおいて、第１および第２の気筒番号設定手段による制御気筒番号の設定が不適切であると判定し、学習系列生成手段および気筒判別手段をリセットする学習系列気筒判別リセット手段とを含み、学習系列気筒判別リセット手段は、第１の気筒系列記憶手段の記憶内容をクリアして学習系列をクリアする学習系列情報クリア手段と、燃料噴射信号および点火信号を停止させる燃料噴射・点火信号停止手段と、学習系列の基準クランク角度位置の異常判定時における前回のクランク角度位置信号よりも以前の気筒判別情報をクリアする気筒判別情報クリア手段とを含むので、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２００】
また、この発明によれば、異常判定手段は、基準クランク角度位置比較手段により各基準クランク角度位置が不一致であると判定された場合に、学習系列再設定手段と第１または第２の気筒番号設定手段とにより再設定された学習系列にしたがう基準クランク角度位置の気筒が気筒判別手段による次回の気筒判別結果と一致した場合には、再設定された学習系列が正常であると判定し、再設定された学習系列にしたがう基準クランク角度位置の気筒が気筒判別手段による次回の気筒判別結果と不一致であった場合には、再設定された学習系列が異常であると判定し、学習系列気筒判別リセット手段は、異常判定手段により再設定された学習系列のクランク角度位置が異常であると判定された場合に、学習系列生成手段および気筒判別手段をリセットするので、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２０１】
また、この発明によれば、学習系列気筒判別リセット手段は、異常判定手段により、学習系列の基準クランク角度位置が正常であると判定され、且つ気筒判別信号の異常が判定された場合には、学習系列生成手段および気筒判別手段をリセットするので、学習系列を用いた気筒判別信号の異常判定に基づき、異常が単発的に発生した場合には気筒番号の誤判定を防止してエンジンの運転を継続し、異常が連続的に発生した場合には直ちにエンジンを停止し、また、異常が間欠的に発生した場合には、正しく気筒判別された気筒または期間のみで燃料噴射制御および点火時期制御を継続し、最低限のリンプホーム性を確保した内燃機関制御装置が得られる効果がある。
【０２０２】
また、この発明によれば、異常判定手段は、気筒系列比較手段により第１および第２の気筒系列の各クランク角度位置が一致していると判定されたときに、学習系列が所定行程数間以内に生成されない場合には、気筒判別信号を異常と判定するので、学習系列を用いた気筒判別信号の異常判定に基づき、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２０３】
また、この発明によれば、異常判定手段は、学習系列生成手段による学習系列の生成後に、所定行程間にわたって連続して第１および第２の気筒系列が不一致となる場合には、気筒判別信号を異常と判定するので、学習系列を用いた気筒判別信号の異常判定に基づき、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２０４】
また、この発明によれば、異常判定手段は、エラーカウンタおよび学習系列エラーカウンタ設定手段を含み、エラーカウンタは、学習系列生成手段による学習系列の生成後に、第１および第２の気筒系列記が不一致となる場合には、インクリメントされ、学習系列エラーカウンタ設定手段は、カム軸が１回転する間にわたって第１および第２の気筒系列が常に一致した場合には、エラーカウンタをクリアし、異常判定手段は、学習系列エラーカウンタ設定手段によるエラーカウンタのカウンタ値が所定値以上となったときに、気筒判別信号を異常と判定するので、学習系列を用いた気筒判別信号の異常判定に基づき、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２０５】
また、この発明によれば、学習系列気筒判別リセット手段は、異常判定手段により、学習系列生成手段による学習系列の生成後に、気筒判別信号が入力されなくなって気筒判別信号の異常が判定された場合には、学習系列にしたがってクランク角度位置信号のクランク角度位置および各気筒を決定するので、学習系列を用いた気筒判別信号の異常判定に基づき、異常状態の発生状況に応じたフェールセーフ機能を確保した内燃機関制御装置が得られる効果がある。
【０２０６】
また、この発明によれば、気筒判別手段は、学習系列再生成手段を含み、学習系列再生成手段は、学習系列の異常判定後、所定行程間にわたって連続して第１および第２の気筒系列が一致したときに、気筒判別信号の異常判定を解除して、学習系列を再生成するので、学習系列の再生成時の生成条件を通常の学習系列の生成条件よりも厳しくすることができ、学習系列の信頼性をさらに向上させた内燃機関制御装置が得られる効果がある。
【０２０７】
また、この発明によれば、学習系列再生成手段によって学習系列の再生成を判定する所定行程数は、学習系列生成手段によって学習系列の生成を判定する所定行程数よりも大きい値に設定されたので、学習系列の再生成時の生成条件を通常の学習系列の生成条件よりも厳しくすることができ、学習系列の信頼性をさらに向上させた内燃機関制御装置が得られる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による内燃機関およびその制御部を示す構成図である。
【図２】図１内のカム軸に取付けられた気筒判別信号発生手段の信号板形状を示す側面図である。
【図３】図１内のクランク軸に取付けられたクランク角度位置信号発生手段の信号板形状を示す側面図である。
【図４】この発明の実施の形態１により生成されるクランク角度位置信号および気筒判別信号を４気筒内燃機関のパルスパターンで示す説明図である。
【図５】この発明の実施の形態１によるクランク角度位置信号異常判定ルーチンを示すフローチャートである。
【図６】この発明の実施の形態１によるクランク角度位置信号異常判定時処理ルーチンを示すフローチャートである。
【図７】この発明の実施の形態１による気筒判別リセット処理ルーチンを示すフローチャートである。
【図８】この発明の実施の形態１によるリアルタイムのクランク角度位置信号異常時の処理内容をタイミングチャートと関連させて示す説明図である。
【図９】この発明の実施の形態１による気筒判別信号異常判定ルーチンを示すフローチャートである。
【図１０】この発明の実施の形態１による気筒判別信号異常判定時処理ルーチンを示すフローチャートである。
【図１１】この発明の実施の形態１による学習系列生成処理ルーチンを示すフローチャートである。
【図１２】この発明の実施の形態１による第１および第２の気筒系列記憶手段が不一致の場合に実行される学習系列異常判定処理ルーチンを示すフローチャートである。
【図１３】この発明の実施の形態１による学習系列のクランク角度位置信号異常時の処理内容をタイミングチャートと関連させて示す説明図である。
【図１４】この発明の実施の形態１による学習系列気筒判別リセット処理ルーチンを示すフローチャートである。
【図１５】この発明の実施の形態１による学習系列生成中および生成後の気筒判別信号の異常判定処理ルーチンを示すフローチャートである。
【符号の説明】
１０　エンジン、１１　カム軸、１２　クランク軸、１３　ピストン、１４　吸気および排気バルブ、１５　点火プラグ、２２、３２　センサ、２３、３１ａ
突起、３１ｂ、３１ｃ　欠け歯部分、４０　コントロールユニット。
【図１】
2004027898.tif 000003
【図２】
2004027898.tif 000004
【図３】
2004027898.tif 000005
【図４】
2004027898.tif 000006
【図５】
2004027898.tif 000007
【図６】
2004027898.tif 000008
【図７】
2004027898.tif 000009
【図８】
2004027898.tif 000010
【図９】
2004027898.tif 000011
【図１０】
2004027898.tif 000012
【図１１】
2004027898.tif 000013
【図１２】
2004027898.tif 000014
【図１３】
2004027898.tif 000015
【図１４】
2004027898.tif 000016
【図１５】
2004027898.tif 000017