cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429ZI-Baud Rate Higher Than 921600

likhithajames
Associate II
Posted on December 19, 2014 at 12:21

Uart communication higher than 921600 baud rate is not possible

#usart-1382400 #uart-baud-rate
7 REPLIES 7
Posted on December 19, 2014 at 13:41

Uart communication higher than 921600 baud rate is not possible

Really? That's not my experience with STM32 parts, perhaps you're doing something wrong. Do you have RS232 level drivers? What's the bandwidth on them? 1 MHz perhaps?
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
jpeacock
Associate II
Posted on December 19, 2014 at 17:50

How do you configure the baud rate generator?  What's your HSE oscillator?  You need a frequency high enough to divide down to your target.  Using HSI at that high a rate will likely create some jitter, making the connection unreliable.  Be sure the baud rate at both ends is exact, any deviation, even with async, is going to cause the start bit to drift.  A 1% error is fine at 9600, inoperable at 960K.

What baud rate are you trying for?  Is your program fast enough to handle that rate?  If you are using per character interrupts that's <1usec service time, not gonna have much CPU left for anything else.

What's the physical interface?  RS-232 transceivers don't work at those kinds of speeds.  The slew rate turns your cable into a very good RF generator with nice sharp edges in the medium wave band.  Your neighbors with a radio will really appreciate your broadband static transmitter.  Look at RS-485 or for short distance a TTL line driver.  Current loop won't work at those speeds either.

If you really need multi-megabit data rates you'd be better off looking at USB or Ethernet.  A serial USART is the wrong tool for the job.

  Jack Peacock
likhithajames
Associate II
Posted on December 29, 2014 at 06:49

likhithajames
Associate II
Posted on December 29, 2014 at 06:51

In my application i need to communicate with two different microcontrollers.For  validation I used the usart1 and usart 2 of stm32f429zi(connected rx to tx and vice versa)and I am not using any level drivers.I set the system clock to 80mhz .I want to set the baud rate of 1382400.

likhithajames
Associate II
Posted on December 29, 2014 at 06:58

In my application i need to communicate with two different microcontrollers.For  validation I used the usart1 and usart 2 of stm32f429zi(connected rx to tx and vice versa)and I am not using any level drivers.I set the system clock to 80mhz .I want to set the baud rate of 1382400.

Posted on December 29, 2014 at 14:16

Ok, but what speeds are the respective APB the USARTs are attached too?

As the baud rate increases the larger the potential for the baud rate to be off target as it doesn't cleanly divide into the clock of the USART. Pick a baud rate like 2000000 which is more apt to divide cleanly, and review the bit timings on a scope.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
likhithajames
Associate II
Posted on December 30, 2014 at 10:19

Issue was with the peripheral clock.It was working at 20mhz.when i changed the peripheral clock to 40mhz it worked fine..

Thnk u clive