×
嵌入式 > 技术百科 > 详情

BQ27500、BQ27501是系统侧阻抗™ 履带式燃油表

发布时间:2021-11-25 发布时间:
|

简介

特征

•系列锂离子电池燃料计

•驻留在系统主板上

–可与嵌入式或可拆卸电池组配合使用

•两个品种

–bq27500:,使用电池组+、–电池组和电池组终端

–bq27501:与电池组中的电池ID电阻器一起使用

•微控制器外围设备提供:

–精确的电池燃料计量

–用于系统温度报告的内部温度传感器

–电池电量低中断警告

–电池插入指示器

–电池ID检测

–96字节非易失性便笺簿闪存

•基于专利阻抗的电池燃油表™ 轨道技术

–为电池放电曲线建模,以准确预测清空时间

–针对电池老化、电池自放电和温度/速率低效率自动调整

–低值感应电阻器(10 mΩ或更小)

•I2型™连接到系统微控制器端口的C接口

•12针2,5-mm×4-mm SON封装

应用

•智能手机

•PDA

•数码相机和摄像机

•手持终端

•MP3或多媒体播放器

说明

德州仪器bq27500/01系统侧锂离子电池燃料计是一个微控制器外围设备,为单电池锂离子电池组提供燃料计量。该设备只需要很少的系统微控制器固件开发。bq27500/01驻留在系统主板上,管理嵌入式电池(不可拆卸)或可拆卸电池组。

bq27500/01采用专利的阻抗跟踪算法进行燃料计量,并提供诸如剩余电池容量(mAh)、充电状态(%)、空载运行时间(min.)、电池电压(mV)和温度(°C)等信息。

使用bq27500测量电池燃料只需要电池组+(P+)、–电池组)、–(P)和热敏电阻(T)连接至可拆卸电池组或嵌入式电池。bq27501与电池组中的识别电阻器一起工作,以测量不同基本化学成分和/或显著不同额定容量的电池。

典型应用

一般说明

bq27500/1可准确预测单个锂基可充电电池的电池容量和其他工作特性。系统处理器可以询问它以提供单元信息,例如充电状态(SOC)、清空时间(TTE)和充满时间(TTF)。

信息是通过一系列被称为标准命令的命令来访问的。附加的扩展命令集提供了更多的功能。这两组命令由通用格式命令()表示,用于读取和写入bq27500/1控制和状态寄存器及其数据闪存位置中的信息。使用bq27500/1i2c串行通信引擎从系统向仪表发送命令,可以在应用程序开发、组件制造或终端设备操作期间执行。

单元信息存储在bq27500/1的非易失性闪存中。在应用程序开发期间,可以访问这些数据闪存的许多位置。在终端设备运行期间不能直接访问它们。通过使用bq27500/1配套评估软件、单独命令或通过一系列数据闪存访问命令来访问这些位置。要访问所需的数据闪存位置,必须知道正确的数据闪存子类和偏移量。

bq27500/1提供96字节的用户可编程数据闪存,分为三个32字节块:制造商信息块A、制造商信息块B和制造商信息块C。该数据空间通过数据闪存接口访问。

bq27500/1高精度燃油计量预测的关键是德州仪器公司的专用阻抗轨迹™ 算法。此算法使用电池测量、特性和属性来创建充电状态预测,在各种操作条件下和电池寿命期间,可以实现小于1%的误差。

bq27500/1通过监测位于系统Vss和蓄电池组端子之间的小值串联感测电阻器(5 mΩ至20 mΩ,典型值)上的电压来测量充电/放电活动。当电池连接到bq27500/1上时,根据电池电流、电池开路电压(OCV)和负载条件下的电池电压计算电池阻抗。

bq27500/1必须使用NTC热敏电阻Semitec 103AT进行温度测量,也可以配置为使用其内部温度传感器。bq27500/1使用温度监控电池组环境,用于燃料计量和电池保护功能。

为了减少功耗,bq27500/1有几种电源模式:正常、休眠、休眠和BAT插入检查。bq27500/1在这些模式之间自动通过,这取决于特定事件的发生,尽管系统处理器可以直接启动其中一些模式。更多详情请参见第5.7节“电源模式”。

