(57)【特許請求の範囲】
【請求項１】
予め設定された計算周期毎に到来する計算タイミングで、内燃機関の少なくとも１つの気筒へ空気を供給するインテークマニホールド内に存在する空気の量であるインテーク空気量と、前記内燃機関の１つの前記気筒内に存在する空気の量である気筒空気量とを、少なくとも、前回の前記計算タイミングで算出された前記インテーク空気量と前記気筒空気量とを用いて算出する空気量算出手段（Ｓ１３０）と、
前回の前記計算タイミングを前回計算タイミングとし、今回の前記計算タイミングを今回計算タイミングとして、前記前回計算タイミングと前記今回計算タイミングとの間に少なくとも１つの補間タイミングを設定する補間タイミング設定手段（Ｓ１１０）と、
前記補間タイミング設定手段により設定された前記補間タイミングにおける前記インテーク空気量を、前記前回計算タイミングの前記インテーク空気量と前記今回計算タイミングの前記インテーク空気量との間で補間することにより算出する補間手段（Ｓ１５０）と、
前記前回計算タイミングと前記今回計算タイミングとの間に前記補間タイミングが１つのみ設定されている場合、または、今回の前記補間タイミングが前記前回計算タイミングに最も近い場合には、前回の前記補間タイミングにおける前記インテーク空気量を前記前回計算タイミングにおける前記インテーク空気量とし、前回の前記補間タイミングにおける前記気筒空気量を前記前回計算タイミングにおける前記気筒空気量として、前回の前記補間タイミングにおける前記インテーク空気量と前回の前記補間タイミングにおける前記気筒空気量とを用いて今回の前記補間タイミングにおける前記気筒空気量を算出する処理を、前記前回計算タイミングに近い前記補間タイミングから順次実行する再算出手段（Ｓ１６０〜Ｓ２２０）とを備える
ことを特徴とする電子制御装置（１）。
【請求項２】
前記気筒の１回の吸気行程の期間内において前記計算タイミングが到来する回数が、予め設定された補間判定回数より大きい場合に、前記再算出手段の実行を禁止する第１禁止手段（Ｓ２０）を備える
ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記再算出手段が、前記前回計算タイミングに近い前記補間タイミングから前記気筒空気量の算出を順次実行している過程において、今回の前記補間タイミングで算出した前記気筒空気量と、前回の前記補間タイミングで算出した前記気筒空気量との差が、予め設定された補間中止判定値より小さい場合に、前記再算出手段の実行を中止する中止手段（Ｓ２３０）を備える
ことを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項４】
前記空気量算出手段が前記今回計算タイミングで算出した前記気筒空気量と、前記空気量算出手段が前記前回計算タイミングで算出した前記気筒空気量との差が、予め設定された補間実行判定値より小さい場合に、前記再算出手段の実行を禁止する第２禁止手段（Ｓ１４０）を備える
ことを特徴とする請求項１〜請求項３の何れか１項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関を制御する電子制御装置に関する。
【背景技術】
【０００２】
従来、エンジンの気筒へ噴射する燃料の量を決定するために、エンジンの気筒内に充填される空気の量（以下、気筒空気量という）を予め設定された計算周期毎に算出するように構成された電子制御装置が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７３５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術では、上記気筒空気量の算出が予め設定された計算周期毎に行われているために、エンジン回転数に応じて、１回の吸気行程で実行される計算回数が変化する。このため、エンジンの高回転時には、１回の吸気行程で実行される計算回数が少なくなり、気筒空気量の算出精度が低下してしまう。一方、気筒空気量の算出精度を向上させるために計算周期を短くすると、電子制御装置の処理負荷が増加してしまう。
【０００５】
本発明は、こうした問題に鑑みてなされたものであり、気筒空気量の算出精度の低下を抑制するとともに処理負荷の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明の電子制御装置は、空気量算出手段と、補間タイミング設定手段と、補間手段と、再算出手段とを備える。
空気量算出手段は、予め設定された計算周期毎に到来する計算タイミングで、内燃機関の少なくとも１つの気筒へ空気を供給するインテークマニホールド内に存在する空気の量であるインテーク空気量と、内燃機関の１つの気筒内に存在する空気の量である気筒空気量とを、少なくとも、前回の計算タイミングで算出されたインテーク空気量と気筒空気量とを用いて算出する。
【０００７】
補間タイミング設定手段は、前回の計算タイミングを前回計算タイミングとし、今回の計算タイミングを今回計算タイミングとして、前回計算タイミングと今回計算タイミングとの間に少なくとも１つの補間タイミングを設定する。
【０００８】
補間手段は、補間タイミング設定手段により設定された補間タイミングにおけるインテーク空気量を、前回計算タイミングのインテーク空気量と今回計算タイミングのインテーク空気量との間で補間することにより算出する。
【０００９】
再算出手段は、前回の補間タイミングにおけるインテーク空気量と前回の補間タイミングにおける気筒空気量とを用いて今回の補間タイミングにおける気筒空気量を算出する処理を、前回計算タイミングに近い補間タイミングから順次実行する。
【００１０】
このように構成された本発明の電子制御装置は、前回計算タイミングと今回計算タイミングとの間に少なくとも１つの補間タイミングを設定し、前回計算タイミングに近い補間タイミングから順次、補間タイミングの気筒空気量を算出することにより、今回計算タイミングの気筒空気量を算出する。これにより、本発明の電子制御装置は、今回計算タイミングの気筒空気量を算出するまでに、気筒空気量の計算を補間タイミングの数に相当する回数分追加して実行することができる。
【００１１】
このため、本発明の電子制御装置は、内燃機関の高回転に起因して１回の吸気行程で到来する計算タイミングが少なくなった場合であっても、１回の吸気行程における気筒空気量の計算回数を確保し、気筒空気量の算出精度の低下を抑制することができる。
【００１２】
さらに、本発明の電子制御装置は、前回計算タイミングと今回計算タイミングとの間でインテーク空気量を補間することにより、前回の補間タイミングのインテーク空気量を算出し、この前回の補間タイミングのインテーク空気量を用いて、今回の補間タイミングの気筒空気量を算出する。これにより、本発明の電子制御装置は、今回の補間タイミングにおいて、前回の補間タイミングのインテーク空気量を用いて今回の補間タイミングのインテーク空気量を算出する必要がなくなる。このため、本発明の電子制御装置は、補間タイミングにおける気筒空気量の計算が追加されたことに起因した処理負荷の増加を抑制することができる。
【００１３】
以上より、本発明の電子制御装置は、気筒空気量の算出精度の低下を抑制することができるとともに、処理負荷の増加を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】エンジンＥＣＵ１とエンジン５０の構成を示す図である。
【図２】吸気管６１とインテークマニホールド６５の構成を示す図である。
【図３】吸入空気量算出処理を示すフローチャートである。
【図４】補間タイミングの設定と線形補間の方法を説明する図である。
【図５】Ｓ３０〜Ｓ９０で行われる計算の手順を示すブロック図である。
【図６】Ｓ３０〜Ｓ９０で行われる計算の手順を示すタイミングチャートである。
【図７】Ｓ１２０〜Ｓ２６０で行われる計算の手順を示すブロック図である。
【図８】Ｓ１２０〜Ｓ２６０で行われる計算の手順を示すタイミングチャートである。
【図９】計算回数の低下による算出精度の低下を説明する図である。
【発明を実施するための形態】
【００１５】
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置（Electronic Control Unit）１（以下、エンジンＥＣＵ１という）は、車両に搭載され、図１に示すように、車両のエンジン５０の制御を行う。
【００１６】
エンジン５０は、燃焼室５１を気筒（本実施形態では４つの気筒）毎に備える。エンジン５０は、筒内直噴式エンジンであり、エンジン５０の燃焼室５１内へ燃料を直接的に噴射するインジェクタ５２を気筒毎に備える。
【００１７】
さらにエンジン５０は、吸気ポート５３と、排気ポート５４と、吸気ポート５３の開口部を開閉する吸気バルブ５５と、排気ポート５４の開口部を開閉する排気バルブ５６と、点火プラグ５７と、燃焼室５１内を動くピストン５８とを備える。
【００１８】
図２に示すように、吸気管６１内の空気は、エアクリーナ６２で異物を除去された後にスロットルバルブ６３により流量を制御され、サージタンク６４からインテークマニホールド６５に流入する。そして、インテークマニホールド６５に流入した空気は、エンジン５０の各気筒の吸気ポート５３に分配供給される。
【００１９】
また図１に示すように、エンジンＥＣＵ１は、エンジン５０を制御するための処理を実行するマイクロコンピュータ（以下、マイコンという）２と、各種信号をマイコン２に入力させる入力回路３と、マイコン２からの制御信号に従って各種アクチュエータを作動させる駆動回路４とを備える。
【００２０】
マイコン２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらの構成を接続するバスラインなどから構成されている。そしてマイコン２は、ＲＯＭに記憶された制御プログラムに基づいて、各種処理を実行する。
【００２１】
入力回路３には、クランク角センサ１１、スロットル開度センサ１２およびカム角センサ１３等が接続されている。
クランク角センサ１１は、エンジン５０のクランク軸の回転に応じてクランク角信号を出力する。
【００２２】
スロットル開度センサ１２は、エンジン５０に供給される空気量を調整するスロットルバルブ６３の開度（以下、スロットル開度という）を検出する。
カム角センサ１３は、エンジン５０のカム軸の回転に応じてカム角信号を出力する。
【００２３】
そしてマイコン２は、入力回路３を介して入力される信号に基づいてエンジン５０の状態を検出するとともに、その検出結果に基づいて駆動回路４に制御信号を出力する。これによりマイコン２は、各気筒のインジェクタ５２および各気筒の点火プラグ５７などの各種アクチュエータを制御してエンジン５０を作動させる。
【００２４】
このように構成されたエンジンＥＣＵ１において、マイコン２は、吸入空気量算出処理を実行する。吸入空気量算出処理は、マイコン２の動作中において予め設定された計算周期（本実施形態では例えば８ｍｓ）毎に繰り返し実行される処理である。
【００２５】
この吸入空気量算出処理が実行されると、マイコン２は、図３に示すように、まずＳ１０にて、エンジン５０の吸気行程中に行うことができる計算回数ｎを算出する。具体的には、まず、クランク角センサ１１から入力したクランク角信号に基づいて、エンジン５０のエンジン回転数を算出する。そして、算出したエンジン回転数に基づいて、吸気行程の開始から終了までの時間（以下、吸気行程時間という）を算出する。その後、この吸気行程時間を上記計算周期で除算し、この除算値を計算回数ｎとする。
【００２６】
そしてＳ２０にて、計算回数ｎが予め設定された補間判定回数Ｎより大きいか否かを判断する。ここで、計算回数ｎが補間判定回数Ｎより大きい場合には（Ｓ２０：ＹＥＳ）、Ｓ３０にて、吸入空気量算出処理を前回実行したタイミング（以下、前回計算タイミングＴ０という）で算出されたインテーク空気量を取得する。インテーク空気量は、インテークマニホールド６５内に存在する空気の量である。
【００２７】
その後Ｓ４０にて、前回計算タイミングＴ０で算出されたシリンダ空気量を取得する。なおシリンダ空気量は、制御対象とする１つの気筒内に存在する空気の量である。但し、制御対象とする気筒の吸気行程における最初の計算タイミングである場合には、前回算出されたシリンダ空気量を、初期値である０に設定する。
【００２８】
次にＳ５０にて、インテーク圧力を算出する。インテーク圧力は、インテークマニホールド６５内の圧力である。Ｓ５０では、以下に示す手順でインテーク圧力を算出する。まず、前回計算タイミングＴ０のインテーク空気量と、スロットルバルブ６３からインテークマニホールド６５に流入する流入空気量とを加算した加算空気量を算出する。なお、この流入空気量は、スロットル開度センサ１２において前回計算タイミングＴ０で検出されたスロットル開度に基づいて算出される。そして、上記加算空気量と、予め設定されたインテーク容積とに基づいて、インテーク圧力を算出する。インテーク容積は、インテークマニホールド６５内の容積である。
【００２９】
次にＳ６０にて、シリンダ圧力を算出する。シリンダ圧力は、制御対象とする１つの気筒内の圧力である。Ｓ６０では、以下に示す手順でシリンダ圧力を算出する。まず、クランク角センサ１１からのクランク角信号に基づいて前回計算タイミングＴ０のピストン５８の位置を算出し、ピストン５８の位置（以下、ピストン位置ともいう）に基づいて、前回計算タイミングＴ０のシリンダ容積を算出する。シリンダ容積は、燃焼室５１の容積である。そして、前回計算タイミングＴ０のシリンダ空気量と、前回計算タイミングＴ０のシリンダ容積とに基づいて、シリンダ圧力を算出する。
【００３０】
さらにＳ７０にて、吸入空気量を算出する。吸入空気量は、インテークマニホールド６５から燃焼室５１内へ流入する空気量である。Ｓ７０では、以下に示す手順で吸入空気量を算出する。まず、カム角センサ１３からのカム角信号に基づいて、前回計算タイミングＴ０の吸気バルブ５５の開度を算出する。そして、上記のインテーク圧力とシリンダ圧力との差圧と、前回計算タイミングＴ０の吸気バルブ５５の開度（以下、吸気バルブ開度ともいう）とに基づいて、吸入空気量を算出する。
【００３１】
その後Ｓ８０にて、吸入空気量算出処理を今回実行したタイミング（以下、今回計算タイミングＴ１という）のインテーク空気量を算出する。具体的には、前回計算タイミングＴ０インテーク空気量と、インテークマニホールド６５に流入する流入空気量とを加算した加算空気量から、Ｓ７０で算出された吸入空気量を減算し、この減算値を今回計算タイミングＴ１のインテーク空気量とする。
【００３２】
さらにＳ９０にて、今回計算タイミングＴ１のシリンダ空気量を算出する。具体的には、前回計算タイミングＴ０のシリンダ空気量と、Ｓ７０で算出された吸入空気量とを加算し、この加算値を今回計算タイミングＴ１のシリンダ空気量とする。そしてＳ９０の処理が終了すると、吸入空気量算出処理を一旦終了する。
【００３３】
またＳ２０にて、計算回数ｎが補間判定回数Ｎ以下である場合には（Ｓ２０：ＮＯ）、Ｓ１００にて、補間回数ｍを下式（１）により算出する。すなわち、Ｓ１００では、Ｎ÷ｎで算出される値において小数点以下を切り上げた値を補間回数ｍとする。例えば、Ｎ÷ｎ＝１．１である場合には、補間回数ｍ＝２と算出される。
【００３４】
ｍ  ＝  ｃｅｉｌ（Ｎ÷ｎ）    ・・・（１）
そしてＳ１１０にて、以下に示す手順で補間タイミングを設定する。まず、前回計算タイミングＴ０と今回計算タイミングＴ１との間を、補間回数ｍで等分することにより、前回計算タイミングＴ０と今回計算タイミングＴ１との間に、（ｍ−１）個の補間タイミングを設定する。そして、（ｍ−１）個の補間タイミングをそれぞれ、前回計算タイミングＴ０に近い順から、補間タイミングｔ’１、補間タイミングｔ’２、・・・・、補間タイミングｔ’ｍ−１とする（図４を参照）。
【００３５】
次にＳ１２０にて、前回計算タイミングＴ０のインテーク空気量、シリンダ空気量、吸気バルブ開度およびピストン位置を取得する。
さらにＳ１３０にて、今回計算タイミングＴ１のインテーク空気量、シリンダ空気量、吸気バルブ開度およびピストン位置を算出する。なおＳ１３０では、Ｓ３０〜Ｓ９０と同様の処理によって、今回計算タイミングＴ１のインテーク空気量とシリンダ空気量を算出する。またＳ１３０では、クランク角センサ１１からのクランク角信号に基づいて今回計算タイミングＴ１のピストン位置を算出し、カム角センサ１３からのカム角信号に基づいて今回計算タイミングＴ１の吸気バルブ開度を算出する。
【００３６】
そしてＳ１４０にて、今回計算タイミングＴ１のシリンダ空気量と前回計算タイミングＴ０のシリンダ空気量との差（補間実行判定用差という）が、予め設定された補間実行判定値以上であるか否かを判断する。ここで、補間判定用差が補間実行判定値未満である場合には（Ｓ１４０：ＮＯ）、吸入空気量算出処理を一旦終了する。
【００３７】
一方、補間判定用差が補間実行判定値以上である場合には（Ｓ１４０：ＹＥＳ）、Ｓ１５０にて、補間タイミングｔ’１，ｔ’２，・・・・，ｔ’ｍ−１のインテーク空気量、吸気バルブ開度およびピストン位置を、前回計算タイミングＴ０と今回計算タイミングＴ１のインテーク空気量、吸気バルブ開度およびピストン位置を用いて線形補間することにより算出する（図４を参照）。
【００３８】
そしてＳ１６０にて、以下に示す手順で、吸入空気量を算出する。まず、前回計算タイミングＴ０のインテーク空気量と、インテーク容積とに基づいて、インテーク圧力を算出する。次に、前回計算タイミングＴ０のピストン位置に基づいて、シリンダ容積を算出する。さらに、前回計算タイミングＴ０のシリンダ空気量と、算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する。そして、インテーク圧力とシリンダ圧力との差圧と、前回計算タイミングＴ０の吸気バルブ開度とに基づいて吸入空気量を算出する。
【００３９】
その後にＳ１７０にて、補間タイミングｔ’１のシリンダ空気量を算出する。具体的には、前回計算タイミングＴ０のシリンダ空気量と、Ｓ１６０で算出された吸入空気量とを加算し、この加算値を補間タイミングｔ’１のシリンダ空気量とする。
【００４０】
次にＳ１８０にて、補間タイミング指示値ａを１に設定する。そしてＳ１９０にて、補間タイミング指示値ａが、補間回数ｍから１を減算した値に等しいか否かを判断する。ここで、補間タイミング指示値ａが、補間回数ｍから１を減算した値に等しくない場合には（Ｓ１９０：ＮＯ）、Ｓ２００にて、補間タイミング指示値ａに１を加算した値を新たな補間タイミング指示値ａとして更新する。
【００４１】
そしてＳ２１０にて、以下に示す手順で、吸入空気量を算出する。まず、補間タイミングｔ’ａ−１のインテーク空気量と、インテーク容積とに基づいて、インテーク圧力を算出する。次に、補間タイミングｔ’ａ−１のピストン位置に基づいて、補間タイミングｔ’ａ−１のシリンダ容積を算出する。さらに、補間タイミングｔ’ａ−１のシリンダ空気量と、算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する。そして、インテーク圧力とシリンダ圧力との差圧と、補間タイミングｔ’ａ−１の吸気バルブ開度とに基づいて、吸入空気量を算出する。
【００４２】
その後にＳ２２０にて、補間タイミングｔ’ａのシリンダ空気量を算出する。具体的には、補間タイミングｔ’ａ−１のシリンダ空気量と、Ｓ２１０で算出された吸入空気量とを加算し、この加算値を補間タイミングｔ’ａのシリンダ空気量とする。
【００４３】
そしてＳ２３０にて、補間タイミングｔ’ａのシリンダ空気量と補間タイミングｔ’ａ−１のシリンダ空気量との差（補間中止判定用差という）が、予め設定された補間中止判定値未満であるか否かを判断する。ここで、補間中止判定用差が補間中止判定値以上である場合には（Ｓ２３０：ＮＯ）、Ｓ１９０に移行する。
【００４４】
一方、補間中止判定用差が補間中止判定値未満である場合には（Ｓ２３０：ＹＥＳ）、Ｓ２４０にて、補間タイミングｔ’ａのシリンダ空気量を補間タイミングｔ’ｍ−１のシリンダ空気量とする。そして、Ｓ２５０に移行する。
【００４５】
またＳ１９０にて、補間タイミング指示値ａが、補間回数ｍから１を減算した値に等しい場合には（Ｓ１９０：ＹＥＳ）、Ｓ２５０に移行する。
そしてＳ２５０に移行すると、以下に示す手順で、吸入空気量を算出する。まず、補間タイミングｔ’ｍ−１のインテーク空気量と、インテーク容積とに基づいて、インテーク圧力を算出する。次に、補間タイミングｔ’ｍ−１のピストン位置に基づいて、シリンダ容積を算出する。さらに、補間タイミングｔ’ｍ−１のシリンダ空気量と、算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する。そして、インテーク圧力とシリンダ圧力との差圧と、今回計算タイミングＴ１の吸気バルブ開度とに基づいて、吸入空気量を算出する。
【００４６】
その後にＳ２６０にて、今回計算タイミングＴ１のシリンダ空気量を算出して、吸入空気量算出処理を一旦終了する。具体的には、補間タイミングｔ’ｍ−１のシリンダ空気量と、Ｓ２５０で算出された吸入空気量とを加算し、この加算値を今回計算タイミングＴ１のシリンダ空気量とする。
【００４７】
次に、吸入空気量算出処理のＳ３０〜Ｓ９０で行われる計算の手順を図５を用いて説明する。
図５は、今回計算タイミングＴ１においてインテーク空気量とシリンダ空気量を算出する手順を示すブロック図である。
【００４８】
図５に示すように、まず、今回計算タイミングＴ１において、前回計算タイミングＴ０のインテーク空気量（ブロックＢ１を参照）を取得する（矢印Ｌ１を参照）。また、スロットル開度センサ１２の検出結果に基づいて（矢印Ｌ２を参照）、スロットルバルブ６３からインテークマニホールド６５に流入する流入空気量（ブロックＢ２を参照）を算出する。
【００４９】
そして、前回計算タイミングＴ０のインテーク空気量と、インテークマニホールド６５への流入空気量と、インテーク容積（ブロックＢ３を参照）とに基づいて（矢印Ｌ１，Ｌ３，Ｌ４を参照）、インテーク圧力（ブロックＢ４を参照）を算出する（矢印Ｌ５を参照）。
【００５０】
次に、前回計算タイミングＴ０のシリンダ空気量（ブロックＢ５を参照）を取得する（矢印Ｌ６を参照）。また、クランク角センサ１１の検出結果に基づいて（矢印Ｌ７を参照）、ピストン位置（ブロックＢ６を参照）を算出する。
【００５１】
そして、前回計算タイミングＴ０のシリンダ空気量と、ピストン位置とに基づいて（矢印Ｌ６，Ｌ８を参照）、シリンダ圧力（ブロックＢ７を参照）を算出する（矢印Ｌ９を参照）。また、カム角センサ１３の検出結果に基づいて（矢印Ｌ１０を参照）、吸気バルブ開度（ブロックＢ８を参照）を算出する。
【００５２】
さらに、インテーク圧力とシリンダ圧力との差圧と、吸気バルブ開度とに基づいて（矢印Ｌ１１，Ｌ１２，Ｌ１３を参照）、吸入空気量（ブロックＢ９を参照）を算出する（矢印Ｌ１４を参照）。
【００５３】
そして、前回計算タイミングＴ０のインテーク空気量と、インテークマニホールド６５への流入空気量との加算値から、算出された吸入空気量を減算し（矢印Ｌ１５，Ｌ１６，Ｌ１７を参照）、この減算値を今回計算タイミングＴ１のシリンダ空気量（ブロックＢ１０を参照）とする。
【００５４】
また、前回計算タイミングＴ０のシリンダ空気量と、算出された吸入空気量を加算し（矢印Ｌ１８，Ｌ１９を参照）、この加算値を今回計算タイミングＴ１のシリンダ空気量（ブロックＢ１１を参照）とする。
【００５５】
次に、吸入空気量算出処理のＳ３０〜Ｓ９０で行われる計算の手順を図６を用いて説明する。
図６は、吸気行程におけるインテーク空気量、シリンダ空気量、インテーク圧力、シリンダ圧力、ピストン位置および吸気バルブ開度を示すタイミングチャートである。
【００５６】
図６に示すように、今回計算タイミングＴ１が、吸気行程における最初の計算タイミングであるとする。この場合には、直近で吸気行程が終了した気筒において吸気バルブ５５が閉じた時点のインテーク空気量を、前回計算タイミングＴ０のインテーク空気量とする（インテーク空気量Ａｉ１を参照）。そして、この前回計算タイミングＴ０のインテーク空気量と、前回計算タイミングＴ０のスロットル開度に基づいて算出された流入空気量と、インテーク容積とに基づいて、インテーク圧力を算出する（インテーク圧力Ｐｉ１と矢印Ｌ２１を参照）。
【００５７】
また、前回計算タイミングＴ０のシリンダ空気量は、初期値である０に設定される（シリンダ空気量Ａｓ１を参照）。さらに、このシリンダ空気量と、前回計算タイミングＴ０のピストン位置（ピストン位置Ｐｐ１を参照）に基づいて算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する（シリンダ圧力Ｐｓ１と矢印Ｌ２２を参照）。
【００５８】
そして、インテーク圧力とシリンダ圧力との差圧（差圧Ｄｐ１を参照）と、前回計算タイミングＴ０の吸気バルブ開度（吸気バルブ開度Ｐｖ１を参照）とに基づいて、吸入空気量を算出する（吸入空気量Ａｆ１と矢印Ｌ２３を参照）。
【００５９】
その後、前回計算タイミングＴ０のインテーク空気量と、インテークマニホールド６５への流入空気量との加算値から、算出された吸入空気量を減算し（インテーク空気量差Ｄｉ２を参照）、この減算値を今回計算タイミングＴ１のインテーク空気量とする（インテーク空気量Ａｉ２と矢印Ｌ２４を参照）。このインテーク空気量は、次回の計算タイミングで利用される。
【００６０】
さらに、前回計算タイミングＴ０のシリンダ空気量と、算出された吸入空気量とを加算し（シリンダ空気量差Ｄｓ２を参照）、この加算値を今回計算タイミングＴ１のシリンダ空気量とする（シリンダ空気量Ａｓ２と矢印Ｌ２５を参照）。このシリンダ空気量は、次回の計算タイミングで利用される。
【００６１】
このようにして、吸気バルブ５５が吸気ポート５３の開口部を開放してから閉じるまでの間で計算周期が到来する毎に（計算タイミングＴ２，Ｔ３，Ｔ４を参照）、インテーク空気量とシリンダ空気量を算出する。そして、吸気バルブ５５が閉じるとき（計算タイミングＴ４を参照）に算出されたインテーク空気量（インテーク空気量Ａｉ３を参照）は、次に吸気行程が到来する気筒におけるインテーク空気量の算出に利用される。また、吸気バルブ５５が閉じるとき（計算タイミングＴ４を参照）に算出されたシリンダ空気量（シリンダ空気量Ａｓ３を参照）は、インジェクタ５２による燃料噴射量の算出に利用される。
【００６２】
次に、吸入空気量算出処理のＳ１２０〜Ｓ２６０で行われる計算の手順を図７を用いて説明する。
図７は、補間タイミングｔ’１，ｔ’２を設定することにより、今回計算タイミングＴ１のインテーク空気量とシリンダ空気量を算出する手順を示すブロック図である。
【００６３】
図７に示すように、まず、今回計算タイミングＴ１において、前回計算タイミングＴ０のインテーク空気量（ブロックＢ２１を参照）とシリンダ空気量（ブロックＢ２２を参照）を取得する（矢印Ｌ３１，Ｌ３２を参照）。
【００６４】
そして、Ｓ３０〜Ｓ９０と同様の処理によって、今回計算タイミングＴ１のインテーク空気量とシリンダ空気量を算出する（ブロックＢ２３を参照）。
その後、補間タイミングｔ’１，ｔ’２のインテーク空気量、吸気バルブ開度およびピストン位置を、前回計算タイミングＴ０と今回計算タイミングＴ１のインテーク空気量、吸気バルブ開度およびピストン位置を用いて線形補間することにより算出する（ブロックＢ２４と矢印Ｌ３３を参照）。
【００６５】
さらに、前回計算タイミングＴ０のシリンダ空気量（矢印Ｌ３４を参照）と、前回計算タイミングＴ０のインテーク空気量（矢印Ｌ３５を参照）と、前回計算タイミングＴ０の吸気バルブ開度およびピストン位置とを用いて、補間タイミングｔ’１のシリンダ空気量を算出する（ブロックＢ２５を参照）。
【００６６】
また、補間タイミングｔ’１のシリンダ空気量（矢印Ｌ３６を参照）と、補間タイミングｔ’１のインテーク空気量（矢印Ｌ３７を参照）と、補間タイミングｔ’１の吸気バルブ開度およびピストン位置とを用いて、補間タイミングｔ’２のシリンダ空気量を算出する（ブロックＢ２６を参照）。
【００６７】
そして、補間タイミングｔ’２のシリンダ空気量（矢印Ｌ３８を参照）と、補間タイミングｔ’２のインテーク空気量（矢印Ｌ３９を参照）と、補間タイミングｔ’２の吸気バルブ開度およびピストン位置とを用いて、今回計算タイミングＴ１のシリンダ空気量を算出する（ブロックＢ２７を参照）。
【００６８】
次に、吸入空気量算出処理のＳ１２０〜Ｓ２６０で行われる計算の手順を図８を用いて説明する。
図８は、吸気行程におけるインテーク空気量、シリンダ空気量、インテーク圧力、シリンダ圧力、ピストン位置および吸気バルブ開度を示すタイミングチャートである。
【００６９】
図８に示すように、今回計算タイミングＴ１が、吸気行程における最初の計算タイミングであるとする。この場合には、直近で吸気行程が終了した気筒において吸気バルブ５５が閉じた時点のインテーク空気量を、前回計算タイミングＴ０のインテーク空気量とする（インテーク空気量Ａｉ１１を参照）。そして、この前回計算タイミングＴ０のインテーク空気量と、前回計算タイミングＴ０のスロットル開度に基づいて算出された流入空気量と、インテーク容積とに基づいて、インテーク圧力を算出する（インテーク圧力Ｐｉ１１を参照）。
【００７０】
また、前回計算タイミングＴ０のシリンダ空気量は、初期値である０に設定される（シリンダ空気量Ａｓ１１を参照）。さらに、このシリンダ空気量と、前回計算タイミングＴ０のピストン位置（ピストン位置Ｐｐ１１を参照）に基づいて算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する（シリンダ圧力Ｐｓ１１を参照）。
【００７１】
そして、インテーク圧力とシリンダ圧力との差圧と、前回計算タイミングＴ０の吸気バルブ開度（吸気バルブ開度Ｐｖ１１を参照）とに基づいて、吸入空気量を算出する（吸入空気量Ａｆ１１を参照）。
【００７２】
その後、前回計算タイミングＴ０のインテーク空気量と、インテークマニホールド６５への流入空気量との加算値から、算出された吸入空気量を減算し（インテーク空気量差Ｄｉ１１を参照）、この減算値を今回計算タイミングＴ１のインテーク空気量とする（インテーク空気量Ａｉ１２を参照）。
【００７３】
さらに、前回計算タイミングＴ０のシリンダ空気量と、算出された吸入空気量とを加算し（シリンダ空気量差Ｄｓ１１を参照）、この加算値を今回計算タイミングＴ１のシリンダ空気量とする（シリンダ空気量Ａｓ１２を参照）。
【００７４】
その後、補間タイミングｔ’１のインテーク空気量、吸気バルブ開度およびピストン位置を、前回計算タイミングＴ０と今回計算タイミングＴ１のインテーク空気量、吸気バルブ開度およびピストン位置を用いて線形補間することにより算出する（インテーク空気量Ａｉ１３、ピストン位置Ｐｐ１２、吸気バルブ開度Ｐｖ１２を参照）。
【００７５】
次に、前回計算タイミングＴ０のインテーク空気量と、インテーク容積とに基づいて、インテーク圧力を算出する（インテーク圧力Ｐｉ１１と矢印Ｌ５１を参照）。
さらに、前回計算タイミングＴ０のシリンダ空気量と前回計算タイミングＴ０のピストン位置（ピストン位置Ｐｐ１１を参照）に基づいて算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する（シリンダ圧力Ｐｓ１１と矢印Ｌ５２を参照）。
【００７６】
そして、インテーク圧力とシリンダ圧力との差圧（差圧Ｄｐ１１を参照）と、前回計算タイミングＴ０の吸気バルブ開度（吸気バルブ開度Ｐｖ１１を参照）とに基づいて、吸入空気量を算出する（吸入空気量Ａｆ１２と矢印Ｌ５３を参照）。ただし、この吸入空気量は前回計算タイミングＴ０から今回補間タイミングｔ’１の時間分とする。
【００７７】
さらに、前回計算タイミングＴ０のシリンダ空気量と、算出された吸入空気量とを加算し（シリンダ空気量差Ｄｓ１２を参照）、この加算値を補間タイミングｔ’１のシリンダ空気量とする（シリンダ空気量Ａｓ１３と矢印Ｌ５４を参照）。
【００７８】
次に、補間タイミングｔ’１のインテーク空気量（インテーク空気量Ａｉ１３を参照）と、インテーク容積とに基づいて、インテーク圧力を算出する（インテーク圧力Ｐｉ１２と矢印Ｌ５５を参照）。
【００７９】
さらに、補間タイミングｔ’１のシリンダ空気量と、補間タイミングｔ’１のピストン位置に基づいて算出されたシリンダ容積とに基づいて、シリンダ圧力を算出する（シリンダ圧力Ｐｓ１３と矢印Ｌ５６を参照）。
【００８０】
そして、インテーク圧力とシリンダ圧力との差圧（差圧Ｄｐ１２を参照）と、補間タイミングｔ’１の吸気バルブ開度とに基づいて、吸入空気量を算出する（吸入空気量Ａｆ１３と矢印Ｌ５７を参照）。
【００８１】
さらに、補間タイミングｔ’１のシリンダ空気量と、算出された吸入空気量とを加算し（シリンダ空気量差Ｄｓ１３を参照）、この加算値を今回計算タイミングＴ１のシリンダ空気量とする（シリンダ空気量Ａｓ１４と矢印Ｌ５８を参照）。
【００８２】
このようにして、吸気バルブ５５が吸気ポート５３の開口部を開放してから閉じるまでの間で計算周期が到来する毎に（計算タイミングＴ２を参照）、インテーク空気量とシリンダ空気量を算出する。そして、吸気バルブ５５が閉じるとき（計算タイミングＴ２を参照）に算出されたインテーク空気量（インテーク空気量Ａｉ１５を参照）は、次に吸気行程が到来する気筒におけるインテーク空気量の算出に利用される。また、吸気バルブ５５が閉じるとき（計算タイミングＴ２を参照）に算出されたシリンダ空気量（シリンダ空気量Ａｓ１５を参照）は、インジェクタ５２による燃料噴射量の算出に利用される。
【００８３】
このように構成されたエンジンＥＣＵ１は、予め設定された計算周期毎に到来する計算タイミングで、インテークマニホールド６５内に存在する空気の量であるインテーク空気量と、エンジン５０の１つの気筒内に存在する空気の量であるシリンダ空気量とを、少なくとも、前回計算タイミングＴ０で算出されたインテーク空気量とシリンダ空気量とを用いて算出する（Ｓ１３０）。
【００８４】
またエンジンＥＣＵ１は、前回計算タイミングＴ０と今回計算タイミングＴ１との間に補間タイミングｔ’１，ｔ’２，・・・・，ｔ’ｍ−１を設定する（Ｓ１１０）。
さらにエンジンＥＣＵ１は、補間タイミングｔ’１，ｔ’２，・・・・，ｔ’ｍ−１におけるインテーク空気量を、前回計算タイミングＴ０のインテーク空気量と今回計算タイミングＴ１のインテーク空気量との間で補間することにより算出する（Ｓ１５０）。
【００８５】
そしてエンジンＥＣＵ１は、前回の補間タイミングにおけるインテーク空気量と前回の補間タイミングにおけるシリンダ空気量とを用いて今回の補間タイミングにおけるシリンダ空気量を算出する処理を、前回計算タイミングＴ０に近い補間タイミングから順次実行する（Ｓ１６０〜Ｓ２２０）。
【００８６】
このように構成されたエンジンＥＣＵ１は、前回計算タイミングＴ０と今回計算タイミングＴ１との間に補間タイミングｔ’１，ｔ’２，・・・・，ｔ’ｍ−１を設定し、前回計算タイミングＴ０に近い補間タイミングから順次、補間タイミングのシリンダ空気量を算出することにより、今回計算タイミングＴ１のシリンダ空気量を算出する。これによりエンジンＥＣＵ１は、今回計算タイミングＴ１のシリンダ空気量を算出するまでに、シリンダ空気量の計算を補間タイミングの数に相当する回数分追加して実行することができる。
【００８７】
このためエンジンＥＣＵ１は、エンジン５０の高回転に起因して１回の吸気行程で到来する計算タイミングが少なくなった場合であっても、１回の吸気行程におけるシリンダ空気量の計算回数を確保し、シリンダ空気量の算出精度の低下を抑制することができる。
【００８８】
例えば図９に示すように、１回の吸気行程においてインテーク圧力とシリンダ圧力が一定であるとみなして計算する期間の割合が、１回の吸気行程での計算回数が多い場合よりも少ない場合のほうが大きくなる。これにより、１回の吸気行程での計算回数が少なくなるほど、シリンダ空気量の算出精度が低下する。これに対し、エンジンＥＣＵ１は、補間を行うことにより、１回の吸気行程においてインテーク圧力とシリンダ圧力が一定であるとみなして計算する期間の割合を擬似的に短くし、シリンダ空気量の算出精度の低下を抑制する。
【００８９】
さらにエンジンＥＣＵ１は、前回計算タイミングＴ０と今回計算タイミングＴ１との間でインテーク空気量を補間することにより、前回の補間タイミングのインテーク空気量を算出し、この前回の補間タイミングのインテーク空気量を用いて、今回の補間タイミングのシリンダ空気量を算出する。これによりエンジンＥＣＵ１は、今回の補間タイミングにおいて、前回の補間タイミングのインテーク空気量を用いて今回の補間タイミングのインテーク空気量を算出する必要がなくなる。このためエンジンＥＣＵ１は、補間タイミングにおけるシリンダ空気量の計算が追加されたことに起因した処理負荷の増加を抑制することができる。
【００９０】
以上より、エンジンＥＣＵ１は、シリンダ空気量の算出精度の低下を抑制することができるとともに、処理負荷の増加を抑制することができる。
またエンジンＥＣＵ１は、気筒の１回の吸気行程の期間内において計算タイミングが到来する計算回数ｎが予め設定された補間判定回数Ｎより大きい場合に、補間によるシリンダ空気量の算出を禁止する（Ｓ２０）。
【００９１】
これによりエンジンＥＣＵ１は、シリンダ空気量の算出精度の低下を抑制する必要がある場合に、補間によるシリンダ空気量の算出を実行することができ、シリンダ空気量の算出精度が低くない場合に無駄に補間が実行されることによる処理負荷の増加を抑制することができる。
【００９２】
またエンジンＥＣＵ１は、前回計算タイミングＴ０に近い補間タイミングからシリンダ空気量の算出を順次実行している過程において、補間タイミングｔ’ａのシリンダ空気量と補間タイミングｔ’ａ−１のシリンダ空気量との差が、予め設定された補間中止判定値未満より小さい場合に、補間によるシリンダ空気量の算出を中止する（Ｓ２３０）。
【００９３】
これによりエンジンＥＣＵ１は、その後の補間タイミングでシリンダ空気量の算出を継続してもシリンダ空気量の算出精度の向上度合いが小さい場合において無駄に補間が実行されることによる処理負荷の増加を抑制することができる。
【００９４】
またエンジンＥＣＵ１は、今回計算タイミングＴ１のシリンダ空気量と前回計算タイミングＴ０のシリンダ空気量との差が、予め設定された補間実行判定値より小さい場合に、補間によるシリンダ空気量の算出を禁止する（Ｓ１４０）。
【００９５】
これによりエンジンＥＣＵ１は、補間によるシリンダ空気量の算出を実行してもシリンダ空気量の算出精度の向上度合いが小さい場合において無駄に補間が実行されることによる処理負荷の増加を抑制することができる。
【００９６】
以上説明した実施形態において、Ｓ１３０の処理は本発明における空気量算出手段、Ｓ１１０の処理は本発明における補間タイミング設定手段、Ｓ１５０の処理は本発明における補間手段、Ｓ１６０〜Ｓ２２０の処理は本発明における再算出手段、シリンダ空気量は本発明における気筒空気量である。
【００９７】
また、Ｓ２０の処理は本発明における第１禁止手段、Ｓ２３０の処理は本発明における中止手段、Ｓ１４０の処理は本発明における第２禁止手段である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
【００９８】
例えば上記実施形態では、補間回数ｍを式（１）に基づいて決定するものを示した。しかし、今回計算タイミングＴ１のシリンダ空気量と前回計算タイミングＴ０のシリンダ空気量との差が大きくなるほど補間回数ｍが大きくなるように、補間回数ｍを決定するようにしてもよい。これにより、今回計算タイミングＴ１のシリンダ空気量と前回計算タイミングＴ０のシリンダ空気量との差が小さいためにシリンダ空気量の算出精度の向上度合いが小さい場合において無駄に補間が実行されることによる処理負荷の増加を抑制することができる。
【００９９】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【０１００】
１…エンジンＥＣＵ
【図１】
0006292082.tif 000002
【図２】
0006292082.tif 000003
【図３】
0006292082.tif 000004
【図４】
0006292082.tif 000005
【図５】
0006292082.tif 000006
【図６】
0006292082.tif 000007
【図７】
0006292082.tif 000008
【図８】
0006292082.tif 000009
【図９】
0006292082.tif 000010