Other Parts Discussed in Thread: OPA1692
Hello, Support Team
I'm using TLV320AIC3109-Q on my STM32 based DSP design and I have encountered problem with terrible noise coming out from differential outputs. I passed through a 1 kHz sine wave:
LEFT_LOM:
LEFT_LOP:
Differential input goes to the differential amplifier made of OPA1692 OPAMP.
OPAMP output:
Low-pass filter proved turned out to be insufficient for filtering such a noise. I removed the C10 cap then soldered 1nF cap to the inverting and non inverting inputs of OPAMP. After this, 1 kHz signal was recovered and the noise was strongly suppressed:
I would ask you If this output signal from DAC is correct or not and how can I deal with it. I'm sure that is not OPAMP design fault because in bypass mode there is no such a noise coming from its output and signal is being transmitted properly. The signal on the ADC input is correct too. I would leave it as is, but the CODEC behaves unpredictably when processing signal algorithms, generating random distortions.
I have also checked MCLK, WCLK, BCLK signals:
MCLK:
WCLK:
BCLK:
STM32 uC is configured in DMA circular mode, just transmits ADC samples to DAC buffer. The registers' configuration that I made:
- fs(ref) = 48 kHz
- CODEC uses clock from STM32 MCLK trough CLKDIV_OUT, Q = 2 (MCLK = 256*fs)
- fs for ADC and DAC = fs(ref)
- DAC_3 path output routed to the left line output
- Increased DAC quiescent current 100%
- DAC volume gain = 0 dB
I have captured data from ADC and DAC buffers, and it looks terrible too:
Looking forward to any suggestions,
Best regards,
Przemysław Jóźwik