1. 核心概念
-
定义:
USB 控制器是硬件芯片或模块,负责管理 USB 协议的数据传输,实现设备与主机(如 PC、手机)之间的通信。- 主机控制器:位于主机端(如 PC 主板),控制所有连接的 USB 设备(如 U 盘、键盘)。
- 设备控制器:位于 USB 设备内部(如鼠标、摄像头),处理与主机的交互。
-
核心功能:
- 协议解析(数据包封装 / 解封装)
- 数据传输(批量、中断、同步、控制传输)
- 电源管理(如 USB 供电控制)
- 端点(Endpoint)管理(逻辑通信通道)
2. 主机控制器类型
类型 | 标准 | 速率 | 特点 |
---|---|---|---|
UHCI | USB 1.1 | 1.5/12 Mbps | Intel 主导,需 CPU 参与数据传输(效率低) |
OHCI | USB 1.1 | 1.5/12 Mbps | 非 Intel 阵营(如 NVIDIA),支持 DMA |
EHCI | USB 2.0 | 480 Mbps | 仅处理高速设备(USB 2.0) |
xHCI | USB 3.0/3.1+ | 5/10/20 Gbps | 统一支持 USB 2.0/3.0/3.1,主流现代标准 |
3. 设备控制器类型
- 片上 USB 控制器:集成在微控制器(MCU)或 SoC 中(如 STM32 的 USB 外设)。
- 独立 USB 芯片:通过 SPI/I²C 与主控通信(如 FTDI 的 FT232H 串口转 USB 芯片)。
- 专用协议控制器:支持特定协议(如 USB PD 快充控制器)。
4. 技术细节
-
关键模块:
- 串行接口引擎(SIE):处理 USB 数据包的编码 / 解码。
- 端点缓冲区:存储待发送或接收的数据。
- PHY(物理层):处理电气信号(如 USB 差分信号)。
- DMA 控制器:直接内存访问,减少 CPU 负载。
-
开发工具:
- USB 协议分析仪(如 TotalPhase Beagle)
- USB-IF 认证工具(确保符合规范)
- 芯片厂商 SDK(如 Cypress FX3 SDK、Microchip MPLAB)
5. 应用场景
- 消费电子:手机、平板、外设(键盘 / 鼠标)。
- 工业设备:数据采集卡、PLC 控制器。
- 嵌入式系统:物联网传感器(通过 USB 与网关通信)。
- 扩展坞:通过 USB 控制器实现多接口扩展(HDMI / 网口)。
6. 常见问题与调试
- 驱动问题:
- 设备未被识别 → 检查设备描述符(PID/VID)或更新驱动。
- 数据传输错误 → 验证端点配置和缓冲区大小。
- 兼容性问题:
- USB 2.0 设备连接 USB 3.0 端口异常 → 检查 xHCI 控制器设置(如关闭 “USB Legacy Support”)。