Other Parts Discussed in Thread: CC2640R2F
Hi,
I'm having a problem with our hardware using a TLV320AIC3100 that I don't seem to be able to solve. We are using two TDK ICS-40180 mics at the RP and LP inputs and power them using the codec's MICBIAS.
After powering up the device or restarting it in the debugger (thus reinitializing the codec) the codec sends too high values over I2S. The absolute values change if I change the mic gain, but the problem remains, the data is basically unusable for the first 3 minutes. Due to our hardware, I have to use the maximum gain if possible, which leads to the data values being maxed out for about a minute before they settle after the mentioned 3 minutes.
I have measured the mic signals going into the codec before and after the capacitor between both parts using an oscilloscope. The voltages seem to settle at their levels after about thirty seconds. Please also see the screenshots at the end.
The mic's input voltage is connected directly to the MICBIAS pin with 100n caps to ground. The only other external parts are 4.7u caps between the mic's outputs and the corresponding input pins of the codec.
The codec initialization procedure looks like this:
- Soft Reset
- Set Clocks
- Enable I2S interface
- Set ADC Input Mux
- Set mic bias to AVDD
- Set mic gain
- Enable ADC
- Enable codec output and set routing
I noticed that after setting the ADC mux the codec applies a voltage to the microphone input that increases further after setting the mic bias. Is that normal behavior? If I disconnect the codec, there's no DC part in the signal between codec and cap but only between mic and cap. If the codec is connected, there are different DC offsets before and after the cap.
Here are screenshots of a software reset without a power cycle, blue is between cap and codec, yellow between mic and cap:
Here's a power cycle:
What I find really odd is that even after the voltages have settled the values I get over I2S continue to be way too high for about two and a half minutes.
Thanks for your help!
Edit: I forgot to mention that the values are not that high after a software reset and take less time to settle. They never max out like after a power cycle with the same gain setting and make sense after about a minute.