(57)【特許請求の範囲】
【請求項１】
内燃機関のクランク軸の回転に同期して基準位置を含むパルス列からなるクランク角信号を出力するクランク角信号検出手段と、
前記クランク軸に対して１／２の速度比で回転するカム軸と、
前記カム軸の回転に同期して前記内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、
前記クランク角信号および前記カム信号に基づいて前記内燃機関の気筒を判別する気筒判別手段とを備えた内燃機関の気筒判別装置において、
前記気筒判別手段は、
前記各気筒の点火制御周期を複数区間に分割し、前記複数区間にわたって発生する前記特定パルスの信号数を計数して記憶する信号数記憶手段と、
前記複数区間の順序を判別する区間判別手段とを含み、
前記区間判別手段は、前記基準位置からの前記特定パルスの信号数に対応したクランク角位置に基づいて気筒判別実行位置を検出し、前記気筒判別実行位置に対応する前記複数区間の開始区間の始点から前記クランク角信号を検出していたことに基づいて、前記複数区間の順序を判別し、
前記複数区間は、前記基準位置を含む区間と前記基準位置を含まない区間とを有し、
前記複数区間に発生する前記特定パルスの信号数の組み合わせは、前記複数区間の開始点によって前記複数区間毎に対応して異なり、
前記気筒判別手段は、前記複数区間の開始点によらず、前記区間判別手段の判別結果に基づいて前記各気筒を判別することを特徴とする内燃機関の気筒判別装置。
【請求項２】
前記信号数記憶手段は、前記内燃機関の始動時からの前記カム信号の信号数とともに、前記内燃機関の始動時からの前記クランク角信号のパルス数を計数して記憶し、
前記気筒判別手段は、
前記クランク角信号のパルス列と前記カム信号の特定パルスとの時間関係を記憶する信号順序記憶手段と、
前記クランク角信号から前記基準位置を検出する基準位置検出手段とを含み、
前記基準位置の検出までに記憶された前記クランク角信号のパルス数に基づいて、前記複数区間の前回の始点以前から前記クランク角信号を検出していたことが判定された場合には、前回区間に発生した前記カム信号の信号数に基づいて前記各気筒を判別することを特徴とする請求項１に記載の内燃機関の気筒判別装置。
【請求項３】
前記気筒判別手段は、
前記基準位置の検出後に、前記複数期間のうちの前記基準位置を含む今回区間の終端検出時までに記憶された前記クランク角信号のパルス数に基づいて、前記今回区間の始点以前からクランク角を検出していたことが判定された場合には、今回区間に発生した前記カム信号の信号数に基づいて前記各気筒を判別することを特徴とする請求項２に記載の内燃機関の気筒判別装置。
【請求項４】
前記気筒判別手段は、
前記複数区間の区間終端検出時までに記憶された前記クランク角信号のパルス数に基づいて、前回区間の始点以前から前記クランク角信号を検出していたことが判定された場合には、前記前回区間に発生した前記カム信号の信号数と今回区間に発生した前記カム信号の信号数との組み合わせに基づいて前記各気筒を判別することを特徴とする請求項２または請求項３に記載の内燃機関の気筒判別装置。
【請求項５】
前記複数区間に発生する前記カム信号の信号数の組み合わせは、無出力のみの組み合わせを含まないことを特徴とする請求項１から請求項４までのいずれかに記載の内燃機関の気筒判別装置。
【請求項６】
前記内燃機関の気筒数は４であり、前記各気筒の点火制御周期は１８０°のクランク角であり、
前記複数区間は第１および第２の区間からなり、前記カム信号に含まれる特定パルス数は、
前記第１および第２の区間に対して、前記各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定され、
また、前記第２および第１の区間に対して、前記各気筒の制御順に、それぞれ、「１、１」、「０、２」、「１、０」、「２、０」、となるように設定されたことを特徴とする請求項５に記載の内燃機関の気筒判別装置。
【請求項７】
前記内燃機関の気筒数は６であり、前記各気筒の点火制御周期は１２０°のクランク角であり、
前記複数区間は第１および第２の区間からなり、前記カム信号に含まれる特定パルス数は、
前記第１および第２の区間に対して、前記各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定され、
また、前記第２および第１の区間に対して、前記各気筒の制御順に、それぞれ、「１、１」、「０、２」、「０、１」、「２、０」、「２、１」、「１、０」、となるように設定されたことを特徴とする請求項５に記載の内燃機関の気筒判別装置。
【請求項８】
前記内燃機関の気筒数は３であり、前記各気筒の点火制御周期は２４０°のクランク角であり、
前記複数区間は第１および第２の区間からなり、前記カム信号に含まれる特定パルス数は、
前記第１および第２の区間に対して、前記各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定され、
また、前記第２および第１の区間に対して、前記各気筒の制御順に、それぞれ、「１、１、０、２」、「０、１、２、０」、「２、１、１、０」、となるように設定されたことを特徴とする請求項５に記載の内燃機関の気筒判別装置。
【請求項９】
前記クランク角信号は、１０°のクランク角周期のパルス列からなり、
前記クランク角信号に含まれる基準位置は、前記各気筒毎のＴＤＣから３５°のクランク角に設定されたことを特徴とする請求項６から請求項８までのいずれかに記載の内燃機関の気筒判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動車に搭載される内燃機関の気筒判別装置に関し、特に始動時に気筒判別を速やかに完了して気筒毎の燃料噴射制御や点火制御を速やかに実行できるようにした内燃機関の気筒判別装置に関するものである。
【０００２】
【従来の技術】
従来の内燃機関の気筒判別装置としては、たとえば特開平６−１４６９９２号公報に参照されるものがある。
上記公報に記載の従来装置においては、内燃機関（エンジン）の各気筒毎の制御用回転角を検出するために、クランク軸の回転に同期して生成されるクランク角信号と、クランク軸の１／２の回転速度比を有するカム軸の回転に同期して生成されるカム信号とが用いられる。
【０００３】
クランク角信号は、クランク軸と同軸のリングギヤの外周突起に対向配置された電磁ピックアップにより検出され、基準位置を示す所定回転角度毎のパルス列からなる。
【０００４】
また、カム信号の発生パルス数は、エンジンの各気筒毎に対応した所定クランク角区間に連続するクランク角信号ＳＧＴ毎に異なるように設定されている。
これにより、前回区間と今回区間とに発生したカム信号の発生パルス数の組み合わせから、気筒グループおよびクランク角信号の特定位置を判別することができる。
【０００５】
しかしながら、上記従来装置では、特定位置での発生パルス数の組み合わせが「０」、「１」、「２」の３種類であり、２区間の発生パルス数の組み合わせのみに基づいて６気筒エンジンの特定気筒を判別することはできない。
【０００６】
前回区間および今回区間での発生パルス数の組み合わせから特定位置および気筒を判別しているが、たとえば今回区間の終端が特定位置でない場合には、気筒を判別することができない。
【０００７】
たとえば、４気筒エンジンの場合は、各区間のクランク角範囲を９０ーＣＡ（ＣＡ：クランク角）としているので、エンジン停止時のクランク角に依存して、最小の場合にはエンジンが１８０ーＣＡだけ回転すれば気筒判別が終了するが、最大の場合には、エンジンが３６０ーＣＡだけ回転しないと気筒判別が終了せず、始動時間が遅くなってしまう。
【０００８】
一方、たとえば特開平１１−３１１１４６号公報に記載されたエンジンの気筒判別装置においては、リングギヤの外周突起の欠け歯に対応した基準位置を含む所定クランク角（１０ーＣＡ）間隔のパルス列からなるクランク角信号（ＰＯＳ）と、上記基準位置とは異なる角度基準を示す角度基準信号（ＲＥＦ）と、カム信号（ＣＡＭ）とが用いられている。
【０００９】
カム信号は、エンジンの各気筒毎に対応したクランク角周期を分割した各分割区間での発生パルス数が互いに異なるように設定されている。
【００１０】
この場合、マイコンを含む電子制御ユニットは、角度基準信号ＲＥＦを検出すると、角度基準信号ＲＥＦを始点として各角度基準信号ＲＥＦで挟まれた区間を複数区間に分割する。
【００１１】
このときの区間分割は、クランク角信号ＰＯＳによって計測される。
また、カム軸と同軸の回転板の外周突起は、上記分割区間毎に異なるパルス数のカム信号ＣＡＭが発生するように、あらかじめ設定されている。
【００１２】
すなわち、各分割区間でのカム信号ＣＡＭの発生パルス数は、２種類（たとえば、「１」か「０」）に設定されており、角度基準信号ＲＥＦから次の角度基準信号ＲＥＦまでの各区間に発生したカムパルスの組み合わせによって気筒判別を行うことができる。
【００１３】
この場合も、角度基準信号ＲＥＦの検出後に各角度基準信号ＲＥＦ間を複数区間に分割し、複数区間での発生パルス数の組み合わせに基づいて気筒を判別しているので、気筒判別は、角度基準信号ＲＥＦの発生後に開始されることになる。
【００１４】
したがって、前述の従来装置と同様に、エンジン停止時のクランク角によって、最小では１８０ーＣＡ間のエンジン回転で気筒判別が終了するが、最大では、気筒判別に３６０ーＣＡ間のエンジン回転を要するので始動時間が遅くなる。
【００１５】
また、各区間の発生パルス数を２種類（「０」、「１」）に設定しているので、たとえば４気筒エンジンの各区間（前半および後半の両方）において発生パルス数が「０」となる場合があり、このとき、カム信号の無出力（たとえば、断線）状態との違いを区別することができず、フェールセーフ上の問題を有している。
【００１６】
【発明が解決しようとする課題】
従来の内燃機関の気筒判別装置は以上のように、特開平６−１４６９９２号公報の場合は、所定区間毎のカム信号の発生パルス数の組み合わせから特定位置を判定しているが、特定位置での発生パルス数の組み合わせが気筒数よりも少ないので、２区間のカムパルス数の組み合わせのみで６気筒エンジンの特定気筒を判定することができないという問題点があった。
【００１７】
また、今回区間の終端が特定位置でない場合には、カム信号の発生パルス数の組み合わせから気筒判別することができないので、エンジン停止時のクランク角によっては、最大でエンジンが３６０ーＣＡだけ回転しないと気筒判別を終了することができず、始動時間が遅くなるという問題点があった。
【００１８】
また、特開平１１−３１１１４６号公報の場合は、角度基準信号ＲＥＦ間を分割した複数区間でのカム信号ＣＡＭの発生パルス数の組み合わせから気筒を判別しており、角度基準信号ＲＥＦの発生後に気筒判別を開始しているので、同様に、エンジン停止時のクランク角によっては、最大でエンジンが３６０ーＣＡだけ回転しないと気筒判別を終了することができず、始動時間が遅くなるという問題点があった。
【００１９】
また、各区間での発生パルス数を２種類に設定しているので、たとえば気筒判別区間の前半および後半の両方で発生パルス数が「０」となった場合には、カム信号の無出力（断線）状態との区別がつかず、フェールセーフ上の支障が発生するという問題点があった。
【００２０】
この発明は上記のような問題点を解決するためになされたもので、始動時の気筒判別に要するエンジン回転角を小さくして始動時間を短縮化し、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置を得ることを目的とする。
【００２１】
【課題を解決するための手段】
この発明の請求項１に係る内燃機関の気筒判別装置は、内燃機関のクランク軸の回転に同期して基準位置を含むパルス列からなるクランク角信号を出力するクランク角信号検出手段と、クランク軸に対して１／２の速度比で回転するカム軸と、カム軸の回転に同期して内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、クランク角信号およびカム信号に基づいて内燃機関の気筒を判別する気筒判別手段とを備えた内燃機関の気筒判別装置において、気筒判別手段は、各気筒の点火制御周期を複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する信号数記憶手段と、複数区間の順序を判別する区間判別手段とを含み、区間判別手段は、基準位置からの特定パルスの信号数に対応したクランク角位置に基づいて気筒判別実行位置を検出し、気筒判別実行位置に対応する複数区間の開始区間の始点からクランク角信号を検出していたことに基づいて、複数区間の順序を判別し、複数区間は、基準位置を含む区間と前記基準位置を含まない区間とを有し、複数区間に発生する特定パルスの信号数の組み合わせは、複数区間の開始点によって複数区間毎に対応して異なり、気筒判別手段は、複数区間の開始点によらず、区間判別手段の判別結果に基づいて各気筒を判別するものである。
【００２２】
また、この発明の請求項２に係る内燃機関の気筒判別装置は、請求項１において、信号数記憶手段は、内燃機関の始動時からのカム信号の信号数とともに、内燃機関の始動時からのクランク角信号のパルス数を計数して記憶し、気筒判別手段は、クランク角信号のパルス列とカム信号の特定パルスとの時間関係を記憶する信号順序記憶手段と、クランク角信号から基準位置を検出する基準位置検出手段とを含み、基準位置の検出までに記憶されたクランク角信号のパルス数に基づいて、複数区間の前回の始点以前からクランク角信号を検出していたことが判定された場合には、前回区間に発生したカム信号の信号数に基づいて各気筒を判別するものである。
【００２３】
また、この発明の請求項３に係る内燃機関の気筒判別装置は、請求項２において、気筒判別手段は、基準位置の検出後に、複数期間のうちの基準位置を含む今回区間の終端検出時までに記憶されたクランク角信号のパルス数に基づいて、今回区間の始点以前からクランク角を検出していたことが判定された場合には、今回区間に発生したカム信号の信号数に基づいて各気筒を判別するものである。
【００２４】
また、この発明の請求項４に係る内燃機関の気筒判別装置は、請求項２または請求項３において、気筒判別手段は、複数区間の区間終端検出時までに記憶されたクランク角信号のパルス数に基づいて、前回区間の始点以前からクランク角信号を検出していたことが判定された場合には、前回区間に発生したカム信号の信号数と今回区間に発生したカム信号の信号数との組み合わせに基づいて各気筒を判別するものである。
【００２５】
また、この発明の請求項５に係る内燃機関の気筒判別装置は、請求項１から請求項４までのいずれかにおいて、複数区間に発生するカム信号の信号数の組み合わせは、無出力のみの組み合わせを含まないものである。
【００２６】
また、この発明の請求項６に係る内燃機関の気筒判別装置は、請求項５において、内燃機関の気筒数は４であり、各気筒の点火制御周期は１８０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１」、「０、２」、「１、０」、「２、０」、となるように設定されたものである。
【００２７】
また、この発明の請求項７に係る内燃機関の気筒判別装置は、請求項５において、内燃機関の気筒数は６であり、各気筒の点火制御周期は１２０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１」、「０、２」、「０、１」、「２、０」、「２、１」、「１、０」、となるように設定されたものである。
【００２８】
また、この発明の請求項８に係る内燃機関の気筒判別装置は、請求項５において、内燃機関の気筒数は３であり、各気筒の点火制御周期は２４０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１、０、２」、「０、１、２、０」、「２、１、１、０」、となるように設定されたものである。
【００２９】
また、この発明の請求項９に係る内燃機関の気筒判別装置は、請求項６から請求項８までのいずれかにおいて、クランク角信号は、１０°のクランク角周期のパルス列からなり、クランク角信号に含まれる基準位置は、各気筒毎のＴＤＣから３５°のクランク角に設定されたものである。
【００３０】
【発明の実施の形態】
実施の形態１．
以下、図面を参照しながら、この発明の実施の形態１について詳細に説明する。
図１はこの発明の実施の形態１を概略的に示す機能ブロック図である。
図１において、内燃機関（エンジン）は、クランク軸１と、クランク軸１に対して１／２の速度比で回転するカム軸２とを備えている。
【００３１】
クランク角信号検出手段３は、クランク軸１に同期回転して基準位置を含むパルス列からなるクランク角信号ＳＧＴを出力する。
カム信号検出手段４は、カム軸２に同期回転してエンジンの各気筒を識別するための特定パルスを含むカム信号ＳＧＣを出力する。
【００３２】
電子制御ユニットからなる気筒判別手段１０は、クランク角信号ＳＧＴおよびカム信号ＳＧＣに基づいて、エンジンの気筒を判別するとともに各気筒毎の基準位置を判別する。
【００３３】
気筒判別手段１０は、クランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス数を記憶する信号順序記憶手段１１および信号数記憶手段１２と、クランク角信号ＳＧＴを取り込む基準位置検出手段１３と、信号数記憶手段１２および基準位置検出手段１３の各出力信号を取り込む区間判別手段１４とを備えている。
【００３４】
信号順序記憶手段１１は、クランク角信号ＳＧＴに含まれる１０°ＣＡ毎のパルス列と、カム信号ＳＧＣに含まれる気筒判別用の特定パルスとの時間関係を記憶する。
【００３５】
信号数記憶手段１２は、エンジン始動開始からのクランク角信号ＳＧＴの検出パルス数を記憶するクランク角信号記憶手段と、エンジン始動開始からのカム信号ＳＧＣの発生パルス数を記憶するカム信号記憶手段とを含み、エンジン始動時からのクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス信号数を計数して記憶する。
【００３６】
また、信号数記憶手段１２は、各気筒の点火制御周期を複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する。
ここでは、後述するように、複数区間を２つの区間（ａ）および（ｂ）としている。
【００３７】
基準位置検出手段１３は、クランク角信号ＳＧＴから基準位置を検出する。
区間判別手段１４は、クランク角信号ＳＧＴの基準位置に基づいて複数区間の順序、すなわち区間（ａ）〜（ｂ）の順序か、区間（ｂ）〜（ａ）の順序かを判別する。
【００３８】
図２はこの発明の実施の形態１によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパターンを示すタイミングチャートであり、代表的に４気筒エンジンの場合の信号検出パターンを示している。
【００３９】
図２において、クランク角信号ＳＧＴは、各気筒（＃１〜＃４）毎に対応した欠け歯位置Ａ２５°ＣＡ（以下、単に「Ａ２５」と記す）を有する。
ここでは、各気筒毎に、上死点ＴＤＣの近傍Ｂ０５ーＣＡ（以下、「Ｂ０５」と記す）を中心として、Ｂ９５°ＣＡ（以下、「Ｂ９５」と記す）〜Ａ２５付近までのクランク角位置を明記している。
【００４０】
クランク角信号ＳＧＴは、１０ーＣＡ毎のパルス列であり、欠け歯位置Ａ２５はリングギヤの欠け歯に対応している。
したがって、欠け歯に対応して実際に検出される基準位置はＡ３５°ＣＡ（以下、「Ａ３５」と記す）となる。
【００４１】
クランク角信号ＳＧＴの各ＴＤＣ区間（１８０°ＣＡ間）は、複数区間（２区間）に分割され、基準位置Ａ３５（欠け歯相当）を含む区間（ａ）と、基準位置Ａ３５を含まない区間（ｂ）とを有する。
【００４２】
カム信号ＳＧＣは、各気筒に対応して異なる信号数（「０」、「１」、「２」の組み合わせからなる）の特定パルスを有する。
すなわち、カム信号ＳＧＣは、各気筒の点火制御周期を複数区間に分割（ここでは、２分割）した場合に、各区間（ａ）、（ｂ）に発生する特定パルスの信号数の組み合わせが、複数区間の開始点によって複数区間毎に対応して異なるように設定されている。なお、区間途中から記憶開始した場合には、記憶開始点から最初の区間始点までの情報が気筒判別に用いられることはない。
【００４３】
これにより、気筒判別手段１０は、信号数記憶手段１２の記憶開始点と複数区間（ａ）および（ｂ）との位置関係によらず、区間判別手段１４の判別結果に基づいて各気筒を判別できるようになっている。
【００４４】
具体的には、気筒判別手段１０は、欠け歯位置Ａ２５に隣接した基準位置Ａ３５を検出するまでに記憶されたクランク角信号ＳＧＴのパルス数に基づいて気筒判別を行う。
【００４５】
すなわち、気筒判別手段１０は、複数区間の前回の始点以前からクランク角信号ＳＧＴを検出していたことが判定された場合には、前回区間に発生したカム信号ＳＧＣの信号数に基づいて各気筒を判別する。
【００４６】
また、気筒判別手段１０は、複数期間のうちの基準位置Ａ３５を含む今回区間の終端検出時までに記憶されたクランク角信号ＳＧＴのパルス数に基づいて、今回区間の始点以前からクランク角信号ＳＧＴを検出していたことが判定された場合には、今回区間に発生したカム信号ＳＧＣの信号数に基づいて各気筒を判別する。
【００４７】
さらに、気筒判別手段１０は、複数区間の区間終端検出時までに記憶されたクランク角信号ＳＧＴのパルス数に基づいて、前回区間の始点以前からクランク角信号ＳＧＴを検出していたことが判定された場合には、前回区間に発生したカム信号ＳＧＣの信号数と今回区間に発生したカム信号ＳＧＣの信号数との組み合わせに基づいて各気筒を判別する。
【００４８】
なお、複数区間（ａ）、（ｂ）に発生するカム信号ＳＧＣの信号数の組み合わせは、無出力のみの組み合わせ（「０」、「０」）を含むことはなく、少なくとも一方の信号数は、「１」または「２」である。
【００４９】
また、カム信号ＳＧＣは、クランク角信号ＳＧＴとカム信号ＳＧＣとの位相誤差を考慮して、各区間に所定数のパルス信号が出力されるように設定されている。
【００５０】
図２において、各気筒毎のＴＤＣ（上死点）区間は、便宜的にＴＤＣに近接したＢ０５により設定されている。
＃２気筒のＴＤＣ（Ｂ０５）から＃１気筒のＴＤＣ（Ｂ０５）までのＴＤＣ区間（点火制御周期）を２分割した区間（ａ）、（ｂ）において、カム信号ＳＧＣの発生パルス数は、それぞれ、「１」、「０」である。
【００５１】
また、＃１〜＃３気筒のＴＤＣ区間の２分割区間（ａ）、（ｂ）での発生パルス数は「２」、「１」、＃３〜＃４気筒のＴＤＣ区間の２分割区間（ａ）、（ｂ）での発生パルス数は「０」、「２」、＃４〜＃２気筒のＴＤＣ区間の２分割区間（ａ）、（ｂ）での発生パルス数は「０」、「１」である。
【００５２】
次に、図２〜図８を参照しながら、図１に示したこの発明の実施の形態１による気筒判別動作について説明する。
まず、図２〜図４を参照しながら、代表的な動作例について説明する。
【００５３】
図３は図１内の気筒判別手段１０の動作を説明するためのタイミングチャートであり、エンジン始動時において、＃１気筒のＢ０５（区間（ａ）の始点）の直前からクランク角信号ＳＧＴおよびカム信号ＳＧＣの検出を開始した場合の信号検出パターンを示している。
【００５４】
図４は図３の信号検出パターンに対して用いられる気筒判別テーブルを示す説明図であり、この気筒判別テーブルは、区間判別手段１４内に設けられている。
【００５５】
図３のように、エンジン始動時に＃１気筒のＴＤＣ直前（Ｂ０５）から信号検出を開始した場合、まず、Ｂ０５から検出された各信号ＳＧＴ、ＳＧＣのパルス数が計数され、信号数記憶手段１２内に記憶される。
【００５６】
次に、気筒判別手段１０内の基準位置検出手段１３は、前回および今回のクランク角信号ＳＧＴの周期Ｔｓｇｔ（ｎ−１）、Ｔｓｇｔ（ｎ）を演算し、これらの比率を周期比ＴＲ（ｎ）として、以下の（１）式から演算する。
【００５７】
ＴＲ（ｎ）＝Ｔｓｇｔ（ｎ）／Ｔｓｇｔ（ｎ−１）  ・・・（１）
【００５８】
続いて、基準位置検出手段１３は、クランク角信号ＳＧＴの周期比ＴＲ（ｎ）が所定値Ｋｒ以上か否かを判定し、ＴＲ（ｎ）≧Ｋｒを示す場合に、基準位置Ａ３５を検出する。
【００５９】
ここで、所定値Ｋｒは、エンジンの回転変動などを考慮して、周期比ＴＲ（ｎ）が通常値の約２倍に相当する場合に基準位置Ａ３５（欠け歯相当）を判定できるように設定されている。
【００６０】
基準位置Ａ３５の検出時点において、気筒判別手段１０は、気筒を判別することはできないものの、区間判別手段１４により、現在の検出区間が区間（ａ）であることを判別することはできる。
【００６１】
また、信号数記憶手段１２内のデータを参照し、検出開始から基準位置Ａ３５を検出した時点までのクランク角信号ＳＧＴの検出パルス数が「４」以上であれば、区間（ａ）の始点Ｂ０５以前から検出開始していることが判り、Ｂ０５時点でのクランク角信号ＳＧＴのパルス数を確認することができる。
【００６２】
次に、気筒判別手段１０内の区間判別手段１４は、区間（ａ）の終端Ｂ９５を判定するために、信号数記憶手段１２内のデータを参照する。
このとき、クランク角信号ＳＧＴの検出パルス数は、検出開始から現在までに検出されたクランク角信号ＳＧＴのパルス数を示している。
【００６３】
もし、Ｂ０５の検出時点からのクランク角信号ＳＧＴの検出パルス数が「９」であれば、区間（ａ）の終端Ｂ９５であることが判るので、この時点まで（区間（ａ））に検出されたカム信号ＳＧＣのパルス数をチェックする。
図３の場合、区間（ａ）でのカム信号ＳＧＣの発生パルス数は「２」である。
【００６４】
次に、気筒判別手段１０内の区間判別手段１４は、上記区間（ａ）に続く区間（ｂ）の終端Ｂ０５を検出するために、信号数記憶手段１２内のデータを参照する。
【００６５】
もし、区間（ｂ）の始点Ｂ９５から現在までに検出されたクランク角信号ＳＧＴのパルス数が「９」であれば、区間（ｂ）の終端Ｂ０５であることが判るので、この時点まで（区間（ｂ））に検出されたカム信号ＳＧＣのパルス数をチェックする。
図３の場合、区間（ｂ）でのカム信号ＳＧＣの発生パルス数は「１」である。
【００６６】
したがって、気筒判別手段１０は、カム信号ＳＧＣの区間（ａ）、（ｂ）での発生パルス数がそれぞれ「２」、「１」であることから、図４の気筒判別テーブルを参照することにより、最新に検出された現在のクランク角位置が＃３気筒のＴＤＣ（Ｂ０５）であることが判る。
【００６７】
図３のように、区間（ａ）の始点（Ｂ０５）直前からエンジン始動して、クランク角信号ＳＧＴの検出を開始した場合には、約１８０ーＣＡの間に気筒判別が終了する。
【００６８】
また、図２および図４から明らかなように、区間（ａ）でのカム信号ＳＧＣの発生パルス数が「１」または「２」であれば、続く区間（ｂ）の発生パルス数を参照するまでもなく、Ｂ９５の検出時点で、区間（ａ）の発生パルス数のみに基づいて、現在のクランク角位置が＃１気筒または＃３気筒のＢ９５であることを直ちに判別することができる。
【００６９】
この場合、エンジン始動時のクランク角信号ＳＧＴの検出開始から気筒判別までに要するクランク角は、約９０ーＣＡとなる。
【００７０】
次に、図２とともに、図５および図６を参照しながら、他の動作例について説明する。
図５はエンジン始動時に＃１気筒のＢ９５（区間（ｂ）の始点）の直前から信号検出を開始した場合のタイミングチャートであり、図６は図５の信号検出パターンに対して用いられる気筒判別テーブルを示す説明図である。
【００７１】
図５のように、＃１気筒のＢ９５の直前から信号検出を開始した場合、まず、Ｂ９５からの各信号ＳＧＴおよびＳＧＣの検出パルス数が計数され、信号数記憶手段１２内に記憶される。
【００７２】
この場合、Ｂ９５を始点とする区間（ｂ）においては、基準位置Ａ３５が検出されないので、次の区間（ａ）の始点Ｂ０５に達した時点でも、クランク角位置の絶対角を判別することはできない。
【００７３】
その後、基準位置Ａ３５が検出された時点で、区間判別手段１４は、クランク角の絶対角Ａ３５を判定し、エンジン始動時から検出されたクランク角信号ＳＧＴのパルス数から、各気筒の区間を判別する。
【００７４】
すなわち、クランク角信号ＳＧＴの検出パルス数が「１３」以上の場合には、区間（ｂ）の始点Ｂ９５以前から検出開始されていたことが判るとともに、始点Ｂ９５を判別することができる。
【００７５】
このように、区間（ｂ）の始点Ｂ９５から終端Ｂ０５までにわたってクランク角信号ＳＧＴを検出していたことが確認された場合、区間（ｂ）の全体においてクランク角信号ＳＧＴを検出しているので、気筒判別手段１０は、区間（ｂ）中に検出されたカム信号ＳＧＣの発生パルス数を確認する。
図５の場合、区間（ｂ）での発生パルス数は「０」である。
【００７６】
次に、気筒判別手段１０内の区間判別手段１４は、次の＃３気筒のＢ９５（区間（ａ）の終端）を検出するとともに、区間（ａ）でのカム信号ＳＧＣの発生パルス数「２」を確認する。
【００７７】
したがって、気筒判別手段１０は、図６の気筒判別テーブルを参照して、各区間（ｂ）、（ａ）での発生パルス数「０」、「２」から、現在のクランク角位置が＃３気筒のＢ９５（区間（ａ）の終端）であることを判別する。
【００７８】
図５のように、区間（ｂ）の始点Ｂ９５の直前からエンジン始動して、クランク角信号ＳＧＴの検出を開始した場合には、約１８０ーＣＡの間に気筒判別を終了することができる。
【００７９】
また、図２および図６から明らかなように、区間（ｂ）でのカム信号ＳＧＣの発生パルス数が「０」、「２」であれば、続く区間（ａ）の発生パルス数を参照するまでもなく、Ｂ０５の検出時点で、区間（ｂ）の発生パルス数のみに基づいて、現在のクランク角位置が＃１気筒または＃４気筒のＢ０５であることを直ちに判別することができる。
【００８０】
この場合、エンジン始動時の信号検出開始から気筒判別までに要するクランク角は、約１３０ーＣＡとなる。
【００８１】
次に、図７を参照しながら、気筒判別までに最大のクランク角回転を要する場合の動作例について説明する。
図７はエンジン始動時に＃１気筒のＢ９５（区間（ｂ）の始点）の直後から信号検出を開始した場合のタイミングチャートである。
【００８２】
この場合、信号検出開始位置が、Ｂ９５の直後のＢ８５ーＣＡの付近であるため、基準位置Ａ３５（欠け歯相当）を検出した時点でのクランク角信号ＳＧＴの検出パルス数は「１２」である。
【００８３】
このとき、基準位置検出手段１３は、絶対角の基準位置Ａ３５を判別することができる。
しかし、区間（ｂ）の始点Ｂ９５からクランク角信号ＳＧＴを検出開始していないので、クランク角信号ＳＧＴの検出パルス数「１２」が不足状態であり、区間判別手段１４は、最初に検出した区間（ｂ）でのカム信号ＳＧＣの発生パルス数を知ることができない。
【００８４】
続いて、基準位置Ａ３５からのクランク角信号ＳＧＴの検出パルス数「６」に基づいて区間（ａ）の終端Ｂ９５を検出した時点で、区間（ａ）でのカム信号ＳＧＣの発生パルス数「２」を確認する。
【００８５】
次に、＃３気筒のＢ９５からのクランク角信号ＳＧＴの検出パルス数「９」に基づいて、区間（ｂ）の終端（＃３気筒のＢ０５）を検出し、区間（ｂ）でのカム信号ＳＧＣの発生パルス数「１」を確認する。
【００８６】
以下、気筒判別手段１０は、図４の気筒判別テーブルを参照して、各区間（ａ）、（ｂ）での発生パルス数「２」、「１」から、現在のクランク角位置が＃３気筒のＢ０５であることを判別する。
【００８７】
図７のように、エンジン始動時に区間（ｂ）の開始直後から信号検出を開始した場合には、約２７０ーＣＡ間で気筒判別が終了する。
【００８８】
この場合も、区間（ａ）のカム信号ＳＧＣの発生パルス数が「２」または「１」であれば、区間（ａ）の発生パルス数のみに基づいて直ちに気筒判別することができ、気筒判別までに要するクランク角は約１８０ーＣＡとなる。
【００８９】
次に、図８を参照しながら、気筒判別までに最大のクランク角回転を要する場合の他の動作例について説明する。
図８はエンジン始動時に＃２気筒のＢ０５（区間（ａ）の始点）の直後から信号検出を開始した場合のタイミングチャートである。
【００９０】
図８において、クランク角信号ＳＧＴの検出開始位置は、＃２気筒のＢ０５の直後のＡ０５ーＣＡとなる。
【００９１】
続いて、クランク角の絶対角Ａ３５（欠け歯相当）を検出した時点で、始動時から検出したクランク角信号ＳＧＴのパルス数「３」を参照し、区間（ａ）の始点（Ｂ０５）からクランク角信号ＳＧＴを検出していないことが判る。
【００９２】
したがって、＃１気筒のＢ９５（区間（ａ）の終端）を検出した時点においては、区間（ａ）でのカム信号ＳＧＣの発生パルス数が不明であり、区間判別手段１４は、まだ発生パルス数の判別を実行しない。
【００９３】
続いて、＃１気筒のＢ９５からのクランク角信号ＳＧＴの検出パルス数「９」に基づいて、＃１気筒のＢ０５（区間（ｂ）の終端）を検出し、区間（ｂ）でのカムパルス信号ＳＧＣの発生パルス数「０」を確認する。
【００９４】
次に、＃１気筒の基準位置Ａ３５を検出するとともに、Ａ３５からのクランク角信号ＳＧＴの検出パルス数「６」に基づいて、次の＃３気筒のＢ９５（区間（ａ）の終端）を検出し、区間（ａ）でのカムパルス信号ＳＧＣの発生パルス数「２」を確認する。
【００９５】
以下、気筒判別手段１０は、図６の気筒判別テーブルを参照して、区間（ｂ）、（ａ）の各発生パルス数「０」、「２」から、現在のクランク角位置が＃３気筒のＢ９５であることを判別する。
【００９６】
図８のように、エンジン始動時に区間（ａ）の始点直後から信号検出を開始した場合には、２７０℃Ａ間で気筒判別が終了する。
また、前述と同様に、最初に確認される区間（ｂ）でのカム信号ＳＧＣの発生パルス数が「０」、「２」の場合には、直ちに気筒判別が終了するので、気筒判別までに要するクランク角は約１８０℃Ａとなる。
【００９７】
こうして、図３、図５、図７および図８のいずれの場合も、従来装置よりも短いクランク角回転の間に、エンジン始動時の気筒判別動作を終了することができる。
【００９８】
なお、気筒判別完了後の通常運転時においては、各区間（ａ）、（ｂ）の終了時において、今回区間および前回区間のカム信号ＳＧＣの発生パルス数の組み合わせから、図４または図６のテーブルを用いて気筒判別を継続することができる。
【００９９】
また、通常運転中の気筒判別処理を簡略化して高速化するために、区間（ａ）、（ｂ）を分割して認識せずに、たとえば、各気筒毎のＴＤＣ区間（Ｂ０５〜次のＢ０５）すなわち区間（ａ）、（ｂ）の両方におけるカム信号ＳＧＣの発生パルス数に基づいて気筒判別を継続してもよい。
【０１００】
図９は各気筒毎のＴＤＣ区間でのカム信号ＳＧＣの発生パルス数に基づく気筒判別テーブルを示す説明図である。
この場合、気筒判別手段１０は、区間（ａ）、（ｂ）での各発生パルス数の合計を確認し、図９を参照して、前回ＴＤＣ区間および今回ＴＤＣ区間での発生パルス数の組み合わせから各気筒を判別することができる。
【０１０１】
次に、図２〜図９とともに、図１０〜図１４のフローチャートを参照しながら、図１に示したこの発明の実施の形態１による気筒判別手段１０の処理動作について、さらに具体的に説明する。
【０１０２】
図１０〜図１４は４気筒エンジンの始動時における気筒判別動作を示しており、図１０はカム信号ＳＧＣによる割り込み処理ルーチン、図１１〜図１４はクランク角信号ＳＧＴによる割り込み処理ルーチンである。
【０１０３】
図１０において、Ｐｓｇｃ（ｎ）はクランク角信号ＳＧＴの前回パルスから今回パルスまでの間に検出されたカム信号ＳＧＣの発生パルス数である。
図１１において、Ｔｓｇｔ（ｎ）はクランク角信号ＳＧＴの前回パルスから今回パルスまでの周期である。
【０１０４】
図１２〜図１４において、Ｐｓｇｔはクランク角信号ＳＧＴの検出開始からのパルス数、Ｐｓｇｃ＿ｂは最新の区間（ｂ）でのカム信号ＳＧＣの発生パルス数、Ｐｓｇｃ＿ｓ（ｎ）は今回系列のカム信号ＳＧＣの発生パルス数、Ｐｓｇｃ＿ａは最新の区間（ａ）でのカム信号ＳＧＣの発生パルス数、Ｐｓｇｃ＿ｓ（ｎ）は今回系列でのカム信号ＳＧＣの発生パルス数である。
【０１０５】
まず、図１０において、信号順序記憶手段１１および信号数記憶手段１２は、カム信号ＳＧＣのパルス発生時に応答して、クランク角信号ＳＧＴの今回のパルス検出周期Ｔｓｇｔ（ｎ）に対応させて、カム信号ＳＧＣの発生パルス数Ｐｓｇｃ（ｎ）（＝１）を格納する（ステップＳ１）。
【０１０６】
また、図１１において、信号順序記憶手段１１および信号数記憶手段１２は、クランク角信号ＳＧＴのパルス検出毎に、今回のパルス検出周期Ｔｓｇｔ（ｎ）を前回のパルス検出周期Ｔｓｇｔ（ｎ−１）にシフトした後（ステップＳ１０）、最新のパルス検出周期Ｔｓｇｔ（ｎ）を演算し（ステップＳ１１）、図１２の処理フローに進む。
【０１０７】
図１２において、まず、クランク角信号ＳＧＴの検出パルス数Ｐｓｇｔをインクリメント（計数）し（ステップＳ１２）、欠け歯検出フラグを参照して、既に欠け歯の検出が終了しているか否かを判定する（ステップＳ１３）。
【０１０８】
ステップＳ１３において、既に欠け歯が検出されている（すなわち、ＹＥＳ）と判定されれば、後述する図１３の処理フロー（ステップＳ２４）に進み、欠け歯が検出されていない（すなわち、ＮＯ）と判定されれば、現在のクランク角位置が欠け歯に相当するか否かを判定する（ステップＳ１４）。
【０１０９】
すなわち、前述の（１）式で求めたクランク角信号ＳＧＴの周期比ＴＲ（ｎ）が所定値Ｋｒ以上か否かを判定し、ＴＲ（ｎ）＜Ｋｒ（すなわち、ＮＯ）と判定されればステップＳ２３（後述する）に進む。
【０１１０】
また、ステップＳ１４において、ＴＲ（ｎ）≧Ｋｒ（すなわち、ＹＥＳ）と判定されれば、欠け歯の検出終了を示すフラグをセットし（ステップＳ１５）、欠け歯に相当する現在のクランク角位置Ａ３５をセットする。
【０１１１】
続いて、区間（ｂ）の始点（Ｂ９５）以前から信号検出を開始していた（図５の状態）か否かを判定するために、検出開始時点から現在までのクランク角信号ＳＧＴの検出パルス数Ｐｓｇｔが「１３」以上か否かを判定する（ステップＳ１７）。
【０１１２】
ステップＳ１７において、Ｐｓｇｔ＜１３（すなわち、ＮＯ）と判定されれば、ステップＳ２３に進み、Ｐｓｇｔ≧１３（すなわち、ＹＥＳ）と判定されれば、区間（ｂ）でのカム信号ＳＧＣの発生パルス数Ｐｓｇｃ＿ｂを確認する（ステップＳ１８）。
【０１１３】
このとき、発生パルス数Ｐｓｇｃ＿ｂは、ステップＳ１（図１０）で算出されて記憶されたＢ０５以前の９個のデータ値を積算することにより、以下の（２）式から求められる。
【０１１４】
Ｐｓｇｃ＿ｂ＝Ｐｓｇｃ（ｎ−１１）＋Ｐｓｇｃ（ｎ−１０）＋・・・＋Ｐｓｇｃ（ｎ−３）  ・・・（２）
【０１１５】
続いて、（２）式から求められた発生パルス数Ｐｓｇｃ＿ｂを今回系列の発生パルス数Ｐｓｇｃ＿ｓ（ｎ）として格納し（ステップＳ１９）、発生パルス数Ｐｓｇｃ＿ｂが「０」、「１」、「２」のうちのどの値かを判定する（ステップＳ２０）。
【０１１６】
ステップＳ２０において、Ｐｓｇｃ＿ｂ＝１と判定されれば、この値「１」のみから気筒判別することはできないので、ステップＳ２３に進む。
【０１１７】
また、ステップＳ２０において、Ｐｓｇｃ＿ｂ＝０またはＰｓｇｃ＿ｂ＝２と判定されれば、区間（ｂ）のみのテーブル（図示せず）に基づいて、現在のクランク角位置Ａ３５の気筒（＃１気筒または＃４気筒）を確認し（ステップＳ２１）、気筒判別終了を示すフラグをセットする（ステップＳ２２）。
【０１１８】
次に、ｋパルス（区間始点または終端からの検出開始点のずれ量に相当）前のクランク角信号ＳＧＴのパルス周期の間に検出されたカム信号ＳＧＣの発生パルス数Ｐｓｇｃ（ｎ−ｋ）を、（ｋ＋１）パルス前の値Ｐｓｇｃ（ｎ−ｋ−１）にシフトし、Ｐｓｇｃ（ｎ）を０クリアして（ステップＳ２３）、図１２の処理ルーチンを終了する。
【０１１９】
一方、ステップＳ１３において、既に欠け歯検出終了フラグがセットされていて、欠け歯の検出が終了している（すなわち、ＹＥＳ）と判定された場合には、図１３内のステップＳ２４に進む。
【０１２０】
図１３において、まず、基準位置Ａ３５からのクランク角信号ＳＧＴの検出パルス数に基づいて、クランク角位置を１０°ＣＡ（１周期分）だけ更新し、現在のクランク角位置を確認して（ステップＳ２４）、現在のクランク角位置が次の気筒のＢ０５に達したか否かを判定する（ステップＳ２５）。
【０１２１】
ステップＳ２５において、現在のクランク角位置がＢ０５に達した（すなわち、ＹＥＳ）と判定されれば、後述する図１４の処理フロー（ステップＳ３６）に進み、Ｂ０５に達していない（すなわち、ＮＯ）と判定されれば、さらに、現在のクランク角位置がＢ９５に達したか否かを判定する（ステップＳ２６）。
【０１２２】
ステップＳ２６において、Ａ３５からの検出パルス数が「５」以下であって、現在のクランク角位置がＢ９５に達していない（すなわち、ＮＯ）と判定されれば、図１２内のステップＳ２３に進み、処理を終了する。
【０１２３】
また、ステップＳ２６において、現在のクランク角位置がＢ９５に達した（すなわち、ＹＥＳ）と判定されれば、続いて、信号検出開始からの検出パルス数Ｐｓｇｔが「９」以上か否かを判定する（ステップＳ２７）。
【０１２４】
ステップＳ２７において、Ｐｓｇｔ＜９（すなわち、ＮＯ）と判定されれば、図１２内のステップＳ２３に進み、処理を終了する。
【０１２５】
また、ステップＳ２７において、Ｐｓｇｔ≧９（すなわち、ＹＥＳ）と判定されれば、今回系列のカム信号ＳＧＣの発生パルス数Ｐｓｇｃ＿ｓ（ｎ）を前回値Ｐｓｇｃ＿ｓ（ｎ−１）にシフトし（ステップＳ２８）、区間（ａ）でのカム信号ＳＧＣの発生パルス数Ｐｓｇｃ＿ａを確認する（ステップＳ２９）。
【０１２６】
このとき、発生パルス数Ｐｓｇｃ＿ａは、ステップＳ１（図１０）で算出されて記憶されたＢ９５以前の７個のデータ値を積算することにより、以下の（３）式から求められる。
【０１２７】
Ｐｓｇｃ＿ａ＝Ｐｓｇｃ（ｎ−７）＋Ｐｓｇｃ（ｎ−６）＋・・・＋Ｐｓｇｃ（ｎ−１）  ・・・（３）
【０１２８】
続いて、（３）式から求められた発生パルス数Ｐｓｇｃ＿ａを今回系列の発生パルス数Ｐｓｇｃ＿ｓ（ｎ）として格納し（ステップＳ３０）、前回の最新の区間（ｂ）での発生パルス数Ｐｓｇｃ＿ｂ（すなわち、前回系列値Ｐｓｇｃ＿ｓ（ｎ−１））の検出が終了しているか否かを判定する（ステップＳ３１）。
【０１２９】
ステップＳ３１において、区間（ｂ）の発生パルス数Ｐｓｇｃ＿ｂの検出が終了している（すなわち、ＹＥＳ）と判定されれば、今回の区間（ａ）の発生パルス数Ｐｓｇｃ＿ａと組み合わせて、区間（ｂ）〜（ａ）の気筒判別テーブル（図６参照）から現在のクランク角位置の気筒を確認し（ステップＳ３２）、後述するステップＳ３５に進む。
【０１３０】
また、ステップＳ３１において、前回の区間（ｂ）の発生パルス数Ｐｓｇｃ＿ｂの検出が終了していない（すなわち、ＮＯ）と判定されれば、今回の区間（ａ）の発生パルス数Ｐｓｇｃ＿ａが「０」、「１」、「２」のうちのどの値かを判定する（ステップＳ３３）。
【０１３１】
ステップＳ３３において、Ｐｓｇｃ＿ａ＝０と判定されれば、この値「０」のみから気筒判別することはできないので、図１２内のステップＳ２３に進み、処理を終了する。
【０１３２】
また、ステップＳ３３において、Ｐｓｇｃ＿ａ＝１またはＰｓｇｃ＿ａ＝２と判定されれば、区間（ａ）のみのテーブル（図示せず）に基づいて、現在のクランク角位置Ｂ９５の気筒（＃１気筒または＃３気筒）を確認し（ステップＳ３４）、気筒判別終了を示すフラグをセットして（ステップＳ３５）、図１２内のステップＳ２３に進む。
【０１３３】
一方、ステップＳ２５において、現在のクランク角位置がＢ０５である（すなわち、ＹＥＳ）と判定された場合には、図１４内のステップＳ３６に進む。
【０１３４】
図１４において、まず、今回系列のカム信号ＳＧＣの発生パルス数Ｐｓｇｃ＿ｓ（ｎ）を前回値Ｐｓｇｃ＿ｓ（ｎ−１）にシフトし（ステップＳ３６）、区間（ｂ）でのカム信号ＳＧＣの発生パルス数Ｐｓｇｃ＿ｂを確認する（ステップＳ３７）。
【０１３５】
このとき、発生パルス数Ｐｓｇｃ＿ｂは、ステップＳ１（図１０）で算出されて記憶されたＢ０５以前の９個のデータ値を積算することにより、以下の（４）式から求められる。
【０１３６】
Ｐｓｇｃ＿ｂ＝Ｐｓｇｃ（ｎ−８）＋Ｐｓｇｃ（ｎ−７）＋・・・＋Ｐｓｇｃ（ｎ）  ・・・（４）
【０１３７】
続いて、（４）式から求められた発生パルス数Ｐｓｇｃ＿ｂを今回系列の発生パルス数Ｐｓｇｃ＿ｓ（ｎ）として格納し（ステップＳ３８）、前回の最新の区間（ａ）での発生パルス数Ｐｓｇｃ＿ａ（すなわち、前回系列値Ｐｓｇｃ＿ｓ（ｎ−１））の検出が終了しているか否かを判定する（ステップＳ３９）。
【０１３８】
ステップＳ３９において、区間（ａ）の発生パルス数Ｐｓｇｃ＿ａの検出が終了している（すなわち、ＹＥＳ）と判定されれば、今回の区間（ｂ）の発生パルス数Ｐｓｇｃ＿ｂと組み合わせて、区間（ａ）〜（ｂ）の気筒判別テーブル（図４参照）から現在のクランク角位置の気筒を確認し（ステップＳ４０）、後述するステップＳ４３に進む。
【０１３９】
また、ステップＳ３９において、前回の区間（ａ）の発生パルス数Ｐｓｇｃ＿ａの検出が終了していない（すなわち、ＮＯ）と判定されれば、今回の区間（ｂ）の発生パルス数Ｐｓｇｃ＿ｂが「０」、「１」、「２」のうちのどの値かを判定する（ステップＳ４１）。
【０１４０】
ステップＳ４１において、Ｐｓｇｃ＿ｂ＝１と判定されれば、この値「１」のみから気筒判別することはできないので、図１２内のステップＳ２３に進み、処理を終了する。
【０１４１】
また、ステップＳ４１において、Ｐｓｇｃ＿ｂ＝０またはＰｓｇｃ＿ｂ＝２と判定されれば、区間（ｂ）のみのテーブル（図示せず）に基づいて、現在のクランク角位置Ｂ０５の気筒（＃１気筒または＃４気筒）を確認し（ステップＳ４２）、気筒判別終了を示すフラグをセットして（ステップＳ４３）、図１２内のステップＳ２３に進む。
【０１４２】
このように、区間（ａ）または区間（ｂ）のみのカム信号ＳＧＣの発生パルス数、各区間（ａ）、（ｂ）の発生パルス数の組み合わせ、各区間（ｂ）、（ａ）の発生パルス数の組み合わせに基づいて、エンジン始動時の信号検出開始タイミングによらず、従来装置よりも短いクランク角回転の間に気筒判別することができる。
【０１４３】
たとえば、基準位置Ａ３５の検出時に前回の区間（ｂ）の始点以前からクランク角信号ＳＧＴを検出していた場合には、前回の区間（ｂ）に発生したカム信号ＳＧＣの発生パルス数「２」に基づいて＃４気筒を判別することができる。
【０１４４】
また、基準位置Ａ３５の検出後であってＡ３５を含む今回の区間（ａ）の終端検出時に、今回の区間（ａ）の始点以前からクランク角信号ＳＧＴを検出していた場合には、今回の区間（ａ）に発生したカム信号ＳＧＣの発生パルス数「１」または「２」に基づいて＃１気筒または＃３気筒を判別することができる。
【０１４５】
また、複数区間の区間終端検出時に前回区間の始点以前からクランク角信号ＳＧＴを検出していた場合には、前回区間および今回区間でのカム信号ＳＧＣの発生パルス数の組み合わせに基づいて気筒を判別することができる。
【０１４６】
すなわち、クランク角信号ＳＧＴの基準位置Ａ３５（欠け歯相当）の検出時に、基準位置Ａ３５が含まれる区間を判別するとともに、区間（ａ）または（ｂ）の始点以前に検出開始していたか否かを速やかに判別し、確認区間内でのカム信号ＳＧＣの発生パルス数またはその組み合わせから、速やかに気筒判別することができる。
【０１４７】
したがって、気筒判別に必要な複数区間の検出終了時に直ちに気筒判別することができ、気筒判別に要するクランク角が少なくて済み、通常点火制御に移行するまでのエンジン始動時間を短縮することができる。
【０１４８】
このとき、図２から明らかなように、カム信号ＳＧＣの発生パルス数（０、１、２）の組み合わせは、各区間毎に異なるように設定されているので、確実に各気筒に対応させることができる。
【０１４９】
また、気筒判別を行う複数区間において、カム信号ＳＧＣの発生パルス数の組み合わせは、「０」、「０」とならないように設定されているので、断線時に気筒を誤判定することもなく、フェールセーフ機能を損なうこともない。
なお、前述のように、区間（ｂ）のみのテーブルに基づいて気筒判別する場合（図１２内のステップＳ２０、Ｓ２１参照）は、区間（ｂ）のパルス数Ｐｓｇｃ＿ｂが「０」または「２」の場合に特定気筒を判別することができるが、Ｐｓｇｃ＿ｂ＝０の場合は、断線との区別がつかないので、気筒判別を禁止するようにしてもよい。
【０１５０】
また、気筒判別手段１０内の記憶手段１１、１２は、始動時からのクランク角信号ＳＧＴおよびカム信号ＳＧＣの各検出信号数とともに、各信号ＳＧＴおよびＳＧＣの発生タイミングの順序関係を履歴として記憶しているので、気筒判別の信頼性を損なうこともない。
【０１５１】
また、クランク角信号ＳＧＴは、１０°ＣＡ毎の周期的なパルス列からなり、各パルスにより特定されるクランク角位置が高精度に得られるので、各気筒の制御精度を損なうこともない。
【０１５２】
また、クランク角信号ＳＧＴに含まれる基準位置がＡ３５であり、欠け歯位置は、エンジン制御基準位置と関連性の低いクランク角位置Ａ２５に設定されているので、各気筒毎の制御において特に支障を与えることもない。
【０１５３】
さらに、ＴＤＣ区間の分割数および各区間毎のカム信号ＳＧＣの発生パルス数の順序は、図２の例に限らず、各気筒毎に異なるように配置設定すればよく、任意の分割区間数に対して適切なカム信号パルス数の組み合わせを設定することにより、前述と同様に短時間で気筒判別可能なことは言うまでもない。
【０１５４】
実施の形態２．
なお、上記実施の形態１では、４気筒エンジンに適用した場合について説明したが、６気筒エンジンに適用してもよく、前述の実施の形態１と同様の作用効果を奏する。
【０１５５】
図１５は６気筒エンジンに適用したこの発明の実施の形態２によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス発生パターンを示すタイミングチャートである。
図１５において、欠け歯位置はＡ２５（前述と同様）に設定されているが、６気筒エンジンのＴＤＣ区間（点火制御区間）が１２０ーＣＡであるため、区間（ａ）はＢ０５〜Ｂ６５°ＣＡ（以下、「Ｂ６５」と記す）、区間（ｂ）はＢ６５〜Ｂ０５となる。
【０１５６】
図１６はこの発明の実施の形態２による気筒判別動作の一例を示すタイミングチャートであり、区間（ａ）の始点（Ｂ０５）の直前からクランク角信号ＳＧＴの検出を開始した場合を示している。
【０１５７】
図１７は図１６の信号検出パターンに対して用いられる気筒判別テーブルを示す説明図であり、＃６気筒のＢ０５から信号検出を開始して、次のクランク角位置Ｂ０５の検出時に、区間（ａ）、（ｂ）での発生パルス数「１」、「０」の組み合わせに基づいて、＃１気筒のＢ０５を判別する場合を示している。
【０１５８】
図１６の信号検出パターンの場合、ＴＤＣ区間（１２０°ＣＡ）が前述と異なるのみであり、基本的な気筒判別動作については前述と同様なので詳述しないが、気筒判別に要するクランク回転角は１２０ーＣＡとなる。
【０１５９】
また、図１８はこの発明の実施の形態２による気筒判別動作の他の例を示すタイミングチャートであり、区間（ｂ）の始点（Ｂ６５）の直前からクランク角信号ＳＧＴの検出を開始した場合を示している。
【０１６０】
図１９は図１８の信号検出パターンに対して用いられる気筒判別テーブルを示す説明図であり、＃２気筒のＢ６５から信号検出を開始して、次のクランク角位置Ｂ６５の検出時に、区間（ｂ）、（ａ）での発生パルス数「０」、「１」の組み合わせに基づいて、＃３気筒のＢ６５を判別する場合を示している。
図１８の信号検出パターンの場合も、気筒判別に要するクランク回転角は１２０ーＣＡとなる。
【０１６１】
図２０は区間（ｂ）の始点直後（Ｂ５５°ＣＡ）からクランク角信号ＳＧＴを検出した場合のタイミングチャートである。
図２０においては、最初の区間（ｂ）での発生パルス数を確認することはできないものの、続く区間（ａ）、（ｂ）での発生パルス数「０」、「２」から、図１７のテーブルを参照して＃４気筒のＢ０５を判定することができる。
この場合、気筒判別に要するクランク回転角は１８０ーＣＡとなる。
【０１６２】
また、図２１は区間（ａ）の始点直後（Ａ０５°ＣＡ）からクランク角信号ＳＧＴを検出した場合のタイミングチャートである。
図２１においては、最初の区間（ａ）での発生パルス数を確認することはできないものの、続く区間（ｂ）、（ａ）での発生パルス数「１」、「０」から、図１９のテーブルを参照して＃６気筒のＢ６５を判定することができる。
この場合も、気筒判別に要するクランク回転角は１８０ーＣＡとなる。
【０１６３】
さらに、図２２は通常時の気筒判別に用いられるテーブルの一例を示す説明図である。
図２２においては、各気筒毎に区間（ａ）、（ｂ）での発生パルス数を合計し、ＴＤＣ区間でのカム信号ＳＧＣの発生パルス数を参照して気筒判別するようになっている。
【０１６４】
実施の形態３．
なお、上記実施の形態２では、６気筒エンジンに適用した場合について説明したが、３気筒エンジンに適用してもよく、前述の実施の形態１と同様の作用効果を奏する。
【０１６５】
図２３は３気筒エンジンに適用したこの発明の実施の形態３によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス発生パターンを示すタイミングチャートである。
図２３において、欠け歯位置はＡ２５（前述と同様）に設定されているが、３気筒エンジンのＴＤＣ区間（点火制御区間）が２４０ーＣＡである。
【０１６６】
したがって、ＴＤＣ区間を整数倍しても３６０°ＣＡにならないため、実質的に前述の６気筒の場合と同一のクランク角信号ＳＧＴが用いられ、Ａ２５およびＢ９５が欠け歯位置となっている。
【０１６７】
すなわち３気筒の場合、エンジンの１サイクル（７２０ーＣＡ）で各気筒毎に１つの基準位置を設定することができないので、ＴＤＣ区間（２４０ーＣＡ）毎に２つの欠け歯位置Ａ２５およびＢ９５が設定される。
【０１６８】
また、この場合も、６気筒の場合と同様に、各ＴＤＣ区間は２つの区間（ａ）、（ｂ）、（ａ）、（ｂ）に分割される。
図２４および図２５はこの発明の実施の形態３において用いられる気筒判別テーブルである。
【０１６９】
図２４のテーブルは、区間（ａ）、（ｂ）でのカム信号ＳＧＣの発生パルス数に基づいて気筒判別を行う場合に用いられ、図２５のテーブルは、区間（ｂ）、（ａ）でのカム信号ＳＧＣの発生パルス数に基づいて気筒判別を行う場合に用いられる。
【０１７０】
この場合も、エンジン始動時の検出開始クランク角がどの位置であっても、早期に気筒判別することができ、エンジン始動時間が短縮化され始動性を向上させることができる。
【０１７１】
また、気筒判別に用いる複数区間において、全区間の発生パルス数の組み合わせが「０」、「０」とならないので、フェールセーフ性にも優れている。
【０１７２】
【発明の効果】
以上のように、この発明の請求項１によれば、内燃機関のクランク軸の回転に同期して基準位置を含むパルス列からなるクランク角信号を出力するクランク角信号検出手段と、クランク軸に対して１／２の速度比で回転するカム軸と、カム軸の回転に同期して内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、クランク角信号およびカム信号に基づいて内燃機関の気筒を判別する気筒判別手段とを備えた内燃機関の気筒判別装置において、気筒判別手段は、各気筒の点火制御周期を複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する信号数記憶手段と、複数区間の順序を判別する区間判別手段とを含み、区間判別手段は、基準位置からの特定パルスの信号数に対応したクランク角位置に基づいて気筒判別実行位置を検出し、気筒判別実行位置に対応する複数区間の開始区間の始点からクランク角信号を検出していたことに基づいて、複数区間の順序を判別し、複数区間は、基準位置を含む区間と前記基準位置を含まない区間とを有し、複数区間に発生する特定パルスの信号数の組み合わせは、複数区間の開始点によって複数区間毎に対応して異なり、気筒判別手段は、複数区間の開始点によらず、区間判別手段の判別結果に基づいて各気筒を判別するようにしたので、始動時の気筒判別に要するエンジン回転角を小さくして始動時間を短縮化し、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７３】
また、この発明の請求項２によれば、請求項１において、信号数記憶手段は、内燃機関の始動時からのカム信号の信号数とともに、内燃機関の始動時からのクランク角信号のパルス数を計数して記憶し、気筒判別手段は、クランク角信号のパルス列とカム信号の特定パルスとの時間関係を記憶する信号順序記憶手段と、クランク角信号から基準位置を検出する基準位置検出手段とを含み、基準位置の検出までに記憶されたクランク角信号のパルス数に基づいて、複数区間の前回の始点以前からクランク角信号を検出していたことが判定された場合には、前回区間に発生したカム信号の信号数に基づいて各気筒を判別するようにしたので、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７４】
また、この発明の請求項３によれば、請求項２において、気筒判別手段は、基準位置の検出後に、複数期間のうちの基準位置を含む今回区間の終端検出時までに記憶されたクランク角信号のパルス数に基づいて、今回区間の始点以前からクランク角を検出していたことが判定された場合には、今回区間に発生したカム信号の信号数に基づいて各気筒を判別するようにしたので、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７５】
また、この発明の請求項４によれば、請求項２または請求項３において、気筒判別手段は、複数区間の区間終端検出時までに記憶されたクランク角信号のパルス数に基づいて、前回区間の始点以前からクランク角信号を検出していたことが判定された場合には、前回区間に発生したカム信号の信号数と今回区間に発生したカム信号の信号数との組み合わせに基づいて各気筒を判別するようにしたので、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７６】
また、この発明の請求項５によれば、請求項１から請求項４までのいずれかにおいて、複数区間に発生するカム信号の信号数の組み合わせは、無出力のみの組み合わせを含まないようにしたので、フェールセーフ機能を備えた内燃機関の気筒判別装置が得られる効果がある。
【０１７７】
また、この発明の請求項６によれば、請求項５において、内燃機関の気筒数は４であり、各気筒の点火制御周期は１８０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１」、「０、２」、「１、０」、「２、０」、となるように設定されたので、フェールセーフ機能を有するとともに、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７８】
また、この発明の請求項７によれば、請求項５において、内燃機関の気筒数は６であり、各気筒の点火制御周期は１２０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１」、「０、２」、「０、１」、「２、０」、「２、１」、「１、０」、となるように設定されたので、フェールセーフ機能を有するとともに、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１７９】
また、この発明の請求項８によれば、請求項５において、内燃機関の気筒数は３であり、各気筒の点火制御周期は２４０°のクランク角であり、複数区間は第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定され、また、第２および第１の区間に対して、各気筒の制御順に、それぞれ、「１、１、０、２」、「０、１、２、０」、「２、１、１、０」、となるように設定されたので、フェールセーフ機能を有するとともに、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【０１８０】
また、この発明の請求項９によれば、請求項６から請求項８までのいずれかにおいて、クランク角信号は、１０°のクランク角周期のパルス列からなり、クランク角信号に含まれる基準位置は、各気筒毎のＴＤＣから３５°のクランク角に設定されたので、制御性および制御精度を損なうことなく、気筒毎の燃料噴射制御や点火制御を速やかに実行可能にした内燃機関の気筒判別装置が得られる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１を概略的に示す機能ブロック図である。
【図２】  この発明の実施の形態１による４気筒エンジンのクランク角信号およびカム信号のパターンを示すタイミングチャートである。
【図３】  この発明の実施の形態１による気筒判別動作の一例を説明するためのタイミングチャートである。
【図４】  図３の信号検出パターンに対して用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図５】  この発明の実施の形態１による気筒判別動作の第２の例を説明するためのタイミングチャートである。
【図６】  図５の信号検出パターンに対して用いられる区間（ｂ）、（ａ）に基づく気筒判別テーブルを示す説明図である。
【図７】  この発明の実施の形態１による気筒判別動作の第３の例を説明するためのタイミングチャートである。
【図８】  この発明の実施の形態１による気筒判別動作の第４の例を説明するためのタイミングチャートである。
【図９】  この発明の実施の形態１による通常運転中のＴＤＣ区間に基づく気筒判別テーブルを示す説明図である。
【図１０】  この発明の実施の形態１による気筒判別手段のカム信号割り込み処理動作を示すフローチャートである。
【図１１】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１２】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１３】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１４】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１５】  この発明の実施の形態２による６気筒エンジンのクランク角信号およびカム信号のパターンを示すタイミングチャートである。
【図１６】  この発明の実施の形態２による気筒判別動作の一例を説明するためのタイミングチャートである。
【図１７】  図１６の信号検出パターンに対して用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図１８】  この発明の実施の形態２による気筒判別動作の第２の例を説明するためのタイミングチャートである。
【図１９】  図１８の信号検出パターンに対して用いられる区間（ｂ）、（ａ）に基づく気筒判別テーブルを示す説明図である。
【図２０】  この発明の実施の形態２による気筒判別動作の第３の例を説明するためのタイミングチャートである。
【図２１】  この発明の実施の形態２による気筒判別動作の第４の例を説明するためのタイミングチャートである。
【図２２】  この発明の実施の形態２による通常運転中のＴＤＣ区間に基づく気筒判別テーブルを示す説明図である。
【図２３】  この発明の実施の形態３による３気筒エンジンのクランク角信号およびカム信号のパターンを示すタイミングチャートである。
【図２４】  この発明の実施の形態３により用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図２５】  この発明の実施の形態３により用いられる区間（ｂ）、（ａ）に基づく気筒判別テーブルを示す説明図である。
【符号の説明】
１  クランク軸、２  カム軸、３  クランク角信号検出手段、４  カム信号検出手段、１０  気筒判別手段、１１  信号順序記憶手段、１２  信号数記憶手段、１３  基準位置検出手段、１４  区間判別手段、（ａ）、（ｂ）  区間、Ａ３５  基準位置、Ｐｓｇｃ＿ｓ（ｎ）  カム信号パルス数、Ｐｓｇｔ  始動時からのクランク角信号パルス数、ＳＧＴ  クランク角信号、ＳＧＣ  カム信号。
【図１】
0003853586.tif 000002
【図２】
0003853586.tif 000003
【図３】
0003853586.tif 000004
【図４】
0003853586.tif 000005
【図５】
0003853586.tif 000006
【図６】
0003853586.tif 000007
【図７】
0003853586.tif 000008
【図８】
0003853586.tif 000009
【図９】
0003853586.tif 000010
【図１０】
0003853586.tif 000011
【図１１】
0003853586.tif 000012
【図１２】
0003853586.tif 000013
【図１３】
0003853586.tif 000014
【図１４】
0003853586.tif 000015
【図１５】
0003853586.tif 000016
【図１６】
0003853586.tif 000017
【図１７】
0003853586.tif 000018
【図１８】
0003853586.tif 000019
【図１９】
0003853586.tif 000020
【図２０】
0003853586.tif 000021
【図２１】
0003853586.tif 000022
【図２２】
0003853586.tif 000023
【図２３】
0003853586.tif 000024
【図２４】
0003853586.tif 000025
【図２５】
0003853586.tif 000026