Better understand your BLM and INT

TurboDave

RIP DAVE
Staff member
TurboBuick.Com Supporter!
Joined
May 24, 2001
Just thought I would post up some of rightings from years ago. Still some good info. I wrote and posted this to gnttype.org but the tech files are buried pretty deep on their site.

Hope this helps.

Well, the formatting got destroyed, so give some time to figure out how to post the BLM table.:mad:

Introduction
In a nutshell, the Block Learn Multiplier (BLM) is the long term fuel adjustment that the ECM "learns" to keep the air/fuel ratio within acceptable parameters. The Integrator is the same idea, only for short term adjustments. Basically, these two strategies are used to make adjustments and adaptations to the ever changing loads, atmospheric conditions, and fuel quality to keep the car's air/fuel ratio correct for drivability and emissions.
Also, keep in mind that when we say Long Term or Short Term, we are talking in computer time, not human time. In our ECM the Long Term fuel adjustment (BLM) happens about twice per second, while the Short Term fuel adjustment (INT) happens about 20 times per second

What are "Cells"?
The fuel delivery strategy uses a two dimensional table that has four rows and four columns, for a total of 16 "cells". Each cell contains a Block Learn Multiplier (BLM) value (from 0 to 255), which represents a long-term fuel correction based on that cell's operating conditions over a relatively long period of time. Each BLM value in turn contains an integrator value (also from 0 to 255), which is a short term fuel correction based on immediate operating conditions. For both the Integrator and BLM values, a higher value represents a correction that adds fuel to the fuel mixture, due to higher injector pulse widths.

Unfortunately you'll have to click the image to get a readable size.




The table above depicts the BLM cell table that is held in the typical Turbo Regal ECM. As you can see, it is offset by rpm in the columns, and by airflow in the rows. The individual cells are numbered 0 through 15 (for a total of 16 cells). So, the cell being accessed at any given point in time is controlled by airflow versus rpm.
Let's take a few "for instances". Let's say the car is sitting in the driveway in Park, up to temperature, and just idling. In that case:
  • RPM = 750
  • MAF = 6
Since the RPM is very low and the MAF is very low, the car will be using the information in BLM Cell 0 to adjust the idle fuel mixture. The value contained in that cell is adjusted with the Integrator values (which change based on O2 readings, etc.).
Now, let’s go for a typical highway cruise, at about 65mph, on a nice flat road:
  • RPM = 1800
  • MAF = 22
Since the RPM is above the highest value in the column to the right, and the MAF is reading a value in the “third” row, we can see that the ECM is now accessing, and using the BLM value in cell 11. Cruise conditions will often move between cells 7 and 11 based on small changes in MAF, since the typical highway cruise value is between 15 and 25.
Typically when you pull away from a stop sign or traffic light in fairly normal circumstances, you’ll see that it takes only a second or so for the RPM to jump over the 1500 upper RPM limit, and the MAF (air flow) will very easily jump up over the 30 gps upper MAF limit. In this example the ECM will be using cell 15 (sometimes erroneously called the WOT cell) (WOT meaning Wide Open Throttle).

OK, So what's the BLM DO?
The BLM is a long term adjustment, which is stored pretty much permanently (unless you disconnect power to the ECM), to the fuel delivery calibration that results from the ECM "learning" the values while you are driving around. 128 is the ideal value, because it is the center point of the range 0-255. Above 128, and the ECM is adding fuel to compensate for a lean condition at a particular load and RPM. Below 128, and it represents a correction for a rich condition.

