How GM Electronic Fuel Injection Works

This document describes how GM Fuel Injection manages fuel and spark in gasoline engines from a novice’s point of view. Actually GM systems manage fuel, spark and transmissions so a more appropriate description would be GM Powertrain management. There are three basic functions of GM fuel injection; fuel management, spark control, and transmission control. I will discuss fuel management first since that is the most important.

Fuel Management

EFI systems have different operating modes depending on the power output needed from the engine and operating conditions. The modes are open loop, closed loop, power enrichment and lean cruise modes. I will describe closed loop first since it is the predominant operating mode.

Closed loop mode means the engine control module (ECM) measures the A/F (air/fuel) ratio and uses this information to maintain the A/F ratio at a certain constant value. This mode uses feedback from an (oxygen) O2 sensor to close the loop. The A/F that the system tries to maintain is 14.7 to 1. The reason is that a 14.7 A/F ratio allows a catalytic converter to reduce exhaust emissions most efficiently. Engines don’t necessarily run the best at 14.7 at all times, but they produce the least emissions with a catalytic converter at this ratio. Also, it just so happens that the standard O2 sensor is most accurate at 14.7 A/F ratio, which gives a good feedback signal.

The bottom line is that the ECM control logic tries to maintain a 14.7 A/F ratio during normal conditions. Normal conditions are a fully warmed engine and other than full throttle. Because of closed loop, engines can run for thousands of miles and the EFI system will compensate as the engine wears to keep fuel delivery consistent.

Open loop mode differs from closed loop in that the O2 sensor is ignored and the engine can be managed to run at A/F ratios other than 14.7, usually richer or lower than 14.7. The ECM controls the fuel injectors without getting any feedback that the calculated fuel delivery rate actually matches what the engine received. Without feedback, the loop is open, hence the term "open loop". A good example of open loop is when the engine is first started on a cold day. It requires a rich mixture to start a cold engine since a lot of the fuel doesn’t reach the combustion chamber. This is because a portion of the gasoline doesn’t vaporize and pools inside the manifold until engine heat vaporizes the fuel. Another reason that engines run in open loop when cold is that O2 sensors don’t work until they reach about 6008 F, so it takes a few minutes in cold weather for them to begin functioning. Open loop is sometimes used at idle conditions since some engines idle better with a rich mixture. In open loop, the ECM commands an A/F ratio that is determined from a table of A/F vs. engine coolant temperature. The open loop A/F is also adjusted to run richer as MAP increases.

Another mode is power enrichment mode. This mode only occurs under wide open throttle conditions and is solely determined by the throttle position sensor (i.e. above say 60% throttle opening.) In this mode, the ECM ignores the O2 sensor and commands a richer than 14.7 A/F ratio. This is because engines develop more power with a slightly richer mixture but not too rich. This is the area of tuning that interests hot rodders the most since PE mode is where the fuel delivery for all out power is determined.

Finally there is lean cruise mode. In this mode the ECM commands a leaner than 14.7 A/F ratio or less fuel. This mode can only used be used at light loads when the vehicle speed is above a certain value, in other words, hiway cruise. In this mode, the ECM commands the leaner A/F ratio, increases spark advance, and occasionally returns to closed loop mode to double check itself. There is one problem with this mode. GM ultimately did not enable this mode since it allowed them to circumvent the emissions laws to achieve better gas mileage. This mode is only used by GM EFI tuning experts with enough knowledge to make it work without damaging their engine. If the engine is run too lean, spark plugs, valves, and pistons can be damaged. However, when done correctly, up to 10% in mileage gains are possible above the already excellent mileage from closed loop mode.

In summary, GM EFI controls fuel to maintain a 14.7 A/F ratio at all times under normal conditions. During other than normal conditions, open loop mode is used so that A/F ratios other than 14.7 can be commanded.

From this point on, this document will go into greater detail about how the ECM implements the different modes and how the system can be retuned to control modified engines.

