USB 2.0与 USB 3.0功能特性对比分析
简介
本文引用地址:http://www.amcfsurvey.com/article/155643.htm USB由于具备简单、成熟、即插即用特征。然而,USB 2.0 480 Mbps的速度无法支持新一代存储和视频。因此,移植到一个更快标准的时机已经成熟,这就导致了USB 3.0新协议的开发。对于开发商而言,挑战是如何充分利用USB 3.0的潜能。本文将探讨使用USB 3.0硬件软件设计问题,本文主要介绍的是手持产品。首先,我们将比较USB 2.0和USB 3.0的性能,以及过渡到USB 3.0模块影响到的器件。
在一个普通的场景中,在device端,处理器直接连接到USB、存储器和外设。记住这种结构,由High-Speed过渡到SuperSpeed,处理器的影响可以概括如下:
USB 2.0 VS USB 3.0
数据速率
USB 2.0和USB 3.0的基本区别是带宽。USB 2.0所提供的理论带宽是480Mbps。事实上,收到的最大吞吐量约为320Mbps (40MBps),它大致是理论值的三分之二。使用USB3.0,数据吞吐量为4.8Gbps。如果我们用相同的比例,那么预期的数据速率是3.2Gbps (400MBps)。然而,许多开发人员希望能提供更高的吞吐量。图1显示了USB 3.0 和USB 2.0用于Buffalo外部存储磁盘进行不同大小文件传输的数据率差异。应该指出的是,USB 3.0数据速率受储存设备约束,否则400 Mbps的数据速率很容易达到。
图1可以看出,单个请求传输大小增大了,数据传输速率也随之增加了。这是因为当请求传输大小增加时,请求数量和因此MSC设备要处理中断减少,那么整体性能就更好了。64 KB传输过后,数据速率达到饱和(因为Windows驱动在一个SCSI请求中不能请求超过64 KB的数据)。这些数据显示了中断在整个系统性能的重要性和影响。
高数据率增加了中断速率和数据请求速率,这使处理器负荷显著提高。当处理器忙于处理USB相关的实时请求时,增加了延时,用户会看到应用处理慢了下来,这并不是一个满意的结果。
数据流
USB 2.0数据请求一次只能是一个方向,与USB 2.0标准不同,USB 3.0支持同时读和写。这是因为USB 2.0是半双工协议,而USB 3.0是全双工协议。全双工通信是通过增加更多连接来支持同时传输数据的。它同时也带来了成本的增加和软件的复杂性。使用USB 2.0,处理器一次只参与传输,并且数据结构和请求处理非常简单。但随着全双工USB 3.0的到来,现在的数据结构需要加倍的信息。USB软件模块还需要能够处理同时的数据操作。
电源管理
封包传输协议改变了(例如,广播定向),设备polling消除了,link的定义和功能级中间状态,使USB3.0电源管理要很不错。我们将讨论USB设备处理器必须要做的事情,因为第三种降低功耗改变了,例如多种中间状态。
在USB 2.0中,状态只有ACTIVE 和SUSPEND。SuperSpeed中有两个以上的状态:FAST EXIT IDLE 和SLOW EXIT IDL。状态越多意味着硬件和软件两个方面都更复杂。外设可以使用link级电源管理发起省电模式。要获得实际利益,处理器需要跟踪USB接口的空闲时间,智能采取行动。对于一个设备来说电源连接状态的入口和出口速率可能很频繁。例如,同步传输允许外设在服务间隔进入低功耗状态。这可以显著增加处理器负载运行时间。
流支持
USB3.0拓展了批量传输模式,支持流模式。批量流提供了同频带信号传输,通过一个标准批量传送支持多路多个独立逻辑数据流协议。这种作法简化了USB设计复杂的类协议。例如,USB SCSI (UAS)海量存储类使用批量流代替简单的BOT协议。在BOT中,一次只有一个pending请求,而在UAS中,一次可能有n-1个请求,这里n是批量端点中支持的流数。实现和维护一个复杂的类协议也可能使处理器一直很忙。对于BOT来说单个平面数据结构就够了,UAS协议要求基于优先级的数据结构用于实现外设端固件。
评论