PDA

View Full Version : Disassembly: Ignition Trim Tables



Greg E
03-21-2012, 12:12 AM
Timing

There are 2 base ignition maps and 7 corrections after this initial map lookup (one is the idle sensitivity correction). Note that the idle/cruise area of these two base maps are about the same. Only reduction is under accel/boost. There used to be a correction table during warm up to help the cats heat up quicker, but I've eliminated this table and used the open memory for the BIG timing maps. This is why it's important you leave the cat warm up feature in periphery 0 switched off.

http://i.imgur.com/ChrGi.jpg



Right after the base value is looked up, there are 3 trims. One is based off Engine Coolant Temp, another is Baro pressure and the last is Air Temp. The IAT and baro trims are disabled by default. Not pictured is the Load comp for the AIT trim which is also disabled.

http://i.imgur.com/T711t.jpg



Next we have an initial brief timing reduction during acceleration and then there's an overall reduction factor applied above 100 engine load which is actually a percentage reduction when > 4000rpm. All this is to compensate for the sudden lean condition caused by the mad rush of air into the motor when you suddenly punch the throttle to avoid knock.

http://i.imgur.com/aMZxJ.jpg


We are all familiar with the timing reduction during knock safety feature of the ECU. Every count of knock reduces ignition timing by approx 1/3 of a degree. The max amount of ignition timing retard during knock is 10.4 degrees and can be edited if need be (although you should tune your motor well enough to never need this limit :p).

http://i.imgur.com/RiiQF.jpg


Also in this section are the ignition coil dwell tables. Jeff L from Stealth316 has the best description of how the coils work.

http://www.stealth316.com/2-ignitioncoils.htm
http://www.stealth316.com/2-ignitionsystem.htm


Energization Time Control
The ECU controls the ignition coil primary current to achieve and then maintain a value of 6 amps. Using mapped values in memory, the ECU lengthens the energization time when the battery voltage is lower, and shortens the energization time when the battery voltage is higher. However, the ECU will not extend the energization time longer than 75% of the ignition interval. Each coil fires once every engine revolution and so the ignition interval is the time it takes for the engine to revolve once. Energization time is about 4 ms.

There are 3 dwell tables in the code. First is the latency table (which functions very similar to injector latency), then there's correctoin factor based on an RPM switch (which is disabled) and finally that 75% dwell limit table.

http://i.imgur.com/p5VeA.jpg

donniekak
03-21-2012, 01:19 AM
How much blank space is in the code? For dsm hex editing, we write extra functions in unused memory space. The simplest way to write a launch control is to re-write the rev limit code to compare it to vehicle speed, and use one value above a set speed, and another below. Thanks a million for the work, by the way.

Intropy
03-21-2012, 01:35 AM
So @4000RPMs we pull a few degrees timing, then add them back @4500. Then a big jump @5000, and then pull a degree @5500.

That's... odd. :confused:

HLxDrummer
03-22-2012, 12:07 PM
Launch control would be sweet :)

Thanks for doing all this by the way! I will be donating once I get my car running hopefully this weekend.

BigTyla
03-22-2012, 03:45 PM
Good stuff. Seems this would be useful for no-lift-to-shift as well, no?

Greg E
03-22-2012, 04:30 PM
*looks around innocently*

I have no idea what you guys are talking about. :)

Greg E
04-14-2012, 05:15 PM
Added more info to the first post!

Greg E
11-12-2012, 08:59 PM
*bump*

Updated the first post with the complete disassembly. :)

Uniuno
11-12-2012, 09:59 PM
Where do I get one of these ECUs?!?1?one?

Kidding.. obviously.. but seriously looking forward to getting one..

KeithMac
11-13-2012, 04:57 PM
I`m surprised they don`t trim ignition at high IAT by default?, very odd (especially under load).

Nater3kgtVR4
05-01-2013, 11:16 AM
Any info on adjusting the ignition coil dwell settings to get a smoother power band?

Fakepower
06-17-2014, 03:49 PM
What is the load axis unit? MAF or kPa? Thanks for the clarification.l

Greg E
06-17-2014, 04:56 PM
MAF pulses * MAF size

Fakepower
06-17-2014, 07:05 PM
Thanks Greg,

Is there a good way to translate Maf load into a speed density load? ie PSI

Edit: I've uploaded an excel spreadsheet of the data in a more "speed density format", with 3D maps included. please look over the data, I've done what I can to make sure I entered it right.

Greg E
06-17-2014, 07:58 PM
No there isn't. Pressure will always change depending on air volume. The MAF measure air volume. A pressure gauge is just resistance on a pipe. This changes depending on volume, temperature and barometric pressure.

Neither have a direct relationship.

KeithMac
08-07-2015, 01:15 PM
Hello Greg, I 've recently set base timing and noted timing retards as rpm increases when locked (due to delays in the transistors etc).

Is there a "trim" for this to make sure commanded timing is actual timing at higher revs?.

Also do you know if the timing reported by the OBD port is shown with all the trims already applied?.

Cheers, Keith.

Greg E
08-07-2015, 02:28 PM
Hello Greg, I 've recently set base timing and noted timing retards as rpm increases when locked (due to delays in the transistors etc).

Is there a "trim" for this to make sure commanded timing is actual timing at higher revs?.

It's caused by CAS latency. There maybe a trim but I never owned a 91/92 car so I never went hunting for it. Most guys just adjust the big table to match.


Also do you know if the timing reported by the OBD port is shown with all the trims already applied?

Yes. What you're seeing is the final output.