370Z Knock Control, dynamic advance and Octane Judgement

Introduction

The 370Z and other Nissans (GTR has very similar maps and strategies as the 370Z) have an active knock control strategy that involves use of the knock sensors in a constant feedback loop to generate and octane rating estimate and then apply ignition timing retard based on this active octane estimate and the drop from a the current running total.

The dynamic advance portion of this function is the ability for the system to measure the current octane rating of the fuel based on the knock sensor output and if no knock is detected it can add ignition timing (up to a maximum octane limit) until it detects enough knock maximising performance.

EcuTek have significantly re written the timing strategy on 370Z (GTR and Juke as well) so that it is far simplified (uses a single 3d map instead of an array of octane offsets and corrections) but have kept the octane drop and instantaneous knock retard functionality included.

How the knock detection and dynamic advance feed into the main Ignition timing calculation

The complete system can be broken down into 4 separate sub systems

  1. the knock detection system (including background noise assesment)

  2. Current Running Octane rating estimation

  3. Conversion from Octane Estimate to Ignition timing adjustment

  4. Applying the final timing to the dynamic advance

Knock Detection

The knock signal from the sensor is measured assessed per cylinder per frequency band (these can be altered using the frequency masks) and compared against the back ground noise estimation to set a knock signal level, this value is then compared to the knock threshold value (from the threshold maps) and if the value is exceeded a knock event count is added to the running average total knock events. this value is then passed through the the octane rating estimation functions.

Octane Estimation

Octane estimation is done by using calibrated high and low limits (it starts from a high or low octane point and learns from that point based on the sensor) and increase and decrease maps based on whether the knock count is increasing or decreasing. This running total of calculated octane rating is limited by the 1D and 2D/3D maps and it will try to increase the timing until the calculated octane amount is on the high limit provided knock is not detected. to stop it adding timing this maximum octane amount can be lowered so that it doesn’t learn up.

If the value is set too low (below the minimum octane map) the logged ignition retard will always be in the negative as it thinks the octane amount is always lower than what the minimum and the timing is retarded appropriately.

It will only make adjustments to the running octane total when its is within the knock study area and the temperatures etc are all satisfied.

HI / Low Octane Mode switching and its Relationship to Dynamic Ddvance

If the ECU calculates that the octane is low, because the knock retard is high (octane level drops), it will swap into low octane running mode, in this mode timing can be added through the knock control system (i.e. dynamic advance) running the engine on the knock threshold of the current low octane fuel.  This is likely done to keep driving performance at an acceptable level with low octane fuels.

When the ECU swaps to low octane mode it would normally change to a low octane base timing map and reset the knock retard value, after which it would try to start of advancing the timing (dynamic advance) until it finds the octane limit of the fuel. If tuning the OEM timing this would be acceptable however using RaceROM simplified ignition means that it does not change into low octane mode even though the knock retard and change to dynamic advance mode is still performed.

This means that if no further knock is determined it will add timing using the dynamic advance to the RaceROM base map value until knock is detected again. this may not be a desired attribute and can be prevented, please skip to controlling dynaic advance section for advice on this.

Octane to timing Conversion

The calibrated value for octane to ignition is approximately 1.4deg per octane number. when a change in octane is detected an amount of ignition retard is applied, see the flow chart and map values for how much this is. If no knock is detected it will increment at the rate set by the octane increase.

Final Timing

Once the dynamic advance has been calculated the final ignition values, corrections and limits are then applied.

The simplest way to show how the systems integrate is using the below flow chart.

 

Controlling the Dynamic advance

Tuning the ignition timing with RaceROM timing maps is as simple as tuning the main RaceROM ignition map so that the dynamic advance systems are not retarding the timing for the octane rating of the current fuel in the car.

The ability for the system to add timing above the tuned set point is sometimes not desired for example if the car is tuned on a known high octane fuel then usually used and further ignition advance is not desired even if it is possible.

To prevent the dynamic advance adding timing above the base ignition map setpoint you can try the following methods,

  • Use The RaceROM disable for Dynamic advance map

 

  • Prevent it from swapping to low octane mode by setting the low octane judgment threshold very low.

  • Set the high and low octane 1D’s to the same value so when it swaps into low octane mode and calculates the drop in octane (octane estimate – octane setpoint) it doesn’t have  a positive offset to octane drop/difference calculation.

  • Use the Dynamic Advance Limit (octane max) to prevent the ECU trying to add timing above an octane amount