主要开发思路:AFE主要是采集、保护功能、均衡,所以要逐一去配置芯片的寄存器
采集、均衡功能主要是配置引脚
保护功能主要是参数寄存器配置,至于如何使用命令修改寄存器参数该系列芯片提供了子命令和直接命令两种方式
BQ76905的管脚配置
I、参数配置
一、电压采集串数配置
BQ76952电压采集串数配置
二、进入/退出 配置模式
三、配置AFE功能引脚
根据硬件原理图的AFE引脚使用情况
使用SRN、SRP 、TS/WAKE 、 DSG 、CHG、REGOUT几个管脚,明确每个引脚的具体作用
明确引脚功能:SRN、SRP--【电流采集】 TS/WAKE-【唤醒信号】 DSG-【控制放电MOS】 CHG-【控制充电MOS】 REGOUT-【输出3.3V】
下面查看芯片手册
1.配置REGPUT引脚
2.配置WAKE引脚
正常工作状态未使用,在进入ShutDown模式的时候会成为唤醒脚
该引脚无需配置
3.配置DCHG\DDGS管脚
BQ76905同时支持系列和并行FET配置。当CHG和DSG FET串联时,当另一个FET被启用时,电流可以流过一个被禁用的FET的主体二极管。在此配置中,当检测到超过阈值的电流流过该FET时,本体二极管保护被用来打开被禁用的FET。当系统有单独的DSG和CHG路径以及并行FET时,不需要主体二极管保护,可以通过清除设置:配置: FET选项[SFET]配置位来禁用。
根据芯片手册判断这两个管脚功能是固定的,不需要特殊配置寄存器
四、配置AFE的采集寄存器
采集分为电压和电流采集,对于采集到的数据:1.是否需要倍率 2.采集多少次 3.采集计算频率 4.是否有偏移
1.涉及的寄存器如下:
BQ76905电压、电流计算公式
这里我查看芯片手册发现,以下寄存器默认值均为0,对比上面的计算公式以及BQ76952芯片手册判断
默认0使用的时出厂校准值,而非真正的0值
2.采集倍率参数配置
BQ76905的芯片手册未找到该参数
3.配置CC1_GAIN
BQ76905的芯片手册未找到该参数的特殊设置
4.配置CC3采集次数
BQ76905的芯片手册未找到相似参数的特殊设
五、配置过压相关参数
1.配置过压保护阈值
2.配置过压保护触发延时
这里的单位需要查看ADC配置的扫描周期
3.配置过压保护恢复值
这里考虑电压回差太小,暂时设置为AFE级别的过压不自动恢复
六、配置欠压相关参数
1.配置欠压保护阈值
2.配置欠压保护触发延时
3.配置欠压保护恢复值
这里考虑电压回差太小,暂时设置为AFE级别的欠压不自动恢复
七、配置充电过流相关参数
暂不配置
原因如下:充电过流可控
1.配置充电过流保护值OCC
2.配置充电过流保护延时
3.配置充电过流保护恢复值
八、配置放电过流相关参数
1.配置放电过流一级/二级保护值
2.配置放电过流一级/二级保护延时
九、配置过流故障恢复时间
这里BQ76905是统一一个基于时间的恢复机制;而BQ76952是有恢复时间和阈值的判断
十、配置过流锁死次数
十一、配置电压采集位
十二、配置SCD相关参数
1.配置SCD触发阈值
此处短路保护阈值根据分流器阻值计算:欧姆定律
2.配置SCD触发延时
短路参数一般配置最短,快速保护
十三、配置FET相关参数
1.配置FET Options寄存器
在sleep模式CHG管脚默认断开 可通过命令控制FET引脚
2.配置Body Diode Threshold体二极管参数阀值
3.配置Enabled Protections A 参数
4.配置Enabled Protections B 参数
5.配置 CHG FET Protections A
6.配置 DGS FET Protections A
十四、配置均衡相关参数
查看芯片手册关于Balance的相关说明
1.均衡和电压测量是通过配置间隔进行的,具体占比按照CB_LOOP_SLOW设置而定
2.发送均衡命令时芯片也会完成当前的ADSCAN再进行均衡
3.CUV或COV警报,则设备将立即禁用平衡
4.当发送0x0083 CB_ACTIVE_CELLS()子命令时,可以读回预期要平衡的单元格,即使平衡尚未开始(它从正在进行的ADSCAN的结尾开始)。这允许主机确认所发送的命令已被设备接受
5.为保证电压测量准确性,电压测量和均衡开启使用了可设置延时的方式Settings:Cell Balancing:Balancing Configuration[CBDLY2:0] from zero to 64 ms
芯片手册说明---在控制均衡保护电压,均衡路数,以及均衡开启压差需要MCU来控制,AFE不具备这方面的功能
BQ76952和BQ76905对比
1.配置Balancing Configuration
配置是否可以命令开启均衡以及均衡时间
2.配置Min Temp Threshold
看项目需求是否要开启
3.配置Max Temp Threshold
看项目需求是否要开启
4.配置Max Internal Temp
看项目需求是否要开启
相邻的和非相邻的电芯都可以被平衡。使用主机发送的0x0083 CB_ACTIVE_CELLS()子命令来控制平衡。当使用此子命令启动平衡时,设备将启动一个计时器,并开始平衡指定的单元格长达20秒。如果发出了新的平衡子命令,定时器将被重置。这是一种预防措施,如果主机处理器启动了平衡,但随后停止了与BQ76905的通信,因此平衡不会无限期地继续。主机可以将0x00写入子命令,以禁用平衡。当读取此子命令时,它将报告正在主动平衡的单元格的位掩码
十五、采集断线检测配置
1.配置正常模式中的断线检测
ADSCAN回路的时间,范围从大约5.5 ms到大约88 ms page20
这里默认配置为最大值,约为1.4S
2.配置休眠时的断线检测
看项目需求是否要开启
十六、看门狗复位时间设置
备注:开门狗使能已经在Protect B功能中开启
十八、失能SLEEP功能
这里是防止AFE芯片在正常运行的时候进入到SLEEP模式
不退出sleep模式,DCHG会被断开,也可能在操作AFE时进入休眠,AFE的数据上报就会更新缓慢
十九、重新RESET芯片
先要wake再RESET
二十、配置芯片温度保护参数
二十三、疑问解答:
1.ADSCAN intervals单位解释
2.userA单位解释
我的理解
1.Current:Curr Gain寄存器默认是0,无电流增益,在 -32768 mA and +32767 mA.
2.Current:Curr Gain这个寄存器我写10,电流范围扩大, 在-327.68 A and +327.67 A
3.Current:Curr Gain这个寄存器我写100,电流范围扩大, 在-3276.8 A and +3276.7 A
如果是,假如我需要的电流范围是-327.68 A and +327.67 A,那么我是不是需要将所有的电流增益寄存器写10【此处待验证】