FTDI Community

General Category => Discussion - Hardware => Topic started by: IanPo on January 15, 2019, 08:37:00 AM

Title: FT (2)232H in Synchronous 245 FIFO mode - data loss (problem 510) workaround
Post by: IanPo on January 15, 2019, 08:37:00 AM
Hello!

Description of the problem:
External chip (say, FPGA) is writing a data into FTDI (2)232H chip.
After first ( in fact, after every ) 510 bytes TXE# suddenly goes up and you have data loss.
The document AN_130 says: "Although  the  RX  and  TX  buffers  are  4KB,  they  only  use  2x  512  bytes  for  each  buffer  under  FT245 Synchronous FIFO mode", so we would expect buffer override after 1024 bytes sent.

My workaround here is the following:
to use TXE# as WAIT signal (send new data only if TXE# is low and wait if it goes high).
After first 510 sent TXE# goes high for 10 clocks (~170 ns).
I added some diagrams taken with logic analyzer.

If you know any other solutions (driver fixed, maybe) it would be nice to see them.
Title: Re: FT (2)232H in Synchronous 245 FIFO mode - data loss (problem 510) workaround
Post by: FTDI Community on January 15, 2019, 09:46:21 AM
Hello,

There are two status bytes sent at the start of every packet (covered by NDA) when using FT245 Synchronous FIFO mode. Thus each packet only contains 510 data bytes, and two status bytes making up the 512 byte buffer.

Best Regards,
FTDI Community