usb

UTMI及USB 2.0 PHY高速传输特性分析

(2009-2-6 09:23)
标签:USB

 

USB2.0利用传输时序的缩短(微帧125us)以及相关的传输技术,将整个传输速度从原来的12Mbps提高到480Mbps,提高了40倍的带宽,为开发高宽带USB接口产品提供条件。USB2.0支持USB1.1的全速(Full Speed)和低速(Low Speed)工作环境,其电气特性在其他文献中有描述[6],这里主要介绍USB2.0高速设备的电气特性以及相关的UTMI接口规范。UTMI全称为 USB2.0 Transceiver Macrocell Interface,此协议是针对USB2.0的信号特点进行定义的,分为8位或16位数据接口。目的是为了减少开发商的工作量,缩短产品的设计周期,降低风险。此接口模块主要是处理物理底层的USB协议及信号,可与SIE整合设计成一专用ASIC芯片,也可独立作为PHY的收发器芯片,下以8位接口为例介绍PHY的工作原理及设计特点。

首先,为保证兼容性,PHY应该支持全速和高速工作模式。为此高速集线器(Root Hub或Hub)

l 不同速率接口之间的动态传输

l 高速设备断开检测(HS_Disconnect)

l 发送和检测高速包开始信号(SYNC)

l NRZI编码和位填充(Bit Stuff / Bit Unstuff)

图1描述了UTMI各个功能模块,其工作原理如下:PHY从其他转态(如上电、重启或挂起)转换成工作状态后,首先进行高速设备的连接检测(HS Detection Handshake)(后面再详细叙述),检测完毕后切换成相应的工作模式,然后等待主机和设备进行传输数据流。当接收器在USB数据线D+和D-检测到由主机发送到设备的信号时,首先对信号进行时钟恢复,得到正确同步信号后再送进缓冲区,通过NRZI解码及位反填充后,把串行信号转换成并行信号,最后送到设备SIE进行处理。反之,当设备端的SIE需要发送数据包时,UTMI将按照相反的顺序把已编译好的NRZI串行数据流通过发送器传输给主机。为了降低功耗,UTMI支持挂起功能,其工作状态如图2所示。

图2 UTMI工作状态转换的流程图

3.1 Clock Multiplier

对于8位数据接口,此时的外部时钟CLK输出为60MHz。在高速环境下,一个外部时钟CLK周期即为高速设备传输一个字节数据所需的时间,即( )ms/per Byte;而在全速环境下,5个外部时钟CLK周期为全速环境下传输一位数据所需的时间,即( )ms/per Bit,因此,通常情况下,传输全速一个字节数据的时间为40个外部CLK周期,如果存在位填充,则需要45个周期时间。

本文重点介绍高速传输的特点。在高速环境下USB的传输速率为480Mbps,选用这个数值,一方面是可以使用现存的电缆和连接器,另一方面通过对半导体技术的广泛研究与测试,这个速度不仅在生产工艺上没有问题,也与USB 1.1的完全兼容。为了减少噪声和电源抖动对传输的影响,提高传输速度,选择差分电流模驱动方式。

高速数据传输和低速/全速数据传输一样,数据流以差分不归零码进行编码,在电缆上成差分信号进行传输。发送的高速信号是由高速电流驱动器完成的。驱动器根据高速环境中相应的J或K信号,向D+和D-数据线分别传送电流大小为17.78mA电流,通过一个22.5Ω的负载(两个45Ω的负载并联接地),在 D+和D-信号线产生一个近似于±400mv的电压,达到高速差分传输的效果。

图3 高速差分信号收发器的基本组件

本模块包含延时锁相环,可以是DLL,也可以是PLL。其主要功能是对高速或全速传输的数据流进行提取及时钟恢复,达到同步和正确提取数据的目的。可以断定,这个模块是UTMI中的核心模块,它的性能的好坏将决定了UTMI接收数据的正确性。需要进一步了解可以参考文献[8]。

