微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > BQ27510-G2读不到寄存器值

BQ27510-G2读不到寄存器值

时间:10-02 整理:3721RD 点击:

芯片的IIC通信是有应答的,但是我读了很多寄存器,像VOLT、TEMP、AI,读到的值都是0xFF7F。

我没有对芯片做任何的初始化(目前我也不知道要怎么初始化);热敏电阻没有接(我是和BQ24192配合,BQ27510接了103之后,BQ24192寄存器值有些不正常了,所以只能去掉了);REF2.5V 引脚是正常的。

不知道是什么原因引起的读不到寄存器的值?

目前还没有EV2400等工具,所以现在只想读取 电压、电流等一些值

TI提供了用MSP430 MCU I2C读写Gauge的示例代码,:http://www.ti.com.cn/analog/cn/docs/litabsmultiplefilelist.tsp?literatureNumber=slva413a&docCategoryId=1&familyId=412

读取电压是不需要配置的,主要检查一下程序代码,适当降低通信速率是否能够改善以及数值是否没有正确处理。

用示波器抓取一下读取电压的波形,与论坛里这个帖子的波形进行比较。

http://www.deyisupport.com/question_answer/analog/battery_management/f/35/t/46539.aspx

今天看了IIC的波形,从波形上看,发送0xAA后马上得到ACK,发送寄存器地址后ACK比较慢,但是后面的数据确实是低位 0x7F  高位0xFD 电压是64895mV肯定不对。

后面8位的SCL不知道为什么上不去了。

板子上这个模拟的IIC带了的其他3个设备都没问题啊

还有两个分别读取LSB 和MSB的波形图,都是0x7F。

LSB:

MSB:

代码:

	IIC_Start();
	IIC_Send_Byte(BQ27510_ADDR);
	IIC_Wait_Ack();
	IIC_Send_Byte(bq27510CMD_VOLT_LSB);
	IIC_Wait_Ack();
	IIC_Start();
	IIC_Send_Byte(BQ27510_ADDR+1);
	IIC_Wait_Ack();
	BQ27510temp[0] = IIC_Read_Byte(0);
//  	BQ27510temp[1] = IIC_Read_Byte(0); 	
	IIC_Stop();

有没有尝试更换一个IC看是否正常,另外BQ27510最新的是G3版本的,建议使用最新版本的芯片。

两个IC都是这种情况,我已经快放弃这颗芯片了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top