打印

USB设备识别问题

[复制链接]
1232|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2013-12-26 18:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题是这样的,我这里的一个USB设备,速度是HS的,但在插上电脑后,先因为reset设备没反应,PC就认为设备为FS,然后没过一阵,再度reset后,设备来反应了,PC识别到设备为HS了,但问题就在这里出现了,到后面PC发下去的命令,全都认为我这个设备是带上HUB的,都给我的控制包增加了SPLIT的包头。
    如果是刚插进去,设备直接被识别到是HS,设备运行是正常的,所以就想知道:这个SPLIT的包头为什么会产生,PC是怎样判定我的设备是不是一个HUB的。

出错的流程:
RESET
没应答信号
FS
.....(一些没用的命令)
RESET
有应答信号
HS
错误的命令(都带上SPLIT头了)
SUSPEND

正常的流程:
RESET
有应答信号
HS
命令正常(运作很正常)


困扰了好几天了,求大神解答。。。。。

相关帖子

沙发
火箭球迷| | 2013-12-26 18:58 | 只看该作者
你是不是没采用USB的中断处理呀,这些报文应该要及时响应才对。

使用特权

评论回复
板凳
gxgclg| | 2013-12-26 21:26 | 只看该作者
在兼容 USB 2.0 之后,主机在检测到 D+ 上有上拉之后,与设备进行 3 次高速握手。如果握手成功,就识别为高速设备;反之如果超时无应答,就识别为全速。

如果你的上拉电阻的接入可控的话,在设备能够相应主机之后再将其接入。

使用特权

评论回复
地板
无冕之王| | 2013-12-26 21:40 | 只看该作者
reset没响应那就是握手过程失败。可以抓下图,发过来看下。
D+信号,1.5V下降沿触发,50ms。
可以和握手成功的波形比较一下。
根据我的经验可能是电压超出范围了,不过也不排除其他可能性。

使用特权

评论回复
5
pkat| | 2013-12-26 21:59 | 只看该作者
分析仪的结果显示你一直在不断reset。然而reset是信号层的,分析仪抓不到问题的。
所以要用示波器抓,不用太好的示波器。

使用特权

评论回复
6
angerbird| | 2013-12-28 23:29 | 只看该作者
这是在调试的吧,,USB总线通讯的还是有些难度的,耐心的啊

使用特权

评论回复
7
comeon201208| | 2013-12-30 23:27 | 只看该作者
USB的设备识别问题也不简单的么,就是我们常说的驱动?还是?具体的就不得而知了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