(57)【特許請求の範囲】
【請求項１】
吸入空気量に応じた時間間隔でパルス信号を出力するエアフローセンサを備えたエンジンの吸入空気量測定装置であって、
所定のサンプリング周期をもって前記エアフローセンサからのパルス信号を取り込み、各サンプリング期間中において前記パルス信号のエッジ間隔を１パルス毎に順次周期として計測するとともに、計測されたパルス毎の周期を記憶しておく手段と、
前記記憶されているパルス毎の各周期又は該各周期の逆数である周波数もしくはそれらに相当する吸入空気量の平均値を演算する手段と、
前記記憶されているパルス毎の各周期又は前記各周波数もしくは前記各吸入空気量とそれらの前記平均値との偏差量を演算する手段と、
前記記憶されているパルス毎の各周期又は前記各周波数もしくは前記各吸入空気量についての、時間的に隣り合うもの同士の差分量を正負符号付きで演算する手段と、
前記平均値、偏差量及び正負符号付き差分量に基づいて、吸気脈動による流量変動が大きい状態、定常運転状態、及び過渡運転状態のいずれの状態であるかを判別する状態判別手段と、
燃料噴射制御のエンジン制御に使用する吸入空気量として、前記状態判別手段により判別された状態に応じて、前記平均値に相当する吸入空気量及び前記記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量のいずれかを選択してセットする吸入空気量選択手段と、を具備して構成されたエンジンの吸入空気量測定装置。
【請求項２】
前記吸入空気量選択手段は、燃料噴射制御のエンジン制御に使用する吸入空気量として、前記状態判別手段により、前記吸気脈動による流量変動が大きい状態及び定常運転状態であると判定されたときは、前記平均値に相当する吸入空気量を選択してセットし、前記過渡運転状態にあると判定されたときは、前記記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量を選択してセットすることを特徴とする請求項１に記載のエンジンの吸入空気量測定装置。
【請求項３】
前記サンプリング周期が、スロットル開度又はアクセル操作量のエンジン負荷検出用パラメータの演算周期より短く設定されていることを特徴とする請求項１又は２に記載のエンジンの吸入空気量測定装置。
【請求項４】
前記平均値、偏差量、及び差分量の各演算手段は、それらを前記サンプリング期間の開始又は終了に同期したタイミングで演算することを特徴とする請求項１から３のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項５】
前記状態判別手段は、前記パルス毎の偏差量又は差分量の上下限範囲を定める状態判別用しきい値を設定し、前記サンプリング期間中において前記パルス毎の偏差量又は差分量が前記上下限範囲外にあり、かつ、前記サンプリング期間中において前記差分量の符号が変化している場合は、前記吸気脈動による流量変動が大きい状態と判定することを特徴とする請求項１から４のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項６】
前記状態判別手段は、前記パルス毎の偏差量又は差分量の上下限範囲を定める状態判別用しきい値を設定し、前記サンプリング期間中において前記パルス毎の偏差量又は差分量の全てが前記上下限範囲内にあり、かつ、前記サンプリング期間中において前記差分量の符号が変化している場合は、前記定常運転状態であると判定することを特徴とする請求項１から５のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項７】
前記状態判別手段は、前記パルス毎の偏差量又は差分量の上下限範囲を定める状態判別用しきい値を設定し、前記サンプリング期間中において前記パルス毎の偏差量又は差分量の全てが前記上下限範囲内にあり、かつ、前記サンプリング期間中において前記差分量の符号が変化していない場合は、前記過渡運転状態であると判定することを特徴とする請求項１から６のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項８】
前記パルス毎の偏差量又は差分量に対してノイズ判定用しきい値を設定し、該ノイズ判定用しきい値を超えている偏差量又は差分量を除いた残りの偏差量又は差分量をもとに前記平均値、偏差量、及び差分量を再演算する手段を備えていることを特徴とする請求項１から７のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項９】
吸入空気量選択手段は、前記記憶されている１サンプリング期間中の周期の個数が２個未満であるときは、燃料噴射制御のエンジン制御に使用する吸入空気量として、前記記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量をセットすることを特徴とする請求項１から８のいずれかに記載のエンジンの吸入空気量測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、吸入空気量に応じた時間間隔（周期）でパルス信号を出力するエアフローセンサを備えたエンジンの吸入空気量測定装置に関する。
【背景技術】
【０００２】
近年、特に車載用エンジンの分野では、燃費や排気エミッション特性等を向上させることが重要な課題となっており、そのため、アナログ式センサからの信号は、マイクロコンピュータを内蔵したコントロールユニットにおいてＡ／Ｄ変換し、デジタル演算処理によって、エンジンの主要な操作量である燃料噴射量（空燃比）や点火時期等の制御を行うことが一般的になっている。特に、吸入空気量は、吸気管圧力センサを用いて体積流量として間接的に検出する手法では要求される精度が出にくいため、質量流量を検出できるエアフローセンサを用い、さらにデジタル演算処理でその測定精度を高めることが望まれる。
【０００３】
前記エアフローセンサとしては、吸入空気量に応じたレベルの電圧を出力する電圧出力型のものが一般的であるが、最近は、前記のように高い測定精度が要求されることから、特許文献１、２、３等に見られるように、吸入空気量に応じた時間間隔（周期）で検出信号としてのパルス信号を出力するパルス出力型あるいは周波数出力型と呼ばれるエアフローセンサが普及しつつある。
【０００４】
このパルス出力型あるいは周波数出力型と呼ばれるエアフローセンサを用いて吸入空気量を測定する場合、通常、該エアフローセンサから次々に到来するパルスの立ち上がりエッジ（もしくは立ち下がりエッジ）を検出し、各パルスの時間的間隔、詳しくは、先行パルスの立ち上がりエッジ（もしくは立ち下がりエッジ）が検出された時点から後行パルスの立ち上がりエッジ（もしくは立ち下がりエッジ）が検出された時点までの時間間隔（以下、パルスエッジ間隔、あるいは単にエッジ間隔と称す）を内蔵のタイマー機能で周期として計測し、この計測された周期を用いて燃料噴射制御等のエンジン制御に使用する吸入空気量を演算するようにされる。
【０００５】
また、前記周期を用いて吸入空気量を演算する場合、吸入空気量の演算タイミングは、所定サンプリング周期（期間）毎、あるいは、クランク軸の所定回転角度毎とされており、この演算タイミングの直前に求められた前記周期の値を吸入空気量に換算する場合と、前記サンプリング期間において前記周期を複数個を求め、それらの平均周期を算出し、この平均周期を吸入空気量に換算する場合とがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８０８０３８号公報
【特許文献２】特開平３−２６９２１８号公報
【特許文献３】特開平２−１２９５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、いずれの場合も、吸入空気量を演算するタイミングは、所定サンプリング期間毎、あるいは、クランク軸の所定回転角度毎であるのに対して、エアフローセンサの出力周期と、入力回路の時定数等により、これを認識する信号の立ち上がり・立ち下がりエッジのタイミングがずれてしまうことが多く、また、周波数出力の場合は低周波数ほど周期が長いため更新周期が遅くなるため、特に吸入空気量が急変するような加減速時（過渡時）では最新の出力情報をもとに吸入空気量を演算する必要がある。
【０００８】
一方、実際のエンジンでは、多気筒構成によるピストンの往復運動により吸気脈動が発生するため、定常状態においても回転速度と吸気脈動に同期した大きな吸入空気量変動が発生し（以下、この状態を吸気脈動による流量変動が大きい状態と称す）、前記サンプリング期間と測定すべき吸入空気量の演算タイミングとの間にずれを生じ、エイリアシングと呼ばれる真の空気量平均値とのずれが発生する。
【０００９】
以上により、吸入空気量が急変するような加減速時（過渡運転状態）あるいは、吸気脈動による流量変動が大きい状態においては、正確な吸入空気量を算出することが難しく、その結果、燃費や排気エミッション特性が悪化するという課題がある。
【００１０】
また、エアフローセンサからのパルス信号に信号パルスと誤認されるノイズが乗ることがあるが、従来においては、そのノイズ対策が不十分であり、ノイズによって吸入空気量の測定精度を下げてしまうおそれがあった。
【００１１】
本発明は、上記事情に鑑みてなされたもので、その目的とするところは、吸気脈動による流量変動が大きい状態と、定常運転状態と、過渡運転状態とを正確に判別して、エイリアシングによる測定誤差を低減するとともに、各運転状態に応じた適正な吸入空気量を高精度に測定することのできるエンジンの吸入空気量測定装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、吸入空気量に応じた時間間隔でパルス信号を出力するエアフローセンサを備えたエンジンの吸入空気量測定装置であって、所定のサンプリング期間中にエアフローセンサから出力されたパルス信号のパルス毎の各周期を計算して記憶しておき、サンプリング期間中におけるパルス毎の各周期の平均値、該平均値との偏差量、パルスごとの正負符号付き差分量を演算し、その平均値、偏差量及び正負符号付き差分量に基づいて、エンジンの運転状態が、吸気脈動による流量変動が大きい状態、定常運転状態、及び過渡運転状態のいずれの状態であるかを判別する。そして、燃料噴射制御等のエンジン制御に使用する吸入空気量として、状態判別手段により判別された状態に応じて、平均値に相当する吸入空気量と、記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量とのいずれかを選択する。
【発明の効果】
【００１３】
本発明に係るエンジンの吸入空気量測定装置によれば、吸気脈動による流量変動が大きい状態においてエイリアシングの影響を抑制することができ、また、加減速時等の過渡運転状態にあるときには、タイミングずれの影響を抑制でき、その結果、吸入空気量を高精度に測定できる。上記した以外の、課題、構成、及び効果は、以下の実施形態により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る吸入空気量測定装置の一実施例を、それが適用された車載用エンジンと共に示す概略構成図。
【図２】図１に示されるコントロールユニットを含むエンジン制御系の説明に供される図。
【図３】吸入空気量演算手法の説明に供される機能ブロック図。
【図４】エアフローセンサの出力周波数及び周期と吸入空気量との関係を示す特性図。
【図５】従来の吸入空気量演算手法の説明に供されるタイムチャート。
【図６】本実施例の吸入空気量演算手法の説明（吸気脈動による流量変動が大きい状態）に供されるタイムチャート。
【図７】本実施例の吸入空気量演算手法の説明（吸気脈動による流量変動が大きい状態）に供される、（Ａ）タイムチャート、（Ｂ）図表。
【図８】本実施例の吸入空気量演算手法の説明（定常運転状態）に供されるタイムチャート。
【図９】本実施例の吸入空気量演算手法の説明（定常運転状態）に供される、（Ａ）タイムチャート、（Ｂ）図表。
【図１０】本実施例の吸入空気量演算手法の説明（過渡運転状態）に供されるタイムチャート。
【図１１】本実施例の吸入空気量演算手法の説明（過渡運転状態）に供される、（Ａ）タイムチャート、（Ｂ）図表。
【図１２】本実施例の吸入空気量演算手法の説明（ノイズ混入状態）に供されるタイムチャート。
【図１３】コントロールユニットが周期情報を取得する際に実行する処理手順の一例を示すフローチャート。
【図１４】コントロールユニットが吸入空気量を演算する際に実行する処理手順の一例を示すフローチャート。
【図１５】本実施例の吸入空気量演算手法の説明（ノイズ混入状態）に供される図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１は、本発明に係る吸入空気量測定装置の一実施例を、それが適用された車載用エンジンの一例と共に示す概略構成図である。
【００１６】
図１において、本実施例の吸入空気量測定装置が適用されたエンジン１０は、例えば４つの気筒（＃１、＃２、＃３、＃４）を有する火花点火式の多気筒エンジンであって、シリンダヘッド１１ａ及びシリンダブロック１１ｂからなるシリンダ１１と、このシリンダ１１の各気筒内に摺動自在に嵌挿されたピストン１５と、を有し、ピストン１５はコンロッド１４を介してクランク軸１３に連結されている。ピストン１５上方には、所定形状の天井部を持つ燃焼室１７が画成され、各気筒の燃焼室１７には、点火コイル３４から高電圧化された点火信号が供給される点火プラグ３５が臨設されている。
【００１７】
燃料の燃焼に供せられる空気は、エアークリーナ２２から、電制スロットル２５が配在されたスロットルボディ２６等、コレクタ２７、吸気マニホールド２８、吸気ポート２９等からなる吸気通路２０を通り、下流端である吸気ポート２９端部に配在された、吸気カム軸２３により開閉駆動される吸気弁２１を介して各気筒の燃焼室１７に吸入される。そして、吸気通路２０の下流部分である吸気マニホールド２８には、各気筒毎に、吸気ポート２９に向けて燃料を噴射する燃料噴射弁３０が臨設されている。
【００１８】
燃焼室１７に吸入された空気と燃料噴射弁３０から噴射された燃料との混合気は、点火コイル３４に接続された点火プラグ３５による火花点火により燃焼せしめられ、その排気ガスは、燃焼室１７から、排気カム軸２４により開閉駆動される排気弁２２を介して排気ポート、排気マニホールド、排気管等からなる排気通路４０を通って外部の大気中に排出される。排気通路４０には、排気浄化用の三元触媒６０が配備され、該触媒６０より上流側には、触媒前空燃比に対して線形の出力特性を持つリニヤ空燃比センサ５１が配在され、触媒６０より下流側には、触媒後空燃比がストイキ（理論空燃比）よりリッチ側かリーン側かを識別するためのスイッチング信号を出力するＯ２センサ５２が配在されている。
【００１９】
また、各気筒毎に配備された燃料噴射弁３０には、燃料タンク７１内の燃料が燃料ポンプ７２や燃圧レギュレータ７３等を備えた燃料供給機構により所定燃圧に調圧されて供給され、燃料噴射弁３０は、後述するコントロールユニット１００から供給される、そのときの運転状態に応じたデューティ（＝パルス幅＝開弁時間に相当する）を持つ燃料噴射パルス信号により開弁駆動され、その開弁時間に応じた量の燃料を吸気ポート２９に向けて噴射するようになっている。
【００２０】
一方、前記エンジン１０の種々の制御、つまり、前記燃料噴射弁３０による燃料噴射制御（空燃比制御）、前記点火プラグ３５による点火時期制御等を行なうべく、マイクロコンピュータを内蔵するコントロールユニット１００が備えられている。
【００２１】
コントロールユニット１００は、基本的には、図２に示される如くに、そのハードウェア自体はよく知られているもので、ＣＰＵ１０１、ＥＰ−ＲＯＭ１０２、ＲＡＭ１０３、Ａ／Ｄ＆Ｄ／Ａ変換器等を含むＩ／ＯＬＳＩ１０５等で構成される。なお、本例では、ＣＰＵ１０１、ＥＰ−ＲＯＭ１０２、ＲＡＭ１０３、Ｉ／ＯＬＳＩ１０５が別個に設けられているが、近年ではそれらが一つに纏められているものもあり、それを使用しても良いことはいうまでもない。
【００２２】
コントロールユニット１００のＩ／ＯＬＳＩ１０５には、入力信号として、吸気通路２０における電制スロットル２５より上流側に配在されたホットワイヤ式（後で詳述するが、熱線式、熱式、熱抵抗式等とも呼ばれる）エアフローセンサ５０により検出される吸入空気量に応じた信号、スロットルセンサ５４により検出される電制スロットル２５の開度に応じた信号、クランク軸１３に添設されたクランク角センサ（回転数センサ）５５から得られるクランク軸１３の回転・位相（クランク角）をあらわすクランク角信号、排気カム軸２４に添設されたカム角センサ５６から得られるカム軸２３の回転・位相をあらわすカム角信号、排気通路４０に配在された空燃比センサ５１、５２からの排気空燃比に応じた信号、アクセルセンサ５３からのアクセルペダル踏込量に応じた信号、シリンダブロック１１ｂに配設された水温センサ５８により検出されるエンジン冷却水温に応じた信号、吸気通路２０に最上流部に配設された吸気温センサ５９により検出される吸気温度に応じた信号、コントロールユニット１００に付設された大気圧センサ５７からの大気圧に応じた信号等が供給され、その他、エンジン１０の運転、停止のメインスイッチであるイグニッションキー４９からの信号等も供給され、さらに、図示はされていないが変速機のシフトポジションや車速等の情報も、車両コントロールユニットからユニット間通信によりもたらされる。
【００２３】
コントロールユニット１００は、ＥＰ−ＲＯＭ１０２に格納されているプログラムに従って、上記センサ類からの信号を入力として取り込み、所定の演算処理を実行し、エンジン１０の運転状態を認識するとともに、この運転状態に基づき燃料噴射量、点火時期、スロットル開度等のエンジン１０の主要な操作量を演算して、必要な制御信号を生成し、駆動回路を介してアクチュエータである燃料噴射弁３０、点火コイル３４、電制スロットル２５等に所定のタイミングで供給して燃料噴射制御（空燃比制御）、点火時期制御、スロットル開度制御等を行う。
【００２４】
次に、前記ホットワイヤ式エアフローセンサ５０について説明する。
エアフローセンサ５０は、測定対象である空気流の中に配置されたホットワイヤ（発熱抵抗体）に流れる電流値が吸入空気量（質量流量）が多い程増え、逆に吸入空気量が少ないほど減るようにブリッジ回路が構成されており、流れる発熱抵抗電流より電圧信号として取り出される。吸入空気量に対応した電圧信号は、電圧周波数（ＶＦ変換回路）変換により、周波数に変換され、エアフローセンサ５０からは空気量に応じて出力信号電圧の周期が変化する信号、言い換えれば、検出信号として吸入空気量に応じた時間間隔（周期）でパルス信号が出力されるようになっている。
【００２５】
コントロールユニット１００は、エアフローセンサ５０からのパルス信号を用いて吸入空気量を演算し、得られた吸入空気量を上記燃料噴射制御、点火時期制御、スロットル開度制御等に用いる。ここで、燃料噴射制御を例にとれば、コントロールユニット１００は、図３に機能ブロックで示されているように、ブロック１５１においてエアフローセンサ５０からのパルス信号の周期（パルスエッジ間隔）を内蔵タイマで計測し、該計測された周期Ptmをブロック１５２において、例えば後述の図４（Ｂ）に示される如くの関係で表される周期-吸入空気量変換テーブルに照合して吸入空気量に換算し、ブロック１５３で算出された吸入空気量Ｑと、クランク角センサ５５からのクランク角信号を用いて求められるエンジン回転数とに基づいて基本燃料噴射量を算出し、この基本燃料噴射量に、水温センサ５８により検出されるエンジン冷却水温等に応じた補正量、空燃比センサ５１、５２からの信号に基づいて演算される排気空燃比に応じた補正係数等による補正を加えて燃料噴射量を演算し、この燃料噴射量に対応した燃料噴射パルス幅（デューティ）を持った駆動パルス信号Toutを生成して燃料噴射弁３０に所定のタイミングで供給する。
【００２６】
同様にして、前記吸入空気量Ｑを、点火時期制御やスロットル開度制御等にも使用し、それらの演算結果をＲＡＭ１０３やＥＰ−ＲＯＭ１０２に保存する。
【００２７】
以上から理解されるように、前記吸入空気量Qが燃料噴射制御等のエンジン制御に使用する吸入空気量であり、この吸入空気量Qを使用吸入空気量あるいはセット吸入空気量と呼ぶことがある。
【００２８】
図４は、エアフローセンサの出力周波数及び周期と吸入空気量との関係を示す特性図であり、図４（Ａ）、（Ｂ）は、エアフローセンサ５０の出力信号の周波数及び周期と吸入空気量との関係を示す。
【００２９】
図示のように、吸入空気量が小さいと、出力信号の周波数は低く、吸入空気量が大きいと、出力信号の周波数は高くなり、その特性は非線形となる。なお、周波数と周期は逆数の関係にあるため、周期と吸入空気量との関係は、周波数と吸入空気量との関係の逆の特性になる。また、エンジンの要求空気量に合わせてセンサ出力を設定するため、周波数と吸入空気量あるいは周期と吸入空気量との関係が逆の特性の場合もあり、また、その特性が線形のケースもあるが、演算処理については変換テーブルが変わるだけである。
【００３０】
次に、上記した如くの、吸入空気量に応じた周期のパルス信号を出力するエアフローセンサを用いた吸入空気量演算手法の従来の例を図５を参照しながら説明する。
【００３１】
図５は、従来の吸入空気量演算手法の説明に供されるタイムチャートであり、図５（ａ）はエアフローセンサ出力、図５（ｂ）はタイマカウンタ、図５（ｃ）は計算タイミング、図５（ｄ）は使用吸入空気量Ｑを示している。この従来例では、内蔵のタイマカウンタにより、エアフローセンサからのパルス信号のパルスの立ち上がりから次のパルスの立ち上がりまでの時間間隔であるパルスエッジ間隔がパルス毎の周期（Ptm1、Ptm2、Ptm3、・・・）として計測されるとともに、サンプリング周期（期間）Tsm毎、例えば2ms毎に吸入空気量Ｑを演算するようにされており、図では時点Tj(n-1)から時点Tj(n)までがサンプリング期間であり、該サンプリング期間の開始又は終了タイミング（時点Tj(n-1)、時点Tj(n)）で吸入空気量Ｑを演算するようになっている。
【００３２】
サンプリングタイミングである時点Tj(n-1)においては、直前に保存されているタイマカウント値が示す周期Ptm1をサンプリングし、該周期Ptm1を図４（Ｂ）に示される如くの特性を持つ変換テーブルにより流量単位へ変換して吸入空気量Ｑ(n-1)を求める。同様に次のサンプリングタイミングである時点Tj(n)では直前に保存されているタイマカウント値が示す周期Ptm5を上記変換テーブルにより流量単位へ変換して吸入空気量Ｑ(n)を求める。
【００３３】
なお、上記従来例では、周期を変換テーブルにより吸入空気量Qに換算するようにしているが、一度周期を周波数に変換した後、図４（Ａ）の特性を持つ変換テーブルにより吸入空気量Ｑに換算しても良い。
【００３４】
ところが、上記のような従来の吸入空気量演算手法では、サンプリングタイミングTj(n-1)、Tj(n)においてその直前に計測された周期Ptm1、Ptm５を用いて吸入空気量Ｑを求めるようにされているので、加減速時等の吸入空気量が大きく変化するときは、求められた吸入空気量Ｑと実際の吸入空気量との間に大きな誤差が生じるおそれがある。これは、サンプリングタイミングTj(n-1)、Tj(n)と、エアフローセンサの出力であるパルス信号の立ち上がり（エッジ）タイミングとが異なることが要因である。
【００３５】
そこで、本実施例の吸入空気量演算方法では、サンプリング期間中におけるパルス毎の周期（又は周波数もしくは吸入空気量）情報等を記憶しておき、サンプリング期間中におけるその平均値、パルス毎の差分量（正負符号付き）、平均値との偏差量を演算し、その演算された平均値、偏差量及び正負符号付き差分量に基づいて、吸気脈動による流量変動が大きい状態と、定常運転状態と、過渡運転状態とを判別し、燃料噴射制御等のエンジン制御に使用する吸入空気量として、例えば、前記吸気脈動による流量変動が大きい状態及び定常運転状態であるときは、前記平均値に相当する吸入空気量をセットし、前記過渡運転状態にあるときは、前記記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量をセットする処理を行う。
【００３６】
したがって、吸気脈動による流量変動が大きい状態においてエイリアシングの影響を抑制することができ、また、加減速時等の過渡運転状態にあるときには、タイミングずれの影響を抑制でき、その結果、吸入空気量を高精度に測定できる。
【００３７】
また、本実施例の吸入空気量演算方法では、吸入空気量の変動の大きさや如何なる運転状態であるかの判別に、エアフローセンサからのパルス信号のみに基づいて演算される平均値、偏差量及び正負符号付き差分量が用いられ、しかも、それらのサンプリング周期は、通常、スロットル開度やアクセル操作量等の吸入空気量以外のエンジン負荷検出用パラメータの演算周期より短くに設定されるので、吸入空気量以外のパラメータにより運転状態等を検出する場合に比して、前記タイミングずれを抑えることができ、その結果、一層測定精度を高めることができる。
【００３８】
以下に、本実施例の吸入空気量演算方法について、図６〜図１５を用いて詳細に説明する。
図６は、本実施例の吸入空気量演算方法の説明（吸気脈動による流量変動が大きい状態）に供されるタイムチャートであり、吸気脈動により定常運転状態において吸気脈動に同期した変動が発生することに起因して、所定サンプリング周期（期間）Tsm毎に吸入空気量Ｑを求める場合に、エイリアシングと呼ばれる真値とのずれが発生している状態を示したものである。
【００３９】
図６において、サンプリングタイミングTj(n-1)での真の吸入空気量（実吸入空気量）はQ1であるのに対し、図５に示される従来と同様の演算手法では、求められる吸入空気量がQ0となり、さらに吸入空気量に換算される周波数（前記周期の逆数）は直前に保存されているタイマカウント値から周波数に変換される値f0である。該周波数f0を、周波数−吸入空気量変換テーブルにより流量単位へ変換して吸入空気量Q(n-1)を求める。
【００４０】
同様に次のサンプリングタイミングTj(n)では、直前に保存されているQ6の吸入空気量に相当するタイマカウント値を用いて吸入空気量Q(n)を求めることになる。
【００４１】
このように、吸気脈動による流量変動が大きい状態では、吸入空気量として演算される値はQ0、Q6に相当するものとなり、このときの真の平均吸入空気量Qaveに対して低くなって、マイナス側の誤差が発生する。
【００４２】
そこで、本実施例では、以下に述べる如くに、前記誤差を小さくして、各サンプリングタイミングTj(n-1)、Tj(n)、Tj(n+1)で求められる吸入空気量Qが真の平均吸入空気量Qaveに近くなるようにする。
【００４３】
本例では、前記サンプリング周期Tsmをもってエアフローセンサ５０からのパルス信号を取り込み、各サンプリング期間Tsm中において前記パルス信号のエッジ間隔を１パルス毎に順次周期Ptmとして計測するとともに、計測されたパルス毎の周期Ptm（もしくはその逆数である周波数f）を記憶しておく。より詳細には、図６において、所定サンプリング期間Tsm中にカウント（計測）されたタイマカウント値（パルスエッジ間隔）である周期と計測された周期の個数（Tsm中のパルス数に相当し、図示例では６個）とを記憶する。なお、このときに記憶する場所のアドレス情報が記憶された周期の個数を示すため、サンプリング期間Tsm中のパルス数（周期の個数情報）もあとから追加できる。記憶された各周期は(1/周期)の除算をすれば、f0からf6で示される周波数に変換した値が求められる。また、変換テーブルを用いれば、記憶された各周期に対応するq0からq6で示される吸入空気量Qを求められる。計測されて記憶された周期に基づいてf0からf6の周波数、あるいは、q0からq6の吸入空気量を求めるためには割り込みによる演算が必要であるため、演算負荷を低減する目的で周期の記憶のみを行う。また、マイクロコンピュータによっては演算負荷をかけずにタイマカウント値（周期）やその個数の記憶が可能なものもあるので、これを利用すれば演算負荷をさほどかけずに記憶することができる。
【００４４】
次に、図６のサンプリングタイミングTj(n-1)、Tj(n)、言い換えれば、所定サンプリング期間Tsm毎に吸入空気量を求める手法を、図７を参照しながら説明する。
【００４５】
図７は、本実施例の吸入空気量演算手法の説明（吸気脈動による流量変動が大きい状態）に供される（Ａ）タイムチャートと（Ｂ）図表を示すものである。
【００４６】
吸入空気量の演算は、前述したTj(n-1)、Tj(n)のタイミング、具体的には2msなどの所定JOBタイミングで実行される。演算される内容は以下の項目である。
【００４７】
まず、図７（Ａ）（ａ）に示される如くに、前記記憶された６個の周期を用いてf1からf6で示される周波数fを計算する。同時に変換テーブルにより、流量単位へ変換して吸入空気量（q1からq6）を求めることもできる。
【００４８】
次に、求められた周波数と前記した個数をもとに平均周波数fnaveを演算する。また、図７（Ａ）（ｂ）に示される如くに、（各周波数−平均周波数fnave）により各周波数毎にd1からd6で示される、平均周波数fnaveとの偏差量dを計算する。
【００４９】
また、図７（Ａ）（ｃ）に示される如くに、各周波数毎に1回前の値との差分(例えばw1=f1−f0)を演算してw1からw6で示される正負符号付きの差分量を演算する。
【００５０】
具体的にはf1からf6が図７（Ｂ）の表に示されるような値であれば、平均周波数fnave=2000Hz、偏差量d1=f1−fnave=1800−2000=−200Hz、差分量w1=f1−f0=1800−1600=+200Hzとなる。
【００５１】
ここで、前記偏差量及び差分量の上下限範囲を定めるべく、偏差量に±fndH(例えば150Hz)、差分量に±fwdH(例えば150Hz)の状態判別用しきい値を設定し、各周波数毎に演算結果がしきい値を超えているか否かを判断する。すなわち前記しきい値が吸気脈動による流量変動が大きい状態であるか否かを判定するものであり、超えていれば吸気脈動による流量変動が大きい状態であると判断してエイリアシング誤差を避ける目的で平均周波数fnaveを採用し、該平均周波数fnaveから換算された吸入空気量を使用吸入空気量Qとしてセットし、超えていなければ、従来例と同様にサンプリングタイミングTj(n-1)、Tj(n)直前に求められた周波数f0、f6を採用し、該周波数f0、f6から換算された吸入空気量を使用吸入空気量Qとしてセットする。
【００５２】
なお、上記運転状態判別用しきい値はエンジン回転数、エンジン負荷、吸入空気量、周波数などに応じたテーブルあるいはマップ検索値としてもよい。
【００５３】
以上は、パルス毎の周期からパルス毎の周波数を求める場合（図６（ｄ））を主に述べたが、図６（ｅ）に示される如くに、パルス毎の周期からパルス毎の吸入空気量Ｑを求める場合も同様である。
【００５４】
また、上記のように周波数及び平均周波数fnaveを演算している場合は、変換テーブルにより、平均周波数fnaveを吸入空気量に換算し、吸入空気量（q1からq６）及びその平均吸入空気量qnaveを演算している場合は、平均吸入空気量qnaveをそのまま吸入空気量として使用する。以上により求められる使用吸入空気量Q(n-1)、Q(n)は、図６（ａ）に平均吸入空気量Qaveで示される真の吸入空気量とほぼ同じ値となり、エイリアシングによる誤差を低減できる。
【００５５】
なお、上記差分量は前回値との差であるため、単位時間変化量が大きいときには流量変動を判定できるが、単位時間当りの変動量が小さくても振幅が大きい変動は判断しづらいため、変動の大きさを判断するには、偏差量で判断する方が好ましい。
【００５６】
図８は、吸気脈動が発生しておらず流量変動が小さい場合を示したものである。
図６、図７と同様に、パスル毎の周波数(f0からf4)、吸入空気量(q0からq4)で示す。また、図９（Ａ）に、平均周波数fnave、各周波数毎にd1からd4で示される平均周波数との偏差量、w1からw4で示される、1回前の値との差分量を示す。
【００５７】
具体的には、周波数f1からf4が図９（Ｂ）の表に示される如くの値であれば、平均周波数（平均値）fnave=2000Hz、偏差量d1=f1−fnave=2000−2000=0Hz、差分量w1=f1−f0=2000−1900=+100Hzとなる。表に示される如くに、上記偏差量に±fndH(例えば150Hz)、差分量に±fwdH(例えば150Hz)のしきい値と比較すると、いずれの場合もしきい値を超えておらず、吸気脈動による流量変動が発生していないと判断できる。
【００５８】
したがって、平均周波数fnaveと最新の周波数も同等の値であり、いずれを採用しても大きな誤差は発生しないが、平均周波数fnaveを採用した方がしきい値内で発生する変動量を抑制することが可能であるため、平均周波数fnaveを採用する。
【００５９】
次に、図１０は、加速過渡時での吸入空気量変化を示したもので、それぞれエアフローセンサ５０の出力パルスの周期は、吸入空気量の増加とともに短くなり、サンプリング期間Tsmにおけるパルス毎の周波数(f0からf4)、あるいはパルス毎の吸入空気量(q0からq4)、及び平均周波数fnave、各周波数毎に平均周波数との偏差量(q0からq4)、1回前の値との差分量(q0からq4)は、それぞれ図１１に示される如くのものとなる。
【００６０】
具体的にはf1からf4が図１１（Ｂ）の表に示される如くの値であれば、平均周波数fnave=2000Hz、偏差量d1=f1-fnave=1700-2000=-300Hz、差分量w1=f1-f0=1700-1500=+200Hzとなる。
【００６１】
上記偏差量に±fndH(例えば150Hz)、差分量に±fwdH(例えば150Hz)のしきい値と比較すると、いずれの場合もしきい値を超えていないため、上記の例から判断すると、吸気脈動による流量変動が発生していないことになる。しかし、過渡運転状態であるので平均周波数fnaveを採用すると、真の平均吸入空気量Qaveに対して低くなり、マイナス側の誤差が発生することになるので、少なくとも直前に保存されている最新周波数f4を使用して吸入空気量を演算しなければならない。
【００６２】
これを判断するのは上記差分量の演算結果の符合（+、−）が最も適切であり、図１１（Ｂ）の表に示されているように(w1からw4で示されている)符号はすべて+(正)方向にあり、加速状態を示している。逆に符号がすべて(-)になる場合は減速状態を示す。したがって符号がサンプリング期間Tsm中に変化したか否かを判定して、符号が変化していなければパルス毎の周波数の最新値を採用をすれば良い。
【００６３】
また、図１２は、図８、図９に示されるような吸気脈動が発生しておらず流量変動が小さい場合を示しているが、サンプリング期間Tsm中の各パルスの周期情報にノイズ成分Nsが混入した状態を示したものである。
【００６４】
前記ノイズ成分Nsがパルスエッジとして認識できる場合は、周期情報として誤認されてしまうため、周波数がfNs、偏差量がdNs、差分量がwNsで示される如くの大きな値となる。
【００６５】
そこで、上記周波数、偏差量、差分量についてノイズ判定用のしきい値NsH、dNsH、wNsHを設定し、それらがこれを超える場合には、平均周波数fnaveを演算する際に、ノイズ分に相当する周期情報を除外することで、ノイズの混入による演算誤差を低減できる。
【００６６】
次に、コントロールユニット１００が吸入空気量を演算する際に実行するプログラム（処理手順）の一例を、図１３、図１４のフローチャートを参照しながら説明する。
【００６７】
図１３は、エアフローセンサ５０からのパルス信号の立ち上がり又は立ち下がりエッジ毎に起動する処理を示したもので、一般的には割込み演算処理として起動するほか、マイクロコンピュータの機能として同様の処理を有するものもある。
【００６８】
まず、ステップ２０１にてパルスエッジが検出されると、ステップ２０２でタイマ機能にて計測しているタイマカウント値Ptm(n)をラッチする。次に進むステップ２０３では、前回のエッジ検出時に記憶したタイマカウント値Ptm(n-1)との差をとり、パルス毎の周期に相当するTnを演算する。これが周期情報となる。次にステップ２０４では、記憶する番地情報に相当するＩＤを１カウント分アップして、対応する番地に、演算したTnとPtm(n)を保存して記憶する。ここでnはＩＤに相当する整数値である。
【００６９】
なお、ステップ２０３の処理は、Ptm(n)の情報が記憶されていれば、後に記載するサンプリング周期の処理(図１４のステップ１１１内)でも演算することができるため、割込みの演算負荷を小さくしたい場合は処理を省いてタイマカウント値Ptm(n)のみを周期情報として記憶しても良い。ただしこの場合は後でタイマカウント値の差分からTnを求めるため、1つ前のタイマ情報までを保存しておかなければならない。
【００７０】
また、記憶するＩＤと周期はセットで同期していなければならないが、保存する領域には限界があるため、サンプリング期間毎に前記ＩＤ情報をリセットして上書きするなどの手法をとる。
【００７１】
図１４は、サンプリング周期、例えばプログラムの演算JOB周期の2msなどで繰り返し実行する処理を示したもので、ステップ１１１では、図１３に示される処理で記憶された各周期情報からTnを読出し、ステップ１１２において(1/Tn)の除算相当による演算を行ってパルス毎の周波数fnを演算する。
【００７２】
続くステップ１１５では、演算された１パルス毎の周波数fnからそれぞれ1つ前の値との差分をとり、差分量wfnを演算する。
【００７３】
これらfn、wfnの情報はＩＤに相当する番地情報と共にRAM値やバッファに一旦保存することもできる。
【００７４】
次にステップ１１６において、ステップ１１５で演算された差分量とノイズ判定用しきい値とを比較してノイズ判定成立か否かを判断する。ノイズの場合は短周期として認識されるので、周波数としては検出範囲外の値となるため、しきい値としてはセンサの検出周波数上限（吸入空気量上限）を超えるような値を設定しておくと良い。
【００７５】
差分量がノイズ判定用しきい値以下であれば、ノイズではないと判断してステップ１２０に進み、しきい値を超えていればノイズ判定成立としてステップ１１７へ進み、ノイズ相当周波数除外処理(具体的には図１５を用いて後述する)を実行してステップ１２０に進む。
【００７６】
ステップ１２０ではサンプリング期間中のパルス数（周期情報の記憶個数）を判定することで以降の処理を区別する。パルス数は前述したID番地情報の差分によって求めることができる。パルス数が1つの場合は平均周波数fnaveを求めることができないので、ステップ１２６へ進み、最新値として扱う。
【００７７】
ステップ１２０においてパルス数が２以上であると判断された場合は、ステップ１２１で(各周波数の総和/パルス数）から平均周波数fnaveを演算し、次に進むステップ１２２では、（各パルス毎周波数fn-平均周波数fnave）により、各パルス毎の偏差量dfnを演算する。
【００７８】
続くステップ１２３では、パルス毎の偏差量、差分量が状態判別用のしきい値fndH、fwdH内（上下限範囲内）にあるか否かを判断し、範囲内にあると判断された場合は、変動量が少ない定常運転状態又は過渡運転状態であると判定してステップ１２４に進む。一方、ステップ１２３で範囲外にあると判断された場合は、吸気脈動による流量変動が大きい状態と判定してステップ１２５に進み、ステップ１２５において平均周波数（平均値）fnaveを選択し、続くステップ１２７で平均周波数fnaveを吸入空気量に換算してセットした後、本プログラムを終了する。
【００７９】
一方、ステップ１２４では、一旦は変動量が少ないと判定したが、加減速時等の過渡運転状態である可能性もあるため、サンプリング期間中においてステップ１１５で演算される差分量wfnの符号が変化していないか否か（正あるいは負の方向に一致しているか否か）を判断する。差分量wfnの符号が変化していると判断された場合は、過渡運転状態ではなく変動量が少ない定常運転状態であると判断してステップ１２５に進み、ステップ１２５において平均周波数（平均値）fnaveを選択し、続くステップ１２７で平均周波数fnaveを吸入空気量に換算してセットした後、本プログラムを終了する。
【００８０】
それに対し、ステップ１２４において差分量wfnの符号が変化していない（正あるいは負の方向に一致している）と判断された場合は、過渡運転状態であると判断してステップ１２６に進み、ステップ１２６で、直前に求められたパルス毎周波数を選択し、続くステップ１２７で、ステップ１２６で選択された直前のパルス毎周波数を吸入空気量に換算してセットした後、本プログラムを終了する。
【００８１】
したがって、ステップ１２３→１２５→１２７と進んだ場合、すなわち吸気脈動による流量変動が大きい状態である場合、及び、ステップ１２３→１２４→１２５→１２７と進んだ場合、すなわち流量変動の小さい定常運転状態である場合は、平均周波数fnaveから換算された吸入空気量Qが前記燃料噴射制御等のエンジン制御に使用される。
【００８２】
また、ステップ１２３→１２４→１２６→１２７と進んだ場合、すなわち加減速時等の過渡運転状態である場合は、直前のパルス毎の周波数から換算された吸入空気量Qが前記燃料噴射制御等のエンジン制御に使用される。
【００８３】
なお、上記プログラムでは、ステップ１１１ないし１２６において、各周期情報からパルス毎の周波数fn、偏差量dfn、差分量wfn等を求め、ステップ１２７において平均周波数fnave又は直前のパルス毎周波数を吸入空気量に換算してセットするようにしているが、それに代えて、ステップ１１１ないし１２６において、各周期情報からパルス毎の吸入空気量qn、偏差量dqn、差分量wqn等を求め、ステップ１２７において平均吸入空気量qnave又は直前のパルス毎吸入空気量をそのままセットするようにしてもよい。
【００８４】
次に、図１５を参照しながら、図１４のステップ１１７の、ノイズ相当の情報を除外する具体的な手法を説明する。タイマ又は周期情報をもとに各パルス毎の周期Ptmn又はタイマカウント値Tnが、所定のRAM番地すなわちID情報に従った位置に記憶されている。
【００８５】
各パルス毎の周波数fnと差分量wfnは同一の順番で一旦バッファ情報として保存される。ステップ１１７で差分量により順次ノイズ判定をした結果、ノイズでないときに再度所定のRAM番地すなわちID情報に従った位置に確定した演算結果を保存していく。これにより例えば(f4、w4)で示される、ノイズと判定したバッファ情報は確定した演算結果の保存値には反映されない。
【００８６】
以上により、ノイズを除外した段階で再度ステップ１２０に進み、平均周波数fnaveあるいは平均吸入空気量qnave演算の処理を進めることで実現できる。
【００８７】
以上の説明から理解されるように、本実施例では、サンプリング期間Tsm中におけるパルス毎の周期（又は周波数もしくは吸入空気量）情報等を記憶しておき、サンプリング期間中におけるその平均値、パルス毎の差分量（符号付き）、平均値との偏差量を演算し、演算された平均値、偏差量及び正負符号付き差分量に基づいて、吸気脈動による流量変動が大きい状態であるか、流量変動の小さい定常運転状態であるか、加減速時等の過渡運転状態であるかを判別し、燃料噴射制御等のエンジン制御に使用する吸入空気量として、吸気脈動による流量変動が大きい状態及び定常運転状態であると判定されたときは、前記平均値に相当する吸入空気量を選択してセットし、前記過渡運転状態にあると判定されたときは、前記記憶されているパルス毎の周期のうちの最新のものに相当する吸入空気量を選択してセットするようにされるので、吸気脈動による流量変動が大きい状態にあるときにおいては、エイリアシングの影響を抑制することができ、また、加減速時等の過渡運転状態にあるときには、タイミング遅れの影響を抑制でき、その結果、吸入空気量を高精度に測定できる。
【００８８】
特に、本実施例におけるサンプリング周期Tsmは、スロットル開度やアクセル操作量等の吸入空気量以外のエンジン負荷検出用パラメータの演算周期（通常、4msや10ms）より短い2msに設定されているので、吸入空気量以外のパラメータにより負荷変動（運転状態）を検出する場合に比して、前記タイミングずれを抑えることができ、その結果、一層測定精度を高めることができる。
【００８９】
また、前記偏差量又は差分量に対してノイズ判定用しきい値を設定し、該ノイズ判定用しきい値を超えている偏差量又は差分量を除いた残りの偏差量又は差分量をもとに前記平均値、偏差量、及び差分量を再演算するようにされるので、ノイズによる誤差の影響を回避でき、これによっても、測定精度を一層高めることができる。
【００９０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記実施例では、吸気ポート噴射型エンジンを例に挙げて説明したが、筒内直接噴射型エンジンでも同様の効果を得ることができ、さらにハイブリッド車両に搭載されるエンジンにも適用できるものである。
【符号の説明】
【００９１】
１０・・・エンジン
１１・・・シリンダ
２０・・・吸気通路
２５・・・電制スロットル
３０・・・燃料噴射弁
３４・・・点火コイル
３５・・・点火プラグ
５０・・・熱線式エアフローセンサ
５５・・・クランク角センサ
１００・・・コントロールユニット
【図１】
0005639918.tif 000002
【図２】
0005639918.tif 000003
【図３】
0005639918.tif 000004
【図４】
0005639918.tif 000005
【図５】
0005639918.tif 000006
【図６】
0005639918.tif 000007
【図７】
0005639918.tif 000008
【図８】
0005639918.tif 000009
【図９】
0005639918.tif 000010
【図１０】
0005639918.tif 000011
【図１１】
0005639918.tif 000012
【図１２】
0005639918.tif 000013
【図１３】
0005639918.tif 000014
【図１４】
0005639918.tif 000015
【図１５】
0005639918.tif 000016