Post Go back to editing

Interfacing ADAU1761 x2

Hello,

I've been working with a pair of 1761 eval boards and have run into a mysterious clock sync problem. Every ~4 seconds I have a short amplitude reduction in the output signal. I'm hearing this as a very brief drop out or click in my headphones. Perhaps I've missed a register setting. The audio streams are otherwise working/sounding fine and I'm running them through a pair of the ADI beamforming algorithms.

Setup:

Passing a digital signal from the slave board to clock master. I've tried Left/Right Justified and TDM modes, following the configuration parameters from pg 42-43 in the ADAU1761 datasheet.

I've taken a look at this tutorial: http://ez.analog.com/message/5675#5675

Jumper configuration for my setup is consistent for clock sync and passing ADC to DAC pins. I've not had any luck setting MCLK to the I2S setting, both boards are set to OSC.

Any ideas?

Best,

John

  • Welcome to the forums!

    Well, if each board is running off of its own clock source (OSC) then that means the boards are asynchronous by definition. Since neither oscillator is running at exactly the same rate, you will have small drops when a sample is either skipped or doubled by one chip or the other. This is similar to the concept of a beat frequency when two tones are combined. Basically, if one oscillator is running at 12.288000 MHz and the other is running at 12.28800025 MHz (completely possible with the tolerance of some crystals), that means that there is a difference between the two clocks of about 0.25 Hz, meaning that once every 4 seconds, a sample will be missed.

    In order to make both chips synchronized, you really need to have them both running on the same master clock signal.

    You can either take the master clock oscillator signal from one board and run it to the next, or you can take the clock output from one board (a buffered copy of the PLL output) and run that to the next. However, the one thing you can't do is have each chip running off of a separate clock source.

    I hope that helps!

  • Hi Brett,

    Yes that makes sense. Back to troubleshooting the MCLK source setting. Do both boards need to be powered and/or boot in unison to have clock sync properly?

    Best,

    John

  • Hi John,

    No, the boards don't have to boot in unison in order for this to work. You just need to make sure that they're both getting the same master clock signal so that there's no clock drift on one IC relative to the other. I hope that makes sense!

    Brett

  • You want to have both chips running off the same MCLK signal.  On the board you have designated the slave make sure you have the MCLK source selected as I2S, this would be S5 in the middle position.  I could be wrong about this but I don't think there is a header that will give you the raw MCLK running to your master to bring over to your slave so you will need to solder a wire for the next step.  Solder a wire from the master oscillator (R47) and connect it to the EXT_MCLK input on your slave board (J6-10).

  • Thank for you quick the responses Brett and Natan!

    I've tried connecting a wire from R47 on master board to EXT_MCLK pin 10 of slave board and still no result. I had our technician solder the leads so it should be a solid connection. When looking at meters in Sigma Studio I see no signal is passing from the ADC's. Any other steps to try?

  • After connecting the boards, are you downloading the program and register settings to each board? Data won't start passing through the ADC until the chips have been properly programmed.

  • Yes I have both boards externally powered and successfully deploy the programs. The clock signal pulled from R47 is not valid - we looked at it with a logic analyzer and its all over the place. I got a 1781 board setup today and it's driving the clock from MCLK0 to the 1761 MCLK input just fine.

  • Hi John,

    Running MCLK between two boards in that manner is a tricky thing. Did you run only the one wire, from the switch side of R47 on the MCLK source board, to the EXT_MCLK pin on the slave board? And also, did you run at least one ground wire along with the MCLK line? It is very important to reference the two boards together, using GND connections right near the places where you are attaching leads for MCLK.

    Let us know if this helps!

    Regards,

    Coleman

  • Hi Coleman,

    I actually tried both sides of R47 just to be sure. I connected the EXT_MCLK ground pins on both boards. I did not connect a ground from near R47 to the slave board.

    Best,

    John

  • Please run a ground wire from the ground pin next to one EXT_MCLK to the other. When you say the signal is all over the place, can you be more specific? Sometimes, probes can load a clock line and make a signal look worse than it actually is. Have you tried reversing the direction of the clock to make sure that the source board is not having a problem? Can you attach a screenshot of your o'scope?