EHCI17 Mar 2025 | 6 分钟阅读 ![]() EHCI 代表增强型主机控制器接口 (Enhanced Host Controller Interface),它负责定义 USB 2.0 主机控制器的寄存器级接口。它规定了系统软件与控制器硬件之间的硬件和软件接口。 它充当控制器硬件与系统软件之间的桥梁。该规范是为系统构建者和系统驱动程序开发人员定义的。 要理解该规范,读者应该了解 USB 2.0 规范。提供的版本规范与 USB 2. 规范之间存在一些冲突。但如果发生任何冲突,USB 2.0 规范具有优先权。 读者必须熟悉通用串行总线规范,修订版 2.0。尽管已尽力仔细校对,但本规范与 USB 2.0 规范之间仍可能存在冲突。 USB 2.0 主机控制器配套的主机控制器可以是任何 USB 1.1 主机控制器。它可以是 OHCI 或 UHC。配套的主机控制器处理全速和低速 USB 设备。这些设备应连接到系统的根端口。cHCs 不了解高速模式主控制器的运行方式。 高速设备由 EHCI 主控制器维护和管理。它们可以包含在 USB 2.0 主控制器中而无需更改。当 eHC 被执行和配置时,主机控制器被指定为系统中所有根端口的所有者。 eHC 和主机控制器的驱动程序会查找所有连接的设备。它还包括可在每个端口寄存器中看到的额外控制位,这些寄存器处理路由逻辑。 如前所述,驱动程序的所有权主要归属于 eHC。当设备不是高速设备时,eHC 驱动程序会释放该设备的所有权。设备的控制被释放,所有权被分配给配套的主机控制器。 对于特定端口,枚举从初始连接点开始。连接到该点的设备在配套的主机控制器下进行枚举。否则,eHC 保留端口所有权。然后,枚举在 eHC 下进行。USB 2.0 规范未提供 UHCI 和 OHCI 的描述。它定义了 EHCI 的寄存器和调度接口。 增强型主机控制器接口提供的关键特性如下:
增强型主机控制器接口的通用架构![]() EHCI 中的调度接口为上面提到的每种传输类型都有单独的调度。EHCI 支持异步传输和周期性传输。EHCI 支持的周期性传输包括等时和中断传输,而 EHCI 支持的异步传输包括控制和批量传输类型。 周期性调度是一个基于时间的帧列表,类似于控制器项的时间滑动窗口。周期性调度促进了等时和中断传输这两种类型的周期性传输。异步调度是一个循环列表,其中的工作项对所有异步传输实现轮询服务。 软件还可以使用 EHCI 启动或停止任何调度。这允许软件通过 SOF 流量保持 USB 运行。当 EHCI 禁用两个调度时,控制器将无法访问计划空间。因此,当两个调度都禁用时,主机控制器无法访问主内存。这使得移动系统能够更好地利用 CPU 功耗。 EHCI 的内部架构增强型主机控制器接口定义了三个接口空间
EHCI 调度数据结构增强型主机控制器接口处理和控制中断、批量和控制传输类型。它使用一个简单的缓冲区来排队数据结构。 它使用队列数据结构来促进自动、有序的数据流传输。它允许软件异步地将数据缓冲区添加到队列中,从而保持连续流。USB 定义的短包语义在所有处理边界条件下都得到支持。这不需要软件进行任何额外的干预。 拆分事务用于全速和低速非等时传输。拆分事务被视为高速模型的简单扩展。相同的数据结构也处理它们。用户界面数据结构控制全速和高速等时传输。 根集线器模拟主机控制器必须使用端口集线器。操作寄存器空间包含端口寄存器,其中包含处理 USB 规范中每个端口寄存器所需的最低硬件状态和控制。 主机控制器遍历 EHCI 调度并遇到工作项。这导致主机控制器实现 USB 事务。 事务与所有已启用并连接到下游 USB 设备的根端口共享。端口寄存器提供控制和状态报告,以根据 USB 规范操作端口。 下一主题缓存内存和虚拟内存 |
我们请求您订阅我们的新闻通讯以获取最新更新。