

Power management for the USB hubs and the CPU have been disabled.It’s like all the DMA FIFOs got committed but since no data is being transferred over USB, no empty DMA FIFO is returned to the FPGA interface. In the hung/frozen state, the FX3 slave FIFO interface has the FIFO full flag and the almost full flag asserted, so no new data can be sent from the FPGA to the FX3.But again, communication over USB at this point is impossible. Followed by a check of our other “application specific command” EP with an ERDY response. Our USB protocol analyzer shows no error, just the last USB IN transaction.The same results happens on a different computer.We have tried moving the EP to EP1, EP2, EP3, and EP6 with the same failure.We have implemented both CyU3PUsbLPMDisable and CyU3PUsbSetLinkPowerState (CyU3PUsbLPM_U0) in our code.We have tried USB/DMA burst counts of 1 through 16.We have tried different DMA FIFO sizes from 1 KB to 32 KB.

Since this is a self-powered device, we can move to a new USB port and enumeration and USB communication works fine until the next time the USB interface hangs/freezes. Through the debugger, we can pause the software or set breakpoints. Even though communication over USB is impossible, the FX3 is still live.

Again, this only fails when transferring data from the FX3 device to the PC (IN transaction).

We done several hundred gigabytes worth of data transfers to the USB OUT endpoint with no failures and zero data errors. USB OUT transactions never fail on either of the ASMedia xHCIs. The hang/freeze only occurs on USB IN transactions.The slave FIFO interface is driven by an FPGA. The FX3 firmware is based off the bulk synchronous slave FIFO example.But on the ASMedia 3.1 xHCI controller, the FX3 will never hang/freeze. On the ASMedia 3.0 xHCI, data will transfer but randomly hang (we cannot communicate with the FX3 over USB when this condition occurs). We have an FX3 based design which we are running on a Windows 10 platform which has both an ASMedia 3.0 eXtensible Host Controller and an ASMedia 3.1 eXtensible Host Controller.