注意

本文档中的格式惯例:

命令:斜体,带括号,不带空格,例如RemainingCapacity(.)

数据闪烁:,斜体,粗体和断续,空格,例如,设计容量;

寄存器位和标志:括号和斜体,例如[TDA];

数据闪烁位:括号、斜体和粗体,例如[LED1];

模式和状态:所有大写字母,例如未密封模式。

数据闪存接口

访问数据闪存

bq27500/1数据闪存是一个非易失性存储器,包含bq27500/1初始化、默认值、单元状态、校准、配置和用户信息。根据bq27500/1的工作模式和正在访问的数据,可以用几种不同的方式访问数据闪存。

系统经常读取的常用数据闪速存储器位置,可通过第4.1节“数据命令”中所述的特定指令方便地访问。当bq27500/1处于未密封或密封模式时,这些命令可用。

然而,大多数数据闪存位置只能通过使用bq27500/1评估软件或通过数据闪存块传输在非密封模式下访问。这些位置必须在开发和制造过程中进行优化和/或固定。它们成为金色图像文件的一部分,然后可以写入多个电池组。一旦确定,这些值在终端设备运行期间通常保持不变。

要单独访问数据闪存位置,必须将包含所需数据闪存位置的块传输到命令寄存器位置,在那里可以将信息读取到系统或直接更改。这是通过发送带有数据0x00的设置命令BlockDataControl()(0x61)来完成的。可以直接从BlockData()(0x40…0x5f)读取多达32个字节的数据,然后进行外部修改,然后重写到BlockData()命令空间。或者,如果使用其相应的偏移量索引到BlockData()命令空间,则可以读取、更改和重写特定位置。最后,一旦整个块的正确校验和被写入BlockDataChecksum()(0x60),驻留在命令空间中的数据被传输到数据闪存。

有时,数据闪存类大于32字节的块大小。在这种情况下,DataFlashBlock()命令用于指定所需信息驻留在哪个32字节块中。然后,0x40+偏移模32给出正确的命令地址。例如,为了访问燃料计量类中的终端电压,发出DataFlashClass()80(0x50)来设置该类。因为偏移量是48,它必须位于第二个32字节块中。因此,发出DataFlashBlock()以设置块偏移量,用于索引到BlockData()内存区域的偏移量为0x40+48模32=0x40+16=0x40+0x10=0x50。

读写子类数据是块操作,长度可达32字节。如果在写入过程中数据长度超过最大块大小,则忽略数据。

写入内存的所有数据都不受bq27500/1的限制–燃油表不会拒绝这些值。由于固件程序解释无效数据,写入错误值可能导致硬件故障。写入的数据是永久性的,因此通电复位可以解决故障。

制造商信息块

bq27500/1包含96字节的用户可编程数据闪存:制造商信息块A、制造商信息块B、制造商信息块C。访问这些存储器位置的方法略有不同,这取决于设备是处于非密封模式还是密封模式。

在未密封模式下以及当和0x00被写入BlockDataControl()时,访问制造商信息块与访问一般数据闪存位置相同。首先,DataFlashClass()命令用于设置子类,然后DataFlashBlock()命令设置子类中第一个数据闪存地址的偏移量。BlockData()命令代码包含引用的数据闪存数据。写入数据闪存时,BlockDataChecksum()将收到一个校验和。只有当接收到校验和并进行验证时,数据才真正写入数据闪存。

作为示例,制造商信息块B的数据闪存位置被定义为具有子类=58和偏移量=32到63(32字节块)。Class=系统数据的规范不需要用于处理制造商信息块B,而是用于在bq27500/1评估软件中查看数据闪存信息时进行分组。

在密封模式下或0x01 BlockDataControl()不包含0x00时,数据闪存将不再以非密封模式下使用的方式可用。选择了发出flashblock信息的子类()而不是发出flashblock信息的子类。使用此命令发出0x01、0x02或0x03会导致相应的信息块(分别为a、B或C)传输到命令空间0x40…0x5f,供系统编辑或读取。在成功地将校验和信息写入BlockDataChecksum()后,修改后的块将返回到data flash。注:制造商信息块A在密封模式下为只读。

