Let MindShare Bring xHCI for USB to Life for You
The xHCI (eXtensible Host Controller Interface) for USB consolidates support for all generations of USB Low Speed, Full Speed, High Speed, SuperSpeed, and SuperSpeedPlus peripherals and hubs. The xHCI specification defines both host controller hardware behavior and the interface used by software to manage the controller and devices below it. A wide range of hardware implementations and optional features accommodate platforms ranging from embedded devices to PCs, workstations, and servers. When compared with earlier USB host controller models, xHCI also brings significant enhancements in the areas of platform power management, transaction scheduling, virtualization, and bandwidth management.
MindShare's Current Offerings for xHCI:
All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.
Fundamentals xHCI for USB Course Info
Who Should Attend?
This course targets software/hardware engineers and others requiring an introduction to Intel’s xHCI USB host controller model. A popular training combination is the three-day Comprehensive USB 3.1 course followed by this one-day xHCI Fundamentals course. Note that MindShare also offers a two-day xHCI course for those needing additional details on the xHCI host controller and software management of registers and memory data structures.
Course Length: 1 Day
- Overview of xHCI
- Motivation and Goals
- Dual Bus Topology
- xHC Implementation Options
- Root Hub Ports
- Special Considerations: 2.0 vs. ESS Transactions
- xHC Bus Instances
- xHC Internal Registers
- PCI Configuration Space Registers
- Memory Mapped IO (MMIO) Registers
- xHCI Memory Data Structures
- Slot IDs, Doorbells, and Scheduling
- Command Ring
- Event Rings
- Device Contexts
- Input Context
- Transfer Rings
- xHCI Interrupts
- Interrupters and Event Rings
- MSI, MSI-X Configuration
- Interrupt Moderation
- xHC Reset & Initialization
- Host Controller Reset Types
- Host Controller Initialization
- Device Attachment & Initialization
- Root Hub Port Status Change
- Enable Slot and Address Device Commands
- Device Context Setup
- A Configuration is Selected
Some background in USB 2.0 and/or USB 3.0 protocol is helpful.
Students will be provided with an electronic (PDF) version of the presentation used in class.