How can I get around 1401a only being able to output either TDM or i2s
I am working on a range of products that use the ADAU1401a along with a DAC so that we can output 6 channels of analogue audio.
We are using intent on using a specific DAC that ONLY SUPPORTS I2S INPUT.
We are currently using 2 digital outputs, one for the dac, and one for a module that rebroadcasts audio from the DSP.
We are looking into incorporating microphones into our product. These mics would also need to go to the module for rebroadcast, but not the DSP. They can either work in TDM or I2S.
The module only has one input but it is able to receive TDM signals if we wanted to send multiple data streams to it.
This is where we have a problem. We can send a TDM steam to our module so that it could receive the rebroadcast signal and the microphones, but because the 1401a will only work EITHER in TDM or I2S (It doens't appear to allow you to ouput one TDM stream and one I2S Stream from a different pin) we would not be able to communicate with our DAC.
I'm wondering if there are any simple cheap codec options that will take 2 i2s streams and repackage them as TDM.
This would allow me to output from the 1401a 2 channels of I2S (rebroadcast & channels for DAC) and trasmit i2s from the mics. The DAC stream would go to the dac, then other two would be repackaged as TDM and sent to our module.
Here is our current situation
This is the issue we're having with not being able to simultaeniously output TDM and I2S
And unless you have a different idea for a solution, I am looking for a codec to provide this kind of solution. Multiple i2s in, one TDM stream output.
adau1401a
Audio Signal Processors
digital output
codec
i2s
SigmaDSP Audio Processors
tdm
i2s_tdm
Show More
One quick thought is to look closely at the data sheet for some low-cost DACs. Even though they are "I2S" DACs, they may well work with the TDM stream. The idea is to use the TDM setup configuration for the ADAU1401 and use the "50%" frame sync. The bit clock of course is faster but that is often ok for the DAC and the idea is that it clocks the first channel into the DAC after one edge of the frame sync and the other channel in on the other edge of the frame sync. it ignores the data bits and clocks after it clocks in each channels. (for example, if you are using a TDM8 configuration, the DAC would clock in ch0 as the LEFT channel at the start of the frame sync, and ch4 as the RIGHT channel after the other edge of the frame sync.
Some things to check into if wanting to try this method: can your TDM configuration/devices work ok with a 50% duty cycle? Can the DAC bit clock be as fast as the bit clock for TDM? Does the DAC ignore the 'extra' clock/data after each channel is clocked into the DAC?
Please log in to reply.





