I don't think it is a limitation of FX3. There will be some difference between the theoretical maximum speed (5Gbps) and the practical speed that you can achieve. So far, We have seen the maximum throughput of around 400MB/s.
Even in the case of USB2.0 device controller, the maximum we have seen is around 40MBps, even though the theoretical max is 60MBps.
400MB/s = 3.2Gbps, so I assume this is the maximum throughput that can be achieved by FX3.
Just curious, is there anyone know how to calculate the maximum practical speed of USB3.0?
(ex. 5Gbps to 4Gbps due to 8b10b translation, 4Gbps to 3.5Gbps(?) due to Link Layer, protocol, packet overhead?)
The idea is to make sure the gap of maximum throughput between FX3 and theoretical/practical is acceptable.
CX3 internal GPIF clock is 100Mhz, 32bit =4 BYTES, so, the max payload is 100M *4 Byte= 400MB/s
Do you add UVC header by fx3 or use auto-DMA without uvc header with your code?