"When she was good, she was very good, but when she was bad, she was horrid." --English Nursery Rhyme
Hot rodders have always viewed electronic engine management as a mixed blessing. Many Chevy hot rodders believe the electronic control module (ECM) is a black box with invisible inner workings and inaccessible controls, specifically designed to prohibit user programmability or tuning. Documentation on the internal workings of the computer engine controls was intentionally nearly unobtainable for hot rodders, and the interface with which you could tune the onboard computer was also kept secret. No wonder many hot rodders hated early computer engines: You swapped in a few heavy-breathing parts, suddenly the engine ran horribly, and it seemed there was nothing you could do.
Things are now much more promising compared to the early grim days of the first Crossfire and TPI Chevy V-8s. Several aftermarket companies have fully reverse-engineered the factory computers and have blown things wide open for hot-rodding Chevys. Performance and custom PROMs are available to recalibrate your engine for specific hot-rodding modifications.
Aftermarket programmable computers, specifically designed with extreme flexibility and power, are readily available to replace the factory computer. Aftermarket replacement harnesses that use Chevy sensors are available in generic or custom configurations. If you decide to retain the Chevy ECM, there are even Windows PC programs available that connect to your Chevy ECM for immediate data logging and/or recalibration.
But in order to performance-enhance a computer-controlled engine, it's best to know a little about how the computer works. This month, we'll look at how the black box deciphers all the information delivered by the sensors and how it decides on a command and executes those decisions. To begin with, a digital computer circuit is either "on" or "off," "yes" or "no," "0" or "1." All numbers in the computer--all logic and all operations--are represented with combinations of ones and zeroes--as circuits or memory locations that are either on or off. The key is that the computer can make these decisions at lightning speed.
Modern computers, such as the ECM computer on a Z28 Camaro, consist of several components. The first is the hardware circuitry, which includes circuitry wave-soldered onto a printed circuit board. It also includes the microprocessor, a vastly complex, special-purpose transistor array etched and plated onto a tiny chip of silicon. In addition, the microprocessor also contains at least a few ultra-high-speed special-purpose memory locations called registers and a fast, bidirectional pathway to random-access memory (RAM).
The microprocessor circuitry is designed to take action when presented with certain codes in the form of special 16- or 32-bit-long sequences of zeroes and ones collectively known as the processor's instruction set. After decoding the instruction, the processor circuitry proceeds to modify bits in its registers in a precisely specified way--which is the first tiny step in performing a complex job such as running an engine.
Stored software instructions are the second component comprising the computer--a list of numbers collectively referred to as software, or microcode, each of which directs the microprocessor to do something, usually to modify data. The coded instructions are stored in electronic memory and are fetched one by one into the microprocessor to direct its circuitry to make certain decisions and/or take actions with respect to a third logical component of the computer, namely data.
The program running in a Chevy ECM consists of thousands of simple instructions which, taken together, represent the logic or intelligence needed to make an engine run. Software is stored in read-only memory (ROM). These instructions could be stored on a disc on nonautomotive computers, but discs are considered too expensive and too fragile for the hostile environment of automotive use.
The microprocessor and its software program in a Chevy ECM operate mostly on data that represent engine calibration specifications and other information parameters. Again, data are nothing more than lists of numbers that are not instructions, but simply numbers--for example, specifications about an engine, sensor status, or perhaps the results of an earlier processor operation. ECM data are stored in ROM, in RAM, or in programmable ROM (PROM) memory devices. The memory device's multiple prongs are soldered in place on the computer's circuit board or plugged into a special socket for quick removal.
An ordinary PROM is programmed using ultraviolet light in a special PROM-burner machine before installation in a computer. The ECM itself cannot change or rewrite PROM data. The purpose of calibration data is to customize a generic Chevy computer to run a specific engine. All Chevy calibrations are stored in PROM. TPI and early LT1 computers used an ordinary PROM to store the calibration so that modifying the calibration required swapping in a new PROM. Much of the important data consist of fuel- and spark-calibration information, organized into large tables of 256, 512, or more elements. The data are typically gathered or researched on specific test engines and vehicles and are reproduced in a PROM when computers are programmed at the factory to control a specific model of vehicle and engine and when they are installed on the assembly line in the vehicle. The calibration data provide the ECM with specific information, such as how long to open injectors under various engine conditions or what the spark advance should be under the complete range of circumstances.
RAM, the third class of memory in the ECM, can be read from or written to very quickly. Unlike ROM, PROM, or flash PROM, the data in RAM are lost when shutdown interrupts electrical power to the ECM. A portion of RAM is used as a kind of scratch pad for the calculations used in ECM operations while the engine is running. Other RAM is used to store the constantly changing numbers that represent the status of various engine sensors or that represent commands controlling engine actuators, such as fuel injectors, relays, idle-air-control stepper motors, and so on.
The computer triggers special input/output circuitry to move data between memory and the special digital-to-analog devices that translate digital data into the direct-current electrical voltages used by sensors and actuators. Similarly, analog-to-digital circuitry translates external analog sensor voltages into digital numbers and feeds them into ECM memory as data.
Understanding GM EFI
In many ways EFI is easier to understand than carburetion. In a continuous loop, the onboard computer repeatedly calculates how much air is entering the engine--based on rpm, the number of cylinders, and engine loading. Loading is determined by measured airflow data from a mass airflow sensor or calculated airflow data based on engine speed, manifold absolute pressure), and throttle-position sensor data. The computer rounds speed and airflow to the nearest of 16 ranges of engine rpm and 16 ranges of loading or airflow, and it indexes these two numbers into a lookup table. For each of the 256 combinations of engine speed and airflow, the table specifies injector open time (pulse width) or an integer multiple of pulse width to avoid floating-point math. The air/fuel and spark-timing tables are stored in PROM and referred to as the engine's calibration. By varying the calibration data, one ECM can be used to manage many different types of engines.
For better driveability, the computer modifies pulse width and timing when the engine is warming up or very hot or during sudden acceleration--according to PROM tables of coolant temperature enrichment and throttle rate-of-change enrichment values. GM computers also control additional "bells and whistles," such as the idle-rpm controllers, torque converter clutch, cooling fans, cruise control, antitheft lockout, turbocharger wastegates, EGR, air injection, charcoal canister purge, and even auto-trans shifting and traction controls. GM computers learn as they go, adjusting fuel trim in closed-loop mode based on the oxygen content of exhaust gases, searching continuously for the chemically perfect 14.7:1 air/fuel mixture and storing the required trim for future use.
Closed-loop operation is accomplished via a continuous feedback loop in which air/fuel ratio is deduced and adjusted based on the amount of residual exhaust-gas oxygen measured by an O2 sensor. An O2 sensor is conceptually similar to a lead-acid car battery, which supplies varying voltage depending on the concentration of sulfuric acid in the cells. The O2 sensor supplies varying voltage based on the concentration of oxygen surrounding the sensor and the reference of atmospheric oxygen content. Since residual oxygen in the exhaust of an engine corresponds to the balance of fuel and oxygen in the intake charge, the O2-sensor voltage essentially tells the computer the intake air/fuel ratio, except when the engine is cold or near wide-open throttle--when fueling is based purely on the preprogrammed air/fuel table data, regardless of the resulting mixture as measured by the O2 sensor. This is called open loop. GM computers very rapidly and repeatedly trim injection pulse width and observe the result via the O2 sensor, adding or subtracting fuel as necessary to hone in on the chemically perfect air/fuel ratio.
It turns out that even if you modify the engine in ways that would tend to change the stock target air/fuel mixture, the computer will work to achieve the 14.7:1 ratio. This can mask problems, such as out-of-spec fuel pressure, and it can work to undo manual changes to calibration. If you are reprogramming your PROM (except at full throttle), you are essentially working to tune the engine so that little or no closed-loop correction is required, driving the block-learn count to 128 in all cells of this correction table. Except on engines with overly long cam timing, idling at 14.7:1 air/fuel ratio is a good thing for hot rodders. In any case, your GM computer learns from its mistakes, remembers the new fuel trim required, and automatically uses the new tuning in the future.
Chevy Computer In School
Here's how your GM computer learns. The Integrator is GM's name for a data-storage location in RAM, which is assigned a value of 128 when there is no fuel being added or subtracted by closed-loop operation. The Integrator is normally updated very frequently and rapidly as the computer hunts for the chemically perfect 14.7:1 stoichiometric air/fuel ratio. When the Integrator is less than 128, the computer is subtracting fuel from the base computation or down to an Integrator value of 0, which represents almost 1 percent less fuel.
Conversely, a value of 255 represents just under 1 percent added fuel. As you can see, this is very finite fuel control at part-throttle. If the Integrator hits 0 or 255, the computer resets the Integrator back to 128, consults engine speed and load, then moves up or down the appropriate cell in a four-by-four block-learn table of 16 cells representing four different engine-speed ranges and four levels of load.
Each increase or decrease of one in a block-learn cell therefore indicates just under a 1 percent addition or subtraction of fuel for that speed and loading range--escalating up to 100 percent fuel added at a block-learn value of 255 or down to 100 percent subtracted when the block-learn hits 0. GM programmers often clamp the block-learn to minimums and maximums closer to 128. When any block-learn cell hits the maximum allowable value, a data trouble code is set, the Service Engine Soon dash light illuminates, and the computer defaults to open-loop operation. The long-term (block-learn) fuel trim is reset to 128, or 0 percent.
Fuel And Spark Maps And Spark-Fuel Calculations
Engines need the most fuel per power stroke at peak torque under wide-open throttle, since this is the point at which the engine breathes the most air and at which you definitely want a maximum-power air/fuel ratio. The air/fuel table is a two-dimensional array of cells that specify basic pulse width in 500- or 1,000-rpm increments from cranking rpm to beyond redline and for ranges of airflow from idle at very high elevation to airflow at 15 percent beyond the maximum calculated stock airflow at low elevation, low temperature, peak-torque rpm, and wide-open throttle. These base, or "raw," spark- and fuel-table values are virtually always modified to compensate for such factors as engine temperature, acceleration, battery voltage, air temperature, and so on, which cannot be known in advance and which affect fuel and spark requirements.
Every time the computer is scheduling injector open time, it reads rpm and airflow, rounds to the nearest ranges of speed and loading, and indexes into the appropriate cell in the air/fuel or timing table to look up specified pulse width. Any modifications that significantly alter the engine's breathing, such as better cylinder heads or changing injectors or fuel pressure, will require at least some elements of the air/fuel and timing tables to be corrected with new numbers to compensate.
Now if you're not completely confused, we can add to your bewilderment by claiming that this has just touched the surface of what actually goes on with a typical GM computer. Is it necessary to commit all this information to memory? The obvious answer is no, unless you intend to make modifying GM computers your mission in life. What is important is to have a working knowledge of how all these systems operate so you are not as intimidated by the factory EFI systems. If you come away from this story with more than you went in with, then we've done our job.