(57)【特許請求の範囲】
【請求項１】
車両に搭載された多気筒エンジンのクランク軸の回転に応じてクランクセンサから出力されるクランク信号と、前記エンジンのカム軸の回転に応じてカムセンサから出力されるカム信号とに基づいて、気筒判別を行う第１の気筒判別手段と、
前記クランク信号及び前記カム信号の異常をそれぞれ検出する異常検出手段と、
前記異常検出手段により前記クランク信号及び前記カム信号のうちの何れかの異常が検出された場合に、前記第１の気筒判別手段に代わって、前記クランク信号及び前記カム信号のうち異常が検出されていない信号に基づき気筒判別を行う第２の気筒判別手段と、
を備え、前記第１の気筒判別手段と前記第２の気筒判別手段との何れかによる気筒判別結果に基づいて前記エンジンの各気筒に対する燃料噴射及び点火を実施するように構成され、
更に、特定の始動実施条件が成立したと判定すると、前記エンジンが運転状態になったと判定するまで始動装置を駆動して前記エンジンをクランキングさせる自動始動制御手段と、
前記自動始動制御手段が前記始動装置を駆動している継続時間を計測し、その継続時間が制限時間に達したと判定すると、前記自動始動制御手段が前記始動装置を駆動するのを禁止する駆動時間制限手段と、
を備えたエンジン制御装置において、
前記異常検出手段により前記クランク信号及び前記カム信号のうちの何れかの異常が検出された場合に、前記制限時間を、正常時の設定時間よりも長い時間に設定する制限時間設定手段を備え、
更に、前記制限時間設定手段は、前記第１の気筒判別手段と前記第２の気筒判別手段との何れかによる気筒判別が完了するまでは、前記制限時間を、予め定められた初期値に設定しておき、前記第１の気筒判別手段と前記第２の気筒判別手段との何れかによる気筒判別が完了した時点で、前記制限時間を、前記異常検出手段により異常が検出されていなければ前記初期値よりも短い正常時の設定時間に設定し直し、前記異常検出手段により異常が検出されていたならば前記初期値よりも短く且つ前記正常時の設定時間よりも長い時間に設定し直すこと、
を特徴とするエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置において、
前記クランク信号及び前記カム信号のうちの何れかが異常である場合に、前記始動装置の駆動が開始されてから前記第２の気筒判別手段による気筒判別が完了して、その気筒判別結果に基づく前記燃料噴射及び点火の実施により前記エンジンが運転状態になるまでの時間をＴｓとすると、
前記制限時間設定手段は、前記異常検出手段により前記クランク信号及び前記カム信号のうちの何れかの異常が検出された場合には、前記制限時間を、前記Ｔｓよりも長い時間に設定すること、
を特徴とするエンジン制御装置。
【請求項３】
請求項１又は請求項２に記載のエンジン制御装置において、
前記制限時間設定手段は、前記異常検出手段により前記クランク信号及び前記カム信号のうちの何れかの異常が検出された場合には、前記制限時間を、正常時の設定時間に所定値を加えた時間か、或いは、正常時の設定時間を所定割合だけ長くした時間に設定すること、
を特徴とするエンジン制御装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のエンジン制御装置において、
前記制限時間設定手段は、前記車両に関する情報のうち、前記エンジンの始動性に関係する特定の情報を検出し、前記制限時間を、前記情報の検出値に応じて、その検出値が前記エンジンの始動性が低いことを示す値の場合ほど、長い時間に設定すること、
を特徴とするエンジン制御装置。
【請求項５】
請求項４に記載のエンジン制御装置において、
前記特定の情報は、前記車両のバッテリ電圧と、前記車両周囲の温度と、前記エンジンの冷却水の温度と、前記エンジンの潤滑油の温度とのうちの１つ以上であること、
を特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のエンジンを制御する装置に関し、特に、オートスタート（自動始動）制御を行うエンジン制御装置に関するものである。
【背景技術】
【０００２】
従来より、車両に搭載された多気筒エンジンを制御するエンジン制御装置では、クランク軸の回転に応じてクランクセンサから出力されるクランク信号と、カム軸の回転に応じてカムセンサから出力されるカム信号との組み合わせによって気筒判別を行い、その気筒判別結果に基づいて各気筒に対する燃料噴射及び点火を実施することで、エンジンを作動させている（例えば、特許文献１，２参照）。尚、気筒判別とは、エンジンの１サイクル（７２０°ＣＡ）におけるクランク軸の回転位置を特定するという意味である。
【０００３】
また、センサ信号線の断線又は特定電位へのショートによって、クランク信号とカム信号との何れかがレベル変化しなくなる異常が発生した場合には、クランク信号とカム信号とのうち正常な方の信号のみを用いて気筒判別を行うことにより、エンジンを運転可能にする技術も知られている（例えば、特許文献１参照）。
【０００４】
一方、近年、この種のエンジン制御装置では、例えば、押しボタン式のスタータスイッチがオンされ、且つ、車両の使用者に携帯される携帯機との通信による認証の結果が合格である（即ち、使用者が正当な使用者であると判定した）、といった始動実施条件が成立すると、エンジンが運転状態（完爆状態）になったと判定するまでスタータモータを自動的に駆動してエンジンをクランキングさせる、といったオートスタート（自動始動）制御を行うものが提案或いは実用化されている（例えば、特許文献３参照）。
【０００５】
そして、この種のオートスタート制御を実施するシステムによれば、使用者がスタータスイッチをオンしている期間中スタータモータを駆動する、というマニュアル式始動システムと比較すると、使用者はエンジンが完爆状態になるまで始動用の操作を続ける必要が無いため、車両の商品性を向上させることができるという利点や、スタータモータを走行中等の不要な場合に駆動してしまうことがないという利点がある。
【０００６】
また、この種のオートスタート制御を行うエンジン制御装置では、スタータモータの駆動継続時間に制限時間（スタータモータの駆動可能時間）を設けるようにしている（例えば、特許文献３参照）。つまり、スタータモータの駆動継続時間が制限時間に達したら、たとえエンジンが運転状態に至ってなくても、スタータモータの駆動を禁止する制限機能が備えられている。入力条件などの何らかの異常によってスタータモータが不要に駆動し続けられてしまうことを防止し、また、スタータモータの長時間の駆動によってバッテリ上がりやバッテリ劣化が発生するのを防止するためである。
【特許文献１】特開２００３−２５４１４７号公報
【特許文献２】特開２００３−４９６９６号公報
【特許文献３】特開２００２−２２１１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、エンジン制御装置において、クランク信号とカム信号との何れかに異常が生じ、正常な信号のみを用いて気筒判別を行う場合には、全ての信号が正常な場合よりも気筒判別のための情報が少なくなるため、スタータモータの駆動によりクランキングが開始されてから気筒判別が完了するまでの最大時間が長くなる。よって、クランク信号とカム信号との何れかが正常に入力されない状況でエンジンを始動させる際には、スタータモータの駆動が開始されてからエンジンが運転状態になるまでの最大時間が正常時よりも長くなる。
【０００８】
このため、オートスタート制御を行うエンジン制御装置において、クランク信号とカム信号との何れかが異常になっている場合には、スタータモータの駆動を開始してからエンジンが運転状態になる前に、スタータモータの駆動継続時間が制限時間に達して、スタータモータの駆動が禁止され、エンジンを始動することができなくなってしまう可能性が生じる。特に、極低温環境下では、バッテリ電圧の低下やエンジンオイルの粘度が高くなることにより、スタータモータによるクランキング速度が低下するため、スタータモータの駆動開始時から気筒判別が完了するまでの時間が一層長くなり、始動不可になる可能性が一層高くなる。
【０００９】
本発明は、こうした問題に鑑みなされたものであり、オートスタート制御を行うエンジン制御装置において、クランク信号及びカム信号のうちの何れかが正常に入力されない異常が発生した場合でも、エンジンを確実に始動させることができるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた請求項１のエンジン制御装置では、第１の気筒判別手段が、車両に搭載された多気筒エンジンのクランク軸の回転に応じてクランクセンサから出力されるクランク信号と、エンジンのカム軸の回転に応じてカムセンサから出力されるカム信号とに基づいて、気筒判別を行う。
【００１１】
また、異常検出手段が、クランク信号及びカム信号の異常をそれぞれ検出する。
そして、異常検出手段によりクランク信号及びカム信号のうちの何れかの異常が検出された場合には、第１の気筒判別手段に代わって、第２の気筒判別手段が、クランク信号及びカム信号のうち、異常が検出されていない信号に基づき気筒判別を行う。
【００１２】
そして、このエンジン制御装置は、第１の気筒判別手段と第２の気筒判別手段との何れかによる気筒判別結果に基づいてエンジンの各気筒に対する燃料噴射及び点火を実施することにより、エンジンを作動させる。
【００１３】
更に、このエンジン制御装置には、自動始動制御手段と駆動時間制限手段とが備えられている。そして、自動始動制御手段は、特定の始動実施条件が成立したと判定すると、エンジンが運転状態になったと判定するまで始動装置を駆動してエンジンをクランキングさせる。また、駆動時間制限手段は、自動始動制御手段が始動装置を駆動している継続時間を計測し、その継続時間が制限時間に達したと判定すると、自動始動制御手段が始動装置を駆動するのを禁止する。
【００１４】
このため、クランク信号及びカム信号が正常に入力され得る正常時に、始動実施条件が成立して、自動始動制御手段により始動装置が駆動されてクランキングが開始されると、第１の気筒判別手段により、クランク信号とカム信号とに基づいて気筒判別が行われる。そして、始動装置の駆動が開始されてから制限時間が経過する前に、気筒判別が完了し、且つ、その気筒判別結果に基づく燃料噴射及び点火の実施によりエンジンが運転状態（完爆状態）になると、自動始動制御手段による始動装置の駆動が停止される。
【００１５】
また、クランク信号及びカム信号のうちの何れかが正常に入力されない異常が発生している場合に、始動実施条件が成立して、自動始動制御手段により始動装置が駆動された場合には、エンジンがクランキングされてもクランク信号及びカム信号のうちの何れかが正常に入力されないため、その異常が異常検出手段によって検出される。
【００１６】
そして、この場合には、第２の気筒判別手段により、クランク信号及びカム信号のうち、異常が検出されていない信号に基づいて気筒判別が行われ、その気筒判別結果に基づき燃料噴射及び点火が実施されることとなるが、「発明が解決しようとする課題」の欄で述べたように、クランク信号又はカム信号の異常時には、気筒判別のための情報が少なくなるため、始動装置の駆動開始時から気筒判別が完了するまでの最大時間が正常時よりも長くなり、延いては、エンジンが運転状態になるまでの最大時間が長くなる。このため、始動装置の駆動開始時からエンジンが運転状態になる前に、始動装置の駆動継続時間が駆動時間制限手段で判定される制限時間に達して、始動装置の駆動が強制的に禁止されてしまう懸念が生じる。
【００１７】
そこで特に、請求項１のエンジン制御装置では、異常検出手段によりクランク信号及びカム信号のうちの何れかの異常が検出された場合に、制限時間設定手段が、制限時間を正常時の設定時間よりも長い時間に設定するようになっている。
【００１８】
このため、請求項１のエンジン制御装置によれば、上記懸念を払拭することができる。つまり、クランク信号及びカム信号のうちの何れかが正常に入力されない異常が発生している場合に、エンジンが運転状態になる前に始動装置の駆動が駆動時間制限手段によって強制的に禁止されてしまうことを確実に回避して、エンジンを確実に始動させることができるようになる。
【００１９】
尚、こうしたことから、異常検出手段によりクランク信号及びカム信号のうちの何れかの異常が検出された場合に制限時間設定手段が設定する制限時間の値は、請求項２に記載のように、下記のＴｓよりも長い時間とすれば良い。
【００２０】
即ち、Ｔｓとは、クランク信号及びカム信号のうちの何れかが異常である場合に、始動装置の駆動が開始されてから第２の気筒判別手段による気筒判別が完了して、その気筒判別結果に基づく燃料噴射及び点火の実施によりエンジンが運転状態になるまでの時間であり、制限時間は、そのＴｓよりも長い時間に設定すれば良い。
【００２１】
そして更に、請求項１のエンジン制御装置において、制限時間設定手段は、第１の気筒判別手段と第２の気筒判別手段との何れかによる気筒判別が完了するまでは、前記制限時間を、予め定められた初期値に設定しておき、第１の気筒判別手段と第２の気筒判別手段との何れかによる気筒判別が完了した時点で、異常検出手段により異常が検出されていなければ、前記制限時間を前記初期値よりも短い正常時の設定時間に設定し直し、また、異常検出手段により異常が検出されていたならば、前記制限時間を前記初期値よりも短く且つ前記正常時の設定時間よりも長い時間に設定し直す。
【００２２】
つまり、この構成では、始動装置を駆動する制限時間を、気筒判別が完了するまでは、十分に長い初期値に設定しておき、気筒判別が完了した時点で、初期値よりも短い必要に応じた時間に設定し直すようにしている。
【００２３】
そして、この構成によれば、クランク信号及びカム信号が正常な場合と、クランク信号及びカム信号のうちの何れかが異常な場合とでの、制限時間の切り替え設定を、確実に実施することができる。気筒判別が完了した時点では、異常検出手段の検出結果が確定しており、その時点で、制限時間の切り替え設定を行うからである。
【００２４】
ところで、請求項３に記載のように、制限時間設定手段は、異常検出手段によりクランク信号及びカム信号のうちの何れかの異常が検出された場合には、前記制限時間を、正常時の設定時間に所定値を加えた時間か、或いは、正常時の設定時間を所定割合だけ長くした時間に設定するように構成することができる。
【００２５】
また、請求項４に記載のように、制限時間設定手段は、車両に関する情報のうち、エンジンの始動性に関係する特定の情報を検出して、前記制限時間を、前記情報の検出値に応じて、その検出値がエンジンの始動性が低い（つまり、エンジンが始動し難い）ことを示す値の場合ほど、長い時間に設定するように構成することができる。そして、このように構成すれば、制限時間を常に最適な値（長すぎず短すぎない値）に設定することができるようになる。
【００２６】
尚、エンジンの始動性に関係する特定の情報としては、例えば請求項５に記載のように、車両のバッテリ電圧と、車両周囲の温度と、エンジンの冷却水の温度と、エンジンの潤滑油（エンジンオイル）の温度とのうちの１つ以上が考えられる。また、車両周囲の温度としては、車両において外気に曝される部分に設けられた温度センサ（いわゆる外気温センサ）によって検出することが考えられるが、例えば、エンジンへの吸入空気の温度を車両周囲の温度として検出するようにしても良い。
【００２７】
そして、特定の情報がバッテリ電圧であるならば、制限時間は、バッテリ電圧が低い場合ほど、長い時間に設定すれば良い。また、特定の情報が、車両周囲の温度と、冷却水の温度と、潤滑油の温度とのうちの少なくとも１つであるならば、制限時間は、それらの温度が低い場合ほど、長い時間に設定すれば良い。
【発明を実施するための最良の形態】
【００３６】
以下に、本発明が適用された実施形態のエンジン制御装置（以下、エンジンＥＣＵ、或いは単にＥＣＵという）について、図面を用いて説明する。
［第１実施形態］
まず図１は、実施形態のエンジンＥＣＵ１とそれの周辺装置を表す構成図である。尚、本実施形態のエンジンＥＣＵ１は、車両に搭載された多気筒エンジン（本実施形態では、６気筒エンジン）を制御するものであり、各気筒に対する燃料噴射や点火を実施する制御に加え、ワンタッチ操作によってエンジンを始動させるオートスタート制御も行う。
【００３７】
図１に示すように、まず、ＥＣＵ１の外部において、エンジンを始動のためにクランキングさせるスタータモータ３のプラス側端子は、車載バッテリ５のプラス端子に常時接続されており、スタータモータ３のマイナス側端子は、スタータリレー７の接点を介して、バッテリ５のマイナス端子とつながる０Ｖのグランドラインに接続されるようになっている。そして、スタータリレー７のコイル９の各端は、ＥＣＵ１に接続されている。
【００３８】
一方、ＥＣＵ１には、エンジンを制御するための各種処理を実行するマイコン１１と、マイコン１１からのスタータリレー駆動信号に応じてコイル９に通電することにより、スタータリレー７をオンさせるスタータリレー駆動回路１３とが備えられている。
【００３９】
スタータリレー駆動回路１３は、ＥＣＵ１内において、バッテリ５のプラス端子の電圧（バッテリ電圧）が供給される電源ライン１５にソースが接続されたＰチャネルＭＯＳＦＥＴからなるハイサイドトランジスタＴｒ１と、そのハイサイドトランジスタＴｒ１のドレインにアノードが接続され、カソードがコイル９の一端に接続された電流回り込み防止用のダイオード１７と、コイル９の他端にドレインが接続され、ソースがグランドラインに接続されたＮチャネルＭＯＳＦＥＴからなるローサイドトランジスタＴｒ２とを備えている。
【００４０】
そして、スタータリレー駆動回路１３では、マイコン１１からのスタータリレー駆動信号がアクティブレベルになると、２つのトランジスタＴｒ１，Ｔｒ２がオンして、スタータリレー７のコイル９に電流を流す。すると、スタータリレー７がオンして（即ち、スタータリレー７の接点が短絡して）、スタータモータ３にバッテリ５からの電力が供給され、その結果、スタータモータ３が動作して、エンジンがクランキングされる。
【００４１】
また、ＥＣＵ１には、エンジンを制御するための外部からの各種信号をマイコン１１に入力させる入力回路１９が備えられている。
具体的には、マイコン１１には、車両のイグニッションスイッチ（ＩＧＳＷ）３１のオン／オフ状態を表すイグニッションスイッチ信号、エンジンを始動させるためのスタータスイッチ（ＳＴＡＳＷ）３３のオン／オフ状態を表すスタータスイッチ信号、エンジンのクランク軸の回転に応じてクランクセンサ３５から出力されるクランク信号、エンジンのバルブを作動させるカム軸の回転に応じてカムセンサ３７から出力されるカム信号、エンジンの冷却水温（冷却水の温度）を検出する水温センサ４１からの信号、エンジンの吸気経路に設けられた吸気量センサ４３からの信号、運転者によって操作されるブレーキペダルの操作量を検出するブレーキペダルセンサ４５からの信号、自動変速機のギア位置（シフト位置）を検出するシフトポジションセンサ４７からの信号、及び車速センサ４８からの信号などが、入力回路１９を介して入力される。
【００４２】
尚、図１では、入力回路１９を１つにまとめて記載しているが、入力回路１９は、実際には、マイコン１１に入力させる入力信号毎に存在しており、その各入力信号の種類に応じた信号処理を行う。例えば、入力信号が、クランク信号、カム信号や、スイッチ信号であれば、その信号を二値の矩形波に波形整形してマイコン１１に入力させ、水温センサ４１や吸気量センサ４３からの信号といったアナログ信号であれば、その信号から高周波ノイズを除去してマイコン１１のＡ／Ｄ変換器用の入力ポートに入力させる。
【００４３】
ここで、本実施形態において、クランクセンサ３５及びクランク信号と、カムセンサ３７及びカム信号との各々は、特許文献１に記載されているものと同じであるが、それらについて説明しておく。
【００４４】
まず、クランク軸には、その同軸上に円板状のクランクパルサが固定されており、そのクランクパルサの外周には、クランク軸の所定回転角度毎（本実施形態では１５°ＣＡ毎）に複数の突起が形成されている。そして、その複数の突起のうち、特定気筒、例えば第１気筒（＃１）及び第６気筒（＃６）の上死点（ＴＤＣ）付近においては１個分の突起が削除されており、その部分が、いわゆる欠歯部となっている。従って、クランクパルサには、合計２３個の突起が形成されていることになる。
【００４５】
また、クランクパルサの外周近傍には電磁ピックアップコイルが配設されており、その電磁ピックアップコイルは上記突起が通過する度にパルス信号を発生する。そして、これらクランクパルサ及び電磁ピックアップコイルにより、クランクセンサ３５が構成されている。
【００４６】
一方、カム軸は、クランク軸の回転に同期して、クランク軸の２回転に１回転の割合で回転する。そして、カム軸には、その同軸上に円板状のカムパルサが固定されており、そのカムパルサの外周には、気筒数分の突起が等角度間隔で形成されている。本実施形態では６気筒エンジンを対象としており、カムパルサの外周に６０度毎（クランク角では１２０°ＣＡ毎）に突起が設けられている。また、その突起は、例えば各気筒のＴＤＣ前４５°ＣＡの位置に形成されている。更に、カムパルサの外周には、第１気筒のＴＤＣに対応する突起の直前に（本実施形態では、第１気筒のＴＤＣ前７５°ＣＡの位置に）余分歯が形成されている。
【００４７】
また、カムパルサの外周近傍には電磁ピックアップコイルが配設されており、その電磁ピックアップコイルは上記突起及び余分歯が通過する度にパルス信号を発生する。そして、これらカムパルサ及び電磁ピックアップコイルにより、カムセンサ３７が構成されている。
【００４８】
次に、図２は、波形整形後のクランク信号及びカム信号の信号形態を示すタイムチャートである。
図２に示すように、各気筒の燃焼順序は１→５→３→６→２→４であり、このうち第１気筒のＴＤＣ（＃１ＴＤＣ）と第６気筒のＴＤＣ（＃６ＴＤＣ）とは、３６０°ＣＡ離れた表裏の関係にある。
【００４９】
そして、クランク信号は、１５°ＣＡ間隔のパルス列にて構成され、＃１ＴＤＣの直前と＃６ＴＤＣの直前とにおいては、クランクパルサの欠歯部によりパルスが１つ欠落して、有効エッジ（本実施形態では立ち上がりエッジ）の間隔が２倍となる。このパルスが欠落した信号の部分は、欠歯と呼ばれ、更に、＃１ＴＤＣに対応する欠歯を「表欠歯」とすると、＃６ＴＤＣに対応する欠歯は「裏欠歯」と呼ばれる。
【００５０】
また、一般に、こうしたクランク信号における欠歯を検出することは、欠歯検出と呼ばれ、例えば以下の手順で行われる。
即ち、欠歯検出の手法としては、クランク信号に有効エッジが生じる毎に、その有効エッジの間隔を計測し、今回の計測値が前回の計測値の所定数（＞１）倍よりも大きければ、今回の有効エッジが欠歯の終了を示す有効エッジ（欠歯の終了エッジであり、図２におけるＮＥ０）であると判断する。
【００５１】
尚、本実施形態では、＃１ＴＤＣの２２．５°ＣＡ前と、＃６ＴＤＣの２２．５°ＣＡ前との各タイミングで、欠歯の終了エッジＮＥ０が発生する。
一方、カム信号は１２０°ＣＡ間隔のパルス列にて構成され、その途中に前述の余分歯に対応する余分歯パルスが発生する。この例では、＃１ＴＤＣに対応するカムパルス（図２におけるＧ０）の直前に余分歯パルスが発生する。この余分歯パルスの発生は７２０°ＣＡに１回である。
【００５２】
尚、本実施形態では、各気筒のＴＤＣ前３０°ＣＡのタイミングで、１２０°ＣＡ間隔のパルスの有効エッジ（本実施形態では立ち上がりエッジ）が発生する。そして、＃１ＴＤＣ前６０°ＣＡのタイミングで、余分歯パルスの有効エッジが発生する。
【００５３】
このため、クランク信号における欠歯を検出した際（図２におけるＮＥ０を検出した際）に、その直前の所定クランク角度分の区間（例えば、図２におけるＮＥ０より前の６０°ＣＡ分の区間）で余分歯パルスが発生したか否かを判別することにより、今回の欠歯が＃１ＴＤＣの欠歯（表欠歯）か＃６ＴＤＣの欠歯（裏欠歯）かを特定することができる。つまり、気筒判別を行うことができる。
【００５４】
具体的な気筒判別手法としては、クランク信号における欠歯の終了エッジＮＥ０を検出した際に、その直前の所定クランク角度分の区間において、カム信号に有効エッジが２回発生していたならば、今回の欠歯が＃１ＴＤＣの欠歯（表欠歯）あると判別することができ、現在のクランク軸の回転位置（以下、クランク位置という）は＃１ＴＤＣの２２．５°ＣＡ前であると特定することができる。また、クランク信号における欠歯の終了エッジＮＥ０を検出した際に、その直前の所定クランク角度分の区間において、カム信号に有効エッジが１回のみ発生していたならば、今回の欠歯が＃６ＴＤＣの欠歯（裏欠歯）であると判別することができ、現在のクランク位置は＃６ＴＤＣの２２．５°ＣＡ前であると特定することができる。
【００５５】
一方、本実施形態において、スタータスイッチ３３は、押しているときにだけオンするプッシュボタン式のスイッチである。
また更に、ＥＣＵ１には、マイコン１１からの信号に従って、スタータリレー７以外のインジェクタ（燃料噴射弁）や点火装置などの各種アクチュエータを作動させる駆動回路２１と、後述するメインリレー４９を介してＥＣＵ１に供給されるバッテリ電圧からマイコン１１が動作するための一定の電源電圧（例えば５Ｖ）を生成して出力する電源回路２３と、マイコン１１が車両内に配設されたＬＡＮ用の通信線５１を介して他の車載ＥＣＵと通信するための通信回路２５とが備えられている。
【００５６】
尚、図示は省略しているが、インジェクタと点火装置はエンジンの各気筒毎に設けられている。そして、駆動回路２１は、実際には各アクチュエータ毎に存在している。また、本実施形態において、通信線５１を介して行われる車載ＥＣＵ間の通信のプロトコルはＣＡＮであるが、それに限るものではない。
【００５７】
次に、ＥＣＵ１の外部には、給電用のメインリレー４９が設けられており、イグニッションスイッチ３１がオンされると、そのメインリレー４９がオンして、ＥＣＵ１の電源回路２３にバッテリ電圧が供給されるようになっている。そして、ＥＣＵ１では、そのメインリレー４９からのバッテリ電圧をもとにして、電源回路２３がマイコン１１へ電源電圧を供給する。更に、メインリレー４９は、マイコン１１が駆動回路２１を介してオン／オフさせることもできるようになっている。そして、マイコン１１は、イグニッションスイッチ３１のオンに伴いメインリレー４９がオンして動作を開始すると、自らもメインリレー４９をオンさせることで、その後、イグニッションスイッチ３１がオフされても動作を継続し、必要な処理を全て終了したならば、メインリレー４９をオフさせて、動作を停止するようになっている。
【００５８】
また、ＥＣＵ１において、メインリレー４９からのバッテリ電圧は、入力回路１９を介してマイコン１１のＡ／Ｄ変換器用の入力ポートに入力されるようになっている。よって、マイコン１１は、その入力ポートへの入力電圧をＡ／Ｄ変換することで、バッテリ電圧を検出することができる。
【００５９】
一方、車両内の通信線５１には、ＥＣＵ１以外のＥＣＵとして、車両の使用者に携帯される携帯機としての電子キー５２と無線通信を行うイモビライザＥＣＵ５３、自動変速機を制御するトランスミッションＥＣＵ５５、及びブレーキを制御するブレーキＥＣＵ５７などが接続されている。そして、通信線５１に接続された各ＥＣＵ１，５３，５５，５７は、互いに通信を行って、各自の制御対象を制御するための情報をやり取りする。
【００６０】
尚、ブレーキペダルセンサ４５からの信号や、シフトポジションセンサ４７からの信号や、車速センサ４８からの信号は、ＥＣＵ１以外のＥＣＵ（例えば、トランスミッションＥＣＵ５５やブレーキＥＣＵ５７）にも入力されている。そして、ＥＣＵ１は、ブレーキペダルが操作されているか否か及びブレーキペダルの操作量や、自動変速機のギア位置や、車速などの情報は、通信線５１に接続された他のＥＣＵからも入手可能となっている。
【００６１】
また、イモビライザＥＣＵ５３は、例えば車両のドアロックが解除されて運転席ドアが閉→開→閉と変化したこと等、運転席に人が乗り込んだと考えられる条件が成立すると、車室内における運転席付近の領域に、電子キー５２へＩＤを要求するための要求信号を送信する。そして、運転席に座った人（即ち、車両を運転しようとしている人であり、車両の使用者）に所持されている電子キー５２が上記要求信号を受信してＩＤを送信すると、イモビライザＥＣＵ５３は、その電子キー５２からのＩＤを受信して、その受信したＩＤと自装置が記憶しているＩＤ（即ち、自車両のＩＤ）とを比較し、両ＩＤが一致してれいば認証合格と判断する。
【００６２】
そして、ＥＣＵ１のマイコン１１は、動作を開始すると、イモビライザＥＣＵ５３と通信線５１を介して認証用通信としての暗号通信を行うことにより、電子キー５２との認証が合格であるか否か（即ち、電子キー５２からのＩＤと自車両のＩＤとが一致したか否かであり、運転席の使用者が正当な使用者であるか否か）を判定する。
【００６３】
例えば、イモビライザＥＣＵ５３は、認証合格となった場合には、ＥＣＵ１からの特定のコードに対して、予め定められた規則の処理を施した結果のコードを返送するようになっている。そして、ＥＣＵ１のマイコン１１は、イモビライザＥＣＵ５３へ特定のコードを送信し、そのコードに対して期待通りのコードが返送されて来る、といったやり取りからなる認証用通信が成功したならば、認証が合格である（使用者が正当な使用者である）と判定する。
【００６４】
次に、ＥＣＵ１のマイコン１１が実行する処理について、図３〜図７を用い説明する。
まず図３は、マイコン１１が一定時間毎に実行するスタータ駆動リクエスト制御処理を表すフローチャートである。尚、このスタータ駆動リクエスト制御処理は、オートスタートを行うか否かを判断するための処理である。
【００６５】
図２に示すように、マイコン１１がスタータ駆動リクエスト制御処理の実行を開始すると、まずＳ１１０にて、イグニッションスイッチ３１がオンされているか否かを、イグニッションスイッチ信号のレベルに基づき判定し、イグニッションスイッチ３１がオンされていれば（Ｓ１１０：ＹＥＳ）、次のＳ１２０にて、スタータスイッチ信号のレベルに基づきスタータスイッチ３３がオンされたか否かを判定する。尚、このＳ１２０では、スタータスイッチ信号のレベルが所定時間以上、オンを示す方のレベル（本実施形態ではハイ）であったならば、スタータスイッチ３３がオンされたと判定する。ノイズによる誤検出を防止するためである。また、他の手法として、例えば、スタータスイッチ信号のレベルを一定時間毎に読み取った結果が、２以上の所定回連続してハイならば、スタータスイッチ３３がオンされたと判定するようにしても良い。
【００６６】
上記Ｓ１２０にてスタータスイッチ３３がオンされたと判定しなかった場合には（Ｓ１２０：ＮＯ）、そのまま当該スタータ駆動リクエスト制御処理を終了するが、スタータスイッチ３３がオンされたと判定した場合には（Ｓ１２０：ＹＥＳ）、Ｓ１３０に進み、「スタータスイッチ３３がオンされた」という条件以外の他の始動実施条件が成立しているか否かを判定する。例えば、自動変速機のギア位置がＮ（ニュートラル）又はＰ（パーキング）の位置であり、ブレーキペダルが踏まれており、車速が所定値（例えば０）以下である、といった条件が成立しているか否かを判定する。尚、ギア位置とブレーキペダルの操作状態と車速との各々は、シフトポジションセンサ４７、ブレーキペダルセンサ４５、及び車速センサ４８からの各信号に基づいて検出することができる。また、それらの情報は、他のＥＣＵから通信線５１を介して取得することもできる。
【００６７】
そして、このＳ１３０にて、他の始動実施条件が成立していると判定した場合には、Ｓ１４０に進み、後述する図４の処理に対してスタータリレー７の駆動（延いては、スタータモータ３の駆動）を要求するスタートリクエストフラグを、要求側の１に設定し、その後、当該スタータ駆動リクエスト制御処理を終了する。尚、スタートリクエストフラグの初期値は非要求側の０である。
【００６８】
一方、上記Ｓ１１０でイグニッションスイッチ３１がオンされていないと判定するか（Ｓ１１０：ＮＯ）、上記Ｓ１３０で他の始動実施条件が成立していないと判定した（Ｓ１３０：ＮＯ）場合には、Ｓ１５０へ移行して、スタートリクエストフラグを、非要求側の０に設定し、その後、当該スタータ駆動リクエスト制御処理を終了する。
【００６９】
次に図４は、マイコン１１が図３の処理と並行して一定時間毎に実行するスタータリレー駆動制御処理を表すフローチャートである。尚、このスタータリレー駆動制御処理は、スタータモータ３の駆動の要否を判断してスタータリレー７を制御する処理である。
【００７０】
図４に示すように、マイコン１１がスタータリレー駆動制御処理の実行を開始すると、まずＳ２１０にて、イグニッションスイッチ３１がオンされているか否かを判定し、イグニッションスイッチ３１がオンされていると肯定判定したならば、Ｓ２１２に進む。
【００７１】
Ｓ２１２では、後述するＳ２８０でスタータリレー７のオンを開始してから（つまり、エンジンのクランキングを開始してから）気筒判別が完了しているか否かを判定する。
ここで、マイコン１１が気筒判別のために実行する処理について図５及び図６を用い説明する。
【００７２】
図５に示すように、マイコン１１は、スタータリレー７をオンさせてエンジンをクランキングさせると、そのクランキングに伴い図２の如くレベル変化するクランク信号とカム信号との両方に基づき気筒判別を行う処理（以下、クランク信号及びカム信号に基づく気筒判別処理という）を実行する（Ｓ３１０）。
【００７３】
尚、クランク信号及びカム信号に基づく気筒判別処理の内容は、図２を用いて既述した通りである。つまり、クランク信号について欠歯検出を行うと共に、クランク信号における欠歯の終了エッジＮＥ０を検出した際に、その直前の所定クランク角度分（例えば６０°ＣＡ分）の区間において、カム信号に有効エッジが２回発生していたならば、現在のクランク位置が＃１ＴＤＣの２２．５°ＣＡ前であると特定し、また、欠歯の終了エッジＮＥ０を検出した際に、その直前の所定クランク角度分の区間において、カム信号に有効エッジが１回のみ発生していたならば、現在のクランク位置が＃６ＴＤＣの２２．５°ＣＡ前であると特定する。
【００７４】
また、マイコン１１は、図６に示す異常検出処理を一定時間毎に実行しており、クランク信号及びカム信号に基づく気筒判別処理による気筒判別（即ち、クランク信号の欠歯位置でのクランク位置特定）が未だ完了していない場合に（Ｓ３２０：ＮＯ）、その異常検出処理の判定結果を参照することにより、クランク信号が正常に入力されているか否かを判定すると共に（Ｓ３４０）、カム信号が正常に入力されているか否かを判定する（Ｓ３５０）。
【００７５】
尚、図６に示すように、異常検出処理では、クランク信号の有効エッジ（以下、クランクエッジともいう）が発生しない継続時間を計測し、その継続時間が所定値以上でなければ（Ｓ４１０：ＮＯ）、クランク信号は正常であると判定するが（Ｓ４２０）、クランクエッジの発生しない継続時間が所定値以上になれば（Ｓ４１０：ＹＥＳ）、クランク信号は異常である（即ち、クランク信号が正常に入力されていない）と判定する（Ｓ４３０）。同様に、カム信号の有効エッジ（以下、カムエッジともいう）が発生しない継続時間を計測し、その継続時間が所定値以上でなければ（Ｓ４４０：ＮＯ）、カム信号は正常であると判定するが（Ｓ４５０）、カムエッジの発生しない継続時間が所定値以上になれば（Ｓ４４０：ＹＥＳ）、カム信号は異常である（即ち、カム信号が正常に入力されていない）と判定する（Ｓ４６０）。また、こうした異常検出処理は、例えば特許文献１の図５にも記載されている。
【００７６】
図５に戻り、マイコン１１は、クランク信号とカム信号が正常に入力されていると判定している場合には（Ｓ３４０：ＮＯ，Ｓ３５０：ＮＯ）、クランク信号及びカム信号に基づく気筒判別処理を引き続き実行する（Ｓ３１０）。
【００７７】
そして、クランク信号及びカム信号に基づく気筒判別処理による気筒判別が完了したならば（Ｓ３２０：ＹＥＳ）、気筒判別完了フラグを１に設定する（Ｓ３３０）。
尚、マイコン１１は、カウント値が現在のクランク位置を表すクランクカウンタを備えており、クランク位置が特定できたならば、クランクカウンタの値を、その特定したクランク位置に該当する値に設定する。そして、その後は、例えば、クランクエッジが発生する毎にクランクカウンタの値を１５°ＣＡ分ずつ更新していくといった手法や、クランクエッジの最新の時間間隔を「１／ｎ」した時間（ｎは整数）毎にクランクカウンタの値を「１５／ｎ」°ＣＡ分ずつ更新していくといった手法により、最新のクランク位置を把握する。更に、そのクランクカウンタの値に基づいて、各気筒に対する燃料噴射及び点火を実施する。
【００７８】
一方、マイコン１１は、クランク信号とカム信号とのうち、クランク信号が正常に入力されていない（異常である）と判定した場合には（Ｓ３４０：ＹＥＳ）、クランク信号及びカム信号に基づく気筒判別処理に代えて、カム信号のみに基づき気筒判別を行う処理（以下、カム信号のみに基づく気筒判別処理という）を実行する（Ｓ３６０）。
【００７９】
カム信号のみに基づく気筒判別処理は、以下の手順で行われる。
まず、カム信号に有効エッジ（カムエッジ）が生じる毎に、そのカムエッジの間隔を計測する。そして、今回の計測値が前回の計測値の所定数（＜１）倍よりも小さければ、今回のカムエッジが余分歯パルスの直後のカムエッジ（図２におけるＧ０）であると判断し、現在のクランク位置は＃１ＴＤＣの３０°ＣＡ前であると特定する。
【００８０】
そして、このようなカム信号のみに基づく気筒判別処理によってクランク位置が特定できたなら（Ｓ３７０：ＹＥＳ）、気筒判別完了フラグを１に設定する（Ｓ３３０）。
尚、こうしたカム信号のみに基づく気筒判別の手法は、例えば特許文献１の図４に記載されている。また、マイコン１１は、カム信号のみに基づく気筒判別処理によってクランク位置を特定した場合、例えば、最新のカムエッジの時間間隔を「１／ｍ」した時間（ｍは整数）毎にクランクカウンタの値を「１２０／ｍ」°ＣＡ分ずつ更新していくといった手法により、最新のクランク位置を把握し、そのクランクカウンタの値に基づいて、各気筒に対する燃料噴射及び点火を実施する。この場合、クランク信号は正常に入力されないからである。
【００８１】
また、マイコン１１は、クランク信号とカム信号とのうち、カム信号が正常に入力されておらず異常であると判定した場合には（Ｓ３５０：ＹＥＳ）、クランク信号及びカム信号に基づく気筒判別処理に代えて、クランク信号のみに基づき気筒判別を行う処理（以下、クランク信号のみに基づく気筒判別処理という）を実行する（Ｓ３８０）。
【００８２】
クランク信号のみに基づく気筒判別処理は、以下の手順で行われる。
まず、クランク信号について欠歯検出を行う。そして、クランク信号における欠歯の終了エッジＮＥ０を検出した際に、現在のクランク位置が、＃１ＴＤＣの２２．５°ＣＡ前と、＃６ＴＤＣの２２．５°ＣＡ前とのうち、例えば＃１ＴＤＣの２２．５°ＣＡ前であると仮の特定をする。そして、マイコン１１は、その仮特定の結果に基づいて、各気筒に対する燃料噴射と点火を実施する。
【００８３】
より具体的には、クランク信号における欠歯の終了エッジＮＥ０を検出した際に、クランクカウンタの値を、＃１ＴＤＣの２２．５°ＣＡ前に相当する値に仮設定する。そして、その後は、正常時と同様に、クランクエッジが発生する毎や、クランクエッジの最新の時間間隔を「１／ｎ」した時間毎にクランクカウンタの値を更新していくと共に、そのクランクカウンタの値に基づいて各気筒に対する燃料噴射及び点火を実施する。
【００８４】
そして更に、気筒判別結果検証用の一定時間後（例えば２秒後）にエンジン回転数が所定回転数（例えば４００ｒｐｍ）を越えたか否かを判定する。ここで、エンジン回転数が所定回転数を超えたならば、上記仮特定が正しかったということから、その仮特定の結果に基づき現在把握しているクランク位置（即ち、現在のクランクカウンタの値）は真の値であるとし、この時点で気筒判別が完了する。また、エンジン回転数が所定回転数を超えなかったならば、上記仮特定が正しくなかった（即ち、表裏が逆であった）ということから、その仮特定の結果に基づき現在把握しているクランク位置を３６０°ＣＡだけずらし（即ち、現在のクランクカウンタの値を３６０°ＣＡ分だけずらした値に変更し）、この時点で気筒判別が完了する。尚、この場合、エンジン回転数は、クランクエッジの発生間隔から算出する。また、こうしたクランク信号のみに基づく気筒判別の手法は、例えば特許文献１の図３に記載されている。
【００８５】
そして、このようなクランク信号のみに基づく気筒判別処理によってクランク位置が特定できたなら（Ｓ３９０：ＹＥＳ）、気筒判別完了フラグを１に設定する（Ｓ３３０）。
以上のことから、図４のＳ２１２では、気筒判別完了フラグを参照して、その気筒判別完了フラグが１であれば、気筒判別が完了していると判定する。
【００８６】
図４に戻り、上記Ｓ２１２にて、気筒判別が完了していないと判定した場合には、Ｓ２１４に進み、スタータリレー７をオンさせる継続時間（以下、スタータリレーオン時間という）の最大値であって、後述するＳ２３０の判定で用いられる制限時間Ｔｍａｘを、デフォルト値に設定し、その後、Ｓ２３０へ進む。尚、このデフォルト値は、クランク信号とカム信号との何れかが正常に入力されずに、カム信号のみに基づく気筒判別処理とクランク信号のみに基づく気筒判別処理との何れかによって気筒判別が行われる場合でも、エンジンを確実に始動させる（運転状態へと移行させる）ことが可能なスタータリレーオン時間よりも十分長い時間に設定されており、後述するＳ２２２とＳ２２４との各々で設定される制限時間Ｔｍａｘの値よりも長い時間である。
【００８７】
また、上記Ｓ２１２にて、気筒判別が完了していると判定した場合には、Ｓ２２０に移行して、前述した図６の異常検出処理によりクランク信号とカム信号との何れかの異常が検出されているか否かを判定する。
【００８８】
そして、異常検出処理により異常が検出されていない場合には（Ｓ２２０：ＮＯ）、Ｓ２２２に進んで、エンジンの冷却水温を検出すると共に、その検出値に対応する制限時間Ｔｍａｘを信号正常時用のデータテーブルに基づき算出し、その算出値を、後述するＳ２３０の判定で用いられる制限時間Ｔｍａｘとして設定する。そして、その後、Ｓ２３０へ進む。
【００８９】
ここで、信号正常時用のデータテーブルは、図７の一点鎖線で示すように、冷却水温と制限時間Ｔｍａｘとを対応付けて記録したものであり、マイコン１１内のＲＯＭ等の不揮発性メモリに予め記憶されている。よって、マイコン１１は、冷却水温の検出値を信号正常時用のデータテーブルに当てはめることで、制限時間Ｔｍａｘを算出することができる。また、信号正常時用のデータテーブルは、冷却水温が低いほど、制限時間Ｔｍａｘが長い時間に算出されるように設定されている。これは、冷却水温が低い場合ほど、エンジンが始動し難い（エンジンの始動性が低い）と考えられるからである。更に、信号正常時用のデータテーブルは、信号正常時の始動所要時間よりも、制限時間Ｔｍａｘが長い時間に算出されるように設定されている。尚、信号正常時の始動所要時間とは、スタータリレー７（スタータモータ３）の駆動開始時から、クランク信号及びカム信号に基づく気筒判別処理により気筒判別が完了して、その気筒判別結果に基づく燃料噴射及び点火の実施によりエンジンが運転状態になるまでの、理論上又は実験上の最大時間である。
【００９０】
また、上記Ｓ２２０にて、異常検出処理によりクランク信号とカム信号との何れかの異常が検出されていると判定した場合には（Ｓ２２０：ＹＥＳ）、Ｓ２２４に移行して、エンジンの冷却水温を検出すると共に、その検出値に対応する制限時間Ｔｍａｘを、信号異常時用のデータテーブルに基づき算出し、その算出値を、後述するＳ２３０の判定で用いられる制限時間Ｔｍａｘとして設定する。そして、その後、Ｓ２３０へ進む。
【００９１】
ここで、信号異常時用のデータテーブルも、図７の二点鎖線で示すように、冷却水温と制限時間Ｔｍａｘとを対応付けて記録したものであり、マイコン１１内のＲＯＭ等の不揮発性メモリに予め記憶されている。また、信号異常時用のデータテーブルも、冷却水温が低いほど、制限時間Ｔｍａｘが長い時間に算出されるように設定されている。
【００９２】
但し、信号異常時用のデータテーブルは、信号正常時用のデータテーブルよりも、冷却水温が同じであれば、制限時間Ｔｍａｘが長い時間に算出されるように設定されている。
より詳しく説明すると、図７における実線は、クランク信号とカム信号との何れかが異常である場合において、スタータリレー７（スタータモータ３）の駆動開始時から、カム信号のみに基づく気筒判別処理とクランク信号のみに基づく気筒判別処理との何れかによって気筒判別が完了して、その気筒判別結果に基づく燃料噴射及び点火の実施によりエンジンが運転状態になるまでの理論上又は実験上の最大時間（以下、信号異常時の始動所要時間という）Ｔｓを示している。そして、信号正常時用のデータテーブルは、信号異常時の始動所要時間Ｔｓよりも制限時間Ｔｍａｘが短い時間に算出されるように設定されているが、信号異常時用のデータテーブルは、信号異常時の始動所要時間Ｔｓよりも制限時間Ｔｍａｘが長い時間に算出されるように設定されている。
【００９３】
尚、この例では、冷却水温に応じて制限時間Ｔｍａｘを算出するようにしているが、図７における横軸下の（）内に示すように、冷却水温に代えて、例えば、油温（エンジンオイルの温度）と、車両の外気温と、エンジンの吸気温（吸入空気の温度）と、バッテリ電圧との、何れかの検出値に応じて、制限時間Ｔｍａｘを算出するようにしても良い。この場合、信号正常時用のデータテーブルと信号異常時用のデータテーブルは、上記各温度又はバッテリ電圧の値が低い場合ほど、制限時間Ｔｍａｘが長い時間に算出されるように設定すれば良い。また、冷却水温、油温、外気温、吸気温、及びバッテリ電圧のうちの２つ以上に応じて、制限時間Ｔｍａｘを算出するようにしても良い。
【００９４】
次に、Ｓ２３０では、現在のスタータリレーオン時間（スタータリレー７をオンさせている継続時間）が、Ｓ２１４とＳ２２２とＳ２２４との何れかで設定された制限時間Ｔｍａｘ未満であるか否かを判定する。尚、スタータリレーオン時間は、後述するＳ２８０でスタータリレー７のオンを開始した際に起動されるタイマの値によって把握される。
【００９５】
そして、このＳ２３０にて、スタータリレーオン時間が制限時間Ｔｍａｘ未満であると肯定判定したならば、次のＳ２４０にて、エンジン回転数が、エンジンが完爆状態になったと考えられる所定回転数（例えば、７００ｒｐｍ）未満であるか否かを判定し、エンジン回転数が所定回転数未満であると肯定判定したならば、Ｓ２４５に進む。尚、図６の異常検出処理によりクランク信号が正常と判定されている場合には、エンジン回転数は、クランクエッジの発生間隔から算出するが、図６の異常検出処理によりクランク信号が異常と判定されている場合には、エンジン回転数は、カムエッジの発生間隔から算出する。
【００９６】
Ｓ２４５では、前述したイモビライザＥＣＵ５３との認証用通信により認証が合格であると判定したか否か（即ち、イモビライザＥＣＵ５３との認証用通信が成功したか否か）を判定し、認証が合格であると肯定判定したならば、Ｓ２５０に進む。尚、認証が合格であることは、始動実施条件の１つである。
【００９７】
Ｓ２５０では、自動変速機のギア位置がＮ（ニュートラル）又はＰ（パーキング）の位置であるか否かを判定する。
そして、上記Ｓ２５０にて、ギア位置がＮ又はＰの位置であると肯定判定したならば、次のＳ２６０にて、車速が所定値（例えば０）以下であるか否かを判定し、車速が所定値以下であると肯定判定したならば、Ｓ２７０へ進む。
【００９８】
Ｓ２７０では、スタートリクエストフラグが１であるか否かを判定し、スタートリクエストフラグが１であれば、Ｓ２８０に進んで、スタータリレー駆動回路１３へのスタータリレー駆動信号をアクティブレベルにすることによりスタータリレー７をオンさせる。また、このＳ２８０にて、スタータリレー７を最初にオンさせたとき（オフからオンに変化させたとき）には、スタータリレーオン時間を計測するためのタイマを起動する。そして、その後、当該スタータリレー駆動制御処理を終了する。
【００９９】
また、上記Ｓ２７０にて、スタートリクエストフラグが１ではないと判定した場合には、Ｓ２９０へ移行して、上記スタータリレー駆動信号を非アクティブレベルにすることによりスタータリレー７をオフさせると共に、スタータリレーオン時間を計測するためのタイマをリセット状態で停止させる。そして、その後、当該スタータリレー駆動制御処理を終了する。
【０１００】
一方、上記Ｓ２１０，Ｓ２３０〜Ｓ２６０の何れかで“ＮＯ”と否定判定した場合には、Ｓ２８５へ移行して、スタートリクエストフラグを０に初期化する処理を行い、その後、上記Ｓ２９０の処理を行った後、当該スタータリレー駆動制御処理を終了する。
【０１０１】
尚、Ｓ２３０で“ＮＯ”と否定判定した場合（即ち、スタータリレーオン時間が制限時間Ｔｍａｘに達したと判定した場合に）、Ｓ２８５及びＳ２９０の処理を行うようにしているのは、スタータリレーオン時間が制限時間Ｔｍａｘに達したならば、たとえエンジンが運転状態に至ってなくてもスタータモータ３の駆動を強制的に禁止するためであり、入力条件などの何らかの異常によってスタータモータ３が不要に駆動し続けられてしまうことを防止すると共に、スタータモータ３の長時間の駆動によってバッテリ上がりやバッテリ劣化が発生するのを防止するためである。
【０１０２】
次に、以上のようなＥＣＵ１の作用及び効果について、図８，図９のタイムチャートを用い説明する。尚、図８は、クランク信号とカム信号とが正常に入力される場合を示し、図９は、クランク信号とカム信号との何れかが正常に入力されない場合を示している。
【０１０３】
まず、図８に示すように、イグニッションスイッチ３１がオンされると、ＥＣＵ１にてマイコン１１が動作を開始し、その後、スタータスイッチ３３がオンされて、そのスタータスイッチ３３のオンを検知した場合に（Ｓ１２０：ＹＥＳ）、図３のＳ１３０で判定される条件が更に成立していれば、スタートリクエストフラグが１に設定される（Ｓ１４０）。そして更に、図４のＳ２４０〜Ｓ２６０で判定される各条件が全て“ＹＥＳ”側に成立していれば、スタータリレー７がオンされ（Ｓ２８０）、スタータモータ３が作動してエンジンのクランキングが開始される。また、このとき、スタータリレーオン時間を計測するためのタイマが起動される（Ｓ２８０）。尚、スタータリレー７がオンされる前の段階において、図４のＳ２３０の判定で用いられる制限時間Ｔｍａｘは、図４のＳ２１４により前述のデフォルト値に設定されているため、図４のＳ２３０では必ず“ＹＥＳ”側に肯定判定されることとなる。
【０１０４】
ここで、クランク信号とカム信号とが正常に入力可能な正常時において、エンジンのクランキングが開始されると、マイコン１１は、クランク信号及びカム信号に基づく気筒判別処理（Ｓ３１０）によって気筒判別を行い、気筒判別が完了したならば（クランク位置が特定できたならば）、エンジンの各気筒に対する燃料噴射及び点火を開始する。
【０１０５】
そして、その後、エンジン回転数が所定回転数以上になると（Ｓ２４０：ＮＯ）、マイコン１１は、エンジンが運転状態（完爆状態）になったと判断して、スタートリクエストフラグを０に初期化すると共に、スタータリレー７をオフしてスタータモータ３を停止させることとなる（Ｓ２８５，Ｓ２９０）。
【０１０６】
また、気筒判別が完了すると、この場合には、クランク信号とカム信号とが正常に入力されているため、図４のＳ２２２により、制限時間Ｔｍａｘが、それまでのデフォルト値から、信号正常時用のデータテーブルに基づき算出される値（＜デフォルト値）に変更されるが、その変更される値は、信号正常時の始動所要時間よりも長いため、エンジンが運転状態となる前に（図４のＳ２４０で“ＮＯ”と否定判定される前に）、図４のＳ２３０で“ＮＯ”と判定されてスタータリレー７が強制的にオフされてしまうことはない。
【０１０７】
一方、クランク信号とカム信号との何れかが正常に入力されない異常が発生している場合には、エンジンのクランキングが開始されると、マイコン１１は、カム信号のみに基づく気筒判別処理とクランク信号のみに基づく気筒判別処理との何れかによって気筒判別を行うこととなるが、その場合には、気筒判別のための情報が少なくなるため、スタータリレー７のオン開始時から気筒判別が完了するまでの最大時間が正常時よりも長くなる。
【０１０８】
具体的には、正常時におけるクランク信号及びカム信号に基づく気筒判別処理では、クランク信号に欠歯が現れた時点で気筒判別ができるため、クランキングの開始時から気筒判別の完了までが、最大でも３６０°ＣＡ分の時間となるのに対して、カム信号のみに基づく気筒判別処理では、気筒判別の完了までに最大で７２０°ＣＡ分の時間がかかり、また、クランク信号のみに基づく気筒判別処理では、気筒判別の完了までに最大で「３６０°ＣＡ分の時間＋気筒判別結果検証用の一定時間」だけかかる。
【０１０９】
このため、クランク信号とカム信号との何れかが正常に入力されない場合には、スタータモータ３の駆動開始時からエンジンが運転状態になるまでの最大時間が、正常時より長くなる。
【０１１０】
よって、もし、図４のＳ２３０の判定で用いられる制限時間Ｔｍａｘを、正常時の値（クランク信号とカム信号とが正常に入力される場合の値）と同じ値に設定したとすると、スタータモータ３の駆動開始時からエンジンが運転状態になる前に、図４のＳ２３０で“ＮＯ”と判定されてスタータモータ３の駆動が強制的に禁止されてしまう懸念が生じる。
【０１１１】
そこで、本実施形態のＥＣＵ１では、クランク信号とカム信号との何れかが異常であると判定した場合には（Ｓ２２０：ＹＥＳ）、図４のＳ２３０の判定で用いられる制限時間Ｔｍａｘを、信号異常時用のデータテーブルに基づき算出することにより、正常時の値よりも長く、更に信号異常時の始動所要時間Ｔｓよりも長い時間に設定するようになっている（Ｓ２２４）。
【０１１２】
このため、図９に示すように、クランク信号とカム信号との何れかが正常に入力されない異常が発生して、スタータモータ３の駆動開始時からエンジンが運転状態になるまでの時間が長くなっても、図４のＳ２４０で“ＮＯ”と否定判定される前に、スタータリレーオン時間が制限時間Ｔｍａｘに達してしまうことを回避することができる。よって、エンジンが運転状態となる前に、図４のＳ２３０で“ＮＯ”と判定されてスタータモータ３の駆動が強制的に禁止されてしまうことがなく、エンジンを確実に始動させることができるようになる。尚、図９における点線は、図８に示した正常時の状態を参考のために示したものである。
【０１１３】
また、本実施形態のＥＣＵ１では、気筒判別が完了するまでは、制限時間Ｔｍａｘを、予め定められた初期値であるデフォルト値に設定しておき（Ｓ２１２：ＮＯ，Ｓ２１４）、気筒判別が完了した時点で（Ｓ２１２：ＹＥＳ）、クランク信号とカム信号との異常を検出していなければ（つまり、クランク信号及びカム信号に基づく気筒判別処理によって気筒判別をした場合には）、制限時間Ｔｍａｘをデフォルト値よりも短い正常時の設定時間に設定し直し（Ｓ２２０：ＮＯ，Ｓ２２２）、また、クランク信号とカム信号との何れかの異常を検出していたならば（つまり、カム信号のみに基づく気筒判別処理とクランク信号のみに基づく気筒判別処理との何れかによって気筒判別をした場合には）、制限時間Ｔｍａｘをデフォルト値よりも短く且つ正常時の設定時間よりも長い時間に設定し直す（Ｓ２２０：ＹＥＳ，Ｓ２２４）ようにしている。つまり、制限時間Ｔｍａｘを、気筒判別が完了するまでは、十分に長いデフォルト値に設定しておき、気筒判別が完了した時点で、そのデフォルト値よりも短い必要に応じた時間に設定し直すようにしている。
【０１１４】
このため、クランク信号及びカム信号が正常な場合と、クランク信号及びカム信号のうちの何れかが異常な場合とでの、制限時間Ｔｍａｘの切り替え設定を、確実に実施することができる。気筒判別が完了した時点では、異常検出結果（異常検出処理の判定結果）が確定しており、その時点で、制限時間Ｔｍａｘの切り替え設定を行うからである。
【０１１５】
また更に、本実施形態のＥＣＵ１では、図７に示したように、制限時間Ｔｍａｘを、エンジンの始動性に関係する情報（冷却水温や油温や外気温や吸気温やバッテリ電圧）の検出値に応じて設定するようにしているため、その制限時間Ｔｍａｘを常に最適な値にすることができる。
【０１１６】
尚、上記第１実施形態では、図５・Ｓ３１０のクランク信号及びカム信号に基づく気筒判別処理が第１の気筒判別手段に相当し、図６の異常検出処理が異常検出手段に相当し、図５・Ｓ３６０のカム信号のみに基づく気筒判別処理と図５・Ｓ３８０のクランク信号のみに基づく気筒判別処理とが第２の気筒判別手段に相当している。また、図３のスタータ駆動リクエスト制御処理と図４・Ｓ２１０，Ｓ２４０〜Ｓ２９０の処理とが自動始動制御手段に相当し、図４・Ｓ２８０でタイマを起動する処理と図４・Ｓ２３０の処理とが駆動時間制限手段に相当している。そして、図４・Ｓ２１２〜Ｓ２２４の処理が制限時間設定手段に相当している。
［第２実施形態］
次に、第２実施形態のエンジンＥＣＵについて説明する。尚、第２実施形態のエンジンＥＣＵは、第１実施形態のエンジンＥＣＵ１とハードウェア構成は同じであるため、以下の説明において、構成要素の符号は第１実施形態と同じものを用いる。また、このことは、後述する他の実施形態についても同様である。
【０１１７】
第２実施形態のＥＣＵ１は、第１実施形態と比較すると、マイコン１１の不揮発性メモリに信号異常時用のデータテーブルが記憶されていない点と、マイコン１１が、図４の処理に代えて、図１０のスタータリレー駆動制御処理を実行する点とが異なっている。
【０１１８】
そして、図１０のスタータリレー駆動制御処理は、図４の処理と比較すると、Ｓ２２４の代わりに、Ｓ２２６とＳ２２８の処理を行う点が異なっている。
即ち、第２実施形態のスタータリレー駆動制御処理では、Ｓ２２０にて、異常検出処理によりクランク信号とカム信号との何れかの異常が検出されていると判定した場合には、Ｓ２２６に移行する。そして、Ｓ２２６では、Ｓ２２２と同様に、エンジンの冷却水温を検出すると共に、その検出値に対応する制限時間Ｔｍａｘを信号正常時用のデータテーブルに基づき算出する。次に、Ｓ２２８にて、上記Ｓ２２６で算出した制限時間Ｔｍａｘの値に所定値ａ（＞０）を加え、その加算後の値を、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘとして設定する。そして、その後、Ｓ２３０へ進む。
【０１１９】
尚、上記所定値ａは、上記加算後の値が、図７に示した信号異常時の始動所要時間Ｔｓよりも長くなる値に設定されている。また、本第２実施形態では、図１０・Ｓ２１２〜Ｓ２２８の処理が制限時間設定手段に相当している。
【０１２０】
そして、以上のような第２実施形態のエンジンＥＣＵ１によっても、第１実施形態と同様の効果を得ることができる。
ところで、Ｓ２２８では、上記Ｓ２２６で算出した制限時間Ｔｍａｘの値に１よりも大きい所定値ｂを乗じ、その乗算後の値（即ち、Ｓ２２６での算出値を所定割合だけ長くした値）を、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘとして設定するようにしても良い。そして、この場合にも、上記所定値ｂは、上記乗算後の値が信号異常時の始動所要時間Ｔｓよりも長くなる値に設定しておけば良い。
【０１２１】
一方、第１実施形態でも述べたように、Ｓ２２６では、冷却水温に代えて、例えば、油温と外気温と吸気温とバッテリ電圧との何れかの検出値に応じて、制限時間Ｔｍａｘを算出するようにしても良く、また、冷却水温、油温、外気温、吸気温、及びバッテリ電圧のうちの２つ以上に応じて制限時間Ｔｍａｘを算出するようにしても良い。
［第３実施形態］
次に、第３実施形態のエンジンＥＣＵについて説明する。
【０１２２】
第３実施形態のＥＣＵ１では、第１実施形態と比較すると、マイコン１１の不揮発性メモリに、信号異常時用のデータテーブルが記憶されておらず、その代わりに、信号異常時の始動所要時間Ｔｓを算出するためのデータテーブル（以下、異常時始動所要時間算出用データテーブルという）が記憶されている。尚、その異常時始動所要時間算出用データテーブルは、図７における実線のように、冷却水温と信号異常時の始動所要時間Ｔｓとを対応付けて記録したものである。
【０１２３】
また、第３実施形態のＥＣＵ１では、マイコン１１が、図４の処理に代えて、図１１のスタータリレー駆動制御処理を実行する。
そして、図１１のスタータリレー駆動制御処理は、図４の処理と比較すると、Ｓ２２０〜Ｓ２２４の処理が削除されている点と、Ｓ２１４の代わりに、Ｓ２１５〜Ｓ２１８の処理を行う点とが異なっている。
【０１２４】
即ち、第３実施形態のスタータリレー駆動制御処理では、Ｓ２１２にて、気筒判別が完了していないと判定した場合には、Ｓ２１５に進む。
そして、Ｓ２１５では、図４のＳ２２２と同様に、エンジンの冷却水温を検出すると共に、その検出値に対応する制限時間Ｔｍａｘを信号正常時用のデータテーブルに基づき算出する。
【０１２５】
次に、Ｓ２１６にて、冷却水温の検出値に対応する信号異常時の始動所要時間Ｔｓを、異常時始動所要時間算出用データテーブルに基づき算出する。
そして、続くＳ２１７にて、Ｓ２１５で算出した制限時間Ｔｍａｘが、Ｓ２１６で算出した信号異常時の始動所要時間Ｔｓよりも大きいか否かを判定し、「Ｔｍａｘ＞Ｔｓ」ならば（Ｓ２１７：ＹＥＳ）、Ｓ２１５で算出した制限時間Ｔｍａｘを、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘとしてそのまま設定する。そして、その後、Ｓ２３０へ移行する。
【０１２６】
一方、上記Ｓ２１７にて、「Ｔｍａｘ＞Ｔｓ」ではないと判定した場合には、Ｓ２１８に進み、Ｓ２１６で算出した信号異常時の始動所要時間Ｔｓに所定値ｃ（＞０）を加算し、その加算後の値を、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘとして設定する。そして、その後、Ｓ２３０に進む。
【０１２７】
また、Ｓ２１２にて気筒判別が完了していると判定した場合には、そのままＳ２３０へ移行する。そして、気筒判別が完了してからのＳ２３０では、上記Ｓ２１５〜Ｓ２１８の処理によって最終的に設定された制限時間Ｔｍａｘを判定に用いることとなる。
【０１２８】
つまり、第３実施形態のスタータリレー駆動制御処理では、冷却水温に基づき算出した正常時用の制限時間Ｔｍａｘと、同じく冷却水温に基づき算出した信号異常時の始動所要時間Ｔｓとを大小比較して、「Ｔｍａｘ＞Ｔｓ」でなければ、算出した制限時間Ｔｍａｘに代えて、算出した信号異常時の始動所要時間Ｔｓよりも長い時間（＝Ｔｓ＋ｃ）を、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘとして設定するようにしている。よって、Ｓ２３０の判定で用いられる制限時間Ｔｍａｘは、信号異常時の始動所要時間Ｔｓよりも常に長い時間に設定されることとなる。
【０１２９】
このため、本第３実施形態のＥＣＵ１によっても、クランク信号とカム信号との何れかが正常に入力されない異常が発生している場合に、エンジンが運転状態となる前にＳ２３０で“ＮＯ”と判定されてスタータモータ３の駆動が強制停止されてしまうことを確実に回避することができる。
【０１３０】
また、本第３実施形態によれば、Ｓ２１５の処理を設けた構成に対して、Ｓ２１６〜Ｓ２１８の処理を加えるだけで、「Ｓ２３０の判定で用いられる制限時間Ｔｍａｘ＞信号異常時の始動所要時間Ｔｓ」という条件を満たすようにすることができる。
【０１３１】
尚、Ｓ２１５とＳ２１６との各々では、制限時間Ｔｍａｘと信号異常時の始動所要時間Ｔｓとを、図７における横軸下の（）内に示すように、冷却水温に代えて、例えば、油温と外気温と吸気温とバッテリ電圧との何れかの検出値に応じて、算出するようにしても良い。また、冷却水温、油温、外気温、吸気温、及びバッテリ電圧のうちの２つ以上に応じて、制限時間Ｔｍａｘと信号異常時の始動所要時間Ｔｓとを算出するようにしても良い。
【０１３２】
一方、本第３実施形態では、Ｓ２１５の処理が制限時間算出手段に相当し、Ｓ２１６の処理が異常時始動所要時間算出手段に相当し、Ｓ２１７及びＳ２１８の処理が設定手段に相当している。
【０１３３】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１３４】
一例を挙げると、クランク信号とカム信号との信号形態は、図２に示したものに限らず、例えば特許文献２に記載されているようなものでも良い。
また、クランク信号及びカム信号に基づく気筒判別処理と、カム信号のみに基づく気筒判別処理と、クランク信号のみに基づく気筒判別処理との各内容についても、クランク信号とカム信号の信号形態に応じて適宜設計すれば良い。
【０１３５】
例えば、クランク信号及びカム信号に基づく気筒判別処理としては、カム信号のレベルがハイ又はローである期間に発生したクランクエッジの数からクランク位置を特定する、といった処理でも良い。また、エンジンが５気筒エンジンである場合、クランク信号のみに基づく気筒判別処理としては、欠歯を検出したタイミングの前後におけるエンジン回転変動の違いを識別してクランク位置を特定する、といった処理でも良い。
【０１３６】
また、カムセンサ及びカム信号は１つに限らず、エンジンの形態によっては２つ以上あっても良い。そして、カム信号が複数ある構成の場合、正常時には、クランク信号と複数のカム信号とを組み合わせて気筒判別を行い、カム信号の何れかが正常に入力されない場合には、クランク信号と正常な残りのカム信号とを組み合わせて気筒判別を行い、クランク信号が正常に入力されない場合には、正常な複数のカム信号を組み合わせて気筒判別を行う、といった構成を採ることができる。
【図面の簡単な説明】
【０１３７】
【図１】実施形態のエンジンＥＣＵとそれの周辺装置を表す構成図である。
【図２】波形整形後のクランク信号及びカム信号の信号形態を示すタイムチャートである。
【図３】スタータ駆動リクエスト制御処理を表すフローチャートである。
【図４】第１実施形態のスタータリレー駆動制御処理を表すフローチャートである。
【図５】気筒判別のための処理の流れを表すフローチャートである。
【図６】クランク信号とカム信号についての異常検出処理を表すフローチャートである。
【図７】データテーブルを説明する説明図である。
【図８】第１実施形態のエンジンＥＣＵの作用を表す第１のタイムチャートである。
【図９】第１実施形態のエンジンＥＣＵの作用を表す第２のタイムチャートである。
【図１０】第２実施形態のスタータリレー駆動制御処理を表すフローチャートである。
【図１１】第３実施形態のスタータリレー駆動制御処理を表すフローチャートである。
【符号の説明】
【０１３８】
１…エンジンＥＣＵ、３…スタータモータ、５…車載バッテリ、７…スタータリレー、１１…マイコン、１３…スタータリレー駆動回路、１５…電源ライン、１９…入力回路、２１…駆動回路、２３…電源回路、２５…通信回路、３１…イグニッションスイッチ、３３…スタータスイッチ、３５…クランクセンサ、３７…カムセンサ、４１…水温センサ、４３…吸気量センサ、４５…ブレーキペダルセンサ、４７…シフトポジションセンサ、４８…車速センサ、４９…メインリレー、５１…通信線、５２…電子キー（携帯機）、５３…イモビライザＥＣＵ、５５…トランスミッションＥＣＵ、５７…ブレーキＥＣＵ
【図１】
0004655992.tif 000002
【図２】
0004655992.tif 000003
【図３】
0004655992.tif 000004
【図４】
0004655992.tif 000005
【図５】
0004655992.tif 000006
【図６】
0004655992.tif 000007
【図７】
0004655992.tif 000008
【図８】
0004655992.tif 000009
【図９】
0004655992.tif 000010
【図１０】
0004655992.tif 000011
【図１１】
0004655992.tif 000012