(57)【特許請求の範囲】
【請求項１】
内燃機関のクランク軸の回転に同期してクランク角信号を出力するクランク角信号検出手段と、
前記クランク軸に対して１／２の速度比で回転するカム軸の回転に同期して前記内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、
前記内燃機関の運転状態に応じて前記各気筒毎のバルブ駆動タイミングの位相を可変設定するバルブタイミング可変手段と、
前記バルブタイミング可変手段により変更される前記各気筒毎のカム位相と同期するように設けられて前記クランク角信号および前記カム信号に基づいて前記各気筒を判別する気筒判別手段と
を備えた内燃機関の気筒判別装置において、
前記気筒判別手段は、
前記各気筒の点火制御周期を複数区間に分割し、前記複数区間にわたって発生する前記特定パルスの信号数を計数して記憶する信号数記憶手段と、
前記複数区間毎の前記信号数の組み合わせからなる情報系列を記憶する情報系列記憶手段と、
前記クランク角信号に基づく所定クランク角での第１の情報系列を学習する情報系列学習手段とを含み、
前記情報系列に基づいて前記各気筒を判別するとともに、
今回検出された情報系列と、前記第１の情報系列との比較に基づいて前記各気筒を判別することを特徴とする内燃機関の気筒判別装置。
【請求項２】
前記情報系列は、連続する４つの信号数からなることを特徴とする請求項１に記載の内燃機関の気筒判別装置。
【請求項３】
前記情報系列記憶手段は、前記バルブタイミング可変手段による位相変化範囲内で変化し得る複数の情報系列を記憶し、
前記気筒判別手段は、前記複数の情報系列の少なくとも一方に基づいて特定気筒を判別することを特徴とする請求項１または請求項２に記載の内燃機関の気筒判別装置。
【請求項４】
前記気筒判別手段は、
前記第１の情報系列と前記バルブタイミング可変手段による位相変化範囲とに基づいて前記所定クランク角内で変化し得る第２の情報系列を演算する変化情報系列演算手段を含み、
今回検出された情報系列と、前記第１および第２の情報系列の少なくとも一方との比較に基づいて前記各気筒を判別することを特徴とする請求項１から請求項３までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項５】
前記情報系列学習手段は、前記バルブタイミング可変手段による最遅角タイミングおよび最大進角タイミングの少なくとも一方で前記第１の情報系列を学習することを特徴とする請求項１から請求項４までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項６】
前記情報系列学習手段は、前記内燃機関の始動時に前記第１の情報系列を学習することを特徴とする請求項１から請求項４までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項７】
前記クランク角信号は、前記各気筒毎の基準位置を含む一定クランク角のパルス列からなり、
前記複数区間は、前記基準位置に関連して分割されたことを特徴とする請求項１から請求項６までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項８】
前記気筒判別手段は、前記内燃機関の始動時からの所定期間内と、前記バルブタイミング可変手段による最遅角タイミング時との少なくとも一方で前記各気筒を判別することを特徴とする請求項７に記載の内燃機関の気筒判別装置。
【請求項９】
前記カム信号の特定パルスの一部と前記クランク角信号に基づくクランク角位置情報とを用いて、前記バルブタイミング可変手段による位相変化量を検出する位相検出手段を備えたことを特徴とする請求項１から請求項８までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項１０】
前記内燃機関の気筒数は４であり、前記各気筒の点火制御周期は１８０°のクランク角であり、
前記各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、
前記カム信号に含まれる特定パルス数は、前記第１および第２の区間に対して、前記各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定されたことを特徴とする請求項１から請求項９までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項１１】
前記内燃機関の気筒数は６であり、前記各気筒の点火制御周期は１２０°のクランク角であり、
前記各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、
前記カム信号に含まれる特定パルス数は、前記第１および第２の区間に対して、前記各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定されたことを特徴とする請求項１から請求項９までのいずれか１項に記載の内燃機関の気筒判別装置。
【請求項１２】
前記内燃機関の気筒数は３であり、前記各気筒の点火制御周期は２４０°のクランク角であり、
前記複数区間は第１、第２、第３および第４の区間からなり、
前記カム信号に含まれる特定パルス数は、前記第１から第４の区間に対して、前記各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定されたことを特徴とする請求項１から請求項９までのいずれか１項に記載の内燃機関の気筒判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動車に搭載される内燃機関の気筒判別装置に関し、特に始動時やバルブタイミング可変時においても気筒判別を速やかに完了して制御性を向上させた内燃機関の気筒判別装置に関するものである。
【０００２】
【従来の技術】
従来より、可変バルブタイミング（以下、「ＶＶＴ」と記す）機構を有する内燃機関（エンジン）において、たとえばクランク角信号およびカム信号を用いた気筒判別装置は、特開平７−２２４６２０号公報などに参照することができる。
【０００３】
上記公報に記載された装置においては、基準信号を含むクランク角信号に基づいてクランク角の基準位置を検出し、基準位置検出後の特定区間でのカム信号パルスの有無を検出することにより特定気筒を判別している。
【０００４】
この場合、可変バルブタイミングの制御性を考慮して、気筒判別用のカム信号パルスは、カム軸の１回転（クランク軸の２回転）に対して３回出力されるように設定されている。
【０００５】
なぜなら、仮にカム信号パルスの出力数をクランク軸の２回転に対して１回に設定すると、ＶＶＴのカム位相をエンジン２回転中に１回のみしか検出することができず、ＶＶＴの位相制御性が低下してしまうからである。
【０００６】
また、カム信号パルスの出力数をエンジン２回転に対して４回以上に設定すると、ＶＶＴによるカム位相可変範囲の影響により、クランク角信号に対するカム信号の角度位置のずれ量により気筒を誤判別するおそれがあるからである。
【０００７】
つまり、上記公報に記載された従来装置においては、ＶＶＴによってカム位相が変化しても、クランク角信号の特定の角度範囲内で気筒判別が行われるので、気筒判別用のカム信号パターンが比較的単純な構成となっている。
しかしながら、気筒判別時において、クランク角信号から基準信号を検出した後にカム信号パルスの有無を判定しているので、基準信号の直後からクランク角信号の検出を開始した場合には、ほぼエンジン１回転後のクランク角信号を検出しないと基準信号を検出（気筒判別を開始）することができない。
【０００８】
【発明が解決しようとする課題】
従来の内燃機関の気筒判別装置は以上のように、ＶＶＴによるカム位相変化によらず所定クランク角範囲内で気筒判別するために、比較的単純なカム信号パターンを用いて基準信号検出後にカム信号パルスの有無を判定しているので、基準信号直後から信号検出を開始するような最悪の場合には、気筒判別までにエンジン１回転以上を要することになり、速やかにエンジン制御性を向上させることができないという問題点があった。
【０００９】
この発明は上記のような問題点を解決するためになされたもので、気筒判別用の特定区間を設定することなく複雑なカム信号パターンを設定可能とし、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置を得ることを目的とする。
【００１０】
【課題を解決するための手段】
この発明の請求項１に係る内燃機関の気筒判別装置は、内燃機関のクランク軸の回転に同期してクランク角信号を出力するクランク角信号検出手段と、クランク軸に対して１／２の速度比で回転するカム軸の回転に同期して内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、内燃機関の運転状態に応じて各気筒毎のバルブ駆動タイミングの位相を可変設定するバルブタイミング可変手段と、バルブタイミング可変手段により変更される各気筒毎のカム位相と同期するように設けられてクランク角信号およびカム信号に基づいて各気筒を判別する気筒判別手段とを備えた内燃機関の気筒判別装置において、気筒判別手段は、各気筒の点火制御周期を複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する信号数記憶手段と、複数区間毎の信号数の組み合わせからなる情報系列を記憶する情報系列記憶手段と、クランク角信号に基づく所定クランク角での第１の情報系列を学習する情報系列学習手段とを含み、情報系列に基づいて各気筒を判別するとともに、今回検出された情報系列と、第１の情報系列との比較に基づいて各気筒を判別するものである。
【００１１】
また、この発明の請求項２に係る内燃機関の気筒判別装置は、請求項１において、情報系列は、連続する４つの信号数からなるものである。
【００１２】
また、この発明の請求項３に係る内燃機関の気筒判別装置は、請求項１または請求項２において、情報系列記憶手段は、バルブタイミング可変手段による位相変化範囲内で変化し得る複数の情報系列を記憶し、気筒判別手段は、複数の情報系列の少なくとも一方に基づいて特定気筒を判別するものである。
【００１４】
また、この発明の請求項４に係る内燃機関の気筒判別装置は、請求項１から請求項３までのいずれかにおいて、気筒判別手段は、第１の情報系列とバルブタイミング可変手段による位相変化範囲とに基づいて所定クランク角内で変化し得る第２の情報系列を演算する変化情報系列演算手段を含み、今回検出された情報系列と、第１および第２の情報系列の少なくとも一方との比較に基づいて各気筒を判別するものである。
【００１５】
また、この発明の請求項５に係る内燃機関の気筒判別装置は、請求項１から請求項４までのいずれかにおいて、情報系列学習手段は、バルブタイミング可変手段による最遅角タイミングおよび最大進角タイミングの少なくとも一方で第１の情報系列を学習するものである。
【００１６】
また、この発明の請求項６に係る内燃機関の気筒判別装置は、請求項１から請求項４までのいずれかにおいて、情報系列学習手段は、内燃機関の始動時に第１の情報系列を学習するものである。
【００１７】
また、この発明の請求項７に係る内燃機関の気筒判別装置は、請求項１から請求項６までのいずれかにおいて、クランク角信号は、各気筒毎の基準位置を含む一定クランク角のパルス列からなり、複数区間は、基準位置に関連して分割されたものである。
【００１８】
また、この発明の請求項８に係る内燃機関の気筒判別装置は、請求項７において、気筒判別手段は、内燃機関の始動時からの所定期間内と、バルブタイミング可変手段による最遅角タイミング時との少なくとも一方で各気筒を判別するものである。
【００１９】
また、この発明の請求項９に係る内燃機関の気筒判別装置は、請求項１から請求項８までのいずれかにおいて、カム信号の特定パルスの一部とクランク角信号に基づくクランク角位置情報とを用いて、バルブタイミング可変手段による位相変化量を検出する位相検出手段を備えたものである。
【００２０】
また、この発明の請求項１０に係る内燃機関の気筒判別装置は、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は４であり、各気筒の点火制御周期は１８０°のクランク角であり、各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定されたものである。
【００２１】
また、この発明の請求項１１に係る内燃機関の気筒判別装置は、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は６であり、各気筒の点火制御周期は１２０°のクランク角であり、各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定されたものである。
【００２２】
また、この発明の請求項１２に係る内燃機関の気筒判別装置は、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は３であり、各気筒の点火制御周期は２４０°のクランク角であり、複数区間は第１、第２、第３および第４の区間からなり、カム信号に含まれる特定パルス数は、第１から第４の区間に対して、各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定されたものである。
【００２３】
【発明の実施の形態】
実施の形態１．
以下、図面を参照しながら、この発明の実施の形態１について詳細に説明する。
図１はこの発明の実施の形態１を概略的に示す機能ブロック図である。
図１において、内燃機関（エンジン）は、クランク軸１と、クランク軸１に対して１／２の速度比で回転するカム軸２とを備えている。
【００２４】
クランク角信号検出手段３は、クランク軸１の回転に同期して基準位置を含むパルス列からなるクランク角信号ＳＧＴを出力する。
カム信号検出手段４は、カム軸２の回転に同期してエンジンの各気筒を識別するための特定パルスを含むカム信号ＳＧＣを出力する。
【００２５】
バルブタイミング可変手段５は、エンジンの運転状態に応じて各気筒毎のバルブ駆動タイミングの位相を可変設定する。
このときの位相シフト量は、カム信号ＳＧＣにそのまま反映される。
【００２６】
なお、ＶＶＴとは、周知のように、排気ガスおよび燃費を向上させるために、たとえば各気筒の吸気バルブ解放タイミングを進角側にシフトさせる制御のことである。
【００２７】
位相検出手段６は、気筒判別手段１０による気筒判別結果と、カム信号ＳＧＣの特定パルスの一部と、クランク角信号ＳＧＴに基づくクランク角位置情報とを用いて、バルブタイミング可変手段５による位相変化量を検出し、バルブタイミング可変手段５にフィードバックする。
【００２８】
電子制御ユニットからなる気筒判別手段１０は、バルブタイミング可変手段５により変更される各気筒毎のカム位相と同期するように設けられており、クランク角信号ＳＧＴおよびカム信号ＳＧＣに基づいて、エンジンの気筒を判別するとともに各気筒毎の基準位置を判別する。
【００２９】
気筒判別手段１０は、クランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス数を記憶する信号順序記憶手段１１および信号数記憶手段１２と、クランク角信号ＳＧＴを取り込む基準位置検出手段１３と、信号数記憶手段１２および基準位置検出手段１３の各出力信号を取り込む区間判別手段１４と、区間判別手段１４に関連した情報系列記憶手段１５および情報系列学習手段１６と、比較手段１７とを備えている。
【００３０】
信号順序記憶手段１１は、クランク角信号ＳＧＴに含まれる１０°ＣＡ毎のパルス列と、カム信号ＳＧＣに含まれる気筒判別用の特定パルスとの時間関係を記憶する。
【００３１】
信号数記憶手段１２は、エンジン始動開始からのクランク角信号ＳＧＴの検出パルス数を記憶するクランク角信号記憶手段と、エンジン始動開始からのカム信号ＳＧＣの発生パルス数を記憶するカム信号記憶手段とを含み、エンジン始動時からのクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス信号数を計数して記憶する。
【００３２】
また、信号数記憶手段１２は、各気筒の点火制御周期を基準位置（後述する）に関連した複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する。
ここでは、後に詳述するように、複数区間を２つの区間（ａ）および（ｂ）としている。
【００３３】
基準位置検出手段１３は、クランク角信号ＳＧＴから基準位置を検出する。
区間判別手段１４は、複数区間毎の信号数の組み合わせに基づいて複数区間を判別する。
【００３４】
情報系列記憶手段１５は、今回検出された複数区間毎の信号数の組み合わせからなる情報系列を記憶し、情報系列学習手段１６は、クランク角信号ＳＧＴに基づく所定クランク角での第１の情報系列を学習する。
【００３５】
情報系列記憶手段１５は、バルブタイミング可変手段５による位相変化範囲内で変化し得る複数の情報系列を記憶する。
この場合、気筒判別手段１０は、複数の情報系列の少なくとも一方に基づいて特定気筒を判別する。
情報系列は、たとえば、後述するように連続する４つの信号数からなる。
【００３６】
情報系列学習手段１６は、バルブタイミング可変手段５による最遅角タイミングおよび最大進角タイミングの少なくとも一方で第１の情報系列を学習する。
また、情報系列学習手段１６は、内燃機関の始動時に第１の情報系列を学習する。
【００３７】
比較手段１７は、今回検出された情報系列と学習された第１の情報系列とを比較し、気筒判別用の比較結果を出力する。
気筒判別手段１０は、情報系列記憶手段１５内に記憶された情報系列に基づき、比較手段１７の比較結果から各気筒を判別する。
【００３８】
また、気筒判別手段１０は、第１の情報系列とバルブタイミング可変手段５による位相変化範囲とに基づいて所定クランク角内で変化し得る第２の情報系列を演算する変化情報系列演算手段（図示せず）を含んでいてもよい。
【００３９】
この場合、気筒判別手段１０は、今回検出された情報系列と、第１および第２の情報系列の少なくとも一方との比較に基づいて各気筒を判別することになる。
【００４０】
また、気筒判別手段１０は、エンジン始動時からの所定期間内において、または、バルブタイミング可変手段５による最遅角タイミング時において、各気筒を判別する。
【００４１】
図２はこの発明の実施の形態１によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパターンを示すタイミングチャートであり、代表的に４気筒エンジンの場合の信号検出パターンを示している。
【００４２】
図２において、クランク角信号ＳＧＴは、各気筒（＃１〜＃４）毎の基準位置Ａ２５°ＣＡ（以下、単に「Ａ２５」と記す）に対応した欠落パルスを有する。また、図２内のカム信号ＳＧＣは、ＶＶＴの位相変化がない場合（最遅角時）のパルス発生パターンを示している。
【００４３】
ここでは、各気筒毎に、上死点ＴＤＣの近傍Ｂ０５ーＣＡ（以下、「Ｂ０５」と記す）を中心として、Ｂ９５°ＣＡ（以下、「Ｂ９５」と記す）〜Ａ２５付近までのクランク角位置を明記している。
【００４４】
クランク角信号ＳＧＴは、一定クランク角（１０ーＣＡ）毎のパルス列であり、１８０ーＣＡ毎の基準信号に対応した基準位置Ａ２５は、リングギヤの欠け歯に対応している。
なお、欠け歯に対応して実際に検出される基準位置は、Ａ３５°ＣＡ（以下、「Ａ３５」と記す）となる。
【００４５】
図２に示すように、４気筒エンジンの点火制御周期は、１８０°のクランク角であり、クランク角信号ＳＧＴの各ＴＤＣ区間（１８０°ＣＡ間）は、基準位置Ａ３５（欠け歯相当）を含むＢ０５〜Ｂ９５の区間（ａ）と、基準位置Ａ３５を含まないＢ９５〜Ｂ０５の区間（ｂ）とに分割されている。
【００４６】
カム信号ＳＧＣは、各気筒に対応して異なる信号数（「０」、「１」、「２」の組み合わせからなる）の特定パルスを有する。
この場合、カム信号ＳＧＣに含まれる特定パルス数は、各区間（ａ）、（ｂ）に対して、各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定されている。
【００４７】
すなわち、カム信号ＳＧＣは、各気筒の点火制御周期（クランク角信号ＳＧＴのＴＤＣ区間１８０ーＣＡ）を複数区間に分割（ここでは、２分割）した場合に、各区間（ａ）、（ｂ）に発生する特定パルスの信号数「０〜２」の組み合わせが、信号数記憶手段１２の記憶開始点によらず複数区間毎に対応して異なるように設定されている。
【００４８】
これにより、気筒判別手段１０は、信号数記憶手段１２の記憶開始点と複数区間（ａ）および（ｂ）との位置関係によらず、区間判別手段１４の判別結果に基づいて各気筒を判別できるようになっている。
【００４９】
図３および図４は各区間（ａ）、（ｂ）のパルス数に対する判別気筒を対応付けたテーブルを示す説明図である。
図３は区間（ａ）〜（ｂ）でのパルス数の系列による判別気筒を示し、図４は区間（ｂ）〜（ａ）でのパルス数の系列による判別気筒を示している。
【００５０】
図３および図４において、区間（ａ）および（ｂ）の検出順序によらず、どの２区間であっても、２つのカム信号ＳＧＣのパルス系列によって特定の気筒を識別することができる。
【００５１】
すなわち、図２に示すクランク角信号ＳＧＴおよびカム信号ＳＧＣを用いた場合、気筒判別を終了までに要するクランク回転角は、最小で１８０ーＣＡ、最大で２７０ーＣＡとなり、従来装置の場合の最大クランク回転角３６０°ＣＡよりも短いことが判る。
【００５２】
図５は始動時および通常時での気筒判別動作を説明するためのタイミングチャートであり、４気筒エンジンのクランク角信号ＳＧＴおよびカム信号ＳＧＣと、各種フラグおよび各種カウンタの値と、判別気筒との関係を示している。
【００５３】
図５において、通常時のＶＶＴは、最遅角（位相変化＝０）の状態である。
未知フラグＦ＿ｕｎｋ（ｎ）は、カム信号ＳＧＣのパルス数（パルス系列）を検出する際に使用され、カムパルス数が「１」であるか「２」であるかが不明な場合にセット（ＯＮ）される。
【００５４】
ゼロフラグＦ＿ｓ０は、カム信号数を検出する際に使用され、前回のカム信号数が「０」である場合にセット（ＯＮ）される。
クランクパルスカウンタＣ＿ｓｇｔは、カム信号数を検出するためにカムパルス間のクランク角信号ＳＧＴのパルス数を計測し、クランク角信号を検出する毎にカウントアップされる。
【００５５】
つまり、クランクパルスカウンタＣ＿ｓｇｔは、クランク角１０ーＣＡ毎に「１」づつアップされ、クランク角基準信号（欠け歯）の直後のクランク角信号Ａ３５を検出した場合のみ、カウンタ値が２つアップされる。
【００５６】
カムパルス系列Ｓ＿ｃａｍ（ｎ）は、現時点で確認された最新のカム信号数（０、１、２のいずれか）を示している。
判別気筒Ｃｙｌｄ（ｎ）は、今回のカムパルス系列Ｓ＿ｃａｍ（ｎ）に基づいて判別された気筒を示し、現在気筒Ｃｙｌｐ（ｎ）は、判別気筒Ｃｙｌｄ（ｎ）に基づいて判別された次回制御対象となる気筒を示している。
【００５７】
図６はカムパルス系列Ｓ＿ｃａｍ（ｎ）の組み合わせ（情報系列）と判別気筒とを対応させたテーブルを示す説明図である。
【００５８】
以下、図５および図６を参照しながら、この発明の実施の形態１による気筒判別動作について時系列的に説明する。
まず、エンジン始動時においては、各区間（ａ）、（ｂ）でのカム信号パルス数および図３のテーブルに基づいて気筒判別を行う。
【００５９】
この場合、区間（ａ）のパルス数が「１」、区間（ｂ）のパルス数が「０」であることから、時刻ｔ０（Ｂ０５）での判別気筒Ｃｙｌｄ（ｎ）は＃１気筒（図３参照）であり、次回の制御対象となる現在気筒Ｃｙｌｐ（ｎ）は、＃３気筒であることが判る。
【００６０】
また、図５において、カムパルス系列Ｓ＿ｃａｍ（ｎ）の瞬時値は、＃１気筒のＴＤＣ以前の区間（ａ）の終端（Ｂ９５）においては「１」、＃１気筒のＴＤＣ以前の区間（ｂ）の終端（Ｂ０５）においては「０」である。
【００６１】
気筒判別手段１０は、＃１気筒のＢ０５（時刻ｔ０）までは、各区間（ａ）および（ｂ）のカムパルス数の組み合わせ（図３参照）に基づいて気筒を判別するが、それ以降の通常時においては、カムパルス系列Ｓ＿ｃａｍ（ｎ）によって気筒を判別する。
【００６２】
図５から明らかなように、＃１気筒のＢ０５（時刻ｔ０）において、未知フラグＦ＿ｕｎｋ（ｎ）＝０、ゼロフラグＦｓ０＝１、クランクパルスカウンタＣ＿ｓｇｔ＝０である。
【００６３】
その後、ゼロフラグＦｓ０＝１の状態が継続される期間においては、クランクパルスカウンタＣ＿ｓｇｔは、カウントアップされず「０」のままである。
【００６４】
また、クランク角信号ＳＧＴの検出時においては、前回のクランク角信号を検出してから今回のクランク角信号を検出するまでにカム信号ＳＧＣが検出されたか否かが確認される。
【００６５】
たとえば、時刻ｔ１（基準位置Ａ３５の検出時）においては、前回のクランク角信号検出時（Ａ１５°ＣＡ）から今回のクランク角信号検出時（Ａ３５）までの間に、１パルスのカム信号ＳＧＣが検出されることになる。
【００６６】
ここで検出されたカム信号ＳＧＣは、１つの区間内における２パルス系列の初回パルスに相当するか、または、１パルス系列そのものに相当するが、いずれであるかが未知であるため、フラグＦ＿ｕｎｋ（ｎ）がＯＮされる。
【００６７】
また、クランクパルスカウンタＣ＿ｓｇｔは、時刻ｔ１において０クリアされると同時に、その後のクランク角信号ＳＧＴの検出毎にカウントアップされる。以下、２パルス系列のパルス間隔の角度設定値（＝３）に基づいて、未知フラグＦ＿ｕｎｋ（ｎ）＝１の状態で、クランクパルスカウンタＣ＿ｓｇｔ＝４となった時点で次回のカムパルスを検出していなければ、そのカムパルス系列は１パルス系列であると判定することができる。
【００６８】
逆に、クランクパルスカウンタＣ＿ｓｇｔ≦４の状態で次回のカムパルスを検出した場合には、そのカムパルス系列は２パルス系列であると判定することができる。
【００６９】
図５においては、時刻ｔ２後のＢ１１５°ＣＡのクランク角信号ＳＧＴが検出されたときに、前回のクランク角信号（Ｂ１２５°ＣＡ）と今回のクランク角信号（Ｂ１１５°ＣＡ）との間でカムパルスが検出されるので、２パルス系列であると判定することができる。
【００７０】
したがって、今回のカムパルス系列Ｓ＿ｃａｍ（ｎ）は、「２」にセットされる。
また、クランクパルスカウンタＣ＿ｓｇｔは、０クリアされるとともに、その後のクランク角信号ＳＧＴの検出毎にカウントアップされる。
【００７１】
こうして、カムパルス系列Ｓ＿ｃａｍ（ｎ）＝２が確定された後、もし次回のカムパルス系列が「０」であれば、所定期間にわたってカムパルスが検出されない。
【００７２】
したがって、カムパルスの角度間隔設定値に基づき、クランクパルスカウンタＣ＿ｓｇｔ＝８の時点でカムパルスが検出されない場合には、そのカムパルス系列は「０」であると判定する。
【００７３】
逆に、カムパルス系列Ｓ＿ｃａｍ（ｎ）の確定後に、クランクパルスカウンタＣ＿ｓｇｔ≦８の時点でカムパルスが検出された場合には、そのカムパルスは２パルス系列の初回パルス、または、１パルス系列そのものであると判定する。
【００７４】
図５内の時刻ｔ３（＃３気筒のＢ５５°ＣＡ）においては、クランクパルスカウンタＣ＿ｓｇｔ＝６の時点で、パルス系列が未知のカムパルスが検出されるので、未知フラグＦ＿ｕｎｋ（ｎ）がＯＮされ、クランクパルスカウンタＣ＿ｓｇｔが０クリアされる。
【００７５】
以下、時刻ｔ４（＃３気筒のＢ１５°ＣＡ）においては、未知フラグＦ＿ｕｎｋ（ｎ）＝１の状態で、クランクパルスカウンタＣ＿ｓｇｔ＝４の時点までにカムパルスが検出されないので、カムパルス系列Ｓ＿ｃａｍ（ｎ）＝１（１パルス系列）がセットされ、クランクパルスカウンタＣ＿ｓｇｔが０クリアされる。
【００７６】
続いて、時刻ｔＡ（Ｂ０５）において、気筒判別を実行する。
この時点において、情報系列を示す４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）＝「１、０、２、１」なので、図６から、今回確認された気筒Ｃｙｌｄ（ｎ）は＃３気筒であり、次回の制御対象となる現在気筒Ｃｙｌｐ（ｎ）は＃４気筒であることが判る。
【００７７】
次に、図５内の時刻ｔ５においては、未知フラグＦ＿ｕｎｋ（ｎ）＝０の状態で、クランクパルスカウンタＣ＿ｓｇｔ＝８に達するまでにカムパルスが検出されないので、カムパルス系列Ｓ＿ｃａｍ（ｎ）＝０がセットされ、これと同時に、ゼロフラグＦ＿ｓ０＝１がセットされる。
【００７８】
続いて、時刻ｔ５〜ｔ６においては、ゼロフラグＦ＿ｓ０＝１がセットされているので、クランクパルスカウンタＣ＿ｓｇｔはカウントアップされない。
なお、カムパルス系列は、０パルスが連続配置されていないので、０パルス系列の次のパルス系列は、必ず１パルス系列または２パルス系列である。
【００７９】
次に、時刻ｔ６においては、２パルス系列の先頭パルスまたは１パルス系列そのものが検出されるので、ゼロフラグＦ＿ｓ０がクリアされるとともに、未知フラグＦ＿ｕｎｋ（ｎ）がセットされる。
【００８０】
また、時刻ｔ７においては、クランクパルスカウンタＣ＿ｓｇｔ＝３のときにカムパルスが検出されるので、カムパルス系列Ｓ＿ｃａｍ（ｎ）＝２がセットされ、未知フラグＦ＿ｕｎｋ（ｎ）がクリアされる。
【００８１】
次に、時刻ｔＢ（気筒判別ポイント）においては、４つ分のカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）＝「２、１、０、２」であることが確認されるので、図６から、今回の気筒Ｃｙｌｄ（ｎ）は＃４気筒、次回の制御対象となる現在気筒Ｃｙｌｐ（ｎ）は＃２気筒と判定することができる。
【００８２】
以下、各時刻ｔ８〜ｔ１１および気筒判別時刻ｔＣにおいて、上述と同様の処理が繰り返され、４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）＝「０、２、０、１」となるので、図６から、今回の気筒Ｃｙｌｄ（ｎ）は＃２気筒、次回の制御対象となる現在気筒Ｃｙｌｐ（ｎ）は＃１気筒と判定することができる。
【００８３】
なお、図５はＶＶＴによる位相変化がない場合の信号パターンを示しているが、通常時にＶＶＴによって位相変化した場合においても同様に気筒判別することができる。
【００８４】
図７はＶＶＴによって位相変化した場合の気筒判別動作を説明するためのタイミングチャートである。
図７において、各時刻ｔ１〜ｔ１４における処理動作は、図５の場合と同様であり、前述と同様にパルス系列の判定および気筒判別を行うことができる。
【００８５】
次に、図８〜図１１のフローチャートを参照しながら、この発明の実施の形態１による気筒判別手段１０の処理動作について説明する。
図８はカム信号ＳＧＣによる割り込み処理ルーチン、図９および図１０はクランク角信号ＳＧＴによる割り込み処理ルーチン、図１１は図９内の気筒判別処理ルーチンである。
【００８６】
図８において、Ｐ＿ｓｇｃはクランク角信号ＳＧＴのパルス間に検出されたカム信号ＳＧＣの発生パルス数である。
図９において、ＴＲ（ｎ）は前回および今回のクランク角信号ＳＧＴの周期比である。
【００８７】
まず、図８において、気筒判別手段１０内の信号順序記憶手段１１および信号数記憶手段１２は、カム信号ＳＧＣのパルス発生時に応答して、クランク角信号ＳＧＴのパルス検出周期に対応させて、カム信号ＳＧＣの発生パルス数Ｐ＿ｓｇｃに「１」を格納する（ステップＳ１）。
【００８８】
一方、図９において、信号数記憶手段１２は、前回カムパルス数＝０を示すゼロフラグＦ＿ｓ０がセットされている（Ｆ＿ｓ０＝１）か否かを判定し（ステップＳ１０）、Ｆ＿ｓ０＝１（すなわち、ＹＥＳ）と判定されれば、後述するステップＳ１４に進む。
【００８９】
また、ステップＳ１０において、Ｆ＿ｓ０＝０（すなわち、ＮＯ）と判定されれば、基準位置検出手段１３を用いて、前回および今回のクランク角信号ＳＧＴのパルス周期比ＴＲ（ｎ）が所定値Ｋｒ以上か否かにより、今回のクランク角位置が欠け歯に対応するか否かを判定する（ステップＳ１１）。
【００９０】
ステップＳ１１において、ＴＲ（ｎ）≧Ｋｒ（すなわち、ＹＥＳ）と判定されれば、クランク角位置判別用のクランクパルスカウンタＣ＿ｓｇｔを「２」だけインクリメントさせ（ステップＳ１２）、ＴＲ（ｎ）＜Ｋｒ（すなわち、ＮＯ）と判定されれば、クランクパルスカウンタＣ＿ｓｇｔを「１」だけインクリメントさせて（ステップＳ１３）、ステップＳ１４に進む。
【００９１】
次に、気筒判別手段１０は、信号数記憶手段１２を参照して、カム信号ＳＧＣの発生パルス数Ｐ＿ｓｇｃ＝１であるか否かを判定し（ステップＳ１４）、Ｐ＿ｓｇｃ≠１（すなわち、ＮＯ）と判定されれば、後述する図１０内のステップＳ２１に進む。
【００９２】
また、ステップＳ１４において、Ｐ＿ｓｇｃ＝１（すなわち、ＹＥＳ）と判定されれば、続いて、未知フラグＦ＿ｕｎｋが既にセットされているか否かを判定する（ステップＳ１５）。
【００９３】
ステップＳ１５において、Ｆ＿ｕｎｋ＝０（すなわち、ＮＯ）と判定されれば、未知フラグＦ＿ｕｎｋを「１」にセットし（ステップＳ１６）、後述するステップＳ１８に進む。
【００９４】
また、ステップＳ１５において、Ｆ＿ｕｎｋ＝１（すなわち、ＹＥＳ）と判定されれば、現時点での４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−２）、Ｓ＿ｃａｍ（ｎ−１）、Ｓ＿ｃａｍ（ｎ）および「２」を、それぞれ、１演算周期分だけシフトさせて、前回値Ｓ＿ｃａｍ（ｎ−３）、Ｓ＿ｃａｍ（ｎ−２）、Ｓ＿ｃａｍ（ｎ−１）およびＳ＿ｃａｍ（ｎ）とする（ステップＳ１７）。
【００９５】
次に、クランクパルスカウンタＣ＿ｓｇｔを０クリアし（ステップＳ１８）、カム信号ＳＧＣの発生パルス数Ｐ＿ｓｇｃを０クリアし（ステップＳ１９）、図１１の気筒判別処理ルーチン（ステップＳ２０）を実行して、図９のクランク角信号割り込み処理を終了する。
【００９６】
一方、ステップＳ１４において、Ｐ＿ｓｇｃ≠１（すなわち、ＮＯ）と判定された場合には、図１０内のステップＳ２１に進む。
図１０において、まず、未知フラグＦ＿ｕｎｋ＝１か否かを判定し（ステップＳ２１）、Ｆ＿ｕｎｋ＝１（すなわち、ＹＥＳ）と判定されれば、続いて、クランクパルスカウンタＣ＿ｓｇｔ＝４か否かを判定する（ステップＳ２２）。
【００９７】
ステップＳ２２において、Ｃ＿ｓｇｔ≠４（すなわち、ＮＯ）と判定されれば、直ちに図９内のステップＳ１９に進み、Ｃ＿ｓｇｔ＝４（すなわち、ＹＥＳ）と判定されれば、現時点での４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−２、ｎ−１、ｎ）および「１」を、それぞれ、前回値Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）にシフトし（ステップＳ２３）、図９内のステップＳ１８に進む。
【００９８】
一方、ステップＳ２１において、Ｆ＿ｕｎｋ≠１（すなわち、ＮＯ）と判定されれば、続いて、クランクパルスカウンタＣ＿ｓｇｔ＝８か否かを判定し（ステップＳ２４）、Ｃ＿ｓｇｔ≠８（すなわち、ＮＯ）と判定されれば、直ちに図９内のステップＳ１９に進む。
【００９９】
また、ステップＳ２４において、Ｃ＿ｓｇｔ＝８（すなわち、ＹＥＳ）と判定されれば、現時点での４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−２、ｎ−１、ｎ）および「０」を、それぞれ、前回値Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）にシフトし（ステップＳ２３）、図９内のステップＳ１８に進む。
【０１００】
次に、図１２のタイミングチャートを参照しながら、カム信号ＳＧＣのパルス系列を用いてＶＶＴの位相変化量を検出する位相検出手段６の動作について説明する。
【０１０１】
図１２において、カム信号ＳＧＣは、クランク角信号ＳＧＴに対応させて、最遅角時（位相変化なし）のパターンと、カム位相変化時のパターンとが示されている。
【０１０２】
カム信号ＳＧＣのうち、一部のパルスＡ、Ｂ、Ｃ、Ｄは、カム位相検出に用いられており、位相変化時のカム信号ＳＧＣの各パルスＡ′、Ｂ′、Ｃ′、Ｄ′のクランク角位置の変化量θ１、θ２、θ３、θ４は、バルブタイミング可変手段５（ＶＶＴ）による位相変化量に対応している。
【０１０３】
位相検出手段６は、あらかじめ、カム位相の最遅角時における各パルスＡ〜Ｄの検出時のクランク角位置（＃１気筒のＢ５５、Ａ３５、＃４気筒のＢ５５、＃２気筒のＢ４５）を確認する。
【０１０４】
続いて、位相検出手段６は、ＶＶＴによる位相変化時において、各パルスＡ′〜Ｄ′のクランク角位置（＃１気筒のＢ１１５、Ｂ２５、＃４気筒のＢ１１５、＃２気筒のＢ１０５）と、上記各パルスＡ〜Ｄのクランク角位置との差θ１〜θ４を演算し、これらをカム位相変化量として検出する。
【０１０５】
図１２においては、最大進角された場合（約６０°ＣＡ）のカム位相変化量θ１〜θ４が示されている。
検出された位相変化量θ１〜θ４は、バルブタイミング可変手段５にフィードバックされ、ＶＶＴ制御に用いられる。
【０１０６】
また、この場合も、気筒判別手段１０は、カムパルスのパターンを気筒判別の早期化が可能な複雑なパターンとし、カムパルス数の系列で気筒判別を行う。
したがって、バルブタイミング可変手段５（ＶＶＴ機構）を備えたエンジンにおいて、ＶＶＴによりカム位相が変化した場合でも、速やかに気筒判別を終了して始動性を向上させることができる。
【０１０７】
次に、図１３のタイミングチャートを参照しながら、情報系列学習手段１６を用いた気筒判別動作について説明する。
図１３はＶＶＴによるカム位相が最遅角状態のパルスパターンを示しており、クランク角信号ＳＧＴ（クランク角位置）およびカム信号ＳＧＣのパルス系列に基づく学習パルス系列（カムセンサの取付誤差を考慮した系列）を用いた気筒判別処理を示している。
【０１０８】
この場合、学習手段１６は、ＶＶＴによるカム位相が最遅角状態（位相進角なし）の場合に、カム信号ＳＧＣのパルス系列を学習する。
このとき、カム信号ＳＧＣの位相が再遅角状態であるため、クランク角信号ＳＧＴの区間（ａ）、（ｂ）には、前述（図３、図４参照）のテーブルに対応したカムパルス数が配置されることになる。
【０１０９】
したがって、区間（ａ）、（ｂ）において検出されたカムパルス数の組み合わせに基づいて気筒判別することができる。
同時に、学習手段１６は、カムパルス系列の学習を行い、学習したカムパルス系列を用いて、ＶＶＴによりカム位相変化時の気筒判別を行う。
【０１１０】
図１３において、未知フラグＦ＿ｕｎｋ（ｎ）、クランクパルスカウンタＣ＿ｓｇｔ、カムパルス系列Ｓ＿ｃａｍ（ｎ）、判別気筒Ｃｙｌｄ（ｎ）、現在気筒Ｃｙｌｐ（ｎ）の各タイミング動作は前述（図５、図７参照）の場合と同様である。
【０１１１】
まず、時刻ｔＡにおいて、気筒判別手段１０は、区間（ａ）のパルス数「１」と区間（ｂ）のパルス数「０」とに基づき、図３から「＃１気筒」を判定する。同時に、学習手段１６は、時刻ｔＡでのカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「１、１」）を、学習パルス系列として記憶する。
【０１１２】
また、時刻ｔＢにおいて、気筒判別手段１０は、区間（ａ）のパルス数「２」と区間（ｂ）のパルス数「１」とに基づき、図３から「＃３気筒」を判定する。同時に、学習手段１６は、時刻ｔＢでのカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「０、２」）を学習パルス系列として記憶する。
【０１１３】
また、時刻ｔＣにおいて、気筒判別手段１０は、区間（ａ）のパルス数「０」と区間（ｂ）のパルス数「２」とに基づき、図３から「＃４気筒」を判定する。同時に、学習手段１６は、時刻ｔＣでのカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「０、２」）を学習パルス系列として記憶する。
【０１１４】
また、時刻ｔＤにおいて、気筒判別手段１０は、区間（ａ）のパルス数「０」と区間（ｂ）のパルス数「１」とに基づき、図３から「＃２気筒」を判定する。同時に、学習手段１６は、時刻ｔＤでのカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「０、２」）を学習パルス系列として記憶する。
【０１１５】
図１４は時刻ｔＡ〜ｔＤに対応した各クランク角位置で検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図であり、前述の図３に対応している。
【０１１６】
図１５は図１４に基づいて学習した気筒判別クランク角位置でのカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）を示す説明図である。
【０１１７】
図１５において、ａ１、ｂ１、ｃ１、ｄ１に対応したカムパルス系列は、ＶＶＴ位相が最遅角状態での情報系列を示しており、ａ２、ｂ２、ｃ２、ｄ２に対応したカムパルス系列は、ＶＶＴによってカム位相が最大進角された場合に取り得る情報系列を示している。
【０１１８】
図１５内のａ１に対応したカムパルス系列のうち、２つのカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）は、図１４内の＃１気筒のカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「１、１」）である。
【０１１９】
また、系列ａ１の残りのカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２）は、＃１気筒の学習値がＳ＿ｃａｍ（ｎ−１、ｎ）＝「１、１」の場合に、図１３のパルス波形に基づいて必然的に取ることになるパルス数である。
【０１２０】
一方、最大進角時に取り得る系列ａ２において、ＶＶＴにより進角されるカム位相が最大６０ーＣＡ程度なので、カムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）は、たとえば以下のようになる。
【０１２１】
すなわち、系列ａ２のＳ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１）は、系列ａ１のＳ＿ｃａｍ（ｎ−２、ｎ−１、ｎ）（＝「０、１、１」）であり、系列ａ２のＳ＿ｃａｍ（ｎ）は、＃１気筒のＳ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１）に対応して必然的に取ることになる値（＝「０」）である。
【０１２２】
以上の学習から得られた図１５のテーブルを参照することにより、カムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）＝「２、０、１、１」（または、「０、１、１、０」）の場合に、今回の判別気筒Ｃｙｌｄ（ｎ）は「＃１気筒」であり、次回の制御対象となる現在気筒Ｃｙｌｐ（ｎ）は「＃３気筒」であることを判別することができる。
【０１２３】
ここでは、図１５において、代表的に系列ａ１、ａ２のみの学習について説明したが、他の系列ｂ１、ｂ２、ｃ１、ｃ２、ｄ１、ｄ２についての学習処理も同様である。
【０１２４】
図１６は図１３のように位相差ばらつき（カムセンサ取付誤差）を考慮したクランク角信号ＳＧＴおよびカム信号ＳＧＣにおいて、ＶＶＴによりカム位相が最大進角した場合の各パルスパターンを示すタイミングチャートである。
この場合も、気筒判別処理動作については、前述と同様なので省略する。
【０１２５】
図１７はＶＶＴによるカム位相が最遅角状態の各パルスパターンを示すタイミングチャートであり、クランク角信号ＳＧＴに対するカム信号ＳＧＣの位相ばらつきが進角側に最大にずれている場合を示している。
【０１２６】
図１７において、各気筒のＢ０５毎に検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）は、前述（図１３参照）の場合と同様に、図１８の気筒判別テーブルに示すようになる。
【０１２７】
したがって、前述と同様に、図１７のパルスパターンに基づく図１８のテーブルを用いて、連続する４つのカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）の学習を行うと、図１９の気筒判別テーブルが得られる。
【０１２８】
図２０は図１７のようにクランク角信号ＳＧＴに対して最大の進角側位相ずれを有するカム信号ＳＧＣがＶＶＴによって進角側に変化した場合のパターンを示すタイミングチャートであり、前述と同様に、クランク角信号ＳＧＴおよびカム信号ＳＧＣを用いて気筒判別を行う場合の処理動作を示している。
【０１２９】
図１３〜図２０のように、特定の運転状態においてカムパルス系列を学習することにより、ＶＶＴによりカム位相が変化した場合のカムパルス系列の変化を学習することができ、クランク角信号ＳＧＴに対するカム信号ＳＧＣの検出位相差がカムセンサ取付誤差などの要因でばらついても、正確な気筒判別を行うことができる。
【０１３０】
また、情報系列記憶手段１５は、カム信号ＳＧＣのタイミング変化範囲内で連続する４つのカムパルス系列を２種類ずつ記憶しているので、ＶＶＴによりカム位相が変化（最大進角）した場合でも、特定気筒を判別することができる。
このとき、カムパルス系列の記憶情報は、任意の所定回数（４つ以上）に設定されてもよい。
【０１３１】
また、ここでは、ＶＶＴによるカム位相が最遅角タイミングで学習したが、最遅角タイミングおよび最大進角タイミングの少なくとも一方で学習してもよく、エンジン始動時に学習してもよい。
【０１３２】
また、気筒判別手段１０は、基準位置Ａ３５を含む一定クランク角（１０°ＣＡ）毎のクランク角信号ＳＧＴからクランク角位置を検出するとともに、点火ＴＤＣ周期間内の複数区間（ａ）、（ｂ）におけるカム信号ＳＧＣのパルス出力数の組み合わせにより気筒判別するので、エンジン始動時において速やかに気筒判別することができる。
【０１３３】
すなわち、複雑なパターンを設定可能なカムパルス系列に基づいて気筒判別するので、特定の検出区間のみに限定されることなく気筒判別を行うことができ、気筒判別に要する回転角が少なくなり、エンジン始動性を向上させることができる。
【０１３４】
このとき、気筒判別手段１０は、エンジン始動時からの所定期間内と、バルブタイミング可変手段５による最遅角タイミング時との少なくとも一方で各気筒を判別することもでき、この場合、ＶＶＴによる位相シフトを考慮する必要がないので、情報系列記憶手段１５が単一のカムパルス系列のみを記憶していれば、正確に気筒判別することができる。
【０１３５】
さらに、気筒判別手段１０に関連して、クランク角信号ＳＧＴおよびカム信号ＳＧＣと情報系列に基づいてＶＶＴによる位相検出を行う位相検出手段６を設けたので、カム軸２の近傍にカム位相センサを設ける必要がなく、構成部品の簡略化により設計自由度を拡大させるとともに、コストダウンを実現することができる。
【０１３６】
実施の形態２．
なお、上記実施の形態１では、４気筒エンジンに適用した場合について説明したが、６気筒エンジンに適用してもよく、前述と同様の作用効果を奏する。
【０１３７】
図２１は６気筒エンジンに適用したこの発明の実施の形態２によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス発生パターンを示すタイミングチャートである。
【０１３８】
図２１において、各気筒毎の欠け歯位置は前述と同様にＡ２５に設定されているが、６気筒エンジンのＴＤＣ区間（点火制御区間）が１２０ーＣＡであるため、区間（ａ）はＢ０５〜Ｂ６５、区間（ｂ）はＢ６５〜Ｂ０５のクランク角範囲となる。
【０１３９】
また、カム信号ＳＧＣに含まれる特定パルス数は、各区間（ａ）、（ｂ）に対して、各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定されている。
【０１４０】
この場合、クランク角信号ＳＧＴは、１２０ーＣＡ毎に基準信号（欠け歯）が設定され、各区間（ａ）、（ｂ）に対応したカム信号ＳＧＣのパルス系列が配置されている。
【０１４１】
図２２は各区間（ａ）および（ｂ）のカムパルス数の組み合わせに基づく気筒判別テーブルを示す説明図である。
図２１のパルスパターンにおいて、図２２のテーブルを参照することにより、最小で１２０ーＣＡ、最大でも１８０ーＣＡの回転角で気筒判別を行うことができる。
【０１４２】
図２３は図２１のパルスパターンにおいてカム位相の最遅角時に検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）を示す説明図である。
この場合も、カムパルス系列の検出処理については、前述と同様なので省略する。ただし、ＴＤＣ区間（Ｂ０５〜Ｂ０５）のクランク角間隔が異なるので、パルス系列判定用のクランクパルスカウンタＣ＿ｓｇｔの条件が前述と異なる。
【０１４３】
図２４は図２３の検出結果から学習されたカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図である。
【０１４４】
図２４から、ＶＶＴ機構を有する６気筒エンジンにおいても、ＶＶＴによるカム位相変化時にカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づいて気筒判別を行うことができる。
【０１４５】
実施の形態３．
なお、上記実施の形態２では、６気筒エンジンに適用した場合について説明したが、３気筒エンジンに適用してもよく、前述と同様の作用効果を奏する。
【０１４６】
図２５は３気筒エンジンに適用したこの発明の実施の形態３によるクランク角信号ＳＧＴおよびカム信号ＳＧＣのパルス発生パターンを示すタイミングチャートである。
【０１４７】
この場合、クランク角信号ＳＧＴは、６気筒エンジンと同様に１２０ーＣＡ毎に基準信号（欠け歯）が設定されており、ＴＤＣ周期（２４０ーＣＡ）間で２回の基準信号を発生させている。
【０１４８】
なぜなら、３気筒エンジンは、ＴＤＣ周期が２４０ーＣＡであるが、エンジン１回転（３６０ーＣＡ）毎に同一のクランク角信号ＳＧＴが出力されるので、エンジン２回転（７２０ーＣＡ）で３回の基準信号を出力させることができないからである。
【０１４９】
カム信号ＳＧＣは、Ｂ０５〜Ｂ０５間を４分割（すなわち、基準信号周期１２０ーＣＡ間を２分割）した各区間での基準信号の有無に基づいて、区間（ａ）、（ｂ）を判別可能にしている。すなわち、前述と同様に、各区間（ａ）、（ｂ）には、パルス数「０」〜「２」のカム信号ＳＧＣが配置される。
【０１５０】
ここでは、カム信号ＳＧＣに含まれる特定パルス数は、各区間（ａ）、（ｂ）に対して、各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定されている。
【０１５１】
図２６は３気筒エンジンの場合の気筒判別テーブルを示す説明図であり、前述の図２２に対応している。
図２５内の区間（ｂ）の終端での各区間（ａ）、（ｂ）のカムパルス系列の組み合わせから、図２６のテーブルを参照することにより、特定気筒と特定クランク角位置が判定される。
【０１５２】
図２７は図２５のパルスパターンにおいてカム位相の最遅角時に区間（ｂ）の終端で検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）を示す説明図であり、前述の図２３に対応している。
【０１５３】
図２７のカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）の検出処理は前述と同様である。
図２８は図２３の検出結果から学習されたカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図であり、前述の図２４に対応している。
【０１５４】
なお、ＶＶＴ機構を有する３気筒エンジンの場合においても、各気筒のＢ０５タイミングで気筒判別が行われる。
【０１５５】
図２８において、学習系列ａ１のＳ＿ｃａｍ（ｎ−３、ｎ−２）は、図２７内の＃１気筒のＢ１２５での系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「０、１」）であり、学習系列ａ１のＳ＿ｃａｍ（ｎ−１、ｎ）は、図２７内の＃１気筒のＢ０５での系列Ｓ＿ｃａｍ（ｎ−１、ｎ）（＝「１、０」）である。
【０１５６】
また、図２８内の学習系列ａ２のＳ＿ｃａｍ（ｎ−３）は、図２７内の＃１気筒のＢ１２５での系列Ｓ＿ｃａｍ（ｎ）（＝「１」）であり、学習系列ａ２のＳ＿ｃａｍ（ｎ−２、ｎ−１）は、図２７の＃１気筒Ｂ０５でのＳ＿ｃａｍ（ｎ−１、ｎ）（＝「１、０」）であり、学習系列ａ２のＳ＿ｃａｍ（ｎ）は、図２７内の＃３気筒のＢ１２５でのＳ＿ｃａｍ（ｎ−１）（＝「２」）である。
他の学習系列ｂ１、ｂ２、ｃ１、ｃ２についても同様である。
【０１５７】
【発明の効果】
以上のように、この発明の請求項１によれば、内燃機関のクランク軸の回転に同期してクランク角信号を出力するクランク角信号検出手段と、クランク軸に対して１／２の速度比で回転するカム軸の回転に同期して内燃機関の各気筒を識別するための特定パルスを含むカム信号を出力するカム信号検出手段と、内燃機関の運転状態に応じて各気筒毎のバルブ駆動タイミングの位相を可変設定するバルブタイミング可変手段と、バルブタイミング可変手段により変更される各気筒毎のカム位相と同期するように設けられてクランク角信号およびカム信号に基づいて各気筒を判別する気筒判別手段とを備えた内燃機関の気筒判別装置において、気筒判別手段は、各気筒の点火制御周期を複数区間に分割し、複数区間にわたって発生する特定パルスの信号数を計数して記憶する信号数記憶手段と、複数区間毎の信号数の組み合わせからなる情報系列を記憶する情報系列記憶手段と、クランク角信号に基づく所定クランク角での第１の情報系列を学習する情報系列学習手段とを含み、情報系列に基づいて各気筒を判別するとともに、今回検出された情報系列と、第１の情報系列との比較に基づいて各気筒を判別し、気筒判別用の特定区間を設定することなく複雑なカム信号パターンを設定可能としたので、カムセンサ取付誤差が生じても、また、ＶＶＴによるカム位相の進角時であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１５８】
また、この発明の請求項２によれば、請求項１において、情報系列は、連続する４つの信号数からなるので、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１５９】
また、この発明の請求項３によれば、請求項１または請求項２において、情報系列記憶手段は、バルブタイミング可変手段による位相変化範囲内で変化し得る複数の情報系列を記憶し、気筒判別手段は、複数の情報系列の少なくとも一方に基づいて特定気筒を判別するようにしたので、ＶＶＴによるカム位相の進角時であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６１】
また、この発明の請求項４によれば、請求項１から請求項３までのいずれかにおいて、気筒判別手段は、第１の情報系列とバルブタイミング可変手段による位相変化範囲とに基づいて所定クランク角内で変化し得る第２の情報系列を演算する変化情報系列演算手段を含み、今回検出された情報系列と、第１および第２の情報系列の少なくとも一方との比較に基づいて各気筒を判別するようにしたので、カムセンサ取付誤差が生じても、また、ＶＶＴによるカム位相の進角時であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６２】
また、この発明の請求項５によれば、請求項１から請求項４までのいずれかにおいて、情報系列学習手段は、バルブタイミング可変手段による最遅角タイミングおよび最大進角タイミングの少なくとも一方で第１の情報系列を学習するようにしたので、カムセンサ取付誤差が生じても、また、ＶＶＴによるカム位相の進角時であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６３】
また、この発明の請求項６によれば、請求項１から請求項４までのいずれかにおいて、情報系列学習手段は、内燃機関の始動時に第１の情報系列を学習するようにしたので、カムセンサ取付誤差が生じても、また、ＶＶＴによるカム位相の進角時であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６４】
また、この発明の請求項７によれば、請求項１から請求項６までのいずれかにおいて、クランク角信号は、各気筒毎の基準位置を含む一定クランク角のパルス列からなり、複数区間は、基準位置に関連して分割されたので、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６５】
また、この発明の請求項８によれば、請求項７において、気筒判別手段は、内燃機関の始動時からの所定期間内と、バルブタイミング可変手段による最遅角タイミング時との少なくとも一方で各気筒を判別するようにしたので、情報系列の記憶量を軽減させた場合であっても、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６６】
また、この発明の請求項９によれば、請求項１から請求項８までのいずれかにおいて、カム信号の特定パルスの一部とクランク角信号に基づくクランク角位置情報とを用いて、バルブタイミング可変手段による位相変化量を検出する位相検出手段を備え、カム位相センサを不要としたので、設計自由度の向上およびコストダウンを実現するとともに、気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６７】
また、この発明の請求項１０によれば、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は４であり、各気筒の点火制御周期は１８０°のクランク角であり、各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、１」、「０、２」、「０、１」、となるように設定されたので、４気筒エンジンの気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６８】
また、この発明の請求項１１によれば、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は６であり、各気筒の点火制御周期は１２０°のクランク角であり、各気筒に対応した複数区間は、それぞれ第１および第２の区間からなり、カム信号に含まれる特定パルス数は、第１および第２の区間に対して、各気筒の制御順に、それぞれ、「１、０」、「２、０」、「１、２」、「０、２」、「１、１」、「０、１」、となるように設定されたので、６気筒エンジンの気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【０１６９】
また、この発明の請求項１２によれば、請求項１から請求項９までのいずれかにおいて、内燃機関の気筒数は３であり、各気筒の点火制御周期は２４０°のクランク角であり、複数区間は第１、第２、第３および第４の区間からなり、カム信号に含まれる特定パルス数は、第１から第４の区間に対して、各気筒の制御順に、それぞれ、「１、０、２、０」、「１、２、０、２」、「１、１、０、１」、となるように設定されたので、３気筒エンジンの気筒判別に要する回転角を少なくして制御性を向上させた内燃機関の気筒判別装置が得られる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１を概略的に示す機能ブロック図である。
【図２】  この発明の実施の形態１による４気筒エンジンのクランク角信号およびカム信号のパターンを示すタイミングチャートである。
【図３】  図２の信号検出パターンに対して用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図４】  図２の信号検出パターンに対して用いられる区間（ｂ）、（ａ）に基づく気筒判別テーブルを示す説明図である。
【図５】  この発明の実施の形態１による気筒判別動作を説明するためのタイミングチャートである。
【図６】  図５の信号検出パターンに基づくカムパルス系列による気筒判別テーブルを示す説明図である。
【図７】  この発明の実施の形態１によるＶＶＴ機構動作時の気筒判別処理を説明するためのタイミングチャートである。
【図８】  この発明の実施の形態１による気筒判別手段のカム信号割り込み処理動作を示すフローチャートである。
【図９】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１０】  この発明の実施の形態１による気筒判別手段のクランク角信号割り込み処理動作を示すフローチャートである。
【図１１】  この発明の実施の形態１による気筒判別処理動作を示すフローチャートである。
【図１２】  この発明の実施の形態１による位相検出手段の動作を説明するためのタイミングチャートである。
【図１３】  この発明の実施の形態１による情報系列学習手段を用いた気筒判別動作を説明するためのタイミングチャートである。
【図１４】  この発明の実施の形態１によるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図である。
【図１５】  図１４に基づいて学習したカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）を示す説明図である。
【図１６】  この発明の実施の形態１によるカムセンサ取付誤差を考慮した場合のＶＶＴ動作時のパルスパターンを示すタイミングチャートである。
【図１７】  この発明の実施の形態１によるカムセンサ取付誤差を有する場合のカム位相最遅角時のパルスパターンを示すタイミングチャートである。
【図１８】  図１７のパルスパターンに基づく気筒判別テーブルを示す説明図である。
【図１９】  図１８のテーブルを用いて学習されたカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図である。
【図２０】  図１７のようにＶＶＴによって進角側に変化した場合のパルスパターンおよび気筒判別動作を示すタイミングチャートである。
【図２１】  この発明の実施の形態２による６気筒エンジンでのパルス発生パターンを示すタイミングチャートである。
【図２２】  図２１の信号検出パターンに対して用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図２３】  図２１の信号検出パターンにおいてカム位相の最遅角時に検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）を示す説明図である。
【図２４】  図２３により学習されたカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図である。
【図２５】  この発明の実施の形態３による３気筒エンジンでのパルス発生パターンを示すタイミングチャートである。
【図２６】  図２５の信号検出パターンに対して用いられる区間（ａ）、（ｂ）に基づく気筒判別テーブルを示す説明図である。
【図２７】  図２５の信号検出パターンにおいてカム位相の最遅角時に検出されるカムパルス系列Ｓ＿ｃａｍ（ｎ−１、ｎ）を示す説明図である。
【図２８】  図２７により学習されたカムパルス系列Ｓ＿ｃａｍ（ｎ−３、ｎ−２、ｎ−１、ｎ）に基づく気筒判別テーブルを示す説明図である。
【符号の説明】
１  クランク軸、２  カム軸、３  クランク角信号検出手段、４  カム信号検出手段、１０  気筒判別手段、１２  信号数記憶手段、１３  基準位置検出手段、１４  区間判別手段、１５  情報系列記憶手段、１６  情報系列学習手段、１７  比較手段、（ａ）、（ｂ）  区間、Ａ２５、Ａ３５  基準位置、ＳＧＴ  クランク角信号、ＳＧＣ  カム信号、Ｓ＿ｃａｍ（ｎ−３）、Ｓ＿ｃａｍ（ｎ−２）、Ｓ＿ｃａｍ（ｎ）  カムパルス系列。
【図１】
0003824853.tif 000002
【図２】
0003824853.tif 000003
【図３】
0003824853.tif 000004
【図４】
0003824853.tif 000005
【図５】
0003824853.tif 000006
【図６】
0003824853.tif 000007
【図７】
0003824853.tif 000008
【図８】
0003824853.tif 000009
【図９】
0003824853.tif 000010
【図１０】
0003824853.tif 000011
【図１１】
0003824853.tif 000012
【図１２】
0003824853.tif 000013
【図１３】
0003824853.tif 000014
【図１４】
0003824853.tif 000015
【図１５】
0003824853.tif 000016
【図１６】
0003824853.tif 000017
【図１７】
0003824853.tif 000018
【図１８】
0003824853.tif 000019
【図１９】
0003824853.tif 000020
【図２０】
0003824853.tif 000021
【図２１】
0003824853.tif 000022
【図２２】
0003824853.tif 000023
【図２３】
0003824853.tif 000024
【図２４】
0003824853.tif 000025
【図２５】
0003824853.tif 000026
【図２６】
0003824853.tif 000027
【図２７】
0003824853.tif 000028
【図２８】
0003824853.tif 000029