STM32WB55 - Achieve lowest possible power mode
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-04 5:28 AM
Hi,
I've been searching for information on how to achieve a shutdown on both the MCU cores. The goal is to periodically wake the system with an RTC, read sensor data and emit a report. I have found some information on the need to set the correct flags to enable different power modes calling
- Labels:
-
STM32WB series
-
Zigbee
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-05 2:41 AM
Hi Jorge,
which board do you use?
On STM32WB55 nucleo board you can try to run following example:
https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/P-NUCLEO-WB55.Nucleo/Examples/PWR/PWR_STANDBY_RTC
With this example you should reach expected power consumption and then follow steps done in this project also in your project/target board. Additionally please check also following example to disable RF (and set CPU2 to enter standby) prior set MCU into standby
https://github.com/stm32-hotspot/STM32WB-BLE-standby
For I2C and ADC peripheral you don't need to do make any additional setting as those peripherals are not available standby, it will be turned off automatically. You should just manage all GPIO pins - where possible set GPIO to analog and disable its clock source.
Best regards,
Lubos
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 2:46 AM
Hi Lubos,
I'm using the Nucleo Board WB55RG and developing my own board with an STM32WB55CGU6TR microcontroller.
Thank you for your reply, I already did the standby mode. However, I tried to do the shutdown mode but I have some difficulties. In the shutdown mode, I can't use the Internal interrupt (LSI) and I need to use the external interrupt (LSE), correct? I do this and it is working, but it is consuming more than in Standby Mode. Do you know why, is it normal? I test it in Nucleo Board WB55RG.
Best Regards,
Jorge
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 2:49 AM
@Jorge Alves wrote:Internal interrupt (LSI) and I need to use the external interrupt (LSE)
Those are oscillators (clock sources) - not interrupts.
A complex system designed from scratch never works and cannot be patched up to make it work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 2:57 AM
Yes, Andrew. But the oscillators can generate internal or external interrupts to wake up the microcontroller from standby mode or shutdown mode, correct?
If I understand well, I can't wake up from shutdown mode with an internal interrupt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 3:10 AM
Unless there's something special on the WB, the oscillators can't start themselves autonomously - so they wouldn't be able to wake the system.
A complex system designed from scratch never works and cannot be patched up to make it work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 3:15 AM
Ok, thank you. So, what is the best way to wake up from shutdown mode if I don't have a button or other system to generate an external interrupt? I'm trying to use the RTC associated with LSE, but it consumes more than standby mode using the RTC associated with LSI.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-22 11:48 PM
I'm sorry for late reply. Yes, you're right, LSI is not possible to use in Shutdown mode. Without buttons/external interrupts is RTC with LSE source only wakeup source you have.
In general (you can see in datasheet) LSI has higher power consumption than LSE, so there need to be some issue in your setup, when you report, that Standby + LSI consumes less than Shutdown + LSE.
