- 2079 Baisakh · 4+3 marks
USB enumeration; device vs host interface chips
Short answer
Enumeration: after attachment and reset, the host reads the device descriptor (8 bytes) at address 0, assigns a unique address via SET_ADDRESS, reads full descriptors, then sets configuration. Device chips (e.g., FT232R, CP2102, PDIUSBD12) are slave responders; host chips (SL811HS, MAX3421E, ISP1760) are masters that supply VBUS and schedule transfers.
Describe the enumeration process in USB 2.0 appropriate flow diagrams. Compare and contrast between USB device and host interface chips and list three examples of each type.
Enumeration is the process by which the host detects a newly attached USB device, assigns it a unique address and reads its descriptors to load the proper driver and configure it.
Steps
- Attach: the device pulls D+ (or D-) high; the hub detects the change and informs the host.
- Debounce and reset: the host waits (100 ms) and resets the port (SE0 > 10 ms); the device responds to the default address 0, with the default pipe (endpoint 0).
- Speed detection (chirp for high speed).
- GET_DESCRIPTOR (device, 8 bytes): learns max packet size of endpoint 0.
- SET_ADDRESS: assigns a unique address (1-127).
- GET_DESCRIPTOR (full device, configuration, strings): learns VID/PID, class, endpoints, power.
- Driver selection using VID/PID or class.
- SET_CONFIGURATION: device configured, endpoints enabled; the device can now transfer data.
Attach -> Hub reports -> Host: reset port
-> GET_DESCRIPTOR (addr 0) -> SET_ADDRESS
-> GET_DESCRIPTOR (full) -> load driver
-> SET_CONFIGURATION -> Device ready (transfers begin)
Device vs host interface chips
| Point | Device chip | Host chip |
|---|---|---|
| Role | Slave, responds | Master, schedules and enumerates |
| Complexity | Low | High, needs stack |
| Power | Takes VBUS | Supplies VBUS |
| Resistors | 1.5 k pull-up | 15 k pull-downs |
Examples of device chips: FT232R, CP2102, PDIUSBD12 (also ISP1181, PL2303). Examples of host chips: SL811HS, MAX3421E, ISP1760 (also CY7C67300, VNC1L).
✓ Answer checked by Claude Sonnet 5.5
Related questions
- USB interface chips: device vs host · Instrumentation II, chapter 3
- USB host, hub, device and packets · Instrumentation II, chapter 3