Thank you Uwe. The FTDI device I am using is FT245BM and not x232H. I will look into the document you sent me and see how things go from there.
Thanks, KM On 23 September 2011 09:54, Uwe Bonnes <[email protected]> wrote: > > >>>>> "KrishnaMohan" == KrishnaMohan Bandi <[email protected]> > >>>>> writes: > > KrishnaMohan> --20cf3040e9c665eee404ad850ce7 Content-Type: text/plain; > KrishnaMohan> charset=ISO-8859-1 > > KrishnaMohan> Hi all, > > KrishnaMohan> I have a program that uses libftdi-0.19 library to read > KrishnaMohan> and write from/to a FTDI device, which on the other end is > KrishnaMohan> connected to an FPGA. I do not have more than 20 bytes of > KrishnaMohan> data at any time to send/receive to/from the FTDI device, > KrishnaMohan> however I do very frequent reads and writes (approximately > KrishnaMohan> every 15ms) from/to the FTDI device to read the GPS clock > KrishnaMohan> time and some other registers from the FPGA. > > KrishnaMohan> The read and write are together taking about 5-8ms and > KrishnaMohan> sometimes it goes up to as high as 15ms. This means the > KrishnaMohan> transfer rate is not even 9600bits/sec. However, the baud > KrishnaMohan> rate has been set to 921600. On the FPGA side, the time to > KrishnaMohan> read, process, and write back the data to the FTDI does > KrishnaMohan> not take more than 100uS. So, for the program the data is > KrishnaMohan> available as soon as the data is written to the FTDI > KrishnaMohan> device. > > KrishnaMohan> The strange behaviour I noticed is that when > KrishnaMohan> ftdi_read_data() is called, it returns zero as the number > KrishnaMohan> of bytes read. > > Are you sure the data has already been delivered to the FTDI chip? Have a > deep look at > http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-04_DataLatencyFlow.pdf > to understand the issues involved. > > Chapter 3.1, point 2 might help: Toggle some status line when the device has > send the data to the FTDI chip. > > KrishnaMohan> Only, the third (always) time the > KrishnaMohan> ftdi_read_data() actually reads the data and about 3ms is > KrishnaMohan> elapsed between the time the data is available and the > KrishnaMohan> ftdi_read_data() is actually able to read the data from > KrishnaMohan> the FIFO. > > > KrishnaMohan> What I want to know from you guys is why is > KrishnaMohan> ftdi_read_data() takes so much time to read small amount > KrishnaMohan> of data? What should be done to reduce the read/write time > KrishnaMohan> to the FTDI? > > Is this with a x232H chip or an old type USB full speed chip. In the > latter case, add a USB2.0 High-Speed Hub in between. > > ... > > KrishnaMohan> Hi all,<br><br>=A0=A0 I have a program that uses > > Please, no HTML in Mail. > -- > Uwe Bonnes [email protected] > > 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 [email protected] > -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