The best way to organize the rest of this document is to explain each term in the fuel delivery calculation individually. The pulse width of an injector determines the amount of fuel delivered to the engine. A pulse width is the amount of time an injector is turned on over a fixed time interval. If the injector is turned on longer, more fuel is injected. If the injector is turned off sooner, less fuel is injected. The equation that determines the injector pulse width is this:

BPW = BPC * MAP * T * A/F * VE * BVC * BLM * DFCO * DE * CLT * TBM


BPW - Base Pulse Width

BPC - Base Pulse Constant

MAP - Manifold Absolute Pressure

T - Temperature

A/F - Air Fuel Ratio

VE - Volumetric Efficiency

BVC - Battery Voltage Correction

BLM - Block Learn

DFCO - Decel Fuel Cutoff

DE - Decel Enleanment

CLT - Closed Loop

TBM - Turbo Boost Multiplier

In the above equation, any term that has a value of 1 is essentially not contributing to fuel delivery or neutral. It is not taking away or adding to the fuel quantity.

BPW - Base Pulse Width means the pulse width under steady state engine conditions. Extra fuel is added when the throttle is juiced for acceleration. This is called asynchronous mode and will be discussed later. The above equation only consists of the synchronous mode contribution.

BPC - Base Pulse Constant is a term that is calculated from the volume of one cylinder, the flow rate of one injector, and a constant that converts the units to match other terms in the equation. For more on this term, see the Tunercat software link and the 1227747 ECM calibration help file.

MAP – Manifold Absolute Pressure is a measure of the load on the engine. It is the pressure inside the intake manifold in KiloPascals above absolute zero pressure. It is the opposite of engine vacuum meaning that a high vacuum reading is a low MAP value. Zero vacuum (full throttle) is 100 Kpa MAP. Although I don’t fully understand the inclusion of this term in the equation, it is used extensively in other areas of engine control.

T – Temperature is actually the inverse of the absolute temperature. Once again, I don’t fully understand the inclusion of this term in the equation, but as you will see later, I don’t need to for the purpose of this document. It probably adjusts for the density of the air in calculating the fuel delivery.

A/F – Air Fuel Ratio is a term that I do understand. In closed loop mode, this term remains 1 and does not contribute to the equation. In open loop mode, this term takes on different values depending on coolant temperature, MAP, cranking status, clear flood condition, throttle position sensor, etc. When this term is other than 1, the closed loop term is held to 1 so that the two terms will not be fighting one another. This term is also where PE mode is implemented. In other words, this term is the controlling term when other than a 14.7 A/F is desired.

VE – Volumetric Efficiency is a term that corrects for different engine efficiencies. An engine is basically an air pump and the better the pump, the more power it can generate. Some engines are better pumps than others at a given RPM and MAP condition, so this term allows the equation to be calibrated for different engines. This is the single most important term that a speed density EFI system is famous for. There is a table in the ECM EPROM (chip) that gives VE for a given RPM and MAP condition. The important concept to grasp here is that the VE table is used in both open and closed loop modes, and essentially all modes. What is not so obvious to a novice is that this table, when programmed correctly, will result in a 14.7 A/F ratio with no closed loop or open loop correction taking place. In other words, this table provides a baseline that tells the ECM where 14.7 A/F ratio is so that other A/F ratios can be commanded and the ECM will be at the desired AFR. When this table is adjusted correctly, the engine runs the smoothest, not because the engine is running at 14.7 necessarily, but because all other ratios depend on this table being accurate. If this table is off, the closed loop term will correct the A/F ratio back to 14.7 to a degree. If this table is way off, the closed loop term can’t compensate and the engine may not run period. A good example of when this table needs adjusting is when a hot cam is installed. A stock cam typically idles at 17 inches vacuum. But a hot cam might idle at 12 inches or less of vacuum. The VE table will be calling for more fuel at a lower vacuum reading (higher MAP), but the engine doesn’t need the extra fuel because its still idling. In this case, the calibration doesn’t match the engine’s airflow characteristics. Unless the VE table is changed to lower the efficiency at this MAP and RPM, the engine will run very rich and probably stumble and blow black smoke. The majority of retuning a GM EFI system for non-GM and non-stock engines is done in the VE table since this is the baseline of the entire system. See Figure 1 for a sample of this table.

