微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > 如何通过I2C读取BQ27541里面的电量信息

如何通过I2C读取BQ27541里面的电量信息

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

各位高手,大家好!

   我最近在使用 BQ27541 电池计量芯片中遇到了一些困难,特来求助……

   问题描述:我使用的是 Cortex-M3 内核的MCU,使用的是软件模拟I2C时序的办法来进行相关的I2C通讯,I2C协议调试成功,但是却不能通过 BQ27541读取到锂电池的相关信息。

   在与BQ27541通信时,发送其地址0Xaa, MCU 能接受到应答信号 ,但是接下来发送的任何命令与数据都接受不到应答信号 , 最后读取出来的数据也全是0xff

   我查看该芯片的数据手册 , 也没能找出很好的解决办法 , 目前还不知道原因出在哪里 , 希望各位高手能够提供帮助 ,最好能够提供一份关于使用I2C进行电量读取的参考例程。(主要是关于发送地址、命令等的顺序,如果在读取数据之前需要配置什么寄存器,也告诉我,真心的很迷茫)

Tbuf,Bus free time between stop and start.请注意这个参数。最新的数值是66uS.之前客户也遇到类似问题,调整了这个参数就解决了。请查看一下是否也是这个问题?

求助前辈,我也是同样的问题,改成66us过后还是一样的不能读取

可以先做1个byte的读操作,比如读取SOC寄存器,把波形贴上来看看。

我用的是TI的CC2530 模拟的I2C

你好,请问问题解决了吗?

虽然这帖子是五年前了,但是我也遇到了跟楼主一样的问题,也很迷茫,发命令不应答,楼主五年前解决了没有

那么读电压过程中的repeat start,SDA和CLK同时拉高的时间要大于66us还是小于66us?

这几天调BQ34110,TM4C123 MCU用GPIO软件模拟I2C时序,上电后获取电压就失败了。

发送第一个字节AA,能获取ACK,但第二个字节0x08,似乎要等几百个us才能有ACK,期间如果拉高CLK,幅值是变低的。

之后做repeat start,发送0xAB,然后从BQ34110读数据又有问题,CLK的幅值又会被拉低。即便加上一段延迟,读到的值也不对。

板子上还有另一I2C器件共用SDA,CLK,同样的时序就没问题。

前辈们有没有遇到类似问题,如何解决的啊。

大兄弟,我问题跟你一样啊,我也在搞这项目,加个qq一起交流啊,我也是发了08不应答

Qq373254943

楼主问题解决了吗?最近在做BQ34110  同求参考流程啊 就是发送地址,命令顺序等等。

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

网站地图

Top