AFE系列文章
德州仪器TI作为AFE龙头老大,具有多款功能强大的AFE,国产AFE的设计基本也是对标TI。本系列文章旨在对TI的一款AFE BQ76942容易踩坑的地方进行总结,希望对使用这款AFE的工程师们有所帮助。
第一章 BQ76942配置:使用AFE FET寄存器来控MOS
第二章 BQ76942配置:与MCU通信——软件I2C or 硬件I2C?
第三章 BQ76942配置:电流采样配置
第四章 BQ76942配置:过压保护(SOV)配置
第五章 BQ76942配置:采样断线对MOS的影响
第六章 BQ76942配置:充电时AFE自行休眠现象
前言
BQ76942提供了多个数字化电流值, 包括两个使用单独的硬件数字滤波器 CC1 和 CC2, 以
及一个固件滤波器 CC3。下面将介绍如何查询AFE采集的电流,以及相应的配置。
一、如何采集电流
CC1 滤波器生成一个 16 位的电流测量值, 用于电荷积分和其他决策目的, 当该器件在 NORMAL 模式下运行时每250ms 生成一个输出。可以从
0x0075 DAStatus5()
子命令获取 CC1 数据。CC2 滤波器生成 24 位电流测量值, 用于电流报告,使用
0x3A CC2 Current()
命令以 16 位格式报告该值。CC3 滤波器输出是 CC2 电流样本可编程数量的平均值( 高达 255 个), 这些样本数是使用 Settings:Configuration:CC3 Samples 配置设置来设置的。使用
0x0075 DASTATUS5()
子命令以 16 位格式报告 CC3 输出。
一般使用CC2查询电流,根据自己的需求进行选择,CC3是多个CC2采样值的平均值,当然也可以自己获取一定数量的CC2后再自行滤波。
采样值是分为正负电流,根据自己的项目选择正负电流哪个为充电哪个为放电。
值得注意的一点,在使用CC2进行采样过程中,我发现每采样一定时间(10到15分钟 不等),CC2的采样原始值会得到一个比真实值高1.2A的错误值。目前只发现在正电流采样中,负电流采样没发现这种现象。所以,对电流精度要求比较高的场景,建议对原始采样值进行滤波处理。
二、寄存器配置
1.电流单位配置
电流报告的单位为 userA, 可以使用 Settings:Configuration:DA Configuration:[USER_AMPS_1:0]
配置设置将其编程为 0.1mA、 1mA、 10mA 或 100mA。鉴于 16 位值的范围为 – 32768 至 +32767, 这允许表示范围为 –3276A 至 +3276A 的电流。
默认单位是0.1mA。
2.电流增益参数配置
BQ76952 器件库仑计数器 ADC 测量 SRP 和 SRN 引脚之间的差分电压, 以计算系统电流。该器件包含供客户在生产线上校准库仑计数器偏移和电流增益的可选功能。
每个项目SRN和SRP之间采用的电阻阻值不一样,需要将该电阻值写入寄存器进行配置,才能得到正确的电流采样值。
电流增益参数配置的寄存器有以下两个:
电流增益参数计算结果是浮点数,配置时需转换成十六进制写入寄存器。参考以下链接进行转换:https://www.h-schmidt.net/FloatConverter/IEEE754.html
总结
以上便是电流采样的主要配置,主要就是配置好单位,两个增益寄存器,就可以使用直接命令进行进行电流采样了。