Ethernet Protocol
Ethernet Protocol
Evolution of
USB 2.0
Speed, Power & Applications
By Prasanthi Chanda
TABLE OF CONTENTS
The Evolution of USB
1.1 How USB Became the Universal Standard for Connectivity
CHAPTER 1:
1.2 From USB 1.0 to 2.0 – Major Improvements and Speed Advancements
1.3 Visual Timeline of USB Evolution
Year
USB Version Max Speed Key Features
Released
Interface Abstraction
CHAPTER 3:
PHYSICAL INTERFACE OF USB
The Universal Serial Bus (USB) is a widely used standard for
connecting peripherals to computers and other electronic
devices. The physical interface of USB includes various
components such as cables, connectors, signaling methods,
encoding schemes, and different power states. Understanding
these aspects is crucial for efficient data transmission and
device compatibility.
Timing
Transfer Type Speed Reliability Use Case
Guarantee
CDC
02h Modems, virtual COM ports
(Communications)
HID (Human
03h Keyboards, mice, game controllers
Interface Device)
Each device has a class code that tells the host computer what type
of device it is and which driver to use.
6.1 USB Enumeration & Configuration
1. When a USB device is plugged into a computer, the enumeration
process happens. This is how the USB host (computer) recognizes
and configures the device. The steps include:
2. Power-up – The device gets power from the USB port.
3. Reset & Speed Detection – The host determines if the device is
Low-Speed (1.5 Mbps), Full-Speed (12 Mbps), or High-Speed (480
Mbps).
4. Device Descriptor Request – The host asks the device for its
vendor ID (VID), product ID (PID), and class code.
5. Driver Loading – The operating system selects the appropriate
driver based on the class code.
This entire process takes just a few milliseconds and is plug-and-
play, meaning no manual setup is needed.
6.2 USB Class Codes & Their Importance
USB class codes help the host determine the correct driver for a
device.
For example:
A keyboard has a class code of 03h (HID), so Windows/macOS
loads a generic HID driver.
A USB flash drive has a class code of 08h (Mass Storage), so
the OS loads a Mass Storage driver to enable file transfer.
This allows standardized communication between different types
of devices and computers.
Configuration &
Control USB enumeration, device descriptors
setup
Low-latency data
Interrupt Keyboards, mice, game controllers
transfer
Continuous real-
Isochronous Audio, video, webcams
time streaming
Each transfer type ensures that USB devices work efficiently without
data loss or unnecessary delays.
6.4 USB 2.0 Speed Levels
Note: USB 2.0 is backward compatible with USB 1.1, meaning older
devices will still work but at their original speed.
CHAPTER 7
DEBUGGING USB DESIGNS
Common debugging scenarios when a USB device fails to work after
development.
7.1 Debugging on the Host Side
1.Check Device Manager (Windows):
Step 1: Open Device Manager (Start > Control Panel > Device
Manager).
Step 2: Look for your device under “Universal Serial Bus
controllers” or “Other devices.”
Step 3: If the device appears as “Unknown Device,” it may
indicate a driver issue or improper configuration.
2.Common Issues:
Unknown Device: This usually means the host can’t recognize
the device. Possible causes:
Missing or incorrect drivers.
Device descriptor issues (e.g., invalid VID/PID).
Device Not Listed: If the device doesn’t appear in Device
Manager:
Check power requirements. Ensure the device isn’t drawing more
power than the hub can provide.
Try a different USB port or cable to rule out hardware issues.
3.Driver Troubleshooting:
Reinstall Drivers: Right-click the device in Device Manager,
select “Uninstall,” and reconnect the device.
Update Drivers: Use the “Update Driver Software” option to force
a driver update.
7.2 Debugging Communication with USB
Analyzers
1. Types of USB Analyzers:
Software Analyzers: Run on the host machine and intercept
USB traffic. Examples include Bus Hound and Wireshark.
Pros: Low cost, easy to set up.
Cons: Limited to host-side traffic; can’t capture low-level
signals like suspend/resume.
Hardware Analyzers: Dedicated devices that sit between the
host and device. Examples include TotalPhase Beagle and
LeCroy USB Protocol Analyzers.
Pros: Capture all USB traffic, including low-level signals.
Cons: Expensive, but essential for in-depth debugging.
2. What to Look For:
Enumeration Process: Check if the device is properly
enumerated. Look for missing or incorrect descriptors.
Data Transfers: Verify that data packets are being sent and
received correctly. Look for errors like NAKs or STALLs.
Timing Issues: Ensure that transactions are happening within
the expected timeframes.
3. Example:
If the host sends a SETUP token but the device doesn’t
respond with a DATA packet, there may be an issue with the
device’s firmware or endpoint configuration.
Using Analyzer with Single Host
Using Analyzer with Dual Host
By following these steps, you can ensure your USB device meets
industry standards, avoids compatibility issues, and stands out in the
market. Whether you’re building a simple peripheral or a complex
multi-function device, compliance testing is a critical step in bringing
your product to market.