(57)【特許請求の範囲】
【請求項１】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、前記エンジンのカム軸の回転に伴って前記基準位置信号に対応した位置で発生する信号数と前記基準位置信号との組合せが１燃焼サイクルにおいて前記基準位置信号毎に異なるカム角信号とに基づいて気筒判別を行い、前記クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を順次更新するエンジン制御装置において、
前記基準位置信号と前記カム角信号との組合せの前回と今回との発生パターンが、所定回数連続する前記組合せについて今回の前記組合せまで正常であるか否かを判定するパターン判定手段と、
前記パターン判定手段による判定結果が正常である場合、今回の前記組合せに基づいて１燃焼サイクルにおける前記エンジン回転位置を設定し、前記判定結果が正常ではない場合、前記エンジン回転位置を設定しない回転位置設定手段と、
エンジン始動時に気筒判別が完了してから前記判定結果が正常になるまでに前記発生パターンが異常であると前記パターン判定手段が判定すると、気筒判別を未完了状態にして気筒判別を再開する気筒判別手段と、
を備えることを特徴とするエンジン制御装置。
【請求項２】
前記気筒判別手段は、気筒判別を未完了状態にしてから、前記判定結果が正常になると気筒判別を再開することを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、前記エンジンのカム軸の回転に伴って前記基準位置信号に対応した位置で発生する信号数と前記基準位置信号との組合せが１燃焼サイクルにおいて前記基準位置信号毎に異なるカム角信号とに基づいて気筒判別を行い、前記クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を順次更新するエンジン制御装置において、
前記基準位置信号と前記カム角信号との組合せの前回と今回との発生パターンが、所定回数連続する前記組合せについて今回の前記組合せまで正常であるか否かを判定するパターン判定手段と、
前記パターン判定手段による判定結果が正常である場合、今回の前記組合せに基づいて１燃焼サイクルにおける前記エンジン回転位置を設定し、前記判定結果が正常ではない場合、前記エンジン回転位置を設定しない回転位置設定手段と、
を備え、
前記回転位置設定手段は、エンジン始動時に気筒判別が完了してから前記判定結果が正常になるまで、各回の前記組合せに基づいて前記エンジン回転位置を設定する、
ことを特徴とするエンジン制御装置。
【請求項４】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、前記エンジンのカム軸の回転に伴って前記基準位置信号に対応した位置で発生する信号数と前記基準位置信号との組合せが１燃焼サイクルにおいて前記基準位置信号毎に異なるカム角信号とに基づいて気筒判別を行い、前記クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を順次更新するエンジン制御装置において、
前記基準位置信号と前記カム角信号との組合せの前回と今回との発生パターンが、所定回数連続する前記組合せについて今回の前記組合せまで正常であるか否かを判定するパターン判定手段と、
前記パターン判定手段による判定結果が正常である場合、今回の前記組合せに基づいて１燃焼サイクルにおける前記エンジン回転位置を設定し、前記判定結果が正常ではない場合、前記エンジン回転位置を設定しない回転位置設定手段と、
を備え、
前記回転位置設定手段は、エンジン始動時に気筒判別が完了してから前記エンジンの回転数が所定回転数以上になるまで、各回の前記組合せに基づいて前記エンジン回転位置を設定する、
ことを特徴とするエンジン制御装置。
【請求項５】
前記パターン判定手段は、前記発生パターンが複数回連続して正常であるか否かを判定することを特徴とする請求項１から４のいずれか一項に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク角信号とカム角信号とに基づいて気筒判別を行い、クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を順次更新するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、エンジンのカム軸の回転に伴い基準位置信号に対応した位置で発生しカム軸の回転位置を表わすカム角信号とに基づいて気筒判別を行い、吸入行程、圧縮行程、膨張行程、排気行程からなる１燃焼サイクルにおけるエンジン回転位置をクランク角信号に基づいてカウントして順次更新するエンジン制御装置が知られている。エンジン制御装置は、エンジン回転位置に基づいて燃料を噴射し、適切な気筒で燃料を燃焼させる。
【０００３】
このようなエンジン制御装置として、気筒判別完了後、例えばノイズ等によるエンジン回転位置のカウント値のずれを修正するために、基準位置信号の検出毎にカム角信号に応じた値にエンジン回転位置のカウント値を設定するものがある。しかしながら、断線やセンサ異常によりカム角信号が誤検出されると、誤ったカム角信号に基づいてエンジン回転位置が設定されるおそれがある。
【０００４】
そこで、特許文献１に開示されているエンジン制御装置では、クランク軸の１回転中において１箇所発生する基準位置信号に対し、カム角信号がロウレベルまたはハイレベルかによってエンジン回転位置を設定する。そして、前回と今回のカム角信号のレベルが同じ場合はカム角信号の異常であると判断し、エンジン回転位置を設定しない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−９０６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、基準位置信号毎にロウレベルまたはハイレベルのカム角信号を交互に出力するので、同じレベルのカム角信号が発生している時間が長い。その結果、例えば正常な角度位置とは異なる位置で基準位置信号が発生すると、カム角信号が同じハイレベルのときに正常な角度位置の前で基準位置信号が発生する可能性が高い。
【０００７】
この場合、異常位置で発生した基準位置信号に対応するカム角信号はハイレベルであり正常位置で発生した前回の基準位置信号に対応するカム角信号はロウレベルであるから、カム角信号のレベルは異なっており正常である。その結果、異常位置で発生した基準位置信号に対応するカム角信号がハイレベルであることに基づいて、異常位置でエンジン回転位置が誤設定される可能性が高いという問題がある。
【０００８】
また、特許文献１のように、基準位置信号に対応する前回と今回のカム角信号を比較すればカム角信号の異常は検出できる。しかしながら、例えばクランク角信号中の異なる角度位置に異なる基準位置信号を有する場合、前回と今回のカム角信号を比較する方式では、所定の角度位置で本来とは異なる基準位置信号が発生しても基準位置信号の異常を検出できない。
【０００９】
本発明は、上記課題を解決するためになされたものであり、エンジン回転位置を誤設定する可能性を低減し、基準位置信号およびカム角信号の異常を検出できるエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１から５に記載の発明によると、エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、エンジンのカム軸の回転に伴って基準位置信号に対応した位置で発生する信号数と基準位置信号との組合せが１燃焼サイクルにおいて基準位置信号毎に異なるカム角信号とに基づいて気筒判別を行い、クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を順次更新するエンジン制御装置において、パターン判定手段は、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが、所定回数連続する組合せについて今回の組合せまで正常であるか否かを判定し、回転位置設定手段は、パターン判定手段による判定結果が正常である場合、今回の組合せに基づいて１燃焼サイクルにおけるエンジン回転位置を設定し、判定結果が正常ではない場合、エンジン回転位置を設定しない。
【００１１】
尚、１燃焼サイクルは、吸入行程、圧縮行程、膨張行程、排気行程からなり、クランク軸の２回転、カム軸の１回転の角度に相当する。そして、エンジン回転位置は、１燃焼サイクルの回転角度におけるエンジンの回転位置を表わしており、エンジン回転位置に基づいて各気筒の行程の位置を判定する。
【００１２】
このように請求項１から５に記載の発明では、基準位置信号とカム角信号の信号数との組合せが１燃焼サイクルにおいて基準位置信号毎に異なっている構成において、基準位置信号とカム角信号の信号数との組合せの前回と今回との発生パターンについて正常であるか否かを判定するので、正常な発生位置とは異なる異常位置で基準位置信号が発生しても、この異常位置に対応するカム角信号は発生していない。その結果、異常位置で発生した基準位置信号に対応するカム角信号の信号数は０のように限定された数になる可能性が高く、信号数が１以上になる可能性は低い。
【００１３】
その結果、異常位置で発生した基準位置信号と異常位置に対応するカム角信号の信号数との組合せと、前回の正常位置で発生した組合せとの発生パターンは異常になる可能性が高い。したがって、正常な発生位置とは異なる位置で基準位置信号が発生しても、エンジン回転位置を誤設定する可能性は低い。
【００１４】
また、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが正常であるか否かを判定するので、基準位置信号が複数種類あり異なる角度位置で異なる基準位置信号が発生する場合には、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが正常とは異なるパターンになると、基準位置信号またはカム角信号のどちらかに異常が発生したと判定できる。
【００１５】
そして、発生パターンが異常であればエンジン回転位置を設定しないので、基準位置信号またはカム角信号のどちらかに異常が発生した場合に、エンジン回転位置を誤って設定することを防止できる。
【００１６】
請求項１に記載の発明によると、気筒判別手段は、エンジン始動時に気筒判別が完了してからパターン判定手段による判定結果が正常になるまでに発生パターンが異常であるとパターン判定手段が判定すると、気筒判別を未完了状態にして気筒判別を再開する。
【００１７】
この構成によれば、エンジン始動時において、基準位置信号またはカム角信号が異常であるにも関わらず、例えば基準位置信号とカム角信号との組合せが偶然正常な組合せと一致して気筒判別が完了しても、発生パターンが異常の場合には気筒判別を未完了状態にして気筒判別を再開する。
【００１８】
これにより、エンジン始動時に誤って気筒判別を完了しても気筒判別を再開できる。したがって、誤った気筒判別結果により設定されたエンジン回転位置に基づいて、燃料制御が継続されることを防止できる。
【００１９】
ここで、例えば断線やセンサ異常によりカム角信号が固定値になっており、エンジン始動時に基準位置信号と固定値のカム角信号との組合せが正常な組合せと一致して気筒判別が完了する場合、発生パターンが異常の場合に気筒判別を未完了状態にして気筒判別を再開しても、基準位置信号と固定値のカム角信号との組合せが正常な組合せと一致するので、再び気筒判別が完了することになる。
【００２０】
そこで、請求項２に記載の発明によると、気筒判別手段は、気筒判別を未完了状態にしてからパターン判定手段による判定結果が正常になると気筒判別を再開する。
これにより、気筒判別を未完了状態にして燃料噴射を停止すると、パターン判定手段による判定結果が正常になってから気筒判別を再開するので、気筒判別を誤る可能性が低下する。これにより、気筒判別の精度が向上する。
【００２１】
請求項３に記載の発明によると、回転位置設定手段は、エンジン始動時に気筒判別が完了してからパターン判定手段による判定結果が正常になるまで、各回の基準位置信号とカム角信号との組合せに基づいてエンジン回転位置を設定する。
【００２２】
この構成によれば、各回の基準位置信号とカム角信号との組合せが正常であれば、適切な気筒で燃料を燃焼させ速やかにエンジンを始動できる。
ここで、各回の基準位置信号とカム角信号との組合せに基づいてエンジン回転位置を設定する場合、適切な組合せに基づいて設定されたエンジン回転位置に基づいて適切な気筒で燃料が燃焼すれば、エンジンの回転数は速やかに所定回転数以上に上昇する。
【００２３】
そこで、請求項４に記載の発明によると、回転位置設定手段は、エンジン始動時に気筒判別が完了してからエンジンの回転数が所定回転数以上になるまで、各回の基準位置信号とカム角信号との組合せに基づいてエンジン回転位置を設定する。
【００２４】
この構成によれば、各回の基準位置信号とカム角信号との組合せが正常であれば、適切な気筒で燃料を燃焼させ速やかにエンジンを始動できる。
請求項５に記載の発明によると、パターン判定手段は、基準位置信号とカム角信号との発生パターンが複数回連続して正常であるか否かを判定する。
【００２５】
このように、基準位置信号とカム角信号との発生パターンが複数回連続して正常であるか否かを判定するので、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが１回だけ正常であるか否かを判定する場合よりも、エンジン回転位置を誤って設定する可能性を低減できる。
【００２６】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００２７】
【図１】本実施形態によるエンジン制御装置を示すブロック図。
【図２】（Ａ）はクランク角信号の発生構成を示す模式図であり、（Ｂ）はカム角信号の発生構成を示す模式図である。
【図３】（Ａ）はカム角信号異常時、（Ｂ）は基準位置信号異常時の基準位置信号とカム角信号とエンジン回転位置との関係を示すタイムチャート。
【図４】基準位置信号異常時の基準位置信号とカム角信号とエンジン回転位置との関係を示すタイムチャート。
【図５】回転位置設定処理１を示すフローチャート。
【図６】気筒判別処理１を示すフローチャート。
【図７】回転位置設定処理２を示すフローチャート。
【図８】気筒判別処理２を示すフローチャート。
【図９】断線によるカム角信号異常時の基準位置信号とカム角信号とエンジン回転位置との関係を示すタイムチャート。
【図１０】回転位置設定処理３を示すフローチャート。
【図１１】回転位置設定処理４を示すフローチャート。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図に基づいて説明する。図１に、車両に搭載される本実施形態の電子制御装置（ＥＣＵ：Electronic Control Unit）１０を示す。
ＥＣＵ１０は、例えば、ガソリンエンジン用のインジェクタの噴射制御および点火プラグの点火制御を行うエンジンＥＣＵであり、ＣＰＵ１２、ＲＯＭ１４、ＲＡＭ１６、ＳＲＡＭ（スタンバイＲＡＭ）２８、ＥＥＰＲＯＭ２０、入力回路３０および出力回路３２等から構成されている。
【００２９】
ＥＣＵ１０は、ＲＯＭ１４に記憶されている制御プログラムをＣＰＵ１２が実行することにより、各種センサが検出するアクセル開度、スロットル開度、車速、クランク角、カム角、イグニションスイッチ等の各種信号を入力回路３０を介して入力する。そして、これらセンサの検出信号に基づいて、図示しないインジェクタの噴射制御、点火プラグの点火制御等の制御信号を出力回路３２を介して出力する。
【００３０】
ＥＣＵ１０の制御プログラムが作業用に使用し、イグニションスイッチがオフされると電力供給が遮断されて記憶データが消失するＲＡＭ１６と異なり、イグニションスイッチのオン、オフに関わらず、ＳＲＡＭ１８にはバッテリから電力が供給される。したがって、ＳＲＡＭ１８は、バッテリの交換等により電力供給が遮断されない限り、記憶しているデータを保存する記憶部である。
【００３１】
ＥＥＰＲＯＭ２０は、書き換え可能な不揮発性の記憶部である。バッテリから電力供給が遮断されても、ＥＥＰＲＯＭ２０に記憶されているデータは保存される。
ＥＣＵ１０は、イグニションスイッチをオフして車両の運転を停止しても記憶する必要のあるデータを、ＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する。
【００３２】
図２に示すクランク角センサ４０は、クランク軸に固定されたクランクロータ５０の外周にクランクロータ５０と向き合って設けられている。クランクロータ５０の外周には、所定角度（例えば１０°）間隔で歯が形成されている。
【００３３】
尚、クランクロータ５０の外周に形成される歯の間隔は１０°に限るものではなく、１０°より小さくてもよいし、大きくてもよい。クランク角センサ４０は、クランク軸が１０°回転する毎（１０°ＣＡ毎）にパルス状の信号列であるクランク角信号を出力する。
【００３４】
クランクロータ５０の歯列の途中には、１個の歯を挟んで２個の歯が２箇所で連続して欠損した連欠けの欠歯部５２と、２個の歯が１箇所で欠損した単欠けの欠歯部５４とが１８０°反対側に形成されている。クランク角センサ４０が連欠けの欠歯部５２、単欠けの欠歯部５４を検出するときのクランク角信号は、気筒判別および１燃焼サイクルにおけるエンジン回転位置の設定を行うときの基準位置信号になる。
【００３５】
ＥＣＵ１０は、クランク角信号に基づいて１回転中におけるクランク軸の角度位置を検出するとともに、単位時間当たりのクランク角信号のパルス数を算出することにより、エンジン回転数を検出する。
【００３６】
カム角センサ６０は、カム軸に固定されたカムロータ７０の外周にカムロータ７０に向き合って設けられている。カム軸は、クランク軸に対して１／２の比率で回転するので、クランク軸が２回転（７２０°ＣＡ）する間に１回転する。カムロータ７０の外周には、クランク角度で１８０°ＣＡに相当する位置、つまりカム軸の回転方向に９０°離れた位置に、２個の歯７２が２箇所、１個の歯７４が２箇所、この順で形成されている。
【００３７】
２個の歯７２は、例えば、それぞれ＃１気筒および＃３気筒の圧縮上死点に対応して形成され、１個の歯７４は、例えば、それぞれ＃２気筒および＃４気筒の圧縮上死点に対応して形成されている。カム角センサ６０は、カムロータの歯７２、７４と向き合う位置に達したときにパルス状のカム角信号を出力する。カム角信号の信号数は、歯７２、７４の数に応じて２個、１個となる。
【００３８】
クランクロータ５０とカムロータ７０とは、図３に示すように、欠歯部５２、５４と歯７２、７４とが対応するようにクランク軸、カム軸にそれぞれ組み付けられている。
（基準位置信号とカム角信号との組合せ、および組合せの発生パターン）
図３に示すように、クランク角信号の連欠けの欠歯部５２、単欠けの欠歯部５４の位置を表わす基準位置信号と、２個の歯７２、１個の歯７４の位置を表わし基準位置信号に対応して発生するカム角信号の信号数との組合せは、１燃焼サイクルの角度範囲である７２０°ＣＡにおいて連欠けと２歯、単欠けと２歯、連欠けと１歯、単欠けと１歯の４通りであり、基準位置信号毎に異なっている。そして、基準位置信号とカム角信号の信号数との組合せは、連欠けと２歯、単欠けと２歯、連欠けと１歯、単欠けと１歯の順番で発生が繰り返される。
【００３９】
したがって、クランク角センサ４０が欠歯部５２、５４を正常に検出し、カム角センサ６０が歯７２、７４を正常に検出すれば、１燃焼サイクルにおいて１８０°ＣＡ毎に検出される基準位置信号とカム角信号との組合せはそれぞれ異なっている筈である。そして、前回検出された組合せから、今回検出されると期待される組合せを予測できる。
【００４０】
例えば、連欠けと１歯の組合せの次には、単欠けと１歯の組合せの信号が検出されると期待できる。したがって、図３の（Ａ）に示すカム角信号のように、連欠けと１歯の組合せの次には単欠けと１歯の組合せの信号が検出されると期待しているときに、単欠けとノイズのために２歯の組合せの信号が検出されたり、図３の（Ｂ）に示すように、連欠けと２歯の組合せの次には単欠けと２歯の組合せの信号が検出されると期待しているときに、クランク角信号の信号抜けのために連欠けと２歯の組合せの信号が検出されたりすると、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが異常になるので、基準位置信号またはカム角信号のいずれかが異常であると判定できる。
【００４１】
また、クランクロータの欠歯の構成は図２の（Ａ）と同じであるが、カムロータの歯の構成が図２の（Ｂ）に示す２歯、２歯、１歯、１歯ではなく、１歯、１歯、０歯、０歯であってもよい。この場合も、１燃焼サイクルにおける基準位置信号とカム角信号との組合せは４通りであり、基準位置信号毎に異なっている。
【００４２】
このカムロータの構成においては、基準位置信号とカム角信号との組合せは、連欠けと１歯、単欠けと１歯、連欠けと０歯、単欠けと０歯の順番で発生が繰り返される。したがって、前回検出された基準位置信号とカム角信号との組合せから、今回検出されると期待される組合せを予測できる。例えば、連欠けと１歯の組合せの次には単欠けと１歯の組合せの信号が検出されると期待できる。
【００４３】
したがって、図４に示すように、連欠けと１歯の組合せの次には単欠けと１歯の組合せの信号が検出されると期待しているときに、クランク角信号の信号抜けのために正常な位置とは異なる位置で単欠けの基準位置信号が発生し単欠けと０歯の組合せの信号が検出されると、発生パターンが異常であるから、基準位置信号またはカム角信号のいずれかが異常であると判定できる。
【００４４】
尚、基準位置信号として連欠け、単欠け以外に、例えば３連続の欠歯部が検出されると基準位置信号の異常であると判定でき、図３の例ではカム角信号として１歯、２歯以外に、０歯または３歯以上、図４の例ではカム角信号として２歯以上が検出されるとカム角信号が異常であると判定できる。
【００４５】
（エンジン回転位置）
ＥＣＵ１０は、１０°ＣＡ毎に検出されるクランク角信号を分周し、エンジン回転位置をカウントする回転位置カウンタを０から順に３０°ＣＡ毎に＋１カウントアップする回転位置更新処理を実行する。回転位置更新処理では、回転位置カウンタの値が２４になるときには、角度の合計が７２０°ＣＡとなるので、回転位置カウンタの値を０に戻す。
【００４６】
ＥＣＵ１０は、回転位置カウンタのカウンタ値によって、１燃焼サイクルにおけるエンジン回転位置を判定することにより、燃料を噴射して点火する気筒を特定する。
また、ＥＣＵ１０は、エンジン始動時に基準位置信号とカム角信号との組合せが正常であれば、この組合せに基づいて回転位置カウンタの値を設定し、気筒判別を完了する。
【００４７】
（回転位置設定処理１、気筒判別処理１）
次に、ＲＯＭ１４等に記憶されている制御プログラムをＣＰＵ１２が実行することにより、ＥＣＵ１０が実行する回転位置設定処理１（図５）と気筒判別処理１（図６）について説明する。図５のフローチャートは、１８０°ＣＡ毎にクランク角信号の基準位置信号が検出されると実行される。尚、図５以降のフローチャートにおいて「Ｓ」はステップを表わしている。
【００４８】
図５のＳ４００において、ＥＣＵ１０は気筒判別が完了しているか否かを判定する。気筒判別が完了していない場合（Ｓ４００：Ｎｏ）、ＥＣＵ１０はＳ４０２において気筒判別処理１を実行する。
【００４９】
図５のＳ４０２で実行される気筒判別処理１を図６に示す。図６のＳ４２０において、ＥＣＵ１０は、基準位置信号とカム角信号との組合せが、例えば図３のタイムチャートに示す、単欠けと２歯、連欠けと１歯、単欠けと１歯、連欠けと２歯のいずれか一つの正常な所定の組合せであるか否かを判定する。
【００５０】
基準位置信号とカム角信号との組合せが所定の組合せでなければ（Ｓ４２０：Ｎｏ）、ＥＣＵ１０は気筒判別完了とはせず本処理を終了する。したがって、基準位置信号とカム角信号との組合せが所定の組合せになるまで気筒判別は完了しない。
【００５１】
基準位置信号とカム角信号との組合せが所定の組合せであれば（Ｓ４２０：Ｙｅｓ）、今回の基準位置信号とカム角信号との組合せに基づいて回転位置カウンタを０、６、１２、１８のいずれかに設定し（Ｓ４２２）、気筒判別状態を「完了」に設定し（Ｓ４２４）、正常カウンタを１に設定する（Ｓ４２６）。図６の気筒判別処理が終了すると、ＥＣＵ１０は図５の処理を終了する。
【００５２】
正常カウンタは、図５の回転位置設定処理１において、今回の基準位置信号とカム角信号との組合せが正常であり、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが正常の場合にインクリメント（＋１）される。
【００５３】
つまり、正常カウンタが１の場合には、今回の組合せは正常であるが前回と今回との発生パターンはまだ正常ではない。正常カウンタが２になると、組合せの前回と今回との発生パターンは１回正常になり、正常カウンタが３になると、組合せの前回と今回との発生パターンは２回連続して正常になる。正常カウンタの値は、上限値までカウントされて初期値に戻らないように、上限値または所定値でガードされインクリメントが中止される。
【００５４】
図５のＳ４００において気筒判別が完了している場合（Ｓ４００：Ｙｅｓ）、ＥＣＵ１０は、基準位置信号とカム角信号とが正常な所定の組合せであるか否かを判定する（Ｓ４０４）。
【００５５】
基準位置信号とカム角信号とが所定の組合せではない場合（Ｓ４０４：Ｎｏ）、ＥＣＵ１０は、今回の基準位置信号またはカム角信号のいずれかが異常であると判断し、正常カウンタを０に設定し（Ｓ４０６）、Ｓ４１４に処理を移行する。
【００５６】
基準位置信号とカム角信号とが所定の組合せであれば（Ｓ４０４：Ｙｅｓ）、ＥＣＵ１０は前回の基準位置信号とカム角信号との組合せから、今回期待される組合せを算出する（Ｓ４０８）。例えば、前回が連欠けと１歯の組合せであれば、今回期待される組合せは単欠けと１歯の組合せであると算出する。
【００５７】
尚、前回の組合せ、または発生パターンが異常であった場合には、ＥＣＵ１０は、Ｓ４０８において、前回の組合せから今回期待される組合せとして今回検出した組合せを設定する。この処理は、図５以外の他のフローチャートでも同様である。正常カウンタが０であれば、前回の組合せ、または発生パターンが異常であったと判断できる。
【００５８】
そして、今回検出した組合せと前回の組合せから今回期待される組合せとが一致する場合（Ｓ４１０：Ｙｅｓ）、ＥＣＵ１０は正常カウンタをインクリメント（＋１）し（Ｓ４１２）、Ｓ４１４に処理を移行する。
【００５９】
今回検出した組合せと前回の組合せから今回期待される組合せとが一致しない、つまり基準位置信号とカム角信号との組合せの前回と今回との発生パターンが異常である場合（Ｓ４１０：Ｎｏ）、ＥＣＵ１０は、今回の基準位置信号またはカム角信号のいずれかが異常であると判断し、正常カウンタを０に設定し（Ｓ４０６）、Ｓ４１４に処理を移行する。
【００６０】
ＥＣＵ１０は、Ｓ４１４において正常カウンタが所定回数以上であれば（Ｓ４１４：Ｙｅｓ）、今回検出した基準位置信号とカム角信号との組合せに基づき、回転位置カウンタの値を設定する（Ｓ４１６）。例えば図３に示すタイムチャートであれば、単欠けと２歯、連欠けと１歯、単欠けと１歯、連欠けと２歯の組合せを検出すると、回転位置カウンタを０、６、１２、１８に設定する。これは、何らかの原因で回転位置カウンタのカウント値がずれた場合に、正常なカウント値に設定し直すためである。
【００６１】
図５の回転位置設定処理１では、Ｓ４１４において所定回数を２に設定している。これにより、気筒判別が完了したときも含め、気筒判別完了後に、基準位置信号とカム角信号との前回と今回との組合せがそれぞれ所定の組合せであり、前回と今回とで２回連続して発生する組合せの発生パターンが正常であれば、つまり発生パターンが１回正常であれば、Ｓ４１６においてＥＣＵ１０は、今回の基準位置信号とカム角信号との組合せに基づいて回転位置カウンタの値を回転位置更新処理に関わらず設定する。
【００６２】
尚、所定回数の値は２に限る必要はない。所定回数を３以上に設定すれば、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが、３回以上連続する組合せについて今回の組合せまで正常であるか否か、つまり発生パターンが複数回連続して正常であるか否かを判定することになる。
【００６３】
正常カウンタが所定回数未満であれば（Ｓ４１４：Ｎｏ）、ＥＣＵ１０は、回転位置カウンタの値を設定せずに本処理を終了する。図５の処理で回転位置カウンタの値を設定しないと、回転位置更新処理により回転位置カウンタの値の更新が継続される。
【００６４】
ここで、図３の（Ａ）に示すように、基準位置信号が単欠けのときにカム角信号がノイズのために２歯と誤検出されると、基準位置信号とカム角信号との組合せとしては単欠けと２歯であり所定の組合せのため、基準位置信号とカム角信号との組合せの前回と今回との発生パターンを判定せず今回の基準位置信号とカム角信号との組合せだけを判定する場合には、単欠けとノイズによる２歯の組合せに基づいて、点線２００に示すように回転位置カウンタは０に誤設定される。
【００６５】
しかし、誤検出する前の連欠けと１歯の組合せから期待される今回の組合せは単欠けと１歯であるから、基準位置信号とカム角信号との組合せの前回と今回との発生パターンを判定することにより、Ｓ４１０の判定は「Ｎｏ」となり正常カウンタは０に設定される。
【００６６】
これにより、ノイズの発生によりカム角信号の１歯を２歯と誤検出しても、回転位置カウンタの値は単欠けと２歯に対応する０に設定されず、回転位置更新処理による更新が正常に継続される。
【００６７】
また、図３の（Ｂ）に点線で示すように、クランク角信号の信号抜けのために基準位置信号の単欠けが連欠けと検出されると、基準位置信号とカム角信号との組合せとしては連欠けと２歯であり所定の組合せのため、基準位置信号とカム角信号との組合せの前回と今回との発生パターンを判定せず今回の基準位置信号とカム角信号との組合せだけを判定する場合には、信号抜けによる連欠けと２歯の組合せに基づいて、点線２１０に示すように回転位置カウンタは１８に誤設定される。
【００６８】
しかし、誤検出する前の連欠けと２歯の組合せから期待される今回の組合せは単欠けと２歯であるから、基準位置信号とカム角信号との前回と今回との発生パターンを判定することにより、Ｓ４１０の判定は「Ｎｏ」となり、正常カウンタは０に設定される。
【００６９】
これにより、信号抜けにより基準位置信号の単欠けを連欠けと誤検出しても、回転位置カウンタの値は連欠けと２歯に対応する１８に設定されず、回転位置更新処理による更新が正常に継続される。
【００７０】
図４に示すタイムチャートの場合には、クランク角信号の信号抜けのために正常な位置とは異なる位置で単欠けの基準位置信号が発生し単欠けと０歯の組合せの信号が検出されると、基準位置信号とカム角信号との組合せとしては単欠けと０歯であり所定の組合せのため、基準位置信号とカム角信号との組合せの前回と今回との発生パターンを判定せず今回の基準位置信号とカム角信号との組合せだけを判定する場合には、信号抜けによる単欠けと０歯の組合せに基づいて、点線２２０に示すように、所定位置とは異なる角度位置で回転位置カウンタは１２に誤設定される。
【００７１】
しかし、誤検出する前の連欠けと１歯の組合せから期待される今回の組合せは単欠けと１歯であるから、基準位置信号とカム角信号との前回と今回との組合せの発生パターンを判定することにより、Ｓ４１０の判定は「Ｎｏ」となり、正常カウンタは０に設定される。
【００７２】
これにより、クランク角信号の信号抜けのために正常な位置とは異なる位置で単欠けの基準位置信号を誤検出しても、回転位置カウンタの値は単欠けと０歯に対応する１２に設定されず、回転位置更新処理による更新が正常に継続される。
【００７３】
このように、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが正常であるか否かを判定するので、基準位置信号とカム角信号との組合せは正常であっても、基準位置信号またはカム角信号のいずれかに異常がある場合に、その異常を検出できる。
【００７４】
そして、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが異常である場合に回転位置カウンタの値を設定しないことにより、回転位置更新処理により回転位置カウンタの更新が継続されるので、適切な気筒で燃料を燃焼できる。
【００７５】
図５の回転位置設定処理１では、Ｓ４０４〜Ｓ４１４の処理が本発明のパターン判定手段が実行する機能に相当し、Ｓ４１６の処理が本発明の回転位置設定手段が実行する機能に相当する。
【００７６】
また、ＥＣＵ１０は、本発明のエンジン制御装置に相当し、本発明のパターン判定手段および回転位置設定手段が実行する機能を実現する。
（回転位置設定処理２、気筒判別処理２）
図７に他の回転位置設定処理２のフローチャートを示し、図８に他の気筒判別処理２のフローチャートを示す。図９に示すタイムチャートは、図４のタイムチャートにおいて、クランク角信号の抜けはないが、断線またはカム角センサ６０の異常によりカム角信号の出力レベルがロウに固定されている例である。
【００７７】
図９の点線に示すように、カム角信号が本来１歯で検出される位置で断線等により０歯と検出されても、連欠けと０歯または単欠けと０歯の組合せは正常な所定の組合せであるから、エンジン始動時に例えば誤検出で連欠けと０歯の組合せを検出すると、気筒判別は完了したと誤判定される
次の単欠けと０歯の組合せも所定組合せであり、連欠けと０歯、単欠けと０歯の発生パターンも正常であるから燃料は噴射される。しかし、次の連欠けと０歯の組合せを検出すると、前回の単欠けと断線による誤検出の０歯と、今回の連欠けと０歯との発生パターンは異常である。
【００７８】
このように、エンジン始動時に気筒判別が一旦完了してから発生パターンの異常を検出すると、図７および図８のフローチャートでは、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが、所定回数連続する基準位置信号とカム角信号との組合せについて今回の組合せまで正常であると判定されるまで気筒判別を再開しない。以下、「基準位置信号とカム角信号との組合せの前回と今回との発生パターンが、所定回数連続する基準位置信号とカム角信号との組合せについて今回の組合せまで正常」を、単に「連続する組合せについて発生パターンが正常」とも言う。
【００７９】
これにより、エンジン始動時に気筒判別が完了してから発生パターンの異常を検出すると、「連続する組合せについて発生パターンが正常」になるまで、燃料の誤噴射を防止する。
【００８０】
以下に、図７および図８の具体的な処理について説明する。図７において、Ｓ４４０、Ｓ４４４〜Ｓ４５２の処理は図５のＳ４００、Ｓ４０４〜Ｓ４１２の処理と実質的に同一である。
【００８１】
図７のＳ４４０において、ＥＣＵ１０は気筒判別が完了しているか否かを判定する。気筒判別が完了していない場合（Ｓ４４０：Ｎｏ）、ＥＣＵ１０はＳ４４２において、図８の気筒判別処理２を実行する。
【００８２】
図８の気筒判別処理２のＳ４７０において、ＥＣＵ１０は、気筒判別停止フラグがオンであるか否かを判定する。気筒判別停止フラグの初期値はオフに設定されている。そして、図７の回転位置設定処理２において、気筒判別完了後に、「連続する組合せについて発生パターンが正常」になる前に、基準位置信号とカム角信号との組合せ、あるいは基準位置信号とカム角信号との前回と今回との発生パターンが異常であれば、気筒判別停止フラグはオンに設定される。
【００８３】
気筒判別停止フラグがオフの場合（Ｓ４７０：Ｎｏ）、ＥＣＵ１０は基準位置信号とカム角信号との組合せが所定の組合せであるか否かを判定する（Ｓ４７２）。所定の組合せでなければ（Ｓ４７２：Ｎｏ）、ＥＣＵ１０は気筒判別処理２を終了する。図８の気筒判別処理２が終了すると、ＥＣＵ１０は図７の処理を終了する。
【００８４】
所定の組合せであれば（Ｓ４７２：Ｙｅｓ）、ＥＣＵ１０は、Ｓ４８６に処理を移行して回転位置カウンタを０、６、１２、１８のいずれかに設定し（Ｓ４８６）、気筒判別状態を「完了」に設定し（Ｓ４８８）、気筒判別停止フラグをオフに設定し（Ｓ４９０）、正常カウンタを１に設定する（Ｓ４９２）。
【００８５】
Ｓ４７２の判定において、図９の点線で示すように、カム角信号が本来１歯で検出される位置で断線等により０歯と検出されても、連欠けと０歯、単欠けと０歯の組合せはそれぞれ正常な所定の組合せであるから、エンジン始動時に誤検出で連欠けと０歯の組合せを検出しても、基準位置信号とカム角信号の組合せは所定の組合せであると判定される。
【００８６】
その結果、断線等がなければ連欠けと１歯の組合せが検出されることにより、本来であれば実線に示すように回転位置カウンタに正常な１８が設定されるところ、点線２３０に示すように、回転位置カウンタに誤った６が設定される。そして、気筒判別は完了したと誤判定されるので燃料が誤噴射される。
【００８７】
そして、基準位置信号が連欠けで、断線等によりカム角信号が０歯と検出されることにより気筒判別が完了すると、図７の回転位置設定処理２において、次の単欠けと断線等により誤検出された０歯とが所定の組合せであり（Ｓ４４４：Ｙｅｓ）、前回の連欠けと誤検出の０歯と、今回の単欠けと誤検出の０歯との発生パターンが正常と誤判定されるので（Ｓ４５０：Ｙｅｓ）、気筒判別完了状態は「完了」のままである。
【００８８】
しかし、単欠けと誤検出の０歯の次に検出される連欠けと０歯の組合せは正常であるが（Ｓ４４４：Ｙｅｓ）、前回の単欠けと誤検出の０歯、今回の連欠けと０歯の発生パターンは異常であるから（Ｓ４５０：Ｎｏ）、正常カウンタは０に設定される（Ｓ４４６）。
【００８９】
図７の回転位置設定処理２では、Ｓ４５４において所定回数を３に設定している。したがって、気筒判別を誤判定したときの連欠けと誤検出の０歯と、その次の単欠けと誤検出の０歯との発生パターンが正常と誤判定されて正常カウンタが２になってもＳ４５４の判定は「Ｎｏ」となるので、Ｓ４５８において回転位置状態は確定に設定されない。回転位置状態の初期値は「未確定」に設定されているので、Ｓ４５８が実行されるまで「未確定」のままである。
【００９０】
したがって、前回の単欠けと誤検出の０歯と、今回の連欠けと０歯との発生パターンが異常であり（Ｓ４５０：Ｎｏ）、正常カウンタが０に設定され（Ｓ４４６）、正常カウンタが所定回数未満になると（Ｓ４５４：Ｎｏ）、エンジン回転位置は未確定であり（Ｓ４６０：Ｎｏ）、正常カウンタは０であるから（Ｓ４６２：Ｙｅｓ）、気筒判別状態は「未完了」に設定され（Ｓ４６４）、気筒判別停止フラグは「オン」に設定される（Ｓ４６６）。
【００９１】
これにより、次回の回転位置設定処理２のＳ４４０で気筒判別が未完了と判定されるので（Ｓ４４０：Ｎｏ）、図８の気筒判別処理２が実行される。
気筒判別が未完了であり、気筒判別停止フラグがオンに設定されている状態では、図９のタイムチャートに示すようにカム角信号が断線によりロウレベルに固定されていると、図９に示す発生パターンの異常を判定してから後、図８のＳ４７４〜Ｓ４８２を実行しても、図８のＳ４８４において正常カウンタが所定回数の２以上になることはない。
【００９２】
したがって、Ｓ４８４の所定回数を２に設定しておけば、気筒判別は未完了のままである。これにより、図９の発生パターンの異常を判定してから後、燃料は誤噴射されない。尚、図８のＳ４８４の所定回数は２ではなく、図７のＳ４５４と同じ３であってもよい。
【００９３】
図７の回転位置設定処理２および図８の気筒判別処理２では、図７のＳ４４４〜Ｓ４５４、図８のＳ４７４〜Ｓ４８４の処理が本発明のパターン判定手段が実行する機能に相当し、図７のＳ４５６の処理が本発明の回転位置設定手段が実行する機能に相当し、図７の
Ｓ４６４およびＳ４６６、図８のＳ４７０、Ｓ４７２、Ｓ４８６〜Ｓ４９２の処理が本発明の気筒判別手段が実行する機能に相当する。
【００９４】
（回転位置設定処理３）
図１０に他の回転位置設定処理３のフローチャートを示す。図１０のＳ５０２で実行する気筒判別処理１は図６の気筒判別処理１と同じである。
【００９５】
図１０において、Ｓ５００〜Ｓ５１２の処理は図５のＳ４００〜Ｓ４１２の処理と実質的に同一である。
図１０のＳ５１４において正常カウンタが所定回数以上であれば（Ｓ５１４：Ｙｅｓ）、つまり「連続する組合せについて発生パターンが正常」であれば、ＥＣＵ１０は、回転位置状態を「確定」に設定し（Ｓ５１６）、今回の基準位置信号とカム角信号との組合せに基づきエンジン回転位置を設定する（Ｓ５１８）。ただし、Ｓ５０４の判定が「Ｎｏ」の場合にＳ５１８が実行される可能性があるので、今回の基準位置信号とカム角信号との組合せが所定の組合せでない場合はエンジン回転位置を設定しない。
【００９６】
正常カウンタが所定回数未満であれば（Ｓ５１４：Ｎｏ）、ＥＣＵ１０は、エンジン回転位置が確定しているか否かを判定する（Ｓ５２０）。エンジン回転位置が確定している場合（Ｓ５２０：Ｙｅｓ）、ＥＣＵ１０は本処理を終了する。これにより、ＥＣＵ１０は、回転位置更新処理により回転位置カウンタの更新を継続する。
【００９７】
エンジン回転位置が確定していない場合（Ｓ５２０：Ｎｏ）、ＥＣＵ１０は、今回の基準位置信号とカム角信号との組合せに基づきエンジン回転位置を設定する（Ｓ５１８）。つまり、エンジン始動時に、「連続する組合せについて発生パターンが正常」になるまで、ＥＣＵ１０は、今回の基準位置信号とカム角信号との組合せに基づいてエンジン回転位置を設定する。
【００９８】
これにより、今回の基準位置信号とカム角信号との組合せが正常であれば、エンジン始動時に、「連続する組合せについて発生パターンが正常」になるまで燃料を噴射して適切な気筒で燃焼できる。その結果、エンジンを速やかに始動できる。
【００９９】
図１０の回転位置設定処理３では、Ｓ５００〜Ｓ５１４の処理が本発明のパターン判定手段が実行する機能に相当し、Ｓ５１８の処理が本発明の回転位置設定手段が実行する機能に相当する。
【０１００】
（回転位置設定処理４）
図１１に他の回転位置設定処理４のフローチャートを示す。図１１のＳ５３２で実行する気筒判別処理１は図６の気筒判別処理１と同じである。
【０１０１】
図１１において、Ｓ５３０〜Ｓ５４２、Ｓ５４６およびＳ５４８の処理は図５のＳ４００〜Ｓ４１６の処理と実質的に同一である。
図１１のＳ５４４においてＥＣＵ１０は、エンジン回転数が所定回転数以上であるか否かを判定する。所定回転数はアイドル回転数よりも低い値に設定されている。
【０１０２】
エンジン回転数が所定回転数未満であれば（Ｓ５４４：Ｎｏ）、ＥＣＵ１０は、Ｓ５４６において正常カウンタが所定回数以上であるか否かを判定せず、すなわち基準位置信号とカム角信号との組合せの前回と今回との発生パターンが正常であるか否かに関わらず、今回の基準位置信号とカム角信号との組合せに基づき、エンジン回転位置を設定する（Ｓ５４８）。ただし、Ｓ５３４の判定が「Ｎｏ」の場合にＳ５４８が実行される可能性があるので、今回の基準位置信号とカム角信号との組合せが所定の組合せでない場合はエンジン回転位置を設定しない。
【０１０３】
これにより、今回の基準位置信号とカム角信号との組合せが正常であれば、エンジン始動時にエンジン回転数が所定回転数以上に上昇するまでに燃料を噴射して適切な気筒で燃焼できる。その結果、エンジンを速やかに始動できる。
【０１０４】
エンジン回転数が所定回転数以上であれば（Ｓ５４４：Ｙｅｓ）、ＥＣＵ１０は、エンジン始動時に適切な気筒で燃料が燃焼されエンジン回転数が所定回転数以上に上昇したと判断し、正常カウンタが所定回数以上であるか否かを判定する（Ｓ５４６）。
【０１０５】
正常カウンタが所定回数以上であれば（Ｓ５４６：Ｙｅｓ）、今回の基準位置信号とカム角信号との組合せに基づいてエンジン回転位置を設定する。
正常カウンタが所定回数未満であれば（Ｓ５４６：Ｎｏ）、ＥＣＵ１０はエンジン回転位置を設定せずに本処理を終了する。
【０１０６】
図１１の回転位置設定処理４では、Ｓ５３０〜Ｓ５４２、およびＳ５４６の処理が本発明のパターン判定手段が実行する機能に相当し、Ｓ５４４およびＳ５４８の処理が本発明の回転位置設定手段が実行する機能に相当する。
【０１０７】
［他の実施形態］
上記実施形態の回転位置設定処理および気筒判別処理において正常カウンタと比較する所定回数は、基準位置信号およびカム角信号の構成に応じて適宜設定すればよい。
【０１０８】
また、本実施形態では、図７に示す回転位置設定処理２において、気筒判別状態を「未完了」に設定してから図８の気筒判別処理２において、基準位置信号とカム角信号との組合せの前回と今回との発生パターンが、所定回数連続する基準位置信号とカム角信号との組合せについて今回の組合せまで正常と判断されるまで気筒判別を再開しない。
【０１０９】
これに対し、図７に示す回転位置設定処理２において、気筒判別状態を「未完了」に設定してから図６の気筒判別処理１を実行し、基準位置信号とカム角信号との組合せが正常であれば気筒判別をすぐに再開してもよい。
【０１１０】
本発明は、ガソリンエンジンに限らず、ディーゼルエンジン等の内燃機関を駆動源とする車両に適用できる。
また、上記実施形態では、パターン判定手段、回転位置設定手段および気筒判別手段の機能を、制御プログラムにより機能が特定されるＥＣＵ１０により実現している。これに対し、上記複数の手段の機能の少なくとも一部を、回路構成自体で機能が特定されるハードウェアで実現してもよい。
【０１１１】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【０１１２】
１０：ＥＣＵ（エンジン制御装置、パターン判定手段、回転位置設定手段、気筒判別手段）、４０：クランク角センサ、６０：カム角センサ
【図１】
0005556760.tif 000002
【図２】
0005556760.tif 000003
【図３】
0005556760.tif 000004
【図４】
0005556760.tif 000005
【図５】
0005556760.tif 000006
【図６】
0005556760.tif 000007
【図７】
0005556760.tif 000008
【図８】
0005556760.tif 000009
【図９】
0005556760.tif 000010
【図１０】
0005556760.tif 000011
【図１１】
0005556760.tif 000012