FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Author Topic: FT2232H - synchronous fifo read and flow control by RD#  (Read 306 times)

BoardMan

  • Newbie
  • *
  • Posts: 3
    • View Profile
FT2232H - synchronous fifo read and flow control by RD#
« on: September 07, 2020, 02:43:51 PM »

Hi,

I'm in a process of designing high speed communication channel from PC to external device connected to FT2232H using synchronous fifo mode (FT245 style). The requirement is to fetch data from the fifo by external clock (about 22MHz) generated by the device. The data in sync mode is controller by a 60MHz clock generated by the FT2232H.

My question is can I use the RD# signal as flow control? For example to set the RD# signal high to block the FIFO reading? And when the device is ready to receive the next byte to drive the RD# to low and read the current byte in the fifo at the next rising edge of the 60MHz CLK OUT.

I suppose that when driving the RD# high and if there exists data in the fifo, the RXF# will stay in low state.
Logged

FTDI Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 483
    • View Profile
Re: FT2232H - synchronous fifo read and flow control by RD#
« Reply #1 on: September 08, 2020, 03:09:22 PM »

Hello,

When in synchronous mode, data is transferred on every clock that RXF# and RD# are both low.
I wouldn't recommend using RD# as a flow control signal, but data will not be transferred if the RD# signal remains high.

When RXF# is low, there is data available in the FIFO which can be read by driving RD# low.

Best Regards,
FTDI Community
Logged

BoardMan

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: FT2232H - synchronous fifo read and flow control by RD#
« Reply #2 on: September 09, 2020, 10:20:11 AM »

Thanks for your answer. The idea is to attach another dual port FIFO for clock synchronisation and when the external FIFO is full to drive the RD# signal (using some of the flags /FF /EF /HF). In theory it had to work correctly but is there any worry about data loss?
Logged

FTDI Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 483
    • View Profile
Re: FT2232H - synchronous fifo read and flow control by RD#
« Reply #3 on: September 09, 2020, 03:51:21 PM »

Hello,

The signals used in the FT245 Sync FIFO mode are not traditional flow control signals, so I wouldn't be able to guarantee no data loss would occur. I am also curious about your proposed configuration, could you expand on what you mean by "attach another dual port FIFO for clock synchronisation and when the external FIFO is full to drive the RD# signal"?

Best Regards,
FTDI Community
Logged

BoardMan

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: FT2232H - synchronous fifo read and flow control by RD#
« Reply #4 on: September 09, 2020, 06:10:24 PM »

My requirement is to get the data from FT2232H using external clock on 22MHz. The clock accuracy is very important. That is why it is required to be external clock driven by the external device. The sync mode of FT2232H use extremely high clock (60MHz). The async mode is too slow. The async mode of the 2232H seems to be the perfect implementation but the specification limit the read speed up to 8MB/s (no more than 8MHz clock). That is why I'm searching for a buffering solution because in synchronous mode the FT2232H generates the clock and also the external device will generate it own 22MHz clock. The external data buffer will be filled by 60MHz and will be read by 22MHz clock.  But when it fills I need of a solution to stop the data that goes to the external buffer.
Logged

FTDI Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 483
    • View Profile
Re: FT2232H - synchronous fifo read and flow control by RD#
« Reply #5 on: September 10, 2020, 04:28:44 PM »

Hello,

The data being clocked out of the FT2232H will be at 60Mhz, so a device clocked at 22Mhz would not be able to control this byte by byte. As long as you account for the clock mismatch in your buffering solution you should be able to use the RD# signal to pause the datastream whilst the target device reads from the buffer. I would suggest buying a development module to test your design.

Best Regards,
FTDI Community
Logged