libftdi Archives

Subject: Re: thruput testing on FTDI245BM

From: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 17 Feb 2009 10:43:04 +0100
Steve,

On Saturday, 14. February 2009 19:07:51 Steve DeLaney wrote:
> Thanks to help on this forum I was able to resolve this issue and get FTDI
> up and running.  starting from examples/bitbang.c, I made a simple bulk
> transfer
> throughput test to measure the effect of baudrate and block size
>
> the results executing on x86 show a dramatic difference.
> starting with default block size of 64 bytes/9600 "baud" yieds around
> 250Kbit/second,
> to 4096 block size/921600 baud yields over 4.5Mbit/sec
>
> but now I'm starting to wonder about whats going on "under the hood"
> so to speak.  for starters,
>
> what is the effect of ftdi_set_baudrate()?
> is this like a classic serial port rate, or can an arbitrary clock rate
> be selected?  it seems to limit out at some point and return an error.

So, which FTDI chip are you using?

> its hard to tell for sure whats going on in the chip since
> there is no register level spec. bitbang.c includes a couple of steps
> that seem optional:  "turning everything on", and "turning everything off",
> writing 0x0 and 0xff respectively to the bulk endpoint.  Is that just
> required for bitbang?  because the thruput test works OK without it.
>
> and what the heck is ftdi_enable_bitbang() doing?  writing to the control
> endpoint?

Yes, it enables the bitbang mode. Bitbang mode is basically
configuring the chip as a general purpose input/output port.
See the datasheet of the chip for details.

So you did your thruput tests in bitbang mode? The actual baudrate
is 4x higher than the configured baudrate in this mode.

Thomas


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread