Initial handshake and speed detection

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Does anyone have a good reference on the entire handshake process for an FX3 device?  We're trying to track down enumeration issues - frequent failures to detect a device, and a USB 3.0 interface that always fails to enumerate as USB 3.0 and falls back to 2.1.  The USB event log used in the USBBulkSourceSink image shows the following, but I need a better understanding of the exact sequence of events that occur between "attempted again" and "disabled".  I have protocol analyzer traces of the sequence, but still lack a deeper understanding of what is happening and why.

   

 

   

    

   

               

                                                                                                                                                            

0x51

 

/* Indicates that a USB 3.0 connection is being attempted again. */

0x42

 

/* Indicates that the USB High-Speed handshake has been completed. */

0x12

 

/* Indicates that USB 3.0 Rx Termination has been detected. */

0x10

 

/* Indicates that the USB 3.0 link has been disabled. */

 

0 Likes
1 Reply
Anonymous
Not applicable

The enumeration process would that the device tries SuperSpeed enumeration 3 times and then falls back to USB 2.0. The failures you see could be because of a bad cable, impedance mismatch on the trace, bad power supply etc. As a first step, make sure that your board is designed according to the guidelines in AN70707 (http://www.cypress.com/?rID=53203).

   

 

   

And if you can take a bus trace with a hardware analyser like a LeCroy or a Beagle or an Ellisys, please do so and attach it here (or mail it over to Tech Support).

0 Likes