cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 Max UART Baudrate

Holger Sachs
Associate
Posted on November 24, 2017 at 16:15

I tried to figure out the specification of the max. UART baudrate for the SM32H7 series (@ 400MHz system clock).

The data sheet says 12.5 MBit.

Does this apply to all UART ports or only selected ones?

I need 8 MBits @ 16x oversampling and 6 MBits @ 8x oversampling.

Are these baudrates possible?

Best regards,

Holger

5 REPLIES 5
Uwe Bonnes
Principal III
Posted on November 24, 2017 at 17:33

RM0433 table 51 states the maximum  peripheral clock. For all U(S)ART it is 100 MHz. That means 12.5 MBaud @ 8 oversampling and 6.25 at 16 oversampling. 8 x 16 in your question above needs 128 MHz peripheral clock, beyond the specs. Maybe overclocking the uart peripheral clock can be an option, if you dare.

B.t.w, I miss the spec for the maximum  peripheral clock frequency  in the datasheet and in Stcube!

Posted on November 24, 2017 at 18:00

The choice of dividers in the STM32 designs tends to work against you, especially at higher/maximal rates. These rates are also rather high for async comms, sure you can't use a better protocol or something synchronous? The STM32 USART designs also lack any FIFO, you might be better considering and external part optimized for such rates and attached to the FSMC

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on November 24, 2017 at 21:38

Ths STM33H7 Usart _has_ a FIFO

Posted on November 24, 2017 at 22:42

Ok, yes seems to have 16 word RX and TX.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Harvey Zhang
Associate

You can use up to 125MHz clock source to USART peripherals on H7 if you use CubeMX to configure the clock tree. Then the baudrate can be up to 125/8 or 125/16 depending on the oversampling configurations. But ST HAL driver will stop you from using baudrate higher then 12.5M if assert_param is enabled.