I am not able to read from ADAU1761 , i am using ADUCM360 for testing .
I am getting ACK for writing and get a NACK for Read .
please let me know with regards to this .
With best regards and wishes
Thanks for providing the screenshot of the I2C transaction. Very helpful.
It looks like you are doing everything correctly, writing the ship address and the two address bytes. Then doing a repeated start followed by the chip address with the read bit set. Then you are getting an ACK from the ADAU1761.
At that point you are sending clocks for clocking out the data so no problems there. The last ACK after the data is really supposed to come from the master not the slave. So the ADAU1761 will never ACK after a data byte it is sending out. We do not mention it in the datasheet diagrams because the state machine in the ADAU1761 never looks for the ACK. The reason is that there is nothing the part can do if the master does not acknowledge. I suppose it could not increment the address and keep sending the same data byte until it gets an ACK but the designers chose not to do that.
So I do not see a problem.
The address you are reading from 0x400B does have a default setting of 0x00.
Do keep in mind that only registers R0 and R1 can be reached if there is no master clock. So until there is master clock, the PLL is locked AND the COREN bit is set. Then you can read and write to the rest of the registers in the part.
Retrieving data ...