|
本帖最后由 bluemare 于 2015-3-26 21:53 编辑
9 `/ s5 @) y; X9 t$ U
: [1 p T8 e& M, o) Y是的,我也这么认为。现在的分析是这样:- s6 }( G/ q6 ]) v/ p0 L
+ ]7 Z1 y. e. ]1 I V
1,在检测ic正确放置前,Q1应该不会打开,pin4连接到mcu的gpio上,保持关断或者三态;
' l \3 U( a( A2 D2,假如ic放反了,则ic的gnd脚此时外接电平VCC(Q2和Q3的e极),而pwr脚则连接到PR4和mcu的gpio上:
3 T' W2 m* ]5 q) i; ta,实际ic的gnd与pwr管脚间是有一定等效电阻的(正向阻抗肯定大于反向(短路)阻抗,估计都是M ohm 级别),而电路中的PR4为1k(或者10K),此电阻与ic内阻并联,则电流主要从PR4上流过;
) D" a3 h. D K6 v* p C% J; j; nb,同时,比如该ic为24系列的eeprom,则pin5和6为ⅱc功能脚;
0 @& e" I: S1 p8 m, |$ Xc,vcc从0开始增加,每次较小的一个step,只要不超过某个值,使通过ic的短路电流过大;+ ~7 L6 g' y& u$ @9 g6 s
d,ic有效电压高于某值时,内部还是可以工作的,同时ⅱc会开始与mcu通信,如果mcu检测不到芯片id,则停止通信;8 |; A, D9 b& j9 [
e,考虑到实际中装反会,会重装,故vcc增到某个临界值后,会再step形式的降低到0;然后继续增加,周而复始;同时,ⅱc也多次检测;' m/ S0 P/ I X& O" |' s3 a
f,ⅱc终于检测到合法id时,Q1打开,vcc也稳定供电为某值,比如3.3v;3 l( b8 a, s& i5 p" i7 d) S
g,较长一段时间内,比如5min,仍检测不到合法id,则vcc也停止尝试跳变增加/减少;8 R) }* Z0 l7 i8 `& V! ~
9 Q- U6 O$ |2 }& U, s7 k7 g3,也就是,mcu以不超过某压值的尝试供电给ic,然后检测id;合法,则正常供电;不合法,则继续多次尝试,直到超时;
) r7 v6 A: H/ P4 A! u
]9 b9 z" P; ^4,所以,, z. n$ R% W; l
a,PR4的阻值不能过小,10k较合适;
9 |6 h5 [% y D, S6 h+ K5 O8 R1 Ob,与Q2和Q3相关的gpio应该都有在不停发出类似pwm信号,直到mcu检测到ic的合法id;
2 j/ c9 [$ I) ? {! cc,只有检测到合法id,Q1才会打开---接地;而Q2/Q3的e极同时稳定输出某个高电平信号---供电;
K3 [4 q% S9 P: T4 {! g" Y, ]$ p
3 p+ A2 V0 r# n% `: Z( T3 s4 W3 Y9 ?1 \' `5 |4 ?0 o
|
|