When using I2C scan to discover I2C devices on the bus, why do we receive extra ACK from address 0x30?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
When using I2C scan to discover I2C devices on the bus, why do we receive extra ACK from address 0x30?
0x30 is the broadcast address of TPS23861 which cannot be any PSE device’s I2C address. If there’s a command to scan address 0x00 to 0xFF to discover devices on the I2C bus, it is possible to receive extra ACK from address 0x30 which would mislead you that there’s a device at address 0x30. After writing to 0x30, an unlock code(0xAAh) is expected to continue slave address programming, but it doesn’t look for a match unlock code 0xAA before ACK. Meaning if the unlock code doesn’t match, the device will still ACK. To avoid this, a 100ms delay after writing to address 0x30 or skipping address 0x30 (0x30 can never be a PSE’s address) is recommended.Additional Resources