(57)【要約】【課題】複数の検出区間を設定してノッキング判定を行うノッキング検出装置において、ノッキング判定処理におけるＣＰＵへの過負荷を防止し、円滑な処理を実現する。【解決手段】本発明のノッキング検出装置では、各検出区間において信号取込処理が終了したものから、他の検出区間の信号取込処理の合間を用いて順次周波数分析処理を実行する。このため、全ての検出区間でのサンプリング処理が終了した後に周波数分析処理を行う場合に比べて、処理の集中を効果的に防止することができる。その結果、ＣＰＵ２１への負荷が分散され、後続するノッキング検出処理（つまり、次のＲＥＦ信号が立ち上がりで開始される処理）の抜け等を防止して、ノッキング処理全体を円滑に進めることができる。【選択図】　図２
2004124821.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に、夫々サンプリングするサンプリング手段と、
該サンプリング手段がサンプリングした各検出区間のセンサ信号について、前記特定周波数にかかる周波数成分を分析する周波数分析を行う周波数分析手段と、
該周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定するノッキング判定手段と、
を備えた内燃機関のノッキング検出装置であって、
前記周波数分析手段は、前記各検出区間において前記サンプリング手段によるサンプリングが終了したものから周波数分析を実行することを特徴とする内燃機関のノッキング検出装置。
【請求項２】
前記ノッキング判定手段は、前記各検出区間において前記サンプリング手段によるサンプリングが終了したものから、前記周波数分析手段による周波数分析に引き続きノッキングの有無を判定し、
該ノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止することを特徴とする請求項１記載の内燃機関のノッキング検出装置。
【請求項３】
内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に、夫々サンプリングするサンプリング手段と、
該サンプリング手段がサンプリングした各検出区間のセンサ信号について、前記特定周波数にかかる周波数成分を分析する周波数分析を行う周波数分析手段と、
該周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定するノッキング判定手段と、
を備えた内燃機関のノッキング検出装置であって、
前記周波数分析手段は、前記各検出区間内において前記サンプリング手段によるサンプリング周期に基づき定期的に周波数分析を実行し、
前記ノッキング判定手段は、前記各検出区間において前記サンプリング手段によるサンプリングが終了したものからノッキングの有無を判定し、
該ノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止することを特徴とする内燃機関のノッキング検出装置。
【請求項４】
前記周波数分析手段は、前記サンプリング手段のサンプリング周期毎に周波数分析を実行することを特徴とする請求項３記載の内燃機関のノッキング検出装置。
【請求項５】
内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に、夫々サンプリングするサンプリング手段と、
該サンプリング手段がサンプリングした各検出区間のセンサ信号について、前記特定周波数にかかる周波数成分を分析する周波数分析を行う周波数分析手段と、
該周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定するノッキング判定手段と、
を備えた内燃機関のノッキング検出装置であって、
前記周波数分析手段は、前記各検出区間内において前記サンプリング手段によるサンプリング周期に基づき定期的に周波数分析を実行し、
前記ノッキング判定手段は、該周波数分析手段による周波数分析の結果を用いて、該検出区間内で引き続きノッキングの有無を判定し、
該ノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止することを特徴とする内燃機関のノッキング検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関のノッキングを検出するノッキング検出装置に関する。
【０００２】
【従来の技術】
従来より、内燃機関の振動を検出し、その検出された振動を複数のクランク角度範囲毎に求め、その求められた角度範囲における特定周波数の振動成分を求め、その求められた振動成分と予め定められた所定値とを比較し、その比較した結果に基づきノッキングの有無を判定する内燃機関のノッキング検出装置が提案されている（例えば、特許文献１参照）。
【０００３】
この特許文献１に記載のノッキング検出装置では、上記特定周波数を予め複数設定し、その設定された特定周波数に対応して夫々の角度範囲（検出区間）を選定し、その設定された角度範囲における特定周波数の振動成分の大きさからノッキングの有無を判定する。
【０００４】
すなわち、同文献の実施例に記載されたノッキング検出装置では、▲１▼各検出周波数（特定周波数）について検出区間（クランク角度範囲）を設定する、▲２▼各検出区間で振動センサ信号を取り込む、▲３▼各検出区間で取り込んだ振動センサ信号について各検出周波数を分析する周波数分析を行う、▲４▼周波数分析により得られた検出周波数の周波数成分の大きさと、予め設定した判定値とを比較してノッキングの有無を判定する、といった手順でノッキング検出を行う。
【０００５】
また、同文献の更に他の実施例に記載されたノッキング検出装置では、各検出周波数毎にバンドパスフィルタ，積分器，Ａ／Ｄ変換器が設けられており、▲１▼各検出周波数について検出区間を設定する、▲２▼各検出区間で得られた検出周波数の周波数成分の積分結果を読み込む、▲３▼積分結果と予め設定した判定値とを比較してノッキングの有無を判定する、といった手順でノッキング検出を行う。
【０００６】
このような従来のノッキング検出処理を概略的に表すと、例えば図１６に示すフローチャート及び図１７に示すタイミングチャートのようになる。
すなわち、図１６及び図１７に示すように、検出開始の基準信号であるＲＥＦ信号の立ち上がりによりノッキング検出処理が起動し、例えば検出周波数１，２，３及びそれらの検出区間１〜３を順に設定する（ＳＴＥＰ０００，処理（１））。
【０００７】
そして、各検出区間において設定されたクランク角度の範囲で、夫々振動センサ信号をＡ／Ｄ変換して取り込み、ＲＡＭ等の所定領域にサンプリングしていく（ＳＴＥＰ００１，処理（６），（７），（８），（９））。
そして、全ての検出区間が終了した後、サンプリングデータを読み出して各検出周波数１〜３についての周波数分析を行い（ＳＴＥＰ００２，処理（２），（３），（４））、その後ノッキング判定を行う（ＳＴＥＰ００３，処理（５））。このとき、ノッキングが検出されると（ＳＴＥＰ００４：ＹＥＳ）、点火時期をリタード（遅角制御）させる（ＳＴＥＰ００５，処理（５））。
【０００８】
【特許文献１】
特許第２５１０７６７号公報　（第２−５頁）
【０００９】
【発明が解決しようとする課題】
しかしながら、前者の実施例に記載されたノッキング検出装置では、全検出区間のサンプリング処理が終了した後の周波数分析及びノッキング判定のタイミングにおいて、演算部であるＣＰＵにかかる負荷が高くなってしまう。このため、最後の検出区間についての処理の終了から次のノッキング判定処理の開始を表す基準信号（ＲＥＦ信号）が出力されるまで間に処理が終了しなければ、後続するノッキング判定処理が抜けてしまうという問題が生じる。
【００１０】
また、後者の更に他の実施例に記載されたノッキング検出装置では、ハードによる処理を行うため、ＣＰＵにかかる負荷がそれほど高くなることはなくても、各検出周波数毎にバンドパスフィルタ，積分器等が必要となり、コストが嵩むという問題が生じる。
【００１１】
さらに、両実施例ともに、各検出周波数毎に検出区間中において一定周期でＡ／Ｄ変換を行い、そのＡ／Ｄ変換の結果を取り込むサンプリング処理が必要である。このため、検出周波数を増やすと、全検出区間においてサンプリング処理が終了するまでＣＰＵに高負荷がかかる状態が継続するという問題があった。
【００１２】
本発明は、こうした問題に鑑みてなされたものであり、複数の検出区間を設定してノッキング判定を行うノッキング検出装置において、ノッキング判定処理におけるＣＰＵへの過負荷を防止し、円滑な処理を実現することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題に鑑み、請求項１記載のノッキング検出装置においては、サンプリング手段が、内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に夫々サンプリングする。そして、周波数分析手段が、このサンプリング手段がサンプリングした各検出区間のセンサ信号について、特定周波数にかかる周波数成分を分析する周波数分析を行い、ノッキング判定手段が、この周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定する。ここでいう「周波数分析結果」とは、例えば周波数分析により分析された周波数成分の大きさ、傾き、積分値などをいう。
【００１４】
そして特に、周波数分析手段が、各検出区間においてサンプリング手段によるサンプリングが終了したものから周波数分析を実行する。
すなわち、かかる構成では、複数の検出区間を設定してノッキング判定を行うノッキング検出装置において、全ての検出区間でのサンプリング処理が終了するのを待つことなく、サンプリングが終了した検出区間から（つまり、検出区間が終了した区間から）、他の検出区間でのサンプリング処理の合間を利用して順次周波数分析が実行される。このため、全ての検出区間でのサンプリング処理が終了した後に周波数分析処理を行う場合に比べて、全検出区間終了後の処理の集中を効果的に防止することができる。その結果、ノッキング検出装置の演算部となるＣＰＵへの負荷が分散され、後続するノッキング検出処理の抜け等を防止して、ノッキング処理全体を円滑に進めることができる。また、全体としてノッキング処理の時間を短くすることもできる。
【００１５】
また、より好ましくは、請求項２に記載のように、ノッキング判定手段が、各検出区間においてサンプリング手段によるサンプリングが終了したものから、上記周波数分析手段による周波数分析に引き続きノッキングの有無を判定し、このノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止するようにするとよい。
【００１６】
かかる構成によれば、全ての検出区間でのサンプリング処理が終了するのを待つことなく、サンプリングが終了した検出区間から周波数分析に引き続きノッキング判定処理も実行される。このため、全ての検出区間でのサンプリング処理が終了した後に行うノッキング判定処理を少なくすることができ、その結果、全ての検出区間でのサンプリング終了後のＣＰＵへの負荷をさらに低減することができる。また、ある検出区間においてノッキングが検出された時点で、以降の処理が停止されるため、無駄な処理を防止してＣＰＵへの負荷をさらに低減することができる。さらに、ノッキング検出時に必要な点火時期の変更等の処理を余裕をもって行うことができる。また、全体としてノッキング処理の時間をさらに短くすることもできる。
【００１７】
また、請求項３記載のノッキング検出装置においても、サンプリング手段が、内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に夫々サンプリングする。そして、周波数分析手段が、このサンプリング手段がサンプリングした各検出区間のセンサ信号について、特定周波数にかかる周波数成分を分析する周波数分析を行い、ノッキング判定手段が、この周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定する。
【００１８】
そして特に、周波数分析手段が、各検出区間内においてサンプリング周期に基づき定期的に周波数分析を実行し、ノッキング判定手段が、各検出区間においてサンプリング手段によるサンプリングが終了したものからノッキングの有無を判定する。そして、ノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止する。
【００１９】
すなわち、かかる構成では、複数の検出区間を設定してノッキング判定を行うノッキング検出装置において、定期的に周波数分析が実行される。ここで、「定期的」とは、例えばサンプリング周期の定数倍の周期等が考えられる。つまり、各検出区間内において周波数分析が逐次行われるため、検出区間のサンプリング終了時の周波数分析処理を少なくすることができる。このため、全ての検出区間でのサンプリング処理が終了した後に周波数分析処理を行う場合に比べて、処理の集中を効果的に防止することができる。その結果、ノッキング検出装置の演算部となるＣＰＵへの負荷が分散され、後続するノッキング検出処理の抜け等を防止して、ノッキング処理全体を円滑に進めることができる。
【００２０】
また特に、各検出区間において終了タイミングが近いものがある場合においては、このように検出区間内で周波数分析を行うことで、最後の検出区間におけるサンプリング終了後の周波数分析処理を少なくすることができ、ＣＰＵへの負荷低減の効果がより顕著に発揮される。また、周波数分析を定期的に行うことで、その処理の際に使用するＲＡＭ等の記憶装置の使用領域を節約することができる。
【００２１】
その際、請求項４に記載のように、周波数分析手段が、サンプリング手段のサンプリング周期毎に周波数分析を実行するようにするのがよい。
すなわち、センサ信号のサンプリング処理及び周波数分析処理ともに、非常に短い周期で処理を実施することがあるため、センサ信号データのレジスタへの退避等各処理の起動にかかるオーバーヘッドがＣＰＵへの負荷に与える影響が大きい。そこで、上記構成のようにして、信号取込処理に連続して定期的に周波数分析を実行することで、当該周波数分析処理起動用のオーバーヘッドがなくなり、結果的にＣＰＵへの負荷を低減することができるのである。
【００２２】
また、請求項５記載のノッキング検出装置においても、サンプリング手段が、内燃機関の振動を検出するノックセンサから出力されるセンサ信号を、内燃機関固有の複数の特定周波数に対応して予め設定した複数のクランク角度範囲の検出区間毎に夫々サンプリングする。そして、周波数分析手段が、このサンプリング手段がサンプリングした各検出区間のセンサ信号について、特定周波数にかかる周波数成分を分析する周波数分析を行い、ノッキング判定手段が、この周波数分析手段による周波数分析結果と予め定める設定値とを比較して、内燃機関のノッキングの有無を判定する。
【００２３】
そして特に、周波数分析手段が、各検出区間内において定期的に周波数分析を実行し、ノッキング判定手段が、この周波数分析手段による周波数分析の結果を用いて、検出区間内で引き続きノッキングの有無を判定する。そして、ノッキング判定手段によりノッキングが検出された時点で、以降の処理を停止する。
【００２４】
すなわち、かかる構成では、複数の検出区間を設定してノッキング判定を行うノッキング検出装置において、検出区間内において定期的に周波数分析が実行され、その結果を用いて引き続きノッキング判定が行われる。このため、検出区間でのサンプリングの終了タイミングに拘わらず、ノッキングをより早く検出することができる。そして、ノッキングが検出されると直ちに処理が停止されるため、ＣＰＵへの負荷を低減することができる。
【００２５】
【発明の実施の形態】
以下、本発明の好適な実施例を図面と共に説明する。
［第１実施例］
本実施例は、本発明のノッキング検出装置を自動車の内燃機関に適用したものであり、図１はノッキング検出装置の概略構成を表すブロック図である。
【００２６】
同図に示すように、本実施例のノッキング検出装置１０は、内燃機関の所定のクランク角度で発生するＲＥＦ信号と、ＲＥＦ信号を起点としてクランク回転角度位置を検出するためのＰＯＳ信号と、内燃機関のシリンダヘッド等に取り付けられ、内燃機関の振動を検出してセンサ信号（電圧）に変換するノックセンサ４からの検出信号に基づき内燃機関の点火時期を演算し、その点火時期，燃料噴射量等を制御する電子制御装置（以下「ＥＣＵ」という）２０上に構成されている。
【００２７】
尚、ＥＣＵ２０には、内燃機関の運転状態を検出するセンサとして、上記クランク角センサ２及びノックセンサ４以外にも、内燃機関の吸気管に設けられ、その内部の圧力を検出する吸気圧センサ，内燃機関の冷却水温を検出する水温センサ，吸気温度を検出する吸気温センサ等の他のセンサも接続されている。
【００２８】
次に、ノッキング検出装置１０は、演算部としてのＣＰＵ２１，予め各種の数値やプログラムが書き込まれたＲＯＭ２２，演算過程の数値やフラグが所定の領域に書き込まれるＲＡＭ２３，各処理の起動又は停止に用いられるタイマ２４及びタイマコンペアレジスタ２５等からなる各種演算処理用のマイクロコンピュータにより構成されている。タイマ２４は、内部クロックに基づいて常時カウントアップされる計時用カウンタとして構成され、タイマコンペアレジスタ２５には、タイマ２４のカウント値と比較される時間情報としての値がＣＰＵ２１によってセットされる。そして、これらタイマ２４のカウント値とタイマコンペアレジスタ２５にセットされた値とが一致すると、各処理の起動又は停止が実行される。
【００２９】
また、ノッキング検出装置１０は、クランク角センサ２からの出力パルス（ＲＥＦ信号，ＰＯＳ信号）を入力する入力Ｉ／Ｏ１２、ノックセンサ４からのセンサ信号をＡ／Ｄ変換するＡ／Ｄ変換器１４、及び点火制御装置６へ点火時期制御信号を出力するための出力Ｉ／Ｏ１６等を備えている。
【００３０】
そして、検出対象となる各検出周波数について、ノックセンサ４からのセンサ信号の取込みを開始するクランク角度、及び取込みを開始してから終了するまでのクランク角度の幅（つまり検出区間）は、例えば上述した従来技術（特許文献１）に記載されたように予め複数設定される。ＣＰＵ２１は、クランク角センサ２によつて検出されるＲＥＦ信号に基づきノッキング検出処理の全体を起動し、ＰＯＳ信号に基づき各気筒ごとのノッキング検出処理を起動する。そして、各検出区間に対応してノックセンサ４からのセンサ信号のサンプリングを行うと共に、ＲＯＭ２２に格納したプログラムに従って演算処理を行い、ノッキングが検出された場合に、出力Ｉ／Ｏ２５を介して点火制御装置６に点火時期制御信号を出力する。各検出区間のサンプリング時間の長さは、タイマ２４等により管理される。
【００３１】
次に、本実施例のノッキング検出装置の動作について、図２のタイミングチャートに基づいて説明する。同タイミングチャートにおいて横軸はクランク軸の回転角度位置を表している。尚、本実施例では、検出対象となる内燃機関の特定周波数（検出周波数）及びその検出区間を夫々３つに設定した例を示している。
【００３２】
同図に示すように、クランク角センサ２から出力されたＲＥＦ信号の立ち上がりによりノッキング検出処理が起動し、まず、検出対象となる検出周波数１，２，３を夫々含む検出区間１〜３が順に設定される。このとき、夫々の検出区間の検出開始タイミング，終了タイミングが、ＲＥＦ信号からの時間情報としてタイマコンペアレジスタ２５にセットされる（処理（１））。
【００３３】
そして、各検出区間において設定された検出開始タイミングで、ノックセンサ４から入力されたセンサ信号のＡ／Ｄ変換及び取込処理が夫々開始され、一定周期でＲＡＭ２３の所定領域にサンプリングされる（処理（６），（７），（８），（９））。
そして、各検出区間において設定された検出終了タイミングでタイマ２４のカウント値とタイマコンペアレジスタ２５の設定値が一致すると、センサ信号の取り込みが夫々停止され、各検出区間毎に引き続き周波数分析が実行され（処理（２），（３），（４））、その分析結果がＲＡＭ２３の所定領域に格納される。そして、全検出区間でのサンプリングと周波数分析が終了すると、続いてＲＡＭ２３内の周波数分析結果を読み出し、検出周波数の最大値と予め定める判定値（設定値）とを比較して、その最大値が判定値よりも大きい場合にノッキングが発生したと判定する。そして、ノッキングが検出されると、上記点火時期制御信号を点火制御装置６に出力して点火時期をリタード（遅角制御）させる。
【００３４】
次に、本実施例のノッキング検出処理においてＣＰＵ２１が実行する具体的処理の流れについて、図３〜図６に示すフローチャートに基づいて説明する。図３はノッキング検出全体の処理を表し、図４は検出区間開始タイミングで起動される処理を表し、図５はＡ／Ｄ変換終了タイミングで起動される処理（上記処理（６））を表し、図６は検出区間終了タイミングで起動される処理（処理（２），（３），（４））を表す。
【００３５】
図３に示すように、まず、ＲＥＦ信号でノッキング検出全体の処理が起動し、各検出周波数毎に検出区間を設定し（ＳＴＥＰ１００）、各検出区間毎に設定した終了フラグを全てＬＯにセットする（ＳＴＥＰ１０１）。そして、全ての検出区間でのサンプリング及び周波数分析が終了して、各検出区間毎に設定した検出区間終了フラグ（後述）が全てＨＩになるまで待ち状態に入る（ＳＴＥＰ１０２）。
【００３６】
その間、図４に示すように、各検出区間では、開始タイミングでサンプリング処理が起動し、ノックセンサ４から入力されるセンサ信号に対して一定周期でＡ／Ｄ変換を開始する（ＳＴＥＰ１０４）。
また、図５に示すように、このＡ／Ｄ変換が終了したタイミングで、ＲＡＭ２３への信号取込処理が起動する。この信号取込処理では、まず、次のＡ／Ｄ変換開始時間をタイマコンペアレジスタ２５に設定し（ＳＴＥＰ１０５）、Ａ／Ｄ変換結果を取り込む（ＳＴＥＰ１０６）。この信号取込処理は、検出区間が終了するまで一定のサンプリング間隔で繰り返される。
【００３７】
さらに、図６に示すように、各検出区間の終了タイミングでＡ／Ｄ変換を停止して上記信号取込処理を停止し（ＳＴＥＰ１０７）、周波数分析処理が起動して周波数分析が行われ（ＳＴＥＰ１０８）、それが終了すると各検出区間毎に終了フラグをＨＩにする（ＳＴＥＰ１０９）。尚、上述した検出区間開始処理、信号取込処理、周波数分析処理は各検出周波数毎に実行される。
【００３８】
図３に戻り、ＳＴＥＰ１０２において、全ての検出区間の終了フラグがＨＩになると（ＳＴＥＰ１０２：ＹＥＳ）、続いてノッキング判定を実行する（ＳＴＥＰ１０３）。このとき、ノッキングが検出されなければ（ＳＴＥＰ１１０：ＮＯ）、一連の処理を終了する。一方、ノッキングが検出されると（ＳＴＥＰ１１０：ＹＥＳ）、点火時期制御信号を出力して点火時期をリタードさせ（ＳＴＥＰ１１１）、全処理を終了する。
【００３９】
以上のように、本実施例のノッキング検出装置によれば、各検出区間においてサンプリング処理が終了したものから、他の検出区間の信号取込処理の合間を用いて順次周波数分析処理を実行する。このため、全ての検出区間でのサンプリング処理が終了した後に周波数分析処理を行う場合に比べて、処理の集中を効果的に防止することができる。その結果、ＣＰＵ２１への負荷が分散され、後続するノッキング検出処理（つまり、次のＲＥＦ信号が立ち上がりで開始される処理）の抜け等を防止して、ノッキング処理全体を円滑に進めることができる。
【００４０】
尚、本実施例において、ＥＣＵ１０がサンプリング手段，周波数分析手段，及びノッキング判定手段に該当する。
［第２実施例］
ノッキング検出処理においてＡ／Ｄ変換の周期が小さいと、信号取込処理によるＣＰＵ負荷も高くなるため、他の制御でもＣＰＵを使用する場合、このＣＰＵ負荷が高い状態が継続すると、処理遅れが発生しやすくなるため好ましくない。そこで、本実施例では、第１実施例のように全ての検出周波数の周波数分析が終了してからノッキング判定処理をするのではなく、各検出区間において先に周波数分析が終了したものからその周波数分析結果を用いてノッキング判定を実施し、ノッキングの検出により以降の処理を停止することで、ＣＰＵ負荷が高い状態を短くする。
【００４１】
尚、本実施例のノッキング検出装置の構成については、第１実施例のものと同様であるため、その説明については省略する。また、図７は本実施例のノッキング検出装置の動作を表すタイミングチャートであるが、第１実施例と同様の動作部分については、その説明を省略する。
【００４２】
具体的には図７に示すように、検出区間１の検出周波数１についての周波数分析が終了すると、引き続きその周波数分析結果を用いてノッキング判定を実施する（処理（１０））。検出区間２の検出周波数２及び検出区間３の検出周波数３についても同様である（処理（１１），（５））。
【００４３】
そして、各検出区間についてのノッキング判定においてノッキングが検出されると、その時点で点火時期制御信号を点火制御装置６に出力して点火時期をリタードさせ、以降の処理を停止する。同図においては、検出区間１の検出周波数１についてノッキングが検出されたため、以降の処理が停止されている（つまり、図中点線で示した部分の処理は実行されないことになる）。
【００４４】
次に、本実施例のノッキング検出処理においてＣＰＵ２１が実行する具体的処理の流れについて、図８及び図９に示すフローチャートに基づいて説明する。図８はノッキング検出全体の処理を表し、図９はノッキング判定用サブルーチンを表す。尚、各検出区間のサンプリング開始処理，信号取込処理，周波数分析処理等については第１実施例と同様のため、その説明については省略する。
【００４５】
図８に示すように、まず、ＲＥＦ信号で全体処理が起動し、各検出周波数毎に検出区間を設定し（ＳＴＥＰ２００）、各検出区間について設定した検出区間終了フラグ及びノッキング判定終了フラグ（後述）を全てＬＯにセットし（ＳＴＥＰ２０１）、全ての検出区間のノッキング判定が終了するか（ＳＴＥＰ２０８）、いずれかの検出区間でノッキングが検出されるまで（ＳＴＥＰ２０３，２０５，２０７：ＹＥＳ）、後述するノッキング判定用サブルーチンの処理を繰り返す（ＳＴＥＰ２０２，２０４，２０６）。
【００４６】
図９に示すように、ノッキング判定用サブルーチンでは、各検出区間でのサンプリング処理と周波数分析が終了して検出区間終了フラグがＨＩとなると（ＳＴＥＰ３００：ＹＥＳ）、ノッキング判定終了フラグがＨＩになってないことを確認して（ＳＴＥＰ３０１：ＮＯ）、１回だけノッキング判定を実施してノッキング判定終了フラグをＨＩにする（ＳＴＥＰ３０３）。
【００４７】
図８に戻り、全てのノッキング判定が終了する前にノッキングが検出されると（ＳＴＥＰ２０３，２０５，２０７：ＹＥＳ）、点火時期制御信号を出力して点火時期をリタードさせ（ＳＴＥＰ２０９）、全処理を停止させて終了する（ＳＴＥＰ２１０）。
【００４８】
以上のように、本実施例のノッキング検出装置によれば、全ての検出区間でのサンプリング処理が終了するのを待つことなく、サンプリングが終了した検出区間から周波数分析に引き続きノッキング判定処理も実行される。このため、全ての検出区間でのサンプリング処理が終了した後に行うノッキング判定処理を少なくすることができ、その結果、全ての検出区間でのサンプリング終了後のＣＰＵ２１への負荷をさらに低減することができる。また、ある検出区間においてノッキングが検出された時点で、以降の全処理（全Ａ／Ｄ変換、全検出区間開始処理、全検出区間終了処理）が停止されるため、無駄な処理を防止してＣＰＵ２１への負荷をさらに低減することができる。さらに、ノッキング検出時に必要な点火時期の変更等の処理を余裕をもって行うことができる。
［第３実施例］
上述した第１実施例及び第２実施例では、各検出区間終了後に夫々周波数分析，ノッキング判定を行うため、早いタイミングで大きなノッキング信号が入った場合でも、ノッキングを検出して以降の処理を停止することができるのは、最も早くて最初の検出区間終了後にノッキング判定した後である。このため、図１０のタイミングチャートに示すように、各検出区間の終了タイミングが近い場合には、検出区間終了後に処理が集中し、ＣＰＵ負荷が高くなってしまう。
【００４９】
そこで、本実施例では、センサ信号の取込み毎に周波数分析を行い、ノッキング判定を行うようにする。尚、本実施例のノッキング検出装置の構成は第１，第２実施例のものと同様であるため、その説明については省略する。また、図１１は本実施例のノッキング検出装置の動作を表すタイミングチャートであるが、第１，第２実施例と同様の動作部分については、その説明を省略する。
【００５０】
図１１に示すように、本実施例のノッキング検出装置では、周波数分析結果を毎回積算したもの（積分値）を用い、この積分値が予め設定した設定値よりも大きい場合にノッキング発生と判定するノッキング判定を行う。そして、各検出区間において一定周期でＡ／Ｄ変換が行われる毎に、信号取込み，周波数分析，ノッキング判定が連続して実行される。尚、ここでは全検出周波数についてＡ／Ｄ変換を共通で実施している。
【００５１】
そして、各検出区間についてのノッキング判定においてノッキングが検出されると、その時点で点火時期制御信号を点火制御装置６に出力して点火時期をリタードさせ、以降の処理を停止する。同図においては、検出区間１，２，３のいずれかにおいてノッキングが検出されたため、それ以降の処理が停止されている（つまり、図中点線で示した部分の処理は実行されないことになる）。
【００５２】
この場合、各検出区間においてノッキングが検出されることなく処理が終了するとしても、最後の検出区間３が終了してから、さらに信号取込処理，周波数分析，及びノッキング判定各１回分（１周期分）で全処理が終了するため、処理時間が短くなる。
【００５３】
次に、本実施例のノッキング検出処理においてＣＰＵ２１が実行する具体的処理の流れについて、図１２〜図１５に示すフローチャートに基づいて説明する。図１２はノッキング検出処理の全体を表し、図１３は検出区間開始タイミングで起動される処理を表し、図１４はＡ／Ｄ変換終了タイミングで起動される処理を表し、図１５は検出区間終了タイミングで起動される処理を表す。
【００５４】
図１２に示すように、まず、ＲＥＦ信号で全体処理が起動し、各検出周波数毎に検出区間を設定し（ＳＴＥＰ４００）、各検出区間について設定した開始フラグ及び終了フラグを全てＬＯにセットし、積分値をゼロにして初期化する（ＳＴＥＰ４０１）。そして、全て検出区間のノッキング判定が終了するか（ＳＴＥＰ４０２：ＹＥＳ）、ノッキングが検出されるまで（ＳＴＥＰ４０３：ＹＥＳ）待ち状態に入る。
【００５５】
その間、図１３に示すように、検出区間の開始タイミングにおいて、予め設定した開始フラグが全てＬＯであれば（ＳＴＥＰ４１７：ＹＥＳ）、Ａ／Ｄ変換を開始し（ＳＴＥＰ１０４）、開始フラグをＨＩにする（ＳＴＥＰ４１８）。
そして図１４に示すように、Ａ／Ｄ変換が終了したタイミングで、次のＡ／Ｄ変換開始時間をタイマコンペアレジスタ２５に設定する（ＳＴＥＰ４０４）。そして、各検出区間について予め設定した検出区間開始フラグがＨＩであり、かつ検出区間終了フラグがＬＯであることを確認して（ＳＴＥＰ４１４：ＹＥＳ）、信号取込処理（ＳＴＥＰ４０５），周波数分析（ＳＴＥＰ４０６）を順次実行する。その際、周波数分析結果については、前回までの積分値に積算されていく。そして、その積分値と予め設定した判定値（設定値）とを比較してノッキング判定が行われる（ＳＴＥＰ４０７）。これら信号取込処理，周波数分析，ノッキング判定処理は連続して行われ、この処理は、全ての検出区間が終了するまで、一定間隔で繰り返される（ＳＴＥＰ４１５，４１６）。その間、図１５に示すように、検出区間の終了タイミングで、終了フラグをＨＩにする（ＳＴＥＰ４０９）。
【００５６】
そして、検出区間中にノッキングを検出した場合には、全処理（Ａ／Ｄ変換、全検出区間開始処理、全検出区間終了処理）の起動を停止して終了する。
以上のように、本実施例のノッキング検出装置によれば、ノッキング検出区間終了タイミングにかかわらず、ノッキング検出した段階で以降の処理を停止でき、検出区間終了後に集中するはずのＣＰＵ２１への負荷を低減することができる。また、ノッキング検出しない場合でも、検出区間終了後に検出区間中の全データを用いて周波数分析する場合に比べて、周波数分析にかかる時間が小さくてすむため、検出区間終了後の処理を低減することができる。さらに、信号取込み、周波数分析共に、非常に短い周期で処理を実施する必要があるため、処理起動にかかるオーバーヘッドが負荷に与える影響が大きいが、信号取込み処理中で周波数分析を実施すれば、周波数分析処理起動用のオーバーヘッドが無くなり、ＣＰＵ２１の負荷を低減できる。
【００５７】
また、周波数分析を一定周期で実施するため、第１，第２実施例のように検出区間中の全信号データを記憶する必要がなくなり、ＲＡＭ２３の記憶領域を節約することができる。
さらに、本実施例では、各検出周波数毎にバンドパスフィルタや積分器等を設ける必要がなく、ノッキング検出装置を簡易かつ低コストに実現することができる。
【００５８】
以上、本発明の実施例について説明したが、本発明の実施の形態は、上記実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
例えば、上記各実施例では、本発明のノッキング検出装置を自動車の内燃機関に適用した例を挙げたが、その他の内燃機関に適用してもよいことはもちろんである。
【図面の簡単な説明】
【図１】本発明の第１実施例にかかるノッキング検出装置の構成を表すブロック図である。
【図２】第１実施例のノッキング検出装置の動作を表すタイミングチャートである。
【図３】第１実施例のノッキング検出処理を表すフローチャートである。
【図４】第１実施例のノッキング検出処理を表すフローチャートである。
【図５】第１実施例のノッキング検出処理を表すフローチャートである。
【図６】第１実施例のノッキング検出処理を表すフローチャートである。
【図７】第２実施例のノッキング検出装置の動作を表すタイミングチャートである。
【図８】第２実施例のノッキング検出処理を表すフローチャートである。
【図９】第２実施例のノッキング検出処理を表すフローチャートである。
【図１０】第１，２実施例のノッキング検出装置の一動作を表すタイミングチャートである。
【図１１】第３実施例のノッキング検出装置の動作を表すタイミングチャートである。
【図１２】第３実施例のノッキング検出処理を表すフローチャートである。
【図１３】第３実施例のノッキング検出処理を表すフローチャートである。
【図１４】第３実施例のノッキング検出処理を表すフローチャートである。
【図１５】第３実施例のノッキング検出処理を表すフローチャートである。
【図１６】従来のノッキング検出処理を表すフローチャートである。
【図１７】従来のノッキング検出装置の動作を表すタイミングチャートである。
【符号の説明】
２・・・クランク角センサ、　４・・・ノックセンサ、　６・・・点火制御装置、
１０・・・ノッキング検出装置、　１４・・・Ａ／Ｄ変換器、
２０・・・電子制御装置（ＥＣＵ）、　２４・・・タイマ、
２５・・・タイマコンペアレジスタ
【図１】
2004124821.tif 000003
【図２】
2004124821.tif 000004
【図３】
2004124821.tif 000005
【図４】
2004124821.tif 000006
【図５】
2004124821.tif 000007
【図６】
2004124821.tif 000008
【図７】
2004124821.tif 000009
【図８】
2004124821.tif 000010
【図９】
2004124821.tif 000011
【図１０】
2004124821.tif 000012
【図１１】
2004124821.tif 000013
【図１２】
2004124821.tif 000014
【図１３】
2004124821.tif 000015
【図１４】
2004124821.tif 000016
【図１５】
2004124821.tif 000017
【図１６】
2004124821.tif 000018
【図１７】
2004124821.tif 000019