USB的结构及工作原理.docx
《USB的结构及工作原理.docx》由会员分享,可在线阅读,更多相关《USB的结构及工作原理.docx(20页珍藏版)》请在冰豆网上搜索。
USB的结构及工作原理
USB的结构及工作原理?
USB的结构及通讯原理?
为什么现在的USB才4条线就可以代替打印机口(25针)?
USB的优点缺点?
还有,有什么控件可以进行USB通讯(VB)?
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
USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC通过USB端口最多可以接127个外设!
把您所有的东西全接上来吧,没问题!
还有,USB完全是PNP的,在您第一次安装完成以后,加减设备只需要拔出或插上USB插头就一切OK了,不必理会机器是开还是关,就这么简单。
可不要因为慢得象蜗牛的232而使你联想到串行就代表慢。
USB有快速和慢速工作方式,传输速率分别为12Mbps和1.5Mbps,比232快了不知道多少倍。
2.USB的结构框架
roothub
______________|___________
||
hubhub
___|__________|________
||||||||
d1d2d3h1h2d4d5d6
d*外设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).具有中国特色的设备,象汉字输入笔那样的东西。
5).工业领域。
三、USB系统拓扑结构
一个USB系统包含三类硬件设备:
USB主机(USBHOST)、USB设备(USBDEVICE)、USB集线器(USBHUB),如图1所示。
(1)USBHOST
在一个USB系统中,当且仅当有一个USBHOST时,USBHOST有以下功能:
◇管理USB系统;
◇每毫秒产生一帧数据;
◇发送配置请求对USB设备进行配置操作;
◇对总线上的错误进行管理和恢复。
(2)USBDEVICE
在一个USB系统中,USBDEVICE和USBHUB总数不能超过127个。
USBDEVICE接收USB总线上的所有数据包,通过数据包的地址域来判断是不是发给自己的数据包:
若地址不符,则简单地丢弃该数据包;若地址相符,则通过响应USBHOST的数据包与USBHOST进行数据传输。
(3)USBHUB
USBHUB用于设备扩展连接,所有USBDEVICE都连接在USBHUB的端口上。
一个USBHOST总与一个根HUB(USBROOTHUB)相连。
USBHUB为其每个端口提供100mA电流供设备使用。
同时,USBHUB可以通过端口的电气变化诊断出设备的插拔操作,并通过响应USBHOST的数据包把端口状态汇报给USBHOST。
一般来说,USB设备与USBHUB间的连线长度不超过5m,USB系统的级联不能超过5级(包括ROOTHUB)。
四、USB总线数据传输
USB总线上数据传输的结构如图2所示。
从物理结构上,USB系统是一个星形结构;但在逻辑结构上,每个USB逻辑设备都是直接与USBHOST相连进行数据传输的。
在USB总线上,每ms传输1帧数据。
每帧数据可由多个数据包的传输过程组成。
USB设备可根据数据包中的地址信息来判断是否响应该数据传输。
在USB标准1.1版本中,规定了4种传输方式以适应不同的传输需求:
(1)控制传输(controltransfer)
控制传输发送设备请求信息,主要用于读取设备配置信息及设备状态、设置设备地址,设置设备属性、发送控制命令等功能。
全速设备每次控制传输的最大有效负荷可为64个字节,而低速设备每次控制传输的最大有效负荷仅为8个字节。
(2)同步传输(isochronoustransfer)
同步传输仅适用于全速/高速设备。
同步传输每ms进行一次传输,有较大的带宽,常用于语音设备。
同步传输每次传输的最大有效负荷可为1023个字节。
(3)中断传输(interrupttransfer)
中断传输用于支持数据量少的周期性传输需求。
全速设备的中断传输周期可为1~255ms,而低速设备的中断传输周期为10~255ms。
全速设备每次中断传输的最大有效负荷可为64个字节,而低速设备每次中断传输的最大有效负荷仅为8个字节。
(4)块数据传输(bulktransfer)
块数据传输是非周期性的数据传输,仅全速/高速设备支持块数据传输,同时,当且仅当总线带宽有效时才进行块数据传输。
块数据传输每次数据传输的最大有效负荷可为64个字节。
五、典型应用
USB系统的典型应用如图3所示。
在图3所示系统中,显示器、Audio、Modem皆为全速设备,键盘、鼠标为低速设备。
其数据传输为:
◇USBHOST通过控制传输更改显示器属性。
◇USBHOST通过块数据传输将要显示的数据送给显示器。
◇USBHOST通过控制传输更改键盘、鼠标属性。
◇USBHOST通过中断传输要求键盘、鼠标输入读入系统。
◇USBHOST通过控制传输更改Audio属性。
◇USBHOST通过同步传输与Audio设备传输数据。
◇USBHOST通过控制传输更改Modem属性。
◇USBHOST通过块数据传输与Modem设备传输数据。
、一个USBHOST接口的软硬件设计
市场上现已有很多公司提供的USB接口器件,如PHILIPS的PDIUSBD11/PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9602,LUCENT的USS-820/USS-620,SCANLOGIC的SL11,等等。
同时也有很多带USB接口的处理器,如CYPRESS的EZ-USB,AMD的AM186CC,ATMEL的AT43320,MOTOROLA的PPC823/PPC850,等等。
下面给出用SCANLOGIC的USB接口器件SL11HT实现嵌入式USBHOST的例子。
1.SL11HT特点
◇遵从USB1.1标准;
◇支持全速/低速传输;
◇支持主机/设备端两种模式;
◇3.3/5.0V供电;
◇片内包含256个字节的SRAM;
◇48MHz晶振输入。
当SL11HT被用作USBHOST接口时,对系统有以下要求:
◇由系统维护SOF帧数目;
◇由系统生成CRC5效验码;
◇要求系统中断潜伏期小于1.5μs。
2.SL11HT接口硬件框图
图4简单地给出了使用SL11HT扩展USB接口的框图,更详细的硬件连线图请见参考文献2,3。
3.USBHOST端软件结构
USBHOST端软件结构如图5所示。
(1)USB接口驱动程序
USB接口驱动程序需实现以下功能:
◇USB接口器件的初始化;
◇计算上层数据包的效验和,发送上层的数据包;
◇发送SOF帧;
◇接收从USB接口传送来的数据,并检查数据的有效性;
◇将接收到的数据送往上层。
(2)USB协议栈驱动程序
USB协议栈驱动程序需实现以下功能:
◇提供与设备驱动程序的接口;
◇读取并解析USB设备描述符,配置描述符;
◇为USB设备分配唯一的地址;
◇使用默认的配置来配置设备;
◇支持基本的USB命令请求;
◇连接设备与相应的驱动程序;
◇转发设备驱动程序的数据包。
(3)设备驱动程序
设备驱动程序需实现以下功能:
◇提供与应用程序的接口;
◇读取并解析USB设备特有的描述符,获得设备提供的传输通道;
◇发送设备特有的和基本的USB命令请求;
◇通过设备提供的传输通道与设备进行数据传输;
◇通过USB命令请求重新配置设备。
USB的硬件结构
USB采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游(Downstream)设备提供电源,对于高速且需要高带宽的外设,USB以全速12Mbps的传输数据;对于低速外设,USB则以1.5Mbps的传输速率来传输数据。
USB总线会根据外设情况在两种传输模式中自动地动态转换。
USB是基于令牌的总线。
类似于令牌环网络或FDDI基于令牌的总线。
USB主控制器广播令牌,总线上设备检测令牌中的地址是否与自身相符,通过接收或发送数据给主机来响应。
USB通过支持悬挂/恢复操作来管理USB总线电源。
USB系统采用级联星型拓扑,该拓扑由三个基本部分组成:
主机(Host)、集线器(Hub)和功能设备。
主机,也称为根,根结或根Hub,它做在主板上或作为适配卡安装在计算机上,主机包含有主控制器和根集线器(Root Hub),控制着USB总线上的数据和控制信息的流动,每个USB系统只能有一个根集线器,它连接在主控制器上。
集线器是USB结构中的特定成分,它提供叫做端口(Port)的点将设备连接到USB总线上,同时检测连接在总线上的设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。
集线可为总线提供能源,也可为自身提供能源(从外部得到电源),自身提供能源的设备可插入总线提供能源的集线器中,但总线提供能源的设备不能插入自身提供能源的集线器或支持超过四个的下游端口中,如总线提供能源设备的需要超过100mA电源时,不能同总线提供电源的集线器连接。
功能设备通过端口与总线连接。
USB同时可做Hub使用。
USB接口的特点很突出:
速度快、兼容性好、不占中断、可以串接、支持热插拨等等,USB接口定义很简单:
1+5V
2DATA-数据-
3DATA+数据+
4GND地
USB接线方法---有图
主板USB管脚接口大全
一、概述
因为每个USB接口能够向外设提供+5V500MA的电流,当我们在连接板载USB接口时,一定要严格按照主板的使用说明书进行安装。
绝对不能出错,否则将烧毁主板或者外设。
相信有不少朋友在连接前置USB插线时也发生过类似的“冒烟事见“。
这就需要我们能够准确判别前置USB线的排列顺序如果我们晓得USB接口的基本布线结构,那问题不是就迎刃而解了吗。
二、USB接口实物图
主机端:
接线图:
VCC
Data-
Data+
GND
实物图:
设备端:
接线图:
VCC
GND
Data-
Data+三、市面上常见的USB接口的布线结构
这两年市面上销售的主板,板载的前置USB接口,使用的都是标准的九针USB接口,第九针是空的,比较容易判断。
但是多数品牌电脑使用的都是厂家定制的主板,我们维修的时候根本没有使用说明书;还有像以前的815主板,440BX,440VX主板等,前置USB的接法非常混乱,没有一个统一的标准。
当我们维修此类机器时,如何判断其接法呢?
现在,把市面上的比较常见的主板前置USB接法进行汇总,供大家参考。
(说明:
■代表有插针,□代表有针位但无插针。
)
1、六针双排
这种接口不常用,这种类型的USB插针排列方式见于精英P6STP-FL(REV:
1.1)主板,用于海尔小超人766主机。
其电源正和电源负为两个前置USB接口共用,因此前置的两个USB接口需要6根线与主板连接,布线如下表所示。
■DATA1+
■DATA1-
■VCC
■DATA2-
■DATA2+
■GND
2、八针双排
这种接口最常见,实际上占用了十针的位置,只不过有两个针的位置是空着的,如精英的P4VXMS(REV:
1.0)主板等。
该主板还提供了标准的九针接法,这种作是为了方便DIY在组装电脑时连接容易。
■VCC
■DATA-
■DATA+
□NUL
■GND
■GND
□NUL
■DATA+
■DATA-
■VCC
微星MS-5156主板采用的前置USB接口是八针互反接法。
虽然该主板使用的是Intel430TX芯片组,但首先提供了当时并不多见的USB1.0标准接口两个,只不过需要使用单独的引线外接。
由于该主板的USB供电采用了限流保护技术,所以即使我们把USB的供电线接反,也不会导致主板无法启或烧毁USB设备的情况产生。
■VCC
■DATA-
■DATA+
■GND
■GND
■DATA+
■DATA-
■VCC
以下这种接口比较常见,多使用于815,或440BX较早的主板上。
■VCC
■DATA+
■DATA-
■GND
■VCC
■DATA+
■DATA-
■GND
以下这种接口现在不多见,也见于2001,2002年时期的主板上。
■VCC
■DATA-
■DATA+
□NUL
■GND
■VCC
■DATA-
■DATA+
□NUL
■GND
3、九针双排
这种前置USB接口最常见,大多数主板都使用这种接口,有的还带有插槽来限位。
如:
精英P6IEA,INTELD845GLVA主板,L4IBMGL2(REV:
1.0B),精英865PE-A(REV:
2.0),捷波P4X400DA主板,捷波JP4MFM。
■VCC
■DATA-
■DATA+
■GND
■NC
■VCC
■DATA-
■DATA+
■GND
□NUL
有的主板的第十针也接地了,但这对性能改变不大,也没有多大差别,可以接也可以不接。
■VCC
■DATA-
■DATA+
■GND
■GND
■VCC
■DATA-
■DATA+
■GND
□NUL
有的主板上不但带有限位设计,同时也明确标明了每一根针的定义,如微星MS-845GLML主板。
捷波生产的几款主板的前置USB接口虽然也是九针,但空针的位置有所有同和其他厂家有点特殊,空针的位置正好相反,如845GPRO,845DBA,845DBAR2等主板,空针的位置正好是第十针,而非第九针。
精英L4S5M主板也是九针前置USB接口,但空针的位置是第七针,同时第四针是不使用的,两个USB接口的正好互反。
对于互反的USB接口,我们一定要注意不能接错,因为这种情况因为我们接对了一个,往往按经验来判断连接另一个,造成部件损坏。
■GND
■NC
■DATA+
■DATA-
■VCC
■VCC
■DATA-
■DATA+
□NUL
■GND
4、十针双排
精英P6STM主板,神舟电脑使用的FC-810T主板使用十针双排USB接口,第九,十两名为闲置插针,两个USB接口的接法相同。
■VCC
■DATA-
■DATA+
■GND
■NC
■VCC
■DATA-
■DATA+
■GND
■NC
像微星845UltraVER:
1主板,虽然使用的也是十针双排接法,但两组USB接法相反,并且使用了双地线。
■VCC
■DATA-
■DATA+
■GND
■GND
■GND
■GND
■DATA+
■DATA-
■VCC
微星815EPRO(VER:
1)N1996
■VCC
■DATA-
■DATA+
■GND
■NC
■NC
■GND
■DATA+
■DATA-
■VCC
[此贴子已经被作者于2005-5-140:
05:
02编辑过]
-- 作者:
cjsafty
-- 发布时间:
2005-5-1323:
45:
00
--
5、十五针双排
这种接口不多见,见于佰钰P4X266(PR22-S),硕泰克SL-65KV2主板上面,虽然插针多,但USB接口也只是两个,多余的上面一排都是地线,是为了减少USB线间的干扰,提高工作性能设计的。
■GND
NULL
■GND
■GND
■GND
■GND
■GND
■GND
■VCC
■DATA-
■DATA+
■GND
■VCC
■DATA-
■DATA+
■GND
实物:
以下这种接口不多见,多见于一些OEM主板上面。
■GND
■GND
■DATA+
■DATA-
■VCC
□NUL
■DATA+
■GND
■VCC
■DATA-
■DATA+
■GND
■GND
□NUL
■VCC
■DATA-
6、四针单排
见于华硕CUSL2-C(REV:
1.02),三帝P651ML,精英L4VXA2等主板。
■VCC
■DATA+
■DATA-
■GND
□NUL
四、机箱端的接法
目前市场上销售的DIY机箱的USB接头也有两种,一种是散的,一种是组合的,分别对应使用于非标USB接口和标准USB接口。
1、散线接头
2、标准组合接头
一般情况下,机箱使用的USB接头都使用4种不同颜色的线来使用之区别,其中黑色线为地线(GND),红色线为电源正级(VCC或+5Volt),白色线为数据负线(USB Port-或Data-),绿色线为数据正线(USBPort+或Data+)。
无论是散头接法还是组合接法,我们一定确定我们的安装正确无误后(特别是电源正负的接法),才能加电试机,否则就必须使用万用表来帮助我们判断板载USB插针的正确接法。
五、USB接口的基本判断方法
USB线的插头方法最多,有六针的,也有八针,九针,十针的,但是因为USB线使用+5V电源和地线,这就为我们判别其正确定义提供了帮助。
因为计算机在使用过程中会向空气中发射频带很宽的大量的电磁波,为了防止这些电磁波对其他家用电器的干扰,都使用了全钢机箱,并且箱体安全接地。
还有一点需要大家明白,不但机箱接地,同时机箱也是开关电源次级的电源地,即我们通常所说的“电源负极”。
所以在我们判别USB接口的地时,只要把万用表置于*1档或导通档,测试USB接口中那根针与机箱是导通的,这样就可以马上判断出地线。
只要知道地线了,与其隔两根针的就是“电源正”,即VCC端。
其余就可以按位置排列了。
基本方法:
将万用表置于通断档或电阻档的*1档。
用黑表笔接触主板的地线,如USB接口或键盘接口,固定螺丝位置的边缘,这些位置都是地线。
黑表笔不动,用红表笔记逐个接触前置USB接口的插针。
当接到某一插针时,万用表发出鸣叫或电阻档指示为0或较小数值时,就表示此时红表笔接触的前置USB插针是地线(GND)。
接下来再根据USB连线的基本布局就可以判断电源正(VCC)和其他两根数据线了。
如果还不放心,我们还可以继续判断电源正。
因为USB使用的+5V电源,是由ATX20针电源插头的+5V(红色)或者是+5VSB(紫色)供应的,只要测量有哪根针与ATX电源的红或紫导通就可以了。
一些高档主板的USB供电不是直接由电源提供的,而是通过功率电源管按制USB供电当故障发生时切断对外设供电,或者使用限流IC把USB接口的输出电流限定为500MA。
我们可以通过观察PCB板上线路连接来判断电源正的接法;也可以通过使用万用表的电阻档测量,与USB接口相连的保险电阻或控制电源管导通的插针,就是USB接口的正极。
六、USB接口的供电方法
1、采用+5VSB或+5V供电
一些低端主板生产厂家出于生产成本的考虑,有的是直接使用开关电源送出的+5VSB或+5V供电,其间有一个或根本没有保险电源或限流电阻。
这样做的话会导致如是USB接口或USB外设出现故障时会造成主机不能加电或无法启动。
如果是主机正在工作时插入了问题USB外设就会导致主板立即重启。
中档主板的生产厂家多数都在USB供电回路中设计了电源滤波和可恢复保险电阻以保护主板稳定工作,避免受到热插拔USB外设时出现死机或重启现象。
如下图因为生产厂家采用简单供电,导致供电回路中的滤波电感比较严重的烧毁。
因为后置USB接口与键盘接口相近,所以大部分主板在设计时都采用了后置USB接口和键鼠一起供电的做法,在键盘接口附近一般会有一个JB1跳线,用户可以选择是使用+5VSB(可以提供键鼠开机功能,网络唤醒功能,但电流较小,无法满足移动硬盘供电)供电;或者是使用+5V电源供电(提供电流较大,但无法键鼠开机)。
不过一些主板在设计时就取消了跳线,所以当电脑关机时键鼠灯常亮,这种情况只能在电脑关机后拔下主机的电源插头才能彻底断电。
像映泰KBNHAG主板为了使用主板后置USB接口的供电更稳定,把键鼠和USB供电进行了分离。
[此贴子已经被作者于2005-5-1323:
47:
30编辑过]
-----------------------------------------
奖励用户:
原因:
好文章 用户操作:
金钱15, 操作者:
anger555
-- 作者:
cjsafty
-- 发布时间:
2005-5-1323:
48:
00
--
2、采用+5V电源通过限流IC供电或使用电源管可控供电
这种设计一般见于中高档主板,在USB供电回路中有电容滤波,保险电阻,限流IC或功率电源管,这种设计可以保证主板的每个USB接口向外设提供最大500MA的供电电流,同时当外设短路时,限流IC会自动切断USB接口的供电,保证主机正常稳定的工作。
不过,因为最大供电电流只有500MA,所以当我们使用移动硬盘时,往往就会出现无法认盘,认盘