接入方式

根据表4-6,bq27500/1提供了三种安全模式(完全访问、未密封和密封)来控制数据闪存访问权限。公共访问是指用户可访问的数据闪存位置,如表4-7所示。私有访问是指bq27500/1系统使用的预留数据闪存位置。在完全访问模式下执行块写入时,应注意避免写入私有数据闪存位置,按照第4.2.1节“访问数据闪存”中所述的程序进行。

尽管完全访问和未密封模式看起来完全相同,但只有完全访问才允许bq27500/1写入访问模式转换键。

封/启封数据闪存

bq27500/1实现了一个密钥访问方案,用于在密封、非密封和完全访问模式之间转换。每个转换都需要通过Control()控制命令将一组唯一的两个键发送到bq27500/1。这些键必须连续发送,它们之间没有其他数据写入Control()寄存器。注意,为了避免冲突,键必须与表4-2 Control()子命令的CNTL DATA列中显示的代码不同。

在密封模式下,控制状态[SS]位被设置,但当bq27500/1正确接收到解封密钥时,[SS]位被清除。当正确接收到完整访问密钥时,控制状态[FAS]位被清除。

每个级别的两组密钥长度均为2字节,并存储在数据闪存中。解封密钥(存储在解封密钥0和解封密钥1)和完全访问密钥(存储在完全访问密钥0和完全访问密钥1)只能在完全访问模式下更新。通过Control()命令输入的字节顺序与从部件读取的顺序相反。例如,如果解封键0 read的第一个和第二个字返回0x1234和0x5678,则控件()应提供0x3412和0x7856来解封部件。

功能描述

燃料计量

bq27500/1测量电池电压、温度和电流,以确定电池SOC。bq27500/1通过感测SRP和SRN引脚之间以及与电池串联的小值电阻器(5 mΩ至20 mΩ)之间的电压,监测充电和放电活动。通过整合通过电池的电荷,电池的SOC在电池充电或放电过程中进行调整。

通过比较施加负载前后的充电状态和通过的电量,得出电池的总容量。当施加一个应用负载时,通过比较当前SOC的预定义函数获得的OCV与负载下测量的电压,来测量电池的阻抗。OCV和电荷积分的测量确定了化学电荷状态和化学容量(Qmax)。初始Qmax值取自电池制造商的数据表乘以并联电池的数量。它也用于计算设计容量的值。bq27500/1在正常电池使用期间获取并更新电池阻抗曲线。它使用此配置文件,连同SOC和Qmax值,来确定完全充电容量()和充电状态(),特别是针对当前负载和温度。满充容量()是指在当前负载和温度下,充满电的电池在电压()达到术语电压之前的可用容量。NominalAvailableCapacity()和FullAvailableCapacity()分别是RemainingCapacity()和FullChargeCapacity()的无补偿(无负载或轻负载)版本。

bq27500/1有两个标志,由flags()函数访问,当电池的SOC降至临界水平时发出警告。当剩余容量()低于第一个容量阈值(在SOC1设置阈值中指定)时,设置[SOC1](充电状态初始)标志。一旦剩余容量()上升到SOC1清除阈值以上,则清除该标志。bq27500/1的BAT_LOW引脚自动反映[SOC1]标志的状态。所有单位均为毫安时。

当剩余容量()低于第二个容量阈值(SOCF设置阈值)时,[SOCF](充电状态最终)标志被设置,用作最终放电警告。设置SOCF Set Threshold=0以停用该功能。类似地,当RemainingCapacity()上升到SOCF Clear Threshold以上并且已经设置了[SOCF]标志时,[SOCF]标志被清除。单位均为毫安时。

阻抗轨迹™ 变量

bq27500/1有几个数据闪存变量,允许用户自定义阻抗轨迹™ 优化性能的算法。这些变量取决于应用程序的功率特性以及单元本身。

加载方式

负载模式用于选择阻抗跟踪的恒流或恒功率模型™ 加载选择中使用的算法(请参见加载选择)。负载模式为0时,使用恒流模型(默认)。当为1时,采用恒功率模型。控制状态的[LDMD]位反映加载模式的状态。

负荷选择