BVC – Battery Voltage Correction is a term that corrects the fuel delivery rate for different battery voltages. The injector response is enhanced at higher voltages and is a bit sluggish by comparison at lower voltages. This term is a correction to offset the change in injector response due to battery voltage fluctuations. I suppose in time the closed loop term would correct the A/F ratio anyway, but this term catches it first. I see no reason to change this table since GM set it up based on their injectors’ characteristics.

BLOCK LEARN – Block Learn is a term that is related to closed loop mode, but continues its influence during all modes. To make the block learn term easier to understand I will ask you to jump to the closed loop term discussion and then come back to this section. Now that you understand the closed loop term, I'll continue. The BLOCK LEARN term can be viewed as a semi-permanent automatic adjustment of the VE tables. I say semi-permanent because if you disconnect the battery, the BLM adjustments revert back to 128 or neutral (the neutral value for a BLM value is 128). Another name for the BLOCK LEARN term is long term fuel trim. Over time, the BLM numbers will settle at a value that gives a 14.7 A/F ratio with no closed loop term correction. I say values because there are more than one BLM value, unlike the single Integrator. The BLM can be up to 32 different numbers depending on the ECM model. The Block Learn term derives its name from the way the VE table is divided into blocks for the corrections to take place. To illustrate this better, see figure 2. I have drawn a grid over a VE table. Each square of the grid is called a Block Learn cell and each cell has its own BLOCK LEARN value. Each cell is associated with certain ranges of RPM and MAP in the VE table, so the BLM value in a given cell affects all the VE values in that cell. For ex., say cell 4 has a BLM value of 140. Every VE value in cell 4 will be increased by 140/128, or about 9 percent. In an adjacent cell, the BLM might be 110, which will decrease all VE values in that cell by 110/128, or 14 percent. Now that you know how the BLM value affects the VE table, we can explain how the BLM itself is changed. In closed loop, it is discussed how the Integrator increases or decreases as the ECM gets feedack from the O2 sensor. The BLM value tracks the Integrator but has a delay. If the Integrator increases, so does the BLM, but the BLM lags behind the Integrator. The higher the Integrator climbs above 128, the faster the BLM rises. As the BLM rises, it begins to effect the AFR because remember, the VE table is being increased. As the AFR drops (gets richer) in response to the increased VE table, the Integrator will stop rising and begin to fall. Once the Integrator returns to a value of 128, the BLM will stop moving. Not only will the BLM stop moving, it will remain at that value permanently, essentially retuning the VE table at this engine operating condition. The only thing that will send the BLM back to 128 is removing power from the ECMs memory. In reality, the BLM values never stay in one spot. They constantly jump around a bit near the 14.7 AFR. The tuning implications of this are as follows. Remember that the Integrator value can't be used to determine how far away from 14.7 you are. However, the BLM value can. Since the BLM settles at a value indicating how much more fuel is needed beyond what the VE table is delivering, you can use the BLM value to adjust the VE tables manually, i.e. with an EPROM burner. If your scantool shows a BLM of 150 at 2000 RPM and 50 KPa MAP, then you know that the VE table value at 2000 RPM and 50 KPa MAP needs to be raised by (150/128) 17 percent. The problem is that the ECM doesn't tell you where the cell boundaries are through a scantool, so you need a great deal of data to discover where the VE tables are off. This is where a datalogging program such as Datamaster or Diacom come in handy. They allow you to drive for up to 25 minutes and record on your hard drive every sensor and internal value in the ECM up to 10 times per second. Obviously, with this much data, you need a good analysis tool like Datamster to graph and statistically group the data into useful tuning info. Once you get the VE table close, one trick is to reprogram the BLM upper and lower limits to 128 so that the BLM feature is disabled. Then, you can use just the Integrator to do the fine tuning. You can immediately see where the AFR is rich or lean at any location in the VE table. But you have to guess at how much to add or remove from the VE table since the Integrator value is not scalable like the BLM values. You can't use just the O2 sensor voltage though. If you are not in closed loop, the ECM will be trying to control to all kinds of A/F ratios, so the O2 sensor voltage will be meaningless. Unless you know all the factors affecting the AFR that the ECM is trying to control to, you have to do your VE table tuning in closed loop. The reason is that the ECM is definitely trying to maintain a 14.7 AFR by defintion in closed loop. In general, if your BLM values are all significantly low, then you probably have your BPC set too high. If your BLMs are all too high, set the BPC a little higher. If the BLMs are both above and below 128, but not too far above (135) and below (120), your VE table is probably reasonably close. If your BLMs are way above and below 128 all over the VE tables, the calibration is probably significantly off and needs to be manually corrected in the chip with an EPROM burner.

