Placing STM32L433 into standby
Hi
I am using the STM32L433 in a battery product and need long battery life. I am using standby mode as I need to preserve RAM and the RTC during standby. We are testing a new blank board and adding components one at a time and measuring the current using the LPM01A board. Before adding the processor the board was drawing an average 53uA, and after adding only the processor and placing it in standby mode, it was drawing 146uA. The processor is powered at 3.3v and chip freq 16MHz, and dont have anything connected to it for this test. To place into low power mode I done the below:
Powered the board for 3 seconds, then went into standby mode. I done this so I can see the step in the current drawn when dropping into standby mode.
During the 3 seconds of normal operation, the the average current was 2.531ma . There was no A/D enabled .
When it went into standby mode , the whole board was consuming 146uA. So the processor was consuming 146 -53uA (before the processor was added), a 96uA. Looking at the below table (I am using LSE and have a 32768KHz crystal attached) The power is close to 600nA ,


And with the above bottom table I have to add approx 180na for the ram. So in total the power should approx be 780na . Which is nothing like the 96ua which its drawing. To place into standby mode I am doing the following:
Switching off USB (not sure if needed)
RCC->APB1RSTR1 |= RCC_APB1RSTR1_USBFSRST;
RCC->APB1RSTR1 &= ~RCC_APB1RSTR1_USBFSRST;
RCC->APB1ENR1 &= ~RCC_APB1ENR1_USBFSEN;
Disable clocks
__HAL_RCC_GPIOA_CLK_DISABLE();
__HAL_RCC_GPIOB_CLK_DISABLE();
__HAL_RCC_GPIOC_CLK_DISABLE();
__HAL_RCC_GPIOD_CLK_DISABLE();
HAL_PWREx_EnableSRAM2ContentRetention();
HAL_PWR_EnterSTANDBYMode();
I dont know if I am missing anything else to get this near to the 780na I think I should get.
Many thanks in advance
Scott
