We have implemented a new hardware design where we've connected an MSP430F5359 to the TLV320AIC34 using the method described in the SLAA449A application note. This provides a means by which the SPI interface on the MSP430 can be used to drive the IIS data stream in "Left-Justified" mode.
I generated a "sine wave" data table to test the interface. The sine wave data spanned the full 16-bit range (values from 0 to 65535). When I sent this data to the codec, I observed the following wave form on the DAC Line Level output:
It looked to me like that full 16-bit data wasn't making into the codec properly, so I divided the input by 4 resulting in an input data stream that spanned a 14 bit range (0 to 16383). When I sent this data to the codec, I observed a sine wave but the "top" appeared to be clipping slightly:
So there are a couple of things here that are confusing me. First, I don't understand why I don't seem to be able to get the full 16-bit signal through the codec. Second, I don't understand why there is such a large DC offset in the signal. It seems shifted higher than it should be.
Here is a short list of how I am configuring the registers in the TLV320AIC34 to get this far:
Register 7 = 0x8A
Register 43 = 0x00
Register 37 = 0xC0
Register 82 = 0x80
Register 86 = 0x09
Any help you can send my way would be greatly appreciated.
Thanks,
Chris.