第一节课先介绍基本概念:
15.1USB协议概述 15.1.1 USB 通信基础 USB通信基础主要涉及到 USB 系统组成、USB架构、USB 物理接口、USB编码方式、USB总线状态、USB速度和 USB电源。 1.USB 系统组成 USB系统分为USB主机和USB设备。 USB主机:提供USB接口和接口管理功能的硬件、软件、固件的复合体。PC机或OTG设备,系统中只能有一个主机,并且与设备进行的通信是从主机的角度进行的。例如,主机从设备接收数据为IN类型,主机发送数据给设备为OUT类型。USB主机的硬件主要包括USB主控制器和 USB 根集线器。 USB设备:1.集线器HUB:扩展主机接口,设备可以通过其接入主机 2.功能设备,如U盘,USB 摄像头,HID 键盘鼠标等。 物理连接:即USB电缆,USB使用差分信号传输数据,USB全速/高速模式电缆必须外层屏蔽铜质传输线,且差分数据线双绞。一条 USB 的传输线分别由地线、电源线、D+、D-四条线构成,其中D+、D-是差分输入线,使用的电压为3.3V,而电源线与地线可向设备提供5V电压,最大电流 500mA。 2.USB 架构 (1)USB 主控制器 USB 主控制器是USB主机上的控件,USB主控制器是具有软件驱动器层的硬件芯片组,用于执行以下任务:检测USB设备的插入和拔出、管理主机和设备间的数据流、提供并管理所连接设备的电源、监视总线上的活动。主机可以有一个或多个主控制器。通过使用外部USB集线器,每个控制器最多可以连接127个设备。具体为以下几种主控制器。 OHCI(open host controller interface)是支持USB1.1的标准,但它不仅仅是针对USB,还支持其他的一些接口,如Apple的火线(firewire,IEEE1394)接口。与UHCI相比,OHCI的硬件复杂,硬件做的事情更多,所以实现对应软件驱动的任务,相对较简单。主要用于非X86的USB,如扩展卡、嵌入式开发板的USB主控。 UHCI(universal host controller interface),是Intel主导的对USB1.0,1.1的接口标准,与OHCI 不兼容。UHCI的软件驱动的任务重,需要做得比较复杂,但可以使用较便宜、较简单的硬件 USB 控制器。Intel和VIA使用UHCI,而其余的硬件提供商使用OHCI。 EHCI(enhanced host controller interface),是Intel 主导的 USB2.0的接口标准。EHCI 仅提供 USB2.0的高速功能,而依靠 UHCI或 OHCI来提供对全速(full-speed)或低速(low-speed) 设备的支持。 xHCI(eXtensible host controller interface),USB3.0 的接口标准,它在速度、节能、虚拟化等方面都比前面3种有了较大的提高。xHCI支持所有种类速度的USB设备(USB 3.0 Super- Speed,USB 2.0 Low-,Full-,and High-speed,USB 1.1Low-and Full-speed)。xHCI 的目的是为了替换前面 3种 USB 主控制器(UHCI/OHCI/EHCI)。 (2)USB 拓扑结构
USB系统包括一台主机(一般是一台个人计算机(PC))和多个通过分层星形拓扑连接的外围设备。该拓扑也可以包括集线器,从而能够提供更多与 USB系统的连接点。主机本身包含两个组件,即主控制器和根集线器。
|