找回密码
 立即注册
楼主: ercircle

一些奇奇怪怪的USB问题记录

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2025-8-1 12:19:13 | 显示全部楼层
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2025-8-31 21:21:03 | 显示全部楼层


关于有效序列号iSerialNumber的判断标准:


USB设备的序列号是通过主机向USB设备获取USB设备的字符串描述符获取的,字符串的的索引存储在USB设备管理器中的iSerialNumber字段中,该字段的长度为一个字节,大小为0-255。
USB 设备描述符的 iSerialNumber 字段指示设备是否具有序列号以及该数字的存储位置,如下所示
    iSerialNumber == 0x00:USB 设备没有序列号。
    iSerialNumber!= 0x00:USB 设备具有序列号。 分配给 iSerialNumber 的值是序列号的字符串索引。
如果设备具有序列号,则序列号必须唯一标识同一设备的每个实例。
例如,如果两个设备描述符的“idVendor”idProduct”和“bcdDevice”字段的值相同,则 iSerialNumber字段必须不同,以便将一台设备与另一台设备区分开来。


Windows即插即用管理器要求 USB 序列号中的每个字节都有效。如果单个字节无效,Windows 会丢弃序列号,并将设备视为不具有序列号。 对于 USB 序列号,以下字节值无效:
·0x2C.(说明,该值的ASSIIC为逗号)
·小于0x20 的值。(说明,0x20该值的ASSIIC为空格)
·大于0x7F 的值。(说明,0x7f该值的ASSIIC为DEL)
必须为可见有有效字符。


截图202508312120571534.jpg
https://www.stcaimcu.com/forum.p ... 9874&pid=184371
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2025-10-23 09:37:15 | 显示全部楼层
大于255字节的FIFO内容读取应使用OUTCOUNT2:OUTCOUNT1双字节:

截图202510230936585495.jpg
截图202510230937061246.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-6 18:55:38 | 显示全部楼层

usb remote wakeup 是Device发起,层层传递,HOST接手的传递行为~
截图202601061854029839.jpg

截自usb2.0文档。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-12 15:41:53 | 显示全部楼层
关于USB OTG SRP行为:
1.HOST和DEVICE,会话结束,皆处于挂起状态,VBUS掉电
2.DEVICE解除D+上拉,总线进入SE0状态至少1s
3.DEVICE主动发起SRP

4.The VBUS pulsing method of SRP defined in previous revisions of the supplement is no longer supported.


截图202601121528055522.jpg
《usb_20.pdf》

截图202601121528276823.jpg
截图202601121529023994.jpg
截图202601121533549801.jpg

截图202601121540559102.jpg
《USB_OTG_and_EH_2-0-version 1_1a.pdf》
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-12 15:51:47 | 显示全部楼层
关于USB HNP行为:
1.总线挂起
2.释放B设备D+上拉,发起HNP
3.A设备检测到DISCON,但是SESS保持,拉起D+响应HNP
4.B设备HNP请求结束,清除RESET,开始枚举A设备

截图202601121547394629.jpg
截图202601121548198821.jpg
截图202601121548333592.jpg
《USB_OTG_and_EH_2-0-version 1_1a.pdf》


三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-12 17:22:45 | 显示全部楼层

HNP时序图注释:

参数 全称/含义 对应阶段
X1: TA_AIDL_BDIS A-device Idle to B-device Disconnect(A型设备空闲到B型设备断开上拉的时间) B型设备发起HNP请求阶段
X2: TA_BDIS_ACON B-device Disconnect to A-device Connect(B型设备断开上拉到A型设备响应的时间) A型设备响应HNP请求阶段
X3: TA_BIDL_ADIS B-device Idle to A-device Disconnect(B型设备空闲到A型设备断开下拉的时间) 角色切换(B型→新主机)阶段
X4: TLDIS_DSCHG Line Disconnect to Discharge(总线断开到电平放电稳定的时间) 总线状态过渡阶段
X5: TA_BCON_SDB_WIN A-device B-connect to SDB Window(A型设备切换为外设后,新主机的SDB窗口时间) 新主机初始化通信阶段
X6: TA_BCON_SDB A-device B-connect to SDB(A型设备切换为外设后,新主机的SDB信号时长) 新主机初始化通信阶段
X7: TA_BCON_ARST A-device B-connect to Auto Reset(A型设备切换为外设后,新主机的自动复位时长) 新主机枚举阶段
X8: TB_AIDL_BDIS B-device A-idle to B-device Disconnect(B型设备检测到A型设备空闲后,断开上拉的时间) B型设备发起HNP请求阶段
X9: TB_ACON_DBNC B-device A-connect to Debounce(B型设备检测到A型设备响应后,去抖动的时间) A型设备响应HNP请求阶段
X10: TB_ACON_BSEO B-device A-connect to B-SE0(B型设备检测到A型设备响应后,强制总线进入SE0的时间) B型设备发起HNP请求阶段
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-21 19:41:19 | 显示全部楼层
ISO端点wMaxPacketSize设置512B以上,USB枚举失败:电脑资源不足导致
截图202601211940247953.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2026-03-23 08:55:58
已绑定手机

104

主题

4193

回帖

9303

积分

荣誉版主

无情的代码机器

积分
9303
发表于 2026-1-27 08:56:52 | 显示全部楼层
关于CDC printf发大包异常问题,需要自行建立缓冲区分包发送:


https://www.stcaimcu.com/forum.p ... 1685&pid=200153
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2026-03-13 21:26:05

1

主题

9

回帖

103

积分

注册会员

积分
103
发表于 2026-3-13 21:26:05 | 显示全部楼层
是不是可以通过设置特殊的波特率,然后设置dtr引脚的形式来重启进boot?  就不用在串口的数据流里面出现握手数据。

点评

无非就是软件触发和硬件触发两种方式选一即可  详情 回复 发表于 2026-3-14 12:56
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-23 16:43 , Processed in 0.119516 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表