Search code examples
microcontrollermicrochipmicroc

Energy effeciency factors for microcontrollers


How microcontrollers can achieve high energy effeciency? Is it by using time triggering, event triggering or using sleep time?

What other techniques can be applied to make them effecient?


Solution

  • Most modern microprocessors have several levels of low energy mode operation. These modes are very specific to the particular micro, but have in common turning off the clock or clocks used to run the chip. Turns out running a high speed clock consumes significant power. So the first level of energy savings is to turn off the high speed clock when there is no work to do. Many chips have other modes all the way down to cutting power to RAM (and loosing its contents) so that it can only be awakened with a reset. Again the specifics depend upon the microprocessor and those specifics need to be carefully considered in the overall system design.

    Software plays a critical role in energy consumption. For battery powered devices, the way you save energy is to not run the micro and remain asleep as much as possible. So your software design should avoid periodically waking up just to poll something and discover that there is nothing to do so it can go back to sleep.The goal is to be strictly event driven even when it comes to time based activity. The object is to get in, get done what you need to do and get back to sleep. Such designs are often reactive in nature being triggered by happenings in the environment detected by hardware and signaled by interrupts.

    Most modern microcomputers have an array of sophisticated peripherals that can do many system activities without involving the CPU itself. This is another system technique to reduce power consumption -- do it in hardware. It is almost always more power efficient to do things in hardware. So things like DMA, timer driven ADC and other techniques are also important to reducing system power consumption. Many ultra-low power devices have a significant component of the system as custom hardware to reduce the amount of CPU time required run the functions of the system.