Electrical, Electronic and Programmable Electronic (E/E/PE) devices are supporting us in our everyday lives. Some of those, like control modules in our cars, are safety-critical devices. But what if a safe operation is jeopardized by harsh conditions?
In all parts of our everyday lives, you find Electrical, Electronic and Programmable Electronic (E/E/PE) devices. Examples of such devices comprise laptops, cell phones, controllers in washing machines and also control modules in our cars. The latter are typical examples of safety-critical devices, and safe operation is required during their entire life-time. One particular factor that might jeopardize the safe operation, is Electromagnetic Interference (EMI).
There are many aspects related to EMI, but currently research within the M-Group of KU Leuven Bruges Campus focusses on hardening different kinds of communication channels within safety-critical devices against EMI. Corruptions of the communication can result in (multiple) bit-flips, which can ultimately lead to software errors and a dangerous failure of the whole system. In order to limit the effects of communication corruptions, Error Detection Codes and Error Correcting Codes have been used since the fifties.
In essence, Error Detecting Codes (EDCs) and Error Correcting Codes (ECCs) are able to detect or correct the corruptions from external sources in a communication channel. There is an abundance of EDCs and ECCs to choose from: linear codes, cyclic codes, turbo codes, block codes, polar codes, etc. This research focusses on the corruptions in a channel due to EMI and assesses the performance of different EDCs and ECCs during very harsh conditions. A critical aspect here is how well the EDC and/or ECC can handle multiple consecutive bit errors, which are typical within an EMI scenario.
For this study, a dedicated simulation framework was developed. Within this framework, harsh environmental electromagnetic conditions can be simulated. An overview is provided in Figure 1. The framework tests the data integrity and the performance of different codes. For the initial results, a Cyclic Redundancy Check (CRC) was chosen as EDC and a Hamming code as ECC.
The overall performance of both CRC and Hamming was good. However, major considerations must be made: in certain conditions, a CRC could provide up to 50% false positives as illustrated in Figure 2. This means that errors reside in data, but the CRC did not detect them. Figure 2 indicates that this happens when, by coincidence, the frequency of the EMI disturbance is an integer multiple of the bit frequency used in the communication channel. The different curves indicate the incorrect data words and how many of them are regarded as correct.
For similar conditions, it was found that all error correcting capabilities of Hamming were almost zero. Note that in real life, these conditions do happen, for example when harmonics are considered.
Research on this topic is still growing, and more and more considerations are discovered. It is the goal to provide detailed guidance to keep the E/E/PE devices as safe as possible. This research is funded by KU Leuven internal funding C32/16/014.
For more information contact Jeroen Boydens, professor software engineering, KU Leuven (tel. + 32 50 66 48 03, jeroen.Boydens@kuleuven.be)