目前我们有一个案子使用了系统端单芯理电池电量计BQ27520, 也从官网上下载了bq Evaluation Software来BQeasy来一步一步的配置了电量计。
但是这个只是对于单个电量计芯片的配置。量产需要导出一个什么文件呢?以至于烧写到新的主板上面,并不需要一个cycle就可以比较准确地读取电量信息!
zhaohui Feng:
以前开发锂电池监控系统样机,采用过TI的电量计芯片,具体型号忘了,现在通过你的问题,学习了下相关资料,将相关的问题答案摘录如下。
Q:如何完成开发过程并得到量产文件?
开发步骤主要包括:1.配置参数 2.校准 3.电芯曲线CHEM-ID选择4.循环学习golden learning 5.导出量产文件
1.配置参数,可以通过bqCONFIG或者EVSW里的bqEASY进行配置,最通用的方式是通过EVSW或者Gauge studio对dataMemory里的参数进行修改。主要参数(部分电量计可能没有显示全部参数,可以不填写)有
判断满充条件参数
->Charge Voltage 满充充电电压,charger恒压充电时电压
->Taper Current 满充时电流,一般设置比charger停止充电时电流略大25mA左右(注意BQ27425,BQ27421/441填写方式略有不同,换算数值为Taper current(数值)=Design Capacity*10/Taper current(mA))
->Taper Voltage 用于判断电池符合满充的条件,一般设置为100或者150mV,即比充电电压小100-150mV
电池容量信息
->Design Capacity按电芯标称容量填写
->Design Energy 按电芯标陈能量填写(4.2V钴锂为标称容量*3.7,4.35V满充电压的电池为标称容量*3.8)
系统信息(注意BQ27425,BQ27421/441填写方式略有不同,换算数值为Threshold(数值)=Design Capacity*10/Threshold(mA))
->Terminate Voltage系统正常运行最低工作电压
->Dsg Current Threshold放电阈值
->Chg Current Threshold充电阈值
->Quit Current
其他的信息,包括中断管脚功能,温度传感器选择等,根据需要填写
2.校准
先确保无负载和充电电流情况下校准CC offset 然后校准 board offset,然后加上1A放电电流通过万用表填写实际电流数值校准Pack current
电压和温度校准无先后顺序,需要确保电池或电源电压数值稳定时通过万用表读取实际数值进行校准
对于集成采样电阻的电量计无需要对pack current进行校准。
3.CHEM-ID选择
A电池先采用0.5C恒流,恒压taper电流小于0.01C充饱
B静置2小时
C连接EVM板,自动log DataRAM数据,间隔为4s一次
D开始用0.1C电流放电,一直放到2.8V
E静置5小时
F将以上的log的数据保存下来用MATHCAD程序计算CHEM_ID,软件链接http://www.ti.com/litv/zip/sluc138bh
G 通过bqCONFIG/EVSW/Gauge studio相应界面下载CHEM_ID
注意板在做CHEM_ID前要先校准好,放电过程要连续,记录的数据包含放电完之后静置的那5小时,BQ27425/BA27421/441无需要这个步骤,只需要选择相应型号
4.循环学习和导出量产文件
A、确认已经设置好相关的参数以及进行校准和CHEM_ID选择才可以进行此步骤,发送命令0x41复位,导出DFI文件或者SENC文件备用
B、准备好一个放空的电芯(电压在3.0V-3.3V),静置5小时
C、连接板,发送0x0021命令使能IT算法,建议自动记录Data RAM数据(4s间隔)Data FLash数据(10分钟间隔)
D、按照正常充电过程将电池充饱,然后静置2小时,再按照0.2C电流进行放电到截止电压,再静置5小时,确保update status的数值为0x06
E、导出DataFlash的gg文件,用记事本打开修改Update Status为0x02,Cycle Count为0
F、导入之前备份的DFI或者senc文件,然后再写入修改后的gg文件
G、生成DFI,dffs文件
注意:测试过程在常温进行,铁锂电池需要更长的静置时间,A,E,F仅针对pack side电量计BQ27541和BQ27741,对于bq27421/441不需要步骤G,只需要得到gg文件即可。BQ27425对应DFI文件叫做DMI文件。BQ27421/441和BQ27425无需要发送0x0021命令。对于BQ275XX和BQ27741实际量产时最后需要确认发送使能(0x0021)和seal命令(0x0020),BQ27421/441BQ27425需要发送seal命令(0x0020)
ruofei yang:
回复 zhaohui Feng:
bq Evaluation Software这类软件可以导出来很多的文件,我都搞混了,只知道SENC是包含固件和DATA FLASH,以及参数的比较完整的文件。
但是如GG,DFI,SENC,DFFS文件,我就不知道是什么内容了。还望解答。最适合作为量产文件的是哪类文件!
Sheldon Cai:
回复 ruofei yang:
GG文件只包含公开的参数,一般只是作为调试时查看
DFI包含了所有参数,一般是电池厂家量产烧录时使用
SENC包含完整的firmware和参数,一般是调试时或者做样时使用
DFFS文件一般是系统端电量计AP/MCU通过I2C对电量计参数进行配置,只包含参数,如果所购买芯片Firmware型号与生成DFFS文件的型号一致,建议用DFFS文件,否则用包含Firmware的BQFS文件,格式解析参考SLUA541A Updating the bq275xx Firmware at Production这个文档
Sheldon Cai:
如果购买的是BQ27520-G4芯片,生成配置文件也是BQ27520-G4,那么最适合的是dffs文件
user3917511:
GG文件只包含公开的参数,一般只是作为调试时查看
DFI包含了所有参数,一般是电池厂家量产烧录时使用
SENC包含完整的firmware和参数,一般是调试时或者做样时使用
DFFS文件一般是系统端电量计AP/MCU通过I2C对电量计参数进行配置,只包含参数,如果所购买芯片Firmware型号与生成DFFS文件的型号一致,建议用DFFS文件,否则用包含Firmware的BQFS文件,格式解析参考SLUA541A Updating the bq275xx Firmware at Production这个文档
JiaChuang Chen:
需要把你要烧录进去的文件准备好,主要包括GG文件、DFI文件、SENC文件还有DFFS文件等。
GG文件量产时候可以不需要。
ruofei yang:
回复 user3917511:
那DFFS和DQFS是用AP/MCU来编程的文件,那请问这个文件是怎么生成的,用没有工具来生成这类文件呢!
而在操作系统里面要如何把这类文件编程到电量计芯片上面, 需要软件驱动吗?
那这样还比直接烧写SENC或DFI复杂多了?
Luke Deng:
回复 ruofei yang:
1。下载GaugeStudio软件,激活Golden Image插件,可以导出bqfs和dffs文件,http://www.ti.com/lit/zip/sluc424
2。可以把bqfs和dffs拷贝到系统内存中,需要在底层驱动里编写加载代码,把bqfs和dffs逐行写入bq27520即可,建议直接写入bqfs,bqfs是包含指令和数据的完整固件,不存在加载数据和固件版本不兼容的问题
3。bqfs加载流程简单说就是先将bq27520从normal模式【设备地址0x55】切换到ROM模式【设备地址0x0b】,然后执行bqfs内容,最后退出ROM模式,发送复位命令0x41,加锁命令0x20,详细说明参考附件资料
Kuge Luo:
回复 Sheldon Cai:
Manufacturer Info A/B数据丢失
http://www.deyisupport.com/question_answer/analog/battery_management/f/35/t/66951.aspx
BQ27545发送IT ENABLE(0x0021)后,QEN位未置位
http://www.deyisupport.com/question_answer/analog/battery_management/f/35/t/66949.aspx
麻烦大神解答一下这两个问题,谢谢
ruofei yang:
回复 Luke Deng:
请问有没有现成了加载代码呢?LINUX下面,或者是C语言的。我们方便参考。
TI中文支持网



