ADAU1701
Production
The ADAU1701 is a complete single-chip audio system with a 28-/56-bit audio DSP, ADCs, DACs, and microcontroller-like control interfaces. Signal processing...
Datasheet
ADAU1701 on Analog.com
Hi
My customer is trying to initiate an i2c read from adau1701.
Addr0==Addr1=0 => Write addr = 0x68, Read addr = 0x69.
Sequence looks like he indeed sends 0x69, however adaqu1701 doesn't send an ack (pulls SDA low on 9th clock)
Attached are read sequence & schematics.
Similar write sequence (sending 0x68) produces the required ack.
Please advise
BR,
Alon
Hello Alon,
Thought I should explain it a bit more.
All I2C commands start with a write followed by the two byte address.
Then one of two things can happen:
1) If it sees clocks it will continue to accept the data and it knows it is going to write to the address. Then it another byte of clocks arrive without a stop then it will increment the address and stuff the new data into that address.
2) If it sees a repeated start followed by its chip address and the "read" bit set, then it will turn the SDA pin over to an output and start shifting out the data in the address it received. Then if it continues to receive clocks with no stop condition it will increment the address and send out the next address.
Then finally, a STOP condition will end both of these types of transactions and return the state machine back to its start point.
Hope that helps.
Dave T
Hello Alon,
Thought I should explain it a bit more.
All I2C commands start with a write followed by the two byte address.
Then one of two things can happen:
1) If it sees clocks it will continue to accept the data and it knows it is going to write to the address. Then it another byte of clocks arrive without a stop then it will increment the address and stuff the new data into that address.
2) If it sees a repeated start followed by its chip address and the "read" bit set, then it will turn the SDA pin over to an output and start shifting out the data in the address it received. Then if it continues to receive clocks with no stop condition it will increment the address and send out the next address.
Then finally, a STOP condition will end both of these types of transactions and return the state machine back to its start point.
Hope that helps.
Dave T