您好,欢迎访问三七文档
USB总线简介USB将取代当前PC上的串口和并口。文件大小:1744字节传输速率可达480MB/S,P它可以向低压设备提供5伏电源,同时可以减少PC机I/O接口数量。USB总线简介USB(UniversalSerialBus)是1995年Microsoft,Compaq,IBM等公司联合制定的一种新的PC串行通信协议.USB协议出台后得到各PC厂商,芯片制造商和PC外设厂商的广泛支持.USB本身也处于不断的发展和完善中,从当初的0.7,0.8到现在广泛采用的1.0,1.1版本到即将被采用的2.0版本.USB外设在国外以惊人的速度发展,迄今为止,各种USB的外设已经有上千种.那么,USB为什么如此受亲睐呢这要从它自身所具有的很多优点谈起.1.PC为什么急需USB随着PC的广泛应用,其外设也越来越多,打印机,鼠标,扫描仪,游戏杆,音箱....每个外设都需要通过一个接口与PC相连.外设多了,PC的接口自然也就不够用了.在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽.PC插槽就那么几个,要是采集点多了怎么办呢PC外设安装过程中比较麻烦的另一件事情是在加减设备时,必须关掉电源,加减设备完成之后再从新启动机器.对于板卡式的外设就更加麻烦了,您不得不打开机箱,弄得满头大汗,一不小心,汗水滴到主板上,机器就死翘翘了.我就碰到过这样的事情.USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC通过USB端口最多可以接127个外设!把您所有的东西全接上来吧,没问题!还有,USB完全是PNP的,在您第一次安装完成以后,加减设备只需要拔出或插上USB插头就一切OK了,不必理会机器是开还是关,就这么简单.可不要因为慢得象蜗牛的232而使你联想到串行就代表慢.USB有快速和慢速工作方式,传输速率分别为12Mbps和1.5Mbps,比232快了不知道多少倍.2.USB的结构框架roothub______________|___________||hubhub___|______________|________||||||||d1d2d3h1h2d4d5d6d*外设h*hub上图显示了USB的拓扑结构.PC主板上的那两个插口,就是roothub.roothub是一个USB系统的总控制端口.它既可以直接接外设,也可以通过hub控制更多的外设.USBhub结构类似通常的网络集线器,有一个upperlink和很多子端口,每个子端口可以接一个外设,也可以再通过一个hub接入更多外设,直到所有外设加起来到127为止..3.USB设备的加载过程当USB设备接入hub或roothub后,主机控制器和主机软件(hostcontroller&hostsoftware)能自动侦测到设备的接入.然后hostsoftware读取一系列的数据用于确认设备特征,如vendorID,productID,interface工作方式,电源消耗量等参数.之后主机分配给外设一个单独的地址.地址是动态分配的,各次可能不同.在分配完地址之后对设备进行初始化,初始化完成以后就可以对设备进行IO操作了.4.USB的适用范围其实除了象显卡这种需要极高数据量和一些实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来.而事实上国外几乎已经做到了这一点.我想对于国内的开发者来说,在鼠标,键盘等产品上就不必去和国外竞争了.但即使这样,USB的PC外设仍然有大得不可限量的发展空间.我归纳了以下几个大类供开发者参考:1.传统PC外设,象鼠标,键盘,音箱,游戏杆,扫描仪,打印机等.2.基于PC的通信设备,如Modem,ISDN等3.端口转接器,如USB--232,USB--LPT等,以适应原来的设备.4.具有中国特色的设备,象汉字输入笔那样的东西.USB接口是微机主板上的一个四针接口,其中中间两个针传输数据,两边两个针给外设供电。现在采用TX芯片组的主板都支持USB接口。USB接口速度快、连接简单、不需要外接电源,同时对外设有良好的兼容性。USB接口可以连接音箱、调制解调器(Modem)、数码相机、显示器、游戏杆、扫描仪、鼠标、键盘等外围设备。这些外设可以进行热插拔。USB接口可以像Hub一样通过USBHub的级联进行数量扩充,但级联数不能超过3个,否则会严重影响外设的供电电压,使外设不能工作,还有可能烧坏主板。现在能够直接支持USB接口的操作系统有Windows98、WindowsMe、Windows2000等。WindowsNT4.0不支持USB接口。Windows95/97(Windows97即Windows95OSR2)可以通过安装USB接口驱动程序来支持USB设备。安装USB设备时,某些主板需要将BIOS设置中的USB选项进行“Enable”设置。USB总线的连线长度最大为5米,超过5米的话,传输信号有衰减通用串行总线-USB简介heshw99发表于2006-5-822:38:000推荐usb简介:传输方式在USB的数据传送的方式下,有四种的传输方式:控制(Control)同步(isochronous)中断(interrupt)大量(bulk)。如果你是从硬件开始来设计整个的系统,你还要正确选择传送的方式,而作为一个驱动程序的书写者,就只需要弄清楚他是采用的什么工作方式就行了。通常所有的传送方式下的主动权都在PC边,也就是host边。控制(Control)方式传送:控制传送是双向传送,数据量通常较小。USB系统软件用来主要进行查询、配置和给USB设备发送通用的命令。控制传送方式可以包括8、16、32和64字节的数据,这依赖于设备和传输速度。控制传输典型地用在主计算机和USB外设之间的端点(Endpoint)0之间的传输,但是指定供应商的控制传输可能用到其它的端点。同步(isochronous)方式传送:同步传输提供了确定的带宽和间隔时间(latency)。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如执行即时通话的网络电话应用时,使用同步传输模式是很好的选择。同步数据要求确定的带宽值和确定的最大传送次数。对于同步传送来说,即时的数据传递比完美的精度和数据的完整性更重要一些。中断(interrupt)方式传送:中断方式传输主要用于定时查询设备是否有中断数据要传送。设备的端点模式器的结构决定了它的查询频率,从1到255ms之间。这种传输方式典型的应用在少量的分散的、不可预测数据的传输。键盘、操纵杆和鼠标就属于这一类型。中断方式传送是单向的并且对于host来说只有输入的方式。大量(bulk)传送:主要应用在数据大量传送传送和接受数据上,同时又没有带宽和间隔时间要求的情况下,要求保证传输。打印机和扫描仪属于这种类型。这种类型的设备适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型的数据的传送完成之后再传送和接收数据。USB将其有效的带宽分成各个不同的桢(frame),每桢通常是1ms时间长。每个设备每桢只能传送一个同步的传送包。在完成了系统的配置信息和连接之后,USB的host就会对不同的传送点和传送方式做一个统筹安排,用来适应整个的USB的带宽。通常情况下,同步方式和中断方式的传送会占据整个带宽的90%,剩下的就安排给控制方式传送数据。USB的低层结构USB设备USB的设备可以接在PC上的任意的USB接口上。而使用HUB还可以扩展使更多的USB设备连接到系统中,USB的HUB有一个上行的端口(到host),有多个的下行端口(连接其它的设备),从而可以使整个的系统可以扩展的连接127个外设,其中HUB也酸外设。对于USB系统来说,USB的host永远是PC边,所有的其他连接到host都称为设备,在设备与设备之间是无法实现直线通信的,只有通过host的管理与调节才能够实现数据的互相传送.在系统中,通常会有一个根HUB,这个HUB一般有两个下行的端口。一个PC可以拥有一个或多个的USBhost控制器。一般有两种类型的控制器:UHCI(USBhost控制器接口),OHCI(开放的host控制器接口)。Windows的USB类驱动程序对于每一种的控制器类型都有一种miniclass驱动程序来支持。USB的物理信号USB的电缆有四根线,两根传送的是5V的电源,有一些直接和电源HUB相连的设备可以直接利用它来供电。另外的两根是数据线,数据线是单工的,在整个的一个系统中的数据速率是一定的,要么是高速,要么是低速,没有一个可以中间变速的设备来实现数据码流的变速.在这一点上,USB和1394有明显的差别。USB的总线可以在不使用的时候被挂起,这样一来就可以节约能源。在有些时候的总线还有可能挡机(stall),比如说象数据传送的时候突然被打断,这个时候通过host的重新配置可以实现总线的重新工作。低层协议USB的物理协议规定了大多数的在总线上的数据格式,通常一个全速的数据桢可以最多有的1500bytes,而对于低速的桢最多有187bytes。桢通常是用来分配带宽给不同的数据传送方式。同时由于桢结构的规律性,桢的这种特性也可以用来做同步信号来使用。一个最小的USB的数据块叫做包(packet),包包括同步信号,包标识(packetID),CRC和传送的数据。PacketID共有以下十种:token:OUTINSOFSETUPdata:DATA0DATA1handshake:ACKNAKSTALLspecial:PRETransactions(数据交换)一个transaction是在host和设备(device)之间的不连续相互数据交换,通常由host开始交换,交换的开始是由Token的包开始的,接下来是双方向上的数据包,在数据包传送完之后,就会由设备(device)返回一个握手(handshake)包。USB系统通过IN,OUT,和SETUP的包来指定USB地址和endpoint(最多是128个,0通常被用来用做缺省的传送配置信息的),并且这些被指定的设备必须通过上面形式的包来回应这种形式的指定。每个SETUP的包包含8个byte的数据,数据用来指示传送的数据类型。对于DATA数据包来说,设置两种类型的数据包是为了能够在传送数据的时候做到更加的精确。ACKhandshake的包用来指示数据传送的正确性,而STALLhandshake则表示数据包在传送的过程中出了故障,并且请示host重新发数据或者清除这次传送。PRE格式的包主要是用在在一个USB的系统中如果存在不同速率的设备的时候,将不同于总线速度的设备中就会回应一个PRE的包从而会忽略该设备。各种不同类型的包的大小是不同的,DATA的数据包最大是1023bytes.StartofFrame(SOF)SOF是host用来指示frame的开头的。SOF的包包括11个bit的桢序号,从0到0X7FF(i.e.USBD_ISO_START_FRAME_RANGE-1),SOF对于所有的高速设备来说是有效的。Power每个设备可以从总线上获得100mA的电流,如果特殊的向系统申请,最多可以获得500mA的电流,在挂机的状态下,电流只有500uA作为一种新型的总线技术,USB(UniversalSerialBus,通用串行总线)已经被广泛应用于鼠标、键盘、打印机、扫描仪、Modem、音箱等各种设备。USB总线的网卡一般是外置式的,具有不占用计算机扩展槽和热插拔的优点,因而安装更为方便。这类网卡主要是为了满足没有内置网卡的笔记本电脑用户。USB总线分为USB2.0和USB1.1标准。USB1.1标准的传输速率的理论值是12Mbps,而USB2.0标准的传输速率可以高达480Mbps。USB设备是通过USB总线连接到USB主机上的。USB总线上的物理连接是一个分层的星形拓扑。处于每个星形拓扑中央的是hub(USB集线器)。在主机和一个hub或者一个应用之间以及在hub和其它hub或应用之间都是一个点对点的连接。图1表示了USB的拓扑类型。
本文标题:USB总线简介
链接地址:https://www.777doc.com/doc-2865314 .html