加载选择定义用于计算阻抗轨迹中负载补偿容量的功率或电流模型的类型™ 算法。如果负载模式=0(恒流),则表5-1中的选项可用。

备用上限mAh

储备上限mAh确定在达到0剩余容量()之后,在达到终止电压之前,实际剩余容量有多少。该储备采用空载补偿率。

储量上限mWh

储量上限mWh确定在达到0 AvailableEnergy()之后,在达到终止电压之前的实际剩余容量。该备用容量采用空载补偿率。

Dsg电流阈值

bq27500/1中的许多功能将该寄存器用作阈值,以确定实际放电电流是流入还是流出电池。此寄存器的默认值为100 mA,这对于大多数应用来说应该足够了。该阈值应设置得足够低,以低于任何正常应用负载电流,但应足够高,以防止噪声或漂移影响测量。

变化电流阈值

该寄存器被bq27500/1中的许多函数用作阈值,以确定实际电荷电流是流入还是流出电池。此寄存器的默认值为50 mA,这对于大多数应用来说应该足够了。应设置足够高的电流,以防止电流漂移或低于正常阈值。

退出电流、DSG松弛时间、CHG松弛时间和退出松弛时间

退出电流用作阻抗轨迹的一部分™ 确定bq27500/1何时从充电方向或放电方向的电流流动模式进入松弛模式的算法。退出电流值设置为默认值10毫安,且应高于系统的待机电流。

必须满足以下任一条件才能进入松弛模式:

•| AverageCurrent()|<| Quit Current |用于Dsg松弛时间•| AverageCurrent()|<| Quit Current |用于更改松弛时间

在放松模式下约30分钟后,bq27500/1尝试获取准确的OCV读数。bq27500/1还需要dV/dt<4μV/s才能执行Qmax更新。这些更新用于阻抗跟踪™ 算法。在OCV读数至期间,蓄电池电压应放松,并且在尝试进入松弛模式时,电流不得高于C/20。

放弃放松时间指定AverageCurrent()在退出松弛模式之前保持在QuitCurrent阈值以上所需的最短时间。

Qmax 0和Qmax 1

一般称为Qmax,这些动态变量包含活性电池轮廓的各自最大化学容量,并通过比较施加负载前后的电荷状态与通过的电荷量来确定。它们也对应于极低放电速率下的容量,例如C/20速率。为了获得高精度,bq27500/1在运行期间定期更新该值。根据电池单元容量信息,应在每个默认电池配置文件的Qmax n字段中输入化学容量的初始值。阻抗轨迹™ 算法更新这些值,并将其保持为相关的实际单元配置文件。

更新状态0和更新状态1

更新状态n寄存器的位0(0x01)表示bq27500/1已读入新的Qmax参数并且是准确的。其余的位被保留。位0是用户可配置的;但是,它也是可以由bq27500/1设置的状态标志。不应修改位0,除非在创建黄金图像文件时,如应用说明中所述,为特定电池类型准备优化的默认闪存常量(SLUA334)。bq27500/1根据需要更新位0。

最后一次运行的平均值

bq27500记录从每个放电循环开始到结束的平均电流。它将上一次放电循环的平均电流存储在该寄存器中。不应修改此寄存器。仅在需要时由bq27500/1更新。

上次运行的平均P

bq27500/1记录每个放电循环开始到结束的平均功率。它将上一次放电循环的平均功率存储在该寄存器中。为了获得正确的平均功率读数,bq27500/1连续乘以瞬时电流乘以电压()得到功率。然后记录这些数据,得出平均功率。不应修改此寄存器。仅在需要时由bq27500/1更新。

三角电压

bq27500/1存储了短负载尖峰和正常负载时的最大电压差(),从而实现了阻抗跟踪™ 该算法可以计算脉冲负载的剩余容量。不建议更改此值。

默认Ra和Ra表

这些表包含编码数据,除默认Ra表外,在设备运行期间自动更新。除了读/写预习包中的值(创建黄金图像文件过程的一部分)外,不应对用户进行任何更改。

使用BAT_GD引脚的电源路径控制

