(57)【要約】【課題】エンジンの回転が反転する揺り戻し等によってクランク角信号の異常判定を誤ってしまうことを防止する。【解決手段】エンジン制御装置１は、エンジンのクランクシャフトの回転検出に応じて信号を出力する逆転検知クランク角センサ２と、逆転検知クランク角センサ２が出力する信号のパターンの異常を判定するクランク角信号パターン異常判定処理を実施するクランク角信号パターン異常判定部３４と、エンジンの回転の反転を予測するとクランク角信号パターン異常判定処理をクランク角信号パターン異常判定部３４が実施することを禁止するアイドルストップ状態判定部３２と、を有する。【選択図】図１
2014047747.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランクシャフトの回転を検出してその検出結果を基にエンジンを制御するエンジン制御装置であって、
前記エンジンのクランクシャフトの回転検出に応じて信号を出力するクランク角検出部と、
前記クランク角検出部が出力する信号のパターンの異常を判定するクランク角信号異常判定処理を実施する第１処理実施部と、
前記エンジンの回転の反転を予測する反転予測部と、
前記反転予測部が反転を予測すると前記クランク角信号異常判定処理を前記第１処理実施部が実施することを禁止する実施禁止部と、
を有することを特徴とするエンジン制御装置。
【請求項２】
前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測することを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
前記エンジンの始動を検出するエンジン始動検出部と、
前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記クランク角信号異常判定処理及び前記気筒位置判定処理の禁止を解除する第１禁止解除部と、
をさらに有することを特徴とする請求項２に記載のエンジン制御装置。
【請求項４】
前記エンジンを停止させる要求は、アイドルストップを開始させる要求又はイグニッションがオフになったことによる要求であることを特徴とする請求項２又は３に記載のエンジン制御装置。
【請求項５】
前記クランク角検出部が出力する信号に基づき行う前記エンジンの気筒の位置を判定する気筒位置判定処理を実施する第２処理実施部をさらに有し、
前記実施禁止部は、前記反転予測部が反転を予測すると前記気筒位置判定処理を前記第２処理実施部が実施することを禁止することを特徴とする請求項１乃至４の何れか１項に記載のエンジン制御装置。
【請求項６】
前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測するものであり、
前記エンジンの始動を検出するエンジン始動検出部と、
前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記気筒位置判定処理の禁止を解除する第２禁止解除部と、
をさらに有することを特徴とする請求項５に記載のエンジン制御装置。
【請求項７】
前記クランク角検出部は、前記クランクシャフトの正転方向及び逆転方向の回転を検出できるものであり、
前記反転予測部が反転を予測している期間も含み前記クランク角検出部が出力する信号を基にクランク角位置の更新を行うクランク角位置処理部をさらに有しており、
前記第２処理実施部は、前記第２禁止解除部の解除によって実施する前記気筒位置判定処理では、前記反転予測部が反転を予測しているときに前記クランク角位置処理部が更新したクランク角度位置を基に気筒の位置を判定することを特徴とする請求項６に記載のエンジン制御装置。
【請求項８】
前記エンジンのカムシャフトの回転検出に応じて信号を出力するカム角検出部と、
前記カム角検出部が出力する信号のパターンの異常を判定するカム角信号異常判定処理を実施する第３処理実施部と、をさらに有し、
前記実施禁止部は、前記反転予測部が反転を予測すると前記カム角信号異常判定処理を前記第３処理実施部が実施することを禁止することを特徴とする請求項１乃至７の何れか１項に記載のエンジン制御装置。
【請求項９】
前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測するものであり、
前記エンジンの始動を検出するエンジン始動検出部と、
前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記カム角信号異常判定処理の禁止を解除する第３禁止解除部と、
をさらに有することを特徴とする請求項８に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンのクランクシャフトの回転を検出してその検出結果を基にエンジンを制御する技術に関する。
【背景技術】
【０００２】
車両等に搭載されるエンジンは、一般的に複数の気筒を備えており、エンジン制御装置は、そのようなエンジンの各気筒の燃料噴射時期や点火時期等を制御するために、各気筒がどの位置にあるのかを判別（すなわち、気筒位置を判別）する必要がある。
一般的には、特許文献１に開示されているように、気筒位置の判別は、クランクシャフトの回転を検出するクランク角センサが出力するクランク角信号とカムシャフトの回転を検出するカム角センサが出力するカム角信号といった２系統の信号の組み合わせ結果に基づき行われる。ここで、例えば、気筒位置は、クランクシャフトの回転角度ＣＡ（クランクアングル)で表される。この場合、４サイクルエンジンのクランクシャフトは、１サイクルの燃焼行程が実施される際に２回転するため、その回転角度は、０°〜７２０°ＣＡとなる。また、特許文献１では、クランク角信号を取得するためのシグナル部材（すなわち、クランクシャフトとともに回転する部材）からクランク角信号を検出するとともに当該シグナル部材に欠歯部を設けることで、当該欠歯部の検出に基づき当該クランク信号の異常を検出している。
【０００３】
また、ここで、エンジンが停止する際の当該エンジンの挙動についてみると、エンジンのクランクシャフトは、エンジンが燃料噴射を停止して回転が落ちてくると、回転トルクが低下してピストンが圧縮上死点を乗り越えられないために逆回転することがある（すなわち、揺り戻されることがある）。このような場合、クランクシャフトの正回転と逆回転とを区別できない従来の一般的なクランク角センサを用いると、そのクランク角センサが検出するクランク角位置は、実際のクランク角位置からずれてしまう。そして、このようなずれが生じてしまうと、エンジン制御装置は、実際のクランク角位置からずれているクランク角位置の検出値を基に気筒位置を判別してしまうため、エンジンを再始動した際にエンジンの噴射位置や点火位置を誤ってしまう恐れがある。
【０００４】
また、近年、アイドリングストップ車両に代表されるような走行中にエンジンの自動停止と再始動とを行う車両が普及してきている。そして、このような車両では、揺り戻し中にエンジンを再始動する場合も想定される。このようなことから、アイドリングストップ車両では、揺り戻しによって噴射位置や点火位置にずれが生じてしまうのを防止することが必要となる。
【０００５】
ここで、従来技術として、クランクシャフトが完全に停止した時点（すなわち、エンジン停止時点）又はスタータモータが駆動した時点（すなわち、エンジンの再始動時点）で気筒位置の判別を一旦リセットし最初から気筒位置の判別をやり直す技術がある（例えば特許文献２参照）。このような技術によれば、揺り戻しに起因した噴射位置や点火位置のずれが再始動時に発生してしまうのを防止することができる。
【０００６】
ところで、走行中にエンジンの停止と再始動とを行うアイドリングストップ車両においては、再始動時のエンジンの始動時間の短縮が求められる。
しかし、特許文献２に開示されているように再始動の度に気筒位置の判別がリセットされていては、エンジンの始動時間の短縮は困難となる。
【０００７】
これに対して、もし、逆回転が発生してもクランク角位置を正しく更新できれば気筒位置の判別をリセットする必要がなくなり、エンジンの始動時間を短縮できる。例えば、特許文献３には、逆転検出機能付き回転検出装置が開示されている。この逆転検出機能付き回転検出装置は、クランクシャフトの回転方向に応じて異なる幅のパルス信号を出力する。このような逆転検出機能付き回転検出装置によれば、回転方向に応じてクランク角位置を更新することが可能となるために、逆回転によるクランク角位置のずれを解消でき、気筒位置の判別をリセットする必要がなくなる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４５２１６６１号公報
【特許文献２】特開２００７−０６４１６１号公報
【特許文献３】特開２００５−２３３６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、揺り戻しによるもう一つの問題として、エンジン制御装置が欠歯検出を誤判定することがある。
ここで、図１９を用いて、エンジン制御装置が欠歯検出を誤判定する場合について説明する。
【００１０】
図１９に示すように、クランクシャフトの回転方向が反転する際に一時的にクランクシャフトの回転が止まることで、シグナル部材の回転に基づき得られるクランク角信号間の周期が長くなり（すなわち、クランク角信号のパルス波の不検出区間が長くなり）、エンジン制御装置が、欠歯部の検出を誤判定してしまうというものである（時刻ｔ１１や時刻ｔ１２）。
【００１１】
そして、欠歯部の検出を基にクランク角信号を検出してそのクランク角信号の異常判定を行う場合、例えば、検出した欠歯間のクランク角信号のパターンが正規のパターンから外れているときには当該クランク角信号が異常であると判定するような場合には、エンジン制御装置は、前述のように欠歯部の検出を誤判定してしまうと、クランク角信号の異常判定を誤ってしまう恐れがある。
【００１２】
また、特許文献１のように、欠歯間のクランク角信号のパターンに基づき気筒位置判別を行うような場合において、エンジン制御装置は、検出を誤判定した欠歯間のクランク角信号のパターンが正規の欠歯間のクランク角信号のパターンに一致していると、気筒位置の判別を誤ってしまう恐れがある。また、そのように判別した気筒位置でクランク角位置を更新するような処理を行っている場合には、エンジン制御装置は、そのクランク角位置も間違った位置に更新してしまう恐れがある。
【００１３】
本発明の目的は、エンジンの回転が反転する揺り戻し等によってクランク角信号の異常判定を誤ってしまうことを防止することである。
【課題を解決するための手段】
【００１４】
前記課題を解決するために、（１）本発明の一態様は、エンジンのクランクシャフトの回転を検出してその検出結果を基にエンジンを制御するエンジン制御装置であって、前記エンジンのクランクシャフトの回転検出に応じて信号を出力するクランク角検出部と、前記クランク角検出部が出力する信号のパターンの異常を判定するクランク角信号異常判定処理を実施する第１処理実施部と、前記エンジンの回転の反転を予測する反転予測部と、前記反転予測部が反転を予測すると前記クランク角信号異常判定処理を前記第１処理実施部が実施することを禁止する実施禁止部と、を有することを特徴とするエンジン制御装置を提供する。
【００１５】
（２）本発明の一態様では、前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測することが好ましい。
【００１６】
（３）本発明の一態様では、前記エンジンの始動を検出するエンジン始動検出部と、前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記クランク角信号異常判定処理及び前記気筒位置判定処理の禁止を解除する第１禁止解除部と、をさらに有することが好ましい。
【００１７】
（４）本発明の一態様では、前記エンジンを停止させる要求は、アイドルストップを開始させる要求又はイグニッションがオフになったことによる要求であることが好ましい。
【００１８】
（５）本発明の一態様では、前記クランク角検出部が出力する信号に基づき行う前記エンジンの気筒の位置を判定する気筒位置判定処理を実施する第２処理実施部をさらに有し、前記実施禁止部は、前記反転予測部が反転を予測すると前記気筒位置判定処理を前記第２処理実施部が実施することを禁止することが好ましい。
【００１９】
（６）本発明の一態様では、前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測するものであり、前記エンジンの始動を検出するエンジン始動検出部と、前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記気筒位置判定処理の禁止を解除する第２禁止解除部と、をさらに有することが好ましい。
【００２０】
（７）本発明の一態様では、前記クランク角検出部は、前記クランクシャフトの正転方向及び逆転方向の回転を検出できるものであり、前記反転予測部が反転を予測している期間も含み前記クランク角検出部が出力する信号を基にクランク角位置の更新を行うクランク角位置処理部をさらに有しており、前記第２処理実施部は、前記第２禁止解除部の解除によって実施する前記気筒位置判定処理では、前記反転予測部が反転を予測しているときに前記クランク角位置処理部が更新したクランク角度位置を基に気筒の位置を判定することが好ましい。
【００２１】
（８）本発明の一態様では、前記エンジンのカムシャフトの回転検出に応じて信号を出力するカム角検出部と、前記カム角検出部が出力する信号のパターンの異常を判定するカム角信号異常判定処理を実施する第３処理実施部と、をさらに有し、前記実施禁止部は、前記反転予測部が反転を予測すると前記カム角信号異常判定処理を前記第３処理実施部が実施することを禁止することが好ましい。
【００２２】
（９）本発明の一態様では、前記反転予測部は、前記エンジンを停止させる要求があったときから前記エンジンの回転が停止するまでの期間を前記エンジンの回転が反転すると予測するものであり、前記エンジンの始動を検出するエンジン始動検出部と、前記エンジン始動検出部が前記エンジンの始動を検出したときには前記実施禁止部による前記カム角信号異常判定処理の禁止を解除する第３禁止解除部と、をさらに有することが好ましい。
【発明の効果】
【００２３】
（１）の態様の発明によれば、エンジンの回転の反転を予測するとクランク角信号異常判定処理の実施を禁止することで、エンジンの回転が反転することに起因したクランク角信号異常判定処理における誤判定を防止できる。
【００２４】
（２）の態様の発明によれば、簡単な処理によってエンジンの回転が反転すると予測できる。
【００２５】
（３）の態様の発明によれば、クランク角信号異常判定処理を不用意に禁止してしまうのを防止できる。
【００２６】
（４）の態様の発明によれば、エンジンを停止させる要求を簡易に検出してエンジンの回転が反転すると予測できる。
【００２７】
（５）の態様の発明によれば、エンジンの回転の反転を予測すると気筒位置判定処理の実施を禁止することで、エンジンの回転が反転することに起因した気筒位置判定処理における誤判定を防止できる。
【００２８】
（６）の態様の発明によれば、気筒位置判定処理を不用意に禁止してしまうのを防止できる。
【００２９】
（７）の態様の発明によれば、エンジンの反転が予測される間はクランク角検出部が出力する信号を基にクランク角位置を更新し、その後、禁止の解除によって実施する気筒位置判定処理では、更新したクランク角位置に基づき気筒位置を判定できる。これによって、（７）の態様の発明では、エンジンの反転が予測されないエンジンの再始動時等に早期に気筒位置の判定を行うことができるため、その気筒位置の判定結果を利用してエンジンを即座に始動させること等ができる。
【００３０】
（８）の態様の発明によれば、エンジンの回転が反転することに起因したカム角信号異常判定処理における誤判定を防止できる。
【００３１】
（９）の態様の発明によれば、カム角信号異常判定処理を不用意に禁止してしまうのを防止できる。
【図面の簡単な説明】
【００３２】
【図１】図１は、第１の実施形態に係るエンジン制御装置の構成例を示すブロック図である。
【図２】図２は、逆転検知クランク角センサ及びカム角センサが正常動作しているときのクランク角信号及びカム角信号の一例を示す図である。
【図３】図３は、アイドルストップ状態判定処理の一例を示すフローチャートである。
【図４】図４は、クランク角信号パターン異常判定処理の一例を示すフローチャートである。
【図５】図５は、カム角信号パターン異常判定処理の一例を示すフローチャートである。
【図６】図６は、気筒判別見直し処理の一例を示すフローチャートである。
【図７】図７は、気筒判別のための気筒判別用テーブルの一例を示す図である。
【図８】図８は、逆転検知クランク角センサが正常動作している場合の欠歯間クランク角信号数の一例を示す図である。
【図９】図９は、逆転検知クランク角センサが正常動作している場合の欠歯間カム角信号数のパターンの一例を示す図である。
【図１０】図１０は、第１の実施形態に係るエンジン制御装置の動作等について説明する図である。
【図１１】図１１は、欠歯検出の誤判定によってクランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまう一例を説明する図である。
【図１２】図１２は、欠歯検出の誤判定によって誤った気筒判別位置見直しを行ってしまう一例を説明する図である。
【図１３】図１３は、アイドルストップ状態判定処理の他の一例を示すフローチャートである。
【図１４】図１４は、第２の実施形態に係るエンジン制御装置の構成例を示すブロック図である。
【図１５】図１５は、エンジン停止判定処理の一例を示すフローチャートである。
【図１６】図１６は、第２の実施形態に係るエンジン制御装置の動作等について説明する図である。
【図１７】図１７は、エンジン停止判定処理の他の一例を示すフローチャートである。
【図１８】図１８は、クランク角位置を更新する処理の他の一例を示すフローチャートである。
【図１９】図１９は、エンジン制御装置が欠歯を誤判定する場合を説明する図である。
【発明を実施するための形態】
【００３３】
本発明の実施形態を図面を参照しつつ説明する。
（第１の実施形態）
先ず、第１の実施形態ついて説明する。
第１の実施形態では、エンジン制御装置を挙げている。
【００３４】
（構成）
図１には、エンジン制御装置１の構成例を示す。
図１に示すように、エンジン制御装置１は、第１シグナル部材１０、第２シグナル部材２０、逆転検知クランク角センサ２、カム角センサ３、ＥＣＵ（Electronic Control Unit）３０、インジェクタ（燃料噴射弁）４、及びイグナイタ（昇圧装置）５を有している。また、エンジン制御装置１の制御対象となるエンジンは、内燃機関である。本実施形態では、エンジンは、３気筒エンジンである。
【００３５】
第１シグナル部材１０は、クランクシャフト１０１と共に回転する円盤形状の部材である。この第１シグナル部材１０には、外周部にクランク角信号発生部１１並びに第１及び第２欠歯部１２，１３が形成されている。クランク角信号発生部１１は、逆転検知クランク角センサ２によって検出可能とされクランクシャフト１０１の所定の回転角度毎に当該センサ３がクランク角信号を発生させるための部位（すなわち、有歯の部位）となる。また、第１及び第２欠歯部１２，１３は、逆転検知クランク角センサ２がクランク角信号を発生させない部位（すなわち、歯を欠いた部位）となる。
【００３６】
第２シグナル部材２０は、カムシャフト１０２と共に回転する円盤形状の部材である。この第２シグナル部材２０には、外周部にカム角信号発生部２１が形成されている。カム角信号発生部２１は、カム角センサ３によって検出可能とされカムシャフト１０２が所定の回転角度になったときに当該センサ３がカム角信号を発生させるための部位（すなわち、有歯の部位）となる。
【００３７】
逆転検知クランク角センサ２は、第１シグナル部材１０のクランク角信号発生部１１を検出したときにパルス波のクランク角信号（又はクランク角センサ信号）を発生させる。また、逆転検知クランク角センサ２は、クランクシャフト１０１の回転方向、すなわち、第１シグナル部材１０の回転方向によって異なるパルス幅のクランク角信号を発生する。そして、逆転検知クランク角センサ２は、クランク角信号をＥＣＵ３０に出力する。
【００３８】
カム角センサ３は、第２シグナル部材２０のカム角信号発生部２１を検出したときにパルス波のカム角信号（又はカム角センサ信号）を発生させる。これによって、カム角センサ３は、カムシャフト１０２の所定の回転位置、すなわち、第２シグナル部材２０の所定の回転位置でパルス波のカム角信号を発生する。そして、カム角センサ３は、カム角信号をＥＣＵ３０に出力する。
【００３９】
図２には、逆転検知クランク角センサ２及びカム角センサ３が正常動作しているときのクランク角信号及びカム角信号の一例を示す。ここで、図２（ａ）には、エンジンの各気筒の燃焼サイクルの各工程を示す。また、図２（ｂ）には、クランクシャフト１０１が回転（ここでは一方向に回転）しているときに逆転検知クランク角センサ２が出力するクランク角信号を示す。また、図２（ｃ）には、カムシャフト１０２が回転しているときにカム角センサ３が出力するカム角信号を示す。このように、図２は、エンジンの各気筒の燃焼サイクルの各工程、クランク角信号、及びカム角信号の関係を示す図となる。
【００４０】
また、本実施形態では、第１シグナル部材１０の２箇所の欠歯部１２，１３によって、逆転検知クランク角センサ２は、正常動作時には、図２（ｂ）に示すように、１０個のパルス波と２２個のパルス波とが交互に発生するクランク角信号を出力する。また、本実施形態では、第２シグナル部材２０のカム角信号発生部２１によって、カム角センサ３は、正常動作時には、図２（ｃ）に示すように、所定の間隔及び所定の個数のパルス波が発生するカム角信号を出力する。また、クランク角信号との関係では、当該クランク角信号において隣り合う欠歯領域（パルス波が発生していない領域）の間（すなわち欠歯間）の区間を単位とすると、カム角信号のパターン（すなわち、カム角信号のパルス波の数のパターン）は、正常動作時には、図２（ｃ）に示すように、１→２→０→１→１→・・・となる。
【００４１】
ＥＣＵ３０は、例えば、エンジンコントローラである。このＥＣＵ３０は、例えば、マイクロコンピュータ及びその周辺回路を有している。そのために、例えば、ＥＣＵ３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等によって構成されている。ＲＯＭには、１又は２以上のプログラムが格納されている。ＣＰＵは、ＲＯＭに格納されている１又は２以上のプログラムに従って各種処理を実施する。
【００４２】
このＥＣＵ３０は、エンジンについて各種の制御を行う。そして、本実施形態では、このＥＣＵ３０は、図１に示すように、アイドルストップ制御部３１、アイドルストップ状態判定部３２、クランク角検出処理部３３、クランク角信号パターン異常判定部３４、カム角信号パターン異常判定部３５、気筒判別見直し処理部３６、燃料噴射制御部３７、点火時期制御部３８、及び記憶部３９を有している。
【００４３】
アイドルストップ制御部３１は、車両停車時等のアイドルストップ（アイドリングストップともいう。）が可能な状態になったときに、アイドルストップ制御によってエンジンを停止させる（すなわち、アイドルストップを行う）。このとき、アイドルストップ制御部３１は、エンジンの回転を停止させる等のエンジンを停止させるための制御として、例えば、燃料噴射を停止させる制御を行う。アイドルストップ状態判定部３２は、このアイドルストップ制御部３１がアイドルストップ制御によってエンジンを停止させる制御を開始したか否かを判定する。アイドルストップ状態判定部３２が行う処理については後で詳述する。
【００４４】
クランク角検出処理部３３は、クランク角信号を基にクランク角位置を検出する。具体的には、クランク角検出処理部３３は、クランクシャフト１０１が正転している場合には逆転検知クランク角センサ２からのクランク角信号のパルス波を加算する。また、クランク角検出処理部３３は、クランクシャフト１０１が逆転している場合には逆転検知クランク角センサ２からのクランク角信号のパルス波を減算することによってクランク角位置を検出する。
【００４５】
クランク角信号パターン異常判定部３４は、クランク角信号のパターンが異常であるか否かを判定する。そして、クランク角信号パターン異常判定部３４は、アイドルストップ制御によってエンジンを停止させる制御が開始されるとその判定を禁止する。このクランク角信号パターン異常判定部３４が行う処理については後で詳述する。
【００４６】
カム角信号パターン異常判定部３５は、カム角信号のパターンが異常であるか否かを判定する。そして、カム角信号パターン異常判定部３５は、アイドルストップ制御によってエンジンを停止させる制御が開始されるとその判定を禁止する。このカム角信号パターン異常判定部３５が行う処理については後で詳述する。
【００４７】
気筒判別見直し処理部３６は、クランク角信号及びカム角信号を基に気筒位置（具体的には、クランク角検出処理部３３が検出したクランク角位置）を見直す。燃料噴射制御部３７は、この気筒判別見直し処理部３６の判別結果を基に、インジジェクタ４を制御して所定の気筒に所定のタイミングで燃料を噴射する。また、点火時期制御部３８は、気筒判別見直し処理部３６の判別結果を基に、点火信号によってイグナイタ５を制御して所定のタイミングで所定の気筒の不図示の点火プラグを点火させる。この気筒判別見直し処理部３６が行う処理については後で詳述する。
【００４８】
記憶部３９には、ＥＣＵ３０が処理に用いるプログラムやＥＣＵ３０が取得したデータ等が記憶される。
次に、アイドルストップ状態判定部３２が行うアイドルストップ状態判定処理について説明する。
【００４９】
図３は、アイドルストップ状態判定処理の一例を示すフローチャートである。アイドルストップ状態判定部３２は、例えば、１０ｍｓｅｃの時間間隔で図３に示す処理を実施する。
図３に示すように、先ず、ステップＳ１では、アイドルストップ状態判定部３２は、アイドルストップモードが不成立から成立になったか否かを判定する。ここで、アイドルストップ制御部３１がアイドルストップ制御によってエンジンを停止させる制御を開始したときに（例えば、エンジンを停止する指令が出力されたときに）、アイドルストップモードが不成立から成立になる。そして、アイドルストップ状態判定部３２は、アイドルストップモードが不成立から成立になったと判定すると、ステップＳ２に進む。また、アイドルストップ状態判定部３２は、アイドルストップモードが不成立から成立になっていないと判定すると、すなわち、アイドルストップ制御によるエンジンを停止させる制御が開始されていないか、アイドルストップ制御によるエンジンを停止させる制御が既に開始されている場合、ステップＳ３に進む。
【００５０】
ステップＳ２では、アイドルストップ状態判定部３２は、アイドルストップ中判定を成立させる。そして、アイドルストップ状態判定部３２は、当該図３に示す処理を終了する。
ステップＳ３では、アイドルストップ状態判定部３２は、アイドルストップ中判定成立中であるか否かを判定する。すなわち、アイドルストップ状態判定部３２は、前回以前の当該図３に示す処理時に前記ステップＳ２でアイドルストップ中判定を成立させたか否かを判定する。アイドルストップ状態判定部３２は、アイドルストップモード中判定成立中であると判定すると、ステップＳ４に進む。また、アイドルストップ状態判定部３２は、アイドルストップモード中判定成立中でないと判定すると、当該図３に示す処理を終了する。
【００５１】
ステップＳ４では、アイドルストップ状態判定部３２は、クランク角検出処理部３３が検出したクランク角位置を更新して記憶部３９に記憶する。
次に、ステップＳ５では、アイドルストップ状態判定部３２は、エンジンのスタータ信号（すなわち、スタータモータを駆動させるための信号）がオフからオンになったか否かを判定する。アイドルストップ状態判定部３２は、エンジンのスタータ信号がオフからオンになったと判定すると、ステップＳ６に進む。また、アイドルストップ状態判定部３２は、エンジンのスタータ信号がオフからオンになっていないと判定すると、ステップＳ７に進む。
【００５２】
ステップＳ７では、アイドルストップ状態判定部３２は、アイドルストップモードが成立から不成立になったか否かを判定する。すなわち、アイドルストップ状態判定部３２は、アイドルストップ制御部３１がエンジンを停止させる制御を止めたか否かを判定する。アイドルストップ状態判定部３２は、アイドルストップモードが成立から不成立になったと判定すると、ステップＳ６に進む。また、アイドルストップ状態判定部３２は、アイドルストップモードが成立から不成立になっていないと判定すると、当該図３に示す処理を終了する。
【００５３】
ステップＳ６では、アイドルストップ状態判定部３２は、アイドルストップ中判定を不成立にする。そして、アイドルストップ状態判定部３２は、当該図３に示す処理を終了する。
図３に示す処理は以上のような内容になる。
【００５４】
次に、クランク角信号パターン異常判定部３４が行うクランク角信号パターン異常判定処理について説明する。
図４は、クランク角信号パターン異常判定処理の一例を示すフローチャートである。クランク角信号パターン異常判定部３４は、例えば、クランク信号入力毎に図４に示す処理を実施する。
【００５５】
図４に示すように、先ず、ステップＳ２１では、クランク角信号パターン異常判定部３４は、アイドルストップ中判定成立中であるか否かを判定する。クランク角信号パターン異常判定部３４は、アイドルストップ中判定成立中であると判定すると、ステップＳ２２に進む。また、クランク角信号パターン異常判定部３４は、アイドルストップ中判定成立中でないと判定すると、ステップＳ２３に進む。
【００５６】
ステップＳ２２では、クランク角信号パターン異常判定部３４は、前回以前の当該図４に示す処理時に後述のステップＳ３１でなされクランク信号パターンが異常であるとの決定をクリアする。そして、クランク角信号パターン異常判定部３４は、当該図４に示す処理を終了する。
【００５７】
ステップＳ２３では、クランク角信号パターン異常判定部３４は、クランク角信号を基に、欠歯（欠歯部）を検出したか否かを判定する。例えば、クランク角信号パターン異常判定部３４は、クランク角信号のパルス波の検出間隔が前後のクランク角信号の検出間隔よりも長いとき、欠歯を検出したと判定する。例えば、予め設定された期間は、実験的、経験的、又は理論的に設定された値である。そして、クランク角信号パターン異常判定部３４は、欠歯を検出したと判定すると、ステップＳ２４に進む。また、クランク角信号パターン異常判定部３４は、欠歯を検出していないと判定すると、当該図４に示す処理を終了する。
【００５８】
ステップＳ２４では、クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴに１を加算する（ＣＲＬＣＮＴ＝ＣＲＬＣＮＴ＋１）。ここで、欠歯検出数ＣＲＬＣＮＴは、スタータ信号がオンになったときに０に初期化される値である。
次に、ステップＳ２５では、クランク角信号パターン異常判定部３４は、今回の処理時の前記ステップＳ２３での欠歯検出（すなわち、正常動作時には第１欠歯部１２及び第２欠歯部１３の何れか一方の欠歯部の検出）と前回の処理時の前記ステップＳ２３での欠歯検出（すなわち、正常動作時には第１欠歯部１２及び第２欠歯部１３の何れか他方の欠歯部の検出）との間に得られるクランク角信号のパルス波の数のカウント値を記憶部３９に記憶する。ここで、今回の処理時のカウント値（すなわち、最新のカウント値）は、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０に記憶される。また、前回の処理時のカウント値は、前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１に記憶される。
【００５９】
次に、ステップＳ２６では、クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴが３以上であるか否かを判定する。
ここで、当該図４に示す処理において、クランク角信号パターン異常判定部３４は、後述のステップＳ２９又はステップＳ３０の判定処理のために、時間的に連続した２つの欠歯間クランク角信号数ＣＲＩＣＮＴ０、ＣＲＩＣＮＴ１を得る必要がある。そのために、欠歯検出が少なくとも３回（すなわち、欠歯間の検出が少なくとも２回）行われている必要がある。このようなことから、クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴが３以上であるか否かを判定している。
【００６０】
クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴが３以上であると判定すると、ステップＳ２７に進む。また、クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴが３未満であると判定すると、当該図４の示す処理を終了する。
ステップＳ２７では、クランク角信号パターン異常判定部３４は、エンジンが未完爆である（すなわち、スタータモータによるクランキング状態である）か否かを判定する。クランク角信号パターン異常判定部３４は、エンジンが未完爆であると判定すると、ステップＳ２９に進む。また、クランク角信号パターン異常判定部３４は、エンジンが完爆していると判定すると、ステップＳ２８に進む。
【００６１】
ステップＳ２８では、クランク角信号パターン異常判定部３４は、エンジン回転数がエンジン回転数判定用しきい値以上であるか否かを判定する。ここで、エンジン回転数判定用しきい値は、例えば、エンジンの回転が安定している回転数相当である。例えば、エンジン回転数判定用しきい値は、実験的、経験的、又は理論的に予め設定された値である。クランク角信号パターン異常判定部３４は、エンジン回転数がエンジン回転数判定用しきい値以上であると判定すると、ステップＳ２９に進む。また、クランク角信号パターン異常判定部３４は、エンジン回転数がエンジン回転数判定用しきい値未満であると判定すると、前記ステップＳ２２に進む。
【００６２】
ステップＳ２９では、クランク角信号パターン異常判定部３４は、記憶部３９に記憶されている今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０が２２であり、かつ記憶部３９に記憶されている前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が１０であるか否かを判定する。クランク角信号パターン異常判定部３４は、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０が２２であり、かつ前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が１０であると判定すると、前記ステップＳ２２に進む。また、クランク角信号パターン異常判定部３４は、そうでない場合、ステップＳ３０に進む。
【００６３】
ステップＳ３０では、クランク角信号パターン異常判定部３４は、記憶部３９に記憶されている今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０が１０であり、かつ記憶部３９に記憶されている前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が２２であるか否かを判定する。クランク角信号パターン異常判定部３４は、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０が１０であり、かつ前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が２２であると判定すると、前記ステップＳ２２に進む。また、クランク角信号パターン異常判定部３４は、そうでない場合、ステップＳ３１に進む。
【００６４】
ステップＳ３１では、クランク角信号パターン異常判定部３４は、クランク角信号パターンが異常であると決定する。そして、クランク角信号パターン異常判定部３４は、当該図４に示す処理を終了する。
図４に示す処理は以上のような内容になる。
【００６５】
次に、カム角信号パターン異常判定部３５が行うカム角信号パターン異常判定処理について説明する。
図５は、カム角信号パターン異常判定処理の一例を示すフローチャートである。カム角信号パターン異常判定部３５は、例えば、クランク信号入力毎に図５に示す処理を実施する。
【００６６】
図５に示すように、先ず、ステップＳ５１では、カム角信号パターン異常判定部３５は、アイドルストップ中判定成立中であるか否かを判定する。カム角信号パターン異常判定部３５は、アイドルストップ中判定成立中であると判定すると、ステップＳ５２に進む。また、カム角信号パターン異常判定部３５は、アイドルストップ中判定成立中でないと判定すると、ステップＳ５３に進む。
【００６７】
ステップＳ５２では、カム角信号パターン異常判定部３５は、前回以前の当該図５に示す処理時に後述のステップＳ６１でなされたカム信号パターンが異常であるとの決定をクリアする。そして、カム角信号パターン異常判定部３５は、当該図５に示す処理を終了する。
【００６８】
ステップＳ５３では、カム角信号パターン異常判定部３５は、クランク角信号を基に、欠歯を検出したか否かを判定する。カム角信号パターン異常判定部３５は、欠歯を検出したと判定すると、ステップＳ５４に進む。また、カム角信号パターン異常判定部３５は、欠歯を検出していないと判定すると、当該図５に示す処理を終了する。
【００６９】
ステップＳ５４では、カム角信号パターン異常判定部３５は、欠歯検出数ＣＲＬＣＮＴに１を加算する（ＣＲＬＣＮＴ＝ＣＲＬＣＮＴ＋１）。ここで、欠歯検出数ＣＲＬＣＮＴは、スタータ信号がオンになったときに０に初期化される値である。
次に、ステップＳ５５では、カム角信号パターン異常判定部３５は、今回の処理時の前記ステップＳ５３での欠歯検出と前回の処理時の前記ステップＳ５３での欠歯検出との間に得られるカム角信号（以下、欠歯間カム角信号という。）のパルス波の数のカウント値を記憶部３９に記憶する。ここで、欠歯間カム角信号のパルス波の数のカウント値は、欠歯間カム角信号数ＣＭＣＮＴに記憶される。
【００７０】
次に、ステップＳ５６では、カム角信号パターン異常判定部３５は、欠歯検出数ＣＲＬＣＮＴが５以上であるか否かを判定する。
ここで、当該図５に示す処理において、カム角信号パターン異常判定部３５は、後述のステップＳ６０の判定処理のために、時間的に連続して欠歯間カム角信号を少なくとも４個得る必要がある。そのために、欠歯検出が５回（すなわち、欠歯間の検出が少なくとも４回）行われている必要がある。このようなことから、カム角信号パターン異常判定部３５は、欠歯検出数ＣＲＬＣＮＴが５以上であるか否かを判定している。
【００７１】
カム角信号パターン異常判定部３５は、欠歯検出数ＣＲＬＣＮＴが５以上であると判定すると、ステップＳ５７に進む。また、カム角信号パターン異常判定部３５は、欠歯検出数ＣＲＬＣＮＴが５未満であると判定すると、当該図５の示す処理を終了する。
ステップＳ５７では、カム角信号パターン異常判定部３５は、クランク角信号パターンが正常であるか否かを判定する。例えば、カム角信号パターン異常判定部３５は、クランク角信号パターン異常判定部３４が図４に示すクランク角信号パターン異常判定処理においてクランク角信号パターンが異常であるとの決定を行っていない場合、クランク角信号パターンが正常であると判定する。そして、カム角信号パターン異常判定部３５は、クランク角信号パターンが正常であると判定すると、ステップＳ５８に進む。また、カム角信号パターン異常判定部３５は、クランク角信号パターンが異常であると判定すると、例えば、クランク角信号パターン異常判定部３４が図４に示すクランク角信号パターン異常判定処理においてクランク角信号パターンが異常であるとの決定を行っている場合、前記ステップＳ５２に進む。
【００７２】
ステップＳ５８では、カム角信号パターン異常判定部３５は、エンジンが未完爆である（すなわち、スタータモータによるクランキング状態である）か否かを判定する。カム角信号パターン異常判定部３５は、エンジンが未完爆であると判定すると、ステップＳ６０に進む。また、カム角信号パターン異常判定部３５は、エンジンが完爆していると判定すると、ステップＳ５９に進む。
【００７３】
ステップＳ５９では、カム角信号パターン異常判定部３５は、エンジン回転数がエンジン回転数判定用しきい値以上であるか否かを判定する。ここで、エンジン回転数判定用しきい値は、例えば、エンジンの回転が安定している回転数相当である。例えば、エンジン回転数判定用しきい値は、実験的、経験的、又は理論的に予め設定された値である。カム角信号パターン異常判定部３５は、エンジン回転数がエンジン回転数判定用しきい値以上であると判定すると、ステップＳ６０に進む。また、カム角信号パターン異常判定部３５は、エンジン回転数がエンジン回転数判定用しきい値未満であると判定すると、前記ステップＳ５２に進む。
【００７４】
ステップＳ６０では、カム角信号パターン異常判定部３５は、カム角信号パターンが正常であるか否かを判定する。ここで、カム角信号パターンは、当該図５に示す処理を繰り返すことによって前記ステップＳ５５の処理で得られた欠歯間カム角信号数の数列である。そして、カム角信号パターン異常判定部３５は、そのようなカム角信号パターンが正常動作時のカム角信号パターン（１→２→０→１→・・・）に一致する場合、カム角信号パターンが正常であると判定する。そして、カム角信号パターン異常判定部３５は、カム角信号パターンが正常であると判定すると、前記ステップＳ５２に進む。また、カム角信号パターン異常判定部３５は、カム角信号パターンが異常であると判定すると、ステップＳ６１に進む。
【００７５】
ステップＳ６１では、カム角信号パターン異常判定部３５は、カム角信号パターンが異常であると決定する。そして、カム角信号パターン異常判定部３５は、当該図５に示す処理を終了する。
図５に示す処理は以上のような内容になる。
【００７６】
次に、気筒判別見直し処理部３６が行う気筒判別見直し処理について説明する。
図６は、気筒判別見直し処理の一例を示すフローチャートである。気筒判別見直し処理部３６は、例えば、クランク信号入力毎に図６に示す処理を実施する。
図６に示すように、先ず、ステップＳ８１では、気筒判別見直し処理部３６は、アイドルストップ中判定成立中であるか否かを判定する。気筒判別見直し処理部３６は、アイドルストップ中判定成立中であると判定すると、ステップＳ８２に進む。また、気筒判別見直し処理部３６は、アイドルストップ中判定成立中でないと判定すると、ステップＳ８３に進む。
【００７７】
ステップＳ８２では、気筒判別見直し処理部３６は、後述のステップＳ９９でカウントされるリセット判定用カウント値ＣＹＬＮＧＣＮＴをクリアする。そして、気筒判別見直し処理部３６は、当該図６に示す処理を終了する。
ステップＳ８３では、気筒判別見直し処理部３６は、クランク角信号を基に、欠歯を検出したか否かを判定する。気筒判別見直し処理部３６は、欠歯を検出したと判定すると、ステップＳ８４に進む。また、気筒判別見直し処理部３６は、欠歯を検出していないと判定すると、当該図６に示す処理を終了する。
【００７８】
ステップＳ８４では、気筒判別見直し処理部３６は、欠歯検出数ＣＲＬＣＮＴに１を加算する（ＣＲＬＣＮＴ＝ＣＲＬＣＮＴ＋１）。ここで、欠歯検出数ＣＲＬＣＮＴは、スタータ信号がオンになったときに０に初期化される値である。
次に、ステップＳ８５では、気筒判別見直し処理部３６は、今回の処理時の前記ステップＳ８３での欠歯検出と前回の処理時の前記ステップＳ８３での欠歯検出との間に得られるクランク角信号のパルス波の数のカウント値を記憶部３９に記憶する。ここで、今回の処理時のカウント値は、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０に記憶される。また、前回の処理時のカウント値は、前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１に記憶される。
【００７９】
次に、ステップＳ８６では、気筒判別見直し処理部３６は、今回の処理時の前記ステップＳ８３での欠歯検出と前回の処理時の前記ステップＳ８３での欠歯検出との間に得られるカム角信号のパルス波の数のカウント値を記憶部３９に記憶する。ここで、カム角信号のパルス波の数のカウント値は、欠歯間カム角信号数ＣＭＣＮＴに記憶される。
【００８０】
次に、ステップＳ８７では、気筒判別見直し処理部３６は、欠歯検出数ＣＲＬＣＮＴが３以上であるか否かを判定する。気筒判別見直し処理部３６は、欠歯検出数ＣＲＬＣＮＴが３以上であると判定すると、ステップＳ８８に進む。また、クランク角信号パターン異常判定部３４は、欠歯検出数ＣＲＬＣＮＴが３未満であると判定すると、前記ステップＳ８２に進む。
【００８１】
ステップＳ８８では、気筒判別見直し処理部３６は、前記ステップＳ８５で取得した欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ１、及び前記ステップＳ８６で取得した欠歯間カム角信号数ＣＭＣＮＴが、気筒判別のための第１要件を満たすか否かを判定する。
【００８２】
図７には、気筒判別のための気筒判別用テーブルの一例を示す。図７に示すように、第１要件は、１０−ｃＬ≦ＣＲＩＣＮＴ１≦１０＋ｃＨ、２２−ｄＬ≦ＣＲＩＣＮＴ１≦２２＋ｄＨ、及びＣＭＣＮＴ＝２を満たすことである。ここで、ｃＬ、ｃＨ、ｄＬ、ｄＨは、信号へのノイズの混入をも考慮して判定できるように予め設定されている誤差値である。
【００８３】
気筒判別見直し処理部３６は、第１要件を満たすと判定すると、ステップＳ８９に進む。また、気筒判別見直し処理部３６は、第１要件を満たさないと判定すると、ステップＳ９０に進む。
ステップＳ８９では、気筒判別見直し処理部３６は、気筒判別位置を＃１ＢＴＤＣ７５°ＣＡ（すなわち、第１気筒が圧縮上死点前７５°クランクアングルの位置）に設定する。そして、気筒判別見直し処理部３６は、ステップＳ９６に進む。
【００８４】
ステップＳ９０では、気筒判別見直し処理部３６は、前記ステップＳ８５で取得した欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ１、及び前記ステップＳ８６で取得した欠歯間カム角信号数ＣＭＣＮＴが、気筒判別のための第２要件を満たすか否かを判定する。ここで、図７に示すように、第２要件は、２２−ｄＬ≦ＣＲＩＣＮＴ１≦２２＋ｄＨ、１０−ｃＬ≦ＣＲＩＣＮＴ０≦１０＋ｃＨ、及びＣＭＣＮＴ＝０を満たすことである。
【００８５】
気筒判別見直し処理部３６は、第２要件を満たすと判定すると、ステップＳ９１に進む。また、気筒判別見直し処理部３６は、第２要件を満たさないと判定すると、ステップＳ９２に進む。
ステップＳ９１では、気筒判別見直し処理部３６は、気筒判別位置を＃３ＢＴＤＣ１９５°ＣＡ（すなわち、第３気筒が圧縮上死点前１９５°クランクアングルの位置）に設定する。そして、気筒判別見直し処理部３６は、ステップＳ９６に進む。
【００８６】
ステップＳ９２では、気筒判別見直し処理部３６は、前記ステップＳ８５で取得した欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ１、及び前記ステップＳ８６で取得した欠歯間カム角信号数ＣＭＣＮＴが、気筒判別のための第３要件を満たすか否かを判定する。ここで、図７に示すように、第３要件は、１０−ｃＬ≦ＣＲＩＣＮＴ１≦１０＋ｃＨ、２２−ｄＬ≦ＣＲＩＣＮＴ０≦２２＋ｄＨ、及びＣＭＣＮＴ＝１を満たすことである。
【００８７】
気筒判別見直し処理部３６は、第３要件を満たすと判定すると、ステップＳ９３に進む。また、気筒判別見直し処理部３６は、第３要件を満たさないと判定すると、ステップＳ９４に進む。
ステップＳ９３では、気筒判別見直し処理部３６は、気筒判別位置を＃２ＢＴＤＣ１９５°ＣＡ（すなわち、第２気筒が圧縮上死点前１９５°クランクアングルの位置）に設定する。そして、気筒判別見直し処理部３６は、ステップＳ９６に進む。
【００８８】
ステップＳ９４では、気筒判別見直し処理部３６は、前記ステップＳ８５で取得した欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ１、及び前記ステップＳ８６で取得した欠歯間カム角信号数ＣＭＣＮＴが、気筒判別のための第４要件を満たすか否かを判定する。ここで、図７に示すように、第４要件は、２２−ｄＬ≦ＣＲＩＣＮＴ１≦２２＋ｄＨ、１０−ｃＬ≦ＣＲＩＣＮＴ０≦１０＋ｃＨ、及びＣＭＣＮＴ＝１を満たすことである。
【００８９】
気筒判別見直し処理部３６は、第４要件を満たすと判定すると、ステップＳ９５に進む。また、気筒判別見直し処理部３６は、第４要件を満たさないと判定すると、ステップＳ９９に進む。
ステップＳ９５では、気筒判別見直し処理部３６は、気筒判別位置を＃２ＢＴＤＣ７５°ＣＡ（すなわち、第２気筒が圧縮上死点前７５°クランクアングルの位置）に設定する。そして、気筒判別見直し処理部３６は、ステップＳ９６に進む。
ステップＳ９６では、気筒判別見直し処理部３６は、クランク角位置と気筒判別位置との差分値が差分値判別用しきい値以上であるか否かを判定する。
【００９０】
ここで、クランク角位置は、クランク角検出処理部３３が検出した値である。また、気筒判別位置は、当該ステップＳ９６の処理に進む直前の前記ステップＳ８９、前記ステップＳ９１、前記ステップＳ９３、及び前記ステップＳ９４の何れかの処理で得られた気筒判別位置である。すなわち、気筒判別位置は、＃１ＢＴＤＣ７５°ＣＡ、＃３ＢＴＤＣ１９５°ＣＡ、＃２ＢＴＤＣ１９５°ＣＡ、及び＃２ＢＴＤＣ７５°ＣＡの何れかである。また、差分値判別用しきい値は、実験的、経験的、又は理論的に予め設定されている値である。
【００９１】
また、クランク角位置は、クランクシャフト１０１そのものの回転角度位置であり、気筒判別位置は、特定の気筒からみたクランク角度である。そのため、例えば、気筒判別見直し処理部３６は、クランク角位置と気筒判別位置とを比較する際に、クランク角位置及び気筒判別位置の少なくとも一方を、これら両者の値を比較できるように、予め設定されている変換式等によって変換する。又は、気筒判別見直し処理部３６は、クランク角位置と気筒判別位置との差分値を予め設定されている変換式等によって変換する。
【００９２】
気筒判別見直し処理部３６は、クランク角位置と気筒判別位置との差分値が差分値判別用しきい値以上であると判定すると、ステップＳ９８に進む。また、気筒判別見直し処理部３６は、クランク角位置と気筒判別位置との差分が差分値判別用しきい値未満であると判定すると、ステップＳ９７に進む。
【００９３】
ステップＳ９７では、気筒判別見直し処理部３６は、今回の処理において前記ステップＳ８９、前記ステップＳ９１、前記ステップＳ９３、及び前記ステップＳ９４の何れかの処理で得られた気筒判別位置によって現在のクランク角位置を更新して（すなわち、クランク角位置を見直して）記憶部３９に記憶する。そして、気筒判別見直し処理部３６は、前記ステップＳ８２に進む。
【００９４】
ステップＳ９８では、気筒判別見直し処理部３６は、リセット判定用カウント値ＣＹＬＮＧＣＮＴに１を加算する（ＣＹＬＮＧＣＮＴ＝ＣＹＬＮＧＣＮＴ＋１）。
次に、ステップＳ９９では、気筒判別見直し処理部３６は、リセット判定用カウント値ＣＹＬＮＧＣＮＴがリセット判定用しきい値ＣＹＬＮＧ以上であるか否かを判定する。気筒判別見直し処理部３６は、リセット判定用カウント値ＣＹＬＮＧＣＮＴがリセット判定用しきい値ＣＹＬＮＧ以上であると判定すると、ステップＳ１００に進む。また、気筒判別見直し処理部３６は、リセット判定用カウント値ＣＹＬＮＧＣＮＴがリセット判定用しきい値ＣＹＬＮＧ未満であると判定すると、当該図６に示す処理を終了する。
【００９５】
ステップＳ１００では、気筒判別見直し処理部３６は、気筒判別をリセットする。そして、気筒判別見直し処理部３６は、当該図６に示す処理を終了する。
図６に示す処理は以上のような内容になる。
【００９６】
（動作、作用等）
次に、第１の実施形態に係るエンジン制御装置１の動作、及びその作用等について説明する。
（図３に示すアイドルストップ状態判定処理に基づく動作等）
エンジン制御装置１は、アイドルストップが可能な状態になったときにアイドルストップモードを成立させ、アイドルストップ制御によってエンジンを停止させる制御を開始する（例えば、エンジンを停止する指令を出力する）。また、エンジン制御装置１は、アイドルストップモードを成立させたときにアイドルストップ中判定を成立させる（前記ステップＳ１→前記ステップＳ２）。
【００９７】
そして、エンジン制御装置１は、アイドルストップ中判定が成立している最中、クランク角位置を更新する（前記ステップＳ３→前記ステップＳ４）。具体的には、エンジン制御装置１は、アイドルストップ中判定が成立している最中であって、エンジンの回転が停止するまで、すなわちクランクシャフト１０１の回転が停止するまで、クランク角位置を更新する。
【００９８】
その後、エンジン制御装置１は、スタータ信号をオンにしたり、アイドルストップモードを不成立にしたりしたとき、アイドルストップ中判定を不成立にする（前記ステップＳ５〜前記ステップＳ７）。ここで、スタータモータを駆動させることなく、アイドルストップから自立復帰によってエンジンを始動させる場合があるため、エンジン制御装置１は、スタータ信号がオンになっていなくともアイドルストップモードを不成立にしたときにはアイドルストップ中判定を不成立にしている。すなわち、エンジン制御装置１は、エンジンを始動する条件が満たされると（すなわち、エンジンの始動を検出すると）、アイドルストップ中判定を不成立にしている。
【００９９】
このように、エンジン制御装置１は、アイドルストップ制御によってエンジンを停止させるための制御を開始してから、その後、当該エンジンの再始動のためのスタータ信号のオンによって又は自立復帰によってクランクシャフト１０１を正回転させるまでの範囲でアイドルストップ中判定を成立させたり不成立にさせたりしている。
【０１００】
（図４に示すクランク角信号パターン異常判定処理に基づく動作等）
エンジン制御装置１は、アイドルストップ中判定成立中でないときには、クランク角信号パターン異常判定処理を継続して実施する（前記ステップＳ２１→前記ステップＳ２３〜前記ステップＳ３１）。
【０１０１】
ここで、エンジン制御装置１は、アイドルストップの状態からエンジンを始動する条件が満たされた場合、アイドルストップ中判定が不成立になるため、アイドルストップ中判定成立中のクランク角信号パターン異常判定処理の禁止状態を解除して、当該クランク角信号パターン異常判定処理を実施することになる。
【０１０２】
このクランク角信号パターン異常判定処理の実施によって、エンジン制御装置１は、３回の欠歯検出がなされ、かつエンジンが未完爆（すなわち、スタータモータによるクランキング状態）であるときに、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０及び前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が所定の要件を満たさなければ、クランク角信号パターンが異常であると決定する（前記ステップＳ２３〜前記ステップＳ２７→前記ステップＳ２９〜前記ステップＳ３１）。又は、エンジン制御装置１は、３回の欠歯検出がなされ、かつ完爆しているエンジンの回転数が高いときに、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０及び前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が所定の要件を満たさなければ、クランク角信号パターンが異常であると決定する（前記ステップＳ２３〜前記ステップＳ３１）。
【０１０３】
一方、エンジン制御装置１は、３回の欠歯検出がなされ、かつエンジンが未完爆であるときに、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０及び前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が所定の要件を満たせば、クランク角信号パターン異常の決定をクリアする（前記ステップＳ２３〜前記ステップＳ２７→前記ステップＳ２９、前記ステップＳ３０→前記ステップＳ２２）。又は、エンジン制御装置１は、３回の欠歯検出がなされ、かつ完爆しているエンジンの回転数が高いときに、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０及び前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１が所定の要件を満たせば、クランク角信号パターン異常の決定をクリアする（前記ステップＳ２３〜前記ステップＳ３０→前記ステップＳ２２）。
【０１０４】
このように、クランク角信号パターン異常判定処理では、エンジン制御装置１は、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０及び前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１を基にクランク角信号パターンの異常を判定する。
ここで、図８には、逆転検知クランク角センサ２が正常動作している場合（例えば、逆転検知クランク角センサ２が正回転している場合）の欠歯間クランク角信号数の一例を示す。図８に示すように、逆転検知クランク角センサ２が正常動作している場合、欠歯間クランク角信号数は、１０→２２→１０→２２→１０→・・・といったように、１０と２２とで交互に変化する。
【０１０５】
一方、エンジン制御装置１は、アイドルストップ中判定成立中であるときには、前述のようなクランク角信号パターン異常判定処理を行うことなく、クランク角信号パターン異常の決定をクリアする（前記ステップＳ２１→前記ステップＳ２２）。
ここで、アイドルストップ制御によってエンジンが停止する際にクランクシャフト１０１の揺り戻しが発生すると、エンジン制御装置１は、クランク角信号に基づく欠歯検出の判定を誤ってしまう可能性がある。そして、エンジン制御装置１は、欠歯検出の判定を誤ってしまうと、エンジンが完全に停止する前にクランク角信号パターンが異常であるとの誤った決定を行ってしまう可能性がある。
【０１０６】
このようなことから、本実施形態に係るエンジン制御装置１は、アイドルストップ制御によってエンジンが停止することを示すアイドルストップ中判定成立中のときには、クランク角信号パターン異常判定処理（具体的には、前記ステップＳ２３以降の処理）を行わないようにしている。これによって、本実施形態に係るエンジン制御装置１は、アイドルストップ制御中の欠歯検出の誤判定によってクランク角信号パターンが異常であるとの誤った決定を行ってしまうことを防止している。
【０１０７】
また、エンジン制御装置１は、完爆後でもエンジン回転数が低いときには、エンジンの回転変動によって欠歯検出を誤判定してしまう可能性があるため、クランク角信号パターン異常判定処理（具体的には、前記ステップＳ２３以降の処理）を行うことなく、クランク角信号パターン異常の決定をクリアする（前記ステップＳ２８→前記ステップＳ２２）。
【０１０８】
一方、エンジン制御装置１は、スタータモータによるクランキング状態でありエンジンが未完爆であるときには、スタータモータによってクランクシャフトが回転させられているため、クランクシャフトの回転が不安定になったり欠歯検出を誤判定してしまったりすることがないとして、即座にクランク角信号パターン異常の決定をクリアするようなことは行っていない（前記ステップＳ２７→前記ステップＳ２９〜）。
【０１０９】
（図５に示すカム角信号パターン異常判定処理に基づく動作等）
エンジン制御装置１は、アイドルストップ中判定成立中でないときには、カム角信号パターン異常判定処理を継続して実施する（前記ステップＳ５１→前記ステップＳ５３〜前記ステップＳ６１）。
【０１１０】
ここで、エンジン制御装置１は、アイドルストップの状態からエンジンを始動する条件が満たされた場合、アイドルストップ中判定が不成立になるため、アイドルストップ中判定成立中のカム角信号パターン異常判定処理の禁止状態を解除して、当該カム角信号パターン異常判定処理を実施することになる。
【０１１１】
このカム角信号パターン異常判定処理の実施によって、エンジン制御装置１は、５回の欠歯検出がなされ、かつクランク角信号パターンが正常であり、かつエンジンが未完爆であるときに、検出したカム角信号パターン（すなわち、直近の４個の欠歯間カム角信号から得たカム角信号パターン）が正常動作時のカム角信号パターンに一致しなければ、カム角信号パターンが異常であると決定する（前記ステップＳ５３〜前記ステップＳ５８→前記ステップＳ６０→前記ステップＳ６１）。又は、エンジン制御装置１は、５回の欠歯検出がなされ、かつクランク角信号パターンが正常であり、かつ完爆しているエンジンの回転数が高いときに、検出したカム角信号パターンが正常時のカム角信号パターンに一致しなければ、カム角信号パターンが異常であると決定する（前記ステップＳ５３〜前記ステップＳ６１）。
【０１１２】
一方、エンジン制御装置１は、５回の欠歯検出がなされ、かつクランク角信号パターンが正常であり、かつエンジンが未完爆であるときに、検出したカム角信号パターンが正常動作時のカム角信号パターンに一致すると、カム角信号パターン異常の決定をクリアする（前記ステップＳ５３〜前記ステップＳ５８→前記ステップＳ６０→前記ステップＳ５２）。又は、エンジン制御装置１は、５回の欠歯検出がなされ、かつクランク角信号パターンが正常であり、かつ完爆しているエンジンの回転数が高いときに、検出したカム角信号パターンが正常動作時のカム角信号パターンに一致すると、カム角信号パターン異常の決定をクリアする（前記ステップＳ５３〜前記ステップＳ６０→前記ステップＳ５２）。
このように、カム角信号パターン異常判定処理では、エンジン制御装置１は、欠歯間カム角信号のパターンを基にカム角信号パターンの異常を判定する。
【０１１３】
ここで、図９には、逆転検知クランク角センサ２が正常動作している場合（例えば、逆転検知クランク角センサ２が正回転している場合）の欠歯間カム角信号数のパターンの一例を示す。図９に示すように、逆転検知クランク角センサ２が正常動作している場合、欠歯間カム角信号数のパターンは、１→２→０→１→・・・といったような数列となる。
【０１１４】
一方、エンジン制御装置１は、アイドルストップ中判定成立中であるときには、前述のようなカム角信号パターン異常判定処理を行うことなく、カム角信号パターン異常の決定をクリアする（前記ステップＳ５１→前記ステップＳ５２）。
ここで、アイドルストップ制御によってエンジンが停止する際にクランクシャフト１０１の揺り戻しが発生すると、エンジン制御装置１は、クランク角信号に基づく欠歯検出の判定を誤ってしまう可能性がある。そして、エンジン制御装置１は、欠歯検出の判定を誤ってしまうと、エンジンが完全に停止する前にカム角信号パターンが異常であるとの誤った決定を行ってしまう可能性がある。
【０１１５】
このようなことから、本実施形態に係るエンジン制御装置１は、アイドルストップ制御によってエンジンが停止することを示すアイドルストップ中判定成立中であるときには、カム角信号パターン異常判定処理（具体的には、前記ステップＳ５３以降の処理）を行わないようにしている。これによって、本実施形態に係るエンジン制御装置１は、アイドルストップ制御中の欠歯検出の誤判定によってカム角信号パターンが異常であるとの誤った決定を行ってしまうことを防止している。
【０１１６】
また、エンジン制御装置１は、完爆後でもエンジン回転数が低いときには、エンジンの回転変動によって欠歯検出を誤判定してしまう可能性があるため、カム角信号パターン異常判定処理（具体的には、前記ステップＳ５３以降の処理）を行うことなく、カム角信号パターン異常の決定をクリアする（前記ステップＳ５９→前記ステップＳ５２）。
【０１１７】
一方、エンジン制御装置１は、スタータモータによるクランキング状態でありエンジンが未完爆であるときには、スタータモータによってクランクシャフトが回転させられているため、クランクシャフトの回転が不安定になったり欠歯検出を誤判定してしまったりすることがないとして、即座にカム角信号パターン異常の決定をクリアするようなことはしていない（前記ステップＳ５８→前記ステップＳ６０〜）。
【０１１８】
（図６に示す気筒判別見直し処理に基づく動作等）
エンジン制御装置１は、アイドルストップ中判定成立中でないときには、気筒判別見直し処理を継続して実施する（前記ステップＳ８１、前記ステップＳ８３〜前記ステップＳ１００）。
【０１１９】
ここで、エンジン制御装置１は、アイドルストップの状態からエンジンを始動する条件が満たされた場合、アイドルストップ中判定が不成立になるため、アイドルストップ中判定成立中の気筒判別見直し処理の禁止状態を解除して、当該気筒判別見直し処理を実施することになる。
【０１２０】
この気筒判別見直し処理の実施によって、エンジン制御装置１は、３回の欠歯検出がなされたときに、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０、前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１、及び欠歯間カム角信号数ＣＭＣＮＴと第１乃至第４要件とを比較することで気筒判別位置を設定する（前記ステップＳ８３〜前記ステップＳ９５）。
【０１２１】
そして、エンジン制御装置１は、現在のクランク角位置と設定した気筒判別位置との差分値が差分値判定用しきい値未満であれば、設定した気筒判別位置によってクランク角位置を更新して記憶部３９に記憶し、さらにリセット判定用カウント値ＣＹＬＮＧＣＮＴをクリアする（前記ステップＳ９６→前記ステップＳ９７→前記ステップＳ８２）。
【０１２２】
一方、エンジン制御装置１は、現在のクランク角位置と設定した気筒判別位置との差分値が差分値判定用しきい値以上であるときには、設定した気筒判別位置によるクランク角位置の更新を行わない（前記ステップＳ９６→前記ステップＳ９８）。このような処理を行うは、欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ０や欠歯間カム角信号数ＣＭＣＮＴがノイズ等によって増減している可能性があるとして、クランク角位置の更新を行わないようにするためである。
【０１２３】
そして、エンジン制御装置１は、クランク角位置と設定した気筒判別位置との差分値が差分値判定用しきい値以上である回数が連続してリセット判定用しきい値ＣＹＬＮＧ以上となると、気筒判別をリセットする。その後、エンジン制御装置１は、リセット判定用カウント値ＣＹＬＮＧＣＮＴをクリアする（前記ステップＳ９６→前記ステップＳ９８〜前記ステップＳ１００→前記ステップＳ８２）。ここで、気筒判別のリセットでは、エンジン制御装置１は、今回の気筒判別見直し処理で得られた気筒判別位置などの処理結果を消去する。さらに、気筒判別のリセットでは、エンジン制御装置１は、前回以前の気筒判別見直し処理の結果も消去する。これによって、前回以前の気筒判別見直し処理で更新されたクランク角位置も消去される。このようなことから、エンジン制御装置１は、気筒判別をリセットした後の気筒判別見直し処理では、クランク角位置や欠歯間クランク角信号数ＣＲＩＣＮＴ０，ＣＲＩＣＮＴ１、欠歯間カム角信号数ＣＭＣＮＴが消去されているため、クランク角位置が不明となっている状態からのやり直しとなる。このような気筒判別のリセットを行うのは、クランク角位置と気筒判別位置との差分値が差分値判定用しきい値以上である回数が連続してリセット判定用しきい値ＣＹＬＮＧ以上になった場合、正しく気筒判別位置を判別できない可能性が高いためである。
【０１２４】
一方、エンジン制御装置１は、アイドルストップ中判定成立中であるときには、前述のような気筒判別見直し処理を行うことなく、リセット判定用カウント値ＣＹＬＮＧＣＮＴをクリアすることだけ行う（前記ステップＳ８１→前記ステップＳ８２）。
エンジン制御装置１は、以上のような気筒判別見直し処理によって、今回の欠歯間クランク角信号数ＣＲＩＣＮＴ０、前回の欠歯間クランク角信号数ＣＲＩＣＮＴ１、及び欠歯間カム角信号数ＣＭＣＮＴに基づき気筒判別を常に見直している（すなわち、クランク角位置を見直している）。
【０１２５】
また、アイドルストップ制御によってエンジンが停止する際にクランクシャフト１０１の揺り戻しが発生すると、エンジン制御装置１は、クランク角信号に基づく欠歯検出の判定を誤ってしまう可能性がある。そして、エンジン制御装置１は、欠歯検出の判定を誤ってしまうと、アイドルストップからのエンジンの再始動時にクランク角位置を誤ることで気筒判別の見直しを誤る可能性がある。
【０１２６】
このようなことから、本実施形態に係るエンジン制御装置１は、アイドルストップ制御によってエンジンが停止することを示すアイドルストップ中判定成立中であるときには、気筒判別見直し処理（具体的には、前記ステップＳ８３以降の処理）を行わないようにしている。これによって、本実施形態に係るエンジン制御装置１は、アイドルストップからのエンジンの再始動時に誤った気筒判別の見直しを行ってしまうのを防止している。
【０１２７】
次に、図１０を用いて、第１の実施形態に係るエンジン制御装置１の動作等について説明する。
エンジン制御装置１は、アイドルストップ可能状態となるとアイドルストップモードを成立させる（時刻ｔ１）。そして、エンジン制御装置１は、アイドルストップモードが成立すると、スタータ信号がオンになることでエンジンが再始動するまでのアイドルストップ中判定成立中（時刻ｔ１〜ｔ５）、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止する。具体的には、図４に示すクランク角信号パターン異常判定処理では、前記ステップＳ２３以降の処理を禁止する。また、図５に示すカム角信号パターン異常判定処理では、前記ステップＳ５３以降の処理を禁止する。また、図６に示す気筒判別見直し処理では、前記ステップＳ８３以降の処理を禁止する。
【０１２８】
これによって、エンジン制御装置１は、アイドルストップの際のクランクシャフト１０１の揺り戻しによって欠歯検出を誤判定してしまう可能性がある期間中、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止する（時刻ｔ２〜ｔ３）。この結果、エンジン制御装置１は、クランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまうのを防止できる。また、エンジン制御装置１は、誤った気筒判別位置見直しを行ってしまうのを防止できる。
【０１２９】
また、エンジン制御装置１は、アイドルストップ中判定成立中であってもクランクシャフト１０１の回転が完全に停止するまでの期間（時刻〜ｔ４）、クランク角位置を更新して記憶する。そして、エンジン制御装置１は、クランクシャフト１０１の回転が完全に停止した際に記憶しておいたクランク角位置（最後に更新したクランク角位置）を用いて気筒判別を行い、スタータ信号のオン及びエンジンの始動を行う（時刻ｔ５）。
【０１３０】
ここで、図１１及び図１２を用いて、欠歯検出を誤判定してしまう場合について説明する。ここで、図１１は、欠歯検出の誤判定によってクランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまう一例を説明する図である。また、図１２は、欠歯検出の誤判定によって誤った気筒判別位置見直しを行ってしまう一例を説明する図である。
【０１３１】
先ず、図１１に示すように、アイドルストップによってクランクシャフト１０１の揺り戻しが発生すると、エンジン制御装置１は、クランク角信号の無発生区間の存在によって、欠歯検出を誤判定してしまう。この結果、エンジン制御装置１は、クランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまう。
【０１３２】
また、図１２に示すように、同様に、アイドルストップによってクランクシャフト１０１の繰り戻しが発生すると、エンジン制御装置１は、クランク角信号の無発生区間の存在によって、欠歯検出を誤判定してしまう。この結果、エンジン制御装置１は、誤判定した欠歯間の欠歯間クランク角信号数を正常時の欠歯間クランク角信号数（＝１０）と誤判定してしまう。これによって、エンジン制御装置１は、誤った気筒判別位置見直しを行ってしまう。
【０１３３】
なお、前述の第１の実施形態の説明では、逆転検知クランク角センサ２は、例えば、クランク角検出部を構成する。また、クランク角信号パターン異常判定部３４は、例えば、第１処理実施部を構成する。また、クランク角信号パターン異常判定処理は、例えば、クランク角信号異常判定処理を構成する。また、気筒判別見直し処理部３６は、例えば、第２処理実施部を構成する。また、気筒判別見直し処理は、例えば、気筒位置判定処理を構成する。また、カム角信号パターン異常判定部３５は、例えば、第３処理実施部を構成する。また、カム角信号パターン異常判定処理は、例えば、カム角信号異常判定処理を構成する。また、アイドルストップ状態判定部３２は、例えば、反転予測部、実施禁止部、第１禁止解除部、第２禁止解除部、第３禁止解除部、及びエンジン始動検出部を構成する。また、アイドルストップ状態判定部３２のステップＳ４の処理機能は、例えば、クランク角位置処理部を構成する。また、カム角センサ３は、例えば、カム角検出部を構成する。
【０１３４】
（第１の実施形態の変形例）
第１の実施形態では、アイドルストップ状態判定処理は、図３に示す例に限定されない。図１３には、アイドルストップ状態判定処理の他の一例のフローチャートを示す。
図１３に示すように、アイドルストップ状態判定処理は、前記ステップＳ２の後にステップＳ１２１の処理が追加されている。また、アイドルストップ状態判定処理は、前記ステップＳ６の後にステップＳ１２２の処理が追加されている。
【０１３５】
ここで、ステップＳ１２１では、アイドルストップ状態判定部３２は、信号パターン異常判定処理（クランク角信号パターン異常判定処理及びカム角信号パターン異常判定処理）、及び気筒判別見直し処理を禁止する。そして、ステップＳ１２２では、アイドルストップ状態判定部３２は、信号パターン異常判定処理（クランク角信号パターン異常判定処理及びカム角信号パターン異常判定処理）、及び気筒判別見直し処理の禁止を解除する。これによって、図４、図５、図６に示す処理内で行っていたアイドルストップ中判定成立の判定処理（前記ステップＳ２１、前記ステップＳ５１、前記ステップＳ８１）に基づく処理の禁止が、図１３に示す処理内で実現される。ここで、図１３に示す処理でいうクランク角信号パターン異常判定処理は、図４に示すステップＳ２１より後の処理に相当する。また、図１３に示す処理でいうカム角信号パターン異常判定処理は、図４に示すステップＳ５１より後の処理に相当する。また、図１３に示す処理でいう気筒判別見直し処理は、図６に示すステップＳ８１より後の処理に相当する。
【０１３６】
また、第１の実施形態では、エンジンの気筒数は、３気筒に限定されない。
また、第１の実施形態では、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理は、前述のような具体的な内容に限定されない。すなわち、クランク角信号パターン異常判定処理は、逆転検知クランク角センサ２が出力する信号のパターンの異常を判定できる処理であれば良い。また、カム角信号パターン異常判定処理は、カム角センサ３が出力する信号のパターンの異常を判定できる処理であれば良い。また、気筒判別見直し処理は、逆転検知クランク角センサ２が出力する信号に基づき行うエンジンの気筒の位置を判定する処理であれば良い。
【０１３７】
また、第１の実施形態は、前述のような具体的な数値によって処理が行われることに限定されない。
【０１３８】
（第２の実施形態）
次に、第２の実施形態について説明する。なお、前述の第１の実施形態と同様な構成については同一の符号を付して説明する。
（構成）
第２の実施形態では、エンジン制御装置１は、イグニッションがオフになった際に、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止している。
【０１３９】
図１４には、第２の実施形態に係るＥＣＵ３０の構成例を示す。図１４に示すように、ＥＣＵ３０は、第１の実施形態に係るＥＣＵ３０（図１参照）と異なり、エンジン駆動状態判定部４０を有している。
図１５には、このエンジン駆動状態判定部４０が行うエンジン停止判定処理の一例のフローチャートを示す。エンジン駆動状態判定部４０は、例えば、１０ｍｓｅｃの時間間隔で図１５に示す処理を実施する。
【０１４０】
図１５に示すように、先ず、ステップＳ１４１では、エンジン駆動状態判定部４０は、イグニッションがオンからオフになったか否かを判定する。エンジン駆動状態判定部４０は、イグニッションがオンからオフになったと判定すると、ステップＳ１４２に進む。また、エンジン駆動状態判定部４０は、イグニッションがオンからオフになっていないと判定すると、例えば、イグニッションがオン又はオフに維持されている場合、ステップＳ１４３に進む。
【０１４１】
ステップＳ１４２では、エンジン駆動状態判定部４０は、エンジン停止中判定を成立させる。そして、エンジン駆動状態判定部４０は、当該図１５に示す処理を終了する。
ステップＳ１４３では、エンジン駆動状態判定部４０は、イグニッションがオフ状態（すなわちイグニッションオフ中）であるか否かを判定する。エンジン駆動状態判定部４０は、イグニッションがオフ状態であると判定すると、ステップＳ１４４に進む。また、エンジン駆動状態判定部４０は、イグニッションがオフ状態でないと判定すると、ステップＳ１４７に進む。
【０１４２】
ステップＳ１４４では、エンジン駆動状態判定部４０は、クランク角検出処理部３３が検出したクランク角位置を更新して記憶部３９に記憶する。
次に、ステップＳ１４５では、エンジン駆動状態判定部４０は、クランクシャフト１０１の回転が完全に停止したか否かを判定する。エンジン駆動状態判定部４０は、クランクシャフト１０１の回転が完全に停止したと判定すると、ステップＳ１４６に進む。また、エンジン駆動状態判定部４０は、クランクシャフト１０１の回転が完全に停止していないと判定すると、当該図１５に示す処理を終了する。
【０１４３】
ステップＳ１４６では、エンジン駆動状態判定部４０は、クランク角検出処理部３３が検出したクランク角位置（すなわち、クランクシャフト１０１の回転が完全に停止した時のクランク角位置）を記憶部３９に記憶する。そして、エンジン駆動状態判定部４０は、当該図１５に示す処理を終了する。
【０１４４】
ステップＳ１４７では、エンジン駆動状態判定部４０は、イグニッションがオフからオンになったか否かを判定する。エンジン駆動状態判定部４０は、イグニッションがオフからオンになったと判定すると、ステップＳ１４８に進む。また、エンジン駆動状態判定部４０は、イグニッションがオフからオンになっていないと判定すると、ステップＳ１４９に進む。
【０１４５】
ステップＳ１４８では、エンジン駆動状態判定部４０は、記憶部３９に記憶しておいたクランク角位置（すなわち、クランクシャフト１０１の回転が完全に停止した時のクランク角位置）をセットする。そして、エンジン駆動状態判定部４０は、当該図１５に示す処理を終了する。ここで、セットされたクランク角位置は、エンジンの再始動時に気筒判別を行うために用いるクランク角位置となる。
【０１４６】
ステップＳ１４９では、エンジン駆動状態判定部４０は、エンジンのスタータ信号がオフからオンになったか否かを判定する。エンジン駆動状態判定部４０は、エンジンのスタータ信号がオフからオンになったと判定すると、ステップＳ１５０に進む。また、エンジン駆動状態判定部４０は、エンジンのスタータ信号がオフからオンになっていないと判定すると、当該図１５に示す処理を終了する。
【０１４７】
ステップＳ１５０では、エンジン駆動状態判定部４０は、エンジン停止中判定を不成立にする。そして、エンジン駆動状態判定部４０は、当該図１５に示す処理を終了する。
図１５示す処理は以上のような内容になる。
そして、第２の実施形態では、クランク角信号パターン異常判定部３４は、前述のエンジン停止判定処理におけるエンジン停止中判定成立の有無に応じてクランク角信号パターン異常判定処理を行う（図４参照）。すなわち例えば、クランク角信号パターン異常判定部３４は、エンジン停止中判定成立中であると判定すると、クランク信号パターンが異常であるとの決定をクリアしてクランク角信号パターン異常判定処理を禁止する（前記ステップＳ２２）。一方、クランク角信号パターン異常判定部３４は、エンジン停止中判定成立中でないと判定すると、欠歯を検出したか否かを判定する等のクランク角信号パターン異常判定処理を実施する（前記ステップＳ２３〜）。
【０１４８】
また、第２の実施形態では、カム角信号パターン異常判定部３５は、エンジン停止中判定成立の有無に応じてカム角信号パターン異常判定処理を行う（図５参照）。すなわち例えば、カム角信号パターン異常判定部３５は、エンジン停止中判定成立中であると判定すると、カム信号パターンが異常であるとの決定をクリアしてカム角信号パターン異常判定処理を禁止する（前記ステップＳ５２）。一方、カム角信号パターン異常判定部３５は、エンジン停止中判定成立中でないと判定すると、欠歯を検出したか否かを判定する等のカム角信号パターン異常判定処理を実施する（前記ステップＳ５３〜）。
【０１４９】
また、第２の実施形態では、気筒判別見直し処理部３６は、エンジン停止中判定成立の有無に応じて気筒判別見直し処理を行う（図６参照）。すなわち例えば、気筒判定位置見直し処理部は、エンジン停止中判定成立中であると判定すると、リセット判定用カウント値ＣＹＬＮＧＣＮＴをクリアして気筒判別見直し処理を禁止する（前記ステップＳ８２）。一方、気筒判定位置見直し処理部は、エンジン停止中判定成立中でないと判定すると、欠歯を検出したか否かを判定する等の気筒判別見直し処理を実施する（前記ステップＳ８３〜）。
【０１５０】
（動作、作用等）
次に、第２の実施形態に係るエンジン制御装置１の動作、及びその作用等について説明する。
エンジン制御装置１は、イグニッションがオンからオフになったときに、エンジン停止中判定を成立させる（前記ステップＳ１４１→前記ステップＳ１４２）。そして、  エンジン制御装置１は、イグニッションがオフ中、クランク角位置を更新する（前記ステップＳ１４３→前記ステップＳ１４４）。その後、エンジン制御装置１は、クランクシャフト１０１の回転が完全に停止すると、その停止時のクランク角位置を記憶部３９に記憶する（前記ステップＳ１４５→前記ステップＳ１４６）。
【０１５１】
そして、エンジン制御装置１は、イグニッションがオフからオンになると、記憶部３９に記憶しておいたクランク角位置をセットし、スタータ信号がオフからオンになったときに、エンジン停止中判定を不成立にする（前記ステップＳ１４７〜前記ステップＳ１５０）。このとき、エンジン制御装置１は、セットされたクランク角位置を用いて再始動時の気筒判別を行う。
【０１５２】
このように、エンジン制御装置１は、イグニッションがオフされてから、その後、イグニッションがオンされてスタータ信号がオンになりクランクシャフト１０１が正回転するまでの範囲でエンジン停止中判定を成立させたり不成立にさせたりしている。
そして、第２の実施形態では、エンジン制御装置１は、エンジン停止中判定成立の有無（なお、第１の実施形態ではアイドルストップ中判定成立の有無）に応じてクランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を行う。
【０１５３】
これによって、第２の実施形態では、イグニッションがオフされてエンジンが停止する際のクランクシャフト１０１の揺り戻しによってクランク角信号に基づく欠歯検出の判定を誤ってしまう可能性がある場合には、エンジン制御装置１は、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止する。この結果、エンジン制御装置１は、クランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまうことを防止したり、誤った気筒判別の見直しを行ってしまうのを防止したりしている。
【０１５４】
次に、図１６を用いて、第２の実施形態に係るエンジン制御装置１の動作等について説明する。
エンジン制御装置１は、イグニッションのオフになると燃料噴射の停止等を行う（時刻ｔ１）。そして、エンジン制御装置１は、イグニッションがオンになるまでのエンジン停止中判定成立中（時刻ｔ１〜ｔ５）、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止する。
【０１５５】
これによって、エンジン制御装置１は、イグニッションをオフにした際のクランクシャフト１０１の揺り戻しによって欠歯検出を誤判定してしまう可能性がある期間中、クランク角信号パターン異常判定処理、カム角信号パターン異常判定処理、及び気筒判別見直し処理を禁止する（時刻ｔ２〜ｔ３）。この結果、エンジン制御装置１は、クランク角信号パターンやカム角信号パターンが異常であるとの誤った決定を行ってしまうのを防止する。また、エンジン制御装置１は、誤った気筒判別位置見直しを行ってしまうのを防止する。
【０１５６】
また、エンジン制御装置１は、エンジン停止中判定成立中であってもクランクシャフト１０１の回転が完全に停止するまでの期間（時刻〜ｔ４）、クランク角位置を更新して記憶する。その後、エンジン制御装置１は、クランクシャフト１０１の回転が完全に停止した際に記憶しておいたクランク角位置（最後に更新したクランク角位置）を用いて気筒判別を行い、スタータ信号のオン及びエンジンの始動を行う（時刻ｔ５）。
【０１５７】
また、前述の第２の実施形態の説明では、エンジン駆動状態判定部４０は、例えば、反転予測部、実施禁止部、第１禁止解除部、第２禁止解除部、第３禁止解除部、及びエンジン始動検出部を構成する。また、エンジン駆動状態判定部４０のステップＳ１４４の処理機能は、例えば、クランク角位置処理部を構成する。
【０１５８】
（第２の実施形態の変形例等）
第２の実施形態では、エンジン停止判定処理は、図１４に示す例に限定されない。図１７には、エンジン停止判定処理の他の一例のフローチャートを示す。
図１７に示すように、エンジン停止判定処理は、前記ステップＳ１４２の後にステップＳ１６１の処理が追加されている。また、エンジン停止判定処理は、前記ステップＳ１５０の後にステップＳ１６２の処理が追加されている。
【０１５９】
ここで、ステップＳ１６１では、エンジン駆動状態判定部４０は、信号パターン異常判定処理（クランク角信号パターン異常判定処理及びカム角信号パターン異常判定処理）、及び気筒判別見直し処理を禁止する。そして、ステップＳ１６２では、エンジン駆動状態判定部４０は、信号パターン異常判定処理（クランク角信号パターン異常判定処理及びカム角信号パターン異常判定処理）、及び気筒判別見直し処理の禁止を解除する。これによって、エンジン停止中判定成立の判定処理に基づく処理の禁止が、図１７に示す処理内で実現される。
【０１６０】
また、第２の実施形態でも、前述の第１の実施形態の変形例が適用可能な限り変形例として適用可能である。
また、第１及び第２の実施形態では、アイドルストップ状態判定処理内でクランク角位置を更新している（図３に示すステップＳ５、図１５に示すステップＳ１４４）。しかし、第１及び第２の実施形態は、アイドルストップ状態判定処理内でクランク角位置を更新することに限定されない。
【０１６１】
図１８には、クランク角位置を更新する処理の他の一例のフローチャートを示す。図１８に示すように、先ず、ステップＳ１８１では、ＥＣＵ３０（例えば、クランク角検出処理部３３）は、クランクシャフトが完全に停止しているか否かを判定する。ＥＣＵ３０は、クランクシャフトが完全に停止していると判定すると、当該図１８に示す処理を終了する。また、ＥＣＵ３０は、クランクシャフトが完全に停止していないと判定すると、ステップＳ１８２に進む。
【０１６２】
ステップＳ１８２では、ＥＣＵ３０は、クランク角位置を更新して記憶部３９に記憶する。そして、ＥＣＵ３０は、当該図１８に示す処理を終了する。
これによって、ＥＣＵ３０は、アイドルストップ状態判定処理とは別の処理において、クランクシャフトが完全に停止するまでクランク角位置を更新して記憶する。そして、気筒判別見直し処理部３６は、このように更新されるクランク角位置を用いて気筒判別見直し処理を行う。
【０１６３】
また、第１及び第２の実施形態では、アイドルストップ制御によるエンジンの停止（例えば、エンジンの停止指令）やイグニッションのオフによるエンジンの停止（例えば、エンジンの停止指令）によってクランクシャフトの回転が反転することを予測している。しかし、第１及び第２の実施形態は、これに限定されない。すなわち例えば、第１及び第２の実施形態は、クランクシャフトの回転の反転を車載センサの値等を基に予測しても良い。
【０１６４】
また、本発明の実施形態を具体的に説明したが、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、請求項１により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【０１６５】
１  エンジン制御装置、２  逆転検知クランク角センサ、３  カム角センサ、３０  ＥＣＵ、３１  アイドルストップ制御部、３２  アイドルストップ状態判定部、３３  クランク角検出処理部、３４  クランク角信号パターン異常判定部、３５  カム角信号パターン異常判定部、３６  気筒判別見直し処理部、４０  エンジン駆動状態判定部
【図１】
2014047747.tif 000003
【図２】
2014047747.tif 000004
【図３】
2014047747.tif 000005
【図４】
2014047747.tif 000006
【図５】
2014047747.tif 000007
【図６】
2014047747.tif 000008
【図７】
2014047747.tif 000009
【図８】
2014047747.tif 000010
【図９】
2014047747.tif 000011
【図１０】
2014047747.tif 000012
【図１１】
2014047747.tif 000013
【図１２】
2014047747.tif 000014
【図１３】
2014047747.tif 000015
【図１４】
2014047747.tif 000016
【図１５】
2014047747.tif 000017
【図１６】
2014047747.tif 000018
【図１７】
2014047747.tif 000019
【図１８】
2014047747.tif 000020
【図１９】
2014047747.tif 000021