MAX17048/MAX17049:低功耗单/双节锂电池电量计的卓越之选

电子说

1.4w人已加入

描述

MAX17048/MAX17049:低功耗单/双节锂电池电量计的卓越之选

在当今的电子设备中,电池电量的精确监测至关重要。无论是智能手机、智能手表,还是医疗设备等,都需要可靠的电量计来提供准确的电池剩余电量信息。MAX17048/MAX17049作为Maxim Integrated推出的两款低功耗锂电池电量计,在众多应用场景中展现出了出色的性能。

文件下载:MAX17048.pdf

一、产品概述

1.1 基本信息

MAX17048/MAX17049是用于手持和便携式设备中锂离子(Li+)电池的微型微功耗电流电量计。其中,MAX17048适用于单节锂电池,而MAX17049则可用于两节串联的锂电池。这两款芯片采用了先进的ModelGauge™算法,能够在广泛变化的充电和放电条件下连续跟踪电池的相对充电状态(SOC)。

1.2 主要特点

  • 高精度电压测量:能够实现±7.5mV/节的精确电压测量,为准确计算SOC提供了基础。
  • ModelGauge算法优势:该算法不仅能提供准确的SOC信息,还能补偿温度和负载变化的影响,且不会像传统库仑计数器那样累积误差,同时无需学习过程和电流检测电阻。
  • 超低静态电流:在休眠模式下仅需3μA电流,活动模式下为23μA,并且能够自动进入和退出休眠模式,有效降低功耗。
  • 多种功能特性:可报告充电和放电速率,具备电池插入去抖功能,能通过16个样本的最佳值来估计初始SOC;还支持可编程复位以实现电池更换,拥有可配置的警报指示器,可对低SOC、SOC 1%变化、电池欠压/过压以及VRESET警报等情况进行警报。
  • 接口与封装:采用I2C接口进行通信,方便与其他设备连接;提供0.9mm x 1.7mm的8凸点晶圆级封装(WLP)或2mm x 2mm的8引脚TDFN封装,适合不同的应用需求。

二、工作原理

2.1 ModelGauge算法原理

ModelGauge算法通过模拟锂离子电池的内部非线性动态来确定其SOC。该算法考虑了电池的阻抗以及化学反应的缓慢速率,能够在不同的工作条件下准确计算电池的剩余电量。在开机复位(POR)时,芯片预先加载了一个ROM模型,该模型对于某些电池能够提供较好的性能。如果需要更精确的模型,可以联系Maxim获取定制模型。

2.2 与传统库仑计数器的对比

传统的库仑计数器基于电流积分来计算SOC,由于电流检测ADC测量中的偏移误差会随着时间累积,导致SOC出现漂移。即使瞬时误差可能很小,但长期积累下来误差会逐渐增大,通常每天会漂移0.5% - 2%,需要定期进行校正。而ModelGauge算法仅使用电压来计算SOC,电压在一段时间内相对稳定,因此无需进行校正事件,能够避免误差的累积,保持较高的准确性。

三、关键性能分析

3.1 温度补偿

为了确保最佳性能,主机微控制器需要定期测量电池温度,并相应地补偿ModelGauge参数RCOMP,至少每分钟进行一次。不同的定制模型定义了不同的常数,如RCOMP0(默认值为0x97)、TempCoUp(默认值为 -0.5)和TempCoDown(默认值为 -5.0)。根据电池温度的不同,可以使用以下公式计算新的CONFIG.RCOMP值: 当 (T > 20) 时,(RCOMP = RCOMP0 + (T - 20) times TempCoUp); 当 (T leq 20) 时,(RCOMP = RCOMP0 + (T - 20) times TempCoDown)。

3.2 空电压选择的影响

大多数应用都有一个最低工作电压,低于该电压系统将立即关机,这个电压称为空电压。在为电池创建定制模型时,需要谨慎选择空电压。随着空电压的升高,系统无法使用的电池容量会以加速的速率增加,因此需要根据实际应用需求进行合理选择。

3.3 电池插入与初始SOC估算

