cancel
Showing results for 
Search instead for 
Did you mean: 

BOR Ultra Low Power Enable - STM32U575

BSunw.1
Associate III

I am trying to test out the Stop2 mode on the STM32U575 (Specifically the NUCLEO-U575ZI-Q) but am getting very high currents in the mAs. I am putting the device into Stop2 mode with the MSIS as the system clock at 4MHz. I then set the Power Regulator Voltage Scale to "Power Regulator Voltage Scale 4" from the RCC window in the .ioc view.

I do have some GPIO active like the various test LEDs and 1 UART enabled but I have tried disabling all pins and peripherals with no improvement. With this configuration I am pulling ~8mA.

I have read that in order to get lowest possible power, the ultra low power mode on the BOR needs to be enabled using the ULPMEN bit in the PWR register. When I try to write to this bit, it never gets set. Not sure why I cant enable this? And I have not been able to find a clear definition of what this even is? It configures the BOR in "discontinuous mode"?

Here is a snippet of my simple test code:

 HAL_SuspendTick();

 uint16_t test = READ_REG(PWR->CR1);

 HAL_PWREx_EnableUltraLowPowerMode();

 test = READ_REG(PWR->CR1);

 HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFE);

1 ACCEPTED SOLUTION

Accepted Solutions
Piranha
Chief II

It seems that you haven't enabled the clock (RCC_AHB3ENR.PWREN) for PWR peripheral. In that case the PWR registers stay at the reset values and therefore you are always actually entering Stop 0 mode using LDO regulator, with all SRAMs powered and ULP disabled. For this mode the datasheet indicates a 130 uA typical current consumtion at 3,3V and 25C degrees.

View solution in original post

4 REPLIES 4
BSunw.1
Associate III

Update: I tried running the PWR_SLEEP example which should blink an LED for 5 seconds then go into sleep mode until the USER Button is pressed. I see a current draw of 15mA when the LED is blinking and 9.9mA when in sleep mode which is way too high...

Thanks for the information. Looks like I can get down to about 100uA (700uA with debugger enabled) now but it should still be lower. I don't seem to see much difference between each STOP or Standby modes either... Also I still cannot enable the ultra low power mode in the PWR->CR1 register.

Piranha
Chief II

It seems that you haven't enabled the clock (RCC_AHB3ENR.PWREN) for PWR peripheral. In that case the PWR registers stay at the reset values and therefore you are always actually entering Stop 0 mode using LDO regulator, with all SRAMs powered and ULP disabled. For this mode the datasheet indicates a 130 uA typical current consumtion at 3,3V and 25C degrees.