cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F7 High Power Consumption in Standby

ZThat
Senior

All,

Unfortunately I don't see many useful answers to high standby power consumption on these forums. Hopefully someone has gained insight since previous questions have been asked, or my specific situation is has an alternative solution that didn't apply in other situations.

I am using an STM32F765VI chip to manage a battery (by communicating with battery managers) and send some messages over USB. The chip can sit in standby mode for extended periods of time, but unfortunately it seems to consume 7mA in standby mode. This is the difference between a typical battery lasting a few weeks and a few months. My hardware engineers have assured my that the power draw is coming from the chip and it's immediate power connections. Obviously this is SIGNIFICANTLY higher power draw than what is advertised. I also have a pretty high power draw (10-12mA) in stop mode, regardless of whether or not I turn off the regulator.

I am using a high speed external clock. Could it be that the external clock is consuming all of that power?

If not, any other ideas?

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
ZThat
Senior

All,

Turns out that this was an issue with hardware elsewhere on the board. There was a 3.3V regulator that needs to change modes at low power, but couldn't because it's mode pin was being forced high. At low power consumption it prefers to switch from pulsed width modulation to pulsed frequency modulation.

It looked like this additional 6mA of current draw was coming from the microcontroller because we removed every other component from the 3.3V rail. It turns out that having the 3.3V rail on is what was causing the issue. This makes this kind of thing difficult to troubleshoot. Anyone having similar issues, make sure to check your voltage regulator mode.

I am now down to 1mA current draw.

Thanks again for all the support!

View solution in original post

5 REPLIES 5
Piranha
Chief II
DBGMCU->CR = 0; // Disable debug and trace in low-power modes

Do this before entering low-power mode and physically disconnect debugger.

Danish1
Lead II

Check the data sheet for your oscillator. I've had a quick look at a couple of crystal oscillators, and e.g. Abracon ASFL1 (chosen randomly from the Farnell catalogue) burns typically 8 mA below 30 MHz, or 20 mA for frequencies above that (presumably because they need overtone circuits).

But then Epson SG-210 STF only burns 1.5 to 2.6 mA depending on frequency.

Some oscillators have enable inputs. If you can tolerate the wake-up time of the crystal oscillator, then start-up/shut-down using e.g. HSI (multiplied by PLL). I guess you need the crystal accuracy for USB.

Hope this helps,

Danish

K M
Associate II

You want your high speed clock stopped when in Standby. What are you using to wake up again?

Keeping PLLs running at 200 MHz output can cost you a few mA, but 7mA is pretty high and sounds like you have a couple peripherals still running from your high speed clock.

ZThat
Senior

​All,

I've tried these out and unfortunately nothing has reduced the current yet. Based on these responses, it seems like standby mode doesn't automatically shut down all peripherals. I thought that it would based on the fact that it reconfigures all of the pins (other than the wake-ups) to high impedance, and the fact that the datasheet recommends that you reinitialize all of them after exiting standby. Do you reconfigure them just because you've lost the structures that correspond to the peripherals from RAM (edit: and the pins need to be reconfigured)?

Either way I have been attempting to deinitialize the clock with the HAL command HAL_RCC_DeInit and that hasn't been helping. Although, I do see that this command does not wait for the HSE to turn off like the HAL_RCC_OscConfig function call would. Maybe this is the culprit.

Thanks for the suggestions!  

ZThat
Senior

All,

Turns out that this was an issue with hardware elsewhere on the board. There was a 3.3V regulator that needs to change modes at low power, but couldn't because it's mode pin was being forced high. At low power consumption it prefers to switch from pulsed width modulation to pulsed frequency modulation.

It looked like this additional 6mA of current draw was coming from the microcontroller because we removed every other component from the 3.3V rail. It turns out that having the 3.3V rail on is what was causing the issue. This makes this kind of thing difficult to troubleshoot. Anyone having similar issues, make sure to check your voltage regulator mode.

I am now down to 1mA current draw.

Thanks again for all the support!