2019-08-22 01:04 PM
I am using STM32G070 for our new product, which is very sensitive to power consumption.
I built a board with minimized parts, only MCU, reset switch, and caps. When I drove the MCU to standby mode, the current is 900nA. This proves that this board has no much leakage.
I used CubeIDE generated code with all IOs configured as analog and did not turn on any peripheral. I set the system clock at 125KHz; let it run for 4 seconds and enter "Low Power Run" mode. Based on the datasheet, it should be close to 73 uA. But my system shows 220uA.
I tried to predefine the voltage scale to range 2 and turn on both prefetch and instruction cache in the cubeMX. It was still 220uA. I tried set different wait states, no luck.
Then, I tried to change the PWR_CR1 VOS to 2 manually, I found I cannot change it by set_bit command.
I stuck on 220uA, what did I miss?
Thank you in advance.
The attached is my clock config:
here is one of the tested codes:
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
//SET_BIT(PWR->CR1, PWR_CR1_FPD_LPRUN);
HAL_Delay(4000);
HAL_PWREx_EnableLowPowerRunMode();
HAL_Delay(4000);
HAL_PWR_EnterSTANDBYMode();
while(1)
{
}
}
2019-08-26 07:18 AM
Hello,
I think the overconsumption you are observing is most likely coming from the HSI16MHz oscillator itself, which is ON in your experiment, but OFF in DS values (the HSE Bypass is used in that case to clock the device).
The intrinsic consumption of the HSI is around 150uA so that would fit approximately the results.
Let me know if you can check this by disabling it and trying to clock this MCU in HSE bypass mode for example?
Thank you and regards,
Antoine
2019-08-26 01:03 PM
Hi Antoine,
Thank you very much for the reply!
I am new to STM32 family. Pardon me if my understanding is wrong.
Based on my reading on AN3430 page 7, "Another source of energy saving is to bypass the HSE oscillator and clock the STM32F2 with an external clock source, if another clock already available on the board for other devices."
Does this mean that I have to use an external crystal/clock before I can turn off the HSI and turn on the HSE bypass mode?
If that is the case, my overall power budget may not be lower at all. In our current design, we use the internal RC as the clock source.
I tried to turn on the bypass mode with my existing board, but I did see much change. Probably it is due to I do not have an HSE at all.
If my understanding above is wrong, please correct me and point me the right direction.
Thank you!
Haizhou