USB设备枚举不成功

2019-07-20 13:29发布

      我设计了一款基于stm32f4的audio 设备能够同时录音和放音。产品已经小批量试产了,现在测试同事发现,多次插拔usb设备的时候会出现usb的设备无法识别,变成usb audio device。即使卸载了设备也不行。必须电脑断电重新插拔才行。
      我的基本驱动是按照原子的usb声卡的例子修改的,只是加了一个录音的功能。usb库是标准库v1.1版本。后来我拿原子开发板给我同事测试发现也存在这个问题。
      这个比较着急,论坛的朋友有没有思路。我觉得是有的时候usb描述符枚举没有成功,但是不知道怎么改进。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
czdspeed
1楼-- · 2019-07-21 15:12
yangkefeng 发表于 2017-4-27 11:29
为什么要电脑断电   而且电脑断电可以解决问题   和电脑USB驱动有关系吗

产品需要,用户那边是不能断电的。必须即插即用每次都识别。
zmingwang
2楼-- · 2019-07-21 16:29
 精彩回答 2  元偷偷看……
czdspeed
3楼-- · 2019-07-21 18:41
zmingwang 发表于 2017-4-27 14:28
将USB枚举过程DUMP出来,就知道哪里出问题了

你好,请问一下你们用什么usb trace工具。我现在用的只能读出来usb的状态信息,只能看是否枚举成功了,枚举的流程看不出来。能不能发给我一份trace工具。
zmingwang
4楼-- · 2019-07-21 23:18
czdspeed 发表于 2017-4-27 14:35
你好,请问一下你们用什么usb trace工具。我现在用的只能读出来usb的状态信息,只能看是否枚举成功了,枚 ...

电脑上可以用Bus Hound,可抓出USB描述符交换的报文
设备端就简单了,将发送到USB总线的数据和从USB总线接收的数据全部打印出来看.要注意的是STM32设备库中处理数据是在USB中断里面进行的,如果用串口打印,最好用DMA的方式.
myxiaoniao
5楼-- · 2019-07-21 23:24
 精彩回答 2  元偷偷看……
czdspeed
6楼-- · 2019-07-22 03:37
myxiaoniao 发表于 2017-4-28 12:56
如果是usb全速,可以试试用最便宜的usbee来抓包,usbee是个入门逻辑分析仪,网上的盗版版本只要几十块钱, ...

谢谢,我这边用用官方的std usbV1.1做驱动修改了,发现这个不识别的问题减轻了很多。我这两天反复试验只出现了几次。之前出问题的是usbv1.2 还不清楚这两个库哪里有问题。

一周热门 更多>