Hello all,
We're developing an audio mixer around a ring of ADAU1701s where each receives a TDM steam from its neighbor, adds in two analog inputs and sends the mix through to the next -1701. The block diagram below shows four -1701s, we plan to use six to accommodate all the needed inputs. One of them ("DSP 3") is programmed differently to break this ring -- handling the first inputs while converting the mixed outputs to analog. We're using TDM because several streams are needed for mix-minus, a headphone bus, etc. The -1701s would also perform some audio processing such as EQ, all booted and directed by a PIC microcontroller via two I2C buses.
This is where it gets confusing. I'm assuming first of all that all the TDM outputs would be set up as masters, all inputs would be slaves, and the each output's clocks would feed the next input (as shown above) except of course for MCLK which is synchronous to all. Mike who is designing the unit and who is more comfortable in the "digital snake pit" than myself, would like to see all the clocks synchronous as shown below -- as this would mitigate any accumulated timing errors:
I have no idea if either or both setups would work, or could there be an entirely different way to approach this design. Any suggestions would be appreciated. We're using multiple -1701s because one of these performed so well in our first product, and we like having the analog I/Os built in.
Best regards,
Bob