认识USB 控制器¶
在Linux 内核中有一个比较复杂的驱动USB, 这里对基础的相关知识说明:
USB 控制器是负责管理和控制计算机与 USB 设备之间通信的硬件组件。不同的 USB 控制器标准对应着不同版本的 USB 技术,主要包括 OHCI、UHCI、EHCI 和 xHCI。每种控制器标准都在 USB 发展中扮演了重要角色。
1. OHCI (Open Host Controller Interface)¶
- 版本: USB 1.1
- 特点: OHCI 是由惠普和英特尔共同开发的接口标准,主要用于管理 USB 1.1 的低速和全速数据传输。
- 用途: 用于支持 USB 1.1 设备的控制器,能够处理主机到设备的中断和数据传输任务。
2. UHCI (Universal Host Controller Interface)¶
- 版本: USB 1.1
- 特点: UHCI 是由英特尔开发的接口标准,与 OHCI 类似,但它在处理方式和数据传输管理上有所不同。UHCI 更侧重于提供硬件抽象层和管理 USB 数据包的传输。
- 用途: 支持 USB 1.1 设备,提供对 USB 设备的低速和全速数据传输支持。
3. EHCI (Enhanced Host Controller Interface)¶
- 版本: USB 2.0
- 特点: EHCI 是为 USB 2.0 设计的接口标准,支持高达 480 Mbps 的高速数据传输。EHCI 控制器能够向下兼容 USB 1.1,处理 USB 2.0 设备的数据传输。
- 用途: 主要用于 USB 2.0 设备,提供比 USB 1.1 更高的数据传输速率,并管理高速数据传输。
4. xHCI (eXtensible Host Controller Interface)¶
- 版本: USB 3.0 及以上
- 特点: xHCI 是为 USB 3.0 和更新版本(如 USB 3.1 和 USB 3.2)设计的控制器标准,支持更高的数据传输速率(最高可达 5 Gbps 或更高),并向下兼容 USB 2.0 和 USB 1.1。
- 用途: 处理 USB 3.x 设备的高速数据传输,同时支持更高的带宽和更高的设备兼容性。
总结¶
- OHCI 和 UHCI 主要支持 USB 1.1 的全速和低速设备。
- EHCI 主要支持 USB 2.0 的高速设备。
- xHCI 支持 USB 3.x 的超高速设备,并且向下兼容 USB 2.0 和 1.1。
这些控制器标准定义了 USB 主机控制器如何与 USB 设备进行通信,以及如何处理数据传输和设备管理任务。每种标准在其发布时都推动了 USB 技术的发展,提升了数据传输速度和设备兼容性。