(57)【要約】【課題】エンジン状態検出のための検出対象の検出値を、回転変動の影響を受けずに、正確に検出可能なクランク軸回転同期の処理装置およびエンジン制御装置を提供する。【解決手段】エンジンのクランク軸の回転に応じて、クランク軸センサ１１から出力されるＮＥ信号を計測するとともに、ＮＥ信号のエッジで区分けされる特定期間の間、当該ＮＥ間隔Ｂより短い処理間隔（サンプリング周期）Ｃで特定処理としての燃焼圧測定処理を行い、燃焼圧測定処理により得られるデータ値としてのサンプリングデータを記憶する記憶処理を実行し、ＮＥ間隔Ｂの終了後、記憶したサンプリングデータから、所定のクランク角度としての単位クランク角度Ａに相当するデータ値を取り出す。【選択図】図４
2008232034.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランク軸の回転に応じて、クランク軸センサから出力される回転信号を計測するとともに、当該回転信号で区分けされる特定期間の間、前記特定期間の信号間隔より短い処理間隔で特定処理を行い、
前記特定処理により得られるデータ値を記憶する記憶処理を実行し、
前記信号間隔の終了後、記憶した前記データ値から、所定のクランク角度に相当するデータ値を取り出すことを特徴とするクランク軸回転同期の処理装置。
【請求項２】
前記特定期間は、
前記クランク軸センサから出力されるパルスエッジが発生する前記回転信号を検出し、
当該パルスエッジの発生が検出された始期から、次回発生する前記パルスエッジが検出される終期までの期間であることを特徴とする請求項１に記載のクランク軸回転同期の処理装置。
【請求項３】
前記信号間隔の終了後、当該確定された信号間隔に基づいて前記所定のクランク角度に相当する回転角度間隔を算出し、
当該回転角度間隔に基づいて、前記特定期間の間に記憶した前記データ値のうち、前記所定のクランク角度ごとにデータ値を繰り返し取り出すことを特徴とする請求項１または請求項２に記載のクランク軸回転同期の処理装置。
【請求項４】
前記特定処理は、前記処理間隔を、前記所定のクランク角度に相当する時間より短い時間間隔に設定していることを特徴とする請求項１から請求項３のいずれか一項に記載のクランク軸回転同期の処理装置。
【請求項５】
前記特定期間の間に記憶される前記データ値のサンプル数において、
前記処理間隔は、所定のサンプル数を得られるまでの第１期間の間の第１処理間隔と、前記所定のサンプル数が得られた後の第２期間の間の第２処理間隔とを有しており、
前記第１処理間隔より、前記第２処理間隔を長く設定していることを特徴とする請求項１から請求項４のいずれか一項に記載のクランク軸回転同期の処理装置。
【請求項６】
前記特定処理は、
前記エンジンの気筒の燃焼圧を検出する燃焼圧センサからのセンサ信号値、
前記エンジンのノッキングを検出するノッキングセンサからのセンサ信号値、
および前記エンジンの燃焼によって生じるイオン電流を検出するイオン電流センサからのセンサ信号値のうちの、少なくともいずれかを読み取る測定処理であることを特徴とする請求項１から請求項５のいずれか一項に記載のクランク軸回転同期の処理装置。
【請求項７】
請求項６に記載のクランク軸回転同期の処理装置を備え、
前記特定処理で読み取られた前記センサ信号値としてのデータ値から、所定のクランク角度に相当するデータ値を取り出し、
当該取り出されたデータ値を用いて前記エンジンを制御することを特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク軸回転同期の処理装置およびエンジン制御装置に関し、例えば車両におけるエンジン制御装置に用いられ、燃焼圧信号、ノッキング信号、燃焼によって生じるイオン電流などのエンジン状態を表す検出対象の検出値を、クランク軸回転同期して検出処理する処理装置に適用して好適なものである。
【背景技術】
【０００２】
従来、エンジン制御装置では、例えば内燃機関（以下、エンジン）の状態、例えば燃焼状態を検出のための燃焼圧センサを、エンジンに取り付け、そのセンサからの燃焼圧信号を取り込むことで、点火時期や空燃比の制御に用いるものが知られている（特許文献１参照）。
【０００３】
エンジン制御装置で制御されたエンジン状態を監視する監視装置、あるいはエンジン制御装置の開発時においては、各種センサからの信号を、エンジンのクランク軸の回転に同期させて、可能な限り詳細な検出値に基づいてエンジン状態を検出する必要がある。
【０００４】
特許文献２では、上記検出値をクランク軸の回転に同期させて計測する手段として、クランク軸の基準位置となる欠け歯を検出するパルス間隔検出手段とを備え、パルス間隔検出手段により計測したパルス間隔Ｔａに基づいて、次のパルスを逓倍数で周期区分することで、角度から時間への変換のための演算を不要にする技術が開示されている。
【０００５】
特許文献３では、上記逓倍数と、所定の遅延時間とを任意に設定する設定手段を備え、パルスの有効エッジが発生すると、所定の遅延時間を経過した後に、パルス間隔Ｔａによる上記周期に基づいて検出値を取り込むために割り込み処理を行なう技術が開示されている。
【０００６】
上記パルス間隔Ｔａは、前回発生したクランク軸の有効エッジと、今回検出の有効エッジに基づいて算出された前回のパルス間隔であり、将来発生する有効エッジまでの次回のパルス間隔を、前回のパルス間隔Ｔａで予測するものである。
【特許文献１】特開平９−２７３４３７号公報
【特許文献２】特開２００１−２００７４７号公報
【特許文献３】特開２００５−３１５１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献２、３による従来技術では、前回のパルス間隔（所定のクランク角度間隔）Ｔａから、その間隔Ｔａより短い周期（単位クランク角度間隔）Ｔｂを算出し、単位クランク角度間隔Ｔｂでクランク角度を検出可能である。
【０００８】
しかしながら、特許文献３による従来技術であっても、単位クランク角度間隔Ｔｂを、前回のパルス間隔Ｔａに基づいて算出しているので、エンジンの回転速度（回転数）の変動の影響により、検出値を取り込むための指令角度となるクランク角度を正確に検出できないという問題がある。つまり、エンジン状態を検出する燃焼圧センサ等の検出対象の燃焼圧信号などの検出値を正しく検出できないおそれがあった。
【０００９】
本発明は、このような事情を考慮してなされたものであり、その目的は、エンジン状態検出のための検出対象の検出値を、回転変動の影響を受けずに、正確に検出可能なクランク軸回転同期の処理装置およびエンジン制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は上記目的を達成するために、以下の技術的手段を備える。
【００１１】
即ち、請求項１乃至６に記載の発明では、エンジンのクランク軸の回転に応じて、クランク軸センサから出力される回転信号を計測するとともに、当該回転信号で区分けされる特定期間の間、特定期間の信号間隔より短い処理間隔で特定処理を行い、特定処理により得られるデータ値を記憶する記憶処理を実行し、信号間隔の終了後、記憶したデータ値から、所定のクランク角度に相当するデータ値を取り出すことを特徴とする。
【００１２】
これによると、特定期間の信号間隔の終了後に記憶したデータ値を取り出す、即ちクランク軸センサからの回転信号で区分けされる特定期間の信号間隔の終了後に、特定期間の間に記憶したデータ値のうち、所定のクランク角度に相当するデータ値を取り出すので、エンジン回転変動によらず、所望の正確なクランク角度に相当するデータ値が得られる。
【００１３】
特に、上記回転信号で区分けされる特定期間は、請求項２に記載の発明の如く、クランク軸センサから出力されるパルスエッジが発生する回転信号を検出し、パルスエッジの発生が検出された始期から、次回発生するパルスエッジが検出される終期までの期間であることが好ましい。
【００１４】
これにより、特定処理によりデータを得た期間と、信号間隔の終了で決定される特定期間とを同期させられる。即ち、上記特定期間の間において、パルスエッジの発生が検出された始期に特定処理を開始し得られるデータ値を記憶すると共に、特定期間の信号間隔の終了した後に記憶したデータ値を取り出せる。
【００１５】
したがって、従来技術の如く、前回の特定期間の信号間隔を用いて、データを得る期間である信号間隔終了後に確定する特定期間を予測する必要はないので、特定処理により得たデータ値から、エンジン回転変動の影響を受けずに、正確なクランク角度に相当するデータ値を確実に取り出せる。
【００１６】
ここで、一般に、特定処理で得るデータ値としては、例えばエンジンの状態の検出対象として燃焼圧を検出する燃焼圧センサのセンサ信号値、ノッキングを検出するノッキングセンサのセンサ信号値などがある。エンジンの正常状態での燃焼圧のセンサ信号値を読み取る場合には、燃焼圧特性の一定のクランク角度を監視する方法、あるいは監視する一定のクランク角度を燃焼サイクルごとに変化させ、複数回の燃焼サイクルから燃焼圧特性の全体プロフィールを得る方法を用いることは可能である。
【００１７】
しかしながら、一時的な異常状態にある燃焼圧のセンサ信号値を読み取る場合や、ノッキングのセンサ信号値を読み取る場合においては、できるだけ少ない回数の燃焼サイクルから燃焼圧特性などの検査対象の全体プロフィールを得る必要がある。
【００１８】
これに対して請求項３に記載の発明の如く、信号間隔の終了後、当該確定された信号間隔に基づいて所定のクランク角度に相当する回転角度間隔を算出し、回転角度間隔に基づいて、特定期間の間に記憶したデータ値のうち、所定のクランク角度ごとにデータ値を繰り返し取り出すことが好ましい。
【００１９】
これにより、特定処理で得るデータ値から、データ値の全体プロフィールを所定のクランク角度の間隔精度で得ることが可能である。したがって、エンジン状態検出のための検出対象の検出値を、回転変動の影響を受けずに正確に検出するとともに、検査対象の検出値の全体プロフィールを１回の燃焼サイクルで得ることが可能である。
【００２０】
また、上記処理間隔で実行する特定処理は、請求項４に記載の発明の如く、処理間隔を、所定のクランク角度に相当する時間より短い時間間隔に設定していることを特徴とする。
【００２１】
これによると、特定処理によって所定のクランク角度に対応する時間より短い時間間隔で記憶したデータ値から、所定のクランク角度に相当するデータ値を取り出すので、エンジン回転変動によらず、所望の正確なクランク角度に相当するデータ値を取り出す精度を高めることができる。
【００２２】
しかも、特定処理は、クランク角度間隔ではなく、時間間隔で処理するので、データ値を読み取るための割り込み処理などが容易である。したがって、特定処理で設定可能な時処理間隔を、所定のクランク角度に相当する時間に比べて十分に小さくすることができる。
【００２３】
ここで、一般に、取り出すデータ値のクランク角度精度を高めるために、特定処理の処理間隔を、例えば要求されるクランク角度精度に比べて十分小さく設定すると、特定処理で得られたデータ値のサンプル数が膨大になるおそれがある。膨大なサンプル数のデータ値を記憶するためのメモリも膨大な容量が必要となる。
【００２４】
これに対して請求項５に記載の発明の如く、特定期間の間に記憶されるデータ値のサンプル数において、処理間隔は、所定のサンプル数を得られるまでの第１期間の間の第１処理間隔と、所定のサンプル数が得られた後の第２期間の間の第２処理間隔とを有しており、第１処理間隔より、第２処理間隔を長く設定していることが好ましい。
【００２５】
これにより、特定処理で得られたデータ値のサンプル数の低減が図れるので、必要なメモリ容量を抑制できる。
【００２６】
また、上記特定処理は、請求項６に記載の発明の如く、エンジンの気筒の燃焼圧を検出する燃焼圧センサからのセンサ信号値、エンジンのノッキングを検出するノッキングセンサからのセンサ信号値、およびエンジンの燃焼によって生じるイオン電流を検出するイオン電流センサからのセンサ信号値のうちの、少なくともいずれかを読み取る測定処理であることが好ましい。
【００２７】
これにより、例えば特定処理として、エンジン状態検出のための検出対象の検出値としての燃焼圧センサからのセンサ信号値を読み取る測定処理を行ない、その測定処理で読み取った結果から、回転変動によらず、正確なクランク角度に相当するセンサ信号値を取り出すことができるので、エンジン状態を監視する監視装置の監視精度の向上、あるいはエンジン制御装置の開発の実現に有効である。
【００２８】
特に、請求項６に記載のクランク軸回転同期の処理装置を、請求項７に記載の発明の如く、エンジン制御装置に設けて、特定処理で読み取られたセンサ信号値としてのデータ値から、所定のクランク角度に相当するデータ値を取り出し、取り出されたデータ値を用いてエンジンを制御することが好ましい。
【００２９】
一般に、例えば燃料圧の計測結果から、エンジンの出力を算出する場合、クランク角度の誤差が出力計算結果に対して主要な誤差要因となる。エンジン制御装置の開発においては、必要とするクランク角度精度を満足するため、高分解能を有し、比較的高価な角度センサが、開発専用に用いられる。
【００３０】
これに対して請求項７に記載の発明では、高価な角度センサを用いずに、回転変動によらず正確なクランク角度に相当するセンサ信号値を取り出し、取り出されたデータ値を用いてエンジンを制御することが可能である。
【発明を実施するための最良の形態】
【００３１】
以下、本発明のクランク軸回転同期の処理装置を、エンジン制御装置に適用して具体化した実施形態を図面に従って説明する。
【００３２】
（第１の実施形態）
図１は、本実施形態を適用したエンジン制御装置（以下、ＥＣＵ）１の構成を示す構成図である。図１に示すように、ＥＣＵ１は、マイクロコンプータ（以下、マイコン）４と、入力回路（以下、信号処置回路とも呼ぶ）２、３と、出力回路５と、エンジンに燃料を噴射供給するインジェクタなどのアクチュエータ６とを備えている。アクチュエータ６としては、インジェクタに限らず、インジェクタおよび点火プラグなどの点火装置などであってもよい。
【００３３】
そして、このＥＣＵ１では、エンジンに取り付けられたクランク軸センサ１１からの回転信号（以下、ＮＥ信号）が、信号処置回路２を介してマイコン４に入力され、また、エンジンに取り付けられたカム軸センサ１３からの気筒判別用信号（以下、Ｇ信号）が、入力回路３を介してマイコン４に入力される。
【００３４】
ここで、クランク軸センサ１１は、エンジンのクランク軸に固定されたロータ１１ａと、そのロータ１１ａの外周に対向して設けられ、ロータ１１ａの外周に所定角度（本実施例では１０°ＣＡ）ごとの間隔で形成された歯を検出してパルスを出力する電磁ピックアップ式やホールＩＣ式等の信号出力部１１ｂとを備えている。そして、上記ロータ１１ａの外周には、各気筒に対応して、歯が２個欠損した歯欠損部１１ｋが１つ設けられている。
【００３５】
このため、クランク軸センサ１１から信号処理回路２を介してマイコン４に入力されるＮＥ信号は、図５のタイムチャートに示す如く、クランク軸が１０°ＣＡ回転する毎にローレベル→ハイレベル→ローレベルといった具合にパルス状に変化する。ここで、ローレベル→ハイレベルに切り替わるパルスエッジ（以下、単にエッジ）が発生するタイミングを、ＮＥ信号の立ち上がりタイミングと呼び、また、ＮＥ信号の立ち上がり間の間隔を、ＮＥ信号の立ち上がりエッジ間隔（以下、ＮＥ間隔）Ｂと呼ぶ。そして、クランク軸の回転位置が、上記ロータ１１ａの歯欠損部１１ｋが信号出力部１１ｂに対向することとなる基準位置に到達したときには、ＮＥ信号の立ち上がりエッジ間隔が３倍長くなる。よって、ＮＥ信号には、１０°ＣＡ毎に有効エッジとしての立ち上がりエッジが発生すると共に、クランク軸の回転位置が基準位置に到達すると、立ち上がりエッジが２個欠落した欠歯部が現れることとなる。
【００３６】
一方、カム軸センサ１３は、クランク軸の回転に対して１／２の比率で減速回転するエンジンのカム軸に固定されたロータ１３ａと、そのロータ１３ａの外周に対向して設けられ、ロータ１３ａの外周における凹凸に応じてハイレベルとローレベルとに変化するＧ信号を出力する磁気抵抗素子（ＭＲＥ）式の信号出力部１３ｂとからなる。また、ロータ１３ａの外周は、半周分（１８０°ＣＡ分）が凸で、他の半周分が凹となっている。
【００３７】
カム軸センサ１３から信号処理回路２を介してマイコン４に入力されるＧ信号は、クランク軸センサ１１からのＮＥ信号が１０°ＣＡ毎に立ち上がるパルス信号となっている期間中に論理レベルが１回反転し、ＮＥ信号に欠歯部が現れるタイミングでは、その各タイミング毎に交互に異なったレベルとなる。
【００３８】
上記ＮＥ信号に欠歯部が現れたときのＧ信号のレベルから、そのときのクランク位置が正確に特定される。例えば、ＮＥ信号に欠歯部が現れたときのＧ信号がハイレベルならば、現在のクランク位置が基準のクランク位置（ここではＲ°ＣＡとする）であると特定することができ、逆にＧ信号がローレベルならば、現在のクランク位置がＲ°ＣＡから３６０°ＣＡだけ進んだクランク位置であると特定される。そして、このようにしてクランク位置を特定した後は、ＮＥ信号に立ち上がりエッジが発生した回数を計数していくことで、現在のクランク位置が１０°ＣＡ単位で把握される。
【００３９】
また、マイコン４には、エンジンの各気筒に取り付けられた燃焼圧センサ１５からそれぞれ出力される気筒数分のセンサ信号（以下、燃焼圧信号）が入力される。Ｇ信号によりクランク位置が特定できれば、各気筒での燃焼圧信号の測定処理は共通であるため、以下の説明では、１つの気筒の燃焼圧センサ１５についてのみ説明する。即ち、例えば１番気筒のクランク位置が特定され、１番気筒に取り付けられた燃焼圧センサ１５から燃焼圧信号がマイコン４に入力されることを前提とする。
【００４０】
燃焼圧センサ１５の上記燃焼圧信号はアナログ信号であり、マイコン４に内蔵の入力回路３によってＡ／Ｄ変換される。
【００４１】
次に、マイコン４の構成および動作の概略について説明する。図１に示すように、マイコン４には、上記入力回路２、３の他に、図示しないフリーランタイマと、インプットキャプチャ部とを備えている。
【００４２】
そして、更に、マイコン４は、図示しないプログラムメモリに記憶されたプログラムを実行することで実現される機能手段として、上記ＮＥ間隔を時間で算出するＮＥ間隔算出処理手段と、上記ＮＥ間隔を微小角度（以下、単位クランク角度）Ａに区分けする微小角度算出手段と、単位クランク角度Ａの時間より短い時間で燃焼圧信号を測定するためのサンプリング周期Ｃを決定するサンプリング周期決定手段とを備えている。ＮＥ間隔算出処理手段、微小角度算出手段、およびサンプリング周期決定手段の実体はプログラムである。
【００４３】
上記インプットキャプチャ部は、周知のインプットキャプチャ機能を実現するハードウェア部分であり、マイコン４の端子のうちの特定端子に入力されるＮＥ信号にエッジが発生すると、そのときのフリーランタイマの値（時刻）をインプットキャプチャ部内の第１レジスタ（以下、始期時刻レジスタ）（図示せず）に現在時刻（以下、開始時刻）ｔ２として記憶（キャプチャ）するとともに、インプットキャプチャ割り込み（以下、ＮＥ割り込み）を発生させる。ＮＥ割り込みが発生すると、後述のサンプリング周期Ｃで燃焼圧信号を測定する。
【００４４】
また、インプットキャプチャ部は、ＮＥ割り込み中に、次回のエッジが発生すると、そのときのフリーランタイマの値をインプットキャプチャ部内の第２レジスタ（以下、終期時刻レジスタ）（図示せず）に当該時刻（以下、終期時刻）ｔ３として記憶する。
【００４５】
上記ＮＥ間隔算出処理手段は、ＮＥ信号のエッジが発生してＮＥ割り込みが発生するごとに起動するものである。このＮＥ間隔算出処理手段は、終期時刻レジスタに記憶の終期時刻ｔ３から、始期時刻レジスタに記憶の開始時刻ｔ２を差し引いた時間を、ＮＥ信号の立ち上がり間の間隔の時間、即ちＮＥ間隔Ｂの時間として算出する。
【００４６】
上記微小角度算出手段は、ＮＥ割り込みが発生するごとに起動するものである。この微小角度算出手段は、燃焼圧信号を測定した期間と同期する上記ＮＥ間隔Ｂをｎ（本実施例では、１０）で割ることにより、単位クランク角度Ｃに相当する時間、即ちクランク軸が１°ＣＡ回転するのに要する時間を算出する。
【００４７】
上記サンプリング周期決定手段は、ＮＥ割り込みが発生すると、ＮＥ割り込み中、燃焼圧信号の測定を繰り返し行うための周期、即ちサンプリング周期Ｃを予め決めておく機能である。サンプリング周期決定手段では、サンプリング周期Ｃとして、一定値に決定しておく場合に限らず、エンジンの運転条件に応じて所定値に決定するものであってもよい。
【００４８】
なお、以下の説明では、サンプリング周期決定手段によってサンプリング周期Ｃを最速時間（本実施例では、１μｓｅｃ）に設定されているものとする。即ち、最速時間とは、サンプリング周期Ｃで決まる時刻（以下、サンプリング開始時刻）とフリーランタイマの時刻が一致したとき、燃焼圧信号を読み取り、次のサンプリング開始時刻（以下、サンプリング時刻）までに読み取った燃焼圧信号を記憶することが可能な時間である。単位クランク角度Ａの時間、およびＮＥ間隔Ｂの時間は、エンジン回転数Ｎｅ＝１６６７ｒｐｍ（２７．８Ｈｚ）とすると、１００μｓｅｃ、１ｍｓｅｃであるので、上記サンプリング周期Ｃは極めて小さい。
【００４９】
なお、ここで、ＮＥ間隔（エッジ間隔）Ｂは、請求範囲に記載の特定期間の信号間隔に相当する。微小角度（単位クランク角度）Ａは、請求範囲に記載の所定のクランク角度に相当する。サンプリング周期Ｃは、請求範囲に記載の特定処理の処理間隔に相当する。燃焼圧センサ１５から出力される燃焼圧信号を測定する測定処理は、請求範囲に記載の特定処理に相当する。燃焼圧信号は、請求範囲に記載のセンサ信号に相当する。
【００５０】
次に、マイコン４が実行する上記各機能手段の処理について、図２から図４に従って説明する。図２は、ＮＥ信号のエッジ立ち上がり時に発生するＮＥ割り込み処理を示すフローチャートである。
【００５１】
図２に示すように、Ｓ１１０（Ｓはステップ）およびＳ１２０は、ＮＥ割り込み条件である上記ＮＥ信号のエッジ立ち上がりが発生しているか否かを判定する。上記ＮＥ間隔Ｃの間の始期を検出する処理がＳ１１０であり、終期を検出する処理がＳ１２０である。
【００５２】
Ｓ１１０では、始期のためのエッジ立ち上がりが発生していると判定されると、Ｓ１３０に移行し、インプットキャプチャ部内の始期時刻レジスタに、ＮＥ割り込み始期時刻としての始期時刻ｔ２を記憶する。そして更に、Ｓ１４０では、燃焼圧信号を所定のサンプリング周期で測定処理する。（以下、サンプンプリング処理と呼ぶ）。
【００５３】
また、上記Ｓ１１０にて、始期のためのエッジ立ち上がりが発生していないと判定されると、Ｓ１２０へ移行し、Ｓ１２０では、終期のためのエッジ立ち上がりが発生しているか否かを判定する。
【００５４】
Ｓ１２０にて、以前として終期のためのエッジ立ち上がりが発生していないと判定されると、Ｓ１２０へ移行し、上記サンプンプリング処理を継続する。一方、上記Ｓ１２０にて、終期のためのエッジ立ち上がりが発生していると判定されると、Ｓ１５０に移行し、インプットキャプチャ部内の終期時刻レジスタに、ＮＥ割り込み終期時刻としての終期時刻ｔ３を記憶する。そして更に、Ｓ１６０では、後述する図４の燃焼圧信号に係わるデータ取込み処理に対する上記サンプリング処理の終了要求をセットする。
【００５５】
なお、ここで、上記ＮＥ信号のエッジ立ち上がりは、クランク軸の回転により１０°ＣＡ（欠歯部は除く）ごとに発生するものであるから、上記ＮＥ間隔を現在のＮＥ間隔とすると、現在のＮＥ間隔の終期は、次回のＮＥ間隔の始期となる。このため、上記現在のＮＥ間隔Ｂに同期したサンプリング処理が終了したかか否かを判定する条件が成立したから、サンプリング処理を終了させるというものではない。
【００５６】
次に、上記サンプンプリング処理としての燃焼圧信号を測定する燃焼圧測定処理を、図３に従って説明する。Ｓ２１０では、サンプリング周期に基づくサンプリング時刻とフリーランタイマの時刻を比較し、両者が一致するときを設定する。
【００５７】
Ｓ２１０にて両者が一致すると、Ｓ２２０では、入力回路３でＡ／Ｄ変換された燃焼圧信号を読み取り、読み取った燃焼圧信号の信号値とそのときのサンプリング時刻を、サンプリングデータとして記憶する。そして更に、Ｓ２３０では、カウントｉをインクリメントする。このカウントｉは、上記サンプリング周期Ｃで得られたサンプリング個数を数えるための計数手段である。
【００５８】
次に、単位クランク角度Ｂに相当する燃焼圧信号に係わるデータ（以下、単位クランク角度相当のデータ）を取り込むデータ取り込み処理を、図４に従って説明する。このデータ取り込み処理は、現在のＮＥ間隔Ｂに対する始期時刻ｔ２および終期時刻ｔ３と、当該ＮＥ間隔に同期してサンプリング処理により得られた燃焼圧信号とに基づいて、単位クランク角度に相当するデータを取り込むものである。
【００５９】
Ｓ３１０では、上記現在のＮＥ間隔Ｂに同期したサンプリング処理が終了したかか否かを判定する条件としての、図３中のＳ１６０の処理であるサンプリング処理の終了要求がセットされているか否かを判定する。Ｓ３１０にて、上記サンプリング処理の終了要求がセットされていると判定されると、Ｓ３２０へ移行する。一方、上記サンプリング処理の終了要求がセットされていないと判定されると、上記サンプリング処理の終了要求がセットされていると判定されるまでＳ３１０の判定処理を繰り返す。
【００６０】
Ｓ３２０では、上記ＮＥ間隔Ｂを算出する。即ち、図２のＮＥ割り込み処理にて得た始期時刻ｔ２および終期時刻ｔ３を、インプットキャプチャ部内の始期時刻レジスタおよび終期時刻レジスタから読み出し、終期時刻ｔ３から開始時刻ｔ２を差し引いた時間をＮＥ間隔Ｂの時間として算出する（Ｂ＝ｔ３−ｔ２）。
【００６１】
Ｓ３３０では、上記ＮＥ間隔Ｂに基づいて単位クランク角度Ａの時間を算出する（Ａ＝Ｂ／ｎ）（図５参照）。なお、図５において、図面作成の便宜上、ｎ＝８とした。
【００６２】
Ｓ３４０では、図３の燃焼圧測定処理で得られたサンプリングデータから、上記単位クランク角度Ａの時間ごとに取り出し、上記単位クランク角度相当のデータとして取り込み保存する。
【００６３】
ここで、サンプリング時刻と単位クランク角度Ａごとの時刻が一致しない場合には、単位クランク角度Ａごとの時刻に最も近いサンプリング時刻でのサンプリングデータを抽出することができる（図５参照）。上記サンプリングデータは、単位クランク角度Ａの時間に比べて極めて小さいサンプリング周期Ｃで得らえたものからである。
【００６４】
なお、上記単位クランク角度Ａごとの時刻に最も近いサンプリング時刻でのサンプリングデータを抽出する方法に限らず、単位クランク角度Ａごとの時刻とこれを挟むサンプリング時刻でのサンプリングデータ間で補間計算する方法であってもよい。
【００６５】
以上説明した本実施形態では、エンジンのクランク軸の回転に応じて、クランク軸センサ１１から出力されるＮＥ信号を計測するとともに、ＮＥ信号のエッジで区分けされる特定期間の間、当該ＮＥ間隔Ｂより短い処理間隔Ｃで特定処理としての燃焼圧測定処理を行い、燃焼圧測定処理により得られるデータ値としてのサンプリングデータを記憶する記憶処理を実行し、ＮＥ間隔Ｂの終了後、記憶したサンプリングデータから、所定のクランク角度としての単位クランク角度Ａに相当するデータ値を取り出す構成となっている。
【００６６】
これによると、クランク軸センサ１１からのＮＥ信号で区分けされる特定期間であるＮＥ間隔Ｂの終了後に、当該ＮＥ間隔Ｂに記憶したサンプリングデータから、所定のクランク角度に相当するデータ値が取り出されるので、エンジン回転変動によらず、所望の正確な単位クランク角度に相当するデータ値を得ることができる。
【００６７】
また、本実施形態において、上記ＮＥ信号で区分けされる特定期間であるＮＥ間隔Ｂとは、クランク軸センサ１１から出力されるＮＥ信号のエッジを検出し、当該エッジの発生が検出された始期時刻ｔ２から、次回発生するエッジが検出される終期時刻ｔ３までの期間のことである。
【００６８】
これにより、燃焼圧測定処理によりサンプリングデータを得た期間と、ＮＥ間隔Ｂの終了後で決定される上記特定期間とを同期させられる。即ち、特定期間であるＮＥ間隔Ｂにおいて、ＮＥ信号のエッジの発生が検出された始期に燃焼圧測定処理を開始し得られるサンプリングデータを記憶すると共に、ＮＥ間隔Ｂの終了後にＮＥ間隔Ｂと同期させて得たサンプリングデータを確実に取り出せる。
【００６９】
したがって、従来技術の如く、前回検出したＮＥ間隔、即ち過去の特定期間を用いて、サンプリングデータを得る期間である現在のＮＥ間隔終了後に確定する特定期間を予測する必要はないので、燃焼圧測定処理により得たサンプリングデータから、エンジン回転変動の影響を受けずに、現在のＮＥ間隔終了後に正確な単位クランク角度に相当するデータ値を確実に取り出せる。
【００７０】
ここで、一般に、上記特定処理で得るサンプリングデータとしては、上記エンジンの状態の検出対象として燃焼圧を検出する燃焼圧センサの燃焼圧信号値に限らず、ノッキングを検出するノッキングセンサのセンサ信号値（以下、ノッキング信号値）などが考えららえる。エンジンの正常状態での燃焼圧信号値を読み取る場合には、燃焼圧特性の一定のクランク角度を監視する方法、あるいは監視する一定のクランク角度を燃焼サイクルごとに変化させ、複数回の燃焼サイクルから燃焼圧特性の全体プロフィールを得る方法を用いることは可能である。
【００７１】
しかしながら、一時的な異常状態にある燃焼圧信号値を読み取る場合や、ノッキング信号値を読み取る場合においては、できるだけ少ない回数の燃焼サイクルから燃焼圧特性などの検査対象の全体プロフィールを得る必要がある。
【００７２】
これに対して本実施形態では、ＮＥ間隔Ｂの終了後、当該確定された信号間隔Ｂに基づいて単位クランク角度Ａに相当する回転角度間隔を算出し、当該回転角度間隔に基づいて、記憶したサンプリングデータから、単位クランク角度Ａごとにデータ値を繰り返し取り出している。
【００７３】
これにより、特定処理として例えば燃焼圧測定処理で得るサンプリングデータから、データ値の全体プロフィールを所定のクランク角度の間隔精度で得ることが可能である。したがって、エンジン状態検出のための検出対象の検出値としての燃焼圧信号値を、回転変動の影響を受けずに正確に検出するとともに、上記燃焼圧信号値より燃焼圧特性の全体プロフィールを１回の燃焼サイクルで得ることが可能である。
【００７４】
また、本実施形態では、上記燃焼圧測定処理を行う処理間隔Ｃを、単位クランク角度Ａに相当する時間より極めて短い時間間隔に設定している。
【００７５】
これによると、燃焼圧測定処理によって単位クランク角度Ａに対応する時間より極めて短い時間間隔で記憶したサンプリングデータのデータから、十分に大きい単位クランク角度Ａに相当するデータ値を取り出すので、エンジン回転変動によらず、所望の正確なクランク角度Ａに相当するデータ値を取り出す精度を高めることができる。
【００７６】
しかも、燃焼圧測定処理は、クランク角度間隔ではなく、時間間隔で処理するので、フリーランタイマを利用してサンプリング時のデータ値を読み取るための割り込み処理などが容易である。したがって、燃焼圧測定処理で設定可能な時処理間隔を、単位クランク角度Ａに相当する時間に比べて十分に小さくすることができる。
【００７７】
（第２の実施形態）
以下、本発明を適用した他の実施形態を説明する。なお、以下の実施形態においては、第１の実施形態と同じもしくは均等の構成には同一の符号を付し、説明を繰返さない。
【００７８】
第２の実施形態を図６に示す。第２の実施形態は、サンプリング周期Ｃを可変にする一例を示すものである。図６は、実施形態に係わる燃焼圧測定処理のためのサンプリング周期を算出するサンプリング周期算出処理を示すフローチャートである。図７は、図６の処理の作用を表すタイムチャートである。
【００７９】
本実施形態では、マイコン４の機能手段のうち、サンプリング周期決定手段は、サンプリング周期Ｃの大きさを可変にするサンプリング周期算出手段を備えている。
【００８０】
上記サンプリング周期算出手段は、エンジン回転数Ｎｅの変動（以下、ＮＥ変動）を判定条件として現在のサンプリングが最適であるかを判断し、当該判断に基づいてサンプリング周期Ｃの大きさを可変にする機能である。ここで、ＮＥ変動とは、ＮＥ間隔ＢにおけるＮＥ変動の大きさである。
【００８１】
具体的には、本実施例では、サンプリング周期算出手段は、許容される所定値αよりＮＥ変動が小さい否かを判定する判定手段と、当該判定手段において肯定判定される場合には、サンプリング周期Ｃを変えて長くする周期拡大手段とを備えている。
【００８２】
ここで、上記ＮＥ変動としては、空ぶかし等レーシング時のエンジン回転数急上昇及び下降、あるいは点火装置による点火カット時のエンジン回転数下降のとき最大となる。また、上記レーシング時以外のエンジン状態であっても、所定のエンジン回転数から点火カットへ移行するときや、点火カットから、点火カットをしない通常状態に復帰するときにも、ＮＥ変動の大きさが最大となるおそれがある。これらのエンジン状態を事前に試験することにより、ＮＥ間隔ＢにおけるＮＥ変動の最大値を予め求めておくことができる。
【００８３】
上記所定値αは、上記最大値より十分に小さい値に設定されている。即ち、サンプリング周期算出手段は、ＮＥ変動が所定値αより小さいと肯定判定される場合には、ＮＥ変動は比較的緩やかであると判断し、周期拡大手段によってサンプリング周期Ｃを増加させて、サンプリング周期Ｃの拡大化が図られる。一方、ＮＥ変動が所定値αより大きいと否定判定される場合には、サンプリング周期Ｃを、最速の周期（１μｓｅｃ）に設定している。
【００８４】
次に、マイコン４が実行する上記サンプリング周期算出手段の処理について、図６に従って説明する。Ｓ４１０では、ＮＥ変動を読み込む。即ち、ＥＣＵ１に記憶の前回のＮＥ間隔（Ｂ＝ｔ２−ｔ１）と前々回のＮＥ間隔（図示せず）の対比から、現在のＮＥ間隔（Ｂ＝ｔ３−ｔ３）におけるＮＥ変動を予測する。
【００８５】
Ｓ４２０では、上記ＮＥ変動が所定値αより小さい否かを判定する。ＮＥ変動が所定値αより小さいと肯定判定されると、Ｓ４３０へ移行する。一方、ＮＥ変動が所定値αより大きいと否定判定されると、Ｓ５２０へ移行する。
【００８６】
Ｓ４３０およびＳ４４０の処理では、サンプリング個数が２ｋ（本実施例では、ｋ＝１００とし、２００個）に達すると、サンプリング周期Ｃを二倍にし（２Ｃ）し、以後上記肯定判定が繰り返されることを前提条件として、サンプリング個数がｋに到達するごとに、サンプリング周期Ｃを二倍化していくものである。上記サンプリング個数を２ｋ、ｋを区分けする方法として、Ｓ４８０では、サンプリング個数の計数手段であるカウントｉがｋ（本実施例、１００個）に到達したか否かを判定すると共に、Ｓ４８０では、カウントｍが、０、１と二順目であるか否かを判定している。
【００８７】
即ち、Ｓ４３０では、カウントｍが１以上であるか否かを判定する。カウントｍが１以上でないと判定されると、Ｓ４４０へ移行しサンプリング周期Ｃを変更せず、最速の周期（１μｓｅｃ）とする。そして更にＳ４５０では、カウントｉがｋに到達したか否かを判定する。カウントｉがｋに到達したと判定される場合には、上記二順目になった判断し、Ｓ４６０へ移行しカウントｍをインクリメントすると共に、Ｓ４７０へ移行しカウントｉをクリア（リセット）する。一方、カウントｉがｋに到達していないと判定される場合には、カウントｉがｋに到達するまで待機する。
【００８８】
また、上記Ｓ４３０にてカウントｍが１以上であると判定されると、ｍ＝１であるときはカウントｉが二順目であると判断され、また、ｍ≧２であるときは単に一順目であると判断されて、Ｓ４８０へ移行する。
【００８９】
Ｓ４８０では、カウントｉがｋに到達したか否かを判定する。カウントｉがｋに到達したと判定される場合には、Ｓ４９０に移行しサンプリング周期Ｃを、現在の周期を二倍化としたもの（Ｃ＝２Ｃ）とする。そして更にＳ５００へ移行しカウントｍをインクリメントすると共に、Ｓ５１０へ移行しカウントｉをクリア（リセット）する。一方、カウントｉがｋに到達していないと判定される場合には、カウントｉがｋに到達するまで待機する。
【００９０】
また、Ｓ５２０では、サンプリング周期Ｃを、単位クランク角度Ａより極めて小さい所定値、即ち上記最速の周期（１μｓｅｃ）に設定し、Ｓ５３０及びＳ５４０に移行してカウントｍ、カウントｉをそれぞれｍ＝０、ｉ＝０に設定する。
【００９１】
ここで、第１の実施形態で説明した比較条件と同様に、単位クランク角度Ａの時間、およびＮＥ間隔Ｂの時間を、エンジン回転数Ｎｅ＝１６６７ｒｐｍ（２７．８Ｈｚ）とすると、１００μｓｅｃ、１ｍｓｅｃであるので、上記サンプリング周期Ｃは、図７に示すように、２Ｃ（２μｓｅｃ）、４Ｃ（４μｓｅｃ）、８（８μｓｅｃ）に周期拡大されても十分に小さい。
【００９２】
なお、ここで、上記サンプリング周期Ｃの二倍化は、所定値αに基づいて二倍化される周期の大きさの上限を制限する処理を更に設けるようにしてもよい。当該処理により、例えば単位クランク角度Ａの時間（１００μｓｅｃ）の１／ｎ（本実施例では、１／１０）以下に制限することができる。
【００９３】
なお、ここで、サンプリング周期Ｃのうち、サンプリング個数が２ｋに到達するまでの期間、および当該期間で設定されるサンプリング周期は、請求範囲に記載の第１期間、および第１処理間隔に相当する。また、サンプリング個数が２ｋに到達した後の期間、および当該期間で設定され、二倍化されたサンプリング周期は、請求範囲に記載の第２期間、および第２処理間隔に相当する。
【００９４】
以上説明した本実施形態では、サンプリング周期Ｃは、所定のサンプリング個数（２ｋ）を得られるまでの第１期間の間の第１処理間隔と、所定のサンプリング個数が得られた後の第２期間の間の二倍化された第２処理間隔とを有しており、上記第１処理間隔より、上記第２処理間隔を長く設定している。
【００９５】
一般に、取り出すデータ値のクランク角度精度を高めるために、燃焼圧測定処理のサンプリング周期Ｃを、例えば要求されるクランク角度精度（例えば、単位クランク角度である１°ＣＡ）に比べて十分小さく設定すると、燃焼圧測定処理で得られたデータ値のサンプル数が膨大になるおそれがある。膨大なサンプル数のデータ値を記憶するためのメモリも膨大な容量が必要となる。
【００９６】
これに対して本実施形態では、サンプリング周期Ｃを、当初は最速の周期にしながら、ＮＥ変動）を判定条件として現在のサンプリングが最適であるかを判断することで、周期を可変にし、周期の拡大化を図ることができる。したがって、上記燃焼圧測定処理で得られるデータ値のサンプル数の低減が図れるので、必要なメモリ容量を抑制できる。
【００９７】
また、ここで、従来技術の如く、前回検出したＮＥ間隔、即ち過去の特定期間を用いて、サンプリングデータを得る期間である現在のＮＥ間隔終了後に確定する特定期間を予測する方法では、エンジン回転数が急激に変わった場合には、誤差が大きくなり過ぎて正しいクランク角度位置におけるデータ値を取り込むことができない。
【００９８】
これに対して本実施形態では、例え急激なＮＥ変動が起きた場合があっても、図７に示す如く、次回のＮＥ間隔Ｂまでのサンプリング周期Ｃを必ず等分割しているので、誤差を最小限に抑えることができる。サンプリング周期Ｃを、当初は最速の周期にしながら、現在のサンプリングが最適であるかを、上記ＮＥ変動の判定条件に基づいて動的に判断しているからである。
【００９９】
（他の実施形態）
（１）以上説明した本実施形態では、特定処理として、エンジンの気筒の燃焼圧を検出する燃焼圧センサ１５からの燃焼信号をＮＥ間隔Ｂより小さいサンプリング周期Ｃで測定する燃焼圧測定処理で説明した。上記特定処理は、これに限らず、エンジン状態検出のための検出対象の検出値であればよく、エンジンのノッキングを検出するノッキングセンサからのノッキングセンサ信号値、およびエンジンの燃焼によって生じるイオン電流を検出するイオン電流センサからのセンサ信号値（以下、イオン電流信号値）のいずれかのセンサ信号値をデータ値として上記サンプリング周期Ｃで読み取る測定処理のいずれであってもよい。
【０１００】
これにより、例えば特定処理として、エンジン状態検出のための検出対象の検出値としての燃焼圧センサからのセンサ信号値を読み取る測定処理を行ない、その測定処理で読み取った結果から、回転変動によらず、正確なクランク角度に相当するセンサ信号値を取り出すことができるので、エンジン状態を監視する監視装置の監視精度の向上、あるいはエンジン制御装置の開発の実現に有効である。
【０１０１】
（２）以上説明した第２の実施形態では、燃焼圧測定処理で得られるデータ値を記憶するメモリ容量を削減する手段として、サンプリング周期Ｃを、当初は最速の周期にしながら、ＮＥ変動）を判定条件として現在のサンプリングが最適であるかを判断することで、周期を可変にし、その周期の拡大化を図った。上記メモリ容量を削減する手段は、これに限らず、例えばＮＥ変動の最大値を実験により予め求めておくことで、当該最大値に基づいて、単位クランク角度Ａの時間に比べて十分小さい周期を、サンプリング周期として設定する方法であってもよい。
【０１０２】
（３）以上説明した本実施形態では、エンジン制御装置において周知構造のクランク軸センサ１５を用いている。
【０１０３】
一般に、例えば燃料圧の計測結果から、エンジンの出力を算出する場合、クランク角度の誤差が出力計算結果に対して主要な誤差要因となる。エンジン制御装置の開発においては、必要とするクランク角度精度を満足するため、高分解能を有し、比較的高価な角度センサが、開発専用に用いられる。
【０１０４】
これに対して本実施形態では、高価な角度センサを用いずに、回転変動によらず正確なクランク角度に相当するセンサ信号値を取り出し、取り出されたデータ値を用いてエンジンを制御することが可能である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施形態を適用したエンジン制御装置の構成を示す構成図である。
【図２】図１中のマイコンが特定処理のために実行するＮＥ割り込み処理を示すフローチャートである。
【図３】図１中のマイコンが特定処理のために実行する燃焼圧測定処理を示すフローチャートである。
【図４】図１中のマイコンが特定処理のために実行するデータ取り込み処理を示すフローチャートである。
【図５】図２から図４の処理のための信号および動作を表すタイムチャートである。
【図６】第２の実施形態に係わる燃焼圧測定処理のためのサンプリング周期を算出するサンプリング周期算出処理を示すフローチャートである。
【図７】図６の処理の作用を表すタイムチャートである。
【符号の説明】
【０１０６】
１  エンジン制御装置
２  信号処理回路（入力回路）
３  入力回路
４  マイクロコンピュータ（マイコン）
５  出力回路
６  アクチュエータ（インジェクタなど）
１１  クランク軸センサ
１１ａ  ロータ
１１ｂ  信号出力部
１３  カム軸センサ
１３ａ  ロータ
１３ｂ  信号出力部
【図１】
2008232034.tif 000003
【図２】
2008232034.tif 000004
【図３】
2008232034.tif 000005
【図４】
2008232034.tif 000006
【図５】
2008232034.tif 000007
【図６】
2008232034.tif 000008
【図７】
2008232034.tif 000009