---
title: "USB enumeration; device vs host interface chips"
subject: "Instrumentation II"
chapter: 3
key: "semester_5/instrumentation_ii:usb-enumeration"
source: https://www.bctengineer.com/q/semester_5/instrumentation_ii/usb-enumeration
site: BCT Engineering
---

# USB enumeration; device vs host interface chips

Instrumentation II · Chapter 3: Serial Interfacing With Microprocessor Based System

- Asked in: 2079 Baisakh, 4+3 marks
- Video: [USB Enumeration Visualized: A Step by Step Guide](https://www.youtube.com/watch?v=ekhf0KSQ29s) — Electronics Under The Hood
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/instrumentation_ii/usb-enumeration
- Whole chapter: https://www.bctengineer.com/md/semester_5/instrumentation_ii/chapter-3

## Question

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.

## 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.

## Answer

**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
1. **Attach:** the device pulls D+ (or D-) high; the hub detects the change and informs the host.
2. **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).
3. **Speed detection** (chirp for high speed).
4. **GET_DESCRIPTOR (device, 8 bytes):** learns max packet size of endpoint 0.
5. **SET_ADDRESS:** assigns a unique address (1-127).
6. **GET_DESCRIPTOR (full device, configuration, strings):** learns VID/PID, class, endpoints, power.
7. **Driver selection** using VID/PID or class.
8. **SET_CONFIGURATION:** device configured, endpoints enabled; the device can now transfer data.
```text
 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).

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is enumeration?
   A. Power switching
   B. Host detects a new device, assigns an address and reads descriptors
   C. Device sending data
   D. Error correction
   Answer: B. It lets the host identify and configure the device and load a driver. (Key point: Definition)

2. What is the correct order of steps?
   A. SET_CONFIGURATION, SET_ADDRESS, reset
   B. SET_ADDRESS, attach, reset
   C. Reset, GET_DESCRIPTOR (8 bytes), SET_ADDRESS, full GET_DESCRIPTOR, SET_CONFIGURATION
   D. Driver, attach, reset
   Answer: C. After reset the host reads 8 bytes, assigns the address, reads full descriptors, then configures. (Key point: Order)

3. Why does the host first read only 8 bytes of the device descriptor?
   A. To assign power
   B. To learn max packet size of endpoint 0
   C. To read VID
   D. To pick class
   Answer: B. It needs the endpoint 0 packet size before continuing. (Key point: First descriptor)

4. Which addresses can SET_ADDRESS assign?
   A. 128-255
   B. 1-127
   C. 0-255
   D. 0 only
   Answer: B. A unique 7-bit address from 1 to 127 is assigned. (Key point: Address range)

## Related in Instrumentation II

- [USB interface chips: device vs host](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Ausb-interface-chips) — Instrumentation II, chapter 3
- [USB host, hub, device and packets](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Ausb-host-hub-device-packets) — Instrumentation II, chapter 3
