BQ27510-G3 I2C 问题
时间:10-02
整理:3721RD
点击:
Hi,
最近调试BQ27510-G3,使用bqStdio开发完成,I2C读写没有任何问题;
但是用我们自己的主控控制BQ27510的时候,I2C有问题,已经确认主控的I2C程序是好的,因为还有另外一颗 BQ25890充电IC 能正常工作,我先说一下现象:
1. 主控先通过I2C读取BQ25890充电IC的数据,没问题;
2. 主控读取BQ27510的数据,I2C出问题,读不到数据,波形都乱了;这时候再回来读取BQ25890的I2C,数据也有问题了。
所以我想问一下:
1. BQ27510-G3的I2C应该是标准的协议吧?
2. BQ27510-G3的I2C上拉到3.3V是否有问题?因为BQ25890的I2C是上拉到了电池电压,所以BQ27510也一起上拉到了电池电压;
我看参考设计上BQ27510 的 I2C上拉到了2.5V,BQ25890 上拉到了电池电压,这两个电压不统一,请问怎么解决,只有一个I2C接口。
3. 如果硬件上有问题,为什么使用bqStdio和EV2300就可以正常使用开发呢?
- VCC上拉到3.3V是没有问题的,用bqstudio可以正常操作,也说明没有问题
- 最可能的原因,还是IIC时序或者通信的问题,定位原因时,可以使用逻辑分析仪,分别抓取EV2300和自己的主控发送同一个指令时,在IIc线上的数据有什么不同
Hi Terry,
使用逻辑分析仪抓数据,EV2300 的数据是正常的,但是抓主控的数据,就不正常;但是主控还另外在控制BQ25890,这一颗的通讯是没问题的啊,这个解释不通啊。很苦恼啊
Hi
有没有上拉单独2.5V, 看能否通讯? 然后在看能否与BQ25890兼容?
多谢支持,已经找到问题了,是因为BQ27510-G3 I2C 时钟延展功能没注意到,主控没有识别拉低的SCL信号,主控有个寄存器可以使能时钟延展功能
已经找到问题,是因为主控 I2C 时钟延展功能没有开启