Fault tolerance of embedded systems

Fault tolerance is one of major requirements for Embedded systems. As the embedded systems become more complex, there is more chances for various failures. Somehow when designing Embedded system developer has to deal with these faults. Before dealing with faults designer has to identify and understand the types and nature of faults.

Faults can be hardware and software. Hardware faults cause errors that don’t go away for instance reseting of MCU doesn’t restore from fault condition. Software errors can occur due to transient events or program errors.

One thing what can be done in order to avoid faults is to include self test programs that can diagnose and detect failures before operating. If defected device is detected it can be isolated is possible or throw some sort of warning. I case of soft failure – system could be able to restore from fault automatically.

Fro instance MCU self test algorithm can check if memory (ROM, RAM, EEPROM) respond, If other peripheral devices a respond like temperature sensors respond to MCU request. One of good examples is PC memory. If bios is set correctly, then during boot, you probably saw the self memory test.

Some errors may be detected during program flow. For instance reading EEPROM data contents detection can be done using one of techniques as Parity check, Checksums, CRC. If device operation is crucial then embedded MCU can run diagnostics constantly when CPU is idle.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

To submit your comment, click the image below where it asks you to...