libftdi Archives

Subject: Re: FT2232H asynchronous maximum data rates?

From: Xiaofan Chen <xiaofanc@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Fri, 24 Jun 2011 17:28:50 +0800
On Fri, Jun 24, 2011 at 10:43 AM, Xiaofan Chen <xiaofanc@xxxxxxxxx> wrote:
> On Fri, Jun 24, 2011 at 6:51 AM, Caleb Kemere <ckemere@xxxxxxxxx> wrote:
>> After getting some personalized consulting from a friend (shoutout for
>> his company: www.totalphase.com), and delving into the libusb-1.0
>> code, I think I understand pretty clearly what is required to get
>> maximum data rates from the FT2232H. For a situation like mine, where
>> I want streaming bulk transfer at 6.5 MB/s without interruption for
>> several hours, the main issue which prevents maximum throughput is the
>> inefficiencies that are inherent in generating data requests ("URB"s)
>> to the kernel USB driver.
>>
>
> Thanks a lot for the detailed analysis. I have forwarded this to the
> libusb mailing list and see if the experts there have some comments.
>
> However, I am not convinced that async API will be worse than the
> sync API.

Oops, your point 4 is already using async API and getting the right results.

> This thread can be a good reference.
> http://libusb.6.n5.nabble.com/libusb-1-0-vs-usbfs2-Some-questions-td6257.html
>
> The author of libusb-1.0 is Daniel Drake and he wrote the following.
> "I think you'll be able to max out the bus with libusb-1.0 as long as you:
>
> 1. design asynchronously
> 2. Always have multiple URBs queued for completion (they will then
> usually be queued at the hardware level, so transfers can continue even
> if the CPU is running another program)
> 3. Call the event handler in timely fashion (you can run a dedicated
> event handling thread to be sure of this, but this may not even be
> necessary with a tight mainloop)".
>

For others who are still interested in the thread, check out this
libusb mailing list thread.
http://libusb.6.n5.nabble.com/Fwd-FT2232H-asynchronous-maximum-data-rates-td4519549.html

-- 
Xiaofan

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

Current Thread