2014-03-29 07:32 AM
I have some IoT application, where power gets quite critical. Comparing the current/MHz of different suppliers, I found the best STM32 in the STM32L0 line at about 80uA/MHz.
Atmel proposes a pico-line with 70uA/MHz (SAM D20). This sounds very impressive, but looking into the datasheet specs, I see that they specify the current consumption data with the flash running on 3 waitstates (although they say, that their CPU can run also at 0 waitstates from flash up to 16 MHz). Does this mean that the CPU then runs only at about 1/3 of the speed? Anyone here maybe has some deeper understanding of this? #low-power #low-power-myth2014-03-29 07:53 AM
I did a lot of power critical project, and very often, the power consumption during the working time was not the most important. Example, working 50µs at 16MHZ every seconds, draws less than 0.16µA on an STM32L152 I used in my last project. In that case the LCD device, that is permanently on (plus RTC, LSE, etc ...) draw near to 7µA.
I told you my experience because the µA/MHz is not necessary the only CPU parameter to be taken into account for critical low-power projects. The wake-up time can be very differentiating, especially if you intend to have frequent wake-ups. Of course, the current drawn during sleep mode is important too. When the Atmel device runs with a Flash on 3 wait state, it is probably to enable some aggressive clock gating circuitry that helps to lower the running power budget. For sure it may starve the CPU and negate any benefit to run fast, unless they included some prefetch mechanism, or 64-bit access to flash (that can fetch up to 4 thumb instructions).2014-03-29 09:43 AM
Probably the biggest myth is that simply using a ''low-power'' micro will inherently make your application low-power.
It just doesn't work that way. The design of your application has a far greater effect on the applications actual power consumption than the processor itself.Just like a heavy-footed driver can make an ''economic'' car use more fuel than a careful driver in an apparently less-frugal car.https://twitter.com/antronicsltd/status/4184835027581132802014-03-29 11:00 AM
It just doesn't work that way. The design of your application has a far greater effect on the applications actual power consumption than the processor itself.
Indeed, it's almost always the surrounding circuitry, and GPIO's that suck the most juice.Just like a heavy-footed driver can make an ''economic'' car use more fuel than a careful driver in an apparently less-frugal car. Or simply drive outside the parameters in the ECU to meet emissions/mileage targets.