USB DEVICE调试心得

本文详细介绍了USB DEVICE在调试过程中遇到的问题及解决方法,包括设备无法上报、获取描述符失败、描述符无效、地址设置失败、端点通信问题等,并提出了有效的调试策略和工具选择,如使用USB协议分析仪确保通讯时序正确。
摘要由CSDN通过智能技术生成

一、USB设备链接后无法HUB不上报发现新设备。
USB控制器未打开,USB DP/DM引脚配置不正确。
二、能够发现设备,但HOST端提示获取描述符失败。
获取描述符是 USB DEVICE 链接后 HOST 向 DEVICE 发送的第一个命令。调试过程中需要注意下位机能否正确收到该命令。
1.如果 DEVICE 不能收到命令,则可能是 DEVICE 端 USB 模块时钟频率配置不对,一般来说,DEVICE 端 USB 模块时钟频率应当配置为48MHZ。
2.如果 DEVICE 能够收到命令,但 HOST 收不到应答,则可能是发送端发送流程不正确,需要注意 USB 每一个 TOKEN 包都需要 ACK/NAK 应答,但有些芯片会对一些特定数据包自动应答,在此情况下,软件不需要再应答TOKEN包,而是直接进入 DATA 传输阶段。
三、能发现设备,但提示描述符无效。
描述符无效通常表明 HOST 已经收到描述符数据包,但是包内容不正确,描述符不正确可以排查以下两点:
1.排查 DEVICE 端固件提供的描述符数据格式是否正确。
2.排查 HOST 端收到的描述符内容,这部分描述符内容可以使用 USB 协议分析仪查看,也可以使用开源的 USB HOST 软硬件协助排查。 
四、地址设置失败
地址设置时应当注意,整个地址设置命令的通讯地址都必须是0地址。
主机发送设置地址命令到地址0的设备,设备以0地址向主机应答该命令,然后再配置地址。
另外,有些芯片在收到地址设置命令时会自动配置地址,软件不应当再参与配置。
五、部分端点不能正确发送数据
枚举过程中EP0能发送和接收数据,但其他端点不能发送数据,可能与端点的类型配置、DMA方向有关。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值