2022-02-22 01:56 AM
We develops the system that based on STM32H757 processor
In the working the application , I would compline to the three different running modes.
1. M7 - 480Mhz / M4 240Mhz --> full power mode (50% of application)
2. M7 - 400MHz/ M4 200MHz --> run mode (15% of application)
3. M7 - 100MHz / M4 0 --> save power mode (35% of application)
Is it possible to implement such changes while the program is running? (on the fly)
and how many cycles it may takes?
Is need change PWR_R3 register VSO value if I work with SMPS direct mode?
Thanks.
2022-02-23 12:35 AM
Is it possible to implement such changes while the program is running? (on the fly)
Yes. There might not be code in stm32cube that does it, but the Reference Manual gives all the necessary information.
You'll need to change to a different clock source (HSI/HSE), disable the pll, reprogram the pll, re-enable the pll, wait for it to lock then switch back to the PLL clock source.
During this time, of course, the processor will be running more slowly. And you won't be able to use that pll for e.g. UARTs during the switchover (and you'd need to recalculate baud rates anyway so maybe better to use a different clock source for them anyway).
and how many cycles it may takes?
See the Data Sheet for worst-case pll lock time
Is need change PWR_R3 register VSO value if I work with SMPS direct mode?
I'm confused. I had a quick look at the Reference Manual and didn't see PWR_R3. I did see PWR_CR3 but it didn't have VSO. Can you check / clarify that. (Do check you're using the current reference manual)
Hope this helps,
Danish