ZHCAGA5 August 2026 BQ78702B , BQ78706 , BQ79718B-Q1 , BQ79731-Q1 , BQ79731B-Q1
图 1-1 是BQ79718手册中I2C应用框图,该架构同样适用于78706以及79731。菊花链里每个AFE可以接多个I2C从节点。
图 1-1 BQ797xx I2C应用示意图I2C数据收发主要依赖I2C_CRTL, I2C_WR_DATA, I2C_RD_DATA寄存器,在此之前还需要完成GPIO的功能配置(I2C使能) 。MCU通过菊花链将数据写进AFE的寄存器I2C_WR_DATA里,读回的数据放在I2C_RD_DATA里。I2C_CTRL设置SEND, RECEIVE, START, STOP, NACK以及启动I2C通讯。
图 1-2 AFE和BJB I2C相关寄存器I2C_WR_DATA: 存放写进EEPROM的数据。
I2C_RD_DATA: 存放从EEPROM读出来的数据。
I2C_CTRL: I2C协议中数据前后的START, NACK, STOP通过这个寄存器设置。同时还定义这次通讯是发送还是接收,以及启动I2C通讯。
图 1-3 I2C_CTRL寄存器定义主节点(AFE或BJB)控制START和STOP来告诉EEPROM开始通讯和通讯结束。
从节点(EEPROM)收到8bit数据后拉低SDA 1bit(ACK)告诉Host数据接收完成可以发下一个字节。
图 1-4 I2C通讯协议与寄存器对应关系I2C详细通讯协议请看应用手册 Understanding the I2C Bus 。
读EEPROM通讯过程分为以下7个步骤:
图 1-5 I2C 读EEPROM通讯7步流程示意图