FTDI max bandwidth measurement.
![Clock Loop](https://forums.parallax.com/uploads/userpics/VYI8CV4R3VW1/n62P1IEDZQA5P.gif)
How would I go about displaying a FTDI loop back bandwidth speed? Say if I hooked up 2 usb2ser devices to eachother, how can I measure the MAXIMUM speed that they will be able to communicate at.?
I have used hyperterminal, but the max baud is only 960,400 the max baud of the ftdi chip is 3,000,000.
How would one go about getting hyperterminal to go at 3,000,000? Is there a way to add a baud larger than 960,400 to hyperterminal? Or is there another program that i can use that will allow me to send a file via Zmodem protocol?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
I have used hyperterminal, but the max baud is only 960,400 the max baud of the ftdi chip is 3,000,000.
How would one go about getting hyperterminal to go at 3,000,000? Is there a way to add a baud larger than 960,400 to hyperterminal? Or is there another program that i can use that will allow me to send a file via Zmodem protocol?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
HyperTerminal CAN send an already RAR compressed file thru "Zmodem" at very high speeds believe it or not. So far this has been the BEST method I have found to test TWO of these connected 'rx to tx' and 'tx to rx'.
When hyperterminal is connected to each FTDI usb device, at 960,400 baud, 8,N,1, and NO flow controll, and the ftdi latency set at 2ms.. the CPS is about 80,000... The bps is about 800,000bps at max. Yes it SHOULD be 960,400 bps at max but I guess overhead is involved.
Close to 1 megabaud is good, but these devices are supposedly capable of 3 megabaud.
I am trying to figure out how to prove this on a screen, in real life...
Any have any ideas...?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
www.ftdichip.com/Documents/AppNotes/AN232B-05_BaudRates.pdf
I changed the ini file like they said. I made it so that the selected baud of 921600 in hyperterminal actually connects the FTDI chip at a divisor of 1. Making the connection speed 3megabaud. The real tested speeds were acually around 2 megabaud. or 1,820,000bps... or 180,000cps...
So now you can see why real world testing of devices is important. OS overhead, hardware overhead, situational software, interference, etc.. All of these things must be considered when determining if a product will be proper for something.
Going from what a manufacturer says is great, but sometimes that is just wishfull thinking.
Also I think to get 3megabaud, one must use the DLL interface, not the VCP interface. Which kind of defeats the goal of using a chip like this. I wanted to try it to see if I can avoid the headache of dll programming and go straight to the com port.
I found that I can get about 1.8 megabaud out of the VCP drivers.
The only settings I changed were the divisor for the 921600 speed position, and the latency.. I changed the latency to 2.
I can transfer a file over zmodem and the file arrives properly on the other side with full crc verified correctness.
COOL!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
Post Edited (BPM) : 5/6/2006 5:06:45 AM GMT
I currently use the Parallax's USB2SER at 2mbps.· I've tested it with realterm ( http://realterm.sourceforge.net/·) which let's you set a user-configurable baud rate(it will pass whatever you type in, no real hard limit).· I'm also using it with my own custom software that just opens the port at 2000000.
I also saw the INI settings, but all that looked to be a pain in butt.· Not hard, just unnecessary.
I did some prelim testing at 3mbps using VCP, and it looked like the USB2SER performed fine.....
FWIW,
Keith
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
In another test, I wrote another small routine that spits out numbers from 0x00 - 0xFF, at 3mbps, from the SX to the PC, this time receiving the data in Realterm and capturing it to disk immediately. Then I look at the file in a hex editor, and it's easy enough to look down the rows and see an error -- I didn't see any.
The PC is win2k P4 2.4ghz/1gig ram.
In any case, the bit widths are fixed, and measurable on a scope, so if the data is being received 100% accurate, that means the speed was maintained 100%.
I'm using 2mbps vs 3mbps because 1/2mbps = 500 nanoseconds easily divisible by 20ns cycle time.
1/3mbps = 333.33 nanoseconds, not easily done
While hyperterminal is ok for day to day 9600 baud regular tasks, I would not trust its efficiency or lack thereof.
HTH,
Keith
I use serial port mode, and use the VCP drivers.
Your using bit bang mode, and your using dll drivers.
The speeds SHOULDN'T be different, but they are. Even the 2232 chip in big bang mode, using the dll has a spec rating of 8mbps. But that same chip in serial mode w vcp drivers, the speed is rated at 3mbps, but i can't get more than 1mpbs without CRC errors. (out of the 2232 or 232r chips..)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.