Hi Uwe,
Thank you for your response!
> 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.
What I need is a stream of bytes delivered without hiccups at about
1MB/s. Very much like a sound card. If I were to connect the
bytestream to an 8bit DAC, I should be able to generate a low-jitter
waveform for as long as the host application keeps sending data.
I am currently using an FT232 chip in serial mode going to a PIC. By
the time I have a 200kbaud high priority interrupt to unpack the data
and manage flow control, a main routine to interpret the (compressed)
data, and another interrupt routine to dole it out at precise times, I
am limited to about 20kbytes per second throughput.
This is for driving stepper pulses in a CNC application, so it is
critical that there are no gaps in the byte stream once the application
starts to fill the pipeline.
> 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.
So, my question is whether the FT2232H can produce continuous byte
streams on a fixed output clock at 1MByte/sec without requiring an FPGA
to do further FIFO storage? I wasn't able to get this kind of operation
from an FT245. The resulting byte stream in bitbang mode had horrible
stuttering due to random FIFO starvation.
> 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.
I have no care about latency. I'm only interested that the byte stream
not be broken once I start my data dump. I also don't mind up to 10%
timing jitter on the bytestream clock, it just can't skip bytes once the
pipe is full.
I suppose the best way to find out is to build a board and test
it.
There were some discussions a few years ago where FTDI admitted a bug in
the FIFO circuitry on the FT245 and projected that future chips might
work better. I am inquiring with the hope that this information might
already be known and save me a bit of experimentation.
I've search for variants of "FTDI sound card", "FTDI arbitrary waveform
generator", and "FTDI synchronous byte stream". If the chip was capable
of a smooth unbroken byte stream transfer, it would be tempting to just
hang a DAC on the output to make a nice arbitrary waveform generator.
There is one old paper that mentions this topology, and it uses the
FT245. I think it doesn't really work. When I tried to duplicate the
setup, the bytestream had glitches.
I'm expecting that I will need to use an FPGA to further buffer the
datastream. This is something I haven't done before and would like to
avoid if possible.
kind regards,
--
Rick Walker
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|