主题中讨论的其他部件:bq29330、 BQ20Z90
尊敬的所有人:
如何通过 SMBus (I2C)通过 MCU 访问数据闪存?
读取位序列:
START + 0x16 + ACK + 0x77 + ACK + 0x50 + ACK + 0x00 + ACK + STOP
START + 0x16 + ACK + 0x78 + ACK + RS + 0x17 + ACK +返回 LSB + ACK +返回 MSB + ACK +… 32字节… +停止
写入位序列:
START + 0x16 + ACK+ 0x77 + ACK + 0x50 + ACK + 0x00 + ACK +停止
START + 0x17 + ACK+ 0x78 + ACK + LSB + ACK +… 32字节… +停止
对吗?
谢谢!
《slu264a_bq20z90-v1.50 + bq29330、bq20z95》:page100 μ m
要将术语电压值写入8.7V、请使用以下序列。
将完整的电量监测-IT 配置子类(子类 ID = 80)读取到 RAM 中:
·写入子类 ID
–SMB 从机地址(0x16)
–SMB CMD 0x77、0x0050作为数据(十进制=80)
·读取子类(需要2个块、因为其长度超过32字节)
SMBSlave 地址(0x16)
–SMB CMD 0x78接收32字节数据
–SMB CMD 0x79接收32字节数据
使用8.7V 覆盖接收到的数据的偏移45:
·用0x21fc (=8700十进制)更新第二个块的偏移45
将完整的子类写回 bq20z90/bq20z95:
·写入子类 ID
–SMB 从机地址(0x16)
–SMB CMD 0x77、0x0050作为数据
·写入子类
–SMB 从机地址(0x17)
–SMB CMD 0x78,32字节数据
–SMB CMD 0x79、带32字节数据