2023-09-30 10:19 AM
I'm working on an application that requires a very fast UART speed. The STM32H7 allows a UART speed of 17 Mbps, which is just barely enough, but should work. However, other than the fast UART speed, I don't need to do a lot of processing. I would have much preferred to use an ultra-low-power device instead.
Because of this I want to run the MCU clock speed as low as possible. However, using CubeMX and the clock configuration tool, I'm running into issues where when I drop the CPU clock, the maximum speed of the UART peripheral clock drops too low for my needs. I've traced this down to what I believe is a voltage scaling "VOS" issue. Each VOS voltage scaling value places a limit on the maximum UART speed (see General operating conditions table, fpclk value).
So my question is basically, Could I run the CPU at 140 MHz (which seems to recommend VOS3) but set VOS to VOS0, which would allow the 17 Mbps UART speed? Or do I need to us VOS3 with that low of a CPU clock? Are there any issues I should be aware of with doing this?
Thanks!
Solved! Go to Solution.
2023-09-30 11:55 AM
afaik you can use any vos , to get it switch faster. no need, to use the highest possible core speed.
+
where you see this 17Mb limit ?
in H743 ds is: 12,5 Mb
for your need, the new H503 seem better (cheaper + faster):
+ available...
2023-09-30 11:55 AM
afaik you can use any vos , to get it switch faster. no need, to use the highest possible core speed.
+
where you see this 17Mb limit ?
in H743 ds is: 12,5 Mb
for your need, the new H503 seem better (cheaper + faster):
+ available...
2023-10-01 06:58 PM
Thank you! I will also look at the new part.
An example of the 17 Mbps is the STM32H725. In the datasheet Electrical characteristics > operating conditions > communication interfaces, USART characteristics, fck USART clock frequency is listed as 17 MHz in Master mode.