(57)【要約】【課題】逆転検出専用の回転角センサを設けなくても、エンジンの正転／逆転を判定する機能を持たせる。【解決手段】エンジン１１の正転時にはピストン３３が上死点まで上昇して筒内圧が上昇するが、逆転時にはピストン３３が下降して筒内圧が低下するという特徴がある。そこで、ＥＣＵ２９は、圧縮行程の気筒のピストン３３が上死点に至る前に圧縮行程の気筒の筒内圧（筒内圧センサ２８の検出値）が上昇するか低下するかを判別し、筒内圧が上昇する場合は正転と判定し、筒内圧が低下する場合は逆転と判定する。また、膨張行程の気筒は、正転時にはピストン３３が下降して排気バルブ３２が開くまで筒内圧が低下するが、逆転時にはピストン３３が上昇して筒内圧が上昇するため、膨張行程の気筒の排気バルブ３２が開く前に膨張行程の気筒の筒内圧が上昇するか否かによって逆転を検出しても良い。【選択図】  図１
2004324498.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のクランク角を検出するクランク角検出手段と、
内燃機関の各気筒の筒内圧を検出する筒内圧検出手段と、
前記クランク角検出手段の検出値と前記筒内圧検出手段の検出値との関係に基づいて内燃機関の正転／逆転を判定する回転方向判定手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項２】
前記回転方向判定手段は、前記クランク角検出手段の検出値と前記筒内圧検出手段の検出値とに基づいて圧縮行程の気筒のピストンが上死点に至る前に当該圧縮行程の気筒の筒内圧が低下したと判断されるときに内燃機関の逆転と判定することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記回転方向判定手段は、前記クランク角検出手段の検出値と前記筒内圧検出手段の検出値とに基づいて膨張行程の気筒の排気バルブが開く前に当該膨張行程の気筒の筒内圧が上昇したと判断されるときに内燃機関の逆転と判定することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項４】
前記回転方向判定手段は、前記クランク角検出手段の検出値と前記筒内圧検出手段の検出値とに基づいて、圧縮行程の気筒のピストンが上死点に至る前に当該圧縮行程の気筒の筒内圧が低下したと判断されるときに内燃機関の逆転と判定する手段と、膨張行程の気筒の排気バルブが開く前に当該膨張行程の気筒の筒内圧が上昇したと判断されるときに内燃機関の逆転と判定する手段とを併用することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項５】
前記回転方向判定手段で逆転が検出される直前のクランク角検出手段の検出値と、逆転検出から内燃機関が停止するまでの前記クランク角検出手段の検出値の変化量とに基づいて内燃機関の停止位置を検出する停止位置検出手段を備えていることを特徴とする請求項１乃至４のいずれかに記載の内燃機関の制御装置。
【請求項６】
前記クランク角検出手段は、内燃機関の回転に同期してクランク角パルス信号を出力するクランク角センサと、前記クランク角パルス信号をカウントするクランク角カウンタとを有し、
前記クランク角カウンタは、前記回転方向判定手段で内燃機関の正転が検出されている期間には、前記クランク角センサから出力されるクランク角パルス信号をアップカウントし、内燃機関の逆転が検出されている期間には、前記クランク角パルス信号をダウンカウントし、
前記クランク角検出手段は、前記クランク角カウンタのカウント値に基づいて内燃機関のクランク角を検出し、
前記停止位置検出手段は、内燃機関の停止時の前記クランク角カウンタのカウント値に基づいて内燃機関の停止位置を検出することを特徴とする請求項５に記載の内燃機関の制御装置。
【請求項７】
前記クランク角カウンタは、正転時には前記クランク角パルス信号の立ち上がりエッジ又は立ち下がりエッジのいずれか一方のエッジをカウントし、逆転時には正転時と反対側のエッジをカウントすることを特徴とする請求項６に記載の内燃機関の制御装置。
【請求項８】
前記クランク角カウンタは、内燃機関の回転方向が反転した直後の最初のクランク角パルス信号をカウントしないことを特徴とする請求項６又は７に記載の内燃機関の制御装置。
【請求項９】
前記回転方向判定手段は、前記筒内圧検出手段の異常時には正転／逆転の判定を行わないことを特徴とする請求項１乃至８のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の正転／逆転を判定する機能を備えた内燃機関の制御装置に関するものである。
【０００２】
【従来の技術】
一般に、内燃機関の運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して燃料噴射制御や点火制御を行うようにしているが、始動時は、スタータによりクランキングして特定気筒（クランク角基準位置）の判別を完了するまでは、気筒判別やクランク角の検出を行うことができない。
【０００３】
そこで、近年、特許文献１（特開２００２−３９０３８号公報）等に記載されているように、内燃機関の停止時に、その停止位置を検出してメモリに記憶しておき、次の始動時にメモリに記憶されている停止位置を基準にして気筒判別やクランク角の検出を行い、燃料噴射制御や点火制御を開始することで、始動性や始動時の排気エミッションを向上させるようにしたものがある。
【０００４】
ところで、内燃機関の停止時に、回転トルクが圧縮上死点付近の圧縮力よりも小さくなった段階で、ピストンが圧縮上死点を乗り越えられずに逆転することがあるため、内燃機関の停止位置を正確に検出するには、内燃機関の正転／逆転を判定する機能を設ける必要がある。クランク角センサやカム角センサでは、正転／逆転を検出することができないためである。
【０００５】
従来の正転／逆転判定機能は、特許文献２（特許第３１８６５２４号公報）に記載されているように、クランク軸に固定されたシグナルロータの回転方向に沿って２つのセンサ（通常のクランク角センサと逆転検出専用の回転角センサ）を所定クランク角の間隔で配置し、シグナルロータの回転に同期して２つのセンサから両者の配置間隔に相当する位相差（時間差）のある２つのパルス信号を出力し、これら２つのパルス信号の位相を比較してどちらのパルス信号の位相が先になるかで内燃機関の正転／逆転を判定するようにしている。
【０００６】
【特許文献１】
特開２００２−３９０３８号公報（第３頁等）
【特許文献２】
特許第３１８６５２４号公報（第４頁〜第１０頁等）
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来構成では、内燃機関の正転／逆転を判定するために、逆転検出専用の回転角センサを設ける必要があるという欠点がある。
【０００８】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、逆転検出専用の回転角センサを設けなくても、内燃機関の正転／逆転を判定する機能を持たせることができる内燃機関の制御装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の制御装置は、内燃機関のクランク角を検出するクランク角検出手段と、内燃機関の各気筒の筒内圧を検出する筒内圧検出手段とを備え、前記クランク角検出手段の検出値と前記筒内圧検出手段の検出値との関係に基づいて回転方向判定手段によって内燃機関の正転／逆転を判定するようにしたものである。本発明は、筒内圧検出手段で検出する筒内圧の情報を利用して正転／逆転を判定するところに特徴があるが、筒内圧の情報は、逆転検出以外の用途（例えば失火検出、ノック検出等）にも利用できるため、筒内圧検出手段は、逆転検出のためだけに設ける必要はなく、広範囲に有効に利用できる。また、逆転検出以外の用途（例えば失火検出、ノック検出等）で筒内圧検出手段が設けられている内燃機関に本発明を適用する場合は、逆転検出用のセンサを新たに設ける必要がなく、低コストで本発明を実施できる。
【００１０】
ところで、圧縮行程の気筒は、正転時にはピストンが上死点まで上昇して筒内圧が上昇するが、逆転時にはピストンが下降して筒内圧が低下するという特徴がある。この点に着目して、請求項２のように、クランク角検出手段の検出値と筒内圧検出手段の検出値とに基づいて圧縮行程の気筒のピストンが上死点に至る前に当該圧縮行程の気筒の筒内圧が低下したと判断されるときに内燃機関の逆転と判定するようにしても良い。このようにすれば、クランク角検出手段の検出値から圧縮行程の気筒を判別して、当該圧縮行程の気筒の筒内圧の上昇／低下を判定することで、内燃機関の正転／逆転を精度良く判定することができる。
【００１１】
また、膨張行程の気筒は、正転時にはピストンが下降して排気バルブが開くまで筒内圧が低下するが、逆転時にはピストンが上昇して筒内圧が上昇するという特徴がある。この点に着目して、請求項３のように、クランク角検出手段の検出値と筒内圧検出手段の検出値とに基づいて膨張行程の気筒の排気バルブが開く前に当該膨張行程の気筒の筒内圧が上昇したと判断されるときに内燃機関の逆転と判定するようにしても良い。このようにすれば、クランク角検出手段の検出値から膨張行程の気筒を判別して、当該膨張行程の気筒の排気バルブが開く前の筒内圧の低下／上昇を判定することで、内燃機関の正転／逆転を精度良く判定することができる。
【００１２】
ところで、圧縮行程では、排気バルブは閉弁状態に維持されるが、吸気バルブは、吸気効率を上げるために圧縮行程の途中まで開弁される場合がある（図７参照）。この場合、圧縮行程の気筒が吸気バルブ開弁状態になっていると、圧縮行程の気筒でも筒内圧が大気圧付近となって変化しなくなるため、逆転を検出することができない。しかし、圧縮行程の気筒が吸気バルブ開弁状態であっても、膨張行程の気筒は排気バルブ閉弁状態になっているので（図７参照）、膨張行程の気筒の筒内圧の低下／上昇を判定することで正転／逆転の判定は可能である。
【００１３】
また、膨張行程では、吸気バルブは閉弁状態に維持されるが、排気バルブは、排気効率を上げるために膨張行程の途中から開弁される場合がある（図７参照）。この場合、膨張行程の気筒が排気バルブ開弁状態になると、膨張行程の気筒でも筒内圧が大気圧付近となって変化しなくなるため（図６参照）、逆転を検出することができない。しかし、膨張行程の気筒が排気バルブ開弁状態になっても、圧縮行程の気筒は吸気バルブ閉弁状態になっているので（図７参照）、圧縮行程の気筒の筒内圧の上昇／低下を判定することで正転／逆転の判定は可能である。
【００１４】
以上の点を考慮して、請求項４のように、圧縮行程の気筒の筒内圧による正転／逆転の判定と膨張行程の気筒の筒内圧による正転／逆転の判定とを併用するようにしても良い。このようにすれば、圧縮行程の気筒が吸気バルブ開弁状態であったり、或は、膨張行程の気筒が排気バルブ開弁状態であっても、正転／逆転の判定を行うことができる。
【００１５】
また、請求項５のように、逆転が検出される直前のクランク角検出手段の検出値と、逆転検出から内燃機関が停止するまでのクランク角検出手段の検出値の変化量とに基づいて内燃機関の停止位置を停止位置検出手段により検出するようにしても良い。このようにすれば、内燃機関の停止時に逆転が発生しても、その逆転量を検出して内燃機関の停止位置を精度良く検出することができ、この停止位置の情報を次の始動時の初期位置の情報としてメモリに記憶しておくことができる。これにより、次の始動時に、メモリに記憶されている停止位置の情報（始動時の初期位置の情報）を基準にして気筒判別やクランク角の検出を精度良く行うことができ、始動性や始動時の排気エミッションを向上させることができる。
【００１６】
この場合、請求項６のように、クランク角検出手段は、内燃機関の回転に同期してクランク角パルス信号を出力するクランク角センサと、前記クランク角パルス信号をカウントするクランク角カウンタとを有る構成とすると共に、前記クランク角カウンタは、内燃機関の正転が検出されている期間には、クランク角センサから出力されるクランク角パルス信号をアップカウントし、内燃機関の逆転が検出されている期間には、前記クランク角パルス信号をダウンカウントする構成とし、前記クランク角カウンタのカウント値に基づいて内燃機関のクランク角を検出し、内燃機関の停止時の前記クランク角カウンタのカウント値に基づいて内燃機関の停止位置を検出するようにすると良い。このようにすれば、逆転が発生しても、クランク角カウンタのカウント値とクランク角との対応関係を正確に保つことができ、クランク角カウンタのカウント値からクランク角や停止位置を簡単且つ正確に求めることができる。
【００１７】
ところで、クランク角パルス信号の立ち上がりエッジのクランク角と立ち下がりエッジのクランク角は、正転時と逆転とで反対になる。例えば、正転時の立ち上がりエッジのクランク角は、逆転には立ち下がりエッジのクランク角となる。
【００１８】
この点を考慮して、請求項７のように、クランク角カウンタは、正転時にはクランク角パルス信号の立ち上がりエッジ又は立ち下がりエッジのいずれか一方のエッジをカウントし、逆転時には正転時と反対側のエッジをカウントするようにすると良い。このようにすれば、クランク角パルス信号のカウントタイミング（クランク角）を正転時と逆転時とで一致させることができ、クランク角や停止位置の検出精度を高めることができる。
【００１９】
また、回転方向が反転した直後の最初のクランク角パルス信号のクランク角は、回転方向が反転する直前の最後のクランク角パルス信号のクランク角と同じであるため、回転方向が反転した直後の最初のクランク角パルス信号をカウントすると、１カウント分に相当する検出誤差が生じてしまう。
【００２０】
この対策として、請求項８のように、クランク角カウンタは、内燃機関の回転方向が反転した直後の最初のクランク角パルス信号をカウントしないようにすると良い。このようにすれば、回転方向が反転する前後で、クランク角カウンタのカウント値とクランク角との関係が１カウントずれることを防止することができる。
【００２１】
また、請求項９のように、筒内圧検出手段の異常時には正転／逆転の判定を行わないようにすると良い。これにより、筒内圧検出手段の異常による正転／逆転の誤判定を未然に防止することができる。
【００２２】
【発明の実施の形態】
［実施形態（１）］
以下、本発明の実施形態（１）を図１乃至図４に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば吸気ポート噴射式のエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００２３】
また、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７に、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２４】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比又はリーン／リッチ等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられている。
【００２５】
また、エンジン１１のシリンダブロックには、冷却水温を検出する水温センサ２５や、エンジン１１のクランク角を検出するクランク角センサ２６（クランク角検出手段）が取り付けられている。このクランク角センサ２６は、エンジン１１のクランク軸（図示せず）に嵌着されたシグナルロータ２７の外周に対向するように配置され、該シグナルロータ２７の外周には、所定クランク角毎（例えば１０℃Ａ毎）に歯２７ａが形成され、該シグナルロータ２７の外周の特定のクランク角位置には、１〜３個分の歯２７ａが欠けた欠歯部が形成されている。これにより、図４に示すように、エンジン１１の回転に伴って欠歯部以外のクランク角領域では、所定クランク角毎（例えば１０℃Ａ毎）にクランク角センサ２６から等間隔のクランク角パルス信号が出力され、欠歯部（特定のクランク角位置）では、パルス間隔の長くなる不等間隔のクランク角パルス信号が出力され、この不等間隔のクランク角パルス信号によってクランク角基準位置が検出される。
【００２６】
また、エンジン１１のシリンダヘッドには、各気筒毎に筒内圧を検出する筒内圧センサ２８（筒内圧検出手段）が設けられている。各筒内圧センサ２８は、点火プラグ２１と一体化したタイプのものを用いても良いし、点火プラグ２１とは別体のセンサ部を燃焼室内に臨ませるように取り付けるタイプのものを用いても良い。
【００２７】
前述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２９に入力される。このＥＣＵ２９は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００２８】
また、ＥＣＵ２９は、エンジン１１の停止位置を検出するために、イグニッションスイッチ（図示せず）のオフ後も、電源ラインのメインリレー（図示せず）をオン状態に維持して、ＥＣＵ２９、クランク角センサ２６、筒内圧センサ２８等への電源供給を継続し、エンジン１１が完全に停止するのに十分な時間（予め設定された十分なエンジン停止時間）が経過した時点で、メインリレーをオフしてＥＣＵ２９等への電源供給をオフする。
【００２９】
更に、ＥＣＵ２７は、図２の回転方向判定ルーチンを実行することで、クランク角センサ２６の出力信号から検出されるクランク角と筒内圧センサ２８の検出値との関係に基づいてエンジン１１の正転／逆転を判定し、図３のクランク角カウンタルーチンを実行することで、クランク角センサ２６からクランク角パルス信号が出力される毎に、クランク角カウンタＣのカウント値をエンジン１１の正転／逆転に応じてアップ／ダウンカウントする。以下、これら各ルーチンの処理内容を説明する。
【００３０】
図２の回転方向判定ルーチンは、所定時間毎に割り込み処理により起動され、特許請求の範囲でいう回転方向判定手段としての役割を果たす。本ルーチンでは、圧縮行程の気筒の筒内圧の変化特性（正転時には圧縮行程の気筒のピストン３３が上死点まで上昇して筒内圧が上昇するが、逆転時にはピストン３３が下降して筒内圧が低下するという筒内圧の変化特性）に着目して、圧縮行程の気筒のピストン３３が上死点に至る前に当該圧縮行程の気筒の筒内圧が上昇するか低下するかを判別し、筒内圧が上昇する場合は正転と判定し、筒内圧が低下する場合は逆転と判定する。
【００３１】
本ルーチンが起動されると、まずステップ１００で、筒内圧センサ２８が正常であるか否かを自己診断機能の診断結果に基づいて判定する。例えば、筒内圧センサ２８の信号線の断線や電源電圧異常等が発生すれば、筒内圧センサ２８の出力電圧が異常な電圧となるため、筒内圧センサ２８の出力電圧が正常な電圧範囲内であるか否かにより筒内圧センサ２８の正常／異常を判定するようにしても良い。もし、筒内圧センサ２８の異常と判定されれば、以降の処理を行うことなく、本ルーチンを終了する。
【００３２】
上記ステップ１００で、筒内圧センサ２８が正常と判定されれば、ステップ１０１に進み、エンジン回転速度が逆転を生じる可能性のある所定回転速度以下（例えば５００ｒｐｍ以下）であるか否かを判定し、エンジン回転速度が所定回転速度よりも高く、逆転を生じる可能性がない場合は、以降の処理を行うことなく、本ルーチンを終了する。
【００３３】
これに対して、上記ステップ１０１で、エンジン回転速度が逆転を生じる可能性のある所定回転速度以下であると判定されれば、ステップ１０２に進み、現在、圧縮行程の気筒（以下「圧縮気筒」という）があるか否かを後述するクランク角カウンタＣのカウント値に基づいて判定し、圧縮気筒がなければ（例えば上死点や下死点の場合）、正転／逆転を判定を判定できないので、そのまま本ルーチンを終了する。
【００３４】
上記ステップ１０２で、現在、圧縮気筒があると判定されれば、ステップ１０３に進み、圧縮気筒の吸気バルブ３１が閉弁されているか否かを判定する。圧縮行程では、排気バルブ３２は閉弁状態に維持されるが、吸気バルブ３１は、吸気効率を上げるために圧縮行程の途中まで開弁される場合がある（図７参照）。もし、圧縮気筒の吸気バルブ３１が開弁されていれば、圧縮気筒でも筒内圧が大気圧付近となって変化しなくなるため、逆転を検出することができない。そこで、上記ステップ１０３で、圧縮気筒の吸気バルブ３１が開弁されていると判定されれば、そのまま本ルーチンを終了する。
【００３５】
一方、上記ステップ１０３で、圧縮気筒の吸気バルブ３１が閉弁されていると判定されれば、ステップ１０４に進み、圧縮気筒の筒内圧（筒内圧センサ２８の検出値）が上昇したか否かを判定し、圧縮気筒の筒内圧が上昇したと判定されれば、ステップ１０５に進み、正転と判定し、圧縮気筒の筒内圧が低下したと判定されれば、ステップ１０６に進み、逆転と判定する。
【００３６】
図３のクランク角カウンタルーチンは、クランク角センサ２６から出力されるクランク角パルス信号の立ち上がりエッジと立ち下がりエッジに同期して割り込み処理により起動され、クランク角パルス信号の立ち上がりエッジ又は立ち下がりエッジに同期して、クランク角カウンタＣのカウント値をエンジン１１の正転／逆転に応じてアップ／ダウンカウントする。本ルーチンは、クランク角センサ２６と共に特許請求の範囲でいうクランク角検出手段としての役割を果たす。
【００３７】
ところで、クランク角パルス信号の立ち上がりエッジのクランク角と立ち下がりエッジのクランク角は、正転時と逆転とで反対になる。例えば、正転時の立ち上がりエッジのクランク角は、逆転には立ち下がりエッジのクランク角となる。
【００３８】
この点を考慮して、図４に示すように、クランク角カウンタＣは、正転時に、クランク角パルス信号の立ち上がりエッジに同期してクランク角パルス信号をアップカウントし、逆転時に、クランク角パルス信号の立ち下がりエッジに同期してクランク角パルス信号をダウンカウントする。これにより、クランク角パルス信号のカウントタイミング（クランク角）を正転時と逆転時とで一致させることができる。
【００３９】
また、エンジン１１の回転方向が反転した直後の最初のクランク角パルス信号のクランク角は、回転方向が反転する直前の最後のクランク角パルス信号のクランク角と同じであるため、回転方向が反転した直後の最初のクランク角パルス信号をカウントすると、１カウント分に相当する検出誤差が生じてしまう。
【００４０】
この対策として、クランク角カウンタＣは、エンジン１１の回転方向が反転した直後の最初のクランク角パルス信号をカウントしないようにする。これにより、エンジン１１の回転方向が反転する前後で、クランク角カウンタＣのカウント値とクランク角との関係が１カウントずれることを防止することができる。
【００４１】
以上説明した方法でクランク角カウンタＣのカウント動作を制御する図３のクランク角カウンタルーチンが起動されると、まずステップ２０１で、前記図２の回転方向判定ルーチンにより正転／逆転が判定されたか否か（つまり筒内圧センサ２８が正常で且つエンジン回転速度が逆転を生じる可能性のある所定回転速度以下であるか否か）を判定し、正転／逆転が判定されていなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００４２】
これに対して、上記ステップ２０１で、正転／逆転判定済みと判定されれば、ステップ２０２に進み、前記図２の回転方向判定ルーチンの実行結果に基づいてエンジン１１が正転しているか否かを判定し、正転であれば、ステップ２０３に進み、クランク角パルス信号の立ち上がりエッジであるか否かを判定し、立ち上がりエッジでなければ、何もせずに本ルーチンを終了する。
【００４３】
上記ステップ２０３で、クランク角パルス信号の立ち上がりエッジであると判定されれば、ステップ２０４に進み、前回のクランク角パルス信号の発生時は、正転であったか否か（つまり前回のクランク角パルス信号発生時と今回のクランク角パルス信号発生時の回転方向が共に正転であるか否か）を判定し、「Ｙｅｓ」と判定されれば、クランク角カウンタＣのカウント値を＋１だけアップカウントする。これにより、図４に示すように、正転中は、クランク角パルス信号の立ち上がりエッジに同期してクランク角カウンタＣが＋１ずつアップカウントされ、そのカウント値からクランク角が検出される。
【００４４】
これに対して、上記ステップ２０４で「Ｎｏ」と判定された場合、つまり、今回のクランク角パルス信号が逆転から正転に反転した直後の最初のクランク角パルス信号と判定された場合は、ステップ２０６に進み、今回のクランク角パルス信号をカウントせずに、クランク角カウンタＣのカウント値を前回値のまま維持する。これにより、エンジン１１の回転方向が逆転から正転に反転する前後で、クランク角カウンタＣのカウント値とクランク角との関係が１カウントずれることを防止する。
【００４５】
一方、ステップ２０２で、前記図２の回転方向判定ルーチンの実行結果に基づいてエンジン１１が逆転していると判定されれば、ステップ２０７に進み、クランク角パルス信号の立ち下がりエッジであるか否かを判定し、立ち下がりエッジでなければ、何もせずに本ルーチンを終了する。
【００４６】
上記ステップ２０７で、クランク角パルス信号の立ち下がりエッジであると判定されれば、ステップ２０８に進み、前回のクランク角パルス信号の発生時は、正転であったか否か（つまり今回のクランク角パルス信号が正転から逆転に反転した直後の最初のクランク角パルス信号であるか否か）を判定し、「Ｙｅｓ」と判定されれば、ステップ２０９に進み、今回のクランク角パルス信号をカウントせずに、クランク角カウンタＣのカウント値を前回値のまま維持する。これにより、エンジン１１の回転方向が正転から逆転に反転する前後で、クランク角カウンタＣのカウント値とクランク角との関係が１カウントずれることを防止する。
【００４７】
これに対して、上記ステップ２０８で「Ｎｏ」と判定された場合、つまり、前回のクランク角パルス信号発生時と今回のクランク角パルス信号発生時の回転方向が共に逆転である場合は、クランク角カウンタＣのカウント値を−１だけダウンカウントする。これにより、図４に示すように、逆転中は、クランク角パルス信号の立ち下がりエッジに同期してクランク角カウンタＣが−１ずつダウンカウントされ、そのカウント値からクランク角が検出される。
【００４８】
以上説明した図２及び図３の各ルーチンは、イグニッションスイッチのオフ後も、予め設定された十分なエンジン停止時間が経過するまで実行される。そして、十分なエンジン停止時間が経過した時点で、その時点のクランク角カウンタＣのカウント値がエンジン１１の停止位置の情報（次の始動時の初期位置の情報）としてＥＣＵ２９のバックアップＲＡＭ（図示せず）に記憶保持される。これにより、次の始動時には、バックアップＲＡＭに記憶されている停止位置の情報（始動時の初期位置の情報）を用いて、最初の点火気筒や噴射気筒を精度良く判定してエンジン１１を始動させることができ、始動性や始動時の排気エミッションを向上させることができる。
【００４９】
以上説明した本実施形態（１）によれば、クランク角カウンタＣのカウント値に基づいて圧縮気筒を判別して、当該圧縮気筒の筒内圧の上昇／低下を判定することで、エンジン１１の正転／逆転を精度良く判定することができる。この場合、筒内圧センサ２８で検出する筒内圧の情報は、逆転検出以外の用途（例えば失火検出、ノック検出等）にも利用できるため、筒内圧センサ２８は、逆転検出のためだけに設ける必要はなく、広範囲に有効に利用できる。また、逆転検出以外の用途（例えば失火検出、ノック検出等）で筒内圧センサ２８が設けられているシステムに本発明を適用する場合は、逆転検出用のセンサを新たに設ける必要がなく、低コストで本発明を実施できる。
【００５０】
尚、図３のクランク角カウンタルーチンでは、クランク角カウンタＣは、正転時に、クランク角パルス信号の立ち上がりエッジに同期してクランク角パルス信号をアップカウントし、逆転時に、クランク角パルス信号の立ち下がりエッジに同期してクランク角パルス信号をダウンカウントするようにしたが、これとは反対に、正転時に、クランク角パルス信号の立ち下がりエッジに同期してクランク角パルス信号をアップカウントし、逆転時に、クランク角パルス信号の立ち上がりエッジに同期してクランク角パルス信号をダウンカウントするようにしても良い。
【００５１】
また、クランク角パルス信号のパルス幅分のクランク角検出誤差が許容されるシステムに本発明を適用する場合は、逆転時も、正転時と同じくクランク角パルス信号の立ち上がりエッジ（又は立ち下がりエッジ）に同期してクランク角パルス信号をアップ／ダウンカウントするようにしても良い。
【００５２】
［実施形態（２）］
上記実施形態（１）では、圧縮気筒の筒内圧の上昇／低下を判定することで、エンジン１１の正転／逆転を判定するようにしたが、本発明の実施形態（２）では、図５の回転方向判定ルーチンを所定時間毎に割り込み処理により実行することで、膨張行程の気筒（以下「膨張気筒」という）の筒内圧の低下／上昇を判定して、エンジン１１の正転／逆転を判定するようにしている。
【００５３】
図６に示すように、膨張気筒は、正転時にはピストン３３が下降して排気バルブ３２が開くまで筒内圧が低下するが、逆転時にはピストン３３が上昇して筒内圧が上昇するという特徴がある。この点に着目し、図５の回転方向判定ルーチンでは、膨張気筒の排気バルブ３２が開く前に当該膨張気筒の筒内圧が低下するか上昇するかを判別し、筒内圧が低下する場合は正転と判定し、筒内圧が上昇する場合は逆転と判定する。
【００５４】
本ルーチンが起動されると、まずステップ３００で、筒内圧センサ２８が正常であるか否かを自己診断機能の診断結果に基づいて判定し、筒内圧センサ２８の異常と判定されれば、以降の処理を行うことなく、本ルーチンを終了する。
【００５５】
上記ステップ３００で、筒内圧センサ２８が正常と判定されれば、ステップ３０１に進み、エンジン回転速度が逆転を生じる可能性のある所定回転速度以下（例えば５００ｒｐｍ以下）であるか否かを判定し、エンジン回転速度が所定回転速度よりも高く、逆転を生じる可能性がない場合は、以降の処理を行うことなく、本ルーチンを終了する。
【００５６】
これに対して、上記ステップ３０１で、エンジン回転速度が逆転を生じる可能性のある所定回転速度以下であると判定されれば、ステップ３０２に進み、現在、膨張気筒があるか否かをクランク角カウンタＣのカウント値に基づいて判定し、膨張気筒がなければ、正転／逆転を判定を判定できないので、そのまま本ルーチンを終了する。
【００５７】
上記ステップ３０２で、現在、膨張気筒があると判定されれば、ステップ３０３に進み、膨張気筒の排気バルブ３２が閉弁されているか否かを判定する。膨張行程では、吸気バルブ３１は閉弁状態に維持されるが、排気バルブ３２は、排気効率を上げるために膨張行程の途中から開弁される場合がある（図７参照）。もし、膨張気筒の排気バルブ３２が開弁されれば、膨張気筒でも筒内圧が大気圧付近となって変化しなくなるため（図６参照）、逆転を検出することができない。そこで、上記ステップ３０３で、膨張気筒の排気バルブ３２が開弁されたと判定されれば、そのまま本ルーチンを終了する。
【００５８】
一方、上記ステップ３０３で、膨張気筒の排気バルブ３２が閉弁されていると判定されれば、ステップ３０４に進み、膨張気筒の筒内圧（筒内圧センサ２８の検出値）が低下したか否かを判定し、膨張気筒の筒内圧が低下したと判定されれば、ステップ３０５に進み、正転と判定し、膨張気筒の筒内圧が上昇したと判定されれば、ステップ３０６に進み、逆転と判定する。
【００５９】
尚、本実施形態（２）においても、クランク角カウンタＣは、前記実施形態（１）で用いた図３のクランク角カウンタルーチンによってアップ／ダウンカウントされる。
以上説明した本実施形態（２）においても、前記実施形態（１）と同様の効果を得ることができる。
【００６０】
［実施形態（３）］
前記実施形態（１）では、圧縮気筒の筒内圧によってエンジン１１の正転／逆転を判定するが、圧縮行程の途中まで吸気バルブ３１が開弁される場合（図７参照）には、圧縮気筒でも吸気バルブ３１の開弁期間中は筒内圧が大気圧付近となって変化しなくなるため、逆転を検出することができない。しかし、圧縮気筒の吸気バルブ３１が開弁状態であっても、膨張気筒の排気バルブ３２は閉弁状態になっているので（図７参照）、膨張気筒の筒内圧の低下／上昇を判定することで正転／逆転の判定は可能である。
【００６１】
また、前記実施形態（２）では、膨張気筒の筒内圧によってエンジン１１の正転／逆転を判定するが、膨張行程の途中から排気バルブ３２が開弁される場合（図７参照）には、膨張気筒でも排気バルブ３２の開弁期間中は筒内圧が大気圧付近となって変化しなくなるため（図６参照）、逆転を検出することができない。しかし、膨張気筒の排気バルブ３２が開弁状態になっても、圧縮気筒の吸気バルブ３１は閉弁状態になっているので（図７参照）、圧縮気筒の筒内圧の上昇／低下を判定することで正転／逆転の判定は可能である。
【００６２】
この点を考慮して、本発明の実施形態（３）では、図８の回転方向判定ルーチンを所定時間毎に割り込み処理により実行することで、圧縮気筒の筒内圧による回転方向判定（ステップ４０１）と、膨張気筒の筒内圧による回転方向判定（ステップ４０２）とを実行する。この場合、圧縮気筒の筒内圧による回転方向判定（ステップ４０１）では、前記実施形態（１）で用いた図２の回転方向判定ルーチンと同じ処理を実行して、圧縮気筒の吸気バルブ３１の閉弁期間中に、圧縮気筒の筒内圧の上昇／低下を判定することで、エンジン１１の正転／逆転を判定する。その後、膨張気筒の筒内圧による回転方向判定（ステップ４０２）では、前記実施形態（２）で用いた図５の回転方向判定ルーチンと同じ処理を実行して、膨張行程の排気バルブ３２の閉弁期間中に、膨張気筒の筒内圧の低下／上昇を判定することで、エンジン１１の正転／逆転を判定する。
【００６３】
以上説明した本実施形態（３）では、圧縮気筒の吸気バルブ３１の開弁期間中で、圧縮気筒の筒内圧に基づく正転／逆転の判定を行うことができない場合でも、膨張気筒の排気バルブ３２は閉弁状態になっているので（図７参照）、膨張気筒の筒内圧によって正転／逆転の判定を行うことができる。同様に、膨張気筒の排気バルブ３２の開弁期間中で、膨張気筒の筒内圧に基づく正転／逆転の判定を行うことができない場合でも、圧縮気筒の吸気バルブ３１は閉弁状態になっているので（図７参照）、圧縮気筒の筒内圧によって正転／逆転の判定を行うことができる。これにより、圧縮気筒の吸気バルブ３１の開弁期間中や膨張気筒の排気バルブ３２が開弁期間中でも、正転／逆転の判定を行うことができ、エンジン１１の回転が停止するまで、連続的に正転／逆転の判定を行うことができる。
【００６４】
尚、本発明は、４気筒エンジンに限定されず、３気筒以下又は５気筒以上のエンジンにも適用して実施することができる。
その他、本発明は、図１に示すような吸気ポート噴射エンジンに限定されず、筒内噴射エンジンやリーンバーンエンジンにも適用して実施できる等、種々変更して実施できることは言うまでもない。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体を示す図
【図２】実施形態（１）の回転方向判定ルーチンの処理の流れを示すフローチャート
【図３】実施形態（１）のクランク角カウンタルーチンの処理の流れを示すフローチャート
【図４】クランク角パルス信号、行程、筒内圧、クランク角カウンタの挙動を示すタイムチャート
【図５】実施形態（２）の回転方向判定ルーチンの処理の流れを示すフローチャート
【図６】エンジン停止時の筒内圧の挙動を示すタイムチャート
【図７】各気筒の行程と吸気バルブの開弁期間と排気バルブの開弁期間との関係を示す図
【図８】実施形態（３）の回転方向判定ルーチンの処理の流れを示すフローチャート
【符号の説明】
１１…エンジン（内燃機関）、２０…燃料噴射弁、２１…点火プラグ、２６…クランク角センサ（クランク角検出手段）、２７…シグナルロータ、２８…筒内圧センサ（筒内圧検出手段）、２９…ＥＣＵ（クランク角検出手段、回転方向判定手段）、３１…吸気バルブ、３２…排気バルブ。
【図１】
2004324498.tif 000003
【図２】
2004324498.tif 000004
【図３】
2004324498.tif 000005
【図４】
2004324498.tif 000006
【図５】
2004324498.tif 000007
【図６】
2004324498.tif 000008
【図７】
2004324498.tif 000009
【図８】
2004324498.tif 000010