ADAU1701 I2S in - analog out

Hi,

I'm currently trying to set up an ADAU1701 to convert I2S data (192kHz, 32bit) from an external master device to analog out.

For this I am using a Sure/Wondom DSP board with the ADAU1701.

I am providing the LRCLK (192kHz) to MP4, the BCLK(12.288MHz)  to MP5, the I2S data to MP0 and the MCLK (12.288MHz) to the MCLK input. Settings as shown below:

The clock look on on the scope but when probing the outputs out1R and out1L I can not see any signal.

Thanks in advance!

  • +1
    •  Analog Employees 
    on Oct 15, 2020 1:17 PM 1 month ago

    Hello spran,

    One thing I quickly noticed that will be an issue eventually is that you have the serial input set to I2S and then the serial output is set to Delay-0 which is not the I2S standard. The I2S standard is to delay the position of the data by 1 bit clock from the falling edge of the LRCLK. 

    Do you see the data on the scope?

    Because that is the first question. Is there data coming out of the DSP?

    Did you jumper the LRCLK OUT and BLCK OUT pins back over to the LRCLK IN and BCLK IN? The serial input on this part is always a slave and there is no internal connection between the serial output port and the input port. So setting the output port to Master will take care of the serial output port but you will need to jumper those clocks over to the input port. 

    Also, I would try first to run at 48kHz. Running at 192kHz is difficult to do if you are using jumper wires between boards. The signal integrity will be such that you will either get nothing, or most likely get garbage and lots of clicks and pops. 

    One other thing that I think you may realize. This part is only 24 bits. The lower 8 bits of the 32 bit signal will be ignored. It is not a problem, it will work and sound good but you will not be able to get 32 bit data through the DSP. To do this you would need the Sigma300/350 family of parts. Those would be the ADAU1452/1467 families. 

     

    Dave T

  • Hi Dave, 

    after delaying the serial output by 1 and changing the program length to 4x everything was working fine.

    Thanks for your help!