Definitions

If you're not familiar with Closed Loop, Duty Cycle, Knock Retard, and other terms needed to describe PCM operation, read on.

Back to the PCM Tutorial


Advance:  see Timing

Base pulsewidth:  This is the injector pulsewidth that the PCM has come up with based on engine sensors (MAF, MAP, RPM, ECT).  It does not include any adjustment factors based on O2 sensor feedback.  It is the PCM's best guess at the right pulsewidth for the engine size, injector size, and current engine conditions.

Correction factor:  Suppose you weigh 210 lbs according to your scale.  Suppose you weigh 200 lbs on your doctor's scale, which was just calibrated and is perfectly accurate.  Suppose your skinny friend weighs 105 lbs on your scale and 100 on the same doctor's scale.  In your case, your scale is off by (210 - 200) / 200 = 10 / 200 = 0.05, or 5%.,  For your friend, your scale is off by (105 - 100) / 100 = 5 / 100 = 0.05, or 5%.  So how do fix the results from your scale so they are right?  The answer is to multiply the scale reading by a correction factor.  If the scale was perfect, the correction factor would be 1.00.  You need to decrease you readings by 5%, so the correction factor is 0.95.  If, after you lose some weight, your scale says 180 lbs, your true weight is 180 * 0.95 = 171.  You have used the correction factor.

Note that the relative size of the corrections for you and your skinny friend are the same, meaning that they are the same percentage of the original number.  But the absolute size of the correction changes depending on the size of the original number.  In the example above, the size of your correct was 10 lbs, while your friend's correction was only 5 lbs.  But both of them are 5% of the original numbers.  Compare this with an "offset", which is always the same absolute size.  An offset has a much bigger effect on small numbers than it does on bigger numbers.

Here's a tuning example using the fuel-injector-offset-versus-battery-voltage table:  Suppose you add a 0.5 millisecond (ms) offset to that table at your normal battery operating voltage.  If the PCM calculates an idle pulsewidth of 2.0 milliseconds before applying the offset, the final pulsewidth after adding the offset will be 2.5 milliseconds.  The absolute change is 0.5 milliseconds, and the relative change caused by the .5 ms offset is 0.5 / 2.0 = 0.25, or 25%.  This is a big change!  Now suppose the PCM calculates a WOT pulsewidth of 15.0 milliseconds before applying the  same 0.5 ms offset.  After applying the offset the pulsewidth becomes 15.5 milliseconds.  In this case, while the absolute change is still 0.5,  the relative change caused by the offset is only 0.5/15.0 = 0.03, or 3%.  The same offset has almost no affect on large pulsewidths.

Closed loop:  Closed loop is the normal operating mode of our PCMs, the mode a typical street driven car is in 99.9% of the time.  The PCM comes up with a base pulsewidth by looking at some of the engine sensors, grabbing the value from the VE table (maybe - see the main tutorial page) that corresponds to the signals from those sensors, and using that value in a base pulsewidth calculation.  In addition, previous O2 sensor feedback is been used to generate the short term and long term fuel values, which are used to generate correction factors for the base pulsewidth.  The final injector pulsewidth is the product of the base pulsewidth and the correction factors.

Default value:  Default value refers to what the PCM uses in place of "learned" values after you remove power from the PCM by pulling its fuse or disconnecting the battery.  The BLM and INT default value is 128.  If you remove power from the PCM for more than a few seconds, it will forget whatever BLM and INT values it learned since the previous reset.

Duty cycle:  4-stroke engines like the LT1 and LT4 take 2 complete revolutions of the crankshaft to go through the whole intake-compression-combustion-exhaust cycle.  So how much time do those 2 revolutions take?  The answer depends on rpm.  There are 2 revolutions per complete cycle, so at 600 revolutions per minute (600 rpm), there are 600 / 2 = 300 cycles per minute.  Converting minutes to seconds, you get 300 / 60 = 5 cycles per second.  But we want seconds per cycle, not cycles per second, so just turn 5 cycles per second upside down to get 1/5 second per cycle.  1/5 of a second is the same as 200 ms (milliseconds), so at 600 rpm, the complete cycle takes 200 ms.

Doing the same math for 6000 rpm gives: 6000 / 2 = 3000; 3000 / 60 = 50; 1/50 = 20 ms.  Makes sense, right?  The engine is spinning 10 times faster, so each cycle is only 1/10 as long.

