I am encountering an issue while trying to configure the mainsecondary I2C interface (MP24/SCL, MP25/SDA) on my ADAU1467 to read from an external I2C device.
In my SigmaStudio project, I have an "I2C Continuous Read" block connected to a "DSP Readback" block. My goal is to continuously read data from a specific register on the external device.
The external I2C device has a 7-bit address of 0x40
(hexadecimal). According to the I2C protocol, for a read operation, the 8th bit of the address should be '1'. I need to read data from register 0x01
(hexadecimal) of this device.
However, when I monitor the I2C bus, I observe that the ADAU1467 is sending the device address 0x80
(hexadecimal). This corresponds to the 7-bit address 0x40
with the 8th bit as '0', indicating a write operation. Consequently, my external device is not responding as expected to a read request.
Could you please advise on why the ADAU1463 is sending a write address (0x80
) when the "I2C Continuous Read" block is configured for reading from the device at address 0x40
? Is there a specific setting or consideration within SigmaStudio or the ADAU1467's I2C configuration that I might be overlooking to ensure the correct read address (0x81
) is transmitted?
Any insights or suggestions on how to resolve this issue would be greatly appreciated. Thank you for your time and assistance.