(57)【要約】【課題】点火プラグの燻りの状態を的確に判定することができる内燃機関の燃焼検出装置、プログラム、及び記録媒体を提供すること。【解決手段】ノイズによってコンパレータ出力がＯＦＦとなるまでの期間Ｔ１にわたってカウントが継続され、コンパレータ出力がＯＦＦの期間はカウントが停止される。コンパレータ出力がＯＮとなるとカウントが再開され、コンパレータ出力がＯＦＦまでの期間Ｔ２にわたってカウントが継続され、コンパレータ出力がＯＦＦとなるとカウントが終了する。検出区間が終了した際のカウント値即ち、期間Ｔ１に対応したカウント値ＣＴ１と期間Ｔ２に対応したカウント値ＣＴ２との合計値（積算時間に対応したカウント値）が、マイコン１に入力される。従って、マイコン１では、積算時間が（燻りの有無を判定するための）所定の判定値以上か否かを判定し、この判定値以上の場合には、燻りがあると判定する。【選択図】    図３
2004239085.tif 000002
【特許請求の範囲】
【請求項１】
点火プラグへの点火信号通電時に、該点火プラグの電極間に流れる第１電流を検出する第１電流検出手段を備え、
前記第１電流に基づいて、前記点火プラグの燻りの状態を検出する内燃機関の燃焼検出装置において、
前記点火プラグへの点火信号通電時に対応して設定した検出区間にて、前記第１電流が所定レベルを超える時間を積算する時間積算手段と、
前記時間積算手段により積算した時間に基づいて、前記点火プラグの燻りの状態を判定する状態判定手段と、
を備えたことを特徴とする内燃機関の燃焼検出装置。
【請求項２】
点火プラグへの点火信号通電時に、該点火プラグの電極間に流れる第１電流を検出する第１電流検出手段と、
前記点火プラグの放電終了後に、該点火プラグの電極間に流れる第２電流を検出する第２電流検出手段と、
を備えるとともに、
前記第１電流が所定レベル以上となる場合に、前記第２電流の状態に応じて、前記点火プラグの燻りの状態を検出する内燃機関の燃焼検出装置において、
前記点火プラグへの点火信号通電時に対応して設定した検出区間にて、前記第１電流が所定レベルを超える時間を積算する時間積算手段と、
前記時間積算手段により積算した時間に基づいて、前記点火プラグの燻りの状態を判定する状態判定手段と、
を備えたことを特徴とする内燃機関の燃焼検出装置。
【請求項３】
前記第１電流が所定レベルを超えた場合にその出力が変化するコンパレータを備えたことを特徴とする前記請求項１又は２に記載の内燃機関の燃焼検出装置。
【請求項４】
前記コンパレータ出力の立ち上がり及び立ち下がりの両エッジを検出してその区別が可能なエッジ検出機能と、前記両エッジの検出時刻を記憶するインプットキャプチャ機能と、を有するマイコンを用いることを特徴とする前記請求項１〜３のいずれかに記載の内燃機関の燃焼検出装置。
【請求項５】
前記インプットキャプチャを１つ用いるとともに、前記エッジ検出機能により検出したエッジの種類を記憶し、前記検出したエッジの前回の種類と今回の種類とを比較することを特徴とする前記請求項４に記載の内燃機関の燃焼検出装置。
【請求項６】
前記積算時間を求めるための時間計測の測定中にエッジを検出した場合には、今回検出したエッジの種類にかかわらず今回の測定時間を求めて、積算時間を更新することを特徴とする前記請求項４又は５に記載の内燃機関の燃焼検出装置。
【請求項７】
割込み処理を用いて時間測定を行う場合に、割込みリクエストをクリアしてから検出したエッジの情報を取得することを特徴とする前記請求項４〜６のいずれかに記載の内燃機関の燃焼検出装置。
【請求項８】
前記積算時間を求めるための時間計測の終了エッジの処理において、開始エッジのみ有効とすることを特徴とする前記請求項４〜６のいずれかに記載の内燃機関の燃焼検出装置。
【請求項９】
検出エッジの有効／無効を変更した後に、無効としたエッジが発生した場合には、有効として検出したエッジの処理後に、前記無効としたエッジを検出した場合に相当する処理を行うことを特徴とする前記請求項８に記載の内燃機関の燃焼検出装置。
【請求項１０】
検出したエッジを測定開始する開始エッジと判定した後、測定を終了する終了エッジを有効とするまでの間に、前記終了エッジが発生した場合には、前記開始エッジの処理の際に前記終了エッジの処理を行うことを特徴とする前記請求項８に記載の内燃機関の燃焼検出装置。
【請求項１１】
クロック発生器と、前記コンパレータ出力に応じて前記クロック発生器によるクロック信号をオン・オフするスイッチと、該スイッチによりオン・オフされるクロック信号をカウントするカウンタと、を備えたことを特徴とする前記請求項１〜３のいずれかに記載の内燃機関の燃焼検出装置。
【請求項１２】
前記検出区間の開始時に前記カウンタをリセットし、前記検出区間の終了時に前記カウンタの出力を取り込むことを特徴とする前記請求項１１に記載の内燃機関の燃焼検出装置。
【請求項１３】
前記請求項１〜１０のいずれかに記載の内燃機関の燃焼検出装置の機能を実現するための手段を有することを特徴とするプログラム。
【請求項１４】
前記請求項１３に記載のプログラムの機能を実現するための手段を記憶していることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の燃焼室に配置される点火プラグのくすぶり（燻り）の状態を検出することができる内燃機関の燃焼検出装置、プログラム、及び記録媒体に関する。
【０００２】
【従来の技術】
従来より、自動車エンジン等に使用される内燃機関では、各気筒の圧縮行程において圧縮された燃料（混合気）が、次の膨張（燃焼）行程において燃焼するように構成されている。
【０００３】
ところが、この燃焼行程において、燃料が最適且つ確実に燃焼しないと、他の気筒に対して異常な負荷がかかったり、未燃焼ガスの流出によって種々の障害を及ぼすことがある。
従って、内燃機関の安定した運転を確保するために、各気筒において確実に燃焼が行われたか否か、即ち失火（燃焼しない状態）が発生したか否かを判定する必要があるので、この失火判定を行う装置として、イオン検出回路が用いられている。
【０００４】
つまり、燃焼行程においては、電子制御装置からの点火信号（ＩＧＴ）に基づいて点火プラグを放電させて燃料を燃焼させているので、前記イオン検出回路により、燃料に伴って燃焼室に生ずるイオンをイオン電流として検出することにより、失火判定を行うのである。
【０００５】
ところが、上述した点火プラグでは、その絶縁碍子の表面にカーボンなどの物質が付着して点火プラグの電極間の抵抗値（絶縁抵抗）が低下する現象、いわゆる燻りが発生することがある。
前記燻りが発生すると、抵抗値の低下に伴う漏洩電流が生じることがあるので、この漏洩電流をイオン電流と誤判定した場合には、失火であるにもかかわらず、正常燃焼であると誤判断することがある。
【０００６】
そこで、近年では、この燻りによる誤判定を防止するための技術が提案されている。この技術とは、燻りの程度に応じてイオン電流を示す信号（イオン電流信号）が変化するという知見に基づいたものである。
具体的には、点火プラグ通電中の所定のタイミングのイオン電流信号のレベル（電圧）が、所定の判定値（閾値）を超える場合に、点火プラグ放電終了時にイオン電流信号が所定レベルを超える時間の長短により、点火プラグの燻りの進行度合いを判定するものである（特許文献１参照）。
【０００７】
【特許文献１】
特開平１１−０５０９４１号公報  （第５〜６頁、図４）
【０００８】
【発明が解決しようとする課題】
しかしながら、上述した技術では、次の様な問題があり必ずしも十分ではない。
つまり、図１８（ａ）に示す様に、ノイズがない場合には、上述した閾値の判定に基づいて、点火プラグの放電終了後に点火プラグの燻りの進行度合いを判定できるが、図１８（ｂ）に示す様に、イオン電流信号の取込タイミングの前後で何らのノイズが発生して、イオン電流信号が閾値を上回った場合には、点火プラグの燻りの進行度合いを正確に判定できないという問題があった。
【０００９】
本発明は、前記課題を解決するためになされたものであり、その目的は、点火プラグの燻りの状態を的確に判定することができる内燃機関の燃焼検出装置、プログラム、及び記録媒体に関する。
【００１０】
【課題を解決するための手段及び発明の効果】
（１）請求項１の発明は、点火プラグへの点火信号通電時に、該点火プラグの電極間に流れる第１電流を検出する第１電流検出手段を備え、前記第１電流に基づいて、前記点火プラグの燻りの状態を検出する内燃機関の燃焼検出装置に関すものであり、特に本発明では、前記点火プラグへの点火信号通電時に対応して設定した検出区間にて、前記第１電流が所定レベルを超える時間を積算する時間積算手段と、前記時間積算手段により積算した時間に基づいて、前記点火プラグの燻りの状態を判定する状態判定手段と、を備えたことを特徴とする。
【００１１】
つまり、本発明では、点火プラグへの点火信号通電時に対応して設定した（通常は点火信号通電時間内の）検出区間にて、第１電流が所定レベル（即ちいわゆるイオン電流信号を示す第１電流の電圧レベル）を超える時間を積算し、この積算時間に基づいて、点火プラグの燻りの状態を判定する。
【００１２】
例えばノイズがない場合の例を考えると、図１（ａ）に例示する様に、点火信号がＯＮとなってからの所定の検出区間において、イオン電流信号が（例えばコンパレータ出力により）所定の閾値（所定の電圧レベル）を超えた時間を積算し、その積算時間が所定の判定値以上の場合には、燻りがあると判定する。つまり、燻り状態では、大きな電流が流れるので、積算時間が大きくなるからである。
【００１３】
また、ノイズがある場合の例を考えると、図１（ｂ）に例示する様に、点火信号がＯＮとなってからの所定の検出区間において、同様にイオン電流信号が所定の閾値を超えた時間を積算する。この場合、ノイズがある場合には一時的にイオン電流信号が所定値を上回るので、この期間の時間は積算されない。そして、その積算時間が所定の判定値以上の場合には、燻りがあると判定する。
【００１４】
尚、図１では、イオン電流信号の電圧レベルを逆転して示してあり、同図の下方ほど電圧レベルが高い。
この様に、本発明によれば、上述した積算時間を求めることにより、ノイズの有無にかかわらず、燻りの有無を正確に検出することができる。
【００１５】
（２）請求項２の発明は、点火プラグへの点火信号通電時に、該点火プラグの電極間に流れる第１電流を検出する第１電流検出手段と、前記点火プラグの放電終了後に、該点火プラグの電極間に流れる第２電流を検出する第２電流検出手段と、を備えるとともに、前記第１電流が所定レベル以上となる場合に、前記第２電流の状態に応じて、前記点火プラグの燻りの状態を検出する内燃機関の燃焼検出装置に関するものであり、特に本発明では、前記点火プラグへの点火信号通電時に対応して設定した検出区間にて、前記第１電流が所定レベルを超える時間を積算する時間積算手段と、前記時間積算手段により積算した時間に基づいて、前記点火プラグの燻りの状態を判定する状態判定手段と、を備えたことを特徴とする。
【００１６】
本発明は、基本的には、前記請求項１の発明と同様な作用効果を奏する。
特に本発明では、点火プラグの放電終了後に、点火プラグの電極間に流れる第２電流を検出する第２電流検出手段を備えているので、前記先行文献１に記載の様に、この第２電流に基づいて、燻りの進行程度も検出することができる。
【００１７】
（３）請求項３の発明では、前記第１電流が所定レベルを超えた場合にその出力が変化するコンパレータを備えたことを特徴とする。
従って、コンパレータ出力の例えば高（ＨＩ）・低（ＬＯ）により、エッジの状態を検出することができる。例えばコンパレータ出力がＬＯからＨＩに変化したときには、立ち上がりエッジ（開始エッジ）であると判定し、コンパレータ出力がＨＩからＬＯに変化したときには、立ち下がりエッジ（終了エッジ）であると判定することができる。
【００１８】
（４）請求項４の発明では、前記コンパレータ出力の立ち上がり及び立ち下がりの両エッジを検出してその区別が可能なエッジ検出機能と、前記両エッジの検出時刻を記憶するインプットキャプチャ機能と、を有するマイコンを用いることを特徴とする。
【００１９】
本発明では、積算時間を求めるために、マイコンのエッジ検出機能とインプットキャプチャ機能とを用いている。よって、特別なハード回路を追加することなく、マイコンで積算時間を求めることができるという利点がある。
（５）請求項５の発明では、前記インプットキャプチャを１つ用いるとともに、前記エッジ検出機能により検出したエッジの種類を記憶し、前記検出したエッジの前回の種類と今回の種類とを比較することを特徴とする。
【００２０】
本発明では、第１電流が所定レベルを超えた場合に対応する（例えばコンパレータ出力の）時間を測定するために、例えば開始エッジ検出用、終了エッジ検出用というように、別個にインプットキャプチャを用いるのではなく、１つインプットキャプチャを用いるだけであるので、構成を簡易化することができる。
【００２１】
また、検出したエッジの前回の種類と今回の種類とを比較することにより、エッジ抜けを検出することができる。
（６）請求項６の発明では、前記積算時間を求めるための時間計測の測定中（従って前回値が開始エッジ）にエッジを検出した場合には、今回検出したエッジの種類にかかわらず今回の測定時間を求めて、積算時間を更新することを特徴とする。
【００２２】
本発明では、開始エッジの検出後に何らかのエッジが検出された場合には、そのエッジが終了エッジ（例えば立ち下がり）でも開始エッジ（例えば立ち上がり）でも、終了エッジとみなして、その間の経過時間を求めて、積算時間に加算するものである。
【００２３】
これにより、ＣＰＵの処理遅れにより、エッジを取り逃がした場合でも、１回の時間測定における誤差を、ＣＰＵ処理遅れ時間以内に抑えることが可能なので、精度良く積算時間を算出することができる。
（７）請求項７の発明では、割込み処理を用いて時間測定を行う場合に、割込みリクエストをクリアしてから検出したエッジの情報を取得することを特徴とする。
【００２４】
本発明では、割込み処理を用いて時間測定を行う場合に、割込み要求をキャンセルしてから、エッジの種類やエッジ発生の時刻の情報を取得するので、本来検出すべきエッジを無効にしてしまうことがないという利点がある。
尚、割込みリクエストが、エッジの情報を取得後に設定されている場合には、ポートレベルをモニタする等して、エッジが抜けたか否かを判断する別の処理が必要になる。
【００２５】
（８）請求項８の発明では、前記積算時間を求めるための終了エッジの処理において、開始エッジのみ有効とすることを特徴とする。
本発明では、時間計測の終了エッジの処理（終了処理：終了エッジの発生時間の記憶や読取り等の処理）において、開始エッジのみ有効としており、よって、開始エッジを逃すことが無くなるため、精度良く積算時間を算出することができる。
【００２６】
特に、本発明は、ＣＰＵ遅れの原因となる割込み処理のうち、定期的に発生する割込み処理とノイズの周期が重なった場合に、積算時間の誤差を低減でき、有効である。
（９）請求項９の発明では、検出エッジの有効／無効を変更した後に、無効としたエッジが発生した場合には、有効として検出したエッジの処理後に、前記無効としたエッジを検出した場合に相当する処理を行うことを特徴とする。
【００２７】
本発明では、例えば開始エッジのみ有効とした後に、無効とされた終了エッジが発生した場合には、例えば開始エッジの処理（開始処理）の終了時を、無効とされた終了エッジの発生時とみなして処理（即ちエッジの発生時間の記憶や読取り）を行う。
【００２８】
これにより、ＣＰＵの遅れ処理により、エッジを取り逃がした場合でも、１回の時間測定における誤差を、ＣＰＵ処理遅れ時間以内に抑えることが可能なので、この点からも、精度の良い積算時間を求めることができる。
（１０）請求項１０の発明では、検出したエッジを測定開始する開始エッジと判定した後、測定を終了する終了エッジを有効とするまでの間に、前記終了エッジが発生した場合には、前記開始エッジの処理の際に終了エッジの処理を行うことを特徴とする。
【００２９】
本発明では、開始エッジの処理で終了エッジを有効にした後に、終了エッジが発生したか否かを判定し、終了エッジが発生した場合には、誤差が大きくならないように、開始エッジの処理中に終了エッジの処理に相当する処理（例えば終了エッジの発生時刻を現在時刻とする処理等）を行っている。
【００３０】
つまり、上記の様なエッジの発生状態の場合には、終了エッジの時刻は、インプットキャプチャで検出できないが、例えば終了時刻を現在時刻で代用したとしても、その誤差は小さいので、精度良く積算時間を求めることができる。
（１１）請求項１１の発明では、クロック発生器と、前記コンパレータ出力に応じて前記クロック発生器によるクロック信号をオン・オフするスイッチと、該スイッチによりオン・オフされるクロック信号をカウントするカウンタと、を備えたことを特徴とする。
【００３１】
本発明では、積算時間を算出するための構成を、簡単なハード構成で実現できる。また、マイコンのみで積算時間を算出する場合に生じるＣＰＵ処理遅れによる誤差が無いため、一層精度良く積算時間を算出することができる。
（１２）請求項１２の発明では、前記検出区間の開始時に前記カウンタをリセットし、前記検出区間の終了時に前記カウンタの出力を取り込むことを特徴とする。
【００３２】
本発明は、カウンタの使用方法を例示したものである。
（１３）請求項１３の発明は、請求項１〜１０のいずれかに記載の内燃機関の燃焼検出装置の機能を実現するための手段を有するプログラムを示している。
つまり、上述した内燃機関の燃焼検出装置の機能を実現するための各手段は、コンピュータのプログラムにより実行される処理により実現することができる。
【００３３】
（１４）請求項１４の発明は、請求項１３に記載のプログラムの機能を実現するための手段を記憶している記録媒体を示している。
つまり、上述した様なプログラムをコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ＲＯＭやバックアップＲＡＭ等をコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このＲＯＭあるいはバックアップＲＡＭ等をコンピュータシステムに組み込んで用いても良い。
【００３４】
【発明の実施の形態】
次に、本発明の内燃機関の燃焼検出装置、プログラム、及び記録媒体の実施の形態の例（実施例）について、図面に基づいて説明する。
（実施例１）
本実施例の内燃機関の燃焼検出装置は、点火プラグの燻り有無や燻りの進行の程度を検出することができる装置である。
【００３５】
ａ）まず、本実施例の内燃機関の燃焼検出装置のシステム構成について説明する。
本実施例では、内燃機関（エンジン）は、４気筒ガソリンエンジンとして構成され、この内燃機関においては、図１に示す様に、マイクロコンピュータ（マイコン）１を主要部とする電子制御装置（ＥＣＵ）３から、イグナイタ５に対して点火信号ＩＧＴが出力され、この点火信号ＩＧＴにより、イグナイタ５から点火プラグ７に対して高電圧が印加されるように構成されている。
【００３６】
前記イグナイタ５内には、周知の一次電流の制御を行うイグナイタ回路９、電源１１からの電圧を利用して高電圧を発生させるイグニッションコイル１３、及び点火後に発生するイオン電流を検出するイオン検出回路１５が設けられている。
【００３７】
特に本実施例では、前記イオン検出回路１５には、イオン電流を電圧に変換する電流電圧変換器１７が接続され、更に、電流電圧変換器１７には、コンパレータ１９を介して時間測定部（時間測定回路）２１が接続されている。
前記コンパレータ１９により、電流電圧変換器１７から出力されるアナログの電圧信号と所定の閾値とが比較され、この電圧信号（従ってイオン電流を示すイオン電流信号の電圧レベル）が所定の閾値を超えた場合には、コンパレータ１９からの信号を出力が高（ＨＩ）となり、そうでない場合には低（ＬＯ）となる。
【００３８】
一方、前記時間測定部２１は、クロック発生器２３とスイッチ（トランジスタ）２５とカウンタ２７とを備える。
この時間測定部２１では、後述する様に、コンパレータ出力がＨＩの場合に、スイッチ２５がＯＮとなり、コンパレータ出力がＬＯの場合に、スイッチ２５がＯＦＦとなる。そして、スイッチ２５がＯＮの場合には、カウンタ２７によるカウントアップが行われ、このカウント値がマイコン１に出力される。
【００３９】
ｂ）次に、本実施例の燃焼検出装置の動作を説明する。
▲１▼まず、イグナイタ５における基本動作を説明する。
エンジンの膨張（燃焼）行程において、ＥＣＵ３からの点火信号ＩＧＴにより、イグナイタ回路９が駆動され、（図示しないが）一次巻線に流れる一次電流の通電・遮断が行われると、一次電流の遮断時に、二次巻線に負の高電圧からなる二次電圧  が誘起される。これにより、点火プラグ７の（図示しないが）グランド電極から放電用電極に向けて放電火花が生じ、燃焼室内の燃料（混合気）が燃焼される。
【００４０】
一方、この膨張（燃焼）行程において、正常に燃焼が行われると、燃焼室内には大量の陽イオンが発生する。そして、この発生した陽イオンはイオン電流となってイオン検出回路１５に流れるので、陽イオンの発生量に応じたイオン電流を示す信号（イオン電流信号）がイオン検出回路１５から出力される。
【００４１】
従って、後述する様に、このイオン検出回路１５からの出力に基づいて、燻りの状態を検出するのである。
▲２▼次に、本実施例の燃焼検出装置における要部の動作を説明する。
本実施例では、前記イオン検出回路１５から電流電圧変換器１７を介して得られたイオン電流信号は、上述した様にコンパレータ１９に入力され、コンパレータ１９からのＨＩ・ＬＯの出力は時間測定部２１に入力され、時間測定部２１からのカウンタ値を示す出力はＥＣＵ３のマイコン１に入力される。
【００４２】
このマイコン１では、燻りを検出するための検出区間が、点火プラグ７への通電期間内（例えば点火信号ＩＧＴのＯＮから７００μｓの期間）に設定されるとともに、点火プラグ７の燻りの進行の程度の検出等の処理が行われる。
また、マイコン１からは、カウンタ２７に対して、カウンタ値をリセットするリセット信号が検出区間開始時に出力される。更に、マイコン１からは、検出区間終了後に、カウンタ２７に対して読み取り信号が出力され、それに応じて、検出区間終了時におけるカウンタ信号がマイコン１に出力される。
【００４３】
尚、このカウンタ信号とは、後述する様に、イオン電流信号の電圧レベルが所定の閾値を超えた場合における積算時間を示すものである。
▲３▼次に、本実施例の燃焼検出装置の動作の要部を、図３に示すタイミングチャートに基づいて説明する。
【００４４】
図３に示す様に、点火信号ＩＧＴが出力（ＯＮ）となった時点から、燻りを検出するための検出区間が開始され、例えば７００μｓ後に検出区間が終了する。尚、点火信号ＩＧＴがＯＮとなった場合には、リセット信号により、カウンタ値が０となる。
【００４５】
そして、点火信号ＩＧＴのＯＮにより、点火プラグ７に放電が行われて燃焼が始まると、それに伴うイオン電流信号が検出される。尚、図３では、イオン電流信号の電圧値が反転表示されており、同図の下方の方ほど電圧値が大であることを示している。
【００４６】
コンパレータ１９では、イオン電流信号の電圧レベル（以下単にイオン電流信号とも記す）を所定の閾値（Ｖｔｈ）と比較し、イオン電流信号が閾値を上回った場合には、コンパレータ出力をＨＩとする。
スイッチ２５は、コンパレータ出力がＨＩの場合にＯＮとなるので、カウンタ２７によるカウントが開始され、コンパレータ出力がＯＦＦとなるまで、カウントが継続される。
【００４７】
例えば図３では、ノイズによってコンパレータ出力がＯＦＦとなるまでの期間Ｔ１にわたってカウントが継続され、コンパレータ出力がＯＦＦの期間はカウントが停止される。その後、コンパレータ出力がＯＮとなるとカウントが再開され、コンパレータ出力がＯＦＦまでの期間Ｔ２にわたってカウントが継続され、コンパレータ出力がＯＦＦとなるとカウントが終了する。
【００４８】
そして、検出区間が終了した際のカウント値は、マイコン１に読み込まれる。即ち、期間Ｔ１に対応したカウント値ＣＴ１と期間Ｔ２に対応したカウント値ＣＴ２とを合計した値（即ち両期間Ｔ１、Ｔ２の積算時間Ｔｓｕｍに対応したカウント値ＣＴｓｕｍ）が、マイコン１に入力される。よって、このカウント値ＣＴｓｕｍから実際の期間の積算時間Ｔｓｕｍが分かる。
【００４９】
従って、マイコン１では、前記積算時間Ｔｓｕｍが、（燻りの有無を判定するための）所定の判定値以上か否かを判定し、この判定値以上の場合には、燻りがあると判定する。
尚、カウント値ＣＴｓｕｍと積算時間Ｔｓｕｍとは１対１の関係があるので、カウント値ＣＴｓｕｍを所定の判定値と比較することにより、燻りの有無を判定するようにしてもよい。
【００５０】
ｃ）この様に、本実施例では、点火期間において所定の燻りの検出区間を設定し、その設定区間において、イオン電流信号が所定の閾値を上回った期間を積算し、その積算時間が所定の判定値以上となった場合には、燻りがあると判断している。
【００５１】
これにより、検出区間において、イオン電流信号にノイズが発生した場合でも、確実に燻りの有無を判定することができるという顕著な効果を奏する。
よって、例えば燻りがあると判定された場合には、点火終了後のイオン電流信号に基づいて、上述した従来技術の手法を用いて、燻りの進行の程度を判定することができる。
【００５２】
また、本実施例では、時間測定部の様なハード構成を用いて燻りの有無を判定しているので、精度良く積算時間を求めることができ、それにより、燻りの有無を正確に判定することができる。
尚、積算時間が所定値より少ない場合には、失火と判定できるので、積算時間から失火の有無を検出することができる。
（実施例２）
次に、実施例２について説明するが、前記実施例１と同様な箇所の説明は省略する。
【００５３】
本実施例は、前記実施例１とは、ハード構成による時間測定部を用いるのではなく、ソフト的に積算時間を求める点が大きく異なる。
つまり、本実施例では、割り込み機能付きのインプットキャプチャ機能を持つマイコンにより、コンパレータ出力のエッジ時間を検出して時間測定を行う。また、ここでは、インプットキャプチャの使用数を節約するために、両エッジ検出可能なインプットキャプチャを１つだけ使用する。以下、詳細に説明する。
【００５４】
ａ）まず、本実施例の内燃機関の燃焼検出装置のシステム構成について説明する。
図４に示す様に、本実施例の燃焼検出装置は、電流電圧変換器３１を有するイグナイタ３３と、イグナイタ３３に接続された点火プラグ３５と、イグナイタ３３に接続されたコンパレータ３７と、コンパレータ３７及び（コンパレータ３７に接続された）マイコン３７を有するＥＣＵ４１を備えている。
【００５５】
前記マイコン３９は、コンパレータ出力を入力する入力ポート４３と、コンパレータ出力の立ち上がり又は立ち下がりのエッジを検出するエッジ検出部と、エッジを検出した際の時間を記憶するインプットキャプチャ４７と、検出するエッジを切り替える有効エッジ切換部４９と、周知のタイマ５１、ＣＰＵ５３、ＲＡＭ５５、及びＲＯＭ５７とを備えている。
【００５６】
ｂ）次に、前記マイコン３９にて実施される処理について説明する。
▲１▼まず、点火プラグ３５の通電中における処理について説明する。尚、本処理は、通電開始毎に実施される。
図５のフローチャートに示す様に、ステップ（Ｓ）１００では、燻りを検出する検出区間の開始タイミングであるか否かを判定する。ここで肯定判断されるとステップ１１０に進み、そうで無い場合は待機する。
【００５７】
ステップ１１０では、後に詳述する様に、イオン電流信号が閾値以上である時間に相当する積算時間を算出するために、積算時間算出処理を行う。
続くステップ１２０では、検出区間の終了タイミングであるか否かを判定する。ここで肯定判断されると一旦本処理を終了し、一方否定判断されると前記ステップ１１０に戻る。
【００５８】
従って、上述した処理により、検出区間において積算時間を求めることができる。
▲２▼次に、前記ステップ１１０の積算時間算出処理について説明する。尚、本処理は、インプットキャプチャ割込み処理であり、コンパレータ出力のエッジが検出される毎に実施される。
【００５９】
図６のフローチャートに示す様に、ステップ２００では、エッジ判定用ポートレベルのデータを、ＲＡＭ５５における記憶領域ＲＡＭ１に記憶する。つまり、コンパレータ出力がＨＩかＬＯかを記憶する。
また、インプットキャプチャのデータをＲＡＭ５５における他の記憶領域ＲＡＭ２に記憶する。つまり、エッジを検出した際の時刻データをＲＡＭ２に記憶する。
【００６０】
続くステップ２１０では、インプットキャプチャ割込みのリクエストをクリアし、立ち上がり及び立ち下がりの両エッジの検出を許可する。
続くステップ２２０では、エッジ検出部４５にてエッジが検出されたので、ＲＡＭ１のデータがＨＩを示すデータか否か、即ち、今回検出されたエッジが立ち上がり（↑エッジ）か否かを判定する。ここで、立ち上がりと判定されるとステップ２３０に進み、一方立ち下がり（↓エッジ）と判定されるとステップ２４０に進む。つまり、今回検出されたエッジがＨＩである場合には、ＬＯからＨＩに変化した立ち上がりと判断できるからである。
【００６１】
ステップ２３０では、コンパレータ出力がＬＯからＨＩに変化したので、ＲＡＭ２に記憶されている時刻データを測定開始時刻として、一旦本処理を終了する。
一方ステップ２４０では、コンパレータ出力がＨＩからＬＯに変化したので、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データ（即ち立ち下がり時を示す時刻データ）から測定開始時刻を引いて差（コンパレータ出力がＨＩの期間）を求め、この差を積算時間Ｔｓｕｍに加算し、一旦本処理を終了する。
【００６２】
従って、上述した処理により、コンパレータ出力がＨＩの時間を合計した積算時間Ｔｓｕｍを求めることができる。
ｃ）この様に、本実施例では、マイコン３９のインプットキャプチャ機能を用いて、検出区間におけるコンパレータ出力がＨＩの積算時間を求めることができるので、前記実施例１と同様に、この積算時間から、燻りの有無を正確に判定することができる等の効果を奏する。
【００６３】
また、本実施例では、前記実施例１の時間測定部の様なハード構成を使用しないので、構成を簡易化できるという利点もある。
尚、エッジの判定方法は、エッジ検出時にエッジ情報が記憶される機能がある場合には、その情報を使用し、無い場合は、ポートを読み込んで代用することも可能である。
（実施例３）
次に、実施例３について説明するが、前記実施例２と同様な箇所の説明は省略する。
【００６４】
本実施例では、前記実施例２と同様にソフト的に積算時間を求めるが、その手法が異なる。
ａ）図７に示す様に、前記実施例２では、インプットキャプチャは１本だけであるので、検出したエッジの情報を取り込む前に次のエッジが来ると、最初のエッジのデータに関する抜けが生じることがある。つまり、ノイズの発生時期によっては、積算時間ＴｓｕｍがＴ２のみとなって誤差が生じる可能性があるので、本実施例はその点を改善している。
【００６５】
具体的には、図８のフローチャート（積算時間算出処理）に示す様に、ステップ３００では、インプットキャプチャ割込みのリクエストをクリアし、立ち上がり及び立ち下がりの両エッジの検出を許可する。
続くステップ３１０では、エッジ判定用ポートレベルのデータを、前記ＲＡＭ１に記憶し、また、インプットキャプチャのデータを前記ＲＡＭ２に記憶する。
【００６６】
続くステップ３２０では、ＲＡＭ１のデータがＨＩを示すデータか否か、即ち、今回検出されたエッジが立ち上がりか否かを判定する。ここで、立ち上がりと判定されるとステップ３３０に進み、一方立ち下がりと判定されるとステップ３７０に進む。
【００６７】
ステップ３３０では、測定中フラグがＬＯ（測定中でない）かＨＩ（測定中）かを判定する。ここで、測定中でないと判定されるとステップ３４０に進み、一方測定中であると判定されるとステップ３５０に進む。尚、この測定中フラグとは、測定が開始されるとＨＩに設定されるフラグである。
【００６８】
ステップ３４０では、立ち上がりエッジが検出され且つ今まで測定中ではないので、ＲＡＭ２に記憶されている時刻データを測定開始時刻として設定する。また、測定が開始されたので、測定中フラグをＨＩに設定し、一旦本処理を終了する。
【００６９】
一方、ステップ３５０では、立ち上がりエッジが検出され且つ今まで測定中であるので、即ち、立ち下がりエッジが検出される前に新たに立ち上がりエッジが検出されたので、この時点までの積算時間を求める。具体的には、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データ（即ち最新の立ち上がり時を示す時刻データ）から測定開始時刻を引いて差（両立ち上がりエッジの間の期間）を求め、この差を積算時間Ｔｓｕｍに加算する。
【００７０】
続くステップ３６０では、前記最新の立ち上がりエッジの検出時から、新たに積算時間を計測するために、最新のＲＡＭ２の時刻データを測定開始時刻として設定し、一旦本処理を終了する。
また、前記ステップ３２０で立ち下がりエッジであると判定されて進むステップ３７０では、測定中フラグがＨＩかＬＯかを判定する。ここでＬＯと判定されると、ノイズ等によるエッジであるとみなして一旦本処理を終了し、一方ＨＩと判定されるとステップ３８０に進む。
【００７１】
ステップ３８０では、立ち下がりエッジが検出され且つ今まで測定中であるので、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データ（即ち最新の立ち下がり時を示す時刻データ）から測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算し、測定中フラグをＬＯに設定し、一旦本処理を終了する。
【００７２】
従って、上述した処理により、ノイズがある場合でも、より精度良く積算時間を求めることができる。
ｂ）この様に、本実施例では、エッジの立ち上がりや立ち下がりの状態だけでなく、測定中フラグを用いて積算時間のタイミングを判定しているので、インプットキャプチャが１本の場合でも、精度良く積算時間を求めることができる。
【００７３】
つまり、検出したエッジの情報を取り込む前に次のエッジが来きた場合でも、現在測定中であるときには、一旦それまでの積算時間を求めるので、エッジのデータに関する抜けが生じることがない。
例えば図９（ａ）に示す様に、立ち下がりエッジの情報を取り込む前に次の立ち上がりエッジが来た場合には、一旦それまでの時間Ｔ’を求めるとともに、立ち上がりエッジから新たな時間計測を開始して次の立ち下がりまでの時間Ｔ２を求め、それらを合計して積算時間Ｔｓｕｍを求めるので、積算時間の誤差は小さくなる。尚、Ｔ１’＝Ｔ１（本来の立ち下がりエッジまでの時間）＋処理遅れ時間であるので、その誤差は、処理遅れ時間内である。また、この場合には、測定中フラグは、最初の立ち上がりエッジから最後の立ち下がりエッジまでの期間にわたり、ＨＩに設定されている。
【００７４】
また、例えば図９（ｂ）に示す様に、最初の立ち上がりから立ち下がりまでの時間が短い場合には、処理遅れ時間の関係から、最初のエッジ間の時間Ｔ１を測定できないことがある。しかし、その時間Ｔ１は、処理遅れ時間内であるので、誤差は小さく、次のエッジ間の時間Ｔ２を積算時間Ｔｓｕｍとした場合でも、その精度は十分である。
（実施例４）
次に、実施例４について説明するが、前記実施例３と同様な箇所の説明は省略する。
【００７５】
本実施例では、前記実施例３と同様にソフト的に積算時間を求めるが、その手法が異なる。
ａ）図１０に示す様に、前記実施例３では、ノイズ周期と（インプットキャプチャの）割込み周期が重なった場合には、測定中フラグはＬＯのままとなって、両エッジ間の時間を測定できない状態が継続し、測定誤差が大きくなる可能性があるので、本実施例はその点を改善している。
【００７６】
具体的には、図１１のフローチャート（積算時間算出処理）に示す様に、ステップ４００では、インプットキャプチャ割込みのリクエストをクリアする。
続くステップ４１０では、エッジ判定用ポートレベルのデータを、前記ＲＡＭ１に記憶し、また、インプットキャプチャのデータを前記ＲＡＭ２に記憶する。
【００７７】
続くステップ４２０では、ＲＡＭ１のデータがＨＩを示すデータか否か、即ち、今回検出されたエッジが立ち上がりか否かを判定する。ここで、立ち上がりと判定されるとステップ４３０に進み、一方立ち下がりと判定されるとステップ４８０に進む。
【００７８】
ステップ４３０では、測定中フラグがＬＯ（測定中でない）かＨＩ（測定中）かを判定する。ここで、測定中でないと判定されるとステップ４４０に進み、一方測定中であると判定されるとステップ４６０に進む。
ステップ４４０では、立ち上がりエッジが検出され且つ今まで測定中ではないので、ＲＡＭ２に記憶されている時刻データを測定開始時刻として設定する。また、測定が開始されたので、測定中フラグをＨＩに設定する。
【００７９】
続くステップ４５０では、両エッジの検出を許可し、一旦本処理を終了する。一方、ステップ４６０では、立ち上がりエッジが検出され且つ今まで測定中であるので、この時点までの積算時間を求める。具体的には、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データから測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
【００８０】
続くステップ４７０では、前記最新の立ち上がりエッジの検出時から、新たに積算時間を計測するために、最新のＲＡＭ２の時刻データを測定開始時刻として設定し、前記ステップ４５０に進む。
また、前記ステップ４２０で立ち下がりエッジであると判定されて進むステップ４８０では、測定中フラグがＨＩかＬＯかを判定する。ここでＬＯと判定されるとステップ４９０に進み、一方ＨＩと判定されるとステップ５００に進む。
【００８１】
ステップ４９０では、現在時刻からインプットキャプチャに記憶されている最新のエッジの時間を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
つまり、立ち上がりエッジの処理が遅れ、測定開始する前に立ち下がりエッジがきた場合には、立ち下がりエッジの検出は禁止してある（即ち立ち上がりエッジのみ有効としてあるので）ので、インプットキャプチャには立ち上がりエッジの時刻が記憶されている。よって、立ち上がりエッジから現在までの時間を求め、その時間を加算するのである。
【００８２】
続くステップ５１０では、立ち上がりエッジのみ検出を許可し、一旦本処理を終了する。
一方、ステップ５００では、立ち下がりエッジが検出され且つ今まで測定中であるので、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データから測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算し、測定中フラグをＬＯに設定し、前記ステップ５１０に進み、一旦本処理を終了する。
【００８３】
ｂ）次に、本実施例の効果を説明する。
▲１▼本実施例では、図１２に例示する様に、立ち上がりエッジの処理が遅れ、処理が終了しない間に立ち下がりエッジがきた場合には、エッジ検出を禁止するように設定してあるので、即ち、測定中でないときは、立ち上がりエッジのみを有効としているので、インプットキャプチャに記憶してある立ち上がりエッジの時刻が上書きされない。そのため、ほぼコンパレータ出力に対応した時間を測定することができる。
【００８４】
これにより、定期的に発生する割り込み処理とノイズの発生周期が重なった場合でも、精度良く積算時間を求めることができる。
また、本実施例では、前記ステップ５１０にて検出エッジを変更（立ち上がりエッジのみ有効と）した後に、無効とした立ち下がりエッジが発生した場合には、有効として検出したエッジの処理後に、無効としたエッジを検出した場合に相当する処理を行う。具体的には、立ち上がりエッジの処理の終了時を、立ち下がりエッジの発生時とみなして、測定時間を求める処理を行う。
【００８５】
これにより、ＣＰＵの遅れ処理により、エッジを取り逃がした場合でも、１回の時間測定における誤差を、ＣＰＵ処理遅れ時間以内に抑えることが可能なので、この点からも、精度の良い積算時間を求めることができる。
つまり、積算時間Ｔｓｕｍは、Ｔ１’＋Ｔ２’＋Ｔ３’＋Ｔ４’により求めることができるが、Ｔ１’〜Ｔ４’における各誤差時間（コンパレータ出力に対応した各時間Ｔ１〜Ｔ４との誤差）は、処理遅れ時間の範囲内であるので、各時間Ｔ１’〜Ｔ４’を加算した積算時間Ｔｓｕｍの誤差も十分に小さいものとなる。
【００８６】
▲２▼また、マイコンのインプットキャプチャ機能を用いて割込み処理にて積算時間を測定する場合には、割込み処理中に有効なエッジを検出すると、インプットキャプチャに記憶された情報が上書きされてしまう。そのため、インプットキャプチャの情報（インプットキャプチャ時刻、検出エッジ）は、できるだけ早く取得することが望ましい。
【００８７】
しかし、図１３に示す様に、インプットキャプチャの情報を取得してから、割込みリクエストをクリアする間に有効なエッジが検出された場合には、インプットキャプチャ時刻は更新されるが、リクエストクリアのために処理抜けが発生する。そのため、積算時間ＴｓｕｍはＴ１のみとなって、積算時間Ｔｓｕｍの誤差が大きくなる可能性がある。
【００８８】
この対策として、本実施例では、インプットキャプチャの情報を取得する前に、割り込みリクエストをクリアしているので、処理抜けが発生せず、よって、積算時間の精度を上げることができる。
例えば図１４（ａ）に、割込みリクエストクリアからエッジ情報取得の間に有効エッジが無い場合を示す様に、インプットキャプチャの情報を取得する前に、割り込みリクエストをクリアを実施することにより、コンパレータ出力に対応した時間Ｔ１、Ｔ２を精度良く求めることができ、両時間Ｔ１、Ｔ２を合計することにより、精度良く積算時間を求めることができる。
【００８９】
また、例えば図１４（ｂ）に、割込みリクエストクリアからエッジ情報取得の間に有効エッジがある場合を示す様に、インプットキャプチャの情報を取得する前に、割り込みリクエストをクリアを実施することにより、割込みリクエストクリア直後の最初の処理Ａ１にて、最初のコンパレータ出力に対応した時間として、最初のエッジの立ち上がりから次のエッジの立ち上がりまでの時間Ｔ１’を求めることができる。
【００９０】
更に、処理Ａ１後の処理Ａ２により、再度両立ち上がりエッジ間の時間算出を行うが、測定開始時刻＝インプットキャプチャ時刻のため、時間は０となり、時間Ｔ２の算出に特に影響はない。
従って、この場合には、積算時間Ｔｓｕｍ＝Ｔ１’＋Ｔ２となるが、Ｔ１’とＴ１との誤差は処理遅れ時間内であるので、その誤差は小さいものであり、高い積算時間の精度を有している。
【００９１】
特に、イオン電流信号の様に、測定すべき時間が少なく、またノイズが多発する可能性もある状況では、インプットキャプチャ割込みの負荷は小さいことが望ましいので、その点からも、本実施例は好適である。
尚、割込みリクエストのクリア後に、ポートをモニタする等して有効エッジが発生したと判断される場合に、処理抜けが発生しても積算時間の誤差が小さくなるような処理を施してもよいが、処理負荷が大きくなってしまうので、本実施例の手法が好適である。
（実施例５）
次に、実施例５について説明するが、前記実施例４と同様な箇所の説明は省略する。
【００９２】
本実施例では、前記実施例４と同様にソフト的に積算時間を求めるが、その手法が異なる。
ａ）前記実施例４のようにして、有効エッジの切替を行うと、図１５に示す様に、積算時間の誤差が大きくなる可能性がある。即ち、ＣＰＵが立ち上がりエッジ（開始エッジ：↑エッジ）を検出してから、立ち下がりエッジ（終了エッジ：↓エッジ）を有効に切り替えるまでの間に、立ち下がりエッジが発生した場合、立ち下がりエッジを検出できず、次のエッジが発生するまでの時間を測定する可能性があるので、本実施例はその点を改善している。
【００９３】
具体的には、図１６のフローチャート（積算時間算出処理）に示す様に、ステップ６００では、インプットキャプチャ割込みのリクエストをクリアする。
続くステップ６１０では、エッジ判定用ポートレベルのデータを、前記ＲＡＭ１に記憶し、また、インプットキャプチャのデータを前記ＲＡＭ２に記憶する。
【００９４】
続くステップ６２０では、ＲＡＭ１のデータがＨＩを示すデータか否か、即ち、今回検出されたエッジが立ち上がりか否かを判定する。ここで、立ち上がりと判定されるとステップ６３０に進み、一方立ち下がりと判定されるとステップ７５０に進む。
【００９５】
ステップ７５０では、測定中フラグがＨＩかＬＯかを判定する。ここでＬＯと判定されるとステップ７６０に進み、一方ＨＩと判定されるとステップ７７０に進む。
ステップ７６０では、現在時刻からインプットキャプチャに記憶されている最新のエッジの時間を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
【００９６】
続くステップ７９０では、（ステップ６２０以降の立ち下がりエッジの処理において）立ち上がりエッジのみ検出を許可し、一旦本処理を終了する。
一方、ステップ７７０では、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データから測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
【００９７】
続くステップ７８０では、測定中フラグをＬＯに設定し、前記ステップ７９０に進んで同様な処理を行い、一旦本処理を終了する。
また、前記ステップ６２０で立ち上がりエッジであると判断されて進むステップ６３０では、両エッジの検出を許可する。
【００９８】
続くステップ６４０では、前記ステップ６１０の処理以降に、立ち下がりエッジのエッジ抜けが発生したか否かを、例えばポートレベルをモニタする等によって判定する。ここでエッジ抜けが発生したと判断されるとステップ６９０に進み、一方エッジ抜けが発生していないと判断されるとステップ６５０に進む。
【００９９】
ステップ６５０では、測定中フラグがＬＯ（測定中でない）かＨＩ（測定中）かを判定する。ここで、測定中でないと判定されるとステップ６６０に進み、一方測定中であると判定されるとステップ６７０に進む。
ステップ６６０では、ＲＡＭ２に記憶されている時刻データを測定開始時刻として設定する。また、測定が開始されたので、測定中フラグをＨＩに設定し、一旦本処理を終了する。
【０１００】
一方、ステップ６７０では、この時点までの積算時間を求める。具体的には、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データから測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
続くステップ６８０では、前記最新の立ち上がりエッジの検出時から、新たに積算時間を計測するために、最新のＲＡＭ２の時刻データを測定開始時刻として設定し、一旦本処理を終了する。
【０１０１】
また、前記ステップ６４０にてエッジ抜けが発生したと判断されて進むステップ６９０では、測定中フラグがＨＩ（測定中）かＬＯ（測定中でない）かを判定する。ここで、測定中であると判定されるとステップ７００に進み、一方測定中でないと判定されるとステップ７２０に進む。
【０１０２】
ステップ７００では、この時点までの積算時間を求める。具体的には、ＲＡＭ２に記憶されている最新のＲＡＭ２の時刻データから測定開始時刻を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
続くステップ７１０では、後述するステップ７２０〜７４０で、立ち下がりエッジに相当する処理を行って測定を終了するので、測定中フラグをＬＯに設定する。
【０１０３】
続くステップ７２０では、最新の立ち上がりエッジの検出時から、新たに積算時間を計測するために、最新のＲＡＭ２の時刻データを測定開始時刻として設定する。
続くステップ７３０では、この時点までの積算時間を求める。具体的には、現在時刻（即ち立ち下がりエッジ抜けを検出した時点の現在時刻）から測定開始時刻（即ち立ち上がりエッジの検出時刻）を引いて差を求め、この差を積算時間Ｔｓｕｍに加算する。
【０１０４】
続くステップ７４０では、立ち上がりエッジのみ検出を許可し、一旦本処理を終了する。
即ち、前記ステップ７１０〜７４０では、通常の様に、立ち下がりエッジが入って立ち下がりエッジ処理を行うのと同等な処理を行う。
【０１０５】
ｂ）次に、本実施例の効果を、図１７のタイミングチャートを用いて説明する。
本実施例では、立ち上がりエッジの処理（開始エッジ処理：開始エッジの発生時間の記憶や読取り）で、立ち下がりエッジを有効にした後に、立ち下がりエッジが発生したか否かを判定している。
【０１０６】
そして、立ち下がりエッジが発生している場合には、誤差が大きくならないように、立ち上がりエッジの処理中に立ち下がりエッジの処理（終了エッジ処理：終了エッジの発生時間の記憶や読取り）に相当する処理を行っている。
即ち、立ち上がりエッジの処理中に、立ち上がりエッジ抜けを検出した場合には、「現在時刻−立ち下がりエッジの検出時刻」を積算時間Ｔｓｕｍに加算し、立ち上がりエッジのみを有効とし、測定中フラグをＬＯとする処理を行っている。
【０１０７】
つまり、上記の様なエッジの発生状態の場合には、立ち下がりエッジの時刻（終了時刻）は、インプットキャプチャで検出できないが、終了時刻を現在時刻で代用したとしても、その誤差は、ステップ６１０〜７３０の処理時間内におさえることができるので、本実施例の処理により、精度良く積算時間を求めることができる。
【０１０８】
尚、本発明は前記実施例になんら限定されるものではなく、本発明を逸脱しない範囲において種々の態様で実施しうることはいうまでもない。
（１）例えば前記各実施例の積算時間を用いる手法は、燻り検出用だけではなく、例えばプレイグニッションの検出用の時間測定にも適用できる。
【０１０９】
（２）前記各実施例では、内燃機関の燃焼検出装置について述べたが、本発明は、それらに限らず、上述したアルゴリズムに基づく処理を実行させるプログラムやそのプログラムを記憶している記録媒体にも適用できる。
この記録媒体としては、マイクロコンピュータとして構成される電子制御装置、マイクロチップ、フレキシブルディスク、ハードディスク、光ディスク等の各種の記録媒体が挙げられる。つまり、上述した内燃機関の燃焼検出装置の処理を実行させることができるプログラムを記憶したものであれば、特に限定はない。
【０１１０】
尚、前記プログラムは、単に記録媒体に記憶されたものに限定されることなく、例えばインターネットなどの通信ラインにて送受信されるプログラムにも適用される。
【図面の簡単な説明】
【図１】本発明の内燃機関の燃焼検出装置による動作例を示す説明図である。
【図２】実施例１の燃焼検出装置のシステム構成を示す説明図である。
【図３】実施例１の燃焼検出装置の動作を示すタイミングチャートである。
【図４】実施例２の燃焼検出装置のシステム構成を示す説明図である。
【図５】実施例２におけるメインの処理を示すフローチャートである。
【図６】実施例２におけるインプットキャプチャ割込み処理を示すフローチャートである。
【図７】積算時間の誤差が大きくなる状態を示す説明図である。
【図８】実施例３におけるインプットキャプチャ割込み処理を示すフローチャートである。
【図９】実施例３による効果を示すタイミングチャートである。
【図１０】ノイズ周期と割込み周期が重なった場合に積算時間の誤差が大きくなる状態を示す説明図である。
【図１１】実施例４におけるインプットキャプチャ割込み処理を示すフローチャートである。
【図１２】実施例４による効果を示すタイミングチャートである。
【図１３】処理抜けが発生した場合の状態を示す説明図である。
【図１４】実施例４による更なる効果を示すタイミングチャートである。
【図１５】積算時間の誤差が大きくなる状態を示す説明図である。
【図１６】実施例５におけるインプットキャプチャ割込み処理を示すフローチャートである。
【図１７】実施例５による効果を示すタイミングチャートである。
【図１８】従来技術の説明図である。
【符号の説明】
１、３９…マイクロコンピュータ（マイコン）
３、４１…電子制御装置（ＥＣＵ）
５、２３…イグナイタ
７、３５…点火プラグ
１７、３１…電流電圧変換器
１９、３７…コンパレータ
２１…時間測定回路（時間測定部）
２５…スイッチ
２５…カウンタ
【図１】
2004239085.tif 000003
【図２】
2004239085.tif 000004
【図３】
2004239085.tif 000005
【図４】
2004239085.tif 000006
【図５】
2004239085.tif 000007
【図６】
2004239085.tif 000008
【図７】
2004239085.tif 000009
【図８】
2004239085.tif 000010
【図９】
2004239085.tif 000011
【図１０】
2004239085.tif 000012
【図１１】
2004239085.tif 000013
【図１２】
2004239085.tif 000014
【図１３】
2004239085.tif 000015
【図１４】
2004239085.tif 000016
【図１５】
2004239085.tif 000017
【図１６】
2004239085.tif 000018
【図１７】
2004239085.tif 000019
【図１８】
2004239085.tif 000020