AnsweredAssumed Answered

How to connect between ADAU1701 and CODEC?

Question asked by Thomas73 on Aug 29, 2014

Hello,

 

I would like to make a small circuit using ADAU1701 and a CODEC. After watching some CODEC datasheets I found out some conditions have to deal with:

 

1. ADC and DAC can only be used in the same way, both as Master or both as Slave, not unique
2. There are common clock lines used for BCLK/SCK and LRCLK of both, ADC and DAC. The digital audio input and output signals are synchronized to each other. (see the timing attachment)

 

Now comes for me the tricky part. Is it possible to run the ADC and DAC inside the codec only with one common BCLK and one common LRCLK line connected to the ADAU1701? I attached example connection where I connected the BCLK and LRCLK only with the ADAU1701 BCLK/LRCK inputs - the outputs are unused. In the example I run the ADC/DAC as Master and ADAU1701 as Slave but I would have the opportunity to run the ADC/DAC inside the CODEC as Slaves and the ADAU1701 as Master as well.

 

Unfortunately has the ADAU1701 no MCLK output, so I connect a crystal to the CODEC and feed the ADAU1701 at MCLKI with the Master clock. This is also possible in Master or Slave mode.

 

Would my example work? How to deal with the BCLK/LRCLK outputs of ADAU1701? Just leave unused?
Thank you in advance for help!

 

 

Thomas

 

timing.pngsignals.png

 

 

After reading the data sheet and some other posts here again, I think it should be done like that:

 

1. Connect OUTPUT_LRCLK with INPUT_LRCLK and OUTPUT_BCLK with INPUT_BCLK (MP10 with MP4 and MP11 with MP5)

2. Set OUTPUT_LRCLK and OUTPUT_BCLK to Master Mode

3. ADC and DAC of CODEC set to slave
4. Run the CODEC with a crystal and feed the ADAU1701 at MCLKI with Master clock.

 

-> Everything is now sync to MCLK! Watch the drawing below.


Can anyone confirm? Thank you!


 

Thomas

 

PS: I'm wondering why it is necessary to connect for this case the clock inputs and outputs "hardwired" externally - was there really no possibility to do this with a register internally?

 

wiring_CODEC_ADAU1701.png

 

 

 

 

 

 

 

 

Outcomes