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.

TAS6584-Q1: Audio clipping issue

Part Number: TAS6584-Q1

Hi,
I am using TAS6584 AMPLIFIER in my project and facing Audio clipping issue, I have tryied by changing the Analog gain to Zero but still issue is there, I have from DSP team (proving input Audio for Amplifier) from there side there is no issue. can help me here with any regiester by changeing which i can fic this issue ?

Regards,
Puneet

  • Puneet,

    Would you describe more details and behavior of the clipping issue you meet. Schematic, audio input waveform, output waveform, current register configuration.

    what audio format the DSP side provide? TMDx? is there 1bit shifted?  

    Dylan

  • Hi,
    Audio clipping issue is happening when we are playing Audio at high volume.
    I been asked to write the register on Amplifier DSP registers to (book 8C on page 2)
    On register 0x74 with values 0x07 0x21 0x48 0xC2.

    but I am not able yo change the book to 8C from 00.
    I am following the setups like
    1. change the page to 00
    2. write on 7F register with 8c(new book value)
    3. then move the page value to 0x02(new page value)
    but Book value still showing 0x00.

    can you help me here how can I change the book from 00 to 8C?

  • Hi Puneet,

    I'm not sure if you're reading the actual Book value. Can you provide more detail as to how you're reading this book value? To my knowledge, you can't actually read book values? 

    To do what you mentioned above, can you double check that your i2c sequence exactly as the following (assuming that your i2c address is C0):

    w C0 00 00

    w C0 7F 8C

    w C0 00 02

    w C0 74 07 21 48 C2

    Elise

  • Hi,
    I am following the same and able to change the Book to 0x8C but when I am changing the page on book 8C the value of Book also get changes to 0x00.
    Do i need to enable something to persist the book value  ? or any other change is needed?
    I am stuck here from 3-4 days with no luck.

    Given snapshot of my logic for reference:-

    "

        uint8_t data[2] = {TAS658X_REG_RESERVED_0, 0x00};      

        uint8_t *write_arrs[] = {data};
        uint8_t arrs_size[] = {sizeof(data)};
        Tas658x_Amp_Burst_Write_Register(amp_ptr_test, write_arrs, 1, arrs_size);
        Tas658x_Amp_Read_Register((amp_ptr_test->i2c_address),TAS658X_REG_RESERVED_0, (uint8_t *) &(amp_ptr_test->reg.reg[TAS658X_REG_RESERVED_0]), (uint8_t) 0x01);
        Tr_Notify_1("AMP: After Updating PAGE ----At Page %x ", amp_ptr_test->reg.reg[TAS658X_REG_RESERVED_0]);

        uint8_t data1[2] = {TAS658X_REG_RESERVED_7F, 0x8C};    
        uint8_t *write_arrs1[] = {data1};
        uint8_t arrs_size1[] = {sizeof(data1)};
        Tas658x_Amp_Burst_Write_Register(amp_ptr_test, write_arrs1, 1, arrs_size1);

        //amp_ptr_test->reg.bit.tas658x_reg_reserved_7F.reserved0_1 = 0x8C;         // W 0xC0 0x7F 0x8C
        //bool_t ret = Tas658x_Amp_Write_Register(amp_ptr_test, (uint8_t) TAS658X_REG_RESERVED_7F, 0x01);
        Tas658x_Amp_Read_Register((amp_ptr_test->i2c_address),TAS658X_REG_RESERVED_7F, (uint8_t *) &(amp_ptr_test->reg.reg[TAS658X_REG_RESERVED_7F]), (uint8_t) 0x01);
        Tr_Notify_2("AMP: After Updating the Page and book----At PAGE %x BOOK %x",
            amp_ptr_test->reg.reg[TAS658X_REG_RESERVED_0],
            amp_ptr_test->reg.reg[TAS658X_REG_RESERVED_7F]);
       
        uint8_t data2[2] = {TAS658X_REG_RESERVED_0, 0x01};
        uint8_t *write_arrs2[] = {data2};
        uint8_t arrs_size2[] = {sizeof(data2)};
        Tas658x_Amp_Burst_Write_Register(amp_ptr_test, write_arrs2, 1, arrs_size2);

    "

  • Hi Puneet,

    but when I am changing the page on book 8C the value of Book also get changes to 0x00.
    Do i need to enable something to persist the book value  ? or any other change is needed?

    The Book number won't change.

    It's just you can't read the Book number, because only at Page0, 0x7f register represent the Book number. After you change into some other page, the 0x7f register is for some other purpose, you can't get the Book number anymore. But the Book won't change. 

  • Very Good Morning.
    Thanks for your response, This information is conclusive for me.

    My second doubt is . For line "w C0 74 07 21 48 C2"  the all 32 bit data has to write on register 0x74 only of first byte has to write on 0x74 and second byte at 0x75 third byte has to write on 0x76 and last byte on 0x77 ?

  • Hi Puneet

    Only of first byte has to write on 0x74 and second byte at 0x75 third byte has to write on 0x76 and last byte on 0x77.

    All  of this device's register only have 1 byte length.

  • Thanks you so much for your response.
    I am good now.