bq27500/1必须与系统设备中的其他电子设备一起工作,如充电器和其他IC和子电路,这些电路可产生可观的功率。将电池插入系统后,必须禁用该电子设备,以便能够读取准确的OCV。OCV用于帮助确定要使用的蓄电池配置文件,因为它是蓄电池阻抗测量的一部分。

当电池插入系统时,阻抗轨迹™ 算法要求蓄电池不充电,任何放电限制在C/20以下。这些条件足以使燃油表获得准确的OCV读数。要禁用这些功能,只需将BAT_GD引脚设为高(浮动输出拉高)。一旦读取了OCV读数,BAT_GD引脚被拉低,从而使蓄电池能够充电和定期放电。如果需要更改默认配置,操作配置[BATG_POL]位可用于设置电池良好信号的极性。

图5-1的流程图详细说明了电池插针在电池插入和拔出以及正常与休眠模式下的功能。

在PFC 1中,当bq27500/1读取到的电池温度超出[充电抑制温度低,充电抑制温度高]所定义的范围时,BAT峎GD引脚也用于禁用电池充电。这个一旦温度下降到范围[充电抑制温度低+温度Hys,充电抑制温度高-温度Hys]范围内,电池线就会返回到低温。

使用BI/TOUT引脚检测电池

在通电或休眠活动期间,或bq27500/1必须确定电池是否已连接的任何其他活动中,燃油表应用电池存在测试。首先,BI/TOUT引脚被置于high-Z状态。当1号-8号电阻处于高位时,牵引电阻保持在高位。当电池插入(或已经插入)系统设备时,BI/TOUT引脚被拉低。此状态由燃油表检测,当燃油表通电时,燃油表每秒轮询此针脚。当bq27500/1读取到接近2.5 V的热敏电阻电压时,假定蓄电池处于断开状态。

温度测量

bq27500/1通过其TS输入测量蓄电池温度,以便向燃油计量算法和仪表的充电器控制部分提供蓄电池温度状态信息。或者,它也可以通过片上温度传感器测量内部温度,但前提是操作配置寄存器的[TEMPS]位被清除。

无论使用哪个传感器进行测量,系统处理器都可以通过调用temperature()函数来请求当前电池温度(具体信息请参见第4.1.1节“标准数据命令”)。

推荐的热敏电阻电路使用外部103AT型热敏电阻。有关将该热敏电阻连接到bq27500/1的附加电路信息,请参见第8节,参考示意图。

超温指示

超温:充电

如果在充电过程中,温度()在OT Chg时间段内达到OT Chg阈值,并且平均电流()>Chg电流阈值,则设置标志()的[OTC]位。

如果OT Chg Time=0,则该功能完全禁用。当温度()下降到OT Chg恢复时,标志()的[OTC]复位。

超温:放电

如果在放电过程中,温度()在OT Dsg时间内达到OT Dsg的阈值,并且平均电流()≤,则设置标志()的[OTD]位。–Dsg电流阈值

如果OT Dsg时间=0,则功能完全禁用。当温度()下降到OT Dsg恢复时,标志()的[OTD]位被重置。

充电和充电终止指示

检测电荷终止

为了正确操作bq27500/1,电池充电电压必须由用户指定。此变量的默认值为充电电压=4200 mV。

bq27500/1在以下情况下检测电荷终止:(1)在连续的2个电流锥形窗口期间,平均电流()小于锥形电流,(2)在同一时间段内,容量的累积变化>0.25 mAh/电流锥形窗口,(3)电压()>充电电压-锥形电压。发生这种情况时,标志()的[CHG]位被清除。另外,如果设置了操作配置的[RMFCC]位,那么RemainingCapacity()将设置为FullChargeCapacity()。

电荷抑制

当PFC=1时,bq27500/1可指示电池温度何时低于或高于预定阈值(分别为充电抑制温度低和充电抑制温度高)。在这个模式下,当电池温度回到范围[充电抑制温度低+温度Hys,充电抑制温度高-温度Hys]时,电池线将变高以指示该状态,然后返回其低状态。

当PFC=0或2时,系统必须查询bq27500/1以确定电池温度。此时,bq27500/1对温度进行采样。当使用电池工作时,这可以节省电池能量,因为在充电模式下避免了周期性的温度更新。

电源模式

