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

ADAU1777 register readback (for verify purposses)

Processors & DSP Reini Feb 19, 2021 00:00 2 replies Original on forum ↗
Subscribe
Reini Question
Feb 19, 2021 00:00

Hello all,

I'm trying to program an ADAU1777 DSP. The programming takes place via a I2C bus. I use the XML file, exported by SigmaStudio as a template for all registers, program data and parameter data.
After programming has completed, I start verifying the data, but that fails.
I noticed in the ADAU1777 datasheet, in the section about the control port this:
Registers and bits shown as reserved in the register map read back 0s.
When writing to these registers and bits, such as during a burstwrite across a reserved register,
or when writing to reserved bits in a register with other used bits, write 0s.
So, does this mean I cannot read registers (with length 1 byte) back? I checked my software with a scope. Picture 1 is triggered just before a write:

Picture 2 is triggered just before a verify:

The first register to be written is, according to the XML file, 47 with data 255:

<!--SigmaStudio export XML file-->
<Schematic>
<IC>
<Name>IC 1</Name>
<PartNumber>ADAU1777</PartNumber>
<Register>
<Name>IC 1.DAC0_VOLUME</Name>
<Address>47</Address>
<AddrIncr>0</AddrIncr>
<Size>1</Size>
<Data>0xFF, </Data>
</Register>
<Register>
<Name>IC 1.DAC1_VOLUME</Name>
<Address>48</Address>
<AddrIncr>0</AddrIncr>
<Size>1</Size>
<Data>0xFF, </Data>
</Register>
......

In Picture 1 you can observe that value 0xFF is written at address 0x002F. In Picture 2 you can see that value 0x00 was read back.
To make it even more clear, I added picture 3. Here, only register 0x2F is written and directly read back... with value 0x00:

Does this really mean I cannot verify the data written to the DSP?

With kind regards,

Reini

Picture1.png
Picture1.png
Picture2.png
Picture2.png
Picture3.png
Picture3.png
Reini Reply
Feb 24, 2021 00:00

Update:

When I read registers right after RESET I get their reset values. So, reading appears to be working, therefore the writing must fail.

I have no trouble reading and writing to a ADAU1452, but this one gives me a headache :-)

Any tips ?

Kind regards,

Reini

Reini Reply
Feb 24, 2021 00:00

Update 2: I found another post, about the ADAU1772:

https://ez.analog.com/audio/f/q-a/3163/adau1772-i2c-writes-acknowledged-but-not-working

The output of SigmaStudio assumes that the DSP has already setup the PLL. After a reset, that will not be the case, so I will try that first (starting the PLL, before writing anything to the DSP)