USB上拉电阻是否接三极管控制通断的问题

USB上拉电阻是否需要接三极管控制上拉通断问题

在捣弄USB模拟U盘程序的时候遇到一个问题,明明用的是例程,下载到开发板上电脑一直显示无法识别该USB设备,当时一度怀疑是软件的问题,一直在网上搜索这方面的知识。由于手上有两个开发板,两块板电路图略有区别。

最后发现是三极管的问题。首先说说D+上拉电阻的作用:上拉电阻接在D+D-上决定了USB设备是高速还是低速。而接三极管的作用则是:如果一开始就将上拉电阻接通了,可能设备还在执行初始化程序,但是主机已经检测到有设备插入了,从而发送请求,结果设备还未完成初始化工作而无法响应,导致设备不能被正常识别。另外还有一个功能就是实现设备的二次枚举。当设备插入后,它先被识别成一个设备,该设备负责从主机下载固件到设备RAM中,然后设备将上拉电阻断开(模拟拔下,但是设备并没有断电),接着重新连接上拉电阻。当主机检测到新设备插入,重新识别设备,这是设备使用的已经是刚下载的新固件了。

两块板的电路图如上传的图片所示。

特别感谢《圈圈教你玩USB》这本书对我的启发。

来源:浮狸浮图

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年1月23日
下一篇 2017年1月23日

相关推荐