cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f4 usart max speed

Roberto Fortunato
Associate II
Posted on April 02, 2014 at 11:26

I'm using stm32f407 combined with ftdi232h usb-serial converter.

Every byte I call an interrupt and send back the same byte to check.

This works fine with baud rate to 115200.

I have tried to force best baud rate (theoretically I can force to 9Mbaud).

I have tried 1Mbaud, 3Mbaud and others but the interrupt read correctly only first byte, second is totally corrupt (for example I send value 3 and read 191).

Does someone have experience how much I can force baud rate with a similar system?

If I use DMA I improve the situation? How much?

Is there some working example with high baud rate?

Thanks.

#stm32f4 #rs232 #usart
2 REPLIES 2
Posted on April 02, 2014 at 15:51

Beyond 1Mbps you'd be better served by using a different protocol, a synchronous one with a clock.

DMA will improve you ability to service the USART data, it will not however improve symbol reception if the data is being corrupted.

Generating high baud rates can also be made more difficult by the % error rate of the baud clock. You might need to pick specific CPU and APB clocks to get the best fit. The 2 or 3 Mbps rates should be achievable.

Also be aware if you're using RS232 line drivers, these can be bandwidth limiting.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Roberto Fortunato
Associate II
Posted on April 10, 2014 at 18:17

Thanks, I will try synchronous and send you result