(57)【要約】【課題】正転・逆転に応じて停止位置を検出する処理の演算負荷を抑制する。【解決手段】クランクシャフト（出力軸）の正転時と逆転時とで振幅の異なる回転信号ＲＧＣを発生させ、前記振幅の違いを判別するために、上側閾値ＳＬＨよりも回転信号ＲＧＣが高いときにハイレベルとなるコンパレータ出力と、下側閾値ＳＬＬよりも回転信号ＲＧＣが高いときにハイレベルとなるコンパレータ出力とを発生させる。そして、前記コンパレータ出力のパルス数をそれぞれにカウントさせ、該カウント値からクランクシャフト（出力軸）の停止位置を検出する。【選択図】図５
2010216429.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の出力軸の正転・逆転で異なる回転信号を出力する回転センサを備えた内燃機関に適用される制御装置であって、
前記出力軸の正転を示す前記回転信号の発生数と、前記出力軸の逆転を示す前記回転信号の発生数とに基づいて、前記出力軸の停止位置を検出する停止位置検出手段を含むことを特徴とする内燃機関の制御装置。
【請求項２】
前記停止位置検出手段が、前記出力軸の正転・逆転に応じ、相互に異なるパターンでカウントアップされる２つのカウンタを備え、該２つのカウンタによる計数値から前記出力軸の停止位置を算出することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記停止位置検出手段が、前記２つのカウンタによる計数値を、前記出力軸の所定回転位置毎にリセットし、前記所定の回転位置を基準に、前記出力軸の停止位置を検出することを特徴とする請求項２記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の出力軸の正転・逆転で異なる回転信号を出力する回転センサを備えた内燃機関に適用される制御装置に関する。
【背景技術】
【０００２】
特許文献１には、エンジンの停止過程における逆回転の発生を検出し、クランク角信号のカウント値を減算する、内燃機関の制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６‐２３３９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、出力軸の正転時と逆転時とで異なる回転信号を出力する回転センサを用いれば、正転・逆転の判断を容易に行え、機関の停止位置を精度良く検出できる。
しかし、逆転発生の有無を前記回転信号に基づいて判断する演算処理を、クランク角位置の更新処理と同様に、回転信号の発生毎に行わせると、ＣＰＵの演算負荷が高くなってしまうという問題があった。
【０００５】
本発明は上記問題点に鑑みなされたものであり、正転・逆転に応じて機関停止位置を検出する処理を、演算負荷を抑制しつつ実行させることができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本願発明では、内燃機関の出力軸の正転を示す回転信号の発生数と、前記出力軸の逆転を示す回転信号の発生数とに基づいて、前記出力軸の停止位置を検出するようにした。
【発明の効果】
【０００７】
上記発明によると、正転・逆転に応じた機関停止位置の検出処理における演算負荷を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における内燃機関のシステム構成図である。
【図２】実施形態における可変バルブタイミング機構を示す断面図である。
【図３】実施形態におけるクランク角センサ、カムセンサ及びリングギアセンサの構造を示す図である。
【図４】実施形態におけるクランク角センサ、カムセンサ及びリングギアセンサの出力特性を示すタイムチャートである。
【図５】実施形態におけるリングギアセンサ出力の正転・逆転による変化、及び、コンパレータの出力特性を示すタイムチャートである。
【図６】実施形態におけるリングギアセンサ出力の処理回路を示す回路図である。
【図７】実施形態におけるカウンタのリセット処理及び気筒判別処理を示すフローチャートである。
【図８】実施形態における停止位置の検出処理を示すフローチャートである。
【図９】実施形態における停止位置の検出例を示すタイムチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明の一実施形態を図面に基づいて詳細に説明する。
図１は、本願発明に係る制御装置が適用される車両用内燃機関１０１の構成図である。尚、本実施形態においては、前記内燃機関１０１は、直列４気筒機関であるものとする。
【００１０】
図１において、内燃機関１０１の吸気管１０２には、スロットルモータ１０３ａでスロットルバルブ１０３ｂを開閉駆動する電子制御スロットル１０４が介装される。
そして、前記電子制御スロットル１０４及び吸気バルブ１０５を介して、燃焼室１０６内に空気が吸入される。
【００１１】
各気筒の吸気ポート１３０には、燃料噴射弁１３１が設けられる。
前記燃料噴射弁１３１は、エンジンコントロールユニット（以下、ＥＣＵとする。）１１４からの噴射パルス信号によって開弁駆動されると、所定圧力に調整された燃料を噴射する。
【００１２】
前記燃焼室１０６内に吸引された燃料は、図示省略した点火プラグによる火花点火によって着火燃焼する。
燃焼室１０６内の燃焼排気は、排気バルブ１０７を介して排気管に排出され、フロント触媒コンバータ１０８及びリア触媒コンバータ１０９で浄化された後、大気中に放出される。
【００１３】
前記吸気バルブ１０５及び排気バルブ１０７は、それぞれ吸気カムシャフト１３４，排気カムシャフト１１０に一体的に設けられたカムによって開駆動されるが、吸気カムシャフト１３４には、可変バルブタイミング機構１１３が設けられている。
【００１４】
前記可変バルブタイミング機構１１３は、クランクシャフト１２０（出力軸）に対する吸気カムシャフト１３４の回転位相を変化させることで、吸気バルブ１０５のバルブタイミングを変化させる機構である。
【００１５】
図２は、前記可変バルブタイミング機構１１３の構造を示す。
前記可変バルブタイミング機構１１３は、クランクシャフト１２０と同期して回転するスプロケット２５に固定され、このスプロケット２５と一体的に回転する第１回転体２１と、ボルト２２ａにより前記吸気カムシャフト１３４の一端に固定され、吸気カムシャフト１３４と一体的に回転する第２回転体２２と、ヘリカルスプライン２６により第１回転体２１の内周面と第２回転体２２の外周面とに噛合する筒状の中間ギア２３と、を有している。
【００１６】
前記中間ギア２３には３条ネジ２８を介してドラム２７が連結されており、このドラム２７と中間ギア２３との間にねじりスプリング２９が介装されている。
前記中間ギア２３は、ねじりスプリング２９によって遅角方向（図２の左方向）へ付勢されており、電磁リターダ２４に電圧を印加して磁力を発生すると、ドラム２７及び３条ネジ２８を介して進角方向（図２の右方向）へ動かされる。
【００１７】
この中間ギア２３の軸方向位置に応じて、回転体２１，２２の相対位相が変化して、クランクシャフト１２０に対する吸気カムシャフト１３４の位相が変化する。
前記電磁リターダ２４は、前記ＥＣＵ１１４からの制御信号により、機関の運転状態に応じて駆動制御される。
【００１８】
尚、前記可変バルブタイミング機構１１３は、図２に示した構造のものに限定されず、クランクシャフトに対するカムシャフトの回転位相を変化させる公知の可変バルブタイミング機構の全てを適用でき、例えば、特開２００３−１８４５１６号公報に開示される、渦巻き状ガイドに変位可能に案内係合される可動案内部を備えてなる可変バルブタイミング機構や、特開２００７−１２０４０６号公報に開示される油圧ベーン式の可変バルブタイミング機構であっても良い。
【００１９】
前記ＥＣＵ１１４は、マイクロコンピュータを内蔵し、予め記憶されているプログラムに従って各種センサからの検出信号を演算処理することによって、前記電子制御スロットル１０４，可変バルブタイミング機構１１３，燃料噴射弁１３１等を制御する。
【００２０】
前記各種センサとしては、アクセルペダル１１６ａの踏み込み量（アクセル開度）ＡＣＣを検出するアクセル開度センサ１１６、機関１０１の吸入空気量Ｑを検出するエアフローセンサ１１５、クランクシャフト１２０（出力軸）の回転に応じて検出信号ＰＯＳを出力するクランク角センサ１１７（回転検出器）、スロットルバルブ１０３ｂの開度ＴＶＯを検出するスロットルセンサ１１８、機関１０１の冷却水温度ＴＷを検出する水温センサ１１９、前記吸気カムシャフト１３４の回転に応じて検出信号ＣＡＭを出力するカムセンサ１３３、ブレーキペダル１２１が踏み込まれたとき（車両のフットブレーキが操作された制動時）にオンになるブレーキスイッチ１２２、車両の走行速度（車速）ＶＳＰを検出する車速センサ１２３などが設けられている。
【００２１】
更に、前記ＥＣＵ１１４には、内燃機関１０１の運転・停止のメインスイッチであるイグニションスイッチ１２４のオン・オフ信号や、スタータスイッチ１２５のオン・オフ信号が入力される。
【００２２】
図３は、前記クランク角センサ１１７及びカムセンサ１３３の構造を示す。
前記クランク角センサ１１７は、クランクシャフト１２０に軸支され、周囲に被検出部としての突起部１５１が設けられるシグナルプレート１５２と、前記機関１０１側に固定され、前記突起部１５１を検出して単位クランク角信号（回転信号）ＰＯＳを出力する回転検出装置１５３とから構成される。
【００２３】
前記回転検出装置１５３は、波形整形回路などを含む各種の処理回路を、前記突起部１５１を検出するピックアップと共に備えている。
前記シグナルプレート１５２の突起部１５１は、クランク角で１０degのピッチで等間隔に設けられるが、前記突起部１５１を２つ連続して欠落させてある部分を、クランクシャフト１２０の中心を挟んで対向する２箇所に設けてある。
【００２４】
尚、突起部１５１の欠落は、１個であっても良いし、３つ以上連続して欠落させることも可能である。
そして、前記クランク角センサ１１７（回転検出装置１５３）から出力されるパルス信号である単位クランク角信号ＰＯＳは、図４に示すように、クランク角で１０deg毎に１６個連続して出力された後、２個欠落し、再度１６個連続して出力されることを繰り返すようになっている。
【００２５】
従って、欠落後の最初の単位クランク角信号ＰＯＳから次の欠落部分後の最初の単位クランク角信号ＰＯＳまでは、クランク角で１８０degになり、このクランク角１８０degは、本実施形態の４気筒機関１０１における気筒間の行程位相差（点火間隔）に相当する。
【００２６】
尚、本実施形態では、前記単位クランク角信号ＰＯＳを、ＢＴＤＣ６０deg及びＢＴＤＣ７０degの位置で欠落させてある。
一方、カムセンサ１３３は、前記吸気カムシャフト１３４の可変バルブタイミング機構１１３が設けられる端部とは逆側の端部に軸支され、周囲に被検出部としての突起部１５７が設けられるシグナルプレート１５８と、前記機関１０１側に固定され、前記突起部１５７を検出してカム信号ＣＡＭを出力する回転検出装置１５９とから構成される。
【００２７】
前記回転検出装置１５９は、波形整形回路などを含む各種の処理回路を、前記突起部１５７を検出するピックアップと共に備えている。
前記シグナルプレート１５８の突起部１５７は、カム角で９０deg毎に１個、３個、４個、２個と設けられており、突起部１５７が複数連続して設けられる部分では、突起部１５７のピッチを、クランク角で３０deg（カム角で１５deg）に設定してある。
【００２８】
そして、前記カムセンサ１３３（回転検出装置１５９）から出力されるパルス信号であるカム角信号ＣＡＭは、図４に示すように、カム角で９０deg（クランク角で１８０deg）毎に、１個単独、３個連続、４個連続、２個連続に出力される。
【００２９】
尚、１個単独で出力されるカム信号ＣＡＭ、及び、複数連続して出力されるカム角信号ＣＡＭの先頭信号は、クランク角で１８０deg間隔に出力される。
前記クランク角で１８０deg毎に出力されることになるカム角信号ＣＡＭの数は、気筒番号を示すものであり、本実施形態の４気筒機関１０１において、気筒間における行程の位相差がクランク角で１８０degであり、点火順が第１気筒→第３気筒→第４気筒→第２気筒であることに対応している。
【００３０】
従って、カム角信号ＣＡＭが何個出力されたかを判別することで、次にピストン位置が上死点となる気筒を判別できることになり、この気筒判別の結果に基づいて、燃料噴射や点火を行わせるべき気筒が検出され、該検出結果に基づいて噴射パルス信号や点火信号の出力がなされる。
【００３１】
ここで、単位クランク角信号ＰＯＳとカム角信号ＣＡＭとの位相関係は、前記可変バルブタイミング機構１１３によってクランクシャフト１２０に対する吸気カムシャフト１３４の回転位相が変更されることによって変化する。
【００３２】
そこで、前記単位クランク角信号ＰＯＳの欠落部分を基準に検出される基準クランク角位置から、前記カム信号ＣＡＭ（１個単独で出力されるカム信号ＣＡＭ、又は、複数連続して出力されるカム角信号ＣＡＭの先頭信号）が出力されるまでの角度を、前記可変バルブタイミング機構１１３による位相変化を示す値として検出する。
【００３３】
そして、前記可変バルブタイミング機構１１３の制御においては、機関運転状態（機関負荷・機関回転速度など）に基づいて目標の回転位相を演算し、実際の回転位相と目標の回転位相との偏差に基づく比例・積分・微分動作等によって、前記電磁リターダ２４の操作量をフィードバック制御するようになっている。
【００３４】
更に、本実施形態では、図３に示すように、リングギアセンサ１３２（回転センサ）が設けられている。
前記クランクシャフト１２０の端部に軸支されるフライホイールに対して、図外のスタータモータの出力軸に軸支されるギアと噛合う始動用大歯車１３２ａが一体的に設けられており、前記リングギアセンサ１３２は、前記始動用大歯車１３２ａの各歯を検出して、パルス信号を出力するセンサである。
【００３５】
尚、始動用大歯車１３２ａの歯は、１２０歯に設定されている。
ここで、前記リングギアセンサ１３２は、前記始動用大歯車１３２ａの歯を検出することで、クランクシャフト（出力軸）１２０の１回転当たり１２０パルスを発生するが、クランクシャフト（出力軸）１２０の正転時と逆転時とで異なる回転信号ＲＧＣを出力する。
【００３６】
具体的には、図５（Ａ）に示すように、前記回転信号ＲＧＣは、正転時には上側閾値ＳＬＨと下側閾値ＳＬＬとで挟まれる領域の中央を中心として、上側閾値ＳＬＨと下側閾値ＳＬＬとの偏差を上回る振幅で変動し、上側閾値ＳＬＨを周期的に横切り、かつ、下側閾値ＳＬＬを周期的に横切る。
【００３７】
一方、前記回転信号ＲＧＣは、逆転時には、前記上側閾値ＳＬＨを中心として、下側閾値ＳＬＬを上回る領域で変動し、上側閾値ＳＬＨを周期的に横切る。
尚、上側閾値ＳＬＨ＞下側閾値ＳＬＬ＞０Ｖであるものとし、正転時と逆転時とで回転信号ＲＧＣの最大値は同等であるものとする。
【００３８】
即ち、前記回転信号ＲＧＣは、正転時・逆転時の双方で、前記上側閾値ＳＬＨよりも周期的に高くなる信号であるが、正転時は下側閾値ＳＬＬを周期的に下回るのに対し、逆転時には、下側閾値ＳＬＬを下回ることがない信号であり、正転・逆転によって下側閾値ＳＬＬを下回るか否かが異なる信号である。
【００３９】
換言すれば、回転信号ＲＧＣは正転時と逆転時とで異なる振幅になるように出力され、該振幅の違いが、前記上側閾値ＳＬＨ及び下側閾値ＳＬＬと回転信号ＲＧＣとの比較で、判定できるようになっている。
【００４０】
前記リングギアセンサ１３２は、波形発生回路、選択回路などを含む各種の処理回路を、前記始動用大歯車１３２ａの歯を検出するピックアップと共に備えてなり、例えば、始動用大歯車１３２ａの歯を検出するピックアップとして、相互に位相がずれた出力を発生する２つのピックアップを設け、これらのピックアップの出力を比較することで正転・逆転を判定し、該判定結果に基づいて振幅（レベル）の異なるパルス信号ＲＧＣを発生するセンサである。
【００４１】
尚、内燃機関１０１のクランクシャフト１２０（出力軸）の正転・逆転で異なる回転信号としては、上記のように、正転・逆転で振幅（レベル）の異なる回転信号（パルス信号）の他、例えば、正転・逆転でパルス幅の異なる回転信号であってもよい。
【００４２】
前述のように、リングギアセンサ１３２から出力される回転信号ＲＧＣは、クランクシャフト１２０（出力軸）の一定回転角毎に出力される信号であって、かつ、クランクシャフト（出力軸）１２０の正転時と逆転時とで異なる信号である。
【００４３】
従って、前記単位クランク角信号ＰＯＳに基づいて検出される基準クランク角位置からの回転信号ＲＧＣの発生数からクランクシャフト１２０（出力軸）の回転位置を検出することができ、かつ、機関１０１の停止直前に機関１０１が逆転した場合には、逆転による回転位置の変化を検出することができ、停止直前に機関１０１が逆転してもクランクシャフト１２０（出力軸）の停止位置を検出することができる。
【００４４】
そして、クランクシャフト１２０の停止位置（停止時の各気筒のピストン位置）を精度よく判断することができれば、再始動時に早期に燃料噴射・点火を開始させることができる。
【００４５】
例えば、機関１０１の停止直前に逆転し、クランクシャフト１２０の停止位置が不明になると、再始動時には、例えば、単位クランク角信号ＰＯＳの欠落部分の検出を待ってクランクシャフト１２０の回転位置（各気筒のピストン位置）の検出を再開させる必要が生じ、燃料噴射・点火の開始が遅れる。
【００４６】
本実施形態では、前記ＥＣＵ１１４が、内燃機関１０１のアイドル運転状態で自動停止条件が成立すると内燃機関１０１を自動停止させ、内燃機関１０１を自動停止させた後に再始動条件が成立すると、内燃機関１０１を自動的に再始動させるアイドルストップ制御機能を有しており、内燃機関１０１を自動的に再始動させる際に、燃料噴射・点火の開始を早期に行えれば、内燃機関１０１の再始動性を向上させる（再始動に要する時間を短縮する）ことができる。
【００４７】
前記アイドルストップ制御においては、例えば、車速ＶＳＰが０km/h、機関回転速度ＮＥが所定回転速度以下、アクセル開度ＡＣＣが全閉、ブレーキスイッチ１２２がＯＮ（制動状態）、冷却水温度ＴＷが所定温度以上の各条件が全て成立しているときに、アイドルストップ条件が成立していると判断し、燃料噴射・点火を停止させ、内燃機関１０１を自動停止させる。
【００４８】
前記所定回転速度は、アイドル回転状態を判断するための値であり、目標アイドル回転速度よりも僅かに高く設定され、また、前記所定温度は、機関１０１の完暖状態（暖機完了状態）を判断するための値である。
【００４９】
一方、上記のように内燃機関１０１を自動停止されている状態で、ブレーキスイッチ１２２がＯＦＦ（非制動状態）に切り替わったり、アクセルペダルが踏み込まれたり、自動停止状態の継続時間が基準時間よりも長くなったり、バッテリ電圧の低下を判断したりすると、再始動条件が成立したと判断して、内燃機関１０１に対する燃料噴射・点火を再開させる。
【００５０】
尚、再始動時には、スタータモータを用いて内燃機関１０１を回転させ始めることができ、また、スタータモータを用いずに燃焼室内での燃料の燃焼によって内燃機関１０１を回転させ始めることができる。
【００５１】
次に、前記リングギアセンサ１３２からの回転信号ＲＧＣを用いて行われる、クランクシャフト１２０（機関の出力軸）の回転位置の検出を詳細に説明する。
図６は、ＥＣＵ１１４内部における前記回転信号ＲＧＣの処理回路を示す図である。
【００５２】
前記ＥＣＵ１１４の内部には、Ｈｉｇｈ側コンパレータ１１４ａと、Ｌｏｗ側コンパレータ１１４ｂとが設けられており、前記回転信号ＲＧＣは、前記Ｈｉｇｈ側コンパレータ１１４ａと、Ｌｏｗ側コンパレータ１１４ｂとにそれぞれ入力される。
【００５３】
前記Ｈｉｇｈ側コンパレータ１１４ａは、図５（Ｂ）に示すように、前記回転信号ＲＧＣが上側閾値ＳＬＨを上回っている場合にハイレベル信号を出力し、前記回転信号ＲＧＣが上側閾値ＳＬＨ以下であるときにローレベル信号を出力する。
【００５４】
一方、Ｌｏｗ側コンパレータ１１４ｂは、図５（Ｃ）に示すように、前記回転信号ＲＧＣが下側閾値ＳＬＬを上回っている場合にハイレベル信号を出力し、前記回転信号ＲＧＣが下側閾値ＳＬＬ以下であるときにローレベル信号を出力する。
【００５５】
ここで、図５（Ａ）に示したように、リングギアセンサ１３２からの回転信号ＲＧＣは、正転・逆転の双方で上側閾値ＳＬＨを上回り、正転時には下側閾値ＳＬＬ以下になるものの、逆転時には下側閾値ＳＬＬ以上のレベルを保持する。
【００５６】
このため、Ｈｉｇｈ側コンパレータ１１４ａの出力は、図５（Ｂ）に示すように、正転・逆転に関わらず機関１０１の回転に同期してハイ・ローを繰り返すパルス信号となるのに対し、Ｌｏｗ側コンパレータ１１４ｂの出力は、図５（Ｃ）に示すように、正転時には機関１０１の回転に同期してハイ・ローを繰り返すパルス信号となるが、逆転時には機関１０１が回転してもハイレベルを保持することになる。
【００５７】
前記Ｈｉｇｈ側コンパレータ１１４ａ及びＬｏｗ側コンパレータ１１４ｂの出力を入力するマイクロコンピュータ１１４ｃでは、Ｈｉｇｈ側コンパレータ１１４ａからの出力の立ち上がり毎にＨｉｇｈ側カウンタＣＮＴＨＩをカウントアップし、Ｌｏｗ側コンパレータ１１４ｂの出力の立ち上がり毎にＬｏｗ側カウンタＣＮＴＬＯＷをカウントアップする。
【００５８】
これにより、前記Ｈｉｇｈ側コンパレータ１１４ａからの出力パルスの発生数が、Ｈｉｇｈ側カウンタＣＮＴＨＩによって計数され、Ｌｏｗ側コンパレータ１１４ｂからの出力パルスの発生数が、Ｌｏｗ側カウンタＣＮＴＬＯＷによって計数される。
【００５９】
前記Ｈｉｇｈ側カウンタＣＮＴＨＩとＬｏｗ側カウンタＣＮＴＬＯＷとは、クランクシャフト１２０（出力軸）の正転・逆転に応じ、相互に異なるパターンでカウントアップされる２つのカウンタである。
【００６０】
前記Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷのリセットは、図７のフローチャートに示すようにして、前記マイクロコンピュータ１１４ｃ（ＥＣＵ１１４）によって行われる。
【００６１】
図７のフローチャートに示すルーチンは、前記単位クランク角信号ＰＯＳの発生毎（例えば立ち上がり毎）に実行され、まず、ステップＳ１００１では、今回の単位クランク角信号ＰＯＳが基準クランク角位置ＲＥＦに相当する単位クランク角信号ＰＯＳであるか否かを判断する。
【００６２】
前述のように、単位クランク角信号ＰＯＳは一部で欠落するように構成され、単位クランク角信号ＰＯＳの発生周期を計測することで前記欠落位置を検出することができ、欠落位置のクランク角は既知であるから、欠落を検出してからの単位クランク角信号ＰＯＳの発生数でクランク角位置を１０deg単位で検出でき、本実施形態では、ＢＴＤＣ１００degを基準クランク角位置ＲＥＦとして検出する。
【００６３】
ステップＳ１００１で、基準クランク角位置ＲＥＦでないと判断された場合には、ステップＳ１００２〜ステップＳ１００７を迂回してステップＳ１００８へ進み、ステップＳ１００２〜ステップＳ１００７で実行される処理以外の単位クランク角信号ＰＯＳ発生毎に行われる割り込み処理を実行する。
【００６４】
ステップＳ１００８での処理には、単位クランク角信号ＰＯＳの発生周期の計測、単位クランク角信号ＰＯＳの欠落位置の判断、欠落位置からの単位クランク角信号ＰＯＳの発生数の計数によるクランク角の検出などが含まれる。
【００６５】
一方、ステップＳ１００１において基準クランク角位置ＲＥＦであると判断されると、ステップＳ１００２へ進む。
ステップＳ１００２では、そのときの機関回転速度ＮＥが所定回転速度ＮＥＳＬ（例えば４００rpm）以上であるか否かを判断する。
【００６６】
機関回転速度ＮＥは、所定時間内における前記単位クランク角信号ＰＯＳの発生数や、前記基準クランク角位置ＲＥＦの検出周期などに基づいて算出される。
また、前記所定回転速度ＮＥＳＬは、アイドル回転速度よりも低い回転速度であって、機関停止に向けた回転速度の減少状態であることを判断するための値として予め適合されており、機関回転速度ＮＥが前記所定回転速度ＮＥＳＬ未満である場合には、機関１０１が停止過程にあると判断できる。
【００６７】
機関回転速度ＮＥが前記所定回転速度ＮＥＳＬ以上であって、運転継続中（換言すれば、逆転が生じない速度域）であると判断されると、ステップＳ１００３へ進む。
ステップＳ１００３では、前記Ｌｏｗ側カウンタＣＮＴＬＯＷの値が、前回の基準クランク角位置ＲＥＦの検出時からのカウントアップ値として正しい値になっているか否かを判断する。
【００６８】
後述するように、機関回転速度ＮＥが前記所定回転速度ＮＥＳＬ以上である場合には、基準クランク角位置ＲＥＦ毎、即ち、クランク角で１８０deg毎に前記Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷが零にリセットされるようになっており、かつ、機関回転速度ＮＥが前記所定回転速度ＮＥＳＬ以上の運転中は、クランクシャフト１２０が逆転することはない。
【００６９】
従って、回転信号ＲＧＣが正常に出力され、かつ、前記Ｌｏｗ側コンパレータ１１４ｂにおける比較動作及び該Ｌｏｗ側コンパレータ１１４ｂの出力パルス数の計数動作が正常になされていれば、ステップＳ１００３に進んだ場合に、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が基準クランク角位置ＲＥＦの検出周期に見合う値（本実施形態では６０）であると判断される。
【００７０】
換言すれば、ステップＳ１００３で、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が基準クランク角位置ＲＥＦの検出周期に見合う値になっていないと判断された場合には、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が異常であると判断でき、本実施形態の場合、ＣＮＴＬＯＷ≠６０である場合に異常と判断する。
【００７１】
そして、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が異常である場合には、Ｌｏｗ側カウンタＣＮＴＬＯＷの値に基づくクランクシャフト１２０の停止位置の検出は行えないことになるので、ステップＳ１００５へ進んで、回転信号ＲＧＣの計数データについて異常の有無を示すフラグＦＲＧＣＳＮＧに、異常判定状態を示す「１」をセットする。
【００７２】
一方、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が正常（ＣＮＴＬＯＷ＝６０）であれば、ステップＳ１００４へ進み、前記Ｈｉｇｈ側カウンタＣＮＴＨＩの値が、前回の基準クランク角位置ＲＥＦの検出時からのカウントアップ値として正しい値になっているか否かを判断する。
【００７３】
そして、Ｈｉｇｈ側カウンタＣＮＴＨＩの値が異常であれば（ＣＮＴＨＩ≠６０であれば）、ステップＳ１００５へ進んで、回転信号ＲＧＣの計数データについて異常の有無を示すフラグＦＲＧＣＳＮＧに、異常判定状態を示す「１」をセットする。
【００７４】
また、Ｈｉｇｈ側カウンタＣＮＴＨＩの値が正常（ＣＮＴＨＩ＝６０）である場合、即ち、Ｌｏｗ側カウンタＣＮＴＬＯＷの値が正常で、かつ、Ｈｉｇｈ側カウンタＣＮＴＨＩの値が正常である場合には、ステップＳ１００５を迂回してステップＳ１００６へ進むことで、フラグＦＲＧＣＳＮＧを初期値である零に保持する。
【００７５】
ステップＳ１００６では、前記Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値をそれぞれ零にリセットし、基準クランク角位置ＲＥＦからのパルス発生数が、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷで計数されるようにする。
【００７６】
ステップＳ１００７では、前回の基準クランク角位置ＲＥＦから今回の基準クランク角位置ＲＥＦまでの間で、前記カムセンサ１３３から出力されたカム角信号ＣＡＭの数に基づいて気筒判別（上死点前の気筒の特定）を行い、判別した気筒番号ＣＹＬＣＳを、気筒判別値ＲＳＴＣＹＬにセットする。
【００７７】
一方、ステップＳ１００２で、機関回転速度ＮＥが所定回転速度ＮＥＳＬ未満であると判断され、機関１０１の停止過程である場合には、ステップＳ１００３〜ステップＳ１００７を迂回してステップＳ１００８に進むことで、基準クランク角位置ＲＥＦ毎のＨｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの零リセットをキャンセルする。
【００７８】
即ち、機関回転速度ＮＥが所定回転速度ＮＥＳＬ未満になると、それ以降の機関１０１が停止するまでの間では、基準クランク角位置ＲＥＦになっても、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷは零にリセットされず、パルス信号の発生毎にカウントアップされる。
【００７９】
前記Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値は、機関１０１のクランクシャフト１２０の停止位置の検出に用いられ、停止直前からのカウント値があれば停止位置を検出することができるので、運転継続中は、周期的に零にリセットして、カウント値が無用に大きな値になることを抑制する。
【００８０】
前記Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷを用いた停止位置の検出は、図８のフローチャートに示すルーチンに従って行われる。
尚、図８のフローチャートに示すルーチンが、本実施形態における停止位置検出手段としての機能に相当する。
【００８１】
図８のフローチャートに示すルーチンは、定時処理（一定時間毎の割り込み処理）として実行され、まず、ステップＳ２００１では、前記フラグＦＲＧＣＳＮＧに零がセットされているか、１がセットされているかを判別する。
【００８２】
そして、前記フラグＦＲＧＣＳＮＧに１がセットされている場合には、ステップＳ２００２へ進んで、アイドルストップ制御を禁止する設定を行った後、ステップＳ２００３〜ステップＳ２００６の停止位置の検出処理を迂回して、ステップＳ２００７へ進み、その他の定時処理を実行させる。
【００８３】
前記フラグＦＲＧＣＳＮＧに１がセットされている場合には、回転信号ＲＧＣの計数データ（Ｈｉｇｈ側カウンタＣＮＴＨＩ及び／又はＬｏｗ側カウンタＣＮＴＬＯＷ）が異常であって、前記計数データに基づく停止位置の検出が行えず、アイドルストップ状態からの再始動性が低下する（再始動時間が長くなる）ので、アイドルストップ制御を禁止する。
【００８４】
即ち、Ｈｉｇｈ側カウンタＣＮＴＨＩ及び／又はＬｏｗ側カウンタＣＮＴＬＯＷの値が異常であると、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値を用いた内燃機関１０１の停止位置の検出が正しく行われないから、停止位置に基づいて再始動時の燃料噴射タイミング・点火時期を設定することができなくなる。
【００８５】
このため、再始動時に、スタータモータでクランキングを開始させた後、単位クランク角信号ＰＯＳの欠落位置を検出し、かつ、気筒判別がなされるまで、燃料噴射・点火を開始させることができず、始動時間が長くなって再始動性が低下する。
【００８６】
そこで、フラグＦＲＧＣＳＮＧに１がセットされた場合には、アイドルストップ制御を禁止することで、再始動性が低下した状態でアイドルストップが実行されることがないようにする。
【００８７】
但し、再始動時に、単位クランク角信号ＰＯＳの欠落位置を検出し、かつ、気筒判別がなされてから、燃料噴射・点火を開始させるようにしても、発進加速を損ねるほどの始動性の低下が生じない場合、或いは、始動性の低下が許容される場合には、停止位置の検出結果を無効とする一方で、アイドルストップ制御の実施を許容することもできる。
【００８８】
一方、フラグＦＲＧＣＳＮＧに零がセットされていて、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値が正常であると判断されると、ステップＳ２００３へ進む。
【００８９】
ステップＳ２００３では、内燃機関１０１がアイドルストップ制御によって停止しているか否かを判断する。
ステップＳ２００３での停止判断は、単位クランク角信号ＰＯＳの入力が所定時間（例えば１秒）以上連続して途絶えている場合に、内燃機関１０１が停止していると判断する。
【００９０】
前記所定時間は、機関１０１の逆転による一時的な単位クランク角信号ＰＯＳの入力停止時間を越える時間に設定され、確実に停止を判断できるように予め適合される。
機関１０１の停止状態でない場合には、ステップＳ２００７へ進み、その他の定時処理を実行させ、アイドルストップ制御による機関１０１の停止状態であれば、ステップＳ２００４へ進む。
【００９１】
ステップＳ２００４では、機関１０１の停止位置ＳＴＰＣＮを、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値を用い、数式（１）に従って算出する。
ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩ…数式（１）
図９のタイムチャートは、機関１０１が正転から逆転して停止した場合でのＨｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの変化を示し、時刻ｔ０でＨｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷを零にリセットさせた後、時刻ｔ２で正転方向への回転が逆転方向への回転に転じ、逆転状態のまま時刻ｔ４で停止した状態を示す。
【００９２】
ここで、例えば、時刻ｔ１で前記停止位置ＳＴＰＣＮの算出がなされたとすると、時刻ｔ０から時刻ｔ１までの間の機関１０１（クランクシャフト１２０）の正転時には、Ｈｉｇｈ側カウンタＣＮＴＨＩの値とＬｏｗ側カウンタＣＮＴＬＯＷの値とは同様にカウントアップされる。
【００９３】
従って、時刻ｔ１においてＣＮＴＬＯＷ＝ＣＮＴＨＩであり、ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩは、ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＬＯＷ＝ＣＮＴＬＯＷ、又は、ＳＴＰＣＮ＝ＣＮＴＨＩ×２−ＣＮＴＨＩ＝ＣＮＴＨＩと書き換えることができ、Ｈｉｇｈ側カウンタＣＮＴＨＩ及びＬｏｗ側カウンタＣＮＴＬＯＷの値が基準クランク角位置ＲＥＦからの回転角を示すことになる。
【００９４】
図９に示した例では、時刻ｔ１において、ＣＮＴＬＯＷ＝１０かつＣＮＴＨＩ＝１０であり、停止位置ＳＴＰＣＮの算出結果は１０になり、時刻ｔ１におけるクランクシャフト１２０の位置は、最近にカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットを行った基準クランク角位置ＲＥＦ（時刻ｔ０の時点）から、回転信号ＲＧＣの１０パルス分の角度だけ進んだ位置であると判断できる。
【００９５】
ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩ＝１０×２−１０＝１０
一方、時刻ｔ４は、機関１０１が正転から逆転に転じた後に停止した状態であるが、機関１０１が逆転している間（時刻ｔ２から時刻ｔ４までの間）は、Ｌｏｗ側カウンタＣＮＴＬＯＷがカウントアップされないのに対し、Ｈｉｇｈ側カウンタＣＮＴＨＩは、逆転状態でもカウントアップされるため、逆転が生じると、Ｈｉｇｈ側カウンタＣＮＴＨＩの値とＬｏｗ側カウンタＣＮＴＬＯＷの値とは異なる値になる。
【００９６】
そして、Ｈｉｇｈ側カウンタＣＮＴＨＩの値がＬｏｗ側カウンタＣＮＴＬＯＷよりも多い分だけ、機関１０１が逆方向に回転した角度を示し、Ｌｏｗ側カウンタＣＮＴＬＯＷの値は、正転方向への回転角を示す。
【００９７】
このため、逆転して機関１０１が停止した場合の停止位置ＳＴＰＣＮは、正転方向への回転角から逆転方向への回転角を減算することで求められ、式で表すと、ＳＴＰＣＮ＝ＣＮＴＬＯＷ−（ＣＮＴＨＩ−ＣＮＴＬＯＷ）となり、係る式を展開すると、ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩとなる。
【００９８】
従って、機関１０１が逆転して停止した場合も、停止位置ＳＴＰＣＮを、数式（１）、即ち、ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩとして算出できる。
換言すれば、ＣＮＴＨＩ−ＣＮＴＬＯＷが、クランクシャフト１２０（出力軸）の逆転を示す回転信号の発生数であり、ＣＮＴＬＯＷがクランクシャフト１２０（出力軸）の正転を示す回転信号の発生数である。
【００９９】
図９に示す例では、時刻ｔ４において、ＣＮＴＬＯＷ＝１４で、ＣＮＴＨＩ＝３０であり、停止位置ＳＴＰＣＮの算出結果は−２になり、最近にカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットを行った基準クランク角位置ＲＥＦ（時刻ｔ０の時点）から、回転信号ＲＧＣの−２パルス分の角度だけ進んだ位置（２パルス分だけ戻った位置）であると判断できる。
【０１００】
図９に示す例において、時刻ｔ４の直前の時刻ｔ３のタイミングで、クランク角位置が基準クランク角位置ＲＥＦになっているが、これは、クランクシャフト１２０（出力軸）が逆転したために、時刻ｔ０での基準クランク角位置ＲＥＦに戻ったものである。
【０１０１】
即ち、図９は、時刻ｔ０でカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットした後、次の基準クランク角位置ＲＥＦに到達する前に逆転して時刻ｔ０における基準クランク角位置ＲＥＦまで戻り、更に、２パルス分だけ逆転して停止した例を示しており、停止位置ＳＴＰＣＮを、ＳＴＰＣＮ＝ＣＮＴＬＯＷ×２−ＣＮＴＨＩとして算出することで、逆転して停止した場合の停止位置を検出できることになる。
【０１０２】
ここで、ステップＳ２００４における停止位置ＳＴＰＣＮの演算は、機関１０１の停止を判断してから行われ、機関１０１の回転中（運転中）は、コンパレータ１１４ａ，１１４ｂの出力を計数する処理（カウンタＣＮＴＨＩ，ＣＮＴＬＯＷのカウントアップ処理）を行えばよいから、正転・逆転を判別して停止位置を検出するための演算負荷を少なくできる。
【０１０３】
ステップＳ２００４で停止位置ＳＴＰＣＮを演算すると、次のステップＳ２００５では、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬを、下式に従って算出する。
ＳＴＰＣＹＬ＝ＲＳＴＣＹＬ＋（ＳＴＰＣＮ／６０）
上式で、ＲＳＴＣＹＬは、最近に求められた気筒判別値（基準ピストン位置になっている気筒の番号）であり、機関停止前にカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットを行った基準クランク角位置ＲＥＦ（時刻ｔ０の時点）で求められた値である。
【０１０４】
また、前記停止位置ＳＴＰＣＮは、前述のように、機関停止前にカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットを行った基準クランク角位置ＲＥＦ（時刻ｔ０の時点）からの回転角を、回転信号ＲＧＣの発生数で表すものであり、クランクシャフト１２０（出力軸）の１回転当たり前記回転信号ＲＧＣは１２０パルスだけ出力される。
【０１０５】
従って、「ＳＴＰＣＮ／６０」は、機関停止前にカウンタＣＮＴＨＩ，ＣＮＴＬＯＷの零リセットを行った基準クランク角位置ＲＥＦ（時刻ｔ０の時点）からの回転角が、クランク角１８０degの何倍であるかを示し、気筒判別値ＣＹＬＣＳは、クランク角１８０deg毎に更新されるから、「ＳＴＰＣＮ／６０」の演算結果の少数点以下を切り捨てた値（整数値）は、最後の気筒判別値ＲＳＴＣＹＬから更新すべき回数を示す。
【０１０６】
例えば、停止位置ＳＴＰＣＮの絶対値が６０パルス未満であれば、「ＳＴＰＣＮ／６０」の演算結果の少数点以下を切り捨てた値は零になって、最後の気筒判別値ＲＳＴＣＹＬから変更がないことを示す。
【０１０７】
また、停止位置ＳＴＰＣＮが６０パルスよりも大きく１２０パルス未満であれば、「ＳＴＰＣＮ／６０」の演算結果の少数点以下を切り捨てた値は１になって、最後の気筒判別値ＲＳＴＣＹＬから１回だけ進んだ気筒を、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬとすればよく、例えば最後の気筒判別値ＲＳＴＣＹＬが第４気筒であれば、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬを第２気筒とする。
【０１０８】
また、停止位置ＳＴＰＣＮが−６０よりも小さく−１２０よりも大きい場合には、「ＳＴＰＣＮ／６０」の演算結果の少数点以下を切り捨てた値は−１になって、最後の気筒判別値ＲＳＴＣＹＬから１回だけ戻った気筒を、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬとすればよく、例えば最後の気筒判別値ＲＳＴＣＹＬが第４気筒であれば、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬを第３気筒とする。
【０１０９】
前記図７のフローチャートのステップＳ１００７における気筒判別値ＲＳＴＣＹＬの更新は、機関１０１の停止過程に入ると（機関回転速度ＮＥが所定速度未満になると）停止されるが、その後の回転角を示す停止位置ＳＴＰＣＮの値に基づいて、停止位置での気筒判別値に更新される。
【０１１０】
次のステップＳ２００６では、機関１０１の停止角度ＳＴＰＡＮＧＬを下式に従って演算する。
ＳＴＰＡＮＧＬ＝ＳＴＰＣＮ−（ＳＴＰＣＹＬ−ＲＳＴＣＹＬ）×６０
上式で、「ＳＴＰＣＹＬ−ＲＳＴＣＹＬ」は、最後の気筒判別値ＲＳＴＣＹＬから停止時の気筒判別値ＳＴＰＣＹＬの違いを、更新回数で示すものとし、例えば、最後の気筒判別の結果ＲＳＴＣＹＬが、基準ピストン位置にある気筒として第４気筒を示し、停止時の気筒判別の結果ＳＴＰＣＹＬが、基準ピストン位置にある気筒として第２気筒を示す場合には、「ＳＴＰＣＹＬ−ＲＳＴＣＹＬ」を１とする。
【０１１１】
そして、前記「ＳＴＰＣＹＬ−ＲＳＴＣＹＬ」に６０パルス（クランク角１８０deg相当値）を乗算することで、気筒の切り替わりが何パルス分に相当するかを求める。
ここで、ＳＴＰＣＮから（ＳＴＰＣＹＬ−ＲＳＴＣＹＬ）×６０を減算すれば、停止気筒のクランク角位置が求められることになる。
【０１１２】
例えば、図９の時刻ｔ１が停止位置であったとすると、（ＳＴＰＣＹＬ−ＲＳＴＣＹＬ）は零であり、ＳＴＰＡＮＧＬ＝ＳＴＰＣＮ＝１０となり、時刻ｔ０で判別された気筒が、基準クランク角位置であるＢＴＤＣ１００degから回転信号ＲＧＣで１０パルス分だけ進んだ位置で停止したことになる。
【０１１３】
また、例えば、逆転することなく機関が停止し、前記停止位置ＳＴＰＣＮが７０であったとすると、機関１０１が停止した時点での気筒判別値ＳＴＰＣＹＬは、気筒判別値ＲＳＴＣＹＬから１つだけ進んだ気筒になり、（ＳＴＰＣＹＬ−ＲＳＴＣＹＬ）＝１となって、ＳＴＰＡＮＧＬ＝７０−１×６０＝１０となり、気筒判別値ＳＴＰＣＹＬで示される気筒が、基準クランク角位置であるＢＴＤＣ１００degから回転信号ＲＧＣで１０パルス分だけ進んだ位置で停止したことになる。
【０１１４】
上記のようにして、機関１０１の停止位置が、どの気筒のどの角度位置であるかを示すデータとして検出される。
従って、アイドルストップ状態からの再始動時には、どの気筒から燃料を噴射させ、どの気筒から点火させるべきかが予め分かり、燃焼室内での燃料の燃焼によって内燃機関１０１を回転させ始める始動が可能となり、また、スタータモータを用いて内燃機関１０１を回転させ始める場合でも、早期に燃料噴射・点火を開始させることができる。
【０１１５】
尚、上記実施形態では、アイドルストップ状態からの再始動時に用いるデータとして、クランクシャフト１２０（出力軸）の停止位置を検出させたが、停止位置の検出結果を用いる制御を、アイドルストップ状態からの再始動制御に限定するものではない。
【０１１６】
また、前記ステップＳ２００２でアイドルストップを禁止した場合には、運転者に対してアイドルストップ制御を禁止していることを、ランプ等によって警告することが好ましい。
【０１１７】
また、クランクシャフト１２０（出力軸）の正転・逆転で異なる回転信号を出力する回転センサは、始動用大歯車１３２ａの歯を検出するセンサに限定されず、単位クランク角信号ＰＯＳが、欠落することなく、クランクシャフト１２０（出力軸）の正転・逆転で異なる振幅又はパルス幅で出力されるようにすることができる。
【０１１８】
また、図６に示すシステムにおいて、Ｈｉｇｈ側コンパレータ１１４ａ及びＬｏｗ側コンパレータ１１４ｂの出力をそれぞれにカウントするカウンタを、前記マイクロコンピュータ１１４ｃの外部に備えることができる。
【０１１９】
また、上記では、正転・逆転に関わらずにパルス数をカウントするＨｉｇｈ側カウンタＣＮＴＨＩと、正転時にパルス数をカウントするＬｏｗ側カウンタＣＮＴＬＯＷとを用いたが、正転時にカウントアップされるカウンタと、逆転時にカウントアップされるカウントとを備える構成とすることができる。
【０１２０】
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
（イ）請求項３記載の内燃機関の制御装置において、
前記停止位置検出手段が、前記２つのカウンタによる計数値のリセットを、前記内燃機関が停止過程に入ってからは禁止することを特徴とする内燃機関の制御装置。
【０１２１】
上記発明によると、停止過程に入る前に、計数値が無用に大きくなってしまうことを抑制できる。
（ロ）請求項（イ）記載の内燃機関の制御装置において、
前記停止位置検出手段が、機関回転速度が所定速度未満になった時点で、前記内燃機関が停止過程に入ったことを判定することを特徴とする内燃機関の制御装置。
【０１２２】
上記発明によると、機関回転速度に基づいて、機関の停止過程に入ったことを適切に判断できる。
（ハ）請求項２又は３記載の内燃機関の制御装置において、
前記停止位置検出手段が、前記２つのカウンタによる計数値の少なくとも一方が異常値である場合に、前記２つのカウンタによる計数値に基づく停止位置の算出を禁止することを特徴とする内燃機関の制御装置。
【０１２３】
上記発明によると、計数結果が異常になった場合に、異常値に基づいて停止位置が誤って検出されてしまうことを抑制できる。
（ニ）請求項２又は３記載の内燃機関の制御装置において、
前記回転センサが出力する回転信号が、正転時・逆転時の双方で、上側閾値ＳＬＨよりも周期的に高くなる信号であって、かつ、正転時は下側閾値ＳＬＬ（下側閾値ＳＬＬ＜上側閾値ＳＬＨ）を周期的に下回るのに対し、逆転時には、前記下側閾値ＳＬＬを下回ることがない信号であり、
前記回転信号が前記上側閾値ＳＬＨを上回る場合にハイレベルを出力する第１コンパレータと、前記回転信号が前記下側閾値ＳＬＬを上回る場合にハイレベルを出力する第２コンパレータとを備え、
前記２つのカウンタのうちの一方が前記第１コンパレータからのパルス信号の出力をカウントし、他方が前記第２コンパレータからのパルス信号の出力をカウントすることを特徴とする内燃機関の制御装置。
【０１２４】
上記発明によると、正転・逆転によってレベル（振幅）の異なる信号が出力される場合に、正転・逆転によって異なるパターンでの計数を行わせ、正転・逆転に応じた停止位置の検出を行わせることができる。
【符号の説明】
【０１２５】
１０１…内燃機関、１１４…エンジンコントロールユニット（ＥＣＵ）、１１７…クランク角センサ、１２０…クランクシャフト、１３２…リングギアセンサ（回転センサ）、１３３…カムセンサ、１３４…カムシャフト
【図１】
2010216429.tif 000003
【図２】
2010216429.tif 000004
【図３】
2010216429.tif 000005
【図４】
2010216429.tif 000006
【図５】
2010216429.tif 000007
【図６】
2010216429.tif 000008
【図７】
2010216429.tif 000009
【図８】
2010216429.tif 000010
【図９】
2010216429.tif 000011