"内燃機関のクランク軸の回転角度であるクランク角度を検出するクランク角度センサと、前記クランク軸の2回転に対応して1回転するカム軸の回転角度に応じたカム軸回転信号を出力するカム角度センサと、前記クランク角度センサによって検出されるクランク角度及び前記カム軸回転信号に基づいて、前記機関の回転位相を判定する回転位相判定手段とを備える内燃機関の制御装置において、前記カム角度センサは、前記カム軸回転信号が、基準角度位置からクランク角度360度の第1角度期間に対応する第1角度期間二値信号と、前記第1角度期間に続くクランク角度360度の第2角度期間に対応する第2角度期間二値信号とからなり、前記第2角度期間二値信号は、前記第1角度期間二値信号を反転させた信号となるように構成されており、前記回転位相判定手段は、前記機関のイグニッションスイッチがオンされた時点における前記カム軸回転信号の値と、前記機関の始動開始後の前記カム軸回転信号と、前記クランク角度センサにより検出されるクランク角度とに基づいて、前記機関の始動開始時点における始動開始クランク角度からクランク角度180度の期間内において、前記機関回転位相を判定することを特徴とする内燃機関の制御装置。前記機関の気筒数は4であり、前記第1角度期間二値信号は、前記基準角度位置からクランク角度180度に相当する第1期間において第1の値をとり、前記第1期間に続く、第1所定角度に相当する第2期間において第2の値をとり、前記第2期間に続く、第2所定角度に相当する第3期間において前記第1の値をとる信号であり、前記第1所定角度は、90度未満の値に設定され、前記第2所定角度は180度から前記第1所定角度を減算した値に設定されることを特徴とする請求項1に記載の内燃機関の制御装置。前記回転位相判定手段は、A前記カム軸回転信号が始動開始後最初に変化した時点における、前記始動開始クランク角度を基準とした第1判定角度が前記第2所定角度以上であるときは、直ちに前記機関回転位相を特定し、B前記第1判定角度が前記第2所定角度より小さいときは、前記第1判定角度を基準とした第2判定角度に応じて、前記機関回転位相を特定することを特徴とする請求項2に記載の内燃機関の制御装置。前記回転位相判定手段は、前記ステップBにおいては、B1前記第2判定角度が前記第1所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B2前記第1判定角度が前記第1所定角度以下で、かつ前記第2判定角度が前記第1所定角度を超えた後であって前記第2所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B3前記第1判定角度が前記第1所定角度より大きく、かつ前記カム軸回転信号が変化する前に前記第2判定角度が前記第1所定角度を超えたときは、その時点で前記機関回転位相を特定し、B4前記第1判定角度が前記第1所定角度以下で、かつ前記カム軸回転信号が変化する前に前記第2判定角度が前記第2所定角度を超えたときは、その時点で前記機関回転位相を特定することを特徴とする請求項3に記載の内燃機関の制御装置。前記機関の気筒数は6であり、前記第1角度期間二値信号は、前記基準角度位置からクランク角度120度に相当する第1期間において第1の値をとり、前記第1期間に続く、第1所定角度に相当する第2期間において第2の値をとり、前記第2期間に続く、第2所定角度に相当する第3期間において前記第1の値をとり、前記第3期間に続く、第3所定角度に相当する第4期間において前記第2の値をとり、前記第4期間に続く、第4所定角度に相当する第5期間において前記第1の値をとる信号であり、前記第1及び第3所定角度はともに60度未満の異なる値に設定され、前記第2所定角度は120度から前記第1所定角度を減算した値に設定され、前記第4所定角度は120度から前記第3所定角度を減算した値に設定されることを特徴とする請求項1に記載の内燃機関の制御装置。前記第1所定角度は前記第3所定角度より小さな値に設定され、前記回転位相判定手段は、A前記カム軸回転信号が始動開始後最初に変化した時点における、前記始動開始クランク角度を基準とした第1判定角度が前記第2所定角度以上であるときは、直ちに前記機関回転位相を特定し、B前記第1判定角度が前記第2所定角度より小さいときは、前記第1判定角度を基準とした第2判定角度に応じて、前記機関回転位相を特定することを特徴とする請求項5に記載の内燃機関の制御装置。前記回転位相判定手段は、前記ステップBにおいては、B1前記第2判定角度が前記第1所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B2前記第2判定角度が前記第1所定角度を超えた後であって前記第3所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B3前記第2判定角度が前記第3所定角度を超えた後であって前記第4所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B4前記第2判定角度が前記第4所定角度を超えた後であって前記第2所定角度を超える前に前記カム軸回転信号が変化したときは、その時点で前記機関回転位相を特定し、B5前記第1判定角度が前記第3所定角度より大きく、かつ前記カム軸回転信号が変化する前に前記第2判定角度が前記第3所定角度を超えたときは、その時点で前記機関回転位相を特定し、B6前記第1判定開度が前記第3所定角度以下で、かつ前記カム軸回転信号が変化する前に前記第2判定角度が前記第2所定角度を超えたときは、その時点で前記機関回転位相を特定することを特徴とする請求項6に記載の内燃機関の制御装置。上記特許文献1に示された装置は、カム角度センサ及びクランク角度センサの構成が比較的複雑であり、より簡単な構成のセンサを使用して、機関始動開始時において早期に機関作動位相を判定する技術が求められていた。本発明はこの点に着目してなされたものであり、比較的簡単な構成のセンサを使用して、機関始動開始時において機関回転位相を早期に精度良く判定することができる内燃機関の制御装置を提供することを目的とする。上記目的を達成するため請求項1に記載の発明は、内燃機関のクランク軸の回転角度であるクランク角度を検出するクランク角度センサと、前記クランク軸の2回転に対応して1回転するカム軸の回転角度に応じたカム軸回転信号を出力するカム角度センサと、前記クランク角度センサによって検出されるクランク角度及び前記カム軸回転信号に基づいて、前記機関の回転位相を判定する回転位相判定手段とを備える内燃機関の制御装置において、前記カム角度センサは、前記カム軸回転信号SCAMが、基準角度位置PREFからクランク角度360度の第1角度期間T1~T3に対応する第1角度期間二値信号と、前記第1角度期間に続くクランク角度360度の第2角度期間T4~T6に対応する第2角度期間二値信号とからなり、前記第2角度期間二値信号は、前記第1角度期間二値信号を反転させた信号となるように構成されており、前記回転位相判定手段は、前記機関のイグニッションスイッチがオンされた時点における前記カム軸回転信号の値CAMPORTINIと、前記機関の始動開始後の前記カム軸回転信号SCAMと、前記クランク角度センサにより検出されるクランク角度CRKINTCNTとに基づいて、前記機関の始動開始時点における始動開始クランク角度PSからクランク角度180度の期間内において、前記機関回転位相CACYLを判定することを特徴とする。請求項2に記載の発明は、請求項1に記載の内燃機関の制御装置において、前記機関の気筒数は4であり、前記第1角度期間二値信号は、前記基準角度位置PREFからクランク角度180度に相当する第1期間T1において第1の値Hをとり、前記第1期間に続く、第1所定角度CA1に相当する第2期間T2において第2の値Lをとり、前記第2期間に続く、第2所定角度CA2に相当する第3期間T3において前記第1の値Hをとる信号であり、前記第1所定角度CA1は、90度未満の値に設定され、前記第2所定角度CA2は180度から前記第1所定角度CA1を減算した値に設定されることを特徴とする。請求項3に記載の発明は、請求項2に記載の内燃機関の制御装置において、前記回転位相判定手段は、A前記カム軸回転信号が始動開始後最初に変化した時点tC1における、前記始動開始クランク角度PSを基準とした第1判定角度CAD1が前記第2所定角度CA2以上であるときは、直ちに前記機関回転位相を特定し領域A、B前記第1判定角度CAD1が前記第2所定角度CA2より小さいときは、前記第1判定角度CAD1を基準とした第2判定角度CAD2に応じて、前記機関回転位相を特定する領域B~Eことを特徴とする。請求項4に記載の発明は、請求項3に記載の内燃機関の制御装置において、前記ステップBにおいては、B1前記第2判定角度CAD2が前記第1所定角度CA1を超える前に前記カム軸回転信号が変化したときは、その時点tDBで前記機関回転位相を特定し領域B、B2前記第1判定角度CAD1が前記第1所定角度CA1以下で、かつ前記第2判定角度CAD2が前記第1所定角度CA1を超えた後であって前記第2所定角度CA2を超える前に前記カム軸回転信号が変化したときは、その時点tDCで前記機関回転位相を特定し領域C、B3前記第1判定角度CAD1が前記第1所定角度CA1より大きく、かつ前記カム軸回転信号が変化する前に前記第2判定角度CAD2が前記第1所定角度CA1を超えたときは、その時点tDDで前記機関回転位相を特定し領域D、B4前記第1判定角度CAD1が前記第1所定角度CA1以下で、かつ前記カム軸回転信号が変化する前に前記第2判定角度CAD2が前記第2所定角度CA2を超えたときは、その時点tDEで前記機関回転位相を特定する領域Eことを特徴とする。請求項5に記載の発明は、請求項1に記載の内燃機関の制御装置において、前記機関の気筒数は6であり、前記第1角度期間二値信号は、前記基準角度位置PREFからクランク角度120度に相当する第1期間T1において第1の値Hをとり、前記第1期間T1に続く、第1所定角度CA1に相当する第2期間T2において第2の値Lをとり、前記第2期間T2に続く、第2所定角度CA2に相当する第3期間T3において前記第1の値Hをとり、前記第3期間T3に続く、第3所定角度CA3に相当する第4期間T4において前記第2の値Lをとり、前記第4期間T4に続く、第4所定角度CA4に相当する第5期間T5において前記第1の値Hをとる信号であり、前記第1及び第3所定角度CA1,CA3はともに60度未満の異なる値18度,42度に設定され、前記第2所定角度CA2は120度から前記第1所定角度CA1を減算した値102度に設定され、前記第4所定角度CA4は120度から前記第3所定角度CA3を減算した値78度に設定されることを特徴とする。請求項6に記載の発明は、請求項5に記載の内燃機関の制御装置において、前記第1所定角度CA1は前記第3所定角度CA3より小さな値に設定され、前記回転位相判定手段は、A前記カム軸回転信号が始動開始後最初に変化した時点tC1における、前記始動開始クランク角度を基準とした第1判定角度CAD1が前記第2所定角度CA2:102度以上であるときは、直ちに前記機関回転位相を特定し領域A、B前記第1判定角度CAD1が前記第2所定角度CA2:102度より小さいときは、前記第1判定角度CAD1を基準とした第2判定角度CAD2に応じて、前記機関回転位相を特定する領域B~Gことを特徴とする。請求項7に記載の発明は、請求項6に記載の内燃機関の制御装置において、前記回転位相判定手段は、前記ステップBにおいては、B1前記第2判定角度CAD2が前記第1所定角度CA1:18度を超える前に前記カム軸回転信号が変化したときは、その時点tDBで前記機関回転位相を特定し領域B、B2前記第2判定角度CAD2が前記第1所定角度CA1:18度を超えた後であって前記第3所定角度CA3:42度を超える前に前記カム軸回転信号が変化したときは、その時点tDDで前記機関回転位相を特定し領域D、B3前記第2判定角度CAD2が前記第3所定角度CA3:42度を超えた後であって前記第4所定角度CA4:78度を超える前に前記カム軸回転信号が変化したときは、その時点tDEで前記機関回転位相を特定し領域E、B4前記第2判定角度CAD2が前記第4所定角度CA4:78度を超えた後であって前記第2所定角度CA2:102度を超える前に前記カム軸回転信号が変化したときは、その時点tDCで前記機関回転位相を特定し領域C、B5前記第1判定角度CAD1が前記第3所定角度CA3:42度より大きく、かつ前記カム軸回転信号が変化する前に前記第2判定角度CAD2が前記第3所定角度CA3:42度を超えたときは、その時点tDFで前記機関回転位相を特定し領域F、B6前記第1判定角度CAD1が前記第3所定角度CA3:42度以下で、かつ前記カム軸回転信号が変化する前に前記第2判定角度CAD2が前記第2所定角度CA2:102度を超えたときは、その時点tDGで前記機関回転位相を特定する領域Gことを特徴とする。請求項1に記載の発明によれば、カム角度センサは、カム軸回転信号が、基準角度位置からクランク角度360度の第1角度期間に対応する第1角度期間二値信号と、第1角度期間に続くクランク角度360度の第2角度期間に対応する第2角度期間二値信号とからなり、第2角度期間二値信号は、第1角度期間二値信号を反転させた信号となるように構成されているので、イグニッションスイッチがオンされた時点におけるカム軸回転信号の値によって、始動開始クランク角度が含まれる角度領域始動開始領域が、第1角度期間または第2角度期間のいずれにあるかを判定することができる第1判定結果。また始動開始後のカム軸回転信号及び検出クランク角度に基づいて、始動開始領域RSが第1または第2角度期間に含まれるより狭い領域A~Eのいずれに相当するかを判定することができる第2判定結果。第1判定結果及び第2判定結果を用いることにより、始動開始クランク角度からクランク角度180度の期間内において、機関回転位相を正確に判定することができる。請求項2に記載の発明によれば、4気筒機関において、第1角度期間二値信号は、基準角度位置からクランク角度180度に相当する第1期間において第1の値をとり、第1期間に続く、第1所定角度に相当する第2期間において第2の値をとり、第2期間に続く、第2所定角度に相当する第3期間において第1の値をとるように構成され、第1所定角度は90度未満の値に設定され、第2所定角度は180度から第1所定角度を減算した値に設定される。この設定により、クランク角度センサに、基準となる角度位置を特定するための構成例えばパルサーの歯の欠損部を設けることなく、迅速かつ正確な位相判定が可能となる。クランク角度センサのパルサーの歯の欠損部を設けて、その欠損部とカム軸回転信号との相対関係に基づいて機関回転位相を判定する場合には、両者の相対関係のずれ製造時の特性ばらつき、あるいは急激な回転変動によって発生する欠損部の検出漏れなどに起因するによって判定精度が低下するおそれがあるが、本発明ではクランク角度センサに、基準となる角度位置を特定するための構成を設ける必要がなく、安定的に高い判定精度が得られる。請求項3に記載の発明によれば、カム軸回転信号が始動開始後最初に変化した時点tC1における、始動開始クランク角度を基準とした第1判定角度が第2所定角度以上であるときは、始動開始領域が領域A図3参照であることが判定できるので、直ちに機関回転位相を特定することができる。一方、第1判定角度が第2所定角度より小さいときは、始動開始領域を直ちに判定できないため、第1判定角度を基準とした第2判定角度を用いることにより、機関回転位相を特定することができる。請求項4に記載の発明によれば、第1判定角度が第2所定角度より小さいときは、以下のように機関回転位相が特定される。第2判定角度が第1所定角度を超える前にカム軸回転信号が変化したときは、第2判定角度が第1所定角度とほぼ等しく、始動開始領域が領域Bであると判定できるので、その時点で機関回転位相を特定することができる。また第1判定角度が第1所定角度以下で、かつ第2判定角度が第1所定角度を超えた後であって第2所定角度を超える前にカム軸回転信号が変化したときは、第2判定角度が第2所定角度とほぼ等しく、始動開始領域が領域Cであると判定できるので、その時点で機関回転位相を特定することができる。また第1判定角度が第1所定角度より大きく、かつカム軸回転信号が変化する前に第2判定角度が第1所定角度を超えたときは、始動開始領域が領域Dであると判定できるので、その時点で機関回転位相を特定することができ、第1判定角度が第1所定角度以下で、かつカム軸回転信号が変化する前に第2判定角度が第2所定角度を超えたときは、始動開始領域が領域Eであると判定できるので、その時点で機関回転位相を特定することができる。請求項5に記載の発明によれば、6気筒機関において、第1角度期間二値信号は、基準角度位置からクランク角度120度に相当する第1期間において第1の値をとり、第1期間に続く、第1所定角度に相当する第2期間において第2の値をとり、第2期間に続く、第2所定角度に相当する第3期間において第1の値をとり、第3期間に続く、第3所定角度に相当する第4期間において第2の値をとり、第4期間に続く、第4所定角度に相当する第5期間において第1の値をとるように構成され、第1及び第3所定角度はともに60度未満の異なる値に設定され、第2所定角度は120度から第1所定角度を減算した値に設定され、第4所定角度は120度から第3所定角度を減算した値に設定される。この設定により、6気筒機関においても請求項2の発明と同様の効果が得られる。請求項6に記載の発明によれば、第1所定角度は第3所定角度より小さな値に設定され、カム軸回転信号が始動開始後最初に変化した時点における、始動開始クランク角度を基準とした第1判定角度が第2所定角度102以上であるときは、始動開始領域が領域A図12参照であることが判定できるので、直ちに機関回転位相を特定することができる。一方、第1判定角度が第2所定角度より小さいときは、始動開始領域を直ちに判定できないため、第1判定角度を基準とした第2判定角度を用いることにより、機関回転位相を特定することができる。請求項7に記載の発明によれば、第1判定角度が第2所定角度より小さいときは、以下のように機関回転位相が特定される。第2判定角度が第1所定角度を超える前にカム軸回転信号が変化したときは、第2判定角度は第1所定角度にほぼ等しく、始動開始領域が領域Bであると判定できるので、その時点で機関回転位相を特定することができ、第2判定角度が第1所定角度を超えた後であって第3所定角度を超える前にカム軸回転信号が変化したときは、始動開始領域が領域Dであると判定できるので、その時点で機関回転位相を特定することができ、第2判定角度が第3所定角度を超えた後であって第4所定角度を超える前にカム軸回転信号が変化したときは、始動開始領域が領域Eであると判定できるので、その時点で機関回転位相を特定することができ、第2判定角度が第4所定角度を超えた後であって第2所定角度を超える前にカム軸回転信号が変化したときは、始動開始領域が領域Cであると判定できるので、その時点で機関回転位相を特定することができる。また第1判定角度が第3所定角度より大きく、かつカム軸回転信号が変化する前に第2判定角度が第3所定角度を超えたときは、始動開始領域が領域Fであると判定できるので、その時点で機関回転位相を特定することができ、第1判定角度が第3所定角度以下で、かつカム軸回転信号が変化する前に第2判定角度が第2所定角度を超えたときは、始動開始領域が領域Gであると判定できるので、その時点で機関回転位相を特定することができる。以下本発明の実施の形態を図面を参照して説明する。[第1の実施形態]図1は本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。内燃機関以下単にエンジンという1は、4気筒を有し、吸気管2を備えている。吸気管2にはスロットル弁3が設けられている。燃料噴射弁6はエンジン1とスロットル弁3との間かつ吸気管2の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共に電子制御ユニット以下ECUという5に電気的に接続されてECU5からの制御信号により燃料噴射弁6の開弁時期及び開弁時間燃料噴射時期及び燃料噴射時間が制御される。エンジン1の各気筒の点火プラグ7は、ECU5に接続されており、ECU5からの点火信号により点火時期が制御される。吸気管2のスロットル弁3の下流には吸気圧PBAを検出する吸気圧センサ9が設けられており、その検出信号はECU5に供給される。ECU5には、エンジン1のクランク軸8の回転角度を検出するクランク角度センサ10と、エンジン1の吸気弁及び排気弁を駆動するカムが固定されるカム軸図示せずの回転角度を検出するカム角度センサ11とが接続されている。クランク角度センサ10は、比較的短い一定クランク角周期例えば6度周期で1パルス以下CRKパルスというを発生し、ECU5に供給する。カム軸は、クランク軸8の2回転に対応して1回転する。カム角度センサ11は、図2に示すカム軸回転信号SCAMを出力する。すなわち、カム角度センサ11は、カム軸回転信号SCAMが基準角度位置PREFからクランク角度180度に相当する第1期間T1において高レベルH第1の値をとり、第1期間T1に続く、第1所定角度CA1例えばクランク角度24度に相当する第2期間T2において低レベルL第2の値をとり、第2期間T2に続く、第2所定角度CA2例えばクランク角度156度に相当する第3期間T3において高レベルHをとり、第3期間T3に続くクランク角度180度に相当する第4期間T4において低レベルLをとり、第4期間T4に続く、第1所定角度CA1に相当する第5期間T5において高レベルHをとり、第5期間T5に続く、第2所定角度CA2に相当する第6期間T3において低レベルLをとるように構成されている。すなわちカム角度センサ11は、第4~第6期間T4~T6におけるカム軸回転信号SCAMは、第1~第3期間T1~T3におけるカム軸回転信号SCAMを反転させた信号となるように構成されている。また第1所定角度CA1と第2所定角度CA2との和は180度となるように設定されている。なお、カム角度センサ11は検出素子としてホール素子を使用しており、イグニッションスイッチがオンされた時点エンジン制御装置に電源が供給された時点における回転位相に対応した値高レベルHまたは低レベルLを出力する。ECU5のCPUは、クランク角度センサ10及びカム角度センサ11の出力信号に基づいて、エンジン1の回転位相判定気筒判別を行う。CRKパルスは、燃料噴射時期、点火時期等の各種タイミング制御、エンジン回転数エンジン回転速度NEの検出に使用される。図3は、本実施形態におけるエンジン回転位相判定エンジン始動直後の手法を説明するためのタイムチャートである。図3a及びbは、それぞれカム角度センサ11及びクランク角度センサ10の出力信号を示す。図の上部に示すCACYLは、エンジン1の720度周期1燃焼サイクルの回転位相以下エンジン回転位相というであり、CRKCNTは対応するCRKパルス6度周期のカウント値以下回転位相カウント値というである。図3に示すエンジン回転位相CACYLと、各気筒の行程との関係は予め設定されているので、エンジン回転位相CACYLを判定することにより、各気筒に対応した燃料噴射及び点火を適切なタイミングで実行することができる。本実施形態におけるカム角度センサ11は、上述したように第4~第6期間T4~T6におけるカム軸回転信号SCAMは、第1~第3期間T1~T3におけるカム軸回転信号SCAMを反転させた信号となるように構成されているので、イグニッションスイッチがオンされたときの信号値以下初期信号値というSCINI高レベルHであるか低レベルLであるかと、始動開始位置PSが同図cに示す領域A~Eのいずれに含まれているかの判定結果とに基づいて、エンジン回転位相判定が行われる。例えば、始動開始位置PSが領域Aにあると判定された場合、初期信号値SCINIがHであれば、始動開始位置PSが図3に示すエンジン回転位相0度直後の領域Aにあるとが判別でき、初期信号値SCINIがLであれば、エンジン回転位相360度直後の領域Aにあるとが判別できる。始動開始位置PSが含まれている領域以下始動開始領域というRSが特定されると、その始動開始領域RSの判定時点tRSDにおいてエンジン回転位相CACYLを特定することができ、その判定時点tRSD以後の燃料噴射及び点火を正しい順序で実行することが可能となる。そこで、次に始動開始領域RSが領域A~Eのいずれであるかの判定手法について図4を参照して説明する。1始動開始領域RSが領域Aであるときは、始動開始位置PSから始動開始後最初にカム軸回転信号SCAMが変化する時点以下第1変化タイミングというtC1までの第1判定角度CAD1Aは、第2所定角度CA2以上となる図4a,RS=A。したがって、第1変化タイミングtC1において、第1判定角度CAD1が第2所定角度CA2以上であるときは、始動開始領域RSは領域Aであると判定できる時刻tDA=tC1。2第1判定角度CAD1が第2所定角度CA2より小さいときは、第1判定角度CAD1を基準とした第1変化タイミングtC1におけるクランク角度を0度とした第2判定角度CAD2に応じて、下記3~6の条件を判別することにより、始動開始領域RSが領域B~Eの何れであるかを判定することができる。以下の説明では、第1変化タイミングtC1の次にカム軸回転信号SCAMが変化する時点を第2変化タイミングtC2という。3始動開始領域RSが領域Bであるときは、第1判定角度CAD1Bは、第2所定角度CA2より小さくなり、第2変化タイミングtC2における第2判定角度CAD2Bが、第1所定角度CA1と等しくなる図4a,RS=B。換言すれば、第2判定角度CAD2Bが第1所定角度CA1を超える前に、カム軸回転信号SCAMが変化する。4始動開始領域RSが領域Cであるときは、第1判定角度CAD1Cは第1所定角度以下であり、かつ第2変化タイミングtC2における第2判定角度CAD2Cが、第2所定角度CA2と等しくなる図4b。換言すれば、第2判定角度CAD2Cが第1所定角度CA1を超えた後であって第2所定角度CA2を超える前に、カム軸回転信号SCAMが変化する。5始動開始領域RSが領域Dであるときは、第1判定角度CAD1Dは、第1所定角度CA1より大きくなり、かつ第2変化タイミングtC2より前に第2判定角度CAD2Dが第1所定角度CA1を超える図4c,RS=D。6始動開始領域RSが領域Eであるときは、第1判定角度CAD1Eは、第1所定角度CA1以下であり、かつ第2変化タイミングtC2より前に第2判定角度CAD2Dが第2所定角度CA2を超える図4c,RS=E。図4から明らかなように、上記3~6の条件を判別することにより、それぞれ時刻tDB,tDC,tDD,及びtDEにおいて、始動開始領域RSを判定することができる。したがって、始動開始領域RSが領域A~Eのいずれであっても、始動開始位置PSからクランク角度180度以内で、エンジン回転位相CACYLの判定を完了することができる。次に図5~図9を参照して、エンジン回転位相CACYLの判定処理を説明する。これらの図に示す処理は、ECU5のCPUで実行される。本実施形態では、クランク角度の検出は、6度周期のCRKパルスをカウントすることにより行われる。したがって、CRKパルスのカウント値が上述した判定角度CAD1及びCAD2に対応するパラメータとして使用される。図5は、初期化処理のフローチャートである。初期化処理は、イグニッションスイッチがオンされたときに1回だけ実行される。ステップS11では、カム軸回転信号SCAMの値が高レベルHか否かを判別し、その答が肯定YESであるときは、初期値フラグCAMPORTINIを1に設定するステップS12。カム軸回転信号SCAMの値が低レベルLであるときは、初期値フラグCAMPORTINIを0に設定するステップS13。その後、第1判定実行フラグCRKINTCHK、始動開始領域パラメータCYLPATN、クランク角度判定パラメータCRKCNTJUG、クランク角度パラメータCRKINCNT、及びカム角度パラメータCAMINTCNTを0に設定する初期化を実行するステップS14。これらのフラグ及びパラメータは、図6及び/または図7の処理で使用されるものである。図6は、CRKパルスの発生に同期して実行されるCRK割り込み処理のフローチャートである。ステップS21では、クランク角度パラメータCRKINTCNTを1だけ増加させ、ステップS22では、第1判定実行フラグCRKINTCHKが1であるか否かを判別する。第1判定実行フラグCRKINTCHKは、図7に示すCAM割り込み処理で設定されるフラグでありステップS35,S36,S42、最初はステップS22の答は否定NOであるので、直ちに処理を終了する。CAM割り込み処理は、カム軸回転信号SCAMの値が変化するタイミングで実行される処理であり、始動開始後最初のCAM割り込み処理以下単に最初のCAM割り込み処理というで、始動開始領域RSの判定が完了しないとき、第1判定実行フラグCRKINTCHKが1に設定される。前述したように、最初のCAM割り込み処理で始動開始領域の判定が完了するのは、始動開始領域RSが領域Aである場合のみである。ステップS22の答が肯定YES、すなわち第1判定実行フラグCRKINTCHKが1であるときは、クランク角度パラメータCRKINTCNTが第1所定値nCRK1に2を加算した値と等しいか否かを判別するステップS23。第1所定値nCRK1は、第1所定角度CA124度に対応するCRKパルス数であり、本実施形態では4である。2を加算するのは、誤差を考慮して判定精度を高めるためである。ステップS23の答が肯定YESであるときは、クランク角度判定パラメータCRKCNTJUGの値が1であるか否かを判別するステップS24。クランク角度判定パラメータCRKCNTJUGは、最初のCAM割込処理で設定されるパラメータであり、クランク角度パラメータCRKINTCNTの値がnCRK11より大きいとき1に設定されステップS35、nCRK11以下であるとき2に設定されるステップS36。ステップS24の答が否定NOであるときは、直ちにステップS29に進む。一方、クランク角度判定パラメータCRKCNTJUGが1であるときは、最初のCAM割り込み処理におけるクランク角度パラメータCRKINTCNTの値が、nCRK11より大きく、かつ次のCAM割り込み処理が実行される前に第2変化タイミングtC2より前にクランク角度パラメータCRKINTCNTが第1所定値nCRK1を超えたことを示すので、始動開始領域RSは領域Dであると判定し、始動開始領域パラメータCYLPATNを、領域Dを示す領域D指示値NPDに設定するステップS25。ステップS25実行後は、ステップS29に進む。ステップS23の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第2所定値nCRK2に1を加算した値と等しいか否かを判別するステップS26。第2所定値nCRK2は、第2所定角度CA2156度に対応するCRKパルス数であり、本実施形態では26である。1を加算するのは、誤差を考慮して判定精度を高めるためである。ステップS26の答が肯定YESであるときは、クランク角度判定パラメータCRKCNTJUGの値が2であるか否かを判別するステップS27。ステップS26またはS27の答が否定NOであるときは直ちにステップS29に進む。ステップ27の答が肯定YESであるときは、最初のCAM割り込み処理におけるクランク角度パラメータCRKINTCNTの値が、nCRK11以下であり、かつ次のCAM割り込み処理が実行される前に第2変化タイミングtC2より前にクランク角度パラメータCRKINTCNTが第2所定値nCRK2を超えたことを示すので、始動開始領域RSは領域Eであると判定し、始動開始領域パラメータCYLPATNを、領域Eを示す領域E指示値NPEに設定するステップS28。ステップS28実行後は、ステップS29に進む。ステップS29では、図8及び図9に示す位相判定処理を実行する。図7は、CAM割り込み処理のフローチャートである。ステップS31では、カム角度パラメータCAMINTCNTが0であるか否かを判別する。最初はこの答は肯定YESであるので、ステップS32に進み、クランク角度パラメータCRKINCNTが第2所定値nCRKより大きいか否かを判別する。この答が肯定YESであるときは、始動開始領域RSは領域Aであると判定し、始動開始領域パラメータCYLPATNを、領域Aを示す領域A指示値NPAに設定するステップS33。その後ステップS43に進む。ステップS32の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第1所定値nCRK1に1を加算した値より大きいか否かを判別するステップS34。この答が肯定YES、すなわちnCRK11<CRKINTCNT≦nCRK2-1であるときは、第1判定実行フラグCRKINTCHKを1に設定するとともに、クランク角度判定パラメータCRKCNTJUGを1に設定するステップS35。その後ステップS43に進む。ステップS34の答が否定NO、すなわちCRKINTCNT≦nCRK11であるときは、第1判定実行フラグCRKINTCHKを1に設定するとともに、クランク角度判定パラメータCRKCNTJUGを2に設定するステップS36。その後ステップS43に進む。ステップS43では、カム角度パラメータCAMINTCNTを1だけ増加させるとともに、クランク角度パラメータCRKINTCNTを0に戻す。その後ステップS44に進み、図8及び図9に示す位相判定処を実行する。ステップS31の答が否定NO、すなわちカム角度パラメータCAMINTCNTが1以上であるときは、カム角度パラメータCAMINTCNTが1であるか否かを判別するステップS37。その答が否定NOであるときは、直ちにステップS43に進む。ステップS37の答が肯定YES、すなわち始動開始後2回目のCAM割り込み処理であるときは、クランク角度パラメータCRKINCNTが第1所定値nCRK1から1を減算した値以上で、かつ第1所定値nCRK1に1を加算した値以下であるか否かを判別するステップS38。その答が肯定YESであるときは、始動開始領域RSは領域Bであると判定し、始動開始領域パラメータCYLPATNを領域B指示値NPBに設定するステップS39。その後ステップS42に進む。ステップS38の答が否定NOであるときは、クランク角度判定パラメータCRKCNTJUGが2であるか否かを判別するステップS40。その答が否定NOであるときは直ちにステップS43に進む。一方、ステップS38の答が否定NOでかつステップS40の答が肯定YESであるとき、すなわちクランク角度パラメータCRKINTCNTが第1所定値nCRK1±1の範囲外であって、かつ第1判定角度CAD1がnCRK11以下であるときは、始動開始領域RSは領域Cであると判定し、始動開始領域パラメータCYLPATNを領域C指示値NPCに設定するステップS41。その後ステップS42に進む。ステップS42では、第1判定実行フラグCRKINTCHKを0に戻し、ステップS43に進む。ステップS39の答が否定NOであるときは直ちにステップS43に進む。図8及び図9は、図6のステップS29及び図7のステップS44で実行される位相判定処理のフローチャートである。ステップS51では、始動開始領域パラメータCYLPATNの値が領域A指示値NPAであるか否かを判別し、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS52。その答が肯定YESであるときは、エンジン回転位相CACYLが180度であると判定し、回転位相カウント値CRKCNTを30に設定する図3参照ステップS53。一方、ステップS52の答が否定NOであるときは、エンジン回転位相CACYLが540度であると判定し、回転位相カウント値CRKCNTを90に設定するステップS54。ステップS51の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域B指示値NPBであるか否かを判別しステップS55、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS56。その答が肯定YESであるときは、エンジン回転位相CACYLが204度であると判定し、回転位相カウント値CRKCNTを34に設定するステップS57。一方、ステップS56の答が否定NOであるときは、エンジン回転位相CACYLが564度であると判定し、回転位相カウント値CRKCNTを94に設定するステップS58。ステップS55の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域E指示値NPCであるか否かを判別しステップS59、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS60。その答が肯定YESであるときは、エンジン回転位相CACYLが0度であると判定し、回転位相カウント値CRKCNTを0に設定するステップS61。一方、ステップS60の答が否定NOであるときは、エンジン回転位相CACYLが360度であると判定し、回転位相カウント値CRKCNTを60に設定するステップS62。ステップS59の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域D示値NPDであるか否かを判別しステップS63、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS64。その答が肯定YESであるときは、エンジン回転位相CACYLが396度であると判定し、回転位相カウント値CRKCNTを66に設定するステップS65。一方、ステップS64の答が否定NOであるときは、エンジン回転位相CACYLが36度であると判定し、回転位相カウント値CRKCNTを6に設定するステップS66。ステップS65及びS66における回転位相カウント値CRKCNTの設定は、図6のステップS23における2が考慮されている。ステップS63の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域E指示値NPEであるか否かを判別しステップS67、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS68。その答が肯定YESであるときは、エンジン回転位相CACYLが522度であると判定し、回転位相カウント値CRKCNTを87に設定するステップS69。一方、ステップS68の答が否定NOであるときは、エンジン回転位相CACYLが162度であると判定し、回転位相カウント値CRKCNTを27に設定するステップS70。ステップS69及びS70における回転位相カウント値CRKCNTの設定は、図6のステップS26における1が考慮されている。ステップS67の答が否定NOであるときは直ちに処理を終了する。以上のように本実施形態では、カム角度センサ11は、カム軸回転信号SCAMが、基準角度位置PREFからクランク角度360度の第1角度期間T1~T3に対応する第1角度期間二値信号と、第1角度期間T1~T3に続くクランク角度360度の第2角度期間T4~T6に対応する第2角度期間二値信号とからなり、第2角度期間二値信号は、第1角度期間二値信号を反転させた信号となるように構成されているので、イグニッションスイッチがオンされた時点におけるカム軸回転信号SCAMの値を示す初期値フラグCAMPORTINIによって、始動開始位置PSが含まれる始動開始領域RSが、第1角度期間T1~T3または第2角度期間T4~T6のいずれにあるかを判定することができる第1判定結果。また始動開始後のカム軸回転信号SCAMと、検出クランク角度を示すクランク角度パラメータCRKINTCNTとに基づいて、始動開始領域RSが第1または第2角度期間に含まれるより狭い領域A~Eのいずれであるかを判定することができる第2判定結果。第1判定結果及び第2判定結果を用いることにより、始動開始位置PSからクランク角度180度の期間内において、エンジン回転位相CACYLを正確に判定することができる。より具体的には、第1角度期間二値信号は、基準角度位置PREFからクランク角度180度に相当する第1期間T1において高レベルHをとり、第1期間T1に続く、第1所定角度CA1に相当する第2期間T2において低レベルLをとり、第2期間T2に続く、第2所定角度CA2に相当する第3期間T3において高レベルHをとるように構成され、第1所定角度CA1は24度に設定され、第2所定角度CA2は180度から第1所定角度CA1を減算した156度に設定される。この設定により、クランク角度センサ10に、基準となる角度位置を特定するための構成例えばパルサーの歯の欠損部を設けることなく、迅速かつ正確な位相判定が可能となる。クランク角度センサにおいてパルサーの歯の欠損部を設けて、その欠損部とカム軸回転信号との相対関係に基づいてエンジン回転位相CACYLを判定する場合には、両者の相対関係のずれ製造時の特性ばらつき、あるいは急激な回転変動によって発生する欠損部の検出漏れなどに起因するによって判定精度が低下するおそれがあるが、本実施形態ではクランク角度センサ10に基準となる角度位置を特定するための構成を設ける必要がなく、安定的に高い判定精度が得られる。またカム軸回転信号SCAMが始動開始後最初に変化した第1変化タイミングtC1における、第1判定角度CAD1が第2所定角度CA2以上であるときは、始動開始領域RSが領域Aであると判定できる図4a,RS=Aので、直ちにエンジン回転位相CACYLを特定することができるtDA=tC1。一方、第1判定角度CAD1が第2所定角度CA2より小さいときは、始動開始領域RSを直ちに判定できないため、第1判定角度CAD1を基準とした第2判定角度CAD2を用いることにより、以下のようにエンジン回転位相CACYLを特定することができる。すなわち、第2判定角度CAD2が第1所定角度CA1を超える前にカム軸回転信号SCAMが変化したときは図4a,tC2、第2変化タイミングtC2における第2判定角度CAD2が第1所定角度CA1とほぼ等しく、始動開始領域RSが領域Bであると判定できるので図4a,RS=B、その時点tDB=tC2でエンジン回転位相CACYLを特定することができる。また、第1判定角度CAD1が第1所定角度CAD1以下で、かつ第2判定角度CAD2が第1所定角度CA1を超えた後であって第2所定角度CA2を超える前にカム軸回転信号SCAMが変化したときは、第2変化タイミングtC2における第2判定角度CAD2が第2所定角度CA2とほぼ等しく、始動開始領域RSが領域Cであることを判定できるので図4b、その時点tDC=tC2でエンジン回転位相CACYLを特定することができる。また、第1判定角度CAD1が第1所定角度CA1より大きく、かつカム軸回転信号SCAMが変化する前にtC2より前に第2判定角度CAD2が第1所定角度CA1を超えたときは、始動開始領域が領域Dであると判定できる図4c,RS=Dので、その時点tDDでエンジン回転位相CACYLを特定することができる。また、第1判定角度CAD1が第1所定角度CA1以下で、かつカム軸回転信号SCAMが変化する前にtC2より前に第2判定角度CAD2が第2所定角度CA2を超えたときは、始動開始領域RSが領域Eであると判定できる図4c,RS=Eので、その時点tDEでエンジン回転位相CACYLを特定することができる。本実施形態では、ECU5のCPUが、回転位相判定手段を構成し、図5~図9の処理が回転位相判定手段に相当する。なお上述した実施形態では、CRKパルスがクランク角度6度毎に常に発生するように構成されたクランク角度センサ10を使用したが、図10bに示すように360度毎に欠け部CT例えば2パルスの欠けを含むCRKパルス列を生成するクランク角度センサを使用しても、上述した実施形態と同様に始動開始位置PSからクランク角度180度以内でエンジン回転位相CACYLを判定することができる。また上述した実施形態では、第1所定角度CA1を24度に設定し、第2所定角度CA2を156度に設定したが、第1所定角度CA1を90度未満の値に設定することにより、上述した実施形態と同様に始動開始位置PSからクランク角度180度以内でエンジン回転位相CACYLを判定することができる。[第2の実施形態]本実施形態は、6気筒エンジンの制御装置に本発明を適用したものである。以下に説明する点以外は、第1の実施形態と同一である。本実施形態では、カム角度センサ11は、図11aに示すカム軸回転信号SCAMを出力する。カム角度センサ11は、カム軸回転信号SCAMが基準角度位置PREFからクランク角度120度に相当する第1期間T1において高レベルH第1の値をとり、第1期間T1に続く、第1所定角度CA1例えばクランク角度18度に相当する第2期間T2において低レベルL第2の値をとり、第2期間T2に続く、第2所定角度CA2例えばクランク角度102度に相当する第3期間T3において高レベルHをとり、第3期間T3に続く第3所定角度CA3例えば42度に相当する第4期間T4において低レベルLをとり、第4期間T4に続く、第4所定角度CA4例えば78度に相当する第5期間T5において高レベルHをとり、第5期間T5に続く、クランク角度120度に相当する第6期間T6において低レベルLをとり、第6期間T6に続く、第1所定角度CA1に相当する第7期間T7において高レベルHをとり、第7期間T7に続く、第2所定角度CA2に相当する第8期間T8において低レベルLをとり、第8期間T8に続く第3所定角度CA3に相当する第9期間T9において高レベルHをとり、第9期間T9に続く、第4所定角度CA4に相当する第10期間T10において低レベルLをとるように構成されている。すなわちカム角度センサ11は、第6~第10期間T6~T10におけるカム軸回転信号SCAMは、第1~第5期間T1~T5におけるカム軸回転信号SCAMを反転させた信号となるように構成されている。また第1所定角度CA1と第2所定角度CA2との和、及び第3所定角度CA3と第4所定角度CA4との和は、ともに120度となるように設定されている。図12は、本実施形態におけるエンジン回転位相判定エンジン始動直後の手法を説明するためのタイムチャートである。図12a及びbは、それぞれカム角度センサ11及びクランク角度センサ10の出力信号を示す。本実施形態におけるカム角度センサ11は、上述したように第6~第10期間T6~T10におけるカム軸回転信号SCAMは、第1~第5期間T1~T5におけるカム軸回転信号SCAMを反転させた信号となるように構成されているので、初期信号値SCINIと、始動開始領域RSが同図cに示す領域A~Gのいずれであるかの判定結果とに基づいて、エンジン回転位相判定が行われる。そこで、次に始動開始領域RSが領域A~Gのいずれであるかの判定手法について図13及び図14を参照して説明する。1始動開始領域RSが領域Aであるときは、始動開始位置PSから始動開始後最初にカム軸回転信号SCAMが変化する第1変化タイミングtC1までの第1判定角度CAD1Aは、第2所定角度CA2以上となる図13a,RS=A。したがって、第1変化タイミングtC1において、第1判定角度CAD1が第2所定角度CA2以上であるときは、始動開始領域RSは領域Aであると判定できる時刻tDA。2第1判定角度CAD1が第2所定角度CA2より小さいときは、第1判定角度CAD1を基準とした第2判定角度CAD2に応じて、下記3~8の条件を判別することにより、始動開始領域RSが領域B~Gの何れであるかを判定することができる。3始動開始領域RSが領域Bであるときは、第1判定角度CAD1Bは、第2所定角度CA2より小さくなり、第2変化タイミングtC2における第2判定角度CAD2Bが、第1所定角度CA1と等しくなる図13a,RS=B。換言すれば、第2判定角度CAD2Bが第1所定角度CA1を超える前に、カム軸回転信号SCAMが変化する。4始動開始領域RSが領域Cであるときは、第1判定角度CAD1Cは、第1所定角度CA1以下であり、かつ第2変化タイミングtC2における第2判定角度CAD2Cが、第2所定角度CA2と等しくなる図13b。換言すれば、第2判定角度CAD2Cが第4所定角度CA4を超えた後であって第2所定角度CA2を超える前に、カム軸回転信号SCAMが変化する。5始動開始領域RSが領域Dであるときは、第2変化タイミングtC2における第2判定角度CAD2Dが、第3所定角度CA3と等しくなる図13c,RS=D。換言すれば、第2判定角度CAD2Dが第1所定角度CA1を超えた後であって第3所定角度CA3を超える前に、カム軸回転信号SCAMが変化する。6始動開始領域RSが領域Eであるときは、第2変化タイミングtC2における第2判定角度CAD2Eが、第4所定角度CA4と等しくなる図14a。換言すれば、第2判定角度CAD2Dが第3所定角度CA3を超えた後であって第4所定角度CA4を超える前に、カム軸回転信号SCAMが変化する。7始動開始領域RSが領域Fであるときは、第1判定角度CAD1Fは、第3所定角度CA1より大きくなり、かつ第2変化タイミングtC2より前に第2判定角度CAD2Fが第3所定角度CA3を超える図14b,RS=F。8始動開始領域RSが領域Gであるときは、第1判定角度CAD1Gは、第3所定角度CA3以下であり、かつ第2変化タイミングtC2より前に第2判定角度CAD2Gが第2所定角度CA2を超える図4b,RS=G。図13及び図14から明らかなように、上記3~8の条件を判別することにより、それぞれ時刻tDB,tDC,tDD,tDE,tDF,及びtDGにおいて、始動開始領域RSを判定することができる。上記条件8の判定は、始動開始位置PSから最大でクランク角度CA2CA3144度の期間を必要とし、他の条件3~7の判定は、これより短い期間で行うことができる。したがって、本実施形態では、始動開始位置PSからクランク角度CA2CA3以内で、エンジン回転位相CACYLの判定を完了することができる。次に図15~図18を参照して、本実施形態におけるエンジン回転位相CACYLの判定処理を説明する。これらの図に示す処理は、第1の実施形態における図6~図9の処理に相当する処理である。本実施形態においても、図5に示す初期化処理が実行され、始動開始時におけるカム軸回転信号SCAMの値に応じて初期値フラグCAMPORTINIの設定、及び他のパラメータの初期化が行われる。図15は、CRKパルスの発生に同期して実行されるCRK割り込み処理のフローチャートである。ステップS81では、クランク角度パラメータCRKINTCNTを1だけ増加させ、ステップS82では、第1判定実行フラグCRKINTCHKが1であるか否かを判別する。第1判定実行フラグCRKINTCHKは、図16に示すCAM割り込み処理で設定されるフラグでありステップS105,S106,S115、最初はステップS82の答は否定NOであるので、直ちに処理を終了する。ステップS82の答が肯定YES、すなわち第1判定実行フラグCRKINTCHKが1であるときは、カム角度パラメータCAMINTCNTが1であるか否かを判別するステップS83。最初はこの答は否定NOであるので、直ちに処理を終了する。最初のCAM割り込み処理が実行され、ステップS105またはS106が実行されると、ステップS82及びS83の答がともに肯定YESとなり、ステップS84に進んで、クランク角度パラメータCRKINTCNTが第3所定値nCRK3に1を加算した値と等しいか否かを判別する。第3所定値nCRK3は、第3所定角度CA342度に対応するCRKパルス数であり、本実施形態では7である。1を加算するのは、誤差を考慮して判定精度を高めるためである。ステップS84の答が肯定YESであるときは、クランク角度判定パラメータCRKCNTJUGの値が1であるか否かを判別するステップS85。クランク角度判定パラメータCRKCNTJUGは、最初のCAM割り込み処理でクランク角度パラメータCRKINTCNTの値が第3所定値nCRK3より大きいとき1に設定されステップS105、第3所定値nCRK3以下であるとき2に設定されるステップS106。ステップS85の答が否定NOであるときは、直ちにステップS90に進む。一方、クランク角度判定パラメータCRKCNTJUGが1であるときは、最初のCAM割り込み処理におけるクランク角度パラメータCRKINTCNTの値が、第3所定値nCRK3より大きく、かつ次のCAM割り込み処理が実行される前に第2変化タイミングtC2より前にクランク角度パラメータCRKINTCNTが第3所定値nCRK3を超えたことを示すので、始動開始領域RSは領域Fであると判定し、始動開始領域パラメータCYLPATNを、領域Fを示す領域F指示値NPFに設定するステップS86。ステップS86実行後は、ステップS90に進む。ステップS84の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第2所定値nCRK2に1を加算した値と等しいか否かを判別するステップS87。第2所定値nCRK2は、第2所定角度CA2102度に対応するCRKパルス数であり、本実施形態では17である。1を加算するのは、誤差を考慮して判定精度を高めるためである。ステップS87の答が肯定YESであるときは、クランク角度判定パラメータCRKCNTJUGの値が2であるか否かを判別するステップS88。ステップS87またはS88の答が否定NOであるときは直ちにステップS90に進む。ステップ88の答が肯定YES、すなわち最初のCAM割り込み処理におけるクランク角度パラメータCRKINTCNTの値が、第3所定値nCRK3以下であり、かつ次のCAM割り込み処理が実行される前に第2変化タイミングtC2より前にクランク角度パラメータCRKINTCNTが第2所定値nCRK2を超えたことを示すので、始動開始領域RSは領域Gであると判定し、始動開始領域パラメータCYLPATNを、領域Gを示す領域G指示値NPGに設定するステップS89。ステップS89実行後は、ステップS90に進む。ステップS90では、図17及び図18に示す位相判定処理を実行する。図16は、CAM割り込み処理のフローチャートである。ステップS101では、カム角度パラメータCAMINTCNTが0であるか否かを判別する。この答が肯定YESであるときは、クランク角度パラメータCRKINCNTが第2所定値nCRK2より大きいか否かを判別するステップS102。この答が肯定YESであるときは、始動開始領域RSは領域Aであると判定し、始動開始領域パラメータCYLPATNを、領域Aを示す領域A指示値NPAに設定するステップS103。その後ステップS116に進む。ステップS102の答が否定NOであるときは、クランク角度パラメータCRKINCNTが第3所定値nCRK1より大きいか否かを判別するステップS104。この答が肯定YES、すなわちnCRK3<CRKINTCNT≦nCRK2-1であるときは、第1判定実行フラグCRKINTCHKを1に設定するとともに、クランク角度判定パラメータCRKCNTJUGを1に設定するステップS105。その後ステップS116に進む。ステップS104の答が否定NO、すなわちCRKINTCNT≦nCRK3であるときは、第1判定実行フラグCRKINTCHKを1に設定するとともに、クランク角度判定パラメータCRKCNTJUGを2に設定するステップS106。その後ステップS116に進む。ステップS116では、カム角度パラメータCAMINTCNTを1だけ増加させるとともに、クランク角度パラメータCRKINTCNTを0に戻す。その後ステップS117に進み、図17及び図18に示す位相判定処を実行する。ステップS101の答が否定NO、すなわちカム角度パラメータCAMINTCNTが1以上であるときは、カム角度パラメータCAMINTCNTが1であるか否かを判別するステップS107。その答が否定NOであるときは、直ちにステップS116に進む。ステップS107の答が肯定YES、すなわち始動開始後2回目のCAM割り込み処理であるときは、クランク角度パラメータCRKINCNTが第1所定値nCRK1から1を減算した値以上で、かつ第1所定値nCRK1に1を加算した値以下であるか否かを判別するステップS108。第1所定値nCRK1は、第1所定角度CA118度に対応するCRKパルス数であり、本実施形態では3である。ステップS108の答が肯定YESであるときは、始動開始領域RSは領域Bであると判定し、始動開始領域パラメータCYLPATNを領域B指示値NPBに設定するステップS109。その後ステップS115に進む。ステップS108の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第3所定値nCRK3から1を減算した値以上で、かつ第3所定値nCRK3に1を加算した値以下であるか否かを判別するステップS110。その答が肯定YESであるときは、始動開始領域RSは領域Dであると判定し、始動開始領域パラメータCYLPATNを領域D指示値NPDに設定するステップS111。その後ステップS115に進む。ステップS110の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第4所定値nCRK4から1を減算した値以上で、かつ第4所定値nCRK4に1を加算した値以下であるか否かを判別するステップS112。その答が肯定YESであるときは、始動開始領域RSは領域Eであると判定し、始動開始領域パラメータCYLPATNを領域E指示値NPEに設定するステップS113。その後ステップS115に進む。ステップS112の答が否定NOであるときは、クランク角度パラメータCRKINTCNTが第2所定値nCRK2と等しく、始動開始領域RSは領域Cあると判定し、始動開始領域パラメータCYLPATNを領域C指示値NPCに設定するステップS114。その後ステップS115に進む。ステップS115では、第1判定実行フラグCRKINTCHKを0に戻し、その後ステップS116に進む。図17及び図18は、図15のステップS90及び図16のステップS117で実行される位相判定処理のフローチャートである。ステップS131では、始動開始領域パラメータCYLPATNの値が領域A指示値NPAであるか否かを判別し、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS132。その答が肯定YESであるときは、エンジン回転位相CACYLが120度であると判定し、回転位相カウント値CRKCNTを20に設定する図12参照ステップS133。一方、ステップS132の答が否定NOであるときは、エンジン回転位相CACYLが480度であると判定し、回転位相カウント値CRKCNTを80に設定するステップS134。ステップS131の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域B指示値NPBであるか否かを判別しステップS135、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS136。その答が肯定YESであるときは、エンジン回転位相CACYLが138度であると判定し、回転位相カウント値CRKCNTを23に設定するステップS137。一方、ステップS136の答が否定NOであるときは、エンジン回転位相CACYLが468度であると判定し、回転位相カウント値CRKCNTを83に設定するステップS138。ステップS135の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域C指示値NPCであるか否かを判別しステップS139、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS140。その答が肯定YESであるときは、エンジン回転位相CACYLが600度であると判定し、回転位相カウント値CRKCNTを100に設定するステップS141。一方、ステップS140の答が否定NOであるときは、エンジン回転位相CACYLが240度であると判定し、回転位相カウント値CRKCNTを40に設定するステップS142。ステップS139の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域D示値NPDであるか否かを判別しステップS143、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS144。その答が肯定YESであるときは、エンジン回転位相CACYLが282度であると判定し、回転位相カウント値CRKCNTを47に設定するステップS145。一方、ステップS144の答が否定NOであるときは、エンジン回転位相CACYLが642度であると判定し、回転位相カウント値CRKCNTを107に設定するステップS146。ステップS143の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域E指示値NPEであるか否かを判別しステップS147、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS148。その答が肯定YESであるときは、エンジン回転位相CACYLが0度であると判定し、回転位相カウント値CRKCNTを0に設定するステップS149。一方、ステップS148の答が否定NOであるときは、エンジン回転位相CACYLが360度であると判定し、回転位相カウント値CRKCNTを60に設定するステップS150。ステップS147の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域F指示値NPFであるか否かを判別しステップS151、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS152。その答が肯定YESであるときは、エンジン回転位相CACYLが408度であると判定し、回転位相カウント値CRKCNTを68に設定するステップS153。一方、ステップS152の答が否定NOであるときは、エンジン回転位相CACYLが48度であると判定し、回転位相カウント値CRKCNTを8に設定するステップS154。ステップS153及びS154における回転位相カウント値CRKCNTの設定は、図15のステップS84における1が考慮されている。ステップS151の答が否定NOであるときは、始動開始領域パラメータCYLPATNの値が領域G指示値NPGであるか否かを判別しステップS155、その答が肯定YESであるときは、初期値フラグCAMPORTINIが1であるか否かを判別するステップS156。その答が肯定YESであるときは、エンジン回転位相CACYLが468度であると判定し、回転位相カウント値CRKCNTを78に設定するステップS157。一方、ステップS156の答が否定NOであるときは、エンジン回転位相CACYLが108度であると判定し、回転位相カウント値CRKCNTを18に設定するステップS158。ステップS157及びS158における回転位相カウント値CRKCNTの設定は、図15のステップS87における1が考慮されている。ステップS155の答が否定NOであるときは直ちに処理を終了する。以上のように本実施形態において、カム角度センサ11は、カム軸回転信号SCAMが、基準角度位置PREFからクランク角度360度の第1角度期間T1~T5に対応する第1角度期間二値信号と、第1角度期間T1~T5に続くクランク角度360度の第2角度期間T6~T10に対応する第2角度期間二値信号とからなり、第2角度期間二値信号は、第1角度期間二値信号を反転させた信号となるように構成されているので、イグニッションスイッチがオンされた時点におけるカム軸回転信号SCAMの値を示す初期値フラグCAMPORTINIによって、始動開始位置PSが含まれる始動開始領域RSが、第1角度期間T1~T5または第2角度期間T6~T10のいずれにあるかを判定することができる第1判定結果。また始動開始後のカム軸回転信号SCAM、及び検出クランク角度を示すクランク角度パラメータCRKINTCNTとに基づいて、始動開始領域RSが第1または第2角度期間に含まれるより狭い領域A~Gのいずれであるかを判定することができる第2判定結果。第1判定結果及び第2判定結果を用いることにより、始動開始位置PSからクランク角度144度の期間内において、エンジン回転位相CACYLを正確に判定することができる。より具体的には、第1角度期間二値信号は、カム軸回転信号SCAMが基準角度位置PREFからクランク角度120度に相当する第1期間T1において高レベルHをとり、第1期間T1に続く、第1所定角度CA1に相当する第2期間T2において低レベルLをとり、第2期間T2に続く、第2所定角度CA2に相当する第3期間T3において高レベルHをとり、第3期間T3に続く第3所定角度CA3に相当する第4期間T4において低レベルLをとり、第4期間T4に続く、第4所定角度CA4に相当する第5期間T5において高レベルHをとるように構成され、第1~第4所定角度CA1~CA4は、それぞれ18度、102度、42度、及び78度に設定される。この設定により、クランク角度センサ10に、基準となる角度位置を特定するための構成を設けることなく、迅速かつ正確な位相判定が可能となる。またカム軸回転信号SCAMが始動開始後最初に変化した第1変化タイミングtC1における、第1判定角度CAD1が第2所定角度CA2以上であるときは、始動開始領域RSが領域Aであると判定できる図13a,RS=Aので、直ちにエンジン回転位相CACYLを特定することができるtDA=tC1。一方、第1判定角度CAD1が第2所定角度CA2より小さいときは、始動開始領域RSを直ちに判定できないため、第1判定角度CAD1を基準とした第2判定角度CAD2を用いることにより、以下のようにエンジン回転位相CACYLを特定することができる。すなわち、第2判定角度CAD2が第1所定角度CA1を超える前にカム軸回転信号SCAMが変化したときは図13a,tC2、第2変化タイミングtC2における第2判定角度CAD2が第1所定角度CA1にほぼ等しく、始動開始領域RSが領域Bであると判定できるので図13a,RS=B、その時点tDB=tC2でエンジン回転位相CACYLを特定することができ、第2判定角度CAD2が第1所定角度CA1を超えた後であって第3所定角度CA3を超える前にカム軸回転信号SCAMが変化したときは、第2変化タイミングtC2における第2判定角度CAD2が第3所定角度CA3にほぼ等しく、始動開始領域RSが領域Dであると判定できるので図13c、その時点tDDでエンジン回転位相CACYLを特定することができ、第2判定角度CAD2が第3所定角度CA3を超えた後であって第4所定角度CA4を超える前にカム軸回転信号SCAMが変化したときは、第2変化タイミングtC2における第2判定角度CAD2が第4所定角度CA4にほぼ等しく、始動開始領域RSが領域Eであると判定できるので図14a、その時点tDEでエンジン回転位相CACYLを特定することができ、第2判定角度CADが第4所定角度CA4を超えた後であって第2所定角度CA2を超える前にカム軸回転信号SCAMが変化したときは、第2変化タイミングtC2における第2判定角度CAD2が第2所定角度CA2にほぼ等しく、始動開始領域RSが領域Cであると判定できるので図13b、その時点tDCでエンジン回転位相CACYLを特定することができる。また第1判定角度CAD1が第3所定角度CA3より大きく、かつカム軸回転信号SCAMが変化する前に第2変化タイミングtC2より前に第2判定角度CAD2が第3所定角度CA3を超えたときは、始動開始領域RSが領域Fであると判定できるので図14b,RS=F、その時点tDFでエンジン回転位相CACYLを特定することができ、第1判定角度CAD1が第3所定角度CA3以下で、かつカム軸回転信号SCAMが変化する前に第2判定角度CAD2が第2所定角度CA2を超えたときは、始動開始領域RSが領域Gであると判定できるので図14b,RS=G、その時点tDGでエンジン回転位相CACYLを特定することができる。本実施形態では、図15~図18の処理が回転位相判定手段に相当する。なお、6気筒エンジンにおいても、図10bに示すようにパルスの欠けがあるCRKパルス列を出力するクランク角度センサを使用してもよい。またカム軸回転信号SCAMは、図11aに示すものCA1<CA3に代えて、図11bに示すように第1所定角度CA1及び第3所定角度CA3がともに60度未満であって、CA1>CA3を満たすように構成されたものを使用してもよい。なお、本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、6度周期のCRKパルスを出力するクランク角度センサを使用したが、これに限るものではなく、クランク軸8の回転角度を検出可能なものであればどのようなセンサでも使用することができる。また上述した実施形態では、カム軸回転信号SCAMの第1の値を高レベルHとし、第2の値を低レベルLとしたが、逆に第1の値を低レベルLとし、第2の値を高レベルHとしてもよい。また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。"