微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > USB 2.0与 USB 3.0功能特性对比分析

USB 2.0与 USB 3.0功能特性对比分析

时间:10-10 来源:互联网 点击:

简介

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协议要求基于优先级的数据结构用于实现外设端固件。常用USB设备结构分析

考虑到海量存储设备是市场上最常见的高性能USB外设,我们会举一个海量存储设备的例子,来精确的分析其性能。

我们将讨论数据方面,这是因为大部分时间里接口将涉及数据包传输而不是控制包。

数据传输步骤:

1.处理器收到一个USB请求。

2.处理器处理这个请求。

3.处理器依次存储读/写请求。

4.处理器等待传输完成。

5.处理器发送完成情况到USB host

这次传输的时间结构

总延时 = X Y Z

这里,X,Y和Z是主要的延时构成,解释如下:

1.延时X是传输请求数据包在主机和处理器之间所花的时间。这取决于USB协议和USB设备硬件处理效率。请求数据包大小只有几十个字节,所以延时只有几纳秒。

2.延时Y代表的是处理器处理USB请求和建立直接存储器存取所需要的时间。这取决于处理器类型,线程/过程数目,软件架构。对于通用处理器处理大量的过程和任务来说,操作系统处理延迟可能很大程度取决于中断延时,内容切换延迟,队列

上一篇:光纤、光缆
下一篇:防火墙原理入门

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top