FTDI Community

General Category => Discussion - Hardware => Topic started by: Daniel123 on June 25, 2018, 12:20:21 PM

Title: FT60X FIFO buffer size. What does double buffered mean?
Post by: Daniel123 on June 25, 2018, 12:20:21 PM
Dear all,
in technical reference of FT60X it is stated that FIFO stack size is 16 Kbyte.
Then further on there is the statement that when FT60X is configured as 2 channel in multi channel FIFO Bus mode the FIFO buffer is configured as 2 KB * 2 (double buffered) each on RX and TX channel.
So to sum this up we have 2 channel x 2 directions x 2 kb x 2 which is 16 Kbyte.

But what exactky does double buffered mean. In the example do I have now 4 Kbyte per pipe? What are the implications of double buffered?

What exactly is the difference between FT245 and FT600 mode except that in FT600 I have more choice regarding number of endpoints?

Title: Re: FT60X FIFO buffer size. What does double buffered mean?
Post by: FTDI Community on June 25, 2018, 03:18:42 PM
Hi,

The FIFO buffer for the FT60x is 16kbytes in total for all channels.

The term double buffer means a buffer for for each direction.

For example, in a single IN configuration, the IC will allocate 8K + 8K (double buffer).
For 1 channel IN + OUT configuration, the IC will allocate 4K + 4K (double buffer).

Please have a look at table 2.2.2 in AN_386 http://www.ftdichip.com/Support/Documents/AppNotes/AN_386%20FTDI%20FT600%20Maximize%20Performance.pdf (http://www.ftdichip.com/Support/Documents/AppNotes/AN_386%20FTDI%20FT600%20Maximize%20Performance.pdf) for details of the FIFO modes and FIFO sizes of FT245 and FT600 modes.

I hope this helps.

Regards,
FTDI Community
Title: Re: FT60X FIFO buffer size. What does double buffered mean?
Post by: Daniel123 on June 28, 2018, 02:26:12 PM
Thank you for your Reply.

But in single IN configuration FT600 uses just one direction. So it uses the whole 16 kbyte for this one direction?
And for 1 Channel IN + OUT it uses 4k for one direction and 4 k for the others direction? And the residual 8 k just do nothing at all which in this configuration?

I want the highest transfer speed in both directions possible without reconfiguration of FT60X. So I should of course chose the maximum buffer size per direction. So then I have no choice but should use the 1 channel IN + OUT configuration?

Sorry, but the document provided gave me no information about the difference of FT245 and FT600 mode. Neither does the FT60X datasheet. There is only mentioned a difference in signal use with OE_N and RD_N
Title: Re: FT60X FIFO buffer size. What does double buffered mean?
Post by: FTDI Community on June 29, 2018, 04:43:09 PM
Hi,

If you have a look at section 4.2 and 4.3 of the FT601 Datasheet you will get more detailed information on the FT245 (Synchronous FIFO mode Protocol) and FT600 (Multi-Channel FIFO Mode Protocol): http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT600Q-FT601Q%20IC%20Datasheet.pdf (http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT600Q-FT601Q%20IC%20Datasheet.pdf)

If you want to contact support1@ftdichip.com I can assist you further over email.

Regards,
FTDI Community
Title: Re: FT60X FIFO buffer size. What does double buffered mean?
Post by: Daniel123 on July 25, 2018, 02:20:21 PM
Dear FTDI-Community,

sorry but perhaps I'm mistaken: With 1 Channel 1 IN I have only 8k for use? As I have only one direction I cannot use the other 8 K. How then is according to AN_407 D3 XX .NET Programmers Guide on page 67 and 68 with 1 Channel 1 IN iI have burst size of 16 but only 8192 Bytes FIFO ? A burst of 16 with USB 3.0 packet length 1024 bytes exceeds the 8192 Bytes FIFO.

How is this working?