上传者: crifan
|
上传时间: 2026-05-09 22:56:47
|
文件大小: 1.47MB
|
文件类型: PDF
本文主要介绍了USB协议的基础知识,包括USB协议的来龙去脉,OHCI/UHCI/EHCI/xHCI之间的区别和联系,USB的firmware,以及USB 2.0协议的概览,USB的枚举的详细过程,OHCI的一些特点
### USB基础知识概论
#### 1. USB的来龙去脉
##### 1.1. USB是什么
USB(Universal Serial Bus)即通用串行总线,是一种常用的接口标准和技术规范,用于规范计算机与外部设备之间的连接和通信。USB的设计目标是简化外设连接方式、提高数据传输速度并支持热插拔功能。
自1996年首次推出以来,USB已经历了多个版本的迭代升级。最初的USB 1.0版本于1996年发布,随后在1998年推出了USB 1.1版本,极大地提升了数据传输速率。2000年,USB 2.0规格正式公布,进一步提高了传输速度,达到了480Mbps,这标志着USB技术进入了高速发展阶段。
##### 1.2. 为何要有USB
USB的出现解决了传统计算机接口存在的诸多问题,比如复杂的接线方式、有限的端口数量以及缺乏热插拔功能等。USB接口可以轻松地将各种外设(如鼠标、键盘、打印机、存储设备等)连接到计算机上,并且支持即插即用和热插拔功能,极大地提高了用户使用的便捷性和灵活性。
#### 2. USB相关的基础知识
##### 2.1. USB相关的硬件
USB系统的硬件组件主要包括主机(Host)、集线器(Hub)和设备(Device)三大部分。
**2.1.1. USB控制器类型:OHCI,UHCI,EHCI,xHCI**
**2.1.1.1. OHCI和UHCI**
OHCI(Open Host Controller Interface)和UHCI(Universal Host Controller Interface)是两种早期的USB控制器接口规范,它们分别由Intel和其他公司开发。
**2.1.1.1.1. 为何Intel设计的UHCI把更多的任务都留给软件实现?**
UHCI是由Intel在1996年推出的一种USB控制器接口,它之所以将更多任务交给软件处理,主要是为了简化硬件设计并降低成本。通过让操作系统承担更多处理工作,可以在一定程度上降低硬件复杂度,使得UHCI控制器更容易被集成到主板或芯片组中。
**2.1.1.1.2. 为何嵌入式系统中的USB主控多用OHCI,而非UHCI?**
OHCI相对于UHCI具有更好的性能和更高的兼容性。此外,OHCI支持更多的特性,如支持USB 1.1规范的全部功能。对于资源有限的嵌入式系统来说,OHCI能够提供更稳定的工作环境,因此在嵌入式领域得到了广泛的应用。
**2.1.1.1.3. OHCI和UHCI技术细节上的区别**
OHCI与UHCI的主要区别在于其支持的功能不同。OHCI除了支持USB 1.1的所有特性外,还支持USB设备的热插拔功能,并且提供了更为灵活的编程模型。相比之下,UHCI只支持基本的USB 1.1功能,且对软件的支持相对较少。
**2.1.1.2. EHCI**
EHCI(Enhanced Host Controller Interface)是在USB 2.0规范中引入的,它是针对USB 2.0高速模式(High Speed,最高传输速率为480Mbps)设计的控制器接口。EHCI在保持向下兼容性的同时,提供了对高速数据传输的支持。
**2.1.1.3. xHCI**
xHCI(eXtensible Host Controller Interface)则是随着USB 3.0规范的推出而出现的新一代控制器接口。xHCI旨在支持USB 3.0规范带来的更高带宽需求,同时保持对旧版本USB设备的支持。相比于之前的USB控制器接口,xHCI拥有更加现代化的设计,支持更高效的数据传输机制,并具备更强的可扩展性。
总结来说,从UHCI到OHCI再到EHCI和xHCI,每个阶段的USB控制器接口都随着技术进步不断演进,以满足日益增长的数据传输需求和更复杂的使用场景。这些控制器的不同特性也反映了USB技术发展的轨迹及其对现代计算环境的影响。