|
楼主私下里找我看了看这个电路,我整体看了一下,没有结合软件去理解,故只针对硬件说一下我的理解,从我理解的各个网络的含义,以及相应的控制原理:
3 C0 R# {9 v; F2 }; o5 U6 y
: |' [0 J4 c) b5 Z/ P+ {5 ~1. 对外供电网络含义:- X" H+ D3 r0 X
P+ : 对外放电正极,用于对其它仪器供电;
j4 y0 ]/ Q- `) ~PACK- : 对外放电负极,P+输出以此为参考地;7 S. W# g. j7 o" R; }
2. 对内充电网络含义:
3 T' C0 o3 _+ m9 iCHG_IN:对内充电电源输入口:9 S J3 }& S9 ~, c8 Z
TDA : 通过内部的网络推断,这可能是一个input/output双向口,主要针对充电禁能的管理;(具体要根据软件一起分析,甚至要结合外接的充电设备一起分析才行。)2 y% [9 Q0 C+ m9 s$ g* F
CHG_CHK : 通过内部网络推断,这是一个input检测口,主要针对充电是否进行进行检测;(具体要根据软件一起分析,甚至要结合外接的充电设备一起分析才行。)# g- Z. } d d( p# e' D
2 V/ b6 |# ~3 @- u
一、关于CHG_CHK、CHG_IN_CHK、CTL_CHG_C1、CTL_CHG_C2组成的模块的理解:
/ p. _; \ d# d7 G" D1. MCU通过CHG_IN_CHK检测CHG_CHK的电平,来获取充电状态;
/ U8 g7 h, V: k, s' F) X2. CTL_CHG_C1和CTL_CHG_C2则可以调整CHG_CHK的下拉电阻的值:
- k8 B' z0 ]8 s6 x; VCTL_CHG_C1=0且CTL_CHG_C2=0时,CHG_CHK的下拉电阻为10.76K;
! Q: P* O, s: W! uCTL_CHG_C1=1且CTL_CHG_C2=0/1时,CHG_CHK的下拉电阻为0.54K;' o0 J! y* }. r
CTL_CHG_C1=0且CTL_CHG_C2=1时,CHG_CHK的下拉电阻为5.5K;2 z( ?$ B7 j. W2 {
说明CHG_CHK是一个可以通过调整其下拉电阻而改变其输出状态,进而通过CHG_IN_CHK检测这种状态,来判断外部充电器处于何种状态,以方便内部mcu做出调整,具体结合mcu软件与外部充电设备的电路综合分析。
! C) ?' T8 X3 u. @# y" T- f/ y& S2 h' @! g
二、关于TDA、DISCHG_IN_CHK、CTL_DISCHG_COM组成的模块的理解:
; o( X0 u0 N) v% I1. DISCHG_IN_CHK应该可以检测TDA的电平;
' k) B8 p5 Q4 l8 ^; y5 x2. CTL_DISCHG_COM可控制TDA的电平,可将其强拉为低电平;
# a9 ^; t3 a. V6 o: }; U3. 所以,猜测TDA是一个双向口,可以在输出时检测其电平状态,比如外部的充电设备将TDA弄一个弱上拉,但是内部的MCU可通过CTL_DISCHG_COM=1来强制将TDA拉低,这样外部充电设备检测到TDA是低电平,它就关闭自身的充电电路,不对电池包进行充电了。. |$ Y! \9 O2 u4 c
4. 猜测mcu主动将CTL_DISCHG_COM拉低来停止充电是因为自身可能发生了某种故障。! b$ u5 E* ?1 y k h0 f7 Y* Y# D. l
4 ~6 r' X& C9 S三、关于WAKE、B+、P+、KEY1组成的模块的理解:: n& d4 f4 T& f& Q% f5 H
1. B+为电池包的正极;# E& l) b. p: g. O1 v+ D1 E
2. P+为对外输出正极;* u8 e% F0 I" Z0 s Y7 _
3. 控制B+到P+的连通/断开,则是控制内部电池包对外部用电设备放电/不放电;3 I( U, |; Z4 j9 K U6 d
4. 对于B+到P+供电模块,我认为是这样控制的:首先按下KEY1按键,B+和P+连通,那么则对外部设备供电了。因为按键是短暂的,我认为这个短暂的供电可以让外接设备的单片机工作起来,但是电流并不大,因为有R56的存在,之后外部设备可能会通过TDA给到电池包MCU反馈,MCU通过WAKE来进一步供电,即使KEY1松开也没事儿了。待MCU检测(检测方法猜测是通过TDA或者DISCHG_IN_CHK)到外部设备已准备就绪后,则准备开始供电了,此时MCU通过SMBC和SMBD发送指令给BQ40ZB0,控制其DSG和PACK两个引脚,使得Q11、Q12、Q14等导通给P+进行大功率供电,然后MCU将wake拉低释放即可。上述是猜测,必须核对MCU程序才能确定是否准确。 {$ f+ J, T- [! j2 d5 s
& `0 G7 {; ~& w0 P* _( S3 k
四、关于充电模块的理解:
8 f& K( w5 x$ K8 ^6 W" X% }1. 控制CHG_IN到B+的连通/断开,则是控制外部充电器对电池包的充电/不充电;
8 E, @5 E8 g/ V" O q+ b2. 包括预充电和正式充电两个阶段;$ U* B1 u1 ]; W
3. 充电器插入后,通过TDA或者CHG_CHK来检测充电器的状态;
' C. d; c: M: ~) O, G4. 检测到充电器接入后,首先启动预充电,通过IN_CHG_PRE拉低来启动预充电(低电平应该是MCU的未上电状态的默认电平),之后MCU启动,通过SMBC和SMBD发送指令给BQ40ZB0,控制其CHG引脚控制Q18导通,开启大电流充电,然后再将IN_CHG_PRE拉高就可以了,充电会持续进行。上述是猜测,必须核对MCU程序才能确定是否准确。 |
|