bq27500/1有四种电源模式:正常、休眠、休眠和电池插入检查。在正常模式下,bq27500/1完全通电,可以执行任何允许的任务。在休眠模式下,燃油表处于功率降低状态,定期进行测量和计算。在休眠模式下,燃油表处于最低功率状态,但可以通过通信活动或某些I/O活动唤醒。最后,BAT INSERT CHECK模式是加电但低功耗的暂停状态,当没有电池插入系统时,bq27500/1驻留在该状态下。

这些模式之间的关系如图5-2所示。

正常模式

当不处于任何其他电源模式时,燃油表处于正常模式。在此模式下,平均电流(),进行电压()和温度()测量,并更新接口数据集。改变状态的决定也会做出。通过激活不同的电源模式退出此模式。

因为仪表在正常模式下消耗的功率最大,所以阻抗轨迹™ 算法使燃油表保持此模式的时间最短。

睡眠模式

如果该功能已启用(操作配置[睡眠]=1),且平均电流()低于可编程级别的休眠电流,则会自动进入睡眠模式。一旦进入休眠模式,但在进入休眠模式之前,bq27500/1执行ADC自动校准以最小化偏移。

在休眠模式下,bq27500/1定期进行数据测量并更新其数据集。然而,它的大部分时间都是在空闲状态下度过的。

如果任何进入条件被打破,特别是当(1)平均电流()高于休眠电流,或(2)检测到电流超过IWAKE through RSENSE时,bq27500/1退出休眠。

如果在充电器存在的情况下从系统中取出电池(并为仪表供电),则阻抗轨迹™ 不需要更新。因此,燃油表进入检查电池插入情况的状态,并且不会继续执行阻抗跟踪™ 算法。

在休眠模式下,通过将SDA引脚保持在低位,燃油表可暂停多达4毫秒的串行通信。这种延迟是正确处理主机通信所必需的,因为燃油表处理器在休眠模式下通常会暂停。

BAT-INSERT-CHECK模式

此模式是一种暂停的CPU状态,当存在适配器或其他电源为bq27500/1(和系统)供电时发生,但尚未检测到电池。当检测到电池插入时,一系列初始化活动开始,包括:OCV测量、设置电池引脚和选择适当的电池配置文件。

在这种模式下,当bq27500/1停止时,可以处理由系统处理器发出的一些命令。仪表唤醒以处理命令,然后返回到等待电池插入的暂停状态。

休眠模式

当系统设备需要进入低功耗状态,并且需要最小的仪表功耗时,应使用休眠模式。当系统设备设置为自己的休眠、关机或关闭模式时,此模式非常理想。

在燃油表进入休眠模式之前,系统必须设置控制状态寄存器的[休眠]位。仪表等待进入休眠模式,直到它进行了有效的OCV测量,并且平均电池电流的大小已经低于休眠电流。如果电池电压低于休眠电压,并且已经进行了有效的OCV测量,则仪表也可以进入休眠模式。仪表保持休眠模式,直到系统向仪表发出直接I2C命令或发生POR。I2C未定向到仪表的通信不会唤醒仪表。

必须将电池设置为禁用状态(无电池充电/放电)。这可以防止充电器应用程序在读取OCV读数之前无意中给电池充电。进入休眠模式后,系统负责唤醒bq27500/1。唤醒后,仪表可以继续初始化电池信息(OCV、配置文件选择等)

功率控制

复位功能

当bq27500/1检测到软件复位([复位]控制位()启动)时,它确定复位类型并增加相应的计数器。通过使用RESET_DATA子命令发出command Control()函数可以访问此信息。

如图5-3所示,如果检测到部分重置,则生成RAM校验和并与之前存储的校验和进行比较。如果校验和值不匹配,RAM将被重新初始化(完全重置)。每次RAM改变时,存储的校验和都会更新。

唤醒比较器

当bq27500/1处于休眠或休眠模式时,唤醒比较器用于指示单元电流的变化。操作配置使用位[RSNS1–RSNS0]来设置检测电阻器的选择。操作配置还使用[IWAKE]位为给定的检测电阻器选择选择两个可能的电压阈值范围之一。当在充电或放电方向达到阈值时,会产生内部中断。将[RSNS1]和[RSNS0]都设置为0将禁用此功能。

