现在的位置: 首页 > 综合 > 正文

USB物理特性

2013年11月02日 ⁄ 综合 ⁄ 共 2440字 ⁄ 字号 评论关闭
本文载自网络,学习之用

USB使用一根屏蔽的4线电缆与网络上的设备进行互联。数据传输通过一个差分双绞线进行,这两根线分别标为D+和D-,另外两根线是Vcc和Ground,其中Vcc向USB设备供电。使用USB电源的设备称为总线供电设备,而使用自己外部电源的设备叫做自供电设备。为了避免混淆,USB电缆中的线都用不同的颜色标记,如表所示。

引脚编号 信号名称 缆线颜色
1 Vcc 红
2 Data-(D-) 白
3 Data+(D+) 绿
4 Ground 黑

从一个设备连回到主机,称为上行连接;从主机到设备的连接,称为下行连接。为了防止回环情况的发生,上行和下行端口使用不同的连接器,所以USB在电缆和设备的连接中分别采用了两种类型的连接头,即图16-2所示的A型连接头和B型连接头。每个连接头内的电线号与图16-2的引脚编号是一致的,请读者对照阅读。A型连接头,用于上行连接,即在主机或集线器上有一个A型插座,而在连接到主机或集线器的电缆的一端是A型插头。在USB设备上有B型插座,而B型插头在从主机或集线器接出的下行电缆的一端。采用这种连接方式,可以确保USB设备、主机/集线器和USB电缆始终以正确的方式连接,而不可能出现电缆接入方式出错,或直接将两个USB设备连接到一起的情况。

USB信号

数据在USB总线上实际传输时,使用的是NRZI(反向不归零)编码的差分信号,这种信号有利于保证数据的完整性和消除噪声干扰。

1.差分信号技术
我们知道,传统的传输方式大多使用“正信号”或者“负信号”二进制表达机制,这些信号利用单线传输。用不同的信号电平范围来分别表示1和0,它们之间有一个临界值,如果在数据传输过程中受到中低强度的干扰,高低电平不会突破临界值,那么信号传输可以正常进行。但如果遇到强干扰,高低电平突破临界值,由此造成数据传输出错。一般说来,总线频率越高,线路间的电磁干扰就越厉害,数据传输失败的发生机率也就越高。因此这种信号表达技术无法应用于高速总线传输,而差分信号技术能有效克服这种缺点。

差分信号技术最大的特点是:必须使用两条线路才能表达一个比特位,用两条线路传输信号的压差作为判断1还是0的依据。这种做法的优点是具有极强的抗干扰性。倘若遭受外界强烈干扰,两条线路对应的电平同样会出现大幅度提升或降低的情况,但二者的电平改变方向和幅度几乎相同,电压差值就可始终保持相对稳定,因此数据的准确性并不会因干扰噪声而有所降低。当然,由于1个比特位需要两条线路,在总线宽度相等的条件下,差分技术需要的信号线条数就是“正/负信号”技术的两倍。

2.USB编码格式
USB的数据包使用反向不归零编码(NRZI)。图16-3描述了在USB电缆段上传输信息的步骤。反向不归零编码由传送信息的USB代理程序完成;然后,被编码的数据通过差分驱动器送到USB电缆上;接着,接收器将输入的差分信号进行放大,将其送给解码器。使用该编码和差动信号传输方式可以更好地保证数据的完整性并减少噪声干扰。

使用反向不归零编码方式可以保证数据传输的完整性,而且不要求传输过程中有独立的时钟信号。反向不归零编码不是一个新的编码方式。它在许多方面都有应用。图16-4给出了一个数据流和编码之后的结果。在反向不归零编码时,遇到“0”转换,遇到“1”保持。反向不归零码必须保持与输入数据的同步性,以确保数据采样正确。反向不归零码数据流必须在一个数据窗口被采样,无论前一个位时间是否发生过转换。解码器在每个位时间采样数据以检查是否有转换。

但这样的编码方式会遇到一个很严重的问题,就是若重复相同的“1”信号一直进入时,就会造成数据长时间无法转换,逐渐的积累,而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在NRZI编码之前,还需执行所谓的位填充的工作。位填充要求数据流中如果有连续的六个“1”就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳转。这样就保证了接收器与输入数据流保持同步。反向不归零码的发送器要把“0”(填充位)插到数据流中。接收器必须被设计成能够在连续的六个“1”之后识别一个自动跳转,并且立即扔掉这六个“1”之后的“0”位。

图16-5的第一行是送到接收器的原始数据。注意数据流包括连续的八个“1”。第二行表示对原始数据进行了位填充,在原始的第六个和第七个“1”之间填入了一个“0”。第七个“1”延时一个位时间让填充位插入。接收器知道连续六个“1”之后将是一个填充位,所以该位就要被忽略。注意,如果原始数据的第七个位是“0”,填充位也同样插入,在填充过的数据流中就会有两个连续的“0”。

检测设备连接和速度

在USB设备连接时,USB系统能自动检测到这个连接,并识别出其采用的数据传输速率。USB采用在D+或D-线上增加上拉电阻的方法来识别低速和全速设备。USB支持三种类型的传输速率:1.5Mb/s的低速传输、12Mb/s的全速传输和480Mb/s的高速传输。如图16-6和图16-7所示。

当主控制器或集线器的下行端口上没有USB设备连接时,其D+和D-线上的下拉电阻使得这两条数据线的电压都是近地的(0V);当低速/全速设备连接以后,电流流过由集线器的下拉电阻和设备在D+/D-的上拉电阻构成的分压器。由于下拉电阻的阻值是15KΩ,上拉电阻的阻值是1.5KΩ,所以在D+/D-线上会出现大小为(Vcc*15/(15+1.5))的直流高电平电压。当USB主机探测到D+/D-线的电压已经接近高电平,而其它的线保持接地时,它就知道全速/低速设备已经连接了。

高速设备在连接起始时需要以全速速率与主机进行通信,以完成其配置操作,这时需要在D+线上连接1.5KΩ的上拉电阻。当高速设备正常工作时,如果采用高速传输的话,D+线不可上拉;但如果仍采用全速传输,则在D+线上必须使用上拉电阻。所以,为识别出高速设备,需要在上拉电阻和D+线之间连接一个由软件控制的开关,它通常被集成在USB设备接口芯片的内部。

抱歉!评论已关闭.