DECEL FUEL CUTOFF – Decel fuel cuttoff means exactly that. When you take your foot off the gas pedal going downhill or decelerating quickly, the ECM will cut off the fuel entirely. The difference between this term and the next one, DECEL FUEL ENLEANMENT, is that some fuel is allowed to reach the engine during DECEL Enleanment. As to when one or the other occurs, I don't know. I do know that on my TPI system, I noticed a lunge from the engine right around 1500 RPM, so I think this is where the DECEL fuel enleanment takes over from the DECEL FUEL CUTOFF. The lunge was significant and could easily cause you to run into the something if you weren't expecting it. I also believe a speed sensor is required for these two modes to operate period. So this is another reason to have a speed sensor.

DECEL FUEL ENLEANMENT – See Decel Fuel Cutoff above.

CLOSED LOOP – Closed Loop is a term in which the ECM uses feedback from the O2 sensor to make corrections to the air fuel ratio. Another name for this term is short term fuel trim. The ECM makes immediate but temporary corrections to the fuel delivery to maintain the AFR at 14.7. The only ratio that can be maintained in closed loop is 14.7. This is due to the nature of the type oxygen sensor used on most passenger cars. There are other types of O2 sensors called wide band sensors, but they are expensive. They can be used to monitor the AFR at other than 14.7 AFR. The short term fuel trim value is called the Integrator in most early scantools. The value of the integrator varies above and below 128 with 128 being no correction. For ex., if the integrator is 140, the ECM is adding fuel because the O2 sesnor is reading a lean mixture. If the Integrator is 115, the ECM is removing fuel because the O2 sensor is reading a rich mixture. Anytime the system is not in closed loop, the Integrator will immediately return to a value of 128 and stay there. There is only one Integrator and its value is solely dependent on the O2 sensor. When the engine is started, the ECM will keep the Integrator at 128 until the ECM determines that the O2 sensor is working correctly and that the engine temperature and time delays before entering closed loop constraints have been satisfied. The problem with the Integrator is that its value cannot be used to determine how far away from 14.7 AFR you are. The value of the Integrator does however increase or decrease the longer you are above or below the 14.7 AFR. The time aspect is probably where the Integrator gets its name. If you have studied calculus, you'll know what I mean. Otherwise, its beyond the scope of this document to explain. The Integrator and BLOCK LEARN work together to re-tune the system to match any engine's charactersitics, up to a practical limit.

TURBO BOOST MULTIPLYER – This term adds extra fuel during boost conditions on turbo charged engines. Discussion of this term is beyond the scope of this document. It is recommended that you purchase Tunercat's SYTY TDF file if you want more information on this term.