I2S input on ADAU1702

ADAU1702 I2S Slave configuration

 

When the ADAU1702 is used as an I2S slave, the stream is not read in as should. The audio data is however not clearly received.

 

This is a simplified design of our system:

 

Description of setup:

We have DSP1 (ADAU1701), generating an I2S bit stream, which is then sent via a TI CC8531 wireless audio link to DSP2 (ADAU1702).

 

Problem:

The problem we experience is lots of pops and clicks on our analog outputs of DSP2.

 

Analysis:

  • We have modified DSP1 to send out on one of the 2 I2S channels only a “1” in 5.23 format. We can trace this value easily up till the input of DSP2, so it shows that the signal chain up till here is working ok.
  • We have a board with only an CC8531 receiver and a DAC, this works perfectly.
  • When DSP2 is configured to directly send the value of the I2S input stream to its digital I2S output, there is rubbish coming out on the I2S data line (clock lines seem OK).
  • DSP2 is configured to output a value of “-1” in 5.23 format on the other I2S slot and this is OK.
  • When an RMS level meter is placed in DSP2, and read out via SigmaStudio, this level meter shows a very nervous reading, indicating that the read-in value is also not OK.

This leads to believe that the I2S input of DSP2 is not working as supposed to.

(Attached: “LA Output.png”, logic analyser measurement of DSP2 in- and outputs)


 

Settings of DSP2:

 

What could be wrong here?

Parents
  • After more testing and trying, I configured the I2S input waveform so that it would exactly match the output waveform from the ADAU. I figured that it should at least take this input waveform.

    So I configured the BCLK, LRCLK and data lengths accordingly to what the ADAU outputs itself: this helped me to find what was wrong. I misinterpreted the statement that MCLK and BCLK should be synchronous. I interpreted that they should be in phase, but they should also have exactly the same frequency. After fixing this the system starts behaving as expected.

    Now there is one remaining issue: our I2S input stream does show some jitter. I measured up to 1nS jitter per 200uS secconds of MCLK. This leads to pops and clicks into the sound we recreate.

    Is there anything we can do to fix this apart from changing to an DSP with SRC? Or adding a separate SRC?

    (what is the tolerable clock jitter for the ADAU1702?)

Reply
  • After more testing and trying, I configured the I2S input waveform so that it would exactly match the output waveform from the ADAU. I figured that it should at least take this input waveform.

    So I configured the BCLK, LRCLK and data lengths accordingly to what the ADAU outputs itself: this helped me to find what was wrong. I misinterpreted the statement that MCLK and BCLK should be synchronous. I interpreted that they should be in phase, but they should also have exactly the same frequency. After fixing this the system starts behaving as expected.

    Now there is one remaining issue: our I2S input stream does show some jitter. I measured up to 1nS jitter per 200uS secconds of MCLK. This leads to pops and clicks into the sound we recreate.

    Is there anything we can do to fix this apart from changing to an DSP with SRC? Or adding a separate SRC?

    (what is the tolerable clock jitter for the ADAU1702?)

Children
No Data