跳转至

认识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 设备的高速数据传输,同时支持更高的带宽和更高的设备兼容性。

总结

  • OHCIUHCI 主要支持 USB 1.1 的全速和低速设备。
  • EHCI 主要支持 USB 2.0 的高速设备。
  • xHCI 支持 USB 3.x 的超高速设备,并且向下兼容 USB 2.0 和 1.1。

这些控制器标准定义了 USB 主机控制器如何与 USB 设备进行通信,以及如何处理数据传输和设备管理任务。每种标准在其发布时都推动了 USB 技术的发展,提升了数据传输速度和设备兼容性。