- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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. */ |
|
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).