(57)【要約】【課題】  ４サイクル火花点火運転から２サイクル自着火運転への切り換えを滑らかに行うことができるようにする内燃機関の制御装置を提供すること。【解決手段】  電気制御装置７０は、４サイクル火花運転から２サイクル自着火運転に切り替えるとき、スーパーチャージャ４６による過給を開始する前に、吸気弁３２を遅閉じ運転から早閉じ運転に変更するとともに、スロットル弁４８の開度を増大する。次いで、電気制御装置は、過給を開始させ、その過給の開始から２サイクル自着火運転の開始までの期間、吸気弁閉弁時期を燃焼室２５に流入する空気量が変化しないように制御し、機関のトルク変動を抑制する。同時に、電気制御装置は、スロットル弁開度及びＡＢＶ４５の開度を２サイクル自着火運転時のそれらの開度に向けてそれぞれ変化させ、点火時期を進角し、燃料噴射量を一定に維持するなどの各種制御を行う。【選択図】  図２
2005282377.tif 000002
【特許請求の範囲】
【請求項１】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
前記４サイクル火花点火運転中に、前記機関の吸気弁を吸気行程下死点より前に閉弁する吸気弁早閉じ運転状態と、同吸気弁を同吸気行程下死点より後に閉弁する吸気弁遅閉じ運転状態と、の何れかの運転状態にしたがって吸気弁を閉弁するとともに、前記サイクル切り替え要求があった場合に同吸気弁の運転状態が同吸気弁遅閉じ運転状態であるとき、前記２サイクル自着火運転への切り替えに先立ち、同吸気弁の運転状態を同吸気弁早閉じ運転状態へと切り替える吸気弁制御手段と、
を備えた内燃機関の制御装置。
【請求項２】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行う過給手段と、
前記機関の吸気通路に備えられたスロットル弁と、
前記サイクル切り替え要求があった場合に前記２サイクル自着火運転を行うための前記過給手段による過給の開始に先立ち、同サイクル切り替え要求に応答して前記スロットル弁の開度を増大させるスロットル弁開度制御手段と、
を備えた内燃機関の制御装置。
【請求項３】
請求項１に記載の内燃機関の制御装置であって、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行う過給手段と、
前記機関の吸気通路に備えられたスロットル弁と、
前記サイクル切り替え要求があった場合に前記吸気弁の運転状態を前記遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えるとき、前記２サイクル自着火運転を行うための前記過給手段による過給の開始に先立ち、前記スロットル弁の開度を増大させるスロットル弁開度制御手段と、
を備えた内燃機関の制御装置。
【請求項４】
請求項１又は請求項３に記載の内燃機関の制御装置において、
前記吸気弁制御手段は、前記サイクル切り替え要求があった場合に前記吸気弁の運転状態を前記遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えるとき、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる内燃機関の制御装置。
【請求項５】
請求項１、請求項３及び請求項４の何れか一項に記載の内燃機関の制御装置であって、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記機関の筒内に供給される空気量に応じた燃料量の燃料を前記燃料噴射手段から噴射させるとともに、前記吸気弁の運転状態が前記吸気弁遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えられたとき、前記２サイクル自着火運転を開始する前に、同空気量に応じた燃料量から所定量だけ減じた燃料量の燃料を同燃料噴射手段から噴射させる燃料噴射量制御手段と、
を備えた内燃機関の制御装置。
【請求項６】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、吸気管圧力と吸気弁閉弁時期における筒内体積の積を吸気温度で除した値が一定となるように同吸気弁閉弁時期を決定し、同決定された吸気弁閉弁時期にて前記機関の吸気弁を閉弁させる吸気弁制御手段と、
を備えた内燃機関の制御装置。
【請求項７】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記４サイクル火花点火運転中、前記機関の負荷と回転速度とに基いて決定される点火時期にて火花点火を実行するとともに、前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間においては、同機関の負荷と回転速度とに基いて決定される点火時期を所定角度だけ進角させた点火時期にて火花点火を実行する火花点火手段と、
を備えた内燃機関の制御装置。
【請求項８】
請求項７に記載の内燃機関の制御装置において、
前記火花点火手段は、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、同過給機による過給の開始時点における前記吸気弁の閉弁時期と現時点における吸気弁の閉弁時期とに基いて前記所定角度を決定するように構成された内燃機関の制御装置。
【請求項９】
請求項８に記載の内燃機関の制御装置において、
前記火花点火手段は、
前記過給機による過給の開始時点における前記吸気弁の閉弁時期により定まる筒内体積と現時点における吸気弁の閉弁時期により定まる筒内体積との差に比例定数を乗じることにより前記所定角度を求めるように構成された内燃機関の制御装置。
【請求項１０】
請求項９に記載の内燃機関の制御装置において、
前記火花点火手段は、
前記比例定数を前記機関の負荷が小さいほど大きく且つ同機関の回転速度が小さいほど大きくするように構成された内燃機関の制御装置。
【請求項１１】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記４サイクル火花点火運転中、所定の基本燃料噴射開始時期から前記燃料噴射手段による燃料噴射を開始するとともに、前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間においては、同燃料噴射手段による燃料噴射を開始する時期である燃料噴射開始時期が前記吸気弁の閉弁時期よりも早くなるように燃料噴射開始時期を変更する燃料噴射時期制御手段と、
を備えた内燃機関の制御装置。
【請求項１２】
請求項１１に記載の内燃機関の制御装置において、
前記燃料噴射時期制御手段は、前記燃料噴射の終了時期が前記吸気弁の閉弁時期と同時又は同吸気弁の閉弁時期よりも早くなるように前記燃料噴射開始時期を決定する内燃機関の制御装置。
【請求項１３】
制御装置１２に記載の内燃機関の制御装置において、
前記燃料噴射時期制御手段は、前記吸気弁の閉弁時期から前記燃料噴射の期間だけ早い時期を前記燃料噴射開始時期として決定する内燃機関の制御装置。
【請求項１４】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記機関の吸気通路に備えられたスロットル弁と、
前記４サイクル火花点火運転中の目標スロットル弁開度を前記機関の運転状態に基いて定める４サイクル火花点火運転用目標スロットル弁開度決定手段と、
前記２サイクル自着火運転中の目標スロットル弁開度を前記機関の運転状態に基いて定める２サイクル自着火運転用目標スロットル弁開度決定手段と、
前記４サイクル火花点火運転中であって前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記過給機による過給の開始時点におけるスロットル弁開度から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標スロットル弁開度決定手段が決定する目標スロットル弁開度に向けて、目標スロットル弁開度を徐々に変更する過渡時目標スロットル弁開度決定手段と、
前記スロットル弁の開度が前記決定された目標スロットル弁開度となるように同スロットル弁を駆動するスロットル弁駆動手段と
を備えた内燃機関の制御装置。
【請求項１５】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
大気を前記過給機をバイパスさせて前記機関の筒内に供給するバイパス通路に備えられるとともに同バイパス通路断面積を変更するエアバイパスバルブと、
前記４サイクル火花点火運転中の目標エアバイパスバルブ開度を定める４サイクル火花点火運転用目標エアバイパスバルブ開度決定手段と、
前記２サイクル自着火運転中の目標エアバイパスバルブ開度を前記機関の運転状態に基いて定める２サイクル自着火運転用目標エアバイパスバルブ開度決定手段と、
前記４サイクル火花点火運転中であって前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記過給機による過給の開始時点におけるエアバイパスバルブ開度から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標エアバイパスバルブ開度決定手段が決定する目標エアバイパスバルブ開度に向けて、目標エアバイパスバルブ開度を徐々に変更する過渡時目標エアバイパスバルブ開度決定手段と、
前記エアバイパスバルブの開度が前記決定された目標エアバイパスバルブとなるように同エアバイパスバルブを駆動するエアバイパスバルブ駆動手段と
を備えた内燃機関の制御装置。
【請求項１６】
請求項１５に記載の内燃機関の制御装置において、
前記４サイクル火花点火運転用目標エアバイパスバルブ開度決定手段は、
前記目標エアバイパスバルブ開度を全開とするように定める内燃機関の制御装置。
【請求項１７】
請求項１５又は請求項１６に記載の内燃機関の制御装置において、
前記２サイクル自着火運転用目標エアバイパスバルブ開度決定手段は、
前記機関の負荷が小さい場合には同負荷が大きい場合よりも前記目標エアバイパスバルブ開度が大きくなるように設定する内燃機関の制御装置。
【請求項１８】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記機関の吸気通路に設けられて同吸気通路を通過する空気流量を測定する空気流量測定手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記測定された空気流量に基いて得られる値に応じて前記燃料噴射手段から噴射される燃料の噴射量を決定する燃料噴射量決定手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段と、
を備えた内燃機関の制御装置。
【請求項１９】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記機関の吸気通路に設けられて同吸気通路を通過する空気流量を測定する空気流量測定手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記測定された空気流量に基いて得られる値に応じて前記燃料噴射手段から噴射される燃料の噴射量を決定する燃料噴射量決定手段と、
前記４サイクル火花点火運転から前記２サイクル自着火運転に移行した時点からの所定期間、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段と、
を備えた内燃機関の制御装置。
【請求項２０】
請求項１９に記載の内燃機関の制御装置であって、
前記燃料噴射量保持手段は、
前記４サイクル火花点火運転から前記２サイクル自着火運転に移行した時点からの前記所定期間の終了時点を、前記測定された空気流量に基いて得られる値の所定時間内での変化量が安定閾値より小さくなった時点までとする内燃機関の制御装置。
【請求項２１】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機の下流における吸気管圧力を検出する吸気管圧力検出手段と、
前記サイクル切り替え要求に基づく前記過給手段による過給の開始後、前記検出された吸気管圧力が所定の閾値以上に上昇しない場合、前記２サイクル自着火運転への運転切り替えを禁止する過給手段異常時運転切替禁止手段と、
を備えた内燃機関の制御装置。
【請求項２２】
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる多気筒内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
前記切替要求が発生した場合、
予め定められた特定気筒のクランク角が同特定気筒に対する所定のクランク角となったとき切替準備フラグを切替準備状態表示値へと変更し、
前記切替準備フラグが前記切替準備状態表示値となっており、且つ、前記特定気筒のクランク角が前記特定気筒に対する所定のクランク角となったとき同特定気筒の運転を前記４サイクル火花運転から２サイクル自着火運転へと切り替えることを許可する特定気筒用の切替実行フラグの値を切替許可状態表示値へと変更し、
前記特定気筒用の切替実行フラグの値が前記切替許可状態表示値となっており、且つ、前記特定気筒以外の気筒のクランク角が前記特定気筒以外に対する所定のクランク角となったとき同特定気筒以外の他の気筒の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと切り替えることを許可する他気筒用の切替実行フラグの値を切替許可状態表示値へと変更し、
前記切替実行フラグが前記切替許可状態表示値となっている気筒の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと順次切り替える運転切替制御手段と、
を備えた内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、燃焼室内に形成された混合ガスを火花により点火して燃焼させる火花点火運転状態と、燃焼室に形成された混合ガスを圧縮することにより自着火（自己着火）させて燃焼させる予混合圧縮自着火運転状態との両運転状態により運転することが可能な内燃機関が知られている。このような内燃機関に適用される従来の制御装置は、機関の運転状態を、低回転且つ低負荷領域において４サイクル圧縮自着火運転状態、低回転且つ高負荷領域において２サイクル火花点火運転状態、高回転領域において４サイクル火花点火運転状態に設定するようになっている。この制御装置によれば、ノッキングの発生やトルクの低下を抑制しつつ、全運転領域において良好な運転を確保できる（例えば、特許文献１を参照。）。
【特許文献１】特開２００２−２５６９１１（図３）
【０００３】
ところで、各種の運転状態による運転が可能な内燃機関においては、運転状態を切り換える際の各種制御を適切に行わないと、所望の運転状態へ滑らか移行することができないという問題がある。
【０００４】
例えば、４サイクル火花点火運転を実行する際、吸気弁早閉じ運転と吸気弁遅閉じ運転とが併用される場合がある。
【０００５】
吸気弁早閉じ運転とは、吸気系のスロットル弁を実質的に全開状態に維持するとともに、図１に示したように、吸気弁の閉弁時期ＩＣを吸気上死点ＴＤＣから吸気下死点ＢＤＣまでの間に設定し、この吸気弁の閉弁時期（換言すると、吸気弁の開弁期間）により燃焼室内に導入する空気量を調整する運転である。これによれば、スロットル弁及び吸気弁により形成される絞り部を空気が通過する際の損失が低減され、燃費を向上することができる。
【０００６】
吸気弁遅閉じ運転とは、スロットル弁の開度を全開以下の所定の開度に調節するとともに、図１に示したように、吸気弁の閉弁時期ＩＣを吸気下死点ＢＤＣから圧縮上死点ＴＤＣまでの間に設定し、スロットル弁の開度調整と吸気弁の閉弁時期ＩＣとによって燃焼室内に導入する空気量を調整する運転である。これによれば、吸気弁開弁期間が長くなって燃焼室内において空気流が長期間発生するので、燃料と空気との混合が促進され、その結果、安定した燃焼を行わせることができる。
【０００７】
しかしながら、吸気弁遅閉じ運転においては、吸気弁の閉弁時期が圧縮行程中となるから、燃焼室内に形成された未燃の燃料を含むガスが吸気ポートを含む吸気通路に吹き返される。このため、４サイクル火花点火運転であって吸気弁遅閉じ運転がなされている状態から、直ちに２サイクル自着火運転に移行すると、吸気通路に吹き返されていた燃料が燃焼室内に流れ込むため、混合気の空燃比が過度にリッチとなり、安定した自着火燃焼を達成することができないという問題がある。
【０００８】
また、２サイクルの予混合圧縮自着火運転を実行しようとする場合、十分な空気量の空気を燃焼室内に導入するとともに燃焼室内に残存する燃焼ガスを排出するため、機関に備えられた過給機により過給することが必要となる。一方、このように過給機を備えた機関において、４サイクル火花点火運転を実行するとき、過給損失を低減するために過給機による過給を実質的に停止する場合がある。
【０００９】
従って、機関の運転状態が変化して４サイクル火花点火運転から２サイクル自着火運転に移行する必要が生じ、２サイクル自着火運転のために過給を開始した場合、それまでの運転が例えば吸気弁遅閉じ運転にあるためにスロットル弁の開度が小さくなっていると、同スロットル弁下流の圧力が低下しているので、過給圧の上昇が遅れる。この結果、２サイクル自着火運転を安定して実行できないか、或いは、２サイクル自着火運転の開始が遅れてしまうという問題がある。
【発明の開示】
【００１０】
本発明の目的の一つは、４サイクル火花点火運転から２サイクル自着火運転へ（又は、その逆へ）と、運転を滑らかに切り換えることができるようにする内燃機関の制御装置を提供することにある。
【００１１】
本発明による内燃機関の制御装置は、４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関に適用される。２サイクル運転とは、クランク角が３６０度回転する毎に、膨張、排気、掃気、吸気及び圧縮の各行程を繰り返す運転のことである。自着火運転とは、混合気を圧縮させることにより自着火燃焼させる運転のことである。４サイクル運転とは、クランク角が７２０度回転する毎に、吸気、圧縮、膨張及び排気の各行程を繰り返す運転のことである。火花点火運転とは、点火プラグによる火花により混合気を点火して燃焼させる運転のことである。
【００１２】
この制御装置は、切り替え要求判定手段と吸気弁制御手段とを備える。
切り替え要求判定手段は、前記機関の運転状態に基いて、前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求（機関の運転状態切り替え要求）の有無を判定する。例えば、機関の負荷と回転速度とによって定まる運転領域が４サイクル火花点火運転領域と２サイクル自着火運転領域とに区分されているとき、機関の負荷と回転速度とにより表される機関の運転状態が、４サイクル火花点火運転領域から２サイクル自着火運転領域へと変化した場合、サイクル切り替え要求が発生する。
【００１３】
吸気弁制御手段は、前記４サイクル火花点火運転中に、吸気弁早閉じ運転状態と、吸気弁遅閉じ運転状態と、の何れかの運転状態にしたがって吸気弁を閉弁する。吸気弁早閉じ運転状態において、吸気弁は吸気行程下死点より前に閉弁する。吸気弁早閉じ運転によれば、開弁した吸気弁周辺の狭い空間を空気が通過する期間が短いから、その際の損失を低減することができる。吸気弁遅閉じ運転状態において、吸気弁は吸気行程下死点より後に閉弁する。吸気弁遅閉じ運転によれば、燃焼室内に気流が生じている期間が長いから、燃料と空気の混合状態を良好にすることができる。吸気弁遅閉じ運転においては、吸気弁の閉弁時期が圧縮行程中となるから、燃焼室内に形成された未燃の燃料を含むガスが吸気ポートに吹き返される。
【００１４】
更に、吸気弁制御手段は、サイクル切り替え要求があった場合に吸気弁の運転状態が吸気弁遅閉じ運転状態であるとき、２サイクル自着火運転への切り替えに先立ち、吸気弁の運転状態を吸気弁早閉じ運転状態へと切り替える。この結果、吸気弁遅閉じ運転中に吸気ポートに吹き返されていた燃料は、２サイクル自着火運転に先立つ吸気弁早閉じ運転中に筒内（燃焼室内）に流入し消費される。この結果、２サイクル自着火運転を開始したとき、混合気の空燃比が過度にリッチとならないので、安定した自着火燃焼を達成することができる。
【００１５】
この内燃機関の制御装置は、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行う過給手段と、
前記機関の吸気通路に備えられたスロットル弁と、
前記サイクル切り替え要求があった場合に前記２サイクル自着火運転を行うための前記過給手段による過給の開始に先立ち、同サイクル切り替え要求に応答して前記スロットル弁の開度を増大させるスロットル弁開度制御手段と、
を備えることが好適である。
【００１６】
２サイクル自着火運転を安定的に行うためには、掃気（筒内への空気の導入と燃焼ガスの排出）が十分に行われることが重要であり、従って、過給が必要となる。そこで、本制御装置は、２サイクル自着火運転を行うために過給を開始する。一方、４サイクル火花点火運転においては、筒内に流入する空気量を制御するためにスロットル弁により吸気通路が絞られている場合がある。スロットル弁により吸気通路が絞られているときに、過給を開始すると過給圧の上昇が遅れる。そこで、本制御装置は、過給の開始に先立ち、前記スロットル弁の開度を増大させ、スロットル弁下流の圧力を大気圧に近づけておく。これにより、過給を開始した後に過給圧が速やかに上昇するので、２サイクル自着火運転を早期に開始することが可能となる。
【００１７】
このスロットル弁開度制御手段を備える場合、内燃機関の制御装置は、前述した吸気弁閉弁手段を備えていてもよい。
【００１８】
更に、前記吸気弁制御手段は、前記サイクル切り替え要求があった場合に前記吸気弁の運転状態を前記遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えるとき、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる。これによれば、吸気弁運転状態の変更に伴って生起される機関発生トルクの変動を抑制することができる。
【００１９】
また、本発明による内燃機関の制御装置は、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記機関の筒内に供給される空気量に応じた燃料量の燃料を前記燃料噴射手段から噴射させるとともに、前記吸気弁の運転状態が前記吸気弁遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えられたとき、前記２サイクル自着火運転を開始する前に、同空気量に応じた燃料量から所定量だけ減じた燃料量の燃料を同燃料噴射手段から噴射させる燃料噴射量制御手段と、
を備えることが好適である。
【００２０】
前述したように、吸気弁遅閉じ運転においては、吸気弁の閉弁時期が圧縮行程中となるから、燃焼室内に形成された未燃の燃料を含むガスが吸気ポートに吹き返される。従って、吸気弁早閉じ運転に切り替えたとき、この未燃の燃料が余分に筒内に流入する。そこで、上記構成のように、吸気弁早閉じ運転に切り替えたとき、空気量に応じた燃料量から所定量だけ減じた燃料量の燃料を燃料噴射手段から噴射させれば、吸気弁早閉じ運転中における混合気の空燃比が適切な値に近づく。
【００２１】
上記機関に適用され、上記切り替え要求判定手段と、上記過給手段とを備えた本発明による内燃機関の制御装置は、前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、吸気管圧力と吸気弁閉弁時期における筒内体積の積を吸気温度で除した値が一定となるように同吸気弁閉弁時期を決定し、同決定された吸気弁閉弁時期にて前記機関の吸気弁を閉弁させる吸気弁制御手段を備えることが好適である。
【００２２】
気体の状態方程式によれば、気体の圧力と気体の体積の積を気体の温度で除した値は気体のモル数に比例する。従って、上記構成のように、吸気管圧力と吸気弁閉弁時期における筒内体積の積を吸気温度で除した値が一定となるように同吸気弁閉弁時期を決定すれば、過給の開始に伴って過給圧が上昇しても、筒内に流入する空気量を一定値に近づけることができる。その結果、過給の開始後の機関発生トルクの変動を抑制することができる。
【００２３】
更に、上記機関に適用され、上記切り替え要求判定手段と、上記過給手段とを備えた本発明による内燃機関の制御装置は、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記４サイクル火花点火運転中、前記機関の負荷と回転速度とに基いて決定される点火時期にて火花点火を実行するとともに、前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間においては、同機関の負荷と回転速度とに基いて決定される点火時期を所定角度だけ進角させた点火時期にて火花点火を実行する火花点火手段と、
を備えることが好適である。
【００２４】
これによれば、吸気弁制御手段は筒内に流入する空気量が一定となるように吸気弁の閉弁時期を変化させる。一方、過給の開始により、過給圧（吸気管圧力）は上昇する。このことは、吸気弁閉弁時期が時間経過とともに吸気上死点に近づき（進角し）、ピストンの作動による圧縮量（実圧縮比）が次第に低下することを意味する。実圧縮比が低下すると圧縮上死点での混合気の温度（圧縮端温度）が低下するから、燃焼速度が低下し、燃焼状態が悪化して機関発生トルクが低下する。その結果、２サイクル自着火運転へと移行する直前の４サイクル火花点火運転においてトルク変動が発生する。そこで、本制御装置は、このような燃焼状態の悪化を補うように点火時期を進角する。この結果、前記トルク変動を抑制することができる。
【００２５】
この場合、前記火花点火手段は、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、同過給機による過給の開始時点における前記吸気弁の閉弁時期と現時点における吸気弁の閉弁時期とに基いて前記所定角度を決定するように構成されることが好適である。
【００２６】
これによれば、実圧縮比の低下に応じた量だけ点火時期を進角することができるので、一層安定した燃焼を得ることができる。
【００２７】
更に、前記火花点火手段は、
前記過給機による過給の開始時点における前記吸気弁の閉弁時期により定まる筒内体積と現時点における吸気弁の閉弁時期により定まる筒内体積との差に比例定数を乗じることにより前記所定角度を求めるように構成されることが好適である。
【００２８】
これによれば、実圧縮比の低下に一層精度良く応じた量だけ点火時期を進角することができるので、より安定した燃焼を得ることができる。
【００２９】
この場合、前記火花点火手段は、前記比例定数を前記機関の負荷が小さいほど大きく且つ同機関の回転速度が小さいほど大きくするように構成されることが望ましい。
【００３０】
上記機関に適用され、上記切り替え要求判定手段と、上記過給手段とを備えた本発明による内燃機関の制御装置は、更に、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記機関の筒内に流入する空気量が一定となるように前記吸気弁の閉弁時期を変化させる吸気弁制御手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記４サイクル火花点火運転中、所定の基本燃料噴射開始時期から前記燃料噴射手段による燃料噴射を開始するとともに、前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間においては、同燃料噴射手段による燃料噴射を開始する時期である燃料噴射開始時期が前記吸気弁の閉弁時期よりも早くなるように燃料噴射開始時期を変更する燃料噴射時期制御手段と、
を備えることが好適である。
【００３１】
吸気弁制御手段は、筒内に流入する空気量が一定となるように吸気弁の閉弁時期を変化させる。一方、過給の開始により、過給圧（吸気管圧力）は上昇する。これにより、吸気弁閉弁時期が時間経過とともに吸気上死点に近づく（進角する）。その結果、燃料噴射開始時期が吸気弁閉弁時期よりも遅くなる場合が生じる。この場合、燃料は筒内に空気の流れが生じていない期間に噴射されることになるので、空気と良好に混合できない。その結果、燃焼が悪化する。
【００３２】
そこで、燃料噴射時期制御手段は、燃料噴射開始時期が前記吸気弁の閉弁時期よりも早くなるように燃料噴射開始時期を変更する。これにより、少なくとも燃料噴射期間と吸気弁開弁期間が重なる期間が生じるので、その期間において燃料と空気との混合が促進される。
【００３３】
燃料と空気との混合を促進するためには、燃料噴射期間が吸気弁開弁期間中に存在するか、或いは、燃料噴射終了時点が吸気弁閉弁時期と同時又は同閉弁時期より前となることが好ましい。従って、前記燃料噴射時期制御手段が、前記燃料噴射の終了時期が前記吸気弁の閉弁時期と同時又は同吸気弁の閉弁時期よりも早くなるように前記燃料噴射開始時期を決定するように構成されることは、燃料と空気との混合状態を良好とする上で好適である。
【００３４】
この場合、前記燃料噴射時期制御手段は、前記吸気弁閉弁時期から前記燃料噴射期間だけ早い時期を前記燃料噴射開始時期として決定するように構成されることが好適である。これによれば、燃料噴射期間を吸気弁開弁期間の終了時に終了させることができる。従って、燃料噴射開始時期をできるだけ吸気上死点から遅らせることができる。この結果、特に、燃料噴射手段が筒内に設けられている機関において、ピストン頂部への燃料の付着量を低減することができる。
【００３５】
上記機関に適用され、上記切り替え要求判定手段と、上記過給手段と、上記吸気弁制御手段とを備えた本発明による内燃機関の制御装置は、４サイクル火花点火運転から２サイクル自着火運転への切り替え時に前記機関の吸気通路に備えられたスロットル弁の開度を変更するように制御することが好適である。
【００３６】
具体的に述べると、前記内燃機関の制御装置は、４サイクル火花点火運転用目標スロットル弁開度決定手段と、２サイクル自着火運転用目標スロットル弁開度決定手段と、過渡時目標スロットル弁開度決定手段と、スロットル弁開度がこれらの手段により決定された目標スロットル弁開度となるように同スロットル弁を駆動するスロットル弁駆動手段を備えることが好適である。
【００３７】
この場合、前記４サイクル火花点火運転用目標スロットル弁開度決定手段は、前記４サイクル火花点火運転中の目標スロットル弁開度を前記機関の運転状態に基いて定める。
前記２サイクル自着火運転用目標スロットル弁開度決定手段は、前記２サイクル自着火運転中の目標スロットル弁開度を前記機関の運転状態に基いて定める。
前記過渡時目標スロットル弁開度決定手段は、前記４サイクル火花点火運転中であって前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記過給機による過給の開始時点におけるスロットル弁開度から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標スロットル弁開度決定手段が決定する目標スロットル弁開度に向けて、目標スロットル弁開度を徐々に変更する。
【００３８】
この結果、４サイクル火花点火運転から２サイクル自着火運転への切り替わり途中及び切り替り後において、スロットル弁開度が大きく変動することがないので、内燃機関の発生トルクの変動が抑制され得る。
【００３９】
上記機関に適用され、上記切り替え要求判定手段と、上記過給手段と、上記吸気弁制御手段とを備えた本発明による内燃機関の制御装置は、大気を前記過給機をバイパスさせて前記機関の筒内に供給するバイパス通路に備えられるとともに同バイパス通路断面積を変更するエアバイパスバルブを更に備え、このエアバイパスバルブの開度を４サイクル火花点火運転から２サイクル自着火運転への切り替え時に制御することが好適である。
【００４０】
具体的に述べると、前記内燃機関の制御装置は、４サイクル火花点火運転用目標エアバイパスバルブ開度決定手段と、２サイクル自着火運転用目標エアバイパスバルブ開度決定手段と、過渡時目標エアバイパスバルブ開度決定手段と、エアバイパスバルブ開度がこれらの手段により決定された目標エアバイパスバルブ開度となるように同エアバイパスバルブを駆動するエアバイパスバルブ駆動手段を備えることが好適である。
【００４１】
この場合、４サイクル火花点火運転用目標エアバイパスバルブ開度決定手段は、前記４サイクル火花点火運転中の目標エアバイパスバルブ開度を定める。
２サイクル自着火運転用目標エアバイパスバルブ開度決定手段は、前記２サイクル自着火運転中の目標エアバイパスバルブ開度を前記機関の運転状態に基いて定める。
過渡時目標エアバイパスバルブ開度決定手段は、前記４サイクル火花点火運転中であって前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記過給機による過給の開始時点におけるエアバイパスバルブ開度から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標エアバイパスバルブ開度決定手段が決定する目標エアバイパスバルブ開度に向けて目標エアバイパスバルブ開度を徐々に変更する。
【００４２】
この結果、４サイクル火花点火運転から２サイクル自着火運転への切り替わり途中及び切り替り後において、エアバイパスバルブ開度が大きく変動することがないので、筒内に流入する空気の量が急激に変化せず、内燃機関の発生トルクの変動が抑制され得る。
【００４３】
この場合、前記４サイクル火花点火運転用目標エアバイパスバルブ開度決定手段は、前記目標エアバイパスバルブ開度を全開とするように定めることが好適である。これにより、４サイクル火花点火運転において、空気が過給機を通過しなくなる。従って、空気が過給機を通過することによる圧力損失の発生を回避することができる。その結果、吸気効率が上昇し、燃費を改善することができる。
【００４４】
更に、前記２サイクル自着火運転用目標エアバイパスバルブ開度決定手段は、
前記機関の負荷が小さい場合には同負荷が大きい場合よりも前記目標エアバイパスバルブ開度が大きくなるように設定することが好適である。
【００４５】
２サイクル自着火運転の軽負荷領域では、掃気に必要な過給圧は小さい。また、スロットル弁の開度が小さいと、過給機より下流で且つスロットル弁より上流の吸気通路内の圧力が非常に大きくなり、過給機の仕事量が増大するため、熱効率が悪化し、燃費の悪化を招く。更に、スロットル弁の開度が僅かに変化しただけでも、スロットル弁下流から吸気弁までの圧力（過給圧）が敏感に大きく変化するので、スロットル弁の開度を制御することによる空気量の制御が困難になる。従って、上記構成のように、２サイクル自着火運転の軽負荷領域においてエアバイパスバルブの開度を大きくすれば、過給機の無駄な仕事を減少させるとともに、スロットル弁の開度調整による空気量の調整精度を向上することができる。
【００４６】
上記機関に適用され、上記切り替え要求判定手段と、上記過給手段と、上記吸気弁制御手段とを備えた本発明による内燃機関の制御装置は、更に、
前記機関の吸気通路に設けられて同吸気通路を通過する空気流量を測定する空気流量測定手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記測定された空気流量に基いて得られる値に応じて前記燃料噴射手段から噴射される燃料の噴射量を決定する燃料噴射量決定手段と、
前記過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段と、
を備えることが好適である。
【００４７】
４サイクル火花点火運転から２サイクル自着火運転に移行するために、過給機による過給が開始すると、吸気管圧力（過給圧）PMが上昇する。換言すると、吸気通路内に空気が圧縮されて行く。このため、測定される空気流量は増大するから、この空気流量に基いて計算される値（例えば、負荷率）は増大する。一方、過給機による過給が開始すると、前述した吸気弁制御手段による吸気弁閉弁時期が変更され、筒内に流入する実際の空気量（従って、実際の負荷率)は略一定に維持される。このため、４サイクル火花点火運転が定常的に行われている場合のように、空気流量に基いて得られる値に応じて決定される燃料噴射量の燃料が噴射されると、燃料量が過剰となる。この結果、混合気の空燃比がオーバーリッチとなり、失火、エミッションの悪化、或いは機関発生トルクの変動等の問題が発生する恐れがある。これに対し、上記構成のように、過給機による過給の開始後から前記２サイクル自着火運転の開始までの期間において、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持すれば、過剰の燃料の供給が回避され、トルク変動等が発生しない。
【００４８】
更に、上記機関に適用され、上記切り替え要求判定手段と、上記過給手段と、上記吸気弁制御手段とを備えた本発明による内燃機関の制御装置は、更に、
前記機関の吸気通路に設けられて同吸気通路を通過する空気流量を測定する空気流量測定手段と、
前記機関の筒内に供給される燃料を噴射する燃料噴射手段と、
前記測定された空気流量に基いて得られる値に応じて前記燃料噴射手段から噴射される燃料の噴射量を決定する燃料噴射量決定手段と、
前記４サイクル火花点火運転から前記２サイクル自着火運転に移行した時点からの所定期間、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段と、
を備えることが好適である。
【００４９】
更に、２サイクル自着火運転が開始された時点から暫くの間、吸気管圧力は上昇（又は変動）を続ける。従って、この場合にも、２サイクル自着火運転が定常的に行われている場合のように、空気流量に基いて得られる値（例えば負荷率）に応じて決定される燃料噴射量の燃料が噴射されると、燃料量が過剰となる。この結果、混合気の空燃比がオーバーリッチとなり、失火、エミッションの悪化、或いは機関発生トルクの変動等の問題が発生する恐れがある。これに対し、上記構成のように、４サイクル火花点火運転から前記２サイクル自着火運転に移行した時点からの所定期間、前記燃料噴射手段から噴射される燃料の噴射量を一定量に維持すれば、過剰な燃料の供給が回避され、トルク変動等が発生しない。
【００５０】
この場合、
前記燃料噴射量保持手段は、
前記４サイクル火花点火運転から前記２サイクル自着火運転に移行した時点からの前記所定期間の終了時点を、前記測定された空気流量に基いて得られる値の所定時間内での変化量が安定閾値より小さくなった時点までとすることが好適である。
【００５１】
これによれば、測定された空気流量に基いて得られる値の所定時間内での変化量が安定閾値より小さくなるまでは、燃料噴射量が一定値に維持される。また、その時点以降は、安定した空気流量に基いて得られる値に応じて燃料噴射量が決定されるので、筒内の混合気の空燃比が適正な値となり、失火或いはエミッションの悪化を回避することができる。
【００５２】
本発明による内燃機関の制御装置は、また、
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
過給機を含んでなり、前記４サイクル火花点火運転中は同過給機による過給を停止し、前記２サイクル自着火運転中は同過給機による過給を行うとともに、前記サイクル切り替え要求があった場合に前記２サイクル自着火運転に先立って同過給機による過給を開始させる過給手段と、
前記過給機の下流における吸気管圧力を検出する吸気管圧力検出手段と、
前記サイクル切り替え要求に基づく前記過給手段による過給の開始後、前記検出された吸気管圧力が所定の閾値以上に上昇しない場合、前記２サイクル自着火運転への運転切り替えを禁止する過給手段異常時運転切替禁止手段と、
を備えている。
【００５３】
これによれば、過給手段による過給の開始後、前記検出された吸気管圧力が所定の閾値以上に上昇しない場合には、前記２サイクル自着火運転が開始されない。従って、過給圧が不足することに起因する不安定な２サイクル自着火運転を回避することができる。
【００５４】
本発明による内燃機関の制御装置は、また、
４サイクル火花点火運転と２サイクル自着火運転とを行うことができる多気筒内燃機関の制御装置であって、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段と、
前記切替要求が発生した場合、
予め定められた特定気筒のクランク角が同特定気筒に対する所定のクランク角となったとき切替準備フラグを切替準備状態表示値へと変更し、
前記切替準備フラグが前記切替準備状態表示値となっており、且つ、前記特定気筒のクランク角が前記特定気筒に対する所定のクランク角となったとき同特定気筒の運転を前記４サイクル火花運転から２サイクル自着火運転へと切り替えることを許可する特定気筒用の切替実行フラグの値を切替許可状態表示値へと変更し、
前記特定気筒用の切替実行フラグの値が前記切替許可状態表示値となっており、且つ、前記特定気筒以外の気筒のクランク角が前記特定気筒以外に対する所定のクランク角となったとき同特定気筒以外の他の気筒の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと切り替えることを許可する他気筒用の切替実行フラグの値を切替許可状態表示値へと変更し、
前記切替実行フラグが前記切替許可状態表示値となっている気筒の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと順次切り替える運転切替制御手段と、
を備えている。
【００５５】
このように切替準備フラグ及び切替実行フラグを操作する制御装置によれば、サイクル切り替え要求に応答して切替準備フラグが切替準備状態表示値となってから、実際に２サイクル自着火運転が特定気筒において開始されるまで、少なくとも１サイクル分の時間を確保することができる。従って、制御装置は、この期間において２サイクル自着火運転用の制御量を計算しておくことができる。また、特定の気筒から運転の切り替えが実行されることになるので、制御の簡素化が図られる。更に、切替実行フラグの値を４サイクル運転の点火順序又は２サイクル運転の着火順序にしたがって切替許可状態へと変更するようにすれば、多気筒機関の運転切り替えを確実に行うことができる。
【発明を実施するための最良の形態】
【００５６】
以下、本発明による内燃機関の制御装置の実施形態について図面を参照しながら説明する。各実施形態の制御装置は、２サイクル予混合圧縮自着火運転（２サイクル自着火運転又は２サイクル自着火燃焼運転とも云う。）及び４サイクル火花点火運転による運転が可能な内燃機関に適用される。この実施形態に係る内燃機関は３気筒エンジン（多気筒エンジン）である。
【００５７】
２サイクル自着火運転の場合の爆発順序（着火順序）は、例えば、第１気筒、第２気筒、第３気筒の順である。２サイクル運転においては、クランク角が３６０度（以下、３６０degとも表記する。）経過する毎に、膨張行程、排気行程、掃気行程、吸気（給気）行程及び圧縮行程が繰り返される。燃料は、掃気行程〜吸気行程にて一回噴射される。４サイクル火花点火運転の場合の爆発順序（点火順序）は、例えば、第１気筒、第３気筒、第２気筒の順である。４サイクル運転においては、クランク角が７２０度（７２０deg）経過する毎に、膨張行程、排気行程、吸気行程、圧縮行程が繰り返される。燃料は実質的に吸気行程で噴射される。点火は実質的に圧縮行程後半で行われる。
【００５８】
図２は、本発明の実施形態に係る内燃機関の制御装置を上述した内燃機関１０に適用したシステムの概略を示している。なお、図２は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００５９】
内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０に空気（新気）を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００６０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００６１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁（給気弁）３２、吸気弁３２を駆動する吸気弁駆動機構３２ａ、燃焼室２５に連通した排気ポート３３、排気ポート３３を開閉する排気弁３４、排気弁３４を駆動する排気弁駆動機構３４ａ、点火プラグ３５、点火プラグ３５に与える高電圧を発生するイグニッションコイルを含むイグナイタ３６及び燃料（ガソリン燃料）を燃焼室２５内に噴射するインジェクタ（燃料噴射弁）３７を備えている。吸気弁駆動機構３２ａ及び排気弁駆動機構３４ａは、駆動回路３８に接続されていて、駆動回路３８からの信号に応答して、吸気弁３２及び排気弁３４をそれぞれ開閉駆動する可変動弁機構（例えば、電磁駆動弁系）である。
【００６２】
インジェクタ３７は、蓄圧室３７ａ、燃料ポンプ３７ｂ及び燃料タンク（図示省略）に順に接続されている。燃料ポンプ３７ｂは駆動信号に応答して燃料タンク内の燃料を高圧にしてから蓄圧室３７ａに供給するようになっている。蓄圧室３７ａは高圧の燃料を貯蔵するようになっている。これにより、インジェクタ３７は、駆動信号に応答して開弁したとき、燃焼室２５内に高圧の燃料を噴射するようになっている。なお、これらは燃料噴射手段を構成している。
【００６３】
吸気系統４０は、吸気ポート３１に連通したインテークマニホールド４１、インテークマニホールド４１に連通するとともに吸気管（給気管）を構成するサージタンク４２、サージタンク４２に一端が接続された吸気ダクト４３、吸気ダクト４３の他端部から下流（サージタンク４２）に向けて順に吸気ダクト４３に配設されたエアフィルタ４４、エアバイパスバルブ４５（以下、ＡＢＶ４５と称呼する。）、スーパーチャージャ（機械式過給機）４６、インタークーラ４７及びスロットル弁４８を備えている。なお、吸気ポート３１、インテークマニホールド４１及びサージタンク４２等は、スロットル弁下流の吸気通路を構成している。
【００６４】
スーパーチャージャ４６はスーパーチャージャ用クラッチ４６ａを備えている。スーパーチャージャ用クラッチ４６ａは、駆動信号に応答して、スーパーチャージャ４６を内燃機関１０によって機械的に駆動する状態（作動状態、即ち、過給状態）と、スーパーチャージャ４６を内燃機関１０によって駆動しない状態（非作動状態、即ち、非過給状態）とに切り替えるようになっている。インタークーラ４７は水冷式であって、吸気ダクト４３を通過する空気を冷却するようになっている。
【００６５】
吸気系統４０は、更に、バイパス通路４８を備えている。バイパス通路４８の一端はＡＢＶ４５と接続され、他端はスーパーチャージャ４６とインタークーラ４７との間の位置にて吸気ダクト４３に接続されている。ＡＢＶ４５は、駆動信号に応答して図示しないバルブ開度を変更することにより、スーパーチャージャ４６へ流入する空気量とスーパーチャージャ４６をバイパスする空気量とを調整できるようになっている。
【００６６】
スロットル弁４８は吸気ダクト４３内において同吸気ダクト４３に回動可能に支持されている。スロットル弁４８は、スロットル弁駆動手段を構成するスロットル弁アクチュエータ４８ａと接続されている。スロットル弁４８は、スロットル弁アクチュエータ４８ａにより回転駆動され、吸気ダクト４３の開口断面積（即ち、吸気通路断面積）を変更するようになっている。
【００６７】
排気系統５０は、排気ポート３３に連通し同排気ポート３３とともに排気通路を形成するエキゾーストマニホールドを含む排気管５１及び排気管５１に配設された三元触媒装置５２を備えている。
【００６８】
一方、このシステムは、エアフローメータ６１、外気温度センサ６２、クランクポジションセンサ６３、スロットル弁開度センサ６４、吸気管圧力センサ６５、吸気温度センサ６６及びアクセル開度センサ６７を備えている。
【００６９】
エアフローメータ６１は吸入された空気の流量Ｇａを表す信号を出力するようになっている。外気温度センサ６２は機関（吸気通路）に流入する空気の温度（外気温度）Tatmを現す信号を出力するようになっている。クランクポジションセンサ６３は、クランク軸２４が一定微少角度だけ回転する毎に幅狭のパルス出力するようになっている。この信号に基づいてエンジン回転速度NEが求められるようになっている。また、クランクポジションセンサ６３から出力されるパルスと、クランク角が７２０度回転して圧縮上死点になるたびに一つのパルスを出力する図示しない基準位置センサからのパルスとにより、クランク角（クランクカウンタccrnkの値）が求められるようになっている。
【００７０】
スロットル弁開度センサ６４は、スロットル弁４８の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。吸気管圧力センサ６５は、スロットル弁４８よりも下流における吸気管内の空気の圧力（吸気管圧力）PMを表す信号を出力するようになっている。吸気温度センサ６６は、吸気管内の空気の温度（吸気温度）THAを表す信号を出力するようになっている。アクセル開度センサ６７は、運転者によって操作されるアクセルペダル６８の操作量Accpを表す信号を出力するようになっている。
【００７１】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。
【００７２】
インターフェース７５は、前記センサ６１〜６７と接続され、ＣＰＵ７１にセンサ６１〜６７からの信号を供給するようになっている。インターフェース７５は、イグナイタ３６、インジェクタ３７、燃料ポンプ３７ｂ、駆動回路３８、ＡＢＶ４５、スーパーチャージャ用クラッチ４６ａ及びスロットル弁アクチュエータ４８ａと接続されていて、ＣＰＵ７１の指示に応じてこれらに駆動信号を送出するようになっている。
【００７３】
次に、上記のように構成された内燃機関の制御装置の作動について説明する。
（フラグの説明）
先ず、以下に説明する制御において使用されるフラグについて説明する。この制御においては、図３のタイムチャートに示したように、切替要求フラグXYQ42、過給実行フラグXCHG、切替実行フラグX2CY、切替過渡フラグXKT42及び切替過渡フラグXKT24の５つのフラグが主として使用される。
【００７４】
切替要求フラグXYQ42は、機関の運転領域が変化することにより、４サイクル火花点火運転から２サイクル自着火運転へ或いはその逆へ切り替える要求が発生したことを示すフラグである。即ち、切替要求フラグXYQ42の値の「０」から「１」への変化は、４サイクル火花点火運転から２サイクル自着火運転への切り替え要求が発生したことを示す。切替要求フラグXYQ42の値の「１」から「０」への変化は、２サイクル自着火運転から４サイクル火花点火運転への切り替え要求が発生したことを示す。
【００７５】
過給実行フラグXCHGは、スーパーチャージャ用クラッチ４６ａを作動させてスーパーチャージャ４６による過給の実行を指示するためのフラグである。過給実行フラグXCHGの値は、切替要求フラグXYQ42の値が「０」から「１」へ変化した後に所定の条件が成立すると「１」に設定される。これにより、スーパーチャージャ４６による過給が開始する。過給実行フラグXCHGの値は、切替要求フラグXYQ42の値が「１」から「０」へ変化すると「０」に設定される。これにより、スーパーチャージャ４６による過給は停止する。
【００７６】
切替実行フラグX2CYは、４サイクル火花点火運転から２サイクル自着火運転への切り替え及びその逆への切り替えを実際に実行させるためのフラグである。切替実行フラグX2CYの値は、２サイクル自着火運転へ切り替えるためにスーパーチャージャ４６による過給が開始された後、吸気管圧力PMが所定閾値PMth以上となったときに「１」に設定される。これにより、２サイクル自着火運転が開始する。切替実行フラグX2CYの値は、切替要求フラグXYQ42の値が「１」から「０」へ変化すると「０」に設定される。これにより、４サイクル火花点火運転が開始する。
【００７７】
切替過渡フラグXKT42は、運転状態が４サイクル火花点火運転から２サイクル自着火運転への切り替え過渡状態にあることを示すフラグである。即ち、切替過渡フラグXKT42の値は、２サイクル自着火運転へ切り替えるためにスーパーチャージャ４６による過給が開始されたとき「１」に設定され、この過給が安定して行われている状態となったとき（例えば、各気筒の排気量に対する一回のサイクルで実際に一気筒に流入する空気量の比である負荷率KLの時間的変化量ΔKLが小さくなったとき）「０」に設定される。
【００７８】
切替過渡フラグXKT24は、運転状態が２サイクル自着火運転から４サイクル火花点火運転への切り替え過渡状態にあることを示すフラグである。即ち、切替過渡フラグXKT24の値は、過給実行フラグXCHG及び切替実行フラグX2CYの値が「１」から「０」へ変化し、４サイクル火花点火運転へ切り替えるためにスーパーチャージャ４６による過給が停止されたとき「１」に設定され、この過給の停止後に吸気管内の空気流量が安定した状態となったとき（例えば、負荷率KLの時間的変化量ΔKLが小さくなったとき）「０」に設定される。
【００７９】
＜４サイクル火花点火運転から２サイクル自着火運転への切り替え＞
次に、４サイクル火花点火運転から２サイクル自着火運転への切り替え時における本制御装置の作動について説明する。
【００８０】
（吸気弁遅閉じ運転から早閉じ運転への切り替え制御）
制御の概要
この制御装置は、４サイクル火花点火運転を実行する際、吸気弁早閉じ運転と吸気弁遅閉じ運転とを併用している。
【００８１】
前述したように、吸気弁早閉じ運転とは、スロットル弁４８を実質的に全開状態に維持するとともに、図１に示したように、吸気弁の閉弁時期ＩＣを吸気上死点ＴＤＣから吸気下死点ＢＤＣまでの間の所定の時期に設定する運転のことを言う。この吸気弁の閉弁時期ＩＣ（換言すると、吸気弁の開弁時期ＩＯ〜閉弁時期ＩＣまでの吸気弁開弁期間）により、燃焼室２５内に導入する空気量が調整される。これによれば、スロットル弁４８及び吸気弁３２により形成される絞り部を空気が通過する際の損失が低減されるので、燃費が向上する。
【００８２】
吸気弁遅閉じ運転とは、図１に示したように、吸気弁の閉弁時期ＩＣを吸気下死点ＢＤＣから圧縮上死点までの間に設定する運転のことを言う。このとき、スロットル弁開度は、略全開、或いは、運転領域に応じて全開以下の所定の開度に調節される。この吸気弁遅閉じ運転によれば、吸気弁開弁期間が長くなって燃焼室２５内において空気流が長期間発生するので、燃料の霧化が促進され、その結果、安定した燃焼を行わせることができる。
【００８３】
吸気弁早閉じ運転を実行するか、吸気弁遅閉じ運転を実行するかは、機関に要求されるトルク（目標トルクTqtgt）とエンジン回転速度NEとに基いて予め定められる。目標トルクTqtgtは、アクセルペダル操作量Accp及びエンジン回転速度NEと目標トルクTqtgtとの関係を予め定めるルックアップテーブルMapTqtgt(Accp,NE)と、実際のアクセルペダル操作量Accpと、実際のエンジン回転速度NEと、に基いて決定される。
【００８４】
なお、以下の説明において、MapX(a,b)と標記されるテーブルは、変数ａ及び変数ｂと値Ｘとの関係を規定するテーブルを意味することとする。また、値ＸをテーブルMapX(a,b)に基づいて求めるとは、値Ｘを現時点の変数ａ及び現時点の変数ｂと、テーブルMapX(a,b)とに基づいて求める（決定する）ことを意味することとする。
【００８５】
ところで、この内燃機関１０の運転領域設定においては、４サイクル火花点火の吸気弁早閉じ運転を実行する運転領域と２サイクル自着火運転を行う運転領域とが隣接している場合と、４サイクル火花点火の吸気弁遅閉じ運転を実行する運転領域と２サイクル自着火運転を行う運転領域とが隣接している場合とが並存している。換言すると、４サイクル火花点火運転から２サイクル自着火運転へと切り替る直前において、吸気弁早閉じ運転が実行されている場合と、吸気弁遅閉じ運転が実行されている場合とが存在している。
【００８６】
一方、吸気弁遅閉じ運転においては、吸気弁の閉弁時期ＩＣが圧縮上死点近傍となるから、燃焼室内に形成された未燃の燃料を含むガスが吸気ポート３１に吹き返される。この結果、吸気ポート３１を含む吸気通路には燃料が多量に存在している。このため、４サイクル火花点火且つ吸気弁遅閉じ運転から２サイクル自着火運転に直接切り替えると、吸気通路に存在していた燃料が多量に燃焼室２５内に流入し、混合気の空燃比がオーバーリッチとなるため、自着火燃焼が不安定となることが見出された。
【００８７】
そこで、本制御装置は、４サイクル火花点火の吸気弁遅閉じ運転から２サイクル自着火運転へと切り替える必要が生じた際、先ず、４サイクル火花点火の吸気弁遅閉じ運転から４サイクル火花点火の吸気弁早閉じ運転に切り替える。そして、この吸気弁早閉じ運転を所定期間行うことにより、吸気通路内に存在する燃料を減少させておく。同時に、燃料噴射量を所定の期間に渡り減量し、吸気弁早閉じ運転中の空燃比を適切にする。その後、本制御装置は、２サイクル自着火運転に切り替える。この結果、２サイクル自着火運転に切り替えた直後の自着火燃焼を安定させることができる。
【００８８】
また、この内燃機関１０においては、２サイクル自着火運転中に十分な空気量の空気を燃焼室２５内に導入するとともに燃焼室２５内に残存する燃焼ガスを排出するため、スーパーチャージャ４６を作動させ過給を行う。これに対し、４サイクル火花点火運転中では過給損失を抑制するため、スーパーチャージャ４６を非作動として過給を実質的に停止している。
【００８９】
従って、４サイクル火花点火運転から２サイクル自着火運転へと運転状態を切り替えるとき、スーパーチャージャ４６の状態を非作動状態から作動状態へと変更する必要がある。しかしながら、４サイクル火花点火運転中においてスロットル弁４８が吸気通路を絞っていると、スロットル弁４８の下流の吸気管圧力は負圧となっているため、スーパーチャージャ４６による過給開始後における過給圧の上昇が遅れてしまう。この結果、２サイクル自着火運転の開始が遅れるか、或いは、２サイクル自着火運転を直ちに開始した場合、過給圧が小さいために混合気中の空気が不足するとともに燃焼ガスが多くなりすぎ、自着火による燃焼が不安定となる恐れがある。
【００９０】
そこで、本制御装置は、４サイクル火花点火運転から２サイクル自着火運転へと運転状態を切り替える要求があったとき、吸気弁遅閉じ運転中であれば吸気弁早閉じ運転に切り替えるだけでなく、スロットル弁４８を全開に近い状態（所謂「ノンスロットル運転状態」）とする。これにより、スロットル弁４８下流の吸気管圧力は大気圧に近づく。本制御装置は、その後、スーパーチャージャ４６を作動させる。この結果、過給圧が速やかに上昇するので、２サイクル自着火運転を早期に安定して開始することができる。
【００９１】
更に、本制御装置は、吸気弁遅閉じ運転から吸気弁早閉じ運転へと切り替える際、機関の発生トルクが変化しないように吸気弁閉弁時期ＩＣを制御する。この結果、トルク変動を抑制することができる。なお、本例において、吸気弁開弁時期ＩＯは固定であるから、吸気弁閉弁時期ＩＣを制御することと吸気弁開弁期間を制御することは同義である。
【００９２】
実際の作動
以下、実際の作動について説明する。なお、以下においては、第１気筒に対する制御について説明するが、他の気筒に対しても同じ制御が実行される。
（４サイクル火花点火運転）
電気制御装置７０のＣＰＵ７１は、図４にフローチャートにより示した４サイクル時（４サイクル火花点火運転時）制御ルーチンをクランク角が第１気筒の吸気上死点（４サイクルの吸気上死点）前の所定の角度となったとき実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ４００から処理を開始してステップ４０５に進み、前述した五つのフラグ（切替要求フラグXYQ42、過給実行フラグXCHG、切替実行フラグX2CY、切替過渡フラグXKT42及び切替過渡フラグXKT24）の値が総て「０」になっているか否かを判定する。
【００９３】
いま、機関の運転領域が４サイクル火花点火運転領域にあって４サイクル火花運転を定常的に行っているとして説明を続けると、図３のタイムチャートの時刻ｔ１以前に示したように、切替要求フラグXYQ42、過給実行フラグXCHG、切替実行フラグX2CY、切替過渡フラグXKT42及び切替過渡フラグXKT24は、総て「０」に設定されている。従って、ＣＰＵ７１はステップ４０５にて「Ｙｅｓ」と判定してステップ４１０に進み、目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
【００９４】
次いで、ＣＰＵ７１はステップ４１５〜ステップ４４５に進んで以下の処理を行い、その後、ステップ４９５に進んで本ルーチンを一旦終了する。
ステップ４１５：基本吸気弁閉弁時期ICbse4をテーブルMapICbse4(Tqtgt,NE)に基いて求める。基本吸気弁閉弁時期ICbse4は、吸気弁早閉じ運転に対応した時期又は吸気弁遅閉じ運転に対応した時期の何れにもなり得る。
ステップ４２０：目標基本スロットル弁開度TAtgtbse4をテーブルMapTAtgtbse4(Tqtgt,NE)に基いて求める。目標基本スロットル弁開度TAtgtbse4は、基本吸気弁閉弁時期ICbse4に関連して定められる。即ち、目標基本スロットル弁開度TAtgtbse4は、吸気弁早閉じ運転中及び吸気弁遅閉じ運転中において略全開（又は全開近傍）の所定の角度となる。テーブルMapTAtgtbse4(Tqtgt,NE)は、４サイクル火花点火運転中の目標スロットル弁開度TAtgtを機関の運転状態に基いて定める４サイクル火花点火運転用目標スロットル弁開度決定手段の機能を達成している。
【００９５】
ステップ４２５：基本燃料噴射量taubse4をテーブルMaptaubse4(KL,NE)に基いて求める。負荷率KLは、エアフローメータ６１により計測された実際の空気流量Ｇａを一サイクルあたりに燃焼室２５に吸入された空気量Ｇｎに変換し、その空気量Ｇｎを一気筒あたりに変換した値をその気筒の排気量で除した値として定義される。基本燃料噴射量taubse4は、燃焼室２５内に形成される混合気の空燃比が予め定められた空燃比となるように設定されている。テーブルMaptaubse4(KL,NE)は、４サイクル火花点火運転中において測定された空気流量に基づいて得られる値（負荷率KL）に応じて燃料噴射量を決定する燃料噴射量決定手段に相当している。
ステップ４３０：基本燃料噴射開始時期Ainjbse4をテーブルMapAinjbse4(KL,NE)に基いて求める。なお、燃料噴射開始時期は、単に「燃料噴射時期」と言うこともある。
ステップ４３５：基本点火時期SAbseをテーブルMapSAbse(KL,NE)に基いて求める。
【００９６】
ステップ４４０：目標ＡＢＶ開度ABVtgtに全開の開度ABVmaxを設定する。これにより、空気がスーパーチャージャ４６を通過しなくなるので、空気がスーパーチャージャ４６を通過することによる圧力損失の発生を回避することができる。その結果、吸気効率が上昇し、燃費を改善することができる。なお、このステップは、４サイクル火花点火運転中の目標ＡＢＶ開度ABVtgtを機関の運転状態に基いて定める４サイクル火花点火運転用目標スロットル弁開度決定手段の機能を達成している。
ステップ４４５：吸気弁閉弁時期ＩＣに基本吸気弁閉弁時期ICbse4を、目標スロットル弁開度TAtgtに基本目標スロットル弁開度TAtgtbse4を、燃料噴射量tauに基本燃料噴射量taubse4を、噴射時期Ainjに基本燃料噴射開始時期Ainjbse4を、点火時期SAに基本点火時期SAbseをそれぞれ設定する。なお、排気通路に備えられた空燃比センサ（図示省略）の出力に基く空燃比フィードバック量などの補正量により基本燃料噴射量taubse4を補正した燃料噴射量を、燃料噴射量tauに設定してもよい。
【００９７】
これにより、吸気弁３２は固定の吸気弁開弁時期ＩＯから上記決定された吸気弁閉弁時期ＩＣまで開弁させられる。燃料はインジェクタ３７が燃料噴射開始時期Ainjから計測される空気量に応じた値（負荷率KL)に基づいた燃料噴射量tauに応じた時間だけ開弁させられることにより、燃料噴射量tauに応じた量だけ噴射させられる。また、燃焼室２５内に形成された混合気は計測される空気量に応じた値（負荷率KL)に基づいた点火時期SAにて点火させられる。スロットル弁４８及びＡＢＶ４５は、それらの開度がそれぞれ目標スロットル弁開度TAtgt及び目標ＡＢＶ開度ABVtgtとなるように駆動される。排気弁３４は固定の排気弁開弁期間だけ開弁させられる。ただし、排気弁の開弁時期ＥＯ及び閉弁時期ＥＣを機関の運転状態に応じて可変とすることもできる。
【００９８】
なお、機関の運転領域が４サイクル火花点火運転領域にないとき、後述するように、少なくとも切替要求フラグXYQ42の値が「１」に設定される。従って、この場合、ＣＰＵ７１はステップ４０５にて「Ｎｏ」と判定し、直ちにステップ４９５に進み本ルーチンを終了する。
【００９９】
（４サイクル火花点火運転から２サイクル自着火運転への切り替え）
次に、機関の運転領域が４サイクル火花点火運転領域から２サイクル自着火運転領域に変化した場合について説明する。
ＣＰＵ７１は、図５にフローチャートにより示した運転状態切り替え要求判定ルーチン（切り替え要求判定手段を構成する。）を所定の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ５００から処理を開始し、ステップ５０５に進んで目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。次いで、ＣＰＵ７１はステップ５１０に進み、現在の運転領域（目標トルクTqtgt及びエンジン回転速度NEにより定まる運転状態）が４サイクル火花点火運転領域にあるか、２サイクル自着火運転領域にあるかを、同ステップ５０５内に示したマップから決定する。
【０１００】
次に、ＣＰＵ７１はステップ５１５に進み、現在の運転領域が２サイクル自着火運転領域にあるか否かを判定する。このとき、前述の仮定に従えば、現在の運転領域は２サイクル自着火運転領域にある。従って、ＣＰＵ７１はステップ５１５にて「Ｙｅｓ」と判定してステップ５２０に進み、前回本ルーチンを実行したときの機関の運転領域（前回の運転領域）が４サイクル火花点火運転領域であったか否かを判定する。
【０１０１】
前述の仮定に従えば、前回の運転領域は４サイクル火花点火運転領域である。従って、ＣＰＵ７１はステップ５２０にて「Ｙｅｓ」と判定してステップ５２２に進み、過給圧異常フラグXerrorの値が「０」であるか否かを判定する。過給圧異常フラグXerrorは、後述するように、スーパーチャージャ４６により過給を開始しても過給圧が上昇しないときに「１」に設定されるフラグであり、バックアップラム７４に格納されている。通常、過給圧異常フラグXerrorは「０」であるから、ＣＰＵ７１はステップ５２２にて「Ｙｅｓ」と判定してステップ５２５に進み、切替要求フラグXYQ42の値を「１」に設定し、その後、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１０２】
一方、過給圧異常フラグXerrorが「１」であるとき、ＣＰＵ７１はステップ５２２にて「Ｎｏ」と判定して直接ステップ５９５に進む。この結果、切替要求フラグXYQ42の値が「０」に維持されるので、４サイクル火花点火運転から２サイクル自着火運転への切り替えが発生しない（即ち、２サイクル自着火運転への切り替えが禁止されることになる。）。また、現在の運転領域及び前回の運転領域が共に２サイクル自着火運転領域にあるとき、ＣＰＵ７１はステップ５２０にて「Ｎｏ」と判定し、そのままステップ５９５に進んで本ルーチンを一旦終了する。
【０１０３】
一方、ＣＰＵ７１は、図６にフローチャートにより示した吸気弁遅閉じ補償制御ルーチンをクランク角が第１気筒の吸気上死点前の所定の角度となったとき実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ６００から処理を開始してステップ６０２に進み、切替要求フラグXYQ42の値が「１」であり、且つ、他のフラグ（過給実行フラグXCHG、切替実行フラグX2CY、切替過渡フラグXKT42及び切替過渡フラグXKT24）の値が総て「０」になっているか否かを判定する。
【０１０４】
この場合、図３の時刻ｔ１からｔ２に示したように、図５のステップ５２５によりステップ切替要求フラグXYQ42の値は「１」に設定されている。また、他のフラグの値は「０」に維持されている。従って、ＣＰＵ７１はステップ６０２にて「Ｙｅｓ」と判定し、ステップ６０４に進む。なお、ステップ６０２に示した条件が成立していないとき、ＣＰＵ７１は同ステップ６０２にて「Ｎｏ」と判定して直ちにステップ６９５に進み、本ルーチンを一旦終了する。
【０１０５】
ＣＰＵ７１は、ステップ６０４にて、以下の処置を実行する。
目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
基本吸気弁閉弁時期ICbse4をテーブルMapICbse4(Tqtgt,NE)に基いて求める。
基本燃料噴射量taubse4をテーブルMaptaubse4(KL,NE)に基いて求める。
基本燃料噴射開始時期Ainjbse4をテーブルMapAinjbse4(KL,NE)に基いて求め、燃料噴射開始時期Ainjに設定する。
基本点火時期SAbseをテーブルMapSAbse(KL,NE)に基いて求める。
点火時期SAに基本点火時期SAbseを設定する。
目標基本スロットル弁開度TAtgtbse4をテーブルMapTAtgtbse4(Tqtgt,NE)に基いて求める。
目標ＡＢＶ開度ABVtgtに全開の開度ABVmaxを設定する。
【０１０６】
次に、ＣＰＵ７１はステップ６０６に進み、基本吸気弁開弁時期ICbse4がＡＴＤＣ５４０deg（５４０度）より大きいか否かを判定する。ＡＴＤＣは、４サイクルの圧縮上死点を０度として同圧縮上死点後のクランク角を表す。従って、ステップ６０６では、基本吸気弁開弁時期ICbse4に従う吸気弁閉弁時期が吸気下死点よりも遅いか否か（現在の機関の運転領域或いは運転状態が吸気弁遅閉じ運転領域にあるか否か）を判定していることになる。
【０１０７】
「吸気弁遅閉じ運転中である場合」
いま、吸気弁遅閉じ運転がなされていると仮定して説明を続けると、この場合、基本吸気弁開弁時期ICbse4がＡＴＤＣ５４０degより大きい。従って、ＣＰＵ７１はステップ６０６にて「Ｙｅｓ」と判定してステップ６０８に進み、早閉じ吸気弁閉弁時期ICHを、テーブルMapICH(Tqtgt,NE)に基いて算出する。この早閉じ吸気弁閉弁時期ICHは、吸気弁３２を早閉じ吸気弁閉弁時期ICHにて閉弁したときに得られる機関の発生トルク（即ち、燃焼室２５内に流入する空気量）が、吸気弁３２を吸気弁遅閉じ運転の吸気弁閉弁時期となっている現時点の基本吸気弁開弁時期ICbse4で閉弁したときに得られる機関の発生トルクと等しくなるように予め定められている。なお、後述するようにスロットル弁開度（目標スロットル弁開度TAtgt）も併せて変更され、吸気弁遅閉じ運転から吸気弁早閉じ運転へと等トルクが維持されながら移行する。
【０１０８】
なお、この例では、吸気弁早閉じ運転における早閉じ吸気弁閉弁時期ICHを、テーブルMapICH(Tqtgt,NE)に基いて算出しているが、吸気下死点ＢＤＣから吸気弁遅閉じ運転における吸気弁閉弁時期までのクランク角をαとしたとき、同吸気下死点ＢＤＣからクランク角αだけ遡った時期を吸気弁早閉じ運転における早閉じ吸気弁閉弁時期ICHとして求めてもよい。即ち、吸気下死点に対して吸気弁遅閉じ運転の吸気弁閉弁時期と対称となる時期（クランク角）を吸気弁早閉じ運転の吸気弁閉弁時期としてもよい。更に、互いに等トルクとなる吸気弁遅閉じ運転における吸気弁閉弁時期（この場合、基本吸気弁開弁時期ICbse4）と吸気弁早閉じ運転における吸気弁閉弁時期ICHとの差分を記憶しておき、基本吸気弁開弁時期ICbse4をその差分で補正して吸気弁早閉じ運転における吸気弁閉弁時期ICHを求めてもよい。
【０１０９】
次いで、ＣＰＵ７１はステップ６１０に進み、補償制御実行中フラグXHTの値が「０」であるか否かを判定する。この補償制御実行中フラグXHTは、以下に述べる吸気弁遅閉じ補償制御が実行中であるか否かを示すフラグである。現時点は、吸気弁遅閉じ補償制御が開始されていないので、吸気弁補償制御実行中フラグXHTの値は「０」に設定されている。従って、ＣＰＵ７１はステップ６１０にて「Ｙｅｓ」と判定してステップ６１２に進む。
【０１１０】
ＣＰＵ７１はステップ６１２に進むと、吸気弁遅閉じ補償制御実行中フラグXHTの値に「１」を設定する。次いで、ＣＰＵ７１はステップ６１４に進んでカウンタC1の値を「０」に設定し、ステップ６１６に進んで燃料噴射補正量ΔtauをテーブルMapΔtau(KL,NE)に基いて求める。この燃料噴射補正量Δtauは、吸気弁遅閉じ運転中において燃焼室２５から吸気ポート３１に吹き返されて同吸気ポート３１に付着していたり、或いは、同吸気ポート３１を含む吸気通路にガス状態で存在している燃料であって、吸気弁早閉じ運転への切換え時以降において燃焼室２５内に流入する燃料分を補償するための量である。
【０１１１】
次に、ＣＰＵ７１はステップ６１８に進み、下記(1)式に従って燃料噴射量tauを算出する。
tau＝taubse4−(3−C1)・Δtau    …(1)
続いて、ＣＰＵ７１はステップ６２０〜ステップ６２４に進んで、以下の処理を行い、ステップ６９５に進んで本ルーチンを一旦終了する。
ステップ６２０：吸気弁閉弁時期ＩＣに上述したステップ６０８にて決定した早閉じ吸気弁閉弁時期ICHを設定する。このステップ６２０及びステップ６０８は、２サイクル自着火へのサイクル切り替え要求があった場合に吸気弁３２の運転状態を遅閉じ運転状態から吸気弁早閉じ運転状態へと切り替えるとき、前記機関の筒内に流入する空気量が一定となるように吸気弁閉弁時期ＩＣを変化させる吸気弁制御手段の機能を達成している。
【０１１２】
ステップ６２２：目標補償スロットル弁開度TAtgtktをテーブルMap(Tqtgt,NE)に基いて求める。目標補償スロットル弁開度TAtgtktは、吸気弁遅閉じ運転の吸気弁閉弁時期を吸気弁早閉じ吸気弁閉弁時期ICHに設定したとき、機関のトルクが一定値に維持されるように予め定められている。ただし、目標補償スロットル弁開度TAtgtktは、スロットル弁全開より小さいができるだけスロットル弁全開に近い開度に設定される。これにより、スロットル弁４８下流の吸気管圧力が大気圧に近づく。
ステップ６２４：目標スロットル弁開度TAtgtに、ステップ６２２にて求められた目標補償スロットル弁開度TAtgtktを設定する。これにより、スロットル弁の開度が増大せしめられる。
【０１１３】
このように、ステップ６２２及びステップ６２４等は、４サイクル火花点火運転から２サイクル自着火運転へのサイクル切り替え要求があった場合（ステップ６０２での肯定判定が生じたとき）、前記吸気弁の運転状態を前記遅閉じ運転状態から前記吸気弁早閉じ運転状態へと切り替えるとき、前記２サイクル自着火運転を行うための前記過給手段による過給の開始に先立ち（過給実行フラグXCHGを「１」へと変化させる前に）、前記スロットル弁４８の開度を増大させるスロットル弁開度制御手段の機能を達成している。
【０１１４】
その後、再び、クランク角が第１気筒の吸気上死点前の所定の角度となると、ＣＰＵ７１はステップ６００から処理を開始してステップ６０２〜ステップ６０８の処理を実行し、ステップ６１０に進む。この時点では、遅閉じ補償制御実行中フラグXHTの値は先のステップ６１２にて「１」に設定されている。従って、ＣＰＵ７１はステップ６１０にて「Ｎｏ」と判定してステップ６２６へと進み、カウンタC1の値を「１」だけ増大し、続くステップ６２８にて、カウンタC1の値が３より小さいか否かを判定する。
【０１１５】
この場合、カウンタC1の値は「１」となっているから、ＣＰＵ７１はステップ６２８にて「Ｙｅｓ」と判定し、ステップ６１８〜ステップ６２４の処理を実行し、ステップ６９５に進んで本ルーチンを一旦終了する。これにより、燃料噴射量tauは基本燃料噴射量taubse4から（３−C1）・Δtau（＝２・Δtau）だけ減量され、吸気弁３２は早閉じ吸気弁閉弁時期ICHにて閉弁されるとともに、目標スロットル弁開度TAtgtは目標補償スロットル弁開度TAtgtktに設定される。
【０１１６】
以上の処置は、カウンタC1の値が３以上となるまで繰り返し実行される。そして、カウンタC1の値が３となったとき、ＣＰＵ７１がステップ６２８に進むと、同ＣＰＵ７１はステップ６２８にて「Ｎｏ」と判定してステップ６３０〜ステップ６３４に進み、以下の処理を行う。
ステップ６３０：過給実行フラグXCHGの値に「１」を設定する。
ステップ６３２：遅閉じ補償制御実行中フラグXHTの値に「０」を設定する。
ステップ６３４：燃料噴射量tauに基本燃料噴射量taubse4を設定する。
【０１１７】
このように、本制御装置は、遅閉じ運転から吸気弁早閉じ運転へと移行させた後、数回の噴射だけ燃料噴射量を基本燃料噴射量よりも若干量（上記例では、(3-C1)・Δtau）減量し、数回の噴射後に基本燃料噴射量に復帰させる燃料噴射量制御手段を備える。この減量分の総量（上記の例では、3Δtau+2Δtau+Δtau＝６Δtau）は、吸気弁遅閉じ運転において吸気通路に吹き返されていた燃料分と略等しくなるように設定しておくことが好ましい。更に、一回の噴射あたりの減量分（上記例では、(3-C1)・Δtau）は、その噴射に対応する吸気行程にて燃焼室２５内に吸入される「吹き返されていた燃料」の量と略等しくなるように設定しておくことが、混合気の空燃比を一定に維持する上で好ましい。従って、その減量分は、上記例のように噴射回数に応じて次第に小さくさせることが好ましい。
【０１１８】
次に、ＣＰＵ７１はステップ６２０〜ステップ６２４の処理を実行し、ステップ６９５にて本ルーチンを一旦終了する。以上により、燃料噴射量tauは基本燃料噴射量taubse4となり、吸気弁３２は早閉じ吸気弁閉弁時期ICHにて閉弁されるとともに、目標スロットル弁開度TAtgtは目標補償スロットル弁開度TAtgtktに設定される。
【０１１９】
現時点では、先のステップ６３０にて、過給実行フラグXCHGの値が「１」に設定されている。従って、ＣＰＵ７１が次回以降に本ルーチンをステップ６００から開始すると、ステップ６０２にて「Ｎｏ」と判定して直ちにステップ６９５に進むようになる。
【０１２０】
なお、上記例においては、燃料噴射開始時期Ainjを基本燃料噴射開始時期Ainjbse4のまま維持しているが、燃料噴射開示時期Ainjを、吸気弁遅閉じ運転から吸気弁早閉じ運転に移行することに伴って、吸気弁遅閉じ運転に適合された基本燃料噴射開始時期Ainjbse4よりも進角させた吸気弁早閉じ運転用の燃料噴射開始時期に設定することも好適である。
【０１２１】
なお、ステップ６０２〜ステップ６０４等は、４サイクル火花点火運転中に、前記機関の吸気弁を吸気行程下死点より前に閉弁する吸気弁早閉じ運転状態と、同吸気弁を同吸気行程下死点より後に閉弁する吸気弁遅閉じ運転状態と、の何れかの運転状態にしたがって吸気弁を閉弁するとともに、４サイクル火花点火運転から２サイクル自着火へのサイクル切り替え要求があった場合に同吸気弁の運転状態が同吸気弁遅閉じ運転状態であるとき、前記２サイクル自着火運転への切り替えに先立ち、同吸気弁の運転状態を同吸気弁早閉じ運転状態へと切り替える吸気弁制御手段の機能を達成するステップである。
【０１２２】
「吸気弁早閉じ運転中である場合」
一方、ＣＰＵ７１は、吸気弁早閉じ運転がなされている場合に、図６に示した吸気弁遅閉じ補償制御ルーチンのステップ６０６に初めて到達すると、同ＣＰＵ７１はステップ６０６にて「Ｎｏ」判定してステップ６３６〜ステップ６４２に進み、以下の処理を行ってからステップ６９５に進む。
【０１２３】
ステップ６３６：過給実行フラグXCHGの値に「１」を設定する。
ステップ６３８：燃料噴射量tauに基本燃料噴射量taubse4を設定する。
ステップ６４０：吸気弁閉弁時期ＩＣに基本吸気弁閉弁時期ICbse4を設定する。
ステップ６４２：目標スロットル弁開度TAtgtに目標基本スロットル弁開度TAtgtbse4を設定する。
このように、機関の運転領域が４サイクル火花点火運転領域から２サイクル自着火運転領域に変化した場合に、吸気弁早閉じ運転が実行されていれば、吸気弁閉弁時期ＩＣ等はそのままの値に維持される。
【０１２４】
（４サイクル火花点火の気弁早閉じ運転から２サイクル自着火運転への移行制御）
過給の開始
以上により、機関の運転領域が４サイクル火花点火運転領域から２サイクル自着火運転領域に変化したとき、吸気弁早閉じ運転が実行されていればステップ６３６にて、吸気弁遅閉じ運転が実行されていれば吸気弁遅閉じ運転から吸気弁早閉じ運転への切り替えが終了したときにステップ６３０にて、過給実行フラグXCHGの値が「１」に設定される（図３の時刻ｔ２を参照。）。
【０１２５】
一方、ＣＰＵ７１は図７に示したスーパーチャージャ用クラッチ制御（過給圧制御）ルーチンを所定時間の経過毎に繰り返し行うようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ７００から処理を開始し、ステップ７０５にて現時点が過給実行フラグXCHGの値が「０」から「１」に変化した直後であるか否かを判定する。
【０１２６】
現時点（時刻ｔ２）は、過給実行フラグXCHGの値が「０」から「１」に変化した直後である。従って、ＣＰＵ７１はステップ７０５にて「Ｙｅｓ」と判定してステップ７１０に進み、スーパーチャージャ用クラッチ４６ａに駆動信号を送出し、スーパーチャージャ４６を作動状態とする。これにより、過給が開始され、図３の時刻ｔ２以降に示したように、吸気管圧力PM（過給圧）は増大し始める。次いで、ＣＰＵ７１はステップ７１５にて切替過渡フラグXKT42の値に「１」を設定し、ステップ７１８にて異常判定用カウンタCTijoの値に「０」を設定し、ステップ７９５に進んで本ルーチンを一旦終了する。なお、異常判定用カウンタCTijoは、後述する図１４のフラグ操作ルーチンにて過給システムの異常判定のために使用される。
【０１２７】
なお、図７のステップ７０５〜７１５は、過給機（スーパーチャージャ４６）を含んでなり、４サイクル火花点火運転中は過給機による過給を停止し、２サイクル自着火運転中は同過給機による過給を行うとともに、サイクル切り替え要求があった場合（切替要求フラグXYQ42の「０」から「１」への変化にともなう過給実行フラグXCHGの「０」から「１」への変更があった場合）、２サイクル自着火運転に先立って過給機による過給を開始させる過給手段の機能を達成している。
【０１２８】
１．過給開始に伴う制御．
（１）吸気弁閉弁時期制御（等トルク制御）
制御の概要
スーパーチャージャ４６による過給が開始されると、吸気管圧力PMは次第に上昇する。しかしながら、吸気管圧力PMが十分な値（閾値PMth以上）になるまで、２サイクル自着火運転を開始することはできない。一方、吸気管圧力PMが上昇するので、吸気弁閉弁時期を変更しなければ燃焼室２５内に流入する空気量は増大し、機関の発生トルクが増大してしまう。そこで、本制御装置は、発生するトルクができるだけ変化しないように（過給開始時点のトルクが極力維持されるように）、以下のように過渡時の吸気弁閉弁時期IC１を決定し、実際の吸気弁閉弁時期ＩＣを決定された吸気弁閉弁時期IC１に変更することによって、機関の発生トルクを一定に維持する。
【０１２９】
このような過渡時（過給圧上昇中）の吸気弁閉弁時期ＩＣを求める基本的考え方は次のとおりである。先ず、スーパーチャージャ４６による過給開始時点における吸気弁閉弁時期IC0での燃焼室２５の容積(以下、「筒内体積Ｖ」と称呼する。）を初期筒内体積Ｖ０として求め、そのときの吸気管圧力PM0及び吸気温度THA0と気体の状態方程式（P・V＝n・R・T）とから燃焼室２５内の気体のモル数ｎ０を求める（ｎ０＝PM0・Ｖ０／（R・THA0））。次に、その後の（過渡時の）実際の吸気管圧力PM、吸気温度THA及び未知数である筒内体積Ｖと気体の状態方程式とから気体のモル数ｎを求める（ｎ＝PM・Ｖ／R・THA）。そして、ｎ０＝ｎと考えて筒内体積Ｖを求める。最後に、求められた筒内体積Ｖが得られるクランク角を過渡時の吸気弁閉弁時期IC１として求める。
【０１３０】
より、具体的に述べると、本制御装置は、スーパーチャージャ用クラッチ４６ａによりスーパーチャージャ４６が作動状態となり、スーパーチャージャ４６による過給が開始された時点（即ち、前述した図７のステップ７１５にて切替過渡フラグXKT42の値が「０」から「１」に変更された時点）における吸気管圧力PM、吸気弁閉弁時期ＩＣ及び吸気温度THAを、初期圧力PM0、初期吸気弁閉弁時期IC0及び初期吸気温度THA0としてそれぞれ格納する。
【０１３１】
また、クランク角が初期吸気弁閉弁時期IC0にあるとき（ＩＣ＝IC0）の筒内体積Ｖを、下記(2)式に従って初期筒内体積Ｖ０として計算により求める。(2)式は、クランク角θ(deg)と筒内体積Ｖとの関係を規定する周知の式である。なお、(2)式のクランク角θ(deg)と筒内体積Ｖとの関係を予めテーブルMapV(θ)として記憶しておき、筒内体積Ｖ（この場合、初期筒内体積Ｖ０)をテーブルMapV(θ)から求めてもよい。
【数１】
2005282377.tif 000003
【０１３２】
そして、過渡時における実際の吸気管圧力PM、吸気温度THA及び下記の(3)式を用いて過渡時の筒内体積Ｖを求める。(3)式は上述した考え方に基いて導かれる式である。
Ｖ＝PM0・Ｖ０・THA／（PM・THA0）    …(3)
【０１３３】
最後に、再び、上記(2)式（(2)式をθについて解いた式）を用いて過渡時の筒内体積Ｖが得られるクランク角θを求め、そのクランク角θを過渡時の吸気弁閉弁時期IC１として設定する。このとき、本制御装置は、(2)式に基いて筒内体積Ｖとクランク角θ(deg)との関係を予めテーブルMapθ(Ｖ)として記憶しておき、クランク角θをテーブルMapθ(Ｖ)に基いて求めてもよい。
【０１３４】
本制御装置は、このようにして求められた過渡時の吸気弁閉弁時期IC１にて吸気弁３２を閉弁する。従って、スーパーチャージャ４６の作動開始時（過給開始時点）に燃焼室２５に流入していた空気量と同じ空気量の空気を、その後の過渡時においても同燃焼室２５に与えることができる。その結果、機関の発生トルクが一定に維持される。
【０１３５】
また、本制御装置は、過渡時の吸気弁閉弁時期IC１を、(2)式又は(2)式をテーブル化したマップMapV(θ)と、(2)式をθについて解いた式又は同式をテーブル化したテーブルMapθ(Ｖ)とに基いて求める。従って、過渡時の吸気弁閉弁時期IC１を適合により定める必要がないので、適合に要する労力が低減される。また、過渡時の吸気弁閉弁時期IC１を適合されたテーブルにより定める場合、パラメータ（テーブルの引数）の種類が多くなるので、ＣＰＵの計算負荷が大きくなるとともにメモリに必要な容量が多くなるが、本制御装置はそのような問題を有さない。
【０１３６】
実際の作動
ＣＰＵ７１は上述の過渡時の吸気弁閉弁時期制御を行うため、クランク角が圧縮上死点後の所定のクランク角に一致する毎に、図８にフローチャートにより示した４−２切り替え時等トルク制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ８００から処理を開始してステップ８０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１３７】
現時点は、機関の運転領域が４サイクル火花点火運転領域から２サイクル自着火運転領域に変化したために切替要求フラグXYQ42の値が「１」に設定され（図５のステップ５２５を参照。）、これにより吸気弁遅閉じ運転から吸気弁早閉じ運転へと運転切り替えが行われた結果又は吸気弁早閉じ運転が実行されていた結果、過給実行フラグXCHGの値が「１」に設定されている（図６のステップ６３０及びステップ６３６を参照。）。更に、過給実行フラグXCHGの値が「１」に変更されたことにより、図７のステップ７１０の処理によりスーパーチャージャ４６による過給が開始され、ステップ７１５の処理により切替過渡フラグXKT42の値が「１」に設定された直後（「０」から「１」に変更された直後）である。また、切替実行フラグX2CY及び切替過渡フラグXKT24の各値は「０」から変更されていない。
【０１３８】
従って、ＣＰＵ７１はステップ８０５にて「Ｙｅｓ」と判定し、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定するステップ８１０にても「Ｙｅｓ」と判定してステップ８１５に進む。次いで、ＣＰＵ７１はステップ８１５〜ステップ８３５に進んで以下の処理を行い、その後ステップ８９５に進んで本ルーチンを一旦終了する。
【０１３９】
ステップ８１５：その時点の吸気管圧力PMを初期圧力PM0として格納する。
ステップ８２０：その時点の吸気弁閉弁時期ＩＣを初期吸気弁閉弁時期IC0として格納する。
ステップ８２５：その時点の吸気温度THAを初期吸気温度THA0として格納する。
ステップ８３０：IC0(deg)をθ＝π・IC0／180によりθ(rad)に変換する。
ステップ８３５：初期吸気弁閉弁時期IC0での筒内体積ＶをテーブルMapV(θ）に基いて求め、初期筒内体積V0として格納する。
【０１４０】
次に、ＣＰＵ７１が本ルーチンをステップ８００から開始すると、この場合も、ステップ８０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT42の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ８１０にて「Ｎｏ」と判定してステップ８４０〜ステップ８６０に進み、以下の処理を行ってからステップ８９５に進んで本ルーチンを一旦終了する。
【０１４１】
ステップ８４０：上記(3)式にしたがって現時点での過渡時の筒内体積Ｖを求める。
ステップ８４５：過渡時の筒内体積Ｖから初期筒内体積V0を減じて筒内体積差ΔＶを求める。この筒内体積差ΔＶは、後述する点火時期補正にて使用するために求められる。
ステップ８５０：テーブルMapθ（Ｖ)からθを求める。
ステップ８５５：過渡時吸気弁閉弁時期IC１をIC１＝180・θ／πから求める。
ステップ８６０：過渡時吸気弁閉弁時期IC１を吸気弁閉弁時期ＩＣとして格納する。
【０１４２】
以上により、過給の開始直後から吸気弁閉弁時期ＩＣが調整されて、機関の筒内に流入する空気の量が略一定に維持されるので、機関の発生トルクが略一定に維持される。なお、ステップ８０５に示した条件が満足されないとき、ＣＰＵ７１はステップ８０５にて「Ｎｏ」と判定して直ちにステップ８９５に進み、本ルーチンを一旦終了する。また、図８に示したルーチンは、スーパーチャージャ４６による過給の開始後から２サイクル自着火運転の開始までの期間において、吸気管圧力PMと吸気弁閉弁時期ＩＣにおける筒内体積Ｖの積を吸気温度THAで除した値（PM・Ｖ／THA）が一定となるように同吸気弁閉弁時期ＩＣを決定し、同決定された吸気弁閉弁時期にて前記機関の吸気弁を閉弁させる吸気弁制御手段の機能を達成している。
【０１４３】
（２）過給開始（吸気弁閉弁時期変更）に伴う点火時期制御．
制御の概要
上述した過給の開始に伴って吸気弁閉弁時期制御が実行されると、図３の時刻ｔ２〜ｔ３に示したように、吸気管圧力PMの上昇に伴って吸気弁閉弁時期ＩＣは次第に上死点側へと移行する。このため、シリンダ及びピストンによる空気の実質的な圧縮開始クランク角は圧縮上死点側へと移行するから、実圧縮比が低下する。これにより、圧縮行程終了時の混合気の温度（圧縮端温度）は低下する。従って、燃焼速度が低下し、燃焼状態が悪化して機関発生トルクが低下する。この結果、４サイクル火花点火運転から２サイクル自着火運転へと移行する直前にトルクショックが発生する。そこで、本制御装置は、このような燃焼状態の悪化を補うように点火時期を進角する。この結果、４サイクル火花点火運転から２サイクル自着火運転へと移行する際のトルクショックを抑制することができる。
【０１４４】
実際の作動
ＣＰＵ７１は上述の点火時期制御を行うため、クランク角が所定のクランク角に一致する毎に、図９にフローチャートにより示した４−２切替え時点火時期制御ルーチン（火花点火手段の機能の一部を達成するルーチン）を実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ９００から処理を開始してステップ９０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１４５】
ここで、現時点がスーパーチャージャ４６による過給が開始された直後であるとすると、ステップ９０５の条件は成立している。従って、ＣＰＵ７１はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、基本点火時期SAbseをテーブルMapSAbse(KL,NE)に基いて求める。
【０１４６】
次いで、ＣＰＵ７１はステップ９１５に進み、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定する。現時点は、図７のステップ７１５の処理により切替過渡フラグXKT42の値が「０」から「１」に変更された直後である。従って、ＣＰＵ７１は、ステップ９１５にて「Ｙｅｓ」と判定してステップ９２０に進み、点火時期SAに基本点火時期SAbseを設定し、ステップ９９５に進んで本ルーチンを一旦終了する。この結果、今回のサイクルにおいては基本点火時期SAbseにて点火が実行される。
【０１４７】
次に、ＣＰＵ７１が本ルーチンの処理をステップ９００から開始すると、ＣＰＵ７１はステップ９０５及びステップ９１０に続くステップ９１５にて「Ｎｏ」と判定し、ステップ９２５〜ステップ９３５に進んで以下の処理を実行する。
【０１４８】
ステップ９２５：点火時期補正量算出のための係数kigを関数figとアクセルペダル操作量Accpとエンジン回転速度NEとに基いて定める。
ステップ９３０：上記係数kig（＞０）と図８のステップ８４５により求められている筒内体積差ΔＶとに基いて点火時期補正量ΔSAを、ΔSA＝kig・ΔＶにしたがって算出する。点火時期は圧縮上死点を基準として、進角側（圧縮上死点前側）を正の値とする上死点前角度（ＢＴＤＣ）に基いて計算される。
ステップ９３５：基本点火時期SAbseに点火時期補正量ΔSAを加えた値を点火時期SAに設定する。この結果、点火時期SAは基本点火時期SAbseよりも点火時期補正量ΔSAだけ進角させられる。
その後、ＣＰＵ７１はステップ９９５に進んで本ルーチンを一旦終了する。
【０１４９】
このような処理は、ステップ９０５に示した条件が不成立となるまで繰り返し実行される。この結果、図３の時刻ｔ２〜ｔ３に示したように、スーパーチャージャ４６による過給が開始すると、過給開始時点からの吸気弁閉弁時期の変化量を表すΔＶに応じた角度だけ点火時期が進角させられる。即ち、点火時期は、吸気弁閉弁時期制御に伴って実圧縮比が減少するのに伴って進角して行く。この結果、燃焼の悪化が防止され、その結果、トルクショックの発生が抑制される。なお、ステップ９０５に示した条件が満足されないとき、ＣＰＵ７１はステップ９０５にて「Ｎｏ」と判定して直ちにステップ９９５に進み、本ルーチンを一旦終了する。
【０１５０】
（３）過給開始（吸気弁閉弁時期変更）に伴う燃料噴射時期制御
制御の概要
通常、燃料噴射期間は、噴射された燃料が燃焼室２５内に流入する空気の流れによって同空気と良好に混合されるように、吸気弁３２が開弁している期間内に設定される。一方、上述したように、過給の開始に伴って吸気弁閉弁時期制御が実行されると（図３の時刻ｔ２〜ｔ３を参照。）、吸気管圧力PMの上昇に伴って吸気弁閉弁時期ＩＣは次第に上死点側へと移行する。この結果、燃料噴射期間中に吸気弁３２が閉弁し、空気と燃料の混合が悪化し、そのために燃焼状態が悪化する場合がある。そこで、本制御装置は、このような事態を回避するため、燃料噴射終了時期が吸気弁閉弁時期よりも前になるように（吸気弁が開弁している期間内に燃料噴射期間が存在するように）、燃料噴射開始時期Ainjを制御する。なお、前述したように、本例の吸気弁開弁時期ＩＯは固定されている。
【０１５１】
実際の作動
ＣＰＵ７１は上述の燃料噴射時期制御を行うため、クランク角が所定のクランク角に一致する毎に、図１０にフローチャートにより示した４−２切替え時噴射時期制御ルーチン（燃料噴射時期制御手段の機能を達成するルーチン）を実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１０００から処理を開始してステップ１００５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１５２】
現時点がスーパーチャージャ４６による過給が開始された直後であるとすると、ステップ１００５の条件は成立している。従って、ＣＰＵ７１はステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進み、基本燃料噴射開始時期Ainjbse4をテーブルMapAinjbse4(KL,NE)に基いて求める。
【０１５３】
次いで、ＣＰＵ７１はステップ１０１５に進み、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定する。現時点は、図７のステップ７１５の処理により切替過渡フラグXKT42の値は「０」から「１」に変更された直後である。従って、ＣＰＵ７１は、ステップ１０１５にて「Ｙｅｓ」と判定してステップ１０２０に進み、燃料噴射開始時期Ainjに基本燃料噴射開始時期Ainjbse4を設定し、ステップ１０９５に進んで本ルーチンを一旦終了する。この結果、今回のサイクルにおいては基本燃料噴射開始時期Ainjbse4にて燃料の噴射が開始される。
【０１５４】
次に、ＣＰＵ７１が本ルーチンの処理をステップ１０００から開始すると、ＣＰＵ７１はステップ１００５及びステップ１０１０に続くステップ１０１５にて「Ｎｏ」と判定し、ステップ１０２５〜ステップ１０３５に進んで以下の処理を実行する。
【０１５５】
ステップ１０２５：現時点の燃料噴射量tauとエンジン回転速度NEとに基いて燃料噴射期間が要するクランク角（即ち、噴射角度）CINJを計算により求める。
ステップ１０３０：上記ステップ１０１０にて決定した基本燃料噴射開始時期Ainjbse4に噴射角度CINJを加えた燃料噴射終了時期（＝Ainjbse4+CINJ）が、現時点の吸気弁閉弁時期ＩＣより大きいか否か（遅角側にあるか否か）を判定する。
【０１５６】
ステップ１０３５：ＣＰＵ７１はステップ１０３０にて「Ｙｅｓ」と判定したとき、このステップ１０３５を実行する。ステップ１０３５においては、吸気弁閉弁時期ＩＣから噴射角度CINJを減じた角度（吸気弁閉弁時期ＩＣから噴射角度CINJだけ吸気上死点側へ進角した角度）を、燃料噴射開始時期Ainjに設定する。
その後、ＣＰＵ７１はステップ１０９５に進んで本ルーチンを一旦終了する。なお、ＣＰＵ７１はステップ１０３０にて「Ｎｏ」と判定したとき、そのままステップ１０９５に進んで本ルーチンを一旦終了する。
【０１５７】
このような処理は、ステップ１００５に示した条件が不成立となるまで繰り返し実行される。この結果、燃料噴射期間（従って、当然に、燃料噴射開始時期Ainj)が吸気弁閉弁時期ＩＣと同時又はその前までに終了するようになるので、噴射された燃料が燃焼室２５内に流入する空気の流れにより同空気と良好に混合（ミキシング）され、燃焼が良好に行われるようになる。なお、ステップ１００５に示した条件が満足されないとき、ＣＰＵ７１はステップ１００５にて「Ｎｏ」と判定して直ちにステップ１０９５に進み、本ルーチンを一旦終了する。
【０１５８】
２．スロットル弁開度制御
制御の概要
後述するように、スーパーチャージャ４６による過給が開始されることにより吸気管圧力PM（過給圧）が所定閾値PMth以上になると２サイクル自着火運転が開始される。２サイクル自着火運転において、スロットル弁４８は全開付近の所定開度に維持される。これに対し、４サイクル火花点火運転においては、スロットル弁４８の開度は全開付近〜全閉付近の広範囲に渡り制御されている。
【０１５９】
従って、４サイクル火花点火運転から２サイクル自着火運転に直ちに移行すると、２サイクル自着火運転開始直後においてスロットル弁開度が急激に変化する場合がある。この場合、燃焼室２５内に流入する空気量が大きく変化し、燃焼制御性が悪化してトルクショックが発生する恐れがある。そこで、本制御装置は、２サイクル自着火運転開始直後においてスロットル弁開度が急激に変化することのないように、過給開始後からスロットル弁開度を徐々に変化させておき、４サイクル火花点火運転から２サイクル自着火運転に切り替るときには、スロットル弁開度が変化しないようにしておく。
【０１６０】
実際の作動
ＣＰＵ７１は上述の過渡時のスロットル弁開度制御を行うため、クランク角が所定のクランク角に一致する毎に、図１１にフローチャートにより示した４−２切替え時スロットル弁制御ルーチン（スロットル弁開度制御手段を達成するルーチン）を実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１１００から処理を開始してステップ１１０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１６１】
現時点がスーパーチャージャ４６による過給が開始された直後であるとすると、ステップ１１０５の条件は成立している。従って、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定してステップ１１１０に進み、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定する。現時点は、図７のステップ７１５の処理により切替過渡フラグXKT42の値は「０」から「１」に変更された直後である。従って、ＣＰＵ７１は、ステップ１１１０にて「Ｙｅｓ」と判定してステップ１１１５〜ステップ１１４５に進み、以下の処理を実行した後、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１６２】
ステップ１１１５：タイマtimerTA42に「０」を設定する。即ち、タイマtimerTA42を初期化する。
ステップ１１２０：現時点において検出されるスロットル弁開度TAを初期スロットル弁開度TA4として格納する。
ステップ１１２５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
ステップ１１３０：２サイクル自着火運転に移行したときの目標スロットル弁開度TAtgtbse2をMapTAtgtbse2(Tqtgt,NE)から求め、そのTAtgtbse2を２サイクル自着火運転移行時スロットル弁開度TA2として格納する。
ステップ１１３５：スロットル弁開度徐変時間tTA42をMaptTA42(Accp,NE)から求める。スロットル弁開度徐変時間tTA42は、「１」より大きい値に設定される。
ステップ１１４０：２サイクル自着火運転移行時スロットル弁開度TA2から初期スロットル弁開度TA4を減じた値（＝TA2−TA4）をスロットル弁開度徐変時間tTA42で除してスロットル弁開度徐変量ΔTAを求める。
ステップ１１４５：目標スロットル弁開度TAtgtに初期スロットル弁開度TA4を設定する。
【０１６３】
次に、ＣＰＵ７１が本ルーチンをステップ１１００から開始すると、この場合も、ステップ１１０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT42の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ１１１０にて「Ｎｏ」と判定してステップ１１５０に進み、タイマtimerTA42を一定値「１」だけ増大し、続くステップ１１５５にてタイマtimerTA42がスロットル弁開度徐変時間tTA42以下であるか否かを判定する。
【０１６４】
現時点は、上記ステップ１１５０が最初に実行された直後であるので、タイマtimerTA42の値は１であり、スロットル弁開度徐変時間tTA42より小さい。従って、ＣＰＵ７１はステップ１１５５にて「Ｙｅｓ」と判定し、ステップ１１６０に進んで目標スロットル弁開度TAtgtに、初期スロットル弁開度TA4と、タイマtimerTA42とスロットル弁開度徐変量ΔTAの積（＝timerTA42・ΔTA）との和を設定し、その後ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１６５】
以上の処理（ステップ１１５０からステップ１１６０）は、ステップ１１５５にて「Ｎｏ」と判定されるまで繰り返し実行される。従って、目標スロットル弁開度TAtgtは本ルーチンが実行される毎にΔTAずつ増大される。この結果、図３の時刻ｔ２以降に示したように、スロットル弁開度は２サイクル自着火運転移行時スロットル弁開度TA2に次第に近づいて行く。また、この期間において、スロットル弁開度は本ルーチンが実行される毎に微少な量ΔTAずつ変化するので、空気量の大幅な変化がなく、機関発生トルクの急激な変化が発生しない。
【０１６６】
そして、ステップ１１５０の処理が繰り返されることにより、タイマtimerTA42の値がスロットル弁開度徐変時間tTA42より大きくなると、ＣＰＵ７１はステップ１１５５にて「Ｎｏ」と判定してステップ１１６５に進み、目標スロットル弁開度TAtgtに、２サイクル移行時スロットル弁開度TA2を設定し、その後ステップ１１９５に進んで本ルーチンを一旦終了するようになる。
【０１６７】
これにより、その後に２サイクル自着火運転が開始されたとき、スロットル弁開度が変化しないから（又は、その時点の目標トルクTqtgtに応じて僅かに変化するのみであるから）、機関発生トルクの急激な変化が発生しない。なお、ステップ１１０５に示した条件が満足されないとき、ＣＰＵ７１はステップ１１０５にて「Ｎｏ」と判定して直ちにステップ１１９５に進み、本ルーチンを一旦終了する。
【０１６８】
なお、ステップ１１６０を含む図１１に示したルーチンは、４サイクル火花点火運転中であってスーパーチャージャ４６による過給の開始後から２サイクル自着火運転の開始までの期間において、スーパーチャージャ４６による過給の開始時点におけるスロットル弁開度TA4から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標スロットル弁開度決定手段（テーブルMapTAtgtbse2）が決定する目標スロットル弁開度TA2に向けて、目標スロットル弁開度TAtgtを徐々に変更する過渡時目標スロットル弁開度決定手段の機能に対応している。
【０１６９】
３．ＡＢＶ（エアバイパスバルブ弁）開度制御
制御の概要
前述したように４サイクル火花点火運転においては、空気がスーパーチャージャ４６を通過することによる圧力損失の発生を回避するため、ＡＢＶ開度は全開の開度ABVmaxに維持されている。一方、後述するように、２サイクル自着火運転においては過給が必要となるので、ＡＢＶ開度は全開の開度ABVmaxより小さい所定の開度に調節される。
【０１７０】
従って、４サイクル火花点火運転から２サイクル自着火運転に直ちに移行すると、２サイクル自着火運転開始直後においてＡＢＶ開度が急激に変化することになる。この結果、燃焼室２５内に流入する空気量が大きく変化し、燃焼制御性が悪化してトルクショックが発生する恐れがある。そこで、本制御装置は、２サイクル自着火運転開始直後においてＡＢＶ開度が大きく変化することのないように、過給開始後からＡＢＶ開度を徐々に変化させておき、４サイクル火花点火運転から２サイクル自着火運転に切り替るときには、ＡＢＶ開度が変化しないようにしておく。
【０１７１】
実際の作動
ＣＰＵ７１は上述の過渡時のＡＢＶ開度制御を行うため、クランク角が所定のクランク角に一致する毎に、図１２にフローチャートにより示した４−２切替え時ＡＢＶ制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１２００から処理を開始してステップ１２０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１７２】
現時点がスーパーチャージャ４６による過給が開始された直後であるとすると、ステップ１２０５の条件は成立している。従って、ＣＰＵ７１はステップ１２０５にて「Ｙｅｓ」と判定してステップ１２１０に進み、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定する。現時点は、図７のステップ７１５の処理により切替過渡フラグXKT42の値は「０」から「１」に変更された直後である。従って、ＣＰＵ７１は、ステップ１２１０にて「Ｙｅｓ」と判定してステップ１２１５〜ステップ１２４５に進み、以下の処理を実行した後、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１７３】
ステップ１２１５：タイマtimerABV42に「０」を設定する。即ち、タイマtimerABV42を初期化する。
ステップ１２２０：現時点のＡＶＢ開度（目標ABV開度ABVtgt）を初期ＡＢＶ開度ABV4として格納する。なお、ＡＢＶ４５の開度を検出するＡＢＶ開度センサを設けておき、このＡＢＶ開度センサから得られる現時点のＡＢＶ開度を初期ＡＢＶ開度ABV4として格納してもよい。
ステップ１２２５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
ステップ１２３０：２サイクル自着火運転に移行したときのＡＢＶ開度ABV2をMapABV2(Tqtgt,NE)から求める。
ステップ１２３５：ＡＢＶ開度徐変時間tABV42をMaptABV42(Accp,NE)から求める。ＡＢＶ開度徐変時間tABV42は、「１」より大きい値に設定される。
ステップ１２４０：２サイクル自着火運転移行時ＡＢＶ開度ABV2から初期ＡＢＶ開度ABV4を減じた値（＝ABV2−ABV4）をＡＢＶ開度徐変時間tABV42で除してＡＢＶ開度徐変量ΔABVを求める。
ステップ１２４５：目標ＡＢＶ開度ABVtgtに初期ＡＢＶ開度ABV4を設定する。
【０１７４】
次に、ＣＰＵ７１が本ルーチンをステップ１２００から開始すると、この場合も、ステップ１２０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT42の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ１２１０にて「Ｎｏ」と判定してステップ１２５０に進み、タイマtimerABV42を一定値「１」だけ増大し、続くステップ１２５５にてタイマtimerABV42がＡＢＶ開度徐変時間tABV42以下であるか否かを判定する。
【０１７５】
現時点は、上記ステップ１２５０が最初に実行された直後であるので、タイマtimerABV42の値は１であり、ＡＢＶ開度徐変時間tABV42より小さい。従って、ＣＰＵ７１はステップ１２５５にて「Ｙｅｓ」と判定し、ステップ１２６０に進んで目標ＡＢＶ開度ABVtgtに、初期ＡＢＶ開度ABV4と、タイマtimerABV42とＡＢＶ開度徐変量ΔABVの積（＝timerABV42・ΔABV）を加えた値を設定し、その後ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１７６】
以上の処理（ステップ１２５０からステップ１２６０）は、ステップ１２５５にて「Ｎｏ」と判定されるまで繰り返し実行される。従って、目標ＡＢＶ開度ABVtgtは本ルーチンが実行される毎にΔABVずつ増大される。この結果、ＡＢＶ開度は２サイクル自着火運転に移行したときのＡＢＶ開度ABV2に次第に近づいて行く。
【０１７７】
そして、ステップ１２５０の処理が繰り返されることにより、タイマtimerABV42の値がＡＢＶ開度徐変時間tABV42より大きくなると、ＣＰＵ７１はステップ１２５５にて「Ｎｏ」と判定してステップ１２６５に進み、目標ＡＢＶ開度ABVtgtに、２サイクル自着火運転に移行したときのＡＢＶ開度ABV2を設定し、その後ステップ１２９５に進んで本ルーチンを一旦終了するようになる。これにより、その後に２サイクル自着火運転が開始されたとき、ＡＢＶ開度が変化しないから（又は、その時点の目標トルクTqtgtに応じて僅かに変化するのみであるから）、過給圧の変動が小さく、機関発生トルクの急激な変化が発生しない。なお、ステップ１２０５に示した条件が満足されないとき、ＣＰＵ７１はステップ１２０５にて「Ｎｏ」と判定して直ちにステップ１２９５に進み、本ルーチンを一旦終了する。
【０１７８】
このＡＢＶ開度制御は、上述したスロットル弁開度制御と独立に行ってもよく、或いは、同スロットル弁開度制御と同期して行ってもよい。即ち、上記の例では、スロットル弁開度制御とＡＢＶ開度制御とが同時期に始まるが、例えば、ＡＢＶ開度制御を先に開始し、後に、スロットル弁開度制御を開始してもよい。また、スロットル弁開度徐変時間tTA42とＡＢＶ開度徐変時間tABV42は等しくても、等しくなくてもよい。例えば、ＡＢＶ開度徐変時間tABV42をスロットル弁開度徐変時間tTA42よりも短くしてもよい。
【０１７９】
なお、ステップ１２６０を含む図１２に示したルーチンは、４サイクル火花点火運転中であってスーパーチャージャ４６による過給の開始後から２サイクル自着火運転の開始までの期間において、スーパーチャージャ４６による過給の開始時点におけるＡＢＶ開度ABV4から、同過給機による過給の開始時点における前記機関の運転状態に基いて前記２サイクル自着火運転用目標ＡＢＶ開度決定手段（テーブルMapABVtgtbse2）が決定する目標ＡＢＶ開度ABV2に向けて、目標ＡＢＶ開度ABVtgtを徐々に変更する過渡時目標ＡＢＶ開度決定手段の機能に対応している。
【０１８０】
４．燃料噴射量制御
制御の概要
４サイクル火花点火運転から２サイクル自着火運転に移行するために、スーパーチャージャ４６による過給が開始せしめられると、図３の時刻ｔ２以降に示したように、吸気管圧力（過給圧）PMは上昇する。換言すると、吸気通路内に空気が圧縮されて行く。このため、スロットル弁上流（スーパーチャージャ４６の上流）に配置されたエアフローメータ６１により測定される空気流量Ｇａは増大するから、この空気流量Ｇａに基いて得られる値である負荷率KLは増大する。従って、４サイクル火花点火運転が定常的に行われている場合のように、基本燃料噴射量taubse4が負荷率KLに基いて求められると（図４のステップ４２５を参照。）、燃料噴射量tauは増大する。
【０１８１】
一方、スーパーチャージャ４６による過給が開始すると、前述した吸気弁閉弁時期制御が実行される。従って、燃焼室２５に流入する実際の空気量（従って、実際の負荷率KL)は略一定に維持される。このため、スーパーチャージャ４６による過給が開始したときに上記の燃料噴射量tauの燃料を噴射すると、燃焼室２５内の混合気の空燃比がオーバーリッチとなり、失火、エミッションの悪化、或いは機関発生トルクの変動等の問題が発生する恐れがある。
【０１８２】
更に、吸気管圧力PMが所定閾値PMth以上となって２サイクル自着火運転が開始された時点から暫くの間、吸気管圧力PMは上昇（又は変動）を続ける。従って、この場合にも、負荷率KLに基いて燃料噴射量（基本燃料噴射量）を決定することは好ましくない。
【０１８３】
そこで、本制御装置は、４サイクル火花点火運転から２サイクル自着火運転に移行するためのスーパーチャージャ４６による過給開始時点（図３の時刻ｔ２）から、吸気管圧力PMが安定したと考えられる時点（図３の時刻ｔ４）までの期間、即ち、切替過渡フラグXKT42の値が「１」である期間、燃料噴射量（燃料噴射時間）を一定値に固定する制御を実行する。
【０１８４】
具体的に述べると、スーパーチャージャ４６による過給開始時点（時刻ｔ２）から吸気管圧力PMが所定閾値PMth以上となって２サイクル自着火運転が開始される時点までの期間（時刻ｔ２〜ｔ３）においては、燃料噴射量を過給開始時点（時刻ｔ２）における燃料噴射量に維持する。また、２サイクル自着火運転が開始される時点（時刻ｔ３）から吸気管圧力PMが安定したと考えられる時点までの期間（時刻ｔ３〜ｔ４）においては、燃料噴射量を２サイクル自着火運転が開始された時点（時刻ｔ３）におけるアクセルペダル操作量Accpにより定まる目標トルクから決定される２サイクル自着火運転用の燃料噴射量に維持する。
【０１８５】
これにより、燃焼される混合気の空燃比が適正値に維持されるので、失火、エミッションの悪化及び機関発生トルクの変動等を回避することができる。
【０１８６】
実際の作動
ＣＰＵ７１は上述の過渡時の燃料噴射量制御を行うため、クランク角が近傍の所定のクランク角に一致する毎に、図１３にフローチャートにより示した４−２切替え時燃料噴射量制御ルーチン（４サイクル時）を実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１３００から処理を開始してステップ１３０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１８７】
現時点がスーパーチャージャ４６による過給が開始された直後であるとすると、ステップ１３０５の条件は成立している。従って、ＣＰＵ７１はステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進み、切替過渡フラグXKT42の値が「０」から「１」に変更された直後であるか否かを判定する。現時点は、図７のステップ７１５の処理により切替過渡フラグXKT42の値は「０」から「１」に変更された直後である。従って、ＣＰＵ７１はステップ１３１０にても「Ｙｅｓ」と判定し、ステップ１３１５〜ステップ１３２５に進んで以下の処理を行い、その後ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１８８】
ステップ１３１５：基本燃料噴射量taubse4をテーブルMaptaubse4(KL,NE)に基いて求める。
ステップ１３２０：求められた基本燃料噴射量taubse4を固定噴射量tau4に格納する。
ステップ１３２５：燃料噴射量tauに固定噴射量tau4を設定する。
【０１８９】
次に、ＣＰＵ７１が本ルーチンをステップ１３００から開始すると、この場合も、ステップ１３０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT42の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ１３１０にて「Ｎｏ」と判定してステップ１３３０に進み、燃料噴射量tauに固定噴射量tau4を設定する。以上により、ステップ１３０５に示した条件が満足されなくなるまで、燃料噴射量tauが、切替過渡フラグXKT42の値が「０」から「１」に変更された時点の基本燃料噴射量taubse4に維持される。
【０１９０】
なお、切替過渡フラグXKT42の値が「０」から「１」に変更された直後の負荷率KLとエンジン回転速度NEを記憶しておき、ステップ１３０５に示した条件が満足されなくなるまで、記憶しておいた負荷率KLとエンジン回転速度NEとテーブルMaptaubse4(KL,NE)とから随時、基本燃料噴射量taubse4を求め、その基本燃料噴射量taubse4を燃料噴射量tauとしてもよい。更に、例えば、排気通路に備えられた空燃比センサ（図示省略）の出力に基く空燃比フィードバック量などの補正量により、上記固定噴射量tau4を補正した燃料噴射量を、この期間における燃料噴射量tauとしてもよい。
【０１９１】
以上のように、図１３に示したルーチンは、スーパーチャージャ４６による過給の開始後から２サイクル自着火運転の開始までの期間において、燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段の機能を達成している。
【０１９２】
その後、吸気管圧力PMは次第に増大し所定閾値PMthを越える。このとき、後述するように、切替実行フラグX2CYの値が「０」から「１」に変更され、これにより燃料噴射量がその時点での目標トルクTqtgtに基いて決定される２サイクル自着火運転用の燃料噴射量に固定されて２サイクル自着火運転が開始する。その後、吸気管圧力PMが安定すると切替過渡フラグXKT42が「１」から「０」に変更され、通常の（燃料噴射量が負荷率KLに応じて変化する）２サイクル自着火運転に移行する。以下、かかる作動について説明する。
【０１９３】
ＣＰＵ７１は、図１４に示した４−２切替え時フラグ操作ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１４００から処理を開始してステップ１４０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替実行フラグX2CY及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０１９４】
現時点がスーパーチャージャ４６による過給開始直後（図３の時刻ｔ２の直後）であるとすると、ステップ１４０５の条件は満足されている。従って、ＣＰＵ７１はステップ１４０５にて「Ｙｅｓ」と判定してステップ１４１０に進み、吸気管圧力PMを読み込むとともに、続くステップ１４１５にて吸気管圧力PMが所定の閾値PMth（高側閾値PMthhi）以上となったか否かを判定する。この閾値PMthは、２サイクル自着火運転を開始しても十分な程度にまで過給圧が上昇した場合の過給圧の値である。
【０１９５】
現時点は、スーパーチャージャ４６による過給が開始された直後であるから、吸気管圧力PMは閾値PMthより小さい。従って、ＣＰＵ７１はステップ１４１５にて「Ｎｏ」と判定してステップ１４１６に進み、異常判定用カウンタCTijoを「１」だけ増大する。異常判定用カウンタCTijoの値は図７のステップ７１８にて「０」に設定されているので、現段階で１となる。
【０１９６】
次に、ＣＰＵ７１はステップ１４１７に進み、異常判定用カウンタCTijoが異常判定値CTth以上となったか否かを判定する。異常判定値CTth（＞１）は、スーパーチャージャ４６等の過給システムが正常であるとき、過給を開始してから吸気管圧力（過給圧）PMが閾値PMth以上となるまでに必要な最長の時間よりも若干だけ長い時間に対応した値に設定されている。現時点で、異常判定用カウンタCijoの値は「１」であるから、ＣＰＵ７１はステップ１４１７にて「Ｎｏ」と判定してステップ１４９５に進み、本ルーチンを一旦終了する。以上の処理は、吸気管圧力PMが閾値PMth以上となるまで繰り返し実行される。
【０１９７】
その後、スーパーチャージャ４６等の過給システムが正常であるとき、異常判定用カウンタCijoの値が異常判定値CTth値に到達する前に、吸気管圧力PMは閾値PMth以上となる（図３の時刻ｔ３を参照。）。このとき、ＣＰＵ７１がステップ１４１５に進むと、同ＣＰＵ７１は同ステップ１４１５にて「Ｙｅｓ」と判定してステップ１４２０に進み切替実行フラグX2CYに「１」を設定する。次いで、ＣＰＵ７１は、ステップ１４２５にてカウンタＭの値を「０」に設定し、ステップ１４２６にて異常判定用カウンタCTijoの値に「０」を設定し、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０１９８】
なお、過給システムが異常であると、吸気管圧力PMが閾値PMth以上とならない。従って、ＣＰＵ７１はステップ１４１５にて「Ｎｏ」と判定し、ステップ１４１６にて異常判定用カウンタCTijoの値を増大し続ける。この結果、所定時間が経過すると、異常判定用カウンタCTijoの値は異常判定値CTth以上となる。この場合、ＣＰＵ７１はステップ１４１７にて「Ｙｅｓ」と判定してステップ１４１８に進み、過給圧異常フラグXerrorの値を「１」に設定する。そして、ＣＰＵ７１はステップ１４１９に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値を「０」に設定する。この結果、先に説明した図５のステップ５２２が否定判定されるので、４サイクル火花点火運転が継続され、２サイクル自着火運転への切り替えが禁止される。
【０１９９】
なお、図５のステップ５２２及び図１４のステップ１４１０乃至ステップ１４２６の機能は、サイクル切り替え要求（４サイクル火花運転から２サイクル自着火運転への切り替え要求）に基づく過給手段による過給の開始後、検出された吸気管圧力PMが所定の閾値PMth以上に上昇しない場合、２サイクル自着火運転への運転切り替えを禁止する過給手段異常時運転切替禁止手段の機能を達成する。
【０２００】
一方、ＣＰＵ７１は、クランク角が所定のクランク角に一致する毎に、図１５にフローチャートにより示した４−２切替え時燃料噴射量制御ルーチン（２サイクル時）を実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１５００から処理を開始してステップ１５０５に進み、切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替過渡フラグXKT24の値が「０」であるか否かを判定する。
【０２０１】
いま、過給システムは正常であって、図１４のステップ１４２０にて切替実行フラグX2CYが「１」に変更された直後であると過程する。この場合、ＣＰＵ７１はステップ１５０５にて「Ｙｅｓ」と判定してステップ１５１０に進み、切替実行フラグX2CYの値が「０」から「１」に変化した直後であるか否かを判定する。このとき、切替実行フラグX2CYの値が「０」から「１」に変化した直後である。従って、ＣＰＵ７１はステップ１５１０にて「Ｙｅｓ」と判定してステップ１５１５〜ステップ１５３５に進み、以下の処理を実行してからステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０２】
ステップ１５１５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基いて求める。
ステップ１５２０：２サイクル自着火運転における目標負荷率KL2tgtを、テーブルMapKL2tgt(Tqtgt)に基いて求める。
ステップ１５２５：基本燃料噴射量taubse2をテーブルMaptaubse2(KL2tgt,NE)に基いて求める。
ステップ１５３０：求められた基本燃料噴射量taubse2を固定噴射量tau2に格納する。
ステップ１５３５：燃料噴射量tauに固定噴射量tau2を設定する。
【０２０３】
次に、ＣＰＵ７１が図１５に示したルーチンをステップ１５００から開始すると、この場合も、ステップ１５０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替実行フラグX2CYの値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ１５１０にて「Ｎｏ」と判定してステップ１５４０に進み、燃料噴射量tauに固定噴射量tau2を設定し、その後、ステップ１５９５にて本ルーチンを一旦終了する。
【０２０４】
以上の処理は、ステップ１５０５に示した条件が満足されなくなるまで繰り返される。従って、燃料噴射量tauが、切替実行フラグX2CYの値が「０」から「１」に変更された時点（図３の時刻ｔ３における２サイクル自着火運転開始時点）におけるアクセルペダル操作量Accp（実際には、目標トルクTqtgt）に基いて求められた基本燃料噴射量taubse2に維持される。
【０２０５】
その後、吸気管圧力PMは更に上昇を続けるとともに次第に安定してくる。一方、この段階でＣＰＵ７１が図１４に示したフラグ操作ルーチンを実行すると、同ＣＰＵ７１はステップ１４０５にて「Ｎｏ」と判定してステップ１４３０に進み、切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42の各値が「１」であり、且つ、切替過渡フラグXKT24の値が「０」であるか否かを判定する。
【０２０６】
現時点において、このステップ１４３０の条件は成立している。従って、ＣＰＵ７１はステップ１４３０にて「Ｙｅｓ」と判定してステップ１４４０に進み、カウンタＭの値を「１」だけ増大する。カウンタＭは、４サイクル火花点火運転から２サイクル自着火運転へと切り替えた後、一定期間は２サイクル自着火運転を継続させるために用いるタイマである。これにより、４サイクル火花点火運転領域と２サイクル自着火運転との頻繁な切り替えが回避される。
【０２０７】
次いで、ＣＰＵ７１はステップ１４５０に進み、エアフローメータ６１により計測された実際の空気流量Ｇａより負荷率KLを求め、続くステップ１４５５にて実際の負荷率KLから所定時間前の実際の負荷率KLoldを減じて負荷率変化量ΔKL（負荷率KLの時間的変化量、単位時間当たりの負荷率KLの変化量）を求める。次に、ＣＰＵ７１はステップ１４６０に進み、ステップ１４５０にて求めた実際の負荷率KLを次回の計算のために所定時間前の実際の負荷率KLoldとして格納する。
【０２０８】
続いて、ＣＰＵ７１はステップ１４６５に進み、カウンタＭの値が第１閾値Ｍthより大きいか、又は、負荷率変化量ΔKLの絶対値が第２閾値dKLconstより小さいか否かを判定する。この時点では、カウンタＭの増大が「０」から開始された直後であるため、ステップ１４６５の条件は満足されない。従って、ＣＰＵ７１はステップ１４６５にて「Ｎｏ」と判定してステップ１４９５に進み、本ルーチンを一旦終了する。
【０２０９】
その後、時間が経過すると、ステップ１４４０が繰り返し実行されることによりカウンタＭの値が第１閾値Ｍthより大きくなる。或いは、吸気管圧力PMが安定してくるので、負荷率変化量ΔKLの絶対値が第２閾値dKLconstより小さくなる。従って、これらの何れかが先に成立したときにＣＰＵ７１がステップ１４６５に進むと、同ＣＰＵ７１はステップ１４６５にて「Ｙｅｓ」と判定し、ステップ１４７０に進んで切替過渡フラグXKT42の値を「０」に設定し、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２１０】
これにより、ＣＰＵ７１が図１５に示したルーチンのステップ１５０５に進んだとき、同ＣＰＵ７１は同ステップ１５０５にて「Ｎｏ」と判定してステップ１５９５に直接進むようになる。この結果、燃料噴射量tauが固定の燃料噴射量tau2に維持される制御が終了する。以上により、４サイクル火花点火運転から２サイクル自着火運転への切り替えに伴う過渡時制御が終了する。
【０２１１】
以上のように、図１５に示したルーチンは、４サイクル火花点火運転から２サイクル自着火運転に移行した時点からの所定期間、燃料噴射手段から噴射される燃料の噴射量を一定量に維持する燃料噴射量保持手段の機能を達成している。
【０２１２】
次に、２サイクル自着火運転の制御及び２サイクル自着火運転から４サイクル火花点火運転への切り替えに伴う制御について説明する。
【０２１３】
（２サイクル自着火運転）
いま、機関の運転領域が２サイクル自着火運転領域にあって２サイクル自着火運転を定常的に行っている（例えば、上述の２サイクル自着火運転への切り替えに伴う過渡時制御の終了後である）として説明を続けると、図３のタイムチャートの時刻ｔ４以降及び図１６のタイムチャートの時刻ｔ１０以前に示したように、切替要求フラグXYQ42、過給実行フラグXCHG及び切替実行フラグX2CYの各値は「１」に設定され、切替過渡フラグXKT42及び切替過渡フラグXKT24の各値は「０」に設定されている。
【０２１４】
一方、ＣＰＵ７１は、図１７にフローチャートにより示した２サイクル時制御ルーチンをクランク角が第１気筒の吸気上死点前の所定の角度となったとき実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１７００から処理を開始してステップ１７０５に進み、切替要求フラグXYQ42、過給実行フラグXCHG及び切替実行フラグX2CYの各値が「１」であり、且つ、切替過渡フラグXKT42及び切替過渡フラグXKT24の各値が「０」であるか否かを判定する。
【０２１５】
２サイクル自着火運転が定常的に行われているという前述の仮定によれば、ステップ１７０５の条件は成立している。従って、ＣＰＵ７１はステップ１７０５にて「Ｙｅｓ」と判定してステップ１７１０〜ステップ１７４５に進み、以下の処理を行ってからステップ１７９５に進んで本ルーチンを一旦終了する。
【０２１６】
ステップ１７１０：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
ステップ１７１５：基本吸気弁閉弁時期ICbse2をテーブルMapICbse2(Tqtgt,NE)に基いて求める。
ステップ１７２０：吸気弁開弁時期ＩＯ、排気弁開弁時期ＥＯ及び排気弁閉弁時期ＥＣを、テーブルMapIO(Tqtgt,NE)、テーブルMapEO(Tqtgt,NE)及びテーブルMapEC(Tqtgt,NE)にそれぞれ基いて求める。
ステップ１７２５：目標基本スロットル弁開度TAtgtbse2をテーブルMapTAtgtbse2(Tqtgt,NE)に基いて求める。テーブルMapTAtgtbse2(Tqtgt,NE)は、２サイクル自着火運転中の目標スロットル弁開度TAtgtを機関の運転状態に基いて定める２サイクル自着火運転用目標スロットル弁開度決定手段の機能を達成している。
ステップ１７３０：基本燃料噴射量taubse2をテーブルMaptaubse2(KL,NE)に基いて求める。テーブルMaptaubse2(KL,NE)は、２サイクル自着火運転中において測定された空気流量に基づいて得られる値（負荷率KL）に応じて燃料噴射量を決定する燃料噴射量決定手段に相当している。
【０２１７】
ステップ１７３５：基本燃料噴射開始時期Ainjbse2をテーブルMapAinjbse2(KL,NE)に基いて求める。
ステップ１７４０：目標ＡＢＶ開度ABVtgtをテーブルMapABVtgt(Tqtgt,NE)に基いて求める。なお、MapABVtgt(Tqtgt,NE)によれば、軽負荷領域においてＡＢＶの開度が全開に近い値となるように定められる。テーブルMapABVtgtbse2(Tqtgt,NE)は、２サイクル自着火運転中の目標ＡＢＶ開度ABVtgtを機関の運転状態に基いて定める２サイクル自着火運転用目標スロットル弁開度決定手段の機能を達成している。
【０２１８】
これは以下の理由による。２サイクル自着火運転の軽負荷領域では、掃気（吸気弁３２を介して燃焼室２５に空気を導入するとともに、その空気により燃焼室２５から燃焼ガスを排気弁３４を介して排出させること）に必要な過給圧は小さい。また、スロットル弁４８の開度が小さいとき、スーパーチャージャ４６より下流で且つスロットル弁４８より上流の吸気通路内の圧力が非常に大きくなり、スーパーチャージャ４６の仕事量が増大するため、熱効率が悪化し、燃費の悪化を招く。更に、スロットル弁４８の開度が僅かに変化しただけでも、スロットル弁４８下流から吸気弁３２までの圧力（過給圧）が敏感に大きく変化するので、スロットル弁４８の開度を制御することによる空気量の制御が困難になる。これらの問題を回避するため、MapABVtgt(Tqtgt,NE)によれば、軽負荷領域においてＡＢＶの開度が全開に近い値となるように定められる。
【０２１９】
ステップ１７４５：吸気弁閉弁時期ＩＣに基本吸気弁閉弁時期ICbse2を、目標スロットル弁開度TAtgtに基本目標スロットル弁開度TAtgtbse2を、燃料噴射量tauに基本燃料噴射量taubse2を、噴射時期Ainjに基本燃料噴射開始時期Ainjbse2をそれぞれ設定する。
【０２２０】
＜２サイクル自着火運転から４サイクル火花点火運転への切り替え＞
次に、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した場合について説明する。
このとき、ＣＰＵ７１が、図５に示した運転切り替え要求判定ルーチンの処理をステップ５００から開始すると、同ＣＰＵ７１はステップ５０５に進んで目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求め、ステップ５１０にて現在の運転領域が４サイクル火花点火運転領域にあると判定する。
【０２２１】
従って、ＣＰＵ７１はステップ５１５にて「Ｎｏ」と判定してステップ５３０に進み、本ルーチンを前回実行したとき（所定時間前）の運転領域が２サイクル自着火運転領域であったか否かを判定する。この場合、前回の運転領域は２サイクル自着火運転領域であったので、ＣＰＵ７１はステップ５３０にて「Ｙｅｓ」と判定してステップ５３５〜ステップ５５５に進み、以下の処理を行う。そして、ＣＰＵ７１は、ステップ５９５に進んで本ルーチンを一旦終了する。
【０２２２】
ステップ５３５：切替要求フラグXYQ42に「０」を設定する。
ステップ５４０：過給実行フラグXCHGに「０」を設定する。
ステップ５４５：切替実行フラグX2CYに「０」を設定する。
ステップ５５０：切替過渡フラグXKT24に「１」を設定する。
ステップ５５５：カウンタＬに「０」を設定する。
この時点は、図１６の時刻ｔ１０に対応している。なお、現在の運転領域及び前回の運転領域が共に４サイクル火花点火運転領域にあるとき、ＣＰＵ７１はステップ５３０にて「Ｎｏ」と判定し、そのままステップ５９５に進んで本ルーチンを一旦終了する。
【０２２３】
（２サイクル自着火運転から４サイクル火花点火への移行制御）
過給の終了
運転領域が２サイクル自着火運転領域から４サイクル火花点火領域へ変化すると、上述した図５のステップ５４０の処理がなされるので、過給実行フラグXCHGの値が「１」から「０」に変化する。従って、ＣＰＵ７１が図７に示したスーパーチャージャ用クラッチ制御ルーチンの処理をステップ７００から開始すると、同ＣＰＵ７１はステップ７０５にて「Ｎｏ」と判定し、現時点が過給実行フラグXCHGの値が「１」から「０」に変化した直後であるか否かを判定するステップ７２０にて「Ｙｅｓ」と判定し、ステップ７２５に進む。そして、ＣＰＵ７１はステップ７２５にてスーパーチャージャ用クラッチ４６ａに駆動信号を送出し、スーパーチャージャ４６を非作動状態とし、ステップ７９５に進んで本ルーチンを一旦終了する。これにより、過給が停止され、図１６の時刻ｔ１０以降に示したように、吸気管圧力PMは減少を開始する。
【０２２４】
１．過給停止に伴う制御．
（１）吸気弁閉弁時期制御（等トルク制御）
制御の概要
スーパーチャージャ４６による過給が時刻ｔ１０にて停止されると、本制御装置は４サイクル火花点火運転を開始する。この場合、図１６の時刻ｔ１０以降に示したように、吸気管圧力PM（過給圧）は次第に下降するので、吸気弁閉弁時期ＩＣを変更しなければ燃焼室２５内に流入する吸入空気量は減少し、機関の発生トルクが減少してしまう。そこで、本制御装置は、発生するトルクができるだけ変化しないように（過給停止時のトルクが極力維持されるように）、以下のように過渡時の吸気弁閉弁時期IC１を決定し、実際の吸気弁閉弁時期ＩＣを決定された吸気弁閉弁時期IC１に変更することによって、機関の発生トルクを一定に維持する。
【０２２５】
このような過渡時の吸気弁閉弁時期IC１を求める基本的考え方は次のとおりである。先ず、スーパーチャージャ４６による過給停止時における目標トルクTqtgtを求め、この目標トルクTqtgtに基いて、同目標トルクTqtgtを定常的な４サイクル火花点火運転において得るために必要な負荷率（４サイクル時目標負荷率）KL4tgtを求める。更に、この４サイクル時目標負荷率KL4tgtに基いて定常的な４サイクル火花運転時の予測吸気管圧力PM0を推定する。更に、外気温度センサ６２が検出する外気温度Tatmに基いて定常的な４サイクル火花運転時の予測吸気温度THA0を推定する。
【０２２６】
次に、目標トルクTqtgtを定常的な４サイクル火花点火運転時において得るために必要な吸気弁閉弁時期（目標吸気弁閉弁時期）IC0を同目標トルクTqtgtに基いて求め、この目標吸気弁閉弁時期IC0のクランク角θにおける筒内体積Ｖを４サイクル時予測筒内体積Ｖ０として上記(2)式をテーブル化したテーブルMapV(θ）により求めておく。
【０２２７】
そして、その後の過渡時における実際の吸気管圧力PM、吸気温度THA及び上記(3)式を用いて過渡時の筒内体積Ｖを求め、その筒内体積Ｖが得られるクランク角θを上記テーブルMapθ(Ｖ）により求めるとともに、そのクランク角θを過渡時の吸気弁閉弁時期IC１として設定する。要約すると、過給停止時の目標トルクTqtgtが得られる定常的な４サイクル火花点火運転時の負荷率KL（空気のモル数）が常に得られるように、過渡時の吸気弁閉弁時期IC１を定める。
【０２２８】
本制御装置は、このようにして求められた過渡時の吸気弁閉弁時期IC１にて吸気弁を閉弁する。従って、スーパーチャージャ４６の作動停止時（過給停止時）における内燃機関の発生トルクが一定に維持される。
【０２２９】
実際の作動
ＣＰＵ７１は上述の過渡時の吸気弁閉弁時期制御を行うため、クランク角が所定のクランク角に一致する毎に、図１８にフローチャートにより示した２−４切替え時等トルク制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１８００から処理を開始してステップ１８０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２３０】
現時点は、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化したために図５に示したルーチンのステップ５３５〜ステップ５５０が実行された直後であるので、切替要求フラグXYQ42、過給実行フラグXCHG及び切替実行フラグX2CYの各値は、総て「０」に設定されている。また、切替過渡フラグXKT24の値は「１」に設定されている。更に、切替過渡フラグXKT42は２サイクル自着火運転に切り替えられた後に「０」に設定されているから（図１４のステップ１４７０を参照。）、ステップ１８０５の条件は成立している（図１６の時刻ｔ１０〜ｔ１２を参照。）。従って、ＣＰＵ７１はステップ１８０５にて「Ｙｅｓ」と判定してステップ１８１０に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。
【０２３１】
この場合、切替過渡フラグXKT24の値は「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ１８１０にて「Ｙｅｓ」と判定してステップ１８１５〜ステップ１８７０に進み、以下の処理を実行した後にステップ１８９５に進んで本ルーチンを一旦終了する。
【０２３２】
ステップ１８１５：現時点における目標トルク（要求トルク）TqtgtをテーブルMapTqtgt(Accp,NE)に基いて求める。
ステップ１８２０：４サイクル時目標負荷率KL4tgtをテーブルMapKL4tgt(Tqtgt,NE)に基いて求める。
ステップ１８２５：４サイクル時予測吸気管圧力PM0をテーブルMapPM0(KL4tgt,NE)に基いて求める。
ステップ１８３０：４サイクル時予測吸気温度THA0をテーブルMapTHA0(Tatm)に基いて求める。
【０２３３】
ステップ１８３５：４サイクル時目標吸気弁閉弁時期IC0をテーブルMapIC0(Tqtgt,NE)に基いて求める。
ステップ１８４０：IC0(deg)をθ＝π・IC0／180によりθ(rad)に変換する。
ステップ１８４５：４サイクル時目標吸気弁閉弁時期IC0に対する筒内体積ＶをテーブルMapV(θ）に基いて求め、これを４サイクル時予測筒内体積V0として格納する。
【０２３４】
ステップ１８５０：上記(3)式にしたがって現時点での過渡時の筒内体積Ｖを求める。
ステップ１８５５：過渡時の筒内体積Ｖから４サイクル時予測筒内体積Ｖ０を減じて筒内体積差ΔＶを求める。この筒内体積差ΔＶは、後述する点火時期補正にて使用するために求められる。
ステップ１８６０：テーブルMapθ（Ｖ)に基いてθを求める。
ステップ１８６５：過渡時吸気弁閉弁時期IC１をIC１＝180・θ／πから求める。
ステップ１８７０：過渡時吸気弁閉弁時期IC１を吸気弁閉弁時期ICとして格納する。
【０２３５】
所定の時間が経過して、次にＣＰＵ７１が本ルーチンを再び開始すると、同ＣＰＵ７１はステップ１８０５にて「Ｙｅｓ」、ステップ１８１０にて「Ｎｏ」と判定し、ステップ１８５０〜ステップ１８７０の処理を実行した後、ステップ１８９５にて本ルーチンを一旦終了する。
【０２３６】
このような処理は、ステップ１８０５に示した条件が不成立となるまで繰り返し実行される。この結果、過給の停止直後から吸気弁閉弁時期ＩＣが調整されて、内燃機関の発生トルクが略一定に維持される。なお、ステップ１８０５に示した条件が満足されないとき、ＣＰＵ７１はステップ１８０５にて「Ｎｏ」と判定して直ちにステップ１８９５に進み、本ルーチンを一旦終了する。
【０２３７】
（２）過給停止に伴う点火時期制御
制御の概要
上述した過給の停止に伴って吸気弁閉弁時期制御が実行されると、図１６の時刻ｔ１０〜ｔ１１に示したように、吸気管圧力PMの下降に伴って吸気弁閉弁時期ＩＣは次第に下死点側へと移行する。換言すると、４サイクル火花点火運転に切り替えた直後の過渡状態では、吸気弁閉弁時期は、４サイクル火花点火運転が定常的に行われている場合の吸気弁閉弁時期よりも上死点側に移行しており、この過渡状態でのシリンダ及びピストンによる空気の実質的な圧縮開始クランク角は４サイクル火花点火運転が定常的に行われている場合よりも圧縮上死点側へと移行するから、実圧縮比が低下する。これにより、圧縮行程終了時の混合気の温度（圧縮端温度）は低下する。従って、燃焼速度が低下し、燃焼状態が悪化して機関発生トルクが低下する。この結果、２サイクル自着火運転から４サイクル火花点火運転へと移行した直後にトルクショックが発生する。そこで、本制御装置は、４サイクル火花点火運転が定常的に行われている場合の実圧縮比に比べ実圧縮比が減少する分、４サイクル火花点火運転が定常的に行われている場合の点火時期よりも点火時期を進角させることにより、燃焼状態の悪化を補う。この結果、本制御装置は、トルクショックの発生を抑制することができる。
【０２３８】
実際の作動
ＣＰＵ７１は上述の過渡時の点火時期制御を行うため、クランク角が所定のクランク角に一致する毎に、図１９にフローチャートにより示した２−４切替え時点火時期制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１９００から処理を開始してステップ１９０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２３９】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、上述したように、ステップ１９０５の条件は成立している。従って、ＣＰＵ７１はステップ１９０５にて「Ｙｅｓ」と判定してステップ１９１０に進み、基本点火時期SAbseをテーブルMapSAbse(KL,NE)に基いて求める。
【０２４０】
次に、ＣＰＵ７１はステップ１９１５に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。この場合、切替過渡フラグXKT24の値は「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ１９１５にて「Ｙｅｓ」と判定し、以下のステップ１９２５〜ステップ１９３５の処理を実行した後、ステップ１９９５にて本ルーチンを一旦終了する。
【０２４１】
ステップ１９２５：点火時期補正量算出のための係数kig（＞０）を関数figとアクセルペダル操作量Accpとエンジン回転速度NEとに基いて定める。
ステップ１９３０：上記係数kigと図１８のステップ１８５５により求められている筒内体積差ΔＶとに基いて点火時期補正量ΔSAを、ΔSA＝kig・ΔＶにしたがって算出する。
ステップ１９３５：基本点火時期SAbseに点火時期補正量ΔSAを加えた値を点火時期SAに設定する。この結果、点火時期SAは基本点火時期SAbseに対して点火時期補正量ΔSAだけ進角された点火時期となる。
【０２４２】
所定の時間が経過して、次にＣＰＵ７１が本ルーチンを再び開始すると、同ＣＰＵ７１はステップ１９０５にて「Ｙｅｓ」と判定し、ステップ１９１０にて基本点火時期SAbseを求める。そして、ＣＰＵ７１は、ステップ１９１５にて「Ｎｏ」と判定してステップ１９３０及びステップ１９３５の処理を実行し、その後ステップ１９９５にて本ルーチンを一旦終了する。
【０２４３】
このような処理は、ステップ１９０５に示した条件が不成立となるまで繰り返し実行される。この結果、吸気弁閉弁時期制御に伴って、４サイクル火花点火運転が定常的に行われている場合に比べ実圧縮比が減少している分、点火時期SAが筒内体積変化ΔＶに応じた角度だけ進角させられるので、トルクショックの発生を回避することができる。なお、ステップ１９０５に示した条件が満足されないとき、ＣＰＵ７１はステップ１９０５にて「Ｎｏ」と判定して直ちにステップ１９９５に進み、本ルーチンを一旦終了する。
【０２４４】
（３）過給停止（吸気弁閉弁時期変更）に伴う燃料噴射時期制御
制御の概要
上述したように、過給停止に伴って吸気弁閉弁時期制御が実行されると、図１６の時刻ｔ１０〜ｔ１１に示したように、吸気弁閉弁時期ＩＣは次第に下死点側へと移行する。しかしながら、この期間における吸気弁閉弁時期ＩＣは、４サイクル火花点火運転が定常的に実行されている場合の吸気弁閉弁時期ＩＣよりも吸気上死点側にある。従って、４サイクル火花点火運転が定常的に実行されている場合の吸気弁閉弁時期ＩＣ（基本吸気弁閉弁時期ICbsebse4）を前提に定められている基本燃料噴射開始時期Ainjbse4に基いて燃料を噴射すると、燃料噴射期間中に吸気弁３２が閉弁し、空気と燃料の混合が悪化し、そのために燃焼状態が悪化する場合がある。そこで、本制御装置は、このような事態を回避するため、燃料噴射終了時期が吸気弁閉弁時期よりも前になるように（吸気弁が開弁している期間内に燃料噴射期間が存在するように）、燃料噴射開始時期Ainjを制御する。
【０２４５】
実際の作動
ＣＰＵ７１は上述の燃料噴射時期制御を行うため、クランク角が所定のクランク角に一致する毎に、図２０にフローチャートにより示した２−４切替え時噴射時期制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２０００から処理を開始してステップ２００５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２４６】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、前述したように、ステップ２００５の条件は成立している。従って、ＣＰＵ７１はステップ２００５にて「Ｙｅｓ」と判定してステップ２０１０に進み、基本燃料噴射開始時期Ainjbse4をテーブルMapAinjbse4(KL,NE)に基いて求める。
【０２４７】
次に、ＣＰＵ７１はステップ２０１５に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。この場合、切替過渡フラグXKT24の値は「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ２０１５にて「Ｙｅｓ」と判定し、ステップ２０２０にて燃料噴射開始時期Ainjに基本燃料噴射開始時期Ainjbse4を設定し、ステップ２０９５に進んで本ルーチンを一旦終了する。
【０２４８】
所定の時間が経過して、次にＣＰＵ７１が本ルーチンを再び開始すると、同ＣＰＵ７１はステップ２００５にて「Ｙｅｓ」と判定し、ステップ２０１０にて基本燃料噴射開始時期Ainjbse4を求める。そして、ＣＰＵ７１は、ステップ２０１５にて「Ｎｏ」と判定し、ステップ２０２５〜ステップ２０３５に進んで以下の処理を実行する。
【０２４９】
ステップ２０２５：現時点の燃料噴射量tauとエンジン回転速度NEとに基いて燃料噴射期間が要するクランク角（即ち、噴射角度）CINJを計算により求める。
ステップ２０３０：上記ステップ２０１０にて決定した基本燃料噴射開始時期Ainjbse4に噴射角度CINJを加えた燃料噴射終了角度（＝Ainjbse4+CINJ）が、現時点の吸気弁閉弁時期ＩＣより大きいか否か（遅角側にあるか否か）を判定する。
【０２５０】
ステップ２０３５：ＣＰＵ７１はステップ２０３０にて「Ｙｅｓ」と判定したとき、このステップ２０３５を実行する。ステップ２０３５においては、吸気弁閉弁時期ＩＣから噴射角度CINJを減じた角度（吸気弁閉弁時期ＩＣから噴射角度CINJだけ吸気上死点側へ進角した角度）を、燃料噴射開始時期Ainjに設定する。
その後、ＣＰＵ７１はステップ２０９５に進んで本ルーチンを一旦終了する。なお、ＣＰＵ７１はステップ２０３０にて「Ｎｏ」と判定したとき、そのままステップ２０９５に進んで本ルーチンを一旦終了する。
【０２５１】
このような処理は、ステップ２００５に示した条件が不成立となるまで繰り返し実行される。この結果、燃料噴射期間が吸気弁閉弁時期ＩＣの前までに終了するようになるので、噴射された燃料が燃焼室２５内に流入する空気の流れにより同空気と良好に混合（ミキシング）され、燃焼が良好に行われるようになる。なお、ステップ２００５に示した条件が満足されないとき、ＣＰＵ７１はステップ２００５にて「Ｎｏ」と判定して直ちにステップ２０９５に進み、本ルーチンを一旦終了する。
【０２５２】
２．スロットル弁開度制御
制御の概要
前述したように、２サイクル自着火運転においては、スロットル弁４８は全開付近の所定開度に維持される。これに対し、４サイクル火花点火運転においては、スロットル弁４８の開度は全開付近〜全閉付近の広範囲に亘り制御されている。
【０２５３】
従って、２サイクル自着火運転から４サイクル火花点火運転に移行した直後にスロットル弁開度が急激に変化し、その結果、燃焼室内に流入する空気量が大きく変化するので、トルクショックが発生する場合がある。そこで、本制御装置は、２サイクル自着火運転から４サイクル火花点火運転に切り替えた直後にスロットル弁開度が急激に変化することのないように、４サイクル火花点火運転に切り替え後、そのときのスロットル弁開度から定常的な４サイクル火花点火運転において必要とされるスロットル弁開度にまで、スロットル弁開度を徐々に変化させる。
【０２５４】
実際の作動
ＣＰＵ７１は上述の過渡時のスロットル弁開度制御を行うため、クランク角が所定のクランク角に一致する毎に、図２１にフローチャートにより示した２−４切替え時スロットル弁制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２１００から処理を開始してステップ２１０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２５５】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、前述したように、ステップ２１０５の条件は成立している。従って、ＣＰＵ７１はステップ２１０５にて「Ｙｅｓ」と判定してステップ２１１０に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。
【０２５６】
この場合、切替過渡フラグXKT24の値は「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ２１１０にて「Ｙｅｓ」と判定し、ステップ２１１５〜ステップ２１４５の処理を実行し、その後、ステップ２１９５に進んで本ルーチンを一旦終了する。
【０２５７】
ステップ２１１５：タイマtimerTA24に「０」を設定する。即ち、タイマtimerTA42を初期化する。
ステップ２１２０：現時点において検出されるスロットル弁開度TAを初期スロットル弁開度TA2として格納する。
ステップ２１２５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
ステップ２１３０：４サイクル火花点火運転に移行したときの目標スロットル弁開度TAtgtbse4をMapTAbse4(Tqtgt,NE)から求め、そのTAtgtbse4を４サイクル火花点火運転移行後のスロットル弁開度TA4として格納する。
ステップ２１３５：スロットル弁開度徐変時間tTA24をMaptTA24(Accp,NE)から求める。スロットル弁開度徐変時間tTA24は、「１」より大きい値に設定される。
ステップ２１４０：４サイクル火花点火運転移行時スロットル弁開度TA4から初期スロットル弁開度TA2を減じた値（＝TA4−TA2）をスロットル弁開度徐変時間tTA24で除してスロットル弁開度徐変量ΔTAを求める。
ステップ２１４５：目標スロットル弁開度TAtgtに初期スロットル弁開度TA2を設定する。
【０２５８】
次に、ＣＰＵ７１が本ルーチンをステップ２１００から開始すると、この場合も、ステップ２１０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT24の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ２１１０にて「Ｎｏ」と判定してステップ２１５０に進み、タイマtimerTA24を一定値「１」だけ増大し、続くステップ２１５５にてタイマtimerTA24がスロットル弁開度徐変時間tTA24以下であるか否かを判定する。
【０２５９】
現時点は、上記ステップ２１５０が最初に実行された直後であるので、タイマtimerTA24の値は１であり、スロットル弁開度徐変時間tTA24より小さい。従って、ＣＰＵ７１はステップ２１５５にて「Ｙｅｓ」と判定し、ステップ２１６０に進んで目標スロットル弁開度TAtgtに、初期スロットル弁開度TA2と、タイマtimerTA24とスロットル弁開度徐変量ΔTAの積（＝timerTA24・ΔTA）との和を設定し、その後ステップ２１９５に進んで本ルーチンを一旦終了する。
【０２６０】
以上の処理（ステップ２１５０からステップ２１６０）は、ステップ２１５５にて「Ｎｏ」と判定されるまで繰り返し実行される。従って、目標スロットル弁開度TAtgtは本ルーチンが実行される毎にΔTAずつ増大される。この結果、図１６の時刻ｔ１０以降に示したように、スロットル弁開度は４サイクル火花点火運転移行時スロットル弁開度TA4に次第に近づいて行く。また、この期間において、スロットル弁開度は本ルーチンが実行される毎に微少な量ΔTAずつ変化するので、空気量の大幅な変化がなく、機関発生トルクの急激な変化が発生しない。
【０２６１】
そして、ステップ２１５０の処理が繰り返されることにより、タイマtimerTA24の値がスロットル弁開度徐変時間tTA24より大きくなると、ＣＰＵ７１はステップ２１５５にて
「Ｎｏ」と判定してステップ２１６５に進み、目標スロットル弁開度TAtgtに、４サイクル火花点火運転移行時スロットル弁開度TA4を設定し、その後ステップ２１９５に進んで本ルーチンを一旦終了するようになる。これにより、スロットル弁開度は、４サイクル火花点火運転移行後から定常的な４サイクル火花点火運転移行時スロットル弁開度TA4へと滑らかに変化して行くから、機関発生トルクの急激な変化が発生しない。なお、ステップ２１０５に示した条件が満足されないとき、ＣＰＵ７１はステップ２１０５にて「Ｎｏ」と判定して直ちにステップ２１９５に進み、本ルーチンを一旦終了する。
【０２６２】
３．ＡＢＶ（エアバイパスバルブ弁）開度制御
制御の概要
前述したように４サイクル火花点火運転においては、空気がスーパーチャージャ４６を通過することによる圧力損失の発生を回避するため、ＡＢＶ開度は全開の開度ABVmaxに維持されている。一方、２サイクル自着火運転においては過給が必要となるので、ＡＢＶ開度は全開の開度ABVmaxより小さい所定の開度に調節される。
【０２６３】
従って、２サイクル自着火運転から４サイクル火花点火運転にそのまま移行すると、４サイクル火花点火運転移行直後においてＡＢＶ開度が急激に変化する。この結果、燃焼室２５内に流入する空気量が大きく変化し、トルクショックが発生する恐れがある。そこで、本制御装置は、２サイクル自着火運転から４サイクル火花点火運転に切り替えた直後にＡＢＶ開度が急激に変化することのないように、４サイクル火花点火運転に切り替え後において、そのときのＡＢＶ開度から定常的な４サイクル火花点火運転において必要とされるＡＢＶ開度（即ち、全開の開度ABVmax）にまで、ＡＢＶ開度を徐々に変化させる。
【０２６４】
ＣＰＵ７１は上述の過渡時のＡＢＶ開度制御を行うため、クランク角が所定のクランク角に一致する毎に、図２２にフローチャートにより示した２−４切替え時ＡＢＶ制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２２００から処理を開始してステップ２２０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２６５】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、前述したように、ステップ２２０５の条件は成立している。従って、ＣＰＵ７１はステップ２２０５にて「Ｙｅｓ」と判定してステップ２２１０に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。
【０２６６】
この場合、切替過渡フラグXKT24の値は「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ２２１０にて「Ｙｅｓ」と判定し、ステップ２２１５〜ステップ２２４５の処理を実行し、その後、ステップ２２９５に進んで本ルーチンを一旦終了する。
【０２６７】
ステップ２２１５：タイマtimerABV24に「０」を設定する。即ち、タイマtimerABV24を初期化する。
ステップ２２２０：現時点のＡＶＢ開度（目標ABV開度ABVtgt）を初期ＡＢＶ開度ABV2として格納する。なお、ＡＢＶ４５の開度を検出するＡＢＶ開度センサを設けておき、このＡＢＶ開度センサから得られる現時点のＡＢＶ開度を初期ＡＢＶ開度ABV2として格納してもよい。
ステップ２２２５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基づいて求める。
ステップ２２３０：４サイクル火花点火運転が定常的に行われているときのＡＢＶ開度ABV4に、ＡＢＶ全開開度ABVmaxを設定する。
ステップ２２３５：ＡＢＶ開度徐変時間tABV24をMaptABV24(Accp,NE)から求める。ＡＢＶ開度徐変時間tABV24は、「１」より大きい値に設定される。
ステップ２２４０：４サイクル火花点火運転移行時ＡＢＶ開度ABV4から初期ＡＢＶ開度ABV2を減じた値（＝ABV4−ABV2）をＡＢＶ開度徐変時間tABV24で除してＡＢＶ開度徐変量ΔABVを求める。
ステップ２２４５：目標ＡＢＶ開度ABVtgtに初期ＡＢＶ開度ABV2を設定する。
【０２６８】
次に、ＣＰＵ７１が本ルーチンをステップ２２００から開始すると、この場合も、ステップ２２０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT24の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ２２１０にて「Ｎｏ」と判定してステップ２２５０に進み、タイマtimerABV24を一定値「１」だけ増大し、続くステップ２２５５にてタイマtimerABV24がＡＢＶ開度徐変時間tABV24以下であるか否かを判定する。
【０２６９】
現時点は、上記ステップ２２５０が最初に実行された直後であるので、タイマtimerABV24の値は１であり、ＡＢＶ開度徐変時間tABV24より小さい。従って、ＣＰＵ７１はステップ２２５５にて「Ｙｅｓ」と判定し、ステップ２２６０に進んで目標ＡＢＶ開度ABVtgtに、初期ＡＢＶ開度ABV2と、タイマtimerABV24とＡＢＶ開度徐変量ΔABVの積（＝timerABV24・ΔABV）を加えた値を設定し、その後ステップ２２９５に進んで本ルーチンを一旦終了する。
【０２７０】
以上の処理（ステップ２２５０からステップ２２６０）は、ステップ２２５５にて「Ｎｏ」と判定されるまで繰り返し実行される。従って、目標ＡＢＶ開度ABVtgtは本ルーチンが実行される毎にΔABVずつ増大される。この結果、ＡＢＶ開度は４サイクル火花点火運転が定常的に行われているときのＡＢＶ開度ABV4＝ABVmaxに次第に近づいて行く。
【０２７１】
そして、ステップ２２５０の処理が繰り返されることにより、タイマtimerABV24の値がＡＢＶ開度徐変時間tABV24より大きくなると、ＣＰＵ７１はステップ２２５５にて「Ｎｏ」と判定してステップ２２６５に進み、目標ＡＢＶ開度ABVtgtに、４サイクル火花点火運転が定常的に行われているときのＡＢＶ開度ABV4を設定し、その後ステップ２２９５に進んで本ルーチンを一旦終了するようになる。これにより、４サイクル火花点火運転が開始され後にＡＢＶ開度が急激に変化しないから、燃焼室２５内に流入する空気量の変動が小さく、機関発生トルクの急激な変化が発生しない。
【０２７２】
なお、この２−４切替え時ＡＢＶ開度制御は、上述した２−４切替え時スロットル弁開度制御と独立に行ってもよく、或いは、同スロットル弁開度制御と同期して行ってもよい。
【０２７３】
４．燃料噴射量制御
制御の概要
本制御装置は、２サイクル自着火運転から４サイクル火花点火運転に移行するために、スーパーチャージャ４６による過給を停止する。これにより、図１６の時刻ｔ１０以降に示したように、吸気管圧力（過給圧）PMは急激に下降する。このため、エアフローメータ６１により計測される空気流量Ｇａに基づいて求められる負荷率KLは実際の負荷率KLと異なる値となる。従って、吸気管圧力PMが急激に下降しているとき、４サイクル火花点火運転が定常的に行われている場合のように基本燃料噴射量taubse4が負荷率KLに基いて求められると（図４のステップ４２５を参照。）、噴射される燃料の量に不足が生じ、燃焼室２５内の混合気の空燃比が目標空燃比から乖離し、エミッションの悪化、或いは機関発生トルクの変動等の問題が発生する恐れがある。
【０２７４】
そこで、本制御装置は、スーパーチャージャ４６による過給停止時点（図１６の時刻ｔ１０）から、吸気管圧力PMが安定したと考えられる時点（図１６の時刻ｔ１２）までの期間、即ち、切替過渡フラグXKT24の値が「１」である期間、燃料噴射量（燃料噴射時間）を一定値に固定する制御を実行する。
【０２７５】
実際の作動
ＣＰＵ７１は上述の過渡時の燃料噴射量制御を行うため、クランク角が所定のクランク角に一致する毎に、図２３にフローチャートにより示した２−４切替え時燃料噴射量制御ルーチンを実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２３００から処理を開始してステップ２３０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２７６】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、前述したように、ステップ２３０５の条件は成立している。従って、ＣＰＵ７１はステップ２３０５にて「Ｙｅｓ」と判定してステップ２３１０に進み、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるか否かを判定する。
【０２７７】
この場合、切替過渡フラグXKT24の値が「０」から「１」に変更された直後であるから、ＣＰＵ７１はステップ２３１０にて「Ｙｅｓ」と判定し、ステップ２３１５〜ステップ２３３５の処理を実行し、その後、ステップ２３９５に進んで本ルーチンを一旦終了する。
【０２７８】
ステップ２３１５：目標トルクTqtgtをテーブルMapTqtgt(Accp,NE)に基いて求める。
ステップ２３２０：４サイクル火花点火運転における目標負荷率KL4tgtを、テーブルMapKL4tgt(Tqtgt)に基いて求める。
ステップ２３２５：基本燃料噴射量taubse4をテーブルMaptaubse4(KL4tgt,NE)に基いて求める。
ステップ２３３０：求められた基本燃料噴射量taubse4を固定噴射量tau4に格納する。
ステップ２３３５：燃料噴射量tauに固定噴射量tau4を設定する。
【０２７９】
次に、ＣＰＵ７１が図２３に示したルーチンをステップ２３００から開始すると、この場合も、ステップ２３０５にて「Ｙｅｓ」と判定する。しかしながら、現時点は切替過渡フラグXKT24の値が「０」から「１」に変更された直後ではないので、ＣＰＵ７１はステップ２３１０にて「Ｎｏ」と判定してステップ２３４０に進み、燃料噴射量tauに固定噴射量tau4を設定する。
【０２８０】
以上の処理は、ステップ２３０５に示した条件が満足されなくなるまで繰り返される。従って、燃料噴射量tauが、切替過渡フラグXKT24の値が「０」から「１」に変更された時点（図１６の時刻ｔ１０における４サイクル火花点火運転開始時点）の基本燃料噴射量taubse4に維持される。
【０２８１】
（フラグの操作）
次に、２サイクル自着火運転から４サイクル火花点火運転に移行した後のフラグ操作について説明する。ＣＰＵ７１は、図２４に示した２−４切り替え時フラグ操作ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２４００から処理を開始してステップ２４０５に進み、切替過渡フラグXKT24の値が「１」であり、且つ、残りのフラグ（切替実行フラグX2CY、切替要求フラグXYQ42、過給実行フラグXCHG及び切替過渡フラグXKT42）の各値が総て「０」であるか否かを判定する。
【０２８２】
現時点が、機関の運転領域が２サイクル自着火運転領域から４サイクル火花点火運転領域に変化した直後であるとすると、前述したように、ステップ２４０５の条件は成立している。従って、ＣＰＵ７１はステップ２４０５にて「Ｙｅｓ」と判定してステップ２４１０に進んで吸気管圧力PMを読み込み、続くステップ２４２０に進んでカウンタＬの値を「１」に設定だけ増大する。このカウンタＬは、前述したカウンタＭと同様、２サイクル自着火運転から４サイクル火花点火運転へと切り替えた後、一定期間は４サイクル火花点火運転を継続させるために用いるタイマである。これにより、４サイクル火花点火運転領域と２サイクル自着火運転との頻繁な切り替えが回避される。なお、カウンタＬの値は、図５のステップ５５５にて「０」に設定されている。
【０２８３】
次いで、ＣＰＵ７１はステップ２４３０にて図１４のステップ１４５０と同様にして実際の負荷率KLを求め、続くステップ２４３５にてステップ１４５５と同様にして負荷率変化量ΔKLを求める。次に、ＣＰＵ７１はステップ２４４０に進み、ステップ２４３０にて求めた実際の負荷率KLを次回の計算のために所定時間前の実際の負荷率KLoldとして格納する。
【０２８４】
続いて、ＣＰＵ７１はステップ２４４５に進み、カウンタＬの値が第３閾値Ｌthより大きいか、又は、負荷率変化量ΔKLの絶対値が第４閾値dKLconst4より小さいか否かを判定する。この時点では、過給停止から十分に時間が経過していないので、ステップ２４４５の条件は満足されない。従って、ＣＰＵ７１はステップ２４４５にて「Ｎｏ」と判定してステップ２４９５に進み、本ルーチンを一旦終了する。
【０２８５】
その後、時間が経過すると、ステップ２４２０が繰り返し実行されることによりカウンタＬの値が第３閾値Ｌthより大きくなる。或いは、吸気管圧力PMが安定してくるので、負荷率変化量ΔKLの絶対値が第４閾値dKLconst4より小さくなる。従って、これらの何れかが先に成立したときにＣＰＵ７１がステップ２４４５に進むと、同ＣＰＵ７１はステップ２４４５にて「Ｙｅｓ」と判定し、ステップ２４５０に進んで切替過渡フラグXKT24の値を「０」に設定し、ステップ２４９５に進んで本ルーチンを一旦終了する。
【０２８６】
これにより、切替要求フラグXYQ42、過給実行フラグXCHG、切替実行フラグX2CY、切替過渡フラグXKT42及び切替過渡フラグXKT24の５つのフラグの値が総て「０」に設定されるので、図４に示したステップ４１０以降が実行されるようになり、４サイクル火花運転が定常的に実行される。
【０２８７】
（サイクル切り替え実行方法：気筒別変数切替方法）
次に、多気筒内燃機関のサイクル切り替え（４サイクル火花点火運転から２サイクル自着火運転へ、又はその逆への切り替え）における気筒別変数の切替方法について説明する。
【０２８８】
気筒別フラグ操作
先ず、４サイクル火花点火運転から２サイクル自着火運転に切り替える場合について説明すると、ＣＰＵ７１は図２５にフローチャートにより示した切替フラグ操作ルーチン（４−２切替）を所定クランク角毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２５００から処理を開始してステップ２５０５に進み、クランクカウンタccrnkの値を取得する。クランクカウンタccrnkの値は、クランクポジションセンサ６３の出力するパルス信号に基いて別途更新され、クランク角を表す値となっている。クランクカウンタccrnkの値は、クランク角の７２０deg毎（第１気筒の圧縮上死点毎）にて「０」リセットされるようになっている。
【０２８９】
次に、ＣＰＵ７１はステップ２５１０に進んで、切替実行フラグX2CYの値が「１」であるか否かを判定する。いま、４サイクル火花点火運転中であり、４サイクル火花点火運転から２サイクル自着火運転へ切り替える要求が発生していないと仮定すると、切替実行フラグX2CYの値は「０」である。従って、ＣＰＵ７１はステップ２５１０にて「Ｎｏ」と判定してステップ２５９５に進み本ルーチンを一旦終了する。
【０２９０】
その後、機関の運転領域が変化することにより上述した一連の制御が実行され、図１４のステップ１４２０の処理によって切替実行フラグX2CYの値が「１」に設定されたと仮定する（図２６の時刻ｔ２３を参照。）。この直後にＣＰＵ７１が本ルーチンを再び実行すると、同ＣＰＵ７１はステップ２５１０にて「Ｙｅｓ」と判定してステップ２５１５に進み、切替準備フラグF30の値が「１」であるか否かを判定する。切替準備フラグF30は、図２６の時刻ｔ２３に示したように、この段階では「０」に設定されている。従って、ＣＰＵ７１はステップ２５１５にて「Ｎｏ」と判定してステップ２５２０に進み、クランクカウンタccrnkが「０deg（＝第１気筒の圧縮上死点）」を示しているか否かを判定する。
【０２９１】
このとき、クランクカウンタccrnkが「０deg」を示していなければ、ＣＰＵ７１はステップ２５２０にて「Ｎｏ」と判定し、ステップ２５９５に進んで本ルーチンを一旦終了する。一方、図２６の時刻ｔ２４に示したように、クランクカウンタccrnkが「０deg」を示していると、ＣＰＵ７１はステップ２５２０にて「Ｙｅｓ」と判定し、ステップ２５２５に進んで切替準備フラグF30に「１」を設定し、ステップ２５９５に進んで本ルーチンを一旦終了する。このように、切替準備フラグF30は、切替実行フラグX2CYが「１」に変更された後であって、特定の気筒（この例では、第１気筒）の圧縮上死点のタイミングとなったとき、「１」に変更されるようになっている。
【０２９２】
次に、ＣＰＵ７１が本ルーチンを実行すると、同ＣＰＵ７１はステップ２５１５に進むとともに、切替準備フラグF30の値が「１」であることから、同ステップ２５１５にて「Ｙｅｓ」と判定し、クランクカウンタccrnkが「０deg」であるか否かを判定するステップ２５３０に進む。この時点は、クランクカウンタccrnkが「０deg」となってから僅かな時間が経過した時点である。従って、クランクカウンタccrnkは０degを示していないから、ＣＰＵ７１はステップ２５３０にて「Ｎｏ」と判定し、ステップ２５３５に進む。
【０２９３】
ＣＰＵ７１は、ステップ２５３５にてクランクカウンタccrnkが４８０degであり且つ第１気筒用切替実行フラグF31の値が「１」であるか否かを判定する。現時点は、かかる条件は成立していないので、ＣＰＵ７１はステップ２５３５にて「Ｎｏ」と判定してステップ２５４０に進み、クランクカウンタccrnkが２４０degであり且つ第１気筒用切替実行フラグF31の値が「１」であるか否かを判定する。現時点は、かかる条件は成立していないので、ＣＰＵ７１はステップ２５４０にて「Ｎｏ」と判定してステップ２５９５に進み、本ルーチンを一旦終了する。
【０２９４】
その後、クランクカウンタccrnkは２４０deg続いて４８０degを示す値となる。しかし、第１気筒用切替実行フラグF31の値が「０」であるので、ＣＰＵ７１はステップ２５３５及びステップ２５４０にて「Ｙｅｓ」と判定することはない。そして、図２６の時刻ｔ２５に示したように、再びクランクカウンタccrnkが０degとなると、ＣＰＵ７１はステップ２５３０に進んだとき「Ｙｅｓ」と判定してステップ２５４５に進み、第１気筒用切替実行フラグF31に「１」を設定し、ステップ２５９５にて本ルーチンを一旦終了する。
【０２９５】
次いで、クランクカウンタccrnkが２４０degとなると、現段階では第１気筒用切替実行フラグF31の値が「１」に設定されているから、ＣＰＵ７１はステップ２５４０に進んだとき「Ｙｅｓ」と判定し、ステップ２５５０に進んで第３気筒用切替実行フラグF33に「１」を設定し、ステップ２５９５にて本ルーチンを一旦終了する（図２６の時刻ｔ２６を参照。）。更に、クランクカウンタccrnkが４８０degとなると、現段階では第１気筒用切替実行フラグF31の値が「１」に設定されているから、ＣＰＵ７１はステップ２５３５に進んだとき「Ｙｅｓ」と判定し、ステップ２５５５に進んで第２気筒用切替実行フラグF32に「１」を設定し、ステップ２５９５にて本ルーチンを一旦終了する（図２６の時刻ｔ２７を参照。）。
【０２９６】
このように、切替実行フラグX2CYの値が「０」から「１」に変化すると、その後、最初に第１気筒のクランク角が圧縮上死点（クランクカウンタccrnkが０deg）となったとき、切替準備フラグF30が「１」に設定される。その後７２０degが経過して再びクランクカウンタccrnkが０degとなったとき第１気筒用切替実行フラグF31、次いで、クランクカウンタccrnkが２４０degとなったとき第３気筒用切替実行フラグF33、更に、クランクカウンタccrnkが４８０degとなったとき第２気筒用切替実行フラグF32の値が「１」に設定されて行く。
【０２９７】
これにより、切替え制御は必ず特定気筒（この場合、第１気筒）から始まるようになる。また、気筒毎の切替実行フラグF31〜F33は、４サイクル火花点火運転の点火順序に従って「１」に設定されて行く。なお、２サイクル自着火運転の着火順序に従って、気筒毎の切替実行フラグF31〜F33が「１」に設定されて行くようにしてもよい。
【０２９８】
次に、２サイクル自着火運転から４サイクル火花点火運転に切り替える場合について説明すると、ＣＰＵ７１は図２７にフローチャートにより示した切替フラグ操作ルーチン（２−４切替）を所定クランク角毎に繰り返し実行するようになっている。このルーチンは、上述した図２５に示した切替フラグ操作ルーチン（４−２切替）と類似している。従って、以下、各ステップにおける処理内容のみを記述する。
【０２９９】
ステップ２７０５：ＣＰＵ７１はクランクカウンタccrnkの値を取得する。
ステップ２７１０：ＣＰＵ７１は切替実行フラグX2CYの値が「０」であるか否かを判定する。切替実行フラグX2CYの値が「１」であればステップ２７９５に進んで本ルーチンを一旦終了し、「０」であればステップ２７１５に進む（図２８の時刻ｔ３２を参照。）。
ステップ２７１５：ＣＰＵ７１は切替準備フラグF30の値が「０」であるか否かを判定する。切替準備フラグF30の値が「１」であればステップ２７２０、「０」であればステップ２７３０に進む。
【０３００】
ステップ２７２０及びステップ２７２５：ＣＰＵ７１はクランクカウンタccrnkが０degであるか否かを判定し、０degでなければステップ２７９５に進んで本ルーチンを一旦終了する。ＣＰＵ７１はクランクカウンタccrnkが０degであればステップ２７２５に進んで切替準備フラグF30に「０」を設定する（図２８の時刻ｔ３３を参照。）。
ステップ２７３０及びステップ２７４５：ＣＰＵ７１はクランクカウンタccrnkが０degであるか否かを判定し、０degでなければステップ２７３５に進む。ＣＰＵ７１はクランクカウンタccrnkが０degであればステップ２７４５に進んで第１気筒用切替実行フラグF31に「０」を設定する（図２８の時刻ｔ３４を参照。）。
【０３０１】
ステップ２７３５及びステップ２７５５：ＣＰＵ７１はクランクカウンタccrnkが４８０degであり且つ第１気筒用切替実行フラグF31の値が「０」であるか否かを判定し、この条件が満たされていなければステップ２７４０に進む。ＣＰＵ７１はこの条件が満たされていればステップ２７５５に進んで第２気筒用切替実行フラグF32に「０」を設定する（図２８の時刻ｔ３６を参照。）。
ステップ２７４０及びステップ２７５０：ＣＰＵ７１はクランクカウンタccrnkが２４０degであり且つ第１気筒用切替実行フラグF31の値が「０」であるか否かを判定し、この条件が満たされていなければステップ２７９５に進んで本ルーチンを一旦終了する。ＣＰＵ７１はこの条件が満たされていればステップ２７５０に進んで第３気筒用切替実行フラグF33に「０」を設定する（図２８の時刻ｔ３５を参照。）。
【０３０２】
気筒別変数の切替
次に、どのようにＣＰＵ７１が気筒別の変数を切り替えるかについて説明する。なお、以下に説明する制御においては、自着火運転においてもアシスト用の点火が実行される。
【０３０３】
ＣＰＵ７１は、図２９にフローチャートにより示した気筒別変数切替ルーチンを所定クランク角毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ２９００から処理を開始してステップ２９０５に進み、切替準備フラグF30及び第１気筒〜第３気筒用切替実行フラグF31〜F33の各値が総て「０」になっているか否かを判定する。
【０３０４】
この条件は、図２６の時刻ｔ２４以前及び図２８の時刻ｔ３６以降に示した状態であり、４サイクル火花点火運転が定常的になされているときに成立する。この条件が成立すると、ＣＰＵ７１はステップ２９０５にて「Ｙｅｓ」と判定してステップ２９１０〜ステップ２９２５に進んで以下の処理を行い、その後ステップ２９９５に進んで本ルーチンを一旦終了する。
【０３０５】
ステップ２９１０：ＣＰＵ７１は４サイクル火花点火運転用の変数（点火時期SA，噴射開始時期Ainj,燃料噴射量（燃料噴射時間）tau）の計算を行う。
ステップ２９１５：ステップ２９１０にて計算した４サイクル火花点火運転用の各変数を対応するテンポラリ変数（SAtmp,Ainjtmp,tautmp）にそれぞれ格納する。つまり、その後の制御（２サイクル自着火運転への移行制御）のため、一時的な変数としてＲＡＭ７３内に格納しておく。
ステップ２９２０：ＣＰＵ７１は点火時期SAを用いて点火を実行する。
ステップ２９２５：ＣＰＵ７１は噴射開始時期Ainj及び燃料噴射量（燃料噴射時間）tauを用いて燃料噴射を実行する。
以上により、４サイクル火花点火運転が行われる。
【０３０６】
一方、ステップ２９０５に示した条件が成立していないと、ＣＰＵ７１はステップ２９３０に進み、切替準備フラグF30の値が「１」であり且つ第１〜第３気筒用切替実行フラグF31〜F33の各値が総てが「１」となっていない（即ち、F31＝0又はF32＝0又はF33＝0）が成立しているか否かを判定する。
【０３０７】
この条件は、図２６の時刻ｔ２４〜時刻ｔ２７に示した状態であり、４サイクル火花点火運転から２サイクル自着火運転へと切り替えがなされるときに成立する。この条件が成立すると、ＣＰＵ７１はステップ２９３０にて「Ｙｅｓ」と判定してステップ２９３５に進み、２サイクル自着火運転用の変数（点火時期SA，噴射開始時期Ainj,燃料噴射量（燃料噴射時間）tau）の計算を行う。次いで、ＣＰＵ７１はステップ２９４０に進み、図３０に示した気筒別実行ルーチンＡ（４−２切替）をステップ３０００から実行する。
【０３０８】
ＣＰＵ７１は、ステップ３０００に続くステップ３００２にて、現時点が第１気筒の点火セットタイミング（例えば、第１気筒の上死点前６０deg）であるか否かを判定する。そして、現時点が第１気筒の点火セットタイミングであると、ＣＰＵ７１はステップ３００２にて「Ｙｅｓ」と判定してステップ３００４に進み、第１気筒用切替実行フラグF31の値が「１」であるか否かを判定する。
【０３０９】
図２６の時刻ｔ２４〜ｔ２５に示したように、第１気筒用切替実行フラグF31の値が「０」であれば、ＣＰＵ７１はステップ３００４にて「Ｎｏ」と判定してステップ３００８に進み、図２９のステップ２９１５においてテンポラリ変数SAtmpに格納しておいた４サイクル火花点火運転用の点火時期を点火時期SAにセットし、続くステップ３０１０にて第１気筒の点火を実行する。なお、この場合、７２０(deg)毎に実際に点火が行われるように点火時期SAをセットする。
【０３１０】
これに対し、図２６の時刻ｔ２５〜ｔ２７に示したように、第１気筒用切替実行フラグF31の値が「１」であれば、ＣＰＵ７１はステップ３００４にて「Ｙｅｓ」と判定してステップ３００６に進み、図２９のステップ２９３５にて計算しておいた２サイクル自着火運転用の点火時期SAを点火時期SAにセットする。そして、ＣＰＵ７１はステップ３０１０に進んで第１気筒の点火を実行する。なお、この場合、３６０(deg)毎に実際に点火が行われるように点火時期SAをセットする。
【０３１１】
ステップ３０１２〜ステップ３０２０のステップ群は、第２気筒用の点火時期制御のためのステップであって、ステップ３００２〜ステップ３０１０に示した第１気筒用の点火時期制御のためのステップと同様なステップ群である。ステップ３０１２〜ステップ３０２０に示したステップ群によれば、第２気筒の点火時期セットタイミング（例えば、第２気筒の上死点前６０deg）となったとき、第２気筒用切替実行フラグF32の値が「０」であればステップ３０１８に進み、図２９のステップ２９１５において４サイクル火花点火運転用のテンポラリ変数SAtmpに格納しておいた点火時期が点火時期SAにセットされ（図２６の時刻ｔ２４〜ｔ２７を参照。）、第２気筒用切替実行フラグF32の値が「１」であればステップ３０１６にて、先のステップ２９３５にて計算されている２サイクル自着火運転用の点火時期の変数SAが点火時期SAにセットされる（図２６の時刻ｔ２７の直後のみ。）。
【０３１２】
ステップ３０２２〜ステップ３０３０のステップ群は、第３気筒用の点火時期制御であって、ステップ３００２〜ステップ３０１０のステップ群による第１気筒用の点火時期制御と同様な処理を行うものである。
【０３１３】
また、ＣＰＵ７１はステップ３０３２に進んだとき、現時点が第１気筒の燃料噴射セットタイミング（例えば、第１気筒の上死点前３０deg）であるか否かを判定する。そして、現時点が第１気筒の燃料噴射セットタイミングであると、ＣＰＵ７１はステップ３０３４〜３０４０に示した以下の処理を実行し、ステップ３０９５に進んで本ルーチンを一旦終了する。
【０３１４】
ステップ３０３４：ＣＰＵ７１は第１気筒用切替実行フラグF31が「１」であるか否かを判定し、「１」であればステップ３０３６、「１」でなければステップ３０３８に進む。
ステップ３０３６：ＣＰＵ７１は、燃料噴射開始時期Ainj及び燃料噴射量（時間）tauに、図２９のステップ２９３５にて計算しておいた２サイクル自着火運転用の変数Ainj,tauをそれぞれ設定する。
ステップ３０３８：ＣＰＵ７１は、燃料噴射開始時期Ainj及び燃料噴射量（時間）tauに、図２９のステップ２９１５においてテンポラリ変数に格納しておいた４サイクル火花点火運転用の燃料噴射開示時期Ainjtmp及び燃料噴射量tautmpをセットする。
ステップ３０４０：燃料噴射開始時期Ainj及び燃料噴射量tauにしたがって第１気筒に対する燃料噴射を実行する。
【０３１５】
このように、第１気筒用切替実行フラグF31が「１」であれば２サイクル自着火運転用変数にしたがって第１気筒に対する燃料噴射が行われ、第１気筒用切替実行フラグF31が「０」であれば４サイクル火花点火運転用のテンポラリ変数にしたがって第１気筒に対する燃料噴射が行われる。なお、ＣＰＵ７１は、４サイクル火花点火運転か２サイクル自着火運転かを第１気筒用切替実行フラグF31により区別し、４サイクルであれば７２０(deg)毎に、２サイクルであれば３６０(deg)毎に実際に燃料噴射が行われるようにする。
【０３１６】
ステップ３０４２〜ステップ３０５０は第２気筒用の燃料噴射制御のためのステップ群であり、ステップ３０５２〜ステップ３０６０は第３気筒用の燃料噴射制御のためのステップ群であって、それぞれステップ３０３２〜ステップ３０４０のステップ群による第１気筒用の燃料噴射制御と同様な処理を行うものである。
【０３１７】
以上のように、切替準備フラグF30の値が「１」であり且つ第３気筒用切替実行フラグF31〜F33の各値が総て「１」となっていない場合、第ｎ気筒用切替実行フラグ（ｎは１、２又は３）が「１」であるとき２サイクル自着火運転用の変数にしたがって、「０」であるときテンポラリ変数として格納されている４サイクル火花点火運転用の変数にしたがって点火時期制御及び燃料噴射制御が実行される。
【０３１８】
ＣＰＵ７１は、更に、図２９のステップ２９０５及びステップ２９３０の条件が成立しないときステップ２９４５に進み、切替準備フラグF30の値が「０」であり且つ第１〜３気筒用切替実行フラグF31〜F33の各値が総て「０」となっていない（即ち、F31＝1又はF32＝1又はF33＝1）が成立しているか否かを判定する。
【０３１９】
この条件は、図２８の時刻ｔ３３〜時刻ｔ３６に示した状態であって、２サイクル自着火運転から４サイクル火花点火運転へと切り替えがなされるときに成立する。この条件が成立すると、ＣＰＵ７１はステップ２９４５にて「Ｙｅｓ」と判定してステップ２９５０に進み、４サイクル火花点火運転用の変数（点火時期SA，噴射開始時期Ainj,燃料噴射量（燃料噴射時間）tau）の計算を行う。次いで、ＣＰＵ７１はステップ２９５５に進み、図３１に示した気筒別実行ルーチンＢ（２−４切替）をステップ３１００から実行する。
【０３２０】
ステップ３１０２〜ステップ３１１０のステップ群、ステップ３１１２〜ステップ３１２０のステップ群及びステップ３１２２〜ステップ３１３０のステップ群は、それぞれ第１気筒用、第２気筒用及び第３気筒用の点火時期制御のためのステップ群である。また、ステップ３１３２〜ステップ３１４０のステップ群、ステップ３１４２〜ステップ３１５０のステップ群及びステップ３１５２〜ステップ３１６０ステップ群は、それぞれ第１気筒用、第２気筒用及び第３気筒用の燃料噴射制御のためのステップ群である。これらの各ステップ群は、互いに同一のプログラム構成をとるので、ステップ３１０２〜ステップ３１１０からなるステップ群を代表例として以下に説明する。
【０３２１】
ＣＰＵ７１は、ステップ３１０２にて現時点が第１気筒の点火セットタイミング（例えば、第１気筒の上死点前６０deg）であるか否かを判定する。そして、現時点が第１気筒の点火セットタイミングであると、ＣＰＵ７１はステップ３１０４〜ステップ３１１０により以下の処理を行う。
【０３２２】
ステップ３１０４：ＣＰＵ７１は第１気筒用切替実行フラグF31が「０」であるか否かを判定し、「０」であればステップ３１０６、「０」でなければステップ３１０８に進む。
ステップ３１０６：ＣＰＵ７１は、点火時期SAに、図２９のステップ２９５０にて計算しておいた４サイクル火花点火運転用の変数SAを設定する。
ステップ３１０８：ＣＰＵ７１は、点火時期SAに、後述する図２９のステップ２９６０においてテンポラリ変数SAtmpに格納しておいた２サイクル自着火運転用の点火時期を点火時期SAにセットする。
ステップ３１１０：ＣＰＵ７１は、点火時期SAにしたがって第１気筒に対する点火を実行する。
【０３２３】
このように、切替準備フラグF30の値が「０」であり且つ第１〜３気筒用切替実行フラグF31〜F33の各値が総て「０」となっていない場合、第ｎ気筒用切替実行フラグ（ｎは１、２又は３）が「０」であるときは４サイクル火花点火運転用の変数にしたがって、「１」であるときはテンポラリ変数として格納されている２サイクル自着火運転用の変数にしたがって点火時期制御及び燃料噴射制御が実行される。
【０３２４】
ＣＰＵ７１は、更に、図２９のステップ２９０５、ステップ２９３０及びステップ２９４５の条件が成立しないときステップ２９６０に進む。この状態は、図２６の時刻ｔ２７以降及び図２８の時刻ｔ３３以前に示した状態であり、２サイクル自着火運転が定常的に行われているときに成立する。そして、ＣＰＵ７１は、ステップ２９６０〜ステップ２９７５に進んで以下の処理を行い、その後ステップ２９９５に進んで本ルーチンを一旦終了する。
【０３２５】
ステップ２９６０：ＣＰＵ７１は２サイクル自着火運転用の変数（点火時期SA，噴射開始時期Ainj,燃料噴射量（燃料噴射時間）tau）の計算を行う。
ステップ２９６５：ステップ２９６０にて計算した２サイクル自着火運転用の各変数を対応するテンポラリ変数（SAtmp,Ainjtmp,tautmp）にそれぞれ格納する。
ステップ２９７０：ＣＰＵ７１は点火時期SAを用いて点火を実行する。
ステップ２９７５：ＣＰＵ７１は噴射開始時期Ainj及び燃料噴射量（燃料噴射時間）tauを用いて燃料噴射を実行する。
以上により、２サイクル自着火運転が行われる。
【０３２６】
図３２及び図３３は、以上に説明したサイクル切り替え実行方法（気筒別変数切替方法）による実際の切替状態を示した図である。図３２は４サイクル火花点火運転から２サイクル自着火運転へと切り替る場合を示し、図３３はその逆の場合を示している。なお、これらの図中において、鋸波状に変化する第１気筒のクランク角の波形の上に付された数字は混合気が燃焼している気筒の番号を示し、丸で囲まれた番号はその番号の気筒の混合気が４サイクル火花点火運転により燃焼されていることを示し、丸で囲まれていない番号はその番号の気筒の混合気が２サイクル自着火運転により燃焼されていることを示している。
【０３２７】
以上に説明した制御装置は、
前記４サイクル火花点火運転から２サイクル自着火運転へと運転を切り替えるサイクル切り替え要求の有無を前記機関の運転状態に基いて判定する切り替え要求判定手段（図５のルーチン）と、
前記切替要求が発生した場合（切替要求フラグXYQ42の「０」から「１」への変化があった場合）、
予め定められた特定気筒のクランク角が同特定気筒に対する所定のクランク角となったとき切替準備フラグF30を切替準備状態表示値（「１」）へと変更し、
前記切替準備フラグF30が前記切替準備状態表示値となっており、且つ、前記特定気筒のクランク角が前記特定気筒に対する所定のクランク角となったとき（例えば、特定気筒としての第１気筒のクランク角が０deg、即ち４サイクル運転の圧縮上死点となったとき）同特定気筒の運転を前記４サイクル火花運転から２サイクル自着火運転へと切り替えることを許可する特定気筒用の切替実行フラグF31の値を切替許可状態表示値（「１」）へと変更し、
前記特定気筒用の切替実行フラグF31の値が前記切替許可状態表示値となっており、且つ、前記特定気筒以外の気筒のクランク角が前記特定気筒以外に対する所定のクランク角となったとき（例えば、第３気筒のクランク角が０deg（圧縮上死点）、即ち、第１気筒のクランク角が２４０degとなったとき）同特定気筒以外の他の気筒（第３気筒）の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと切り替えることを許可する他気筒用の切替実行フラグの値F33を切替許可状態表示値（「１」）へと変更し、
前記切替実行フラグF31,F32が前記切替許可状態表示値（「１」）となっている気筒の運転を前記４サイクル火花運転から前記２サイクル自着火運転へと順次切り替える運転切替制御手段と、を備えていると言うことができる。
【０３２８】
これによれば、サイクル切り替え要求に応答して切替準備フラグが切替準備状態表示値となってから、実際に２サイクル自着火運転が特定気筒において開始されるまで、少なくとも１サイクル分（７２０deg）の時間を確保することができる。従って、制御装置は、この期間において２サイクル自着火運転用の制御量を計算しておくことができる（図２９のステップ２９３５を参照。）。また、特定の気筒（第１気筒）から２サイクル自着火運転への切り替えが常に実行されることになるので、制御の簡素化が図られる。更に、切替実行フラグF31〜F33の値を４サイクル運転の点火順序又は２サイクル運転の着火順序にしたがって切替許可状態へと変更しているので、多気筒機関の運転切り替えを確実に行うことができる。
【０３２９】
なお、上記のフラグ操作及びそれにより達成される機能は、「０」と「１」の論理が逆になるだけで、２サイクル自着火運転から４サイクル火花点火運転への切り替えにおいても同様である。
【０３３０】
以上、説明したように、本発明による制御装置は、少なくとも２サイクル自着火運転及び４サイクル火花点火運転の何れかで運転される内燃機関に適用され、２サイクル自着火運転と４サイクル火花点火運転との運転切替（サイクル切替）時に種々の制御を適切に行う。この結果、機関の発生トルクの変動が抑えられ、運転切替を滑らかに行うことができる。
【０３３１】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記内燃機関に、ターボチャージャを備えさせ、ターボチャージャによる過給をスーパーチャージャ４６による過給に代えて、又は、加えて行っても良い。この場合、ターボチャージャのタービンへ流入する排ガス量を調整する過給圧調整弁を設け、これにより吸気管圧力（過給圧）を制御してもよい。また、これらの過給機による過給圧が、機関の運転状態（例えば、アクセルペダル操作量Accp等の負荷とエンジン回転速度と）により定まる目標過給圧と一致するように、ＡＢＶ４５及び／又は過給圧調整弁を制御してもよい。
【図面の簡単な説明】
【０３３２】
【図１】本発明の実施形態に係る内燃機関が４サイクル火花点火運転中にあるときの吸気弁開弁時期、吸気弁閉弁時期及び燃料噴射時期を概念的に示した説明図である。
【図２】本発明の実施形態に係る内燃機関の制御装置を同内燃機関に適用したシステムの概略図である。
【図３】４サイクル火花点火運転から２サイクル自着火運転に切り替える際の各種制御量の変化を示したタイムチャートである。
【図４】図２に示したＣＰＵが実行する４サイクル火花点火運転時制御ルーチンを表すフローチャートである。
【図５】図２に示したＣＰＵが実行する運転状態切り替え要求判定ルーチンを表すフローチャートである。
【図６】図２に示したＣＰＵが実行する吸気弁遅閉じ補償制御ルーチンを表すフローチャートである。
【図７】図２に示したＣＰＵが実行するスーパーチャージャ用クラッチ制御ルーチンを表すフローチャートである。
【図８】図２に示したＣＰＵが実行する４−２切り替え時等トルク制御ルーチンを表すフローチャートである。
【図９】図２に示したＣＰＵが実行する４−２切替え時点火時期制御ルーチンを表すフローチャートである。
【図１０】図２に示したＣＰＵが実行する４−２切替え時噴射時期制御ルーチンを表すフローチャートである。
【図１１】図２に示したＣＰＵが実行する４−２切替え時スロットル弁制御ルーチンを表すフローチャートである。
【図１２】図２に示したＣＰＵが実行する４−２切替え時ＡＢＶ制御ルーチンを表すフローチャートである。
【図１３】図２に示したＣＰＵが４サイクル火花点火運転中に実行する４−２切替え時燃料噴射量制御ルーチンを表すフローチャートである。
【図１４】図２に示したＣＰＵが実行する４−２切替え時フラグ操作ルーチンを表すフローチャートである。
【図１５】図２に示したＣＰＵが２サイクル自着火運転中に実行する４−２切替え時燃料噴射量制御ルーチンを表すフローチャートである。
【図１６】２サイクル自着火運転から４サイクル火花点火運転に切り替える際の各種制御量の変化を示したタイムチャートである。
【図１７】図２に示したＣＰＵが実行する２サイクル自着火運転時制御ルーチンを表すフローチャートである。
【図１８】図２に示したＣＰＵが実行する２−４切替え時等トルク制御ルーチンを表すフローチャートである。
【図１９】図２に示したＣＰＵが実行する２−４切替え時点火時期制御ルーチンを表すフローチャートである。
【図２０】図２に示したＣＰＵが実行する２−４切替え時噴射時期制御ルーチンを表すフローチャートである。
【図２１】図２に示したＣＰＵが実行する２−４切替え時スロットル弁制御ルーチンを表すフローチャートである。
【図２２】図２に示したＣＰＵが実行する２−４切替え時ＡＢＶ制御ルーチンを表すフローチャートである。
【図２３】図２に示したＣＰＵが実行する２−４切替え時燃料噴射量制御ルーチンを表すフローチャートである。
【図２４】図２に示したＣＰＵが実行する２−４切り替え時フラグ操作ルーチンを表すフローチャートである。
【図２５】図２に示したＣＰＵが実行する切替フラグ操作ルーチン（４−２切替）を表すフローチャートである。
【図２６】４サイクル火花点火運転から２サイクル自着火運転に切り替える際の各フラグの変化を示したタイムチャートである。
【図２７】図２に示したＣＰＵが実行する切替フラグ操作ルーチン（２−４切替）を表すフローチャートである。
【図２８】２サイクル自着火運転から４サイクル火花点火運転に切り替える際の各フラグの変化を示したタイムチャートである。
【図２９】図２に示したＣＰＵが実行する気筒別変数切替ルーチンを表すフローチャートである。
【図３０】図２に示したＣＰＵが実行する気筒別実行ルーチン（４−２切替）を表すフローチャートである。
【図３１】図２に示したＣＰＵが実行する気筒別実行ルーチン（２−４切替）を表すフローチャートである。
【図３２】本制御装置により、４サイクル火花点火運転から２サイクル自着火運転へと切り替る場合の運転状態の変化の様子を表したタイムチャートである。
【図３３】本制御装置により、２サイクル自着火運転から４サイクル火花点火運転へと切り替る場合の運転状態の変化の様子を表したタイムチャートである。
【符号の説明】
【０３３３】
１０…内燃機関、２１…シリンダ、２２…ピストン、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３２ａ…吸気弁駆動機構、３３…排気ポート、３４…排気弁、３４ａ…排気弁駆動機構、３５…点火プラグ、３７…インジェクタ（燃料噴射手段）、４１…インテークマニホールド、４２…サージタンク、４３…吸気ダクト、４５…エアバイパスバルブ（ＡＢＶ）、４６…スーパーチャージャ（過給機）、４８…スロットル弁、６１…エアフローメータ、６５…吸気管圧力センサ、６６…吸気温度センサ、６７…アクセル開度センサ、７０…電気制御装置、７１…ＣＰＵ。
【図１】
2005282377.tif 000004
【図２】
2005282377.tif 000005
【図３】
2005282377.tif 000006
【図４】
2005282377.tif 000007
【図５】
2005282377.tif 000008
【図６】
2005282377.tif 000009
【図７】
2005282377.tif 000010
【図８】
2005282377.tif 000011
【図９】
2005282377.tif 000012
【図１０】
2005282377.tif 000013
【図１１】
2005282377.tif 000014
【図１２】
2005282377.tif 000015
【図１３】
2005282377.tif 000016
【図１４】
2005282377.tif 000017
【図１５】
2005282377.tif 000018
【図１６】
2005282377.tif 000019
【図１７】
2005282377.tif 000020
【図１８】
2005282377.tif 000021
【図１９】
2005282377.tif 000022
【図２０】
2005282377.tif 000023
【図２１】
2005282377.tif 000024
【図２２】
2005282377.tif 000025
【図２３】
2005282377.tif 000026
【図２４】
2005282377.tif 000027
【図２５】
2005282377.tif 000028
【図２６】
2005282377.tif 000029
【図２７】
2005282377.tif 000030
【図２８】
2005282377.tif 000031
【図２９】
2005282377.tif 000032
【図３０】
2005282377.tif 000033
【図３１】
2005282377.tif 000034
【図３２】
2005282377.tif 000035
【図３３】
2005282377.tif 000036