Back
Next
USB Actions
http://superuser.com/questions/42022/how-does-usb-device-recognition-work
When a device is plugged in, it alters the signals on the power and
data lines using different resistors based on the maximum speed mode
available.
This configuration is sensed by the root hub or hup its plugged into.
Device also assumes its ID is device 0.
For USB 1.1/2
Controller and device use the D+, D-, and a process called chirping to
negotiate low-speed, full-speed, or high-speed.
For USB 3
Controller senses the USB 3 lines and goes immediately to Superspeed mode
to continue initialization.
Controller senses the signal variation and polls devices for their id.
New device ids itself as @0
Information about the device is read by controller (what is its general
device class, e.g storage device, who made it, etc.)
(function 0, pipe 0)
With this, the controller can assign drivers. In some cases, it may
hunt for additional drivers.
Root Hub then assigns an available 7-bit address to it.
If device has multiple functionality, it can get more than one address.
Each logical device can have up to 16 logical data pipes or channels in
each direction for assigned @.
Root hub generates a clock frame once a second +/- 0.05 msec.
Root hub either drives a transaction or poles recognized devices for waiting
tasks.
Communication between hub and devices done by frames.
# Frames consist of one or more packets.