PM Inbox | 
|
|
Please login to check your PM's |
|
|
|
 |
 |
Section 8 - Diagnostics
|
SECTION 8
SECTION 8
DIAGNOSTICS
1.0 DIAGNOSTIC CONTROL LOGIC
The diagnostic control logic shall
monitor the status of enabled malfunction detection
algorithms and control the vehicle check engine lamp. A
particular malfunction detection algorithm is enabled
when its associated mask bit (KKMASK1, KKMASK2, KKMASK3)
is set to a logic one. Functionally, the diagnostic
control logic can be divided into these basic areas:
1.Control logging of
detected malfunctions into nonvolatile memory
for later display.
2.Control of check engine
lamp to alert the operator to the presence of
a malfunction condition.
3.Display of logged
malfunctions as an aid in diagnosing vehicle
problems.
4.Control of erasing
detected malfunctions from nonvolatile
memory.
5.Special diagnostic
functions provided as an aid to system
testing and troubleshooting.
1.1 Diagnostic Control Counter
The diagnostic control counter controls
the logging and check engine lamp control functions
associated with most of the various malfunction detection
algorithms. The diagnostic control counter consists of an
up/down counter function which may be incremented or
decremented on a "real time" basis once per 100
msec. The diagnostic control counter has a range from 0
to 255 counts. The purpose of the diagnostic control
counter and its associated control logic is twofold:
1.Prevent a momentarily
detected malfunction condition from turning
on the check engine lamp and/or being logged
in nonvolatile memory.
2.Assure that a
legitimately detected malfunction condition
will turn on the check engine lamp for
minimum period of time.
1.2 Diagnostic Control Counter
Operation
In general, when the diagnostic control
logic recognizes the presence of a detected malfunction,
the diagnostic control counter counts for-ward.
Conversely, when no malfunctions are being detected, the
diagnostic control counter counts backward until it
reaches zero.
1.2.1 Initialization
After a power-up initialization or
system reset, the diagnostic control counter is
initialized to zero.
1.2.2 Normal Made
1.2.2.1 Normal Mode Enable Criteria
When the diagnostic control counter is
equal to zero, the diagnostic control logic is in the
normal mode. In the normal mode, the diagnostic control
logic monitors the status of the enabled malfunction
detection algorithms.
1.2.2.2 Normal Mode Exit Criteria
When the diagnostic control logic is In
the normal mode and any of the enabled malfunction
algorithms detects the presence of a malfunction, the
diagnostic control logic disables the normal mode. When
the normal mode is disabled, the diagnostic control logic
recognizes (and remembers) any enabled malfunctions that
were present at the time the normal mode was disabled.
1.2.3 Malfunction Log Delay
When the normal mode is disabled, the
diagnostic control logic enables the malfunction log
delay mode. In this mode, the diagnostic counter counts
in the forward direction and diagnostic control logic
monitors the current status of recognized malfunctions
(See 1.2.2.2). The status of all other malfunction
algorithms is ignored. If a recognized malfunction ceases
to exist; i.e., is no longer detected by its associated
detection algorithm, it is removed from the recognized
malfunction list.
1.2.3.1 Malfunction Log Delay
Disable
The malfunction log delay mode shall be
disabled by either of the following conditions:
1.No recognized
malfunctions exist.
2.The diagnostic control
counter reaches a value equal to or greater
than KMCNT2.
In Case 1, the diagnostic control logic
will:
1.Enable the lamp off
reverse counter mode.
2.Set the diagnostic
control counter to a value equal to KMCNTl if
it exceeds KMCNTl.
In Case 2, the diagnostic control logic
will:
1.Log all recognized
malfunctions into nonvolatile memory provided
the associated mask bit in is set to a logic
one.
2.Actuate the check engine
lamp.
3.Check the status of the
malfunction detection algorithms and
recognize any malfunctions that are present.
4.Set the diagnostic
control counter to a value equal to
calibration memory parameter KMCNT3-1.
5.Enable the lamp on mode.
1.2.4 Reverse Counter Mode
The reverse counter mode is entered
from the malfunction log delay or the lamp on delay modes
when no malfunctions are currently being detected in the
system. When the diagnostic control logic is in the lamp
off reverse counter mode, the diagnostic control counter
counts backward and the control logic monitors the status
of the enabled malfunction detection algorithms.
1.2.4.1 Reverse Counter Mode
Disable
The diagnostic control logic disables
the reverse counter mode when either of the two following
conditions exist:
1.A malfunction is detected
by one of the enabled malfunction detection
algorithms.
2.The diagnostic control
counter reaches zero.
In Case 1, the diagnostic control logic
recognizes the detected malfunction and enters the
malfunction log delay mode (See 4.1.2.3) if the check
engine lamp is off or the lamp on delay mode (See
4.1.2.5) if the check engine lamp is on. In case 2, the
diagnostic control logic enters the normal mode (See
4.1.2.2).
1.2.5 Lamp On Mode
When the lamp on mode is enabled, the
diagnostic control counter counts forward and the control
logic shall monitor the status of recognized
malfunctions. The status of all other malfunction
detection algorithms is ignored. When a malfunction
detection algorithm associated with a recognized
malfunction indicates the condition is no longer present,
that malfunction is removed from the list of recognized
malfunctions.
When the diagnostic control counter
reaches a value equal to KMCNT4, the diagnostic control
logic shall perform the following operation in the listed
order:
1.Log all currently
recognized malfunctions into nonvolatile
memory provided the associated mask bit
(KKMASK1, KKMASK2, or KKMASK3) is set to a
logic one.
2.Check the status of the
enabled malfunction detection algorithms and
recognize any malfunctions currently
detected.
3.Set the diagnostic
control counter to a value equal to KMCNT3-1
and continue counting the diagnostic control
counter forward. The lamp on mode logic
continues to cycle in this manner as long as
any recognized malfunction remains in the
system.
1.2.5.1 Lamp On Mode Disable
When the check engine lamp is on and no
recognized malfunctions are present in the system, the
diagnostic control logic disables the lamp on mode, the
diagnostic control counter sets to KMCNT3, and enters the
reverse counter mode.
1.3 Nonvolatile Memory Clear
The diagnostic control logic shall
clear any malfunctions stored in nonvolatile memory under
the following circumstances.
1.3.1 Nonvolatile Memory Loss
The ECM shall perform a nonvolatile
memory loss test (See RAM Error Detection, Section 9)
during the power-up initialization to determine if the
current data in nonvolatile memory is valid. When a
nonvolatile memory loss is indicated, the diagnostic
control logic will clear any malfunctions stored in
nonvolatile memory.
1.3.2 Power Restarts
A startup counter is maintained in
nonvolatile memory and is incremented each time the ECM
has detected an engine running condition (See EST,
Section 7) for a period of 10 seconds. The startup
counter is reset to zero when any malfunction is logged
into nonvolatile memory.
The diagnostic control logic will clear
all malfunctions stored in nonvolatile memory when the
startup counter is equal to KKN0MALF.
1.4 Diagnostic Request Line
The ECM hardware provides a diagnostic
request input by which users can command the various
functions in the diagnostic algorithm. The diagnostic
request line is configured such that four (4) separate
input states are recognized when various values of
resistance are connected from the diagnostic request line
to system ground. The various states and their nominal
resistance values are listed below:
R GE 20K ohm - Normal Mode
R=10K ohm - Assembly Line
Diagnostic Mode
R=3.9K ohm - Factory Test Mode
R=0 ohm - Diagnostic Display
Mode [Engine Not Running (See EST XDE)]
- Field Service Mode
(Engine Running)
1.4.1 Normal Mode
When the normal mode is detected the
ECM shall operate as described in the various XDE
documents.
1.4.2 Assembly Line Diagnostic Mode
When the assembly line diagnostic mode
is detected the ECM shall modify its operation as
follows.
1.4.2.1 Closed Loop Timers
When the assembly line diagnostic mode
is detected, the fuel logic will bypass the closed loop
time criteria. The fuel logic will thus enter the closed
loop mode as soon as the coolant temperature and oxygen
sensor ready criteria are met (see Fuel, Closed Loop
Enable Criteria).
1.4.2.2 Integrator Reset
Modification
When the assembly line diagnostic mode
is enabled, the set of conditions described under Items
5, 6, and 7 (see Fuel XDE, Integrator Reset Mode Enable)
shall not result in an integrator reset.
1.4.2.3 IAC Modifications
When the assembly line diagnostic mode
is enabled, the IAC logic will:
- Use the calibration memory
Table F13 value corresponding 0 a battery
voltage of 8 volts.
- Bypass certain criteria
for RPM closed loop enable (see IAC).
- Trigger an IAC motor reset
RPM is greater than 2000 the first time.
- Bypass coolant
restrictions (engine warm up time =
KICKTM) for enabling IAC kick-down mode.
1.4.2.4 EST Test Function
1.4.2.4.1 When the assembly line
diagnostic mode is enabled the following modifications to
the EST system will be made.
1.Disable the Burst Knock
logic.
2.Bypass the RPM and
coolant temperature criteria for ESC retard
enable.
The above actions force the engine into
a condition where spark knock should occur if the
throttle is suddenly opened (Burst Knock).
1.4.2.4.2 Additionally if ALDL mode has
been enabled longer than KSAALDLL seconds, the term will
be removed from the spark advance calculation.
1.4.2.5 TCC Test Function
When the assemble line diagnostic mode
is enabled, the following modification to the TCC logic
will be made.
1)Bypass coolant
temperature criteria to allow TCC to be
enabled sooner. The remaining conditions to
enable TCC are described in Section 12, ICC.
1.4.3 Factory Test Mode
When the factory test mode is detected,
the ECM shall turn on the check engine lamp and force the
system into the backup fuel mode (see Backup Fuel) by
discontinuing the COP 2 signal. The primary purpose of
this feature is to enable the backup fuel system to be
tested.
1.4.4 Diagnostic Display Mode
The diagnostic control logic will
display malfunctions stored in nonvolatile memory and
perform certain other functions as described below when
the diagnostic display mode is enabled. Enabling of this
mode requires that the diagnostic request line be
grounded and that the engine not be running (see EST).
1.4.4.1 Solenoid Energization
When the diagnostic display mode is
enabled and the battery voltage is less than 16.9V, the
diagnostic control logic will energize the air control,
air select, locking converter clutch, exhaust gas
re-circulation, A/C and canister purge solenoids. In
addition, the idle air control motor will be continuously
pulsed to retract while in diagnostic display mode.
The solenoid energization function is
capable of operating without a calibration PROM installed
in the ECM. The purpose of this function is to allow
service personnel a means to force the ECM to energize
its outputs for troubleshooting purposes, and to provide
a means for exercising the ECM output devices during
burn-in at Delco Electronics.
1.4.4.2 Malfunction Suppression
While the diagnostic display mode is
enabled, the diagnostic control logic will force the
diagnostic control counter to zero. This action has the
effect of preventing new malfunctions from being logged
into nonvolatile memory while the diagnostic display mode
is enabled.
1.4.4.3 Malfunction Code Display
Each malfunction condition is
associated with a two digit code number. When the
diagnostic display mode is enabled, the diagnostic
control logic wi1l flash the check engine lamp in a
logical sequence to depict the two digit code associated
with each malfunction stored in nonvolatile memory.
Each code displayed will consist of a
number of flashes representing the first digit followed
by a short pause, followed by a number of flashes
representing the second digit, followed by a long pause
indicating the end of the code.
Each stored code is displayed three
times before proceeding to the next code. After all
malfunction codes stored in nonvolatile memory have been
thus displayed, the entire flashing sequence is repeated.
The flash rates for the sequence are as
follows:
On Flash 400 msec
Off Flash 400msec
Pause Between Characters 1.2
sec
Pause Between Codes 3.2 sec
1.4.4.3.1 Diagnostic Mask Bits
KKMASKl, KKMASK2, and KKMASK3 are
provided to enable or disable the logging and display of
the various malfunction codes. Each malfunction code has
a corresponding bit in one of the three calibration
memory parameters. When the bit associated with a
particular malfunction code is set to a logic 0, that
code will not be displayed by the diagnostic display
logic nor logged into nonvolatile memory by the
diagnostic control counter logic.
Diagnostic Code Mask
Mask Word B7 66 65 64 B3 B2 61 60
KKMASK1 12 13 14 15 21 22 23 24
KKMASK2 25 31 32 33 34 35 41 42
KKMASK3 43 44 45 51 52 53 54 55
1.4.5 Field Service Mode
The field service mode is enabled when
the ECM detects that the diagnostics request line is
grounded and the engine is running (see EST). In this
mode the following functions will be performed by the
ECM.
1.4.5.1 Oxygen Sensor Annunciation
When the fuel system is operating in
the open lOOD mode (See Fuel). the ECM will flash the
check engine lamp at a 2.5 Hz rate. The o? and off time
of the flash shall be equal (200 msec each).
When the fuel system is operating in
the closed loop mode. the ECM will control the check
engine lamp as follows. The ECM shall energize the check
engine lamp for one second if the ECM detects a rich
oxygen sensor condition at the time the fuel system makes
an open loop to closed loop transition. Similarly, the
ECM will de-energized the check engine lamp for one
second if the ECM detects a lean oxygen sensor condition
at the time the fuel system makes an open loop to closed
loop transition.
At the end of the first one second
period and at one second intervals thereafter, the ECM
will toggle the state of the check engine lamp if during
the preceding 1 second interval the oxygen sensor has
made one or more transitions from rich to lean or lean to
rich. If no transitions are detected, a rich condition
will result in turning the check engine lamp on and a
lean condition turning it off.
When the field service mode is enabled,
the various enabled malfunction detection algorithms will
continue to operate and apply their associated remedial
actions when a malfunction is detected. The diagnostic
control logic will not log detected malfunctions into
nonvolatile memory while the field service mode is
enabled.
1.4.5.2 Fixed Spark
When the field service mode is enabled,
the EST system will output a constant spark advance with
respect to the reference angle as specified by KDIAGADV.
1.4.5.3 Closed Loop Timers
When the field service mode is enabled,
the fuel logic will bypass the closed loop time criteria.
The fuel logic thus enters the closed loop mode as soon
as the coolant temperature and oxygen sensor ready
criteria are met (see Fuel, Closed Loop Enable Criteria).
2.0 MALFUNCTION DETECTION ALGORITHMS
2.1 Code 12 - No Reference Pulses
Malfunction Code 12 is detected when
the ECM detects an "engine not running"
condition (See EST).
Malfunction Code 12 is handled as a
special case by the diagnostic control logic. When
Malfunction Code 12 is detected, the check engine lamp is
actuated.
Conversely, when Malfunction Code 12 is
not detected, the check engine lamp is deactivated,
provided the diagnostic control logic does not require it
to be on far another condition. Malfunction Code 12 is
not stored in nonvolatile memory; however, it will
displayed when the condition is present and the system is
in the diagnostic display mode.
Malfunction Code 12 logic is performed
once every 100 msec.
2.2 Code 13 - Oxygen Sensor
The Malfunction Code 13 detection
algorithm consists of an up/down control counter with a
range from 0 to 255 counts. The Malfunction Code 13
control counter will be incremented at a rate of one
count every 100 msec when throttle position is greater
than *KKO2LOD*. Conversely, the Malfunction Code 13
control counter will be decremented at a rate of one
count every 100 msec when throttle position is less than
or equal to *KKO2LOD*. The Malfunction Code 13 control
counter is set equal to zero when any of the following
conditions exist:
1.The engine running
condition has been present for a period of
time less than *KKO2MPT1*.
2.Malfunction Code 21 or 22
is currently being detected.
3.The oxygen sensor input
voltage (See Fuel) is greater than or equal
to parameter *KKO2HIGH*.
4.The oxygen sensor input
voltage (See Fuel) is less than or equal to
*KKO2LOW*.
Malfunction Code 13 is detected when
the value of the Malfunction Code 13 control counter is
greater than *KKO2OLTM*. Once Malfunction Code 13 has
been detected, it will not be reset unless the oxygen
sensor voltage is less than *KKO2LOW*, or greater than
*KKO2HIGH*, or if Malf 21 or Malf 22 are detected. When
*KKOZOLTM* is set to a value 255 (Hex FF) in the ECM
PROM, the associated timer shall have an infinite value.
Malfunction Code 13 logic shall be
performed once every 100 msec.
2.2.1 Code 13 Enable
If either of Malfunction Codes 21 or 22
are not present, then Malfunction Code 13 will be enabled
when MAP exceeds *KKO2MAP* and engine RPM exceeds
*KKO2RPM* for longer than *KKO2MPT1* seconds. The
Malfunction Code 13 Enable Flag will be cleared if the
engine is not running (MWI, bit 7=0).
2.2.2 Code 13 Detection
Once Malfunction Code 13 is enabled and
the conditions for disable do not exist, then logging of
the code is dependent on a timer and the associated
conditions to increment or decrement the timer. The timer
has an up/down control range of 0 to 255 counts, and is
incremented or decremented one count every 100 msec. If
the 02 sensor ADU counts go outside a window defined by
*KKO2LOW* and *KKO2HIGH* Indicating proper operation of
the 02 sensor, then the timer will be forced to zero, and
Malfunction Code 13 will not be logged.
However, when the 02 sensor ADU counts
remain within the window defined above, and the throttle
position is greater than *KKO2LOD*, the timer will be
incremented. If all the above conditions are met, hut
throttle position drops below *KKO2LOD*, the timer will
be decremented. Once the timer exceeds *KKO2OLTM*, then
Malfunction Code 13 will be detected and logged. The 02
sensor ADU counter and the up/down timer are set to zero
when the engine is not running (MW1, bit 7=0).
2.3 Code 14 - High Coolant
Temperature
Malfunction Code 14 is detected when
the engine running condition (See EST) has been present
for a period of time greater than *KKETMPTH* and the
coolant temperature sensor reading is greater than
calibration memory parameter *KKCTMPHI*. Additionally;
when *KKCTMPHI* is set to a value of 255 (Hex FF), the
associated timer shall have an infinite value.
The diagnostic control logic will
substitute *KKTCDF* in place of the coolant temperature
sensor reading when one of the following sets of
conditions exists:
Condition 1
A.Malfunction Code 14 is
logged into nonvolatile memory.
B.The coolant temperature
sensor reading is greater than *KKCTMPHI*.
Condition 2
A.Malfunction Code 14 is
being detected (see above). Malfunction Code
14 logic is performed once per 100 msec.
2.4 Code 15 - Low Coolant Temperature
Malfunction Code 15 is detected when
the engine running condition (See EST) has been present
for a period of time greater than *KKETMPTL*, and the
coolant temperature sensor reading is less than
*KKETMPLO*.
When *KKETMPTL* Is set to a value of
255 (Hex FF) the associated timer will have an infinite
value.
The diagnostic control logic will
substitute *KKTCDF* in place of the coolant temperature
sensor reading when:
1.The coolant temperature sensor
reading is less than *KKETMPLO*, and either:
b.engine run time has
exceeded *KKETMPTL*, or
c.a potential malfunction
code 15 has been detected to be present after
ignition on but before engine running
conditions were met. (See section 2.4.3).
The coolant temperature sensor is
considered to have failed open (= low coolant
temperature) when ignition is on but before engine
running conditions have been met, the coolant temperature
sensor reading is less than *KKETMPLO*, malfunction code
23 has not been logged, and the raw A/D manifold air
temperature value is less than or equal to *KKETMTLO*.
2.5 Code 21 - High Throttle Position
Malfunction Code 21 is detected when
all of the following conditions are met:
1.Malfunction Codes 33 or
34 have not been detected.
2.Throttle position sensor
reading is greater than *KKTA21*.
3.Engine speed is less than
or equal to *KKRMZ1*.
4.Manifold pressure sensor
reading is less than *KKPM21*.
5.Conditions I through 4
above have been present for a period of time
greater than KKZ1TIM.
Once Malfunction Code 21 has been
detected, it will not be reset unless the throttle
position sensor reading falls to a value less than or
equal to *KKTA21*; or Malfunction codes 33 or 34 have
been detected .
When KK21TIM is set to a value of 255
in the ECM PROM (Hex FF), the associated timer will have
an infinite value. While Malfunction Code 21 is being
detected, the throttle position criterion for DECEL fuel
cutoff is bypassed and all system algorithms except
diagnostics will substitute a value from F78 table as a
function of RPM in place of the current throttle position
sensor reading. Malfunction Code 21 logic is performed
once per 100 msec.
2.6 Code 22 - Low Throttle Position
Malfunction Code 22 logic is enabled
when *KKMASK1*, bit 2 is set.
Malfunction Code 22 is detected when
the engine is running (see EST) and the throttle position
sensor reading is less than *KKTA22*.
While Malfunction Code 22 is being
detected, the throttle position) criterion for DECEL fuel
cutoff is bypassed and all system algorithms except
diagnostics will substitute a value from F78 table as a
function of RPM in place of the current throttle position
sensor reading.
Malfunction Code 22 logic is performed
once per 12.5 msec.
2.7 Code 23 - Low Manifold Air
Temperature
2.7.1 Malfunction Code 23 is detected
when the engine running condition (see EST) has been
present for a period of time greater than *KKETMPTL*, the
manifold air temperature sensor reading is greater than
*KKETMPLO*.
When *KKETMPTL* is set to a value of
255 (FF Hex) the associated timer will have an infinite
value.
2.7.2 The diagnostic control logic will
substitute *KKMATDF* in place of the manifold air
temperature sensor reading when:
1.The manifold air
temperature sensor reading is greater than
*KKETMPLO*, and the engine run time has
exceeded *KKETMPTL*
2.Coolant temperature is
greater than equal to *KKETCH*.
2.7.3 The manifold air temperature
sensor is considered to have failed open (=low manifold
air temperature) when ignition is on but before engine
running conditions have been met, the manifold air
temperature sensor reading is greater than *KKETMPLO*,
malfunction code 15 is not logged, and coolant
temperature sensor reading is less than *KKETCTLO*.
2.7.4 Malfunction code 23 is flagged
under the following conditions:
2.7.4.1 Turbo option selected. The
turbo option is selected by setting Bit 3 of KAFOPTZF
mode word to a logic "1".
2.7.4.1.1 Malfunction code 23 will be
flagged when the engine running conditions have been met
for *KKETMPTL*, line manifold air temperature sensor
reading is greater than *KKETMPLO*, and the turbo boost
mode has been enabled for a time greater than *KK23BSTM*.
If malfunction code 23 has been flagged it will be logged
in accordance with conditions specified in section
1.2.3.1. Malfunction code 23 will be continually flagged
when all conditions are met to guarantee check engine is
latched on.
2.7.4.2 Non-turbo Option Selection
Malfunction code 23 will be flagged when the engine
running condition has been met for *KKETMPTL* and the
manifold air temperature sensor reading is greater than
*KKETMPLO*.
2.8 Code 24 - Vehicle Speed Sensor
Malfunction Code 24 logic is bypassed
if coolant temperature is less than *KKDIAGWM*.
Malfunction Code 24 is detected when
all of the following conditions are met:
1.Malfunction Codes 21, 22,
33, 34 are not being detected.
2.The vehicle speed sensor
indicates a speed less than or equal to
*KKVSPD*.
3.The MAP sensor reading is
less than *KK24MAP*.
4.The park/neutral switch
input indicates the vehicle is not in
park/neutral .
5.Throttle is closed.
6.Engine RPM is greater
than *KKVRPMLA* and less than or equal to
*KKVRPMH*.
7.Conditions 1 through 6
above have been present for a period of time
greater than *KKVST*. When *KKVST* is set to
a value of 255 (Hex FF) in the ECM PROM, the
value of the associated timer will be
infinite.
Once Malfunction Code 24 is detected,
it will not reset unless the vehicle speed sensor
indicates a speed greater than *KKVSPO* or malfunction
codes 21, 22, 33 or 34 are detected.
The Malfunction Code 24 logic is
executed once every 100 msec.
2.9 Code 25 - High Manifold Air
Temperature
2.9.1 Malfunction Code 25 is detected
when the engine running condition (see �ST) has been
present for a period of time greater than or equal to
*KKETMPTH*, the manifold air temperature value is greater
than *KKETMPHI*, and the turbo boost mode is not enabled.
2.9.2 When *KKETMPTH* is set to a value
of 255 (FF Hex) the associated timer will have an
infinite value.
The diagnostic control logic will
substitute *KKMATDF* in place of the manifold air
temperature sensor reading when one of the following sets
of conditions exists.
Condition 1
a.Malfunction Code 25 is
logged into nonvolatile memory
b.The manifold air
temperature sensor reading is less than
*KKETMPHI*.
Condition 2
a.Malfunction Code 25 is
currently being detected.
b.Manifold air temperature
sensor is less than *KKEMPHI*. The
malfunction code 25 logic is performed once
every 100 msec.
2.10 Code 31. Wastegate Overboost
Malfunction Code 31 is detected when
the following conditions exist:
1. Malfunction code 31/33 logic
has been enabled (See Paragraph 2.12.2).
2. And either:
a.Malfunction Code
31 is being detected, or
b.Malfunction Code
31 is not being detected, Malfunction
Code 33 is not being detected, a high
manifold air pressure condition has
existed for a time equal to
*KKM33CNT*, and the manifold air
pressure sensor reading is less than
or equal to *KK2ATM33*.
The malfunction code 31 logic is
performed every 100 msec.
2.11 Code 32 - EGR Malfunction
Malfunction Code 32 indicates a failure
in the EGR The EGR is tested 6 by shutting off the EGR
valve under steady state conditions and checking the
increase in integrator rate. since the rate will rise to
compensate for the lack of EGR If the rate within the
test period exceeds the threshold, the EGR is deemed to
have passed the test; otherwise, the EGR is assumed to
have failed.
The diagnostic test is run every
*KKEGRTIM* seconds. The check engine light is not
illuminated until the test has failed *KKEGRDFA* times.
The diagnostic test is enabled under
the following conditions:
1.Malfunction 32 not masked
out (*KKMASK2*, bit 5=1).
2.Malf 32 timer greater
than *KKEGRTIM*.
3.Vacuum load variable
greater than *KKEGRLLV* but less than
*KKEGRHLV* .
4.Throttle position (TPS)
greater than *KKEGRLLT* but less than
*KKEGRHLT*.
5.Delta TPS less than or
equal to *KKEGRTDL*.
6.Vehicle speed greater
than or equal to *KKEGRMPH*.
7.Closed loop operation
(MWAF1, bit 7=1).
8.Malf 32 integrator change
flag not set (DIAGMW4, bit 6=0).
9.Maximum integrator change
less than or equal to *KKINTCH*.
10.Last time's integrator
value greater than *KCLITMI* but less than
(*KCLITMX-*KK32DL*-10)
11.EGR duty cycle greater
than *KKMEGRDC*.
12.M32 timer greater than
*KKEGRDLT*.
The Malfunction 32 flag is set under
the following conditions:
1.Malf 32 test enabled
(DIAGMW4, bit 7=1).
2.Change in integrator
value less than *KK32DL*.
3.Malf 32 timer value
greater than or equal to *KK32TIME*.
4.Malf 32 failure counter
greater than or equal to *KKEGRDFA*.
2.12 Code 33 - High Manifold Air
Pressure
Malfunction code 33 is detected when
one of the following conditions exist:
Condition 1
1.Malfunction Code 31/33
logic has been enabled (see Paragraph
2.12.2).
2.Malfunction Code 31 is
not being detected.
3.And either of the two
following conditions:
d.Malfunction Code
33 has already been detected, or
e.Malfunction Code
33 has not been detected, and the
2-atmosphere MAP sensor reading is
still above *KK2ATM33* after a period
of time equal to *KKM33CNT*.
Condition 2
1.Malfunction Code 31, 33
logic has not been enabled.
2.Either A or B:
A.
1.Manifold
Air Pressure failure detected
when engine not running.
B.
1.Manifold
Air Pressure failure not
detected when engine not
running.
2.Malfunction
Codes 21 or 22 have not been
detected.
3.Manifold
Air Pressure is greater than
*KKPM33* (A/C is not active)
or *KKPMAC33* (A/C is
active).
4.Power
Steering load is active.
5.Throttle
position is greater than
*KKTA33*.
6.Condition
1 thru 5 have been present
for a time greater than
*KK33TIME*.
Malfunction Codes 31/33 are considered
enabled when any of the following conditions have been
met:
1.The fuel is being
delivered synchronously and the
two-atmosphere manifold air pressure sensor
reading has exceeded either *KWGMAPL* (if the
high load fuel shut off mode is enabled) or
*KWGMAPH* (if the high load fuel shut off
mode is disabled), for a period time greater
than *KWGMAPTM*, or
2.Two atmosphere MAP option
has been selected, engine running conditions
have not been met, engine is being cranked,
and the manifold air pressure sensor reading
is greater than *KK2ATM33*.
2.13 Code 34 - Manifold Pressure Too
Low
Malfunction Code 34 is detected when
either of the following sets of conditions exist:
Condition 1
1.Malfunction Code 21 is
not currently being detected.
2.The manifold absolute
pressure sensor is less than *KKPM34*.
3.The engine speed pressure
sensor reading is less than *KKES34A* .
4.Conditions 1 through 3
above have been present for a period of time
greater than *KK34TIM*.
Condition 2
1.Malfunction Code 21 is
not currently being detected.
2.The engine speed is
greater than or equal to *KKES34A*
3.The manifold absolute
pressure sensor reading is less than*KKPM34*.
4.The throttle position
sensor reading is greater than *KKTA34* .
5.Conditions 1 through 4
above have been present for a period of time
greater than *KK34TIM*.
Once Malfunction Code 34 has been
detected, it will not reset unless the manifold pressure
raises to a value equal to or greater than *KKPM34* or if
Malfunction Code 21 is present.
When *KK34TIM* is set to a value of 255
(Hex FF), the associated timer will have an infinite
valve.
While Malfunction Code 34 is being
detected, block learn control will be disabled and all
system algorithms except diagnostics will substitute the
default value of manifold absolute pressure in place of
the manifold pressure sensor reading. In addition, the
MAP criteria for DECEL fuel cutoff will be bypassed. The
default value of manifold absolute pressure is a function
of throttle position plus a value from the F69 table as a
function of RPM, when the engine is running. If the
engine is not running, manifold pressure will default to
*KKPMDF*.
2 .14 Code 35 - IAC Error
Malfunction Code 35 is detected when
all of the following conditions are met:
1.Coolant temperature is
greater than or equal to *KIACWARM*.
2.Malfunction Code 21, 22
or 24 are not being detected.
3.Throttle position is
zero.
4.The magnitude of the
desired idle speed minus the actual idle
speed is greater than *KKIADIAG*.
5.Conditions 1 thru 4 have
been present for a period of time greater
than *KK35TIME*.
Once Malfunction Code 35 has been
detected, it will not be reset until one of the
conditions 1 thru 4 above no longer exist. If *KK3STIME*
is set to a value of 255, the associated timer will have
a infinite value.
2.15 Code 42 - EST Monitor
Malfunction Code 42 shall consist of
two separate detection algorithms. Malfunction Code 42 is
detected when either or both conditions exist.
2.15.1 Code 42A
This portion of Malfunction Code 42 is
intended to detect an open circuit in the EST wire
between the ECM and HEI ignition module. This "Open
Line" condition occurs when the EST monitor input
indicates the EST signal was toggling while the ECM was
commanding the EST bypass mode. The "Open EST
Line" condition (code 42A) is detected when either
of the following sets of conditions exist:
Condition 1
A.Malfunction code 42 logic
is enabled, bit 0 of *KKMASKZ* is set.
B.The major loop of the EST
Monitor is not enabled.
C.The minor loop of the EST
Monitor is enabled.
Condition 2
A.Malfunction Code 42 logic
is enabled.
B.Major Loop of EST Monitor
is not enabled.
C.Minor loop of EST Monitor
is not enabled.
D.The number of pulses on
the EST line caused by electrical noise is
greater than *KK42ACT*.
When the "open EST line"
condition is detected, the diagnostic control logic will
not allow the EST mode to be enabled.
This portion of malfunction code 42
logic is executed once each 12/5 msec until the first
reference pulse has been detected, provided the entire
code 42A logic has not been disabled by setting *KKMASK2*
bit 0 equal to 0.
2.15.2 Code 42B
This portion of malfunction code 42 is
intended to detail an open or grounded bypass line or a
grounded EST line. This condition is detected under the
following conditions:
1.Not in ALDL mode, Fuel
backup mode or Spark backup mode.
2.Not in Factory test mode.
3.?QO msec time is enabled.
4.EST Major Loop Monitor is
enabled.
5.Not in crank mode.
6.Engine speed greater than
*KK42RM*.
7.No pulses received in the
EST feedback counter.
8.This is the second
consecutive occurrence of items 5, 6, and 7.
When the above conditions are met the
EST logic will force the system into the bypass spark
mode until the ignition switch is turned off.
Malfunction code 42 logic is executed
once every 200 msec.
2.16 Code 43 - ESC Failure
Malfunction Code 43 will be detected
when the following conditions are met:
Condition 1
1.The Knock A/D counts are
greater than or equal to *KKM43ATH* or less
than or equal to *KKM43ATL*.
2.M43ATIME is greater than
*KK43ATIM*.
Condition 2
1.The Knock AID counts are
greater than or equal to *KKM43ATH* or less
than or equal to *KKM43ATL*.
2.The ESC input signal has
been in the logic low state for a period of
time greater than *KKESCP* during 3.9 second
clock internal .
Malfunction code 43 logic shall be
executed once every 3.9 seconds.
Malfunction Code 43 logic will be
disabled when the ESC input signal has been in the logic
low state for a period of time less than or equal to
*KK�SCP* during 3.9 second clock interval.
2.17 Code 44 - Lean Oxygen Sensor
Malfunction Code 44 is detected when
either of the following sets of conditions are net:
Condition 1
A.Malfunction Codes 33 or
34 are not present.
B.The filtered oxygen
sensor voltage is less than *KKO2MIN*. (See
Fuel)
C.Malfunction Codes 44 or
45 are not present.
D.The system is operating
is closed loop mode.
E.Closed loop fuel
integrator has not been forced to 128.
F.Conditions A thru 0 have
been present for a period of time greater
than a threshold. The threshold is set to
*KK44TIMF* if the closed loop integrator rate
from the *F25* table exceeds *KKTNTRAT*.
Otherwise, the threshold is set to
*KK44TIMS*.
Condition 2
A.Malfunction Codes 33 or
34 are not present.
B.The filtered oxygen
sensor voltage is less than *KKO2MIN*, (See
Fuel).
C.Malfunction Codes 44 or
45 have already been detected.
Once Malfunction Code 44 has been
detected, it will not reset i'nless the filtered sensor
voltage becomes greater than or equal to *KKO2MIN*, or
unless Malfunction Code 33 or 34 have been detected.
When KK44TIM* is set tp a value of 255
seconds (Hex FF), the associated timer will have an
infinite value.
While Malfunction Code 44 is being
detected, the diagnostic control logic will force the
fuel algorithm to the open loop mode.
Malfunction code 44 logic is executed
once every 100 msec.
2.18 Code 45 - Rich Oxygen Sensor
Malfunction Code 45 is detected when
the following conditions are met:
1.Malfunction codes 33 or
34 are not present.
2.The filtered oxygen
sensor AID value is greater than *KKO2MAX* .
3.The system is operating
in the closed loop mode.
4.The closed loop
integrator has not been forced to 128.
5.Conditions l thru 4 have
been present for a period of time greater
than *KK45TIM*
Once Malfunction Code 45 has been
detected, it will not reset unless the filtered oxygen
sensor voltage becomes less than or equal to *KKO2MAX* or
malfunction codes 23 or 34 have been detected. When
*KK45TIM* is set to a value of 255 (Hex FF), the
associated timer will have an infinite value.
While malfunction Code 45 is being
detected, the diagnostic control logic will force the
fuel algorithm to the open loop mode.
Malfunction Code 45 logic is executed
once each 100 msec. Malfunction code 44 logic shall be
executed once every 100 msec.
2.19 Code 51 - EPROM Calibration
Error
Code 51 indicates the ECM is not able
to read correct data from the calibration EPROM. Code 51
is indicated if the following conditions are met.
- KKPROMID does not equal
5AA and is not equal to the unique
identifier for this ROM program.
- KKPROMID does not equal
$AA and is equal to the unique identifier
for this ROM program, but the check sum
of the contents of the PROM is incorrect.
During calibration development, KKPGMID
can be set to $AA to bypass the initialization checksum.
For production, it is set to 349 which is a unique
identifier for this ROM program.
2.19.1 Code 51 Remedial Action
If the checksum or PROM correctness
check fail the software will stay in a loop until a cop
reset occurs thereby recalculating the checksum.
If the running PROM integrity check
fails the following action is taken:
- Force engine not running
- Force EST bypass mode
- Force backup fuel by
inhibiting COP2 signal
- Activate check engine lamp
if not in diagnostic display mode
- Suspend all malfunction
timers (no new MALF codes can be stored)
2.19.2 Code 41 Logging Criteria
Code 51 is logged in nonvolatile memory
immediately upon a checksum failure or PROM correctness
failure Code 51 will also be logged if the running PROM
integrity check failure is present for 200 msec.
2. 20 Code 52 - Calpak Missing
Malfunction Code 52 is detected by
sensing the logic state of P6 of ???. This pin (IC pin
30) is connected to R 15 of the resistor calpak. The
resistor value is chosen such that when the resistor
calpak is present a logic 1 is forced onto P6 of MCU1. If
the resistor calpak is missing a logic 0 is on P6 of
MCU1.
If malfunction code 52 logic detects a
logic Q state on P6 of MCU1, code 52 is detected.
2.21 Code 52 - High Battery Voltage
Malfunction Code 52 is detected when
the battery voltage exceeds 16.9V for a period of time
greater than KK52TIM.
2.22 Code 55 - A/D Error
Malfunction Code 55 indicates the A/D
conversion time exceeds a reasonable time limit of 325
microseconds.
|
|
|
|
|
|