The shortcut formula for the amount of time in milliseconds that the engine needs for a complete cycle is 120,000 / rpm.

So what, you ask?  Suppose you tell me the scan tool reports that your injector pulsewidth is 20 ms, and you've heard that fuel injector duty cycle is something to worry about, so you want to know what 20 ms works out to in duty cycle.  At 600 rpm, 20 ms is equal to 20 / 200 = 1/10 of a complete cycle.  1/10 is the same as 10%, so at 600 rpm, 20 ms gives a 10% duty cycle.

But at 6000 rpm, a 20 ms results in a duty cycle of 20/20 = 1 = the entire cycle.  So at 6000 rpm, a 20 ms pulsewidth is the same as a 100% duty cycle.  The injectors never close!  This is a Bad Thing because it will cause the injectors to overheat and fail eventually.

Note: People (me included) have reported seeing injector duty cycles above 100%.  For example, the cycle time at 6500 rpm is about 18.5 ms.  If the PCM commanded a 20 ms pulsewidth at 6500 rpm, that would be the same as a 20 / 18.5 = 1.08, or a 108% duty cycle.  But the reality is that the injectors can't be open more than all the time, so the actual pulsewidth will be 18.5 ms, not 20.

Injector pulsewidth:  the length of time in milliseconds (ms) that the fuel injector is open and spraying fuel.  Injector pulsewidth is controlled by the PCM.  Some PCM scan tools can display injector pulsewidth as a duty cycle.

Injector size:  The PCM needs to know how big the injectors are so it can calculate the right pulsewidth, especially in open loop where there is no feedback.  Injectors for the LT1 are generally rated in "pounds of fuel per hour" (lb/hr).  Since the flow through an injector depends on the difference in pressure between its input (the fuel rail) and its output (the intake manifold), the flow rating is done at a standard pressure difference.  This standard difference is about 43.5 psi for many common injectors (but not all).

As an example, stock LT1 injectors are rated to flow 24 lb/hr.  Suppose you have the throttle wide open, and you don't have a blower or a turbo, so your manifold vacuum is close to zero according to the gauge.  This means that the actual pressure in the intake manifold is the same as atmospheric pressure, or about 14.7 psi.  Suppose you jacked your fuel pressure up to 58.2 psi.  The pressure difference "seen" by the injectors is input - output, or 58.2 - 14.7 = 43.5.  This means that they will (theoretically) flow at a rate of 24 lb/hr while they are open.

Note that can't just use a correction factor to estimate the flow rate at other fuel pressure.  IOW, if you changed your fuel pressure from 58.2 psi to 50 psi, the new flow rate is not 24 * (50 / 58.2 ) = 24 * 0.86 = 20.6.  The correct formula is <<<add injector flow equation>>>

Knock:  aka pinging, rattling, detonation, marbles in the cylinders, knock is the source of much confusion.  In general, it means that the fuel/air mixture in the cylinder is not burning exactly when the spark plug tells it to.  It's Very Bad because it will cause fatal engine damage sooner or later.  It is really too involved for a one paragraph summary, but there are lots of books and magazine articles out there that explain common causes of knock.  Click here to hear an example of knock.

A note on high-octane fuel: octane rating is a measure of a fuel's resistance to knock, nothing more.  In general, the additives used to increase octane (xylene, toluene, and many others) have a lower energy content than the base fuel they're being added to.  Lower energy content means less power.  So why do fast cars run high-octane fuel if it has a lower energy content?  Because the knock resistance enables them to run more advance, or more boost if it's a blower or turbo engine, without detonation.  If your engine can run its optimum amount of ignition advance without knock on street gas, you will go slower if you switch to a higher octane race gas!

Knock sensor:  A gizmo that listens for the sound of knock, and generates an electrical signal that tells the PCM that it's hearing knock.  On f-body LT1 and LT4 engines, the knock sensor is halfway back from the front of the engine block, on the passenger side, just above the pan rail.  Remove it and all the coolant stored in the passenger side of the block will gush out all over the garage floor.

Vette and Impala LT1/LT4s have a second knock sensor in the same position except on the driver side.  It also doubles as a cylinder block water jacket plug, so removers beware!

