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.

TAS2110EVM: TAS2110 - PPC3 config implemented, bad VBAT data

Part Number: TAS2110EVM
Other Parts Discussed in Thread: TAS2110

Tool/software:

Hi ! 

I used PPC3 to generate config, I pushed the config via i2c. 
When I try to read back vbat, I get 0's. 

Is there an extra step to power this on?
I tried writing 0x00 to register 0x02 on page 0. 

Are there any other sanity checks to determine if this device is up and running? Thanks. 

  • Hi Michael,

    Are you using EVM for this test? Can you share picture of your jumper settings and power connections?

    You can also share the configuration script for review.

    You can read registers 0x24 and 0x25 to check if there's any interrupt flag triggered. Checking the device getting properly powered up may be more important as you can't seem to write and read the registers properly.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • Thanks Ivan. I am using the EVM for the test. 

    Currently All I2S/I2C jumpers are removed. 
    I am powering with 5v VUSB from an external breakout as shown in the picture, jumpered to VBAT on J7 and GND on J12.

    I have I2C connected to my nrf52 dev kit.
    The only jumpers populated are J17 and one pair of J7.

    I read back 0x04 from register 0x24 - Interrupt due to limiter active

    Exported config from PPC3 (I just turned it on and generated a few tones before export)

    cfg_reg registers_ch1[] = {
    
    // -----------------------------------------------------------------------------
    // Reset
    // -----------------------------------------------------------------------------
    
    // Page 0registers_ch1
        { 0x00, 0x00 },
    // Book 0
        { 0x7f, 0x00 },
    // Page 0
        { 0x00, 0x00 },
    
    // Reset Device
        { 0x01, 0x01 },
    
    // 1mS Delay
        { CFG_META_DELAY, 0x01 },
    
    //Test bits Page fd
        { 0x00, 0x00 },
        { 0x7f, 0x00 },
        { 0x00, 0xfd },
    //Password
        { 0x0d, 0x0d },
        { 0x19, 0x80 },
        { 0x32, 0x49 },
        { 0x3f, 0x21 },
        { 0x51, 0xc1 },
    
    // -----------------------------------------------------------------------------
    // Begin Device Memory
    // -----------------------------------------------------------------------------
    
    // Book 0 Page 0 (0x00) Dump
        { 0x00, 0x00 },
        { 0x7f, 0x00 },
        { 0x00, 0x00 },
        { 0x0a, 0x03 },
        { 0x0b, 0x00 },
        { 0x11, 0x00 },
        { 0x16, 0x00 },
        { 0x17, 0x00 },
        { 0x18, 0x00 },
        { 0x32, 0x81 },
        { 0x35, 0x84 },
        { 0x38, 0x21 },
        { 0x3f, 0x40 },
        { 0x40, 0xb6 },
    
    // Book 0 Page 1 (0x01) Dump
        { 0x00, 0x00 },
        { 0x7f, 0x00 },
        { 0x00, 0x01 },
    
    //Book 0 Page 2
        { 0x00, 0x00 },
        { 0x7f, 0x00 },
        { 0x00, 0x02 },
        { 0x0c, 0x40 },
        { 0x0d, 0x00 },
        { 0x0e, 0x00 },
        { 0x0f, 0x00 },
        { 0x10, 0x03 },
        { 0x11, 0x4a },
        { 0x12, 0x51 },
        { 0x13, 0x6c },
        { 0x14, 0x2d },
        { 0x15, 0x6a },
        { 0x16, 0x86 },
        { 0x17, 0x6f },
        { 0x18, 0x45 },
        { 0x19, 0xee },
        { 0x1a, 0x3a },
        { 0x1b, 0x8f },
        { 0x1c, 0x16 },
        { 0x1d, 0x66 },
        { 0x1e, 0x66 },
        { 0x1f, 0x66 },
        { 0x20, 0x34 },
        { 0x21, 0xcc },
        { 0x22, 0xcc },
        { 0x23, 0xcd },
        { 0x24, 0x10 },
        { 0x25, 0x00 },
        { 0x26, 0x00 },
        { 0x27, 0x00 },
        { 0x28, 0x2b },
        { 0x29, 0x33 },
        { 0x2a, 0x33 },
        { 0x2b, 0x33 },
        { 0x2c, 0x2b },
        { 0x2d, 0x33 },
        { 0x2e, 0x33 },
        { 0x2f, 0x33 },
        { 0x30, 0x7f },
        { 0x31, 0xfb },
        { 0x32, 0xb6 },
        { 0x33, 0x14 },
        { 0x34, 0x80 },
        { 0x35, 0x04 },
        { 0x36, 0x49 },
        { 0x37, 0xed },
        { 0x38, 0x7f },
        { 0x39, 0xf7 },
        { 0x3a, 0x6c },
        { 0x3b, 0x28 },
        { 0x3c, 0x3f },
        { 0x3d, 0x59 },
        { 0x3e, 0xd1 },
        { 0x3f, 0x12 },
        { 0x40, 0x12 },
        { 0x41, 0x2f },
        { 0x42, 0x44 },
        { 0x43, 0x62 },
        { 0x44, 0x00 },
        { 0x45, 0x00 },
        { 0x46, 0x3e },
        { 0x47, 0x7f },
        { 0x48, 0x02 },
        { 0x49, 0x46 },
        { 0x4a, 0xb4 },
        { 0x4b, 0xe4 },
        { 0x4c, 0xe0 },
        { 0x4d, 0x00 },
        { 0x4e, 0x00 },
        { 0x4f, 0x01 },
        { 0x50, 0x6e },
        { 0x51, 0xd9 },
        { 0x52, 0xeb },
        { 0x53, 0xa1 },
        { 0x54, 0x00 },
        { 0x55, 0x00 },
        { 0x56, 0x00 },
        { 0x57, 0x04 },
        { 0x58, 0x08 },
        { 0x59, 0x09 },
        { 0x5a, 0xbc },
        { 0x5b, 0xc4 },
        { 0x5c, 0x01 },
        { 0x5d, 0xc9 },
        { 0x5e, 0x24 },
        { 0x5f, 0x92 },
        { 0x60, 0x00 },
        { 0x61, 0x12 },
        { 0x62, 0x49 },
        { 0x63, 0x25 },
        { 0x64, 0x00 },
        { 0x65, 0x20 },
        { 0x66, 0xc4 },
        { 0x67, 0x9c },
        { 0x6c, 0x00 },
        { 0x6d, 0x00 },
        { 0x6e, 0x12 },
        { 0x6f, 0xc0 },
        { 0x70, 0x7f },
        { 0x71, 0xfb },
        { 0x72, 0xb6 },
        { 0x73, 0x14 },
        { 0x74, 0x80 },
        { 0x75, 0x04 },
        { 0x76, 0x49 },
        { 0x77, 0xed },
        { 0x78, 0x7f },
        { 0x79, 0xf7 },
        { 0x7a, 0x6c },
        { 0x7b, 0x28 },
        { 0x7c, 0x72 },
        { 0x7d, 0x14 },
        { 0x7e, 0x82 },
        { 0x7f, 0xc0 },
    
    //Book 0 Page 4
        { 0x00, 0x00 },
        { 0x7f, 0x00 },
        { 0x00, 0x04 },
        { 0x58, 0x00 },
        { 0x59, 0x00 },
        { 0x5a, 0x00 },
        { 0x5b, 0x64 },
        { 0x5c, 0x40 },
        { 0x5d, 0xbd },
        { 0x5e, 0xb7 },
        { 0x5f, 0xc0 },
        { 0x60, 0x39 },
        { 0x61, 0x80 },
        { 0x62, 0x00 },
        { 0x63, 0x00 },
        { 0x64, 0x2d },
        { 0x65, 0x6a },
        { 0x66, 0x86 },
        { 0x67, 0x6f },
        { 0x68, 0x02 },
        { 0x69, 0x46 },
        { 0x6a, 0xb4 },
        { 0x6b, 0xe4 },
    
    //Book 100 Page 8
        { 0x00, 0x00 },
        { 0x7f, 0x64 },
        { 0x00, 0x08 },
        { 0x1c, 0x50 },
        { 0x1d, 0x17 },
        { 0x1e, 0x01 },
        { 0x1f, 0xc0 },
    
    //Book 100 Page 7
        { 0x00, 0x00 },
        { 0x7f, 0x64 },
        { 0x00, 0x07 },
        { 0x38, 0x2f },
        { 0x39, 0x33 },
        { 0x3a, 0x33 },
        { 0x3b, 0x33 },
        { 0x3c, 0x00 },
        { 0x3d, 0x00 },
        { 0x3e, 0x00 },
        { 0x3f, 0x00 },
        { 0x40, 0x04 },
        { 0x41, 0xcc },
        { 0x42, 0xcc },
        { 0x43, 0xcd },
        { 0x48, 0x09 },
        { 0x49, 0x99 },
        { 0x4a, 0x99 },
        { 0x4b, 0x9a },
        { 0x4c, 0x00 },
        { 0x4d, 0x00 },
        { 0x4e, 0x00 },
        { 0x4f, 0x00 },
    
    //Book 100 Page 18
        { 0x00, 0x00 },
        { 0x7f, 0x64 },
        { 0x00, 0x12 },
        { 0x10, 0x1e },
        { 0x11, 0x2e },
        { 0x12, 0x14 },
        { 0x13, 0x7b },
        { 0x14, 0x21 },
        { 0x15, 0x3d },
        { 0x16, 0x70 },
        { 0x17, 0xa4 },
        { 0x18, 0x24 },
        { 0x19, 0x4c },
        { 0x1a, 0xcc },
        { 0x1b, 0xcd },
        { 0x1c, 0x27 },
        { 0x1d, 0x5c },
        { 0x1e, 0x28 },
        { 0x1f, 0xf6 },
        { 0x20, 0x2a },
        { 0x21, 0x6b },
        { 0x22, 0x85 },
        { 0x23, 0x1f },
        { 0x24, 0x2d },
        { 0x25, 0x7a },
        { 0x26, 0xe1 },
        { 0x27, 0x48 },
        { 0x28, 0x30 },
        { 0x29, 0x8a },
        { 0x2a, 0x3d },
        { 0x2b, 0x71 },
        { 0x2c, 0x33 },
        { 0x2d, 0x99 },
        { 0x2e, 0x99 },
        { 0x2f, 0x9a },
        { 0x30, 0x36 },
        { 0x31, 0xa8 },
        { 0x32, 0xf5 },
        { 0x33, 0xc3 },
        { 0x34, 0x39 },
        { 0x35, 0xb8 },
        { 0x36, 0x51 },
        { 0x37, 0xec },
        { 0x38, 0x3c },
        { 0x39, 0xc7 },
        { 0x3a, 0xae },
        { 0x3b, 0x14 },
        { 0x3c, 0x3f },
        { 0x3d, 0xd7 },
        { 0x3e, 0x0a },
        { 0x3f, 0x3d },
        { 0x50, 0x1c },
        { 0x51, 0x94 },
        { 0x52, 0x7a },
        { 0x53, 0xe1 },
        { 0x54, 0x1f },
        { 0x55, 0xa3 },
        { 0x56, 0xd7 },
        { 0x57, 0x0a },
        { 0x58, 0x22 },
        { 0x59, 0xb3 },
        { 0x5a, 0x33 },
        { 0x5b, 0x33 },
        { 0x5c, 0x25 },
        { 0x5d, 0xc2 },
        { 0x5e, 0x8f },
        { 0x5f, 0x5c },
        { 0x60, 0x28 },
        { 0x61, 0xd1 },
        { 0x62, 0xeb },
        { 0x63, 0x85 },
        { 0x64, 0x2b },
        { 0x65, 0xe1 },
        { 0x66, 0x47 },
        { 0x67, 0xae },
        { 0x68, 0x2e },
        { 0x69, 0xf0 },
        { 0x6a, 0xa3 },
        { 0x6b, 0xd7 },
        { 0x6c, 0x32 },
        { 0x6d, 0x00 },
        { 0x6e, 0x00 },
        { 0x6f, 0x00 },
        { 0x70, 0x35 },
        { 0x71, 0x0f },
        { 0x72, 0x5c },
        { 0x73, 0x29 },
        { 0x74, 0x38 },
        { 0x75, 0x1e },
        { 0x76, 0xb8 },
        { 0x77, 0x52 },
        { 0x78, 0x3b },
        { 0x79, 0x2e },
        { 0x7a, 0x14 },
        { 0x7b, 0x7b },
        { 0x7c, 0x3e },
        { 0x7d, 0x3d },
        { 0x7e, 0x70 },
        { 0x7f, 0xa4 },
    
    };
    


  • The internal SAR conversion requires SBCLK to be up and running for proper operation. You'll have to provide TDM/I2S clocks to the device to be able to read VBAT from I2C registers.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • Thanks Ivan. I will give this a try. Currently wrestling with zephyr so I'll get back to you in a few days. 

  • Hi ! Finally resolved my zephyr issue. I have SBCLK up and running, and I'm sending 0's for silence. 

    I'm still getting 0's when I boot up and read VBAT. Do I need to push the config from PPC3 before attempting to read vbat? 



  • Here is an updated waveform trying to set book0/page0 first. 

  • one more, with PWR set to 0 (from POR 0x0E) 

  • Hi Michael,

    Are you not initializing the TAS2110 in PPC3 before reading regsiters 2a and 2b?

    You will need to do this in order for the device to readback proper vbat values. 

    Regards,

    Sebastian 

  • ah okay. so I do need to push the exported config from PPC3 before this will work properly. 

    so to summarize

    • prime the i2s data with a silence buffer of 0's, trigger and start the I2S
    • push a lot of i2c registers exported from purepath console
    • read vbat
    • start pushing the i2s sine wave as a test that init was successful (later to be removed)
  • Hi Michael,

    Your understanding is correct. 

    Regards,

    Sebastian