Croatia - Flag Croatia

Incoterms:DDP
All prices include duty and customs fees on select shipping methods.

Please confirm your currency selection:

Croatian Kuna
Free shipping on most orders over 400 kn (HRK)
Payment accepted in Credit cards only

Euros
Free shipping on most orders over 50 € (EUR)
All payment options available

US Dollars
Free shipping on most orders over $60 (USD)
All payment options available

Bench Talk for Design Engineers

Bench Talk

rss

Bench Talk for Design Engineers | The Official Blog of Mouser Electronics


MCU Sleep States: How Many Do You Really Need? Warren Miller

MCUs have found homes in just about every low power application. The ability for the MCU to enter a low power mode has made them even more attractive in a variety of power restricted designs. Recent advances in energy harvesting have created new opportunities for MCU controlled devices, and low power is critical here, too. In fact, energy harvesting presents bigger challenges than battery operated applications since power isn’t available in as predictable a manner as with batteries.

With energy harvesting if a device is vibrating, power is harvested and is available. If the sun is out, the energizing rays of the sun are harvested. The system may not be able to power the MCU directly from the energy harvesting resource, however, so a super capacitor or rechargeable battery may be needed. In fact, the MCU may spend a good portion of its ‘on time’ managing its own power delivery system. Hopefully this results in a net positive in energy for the system!

Regardless of the challenges that low power applications present, MCU manufacturers continue to innovate with low power features and capabilities for greater power efficiency. One of the earliest features low power MCUs added is the ability to ‘turn off’ portions of the on-chip hardware either by stopping the clock, to reduce dynamic current, or to remove power from unused hardware, to reduce static current. To make things easier for the designer, most MCUs have several low power modes that determine what portions of the chip are on, off, or dynamically adjustable. This seems like a good idea, right?

Unfortunately each MCU manufacturer takes a different approach to creating low power modes for their devices. Different combinations and permutations of the CPU, memory, analog modules, peripherals, and even bus interfaces are selected by the manufacturer to create a simple set of low power modes. Figure 1 below shows an example selection, and the names of the associated low power mode for three different MCUs.

 

Mode/MCU

Freescale

Renesas

NXP

Modules

Mode

Clk

Pwr

Mode

Clk

Pwr

Mode

Clk

Pwr

All

Run

On

On

Run

On

On

Run

On

On

CPU

Wait

Off

On

Halt

Off

On

Sleep

Off

On

Peripherals

On

On

On

On

On

On

SRAM

On

On

On

On

On

On

RTC

On

On

On

On

On

On

CPU

LP Wait

Off

Off

Snooze

Off

Off

 

 

Peripherals

Slow

Stby

On

Some

 

 

SRAM

On

Stby

On

On

 

 

RTC

On

Stby

Sel

On

 

 

CPU

Stop3

Off

Off

 

 

Deep Sleep

Off

On

Peripherals

Off

Stby

 

 

On

On

SRAM

Off

Stby

 

 

Off

On

RTC

Sel

Stby

 

 

On

On

CPU

Stop2

Off

Off

Stop

Off

Off

Deep

Power Down

Off

Off

Peripherals

Off

Off

Off

Off

Off

Off

SRAM

Off

On

Off

On

Off

Off

RTC

Sel

Sel

Sel

Sel

Off

Off


Figure 1: MCU Low Power Mode Definitions

 

The above comparison of the low power mode names and major module on, off, or selectable state for the associated mode shows just how difficult it is to figure out which low power mode is best for your application. If you have become familiar with one manufacturer’s naming convention and settings, you may be very confused when looking at a different one. This difference isn’t just between manufacturers, either. Often one MCU family will have different low power modes from another MCU family from the same manufacturer.

 

This begs the question: “How many low power modes do I need from a single MCU?” Do I really need Wait, Sleep, Power Down, and Deep Power Down? To be honest, I’d rather have just one Run state that adjusts power to run at the efficiency I need and then just one Low Power state that is automatically configured to execute my low power functions as efficiently as possible. I don't mind running a configuration wizard that asks me lots of questions so it can build an optimal ‘power profile’ for my one low power state. Even if I need to give some ‘hints’ at the code level, that’s fine too. I just want the tools to do their best to keep my power low and to be correct by construction so I don't make any configuration errors. (Take a guess at how many ways you can get low power configuration settings wrong on a typical MCU. It’s a very big number).

 

I’m not holding my breath waiting for the MCU manufacturers to all agree on common low power mode definitions and settings, or to create simplifying low power wizards. I guess the best I can hope for is for one of the common software Integrated Development Environments (IDE) to use a low power Application Program Interface (API) that can shield me from the complexities of the various MCU manufacturers’ simple low power modes and settings. If I’m lucky, something like this is in the works already.





« Back


Warren Miller is a contributing author at Mouser Electronics with over 30 years of experience in the electronics industry. He has had roles in product planning, applications, marketing and management for large established companies as well as startups. Currently he is President of Wavefront Marketing, a consultancy serving semiconductor, tools and intellectual property companies.


All Authors

Show More Show More
View Blogs by Date