电子元器件论坛
直播中

ss

7年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注

带SMBus接口的的bq2040燃气表

特征
➤精确测量镍镉、镍氢和锂离子电池的可用电量
➤支持SBSV1.0数据集和双线接口
➤监测锂离子包保护电路中的电荷场效应管
➤设计用于电池组集成
-低工作电流
-整个电路可安装在小于3/4平方英寸的PCB空间内
➤支持用于NiCd、NiMH和Li Ion的SBS电荷控制命令
➤驱动一个四段LED显示屏,用于剩余容量指示
➤16针窄SOIC
一般说明
带SMBus接口的bq2040燃气表IC用于电池组或系统内安装,以保持可用电池电量的准确记录。bq2040直接支持镍镉、镍氢和锂离子电池化学成分的容量监测。
bq2040使用系统管理总线v1.0(SMBus)协议并支持智能电池数据(SBData)命令。bq2040还支持SBData充电控制功能。电池的充电状态、剩余容量、剩余时间和化学性质可通过串行链路获得。使用四段式LED显示屏可以直接指示电池充电状态,以25%的增量以图形方式显示电池从满到空。
bq2040基于内部定时器和温度传感器以及存储在外部EEPROM中的用户可编程速率信息来估计电池自放电。在从满到空的整个放电循环过程中,bq2040也会自动重新校准或“学习”电池容量。
bq2040可直接从三个镍化学电池运行。通过REF输出和外部晶体管,可以构建一个简单、廉价的调节器,为其他电池单元配置提供VCC。
外部EEPROM用于将初始值编程到bq2040中,并且是正常操作所必需的。
功能描述
一般操作
bq2040通过监测可再充电电池的充电量来确定电池容量。bq2040测量放电和充电电流,估计自放电,并监测电池电压是否低门槛通过监测蓄电池负极端子和接地之间的一个小值串联感测电阻器上的电压来测量电荷。通过监测该电压随时间变化,并校正环境和操作条件的测量值,确定可用的蓄电池充电。
图1显示了bq2040的典型电池组应用,使用LED容量显示器、串行端口和外部EEPROM来显示电池组程序信息。bq2040必须针对电池特定信息进行配置和校准,以确保正常运行。表1概述了必须在EEPROM中编程的信息配置。
内部温度传感器消除了对外部热敏电阻的需求,降低了成本和组件。内部温度补偿时间基消除了对外部谐振器的需求,进一步降低了成本和组件。图1中的整个电路可以占用不到34平方英寸的电路板空间。


电压阈值
在监测充电/放电电流的VSR的同时,bq2040通过SB引脚监测电池电位。通过电阻分压器网络,根据以下等式确定电压电势:

