(57)【要約】【課題】  内部ＥＧＲを実行する場合、専用のデバイスを付加することなく、ＥＧＲ率が低い場合でも、ＥＧＲ率を精度良く算出できる内燃機関のＥＧＲ制御装置を提供する。【解決手段】  排気弁７のリフトを排気リフト可変機構７０によって変更することにより、内部ＥＧＲを制御するとともに、検出された新気の流量ＧＩＮに基づき、気筒３ａに吸入される第１吸入新気量ＴＩＭＡＦＭＸを算出する第１吸入新気量算出手段２と、検出された内燃機関の回転数ＮＥおよび吸気管内圧力ＰＢＡに基づき、排気リフト可変機構７０が排気弁７のリフトを所定の基準リフトＬＥＸＭＡＸに制御した基準状態にあるときに気筒３ａに吸入されると推定される第２吸入新気量ＴＩＭＢＳＸを算出する第２吸入新気量算出手段２と、第１および第２吸入新気量に基づき、ＥＧＲ率を表すＥＧＲ率パラメータＫＥＧＲを算出するＥＧＲ率パラメータ算出手段２と、を備える。【選択図】  図１６
2007100527.tif 000002
【特許請求の範囲】
【請求項１】
排気弁のリフトを排気リフト可変機構によって変更することにより、気筒内に既燃ガスを残留させる内部ＥＧＲを制御する内燃機関のＥＧＲ制御装置であって、
吸気管に設けられ、当該吸気管内を流れる新気の流量を検出する新気流量センサと、
当該検出された新気の流量に基づき、前記気筒に吸入される吸入新気量を第１吸入新気量として算出する第１吸入新気量算出手段と、
前記内燃機関の回転数を検出する回転数検出手段と、
前記吸気管内の圧力を検出する吸気管内圧力検出手段と、
前記検出された内燃機関の回転数および吸気管内の圧力に基づき、前記排気リフト可変機構が前記排気弁のリフトを所定の基準リフトに制御した基準状態にあるときに前記気筒に吸入されると推定される吸入新気量を、第２吸入新気量として算出する第２吸入新気量算出手段と、
前記算出された第１および第２吸入新気量に基づき、前記気筒内に存在する総ガス量に対する内部ＥＧＲ量の比率であるＥＧＲ率を表すＥＧＲ率パラメータを算出するＥＧＲ率パラメータ算出手段と、
を備えることを特徴とする内燃機関のＥＧＲ制御装置。
【請求項２】
前記内燃機関に要求される要求トルクを決定する要求トルク決定手段と、
前記内燃機関の回転数および前記決定された要求トルクに基づき、前記ＥＧＲ率パラメータの目標値を設定する目標値設定手段と、
前記ＥＧＲ率パラメータが前記目標値になるように補正係数を算出する補正係数算出手段と、
当該算出された補正係数に基づいて前記排気リフト可変機構を制御するＥＧＲ制御手段と、をさらに備えることを特徴とする、請求項１に記載の内燃機関のＥＧＲ制御装置。
【請求項３】
前記内燃機関は、前記気筒から排出された排気の一部を前記吸気管の前記新気流量センサよりも下流側に還流させる外部ＥＧＲを制御する排気還流機構を有し、
前記第２吸入新気量算出手段は、前記内燃機関の回転数および吸気管内の圧力に基づき、前記排気リフト可変機構が前記基準状態にあり且つ前記排気還流機構が外部ＥＧＲを停止した停止状態にあるときに前記気筒に吸入されると推定される吸入新気量を、前記第２吸入新気量として算出し、
前記ＥＧＲ率パラメータ算出手段は、前記第１および第２吸入新気量に基づき、前記気筒内に存在する総ガス量に対する内部ＥＧＲ量と外部ＥＧＲ量との和の比率であるＥＧＲ率を表すＥＧＲ率パラメータを、前記ＥＧＲ率パラメータとして算出することを特徴とする、請求項１に記載の内燃機関のＥＧＲ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気弁のリフトを排気リフト可変機構で変更することによって、燃焼室に既燃ガスを残留させる内部ＥＧＲを制御する内燃機関のＥＧＲ制御装置に関する。
【背景技術】
【０００２】
従来の内燃機関のＥＧＲ制御装置として、例えば特許文献１に開示されたものが知られている。このＥＧＲ制御装置は、エンジンから排出された排ガスの一部を、ＥＧＲガスとして排気管からＥＧＲ通路を介して吸気管に還流させるものであり、ＥＧＲ通路の途中には、ＥＧＲ率を制御するためのＥＧＲ制御弁が設けられている。また、吸気管のＥＧＲガスの還流位置よりも下流側には、酸素濃度センサが設けられている。この酸素濃度センサによって、ＥＧＲガスが混入した吸入空気中の酸素濃度を検出するとともに、検出した酸素濃度に応じ、所定のマップを検索することによって、実際のＥＧＲ率である実ＥＧＲ率を算出する。
【０００３】
また、エンジン回転数および吸気マニホルド圧を検出し、これらの検出値に基づいて目標ＥＧＲ率を算出するとともに、目標ＥＧＲ率に応じてＥＧＲ基本制御量を算出する。そして、算出した目標ＥＧＲ率と実ＥＧＲ率との偏差が無くなるようにＥＧＲ補正値を算出し、このＥＧＲ補正項をＥＧＲ基本制御量に加算したＥＧＲ制御値に基づき、ＥＧＲ制御弁を制御することによって、実ＥＧＲ率を目標ＥＧＲ率に制御するようにしている。
【０００４】
上述したように、この従来のＥＧＲ制御装置では、酸素濃度センサで検出された、ＥＧＲガスの還流位置よりも下流側の酸素濃度に基づいて、実ＥＧＲ率が算出される。しかし、酸素濃度センサは一般に、酸素濃度が高いほど、その分解能が低くなり、検出精度が低下するという特性を有する。このため、特にＥＧＲ率が低い場合に実ＥＧＲ率を精度良く算出できず、その結果、実際のＥＧＲ率を目標ＥＧＲに精度良く制御できないという問題がある。また、実ＥＧＲ率を求めるためだけに、吸気管に酸素濃度センサを設けなければならず、コスト面で不利である。
【０００５】
さらに、このＥＧＲ制御装置は、前述した手法から明らかなように、排ガスを吸気管に還流させる、いわゆる外部ＥＧＲを行う場合には有効であるものの、既燃ガスの一部を燃焼室から排出せずに残留させる、いわゆる内部ＥＧＲを行う場合には、燃焼室内に存在する総ガス量に対する既燃ガス量の比率である内部ＥＧＲ率を精度良く算出することができない。
【０００６】
本発明は、このような課題を解決するためになされたものであり、内部ＥＧＲを実行する場合において、専用のデバイスを付加することなく、ＥＧＲ率が低い場合でも、ＥＧＲ率を精度良く算出でき、それにより、ＥＧＲ制御を適切に行うことができる内燃機関のＥＧＲ制御装置を提供することを目的とする。
【０００７】
【特許文献１】特開平５−１８３２４号公報
【発明の開示】
【課題を解決するための手段】
【０００８】
この目的を達成するため、請求項１に係る発明は、排気弁７のリフトを排気リフト可変機構７０によって変更することにより、気筒３ａ内に既燃ガスを残留させる内部ＥＧＲを制御する内燃機関のＥＧＲ制御装置であって、吸気管１２に設けられ、吸気管１２内を流れる新気の流量ＧＩＮを検出する新気流量センサ（実施形態における（以下、本項において同じ）エアフローセンサ２２）と、検出された新気の流量ＧＩＮに基づき、気筒３ａに吸入される吸入新気量を第１吸入新気量（第１基本燃料噴射量ＴＩＭＡＦＭＸ）として算出する第１吸入新気量算出手段（ＥＣＵ２、ステップ３０，３１、図１５）と、内燃機関の回転数ＮＥを検出する回転数検出手段（クランク角センサ２０、ＥＣＵ２）と、吸気管内の圧力ＰＢＡを検出する吸気管内圧力検出手段（吸気管内圧センサ２４）と、検出された内燃機関の回転数ＮＥおよび吸気管内の圧力ＰＢＡに基づき、排気リフト可変機構７０が排気弁７のリフトを所定の基準リフト（最大値ＬＥＸＭＡＸ）に制御した基準状態にあるときに気筒３ａに吸入されると推定される吸入新気量を、第２吸入新気量（第２基本燃料噴射量ＴＩＭＢＳＸ）として算出する第２吸入新気量算出手段（ＥＣＵ２、ステップ３３〜３７）と、算出された第１および第２吸入新気量に基づき、気筒３ａ内に存在する総ガス量に対する内部ＥＧＲ量の比率であるＥＧＲ率を表すＥＧＲ率パラメータ（実新気率ＫＥＧＲ）を算出するＥＧＲ率パラメータ算出手段（ＥＣＵ２、図１６、式（１））と、を備えることを特徴とする。
【０００９】
この内燃機関では、排気リフト可変機構で排気弁のリフトを変更することによって、気筒内に既燃ガスを残留させる内部ＥＧＲが制御される。また、吸気管内を流れる新気の流量を新気流量センサで検出するとともに、検出した新気流量に基づき、第１吸入新気量算出手段によって、気筒に吸入される第１吸入新気量を算出する。したがって、第１吸入新気量は、内部ＥＧＲにより気筒内に残留する既燃ガスの有無にかかわらず、気筒に実際に吸入される新気量を表す。
【００１０】
一方、第２吸入新気量算出手段は、検出された内燃機関の回転数および吸気管内の圧力に基づき、スピードデンシティ方式によって、体積効率に基づく第２吸入新気量を算出する。この場合、第２吸入新気量は、排気リフト可変機構が排気弁のリフトを所定の基準リフトに制御した基準状態にあるときに気筒に吸入されると推定される吸入新気量として算出される。このため、例えばこの排気リフト可変機構の基準状態を内部ＥＧＲ量が０になるような状態に設定した場合、第２吸入新気量は、内部ＥＧＲによる既燃ガスが気筒内に存在しない状態で気筒に吸入される新気量を表す。
【００１１】
上述した算出方法から、第２吸入新気量と第１吸入新気量との差は、内部ＥＧＲにより燃焼室内に残留する内部ＥＧＲ量に相当する。また、実際の吸入新気量は第１吸入新気量で表される。したがって、ＥＧＲ率パラメータ算出手段により、第１および第２吸入新気量に基づき、気筒内に存在する総ガス量（吸入新気量＋内部ＥＧＲ量）に対する内部ＥＧＲ量の比率であるＥＧＲ率を表すＥＧＲ率パラメータを算出することによって、このＥＧＲ率パラメータの算出を精度良く行うことができる。その結果、従来と異なり、吸気管に設けた酸素濃度センサのような、ＥＧＲ率を算出するための専用のデバイスを付加することなく、ＥＧＲ率が低い場合でも、ＥＧＲ率を精度良く算出することができる。そして、そのように精度良く算出されたＥＧＲ率に応じて、ＥＧＲ制御を適切に行うことができる。
【００１２】
請求項２に係る発明は、請求項１に記載の内燃機関のＥＧＲ制御装置において、内燃機関３に要求される要求トルクＰＭＣＭＤを決定する要求トルク決定手段（クランク角センサ２０、アクセル開度センサ３１、ＥＣＵ２、ステップ１０）と、内燃機関の回転数ＮＥおよび決定された要求トルクＰＭＣＭＤに基づき、ＥＧＲ率パラメータの目標値（実新気率の目標値ＫＥＧＲＣＭＤ）を設定する目標値設定手段（ＥＣＵ２、ステップ６０、図１８）と、ＥＧＲ率パラメータが目標値になるように補正係数（フィードバック補正係数ＫＥＧＲＦＢ）を算出する補正係数算出手段（ＥＣＵ２、ステップ８０、図２７）と、算出された補正係数に基づいて排気リフト可変機構７０を制御するＥＧＲ制御手段（ＥＣＵ２、ステップ８２、ステップ８５、図２３）と、をさらに備えることを特徴とする。
【００１３】
この構成によれば、目標値設定手段により、内燃機関の回転数および要求トルクに基づいて、ＥＧＲ率パラメータの目標値を設定し、補正係数算出手段により、ＥＧＲ率パラメータが目標値になるように補正係数を算出するとともに、ＥＧＲ制御手段は、算出された補正係数に基づいて排気リフト可変機構を制御する。前述したように、ＥＧＲ率パラメータは実際のＥＧＲ率を表し、請求項１で述べた手法によって、精度良く算出される。したがって、そのような精度の高いＥＧＲ率パラメータを用い、このＥＧＲ率パラメータが目標値になるように算出された補正係数に基づいて、排気リフト可変機構を制御することにより、実際のＥＧＲ率をその目標値に精度良く制御でき、それにより、ＥＧＲ制御を適切に行うことができる。
【００１４】
請求項３に係る発明は、請求項１に記載の内燃機関のＥＧＲ制御装置において、内燃機関３は、気筒３ａから排出された排気の一部を吸気管１２の新気流量センサよりも下流側に還流させる外部ＥＧＲを制御する排気還流機構１６を有し、第２吸入新気量算出手段は、内燃機関の回転数ＮＥおよび吸気管内の圧力ＰＢＡに基づき、排気リフト可変機構７０が基準状態にあり且つ排気還流機構１６が外部ＥＧＲを停止した停止状態にあるときに気筒３ａに吸入されると推定される吸入新気量を、第２吸入新気量（第２基本燃料噴射量ＴＩＭＢＳＸ）として算出し（ステップ３３〜３７）、ＥＧＲ率パラメータ算出手段は、第１および第２吸入新気量に基づき、気筒３ａ内に存在する総ガス量に対する内部ＥＧＲ量と外部ＥＧＲ量との和の比率であるＥＧＲ率を表すＥＧＲ率パラメータ（実新気率ＫＥＧＲ）を、ＥＧＲ率パラメータとして算出する（図１６、式（１））ことを特徴とする。
【００１５】
この構成では、内燃機関は排気還流機構を有しており、この排気還流機構によって、気筒から排出された排気の一部を吸気管に還流させる外部ＥＧＲが制御される。この場合、吸気管の新気流量センサよりも下流側に排気が還流するので、第１吸入新気量算出手段で算出される第１吸入新気量は、内部ＥＧＲによる既燃ガスおよび外部ＥＧＲによる排気の有無にかかわらず、気筒に実際に吸入される新気量を表す。
【００１６】
また、本発明では、第２吸入新気量算出手段は、内燃機関の回転数および吸気管内の圧力に基づき、排気リフト可変機構が基準状態にあり且つ排気還流機構による外部ＥＧＲが停止状態にあるときに気筒に吸入される吸入新気量を、第２吸入新気量として算出する。したがって、この第２吸入新気量は、例えば内部ＥＧＲ量および外部ＥＧＲ量がともに値０の状態で気筒に吸入される新気量を表すので、第２吸入新気量と第１吸入新気量との差は、内部ＥＧＲ量と外部ＥＧＲ量との和に相当する。したがって、ＥＧＲ率パラメータ算出手段により、第１および第２吸入新気量に基づき、気筒内に存在する総ガス量（吸入新気量＋内部ＥＧＲ量＋外部ＥＧＲ量）に対する内部ＥＧＲ量と外部ＥＧＲ量との和の比率であるＥＧＲ率を表すＥＧＲ率パラメータを算出することによって、このＥＧＲ率パラメータの算出を精度良く行うことができる。その結果、内部ＥＧＲに加えて外部ＥＧＲが併用される場合においても、両者を併せたＥＧＲ率を精度良く算出でき、それに応じて、ＥＧＲ制御を適切に行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら、本発明の一実施形態に係る内燃機関のＥＧＲ制御装置について説明する。図２に示すように、このＥＧＲ制御装置１は、ＥＣＵ２を備えており、このＥＣＵ２は、後述するように、内燃機関（以下「エンジン」という）３の運転状態に応じて、ＥＧＲ制御などの各種の制御処理を実行する。
【００１８】
図１および図３に示すように、エンジン３は、４つの気筒３ａ（１つのみ図示）を有する直列４気筒ガソリンエンジンであり、車両（図示せず）に搭載されている。各気筒３ａのピストン３ｂとシリンダヘッド３ｃとの間には、燃焼室３ｇが形成されている。
【００１９】
エンジン３は、気筒３ａごとに設けられた一対の吸気弁４，４および一対の排気弁７，７と、吸気カムシャフト５および吸気カム６を有し、各吸気弁４を開閉駆動する吸気側動弁機構４０と、排気カムシャフト８および排気カム９を有し、各排気弁７を開閉駆動する排気側動弁機構６０と、燃料噴射弁１０（図２参照）と、点火プラグ１１（図２参照）などを備えている。
【００２０】
吸気弁４のステム４ａは、ガイド４ｂに摺動自在に嵌合しており、このガイド４ｂは、シリンダヘッド３ｃに固定されている。さらに、吸気弁４は、上下のスプリングシート４ｃ，４ｄを備えており、これらの間に設けられたバルブスプリング４ｅにより、閉弁方向に付勢されている。
【００２１】
また、吸気カムシャフト５および排気カムシャフト８はそれぞれ、ホルダ（図示せず）を介して、シリンダヘッド３ｃに回動自在に支持され、気筒３ａの配列方向に沿って延びている。この吸気カムシャフト５の一端部には、吸気スプロケット（図示せず）が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、タイミングチェーン（図示せず）を介してクランクシャフト３ｄに連結され、後述する吸気カム位相可変機構を介して吸気カムシャフト５に連結されている。以上の構成により、吸気カムシャフト５は、クランクシャフト３ｄが２回転するごとに１回転する。
【００２２】
また、吸気カム６は、吸気カムシャフト５と一体に設けられており、図示しないが、気筒３ａごとに設けられた２つの低速カムと、気筒３ａごとに設けられ、低速カムよりも高いカムノーズを有する１つの高速カムで構成されている。
【００２３】
さらに、吸気側動弁機構４０は、クランクシャフト３ｄの回転に伴う吸気カムシャフト５の回転により、各気筒３ａの吸気弁４を開閉駆動するものであり、後述するように、吸気弁４のリフトを２段階に切り換えるとともに、吸気弁４のバルブタイミングを無段階に変更する可変式の動弁機構で構成されている。なお、本実施形態では、「吸気弁４のリフト（以下「吸気リフト」という）」は、吸気弁４の最大揚程を表すものとする。
【００２４】
一方、排気弁７のステム７ａは、ガイド７ｂに摺動自在に嵌合しており、このガイド７ｂは、シリンダヘッド３ｃに固定されている。さらに、排気弁７は、上下のスプリングシート７ｃ，７ｄを備えており、これらの間に設けられたバルブスプリング７ｅにより、閉弁方向に付勢されている。
【００２５】
また、排気カムシャフト８の一端部には、排気スプロケット（図示せず）が同軸に配置され、回転自在に設けられている。この排気スプロケットは、タイミングチェーン（図示せず）を介してクランクシャフト３ｄに連結され、後述する排気カム位相可変機構を介して排気カムシャフト８に連結されている。以上の構成により、排気カムシャフト８は、クランクシャフト３ｄが２回転するごとに１回転する。さらに、排気カム９は、排気カムシャフト８と一体に気筒３ａごとに設けられている。
【００２６】
さらに、排気側動弁機構６０は、クランクシャフト３ｄの回転に伴う排気カムシャフト８の回転により、各気筒３ａの排気弁７を開閉駆動するものであり、後述するように、排気弁７のリフトおよびバルブタイミングを無段階に変更する可変式の動弁機構で構成されている。なお、本実施形態では、「排気弁７のリフト（以下「排気リフト」という）」は、排気弁７の最大揚程を表すものとする。
【００２７】
一方、燃料噴射弁１０は、気筒３ａごとに設けられ、燃料を燃焼室３ｇ内に直接、噴射するようにシリンダヘッド３ｃに取り付けられている。すなわち、エンジン３は直噴エンジンとして構成されている。燃料噴射弁１０の開弁時間および開弁タイミングは、ＥＣＵ２により、後述する燃料噴射量ＴＯＵＴに基づいて制御される。
【００２８】
また、点火プラグ１１も、気筒３ａごとに設けられ、シリンダヘッド３ｃに取り付けられている。点火プラグ１１の放電状態は、ＥＣＵ２により、点火時期に応じたタイミングで燃焼室３ｇ内の混合気を燃焼させるように制御される。
【００２９】
一方、エンジン３には、クランク角センサ２０および水温センサ２１が設けられている。このクランク角センサ２０は、マグネットロータおよびＭＲＥピックアップで構成されており、クランクシャフト３ｄの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。
【００３０】
このＣＲＫ信号は、所定クランク角（例えば１０゜）ごとに出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、各気筒３ａのピストン３ｂが吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角ごとに出力される。
【００３１】
さらに、水温センサ２１は、エンジン３のシリンダブロック３ｅ内を循環する冷却水の温度であるエンジン水温ＴＷを表す検出信号を、ＥＣＵ２に出力する。
【００３２】
一方、エンジン３の吸気管１２には、上流側から順に、エアフローセンサ２２およびスロットル弁機構１３が設けられている。エアフローセンサ２２は、吸気管１２内を流れる新気の流量（以下「新気流量」という）ＧＩＮを表す検出信号をＥＣＵ２に出力する。
【００３３】
さらに、スロットル弁機構１３は、スロットル弁１３ａおよびこれを開閉駆動するＴＨアクチュエータ１３ｂなどを備えている。スロットル弁１３ａは、吸気管１２の途中に回動自在に設けられており、当該回動に伴う開度の変化により吸気管１２内の新気流量を変化させる。ＴＨアクチュエータ１３ｂは、ＥＣＵ２に接続されたモータにギヤ機構（いずれも図示せず）を組み合わせたものであり、ＥＣＵ２からの後述する制御入力Ｕ＿ＴＨによって駆動されることにより、スロットル弁１３ａの開度を変化させる。
【００３４】
また、吸気管１２のスロットル弁機構１３よりも下流側には、吸気温センサ２３および吸気管内圧センサ２４（いずれも図２参照）が設けられている。この吸気温センサ２３は、吸気管１２内を流れる空気の温度（以下「吸気温」という）ＴＡを表す検出信号をＥＣＵ２に出力する。吸気管内圧センサ２４は、吸気管１２内の圧力（以下「吸気管内圧」という）ＰＢＡを表す検出信号をＥＣＵ２に出力する。この吸気管内圧ＰＢＡは、絶対圧として検出される。
【００３５】
一方、エンジン３の排気管１４には、上流側から順に、ＬＡＦセンサ２５および触媒装置１５がそれぞれ設けられている。ＬＡＦセンサ２５は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気管１４内を流れる排ガス中の酸素濃度をリニアに検出し、それを表す検出信号をＥＣＵ２に出力する。ＥＣＵ２は、このＬＡＦセンサ２５の検出信号の値に基づき、排ガス中の空燃比を表す検出空燃比ＫＡＣＴを算出する。この場合、検出空燃比ＫＡＣＴは、当量比として算出される。
【００３６】
また、エンジン３には、排気還流機構１６が設けられている。この排気還流機構１６は、排気管１４内の排ガスの一部を吸気管１２側に還流させるものであり、吸気管１２および排気管１４の間に接続されたＥＧＲ管１６ａと、このＥＧＲ管１６ａを開閉するＥＧＲ制御弁１６ｂなどで構成されている。ＥＧＲ管１６ａの一端は、排気管１４の触媒装置１５よりも上流側の部分に開口し、他端は、吸気管１２のスロットル弁機構１３よりも下流側の部分に開口している。
【００３７】
また、ＥＧＲ制御弁１６ｂは、リニア電磁弁タイプのものであり、ＥＣＵ２からの後述するＥＧＲリフト制御入力Ｕ＿ＬＩＦＴに応じて、そのリフト（以下「ＥＧＲリフト」という）が最大値と最小値との間でリニアに変化するように構成されており、それにより、ＥＧＲ管１６ａの開度すなわち排気還流量（以下「外部ＥＧＲ量」という）を変化させる。
【００３８】
このＥＧＲ制御弁１６ｂには、ＥＧＲリフトセンサ２６が取り付けられており、ＥＧＲリフトセンサ２６は、ＥＧＲ制御弁１６ｂの実際のＥＧＲリフトＬＡＣＴを検出し、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、後述するように、ＥＧＲ制御弁１６ｂを介して、ＥＧＲリフトＬＡＣＴが目標ＥＧＲリフトＬＣＭＤに収束するように、外部ＥＧＲ量を制御する。なお、以下の説明では、排気還流機構１６により排気を還流させることを「外部ＥＧＲ」という。
【００３９】
次に、前述した吸気側動弁機構４０について説明する。この吸気側動弁機構４０は、図４に示すように、吸気カムシャフト５、吸気カム６、吸気リフト切換機構４１および吸気カム位相可変機構５０などを備えている。
【００４０】
吸気リフト切換機構４１は、本出願人が特開２０００−２２７０１３号公報などで既に開示したものと同様に構成されているので、その詳細な説明は省略するが、ロッカアームシャフト４２と、これに回動自在に取り付けられ、気筒３ａごとに設けられた２つの低速ロッカアーム４３，４３（１つのみ図示）および高速ロッカアーム（図示せず）と、ＥＣＵ２に接続された吸気リフト電磁弁４４（図２参照）などを備えている。低速ロッカアーム４３，４３は、各気筒３ａの吸気弁４，４にそれぞれ当接している。
【００４１】
この吸気リフト切換機構４１では、ＥＣＵ２からの吸気リフト制御入力Ｕ＿ＶＴＥＣにより吸気リフト電磁弁４４が制御されることによって、吸気リフト切換機構４１の動作モードが低リフトモードおよび高リフトモードに切り換えられる。この低リフトモードでは、吸気カムシャフト５が回転すると、低速カムにより低速ロッカアーム４３が駆動され、高速カムにより高速ロッカアームが駆動されるものの、高速ロッカアームは、吸気弁４とは無関係にロッカアームシャフト４２の回りを回動する。それにより、各吸気弁４は、低速ロッカアーム４３によって開閉駆動され、所定のリフトでかつ所定の開弁時間で開閉する。
【００４２】
一方、高リフトモードでは、高速ロッカアームが低速ロッカアーム４３，４３に一体に連結され、吸気カムシャフト５が回転すると、高速カムにより駆動された高速ロッカアームが回動するとともに、これと一体に低速ロッカアーム４３が回動する。その結果、吸気弁４は、低速ロッカアーム４３を介して高速ロッカアームにより開閉駆動され、それによって、低リフトモードと比べて、より高いリフトでかつより長い開弁時間で開閉する。なお、エンジン３が後述する圧縮着火燃焼モードで運転されるときには、吸気リフト切換機構４１の動作モードが低リフトモードに設定される。
【００４３】
次に、吸気カム位相可変機構５０について説明する。この吸気カム位相可変機構５０は、吸気カムシャフト５のクランクシャフト３ｄに対する相対的な位相（以下「吸気カム位相」という）ＣＡＩＮを、進角側または遅角側に無段階に変更するものであり、吸気カムシャフト５の吸気スプロケット側の端部に設けられている。図５に示すように、吸気カム位相可変機構５０は、ハウジング５１、３枚羽根式のベーン５２、油圧ポンプ５３および吸気カム位相電磁弁５４などを備えている。
【００４４】
このハウジング５１は、吸気カムシャフト５の吸気スプロケットと一体に構成されており、周方向に等間隔に形成された３つの隔壁５１ａを備えている。ベーン５２は、吸気カムシャフト５の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト５から外方に放射状に延びるとともに、ハウジング５１内に回転可能に収容されている。また、ハウジング５１内には、隔壁５１ａとベーン５２の間に、３つの進角室５５および３つの遅角室５６が形成されている。
【００４５】
油圧ポンプ５３は、クランクシャフト３ｄに連結された機械式のものであり、クランクシャフト３ｄの回転に伴い、エンジン３のオイルパン３ｅに蓄えられた潤滑用のオイルを、油路５７ｃを介して吸い込むとともに、これを昇圧した状態で、油路５７ｃを介して吸気カム位相電磁弁５４に供給する。
【００４６】
吸気カム位相電磁弁５４は、スプール弁機構５４ａおよびソレノイド５４ｂを組み合わせたものであり、進角油路５７ａおよび遅角油路５７ｂを介して、進角室５５および遅角室５６にそれぞれ接続されていて、油圧ポンプ５３から供給された油圧Ｐｏｉｌを、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔとして、進角室５５および遅角室５６にそれぞれ出力する。吸気カム位相電磁弁５４のソレノイド５４ｂは、ＥＣＵ２からの後述する吸気位相制御入力Ｕ＿ＣＡＩＮにより、スプール弁機構５４ａのスプール弁体を所定の移動範囲内で移動させることによって、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔを変化させる。
【００４７】
以上の吸気カム位相可変機構５０では、油圧ポンプ５３の動作中、吸気カム位相電磁弁５４が吸気位相制御入力Ｕ＿ＣＡＩＮに応じて作動することにより、進角油圧Ｐａｄが進角室５５に、遅角油圧Ｐｒｔが遅角室５６にそれぞれ供給され、それにより、ベーン５２とハウジング５１との間の相対的な位相が進角側または遅角側に変更される。その結果、前述した吸気カム位相ＣＡＩＮが、所定の最遅角値と所定の最進角値との間で連続的に変化し、それにより、吸気弁４のバルブタイミングは、図６に実線で示す最遅角タイミングと、２点鎖線で示す最進角タイミングとの間で無段階に変更される。
【００４８】
一方、吸気カムシャフト５の吸気カム位相可変機構５０と反対側の端部には、吸気カム角センサ２７（図２参照）が設けられている。この吸気カム角センサ２７は、例えばマグネットロータおよびＭＲＥピックアップで構成されており、吸気カムシャフト５の回転に伴い、パルス信号であるＩＮＣＡＭ信号を所定のカム角（例えば１゜）ごとにＥＣＵ２に出力する。ＥＣＵ２は、このＩＮＣＡＭ信号および前述したＣＲＫ信号に基づき、吸気カム位相ＣＡＩＮを算出する。
【００４９】
次に、前述した排気側動弁機構６０について説明する。この排気側動弁機構６０は、図７に示すように、排気カムシャフト８、排気カム９、排気リフト可変機構７０および排気カム位相可変機構９０などを備えている。
【００５０】
この排気リフト可変機構７０は、クランクシャフト３ｄの回転に伴う排気カムシャフト８の回転により排気弁７を開閉駆動するとともに、排気リフトを値０と所定の最大値ＬＥＸＭＡＸ（図１０参照）との間で無段階に変更するものである。図８〜９に示すように、排気リフト可変機構７０は、コントロールシャフト７１およびロッカアームシャフト７２と、これらのシャフト７１，７２に気筒３ａごとに設けられたロッカアーム機構７３と、これらのロッカアーム機構７３を同時に駆動する排気リフトアクチュエータ８０などを備えている。
【００５１】
コントロールシャフト７１は、回動軸部７１ａ、ホルダ部７１ｂおよび偏心軸部７１ｃを一体に組み立てたものであり、排気カムシャフト８に沿って延び、シリンダヘッド３ｃに回動自在に支持されるとともに、その一端部が排気リフトアクチュエータ８０に連結されている。
【００５２】
一方、各ロッカアーム機構７３は、上下のロッカアーム７４，７５を組み合わせたものであり、上ロッカアーム７４は、一対のリンク７４ａ，７４ａ、ローラ軸７４ｂ、ローラ７４ｃおよび一対のコイルばね７４ｄ，７４ｄを備えている。ローラ軸７４ｂは、その両端部において、リンク７４ａ，７４ａの一端部にそれぞれ回転自在に支持されている。また、ローラ７４ｃは、このローラ軸７４ｂに回転自在に設けられている。
【００５３】
また、各リンク７４ａの他端部は、コントロールシャフト７１の偏心軸部７１ｃに回動自在に支持されるとともに、コイルばね７４ｄを介してホルダ部７１ｂに連結されている。リンク７４ａでは、このコイルばね７４ｄの付勢力により、ローラ７４ｃが排気カム９のカム面に当接するとともに、ローラ７４ｃが排気カム９のカム面のベース円部に当接しているときに、ローラ軸７４ｂは回動軸部７１ａと同軸の原点位置（図７に示す位置）に保持される。
【００５４】
一方、下ロッカアーム７５は、その一端部においてロッカアームシャフト７２に回動自在に支持され、他端部にはアジャストボルト７５ａ，７５ａが取り付けられており、これらのアジャストボルト７５ａ，７５ａを介して、各排気弁７の上端に当接している。下ロッカアーム７５は、図７に示す閉弁位置にある場合には、排気弁７を閉弁状態に保持するとともに、ロッカアームシャフト７２を中心として閉弁位置から下方に回動すると、バルブスプリング７ｅの付勢力に抗しながら、ステム７ａを下方に駆動し、排気弁７を開放する。
【００５５】
また、下ロッカアーム７５は、上方に突出する一対の案内部７５ｂ，７５ｂを備えている。各案内部７５ｂは、その上面が上ロッカアーム７４のローラ軸７４ｂを案内する案内面７５ｃになっており、バルブスプリング７ｅの付勢力により、この案内面７５ｃを介してローラ軸７４ｂに当接している。この案内面７５ｃは、リンク７４ａが図７に実線で示す閉弁位置にあるときに偏心軸部７１ｃと同心になるような、下方に凸の所定の円弧状に形成されている。また、案内部７５ｂとローラ軸７４ｂが互いに当接している状態では、ローラ７４ｃは、案内部７５ｂ，７５ｂ間に位置するとともに、下ロッカアーム７５に当接することなく、排気カム９のみに当接する。
【００５６】
一方、排気リフトアクチュエータ８０は、モータおよび減速ギヤ機構（いずれも図示せず）などを組み合わせたものであり、ＥＣＵ２により駆動されることによって、コントロールシャフト７１をその回動軸部７１ａを中心として回動させる。このコントロールシャフト７１の回動に伴い、リンク７４ａもローラ軸７４ｂを中心として回動する。
【００５７】
次に、以上のように構成された排気リフト可変機構７０の動作について説明する。この排気リフト可変機構７０では、ＥＣＵ２からの後述する排気リフト制御入力Ｕ＿ＳＡＡＥＸにより、排気リフトアクチュエータ８０が駆動されると、コントロールシャフト７１が回動する。その際、ストッパ（図示せず）により、コントロールシャフト７１の回動角ＳＡＡＥＸは所定範囲内に規制され、それにより、リンク７４ａの回動範囲も、例えばローラ軸７４ｂが前述した原点位置にある場合、図７に実線で示すゼロリフト位置と２点鎖線で示す最大リフト位置との間に規制される。
【００５８】
このようにリンク７４ａがゼロリフト位置にある場合、排気カム９が回転し、そのカムノーズによりローラ７４ｃがロッカアームシャフト７２側に押されると、リンク７４ａは偏心軸部７１ｃを中心として、図７の時計回りに回動する。その際、前述したように、下ロッカアーム７５の案内面７５ｃが偏心軸部７１ｃを中心とする円弧と一致するような形状を有しているので、バルブスプリング７ｅの付勢力により、下ロッカアーム７５は、図７に示す閉弁位置に保持される。それにより、排気リフトは値０に保持され、排気弁７は閉弁状態に保持される。
【００５９】
一方、リンク７４ａがゼロリフト位置から最大リフト位置側に回動した状態では、排気カム９の回転により、リンク７４ａが偏心軸部７１ｃを中心として図７の時計回りに回動し、それに伴い、下ロッカアーム７５は、バルブスプリング７ｅの付勢力に抗しながら、図７に示す閉弁位置から下方に回動し、排気弁７を開放する。その際、下ロッカアーム７５の回動量すなわち排気リフトは、リンク７４ａが最大リフト位置に近い位置にあるほど、より大きくなる。
【００６０】
以上のように、排気弁７は、リンク７４ａが最大リフト位置に近い位置にあるほど、より大きなリフトで開弁する。具体的には、排気カム９の回転中、排気弁７は、リンク７４ａが最大リフト位置にあるときには、図１０に実線で示すバルブリフト曲線に従って開弁し、排気リフトは、最大値ＬＥＸＭＡＸになる。したがって、この排気リフト可変機構７０では、排気リフトアクチュエータ８０を介して、リンク７４ａをゼロリフト位置と最大リフト位置との間で回動させることにより、排気リフトを値０と所定の最大値ＬＥＸＭＡＸとの間で無段階に変化させることができる。
【００６１】
また、排気リフト可変機構７０には、回動角センサ２８が設けられており（図２参照）、この回動角センサ２８は、コントロールシャフト７１の回動角ＳＡＡＥＸを検出し、それを表す検出信号をＥＣＵ２に出力する。
【００６２】
次に、排気カム位相可変機構９０について説明する。この排気カム位相可変機構９０は、排気カムシャフト８のクランクシャフト３ｄに対する相対的な位相（以下「排気カム位相」という）ＣＡＥＸを進角側または遅角側に無段階に変更するものであり、排気カムシャフト８の排気スプロケット側の端部に設けられている。
【００６３】
この排気カム位相可変機構９０は、前述した吸気カム位相可変機構５０と同様に構成されているので、その詳細な説明は省略するが、排気カム位相電磁弁９１などを備えており、ＥＣＵ２からの後述する排気位相制御入力Ｕ＿ＣＡＥＸにより排気カム位相電磁弁９１が駆動されると、排気カム位相ＣＡＥＸを、所定の最遅角値と所定の最進角値との間で連続的に変化させる。それにより、排気弁７のバルブタイミングは、図６に実線で示す最遅角タイミングと、２点鎖線で示す最進角タイミングとの間で無段階に変更される。
【００６４】
一方、排気カムシャフト８の排気カム位相可変機構９０と反対側の端部には、排気カム角センサ２９（図２参照）が設けられている。この排気カム角センサ２９は、例えばマグネットロータおよびＭＲＥピックアップで構成されており、排気カムシャフト８の回転に伴い、パルス信号であるＥＸＣＡＭ信号を所定のカム角（例えば１゜）ごとにＥＣＵ２に出力する。ＥＣＵ２は、このＥＸＣＡＭ信号および前述したＣＲＫ信号に基づき、排気カム位相ＣＡＥＸを算出する。
【００６５】
以上のように、このエンジン３では、吸気側動弁機構４０により、吸気弁４のバルブタイミングを無段階に変更できるとともに、排気側動弁機構６０により、排気弁７のリフトおよびバルブタイミングを無段階に変更できるので、これらの２つの動弁機構４０，６０によって、燃焼行程後に燃焼室３ｇ内に残留する既燃ガスの量（以下「内部ＥＧＲ量」という）を自在に変更できる。
【００６６】
例えば、内部ＥＧＲ量は、排気リフト可変機構７０により排気リフトを変更することによって、連続的に変化し、排気リフトが最大値ＬＥＸＭＡＸのときに最小になり、値０のときに最大になる。また、内部ＥＧＲ量は、排気リフトが最大値ＬＥＸＭＡＸに制御され、かつ排気カム位相可変機構９０により排気カム位相ＣＡＥＸが最遅角値に制御されているときに、値０になる。なお、以下の説明では、２つの動弁機構４０，６０により既燃ガスを燃焼室３ｇ内に残留させることを「内部ＥＧＲ」という。
【００６７】
さらに、ＥＣＵ２には、大気圧センサ３０、アクセル開度センサ３１およびスロットル弁開度センサ３２が接続されている。この大気圧センサ３０は、大気圧ＰＡを検出し、それを表す検出信号をＥＣＵ２に出力する。
【００６８】
また、アクセル開度センサ３１は、アクセルペダル（図示せず）の操作量であるアクセル開度ＡＰを検出し、それを表す検出信号をＥＣＵ２に出力する。さらに、スロットル弁開度センサ３２は、スロットル弁１３ｂの開度（以下「スロットル弁開度」という）ＴＨを検出し、それを表す検出信号をＥＣＵ２に出力する。
【００６９】
ＥＣＵ２は、本実施形態において、第１吸入新気量算出手段、回転数検出手段、第２吸入新気量算出手段、ＥＧＲ率パラメータ算出手段、要求トルク決定手段、目標値設定手段、補正係数算出手段およびＥＧＲ制御手段を構成するものであり、ＣＰＵ、ＲＡＭ、ＲＯＭおよびＩ／Ｏインターフェース（いずれも図示せず）などから成るマイクロコンピュータで構成されている。ＥＣＵ２は、前述した各種のセンサ２０〜３２の検出信号などに応じ、ＲＯＭに記憶された制御プログラムなどに従って、エンジン３の運転状態を判別するとともに、後述するように、各種の制御処理を実行する。
【００７０】
具体的には、ＥＣＵ２は、エンジン３の運転状態に応じて、後述するように、燃料噴射制御処理、ＥＧＲ制御処理、点火時期制御処理および可変機構制御処理などを実行する。これらの制御処理により、エンジン３は、所定の圧縮着火燃焼領域では、混合気を火花点火することなく圧縮自着火により燃焼させる圧縮着火燃焼モードで運転され、それ以外の火花点火燃焼領域では、混合気を火花点火により燃焼させる火花点火燃焼モードで運転される。
【００７１】
以下、ＥＣＵ２によって実行される制御処理について説明する。図１１はこの制御処理のメインフローを示している。本処理は、ＴＤＣ信号の発生に同期して実行される。この処理では、まず、ステップ１（「Ｓ１」と図示。以下同じ）で、燃料噴射制御処理を実行する。この燃料噴射制御処理は、燃料噴射弁１０から燃焼室３ｇ内に噴射すべき燃料量（以下「燃料噴射量」という）ＴＯＵＴを算出するものであり、その詳細については後述する。なお、以下の説明において算出される各種の値は、ＥＣＵ２のＲＡＭ内に記憶されるものとする。
【００７２】
次いで、ステップ２で、ＥＧＲ制御処理を実行する。このＥＧＲ制御処理は、排気還流機構１６を介して外部ＥＧＲ量を制御するための目標ＥＧＲリフトＬＣＭＤを算出するとともに、排気側動弁機構６０および吸気側動弁機構４０を介して内部ＥＧＲ量を制御するための、目標回動角ＳＡＡＥＸＣＭＤ、目標排気カム位相ＣＡＥＸＣＭＤおよび目標吸気カム位相ＣＡＩＮＣＭＤを算出するものであり、その詳細については後述する。
【００７３】
次に、ステップ３で、点火時期制御処理を実行した後、本処理を終了する。この点火時期制御処理では、その詳細については省略するが、火花点火燃焼モードでは、点火時期がエンジン負荷に応じて算出され、圧縮着火燃焼モードでは、点火時期の算出が中止される。その結果、火花点火燃焼モードでは、点火プラグ１１による点火が実行される一方、圧縮着火燃焼モードでは、点火プラグ１１による点火が停止される。
【００７４】
次に、図１２を参照しながら、前述した燃料噴射制御処理について説明する。この処理では、まず、ステップ１０で、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、図１３に示すマップを検索することによって、要求トルクＰＭＣＭＤを算出する。このマップでは、要求トルクＰＭＣＭＤは、エンジン回転数ＮＥが高いほど、またアクセル開度ＡＰが大きいほど、より大きな値に設定されている。これは、エンジン回転数ＮＥが高いほど、またアクセル開度ＡＰが大きいほど、エンジン負荷がより大きくなるためである。
【００７５】
次いで、ステップ１１に進み、基本燃料噴射量ＴＩＭを算出する。この基本燃料噴射量ＴＩＭは、具体的には図１４に示すようにして算出される。
【００７６】
すなわち、まず、ステップ３０において、吸入新気量ＧＡＩＲＣＹＬ（第１吸入新気量）を算出する。この吸入新気量ＧＡＩＲＣＹＬは、気筒３ａ内に実際に吸入されたと推定される新気量であり、エアフローセンサ２２により検出された新気流量ＧＩＮおよびエンジン回転数ＮＥなどに基づいて算出される。
【００７７】
次いで、ステップ３１に進み、上記ステップ３０で算出した吸入新気量ＧＡＩＲＣＹＬに応じ、図１５に示すマップを検索することによって、第１基本燃料噴射量ＴＩＭＡＦＭＸを算出する。このマップでは、吸入新気量ＧＡＩＲＣＹＬが大きいほど、第１基本燃料噴射量ＴＩＭＡＦＭＸがより大きい値に設定されている。これは、吸入新気量ＧＡＩＲＣＹＬが大きいほど、エンジン３に要求される出力がより大きくなることによる。以上の算出方法から明らかなように、第１基本燃料噴射量ＴＩＭＡＦＭＸは、吸入新気量ＧＡＩＲＣＹＬ、すなわち気筒３ａ内に実際に吸入される新気量に対応しており、この意味において、本発明の第１吸入新気量に相当する。
【００７８】
次に、ステップ３２に進み、吸気リフトフラグＦ＿ＶＴＥＣが「１」であるか否かを判別する。この吸気リフトフラグＦ＿ＶＴＥＣは、エンジン３の運転領域が吸気リフト切換機構４１の動作モードを前述した高リフトモードに設定すべき領域にあるときに「１」にセットされ、低リフトモードに設定すべき領域にあるときに「０」にセットされる。なお、図中では、低リフトモードを「ＬＯ．ＭＤ」と表記し、高リフトモードを「ＨＩ．ＭＤ」と表記する。
【００７９】
ステップ３２の判別結果がＮＯで、吸気リフト切換機構４１の動作モードが低リフトモードに設定されているときには、ステップ３３に進み、エンジン回転数ＮＥおよび吸気カム位相ＣＡＩＮに応じ、マップ（図示せず）を検索することによって、低リフトモード用の燃料補正係数ＡＴＩを算出する。
【００８０】
次いで、ステップ３４で、エンジン回転数ＮＥおよび吸気カム位相ＣＡＩＮに応じ、マップ（図示せず）を検索することによって、低リフトモード用の燃料補正項ＢＴＩを算出する。
【００８１】
一方、ステップ３２の判別結果がＹＥＳで、吸気リフト切換機構４１の動作モードが高リフトモードに設定されているときには、ステップ３５に進み、エンジン回転数ＮＥおよび吸気カム位相ＣＡＩＮに応じ、マップ（図示せず）を検索することによって、高リフトモード用の燃料補正係数ＡＴＩを算出する。
【００８２】
次いで、ステップ３６で、エンジン回転数ＮＥおよび吸気カム位相ＣＡＩＮに応じ、マップ（図示せず）を検索することによって、高リフトモード用の燃料補正項ＢＴＩを算出する。
【００８３】
ステップ３４または３６に続くステップ３７では、吸気管内圧および燃料補正係数の積と燃料補正項との和（ＰＢＡ・ＡＴＩ＋ＢＴＩ）を、第２基本燃料噴射量ＴＩＭＢＳＸとして設定する。
【００８４】
以上の算出方法から明らかなように、この第２基本燃料噴射量ＴＩＭＢＳＸは、エンジン回転数ＮＥおよび吸気管内圧ＰＢＡを用い、スピードデンシティ方式によって求めた体積効率に基づく吸入新気量に対応している。また、上記のマップでは、燃料補正係数ＡＴＩおよび燃料補正項ＢＴＩはいずれも、排気リフト機構７０が排気リフトを最大値ＬＥＸＭＡＸに制御し、排気カム位相可変機構９０が排気カム位相ＣＡＥＸを最遅角値に制御するとともに、排気還流機構１６が外部ＥＧＲを停止した基準状態にあることを前提として設定されている。したがって、第２基本燃料噴射量ＴＩＭＢＳＸは、内部ＥＧＲ量および外部ＥＧＲ量がともに値０の状態で気筒３ａ内に吸入される新気量に対応しており、この意味において、本発明の第２吸入新気量に相当する。
【００８５】
次いで、ステップ３８に進み、エンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴが「１」であるか否かを判別する。このエンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴは、エンジン始動制御中すなわちクランキング中であるときに「１」に、それ以外のときに「０」にそれぞれセットされる。この判別結果がＮＯで、エンジン始動が終了しているときには、ステップ３９に進み、基本燃料噴射量ＴＩＭを第２基本燃料噴射量ＴＩＭＢＳＸに設定した後、本処理を終了する。
【００８６】
一方、ステップ３８の判別結果がＹＥＳで、エンジン始動中であるときには、ステップ４１で、エンジン水温ＴＷに応じ、マップ（図示せず）を検索することによって、始動時用の基本燃料噴射量ＴＩＭＳＴＸを算出する。次いで、ステップ４１で、基本燃料噴射量ＴＩＭを始動時用の基本燃料噴射量ＴＩＭＳＴＸに設定した後、本処理を終了する。
【００８７】
図１２に戻り、ステップ１１で以上のように基本燃料噴射量ＴＩＭを算出した後、ステップ１２に進み、実新気率ＫＥＧＲを算出する。この実新気率ＫＥＧＲは、気筒３ａ内に吸入される新気量と総ガス量（新気量＋内部ＥＧＲ量＋外部ＥＧＲ量）との比率に相当するとともに、値１．０からこの実新気率ＫＥＧＲを減算した値（１．０−ＫＥＧＲ）が、総還流ガス量（内部ＥＧＲ量＋外部ＥＧＲ量）と総ガス量との比率すなわちＥＧＲ率に相当する。すなわち、実新気率ＫＥＧＲは、ＥＧＲ率をも表すものであり、本実施形態では、ＥＧＲ率パラメータに相当する。この実新気率ＫＥＧＲは、具体的には図１６に示すようにして算出される。
【００８８】
すなわち、まず、ステップ５０で、次式（１）によって、実新気率ＫＥＧＲの今回算出値ＫＥＧＲＯＲＧを算出する。
【数１】
2007100527.tif 000003
ここで、ＫＴＡは、吸気温補正係数であり、吸気温ＴＡに応じ、マップ（図示せず）を検索することによって算出される。この式（１）から明らかなように、今回算出値ＫＥＧＲＯＲＧは、基本的に、第１基本燃料噴射量ＴＩＭＡＦＭＸと第２基本燃料噴射量ＴＩＭＢＳＸの比として算出される。前述したように、第１基本燃料噴射量ＴＩＭＡＦＭＸは、気筒３ａに実際に吸入される新気量に対応する一方、第２基本燃料噴射量ＴＩＭＢＳＸは、内部ＥＧＲ量および外部ＥＧＲ量がともに値０に制御される基準状態にあるときに気筒３ａ内に吸入される新気量に対応するので、今回算出値ＫＥＧＲＯＲＧは、今回得られた実新気率（新気量／総ガス量）に相当する。
【００８９】
次いで、ステップ５１に進み、今回算出値ＫＥＧＲＯＲＧが値１．０以上であるか否かを判別する。この判別結果がＮＯのときには、後述するステップ５３に進む。一方、この判別結果がＹＥＳのときには、ステップ５２で、今回算出値ＫＥＧＲＯＲＧを値１．０に設定した後、ステップ５３に進む。
【００９０】
ステップ５１または５２に続くステップ５３では、ＲＡＭ内に記憶されているｍ個の今回算出値ＫＥＧＲＯＲＧのバッファ値ＫＥＧＲ＿ＴＭＰｎ（ｎ＝１〜ｍ）を更新する。具体的には、ＲＡＭ内のバッファ値の各々を、燃料噴射制御における１制御サイクル分、前の値としてセットする（例えば、バッファ値の今回値ＫＥＧＲ＿ＴＭＰ１を前回値ＫＥＧＲ＿ＴＭＰ２にシフトし、前回値ＫＥＧＲ＿ＴＭＰ２を前々回値ＫＥＧＲ＿ＴＭＰ３にシフトする）とともに、ステップ５１または５２で算出した今回算出値ＫＥＧＲＯＲＧをバッファ値の今回値ＫＥＧＲ＿ＴＭＰ１としてセットする。
【００９１】
次いで、ステップ５４に進み、次式（２）によって、バッファ値ＫＥＧＲ＿ＴＭＰｎの移動平均値ＫＥＧＲ＿ＡＶＥを算出する。
【数２】
2007100527.tif 000004
【００９２】
次に、ステップ５５で、実新気率ＫＥＧＲを上記ステップ５４で算出した移動平均値ＫＥＧＲ＿ＡＶＥに設定した後、本処理を終了する。
【００９３】
図１２に戻り、ステップ１２で以上のように実新気率ＫＥＧＲを算出した後、ステップ１３に進み、内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮおよび外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸを算出する。これらの値ＫＥＧＲＣＭＤＩＮ，ＫＥＧＲＣＭＤＥＸは、具体的には図１７に示すようにして算出される。
【００９４】
すなわち、まず、ステップ６０で、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じ、図１８に示すマップを検索することによって、実新気率ＫＥＧＲの目標値ＫＥＧＲＣＭＤを算出する。
【００９５】
次いで、ステップ６１に進み、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じ、図１９に示すマップを検索することによって、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮを算出する。その後、ステップ６２で、外部ＥＧＲ割合ＥＧＲＤＩＶＥＸを、値１から内部ＥＧＲ割合ＥＧＲＤＩＶＩＮを減算した値に設定する。
【００９６】
次に、ステップ６３で、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮおよび目標値ＫＥＧＲＣＭＤに基づき、次式（３）によって、内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮを算出する。すなわち、内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮは、値１から、総ＥＧＲ量における内部ＥＧＲ量の割合の目標値を減算した値に相当し、言い換えれば、外部ＥＧＲ量が値０に制御されていると仮定した場合において、内部ＥＧＲ量の制御により、気筒３ａ内に吸入すべき新気量の割合の目標値に相当する。
【数３】
2007100527.tif 000005
【００９７】
次いで、ステップ６４で、外部ＥＧＲ割合ＥＧＲＤＩＶＥＸおよび目標値ＫＥＧＲＣＭＤに基づき、次式（４）により、外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸを算出した後、本処理を終了する。すなわち、外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸは、値１から、総ＥＧＲ量における外部ＥＧＲ量の割合の目標値を減算した値に相当し、言い換えれば、内部ＥＧＲ量が値０に制御されていると仮定した場合において、外部ＥＧＲ量の制御により、気筒３ａ内に吸入すべき新気量の割合の目標値に相当する。
【数４】
2007100527.tif 000006
【００９８】
図１２に戻り、ステップ１３で以上のように２つの目標値ＫＥＧＲＣＭＤＩＮ，ＫＥＧＲＣＭＤＥＸを算出した後、ステップ１４に進み、目標空燃比ＫＣＭＤを算出する。この目標空燃比ＫＣＭＤは、具体的には図２０に示すようにして算出される。
【００９９】
すなわち、まず、ステップ７０で、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じ、図２１に示すマップを検索することによって、目標空燃比のマップ値ＫＣＭＤＭＡＰを算出する。
【０１００】
次いで、ステップ７１に進み、外部ＥＧＲ過小故障フラグＦＳ＿ＥＸＥＧＲＤＮが「１」であるか否かを判別する。この判別結果がＹＥＳで、ＥＧＲ制御弁１６ｂの故障により外部ＥＧＲ量が過小な状態にあるときには、ステップ７２に進み、目標空燃比ＫＣＭＤを、マップ値と実新気率の目標値との積ＫＣＭＤＭＡＰ・ＫＥＧＲＣＭＤに設定した後、本処理を終了する。
【０１０１】
一方、ステップ７１の判別結果がＮＯのときには、ステップ７３に進み、目標空燃比ＫＣＭＤをマップ値ＫＣＭＤＭＡＰに設定した後、本処理を終了する。
【０１０２】
図１２に戻り、ステップ１４で以上のように目標空燃比ＫＣＭＤを算出した後、ステップ１５に進み、空燃比補正係数ＫＡＦを算出する。この空燃比補正係数ＫＡＦは、具体的には、以下のようにして算出される。
【０１０３】
すなわち、空燃比フィードバック制御の実行条件が成立しているときには、空燃比補正係数ＫＡＦは、検出空燃比ＫＡＣＴを目標空燃比ＫＣＭＤに収束させるように、図示しない所定のフィードバック制御アルゴリズム（例えば、ＰＩＤ制御アルゴリズムや応答指定型制御アルゴリズムなど）により算出される。一方、空燃比フィードバック制御の実行条件が不成立であるときには、空燃比補正係数ＫＡＦは、値１に設定される。
【０１０４】
次いで、ステップ１６に進み、総補正係数ＫＴＯＴＡＬおよびバッテリ電圧補正項ＴＩＶＢを算出する。この総補正係数ＫＴＯＴＡＬは、各種の運転パラメータ（例えば、吸気温ＴＡ、エンジン水温ＴＷおよび大気圧ＰＡなど）に応じて、各種のマップ（図示せず）を検索することで、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することによって算出される。また、バッテリ電圧補正項ＴＩＶＢは、バッテリ電圧に応じ、マップ（図示せず）を検索することによって、算出される。
【０１０５】
次に、ステップ１７で、以上のように算出した各種の値に基づき、次式（５）によって、燃料噴射量ＴＯＵＴを算出した後、本処理を終了する。以上のようにして算出した燃料噴射量ＴＯＵＴに応じて、燃料噴射弁１０の開弁タイミングおよび開弁時間が制御される。
【数５】
2007100527.tif 000007
【０１０６】
次に、図２２を参照しながら、前述したＥＧＲ制御処理について説明する。本処理ではまず、ステップ８０において、実新気率ＫＥＧＲを目標値ＫＥＧＲＣＭＤに収束させるためのフィードバック補正係数（以下「Ｆ／Ｂ補正係数」という）ＫＥＲＧＦＢを算出する。その具体的な内容については後述するが、この処理では、Ｆ／Ｂ補正係数ＫＥＲＧＦＢに加えて、その内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮおよび外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸが算出される。
【０１０７】
次に、図１７のステップ６３で求めた内部ＥＧＲ割合ＥＧＲＤＩＶＩＮが０．５以上であるか否かを判別する（ステップ８１）。この判別結果がＹＥＳのとき、すなわち内部ＥＧＲ量が外部ＥＧＲ量以上のときには、図１７のステップ６３で求めた内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮに、上記ステップ８０で算出したＦ／Ｂ補正係数ＫＥＧＲＦＢを乗じた値を、補正後内部ＥＧＲ率ＫＥＧＲＭＡＰＩＮとして算出する（ステップ８２）。
【０１０８】
一方、前記ステップ８１の判別結果がＮＯで、内部ＥＧＲ量が外部ＥＧＲ量よりも小さいときには、内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮに、Ｆ／Ｂ補正係数の内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮを乗じた値を、補正後内部ＥＧＲ率ＫＥＧＲＭＡＰＩＮとして算出する（ステップ８３）。
【０１０９】
ステップ８２または８３に続くステップ８４では、前述した吸気リフトフラグＦ＿ＶＴＥＣが「１」であるか否かを判別する。この判別結果がＮＯで、吸気リフト切換機構４１が低リフトモードに設定されているときには、ステップ８２または８３で算出した補正後内部ＥＧＲ率ＫＥＧＲＭＡＰＩＮとエンジン回転数ＮＥに応じ、図２３に示すマップを検索することによって、低リフトモード用の排気リフト可変機構７０の目標回動角ＳＡＡＥＸＣＭＤを算出する（ステップ８５）。この目標回動角ＳＡＡＥＸＣＭＤは、後述するように、回動角ＳＡＡＥＸの目標値として用いられる。
【０１１０】
次いで、ステップ８６では、補正後内部ＥＧＲ率ＫＥＧＲＭＡＰＩＮおよびエンジン回転数ＮＥに応じ、図２４に示すマップを検索することによって、低リフトモード用の排気カム位相可変機構９０の目標排気カム位相ＣＡＥＸＣＭＤを算出する。この目標排気カム位相ＣＡＥＸＣＭＤは、後述するように、排気カム位相ＣＡＥＸの目標値として用いられる。
【０１１１】
同様に、ステップ８７では、補正後内部ＥＧＲ率ＫＥＧＲＭＡＰＩＮおよびエンジン回転数ＮＥに応じ、図２５に示すマップを検索することによって、低リフトモード用の吸気カム位相可変機構５０の目標吸気カム位相ＣＡＩＮＣＭＤを算出する。この目標吸気カム位相ＣＡＩＮＣＭＤは、後述するように、吸気カム位相ＣＡＩＮの目標値として用いられる。
【０１１２】
一方、前記ステップ８４の判別結果がＹＥＳで、吸気リフト切換機構４１が高リフトモードに設定されているときには、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じ、それぞれの所定のマップ（図示せず）を検索することによって、高リフトモード用の目標回動角ＳＡＡＥＸＣＭＤ、目標排気カム位相ＣＡＥＸＣＭＤおよび目標吸気カム位相ＣＡＩＮＣＭＤを算出する（ステップ８８〜９０）。
【０１１３】
前記ステップ８７または９０に続くステップ９１では、外部ＥＧＲ割合ＥＧＲＤＩＶＥＸが０．５よりも大きいか否かを判別する。この判別結果がＹＥＳで、外部ＥＧＲ量が内部ＥＧＲ量よりも大きいときには、図１７のステップ６４で求めた外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸにＦ／Ｂ補正係数ＫＥＧＲＦＢを乗じた値を、補正後外部ＥＧＲ率ＫＥＧＲＭＡＰＥＸとして算出する（ステップ９２）。
【０１１４】
一方、上記ステップ９１の判別結果がＮＯで、外部ＥＧＲ量が内部ＥＧＲ量以下のときには、外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸに、Ｆ／Ｂ補正係数の外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸを乗じた値を、補正後外部ＥＧＲ率ＫＥＧＲＭＡＰＥＸとして算出する（ステップ９３）。
【０１１５】
次いで、ステップ９４において、ステップ９２または９３で算出した補正後外部ＥＧＲ率ＫＥＧＲＭＡＰＥＸと吸気管内ゲージ圧ＨＰＢＧＡに応じ、図２６に示すマップを検索することによって、排気還流機構１６の目標ＥＧＲリフトＬＣＭＤを算出し、本処理を終了する。この吸気管内ゲージ圧ＨＰＢＧＡは、吸気管内圧ＰＢＡおよび大気温ＴＡに基づいて算出される。また、目標ＥＧＲリフトＬＣＭＤは、後述するように、ＥＧＲリフトＬＡＣＴの目標値として用いられる。
【０１１６】
次に、図２７および図２８を参照しながら、図２２のステップ８０で実行されるＦ／Ｂ補正係数ＫＥＧＲＦＢの算出処理について説明する。本処理ではまず、ステップ１００において、空燃比フィードバックフラグＦ＿ＬＡＦＦＢが「０」であり、または、実新気率ＫＥＧＲの目標値ＫＥＧＲＣＭＤが１．０に等しいか否かを判別する。
【０１１７】
この判別結果がＹＥＳのとき、すなわち、ＬＡＦセンサ２５の検出空燃比ＫＡＣＴに基づく空燃比フィードバック制御の実行中でないとき、または目標値ＫＥＧＲＣＭＤが１．０で、内部ＥＧＲおよび外部ＥＧＲがともに停止中のときには、実新気率ＫＥＧＲのフィードバック制御領域にないとして、Ｆ／Ｂ補正係数ＫＥＧＲＦＢを１．０に設定し（ステップ１１３）、本処理を終了する。
【０１１８】
一方、前記ステップ１００の判別結果がＮＯのとき、すなわち、空燃比フィードバック制御の実行中で、かつ内部ＥＧＲおよび外部ＥＧＲの少なくとも一方の実行中のときには、以下のステップ１０１〜１０６において、Ｆ／Ｂ補正係数ＫＥＧＲＦＢをＩ−ＰＤフィードバック制御アルゴリズムによって算出する。
【０１１９】
すなわち、まずステップ１０１では、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、それぞれのマップ（図示せず）を検索することによって、Ｐ項ゲインＫＥＩＰＤＰ、Ｉ項ゲインＫＥＩＰＤＩおよびＤ項ゲインＫＥＩＰＤＤを算出する。
【０１２０】
次いで、算出したＰ項ゲインＫＥＩＰＤＰ、Ｉ項ゲインＫＥＩＰＤＩおよびＤ項ゲインＫＥＩＰＤＤを用い、次式（６）〜（８）によって、Ｐ項ＫＥＧＲＦＢ＿Ｐ、Ｉ項ＫＥＧＲＦＢ＿ＩおよびＤ項ＫＥＧＲＦＢ＿Ｄをそれぞれ算出する（ステップ１０２〜１０４）。なお、式（６）および（８）のＫＥＧＲＺ１は、Ｆ／Ｂ補正係数の前回値を表し、式（８）のＫＥＧＲＺ２は、Ｆ／Ｂ補正係数の前々回値を表す。
【数６】
2007100527.tif 000008
【数７】
2007100527.tif 000009
【数８】
2007100527.tif 000010
【０１２１】
次に、算出したこれらのＰ項ＫＥＧＲＦＢ＿Ｐ、Ｉ項ＫＥＧＲＦＢ＿ＩおよびＤ項ＫＥＧＲＦＢ＿Ｄを用い、次式（９）によって、Ｉ−ＰＤ項ＫＥＧＲＦＢ＿Ｓを算出する（ステップ１０５）。
【数９】
2007100527.tif 000011
【０１２２】
次いで、このＩ−ＰＤ項ＫＥＧＲＦＢ＿ＳにＦ／Ｂ補正係数の前回値ＫＥＧＲＦＢ＿Ｚを加算することによって、Ｆ／Ｂ補正係数ＫＥＧＲＦＢを算出する（ステップ１０６）。
【０１２３】
次いで、Ｆ／Ｂ補正係数ＫＥＧＲＦＢの内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮおよび外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸを算出する（ステップ１０７）とともに、Ｆ／Ｂ補正係数ＫＥＧＲＦＢのリミットチェックを行う（ステップ１０８）。これらの具体的な処理については後述する。
【０１２４】
次に、上記ステップ１０７または１０８の処理で後述するようにして設定される、外部ＥＧＲ故障フラグＦＳ＿ＥＸＥＧＲＦＡＩＬ、外部ＥＧＲ過大故障フラグＦＳ＿ＥＸＥＧＲＯ、外部ＥＧＲ過小故障フラグＦＳ＿ＥＸＥＧＲＤＮ、内部ＥＧＲ故障フラグＦＳ＿ＩＮＥＧＲＦＡＩＬ、内部ＥＧＲ過大故障フラグＦＳ＿ＩＮＥＧＲＯおよび内部ＥＧＲ過小故障フラグＦＳ＿ＩＮＥＧＲＤＮのいずれかが「１」であるか否かを判別する（ステップ１０９）。
【０１２５】
この判別結果がＮＯで、上記６つのフラグがいずれも「０」のときには、内部ＥＧＲおよび外部ＥＧＲがいずれも正常に行われているとして、ＥＧＲ正常フラグＦ＿ＥＧＲＯＫを「１」にセットする（ステップ１１０）。
【０１２６】
一方、ステップ１０９の判別結果がＹＥＳで、上記のフラグのいずれかが「１」のときには、内部ＥＧＲおよび／または外部ＥＧＲが正常に行われていないとして、ＥＧＲ正常フラグＦ＿ＥＧＲＯＫを「０」にセットする（ステップ１１１）。
【０１２７】
次いで、実新気率の前回値ＫＥＧＲＺ１を前々回値ＫＥＧＲＺ２に、実新気率ＫＥＧＲを前回値ＫＥＧＲＺ１に、Ｆ／Ｂ補正係数ＫＥＧＲＦＢを前回値ＫＥＧＲＦＢ＿Ｚにそれぞれシフトし（ステップ１１２）、本処理を終了する。
【０１２８】
次に、図２９を参照しながら、図２７のステップ１０７で実行される、Ｆ／Ｂ補正係数ＫＥＧＲＦＢの内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮおよび外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸの算出処理について説明する。
【０１２９】
本処理ではまず、ステップ１２０において、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮが１．０に等しいか否かを判別する。この判別結果がＹＥＳのとき、すなわち内部ＥＧＲのみが実行されているときには、内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮを、次式（１０）によって算出する（ステップ１２１）。
【数１０】
2007100527.tif 000012
ここで、ＫＥＧＲＲＥＦＩＮＺは、内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮの前回値、ＣＲＥＦＥＧＲＩＮは、値０と１．０の間に設定される所定の重み係数である。
【０１３０】
次に、ステップ１２２〜１２６において、算出した内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮのリミットチェック処理を行う。まず、内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮが所定の下限値ＫＥＧＲＲＥＦＩＮＬＬ以下であるか否かを判別し（ステップ１２２）、その判別結果がＮＯのときには、所定の上限値ＫＥＧＲＲＥＦＩＮＬＨ以上であるか否かを判別する（ステップ１２３）。この判別結果がＮＯのとき、すなわち内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮが、上・下限値ＫＥＧＲＲＥＦＩＮＬＨ／Ｌ間にあるときには、内部ＥＧＲが正常に行われているとして、内部ＥＧＲ故障フラグＦＳ＿ＩＮＥＧＲＦＡＩＬを「０」にセットし（ステップ１２４）、本処理を終了する。
【０１３１】
一方、前記ステップ１２３の判別結果がＹＥＳで、ＫＥＧＲＲＥＦＩＮ≧ＫＥＧＲＲＥＦＩＮＬＨのときには、内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮをこの上限値ＫＥＧＲＲＥＦＩＮＬＨに設定する（ステップ１２５）。また、内部ＥＧＲが正常に行われていないとして、内部ＥＧＲ故障フラグＦＳ＿ＩＮＥＧＲＦＡＩＬを「１」にセットし（ステップ１２６）、本処理を終了する。
【０１３２】
一方、前記ステップ１２２の判別結果がＹＥＳで、ＫＥＧＲＲＥＦＩＮ≦ＫＥＧＲＲＥＦＩＮＬＬのときには、内部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮをこの下限値ＫＥＧＲＲＥＦＩＮＬＬに設定する（ステップ１２７）とともに、内部ＥＧＲが正常に行われていないとして、前記ステップ１２６に進み、内部ＥＧＲ故障フラグＦＳ＿ＩＮＥＧＲＦＡＩＬを「１」にセットする。
【０１３３】
一方、前記ステップ１２０の判別結果がＮＯのときには、外部ＥＧＲ割合ＥＧＲＤＩＶＥＸが１．０に等しいか否かを判別する（ステップ１２８）。この判別結果がＹＥＳで、外部ＥＧＲのみが実行されているときには、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮを、次式（１１）によって算出する（ステップ１２９）。
【数１１】
2007100527.tif 000013
ここで、ＫＥＧＲＲＥＦＥＸＺは、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸの前回値、ＣＲＥＦＥＧＲＥＸは、値０と１．０の間に設定される所定の重み係数である。
【０１３４】
次に、ステップ１３０〜１３４において、前記ステップ１２２〜１２６と同様にして、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸのリミットチェック処理を行う。まず、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸが所定の下限値ＫＥＧＲＲＥＦＥＸＬＬ以下であるか否かを判別し（ステップ１３０）、その判別結果がＮＯのときには、所定の上限値ＫＥＧＲＲＥＦＥＸＬＨ以上であるか否かを判別する（ステップ１３１）。この判別結果がＮＯで、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸが、上・下限値ＫＥＧＲＲＥＦＥＸＬＨ／Ｌ間にあるときには、外部ＥＧＲが正常に行われているとして、外部ＥＧＲ故障フラグＦＳ＿ＥＸＥＧＲＦＡＩＬを「０」にセットし（ステップ１３２）、本処理を終了する。
【０１３５】
一方、前記ステップ１３１の判別結果がＹＥＳで、ＫＥＧＲＲＥＦＥＸ≧ＫＥＧＲＲＥＦＥＸＬＨのときには、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸをこの上限値ＫＥＧＲＲＥＦＥＸＬＨに設定する（ステップ１３３）とともに、外部ＥＧＲが正常に行われていないとして、外部ＥＧＲ故障フラグＦＳ＿ＥＸＥＧＲＦＡＩＬを「１」にセットし（ステップ１３４）、本処理を終了する。
【０１３６】
一方、前記ステップ１３０の判別結果がＹＥＳで、ＫＥＧＲＲＥＦＥＸ≦ＫＥＧＲＲＥＦＥＸＬＬのときには、外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＥＸをこの下限値ＫＥＧＲＲＥＦＥＸＬＬに設定する（ステップ１３５）とともに、前記ステップ１３４に進み、外部ＥＧＲ故障フラグＦＳ＿ＥＸＥＧＲＦＡＩＬを「１」にセットする。
【０１３７】
さらに、前記ステップ１２８の判別結果がＮＯで、内部ＥＧＲおよび外部ＥＧＲの双方が実行されているときには、そのまま本処理を終了する。すなわち、この場合には、内部ＥＧＲ用および外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮ，ＫＥＧＲＲＥＦＥＸの算出は行われない。
【０１３８】
次に、図３０を参照しながら、図２７のステップ１０８で実行されるＦ／Ｂ補正係数ＫＥＧＲＦＢのリミットチェック処理について説明する。本処理ではまず、ステップ１５０において、Ｆ／Ｂ補正係数ＫＥＧＲＦＢが所定の上限値ＫＳＴＥＰＥＩＰＤＬＨ以上であるか否かを判別する。この判別結果がＹＥＳのときには、Ｆ／Ｂ補正係数ＫＥＧＲＦＢをこの上限値ＫＳＴＥＰＥＩＰＤＬＨに設定する（ステップ１５１）とともに、過大故障判定用のカウンタ値Ｃ＿ＳＴＥＰＥＰＣをインクリメントする（ステップ１５２）。
【０１３９】
次に、このカウンタ値Ｃ＿ＳＴＥＰＥＰＣが所定値ＳＴＥＰＥＰＣＣＯＮＴ（例えば５）を超えたか否かを判別し（ステップ１５３）、その判別結果がＮＯのときには、そのまま本処理を終了する。一方、この判別結果がＹＥＳのとき、すなわち、図２７のステップ１０６で算出したＦ／Ｂ補正係数ＫＥＧＲＦＢが上限値ＫＳＴＥＰＥＩＰＤＬＨ以上になった回数が、所定回数を超えたときには、ＥＧＲ量が過大な状態で張り付いた過大故障が生じていると判定し、次いで、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮが０．５よりも大きいか否かを判別する（ステップ１５４）。
【０１４０】
この判別結果がＹＥＳで、内部ＥＧＲ量が外部ＥＧＲ量よりも大きいときには、内部ＥＧＲ側の故障であると判定して、内部ＥＧＲ過大故障フラグＦＳ＿ＩＮＥＧＲＯを「１」にセットする（ステップ１５５）。一方、ステップ１５４の判別結果がＮＯで、外部ＥＧＲ量が内部ＥＧＲ量以上であるときには、外部ＥＧＲ側の故障であると判定して、外部ＥＧＲ過大故障フラグＦＳ＿ＥＸＥＧＲＯを「１」にセットし（ステップ１５６）、本処理を終了する。
【０１４１】
一方、前記ステップ１５０の判別結果がＮＯのときには、Ｆ／Ｂ補正係数ＫＥＧＲＦＢが所定の下限値ＫＳＴＥＰＥＩＰＤＬＬ以下であるか否かを判別する（ステップ１５７）。この判別結果がＹＥＳのときには、Ｆ／Ｂ補正係数ＫＥＧＲＦＢをこの下限値ＫＳＴＥＰＥＩＰＤＬＬに設定する（ステップ１５８）とともに、過小故障判定用のカウンタ値Ｃ＿ＳＴＥＰＥＶＯをインクリメントする（ステップ１５９）。
【０１４２】
次に、このカウンタ値Ｃ＿ＳＴＥＰＥＶＯが所定値ＳＴＥＰＥＶＯＣＯＮＴ（例えば５）を超えたか否かを判別し（ステップ１６０）、その判別結果がＮＯのときには、そのまま本処理を終了する。一方、この判別結果がＹＥＳのとき、すなわち、Ｆ／Ｂ補正係数ＫＥＧＲＦＢが下限値ＫＳＴＥＰＥＩＰＤＬＬ以下になった回数が、所定回数を超えたときには、ＥＧＲ量が過小な状態で張り付いた過小故障が生じていると判定し、次いで、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮが０．５よりも大きいか否かを判別する（ステップ１６１）。
【０１４３】
この判別結果がＹＥＳで、内部ＥＧＲ量が外部ＥＧＲ量よりも大きいときには、内部ＥＧＲ側の故障であると判定して、内部ＥＧＲ過小故障フラグＦＳ＿ＩＮＥＧＲＤＮを「１」にセットする（ステップ１６２）。一方、ステップ１６１の判別結果がＮＯで、外部ＥＧＲ量が内部ＥＧＲ量以上であるときには、外部ＥＧＲ側の故障であると判定して、外部ＥＧＲ過小故障フラグＦＳ＿ＥＸＥＧＲＤＮを「１」にセットし（ステップ１６３）、本処理を終了する。
【０１４４】
また、前記ステップ１５７の判別結果がＮＯのとき、すなわちＦ／Ｂ補正係数ＫＥＧＲＦＢが上・下限値ＫＳＴＥＰＥＩＰＤＬＨ／Ｌの間にあるときには、過大・過小故障判定用のカウンタ値Ｃ＿ＳＴＥＰＥＰＣ，Ｃ＿ＳＴＥＰＥＶＯを、それぞれ０にリセットし（ステップ１６４）、本処理を終了する。
【０１４５】
次に、図３１を参照しながら、本実施形態の６つの可変機構、すなわちスロットル弁機構１３、排気還流機構１６、吸気リフト切換機構４１、吸気カム位相可変機構５０、排気リフト可変機構７０および排気カム位相可変機構９０を制御する処理について説明する。この処理は、以下に述べるように、６つの可変機構をそれぞれ制御するための６つの制御入力Ｕ＿ＶＴＥＣ，Ｕ＿ＳＡＡＥＸ，Ｕ＿ＣＡＥＸ，Ｕ＿ＣＡＩＮ，Ｕ＿ＬＩＦＴ，Ｕ＿ＴＨを算出するものであり、タイマ設定により所定周期（例えば１０ｍｓｅｃ）で実行される。
【０１４６】
まず、ステップ１８０において、可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。この可変機構故障フラグＦ＿ＶＤＮＧは、前述した各種の故障フラグの値などに基づき、上記の可変機構１３，１６，４１，５０，７０，９０の少なくとも１つが故障していると判定されたときに、「１」にセットされるものである。
【０１４７】
このステップ１８０の判別結果がＮＯで、これらの可変機構がいずれも正常なときには、吸気リフトフラグＦ＿ＶＴＥＣが「１」であるか否かを判別する（ステップ１８１）。この判別結果がＮＯで、吸気リフト切換機構４１が低リフトモードに設定されているときには、吸気リフト制御入力Ｕ＿ＶＴＥＣを０に設定する（ステップ１８２）。また、ステップ１８１の判別結果がＹＥＳで、吸気リフト切換機構４１が高リフトモードに設定されているときには、吸気リフト制御入力Ｕ＿ＶＴＥＣを高リフトモード用の所定値Ｕ＿ＨＩＶＴに設定する（ステップ１８３）。
【０１４８】
前記ステップ１８２または１８３に続くステップ１８４では、前述した図２２のステップ８５または８８で算出された目標回動角ＳＡＡＥＸＣＭＤをサンプリングする。次いで、この目標回動角ＳＡＡＥＸＣＭＤと回動角ＳＡＡＥＸに基づいて、排気リフト可変機構７０を制御するための排気リフト制御入力Ｕ＿ＳＡＡＥＸを算出する（ステップ１８５）。具体的には、排気リフト制御入力Ｕ＿ＳＡＡＥＸは、回動角ＳＡＡＥＸが目標回動角ＳＡＡＥＸＣＭＤに収束するように、所定のフィードバック制御アルゴリズム（例えばＰＩＤ制御アルゴリズムや応答指定型制御アルゴリズム）によって算出される。
【０１４９】
次に、図２２のステップ８６または８９で算出した目標排気カム位相ＣＡＥＸＣＭＤをサンプリングする（ステップ１８６）。その後、上記ステップ１８５と同様の手法により、排気カム位相可変機構９０を制御するための排気位相制御入力Ｕ＿ＣＡＥＸを算出する（ステップ１８７）。すなわち、排気位相制御入力Ｕ＿ＣＡＥＸは、排気カム位相ＣＡＥＸが目標排気カム位相ＣＡＥＸＣＭＤに収束するように、所定のフィードバック制御アルゴリズムによって算出される。
【０１５０】
次に、図２２のステップ８７または９０で算出した目標吸気カム位相ＣＡＩＮＣＭＤをサンプリングする（ステップ１８８）。その後、上記ステップ１８５，１８７と同様の手法により、吸気カム位相可変機構５０を制御するための吸気位相制御入力Ｕ＿ＣＡＩＮを算出する（ステップ１８９）。すなわち、吸気位相制御入力Ｕ＿ＣＡＩＮは、吸気カム位相ＣＡＩＮが目標吸気カム位相ＣＡＩＮＣＭＤに収束するように、所定のフィードバック制御アルゴリズムによって算出される。
【０１５１】
次いで、図２２のステップ９４で算出した目標ＥＧＲリフトＬＣＭＤをサンプリングする（ステップ１９０）。その後、前述したステップ１８５，１８７，１８９と同様の手法により、ＥＧＲ制御弁１６ｂを制御するためのＥＧＲリフト制御入力Ｕ＿ＬＩＦＴを算出する（ステップ１９１）。すなわち、ＥＧＲリフト制御入力Ｕ＿ＬＩＦＴは、ＥＧＲリフトＬＡＣＴが目標ＥＧＲリフトＬＣＭＤに収束するように、所定のフィードバック制御アルゴリズムによって算出される。
【０１５２】
次に、スロットル弁機構１３を制御するためのＴＨ制御入力Ｕ＿ＴＨを、前述したステップ１８５，１８７，１８９，１９１と同様の手法により算出する（ステップ１９２）。すなわち、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じ、マップ（図示せず）の検索によって、目標スロットル弁開度ＴＨＣＭＤを算出し、スロットル弁開度ＴＨが目標スロットル弁開度ＴＨＣＭＤに収束するように、所定のフィードバック制御アルゴリズムによって、ＴＨ制御入力Ｕ＿ＴＨを算出する。このステップ１９２の実行の後、本処理を終了する。
【０１５３】
一方、前述したステップ１８０の判別結果がＹＥＳで、前述した６つの可変機構の少なくとも１つが故障しているときには、ステップ１９３に進み、６つの制御入力Ｕ＿ＶＴＥＣ，Ｕ＿ＳＡＡＥＸ，Ｕ＿ＣＡＥＸ，Ｕ＿ＣＡＩＮ，Ｕ＿ＬＩＦＴおよびＵ＿ＴＨを、いずれも０に設定した後、本処理を終了する。このように６つの制御入力がいずれも０に設定された場合、所定の吸入空気量および排気状態が確保され、それにより、停車中は、エンジン始動やアイドル運転が可能になるとともに、走行中は低速走行を継続することが可能となる。
【０１５４】
以上のように、本実施形態によれば、エアフローセンサ２２で検出された新気流量ＧＩＮに基づき、気筒３ａに実際に吸入される新気量に対応する第１基本燃料噴射量ＴＩＭＡＦＭＸを算出する（ステップ３１）とともに、エンジン回転数ＮＥおよび吸気管内圧ＰＢＡに基づき、内部ＥＧＲ量および外部ＥＧＲ量がともに値０に制御される基準状態にあるときに気筒３ａ内に吸入されると推定される新気量に対応する第２基本燃料噴射量ＴＩＭＢＳＸを算出する（ステップ３７）。そして、第１基本燃料噴射量ＴＩＭＡＦＭＸと第２基本燃料噴射量ＴＩＭＢＳＸの比を、実新気率ＫＥＧＲの今回算出値ＫＥＧＲＯＲＧとして求め（ステップ５０、式（１））、この今回算出値ＫＥＧＲＯＲＧに基づいて、ＥＧＲ率を表すパラメータである実新気率ＫＥＧＲ（実ＥＧＲ率＝１．０−ＫＥＧＲ）を最終的に算出する。したがって、吸気管に酸素濃度センサを設けた従来と異なり、ＥＧＲ率を算出するための専用のデバイスを付加することなく、ＥＧＲ率が低い場合でも、実際のＥＧＲ率を精度良く算出することができる。
【０１５５】
また、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに基づいて、実新気率ＫＥＧＲの目標値ＫＥＧＲＣＭＤを設定し（ステップ６０）、実新気率ＫＥＧＲが目標値ＫＥＧＲＣＭＤになるようにフィードバック補正係数ＫＥＧＲＦＢを算出する（ステップ８０）。さらに、要求トルクＰＭＣＭＤおよびエンジン回転数ＮＥに応じて、内部ＥＧＲ割合ＥＧＲＤＩＶＩＮおよび外部ＥＧＲ割合ＥＧＲＤＩＶＥＸを決定する（ステップ６１，６２）とともに、これらと目標値ＫＥＧＲＣＭＤに基づいて、内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮおよび外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸを設定する（ステップ６３，６４）。
【０１５６】
そして、フィードバック補正係数ＫＥＧＲＦＢと内部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮおよび外部ＥＧＲ目標値ＫＥＧＲＣＭＤＥＸに基づいて、排気リフト可変機構７０の目標回動角ＳＡＡＥＸＣＭＤ、排気カム位相可変機構９０の目標排気カム位相ＣＡＥＸＣＭＤ、吸気カム位相可変機構５０の目標吸気カム位相ＣＡＩＮＣＭＤおよび排気還流機構１６の目標ＥＧＲリフトＬＣＭＤを設定する（図２２）。したがって、精度良く算出された実新気率ＫＥＧＲを用い、実際のＥＧＲ率がその目標値になるように内部ＥＧＲおよび外部ＥＧＲをそれぞれ精度良く制御でき、内部ＥＧＲおよび外部ＥＧＲによるＥＧＲ制御を適切に行うことができる。
【０１５７】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態は、排気リフト可変機構７０や排気カム位相可変機構９０などによる内部ＥＧＲに加えて、排気還流機構１６による外部ＥＧＲを併用した例であるが、本発明は、外部ＥＧＲを省略した場合においても、さらには排気カム位相可変機構９０を省略した場合においても、適用することが可能である。また、排気リフト可変機構７０は、実施形態で例示したタイプに限らず、排気弁のリフトを変更できるものであれば、任意のタイプのものを採用できる。
【０１５８】
また、実施形態では、ＥＧＲ率パラメータとして、実新気率ＫＥＧＲを算出しているが、実ＥＧＲ率を算出してもよいことはもちろんである。さらに、実施形態では、第１および第２吸入新気量に対応するものとして、第１基本燃料噴射量ＴＩＭＡＦＭＸおよび第２基本燃料噴射量ＴＩＭＢＳＸを算出しているが、第１吸入新気量として吸入新気量ＧＡＩＲＣＹＬを用いるとともに、これに対応する新気量を第２吸入新気量として求め、これらに基づいて、実新気率ＫＥＧＲまたは実ＥＧＲ率を算出してもよい。
【０１５９】
さらに、実施形態では、フィードバック補正係数ＫＥＧＲＦＢの算出を、Ｉ−ＰＤ制御アルゴリズムによって行っているが、他の適当なフィードバック制御アルゴリズムを用いてもよいことはもちろんである。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【図面の簡単な説明】
【０１６０】
【図１】本発明の一実施形態に係るＥＧＲ制御装置を内燃機関とともに概略的に示す図である。
【図２】ＥＧＲ制御装置の概略構成を示すブロック図である。
【図３】内燃機関の吸気側動弁機構および排気側動弁機構の概略構成を示す断面図である。
【図４】吸気側動弁機構の概略構成を示す模式図である。
【図５】吸気カム位相可変機構の概略構成を示す模式図である。
【図６】吸気カム位相可変機構によって得られる吸気弁のバルブリフト曲線、および排気カム位相可変機構によって得られる排気弁のバルブリフト曲線を示す図である。
【図７】排気側動弁機構の概略構成を示す模式図である。
【図８】排気リフト可変機構の概略構成を示す斜視図である。
【図９】排気リフト可変機構のリンク機構の概略構成を示す斜視図である。
【図１０】排気リフト可変機構による排気リフトの変更状態を示す図である。
【図１１】ＥＣＵで実行される制御処理のメインフローを示すフローチャートである。
【図１２】燃料噴射制御処理を示すフローチャートである。
【図１３】要求トルクＰＭＣＭＤの算出に用いるマップの一例である。
【図１４】基本燃料噴射量ＴＩＭの算出処理を示すフローチャートである。
【図１５】第１基本燃料噴射量ＴＩＭＡＦＭＸの算出に用いるマップの一例である。
【図１６】実新気率ＫＥＧＲの算出処理を示すフローチャートである。
【図１７】内部および外部ＥＧＲ目標値ＫＥＧＲＣＭＤＩＮ，ＫＥＧＲＣＭＤＥＸの算出処理を示すフローチャートである。
【図１８】目標値ＫＥＧＲＣＭＤの算出に用いるマップの一例である。
【図１９】内部ＥＧＲ割合ＥＧＲＤＩＶＩＮの算出に用いるマップの一例である。
【図２０】目標空燃比ＫＣＭＤの算出処理を示すフローチャートである。
【図２１】目標空燃比のマップ値ＫＣＭＤＭＡＰの算出に用いるマップの一例である。
【図２２】ＥＧＲ制御処理を示すフローチャートである。
【図２３】低リフトモード用の目標回動角ＳＡＡＥＸＣＭＤの算出に用いるマップの一例である。
【図２４】低リフトモード用の目標排気カム位相ＣＡＥＸＣＭＤの算出に用いるマップの一例である。
【図２５】低リフトモード用の目標吸気カム位相ＣＡＩＮＣＭＤの算出に用いるマップの一例である。
【図２６】目標ＥＧＲリフトＬＣＭＤの算出に用いるマップの一例である。
【図２７】フィードバック補正係数ＫＥＲＧＦＢの算出処理を示すフローチャートである。
【図２８】図２７の続きを示すフローチャートである。
【図２９】内部および外部ＥＧＲ用学習値ＫＥＧＲＲＥＦＩＮ，ＫＥＧＲＲＥＦＥＸの算出処理を示すフローチャートである。
【図３０】フィードバック補正係数ＫＥＲＧＦＢのリミットチェック処理を示すフローチャートである。
【図３１】可変機構制御処理を示すフローチャートである。
【符号の説明】
【０１６１】
１  ＥＧＲ制御装置
２  ＥＣＵ（第１吸入新気量算出手段、回転数検出手段、第２吸入新気量算出手段、
ＥＧＲ率パラメータ算出手段、要求トルク決定手段、目標値設定手段、
補正係数算出手段、ＥＧＲ制御手段）
３  内燃機関
３ａ  気筒
７  排気弁
１２  吸気管
１６  排気還流機構
２０  クランク角センサ（回転数検出手段、要求トルク決定手段）
２２  エアフローセンサ（新気流量センサ）
２４  吸気管内圧センサ（吸気管内圧力検出手段）
３１  アクセル開度センサ（要求トルク決定手段）
７０  排気リフト可変機構
ＧＩＮ  新気流量
ＧＡＩＲＣＹＬ  吸入新気量（第１吸入新気量）
ＴＩＭＡＦＭＸ  第１基本燃料噴射量（第１吸入新気量）
ＮＥ  エンジン回転数（内燃機関の回転数）
ＰＢＡ  吸気管内圧（吸気管内の圧力）
ＬＥＸＭＡＸ  排気リフトの最大値（基準リフト）
ＴＩＭＢＳＸ  第２基本燃料噴射量（第２吸入新気量）
ＫＥＧＲ  実新気率（ＥＧＲ率パラメータ）
ＰＭＣＭＤ  要求トルク
ＫＥＧＲＣＭＤ  実新気率の目標値
ＫＥＧＲＦＢ  フィードバック補正係数（補正係数）
【図１】
2007100527.tif 000014
【図２】
2007100527.tif 000015
【図３】
2007100527.tif 000016
【図４】
2007100527.tif 000017
【図５】
2007100527.tif 000018
【図６】
2007100527.tif 000019
【図７】
2007100527.tif 000020
【図８】
2007100527.tif 000021
【図９】
2007100527.tif 000022
【図１０】
2007100527.tif 000023
【図１１】
2007100527.tif 000024
【図１２】
2007100527.tif 000025
【図１３】
2007100527.tif 000026
【図１４】
2007100527.tif 000027
【図１５】
2007100527.tif 000028
【図１６】
2007100527.tif 000029
【図１７】
2007100527.tif 000030
【図１８】
2007100527.tif 000031
【図１９】
2007100527.tif 000032
【図２０】
2007100527.tif 000033
【図２１】
2007100527.tif 000034
【図２２】
2007100527.tif 000035
【図２３】
2007100527.tif 000036
【図２４】
2007100527.tif 000037
【図２５】
2007100527.tif 000038
【図２６】
2007100527.tif 000039
【図２７】
2007100527.tif 000040
【図２８】
2007100527.tif 000041
【図２９】
2007100527.tif 000042
【図３０】
2007100527.tif 000043
【図３１】
2007100527.tif 000044