USB简单介绍
文章转载至USB基础知识总结
如有侵权,请联系删除
USB基本概念介绍
USB (Universal Serial Bus,通用串行总线)是1995年英特尔和微软等公司联合倡导发起的一种新的PC串行通信协议。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展 PC 连接外设范围的目的。其最大特点是支持热插拔和即插即用。最多可串接下127 个外设,它可以向低压设备提供5 伏电源,同时可以减少 PC 机 I/O 接口数量。USB出现之前,计算机领域中的接口太多太繁杂,USB出现之后减少了接口的种类,总的来说就是设计出了一个万能的接口,各种外设都能用同一种接口
USB常用术语
在进行USB系统开发之前,有必要了解USB开发中可能遇到的一些常用术语,USB系统开发分为USB主机开发和USB设备开发。在一个USB系统中,某一个时刻只有一个USB主机,其余均为USB设备,但是为了让一个USB系统既有USB主机功能,又有USB从机功能,便出现了USB OTG。因此USB开发主要包括USB主机、USB设备、USB OTG系统开发。
USB Host(USB主机):在任何一个USB系统中只有一个USB主机,主机就是USB总线中作主设备角色的设备, 负责管理USB总线中的数据传输及端口管理。USB和主机系统的接口称为主机控制器。比如一个U盘(USB大容量储存设备)和PC通讯, PC在这里就是USB Host
USB Device(USB设备):USB主机的下行设备,在USB总线中作从设备角色的设备,为系统提供具体功能,USB主机最多可以支持127个USB设备。
USB OTG:OTG就是On The Go,正在进行中的意思
逻辑设备:逻辑设备就是一系列端点的组合,逻辑设备与主机之间的通信发生在一个主机的缓冲区和设备的一个端点之间。
USB Hub(USB集线器):USB Hub可以将一个USB口转换为多个,扩展USB主机所能连接设备的数量,USB Host带有Root Hub,第一个USB设备是一个根集线器(Root_hub)它控制连接到其上的整个USB总线,该控制器是连接PCI总线和USB总线的桥,也是该总线上的第一个USB设备,USB Hub对于上游而言是一个USB Device, 对于下游而言扮演USB Host, 所以USB设备本身不知道自己连接在Hub还是Root Hub上。
PIPE:usb通信的最基本形式是通过USB设备里的endpoint,而主机和endpoit之间的数据传输就是通过pipe。
端点:主机与设备之间通信的目的或来源。端点是有方向的,主机到从机成为out端点,从机到主机成为in端点。控制端点可以双向传输数据,而其他端点只能在单方向上传输数据。主机和设备的通信最终作用于设备的各个端点上,是主机和设备间通信流的一个 逻辑终端,每个USB设备有一个唯一的地址,由主机分配,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设计设备时给定的。每个设备必须有端点0,用于设备枚举和对设备进行一些基本的控制功能,除了端点0,其余的端点在设备配置之前不能与主机通信,只有向主机报告这些端点的特性并被确认后才能被激活,端点位于USB系统内部,是一个可寻址的FIFO空间,类似于高速公路收费口的入口或出口,一个端点地对应一个方向。
管道通信方式:pipe中的数据通信方式有两种,一种是stream,一种是message。message要求进出方向必须要求同一个管道,默认就使用ep0作为message管道。
传输方式:USB endpiont有四种类型,分别对应了不同的数据传输方式,分别为control transfers控制传输、interrupt transfers中断传输、Bluk Data transfers批量传输、Isochronous Data Tranfers等时传输,控制传输通常用于配置设备,获取设备信息,发送命令到设备。
接口:一个逻辑设备可能包含若干个接口,每个接口包含1个或多个端点。每个接口表示一种功能。一个接口对应一个驱动程序。例如usb扬声器就包含一个键盘接口和一个音频流接口。
Class协议:USB协议中除了定义一些通用软硬件电气特性,还包含各种各样的class协议,用来为不同的功能定义各自的标准接口和具体总线上的数据交互内容和格式。例如u盘的Mass storage class、通用数据交换CDC class。
USB协议版本

