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

I would like to control ADAU1701 as a target with a MCU with i2c comm

SigmaDSP & SigmaStudio gaboca0527 Jan 2, 2010 00:00 2 replies Original on forum ↗
Subscribe
gaboca0527 Question
Jan 2, 2010 00:00

Hallo,

I am Gabor from Hungary. I apologise for my poor english.

I built an own circuit with this ADAU1701 DSP and with an atmega8A microcontroller.

I wrote a simple code to initialize and set up to pass-through the DSP over i2c bus. In the manual of the DSP (page 15.) is a description about the sequence of the initialization.

1. Apply power to ADAU1701

2. Wait for PLL to lock

3. Load Sigma DSP program and parameters

4. Set up registers

5. Turn off the default muting, clear data registers and initialize DAC setup register

To only test analog audio pass-through (ADCs to DACs), Steps 3 and 4 can be skipped and the default parameter can be used.

I tried this methode, I skipped steps 3 and 4, but nothing was happened. The audio output was mute.

I just set bits ADM, DAM, CR in the core control register to one and I set bits DS [0:1] in the DAC setup register to 01. I think it is enough for the pass-through mode.

The MCU got in order all the ACK messages from the target. It was unbelievable for me, and I tried something. I changed in the i2c program the address of the core control register to a false value. I was surprised, because the ACK messages were again right, in turn the address of the core control register was false.

The next test was that I changed the address of the slave target. Normally it is 0x68 (both ADDR0 and ADDR1 set to 0.), but I changed to 0x6A. In this situation the first ACK was false. So I think the DSP is working fine.

I use 400k SCL frequency for i2c. But I tried it with slower (100k or 200k) too. No changes. I use 2,2kohm pull up resistors on the i2c bus. SELFBOOT mode is not active, pulled down to GND. The MCLK is working fine.

I think something is bewildet the host controller and it is get false ACK messages as normal.

Dou You have any idea? Maybe more register settings or i2c timing problem? Maybe there is a problem with the internal PLL? How can I check it?

Thank You!

Gabor

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

gaboca0527 Reply
Jan 4, 2010 00:00

Dear JeradL,

Thank You for your answer. It is very helpful! I try to load a simple program into the device, as You wrote.

I am surprised, that the manual is not correct (page 15. top). Because it is talking only about the ADAU1701. But, that is it I believe You!

Thank You again!

Gabor

ADIApproved Reply
Jan 4, 2010 00:00

The ADAU1701 does not have a pass-through mode that allows you to route audio from input to output without using the SigmaDSP core. You have to at least set up a simple program in SigmaStudio to route your inputs to the outputs and load this into the program RAM. For a simple program like this, you will not need to load any values to the parameter RAM. It would be best for you to look at SigmaStudio's capture window to see exactly what SigmaStudio writes to the ADAU1701 to set it up. This will show you exactly which bytes are being written to the control registers and RAMs, and will also show you the order in which this data is written. If you emulate this with your microcontroller, then you should be able to get your system working.