Q I know relatively little about tuning and logging. Where should I start?
This Tuning FAQ covers moderate to advanced topics. If you are just starting out, you will want to:
- Learn to use EcuFlash to read your ROM, so you can view it in RomRaider.
- Learn to use RomRaider to log data from your car.
- Learn everything you can about tuning. See the Articles section.
- Learn to use RomRaider to edit your ROM.
- Learn to use EcuFlash to write your modified ROM to your car’s ECU.
Be sure to visit the RomRaider FAQ for more basic questions about tuning and logging.
Q Why does my IAM drop when Knock Correction (KC?) is still positive?
Just because KC is positive does not mean that the ECU is not pulling timing in response to knock. Remember that if the logged KC value is less than
(timing advance map value * IAM/16) for 16bit ECUs or (timing advance map value * IAM) for 32bit ECUs then the ECU? has removed timing advance from KC? due to what it perceives as knock.
If the IAM does drop, it is in direct response to the ECU? perceiving knock at that point in time. However the ECU? will only reevaluate IAM within the RPM and load ranges as specified by the ‘Rough Correction Range’ tables.
Q What determines total ignition timing?
Total Timing = Base Timing + KC? + other timing compensations
KC? = (timing advance map value * IAM/16) + feedback correction + fine correction learning
For 32bit ECUs, use IAM in the calculation above instead of IAM/16.
Feedback correction is negative correction to KC? based on knock.
Fine correction learning is positive or negative correction to KC? for a given RPM and load range, based on knock or the lack of knock over a predetermined period of time. These corrections are stored in ram and are reevaluated within the RPM and load ranges specified by the ‘Fine Correction Range’ tables. In addition, the RPM and load ranges are determined by the ‘Fine Correction Rows’ and ‘Fine Correction Columns’ tables.
Other timing compensations include those calculated from coolant temperature and intake temperature, among others.
See also:
Q How does the ECU determine what value to use the maps? How does it interpolate?
The ECU will smoothly interpolate values as necessary between up to 4 cells (on a 2-axis map such as ignition timing) if necessary.
If the map’s scale isn’t large enough causing the lookup to go beyond the edge of the map, it will simply use the values of the cells on the edge of the map.
Q What is “flattening the KC map”? Why do people do it and how can I do it?
People often flatten the KC map to make it easy to tell whether the ECU is pulling timing due to knock or not when datalogging. For example, if your KC map is all one value, if you see a drop in KC, the ECU most likely is pulling timing in response to knock.
When flattening your own KC map, keep in mind that you will want to keep the total timing (Base timing + KC) the same. You should go through your KC map cell by cell, if you add 5 to a point of your KC map, subtract 5 from the corresponding point of your base timing map. Don’t forget to account for interpolation off the ends of the map as often the base timing and KC maps are not the same size.
Q Is there any drawback to flattening the KC map?
It is generally agreed that the stock KC map in conjunction with the IAM multiplier is used to smoothly adjust for varying levels of octane. This means that areas of the KC map with high values are more sensitive to knock than areas of the KC map with lower values. Areas of the KC map which are 0 when stock can be assumed to already be at MBT so there is generally no need to reduce timing in those areas.
This means that if you flatten the KC map, it is possible that timing may not be optimal if timing gets pulled because the IAM drops. For example, stock maps at low load usually have a KC of 0 meaning that the ECU will not adjust the total timing target at all based on the IAM. So if you flatten your KC map to all 10s and your IAM is half of what it could be, you will be running 5* less timing at light load where it really isn’t possible to knock therefore losing light throttle power and economy.
For this reason, many people don’t completely flatten the KC map at all load/rpm cells, just the load/rpm cells where the stock map also has significant KC.
Q How can I tell if timing is being pulled due to knock?
You need to cross reference the RPM/load point and compare the logged timing and KC to the total timing and KC as calculated by the ECU. See earlier FAQ for determining total timing.
Airboy’s Excel Spreadsheet to import and graph log files is very useful for determining if/where timing is being pulled along with a number of other parameters.
Q What should I do if timing is being pulled due to knock?
Short answer: Reduce the engine’s tendency to knock.
Long answer: One or more of the following:
- Reduce timing from the appropriate area of the base timing map
- Reduce timing from the appropriate area of the KC map
- Add fuel (richen the mixture) at the appropriate area of the fueling map
- Reduce boost (if other measures fail to eliminate knock)
- Something else to reduce the engine’s tendency to knock.
Q Why do the 32-bit ECUs have so many different timing and knock correction maps? How can I tell which one is being used and when?
Unfortunately, it isn’t quite fully understood when the ECU will decide to switch maps. Most people simply set all the maps to the same values so that the behavior of the car is consistent.