Hello,
Section 2.3.11 (pg. 56) " The bq20z60-R1/bq20z65-R1 uses address 0x16 on the SMB for communication."
However, the bqEVSW talks to it using SMB address 0x17.
In the datasheet, there is an example of how to read from the dataflash that uses both address 0x16 and 0x17 (below). Read complete Gas Gauging-IT Config subclass (SubclassID = 80) into RAM:
• Write Subclass ID
– SMB Slave Address (0x16)
– SMB CMD 0x77 with 0x0050 as data (=80 decimal)
• Read Subclass (two blocks are needed, because it is over 32 bytes long)
– SMBSlave Address (0x16)
– SMB CMD 0x78 receiving 32 bytes of data
– SMB CMD 0x79 receiving 32 bytes of data
Overwrite offset 45 of received data with 8.7 V:
• Update offset 45 of second block with 0x21fc (=8700 decimal)
Write the complete subclass back to the bq20z60-R1/bq20z65-R1:
• Write Subclass ID
– SMB Slave Address (0x16)
– SMB CMD 0x77 with 0x0050 as data
• Write Subclass
– SMB Slave Address (0x17)
– SMB CMD 0x78 with 32 bytes of data
– SMB CMD 0x79 with 32 bytes of data
Alternatively, only the required block rather than the full subclass can be accessed.
Read required block of Gas Gauging-IT Config subclass (SubclassID = 80) into RAM: • Write Subclass ID – SMB Slave Address (0x17) – SMB CMD 0x77 with 0x0050 as data (=80 decimal) • Read Subclass (second block is needed, because its offset is 45) – SMB Slave Address (0x16) – SMB CMD 0x79 receiving 32 bytes of data Overwrite offset (45 – 32 = 13) of received data with 8.7 V: • Update offset 45 with 0x21fc (=8700 decimal) Write the updated block back to the bq20z60-R1/bq20z65-R1: • Write Subclass ID – SMB Slave Address (0x17) SMB CMD 0x77 with 0x0050 as data • Write Subclass – SMB Slave Address (0x17) – SMB CMD 0x79 with 32 bytes of data
Which address should I use when talking to the device?