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.
- 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.
- All bytes in the RAM are checked in connection with startup. 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:
ERROR CONDITIONWritten Read Error (Yes/No) 00000000 00000000 No 11111111 11111111 No 01010101 01010101 No 10101010 10101011 Yes The error is that the second-last bit is infecting the last one with a one. This generates diagnostic trouble code P0604.
- "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.