cancel
Showing results for 
Search instead for 
Did you mean: 

RM0090 published uart baud rates

renasis
Associate II
Posted on April 14, 2015 at 06:06

Hello,

I have a stm32f429 discovery board. I am trying to confirm that I can achieve the max baud rates listed in the RM0090 document. I have tried using a pclk of 42 and 84 mhz, with oversampling of 8x and 16x. The code I am using is the hyperterminal dma example for the stm32f429 in the lastet cube firmware package, 1.5, modified to output tx in a loop. This data is sent to my pc, I am using br@y terminal to view the results.  I have had trouble achieving the baud rates listed above 1MBps. So, I am curious how the max baud rates were determined. Is there a test program that I can use to verify these max baud rates? How was the uart setup? Was it using dma, interrupts, fifo and/or synchronous mode(vs. asynchronous)?

Thanks

#stm
8 REPLIES 8
Posted on April 14, 2015 at 06:18

Was there a question in there somewhere?

Nominally the baud rate limits are 1/16 of the APB clock for the bus they are attached. 1/8 in OVER8 mode.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
renasis
Associate II
Posted on April 14, 2015 at 15:17

clive,

I updated my question above.

Posted on April 14, 2015 at 15:28

Do you use RS-232 level converters? Are you sure they are capable of 1MBaud+ speed? The norm is they are not.

What is the PC-side hardware? Are you sure it is capable of 1MBaud+ speed too? Does its driver support these speeds? Does the terminal software support it? Did you try to transmit at this speed from PC and check by a scope?

JW

Posted on April 14, 2015 at 16:46

+1 Jan

A lot of RS232 drivers filter above 1MBps, and a lot of USB-to-Serial (CMOS or RS232) have a limited subset of supported rates, 921600 baud might be the highest.

At a board-to-board level it might work, I've got some modems supporting 2MBps and 3MBps but these are very short connections. Generally when you're getting above 1MBps you should seriously consider synchronous interfaces, or different coding (Manchester).
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
renasis
Associate II
Posted on April 15, 2015 at 15:11

Hello,

Thanks for the information. I am using an Adafruit ttl cable(http://www.adafruit.com/products/954?gclid=Cj0KEQjwmLipBRC59O_EqJ_E0asBEiQATYdNh6k7-GGciMUMCIKbX5pKDe11xzoi3njqXYbXbzOMsfUaAvm18P8HAQ), which has a Prolific

http://www.adafruit.com/datasheets/DS_PL2303TA_d20120504.pdf

chip on it, based on documentation it can run up to 6MBps on Win7. Would you advise on better hardware to communicate with pc, if you think that this is inadequate. I do not think that I can use this to communicate to the port in synchronous(vs asynchronous) mode, not sure what would be needed for that.

Is there no information about what equipment was used to establish the RM0090 max ratings? No code available? I saw this tutorial about stm32f429 (http://www.emblocks.org/wiki/tutorials/f401_f429_disco/serial#uart_functionality_demos), it appears that it would be very fast, but I am using the stm32cubeMX code, so I would have to try to convert it over. By any chance would you have some code similar to this using the latest stm32cubeMX (hal) code?

Thanks

Posted on April 15, 2015 at 18:49

The numbers are established by the math. The CPU-to-CPU type USART connections here can be done directly, the vast portion of the embedded market doesn't use/touch a PC.

The higher the rate, the more concerned you need to be in the achievable baud setting vs desired baud setting. Watch % error in bit rate.

PC based drivers may have specific baud rate settings, described in a table of preferred/supported rates. ie 9600, 115200, 230400, 460800, 961600, etc.

Proflic drivers are notoriously broken, if possible find solutions using SiLabs chips instead.

Not using Cube/HAL here.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 15, 2015 at 18:55

> Proflic drivers are notoriously broken,

Not just that - the grey market is also flooded with counterfeit Prolific (and FTDI) chips.

High baud rates are also subject to granularity on the PC side, given by the USART's timebase (at the USB/USART converters it is often the USB clock, i.e. 12MHz, or its multiples).

You still could/should start with a loopback test on the converter, checked by an oscilloscope.

JW

renasis
Associate II
Posted on April 17, 2015 at 04:41

Thanks for the advice, I will look into these options.