为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

USB2.0协议知识详解课件PPT

2021-05-30 129页 ppt 4MB 15阅读

用户头像 个人认证

笑一笑就好

暂无简介

举报
USB2.0协议知识详解课件PPTUSB2.0协议详解*序USB发展历史传统的串口、并口通讯方式逐渐不能满足现有系统或者设备的数据传输速率需求。以Intel为首的七家公司于1994年推出了USB(UniversalSerialBus,通用串行总线协议)概念,并在随后的几年内不断的对USB协议进行改进,成功推行USB1.1;2004年底,正式推出了USB2.0协议。接口与USB1.1兼容;2007秋季,正式推出了USB3.0协议。*序USB1.1与USB2.0之间的差别*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范U...
USB2.0协议知识详解课件PPT
USB2.0详解*序USB发展历史传统的串口、并口通讯方式逐渐不能满足现有系统或者设备的数据传输速率需求。以Intel为首的七家公司于1994年推出了USB(UniversalSerialBus,通用串行总线协议)概念,并在随后的几年内不断的对USB协议进行改进,成功推行USB1.1;2004年底,正式推出了USB2.0协议。接口与USB1.1兼容;2007秋季,正式推出了USB3.0协议。*序USB1.1与USB2.0之间的差别*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构;USB主机:硬件和软件USBHUB规范*USB体系简介USB是一种支持热插拔的高速串行传输总线,使用差分信号来传输数据,最高速度可达480Mb/S。USB支持“总线供电”和“自供电”两种供电模式。在总线供电模式下,USB2.0设备最多可以获得500mA的电流;USB2.0被设计成为向下兼容的模式,当有全速(USB1.1)或者低速(USB1.0)设备连接到高速(USB2.0)主机时,主机可以通过分离传输来支持它们。一条USB总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB以及USB功能设备。*USB体系简介USB体系包括“主机”、“设备”以及“物理连接”三个部分。主机是一个提供USB接口及接口管理能力的硬件、软件及固件的复合体,可以是PC,也可以是OTG设备。一个USB系统中仅有一个USB主机;设备包括USB功能设备和USBHUB,最多支持127个设备;物理连接即指的是USB的传输线。在USB2.0系统中,要求使用屏蔽的双绞线。USB体系采用分层的星型拓扑来连接所有USB设备*USB体系简介以HOST-ROOTHUB为起点,最多支持7层(Tier),也就是说任何一个USB系统中最多可以允许5个USBHUB级联。一个复合设备(CompoundDevice)将同时占据两层或更多的层。ROOTHUB是一个特殊的USBHUB,它集成在主机控制器里,不占用地址。“复合设备(CompoundDevice)”可以占用多个地址。所谓复合设备其实就是把多个功能设备通过内置的USBHUB组合而成的设备,比如带录音话筒的USB摄像头等。一个USBHOST最多可以同时支持128个地址,地址0作为默认地址,只在设备枚举期间临时使用,而不能被分配给任何一个设备,因此一个USBHOST最多可以同时支持127个地址,如果一个设备只占用一个地址,那么可最多支持127个USB设备(含USBHUB)。*USB体系简介*USB体系简介USB采用轮询的广播机制传输数据所有的传输都由主机发起,任何时刻整个USB体系内仅允许一个数据包的传输,即不同物理传输线上看到的数据包都是同一被广播的数据包;USB采用“令牌包”-“数据包”-“握手包”的传输机制在令牌包中指定数据包去向或者来源的设备地址和端点(Endpoint),从而保证了只有一个设备对被广播的数据包/令牌包作出响应。握手包表示了传输的成功与否。数据包:USB总线上数据传输的最小单位,包括SYNC、数据及EOP三个部分。其中数据的格式针对不同的包有不同的格式。但都以8位的PID开始。PID指定了数据包的类型(共16种)。令牌包即指PID为IN/OUT/SETUP的包。端点(Endpoint):是USB设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传输。设备支持端点的数量是有限制的,除默认端点外低速设备最多支持2组端点(2个输入,2个输出),高速和全速设备最多支持15组端点。**包包的基本格式包结尾字段(EOP)CRC字段数据字段PID字段同步字段(SYNC)USB体系简介*令牌(token)包CRC5ENDPADDRPIDSYNC5位4位7位8位8位PIDUSB体系简介*数据包CRC16DATAPIDSYNC16位0~1023字节8位8位/32位PIDSYNC8位8位/32位SYNC:Low/Fullspeed为8位;Hi-speed为32位;PID握手包PIDUSB体系简介USB体系简介管道(Pipe) 管道是主机和设备端点之间数据传输的模型,共有两种类型的管道;无格式的流管道(StreamPipe)有格式的信息管道MessagePipe)。 任何USB设备一旦上电就存在一个信息管道,即默认的控制管道,USB主机通过该管道来获取设备的描述、配置、状态,并对设备进行配置。USB设备连接到HOST时,HOST必须通过默认的控制管道对其进行枚举,完成获得其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。USB设备的即插即用特性即依赖于此。*USB体系简介USB体系四种传输类型的控制传输:主要用于在设备连接时对设备进行枚举以及其他因设备而异的特定操作。中断传输:用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。批量传输:用于对延迟要求宽松,游戏手柄等大量数据的可靠传输,如U盘等。同步传输:用于对可靠性要求不高的实时数据传输,如摄像头、USB音响等。 不同的传输类型在物理上并没有太大的区别,只是在传输机制、主机安排传输任务、可占用USB带宽的限制以及最大包长度有一定的差异。*USB体系简介USB设备通过管道和HOST通信,在默认控制管道上接受并处理以下三种类型的请求:标准请求: 一共有11个标准请求,如得到设备描述、设置地址、得到配置描述等。所有USB设备均应支持这些请求。HOST通过标准请求来识别和配置设备。类(class)请求: USB还定义了若干个子类,如HUB类、大容量存储器类等。不同的类又定义了若干类请求,该类设备应该支持这些类请求。设备所属类在设备描述符中可以得到。厂商请求: 这部分请求并不是USB规范定义的,而是设备生产商为了实现一定的功能而自己定义的请求。*USB体系简介USB接口扩展USBHUB提供了一种低成本、低复杂度的USB接口扩展方法。HUB的上行PORT面向HOST,下行PORT面向设备(HUB或功能设备)。在下行PORT上,HUB提供了设备连接检测和设备移除检测的能力,并给各下行PORT供电。HUB可以单独使能各下行PORT,不同PORT可以工作不同的速度等级(高速/全速/低速)。USBHUBHUB由HUB重发器(HUBRepeater)、转发器(TransactionTranslator)以及HUB控制器(HUBController)三部分组成。HUBRepeater是上行PORT和下行PORT之间的一个协议控制的开关,它负责高速数据包的重生与分发;HUB控制器负责和HOST的通信,HOST通过HUB类请求和HUB控制器通讯,获得关于HUB本身和下行PORT的HUB描述符,进行HUB和下行PORT的监控和管理。转发器提供了从高速和全速/低速通讯的转换能力,通过HUB可以在高速HOST和全速/低速设备之间进行匹配。HUB在硬件上支持Reset、Resume、Suspend。*USB体系简介USBHOST在USB体系中负责设备连接/移除的检测、HOST和设备之间控制流和数据流的管理、传输状态的收集、总线电源的供给。*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构;USB主机:硬件和软件USBHUB规范*USB数据流模型USB体系在实现时采用分层的结构*USB数据流模型在HSOT端,应用软件(ClientSW)不能直接访问USB总线,而必须通过USB系统软件和USB主机控制器来访问USB总线,在USB总线上和USB设备进行通讯。从逻辑上可以分为功能层、设备层和总线接口层三个层次。功能层完成功能级的描述、定义和行为;设备级则完成从功能级到传输级的转换,把一次功能级的行为转换为一次一次的基本传输;USB总线接口层则处理总线上的Bit流,完成数据传输的物理层实现和总线管理。途中黑色箭头代表真实的数据流,灰色箭头代表逻辑上的通讯。*USB数据流模型物理上,USB设备通过分层的星型总线连接到HOST,但在逻辑上HUB是透明的,各USB设备和HOST直接连接,和HOST上的应用软件形成一对一的关系。如下图所示:各应用软件-功能设备对之间的通讯相互独立,应用软件通过USB设备驱动程序(USBD)发起IRQ请求,请求数据传输。主机控制器驱动程序(HCD)接收IRQ请求,并解析成为USB传输和传输事务(Transaction),并对USB系统中的所有传输事务进行任务排定(因为可能同时有多个应用软件发起IRQ请求)。主机控制器(HostController)执行排定的传输任务,在同一条共享的USB总线上进行数据包的传输。如右图所示。*USB数据流模型USB端点、管道和接口的关系。USB系统中数据的传输,宏观的看来是在HOST和USB功能设备之间进行;微观的看是在应用软件的Buffer和USB功能设备的端点之间进行。一般来说端点都有Buffer,可以认为USB通讯就是应用软件Buffer和设备端点Buffer之间的数据交换,交换的通道称为管道。应用软件通过和设备之间的数据交换来完成设备的控制和数据传输。通常需要多个管道来完成数据交换,因为同一管道只支持一种类型的数据传输。用在一起来对设备进行控制的若干管道称为设备的接口;一个USB设备可以包括若干个端点,不同的端点以端点编号和方向区分。不同端点可以支持不同的传输类型、访问间隔以及最大数据包大小。除端点0外,所有的端点只支持一个方向的数据传输。端点0是一个特殊的端点,它支持双向的控制传输。管道和端点关联,和关联的端点有相同的属性,如支持的传输类型、最大包长度、传输方向等。*USB数据流模型四种传输类型(控制/中断/批量/同步传输)1.控制传输:控制传输是一种可靠的双向传输,一次控制传输可分为三个阶段。第一阶段为从HOST到Device的SETUP事务传输,这个阶段指定了此次控制传输的请求类型;第二阶段为数据阶段,也有些请求没有数据阶段;第三阶段为状态阶段,通过一次IN/OUT传输表明请求是否成功完成。控制传输通过控制管道在应用软件和Device的控制端点之间进行,控制传输过程中传输的数据是有格式定义的,USB设备或主机可根据格式定义解析获得的数据含义。其他三种传输类型都没有格式定义。控制传输对于最大包长度有固定的要求。对于高速设备该值为64Byte;对于低速设备该值为8;全速设备可以是8或16或32或64。高速端点的控制传输不能占用超过20%的微帧,全速和低速的则不能超过10%的帧。在一帧内如果有多余的未用时间,并且没有同步和中断传输,可以用来进行控制传输。*USB数据流模型2.中断传输:中断传输是一种轮询的传输方式,是一种单向的传输,HOST通过固定的间隔对中断端点进行查询,若有数据传输或可以接收数据则返回数据或发送数据,否则返回NAK,表示尚未准备好。中断传输的延迟有保证,但并非实时传输,它是一种延迟有限的可靠传输,支持错误重传。对于高速/全速/低速端点,最大包长度分别可以达到1024/64/8Bytes。高速中断传输不得占用超过80%的微帧时间,全速和低速不得超过90%。中断端点的轮询间隔由在端点描述符中定义,全速端点的轮询间隔可以是1~255mS,低速端点为10~255mS,高速端点为(2*interval-1)*125uS,其中interval取1到16之间的值。除高速高带宽中断端点外,一个微帧内仅允许一次中断事务传输,高速高带宽端点最多可以在一个微帧内进行三次中断事务传输,传输高达3072字节的数据。*USB数据流模型3.批量传输:批量传输是一种可靠的单向传输,但延迟没有保证,它尽量利用可以利用的带宽来完成传输,适合数据量比较大的传输。低速USB设备不支持批量传输,高速批量端点的最大包长度为512,全速批量端点的最大包长度可以为8、16、32、64。批量传输在访问USB总线时,相对其他传输类型具有最低的优先级,USBHOST总是优先安排其他类型的传输,当总线带宽有富余时才安排批量传输。高速的批量端点必须支持PING操作,向主机端点的状态,NYET表示否定应答,没有准备好接收下一个数据包,ACK表示肯定应答,已经准备好接收下一个数据包。*USB数据流模型4.同步传输:同步传输是一种实时的、不可靠的传输,不支持错误重发机制。只有高速和全速端点支持同步传输,高速同步端点的最大包长度为1024,全速的为1023。除高速高带宽同步端点外,一个微帧内仅允许一次同步事务传输,高速高带宽端点最多可以在一个微帧内进行三次同步事务传输,传输高达3072字节的数据。全速同步传输不得占用超过80%的帧时间,高速同步传输不得占用超过90%的微帧时间。同步端点的访问也和中断端点一样,有固定的时间间隔限制。在主机控制器和USBHUB之间还有另外一种传输——分离传输(SplitTransaction),它仅在主机控制器和HUB之间执行,通过分离传输,可以允许全速/低速设备连接到高速主机。分离传输对于USB设备来说是透明的、不可见的。*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构;USB主机:硬件和软件USBHUB规范**USB接口A型连接头1234B型连接头1243黑Ground4绿Data+(D+)3白Data-(D-)2红Vcc1缆线颜色信号名称引脚编号USB物理规范USB物理规范注:MiniUSB接口和MicroUSB接口不属于USB2.0协议范围;目前多数手机厂商已宣布统一使用MicroUSB接口作为手机充电器标准接口。*USB物理规范USB连接器支持热拔插;高速/全速USB线缆要求使用内含双绞线的屏蔽线,而且必须打上符合USB使用标记;低速USB推荐但非要求使用双绞线和屏蔽线;*USB物理规范USB合法cable标准可分离的USBcable=APlug+BPlugCable最大长度取决于信号衰减和传播延迟,同时受电压跌落限制(cable跌落电压<125mV);*USB物理规范高速/全速不可分离USBcableAplug+线或客户定义端Aplug端与线的定义同标准USBcable,都是必须适用与高速/全速;Cable差分线间skew<100ps;满足高速/全速的阻抗特性要求;电压跌落,衰减和传播延迟等也要满足相关要求;*USB物理规范低速不可分离USBcableAplug+线或客户定义端满足阻抗特性和负载cap要求(单端cap:200~450pf);cable最大长度取决于低速信号的上升和下降时间(即传播延迟<18ns,以满足Tr/Tf要求);差分skew<100ps;USB标准cable禁止使用在低速USB总线;USB标准cable的负载电容对低速USB总线而言太大了;*USB物理规范USB图标(Icon)Device的USB接口打此图标,需要交费;不打图标使用USB接口可不缴费;*USB物理规范USBCable机械配置与需求High-/full-speedcable电源线:28~20AWG,不要求绞线;信号线:28AWG,双绞线(每圈间隔60mm-80mm);排扰线(drainwire):28AWG镀锡铜线;镀锡铜编织层:有效区>65%;Low-speedcable;电源线:28~20AWG,不要求绞线;信号线:28AWG,推荐双绞线;排扰线(drainwire):28AWG镀锡铜线;镀锡铜编织层:有效区>65%,推荐使用;*USB物理规范额定电压30V(rms)操作温度范围:0°to+50°存储温度:-20°to+60°电阻:*USB物理规范USB接地USB的屏蔽线必须与插头的机壳地相连;用户可以选择USBDevice与Cable的接地机制以满足实际需求和安规/EMI/ESD/RFI等要求;*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构;USB主机:硬件和软件USBHUB规范*USB电气规范信号发送高速信号发送简介支持480Mbps的高速信号传送,差分线每条线末端采用45ohm端接,合计差分阻抗为90ohm;HUB下行端口,必须支持高速、全速和低速;HUB上行端口,必须支持高速、全速,不支持低速;所以上行端口的D-线不允许上拉1.5K;*USB电气规范ExampleHigh-speedCapableTransceiverCircuit*USB电气规范USB驱动器特性FS&LS输出的低电平电压0~0.3V;输出高电平电压2.8V~3.6V;HS输出的差分低电平电压-10~+10mV;输出差分高电平电压360~440mV;USBPort信号还必须能连续耐受与Vbus、GND或其他数据线的短路;USBPort信号在任何驱动状态都必须能连续耐受如下电压波形;USB信号发送的最大输出波形*USB电气规范FS驱动器特性连接要求用屏蔽的双绞线,差分阻抗90ohm±15%;共模阻抗30±30%;单线最大延迟26ns;不支持HS的,每条线驱动器的阻抗要求28~44ohm;支持HS的,每条线驱动器的阻抗要求40.5~49.5ohm;*USB电气规范FS信号波形*USB电气规范LS驱动器特性连线与device组合电容,450pF>D+或D-线电容<200pF;无阻抗控制要求;Cable传播延迟小于18nS;LS信号波形*USB电气规范HS(480Mbps)驱动器特性输出驱动器单端阻抗45Ω±10%,差分阻抗90Ω±10%;D+或D-输出高电平:400mV±10%;输出低电平:0±10mV;电流驱动方式,D+或D-正常驱动电流17.78mA;下行端口D+或D-下拉15KΩ±10%电阻到GND(要关注IC是否内部集成此电阻,参考如下摘录);要求使用屏蔽线。要求差分阻抗90ohm±15%,共模阻抗30ohm±30%;单线路延迟<26ns;PCB板内走线控制差分阻抗90ohm,延迟可达4ns(长度约20inch以上);*USB电气规范信号的上升时间/下降时间FS/LSTr/Tf(10%~90%)时间:4~20ns1.3V300KΩ;FS/LSHUB&HOST下行端口的D+或D-电容<150pf;FSDevice上行端口D+或D-电容:可分离cable<100pF;集成cable<75pF;LSDeviceD+或D-电容(集成Cable)<450pF;FS的D+或D-线上加铁氧体beadisdiscouraged;*USB电气规范HSD+或D-的DC阻抗:40.5Ω≤ZHSDRV≤49.5Ω.HS差分端接阻抗:80Ω≤ZHSTERM≤100ΩHSD+或D-对地CAP<10pF;差分CAP<5pF;HS的D+或D-线上加铁氧体beadisstronglydiscouraged;HS负载等效电路*USB电气规范信号电平FS/LS电平*USB电气规范--HS电平*USB电气规范连接和断开信号*USB电气规范HS设备是通过检测到信号线上出现双倍的信号电压来判断连接断开的;525mV方案
。在该编码方案中,“1”表示电平不变,“0”表示电平改变。图8列出了一个数据流及其它的NRII编码,在该图的第二个波形图中,一开始的高电平表示数据线上的J态,后面就是NRZI编码。NRZI数据编码*USB电气规范位插入为了确集信号发送的准确性,当在USB上发送一个包时,传送设备就要进行位插入操作。所谓位插入操作是指在数据被编码前,在数据流中每六个连续的‘1’后插入一个‘0’,从而强迫NRZI码发生变化,如图所示。位插入数据编码序列原始数据位插入数据同步块数据包NRZI编码后的数据位插入*USB电气规范位插入操作从同步格式(如图10所示)开始,贯穿于整个传送过程,在同步格式端的数据‘1’作为真正数据流的第一位。位插入操作是由传送端强制执行的,是没有例外的。如果严格遵守位插入规则,甚至在EOP信号结束前也要插入一位‘0’位。同步格式NRZI数据编码同步格式空闲*USB电气规范接收端必须能对NRZI数据进行解码,识别插入位并去掉它们。如果接收端发现包中任一处有七个连续的“1”,则将会产生一个位插入错误,该数据包将被忽略。关于位的插入有一个特例,那就是刚好在EOP前的时间间隔,EOP前的最后一个数据位可能被集线器的转换偏移而拉长,这种情况如图11所示。传送的数据接收的特别位,没有错从传送器来的数据接收端数据对EOP前的特别位的说明*USB电气规范同步pattern全速/低速:KJKJKJKK;共8bits;高速:15个KJ对+2个KK;32bits;每个Hub允许丢4bit;经过5级Hub后,最少可能只有12bits;*USB电气规范数据信号的发送速率高速数据发送率通常为480.000Mb/s,主机,集线器和高速设备的数据率误差为±0.05%(500ppm)。对支持高速USB的主机,集线器和设备,工作在任何速率下数据率误差为±0.05%(500ppm)。全速数据发送率通常为12.000Mb/s,主机,集线器和高速设备的数据率误差为±0.25%(2500ppm)。集线器控制器的数据率应该准确地知道,其误差最好控制在±0.05%(500ppm)内。低速数据发送率为1.50Mb/s,低速功能设备所允许的误差为±1.5%(15000ppm)。以上所述的误差,主要由下面的几种情况所引起:初始频率精度;crystal负载电容量的影响振荡器上电压供应的稳定性影响温度的影响器件的老化*USB电气规范帧与帧间隔(FrameInterval)在低速、全速模式下,主机每间隔1ms(这个1ms称为一帧,允许误差0.005ms)发送一个帧开始令牌包SOF(StartofFrame)。包含SOF标记、帧序列号及CRC5校验码。 在高速模式下,主机每间隔1/8ms(即为一微帧,允许误差0.0625μs)发送一个帧开始令牌包SOF。相邻帧间隔时间差<0.5bittime(fullspeed);相邻微帧间隔时间差<4bitstime(highspeed);*USB电气规范数据源的抖动在数据发送的边缘时间内,数据源可能发生一些变化(即抖动)。处在任何数据变化集间的时间为N*Tperiod±抖动时间,其中N为发生变化的位数,Tperiod为具有一定范围的数据率的实际时间段。数据抖动的测量与计算最大上升沿和下降沿时所用的负载相同,并且它们在数据线的交叉点处进行测量,如图12。对高速传送,Jitter需要满足眼图要求;对于全速传送,任何连续的差分数据变化的抖动时间为必须在±2.0ns内,对于任何一个成对出现的差分数据变化(Jk到下一个Jk的变化或kJ到下一个kJ的变化)的抖动时间必须在1.0ns内。对于低速传送,任何连续的差分数据变化的抖动时间必须在25ns内,而任一成对出现差分数据变化的抖动时间必须在±10ns内。这些抖动的现象包括时间的变化,主要归咎于差分缓冲器的延迟和上升沿及下降沿时间的不匹配,内部时钟抖动,噪声及其他随机因素的影响。*USB电气规范差分数据线抖动数据抖动分类连续变化成对的变化Tperiod的整数多元化桥接点*USB电气规范接收端数据的抖动当抖动存在时,任何设备类型的数据接收必须能正确地对差分数据进行解码。这种情况的抖动可能是由上面所说的时延不匹配所引起,也可能是由源端和目标端数据速率的不匹配所引起。在特定的应用中,只要抖动条件满足,输出驱动器的抖动可能对设备时钟的精确性产生影响。详细的全速/低速接收端Jitter预算请参考USBspec2.0Table7-4和7-5;高速接收端在BER<=10E-12下,Jitter应满足相应模板要求;*EOP宽度全速/低速EOPEOP中SE0的宽度为2bitstime;发送端:全速SE0时间:160~175ns;低速SE0时间:1.25us~1.5us接收端:全速SE0时间应>=82ns;低速SE0时间应>=670ns;高速EOP*USB电气规范电缆的延迟USB中传送信号的电缆所允许的时延为26ns,对于一个标准的USB可分电缆,其时延由从串行A口连接器端到串行B口连结端计算而得,并且其值小于26ns;而对于其它电缆,其时延由从串行A口连结器端到该电缆所连设备端计算而得。电缆延迟必须<5.2ns/米;即标准USB2.0电缆最大可以支持到5M以上;低速USBcable延迟必须<18ns;电缆的信号衰减对于进行高速信号发送的每根电缆而言,信号对(D+,D-)所允许的最大衰减量右表所示。信号时延Cable允许的最大衰减*USB电气规范USB最大端到端信号延迟全速/低速:Host等待响应的最大时间为18bitstime;高速:721bitstime;*USB测试模式顺应性测试需要:高速的USBHub,Host和的Device才必须支持USBTestMode;USB全速和低速没有testmode;USBtestmode下的端口会反复发送如下数据,SI眼图测测试即可完成;*USB电气规范电源分布所有USB设备的缺省电压为低电压,当设备要从低电压变化到高电压时,则是由软件来控制的。在允许设备达到高电压之前,软件必须保证有足够的电压可供使用USB支持一定范围的电压来源和电压消耗供应者,包括如下的部分。根端口集线器:它是直接与USB主机控制器相连的,并与其相同的电源来源。从外部获得操作电压(AC或DC)的系统,在每个端口至少支持五个单位负载,这些端口称为高电压端口。由电池组提供电压的系统可以支持一个或五个单位负载。哪些只能支持一个单位负载的端口称为低电压端口。从总线获得电压的集线器:它的所有内部功能设备和下形端口都从它的上形端口的Vbus上获得电压。在电压升高时,它可以接一个单位负载,经过初始设置后,它可以接五个单位负载。初始设置电压被分配给了集线器,任一固定功能设备和外部端口。它的外部端口只能接一个单位负载,当集线器处于活动或挂起态时,它必须为这个端口提供电流。该种集线器如图所示。注:一个单位负载为100mA?*USB电气规范上行数据端口上行Vbus可接五个单位负载下行数据端口集线器控制器调节器不可移动功能设备一个单位负载一个单位负载/端口下行Vbus总线提供电压的集线器*USB电气规范自给电压集线器:如图所示,它的任一内部功能设备和下形端口不再从Vbus上获得电压,但当它的其余部分电压下降时,它的USB接口可接一个单位负载并从Vbus处获得电压,以允许该接口能工作。从外部(从USB)获得操作电压的集线器,可在每个端口接五个单位负载。由电池组提供电压的集线器,每端口可接一个或五个单位负载。Host和自供电Hub必须有OCP,OCP值要<=5A,拔插cable和上电Inrush不能触发OCP;OCP后必须可自动恢复,无需用户机械干预;常用聚合物PTC或固态开关实现;局部电压供给集线器控制器调节器上行Vbus,可接1单位负载(max)下行数据口上行数据口下行Vbus不可移动设备调节器电流限制电流限制复合的自己电压集线器*USB电气规范从总线获得电压的低电压功能设备,如图,该种设备上的所有电压均来自Vbus,在任一时刻,它们最多只能接一个单位负载。要求电压在4.4V以上都可以正常工作;从总线获得电压的高电压设备:如图所示,该种设备上的所需电压均来自Vbus。在电压升高时,它们至多只能接一个单位负载(要求在4.4V以上能正常工作),但当初始设置后,可接五个单位负载(要求在4.75V以上能正常工作)。总线提供的高电压功能设备调节器功能设备控制器功能设备上行数据口上行Vbus,可接5单位负载(max)上行数据端口功能设备上行Vbus,只接一个单位负载(max)调节器总线提供的低电压功能设备*USB电气规范自给电压功能设备,如图,当它function部分外的其余设备电压下降时,Vbus上可以最多接一个单位负载,以使USB接口处于活动状态。上行Vbus,可接1个单位负载(max)功能设备控制器功能设备调节器局部电压供给调节器自给电压功能设备上行数据端口任何设备在任何时间都不允许向其上行端口的Vbus供电,只能向对应上行端口取电;在Vbus电源检测OK前,device也不允许向USB数据线(D+/D-)的上拉电阻供电;在检测到Vbus消失后10s内,停止向数据线(D+/D-)的上拉电阻供电;Device上电要确认没有向上行端口Vbus供电后才会接受复位信号;*USB电气规范电压跌落预算高压端口输出电压:4.75V~5.25V;低压端口输出电压:4.4V~5.25V;总线供电的Hub允许最大电压跌落350mV(从cable源端到Hub输出连接器端);可拔插的USBcable允许的最大电压跌落为125mV;GND允许的最大电压跌落为125mV(从上行端口到下行端口);所有的Hub和功能设备要能够在4.4V下提供配置信息;只有低压功能端口操作电压可低至4.4V;带载超过一个负载的功能设备,其上行端口连接器处电压应>=4.75V;*USB电气规范挂起与唤醒期间的电源控制低电压设备或高电压设备工作于低电压下时,它们所允许的挂起电流限制为500uA,如果一个设备被初始设置为高电压并且具有远程唤醒功能,则在挂起期间,它的电流可达到2.5mA.在挂起状态下允许间隔1s以上的,电流达到100mA(或500mA)的瞬间脉冲电流;脉冲电流<100mA/uS;当一个集线器处在挂起状态时,它必须仍能为每个端口提供最大电流值。对于具有远程唤功能的设备,当它的电压在升高而系统的其余部分仍处于挂起态时,上面的要求是十分必要的。当设备被唤醒时(远程唤醒或由唤醒信号唤醒),它们此时必须能限制Vbus上的inrush电流,集线器内Vbus所允许的最大电压落差为330mV。设备必须有足够的bypass电容器或要有一个可控制的上电时序,以便当设备正在被唤醒的任一时间内,从集线器输入的电流不能超过端口的最大电流允许值。*USB电气规范设备的动态加载与卸载插入或拨掉一个集线器或其它功能设备时,不应影响网络中其余设备的正常工作为前提。卸载掉一个功能设备将中止设备与主机间的通信,此时集线器向主机警告该端口已被中断。动态加载某设备可能会产生强电流,因而会使HUB上的其他端口的Vbus低于它的最小工作电压,因此必须引用一些限流装置。Hub内Vbus允许的最大跌落电压为330mV;下行端口允许的最大负载为10uF+44Ω;每个Hub的下行端口电源线必须带有大于120uF的lowESR的Bypass电容;在动态加载期间,通过使连结器上的信号端口处于空闲,以使其免受强电流的破坏,这样为了使电压端口首先进行联系。这就保证,在信号端口连接前,分布在下行设备上的电压是可用的。另外,在连接期间,信号线均处于高阻抗状态,因此标准信号线上此时没有电流。*USB电气规范设备从网络中卸去时,电缆的电感系统将在设备电缆的开口端产生一个很大的回流电压,它是没有破坏性的。但在电缆设备的末端必须有一些小容量的电容器(大于1uF),以保证产生的回流电压不会引起设备端电压极性的改变。但回流电压会产生噪音,通常利用分流电容器进行适当分流以减少噪音,分流电容器对回流电压及其产生的噪声进行缓和。*USB电气规范电气特性详细要求参考USB2.0协议Page206Table7-7.DCElectricalCharacteristics;*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构;USB主机:硬件和软件USBHUB规范*USB协议层规范USB采用littleedian字节顺序,在总线上先传输一个字节的最低有效位,最后传输最高有效位,采用NRZI编码,若遇到连续的6个1要求进行人为填充,即插入一个0(详见《NRZI编码.pdf》)。*USB协议层规范所有的USB包都由SYNC开始,高速包的SYNC宽度为32bit(31bits“0”+1bit“1”),全速/低速包的SYNC段度为8bit(0000,0001)。实际接收到的SYNC长度由于USBHUB的关系,可能会小于该值。USB数据包的格式*USB协议层规范PID表征了数据包的类型,分为令牌(Token)、数据(Data)、握手(Handshacke)以及特殊包4大类,共16种类型的PID。*USB协议层规范*USB协议层规范对于令牌包来说,PID之后是7位的地址和4位的端点号。令牌包没有数据域,以5位的CRC校验和结束。SOF是一类特殊的令牌包,PID后跟的是11位的帧编号。对于数据包来说,PID之后直接跟数据域,数据域的长度为N字节,数据域后以16位的CRC校验和结束;握手包仅有PID域,没有数据也没有校验和。分离传输会用到一类特殊的包,Start-Split和Complete-Split包,格式如下:在Start-Split和Complete-Split包中主要指定了此次分离传输所在的HUB的地址和下行端口编号以及端点类型(控制、中断、批量、同步)。以及此次传输中数据包在整个数据中的位置(第一个包、中间的包、末尾的包)。*USB协议层规范数据在USB总线上的传输以包为单位,包只能在帧内传输。高速USB总线的帧周期为125uS,全速以及低速USB总线的帧周期为1mS。帧的起始由一个特定的包(SOF包)表示,帧尾为EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,当时SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,因此其帧编号的增加周期也为1mS。*USB协议层规范1.批量事务传输*USB协议层规范批量传输是可靠的传输,需要握手包来表明传输的结果。若数据量比较大,将采用多次批量事务传输来完成全部数据的传输,传输过程中数据包的PID按照DATA0-DATA1-DATA0-…的方式翻转,以保证发送端和接收端的同步。USB允许连续3次以下的传输错误,会重试该传输,若成功则将错误次数计数器清零,否则累加该计数器。超过三次后,HOST认为该端点功能错误(STALL),放弃该端点的传输任务。一次批量传输(Transfer)由1次到多次批量事务传输(Transaction)组成。翻转同步:发送端按照DATA0-DATA1-DATA0-…的顺序发送数据包,只有成功的事务传输才会导致PID翻转,也就是说发送段只有在接收到ACK后才会翻转PID,发送下一个数据包,否则会重试本次事务传输。同样,若在接收端发现接收到到的数据包不是按照此顺序翻转的,比如连续收到两个DATA0,那么接收端认为第二个DATA0是前一个DATA0的重传。*USB协议层规范2.控制传输(Transaction)一次控制传输分为三(或两个)个阶段:建立(Setup)、数据(DATA)(可能没有)以及状态(Status)。每个阶段都由一次或多次(数据阶段)事务传输组成(Transaction)右图为建立阶段的事务传输图。可以看出:与批量传输相比,在流程上并没有多大区别,区别只在于该事务传输发生的端点不一样、支持的最大包长度不一样、优先级不一样等这样一些对用户来说透明的东西。*USB协议层规范建立阶段过后,可能会有数据阶段,这个阶段将会通过一次或多次控制传输事务,完成数据的传输。同样也会采用PID翻转的机制。建立阶段,Device只能返回ACK包,或者不返回任何包。最后是状态阶段,通过一次方向与前一次相反的控制事务传输来表明传输的成功与否。如果成功会返回一个长度为0的数据包,否则返回NAK或STALL。下图为整个控制传输的示意图:*USB协议层规范中断传输中断传输在流程上除不支持PING之外,其他的跟批量传输是一样的。他们之间的区别也仅在于事务传输发生的端点不一样、支持的最大包长度不一样、优先级不一样等这样一些对用户来说透明的东西。主机在排定中断传输任务时,会根据对应中断端点描述符中指定的查询间隔发起中断传输。中断传输有较高的优先级,仅次于同步传输。同样中断传输也采用PID翻转的机制来保证收发端数据同步。下图为中断传输的流程图。*USB协议层规范中断传输流程图*USB协议层规范同步传输同步传输是不可靠的传输,所以它没有握手包,也不支持PID翻转。主机在排定事务传输时,同步传输有最高的优先级。*USB2.0协议USB体系简介USB数据流模型USB物理规范USB电气规范USB协议层规范USB设备架构USB主机:硬件和软件USBHUB规范*USB设备架构在USB设备架构中,规范主要定义了USB设备的各种状态、常用操作、USB设备请求、描述符、设备类等。*USB设备架构枚举的过程介绍连接了设备的HUB在HOST查询其状态改变端点时返回对应的bitmap,告知HOST某个PORT状态发生了改变。主机向HUB查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。主机等待(至少100mS)设备上电稳定,然后向HUB发送请求,复位并使能该PORT。HUB执行PORT复位操作,复位完成后该PORT就使能了。现在设备进入到defalut状态,可以从Vbus获取不超过100mA的电流。主机可以通过0地址与其通讯。主机通过0地址向该设备发送get_device_descriptor标准请求,获取设备的描述符。*USB设备架构主机再次向HUB发送请求,复位该PORT。主机通过标准请求set_address给设备分配地址。主机通过新地址向设备发送get_device_descriptor标准请求,获取设备的描述符。主机通过新地址向设备发送其他get_configuration请求
/
本文档为【USB2.0协议知识详解课件PPT】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索