"エンジンの振動を検出する振動センサ、または筒内圧力を検出する筒内圧センサを備え、かつ、エンジン高負荷域の少なくとも一部の特定運転領域で、異常燃焼が発生していない通常時に、点火プラグによる点火時期が圧縮上死点よりも遅角側に設定された火花点火式エンジンの異常燃焼を検出する方法であって、エンジンが上記特定運転領域で運転されているときに、上記振動センサから取得された振動強度の最大値、または上記筒内圧センサから取得された筒内圧力の最大値が、所定の閾値以上であるか否かを判定する工程と、上記振動強度の最大値または上記筒内圧力の最大値が閾値以上であった場合に、上記点火プラグによる点火時期を、圧縮上死点の遅角側にあたる上記通常時の点火時期から、さらに遅角側に変更する工程と、上記点火時期の遅角化の後に上記振動センサまたは筒内圧センサから取得された振動強度の最大値または筒内圧力の最大値が上記閾値以上であれば、混合気が過早に自着火するプリイグニッションが発生していると判定する工程とを含むことを特徴とする火花点火式エンジンの異常燃焼検出方法。請求項1記載の火花点火式エンジンの異常燃焼検出方法において、上記エンジンに、混合気の燃焼により生じる火炎を検出するイオン電流センサを設け、このイオン電流センサによる火炎の検出タイミングに基づいて、プリイグニッションの有無を判定するとともに、当該判定の結果プリイグニッションが発生していないことが確認された場合でも、上記振動センサまたは筒内圧センサにより上記点火リタード後の最大検出値が上記点火リタード前の最大検出値よりも大きいことが確認されれば、プリイグニッションが発生していると判定することを特徴とする火花点火式エンジンの異常燃焼検出方法。請求項1または2記載の火花点火式エンジンの異常燃焼検出方法において、上記点火時期の遅角化を複数回行い、各回の遅角化の後に取得された振動強度の最大値または筒内圧力の最大値が全て上記閾値以上であった場合に、プリイグニッションが発生していると判定することを特徴とする火花点火式エンジンの異常燃焼検出方法。エンジンの振動を検出する振動センサ、または筒内圧力を検出する筒内圧センサを備え、かつ、エンジン高負荷域の少なくとも一部の特定運転領域で、異常燃焼が発生していない通常時に、点火プラグによる点火時期が圧縮上死点よりも遅角側に設定された火花点火式エンジンであって、上記点火プラグによる火花放電のタイミングを制御するとともに、上記振動センサにより検出された振動強度の情報、または上記筒内圧センサにより検出された筒内圧力の情報を受け付ける制御手段を備え、上記制御手段は、エンジンが上記特定運転領域で運転されているときに、上記振動センサから取得された振動強度の最大値、または上記筒内圧センサから取得された筒内圧力の最大値が、所定の閾値以上であった場合に、上記点火プラグによる点火時期を、圧縮上死点の遅角側にあたる上記通常時の点火時期から、さらに遅角側に変更する制御を実行し、上記点火時期の遅角化の後に上記振動センサまたは筒内圧センサから取得された振動強度の最大値または筒内圧力の最大値が上記閾値以上であれば、混合気が過早に自着火するプリイグニッションが発生していると判定することを特徴とする火花点火式エンジン。請求項4記載の火花点火式エンジンにおいて、混合気の燃焼により生じる火炎を検出するイオン電流センサを備え、上記制御手段は、上記イオン電流センサによる火炎の検出タイミングに基づいて、プリイグニッションの有無を判定するとともに、当該判定の結果プリイグニッションが発生していないことが確認された場合でも、上記振動センサまたは筒内圧センサにより上記点火リタード後の最大検出値が上記点火リタード前の最大検出値よりも大きいことが確認されれば、プリイグニッションが発生していると判定することを特徴とする火花点火式エンジン。請求項4または5記載の火花点火式エンジンであって、上記制御手段は、上記点火時期の遅角化を複数回行い、各回の遅角化の後に取得された振動強度の最大値または筒内圧力の最大値が全て上記閾値以上であった場合に、プリイグニッションが発生していると判定することを特徴とする火花点火式エンジン。請求項4~6のいずれか1項に記載の火花点火式エンジンにおいて、上記制御手段は、プリイグニッションが発生していると判定すると、筒内温度および筒内圧力の少なくとも一方を低下させる所定の制御を実行することを特徴とする火花点火式エンジン。上記特許文献2のように、振動センサを用いてプリイグニッションを検出するようにした場合には、イオン電流センサを用いてプリイグニッションを検出する場合に起こり得る上述したような問題放電期間中の検出が制限されることなどを解消することができる。また、振動センサは、ノッキングを検出するために従来から広く使用されているセンサであるため、コストの面でも有利である。しかしながら、上記特許文献2のように、振動センサを用いて振動強度および振動発生時期を特定しただけでは、点火時期よりも前に大きな振動が発生するような重度なプリイグニッションにまで発展しない限り、これを検出できないという問題がある。すなわち、点火時期よりも後に振動が発生した場合は、混合気が過早に自着火するプリイグニッションによるものではなく、ノッキング燃焼開始後に未燃混合気が自着火する現象である可能性があるため、プリイグニッションが発生していることを明確に判別するには、点火時期よりも前に振動が起きるような重度なプリイグニッションまで発展するのを待たなければならず、これでは、エンジンの信頼性や耐久性等の面で好ましくない。なお、振動センサを用いてプリイグニッションを検出する上記方法と同様の方法は、エンジンの筒内圧力を検出する筒内圧センサを用いても可能である。すなわち、許容値を超えた大きな筒内圧力が検出され、かつその検出時期が早過ぎる場合に、プリイグニッションが発生していると判定することができる。ただしこの場合でも、プリイグニッションの程度が相当にひどくならない限りは、ノッキングと区別して検出できないという事情は同じである。本発明は、上記のような事情に鑑みてなされたものであり、振動センサまたは筒内圧センサを用いて、エンジンの運転中に起こり得るプリイグニッションを、ノッキングと区別しながら適正に検出することが可能な方法、およびこれを適用したエンジンを提供することを目的とする。上記課題を解決するためのものとして、本発明は、エンジンの振動を検出する振動センサ、または筒内圧力を検出する筒内圧センサを備え、かつ、エンジン高負荷域の少なくとも一部の特定運転領域で、異常燃焼が発生していない通常時に、点火プラグによる点火時期が圧縮上死点よりも遅角側に設定された火花点火式エンジンの異常燃焼を検出する方法であって、エンジンが上記特定運転領域で運転されているときに、上記振動センサから取得された振動強度の最大値、または上記筒内圧センサから取得された筒内圧力の最大値が、所定の閾値以上であるか否かを判定する工程と、上記振動強度の最大値または上記筒内圧力の最大値が閾値以上であった場合に、上記点火プラグによる点火時期を、圧縮上死点の遅角側にあたる上記通常時の点火時期から、さらに遅角側に変更する工程と、上記点火時期の遅角化の後に上記振動センサまたは筒内圧センサから取得された振動強度の最大値または筒内圧力の最大値が上記閾値以上であれば、混合気が過早に自着火するプリイグニッションが発生していると判定する工程とを含むことを特徴とするものである請求項1。また、本発明は、エンジンの振動を検出する振動センサ、または筒内圧力を検出する筒内圧センサを備え、かつ、エンジン高負荷域の少なくとも一部の特定運転領域で、異常燃焼が発生していない通常時に、点火プラグによる点火時期が圧縮上死点よりも遅角側に設定された火花点火式エンジンであって、上記点火プラグによる火花放電のタイミングを制御するとともに、上記振動センサにより検出された振動強度の情報、または上記筒内圧センサにより検出された筒内圧力の情報を受け付ける制御手段を備え、上記制御手段は、エンジンが上記特定運転領域で運転されているときに、上記振動センサから取得された振動強度の最大値、または上記筒内圧センサから取得された筒内圧力の最大値が、所定の閾値以上であった場合に、上記点火プラグによる点火時期を、圧縮上死点の遅角側にあたる上記通常時の点火時期から、さらに遅角側に変更する制御を実行し、上記点火時期の遅角化の後に上記振動センサまたは筒内圧センサから取得された振動強度の最大値または筒内圧力の最大値が上記閾値以上であれば、混合気が過早に自着火するプリイグニッションが発生していると判定することを特徴とするものである請求項4。これらの発明によれば、振動センサまたは筒内圧センサを用いて振動強度の最大値または筒内圧力の最大値を取得し、これが所定の閾値以上であれば点火時期を遅角させ、その遅角化の後の振動強度の最大値または筒内圧力の最大値が、再び上記閾値以上であるか否かに基づいて、プリイグニッションの発生の有無を判定するようにしたため、あまり発展していない比較的初期段階のプリイグニッションであっても、これをノッキングと区別しながら確実に検出できるという利点がある。例えば、振動強度または筒内圧力を単に基準値と比較しただけでは、特にプリイグニッションが比較的初期段階のものであった場合に、プリイグニッションであるのか、それともノッキングであるのかを判別することは困難である。このような問題に対し、上記構成では、振動強度または筒内圧力の最大値が所定の閾値以上であった場合に、意図的に点火時期を遅角させ、その遅角化の後においてもなお上記最大値が閾値以上に維持されている場合に、プリイグニッションが発生していると判定するものであるため、点火時期の遅角化がノッキングの抑制にのみ効果があるプリイグニッションの抑制には効果がないという事象を利用して、プリイグニッションかノッキングかを正確に判別することが可能である。本発明の検出方法において、好ましくは、上記エンジンに、混合気の燃焼により生じる火炎を検出するイオン電流センサを設け、このイオン電流センサによる火炎の検出タイミングに基づいて、プリイグニッションの有無を判定するとともに、当該判定の結果プリイグニッションが発生していないことが確認された場合でも、上記振動センサまたは筒内圧センサにより上記点火リタード後の最大検出値が上記点火リタード前の最大検出値よりも大きいことが確認されれば、プリイグニッションが発生していると判定する請求項2。本発明のエンジンにおいて、好ましくは、混合気の燃焼により生じる火炎を検出するイオン電流センサがエンジンに設けられ、上記制御手段は、上記イオン電流センサによる火炎の検出タイミングに基づいて、プリイグニッションの有無を判定するとともに、当該判定の結果プリイグニッションが発生していないことが確認された場合でも、上記振動センサまたは筒内圧センサにより上記点火リタード後の最大検出値が上記点火リタード前の最大検出値よりも大きいことが確認されれば、プリイグニッションが発生していると判定する請求項5。これらの態様では、イオン電流センサと、振動センサまたは筒内内圧センサとを併用した二重の検出機構としたため、仮にイオン電流センサに断線等の故障が起きたり、その検出精度が十分でなかったとしても、振動センサまたは筒内圧センサを用いてプリイグニッションを検出することができ、その検出精度をより高めることができる。本発明の検出方法において、好ましくは、上記点火時期の遅角化を複数回行い、各回の遅角化の後に取得された振動強度の最大値または筒内圧力の最大値が全て上記閾値以上であった場合に、プリイグニッションが発生していると判定する請求項3。本発明のエンジンにおいて、好ましくは、上記制御手段は、上記点火時期の遅角化を複数回行い、各回の遅角化の後に取得された振動強度の最大値または筒内圧力の最大値が全て上記閾値以上であった場合に、プリイグニッションが発生していると判定する請求項6。これらの態様によれば、比較的重大な異常燃焼であるプリイグニッションの発生の有無を、より慎重に判定することができる。また、1回当たりの点火時期の遅角幅を小さくできるので、プリイグニッションの判定制御のたびにエンジン出力が急変する等の事態を効果的に防止できるという利点もある。本発明のエンジンにおいて、好ましくは、上記制御手段は、プリイグニッションが発生していると判定すると、筒内温度および筒内圧力の少なくとも一方を低下させる所定の制御を実行することを特徴とする火花点火式エンジン請求項7。この態様によれば、プリイグニッションの発生時に、筒内温度および筒内圧力の少なくとも一方を低下させることにより、プリイグニッションの発生を効果的に抑制できるという利点がある。なお、主に筒内温度を低下させる制御としては、例えば、空燃比をリッチ化する制御や、燃料の少なくとも一部を圧縮行程中に噴射する制御が考えられる。また、主に筒内圧力を低下させる制御としては、例えば、吸気弁の閉時期を変更して有効圧縮比を低下させる制御が考えられる。これらの制御のいずれか1つを実行するか、2つ以上の制御を同時に実行することにより、筒内温度および筒内圧力の少なくとも一方を低下させることができる。以上説明したように、本発明によれば、振動センサまたは筒内圧センサを用いて、エンジンの運転中に起こり得るプリイグニッションを、ノッキングと区別しながら適正に検出することができる。1エンジンの全体構成図1は、本発明の一実施形態にかかるエンジンの全体構成を示す図である。本図に示されるエンジンは、往復ピストン型の多気筒ガソリンエンジンであり、走行駆動用の動力源として車両に搭載されている。このエンジンのエンジン本体1は、紙面に直交する方向に並ぶ複数の気筒2図中ではそのうちの1つのみを示すを有するシリンダブロック3と、シリンダブロック3の上面に設けられたシリンダヘッド4と、各気筒2に往復摺動可能に挿入されたピストン5とを有している。なお、エンジン本体1に供給される燃料は、ガソリンを主成分とするものであればよく、その中身は、全てガソリンであってもよいし、ガソリンにエタノールエチルアルコール等を含有させたものでもよい。上記ピストン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の振動を検出する振動センサ33が設けられている。この振動センサ33による検出値は、エンジンに生じている異常燃焼を検出するために利用される。具体的に、当実施形態では、上記振動センサ33の検出値に基づいて、ノッキングおよびプリイグニッションという2種類の異常燃焼をそれぞれ検出するようにしている。ここで、ノッキングとは、火花点火をきっかけにして混合気の燃焼が始まった後、その火炎が伝播していく過程で、混合気の未燃分エンドガスが自着火してしまう現象である。一方、プリイグニッションとは、火花点火による正常の燃焼開始時期よりも前につまり火花点火とは関係なく、混合気が自着火してしまう現象である。ノッキングまたはプリイグニッションが発生すると、急激な燃焼圧力の変動等に起因して、シリンダブロック3に比較的大きな振動が発生するため、当実施形態では、このようなシリンダブロック3の振動を上記振動センサ33の検出値に基づき調べることにより、ノッキングまたはプリイグニッションを検出するようにしている。上記点火プラグ16の近傍には、燃焼室6で混合気が燃焼することにより生じる火炎を検出するイオン電流センサ34が設けられている。このイオン電流センサ34は、例えば100V程度のバイアス電圧が印加される電極を有しており、この電極周りに火炎が形成されたときに生じるイオン電流を検出することで、火炎を検出するように構成されている。上記イオン電流センサ34を用いて火炎を検出することにより、上記振動センサ33と同じく、プリイグニッションの発生を検出することができる。すなわち、火花点火により混合気を強制的に燃焼させる場合、正常な燃焼状態であれば、火花点火のタイミングから所定の遅れ時間の後に燃焼が開始されるが、プリイグニッションが発生した場合には、火花点火とは関係なく混合気が早期に自着火するため、上記のような正常の燃焼開始時期火花点火から所定の遅れ時間が経過した時点よりも前に燃焼が始まってしまう。そこで、上記イオン電流センサ34により火炎を検出し、その検出タイミング火炎の発生タイミングが正常な燃焼開始時期に比べて早過ぎる場合に、プリイグニッションが発生したと判定する。このように、当実施形態では、プリイグニッションを検出するためのセンサとして、イオン電流センサ34と振動センサ33の2種類のセンサを設けており、これら2種類のセンサを用いてより確実にプリイグニッションを検出できるようにしている。ただし、上記イオン電流センサ34を用いて検出できるのは、プリイグニッションだけであって、ノッキングは検出することができない。すなわち、ノッキングとは、上述したように、火花点火をきっかけに一旦火炎が発生した後、その伝播の過程で混合気の未燃分エンドガスが自着火してしまう現象であるため、ノッキングが発生しても火炎の発生時期は通常と変わらず、イオン電流センサ34により火炎の発生タイミングを調べたとしても、ノッキングの発生の有無を特定することはできない。このため、ノッキングを検出する際には、振動センサ33の検出値のみが利用され、イオン電流センサ34は用いられない。上記エンジン本体1の吸気ポート9および排気ポート10には、吸気通路20および排気通路21がそれぞれ接続されている。すなわち、外部からの吸入空気新気が上記吸気通路20を通じて燃焼室6に供給されるとともに、燃焼室6で生成された既燃ガス排気ガスが上記排気通路21を通じて外部に排出されるようになっている。上記吸気通路20には、エンジン本体1に流入する吸入空気の流量を調節するスロットル弁22と、吸入空気の流量を検出するエアフローセンサ31とが設けられている。上記スロットル弁22は、電子制御式のスロットル弁からなり、運転者により踏み込み操作される図外のアクセルペダルの開度に応じて電気的に開閉駆動される。すなわち、上記アクセルペダルにはアクセル開度センサ32図2が設けられており、このアクセル開度センサ32により検出されたアクセルペダルの開度アクセル開度に応じて、図外の電気式のアクチュエータがスロットル弁22を開閉駆動するように構成されている。上記排気通路21には、排気ガス浄化用の触媒コンバータ23が設けられている。触媒コンバータ23には例えば三元触媒が内蔵されており、排気通路21を通過する排気ガス中の有害成分が上記三元触媒の作用により浄化されるようになっている。2制御系図2は、エンジンの制御系を示すブロック図である。本図に示されるECU40は、エンジンの各部を統括的に制御するための制御手段であり、周知のCPU、ROM、RAM等から構成されている。上記ECU40には、各種センサ類からの検出信号が入力される。すなわち、ECU40は、上記エンジン回転速度センサ30、エアフローセンサ31、アクセル開度センサ32、振動センサ33、およびイオン電流センサ34と電気的に接続されており、これら各センサ30~34による検出値として、エンジン回転速度Ne、吸入空気量Qa、アクセル開度AC、振動強度加速度Va、およびイオン電流値Ioといった情報が、上記ECU40に逐次入力されるようになっている。また、上記ECU40は、上記VVT15、点火プラグ16、インジェクタ18、およびスロットル弁22とも電気的に接続されており、これらの装置にそれぞれ駆動用の制御信号を出力するように構成されている。上記ECU40が有するより具体的な機能について説明すると、上記ECU40は、その主な機能的要素として、記憶手段41、異常燃焼判定手段42、点火制御手段43、燃料制御手段44、およびVVT制御手段45を有している。上記記憶手段41は、エンジンを制御する際に必要な各種データやプログラムを記憶するものである。その一例として、上記記憶手段41には、図3に示される特定運転領域Rの範囲が記憶されている。この特定運転領域Rは、プリイグニッションが発生する可能性のある運転領域であり、最高負荷ラインWOTの近傍つまり高負荷で、かつ低回転寄りに設定されている。すなわち、プリイグニッションは、上述したように、火花点火による正常の燃焼開始時期よりも前に混合気が自着火する現象であるから、燃焼室6内の空気が高温高圧化し、しかも当該空気から燃料への受熱期間が長くなる低回転かつ高負荷域で、最もプリイグニッションが発生し易い。そこで、図3に示すように、エンジン回転速度Neが比較的低く、かつ負荷Ceが高い領域を、プリイグニッションが発生する可能性のある特定運転領域Rとして設定している。上記異常燃焼判定手段42は、上記振動センサ33およびイオン電流センサ34の検出値に基づいて、プリイグニッションまたはノッキングの発生の有無を判定するものである。具体的に、上記異常燃焼判定手段42は、エンジンの運転状態が上記特定運転領域Rにあるときに、イオン電流センサ34の検出値イオン電流値Ioに基づき火炎の発生タイミングを特定し、これを正常な燃焼開始時期と比較することで、プリイグニッションが発生しているか否かを判定する。さらに、異常燃焼判定手段42は、上記振動センサ33の検出値振動強度Vaに基づいて振動強度の最大値を調べ、それによってプリイグニッションまたはノッキングのいずれが発生しているのかを判定する詳細は後述する項目3参照。上記点火制御手段43は、エンジンの運転状態に応じ予め定められた所定のタイミングで点火プラグ16の点火回路に給電信号を出力することにより、上記点火プラグ16が火花放電を行うタイミング点火時期等を制御するものである。例えば、エンジンの低回転高負荷域に設定された上記特定運転領域Rでは、圧縮上死点よりも少し遅れたタイミングで火花点火が行われるように、上記点火プラグ16が制御される。ただし、上記特定運転領域Rにおいて、振動センサ33から所定レベル以上の振動が入力された場合には、上記点火制御手段43が、点火時期を上述のタイミング圧縮上死点よりも少し遅れたタイミングよりもさらに遅角側にシフトさせる。これは、上記振動センサ33から入力された所定レベル以上の振動が、プリイグニッションによるものであるのかノッキングによるものであるのかを判別するためである。すなわち、点火時期の遅角化は、ノッキングに対しては抑制方向に働くが、プリイグニッションに対しては特に影響を及ぼさないためその理由については後で詳述する、所定レベル以上の振動が発生したときに、その原因がプリイグニッションまたはノッキングのいずれであるのかを判別すべく、上記点火制御手段43が意図的に点火時期を遅角させる。そして、点火時期を遅角させた後の振動の変化が上記異常燃焼判定手段42により調べられ、その結果の如何により、プリイグニッションまたはノッキングのいずれが発生しているのが特定されるようになっている。上記燃料制御手段44は、上記インジェクタ18から燃焼室6に噴射される燃料の噴射量や噴射時期を制御するものである。より具体的に、上記燃料制御手段44は、エンジン回転速度センサ30から入力されるエンジン回転速度Neやエアフローセンサ31から入力される吸入空気量Qa等の情報に基づいて、目標とする燃料の噴射量および噴射時期を演算し、その演算結果に基づいてインジェクタ18の開弁時期および開弁期間を制御する。特に、上記特定運転領域Rにおいてプリイグニッションが検出された場合、上記燃料制御手段44は、上記インジェクタ18からの燃料の噴射量を増大させることにより、筒内の空燃比をリッチ化する制御を実行する。このような制御を実行するのは、比較的多量の燃料を噴射することで筒内温度を低下させ、プリイグニッションの発生を抑制するためである。さらに必要な場合、上記燃料制御手段44は、本来は吸気行程中に噴射すべき燃料の一部を、圧縮行程の後期まで遅らせて噴射するつまり吸気行程と圧縮行程とに分割して燃料を噴射する制御を実行する。これにより、特に圧縮上死点付近での筒内温度が低下するとともに、燃料の受熱期間が短縮されるため、よりプリイグニッションが起き難い環境をつくり出すことができる。上記VVT制御手段45は、上記VVT15を駆動して吸気弁11の閉時期を変更することにより、エンジンの有効圧縮比を可変的に設定するものである。すなわち、吸気弁11の閉時期は、通常、吸気下死点の遅角側の近傍吸気下死点を少し過ぎたタイミングに設定されており、このようなタイミングに設定されることで、一旦吸入された空気が吸気ポート9にほとんど吹き返されることがなく、エンジンの実質的な圧縮比有効圧縮比が幾何学的圧縮比に近い値に設定されている。これに対し、吸気弁11の閉時期が吸気下死点よりも大幅に遅く設定された場合には、その分だけエンジンの有効圧縮比が低下し、かなりの量の吸気の吹き返しが起きるようになる。上記VVT制御手段45は、VVT15を駆動して上記吸気弁11の閉時期のリタード量遅角量を増減させることにより、エンジンの有効圧縮比を可変的に設定する。特に、上記VVT制御手段45は、上記特定運転領域Rにおいてプリイグニッションが検出されると、必要に応じて、吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御を実行する。これにより、主に筒内圧力燃焼室6内の圧力の低下が図られ、プリイグニッションが抑制される。なお、上記説明でいうところの吸気弁11の閉時期とは、リフトカーブのランプ部リフト量が緩やかに立ち上がる緩衝区間を除いた区間をバルブの開弁期間として定義した場合における閉時期であって、吸気弁11のリフト量が完全にゼロになる時期を指すものではない。3プリイグニッションおよびノッキングの判定手法次に、上記異常燃焼判定手段42がプリイグニッションおよびノッキングの発生を判定する際のより具体的な手順について説明する。まず、イオン電流センサ34を用いてプリイグニッションを検出する場合の手順について説明する。図4は、プリイグニッションの発生時および通常燃焼時に生じる熱発生量の分布時間変化を示す図である。本図において、IGは火花点火を示しており、この火花点火IGをきっかけに生じる正常燃焼時の熱発生量を、実線の波形J0としている。なお、火花点火IGのタイミングは、上述したように、プリイグニッションが発生し得る上記特定運転領域Rで、圧縮上死点よりも少し遅れたタイミングに設定される。このため、図中のIGの位置は、圧縮上死点TDCよりも遅角側に設定されており、図例では圧縮上死点の通過後ATDC5°CA程度とされている。上記火花点火IGをきっかけに生じる正常燃焼時の波形J0において、イオン電流センサ34で火炎を検出できる程度まで燃焼が進行した状態実質的な燃焼開始時期をt0とすると、この時点t0は、火花点火IGの時点よりも所定のクランク角分だけ遅くなっている。すなわち、正常燃焼時においては、火花点火により生じた火炎核を中心に徐々に周囲へと燃焼が拡がっていくため、実質的な燃焼開始時期t0は、火花点火IGよりもある程度遅れたタイミングになる。一方、プリイグニッションが発生したときの熱発生量の分布は、1点鎖線の波形J1~J3のようになる。波形J1は軽度のプリイグニッション、波形J2は中度のプリイグニッション、波形J3は重度のプリイグニッションを示しており、各ケースにおける実質的な燃焼開始時期をそれぞれt1,t2,t3とすると、そのクランク角位置は、正常な燃焼開始時期t0よりも進角側にずれている。すなわち、プリイグニッションが起きると、混合気が自着火することで、もはや火花点火により燃焼をコントロールすることができなくなり、正常な燃焼開始時期t0よりも前に燃焼が開始されてしまう。しかも、燃焼開始の過早化に伴い、燃焼が急峻化し、かつ燃焼期間が短くなる。また、プリイグニッションは、これを放置した場合に、軽度のプリイグニッションJ1から、重度のプリイグニッションJ3へと徐々に発展していくという性質がある。すなわち、一旦プリイグニッションが起きると、燃焼室6の高温化に拍車がかかり、より自着火し易い環境がつくり出されるため、プリイグニッションが連鎖的に発展していく。特に、重度のプリイグニッションJ3まで発展すると、極端に燃焼が急峻化して、エンジンにかなり大きな騒音や振動が発生し、ピストン等の損傷にもつながる。このため、少なくとも上記のような重度のプリイグニッションに発展する前に、プリイグニッションが発生していることを適正に検出し、必要な措置例えば空燃比のリッチ化等を講ずる必要がある。そこで、当実施形態では、プリイグニッションを検出するための一手段として、イオン電流センサ34を用いて火炎を検出し、その検出タイミング火炎の発生タイミングに基づいて、プリイグニッションの発生の有無を判別するようにしている。具体的には、正常な燃焼開始時期t0よりも所定時間以上早い段階で上記イオン電流センサ34が火炎を検出したときに、これをプリイグニッションとして検出する。このとき、できるだけ軽度の段階でプリイグニッションを検出するため、イオン電流センサ34による火炎の検出タイミングが、例えばt1程度まで早くなればプリイグニッションであると判定するのがよい。ところで、プリイグニッションの発生は、上述した通り、イオン電流センサ34だけでなく、振動センサ33を用いても検出される。なお、当実施形態において、振動センサ33は、プリイグニッションだけでなく、ノッキングを検出するためにも用いられる。次に、この振動センサ33を用いた検出手順について説明する。図5は、プリイグニッションが発生したときの筒内圧力の変化を、ノッキング発生時の筒内圧力の変化と比較して示す図である。なお、この図5では、プリイグニッション発生時の筒内圧力の変化を波形Pp、ノッキング発生時の筒内圧力の変化を波形Pnとして示している。また、同図においては、両波形Pp,Pnの相違を明確に表すため、プリイグニッション発生時の波形Ppとして、プリイグニッションがかなり発展した場合重度もしくはそれに近い程度まで発展した場合の筒内圧力の変化を例示している。上記波形Ppを見ると明らかなように、プリイグニッションがかなり発展した場合には、圧縮上死点の近傍で筒内圧力が大きく上昇するとともに、上昇した圧力が比較的短い期間で収束している。これに対し、ノッキングが発生した場合には、波形Pnに示すように、筒内圧力が急上昇する波形の山部が、プリイグニッションのときよりも遅角側に大きくずれた位置で発生している。すなわち、ノッキングは、燃焼がある程度進行した時点で、残りの未燃混合気エンドガスが自着火する現象であるため、その自着火による圧力の急上昇が、燃焼過程の終盤で発生することとなり、波形の山部がより遅角側にずれることになる。図6および図7は、プリイグニッションまたはノッキングが発生し、図5に示したような筒内圧力の変化が生じたときに、振動センサ33からどのような振動波形が入力されるかを示している。なお、ここでの振動波形は、上記振動センサ33から入力される振動強度加速度Vaを縦軸に、クランク角CAを横軸にとったものであり、クランク角CAに応じた振動強度Vaの変化を示している。図6および図7の波形を比較すると、プリイグニッション発生時の振動波形図6の方が、ノッキング発生時の振動波形図7と比べて、検出される振動強度Vaの最大値Vmax以下、最大振動強度Vmaxと略称するが大きく、しかもその検出時期が早いことが分かる。これは、図5に示されるようなかなり発展したプリイグニッションの場合、ノッキングの場合と比較して、筒内圧力が最も急変する部分つまり波形の山部の変動幅が大きく、しかもそれがかなり進角側で生じているためと考えられる。このように、プリイグニッションがかなり発展した場合には、検出される最大振動強度Vmaxやその検出時期に、比較的明確な特徴が見出されることが分かる。しかしながら、プリイグニッションが十分に発展していない場合例えば図4に示した波形J1のような軽度のプリイグニッションの発生時には、最大振動強度Vmaxやその検出時期が、ノッキングの場合と大きく変わらず、単に振動強度Vaの波形を比較しただけでは、プリイグニッションとノッキングとを明確に区別して検出できないおそれがある。そこで、当実施形態では、上記振動センサ33により所定の閾値以上の最大振動強度Vmaxが検出され、プリイグニッションまたはノッキングの発生が疑われるような場合に、両者を判別すべく、意図的に点火時期を遅角させるとともに、その後の最大振動強度Vmaxの変化に基づいて、プリイグニッションまたはノッキングのいずれであるのかを判別するようにしている。すなわち、プリイグニッションが発生し得る低回転かつ高負荷寄りの特定運転領域Rでは、通常時において、圧縮上死点よりも少し遅れたタイミング例えば5°ATDC程度に点火時期が設定されるが、上記振動センサ33により所定の閾値以上の最大振動強度Vmaxが検出された場合には、点火時期が上記タイミングに対し所定量遅角され、圧縮上死点に対しさらに遅れたタイミングで火花点火が行われるようになる。そして、このような点火時期の遅角化に応じて、最大振動強度Vmaxがどのように変化するかが上記異常燃焼判定手段42により調べられ、プリイグニッションまたはノッキングのいずれが発生しているのかが判別される。例えば、ノッキングが発生している場合には、上記のように点火時期が遅角されることで、圧縮上死点のさらに遅角側でつまり筒内温度圧力がより低下した状態で燃焼が開始されることになるため、その後の燃焼過程において、未燃混合気エンドガスの自着火は起き難くなる。したがって、ノッキングの発生中に点火時期を遅角させれば、ノッキングの程度が縮小するとともに、その発生時期が遅れることになる。すると、これに応じて、上記振動センサ33により検出される最大振動強度Vmaxの大きさが低下し、かつ、その検出時期が遅れるという現象が見られる。図8の×マークは、ノッキング発生時に点火時期を徐々に遅角させることで、上記振動センサ33により検出される最大振動強度Vmaxがどのように変化するかを示している。本図によれば、点火時期の遅角化に伴って、最大振動強度Vmaxのプロット×マークが、徐々に右下の方向に移動している。すなわち、点火時期の遅角化に伴い、最大振動強度Vmaxの大きさが徐々に低下するとともに、このVmaxが検出された時点のクランク角が徐々に遅角側にずれていくことが分かる。なお、図8における縦軸の値Xは、点火時期を遅角させるか否かを決定するための閾値であり、この閾値X以上の最大振動強度Vmaxが検出されたときに、点火時期の遅角化が行われるようになっている。上記のように、点火時期を遅角させることで、ノッキングを抑制することは可能であるが、プリイグニッションが発生している場合には、点火時期とは関係なく混合気が自着火するため、点火時期を遅角させても、依然として自着火は発生し、プリイグニッションは抑制されない。むしろ、図4に基づき説明した通り、プリイグニッションが一旦発生すると、時間経過とともにプリイグニッションは徐々に発展していき、燃焼開始時期の過早化と、燃焼の急峻化を招く。図8において、プリイグニッション発生時の最大振動強度Vmaxを示す△マークが、徐々に左上の方向に移動しているのはこのためである。すなわち、プリイグニッションの発生時には、点火時期の遅角化とは関係なく、最大振動強度Vmaxの大きさが時間経過とともに徐々に増大し、しかもその検出時期が進角していく。以上のことから、プリイグニッションが発生している場合には、点火時期を遅角させても、最大振動強度Vmaxの増大およびその検出時期の進角化が見られ、ノッキングの発生時には、点火時期の遅角化に伴い、最大振動強度Vmaxの低下およびその検出時期の遅角化が見られることが分かる。そこで、当実施形態では、点火時期の遅角化に伴う最大振動強度Vmaxの変化ここでは特にその大きさの変化に着目するに基づいて、プリイグニッションまたはノッキングのいずれが発生しているのかを判別するようにしている。これにより、振動センサ33を用いながらも、プリイグニッションかノッキングかを正確に判別することができる。4制御動作次に、以上のような機能を有するECU40による制御動作について、図9~図12のフローチャートに基づき説明する。なお、ここでは、プリイグニッションおよびノッキングの検出、およびこれらが検出されたときの回避動作を中心に説明する。図9のフローチャートに示す処理がスタートすると、まず、各種センサ値を読み込む制御が実行されるステップS1。具体的には、上記エンジン回転速度センサ30、エアフローセンサ31、アクセル開度センサ32、振動センサ33、およびイオン電流センサ34から、それぞれ、エンジン回転速度Ne、吸入空気量Qa、アクセル開度AC、振動強度Va、およびイオン電流値Ioが読み出され、ECU40に入力される。次いで、上記ステップS1で読み込まれた情報に基づいて、現在のエンジンの運転状態が、図3に示した特定運転領域R内にあるか否かを判定する制御が実行されるステップS2。具体的には、上記ステップS1で読み込まれたエンジン回転速度Neと、吸入空気量Qaまたはアクセル開度ACから演算されるエンジン負荷Ceとが、ともに図3の特定運転領域Rの範囲に含まれるか否かが判定される。上記ステップS2でNOと判定されて特定運転領域Rから外れていることが確認された場合には、プリイグニッションは起こり得ないため、後述するステップS3以降の処理異常燃焼の判定やその回避制御が必要になることはなく、通常の運転が維持される図10のステップS32。すなわち、燃料の噴射量や噴射時期、吸気弁11の動作タイミング等が、運転状態に応じて予め定められた通常の目標値に沿って制御される。一方、上記ステップS2でYESと判定されて特定運転領域Rにあることが確認された場合には、上記ステップS1で読み込まれたイオン電流値Ioに基づいて、火炎の発生タイミングが通常よりも早過ぎるか否か、つまり、プリイグニッションが発生しているか否かを判定する制御が実行されるステップS3。具体的には、上記イオン電流値Ioに基づき特定される火炎の発生タイミングが、予め記憶された正常な燃焼開始時期火花点火より少し遅れたタイミング;例えば図4の時点t0よりも所定時間以上早い場合に、プリイグニッションが発生したと判定される。上記ステップS3でYESと判定されてプリイグニッションの発生が確認された場合には、燃焼状態を記録するための異常燃焼フラグFabnrmそのデフォルト値は0に、プリイグニッションが発生していることを表す1を入力する制御が実行されるステップS4。一方、上記ステップS3でNOと判定された場合、つまり、イオン電流値Ioに基づくプリイグニッションの検出がなされなかった場合には、上記ステップS1で振動センサ33から読み込まれた振動強度Vaの情報に基づいて、その最大値最大振動強度Vmaxを取得し、これをVmax1として記憶する制御が実行されるステップS5。そして、記憶された最大振動強度Vmax1が、予め定められた閾値X図8参照以上であるか否かが判定されるステップS6。上記ステップS6でYESと判定されて最大振動強度Vmax1≧閾値Xであることが確認された場合には、点火プラグ16による点火時期を所定量遅角リタードさせる制御が実行されるステップS7。上述したように、上記特定運転領域Rにおける通常の点火時期が、圧縮上死点よりも少し遅れたタイミング例えばATDC5°程度に設定されるため、上記点火時期の遅角化により、圧縮上死点から点火時期までの遅角量はより増大することになる。上記のようにして点火時期の遅角化が行われると、その遅角後の状態で振動センサ33から入力される情報から最大振動強度Vmaxを取得するとともに、その値をVmax2として記憶する制御が実行されるステップS8,S9。そして、記憶された最大振動強度Vmax2が上記閾値X以上であるか否かが再び判定されるステップS10。なお、以下では、点火時期を遅角させた後に記憶された最大振動強度Vmax2のことを点火リタード後の最大振動強度Vmax2、点火時期を遅角させる前に記憶された最大振動強度Vmax1のことを点火リタード前の最大振動強度Vmax1ということがある。上記ステップS10でYESと判定された場合、つまり、点火リタード後の最大振動強度Vmax2≧閾値Xであることが確認された場合には、点火時期を遅角させても最大振動強度Vmaxが低下していないことになるので、異常燃焼フラグFabnrmに、プリイグニッションが発生していることを表す1が入力されるステップS4。すなわち、図8の△マークに示すように、プリイグニッションが発生している場合には、点火時期を遅角させてもプリイグニッションは抑制されず、最大振動強度Vmaxが増大していくので、上記のように点火リタード後の最大振動強度Vmax2がなおも閾値X以上の高い値を保っている場合には、プリイグニッションが発生していると判定することができ、その結果、異常燃焼フラグFabnrm=1とされる。一方、上記ステップS10でNOと判定された場合、つまり、点火リタード後の最大振動強度Vmax2<閾値Xであることが確認された場合には、点火時期の遅角化に伴い最大振動強度Vmaxが低下していることになるので、次のステップS12において、異常燃焼フラグFabnrmに、ノッキングが発生していることを表す2を入力する制御が実行される。すなわち、図8の×マークに示すように、ノッキングの発生中に点火時期を遅角させた場合には、最大振動強度Vmaxが低下するので、上記のような現象が見られた場合には、ノッキングが発生していると判定することができ、その結果、異常燃焼フラグFabnrm=2とされる。また、上記ステップS6でNOと判定された場合、すなわち、点火リタード前の最大振動強度Vmax1が閾値Xよりも小さいことが確認された場合には、プリイグニッションまたはノッキングのいずれも発生していないと考えられるため、異常燃焼フラグFabnrmに、燃焼状態が正常であることを表す0を入力する制御が実行されるステップS13。以上のように、図9のフローチャートでは、エンジンの運転状態が特定運転領域Rにあるときに、イオン電流センサ34および振動センサ33の検出値に基づいて、プリイグニッションまたはノッキングが発生しているか否かが判定され、その結果に応じて、異常燃焼フラグFabnrmに、012のいずれの値が入力される。上記図9のフローチャートに続く処理を図10に示す。本図に示す処理がスタートすると、まず、異常燃焼フラグFabnrm=1であるか否かが判定されステップS20、ここでYESFabnrm=1と判定されてプリイグニッションが発生していることが確認された場合に、これを回避するための制御として、プリイグ回避制御が実行されるステップS21。次に、上記ステップS21のプリイグ回避制御の具体的内容について、図11を参照しつつ説明する。このプリイグ回避制御が開始されると、まず、現在設定されている筒内の空燃比A/Fが、11よりも小さいか否かを判定する制御が実行されるステップS40。なお、ここでの判定閾値A/F=11は、後述するステップS42で空燃比をリッチ化する場合に許される限界値である。仮に、A/F=11よりもさらに小さい値まで空燃比がリッチ化されると、スモークが発生するおそれがあり、また燃費の面でも不利になるため、リッチ化の限界値として、A/F=11が設定されている。上記特定運転領域Rでは、当初、筒内の空燃比が、理論空燃比=14.7か、又はこれよりもややリッチな値に設定され、上記限界値=11よりもリーンな空燃比に設定されている。このため、上記ステップS40での最初の判定は当然にYESとなり、次のステップS42に移行して、空燃比をリッチ化する制御が実行される。具体的には、インジェクタ18からの燃料の噴射量が増大されることにより、筒内の空燃比が、現在設定されている空燃比よりも所定量リッチにされる。上記空燃比のリッチ化は、複数回に分けて段階的に行われる。例えば、現在の空燃比がA/F=14.7理論空燃比であれば、これよりも小さいA/F=12.5まで空燃比がリッチ化され、それでもプリイグニッションを回避できない場合に、さらに小さい空燃比であるA/F=11限界値までリッチ化される。逆に、A/F=12.5の時点でプリイグニッションが回避されれば、その時点でリッチ化は停止される。上記ステップS42で空燃比を限界値のA/F=11までリッチ化した後、なおもプリイグニッションが継続して起きる場合には、上記ステップS40でNOと判定されるため、次のステップS41で、現在設定されている吸気弁11の閉時期IVCが、後述するステップS43でIVCを最大限に遅角させた場合の閉時期最遅時期であるTxよりも早いか否かを判定する制御が実行される。なお、ここでの判定閾値である最遅時期Txは、エンジンの有効圧縮比が幾何学的圧縮比に対しある程度低下し、吸気の吹き返しが起きるような時期として、例えば吸気下死点の通過後ABDC110°CA程度に設定される。仮に、吸気弁11の閉時期が最遅時期Txよりもさらに遅角されると、エンジンの有効圧縮比が極端に低下して出力が不足するため、最大限に遅角できる量として、上記最遅時期Txが設定されている。上記特定運転領域Rでは、当初、吸気弁11の閉時期が、吸気の吹き返しがほとんど起きないような時期として、例えば吸気下死点の通過後ABDC35±5°CA程度に設定されている。このため、上記ステップS41での最初の判定は当然にNOとなり、次のステップS43に移行して、吸気弁11の閉時期を遅角リタードさせる制御が実行される。具体的には、吸気弁11の動作タイミングが遅れる方向にVVT15が駆動されることにより、吸気弁11の閉時期が現在の設定値よりも所定量遅角され、エンジンの有効圧縮比が下げられる。上記吸気弁11の閉時期の遅角化は、上記ステップS42の空燃比のリッチ化のときと同様、複数回に分けて段階的に行われる。すなわち、吸気弁11の閉時期をまず所定量遅角させ、その状態でプリイグニッションが回避されれば、それ以上の遅角化を禁止する一方、プリイグニッションが回避できなければ、さらに遅角量を増大させる。さらに、当実施形態において、上記のように段階的に吸気弁11の閉時期を遅角させる際には、遅角化に伴って有効圧縮比が一定間隔ずつ低下するように、各回の遅角量を設定する。そのため、各回の遅角量は、遅角前の閉時期が吸気下死点に近いほど大きくされ、遅角化が進むにつれて徐々に小さくされる。遅角量を上記のように制御する理由について図13を用いて説明する。図13は、幾何学的圧縮比が14のエンジンにおいて、吸気弁11の閉時期IVCの遅角量と有効圧縮比との関係を示すグラフである。このグラフによると、吸気弁11の閉時期が吸気下死点BDCから遠ざかるほど横軸右側ほど、グラフの傾きが大きくなり、有効圧縮比の低下率が徐々に増大していくことが分かる。このため、有効圧縮比を常に一定量だけ低下させようとすれば、現在の吸気弁11の閉時期が吸気下死点に対し遅角しているほど、そこからの遅角量を小さくし、逆に、現在の吸気弁11の閉時期が吸気下死点に近いほど、遅角量を大きくする必要がある。図14は、有効圧縮比を0.5だけ低下させるのに必要な吸気弁11の閉時期の遅角量縦軸が、現在の遅角量横軸の値に応じてどのように変化するかを、遅角量30°CA以上の範囲において示したグラフである。このグラフによれば、例えば、現在の遅角量が30°CAであれば、そこからさらに約10°CA遅角させなければ、有効圧縮比を0.5低下させることができないのに対し、現在の遅角量が40°CAである場合には、そこから約8°CA遅角させるだけで、有効圧縮比を0.5低下させることができる。このように、有効圧縮比を一定量だけ低下させるために必要な吸気弁11の閉時期の遅角量は、現在の遅角量が大きいほど小さくなる。そこで、上記ステップS43で吸気弁11の閉時期を吸気下死点に対し遅角させる際には、遅角前の閉時期が吸気下死点から遠ざかるほど遅角量を徐々に小さくしながら、上記最遅時期Txまでの範囲で複数回に分けて吸気弁11の閉時期を遅角させことにより、有効圧縮比を一定間隔ずつ段階的に低下させるようにする。上記ステップS43で吸気弁11の閉時期が最遅時期Txまで遅角された後、なおもプリイグニッションが継続して起きる場合には、上記ステップS41でNOと判定されるため、次のステップS44で、燃料の噴射時期を分割してその一部を圧縮行程噴射する制御が実行される。すなわち、図15に示すように、本来は吸気行程中に全ての燃料が噴射されるべきところ同図aのF、そのうちの一部の燃料の噴射時期が圧縮行程の後期まで遅角されることにより、吸気行程と圧縮行程とに分割して燃料が噴射される同図bのF1,F2。以上のように、上記プリイグ回避制御においては、空燃比のリッチ化ステップS42と、吸気弁11の閉時期の遅角化ステップS43と、燃料噴射時期の遅角化ステップS44とが、この順に優先して実行されるようになっている。上記ステップS42,S43,S44のいずれかの制御が開始されると、その後は、制御の実行状態を記録するための制御実行フラグFFそのデフォルト値は0に、プリイグ回避制御が実行中であることを表す1が入力されステップS45、図10のメインフローにリターンされる。図16は、上記プリイグ回避制御において、上記ステップS42,S43,S44の全ての制御を実行しないとプリイグニッションが回避できなかったと仮定した場合に、空燃比A/F、吸気弁11の閉時期IVC、および燃料噴射時期が、時間経過に応じてそれぞれどのように変化するかを示すタイムチャートである。本図からも理解できるように、プリイグ回避制御では、まず、空燃比を段階的にリッチ化する制御が優先的に実行され、そこで最大限にA/F=11までリッチ化された後もプリイグニッションが回避できない場合に、吸気弁11の閉時期IVCが段階的に遅角され、そこで最大限に遅角された後でもなおプリイグニッションが回避できない場合に、燃料噴射時期の遅角化燃料の一部の圧縮行程噴射が実行される。再び図10に戻って、上記ステップS20での判定がNOであった場合の制御動作について説明する。上述したプリイグ回避制御S21の結果、プリイグニッションが十分に抑制された場合、もしくは、当初からプリイグニッションが発生していなかった場合には、異常燃焼フラグFabnrm≠1となり、上記ステップS20での判定がNOとなる。すると、次のステップS23で、異常燃焼フラグFabnrm=2であるか否か、つまり、ノッキングが発生しているか否かが判定される。上記ステップS23でYESと判定されてノッキング発生していることが確認された場合には、そのノッキングが十分に収まるまで点火時期を遅角リタードさせる制御が実行されるとともにステップS24、その制御が実行中であることを記録すべく、上記制御実行フラグFFに2を入力する制御が実行されるステップS25。上記点火時期の遅角化によりノッキングが十分に抑制された場合、もしくは、当初からノッキングが発生していなかった場合には、上記ステップS23での判定がNOとなる。つまり、ステップS20,S23でいずれもNOであるため、異常燃焼フラグFabnrm=0であり、プリイグニッションおよびノッキングが両方とも発生しておらず、燃焼状態は正常ということになる。すると、次のステップS26で、制御実行フラグFFが1であるか、つまり、上記プリイグ回避制御S21が実行中であるか否かが判定される。仮に、上記プリイグ回避制御が実行された結果現在の燃焼状態が正常になったものとすると、上記フラグFF=1であるため、上記ステップS26ではYESと判定される。すると、次のステップS27で、上記プリイグ回避制御を解除して通常運転に復帰するための復帰制御が実行される。図12は、上記ステップS27での復帰制御の具体的内容を示している。この復帰制御が開始されると、まず、一部の燃料の噴射時期を圧縮行程後期まで遅角させる制御図11のステップS44が実行中か否かが判定されステップS50、ここでYESと判定されて燃料噴射時期の遅角化圧縮行程噴射が実行中であることが確認された場合に、上記一部の燃料の噴射時期を、通常の噴射時期である吸気行程中に戻す制御が実行されるステップS53。上記のように燃料の噴射時期が通常時期吸気行程中に戻された後もプリイグニッションが発生しなかった場合、もしくは、当初から燃料噴射時期の遅角化が実行されていなかった場合には、上記ステップS50での判定がNOとなる。すると、ステップS51に移行して、吸気弁11の閉時期が、本来の設定時期よりも遅角側に設定されているか否かを判定する制御が実行される。上記図11のステップS43で吸気弁11の閉時期が遅角されていれば、上記ステップS51ではYESと判定される。すると、ステップS54に移行して、吸気弁11の閉時期を進角アドバンス側に戻して有効圧縮比を増大させる制御が実行される。上記吸気弁11の閉時期の進角化は、上記図11のステップS43のときと同様、複数回に分けて段階的に行われる。このときの各回の進角量は、図14のグラフに対応して、進角前の閉時期が吸気下死点から遠いほど小さく、吸気下死点に近づくほど大きくされる。そして、このような段階的な進角化を、吸気弁11の閉時期が通常時期吸気の吹き返しがほとんど起きないような時期;例えばABDC35±5°程度に達するまで継続することにより、有効圧縮比を一定間隔ずつ徐々に増大させ、幾何学的圧縮比に近い値まで復帰させる。上記のようにして吸気弁11の閉時期が通常時期まで戻された後もプリイグニッションが発生しなかった場合、もしくは、当初から吸気弁11の閉時期が遅角されていなかった場合には、上記ステップS51での判定がNOとなる。すると、ステップS52に移行して、筒内の空燃比が通常値理論空燃比もしくはその近傍よりもリッチ化されているか否かを判定する制御が実行される。そして、ここでYESと判定されて空燃比がリッチ化されていることが確認された場合に、空燃比をリーン側通常値に近づく側に戻す制御が実行されるステップS55。上記空燃比のリーン化は、上記図11のステップS42のときと同様、複数回に分けて段階的に行われる。例えば、筒内の空燃比が、A/F=11→12.5→14.7のように、段階的にリーン化されて、通常値へと戻される。上記ステップS55の制御が完了して空燃比が通常値に戻されると、上記ステップS52の判定がNOとなる。すると、制御実行フラグFFに0が入力されステップS56、図10のメインフローにリターンされる。図17は、以上のような復帰制御が行われた場合の空燃比や燃料噴射時期等の時間変化を示すタイムチャートである。なお、ここでは、先の図16に示したようなプリイグ回避制御が行われた場合、つまり、プリイグニッションを回避するために、空燃比のリッチ化、吸気弁11の閉時期の遅角化、および燃料噴射時期の遅角化燃料の一部の圧縮行程噴射を全て行う必要があった場合に、その後の復帰制御によって各状態量がどのように変化するかを示している。図17に示すように、プリイグ回避制御からの復帰に際しては、まず燃料噴射時期の遅角化が解除されて噴射時期が通常時期吸気行程中に戻され、その後もプリイグニッションが発生しなかった場合に、吸気弁11の閉時期IVCを通常時期に向けて段階的に進角させる制御が実行され、それでもプリイグニッションが発生しなかった場合に、空燃比を通常値に向けて段階的にリーン化する制御が実行される。再び図10に戻って、上記ステップS26での判定がNOであった場合の制御動作について説明する。上述した復帰制御の結果、プリイグ回避制御S21が完全に解除され、空燃比、吸気弁11の閉時期、燃料噴射時期が全て通常値に戻された場合、もしくは、当初からプリイグ回避制御が行われていなかった場合には、制御実行フラグFF≠1となり、上記ステップS26での判定がNOとなる。すると、次のステップS29で、制御実行フラグFF=2であるか、つまり、ノッキング回避のために点火時期を遅角させる制御が実行されているか否かが判定される。上記ステップS29でYESと判定されて点火時期が遅角されていることが確認された場合には、遅角後の点火時期を進角させて通常の点火時期特定運転領域Rでは例えばATDC5°程度に戻すとともにステップS30、上記制御実行フラグFFに0を入力する制御が実行されるステップS31。上記のように点火時期が通常時期に戻された後もノッキングが発生しなかった場合、もしくは、当初から点火時期の遅角化が行われていなかった場合には、上記ステップS29でNOと判定されて、通常運転が継続されるステップS32。5作用効果当実施形態の火花点火式エンジンでは、エンジンの低回転高負荷域に設定された特定運転領域Rで、イオン電流センサ34により火炎を検出し、その検出タイミング火炎の発生タイミングに基づいてプリイグニッションの有無を判定する一方、このイオン電流センサ34を用いた検出によりプリイグニッションが確認されなかった場合でも、さらに振動センサ33を用いてプリイグニッションを検出するようにした。このような構成によれば、混合気が過早に自着火する現象であるプリイグニッションを、ノッキングと区別しながらより高い精度で検出できるという利点がある。具体的に、上記振動センサ33を用いてプリイグニッションを検出する際には、まず、振動センサ33から取得された最大振動強度Vmax1が閾値X以上であるか否かを判定しS6、閾値X以上であれば、さらに、点火プラグ16による点火時期を、圧縮上死点の少し遅角側例えばATDC5°程度にあたる通常時の点火時期から、さらに遅角側に変更する。そして、この点火時期の遅角化の後に取得された最大振動強度点火リタード後の最大振動強度Vmax2が、上記閾値X以上であるか否かを判定しS10、閾値X以上であれば、プリイグニッションが発生していると判定するS4。このような手順を踏むことにより、それ程発展していない比較的初期段階のプリイグニッション例えば図4の波形J1のような軽度のプリイグニッションまたはこれに近いものであっても、これをノッキングと区別しながら確実に検出できるという利点がある。例えば、最大振動強度Vmaxを単に基準値と比較しただけでは、特にプリイグニッションが比較的初期段階のものであった場合に、プリイグニッションであるのか、それともノッキングであるのかを判別することは困難である。このような問題に対し、上記構成では、所定の閾値X以上の最大振動強度Vmaxが確認されたときに、意図的に点火時期を遅角させ、その前後で最大振動強度Vmaxの低下が見られなかった場合つまり点火時期の遅角化の後においてもなおVmax≧Xである場合に、プリイグニッションが発生していると判定するものであるため、点火時期の遅角化がノッキングの抑制にのみ効果があるプリイグニッションの抑制には効果がないという事象を利用して、プリイグニッションかノッキングかを正確に判別することが可能である。したがって、上記構成によれば、振動センサ33を用いながらも、混合気が過早に自着火する現象であるプリイグニッションを、ノッキングと区別しながら確実に検出することができ、仮にイオン電流センサ34に断線等の故障が起きたり、その検出精度が十分でなかったとしても、プリイグニッションの発生を見逃してしまうことがない。そして、プリイグニッションが検出されたときに、これを回避するための必要な措置つまり空燃比のリッチ化や有効圧縮比の低下等の制御を講ずることにより、プリイグニッションが継続されることに起因したエンジントラブル例えばピストン5の損傷等を確実に防止することができる。また、上記実施形態では、特定運転領域Rにおいてイオン電流センサ34および振動センサ33の検出値に基づきプリイグニッションの発生が確認された場合S3,S10,S11のいずれかでYESの場合に、これを回避するための制御として、プリイグ回避制御S21が実行される。そして、プリイグ回避制御では、まず、インジェクタ18からの燃料の噴射量を増大させて筒内の空燃比をリッチ化する制御S42が実行され、その制御の後もプリイグニッションが検出された場合に、吸気弁11の閉時期を遅角させてエンジンの有効圧縮比を低下させる制御S43が実行され、それでもプリイグニッションが検出されたときに、一部の燃料の噴射時期を圧縮行程の後期まで遅角させる制御S44が実行される。このような構成によれば、エミッション性をできる限り良好に維持しながら、プリイグニッションの発生を効果的に抑制できるという利点がある。すなわち、上記実施形態では、プリイグニッションを回避するためのプリイグ回避制御において、空燃比をリッチ化する制御がまず最初に行われ、燃料噴射時期を遅角させる燃料の一部を圧縮行程噴射する制御は最も後回しにされるため、スモークが発生してエミッション性が悪化するのをできるだけ回避しながら、プリイグニッションの発生を効果的に抑制することができる。火花点火式エンジンにおいては、空燃比のリッチ化、または燃料噴射時期の遅角化のいずれを行っても、筒内温度を低下させてプリイグニッションを抑制することができるが、燃料噴射時期の遅角化圧縮行程噴射は、多くの未燃炭素の残存によるスモークの発生につながるおそれがあるため、いきなり噴射時期の遅角化を行うと、頻繁にスモークが発生することが懸念される。これに対し、上記実施形態では、プリイグニッションの発生時にまず空燃比をリッチ化して筒内温度の低下を図り、それでもプリイグニッションが回避できない場合にのみ、上記噴射時期の遅角化を実行するようにしたため、上記のようなスモークの発生を極力回避して、エミッション性をできる限り良好に維持できるという利点がある。さらに、空燃比のリッチ化S42より優先度が低くかつ燃料噴射時期の遅角化S44より優先度が高い制御として、吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御S43を実行するようにしたため、燃料噴射時期の遅角化が行われる頻度をより低くして、スモーク発生によるエミッション性の悪化をより効果的に防止できるという利点がある。すなわち、空燃比のリッチ化に次いで、エンジンの有効圧縮比を低下させる制御を実行し、筒内圧力の低下を図った上で、それでもプリイグニッションを回避できないときに、はじめて燃料噴射時期を遅角させるようにしたため、燃料噴射時期を遅角させなくても、より高い確率でプリイグニッションを回避することが可能になる。これにより、燃料噴射時期の遅角化が実行される頻度が極めて低くなり、スモークの発生を極力回避しながらプリイグニッションを抑制することができる。なお、上記構成において、プリイグ回避制御に移行したときには、まず空燃比をリッチ化する制御が実行され、それでもプリイグニッションが回避できないときに、吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御が実行されるが、これら2つの制御空燃比のリッチ化および有効圧縮比の低下は、そのいずれを実施してもエミッション性スモークの発生には影響しないため、この点だけを考慮すれば、有効圧縮比の低下を空燃比のリッチ化より優先して行ってもよいと考えられる。しかしながら、有効圧縮比を低下させる制御は、エンジンの出力低下を招くだけでなく、制御の応答性に劣るという問題がある。すなわち、特にVVT15が液圧式の可変機構である場合、このVVT15の駆動により吸気弁11の動作タイミングを変更するのに、比較的長時間の応答遅れが生じるため、吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御は、インジェクタ18からの噴射量を増やして空燃比をリッチ化する制御に比べて、制御の応答性の面で劣るといえる。そこで、上記実施形態では、プリイグ回避制御時に、空燃比のリッチ化を先に、有効圧縮比の低下を後に実行するようにした。このように、有効圧縮比の低下を後回しにすることで、圧縮比の低下に起因したエンジン出力の低下をできるだけ回避できるとともに、応答性に優れた空燃比のリッチ化を最優先で行うことにより、プリイグニッションの発生直後にその抑制をより迅速に図れるという利点がある。また、上記実施形態では、プリイグ回避制御時に、空燃比のリッチ化を段階的に行い、最大限に限界値のA/F=11までリッチ化した状態でもプリイグニッションが検出された場合に、上記有効圧縮比を低下させる制御を実行するようにした図16参照。このように、空燃比のリッチ化を段階的に行うようにすれば、例えばプリイグニッションの程度が軽く、空燃比をわずかにリッチ化するだけでプリイグニッションを回避できるような場合に、必要以上に空燃比をリッチ化してしまうことがなく、空燃比のリッチ化による燃費性能等の悪化を最小限に抑えることができる。また、空燃比を最大限にリッチ化してもプリイグニッションを回避できないときには、有効圧縮比の低下、さらには燃料噴射時期の遅角化によりプリイグニッションの抑制を図ることで、空燃比が過度にリッチ化されるのを防止しながら、比較的発展したプリイグニッションであってもこれを確実に回避することができる。同様に、上記実施形態では、吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御を段階的に行い、有効圧縮比を最大限に最遅時期Txに対応する圧縮比まで低下させた状態でもプリイグニッションが検出された場合に、上記燃料噴射時期を遅角させる制御を実行するようにした。このような構成によれば、有効圧縮比が必要以上に低下してエンジン出力が大幅に低下するのを防止しながら、プリイグニッションをより確実に回避できるという利点がある。特に、上記実施形態では、吸気弁11の閉時期を段階的に遅角させる際に、図14に示したように、現在の閉時期が吸気下死点に近いほど、そこからの遅角量を大きく設定するようにしたため、吸気弁11の閉時期を1回遅角させるごとに、有効圧縮比を一定間隔ずつ低下させることができる。このため、1回の遅角化によってエンジン出力が急低下したり、圧縮比がわずかしか低下せずにプリイグニッションへの効果がほとんど得られなかったりする事態を適正に回避でき、プリイグニッションの発生をより効果的に抑制できるという利点がある。さらに、上記実施形態では、通常時プリイグニッションが起きていないときの吸気弁11の閉時期を、吸気下死点よりも遅角側でかつ吸気の吹き返しがほとんど起きないような時期特定運転領域RではABDC35±5°程度に設定する一方、上記プリイグ回避制御で有効圧縮比を低下させる際には、VVT15を駆動して上記吸気弁11の閉時期を吸気下死点に対しさらに遅角させるようにしたため、通常時のエンジン出力を十分に確保しつつ、必要時に効率よく有効圧縮比を低下させることができるという利点がある。例えば、単に有効圧縮比を低下させるだけであれば、吸気弁11の閉時期を吸気下死点の進角側まで早めることによっても、有効圧縮比の低下は可能である。しかしながら、通常時の吸気弁11の閉時期が吸気下死点よりも遅角側である場合、そこから吸気下死点の進角側まで閉時期を変更して有効圧縮比を低下させようとすれば、吸気弁11の動作タイミングを大幅に変化させる必要が生じ、VVT15の制御量が増えて、制御の応答性が悪化するという問題がある。また、これを回避すべく、通常時の吸気弁11の閉時期を、吸気下死点と略一致するタイミング、もしくはこれよりも進角側に設定することも考えられるが、このようにすると、吸気慣性を十分に利用することができず、エンジン出力の低下を招いてしまう。このような点から、やはり上記実施形態のように、通常時の吸気弁11の閉時期を、吸気下死点よりも遅角側に設定し、有効圧縮比を低下させる際には、吸気弁11の閉時期を上記通常時期に対し遅角させるようにした方が、通常時のエンジン出力を十分に確保しつつ、必要時に効率よく有効圧縮比を低下させることができる点で有利である。また、上記実施形態では、プリイグ回避制御から通常運転への復帰時に、燃料噴射時期の遅角化燃料の一部の圧縮行程噴射を解除する制御を最優先で実行し、圧縮行程の後期にまで遅角されていた上記一部の燃料の噴射時期を吸気行程中に戻すようにしたため、プリイグニッションを回避するための制御の後に、できるだけ早期にエミッション性を回復させることができるという利点がある。例えば、プリイグ回避制御において、空燃比のリッチ化と、有効圧縮比の低下吸気弁11の閉時期の遅角化と、燃料噴射時期の遅角化とが全て必要であった場合には、その状態から通常運転に復帰する際に、図17に示すように、まず燃料噴射時期の遅角化を解除して噴射時期を吸気行程中にまで戻し、その後もプリイグニッションが検出されない場合に、吸気弁11の閉時期を進角側に戻して有効圧縮比を増大させ、それでもプリイグニッションが検出されない場合に、空燃比をリーン側に戻すようにした。このような構成によれば、プリイグニッションが回避されたときに、燃料噴射時期の遅角化をまず最初に解除してスモークの発生の可能性を除去することにより、エミッション性が悪化する時間を最小限に抑えることができる。また、その後もプリイグニッションが検出されなければ、次に優先される制御として、吸気弁11の閉時期を進角させて有効圧縮比を増大させることにより、圧縮比の低下に起因したエンジン出力の落ち込みを早期に解消することができる。そして、それでもプリイグニッションが検出されなければ、最終的に空燃比をリーン側に戻すことにより、プリイグニッションの発生が無いことを担保しながら、通常運転への復帰を適正に図ることができる。6変形例等なお、上記実施形態では、プリイグ回避制御において空燃比をリッチ化する際に、例えばA/F=14.7→12.5→11のように、複数回に分けて段階的にリッチ化するようにしたが、さらに多くの回数に分けて多段階で空燃比をリッチ化するようにしてもよい。逆に、リッチ化の回数を1回だけにし、その後プリイグニッションが回避されなければ、すぐに吸気弁11の閉時期を遅角させて有効圧縮比を低下させる制御に移行してもよい。また、上記実施形態では、プリイグ回避制御において吸気弁11の閉時期を遅角させて有効圧縮比を低下させる際に、吸気弁11の閉時期を複数回に分けて段階的に遅角させるようにしたが、遅角化の回数はエンジンの特性等に応じて適宜設定可能である。また、エンジンの特性上、できるだけ出力を低下させたくない場合には、吸気弁11の閉時期の遅角化を1回のみとしてもよい。ただしこの場合でも、遅角前の吸気弁11の閉時期が、吸気下死点に対し遅角しているほど、そこからの遅角量を小さくすべきである。すなわち、プリイグニッションが発生し得る特定運転領域Rにおいて、通常時の吸気弁11の閉時期は、例えば吸気下死点の通過後ABDC35±5°程度と、ある程度の幅をもっているので、遅角化を開始する前の吸気弁11の閉時期が例えばABDC40°であれば、ABDC30°のときと比べて、閉時期を遅角させる際の遅角量を小さく設定する。これにより、通常時の吸気弁11の閉時期にかかわらず、有効圧縮比の低下幅を常に一定にすることができる。また、上記実施形態では、例えば図15aに示したように、プリイグニッションが発生していない通常時の燃料噴射時期を、吸気行程中の1回のみに設定したつまり吸気行程中の1回に全ての燃料を噴射するようにしたが、通常時の燃料の噴射時期は、吸気行程中であればよく、吸気行程中に複数回に分割して燃料を噴射してもよい。また、上記実施形態では、プリイグニッションが検出されたときに、空燃比のリッチ化および有効圧縮比の低下を順に実行し、それでもプリイグニッションを回避できないときに、噴射すべき燃料の一部の噴射時期を圧縮行程の後期まで一気に遅角させるようにしたが図15b、例えば図18に示すように、圧縮行程中まで遅角される2回目の噴射F2以下、後段噴射というを、圧縮行程の中期から後期にかけて段階的に遅角させるようにしてもよい。すなわち、まず後段噴射F2の時期を圧縮行程の中期まで遅角させ図18b、その状態でもプリイグニッションが回避できなかった場合に、後段噴射F2の時期をさらに遅角させて、圧縮行程の後期図18cに設定する。このようにすれば、後段噴射F2を圧縮行程の中期まで遅角させれば十分にプリイグニッションを回避できるような場合に、スモークが発生する可能性が高い圧縮行程の後期までいきなり噴射時期が遅角されるようなことがなく、エミッション性の悪化をより効果的に防止することができる。逆に、エンジンの特性等によっては、後段噴射F2を圧縮行程の後期まで遅角させても、なおもプリイグニッションが回避できないような事態があることも想定される。そこで、このような場合には、例えば、上記後段噴射F2を圧縮行程後期まで遅角させる制御と同時もしくはその後に、空燃比を、限界値のA/F=11よりもさらにリッチ側に例えばA/F=10程度まで変化させるとよい。これにより、一時的にスモークが発生する可能性はより高まるが、プリイグニッションが相当に発展している場合であっても、これを確実に回避することができる。また、上記実施形態では、燃料噴射を分割してその一部後段噴射F2を圧縮行程中まで遅角させる制御を実行し、その制御の結果、プリイグニッションが回避された場合に、圧縮行程中まで遅角された上記一部の燃料の噴射時期を、すぐに通常時期吸気行程中まで戻すようにしたが、プリイグニッションが回避された後の噴射時期は、少なくとも進角側吸気行程に近づける側に戻せばよく、通常時期まで段階的に進角させてもよい。また、上記実施形態では、プリイグ回避制御として、空燃比のリッチ化S42と、有効圧縮比の低下S43と、燃料の一部の圧縮行程噴射S44とを、この順に優先して実行し、これにより筒内温度および筒内圧力を低下させるようにしたが、筒内温度圧力の少なくとも一方を低下させることができる制御であれば、上記3種類の制御以外も適用可能である。例えば、吸気通路20の途中部に、吸入空気を冷却する冷却装置を設け、この冷却装置により冷却された吸入空気を燃焼室6に導入するようにしてもよい。また、上記実施形態では、エンジンの低回転かつ高負荷域に、プリイグニッションが発生し易い領域として特定運転領域R図3を設定し、この特定運転領域Rでエンジンが運転されているときに、プリイグニッションが発生しているか否かを判定するようにしたが、この判定制御の実行領域特定運転領域Rは、エンジンの低回転かつ高負荷域に限られない。例えば、図3の示した領域Rよりも高回転側の領域、つまり、最高負荷ラインWOTの近傍高負荷で、かつエンジンの中高速域では、燃料の受熱期間燃料が高温高圧環境下に晒される実時間は短くなるものの、単位時間あたりの熱発生量が増えるため、排気弁12の傘部や点火プラグ16が高温化し、これが熱源ヒートポイントとなってプリイグニッションが引き起こされることがある。したがって、このような種類のプリイグニッションが懸念されるエンジンにおいては、プリイグニッションの判定が行われる上記特定運転領域Rを高回転側まで拡大し、エンジンの高負荷域の全域でプリイグニッションを判定するようにしてもよい。また、上記実施形態では、振動センサ33の検出値に基づく最大振動強度Vmax点火リタード前の最大振動強度Vmax1が所定の閾値X以上であれば、点火時期を遅角化し、その遅角化の後に取得された最大振動強度Vmax点火リタード後の最大振動強度Vmax2が再び閾値X以上であれば、プリイグニッションが発生していると判定する一方、上記閾値X未満まで低下していれば、ノッキングが発生していると判定するようにしたが、たとえノッキングであっても、点火時期の遅角化の幅が小さい場合は、その遅角化によって最大振動強度Vmaxがそれほど低下しないと考えられる。そこで、このような場合には、上記点火時期の遅角化を複数回例えば1気筒につき2~10回程度行い、各回の遅角化の後に取得された最大振動強度Vmaxが全て閾値X以上であったときに、初めて、プリイグニッションが発生していると判定するとよい。例えば、1回の遅角化の幅を6°CAとし、遅角化を5回行うものとすると、遅角化の幅を6°CAずつ、合計で6×5=30°CAまで増大させる。そして、各遅角化の度に最大振動強度Vmaxを取得し、それらが全て閾値X以上であればプリイグニッションとし、それ以外のときはノッキングとする。このように、点火時期の遅角化を複数回行い、その全てにおいてVmax≧Xが確認された場合にのみ、プリイグニッションと判定するようにした場合には、比較的重大な異常燃焼であるプリイグニッションの発生の有無を、より慎重に判定することができる。また、1回当たりの点火時期の遅角幅を小さくできるので、プリイグニッションの判定制御のたびにエンジン出力が急変する等の事態を効果的に防止できるという利点もある。また、上記実施形態では、点火時期の遅角化の前後において最大振動強度Vmaxの大きさの変化を調べ、それによってプイリグニッションまたはノッキングのいずれが発生しているのか調べるようにしたが、図8等を用いて説明したように、プリイグニッションが起きている場合は、点火時期の遅角化とは関係なく、Vmaxの検出時期が進角するという現象が見られる。そこで、点火時期の遅角化の前後においてVmaxの検出時期の変化を調べ、検出時期が進角側に移行している場合はプリイグニッションとし、遅角側に移行している場合はノッキングと判定するようにしてもよい。また、上記実施形態では、イオン電流センサ34を点火プラグ16とは別に設け、このイオン電流センサ34で火炎の発生タイミングを検出することにより、プリイグニッションが起きているか否かを判定するようにしたが、点火プラグ16の中心電極プラグ電極に、イオン電流検出用のバイアス電圧を印加するようにすれば、点火プラグ16をイオン電流センサ34として兼用することも可能である。このようにすれば、構造の簡素化を図れるとともに、イオン電流センサ34にかかるコストを削減することができる。ただし、上記のように点火プラグ16をイオン電流センサ34として兼用すると、点火プラグ16から火花が放電される瞬間つまりプラグ電極に放電用の高電圧が印加される瞬間は、プラグ電極にバイアス電圧を印加することができず、イオン電流を検出できなくなるため、イオン電流センサ34単体によるプリイグニッションの検出精度が落ちてしまう。しかしながら、振動センサ33を用いてプリイグイニッションを検出できるようにした上記実施形態の構成によれば、上記のような検出精度の低下を振動センサ33によりカバーできるため、プリイグニッションの検出精度を落とすことなく、構造の簡素化および部品コストの削減を図ることができる。また、上記実施形態では、プリイグニッションの発生を、イオン電流センサ34および振動センサ33の両方を用いて検出するようにしたが、イオン電流センサ34によるプリイグニッションの検出については省略してもよい。このようにすれば、プリイグニッションの発生を振動センサ33単体で検出しながら、構造および制御をより簡素化し、部品コストのさらなる削減を図ることができる。また、上記実施形態では、振動センサ33によりエンジン本体1の振動を検出し、その検出値から特定される最大振動強度Vmaxの変化に基づいて、プリイグニッションまたはノッキングのいずれが発生しているのかを判別するようにしたが、同様の検出方法は、エンジンの筒内圧力を検出する筒内圧センサを用いた場合にも適用可能である。具体的に、筒内圧センサを用いてのプリイグニッションおよびノッキングの検出は、次のようにして行う。まず、エンジンの運転状態が特定運転領域Rにあるときに、筒内圧センサから入力される筒内圧力の波形例えば図5参照から、筒内圧力の最大値を特定し、これが所定の閾値以上であるか否かを判定する。閾値以上であった場合には、点火時期を遅角させ、その後、再度筒内圧力の最大値を取得する。そして、点火時期の遅角化の後に取得された筒内圧力の最大値が上記閾値以上か否かを判定し、大きい場合には、プリイグニッションが発生していると判定する。"