USB上拉电阻是否需要连接三极管来控制上拉通断问题
在捣弄USB模拟U盘程序的时候遇到一个问题,明明用的是例程,下载到开发板上电脑一直显示无法识别该USB设备,当时曾经怀疑是软件问题,一直在网上搜索这方面的知识。因为手上有两个开发板,两个板的电路图略有不同。
最后发现是三极管的问题。先说说。D 上拉电阻的作用:上拉电阻连接D 或D-上决定了USB设备是高速还是低速。连接三极管的功能是:如果一开始就连接上拉电阻,设备可能仍在执行初始化程序,但主机检测到设备插入并发送请求。因此,设备未完成初始化工作,无法响应,导致设备无法正常识别。另一个功能是实现设备的二次枚举。当设备插入时,它首先被识别为从主机下载固件到设备的设备RAM在中间,然后设备断开上拉电阻(模拟拔下,但设备没有断电),然后重新连接上拉电阻。当主机检测到新设备插入并重新识别设备时,设备使用了刚刚下载的新固件。
上传的图片显示了两块板的电路图。
特别感谢圈圈教你玩USB》这本书启发了我。