cancel
Showing results for 
Search instead for 
Did you mean: 

STM32G0 Stop Mode current higher than in normal Run.

VeryLatte
Visitor

Hi. 

I am programming a board with STM32G0, which is battery powered. All processor pins are used. Overall, the device works without any problems. In normal operation mode, only STM draws about 3.5mA. However, I wanted to put the device to sleep and:
1. In Shutdown mode, STM draws 40nA (according to the documentation), and the entire device 720uA, which is satisfactory for me, but I want to be able to wake it up from a dozen or so GPIO pins, so I tried to start Stop mode and:
2. In Stop mode, STM draws 600nA (more than the documentation indicates, but still quite good). I have the ENABLE pins of the additional LDO and charge pump connected to the PB9 pin through 100R resistors, which are on the PCB and power other systems. There is also a 4k7 pull-down on the ENA pins. During normal operation, PB9 is in a high state, and before sleep it is set to a low state to turn these systems off. And here comes the problem: when I leave PB9 in the high state before switching to Stop mode, the current drawn by STM is 600nA, while when I switch it to the low state (which is what I ultimately want to do), the current increases (!) to 11mA (yes).

I tried: switching other GPIO pins and they have no effect on it, reconfiguring PB9 from push-pull to open drain, enabling/disabling pull-up/pull-down. Finally, I physically disconnected PB9 at the processor pin and... STM still draws 11mA. I admit I'm confused. Connecting/disconnecting ST-Link has no effect on current. Current measurement is made direct before STM32.

Im entering Stop mode by code below:

HAL_GPIO_WritePin(PUMP_ENA_GPIO_Port, PUMP_ENA_Pin, GPIO_PIN_RESET);
HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); 

I've searched the internet but I can't find any solutions, can you suggest anything? Because for me the behavior is at least strange. Best regards :)

0 REPLIES 0