usb
文章平均质量分 96
Liuqz2009
不念过去不畏将来,全心活在当下!
寒窗二十载,人生再出发!
展开
-
USB 2.0 详解
当一个USB设备连接至USB主机,就要对设备进行枚举,所谓枚举就是从设备读取各种描述符信息,这样主机就可以根据这些信息加载合适的驱动程序,并且知道设备是什么样的设备。原创 2024-09-12 11:09:11 · 826 阅读 · 0 评论 -
USB3.2 摘录(13)
进行连接时表现出正确的外围设备行为。图 10-26 是外围设备上行端口状态机的示意图。集线器的上行端口具有类似的功能要求。本节总结了哪些要求也适用于外围设备的。状态是外围设备的默认状态。以下部分提供了状态机的功能说明,该状态机在何时通过。外围设备应遵循第 10.5 节中关于面向上游的。子状态中首次未检测到远端接收器终端时发生。在此状态下,端口的链路应处于。端口,并确定了任何附加或不同的要求。),则应进行此转换。上的连接才能进入此状态。之外的任何状态进入打开。外围设备的上行端口与。1. 外围设备必须在。原创 2024-08-29 11:17:03 · 701 阅读 · 0 评论 -
USB3.2 摘录(12)
如果功能选择器与状态更改相关联,则清除该状态更改将确认该更改。状态时,当此端口为接收方时,唯一有效的请求是获取端口状态 (请参阅 第 10.16.2.6 节) 和设置端口功能 (集线器对请求处理时间的限制比 Section 9.2.6 中规定的标准设备更严格,因为它们对于连接到。由于集线器在总线计数中起着如此关键的作用,因此建议所有请求的集线器平均响应时间小于 5 毫秒。如果功能选择器与状态更改相关联,则清除该状态更改将确认该更改。状态,并且可能会根据集线器的电源切换方法的限制,导致端口的电源断开。原创 2024-08-28 16:13:06 · 704 阅读 · 0 评论 -
USB3.2 摘录(11)
总线供电的集线器应能够将所选配置的集线器电子设备或永久连接设备未使用的任何电源提供给公开的下游端口。集线器应能够在暴露的下游端口之间提供任意分割的电源(即,如果集线器可以为两个暴露的下游端口提供。电源拓扑,则不打开集线器的端口。如果集线器具有每端口的电源切换和每端口的电流限制,则一个端口上的过流情况仍可能导致另一个端口的功率低于指定的最小值。系统软件通过清除与集线器报告的状态更改相对应的更改状态来确认端口更改。系统软件知道集线器上的端口数(这在集线器描述符中报告),并相应地解码集线器和端口状态更改位图。原创 2024-08-27 18:02:33 · 913 阅读 · 0 评论 -
USB3.2 摘录(10)
注意:如果相应下游端口的队列已满,则只要相应下游端口队列中有可用空间,标头数据包就会排队。如果下游端口队列已满,如果后续标头数据包被定向到不同的下游端口,则集线器应在下游端口队列已满时处理这些数据包。注意:如果相应下游端口的队列已满,则只要相应下游端口队列中有可用空间,标头数据包就会排队。如果下游端口队列已满,如果后续标头数据包被定向到不同的下游端口,则集线器应在下游端口队列已满时处理这些数据包。如果后续标头数据包被定向到不同的下游端口,则集线器应在下游端口缓冲区已满时处理这些数据包。原创 2024-08-27 16:27:36 · 704 阅读 · 0 评论 -
USB3.2 摘录(九)
图 10-16 显示了每个下游端口的 4 报头数据包 Rx 缓冲区和上行端口的 4 报头数据包 Tx 缓冲区。以下部分提供了状态机的功能描述,该状态机对面向集线器的上游端口表现出正确的行为。在此状态下,端口的链接应处于 eSS.Disabled 状态,相应的集线器 USB 状态应为 Attached。必须满足第 10.7.3 节中的要求,即从上游端口转发到下游端口的报头数据包的传播延迟的最大变化。以下部分提供了状态机的功能说明,该状态机为面向集线器的上游端口提供正确的链路电源管理行为。原创 2024-08-26 17:25:27 · 706 阅读 · 0 评论 -
USB3.2 摘录(八)
表 10-2 显示了集线器下游 USB 标准 A 端口的 VBUS 允许状态,以及集线器上游端口的可能状态以及下游 USB 标准 A 端口的逻辑端口电源。对于未实现每端口功率控制的 Hub,在 Hub 移除 VBUS 之前,所有受移除 VBUS 影响的下行端口都应处于可能关闭电源的状态(参见表 10-2)。状态不同,终端在此状态下保持不变,并避免链路训练失败,这将允许下游设备进入合规模式或 USB 2.0 操作,应在 tReset 持续时间内驱动热复位信号。在这种情况下,端口应在下游端口链路上启动热重置。原创 2024-08-26 10:41:13 · 429 阅读 · 0 评论 -
USB3.2 摘录(七)
集线器提供USB设备和主机之间的电气接口。集线器直接负责支持许多属性,这些属性使 USB 对用户友好并向用户隐藏其复杂性。下面列出了集线器支持的USB连接行为电源管理设备连接/断开检测总线故障检测和恢复增强的SuperSpeed和 USB 2.0(高速、全速和低速)设备支持当USB集线器以 Gen 1x1 速度连接到其上游端口时,它应作为SuperSpeed集线器运行。当USB集线器以高于 Gen 1x1 的速度在其面向上游的port上连接时,它应作为集线器运行。原创 2024-08-26 10:28:39 · 737 阅读 · 0 评论 -
USB3.2 摘录(六)
本章介绍同时支持增强型SuperSpeed和 USB 2.0(称为“USB 集线器”)的集线器的体系结构要求。本章还介绍了主机下行端口和集线器下行端口的功能要求之间的差异,以及外设上行端口和集线器上行端口之间的差异。本章包含对增强型 SuperSpeed 集线器的说明。增强型 SuperSpeed 集线器支持所有 Gen X x Y 速度。本章包括对SuperSpeed子模块(SuperSpeed中继器/转发器和SuperSpeedHub控制器)以及子模块(上行控制器、下行控制器和控制器)的描述。原创 2024-08-22 14:25:03 · 630 阅读 · 0 评论 -
USB3.2 摘录(五)
主机与端点传输所有的DPS可以作为一次单个同步突发事务处理或者它可以将传输分为更小的突发,像2,4,或8个DPs服务间隔中最后的同步突发带有剩下的数据包DP。Host 发送 DP给 Device,每个 DP 使用递增的包序号(0-31),Device 向每个 DP 回 ACK TP.同样的,Host 不必等待收到 ACKTP就可以继续发送下一个DP,如果 Device 回复了一个retry位被置位的 ACKTP,Host需要从该ACKTP指示的包序号开始重传 DP。它支持在保证的界限延迟下可靠的数据传输。原创 2024-08-21 15:46:47 · 1003 阅读 · 0 评论 -
USB3.2 摘录(四)
如果设备或者主机发送一个NumP域值减少的ACKTP包,那么减少的值不能比1大.例如,如果前一个ACKTP包NumP域值为5,那么对下一个收到的包的 ACK TP的NumP域值不应该比4小,只有下面的情况除外:-----如果设备能够接受数据但是不能再接收更多的数据了,则它应该发送一个NumP域值设为 0的 ACKTP 包。SETUP DP是一种特别的DP,它通过Setup域被设置为1来认证,可被寻址到任意端点SETUP是一种主机到设备的特别的数据事务处理,它允许主机初始化设备一条要执行的命令。原创 2024-08-20 12:08:40 · 676 阅读 · 0 评论 -
USB3.2 摘录(三)
应该用来配置没有停留在活动(U0)状态中能被改变的功能在接收到带 Force_LinkPM_Accept 位声称的 LMP 时,端口应该接受所有的 LGO_U1 和LGO_U2链路命令,除非端口收到一个带有 Force_LinkPM_Accept 位撤销声称的LMP注意:Force_LinkPM_Accept功能不正确的使用会严重影响链路的使用性能。添加到串流上的符号有影响(即帧包,控制或修改链路),像位编码,链路层帧,为了精简讲述,已经被移除了它们对协议层是不可见的)。较低值(0)的端口为上端口。原创 2024-08-19 11:46:45 · 692 阅读 · 0 评论 -
USB3.2 摘录(二)
此外,错误检测功能还集成到数据包和链接命令中,以验证数据包和链接命令的完整性。操作中,链路控制字应包含一个 3 位头序列号、3 位保留、一个 3 位集线器深度索引、一个延迟位 (DL,Delayed)、一个延迟位 (DF,Deferred) 和一个 5 位 CRC-5。操作中,链路控制字应包含一个 4 位头序列号、2 位保留值、一个 3 位集线器深度索引、一个延迟位 (DL)、一个延迟位 (DF) 和一个 5 位 CRC-5。超速使用包来传输信息。头包由三个部分组成,一个头包帧,一个包头,一个链路控制字。原创 2024-08-19 11:44:09 · 681 阅读 · 0 评论 -
USB3.2 摘录(一)
USB3.2 系统架构(图3-1)由两个同时活动的总线组成:一个 USB2.0 总线和一个增强型超高速总线。USB3.2 互连USB3.2 设备USB3.2 主机USB 3.2 集线器是一种特殊的 USB 设备,其目的是为超出由主机提供的总线提供额外的连接点。在本规范中,非集线器设备被称为外围设备,以区分它们与集线器设备。此外,在 USB 2.0 中,术语 “功能” 有时可以与设备互换使用。在此规范中,一个函数是设备中的一个逻辑实体。原创 2024-08-13 18:19:59 · 182 阅读 · 0 评论 -
USB 2.0 规范摘录
USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达 480Mb/S。USB 支持“总线供电”和“自供电”两种供电模式。在总线供电模式下,设备最多可以获得 500mA 的电流。USB2.0 被设计成为向下兼容的模式,当有全速(USB 1.1)或者低速(USB 1.0)设备连接到高速(USB 2.0)主机时,主机可以通过分离传输来支持它们。一条 USB 总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB 以及 USB 功能设备。原创 2024-08-03 22:14:28 · 831 阅读 · 0 评论 -
基于libusb的无驱设计(一)
这篇文章是引用他人的,^-^。驱动研发向来是内核研发中工作量最多的一块,随着USB设备的普及,大量的USB设备的驱动研发也成为驱动研发者手头上做的最多的事情。本文主要介绍Linux平台下基于libusb的驱动研发,希望能够给从事Linux驱动研发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。文章是我在工作中使用libusb的一些总结,难免有错误,如有不当的地方,还请指正。转载 2012-08-20 18:15:45 · 1887 阅读 · 0 评论 -
linux下类似Bus Hound的工具
linux下类似Bus Hound的工具0推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了usbmon这个工具,可以收集串口信息。1.准备:挂接debugfs (这个可以在内核配置中使能),加载usbmon模块(如果usbmon编译成模块). 如果usbmon编译到内核中的转载 2012-08-20 14:38:43 · 9693 阅读 · 1 评论