(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気通路に配置されたエアフロメータを備え、前記エアフロメータの出力信号に基づいて当該内燃機関の燃焼室への吸入空気量を計測する内燃機関の吸入空気量計測装置であって、
前記エアフロメータの出力信号を所定のクランク角度間隔ごとにサンプリングしてＡＦＭデータを取得するＡＦＭデータ取得処理と、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値または当該内燃機関の気筒数で割った値の倍数を平均区間とし、この平均区間を前記クランク角度間隔で割った値を取得データ数として、その取得データ数の前記ＡＦＭデータの平均値を算出して吸入空気の平均流速を得る平均流量算出処理とを実行するように構成されており、
前記エアフロメータの出力信号をサンプリングするクランク角度間隔は、前記内燃機関のクランク角度３６０°を２以上の整数で割った値であり、かつ、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値を除くクランク角度間隔であり、
前記エアフロメータの出力信号をサンプリングするクランク角度間隔を、前記内燃機関の機関回転数に応じて切り替え、前記内燃機関の機関回転数が高い場合は、当該機関回転数が低い場合に比べて、前記クランク角度間隔を大きく設定し、
前記クランク角度間隔を切り替える場合、その切り替え前後のクランク角度間隔が倍数の関係にあるときには、前記切り替え前後におけるクランク角度間隔のうち、小さい側のクランク角度間隔で取得したＡＦＭデータの中から、大きい側のクランク角度間隔に一致するＡＭＦデータを選択し、その選択したＡＦＭデータを前記大きい側のクランク角度間隔でのＡＦＭデータとして処理し、この処理を行ったＡＦＭデータと、前記大きい側のクランク角度間隔で取得したＡＦＭデータとを用いて前記平均値を算出することを特徴とする内燃機関の吸入空気量計測装置。
【請求項２】
内燃機関の吸気通路に配置されたエアフロメータを備え、前記エアフロメータの出力信号に基づいて当該内燃機関の燃焼室への吸入空気量を計測する内燃機関の吸入空気量計測装置であって、
前記エアフロメータの出力信号を所定のクランク角度間隔ごとにサンプリングしてＡＦＭデータを取得するＡＦＭデータ取得処理と、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値または当該内燃機関の気筒数で割った値の倍数を平均区間とし、この平均区間を前記クランク角度間隔で割った値を取得データ数として、その取得データ数の前記ＡＦＭデータの平均値を算出して吸入空気の平均流速を得る平均流量算出処理とを実行するように構成されており、
前記エアフロメータの出力信号をサンプリングするクランク角度間隔は、前記内燃機関のクランク角度３６０°を２以上の整数で割った値であり、かつ、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値を除くクランク角度間隔であり、
前記エアフロメータの出力信号をサンプリングするクランク角度間隔を、前記内燃機関の機関回転数に応じて切り替え、前記内燃機関の機関回転数が高い場合は、当該機関回転数が低い場合に比べて、前記クランク角度間隔を大きく設定し、
前記クランク角度間隔を切り替える場合、その切り替え前後のクランク角度間隔が非倍数の関係にあるときには、前記切り替え前のクランク角度間隔で取得した２つのＡＦＭデータを線形補間した値と、前記切り替え後のクランク角度間隔で取得したＡＦＭデータとを用いて前記平均値を算出することを特徴とする内燃機関の吸入空気量計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の吸入空気量計測装置に関し、さらに詳しくは、内燃機関の吸気通路に配置したエアフロメータの出力信号に基づいて吸入空気量を計測する内燃機関の吸入空気量計測装置に関する。
【背景技術】
【０００２】
車両等に搭載されるガソリンエンジンやディーゼルエンジン等の内燃機関においては、燃焼室内（筒内）に吸入される空気量を計測して、この計測値である吸入空気量に基づいて種々の制御量（例えば燃料噴射量等）を制御することにより、出力の向上や排気エミッションの低減（例えばＮＯｘの低減）などを図っている。このような内燃機関の制御（エンジン制御）において、吸入空気量の計測には、吸気通路に配置したエアフロメータが用いられている（例えば、特許文献１参照）。【０００３】
エアフロメータを用いて吸入空気量を計測する場合、例えば、エアフロメータの出力信号をＥＣＵ（電子制御装置）に所定の時間間隔（例えば４ｍｓｅｃ）で取り込み（時間同期で取り込み）、所定期間ごとに、エアフロメータの出力信号（以下、ＡＦＭ信号ともいう）のサンプリング値（以下、ＡＦＭデータともいう）の平均値（吸入空気の平均流量）を逐次算出している。そして、そのようにして算出した吸入空気の平均流量を用いて内燃機関の制御（燃料噴射量制御等）を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２３９１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、内燃機関の吸気通路内には、各気筒の吸気行程に対応して吸気脈動が発生する。また、最近では、エアフロメータとして、逆流が発生するような高脈動域においても吸入空気量を高精度で検出することが可能な応答性の高いエアフロメータが用いられている。【０００６】
このような応答性の高いエアフロメータを用いた場合、上記吸気脈動に起因してエアフロメータの出力値も瞬時に変動してしまうので、ＡＦＭ信号を時間同期で取り込む処理では、そのＡＦＭ信号をＥＣＵに取り込むタイミングが不適切である場合、ＡＦＭデータの平均値（平均流量算出値）が大きく変動したり、エイリアシングが発生する場合がある。【０００７】
なお、ＡＦＭ信号を時間同期で取り込むタイミングを高速にすれば、ＡＦＭデータの平均値の変動を低減できるが、ＥＣＵの処理負荷が増大するため、取り込みタイミングの高速化にも限界がある。【０００８】
本発明はそのような実情を考慮してなされたもので、吸気脈動による影響を排除して、吸入空気の平均流量を精度よく得ることが可能な内燃機関の吸入空気量計測装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、内燃機関の吸気通路に配置されたエアフロメータを備え、前記エアフロメータの出力信号に基づいて当該内燃機関の燃焼室への吸入空気量を計測する内燃機関の吸入空気量計測装置であって、前記エアフロメータの出力信号を所定のクランク角度間隔ごとにサンプリングしてＡＦＭデータを取得するＡＦＭデータ取得処理と、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値または当該内燃機関の気筒数で割った値の倍数を平均区間とし、この平均区間を前記クランク角度間隔で割った値を取得データ数として、その取得データ数の前記ＡＦＭデータの平均値を算出して吸入空気の平均流速を得る平均流量算出処理と、を実行するように構成されており、前記エアフロメータの出力信号をサンプリングするクランク角度間隔は、前記内燃機関のクランク角度３６０°を２以上の整数で割った値であり、かつ、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値を除くクランク角度間隔である。そして、前記エアフロメータの出力信号をサンプリングするクランク角度間隔を、前記内燃機関の機関回転数に応じて切り替え、前記内燃機関の機関回転数が高い場合は、当該機関回転数が低い場合に比べて、前記クランク角度間隔を大きく設定し、前記クランク角度間隔を切り替える場合、その切り替え前後のクランク角度間隔が倍数の関係にあるときには、前記切り替え前後におけるクランク角度間隔のうち、小さい側のクランク角度間隔で取得したＡＦＭデータの中から、大きい側のクランク角度間隔に一致するＡＭＦデータを選択し、その選択したＡＦＭデータを前記大きい側のクランク角度間隔でのＡＦＭデータとして処理し、この処理を行ったＡＦＭデータと、前記大きい側のクランク角度間隔で取得したＡＦＭデータとを用いて前記平均値を算出することを技術的特徴としている。
または、本発明は、内燃機関の吸気通路に配置されたエアフロメータを備え、前記エアフロメータの出力信号に基づいて当該内燃機関の燃焼室への吸入空気量を計測する内燃機関の吸入空気量計測装置であって、前記エアフロメータの出力信号を所定のクランク角度間隔ごとにサンプリングしてＡＦＭデータを取得するＡＦＭデータ取得処理と、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値または当該内燃機関の気筒数で割った値の倍数を平均区間とし、この平均区間を前記クランク角度間隔で割った値を取得データ数として、その取得データ数の前記ＡＦＭデータの平均値を算出して吸入空気の平均流速を得る平均流量算出処理と、を実行するように構成されており、前記エアフロメータの出力信号をサンプリングするクランク角度間隔は、前記内燃機関のクランク角度３６０°を２以上の整数で割った値であり、かつ、前記内燃機関の１サイクルに対応するクランク角度を当該内燃機関の気筒数で割った値を除くクランク角度間隔である。そして、前記エアフロメータの出力信号をサンプリングするクランク角度間隔を、前記内燃機関の機関回転数に応じて切り替え、前記内燃機関の機関回転数が高い場合は、当該機関回転数が低い場合に比べて、前記クランク角度間隔を大きく設定し、前記クランク角度間隔を切り替える場合、その切り替え前後のクランク角度間隔が非倍数の関係にあるときには、前記切り替え前のクランク角度間隔で取得した２つのＡＦＭデータを線形補間した値と、前記切り替え後のクランク角度間隔で取得したＡＦＭデータとを用いて前記平均値を算出することを技術的特徴としている。
【００１２】
本発明によれば、エアフロメータの出力信号（ＡＦＭ信号）を内燃機関のクランク角度に同期してサンプリングするので、上記した吸気脈動の１周期内においてＡＦＭ信号（ＡＦＭデータ）を等間隔で取得することが可能となり、吸気脈動による影響を排除することができる。これによって、ＡＦＭデータの平均値の変動を抑制することができ、吸入空気の平均流量を精度よく算出することができる。【００１３】
また、本発明によれば、エアフロメータの出力信号をサンプリングするクランク角度間隔を、内燃機関の機関回転数（エンジン回転数）に応じて切り替える（変更する）。より具体的には、内燃機関の機関回転数が高い場合は、当該機関回転数が低い場合に比べて、前記クランク角度間隔を大きく設定する。このような構成を採用すれば、内燃機関の機関回転数が高くなっても、ＥＣＵの処理負荷の増大を回避することができる。【００１４】
本発明において、クランク角度間隔を切り替える場合、その切り替え前後のクランク角度間隔が倍数の関係にあるときには、切り替え前後におけるクランク角度間隔のうち、小さい側のクランク角度間隔で取得したＡＦＭデータの中から、大きい側のクランク角度間隔に一致するＡＭＦデータを選択し、その選択したＡＦＭデータを前記大きい側のクランク角度間隔でのＡＦＭデータとして処理し、この処理を行ったＡＦＭデータと、前記大きい側のクランク角度間隔で取得したＡＦＭデータとを用いてＡＦＭデータの平均値を算出する。このような構成によれば、クランク角度間隔の切り替え時における吸気脈動の１周期内においても、ＡＦＭデータを等間隔でサンプリング（もしくは切り替え後のクランク角度間隔でサンプリング）することが可能になるので、クランク角度間隔の切り替え時にＡＦＭデータの平均値（吸入空気の平均流量）の変動を抑制することができる。
【発明の効果】
【００１６】
本発明によれば、エアフロメータの出力信号を、内燃機関のクランク角度に同期してサンプリングするので、吸気脈動による影響を排除することができる。これによって、吸入空気の平均流量を精度よく算出することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を適用するエンジン（内燃機関）の一例を示す概略構成図である。
【図２】ＥＣＵ等の制御系の構成を示すブロック図である。
【図３】ＥＣＵが実行するＡＦＭデータ取得処理の一例を示すフローチャートである。
【図４】ＡＦＭ信号をサンプリングするクランク角度間隔の設定に用いるマップの一例を示す図である。
【図５】ＥＣＵが実行する平均流量算出処理の一例を示すフローチャートである。
【図６】クランク角度間隔を切り替える際の問題点を説明する図である。
【図７】クランク角度間隔を切り替える際の問題点を説明する図である。
【図８】クランク角度間隔の切り替え時におけるＡＦＭデータの平均値算出処理の一例を模式的に示す図である。
【図９】クランク角度間隔を切り替える際の問題点を説明する図である。
【図１０】クランク角度間隔の切り替え時におけるＡＦＭデータの平均値算出処理の他の例を模式的に示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面に基づいて説明する。
【００１９】
−エンジン−
本発明を適用するエンジン（内燃機関）の概略構成について図１を参照して説明する。なお、図１にはエンジンの１気筒の構成のみを示している。
【００２０】
図１に示すエンジン１は、車両に搭載される筒内直噴４気筒ディーゼルエンジンであって、その各気筒を構成するシリンダブロック１ａ内には上下方向に往復動するピストン１ｃが設けられている。ピストン１ｃはコネクティングロッド１６を介してクランクシャフト１５に連結されており、ピストン１ｃの往復運動がコネクティングロッド１６によってクランクシャフト１５の回転へと変換される。エンジン１のクランクシャフト１５は、変速機（図示せず）に連結されており、エンジン１からの動力を変速機を介して車両の駆動輪（図示せず）に伝達することができる。
【００２１】
クランクシャフト１５にはシグナルロータ１７が取り付けられている。シグナルロータ１７の側方近傍には、クランク角を検出するクランクポジションセンサ（エンジン回転数センサ）２５が配置されている。クランクポジションセンサ２５は、例えば電磁ピックアップであって、クランクシャフト１５が回転する際にシグナルロータ１７の歯１７ａに対応するパルス状の信号（電圧パルス）を発生する。このクランクポジションセンサ２５の出力信号からエンジン回転数を算出することができる。
【００２２】
エンジン１のシリンダブロック１ａにはエンジン冷却水温を検出する水温センサ２１が配置されている。また、シリンダブロック１ａの上端にはシリンダヘッド１ｂが設けられており、このシリンダヘッド１ｂとピストン１ｃとの間に燃焼室１ｄが形成されている。
【００２３】
エンジン１のシリンダブロック１ａの下側には、エンジンオイルを貯留するオイルパン１８が設けられている。このオイルパン１８に貯留されたエンジンオイルは、エンジン１の運転時に、異物を除去するオイルストレーナを介してオイルポンプによって汲み上げられ、さらにオイルフィルタで浄化された後に、ピストン１ｃ、クランクシャフト１５、コネクティングロッド１６などに供給され、各部の潤滑・冷却等に使用される。
【００２４】
エンジン１のシリンダヘッド１ｂには、エンジン１の燃焼室１ｄ内に燃料を直接噴射するためのインジェクタ２が設けられている。インジェクタ２にはコモンレール（蓄圧室）３が接続されており、インジェクタ２が開弁状態となっている間、コモンレール３内の燃料がインジェクタ２から燃焼室１ｄ内に噴射される。
【００２５】
コモンレール３には、このコモンレール３内の高圧燃料の圧力（レール圧）を検出するためのレール圧センサ２４が配置されている。コモンレール３には燃料ポンプであるサプライポンプ４が接続されている。
【００２６】
サプライポンプ４は、エンジン１のクランクシャフト１５の回転力よって駆動される。このサプライポンプ４の駆動により燃料タンク４０から燃料をコモンレール３に供給し、インジェクタ２を所定のタイミングで開弁することによってエンジン１の各気筒の燃焼室１ｄ内に燃料が噴射される。この噴射された燃料は燃焼室１ｄ内で燃焼され排気ガスとなって排気される。なお、インジェクタ２の開弁タイミング（噴射期間）は、後述するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２００によって制御される。
【００２７】
エンジン１の燃焼室１ｄには吸気通路１１と排気通路１２とが接続されている。吸気通路１１と燃焼室１ｄとの間に吸気バルブ１３が設けられており、この吸気バルブ１３を開閉駆動することにより、吸気通路１１と燃焼室１ｄとが連通または遮断される。
【００２８】
また、排気通路１２と燃焼室１ｄとの間に排気バルブ１４が設けられており、この排気バルブ１４を開閉駆動することにより、排気通路１２と燃焼室１ｄとが連通または遮断される。これら吸気バルブ１３及び排気バルブ１４の開閉駆動は、クランクシャフト１５の回転が伝達される吸気カムシャフト及び排気カムシャフトの各回転によって行われる。
【００２９】
吸気通路１１には、エアクリーナ９、吸入空気量（新規空気量）を検出するエアフロメータ２２、後述するターボチャージャ１００のコンプレッサインペラ１０２、ターボチャージャ１００での過給によって昇温した吸入空気を強制冷却するためのインタークーラ７、吸気温センサ２３、スロットルバルブ６、及び、インテークマニホールド１１ａ内の圧力（過給圧）を検出するインマニ圧センサ（過給圧センサ）２８などが配置されている。
【００３０】
ここで、本実施形態においては、エアフロメータ２２として、上記した逆流（燃焼室内から吸気通路への燃焼ガスの吹き返しに起因する逆流）が発生するような高脈動域においても吸入空気量を高精度で検出することが可能な応答性の高いエアフロメータを用いている。
【００３１】
スロットルバルブ６は、インタークーラ７（ターボチャージャ１００のコンプレッサインペラ１０２）の下流側（吸入空気流れの下流側）の吸気通路１１に配置されている。スロットルバルブ６は電子制御式のバルブであって、スロットルモータ６０によって開度が調整される。スロットルバルブ６の開度（スロットル開度）はスロットル開度センサ２６によって検出される。この例のスロットルバルブ６は、運転者のアクセルペダル操作とは独立してスロットル開度を電子的に制御することが可能である。
【００３２】
排気通路１２には、ＮＯｘ吸蔵触媒（ＮＳＲ触媒：ＮＯｘ  Ｓｔｏｒａｇｅ  Ｒｅｄｕｃｔｉｏｎ触媒）８１、及び、ＤＰＮＲ触媒（Ｄｉｅｓｅｌ  Ｐａｔｉｃｕｌａｔｅ−ＮＯｘ  Ｒｅｄｕｃｔｉｏｎ触媒）８２を備えたマニバータ（排気浄化装置）８０が配設されている。また、排気通路１２には、マニバータ８０の下流側にＡ／Ｆセンサ（空燃比センサ）２９が配置されている。
【００３３】
−ターボチャージャ−
エンジン１には、排気圧を利用して吸入空気を過給するターボチャージャ（過給機）１００が装備されている。
【００３４】
ターボチャージャ１００は、図１に示すように、排気通路１２に配置されたタービンホイール１０１、吸気通路１１に配置されたコンプレッサインペラ１０２、及び、これらタービンホイール１０１とコンプレッサインペラ１０２とを一体に連結する連結シャフト１０３などによって構成されており、排気通路１２に配置のタービンホイール１０１が排気のエネルギによって回転し、これに伴って吸気通路１１に配置のコンプレッサインペラ１０２が回転する。そして、コンプレッサインペラ１０２の回転により吸入空気が過給され、エンジン１の各気筒の燃焼室に過給空気が強制的に送り込まれる。
【００３５】
この例のターボチャージャ１００は、可変ノズル式ターボチャージャ（ＶＮＴ）であって、タービンホイール１０１側に可変ノズルベーン機構１２０が設けられており、この可変ノズルベーン機構１２０の開度（以下、ＶＮ開度ともいう）を調整することによってエンジン１の過給圧を調整することができる。
【００３６】
−ＥＧＲ装置−
また、エンジン１にはＥＧＲ装置５が装備されている。ＥＧＲ装置５は、吸入空気に排気ガスの一部を導入することで、燃焼室１ｄ内の燃焼温度を低下させてＮＯｘの発生量を低減させる装置である。
【００３７】
ＥＧＲ装置５は、図１に示すように、ターボチャージャ１００のタービンホイール１０１よりも上流側（排気ガス流れの上流）の排気通路１２と、インタークーラ７（ターボチャージャ１００のコンプレッサインペラ１０２）の下流側（吸入空気流れの下流側）の吸気通路１１とを連通するＥＧＲ通路５１、このＥＧＲ通路５１に設けられたＥＧＲ触媒（例えば、酸化触媒）５２、ＥＧＲクーラ５３、及び、ＥＧＲバルブ５４などによって構成されている。そして、このような構成のＥＧＲ装置５において、ＥＧＲバルブ５４の開度を調整することにより、ＥＧＲ率［ＥＧＲ量／（ＥＧＲ量＋吸入空気量（新規空気量））（％）］を変更することができ、排気通路１２から吸気通路１１に導入されるＥＧＲ量（排気還流量）を調整することができる。
【００３８】
なお、ＥＧＲ装置５には、ＥＧＲクーラ５３をバイパスするＥＧＲバイパス通路及びＥＧＲバイパス切替バルブを設けておいてもよい。
【００３９】
−ＥＣＵ−
ＥＣＵ２００は、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３及びバックアップＲＡＭ２０４などを備えている。
【００４０】
ＲＯＭ２０２は、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。ＣＰＵ２０１は、ＲＯＭ２０２に記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、ＲＡＭ２０３は、ＣＰＵ２０１での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭ２０４は、例えばエンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００４１】
以上のＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３及びバックアップＲＡＭ２０４は、バス２０７を介して互いに接続されるとともに、入力インターフェース２０５及び出力インターフェース２０６と接続されている。
【００４２】
入力インターフェース２０５は、データ等を一時記憶するバッファ、波形成形回路、及び、Ａ／Ｄ変換器などを備えている。本実施形態では、バッファとして、後述するサンプリング間隔（例えば、３０ＣＡ間隔、６０ＣＡ間隔、９０ＣＡ間隔、１２０ＣＡ間隔）で取得したＡＦＭデータを一時記憶するバッファ（例えば、３０ＣＡバッファ、６０ＣＡバッファ、９０ＣＡバッファ、１２０ＣＡバッファ）を備えている。
【００４３】
上記入力インターフェース２０５には、水温センサ２１、エアフロメータ２２、吸気温センサ２３、レール圧センサ２４、クランクポジションセンサ２５、スロットルバルブ６の開度を検出するスロットル開度センサ２６、アクセルペダルの踏み込み量（アクセル開度）を検出するアクセル開度センサ２７、インマニ圧センサ（過給圧センサ）２８、及び、Ａ／Ｆセンサ２９などが接続されている。
【００４４】
上記出力インターフェース２０６には、インジェクタ２、スロットルバルブ６のスロットルモータ６０、及び、ＥＧＲバルブ５４などが接続されている。
【００４５】
ＥＣＵ２００は、上記した各種センサの出力信号に基づいて、エンジン１のスロットルバルブ６の開度制御、燃料噴射量・噴射時期制御（インジェクタ２の開閉制御）、及び、ＥＧＲ制御などを含むエンジン１の各種制御を実行する。
【００４６】
さらに、ＥＣＵ２００は、下記の「ＡＦＭデータ取得処理」及び「平均流量算出処理」を実行する。なお、これら「ＡＦＭデータ取得処理」及び「平均流量算出処理」によって算出された平均流量算出値は、エンジン１の制御（燃料噴射量制御、ＥＧＲ制御等）に利用される。
【００４７】
そして、上記したエアフロメータ２２及びＥＣＵ２００などによって本発明の吸入空気量計測装置が実現される。
【００４８】
−ＡＦＭデータ取得処理・平均流量算出処理−
次に、ＥＣＵ２００が実行するＡＦＭデータ取得処理及び平均流量算出処理について説明する。
【００４９】
まず、吸入空気量計測において、上述したように、応答性の高いエアフロメータ２２を用いた場合、吸気脈動に起因してエアフロメータ２２の出力値も瞬時に変動してしまうため、ＡＦＭ信号を時間同期で取り込む処理では、そのＡＦＭ信号をＥＣＵ２００に取り込むタイミングが不適切である場合、ＡＦＭデータの平均値（平均流量算出値）が大きく変動する場合がある。例えば、サンプリング周期（例えば４ｍｓｅｃ）と吸気脈動の脈動周期のピークとが一致する場合にはＡＦＭデータの平均値が大きくなってしまい、サンプリング周期と吸気脈動の脈動周期のボトムとが一致する場合にはＡＦＭデータの平均値が小さくなってしまう。このように、ＡＦＭ信号をＥＣＵ２００に取り込むタイミングによってＡＦＭデータの平均値（平均流量算出値）が大きく変動する場合がある。また、ＡＦＭ信号を時間同期で取り込む処理では、ＡＦＭデータの平均値の誤差（エイリアシング）が生じる場合がある。
【００５０】
そして、そのような平均流量算出値の変動や誤差が生じた場合、ＡＦＭ信号を利用した制御（燃料噴射量制御、ＥＧＲ制御等）を最適に実施することができず、燃料消費率（燃費）の悪化や排気エミッションの悪化が生じる場合がある。また、平均流量算出値に変動が生じた場合、ＡＦＭ信号を利用した制御（燃料噴射量制御、ＥＧＲ制御等）の変動（ハンチング等）が生じてドライバビリティが悪化する場合がある。
【００５１】
なお、平均流量算出値の変動を抑制するために、平均流量算出値になまし処理を施すことが考えられるが、この場合、処理の応答性が悪化するため、ＡＦＭ信号を利用した制御（燃料噴射量制御、ＥＧＲ制御等）の制御性が悪くなる。
【００５２】
また、ＡＦＭ信号を時間同期で取り込むタイミングを高速にすれば、ＡＦＭデータの平均値の変動を低減できるが、ＥＣＵの処理負荷が増大するため、取得タイミングの高速化にも限界がある。なお、ＡＦＭ信号がパルス（周波数）で出力される場合には、取得タイミングの高速化にも限界がある。
【００５３】
そこで、本実施形態では、上記した吸気脈動による影響（ＡＦＭデータの平均値（平均流量算出値）の変動）を排除するために、吸気脈動の１周期内においてエアフロメータ２２の出力信号（ＡＦＭ信号）を等間隔でサンプリングして吸入空気の平均流量を算出するという処理を行う。その具体的な処理（ＡＦＭデータ取得処理及び平均流量算出処理）の一例について以下に説明する。
【００５４】
＜ＡＦＭデータ取得処理＞
まず、ＡＦＭデータ取得処理の一例について、図３のフローチャートを参照して説明する。図３の処理ルーチンはＥＣＵ２００において所定時間ごと（例えば４ｍｓｅｃごと）に繰り返して実行される。
【００５５】
この図３の処理ルーチンが開始されると、まずは、ステップＳＴ１０１において、クランクポジションセンサ２５の出力信号からエンジン回転数を算出する。
【００５６】
次に、ステップＳＴ１０２では、上記ステップＳＴ１０１で算出したエンジン回転数に基づいて、図４のマップを参照してクランク角度間隔（エアフロメータ２２の出力信号をサンプリングするクランク角度間隔：例えば３０ＣＡ、６０ＣＡ、９０ＣＡ、１２０ＣＡ）を設定する。クランク角度間隔の設定処理については後述する。
【００５７】
そして、ステップＳＴ１０３では、クランクポジションセンサ２５の出力信号に基づいて、上記ステップＳＴ１０２で設定したクランク角度間隔（３０ＣＡ、６０ＣＡ、９０ＣＡ、または、１２０ＣＡ）ごとに、エアフロメータ２２の出力信号（ＡＦＭ信号）をサンプリングして、そのサンプリングしたＡＦＭデータをＥＣＵ２００内のバッファに記憶（一時記憶）する。
【００５８】
（クランク角度間隔の設定処理）
次に、エアフロメータ２２の出力信号をサンプリングするクランク角度間隔を設定する処理について説明する。
【００５９】
まず、この例に用いるクランク角度間隔は、エンジン１のクランクシャフト１５が１回転する角度３６０°（クランク角度）を、２以上の整数で割った値とする（この条件を［条件Ｊ１］と呼ぶ）。
【００６０】
例えば、２以上の整数が「１２」である場合はクランク角度間隔を３０°間隔（以下、３０ＣＡ間隔ともいう）とし、２以上の整数が「６」である場合はクランク角度間隔を６０°間隔（以下、６０ＣＡ間隔ともいう）とする。また、２以上の整数が「４」である場合はクランク角度間隔を９０°間隔（以下、９０ＣＡ間隔ともいう）とし、２以上の整数が「３」である場合はクランク角度間隔を１２０°間隔（以下、１２０ＣＡ間隔ともいう）とする。
【００６１】
ただし、エンジン１の１サイクルあたりのクランク角度（７２０°）を気筒数で割った値（７２０°／気筒数）は除く（この条件を［条件Ｊ２］と呼ぶ）。例えば、エンジン１が４気筒である場合は１８０°は除く。このように、１サイクルあたりのクランク角度（７２０°）を気筒数で割った値を除く理由について説明する。
【００６２】
まず、上記した吸気脈動は、エンジン１の各気筒の吸気行程に対応して発生する。例えば、エンジンが４気筒である場合、１サイクル（７２０°）の間に吸気脈動が４回（４周期）発生するので、その各気筒における吸気脈動の周期は１８０°クランク角度（１８０ＣＡ）となる。このため、４気筒のエンジン１において、エアフロメータ２２の出力信号をサンプリングするクランク角度間隔を１８０ＣＡとした場合、そのサンプリング周期と吸気脈動の周期とが同じとなるため、例えば、吸気脈動の脈動周期のピークの値（ＡＦＭデータ）ばかりをサンプリングしてしまう場合がある。また、逆に、脈動周期のボトム（ＡＦＭデータ）ばかりをサンプリングしてしまう場合があり、こうした状況になると、ＡＦＭデータの平均値を正確に算出できなくなる。これを回避するために、この例では、１サイクル（７２０ＣＡ）を気筒数で割った角度（７２０°／気筒数）は除くようにしている。
【００６３】
また、この例において、上記ＡＦＭ信号を取得するクランク角度間隔は、エンジン１のエンジン回転数に応じて切り替えるようにする。具体的には、エンジン回転数が高い場合には、低い場合と比較して、ＡＦＭ信号を取得するクランク角度間隔を大きな値とする。
【００６４】
そして、この例では、以上のような条件（［条件Ｊ１］及び［条件Ｊ２］等）に基づいて図４に示すマップ（テーブル）が予め設定されており、この図４のマップを参照して、クランクポジションセンサ２５の出力信号から算出されるエンジン回転数に基づいて、エアフロメータ２２の出力信号（ＡＦＭ信号）を取得するクランク角度間隔（以下、サンプリング間隔という場合もある）を設定する。具体的には、エンジン回転数が［５００ｒｐｍ〜２０００ｒｐｍ］である場合は、サンプリング間隔を３０ＣＡ間隔とする。エンジン回転数が［１８００ｒｐｍ〜４０００ｒｐｍ］である場合は、サンプリング間隔を６０ＣＡ間隔とし、エンジン回転数が［３８００ｒｐｍ以上（３８００ｒｐｍ〜）］である場合は、サンプリング間隔を１２０ＣＡ間隔とする。なお、図４に示すマップはＥＣＵ２００のＲＯＭ２０２内に記憶されている。
【００６５】
ここで、図４に示すマップでは、３０ＣＡ間隔のエンジン回転数と６０ＣＡ間隔のエンジン回転数とが重複するオーバーラップ回転域（１８００ｒｐｍ〜２０００ｒｐｍ）を設けている。その理由は、エンジン回転数が上昇過程である場合にサンプリング間隔を３０ＣＡ間隔から６０ＣＡ間隔に切り替える切替値（エンジン回転数）と、エンジン回転数が下降過程である場合にサンプリング間隔を６０ＣＡ間隔から３０ＣＡ間隔に切り替える切替値（エンジン回転数）とにヒステリシスをもたせるためである。
【００６６】
具体的には、エンジン回転数が上昇する過程において、その上昇中のエンジン回転数が２０００ｒｐｍに達したときにサンプリング間隔を３０Ａ間隔から６０ＣＡ間隔に切り替える。一方、エンジン回転数が下降する過程において、その下降中のエンジン回転数が１８００ｒｐｍ以下になったときにサンプリング間隔を６０Ａ間隔から３０ＣＡに切り替えるようにしている。
【００６７】
また、６０ＣＡ⇔１２０ＣＡの切り替えの場合にも、エンジン回転数上昇時と下降時とでヒステリシスをもたせている。つまり、エンジン回転数が上昇する過程において、その上昇中のエンジン回転数が４０００ｒｐｍに達したときにサンプリング間隔を６０Ａ間隔から１２０ＣＡ間隔に切り替える。一方、エンジン回転数が下降する過程において、その下降中のエンジン回転数が３８００ｒｐｍ以下になったときにサンプリング間隔を１２０Ａ間隔から６０ＣＡに切り替えるようにしている。
【００６８】
なお、図４に示すマップにおいて、エンジン回転数が５００ｒｐｍ未満である低回転域については、ＡＦＭ信号のサンプリング間隔を４ｍｓｅｃ（時間同期）としている。その理由は、５００ｒｐｍ未満の低回転域において、サンプリング間隔（３０ＣＡ）とすると、ＡＦＭ信号のサンプリング時間が長くなってしまい、ＡＦＭデータの平均値の算出精度が低下するので、これを回避するために、エンジン回転数が５００ｒｐｍ未満である場合は、時間同期（４ｍｓｅｃ）でＡＦＭ信号のサンプリングを行うようにしている。
【００６９】
また、エンジン回転数が５００ｒｐｍ以上の回転域を、角度同期のサンプリング領域としておくことにより、エンジン１が運転している状態（アイドリング運転状態も含む）では、必ずクランク角度間隔でＡＦＭデータを取得することができるので問題はない。
【００７０】
そして、この例では、上記図３の処理ルーチンのステップＳＴ１０２において設定されたクランク角度間隔が例えば３０ＣＡ間隔である場合、その３０ＣＡ間隔ごとにＡＦＭデータを取得してＥＣＵ２００内の３０ＣＡバッファ（図８参照）に記憶していく。この状態から、エンジン回転数が上昇して２０００ｒｐｍ以上になると、ＡＦＭデータを取得するクランク角度間隔を３０ＣＡから６０ＣＡ間隔に切り替えて（図８参照）、６０ＣＡ間隔ごとにＡＦＭデータを取得してＥＣＵ２００内の６０ＣＡバッファ（図８参照）に記憶していく。さらに、エンジン回転数が上昇して４０００ｒｐｍ以上になると、ＡＦＭデータを取得するクランク角度間隔を６０ＣＡ間隔から１２０ＣＡ間隔に切り替えて、１２０ＣＡ間隔ごとにＡＦＭデータを取得してＥＣＵ２００内の１２０ＣＡバッファに記憶していく。
【００７１】
一方、１２０ＣＡ間隔ごとにＡＦＭデータを取得している状況から、エンジン回転数が下降して３８００ｒｐｍ以下になると、クランク角度間隔を１２０ＣＡ間隔から６０ＣＡ間隔に切り替えて、６０ＣＡ間隔でＡＦＭデータを取得してＥＣＵ２００内の６０ＣＡバッファに記憶していく。さらに、エンジン回転数が下降して１８００ｒｐｍ以下になると、クランク角度間隔を６０ＣＡ間隔から３０ＣＡ間隔に切り替えて、３０ＣＡ間隔でＡＦＭデータを取得してＥＣＵ２００内の３０ＣＡバッファに記憶していく。
【００７２】
なお、図４に示すマップは一例であり、エアフロメータ２２の出力信号（ＡＦＭ信号）をサンプリングするクランク角度間隔を、３０ＣＡ間隔、６０ＣＡ間隔、１２０ＣＡ間隔としているが、他の例として、ＡＦＭ信号をサンプリングするクランク角度間隔を、３０ＣＡ間隔、６０ＣＡ間隔、９０ＣＡ間隔、１２０ＣＡ間隔としてもよい。さらに、クランク角度間隔については、上記した［条件１］及び［条件２］を満足するものであれば、他の任意のクランク角度間隔を採用してもよい。
【００７３】
＜平均流量算出処理＞
次に、上記ＡＦＭデータ取得処理で取得したＡＦＭデータの平均値（吸入空気の平均流量）を算出する処理について、図５のフローチャートを参照して説明する。図５の処理ルーチンは、ＥＣＵ２００において所定時間ごと（例えば１６ｍｓｅｃごと）に繰り返して実行される。
【００７４】
この図５の処理ルーチンが開始されると、まずは、ステップＳＴ２０１において、クランクポジションセンサ２５の出力信号からエンジン回転数を算出する。
【００７５】
ステップＳＴ２０２では、上記ステップＳＴ２０１で算出したエンジン回転数に基づいて、クランク角度間隔（ＣＡ間隔）の切り替えが発生したか否かを判定する。
【００７６】
具体的には、例えば、エンジン回転数が上昇している状況のときに、前回ルーチンのエンジン回転数が２０００ｒｐｍよりも小さい値（５００ｒｐｍ以上）であり、今回ルーチンのエンジン回転数も２０００ｒｐｍ（５００ｒｐｍ以上）よりも小さい値である場合は、ＣＡ間隔の切り替えは発生していないと判定（ステップＳＴ２０２の判定結果が否定判定（ＮＯ））してステップＳＴ２０３に進む。一方、前回ルーチンのエンジン回転数が２０００ｒｐｍよりも小さい値（５００ｒｐｍ以上）であり、今回ルーチンのエンジン回転数が２０００ｒｐｍ以上である場合はＣＡ間隔の切り替え（３０ＣＡ⇒６０ＣＡ）が発生したと判定（ステップＳＴ２０２の判定結果が肯定判定（ＹＥＳ））してステップＳＴ２０４に進む。
【００７７】
また、例えば、エンジン回転数が下降している状況のときに、前回ルーチンのエンジン回転数が３８００ｒｐｍよりも大きい値であり、今回ルーチンのエンジン回転数も３８００ｒｐｍよりも大きい値である場合は、ＣＡ間隔の切り替えは発生していないと判定してステップＳＴ２０３に進む。一方、前回ルーチンのエンジン回転数が３８００ｒｐｍよりも大きい値であり、今回ルーチンのエンジン回転数が３８００ｒｐｍ以下である場合はＣＡ間隔の切り替え（１２０ＣＡ⇒６０ＣＡ）が発生したと判定してステップＳＴ２０４に進む。
【００７８】
ステップＳＴ２０３では、上記ＡＦＭデータ取得処理で取得したＡＦＭデータを平均して吸入空気の平均流量を算出する。平均流量の算出処理については後述する。
【００７９】
ステップＳＴ２０４では、切り替え時における平均流量を算出する。このステップＳＴ２０４の処理は、クランク角度間隔を切り替える際に実行する処理であって、この処理が終了した後（ＣＡ間隔切り替え時における吸気脈動の１周期の平均流量算出処理が終了した後）は、ステップＳＴ２０３に進んで平均流量算出処理を繰り返して実行する。なお、ステップＳＴ２０４の処理（切り替え時における平均流量の算出処理）についても後述する。
【００８０】
（平均流量算出処理）
次に、上記図５のステップＳＴ２０３において実行する「平均流量算出処理」について説明する。
【００８１】
まず、本実施形態では、上記した如く吸気脈動の影響を排除するために、ＡＦＭデータの平均値を算出する平均区間を、エンジン１の１サイクルあたりのクランク角度（７２０°）を気筒数で割った値（吸気脈動の１周期に相当する期間）とする。
【００８２】
具体的には、エンジン１が４気筒である場合、平均区間は１８０°となり、クランク角度間隔を３０ＣＡ間隔とした場合の取得データ数は６個（１８０°／３０°）となる（図４参照）。また、クランク角度間隔を６０ＣＡ間隔とした場合の取得データ数は３個（１８０°／６０°）となり（図４参照）、クランク角度間隔を９０ＣＡ間隔とした場合の取得データ数は２個（１８０°／９０°）となる（図４参照）。なお、クランク角度間隔を１２０ＣＡ間隔とした場合、取得データ数は１個となり平均値を算出できないので、１２０ＣＡ間隔については、１８０°の倍数である３６０°を平均区間として取得データ数を３個とする（図４参照）。
【００８３】
そして、上記ステップＳＴ２０３では、上記したＡＦＭデータ取得処理によりバッファに記憶したＡＦＭデータを監視しており、複数のＡＦＭデータの総和を算出し、その算出したＡＦＭデータの総和を取得データ数で割ることにより、ＡＦＭデータの平均値つまり吸入空気の平均流量を算出する。
【００８４】
具体的には、例えば、クランク角度間隔が３０ＣＡである場合、図８に示すように、上記ＡＦＭデータ取得処理で取得したＡＦＭデータが６個の３０ＣＡバッファに記憶されたか否かを監視しており、６個のＡＦＭデータの総和を算出し、その算出したＡＦＭデータの総和を「６」で割ることにより、吸入空気の平均流量を算出する。このような算出処理は、ステップＳＴ２０２の判定結果が否定判定（ＮＯ）である場合（ＣＡ間隔の切り替えの発生がない場合）は順次繰り返して実行される。そして、ステップＳＴ２０２の判定結果が肯定判定（ＹＥＳ）となった場合は、ステップＳＴ２０４の処理（切り替え時における平均流量の算出処理）を実行した後に、ステップＳＴ２０３に進む。
【００８５】
なお、クランク角度間隔が６０ＣＡ、９０ＣＡ、１２０ＣＡである場合についても、同様な処理にて、吸入空気の平均流量を算出する。つまり、クランク角度間隔が６０ＣＡである場合、図１０に示すように、３個のＡＭＦデータを平均して吸入空気の平均流量を算出する。また、クランク角度間隔が９０ＣＡである場合、２個のＡＭＦデータを平均して吸入空気の平均流量を算出する。また、クランク角度間隔が１２０ＣＡである場合、３個のＡＭＦデータを平均して吸入空気の平均流量を算出する。
【００８６】
（切り替え時における平均流量算出処理）
次に、上記図５のステップＳＴ２０４において実行する「切り替え時における平均流量算出処理」について説明する。
【００８７】
まず、ＡＦＭ信号を取得するクランク角度間隔を切り替えた場合、その切り替えの際の吸気脈動の１周期内において不等間隔のサンプリングが生じてしまい、ＡＦＭデータの平均値が変動する。この点について以下に説明する。なお、切り替え前後のクランク角度間隔（ＣＡ間隔）が倍数の関係にある場合と、切り替え前後のクランク角度間隔（ＣＡ間隔）が非倍数の関係にある場合とに分けて説明する。
【００８８】
（切り替え前後のＣＡ間隔が倍数の関係にある場合）
クランク角度間隔を切り替えた際に、その切り替え前後のクランク角度間隔が倍数の関係にある場合（３０ＣＡ⇒６０ＣＡ）について図６を参照して説明する。
【００８９】
この図６に示すように、クランク角度間隔を、３０ＣＡ間隔から６０ＣＡ間隔に切り替えた場合、吸気脈動の１周期内において、３０ＣＡ間隔で取得したＡＦＭデータと、６０ＣＡで所得したＡＦＭデータとが混在するので、図７に示すように、吸気脈動の１周期内で不等間隔のデータサンプリングが生じてしまう。これによって、クランク角度間隔が切り替わるときに、ＡＦＭデータの平均値が一瞬だけ変動（例えば図７に示すように、平均値が等間隔の場合と比べて上昇）してしまい、その平均値変動がノイズとなる場合がある。
【００９０】
なお、クランク角度間隔が６０ＣＡ間隔から１２０ＣＡ間隔に切り替わる場合（６０ＣＡ間隔⇒１２０ＣＡ間隔）にも、上記と同様な理由により、ＡＦＭデータ平均値の変動が生じる。また、エンジン回転数が下降しているときに、クランク角度間隔が１２０ＣＡ間隔から６０ＣＡ間隔に切り替わる場合（１２０ＣＡ間隔⇒６０ＣＡ間隔）、及び、クランク角度間隔が６０ＣＡ間隔から３０ＣＡ間隔に切り替わる場合（６０Ａ間隔⇒３０ＣＡ間隔）などにおいても、上記と同様な理由により、ＡＦＭデータ平均値の変動が生じる。
【００９１】
（平均値算出処理例１）
以上のような、ＣＡ期間切り替え時におけるＡＦＭデータ平均値の変動を解消するための処理（切り替え時における平均流量算出処理）について図８を参照して説明する。なお、図８では、クランク角度間隔を３０ＣＡ間隔から６０ＣＡ間隔に切り替える場合の例を示している。
【００９２】
まず、クランク角度間隔の切り替えがなくて、上記したＡＦＭデータ取得処理により３０ＣＡ間隔でＡＦＭデータを取得している場合、ＥＣＵ２００内の３０ＣＡバッファに、３０ＣＡ間隔ごと取得したＡＦＭデータが順次記憶されていく。そして、６個のＡＦＭデータを用いて平均値を算出する。
【００９３】
次に、エンジン回転数が上昇して、クランク角度間隔が３０ＣＡ間隔から６０ＣＡ間隔に切り替わったときに、３０ＣＡバッファのＡＦＭデータ［Ｄａ６］、６０ＣＡバッファのＡＦＭデータ［Ｄｂ１］及び［Ｄｂ２］を用いて平均値を算出すると、上述の如く、ＡＦＭデータ平均値の変動が生じる。
【００９４】
そこで、この例では、３０ＣＡ間隔で取得したＡＦＭデータの中から、６０ＣＡ間隔に一致するＡＦＭデータ［Ｄａ５］を選択し、その選択したＡＦＭデータ［Ｄａ５］を６０ＣＡバッファにコピーして６０ＣＡ間隔でのＡＦＭデータ［Ｄｂ３］とする。そして、その処理を行ったＡＦＭデータ［Ｄｂ３］と、６０ＣＡ間隔で取得したＡＦＭデータ［Ｄｂ１］及び［Ｄｂ２］とを用いて平均値を算出する。このような処理を行うことにより、３０ＣＡ間隔から６０ＣＡ間隔に切り替わったときに、そのＣＡ切り替え時における吸気脈動の１周期内でのサンプリング間隔を等間隔にすることができる。これによって、上記したＡＦＭデータ平均値の変動を解消することができる。このようなＣＡ間隔切り替え時の平均流量算出処理は、切り替え時における吸気脈動の１周期だけ実行する。
【００９５】
ここで、上記した６０ＣＡ間隔に一致するＡＦＭデータ［Ｄａ５］を用いてＡＦＭデータ平均値を算出する処理が、本発明でいう「切り替え前後のクランク角度間隔が倍数の関係にあるときには、切り替え前後におけるクランク角度間隔のうち、大きい側のクランク角度間隔で取得したサンプリング値を用いて前記平均値を算出する」ことに相当する。
【００９６】
なお、クランク角度間隔が６０ＣＡ間隔から１２０ＣＡ間隔に切り替わる場合（６０ＣＡ間隔⇒１２０ＣＡ間隔）、クランク角度間隔が１２０ＣＡ間隔から６０ＣＡ間隔に切り替わる場合（１２０ＣＡ間隔⇒６０ＣＡ間隔）、及び、クランク角度間隔が６０ＣＡ間隔から３０ＣＡ間隔に切り替わる場合（６０ＣＡ間隔⇒３０ＣＡ間隔）などにおいても、上記と同様な処理により、ＡＦＭデータ平均値の変動を解消することができる。
【００９７】
（切り替え前後のＣＡ間隔が非倍数の関係にある場合）
次に、クランク角度間隔を切り替えた際に、その切り替え前後のクランク角度間隔が非倍数の関係にある場合（６０ＣＡ⇒９０ＣＡ）について図９を参照して説明する。
【００９８】
この図９に示すように、クランク角度間隔を、６０ＣＡ間隔から９０ＣＡ間隔に切り替えた場合、吸気脈動の１周期内において、６０ＣＡ間隔で取得したＡＦＭデータと９０ＣＡで所得したＡＦＭデータとが混在するので、９０ＣＡ間隔に切り替わったのにも関わらず、６０ＣＡ間隔で取得した２つのＡＦＭデータを用いてＡＦＭデータの平均値が算出されてしまう。この場合も、クランク角度間隔が切り替わるときに、ＡＦＭデータの平均値が一瞬だけ変動してしまい、その平均値変動がノイズとなる場合がある。
【００９９】
なお、クランク角度間隔が９０ＣＡ間隔から１２０ＣＡ間隔に切り替わる場合（９０ＣＡ間隔⇒１２０ＣＡ間隔）にも、上記と同様な理由により、ＡＦＭデータ平均値の変動が生じる。また、エンジン回転数が下降しているときに、クランク角度間隔が１２０ＣＡ間隔から９０ＣＡ間隔に切り替わる場合（１２０ＣＡ間隔⇒９０ＣＡ間隔）、及び、クランク角度間隔が９０ＣＡ間隔から６０ＣＡ間隔に切り替わる場合（９０ＣＡ間隔⇒６０ＣＡ間隔）などにおいても、上記と同様な理由により、ＡＦＭデータ平均値の変動が生じる。
【０１００】
（平均値算出処理例２）
以上のような、ＣＡ期間切り替え時におけるＡＦＭデータ平均値の変動を解消するための処理（切り替え時における平均流量算出処理）について図１０を参照して説明する。なお、図１０では、クランク角度間隔を、６０ＣＡ間隔から９０ＣＡ間隔に切り替える場合の例を示している。
【０１０１】
まず、クランク角度間隔の切り替えがなくて、上記したＡＦＭデータ取得処理により６０ＣＡ間隔でＡＦＭデータを取得している場合、ＥＣＵ２００内の６０ＣＡバッファに、６０ＣＡ間隔ごと取得したＡＦＭデータが順次記憶されていく。そして、３個のＡＦＭデータを用いて平均値を算出する。
【０１０２】
次に、エンジン回転数が上昇して、クランク角度間隔が６０ＣＡ間隔から９０ＣＡ間隔に切り替わったときには、６０ＣＡバッファのＡＦＭデータ［Ｄｂ３］と、９０ＣＡバッファのＡＦＭデータ［Ｄｃ１］との２個のデータを用いて平均値を算出すると、上述の如く、ＡＦＭデータ平均値の変動が生じる。そこで、この例では、６０ＣＡバッファのＡＦＭデータ［Ｄｂ３］を用いるのではなく、線形補間を行ったＡＦＭデータを用いて平均値を算出する。
【０１０３】
具体的には、ＣＡ間隔切り替え時に対して９０ＣＡ間隔前のクランク角度（図１０の例ででは２７０°ＣＡ）でのＡＦＭデータ（実際には取得されないＡＦＭデータ）を、そのクランク角度の前後において６０ＣＡ間隔で取得した２つのＡＦＭデータ［Ｄｂ２］と［Ｄｂ３］とを用いて線形補間によって算出し、その算出したＡＦＭデータ［Ｄｃ２］と、９０ＣＡ間隔で取得したＡＦＭデータ［Ｄｃ１］とを用いて平均値を算出する。このような処理を行うことにより、６０ＣＡ間隔から９０ＣＡ間隔に切り替わったときに、９０ＣＡ間隔で取得したＡＦＭデータを用いて平均値を算出することが可能になるので、上記したＡＦＭデータ平均値の変動を抑制することができる。このようなＣＡ間隔切り替え時の平均流量算出処理は、切り替え時における吸気脈動の１周期だけ実行する。
【０１０４】
なお、クランク角度間隔が９０ＣＡ間隔から１２０ＣＡ間隔に切り替わる場合（９０ＣＡ間隔⇒１２０ＣＡ間隔）、クランク角度間隔が１２０ＣＡ間隔から９０ＣＡ間隔に切り替わる場合（１２０ＣＡ間隔⇒９０ＣＡ間隔）、及び、クランク角度間隔が９０ＣＡ間隔から６０ＣＡ間隔に切り替わる場合（９０ＣＡ間隔⇒６０ＣＡ間隔）などにおいても、上記と同様な処理により、ＡＦＭデータ平均値の変動を抑制することができる。
【０１０５】
ここで、以上の［平均値算出処理例２］の処理が、本発明でいう「切り替え前のクランク角度間隔で取得した２つのサンプリング値を線形補間をした値と、前記切り替え後のクランク角度間隔で取得したサンプリング値とを用いて前記平均値を算出する」処理に相当する。
【０１０６】
＜効果＞
以上説明したように、本実施形態によれば、吸気脈動の１周期内においてエアフロメータ２２の出力信号（ＡＦＭ信号）を等間隔でサンプリングしているので、吸気脈動による影響を排除することができ、ＡＦＭデータの平均値（平均流量算出値）の変動を抑制することが可能になる。しかも、エンジン回転数（クランクシャフトの回転数）が高い場合は低い場合と比較して、ＡＦＭデータを取得するクランク角度間隔を大きくしているので、エンジン回転数が高回転となってもＥＣＵ２００の処理負荷（計算負荷）が増大することはない。
【０１０７】
ここで、ＡＦＭデータを取得するクランク角度間隔を大きくすると、ＡＦＭデータの算出平均値の算出精度が悪化する傾向となるが、エンジン回転数が高回転域である場合には吸気脈動の周期も早くなり、エアフロメータ２２の出力信号（ＡＦＭ信号）がなまされる（吸気脈動の振幅が小さくなる）ので、エンジン回転数が低回転域である場合に比べて、エアフロメータ２２の出力信号は平均値に近い値となる。したがって、ＡＦＭデータを取得するクランク角度間隔を大きくしても誤差は生じにくくなる。
【０１０８】
このように、本実施形態では、ＥＣＵ２００の計算負荷を増大させることなく、また、制御の応答性を犠牲にすることなく、ＡＦＭデータの平均値（平均流量算出値）の変動を抑制することができる。
【０１０９】
−他の実施形態−
以上の実施形態では、４気筒ディーゼルエンジンの吸入空気量計測処理に本発明を適用した場合について説明した。本発明はこれに限られることなく、例えば６気筒ディーゼルエンジンなど他の任意の気筒数のディーゼルエンジンの吸入空気量計測処理にも適用可能である。
【０１１０】
また、以上の実施形態では、ディーゼルエンジンの吸入空気量計測処理の例について説明したが、本発明はこれに限られることなく、ガソリンエンジンなどの他の任意の内燃機関の吸入空気量計測処理にも本発明は適用可能である。
【産業上の利用可能性】
【０１１１】
本発明は、内燃機関（エンジン）の吸入空気量計測装置に利用可能であり、さらに詳しくは、内燃機関の吸気通路に配置したエアフロメータの出力信号に基づいて吸入空気量を計測する内燃機関の吸入空気量計測装置に有効に利用することができる。
【符号の説明】
【０１１２】
１  エンジン（内燃機関）
１１  吸気通路
２２  エアフロメータ
２５  クランクポジションセンサ
２００  ＥＣＵ
【図１】
0005920362.tif 000002
【図２】
0005920362.tif 000003
【図３】
0005920362.tif 000004
【図４】
0005920362.tif 000005
【図５】
0005920362.tif 000006
【図６】
0005920362.tif 000007
【図７】
0005920362.tif 000008
【図８】
0005920362.tif 000009
【図９】
0005920362.tif 000010
【図１０】
0005920362.tif 000011