cancel
Showing results for 
Search instead for 
Did you mean: 

Maximum VCP speed???

ho
Associate II
Posted on September 02, 2014 at 02:50

I am using STM32F2xx and connect it with FT232 chip using UART interface

http://www.ftdichip.com/Products/ICs/FT232R.htm

and then I connect FT232 chip to my Windows PC, I wrote an application in my PC using .Net to read and write data to the chip. The PC side is connected to FT232 chip using Virtual Com Port.

I found out that, I could not achieve serial speed higher than 1Mbit/s, which is far lower than advertised by them 12Mbit/s, (the common high speed spec),

I tried to set different baudrate in STM32, if I would set higher than 1250000 baudrate, I would start to get error in the UART bus, 

May I know how can I achieve high serial communication speed?
6 REPLIES 6
Posted on September 02, 2014 at 03:29

You'd need to pick rates that will divide cleanly into 1/16th of the APB clock your USART resides on.

Especially with high rates you're going to have to pay particular attention to the error in the baud rates selections (desired vs actual).

Async serial is not particularly recommended for rates >921600 baud
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
ho
Associate II
Posted on September 02, 2014 at 03:44

Thank you for your reply!

May i know how can I get the APB clock from my device? I am currently using STM32F205RE?

If baudrate > 921600 baud is not recommended, how can I achieve the high speed data transmission?

Posted on September 02, 2014 at 04:47

Well what are you setting the PLL and bus dividers too? system_stm32f2xx.c

RCC_GetClockFreqs() ?

Something using Bulk Mode, and large blocks of data...
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on September 02, 2014 at 04:53

For a 60 MHz clock 3.75 Mbps (1.875 Mbps, 1.25 Mbps) might be possible, for 30 MHz 1.875 (937.5 Kbps)

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
ho
Associate II
Posted on September 02, 2014 at 05:09

I have attached a screenshot of my PLL settings in system_stm32f2xx.c

I have tried to send large block of data at once, but it doesnt seems to help increase the speed, currently I am sending 18 bytes per send,

How can I enable bulk mode transfer in STM32?? any resources??

Thanks for your great help!

________________

Attachments :

stm32.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I10L&d=%2Fa%2F0X0000000biG%2Fk4x1QdvudqUAckoNlAj.Z_twLg5CNUPeD8lxBM5BRfQ&asPdf=false
chen
Associate II
Posted on September 03, 2014 at 15:38

Hi

''How can I enable bulk  mode transfer in STM32?? any resources??''

Unless I have not understood correctly - you cannot!

I think 'bulk mode' is something that USB implements.

In your set up, you are only use the USART.

The FTDI chip implements the USB in your system, it is therefore out of your hands.

I have not looked at the FTDI chip for ages but you might be able to change some of it's configuration through some of the pins but I do not know for sure.

What Clive1 is trying to tell you is to increase the baud rate of the USART to the maximum the STM32 can achieve and the FTDI device will accept.