USB基础认知

29次阅读

共计 2075 个字符,预计需要花费 6 分钟才能阅读完成。

OHCI/UHCI/EHCI/xHCI

OHCI 和 UHCI

  • OHCI,Open Host Controller Interface,创立者是 Compaq,Microsoft 和 National Semiconductor。
  • UHCI,Universal Host Controller Interface,创立者是 Intel。

虽然都是实现了 USB1.1 协议规范,但是在功能划分上,OHCI 更多地把要做的事情,用硬件来实现,因此,实现 OHCI 的 USB 控制器的软件驱动的开发工作,相对要容易些,软件要做的事情,相对较少。对应地,OHCI 更多地应用在扩展卡,尤其是嵌入式领域中,常见的很多开发板中的 USB 的控制器,很多都是 OHCI 的。而 UHCI 把更多的功能,留给了软件,相对来说,软件做的事情,即负担要重些。但是实现对应的 UHCI 的硬件的 USB 控制器,价格上,就相对便宜些。对应地,UHCI 更多地应用在 PC 机中的主板上的 USB 控制器。

EHCI

  • EHCI,Enhanced Host Controller Interface。

简单说就是,EHCI 定义了 USB 2.0 的主机控制器的规范,定义了 USB 2.0 的主控,需要包括哪些硬件实现,需要实现哪些功能,其也对应着对应的系统软件,所面对的是哪些接口。

xHCI

  • xHCI,Extensible Host Controller Interface

同 EHCI 是针对 USB 2.0 类似,xHCI 是针对的 USB 3.0 规范。也是定义了 USB 3.0 主控需要如何实现,需要包含哪些功能,也是提供了寄存器级别的定义。

USB 的接口(connector)类型

由于 USB 的产生就是为了支持众多种应用的,而由于各种应用中,对于硬件接口的大小也有一些限制,比如有些小型设备或者移动式设备中,接口不能太大等,所以而设计出多种类型的接口,用于不同的应用。
在介绍插头和插座之前,先多解释一下,基本的叫法。
插头,plug,对应的也叫公口,即插别人的;
插座,receptacle,对应也叫做母口,即被插的;

USB 的接口类型,根据接口形状不同,主要可以分为三大类:

  1. 普通的硬件直接叫做 Type
  2. 然后有小型版本的叫 Mini 迷你的
  3. 和更加小的,叫做 Micro 微小的

其中每一种大类中,又都可以分为两类

  1. A 类(Type A)
  2. B 类(Type B)
  3. C 类(Type C)?

USB 2.0 协议的内容组成

1.【介绍】介绍了为何要有 USB 以及 USB 协议内容的涵盖范围。
2.【术语和缩写】名词解释,一般的协议都会有这一章节的。
3.【背景】说明了 USB 的来由,以及目的是为了是 USB 的用户,注意不是为了是 USB 的开发者,更加容易使用。介绍了 Low,Full,High Speed 三种不同的速度以及对应的应用领域。
4.【系统架构综述】此章介绍了 USB 系统的基本架构,包括拓扑关系,数据速度,数据流类型,基本的电气规范。
5.【USB 数据流模型】此章开始介绍 USB 中数据是如何流向的。其先介绍了端点和管道,然后对控制,中断,等时,批量四种传输类型进行了详细阐述。其中,重要的一点是,要搞懂每种传输类型,当然,这对于初学者来说可能会有那么一点难。
6.【机械】: 此章详细介绍了 USB 的两种标准的连接头,即接口的类型,其中需要了解的一点是,A 类接口旨在用于数据向下流的(downstream),而 B 类接口旨在用于数据向上流的(upstream)。因此,你应该知道,不应该也不可能去将一个 USB 线,连到两个都是 upstream 的端口上。而所有的 full 或 high speed 的 USB 线,都是可拔插的,而低速的 USB 线,应该是焊死的。如果你不是 USB 接口的制造商,那么就没必要细看这章,而只需要大概浏览一下其中关于 USB 的接口类型的相关内容即可。
7.【电子】此章详解了 USB 总线上的电子信号,包括线阻,上下沿的时间,驱动者和接受者的规范定义,以及比特位编码,比特位填充等。此章中需要知道的,更重要的一点是,关于使用电阻在数据线上的偏压,去实现 USB 设备的速度类型检测,以及设备是总线供电还是自供电。除非你是在晶元级别上设计 USB 数据收发模块的相关人士,否则都可以直接跳过此章节。而正常的 USB 设备的数据手册中,都会有相关的解释,说明关于 USB 总线阻抗需要匹配电阻的阻值是多少。
8.【协议层】此章,从字节的级别,解释了 USB 数据包的细节,包括了同步,PID,地址,端点,CRC 域。
9.【USB 设备框架工作】此章详细阐述了 USB 总线枚举的过程,以及一些 USB Request 的详细语法和含义,比如 set address,get descriptor 等,这些相关内容在一起,就构成了最常用的 USB 的协议层,也是通常 USB 编程人员和开发者所看到的这一层。
10.【USB 主机的硬件和软件】此章介绍了和 USB Host 相关的知识。包括了数据帧 frame 和微帧 microframe 的产生,主机控制器的需求,软件机制和 USB 的驱动模型等。
11.【Hub 规范】此章定义了 USB Hub 相关的规范,包括了 Hub 的配置,分离传输,Hub 类的标准描述符等。

USB 3.0 协议的内容组成

待定

正文完
 0