The bq2085 supports the Smart Battery Data (SBData) commands and charge-control functions. It communicates data using the System Management Bus (SMBus) 2-wire protocol. The data available include the battery’s remaining capacity, temperature,
voltage, current, and remaining run-time predictions. The bq2085 provides LED drivers and a push-button input to depict remaining battery capacity from full to empty in 20%, 25%, or 33% increments with a 3-, 4-, or 5-segment display.
bq2085支持智能电池数据(SBData)命令和充电控制职能。它使用系统管理总线(SMBus)2-wire协议进行数据通信。可以获取的数据包括电池剩余容量,温度,电压,电流和剩余运行时间预测。bq2085提供了LED驱动和按钮输入来描绘剩余电池容量,从满的到空的20%,25%,或者33%增量用3,4,5段来显示。
smbus时钟开漏双向引脚用于计时向和从bq2085传输数据。
smbus数据开漏双向引脚用于向和从bq2085传输地址和数据。
SMBus的时序规范
注5、当任意一个时钟低位超过T
TIMEOUT时bq2085超时
6、T
HIGH是最小总线空闲时间。对于t>50us的SMBC=1会导致所有执行的复位,包括执行中的bq2085
7、T
LOW:SEXT是一个从动设置被允许超出时钟周期的累计时间,从初始启动到停止的一个消息中
8、T
LOW:MEXT是一个主动设置被允许超出时钟周期的累计时间,从初始启动到停止的一个消息中
9、上升时间T
R=(V
ILMAX-0.15V)到(V
IHMIN+0.15V)
10、下降时间T
F=0.9V
DD到(V
ILMAX-0.15V)
SMBus时序图
偏移校准
bq2085提供一个自动校准特征来消除由于最大充电测量精度所产生的从SR1到SR2的电压偏移错误。当SMBus线在低位上至少停20s,bq2085会执行自动校准。bq2085可以提供最小1uV的自动偏移校准。
运作概况
主要的充电计数器RM代表在任何给定时间的电池中可用容量或能量。bq2085调整RM用于充电,自放电和其它补偿因素。RM寄存器中的信息可以通过SMBus接口获取,也通过LED显示来展示。
完全充电能力(FCC)寄存器表示电池的最后经测量的完全放电。它被用作电池完全充电参考,作为相对的容量指标。bq2085在电池经历了一次从几乎满的到一个低容量水平的量化的放电之后会更新FCC。FFC可以通过SMBus获取。
低功耗模式
当充放电流小于编程在“睡眠电流门槛DF0xe5”中的门槛值时,bq2085会进入睡眠模式,SMBus线在低电位至少2秒,以及Misc的字节4。配置DF0x2a被设置成0。bq2085周期性地苏醒以监视电压和温度以及应用自放电调节。睡眠周期在睡眠计时器DF0xe7中设置。bq2085在睡眠当前时间DF0xe6中设置的时间段苏醒以测量电流。当SMBus线过高或者电流超过睡眠电流阈值时bq2085不再睡眠。SMBC或者SMBD上一个上升沿存储bq1085于完全运作模式。
通信
bq2085包含一个SMBus通信端口。SMBus接口是一个使用SMBC(时钟)和SMBD(数据)针脚的2线双向协议。通信线与VCC独立开来并且可以拉得比VCC还高。并且,如果VCC到这部分为0的话bq2085不会将这些线拉低。通信端口允许一个主控制器,一个SMBus兼容设置,或者其它的信息存储器来接收bq2085的内存寄存器。这样系统可以有效地监视和管理电源。
SMBus接口是一个基于命令的协议。一个处理器作为总线主机通过生成一个起始条件来初始化到bq2085的通信。一个起始条件包含SMBD线从高电位到低电位的一次转化,此时SMBC必须是高电位。然后处理器发送给bq2085装置0001011地址加上一个R/W字节,后面跟一个SMBus命令码。这个R/W字节以及命令码指导bq2085要么将要接收的数据存储在SMBus命令码所特指的寄存器中要么将特定寄存器中的数据取出来。处理器通过一个停止条件完成接收。一个停止条件包含SMBD低电位到高电位的一次转换,此时SMBC必须是高电位。通过SMBus,一字节数据的MSB首先传送。
在一些情况中,bq2085作为总线控制器。这发生于bq2085向设备地址0x12(SBS智能充电器)和0x10(SBS主机控制器)广播充电请求和警报条件时。
SMBus协议:
bq2085支持以下SMBus协议:
1、读字节
2、写字节
3、块阅读
作为总线主机的处理器使用三种协议与bq2085进行通信。作为总线主机的bq2085使用写字节协议。
SMBD和SMBC引脚漏极开路,需要上拉电阻。为保证SMBus不在状态的检测,自动偏失校准的性能,以及当电池组移开时的低功耗模式的初始化,SMBC和SMBDj上的电池组里的1-MΩ的下拉电阻是必须的。
SMBus分组错误检查
bq2085支持分组错误检查作为确保它和另一个SMBus设置之间的正常通信一个机制。分组错误检查需要传送者和接收者对每一个通信信息都计算出一个分组错误码(PEC)。接收者将传送过来的PEC与它自己的PEC结果进行比较来决定是否出现通信错误。
SMBus的开和关
bq2085通过监视SMBC和SMBD来检测SMBus是否已关。当两个信号都是持续地保持低电位至少2s,则bq2085检测为关状态。当SMBC和SMBD线上升,bq2085检测到开状态并且能在1ms内进行通信。为保证可靠的关状态检测,推荐在SMBC和SMBD上加一个1MΩ的下拉电阻。
ManufacturerAccess()(0x00)
介绍:这个函数提供了可写命令码来控制正常操作和包装生产时的bq2085。可用命令如下:
0x0001 设备类型:指示bq2085返回零件编号;
0x0002 固件修订:指示bq2085返回固件修订;
0x0003 EDV水平:指示bq2085返回之前的结束的放电电压水平以使得它可以被读取;
0x0004 SEAL:指示bq2085限制使用表3中所列的函数。bq2085完成seal函数并清空ManufacturerAccess();
目的:ManufacturerAccess函数提供到SBD中未定义的bq2085函数的系统主机访问。
SMBus 协议:读或写字节
输出/输出:字节
RemainingCapacityAlarm()(0x02)
介绍:设置或获取低容量阈值。只要RemainingCapacity()低于低容量值,bq2085就会使用REAMINING_CAPACITY_ALARM字节位发送AlarmWarning()消息到SMBus主机。设为0值则取消警告。bq2085初始将低容量值设置为编程在DF0x02-0x03中的“最小容量警告值”。低容量值保持不变直到被RemainingCapacityAlarm函数改变。低容量值既以电流也可以功率表达,依赖于BatteryMode()的CAPACITY_MODE字节设置。
BatterMode()(0x03)
介绍:选择多种电池操作模式