The latest Turbo Imprezas have extremely effective ignition timing strategies. This article describes their function and why it works so well with aftermarket products such as exhausts, turbos and intercoolers.
Note: This is a very technical article and is published to inform the technically minded enthusiast. You don't need to know this to drive the car, but sometimes it's nice to understand exactly what is going on under the bonnet (Bonnet=hood for our US friends!).
Reasons for Active Ignition Timing
An ignition timing system has to balance a number of sometimes opposing objectives - vehicle emissions, engine power output, fuel consumption & engine longevity. An active ignition timing system allows continuous adjustment of ignition timing in order to best meet requirements. What makes the system 'active' is its ability to detect engine knock via the knock sensor attached to the engine block.
Ignition Timing Maps
The maps above are from a 2002 UK WRX Impreza. These maps form the basis of the ignition timing functions of the ECU.
Ignition Base Map
The base ignition timing map holds the timing values to be used with the lowest octane fuel that the engine will encounter. This is (hopefully) the most retarded timing that the engine will ever need to run in normal circumstances.
Most base ignition maps have the same approximate shape. As engine RPM increases, ignition advance increases. As engine load increases, ignition timing retards. As a result, the most advance is used at high revs and low load, whilst the least advance is used at high loads and low revs.
The ignition timing flattens off at high RPMs. This is because the ECU does not use the knock sensor beyond around 6000rpm. This is for a very good reason - it is difficult to differentiate between knock and engine noise at high load and revs. Because of this, the ECU uses 'safe' timing values after the knock sensor switches off.
Ignition Advance Map
The ignition advance map holds the timing values that may be added on top of the base map should the ECU decide to do so. The values are set so that base plus correction map values total the timing that should be used with the highest octane fuel that the engine will encounter.
At low engine loads, the ignition advance map contains no advance - this is the flat 'valley' of the map. No matter what the quality of fuel, the ECU will never advance the timing above the value in the base map. This is because the engine will not produce further power by advancing the timing - MBT (minimum best timing) has been reached. Advancing the timing further increases the chance of knock and also increases vehicles emissions of hydrocarbons and NOx.
MBT is the lowest value of ignition advance that produces maximum power.
At high engine loads, the advance map contains much larger values. This shows that the timing possible varies greatly with the octane of fuel being used. Under boost, it may not be possible to reach MBT. In other words, the more timing advance that can be run, the higher the engine power output produced - MBT cannot be reached before the engine begins to knock before the plateau is reached. This is where the active ignition timing excels - it allows the ECU to run the highest timing possible without engine knock. This results in high power output, good fuel consumption and low exhaust gas temperatures. At these high loads, emissions aren't relevant for passing government emissions testing procedures, since the cars are always tested at relatively light loads - a handy loophole for turbo cars.
The above maps determine the range of ignition timing that the ECU is permitted to use on the engine. However, the ECU must determine the best choice of timing to run from the available range. This process is known as ignition learning. When the car is started (or the ECU reset), the ECU must determine the quality of fuel in the tank, and it does this during normal driving conditions.
Coarse Ignition Learning
When the grade of fuel is unknown, the ECU starts by running timing for a medium octane fuel. I.e. Values from the base map plus half of values from the advance maps. The ECU will then listen for knock. Based on its presence or absence, the ECU will then slowly decrease or increase the proportion of the advance map which is added to the base map until the level of knock is at a safe level. Its goal is to add the highest proportion of the advance map wherever possible. DeltaDash allows this 'proportion' factor to be viewed live as the ECU learns optimal timing - this parameter is labelled 'Advance Multiplier' in DeltaDash and its value ranges from 0 to 16. It is the number of sixteenths of the advance map that the ECU is willing to use - 16 being good, 8 being neutral and 0 being very bad.
Criteria for learning Ignition learning does not happen all the time. The ECU must fulfil certain criteria, such as coolant temperature, engine speed and load before learning with occur. Some fault codes will also inhibit or completely disable ignition learning, so they should be checked for before tuning begins.
The state of the advance multiplier determines the coarse ignition correction to be used across the entire load and rev range. Obviously this may not be optimal, since it may be better to run slightly more timing in some areas, and slightly less timing in others - this is where fine learning comes into play.
Fine Ignition Learning
Once an overall (coarse) ignition learning factor has been determined, the ECU begins to fine tune the timing. In contrast to the single blanket value of coarse ignition correction, the fine correction is stored as an 8x8 table totalling 64 values. This allows the ECU to tailor the timing in 64 separate areas of load and rpm.
The above learnt ignition correction tables show the learnt ignition timing that the ECU has developed based on feedback from the knock sensor. The first picture shows the 'default' state after an ECU reset and before the car has been driven. The second picture shows learnt timing on another ECU on some very low octane fuel after a few minutes of driving. As time goes on, this map will be filled in with more values as the ECU encounters a wider range of engine loads and revs.
The actual ignition timing used is the is a value from the base ignition map, plus a proportion of the ignition correction map (determined by the advance multiplier), plus a fine knock learning value from the above table.
The fine learnt correction map is divided into 64 zones by RPM (rows) and engine load (columns). The dividers between these zones are set to provide learning resolution in the most useful areas.
The Effect of Mechanical Tuning on Ignition Timing
As mechanical modifications such as exhausts, turbos and intercoolers are fitted this alters the ideal ignition timing that the ECU can run. In standard calibration, the ECU is fairly effective in controlling ignition timing, though there are several areas that may be improved with ECU remapping:
As the exhaust is derestricted with the use of free flowing manifolds, downpipes, back boxes and turbos, it is possible to safely run more advance than the standard ECU is willing to add. This results in a more responsive, more powerful engine.
As air flow is increased, the ECU sees higher air flows. The highest load zones on the ignition timing maps are quickly reached. As load increases, timing should be retarded. However, this doesn't happen effectively once the end of the map is reached. Rescaling the maps allows this to be corrected, resulting in a smoother driving experience.
The knock sensor and ignition learning is active within a defined range of load and rpm. This range is set to cope with the standard power output of the engine, not a tuned engine. Outside this range, the ECU is deaf, and will not retard timing or advance timing. The active knock sensor range may be increased to listen for knock at higher engine RPMs and to learn timing at higher engine loads. This results in a safer, smoother state of tune.
The fine ignition correction zones may be moved to be better spread across the widened load range that the engine will see, as depicted in the second screenshot above. This allows the ECU to learn effective timing for the full range of engine loads.
For optimum timing, it is important that the base and correction maps are the correct shape. Base should correspond to low octane and full addition should be used for high octance. When adjusting the values in these maps, tuners will be treat the maps as a whole, as opposed to working on particular RPM/load areas. This is important since coarse ignition correction is applied across the whole RPM/load range. If the ECU is able to add 50% of the correction map at 3000 revs, then it should be able to add the same proportion of the correction map at 5000 revs. If this is not the case then the maps are not of the correct profile or shape, and the ignition learning process will not work efficiently.
Subaru have published a number of patents on their ignition timing strategy that are publicly available via the Internet: