bulk传输
计算机把二进制数字信号转为复合二进制数字信号(加入分配、核对、堆栈等指令)读写到USB芯片适配接口,通过芯片处理信号分配给EEPROM存储芯片的相应地址存储二进制数据,实现数据的存储。EEPROM数据存储器,其控制原理是电压控制栅晶体管的电压高低值,栅晶体管的结电容可长时间保存电压值,断电后能保存数据的原因主要就是在原有的晶体管上加入了浮动栅和选择栅。在源极和漏极之间电流单向传导的半导体上形成贮存电子的浮动棚。浮动栅包裹着一层硅氧化膜绝缘体。它的上面是在源极和漏极之间控制传导电流的选择/控制栅。数据是0或1取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1。闪存就如同其名字一样,写入前删除数据进行初始化。具体说就是从所有浮动栅中导出电子。即将有所数据归“1”。写入时只有数据为0时才进行写入,数据为1时则什么也不做。写入0时,向栅电极和漏极施加高电压,增加在源极和漏极之间传导的电子能量。这样一来,电子就会突破氧化膜绝缘体,进入浮动栅。读取数据时,向栅电极施加一定的电压,电流大为1,电流小则定为0。浮动栅没有电子的状态(数据为1)下,在栅电极施加电压的状态时向漏极施加电压,源极和漏极之间由于大量电子的移动,就会产生电流。而在浮动栅有电子的状态(数据为0)下,沟道中传导的电子就会减少。因为施加在栅电极的电压被浮动栅电子吸收后,很难对沟道产生影响。
USB接口与端点
接口是指设备中哪些硬件要与USB交换信息。海量存储器支持一个接口(数据接口),其中包含三个端口。 端点是和USB交换信息的硬件设备。 接口是端点的集合。
USB的传输类型
USB(通用串行总线)用于将USB接口的外围设备(device)连接到主机(host),实现二者之间数据传输的外部总线结构,是一种快速、灵活的总线接口,USB的传输类型有控制(control)、批量(bulk)、中断(interrupt)和同步(synchronous)传输4种,它最大的特点是易于使用,即插即用,主要是用在中速和低速的外设。
U盘存储规范
U盘属于海量存储类,它的存储规范中包括4个独立的子规范,即CBI传输、Bulk-Only传输、ATA命令块、UFI命令规范。前两个协议定义了数据/命令/状态在USB总线上的传输方法,Bulk-Only传输协议仅仅使用Bulk端点传送数据/命令/状态,CBI传输协议则使用Control/bulk/interrupt三种类型的端点进行数据/命令/状态的传送。后两个协议定义了存储介质的操作命令,ATA协议用于硬盘,UFI协议则针对USB移动存储,U盘读写器的设计遵循Bulk-Only传输协议和UFI命令规范。UFI命令块规范是针对USB移动存储而制定的,它总共定义了19个12字节长度的操作命令。
Ⅱ 如何浅显易懂地解释USB-HUB的原理
作者:时国怀
来源:知乎
先回答速度降低的问题:
理论上说,一定会降低,实际情况是,不一定。
USB Hub的下游各个接口会平分上游接口带宽,加上USB Hub本身也需要传输控制信号,所以下游各个设备的带宽是必然要小于上游设备的总带宽。
实际情况是,现在主流的USB 3.0设备都很难占满总带宽(5Gbps),比如主流的3.0 U盘大概只有100MB~200MB/s的传输速度,折合带宽也不到2Gbps,所以实际情况是不一定。
USB Hub的原理比较复杂,USB协议规范里最复杂的部分就是Hub的章节,USB Hub与网络设备(以太网)的Hub原理相差很多,如果真要类比的话,复杂度大概相当于网络的设备里的路由器。
USB协议中有控制传输、Bulk传输、中断传输、同步传输四种模式,其中:
控制传输用于传输控制设备一级的指令;
Bulk传输(中文名可能叫批传输)主要用于传输USB各种大块数据,比如U盘读写的数据;
中断传输,用于传输小块数据,鼠标键盘主要使用中断传输;
同步传输,用于传输实时性不够强的数据,也就是说不保证可靠性,部分USB音频设备使用这种传输;
USB Hub负责整合下游设备的各种传输信号,其中同步传输有一定限制,如果超过总带宽的某个比例(记忆中是20%),那么超出比例的同步传输将被丢弃;中断传输和控制传输占用的是保留带宽,不允许丢弃;Bulk传输占用剩下的带宽,如果没有同步传输,那么Bulk传输大概能占到90%以上的总带宽。
USB Hub整合数据以后向上游设备发送,如果上游还有USB Hub,那么上游的设备还会继续做同样的操作。另外,需要说明的是,通常来说主机上的USB接口,本身就是一个Root Hub,如果一个PC上有多个接口,可能是多个接口共用一个控制器,每个控制器上有一个Root Hub。
所以USB Hub相当于重新封装了各种数据包,类似于网络设备里的路由器,而不像交换机或者集线器(Hub)那么简单。
同时USB Hub自身还是一个USB设备,负责向上级汇报自己的下级有多少个设备,它本身也要占用一些带宽周期性汇报自己的状态。
具体的USB Hub规范,能写几十页,请自行参考USB协议规范,英文的,很长很长。
Ⅲ usb采用什么传输方式,
USB的传输方式
针对设备对系统资源需求的不同,在USB规范中规定了4种不同的数据传输方式:
(1)等时传输方式。该方式用来连接需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等。等时传输方式以固定的传输速率,连续不断地在主机与USB设备之间传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。
(2)中断传输方式。该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上。
(3)控制传输方式。该方式用来处理主机的USB设备的数据传输。包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后,将依据先进先出的原则按队列方式处理到达的数据。
(4)批传输方式。该方式用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接。
在这4种数据传输方式中,除等时传输方式外,其他3种方式在数据传输发生错误时,都会试图重新发送数据以保证其准确性。
USB的四种传输类型
USB目前支持三种传输速度:低速的1.5Mbps、全速的12Mbps、高速的480Mbps,USB1.1的固定连结端口可以连接所有速度的周边,但当高速的装置连结在USB1.1连结埠上时,仅能表现出12Mbps的速度。USB2.0的固定连结端口可以连结三种速度的周边装置,并确保所有USB应用硬件间的兼容性。
USB的传输类型共有四种,分别是控制型传输(Control Transfer)、中断型传输(Interrupt Transfer)、巨量型传输(Bulk Transfer)以及实时型传输(Isochronous Transfer)。其中,需要特别注意的是慢速装置仅支持控制型传输与中断型传输而已。以下将分别简述各个传输的特性。
控制型传输
属于双向传输,用来支持介于主机与装置之间的配置,命令或状态的通讯。控制型传输包含了三种的控制传输型态:控制读取、控制写入以及无数据控制。其中,又可再分为2~3个阶段:设定阶段、数据阶段(无数据控制没有此阶段)以及状态阶段。在数据阶段中,数据传输(IN/OUT执照封包)是以设定阶段中所订定的为方向作数据传输,而在状态阶段中,装置将传回一个交握封包给主机。
而每一个USB装置需要将端点0作为控制传输的端点,每当装置第一次连接到主机时,控制型传输就可用来交换讯息,设定装置的地址或是读取装置的描述元与要求,由于控制型传输非常的重要,所以USB必须确保传输的过程没有发生任何的错误。这个侦错的过程可以使用CRC(Cyclic Rendancy Check;循环检核)的错误检查方式,如果这个错误无法恢复的话,只好再重新传送一次。
中断型传输
由于USB不支持硬件的中断,所以必须靠PC主机以周期性地方式加以轮询,以便知悉是否有装置需要传送数据给PC。由此也可知道,中断型传输仅是一种「轮询」的过程,而非过去我们所认知的「中断」功能。而轮询的周期非常的重要,因为如果太低的话,数据可能会流失掉,但反之太高的话,则又会占去太多的总线的频宽。
对于全速装置(12Mbps)而言,端点可以订定1ms至255ms之间的轮询间隔。因此,换算可得全速装置的最快轮询速度为1KHz。另外对于低速的装置而言,仅能订定10ms至255ms的轮询间隔,如果因为错误而发生传送失败的话,可以在下一个轮询的期间重新再传送一次,而应用这类型传输的有键盘,摇杆或鼠标等称之为人机接口装置(HID)。其中,键盘是一个很好的应用例,当按键被按下后,可以经由PC主机的轮询将小量的数据传回给主机,进而了解到那个按键刚被按下。
巨量型传输
属于单向或双向的传输,顾名思意,这类型的传输是用来传送大量的数据。虽然这些大量的数据须准确地传输,但是并无传输速度上的限制(即没有固定传输的速率)。这是因为这类型的传输是针对未使用到的USB频宽提出要求的,而根据所有可以使用到的频宽为基准,不断地调整本身的传输速率。如果因为某些错误而发生传送失败的话,就重新再传一次,应用这类型的传输装置有:打印机或扫描仪等。其中,打印机是一个很好的应用例,它须要准确地传送大量的数据,但却无需实时地传送。
实时型传输
可以是单向或双向的传输。此种传输需要维持一定的传输速度,且可以默许错误的发生。它采用了事先与PC主机协议好的固定频宽,以确保发送端与接收端的速度的速率相互吻合。而应用这类型的传输装置有:USB麦克风、喇叭或是MPEG I等装置,如此可以确保播放的频率不会被扭曲。