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

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - Chipper

Pages: [1]
1
Discussion - Hardware / FT601 FT245 mode: small IN transfers
« on: September 17, 2019, 09:12:21 PM »
Hi!

I have an FT601 device in FT245 FIFO mode connected to an FPGA. On the host side, I'm running an application based on libftd3xx, i.e. data transfer via FT_ReadPipeEx / FT_WritePipeEx. What I observe is that OUT transfers happen immediately, whatever the size of the transfer. For IN transfers, however, I can only read data, after the FPGA has sent 4 KiB.

I tried the following with a loopback configuration in the FPGA:
send 1 KiB => FT_ReadPipeEx(2 KiB buffer) returns no data and status 19.
send 1 KiB => FT_ReadPipeEx(2 KiB buffer) returns no data and status 19.
send 1 KiB => FT_ReadPipeEx(2 KiB buffer) returns no data and status 19.
send 1 KiB => FT_ReadPipeEx(2 KiB buffer) returns 2 times 2 KiB.

I put data counters in the FPGA that I can read out via a side channel and I see that all 1 KiB chunks are immediately written to the FTDI. So I conclude that either the FT601 or libftd3xx buffer the data until 4 KiB are received, however long it takes (I waited for several seconds).

In my application, I am using the USB also for control information, where the IN data can be as small as one word. What do I have to do to receive these data immediately?

Thanks. Chipper.

Pages: [1]