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

BQ40Z50电压读取问题

Hi

我使用自己的IIC与BQ40Z50通信,先写入0x16(地址),0x00(Command),0x21,0x00(data),然后读取电池包电压值,写入地址0x09,读出的是0x01D4,此时电池包电压在11.7V,是我有落下什么操作吗?

Star Xu:

The bq40z50 uses SMbus protocol. More information on this can be found at www.ti.com/…/slua475.pdfThe 8-bit address is 0x16/0x17, where the lowest bit indicates if it is a read ( bit is 1) or a write(bit is 0).You should be able to send a read word command of 0x09 with return length of 2-bytes to get the Voltage.

You can also try this in the "Advanced Comm SMB" tab of bqStudio while monitoring it with a bus sniffer, and duplicate the sequence in your code:

user4651700:

回复 Star Xu:

是的,我按照您所描述的进行操作,但是所读取的数值0X01D0明显不正确,是否有可能存在IC损坏?或者是否有需要对BQ40Z50的初始化操作?或者是需要硬件上的唤醒?

Star Xu:

回复 user4651700:

您用BQSTUDIO连接正常吗?

user4651700:

回复 Star Xu:

通信板太贵了,学生党承受不起,我现在使用的是430MCU与BQ40Z50通信,按照你们的SMBus协议自己编写模拟SMBus通信协议,能够正常写入通信,板子是闲鱼的二手货,买来验证数据。之前的LED显示是只有一颗灯在闪烁,但是Bat电压并不是很低,现在我重新购买更换了新的BQ40Z50-R1(卖家的IC我不是很清楚是哪个版本),现在LED的电量显示与设想中的一致,但是现在通信读取上有问题,现在我读了很多的可读的寄存器,读出的数据都是0x0000。问题并没有得到解决。

Star Xu:

回复 user4651700:

您的采样频率是多少,您用100khz试试
您的板子是二手的,不确定是不是锁码吗?锁码以后有的参数是读不到的,要先解码才能读

user4651700:

回复 Star Xu:

你好!再次麻烦您,有些问题需要请教,我现在的通信频率在50KHz,能够读出一些数据
现在我的操作是:ManufacturerAccess(0x41); 复位设备ManufacturerAccess(0x1E);ManufacturerAccess(0x1F);ManufacturerAccess(0x20);在接入电源的情况下打开MOS,唤醒BQ40Z50
ManufacturerAccess(0x27);使能LED功能ManufacturerAccess(0x2B);LED全亮ManufacturerAccess(0x2C);按键亮LED,操作的结果是成功的
ManufacturerAccess(0x21);使能测量,请问这是打开ADC检测吗?其中的Command是0x00.

最后是根据SMBus的50KHz的通信速率读取0x09寄存器,读出来0x09的寄存器的数据不是很正常,使用的是3节电池电压,电池电压在11.74V,每个300ms读取一次数据,读出的数据(MSB,LSB)有(0X7F,0XE7),(0XBF,0XE4),(0XBF,0XE4),(0X7F,0XF0),(0XFF,0XF3),(0XBF,0XED),这些是其中一部分。
请问我上述的操作是否可以能够正常读出电池包的电压?读取的数据是否需要通过公式转换?
谢谢支持!

fei zhang1:

回复 user4651700:

您好,最近我也再调这个芯片,有些问题想请教您下。

fei zhang1:

回复 fei zhang1:

18042674265,您方便的话加一下wx,调了好久了这块板子

赞(0)
未经允许不得转载:TI中文支持网 » BQ40Z50电压读取问题
分享到: 更多 (0)