1. EHCI 概述:EHCI 控制器在 USB 2.0 体系中的定位、主要特性与功能框图

1.1 USB 2.0 体系架构与 EHCI 的定位

USB 2.0 规范引入了 高速(High-Speed, 480 Mbps) 传输模式,同时保持对全速(12 Mbps)和低速(1.5 Mbps)设备的向后兼容。EHCI(Enhanced Host Controller Interface)是专为 USB 2.0 高速传输设计的开放主机控制器接口标准,由 Intel、Microsoft 等公司联合制定。

在 USB 2.0 主机端,EHCI 控制器负责管理高速事务,而 UHCI / OHCI 控制器(或内嵌在 EHCI 中的 Companion Controller)负责处理全速/低速事务。这种分工通过 Transaction Translator(TT) 机制实现。

关键概念: EHCI 只处理高速(HS)调度;全速(FS)/低速(LS)设备通过 TT 或 Companion Controller 桥接,不直接占用 EHCI 的调度帧。

1.2 EHCI 的主要特性

特性类别 具体描述
传输速率 支持高速模式(480 Mbps),向下兼容全速/低速(通过 TT)
调度机制 基于微帧(Microframe, 125 µs)的周期性与异步调度
数据结构 使用周期列表(Periodic List)与异步列表(Async List)管理传输描述符(qTD)
批量传输 支持批量端点(Bulk Endpoint),采用异步列表调度,无带宽保证但可重试
中断传输 支持中断端点,使用周期列表,保证最大服务间隔
等时传输 支持高速等时端点,使用周期列表,无重试机制
控制传输 默认端点 0 使用控制传输,由周期列表与异步列表共同管理
电源管理 支持挂起/恢复、远程唤醒、端口电源控制
错误处理 支持传输错误重试、Babble 检测、帧超时等

1.3 EHCI 功能框图

下图展示了 EHCI 主机控制器在 USB 2.0 系统中的核心模块与数据流关系:

EHCI 功能框图 EHCI 主机控制器功能框图 系统总线接口 寄存器组 调度引擎 (周期/异步列表) 列表管理器 端口路由逻辑 Companion 接口 USB 端口 (xN) 数据缓冲区 图注说明: 1. 系统总线接口:连接系统内存与 EHCI 控制器,负责 DMA 传输。 2. 调度引擎:管理周期列表(中断/等时)与异步列表(控制/批量)的调度。 3. 端口路由逻辑:根据设备速度(HS/FS/LS)将事务路由到 EHCI 或 Companion 控制器。 4. 数据缓冲区:暂存传输数据,减少系统总线访问延迟。

1.4 EHCI 与 UHCI/OHCI 的对比

特性 EHCI UHCI (Intel) OHCI (Compaq/Microsoft)
支持速率 高速 (480 Mbps) 全速/低速 全速/低速
调度粒度 微帧 (125 µs) 帧 (1 ms) 帧 (1 ms)
数据结构 qTD + iTD/siTD TD + QH ED + TD
寄存器接口 MMIO + 系统总线 I/O 端口 MMIO
TT 支持 内嵌或外挂 Companion 无 无
批量传输调度 异步列表,基于 QH 轮询 异步列表,基于 TD 链 异步列表,基于 ED 链

1.5 EHCI 批量传输的调度模型

批量传输在 EHCI 中属于 异步传输,由 异步列表(Async List) 管理。调度引擎在每个微帧中轮询异步列表,执行挂起的批量事务。批量传输没有固定的带宽保证,但 EHCI 保证在 每微帧至少执行一个批量事务(如果存在挂起的批量请求)。

批量传输特点: 数据量大、无实时性要求、错误重试机制完善。在 EHCI 中,批量传输的优先级低于中断和等时传输,但高于控制传输(在异步列表中控制传输优先级最低)。

1.6 EHCI 寄存器空间概述

EHCI 控制器通过 MMIO(Memory-Mapped I/O) 暴露寄存器空间,主要寄存器分组如下:

  • CAPLENGTH / HCIVERSION:能力寄存器,标识控制器版本与能力。
  • USBCMD / USBSTS:命令与状态寄存器,控制运行/停止、复位、中断使能等。
  • FRINDEX / PERIODICLISTBASE / ASYNCLISTADDR:帧索引与列表基址寄存器,用于调度。
  • PORTSC (xN):端口状态与控制寄存器,管理端口连接、使能、复位、挂起等。
  • CONFIGFLAG:配置标志寄存器,用于端口路由配置。
批量传输配置关键寄存器: ASYNCLISTADDR 寄存器指向异步列表的基址,USBCMD 中的 ASE(Async Schedule Enable)位控制异步调度的启动与停止。

1.7 EHCI 批量传输的典型应用场景

应用场景 设备类型 批量传输特点
大容量存储 U 盘、移动硬盘 大数据块传输,BOT 协议,错误重试
网络适配器 USB 以太网卡 批量传输承载网络帧,延迟敏感
打印机 USB 打印机 批量输出,数据量大,无实时性
数据采集 USB 数据采集卡 批量输入,高吞吐,需保证不丢包
注意: 批量传输在 EHCI 中不保证延迟,但保证数据完整性。对于需要实时性的应用(如音频/视频),应使用中断或等时传输。