we developed two different board with cypress FX3. We found a very strange issue: the communication with the FX3 is reliable only if we use a usb3 hub and we do not connect the chip directly to the motherboard controller.
We implemented both master and slave GPII interface and we connect it to a Kintex 7 FPGA. Now we are working with master interface. The problem happens only if we read from FX3 large amount of data (more then 256 kbytes) and when we start the transfer (PC side) when the datavalid is low. It means that if we are using the GPII as master the FPGA has the FX3empty flag high.
Without usb hub on some computers the FX3 stops to transfer data after about 64 kbyte (something more, is not exaclty 64kbyte). No more read request signals comes from the FX3 even if the FX3empty signal is low. If I use a usb3 hub everythings works as expected and I can't experience any problem trasfering data.
If i keep the datavalid high and i transfer data as soon as the FX3 request that everythings work correctly even without usb3 hub
The problem appears both on Master and Slave interface.
What can i do?
What host controller is present in the PC you use? Do you face the issue with a different host controller as well?
- Madhu Sudhan