(57)【特許請求の範囲】
【請求項１】
所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、
着火時期を検出する着火時期検出手段と、
エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、
上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、
上記吸気加熱手段は、エンジンの排気ガスを吸気系に還流する排気ガス還流通路と、該排気ガス還流通路に介装され排気ガス還流率を調整する排気ガス還流量調整弁とからなり、
上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記排気ガス還流量調整弁による排気ガス還流率を減少し、着火時期が目標着火時期よりも遅角側のとき、排気ガス還流量調整弁による排気ガス還流率を増加することを特徴とする圧縮着火エンジンの制御装置。
【請求項２】
上記着火時期検出手段は、燃焼室内の混合気が自己着火し燃焼ガスのイオンの存在により該イオンを介して流れるイオン電流に基づいて上記着火時期を検出することを特徴とする求項１記載の圧縮着火エンジンの制御装置。
【請求項３】
上記吸気加熱制御手段は、還流排気ガス或いは排気ガスの温度が所定温度に達したとき、上記排気ガス還流量調整弁による排気ガス還流率を所定量増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする請求項１或いは請求項２記載の圧縮着火エンジンの制御装置。
【請求項４】
上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つ排気ガス還流量調整弁の弁開度が限界値に達したとき、該排気ガス還流量調整弁による排気ガス還流率を所定量減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする請求項１〜３の何れか１項に記載の圧縮着火エンジンの制御装置。
【請求項５】
所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、
着火時期を検出する着火時期検出手段と、
エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、
上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、
上記吸気加熱手段は、排気ガス或いはエンジン発生熱と熱交換を行う熱交換器と、吸気系を流れる吸気の一部を上記熱交換器に導入すると共に該熱交換器による熱交換後の加熱吸気を上記吸気系に戻す加熱吸気用通路と、該加熱空気用通路に介装され加熱吸気用通路を流れる加熱吸気の流量を調整する加熱吸気量調整弁とからなり、
上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記加熱吸気量調整弁による加熱吸気流量を減少し、着火時期が目標着火時期よりも遅角側のとき、加熱吸気量調整弁による加熱吸気流量を増加することを特徴とする圧縮着火エンジンの制御装置。
【請求項６】
上記吸気加熱制御手段は、エンジン温度が所定温度に達したとき、上記加熱吸気量調整弁による加熱吸気流量を増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする請求項５記載の圧縮着火エンジンの制御装置。
【請求項７】
上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つ加熱吸気量調整弁の弁開度が限界値に達したとき、該加熱吸気量調整弁による加熱吸気流量を減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする請求項５或いは請求項６記載の圧縮着火エンジンの制御装置。
【請求項８】
所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、
着火時期を検出する着火時期検出手段と、
エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、
上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、
上記吸気加熱手段は、吸気系に介装されたヒータであり、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記ヒータの発熱量を減少し、着火時期が目標着火時期よりも遅角側のとき、ヒータの発熱量を増加すると共に、エンジン温度が所定温度に達したとき、上記ヒータ発熱量を増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする圧縮着火エンジンの制御装置。
【請求項９】
上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つヒータ発熱量が限界値に達したとき、ヒータ発熱量を減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする請求項８記載の圧縮着火エンジンの制御装置。
【請求項１０】
上記限界値は、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定されることを特徴とする請求項４、請求項７、請求項９の何れか１項に記載の圧縮着火エンジンの制御装置。
【請求項１１】
上記目標着火時期は、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定されることを特徴とする請求項１ないし請求項１０の何れか１項に記載の圧縮着火エンジンの制御装置。
【請求項１２】
上記目標着火時期は、エンジン温度に応じて補正されることを特徴とする請求項１ないし請求項１１記載の圧縮着火エンジンの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の運転領域において点火プラグの放電による火花点火によらず自己着火を行う圧縮着火エンジンの制御装置に関し、詳しくは、自己着火による着火時期を適切に制御することが可能な圧縮着火エンジンの制御装置に関する。
【０００２】
【従来の技術】
従来から、リーン空燃比での運転を実施し、ポンピングロスの低減や理論熱効率の向上により燃費を向上するリーンバーンエンジンが採用されている。しかし、大幅な燃費向上を目的として空燃比を更にリーン化して極希薄燃焼による運転を行うと、着火ミス（失火）や燃焼の遅延によって熱効率の悪化が生じる。
【０００３】
これに対処するに、エンジンの高圧縮比化または吸気加熱等により燃焼室内での混合気の温度を上昇させ、所定の運転領域において、点火プラグの放電による火花点火すなわち強制点火によらず、圧縮行程終期ないし上死点付近で自己点火いわゆる自己着火を行わせる圧縮着火エンジンが提案されている（社団法人  自動車技術会／学術講演会前刷集９５１／第３０９〜３１２頁  「８０  ガソリン予混合圧縮点火エンジンの研究」（9534702）／１９９５年５月発行、或いは、特開昭６２−１５７２２０号公報等）。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記圧縮着火エンジンにおいては、自己着火時において着火時期を決定するエンジン燃焼室内の混合気温度は、エンジン運転条件や大気条件等によって大きく左右される。
【０００５】
従って、自己着火時において常に最適な着火時期が得られるとは限らず、熱効率の低下を来すばかりか、極端な場合はノッキングの発生によりエンジンに悪影響を及ぼす。
【０００６】
本発明は、上記事情に鑑み、自己着火による着火時期を適切に制御することが可能な圧縮着火エンジンの制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、着火時期を検出する着火時期検出手段と、エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、上記吸気加熱手段は、エンジンの排気ガスを吸気系に還流する排気ガス還流通路と、該排気ガス還流通路に介装され排気ガス還流率を調整する排気ガス還流量調整弁とからなり、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記排気ガス還流量調整弁による排気ガス還流率を減少し、着火時期が目標着火時期よりも遅角側のとき、排気ガス還流量調整弁による排気ガス還流率を増加することを特徴とする。
請求項２記載の発明は、請求項１記載の発明において、上記着火時期検出手段は、燃焼室内の混合気が自己着火し燃焼ガスのイオンの存在により該イオンを介して流れるイオン電流に基づいて上記着火時期を検出することを特徴とする。
【０００９】
請求項３記載の発明は、請求項１或いは請求項２記載の発明において、上記吸気加熱制御手段は、還流排気ガス或いは排気ガスの温度が所定温度に達したとき、上記排気ガス還流量調整弁による排気ガス還流率を所定量増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする。
【００１０】
請求項４記載の発明は、請求項１〜３の何れか１項に記載の発明において、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つ排気ガス還流調整弁の弁開度が限界値に達したとき、該排気ガス還流量調整弁による排気ガス還流率を所定量減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする。
【００１１】
請求項５記載の発明は、所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、着火時期を検出する着火時期検出手段と、エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、上記吸気加熱手段は、排気ガス或いはエンジン発生熱と熱交換を行う熱交換器と、吸気系を流れる吸気の一部を上記熱交換器に導入すると共に該熱交換器による熱交換後の加熱吸気を上記吸気系に戻す加熱吸気用通路と、該加熱空気用通路に介装され加熱吸気用通路を流れる加熱吸気の流量を調整する加熱吸気量調整弁とからなり、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記加熱吸気量調整弁による加熱吸気流量を減少し、着火時期が目標着火時期よりも遅角側のとき、加熱吸気量調整弁による加熱吸気流量を増加することを特徴とする。
【００１２】
請求項６記載の発明は、請求項５記載の発明において、上記吸気加熱制御手段は、エンジン温度が所定温度に達したとき、上記加熱吸気量調整弁による加熱吸気流量を増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする。
【００１３】
請求項７記載の発明は、請求項５或いは請求項６記載の発明において、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つ加熱吸気量調整弁の弁開度が限界値に達したとき、該加熱吸気量調整弁による加熱吸気流量を減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする。
【００１５】
請求項８記載の発明は、所定運転領域の下で、点火プラグの放電による火花点火によらず圧縮行程終期ないし上死点付近で自己着火を行う圧縮着火エンジンの制御装置において、
着火時期を検出する着火時期検出手段と、エンジン運転状態に基づき目標着火時期を設定する目標着火時期設定手段と、上記着火時期と目標着火時期との比較結果に応じ、吸気を加熱するための吸気加熱手段を制御する吸気加熱制御手段とを備え、上記吸気加熱手段は、吸気系に介装されたヒータであり、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも進角側のとき、上記ヒータの発熱量を減少し、着火時期が目標着火時期よりも遅角側のとき、ヒータの発熱量を増加すると共に、エンジン温度が所定温度に達したとき、上記ヒータ発熱量を増加して、点火プラグの放電による火花点火から自己着火に移行させることを特徴とする。
【００１６】
請求項９記載の発明は、請求項８記載の発明において、上記吸気加熱制御手段は、上記着火時期が目標着火時期よりも遅角側で且つヒータ発熱量が限界値に達したとき、ヒータ発熱量を減少して、自己着火から点火プラグの放電による火花点火に移行させることを特徴とする。
【００１７】
請求項１０記載の発明は、請求項４、請求項７、請求項９記載の発明において、上記限界値は、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定されることを特徴とする。
【００１８】
請求項１１記載の発明は、請求項１ないし請求項１０記載の発明において、上記目標着火時期は、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定されることを特徴とする。
【００１９】
請求項１２記載の発明は、請求項１ないし請求項１１記載の発明において、上記目標着火時期は、エンジン温度に応じて補正されることを特徴とする。
【００２０】
すなわち、請求項１記載の発明では、着火時期を検出すると共に、エンジン運転状態に基づいて目標着火時期を設定する。そして、上記着火時期と目標着火時期との比較結果に応じて、吸気を加熱するための吸気加熱手段を制御し、吸気温度を制御する。従って、この吸気温度の制御によって、エンジン運転状態に対応する目標着火時期を得るに適切なエンジン燃焼室内の混合気温度を得ることができ、その結果、エンジン運転条件や大気条件等が変化しても、自己着火による着火時期を、エンジン運転状態に適合する目標着火時期すなわち最適時期に制御することが可能となる。
【００２１】
その際、上記吸気加熱手段として、エンジンの排気ガスを吸気系に還流する排気ガス還流通路と、該排気ガス還流通路に介装され排気ガス還流率を調整する排気ガス還流量調整弁とからなる排気ガス還流装置を採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、排気ガス還流量調整弁による排気ガス還流率を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、排気ガス還流量調整弁による排気ガス還流率を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化する。
請求項２記載の発明では、燃焼室内の混合気が自己着火し燃焼ガスのイオンの存在により該イオンを介して流れるイオン電流に基づいて着火時期を検出する。
【００２２】
また、請求項３記載の発明では、還流排気ガス或いは排気ガスの温度が所定温度に達したとき、排気ガス還流量調整弁による排気ガス還流率を所定量増加して、点火プラグの放電による火花点火から自己着火に移行させる。
【００２３】
更に、請求項４記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つ排気ガス還流量調整弁の弁開度が限界値に達したとき、該排気ガス還流量調整弁による排気ガス還流率を所定量減少して、自己着火から点火プラグの放電による火花点火に移行させる。
【００２４】
請求項５記載の発明では、着火時期を検出すると共に、エンジン運転状態に基づいて目標着火時期を設定する。そして、上記着火時期と目標着火時期との比較結果に応じて、吸気を加熱するための吸気加熱手段を制御し、吸気温度を制御する。その際、吸気加熱手段として、排気ガス或いはエンジン発生熱と熱交換を行う熱交換器と、吸気系を流れる吸気の一部を上記熱交換器に導入すると共に該熱交換器による熱交換後の加熱吸気を上記吸気系に戻す加熱吸気用通路と、該加熱空気用通路に介装され加熱吸気用通路を流れる加熱吸気の流量を調整する加熱吸気量調整弁とからなる吸気加熱装置を採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、加熱吸気量調整弁による加熱吸気量を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、加熱吸気量調整弁による加熱吸気流量を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化する。
【００２５】
また、請求項６記載の発明では、エンジン温度が所定温度に達したとき、加熱吸気量調整弁による加熱吸気流量を増加して、点火プラグの放電による火花点火から自己着火に移行させる。
【００２６】
更に、請求項７記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つ加熱吸気量調整弁の弁開度が限界値に達したとき、該加熱吸気量調整弁による加熱吸気流量を減少して、自己着火から点火プラグの放電による火花点火に移行させる。
【００２８】
また、請求項８記載の発明では、着火時期を検出すると共に、エンジン運転状態に基づいて目標着火時期を設定する。そして、上記着火時期と目標着火時期との比較結果に応じて、吸気を加熱するための吸気加熱手段を制御し、吸気温度を制御する。その際、吸気加熱手段として、吸気系に介装されたヒータを採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、ヒータの発熱量を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、ヒータの発熱量を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化させる。また、エンジン温度が所定温度に達したとき、ヒータの発熱量を増加して、点火プラグの放電による火花点火から自己着火に移行させる。
【００２９】
更に、請求項９記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つヒータの発熱量が限界値に達したとき、ヒータ発熱量を減少して、自己着火から点火プラグの放電による火花点火に移行させる。
【００３０】
請求項１０記載の発明では、上記限界値を、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定する。
【００３１】
請求項１１記載の発明では、上記目標着火時期をエンジン負荷及びエンジン回転数の少なくとも一方に応じて設定する。また、請求項１２記載の発明では、上記目標着火時期をエンジン温度に応じて補正する。
【００３２】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図２〜図１８は本発明の実施の第１形態を示す。
【００３３】
先ず、図１４に基づいて圧縮着火エンジンの概略構成について説明する。符号１は圧縮着火エンジンの一例としての自動車等の車輌用の圧縮着火エンジンであり、図においては水平対向型４サイクル４気筒ガソリンエンジンを示す。
【００３４】
本実施の形態においては、この圧縮着火エンジン（以下、単に「エンジン」と略記する）１は、吸気加熱手段の一例として後述する排気ガス還流装置２５を採用し、排気ガス還流による吸気加熱と高圧縮比（例えば、本実施の形態においては、圧縮比＝１１〜１２）とにより燃焼室内での混合気の温度を上昇させ、所定の運転領域において、点火プラグの放電による火花点火すなわち強制点火によらず、圧縮行程終期ないし上死点付近で自己点火いわゆる自己着火を行う。
【００３５】
このエンジン１のシリンダブロック１ａの左右両バンクには、シリンダヘッド２がそれぞれ設けられ、各シリンダヘッド２に吸気ポート２ａと排気ポート２ｂが形成されている。
【００３６】
このエンジン１の吸気系は、各吸気ポート２ａにインテークマニホルド３が連通され、このインテークマニホルド３に各気筒の吸気通路が集合するエアチャンバ４を介してスロットルチャンバ５が連通され、更に、このスロットルチャンバ５の上流側に吸気管６を介してエアクリーナ７が取り付けられ、このエアクリーナ７がエアインテークチャンバ８に連通されている。
【００３７】
また、上記スロットルチャンバ５には、アクセルペダルに連動するスロットル弁５ａが設けられている。上記吸気管６には、スロットル弁５ａをバイパスするバイパス通路９が接続され、このバイパス通路９に、アイドル時にその弁開度によって該バイパス通路９を流れるバイパス空気量を調整することでアイドル回転数を制御するアイドル回転数制御弁（ＩＳＣ弁）１０が介装されている。
【００３８】
さらに、上記インテークマニホルド３の各気筒の吸気ポート２ａの直上流にインジェクタ１１が配設されている。上記インジェクタ１１は燃料供給路１２を介して燃料タンク１３に連通されており、この燃料タンク１３にはインタンク式の燃料ポンプ１４が設けられている。この燃料ポンプ１４からの燃料は、上記燃料供給路１２に介装された燃料フィルタ１５を経て上記インジェクタ１１及びプレッシャレギュレータ１６に圧送され、このプレッシャレギュレータ１６から上記燃料タンク１３にリターンされて上記インジェクタ１１への燃料圧力が所定の圧力に調圧される。
【００３９】
一方、上記シリンダヘッド２の各気筒毎に、先端の放電電極１８ａを燃焼室１７に露呈する点火プラグ１８が取り付けられ、この点火プラグ１８に、各気筒毎に配設された点火コイル１９を介してイグナイタ２０が接続されている。
【００４０】
また、エンジン１の排気系としては、上記シリンダヘッド２の各排気ポート２ｂに連通するエキゾーストマニホルド２１の集合部に排気管２２が連通され、この排気管２２に触媒コンバータ２３が介装されてマフラ２４に連通されている。
【００４１】
一方、エンジン１には、排気ガス還流（以下、「ＥＧＲ」と略称する）を行うためのＥＧＲ装置２５が設けられている。このＥＧＲ装置２５は、シリンダヘッド２の少なくとも１つの上記排気ポート２ｂからスロットル弁５ａ下流のエアチャンバ４に排気ガスを還流させるＥＧＲ通路２６が接続され、このＥＧＲ通路２６に、排気ガス還流量調整弁の一例として、内蔵したステッピングモータによって駆動されるステッピングモータ駆動式のＥＧＲ弁２７が介装されている。このＥＧＲ弁２７の制御量は、後述する電子制御装置５０（図１８参照）によって演算される。そして、この制御量に対応して該電子制御装置５０から出力される駆動信号に応じてステッピングモータが作動し、ステッピングモータの作動によってＥＧＲ弁２７の弁開度が調整される。
【００４２】
尚、本実施の形態においては、上記制御量が００Ｈのとき、ＥＧＲ弁２７が全閉となり排気ガスの還流、すなわちＥＧＲが停止され、制御量がＦＦＨのとき、ＥＧＲ弁２７は全開となる。そして、制御量が００Ｈ〜ＦＦＨの間で設定され、この制御量に対応した駆動信号に応じてＥＧＲ弁２７の弁開度が調整されて、ＥＧＲ量すなわちＥＧＲ率が制御される。
【００４３】
次に、エンジン運転状態を検出するためのセンサ類について説明する。
【００４４】
符号３０は、絶対圧センサであり、吸気管圧力／大気圧切換ソレノイド弁３１の切換えに応じて上記エアチャンバ４と大気とに選択的に連通し、スロットル弁５ａ下流の実吸気管圧力としてエアチャンバ４内の吸気圧と、大気圧とを絶対圧で検出する。また、上記吸気管６の上記エアクリーナ７の直下流に、ホットワイヤ或いはホットフィルム等を用いた熱式の吸入空気量センサ３２が介装され、更に、上記スロットルチャンバ５に設けられたスロットル弁５ａに、スロットル開度センサ３３ａとスロットル弁５ａの全閉でＯＮするアイドルスイッチ３３ｂとを内蔵したスロットルセンサ３３が連設されている。
【００４５】
また、エンジン１のシリンダブロック１ａにノックセンサ３４が取り付けられていると共に、シリンダブロック１ａの左右バンクを連通する冷却水通路３５に冷却水温センサ３６が臨まされ、上記触媒コンバータ２３の上流に空燃比センサの一例としてＯ2 センサ３７が配設されている。
【００４６】
更に、上記ＥＧＲ通路２６に該ＥＧＲ通路２６を流れる還流排気ガス（以下、「ＥＧＲガス」と称する）の温度を検出するＥＧＲガス温度センサ３８が介装されている。
【００４７】
また、エンジン１のクランクシャフト３９に軸着するクランクロータ４０の外周に、クランク角センサ４１が対設され、更に、クランクシャフト３９に対して１／２回転するカムシャフト４２に連設するカムロータ４３に、気筒判別用のカム角センサ４４が対設されている。
【００４８】
上記クランクロータ４０は、図１５に示すように、その外周に突起４０ａ，４０ｂ，４０ｃが形成され、これらの各突起４０ａ，４０ｂ，４０ｃが、各気筒（＃１，＃２気筒と＃３，＃４気筒）の圧縮上死点前（ＢＴＤＣ）θ1，θ2，θ3の位置に形成されている。本実施の形態においては、θ1＝９７°ＣＡ，θ2＝６５°ＣＡ，θ3＝１０°ＣＡである。
【００４９】
また、図１６に示すように、上記カムロータ４３の外周には、気筒判別用の突起４３ａ，４３ｂ，４３ｃが形成され、突起４３ａが＃３，＃４気筒の圧縮上死点後（ＡＴＤＣ）θ4の位置に形成され、突起４３ｂが３個の突起で構成されて最初の突起が＃１気筒のＡＴＤＣθ5の位置に形成されている。更に、突起４３ｃが２個の突起で構成され、最初の突起が＃２気筒のＡＴＤＣθ6の位置に形成されている。本実施の形態においては、θ4＝２０°ＣＡ，θ5＝５°ＣＡ，θ6＝２０°ＣＡである。
【００５０】
そして、図１１のタイムチャートに示すように、エンジン運転に伴いクランクシャフト３９及びカムシャフト４２の回転により上記クランクロータ４０及びカムロータ４３が回転して、クランクロータ４０の各突起が上記クランク角センサ４１によって検出され、クランク角センサ４１からθ1，θ2，θ3（ＢＴＤＣ９７°，６５°，１０°）の各クランクパルスがエンジン１／２回転（１８０°ＣＡ）毎に出力される。一方、θ3クランクパルスとθ1クランクパルスとの間で上記カムロータ４３の各突起が上記カム角センサ４４によって検出され、カム角センサ４４から所定数のカムパルスが出力される。
【００５１】
そして、後述の電子制御装置５０（図１８参照）において、上記クランク角センサ４１から出力されるクランクパルスの入力間隔時間Ｔθに基づいてエンジン回転数ＮEを算出し、また、各気筒の燃焼行程順（例えば、＃１気筒→＃３気筒→＃２気筒→＃４気筒）と、上記カム角センサ４４からのカムパルスをカウンタによって計数した値とのパターンに基づいて、燃料噴射対象気筒や点火対象気筒等の気筒判別を行う。
【００５２】
また、図１４において符号４５は、燃焼室１７内の混合気に着火して、その火炎により点火プラグ１８の放電電極１８ａ間の放電間隙に燃焼ガスのイオンが存在するとき、このイオンを介して流れるイオン電流を検出するイオン電流検出回路である。本実施の形態においては、特定気筒（例えば、＃１気筒）にのみ対応してイオン電流検出回路４５が配設されるが、全気筒に対してそれぞれイオン電流検出回路を配設するようにしてもよい。
【００５３】
このイオン電流検出回路４５は、図１７に示すように、高圧電源４６により高電圧（例えば、５００Ｖ）のイオン電流電源が与えられ、この高圧電源４６と、点火コイル１９の２次側及び点火プラグ１８の放電電極１８ａの接続間との間に、イオン電流検出用抵抗Ｒ及び逆流防止用のダイオードＤを直列接続し、更に上記イオン電流検出用抵抗抵抗Ｒに電圧センサ４５ａを並列接続して構成される。尚、図１７において、符号６０は電源リレーであり、イグニッションスイッチ（同図においてはＩＧで示す）のＯＮによってＯＮし、電子制御装置５０及び点火コイル１９等に電源が与えられる。
【００５４】
ここで、高圧電源４６によりイオン電流検出回路４５を介して点火プラグ１８に直流電圧を印加すると、正常着火してその火炎により点火プラグ１８の放電電極１８ａ間に燃焼ガスのイオンが存在するとき、このイオンを介してイオン電流が流れる。従って、イオン電流が流れると、上記イオン電流検出回路４５のイオン電流検出用抵抗Ｒの両端子間に電位差が生じ、この電位差を電圧センサ４５ａで検出することで、イオン電流を検出することができる。
【００５５】
尚、このイオン電流検出回路については、特開平６−２４１１０８号公報等により周知である。
【００５６】
図１２に、上記イオン電流検出回路４５の電圧センサ４５ａの出力電圧、すなわちイオン電流検出回路４５により検出されるイオン電流のタイムチャートを示す。電子制御装置５０からイグナイタ２０を介してパルス波形の点火信号が出力されると（図１１参照）、点火コイル１９の一次側に一次電流が流れる。そして、点火信号の立下がりにより一次電流が遮断し（ドエルカット）、点火コイルの２次側に高圧の二次電圧が誘起され、点火プラグ１８の放電電極１８ａ間が絶縁破壊されて火花放電（スパーク）が行われる。そして、この点火火花によるイオン電流が流れる。
【００５７】
尚、点火プラグ１８の放電による火花点火すなわち強制点火によらず、圧縮行程終期ないし上死点付近で自己点火いわゆる自己着火を行う圧縮着火制御時には、点火信号が出力されず（図１１参照）、このときには、点火火花によるイオン電流は発生しない。
【００５８】
そして、火花点火或いは自己点火によって、燃焼室１７内の混合気に着火して、その火炎により点火プラグ１８の放電電極１８ａ間に燃焼ガスのイオンが存在するとき、このイオンを介してイオン電流が流れる。
【００５９】
従って、このイオン電流をイオン電流検出回路４５により検出し、イオン電流検出回路４５の電圧センサ４５ａの出力電圧を電子制御装置５０に入力し、この電圧値を電子制御装置５０においてモニタすることで、着火時期を判断することが可能である。
【００６０】
次に、電子制御系の回路構成について説明する。
【００６１】
上記ＥＧＲ弁２７、インジェクタ１１、点火プラグ１８、ＩＳＣ弁１０等のアクチュエータ類に対する制御量の演算、この制御量に対応する駆動信号の出力、すなわち吸気温度制御を含むＥＧＲ制御、燃料噴射制御、点火制御、アイドル回転数制御等のエンジン制御は、図１８に示す電子制御装置（ＥＣＵ）５０によって行われる。
【００６２】
上記ＥＣＵ５０は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、バックアップＲＡＭ５４、カウンタ・タイマ群５５、及びＩ／Ｏインターフェイス５６がバスラインを介して互いに接続されるマイクロコンピュータを中心として構成され、各部に安定化電源を供給する定電圧回路５７、上記Ｉ／Ｏインターフェイス５６に接続される駆動回路５８及びＡ／Ｄ変換器５９等の周辺回路が内蔵されている。
【００６３】
尚、上記カウンタ・タイマ群５５は、フリーランカウンタ、カム角センサ信号（カムパルス）の入力計数用カウンタ等の各種カウンタ、燃料噴射用タイマ、点火用タイマ、定期割り込みを発生させるための定期割り込み用タイマ、クランク角センサ信号（クランクパルス）の入力間隔計時用タイマ、エンジン始動後の経過時間を計時する始動後時間計時用タイマ、着火時期を計時するための着火時期計時用タイマ、及びシステム異常監視用のウオッチドッグタイマ等の各種タイマを便宜上総称するものであり、その他、各種のソフトウエアカウンタ・タイマが用いられる。
【００６４】
上記定電圧回路５７は、２回路のリレー接点を有する電源リレー６０の第１のリレー接点を介してバッテリ６１に接続され、バッテリ６１に、上記電源リレー６０のリレーコイルがイグニッションスイッチ６２を介して接続されている。また、上記定電圧回路５７は、直接、上記バッテリ６１に接続されており、イグニッションスイッチ６２がＯＮされて電源リレー６０の接点が閉となるとＥＣＵ５０内の各部へ電源を供給する一方、上記イグニッションスイッチ６２のＯＮ，ＯＦＦに拘らず、常時、上記バックアップＲＡＭ５４にバックアップ用の電源を供給する。更に、上記バッテリ６１には、燃料ポンプリレー６３のリレー接点を介して燃料ポンプ１４が接続されている。尚、上記電源リレー６０の第２のリレー接点には、上記バッテリ５１から上記点火コイル１９を含む各アクチュエータに電源を供給するための電源線が接続されている。
【００６５】
上記Ｉ／Ｏインターフェイス５６の入力ポートには、アイドルスイッチ３３ｂ、ノックセンサ３４、クランク角センサ４１、カム角センサ４４、車速を検出するための車速センサ４７、及び始動状態を検出するためにスタータスイッチ４８が接続されており、更に、上記Ａ／Ｄ変換器５９を介して、絶対圧センサ３０、吸入空気量センサ３２、スロットル開度センサ３３ａ、冷却水温センサ３６、Ｏ2センサ３７、ＥＧＲガス温度センサ３８、及び電圧センサ４５ａが接続されると共に、バッテリ電圧ＶBが入力されてモニタされる。
【００６６】
一方、上記Ｉ／Ｏインターフェイス５６の出力ポートには、上記燃料ポンプリレー６３のリレーコイル、ＩＳＣ弁１０、インジェクタ１１、ＥＧＲ弁２７、及び吸気管圧力／大気圧切換ソレノイド弁３１が上記駆動回路５８を介して接続されると共に、イグナイタ２０が接続されている。
【００６７】
上記ＣＰＵ５１では、ＲＯＭ５２に記憶されている制御プログラムに従って、Ｉ／Ｏインターフェイス５６を介して入力されるセンサ・スイッチ類からの検出信号、及びバッテリ電圧等を処理し、ＲＡＭ５３に格納される各種データ、及びバックアップＲＡＭ５４に格納されている各種学習値データ，ＲＯＭ５２に記憶されている固定データ等に基づき、ＥＧＲ弁２７に対する制御量、燃料噴射量、点火時期、ＩＳＣ弁１０に対する駆動信号のデューティ比等を演算し、吸気温度制御を含むＥＧＲ制御、燃料噴射制御、点火制御、アイドル回転数制御等のエンジン制御を行う。
【００６８】
このようなエンジン制御系において、ＥＣＵ５０では、燃焼室１７内の混合気が自己着火して、その火炎による燃焼ガスのイオンの存在により該イオンを介して流れるイオン電流に基づいて着火時期τAを検出すると共に、エンジン運転状態に基づいて目標着火時期τTAGTを設定する。そして、上記着火時期τAと目標着火時期τTAGTとの比較結果に応じてＥＧＲ弁２７を制御し、還流排気ガスにより吸気温度を制御する。すなわち、この吸気温度の制御によって、エンジン運転状態に対応する目標着火時期τTAGTを得るに適切なエンジン燃焼室１７内の混合気温度を得ることができ、その結果、エンジン運転条件や大気条件等が変化しても、自己着火による着火時期τAを、エンジン運転状態に適合する目標着火時期τTAGTすなわち最適着火時期に制御することが可能となる。
【００６９】
より詳細には、本実施の形態においては、上記着火時期τAが目標着火時期τTAGTよりも進角側のとき、ＥＧＲ弁２７によるＥＧＲ率を減少制御して、吸気温度を低下させることで、燃焼室１７内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ＥＧＲ弁２７によるＥＧＲ率を増加制御して、吸気温度を上昇させることで、燃焼室１７内の混合気温度を上昇し、自己着火による着火時期を進角化する。
【００７０】
また、ＥＧＲガス温度が所定温度に達して、ＥＧＲにより吸気温度を上昇させることで自己着火に移行することが可能と判断されるとき、ＥＧＲ弁２７によるＥＧＲ率を所定量増加して、吸気温度を上昇制御し燃焼室１７内の混合気の温度を上昇させ、点火プラグ１８の放電による火花点火から自己着火に移行させる。すなわち、ＥＧＲガス温度が上昇し、自己着火時の着火時期τAをＥＧＲによる吸気温度制御によって制御することが可能となったとき、点火プラグ１８の放電による火花点火から自己着火に移行させる。
【００７１】
更に、自己着火時において、上記着火時期τAが目標着火時期τTAGTよりも遅角側で且つＥＧＲ弁２７の弁開度が限界値に達したとき、ＥＧＲによる吸気温度制御が不能となり自己着火の着火時期を制御することが不能になったと判断して、ＥＧＲ弁２７によるＲＧＲ率を所定量減少して、自己着火から点火プラグ１８の放電による火花点火に移行させる。
【００７２】
尚、上記目標着火時期τTAGTは、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定し、更に、エンジン温度に応じて補正して設定される。
【００７３】
また、上記限界値は、同様に、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定される。
【００７４】
すなわち、ＥＣＵ５０は、本発明に係る着火時期検出手段、目標着火時期設定手段、吸気加熱制御手段としての機能を実現する。
【００７５】
以下、上記ＥＣＵ５０によって実行される本発明に係る制御処理について、図２〜図１０に示すフローチャートに従って説明する。
【００７６】
先ず、イグニッションスイッチ６２がＯＮされ、ＥＣＵ５０に電源が投入されると、システムがイニシャライズされ、バックアップＲＡＭ５４に格納されている各種学習値等のデータを除く、各フラグ、各カウンタ類、及び各タイマが初期化される。そして、スタータスイッチ４８がＯＮされてエンジンが起動すると、クランク角センサ４１からのクランクパルス入力毎に、図２に示す気筒判別／エンジン回転数算出ルーチンが実行される。
【００７７】
この気筒判別／エンジン回転数算出ルーチンでは、エンジン運転に伴いクランクロータ４０が回転してクランク角センサ４１からのクランクパルスが入力されると、先ず、ステップS1で、今回入力されたクランクパルスがθ1，θ2，θ3の何れのクランク角に対応する信号かをカム角センサ４４からのカムパルスの入力パターンに基づいて識別し、ステップS2で、クランクパルスとカムパルスとの入力パターンから現在の圧縮行程気筒すなわち点火対象気筒、着火対象気筒や、燃料噴射対象気筒等の気筒判別を行う。
【００７８】
すなわち、図１１のタイムチャートに示すように、例えば、前回クランクパルスが入力してから今回クランクパルスが入力されるまでの間にカムパルス入力が有れば、今回のクランクパルスはθ1クランクパルスであると識別でき、更に次回入力されるクランクパルスはθ2クランクパルスと識別できる。
【００７９】
また、前回と今回とのクランクパルス入力間にカムパルス入力が無く、前々回と前回のクランクパルス入力間にカムパルス入力が有ったときには、今回のクランクパルスはθ2クランクパルスと識別でき、次回入力されるクランクパルスはθ3クランクパルスと識別できる。また、前回と今回との間、及び前々回と前回とのクランクパルス入力間に、何れもカムパルス入力が無いときには、今回入力されたクランクパルスはθ3クランクパルスと識別でき、次回入力されるクランクパルスはθ1クランクパルスと識別できる。
【００８０】
さらに、前回と今回とのクランクパルス入力間にカムパルスが３個入力（突起４３ｂに対応するθ5カムパルス）したときには、次の圧縮上死点は＃３気筒であり、現在の圧縮行程気筒（点火対象気筒、着火対象気筒）は＃３気筒、次回の燃料噴射対象気筒は、その２つ後の＃４気筒と判別することができる。また、前回と今回のクランクパルス入力間にカムパルスが２個入力（突起４３ｃに対応するθ6カムパルス）したときには、次の圧縮上死点は＃４気筒であり、現在の圧縮行程気筒，点火対象気筒，着火対象気筒は＃４気筒、燃料噴射対象気筒は＃３気筒と判別できる。
【００８１】
また、前回と今回とのクランクパルス入力間にカムパルスが１個入力（突起４３ａに対応するθ4カムパルス）し、前の圧縮上死点判別が＃４気筒であったときには、次の圧縮上死点は＃１気筒であり、現在の圧縮行程気筒，点火対象気筒，着火対象気筒は＃１気筒、燃料噴射対象気筒は＃２気筒と判別できる。同様に、前回と今回とのクランクパルス入力間にカムパルスが１個入力し、前の圧縮上死点判別が＃３気筒であったときには、次の圧縮上死点は＃２気筒であり、現在の圧縮行程気筒，点火対象気筒，着火対象気筒は＃２気筒、燃料噴射対象気筒は＃１気筒と判別できる。
【００８２】
本実施の形態の４サイクル４気筒エンジン１では、燃焼行程が＃１→＃３→＃２→＃４の気筒順であり、図１１のタイムチャートに示すように、カムパルス出力時の今回（現在）の圧縮行程気筒＃ｎを＃１気筒とすると、点火対象気筒，着火対象気筒は同様に＃ｎ＝＃１気筒、このときの燃料噴射対象気筒はその２つ後の＃ｎ-2＝＃２気筒となる。
【００８３】
そして、強制点火制御すなわち点火プラグ１８による火花点火が選択されているときには、後述の図４の点火制御ルーチンにおいて上記点火対象気筒＃ｎの判別結果に応じて該当気筒＃ｎに対する点火時期が設定されて、気筒毎に点火時期制御が行われ、また、圧縮着火制御による自己着火の選択時には点火時期の設定を中止して点火プラグ１８による火花点火を中止する。また、後述の図５のθ2クランクパルス割り込みルーチンにおいて、上記着火対象気筒＃ｎの判別結果に応じて、イオン電流検出対象気筒すなわち着火時期検出対象気筒か否かが判断される。更に、燃料噴射対象気筒＃ｎ-2の判別結果が、所定周期毎に実行される図示しない燃料噴射量設定ルーチンにおいて参照されて、気筒毎に燃料噴射量が設定される。
【００８４】
その後、ステップS2からステップS3へ進み、前記クランクパルス入力間隔計時用タイマによって計時された前回のクランクパルス入力から今回のクランクパルス入力までの時間、すなわちクランクパルス入力間隔時間（θ1クランクパルスとθ2クランクパルスの入力間隔時間Ｔθ12、θ2クランクパルスとθ3クランクパルスの入力間隔時間Ｔθ23、或いはθ3クランクパルスとθ1クランクパルスの入力間隔時間Ｔθ31）を読み出し、クランクパルス入力間隔時間Ｔθを検出する。
【００８５】
次いで、ステップS4へ進み、今回識別したクランクパルスに対応するクランクパルス間角度を読み出し、このクランクパルス間角度と上記クランクパルス入力間隔時間Ｔθとに基づいて現在のエンジン回転数ＮEを算出し、ＲＡＭ５３の所定アドレスにストアしてルーチンを抜ける。尚、上記クランクパルス間角度は既知であり、予めＲＯＭ５２に固定データとして記憶されているものであり、本実施の形態においては、θ1クランクパルスとθ2クランクパルス間の角度は３２°ＣＡであり、θ2クランクパルスとθ3クランクパルス間の角度は５５°ＣＡ、θ3クランクパルスとθ1クランクパルス間の角度は９３°ＣＡである。また、エンジン始動時を考慮し、エンジン回転数ＮEは、例えば、１５０rpm以上で算出される。
【００８６】
そして、所定時間（例えば、１０msec）毎に実行される図３に示す圧縮着火制御条件判別ルーチンにおいて、上記エンジン回転数ＮE等の各データが読み出され、点火プラグ１８の火花点火による強制点火から自己着火を行わせるための圧縮着火制御へ切換える際の条件を判断する。
【００８７】
次に、図３の圧縮着火制御条件判別ルーチンについて説明する。
【００８８】
この圧縮着火制御条件判別ルーチンにおいては、先ずステップS11で、圧縮着火制御フラグＦCOMPを参照し、現在、点火プラグ１８の火花点火による強制点火制御が行われているか、或いは、既に自己着火を行わせるための圧縮着火制御が選択されているかを判断する。
【００８９】
上記圧縮着火制御フラグＦCOMPは、システムイニシャライズ時にクリアされ、ＦCOMP＝０により強制点火制御が行われる。そして、本ルーチンにおいて強制点火制御から圧縮着火制御への切換条件が成立したときセットされて（ＦCOMP←１）、この圧縮着火制御フラグＦCOMPのセットにより圧縮着火制御へ移行する。尚、ＦCOMP＝１の圧縮着火制御への移行後は、後述する図９〜図１０のＥＧＲ制御ルーチンにおいて、圧縮着火制御から強制点火制御への切換条件が判断され、この条件の成立時に圧縮着火制御フラグＦCOMPがクリアされることで、強制点火制御に移行する。
【００９０】
従って、ＦCOMP＝１で、既に自己着火を行う圧縮着火制御が指示されているときには、ステップS19へジャンプして、ステップS19，S20で、現在のエンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとしてＲＡＭ５３の所定アドレスにストアして、そのままルーチンを抜ける。
【００９１】
そして、ＦCOMP＝０で、現在、強制点火制御が選択され、点火プラグ１８の放電による強制点火が行われているとき、ステップS12へ進み、ステップS12以降の処理によって圧縮着火制御への移行条件が成立しているか否かを判断する。
【００９２】
ステップS12，S13では、エンジン回転数ＮEと吸入空気量Ｑの変化を判断し、エンジン定常運転状態か否かを判断する。すなわち、ステップS12で、現在のエンジン回転数ＮEを読み出して、このエンジン回転数ＮEから前回の本ルーチン実行時のエンジン回転数ＮEOLDを減算し、この減算値の絶対値｜ＮE−ＮEOLD｜を設定値ＮＥＳと比較することで、エンジン回転数領域が前回と略同一領域に有るか否かを判断する。また、ステップS13では、吸入空気量センサ３２による現在の吸入空気量Ｑを読み出して、この吸入空気量Ｑから前回ルーチン実行時の吸入空気量ＱOLDを減算して、この減算値の絶対値｜Ｑ−ＱOLD｜を設定値ＱＳと比較することで、吸入空気量Ｑによるエンジン負荷領域が前回と略同一領域に有るか否かを判断する。
【００９３】
そして、｜ＮE−ＮEOLD｜＞ＮＥＳ或いは｜Ｑ−ＱOLD｜＞ＱＳで、エンジン回転数ＮEとエンジン負荷とによるエンジン運転領域が変化しているエンジン過渡運転状態時には、該当するステップからステップS18へジャンプして、圧縮着火制御への切換条件成立の継続時間を計時するための条件継続時間カウント値ＣNをクリアし（ＣN←０）、次回の判定に備え、続くステップS19，S20で、それぞれ上記エンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとしてＲＡＭ５３の所定アドレスにストアして、ルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【００９４】
一方、上記ステップS12，S13において｜ＮE−ＮEOLD｜≦ＮＥＳ且つ｜Ｑ−ＱOLD｜≦ＱＳで、エンジン回転数及びエンジン負荷によるエンジン運転領域が略同一領域にあるエンジン定常運転状態時には、ステップS14へ進み、エンジン温度の一例としての冷却水温センサ３６によるエンジン冷却水温度ＴWを読み出し、この冷却水温度ＴWを設定値ＴＷＳと比較することで、エンジン暖機完了状態か否かを判断する。
【００９５】
そして、ＴW＜ＴＷＳでエンジン１の暖機未完了時には、上記ステップS18へジャンプして、ステップS18〜S20を経てルーチンを抜け、また、ＴW≧ＴＷＳのエンジン暖機完了状態時には、ステップS15へ進み、後述の図４の点火制御ルーチンにおいて設定される点火プラグ１８による強制点火の点火時期ＴADV、及び後述の図８の着火時期検出ルーチンおいてイオン電流に基づき検出した着火時期τAを読み出して、着火時期τAから点火時期ＴADVを減算し、この減算値（τA−ＴADV）を設定値ＴSETと比較することで、適正時期で自己着火が可能か否かを判断する。
【００９６】
尚、詳しくは後述するが、本実施の形態においては、上記着火時期τA及び点火時期ＴADVは、図１２に示すように、θ2クランクパルス入力を基準とする時間値として設定される。
【００９７】
ここで、エンジン温度の上昇に伴い燃焼変動が減少して燃焼状態が安定化すると共に燃焼速度が早くなり、点火プラグ１８の点火による強制点火によらず且つ適正時期で自己着火が可能となる。
【００９８】
従って、点火プラグ１８の点火による強制点火から自己着火への移行条件として、点火時期ＴADVと着火時期τAとの差、すなわち上記減算値（τA−ＴADV）を求め、上記設定値ＴSETによる所定値と比較することで、エンジン燃焼状態を判断することが可能となり、自己着火への移行条件を適切に判断することが可能となる。
【００９９】
尚、上記設定値ＴSETは、エンジン温度が所定に上昇したエンジン暖機完了状態で、且つ適正時期で自己着火可能な状態下において、点火時期ＴADVすなわち点火プラグ１８の放電により燃焼室１７内の混合気に点火した後、混合気の燃焼火炎が点火プラグ１８の放電電極１８ａ間に達してイオン電流が流れるまでの期間、すなわち点火からイオン電流に基づいて着火が検出されるまでの時間を、予めシミュレーション或いは実験等により求め、この時間値を設定値ＴSETとし、固定データとしてＲＯＭ５２にメモリされているものである。
【０１００】
従って、τA−ＴADV＞ＴSETで、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が設定値ＴSETにより定まる所定時間を上回るときには、自己着火不能と判断して、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０１０１】
一方、上記ステップS15においてτA−ＴADV≦ＴSETで、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が上記設定値ＴSETによる所定値以内の時間に短縮されたとき、適正時期で自己着火が可能であると判断して、ステップS16へ進み、ステップS16，S17で、更に、ＥＧＲガス温度条件を判断し、ＥＧＲによる吸気温度制御が可能か否かを判断する。
【０１０２】
すなわち、ステップS16では、ＥＣＵ５０の自己データに基づいてＥＧＲ弁２７に対する制御量ＥＧＲSが００Ｈ外で、現在、ＥＧＲが行われているか否かを判断し、ＥＧＲS＝００ＨでＥＧＲ弁２７が全閉のＥＧＲ停止時には、ＥＧＲガス温度を検出することができず、従って、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０１０３】
そして、ＥＧＲＳ≠００ＨでＥＧＲが行われているとき、ステップS17へ進み、ＥＧＲガス温度センサ３８によるＥＧＲガス温度ＴEGRを読み出し、このＥＧＲガス温度ＴEGRを設定値ＴＥＧＲＳと比較することで、ＥＧＲガスによる吸気温度制御が可能か否かを判断する。
【０１０４】
上記設定値ＴＥＧＲＳは、ＥＧＲガスの温度が所定に上昇しＥＧＲ弁２７によるＥＧＲ率を制御することで、吸気温度を適切に制御することが可能なＥＧＲガス温度を、予めシミュレーション或いは実験等により求め、この温度値を設定値ＴＥＧＲＳとして設定し、固定データとしてＲＯＭ５２にメモリされているものである。
【０１０５】
従って、ＴEGR＜ＴＥＧＲＳで、ＥＧＲガスにより吸気温度制御を適正に行い得ないと判断されるときには、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０１０６】
一方、上記ステップS17で、ＴEGR≧ＴＥＧＲＳのときには、ＥＧＲガス温度ＴEGRが上記設定値による所定温度以上に上昇し、ＥＧＲ弁２７によるＥＧＲ率を制御することで吸気温度を適正に制御することが可能と判断してステップS21へ進む。
【０１０７】
尚、本実施の形態では、ＥＧＲガス温度ＴEGRを設定値ＴＥＧＲＳと比較することで、ＥＧＲによる吸気温度制御が可能か否かを判断しているが、簡易的には、ＥＧＲガス温度センサ３８に代え、排気系に排気温度センサを配設して、上記ステップS17において、この排気温度センサにより検出される排気ガスの温度を設定値と比較することで、ＥＧＲによる吸気温度制御が可能か否かを判断するようにしてもよい。この場合は、ＥＧＲ判断を行う上記ステップS16を省略することが可能となる。
【０１０８】
ステップS21では、上記ステップS12〜S17の全ての条件による圧縮着火制御への切換条件成立の継続時間を計時する条件継続時間カウント値ＣNをカウントアップし（ＣN←ＣN＋１）、ステップS22で、上記条件継続時間カウント値ＣNを設定値ＣSET（例えば、数sec相当値）と比較する。
【０１０９】
そして、ＣN＜ＣSETのときには、未だ圧縮着火制御への切換条件が非成立であると判断して、上記ステップS19へ進み、ステップS19，S20を経て、それぞれ上記エンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとしてＲＡＭ５３の所定アドレスにストアして、ルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０１１０】
また、上記ステップS22においてＣN≧ＣSETで、上記ステップS12〜S17による全ての条件成立の継続時間が、本ルーチンの実行周期と上記設定値ＣSETとにより定まる所定時間に達したとき、ステップS23へ進み、上記圧縮着火制御フラグＦCOMPをセットすることで（ＦCOMP←１）、点火プラグ１８の火花点火による強制点火制御を中止して、自己着火を行わせる圧縮着火制御を選択する。
【０１１１】
そして、ステップS24で、上記条件継続時間カウント値ＣNをクリア（ＣＮ←０）して、続くステップS25で、現在のＥＧＲ弁２７に対する制御量ＥＧＲSに設定値ＵＰＳＥＴを加算して新たな制御量を設定し（ＥＧＲS←ＥＧＲS＋ＵＰＳＥＴ）、ルーチンを抜ける。
【０１１２】
すなわち、エンジン回転数とエンジン負荷とによるエンジン運転領域が変化するエンジン過渡運転状態時には、これに対応して、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が変化するため、この時間間隔に基づいて圧縮着火制御への切換条件を適正に判断することができず、誤判定を生じる。
【０１１３】
また、エンジン暖機未完了時には燃焼変動が生じるため、圧縮着火制御に移行しても自己着火が行われるとは限らず、また、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が所定時間を上回るときには、燃焼速度が遅く、自己着火制御に移行しても所望の時期に自己着火及び燃焼を行わせることができず、エンジン１の着火ミス（失火）を生じたり、自己着火において適正な着火時期τAを得ることができず、異常燃焼が発生し、エンジンに悪影響を及ぼしたり、燃費や排気エミッション等が悪化する。
【０１１４】
本実施の形態では、更に、自己着火制御時においてＥＧＲにより吸気温度制御を行い、自己着火による着火時期τAをエンジン運転状態に基づいて設定した目標着火時期τTAGTに収束するよう制御するため、ＥＧＲガス温度ＴEGRが所定温度未満のＥＧＲガスの低温時には、ＥＧＲガスにより吸気温度を十分に上昇させることができず、圧縮着火制御に移行して自己着火を行わせても、ＥＧＲによる吸気温度制御を行うことができないため、所望とする目標着火時期τTAGTに着火時期τAを制御することができない。
【０１１５】
従って、本実施の形態においては、エンジン回転数ＮEとエンジン負荷を表す吸入空気量Ｑとによるエンジン運転領域が略同一領域にあるエンジン定常運転状態で、且つ、エンジン暖機完了状態で、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が上記設定値ＴSETによる所定値以内の時間に短縮し、適正時期で自己着火が可能であると判断され、且つ、ＥＧＲの実行下においてＥＧＲガス温度ＴEGRが所定温度以上で、ＥＧＲによる吸気温度制御を適切に行うことができ、且つ、以上の全ての条件成立の継続時間が上記設定値ＴSETによる所定時間に達し、自己着火制御への移行条件が完全に成立したと判断されるとき、すなわち、自己着火が可能で且つ自己着火による着火時期τAを適正時期に得られる状態になったときに、圧縮着火制御フラグＦCOMPをセットして、点火プラグ１８の火花点火による強制点火制御を中止し、自己着火を行わせる圧縮着火制御に移行する。
【０１１６】
これにより、圧縮着火制御への移行条件の誤判定を防止することが可能となり、且つ、点火プラグ１８の火花点火による強制点火制御から圧縮着火制御への移行を適正なタイミングで行うことができる。その結果、圧縮着火制御においてＥＧＲによる吸気温度制御を的確に行うことが可能となって、自己着火による着火時期を確実且つ適正に制御することが可能となる。また、圧縮着火制御への移行後、直ちに、適正時期で自己着火を行うことが可能となり、エンジン１の着火ミス（失火）を生じることなく、且つ、自己着火における着火時期τAの不適合による異常燃焼を防止することができる。従って、異常燃焼に起因するエンジン１に対する悪影響等の弊害を防止して、エンジン１の耐久信頼性を向上することが可能となる。また、自己着火への移行時における失火や着火時期不適合による異常燃焼が防止されるので、排気エミッションの悪化を防止することが可能となる。
【０１１７】
そして、上記圧縮着火制御フラグＦCOMPが、図４の点火制御ルーチン、図５のθ2クランクパルス割り込みルーチン、及び図９〜図１０のＥＧＲ制御ルーチンにおいて参照され、ＦCOMP＝０の強制点火制御時には、エンジン運転状態に応じて点火時期ＴADVを設定し、点火プラグ１８の火花点火による強制点火を行うと共に、エンジン運転状態に応じてＥＧＲ弁２７に対する制御量ＥＧＲSを設定し、通常のＥＧＲ制御を行う。
【０１１８】
また、ＦCOMP＝１の圧縮着火制御時には、点火時期ＴADVの設定が中止されて点火プラグ１８の火花点火による強制点火が中止されると共に、圧縮着火制御への移行時に（図１３のタイムチャートにおけるｔ１の時点）、上述のステップS25においてＥＧＲ弁２７に対する制御量ＥＧＲSが設定値ＵＰＳＥＴによる所定量増加され、これに対応してＥＧＲ弁２７の弁開度が所定量増加し、ＥＧＲ量すなわちＥＧＲ率の増加によって吸気加熱量が増加させることで、吸気温度が上昇し、これにより、燃焼室１７内の混合気の温度が上昇され、点火プラグ１８の放電による火花点火から自己着火に移行される。
【０１１９】
そして、圧縮着火制御への移行後は、イオン電流に基づいて検出される着火時期τAと、エンジン運転状態に基づいて設定した目標着火時期τTAGTとの比較結果に応じて、ＥＧＲ弁２７を制御することで、着火時期τAが目標着火時期τTAGTに収束するよう吸気温度を制御する。
【０１２０】
次に、図４に示す点火制御ルーチンについて説明する。
【０１２１】
この点火制御ルーチンは、システムイニシャライズ後、所定周期毎に実行され、先ず、ステップS31で、圧縮着火制御フラグＦCOMPを参照し、現在、点火プラグ１８の火花点火を行う強制点火制御が指示されているか、或いは点火プラグ１８の強制点火によらず自己着火を行わせる圧縮着火制御が指示されているかを判断する。
【０１２２】
そして、ＦCOMP＝０で強制点火制御が指示されているときには、ステップS32へ進み、点火プラグ１８の火花点火により強制点火を行わせるため、ステップS32以降の処理により点火時期ＴADVを設定する。
【０１２３】
尚、本実施の形態においては、時間制御方式により点火時期を制御し、図１１に示すように、点火コイル１９に対する通電開始タイミング（ドエルセット）ＴDWL、及び通電遮断タイミング（ドエルカット）すなわち点火時期ＴADVを、θ2クランクパルス入力を基準とした時間により設定する。
【０１２４】
ステップS32では、エンジン負荷を表し基本燃料噴射量を定める基本燃料噴射パルス幅Ｔｐ（図示しない燃料噴射量設定ルーチンにおいて算出される。Ｔｐ←Ｋ×Ｑ／ＮE；Ｋはインジェクタ特性補正定数）とエンジン回転数ＮEとに基づいてＲＯＭ５２に格納されている基本進角値テーブルを補間計算付きで参照して基本進角値ＡＤＶBASEを設定する。
【０１２５】
上記基本進角値テーブルは、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐによるエンジン運転領域毎に最適点火時期を予めシミュレーション或いは実験等により求め、この最適点火時期をＢＴＤＣ何°ＣＡにおいて点火するのかを定める基本進角値ＡＤＶBASEとして、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐをパラメータとするテーブルとして設定し、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０１２６】
次いでステップS33で、ノックセンサ３４により検出されるノックの有無に応じて運転領域毎に遅角或いは進角量が学習される点火時期学習補正値ＡＤＶKRを、エンジン回転数ＮEと基本燃料噴射パルス幅Ｔｐとに基づいてバックアップＲＡＭ５４にストアされている点火時期学習補正値テーブルを補間計算付きで参照して設定する。
【０１２７】
そして、ステップS34へ進み、上記基本進角値ＡＤＶBASEに上記点火時期学習補正値ＡＤＶKRを加算して学習補正し、点火時期を定める制御進角ＡＤＶを設定して（ＡＤＶ←ＡＤＶBASE＋ＡＤＶKR）、ステップS35へ進む。
【０１２８】
ステップS35では、上記制御進角ＡＤＶに基づいてθ2クランクパルス入力を基準とした点火コイル１９に対する通電遮断タイミングすなわち点火時期ＴADVを設定する。上述のように、本実施の形態では時間制御方式を採用しており、この点火時期ＴADVを時間により設定する。
【０１２９】
すなわち、上記制御進角ＡＤＶは角度データ（ＢＴＤＣ°ＣＡ）のため、θ2クランクパルスが入力してから点火するまでの時間に換算する必要があり、図１１のタイムチャートに示すように、最新のクランクパルス入力間隔時間をＴθ、該クランクパルス間角度をθとすると、本実施の形態では、θ2クランクパルス入力を基準として点火時期ＴADVを、次式により設定する。
【０１３０】
ＴADV←（Ｔθ／θ）×（θ2−ＡＤＶ）
次に、ステップS36へ進み、バッテリ電圧ＶBに基づきテーブルを補間計算付きで参照して点火コイル１９に対する通電時間（ドエル時間）ＤＷＬを設定する。この通電時間は、バッテリ電圧ＶBに依存するコイル一次電流の最適通電時間を定めるもので、ステップS36中に、このテーブルの一例を示す。すなわち、バッテリ電圧ＶBの低下時には、通電時間ＤＷＬを長くして点火エネルギを確保し、バッテリ電圧ＶBの上昇時には、通電時間ＤＷＬを短くしてエネルギロスや点火コイル１９の発熱を防止する。
【０１３１】
続くステップS37では、上記点火時期ＴADVから通電時間ＤＷＬを減算してθ2クランクパルスを基準とする通電開始タイミングＴDWLを設定し（ＴDWL←ＴADV−ＤＷＬ）、ステップS38で該当気筒の点火時期タイマに上記点火時期ＴADVをセットすると共に、ステップS39で該当気筒の通電開始タイミングタイマに通電開始タイミングＴDWLをセットして、ルーチンを抜ける。
【０１３２】
以上の結果、ＦCOMP＝０で点火プラグ１８の火花点火による強制点火制御が選択されているときには、θ2クランクパルス入力に同期して起動する図５のθ2クランクパルス割り込みルーチンにより各タイマがスタートされ、点火プラグ１８による強制点火が行われる。
【０１３３】
一方、上記ステップS31においてＦCOMP＝１で、自己着火のための圧縮着火制御が選択されているときには、上記通電開始タイミングＴDWL，点火時期ＴADVの設定及びタイマセットを行うことなくルーチンを抜け、これにより、圧縮着火制御時には点火プラグ１８による火花点火が中止される。
【０１３４】
次に、図５に示すθ2クランクパルス割り込みルーチンについて説明すると、θ2クランクパルス入力に同期してルーチンが起動し、ステップS41で、圧縮着火制御フラグＦCOMPを参照する。
【０１３５】
そして、ＦCOMP＝０で点火プラグ１８により強制点火する強制点火制御が指示されているときには、ステップS42で、該当点火対象気筒の通電開始タイミングタイマをスタートすると共に、ステップS43で、該当点火対象気筒の点火時期タイマをスタートして、ステップS44へ進み、ステップS44以降で、イオン電流検出処理を行う。
【０１３６】
そして、各タイマがスタートし、上記通電開始タイミングタイマの計時により通電開始タイミングＴDWLに達すると、図６に示すルーチンが割り込み起動し、ステップS51で点火対象気筒のドエルセットによりＥＣＵ５０からイグナイタ２０へ該当気筒に対する通電信号が出力され（図１１の強制点火制御時点火信号参照）、該当気筒の点火コイル１９の通電（ドエル）が開始される。
【０１３７】
その後、上記点火時期タイマの計時により点火時期ＴADVに達すると、図７に示す割り込みルーチンが起動し、ステップS61で点火対象気筒の点火コイル１９に対するドエルがカットされて、この点火コイル１９に高圧の二次電圧が誘起され、点火対象気筒の点火プラグ１８の放電電極１８ａが放電して、該放電電極１８ａ間に火花が生じ、燃焼室１７内の混合気が火花点火されて着火燃焼される。
【０１３８】
従って、自己着火が不能、或いはＥＧＲによる吸気温度制御の不能時、すなわちＦCOMP＝０の強制点火制御時には、エンジン運転状態に応じて点火時期ＴADVが設定され、点火プラグ１８の火花点火による強制点火が行われる。
【０１３９】
一方、図５のθ2クランクパルス割り込みルーチンのステップS41において、ＦCOMP＝１で圧縮着火制御が指示されているときには、上記通電開始タイミングタイマ及び点火時期タイマのスタートを行うことなく、ステップS41からステップS44へジャンプし、ステップS44以降でイオン電流検出開始処理を行う。
【０１４０】
すなわち、ＦCOMP＝１の圧縮着火制御の選択時には、上述の点火制御ルーチンにより点火時期ＴADVの設定が中止されおり、且つ上記各タイマを非作動とすることで、点火プラグ１８の火花点火による強制点火が中止される。
【０１４１】
ステップS44では、上述の気筒判別／エンジン回転数算出ルーチンによる現在の圧縮行程気筒（点火対象気筒、着火対象気筒）データを読み出し、現在の圧縮行程気筒がイオン電流検出回路４５を備えたイオン電流検出対象気筒（本実施の形態においては、＃１気筒）か否かを判断する。
【０１４２】
そして、現在の圧縮行程気筒がイオン電流検出対象気筒外のときには、そのままルーチンを抜け、イオン電流検出対象気筒のとき、ステップS45へ進み、ステップS45以下で、着火時期検出開始処理を行う。
【０１４３】
ステップS45では、前記カウンタ・タイマ群５５における着火時期計時用タイマの計時値ＴＭτを読み出し、該計時値ＴＭτがクリアされているか否かを判断する。
【０１４４】
ここで、上記着火時期計時用タイマは、後述のステップS48でθ2クランクパルス入力に同期してその計時が開始され、後述するＡ／Ｄ変換毎に実行される図８の着火時期検出ルーチンにおいてイオン電流を検出し、このイオン電流により該当気筒の着火が検出されたとき、そのカウント値ＴＭτがクリアされる。
【０１４５】
従って、ＴＭτ≠０のときには、該当気筒の前回のθ2クランクパルス入力から着火時期計時用タイマの計時が続行されており、エンジン２回転の間において着火が検出されていない状態、すなわち失火状態であり、このときにはステップS46へ進み、着火時期計時用タイマの計時値ＴＭτすなわちエンジンが２回転に要した時間を着火時期τAとしてＲＡＭ５３の所定アドレスにストアする（τA←ＴＭτ）。
【０１４６】
これにより、着火時期τAの検出上限が規制されると共に、このとき圧縮着火制御により自己着火が行われているときには、この着火時期τAと目標着火時期τTAGTとの比較により後述の図９〜図１０のＥＧＲ制御ルーチンにおいて圧縮着火制御フラグＦCOMPがクリアされて強制点火制御となり、点火プラグ１８の火花点火による強制点火に移行して、自己着火不能による失火が解消される。
【０１４７】
そして、続くステップS47で、着火時期計時用タイマの計時値ＴＭτをクリアして（ＴＭτ←０）、ステップS48へ進む。
【０１４８】
一方、上記ステップS45において、ＴＭτ＝０で、着火時期τAが正規に検出されているときには、ステップS45からステップS48へジャンプする。
【０１４９】
そして、ステップS48で、着火時期計時用タイマをスタートして、該当気筒のθ2クランクパルス入力を基準として着火時期の計時を開始させ、続くステップS49で、着火時期検出禁止フラグＦτをクリアし（Ｆτ←０）、着火時期の検出を許可してルーチンを抜ける。
【０１５０】
以上により、θ2クランクパルス入力を基準として着火時期τAの計時が開始され、イオン電流検出回路４５の電圧センサ４５ａからの出力電圧ＶIONのＡ／Ｄ変換入力毎に実行される図８の着火時期検出ルーチンによって着火時期τAが検出される。
【０１５１】
次に、この着火時期検出ルーチンについて説明すると、先ずステップS71で、着火時期検出禁止フラグＦτを参照し、Ｆτ＝１で該当気筒１サイクル（エンジン２回転；７２０°ＣＡ回転）において既に着火時期τAの検出が行われ、着火時期τAの検出が禁止されているときには、そのままルーチンを抜ける。また、Ｆτ＝０で該当気筒１サイクルにおいて着火時期τAの検出が終了しておらず着火時期τAの検出が許可されているときには、ステップS72へ進む。
【０１５２】
ステップS72では、更に圧縮着火制御フラグＦCOMPを参照する。そして、ＦCOMP＝０で、現在、強制点火制御が選択されているときには、ステップS73へ進み、着火時期計時用タイマの計時値ＴＭτ及び上記点火制御ルーチンによる点火時期ＴADVを読み出し、上記計時値ＴＭτを、点火時期ＴADVに設定値ＴＳＥを加算した加算値（ＴADV＋ＴＳＥ）と比較する。
【０１５３】
ここで、図１２に示すように、点火プラグ１８による火花点火を行う強制点火制御時においては、混合気着火によるイオン電流のみならず、点火プラグ１８の火花点火によるイオン電流が検出されてしまう。すなわち、ＥＣＵ５０からイグナイタ２０を介してパルス波形の点火信号が出力されると（図１１の強制点火制御時点火信号を参照）、点火コイル１９の一次側に一次電流が流れ、この点火信号の立下がりにより一次電流が遮断し（ドエルカット）、点火コイル１９の２次側に高圧の２次電圧が誘起され、点火プラグ１８の放電電極１８ａ間が絶縁破壊されて火花放電（スパーク）が行われ、イオン電流検出回路４５において、この点火火花によるイオン電流が検出され、イオン電流検出回路４５の電圧センサ４５ａからＥＣＵ５０に、火花点火によるイオン電流に対応した出力電圧ＶIONが入力される。
【０１５４】
そして、火花点火によって燃焼室１７内の混合気に着火して、その火炎により点火プラグ１８の放電電極１８ａ間に燃焼ガスのイオンが存在するとき、このイオンを介して流れるイオン電流がイオン電流検出回路４５により検出されて、このイオン電流に伴いイオン電流検出回路４５中の電圧センサ４５ａからＥＣＵ５０に火炎によるイオン電流に対応して出力電圧ＶIONが入力される。
【０１５５】
従って、着火時期τAを検出するには、この火花点火によるイオン電流検出期間を除外する必要があり、このため、着火時期計時用タイマの計時値ＴＭτを、点火時期ＴADVに設定値ＴＳＥを加算した加算値（ＴADV＋ＴＳＥ）と比較することで、火花点火によるイオン電流検出期間を除外し、着火時期τAの誤検出を防止する。
【０１５６】
そして、ＴＭτ＜ＴADV＋ＴＳＥのときには、火花点火によるイオン電流検出の誤検出を防止するため、そのままルーチンを抜け、ＴＭτ≧ＴADV＋ＴＳＥで、火花点火によるイオン電流期間の経過後、ステップS74へ進む。
【０１５７】
一方、上記ステップS72においてＦCOMP＝１で、圧縮着火制御が選択されているときには、点火信号が出力されず（図１１の圧縮着火制御時点火信号を参照）、このときには、点火火花によるイオン電流は発生しない。
【０１５８】
従って、このときには、火花点火によるイオン電流を判断する必要が無く、上記ステップS72からステップS74へジャンプする。
【０１５９】
そして、ステップS74で、上記イオン電流検出回路４５中の電圧センサ４５ａによる出力電圧ＶIONを、イオン電流の発生を判断するための判定値ＩＯＮと比較し、ＶION＜ＩＯＮのときには、火炎によるイオン電流が生じていないと判断して、そのままルーチンを抜ける。
【０１６０】
一方、ＶION≧ＩＯＮのとき、火炎によるイオン電流が生じ着火したと判断して、ステップS75へ進み、着火時期計時用タイマの計時値ＴＭτを着火時期τAとし、ＲＡＭ５３の所定アドレスにストアして、続くステップS76で、着火時期計時用タイマの計時値ＴＭτをクリア（ＴＭτ←０）して該着火時期計時用タイマの作動を停止し、このサイクルにおける着火時期τAの計時の終了により、ステップS77で、着火時期検出禁止フラグＦτをセットして（Ｆτ←１）、ルーチンを抜ける。
【０１６１】
そして、以上の処理によりθ2クランクパルス入力を基準とした着火時期τAが検出され、ＦCOMP＝０の点火プラグ１８の火花点火による強制点火制御時には、上述の圧縮着火制御条件判別ルーチンにおいて、この着火時期τAと点火時期ＴADVとの時間間隔によって圧縮着火制御への移行条件が判断され（図３のステップS15参照）、また、ＦCOMP＝１の自己点火を行う圧縮着火制御への移行後は、図９〜図１０に示すＥＧＲ制御ルーチンにおいて、この着火時期τAとエンジン運転状態に基づいて設定した目標着火時期τTAGTとの比較結果に応じてＥＧＲ弁２７に対する制御量ＥＧＲSを設定し、ＥＧＲ弁２７によるＥＧＲ量すなわちＥＧＲ率を制御することで、着火時期τAが目標着火時期τTAGTに収束するよう吸気温度を制御する。
【０１６２】
次に、図９〜図１０のＥＧＲ制御ルーチンについて説明する。
【０１６３】
このＥＧＲ制御ルーチンは、システムイニシャライズ後、所定時間（例えば、１６ms）毎に実行され、ステップS81で、圧縮着火制御フラグＦCOMPを参照する。
【０１６４】
そして、ＦCOMP＝０で、現在、強制点火制御が指示されているときには、ステップS82へ進み、ステップS82〜S91の処理により、エンジン運転状態に応じてＥＧＲ弁２７に対する制御量ＥＧＲSを設定して通常のＥＧＲ制御を行い、ＦCOMP＝１の圧縮着火制御が指示されているときには、ステップS92へ進み、ステップS92以降の処理で、ＥＧＲ制御によって、自己着火において着火時期τAが目標着火時期τTAGTに収束するように吸気温度制御を行う。
【０１６５】
先ず、ＦCOMP＝０の強制点火制御時における通常のＥＧＲ制御について説明すると、ステップS82で、前記カウンタ・タイマ群５５における始動後時間計時用タイマによって計時されたエンジン始動後時間ＴＭASTを読み出して、設定値ＡＳＴＥＧＲと比較する。
【０１６６】
すなわち、ＴＭAST＜ＡＳＴＥＧＲで、エンジン始動後時間ＴＭASTが上記設定値ＡＳＴＥＧＲにより定まる所定時間に達しておらず、スタータスイッチ４８がＯＮのエンジン始動中、或いはエンジン始動直後の時には、エンジンが不安定状態であり、このとき、ＥＧＲを行うとエンスト生じる虞がある。従って、ＴＭAST＜ＡＳＴＥＧＲの時は、ＥＧＲ条件不成立と判断し、ステップS89へジャンプしてＥＧＲを停止し、ＴＭAST≧ＡＳＴＥＧＲのとき、ステップS83へ進み、ステップS83〜S88で、更に、ＥＧＲ条件を判断する。
【０１６７】
すなわち、ステップS83で、冷却水温度ＴWと水温判定値ＴWEGR（例えば、５０°Ｃ）とを比較し、ＴW≧ＴWEGRのエンジン暖機完了状態であり、且つ、ステップS84，S85で、基本燃料噴射パルス幅Ｔｐを、それぞれ下限値ＬＥＧＲＬ，上限値ＬＥＧＲＨと比較して、エンジン負荷によるＥＧＲ実行の下限側及び上限側を判断し、エンジン負荷を表す基本燃料噴射パルス幅Ｔｐが下限値ＬＥＧＲＬと上限値ＬＥＧＲＨとの間、いわゆるエンジン中負荷状態であり、且つ、ステップS86で、エンジン回転数ＮEを高回転判定値ＮEGR（例えば、４０００rpm）と比較し、ＮE≦ＮEGRでエンジン回転数ＮEが高回転数域外であり、且つ、ステップS87で、車速センサ47による車速ＶＳＰを高車速判定値ＶEGR（例えば、１２０km/h）と比較し、ＶＳＰ≦ＶEGRで車速ＶＳＰが高速走行領域外のときのみ、ステップS88へ進み、アイドルスイッチ３３ｂの作動状態を判断する。そして、アイドルスイッチ３３ｂがＯＦＦの非アイドル時のみ、ＥＧＲ条件成立と判断して、ステップS91へ進み、ＥＧＲを実行する。
【０１６８】
ここで、ＴW＜ＴWEGRのエンジン冷態時には、エンジンの燃焼状態が不安定であり、このときＥＧＲを行うと燃焼性が悪化してエンジン運転性が著しく悪化する。また、Ｔｐ＜ＬＥＧＲＬのエンジン低負荷運転時には新気の吸入量が少なく、ＥＧＲを行うとエンジンの燃焼性が悪化する。また、Ｔｐ＞ＬＥＧＲＨのエンジン高負荷運転時は、エンジン出力要求時であり、このときＥＧＲを行うと、出力要求時であるにも拘らず、エンジン出力が低下してしまう。更に、ＮE＞ＮEGRのエンジン高回転時、或いは、ＶＳＰ＞ＶEGRの高速走行時も出力要求時であり、このときＥＧＲを行うと、出力要求に相反してエンジン出力が低下してしまう。
【０１６９】
従って、上記ステップS82〜S88において何れかの条件が満足しないときには、ＥＧＲ実行条件の不成立と判断して、該当するステップからステップS89へ進み、ＥＧＲ弁２７に対する制御量ＥＧＲSを、全閉を指示する“００Ｈ”に設定し、この制御量ＥＧＲSを、ステップS90でセットして、ルーチンを抜ける。
【０１７０】
その結果、この制御量ＥＧＲSに対応する駆動信号がＥＣＵ５０からＥＧＲ弁２７に出力され、ＥＧＲ弁２７内蔵のステッピングモータの駆動によりＥＧＲ弁２７が全閉となり、ＥＧＲが停止される。
【０１７１】
一方、上記ステップS82〜S88の条件が全て満足されたＥＧＲ実行条件の成立時には、ステップS91へ進み、ＥＧＲを実行する。ステップS91では、このときのエンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて制御量テーブルを補間計算付きで参照し、ＥＧＲ弁２７に対する制御量ＥＧＲSを設定する。
【０１７２】
上記制御量テーブルは、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとによるエンジン運転領域毎に、適正ＥＧＲ量を得るＥＧＲ弁２７に対する制御量ＥＧＲSを、予めシミュレーション或いは実験等により求め、エンジン回転数ＮEと基本燃料噴射パルス幅Ｔｐとをパラメータとするテーブルとして設定し、ＲＯＭ５２の一連のアドレスに固定データとしてメモリされているものである。この制御量テーブルの一例をステップS91中に示す。
【０１７３】
本実施の形態では、ステップS91中に示すように、エンジン回転数ＮEと基本燃料噴射パルス幅Ｔｐとが、それぞれ２０００〜４０００rpm、３．０〜４．０msの所定領域において最も大きな値の制御量ＥＧＲSがメモリされている。これはこの領域におけるＮＯｘの発生量が高く、ＥＧＲ率を高めることによってＮＯｘの発生を抑制するためである。そして、エンジン回転数ＮE或いは基本燃料噴射パルス幅Ｔｐが上記範囲からずれるに従って、ＮＯｘの発生量が低下するため、これに対応してＥＧＲ率を低下させるべく小さい値の制御量ＥＧＲSがメモリされている。
【０１７４】
そして、制御量ＥＧＲSの設定後、ステップS90へ進み、上記ステップS91で設定した制御量ＥＧＲSをセットして、ルーチンを抜ける。
【０１７５】
その結果、この制御量ＥＧＲSに対応する駆動信号がＥＣＵ５０からＥＧＲ弁２７に出力され、ＥＧＲ弁２７内蔵のステッピングモータの駆動により、ＥＧＲ弁２７の弁開度がエンジン運転状態に適合するＥＧＲ率を得る所定開度に調整される。
【０１７６】
一方、上記ステップS81においてＦCOMP＝１で、点火プラグ１８の火花点火による強制点火が中止され自己着火を行うための圧縮着火制御が指示されているときには、ステップS92へ進み、ステップS92以降の処理によって、上記着火時期τAと目標着火時期τTAGTとの比較結果に応じたフィードバック制御によりＥＧＲ弁２７に対する制御量ＥＧＲSを設定してＥＧＲによる吸気温度制御を行い、自己着火による着火時期τAが目標着火時期τTAGTに収束するよう制御する。
【０１７７】
ステップS92では、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて基本目標着火角度テーブルを補間計算付きで参照して、圧縮上死点を基準とする基本目標着火角度ＡＤＶτBASEを設定する。
【０１７８】
上記基本目標着火角度テーブルは、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐによるエンジン運転領域毎に、自己着火における最適着火時期（角度）を予めシミュレーション或いは実験等により求め、この最適着火時期をＢＴＤＣ何°ＣＡにおいて得るのかを定める基本目標着火角度ＡＤＶτBASEとして設定し、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０１７９】
上記基本目標着火角度テーブルをステップS92中に示す。この基本目標着火角度テーブルには、基本燃料噴射パルス幅Ｔｐが大きい高負荷領域、及びエンジン回転数ＮEの低い低回転領域において、小さい値すなわち遅角側の基本目標着火角度ＡＤＶτBASEがメモリされている。逆に基本燃料噴射パルス幅Ｔｐが小さく且つエンジン回転数ＮEが高いほど、すなわちエンジン低負荷高回転領域に移行するほど、大きい値すなわち進角側の基本目標着火角度ＡＤＶτBASEがメモリされている。
【０１８０】
ここで、着火後における燃焼行程（膨張行程）での燃焼期間は、エンジン運転状態によって相違する。すなわち、低回転領域においては、１行程に要する時間が長く相対的に１行程中での燃焼期間が短くなり、高負荷領域においては充填効率の上昇により同様に相対的に燃焼期間が短くなる。また、高回転領域においては、１行程に要する時間が短く相対的に１行程中での燃焼期間が長くなり、低負荷領域においては、充填効率の低下によって相対的に燃焼期間が長くなる。
【０１８１】
このため、着火時期を一定とした場合、低回転領域及び高負荷領域では燃焼が早く終了し、また、高回転領域及び低負荷領域では、燃焼が遅く、何れにしても熱効率が低下してしまう。
【０１８２】
従って、高負荷低回転であるほど、基本目標着火角度ＡＤＶτBASEを遅角化することで、この基本目標着火角度ＡＤＶτBASEに基づいて設定される目標着火時期τTAGTを遅角化し、この目標着火時期τTAGTに対応して後述するフィードバック制御により着火時期τAを遅角化させる。その結果、燃焼の終了時期が相対的に遅角化して高負荷低回転時の熱効率を向上することが可能となる。
【０１８３】
また、低負荷高回転であるほど、基本目標着火角度ＡＤＶτBASEを進角化することで、目標着火時期τTAGTを進角化し、この目標着火時期τTAGTに対応して後述するフィードバック制御により着火時期τAを進角化させる。その結果、低負荷高回転領域においては、燃焼期間が相対的に進角化して燃焼の遅れが抑制され、熱効率を向上することが可能となる。
【０１８４】
これにより、エンジン運転領域毎に相違する燃焼期間に対応して、適切な目標着火時期を設定することが可能となり、各領域において熱効率を向上することが可能となる。
【０１８５】
尚、制御性は劣るが、簡易的には、エンジン回転数ＮE或いはエンジン負荷のみをパラメータとして上記基本目標着火角度ＡＤＶτBASEを設定するようにしてもよい。
【０１８６】
また、本実施の形態では、圧縮上死点を基準とする角度データとして基本目標着火角度ＡＤＶτBASEを設定しているが、制御精度が若干低下するものの、これに代え、エンジン回転数ＮEとエンジン負荷との少なくとも一方によるテーブル参照によりθ2クランクパルス入力を基準とした時間データとして基本目標着火時期を設定するようにしてもよい。この場合は、角度データを時間換算する後述のステップS95が不要となる。
【０１８７】
そして、上記ステップS92での基本目標着火角度ＡＤＶτBASEの設定後、ステップS93へ進み、エンジン温度の一例としての冷却水温度ＴWを読み出して、この冷却水温度ＴWに基づいて水温補正係数テーブルを補間計算付きで参照し、エンジン温度に応じて上記基本目標着火角度ＡＤＶτBASEを補正するための水温補正係数Ｋτを設定する。
【０１８８】
上記水温補正係数テーブルは、冷却水温度ＴWによるエンジン温度領域毎に、上記基本目標着火角度ＡＤＶτBASEを補正して最適な目標着火時期（角度）を得るための水温補正係数Ｋτを予めシミュレーション或いは実験等により求め、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０１８９】
上記水温補正係数テーブルの一例をステップS93中に示す。この水温補正係数テーブルには、通常運転状態時のエンジン常温域に対し、冷却水温度ＴWが低いエンジン低温域、及び冷却水温度ＴWの高いエンジン高温域において、小さい値すなわち上記基本目標着火角度ＡＤＶτBASEを遅角補正する水温補正係数Ｋτがメモリされている。
【０１９０】
すなわち、冷却水温度ＴWの低いエンジン低温域では、上記基本目標着火角度ＡＤＶτBASEを水温補正係数Ｋτによって遅角補正して目標着火時期τTAGTを設定することで、目標着火時期τTAGTを遅角化し、この目標着火時期τTAGTに対応して後述するフィードバック制御により着火時期τAを遅角化させる。これにより、燃焼温度が上昇してエンジン１の暖機が促進されると共に、燃焼温度の上昇に伴いエンジン排気温度が上昇して排気系に介装された触媒コンバータ２３の触媒温度を早期に昇温することが可能となり、触媒コンバータ２３の活性を促進して触媒作用を有効に発揮させ、排気エミッションの改善を図ることが可能となる。
【０１９１】
また、冷却水温度ＴWの高いエンジン高温域においても、水温補正係数Ｋτにより遅角補正して目標着火時期τTAGTを設定することで、着火時期τAを遅角化する。その結果、この着火時期τAの遅角化により燃焼圧力すなわち筒内圧力を相対的に低下させることが可能となり、エンジン１に対する悪影響を未然に回避することが可能となる。
【０１９２】
次いでステップS94へ進み、上記基本目標着火角度ＡＤＶτBASEを上記水温補正係数Ｋτにより補正して目標着火角度ＡＤＶτTGTを設定する（ＡＤＶτTGT←ＡＤＶτBASE×Ｋτ）。尚、制御性が低下するが、簡易的には上記ステップS93による水温補正係数Ｋτの設定、及び、ステップS94での水温補正係数Ｋτによる水温補正を省略してもよい。
【０１９３】
続くステップS95では、圧縮上死点を基準とした上記目標着火角度ＡＤＶτTGTを時間換算してθ2クランクパルス入力を基準とした目標着火時期τTAGTを設定する。本実施の形態では、上述のように時間制御方式を採用しており、この目標着火時期τTAGTを時間により設定する。
【０１９４】
すなわち、上記目標着火角度ＡＤＶτTGTは角度データ（ＢＴＤＣ°ＣＡ）のため、θ2クランクパルスが入力してから自己着火により着火するまでの時間に換算する必要があり、図１２のタイムチャートに示すように、最新のクランクパルス入力間隔時間をＴθ、該クランクパルス間角度をθとすると、本実施の形態では、θ2クランクパルス入力を基準として目標着火時期τTAGTを、次式により設定する。
【０１９５】
τTAGT←（Ｔθ／θ）×（θ2−ＡＤＶτTGT）
そして、ステップS96へ進み、ステップS96以降の処理によって、上述の着火時期検出ルーチンにおいて検出された実際の着火時期τAと上記目標着火時期τTAGTとの比較結果に応じてＥＧＲ弁２７に対する制御量ＥＧＲSを設定し、ＥＧＲによる吸気温度制御により着火時期τAが目標着火時期τTAGTに収束するようフィードバック制御する。
【０１９６】
ステップS96では、上記着火時期検出ルーチンによる最新の着火時期τAを読み出して、この着火時期τAと上記目標着火時期τTAGTに不感帯幅を定める設定値αを加算した目標着火時期上限（τTAGT＋α）とを比較する。
【０１９７】
そして、τA＜τTAGT＋αで、着火時期τAが目標着火時期上限（τTAGT＋α）を下回っているときには、ステップS97へ進み、更に着火時期τAを、上記目標着火時期τTAGTから設定値を減算した目標着火時期下限（τTAGT−α）と比較する。
【０１９８】
その結果、τA≧τTAGT−αであり、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内にあるときには（τTAGT＋α＞τA≧τTAGT−α）、そのままルーチンを抜け、現在のＥＧＲ弁２７に対する制御量（以下、「ＥＧＲ弁制御量」と称する）ＥＧＲSを維持する。
【０１９９】
また、上記ステップS97においてτA＜τTAGT−αであり、不感帯の範囲外で、着火時期τAが目標着火時期τTAGTよりも進角側のときには、ステップS98へ進み、ＥＧＲ弁２７のステッピングモータにより該ＥＧＲ弁２７の弁開度を所定量減少してＥＧＲ量を減少させるために、現在のＥＧＲ弁制御量ＥＧＲSから設定値ＤＥＧＲを減算して新たな制御量ＥＧＲSを設定し（ＥＧＲS←ＥＧＲS−ＤＥＧＲ）、前記ステップS90を経て、上記ステップS98による新たなＥＧＲ弁制御量ＥＧＲSをセットして、ルーチンを抜ける。
【０２００】
その結果、この制御量ＥＧＲSに対応する駆動信号がＥＣＵ５０からＥＧＲ弁２７に出力され、ＥＧＲ弁２７のステッピングモータの駆動によりＥＧＲ弁２７の弁開度が上記設定値ＤＥＧＲにより定まる所定量だけ減少し、ＥＧＲ量（ＥＧＲ率）の減少により吸気温度が低下される。
【０２０１】
従って、点火プラグ１８の火花点火を中止して自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも進角側のときには、ＥＧＲ量の減少によって吸気温度が低下され、この吸気温度の低下に伴い燃焼室１７内に供給される混合気の温度が低下し、圧縮行程時の筒内温度の低下によって自己着火による着火時期τAが遅角化される。
【０２０２】
一方、上記ステップS96においてτA≧τTAGT＋αであり、不感帯の範囲外で、図１２に示すように、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ステップS99へ進み、ＥＧＲ弁２７のステッピングモータにより該ＥＧＲ弁２７の弁開度を所定量増加してＥＧＲ量を増加させるために、ＥＧＲ弁制御量ＥＧＲSに設定値ＵＥＧＲを加算して新たな制御量ＥＧＲSを設定し（ＥＧＲS←ＥＧＲS＋ＵＥＧＲ）、ステップS100へ進む。
【０２０３】
ステップS100では、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて上限値テーブルを補間計算付きで参照して、ＥＧＲ弁制御量ＥＧＲSを上限規制する上限値ＥＧＲSMAXを設定する。
【０２０４】
上記上限値テーブルは、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐによるエンジン運転領域毎に、ＥＧＲ弁制御量ＥＧＲSの適正上限値ＥＧＲSMAXを予めシミュレーション或いは実験等により求め、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０２０５】
上記上限値テーブルの一例をステップS100中に示す。この上限値テーブルには、基本燃料噴射パルス幅Ｔｐが大きい高負荷領域、及びエンジン回転数ＮEの低い低回転領域において、小さい値の上限値ＥＧＲSMAXがメモリされている。逆に基本燃料噴射パルス幅Ｔｐが小さく且つエンジン回転数ＮEが高いほど、すなわちエンジン低負荷高回転領域に移行するほど、大きい値の上限値ＥＧＲSMAXがメモリされている。
【０２０６】
すなわち、上述のように、高負荷低回転であるほど、上記基本目標着火角度ＡＤＶτBASEを遅角設定して目標着火時期τTAGTを遅角化することで、高負荷低回転時の燃焼期間を適切に保ち熱効率の向上を図っている。このため、この目標着火時期τTAGTと着火時期τAとの比較に応じて設定されるＥＧＲ弁制御量ＥＧＲSの上限値ＥＧＲSMAXを、これに対応して低下することで、上限許容限界を適切に設定することが可能となる。
【０２０７】
また、低負荷高回転であるほど、基本目標着火角度ＡＤＶτBASEを進角設定して目標着火時期τTAGTを進角化することで、燃焼期間を相対的に進角化させ、低負荷高回転時の燃焼の遅れを抑制して熱効率の向上を図っているため、これに対応してＥＧＲ弁制御量ＥＧＲSの上限値ＥＧＲSMAXを上昇させる。
【０２０８】
これにより、エンジン運転領域毎に相違する目標着火時期τTAGTに対応して、ＥＧＲ弁制御量ＥＧＲSに対し適切な上限値ＥＧＲSMAXを設定することが可能となり、各領域において上限許容限界を適切に設定することが可能となる。
【０２０９】
尚、簡易的には、エンジン回転数ＮE或いはエンジン負荷のみをパラメータとして上記上限値ＥＧＲSMAXを設定するようにしてもよい。
【０２１０】
そして、ステップS101へ進み、上記ステップS99で増加修正したＥＧＲ弁制御量ＥＧＲSと上記ステップS100で設定した上限値ＥＧＲSMAXとを比較し、ＥＧＲS≦ＥＧＲSMAXでＥＧＲ制御量ＥＧＲSが上限値ＥＧＲSMAX以下のときには、前記ステップS90へジャンプし、上記ステップS99において増加修正したＥＧＲ弁制御量ＥＧＲSをセットして、ルーチンを抜ける。
【０２１１】
その結果、この制御量ＥＧＲSに対応する駆動信号がＥＣＵ５０からＥＧＲ弁２７に出力され、ＥＧＲ弁２７のステッピングモータの駆動によりＥＧＲ弁２７の弁開度が上記設定値ＵＥＧＲにより定まる所定量だけ増加し、ＥＧＲ量（ＥＧＲ率）の増加により吸気温度が上昇される。
【０２１２】
従って、点火プラグ１８の火花点火を中止して自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ＥＧＲ量が増加されて吸気温度が上昇され、この吸気温度の上昇に伴い燃焼室１７内に供給される混合気の温度が上昇し、圧縮行程時の筒内温度の上昇によって自己着火による着火時期τAが進角化される。
【０２１３】
これにより自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０２１４】
一方、上記ステップS101においてＥＧＲS＞ＥＧＲSMAXとなり、すなわち、自己着火による着火時期τAが目標着火時期τTAGTよりも遅角側のために、ＥＧＲ弁制御量ＥＧＲSを逐次増加修正した結果、ＥＧＲ制御量ＥＧＲSが上限値ＥＧＲSMAXを上回りＥＧＲ弁２７の弁開度がエンジン運転状態に応じた限界値に達したとき、エンジン過渡運転への移行、或いはシステム異常等に起因してＥＧＲによる吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能になった、或いは、自己着火自体が不能になったと判断して、ステップS102へ進む。
【０２１５】
そして、ステップS102で、圧縮着火制御フラグＦCOMPをクリアし（ＦCOMP←０）、続くステップS103で、現在のＥＧＲ制御量ＥＧＲSから設定値ＤＷＮＳＥＴを減算して新たなＥＧＲ弁制御量ＥＧＲSを設定することで（ＥＧＲS←ＥＧＲS−ＤＷＮＳＥＴ）、該ＥＧＲ弁制御量ＥＧＲSを初期状態に戻し、前記ステップS90を経て、上記ステップS103によるＥＧＲ弁制御量ＥＧＲSをセットして、ルーチンを抜ける。
【０２１６】
その結果、上記圧縮着火制御フラグＦCOMPのクリアにより圧縮着火制御から強制点火制御に移行し、上述の点火制御ルーチンにおいて、点火時期ＴADV、通電開始時期タイミングＴDWLの設定、及び各点火タイマセットが行われ、点火プラグ１８の火花点火による強制点火が再開される。
【０２１７】
以上の制御状態を図１３のタイムチャートに基づいて説明する。
【０２１８】
図１３のタイムチャートにおいてｔ１の時点で、上記圧縮着火制御条件判別ルーチンにより圧縮着火制御への移行条件が成立したとき、圧縮着火制御フラグＦCOMPがセットされて（ＦCOMP←１）、強制点火制御から圧縮着火制御に移行し、点火制御ルーチンによる点火時期ＴADVの設定及び各点火タイマのセットが中止されることで、点火プラグ１８による点火火花が中止される。また、このとき、ＥＧＲ弁制御量ＥＧＲSが設定値ＵＰＳＥＴによる所定量増加され（図３のステップS25）、これに対応してＥＧＲ弁２７の弁開度が所定量増加し、ＥＧＲ量（ＥＧＲ率）の増加によって吸気温度が上昇される。これにより、燃焼室１７内に供給される混合気の温度が上昇し、点火プラグ１８の火花点火による強制点火から自己着火に移行される。
【０２１９】
そして、この圧縮着火制御への移行後は、着火時期検出ルーチンにおいてイオン電流に基づき検出された実際の着火時期τAを、エンジン運転状態に基づいて設定した目標着火時期τTAGTに不感帯幅を定める設定値αを加算した目標着火時期上限（τTAGT＋α）、及び、目標着火時期τTAGTから設定値αを減算した目標着火時期下限（τTAGT−α）とそれぞれ比較する。
【０２２０】
そして、ｔ１〜ｔ２の時点において、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内にあるときには（τTAGT＋α＞τA≧τTAGT−α）、ＥＧＲ弁制御量ＥＧＲSをそのまま維持する。
【０２２１】
ｔ２の時点以降、着火時期τAが目標着火時期τTAGTよりも遅角側で不感帯を逸脱すると（τA≧τTAGT＋α）、ＥＧＲ制御ルーチン実行毎すなわち演算周期毎にＥＧＲ弁制御量ＥＧＲSを設定値ＵＥＧＲづつ漸次的に増加させ、ＥＧＲ弁２７の弁開度が上記設定値ＵＥＧＲにより定まる所定量づつ増加される。そして、このＥＧＲ弁２７の弁開度の増加によってＥＧＲ量（ＥＧＲ率）が増加し、これにより吸気温度が上昇され、この吸気温度の上昇に伴い燃焼室１７内に供給される混合気の温度が上昇し、圧縮行程時の筒内温度の上昇によって自己着火による着火時期τAが進角化される。その結果、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０２２２】
そして、ｔ３の時点で、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、ＥＧＲ弁制御量ＥＧＲSの増加修正が中止され、ＥＧＲ弁制御量ＥＧＲSすなわちＥＧＲ弁２７の弁開度がそのまま維持される。
【０２２３】
一方、ｔ４の時点以降、着火時期τAが目標着火時期τTAGTよりも進角側で不感帯を逸脱すると（τA＜τTAGT−α）、ＥＧＲ制御ルーチン実行毎にＥＧＲ弁制御量ＥＧＲSを設定値ＤＥＧＲづつ減少させ、ＥＧＲ弁２７の弁開度を上記設定値ＤＥＧＲにより定まる所定量づつ減少し、ＥＧＲ量（ＥＧＲ率）を減少させる。その結果、このＥＧＲ量の減少によって吸気温度が低下され、この吸気温度の低下に伴い燃焼室１７内に供給される混合気の温度が低下し、圧縮行程時の筒内温度の低下によって自己着火による着火時期τAが遅角化され、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０２２４】
これにより、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期τTAGTに収束するよう着火時期τAが制御され、自己着火時において常に最適な着火時期τAを得ることが可能となり、熱効率の向上により燃費向上、信頼性の向上を図ることができ、また、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、エンジンに対する悪影響を未然に回避することができるばかりか、エンジン騒音の低減を図ることが可能となる。
【０２２５】
そして、ｔ５の時点において、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、ＥＧＲ弁制御量ＥＧＲSの減少修正が中止され、ＥＧＲ弁制御量ＥＧＲSすなわちＥＧＲ弁２７の弁開度がそのまま維持される。
【０２２６】
また、ｔ６の時点以降、再び着火時期τAが目標着火時期τTAGTよりも遅角側で不感帯を逸脱すると（τA≧τTAGT＋α）、ＥＧＲ制御ルーチン実行毎にＥＧＲ弁制御量ＥＧＲSを設定値ＵＥＧＲづつ漸次的に増加させ、ＥＧＲ弁２７の弁開度が上記設定値ＵＥＧＲにより定まる所定量づつ増加される。
【０２２７】
そして、このＥＧＲ弁制御量ＥＧＲSの増加修正によっても着火時期τAが目標着火時期τTAGTに収束せず、ｔ７の時点において、ＥＧＲ弁制御量ＥＧＲSが、エンジン運転状態に基づいて設定した上限値ＥＧＲSMAXを上回ったとき（ＥＧＲS＞ＥＧＲSMAX）、すなわち、自己着火による着火時期τAが目標着火時期τTAGTよりも遅角側のために、ＥＧＲ弁制御量ＥＧＲSを逐次増加修正した結果、ＥＧＲ制御量ＥＧＲSが上限値ＥＧＲSMAXを上回りＥＧＲ弁２７の弁開度がエンジン運転状態に応じた限界値に達したとき、エンジン過渡運転への移行、或いはシステム異常等に起因してＥＧＲによる吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能になった、或いは、自己着火自体が不能になったと判断して、圧縮着火制御フラグＦCOMPがクリアされる（ＦCOMP←０；図１０のステップS102）。
【０２２８】
そして、この圧縮着火制御フラグＦCOMPのクリアにより圧縮着火制御から強制点火制御に移行し、上述の点火制御ルーチンにおいて、点火時期ＴADV、通電開始時期タイミングＴDWLの設定、及び各点火タイマセットが行われ、点火プラグ１８の火花点火による強制点火が再開される。
【０２２９】
これにより、エンジン過渡運転への移行、或いはシステム異常等に起因してＥＧＲによる吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能となった時、或いは、自己着火自体が不能になった時には、自己着火から点火プラグ１８の点火による強制点火に確実に移行することが可能となる。その結果、自己着火による着火時期τAの制御不能状態での自己着火の継続が防止され、ドライバビリティの悪化を防止することが可能となる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することが可能となり、且つ、エンジン１の耐久信頼性を向上することが可能となる。
【０２３０】
また、このとき、ＥＧＲ制御量ＥＧＲSが設定値ＤＷＮＳＥＴによる所定量減少され初期状態に復帰される。これに対応してＥＧＲ弁２７の弁開度が所定量減少し、通常のＥＧＲ制御に復帰する。
【０２３１】
尚、本実施の形態においては、圧縮着火制御時におけるＥＧＲ制御量ＥＧＲSを、着火時期τAと目標着火時期τTAGTとの比較結果に応じて積分制御により設定しているが、本発明はこれに限定されず、比例積分制御（ＰＩ制御）或いは比例積分微分制御（ＰＩＤ制御）により設定するようにしてもよいことは勿論である。
【０２３２】
また、本実施の形態においては、エンジン負荷として吸入空気量Ｑ或いは基本燃料噴射パルス幅Ｔｐを用いているが、エンジン負荷を表すものであればよく、本発明は、これに限定されない。
【０２３３】
更に、ＥＧＲ弁は本実施の形態のステッピングモータ式のＥＧＲ弁に限定されず、例えば、ダイヤフラムアクチュエータ式のＥＧＲ弁を採用し、このダイアフラムアクチュエータ式ＥＧＲ弁を作動させるための制御圧を調圧するデューティソレノイド弁に対する制御量を制御することで吸気加熱制御を行うようにしてもよい。また、デューティソレノイド弁による直動式のＥＧＲ弁を採用し、このデューティソレノイド弁に対する制御量を制御することで吸気加熱制御を行うようにしてもよい。
【０２３４】
また、本実施の形態においては、点火プラグ１８の点火による強制点火制御時においても、エンジン運転状態に応じてＥＧＲ制御を行うようにしているが、本発明はこれに限定されず、強制点火制御時においてＥＧＲを中止し、自己着火による圧縮着火制御時のみＥＧＲを行い、ＥＧＲを吸気加熱制御のみに使用するようにしてもよい。この場合は、図３の圧縮着火制御条件判別ルーチンにおいて、上述のように排気ガスの温度を設定値と比較することで、ＥＧＲによる吸気温度制御が可能か否かを判断し、また、図９のＥＧＲ制御ルーチンにおいて、ステップS82〜S88，S91を省略して、ＦCOMP＝０で強制点火制御が指示されているとき、ステップS81からステップS89へ進み、ＥＧＲを停止するようにする。
【０２３５】
次に、図１９〜図２２に基づいて、本発明の実施の第２形態を説明する。
【０２３６】
上記実施の第１形態においては、吸気加熱手段としてＥＧＲ装置２５を採用するのに対し、本実施の形態は、吸気加熱手段として、図２１に示すように、排気ガスと熱交換を行う熱交換器７０と、吸気系として吸気通路６を流れる吸気の一部を上記熱交換器７０に導入すると共に該熱交換器７０による熱交換後の加熱吸気を吸気系のスロットル弁５ａ下流のエアチャンバ４に戻す加熱吸気用通路７１と、該加熱空気用通路７１に介装され加熱吸気用通路７１を流れる加熱吸気の流量を調整する加熱吸気量調整弁７２とからなる吸気加熱装置を採用する。
【０２３７】
そして、上記着火時期τAが目標着火時期τTAGTよりも進角側のとき、加熱吸気量調整弁７２による加熱吸気量を減少制御して、吸気温度を低下させることで、エンジン燃焼室１７内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、加熱吸気量調整弁７２による加熱吸気流量を増加制御して、吸気温度を上昇させることで、燃焼室１７内の混合気温度を上昇し、自己着火による着火時期を進角化する。
【０２３８】
また、エンジン温度を表す冷却水温度ＴWが所定温度に達して排気温度が充分に上昇し、排気ガスとの熱交換により吸気温度を上昇させることで自己着火に移行することが可能と判断されるとき、加熱吸気量調整弁７２による加熱吸気流量を増加して、吸気温度を上昇制御し燃焼室１７内の混合気の温度を上昇させ、点火プラグ１８の放電による火花点火から自己着火に移行させる。すなわち、排気温度が上昇し、排気ガスとの熱交換によって得られる加熱吸気の流量制御による吸気温度制御によって、自己着火時の着火時期τAを制御することが可能となったとき、点火プラグ１８の放電による火花点火から自己着火に移行させる。
【０２３９】
更に、自己着火時において、上記着火時期τAが目標着火時期τTAGTよりも遅角側で且つ加熱吸気量調整弁７２の弁開度が限界値に達したとき、加熱吸気による吸気温度制御が不能となり自己着火の着火時期を制御することが不能になったと判断して、加熱吸気量調整弁７２による加熱吸気流量を減少して、自己着火から点火プラグ１８の放電による火花点火に移行させる。
【０２４０】
尚、上記実施の第１形態と同一の構成品、同一のステップについては、同一の符号を付して、その詳細説明は省略する。
【０２４１】
先ず、図２１に基づいて、本形態の吸気加熱装置について説明する。
【０２４２】
排気系のエキゾーストマニホルド２１に、排気ガスと熱交換を行う熱交換器７０が配設されている。そして、この熱交換器７０に吸気の一部を導入するため吸気管６と熱交換器７０とを連通する吸気導入通路７１ａと、熱交換器７０により排気ガスと熱交換された加熱吸気を吸気系に戻すため熱交換器７０とスロットル弁５ａ下流のエアチャンバ４とを連通する加熱空気供給通路７１ｂとにより、加熱空気用通路７１が構成される。
【０２４３】
また、上記加熱空気供給通路７１ｂに、該加熱空気供給通路７１ｂを流れる加熱吸気の流量すなわち吸入空気における加熱空気の供給率（以下、「加熱空気供給率」と称する）を調整することで吸気温度を制御するためのデューティソレノイド弁式の加熱吸気量調整弁７２が介装されている。尚、上記加熱吸気量調整弁７２は、吸気導入通路７１ａに介装してもよい。
【０２４４】
そして、スロットル弁５ａ下流に発生する吸気負圧によって、吸気管６を流れる吸気の一部が上記吸気導入通路７１ａを介して熱交換器７０に導入され、熱交換器７０で熱交換された加熱吸気が加熱空気供給通路７１ｂを介して、スロットル弁５ａ下流のエアチャンバ４に供給される。
【０２４５】
更に、図２２に示すように、ＥＣＵ５０のＩ／Ｏインターフェイス５６の出力ポートに、駆動回路５８を介して、上記加熱吸気量調整弁７２が接続されている。
【０２４６】
そして、加熱吸気量調整弁７２に対する制御量すなわち駆動信号のデューティ比ＤＵＴＹがＥＣＵ５０によって演算され、このデューティ比ＤＵＴＹに対応してＥＣＵ５０から出力される駆動信号に応じて加熱吸気量調整弁７２の弁開度が調整される。
【０２４７】
尚、本実施の形態においては、上記デューティ比ＤＵＴＹが１５％以下で、加熱吸気量調整弁７２が全閉となり加熱吸気の供給が停止され、デューティ比ＤＵＴＹが９０％以上のとき、加熱吸気量調整弁７２が全開となる。そして、デューティ比ＤＵＴＹが０％〜１００％の間で設定され、このデューティ比ＤＵＴＹによる駆動信号に応じて加熱吸気量調整弁７２の弁開度が調整されて、加熱空気流量すなわち加熱空気供給率が制御される。
【０２４８】
そして、本実施の形態では、上記実施の第１形態の図３の圧縮着火制御条件判別ルーチンに代えて、図１９に示す圧縮着火制御条件判別ルーチンを採用し、また、図９〜図１０のＥＧＲ制御ルーチンに代えて、図２０に示す吸気加熱制御ルーチンを採用する。尚、その他のルーチンについては、上記実施の第１形態のルーチンをそのまま採用し、その説明は省略する。
【０２４９】
以下、本形態の圧縮着火制御条件判別ルーチン及び吸気加熱制御ルーチンについて説明する尚、上記実施の第１形態と同一ステップについては、同一の符号を付して、その詳細説明は省略する。
【０２５０】
図１９に示す圧縮着火制御条件判別ルーチンは、上記実施の第１形態と同様に、システムイニシャライズ後、所定時間（例えば、１０msec）毎に実行され、ステップS11で、圧縮着火制御フラグＦCOMPを参照し、ＦCOMP＝１で、既に自己着火を行う圧縮着火制御が指示されているときには、ステップS19へジャンプして、ステップS19，S20で、現在のエンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとしてＲＡＭ５３の所定アドレスにストアして、そのままルーチンを抜ける。
【０２５１】
一方、ＦCOMP＝０で、現在、強制点火制御が選択され、点火プラグ１８の放電による強制点火が行われているとき、ステップS12へ進み、ステップS12〜S15，S22で、圧縮着火制御への移行条件が成立しているか否かを判断する。
【０２５２】
ステップS12，S13では、エンジン回転数ＮEと吸入空気量Ｑの変化を判断し、エンジン定常運転状態か否かを判断する。そして、｜ＮE−ＮEOLD｜＞ＮＥＳ或いは｜Ｑ−ＱOLD｜＞ＱＳのエンジン過渡運転状態時には、該当するステップからステップS18へジャンプして、条件継続時間カウント値ＣNをクリアし、次回の判定に備え、続くステップS19，S20で、それぞれ上記エンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとして、ルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０２５３】
また、上記ステップS12，S13において｜ＮE−ＮEOLD｜≦ＮＥＳ且つ｜Ｑ−ＱOLD｜≦ＱＳのエンジン定常運転状態時には、ステップS14へ進み、エンジン温度の一例としての冷却水温センサ３６によるエンジン冷却水温度ＴWを読み出し、この冷却水温度ＴWを設定値ＴＷＳと比較することで、加熱空気の流量制御による吸気温度制御が可能か否かを判断する。
【０２５４】
本実施の形態においては、上記設定値ＴＷＳは、エンジン１の暖機が完了し且つ排気温度が所定に上昇して排気ガスとの熱交換により高温の加熱吸気が得られ加熱吸気量調整弁７２による加熱吸気流量すなわち加熱空気供給率を制御することで、吸気温度を適切に制御することが可能な冷却水温度を、予めシミュレーション或いは実験等により求め、この温度値を設定値ＴＷＳとして設定し、固定データとしてＲＯＭ５２にメモリされているものである。
【０２５５】
従って、ＴW＜ＴＷＳで、加熱空気により吸気温度制御を適正に行い得ないと判断されるときには、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０２５６】
そして、上記ステップS14で、ＴW≧ＴＷＳのエンジン温度が所定温度に達したときには、エンジン１の暖機が完了し且つ排気温度が充分に上昇して、熱交換器７０による排気ガスとの熱交換後の加熱吸気により吸気温度を充分上昇させることが可能であり、加熱吸気量調整弁７２による加熱空気供給率を制御することで吸気温度を適正に制御することが可能と判断し、ステップS15へ進む。
【０２５７】
ステップS15では、前述の図４の点火制御ルーチンにおいて設定される点火プラグ１８による強制点火の点火時期ＴADV、及び図８の着火時期検出ルーチンおいてイオン電流に基づき検出した着火時期τAを読み出して、着火時期τAから点火時期ＴADVを減算し、この減算値を設定値ＴSETと比較することで、適正着火時期で自己着火が可能か否かを判断する。
【０２５８】
そして、τA−ＴADV＞ＴSETで、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が設定値ＴSETにより定まる所定時間を上回るときには、自己着火不能と判断して、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０２５９】
一方、上記ステップS15においてτA−ＴADV≦ＴSETで、点火時期ＴADVとイオン電流に基づき検出される着火時期τAとの時間間隔が上記設定値ＴSETによる所定値以内の時間に短縮されたとき、適正着火時期で自己着火が可能であると判断して、ステップS21へ進み、上記ステップS12〜S15の全ての条件による圧縮着火制御への切換条件成立の継続時間を計時する条件継続時間カウント値ＣNをカウントアップし、ステップS22で、上記条件継続時間カウント値ＣNを設定値ＣSET（例えば、数sec相当値）と比較する。
【０２６０】
そして、ＣN＜ＣSETのときには、未だ圧縮着火制御への切換条件が非成立であると判断して、上記ステップS19へ進み、ステップS19，S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０２６１】
また、上記ステップS22においてＣN≧ＣSETで、上記ステップS12〜S15による全ての条件成立の継続時間が、本ルーチンの実行周期と上記設定値ＣSETとにより定まる所定時間に達したとき、ステップS23へ進み、上記圧縮着火制御フラグＦCOMPをセットすることで（ＦCOMP←１）、点火プラグ１８の火花点火による強制点火制御を中止して、自己着火を行わせる圧縮着火制御を選択する。そして、ステップS24で、上記条件継続時間カウント値ＣNをクリアして、続くステップS201で、加熱吸気量調整弁７２に対する駆動信号のデューティ比を初期値ＤＩＮＩにより初期設定し（ＤＵＴＹ←ＤＩＮＩ）、ルーチンを抜ける。
【０２６２】
そして、上記圧縮着火制御フラグＦCOMPが、前述の図４の点火制御ルーチン、図５のθ2クランクパルス割り込みルーチン、及び、後述する図２０の吸気加熱制御ルーチンにおいて参照され、ＦCOMP＝０の強制点火制御時には、エンジン運転状態に応じて点火時期ＴADVを設定し、点火プラグ１８の火花点火による強制点火を行うと共に、吸気加熱を中止する。尚、ここで、強制点火制御時においても、エンジン運転状態に応じて加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定し、吸気加熱を行うようにしてもよい。
【０２６３】
また、ＦCOMP＝１の圧縮着火制御時には、点火時期ＴADVの設定が中止されて点火プラグ１８の火花点火による強制点火が中止されると共に、圧縮着火制御への移行時に、上述のステップS201において加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹが初期値ＤＩＮＩによる所定量増加され、これに対応して加熱吸気量調整弁７２の弁開度が所定量増加し、加熱吸気流量すなわち加熱空気供給率の増加によって吸気加熱が開始、或いは吸気加熱量が増加されることで、吸気温度が上昇し、これにより、燃焼室１７内に供給される混合気の温度が上昇され、点火プラグ１８の火花点火による強制点火から自己着火に移行される。
【０２６４】
そして、圧縮着火制御への移行後は、イオン電流に基づいて検出される着火時期τAと、エンジン運転状態に基づいて設定した目標着火時期τTAGTとの比較結果に応じて、加熱吸気量調整弁７２を制御することで、着火時期τAが目標着火時期τTAGTに収束するよう吸気温度を制御する。
【０２６５】
次に、図２０に示す吸気加熱制御ルーチンについて説明する。
【０２６６】
この吸気加熱制御ルーチンは、システムイニシャライズ後、所定時間（例えば、１６ms）毎に実行され、ステップS81で、圧縮着火制御フラグＦCOMPを参照する。
【０２６７】
そして、ＦCOMP＝０で、現在、強制点火制御が指示されているときには、そのままルーチンを抜け、吸気加熱を中止する。尚、このとき、上述のように、エンジン運転状態に応じて加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定し、吸気加熱を行うようにしてもよい。
【０２６８】
一方、上記ステップS81においてＦCOMP＝１で、点火プラグ１８の火花点火による強制点火が中止され自己着火を行うための圧縮着火制御が指示されているときには、ステップS92へ進み、ステップS92以降の処理によって、上記着火時期τAと目標着火時期τTAGTとの比較結果に応じたフィードバック制御により加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定して加熱吸気量調整弁７２による吸気温度制御を行い、自己着火による着火時期τAが目標着火時期τTAGTに収束するよう制御する。
【０２６９】
そして、ステップS92で、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて基本目標着火角度テーブルを補間計算付きで参照して、圧縮上死点を基準とする基本目標着火角度ＡＤＶτBASEを設定する。
【０２７０】
尚、本実施の形態においても、簡易的には、エンジン回転数ＮE或いはエンジン負荷のみをパラメータとして上記基本目標着火角度ＡＤＶτBASEを設定するようにしてもよい。また、エンジン回転数ＮEとエンジン負荷との少なくとも一方によるテーブル参照によりθ2クランクパルス入力を基準とした時間データとして基本目標着火時期を設定するようにしてもよい。この場合は、角度データを時間換算するためのステップS95が不要となる。
【０２７１】
続くステップS93では、エンジン温度の一例としての冷却水温度ＴWを読み出して、この冷却水温度ＴWに基づいて水温補正係数テーブルを補間計算付きで参照し、エンジン温度に応じて上記基本目標着火角度ＡＤＶτBASEを補正するための水温補正係数Ｋτを設定する。
【０２７２】
次いでステップS94へ進み、上記基本目標着火角度ＡＤＶτBASEを上記水温補正係数Ｋτにより補正して目標着火角度ＡＤＶτTGTを設定する（ＡＤＶτTGT←ＡＤＶτBASE×Ｋτ）。尚、制御性が低下するが、簡易的には上記ステップS93による水温補正係数Ｋτの設定、及び、ステップS94での水温補正係数Ｋτによる水温補正を省略してもよい。
【０２７３】
続くステップS95では、圧縮上死点を基準とした上記目標着火角度ＡＤＶτTGTを時間換算してθ2クランクパルス入力を基準とした目標着火時期τTAGTを設定する（τTAGT←（Ｔθ／θ）×（θ2−ＡＤＶτTGT））。
【０２７４】
そして、ステップS96へ進み、ステップS96以降の処理によって、上述の着火時期検出ルーチンにおいて検出された実際の着火時期τAと上記目標着火時期τTAGTとの比較結果に応じて加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定し、加熱吸気流量（加熱空気供給率）を制御することによって吸気温度制御を行い、着火時期τAが目標着火時期τTAGTに収束するようフィードバック制御する。
【０２７５】
ステップS96では、着火時期検出ルーチンによる最新の着火時期τAを読み出して、この着火時期τAと上記目標着火時期τTAGTに不感帯幅を定める設定値αを加算した目標着火時期上限（τTAGT＋α）とを比較する。
【０２７６】
そして、τA＜τTAGT＋αで、着火時期τAが目標着火時期上限（τTAGT＋α）を下回っているときには、ステップS97へ進み、更に着火時期τAを、上記目標着火時期τTAGTから設定値を減算した目標着火時期下限（τTAGT−α）と比較する。
【０２７７】
その結果、τA≧τTAGT−αであり、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内にあるときには（τTAGT＋α＞τA≧τTAGT−α）、そのままルーチンを抜け、現在の加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹをそのまま維持する。
【０２７８】
また、上記ステップS97においてτA＜τTAGT−αであり、不感帯の範囲外で、着火時期τAが目標着火時期τTAGTよりも進角側のときには、ステップS211へ進み、現在のデューティ比ＤＵＴＹから設定値ＤＤＩＮＴを減算して新たなデューティ比ＤＵＴＹを設定する（ＤＵＴＹ←ＤＵＴＹ−ＤＤＩＮＴ）。
【０２７９】
そして、ステップS217へ進み、上記ステップS211による新たなデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０２８０】
その結果、このデューティ比ＤＵＴＹによる駆動信号がＥＣＵ５０から加熱吸気量調整弁７２に出力され、加熱吸気量調整弁７２の弁開度が上記設定値ＤＤＩＮＴにより定まる所定量だけ減少し、加熱吸気流量（加熱空気供給率）の減少により吸気温度が低下される。
【０２８１】
すなわち、点火プラグ１８の火花点火を中止して自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも進角側で不感帯を逸脱すると（τA＜τTAGT−α）、本ルーチン実行毎に加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定値ＤＤＩＮＴづつ減少させ、加熱吸気量調整弁７２の弁開度を上記設定値ＤＤＩＮＴにより定まる所定量づつ減少し、加熱吸気流量（加熱空気供給率）を減少させる。その結果、この加熱吸気流量の減少によって吸気温度が低下され、この吸気温度の低下に伴い燃焼室１７内に供給される混合気の温度が低下し、圧縮行程時の筒内温度の低下によって自己着火による着火時期τAが遅角化され、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０２８２】
そして、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、デューティ比ＤＵＴＹの減少修正が中止され、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹ、すなわち加熱吸気量調整弁７２の弁開度がそのまま維持される。
【０２８３】
一方、上記ステップS96においてτA≧τTAGT＋αであり、不感帯の範囲外で、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ステップS212へ進み、現在のデューティ比ＤＵＴＹに設定値ＵＤＩＮＴを加算して新たなデューティ比ＤＵＴＹを設定する（ＤＵＴＹ←ＤＵＴＹ＋ＵＤＩＮＴ）。
【０２８４】
そして、ステップS213へ進み、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて上限値テーブルを補間計算付きで参照して、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを上限規制する上限値ＤＵＴＹMAXを設定する。
【０２８５】
上記上限値テーブルは、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐによるエンジン運転領域毎に、デューティ比ＤＵＴＹの適正上限値ＤＵＴＹMAXを予めシミュレーション或いは実験等により求め、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０２８６】
上記上限値テーブルの一例をステップS213中に示す。この上限値テーブルには、基本燃料噴射パルス幅Ｔｐが大きい高負荷領域、及びエンジン回転数ＮEの低い低回転領域において、小さい値の上限値ＤＵＴＹMAXがメモリされている。逆に基本燃料噴射パルス幅Ｔｐが小さく且つエンジン回転数ＮEが高いほど、すなわちエンジン低負荷高回転領域に移行するほど、大きい値の上限値ＤＵＴＹMAXがメモリされている。
【０２８７】
すなわち、前述のように、高負荷低回転であるほど、上記基本目標着火角度ＡＤＶτBASEを遅角設定して目標着火時期τTAGTを遅角化することで、高負荷低回転時の燃焼期間を適切に保ち熱効率の向上を図っているため、この目標着火時期τTAGTと着火時期τAとの比較に応じて設定されるデューティ比ＤＵＴＹの上限値ＤＵＴＹMAXを、これに対応して低下することで、上限許容限界を適切に設定することが可能となる。
【０２８８】
また、低負荷高回転であるほど、基本目標着火角度ＡＤＶτBASEを進角設定して目標着火時期τTAGTを進角化することで、燃焼期間を相対的に進角化させ、低負荷高回転時の燃焼の遅れを抑制して熱効率の向上を図っているため、これに対応してデューティ比ＤＵＴＹの上限値ＤＵＴＹMAXを上昇させる。
【０２８９】
これにより、エンジン運転領域毎に相違する目標着火時期τTAGTに対応して、デューティ比ＤＵＴＹに対し適切な上限値ＤＵＴＹMAXを設定することが可能となり、各領域において上限許容限界を適切に設定することが可能となる。
【０２９０】
尚、簡易的には、エンジン回転数ＮE或いはエンジン負荷のみをパラメータとして上記上限値ＤＵＴＹMAXを設定するようにしてもよい。
【０２９１】
そして、ステップS214へ進み、上記ステップS212で増加修正したデューティ比ＤＵＴＹと上記ステップS213で設定した上限値ＤＵＴＹMAXとを比較し、ＤＵＴＹ≦ＤＵＴＹMAXで、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹが上限値ＤＵＴＹMAX以下のときには、上記ステップS217へジャンプし、上記ステップS212において増加修正したデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０２９２】
その結果、このデューティ比ＤＵＴＹによる駆動信号がＥＣＵ５０から加熱吸気量調整弁７２に出力され、加熱吸気量調整弁７２の弁開度が上記設定値ＵＤＩＮＴにより定まる所定量だけ増加し、加熱吸気流量（加熱空気供給率）の増加により吸気温度が上昇される。
【０２９３】
すなわち、自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも遅角側で不感帯を逸脱すると（τA≧τTAGT＋α）、本ルーチン実行毎に加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定値ＵＤＩＮＴづつ漸次的に増加させ、加熱吸気量調整弁７２の弁開度が上記設定値ＵＤＩＮＴにより定まる所定量づつ増加される。そして、この加熱吸気量調整弁７２の弁開度の増加によって加熱吸気流量（加熱空気供給率）が増加し、これにより吸気温度が上昇され、この吸気温度の上昇に伴い燃焼室１７内に供給される混合気の温度が上昇し、圧縮行程時の筒内温度の上昇によって自己着火による着火時期τAが進角化される。その結果、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０２９４】
そして、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、デューティ比ＤＵＴＹの増加修正が中止され、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹすなわち加熱吸気量調整弁７２の弁開度がそのまま維持される。
【０２９５】
以上の吸気温度制御により、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期τTAGTに収束するよう着火時期τAが制御され、自己着火時において常に最適な着火時期τAを得ることが可能となり、熱効率の向上により燃費向上、信頼性の向上を図ることができる。
【０２９６】
また、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、その結果、エンジンに対する悪影響を未然に回避することが可能となり、且つ、エンジン騒音の低減を図ることが可能となる。
【０２９７】
一方、上記ステップS214において、ＤＵＴＹ＞ＤＵＴＹMAXとなり、デューティ比ＤＵＴＹの増加修正によっても着火時期τAが目標着火時期τTAGTに収束せず、加熱吸気量調整弁７２に対する駆動信号のデューティＤＵＴＹが、エンジン運転状態に基づいて設定した上限値ＤＵＴＹMAXを上回ったとき、すなわち、自己着火による着火時期τAが目標着火時期τTAGTよりも遅角側のために、デューティ比ＤＵＴＹを逐次増加修正した結果、デューティ比ＤＵＴＹが上限値ＤＵＴＹMAXを上回り加熱吸気量調整弁７２の弁開度がエンジン運転状態に応じた限界値に達したとき、エンジン過渡運転への移行、或いはシステム異常等に起因して加熱吸気流量（加熱空気供給率）調整による吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能になった、或いは、自己着火自体が不能になったと判断して、ステップS215へ進む。
【０２９８】
そして、ステップS215で、圧縮着火制御フラグＦCOMPをクリアし（ＦCOMP←０）、続くステップS216で、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを０％とし（ＤＵＴＹ←０）、ステップS217で、上記ステップS216によるデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０２９９】
その結果、圧縮着火制御フラグＦCOMPのクリアにより圧縮着火制御から強制点火制御に移行し、前述の点火制御ルーチンにおいて、点火時期ＴADV、通電開始時期タイミングＴDWLの設定、及び各点火タイマセットが行われ、点火プラグ１８の火花点火による強制点火が再開される。
【０３００】
これにより、エンジン過渡運転への移行、或いはシステム異常等に起因して加熱吸気流量調整による吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能となった時、或いは、自己着火自体が不能となった時には、自己着火から点火プラグ１８の点火による強制点火に確実に移行することが可能となる。その結果、本実施の形態においても、自己着火による着火時期τAの制御不能状態での自己着火の継続が防止され、ドライバビリティの悪化を防止することが可能となる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することが可能となり、且つ、エンジン１の耐久信頼性を向上することが可能となる。
【０３０１】
また、このとき、デューティ比ＤＵＴＹが０％に設定され、初期状態に復帰される。これに対応して加熱吸気量調整弁７２の弁開度が減少して全閉となり、吸気加熱が中止される。
【０３０２】
尚、本実施の形態では、圧縮着火制御から強制点火制御への移行に伴い、加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを０％とし、加熱吸気制御弁７２を全閉として、吸気加熱を中止しているが、強制点火制御時においても、エンジン運転状態に応じて加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを設定して吸気加熱を行う場合は、上記ステップS216において、現在のデューティ比ＤＵＴＹから設定値を減算して新たなデューティ比ＤＵＴＹを設定することで、吸気加熱制御量を初期状態に戻す。
【０３０３】
また、本実施の形態では、圧縮着火制御時における加熱吸気量調整弁７２に対する駆動信号のデューティ比ＤＵＴＹを、着火時期τAと目標着火時期τTAGTとの比較結果に応じて積分制御により設定しているが、本発明はこれに限定されず、比例積分制御（ＰＩ制御）或いは比例積分微分制御（ＰＩＤ制御）により設定するようにしてもよい。
【０３０４】
また、加熱吸気量調整弁７２は、本実施の形態のデューティソレノイド弁式の加熱吸気量調整弁に限定されず、適宜の形式のものを採用してもよいことは勿論である。
【０３０５】
更に、本実施の形態においては、熱交換器７０をエンジンの排気系に配設して、吸気系を流れる吸気の一部を排気ガスと熱交換し、吸気加熱を行うようにしているが、本発明はこれに限定されず、例えば、熱交換器をエンジン１自体に配設して、吸気の一部をエンジン発生熱と熱交換を行わせて吸気加熱を行わせるようにしてもよい。
【０３０６】
次に、図２３及び図２４に基づいて、本発明の実施の第３形態を説明する。
【０３０７】
本実施の形態は、吸気加熱手段として、図２３に示すように、吸気系に周知のＰＴＣヒータ等の電気式のヒータ８０を介装する。
【０３０８】
そして、上記着火時期τAが目標着火時期τTAGTよりも進角側のとき、ヒータ８０の発熱量を減少制御して、吸気温度を低下させることで、エンジン燃焼室１７内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ヒータ８０の発熱量を増加制御して、吸気温度を上昇させることで、燃焼室１７内の混合気温度を上昇し、自己着火による着火時期を進角化する。
【０３０９】
また、エンジン温度を表す冷却水温度ＴWが所定温度に達してエンジン暖機完了状態となり燃焼が安定化し、自己着火に移行することが可能と判断されるとき、ヒータ発熱量を増加して吸気温度を上昇制御し、燃焼室１７内の混合気の温度を上昇させ、点火プラグ１８の放電による火花点火から自己着火に移行させる。
【０３１０】
更に、自己着火時において、上記着火時期τAが目標着火時期τTAGTよりも遅角側で且つヒータ発熱量が限界値に達したとき、ヒータ８０による吸気温度制御が不能となり自己着火の着火時期を制御することが不能になったと判断して、ヒータ発熱量を減少して、自己着火から点火プラグ１８の放電による火花点火に移行させる。
【０３１１】
尚、上記実施の各形態と同一の構成品については、同一の符号を付して、その説明は省略する。
【０３１２】
先ず、本形態のヒータ８０について説明する。
【０３１３】
上記ヒータ８０は、図２３に示すように、吸気系としてインテークマニホルド３内の吸気通路に各気筒毎に対応して配設されている。
【０３１４】
更に、図２４に示すように、ＥＣＵ５０のＩ／Ｏインターフェイス５６の出力ポートに、駆動回路５８を介して、ヒータ８０に対する電源電圧を可変としヒータ供給電力調整によりヒータ８０の発熱量を調整する周知のヒータコントロールモジュール（以下、「ＨＴＣＭ」と略称する）８１が接続されており、このＨＴＣＭ８１に上記ヒータ８０が接続されている。そして、イグニッションスイッチ６２を介してＨＴＣＭ８１にバッテリ６１が接続され、電源が与えられる。
【０３１５】
上記ＨＴＣＭ８１は、ＥＣＵ５０から出力されるデューティ信号のデューティ比ＤＵＴＹに応じてバッテリ６１からのバッテリ電圧ＶBを変圧し、この変圧後の電圧を電源電圧としてヒータ８０に与えるものであり、このＨＴＣＭ８１によりヒータ供給電力を調整することで、ヒータ８０の発熱量が調整される。
【０３１６】
尚、本実施の形態においては、上記デューティ比ＤＵＴＹが０％で、ＨＴＣＭ８１からヒータ８０に印可される電圧が０Ｖすなわちヒータ供給電力が０となり、ヒータ発熱が停止される。また、デューティ比ＤＵＴＹが１００％のとき、ＨＴＣＭ８１からヒータ８０に最大電圧が印可され、ヒータ発熱量が最大となる。
【０３１７】
そして、ＥＣＵ５０において、デューティ比ＤＵＴＹが０％〜１００％の間で設定され、このデューティ比ＤＵＴＹによるデューティ信号に応じてＨＴＣＭ８１によりヒータ８０への電源電圧すなわちヒータ供給電力が調整されて、ヒータ８０の発熱量が調整される。
【０３１８】
そして、本実施の形態では、上記実施の第２形態の図１９の圧縮着火制御条件判別ルーチン、及び図２０の吸気加熱制御ルーチンを採用する。但し、一部のステップにおいて、その設定値内容等が異なる。これ以外のステップについては同一であり、その詳細説明は省略する。
【０３１９】
尚、その他のルーチン（気筒判別／エンジン回転数算出ルーチン、点火制御ルーチン、θ2クランクパルス割り込みルーチン、ＴDWL割り込みルーチン、ＴADV割り込みルーチン、着火時期検出ルーチン）については、上記実施の第１形態のルーチンをそのまま採用し、その説明は省略する。
【０３２０】
以下、本形態の圧縮着火制御条件判別ルーチン及び吸気加熱制御ルーチンについて、上述の図１９及び図２０を用い説明する。
【０３２１】
先ず、図１９を用い圧縮着火制御条件判別ルーチンについて説明すると、ステップS11で、圧縮着火制御フラグＦCOMPを参照し、ＦCOMP＝１で、既に自己着火を行う圧縮着火制御が指示されているときには、ステップS19へジャンプして、ステップS19，S20で、現在のエンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとしてＲＡＭ５３の所定アドレスにストアして、そのままルーチンを抜ける。
【０３２２】
一方、ＦCOMP＝０で、現在、強制点火制御が選択され、点火プラグ１８の放電による強制点火が行われているとき、ステップS12へ進み、ステップS12〜S15，S22で、圧縮着火制御への移行条件が成立しているか否かを判断する。
【０３２３】
そして、ステップS12，S13で、｜ＮE−ＮEOLD｜＞ＮＥＳ或いは｜Ｑ−ＱOLD｜＞ＱＳのエンジン過渡運転状態時には、該当するステップからステップS18へジャンプして、条件継続時間カウント値ＣNをクリアし、続くステップS19，S20で、それぞれエンジン回転数ＮE，吸入空気量Ｑを前回の値ＮEOLD，ＱOLDとして、ルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０３２４】
また、上記ステップS12，S13において｜ＮE−ＮEOLD｜≦ＮＥＳ且つ｜Ｑ−ＱOLD｜≦ＱＳのエンジン定常運転状態時には、ステップS14へ進み、エンジン温度の一例としての冷却水温センサ３６によるエンジン冷却水温度ＴWを読み出し、この冷却水温度ＴWを設定値ＴＷＳと比較することで、エンジン暖機完了状態か否かを判断する。
【０３２５】
そして、ＴW＜ＴＷＳでエンジン１の暖機未完了時には、上記ステップS18へジャンプして、ステップS18〜S20を経てルーチンを抜け、また、ＴW≧ＴＷＳの暖機完了時には、ステップS15へ進む。
【０３２６】
ステップS15では、前述の図４の点火制御ルーチン、図８の着火時期検出ルーチンによる点火時期ＴADV、着火時期τAをそれぞれ読み出して、着火時期τAから点火時期ＴADVを減算し、この減算値を設定値ＴSETと比較することで、自己着火が可能か否かを判断する。そして、τA−ＴADV＞ＴSETで、点火時期ＴADVと着火時期τAとの時間間隔が設定値ＴSETにより定まる所定時間を上回るときには、自己着火不能と判断して、上記ステップS18〜S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０３２７】
一方、上記ステップS15においてτA−ＴADV≦ＴSETで、点火時期ＴADVと着火時期τAとの時間間隔が上記設定値ＴSETによる所定値以内の時間に短縮されたとき、適正着火時期で自己着火が可能であると判断して、ステップS21へ進み、上記ステップS12〜S15の全ての条件による圧縮着火制御への切換条件成立の継続時間を計時する条件継続時間カウント値ＣNをカウントアップし、ステップS22で、上記条件継続時間カウント値ＣNを設定値ＣSETと比較する。
【０３２８】
そして、ＣN＜ＣSETのときには、未だ圧縮着火制御への切換条件が非成立であると判断して、上記ステップS19へ進み、ステップS19，S20を経てルーチンを抜け、点火プラグ１８の火花点火による強制点火制御を継続する。
【０３２９】
また、上記ステップS22においてＣN≧ＣSETで、上記ステップS12〜S15による全ての条件成立の継続時間が、本ルーチンの実行周期と上記設定値ＣSETとにより定まる所定時間に達したとき、ステップS23へ進み、上記圧縮着火制御フラグＦCOMPをセットすることで（ＦCOMP←１）、点火プラグ１８の火花点火による強制点火制御を中止して、自己着火を行わせる圧縮着火制御を選択する。
【０３３０】
そして、ステップS24で、上記条件継続時間カウント値ＣNをクリアし、続くステップS201で、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを初期値ＤＩＮＩにより初期設定し（ＤＵＴＹ←ＤＩＮＩ）、ルーチンを抜ける。
【０３３１】
そして、上記圧縮着火制御フラグＦCOMPが、前述の図４の点火制御ルーチン、図５のθ2クランクパルス割り込みルーチン、及び、図２０の吸気加熱制御ルーチンにおいて参照され、ＦCOMP＝０の強制点火制御時には、エンジン運転状態に応じて点火時期ＴADVを設定し、点火プラグ１８の火花点火による強制点火を行うと共に、吸気加熱を中止する。尚、ここで、強制点火制御時においても、エンジン運転状態に応じＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定し、ヒータ発熱量を制御して吸気加熱を行うようにしてもよい。
【０３３２】
また、ＦCOMP＝１の圧縮着火制御時には、点火時期ＴADVの設定が中止されて点火プラグ１８の火花点火による強制点火が中止されると共に、圧縮着火制御への移行時に、上記ステップS201で、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹが初期値ＤＩＮＩによる所定量増加され、これに対応してＨＴＣＭ８１からヒータ８０への電源電圧すなわちヒータ供給電力が所定量増加し、ヒータ８０の発熱が開始、或いはヒータ発熱量が増加されることで、ヒータ８０による吸気加熱が開始、或いはヒータ８０による吸気加熱量が増加して、吸気温度が上昇し、これにより、燃焼室１７内に供給される混合気の温度が上昇され、点火プラグ１８の火花点火による強制点火から自己着火に移行される。
【０３３３】
そして、圧縮着火制御への移行後は、イオン電流に基づいて検出される着火時期τAと、エンジン運転状態に基づいて設定した目標着火時期τTAGTとの比較結果に応じて、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定して、ＨＴＣＭ８１によりヒータ８０への電源電圧を調整し、ヒータ８０の発熱量を制御することで、着火時期τAが目標着火時期τTAGTに収束するよう吸気温度を制御する。
【０３３４】
次に、図２０により吸気加熱制御ルーチンについて説明すると、ステップS81で、圧縮着火制御フラグＦCOMPを参照し、ＦCOMP＝０で強制点火制御が指示されているときには、そのままルーチンを抜け、吸気加熱を中止する。尚、上述のように本実施の形態においては、強制点火制御時には、ヒータ８０による吸気加熱を中止しているが、強制点火制御時においても、エンジン運転状態に応じＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定し、ヒータ発熱量を制御して吸気加熱を行うようにしてもよい。
【０３３５】
一方、上記ステップS81においてＦCOMP＝１で、点火プラグ１８の火花点火による強制点火が中止され自己着火を行うための圧縮着火制御が指示されているときには、ステップS92へ進み、ステップS92以降の処理によって、上記着火時期τAと目標着火時期τTAGTとの比較結果に応じたフィードバック制御によりＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定してヒータ８０による吸気温度制御を行い、自己着火による着火時期τAが目標着火時期τTAGTに収束するよう制御する。
【０３３６】
ステップS92では、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとの少なくとも一方に基づいてテーブル参照により、圧縮上死点を基準とする基本目標着火角度ＡＤＶτBASEを設定し、続くステップS93で、エンジン温度の一例としての冷却水温度ＴWを読み出して、この冷却水温度ＴWに基づいて水温補正係数テーブル参照により水温補正係数Ｋτを設定する。
【０３３７】
次いでステップS94へ進み、上記基本目標着火角度ＡＤＶτBASEを上記水温補正係数Ｋτにより補正して目標着火角度ＡＤＶτTGTを設定し（ＡＤＶτTGT←ＡＤＶτBASE×Ｋτ）、ステップS95で、圧縮上死点を基準とした上記目標着火角度ＡＤＶτTGTを時間換算してθ2クランクパルス入力を基準とした目標着火時期τTAGTを設定する（τTAGT←（Ｔθ／θ）×（θ2−ＡＤＶτTGT））。
【０３３８】
そして、ステップS96へ進み、ステップS96以降の処理によって、上述の着火時期検出ルーチンにおいて検出された実際の着火時期τAと上記目標着火時期τTAGTとの比較結果に応じてＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定し、ヒータ８０の発熱量を制御することによって吸気温度制御を行い、着火時期τAが目標着火時期τTAGTに収束するようフィードバック制御する。
【０３３９】
ステップS96では、着火時期検出ルーチンによる最新の着火時期τAを読み出して、この着火時期τAと上記目標着火時期τTAGTに不感帯幅を定める設定値αを加算した目標着火時期上限（τTAGT＋α）とを比較する。
【０３４０】
そして、τA＜τTAGT＋αのときには、ステップS97へ進み、更に着火時期τAを、上記目標着火時期τTAGTから設定値を減算した目標着火時期下限（τTAGT−α）と比較する。
【０３４１】
その結果、τA≧τTAGT−αであり、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内にあるときには（τTAGT＋α＞τA≧τTAGT−α）、そのままルーチンを抜け、現在のＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹすなわちヒータ８０による吸気加熱量をそのまま維持する。
【０３４２】
また、上記ステップS97においてτA＜τTAGT−αであり、不感帯の範囲外で、着火時期τAが目標着火時期τTAGTよりも進角側のときには、ステップS211へ進み、現在のデューティ比ＤＵＴＹから設定値ＤＤＩＮＴを減算して新たなデューティ比ＤＵＴＹを設定する（ＤＵＴＹ←ＤＵＴＹ−ＤＤＩＮＴ）。
【０３４３】
そして、ステップS217へ進み、上記ステップS211による新たなデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０３４４】
その結果、このデューティ比ＤＵＴＹによるデューティ信号がＥＣＵ５０からＨＴＣＭ８１に出力され、ＨＴＣＭ８１によるヒータ８０への電源電圧すなわちヒータ供給電力が上記設定値ＤＤＩＮＴにより定まる所定量だけ減少し、ヒータ８０の発熱量の減少によってヒータ８０による吸気加熱量が減少して、吸気温度が低下される。
【０３４５】
すなわち、点火プラグ１８の火花点火を中止して自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも進角側で不感帯を逸脱すると（τA＜τTAGT−α）、本ルーチン実行毎にＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定値ＤＤＩＮＴづつ減少させ、ヒータ供給電力すなわちヒータ８０の発熱量を漸次的に減少させる。そして、このヒータ発熱量の減少によってヒータ８０による吸気加熱量が減少して吸気温度が低下され、この吸気温度の低下に伴い燃焼室１７内に供給される混合気の温度が低下し、圧縮行程時の筒内温度の低下によって自己着火による着火時期τAが遅角化され、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０３４６】
そして、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、デューティ比ＤＵＴＹの減少修正が中止され、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹ、すなわちヒータ８０による吸気加熱量がそのまま維持される。
【０３４７】
一方、上記ステップS96においてτA≧τTAGT＋αであり、不感帯の範囲外で、着火時期τAが目標着火時期τTAGTよりも遅角側のときには、ステップS212へ進み、現在のデューティ比ＤＵＴＹに設定値ＵＤＩＮＴを加算して新たなデューティ比ＤＵＴＹを設定する（ＤＵＴＹ←ＤＵＴＹ＋ＵＤＩＮＴ）。
【０３４８】
そして、ステップS217へ進み、エンジン回転数ＮEとエンジン負荷を表す基本燃料噴射パルス幅Ｔｐとに基づいて上限値テーブルを補間計算付きで参照して、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを上限規制する上限値ＤＵＴＹMAXを設定する。
【０３４９】
上記上限値テーブルは、エンジン回転数ＮE及び基本燃料噴射パルス幅Ｔｐによるエンジン運転領域毎に、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹの適正上限値ＤＵＴＹMAXを予めシミュレーション或いは実験等により求め、ＲＯＭ５２の一連のアドレスにメモリされているものである。
【０３５０】
上記ステップS213中に示すように、上記実施の第２形態と同様、この上限値テーブルには、基本燃料噴射パルス幅Ｔｐが大きい高負荷領域、及びエンジン回転数ＮEの低い低回転領域において、小さい値の上限値ＤＵＴＹMAXがメモリされている。逆に基本燃料噴射パルス幅Ｔｐが小さく且つエンジン回転数ＮEが高いほど、すなわちエンジン低負荷高回転領域に移行するほど、大きい値の上限値ＤＵＴＹMAXがメモリされている。
【０３５１】
すなわち、前述のように、高負荷低回転であるほど、上記基本目標着火角度ＡＤＶτBASEを遅角設定して目標着火時期τTAGTを遅角化することで、高負荷低回転時の燃焼期間を適切に保ち熱効率の向上を図っているため、この目標着火時期τTAGTと着火時期τAとの比較に応じて設定されるＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹの上限値ＤＵＴＹMAXを、これに対応して低下することで、上限許容限界を適切に設定することが可能となる。
【０３５２】
また、低負荷高回転であるほど、基本目標着火角度ＡＤＶτBASEを進角設定して目標着火時期τTAGTを進角化することで、燃焼期間を相対的に進角化させ、低負荷高回転時の燃焼の遅れを抑制して熱効率の向上を図っているため、これに対応してデューティ比ＤＵＴＹの上限値ＤＵＴＹMAXを上昇させる。
【０３５３】
これにより、エンジン運転領域毎に相違する目標着火時期τTAGTに対応して、デューティ比ＤＵＴＹに対し適切な上限値ＤＵＴＹMAXを設定することが可能となり、各領域において上限許容限界を適切に設定することが可能となる。
【０３５４】
尚、簡易的には、エンジン回転数ＮE或いはエンジン負荷のみをパラメータとして上記上限値ＤＵＴＹMAXを設定するようにしてもよい。
【０３５５】
そして、ステップS214へ進み、上記ステップS212で増加修正したデューティ比ＤＵＴＹと上記ステップS213で設定した上限値ＤＵＴＹMAXとを比較し、ＤＵＴＹ≦ＤＵＴＹMAXで、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹが上限値ＤＵＴＹMAX以下のときには、上記ステップS217へジャンプし、上記ステップS212により増加修正したデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０３５６】
その結果、このデューティ比ＤＵＴＹによるデューティ信号がＥＣＵ５０からＨＴＣＭ８１に出力され、ＨＴＣＭ８１によるヒータ８０への電源電圧すなわちヒータ供給電力が上記設定値ＵＤＩＮＴにより定まる所定量だけ増加し、ヒータ８０の発熱量の増加によってヒータ８０による吸気加熱量が増加して、吸気温度が上昇される。
【０３５７】
すなわち、自己着火を行う圧縮着火制御時において、着火時期τAが目標着火時期τTAGTよりも遅角側で不感帯を逸脱すると（τA≧τTAGT＋α）、本ルーチン実行毎にＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定値ＵＤＩＮＴづつ増加させ、ヒータ供給電力すなわちヒータ８０の発熱量を漸次的に増加させる。そして、このヒータ発熱量の増加によってヒータ８０による吸気加熱量が増加して吸気温度が上昇され、この吸気温度の上昇に伴い燃焼室１７内に供給される混合気の温度が上昇し、圧縮行程時の筒内温度の上昇によって自己着火による着火時期τAが進角化され、自己着火による着火時期τAがエンジン運転状態に適合する目標着火時期τTAGTに収束される。
【０３５８】
そして、着火時期τAが目標着火時期τTAGTに対する不感帯の範囲内に収束したとき、デューティ比ＤＵＴＹの増加修正が中止され、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹ、すなわちヒータ８０による吸気加熱量がそのまま維持される。
【０３５９】
従って、以上の吸気温度制御により、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期τTAGTに収束するよう着火時期τAが制御され、自己着火時において常に最適な着火時期τAを得ることが可能となり、熱効率の向上により燃費向上、信頼性の向上を図ることが可能となる。
【０３６０】
また、本実施の形態においても、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、その結果、エンジンに対する悪影響を未然に回避することが可能となり、且つ、エンジン騒音の低減を図ることが可能となる。
【０３６１】
一方、上記ステップS214において、ＤＵＴＹ＞ＤＵＴＹMAXとなり、デューティ比ＤＵＴＹの増加修正によっても着火時期τAが目標着火時期τTAGTに収束せず、ＨＴＣＭ８１に対するデューティ信号のデューティＤＵＴＹが、エンジン運転状態に基づいて設定した上限値ＤＵＴＹMAXを上回ったとき、すなわち、自己着火による着火時期τAが目標着火時期τTAGTよりも遅角側のために、デューティ比ＤＵＴＹを逐次増加修正した結果、デューティ比ＤＵＴＹが上限値ＤＵＴＹMAXを上回りヒータ８０の発熱量がエンジン運転状態に応じた限界値に達したとき、エンジン過渡運転への移行、或いはシステム異常等に起因してヒータ供給電力（ヒータ発熱量）調整による吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能になった、或いは、自己着火自体が不能になったと判断して、ステップS215へ進む。
【０３６２】
そして、ステップS215で、圧縮着火制御フラグＦCOMPをクリアし（ＦCOMP←０）、続くステップS216で、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを０％とし（ＤＵＴＹ←０）、ステップS217で、上記ステップS216によるデューティ比ＤＵＴＹをセットして、ルーチンを抜ける。
【０３６３】
その結果、圧縮着火制御フラグＦCOMPのクリアにより圧縮着火制御から強制点火制御に移行し、前述の点火制御ルーチンにおいて、点火時期ＴADV、通電開始時期タイミングＴDWLの設定、及び各点火タイマセットが行われ、点火プラグ１８の火花点火による強制点火が再開される。
【０３６４】
これにより、エンジン過渡運転への移行、或いはシステム異常等に起因してヒータ発熱量調整による吸気温度制御が不能となり自己着火による着火時期τAを制御することが不能となった時、或いは、自己着火自体が不能になった時には、自己着火から点火プラグ１８の点火による強制点火に確実に移行することが可能となる。その結果、本実施の形態においても、自己着火による着火時期τAの制御不能状態での自己着火の継続が防止され、ドライバビリティの悪化を防止することが可能となる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することが可能となり、且つ、エンジン１の耐久信頼性を向上することが可能となる。
【０３６５】
また、このとき、デューティ比ＤＵＴＹが０％に設定され、初期状態に復帰される。これに対応してヒータ８０の発熱量が減少して、吸気加熱が中止される。
【０３６６】
尚、本実施の形態では、圧縮着火制御から強制点火制御への移行に伴い、ＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを０％とし、ヒータ８０による吸気加熱を中止しているが、強制点火制御時においても、エンジン運転状態に応じてＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを設定して吸気加熱を行う場合は、上記ステップS216において、現在のデューティ比ＤＵＴＹから設定値を減算して新たなデューティ比ＤＵＴＹを設定することで、ヒータ８０による吸気加熱制御量を初期状態に戻す。
【０３６７】
また、本実施の形態では、圧縮着火制御時におけるＨＴＣＭ８１に対するデューティ信号のデューティ比ＤＵＴＹを、着火時期τAと目標着火時期τTAGTとの比較結果に応じて積分制御により設定しているが、本発明はこれに限定されず、比例積分制御（ＰＩ制御）或いは比例積分微分制御（ＰＩＤ制御）により設定するようにしてもよい。
【０３６８】
更に、本発明による吸気加熱手段としてのヒータ８０は、本実施の形態のＨＴＣＭ８１によりヒータ発熱量を制御するものに限定されず、ヒータ発熱量が可変制御されるものであればよく、適宜のものを採用してもよいことは勿論である。
【０３６９】
尚、上記実施の各形態においては、強制点火制御時の点火時期制御、並びに着火時期検出を、いわゆる時間制御方式により行っているが、本発明はこれに限定されず、角度制御方式を採用してもよいことは勿論である。
【０３７０】
また、実施の各形態においては、特定気筒にのみイオン電流検出回路４５を配設し、この特定気筒の着火時期を検出しているが、コストアップを生じるものの全気筒に対してそれぞれイオン電流検出回路を配設し、各気筒について着火時期を検出して、この着火時期により吸気温度を制御するようにしてもよい。
【０３７１】
【発明の効果】
以上説明したように請求項１記載の発明によれば、着火時期を検出すると共に、エンジン運転状態に基づいて目標着火時期を設定する。そして、上記着火時期と目標着火時期との比較結果に応じて、吸気を加熱するための吸気加熱手段を制御し、吸気温度を制御するので、エンジン運転状態に対応する目標着火時期を得るに適切な燃焼室内の混合気温度を得ることが可能となる。従って、エンジン運転条件や大気条件等が変化しても、自己着火による着火時期を、エンジン運転状態に適合する目標着火時期すなわち最適時期に制御することができる。
【０３７２】
その際、上記吸気加熱手段として、エンジンの排気ガスを吸気系に還流する排気ガス還流通路と、該排気ガス還流通路に介装され排気ガス還流率を調整する排気ガス還流量調整弁とからなる排気ガス還流装置を採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、排気ガス還流量調整弁による排気ガス還流率を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、排気ガス還流量調整弁による排気ガス還流率を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化するので、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期に収束するよう着火時期が制御され、自己着火時において常に最適な着火時期を得ることが可能となり、熱効率の向上により燃費の向上、信頼性の向上を図ることができる。
【０３７３】
また、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、その結果、エンジンに対する悪影響を未然に回避することができるばかりか、エンジン騒音を低減することができる効果を有する。
【０３７４】
請求項３記載の発明によれば、還流排気ガス或いは排気ガスの温度が所定温度に達したとき、排気ガス還流量調整弁による排気ガス還流率を所定量増加して、点火プラグの放電による火花点火から自己着火に移行させるので、上記請求項２記載の発明の効果に加え、排気ガス還流により吸気温度を上昇させることで自己着火に移行することが可能と判断されるとき、排気ガス還流量調整弁による排気ガス還流率を所定量増加して吸気温度を上昇制御し、燃焼室内の混合気の温度を上昇させて、確実に自己着火に移行させることができる。すなわち、排気還流ガス或いは排気ガスの温度が上昇し、自己着火時の着火時期を排気ガス還流による吸気温度制御によって適切に制御することができる状態になったときに、確実に自己着火に移行させることができる。従って、吸気温度制御不能すなわち目標着火時期への制御不能状態で、自己着火に移行することが防止され、制御性を向上することができる。また、自己着火への移行時における失火や着火時期不適合による異常燃焼を防止して排気エミッションの悪化を防止することができる効果を有する。
【０３７５】
請求項４記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つ排気ガス還流量調整弁の弁開度が限界値に達したとき、該排気ガス還流量調整弁による排気ガス還流率を所定量減少して、自己着火から点火プラグの放電による火花点火に移行させるので、上記請求項２或いは請求項３記載の発明の効果に加え、エンジン過渡運転への移行、或いはシステム異常等に起因して排気ガス還流による吸気温度制御が不能となり自己着火による着火時期を制御することが不能となったとき、或いは自己着火自体が不能となったときには、自己着火から点火プラグの点火による強制点火に確実に移行することができる。従って、着火時期の制御不能状態での自己着火の継続が防止されて、ドライバビリティの悪化を防止することができる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することができ、且つ、エンジンの耐久信頼性を向上することができる効果を有する。
【０３７６】
請求項５記載の発明によれば、吸気加熱手段として、排気ガス或いはエンジン発生熱と熱交換を行う熱交換器と、吸気系を流れる吸気の一部を上記熱交換器に導入すると共に該熱交換器による熱交換後の加熱吸気を上記吸気系に戻す加熱吸気用通路と、該加熱空気用通路に介装され加熱吸気用通路を流れる加熱吸気の流量を調整する加熱吸気量調整弁とからなる吸気加熱装置を採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、加熱吸気量調整弁による加熱吸気量を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、加熱吸気量調整弁による加熱吸気流量を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化するので、上記請求項２記載の発明の効果と同様に、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期に収束するよう着火時期が制御され、自己着火時において常に最適な着火時期を得ることが可能となり、熱効率の向上により燃費の向上、信頼性の向上を図ることができる。また、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、その結果、エンジンに対する悪影響を未然に回避することができるばかりか、エンジン騒音を低減することができる効果を有する。
【０３７７】
また、請求項６記載の発明では、エンジン温度が所定温度に達したとき、加熱吸気量調整弁による加熱吸気流量を増加して、点火プラグの放電による火花点火から自己着火に移行させるので、上記請求項５記載の発明の効果に加え、排気ガス或いはエンジン発生熱との熱交換により吸気温度を上昇させることで自己着火に移行することが可能と判断されるとき、加熱吸気量調整弁による加熱吸気流量を増加して吸気温度を上昇制御し、燃焼室内の混合気の温度を上昇させて、確実に自己着火に移行させることができる。すなわち、排気温度或いはエンジン温度が所定に上昇し、排気ガス或いはエンジン発生熱との熱交換によって得られる加熱吸気の流量制御による吸気温度制御によって、自己着火時の着火時期を適正に制御することができる状態になったときに、確実に自己着火に移行させることができる。従って、吸気温度制御不能すなわち目標着火時期への制御不能状態で、自己着火に移行することが防止され、制御性を向上することができる。また、自己着火への移行時における失火や着火時期不適合による異常燃焼を防止して排気エミッションの悪化を防止することができる効果を有する。
【０３７８】
請求項７記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つ加熱吸気量調整弁の弁開度が限界値に達したとき、該加熱吸気量調整弁による加熱吸気流量を減少して、自己着火から点火プラグの放電による火花点火に移行させるので、上記請求項５或いは請求項６記載の発明の効果に加え、エンジン過渡運転への移行、或いはシステム異常等に起因して加熱吸気流量調整による吸気温度制御が不能となり自己着火による着火時期を制御することが不能となったとき、或いは自己着火自体が不能となったときには、自己着火から点火プラグの点火による強制点火に確実に移行することができる。従って、着火時期の制御不能状態での自己着火の継続が防止されて、ドライバビリティの悪化を防止することができる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することができ、且つ、エンジンの耐久信頼性を向上することができる効果を有する。
【０３７９】
請求項８記載の発明によれば、吸気加熱手段として、吸気系に介装されたヒータを採用する。そして、上記着火時期が目標着火時期よりも進角側のとき、ヒータの発熱量を減少制御して、吸気温度を低下させることで、エンジン燃焼室内の混合気温度を低下し、自己着火による着火時期を遅角化させる。また、着火時期が目標着火時期よりも遅角側のときには、ヒータの発熱量を増加制御して、吸気温度を上昇させることで、エンジン燃焼室内の混合気温度を上昇し、自己着火による着火時期を進角化するので、上記請求項２或いは請求項５記載の発明の効果と同様に、エンジン運転条件や大気条件等が変化しても、エンジン運転状態に適合する目標着火時期に収束するよう着火時期が制御され、自己着火時において常に最適な着火時期を得ることが可能となり、熱効率の向上により燃費の向上、信頼性の向上を図ることができる。また、エンジン運転状態の相違に関わらず最適着火時期を得ることが可能となるため、ノッキング等の異常燃焼を未然に回避することができ、その結果、エンジンに対する悪影響を未然に回避することができるばかりか、エンジン騒音を低減することができる効果を有する。
【０３８０】
また、ヒータの発熱量を増加して、点火プラグの放電による火花点火から自己着火に移行させるので、上記請求項８記載の発明の効果に加え、エンジン温度が所定温度に達してエンジン暖機完了状態となり燃焼が安定化し自己着火に移行することが可能と判断されるとき、ヒータの発熱量を増加して吸気温度を上昇制御し、燃焼室内の混合気の温度を上昇させて、確実に自己着火に移行させることができる。すなわち、エンジン温度が所定に上昇して燃焼が安定化し、ヒータ発熱量制御による吸気温度制御によって、自己着火時の着火時期を適正に制御することができる状態になったときに、確実に自己着火に移行させることができる。従って、吸気温度制御不能すなわち目標着火時期への制御不能状態で、自己着火に移行することが防止され、制御性を向上することができる。また、自己着火への移行時における失火や着火時期不適合による異常燃焼を防止して排気エミッションの悪化を防止することができる効果を有する。
【０３８１】
請求項９記載の発明では、上記着火時期が目標着火時期よりも遅角側で且つヒータの発熱量が限界値に達したとき、ヒータ発熱量を減少して、自己着火から点火プラグの放電による火花点火に移行させるので、上記請求項８或いは請求項９記載の発明の効果に加え、エンジン過渡運転への移行、或いはシステム異常等に起因してヒータ発熱量調整による吸気温度制御が不能となり自己着火による着火時期を制御することが不能となったとき、或いは自己着火自体が不能となったときには、自己着火から点火プラグの点火による強制点火に確実に移行することができる。従って、着火時期の制御不能状態での自己着火の継続が防止されて、ドライバビリティの悪化を防止することができる。また、自己着火の継続による異常燃焼や失火が防止されることで、排気エミッションの悪化を防止することができ、且つ、エンジンの耐久信頼性を向上することができる効果を有する。
【０３８２】
その際、請求項１０記載の発明では、上記限界値を、エンジン負荷及びエンジン回転数の少なくとも一方に応じて設定するので、上記請求項４、請求項７、請求項１０記載の発明の効果に加え、エンジン運転領域毎に相違する目標着火時期に対応して、排気ガス還流量調整弁による排気ガス還流率、加熱吸気量調整弁による加熱空気供給率、或いはヒータの発熱量を決定する各制御量の上限値を適切に設定することができ、各運転領域において上限許容限界を適正に設定することができる効果を有する。
【０３８３】
請求項１１記載の発明では、上記目標着火時期をエンジン負荷及びエンジン回転数の少なくとも一方に応じて設定するので、上記請求項１ないし請求項１１記載の発明の効果に加え、エンジン運転領域毎に相違する燃焼期間に対応して、適切な目標着火時期を設定することが可能となり、各エンジン運転領域において熱効率を向上することができる効果を有する。
【０３８４】
また、請求項１２記載の発明では、上記目標着火時期をエンジン温度に応じて補正するので、上記請求項１ないし請求項１２記載の発明の効果に加え、エンジン温度状態に適合する最適着火時期を得ることが可能となり、排気エミッションの改善を図ることができ、また、着火時期不適合によるエンジンに対する悪影響等を未然に回避することができる効果を有する。
【図面の簡単な説明】
【図１】本発明の基本構成図
【図２】本発明の実施の第１形態に係り、気筒判別／エンジン回転数算出ルーチンのフローチャート
【図３】同上、圧縮着火制御条件判別ルーチンのフローチャート
【図４】同上、点火制御ルーチンのフローチャート
【図５】同上、θ2クランクパルス割り込みルーチンのフローチャート
【図６】同上、ＴDWL割り込みルーチンのフローチャート
【図７】同上、ＴADV割り込みルーチンのフローチャート
【図８】同上、着火時期検出ルーチンのフローチャート
【図９】同上、ＥＧＲ制御ルーチンのフローチャート
【図１０】同上、ＥＧＲ制御ルーチンのフローチャート（続き）
【図１１】同上、クランクパルス、カムパルス、点火タイミング、及び燃料噴射タイミングの関係を示すタイムチャート
【図１２】同上、クランクパルスとイオン電流との関係を示すタイムチャート
【図１３】同上、着火時期と目標着火時期、及びＥＧＲ弁に対する制御量の関係を示すタイムチャート
【図１４】同上、エンジンの全体概略図
【図１５】同上、クランクロータとクランク角センサの正面図
【図１６】同上、カムロータとカム角センサの正面図
【図１７】同上、イオン電流検出回路の説明図
【図１８】同上、電子制御系の回路構成図
【図１９】本発明の実施の第２形態に係り、圧縮着火制御条件判別ルーチンのフローチャート
【図２０】同上、吸気加熱制御ルーチンのフローチャート
【図２１】同上、エンジンの全体概略図
【図２２】同上、電子制御系の回路構成図
【図２３】本発明の実施の第３形態に係り、エンジンの全体概略図
【図２４】同上、電子制御系の回路構成図
【符号の説明】
１  圧縮着火エンジン
３  インテークマニホルド（吸気系）
４  エアチャンバ（吸気系）
６  吸気管（吸気系）
１７  燃焼室
１８  点火プラグ
２５  排気ガス還流装置（ＥＧＲ装置；吸気加熱手段）
２６  排気ガス還流通路（ＥＧＲ通路）
２７  排気ガス還流量調整弁（ＥＧＲ弁）
３２  吸入空気量センサ
３８  ＥＧＲガス温度センサ
４１  クランク角センサ
４５  イオン電流検出回路
４５ａ  電圧センサ
５０  電子制御装置（着火時期検出手段、目標着火時期設定手段、吸気加熱制御手段）
７０  熱交換器
７１  加熱吸気用通路
７２  加熱吸気量調整弁
８０  ヒータ
８１  ヒータコントロールモジュール（ＨＴＣＭ）
τA  着火時期
τTAGT  目標着火時期
ＥＧＲS  ＥＧＲ弁制御量（ＥＧＲ弁に対する制御量）
ＴEGR  ＥＧＲガス温度（排気還流ガスの温度）
ＴＥＧＲＳ  設定値（所定温度）
ＥＧＲSMAX  上限値（ＥＧＲ弁制御量の上限値；限界値）
ＤＵＴＹ  デューティ比（加熱吸気量調整弁に対する駆動信号のデューティ比、ＨＴＣＭに対するデューティ信号のデューティ比）
ＴW  冷却水温度（エンジン温度）
ＴＷＳ  設定値（所定温度）
ＤＵＴＹMAX  上限値（デューティ比の上限値；限界値）
Ｑ  吸入空気量（エンジン負荷）
Ｔｐ  基本燃料噴射パルス幅（エンジン負荷）
ＮE  エンジン回転数
【図１】
0003930103.tif 000002
【図２】
0003930103.tif 000003
【図３】
0003930103.tif 000004
【図４】
0003930103.tif 000005
【図５】
0003930103.tif 000006
【図６】
0003930103.tif 000007
【図７】
0003930103.tif 000008
【図８】
0003930103.tif 000009
【図９】
0003930103.tif 000010
【図１０】
0003930103.tif 000011
【図１１】
0003930103.tif 000012
【図１２】
0003930103.tif 000013
【図１３】
0003930103.tif 000014
【図１４】
0003930103.tif 000015
【図１５】
0003930103.tif 000016
【図１６】
0003930103.tif 000017
【図１７】
0003930103.tif 000018
【図１８】
0003930103.tif 000019
【図１９】
0003930103.tif 000020
【図２０】
0003930103.tif 000021
【図２１】
0003930103.tif 000022
【図２２】
0003930103.tif 000023
【図２３】
0003930103.tif 000024
【図２４】
0003930103.tif 000025