其中MBV是最大蓄电池电压,R5连接到蓄电池正极端子,R4连接到蓄电池负极端子。R5/R4应该四舍五入到下一个更高的整数。SB引脚(VSB)处的电压不得超过2.4V。
蓄电池电压在放电电压(EDV1和EDVF)结束时和报警警告条件下进行监控。EDV阈值水平用于确定电池何时达到可编程的“空”状态。当电池电压超过最大充电电压5%或电压低于EDVF时,bq2040会发出警报警告。电池电压增益、两个EDV阈值和充电电压可在EEPROM中编程。
如果VSB低于两个EDV阈值中的任何一个,则相关标志将被锁定并保持锁定状态,与VSB无关,直到下一次有效充电。
在某些情况下,EDV监控可能会被禁用。如果放电电流大于EEPROM(EE 0x2c/0x2d)中存储在0x2c和0x2d位置的值,EDV监控将被禁用,并在电流低于编程值后恢复。
重置
bq2040在第一次连接到电池组时重置。通电时,bq2040初始化并读取EEPROM配置存储器。bq2040也可以通过SMBus上的命令重置。软件复位顺序如下:(1)将MaxError(0x0c)写入0x0000;(2)将复位寄存器(0x64)写入0x8009。只有当bq2040处于由通电时EEPROM(EE 0x3d)的位置0x3d中的值定义的解锁状态时,才能执行软件重置。
温度
bq2040使用内部传感器监测温度感测。该温度用于调整充电和自放电补偿,以及在bq2040控制充电期间监测最高温度和∏T/∏T。也可以使用命令0x08通过SMBus访问温度。
布局注意事项
bq2040测量SR和VSS引脚之间的电压差。VOS(SR引脚的偏移电压)受PC机板布局的影响很大。为了获得最佳结果,PC机板的布局应遵循单点接地回路的严格规则。与小信号接地共用大电流接地会在小信号节点上产生不良噪声。此外,参考图1:电容器(C1和C2)应尽可能靠近SB和VCC管脚,并且它们到VSS的路径应尽可能短。VCC推荐使用0.1μf的优质陶瓷电容器。
感测电阻电容器(C3)应尽可能靠近SR引脚。
bq2040应与电池热接触,以实现最佳温度测量。
煤气表操作
图2中的操作概览图说明了bq2040的操作。bq2040积累了充电和放电电流的测量值,以及自放电的估计值。充电电流补偿电池的温度和充电状态。自放电是温度补偿。
主计数器RemainingCapacity(RM)表示任何给定时间的可用电池容量。电池充电增加RM寄存器,而电池放电和自放电减少RM寄存器并增加内部放电计数寄存器(DCR)。
放电计数寄存器仅在完全电池从满放电到空放电且没有任何部分电池充电的情况下用于更新完全充电容量(FCC)寄存器。因此,bq2040根据实际放电情况,对容量的确定进行了调整。
电池的初始满容量设置为存储在EE 0x60-0x61中的值。在FCC更新之前,RM将在后续充电期间计算此阈值,但不超过此阈值。
电池的耗尽状态也在EEPROM中编程。电池低百分比(EE 0x2e)存储当电池电压低于EDV1阈值时将写入RM的FCC百分比。

