(57)【特許請求の範囲】
【請求項１】
エンジンのクランク軸の回転に対応する所定角度間隔毎のパルス列よりなるクランク信号を入力し、クランクエッジによりパルス間隔を計測するパルス間隔計測手段と、
前記計測した今回のパルス間隔を基に、次のクランクエッジまでに整数倍の周波数の逓倍信号を生成する逓倍信号生成手段と、
前記逓倍信号の生成の都度計数される角度タイマとを備え、各種アクチュエータの制御時期と角度タイマの値とが一致した時に制御出力を行うようにしたエンジン制御装置であって、
エンジン始動時であるかどうかを判定する始動判定手段と、
エンジン始動時において要求される制御時期に最も近いクランクエッジを用い、そのクランクエッジ位置に基づき制御出力時期を決定する始動時出力制御手段と、
を備えたことを特徴とするエンジン制御装置。
【請求項２】
前記始動時出力制御手段は、要求の制御時期に最も近いクランクエッジ位置の角度タイマの値により制御出力を行う請求項１に記載のエンジン制御装置。
【請求項３】
請求項２に記載のエンジン制御装置において、前記始動時出力制御手段は、要求の制御時期に最も近いクランクエッジ位置の角度タイマの値に比較的小さな値を加算し、その和の角度タイマ値により制御出力を行うエンジン制御装置。
【請求項４】
前記始動時出力制御手段は、角度タイマを使わず、要求の制御時期に最も近いクランクエッジでの割り込み処理で制御出力を行う請求項１に記載のエンジン制御装置。
【請求項５】
エンジン始動当初の低回転状態では、要求の制御時期に最も近いクランクエッジに基づき始動時制御出力を行い、その後、回転数が上昇すると、要求の制御時期通りの角度タイマの値により通常制御出力を行う請求項１〜４の何れかに記載のエンジン制御装置。
【請求項６】
所定の制御周期毎に制御開始時期と制御終了時期とを各々制御するものであり、前記始動時出力制御手段は、制御開始から制御終了までの制御期間が要求値に近くなるよう、制御出力に用いるクランクエッジを選択する請求項１〜５の何れかに記載のエンジン制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジン制御装置に関するものである。
【０００２】
【従来の技術】
この種の従来技術として、点火・噴射等のクランク同期の処理はクランクエッジからのオフセット時間後に制御パルスを発生させる等のタイマ制御を行なうものがある。これに対し、近年における制御の処理負荷低減や精度向上の要求から角度同期制御を実施する技術が提案されている。
【０００３】
すなわち、この角度同期の制御手法では、等角度間隔毎のパルス列よりなるクランク信号を入力し、クランクエッジ間の時間を所定整数個に分割した逓倍信号を生成する。また、その逓倍信号から角度クロック（アングルクロック）を生成すると共に、角度クロックの都度カウントアップする角度タイマを生成する。そして、この角度タイマを用いて点火・噴射等の角度同期制御を実施する。このとき、要求の制御時期（角度位置）と角度タイマとの角度一致のタイミングにて点火・噴射等の制御出力が実施される。
【０００４】
また、エンジン始動時には、気筒判別信号としてのカム信号や欠歯等による基準位置検出にて気筒判別を実施し、その気筒判別完了後に点火や燃料噴射等の角度制御を起動するようにしている。
【０００５】
【発明が解決しようとする課題】
しかしながら、エンジン始動時は、低回転で且つ回転変動も比較的大きい。また、エンジン始動時の状態、例えば極低温時と常温時とでは回転数の上昇の仕方も大きく異なる。そのため、クランクエッジ間の時間もその都度異なる。かかる場合において、角度タイマの傾きを決定する逓倍信号は、直前のクランクエッジ間の時間を逓倍して生成されるので、回転変動が生じるとその影響から点火・噴射等の制御時期にズレが生じてしまう。
【０００６】
これを図１２で説明すると、（ａ）の減速状態では、要求点火時期に対して角度タイマ（図の角度カウンタ）の角度一致の時期が進角側にずれてしまい、出力誤差を生じる。また、（ｂ）の加速状態では、要求点火時期に対して角度タイマ（図の角度カウンタ）の角度一致の時期が遅角側にずれてしまい、やはり出力誤差を生じる。この問題はエンジン始動時において点火出力の都度生じ、しかも毎回その程度が相違する。
【０００７】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、エンジン始動時において安定した制御出力を実施することができるエンジン制御装置を提供することである。
【０００８】
【課題を解決するための手段】
本発明のエンジン制御装置では前提として、所定角度間隔毎にクランク信号が入力されてクランクエッジによりパルス間隔が計測され、該計測された今回のパルス間隔を基に、次のクランクエッジまでに整数倍の周波数の逓倍信号が生成される。また、前記逓倍信号の生成の都度、角度タイマが計数される。そして、各種アクチュエータの制御時期と角度タイマの値とが一致した時に制御出力が行われるようになっている。上記エンジン制御装置では、角度タイマの傾きを決定する逓倍信号は、直前のクランクエッジ間（例えば、立ち下がりエッジ間）の時間を逓倍して生成されるので、エンジンの回転変動が生じるエンジン始動時には、要求される制御時期と角度タイマの値とがずれるという問題が生じる。
【０００９】
これに対し請求項１の発明では、始動判定手段により、エンジン始動時であるかどうかが判定される。また、始動時出力制御手段により、エンジン始動時において要求される制御時期に最も近いクランクエッジを用い、そのクランクエッジ位置に基づき制御出力時期が決定される。この場合、制御出力時期として一つのクランクエッジ位置が決定されると、回転変動に関係なく狙いのクランクエッジ位置（制御出力時期）で確実に制御出力が行われる。その結果、エンジン始動時において安定した制御出力を実施することができる。
【００１０】
請求項２に記載の発明では、前記始動時出力制御手段は、要求の制御時期に最も近いクランクエッジ位置の角度タイマの値により制御出力を行う。この場合、通常動作時と同様に角度タイマを用い、安定した制御出力を実施することができる。
【００１１】
上記請求項２の発明では、請求項３に記載したように、前記始動時出力制御手段は、要求の制御時期に最も近いクランクエッジ位置の角度タイマの値に比較的小さな値を加算し、その和の角度タイマ値により制御出力を行うと良い。すなわち、クランクエッジ直後の角度タイマの値で制御出力を実施する。要するに、クランクエッジ位置の角度タイマの値をそのまま用い制御出力を行う場合、加速時や減速時において、制御出力時期として設定した角度位置と実際の制御出力時期とが相違することが考えられる。図１３で説明すれば、（ａ）の減速時には制御出力時期がクランクエッジ位置から進角側にずれ、（ｂ）の加速時には制御出力時期がクランクエッジ位置から遅角側にずれてしまう。これに対し、クランクエッジ直後の角度タイマの値（図の太矢印の角度位置）で制御出力時期を設定すれば、減速や加速による制御出力時期のズレが解消される。
【００１２】
また、請求項４に記載の発明では、前記始動時出力制御手段は、角度タイマを使わず、要求の制御時期に最も近いクランクエッジでの割り込み処理で制御出力を行う。この場合にもやはり、クランクエッジ位置で安定した制御出力を実施することができる。
【００１３】
請求項５に記載の発明では、エンジン始動当初の低回転状態では、要求の制御時期に最も近いクランクエッジに基づき始動時制御出力を行い、その後、回転数が上昇すると、要求の制御時期通りの角度タイマの値により通常制御出力を行う。この場合、エンジン始動当初からその後の通常運転状態にかけて、始動時制御出力による制御から通常制御出力による制御への切り替えが行われ、適正な制御が継続的に実施できる。
【００１４】
請求項６に記載の発明では、所定の制御周期毎に制御開始時期と制御終了時期とを各々制御するものであり、前記始動時出力制御手段は、制御開始から制御終了までの制御期間が要求値に近くなるよう、制御出力に用いるクランクエッジを選択する。この場合、制御出力時期を強制的にクランクエッジ位置としても、制御要求に対する制御誤差が最小限に抑えられる。
【００１５】
【発明の実施の形態】
（第１の実施の形態）
以下、この発明を具体化した第１の実施の形態を図面に従って説明する。本実施の形態においては自動車用多気筒ガソリンエンジンの制御装置に具体化している。図１には、本実施の形態におけるエンジン制御ＥＣＵ１の構成を示す。エンジンは５気筒４サイクルエンジンである。
【００１６】
エンジン制御ＥＣＵ１は、マイクロコンピュータ（以下、マイコンという）１０、電源回路２０、入出力回路３０及びＥＥＰＲＯＭ４０を備えている。電源回路２０はバッテリ２から電力の供給を受けて所定の電圧をＥＣＵ１内の各機器に供給する。また、マイコン１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、Ａ／Ｄ変換器１４、入出力インターフェイス（Ｉ／Ｏ）１５及びタイマモジュール１６を備えており、これらの各部材間はデータバスにて相互にデータのやり取りが行われる。入出力インターフェイス１５にはＥＥＰＲＯＭ４０が接続され、入出力インターフェイス１５を介してＥＥＰＲＯＭ４０とデータのやり取りが行われる。入出力回路３０はセンサ及びスイッチ等からの信号を入力すると共に、インジェクタ（燃料噴射弁）や点火装置に対し駆動信号を出力する。更に、入出力回路３０には通信ライン３が接続され、入出力回路３０を介して他のＥＣＵとデータのやり取りが行われる。マイコン１０のＣＰＵ１１は、センサ・スイッチ等からの信号（データ）及び通信ライン３からのデータを入出力回路３０と入出力インターフェイス１５を介して取り込むと共に、これらデータを基にして各種の演算を行い、入出力インターフェイス１５と入出力回路３０を介してインジェクタや点火装置等を駆動制御する。
【００１７】
ここで、エンジン制御ＥＣＵ１が取り込む信号として、クランクセンサからのクランク信号とカムセンサからのカム信号がある。クランク信号はタイマモジュール１６のハードクランク１００に入力される。また、カム信号は入出力回路３０を介してマイコン１０に取り込まれる。
【００１８】
図２には、エンジン１サイクル（７２０°ＣＡ）分のクランク信号とカム信号を示す。クランク信号は、エンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列よりなり、このパルス列の途中に基準位置部としての欠歯を有する。本実施の形態でのクランク信号は６０パルス毎に２パルス分抜ける欠歯の構成となっている（６０−２歯構造）。つまり、パルス列のパルス間隔が６°ＣＡであり、このパルス列の途中に欠歯を３６０°ＣＡ毎に有し、そのうちの一方が表欠歯であり、他方が裏欠歯である。
【００１９】
また、カム信号は、エンジンの吸気カム軸又は排気カム軸の回転に同期しており、気筒位置を特定するための気筒判別信号である。カム信号はその立ち下がりエッジが１４４°ＣＡ間隔である。カム信号は、立ち上がりから立ち下がりまでの角度間隔がエンジン気筒毎に相違するよう構成されており、カム信号レベルのＨ期間又はＬ期間でのクランク信号数を数えることで、その都度の気筒が判別できるようになっている。
【００２０】
更に、カム信号はクランク信号の表欠歯直後の立ち下がりエッジ（ｔ１のタイミング）では信号レベルがＬ（ロー）であり、裏欠歯直後の立ち下がりエッジ（ｔ２のタイミング）では信号レベルがＨ（ハイ）である。つまり、欠歯位置でカム信号レベルがＬならば表欠歯であると判定でき、Ｈならば裏欠歯であると判定できる。カム信号レベルを用いてクランク信号の表欠歯か裏欠歯かが判定され、表欠歯であると判定された際、システム初期化位置である＃４気筒のＢＴＤＣ６°ＣＡの位置で角度カウンタが初期化される。
【００２１】
一方、図１のタイマモジュール１６に備えられたハードクランク１００は、クランク信号をハード的に処理する機能部である。このハードクランク１００により、図２の点火・噴射用角度カウンタの生成（クランクエッジ間時間を分割した角度信号の生成）をハード的に行うことができる。
【００２２】
ここで、ハードクランク１００の構成並びにその動作について図３、図４を用いて詳細に説明する。図３は、ハードクランク１００の構成を示しており、同図において、ハードクランク１００は、プリスケーラ１０１、分周回路１０２、エッジ時間計測カウンタ１０３、逓倍レジスタ（エッジ時間記憶レジスタ）１０４、逓倍カウンタ１０５、イベントカウンタ１０６、ガード用カウンタ１０７、基準カウンタ１０８、追従カウンタ（角度カウンタ）１０９及び点火・噴射用角度カウンタ１１０を備えている。プリスケーラ１０１からの信号Ｐφは、分周回路１０２を介してエッジ時間計測カウンタ１０３に送られると共に、追従カウンタ１０９に送られる。また、クランク信号は、エッジ時間計測カウンタ１０３とイベントカウンタ１０６とガード用カウンタ１０７とに送られる。
【００２３】
また、図４は、点火・噴射用角度カウンタ（角度タイマ）生成のタイムチャートを示している。図４には、入力するクランク信号、エッジ時間計測カウンタ１０３のカウント値、逓倍レジスタ１０４の記憶値、逓倍カウンタ１０５のカウント値、逓倍カウンタ１０５の出力信号（逓倍クロック）、ガード用カウンタ１０７の値のｎ倍値、基準カウンタ１０８のカウント値、追従カウンタ１０９のカウント値、点火・噴射用角度カウンタ１１０のカウント値を示す。
【００２４】
図４において、クランク信号は６°ＣＡ毎に入力され、パルス間隔計測手段としてのエッジ時間計測カウンタ１０３は、クランク信号を入力してクランクエッジ間の時間（パルス間隔）を計測する。すなわち、エッジ時間計測カウンタ１０３は時間同期でカウントアップするカウンタであって、クランクエッジ間（クランク信号の立ち下がりエッジ間）の時間を計測する。計測した値は１／ｎ倍に逓倍され、エッジ入力時に逓倍レジスタ１０４に転送される。転送されたデータはダウンカウンタである逓倍カウンタ１０５の初期値となる。逓倍値（ｎ値）として、例えば「３２」を挙げることができる。但し便宜上、図４にはｎ＝４として示す。
【００２５】
また、逓倍信号生成手段としての逓倍カウンタ１０５は、エッジ時間計測カウンタ１０３により計測されたクランクエッジ間時間を使って、クランクエッジ時間を１／ｎした逓倍クロック（逓倍信号）を生成する。すなわち、逓倍カウンタ１０５は、図４のように時間同期でダウンカウントされ、アンダーフローすると逓倍クロックを発生すると共にカウント値を初期値に戻すといった動作を繰り返す。次のクランクエッジ（クランク信号の立ち下がりエッジ）が入力されると、逓倍レジスタ１０４の値及び逓倍カウンタ１０５の初期値が最新値に更新される。このように、逓倍カウンタ１０５は、エッジ時間計測カウンタ１０３による今回のパルス間隔を基にして次のパルスまでに整数倍の周波数の逓倍クロックを生成する。
【００２６】
また、基準カウンタ１０８は、逓倍クロックによりカウントアップ動作する。追従カウンタ１０９は、時間同期クロックによりカウントアップする（内部クロックでカウント動作する）。ガード用カウンタ１０７は、クランク信号の立ち下がりエッジ入力毎にカウントアップするカウンタであって、クランクエッジ入力時に同時にカウントアップ前の値のｎ倍（逓倍）の値を基準カウンタ１０８に転送する。
【００２７】
基準カウンタ１０８のカウント値は、クランクエッジ入力時にガード用カウンタ１０７から転送された値（カウント値のｎ倍値）を上回ることはできない。また、追従カウンタ１０９は、基準カウンタ１０８のカウント値より小さい時のみカウントアップする。この追従カウンタ１０９のカウントアップに同期してアングルクロック（角度信号）が生成される。このように、３つのカウンタ１０７，１０８，１０９によりアングルクロックが生成される。
【００２８】
なお本実施の形態では、内部クロック（プリスケーラからの信号Ｐφ）を２０ＭＨｚとしており、追従カウンタ１０９は他のカウンタと比べ高速で動作可能である。
【００２９】
図４において、減速時には、基準カウンタ１０８と追従カウンタ１０９のカウント動作として、クランクエッジの入力より先に基準カウンタ１０８の値がガード用カウンタ１０７の値のｎ倍値に達してしまうため、追従カウンタ１０９のカウントアップが禁止される。このようにしてガード用カウンタ１０７により基準カウンタ１０８と追従カウンタ１０９のカウントアップ動作が逓倍数で停止する。その結果、減速時には追従カウンタ１０９のカウント動作が停止して、一定値以上のアングルクロックの発生を防止する。
【００３０】
角度タイマとしての点火・噴射用角度カウンタ１１０は、追従カウンタ１０９からのアングルクロックを入力してカウントアップする。この点火・噴射用角度カウンタ１１０のカウント値に基づき、コンペアレジスタを用いて点火・噴射制御がクランク角同期にて行われる。つまり、点火・噴射用角度カウンタ１１０により点火・噴射等の制御をクランク角同期でハード制御することができる。このように、所定の角度間隔で逓倍信号（逓倍クロック）を生成してエンジン回転と同期をとるシステムとすることで、角度から時間への変換のための演算が不要となり、処理負荷の低減及び精度向上（ｎ＝３２ならばＬＳＢ＝０．１８７５°ＣＡ）を図ることができることとなる。
【００３１】
また、基準カウンタ１０８にはクランクエッジ入力時にガード用カウンタ１０７のｎ倍（逓倍）の値が転送（ロード）されるが、１サイクル７２０°ＣＡ周期のカウンタにすべく、リセットしたいクランクエッジの１つ前のクランクエッジでガード用カウンタ１０７が「０」にリセットされる。
【００３２】
図３のイベントカウンタ１０６は、クランク信号のパルスでの立ち下がりエッジでカウントアップすると共に同エッジ毎に角度周期割り込み信号を出力する。ＣＰＵ１１はイベントカウンタ１０６のカウント値（エッジ入力数）からクランク信号の欠歯位置を検出する。なお、イベントカウンタ１０６のカウント値はエンジン１サイクル（７２０°ＣＡ）で初期化される。
【００３３】
図５は、クランク信号の表欠歯位置でのタイムチャートを示す。図５において、ｔ１０のタイミングでは、欠歯直後のパルスの立ち下がりエッジ（クランクエッジ）でカム信号のレベルがＬレベルであり、このことから表欠歯であると判定すると、ＣＰＵ１１はガード用カウンタ１０７を「０」にリセットする。すると、基準カウンタ１０８は、システムリセットしたい次のクランクエッジ（図中のｔ１１のタイミング）でガード用カウンタ１０７の値「０」をロードし、この状態で追従カウンタ１０９のカウント値が１サイクルガード値に到達していたら（図２のｔ５のタイミング）、追従カウンタ１０９がハード的に「０」にリセットされる。この追従カウンタ１０９が「０」にリセットされると、点火・噴射用角度カウンタ１１０にリセット信号を送る。
【００３４】
これを、図２で説明する。クランク信号の欠歯直後の立ち下がりエッジ（ｔ１，ｔ２のタイミング）においてカム信号のレベルを用いてクランク信号の表欠歯、裏欠歯をソフトで判定し、カム信号レベルがＬであり表欠歯判定することにより、システム初期化位置である＃４気筒のＢＴＤＣ６°ＣＡの位置（ｔ５のタイミング）でハード的に追従カウンタ１０９がリセットされると共に、リセット信号の送出にて点火・噴射用角度カウンタ１１０も同時に初期化される。これにより、点火・噴射用角度カウンタ１１０が正常な角度位置で動作を開始し、ハード起動の角度周期割り込み等が適正に実施される。
【００３５】
次に、点火・噴射用角度カウンタ１１０による点火出力動作を、図６のタイムチャートを用いて説明する。
先ず、図６のｔ２１で示す所定の３６°ＣＡ周期割り込みでは、通電開始時期と点火時期と通電ガード値とがセットされる。詳しくは、点火出力を実施したい時期より所定角度前の３６°ＣＡ周期の割り込みで、ＣＰＵ１１により演算した通電開始時期と点火時期との７２０°ＣＡ絶対角度が通電開始時期設定レジスタと点火時期設定レジスタとにそれぞれ設定され、更に、ダウンカウンタの初期値として通電ガード値が設定される。なお、７２０°ＣＡ絶対角度とは、システム初期化位置（＃４気筒のＢＴＤＣ６°ＣＡ）を基準とする角度位置のことである。
【００３６】
そして、点火・噴射用角度カウンタ１１０（角度タイマ）と通電開始時期設定レジスタの値とが一致するｔ２２のタイミングでは、ダウンカウンタがスタートし、点火出力ポートがオンして点火コイルの通電が開始される。
【００３７】
その後、ｔ２３のタイミングでは、点火・噴射用角度カウンタ１１０（角度タイマ）が点火時期設定レジスタの値と一致し、ダウンカウンタが「０」にリセットされ、点火出力ポートがオフして点火コイルの通電が遮断される。これにより、点火プラグに点火火花が発生する。なお、点火時期が通電ガード値より大きく設定された場合には、ダウンカウンタが「０」となることにより点火出力がオフするようになっている。
【００３８】
ところで、エンジンの始動時には、エンジン回転数が低回転領域で大きく変動する。よって、クランク信号の入力間隔（エッジ間隔）が広がったり、狭くなったりする。本実施の形態では、既述の通りクランクエッジ間の時間を基に次のクランクエッジ間の逓倍クロックを出力するため、点火・噴射用角度カウンタ１１０（角度タイマ）による制御出力の角度位置にズレが生じることが考えられる。その詳細を図１２を用いて説明する。図１２では、エンジン回転速度が降下する減速状態を（ａ）に、エンジン回転速度が上昇する加速状態を（ｂ）に示す。
【００３９】
図１２（ａ）に示す減速状態では、ｔ３２〜ｔ３３間の点火・噴射用角度カウンタ１１０の傾きはｔ３１〜ｔ３２間のエッジ間時間により決定され、二点鎖線で示す本来の傾きよりも大きくなる。そのため、角度カウンタ１１０の角度一致による点火出力は、要求点火時期（７２０°ＣＡ絶対角度）により設定した図のＴＡよりも進角側にずれ、出力誤差が生じる。
【００４０】
また逆に、図１２（ｂ）に示す加速状態では、ｔ４２〜ｔ４３間の点火・噴射用角度カウンタ１１０の傾きはｔ４１〜ｔ４２間のエッジ間時間により決定され、二点鎖線で示す本来の傾きよりも小さくなる。そのため、角度カウンタ１１０の角度一致による点火出力は、要求点火時期（７２０°ＣＡ絶対角度）により設定した図のＴＢよりも遅角側にずれ、やはり出力誤差が生じる。
【００４１】
そこで本実施の形態では、エンジン始動時の回転変動による悪影響を抑制すべく、エンジン始動時において要求の制御時期（角度位置）に最も近いクランクエッジを用い、そのクランクエッジ位置の点火・噴射用角度カウンタ１１０（角度タイマ）の値により制御出力を行うこととする。以下、その概要を図８を参照して説明する。図８は、エンジン始動時における点火出力の設定手順を示すタイムチャートである。
【００４２】
図８において、要求点火時期はＴＤＣからの相対角度を示す目標の点火時期であり、その要求点火時期が７２０°ＣＡ間の絶対角度に変換される（図の丸数字１）。次に、各クランクエッジの７２０°ＣＡ絶対角度に基づいて要求点火時期（変換後の７２０°ＣＡ絶対角度）に最も近いクランクエッジが選択され、そのクランクエッジ直後の絶対角度が始動時の点火時期（通電終了時期）として設定される（図の丸数字２）。例えば、クランクエッジ位置の角度カウンタ１１０の値に＋１した値が通電終了時期となる。因みに、各クランクエッジ直後の位置（角度カウンタ＋１の位置）の７２０°ＣＡ絶対角度の比較により通電終了時期を決定することも可能である。
【００４３】
ここで、クランクエッジでの角度カウンタ１１０の値で通電終了時期を設定することも可能であるが、制御精度を高めるにはクランクエッジ直後の角度カウンタ１１０の値で設定するのが望ましい。通電終了時期をクランクエッジ位置で設定する場合の不都合を図１３で説明する。つまり、図１３（ａ）の減速状態では、制御出力時期がクランクエッジ位置から進角側にずれ、図１３（ｂ）の加速状態では、制御出力時期がクランクエッジ位置から遅角側にずれてしまう。これに対し、クランクエッジ直後の角度カウンタ１１０の値（図の太矢印の角度位置）で通電終了時期を設定すれば、減速時や加速時にかかわらず進角側又は遅角側への制御出力時期のズレが解消される。
【００４４】
また、図８において、要求点火時期と要求通電時間とに基づいて通電開始時期が算出され、その通電開始時期が７２０°ＣＡ絶対角度に変換される（図の丸数字３）。次に、通電開始時期（変換後の７２０°ＣＡ絶対角度）に最も近いクランクエッジ直後の絶対角度が始動時の通電開始時期として設定される（図の丸数字４）。例えば、クランクエッジ位置の角度カウンタ１１０の値に＋１した値が通電開始時期となる。要求通電時間としては、基準角度時間（例えば１４４°ＣＡ時間）を使えば良いが、始動直後は回転変動が大きいため角度固定通電としても良い。
【００４５】
なお、通電時間を要求値に近づけるべく、要求点火時期と最寄りのクランクエッジ直後の角度との差分に応じて通電開始時期を修正し、その修正後の通電開始時期により最寄りのクランクエッジ直後の絶対角度を設定するようにしても良い。この場合、制御要求に対する誤差が最小限に抑えられる。
【００４６】
図７は、上記図８の点火出力動作を実現するための点火出力設定処理を示すフローチャートであり、この処理は、例えば３６°ＣＡ毎の割込み処理としてＣＰＵ１１により実施される。
【００４７】
図７において、先ずステップ１０１では、各気筒の点火設定のための角度時期であるか否かを判別する。点火設定時期であればステップ１０２に進み、その都度の要求点火時期（ＴＤＣからの点火時期相対角度）に基づき通電終了時期の７２０°ＣＡ絶対角度を算出する。なお、要求点火時期は、周知の通りその時々のエンジン運転状態に基づき算出される。次に、ステップ１０３では、要求点火時期と要求通電時間とに基づき通電開始時期の７２０°ＣＡ絶対角度を算出する。
【００４８】
その後、ステップ１０４では、エンジンの始動時であるかどうかを判別する。具体的には、エンジン回転数が所定の低回転域（例えば４００ｒｐｍ以下）にあれば、エンジン始動時であると判別する。そして、エンジン始動時でなければステップ１０７に進み、前記ステップ１０２，１０３で算出した通電開始時期と通電終了時期とを所定のレジスタに設定すると共に、予め規定した通電ガード値をダウンカウンタにセットし、本処理を一旦終了する。
【００４９】
また、エンジン始動時（ステップ１０４がＹＥＳの場合）には、ステップ１０５に進み、前記ステップ１０２で算出した通電終了時期（７２０°ＣＡ絶対角度）を最寄りのクランクエッジ直後の値に設定し直す。続くステップ１０６では、前記ステップ１０３で算出した通電開始時期（７２０°ＣＡ絶対角度）を最寄りのクランクエッジ直後の値に設定し直す。
【００５０】
その後、ステップ１０７では、前記ステップ１０５，１０６で設定し直した通電終了時期と通電開始時期とを所定のレジスタに設定すると共に、通電ガード値をダウンカウンタにセットし、本処理を一旦終了する。これにより、図８で説明した通り、クランクエッジ直後の角度カウンタ１１０の値により点火通電がＯＮ／ＯＦＦされる。
【００５１】
なお本実施の形態では、図７のステップ１０４が特許請求の範囲に記載した「始動判定手段」に相当し、図７のステップ１０５，１０６が同「始動時出力制御手段」に相当する。また、図７のステップ１０２，１０３による点火出力が「通常制御出力」に相当し、同ステップ１０５，１０６による点火出力が「始動時制御出力」に相当する。
【００５２】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
エンジン始動時において要求の点火時期や通電開始時期に最も近いクランクエッジ位置の点火・噴射用角度カウンタ１１０（角度タイマ）の値により制御出力を行うので、回転変動に伴う制御出力時期のばらつきが解消される。つまり、通電開始又は通電終了の制御出力時期（制御角度）として一つのクランクエッジ位置が決定されると、回転変動に関係なく狙いのクランクエッジ位置で確実に制御出力が行われる。その結果、エンジン始動時において安定した制御出力を実施することができる。
【００５３】
また特に、要求の制御時期に最も近いクランクエッジ直後の点火・噴射用角度カウンタ１１０の値で制御出力を実施するため、減速や加速による制御出力時期のズレが解消される。
【００５４】
エンジン始動時には、クランクエッジ位置の点火・噴射用角度カウンタ１１０の値により制御出力を行い、その後、回転数が上昇して始動状態を抜けると、要求の制御時期通りの点火・噴射用角度カウンタ１１０の値により制御出力を行うので、エンジン始動当初からその後の通常運転状態にかけて適正な制御が継続できる。
【００５５】
（第２の実施の形態）
次に、本発明における第２の実施の形態について、上述した第１の実施の形態との相違点を中心に説明する。本実施の形態では、エンジン始動時において点火・噴射用角度カウンタ１１０（角度タイマ）を使わず、要求の制御時期に最も近いクランクエッジでの割り込み処理で制御出力を実施する。以下、その概要を図１１を参照して説明する。図１１は、エンジン始動時における点火出力の設定手順を示すタイムチャートである。
【００５６】
図１１において、先ずは要求点火時期（ＴＤＣからの点火時期相対角度）に最も近いクランクエッジ（立ち下がりエッジ）が選択され、そのクランクエッジが始動時の点火時期（通電終了時期）として決定される。このとき、ＴＤＣに対する相対位置から通電終了出力に用いるクランクエッジが決まる。図１１では、ＴＤＣが５６番エッジ位置となるのに対し、通電終了時期が５４番エッジ位置となる。
【００５７】
次いで、要求通電時間（通電角度）から通電開始出力に用いるクランクエッジが決定される。例えば、通電角度を３０°ＣＡ固定とする場合、通電終了時期より３０°ＣＡ前のクランクエッジが始動時の通電開始時期として決定される。図１１では、通電開始時期が４９番エッジ位置となる。
【００５８】
上記の通り通電開始時期と通電終了時期（点火時期）とが決定されると、６°ＣＡ毎のクランクエッジ割込み毎に現在の位置と通電開始時期、通電終了時期とが一致したかが判定され、一致した時に点火通電がＯＮ／ＯＦＦされる。
【００５９】
図９は、上記図１１の点火出力動作を実現するための点火出力設定処理を示すフローチャートであり、この処理は、例えば６°ＣＡ毎のクランクエッジ割込み処理としてＣＰＵ１１により実施される。
【００６０】
先ずステップ２０１では、エンジン始動時であるかどうかを判別する。エンジン始動時であればステップ２０２に進み、始動開始後の気筒判別が完了し、角度位置が決定されたかどうかを判別する。そして、気筒判別が完了していることを条件に、ステップ２０３では、点火対象気筒がどの気筒であるかを算出し、続くステップ２０４では、要求点火時期に最も近いクランクエッジについてＴＤＣからの６°ＣＡ相対位置を算出する。その後、ステップ２０５では、ＴＤＣからの６°ＣＡ相対位置を７２０°ＣＡ間の絶対位置に変換する。このとき前述の図１１では、７２０°ＣＡ間の絶対位置として「５４番エッジ位置」が求められ、これで通電終了出力を行うためのクランクエッジが決定される。
【００６１】
また、ステップ２０６では、通電開始時期について７２０°ＣＡ間の絶対位置を算出する。このとき、前述の図１１では、７２０°ＣＡ間の絶対位置として「４９番エッジ位置」が求められ、これで通電開始出力を行うためのクランクエッジが決定される。
【００６２】
但し、上記ステップ２０３〜２０６の処理は、１点火に１回実施されれば良く、点火毎に通電開始時期及び通電終了時期（通電開始／終了のクランクエッジ位置）が算出されると、それ以降はステップ２０３〜２０６を読み飛ばせばよい。
【００６３】
その後、ステップ２０７では、今回割込み時のクランクエッジ位置が点火時期であるか否かを判別し、続くステップ２０８では、今回割込み時のクランクエッジ位置が通電開始時期であるか否かを判別する。ステップ２０８がＹＥＳであればステップ２０９に進み、点火気筒を対象に点火コイルの通電を開始（ＯＮ）する。また、ステップ２０７がＹＥＳであればステップ２１０に進み、点火気筒を対象に点火コイルの通電を遮断（ＯＦＦ）する。これにより、点火対象気筒で点火火花が発生する。
【００６４】
また、ステップ２０１で始動時を抜けて始動後になったら、ステップ２１１に進み、クランクエッジ毎割込みによる点火制御を禁止してハードクランク点火を許可する。続くステップ２１２では、クランク毎割込みの発生を禁止する。
【００６５】
図１０は、エンジン始動後におけるハードクランク点火の点火出力処理を示すフローチャートであり、この処理は、例えば３６°ＣＡ毎の割込み処理としてＣＰＵ１１により実施されるる。
【００６６】
図１０において、先ずステップ３０１では、エンジン始動時であるかどうか判別し、始動時を抜けて始動後であることを条件に後続のステップ３０２に進む。ステップ３０２では、各気筒の点火設定のための角度時期であるか否かを判別する。点火設定時期であればステップ３０３に進み、その都度の要求点火時期（ＴＤＣからの点火時期相対角度）に基づき通電終了時期の７２０°ＣＡ絶対角度を算出する。次に、ステップ３０４では、要求点火時期と要求通電時間とに基づき通電開始時期の７２０°ＣＡ絶対角度を算出する。
【００６７】
その後、ステップ３０５では、前記算出した通電開始時期と通電終了時期とを所定のレジスタに設定すると共に、通電ガード値をダウンカウンタにセットし、本処理を一旦終了する。この図１０の処理によれば、エンジン始動後はハードクランク（角度タイマ）により点火出力が行われる。
【００６８】
なお本実施の形態では、前記図９の処理が特許請求の範囲に記載した「始動判定手段」並びに「始動時出力制御手段」に相当する。また、図９の処理による点火出力が「始動時制御出力」に相当し、図１０の処理による点火出力が「通常制御出力」に相当する。
【００６９】
以上第２の実施の形態によれば、上述した第１の実施の形態と同様に、エンジン始動時において回転変動に伴う制御出力時期のばらつきが解消され、クランクエッジ位置で安定した制御出力を実施することができる。
【００７０】
なお本発明は、上記以外に次の形態にて具体化できる。
上記実施の形態では、点火出力について具体例を説明したが、勿論噴射出力についても同様の制御が実施できる。この場合、エンジン始動時において、噴射開始時期の出力と噴射終了時期の出力とをクランクエッジ、若しくはクランクエッジ直後に行えば良い。
【００７１】
上記実施の形態では、クランクロータの１周（３６０°ＣＡ）で６０個分のパルスを出力すべく６°ＣＡ間隔でパルス列を構成したが、他の構成であっても良い。例えば、クランクロータの１周（３６０°ＣＡ）で３６個分のパルスを出力すべく１０°ＣＡ間隔でパルス列を構成したり、クランクロータの１周（３６０°ＣＡ）で４８個分のパルスを出力すべく７．５°ＣＡ間隔でパルス列を構成したりしても良い。但し、本発明ではクランクエッジを用いて制御出力を行うため、そのエッジ間隔が狭い方が制御精度は向上する。
【図面の簡単な説明】
【図１】発明の実施の形態におけるエンジン制御システムの概要を示す構成図。
【図２】エンジン１サイクル（７２０°ＣＡ）分のタイムチャート。
【図３】ハードクランクの構成を示す図。
【図４】点火・噴射用角度カウンタの生成を説明するためのタイムチャート。
【図５】クランク信号の表欠歯位置でのタイムチャート。
【図６】角度カウンタとダウンカウンタと点火出力とを説明するためのタイムチャート。
【図７】点火出力設定処理を示すフローチャート。
【図８】エンジン始動時における点火出力の設定手順を示すタイムチャート。
【図９】クランクエッジ割込み処理を示すフローチャート。
【図１０】点火出力設定処理を示すフローチャート。
【図１１】エンジン始動時における点火出力の設定手順を示すタイムチャート。
【図１２】減速及び加速状態での制御出力時期のズレを示すタイムチャート。
【図１３】減速及び加速状態での制御出力時期のズレを示すタイムチャート。
【符号の説明】
１…ＥＣＵ、１０…マイコン、１１…ＣＰＵ、１６…タイマモジュール、１００…ハードクランク。
【図１】
0003791367.tif 000002
【図２】
0003791367.tif 000003
【図３】
0003791367.tif 000004
【図４】
0003791367.tif 000005
【図５】
0003791367.tif 000006
【図６】
0003791367.tif 000007
【図７】
0003791367.tif 000008
【図８】
0003791367.tif 000009
【図９】
0003791367.tif 000010
【図１０】
0003791367.tif 000011
【図１１】
0003791367.tif 000012
【図１２】
0003791367.tif 000013
【図１３】
0003791367.tif 000014