2010-05-18 02:20 PM
STM32F103 lower current consumption how-to
2011-05-17 04:51 AM
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.2011-05-17 04:51 AM
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.