Post Go back to editing

ADAU1452 + AD1939 Solution - Need assistance please.

Hello,

I am currently working on a solution with the ADAU1452 and the AD1939. The AD1939 is in SPI mode and connected to USBi, along with the ADAU1452. The USBi can read and write both devices successfully and the DSP responds to sigma studio, as I can visualize on the oscilloscope a signal coming out of the SDATA_OUT0 when I enable the sine tone. 

I have previously worked on a similar ADAU1442 + AD1938 solution and got it to work successfully, hence how I chose the newer more capable parts for this design. But it's been a little bit of a struggle. 

I find a little strange that I can't seem to make all four "SDATA_OUT0" to "SDATA_OUT3" work. Maybe I am missing something? With the attached sigma studio test, I got the OUT0 and OUT1 to work. LRCLOCK and BITCLOCK are working as well. Still I have no output on the AD1939 whatsoever, I've looked all over the CODEC control registers and I can't find anything wrong. I am assuming both devices defaults to I2S. I am thinking of modifying my prototype so the AD1939 is used as standalone, just for the sake of testing. Also I found the DSP to show a "PM-1 Error" flag sometimes, not always though. 

I've attached my schematic here as well, I'd sincerely appreciate assistance.

Thank you.

attachments.zip
  • Hello,

    You actually got used to the slightly more complicated output port assignment system in the Sigma200 (ADAU1442). We simplified this in the Sigma300 (ADAU1452). The port numbers are always assigned to one of the ports. It does not depend on if it is being used or not. So you were using the wrong port assignments. There is a handy chart in the datasheet that shows this quite well.

    You had something going to the first two ports correctly.

    So I changed your port assignments to:

    0,1

    16,17

    32,33

    40,41

    This will give you stereo I2S output on each port.

    The diagram shows the channels assignments if you were to change to TDM. You can also see that only the first two ports can do TDM16, the others max out at TDM8.

    Here is a screenshot of your project with the changes I made:

    Thanks,

    Dave T

  • Hello,

    Sorry, I forgot to address the Codec having no output.

    On the codec settings, you will need to enable Internal MCLK. It is in the upper left corner of the register controls window. Above the Green PLL Lock Status.

    I cannot easily test this on my eval board but I have had that cause me to scratch my head for a few minutes as well in the past so I am certain this is the problem.

    Dave T

  • Hi Dave,

    That checkbox... Oh! Now the codec is working as well. Since everything is working with Sigma Studio, I will move on to the microcontroller coding, wish me luck  

    Thanks for taking the time to answer my questions.