3 Replies Latest reply on Sep 5, 2018 10:42 PM by SrinathS_16

    I am requesting some technical guidance around an issue I have where the Host controller halts an endpoint on the FX2.


      I am using the CY7C68013A-128AXC to control a document scanner; the scanner transports items through an imager and lifts ~12MB of data.

      Approximately 1 document is processed per second up to 75 documents can be managed as a bunch and stripped.

      Command and response is managed over EP 4 & 2. EP 6 and 8 are used as BULK IN EPs for image and other data transfer.

      The system is running at high speed (USB 2.0).

      The system works well and I can see the normal flow of data on USB as we run commands over the BUS and ARM the image EPs to collect the data.

      The BULK IN system works effectively and I can see the use of NAKs where appropriate.

      Rarely though I will get a short window (100us) of BUS timeout/turnaround errors.

      If I get three turnaround errors on a single EP the EP is halted and this effectively stops our transport, as we can't progress documents if we can't shift the image data.


      This is an example of the issue.

      I have just lifted 512 bytes from EP 8.

      I then hit the window where each EP is effectively ignored by the FX2.

      EP8 gets three strikes and the EP is halted by the USB HOST.

      Interestingly EP 6 and 2 only get three strikes and actually recover with NAKs then deliver the data.


      It looks like the FX2 has had it's Interrupt masked as the system has totally ignored the Host requests.


      We are struggling to reproduce this at will, it is very rare but is impacting performance.

      Is there a know weakness in this area, what could explain the turnaround errors.


      My feeling is that I have some kind of race condition, I don't think this is noise or a ESD event it is too controlled and specific.

      I suspect that all EPs are unresponsive, it was only EP 2 6 and 8 that were active during this window (100us).


      Thanks in advance.