《微机原理与接口技术——USB总线.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术——USB总线.docx(15页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术USB总线摘要:USB设备是微机外设的发展趋势,这里论述了 USB总线的概念, 工作原理,传输方式USB以惊人的速度发展,和它的自身优点离不 开。关键词:USB背景,工作原理,传输方式,USB应用一、概述为通用串行总线,USB接口位于PS/2接口和串并口之间,允许 外设在开机状态下热插拔,最多可串接下来127个外设,传输速率可 达480Mb/S,P它可以向低压设备提供5伏电源,同时可以减少PC机 I/O接口数量。通用串行总线 USB(universal serial bus)是由 Intel、Compaq、 Digital、IBM、Microsoft、NEC、Northern
2、 Telecom 等 7 家世界著 名的计算机和通信公司共同推出的一种新型接口标准。它基于通用连 接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展 PC连接外设范围的目的。它可以为外设提供电源,而不像普通的使 用串、并口的设备需要单独的供电系统。另外,快速是USB技术的突 出特点之一,USB的最高传输率可达12Mbps比串口快100倍,比并 口快近10倍,而且USB还能支持多媒体。二、USB的开发背景其开发的背景源于以下这些实际的需要:USB出现前,计算机的 外接规格十分混乱,如键盘要接AT规格的接孔,鼠标要接COM 口或 PS/2借口,Modem要接另一 COM 口,打印机要接P
3、arallel Port,每 个周边外设都是单独与计算机连接,导致线路紊乱,安装时容易混淆 接口。统一这些接口,简化计算机体系结构,这正是USB要解决的一 个问题。随着PC的广泛应用,其外设也越来越多,打印机、鼠标、扫描 仪、游戏杆、音箱.。每个外设都需要通过一个接口与PC相连。外设多了,PC 的接口自然也就不够用了。在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽。PC插槽就那么几个,要是采集点多了怎么办呢?PC外设安装过程中比较麻烦的另一件事情是在加减设备时,必须关掉电源,加 减设备完成之后再从新启动机器。对于板卡式的外设就更加麻烦了
4、, 不得不打开机箱,弄得满头大汗,一不小心,汗水滴到主板上,机器 就死翘翘了。USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC 通过USB端口最多可以接127个外设!把您所有的东西全接上来吧, 没问题!还有,USB完全是PNP的,在第一次安装完成以后,加减设 备只需要拔出或插上USB插头就一切OK 了,不必理会机器是开还是 关,就这么简单。可不要因为慢得象蜗牛的232而联想到串行就代表 慢OUSB有快速和慢速工作方式,传输速率分别为12Mbps和1.5Mbps, 比232快了不知道多少倍。三、USB的变革至目前为止,USB共经历以下几次重大变革:0.7版本于1994年11月11日发
5、布。是USB的最早版本。1.0版本于1995年11月13日制定发布了,规定USB具有2种传输 速度 Low-speed 1.5Mb/s, Full-speed 12Mb/s。1.1版本于1998年9月23日制定了 1.1规格版本,速度不变。2.0 (草案)版本于1999年10月5日发布。制定7High-speed的概 念,规格。2.0版本于2000年4月27日发布。四、USB系统拓扑结构和USB设备逻辑结构对于每个USB系统来说,都有一个称为HOST控制器的设备,该 Host控制器和一个根HUB作为一个整体。这个根HUB下可以接多级 HUB,每个HUB又可以接子HUB。每个USB设备作为一个节
6、点接在不 同级别的HUB上。每条USB总线上最多可以接127个设备。USB主控制器:负责处理主机与设备之间的电气和协议层的互联。常见的USB主控制器规格有:OHCI:只要是非PC系统上的USB芯片UHCI: USB1.1 规格EHCI:兼容上面种规格,遵循USB2.0规范每个USB HUB控制器都会自带一个USB HUB,被称为根HUB。这 个根HUB可以接子HUB,每个HUB上挂载USB设备。通过外接USB HUB, 可以插更多的USB设备。当USB设备插入到USB HUB或从上面拔出时, 都会发出电信号通知系统。USB设备就是插在USB总线上工作的设备,广义的讲USB HUB也 算是USB
7、设备。有的USB设备功能单一,直接挂载在USB HUB 上。而 有的USB设备功能复杂,会将多个USB功能结合在一起,称为一个复 合设备。USB设备逻辑结构在USB设备的逻辑组织中,包含设备,配置,接口,端点4个层 次。设备通常有一个或多个配置,配置通常有一个或多个接口,接口 有零或多个端点。每个USB设备都可以包含一个或多个配置,不同的配置使设备表 现出不同的功能组合(在探测,连接期间需从其中选定一个),配置 由多个接口组成。在usb协议中,接口由多个端点组成,代表一个基 本的功能,是USB设备驱动程序控制的对象,一个功能复杂的USB设 备可以具有多个接口,而接口是端点的汇集例子 一个USB
8、播放器带有音频,视频功能,还有旋钮和按钮配置1音频(接口)+旋钮(接口)配置2视频(接口)+音频(接口)+按钮(接口)每个接口对应需要一个驱动程序USB设备中的唯一可寻址部分是设备的端点。它是位于USB设备 或主机上的一个数据缓冲区,用来存放和发送USB的各种数据。主机 和设备的通信最终作用于设备上的各个端点,它是主机与设备间通信 流的一个逻辑终端每个USB设备有一个唯一的地址,这个地址是在设备连上主机时,由 主机分配的,而设备中的每个端点在设备内部有唯一的端点号,这个 端点号是在设计设备时给定的。每个端点都是一个简单的连接点,或 者支持数据流进设备,或者支持其流出设备,两者不可兼得。基于Pn
9、P机制,设备被枚举时,它必须向主机报告各个端点的特 性,包括端点号,通信方向,端点支持的最大包大小,带宽要求等(其 中端点支持的最大包大小叫做数据有效负载)。每个设备必须有端点 0,它用于设备枚举和对设备进行一些基本的控制功能。除了端点0, 其余的端点在设备配置之前不能与主机通信,只有向主机报告这些端 点的特性并被确认后才能被激活。五. USB的特点1. USB为所有的USB外设提供了单一的、易于操作的标准的连 接类型。2. USB整个的系统只有一个端口和一个中。3. USB支持热插拔(hot plug)。4. USB 支持 PNPO5. USB在设备供电方面提供了灵活性。6. USB提供全速
10、12Mbps的速率和低速1.5Mbps的速率来适应各 种不同类型的外设;USB2.0还支持480Mbps的高速传输速率。7. USB2.0的High-speed模式支持音频和视频设备,可以保证 其固定带宽。8. 为了适应各种不同类型外围设备的要求USB提供了四种不同 的数据传输类型:控制传输,Bulk数据传输,中断数据传输,同步 数据传输。同步数据传输可为音频和视频等实时设备的实时数据传输 提供固定带宽。9. USB的端口具有很灵活的扩展性。一个USB端口串接上一个 USB Hub就可以扩展为多个USB端口。规范中说,USB可以扩展到127 个外设端口。六、USB工作原理1、NRZI编码NRZ
11、-I编码中,编码后电平只有正负电平之分,没有零电平,是 不归零编码。如下图所示,NRZ-I电平的一次翻转来表示Data电平 的逻辑0,与前一个NRZ-I电平相同的电平表示Data电平的逻辑1(翻转代表0,不变代表1)。NRZ-I编码信号经过反向后,还原的内 容不变。典型应用如USB传输。01101010 0 0 1Idle反转) 1反转1反转)1反转反,净反W,Idle |数据序列NRZ12、分组传送USB技术和IP技术一样,都是基于分组传送方式的。对USB总 线来讲,当要传送一个文件时,程序按照USB协议,首先把数据分成 若干块,然后在每块数据前面添上同步信号、包标识,后面添上CRC 校验,
12、就形成了 USB封包。一个文件可能可能有多个封包。全速USB 总线把1毫秒作为一个时间帧,总线在一个帧内依次传送不同文件的 封包。因此从宏观上,就仿佛总线同时对不同的USB外设进行数据传 送。3、USB封包根据信息包所实现的功能可分为3种类型:令牌包、数据包和握 手包。(1) 令牌封包由于USB的数据交易是由PC主机端所激活的,所以在每一个数 据交易中,必须以下列的5个数据域所组合而成的令牌封包作为起始,并执行通信协议的前导工作。一个令牌封包含盖了 5个数据域SYNC、PID、ADDR、ENDP 与 CRC5。这即是 54233 的第 1 个数字:5。如下所列为其令牌封包的各个组成的数据域。8
13、位8位7位4位5位SYNCPIDPIDADDRENDPCRC5令牌封包的PID数据域(PID 1: 0 = 0, 1)中包含了 OUT、 IN、SETUP这3种PID类型名称。也就是包含了 OUT令牌封包、IN令 牌封包以及SETUP令牌封包。例如,在执行控制传输主机要通过预设 的地址取得设备描述符(Get Descriptor),就必须先执行下的SETUP 令牌封包,作为每一次控制传输的开始,其中,PID栏变成SETUP的 PID类型名称(0xB4)IN令牌封包,则是主机用来通知设备,将要 执行数据输入的工作。而OUT令牌封包则刚好相反。令牌包定义了数据传送的类型。比如图所示。Data Pa
14、cket(2)数据封包在USB接口中,主机执行了总线的管理、数据传输以及设各对主 机所提出的要求命令作出响应的动作。这些所要传输的数据与要求命 令是什么呢?因此,必须通过数据封包来执行这项工作。而由SETUP、IN与OUT令牌封包所起始的数据传输,将会以DATAO、 DATA1、DATA2与MDATA封包来加以实现。一个数据封包含了 4个数 据域:SYNC、PID、DATA与CRC16。各个字段的意义之前已有介绍过。 这即是54233的第2个数字:4。在这里,要稍微注意的是DATA字段 内所放置的位值,须根据USB设各的传输设备(低速、高速与全速) 以及传输类型(中断传输、批量传输与等时传输)
15、而定,且须以所设 置的MaxPackSize字节为基本单位。也即是,若传输的数据不足 MaxPackSize字节,或是传输到最后所剩余的也不足MaxPackSize字 节,则仍须传输MaxPackSize个字节的数据域。列出由4个数据域所组合而成的数据封包。8位8位01 023 位16位SYNCPWPIDDATACRC16数据封包的PID数据域(PID 1:0 = 1: 1)包含了4种类 型:DATA0、DATA1、DATA2与MDATA。而根据USB规范,最初的数据 封包都以DATA0作为开始,其后才是DATA1,然后依此方式交替切换。 这个动作称之为数据紧密连接(data toggle)。
16、这个动作有点类似将 数据紧密连接。如此就可确保整个传输过程中,主机能与设各维持同 步,且作为帧错之用。例如,如果两个连续的DATA0被接收到的话, 意味着DATA1封包被遗漏掉,并产生了错误的状况。而DATA2与MDATA, 则仅适用于高速的等时传输。(3) 握手封包握手封包是最简单的封包类型。在这个握手封包中,仅包含一个 PID数据域。它的格式如下所列,仅包含SYNC与PID两个数据域, 这即是54233的第3个数字:2。8位8位SYNC PID PID握手封包的PID数据域(PID1:0 = 1:0)中包含7ACK、 NAK、STALL与NYET这4种PID类型名称。也就是含有ACK、NA
17、K、STALL 与NYET握手封包。七、USB传输方式1、USB的四种传输方式(1) 同步(isochronous)方式传输 同步传输提供了确定的带宽 和间隔时间,以固定的传输速率连续不断地在主机与USB设备之间 传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续 传送新的数据,它被用于时间严格并具有较强容错性的流数据传输或 者用于要求恒定的数据传输率的即时应用中。(2) 中断传输方式(Interrupt)该方式传送的数据量很小,但这 些数据需要及时处理,以达到实时效果。此方式主要用于定时查询设 备是否有中断数据要传输。(3) 控制传输方式(Control)控制传输是双向传输,数
18、据量通 常较小,用来处理主机到USB设备的数据传输。包括设备控制指令、 设备状态查询及确认命令。(4) 批(Bulk)传输方式 主要应用在数据大量传输和接受数据 上,同时又没有带宽和间隔时间要求的情况下,要求保证传输正确无 误的数据。2、USB设备类型设备类型(device class)谀备举例类翠常 ut(Classamam)audio)扬邮USB DLV1CI: CLASS AUDIOas信MODEMU SB_DEC【CE_CL A$S_COMM U NICATIONSIUD椎盘、鼠栋USB DEVI(K CLASSIUMAN_INTERFACE图像摄相机.括描仪USB DEVICE CL
19、ASS IMAGE监视器USB DEVICE CLASS MONITOR物理回应设备动力回饿式沸双操纵FUSB DEVICE CLASS PHYSICAL INTERFACE电源不间帮电*供应USB DEVICECLASS POWER打印机USB_DEVICE_CLASS_PRlN*n:RBulk存储器硬盘USB DEVICE CLASS STORAGEhubUSB D:VK1 CLASS HUB八、USB设备列举在USB规范中有一个非常重要的“动作”或“过程”。这个动作将会让PC机知道何种USB设备刚接上以及其所含的各种信息。这样, PC机就可以与这个USB设备开始进行数据传输的工作了。这个动作 称之为设备列举(enumeration)。1、USB描述符在设备列举过程中,USB设备向主机传送了一个重要的信息,使 主机知道了这个设备是“谁”,并启动了该设备的驱动程序。这个信 息就是USB描述符2、设备列举设备列举包含两方面的功能,一是主机搜集USB设备的信息,也 就是USB描述符。另一个是主机根据USB描述符对设备进行配置,比 如USB设备地址设置,USB设备各端点数据传输方式设置。泡泡网PQPOP.GOM参考文献:彭彪.微机原理与接口技术.北京:电子工业出版社,2011