Originally designed as a peripheral bus for desktop PCs, USB has evolved to support a wide range of platforms, including laptops, servers, and embedded systems.
- Some embedded systems are resource-constrained and may implement only a subset of USB features, such as:
- Proprietary host controllers or software
- Restricted operating speeds
- Custom connectors
USB Topology: Tiered Star
USB uses a tiered-star topology:
- The host is always the root of the tree.
- Hubs act as branching points, connecting additional devices or hubs.
- Devices (functions) are the leaves of the tree.
Host Controller
│
Root Hub (Tier 1)
┌─────┼─────┐
Hub Device Device
(Tier 2)
┌───┼───┐
Device Hub Device
(Tier 3)
│
Device
Topology Limits
| Constraint | Limit |
|---|---|
| Maximum tiers (including root) | 7 |
| Maximum hubs in a path | 5 (between host and device) |
| Maximum devices on a bus | 127 (7-bit address space) |
| Maximum cable length per segment | 5 m (HS/FS), 3 m (SS) |
Host Controller Fundamentals
All USB activity is managed by the Host Controller, which serves as the foundation of the USB architecture. Several types of host controllers exist, each supporting different device speeds.
Types of USB Host Controllers
| Controller | Speeds Supported | Notes |
|---|---|---|
| UHCI (Universal Host Controller Interface) | Low-speed, Full-speed | Intel-designed; simpler hardware, more software overhead |
| OHCI (Open Host Controller Interface) | Low-speed, Full-speed | Compaq/Microsoft/National Semi; more hardware logic, less driver work |
| EHCI (Enhanced Host Controller Interface) | High-speed (direct) | Supports LS/FS via hubs with Transaction Translators (TT) |
See also: Host Controller Registers
Host Controller Configurations
-
Host controllers may be deployed:
- Stand-alone, or
- Combined with other controllers
-
The most common configuration:
- An EHCI controller paired with one or more UHCI or OHCI companion controllers
- This arrangement enables support for high-, full-, and low-speed devices in a single system
USB Speed Grades
| Speed | Data Rate | Introduced | Typical Use |
|---|---|---|---|
| Low-speed | 1.5 Mbps | USB 1.0 | Keyboards, mice |
| Full-speed | 12 Mbps | USB 1.1 | Audio devices, legacy peripherals |
| High-speed | 480 Mbps | USB 2.0 | Storage, cameras, video |
| SuperSpeed | 5 Gbps | USB 3.0 | Mass storage, video capture |
Transaction Translators (TT)
When a low-speed or full-speed device is connected downstream of a high-speed hub, the hub must contain a Transaction Translator to bridge the speed difference.
- Single-TT Hub — One translator shared across all downstream ports (serialized LS/FS traffic)
- Multi-TT Hub — One translator per downstream port (parallel LS/FS traffic, better bandwidth)
The TT converts high-speed split transactions issued by the EHCI controller into the appropriate LS/FS transactions for the downstream device.