TI中文支持网
TI专业的中文技术问题搜集分享网站

bq34110读寄存器值问题

Other Parts Discussed in Thread:BQ34110, BQSTUDIO, EV2400, GPCCEDV

 

硬件平台:海思3559av100

原理图见附件

电池电压为6.97V

在控制台通过命令读电压。i2c_read 0xb 0xaa 0x8 0x8 0x2 0x2,读0x8寄存器结果为0xff.

说明:0xb为i2c num,目前是挂在I2c 11上,0xaa为电量计i2c地址,第一个0x8为要读的寄存器起始地址,第二个0x8为结束地址。第一个0x2为寄存器位宽,第二个0x2   为数据位宽

i2c_read 0xb 0xaa 0x8 0x8 0x2 0x1结果为0x00

i2c_read 0xb 0xaa 0x8 0x8 0x1 0x1 读出来是0xab

文档上说0x8寄存器为2位的位宽,数据也是2位的。

疑问 :1 目前没有对bq34110做任何初始化,我只需要电池剩余电量跟当前电压值,我是通过i2c直接读寄存器方式把值读出来的,这种方式正确吗

2 我看评估板的文档上工具可以直接读写寄存器的,是不是通过i2c方式

Star Xu:

1,您可以参考下面的文档
www.ti.com.cn/…/slua790.pdf
2,评估板的用户手册上是用EV2300/EV2400的I2C接口连接BQSTUDIO

,

user6377342:

你好
现在i2c_read 0xb 0xaa 0x8 0x8 0x1 0x2 读出来是0x7005,高低位调换是0x570,换成十进制是1392mv,13.9V。我电池充满电压是8.4v,这读出来的电压值不对,是不是先要把电池相关信息写入到电量计的寄存器里,告诉电量计,现在电量计应该都是跑的默认的值

,

user6377342:

你好,有参考的驱动代码吗

,

Star Xu:

抱歉,没有代码,只有上面提供的文档。
满充8.4V应该是两串电池,您参考TRM2.3VoltageMeasurementand Calibration 确认电阻电路

,

user6377342:

好 谢谢

,

user6377342:

你好
要写入 电池串数,design capacity, 电池的过充过放的保护,电池的充饱放空的参数,就是一些电池的基本保护信息,参考TRM设置相关参数.
www.ti.com.cn/…/sluubf7a.pdf
BQ34110是CEDV算法的,需要设置CEDV的相关参数,需要将log数据上串到GPCCEDV计算CEDV的相关参数.
www.ti.com.cn/…/GPCCEDV
这里面提到的log数据是怎么得到的,如果获取log呢

,

Star Xu:

图片右上角中的start log 就可以log数据了

,

user6377342:

好谢谢,我再请教下,之前提到的要写入电池相关保护信息,规格书上没有说具体写到哪个寄存器,比如电池是3500mah,3500这个值是写到芯片的哪个寄存器里,怎么写呢

,

user6377342:

bqstudio工具需要跟调试器以及调试板一起搭配用对吗

,

Star Xu:

3500填写到design capacity, 参数设置您可以参考TRM.

,

user6377342:

你好,用bq studio获取到的log数据,再上传到gpcced计算参数,gpccedv工具在哪里下载呢,只找到bq studio工具

,

user6377342:

知道了,是我要在官网上提交log,然后你们返回数据给我。

,

user6377342:

log数据是跑一个周期的充电跟放电就可以吗,还是需要跑几次充满再放空呢

,

Star Xu:

请参考下面资料2.2DataLog Files(6 ea)
www.ti.com/…/sluub45b.pdf

,

user6377342:

好的谢谢

,

user6377342:

执行read all 操作读取所有的参数后,表格显示那是参数就是刚刚读出来的吗

,

user6377342:

在data memory里,gas gauging配置项里,我修改design capacity mah这项后,再执行write_all ,提示no parameter matched address,我再执行read all操作,值没写进去,还是默认值

,

user6377342:

你好,现在无法正常写入配置参数,读是正常的,写会报错,提示no parameter matched address,是不是因为带负载导致不能写的。bq34110支持UNseal吗,发送unseal命令,返回是N/A是不是有问题?

,

Star Xu:

修改参数建议在unseal 模式,并且不要进行充放电。

,

user6377342:

好的,谢谢,发送unseal与unseal_full_access命令,返回是N/A这是正常吗

,

Star Xu:

正常的, 您也可以在control直接下解码密码,看一下是否解码

,

user6377342:

control直接下解码密码,看一下是否解码,这个怎么操作

,

Star Xu:

Whenwritingthe codestoControl()orManufacturerAccessControl(), they mustbe sent in little endianorder;therefore,if 0x1234and 0x5678are writtenas the unsealcodestoSECURITY_KEYS(), thentounsealrequireswriting0x340x12followedby writing0x780x56.The two codesmustbe writtenwithin4 sof eachotherto succeed.

,

user6377342:

你好,现在有个问题就是无法把参数写入到电量计,通过bqstudio写提示no parameter matched ,通过驱动代码写入,也无法写入进去。不知道什么原因导致无法写入

,

user6377342:

现在bqstudio无法写任何参数到电量计里,是不是电量计处于什么状态了,怎么排查呢

,

user6377342:

在写寄存器操作中,提示a read of data written failed comparison,是不是需要更新固件

,

Star Xu:

是不是锁码状态,看一下register SEC1,SEC0
SEC1,SEC0(Bits9–8):SECURITY mode
0, 0 =Reserved
0, 1 =Full Access
1, 0 =Unsealed
1, 1 =Sealed

,

user4745244:

TRM是啥

赞(0)
未经允许不得转载:TI中文支持网 » bq34110读寄存器值问题
分享到: 更多 (0)