Post Go back to editing

Software Reset Command I2C Issues

Category: Datasheet/Specs
Product Number: AD5675

I'm trying to perform a software reset command for an AD5675 DAC I have on my board.

According to the datasheet, I should send send a command 0x60 (0b0110 << 4), with 16-bit data register set to 0x1234.

The transaction seems to go fine until waiting for the device ACK/NACK bit at the end--the AD5675 seems to be changing the SDA line as the clock line rises, which seems to be undefined behavior. This causes the microcontroller to raise an I2C bus error. See included scope capture with protocol decode (notice no ACK/NACK) in the screen view, after 0x34 is sent).

Is this expected behavior? If not, how can I resolve this?

As an aside please fix the datasheet "READ OPERATION" section. The timing diagram and description (pg. 27) showing just a single command byte is incorrect. The correct transaction requires three command bytes to be sent (see https://ez.analog.com/data_converters/precision_dacs/f/q-a/26806/i2c-read-operation-on-ad5675r). This discrepancy led to frustration and hours wasted on development. Please fix.