|From:||Sigmund Jensen <siggi2k@xxxxxxxxx>|
|Date:||Wed, 26 May 2010 13:34:59 +0200|
I am running the FT2232H in synchronous FIFO mode. A FPGA is connected to the FT2232H.
Writing data from the host (embedded linux) to the FPGA is working ok. After writing data to the FT2232 the RXF# goes low and the FPGA can read the data.
But the read process (from fpga to host) is not working as we expect. After the initial startup procedure (including purging the buffers) the TXE# remains high, which should indicate that the FIFO is full. The 60MHz clock is ok. If I do a usb read I receive no data.
We see that the TXE# only goes low when we do a usb read from the host, but it goes high after a couple of ms, depending on how many bytes we read. This could indicate that the FPGA actually puts data into the buffer, but it doesn't and there is no data to read (usb read).
If the FPGA writes data into the buffer during the TXE# low period we can actually read the data from the host.
We expect the TXE# to remain low until the FIFO is full. Is this correct?
If correct, why does the TXE# remain high even though the buffer isn't full?
Does anyone have example code where using the FT2232H in synchronous FIFO mode?
We are using libftdi-0.17 and libusb-0.1.
Embedded linux iMX27, busybox v1.15.3, kernel 2.6.31.