This is a general statement about the gmecms, and is subject to
modification by application. Grumpy Each application has a unique memcal. Each memcal has a four letter
(and 4 digit) broadcast code which is also unique for the application (most
often, there are exceptions). Air Fuel Ratio The air-fuel ratio is maintained at 14.7:1 during closed-loop
operation. This ratio is too rich for maximum economy and too lean for maximum
power. During warm-up and power enrichment, a rich air-fuel ratio is used [less
than 14.7:1]. During lean cruise
operation, a lean air-fuel ratio is used Barometric Pressure Barometric pressure is sometimes calculated from the manifold sensor
voltage. It is corrected for the pressure drop through the throttle body at
low engine speed and throttle openings to give barometric pressure. Manifold
pressure is scaled to reflect variations in barometric pressure. Some applications read the MAP between
the key on to crank posistion. Battery Voltage Battery voltage is monitored by the ECM. Variations in battery voltage
can cause fluctuations in fuel delivery ei. injector opening delay and fuel
pressure. The ECM compensates injector delivery parameters for voltage
fluctuations. It also disables certain outputs if battery voltage falls outside
operating limits. Coolant Temperature Coolant temperature is calculated from the coolant sensor voltage. The
sensor is a negative temperature coefficient thermistor (resistance decreases
as temperature increases), and two pull up resistors are used to increase the
resolution of the sensor over the operating range -40 to 152 deg C. Coolant
temperature is used extensively in ECM calculations and lookups. Engine Crank The engine crank time counter is incremented each 100 msec from the
time the first ref pulse is received until the time at which the engine is
determined to be running. Engine Speed The ECM determines engine speed from calculated from the elapsed time
between distributor reference pulses and the number of engine cylinders, which
is contained on the memcal for each application. IAC Motor Position The IAC motor is a stepper motor, one end of which is fitted with a
pintle. The pintle is stepped into and away from an orifice, which bypasses air
around the throttle blade. The Idle Air Control motor position is measured in
steps, where 0 steps is fully extended and corresponds to no bypass, and 255
steps is fully retracted and corresponds to full bypass. When the engine is
idling, the IAC motor position will vary to maintain a desired idle speed. In
closed loop idle the IAC motor position is varied based on difference between
actual rpm and desired rpm to maintain the desired idle speed. Idle Delta RPM The absolute difference between the current idle speed and previous
idle speed is calculated and averaged over the last 20 readings. The result is
an averaged indication of the variation in idle rpm, which gives an indication
of idle quality. Idle Speed Idle speed is obtained from engine speed. It is filtered or damped to
remove cycle to cycle fluctuations, which occur at low engine speeds. Injector Time The injector time is the time in milliseconds which the injector is
turned on. This time is proportional to the amount of fuel injected. The
injector time is modified to take account of battery voltage (the injector
takes longer to open with reduced voltage, also fuel pump pressure is less) and
injector turn-on time. Injector Voltage The injector voltage is monitored by the PCM. This allows for more
accurate pulse width compensation for voltage fluctuations at the injector
than battery voltage alone. Manifold Absolute Pressure Manifold Absolute Pressure is determined directly from the MAP sensor
voltage. It is scaled over the limits of 10 - 104 . MAP is proportional to
engine load. It is used extensively as an estimate of engine load and as an
independent variable for table lookups. It is also used together with rpm and
volumetric efficiency to calculate the air consumption of the engine. Long Term Fuel Trim (BL) An array of block learn cells, or adaptive learn cells, is stored in
non-volatile memory. Each cell corresponds to an rpm and map range, and the
array covers the engine operating range. They compensate for individual engine
operating characteristics which are present over long periods of time (they arc
also called Block Learn Multiplier cells). When the engine is operating in
closed loop, the fuel term
is calculated and then multiplied by the block learn cell corresponding to the
rpm and map conditions present. The block learn cells are constantly updated in
closed loop mode. For learning to be enabled the engine must have operated in
the relevant rpm and map region for a number of seconds. Note also that block
learn values are interpolated, so that neighbouring cells may also influence
the block learn value. When the cells are cleared by disconnecting the battery
it may therefore take some time before the cells attain steady values. The effect of these cells is thus to compensate for rich or lean
regions caused by manufacturing tolerances, wear or malfunction. Because they
reflect the engine operating conditions over the operating range, they are a
useful source of diagnostic data. The block learn multiplier ranges from 0:255. Values less than 128
indicate a negative term , and values greater than 128 indicate a positive
term. When the engine is operating in open loop a value of 128 is used for the
block learn cell. Long Term Fuel Trim Cell An array of block learn cells, or adaptive learn cells, is stored in
non-volatile memory. Each cell corresponds to an rpm and map range, and the
array covers the engine operating range. The cell number indicates the cell
currently being used as follows: rpm 1200 1600
2400 3200 3OkPa 0 5 10
15 Idle
DRAC OFF 20 4OkPa 1 6 11 16 Idle
DRAC ON 21 5OkPa 2 7 12 17 Idle
PN AC OFF 22 6OkPa 3 8 13 18 Idle
PN ACON 23 70kPa 4 9 14 19 Manifold Air Temperature Manifold temperature is calculated from the manifold sensor voltage.
The sensor is a negative temperature coefficient thermistor (resistance
decreases as temperature increases). Manifold temperature is used together with
coolant temperature to calculate inlet air temperature. 02 Cross Counts The 02 sensor has a very small linear range, and is used as rich lean
switch. The number of times the 02 sensor switches from rich to lean and vice
versa is used as an indication of a properly functioning sensor. 02 Sensor Voltage The 02 sensor voltage is proportional to the exhaust gas oxygen
content. The voltage varies from 0 - 1100 mV. A value less than 450 mV
indicates a lean condition, a value greater than this indicates a rich
condition. The 02 sensor reacts very quickly, but must be hot to operate
properly. Some models have a heated 02 sensor, which enable them to reach
operating temperature sooner. The 02 sensor has a very small linear range,
hence can only indicate a rich or lean condition - it can't give a good
indication of magnitude. The 02 sensor is used to provide feedback on engine
operating conditions when operating in closed loop, where the air/fuel ratio is
maintained at stoichiometric. This ratio is a compromise it is too rich for
maximum economy and too lean for maximum power. The engine typically operates
in closed loop except at high load regions. Reference Voltage Reference voltage is the voltage supplied to the ECM resistive input
sensors (clt, mat,tps,map etc). It should be very close to 5.0 volts. Road Speed Road speed is calculated from the elapsed time between speed sender
pulses and a calibrated constant which incorporates variables such as axle
ratio and tire size. It is scaled to give road speed from 0:255 mph. This variable is
used for example in idle logic to determine if the vehicle is moving. A
separate road speed variable is calculated for automatic transmission vehicles
for torque converter clutch and shift logic. Short Term Fuel Trim (Int) When the engine is operating in closed loop, the air/fuel ratio is
maintained at stoichiometric and the 02 sensor voltage provides feedback on
engine operation. The 02 voltage indicates either a rich or a lean signal, and
the ECM, which integrates or sums this signal, multiplies it with the fuel sum.
The ECM increments the integrator if the 02 signal indicates a lean condition,
and decrements the integrator if the 02 signal indicates a rich condition. The
longer the ECM receives, say, a lean signal, the larger the integrator term
becomes, and the larger the resultant fuel term becomes after it is multiplied.
The longer the ECM receives a rich signal, the smaller the fuel term becomes
after it is multiplied. The short term fuel trim is proportional to the sum or
integral of the error, so it is also called the integrator. The stft ranges
from 0:255.
Values less than 128 indicate a negative term, values greater than
128 indicate a positive term. When the engine is operating in open loop the
integrator is set to 128. In practice, in closed loop the 02 voltage varies continuously between
rich and lean - the system oscillates around the stoichiometric point. Spark Advance The spark advance indicates the crankshaft degrees before Top Dead
Center at which the ECM outputs a spark signal to the ignition module. Primary
spark advance is calculated according to engine rpm and load. It is modified
for coolant temperature, barometric pressure and knock amongst other variables. Spark Retard Spark retard is subtracted from the spark advance reading. Spark retard
is calculated according to the amount of engine knock sensed by the ECM if a
knock sensor is present. TPS Sensor Voltage Throttle position is calculated from the tps sensor voltage, and scaled
to 0 - 100% tps. The ECM calculates percentage throttle from the lowest and
highest tps sensor voltages seen by it, and scales percent tps between these
values. |