USB3.2超高速协议规范
+ -

USB超高速 中断传输

2021-03-23 1932 1

中断传输类型用来支持带有轮询服务间隔需要高可靠性传输小数量数据的设备。这个规格的协议层章详细描述了与中断传输相关的包,总线事务事务处理流程。超速中断传输类型一般提供以下方面:

  • 能保证最大的服务间隔
  • 能保证在下一次服务间隔中尝试重新传输

在每个服务周期中为中断端点尝试中断传输,保留一定带宽保证在每个服务间隔尝试传输。一旦传输成功,就不尝试另外一次传输(在此周期内),直到下一个轮询服务周期到来(保证每个服务周期中尝试一次中断传输)。如果端点以没有准备好的通知或者一个指示不能接收任何包的ACK应答,则主机不会在此次服务中尝试另外一次到端点的传输,除非接收到准备好的通知。然后主机必须在收到(准备好)通知后的2个服务周期内服务端点。端点服务周期的请求在它的端点描述符中描述。
超速维持中断管道下面的特性:

  • 没有数据内容结构用于中断管道通信流
  • 中断管道是一条流式管道,因此总是单向的。

中断传输包大小

中断传输端点指定了超速总线上可以接受的/发送的最大数据包大小,对于支持突发次数(burst size)大于1的中断端点,仅仅允许的最大数据包大小为1024字节;对于突发次数等于1的中断端点,最大数据包大小能为1到1024的任何值。中断端点允许的最大的突发次数是3. 所有的超速中断端点应该支持在范围[0-31]的顺序值。

超速中断端点只用来移动带有界限服务间隔的小数量数据。超速协议不要求中断事务处理的包为最大化大小(即不要求每个数据包都为1024字节大)。

主机被要求支持超速中断端点,主机应该支持所有允许的中断包大小和突发大小的组合。主机要确保在一次突发事务处理中发送到端点的数据包大小不能超过端点的最大数据包大小。在突发事务处理中主机也不能发送超过端点最大突发大小的数据包数量。

中断端点应该总是发送带有数据域小于等于端点最大数据包大小的包,如果中断传输有比适应端点最大数据包大小更多的信息,所有的突发事务处理的数据都要求为最大包大小,除了突发事务处理的最后一个数据包,就是包含剩下的数据。中断传输可以包含多个突发事务。

中断传输是在端点做以下几个完成的:

  • 已经传输了所需精确的数据量
  • 传输了比最大包尺寸小的数据包(短包)
  • 应答STALL握手包

中断传输带宽需求

周期性端点(中断和同步)可以被分配到超速总线可利用带宽的80%。中断管道的端点通过端点描述符指定它想要的服务间隔,中断端点能指定一个想要的周期2(bInterval-1) x 125 μs,bInterval值是在范围1到(包含16)16。USB系统软件会在配置期间使用这个信息,决定能被采用的连续周期。被系统提供的周期可以缩到比设备想要的还短,最短到超速定义的周期大小(也是参考的总线轮询周期125μs)。注意总线上的错误能阻止中断事务处理在总线上的成功传输,因此超过了想要的周期。

超速中断端点在每个服务周期能提升到三个最大数据包的大小(3x1024bytes)。对于中断传输,主机没有方法决定端点是否在没有访问端点和请求一个中断传输下进行源/同步数据。如果一次IN中断端点没有中断数据要传输或者OUT中断端点没有充足buffer接受数据,当被主机访问的话,会以一个流控制进行应答。

当有中断数据挂起避免客户软件错误通知传输完成的时候,端点应该只提供中断数据。一个数据负载为零长度的数据包是一次有效传输,可以用来进行某些操作。主机可以在轮询服务周期中任何时刻访问一个端点。 中断端点不应该在尝试事务处理之间分配固定的空间。中断端点只能假定它在轮询服务周期会收到一次事务处理尝试。错误能阻止轮询服务周期中的数据成功传输,主机不被要求在同一个轮询服务周期中重新尝试事务处理,只在下一个轮询服务周期中重试事务处理。

中断传输数据流程

中断事务处理使用标准的突发流程进行可靠的数据传输。中断端点通过适当的控制传输(SetConfiguration, SetInterface, ClearEndpointFeature)被初始化成初始的发送或者接收顺序号值和突发大小。主机在完成了合适的控制传输后成功为中断管道设置初始的发送/接收序列号和突发大小。

