- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Does FX3 device go to suspend mode after 3ms of inactivity on the bus?
Is there any documents about it?
https://blogs.msdn.microsoft.com/usbcoreblog/2011/05/10/demystifying-usb-selective-suspend/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The FX3 (Device on USB 2.0 connection) begins the transition to the Suspend state after it sees a constant Idle state on its upstream facing bus lines for more than 3.0 ms. The device will actually be suspended, drawing only suspend current from the bus after 10 ms of bus inactivity on all its ports.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, Do you mean FX3 device go to suspend mode more than 3ms of inactivity on the bus?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, this happens on USB2.0 connection when there is no activity on the bus.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, how about USB3.0?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
By default, the USB 3.0 link usually goes to U1 (low-power) state after some period of inactivity. I believe this is at the request of the host and governed by its PORT_U1_TIMEOUT value; see Figure 10-10 of the USB 3.0 specification.
We ran into problems because of this - some short Bulk-Only Mass Storage transactions to our device would time out because the host would never be informed of the STALL condition that the device tried to set on the pipe (because the link had gone into U1). We ended up using CyU3PUsbLPMDisable() / CyU3PUsbLPMEnable() to control when the FX3 would accept a transition to U1. In writing this post I see that we could also have used CyU3PUsbRegisterLPMRequestCallback() to register an application routine that would accept or deny the request.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In USB3.0 the host orders the device to enter suspend-state. If the host sends a LinkCommand LGO_U3 the device has to enter the suspend-state.