在仅仅具有HOST功能的USB电路中,我们往往需要检测USB设备是否接入,同时需要有效为其供电,在其不需要工作时,断开其电源。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
过去时间里,我们在不同产品中尝试过多种控制和检测电路,有的繁琐复杂,有的稳定性较差,生产和使用过程中不断出现失效的情况。
经过对大量USB设备的测试,在实验数据的情况下,我们设计了一个简单的检测和控制电路,线路如下:
基本的电路原理描述如下:
1. USB电源控制
+5V为USB设备供电的源头,通过Q10进行控制,当USB_ON为高电平时,Q11饱和导通,Q10因此也导通,USB5V输出电源。
USB_ON为低电平时,Q11、Q10截止,没有电源输出到外部设备。
为了减少系统功耗,在外部设备长期不使用时,也应该将输出电源关闭。
2. USB检测
在关闭USB电源输出期间进行设备检测。
关闭Q10和Q11,USB5V就是USB_TST信号,如果没有外部设备接入,USB_TST通过R23连接到+5V上面,其电平应该是+5V。
此时如果有外部设备插入,由于外部设备的负载阻抗,USB_TST电平变为0-0.5V左右,通过检测USB_TST电平,就可以判断是否有USB设备接入。
特别地,我们推荐采用AD的方式来检测USB_TST,这样,程序可以通过其电平的变化,更加准确的掌握外部设计的状态,在使用中,具有良好的抗干扰性能。
这个检测电路在监控期间,+5V通过一个100K的电阻来提供检测电源,其耗电是极其微小的。适合一些对供电有要求的环境应用。
同时,仅仅采用+5V供电,对检测的电路供电要求降低。
此设计仅仅适用于单独USB HOST的状态,OTG和SLAVE是不行的。
用户377235 2013-6-9 15:24
不错