How does the Integrator play into this?
On a cold start the INT is set to 128 and kept there until the coolant reaches a threshold value, a timer says the engine has been running long enough, and the O2 sensor has warmed up and started responding. The ECM then sets the closed loop flag, which means that if other conditions are met (not in PE, DE, or DEFCO modes, primarily) the ECM uses the O2 sensor to control the INT. It adds to the INT in small increments until the O2 voltage goes above a threshold so the ECM knows the engine is now rich, then it starts subtracting from the INT until the O2 voltage goes below another threshold and the engine is lean. The ECM keeps cycling the INT, trying to keep the time spent rich equal to the time spent lean so it knows that the average is stoichiometric. If other conditions are met then the learn control flag is set and the ECM keeps a moving average of the INT values. If this average is not 128, it will add or subtract to the current BLM value to move the INT average towards 128. This is done a few times a second, without the INT ever having to get to an extreme value such as 90 or 150. The stock BLM range is 105 to 150, but even if the BLM has reached one of these limits the ECM is still able to keep the engine averaging stoichiometric so long as the INT is not also at a limit. For example, the BLM could be 150 and the INT ranging between 135 and 145.
If you have a scan tool or Direct Scan you can watch this process. The ALDL update rate will keep you from seeing all of the INT values but you will still see the long-term trends. Start the engine and let it warm up so that learn mode is enabled, then pull the vacuum hose off of the fuel pressure regulator. The fuel pressure will jump up 4-7 psi and the engine will go rich. The INT will drop below 128 and go down until the engine finally goes lean or a limit is reached, and will then go up and down over a range of maybe 10-20 units as the ECM keeps the engine bouncing between rich and lean, and the BLM will start dropping. As it does, the average INT will rise back to 128. Once the INT average is 128 the BLM will stop changing. Put the vacuum hose back on, the fuel pressure will drop, the engine will go lean, and the mirror image of the above will occur. The INT will rise, start bouncing up and down, the BLM will rise, and the INT average will eventually reach 128 and the BLM will stop changing again.

Summary
BLM values are divided in to "Cells" based on MAF vs. RPM. Within each cell, there typically values from 105-150 for the BLM. Within the BLM value, there are Integrator values, typically 105-150 also.
The Integrator is adjusted based on sensor feedback (primarily the O2 sensor) to make real time adjustments for varying conditions. If the adjustments cannot be made in a BLM value, then the BLM value is either increased (add fuel) or decreased (subtract fuel) to compensate.
If you reach the "corner" of an individual cell and not further adjustment is possible, the car may not run correctly and there is a problem with the calibration or a critical sensor.
It all sounds very intimidating, but really isn’t. One must keep in mind that the changes that are being made, as in the INT for example it is happening at close to 20 times per second. Think of it this way; The INT is used to “drive” the BLM number toward a value needed to maintain stoiceometric A/F ratio. As in one of the examples above, make a radical change (such as removing the fuel pressure regulator’s hose) and watch the INT do its thing!! The INT will jump to a high value, and hover there while the BLM starts its “march” up the scale. As the BLM approaches the value needed to get the A/F ratio corrected you’ll see the INT value heading back down toward 128. Ideally, they will both meet at 128 at about the same time. It’s really neat stuff to watch.
 
Dave is this just a standard predictor-corrector control system?
 
Dave is this just a standard predictor-corrector control system?

It probably wasn't made particularly clear in the right up, but the BLM/INT have in essence, direct control of the injector pulse width utilizing feedback from the stock O2 sensor. Which is why the stock system is able to maintain such incredibly tight control over the stoichiometric A/F ratio when in closed loop (idle/cruise/light to moderate load). While the stock O2 isn't very reliable for anything much outside of the closed loop parameters, it's very VERY good during closed loop operation (assuming it's a good sensor).
 
It probably wasn't made particularly clear in the right up, but the BLM/INT have in essence, direct control of the injector pulse width utilizing feedback from the stock O2 sensor. Which is why the stock system is able to maintain such incredibly tight control over the stoichiometric A/F ratio when in closed loop (idle/cruise/light to moderate load). While the stock O2 isn't very reliable for anything much outside of the closed loop parameters, it's very VERY good during closed loop operation (assuming it's a good sensor).

I think you indirectly answered it as yes. this type of control system uses a model of the system to predict what the system will be doing at any moment in time (In this case the BLM) and makes a crude adjustment based on that and then uses the actual system state (the INT) to fine tune the control law to drive the state to zero.

Sorry. Occasionally I resort to my Geeky college self.
 
I think I get all this. Turbo tweak chips use a WBO sensor to keep things at a certain point. How does this chip change the above write up, if at all.
 
