![](https://csdnimg.cn/release/download_crawler_static/76982764/bg8.jpg)
Universal Serial Bus Specification Revision 2.0
246
signaled when the port’s status change is set to indicate that the port is now enabled. This technique
prevents the host from having to constantly poll for a completion when it is known that the request will take
a relatively long period of time.
9.2.6.1 Request Processing Timing
All devices are expected to handle requests in a timely manner. USB sets an upper limit of 5 seconds as the
upper limit for any command to be processed. This limit is not applicable in all instances. The limitations
are described in the following sections. It should be noted that the limitations given below are intended to
encompass a wide range of implementations. If all devices in a USB system used the maximum allotted
time for request processing, the user experience would suffer. For this reason, implementations should
strive to complete requests in times that are as short as possible.
9.2.6.2 Reset/Resume Recovery Time
After a port is reset or resumed, the USB System Software is expected to provide a “recovery” interval of
10 ms before the device attached to the port is expected to respond to data transfers. The device may ignore
any data transfers during the recovery interval.
After the end of the recovery interval (measured from the end of the reset or the end of the EOP at the end
of the resume signaling), the device must accept data transfers at any time.
9.2.6.3 Set Address Processing
After the reset/resume recovery interval, if a device receives a SetAddress() request, the device must be able
to complete processing of the request and be able to successfully complete the Status stage of the request
within 50 ms. In the case of the SetAddress() request, the Status stage successfully completes when the
device sends the zero-length Status packet or when the device sees the ACK in response to the Status stage
data packet.
After successful completion of the Status stage, the device is allowed a SetAddress() recovery interval of
2 ms. At the end of this interval, the device must be able to accept Setup packets addressed to the new
address. Also, at the end of the recovery interval, the device must not respond to tokens sent to the old
address (unless, of course, the old and new address is the same).
9.2.6.4 Standard Device Requests
For standard device requests that require no Data stage, a device must be able to complete the request and
be able to successfully complete the Status stage of the request within 50 ms of receipt of the request. This
limitation applies to requests to the device, interface, or endpoint.
For standard device requests that require data stage transfer to the host, the device must be able to return the
first data packet to the host within 500 ms of receipt of the request. For subsequent data packets, if any, the
device must be able to return them within 500 ms of successful completion of the transmission of the
previous packet. The device must then be able to successfully complete the status stage within 50 ms after
returning the last data packet.
For standard device requests that require a data stage transfer to the device, the 5-second limit applies. This
means that the device must be capable of accepting all data packets from the host and successfully
completing the Status stage if the host provides the data at the maximum rate at which the device can accept
it. Delays between packets introduced by the host add to the time allowed for the device to complete the
request.