cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F103 lower current consumption how-to

krestan23
Associate
Posted on May 18, 2010 at 23:20

STM32F103 lower current consumption how-to

2 REPLIES 2
swhite2
Associate III
Posted on May 17, 2011 at 13:51

STOP mode is not usable in your application from the sound of things since in that mode the system clock isn't running (i.e. timers, DMA etc aren't operational).  Only an external input interrupt, RTC alarm interrupt or reset can resume normal operation.

You can use the trick of using the RTC alarm (with LSE or LSI clock since they run in STOP mode) with a low prescale value on the RTC clock to wake up the CPU at some rapid rate (e.g. 1kHz), do some processing (e.g. A/D scan), and go back to STOP mode.

Of course the above doesn't work if you need to leave one or more peripherals running. In that case the best you can do is use SLEEP  mode in conjunction with a low system clock frequency. You can boost the system clock speed during CPU intensive tasks and then drop it back. Going to sleep when you don't need the CPU minimizes power usage but allows timers etc to run.

We have an application, using an STM32F100 and SLEEP mode, where the average current is under 3mA.

Finally the SMT32L devices could be a solution when they come out. They have a timer that is clocked from LSI/LSE--a more elegant solution than using the RTC as described above.

domen23
Associate II
Posted on May 17, 2011 at 13:51

I think you should be able to go below 3mA w/o anything special but wfi... what's your clock? Disable PLL, drop HCLK with a high SYSCLK divider.

What is your IO setup?

Oh, only now do I read you sample with 10kHz. A bit trickier then, maybe.