ΣSigmaStudio Ask AI Русский Log in

Problem with regards reading registers

SigmaDSP & SigmaStudio wallman16 Mar 12, 2017 00:00 2 replies Original on forum ↗
Subscribe
wallman16 Question
Mar 12, 2017 00:00

Hi ,

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 .

Thanking you

With best regards and wishes

Audio Signal Processors

microcontrollers

SigmaDSP Audio Processors

adau1761

Precision Microcontrollers

aducm360

Show More

DaveThib Reply
Mar 14, 2017 00:00

Hello wallman16,

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.

Dave T

ayushsoni Reply
Jul 6, 2018 00:00

Hi Dave

Please tell me how to set the COREN bit. I'm using Raspberry pi to read and write the control register of ADAU1761, but giving the command i2cset -y 1 0x38 0x00 0x09 won't be able to change the COREN bit. Do i have to use sigma studio for that?