TI流量计获取量产文件问题
HI all,
我司在使用TI流量计时遇见如下问题:
软件:EVSW(0.9.92) 中的bqEASY
硬件:bq27510,EV2400
1 配置参数
配置完参数,需要写到flash,出现如下问题:
这是什么原因造成的?
2 校准
我已在Application Configuraton中配置The charger receives no temperature information from the fuel gauge
在Miscellaneous Information 中选择10m欧姆,Internal Sensor
那还学要在校准环节校准问题吗?
如果校准,如何做?是填写环境温度吗?
3. Chemistry
我司使用的电池未查到,使用Do Chemistry Select Cycling 的步骤可以得到chem id吗?
还是按照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
我初步是按照后一种做的,但是我的电池4.2v只能放到3.017V(电池文档上的截止电压是3.0v),请问2.8v如何来的,我们的正确吗?
另外,我使用贵司提供的mathcad获取chem id可以获取到曲线,但是Best chemistry ID 为空?这个问题,论坛里面多人提及?
不知为什么?
4 循环学习和导出量产文件
F、导入之前备份的DFI或者senc文件,然后再写入修改后的gg文件
G、生成DFI,dffs文件
我们按照这个循环学习,没有F G操作。我们如何使用bqEASY如何做 G操作啊?
希望能尽快得到贵司的答复!
1.试一下在DataFlash里修改这个参数
2.需要进行电流校准,温度校准可选
3.2.8V是个参数数值,放到3.0V也是可以计算出来的,试一下官网的新的MATHCAD工具,最近应该有进行了更新
HI Sheldon,
非常感谢你的回复!
1 官网的新的MATHCAD工具,我们没有找到。请问可以发送给我一份吗?
2 有关量产文件到底用哪个?
根据贵司提供的如下信息:
a 循环学习和导出量产文件,生成DFI,dffs文件
b 系统端电量计可以通过AP编写相关的配置程序下载dffs或者bqfs文件
c .bqfs 和.senc包含了FW和参数,dffs文件只包含参数
我通过软件得到了
我发现了几个文件大小不一,特别是bqfs和dffs有些差异。
那我获取到的5种文件,我量产时,到底必须烧那一种或几种?FW固件参数,厂商会提前烧录吗?还是需要我们烧录?
谢谢你的关注,期待你的答复!
1.http://www.ti.com/lit/zip/sluc138
2.出厂时是会包含firmware和默认的参数,但是同样的芯片可能客户购买的芯片firmware版本后来TI进行了升级,比如bq27510最新的firmware版本是G3版本,但客户可能库存的芯片是G2版本,这是如果量产文件时G3版本,那么久必须使用包含firmware的文件如bqfs。(如果不含firmware的文件下载到不同firmware版本的芯片,可能导致芯片不能正常工作)。如果firmware相同使用以上几种文件更新都可以,但为了节约时间一般使用只包含参数的文件进行更新如dfi和dffs。
在调试开发过程中用EV2300下载的文件通常会选择senc文件,如果是放在主板上通常是用AP解析bqfs或者dffs文件来进行配置。
HI Sheldon,
非常感谢你的答复!
在TI的文档中,有管dffs中的语法有如下的描述:
An example of this command is as follows: C: AA 55 AB CD EF 00
This example expects the master to read back 4 bytes from the register address 0x55 of the device addressed at 0xAA and then compare the data to the values given on the line command in this same order as 0xAB, 0xCD, 0xEF, and 0x00.c
那意思是不是说我读取55寄存器上的4个字节的数据之后,然后依次和AB CD EF 00比较。
strcmp比较函数,每次比较之后都有个返回值。这个需要关注吗?
还是直接strcmp(data1,"AB");(data1为读取的第一个字节),不需要返回值?
那这个比较有何作用那?
期待你的关注和答复!
谢谢!
HI Sheldon,
非常感谢你的答复!在你和代理商的协助下,还有如下的问题有疑问。
1 dffs中的C格式,比较之后有返回值与否?有何作用?具体见上个问题。
2 循环学习和导出量产文件的问题
F、导入之前备份的DFI或者senc文件,然后再写入修改后的gg文件
G、生成DFI,dffs文件
按照这个循环学习,没有F G操作。
另外贵司的文档bqEASY Process Flowchart中有提及
里面有5C的操作对应F,G。
是EVSW软件(版本0.9.92)不是最新的吗?那我们使用bqEASY如何做 G操作啊?
期待你的答复!
1.返回比较可以防止没有正确写入信息,如果比对错误就需要重新写入
2.FC这2步主要是针对电池端电量计如bq27541-v200,这个的目的主要是让电量计记录电池的循环次数计数器清0,并在完成电池包制作后才使能IT算法。
对于bq27510,如果不用到循环参数cycle count的话,而已可以考虑不用修改
HI Sheldon,
感谢你的答复!
1 你说的FC是5C吧?那根据贵司提供的流程:
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
综合你们提供的文档,我们的bq27510只要做A,B,C,D,G步骤了吗?或者有个比较好的步骤?
2 软件上好像只能导出dfi文件,
那如何导出dffs文件那?如何按照G的操作导出?我们希望解析类似dffs,bqfs的文件,然后通过AP里运行程序。
期待你的答复!
导出dffs文件请试一下Gaugestudio这个软件。http://www.ti.com/lit/zip/sluc424
HI Sheldon,
Gaugestudio好像不能导出dffs,只是导出senc文件。我
在贵司文档Updating the bq275xx Firmware at Production中发现如下描述:
4 Creating a bqfs and dffs Containing User-Specific DFI
A senc file is a file that actually is used to reprogram the firmware of a bq275xx device by using the evaluation software. These files are input to the bqfs Update Tool and after executing creates a bqfs and dffs file that contains the desired firmware with the data flash configuration specific to a user's application (Figure 5). The user has the option to create a bqfs and dffs based on I2C (default) or HDQ. The Update Tool is called from a command screen (DOS) by running the FlashStream.exe file. The command structured for the tool is displayed when calling the FlashStream.exe. The associated files used with the Update Tool must be within the same directory as the tool.
FlashStream.exe这个软件好像可以把得到的dfi转换成dffs/bqfs。
具体详情,是这样的吗?你们可以提供给我们这款软件吗?
期待你的关注和答复!
HI Sheldon,
感谢你的关注和回复!
1 上个帖子中的问题有关于FlashStream.exe软件。
2 我进入ROM模式,在使用一个dffs命令:
W: 16 00 03 00 00
W: 16 64 03 00
前一个命令写入正常,但是写入后一个的时候,出现错误信息:s3c-i2c s3c2440-i2c.1: cannot get bus (error -110)
重启我的设备,写入Command 0x00 and Data 0x0F , Command 0x64 and Data 0x0F,Write Command 0x65 and Data 0x00未能退出ROM模式,依旧出现上述错误。
请问,贵司遇到过类似问题吗?如何解决,退出ROM模式?是命令导致的吗?
期待你的答复!
dffs文件默认设置应该已经包含了退出ROM模式的命令,注意在写入信息时如果发生错误需要马上重写。请更换一个好的芯片重新试下。
HI ,
1 那我这个芯片还有的挽救吗?写坏了?不至于吧?
我只是写到了W: 16 00 03 00 00
下面一条就写不进去了。
2 在论坛中有软件将senc转换为dffs/bqfs,那可以将dfi转换为dffs/bqfs吗?我用bqEASY只能获取到DFI。
期待你的答复!
HI ,
1 关于上一帖子中的第一个问题补充如下:
根据Going to Production with the bq275xx中的
发现和我写的命令一样,W: 16 00 03 00 00
W: 16 64 03 00
这个命令应该是擦除操作,。然后64 65 好像和Checksum有关,我手动再次写W: 16 00 03 00 00 正常,写64值为03也可以,写65为00就被拒绝写入了。
我是不是把ROM都给擦掉了,这三个命令的具体作用是什么?也不能使用三个寄存器(00=0f,64=0f,65=0)退出ROM模式了?
请问,有关ROM寄存器,贵司可提供一些参考说明文档吗?
2 在论坛中有软件将senc转换为dffs/bqfs,那可以将dfi转换为dffs/bqfs吗?我用bqEASY只能获取到DFI。
期待你的答复!
HI ,
1 关于上一帖子第一个问题的补充如下:
出现问题之后,i2c clk 管脚测量一直被拉成低电平。
示波器测量最后时钟信号也是被拉低,如下图的蓝色波形。
2 第二个问题依旧!
期待你的关注和答复!
HI Sheldon ,
1 问题已经得到解决。
W: 16 00 03 00 00
W: 16 64 03 00
X: 20
C: 16 66 00
红色部分延时,加长即可。如果是20ms会多次出现cannot get bus 。
具体原因是擦除需要一个时间吗,这20ms做什么用的,请帮忙解释一下?
2 我发现DFI烧录文档中有
The last step of the bq27500 configuration at production is to give the RESET (0x0041), IT ENABLE (0x0021), and SEALED (0x0020) commands. These commands are given by writing the corresponding two-byte data value into the CONTROL register (command 0x00/0x01) using I 2 C.
而我发现dffs或bqfs文档都是C: 16 04 E8 81 62 D3
W: 16 00 0F
W: 16 64 0F 00
X: 4000
是不是也要喝DFI一样在,AP读写i2c寄存器时最后再添加RESET 和IT使能等操作。
期待你的回复和关注!
HI Sheldon ,
1 不做什么任何改动的操作,只是连接EV2400,分别打开bqCONFIG软件和Gauge studio软件,前者导出dffs/bqfs/senc/dfi等文件。
后者导出senc文件。比较两种senc文件有差异?这是为什么?6114.bqconfig.rar和2604.Gauge studio.rar。
另外使用FlashStream.exe将bqCONFIG导出的senc转换为dffs和bqfs,结果2个文件和bqCONFIG软件自行导出的dffs和bqfs文件,分别相比,差别都很大!更不要说和Gauge studio软件导出的senc转换之后的dffs和bqfs了。
晕了,到底哪个dffs可以使用?为什么会有差异那?
2 是不是也要喝DFI一样在,AP读写i2c寄存器时最后再添加RESET 和IT使能等操作那?
期待你的关注和答复!
1.只要是senc文件应该没有差别吗。dffs文件和bqfs文件建议优先使用bqCONFIG导出的文件,Flashstream生成的话需要手动去输入检测版本号等信息。2个bqfs dffs文件区别很大可能是有一个包含了注释信息,以及检测芯片版本等的区别
2.在电量计工作时需要确保Dataflash里的IT Enable=1。
HI Sheldon,
在4.循环学习和导出量产文件中。
D、按照正常充电过程将电池充饱,然后静置2小时,再按照0.2C电流进行放电到截止电压,再静置5小时,确保update status的数值为0x06
E、导出DataFlash的gg文件,用记事本打开修改Update Status为0x02,Cycle Count为0
在D步骤时,放电到截止电压了,EV2400就不能和PC软件Gauge studio等通信了,因为此时电池进入过放保护,bq27510停止工作了。确保update status的数值为0x06以及后一步骤导出文件,都无法实施啊?
请协助解决!
谢谢!
HI Sheldon,
我们烧录量产文件后,测试电池soc,但是如何验证这个soc的准确性和精确性?贵司有方法验证吗?
请协助解决!
谢谢!
因为电量计与实际使用环境关系非常大,所有电量计都有一个局限性,即电量计无法获知客户将来的放电功率和使用温度,只能根据已有的放电数据合理推测将来的放电情形(这也就是为什么TI电量计有load select load mode这么多个模式)。由于有这个不可预测的因素存在,所以电量计的精度测量是很难有一个非常标准的评价测试方法。
下列是一种常见的验证方式:
1.将电池充满电,然后以1秒的间隔记录电压 电流 时间 和百分比电量
2.将电池从满电放电到截止电压
3.将这个放电过程中的电流对时间进行积分就可以获得实际的容量FCC_true,放电到任意时刻的积分容量为Qpass,那么对应的真实容量为SOC_True=(FCC_true-Qpass)/FCC_true,然后比较SOC_true与电量计汇报的SOC数值。
另外,建议是多做几台样机,实际运用中看是否有觉得电量计异常现象,电量计的一个最主要的目的是提高用户体验,让用户察觉不到电量显示异常。