Start Up Tables

90% of you probably won’t ever need to modify these tables but I was curious how the start up routine worked in the ECU. Turns out, there’s quite a bit going on when you turn the key. I believe the answer to the issue with “hot starts” on some cars can be fixed in here. As it turns out the fuel table, injector size and latency tables are completely ignored during this time. The ECU simply calculates an IPW based on a few factors.

Once the engine first starts rotating from the starter, there is a single injector pulse that is calculated. The value comes from from a table which I’ve dubbed “Cranking IPW ” and then there is an Adder value applied, then this Primer pulse sent to the injectors. As you can see, the cooler the coolant temps, the longer the injectors are held open.

After this primer pulse is setup, there are various corrections which are applied to it. First one is a multiplier which is looked up based on how fast your starter is cranking the motor. There are two tables and coolant temp determines which tables is used. As you can see, both tables are the same so coolant temp is irrelevant. The coolant temp switch value between these two tables is -4 degF so again….

In a future chrome ROM, I might make use of this for an alcohol switchable map. 😉

So we have the Primer Pulse * RPM Correction Factor = Corrected Primer Pulse.

It’s not over yet. There are 2 other compensations still to go!

So as the starter is now cranking the motor, the ECU now counts how many ignition strokes the motor is turning and then starts reducing the Corrected Primer Pulse.

The formula from start to finish is this:

(Base Primer Pulse + Adder value) * RPM Comp / Ignition stroke reduction = Start up IPW

Again the fuel table, injector size and latency tables are completely ignored while the engine is in “cranking mode”. This is why you piggy back guy running HUGE injectors may be having start issues.

Just after the engine has started, there is also a milisecond timer counting down and another enrichment factor is applied based on coolant temperature again (shown in the above screen shot).

One last table the ECU uses is just a simple RPM look up to tell if the motor is actually running on it’s own power or still being spun by the starter. Not sure why this is still here. The ECU knows when you have the key turned into the START position. Must be left over from the earlier days before they wired up the starter system to the ECU.

I’ve been able to run as high as 560cc injectors EVO injectors without really needing to tweak these tables but when you start getting to the 720cc range, you might want to start reducing the base values a bit. I usually just divide them in half and the car starts stock smooth again with no spark plug fouling. 🙂

Discussion Here: Disassembly: Startup fuel tables

This page was posted on Tuesday, April 16th, 2013 at 10:49 pm by bfarnam and last modified on Friday, April 19th, 2013 at 11:31 pm by bfarnam