EMC-aware programming
Electromagnetic compatibility (EMC)–aware programming involves writing software which is resilient to errors induced by electromagnetic fields.
Motivation
Microcontrollers have low immunity tolerance resulting in a very high rate of transient errors and a potential for processor failure. To improve the immunity towards electromagnetic fields, extra hardware devices are often used. Hardware protection requires additional circuitry which adds cost, weight and size to a device. Many hardware techniques focus only on the prevention or detection of failures and have no means of recovering from these errors once they occur.
The software approach consists in investigating the possibilities of using defensive software techniques as protection against electromagnetic disturbances as it is an economically interesting solution. The same software mechanisms could be used for a wide range of applications and different platforms. The figure to the right shows why a software approach is economically attractive. Adding hardware will add extra costs to each device while appropriate software is developed only once and then replicated. This of course ignores that software adds overhead to every device and thus increases cost by requiring more powerful hardware.
See also
- EMC Fundamentals
- Emission-aware programming
- Immunity-aware programming
- List of EMC directives
- Electromagnetic compatibility
References
- "The EMC Impact of Embedded Software" by Martin O’Hara 2007