Skip to main content

USB 1.1 vs 2.0 and device identification

Short answer

USB 1.1 supports low (1.5) and full (12 Mbps) speeds, 1 ms frames, max 64-byte bulk packets. USB 2.0 adds high speed (480 Mbps), 125 µs microframes, 512-byte bulk packets. For identification, after reset a high-speed device performs a chirp handshake: it sends a chirp K; if the host answers with K-J pairs, the device switches to high speed, then enumeration reads descriptors.

Differentiate between USB 1.1 and USB 2.0. State briefly how USB 2.0 identifies itself with the interfacing unit and establishes communication protocol. Draw the necessary diagrams.

Difference between USB 1.1 and USB 2.0

PointUSB 1.1USB 2.0
SpeedsLow 1.5 Mbps, full 12 MbpsLow 1.5, full 12, high 480 Mbps
Signalling3.3 V, NRZISame, plus high speed with 400 mV signalling and 45 ohm terminations
Frame1 ms frame125 us microframes (high speed)
Max. packet (bulk)64 bytes512 bytes
HubsBasicHigh-speed hubs with transaction translator
New features-PING, split transactions, OTG
Compatibility-Backward compatible with 1.1

How a USB 2.0 device identifies itself and sets up communication

  1. Attachment and speed detection: on connection the device pulls D+ high through a 1.5 kohm resistor. The host (with 15 kohm pull-downs) senses the J state: it is a full-speed device (low speed: D- pulled up).
  2. Reset: the host drives SE0 for at least 10 ms. A high-speed capable device then performs the chirp handshake: it sends a chirp K; a high-speed host answers with alternating chirp K-J pairs; if the device sees three K-J pairs it removes its D+ pull-up, enables 45 ohm terminations and switches to high speed. Otherwise it stays at full speed.
 Device                      Host
  | --- D+ pull-up --------->|  full speed device detected
  |<---- Reset (SE0) --------|
  | --- chirp K ------------>|
  |<-- chirp K J K J K J ----|
  | (remove pull-up, HS mode)|
  1. Enumeration: the host sends GET_DESCRIPTOR (first 8 bytes of the device descriptor, default address 0), SET_ADDRESS (new address), full GET_DESCRIPTOR requests (device, configuration, interface, endpoints, strings) and then SET_CONFIGURATION. The descriptor gives USB version (0200H), class, VID/PID and maximum packet size, identifying the device and its protocol. After that data transfers use the assigned address and endpoints.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 3 questions →