Hi,
I have a problem with an AIC3104 concerning apparent signal 'leakage' from right input to left output.
If I select DAC3 output path then I see no problem, but if I select DAC1 output path then a small fraction of the right channel input appears added to the left output.
I am running a program that writes zero value sample data to DIN on both channels. At the same time I have analogue inputs present on both channels (sinusoids of different frequencies so that I can distinguish the sources.
If I replace this
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 41, 0x50); // DAC_L3, DAC_R3 paths
with this
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 41, 0x00); // DAC_L1, DAC_R1 paths
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 81, 0x00 ); // PGA_L not connected to LEFT LOPM
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 84, 0x00 ); // PGA_R not connected to LEFT LOPM
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 85, 0x00 ); // DAC_R1 not connected to LEFT LOPM
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 82, 0x80 ); // DAC_L1 IS connected to LEFT LOPM
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 88, 0x00 );
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 89, 0x00 );
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 91, 0x00 );
I2CRegWrite(I2C1_BASE, AIC3104_SLAVE_ADDRESS, 92, 0x80 );
I go from seeing zero output on both channels (no problem using DAC3) to seeing a sinusoid of the frequency applied to right channel input, on the left channel output (problem using DAC1!)
Instead of writing zero values via DIN I can pass the input signal via DOUT to DIN and then (using DAC1) I see the expected output sinusoids on left and right channels BUT added to the left output is a fraction of the right input signal.
I see this effect even if the frequency of the right input signal is greater than half the sampling frequency used by the DAC and ADC.
I never seem to get left channel input appearing on right channel output.
Anyone else seen this, or have any suggestions?
Donald