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

BQ27510-G2读不到寄存器值

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

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

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

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

Sheldon Cai:

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

Zhang Xavier:

回复 Sheldon Cai:

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

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

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

Zhang Xavier:

回复 Sheldon Cai:

还有两个分别读取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();

Sheldon Cai:

回复 Zhang Xavier:

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

Zhang Xavier:

回复 Sheldon Cai:

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

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