Microcontroller vendors seem to announce a new low-power product on a regular basis. In fact, almost all of the MCUs launched these days are dubbed low power in some way. This may not always be true, since there’s some window dressing and specmanship to make products appear better than reality.
The devil is in the details. More often than not engineers will discover what the product can really do while testing it in their application, after spinning the board and writing the code. But all the information is usually available. By looking carefully at the electrical parameters in the datasheet the clever designer can analyze beforehand the device’s real behavior and anticipate if a particular microcontroller is truly low power and fits his or her application.
Figure 1. MCU power consumption versus frequency.
Figure 2. The average current calculation for the operating cycle.
The first number that clever marketing people will massage is active power, which answers the question, “How low am I when the CPU is running?” and is expressed in mA/MHz or µA/MHz. The lower the number the better. It should give an accurate view of how much power the device will sink while in operation. As a designer, however, you shouldn’t follow the advertised number blindly, but rather dive into the datasheet and check the note that gives the test conditions. Invariably, this is an ideal case, with limited relevance to the real world. It typically is a simple test of the CPU only, with no peripheral operating, and the CPU doing operations going from NOP instruction to calculations or benchmarks. Vendors even describe it as a while loop, which means the CPU is not even fetching data from the flash, a misleading way to measure the CPU power.
Most vendors will provide the information about the power with peripherals on, with various degrees of operation. Some give details about the power of each peripheral, while some describe typical operations with several peripherals on. These are the numbers that will give you a better idea of what to expect in your application.
There’s another way the active power can be misrepresented. The typical MCU has a power consumption that’s not a linear function of the frequency, but rather an affine function. There are some techniques to make the curve stick closer to the ideal one at low frequencies, but there is always a gap.
Some people will calculate the active power in µA/MHz only for the highest frequency, the most favorable case. You should look at and calculate the active power per MHz at each frequency, especially the one you target.
While each vendor has his own nicknames for the low power modes, there are few variants functionally. Dubbed halt, stop, standby, low power, sleep, etc., the modes typically fall into four categories, each with a power associated with it, and also a wake-up time and a wake-up mode. Table 1 summarizes these typical modes.
Of course, there are variants of these modes, but this is a good summary. Some of the lowest power devices don’t implement the mode “unpowered” or “RTC only,” because they are very efficient and these modes would bring no benefit. To be clear, while “CPU stopped” can be useful for power optimization while running, and “RTC only” can be used if keeping time is mandatory (and you have serious battery limitation), the low-power mode that will bring the most benefit is “frozen in time.”