libftdi Archives

Subject: Re: FT2232H asynchronous maximum data rates?

From: Caleb Kemere <ckemere@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Mon, 20 Jun 2011 23:05:30 -0700
On Mon, Jun 20, 2011 at 10:03 PM, Xiaofan Chen <xiaofanc@xxxxxxxxx> wrote:
> On Tue, Jun 21, 2011 at 8:09 AM, Caleb Kemere <ckemere@xxxxxxxxx> wrote:
>
> If you use synchronous API, the main way to help is to increase
> the bufferSize but then there is a limit. After all, the internal buffer
> of FTDI chips are limited (two buffers, each 512Bytes in the FIFO
> mode, for FT2232H, even though the RX/TX buffer is 4KB). So if
> the host fails to fire one USB IN request for 512B, you are still
> fine but if the host fails to fire two USB IN requests, you are done.

Interesting, so the FT2232H is only using 512B of it's FIFO's? I don't
fully understand the frames and microframes of USB 2.0 - does the
kernel generate a schedule based on the frame clock (1 kHz)? That
could explain a lot - that would mean that if I ever missed scheduling
a frame, I'd be locked out for 1 ms (and would buffer overflow)....

> If you use the async API, I believe the bufferSize can be reduced.

Yup - now that I understand that the sync interface is built on top of
the async interface, I should be able to get at least as good async as
sync.

this is really helpful!
– caleb

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

Current Thread