一、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方向有关。
USB DEVICE调试心得
最新推荐文章于 2024-04-13 15:42:15 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)