Knock retard:  When the knock sensor tells the PCM that it hears knock, the PCM responds by retarding the timing.  In general, if the knock sensor hears a little knock, the PCM will only retard the timing by a few degrees, or less.  If the engine is doing a death rattle, the PCM will use the maximum amount of retard it can.  The total amount of retard available, the reaction time of the PCM to detected knock (in other words, how quickly the PCM responds to knock), and how quickly the PCM restores full advance after knock goes away, are all adjustable if you know what you're doing.

False knock:  Sometimes the knock sensor will think it hears knock when it's really just header noise, or valvetrain noise, or the Canton oil pan banging on the steering rack, or ...  This is annoying because it causes the PCM to retard the timing when it doesn't need to.  One way to tell if knock retard is caused by false knock is do a test run with 104 octane (unleaded if you want your O2 sensors, and cat if you have one, to live!) race gas.  If at all possible, don't dilute the race gas - make sure your tank is as empty as possible before putting in the good stuff.  If the retard goes away, the knock was real.  If the retard doesn't change at all, the knock is most likely false, or you've got a major tuning problem.

And don't expect to kill real knock with a can or 2 of octane booster.  When they say it raises the octane by 4 points, they mean from 92.0 to 92.4, which won't make any difference.

Offset:  Going back to the scale example I used to describe correction factor, suppose some joker changes the doctor's scale so that it reads 5 lbs when nothing is on it.  If he remembers to subtract 5 lbs from every reading, the results would all be perfectly accurate.  This is the same as subtracting an offset from the reading.  Remember that correction factors are multiplied (or divided), but offsets are added (or subtracted).

Again referring back to correction factor, note that the relative size of an offset is huge when the "right"  number is small.  If you weighed a 1-ounce letter on the doctor's scale after the joker messed it up, the scale would report roughly 5.06 lbs.  The absolute error of 5 lbs results in a relative error of 5 / 0.06 = 83.3 = 8333%!  But the 5 lb error in your 200 lb weight causes just a 5 / 200 = 0.025 = 2.5% error.

Open loop:  In open loop mode the PCM is not using the O2 sensor feedback, in other words the feedback loop is open.  Since there is no feedback, the PCM has no idea whether or not its doing a good job of fuel control, so new short term and long term offset values aren't calculated.  If the PCM fuel calibration is reasonably good, the PCM generally sets them all to the default value of 128 while its in open loop.  The exception to this, which angers all of us drag racers, goes like this.  If the recent closed loop BLM was above 128 (actually above 132, I think), the PCM will "remember" the most recently-used BLM value (which could be as high as 160) and use it in PE mode (which is an open loop mode) instead of 128.  Since you can't predict what the most recently used BLM will be in this case, you can't tune for WOT.

The engine always starts in open loop, regardless of whether the start was hot or cold.  There are several conditions that must be met before the PCM will switch from open to closed loop, including ECT, number of minutes since you turned it on, and maybe some others?

Scan tool:  An absolutely essential tool if you hope to get good performance.  The scan tool plugs into the connector above the driver's right knee and sucks crucial information out of the PCM at a rate of up to 10 chunks per seconds.  Each chunk contains important PCM inputs, including all the sensor signals mentioned in this tutorial, as well as the interesting PCM outputs, including injector pulsewidths, timing, and knock retard.  I like DataMaster, and consider Diacom to be a dinosaur.  I haven't seen any others in operation.

Split BLM:  The term I use to describe the condition where the BLM for one side of the engine is quite different (10 counts or more) from the BLM for the other side.

Retard:  Another source of confusion.  Retard is kind of like "dark".  There really isn't any such thing as "dark", dark is just what happens when you take away light.  "Retard" is what you do to the timing when you take away advance.  No LT1 is going to want its spark to occur after TDC, which is what "retarded timing" means literally.  When we say that the timing is retarded, we really mean "less advanced".

For example, if you experience knock above 5000 rpm with 38 degrees of advance, you might try retarding the timing by 2 degrees.  You might tell a friend that you tried running the car 2 degrees retarded.  You don't mean that the spark fires 2 degrees after TDC, you mean that you're running 2 degrees less advance than you used to run.

Ignition Timing:  The fuel/air mixture does not all burn the instant the spark plug sparks.  It takes some time after the plug fires until the combustion is really doing some work.  So the PCM fires the plug a little before the piston reaches TDC.  Firing the plug before TDC is called advance.  The PCM does not control advance by keeping track of time, rather, it fires the plug when the piston is the specified number of degrees before TDC.