当电池首次插入系统时,电量计芯片没有关于电池SOC的先前信息。假设电池处于松弛状态,芯片会将第一次测量的VCELL转换为最佳的初始SOC估计值。由于电池未处于松弛状态而导致的初始误差会随着时间逐渐减小,无论后续的负载情况如何。与库仑计数器不同,ModelGauge的SOC估计值会收敛,能够自动校正误差。在电池插入时,芯片会对初始电压测量进行去抖处理,通过取16个VCELL样本(每个样本1ms,全12位分辨率)的最大值来估计开路电压(OCV),OCV在电池插入后17ms准备好,SOC在其后175ms准备好。

3.4 电池更换检测与快速启动

如果VCELL低于VRST,当VCELL再次高于VRST时,芯片会进行快速启动,以处理电池更换的情况,确保新电池的SOC不受前一个电池的影响。但快速启动需要谨慎使用,因为除非VCELL完全松弛,否则即使采样到的最佳电压也可能大于或小于OCV。大多数系统不需要使用快速启动,因为芯片能够自动处理大多数启动问题,如电池插入时的间歇性连接问题。如果电池电压在17ms内稳定,则无需使用快速启动。

四、低功耗模式

4.1 休眠模式

芯片具有低功耗休眠模式,当电池的充电/放电速率较低时,仍能准确测量电量。默认情况下,设备会根据充电/放电速率自动进入和退出休眠模式,在不影响电量计精度的前提下,将静态电流降至5μA以下。在休眠模式下,设备会将ADC转换周期和SOC更新周期延长至每45s一次。对于最大负载小于C/4速率的应用,可以强制芯片进入休眠模式以降低功耗;对于负载较高的应用,建议使用默认的自动控制休眠模式。

4.2 睡眠模式

在睡眠模式下,芯片会停止所有操作,将电流消耗降至1μA以下。退出睡眠模式后,芯片将继续正常运行。但在睡眠模式下,芯片无法检测电池的自放电情况,如果电池在芯片睡眠时状态发生变化,可能会导致SOC误差。因此,在充电或放电前需要唤醒芯片。进入睡眠模式可以通过以下两种方式:一是将SDA和SCL保持低电平tSLEEP时间,SDA或SCL的上升沿可唤醒芯片;二是将CONFIG.SLEEP设置为1,将其设置为0可唤醒芯片。对于能够容忍4μA电流的应用,建议使用休眠模式而非睡眠模式。

五、寄存器配置

5.1 寄存器读写规则

所有寄存器必须以16位字的形式进行读写,8位写入操作无效。对于标记为X(无关位)或只读的位,需要与寄存器的其他部分一起写入,但芯片会忽略写入的值。从无关位读取的值是未定义的。寄存器的值可以通过将16位字乘以寄存器的LSb值来计算。

5.2 主要寄存器功能

  • VCELL寄存器(0x02):用于测量电池电压,MAX17048测量VDD和GND引脚之间的电压,MAX17049测量CELL和GND引脚之间的电压。VCELL是四次ADC转换的平均值,在活动模式下每250ms更新一次,在休眠模式下每45s更新一次。
  • SOC寄存器(0x04):芯片使用ModelGauge算法计算SOC,该寄存器能够自动适应电池尺寸的变化。寄存器的上字节最低有效位表示1%的SOC,下字节提供更高的分辨率。首次更新在芯片上电复位后约1s可用,后续更新根据应用条件以可变间隔进行。
  • MODE寄存器(0x06):用于启动快速启动、报告休眠模式状态以及启用睡眠模式。其中,EnSleep位用于启用睡眠模式,HibStat位为只读位,用于指示芯片是否处于休眠模式,Quick-Start位可根据即时电池电压生成OCV和SOC的初始估计值,但使用时需谨慎。
  • HIBRT寄存器(0x0A):用于控制进入和退出休眠模式的阈值。ALSC位用于启用SOC变化警报,当SOC变化至少1%时触发警报;ActThr位为活动阈值,如果任何ADC采样的|OCVCELL|大于该阈值,芯片将退出休眠模式;ALRT位为警报状态位,当警报发生时由芯片设置,设置后ALRT引脚将拉低;HibThr位为休眠阈值,如果CRATE的绝对值小于该阈值且持续时间超过6分钟,芯片将进入休眠模式。
  • CONFIG寄存器(0x0C):用于优化性能的补偿、睡眠模式设置、警报指示器配置等。ATHD位设置空警报阈值,可在1% - 32%之间编程;RCOMP位是一个8位值,可根据不同的锂化学性质或工作温度进行调整;SLEEP位用于强制芯片进入或退出睡眠模式。

