|
本帖最后由 bluemare 于 2015-3-26 21:53 编辑 X" W9 v& Z! G4 y% o/ V' _0 X
# |( k& j& [$ i& }是的,我也这么认为。现在的分析是这样:
: }, h: \8 B* l$ Y( ]2 a5 A. H8 B' z5 Q+ J
1,在检测ic正确放置前,Q1应该不会打开,pin4连接到mcu的gpio上,保持关断或者三态;1 U3 L" C4 E, c" Y6 Q, ^. [
2,假如ic放反了,则ic的gnd脚此时外接电平VCC(Q2和Q3的e极),而pwr脚则连接到PR4和mcu的gpio上:
# M5 E# D) J. R3 G0 Q3 I$ L! z% H, Ia,实际ic的gnd与pwr管脚间是有一定等效电阻的(正向阻抗肯定大于反向(短路)阻抗,估计都是M ohm 级别),而电路中的PR4为1k(或者10K),此电阻与ic内阻并联,则电流主要从PR4上流过;) x& U" }3 x8 t, I/ E
b,同时,比如该ic为24系列的eeprom,则pin5和6为ⅱc功能脚;+ C5 r1 Z4 F- N3 L+ u" M8 G" N
c,vcc从0开始增加,每次较小的一个step,只要不超过某个值,使通过ic的短路电流过大;
" @8 O# ?8 Z6 t8 j3 ld,ic有效电压高于某值时,内部还是可以工作的,同时ⅱc会开始与mcu通信,如果mcu检测不到芯片id,则停止通信;* C+ o$ ?3 c0 K9 }1 s
e,考虑到实际中装反会,会重装,故vcc增到某个临界值后,会再step形式的降低到0;然后继续增加,周而复始;同时,ⅱc也多次检测;3 j$ B0 _. f. J: j% i( i
f,ⅱc终于检测到合法id时,Q1打开,vcc也稳定供电为某值,比如3.3v;
" N* r& B# g2 w* C% g) ig,较长一段时间内,比如5min,仍检测不到合法id,则vcc也停止尝试跳变增加/减少;
! m( @9 e& [$ }0 k/ n( {7 x0 z( D3 U* X6 u& _2 K/ @
3,也就是,mcu以不超过某压值的尝试供电给ic,然后检测id;合法,则正常供电;不合法,则继续多次尝试,直到超时;
: E. `+ a$ D) f C5 L, i( L! L& o8 E" S l# _9 L' [
4,所以,
( i& ^$ B6 T6 N8 ]a,PR4的阻值不能过小,10k较合适;) T/ y7 t: p% }) y! d4 o* Y/ x6 f: y, o
b,与Q2和Q3相关的gpio应该都有在不停发出类似pwm信号,直到mcu检测到ic的合法id; O) s6 f9 w" o; b/ `
c,只有检测到合法id,Q1才会打开---接地;而Q2/Q3的e极同时稳定输出某个高电平信号---供电;! w3 a$ [$ R: }5 d$ y
7 v7 K1 F5 g# V; J/ a( S# c$ v- W) _8 \' j" M: I
|
|