16
Discussion - Hardware / Re: FT600q communication problem
« on: January 19, 2024, 04:19:30 PM »
Hello,
There are 2 kinds of delays / pauses.
1. Occurs when FIFO switches from ping to pong buffer. There are 2 FIFO Buffers and when current one gets filled, hardware moves to second FIFO. There will be a brief delay during this period.
2. Occurs when a session is ended and a new session is created. This delay can be slightly larger than the above one.
A session will be ended when the length of transferred data equals with the stream length set by FT_SetStreamPipe API (if not in stream mode, then the length passed in Read Pipe API), or when an unaligned write happens.
Between the end of session and start of new session, there could be some delay as observed.
If the stream length is shorter, this delay will be seen often.
The recommended stream length is, several multiples of the FIFO size.
For example, if the FT600 configuration uses 4K FIFO size, it's best to make the stream length as multiples of 4K - Say 10 times or 100 times of 4K.
This way, instead of seeing a long delay every 4K, the long delay will happen only at 400K transfer boundaries.
The FPGA is expected to buffer at least a FIFO size worth of data so that the delay does not cause any issues such as overflow.
If you have any additional questions please contact us via email as we have already been in contact with you.
Best Regards,
FTDI Community
There are 2 kinds of delays / pauses.
1. Occurs when FIFO switches from ping to pong buffer. There are 2 FIFO Buffers and when current one gets filled, hardware moves to second FIFO. There will be a brief delay during this period.
2. Occurs when a session is ended and a new session is created. This delay can be slightly larger than the above one.
A session will be ended when the length of transferred data equals with the stream length set by FT_SetStreamPipe API (if not in stream mode, then the length passed in Read Pipe API), or when an unaligned write happens.
Between the end of session and start of new session, there could be some delay as observed.
If the stream length is shorter, this delay will be seen often.
The recommended stream length is, several multiples of the FIFO size.
For example, if the FT600 configuration uses 4K FIFO size, it's best to make the stream length as multiples of 4K - Say 10 times or 100 times of 4K.
This way, instead of seeing a long delay every 4K, the long delay will happen only at 400K transfer boundaries.
The FPGA is expected to buffer at least a FIFO size worth of data so that the delay does not cause any issues such as overflow.
If you have any additional questions please contact us via email as we have already been in contact with you.
Best Regards,
FTDI Community