芯片简介
CW2015 是一款超紧凑、低成本、主机侧/电池组侧、无传感电阻器的电量计量系统 IC,适用于手持和便携式设备中的锂离子 (Li+) 电池。CW2015 包括一个 14 位 Sigma-Delta ADC、一个精密电压基准和内置准确温度传感器。该 IC 允许最终用户消除占用大量电路板面积的昂贵感测电阻器。如果电池 SOC 水平达到预先设定的阈值,IC 也会发出警报信号。
CW2015 使用I2C串行接口,可在标准 (100 kHz) 或快速 (400 kHz) 模式下运行。
CW2015的地址为0b1100010。读命令为0xC5;写命令为0xC4。
芯片引脚
典型电路图
寄存器介绍
VCELL
该寄存器存储了芯片ADC采集到的电压值,每一位代表的是305uV。比如说你读取到的值为 “0011 0011”,转换成10进制是51,则实际电压为51*305=15555uV=0.015555uV。
SOC
该寄存器存储的是转换得到的电量百分比值。寄存器0x04读取的单位是1%,寄存器0x05读取的单位是1/256%。需要注意的是,CW2015芯片还需要设置电池的建模信息(电池信息0x10到0x4f寄存器中,不同的电池电池建模信息不同),因此如果没有设置电池建模信息或者电池建模信息不准确,这里读取的电量值其实是不一定准确的。网上也有相关可参考的电池建模信息,可以先凑活着用
/*电池建模信息,客户拿到自己电池匹配的建模信息后请替换*/
static unsigned char cw_bat_config_info[SIZE_BATINFO] = {
0X15,0X7E,0X7C,0X5C,0X64,0X6A,0X65,0X5C,0X55,0X53,0X56,0X61,0X6F,0X66,0X50,0X48,
0X43,0X42,0X40,0X43,0X4B,0X5F,0X75,0X7D,0X52,0X44,0X07,0XAE,0X11,0X22,0X40,0X56,
0X6C,0X7C,0X85,0X86,0X3D,0X19,0X8D,0X1B,0X06,0X34,0X46,0X79,0X8D,0X90,0X90,0X46,
0X67,0X80,0X97,0XAF,0X80,0X9F,0XAE,0XCB,0X2F,0X00,0X64,0XA5,0XB5,0X11,0XD0,0X11
};
RRT_Alert
ALRT:标志寄存器位。当SOC寄存器值低于或等于设置的电压阈值时,该位由IC置1,并产生中断。该位只能由主机通过I2C进行清除。其上电默认值为逻辑0。
后面13位是当前电池还可运行的时间,单位为分钟,每秒钟更新一次。
CONFIG
ATHD用于设置报警电压阈值。
UFG指示电池信息更新状态。
MODE
- SLEEP:默认值为11。写入11强制CW2015进入休眠模式;写入00唤醒。
- QSTRT:默认值为00,写入11启动。
快速启动允许IC以与IC初始上电相同的方式重新启动电量计计算。快速启动也可由QSTRT引脚上的上升沿发起。 - POR:芯片复位。默认值0000,写入1111,掉电重启IC。
使用方法
- 唤醒CW2015
- 检查UFG位是否置1,并检查电池信息是否正确
- 设置阈值电压
- 读取SOC电量信息