USB的数据传送速率率是多少

4768人阅读
电路(38)
摘要:针对USB2.0高速数据传输在实际应用中存在的具体问题,深入分析了诸如协议开销、带宽分配、工作环境、主机硬件结构和操作系统配置、设备驱动程序等影响速度提高的种种因素。同时重点阐述了USB2.0设备接口中端点FIFO通道和GPIF通用可编程接口的关键作用。并利用USB2.0控制芯片EZ-USB FX2进行了不同模式下数据传输的实验.最后在此基础上指出解决高速数据传输问题的几条对策。
&&& USB(Universal Serial Bus,通用串行总线)是计算机与其外设连接的一种新型接口技术。尽管在日发布的USB2.0规范中最高传输速度已经达到了480 Mbps(即60 MB/s)。但是很多USB2.0设备在实际工作时的数据传输速度却与此相差甚远。本文作者曾为此利用测试软件BusHound对诸如闪存盘、mp3、移动硬盘等典型USB2.0设备进行速度测试,其结果由表1给出。
&&& 由于USB2.0的实际数据传输速度与PC主机和USB设备的诸多因素有关,且其中任一个因素都有可能成为影响数据传输速度的瓶颈。因此对此进一步地深入探讨是很有必要的。
2 影响USB2.0数据传输速度的因素分析
(1)USB通信协议的开销
&&& 在USB数据通信的过程中,总线上传输的并不只是真正需要的数据信息,还要包括诸如同步信号、类型标识、校验码、握手信号等各种协议信息。因此实际数据传输的速率根本没有可能达到总线传输的极限速度480 Mbps。且对不同的传输类型,存在不同的协议开销。如在USB1.1协议下规定的每毫秒1帧中,对一个设备的中断传输只能进行一次,考虑中断传输的数据包为64Byte,故可算出这种传输的最大速度只有64 kB/s。
&&& 对USB2.0的情况,由于采用了微帧结构,每帧分为8个微帧,且中断传输在每个微帧下可以传输3个数据包,而每包的数据也增加到1024个字节,故可以算出USB2.0的中断传输的最大速度提高到8×3×1024 B/ms=24 MB/s。尽管与USB1.1的64 KB/s相比提高很大,却仍与480
Mbp(60 MB/s)相差很远。
&&& 如表2所示.USB2.0中最能体现高速传输特点的应属批量传输类型,其53.24 MB/s的理论传输速度上限可以说比较接近60MB/s的总线速度极限。因此,如果仅从获取最高数据传输的目标出发,应当选用批量传输工作方式。
(2)USB带宽的分配
&&& USB协议规定。控制传输应确保在低/全速时能够使用10%的带宽,高速时能够使用20%的带宽。而批量传输并没有保留任何带宽。即批量传输只有在控制传输和其它传输不需要使用其带宽的情况下,方能使用剩下的带宽。因此,尽管总线闲置时批量传输可以在一段时间里尽快地传输大量的数据,但总线忙时批量传输就可能工作很慢。
&&& 通常PC主机可能同时使用诸如鼠标、键盘、摄像头、打印机和扫描仪等多种USB设备,它们分别采用不同的传输方式。可以设想.如果开始只有一个设备以批量传输方式独占系统的全部带宽。显然速度会很快(接近53 MB/s)。但如果新插入的若干设备需要使用控制传输全部20%的保留带宽,那么先前设备批量传输的可用带宽就会下降到原先的80%,传输速度可能变为42 MB/s以下。作为一种更极端情况是批量传输设备插入前,已有设备以控制传输方式完全占有了20%的保留带宽.其它设备也以中断或者同步传输方式共同占据了剩下的80%带宽,那么批量传输设备就会因为没有保留带宽,只能处于等待的状态。
&&& USB的实时传输可以保证传输的速率恒定,而中断传输要求每帧或每个微帧都能为每个设备进行一次数据传输。因此确保主机对设备响应的实时性。然而实时传输和中断传输并不保留带宽。主机只有在总线确实能够分配足够带宽的情况下才会接受设备的通信要求。且实时传输不进行握手包的确认过程,因而不能确保数据传输的正确性。
(3)USB设备的使用环境
&&& USB的使用环境也是需要考虑的一个重要因素,如果处于一个电磁环境非常复杂的使用场合。不可避免地会受到干扰而产生传输错误。尽管这种错误在大多数通信协议(控制、中断、批量传输)的管理下并不会影响通信的最终结果,但由此引发的重发、等待等纠错工作则会明显地影响数据传输速度.甚至发生堵塞的现象。因此,USB2.0设备和PC主机间最好采用带磁环的USB2.0专用连接线,且其长度最好限制在3 m-5 m 的范围内,这样受到的电磁干扰和噪声影响较小。纠错重发的概率也较小,数据传输的速度也就显得较快。
(4)PC主机本身的硬件结构与操作系统
&&& PC主板的数据吞吐量高度取决于USB2.0主控制器在主板芯片组结构中的位置。在用来管理I/O设备和控制I/O总线通信的南桥芯片的_T作模式下. 当USB2.0主控制器挂在PCI总线时,虽然PCI总线132 MB/s的带宽处理USB1.1下12 Mbps的传输速度没有问题,但对USB2.0高速模式就会受到PCI总线带宽的限制。因此。较新的主板将USB2.0控制器与南桥芯片直接连接。从而消除PCI总线的带宽瓶颈。
&&& 目前PC机上大规模使用的Windows操作系统是非实时操作系统。存数据传输时,操作系统不能实时响应数据传输的请求。虽然从Windows98开始. 以及随后的Windows Me和Windows2000增加了对USB设备类的支持,但版本仍然是USB1.1。如需使用USB2.0设备,还需安装相应的USB2.0驱动程序。目前只有Windows XP的Service Pack1才能完全支持USB2.0。
(5)USB设备驱动程序
&&& USB设备的驱动可以分为设备驱动程序、USB总线驱动程序、USB控制器驱动程序三个部分。如图1所示。应用程序通过使用Windows API函数与USB设备驱动程序对话。USB设备驱动程序通过调用驱动程序栈完成对设备的接口操作、数据读写和管理电源等功能。USB总线驱动程序(USBD.sys)和USB2.0控制器驱动程序由操作系统提供。设备驱动通过构造URB(USB Request Block),并传给总线驱动程序来完成与总
线驱动程序的通信。通常情况下设备驱动程序需要频繁产生中断。而设备驱动程序系统优先级并不高,当计算机负荷较重或者有其它优先级较高的中断发生时,它的中断得不到处理而需要等待。如果设备驱动程序向USB总线传递URB的时候设置一个较大的缓冲区.便可减少了中断的频率而减少等待时间。从而提高数据传输的速度。此外,调整驱动程序中诸如命令排队策略、改变请求包大小等措施,也能对USB的数据传输速度产生一定的影响。
(6)USB设备的硬件与固件
&&& 由于USB2.0的速度实在太快。一般单片机通过CPU的数据读写处理方式常常成为限制数据传输速度的瓶颈。因此为了实现USB设备与PC主机之间的高速传输,必须采用专门的接口电路和固件程序。
3 通用USB2.0设备控制器的高速工作模式
&&& EZ-USB FX2是一种支持USB2.0的微控制器,FX2内部集成了USB2.0收发器、智能串行接口引擎(SIE)、增强型8051内核、8.5 KB的RAM、4 KB的FIFO存储器、I/O端口、I2C总线接口、8/16位数据总线和通用可编程接口(GPIF)等,最终通过通用的标准ATA接口连接外部电路,以适应不同的用户功能。
&&& 这里串行接口引擎SIE负责完成诸如串行数据的编码和解码,差错控制,位填充等支持USB底层协议的功能。数据传输则通常需要微处理器通过固件访问接口芯片中的端点FIFO, 也需要微处理器通过固件访问外围设备的接口电路,正如图2中标识符② 和③所示的数据传输路线。然而,这种工作方式会因微处理器固件程序执行较慢而限制数据传输速率的提高,且在高速时显得格外突出。
&&& 为了适应USB2.0高速数据传输的需要.这里采用了一种特殊的数据传输模式,如图2中标识符①所示的数据传输路线,此时无需执行内部8051固件程序便可直接实现端点FIFO与外部的数据交换。从而很好地解决了普通微处理器转发方式造成的带宽瓶颈。
&&& 实际电路结构中,4 KByte的端点FIFO可以通过固件程序配置成多重缓冲的形式,这种结构可有效地提高USB带宽的性能,平滑带宽的抖动,并减少通信等待的时间。具体控制分为从机模式和主机模式两种。主机模式是指利用FX2内部集成的通用可编程接口GPIF(General Programmable Interface)产生时序逻辑信号来控制与外围设备的数据传输。从机模式则指利用外部信号控制端点FIFO与外设之间的数据传输。
&&& GPIF可包含8个时序状态,支持控制输出线CTL、状态输入线RDY和地址信号ADR,构造的各种时序逻辑信号可以有效地支持16位数据总线的双向操作。描述GPIF波形的数组称为波形描述符,可以在设备初始化时同固件程序一起下载.GPIF将根据其表达的时序逻辑关系,执行相应的控制作用。
&&& FX2的固件程序是设备运行的核心.担负着处理USB驱动程序的请求,执行应用程序的控制指令,完成数据的读写操作,以及根据需要启动GPIF周期.实现端点FIFO与外界的数据交换等功能。固件程序并不经常参与数据传输的具体过程.通常仅起检测、判断的作用,决定GPIF的工作在何时开始.何时停止。
4 USB2.0高速数据传输的速度测试
&&& USB2,0速度测试的基本方法是通过PC主机上的测试软件,记录该PC主机与某USB设备在固定时间内交换的数据信息流量,进而算出实际使用中的数据传输速度。这里采用的速度测试软件是美国Perisoft公司提供的一种名为Bus Hound的总线分析测试软件.其界面如图3所示.这个软件在运行中不会对设备的工作产生任何影响。用该软件来观察USB设备工作情况,可以直接读取当前USB设备输入输出的数据量大小、数据传输速度和设备属性等信息。
&&& 本文为USB2.0实际传输速度的具体测试流程如图4所示。利用EZ-USB FX2控制芯片开发的USB2.0设备通用控制器和一台PC机。用一根大约2 m长的带磁环的USB2.0专用连接线连接在一起。PC机的硬件配置是Intel P4 2.4 GHz的CPU,基于Inte1848芯片组的主板,主板上带有支持高速模式的USB2.0接口,256 M DDR333内存. 操作系统是WindowsXP SP1。主机设备驱动程序采用Cypress公司为FX2系列控制器提供的通用驱动程序ezusb.sys。其中数据缓冲区设为64KB,应用程序用VC编写,其作用是向USB接口控制器发送需要数据上传的指令和上传数据量的大小后。将数据从USB设备读到PC之中。作为USB设备的FX2的固件程序在Keil集成开发环境中开发。应用GPIF进行逻辑控制.并将所用端点6设为单区容量大小为512Byte的4重缓冲模式。固件程序的功能只是将来自并行数据线的数据源源不断地送往USB的端点FIFO中。
&&& 在固件程序设计中首先采用图2中标识符②和③所示的数据传输模式.测得的数据传输速度一直在200 KB/s以下。然后采用图2中标识符①所示的数据传输模式,在实验中让PC主机多次重复采集大量数据。以提高速度测试的准确性。在PC机不接其它USB设备一次采集数据的量为650.2 Mbyte的情况下,USB2.0总线的实际数据传输速度最高达到了25.5 MB/s,即204Mbps。
&&& 综上所述,这里强调几点看法:首先,人们通常所说的480 Mbps是USB2.0总线速度的上限.考虑通信协议的开销后,实际数据的传输速度存理论上最高也只有53 MB/s(426Mbps).实际综合条件下15 MB/s至25 MB/s都可以作为合理的高速目标。其次,为了追求数据的高速传输时应当考虑采用批量方式.但在多设备同时工作的场合考虑实时响应.USB2.0下的中断方式也是不错的选择。再者,USB设备中微处理器转发数据的传统方法不能适应高速数据传输的要求,必须建立USB端点FIFO和应用数据通道之间的直接联系。另外,为了真正实现数据的高速传输.必须综合考虑PC主机本身的软硬件配置、设备驱动程序开发和实际工作环境。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:351836次
积分:6041
积分:6041
排名:第3011名
原创:192篇
转载:123篇
评论:86条
(3)(4)(2)(5)(8)(7)(8)(6)(2)(5)(5)(10)(12)(7)(11)(9)(7)(3)(5)(7)(6)(2)(5)(7)(7)(4)(9)(10)(5)(11)(11)(6)(3)(2)(8)(11)(12)(8)(6)(5)(4)(1)(4)(3)(7)(9)(23)(5)评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)提高USB2.0接口文件传输速度的办法
提高USB2.0接口文件传输速度的办法:
1、我们首先要看看U盘的文件系统是哪个?打开计算机-可移动磁盘-右击属性,如下图:
2、如上图,目前打多数U盘采用的都是FAT32格式,这也是大多数USB2.0船速速度比较慢的原因。我们先用文件大小测试一个它的读写速度,格子这里用的是一个大概四百兆的文件,为了让大家更直观的看到真实结果,我们以直接拷贝文件看看。
U盘传输速度不足10M/s
3、如果你的文件系统是FAT32的话,我们就需要进行一些优化,需要将U盘磁盘格式改成NTFS格式。我们可以通过win7自带的高级格式化技术,把U盘的文件系统转换成NTFS的,然后顺便4K对齐。方法是右击可移动磁盘-格式化-文件系统NTFS-分配单元大小4096字节,单击开始等它格式化完成,如下图:
将U盘格式化为NTFS[1]&&&
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】求大神,USB3.0 U盘传输速度大概多少?_笔记本吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,674,304贴子:
求大神,USB3.0 U盘传输速度大概多少?收藏
前几天在淘宝上买了一个威刚的U盘,8G、USB3.0的……上面写的写入速度30M/s,虽然我没指望真能达到30M/S的写入速度。可是买回来插在DV4上测试,写入最高才12M/s,这个速度靠谱么??貌似也就和我手机上的Class10的内存卡的写入速度差不多……
战神Z7-SP5D1 采用英特尔六代i5-6300HQ/GTXG/1TB HDD/5999元
回复1楼你没有3.0的口吧,虽然现在的u盘没到3.0的下限但也不会是刚到2.0的速度啊
好像没有原生的,转接的感觉提升不大,最后应该稳定在2.0的一倍到两倍没有提升是不可能的,楼主哪里搞错了
会不会你插2.0的口了?
就算插2.0口了,速度还是能比原来2.0的设备快,3.0接口的闪存介质好
我用的DV4-3125.左侧2个USB3.0接口……
应该没有吧,DV4的右侧的2个USB接口都是3.0的啊……
正常 据说威刚现在出的这款3.0的U盘缩水了
盘的问题。理论才30
你U盘有问题吧
笔记本修理,百姓公认的选速修电脑,不仅价格底,服务好,重要的是技术好,100%修复.笔记本修理服务电话:021-
缩水??怎么个说法……
是不是盘的问题怎么看??
此盘就这么设计的。没问题。没记错读取的理论数值是30还是50的。
是不是S102那款?
我勒个去……我花80买的……是便宜了还是贵了?搞了半天还弄个伪USB3.0??
还真是……
威刚 A-DATA
高质感铝制金属外壳
最大读取速度
最大写入速度
71.8 X 18.6 X 10.6mm (L x W x H)
这款写入就是11M
16G版的写能达到20M32G版的写速度50M
这个你在哪儿看的啊?我在中关村上看的参数和点评貌似都和这个不太一样……要不我也不能买啊……莫非我被坑了?!
我靠……难道8G是传说中的阉割版????
正常的应该在25M/S吧
中关村的参数只做参考 不可全信另外 你肯定看得点评是同一系列的 16G版本的因为ZOL把一个系列的点评放一起很容易让人误解
……那我这个和USB2.0的还有啥区别??
读取速度快
真伤心……人家的3.0U盘插到2.0的接口上都比我的写入快……╮(╯▽╰)╭
那移动硬盘
8G一般速度都那样16G以上的速度比较快因为闪存的原理就是这样有点类似于硬盘组raid0一般而言 U盘越大速度越快比如32G的3.0 U盘能达到50M的写入速度
这样啊,长知识了。早知道不买了,还真没我手机上的C10卡好用……
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或外观创新超值依旧 映泰E4版Z77主板评测
来源:pconline 原创&
责任编辑:chenzhangwu&
USB 3.0传输速度测试:1.CrystalDiskMark软件性能测试  CrystalDiskMark软件是一个测试你的硬盘或者存储设备的小巧工具,简单易于操作的界面让你随时可以测试你的存储设备,测试存储设备大小和测试数字都可以选择,还可测试可读和可写的速度。CrystalDiskMark测试2、Fastcopy文件复制测试:  Fastcopy,是一个以优秀的文件复制工具,其复制速度比Windows自带的复制功能要快得多,因此该软件也被喻为最快的文件复制工具。我们用它进行文件复制测试,毕竟复制操作是用户平时用得最多的写入操作之一,测试结果能较真实反应出磁盘在复制操作中的性能差距。Fastcopy文件复制测试(小文件传输)Fastcopy文件复制测试(大文件传输)2、AS SSD Benchmark数据传输测试  AS SSD Benchmark是一款专门的固态硬盘基准性能测试,它的测试内容很全面,包括了4个方面的测试(顺序读写、4K随机读写、64线程4K读写、寻道时间)。在测试中,测试文件的大小为1G Byte。通过AS SSD Benchmark的测试,可以很全面的了解一款SSD的性能。AS SSD Benchmark测试  测试小结:映泰TZ77XE4的USB 3.0接口搭配着SSD使用,文件的持续读写上表现不俗,在文件复制中,传输的速率大幅度提升,在测试过程中USB3.0运行传输中也很稳定。
键盘也能翻页,试试“← →”键
总排行榜我在第100位之后
参考价:¥699
网友评分: 4.2
DIY硬件图赏
DIY论坛帖子排行
最新资讯离线随时看
聊天吐槽赢奖品
浏览本产品的网友还关注:

我要回帖

更多关于 usb3.0速率 的文章

 

随机推荐