This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3204 ADC-DOUT pin issue

Other Parts Discussed in Thread: TLV320AIC3204

We are using TLV320AIC3204 audio codec in our application.It is interfaced with microchip microcontroller dsPIC33FJ128GP306A.We are using I2S protocol for audio data communication between this two. We are facing following issue: 1. We have connected a mic to codec input.We want to read audio data from mic through codec and process this data with our MCU. We have enabled ADC channel following is our configuration. INT8U ADC_reg[] = { 0 , 1, 18 , 19 , 20 , 29 , 53 , 61 , 0 , 1 , 2 , 14 , 15, 9 , 10 , 61 , 71 , 123 , 51 , 52 , 54 , 55 , 57 , 59 , 60 , 0 , 83 , 84 , 81 , 82 } ; INT8U ADC_regval[] = { 0x00, 0x01, 0x81, 0x82, 0x80, 0x00, 0x12, 0x01, 0x01, 0x08, 0x00, 0x08, 0x08 , 0x0C, 0x00, 0xFF, 0x31, 0x01, 0x68, 0x01, 0x10, 0x01, 0x10, 0x0C, 0x0C , 0x00 , 0x02 , 0x02, 0xC0 , 0x00 } ; (First array define register number and second array define value of that register). Once ADC is initialized we start to get garbage value on DOUT pin of CODEC.We have verified through Oscilloscope that data is generated by CODEC only.Once we start speaking on MIC.Some sort of data variation is observed on DOUT pin,but even if there is no any activity on MIC ccontinuous data is observed on DOUT pin.Hence MCU is not able to process audio data coming from Codec correctly.Please help us to resolve this issue. 2. We have tried to send the audio data through MCU on DIN pin of codec.We are able to play this data through a speaker connected to codec.Hence we are confident that our logic for I2S communication is correct for transmission,but we our not able to figure out audio data reception.Below is the DAC register configuration that works fine in our application. INT8U arr_DAC0[] = { 0, 1, 11, 12, 13, 14, 27, 28, 60, 65, 66, 0, 1, 2, 123, 20, 10, 14, 15, 18, 19, 9 , 0, 63, 64, 53, 54 } ; INT8U arr_DACvalue0[] = { 0x00, 0x01, 0x81, 0x82, 0x00, 0x80, 0x00, 0x00, 0x01, 0x1E, 0x1E, 0x01, 0x08, 0x00, 0x01, 0x00, 0x00, 0x08, 0x08, 0x1D, 0x1D, 0x0C , 0x00, 0xD4, 0x00, 0x12, 0x02 } ; (First array define register number and second array define value of that register). Please help me to resolve this issue at earliset.