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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值