NWSTP Forum
Username:
Password:
Save Password


Register
Forgot Password?
  Home   Forums   Events Calendar   NWSTP Admins   Guestbook   FAQ   RSS   Register
Active Topics | Active Polls | Resources | Members |   | Live Chat | Avatar Legend | Search | Statistics
[ Active Members: 0 | Anonymous Members: 0 | Guests: 1 ]  [ Total: 1 ]  [ Newest Member: ritaMarp ]
Live News Events Calendar Photo Album File Lister File Library
 Northwest Syclone Typhoon Posse
 PM Inbox
Please login to check your PM's
 NWSTP Navigation
 NWSTP 
   Forum
   Members
   Gatherings
   Top Secret
 TunerPro Files
   TunerPro RT 4.13 Released
(Updated 2/23/06)
   $58 ECM Def 2/3Bar v1.3
(For TunerPro 4.x) (10/7/07)
   $58 ALDL Def 2/3Bar v1.1
(For TunerPro 4.x) (10/7/07)
 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 *KKSCP* 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.

NWSTP Forum © 1998-2011 NWSTP Go To Top Of Page
This page spooled up in 0.03 seconds Syclone and Typhoon By GMC Powered By: Snitz Forums 2000 Version 3.4.03
   

 


This Ring Site is owned by Sportmachines. Want to join the Ring?
[
Skip Prev] [Prev] [Next] [Skip Next] [Random] [Next 5] [List Sites
]