EDA365电子工程师网

标题: USB数据传输与充电状态识别 [打印本页]

作者: lixc2008    时间: 2011-5-21 09:44
标题: USB数据传输与充电状态识别
本帖最后由 lixc2008 于 2011-5-21 09:44 编辑
6 Z' w4 H' D! B4 y( X% d
3 n( [- a$ M) D8 K' l目前很多数码产品都可以通过USB充电,可以通过什么方法在开机时就能识别出数码产品USB当前的状态(已有USB数据线连接到相应设备),比如是在进行数据传输还是在充电。我手上有一款MP4,插上USB连接电脑,开机时,显示数据传输模式,在电脑上删除设备后,MP4上显示正在充电。% Z$ Z6 G4 u9 x/ y7 R9 A
测量了下USB设备在连接电脑时,D+数据线上电平位低,在电脑上删除设备后D+数据线上电平为高,可否通过这样侦测D+电平高低做一个判断呢。但在数据传输时,D+,D-高低电平又是不断交替的。# n, M, S# N: m) ~

作者: lixc2008    时间: 2011-5-21 09:46
本帖最后由 lixc2008 于 2011-5-21 09:48 编辑 2 R. v( J* y! X3 ~; q' w. |- T
' c: k9 S! D' ^6 ?* {( z/ ?6 z( a
由于目前我的产品耗电超过500mA(作mass storage时电流200mA那样),不允许在充电模式下开机,但能作mass storage,所以想通过电平高低控制电源部分电路是否供电。
作者: wgxold    时间: 2011-5-21 11:10
这样可能会有问题,有些PC删除硬件后会将USB口电源切断
作者: lixc2008    时间: 2011-5-21 11:33
删除硬件后不会切断电源,没遇到过这种情况。主板上USB电源都是有电源供应不受控制的。
作者: lixc2008    时间: 2011-5-22 14:47

. u' U4 _$ G" D( b+ j# v) k" @& L: ^2 V' f4 ^6 K+ f, y
第一张图片开机控制电路,PWRENB高电平有效,按开机键后PWRENB会产生一高电平。' a8 `+ A0 V/ s* `
第二张图片,USB作数据传输时(D+上电平400mv),将PWRENB拉低,PWRENB网络上还要加一电阻,这里没加(防止烧坏Q8)。
2 z1 f6 @7 J$ q2 b5 F% x/ K( G" @如果不需要开机控制(充电和数据传输都能开机),可去掉R200,R201,Q7,Q8,用DSP的IC口侦测D3处电平,可知道当前是充电模式还是数据传输模式。
: X$ {! r, y  q% N! E4 `& o) P0 F% U

作者: aspire132    时间: 2011-5-26 11:50
請問在什麼情況下才會使Q8 E極處於高電平?
作者: lixc2008    时间: 2011-5-26 20:37
Q8,E极接一开机信号,由主控产生一高电平,Q8用在这里就是阻止主控产生的高电平使第一图中Q2导通。以阻止电源供应。6 v. m" B) o( F
D3应该接到D+上,图上有错误。
作者: xiaochu312    时间: 2011-5-30 15:51
不错啊,学习了




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2