很多朋友对为什么USB2 0的实际传输速度与480Mbps相差甚远为什么不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。USB
很多朋友对为什么USB2.0的实际传输速度与480Mbps相差甚远为什么不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。
USB2.0的实际传输速度与480 Mbps相差甚远?USB2.0规范中的传输速度是480mbps (60 MB/s)。但实际工作中很多USB2.0设备的数据传输速度远非如此。比如用PC用u盘拷贝东西,往往比60 MB/s慢很多,这是为什么?
其实你想一想就能知道一些原因。USB总线中只有一对差分线来传输数据。只是因为它需要同时支持各种设备(一个USB主机设备可以同时使用USB HUB下的多个从设备),支持双向传输,所以必然有一个复杂的协议,协议上的开销必然相当高。此外,单个设备只能获得部分传输带宽。一般来说,主要有以下几个因素:USB协议开销、USB带宽分配、硬件结构、USB设备驱动。
USB协议开销在USB数据通信的过程中,并不是所有的有效信息都在总线上传输,还有同步信号、类型标识、校验码、握手信号等各种协议信息。所以实际数据传输速率不可能达到480 Mbps的总线传输极限速度。并且对于不同的传输类型有不同的协议开销。USB有四种传输方式:控制传输、批量传输、中断传输和同步传输。
根据USB协议,USB2.0的telling模式一秒有8个微帧,计算4中该模式的最大速率传输如下:传输类型,包长/字节,每微帧最大传输次数,最大速率/(MB/s),控制传输,643,115.137,中断传输,1024,323.436,批量传输,5121,350.781,同步传输,1024.436,控制传输:
中断传输:中断传输模式主要用于定期查询设备是否有中断数据传输。这种传输方式适用于小型、分散、不可预测的数据传输场合。键盘、鼠标等。批量传输:访问USB总线时,与其他传输类型相比,优先级最低。USB主机总是优先考虑其他类型的传输,只在总线带宽富余的时候安排批量传输,比如打印机、扫描仪、存储设备等。
同步传输:同步传输适用于以固定速率传输的数据,并且可以容忍偶尔的错误。实时传输一般用于UVC相机等设备。当数据传输不正确时,不会重新传输。USB带宽的分配
USB协议规定控制传输要保证10%的带宽可以在低/全速下使用,20%的带宽可以在高速下使用。并且批量传输不预留任何带宽。也就是说,只有当控制传输和其他传输不需要使用其带宽时,批量传输才能使用剩余带宽。所以批量传输虽然可以在总线空闲的一段时间内尽快传输大量数据,但是在总线繁忙的时候可能会工作缓慢。
通常主机同时使用鼠标、键盘、摄像头、打印机、扫描仪等多种USB设备,它们采用不同的传输方式。如果一开始批量传输只有一个设备独占系统的整个带宽,速度会很快(接近53 MB/s)。但是,如果几个新插入的设备需要使用20%的预留带宽进行控制传输,则之前设备用于批量传输的可用带宽将下降到80%,传输速度可能会变得低于42 MB/s.
作为更极端的情况,在批量传输设备插入之前,现有设备以受控传输模式完全占用预留带宽的20%。其他设备也通过中断或同步传输的方式共同占用剩余80%的带宽,因此批量传输设备由于没有预留带宽,只能处于等待状态。
硬件结构其实常用的USB接口的硬件结构如下。一个USB集线器下面挂着很多设备。甚至我们用PC的时候,直接用电脑的USB接口。那是因为厂商把USB HUB内置到了PC里面,所以才能有这么多USB接口。USB HUB的外设(设备端)所有数据之和与主机端相同,主机端不能超过480Mb/s,所以480Mb/s的速度是大家共享的,不是独占的。USB设备驱动程序
USB设备的驱动程序可以分为三部分:设备驱动程序、USB总线驱动程序和USB控制器驱动程序。应用程序通过使用API函数联系USB设备驱动程序。USB设备驱动程序可以通过调用驱动程序向设备读写数据。USB总线驱动程序和USB2.0控制器驱动程序由操作系统提供。设备驱动通过构造URB(USB请求块)并传送给总线驱动来完成与总线驱动的通信。
通常,设备驱动程序需要频繁地产生中断。但是设备驱动系统的优先级不高。当计算机负载很重或有其他高优先级中断时,它的中断不会被处理,需要等待。如果设备驱动程序在向USB总线传输URB时设置一个较大的缓冲区,可以减少中断的频率,减少等待时间。从而提高数据传输的速度。
此外,在驱动程序中调整命令排队策略、改变请求包大小等一些措施也会对USB的数据传输速度产生一定的影响。
综上所述,通常所说的480 Mbps是USB2.0总线速度的上限。考虑到通信协议的开销,理论最大数据传输速度仅为53 MB/s(426Mbps)。在实际综合条件下,15 MB/s至25 MB/s可视为合理的高速目标。更多资讯,微信微信官方账号:硬件工程师之路。更多资讯,微信微信官方账号:硬件工程师之路。更多资讯,微信微信官方账号:硬件工程师之路。
以上就是关于为什么USB2.0的实际传输速度与480Mbps相差甚远为什么的知识,希望能够帮助到大家!
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们
上一篇:霍尔效应,电磁效应的一种