cancel
Showing results for 
Search instead for 
Did you mean: 

Current consumption for STM32F7 in stop mode is too high?

raghu tumati
Associate II
Posted on September 12, 2017 at 06:14

Hi 

I'm trying to program my stm32F7 board into stop mode but its current consumption is around 4mA (which is way to high). I'm using an external clock source of 12MHz. 

SYSCLK is at 12MHz 

APBI and APB2 prescalers is set to 16. So its operating at 1MHz

I've disabled clocks to GPIO's except GPIOD because I need one of those HW interrupt pins to wake the MCU. 

All GPIO's are set to analog mode. 

FlashPowerDown in enabled

DebugStopMode is also disabled. 

USB clock has been disabled. 

Is there anything else in the clock settings that I need to include in the FW? I have noticed that the power consumption increases as the APBI and

mailto:APB@

2 clock frequency increases. But Im not sure how to get the current lower than 4mA. 

Also, I am not using a discovery or eval board. I have a breakboard with minimal components populated. Everything else is working just fine such as LED blink and Interrupt wakeup. The current definitely drops when the command 

HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_UNDERDRIVE_ON, PWR_SLEEPENTRY_WFI) 

is called. 

So I know the board is working just fine but I'm missing something crucial with my FW. 

I would appreciate any feedback. This is my first shot at STM32 programming. So I might have missed something very obvious. 

Thanks

3 REPLIES 3
Nesrine M_O
Lead II
Posted on September 12, 2017 at 10:32

Hi

raghu_tumati

,

Welcome to STM32 community

  1. I recommend you to have a look to

    http://www.st.com/content/ccc/resource/technical/document/application_note/b0/5c/ba/b2/cb/10/41/dd/DM001645pdf/files/DM001645pdf/jcr:content/translations/en.DM001645pdf

    application note to be sure about your hardware implementation.
  2. Also have a look to the STOP mode example under the STM32CUBEF7 package and compare it with your software

    implementation

    :

STM32Cube_FW_F7_V1.7.0\Projects\STM32756G_EVAL\Examples\PWR\PWR_STOP

-Nesrine-

raghu tumati
Associate II
Posted on September 12, 2017 at 18:07

Hi Nesrine 

Thank you for the links. I checked them out. 

In the FW example you pointed out, it seems like RTC was enabled and used to wake up the device from Stop Mode. 

In my case, I need the one of the GPIO HW pins to wake the device.

Is there any difference in power consumption in the two cases? 

The reason I ask is because I need the clock of GPIOD to be running. It is fed from the SYSCLK.

In the RM0385 manual it is mentioned that all clocks are stopped in STOP mode (PLL,HSE,HSI and RCC). But as I require GPIOD clock to be active for the HW interrupt, is SYSCLK turned on in STOP mode?

If not where is it being fed from? 

Sorry for the all questions. This architecture is new to me.    

Thanks

raghu tumati
Associate II
Posted on February 21, 2018 at 05:09

Hello All 

Could anyone help me here? I have still not been able to figure this out. My current consumption is still ~5mA in stop mode. 

Ive used the stop mode example that Nesrine pointed out, but the current is still too high. 

All GPIO's are set to analog mode (except for GPIOA and GPIOD). I need these for EXTI pins. 

FlashPowerDown in enabled

DebugStopMode is also disabled. 

USB clock has been disabled. 

Undedrive mode is enabled 

HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_UNDERDRIVE_ON, PWR_SLEEPENTRY_WFI) 

Ive checked my board and all the sensors are turned off. The STM32F7 is powered from an LDO, but its Iq is around 500uA. 

What am I missing? 

I read that in stop mode, the clock source is LSI RC. Is there any setting for this that could be the problem?