I think I get all this. Turbo tweak chips use a WBO sensor to keep things at a certain point. How does this chip change the above write up, if at all.

Good question. My right-up was made with more conventional type chips in mind. Chips like the WB TT chip and Extender Pro chips are a different story. Their level of sophistication has changed some of the rules.
 
Turbo Dave, great description of BLMs. Whenever I attempted a write-up on this subject I got all caught up in the details. You did a good job.

Since you help so many people I want to correct one minor thing. There is only one Integrator (INT) that the ECM uses for all BLM cells. The notion that each BLM has its own was inadvertantly posted years ago (by Mosher) on the gnttype site and its not so. There is an option flag that causes the INT to reset (to 128) each time a new BLM cell is entered but the stock chip has this turned off. Whether or not the INT should be reset for a new BLM cell makes a great debate over a beer.:D

Also, some of the website readers might be interested in knowing the real reason why the number 128 is used as the baseline for fuel adjustment. Both the INT and BLM are used as multipliers in the fuel calculation. In binary math, the number 128 has a multiply value of 1 (100%). 129 - 255 has a value of 101 - 199% (more fuel in this case) and 0 - 127 multiplies as 0 - 99%. (This can be tested using the MS Windows calculator in scientific mode if anyone is so inclined.)

Dennis
 
Turbo Dave, great description of BLMs. Whenever I attempted a write-up on this subject I got all caught up in the details. You did a good job.

Since you help so many people I want to correct one minor thing. There is only one Integrator (INT) that the ECM uses for all BLM cells. The notion that each BLM has its own was inadvertantly posted years ago (by Mosher) on the gnttype site and its not so. There is an option flag that causes the INT to reset (to 128) each time a new BLM cell is entered but the stock chip has this turned off. Whether or not the INT should be reset for a new BLM cell makes a great debate over a beer.:D

Also, some of the website readers might be interested in knowing the real reason why the number 128 is used as the baseline for fuel adjustment. Both the INT and BLM are used as multipliers in the fuel calculation. In binary math, the number 128 has a multiply value of 1 (100%). 129 - 255 has a value of 101 - 199% (more fuel in this case) and 0 - 127 multiplies as 0 - 99%. (This can be tested using the MS Windows calculator in scientific mode if anyone is so inclined.)

Dennis


Thanks for catching that. I agree, it would make for good discussion. I'm kinda on the fence on whether it's better getting reset with each cell change. Since it reacts so fast (20 time per second), I don't think it would make a huge difference if it didn't get reset.
 
Thanks for the deatiled info. I'm still a novice, but it great to begin to understand how things work!
 
A bad O2 sensor will throw off the INT and BLM numbers but the best way to tell if the sensor is working properly is watch the crosscounts. No special number to look for, just watch that the count increases quickly.

Anything that contributes to the AFR can affect the BLM value. The two major items are fuel (injectors) and air (MAF sensor). The ECM won't know if either is not working properly but the fuel mixture will be off and the O2 reports this. The ECM tries to compensate by adjusting the BLM up/down, probably until it hits the limit (105 or 150).

I'm sure GM's motive for using the closed loop system was emissions but keeping an eye on BLM values can also alert you to a problem and possibly save you gas ($$$). In a well tuned GN, the BLMs should 128 + or - 4 or 5. If any of your BLM cells are way high or low, especially if at one of the limits, there is something wrong and it should be corrected.
 
My car runs stoich during start up and warm up but after a little amount of time it starts to jump from rich to lean and back repeatedly. Could that be caused by a bad O2 sensor sending the wrong input to the ECM?
 
My car runs stoich during start up and warm up but after a little amount of time it starts to jump from rich to lean and back repeatedly. Could that be caused by a bad O2 sensor sending the wrong input to the ECM?

Thats normal, they call them cross-counts when the o2 sensor oscilates from rich to lean.


Edit: Good work TurboDave, even though I dont have the stock ecu anymore, this will help alot of people out.
 
Thanks for this write-up. Do I need to change something if my BLMs at 136? MY INT is at 128. If so, what do I need to change. I have TT chip and stock MAF and no way to adjust fuel, at least that I know about.
 
Top