2024-06-24 04:40 AM
I am new to STM32 and I wanted to create low power and standby power mode for my application,
I am using NUCLEO-U575ZI-Q devkit runs on 160MHz high frequency clock and create project with only single GPIO configured as EXTINT to wakeup
I have supplied external 5v supply for that I have changed connected jumper to 5V_EXT and removed from 5V_STLK
Measured current 64.75mA.
I have used reference from here: https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Getting_started_with_PWR#Sleep_mode
...
void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
{
HAL_ResumeTick();
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the System Power */
SystemPower_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_SuspendTick();
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
}
/* USER CODE END 3 */
}
...
Thank you in advance.
Solved! Go to Solution.
2024-06-25 08:35 AM
Hi @hetal-mpc ,
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-06-24 06:23 AM
Hi @hetal-mpc ,
Which low power mode do you need? Is it standby mode? What you are getting if far from standby mode values.
I suggest you try the examples provided in the STM32Cube package first: STM32CubeU5/Projects/NUCLEO-U575ZI-Q/Examples/PWR at main · STMicroelectronics/STM32CubeU5 · GitHub.
Please refer to the readme file of each example to know more how it works and the expected setup.
To validate the values you are measuring, you need to compare them to the ones in the datasheet ("Current Consumption" tables in "Supply current characteristics" paragraph).
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-06-25 08:05 AM
Thanks @Amel NASRI for the response.
I am trying to configure both sleep mode and standby mode.
Given examples helped me and I could see in standby mode it is draining ~240uA of Idd current which is high, as per the datasheet the standby current should be 0.64uA with 3v3 Vdd.
To wake up I see there is WAKEUP pins are given BUT is there any way I can configure wakeup on any other GPIO external interrupt ?
For Sleep mode the Idd drops from 9mA to ~7.44mA when it enters to sleep mode and the currents are still high, and it sleep should be 4.35mA 25°C.
I have I2C1, UART1 and UART2 enabled when it enters to sleep mode does that causing this much of current? I have tested with disabling it but could not see much difference.
Thanks
Hetal
2024-06-25 08:35 AM
Hi @hetal-mpc ,
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-06-26 08:48 AM - edited 2024-06-28 05:16 AM
Hi @Amel NASRI,
Thank you for the documents links and information.
For STOP2 mode, it enters to low power mode but it stays in it, i have configured the EXTI to wakeup but it does not affecting it. can you provide me what i can check to find what is preventing it to exit the wake up?
Hetal.
2024-07-01 07:28 AM
@Amel NASRI Any input for wakeup from STOP2 mode?
I got that working on bare-metal code, but got issues that it entering and quickly exiting from STOP2 with RTOS integrated.
Thanks.
Hetal
2024-07-03 07:07 AM
Hi @hetal-mpc ,
Should we consider that initial question was already answered?
In such case, you need to submit any new question in new thread.
Regarding the current situation: as we don't have access to your code, there are several reasons that may lead to the faced issue: pending interrupts, debug request, wakeup flags not cleared, …
If you are using FreeRTOS, the example NUCLEO-U575ZI-Q\FreeRTOS_Semaphore_LowPower can be a good start for you. You find it in the X-CUBE-FREERTOS package.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.