USB的电气特性
USB 连接器包含四条线:2 条用于电源供电( VBUS 和 GND),2 条用于 USB 数据传输D+ (USB数据正信号线,USB Data Positive,即USB-DP线,简写为D+)和D-(USB数据负信号线,USB Data Minus, 即USB-DM线,简写为D-)。VBUS 提供 5V 电源,电流可达 500mA。D+ 和 D- 为双向信号线,信号传输速率为 12Mbps (每位 83ns)。D+ 和 D- 信号电平为 3.3V 。

USB OTG 接口中有 5 条线:2条用来传送数据(D+ 、D-); 1 条是电源线(VBUS); 1 条则是接地线(GND)、1 条是 ID 线
USB信号使用分别标记为D+和D-的双绞线传输,它们各自使用半双工的差分信号并协同工作,以抵消长导线的电磁干扰
USB硬件接口


USB的特点
- 可以热插拔,即插即用
- 携带方便,USB 设备大多以“小、轻、薄”见长
- 标准统一大家常见的是 IDE 接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了 USB 之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了 USB 硬盘、USB 鼠标、USB 打印机等等
- 可以连接多个设备。USB 在个人电脑上往往具有多个接口,可以同时连接几个设备,如果接上一个有四个端口的 USB HUB 时,就可以再连上;四个 USB 设备,以此类推(注:最高可连接至 127 个设备)
USB的拓扑结构
USB 的总线结构是采用阶梯式星形(tiered star)的拓扑(topology)结构,如下图所示。每一个星形的中心是集线器,而每一个设备可以通过集线器上的接口来加以连接。从图中可以看到 USB 的设备包含了两种类型:USB 集线器与USB 设备。位于最顶端的就是Host(主机端)。从 Host 的联机往下连接至 Hub(集线器),再由集线器按阶梯式以一层或一阶的方式往下扩展出去,连接在下一层的设备或另一个集线器上。事实上,集线器也可视为一种设备。而其中最大层数为 6 层((包括最后一级设备后共7层))。每一个星形的外接点的数目可加以变化,一般集线器具有 2、4 或 7 个接口。
USB 的拓扑体系由 3 种元素组成 :主机(Root Hub与USB 主机控制器是绑定在一起的)、Hub 和设备。在 PC 平台上的 USB 中,PC 就是主机和根 Hub,用户可以将设备和下级 Hub 与之连接。而这些附加的 Hub 又可以连接更下一级的 Hub 和设备,从而构成了星形结构。

图中的Hub 是一类特殊的 USB 设备,它是一组 USB 的连接点,主机中有一个被嵌入的 Hub 叫根 Hub(root Hub)。主机通过根 Hub 提供若干个连接点。为了防止环状连接,采用星形连接来体现层次性。USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接。
USB总线的总体结构
整个USB 总线可以分为 3 个部分进行描述:USB 连接、USB 设备、USB 主机
USB 主机
在 USB 总线中只有一个主机。USB 总线与计算机主机系统的接口部分就是主机控制器,它可被看做一个硬件、固件和软件的结合体。主机系统中集成了一个根 hub 来提供一个或多个连接点。
USB 设备
首先 USB 设备可被分为两大类:hub 类(提供附加 USB 接入点的设备)和功能设备类(为系统实现某些功能的设备,如 ISDN 适配器、数字游戏杆等)。按照功能,USB 设备又可分为很多类,如:音频、人机交互、显示、通信、 电源、打印机、海量存储、物理反馈等设备。
USB 连接
USB 连接是指 USB 主机和 USB 设备的通信方式与方法,包括:总线拓扑(USB主机和设备之间的连接方式)、层内关系(USB总线每一层中的任务);数据流模式(数据在USB总线上的流动方式);USB 调度( USB 提供一个共享的服从调度的互连)
USB 设备是通过 USB 总线连接到 USB 主机上的。USB总线上的物理连接是一个分层的星形拓扑。处于每个星形拓扑中央的是 hub(USB 集线器)。在主机和一个hub或者一个应用之间以及在 hub 和其它 hub 或应用之间都是一个点对点的连接。
USB传输方式
USB endpiont有四种类型,分别对应了不同的数据传输方式,分别为control transfers控制传输、interrupt transfers中断传输、Bluk Data transfers批量传输、Isochronous Data Tranfers等时传输。

浙公网安备 33010602011771号