六、I2C总线系统与通信协议

6.1 I2C总线工作原理

MAX17048/MAX17049支持作为从设备在单主/多主、单从/多从系统中运行。从设备可以通过唯一设置7位从地址来共享总线。I2C接口由串行数据线(SDA)和串行时钟线(SCL)组成,提供了芯片从设备与主设备之间的双向通信,最高通信速度可达400kHz。芯片的SDA引脚为双向操作,接收数据时作为输入,返回数据时作为开漏输出,需要主机系统提供上拉电阻。芯片始终作为从设备,在主设备的控制下接收和发送数据,主设备负责发起总线上的所有事务,并生成SCL信号以及START和STOP位。

6.2 数据传输规则

  • 位传输:在每个SCL时钟周期内传输一位数据,SCL从低到高再到低的转换定义一个时钟周期。在SCL时钟脉冲的高电平期间,SDA逻辑电平必须保持稳定,SCL为高时SDA的任何变化都将被解释为START或STOP控制信号。
  • 总线空闲状态:当没有主设备控制总线时,总线处于空闲状态,此时SDA和SCL都保持高电平。使用STOP条件可以使总线返回空闲状态。
  • START和STOP条件:主设备通过在SCL为高时将SDA从高到低转换来发起START条件(S),开始一个事务;通过在SCL为高时将SDA从低到高转换来发起STOP条件(P),结束一个事务。重复START条件(Sr)可以在不使总线返回空闲状态的情况下结束一个事务并开始另一个事务,在多主系统中,重复START允许主设备保留对总线的控制权。
  • 确认位:每个数据字节的传输都伴随着一个确认位(A)或无确认位(N)。主设备和从设备都会生成确认位,接收设备在确认相关时钟脉冲(第九个脉冲)的上升沿之前将SDA拉低并保持到SCL返回低电平表示确认,释放SDA并保持高电平表示无确认。通过监测确认位可以检测数据传输是否成功,如果传输失败,主设备应重新尝试通信。
  • 数据顺序:一个字节的数据由8位组成,最高有效位(MSb)在前,每个字节的最低有效位(LSb)后面跟着确认位。多字节寄存器按MSB优先顺序排列,多字节寄存器的MSB存储在偶数据内存地址中。

6.3 通信协议

  • 从地址:主设备通过发送START条件、从地址(SAddr)和读写(R/W)位来发起与从设备的通信。芯片的7位从地址固定为0x6C(写)/0x6D(读),当芯片接收到匹配的从地址时,会在R/W位后的时钟周期内发送确认位。
  • 读写位:R/W位决定了后续数据字节的传输方向,R/W = 0表示写事务,主设备将数据写入从设备;R/W = 1表示读事务,主设备从从设备读取数据。
  • 总线时序:芯片与最高400kHz的任何总线时序兼容,无需特殊配置。
  • 命令协议:I2C命令协议包括多种事务格式,如写事务和读事务。写事务将2个或更多数据字节传输到芯片,从MAddr字节指定的内存地址开始;读事务由写部分和读部分组成,写部分指定读操作的起始点,读部分从重复START开始,将2个或更多字节从芯片读出。在每个命令格式中,每个字节都需要从设备或主机返回确认位后才能继续传输下一个字节。

七、应用案例

7.1 单节电池应用

在单节电池应用中,如智能手机、智能手表等,可以使用MAX17048。以一个1S电池组应用为例,将ALRT引脚连接到微控制器的中断输入,当电池电量低时,MAX17048可以向微控制器发送信号。QSTRT引脚未使用时应连接到GND。

7.2 双节电池应用

对于双节电池应用,如平板电脑、无线扬声器等,可以选择MAX17049。在一个2S电池组应用中,MAX17049安装在系统侧,由系统生成的3.3V电源供电,CELL引脚直接连接到电池组的正极。

MAX17048/MAX17049以其高精度的电量测量、低功耗特性以及丰富的功能,为锂电池电量监测提供了一种可靠的解决方案。电子工程师在设计相关产品时,可以根据具体的应用需求选择合适的芯片,并合理配置寄存器和通信协议,以实现最佳的性能。在实际应用中,你是否遇到过类似电量计芯片的使用问题?又是如何解决的呢?欢迎在评论区分享你的经验。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分