- 积分
- 3
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2008-2-27
- 精华
|
2#
发表于 2008-5-12 15:36:13
|
只看该作者
来自: 浙江丽水 来自 浙江丽水
最后说说充放电控制吧。
电池完全自己实现充放电的控制过程,我们的笔记本电脑决不参与充放电的控制过程。电池报告说电池快没电了,电脑就提示用户快没电了,等没有电时,电池自己就切断供电了。充电充过了,电脑并不知道,电池自己检测是否过充,过充了,电池自己切断充电。
当然,控制的结果电池会向外批漏的,外界可以主动查询结果,厂家也可以设置让电池主动向外广播控制结果。(这就是电池智能化的体现。这个控制结果就存放在BatteryStatus的寄存器中,其主要用处是被充电器使用,或者是电池系统管理使用。
现在来说说BQ2060 EEPROM参数的意义吧。
初学者对这个好象很感兴趣,往往又云里雾里。其实它只不过是上面测量、补偿、控制、显示等过程所用的参数,因为这些参数不同的电池不一样,电池检测芯片厂家为不变应万变,设置个EEPROM,让电池生产厂家自己写上。
下面以BQ2060 EEPROM 解释一下其意义。
EEPROM中最简单的几项,它们是电池厂家参数,只是为了显示而已。如Manufacture Date是电池生产日期,Manufacture Name是电池生产厂家的名字,Serial Number是电池的序列号,Device Name是设备名称,Device Chemistry是电池中电芯的化学物质名称,Specification Information是所谓智能电池的版本号信息,EEPROM Constants是EEPROM中开始或最后两个字节的内容,它们是固定的,即0x3c7f和0xa55a,表示这是BQ2060的EEPROM,若是其他的值,BQ2060芯片就会认为这个EEPROM不对。Manufacture Data Length是生产数据的长度。生产数据就是EEPROM中的数据6个主要的数据:Control Mode,Digital filter,Self-Discharge Rate,Battery Low%,Near Full和EDV threshold,这六个数据是7个字节,所以Manufacture Data Length的值固定为7。一下就去掉8个项了,其实这些没什么作用。
EEPROM中最最基本的参数只有两项:Sense Resistor Value和Digital Filter。Sense Resistor Value其实就是BQ2060应用电路中和电池串联的那个电阻的大小,看看BQ2060 Datasheet 中图1,其中的Rs的大小就是这个Sense Resistor Value,因为不同的设计者使用不同的电阻Rs,所以要告诉BQ2060,这样BQ2060就知道它的ADC和VFC的增益大小了,Gas Gauge Operation主要是要检测其上的信号的,当然必须要知道其电阻的大小了。
Digital Filter,当电池不放电时,且SMBUS处于idle状态时,BQ2060检测到信号小于Digital Filter时,会进行自放电补偿的,这个Digital Filter是生产厂家设定的,而以多大的值补偿呢,有要厂家设置,即设置Light Discharge Current。当然厂家也可以选择不进行补偿,将EEPROM中的Control Mode的NDF设置为1,则BQ2060就不进行这种补偿。补偿的目的无非使RM和DCR的计数更准确些。
下面解释充电控制参数。
ChargingVoltage和ChargingCurrent,智能电池都会主动告诉充电器应该用多高电压ChargingVoltage和多大电流给电池充电ChargingCurrent,ChargingVoltage是厂家设定的,它是电池恒压充电的值。ChargingCurrent是一个总称,因为它可能有四种值:当电池说可以用大电流给我充电时,它告诉充电器ChargingCurrent的值为Fast Charging Current,当电池深度过放要求小电流预充电时,它告诉充电器ChargingCurrent的值为Pre-Charge Current。当大电流充电结束时它告诉充电器ChargingCurrent的值为Maintenance Charging Current,还有一个值是0。这4个值中的3个值存放在EEPROM中。
过压控制参数Overvoltage Margin:当电池电压大于ChargingVoltage + Overvoltage Margin时认为是过充。Overvoltage Margin大小在0~255mV之间。
过流控制参数OverCurrent Margin,当电池充电电流大于ChargingCurrent+ OverCurrent Margin时认为是过流。
温度过高控制参数MaxT:当电池大电流充电时,若温度高于这个温度时,将暂停电池的大电流充电。
Li-Ion电池充电充满的判断参数Current Taper Qual Voltage和Current Taper Threshold:当电池的电压大于ChargingVoltage - Current Taper Qual Voltage且充电电流小于Current Taper Threshold时,认为充电已经充满了。
NimH电池充电充满的判断参数△T/△t和Hold-off Programming。
电池剩余电量RM调整参数Fast Charge Termination Percentage:当电池在充电结束时,RM的值可能小于FCC,此时BQ2060就将RM强行调整到FCC(这里是大致的说法,因为Fast Charge Termination Percentage通常为100%)。当然厂家也可以设置不作调整。这个设置就是Pack Configuration中的CSYNC。
电池电量是否满标志控制参数Fully_Charged bit Clear Threshold:当电池充满时,电池会将Fully_Charged bit标志置为1,当电池电量回落Fully_Charged bit Clear Threshold以下时,就将Fully_Charged bit 标志清除。
循环周期数CycleCount和CycleCount Threshold:CycleCount记录电池已经经过了多少个周期,每个周期代表CycleCount Threshold mAh的电量。BQ2060每次更新CycleCount,都将该值写到EEPROM中的CycleCount去。
剩余时间Remaining Time Alarms和剩余容量报警Remaining Capacity Alarms:设定以当前的放电速率,还能运行多长时间,当还能运行的时间低于Remaining Time Alarms时发送报警信号;当电池的容量低于Remaining Capacity Alarms时发送报警信号。
Li-Ion电池保护参数,低压CELL UnderVoltage和高压CELL OverVoltage:当电池中有一节电芯的电压高于CELL OverVoltage时,BQ2060给出标志VOV,当其中有一节电芯电压低于CELL UnderVoltage时,BQ2060给出标志VUV。
再说说一些简单的参数吧。
Pack Configuration:该参数8位,每一位一个意思。
DMODE:有些电池上带有电量显示灯,BQ2060提供这种功能,DMODE该位表示显示的电量是绝对百分比还是相对百分比。假设电池厂家设计电池的容量为4400mAh(DC),实际电池的最大充电电量为3000mAh,而现在RM为2000mAh,则电量的百分比可有两种:2000/4400和2000/3000。
SEAL:在BQ2060 datasheet中,表3列出了SMBUS命令,这里的命令个数不多。其实SMBUS命令个数可有256个。若SEAL为0,则这256个命令都可读可写,若为1,则只有表3中的命令可读,而可些的就表中的那5个了。如果厂家将SEAL设置为1,则电池将无法UNSEAL,除非你将EEPROM硬连线去该这一位。厂家将SEAL设置为1,这样用户就不能读写EEPROM中的值了。(TI流后门。)
CSYNC:见上面的电池剩余电量RM调整参数。
CEDV:设置电池是否对EDV实行补偿。建议初学者理解固定EDV0、EDV1和EDV2就行了。
VOR:设置电池是否进行mid range voltage校正。
CHEM:表示电芯化学物质。
LCC0和LCC1:表示电池中电芯节数。
操作模式Operating Mode:
这个参数中有6位有意义。
NDF:见上面的Digital Filter。
HPE:BQ2060芯片向主机发送数据时,其通讯协议是否支持PEC校验。
CPE:BQ2060芯片向充电器发送数据时,其通讯协议是否支持PEC校验。
LED:BQ2060显示电量时是用4个LED还是用5个LED表示。
SM:是否关闭BQ2060向外发送广播信息。
设计电压Design Voltage,它不言自明。
设计容量Design Capacity:Pack Capacity就是mAh模式时电池设计容量,当mWh模式时,设计容量就是Pack Capacity * Design Capacity。
LMD:用来存放FCC,最开始时这个值由厂家设置,很随意地设置都行。
EDV:当电池电压低了后,BQ2060可以提供三级低电压报警,这三级低电压报警Threshold分别为EDV0,EDV1,EDV2。EDV有两种用处:第一,当电压到EDV2时,DCR就不再增长了,此时BQ2060设置full_discharged标志。当电压再低到EDV0时,电池将设置TERMINATE_DISCHARGED_ALARMS标志,表示若再放电,就会损坏电池了。EDV的另一种用处是电池电量矫正。按照Li-Ion电池理论,电量和电压有关系可循,为了矫正电量,在放电时,若电压先降到EDV时,而RM中计数的电量却没到相应的数值时,就将RM强制减到这些相应的值。如电压降到EDV0时,RM却还大于0,则强制将RM减到0;同样的EDV1和EDV2,EDV1对应的是将RM调到3%对应的值,EDV2对应的是将RM调到Battery Low%对应的值,就是EEPROM中的一个值。
EDV本身要设置为多少比较好呢?它有两种设置方法,一种就是设置三个固定的值,还有一种就是动态地设定,不同的温度,容量,放电率EDV的值不同,动态计算出来。和这个动态EDV设置有关的参数有:EMF、T0、C0、R0、R1、A0。
Overload Current Threshold:上面是说EDV的矫正作用,当放电电流很大时,BQ2060是不检测EDV的,到底多大呢,这个参数就是Overload Current Threshold。
中间电量矫正Mid Range Capacity Corrections:简单地说就是,电池开路的情况下,VOC25代表当电池容量为25%时的电压值,VOC50、VOC75的意思类推。
从上面可以看出,电池容量的测量不是一个简单的方程,而是要不断调整的。
还有两种矫正,在DCR计数时,还要漏电流估计和自放电估计矫正。
Near full threshold:前面我们说一个有效的放电是先将电池充满,即从RM等于FCC开始放电,这是粗略地说法。BQ2060 Datasheet 中说法是:从FCC低一点可是放电也算是有效放电,低多少呢,可以设定一个值,即参数Near full threshold。
最后的参数是ADC、VFC、Current、Temperature测量的校正。笔者水平有限,不能用“说白了,它们就是……”的方法解释清楚,照本宣科地翻译没什么意义,期待智者的“深入浅出”。
其实BQ2040、BQ2082、BQ2085等的EEPROM差别不是很大,还有BQ2050也是。
笔记本电池保护电路知识(3)见这里:
http://www.chinafix.com.cn/bbs/thread-46356-1-1.html
[ 本帖最后由 荞麦皮 于 2008-5-12 17:39 编辑 ] |
评分
-
查看全部评分
|