版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、USB3.0与USB2.0的特性比较超速和US日2一口比较:T.特性,超速USBUSB2 0数据率户超速(50歙的户低速(15Mbps卜 全速(12Mbp5)、高速 48口岫 ps)数据接口中Duaksimplexj四线差分信号十 与USB2.0信号分离 同时双向数据流公半双工,N线差分信号中 觉友何仲裁转换的单向数据潦口电缆信号数,6个:超速数据路径4个信号/非超速信号路径2个信号J2个;住进庄速信遗信号路径2个信号;总线事务怫 议甲主机导向的,异步传输流- 包传输有确定路由一主机导向而 沦询传输魂; 包广播到所有设备电源管理二多皴链路电源管理支持空闲、睡 眠” 挂起状态,辞路、设备、功 能
2、级别的电源管理,端口级,带两级人口,出口延迟脑 漫融电源菅理总线供电r同US82K未配直时的供电噜加 定%,配置状态供电噌加60%v支持低僖总线供电,开对未配亘的和挂起的 设得有低电源强制炉端口状态始端口健件检测隹接事件,井相端 口亘于操作状态以备超速数据通 讯.一端口通件检测建接事件口系统软件使用端口 命令切换端口到使能状态,效据传输类 型甲带超速约束的U0E2 类型 海量传输有流能力.口四种传输翘L控制、海重、中断、等时0 +3.2超速结构超速总线是一个分层的通讯结构,如下图所示:Nkjd限制卜加3 Tn.» M l unACIocaCDRNs Ii h. il I nt Tru
3、 mk 1卡曼LFPSLJ=PSSpreadElstoty Giiffa-'SIkiptSDTJd'Hblw dnE3irhfeSsnn必片 dftrrflnhliSprwd CIckCDR LClock CDR Bu Isr. Skipsat/1Db hllSJiXjlL d3,dFR由小山 If 营0-6Device Dn ar'AppHcMionPg 日皿,iwr - urKticTi 酎忸尸aceUddL.lL C3nlrol PjeFuncionD = vi-eUSE Function Pcwer ManTranffidlwPactofeLink: I.1!
4、anac emart Packec 3P岷.Ctehr-sUni- Cwtrgi/MgiiTrtLirlt ConrokJgmtLink 口m已与* DeSin&TFLdnh CrrdsTransaction | Data-:i < i - I Padk«teI ii- L Maria -» r- * nr P =k-L-ia -eSCIM也及Micria'nhftEb'10bewHH3 JbHnOWeUSB DevicePwmrManogcrrieni(Suspend)LocalEdLinh PowerManagementPROTO 昌rLZ
5、IK 一 PHY以CALFigure 3-3. SuperSpeed Bus Communications Layers andPower Management Elements协议层:协议层在 主机和设备 间定义了 end-to-end (端到端) 通讯规则。超速协议在主机 和 设备端点(endpoint)之间提供应用数据信息交换。这个通讯关系叫做管道(pipe)。它是 主机导向 的协议,意味着主机决定什么时候在主机和设备间进行应用 数据传输 。设备可以通过一个特定端点 向主机发起异步请求 服务,所以它不是一个轮询协议 ( USB2.0 为轮询协议) 。数据可以连续突发传输 ,提高 总线效率
6、 。对某些传输类型(块传输) ,协议提供 流控支持 。SS 设备可以 异步发送, 通知主机,设备的功能状态发生改变。而不是轮询的方式。设备端点可以通过设备异步发送的“ ready”包(ERDY TP)通知主机进行数据发送与接收,主机对于“ready”通知,如果有有效的数据发送或者缓存接收数据,会添加管道。主机发送包含主机时间戳的 特殊包头( ITP ) 到总线上,该值可以用于保持设备和主机同步 (如果需要的话) 。超速 USB 电源管理:链路电源管理的关键点是: 设备向主机发送 异步“ready”通知 包是有路由路径的,这样就允许不参与数据通讯 的链路进入或仍旧停留在低电源状态。 如果包送到一
7、个处于 低电源状态的端口 ,这个端口会切换到退出低电源状态 并指示这是个切换事件。设备: 超速需要支持USB2.0对默认的控制管道的规定。HUB 设备:因为 USB3.0 向下兼容 USB2.0 ,为支持 USB3.0 双总线结构, USB3.0 HUB 在逻辑上是两个 HUB 的组合:一个USB2.0 HUB 和一个 USB3.0 HUB 。连接到上游端口的电源和地线是共享的。集线器 (HUB) 参与到一个端到端的协议中,所承当的工作: 路由选择输出的包到下游端口。 输入包混合传递到上游端口 当不在低功耗状态下时,向所有下游端口广播时间戳包(ITP),即为同步时间信息包。 当在一个低功耗状态
8、的端口检测到包时,集线器将目标端口转变成退出低功耗状态,通知主机和设备(带内)包遭遇到了一个在低功耗状态的端口。主机 (Hosts) :一个 USB3.0 主机通过主控器和USB 设备互连。 为了支持 USB3.0 双总线结构, USB3.0主控器必须包括超速 ( USB3.0 )和 USB2.0 部分 , 这样可以同时管理每一个总线上主机和设备间的控制、状态和信息交换。主机含有几个根下行端口实现超速USB 和 USB2.0 ,主机通过这些端口: 检测USB设备的连接和移除; 管理主机和设备间的控制流; 管理主机和设备间的数据流; 收集状态和活动统计; 对连接的设备供电;USB 系统软件继承了
9、 USB2.0 的结构,包括: 设备枚举和配置; 规划周期性和异步数据传输; 设备和功能电源管理; 设备和总线管理信息。数据流模型:超速 USB 集成 了 USB2.0 的数据流模型,包括:主机和设备间的数据和控制交换通过管道(pipe)进行,数据传输在主机软件和指定的设备端点间进行。 设备可以有不止一个的活动管道,有两种类型的管道:流式管道(数据)和消息管道(控制) ,流式管道没有USB2.0 定义的结构,消息管道有指定的结构(请求的结构) 。管道相关联的是数据带宽,传输类型(见下面描述) ,端点属性,如传输方向与缓冲大小。 大多数管道在系统软件对设备进行配置后才存在,但是当设备上电在默认的
10、状态后,一个消息管道即默认的控制管道总是存在的。提供权限访问设备的配置,状态和控制信息。 一个管道支持 USB2.0定义的四种传输类型的 一种(管道和端点属性一致)。 海量传输类型(bulk)在超速中进行了扩展,叫做 流(stream)。流式提供在协议级支持在标准块传输管道中 多路传输 多个独立的逻辑数据流。第四章超速数据流模型4.2 超速通信流SS 保持相似的观念和机理,支持端点,管道和传输类型。参考 USB2.0 协议。端点的属性(最大包尺寸(端点缓存大小) ,突发大小等)被记录在描述符中和SSEndpoint Companion Descriptor 。正如在 USB2.0 中,端点是使
11、用三个参数组成的地址来验证( 设备地址, 端点号和方向 ) 。 所有的 SS 设备必须起码在默认控制管道 (端点0) 开始执行。4.2.1 管道一个超速管道是一个设备上的端点和主机软件的连接。 管道代表拥有缓存空间的主机软件和设备端点之间传输数据的能力,和 USB2.0 有相同的过程。主要的区别在于 当超速的非同步端点忙时, 会返回一个没有准备好( NRDY )应答 , 当它想又要服务时必须发送准备好( ERDY )通知 。主机在下一个传输类型限制下的有效时机中重新安排事务。4.3 超速协议综述:正如在 USB3.0 结构总览那章中提到的, 超速协议是利用双差分数据线的物理层 。所有的 USB
12、2.0 的类型都可以被高速协议支持。 协议之间的区别在于下面要首先讨论的超速中使 用的包的描述。4.3.1.2 超速包介绍:在框架上,超速是向后兼容 USB2.0 的,但是二者在协议上还是有一些重大的不同: USB2.0的transaction (事务处理)有三部分 (令牌(token)、数据(data)和握手 (handshake),超速也是这三部分但是用法不同(令牌包集成在头包和DPH中,各种类型的握手包都是TP 包形式) ; 对于 OUT 事务,令牌被合并在数据包中;对于 IN 事务,令牌被握手包代替。 USB2.0不支持突发(bursting),超速支持 持续突发; USB2.0是半双
13、工(half-duplex)的广播总线,超速是 dual-simplex (全双工)的非广播 总线, 支持同时进行IN 、 OUT transaction ; USB2.0使用轮询模式,超速使用异步通知方式; USB2.0不支持流能力,超速支持海量(bulk)端点的Stream方式; USB2.0在同步传输(isochronous)间隔中没有进入低耗电状态的机制,超速则允许同步 传输服务间隔中自动进入低耗电状态 (不服务的时间段进入低功耗) ; SS 主机在服务间隔前 发送一个 PING 包到目标同步设备允许开始同步传输之前转变成电源活动状态。 USB2.0设备无法通知主机自己在进入低耗电状态
14、前可容忍的延迟时间(设备通知主机自己进入低功耗状态的最长延迟时间) ,超速则提供Latency Tolerance 消息; USB2.0以固定的1ms/125us间隔发送帧包/小帧包(USB 2.0全速和高速模式)。超速 下,设备可以发送Interval Adjustment消息给主机调整间隔125us一直到+/-13.333us ; USB2.0电源管理总是主机导向(主机初始化)的,超速链路两端都支持电源管理;因此不管何时需要空闲,需要退出,需要通信,每个链路能独立的进入低电源状态。 USB2.0仅在每个transaction进彳e end-to-end级别的错误检测、恢复、流控,超速在 e
15、nd-to-end (数据包重试)和 链路级别(头包重试) 分割 这些功能。 .3.2 比较 USB2.0 和超速的 事务处理 (Transaction)超速全双工总线物理层允许 同时 进行 双向 的通信。 超速协议允许收到握手包之前发送多个数据包 (突发) 。 对于 OUT 传输, 包含在 USB2.0 令牌包中的信息 (设备地址和端点信息) 被合并在数据包头里面,因此不需要额外令牌包。对于输入传输IN ,超速主机发送一个握手包( ACK )给设备以 请求数据(和指示数据是否正确) 。设备可以通过返回数据或者返回 STALL 握手包来应答,或者返回一个没准备好(NRDY) 握手包 延迟 传输
16、直到设备准备好了。USB2.0 的包是 广播方式 ,每个连接的设备解析每个包的 地址、端点、方向信息来 决定 自己是否应该响应。超速包有路由信息 , HUB 决定每个包要送达 哪个设备,只有一个例外,等时(同步)时间戳包( Isochronous Timestamp Packet , ITP )广播到每一个设备。USB2.0 的查询方式已经被异步通知代替。 超速传输通过主机发出一个请求来开始传输, 后面跟随着设备的应答。 如果设备能接受请求, 它就接收数据或者发送数据; 如果端点停止 了,设备应该以 STALL 握手包 响应;如果设备由于缺少缓存空间或者没有数据而不能接受请求,应该以NRDY
17、应答 告诉主机现在还不能处理请求。当等到设备能接受请求时,设备会主动发送一个端点准备好( ERDY )异步通知给主机然后主机会重新安排传输事务。单路传送和有限制的多点广播的包以及异步通知, 都允许没有活跃传输包的链路进入一个 降低功耗状态, 上游和下游端口共同决定它们的链路进入一个低功耗状态, 集线器会传递到上游端口。 通过允许链路伙伴独立控制它们的链路电源状态, 集线器将任意下游端口可见 的最高链路电源状态传递到上游端口,使总线快速进入最低允许电源状态。超速 包 以 16 字节的头部开始。一些包只包含有头部( TP , LMP,ITP ) 。所有的头部以用于决定包处理方式的包类型信息开始。
18、头部有 16 位 CRC 保护, 以 2 个字节链路控制字( linkcontrol word )结束。依赖于类型,大多数包包含有路由信息 (路由字符)和一个三参数的设备地址 (设备地址,端点号和方向) 。路由字符给主机用来指导包被发送到被指向的拓扑路径。 设备发送的包被集线器默认路由选择, 集线器总是把数据从任何可见的下游端口传到上游端口(这一过程不需要路由信息) 。有四种基本类型的包: ( 协议层 ) Link Management Packet(LMP ),只穿过一对直接连接的端口(链路两端) ,主要用来 管理链路。 Transaction Packet(TP,事务包),穿过所有直接连接
19、主机与设备的链路,用来控制流 式数据 包 ,配置设备和集线 器等(任 何 传输类型的事务处理都用到)。注意一个 Transaction Packet是没有数据的。(控制命令包, TP包就是一个包头(DPH) Data Packet(DP),穿过所有直接连接主机与设备的链路,数据包有两部分组成,一个和 TP 包相似的数据包头(DPH) 和带有数据块加上用来确保数据完整性的 32 位 CRC 的数据包( DDP ) Isochronous Timestamp Packet(ITP)。它被主机用来多点广播到所有的活动的链路上。4.4 对传输 (transfer) 的一般性描述 :每一个发送给接收器的
20、 非同步数据包 通过一个握手包( ACK TP )被应答(同步端点不应答,非同步端点要为每个收到的数据包进行应答,以报告是否正确传输和是否要重传) ,但是由于超速有独立的发送与接收路径, 所以发送器不必在发送下一个包之前为每次传输的数据包等待一个握手(超速USB 的一个特色:同时进行发送数据与接收应答,当设备检测到数据包错误时或者端点错误,没准备好等,都会通过在应答TP 包中反应给主机,主机收到的应答 TP 包中记录出错的包顺序号,于是主机从错误的那个顺序号开始重新发送包) 。超速保护所有的基本数据流和 USB2.0 定义的传输观点,包括传输类型,管道和基本数据流模式。和 USB2.0 的区别
21、在这章被讨论,开始是协议层,然后是传输类型。USB2.0 规范利用一系列事务处理的模式。这从本质上意味这主机是在开始下一次事务前完成这一次总线处理(令牌,数据和握手) 。分离事务处理也坚持这相同模式,因为他们由完整的高速事务组成,类似所有其他事务在相同的模式下完成。超速通过实施发送与接受同步改善了 USB2.0 事务的协议。 因此超速 USB 事务处理协议本质上是一个分离的事务处理协议 ,它允许在同一时间不止一个OUT 总线事务处理(设备可以多个)和至多一个IN 总线事务处理(主机只有一个)在总线上活动。设备对事务处理的应答的命令是确定在每个端点基础上(例如,如果一个端点接收三个DP 包,端点
22、必须为每一个 DP 包返回 ACK TP 告知收到 DP 包) 。USB2.0 协议要在继续下一个总线事务处理之前完成整个IN 或 OUT 事务(令牌,数据和握手包连续传输) ,所有的来自主机的传输本质上是广播到 USB2.0 总线上的每一个活动设备,与之比较起来,超速协议不进行广播任何包( ITP 除外) ,包只穿过需要达到目标接收方的链路,主机通过发送握手请求( ACK TP )或者发送数据( OUT )开始所有的事务,设备以数据或者握手来应答。假如设备没有有效的数据( IN )或者不能接受数据(OUT) ,它会以一种包( NRDY )来应答以指示不能进行此操作。之后,当设备准备好发送或者
23、接收数据时, 它会发送一个包给主机指示它已经准备好重新进行事务处理。 除此之外, 超速提供将链路转变成指定的低电源状态或者退出低电源状态的能力。 低电源链路状态可以在软件使能以后由软件控制或者自发的硬件控制来进入。 还提供一个自动将主机与设备之间的所有链路由非活动电源状态转变成活动电源状态的机制。设备在每个端点的描述符中记录每个端点的最大包尺寸。 这个尺寸只指示负载数据块长度,不包括链路层和协议层的包头( DPH) 。超速的带宽分配相似于USB2.0 。4.4.1 Data Bursting (突发数据)突发数据通过消除在每个基于数据包应答的等待时间提高效率 (即无需等待应答就能处理数据) 。
24、 每个超速设备上的端点指示了它在必须等待一个明显握手之前能够发送/接受的包数量(称之为 最大数据突发大小) 。最大数据突发大小是一个每个端点各自的能力,一个主机从与端点相关的 SuperSpeed Endpoint Companion descriptor 描述符决定一个端点的最大数 据突发大小。主机在每个事务处理的基础之上能动态改变突发大小, 直到最大突发大小被配置了。 主机能使用不同突发大小的一个例子, 不受限于, 但是包括一个主机上的公平决策和中断流的重试。 当端点是 OUT 类型,主机能容易控制突发大小(接收器必须总是能管理突发大小事务处理) ,当端点为IN 类型,主机能基于每次事务处
25、理限制端点突发大小,是通过在发送给设备的应答包中的一个域来限制。4.4.2 IN transfer (输入传输) :主机和设备应该延续传输类型和端点属性的约束。一个主机通过发送一个ACK 确认请求包给设备( IN ) 开始请求一次传输。 这个确认 (握手包) 包包含了数据包路由选择到想要的端点所需要的地址信息。 主机告知设备它可以发送的数据包数量和期望来自于设备第一个包的序号( 0 ) 。 在应答中, 端点会发送正确的序列号的数据包给主机, 主机发的确认包也暗中应答了之前成功收到的数据包 (以及请求下一个顺序号的数据包) 。注意 : 即使主机需要为每一个收到的数据包发送一个确认包, 但是设备可
26、以不需等待任何确认包就发送所需要的数据包数量。超速总线的 一次 IN 传输 由一个或 多个 IN 事务处理 组成, 一个 IN 事务处理由一个或多个包组成(比如主机发送ACK TP ,设备发送 DP 或 NRDY TP 或 STALL ) 。当下面的任何条件发生,都能结束IN 传输: 所有数据已经成功传送; 设备端点发送一个 短包(比最大包尺寸小的包)作为应答 ; 端点响应错误。( Host 发送 IN packet 之后,设备可以持续发送多个数据包,不需要等待每个包都得到host 的确认包( ACK TP) ,因为超速是dual-simplex (全双工) 的,但是设备收到的总的认可包数量应
27、该和设备发送的数据包数量一样。 )IN Session Trans a di on (s)Tx Host RxLamFigure 4-1. SuperSpeed IN Transaction Protocol4.4.3 OUT transfer :主机通过发送一个突发数据包给设备开始一次OUT传输,每一个数据包(的 DPH)包含需要路由选择目标端点的地址信息,也包含数据包的顺序号(作为区分不同发送顺序的数据包标号)。对于一个 非同步事务,设备返回一个确认包,其中包含下个要接收的数据包顺 序号和隐含地应答当前数据包。注意:虽然设备需要为每个收到的数据包发一个确认包,但是主机不需等待一个应答就能发
28、送最大的突发数据包数量给设备。OUT transfer在下列情况下时会结束:所有数据已经成功传送;, Host发送了一个短包;端点响应错误。OUT Session Transaction)N data acknowl&aen&ntgFigure 42 St perSpeed OUT Transaction Protocol四种 transfer 类型:control、bulk、interrupt、isochronous transfer。用意同 USB2.0,但 是bulk最大包大小增加为 1024B, control端点最大包大小增加为512B。control端点不支持bur
29、st ,bulk 可以 burst 1 16,bulk 还增加了 Stream能力;interrupt > isochronous 可以 burst 1 16 (当最大突发大小为1时,对于同步传输,其最大包大小能为0-1024之间任意大小,对于中断端点,最大包大小可以在1-1024之间任意大小;如果最大突发大小为>1时,最大包大小只能为1024)。4.4.5控制传输控制传输的目的与特点与USB2.0协议完全相同。这个规格的协议层章节详细描述了用于完成控制传输的包,总线事务处理和事务处理流程。设备架构那章定义了完整系列的设备 使用的标准命令编码。每个设备需要启动默认控制管道作为一个
30、消息管道。这个管道用来进行设备初始化和管 理,用来访问设备描述符和向设备请求对其进行操作(在设备级)。控制传输必须维持相同的在USB2.0中定义的请求(获取描述符等命令) 。超速系统会制造一个最好的条件情况支持主机与设备间的控制传输。正如USB2.0,功能和客户软件不能为控制传输主动要求指定带宽(不是能分配 10%的带宽吗?)。4.4.5.1 控制传输包大小控制端点有一个固定的最大控制传输数据包大小为512字节(同时反应了端点缓存大小)。还有一个最大突发大小为1 (控制传输不支持突发数据?)。这些最大值适用于在控制传输数据阶段 的所有的数据事务处理。参考 8.12.2章,详细描述了超速控制传输
31、的建立 (setup)与数据阶段(data)。超速设备在设备描述符的 bMaxPacketSize域中必须记录一个 09H的值。默认控制管道 的默认最大包大小的解码规则在 9.6.1章被给出(2的9次方=512B)。默认控制管道必须支 持最大顺序值为 32 (在0-31范围的顺序值被使用)。USB2.0与超速之间,设备到主机和主 机到设备的数据阶段数据传输和完成一般没有什么改变。1.1.1.2 控制传输带宽需求设备没有方法为控制管道指示想要的带宽。 主机通过权衡所有控制管道总线访问需求与在那些管道上挂起事务处理来提供一个最好的情况给客户软件和功能设备之间的传输。 这个 规则跟 USB2.0 相
32、似。超速需要保留有效的总线带宽给控制管道作为以下使用: 控制传输事务处理可能与其他被定义功能端点的事务处理一同被安排 控制传输的重试不能优先于其他最好情况的事务处理 如果有控制传输和块传输为多个端点挂起,根据一个主机控制器相关的公平规则,不同端点的控制传输被选择服务。 当一个控制端点传输一个流控制事件,主机会移除来自于被安排的活动端点。一旦收到一个来自于设备准备好的通知,主机会对这个端点恢复传输。这些要求允许主机与设备间的控制传输周期性的通过有最好条件的超速总线移动数据。系统软件的任意操作行为在USB2.0 5.5.4 定义。超速控制传输同样适用。1.1.1.3 控制传输数据流程超速保护消息格
33、式和在 USB2.0 定义的控制传输的一般阶段流程。 超速协议定义了对控 制传输建立和状态阶段的相同改变。4.4.6 块传输此规格的 8.12.1 章详细描述了用来完成块传输的包, 总线事务处理和事务处理流程。 块 传输类型是用来支持想要跟相当大的海量数据通信设备 ,传输能使用任何可用的超速带宽。 超速块传输功能端点提供以下: 对基于有限带宽的超速总线访问 保证数据的发送,但是不保证带宽和发送时间超速维持下面的块传输管道特征: 对块传输管道通信流没有强制固定的数据结构 块传输管道是一个流式管道,因此总是有通信流进出主机。如果应用需要一个双向块 传输通信流,必须使用两个块传输管道(一个OUT ,
34、一个 IN ) 。标准 USB 块传输管道提供移动数据流的能力。超速增加了协议级支持 多倍流模式 的流 式概念。4.4.6.1 块传输数据包大小块传输端点应该在端点描述符中设置最大数据包大小为 1024 字节。也要指定端点在超速总线上能够接受或发送的突发大小。可允许的块传输端点突发大小在1 到 16 的范围。所有的超速块传输端点要支持0-31 的顺序值。主机需要支持任何超速bulk 传输 端点 和所有的 bulk 传输 突发大小 。主机要确保发送给端点的数据包的数量不能超过描述符中定义的最大包大小。 此外, 发送的突发数据包不能超过记录的最大突发大小。块传输功能端点发送的数据包,其数据域必须总
35、是小于等于1024 字节。如果块传输数据量超过 1024,则突发事务中所有数据包除了最后一次,都必须是1024 字节大小 ? ,最后一次是剩下的不足 1024 字节的数据。 块传输可以持续多个总线事务处理 。块传输在端点有以下情况时完成:已经准确传输完了所期待的数据传输了一个比1024字节少的数据包(短包)STALL 握手包4.4.6.2 块传输带宽需求正如 USB2.0 ,块传输功能端点没有方法为块管道指定想要的带宽。块事务处理只发生在超速总线上有可用带宽的基础上。 超速提供一个最好的条件在客户软件和功能设备间传输块数据。 控制传输对总线操作比块传输更有优先权( 对总线操作的优先级,控制传输
36、比较高) 。 当有多个端点的 bulk 传输挂起时,主机会根据一个公平访问原则提供事务处理的机会给每个端点,这就是主机依赖性操作。所有在系统中挂起的块传输竞争相同的有效总线时间。 端点和客户软件不能为块传输假定配置一个指定的服务率 (总线带宽不能为块传输主动分配) 。 总线时间被提供给客户软件,由于其他设备被插入到系统或者从系统中移除或者因为块传输被其他功能端点需要, 端点能被改变。 客户软件不能假定在块传输和控制传输之间的顺序, 即在一些情形中, 块传输能在控制传输的前面进行。主机在带有块传输端点的事务处理中能使用任何在 1 和记录的最大的突发大小, 更高效的利用有效总线带宽。 例如, 可能
37、有比有效总线带宽更多的块传输, 所以主机可以每次使用事务中更小的数据突发, 以提供公平服务给所有挂起的块数据流 (因为块传输多, 有效带宽少, 所以为了能公平给所有等待的块传输机会, 主机会使用事务处理中比较小的数据突发大小,从而将有效带宽充分平均分配给所有块传输) 。当一个块传输端点传输一次流控制事件 (在 8.10.1 章定义) 时, 主机会从安排的活动端点中移除它,主机会基于接收到来自于设备的准备好通知恢复端点的传输。4.4.6.3 块传输数据流程块事务处理为数据可靠传输使用标准的突发序列, 在 8.10.2 章定义。 块端点通过一次合适的控制传输( SetConfiguration,
38、SetInterface, ClearEndpointFeature )被初始化成最初的发送/接受顺序号和突发大小值(8.12.1.2 和 8.12.1.3) 。 同样, 主机在已经成功完成了上面提到的合适的控制传输后,配置块传输管道初始的发送/ 接收序列号和突发大小值。超速块管道的停止条件跟USB2.0 定义的块端点一样同样有副作用。 从停止条件中恢复也跟 USB2.0 相同。块管道停止条件 包括 STALL 握手包作为一次事务处理的应答 或者 由于发送错误主机事务处理的重试次数消耗完的应答。4.4.7 中断传输中断传输类型用来支持带有轮询服务间隔需要高可靠性传输小数量数据的设备。 这个规格
39、的协议层章详细描述了与中断传输相关的包,总线事务和事务处理流程。超速中断传输类型一般提供以下方面: 能保证最大的服务间隔 能保证在下一次服务间隔中尝试重新传输在每个服务周期中为中断端点尝试中断传输, 保留一定带宽保证在每个服务间隔尝试传输。一旦传输成功,就不尝试另外一次传输(在此周期内) ,直到下一个轮询服务周期到来(保证每个服务周期中尝试一次中断传输) 。如果端点以没有准备好的通知或者一个指示不能接收任何包的 ACK 应答, 则主机不会在此次服务中尝试另外一次到端点的传输,除非接收到准备好的通知。然后主机必须在收到(准备好)通知后的 2个服务周期内服务端点。端点服务周期的请求在它的端点描述符
40、中描述。超速维持中断管道下面的特性: 没有数据内容结构用于中断管道通信流 中断管道是一条流式管道,因此总是单向的。4.4.7.1 中断传输包大小中断传输端点指定了超速总线上可以接受的/发送的最大数据包大小,对于支持突发次数(burst size)大于1的中断端点,仅仅允许的最大数据包大小为1024字节;对于突发次数等于 1的中断端点, 最大数据包大小能为1到 1024的任何值。中断端点允许的最大的突发次数是3. 所有的超速中断端点应该支持在范围 0-31 的顺序值。超速中断端点只用来移动带有界限服务间隔的小数量数据。 超速协议不要求中断事务处理的包为最大化大小(即不要求每个数据包都为 1024
41、字节大) 。主机被要求支持超速中断端点, 主机应该支持所有允许的中断包大小和突发大小的组合。 主机要确保在一次突发事务处理中发送到端点的数据包大小不能超过端点的最大数据包大小。在突发事务处理中主机也不能发送超过端点最大突发大小的数据包数量。中断端点应该总是发送带有数据域小于等于端点最大数据包大小的包, 如果中断传输有比适应端点最大数据包大小更多的信息, 所有的突发事务处理的数据都要求为最大 包大小,除了突发事务处理的最后一个数据包,就是包含剩下的数据。中断传输可以包 含多个突发事务。 中断传输是在端点做以下几个完成的: 已经传输了所需精确的数据量 传输了比最大包尺寸小的数据包(短包) 应答ST
42、ALL握手包4.4.7.2 中断传输带宽需求周期性端点(中断和同步)可以被分配到超速总线可利用带宽的 80%。中断管道的端点通过端点描述符指定它想要的服务间隔,中断端点能指定一个想要的周期2(bInterval-1)x 125 s,bInterval值是在范围1到(包含16) 16。USB系统软件会在配置期间使用这个信 息,决定能被采用的连续周期。被系统提供的周期可以缩到比设备想要的还短,最短到超速定义的周期大小(也是参考的总线轮询周期125 s)。注意总线上的错误能阻止中断事务处理在总线上的成功传输,因此超过了想要的周期。超速中断端点在每个服务周期能提升到 三 个最大数据包的大小(3x102
43、4bytes) 。对于中断传输, 主机没有方法决定端点是否在没有访问端点和请求一个中断传输下进行源/同步数据。如果一次IN中断端点没有中断数据要传输或者OUT中断端点没有充足buffer接受数据,当被主机访问的话,会以一个流控制进行应答。当有中断数据挂起避免客户软件错误通知传输完成的时候, 端点应该只提供中断数据。一个数据负载为零长度的数据包是一次有效传输,可以用来进行某些操作。主机可以在轮询服务周期中任何时刻访问一个端点。 中断端点不应该在尝试事务处理之间分配固定的空间。 中断端点只能假定它在轮询服务周期会收到一次事务处理尝试。错误能阻止轮询服务周期中的数据成功传输, 主机不被要求在同一个轮
44、询服务周期中重新尝试 事务处理,只在下一个轮询服务周期中重试事务处理。4.4.7.3 中断传输数据流程中断事务处理使用标准的 突发流程 进行可靠的数据传输(在8.10.2)。中断端点通过适当的控制传输( SetConfiguration, SetInterface, ClearEndpointFeature )被初始化成初始的发送或者接收顺序号值和突发大小(参考8.12.4.1和8.12.4.2) 。主机在完成了合适的控制传输后成功为中断管道设置初始的发送/接收序列号和突发大小。超速中断管道停止条件和 USB2.0定义的中断端点一样有相同的副作用。从停止条件中恢复也跟USB2.0 相同( Se
45、ction 5.7.5 in the Universal Serial Bus Specification, Revision2.0.) 。 中断管道停止条件 包含 STALL 握手包 对事务处理应答或者对由于发送错误导致主机事务处理尝试次数的消耗的应答。4.4.8 同步传输正如USB2.0一样,超速同步传输类型是用来支持想要能容忍错误,周期性的轮询服务的传输流。超速跟USB2.0一样不发送起始帧,但是时序信息要通过同步时间戳包(ITP)被发送给设备。 这个规格的协议层章详细描述了用来完成同步传输的包,总线事务和事 务处理流程。也描述了怎么样传送时序信息给设备。超速同步传输类型提供下面的:保证
46、在超速总线上一定范围延迟尝试事务处理的带宽只要数据被提供给管道,保证通过管道的数据率同步事务处理在 每个服务周期 在同步端点上被尝试。 超速总线上承认的同步端点被保证它们需要的总线带宽。 主机在对设备的特殊端点进行轮询服务间隔的任何时候都能请求来自设备的数据或者发给设备数据。 被要求的端点轮询服务周期在端点描述符中被定义。超速同步传输是用来支持一个以相同平均速率产生和消耗数据的发送器/接受器。超速同步管道是一种流管道,总是单向 的管道。 端点描述符确定被给定的同步管道通信流是流向主机还是流出主机。如果设备需要双向的同步通信流,则要使用两个同步管道,一个输入,一个输出。无论任何时候当同步传输需要
47、穿过非活动链接, 超速电源管理都会妨碍到同步传输。结果延迟会导致数据在服务周期内没有到达。 为防止这种情况,超速定义了 PING和 PING_RESPONSE 机理 (参考 8.5.7) , 开始一次同步传输之前, 主机可以发送一个PING包给设备,设备以PING_RESPONSE包应答通知主机所有连到设备的链路在活动状态。4.4.8.1 同步传输包大小同步传输端点指定了端点在总线上能够接收 /发送的最大数据包大小。 对于支持突发尺寸大于 1的同步端点,允许的最大数据包大小只能为1024 字节;对于支持突发尺寸等于1的同步端点, 最大数据包大小可为0到 1024之间的任何值。同步端点允许的最大
48、突发尺寸为 16.但是同步端点能在 同一个服务周期中请求3次突发事务处理。超速协议不要求同步数据包一定要为最大数据包大小, 但是如果传输的数据量比最大数据包尺寸小的话,数据包不被填满。主机应该支持超速同步端点所有的同步数据包大小和突发大小。 主机应该确保发送到端点的数据包量小于端点描述符中定义的最大数据包大小, 还要确保突发事务处理中的数据包量不能超过端点的最大突发大小。同步端点应该总是发送数据域小于等于端点的最大数据包大小的数据包。 如果同步传输对端点最大包大小有充足的信息, 突发事务处理中的所有数据都要求为最大数据包大小,除非突发事务中最后一次数据包,即包含了剩下的数据。同步传输能进行几次
49、突发事务处理。4.4.8.2 同步传输带宽需求周期性端点(中断和同步传输)能分配到80% 的有效超速总线带宽。同步管道的端点通过端点描述符指定它想要的轮询间隔。同步端点能指定想要的周期2(bInterval-1) x 125s。blnterval的范围是1-16.系统软件将在配置时候使用这个信息决定端点是否能被主机安排。注意总线错误能阻止同步事务在总线上的的成功进行。超速同步端点在每个服务周期能进行3次最大突发大小为16的事务处理的数据包传输( 3x16x1024bytes ) 。 主机会在 每个服务周期 发送数据到端点或者从端点请求数据。 注意, 如果端点没有同步数据发送而被主机访问请求数据
50、,则会发送一个0长度包作为数据请求的应答。主机可以在合适的服务间隔的任何时刻访问端点。同步传输端点不应该尝试在事务处理之间假定一个固定空间(两次事务处理间相隔的时间不固定?),同步端点只能假定它在服务周期会收到一次事务处理的尝试。轮询服务周期发生的错误可以阻止数据的成功传输。但是由于同步事务处理中的包没有应答,主机没有方法知道包是否成功传输,因此不会重试包传输。4.4.8.3 同步传输数据流程同步端点总是在轮询服务周期中从包顺序号 0开始发送数据包。每个在轮询服务间 隔中被依次连续发送的的数据包都带有下一个递增的顺序号。顺序号应该从0到31循环当发送了 32个包后,又从0开始发送。同步端点不支
51、持重试,不能应答流控制。4.4.9设备告知(非管道模式)设备告知是一种为设备向主机进行设备级和总线级的事件通知的异步通信标准方式。这个特色没有映射到为标准传输类型定义的管道模式。设备告知总是 由设备开始 数据流通知总是从设备到主机 。第七章链路层7.1字节顺序包或者链路命令中的多字节域以小端顺序通过总线传输。即先传输最低有效字节(LSB),最后传输最高有效字节(MSB)o Figure 7-2展示了字节顺序的例子:one byteIbyteTransmitted firstWORDbyte 1byteOTrarismrtted firstTransmitted lastDWRDbyte3byt
52、e 2byte 1byte 0Transmitted lastTransmitted firstbyte 3|byte 2byte 1byte 0byte 4 byte (N-1)byte (N-2)byte<N-3)byte (N-4)Transmitted lastFigure 7-2 SuperSpeed Byte Ordering7.2.1 包和包帧超速使用包来传输信息。链路电源管理包、事务包、同步时间戳包和数据包的详细包格式在第8.2章定义。在协议层,头包帧是不可见的。7.2.1.1 头包结构所有头包有20符号长度,格式在在 Figure 7-3中.包括有LMPs, TPs,
53、ITPs,和DPHs。头包 由三个部分组成,一个 头包帧,一个包头,一个链路控制字。M3BLink Csnrrol Wcwd1 SH p1 SH p1 SH F1 Ep卜- -2 CRC20 Bytes o* l-ranhg, Heacfer and Unk ControlLSB (trsnsnltted rstlFigure 7-3, Header Packet with HP START Packet Header, and Link Control Word7.2.1.1.1 头包帧(4B)头包帧,HPSTART (header)顺序集,是一个4个基于K标志的有序集合头包起始帧。被定义为
54、3个连续的SHP标志后面跟着一个 K-symbol的EPF。一个头包应该总是以 HPSTART序列集开始。头包帧的结构是能容忍1个符号错误的。7.2.1.1.2 包头(14B)一个包头由14个字节组成,格式如 Figure 7-4所示。它包括12字节的头信息和一 个2字节的CRC-16。CRC-16用来保护12字节的头信息的数据完整性。14 BytesMSBLSB (transmitted first)2CRCUstsd for.vbj SLJ- -LJ12 3 4Link Management PacketTransaction PacketDat Packet HeaderIsochron
55、ous Timestarnp PacketslFigure 74 Packet Header7.2.1.2数据包结构数据包是一种由数据包头(DPH)和一个数据负载包(DPP)组成的特别包。DPH定义在7.2.1.1.章。另外一方面,DPP由数据包帧和可变长度的数据构成,可变长度数据后面跟着CRC-32。Figure 7-8 描述了 DPP格式。7.2.1.2.1 数据包帧DPP帧由8个K-symbols, 一个作为 DPP起始帧的four-symbol有序集和作为 DPP 结束帧的four-symbol有序集构成。正如 Figure 7-8所表示的,作为 DPP起始帧的 DPPSTART序歹U集,由三个连续的 SDP的K-symbols和后面跟着的一个 EPF的K-symbol 组成。一个DPP结束帧序列集有两种不同类型。第一种类型,DPPEND序列集,它是一个由三个连续的 K-symbol of END和后面跟着的单个 K-symbol of EPF组成的结束帧 有序集。第二种类型,DPPABORT序列集,是一个 DPP (未完成)终止帧序列集,它 由3个连续的K-symbol
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产经纪行业数据驱动的诚信经营体系创新-洞察及研究
- 电池充放电过程中界面反应动力学研究-洞察及研究
- 中石油三级安全教育课件
- 安全大讲堂 课件
- 建筑施工进度管理中CCPM应用实施指南课件
- 小朋友人身安全教育课件
- 2025年房地产估价师考试真题解析与冲刺训练
- 单位内部认证金属焊接工考试练习题及答案1-背题版
- 2025年安全员B证考试试题必考题附答案详解
- 2022年2月巴中市税务系统遴选面试真题带答案详解
- 典范英语搜救犬凯利
- 经历是流经裙边的水
- YS/T 514.1-2009高钛渣、金红石化学分析方法第1部分:二氧化钛量的测定硫酸铁铵滴定法
- GB/T 26465-2021消防员电梯制造与安装安全规范
- 厦门站350T履带吊拆装方案
- 迈瑞天地人血培养基础介绍
- 政府采购法颁布20周年知识竞赛题库答案
- 科技论文写作课件
- 休克治疗流程图
- 7.金融信用信息基础数据库用户管理规范(银发2014-323号)
- 四川森林抚育技术的指南
评论
0/150
提交评论