(57)【特許請求の範囲】
【請求項１】
４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号を発生するクランク信号発生手段と、
前記クランク信号の７２０°ＣＡ毎の表の基準位置部と７２０°ＣＡ毎の裏の基準位置部とで異なる波形の判別信号を発生する判別信号発生手段と、
前記クランク信号を入力してパルス間隔を計測するパルス間隔計測手段と、
前記パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号を生成する逓倍信号生成手段と、
７２０°ＣＡ間に１箇所の初期化位置を有し、前記逓倍信号に基づいてカウント動作するとともに、前記クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化されるエンジン制御用カウンタと、
エンジン始動時の初回のクランク信号の裏の基準位置部を検出した時に、前記エンジン制御用カウンタの値を裏の基準位置部に対応する値に設定するカウント値設定手段と、
を備えたことを特徴とするエンジン制御装置。
【請求項２】
４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号を発生するクランク信号発生手段と、
前記クランク信号の７２０°ＣＡ毎の表の基準位置部と７２０°ＣＡ毎の裏の基準位置部とで異なる波形の判別信号を発生する判別信号発生手段と、
前記クランク信号を入力してパルス間隔を計測するパルス間隔計測手段と、
前記パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号を生成する逓倍信号生成手段と、
７２０°ＣＡ間に１箇所の初期化位置を有し、前記逓倍信号に基づいてカウント動作するとともに、前記クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化されるエンジン制御用カウンタと、
クランク信号の裏の基準位置部を検出した時に、前回検出した基準位置部が表の基準位置部であったかを判定し、表の基準位置部でないと判定した場合は、前記エンジン制御用カウンタの値を裏の基準位置部に対応する値に設定するカウント値設定手段と、
を備えたことを特徴とするエンジン制御装置。
【請求項３】
４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号を発生するクランク信号発生手段と、
前記クランク信号の７２０°ＣＡ毎の表の基準位置部と７２０°ＣＡ毎の裏の基準位置部とで異なる波形の判別信号を発生する判別信号発生手段と、
前記クランク信号を入力してパルス間隔を計測するパルス間隔計測手段と、
前記パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号を生成する逓倍信号生成手段と、
７２０°ＣＡ間において前記クランク信号の表の基準位置部とは異なる１箇所の初期化位置を有し、前記逓倍信号に基づいてカウント動作するとともに、前記クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化されるエンジン制御用カウンタと、
前記クランク信号の表・裏の基準位置部を検出した時に、前記エンジン制御用カウンタの値を当該基準位置部に対応する値に設定するカウント値設定手段と、を備えたことを特徴とするエンジン制御装置。
【請求項４】
前記エンジン制御用カウンタは、第１のカウンタと、この第１のカウンタのカウント動作に連動してカウント動作する第２のカウンタからなり、
前記カウント値設定手段は、前記第１のカウンタの作動を停止させてから第１及び第２のカウンタの値を設定した後、第１のカウンタの作動を再開させるようにしたことを特徴とする請求項１〜３のいずれか１項に記載のエンジン制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はエンジン制御装置に関するものである。
【０００２】
【従来の技術】
エンジン制御装置は燃料噴射制御や点火時期制御やアイドル回転数制御などの制御を行う装置であって、エンジンを最適な状態で運転させるものである。つまり、クランクセンサやエンジン水温センサ等のエンジン運転状態を検出する各種センサからの信号をＥＣＵ（電子制御ユニット）に入力して最適な燃料噴射量、噴射時期、点火時期などを制御する。
【０００３】
点火制御や噴射制御等のエンジン回転と同期した制御、つまり、クランク角に同期した制御は、クランクエッジ（クランク信号のエッジ）からのオフセット時間が経過した時に点火パルス等の信号を発生させることにより行ってきた。
【０００４】
【発明が解決しようとする課題】
しかし、角度から時間への変換のための演算を行う必要があり、処理負荷を低減するとともに、精度を向上したいという要求がある。
【０００５】
本発明はこのような背景の下になされたものであり、その目的は、処理負荷の低減及び精度向上を図り、しかも、適正にエンジン制御を行うことができるエンジン制御装置を提供することにある。
【０００６】
【課題を解決するための手段】
請求項１に記載の発明によれば、４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号に対し、パルス間隔計測手段によりパルス間隔が計測され、逓倍信号生成手段により、パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号が生成される。さらに、７２０°ＣＡ間に１箇所の初期化位置を有するエンジン制御用カウンタが、逓倍信号に基づいてカウント動作するとともに、クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化される。このように、所定の角度間隔で逓倍信号を生成してエンジン回転と同期をとるシステムとすることで、角度から時間への変換のための演算を不要にでき、処理負荷の低減及び精度向上を図ることができる。
【０００７】
ここで、７２０°ＣＡ間に２箇所の基準位置部を有するクランク信号を使ったシステムにおいて、エンジン制御用カウンタを初期化する位置が７２０°ＣＡ（１サイクル）間に１箇所しかなく、表の基準位置部を基準として初期化するので、エンジン始動時に裏の基準位置部を検出しても、表の基準位置部までの３６０°ＣＡ間は制御を開始できず、そのため始動性が悪くなる。
【０００８】
これに対し、カウント値設定手段により、エンジン始動時の初回のクランク信号の裏の基準位置部を検出した時に、エンジン制御用カウンタの値が裏の基準位置部に対応する値に設定される。その結果、エンジン始動時に、直ちにエンジン制御を開始することができる。
【０００９】
請求項２に記載の発明によれば、４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号に対し、パルス間隔計測手段によりパルス間隔が計測され、逓倍信号生成手段により、パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号が生成される。さらに、７２０°ＣＡ間に１箇所の初期化位置を有するエンジン制御用カウンタが、逓倍信号に基づいてカウント動作するとともに、クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化される。このように、所定の角度間隔で逓倍信号を生成してエンジン回転と同期をとるシステムとすることで、角度から時間への変換のための演算を不要にでき、処理負荷の低減及び精度向上を図ることができる。
【００１０】
ここで、クランク信号の裏の基準位置部で例えば、判別信号にノイズが乗り、表裏判定時に本来表の基準位置部のタイミングにも関わらず裏の基準位置部と誤判定してしまう場合があり、誤判定すると次の表の基準位置部までの７２０°ＣＡ間はエンジン制御を行う上での不具合が発生してしまう。
【００１１】
これに対し、カウント値設定手段により、クランク信号の裏の基準位置部を検出した時に、前回検出した基準位置部が表の基準位置部であったかを判定し、表の基準位置部でないと判定した場合は、エンジン制御用カウンタの値が裏の基準位置部に対応する値に設定される。その結果、表裏誤判定した時に３６０°ＣＡ後に正常に復帰できる。
【００１２】
請求項３に記載の発明によれば、４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列の途中に基準位置部を３６０°ＣＡ毎に有するクランク信号に対し、パルス間隔計測手段によりパルス間隔が計測され、逓倍信号生成手段により、パルス間隔計測手段による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号が生成される。さらに、７２０°ＣＡ間においてクランク信号の表の基準位置部とは異なる１箇所の初期化位置を有するエンジン制御用カウンタが、逓倍信号に基づいてカウント動作するとともに、クランク信号と判別信号によるクランク信号の表の基準位置部を基準として初期化される。このように、所定の角度間隔で逓倍信号を生成してエンジン回転と同期をとるシステムとすることで、角度から時間への変換のための演算を不要にでき、処理負荷の低減及び精度向上を図ることができる。
【００１３】
ここで、初期化位置がクランク信号の基準位置部と異なる場合は、エンジン始動時や表と裏の基準位置部を誤判定した時においてクランク信号の基準位置部を検出後、初期化位置まで制御を開始できず、そのため始動性の悪化や正常動作への復帰の遅延を招いてしまう。
【００１４】
これに対し、カウント値設定手段により、クランク信号の表・裏の基準位置部を検出した時に、エンジン制御用カウンタの値が当該基準位置部に対応する値に設定される。その結果、エンジン始動時にクランク信号の基準位置部を検出した時に直ちにエンジン制御を開始したり、表裏誤判定した場合にクランク信号の基準位置部を検出した時に直ちに正常に復帰できる。
【００１５】
請求項４に記載のように、請求項１〜３のいずれかのエンジン制御装置において、エンジン制御用カウンタは、第１のカウンタと、この第１のカウンタのカウント動作に連動してカウント動作する第２のカウンタからなり、カウント値設定手段は、第１のカウンタの作動を停止させてから第１及び第２のカウンタの値を設定した後、第１のカウンタの作動を再開させるようにすると、両カウンタの値を設定する際の時間のズレに伴う設定ズレを防止することができる。
【００１６】
【発明の実施の形態】
以下、この発明を具体化した実施の形態を図面に従って説明する。
本実施の形態においては自動車用多気筒ガソリンエンジンの制御装置に具体化している。図１には、本実施形態におけるエンジン制御ＥＣＵ１の構成を示す。
エンジンは５気筒４サイクルエンジンである。
【００１７】
エンジン制御ＥＣＵ１はマイクロコンピュータ（以下、マイコンという）１０と電源回路２０と入出力回路３０とＥＥＰＲＯＭ４０を備えている。電源回路２０はバッテリ２から電力の供給を受けて所定の電圧をＥＣＵ１内の各機器に供給する。マイコン１０はＣＰＵ１１とＲＯＭ１２とＲＡＭ１３とＡ／Ｄ変換器１４と入出力インターフェイス１５とタイマモジュール１６を備えており、これらの各部材間はデータバスにて相互にデータのやり取りが行われる。また、入出力インターフェイス１５にはＥＥＰＲＯＭ４０が接続され、入出力インターフェイス１５を介してＥＥＰＲＯＭ４０とデータのやり取りが行われる。入出力回路３０はセンサおよびスイッチ等からの信号を入力するとともに、インジェクタ（燃料噴射弁）や点火装置に対し駆動信号を出力する。さらに、入出力回路３０には通信ライン３が接続され、入出力回路３０を介して他のＥＣＵとデータのやり取りが行われる。マイコン１０のＣＰＵ１１はセンサ・スイッチ等からの信号（データ）及び通信ライン３からのデータを入出力回路３０と入出力インターフェイス１５を介して取り込むとともに、これらデータを基にして各種の演算を行い、入出力インターフェイス１５と入出力回路３０を介してインジェクタ等を駆動制御する。
【００１８】
ここで、エンジン制御ＥＣＵ１が取り込む信号に、クランクセンサ（クランク信号発生手段）からのクランク信号とカムセンサ（判別信号発生手段）からのカム信号がある。図２には、エンジン１サイクル（７２０°ＣＡ）分のクランク信号とカム信号を示す。
【００１９】
クランクセンサで発生するクランク信号は、４サイクルエンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列よりなり、このパルス列の途中にパルスを抜いた欠け歯（基準位置部）を有する。本実施形態でのクランク信号は６０パルス毎に２パルス抜ける欠け歯の構成となっている（６０−２歯構造）。つまり、パルス列のパルス間隔が６°ＣＡであり、このパルス列の途中にパルスを抜いた欠け歯を３６０°ＣＡ毎に有し、そのうちの一方（７２０°ＣＡ毎の欠け歯）が表欠け歯であり、他方（他の７２０°ＣＡ毎の欠け歯）が裏欠け歯である。また、カムセンサで発生するカム信号は、エンジンのカム軸の回転に同期しており、気筒位置を特定する気筒判別信号であり、立ち下がりエッジは１４４°ＣＡ間隔である。このカム信号はクランク信号の表欠け歯直後の立ち下がりエッジ（ｔ１のタイミング）ではカム信号がＬレベルであり、裏欠け歯直後の立ち下がりエッジ（ｔ２のタイミング）ではカム信号がＨレベルである。つまり、欠け歯位置でカム信号レベルがＬならば表欠け歯であると判定でき、Ｈならば裏欠け歯であると判定できる。
【００２０】
クランク信号が図１のタイマモジュール１６のハードクランク１００に入力される。また、カム信号は入出力回路３０を介してマイコン１０に取り込まれる。一方、図１のタイマモジュール１６に備えられたハードクランク１００は、クランク信号をハード的に処理する機能部である。このハードクランク１００により、図２のクランク信号の処理（クランクエッジ間時間を分割した角度信号の生成）をハード的に行うことができる。
【００２１】
図３には、ハードクランク１００の構成を示す。
図３において、プリスケーラ１０１と分周回路１０２とエッジ時間計測カウンタ１０３と逓倍レジスタ（エッジ時間記憶レジスタ）１０４と逓倍カウンタ１０５とイベントカウンタ１０６とガード用カウンタ１０７と基準カウンタ１０８と追従カウンタ（角度カウンタ）１０９と点火・噴射用角度カウンタ１１０を備えている。プリスケーラ１０１からの信号Ｐφは分周回路１０２を介してエッジ時間計測カウンタ１０３に送られる。また、信号Ｐφは追従カウンタ（角度カウンタ）１０９に送られる。さらに、クランク信号がエッジ時間計測カウンタ１０３とイベントカウンタ１０６とガード用カウンタ１０７に送られる。
【００２２】
図４には、アングルクロック（角度信号）発生のタイムチャートを示す。図４には、入力するクランク信号、エッジ時間計測カウンタ１０３のカウント値、逓倍レジスタ１０４の記憶値、逓倍カウンタ１０５のカウント値、逓倍カウンタ１０５の出力信号（逓倍クロック）、ガード用カウンタ１０７の値のｎ倍値、基準カウンタ１０８のカウント値、追従カウンタ１０９のカウント値、点火・噴射用角度カウンタ１１０のカウント値を示す。
【００２３】
図３のエッジ時間計測カウンタ１０３は、クランク信号を入力してクランクエッジ間の時間（パルス間隔）を計測する。詳しくは、パルス間隔計測手段としてのエッジ時間計測カウンタ１０３は、図４のように時間同期でカウントアップするカウンタであって、クランクエッジ間（クランク信号の立ち下がりエッジ間）の時間を計測する。計測した値は１／ｎ倍に逓倍され、エッジ入力時に逓倍レジスタ１０４に転送される。転送されたデータはダウンカウンタである逓倍カウンタ１０５の初期値となる。逓倍値（ｎ値）として、例えば「３２」を挙げることができる。
【００２４】
図３の逓倍カウンタ１０５は、エッジ時間計測カウンタ１０３により計測されたクランクエッジ間時間を使って、クランクエッジ時間を１／ｎした逓倍クロックを生成する。詳しくは、逓倍カウンタ１０５は、図４のように時間同期でダウンカウントされ、アンダーフローすると逓倍クロックを発生するとともにカウント値が初期値に戻される動作を繰り返す。次のクランクエッジ（クランク信号の立ち下がりエッジ）が入力されると、逓倍レジスタ１０４の値及び逓倍カウンタ１０５の初期値が最新値に更新される。このように、逓倍信号生成手段としての逓倍カウンタ１０５は、エッジ時間計測カウンタ１０３による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍信号（逓倍クロック）を生成する。
【００２５】
図３の基準カウンタ１０８は、図４に示すように、逓倍クロックによりカウントアップ動作する。図３の追従カウンタ１０９は時間同期クロックによりカウントアップする（内部クロックでカウント動作する）。ガード用カウンタ１０７は、クランク信号の立ち下がりエッジ入力毎にカウントアップするカウンタであって、クランクエッジ入力時に同時にカウントアップ前の値のｎ倍（逓倍）の値を基準カウンタ１０８に転送する。
【００２６】
ここで、図４のように、基準カウンタ１０８のカウント値は、クランクエッジ入力時にガード用カウンタ１０７から転送された値（カウント値のｎ倍値）を上回ることはできない。また、追従カウンタ１０９は、基準カウンタ１０８のカウント値より小さい時のみカウントアップする。この追従カウンタ１０９のカウントアップに同期してアングルクロック（角度信号）が生成される。このように、３つのカウンタ１０７，１０８，１０９によりアングルクロックが生成される。
【００２７】
本実施形態では、内部クロック（プリスケーラからの信号Ｐφ）を２０ＭＨｚとしており、追従カウンタ１０９は他のカウンタと比べ高速で動作可能である。図４において、減速時には、基準カウンタ１０８と追従カウンタ１０９のカウント動作として、クランクエッジの入力より先に基準カウンタ１０８の値がガード用カウンタ１０７の値のｎ倍値に達してしまうため、追従カウンタ１０９のカウントアップが禁止される。このようにしてガード用カウンタ１０７により基準カウンタ１０８と追従カウンタ１０９のカウントアップ動作が逓倍数で停止する。その結果、減速時には追従カウンタ１０９のカウント動作が停止して、一定値以上のアングルクロックの発生を防止する。
【００２８】
図３の点火・噴射用角度カウンタ１１０は追従カウンタ１０９からのアングルクロックを入力してカウントアップする（図４参照）。この点火・噴射用角度カウンタ１１０のカウント値に基づいてコンペアレジスタを用いて点火・噴射制御がクランク角同期にて行われる。つまり、点火・噴射用角度カウンタ１１０により点火・噴射等の制御をクランク角同期でハード制御することができる。このように、所定の角度間隔で逓倍信号（逓倍クロック）を生成してエンジン回転と同期をとるシステムとすることで、角度から時間への変換のための演算を不要にでき、処理負荷の低減及び精度向上（ｎ＝３２ならばＬＳＢ＝０．１８７５°ＣＡ）を図ることができることとなる。
【００２９】
また、基準カウンタ１０８にはクランクエッジ入力時にガード用カウンタ１０７のｎ倍（逓倍）の値が転送（ロード）されるが、１サイクル７２０°ＣＡ周期のカウンタにすべく、リセットしたいクランクエッジの１つ前のクランクエッジでガード用カウンタ１０７が「０」にリセットされる。
【００３０】
図３のイベントカウンタ１０６はクランク信号のパルスでの立ち下がりエッジでカウントアップするとともに同エッジ毎に角度周期割り込み信号を出力する。ＣＰＵ１１はイベントカウンタ１０６のカウント値（エッジ入力数）からクランク信号の欠け歯位置を検出する。なお、イベントカウンタ１０６のカウント値はエンジン１サイクル（７２０°ＣＡ）で初期化される。
【００３１】
次に、このように構成したエンジン制御ＥＣＵ（エンジン制御装置）の作用について説明する。
図５に、クランク信号の表欠け歯位置でのタイムチャートを示す。
【００３２】
まず、ｔ１０のタイミングにて欠け歯直後のパルスの立ち下がりエッジ（クランクエッジ）でカム信号のレベルがＬレベルであることにより表欠け歯であると判定すると、ＣＰＵ１１はガード用カウンタ１０７を「０」にリセットする。すると、基準カウンタ１０８は、システムリセットしたい次のクランクエッジ（図中のｔ１１のタイミング）でガード用カウンタ１０７の値「０」をロードし、この状態で追従カウンタ１０９のカウント値が１サイクルガード値に到達していたら（図２のｔ５のタイミング）、追従カウンタ１０９がハード的に「０」にリセットされる。この追従カウンタ１０９が「０」にリセットされると、点火・噴射用角度カウンタ１１０にリセット信号を送る。
【００３３】
これを、図２で説明する。クランク信号の欠け歯直後の立ち下がりエッジ（ｔ１，ｔ２のタイミング）においてカム信号のレベルを用いてクランク信号の表欠け歯、裏欠け歯をソフトで判定し、カム信号レベルがＬであり表欠け歯判定することにより、システム初期化位置である第４気筒のＢＴＤＣ６°ＣＡの位置（ｔ５のタイミング）でハード的に追従カウンタ１０９がリセットされるとともに、リセット信号の送出にて点火・噴射用角度カウンタ１１０も同時に初期化される。
【００３４】
本実施形態においては、図３の追従カウンタ１０９と点火・噴射用角度カウンタ１１０からエンジン制御用カウンタが構成され、このカウンタ１０９，１１０は、７２０°ＣＡ間に１箇所の初期化位置を有し、逓倍信号に基づいてカウント動作するとともに、クランク信号とカム信号によるクランク信号の表の欠け歯（基準位置部）を基準として初期化される。
【００３５】
図６には、表欠け歯から開始した時のエンジン始動時のタイムチャートを示す。
ＣＰＵ１１はエンジン始動時にはアングルクロックが出ないように追従カウンタ１０９の値を１サイクルガード値に設定する。そして、図６のｔ２０のタイミングにて最初に表欠け歯を検出した位置でガード用カウンタ１０７を「０」にリセットすることにより、基準カウンタ１０８が次の６°ＣＡ位置（ｔ２１のタイミング）において、「０」にリセットされる。また、追従カウンタ１０９の値が１サイクルガード値となっているので、同カウンタ１０９がハード的に「０」にリセットされるとともに、点火・噴射用角度カウンタ１１０にリセット信号が出される。これにより、追従カウンタ１０９と点火・噴射用角度カウンタ１１０の同期がとられて追従カウンタ１０９のカウントアップに伴うアングルクロックの送出が開始される。
【００３６】
図７には、裏欠け歯から開始した時のエンジン始動時のタイムチャートを示す。
ＣＰＵ１１は上述したようにエンジン始動時にはアングルクロックが出ないように追従カウンタ１０９の値を１サイクルガード値に設定する。そして、図６のｔ３０のタイミングにて最初に裏欠け歯を検出した位置でガード用カウンタ１０７を裏欠け歯値に設定することにより、基準カウンタ１０８が次の６°ＣＡ位置（ｔ３１のタイミング）において裏欠け歯値になるが、この時、基準カウンタ１０８の値＝０かつ追従カウンタ１０９の値＝１サイクルガード値が成立せず、その結果、追従カウンタ１０９は１サイクルガード値に張り付いたままで同カウンタ１０９がリセットされないことにより点火・噴射用角度カウンタ１１０にリセット信号が出ない。このように、追従カウンタ１０９がアングルクロックを出さないため点火・噴射用角度カウンタ１１０も停止したままとなる。即ち、裏欠け歯位置はシステムリセット位置ではないため、ガード用カウンタ１０７と基準カウンタ１０８を裏欠け歯値に設定しても追従カウンタ１０９はリセットされずに１サイクルガード値に張り付いたままで、点火・噴射用角度カウンタ１１０に対してリセット信号とアングルクロックを出さないため同期もとれず点火・噴射用角度カウンタ１１０は停止したままのため噴射・点火制御を開始するができない。
【００３７】
つまり、７２０°ＣＡ間に２箇所の欠け歯を持つクランク信号を使ったシステムにおいて、図２のチャートのようにクランクエッジ間を逓倍してカウント動作する追従カウンタ１０９とこの追従カウンタ１０９のカウントアップにより発生する角度クロック（アングルクロック）でカウントアップする点火・噴射用角度カウンタ１１０を初期化する位置が７２０°ＣＡの１サイクル間に１箇所しかない。初期化する位置を確定するためにはカム信号等の気筒判別信号のレベルを用いて、ソフト制御で表欠け歯と裏欠け歯を識別して表の時に初期化する。よって、裏欠け歯を検出しても、表欠け歯検出までの３６０°ＣＡ間は制御を開始できないためエンジン始動性が悪くなる。その上、初期化位置が欠け歯位置と異なる場合は欠け歯検出後、初期化位置まで制御開始ができない。即ち、初期化位置がクランク信号の欠け歯位置と異なる場合は、エンジン始動時や表と裏の欠け歯を誤判定した時においてクランク信号の欠け歯を検出後、初期化位置まで制御を開始できず、そのため始動性の悪化や正常動作への復帰の遅延を招いてしまう。
【００３８】
また、カム信号にノイズが乗り、表判定位置でのカム信号がハイレベルになると、裏欠け歯位置と誤判定してしまい、カウンタを初期化できない。
図８に、欠け歯の表裏判定を誤判定した時のタイムチャートを示す。
【００３９】
図８において、カム信号にノイズが乗り、本来、表欠け歯の気筒判別位置でカム信号がＨレベルになった時（図中のｔ４０のタイミング）、裏欠け歯判定をするため、ガード用カウンタ１０７を「０」にリセットしない（ガード用カウンタ１０７は表欠け歯位置でしかリセットしない）。ガード用カウンタ１０７が「０」にリセットされないため、ｔ４１のタイミングで基準カウンタ１０８も「０」にリセットされずにカウントアップし続ける。基準カウンタ１０８のカウントアップに基づき追従カウンタ１０９はカウントアップしていき、追従カウンタ１０９は１サイクルガード値に到達するが基準カウンタ１０８が「０」でないため到達後は１サイクルガード値に張り付き、アングルクロックの生成が停止し、点火・噴射用角度カウンタ１１０に対するリセット信号が出ない。アングルクロックの生成が停止し、リセット信号が来ないため、点火・噴射用角度カウンタ１１０も１サイクルガード値と同じ値で停止する。このように、点火・噴射用角度カウンタ１１０が１サイクルガード値に張り付くため、角度値一致が起きなくなり、点火・噴射出力が停止する。ガード用カウンタ１０７を「０」にリセットするのは、次の表欠け歯を検出した時なので、７２０°ＣＡ間点火・噴射が抜けてしまう。
【００４０】
つまり、裏欠け歯で例えば、カム信号にノイズが乗り、表裏判定時に本来表欠け歯のタイミングにも関わらず、裏欠け歯位置と誤判定してしまう場合があり、誤判定するとアングルクロックがリセットされず、図８のチャートに示すように、次の表欠け歯までの７２０°ＣＡ間は１サイクル７２０°ＣＡの上限値に追従カウンタ１０９が張付いてしまい、点火・噴射がその間出力されずに抜けてしまう。
【００４１】
また、図９のように、裏欠け歯検出で裏欠け歯位置の値を設定するようにした場合でも、表欠け歯位置で裏欠け歯と誤判定した場合には、図中のｔ５０のタイミングにてガード用カウンタ１０７を「０」ではなく中間値（３６０°ＣＡ相当の値）に設定するので、ｔ５１のタイミングで基準カウンタ１０８が「０」にはならず、追従カウンタ１０９のリセットがされないため、同様に７２０°ＣＡ間点火・噴射が抜けてしまう。
【００４２】
そこで、本実施形態では、カウント値設定手段としてのＣＰＵ１１がエンジン始動時の初回のクランク信号の裏の欠け歯を検出した時に、追従カウンタ１０９と点火・噴射用角度カウンタ１１０の値を裏の欠け歯に対応する値に設定する。また、クランク信号の裏の欠け歯を検出した時に、前回検出した欠け歯が表の欠け歯であったかを判定し、表の欠け歯でないと判定した場合は、追従カウンタ１０９と点火・噴射用角度カウンタ１１０の値を裏の欠け歯に対応する値に設定するようにしている。これにより、エンジン始動時に、直ちにエンジン制御を開始することができるとともに、表裏誤判定した時に３６０°ＣＡ後に正常に復帰できる。即ち、欠け歯検出して気筒判別したら、システムリセット位置まで待たずに、欠け歯位置で即アングルクロックを起動させることができるとともに、表裏誤判別した時にも次の欠け歯検出時に復帰できるようになる。
【００４３】
さらに、初期化位置がクランク信号の欠け歯位置と異なる場合において、ＣＰＵ１１がクランク信号の表・裏の欠け歯を検出した時に、追従カウンタ１０９と点火・噴射用角度カウンタ１１０の値を当該欠け歯（位置）に対応する値に設定する。これにより、エンジン始動の時にクランク信号の欠け歯を検出した時に直ちにエンジン制御を開始したり、表裏誤判定した場合にクランク信号の欠け歯を検出した時に直ちに正常に復帰できる。
【００４４】
また、追従カウンタ１０９と点火・噴射用角度カウンタ１１０に値を書き込む際の書き込み時間差（ズレ）により追従カウンタ１０９と点火・噴射用角度カウンタ１１０がハード的にカウントアップすることを避けるために、書き込む前に一旦、追従カウンタ１０９の作動を停止させ両方のカウンタ１０９，１１０を停止させてから追従カウンタ１０９と点火・噴射用角度カウンタ１１０に値を書き込み、最後に追従カウンタ１０９を再起動させる。つまり、エンジン制御用カウンタが、追従カウンタ１０９（第１のカウンタ）と、このカウンタ１０９のカウント動作に連動してカウント動作する点火・噴射用角度カウンタ１１０（第２のカウンタ）からなる場合、ＣＰＵ１１は、追従カウンタ１０９の作動を停止させてから両カウンタ１０９，１１０の値を設定した後、追従カウンタ１０９の作動を再開させる。これにより、両カウンタ１０９，１１０の値を設定する際の時間のズレに伴う設定ズレを防止することができる。
【００４５】
以上のようにすることで、ハード的なリセット位置以外でも基準位置が確定さえすれば、自由に追従カウンタ１０９と点火・噴射用角度カウンタ１１０の初期化、起動が可能となる。
【００４６】
図１０に、気筒判別処理のフローチャートを示す。図１０の処理は欠け歯の検出により開始される（欠け歯検出割込みが行われる）。
図１１，１２には、図１０の処理を説明するためのタイムチャートを示す。図１１は、エンジン始動時に裏欠け歯位置からアングルクロックの送出を開始する場合のタイムチャートであり、図１２は、欠け歯の表裏判定を誤判定した時のタイムチャートである。以下の説明では、逓倍数ｎを「３２」とする。
【００４７】
まず、図１１を主に用いて図１０を説明する。図１１において始動時はクロックが出ないように追従カウンタ１０９を１サイクルガード値に設定している。
図１１のｔ６０のタイミングでの欠け歯検出割込みにおいて、ＣＰＵ１１は図１０のステップ１００１で欠け歯が表位置か裏位置かを判別する。表欠け歯であった場合には、ＣＰＵ１１はステップ１００２でガード用カウンタ１０７、基準カウンタ１０８にそれぞれ表欠け歯値である「０」、「１１９×３２（逓倍数）」を設定する。
【００４８】
ステップ１００１で裏判定した場合（図１１の場合）には、ＣＰＵ１１は、ステップ１００３でガード用カウンタ１０７、基準カウンタ１０８にそれぞれ裏欠け歯値である「６０」、「５９×３２（逓倍数）」を設定する。さらに、ＣＰＵ１１はステップ１００４でエンジン始動時の初回の欠け歯検出であるか否か判定する。あるいは、同じステップ１００４で追従カウンタ１０９の値が所定値となっておらず異常が発生していないか判定する。つまり、追従カウンタ１０９の値が裏欠け歯値以外の値となっている場合は異常と判定する。ステップ１００４においてエンジン始動時の初回の欠け歯検出、あるいは、追従カウンタ１０９のカウント値異常であると、ＣＰＵ１１は、ステップ１００５で一旦、追従カウンタ１０９の作動を停止して追従カウンタ１０９のカウントアップを停止させる。次に、ＣＰＵ１１は、ステップ１００６で点火・噴射用角度カウンタ１１０を裏欠け歯値（５９×３２−１）に設定するとともに追従カウンタ１０９を裏欠け歯値（５９×３２）に設定して同期をとってから、最後に、ステップ１００７で追従カウンタ１０９を再起動してカウントアップを再開させる。
【００４９】
このように、図７を用いて説明したようにエンジン始動時に裏欠け歯では追従カウンタ１０９がリセットされないとリセット信号は出ないが、初回の裏の欠け歯検出と判定したら一旦、追従カウンタ１０９を停止して追従カウンタ１０９と点火・噴射用角度カウンタ１１０を裏欠け歯値に設定して同期をとり、最後に追従カウンタ１０９を再起動することにより、図１１に示すように追従カウンタ１０９と点火・噴射用角度カウンタ１１０が同期した状態でアングルクロックの生成を開始させることができる。
【００５０】
一方、図１２のｔ７０のタイミングにてカム信号にノイズが乗りクランク信号の表の欠け歯を裏の欠け歯と誤判定した場合において、図１０のステップ１００４で追従カウンタ異常と判定されてステップ１００５〜１００７の処理を行った後、次の裏の欠け歯を検出した時に図１０の処理として、図１２のｔ７５のタイミングにて図１０のステップ１００４において追従カウンタ１０９のカウント値が異常であるので、ステップ１００５で追従カウンタ１０９の作動を停止させステップ１００６で追従カウンタ１０９と点火・噴射用角度カウンタ１１０を裏欠け歯値（５９×３２、５９×３２−１）に設定しステップ１００７で追従カウンタ１０９を再起動させる。
【００５１】
このように、図８を用いて説明したように表欠け歯を裏欠け歯と誤検出した時には点火・噴射用角度カウンタ１１０が１サイクルガード値に張り付き点火・噴射出力が停止してしまい、ガード用カウンタ１０７を「０」にリセットする次の表欠け歯検出の７２０°ＣＡ間点火・噴射が抜けてしまうのに対し、図１２の場合には、ｔ７０での誤検出に対しｔ７５のタイミング、即ち、追従カウンタ１０９が３６０°ＣＡ後に復帰することができる。
【００５２】
さらに、カウンタの初期化位置がクランク信号の欠け歯位置とは異なるシステムの場合のフローチャートを図１３に示す。
この場合のシステムは、図１４に示すように、システム初期化位置がクランク信号の表欠け歯から６０°ＣＡの位置とする。
【００５３】
図１４のｔ８０のタイミングでの欠け歯検出割込みにおいて、ＣＰＵ１１は、ステップ１１０１で欠け歯が表位置か裏位置かを判別する。表欠け歯であった場合は、ＣＰＵ１１は、ステップ１１０２でガード用カウンタ１０７と基準カウンタ１０８にそれぞれ表欠け歯値として「１１１」、「１１０×３２（逓倍数）」を設定する。さらに、ＣＰＵ１１は、ステップ１１０３でエンジン始動時の初回の欠け歯判定であるか、もしくは、追従カウンタ１０９の値が表欠け歯値でないか（異常か否か）を判定する。ステップ１１０３で初回の欠け歯判定あるいは追従カウンタ１０９の値が異常の時には、ＣＰＵ１１は、ステップ１１０４で一旦、追従カウンタ１０９の作動を停止して追従カウンタ１０９のカウントアップを停止させる。
【００５４】
さらに、ＣＰＵ１１は、ステップ１１０５で点火・噴射用角度カウンタ１１０を表欠け歯値（１１０×３２−１）に設定するとともに追従カウンタ１０９を表欠け歯値（１１０×３２）に設定して同期をとってから、最後にステップ１１１０で追従カウンタ１０９を再起動してカウントアップを再開する。
【００５５】
一方、ステップ１１０１で裏判定した場合は、ＣＰＵ１１は、ステップ１１０６で裏欠け歯値（ガード用カウンタ＝５１、基準カウンタ＝５０×３２）を設定し、ステップ１１０７で表の場合と同様に初回欠け歯検出あるいは追従カウンタ１０９が裏欠け歯値でなく異常か否か判定する。
【００５６】
さらに、ＣＰＵ１１は、初回欠け歯検出あるいは追従カウンタ１０９の値が異常であると、ステップ１１０８で一旦、追従カウンタ１０９の作動を停止して追従カウンタ１０９のカウントアップを停止させる。次に、ＣＰＵ１１は、ステップ１１０９で点火・噴射用角度カウンタ１１０を裏欠け歯値（５０×３２−１）に設定するとともに追従カウンタ１０９を裏欠け歯値（５０×３２）に設定して同期をとってから、最後にステップ１１１０で追従カウンタ１０９を再起動してカウントアップを再開する。
【００５７】
こうすることで、システム初期化位置が欠け歯位置と異なる場合でも表あるいは裏の欠け歯検出位置から制御を開始することができる。
以上のごとく、角度カウンタ１１０と点火・噴射時期等との角度一致でハード出力しているシステムを７２０°ＣＡ間に２箇所発生する欠け歯を持つクランク信号を使い、カム信号等の気筒判別信号で表裏を判定するシステムにおいて、エンジン始動時の初回欠け歯検出時もしくは表欠け歯を裏欠け歯と誤判定した時だけ、カウンタ１０９，１１０の値を設定することにより、欠け歯を検出し、気筒判別した位置から任意の値にアングルクロックが正しく生成され、即制御を開始でき、また表裏誤判定した時も、３６０°ＣＡ後に正常に復帰できる。さらに、カウンタ１０９，１１０の初期化位置がクランク信号の欠け歯とは異なる位置となっている場合の早期復帰ができる。
【００５８】
なお、これまでの説明では、クランク信号の基準位置部は、パルス列の途中においてパルスを抜いた欠け歯であったが、これに限ることなく、他の構造（パルス列の途中にパルスを挿入する等の構造）にて所定角度間隔毎のパルス列の途中においてパルス間隔が不等な基準位置部を構成してもよい。
【００５９】
また、判別信号としてカム信号（気筒判別信号）を用いたが、表と裏の基準位置部で異なる波形の信号であればこれに限ることはない。
【図面の簡単な説明】
【図１】実施の形態におけるエンジン制御ＥＣＵの構成図。
【図２】エンジン１サイクル分（７２０°ＣＡ）のタイムチャート。
【図３】ハードクランクの構成図。
【図４】ハードクランクによるアングルクロックの生成を説明するためのタイムチャート。
【図５】表欠け歯時の角度カウンタのリセット処理を説明するためのタイムチャート。
【図６】エンジン始動時のハードクランクの処理を説明するためのタイムチャート。
【図７】エンジン始動時のハードクランクの処理を説明するためのタイムチャート。
【図８】カム信号にノイズが乗って誤判定した時の角度カウンタ処理を説明するためのタイムチャート。
【図９】カム信号にノイズが乗って誤判定した時の角度カウンタ処理を説明するためのタイムチャート。
【図１０】欠け歯検出割り込みのフローチャート。
【図１１】エンジン始動時の処理を説明するためのタイムチャート。
【図１２】カム信号にノイズが乗って誤判定した時の処理を説明するためのタイムチャート。
【図１３】欠け歯検出割り込みのフローチャート。
【図１４】エンジン始動時の処理を説明するためのタイムチャート。
【符号の説明】
１…エンジン制御ＥＣＵ、１０…マイコン、１１…ＣＰＵ、１６…タイマモジュール、１００…ハードクランク、１０３…エッジ時間計測カウンタ、１０４…逓倍レジスタ、１０５…逓倍カウンタ、１０７…ガード用カウンタ、１０８…基準レジスタ、１０９…追従カウンタ、１１０…点火・噴射用角度カウンタ。
【図１】
0003539379.tif 000002
【図２】
0003539379.tif 000003
【図３】
0003539379.tif 000004
【図４】
0003539379.tif 000005
【図５】
0003539379.tif 000006
【図６】
0003539379.tif 000007
【図７】
0003539379.tif 000008
【図８】
0003539379.tif 000009
【図９】
0003539379.tif 000010
【図１０】
0003539379.tif 000011
【図１１】
0003539379.tif 000012
【図１２】
0003539379.tif 000013
【図１３】
0003539379.tif 000014
【図１４】
0003539379.tif 000015