Standalone User - Help me understand the stock ECU
Standalone User - Help me understand the stock ECU
So I'm relatively new to the stock ECU tuning. I come from spending a lot of time with Autronic the past couple years. I was hoping you guys could help me understand some of the basics.
1. Each cell on the fuel map for the stock ECU is essentially a "trim" of what the stock ECU calculates should be the appropriate fuel given the load and rpm of the cell. So the fuel map you end up with is just a trim on what the stock ECU calculates originally. Is this correct?
2. Idle on the stock ECU is all closed loop. The stock ECU targets 14.7 AFR via a narrowband o2 sensor. Can this target be changed? How does this closed loop system operate? When sampling the narrowband o2, does it take averages of the readings or min or maxes? How often does it sample it? Is there an immediate real time trim, and then longer term trims? Is the above correct or am I way off the mark?
3. The reaction of the stock ECU to knock all derives from the knock sum figure. Meaning, any change in the octane level or immediate pulled timing comes from the knock sum figure. What is the algorithm the ECU uses to determine how much timing to pull when it receives X knock sum? How quickly can it pull that timing from when it detects it. How long does a knock sum value persist before it resets to zero? How does the system work which decrements the octane number? At what point does a decreasing octane number begin to effect things. Is the only effect the octane number produces is beginning to interpolate between the hi and low octane maps?
4. Do the short, mid, and long term fuel trims only effect closed loop idle and cruise?
Sorry for all the questions. I hope I'm making at least a little bit of sense. Appreciate your help and efforts greatly.
1. Each cell on the fuel map for the stock ECU is essentially a "trim" of what the stock ECU calculates should be the appropriate fuel given the load and rpm of the cell. So the fuel map you end up with is just a trim on what the stock ECU calculates originally. Is this correct?
2. Idle on the stock ECU is all closed loop. The stock ECU targets 14.7 AFR via a narrowband o2 sensor. Can this target be changed? How does this closed loop system operate? When sampling the narrowband o2, does it take averages of the readings or min or maxes? How often does it sample it? Is there an immediate real time trim, and then longer term trims? Is the above correct or am I way off the mark?
3. The reaction of the stock ECU to knock all derives from the knock sum figure. Meaning, any change in the octane level or immediate pulled timing comes from the knock sum figure. What is the algorithm the ECU uses to determine how much timing to pull when it receives X knock sum? How quickly can it pull that timing from when it detects it. How long does a knock sum value persist before it resets to zero? How does the system work which decrements the octane number? At what point does a decreasing octane number begin to effect things. Is the only effect the octane number produces is beginning to interpolate between the hi and low octane maps?
4. Do the short, mid, and long term fuel trims only effect closed loop idle and cruise?
Sorry for all the questions. I hope I'm making at least a little bit of sense. Appreciate your help and efforts greatly.
So I'm relatively new to the stock ECU tuning. I come from spending a lot of time with Autronic the past couple years. I was hoping you guys could help me understand some of the basics.
1. Each cell on the fuel map for the stock ECU is essentially a "trim" of what the stock ECU calculates should be the appropriate fuel given the load and rpm of the cell. So the fuel map you end up with is just a trim on what the stock ECU calculates originally. Is this correct?
1. Each cell on the fuel map for the stock ECU is essentially a "trim" of what the stock ECU calculates should be the appropriate fuel given the load and rpm of the cell. So the fuel map you end up with is just a trim on what the stock ECU calculates originally. Is this correct?
Someone else can verify this, but I believe the actual values in the code are some sort of IPW calculations, telling the ECU how long to keep the injectors open for that load and RPM.
3. The reaction of the stock ECU to knock all derives from the knock sum figure. Meaning, any change in the octane level or immediate pulled timing comes from the knock sum figure. What is the algorithm the ECU uses to determine how much timing to pull when it receives X knock sum?
jcsbanks has a very good thread on this when he disassembled the knock routines and found the various tables that controls it.
The octane levels works independently to this algorithm. This algorithm pulls timing immediately and any timing that the octane number pulls due to interpolation to the low octane maps is pulled in addition.
I forgot the exact number, but any of the ECU dissassemblers can chime in here. But IIRC, the main subroutine in the ECU runs somewhere in the neighborhood of 100 Hz or somethng like that (totally going off of memory here). So, that's 100 times per second.
There is a knock sum decay timer. This table has been found and can be adjusted. The higher the knock count, the longer it takes to time back to 0, so I can't give you an exact answer on how long.
The point at which a decreasing octane number affects things is right away. The octane number is an interpolation between the high octane and low octane maps. So, a 90% octane number will use 90% of the high map number averaged with 10% of the low octane number.
I believe the only function is this interpolation, yes. So, it pulls timing and enriches fueling...that is if your low octane maps are set appropriately compared to your high octane maps. You can think of octane number as a long term knock trim.
To my knowledge, yes.
Last edited by l2r99gst; May 19, 2009 at 09:01 AM.
I haven't got time to produce all the links to answer every question in detail, but here is a summary.
1. From the airflow per cylinder charge (load) the ECU uses the injector size and the desired AFR lookup from the fuel map to produce near to that AFR on a standard car. If you change the MAF calibration with different filters/pipes it alters this.
2. Target can be changed with patches using a wideband - see mrfred's posts. There is a short term fuel trim and three long term fuel trims.
3. 0.35 degrees per knock sum which is increased depending on how far the adaptive noise threshold is breached. It decays on timers, minor knock sums decay in a few seconds. Some have adjusted this, I leave it stock. Octane is decremented and incremented on timers. 0-3 = increase, 4-5 = same, 6+ decrease. Yes octane interpolates between maps, also kills the wastegate solenoid at low levels. You want it to be 100% all the time by keeping your knock below 6.
4. Yes, most probably
1. From the airflow per cylinder charge (load) the ECU uses the injector size and the desired AFR lookup from the fuel map to produce near to that AFR on a standard car. If you change the MAF calibration with different filters/pipes it alters this.
2. Target can be changed with patches using a wideband - see mrfred's posts. There is a short term fuel trim and three long term fuel trims.
3. 0.35 degrees per knock sum which is increased depending on how far the adaptive noise threshold is breached. It decays on timers, minor knock sums decay in a few seconds. Some have adjusted this, I leave it stock. Octane is decremented and incremented on timers. 0-3 = increase, 4-5 = same, 6+ decrease. Yes octane interpolates between maps, also kills the wastegate solenoid at low levels. You want it to be 100% all the time by keeping your knock below 6.
4. Yes, most probably
Great answers John thank you for your help. Without you my buddy would be dead in the water using the stock ECU because of false knock so thank you.
l2r99gst, if there is anything you would like to add I appreciate it. Oh wait! I see an edit! Yippee
Going to read now.
l2r99gst, if there is anything you would like to add I appreciate it. Oh wait! I see an edit! Yippee
Going to read now.
when i look at a stock map the numbers flow from lean to rich as load and/or rpm increase and seem to mimic the actual afr's logged. maybe not necessarily in value but in a pattern of ever lowering afr once in open loop. however in my fuel map's case, to get afr's where i want them to be values do not show the nice tapering seen in stock. i need as lean or sometimes leaner values at higher rpm and load than at a lower point in the map. is this indicative of improperly scaled injectors/maf or more a reflection of ve and say a cam with little top end falling off?
in summary what i'm asking is should a properly scaled ecu's fuel map show a tapering pattern similar to stock (if you're tuning for a tapered afr) regardless of mods or will ve dominate and possibly require "irregular" values.
in summary what i'm asking is should a properly scaled ecu's fuel map show a tapering pattern similar to stock (if you're tuning for a tapered afr) regardless of mods or will ve dominate and possibly require "irregular" values.
Last edited by nitz; May 19, 2009 at 01:39 PM.
On my almost standard car, AFRMAP and WBAFR are similar on full load. AFRMAP deviates from the fuel map contents because of lean spool, but I aim for a flat AFR curve from 4000-.
Most people just change the fuel map to give the WBAFR they want, but you could change the MAF scaling instead if you wished to get the fuel map to reflect your WBAFR on a modified engine, but it isn't as intuitive.
Most people just change the fuel map to give the WBAFR they want, but you could change the MAF scaling instead if you wished to get the fuel map to reflect your WBAFR on a modified engine, but it isn't as intuitive.
Trending Topics
BTW guys, the knock sum amount to reduce octane is adjustable. Default is 6 but you can change it.
If you are used to Autronic, think of the stock fuel map as a "sort-of" VE style map, just represented in an AFR calculation. You can use a simple scaling formula for % fuel trim ((x-128)/1.28)+100 if you want to view it similar to Autronic.
If you are used to Autronic, think of the stock fuel map as a "sort-of" VE style map, just represented in an AFR calculation. You can use a simple scaling formula for % fuel trim ((x-128)/1.28)+100 if you want to view it similar to Autronic.
BTW guys, the knock sum amount to reduce octane is adjustable. Default is 6 but you can change it.
If you are used to Autronic, think of the stock fuel map as a "sort-of" VE style map, just represented in an AFR calculation. You can use a simple scaling formula for % fuel trim ((x-128)/1.28)+100 if you want to view it similar to Autronic.
If you are used to Autronic, think of the stock fuel map as a "sort-of" VE style map, just represented in an AFR calculation. You can use a simple scaling formula for % fuel trim ((x-128)/1.28)+100 if you want to view it similar to Autronic.
If I may indulge in another question!

What parameters / algorithms effect the actual timing versus the timing in the ignition table? In my friends car right now it is often different by as much 2 degrees without knock sums and with a 100 octane level.
Last edited by crcain; May 19, 2009 at 08:25 PM.
There is an EGR advance table that will advance timing above what you see in the timing maps under certain conditions, as long as there is no knock present.
Also, there are several other ignition maps, such as cold start ignition maps that will retard ignition, etc.
Also, there are several other ignition maps, such as cold start ignition maps that will retard ignition, etc.
Last edited by l2r99gst; May 20, 2009 at 06:24 AM.
your probably looking at the wrong load cell. how are you logging load?
there are corrections (temp/etc) to IGN but they are rarely used.
MUT06 is final timing, MUT33 is post map/pre-correction (or is it MUT04?!?!....either way...)
there are corrections (temp/etc) to IGN but they are rarely used.
MUT06 is final timing, MUT33 is post map/pre-correction (or is it MUT04?!?!....either way...)
It's very conservative and rich after 5K, but you get the idea. Timing is actual, MUT06, and TimingUnc is from the map ,MUT33. Lean spool disabled and egr enabled.

Last edited by nitz; May 20, 2009 at 12:28 PM.
Does anyone have some information on how to adjust the knock count that the ECU will use to decrease octane? On my car i have huge huge amounts of false knock so for the past year I have been running with the sensor disabled. However if I could adjust that threshold I could re-enable my sensor and have that security back and push the tune further, since we had to stay fairly conservative with no sensor. Thanks for all the data so far as well, it's been very informative.
Your best bet is to adjust the knock noise thresholds. Even if you stop octane decreasing, the ECU can still pull over 12 degrees of timing and throw in fuel.
Adjusting octane update won't let you run good knock control if you can't do that with the knock noise thresholds.
Adjusting octane update won't let you run good knock control if you can't do that with the knock noise thresholds.