1、满充电容量或学习电池容量:
FCC是最后一次测量的电池放电容量。初始化时(VCC或复位应用),将FCC设置为存储在EEPROM中的值。在随后的放电过程中,FCC将更新放电计数寄存器中的最新测量容量加上电池电量不足,表示从完全放电到EDV1以下的放电。从DCR到FCC寄存器的容量传输需要合格的放电。一旦更新,bq2040将新的FCC写入EEPROM。FCC还用作电荷相对状态计算和显示所使用的100%参考阈值。
2、设计容量(DC):
DC是用户指定的电池容量,由外部EEPROM编程。DC还为绝对显示模式提供100%参考。
3、剩余容量(RM):
在充电过程中,RM向上计数到FCC的最大值,在放电过程中,RM向下计数到0。在达到EDV1阈值后,RM设置为电池电量低。如果RM已经等于或小于电池电量不足,则不修改RM。如果RM在放电时电池电压低于EDV1之前达到电池低电量,RM将停止倒计时,直到达到EDV1阈值。当电池电压达到EDVF时,RM设置为0。为防止在过量充电期间过量充电,当RM=FCC时,RM停止递增。如果电池组处于bq2040充电控制下,完全充电时,可以选择将RM写入用户定义的值。初始化时,RM设置为0。
4、放电计数寄存器(DCR):
放电过程中DCR的计数与RM无关,当RM降至0时,DCR可以继续增加。在RM=0之前,放电和自放电都会增加DCR。RM=0后,只有放电增加DCR。当RM=FCC时,DCR重置为0,并在放电时在EDV1停止计数。DCR不翻转,但在到达FFFFh时停止计数。
FCC将在符合EDV1标准的放电后更新第一次充电。更新的FCC等于电池电量低百分比乘以当前FCC加上DCR值。如果存在以下所有条件,则符合EDV1标准:
*没有有效的电荷激发(电荷大于10mAh,其中VSRO>+VSRD发生在RM=FCC和检测到EDV1之间。
*自放电计数不大于256mAh。
*当放电过程中达到EDV1水平时,标志2中的低温故障位未设置。
*当设置了EDV1时,电池电压低于EDV1阈值不超过256mV。
FLAGS1中的有效放电标志(VDQ)指示当前放电对FCC更新是否有效。在任何单一循环中,催化裂化不能减少超过256mAh。
电荷计数
基于SR输入上的正电压检测电荷活动。如果检测到充电活动,bq2040以与VSRO成比例的速率递增RM,并且如果启用,则激活LED显示屏。充电动作在补偿充电状态和温度后增加RM。
bq2040确定以等于VSRO>+VSRD的连续速率维持的充电活动。有效电荷等于持续电荷活动大于10毫安时。一旦检测到有效电荷,电荷阈值计数将继续,直到VSRO低于VSRD。VSRD是数字幅度滤波器部分中描述的可编程阈值。
放电计数
所有放电计数,其中VSRO<-VSRD导致RM寄存器减小,DCR增加。VSRD是数字幅度滤波器部分中描述的可编程阈值。
自放电估计
如果设置了电池状态下的放电标志(未检测到充电),则bq2040会根据时间和温度连续递减RM并递增DCR以进行自放电。bq2040自放电估算率在EE0x4F中编程,可在20-30°C下设置为每天0-25%。在温度≥70°C之前,每升高10°C,该估算率大约加倍;在温度<10°C之前,每降低10°C,该估算率大约减半。
充电控制
bq2040通过将充电电流和充电电压广播到智能充电器地址来支持SBS充电控制。bq2040每10秒广播一次充电命令;可以通过将BatteryMode的位14写入1来禁用广播。复位时,向充电器广播的初始充电电流被设置为在EE 0x080x09中编程的值。bq2040根据电池的充电状态、电压和温度更新充电电流广播中使用的值。
bq2040内部电荷控制与镍基和锂离子化学兼容。bq2040对锂离子一次电荷终止使用电流锥化检测,而对镍基一次电荷终止使用电流锥化检测。bq2040还提供了一些基于电池容量、电压和温度的安全终端。
电流锥度
对于锂离子充电控制,必须在恒压充电阶段将充电电压设置为所需的电池组电压。当bq2040测量到电池组电压在请求充电电压的128mV范围内,且平均电流至少小于EE 0x38-0x39中的编程阈值且非零时,bq2040检测到电流锥形终止100秒。
ΔT/ΔT
bq2040使用的∏T/∏T可在温度步(1.6°C–4.6°C)和时间步(20秒–320秒)中编程。1°C/min的典型设置包括120秒2°C和180秒3°C。
增加坡度分辨率需要更长的时间。
除了∏T/∏T计时器外,还有一个延迟计时器,当电池充电超过255mA且温度高于25°C时启动。在此计时器到期之前,∏T/∏T将暂停。如果温度降到25°C以下,或充电电流降到255mA以下,计时器将重置,只有当这些条件再次在范围内时,计时器才会重新启动。等待时间在EE 0x63中编程。
费用终止
一旦bq2040检测到有效的充电终止,在BatteryStatus中设置完全充电、终止充电报警和过充电报警位,并将请求的充电电流设置为零。一旦终止条件停止,终止充电报警和过充电报警被清除,并且请求的充电电流被设置为维护率。bq2040请求维护率,直到RM低于由可编程的全费用百分比确定的金额。一旦发生这种情况,完全充电的位被清除,并且请求的充电电流和电压被设置为快速充电速率。
FLAGS2中的位4(CC)确定RM是在∏T/∏T或当前锥度终止后修改的。如果CC=1,RM可以设置为EE 0x4c中定义的满充电容量的0%到100%。如果RM低于满充电百分比,RM将设置为FCC的满充电百分比。如果RM高于全额收费百分比,则不修改RM。
充电暂停
如果bq2040检测到充电故障,它可以暂时暂停充电。充电故障包括以下情况:
*最大过充:如果充电持续超过EE 0x3a-0x3b中定义的编程最大过充电限制,超过RM=FCC,则设置完全充电位,并将请求的充电电流设置为维护速率。
*过电压:当bq2040测量到高于充电电压5%的电压时,存在过电压故障。当bq2040检测到过电压情况时,请求的充电电流被设置为0,终止充电报警位被设置为BatteryStatus。当电流低于256mA,电压低于充电电压的105%时,报警位被清除。
*过电流:当bq2040测量的充电电流高于充电电流25%时,存在过电流故障。如果充电电流小于1024毫安,如果充电电流高于超过充电电流的256毫安的最低倍数1毫安以上,则存在过电流故障。当bq2040检测到过电流情况时,所请求的充电电流被设置为0,并且终止充电报警位设置为电池状态。当电流降到256毫安以下时,警报位被清除。
*最高温度:当电池温度等于编程设定的最高温度时,要求的充电电流被设置为零,并且过温报警和终端充电报警位设置为电池状态。当温度降至低于最高温度阈值-5°C的43°C时,将清除超温报警位。
*电话:当PSTAT输入≥1.5V时,要求的充电电流设置为0,并且如果未设置放电标志,则电池状态下设置终止充电报警位。当PSTAT输入小于1.0V或卸料标志已设置。
*低温:当电池温度低于12°C(在标志2中设置LTF位)时,将请求的充电电流设置为维护率。一旦温度高于15°C,要求的充电电流将设置为快速率。
*欠压:当电池电压低于EDVF阈值时,请求的充电电流将设置为存储在EE0x5a/0x5b中的EDVF速率。一旦电压高于EDVF,请求的充电电流将设置为快速或维护速率,具体取决于LTF位的状态。
计算补偿
在更新RM和/或DCR之前,充电活动会根据温度和充电状态进行补偿。在更新RM或DCR之前,对自放电估计进行温度补偿。
费用补偿
充电效率可根据充电状态、温度和电池化学特性进行补偿。使用以下方程式调整充电效率:

当相对电荷状态
当相对充电状态≥满充电百分比且qi时,程序化维护(涓流)充电效率从0.75到1.0不等。
当电池温度升高时,Qis用于根据以下内容调整充电效率:

在锂离子的整个温度范围内,QET为0。
数字幅度滤波器
bq2040有一个可编程数字滤波器,以消除低于设定阈值VSRD的充电和放电计数。表2显示了典型的数字滤波器设置。正确的数字滤波器设置可以使用以下公式计算。


错误摘要
容量不准确
FCC在初始化时容易出错,或者如果没有更新发生。在初始化时,FCC值包括设计容量和实际容量之间的误差。此错误将一直存在,直到发生合格放电并更新FCC(请参阅DCR说明)。催化裂化错误的另一个原因是电池磨损。随着电池老化,必须调整测量的容量,以考虑实际电池容量的变化。定期从满到空的合格排放将最大限度地减少催化裂化过程中的误差。
电流感应误差
表3说明了电流传感误差随VSR的变化。当-VSRD 显示
bq2040可以使用低功耗LED直接显示容量信息。bq2040以绝对或相对模式显示电池充电状态。在相对模式下,电池电量表示为FCC的百分比。每个LED灯段代表25%的FCC。
在绝对模式下,每个段代表一个固定的费用,占设计容量的25%。随着时间的推移,电池逐渐损耗,FCC有可能低于设计容量。在这种情况下,所有的led可能不会在绝对模式下打开,这表示实际电池容量的减少。
当DISP与VCC连接时,LED1-4输出不活动。当DISP保持浮动时,每当bq2040检测到100毫安或更高的充电率时,显示变为激活状态。当拉低时,段输出立即激活约4秒。必须将DISP pin返回float或VCC以重新激活显示器。
LED1以4Hz的速率闪烁,表示每当显示器激活、未设置EDVF和设置剩余容量警报时电池电量不足。低于EDVF的VSB(EDVF=1)禁用显示输出。
微调节器
bq2040可以直接从三个镍化学电池操作。为了满足bq2040的电源要求,提供了REF输出来调节外部低阈值n-FET。使用2N7002或BSS138场效应管和外部电阻器可以廉价地制造bq2040的微电源。(见图1)R11的值取决于电池组的标称电压。
与bq2040通信
bq2040包含一个简单的两针(SMBC和SMBD)双向串行数据接口。主机处理器使用接口访问各种bq2040寄存器;见表4。这种方法可以方便地监测电池特性。bq2040上的明漏SMBD和SMBC管脚由主机系统拔出,如果不使用串行接口,则可以连接到VSS。
接口使用基于命令的协议,主机处理器将电池地址和八位命令字节发送到bq2040。该命令指示bq2040将接收到的下一个数据存储到命令字节指定的寄存器,或输出命令字节指定的数据。
bq2040数据协议
主机系统充当总线主机的角色,使用读写字协议与bq2040通信整数数据。(见图3)。
主机到bq2040消息协议
总线主机使用以下三种协议之一与bq2040通信:
*读单词
*写单词
*读取块

使用的特定协议是指挥部使用的协议如图3所示。
主机到BQ2040邮件
ManufacturerAccess()(0x00)
这个读/写字是一个打开的位置。
输入/输出:字。
剩余容量ARM()(0x01)
此函数设置或返回低容量报警值。当RM低于从外部EEPROM初始化的剩余电容arm值时,剩余的电容报警位设置在BatteryStatus中。系统可能会在运行期间更改此警报。
输入/输出:无符号整数。这将设置/返回在电池状态下设置剩余电量报警位的值。
单位:毫安时
范围:0至65535mah
RemainingtimeAlarm()(0x02)
此函数设置或返回剩余时间低报警值。当AverageTimeToEmpty低于此值时,将设置BatteryStatus中的剩余时间报警位。该寄存器的默认值在EE 0x02-0x03中编程。。系统可能会在运行期间更改此警报。
输入/输出:无符号整数。这将设置/返回在电池状态下设置剩余时间报警位的值。单位:分钟范围:0至65535分钟
电池模式()(0x03)
这个读/写字选择各种电池操作模式。bq2040支持mAh中指定的电池容量信息。此函数还确定是否将bq2040充电值广播到智能电池充电器地址。
将位14写入1将禁用向智能电池充电器的电压和电流主模式广播。如果SMBC和SMBD=0的时间超过2秒(即删除包),则位14自动重置为0。
将位13写入1将禁用所有主模式广播,包括向智能电池充电器和主机发送警报消息。该位保持设置,直到被覆盖。EEPROM(EE0x3f)中FLAGS2的编程位3将该位初始化为1。
位7是条件请求标志。当从EEPROM初始化bq2040时设置,当学习周期完成时重置。如果没有新的学习周期,则CycleCount增加32,则它也设置为1。
AtRate()(0x04)
这个读/写字是两个函数集的前半部分,这两个函数集用于设置AtRate值,atratetimetofall和atratetimetompty进行计算时使用该值。
SBD密封
可以“锁定”bq2040地址空间,以强制SBS指定对每个命令代码的访问。若要锁定地址空间,必须使用设置为b0h的EE 0x3d初始化bq2040。完成此操作后,只能写入命令0x00-0x04。尝试写入任何其他地址将导致“不确认”数据。只允许读取SBD规范中列出的命令代码以及指定为可选制造功能1–5(0x2f、0x3c–0x3f)的五个位置。
编程bq2040
bq2040需要对外部EEPROM进行正确编程,以实现正确的设备操作。每个模块都可以进行最大精度的校准,或者使用一般的“默认”值。BenchmarkQ提供了用于IBM兼容PC的EV2200-40编程工具包(接口板、软件和电缆)。
bq2040使用24LC01或等效的串行EEPROM(能够读取操作到2.0V)来存储各种初始值、校准数据和字符串信息。表1概述了这些信息的参数和地址。表10和11详细说明了各种寄存器内容,并显示了使用50mΩ感测电阻器的2400毫安时4系列锂离子电池组的示例程序值。
总线定时数据

16针SOIC窄(SN)




更多回帖

发帖
×
20
完善资料,
赚取积分