Shop OBEX P1 Docs P2 Docs Learn Events
FTDI max bandwidth measurement. — Parallax Forums

FTDI max bandwidth measurement.

Clock LoopClock Loop Posts: 2,069
edited 2006-05-12 05:50 in General Discussion
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.

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-05-05 04:03
    My question is how are you going to get Hyperterminal to actually send data, even at its maximum rate of 960Kbps?· Also, why test them?· They're rated at that speed because someone already did that testing for you.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • Clock LoopClock Loop Posts: 2,069
    edited 2006-05-05 23:35
    Test for proof to big wigs who are in charge of letting me design a circuit with it. Without the proof, provable on paper, and or infront of such person, SAYING, or READING is one thing, but DOING is totaly another thing.

    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.
  • Clock LoopClock Loop Posts: 2,069
    edited 2006-05-06 01:16
    I found out how to FAKE windows programs into a faster baud.

    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! smilewinkgrin.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Meh. Nothing here, move along.

    Post Edited (BPM) : 5/6/2006 5:06:45 AM GMT
  • Keith MKeith M Posts: 102
    edited 2006-05-07 19:01
    BPM,

    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
  • Clock LoopClock Loop Posts: 2,069
    edited 2006-05-09 01:30
    How exactly are you testing the speed? Send file? And Capture file? Are you doing a loopback or do you have two devices, what OS are you running all this on? What format is the file, if you are in fact sending files...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Meh. Nothing here, move along.
  • Keith MKeith M Posts: 102
    edited 2006-05-09 14:43
    It's data coming from a floppy drive that the SX stores into memory. Then, when commanded to do so, the SX spits the data back to the PC at 2mbps using a custom bit-banging UART. The PC receives the data in some custom software(in C using Readfile()), performs checksums on it, and then will eventually save the data to disk. I know the data is good because the checksums pass.

    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
  • Clock LoopClock Loop Posts: 2,069
    edited 2006-05-12 05:50
    you said bit bang mode. That might be why I can't see the speeds your talking about.

    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.
Sign In or Register to comment.