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.

TAS5414A Setting Mute Mode

Other Parts Discussed in Thread: TAS5414C, TAS5414A

Hello,

I tried to place the 2 channels / both in Hi-Z / into Mute mode via I2C as follows.

1.Write 0xFC to register 0x0C.
2.I read register 0x06 several times, but still I've read only 0x00.

What am I doing wrong?

Is there any manual for the operation of this circuit?

Thanks

Peter



  • Hi Peter,

    The TAS5414C datasheet can be found on ti.com.  Just search for the device and it can be located. 

    The code you are writing to register 0x0C will reset the device.  The proper I2C code to put the outputs into mute mode is 0x0F into register 0x0C.  The four channels will be in mute mode.  The proper code for all four channels into play mode is 0x00 into register 0x0C. 

  • Hi Gregg,

    I'm sorry my mistake.

    I write 0x7C to register 0x0C and I read register 0x06 several times, but still I've read only 0x00.

    You wrote: 0x0F into register 0x0C to set Mute mode, but in datasheet is stated:

              D0  = 0, Set channel 1 to mute mode,

              D1  = 0, Set channel 2 to mute mode,  ....

    I need set "Mute mode" for two channels at once.  Not for all four channels.


    In addition, I have other question:

    - all latched register are cleared by reading ?

    - are Fault Reg 1, Fault Reg2 and Stat Reg 1 cleared after reset via I2c ?

    - can I changed gain in play mode ?


    Regards,

    Peter


  • Peter,

    I will try to clarify this for you.

    Do you wish to mute only two channels and leave the other two in play mode?  I need to know your setup for proper I2C commands.

    Registers 0x00 and 0x01 will clear on read.  If the fault is still present it will re-assert the bit.

    Registers 0x02 and 0x03 will clear when a successful load diagnostics test is run. 

    In the TAS5414A, the gain cannot be changed in play mode.  In the TAS5414B and TAS5414C, the gain can be changed in play mode. 

  • Hi Gregg,

    You wrote : Do you wish to mute only two channels and leave the other two in play mode?

    I wish place two channel to play mode this way:  HiZ -> Mute Mode -> Play Mode,  independently of the other two channels.

    I will try to explain the whole project:

    We develop audio amplifier with two outputs 2 x 50W. Channel 1 and 2 are connected parallel and channel 3 and 4 also.

    This is a simplified flowchart of my program:

    Start
        - delay 300ms
        - reset i2c via I2c to set default setting
        - check signal FAULT
              if FAULT = 0 -> this is error, goto START  
              if FAULT = 1 -> not error, continue

            - check Status Register 1 (0x04) Fault detection
                    if value != 0 -> this is error, goto START
                    if value = 0, not error, continue

              - check Is Hiz mode ?  for all channels
                    if not HiZ mode ->  goto START
            
            - if Channel 1 and Channel 2 are in Hiz mode -> run Load Diagnostic    It's working properly    

            - if Channel 1 and Channel 2 are in Hiz mode -> run Load Diagnostic    It's working properly

            
            - if Channel 1 and Channel 2 are not shorted -> Set both to Mute mode
            - if Channel 1 and Channel 2 are in Mute Mode -> Set both to Play mode

            - if Channel 3 and Channel 4 are not shorted -> Set both to Mute mode
            - if Channel 3 and Channel 4 are in Mute Mode -> Set both to Play mode


    Best Regards

    Peter

  • Peter,

    Thank you for the details.  I see how I can help you now.

    I see that you are trying to move the channels into mute mode separately.  The TAS5414A cannot mute individual channels, but can only mute all channels. 

    I suggest the following change to your flow:

    Run load diagnostics on all four channels at one time. 
    Read Register 0x02 and see if channel 1 and 2 are connected properly
    Read Register 0x03 and see if channel 3 and 4 are connected properly
    If register 0x02 > 0 then leave both channel 1 and 2 in Hi-Z mode, do NOT place in mute. 
    If register 0x03 > 0 then leave both channel 3 and 4 in Hi-Z mode, do NOT place in mute.
    You have four cases you need to evaluate:
    CASE 0x02 > 0 and 0x03 >0
         leave all channels in Hi-Z, do not write anything to register 0x0C
    CASE 0x02 = 0 and 0x03>0
         place channels 1 and 2 into play, leave channels 3 and 4 in Hi-Z, write to register 0x0C the value, 0x0C
    CASE 0x02 > 0 and 0x03=0
         leave channels 1 and 2 in Hi-Z, place channels 3 and 4 into play, write to register 0x0C, the value, 0x03
    CASE 0x02 =0 and 0x03 = 0
         place all channels into play, write to register 0x0C, the value, 0x00

    I hope this makes more sense for you. 

  • Hi Gregg,

    Thank you for your quick answer.

    To check if I understand it:

    Bit D0, D1, D2, D2 in register 0x0C determines the channel on which will affect the setting bit D4.

    For example:

    Set the channel 2 to play mode:   D1 = 0, D4 = 0     
    Set the channel 2 to mute mode:   D1 = 0, D4 = 1

    Is that right?


    I have another problem:

    1. Overtemperature Warning

       If I detect this state / by read Status register 1 /, I would like to decrease the gain. How do I do it ?


    2. Overtemperature Shutdown

       The outputs are placed into Hi-Z mode and the FAULT pin is asserted.

       In this state I cyclically read Status register 1 and check D4 / OTSD /.
       When reset OTSD,  I set the play mode. Is that right?

    Regards

    Peter

  • Peter,

    Your mute example is correct.  In addition, you can have channel 2 in play mode and channel 1,3, and 4 in Hi-Z.  You can change channels 1 3, or 4 to play mode, by writing the correct value to register 0x0C.  The only downside is that you may hear a pop or click in the speakers.  For pop free operation, it is best to use the mute function with Bit D4 in Register 0x0C.

    Overtemperature warning.

    The best way to detect the overtemperature warning (OTW) is to detect the change on the /CLIP_OTW pin.  When you see this pin pull low, then read the status register.  The gain cannot be changed on the TAS5414A while the channel is in mute or play mode.  It can be changed only in Hi-Z mode.  The TAS5414C device has the ability to change gains while in play mode.

    Overtemperature Shutdown (OTSD)

    When the OTSD is no longer set, the channels can safely enter play mode again.  Your code will need to write to register 0x0C to place the channels in play mode.  The internal state machine will not automatically do this.

  • Hi Gregg,

    I tried set channel 1 and 2 to mode play. I wrote 0x0C  to register 0x0C.

    Then I read repeatedly Status register 3 to check play mode. The value is mostly 0x00,

    sometimes 0x02.

    I tried set all channels to mode play. I wrote 0x00 to register 0x0C.

    The value of Status register 3 was 0x0A.

    It doesnt work. What is wrong ?

    Peter

  • Peter,

    Please provide the values of register 0x00 through 0x07, when in these conditions.  I will be able to provide better insight.

  • Hi Gregg,

    I found the reasons why it did not work. After writing 0x0C to register 0x0C, occurred error: Overcurrent shuthdown channel 1. I  change setting in Control register 2 to 0xF0 / before 0x00 / and it works now.

    I have another problem:  It takes a long time before it goes into play mode.

    After power on my  program tests FAULT signal level. While is it not set, program waits. It takes about 2 sec. Then it starts load diagnostic.

    Does it make sense to test the FAULT signal after power on or it just test in mode play ?


    Regards

    Peter


  • Peter,

    I am glad you were able to debug the earlier problem.

    When the TAS5414A is powered up it is good practice to read the fault register to clear any turn on fault conditions, such as undervoltage.  Since the faults will clear on an I2C read, it is also good practice to read the fault registers again to verifry that all the faults have cleared and not set again.  When the faults are clear, the program can perform a load diagnostic test or place the outputs in play mode.