简介
USB就是通用串行总线(Universal Serial Bus)的英文缩写。
USB的规范是由IBM、Compaq、Intel、Microsoft、NEC等多家公司联合制订的。USB总线规范草案最早提出于1994年,经过修订推出了版本号为0.7的正式版本,在1996年推出了USB1.0的正式版本,到了1998年又推出了修订的版本USB1.1。在USB1.1版本中定义了两种速度USB的传输工作模式,低速(Low Speed)模式的数据传输速度为1.5Mb/s;全速(Full Speed)模式使得USB的传输速度达到了12Mb/s。2000年底,USB组织又推出了新版本的规范----USB2.0,这个版本将USB总线传输速度提高到了480Mb/s的水平,支持它的芯片称为高速(High Speed)系列。
1. 传输速度高
在USB1.1协议中低速模式的数据传输速度就已经达到1.5Mb/s,远远超过了Serial Port(串行口),IrDA(红外接口)等接口,而其全速模式更加达到了12Mb/s的速度。在USB2.0协议中High Speed模式下可以到到480Mb/s的数据传输速度,这个速度不仅超越了Uitra SCSI-3,而且比IEEE1394a的速度还快。
2. 多种传输方式
今年重阳节在USB协议规范中定义了四种不同的数据传输方式:控制传输(Control)、中断传输(Interrupt)、批传输(Bulk)、同步传输(Isochronous)。这四种传输分别具有各自的特点,方便用户选择合适的传输方式。
3. 接口供电
USB线缆中包含有两根电源线及两根数据线。部分耗电比较少的设备可以直接通过USB接口供电,而不需要通过外接电源来供电。
4. 即插即用
USB设备无一例外的支持热拔插,使微软的“PnP(Plug and Play)”得以真正实现。即插即用允许用户在开机状态时将设备联接到电脑主机上,避免了一般设备遇到的重新启动的过程。
5. 拓扑结构
每一个USB主机接口通过USB Hub最多可以扩展127个外设。这样的拓扑结构使用户可以方便的通过一个USB接口同时连结多个USB外设。
6. 性价比高
USB将外设和主机硬件进行了最优化的集成,使用廉价的电缆和连结头等等一系列的措施使得USB设备的价格变得非常低廉。
USB总线系统结构
一个完整的USB总可以分为三部分:USB总线的主机、USB总线的设备以及它们之间的互连。在任何USB总线系统中,只能由一个主机,主机系统中提供USB总线的根(节点)集线器。USB总线的设备可以分为网络集线器和功能设备两大类。
电气连结特性
USB总线的最大连线长度为5m,使用 Hub也最多可以级联5级。Icron公司开发的ExtermelUSB可以将USB设备扩展到离主机500m~2000m处。
所有USB外设都由一个上行的连接。上行连结采用A型接口,而下行连结一般采用B型接口。二者在外观构造上的区别可以避免非法连结,但是在连结线的定义上没有区别。USB电缆中有四根导线:一对互相绞缠的标准规格线,用于传输差分信号D+和D-(注:对于低速设备,此处可以使用非双绞线);一对符合标准的电源线VBUS和GND。电源触点比数据触电长,这样可以保证在数据交换前USB设备获得电流。USB的连结线具有屏蔽层。
USB连结设备和主机的方法不同可以区别全速和高速的设备与低速的设备 (注:主机可以将全速传输通过软件变为低速传输) 。全速和高速连结法需要在D+上接一个1.5K的上拉电阻,而低速接法是将此电阻接到D-上。(注:高速设备总是首先以全速设备的方式连接到USB集线器,之后通过硬件协议信号,USB集线器可以进一步判断是否为高速设备,同时发送相关的硬件信号,USB设备也可判断出该集线器端口是否支持高速数据传输)具体的连结法也可以随着芯片的不同而不同。
USB总线电源可以给设备提供电压为5V,最大电流为500mA的电源。当设备发现它们的上行总线设备空闲0.3ms时,他们便进入挂起状态。PoweredUSB可以提供不但具有一般USB的功能,而且还有两根额外的电源线,可提供5V/6A,12V/6A,24V/6A的直流电源。
总线传输协议
NRZI:None-Return to Zero Inverted
星座按阴历还是阳历 USB总线属于轮训方式的总线,主机控制端口初始化所有的数据传输。这一部分由数据字段、包、数据交换构成。其中数据字段构成包,数据交换通过包实现。
数据字段:同步字段、包标示符字段、地址字段、帧号字段、数据字段。
所有的包都是从同步字段开始的,同步字段是产生最大边缘转换密度(Edge Transition Density)的编码序列,即00000001,NRZI编码为KJKJKJKK,用来使USB设备与总线的始终同步。
包标示符字段指明这个包的类型,使用反码校验。
地址字段由7位设备地址字段和4位端点地址字段组成。
世界上体型最小的猫 帧序列号字段是11位的,由主机控制其产生,每次加1。
数据字段可以在0~1023个字节之间变动。
世界十大护肤品排名 CRC校验字段用来校验地址,数据,标记(IN,OUT,SETUP)或者帧序列号。数据校验为16位,其他为5位。
包 :标记包、帧开始包、数据包、握手包、前导包。
标记包:同步,PID,地址,校验,帧结束
帧开始包:同步,PID,帧序列号,校验,帧结束
台风现在在哪里了 数据包:同步,PID,数据,校验,帧结束
握手包:同步,PID,帧结束
前导包:同步,PID
事务处理:外设对输入事务的回答、外设对输出事务的回答、主机对输入事务的回答、外设对建立事务的回答。
USB协议通过三种方法保证数据传输的正确性:
1. 协议规定在每个数据包中加入监测位(CRC校验)来发现错误;
2. 传输中如果遇到错误,USB主机控制器将重新传输,最多可以进行三次;
3. 如果2的错误依然存在,则对客户软件报告错误,客户软件可以用特定的方法进行处理。
USB总线的数据传输类型
四种传输类型
● 控制传输:在设备连结是对设备进行设置,还可以对管道等指定设备进行控制
● 中断传输:用来传输中断数据
● 批 传输:大批量传输并使用数据,传输数据的速率具有很大的宋台范围
● 同步传输:在预定的USB总线带宽里,由预先确定的传输延迟来传输实时数据
控制传输
控制传输使用的是消息管道上的双向信息流。一旦确认了一个控制管道之后,该管道使用端点号相同的一个输入端点和输出端点。
要进行控制传输,先要由主机向设备发一个总线建立的信息包,它描述了控制访问的类型,设备将以此执行控制访问。之后是零个或多个数据阶段的传输,其中包含了访问的具体
信息。最后。传输一个状态信息,用来结束这次控制传输,端点可以将这次控制传输的状态回送给客户软件。此次控制传输完成以后,可以进行这个端点的下一个控制传输,主机控制器安排每次控制传输在总线上进行传输的时间。
控制传输最少有两个阶段:建立阶段和状态阶段。在建立阶段和状态阶段之间还有可能存在数据阶段,控制传输可以包括某些数据阶段,也可以不包括数据阶段。在建立阶段里,建立事务用于向外设的控制端点传输信息。建立事物在格式上类似于输出,但是使用的是建立标识而不是输出的标识。
Setup包的数据格式属于一个命令集,这个集合能够保证主机和设备之间的正常通信。S
etup包后的数据传输也具有USB总线定义的格式,会传的状态信息同样具有USB总线定义的格式。
中断传输
中断传输事务仍然由主机发起,主机向设备发送一个输入或者输出的信息包。当外设接收到输入标记时,便可返回数据、NAK或STALL,如果主机接收到的数据时正确的,作为对数据包接收的反应,则发出ACK握手,如果数据包损坏,则不返回握手。
中断传输视为这样一类设备设计的:他们只发送或接收少量数据,而且并不经常进行传输,但有一个确定的服务器。对中断传输有以下两点要求:管道的最大服务器能够得到保证;由于错误而引起的重发在下一服务期进行。
wMaxPacketSize:全速 64字节卤料配方
低速 8字节
中断管道的端点可以指明它要求的总线访问周期。全速设备要求的时间周期为1ms~255
ms,而低速设备为10ms~255ms。在设置期间,USB总线系统软件,根据它们的要求来决定一个服务的周期长度。USB总线提供的服务周期长度可能比设备要求的要短些,但不会少于最短的1ms。客户软件和外部设备只能够确定两次传输之间的时间长度不会比要求的周期时间长。如果传输中出现错误,那么周期事件必然要越界。当客户软件有一个中断传输的请求(IRP)时,只是选中某个端点。如果总线轮到此中断传输使用时,没有请求(IRP)处于待发状态,则该端点没有机会在此刻传数据,一旦出现了一个请求(IRP),它的数据在下一次轮训的时刻发出。
批传输
批处理事务类型的特点是:以错误监测和重试的方式保证主机和外设之间的数据无错发送的能力。
为了支持在某些不确定的时间进行的相当大量的数据通信,因此设计了批传输类型,它可以利用任何可获得的带宽。批传输有以下几个特性:可以使用所能得到的最大带宽访问总线;如果总线出现错误或传输失败,可以进行重发;可以保证数据必被传输,但不保证传输的带宽和延迟。
批传输的端点决定自己可以接受或传输的最大数据净负荷区长度。USB总线规定最大的批数据净负荷区的长度为8、16、32或64字节。俄个最大创都市值数据包中数据区的最大长度,不包括协议要求的一些管理信息。
只有全速以上的设备可以使用批传输。
同步传输
同步事务有标记和数据阶段,而没有握手阶段,不支持握手或重试。同步数据的建立、传输和使用时连续且实时的。同步数据以固定的速率发送和接收实时的信息,使接收者与发送者保持相同的时间安排。同步数据对传输延迟也非常敏感,所以确定同步管道的带宽,必须满足对相关外设的采样特性。
实时的传输同步数据坑定会发生潜在的瞬时数据流失现象,即会有错误产生。实际应用中,USB总线的数据出错率小到几乎可以忽略不计。
在USB总线环境下,同步传输满足一下要求:固定的延迟下,确保对USB带宽的访问;只要数据能提供的上,就能保证管道上的恒定数据传输速度;由于错误而造成的传输失败并
不需重传数据。
USB总线限制了同步管道的最大数据区长度为1023字节。
USB总线通道
USB总线的数据传输是在主机软件和一个USB总线上指定设备的指定端点上进行的。这种主机软件和USB总线设备的联系称作设备通道(接口)。USB总线可以支持多达127个设备通道。一个指定的USB总线设备还可能有多个微通道,也就是管道。管道将主机软件的寄存器和总线设备的端点连结起来。管道内数据的传输因传输方向的不同由单向和双向两种,也可以按照数据的结构而划分为消息和流。流数据不像消息数据,它没有USB规范所定义的结构,而与管道的数据带宽、传输服务类型、端点方向和缓冲区大小等特性有关。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论