my customer feedback as below , Please help with these questions
We are developing a prototyping platform for true wireless hearable products. The platform uses an ADAU1777 codec with 4 digital pdm microphones. The CLK_OUT pin is used of course to provide the microphone pdm clocks.
The ADAU1777 is currently configured as I2S master and outputs the microphone audio stream via the I2S bus in 8-TDM mode, 16bits/channel @ 48KHz. Everything works fine at this point and the audio data is recovered by the DSP.
However the intent ultimately is to share the I2S bus with another device (currently disconnected) and the problem arises when I configure the ADAU1777 I2S output to disable (and tristate) some of the channels, so that they can be used by the other device. In this case, the ADAU1777 appears to switch off the CLK_OUT pin during the same time period as the disabled I2S channels! Needless to say that the digital microphones will not work without a continuous clock...
You have found a bug in the silicon that there is no easy work-around for. If you are using the CLKOUT then you cannot tri-state the serial port. I do not know much about your application but the only way to combine the data from another part is to input the data into the 1777 then add its local ADC data and send out all 8 channels that way. In a daisy chain configuration.
Have you looked at our newer ADAU1787?
I will discuss it with my customer and I will also provide the adu1787/88 spec for customer reference.
Is ADAU1788 also suitable?
Yes, provided their application needs will match the available resources on the 1788. Also, the 1788 cannot selfboot so that may be a significant factor with some designs.