[STM32MP1] 调试定位方法

[复制链接]
220|51
geraldbetty 发表于 2026-6-14 14:31 | 显示全部楼层
VBUS 上升沿是否过缓?USB 规范要求 VBUS 需在一定时间内稳定。
febgxu 发表于 2026-6-14 15:55 | 显示全部楼层
检查 D+/D- 走线的长度差是否小于 50mil,差分阻抗是否控制在 90Ω±10%。此外,劣质或漏电的 ESD/TVS 保护器件也会导致波形异常抖动,建议优先选用低电容专用防护器件
belindagraham 发表于 2026-6-14 16:11 | 显示全部楼层
        冷启动、热插拔              
biechedan 发表于 2026-6-14 16:45 | 显示全部楼层
确认是否仅在冷启动/某USB口/某线缆下出现
plsbackup 发表于 2026-6-14 17:28 | 显示全部楼层
在此函数末尾加日志。如果没打印,说明 USB 初始化被跳过或之前卡死。
burgessmaggie 发表于 2026-6-14 18:08 | 显示全部楼层
用示波器抓取插拔瞬间的波形,这是最直观的物理证据。
hilahope 发表于 2026-6-15 19:46 | 显示全部楼层
主机发起枚举时,会拉取电流。如果 5V 跌落严重或纹波过大,MCU 可能复位或 USB 外设死机。
claretttt 发表于 2026-6-15 19:58 | 显示全部楼层
全速设备识别的关键在于 D+ 线是否被正确拉高。请使用万用表测量 D+ 对地电压,正常应约为 2.8V~3.3V;同时确认上拉电阻阻值是否为精确的 1.5kΩ±5%
elsaflower 发表于 2026-6-15 20:23 | 显示全部楼层
使用USB协议分析仪捕获枚举过程,解析主机与设备的命令/响应交互
vivilyly 发表于 2026-6-15 20:44 | 显示全部楼层
STM32CubeMX 生成代码时,默认开启了 VBUS Sensing。如果你的硬件上 VBUS 引脚悬空,或者引脚电压波动,会导致 USB 外设频繁认为自己被拔出而执行复位,最终死锁。
ulystronglll 发表于 2026-6-15 21:07 | 显示全部楼层
USB 是 FS 还是 HS              
claretttt 发表于 2026-6-15 21:25 | 显示全部楼层
不同主板USB口、不同品牌线缆              
EmmaTT 发表于 2026-6-17 17:32 | 显示全部楼层
你说的对,DP/DM线串联电阻确实容易忽视,阻值不匹配会导致差分信号畸变,你可以检查一下。另外,我之前遇到类似问题,是通过优化USB中断处理流程解决的,建议你检查一下中断处理函数的效率。
pixhw 发表于 2026-6-18 11:46 | 显示全部楼层
抓包显示主机发送命令后,超过50ms未收到设备响应,主机终止枚举。
maudlu 发表于 2026-6-18 12:49 | 显示全部楼层
硬件信号质量              
youtome 发表于 2026-6-18 13:16 | 显示全部楼层
通过固件日志精确定位枚举阶段,重点跟踪USB设备状态机
minzisc 发表于 2026-6-18 14:40 | 显示全部楼层
在固件中添加枚举重试机制,适应主机超时重试逻辑。
deliahouse887 发表于 2026-6-18 15:50 | 显示全部楼层
示波器必看信号              
lzmm 发表于 2026-6-18 16:32 | 显示全部楼层
卡在哪个 dev_state              
Bowclad 发表于 2026-6-18 16:51 | 显示全部楼层
振动环境下,多检查USB模块的焊接点和连接器,有时接触不良在振动下更容易暴露问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0