Skip to main content
Ruồi
Associate III
January 20, 2024
Question

How to run UART on STM32H755 with speed above 1M baud rate

  • January 20, 2024
  • 5 replies
  • 3671 views

Hello Experts,

I am having problem with uart on stm32h755, nucleo kit.
I use uart1 and uart2 to communicate with each other using DMA.
When I set the baud rate above 1M baud rate it doesn't work. Below is the clock configuration.Screenshot 2024-01-20 224149.png

And here is the UART configuration.

Screenshot 2024-01-20 224511.pngScreenshot 2024-01-20 224436.png

Looking forward to receiving any help.

Thanks,

RUOI

This topic has been closed for replies.

5 replies

Tesla DeLorean
Guru
January 20, 2024

How does "doesn't work" manifest?

The receive is problematic? The transmit? Over / Underrun?

If you transmit a constant 0x55 ("U") pattern, can you check the frequency with a scope?

As the rates increases the frequency error can get larger / rougher. You want a bus clock that's closer to a multiple of 16 MHz for 1 MHz, in 16 Over mode.

If using RS232 level shifters, these have bandwidth limits around 1 Mbaud.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
Ruồi
RuồiAuthor
Associate III
January 21, 2024

Dear Tesla DeLorean,

I just transmit from UART1 to UART2 and transmitted back.

Below is the code that performs the transmission and reception.

The problem is when I increase the baudRate to 2M the variables send_data, receive_data, echo_receive_data do not change. When I set the BaudRate to 1M, the variables change, proving that the UART is working.

Screenshot 2024-01-21 100332.png

Looking forward to receiving any help.

Thanks,

RUOI

 

ST Technical Moderator
January 22, 2024

Hello @Ruồi 

Baud rates at this level are not guaranteed to work reliably. You may need to rework your PCB to get better responsiveness.

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL
David Littell
Senior II
January 22, 2024

I would suggest that if you really want to run that fast you should be using synchronous or switch to SPI.