Hello,
We've implemented hardware based the SLAA449A application note to interface the TLV320AIC34 to and MSP430. We have successfully used this interface to send data to the TLV320AIC34 to generate wave forms from test data so we are fairly confident that the glue-logic interface circuit is working. However, when we try to use the TLV320AIC34 to sample an input differential signal, the data we receive does not seem reasonable. Here is the TLV320AIC34 register configuration I used to put the codec into a mode where I believe it should be doing differential input using the LINE1LP_A and LINE1LM_A inputs:
Register Addr = Value
Register 7 (0x07) = 0x80
Register 9 (0x09) = 0xC0
Register 10 (0x0A) = 0x00
Register 3 (0x03) = 0x41
Register 4 (0x04) = 0x10
Register 5 (0x05) = 0x00
Register 6 (0x06) = 0x00
Register 11 (0x07) = 0x01
Register 2 (0x02) = 0x22
Register 24 (0x18) = 0x78
Register 19 (0x13) = 0x84
Register 15 (0x0F) = 0x00
Here is an oscilloscope trace of the input signals:
CH1 = LINE1LP_A (Yellow)
CH2 = LINE1LM_A (Blue)
CH1 - CH2 = difference (RED)
When I look at the 16-bit values that I've received from the codec, the values are much smaller than I think they should be and almost look like a low level DC reading. I see a stream of values that range from 0x0029 up to 0x002C.
The input signals look okay to me and I would expect to see something close to mid-range or more given the input differential signal peak-peak is about 1.34v.
What am I missing here? Is there some other register setting required to get the input signal path enabled though to the digital output stream?
Thanks,
Chris