为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > usb 协议中文详解

usb 协议中文详解

2020-04-03 129页 ppt 3MB 11阅读

用户头像 个人认证

祖辉

教育

举报
usb 协议中文详解USB2.0协议详解Daxiang_20111031序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 协议中文详解
USB2.0详解Daxiang_20111031序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组端点。包 包的基本格式USB体系简介* 令牌(token)包USB体系简介* 数据包 握手包USB体系简介*USB体系简介 管道(Pipe) 管道是主机和设备端点之间数据传输的模型,共有两种类型的管道; 无格式的流管道(StreamPipe) 有格式的信息管道MessagePipe)。 任何USB设备一旦上电就存在一个信息管道,即默认的控制管道,USB主机通过该管道来获取设备的描述、配置、状态,并对设备进行配置。 USB设备连接到HOST时,HOST必须通过默认的控制管道对其进行枚举,完成获得其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。USB设备的即插即用特性即依赖于此。*枚举:是USB体系中一个很重要的活动,由一系列标准请求组成(若设备属于某个子类,还包含该子类定义的特殊请求)。通过枚举HOST可以获得设备的基本描述信息,如支持的USB版本、PID、VID、设备分类(Class)、供电方式、最大消耗电流、配置数量、各种类型端点的数量及传输能力(最大包长度)。HOST根据PID和VID加载设备驱动程序,并对设备进行合适的配置。只有经过枚举的设备才能正常使用。对于总线供电设备,在枚举完成前最多可从总线获取100mA的电流。USB体系简介 USB体系四种传输类型的 控制传输:主要用于在设备连接时对设备进行枚举以及其他因设备而异的特定操作。 中断传输:用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。 批量传输:用于对延迟要求宽松,游戏手柄等大量数据的可靠传输,如U盘等。 同步传输:用于对可靠性要求不高的实时数据传输,如摄像头、USB音响等。 不同的传输类型在物理上并没有太大的区别,只是在传输机制、主机安排传输任务、可占用USB带宽的限制以及最大包长度有一定的差异。*注意:中断传输并不意味这传输过程中,设备会先中断HOST,继而通知HOST启动传输。中断传输也是HOST发起的传输,采用轮询的方式询问设备是否有数据发送,若有则传输数据,否则NAK主机。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。*重生与分发:指的是HUBRepeater需要识别从上行(下行)PORT上接收到的数据,并分发到下行(上行)PORT。所谓分发主要是指从上行PORT接收到的数据包需要向所有使能的高速下行PORT发送,即广播。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%的帧。 在一帧内如果有多余的未用时间,并且没有同步和中断传输,可以用来进行控制传输。*最大包长度表征了一个端点单次接收/发送数据的能力,实际上反应的是该端点对应的Buffer的大小。Buffer越大,单次可接收/发送的数据包越大,反之亦反。当通过一个端点进行数据传输时,若数据的大小超过该端点的最大包长度时,需要将数据分成若干个数据包传输,并且要求除最后一个包外,所有的包长度均等于该最大包长度。这也就是说如果一个端点收到/发送了一个长度小于最大包长度的包,即意味着数据传输结束。FramesandMicroframesUSBestablishesa1millisecondtimebasecalledaframeonafull-/low-speedbusanda125µstimebasecalledamicroframeonahigh-speedbus.A(micro)framecancontainseveraltransactions.Eachtransfertypedefineswhattransactionsareallowedwithina(micro)frameforanendpoint.IsochronousandinterruptendpointsaregivenopportunitiestothebuseveryN(micro)frames.ThevaluesofNandotherdetailsaboutisochronousandinterrupttransfersaredescribedinSections5.6and5.7.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设备来说是透明的、不可见的。*分离传输:顾名思义就是把一次完整的事务传输分成两个事务传输来完成。其出发点是高速传输和全速/低速传输的速度不相等,如果使用一次完整的事务来传输,势必会造成比较长的等待时间,从而降低了高速USB总线的利用率。通过将一次传输分成两此,将令牌(和数据)的传输与响应数据(和握手)的传输分开,这样就可以在中间插入其他高速传输,从而提高总线的利用率。USB2.0协议 USB体系简介 USB数据流模型 USB物理规范 USB电气规范 USB协议层规范 USB设备架构; USB主机:硬件和软件 USBHUB规范USB接口USB物理规范*USB物理规范注:MiniUSB接口和MicroUSB接口不属于USB2.0协议范围;目前多数手机厂商已宣布统一使用MicroUSB接口作为手机充电器标准接口。USB物理规范 USB连接器支持热拔插; 高速/全速USB线缆要求使用内含双绞线的屏蔽线,而且必须打上符合USB使用标记;低速USB推荐但非要求使用双绞线和屏蔽线; USB物理规范 USB合法cable 标准可分离的USBcable=APlug+BPlugCable最大长度取决于信号衰减和传播延迟,同时受电压跌落限制(cable跌落电压<125mV);Low-speedcaptivecableassembliesmustmeetthefollowingelectricalrequirements:•ThecablemustbeterminatedononeendwithanovermoldedSeries“A”plugandtheoppositeendisvendorspecific.Ifthevendorspecificinterconnectistobehotplugged,itmustmeetthesameperformancerequirementsastheUSB“B”connector.•Low-speeddriversarecharacterizedforoperationoverarangeofcapacitiveloads.ThisvalueincludesallsourcesofcapacitanceontheD+andD-lines,notjustthecable.Cableselectionmustinsurethattotalloadcapacitancefallsbetweenspecifiedminimumandmaximumvalues.Ifthedesiredimplementationdoesnotmeettheminimumrequirement,additionalcapacitanceneedstobeaddedtothedevice.RefertoSection7.1.1.2fordetails.•Themaximumlow-speedcablelengthisdeterminedbytheriseandfalltimesoflow-speedsignaling.Thisforceslow-speedcabletobesignificantlyshorterthanhigh-/full-speed.RefertoSection7.1.1.2fordetails.•Differencesinpropagationdelaybetweenthetwosignalconductorsmustbeminimized.RefertoSection7.1.3fordetails.•TheGNDleadprovidesacommonreferencebetweentheupstreamanddownstreamports.ThemaximumcablelengthisdeterminedbythevoltagedropacrosstheGNDlead.RefertoSection7.2.2fordetails.Theminimumwiregaugeiscalculatedusingtheworstcasecurrentconsumption.•TheVBUSleadprovidespowertotheconnecteddevice.Theminimumwiregaugeisvendorspecific.*USB物理规范 高速/全速不可分离USBcable Aplug+线或客户定义端Aplug端与线的定义同标准USBcable,都是必须适用与高速/全速; Cable差分线间skew<100ps; 满足高速/全速的阻抗特性要求; 电压跌落,衰减和传播延迟等也要满足相关要求;USB物理规范 低速不可分离USBcable Aplug+线或客户定义端 满足阻抗特性和负载cap要求(单端cap:200~450pf); cable最大长度取决于低速信号的上升和下降时间(即传播延迟<18ns,以满足Tr/Tf要求); 差分skew<100ps; USB标准cable禁止使用在低速USB总线;USB标准cable的负载电容对低速USB总线而言太大了;在USBOTG中又扩展定义了如下几种cable类型:  Mini-AplugtoMini-BPlug; Mini-AplugtoStandard-BPlug; Mini-Aplugwithcaptivecable;当然,USB协议定义的电缆并不能满足所有的要求。当你觉得电缆长度不够,或者当你想把一种带标准A型插头的设备到插入标准B插座主板上时,你可就麻烦了,这时你需要使用USB电缆转接器(cableadapter)。为了使更多的USB设备能连接在一起,USB定义了几种转接器。所谓转接器是一种特殊的电缆,它不可能直接连接起两个设备,而至少一端连接在电缆上。如USB2.0定义了一种adapter,这就是我们常见的所谓USB延长线。Standard-A-receptacletoStandard-A-plugUSBOTG还新增定义了两种电缆转接器:USBAdapter与USBcable的最大区别就是有且仅有一端是插座,而非USB电缆那样。两端都是插头。由上可见,只有A-A系列之间的adapter,没有A-B系列之间的转接,因此不会破坏USB的主从设备连接规定,,,。USB协议对cable种类和样式做如此细致的规定,就是为了避免非法设备连接的情况,也就是说,你将永远无法使用正常手段将两台PC的USB端口连在一起,或者将两台U盘连接在一起。或者说,你无法使用正常USB电缆将两台主设备或者两台从设备连接在一起。USBOTG主从设备的判定上面提到,支持OTG功能的双角色设备配备的是MiniAB插座,为了让其能区分插入的是MiniA型还是MiniB型插头,USB将Mini系列连接器的信号线由标准的4线增加到5线,增加了一个称为“ID”的新信号线,用于插头识别。标准类型的A系、B系列插头或插座都是4pin的,而MiniA、MiniB、MiniAB类型的插头和插座都是5pin的。在Mini系列中增加的IDpin,在带有Mini-A型插头的电缆中将该pin固定接地,而在带有Mini-B插头的电缆中悬空。于是,支持OTG功能的“双角色设备”可以根据板上MiniAB插座的ID信号线的电平状态来区分插入的是MiniA型插头还是MiniB型插头。当插入MiniA型插头时,表示用户希望该设备作为一个主设备使用;当插入MiniB型插头时,表示用户希望该设备作为一个从设备使用。该设备应根据用户的要求执行相应的应用软件来完成服务。USBOTG的设备连接USBOTG设备之间的连接似乎要复杂一些,我们分两种情况来看:主从设备状态使用不同USB接口的情况在一些体积较大的OTG设备中,比如数码伴侣,车载播放器等设备,其体积允许放置两个或多个USB插座,此时可将主从设备状态下的USB端口分开,简化用户操作。比如与PC连接时,可通过板上的B型插座连接。当需要直接插入常用的U盘工作时,可以通过安置的标准A插座连接。主从设备状态使用同一USB口的状况:比如典型的支持OTG功能的智能手机,受体积限制只允许使用一个USB插座,即主从设备状态下使用同一USB口,此时应放置MiniAB插座(也只能放这个插座)。当与PC连接时,使用StandardAplugtoMiniBplug电缆。当与其他设备(MP3,数码相机等)连接时,使用MiniAplugtoMiniBplug电缆。虽然这种电缆的MiniB型插头也可以插入智能手机中,但只有MiniB插头一端能插入MP3,数码相机等设备,因此,为了完成连接,用户只好将余下的MiniA插头端插入智能手机。当智能手机希望与通常的带有标准A型插头的U盘连接时,只能使用电缆转接器了.*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;HS-USB使用屏蔽的双绞线;*USB电气规范ExampleHigh-speedCapableTransceiverCircuitUSB电气规范 USB驱动器特性 FS&LS输出的低电平电压0~0.3V;输出高电平电压2.8V~3.6V; HS输出的差分低电平电压-10~+10mV;输出差分高电平电压360~440mV; USBPort信号还必须能连续耐受与Vbus、GND或其他数据线的短路; USBPort信号在任何驱动状态都必须能连续耐受如下电压波形;*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/LS Tr/Tf(10%~90%)时间:4~20ns 1.3V<VCRS<2.0VUSB电气规范 HS Transmitter/ReceiverTestFixture(直接用100Ω差分探头测USB眼图时,请参考) MeasurementPlanesUSB电气规范 HS眼图 Template1:TransmitwaveformrequirementsforhubmeasuredatTP2,andfordevice(withoutacaptivecable)measuredatTP3 Template2:Transmitwaveformrequirementsfordevice(withacaptivecable)measuredatTP2 Template3:Receiversensitivityrequirementsfordevice(withacaptivecable)whensignalisappliedatTP2 Template4:Receiversensitivityrequirementsfordevice(withoutacaptivecable)whensignalisappliedatTP3,andforhubwhensignalisappliedatTP2Templates5and6arerecommendedguidelinesfordesigners: Template5:TransmitwaveformrequirementsforhubtransceivermeasuredatTP1,andfordevicetransceivermeasuredatTP4 Template6:ReceiversensitivityrequirementsfordevicetransceiverwhensignalisappliedatTP4,andforhubtransceiveratwhensignalisappliedatTP1*USB电气规范USB电气规范 HS信号Tr&Tf 收端和发端都要求大于500ps(10%~90%); 上升沿或下降沿单调; CableSkew D+与D-的Skew小于100ps;USB电气规范 接收器特性 FS/LS接收器特性 差分信号接受范围见下图; D+和D-都可以接受瞬间低于VIH(min); FS:14ns,LS:210ns.USB电气规范 HS接收器特性 能接受符合模板要求的信号; 推荐能接收-50mV~500mV的共模信号; 能接收在复位握手期间的-50mV~600mV低频chirpJ和K信号; 禁止在高速箝位电平(VHSSQ)以下恢复数据; VHSSQ:100mV~150mV; 高速包的同步信号:至少12bit的SYNC(KJKJKJKJKJKK); 下行端口还必须具备检查连线断开能力; 断开电平:525mV~625mV;USB电气规范 设备速度识别 FS/LS速度识别USB采用在D+或D-线上增加上拉电阻的方法来识别低速和全速设备。当USB主机探测到D+/D-线的电压已经接近高电平,而其它的线保持接地时,它就知道全速/低速设备已经连了。USB电气规范 HS速度识别为识别出高速设备,需要在上拉电阻和D+线之间连接一个由软件控制的开关,它通常被集成在USB设备接口芯片的内部。在reset期间,高速设备先切换到FS状态,并在D-上发chirpJ信号给Hub;Hub收到chirpJ信号后返回连续的chirpK-J-K-J-K-J信号,并在reset结束后切换到HS状态;device收到连续的chirpK-J-K-J-K-J信号,在reset结束后也会切换到HS状态,至此速度识别成功。中间任何一个环节错,device将恢复到FS状态。USB电气规范 USB输入特性 D+与D-无端接输入阻抗>300KΩ; FS/LSHUB&HOST下行端口的D+或D-电容<150pf; FSDevice上行端口D+或D-电容:可分离cable<100pF;集成cable<75pF; LSDeviceD+或D-电容(集成Cable)<450pF; FS的D+或D-线上加铁氧体beadisdiscouraged;UseofferritebeadsontheD+orD-linesoffull-speeddevicesisdiscouraged.*USB电气规范 HSD+或D-的DC阻抗:40.5Ω≤ZHSDRV≤49.5Ω. HS差分端接阻抗:80Ω≤ZHSTERM≤100Ω HSD+或D-对地CAP<10pF;差分CAP<5pF; HS的D+或D-线上加铁氧体beadisstronglydiscouraged;Theuseofferritesonhigh-speeddatalinesisstronglydiscouraged.*USB电气规范 信号电平 FS/LS电平USB电气规范--HS电平USB电气规范 连接和断开信号USB电气规范 HS设备是通过检测到信号线上出现双倍的信号电压来判断连接断开的; 525mV<VHSDSC<625mV;USB电气规范 上电与连接时序Δt1:上电电源切换时间;Δt2:电源稳定到信号连接时间;Δt3:reset前的确保机电稳定预留时间;Δt4:无活动挂起时间;Δt5:Hub发送reset到device的时间;Δt6:reset时间;10msminimum∆t1Thisistheamountoftimerequiredforthehubportpowerswitchtooperate.Thisdelayisafunctionofthetypeofhubportswitch.Hubsreportthistimeinthehubdescriptor(seeSection11.15.2.1),whichcanbereadviaarequesttotheHubController(seeSection11.16.2.4).Ifadevicewerepluggedintoanon-switchedoralready-switchedonport,∆t1isequaltozero.∆t2(TSIGATT)ThisisthemaximumtimefromwhenVBUSisuptovalidlevel(4.01V)towhenadevicehastosignalattach.∆t2representsthetimerequiredforthedevice’sinternalpowerrailtostabilizeandforD+orD-toreachVIH(min)atthehub.∆t2mustbelessthan100msforallhubanddeviceimplementations.(Thisrequirementonlyappliesifthedeviceisdrawingpowerfromthebus.)∆t3(TATTDB)Thisisadebounceintervalwithaminimumdurationof100msthatisprovidedbytheUSBSystemSoftware.Itensuresthattheelectricalandmechanicalconnectionisstablebeforesoftwareattemptstoresettheattacheddevice.TheintervalstartswhentheUSBSystemSoftwareisnotifiedofaconnectiondetection.Theintervalrestartsifthereisadisconnect.Thedebounceintervalensuresthatpowerisstableatthedeviceforatleast100msbeforeanyrequestswillbesenttothedevice.∆t4(T2SUSP)Anytimeadeviceobservesnobusactivity,itmustobeytherulesofgoingintosuspend(seeSection7.1.7.6).∆t5(TDRST)Thisistheperiodoftimehubsdriveresettoadevice.RefertoSection7.1.7.5andSection11.5.1.5fordetails.∆t6(TRSTRCY)TheUSBSystemSoftwareguaranteesaminimumof10msforresetrecovery.Deviceresponsetoanybustransactionsaddressedtothedefaultdeviceaddressduringtheresetrecoverytimeisundefined.*USB电气规范 数据信号发送USB数据包采用差分信号传输; 低速/全速数据信号发送Thestartofapacket(SOP)issignaledbytheoriginatingportbydrivingtheD+andD-linesfromtheIdlestatetotheoppositelogiclevel(Kstate).8bit(L/F)/32bit(FULL)SYNCsignalforapacketstart;TheSE0stateisusedtosignalanend-of-packet(EOP).EOP=2bitSE0+1bitJstate;then,busrecovertoIdlestate;USB电气规范 高速数据信号发送SOP:即由Idle切换到K状态来宣告开始发送包;其“K”是SYNC电平(NRZI序列KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKK)的第一个symbol;EOP:对非SOF的EOP,共8bit;其第1bit为EOP前最后一个symbol取反,其余7bit与EOP前最后一个symbol相同,类似NRZI码的“0111111”;对SOF的EOP,为40bit;其第1bit为EOP前最后一个symbol取反,其余bits与EOP前最后一个symbol相同;类似NRZI码的“0111111111111111111111111111111111111111.”EOP结束后,BUS恢复到Idle状态;Idle:D+和D-为“GND”;USB电气规范 复位信号发送 集线器信号通过控制端口上的持久的SE0态来实现对下形端口的复位。复位信号清除后,设备都将处于缺省状态。 复位信号可在任一个集线器或主机的控制端口产生,该复位信号的最小持续时间为10ms。 一个设备如果见其上形端口的SE0态持续时间超过2.5us,则它就把该信号作为复位信号处理。 在复位信号清除后的10ms的复位恢复时间后,集线器必须能接收所有集线器请求,设备也必须能接收一个SetAddress()请求。如果接收这些请求失败,则设备将不能被USB系统软件所识别。 根据USB系统软件的需求,复位信号可在任一个集线器或主机的控制端口产生,该复位信号的最小持续时间为10ms。复位后,集线器端口将处于能动状态。USB系统软件和主机控制器必须确保发送到根端口的复位信号持续时间足够长以便通知当前正试图进行唤醒操作的各下形设备。根端口产生的复位信号的持续时间应为50ms,但并不要求它一直是延续的。然而,如果复位信号不是连续的,则各间断的复位信号间的时间间隔应小于3ms。一个设备如果见其上形端口的SE0态持续时间超过2.5us,则它就把该信号作为复位信号处理。在复位信号发送结束前,它必须已产生作用。当端口处于使能状态后,集线器将传播一个活动信号到新的复位端口。连在该端口的设备必须能识别总线的活动性,并要能防止被挂起。在复位信号清除后的10ms的复位恢复时间后,集线器必须能接收所有集线器请求,设备也必须能接收一个SetAddress()请求。如果接收这些请求失败,则设备将不能被USB系统软件所识别。*USB电气规范 高速Hub或Device的复位协议 先确认是高速device; Hub开始发出SE0信号;视为T0点; Device检测SE0信号 如果是从挂起状态唤醒,则device在检查到2.5us的reset信号后,启动高速检测握手进程; 如果是从全速的非挂起状态唤醒;则device在检查到2.5us~3ms的reset信号后,启动高速检测握手进程; 如果是从高速的非挂起状态唤醒;则device切换到全速前,必须等待3ms~3.125ms;在切换到全速后的100µs~875µs间,如果检测到SE0信号,启动高速检测握手进程;USB电气规范高速检测握手进程(对低速device无效) 高速device让D+上拉,断开高速端接,往Bus上发送ChirpK(时间1~7ms,从T0计算); Hub检测到的ChirpK必须大于2.5us;否则会持续发SE0信号,直到reset结束; Bus结束ChirpK状态后100us内,Hub必须不间断的交替发送ChirpK’sandChirpJ’s信号,以保证Bus处于激活状态而不会挂起;J或K信号时长40~60us,ChirpJ/K交替信号必须持续到reset结束前100~500us; Hub发完Chirp信号后,发送SE0信号直到reset结束;复位结束前Hub必须切换到高速状态; Device发完chirp后,device必须接收到hub的交替ChirpK-J-K-J-K-J信号,且每位信号的长度大于2.5us; 如果检测OK,device会在500us内,断开D+上拉,回复高速端接,进入高速default状态; 如果device在发完自己的chirp后1ms~2.5ms后检测Fail,device会切换到全速default状态直到reset结束。USB电气规范 挂起所有的设备都必须能支持挂起状态,并可从任一电平状态进入挂起态。当设备发现它们的上行总线上的空闲态持续时间超3.0ms时,它们便进入挂起态。当设备的所有端口上的总线不活动时间不超过10ms后,设备必须被真正的挂起,此时它仅从总线上获得挂起电流。如果总线缺少其他的通信流量时,SOF令牌将在每(微)帧中出现一次,以防止全速/高速设备被挂起。当任一低速设备缺乏通信流量时,在SOF令牌出现的每一帧中至少有一个低速设备处于活动态,以避免它们不被挂起。当处在挂起状态时,设备必须继续为它的D+(高速)或D-(低速)上的Rpu电阻提供电压从而维持一个空闲态,这样上行集线器才能为设备维持正确的连结状态。*USB电气规范 高速设备挂起额外要求 高速device如果检测到Bus为Idle状态大于3ms,device将在idle开始后的3.125us内转换到全速配置;切换到全速后的100us~875us期间,device会采样Bus状态,如果是全速下的J状态,device会继续挂起; 高速device或下行端口从挂起唤醒后,必须回复到高速状态;USB电气规范 挂起又可分为全局挂起和局部挂起。 全局挂起当在总线的任何地方没有通信需要时,就要用到全局挂起,此时所有总线都处在挂起状态。主机通过中止它所有的传送(包括SOF令牌)来发送开始全局挂起信号。当总上的每个设备识别总线的空闲态持续适当时间时,它将进入挂起状态。 局部挂起可以通过向集线器端口发送SetPortFeature(PORT-SUSPEND)来使与其相连的总线部分被挂起,此时处于那部分的设备经过上面所说的适当时延后进入挂起状态。USB电气规范 唤醒处在挂起状态的设备,当它的上行端口接收到任一非空闲信号时,它的操作将被唤醒。特别地,如果设备的远程唤醒功能被USB系统软件开启时,它也可以发信号给系统来完成唤醒操作。唤醒信号由主机或设备使用,以使一个挂起的总线段回到活动态。集线器在唤醒信号的生成和传播中起了十分重要的作用。设备唤醒时总有一个先后次序,我们将在后面详细介绍。USB系统软件必须提供10ms的唤醒恢复时间,在这段时间内,它将不对与被唤醒的部分总线相连的任一设备进行操作。端口的中断与连接也可以使集线器发送一个复位信号,从而唤醒系统,但仅当集线器具有远程唤醒使能时,这些事件才能引起集线器发送唤醒信号。USB电气规范 数据的编码与解码在包传送时,USB使用一种NRZI(NoneReturnZeroInvert,即无回零反向码)编码方案。在该编码方案中,“1”表示电平不变,“0”表示电平改变。图8列出了一个数据流及其它的NRII编码,在该图的第二个波形图中,一开始的高电平表示数据线上的J态,后面就是NRZI编码。“1”表示电平不变,“0”表示电平改变。对比的是DATA(N+1)与NRZI(N),如果相同则NRZI(N+1)=1;如果不同则NRZI(N+1)=0;*USB电气规范 位插入为了确集信号发送的准确性,当在USB上发送一个包时,传送设备就要进行位插入操作。所谓位插入操作是指在数据被编码前,在数据流中每六个连续的‘1’后插入一个‘0’,从而强迫NRZI码发生变化,如图所示。*USB电气规范位插入操作从同步格式(如图10所示)开始,贯穿于整个传送过程,在同步格式端的数据‘1’作为真正数据流的第一位。位插入操作是由传送端强制执行的,是没有例外的。如果严格遵守位插入规则,甚至在EOP信号结束前也要插入一位‘0’位。USB电气规范接收端必须能对NRZI数据进行解码,识别插入位并去掉它们。如果接收端发现包中任一处有七个连续的“1”,则将会产生一个位插入错误,该数据包将被忽略。关于位的插入有一个特例,那就是刚好在EOP前的时间间隔,EOP前的最后一个数据位可能被集线器的转换偏移而拉长,这种情况如图11所示。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电气规范 帧与帧间隔(FrameInterv
/
本文档为【usb 协议中文详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索