Operation CHARM: Car repair manuals for everyone.

General



On-Board Diagnostics

Requirements for the OBD II System:
- Monitoring the efficiency of the catalytic converter.
- Recognition of combustion misfiring.
- Monitoring of the tank ventilation system.
- Monitoring the tank system for leaks.
- Monitoring of the secondary air injection.
- Monitoring the adaptation limitation of the oxygen sensing system.
- Monitoring the oxygen sensors.
- Monitoring of other emission relevant components (former OBD I scope).
- Triggering the Malfunction Indicator Lamp (MIL or Check Engine) and storing faults in the memory.
- Protection against manipulation of control modules.
- Indication of monitoring readiness (Ready Code).
- Displaying the Diagnostic Trouble Code.
- Storing of operation parameters in the event of a fault (freeze frame).
- Functional checks of the OBD system (trip, warm-up cycle, driving cycle).
- Standardized control module tester (generic scan tool).
- Standardized read out of operating data such as rpm, temperature, etc.

Ambient conditions
Three ambient (operating) conditions can be stored with each fault.

These can be:
- Engine load
- Engine temperature
- Engine rpm
- Intake air temperature
- Voltage supply
- Throttle valve angle
- Tank level
- Vehicle speed

DME Control Module signal output
If a fault is detected and stored, the prevailing ambient conditions are also stored and can be read out later with the generic scan tool. This makes troubleshooting much easier because operating data are available that were present at the moment the fault occurred.

These ambient conditions of a fault are stored the first time the fault occurs. If the same fault occurs a second time, these ambient conditions are also stored. Each further occurrence of a particular fault updates the ambient conditions of the last time the fault occurred, i.e. the ambient conditions present the first and last time the same fault occurred can be read out.

These ambient conditions can be read out only with the Porsche System Tester 2.

The ECM must be able to give out the following signals (freeze frame data) with
a generic scan tool (SAE J1979):
- Diagnostic Trouble Codes
- Engine load
- Engine coolant temperature
- Oxygen sensing status (oxygen sensor)
- Oxygen sensing adaptation values
- Fuel pressure (when available)
- Ignition angle
- Intake air temperature
- Intake manifold pressure (when available)
- Air mass value
- Engine rpm
- Throttle position
- Secondary air status
- Vehicle speed

Standardized DTC to SAE J 2012 (DTC-Diagnostic Trouble Codes)
Diagnostic Trouble Codes that can be read out by the ECM are standardized, which means that all manufacturers must use the same Diagnostic Trouble Codes.

The DTC is always a 5-character alpha numerical value, e.g. "P0100".

All P0xxx codes are standardized. However, each manufacturer may use additional codes which go beyond the standardized ones. This is the case it the manufacturer has integrated additional functions in the ECM beyond those required by law, and these can also be diagnosed. These codes are referred to as P1xxx codes, e.g. "P1100".

The first character (letter) of a code identifies the system which has input the
code. A total of four system types are covered:

- B for body
- C for drive train
- P for drive
- U for future systems.

The OBD II only requires the P code.

The second character represents the standard code (P0xxx) or manufacturer code (P1xxx).

The third character indicates the system assembly from which a fault occurred.

These are:
P01xx Fuel
or and
P02xx air metering
P03xx Ignition system
P04xx Additional emission control systems
P05xx Speed and idle air control
P06xx Computer and output signals
P07xx Transmission

The fourth and fifth characters represent the components or systems.

Definition of Terms

Warm-up cycle

The warm-up cycle is the time which the engine requires to reach operating temperature. To fulfill the warm-up cycle condition, the engine temperature on start-up must not be higher than a specified value (e.g. 30 °C). The engine operating phase has to be long enough to reach a specified temperature (e.g. 70 °C). The warm-up cycle condition is needed to count down or reduce the erase counter in the case of faults which have been recognized as corrected.

Driving cycle
A driving cycle consists of starting the engine, running the engine or driving until oxygen sensing becomes active, and then stopping the engine. Since the system cannot know when the engine will be stopped, the diagnostic routines are started as soon as oxygen sensing is activated.

Trip
A trip is a driving cycle after a rest period that enabled the diagnostic system to monitor all components and systems at least once. In the event of a fault, it may not be possible to perform all diagnostic routines under certain circumstances. For this reason, a replacement trip is recognized after an operating period of 1150 seconds. In other words, a driving cycle is recognized as a trip after this time, even if not all diagnostic routines were performed.

Readiness code
The readiness code indicates that the required fault checks were performed by the OBD system. It is not important whether or not a fault was found. The readiness code is reset if the fault memory is erased or the power supply (terminal 30) is cut off when a code is stored. The readiness code is not reset when the battery is disconnected if no fault is stored.
To initiate the readiness code, at least two trips have to be completed.

The readiness code is shown for the following Systems:
- Catalytic converter conversion
- Fuel tank ventilation system
- Secondary air system
- Oxygen sensor
- Oxygen sensor heating

Freeze frame
Freeze frame data are the momentary operating conditions that are recorded in the memory when a fault occurs. Only freeze frame data of one fault are stored in this way. If no fault has been recorded, the freeze frame data of the first fault are recorded. If a special fault occurs (misfire or a fault in the fuel supply system), the freeze frame data already recorded are overwritten. If an additional special fault occurs, the freeze frame data of the first special fault remain in the memory. These freeze frames are only displayed with a generic scan tool.

The following operating conditions can be recorded:
- DTC of the fault which initiated storage of freeze frame data
- Oxygen sensing status, bank 1
- Oxygen sensing status, bank 2
- Load value
- Engine temperature
- Oxygen sensing value FR, bank 1
- Adaption value FRA, bank 1
- Oxygen sensing value FR2, bank 2
- Adaptation value FRA 2, bank 2
- Engine rpm
- Vehicle speed

Fault shedding
When a fault is recognized during a diagnostic routine, it is stored as a suspected fault. At the same time, a fault shedding counter is started that contains a certain value. During additional diagnostic routines, the shedding counter will be decreased by 1 if the fault is recognized in the same area window. If the shedding counter has reached the value 0, the fault is considered as shedded.

Fault healing
When a fault is recognized during a diagnostic routine, it is stored as a suspected fault. At the same time a fault healing counter is started that contains a certain value. During additional diagnostic routines, the fault healing counter will be decreased by 1 if the fault is not recognized in the same area window. If the fault healing counter has reached the value 0, the fault is considered to be healed. If the fault has triggered the Fault Indicator Lamp (MIL) then the latter is switched off as long as it is not triggered by any further faults.

Fault erasing counter
For each recognized fault, an individual fault erasing counter is kept. The counter determines the memory storage time of the respective fault.
The first time the fault is recognized, the fault erasing counter is set to 80.
If an unshedded fault is recognized as healed, the fault erasing counter is set to 40. Each time a shedded fault is recognized, the fault erasing counter is set to 10. It retains this value until fault healing is recognized.
After each warm-up operating cycle the fault erasing counter is decreased by 1, when the fault in question is recognized as unshedded or healed. When the fault erasing counter reaches the value 0, the fault is erased from the memory.