超速中断管道停止条件和USB2.0定义的中断端点一样有相同的副作用。从停止条件中恢复也跟USB2.0相同(Section 5.7.5 in the Universal Serial Bus Specification, Revision 2.0.)。中断管道停止条件包含STALL握手包对事务处理应答或者对由于发送错误导致主机事务处理尝试次数的消耗的应答。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB超高速3.0协议与USB2.0协议的差异
超高速在框架层级是向后兼容 USB 2.0 的。然而, USB 2.0 和超高速协议还是有一些根本性的差异:USB 2.0 使用三部分事务交易(令牌,数据和握手),而超高速对这相同的三部分的使用是不相同的。对于输(OUTs),令牌被列入数据包;而对于输入(INs),令牌则被握手所取代。USB 2.0......
USB3.0硬件编码格式-8B/10B编码
1.编码技术基础理论 在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满意的误码率,其关键技术在于串行传输中数据的编码方法。 目前, 高速接口正在被广泛应用于包括 SATA、 SAS、 高速......
USB超高速 GEN1设备状态
USB设备可能有很多状态,如断开状态,刚接入状态,分配地址状态,配置状态,工作状态等。当然由于USB3.0超高速协议规范的定义,USB超高速总线架构采用的是双总线结构。超高速设备的状态如下:AttachedPoweredDefaultAddressConfiguredSuspendedStateNo......
USB 中断传输方式
USB协议规定了四种传输类型:控制传输、批量传输、同步传输、中断传输中断传输一般用于小批量的和非连续的数据传输,通俗的来说就是用于数据量小的数据不连续的但实时性高的场合的一种传输方式,主要应用于人机交互设备(HID)中的USB鼠标和USB键盘等。USB中断传输和我们传统意义上的中断不一样。......
怎么看我的电脑是否支持USB3.0?
USB 3.0 端口标记有 SuperSpeed USB 徽标,或端口通常为蓝色,图片如下:我们的PC中引出的USB接口一般为TYPE-A型,即A型接口,现在一些笔记本也支持TYPE-C接口。USB规范定义了多种的USB接口类型,详情可见 USB机械和电子标准及USB硬件接口分类较新的 PC同时具......
USB超高速 中断传输
中断传输类型用来支持带有轮询服务间隔需要高可靠性传输小数量数据的设备。这个规格的协议层章详细描述了与中断传输相关的包,总线事务和事务处理流程。超速中断传输类型一般提供以下方面:能保证最大的服务间隔能保证在下一次服务间隔中尝试重新传输在每个服务周期中为中断端点尝试中断传输,保留一定带宽保证在每个服务间......
USB超高速设备描述符的bMaxPacketSize0为0x09
USB3的设备中,其USB设备描述符和2.0的结构一致,不过在含义上有的字段稍有区别。比如说在USB3.2的版本中,其设备描述符中的bMaxPacketSize0和USB2.0有就所不同。在USB2.0中bMaxPacketSize0代表的是USB设备默认端点0的最大包的大小,一般为0x40即64字......
USB超高速(SuperSpeed)体系结构
USB超高速(SuperSpeed)体系结构在协议层分为物理层,数据链路层,协议层。USB3.0定义了超过高USB,USB3.1/USB3.2实现了超高速Plus架构。数据链路层(Link Layer)超高速链路(SuperSpeed link)是两个端口的逻辑和物理连接。被连接的端口(connec......
USB超高速对USB2.0的兼容性
当主机枚举时,所有设备都会被分配一个USB地址。每个设备支持一个或多个管道,主机可以通过这些管道与设备通信。所有设备都必须在端点0处支持指定的管道,设备的默认控制管道将连接到该管道。所有设备都支持通过此控制管道访问信息的公共访问机制。USB外接设备的兼容USB 3.0 外接设备 ( peripher......
USB超高速 控制传输
控制传输的目的与特点与USB2.0协议完全相同。这个规格的协议层章节详细描述了用于完成控制传输的包,总线事务处理和事务处理流程。设备架构那章定义了完整系列的设备使用的标准命令编码。每个设备需要启动默认控制管道作为一个消息管道。这个管道用来进行设备初始化和管理,用来访问设备描述符和向设备请求对其进行操......
USB3.0官方协议规格书(英文版)下载
USB3.0 协议规范 英文完整版,USB底层结构说明,开发基础(USB3.0 protocol specification full version)USB3.0官方协议规格书(英文版)下载:USB中文网技术交流QQ群下载QQ群文件/USB规范/USB3.0官方协议规格书(英文版).pdfQQ群号......
USB3.0和USB2.0有什么区别
USB3.0是USB2.0的升级,USB3.0按USB规范又分为USB3.0,USB3.1和USB3.2usb3.0和2.0的区别-历史版本对比USB2.0是2000年4月27日由USB-IF组织提出了USB2.0总线协议规范。USB3.0是超高速USB3.0规范于2008年11月17日出USB-I......
USB版本历史及USB2.0与USB3.0的区别
USB从最初的4线制发展到今天的8线制,其速度越来越快,支持的设备种类和功能也越来越多,USB协议也越来越复杂。USB1.01996年1月15日推出USB1.0接口规范规定低速传输速率为1.5Mbit/s对外提供供电电压为5V,最大电流500mA一般适用于鼠标、键盘等低速HID设备。支持热插拨......
USB3.0协议规范(中文版)下载
本文章是对USB3.0规格书的内容翻译。在框架上,USB3.0超速是向后兼容USB2.0的,但是二者在协议上还是有一些重大的不同:•USB2.0的transaction(事务处理)有三部分(令牌(token)、数据(data)和握手(handshake)),超速也是这三部分但是用法不同(令牌包集成在......
USB超高速批量传输
批量传输类型是用来支持想要跟相当大的海量数据通信设备,传输能使用任何可用的超速带宽。超速批量传输功能端点提供以下:对基于有限带宽的超速总线访问保证数据的发送,但是不保证带宽和发送时间超速维持下面的批量传输管道特征:对批量传输管道通信流没有强制固定的数据结构批量传输管道是一个流式管道,因此总是有通信流......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!