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.

TLV320ADC5140: Only first two channels working

Part Number: TLV320ADC5140

I am using 4 analog differential microphones with TLV320ADC5140. The problem is it only reads data from the first 2 channels only even after following sequence from datasheet. What could be the problem?

  • Hey Basit, 

    Is it possible to read back what is in address = 0x74 & 0x75 after writing to enable all 4 channels ? These two register settings should help enable the input and output of ch1 to ch4.

    # Enable Input Ch-1 to Ch-4 by I2C write into P0_R115

    w 98 73 F0

    # # Enable ASI Output Ch-1 to Ch-4 slots by I2C write into P0_R116

    w 98 74 F0.

    The datasheet also states how to select your differential input src. Here is an example for ch1 in address 0x3c

    Regards,

    Ore.

  • Hi Ore,

    Yes I am configuring those, the values that written can be read also but still only first two channels are working. For the 0x3C register all values are at default which is 0h which satisfies the MIC parameters. Here is the code snapshot:

  • Hey Basit,

    First, I would like to mention the best way to set your registers is using ppc3. I went ahead and made your configurations on my end, try matching your register settings to this and let me know if it works on your end.  Maybe your protocol format is selecting i2s which supports 2 channels and not tdm which supports more than 2 channels. Read your address = 0x07 and see if it selects tdm. 

    # CHECKSUM 0
    # Generated by ADCx140EVM-SW v3.0.5
    # TLV320ADC5140 device configuration
    # -----------------------------------------------------------------------------
    # Reset
    # -----------------------------------------------------------------------------
    # Select Page 0
    w 98 00 00
    # Reset Device
    w 98 01 01
    # 1mS Delay
    # -----------------------------------------------------------------------------
    # Begin Device Memory
    # -----------------------------------------------------------------------------
    # Page 0 (0x00) Dump
    # Select Page 0
    w 98 00 00
    # Wake up and enable AREG
    w 98 02 81
    # Channel Input/Output Configuration
    w 98 74 f0
    # Power up/down
    # Select page 0
    w 98 00 00
    w 98 75 e0

    Regards, 

    Ore.

  • Hi Ore,
    Can this be done using I2S only? I2S has many channels, will it send data over it? Actually I am using ESP32-WROVER-E which does not support TDM and only I2S is support is there. Is there a way to get all 4 differential MICs data over the I2S interface?

  • Hi Basit,

    TI does not support ESP32-WROVER-E and configuring the i2s bus would be done using i2c. The i2s mode is designed for only two channels and not 4 channels. You would need your set up to support 4 channels of data. 

    Regards,

    Ore.