(1)、实际电阻值与感测电阻的设置并不重要,只是计算配置时的实际电压阈值。

闪存更新

只有当电压()≥闪存更新时,才能更新数据闪存。正常电压闪存编程电流会导致LDO压降增加。闪存更新正常电压值的选择应确保bq27500/1 VCC电压在闪存写入操作期间不会低于其最小值2.4 V。

自动校准

bq27500/1提供了一个自动校准功能,可测量SRP和SRN之间的电压偏移误差(随着操作条件的变化)。它从正常感测电阻电压VSR中减去产生的偏移误差,以获得最大的测量精度。

ADC的自动校准从进入休眠模式开始,除非温度()小于等于5°C或温度()大于45°C。

当(1)平均电流()≤100毫安和(2){自上次偏移校准以来的电压变化≥256 mV}或{自上次偏移校准以来的温度变化大于8°C且持续时间≥60 s}时,燃油表也执行单次偏移。

当无法执行这些测量时,在偏移校准期间,容量和电流测量继续以最后测量的速率进行。如果在偏移校准过程中电池电压下降超过32毫伏,则负载电流可能显著增加;因此,偏移校准中止。

应用特定信息

电池配置文件的存储和选择

通用外形方面

当从执行bq27500/01的主机设备上拆下电池组时,燃油表会保留一些蓄电池信息,以防重新插入蓄电池。这样,阻抗轨迹™ 该算法具有恢复电池状态信息的方法,从而保持良好的充电状态(SOC)估计。

有两个默认的电池配置文件可用于存储电池信息。它们用来提供阻抗™ 算法包含两种可能与终端设备一起使用的电池类型的默认信息。这些默认配置文件可用于支持不同化学成分、相同化学成分但不同容量或相同化学成分但不同型号的电池。默认配置文件由终端设备制造商编程。注意,在bq27500的情况下,只能选择一个默认配置文件,并且在终端设备运行期间不能更改此选择。

除了默认配置文件外,bq27500/01还维护两个缩写的配置文件。这些表保存动态电池数据,并跟踪最多两个最近使用的电池的状态。在大多数情况下,bq27500/01可以管理两个可拆卸电池组的信息。

电池组插入后的活动

第一次OCV和阻抗测量

在加电时,电池引脚处于非活动状态,因此主机无法从电池获得电源(这取决于实际实现)。在这种状态下,蓄电池处于开路状态。接下来,bq27500/1通过BAT引脚测量其第一个开路电压(OCV)。根据OCV(SOC)表,找到插入的蓄电池的SOC。然后激活电池引脚,并根据测量的电压和负载电流计算插入电池的阻抗:Z(SOC)=[OCV(SOC)–V]/I。将该阻抗与同一SOC的动态曲线阻抗Packn和默认配置文件Defn(字母n表示0或1)。

特定应用的流量和控制

简单电池(仅bq27500)

bq27500只支持一种类型的电池配置文件。此配置文件存储在Def0和Def1配置文件中。首次插入电池组时,默认配置文件将复制到Packn配置文件中。然后是阻抗轨迹™ 算法开始燃油计量,并在电池使用时定期更新Packn。

当从bq27500中移除现有电池组并插入不同(或相同)电池组时,电池组阻抗在电池检测后立即测量(见第6.1.2.1节,第一个OCV和阻抗测量). bq27500选择最接近测量阻抗的剖面,从Packn剖面开始。也就是说,如果测量的阻抗与Pack0匹配,则使用Pack0配置文件。如果测量的阻抗与Pack1匹配,则使用Pack1配置文件。如果测量到的阻抗与存储在Pack0或Pack1中的阻抗不匹配,则认为电池组是新的(以前使用的电池组都不是)。Def0/Def1配置文件被复制到Pack0或Pack1配置文件中,覆盖使用的最旧Packn配置文件。

带电阻器ID的电池(仅bq27501)

bq27501最多可管理两个电池组的信息。对于连接到燃油表的给定电池组,电池组的标识是通过以下组合确定的:(1)读取电池组ID电阻器;(2)测量当前连接的电池组的阻抗;(3)记住仪表最近使用的电池组特性。

