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.

TLV320ADC3101: DOUT not displaying any output

Part Number: TLV320ADC3101

Hello,

I have been having troubles receiving any output from the TLV320ADC3101. I have the I2S set up in my environment and it seems to be getting values but all the values are reading as 0s. I have checked the common mode voltage and made sure that it is around 1.3V. I have also double checked that the input into the TLV320ADC3101 (i.e. the microphone) is correct. I was wondering if there was any way to know the cause of the problem? I have attached the header file generated by PurePath Studio. I have made sure that the I2C was working by writing to a register and reading back the value to see that it was the one I had written in.

Any help would be appreciated. Thanks in advance.

7215.base_main_Rate8_pps_driver.h

  • Hi, Nicole,

    From the register settings you sent, it seems only the Left channel is used, however, the Left PGA gain is muted while Right PGA is not muted. 

    // # reg[1][59] = 0xd0 ; reg(1)(0x3b => 59) ADC unmute left mic PGA and set to 40db gain

    { 59,0xD0},

    // # reg[1][60] = 0x10 ; reg(1)(0x3c => 60) right pga muted

    { 60,0x10},

    Bit D7 of Left/Right Analog PGA settings registers mutes the corresponding PGA when set to '1':

    Please change this in your system and let us know the result.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Hello Diego,

    Oops! I changed it now

    //			# reg[1][59] = 0x50                       ; reg(1)(0x3b => 59)     ADC unmute left mic PGA and set to 40db gain
        { 59,0x50},
    //			# reg[1][60] = 0x80                       ; reg(1)(0x3c => 60)     right pga muted
        { 60,0x80},

    I am still not getting an output from DOUT, though.

    Thanks,

    Nicole

  • Hi, Nicole,

    Thanks for the feedback. The code seems to be in order but I wonder about the miniDSP process configuration; we can't determine from the code if a setting in the miniDSP is muting the output of the device. Have you tried testing the  device with one of the processing blocks? this way we can check if the miniDSP is affecting the output data. In order to bypass the programmable minDSP, you must select any of the available processing blocks in register 61. the description for each one of the available processing blocks can be found in section 10.3.12.1 of the datasheet.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Hello Diego,

    I tried to use the first processing block by writing 0x01 to Page 0 Register 61 but the output still seems to be 0 for DOUT.

    Is it possible to get sample code for the TLV320ADC3101? I did notice that there was a Linux driver but there was nothing for embedded systems. I did also look at the sample project on the product page that was used in the wireless microphone but could not find anything that initialized the TLV.

    Thanks in advance.

  • Hi, Nicole,

    You can find some basic configuration scripts in the Audio recording section of the TLV320ADC3101EVM GUI, you can use them as reference on how to initialize the device. 

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer 

  • Hello Diego,

    I was finally able to get something from DOUT using one of the processing blocks. However, when I try to program the TLV with the miniDSP code, it no longer works. Do I need to write to all the pages on the miniDSP? I was deleting some of the pages that contained only 0 writes because it was causing memory problems on my microcontroller.

    Other things to note are that the voltage supply is stable and it is coming from the external LDO. Also, the PLL of the TLV seems to be working.

    Thanks,
    Nicole

  • Hi, Nicole,

    The miniDSP of the TLV320ADC3101 should be configured with PurePath Studio and all the pages should be written according to the exported code, otherwise the operation of the miniDSP might not be correct.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Hello Diego,

    Here is the header file that I am using. If I change the write to page 0 register 61 to 0x00, then it should read from the miniDSP and this is where the problem arises.

    The code below that is the miniDSP initialization code. I included all the page writes this time (before, I deleted some of the pages that were only writing 0s).

    I am still not getting any results on DOUT when trying to using the miniDSP.

    Thanks,

    Nicole

    6087.base_main_Rate8_pps_driver.h

  • Hi, Nicole,

    This confirms that the issue is related to the miniDSP configuration. We can't check the miniDSP settings from the code, so could you please provide the PurePath studio file so we can check the block diagram?.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Hello Diego,

    Here is a process flow that I have been using. The code that I was using was the header file base_main_Rate8_pps_driver.h.

    Thanks,

    Nicole

    7242.ProcessFlow1.zip