USB2.0协议详解:基础知识与枚举过程

需积分: 9 2 下载量 21 浏览量 更新于2024-07-25 收藏 1.49MB PDF 举报
"USB2.0协议概览,包括USB基础知识,USB框架,USB 2.0协议的内容,OHCI/UHCI/EHCI/xHCI的区别与联系,USB firmware,以及USB枚举的详细过程和OHCI的特点" USB(Universal Serial Bus)是一种通用串行总线标准,用于连接计算机系统和各种外设,如打印机、鼠标、键盘、存储设备等。USB 2.0是该标准的一个版本,发布于2000年,提供了高达480 Mbps的数据传输速率,相比前一代USB 1.1(12 Mbps)有了显著提升。 USB协议的基础知识包括以下几个方面: 1. **USB架构**:USB架构由主机(Host)、设备(Device)和集线器(Hub)三部分组成。主机控制整个USB系统,设备是USB上的功能单元,集线器则可以连接多个设备,扩展USB端口数量。 2. **版本与速度**:USB有多个版本,从USB 1.0到USB 4,速度依次提升。USB 2.0引入了High Speed模式,达到480 Mbps,USB 3.0进一步提升至5 Gbps,USB 3.1达到10 Gbps,而USB 4则支持最高40 Gbps。 3. **控制器接口**:OHCI(Open Host Controller Interface)、UHCI(Universal Host Controller Interface)、EHCI(Enhanced Host Controller Interface)和xHCI(Extensible Host Controller Interface)是USB的不同控制器接口规范。OHCI和UHCI主要用于USB 1.x,EHCI支持USB 2.0 High Speed模式,xHCI则是为USB 3.0及更高版本设计的,兼容所有USB速度等级。 - OHCI:主要针对USB 1.1,提供了一个开放的硬件平台接口。 - UHCI:由Intel开发,简化了OHCI的复杂性,同样适用于USB 1.1。 - EHCI:增加了高速模式支持,允许更快的数据传输。 - xHCI:引入了可扩展性,适应了USB 3.0及以后版本的高性能需求。 4. **USB firmware**:USB设备包含固件(Firmware),这是设备内部的软件,负责处理USB通信和设备特定的功能。固件通常存储在设备的EEPROM或闪存中。 5. **USB枚举**:枚举是USB设备连接到USB系统后进行初始化的过程,包括设备识别、配置选择和分配资源。这个过程中,设备会向主机发送设备描述符,主机根据这些信息决定如何与设备交互。 6. **OHCI特点**:OHCI规范允许第三方开发硬件控制器,以实现USB 1.1设备的兼容。它定义了主机控制器的行为,包括中断调度、端点管理和事务处理。OHCI接口支持同步和异步传输,但不支持USB 2.0的High Speed模式。 USB 2.0协议的内容主要涉及以下几点: - **帧结构**:USB 2.0数据传输基于微帧(microframe)和帧(frame)的概念,每个帧由8个微帧组成,每个微帧可以传输一个或多个数据包。 - **数据传输类型**:包括控制传输、批量传输、中断传输和同步传输,分别对应不同类型的I/O需求。 - **错误检测与恢复机制**:如CRC校验、重传策略等,确保数据的正确传输。 - **电源管理**:USB支持设备的低功耗模式,允许设备在不活动时节省电力。 了解USB 2.0协议对于理解USB设备的工作原理、开发USB驱动程序或者进行设备调试都是至关重要的。随着技术的发展,虽然USB 3.0及以上版本已经广泛应用,但USB 2.0仍然是许多设备的基础,对于理解和维护这些设备,掌握USB 2.0协议的相关知识至关重要。