排気の一部を吸気通路へ還流させるEGR通路および還流させる排気の量を制御するEGR弁を含む排気還流手段と、還流させる排気中のNOx濃度を検知するNOx濃度検知手段と、点火時期を可変に制御する点火時期制御手段と、を備え、所定の条件が成立した場合に前記排気還流を実行し、還流させる排気中のNOx濃度が所定値以上になった場合に点火時期を遅角させる内燃機関の燃焼制御装置において、運転者が要求するトルクを検知する要求トルク検知手段を備え、前記点火時期の遅角量を前記排気中のNOx濃度および前記要求トルクに基づいて決定することを特徴とする内燃機関の燃焼制御装置。前記排気中のNOx濃度が高くなるほど前記遅角量を大きくする請求項1に記載の内燃機関の燃焼制御装置。前記要求トルクが小さいほど前記排気中のNOx濃度の変化量あたりの前記遅角量を大きくする請求項1または2に記載の内燃機関の燃焼制御装置。排気の空燃比を可変に制御する空燃比制御手段と、内燃機関と前記EGR通路の間に排気浄化用の触媒と、を備え、前記点火時期の遅角中に前記排気中のNOx濃度が前記判定値より大きい第2判定値以上になったら点火時期を最適点火時期に戻し、かつ空燃比をストイキよりリッチ化する請求項1から3のいずれかに記載の内燃機関の燃焼制御装置。前記排気中のNOx濃度が前記判定値より大きい第3判定値以上になったら点火時期を遅角し、かつ空燃比をストイキよりリッチ化する請求項1から4のいずれかに記載の内燃機関の燃焼制御装置。前記排気中のNOx濃度が前記判定値より大きい第4判定値以上になったら前記排気還流を停止する請求項1から5のいずれかに記載の内燃機関の燃焼制御装置。前記第3判定値は前記第2判定値より大きく、前記第4判定値は前記第3判定値より大きい請求項6に記載の内燃機関の燃焼制御装置。排気の一部を吸気通路へ還流させるEGR通路および還流させる排気の量を制御するEGR弁を含む排気還流手段を備え、所定の条件が成立した場合に排気還流を実行する内燃機関の燃焼制御装置において、還流させる排気中のNOx濃度を検知するNOx濃度検知手段と、点火時期を可変に制御する点火時期制御手段と、運転者が要求するトルクを検知する要求トルク検知手段と、排気の空燃比を可変に制御する空燃比制御手段と、前記排気中のNOx濃度および前記要求トルクに基づいて、点火時期を遅角させる点火時期リタード制御、空燃比をストイキよりリッチ化させる空燃比リッチ化制御、排気還流率を増大させるEGR増大制御のいずれか、またはこれらの組み合わせを選択して実行する内燃機関の燃焼制御装置。特許文献1では、NOxを除去するための後処理装置として放電装置を用いているが、例えば三元触媒のような、排気浄化用の触媒によってもNOxを除去することができる。すなわち、EGRガス中のNOxを除去するためだけに放電装置を設けなくても、触媒通過後の排気ガスを還流させるようにすれば、特許文献1と同様の効果が得られる。ただし、三元触媒を用いる場合には、基本的には排気ガス中のNOxを除去できるものの、例えば燃料カット制御により吸気が未燃のまま燃焼室を通過することで、三元触媒の酸素捕集量が過多になると、燃料カットリカバー後にストイキ空燃比で運転するとNOxを除去できない状況が生じ得る。この場合、空燃比をストイキよりリッチ化することで燃焼室でのNOxの発生量を減少させれば、EGRガス中のNOx濃度を低下させることができるが、燃費性能への跳ね返りが生じる。また、点火時期をリタードすることでもノッキングの発生を防止できるが、同様に燃費性能への跳ね返りが生じる。そもそも、ノッキングが発生するか否かはEGRガス中のNOx濃度だけで決まるものではなく、内燃機関の負荷の状態にもよる。したがって、EGRガス中にNOxが含まれるというだけで点火時期をリタードしたり空燃比をストイキよりリッチ化すると、不必要に燃費性能を低下させることになる。そこで、本発明では、EGRを実行する内燃機関において、燃費性能への跳ね返りを抑制しつつ、確実にノッキングを回避する制御装置を提供することを目的とする。本発明の内燃機関の燃焼制御装置は、排気の一部を吸気通路へ還流させるEGR通路および還流させる排気の量を制御するEGR弁を含む排気還流手段と、還流させる排気中のNOx濃度を検知するNOx濃度検知手段と、点火時期を可変に制御する点火時期制御手段を備える。そして、所定の条件が成立した場合に排気還流を実行し、還流させる排気中のNOx濃度が所定値以上になった場合に点火時期を遅角させる。さらに、運転者が要求するトルクを検知する要求トルク検知手段を備え、点火時期の遅角量を排気中のNOx濃度および要求トルクに基づいて決定する。本発明によれば、排気中のNOx濃度及び要求トルクに基づいて点火時期遅角量を決定するので、EGRガス中のNOx濃度が上昇してEGRによる所望のノッキング防止効果が得られなくなっても、点火時期の遅角によって確実にノッキングを防止できる。また、遅角量を適切に設定できるので、燃費性能への跳ね返りを抑制することができる。以下本発明の実施形態を図面に基づいて説明する。第1実施形態図1は、本発明の第1実施形態を適用するシステムの構成図である。ターボ式過給機6を備える内燃機関1は、吸気クーラ3が一体化されたコレクタタンク2を備え、コレクタタンク2の入口には吸気量を調節するスロットルチャンバ4を備える。吸気通路5にはターボ式過給機6のコンプレッサ6aが介装されており、その上流には後述するEGR通路9が接続されている。内燃機関1の排気通路8には、ターボ式過給機6のタービン6bが介装されており、その下流には排気浄化用の三元触媒7が介装されている。三元触媒7の下流には、三元触媒7を通過した排気ガスの空燃比を検出する空燃比センサ13が設けられ、さらに下流にはEGR通路9が接続されている。EGR通路9は、三元触媒7を通過した排気ガスの一部をEGRガスとして吸気通路5に還流させるための通路であり、EGRガスを冷却するEGRクーラ11およびEGRガス量を調節するEGRバルブ10が介装されている。なお、EGRクーラ11は必須の構成ではない。空燃比センサ13の検出値はエンジンコントロールユニットECU20に入力される。ECU20には、この他に、内燃機関1の回転速度を検出するクランク角センサ14の検出値や、アクセル開度センサ17、水温センサ等の検出値も読み込まれる。そして、ECU20はこれらの検出値に基づいて、スロットルチャンバ4の開度制御、燃料噴射弁15の噴射量制御、点火プラグ16の点火時期制御、EGRバルブ10の開度制御等の種々の制御を実行する。なお、ECU20は、中央演算装置CPU、読み出し専用メモリROM、ランダムアクセスメモリRAM及び入出力インタフェースI/Oインタフェースを備えたマイクロコンピュータで構成される。ECU20を複数のマイクロコンピュータで構成することも可能である。また、ここではターボ式過給機6を備える内燃機関1について説明するが、本発明はターボ式過給機6やその他の過給機を備えない、いわゆる自然吸気の内燃機関であっても同様に適用できる。図2は、EGRを実行する運転領域を示すマップである。図2の縦軸は内燃機関1のトルク、横軸は内燃機関の回転速度であり、全負荷線を実線WOTで示している。EGRを実行するのは図中の網掛けした領域、すなわちトルクがTe1以上の領域である。図3は、図2の破線部分における、内燃機関1のトルクとEGR率との関係を示す図である。図3の縦軸はEGR率、横軸は内燃機関1のトルクである。図3に示すように、トルクTe1からトルクTe2の領域ではEGR率はR2、トルクTe2以上の領域ではEGR率はR1である。なお、EGR率R1は例えば10程度、EGR率R2は例えば20程度である。トルクTe1からトルクTe2の領域よりトルクTe2以上の領域の方が低EGR率なのは、より高いトルクを発生させるために、より多くの吸気量が必要となり、導入できるEGRガス量が制限されるためである。EGRを実行すると、燃焼温度が低下して燃焼室の温度上昇を抑制することができるので、上記のように内燃機関1のトルクが比較的高い領域でEGRを実行することでノッキングの発生を防止することができる。ところで、内燃機関1から排出された排気ガス中に含まれるNOxは、ノッキングを発生させやすくする特性がある。このため、排気ガス中のNOx濃度が高い場合には、EGR率を高めることで、かえってノッキングが発生し易くなる。図1のように三元触媒7を通過した後の排気ガスをEGRガスとして還流させるシステムでは、基本的には排気ガス中のNOxは三元触媒7により還元されるので、EGRガス中にNOxが含有されることはない。しかし、例えば減速時の燃料カット制御中のように、新気がそのまま内燃機関1を通過して三元触媒7に流入する状態が続くことによって、三元触媒7の酸素ストレージ量が過多になり、燃料カットリカバー後のストイキ空燃比での運転中にNOxを還元できなくなる場合がある。このような場合には、EGRガス中のNOx濃度が高まることで吸気管内のNOx濃度が高まり、その結果、EGR率を高めても所望のノッキング防止効果は得られなくなる。図4、図5は、吸気管内NOx濃度とノッキング防止のための点火時期との関係を、内燃機関1のトルク毎に示した図であり、図4は例えば図3のR1のようにEGR率が低い場合、図5は例えば図3のR2のようにEGR率が高い場合について示している。いずれも縦軸が点火時期、横軸が吸気管内NOx濃度を示している。なお、縦軸の点火時期は、最適点火時期MBTからの乖離の度合いを示している。EGR率が低い場合には、図4に示すように、低トルクであればNOx濃度N1まではMBTのままでもノッキングが発生しないが、NOx濃度N1以上では、ノッキング防止のためにNOx濃度が高くなるほど点火時期の遅角量を増大させる必要がある。中トルクのときは、MBTのままでノッキングが発生しないのはNOx濃度がN1より低いN2までとなり、NOx濃度N2以上では、低トルクのときと同様にNOx濃度が高くなるほど点火時期の遅角量を増大させる必要がある。高トルクのときは、そもそもノッキングが発生し易い状態なので、NOx濃度がゼロの状態でもMBTより遅角させる必要があり、そこからNOx濃度が増大するほど点火時期の遅角量も増大させる必要がある。NOx濃度の変化量に対する点火時期遅角量の増大割合、つまり図4の実線の傾きは、トルクが低いほど大きくなっている。これは、トルクが低いほど、燃焼室内はノッキングが発生し難い状態になるためNOx濃度増大の影響が相対的に大きく、トルクが高いほど、燃焼室内はノッキングが発生し易い状態になるのでNOx濃度増大の影響が相対的に小さいからである。EGR率が高い場合も、基本的には図4と同様に、トルクが高いほどNOx濃度の増大に応じた点火時期遅角量も大きくなる。ただし、同一NOx濃度かつ同一トルクの条件で、EGR率が高い場合と低い場合の点火時期遅角量を比較すると、EGR率が高い場合の方が、点火時期遅角量は小さい。これは、EGR率が高いほど燃焼温度が低く、ノッキングが発生し難い状態になっているからである。上述したように、ノッキングの発生し易さは、吸気管内のNOx濃度だけではなく、内燃機関1のトルク状態によっても変わる。この特性を踏まえて、運転者の要求するトルク要求トルクの大きさ及び吸気管内のNOx濃度に応じて、ノッキング防止の為の制御を実行することで、確実にノッキングを防止できる。なお、図4、図5では横軸が吸気管内NOx濃度になっているが、吸気管内NOx濃度は内燃機関1から排出されるNOx量に依存するので、横軸をEGRガス中のNOx濃度にしても同様の傾向になる。図6は、ECU20が実行するノッキング防止用の制御ルーチンを示すフローチャートである。本ルーチンは、例えば10ミリ秒程度の間隔で繰り返し実行する。ノッキング防止用の制御として、燃焼を緩慢にさせるために点火時期を通常設定されているMBTより遅角させる点火時期リタード制御、内燃機関1でのNOx発生量を低減するために空燃比をストイキよりリッチにする空燃比リッチ化制御、及び燃焼温度を低下させるためのEGR制御がある。ここでは、要求トルク及び吸気管内のNOx濃度に応じて、これらの制御のいずれか、または組み合わせによって、ノッキングの発生を防止する。以下、フローチャートのステップにしたがって説明する。ステップS100で、ECU20はEGRを実行しているか否かを判定する。クランク角センサ14で検出したエンジン回転速度及びアクセル開度センサ17で検出したアクセル開度で定まる運転状態が、図2のマップのEGR領域であればステップS110の処理を実行し、EGR領域でなければそのまま本ルーチンを終了する。ステップS110で、ECU20は、低EGR率か否かを判定する。ステップS100で求めた運転状態が、EGR領域のうちEGR率が低い領域であればステップS120の処理を実行し、高い領域であればステップS180の処理を実行する。ステップS120で、ECU20は低EGR率用のNOx濃度判定値を決定する。NOx濃度判定値とは、ノッキング防止用の制御を決定するために用いる吸気管内NOx濃度である。ここで、低EGR率用のNOx濃度判定値の一例について図7を参照して説明する。図7は、図4の中トルクの場合、つまり低EGR率かつ中トルクの場合のNOx濃度判定値を示している。低EGR率判定値1は、点火時期がMBTとなる吸気管内NOx濃度の上限値である。図7中の実線は、図4と同様に、低EGR率かつ中トルクの状態でノッキング防止のために必要な点火時期リタード量を示している。つまり、図7において点火時期リタード量が大きくなるほどノッキングが発生し易いということになり、点火時期がMBTのままということは、ノッキング発生のおそれがないということになる。したがって、低EGR率判定値1はノッキング防止用の制御が不要な吸気管内NOx濃度の上限値である。ところで、ノッキング防止用の制御を実行すると燃費性能への跳ね返りが生じる。跳ね返りの度合いはノッキング防止用の制御によって異なり、跳ね返りが大きいほどノッキング防止効果は高まる。跳ね返りは、点火時期リタード、空燃比リッチ化、点火時期リタードと空燃比リッチ化の組み合わせ、前記組み合わせにさらにEGR停止を加えた組み合わせ、の順に大きくなる。確実にノッキングを防止しつつ、燃費性能への跳ね返りは抑制することが望ましいので、ノッキングのしやすさに応じて、ノッキング防止と燃費性能への跳ね返り抑制を両立できるようにノッキング防止用の制御を選択する。すなわち、点火時期リタードで確実にノッキングを防止できるなら点火時期リタードを実行し、点火時期リタードではノッキング防止効果が十分でない場合には空燃比リッチ化を実行し、それでもノッキング防止効果が十分でない場合はこれらを組み合わせる。そして、点火時期リタードと空燃比リッチ化の組み合わせでもノッキング防止効果が十分でない場合には、点火時期リタードと空燃比リッチ化を実行しつつ、さらにEGRを停止する。低EGR率判定値2から低EGR率判定値4は、上記のようにノッキング防止用の制御を切り替える境界値である。具体的な値は、内燃機関1の燃焼室形状や吸気ポート形状等によって異なるので、本実施形態を適用する内燃機関1について、EGR率毎かつ要求トルク毎に実験等により予め決定してECU20に格納しておき、ステップS120で運転状態に応じた判定値を設定する。ステップS130で、ECU20は吸気管内NOx濃度を判定する。吸気管内NOx濃度は、例えば、空燃比のλコントロールの状態に基づいて推定する。すなわち、λコントロールでは空燃比センサ13の検出値に応じて空燃比をストイキに対してリッチ化またはリーン化するので、内燃機関1から排出されるNOx量はリッチ化していれば少なく、リーン化していれば多い、と推定できる。そして、内燃機関1から排出されるNOx量が少なければ吸気管内NOx濃度は低く、多ければ吸気管内NOx濃度は高い、と推定できる。これに加えて、燃料カット制御により三元触媒7の酸素ストレージ量が増大してNOxの転化率低下が予測される場合には、NOx濃度を高い側に補正するようにしてもよい。また、点火時期に基づいて、点火時期が早いほどNOx濃度が高いと推定してもよい。もちろん、NOx濃度検知用のセンサを用いて直接検出してもよい。ステップS130での判定の結果、吸気管内NOx濃度が低EGR率判定値1未満であれば、本ルーチンを終了する。上述したように低EGR率判定値1未満であればノッキング発生のおそれがないからである。吸気管内NOx濃度が低EGR率判定値1以上、低EGR率判定値2未満の場合は、ECU20はステップS140で点火時期リタードを実行する。リタード量は、ノッキングしやすいほど、つまり吸気管内NOx濃度が高いほど大きくなる。なお、図4で説明したように、低トルクほどNOx濃度の変化に対するノッキングの発生しやすさの感度が大きい。したがって、例えば吸気管内NOx濃度がN1からN1より高濃度へと変化した場合には、低トルクほど点火時期遅角量も大きく変化する。吸気管内NOx濃度が低EGR率判定値2以上、低EGR率判定値3未満の場合は、ECU20はステップS150で空燃比リッチ化を実行する。リッチ化の度合いは、吸気管内NOx濃度が高いほど大きくする。ただし、リッチ失火しない程度に制限される。なお、このとき点火時期はMBTに戻す。吸気管内NOx濃度が低EGR率判定値3以上、低EGR率判定値4未満の場合は、点火時期リタードまたは空燃比リッチ化だけではノッキング防止が不可能なので、ECU20はステップS160で点火時期リタードと空燃比リッチ化の組み合わせを実行する。吸気管内NOx濃度が低EGR率判定値4以上の場合は、点火時期リタード及び空燃比リッチ化の組み合わせではノッキング防止が不可能なので、ECU20は点火時期リタード、空燃比リッチ化、及びEGR停止の組み合わせを実行する。一方、ステップS110で高EGR率と判定された場合は、ECU20はステップS180の処理を実行する。ステップS180で、ECU20は高EGR率用のNOx濃度判定値である高EGR率判定値1から高EGR率判定値3を決定する。高EGR率における吸気管NOx濃度とノッキング防止可能な点火時期との関係に基づいて、ステップS120と同様の考え方で決定する。高EGR率用の判定値の一例を図8に示す。ステップS190はステップS130と同様の処理なので説明を省略する。ステップS190で吸気管内NOx濃度が高EGR率判定値1未満であれば、そのまま本ルーチンを終了する。ステップS200からS220は、ステップS140からS160と同様の処理である。すなわち、吸気管内NOx濃度が高EGR率判定値1以上、高EGR率判定値2未満の場合は、ECU20はステップS200で点火時期リタードを実行する。吸気管内NOx濃度が高EGR率判定値2以上、高EGR率判定値3未満の場合は、ECU20はステップS210で空燃比リッチ化を実行する。なお、このとき点火時期はMBTに戻す。吸気管内NOx濃度が高EGR率判定値3以上の場合は、ECU20はステップS220で点火時期リタードと空燃比リッチ化の組み合わせを実行する。なお、NOx濃度判定値が高EGR率判定値3までなのは、高EGR率の場合にはEGRガス導入による燃焼温度の低下によって低EGR率の場合よりノッキングが発生しにくいので、ノッキング防止のためにEGR停止が必要になることはないからである。以上のように本実施形態によれば、次のような効果が得られる。1ノッキング防止用の点火時期遅角量を、吸気管内NOx濃度、つまり排気中のNOx濃度と要求トルクとに基づいて決定するので、排気中のNOx濃度が高まり所望のノッキング防止効果が得られなくなっても、ノッキングの発生しやすさに応じた適切な点火時期遅角量を設定できる。2排気中のNOx濃度が高くなるほど遅角量を大きくするので、ノッキングが発生しやすいほど遅角量が大きくなる。これにより、確実にノッキングを防止しつつ、ノッキング防止による燃費性能への跳ね返りを抑制できる。3要求トルクが小さいほど排気中のNOx濃度の変化量あたりの遅角量を大きくするので、NOx濃度の変化に対するノッキングの発生しやすさの変化量が大きい低トルクほど遅角量が大きくなる。これにより、確実にノッキングを防止しつつ、ノッキング防止による燃費性能への跳ね返りを抑制できる。4点火時期の遅角中に排気中のNOx濃度がNOx濃度判定値2以上になったら点火時期を最適点火時期に戻し、かつ空燃比をストイキよりリッチ化する。これにより、燃費性能への跳ね返りが小さい点火時期リタードと、より確実にノッキング防止できる空燃比リッチ化を適切に使い分けることができる。5排気中のNOx濃度がNOx濃度判定値3以上になったら点火時期を遅角し、かつ空燃比をストイキよりリッチ化する。これにより、燃費性能への跳ね返りが小さい点火時期リタードと、より確実にノッキング防止できる点火時期リタードと空燃比リッチ化の組み合わせを適切に使い分けることができる。6排気中のNOx濃度がNOx濃度判定値4以上になったらEGRを停止する、つまり、EGRによってかえってノッキングが発生しやすくなる場合にはEGRを停止するので、ノッキングを防止できる。7NOx濃度判定値には、NOx濃度判定値1判定値<NOx濃度判定値2第2判定値<NOx濃度判定値3第3判定値<NOx濃度判定値4第4判定値という関係が成立する。これにより、確実なノッキング防止と燃費性能への跳ね返りとを両立することができる。第2実施形態次に、本発明の第2実施形態について説明する。本実施形態を第1実施形態と比較すると、内燃機関1のシステム構成は同様であり、ノッキング防止のための制御ルーチンの一部が異なる。図9はECU20が実行するノッキング防止のための制御ルーチンを示すフローチャートである。ステップS1100及びS1110は図6のステップS100及びS110と同様なので説明を省略する。ステップS1120で、ECU20は低EGR率用のNOx濃度判定値を決定する。基本的には図6のステップS120と同様であるが、ここでは図10に示すように、低EGR率判定値4よりも高濃度側の低EGR率判定値5まで決定する。ステップS1130で、ECU20は図6のステップS130と同様に吸気管内NOx濃度を判定する。吸気管内NOx濃度が低EGR率判定値1未満の場合は、そのまま本ルーチンを終了する。吸気管内NOx濃度が低EGR率判定値1以上、低EGR率判定値2未満の場合は、ステップS1132でEGRバルブ10の開度を増大させてEGRガス量を増量する。EGRガス量を増量すれば、燃焼温度はさらに低下し、また、内燃機関1から排出されるNOx量が減少するので、ノッキング防止効果が得られる。すなわち、ノッキングが比較的発生しにくい低EGR率判定値1以上、低EGR率判定値2未満の領域では、EGRガスの増量によってノッキングを防止する。これにより、ノッキングを防止することによる燃費性能への跳ね返りを、点火時期リタードや空燃比リッチ化よりも小さくできる。なお、どの程度EGRガス量を増量するかについては、内燃機関1の仕様毎に実験等により予め求めておく。吸気管内NOx濃度が低EGR率判定値2以上、低EGR率判定値3未満の場合は、ステップS1135でEGRガス量を増量してから、ステップS1140で図6のステップS140と同様に点火時期リタードを行う。なお、ステップS1135でEGRガスを増量することにより、ステップS1140での点火時期のリタード量を図6のステップS140に比べて小さくすることができる。すなわち、ノッキングを防止することによる燃費性能への跳ね返りを、点火時期リタードだけでノッキング防止する場合より小さくすることができる。吸気管内NOx濃度が低EGR率判定値3以上、低EGR率判定値4未満の場合は、ステップS1145でEGRガス量を増量してから、ステップS1150で図6のステップS150と同様に空燃比リッチ化を行う。なお、ステップS1145でEGRガスを増量することにより、ステップS1150での空燃比のリッチ化度合を、図6のステップS150に比べて小さくすることができる。すなわち、ノッキングを防止することによる燃費性能への跳ね返りを、空燃比リッチ化だけでノッキング防止する場合より小さくすることができる。吸気管内NOx濃度が低EGR率判定値4以上、低EGR率判定値5未満の場合は、ステップS1155でEGRガス量を増量してから、ステップS1160で図6のステップS160と同様に点火時期リタード及び空燃比リッチ化を行う。なお、ステップS1155でEGRガスを増量することにより、ステップS1160での点火時期のリタード量及び空燃比のリッチ化度合を図6のステップS160に比べて小さくすることができる。すなわち、ノッキングを防止することによる燃費性能への跳ね返りを、点火時期リタードだけでノッキング防止する場合より小さくすることができる。吸気管内NOx濃度が低EGR率判定値5以上の場合は、EGRガスを増量せずに、ステップS1170で図6のステップS170と同様に点火時期リタード及び空燃比リッチ化を行い、さらにEGRを停止する。ここでEGRガスを増量しないのは、NOx濃度が低EGR率判定値5を超える程度に高くなると、EGRガスを増量しても所望のノッキング防止効果が得られなくなるからである。一方、ステップS1110で高EGR率と判定された場合は、ECU20はステップS1180の処理を実行する。ステップS1180で、ECU20は高EGR率用のNOx濃度判定値を決定する。基本的には図6のステップS180と同様であるが、ここでは図11に示すように、高EGR率判定値3よりも高濃度側の高EGR率判定値4まで決定する。ステップS1190で、ECU20は図6のステップS190と同様に吸気管内NOx濃度を判定する。吸気管内NOx濃度が高EGR率判定値1未満の場合は、そのまま本ルーチンを終了する。吸気管内NOx濃度が高EGR率判定値1以上、高EGR率判定値2未満の場合は、ECU20はステップS1192で、ノッキングを防止し得る量だけEGRガスを増量する。吸気管内NOx濃度が高EGR率判定値2以上、高EGR率判定値3未満の場合は、ECU20はステップS1195でEGRガスを増量し、ステップS1200で図6のステップS200と同様に点火時期リタードを実行する。ただし、EGRガスを増量した分、点火時期のリタード量は図6のステップS200に比べて小さい。吸気管内NOx濃度が高EGR率判定値3以上、高EGR率判定値4未満の場合は、ECU20はステップS1205でEGRガスを増量し、ステップS1210で図6のステップS210と同様に空燃比リッチ化を行う。ただし、EGRガスを増量した分、空燃比のリッチ化度合は小さい。吸気管内NOx濃度が高EGR率判定値4以上の場合は、ECU20はステップS1215でEGRガスを増量し、ステップS1220で図6のステップS220と同様に点火時期リタード及び空燃比リッチ化を行う。ただし、EGRガスを増量した分、点火時期のリタード量及び空燃比のリッチ化度合は小さい。上記のように、点火時期リタード、空燃比リッチ化等の制御にEGRガスの増量を組み合わせることで、ノッキングを防止することによる燃費性能への跳ね返りをさらに抑制することができる。8排気中のNOx濃度および要求トルクに基づいて、点火時期リタード、空燃比リッチ化、EGRガスの増量のいずれか、またはこれらの組み合わせを選択して実行するので、第1実施形態と同様の効果が得られる。第3実施形態次に、本発明の第3実施形態について説明する。本実施形態を第2実施形態と比較すると、内燃機関1のシステム構成は同様であり、ノッキング防止のための制御ルーチンの一部が異なる。図12A、図12Bは、ECU20が実行するノッキング防止のための制御ルーチンを示すフローチャートである。ステップS2100からS2130、ステップS2180、およびステップS2190は、図9のステップS1100からS1130、ステップS1180、およびステップS1190と同様なので説明を省略する。ステップS2131で、ECU20はアクセル開度センサ17の検出値から求まる要求トルクが予め設定した低EGR率用規定値Te2L以下であるか否かを判定する。要求トルクが低EGR率用規定値Te2L以下の場合はステップS2132で図9のステップS1132と同様にEGRガスを増量し、低EGR率用規定値Te2Lより大きい場合はステップS2140で図9のステップS1140と同様に点火時期リタードを行う。ここで、低EGR率用規定値Te2L及び後述する高EGR率用規定値Te1Lについて、図13を参照して説明する。図13は、内燃機関1のトルクに対する基本EGR率を示す図であり、Te1Lは高EGR率用の規定値、Te2Lは低EGR率用の規定値である。基本EGR率は図3と同様に、トルクTe1からTe2の範囲ではEGR率は高EGR率であるR2、トルクTe2以上では低EGR率であるR1となっている。ステップS2132でEGRガスを増量するということは、EGR率を低EGR率R1より高くすることになる。このとき、基本となるEGR率R1の大きさ次第では、要求トルクが高い領域で、それ以上EGRガスを増量できなくなる。このような低EGR率でのEGR増量ができる上限のトルクを、低EGR率用規定値Te2Lとする。高EGR率の場合も同様に、EGRガスを増量できる上限のトルクがあり、これを高EGR率用規定値TE1Lとする。すなわち、要求トルクがTe1L以上Te2未満の領域と、Te2L以上の領域では、EGRガスを増量することができない。ステップS2131で要求トルクが低EGR率用規定値Te2Lより大きい場合は、EGRガスを増量できないので、ノッキング防止用の制御として図9のステップS1140と同様に点火時期リタードを行う。これと同様に、EGRガスを増量するステップS2135、S2145、S2155の前には、ステップS2131と同様に要求トルクが低EGR率用規定値Te2L以下であるか否か、つまりEGRガスを増量できるか否かを判定するステップS2133、S2143、S2153を行う。そして、EGRガスを増量できない場合は、低EGR率用判定値で分割した領域のうち、吸気管内NOx濃度が高い側に隣接する領域で行うノッキング防止用制御を行う。図12BのステップS2192、S2195、S2205も、上記と同様にEGRガスを増量できるか否かを判定し、判定結果に応じてノッキング防止用の制御を切り替える。上述したようにEGRガスを増量できるか否かに応じてノッキング防止用の制御を切り替えることにより、EGRガスを増量できる場合にはEGRガスを増量することで燃費性能への跳ね返りを抑制することができる。そして、EGRガスを増量できない場合には、EGRガスを増量しないことを前提としたノッキング防止用の制御を実行するので、ノッキングの発生を確実に防止することができる。以上のように、本実施形態でも第1実施形態と同様の効果が得られる。なお、本発明は上記の実施の形態に限定されるわけではなく、特許請求の範囲に記載の技術的思想の範囲内で様々な変更を成し得ることは言うまでもない。例えば図6では、吸気管内NOx濃度の上昇に応じて、点火時期リタード、空燃比リッチ化、点火時期リタードと空燃比リッチ化の組み合わせ、の順にノッキング防止用制御を切り替えているが、例えば、点火時期リタードの次の領域で点火時期リタードと空燃比リッチ化の組み合わせを実行するようにしてもよい。