蓄电池组ID电阻器应连接至燃油表的RID引脚。应使用A-Ω或B-Ω电阻值来指示电池类型。如果检测到蓄电池连接,则bq27501测量RID处产生的电压。如果电压为电池组0电压,则将其标识为带有电阻器的电池组,bq27501使用Pack0配置文件。如果测得的电压是电池组1的电压,则将其标识为带有B电阻器的电池组,bq27501使用Pack1配置文件。

每个阈值周围的测量窗口由Pack V%范围指定,它指示每个级别周围的正偏差或负偏差。分别为A和B选择500Ω和8 kΩ的RID值,对应于分别为110 mV和1070 mV的组0电压和组1电压阈值水平。

如果bq27501测量到的电压不是电池组0电压或电池组1电压,则它会将应用程序配置[Unpbat]设置为1,警告主机系统不支持插入的电池。燃油表还将测量到的电压写入该无支撑蓄电池的电池组2电压。主机系统可以使用此信息下载此电池的默认配置文件(如果存在)。主机系统应打开仪表,然后将新电池配置文件下载到旧的Defn配置文件中。最后使用的配置文件由应用程序配置[LU\u PROF]位表示。覆盖旧的默认配置文件允许bq27501保留有关最近使用的电池的信息。下载新的默认配置文件后,bq27501将应用程序配置[EN_SENC]设置为0。

剖面选择

第一次将电池组插入主机时,两个Packn配置文件都为空。如果RID引脚上测得的电压是Pack 0电压,bq27501将Def0配置文件复制到Pack0配置文件中。阻抗轨迹™ 算法然后开始燃油计量,在使用电池时更新Pack0配置文件。类似地,如果RID管脚上测得的电压是Pack 1电压,则它将Def1配置文件复制到Pack1配置文件中,并且是阻抗轨迹™ 算法然后开始燃料计量,在电池使用时更新Pack1配置文件。

假设bq27501已将Def0配置文件复制到Pack0中,对于系统中使用的第一个电池组,如果将电池组替换为具有与第一个电池组相同的电阻ID的第二个电池组,则在电池组检测后测量电池组阻抗,如第6.1.2.1节“第一个OCV和阻抗测量”中所述。将此阻抗与Pack0和Def0剖面进行比较。如果它与Pack0阻抗匹配,则使用Pack0配置文件(这种情况表明最后使用的块是重新插入的)。如果没有,则假定一个新的包,因此bq27501将Def0概要文件复制到空的Pack1概要文件中,Pack1成为活动概要文件。此功能有助于支持具有相同电阻器ID的两个蓄电池的精确燃油计量。此配置文件选择过程背后的逻辑也适用于插入第一个电池组导致bq27501将Def1配置文件复制到Pack1的情况。

如果两个电池配置文件不再为空(表示系统中使用了两个不同的电池组),并且插入了一个电池,则bq27501将选择正确的Packn配置文件来重新写入。这个决定是基于电阻ID,插入电池的阻抗,以及不应覆盖最后使用的电池配置文件这一事实。

通信

I2C接口

27500/1支持标准I2C读取、增量读取、快速读取、单字节写入和增量写入功能。7位设备地址(ADDR)是十六进制地址中最有效的7位,固定为1010101。因此,对于写入或读取,8位设备地址将分别为0xAA或0xAB。

在“快速读取”指针指示的地址返回“数据”。每当bq27500/1或I2C主机确认数据时,地址指针(I2C通信引擎内部的寄存器)将递增。“快速写入”功能与此相同,是将多个字节发送到连续命令位置(例如需要两个字节数据的双字节命令)的一种方便方法

不支持以下命令序列:

尝试写入只读地址(主机发送数据后的NACK):

尝试读取0x6B以上的地址(NACK命令):

如果I2C总线保持在t(总线错误)的低位,I2C发动机将同时释放SDA和SCL。如果bq27500/1保持着缆绳,释放它们将释放主机来驱动缆绳。如果外部条件保持低电压,I2C发动机将进入低功率休眠模式。

参考示意图

示意图


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机与PC机的通讯介绍02