libftdi Archives

Subject: Re: Streaming byte transfers

From: bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Fri, 4 Oct 2013 11:14:47 +0200
>>>>> "Rick" == Rick Walker <walker@xxxxxxxxxxxxxx> writes:

    Rick> Hi,

    Rick> Some time ago I tried to make a synchronous output byte stream
    Rick> with an FT245R.  Try as I might all I got were stuttering bursts
    Rick> of data that weren't continuous.

    Rick> I was hoping that the FT245R would behave like a sound card and
    Rick> properly flow control and back-pressure my application program to
    Rick> output a continuous stream of bytes.

    Rick> The application is to control stepper motors in a coordinated
    Rick> fashion, so it is important that once the flow starts that the
    Rick> byte stream not glitch until the stream finishes and the FIFO runs
    Rick> out.

    Rick> Well, that was a few years ago and I recall that the stuttering
    Rick> was a known problem with the FT245R.

    Rick> Does anyone have any advice for me?  I need something like
    Rick> 1Mbyte/sec transfer rate.  Do any of the newer FTDI chips work in
    Rick> a "sound card" fashion, or do I need to add something like an FPGA
    Rick> to unpack the FIFO and rebuffer it?

    Rick> Is there any open source circuits/software that I could use as a
    Rick> template to use?

We have the FT2232(without H) transmitting CR terminated ASCI data at quite
high rate. One 1Mbyte/sec  is ambious, as usable bulk transfer rate is only
http://www.cypress.com/?id=4&rID=29825
"The maximum you can achieve is about 8.704 Mbits/sec".
The system virtual comm port can be used for read/write, so on a recent PC
side the PC should not be the limiting factor. PC cares for having enough
USB read/write requests pending to keep the UAB and FT busy.

We have the FT2232H transfer block formatted binary data at 15 MByte/s + in
synchronus mode. Async mode will easy go above 1 MByte, as it uses USH High
speed vs full speed on the FT232R. An FPGA on the FT side will also help to
mantain bandwidth.

However for both implementation I would refrain to use this setup for time
critical applications with time requirements smaller than one USB microframe
(125 us). At the time of using the FT2232(without H), also a USB 2 hub in
between the FT and the PC helped. Than the PC saw a USB-2 device and used USB
microframes versus normal USB frame (1 millisecond) without the hub. The
situation may have changed however in between.

Bye

-- 
Uwe Bonnes                bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

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

Current Thread