BQ28Z610: I2C通信时钟大于10KHz通信就出错

Part Number: BQ28Z610


    用普通的MCU使用软件模拟I2C的方式从0X08/0X09地址读取BQ28Z610电池电压,当I2C时钟在10KHz以下时能够读取正确的电池电压【如图1】,将I2C时钟提高到20KHz或更高后,读取出错【如图2】,有什么方法解决?

图1,I2C时钟约4KHz,读取电池电压正常:

image.png

图2,I2C时钟约44KHz ,读取数据错误,感觉SCL在读第二个字节时被BQ28Z610维持低电平

image.png