选择全速还是高速传输的数据流。

与USB1.1原理相同,以提高信号的抗噪声能力。如图4所示,NRZI为差分不归零制编码,这种编码与常规的不归零制(NRZ)编码的区别在于每个 "0"码处都有跳变、每个"1"码处没有跳变。在NRZI编码中的,信号通过相邻码元极性的跳变来解码,而不是简单的以绝对电平为准,由此可获得更高的抗干扰能力。

图4 NRZI编码方式

对于NRZI编码方式会遇到一个严重的问题,就是若一长串连续的"1"将会导致无电平跳变,逐渐的累积,从而引起机收起最终丢失同步信号,使得读取的时序发生严重的错误。因此,在NRZI编码之间,还需执行所谓的位填充(Bit-stuffing)的工作。在连续的传输6个"1"位,强制在NRZI编码的数据流中加入跳变。这就确保接收器至少可以在每7个位的时间间隔,检测到一次跳变,使接收器和传送的数据保持同步。图5说明了位填充的工作方式。

图5 位填充的工作方式

3.6 串行/并行转换

3.7 基本控制单元

在低电压信号环境下,为了避免探测电缆上引起的噪声信号作为要传输的信号,就需要运用发射包络探测器(Squelch)来检测总线上的信号是否有效。总线空闲时,高速差分接收器处于静噪状态,当检测到包开始信号后,高速差分接收器被激活,此时当差分信号电平小于100mV时,探测器指示总线上的信号无效;只有当信号电平大于150mV时,探测器才会指示接收的高速差分信有效。但这种方法也可能会带来同步上的延时,即在检测到包络和启动接收器之间最多可能会出现4位的延时,但这个延时并不带来同步的问题[3]。

4.1高速设备的连接检测(HS Detection Handshake)

如果握手信号传输失败,则默认为全速设备。

集线器将连接端口置入高速启用状态,并从D+断开上拉电阻,启用高速设备终端,设置高速设备默认状态。

其中T0时刻表示HS Handshake开始。在T1时刻,设备发送Chirp K信号并在T2时刻结束;下行端口在T3时刻发送KJ交替脉冲序列,若设备在T6时刻接收到下行端口的Chirp信号后,则设备在T7时刻断开D+的上拉电阻,并设置成HS终端及HS缺省状态,等待高速连接检测结束。T8是指总线中止下行端口发送Chirp KJ信号的时刻;T9时刻则表示最早结束总线高速连接检测时刻,或者表示断开D+上拉电阻后,设置HS终端进入HS的缺省工作状态最晚时间。

由于高速设备的连接没有上升电压,所以集线器要用不同的方法来检测设备的移除。高速设备在总线空闲时,D+和D-数据线保持低电平,当设备断开时,线上不会检测到明显的变化,但是此时设备的差分终端电阻消失,而高速包还继续从原来设备连接的端口进行传输。当这个包到达没有负载的路径端点时,一个很大的反射会回到集线器接口,使得集线器连接端口的差分电压加倍,当集线器检测到这个双倍电压就可指示设备已经被移除。协议定义,HS_Disconnect一般是在扩展高速信息包结束符后(extended End of High-speed Packet, HSEOP)USB探测集线器的差分电平,若大于等于625mV则表示设备已经解除连接。 4.3 高速包开始和同步序列(SYNC)

4.4 高速包结束符(EOP)

4.5 复位和挂起

5.结论

<p 2em"="" style="text-indent: 2em;">本文分析了USB2.0接口高速传输的环境特点及在此模式下8位PHY的工作原理。为确保USB2.0在高速和全速环境下正常工作,对UTMI协议也进行了剖析。文章还对USB传输的差分NRZI编码及如何增强抗噪声能力和确保数据的正确性做了较详尽的分析。本论文对UTMI及USB2.0接口设计有较好的参考价值。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值