无线技术百花齐放,各种无线技术,无线上网方式,无线网络,层出不穷。在融合“热”的今天,各种无线网络也相互融合。那么现在要介绍给大家的是,一种新的无线技术:无线USB。本文针对的是无线USB协议的介绍。
认证无线 USB(CertifiedWirelessUSB)是一种新技术,它提供的无线连接能力建立在强大的WiMedia超宽带(UWB)公共射频平台之上。WiMediaUWB可以提供高达480Mb/s的带宽,这也是有线USB2.0的带宽。因此,它吸引终端用户与应用开发人员将现有USB应用迁移到无线领域。USB无线技术应用将使便携硬盘驱动、打印机、数码相机、以及诸如PDA或手机一类的手持设备受益。
现在人们对新协议到底能为应用或类驱动(classdriver)提供多大的有效带宽表示关注。由于其无线特性,总开销中必须计入一些额外的部分。无线USB能否提供足够的带宽以支持应用USB的设备,尤其是那些基于庞大结构和高带宽要求的应用设备?本文特别关注无线USB协议的效率问题。首先,我们将详细分析降至帧级的无线协议开销,并提供其与USB的简单比较作为参考。接下来,我们将研究几个应用实例。最后,我们会简单讨论系统实现中的潜在瓶颈以及可能的解决方案。
无线USB协议开销的分析
由于无线USB的自身特性,与有线USB相比,它要有一些“额外”的开销。无线USB建立在WiMediaUWB平台之上,该平台包含用于点对点(adhoc)个人域网络(piconet)的一个UWB物理(PHY)层,以及整套的分布式介质访问控制(MAC)协议。WiMediaMAC将空中时间划分成一种65ms的基本时序结构,名为超帧(super)。然后再进一步划分为256个介质访问隙(mediumaccessslot)。每个超帧都开始于一个占16个介质分配隙(MAS)的信标期(beaconperiod)。信标是WiMediaMAC的核心;每个活动的WiMedia设备尝试在信标周期内传输自己的信标时,都必须聆听其他的信标。换句话说,空中时间的1/16必须用于WiMediaMAC协议的信标操作。UWB技术也不可避免地带来了数据包级的开销,如前导(preamble)、PHY与MAC头(PLCP头)、IFS。需要注意的是,即使是最好的有线USB技术,虽然一般情况下比无线技术要小得多。也同样存在着通信方法的开销。一个典型实例就是“位填充”。同样,从应用观点看,在数据包级也存在着一些可以看作开销的部分,如SYNC、EOP和CRC等。
无线USB协议中的改进
为提高无线USB协议的效率,引入了事务类型和流量两种增强方法。在USB2.0中,传入或传出一个设备当中的任何一个数据包都需要来自USB主机的一个令牌。在无线USB中,数据传输则以事务组(transactiongroup)的形式完成。事务组是指微调度管理指令(MMC)与被分配协议时间隙的组合,在时间隙期间执行一个或多个无线USB事务。即,对无线USB,并非每个空中传输数据包都需要一个令牌,一组针对不同端点(EP)管道(甚至是不同设备)的事务可以共享同一令牌。
无线USB中的传输率改进是通过定义一种较大的包尺寸(最大为3584应用负荷)与数据的突发模式来实现的。通过使用数据突发模式,帧间距可以从10us减小到1.875us。另外,还可以使用突发先导(5.625us)来代替标准先导(9.875us)。无线USB的拓扑结构产生了大的有效带宽。由于其无线特性,不再需要传统的“树”状拓扑,这样集线器就被省略了。原来消耗在集线器轮询上的时间现在可以用于数据传输。
最后,无线USB在高级协议上作了一些优化。例如,对bulk-in(批量传入)事务,无线USB不需要一个主机来发送独立的握手包,而是将握手信息嵌入在其后的MMC中。这样进一步提高了信道的使用效率。另外,还省略了控制传输设置阶段的握手(handshake),如果数据段后紧接着控制传输,则数据段令牌将嵌入到设置令牌中。
从上述分析可见,无线USB有一些由于无线特性以及介质访问控制层所可以无缝地迁移到无线USB上。至于海量存储这种“贪婪”的应用,无线USB的性能与USB2.0相比会受到一些影响。这种情况下必须作进一步研究,从而确保在提供特定应用及无线解决方案时,性能的降级程度在可承受范围内。
实现建议
如前所述,无线USB协议通过传输批量数据可以获得更好的带宽性能,系统设计者应有效地管理缓存,即当主机给出一个用于数据传输的时间窗口(CTA)时,设备应总是保有足够用于发送的数据,或有足够保存数据的缓存空间。缓存管理不仅要考虑来自应用的需求,还要考虑无线USB的端点成对描述符(endpointcompaniondeor)。否则,主机仍要根据包尺寸与突发尺寸来安排一个大的时间窗口,而事实上,设备实际只用到一部分时间。这也会浪费整体的总线带宽。
同样,如果无线USB主机可以积累来自较高层的多个事务请求,并将它们高效地组织成事务组,也将提升多设备配置的总体系统性能。当然,主机实现应有充足的本地缓存,以保存该事务组中发射或接收的数据包。