saab Workshop Repair Guides

Saab Workshop Service and Repair Manuals

Diagram Information and Instructions|Page 14500 > < Diagram Information and Instructions|Page 14498
Page 18
background image

The following are monitored:

^

Internal control module faults

^

Analog inputs

^

Digital inputs

^

Outputs

Internal control module faults

Upon starting, the processor (CPU) checks that the check sum is the right one for the ROM. This value is written to the RAM and then read back again to
check that the value is the same as the original one.

During operation, a check is carried out to ensure that the program executes certain routines.

See diagnostic trouble code P0601 for Trionic 8 by way of example.

1. The ROM has to be correct as the program is stored there. An error in the program could cause the control module to activate an output in the

wrong position or make entirely wrong decisions. The check sum is the sum of the program's entire code and is attached when the control module
is programmed. When the control module processor is woken, the entire program will be checked again. The check sum just calculated is
compared with the programmed one, and these must be the same,otherwise diagnostic trouble code P0605 is generated.

2. All bytes in the RAM are checked in connection with start-up. One byte equals 8 bits, and the process writes 4 different bit patterns and reads them

back. The values written and read must be the same. 4 different bit patterns are used because we want to be sure that bits do not infect one another.

The table below shows an example of how an error is detected in a byte in the RAM:

The error is that the second-last bit is infecting the last one with a one. This generates diagnostic trouble code P0604.

3. "Dog Error" is short for "Watchdog Error". A check is carried out to ensure that the program passes certain program steps which are always run.

Analog inputs

The voltage interval 0-5 V from a temperature sensor or pressure sensor is converted in the control module into a digital value, often 0-255 (256 steps),
which is equivalent to a byte.

If we know that the bit value is never less than 10 or more than 245 under normal operation, we can set a diagnostic trouble code if the value falls outside
of this range.

See diagnostic trouble code P0117 for Trionic 8 by way of example.

In the example above, you can see that the diagnosis is unable to differentiate between interference and a short-circuit to 5 V. The reason for this is that
the input has a Pull-Up at 5 V, and this is equivalent to a bit value of 255. This is the greatest value the control module can read. Thus interference
generates the same diagnostic trouble code as a short-circuit to 5 V or B+.

The A/D value has to be too high for 0.5 s in order to set the diagnostic trouble code. This is known as the filter time. The filter has to be in place to
prevent short-term interference from mobile telephones or the ignition system, for example, from setting diagnostic trouble codes.

The diagnostic trouble code is set after 0.5 s. The MIL (Malfunction Indicator Lamp) or Check Engine, as it is also known, is activated only during the
second run in a row where faults have occurred. If the fault is rectified without deleting the diagnostic trouble code, Check Engine will go out after the
third fault-free run.

The control module uses a substitute value for coolant temperature which is based on the intake air temperature.

Diagram Information and Instructions|Page 14500 > < Diagram Information and Instructions|Page 14498