"筒内の混合気に火花を放電する点火プラグと、エンジンの振動を検出する振動センサと、上記点火プラグに内蔵され、筒内の燃焼に伴い生じるイオン電流を検出するイオン電流センサと、少なくともエンジンの温間時に、上記振動センサおよびイオン電流センサから入力される情報に基づいて、混合気が過早に自着火する現象であるプリイグニッションが発生しているか否かを判定し、発生している場合にはこれを回避するために所定の制御を実行する制御手段とを備えた火花点火式エンジンであって、上記制御手段は、エンジン回転速度が所定値未満の第1プリイグ領域での運転時に、上記点火プラグによる点火時期を圧縮上死点もしくはそれより後の膨張行程中に設定するとともに、少なくとも上記イオン電流センサからの入力情報に基づいてプリイグニッションの有無を判定し、エンジン回転速度が上記所定値以上の第2プリイグ領域での運転時に、上記点火プラグによる点火時期を圧縮上死点より前の圧縮行程中に設定するとともに、上記振動センサからの入力情報のみに基づいてプリイグニッションの有無を判定することを特徴とする火花点火式エンジン。請求項1記載の火花点火式エンジンにおいて、上記振動センサからの入力情報に基づいてプリイグニッションの有無を判定する制御として、上記制御手段は、上記振動センサから取得された振動強度の最大値が所定の閾値以上であるか否かを判定し、閾値以上である場合に、上記点火プラグによる点火時期を、圧縮上死点より前の通常の点火時期からリタードさせ、その点火リタード後に上記振動センサから取得された振動強度の最大値が上記閾値以上であれば、プリイグニッションが発生していると判定することを特徴とする火花点火式エンジン。請求項1または2記載の火花点火式エンジンにおいて、上記制御手段は、上記第1プリイグ領域での運転時に、上記イオン電流センサからの入力情報に基づきプリイグニッションが確認されなかった場合でも、上記振動センサからの入力情報に基づきプリイグニッションの有無を判定することを特徴とする火花点火式エンジン。請求項1~3のいずれか1項に記載の火花点火式エンジンにおいて、上記制御手段は、上記プリイグニッションの発生時にこれを回避するための所定の制御として、筒内の空燃比をリッチ化する制御、およびエンジンの有効圧縮比を低下させる制御の少なくとも一方を実行することを特徴とする火花点火式エンジン。請求項1~4のいずれか1項に記載の火花点火式エンジンにおいて、上記制御手段は、上記第1プリイグ領域での運転時に、プリイグニッションが発生しない限界の圧縮比であるプリイグ限界圧縮比を各種状態量から特定し、このプリイグ限界圧縮比から現状のエンジンの有効圧縮比を差し引いた余裕代が所定値未満であるか否かを判定し、所定値未満である場合には、余裕代が所定値以上となるように有効圧縮比を低下させるとともに、プリイグニッションが発生しているか否かの判定を実行することを特徴とする火花点火式エンジン。請求項1~5のいずれか1項に記載の火花点火式エンジンにおいて、上記点火プラグが、1気筒あたり複数設けられ、上記制御手段は、少なくとも上記第1プリイグ領域において、圧縮上死点よりも所定期間以上遅れたタイミングで上記複数の点火プラグから同時に火花を放電させることを特徴とする火花点火式エンジン。ここで、プリイグニッションの発生を検出するための手段として、イオン電流センサを用いることが考えられる。イオン電流センサとは、混合気の燃焼に伴い生じるイオン電流を検出するセンサであり、一般には点火プラグに内蔵されている。このタイププラグ内蔵型のイオン電流センサは、点火プラグの電極間に所定のバイアス電圧を印加することにより、上記電極周りに火炎が形成されたときに生じるイオン電流を検出するものである。上記プリイグニッションは、火花点火に基づく正常の燃焼開始時期よりも前に混合気が自着火してしまう現象であるから、上記イオン電流センサが点火時期よりも所定時間以上早くイオン電流を検出したときに、プリイグニッションが発生していると判定することができる。しかしながら、上記のようなプラグ内蔵型のイオン電流センサでは、火花点火のための放電期間中、点火プラグの電極間の電圧が大きく変動するため、たとえ混合気が燃焼していてもイオン電流センサを検出することができない。したがって、条件によっては、混合気の燃焼開始時期が点火時期よりもかなり早くよって圧縮上死点よりもかなり早くならないと、プリイグニッションが発生していると判定することができない場合がある。これでは、かなり重度に発展したプリイグニッションでないと検出できないことになり、エンジンの性能上好ましくない。本発明は、上記のような事情に鑑みてなされたものであり、プリイグニッションを検出するためのセンサを運転条件に応じて適正に使い分けることにより、プリイグニッションを精度よく検出することが可能な火花点火式エンジンを提供することを目的とする。上記課題を解決するためのものとして、本発明は、筒内の混合気に火花を放電する点火プラグと、エンジンの振動を検出する振動センサと、上記点火プラグに内蔵され、筒内の燃焼に伴い生じるイオン電流を検出するイオン電流センサと、少なくともエンジンの温間時に、上記振動センサおよびイオン電流センサから入力される情報に基づいて、混合気が過早に自着火する現象であるプリイグニッションが発生しているか否かを判定し、発生している場合にはこれを回避するために所定の制御を実行する制御手段とを備えた火花点火式エンジンであって、上記制御手段は、エンジン回転速度が所定値未満の第1プリイグ領域での運転時に、上記点火プラグによる点火時期を圧縮上死点もしくはそれより後の膨張行程中に設定するとともに、少なくとも上記イオン電流センサからの入力情報に基づいてプリイグニッションの有無を判定し、エンジン回転速度が上記所定値以上の第2プリイグ領域での運転時に、上記点火プラグによる点火時期を圧縮上死点より前の圧縮行程中に設定するとともに、上記振動センサからの入力情報のみに基づいてプリイグニッションの有無を判定することを特徴とするものである請求項1。本発明によれば、点火時期が圧縮上死点よりも前に設定され、しかも点火プラグの放電期間に対応するクランク角範囲が大きい高回転側の第2プリイグ領域で、点火プラグに内蔵されたプラグ内蔵型のイオン電流センサつまり放電期間中はイオン電流を検出できないセンサではなく、振動センサを用いてプリイグニッションを検出するようにしたため、上記放電期間とは関係なくプリイグニッションの有無を判定することができ、圧縮上死点のかなり手前から混合気が自着火するような重症化したプリイグニッションでなくても、これを確実に検出することができる。一方、点火時期が圧縮上死点以降に設定され、上記放電期間に対応するクランク角範囲が小さい低回転側の第1プリイグ領域では、イオン電流が検出不能となる上記放電期間の始まりが圧縮上死点の近傍に留まるため、例えば圧縮上死点の少し手前で混合気が自着火するようなそれほど重症化していないプリイグニッションの場合でも、そのときの燃焼開始時期をイオン電流センサによって適正に検出することができる。そこで、上記第1プリイグ領域では、イオン電流センサを用いてプリイグニッションを検出するようにした。これにより、混合気の燃焼開始時期火炎の発生タイミングを直接的に特定しながら、プリイグニッションを迅速かつ精度よく判定することができる。本発明において、好ましくは、上記振動センサからの入力情報に基づいてプリイグニッションの有無を判定する制御として、上記制御手段は、上記振動センサから取得された振動強度の最大値が所定の閾値以上であるか否かを判定し、閾値以上である場合に、上記点火プラグによる点火時期を、圧縮上死点より前の通常の点火時期からリタードさせ、その点火リタード後に上記振動センサから取得された振動強度の最大値が上記閾値以上であれば、プリイグニッションが発生していると判定する請求項2。このように、点火時期をリタードさせながら、振動センサを用いて振動強度の最大値を調べるようにした場合には、それ程発展していないプリイグニッションであっても、これをノッキングと区別しながら確実に検出することができる。本発明において、好ましくは、上記制御手段は、上記第1プリイグ領域での運転時に、上記イオン電流センサからの入力情報に基づきプリイグニッションが確認されなかった場合でも、上記振動センサからの入力情報に基づきプリイグニッションの有無を判定する請求項3。この構成によれば、最もプリイグニッションが発生し易い上記第1プリイグ領域で、イオン電流センサおよび振動センサの双方を用いてより確実にプリイグニッションを検出することができる。本発明において、好ましくは、上記制御手段は、上記プリイグニッションの発生時にこれを回避するための所定の制御として、筒内の空燃比をリッチ化する制御、およびエンジンの有効圧縮比を低下させる制御の少なくとも一方を実行する請求項4。この構成によれば、空燃比をリッチ化して燃料の気化潜熱による冷却効果を高めるか、もしくは有効圧縮比を低下させて圧縮端圧力圧縮上死点付近での筒内圧力を低下させることにより、プリイグニッションを効果的に抑制することができる。本発明において、好ましくは、上記制御手段は、上記第1プリイグ領域での運転時に、プリイグニッションが発生しない限界の圧縮比であるプリイグ限界圧縮比を各種状態量から特定し、このプリイグ限界圧縮比から現状のエンジンの有効圧縮比を差し引いた余裕代が所定値未満であるか否かを判定し、所定値未満である場合には、余裕代が所定値以上となるように有効圧縮比を低下させるとともに、プリイグニッションが発生しているか否かの判定を実行する請求項5。この構成によれば、最もプリイグニッションが発生し易い第1プリイグ領域において、エンジンの有効圧縮比をプリイグニッションが起きないような圧縮比に常に調整することにより、上記第1プリイグ領域でのプリイグニッションの発生を未然に抑制することができる。本発明において、好ましくは、上記点火プラグが、1気筒あたり複数設けられ、上記制御手段は、少なくとも上記第1プリイグ領域において、圧縮上死点よりも所定期間以上遅れたタイミングで上記複数の点火プラグから同時に火花を放電させる請求項6。この構成によれば、混合気の急速燃焼が可能になるため、熱効率やエンジントルクの低下を最小限に抑えながら、第1プリイグ領域での点火時期を大幅にリタードさせることができる。点火時期が大幅にリタードされると、点火プラグの放電期間イオン電流の検出不能期間がより遅角側にずれるため、イオン電流センサによるプリイグニッションの検出精度がより向上する。以上説明したように、本発明の火花点火式エンジンによれば、プリイグニッションを検出するためのセンサを運転条件に応じて適正に使い分けることにより、プリイグニッションを精度よく検出することができる。1エンジンの全体構成図1は、本発明の一実施形態にかかるエンジンの全体構成を示す図である。本図に示されるエンジンは、ガソリンを燃料とする火花点火式の多気筒ガソリンエンジンであり、紙面に直交する方向に並ぶ複数の気筒2図中ではそのうちの1つのみを示すを有するシリンダブロック3と、シリンダブロック3上に設けられたシリンダヘッド4とを含むエンジン本体1を有している。また、このエンジンは、車載用エンジンであり、車両を駆動するための動力源として図外のエンジンルームに配設されている。上記エンジン本体1の各気筒2には、ピストン5が往復摺動可能に挿入されている。ピストン5はコネクティングロッド8を介してクランク軸7と連結されており、上記ピストン5の往復運動に応じて上記クランク軸7が中心軸回りに回転するようになっている。上記ピストン5の上方には燃焼室6が形成され、燃焼室6に吸気ポート9および排気ポート10が開口し、各ポート9,10を開閉する吸気弁11および排気弁12が、上記シリンダヘッド4にそれぞれ設けられている。吸気弁11および排気弁12は、それぞれ、シリンダヘッド4に配設された一対のカムシャフト図示省略等を含む動弁機構13,14によりクランク軸7の回転に連動して開閉駆動される。上記吸気弁11用の動弁機構13には、VVT15が組み込まれている。VVT15は、可変バルブタイミング機構VariableValveTimingMechanismと呼ばれるものであり、吸気弁11の動作タイミングを可変的に設定するための可変機構である。上記VVT15としては、既に様々な形式のものが実用化されて公知であるが、例えば、液圧式の可変機構を上記VVT15として用いることができる。なお、図示は省略するが、この液圧式の可変機構は、吸気弁11用のカムシャフトに対し同軸に配置された被駆動軸と、カムシャフトと被駆動軸の間に周方向に並ぶように配置された複数の液室とを有しており、これら各液室間に所定の圧力差が形成されることにより、上記カムシャフトと被駆動軸との間に位相差が形成されるようになっている。そして、この位相差が所定の角度範囲内で可変的に設定されることにより、吸気弁11の動作タイミングが連続的に変更されるようになっている。なお、上記VVT15として、バルブリフト量を変更することにより吸気弁11の閉時期を変更するタイプの可変機構を設けてもよい。また、このようなリフト式の可変機構と、上述した位相式の可変機構とを組み合わせて用いてもよい。上記エンジン本体1のシリンダヘッド4には、点火プラグ16およびインジェクタ18が、各気筒2につき1組ずつ設けられている。上記インジェクタ18は、燃焼室6を吸気側の側方から臨むように設けられており、図外の燃料供給管から供給される燃料ガソリンを先端部から噴射する。そして、エンジンの吸気行程等において上記インジェクタ18から燃焼室6に対し燃料が噴射され、噴射された燃料が空気と混合されることにより、燃焼室6に所望の空燃比の混合気が生成されるようになっている。上記点火プラグ16は、燃焼室6を上方から臨むように設けられており、図外の点火回路からの給電に応じて先端部から火花を放電する。そして、圧縮上死点圧縮行程と膨張行程の間の上死点の前後に設定された所定のタイミングで上記点火プラグ16から火花が放電され、これをきっかけに混合気の燃焼が開始されるようになっている。上記シリンダブロック3には、上記クランク軸7の回転速度をエンジンの回転速度として検出するエンジン回転速度センサ30が設けられている。また、上記シリンダブロック3には、シリンダブロック3の振動を検出する振動センサ34が設けられている。この振動センサ34による検出値は、エンジンに生じている異常燃焼を検出するために利用される。具体的に、当実施形態では、上記振動センサ34の検出値に基づいて、ノッキングおよびプリイグニッションという2種類の異常燃焼をそれぞれ検出するようにしている。ここで、ノッキングとは、火花点火をきっかけに混合気が燃焼火炎伝播燃焼を開始した後、その火炎が伝播していく過程で、混合気の未燃分エンドガスが自着火してしまう現象である。一方、プリイグニッションとは、火花点火をきっかけにした正常の燃焼開始時期よりも前につまり火花点火とは関係なく、混合気が自着火してしまう現象である。ノッキングまたはプリイグニッションが発生すると、急激な燃焼圧力の変動等に起因して、シリンダブロック3に比較的大きな振動が発生するため、当実施形態では、このようなシリンダブロック3の振動を上記振動センサ34の検出値に基づき調べることにより、ノッキングまたはプリイグニッションを検出するようにしている。上記点火プラグ16には、燃焼室6での混合気の燃焼に伴う火炎を検出するためのイオン電流センサ35が内蔵されている。このイオン電流センサ35は、図2に示すように、点火プラグ16の電極に所定のバイアス電圧例えば100V程度を印加することにより、上記電極周りに火炎が形成されたときに生じるイオン電流を検出するものである。上記イオン電流センサ35を用いて火炎を検出することにより、上記振動センサ34と同じく、プリイグニッションの発生を検出することができる。すなわち、火花点火に基づく火炎伝播により混合気を燃焼させる場合、正常な燃焼状態であれば、火花点火のタイミングから所定の遅れ時間の後に燃焼が開始されるが、プリイグニッションが発生した場合には、火花点火とは関係なく混合気が早期に自着火するため、上記のような正常の燃焼開始時期火花点火から所定の遅れ時間が経過した時点よりも前に燃焼が始まってしまう。そこで、上記イオン電流センサ35により火炎を検出し、その検出タイミング火炎の発生タイミングが正常な燃焼開始時期に比べて早過ぎる場合に、プリイグニッションが発生したと判定する。このように、当実施形態では、プリイグニッションを検出するための検出手段として、イオン電流センサ35と振動センサ34の2種類のセンサを設けている。ただし、上記イオン電流センサ35を用いて検出できるのは、プリイグニッションだけであって、ノッキングは検出することができない。すなわち、ノッキングとは、上述したように、火花点火をきっかけに一旦火炎が発生した後、その伝播の過程で混合気の未燃分エンドガスが自着火してしまう現象であるため、ノッキングが発生しても火炎の発生時期は通常と変わらず、イオン電流センサ35により火炎の発生タイミングを調べたとしても、ノッキングの発生の有無を特定することはできない。このため、ノッキングを検出する際には、振動センサ34の検出値のみが利用され、イオン電流センサ35は用いられない。再び図1に戻って、エンジンの全体構成について説明する。上記エンジン本体1のシリンダブロック3やシリンダヘッド4の内部には、冷却水が流通するウォータジャケット図示省略が設けられており、このウォータジャケット内の冷却水の温度を検出するためのエンジン水温センサ31が、上記シリンダブロック3に設けられている。上記エンジン本体1の吸気ポート9および排気ポート10には、吸気通路20および排気通路21がそれぞれ接続されている。すなわち、燃焼用の空気新気が上記吸気通路20を通じて燃焼室6に供給されるとともに、燃焼室6で生成された既燃ガス排気ガスが上記排気通路21を通じて外部に排出されるようになっている。上記吸気通路20には、エンジン本体1に流入する吸入空気の流量を調節するスロットル弁22と、吸入空気の流量を検出するエアフローセンサ32と、吸入空気の温度を検出する吸気温センサ33とが設けられている。また、上記エンジン本体1が配設される車両のエンジンルーム内には、大気圧を検出するための大気圧センサ37図3が設けられている。上記スロットル弁22は、電子制御式のスロットル弁からなり、運転者により踏み込み操作される図外のアクセルペダルの開度に応じて電気的に開閉駆動される。すなわち、上記アクセルペダルにはアクセル開度センサ36図3が設けられており、このアクセル開度センサ32により検出されたアクセルペダルの開度アクセル開度に応じて、図外の電気式のアクチュエータがスロットル弁22を開閉駆動するように構成されている。上記排気通路21には、排気ガス浄化用の触媒コンバータ23が設けられている。触媒コンバータ23には例えば三元触媒が内蔵されており、排気通路21を通過する排気ガス中の有害成分が上記三元触媒の作用により浄化されるようになっている。2制御系図3は、エンジンの制御系を示すブロック図である。本図に示されるECU40は、エンジンの各部を統括的に制御するための制御手段であり、周知のCPU、ROM、RAM等から構成されている。上記ECU40には、各種センサ類からの検出信号が入力される。すなわち、ECU40は、上記エンジン回転速度センサ30、エンジン水温センサ31、エアフローセンサ32、吸気温センサ33、振動センサ34、イオン電流センサ35、アクセル開度センサ36、および大気圧センサ37と電気的に接続されており、これら各センサ30~37による検出値として、エンジン回転速度Ne、エンジンの冷却水温エンジン水温Tw、吸入空気量Qa、吸気温Ta、振動強度加速度Va、イオン電流値Io、アクセル開度AC、および大気圧Paといった情報が、上記ECU40に逐次入力されるようになっている。また、上記ECU40は、上記VVT15、点火プラグ16、インジェクタ18、およびスロットル弁22とも電気的に接続されており、これらの装置にそれぞれ駆動用の制御信号を出力するように構成されている。上記ECU40が有するより具体的な機能について説明すると、上記ECU40は、その主な機能的要素として、記憶手段41、プリイグ判定手段42、点火制御手段43、噴射制御手段44、吸気制御手段45、および圧縮比制御手段46を有している。上記記憶手段41は、エンジンを制御する際に必要な各種データやプログラムを記憶するものである。その一例として、上記記憶手段41には、図4に示される領域判定マップが記憶されている。この図4の領域判定マップは、横軸をエンジン回転速度Ne、縦軸を負荷Ceとしたときの2次元領域を、プリイグニッションの発生し易さの点から複数の領域に分割したものである。なお、図中のWOTは、エンジンの最高負荷ラインを示している。上記図4の領域判定マップには、プリイグニッションが比較的起き易い領域であるプリイグ領域Rが設定されている。すなわち、プリイグニッションは、火花点火による正常の燃焼開始時期よりも前に混合気が自着火する現象であるから、燃焼室6内の空気が高温高圧化し易い高負荷寄りの運転領域で、比較的プリイグニッションが発生し易い。そこで、図4では、エンジンの最高負荷ラインWOTから下側の所定範囲を、上記プリイグ領域Rとして設定している。上記プリイグ領域Rは、さらに、所定のエンジン回転速度Nex例えば2000rpm程度を境に、第1プリイグ領域R1と、第2プリイグ領域R2とに分けられる。これら各領域R1,R2では、プリイグニッションを引き起す主な原因が異なる。例えば、低回転側に設定された第1プリイグ領域R1でのプリイグニッションは、圧縮により高温高圧化した燃焼室6内の空気から比較的長い期間にわたって燃料が受熱することで引き起こされる。これに対し、第1プリイグ領域R1よりも高回転側に設定された第2プリイグ領域R2では、燃焼室6内の空気から燃料への受熱期間が短くなるため、本来、プリイグニッションは起こり難くなると考えられる。しかしながら、回転速度Neが高いと単位時間あたりの熱発生量が増えるため、ごく稀に、排気弁12の傘部や点火プラグ16の電極等が異常に高温化することがあり、これが熱源ヒートポイントとして作用することで、プリイグニッションが引き起こされることがあり得る。なお、エンジンが冷間状態にあるときエンジンの冷却水温が低いときは、燃焼室6の壁温が低いため、エンジンの高負荷域であっても、そもそもプリイグニッションは起こり得ない。このため、上記のようなプリイグ領域R第1第2プリイグ領域R1,R2を含む領域判定マップが使用されるのは、エンジンの温間時エンジンの冷却水温が高いときのみである。また、上記記憶手段41には、図5に示すように、プリイグニッションが発生しない限界の圧縮比であるプリイグ限界圧縮比εpのデータが記憶されている。このプリイグ限界圧縮比εpのデータは、図4に示した第1プリイグ領域R1での運転時に使用されるもので、この第1プリイグ領域R1では、エンジンの回転速度Neおよび負荷Ceごとに予め定められた上記プリイグ限界圧縮比εpに対し、所定値以上の余裕代が確保されるように、エンジンの有効圧縮比吸気弁11の閉時期に基づく実質的な圧縮比が制御される。なお、有効圧縮比の制御は、後述する圧縮比制御手段46によってなされる。具体的に、上記プリイグ限界圧縮比εpは、プリイグニッションの発生し易さを左右する各種状態量プリイグ関連パラメータに基づき定められる。このプリイグ関連パラメータとして、当実施形態では、上記エンジン水温センサ31により検出される冷却水の温度エンジン水温Tw、吸気温センサ33により検出される吸入空気の温度吸気温Ta、および大気圧センサ37により検出される大気圧Paを用いる。エンジン水温Tw、吸気温Ta、大気圧Paは、そのいずれの値が高くても、プリイグニッションが発生し易くなる。図5では、このようなプリイグニッションの発生し易さを左右する状態量をプリイグ関連パラメータとしており、横軸の右側ほどプリイグ関連パラメータが大きいつまりプリイグニッションが起き易いものとしている。上記のように、プリイグ関連パラメータエンジン水温Tw、吸気温Ta、大気圧Paが大きいほどプリイグニッションは起き易くなるから、プリイグニッションが発生しない限界の圧縮比である上記プリイグ限界圧縮比εpは、プリイグ関連パラメータが大きいほど低くなり、図5のラインLのような右下がりのプロフィールをとる。このようなデータは、上記第1プリイグ領域R1内の各条件回転速度Neおよび負荷Ceごとに、実験等によって予め求められ、上記記憶手段41に記憶されている。上記プリイグ判定手段42は、上記振動センサ34またはイオン電流センサ35の検出値に基づいて、プリイグニッションの発生の有無を判定するものである。具体的に、上記プリイグ判定手段42は、エンジンが上記第1プリイグ領域R1で運転されている場合に、イオン電流センサ35の検出値イオン電流値Ioに基づき火炎の発生タイミングを特定し、これを正常な燃焼開始時期と比較することで、プリイグニッションが発生しているか否かを判定する。一方、第2プリイグ領域R2で運転されている場合には、上記振動センサ34の検出値振動強度Vaに基づいて振動強度の最大値を調べ、それによってプリイグニッションの発生の有無を判定する詳細は後述する項目3参照。上記点火制御手段43は、エンジンの運転状態に応じ予め定められた所定のタイミングで点火プラグ16の点火回路に給電信号を出力することにより、上記点火プラグ16が火花点火を行うタイミング点火時期等を制御するものである。例えば、エンジンが第1プリイグ領域R1で運転されているとき、上記点火制御手段43は、圧縮上死点よりも少し遅れてから混合気の燃焼が始まるようなタイミングに点火時期を設定する。これは、ノッキングの発生を未然に抑制するための措置である。すなわち、エンジン回転速度Neが低く負荷Ceの高い第1プリイグ領域R1では、プイリグニッションだけでなく、ノッキングも起こり易いことから、このノッキングの発生を未然に抑制するために、点火時期を遅めに設定して、圧縮上死点を過ぎてから燃焼が開始されるようにする。このように、圧縮上死点を過ぎた遅めのタイミングつまり筒内温度圧力がより低下した状態でで燃焼を開始させるようにすれば、その後の燃焼過程において、未燃混合気エンドガスの自着火が起き難くなり、ノッキングが抑制される。一方、上記第1プリイグ領域R1よりも回転速度Neが高い第2プリイグ領域R2でエンジンが運転されているとき、上記点火制御手段43は、圧縮上死点より少し早くから混合気の燃焼が始まるようなタイミングに点火時期を設定する。これは、高回転側では、燃焼途中における未燃混合気エンドガスの自着火が起き難くなり、ノッキングが抑制されることに加えて、火花点火を行ってから、その火花点火をきっかけに混合気が火炎伝播燃焼を開始するまでの実時間着火遅れ時間に対応するクランク角の変化量、つまり火花点火を行った時点のクランク角と着火遅れ時間が経過した時点のクランク角との差が大きいからである。具体的に、上記第1第2プリイグ領域R1,R2において、それぞれ上述したような所望のタイミングで混合気の燃焼を開始させるために、上記点火制御手段43は、第1プリイグ領域R1での点火時期を圧縮上死点以降例えばATDC0~5°CA程度に設定するとともに、第2プリイグ領域R2での点火時期を圧縮上死点より手前例えばBTDC20~1°CA程度に設定する。上記噴射制御手段44は、上記インジェクタ18から燃焼室6に噴射される燃料の噴射量や噴射時期を制御するものである。より具体的に、上記インジェクタ制御手段44は、エンジン回転速度センサ30から入力されるエンジン回転速度Neやエアフローセンサ31から入力される吸入空気量Qa等の情報に基づいて、目標とする燃料の噴射量および噴射時期を演算し、その演算結果に基づいてインジェクタ18の開弁開始時期および開弁期間を制御する。上記吸気制御手段45は、上記スロットル弁22の開度を調節することにより、筒内に導入される空気の量吸入空気量Qaを制御するものである。上記圧縮比制御手段46は、上記VVT15を駆動して吸気弁11の閉時期を変更することにより、エンジンの有効圧縮比を可変的に設定するものである。すなわち、吸気弁11の閉時期は、通常、吸気下死点の遅角側の近傍吸気下死点を少し過ぎたタイミングに設定されており、このようなタイミングに上記閉時期が設定されることで、一旦吸入された空気が吸気ポート9にほとんど吹き返されることがなく、エンジンの実質的な圧縮比有効圧縮比が幾何学的圧縮比とほぼ同じ値に維持される。これに対し、吸気弁11の閉時期が吸気下死点よりも大幅に遅く設定された場合には、エンジンの有効圧縮比が低下し、吸気の吹き返しが起きるようになる。上記圧縮比制御手段45は、VVT15を駆動して上記吸気弁11の閉時期のリタード量遅角量を増減させることにより、エンジンの有効圧縮比を可変的に設定する。3プリイグニッションの判定手法次に、上記プリイグ判定手段42がプリイグニッションの発生を判定する際のより具体的な手順について説明する。まず、イオン電流センサ35を用いたプリイグニッションの検出について説明する。イオン電流センサ35によるプリイグニッションの検出は、プリイグニッションが起きる可能性のあるプリイグ領域Rのうち、低回転側の第1プリイグ領域R1でのみ行われ、高回転側の第2プリイグ領域R2では行われない。図6は、第1プリイグ領域R1でプリイグニッションを検出する手順を説明するための図である。本図において、実線の波形J0は、火花点火IGをきっかけに混合気が正常に燃焼した場合の熱発生率の分布時間変化を示している。この正常燃焼時の波形J0において、イオン電流センサ35で火炎を検出できる程度まで燃焼が進行した時点実質的な燃焼開始時期をt0とすると、この時点t0は、火花点火IGの時点よりも所定のクランク角分だけ遅くなる。ここで、第1プリイグ領域R1では、上述したように、点火プラグ16による火花点火IGのタイミング点火時期が、圧縮上死点TDC以降に設定される。よって、この火花点火IGをきっかけに混合気が正常に火炎伝播燃焼したとすると、そのときの燃焼開始時期t0は、圧縮上死点からさらに遅角側にずれたタイミングとなる。これに対し、第1プリイグ領域R1でプリイグニッションが発生したときの熱発生率の分布は、1点鎖線の波形J1のようになる。このJ1の波形からも明らかなように、プリイグニッションが起きると、火花点火IGとは関係なく混合気が自着火するため、例えば図中の時点t1のような火花点火IGよりも早いタイミングで燃焼が始まるようになり、これに伴って燃焼が急峻化する。一方、図6においてドット柄を付した期間、つまり火花点火IGの直前から火花点火IGより後の所定期間は、火花点火IGを行うために点火プラグ16の電極間の電圧が大きく変動する期間放電期間である。図6の例では、圧縮上死点TDCにほぼ一致するタイミングから所定期間に亘って放電期間が継続しており、この放電期間中は、イオン電流を検出することができない。すなわち、当実施形態では、点火プラグ16に内蔵されたプラグ内蔵型のイオン電流センサ35を用いているため、点火プラグ16の電圧が大きく変動する放電期間中は、たとえ筒内に火炎が形成されたとしても、これをイオン電流として検出することが不可能となる。逆にいえば、この点火プラグ16の放電期間よりも進角側、より具体的には、放電期間の始まりにほぼ一致する圧縮上死点TDCよりも進角側であれば、火炎発生時のイオン電流を検出することができる。そこで、当実施形態では、第1プイリグ領域R1において、圧縮上死点TDCよりも進角側でイオン電流が検出された場合に、プリイグニッションが起きていると判断し、必要な措置を講ずるようにする。一方、第1プリイグ領域R1よりも高回転側の第2プリイグ領域R2では、火花点火IGのタイミングが圧縮上死点TDCよりも進角側に設定され、しかも同一の時間に対するクランク角の変化量が大きいため、図7に示すように、圧縮上死点よりもかなり進角側まで放電期間が拡大する。このため、同図の波形J1に示すように、火花点火IGよりも早くから混合気が自着火するプリイグニッションが起きたとしても、それによる火炎の発生時期時点t1が上記放電期間と重複してしまい、上記火炎の発生をイオン電流として検出することができなくなる。図7の波形J1’のように、プリイグニッションがさらに発展すれば、それに伴う火炎の発生時点t1’をイオン電流として検出することも可能であるが、上記波形J1’のような燃焼波形が生じるということは、かなり重度なプリイグニッションにまで発展しているということであり、ここまで重症化しないとプリイグニッションが検出できないのであれば、イオン電流センサ35を用いる意味がなくなってしまう。このため、当実施形態では、点火時期が圧縮上死点より前に設定される高回転側の第2プリイグ領域R2において、イオン電流センサ35を用いてのプリイグニッションの検出を行わないようにしている。第2プリイグ領域R2では、イオン電流センサ35ではなく、後述する振動センサ34を用いてプリイグニッションを検出する。次に、上記第2プリイグ領域R2で、振動センサ34を用いてプリイグニッションを検出する際の手順について説明する。図8は、プリイグニッションが発生したときの筒内圧力の変化波形Ppを、ノッキングが発生したときの筒内圧力の変化波形Pnと比較して示す図である。上記波形Ppを見ると明らかなように、プリイグニッションが発生した場合には、圧縮上死点の近傍で筒内圧力が大きく上昇するとともに、上昇した圧力が比較的短い期間で収束している。これに対し、ノッキングが発生した場合には、波形Pnに示すように、筒内圧力が急上昇する波形の山部が、プリイグニッションのときよりも遅角側に大きくずれた位置で発生している。すなわち、ノッキングは、火炎伝播による燃焼がある程度進行した時点で、残りの未燃混合気エンドガスが自着火する現象であるため、その自着火による圧力の急上昇が、燃焼過程の終盤で発生することとなり、波形の山部がより遅角側にずれることになる。図9および図10は、プリイグニッションまたはノッキングが発生し、図8に示したような筒内圧力の変化が生じたときに、振動センサ34からどのような振動波形が入力されるかを示している。なお、ここでの振動波形は、上記振動センサ34から入力される振動強度加速度Vaを縦軸に、クランク角CAを横軸にとったものであり、クランク角CAの進行に伴う振動強度Vaの変化を示している。図9および図10の波形を比較すると、プリイグニッション発生時の振動波形図9の方が、ノッキング発生時の振動波形図10と比べて、検出される振動強度Vaの最大値Vmax以下、最大振動強度Vmaxと略称するが大きく、しかもその検出時期が早いことが分かる。これは、図8に示したようなある程度発展したプリイグニッションが起きた場合、ノッキングの場合と比較して、筒内圧力が最も急変する部分波形のピーク部分の変動幅が大きく、しかもそれがかなり進角側圧縮上死点付近で生じているためと考えられる。このように、プリイグニッションがある程度発展した場合には、検出される最大振動強度Vmaxやその検出時期に、比較的明確な特徴が見出されることが分かる。しかしながら、プリイグニッションが十分に発展していない場合には、最大振動強度Vmaxやその検出時期が、ノッキングの場合と大きく変わらないため、単に振動強度Vaの波形を調べただけでは、プリイグニッションとノッキングとを明確に区別して検出できないおそれがある。そこで、当実施形態では、上記第2プリイグ領域R2において振動センサ34から所定の閾値以上の最大振動強度Vmaxが入力され、プリイグニッションまたはノッキングの発生が疑われるような場合に、両者を判別すべく、意図的に点火時期をリタード遅角側に移動させるとともに、その後の最大振動強度Vmaxの変化に基づいて、プリイグニッションまたはノッキングのいずれであるのかを判別するようにしている。具体的に、上記第2プリイグ領域R2では、通常時において、点火時期が圧縮上死点よりも少し早いタイミング例えばBTDC20~1°程度に設定されるが図7参照、上記振動センサ34から所定の閾値以上の最大振動強度Vmaxが入力された場合には、点火時期が上記タイミングに対し所定量リタードされることにより、圧縮上死点の近傍もしくは圧縮上死点よりも遅れたタイミングで火花点火IGが行われるようになる。そして、このような点火時期のリタードに伴い、最大振動強度Vmaxがどのように変化するかが上記プリイグ判定手段42により調べられ、それによってプリイグニッションまたはノッキングのいずれが発生しているのかが判別される。例えば、ノッキングが発生している場合には、上記のように点火時期がリタードされることで、圧縮上死点よりも遅角側でつまり筒内温度圧力がより低下した状態で燃焼が開始されるようになるため、その後の燃焼過程において、未燃混合気エンドガスの自着火は起き難くなる。したがって、ノッキングの発生中に点火時期をリタードさせれば、ノッキングの程度が縮小するとともに、その発生時期が遅れることになる。すると、これに応じて、上記振動センサ34により検出される最大振動強度Vmaxの大きさが低下し、かつ、その検出時期が遅れるという現象が見られる。図9の×マークは、ノッキング発生時に点火時期を徐々にリタードさせることで、上記振動センサ34により検出される最大振動強度Vmaxがどのように変化するかを示している。本図によれば、点火時期のリタードに伴って、最大振動強度Vmaxのプロット×マークが、徐々に右下の方向に移動している。すなわち、点火時期のリタードに伴い、最大振動強度Vmaxの大きさが徐々に低下するとともに、このVmaxが検出された時点のクランク角が徐々に遅角側にずれていくことが分かる。なお、図9における縦軸の値Xは、点火時期をリタードさせるか否かを決定するための閾値であり、この閾値X以上の最大振動強度Vmaxが検出されたときに、点火時期のリタードが行われるようになっている。上記のように、点火時期をリタードさせることで、ノッキングを抑制することは可能であるが、プリイグニッションが発生している場合には、点火時期とは関係なく混合気が自着火するため、点火時期をリタードさせても、依然として自着火は発生し、プリイグニッションは抑制されない。むしろ、時間経過とともにプリイグニッションは徐々に発展していき、それに伴って燃焼開始時期の過早化と燃焼の急峻化を招くことになる。図11において、プリイグニッション発生時の最大振動強度Vmaxを示す△マークが、徐々に左上の方向に移動しているのはこのためである。すなわち、プリイグニッションの発生時には、点火時期の遅角化とは関係なく、最大振動強度Vmaxの大きさが時間経過とともに徐々に増大し、しかもその検出時期が進角していく。以上のことから、プリイグニッションが発生している場合には、点火時期をリタードさせても、最大振動強度Vmaxの増大およびその検出時期の進角化が見られ、ノッキングの発生時には、点火時期のリタードに伴い、最大振動強度Vmaxの低下およびその検出時期の遅角化が見られることが分かる。そこで、当実施形態では、点火時期のリタードに伴う最大振動強度Vmaxの変化ここでは特にその大きさの変化に着目するに基づいて、プリイグニッションまたはノッキングのいずれが発生しているのかを判別するようにしている。これにより、振動センサ34を用いながらも、プリイグニッションかノッキングかを正確に判別することができる。4制御動作次に、以上のような機能を有するECU40による制御動作について、図12~図15のフローチャートに基づき説明する。なお、ここでは、プリイグニッションの検出、およびそれが検出されたときの回避動作を中心に説明する。図12のフローチャートに示す処理がスタートすると、まず、各種センサ値を読み込む制御が実行されるステップS1。具体的には、上記エンジン回転速度センサ30、エンジン水温センサ31、エアフローセンサ32、吸気温センサ33、振動センサ34、イオン電流センサ35、アクセル開度センサ36、および大気圧センサ37から、それぞれ、エンジン回転速度Ne、エンジン水温Tw、吸入空気量Qa、吸気温Ta、振動強度Va、イオン電流値Io、アクセル開度AC、および大気圧Paが読み出され、ECU40に入力される。次いで、上記ステップS1で読み込まれたエンジン水温Twが所定の閾値例えば80°C以上か否かに基づいて、エンジンが温間状態にあるか否かが判定されるステップS2。上記ステップS2でYESと判定されて温間状態であることが確認された場合には、さらに、現在のエンジンの運転ポイントエンジンの回転速度Neおよび負荷Ceが、図4に示したプリイグ領域R内にあるか否かが判定されるステップS3。具体的には、上記ステップS1で読み込まれたエンジン回転速度Neと、吸入空気量Qaまたはアクセル開度ACから演算されるエンジン負荷Ceとに基づき、現在のエンジンの運転ポイントが図4の領域判定マップ上で特定され、それがプリイグ領域R内にあるか否かが判定される。上記ステップS3でNOと判定されてプリイグ領域Rから外れていることが確認された場合には、プリイグニッションは起こり得ないため、後述するステップS11,S16,S18の制御プリイグ回避制御や復帰制御が必要になることはなく、通常の運転が維持されるステップS19。すなわち、燃料の噴射量や噴射時期、吸気弁11の動作タイミング等が、運転状態に応じて予め定められた通常の目標値に沿って制御される。一方、上記ステップS3でYESと判定されてプリイグ領域Rにあることが確認された場合には、上記ステップS1で読み込まれたエンジン回転速度Neが、予め設定された閾値Nexよりも低いか否かを判定する制御が実行されるステップS4。ここでの閾値Nexは、図4に示したように、第1プリイグ領域R1と第2プリイグ領域R2との境界回転速度である。つまり、上記ステップS4の判定は、現在のエンジンの運転状態が第1および第2プリイグ領域R1,R2のいずれにあるかを判定するものである。上記ステップS4でYESと判定されてエンジン回転速度Ne<Nexであることが確認された場合、つまり、エンジンの運転状態が第1プリイグ領域R1にあることが確認された場合には、点火プラグ16による火花点火のタイミング点火時期を、圧縮上死点以降圧縮上死点もしくはそれより後の膨張行程中に設定する制御が実行されるステップS5。また、これと合わせて、上記第1プリイグ領域R1では、燃料の噴射時期を分割し、噴射すべき燃料の一部を圧縮行程噴射する制御が実行されるステップS6。すなわち、図18に示すように、第1プリイグ領域R1以外のほとんどの領域では吸気行程中に全ての燃料が噴射されるところ同図aのF参照、上記第1プリイグ領域R1では、噴射すべき燃料の一部の噴射時期が圧縮行程の中期以降にリタードされることにより、吸気行程と圧縮行程とに分割して燃料が噴射される同図bのF1,F2参照。上記のような一部燃料の圧縮行程噴射分割噴射は、プリイグニッションがより起き易い上記第1プリイグ領域R1で、プリイグニッションの発生を未然に防止するために行われる。すなわち、低回転かつ高負荷域に設定された上記第1プリイグ領域R1は、噴射される燃料の量が多い上に、燃料の受熱期間燃料が高温高圧環境下に晒される実時間が相対的に長いため、最もプリイグニッションが起き易い環境であるといえる。そこで、上記第1プリイグ領域R1において、噴射すべき燃料の一部を圧縮行程の中期以降に噴射する分割噴射を実行し、圧縮上死点付近での筒内温度を低下させることにより、プリイグニッションが発生する可能性を予め低減させるようにしている。ただし、後述するステップS13からも明らかなように、上記のような一部燃料の圧縮行程噴射分割噴射は、第1プリイグ領域R1でのみ実行され、これよりも高回転側の第2プリイグ領域R2では実行されない。これは、第2プリイグ領域R2で発生するプリイグニッションは、高温化した排気弁12の傘部や点火プラグ16の電極等を熱源として起きるものであり、このような熱源の存在に起因したプリイグニッションは、例えばアクセル全開での高速運転がかなりの長時間に亘って継続されるといった特殊な事情でもない限り、あまり想定されないものである。このため、第2プリイグ領域R2では、プリイグニッションの未然防止のために上記のような燃料の分割噴射ステップS6を実行する必要性が相対的に低く、このような事情から、燃料の分割噴射は、低回転側の第1プリイグ領域R1でのみ実行され、高回転側の第2プリイグ領域R2では実行されない。上記第1プイリグ領域R1での運転時には、さらに、現状の有効圧縮比が、図5に示したプリイグ限界圧縮比εpに対し所定値以上の余裕代があるか否かが判定されるステップS7。すなわち、上記ステップS1で読み込まれたエンジン水温Tw、吸気温Ta、および大気圧Paの各値をプリイグ関連パラメータとして、そのプリイグ関連パラメータの大小に基づいて図5のマップデータからプリイグ限界圧縮比εpを取得し、このプリイグ限界圧縮比εpと、吸気弁11の閉時期から特定される現状の有効圧縮比ここではε’とするとを比較する。そして、プリイグ限界圧縮比εpから現状の有効圧縮比ε’を差し引いた余裕代εp-ε’が、図5に示される所定値Hx未満であるか否かを判定する。上記ステップS7でYESと判定されて有効圧縮比の余裕代が所定値Hx未満であることが確認された場合には、次のステップS8で、吸気弁11の閉時期をリタードさせてエンジンの有効圧縮比を低下させる制御が実行される。具体的には、吸気弁11の動作タイミングが遅れる方向にVVT15が駆動されることにより、吸気弁11の閉時期が現在の設定値よりも所定量リタードされ、エンジンの有効圧縮比が下げられる。このときの有効圧縮比の低下量は、上述した有効圧縮比の余裕代εp-ε’が所定値Hx以上となるような値に設定される。一方、上記ステップS8の判定がNOの場合、つまり有効圧縮比の余裕代εp-ε’が所定値Hx以上であった場合には、上記のような有効圧縮比の低下制御ステップS8は行われず、そのままリターンされる。図5において破線で示すラインLaは、上記ステップS8で有効圧縮比ε’が下げられた場合に、その値がプリイグ限界圧縮比εpに対しどのように変化するかを示している。例えば、第1プリイグ領域R1における初期設定の有効圧縮比が約13.5であったとすると、図中の点C1に示すように、プリイグ限界圧縮比εpの値が上記有効圧縮比の初期値13.5よりもかなり大きく、有効圧縮比の余裕代εp-ε’が上記所定値Hxよりも大きいHであった場合には、有効圧縮比は上記初期値のまま維持される。一方、例えば点C2のように、プリイグ関連パラメータエンジン水温Tw、吸気温Ta、大気圧Paの増大に伴ってプリイグ限界圧縮比εpが低下し、上記有効圧縮比の余裕代εp-ε’が所定値Hxを下回った場合には、この所定値Hxの余裕代が再び確保されるように、有効圧縮比ε’が下げられるステップS8。したがって、このステップS8の制御が実行された場合、有効圧縮比ε’の値は、プリイグ限界圧縮比εpの下側をほぼ平行に辿るようなプロフィールラインLaに沿って変化することになる。上記ステップS8で有効圧縮比の低下制御が実行されると、その後は、イオン電流センサ35を用いてプリイグニッションを検出する制御が実行されるステップS9。すなわち、上記イオン電流センサ35から入力されるイオン電流値Ioに基づき火炎が検出されるとともに、その検出タイミング燃焼開始時期が、火花点火よりも進角側に設定された所定時期よりも早いか遅いかが調べられる。そして、火炎の検出タイミングが上記所定時期よりも早ければプリイグニッションが発生していると判定され、それ以外の場合はプリイグニッションが発生していないと判定されるステップS10。なお、当実施形態では、図6に示したように、第1プリイグ領域R1での火花点火IGのタイミングが圧縮上死点TDC以降に設定されており、圧縮上死点よりも遅れたタイミングで混合気の燃焼が開始されるため、上記ステップS10では、火炎の検出タイミングが圧縮上死点よりも早ければ、プリイグニッションが発生していると判定される。上記ステップS10でYESと判定された場合、つまり第1プリイグ領域R1でプリイグニッションの発生が確認された場合には、これを回避するための制御として、第1プリイグ回避制御が実行されるステップS11。図13は、上記第1プリイグ回避制御の具体的内容を示すサブルーチンである。この第1プリイグ回避制御がスタートとすると、まず、現在設定されている吸気弁11の閉時期IVCが、後述するステップS21で最大限にリタードされたときの閉時期最遅時期であるTxよりも早いか否かを判定する制御が実行されるステップS20。なお、ここでの判定閾値である最遅時期Txは、吸気の吹き返しが起きてエンジンの有効圧縮比が幾何学的圧縮比に対し十分に低下するような時期例えば吸気下死点の通過後110°CA程度に設定されている。上記第1プリイグ領域R1では、当初、吸気弁11の閉時期が、吸気の吹き返しが起きないような時期として、例えば吸気下死点の通過後ABDC30°CA前後に設定されている。このため、上記ステップS20での最初の判定は当然にNOとなり、次のステップS21で、VVT15を駆動して吸気弁11の閉時期をリタードさせることにより、エンジンの有効圧縮比を低下させる制御が開始される。これにより、主に圧縮端圧力圧縮上死点付近での筒内圧力が低下し、プリイグニッションの抑制が図られる。ここで、吸気弁11の閉時期をリタードさせて有効圧縮比を低下させる上記のような制御には、ある程度の応答遅れが伴う。すなわち、有効圧縮比を低下させるには、VVT15可変バルブタイミング機構を用いた機械的な動作により徐々に吸気弁11の動作タイミングを変更し、その閉時期を、上記有効圧縮比の低下量に応じた所定の目標時期までリタードさせる必要がある。このため、吸気弁11の閉時期を目標時期までリタードさせて有効圧縮比を所望の量だけ低下させるのには、ある程度の時間が必要になる。そこで、続くステップS22では、上記有効圧縮比の低下制御吸気弁の11の閉時期のリタードが完了するまでの間におけるプリイグニッションの抑制効果を担保すべく、筒内の空燃比を一時的にリッチにする制御が実行される。具体的には、インジェクタ18からの燃料の噴射量が増大されることにより、筒内の混合気の空燃比が、噴射量の増大前よりもリッチでかつ理論空燃比よりもリッチな値に設定される。空燃比が理論空燃比よりもリッチになると、燃料の気化潜熱による冷却効果が高まって筒内温度が低下するため、燃料の受熱量が減少し、プリイグニッションの発生が抑制される。なお、空燃比をリッチ化するには、インジェクタ18の開弁期間燃料の噴射時間を長くするだけでよいため、特に応答遅れもなく瞬時に対応することができる。上記第1プリイグ領域R1では、プリイグニッションが起きていない通常時、筒内の空燃比が理論空燃比14.7程度に設定されている。このため、上記ステップS14での空燃比のリッチ化により、筒内の空気過剰率λ、つまり、燃焼室6に形成される混合気の空燃比実空燃比を理論空燃比で割った値は、1から1未満の所定値λ<1にまで低下することになる。例えば、上記ステップS14の制御により、空気過剰率λは、0.75程度空燃比で約11にまで下げられる。上記のようにして空燃比がリッチ化されると、その後は、吸気弁11の閉時期のリタードが完了したか否か、つまり、上記VVT15の作動によりリタードされた吸気弁11の閉時期が目標時期まで到達したか否かが判定されるステップS23。なお、ここでの判定は、実際にVVT15の動作角度を検出し、その角度に基づいて判定するものであってもよいし、予め実験等により求めておいた所要時間が経過したか否かをタイマー等を用いて判定するものであってもよい。上記ステップS23の後は、そこでYESと判定されるIVCのリタードが完了するのを待ってから、空燃比のリッチ化を解除する制御が実行されるステップS24。すなわち、インジェクタ18からの燃料噴射量が低減されることにより、筒内の空燃比が理論空燃比程度に戻される。これにより、空気過剰率λは、上記リッチ化後の値例えば0.75程度から、λ=1にまで増加することになる。なお、当実施形態のような直噴式の多気筒ガソリンエンジンでは、インジェクタ18からの燃料噴射量を気筒別に制御することで、各気筒2の空燃比を、気筒2ごとに個別に設定することが可能である。このため、上記空燃比のリッチ化およびその解除ステップS22,S24は、気筒2ごとに独立して実施することも可能であるし、全気筒2を対象に実施することも可能である。なお、前者の場合は、ある気筒でプリイグニッションが検出されると、その気筒の空燃比のみをリッチ化することを意味し、後者の場合は、1つの気筒でプリイグニッションが検出されると、他の気筒でも同様に空燃比をリッチ化するつまり他の気筒ではプリイグニッションの有無にかかわらず空燃比をリッチ化することを意味する。例えば、吸気弁11の閉時期を目標時期までリタードさせるのに要する所要時間が、1燃焼サイクルよりも長く2燃焼サイクルよりも短いと仮定する。このようなケースで、気筒2ごとに独立して空燃比をリッチ化させた場合には、ある気筒でのプリイグニッションの発生をきっかけに、そのプリイグニッションが発生した気筒以下、プリイグ発生気筒というでの次回の燃焼時に当該気筒の空燃比がリッチ化され、そのリッチ化が、上記プリイグ発生気筒での次々回の燃焼時には解除されることになる。一方、全気筒2を対象に空燃比をリッチ化させた場合には、ある気筒でのプリイグニッションの発生をきっかけに、そのプリイグ発生気筒よりも燃焼順序が遅い気筒から順番に空燃比のリッチ化が実施される。そして、少なくともプリイグ発生気筒の次回の燃焼までは各気筒のリッチ化が継続され、プリイグ発生気筒の次々回の燃焼までには上記リッチ化が解除される。このとき、リッチ化の順番が後の気筒ほど有効圧縮比が低下しているため、順番が進むにつれてリッチ化の幅を小さくするようにしてもよい。上記ステップS24の制御リッチ化の解除が終了すると、その後は、プリイグ回避制御の実行/非実行を記録するためのフラグFFそのデフォルト値は0に、当該制御が実行中であることを表す1が入力されステップS25、図12のメインフローにリターンされる。以上説明したようなステップS20~S25の制御第1プリイグ回避制御は、プリイグニッションが回避されるまでつまり図12のステップS10でNOと判定されるまで繰り返し実行される。そして、このような制御の繰り返しにより、吸気弁11の閉時期が段階的にリタードされ、それに伴って有効圧縮比も段階的に低下していく。例えば、吸気弁11の閉時期の1回あたりのリタード幅が常に2°CAに設定されるものとすると、上記プリイグ回避制御が実行されることで、吸気弁11の閉時期は、現在の設定値に対しまず2°CAだけリタードされ、それでもプリイグニッションを回避できない場合に、さらに2°CAだけリタードされる。そして、このような2°CA刻みのリタードが、吸気弁11の閉時期が上記最遅時期Txに達しない範囲で継続される後述する図16のタイムチャート参照。逆に、最遅時期Txに達する前にプリイグニッションが回避されれば、その時点でリタードは停止される。すなわち、プリイグニッションの発生時において、吸気弁11の閉時期は、少なくとも1回はリタードされ、そこでプリイグニッションが回避されなければ、リタードが繰り返されることにより、初期状態からのリタード幅が段階的に増大されていく。また、吸気弁11の閉時期をリタードさせる際には、その都度、空燃比をリッチ化する制御が併せて実行され、上記リタード制御の応答遅れが毎回カバーされるようになっている。なお、上記のような吸気弁11の閉時期のリタードおよび空燃比のリッチ化は、上記吸気弁11の閉時期が最遅時期Txに達する前にプリイグニッションが回避されれば、その時点で停止される。上記ステップS21で吸気弁11の閉時期が最遅時期Txまでリタードされた後、なおもプリイグニッションが継続して起きる場合には、上記ステップS20でNOと判定される。すると、その後は、エンジンが異常であることを運転者等に報知する所定の警告が発せられるとともにステップS26、エンジンの出力トルクを大幅に低下させる制御が実行されるステップS27。すなわち、吸気弁11の閉時期を最遅時期Txまでリタードさせてもつまりエンジンの有効圧縮比を最大限に低下させても、なおもプリイグニッションが継続するという状態は、例えばエンジンの冷却系の故障等によりエンジンが異常に高温になっていることが考えられるため、これ以上通常の運転を継続することは困難である。そこで、異常を報知する警告が発せられるとともに、エンジンの損傷を最小限に抑えるために、大幅なトルクダウンが図られる。なお、ここでのトルクダウンは、エンジンの出力トルクを大幅に低下させ得るものであればよく、その具体的な内容は特に問わない。例えば、吸気弁11の閉時期を上記最遅時期Txよりもさらに遅い時期までリタードさせて、エンジンの有効圧縮比を大幅に低下させてるものであってもよいし、後述する第2プリイグ回避制御と同様、燃料の噴射量および吸入空気量を大幅に低減させるものであってもよい。上記ステップS26,S27の制御が実行されると、その後は、比較的低速での巡航運転のみを許容する急加速や高速運転を禁止する非常モードに移行する。すなわち、ここではエンジンに異常が生じている可能性が極めて高く、エンジンの損傷がそれ以上進行することを防止する必要があることから、上記ステップS27の制御により出力トルクを大幅に低下させた状態での運転が継続され、所定の点検サービスを受けるまで通常の制御に復帰することはない。図16は、上記プリイグ回避制御の実行時に、有効圧縮比の低下制御を複数回実行しなければプリイグニッションが回避されなかったと仮定した場合に、空気過剰率λ、吸気弁11の閉時期IVC、およびスロットル弁22の開度スロットル開度が、時間経過に応じてそれぞれどのように変化するかを示すタイムチャートである。本図からも理解できるように、プリイグニッションが発生すると、吸気弁11の閉時期IVCが段階的に例えば2°CAずつリタードされ、それに伴ってエンジンの有効圧縮比が所定量ずつ下げられる。また、各回のIVCのリタード有効圧縮比の低下と併せて、一時的に空燃比をリッチ化する制御が実行される。つまり、IVCが目標時期に到達するまでの過渡期IVCが右上がりに傾斜している区間に限り、空気過剰率λが1から1未満の所定値にまで下げられる。これにより、空燃比は、リッチλ<1になったり理論空燃比程度λ=1になったりを繰り返すことになる。なお、上記空燃比のリッチ化は、筒内に導入される空気の量吸入空気量Qaはそのままに、インジェクタ18からの燃料の噴射量を増大させることによって行われる。このため、空燃比のリッチ化のためにスロットル開度が変更されることはなく、例えば図示のような一定の開度に維持される。次に、上記第1プリイグ回避制御図13、図16が実行された結果、プリイグニッションが回避された場合の制御動作について説明する。この場合には、図12のステップS10でNOと判定されるため、次のステップS17でフラグFFが1であるか否かが判定される。上記第1プリイグ回避制御が実行中のときはフラグFF=1であるため、上記ステップS17での判定はYESとなり、その結果、次のステップS18で、上記プリイグ回避制御を解除して通常運転に復帰するための復帰制御が実行される。上記復帰制御では、図16に示した第1プリイグ回避制御のときとは逆に、吸気弁11の閉時期IVCを段階的にアドバンス進角させることにより、有効圧縮比を所定量ずつ上昇させる制御が実行される。そして、IVCがアドバンスされる度に、プリイグニッションの発生の有無が確認され、プリイグニッションが発生していなければ、さらにIVCがアドバンスされる。そして、このような段階的なIVCのアドバンスが、エンジンの有効圧縮比が第1プリイグ回避制御の実行前の値第1プリイグ領域R1での有効圧縮比の初期値、または上記ステップS8で有効圧縮比の余裕代が所定値以上となるように調整された後の有効圧縮比に戻るまで継続される。なお、このような復帰制御のときの空燃比は、理論空燃比もしくはその近傍値に維持される。次に、上記ステップS4でNOと判定されてエンジン回転速度Ne≧Nexであることが確認された場合、つまりエンジンの運転ポイントが第2プリイグ領域R2にあることが確認された場合の制御動作について説明する。この場合は、次のステップS12において、点火プラグ16による火花点火のタイミング点火時期を、圧縮上死点よりも前の圧縮行程中に設定する制御が実行されるステップS12とともに、インジェクタ18からの燃料の噴射時期を吸気行程中に設定する制御が実行されるステップS13。次いで、振動センサ33を用いてプリイグニッションを検出する制御が実行されるステップS14。図14は、このステップS14によるプリイグニッションの検出制御の具体的内容を示すサブルーチンである。このサブルーチンがスタートすると、メインフロー図12のステップS1で振動センサ34から読み込まれた振動強度Vaの情報に基づいて、その最大値最大振動強度Vmaxを取得し、これをVmax1として記憶する制御が実行されるステップS30。そして、記憶された最大振動強度Vmax1が、予め定められた閾値X図11参照以上であるか否かが判定されるステップS31。上記ステップS31でNOと判定されて最大振動強度Vmax1が閾値Xよりも小さいことが確認された場合には、プリイグニッションまたはノッキングのいずれもが発生していないと考えられるため、異常燃焼フラグFabnrmに、燃焼状態が正常であることを表す0を入力する制御が実行されるステップS40。一方、上記ステップS31でYESと判定されて最大振動強度Vmax1≧閾値Xであることが確認された場合には、後述するステップS34で行われる点火時期のリタードの回数をカウントするための変数リタード回数Nrに1を入力する制御が実行されるとともにステップS32、このリタード回数Nrが予め定められた規定回数Nrxよりも小さいか否かが判定されるステップS33。この規定回数Nrxは、点火リタードの上限回数を規定するための自然数であり、例えば2~10の間の適宜の値に設定される。上記のようにVmax1≧Xが確認された直後、リタード回数Nrは1とされるため、上記ステップS33での最初の判定は当然にYESとなる。すると、次のステップS34に移行して、点火時期を所定量リタードさせる制御が実行されるステップS9。点火時期のリタードが行われると、そのリタード後の状態で振動センサ34から入力される情報から最大振動強度Vmaxを取得するとともに、その値をVmax2として記憶する制御が実行されるステップS35,S36。そして、ここで記憶された最大振動強度点火リタード後の最大振動強度Vmax2が上記閾値X以上であるか否かが再び判定されるステップS37。上記ステップS37でYESと判定された場合、つまり、点火リタード後の最大振動強度Vmax2≧閾値Xであることが確認された場合には、点火時期を遅角させても最大振動強度Vmaxが低下していないことになるので、プリイグニッションが発生していることが疑われる。すなわち、図11において△マークで示したように、プリイグニッションが発生している場合には、点火時期を遅角させてもプリイグニッションは抑制されず、最大振動強度Vmaxが増大していくので、上記のように点火リタード後の最大振動強度Vmax2がなおも閾値X以上の高い値を保っている場合には、プリイグニッションが発生している可能性がある。しかしながら、何らかの突発的な原因により、上記最大振動強度Vmax2が閾値X以上になっていることもあり得る。そこで、当実施形態では、上記のようにVmax2≧Xの関係が1回確認されただけでは直ちにプリイグニッションとは判定せず、それが複数回規定回数Nrx続けて確認された時点で初めて、プリイグニッションが発生していると判定する。上述したように、エンジン回転速度Neが比較的高い上記第2プリイグ領域R2では、低速側の第1プリイグ領域R1と比べてプリイグニッションの発生確率が低く、また、後述するように、仮にプリイグニッションの発生が確定すると、その後の第2プリイグ回避制御によって速やかにエンジンの出力トルクが大幅ダウンされ、通常の運転が不可能な状態になる。そこで、第2プリイグ領域R2では、プリイグニッションの判定により慎重を期すべく、Vmax2≧Xの関係が複数回確認されて初めてプリイグニッションと判定するようにしている。具体的に、当実施形態では、上記ステップS37でVmax2≧Xの関係が確認されるたびに、リタード回数Nrが1ずつインクリメントされステップS41、その回数Nrが上記規定回数Nrxに達するまで、点火時期のリタードとその後の最大振動強度Vmax2の比較ステップS34~S37とが繰り返される。そして、全ての回数においてVmax2≧Xであることが確認され、リタード回数NrがNrxに達した時点つまりステップS33でNOと判定された時点で、異常燃焼フラグFabnrmに、プリイグニッションが発生していることを表す1を入力する制御が実行されるステップS39。一方、上記点火時期のリタードが繰り返される過程で、上記閾値Xよりも小さい最大振動強度Vmax2が1回でも確認され、上記ステップS37での判定がNOとなると、その時点で、プリイグニッションではなくノッキングと判定される。すなわち、図11において×マークで示したように、ノッキングの発生時は、点火時期のリタードに伴い最大振動強度Vmaxが低下するので、上記のような現象Vmax2<Xが見られた場合には、直ちにノッキングが発生していると判定され、上記異常燃焼フラグFabnrmに、ノッキングが発生していることを表す2を入力する制御が実行されるステップS38。なお、上記ステップS34の点火時期のリタードは、それが繰り返されるたびにリタード回数Nrがインクリメントされるたびに、通常時の点火時期に対しリタード幅を徐々に増大させるものであってもよいし、通常時の点火時期に対し常に一定量だけリタードさせるものであってもよい。以上のように、図14のフローチャートでは、エンジンの運転状態が第2プリイグ領域R2にあるときに、振動センサ34の検出値に基づいてプリイグニッションまたはノッキングが発生しているか否かが判定され、その結果に応じて、異常燃焼フラグFabnrmに、0正常、1プリイグニッション、2ノッキングのいずれかの値が入力される。再び図12に戻って、上記振動センサ34を用いたプリイグニッションの検出ステップS14が終了した後の制御動作について説明する。上記プリイグニッションの検出図14に示したような振動強度に基づく解析が終了すると、それによってプリイグニッションが確認されたか否か、つまり上記異常燃焼フラグFabnrmの値が1であるか否かが判定されるステップS15。上記ステップS15でNOと判定されてプリイグニッションが発生していないことが確認された場合には、通常運転へと移行することになるステップS19。なお、図12はプリイグニッションに関する制御を中心に説明するものであるため、本図には表していないが、上記振動センサ34を用いたプリイグニッションの検出ステップS14の結果、プリイグニッションではなくノッキングが検出された場合つまりFabnrm=2の場合には、ノッキングを回避するための制御として、点火時期をリタードさせる制御が実行される。また、図12では省略しているが、振動センサ34を用いたノッキングの検出は、上記第2プリイグ領域R2だけでなく、全ての運転領域で継続的に行われている。このため、第2プリイグ領域R2以外でも、振動センサ34によってノッキングが検出された場合には、点火時期を通常の設定値よりもリタードさせる制御が適宜実行されるようになっている。次に、上記ステップS15でYESと判定された場合、つまり、上記振動センサ34により第2プリイグ領域R2でプリイグニッションが検出された場合の制御動作について説明する。このように、第2プリイグ領域R2でプリイグニッションが検出された場合には、これを回避するための制御として、上記第1プリイグ回避制御S11とは異なる第2プリイグ回避制御が実行されるステップS16。図15は、上記第2プリイグ回避制御の具体的内容を示すサブルーチンである。この第2プリイグ回避制御がスタートすると、直ちに、筒内の空燃比をリッチ化する制御が実行されるステップS50。このステップS50の制御は、上記第1プリイグ回避制御時におけるステップS22と異なり、インジェクタ18からの燃料の噴射量を低減させつつ筒内の空燃比をリッチ化するというものである。すなわち、上記第1プリイグ回避制御のときは、インジェクタ18からの燃料の噴射量を増大させることにより筒内の空燃比をリッチ化したがステップS22、第2プリイグ回避制御において実行される上記ステップS50では、インジェクタ18からの燃料の噴射量を低減させながらも、スロットル弁22を閉方向に駆動して筒内への吸入空気量Qaを大幅に低減させることにより、筒内の空燃比を、上記噴射量の低減前よりもリッチでかつ理論空燃比よりもリッチな値に設定する。なお、上記第2プリイグ領域R2では、プリイグニッションが起きていない通常時に、筒内の空燃比が理論空燃比程度空気過剰率λ=1に設定されている。このため、上記ステップS50の制御が実行されることで、空気過剰率λは、1から例えば0.75程度空燃比で約11にまで下げられる。上記のようにステップS50でインジェクタ18からの燃料噴射量を低減させることにより、その噴射燃料に基づく混合気が筒内で燃焼したときに、当該燃焼に伴い発生する熱量燃焼熱量が低下する。また、これに合わせて吸入空気量Qaが大幅に低減され、空燃比が理論空燃比よりもリッチに設定されることにより、燃料の気化潜熱による冷却効果がより高められる。そして、これらの相乗効果により、筒内温度が大幅に低下して、プリイグニッションが速やかに回避されることになる。ここで、上記ステップS50の制御燃料噴射量を低減させつつ空燃比をリッチ化する制御は、1回限りとされる。つまり、燃料噴射量を段階的に低減させるようなことはせず、1回の制御で大幅に一気に燃料噴射量を低減させる。具体的に、燃料噴射量の低減幅は、エンジンの出力トルクが50以上低下するような値に設定される。上記ステップS50による出力トルクの低下割合50以上は、上述した第1プリイグ制御で有効圧縮比を1回低下させることに伴う出力トルクの低下割合よりも大幅に大きいものである。すなわち、上記第1プリイグ回避制御では、有効圧縮比を段階的に低下させるために、吸気弁11の閉時期を段階的にリタードさせたが、このときのリタード幅は、例えば1回あたり2°CA程度の小さい値に設定される。このため、有効圧縮比の低下制御吸気弁11の閉時期のリタードが1回実施されても、エンジンの出力トルクは1~2程度しか低下しない。これに対し、上記第2プリイグ回避制御ステップ50では、インジェクタ18からの燃料噴射量が大幅に低減されるため、その1回の制御によって、エンジンの出力トルクは50以上も低下する。上記ステップS50の制御が終了すると、エンジンの異常を報知するための所定の警告処理が実行されステップS51、その後、比較的低速での巡航運転のみを許容する急加速や高速運転を禁止する非常モードに移行する。すなわち、回転速度Neが高く本来はプリイグニッションが起き難いはずの第2プリイグ領域R2でプリイグニッションが検出され、それに伴い出力トルクが大幅ダウンされたということは、エンジンに異常が生じている可能性が極めて高いといえる。そこで、エンジンの損傷がそれ以上進行することを防止すべく、上記のように出力トルクを大幅に低下させた状態での運転を継続し、所定の点検サービスを受けるまで通常の制御に復帰させることはしない。5作用効果等以上説明したように、当実施形態の火花点火式エンジンでは、エンジン回転速度Neが所定の閾値Nex未満の第1プリイグ領域R1での運転時に、点火プラグ16による点火時期を圧縮上死点もしくはそれより後の膨張行程中に設定するとともに、イオン電流センサ35からの入力情報に基づいてプリイグニッションの有無を判定する一方、エンジン回転速度Neが所定の閾値Nex以上の第2プリイグ領域R2での運転時には、点火プラグ16による点火時期を圧縮上死点より前の圧縮行程中に設定するとともに、振動センサからの入力情報のみに基づいてプリイグニッションの有無を判定するようにした。このような構成によれば、プリイグニッションを検出するためのセンサを運転条件に応じて適正に使い分けることにより、プリイグニッションを精度よく検出できるという利点がある。すなわち、上記実施形態では、点火時期が圧縮上死点よりも前に設定され、しかも点火プラグ16の放電期間に対応するクランク角範囲が大きい高回転側の第2プリイグ領域R2で、点火プラグ16に内蔵されたプラグ内蔵型のイオン電流センサ35つまり放電期間中はイオン電流を検出できないセンサではなく、振動センサ34を用いてプリイグニッションを検出するようにしたため、上記放電期間とは関係なくプリイグニッションの有無を判定することができ、圧縮上死点のかなり手前から混合気が自着火するような重症化したプリイグニッションでなくても、これを確実に検出することができる。一方、点火時期が圧縮上死点以降に設定され、上記放電期間に対応するクランク角範囲が小さい低回転側の第1プリイグ領域R1では、イオン電流が検出不能となる上記放電期間の始まりが圧縮上死点の近傍に留まるため、例えば圧縮上死点の少し手前で混合気が自着火するようなそれほど重症化していないプリイグニッションの場合でも、そのときの燃焼開始時期をイオン電流センサ35によって適正に検出することができる。そこで、上記第1プリイグ領域R1では、イオン電流センサ35を用いてプリイグニッションを検出することにより、混合気の燃焼開始時期火炎の発生タイミングを直接的に特定しながら、プリイグニッションを迅速かつ精度よく判定することができる。具体的に、上記実施形態において、振動センサ33を用いてプリイグニッションを検出する際には、まず、振動センサ33から取得された最大振動強度Vmax1が閾値X以上であるか否かを判定しS31、閾値X以上であれば、さらに、点火プラグ16による点火時期を、通常時の点火時期からリタードさせ、その点火リタード後に取得された最大振動強度Vmax2が上記閾値X以上であるか否かを再び判定するS37。そして、これを所定回数Nrx繰り返して、全ての回数について閾値X以上であることが確認された場合に、プリイグニッションが発生していると判定するS39。このような手順を踏むことにより、それ程発展していないプリイグニッションであっても、これをノッキングと区別しながら確実に検出できるという利点がある。例えば、最大振動強度Vmaxを単に基準値と比較しただけでは、特にプリイグニッションが比較的初期段階のものであった場合に、プリイグニッションであるのか、それともノッキングであるのかを判別することは困難である。このような問題に対し、上記構成では、所定の閾値X以上の最大振動強度Vmaxが確認されたときに、意図的に点火時期を遅角させ、その前後で最大振動強度Vmaxの低下が見られなかった場合つまり点火時期の遅角化の後においてもなおVmax≧Xである場合に、プリイグニッションが発生していると判定するものであるため、点火時期の遅角化がノッキングの抑制にのみ効果があるプリイグニッションの抑制には効果がないという事象を利用して、プリイグニッションかノッキングかを正確に判別することができる。また、上記実施形態では、低回転側の第1プリイグ領域R1での運転時に、エンジン水温Tw、吸気温Ta、大気圧Paといった各種状態量プリイグ関連パラメータから、プリイグニッションが発生しない限界の圧縮比であるプリイグ限界圧縮比εpを特定し、このプリイグ限界圧縮比εpから現状のエンジンの有効圧縮比ε’を差し引いた余裕代εp-ε’が所定値Hx未満であるか否かを判定しS7、所定値Hx未満である場合には、上記余裕代が所定値Hx以上となるように有効圧縮比を低下させS8、かつプリイグニッションが発生しているか否かの判定S10を実行するようにした。このような構成によれば、最もプリイグニッションが発生し易い第1プリイグ領域R1において、エンジンの有効圧縮比をプリイグニッションが起きないような圧縮比に常に調整することにより、上記第1プリイグ領域R1でのプリイグニッションの発生を未然に抑制することができる。また、上記実施形態では、回転速度Ne<Nexの第1プリイグ領域R1でプリイグニッションが検出された場合に選択される第1プリイグ回避制御において、VVT15可変機構を駆動して吸気弁11の閉時期をリタードさせことにより、エンジンの有効圧縮比を低下させる制御が実行される一方、回転速度Ne≧Nexの第2プリイグ領域R2でプリイグニッションが検出された場合に選択される第2プリイグ回避制御では、インジェクタ18からの燃料噴射量を低減させることにより、筒内の燃焼熱量混合気の燃焼に伴い発生する熱量を低下させる制御が実行される。このような構成によれば、プリイグニッションの性質に応じた有効な対策を選択的に講じることにより、適正かつ確実にプリイグニッションを抑制できるという利点がある。すなわち、上記実施形態では、エンジン回転速度Neが閾値Nex未満という条件でプリイグニッションが検出された場合に、有効圧縮比を低下させる制御第1プリイグ回避制御が実行され、主に圧縮端圧力圧縮上死点付近での筒内圧力の低下が図られることにより、混合気が自着火し難い環境がつくり出されるため、プリイグニッションの発生を効果的に抑制することができる。一方、エンジン回転速度Neが閾値Nex以上のときのプリイグニッション、つまり、燃料の受熱期間燃料が高温高圧環境下に晒される実時間が短く本来は自着火しにくい条件下で起きるプリイグニッションは、高温化した排気弁12や点火プラグ16等が熱源となって起きるものと考えられるため、仮に有効圧縮比を下げて圧縮端圧力を低下させても、上記熱源の温度にあまり影響せず、十分なプリイグニッションの抑制につながらない。そこで、このような性質のプリイグニッションの発生時には、有効圧縮比を低下させるのではなく、筒内の燃焼熱量そのものを低下させる制御第2プリイグ回避制御を実行するようにした。これにより、筒内温度が確実に低下し、プリイグニッションの原因となる熱源が冷却されるため、プリイグニッションを効果的に抑制することができる。特に、上記実施形態では、第1プリイグ回避制御時に有効圧縮比を所定量低下させた後、なおもプリイグニッションが検出された場合に、有効圧縮比をさらに所定量低下させることにより、有効圧縮比を段階的に低下させるようにした。一方、第2プリイグ回避制御では、筒内の燃焼熱量を低下させる制御を1回限り実行し、それに伴うエンジントルクエンジンの出力トルクの低下割合を、上記第1プリイグ回避制御で有効圧縮比を1回低下させたときのエンジントルクの低下割合よりも大幅に大きい50以上に設定した。このような構成によれば、エンジン低速側でプリイグニッションが発生したときの出力トルクの低下が最小限に抑えられる一方、エンジン高速側でプリイグニッションが発生したときのフェイルセーフ機能異常時の安全対策を的確に発揮させることができる。すなわち、エンジン回転速度Neが比較的低いときのプリイグニッションは、混合気の自着火が起きないように少しでも筒内環境を改善すれば回避される可能性があるため、このようなプリイグニッションに対する対応策である上記第1プリイグ回避制御では、有効圧縮比を段階的に少量ずつ低下させることにより、プリイグニッションを回避し得る最小限の量だけ有効圧縮比を低下させるようにした。これにより、エンジントルクの低下割合をできるだけ小さく抑えながら、プリイグニッションを効果的に抑制することができる。一方、エンジン回転速度Neが比較的高いときのプリイグニッションは、異常に高温化した排気弁12や点火プラグ16等が熱源となって起きるものであり、速やかに筒内を冷却しなければプリイグニッションを回避できない性質のものである。そこで、このようなプリイグニッションに対する対応策である上記第2プリイグ回避制御では、エンジントルクが50以上も低下するまで筒内の燃焼熱量を大幅に低下させるようにした。これにより、筒内温度が速やかに低下するため、プリイグニッションを確実に回避することができ、エンジンの損傷を最小限に抑えることができる。また、上記実施形態では、第2プリイグ回避制御の実行時に、燃焼熱量を低下させるためにインジェクタ18からの燃料噴射量を低減させるとともに、その低減後の筒内の空燃比が低減前よりもリッチになるように、筒内に導入される吸入空気量Qaを低減させるようにした。このような構成によれば、空燃比のリッチ化によって燃料の気化潜熱による冷却効果が高められるため、筒内温度をより効果的に低下させることができ、プリイグニッションをより確実に回避することができる。また、上記実施形態では、第1プリイグ領域R1でプリイグニッションが検出された場合に、吸気弁11の閉時期をリタードさせて有効圧縮比を所定量低下させる制御が実行されるだけでなく、その制御が完了するまでの過渡期に、筒内の空燃比を一時的にリッチにする制御が実行される。このような構成によれば、有効圧縮比を低下させる制御の応答遅れにかかわらず、プリイグニッションを迅速かつ効果的に抑制できるという利点がある。すなわち、上記実施形態では、有効圧縮比を低下させる制御が完了するまでの過渡期に、筒内の空燃比を一時的にリッチにすることにより、有効圧縮比を低下させ始めてから実際に有効圧縮比を所定量低下させるまでの間に応答遅れによる時間が必要であったとしても、その応答遅れの期間中は、空燃比のリッチ化による冷却効果が働くため、上記のような制御の応答遅れにかかわらず、プリイグニッションの抑制を迅速に図ることができる。そして、有効圧縮比が実際に所定量低下し、それに伴って圧縮端圧力圧縮上死点付近での圧力が下がれば、その状態で空燃比のリッチ化を解除することにより、プリイグニッションの抑制効果を担保しながら、必要以上の時間に亘って空燃比がリッチ化されることを回避して、燃費およびエミッション性の悪化を最小限に抑えることができる。なお、上記実施形態では、エンジン回転速度Neが比較的低い第1プリイグ領域R1で、プリイグニッションを検出するための検出手段としてイオン電流センサ35を用い、エンジン回転速度Neが比較的高い第2プリイグ領域R2では、プリイグニッションを検出するための検出手段として振動センサ34を用いるようにしたが、低速側の第1プリイグ領域R1については、イオン電流センサ35だけでなく、振動センサ34を用いてプリイグニッションを検出してもよい。具体的に、上記第1プリイグ領域R1でイオン電流センサ35および振動センサ34の両方を用いてプリイグニッションを検出する制御は、次のようにして行う。まず、図12のステップS9,S10と同様に、イオン電流センサ35による火炎の検出タイミングに基づいてプリイグニッションの発生の有無を判定する。このとき、プリイグニッションの発生が確認されなかったとしても、図14で説明したように、振動センサ34によって最大振動強度Vmaxを取得し、それが閾値X以上か否かを調べる。そして、閾値X以上であれば、点火時期をリタードさせてその後の最大振動強度を調べ、その結果の如何によってプリイグニッションの発生の有無を判定する。このように、イオン電流センサ35によってプリイグニッションが検出されなくても、さらに振動センサ34を用いてプリイグニッションの有無を確認するようにした場合には、プリイグニッションの検出精度をより高めることができる。また、上記実施形態では、プリイグニッションの発生し易さを左右する状態量プリイグ関連パラメータとして、エンジン水温Tw、吸気温Ta、および大気圧Paを取得し、これらの各パラメータに基づいてプリイグ限界圧縮比εpを特定するようにしたが、上記プリイグ関連パラメータは、エンジン水温Tw、吸気温Ta、大気圧Paに限られない。例えば、これらTw、Ta、Paに加えて、吸気の湿度や、燃料のオクタン価等を検出または推定し、その全てのパラメータに基づいてプリイグ限界圧縮比εpを特定するようにしてもよい。また、上記実施形態では、エンジン本体1の各気筒2に1つずつ点火プラグ16を設け、この点火プラグ16にイオン電流センサ35を内蔵させたが、各気筒2に2つ以上の点火プラグを設けてよい。このように、1気筒につき2つ以上の点火プラグを設けた場合には、その複数の点火プラグから混合気に同時に火花が放電されることにより、その後の火炎伝播燃焼が比較的急速に完了する。このため、上記第1プリイグ領域R1において、圧縮上死点から大幅に遅れたタイミングに点火時期を設定しても、熱効率やエンジントルクの低下を最小限に抑えることができる。そして、上記のように点火時期が大幅にリタードされることで、点火プラグの放電期間イオン電流の検出不能期間がより遅角側にずれるため、イオン電流センサによるプリイグニッションの検出精度がより向上する。なお、上記実施形態では、エンジン回転速度Neが比較的高い第2プリイグ領域R2でプリイグニッションが検出されたときに、これを抑制するための第2プリイグ回避制御として、インジェクタ18からの燃料噴射量を低減させることにより、筒内の燃焼熱量混合気の燃焼に伴い発生する熱量を低下させる制御を実行するようにしたが、上記第2プリイグ回避制御は、筒内の燃焼熱量を低下させ得るものであればよく、そのための制御は他にも考えられる。例えば、インジェクタ18から噴射される燃料にある種の添加剤を加えることによって、燃焼熱量を低下させるようにしてもよい。また、上記実施形態では、第1プリイグ領域R1でプリイグニッションが検出されたときに、これを回避するための第1プリイグ回避制御として、吸気下死点よりも遅角側でかつ吸気の吹き返しが起きないような時期例えば吸気下死点の通過後30°CA前後に設定されている通常時の吸気弁11の閉時期を、さらに遅角側に変更するつまり吸気の吹き返しを起こさせることにより、有効圧縮比を低下させるようにしたが、有効圧縮比を低下させるための方法はこれに限らず、例えば、吸気弁11の閉時期を吸気下死点より進角側まで早めることにより、有効圧縮比を低下させるようにしてもよい。ただし、このようにした場合には、吸気弁11の動作タイミングを大幅に変化させる必要が生じ、VVT15の制御量が増えて、制御の応答性がさらに悪化するという問題がある。また、これを回避すべく、通常時の吸気弁11の閉時期を、吸気下死点と略一致するタイミング等に設定することも考えられるが、このようにすると、吸気慣性を十分に利用することができず、エンジン出力の低下を招いてしまう。このような点から、やはり上記実施形態のように、通常時プリイグニッションが発生していないときの吸気弁11の閉時期を、吸気下死点よりも遅角側に設定し、有効圧縮比を低下させる際には、吸気弁11の閉時期を上記通常時期に対しリタードさせるようにした方が、通常時のエンジン出力を十分に確保しつつ、必要時に効率よく有効圧縮比を低下させることができる点で有利である。さらに、有効圧縮比を低下させる制御は、上記のように吸気弁11の閉時期を変更するものに限らない。例えば、リンク機構等を用いてピストン5のストローク量を変更し、エンジンの幾何学的圧縮比そのものを低下させることによって、有効圧縮比を低下させるようにしてもよい。"