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.

TAS5782M: Question about TAS5782m in I2S Slave Mode when playing music

Part Number: TAS5782M

Hi Sirs,
we currently use TAS5782m as slave, and CSR8675 as master, target signal frequency is SCLK =3.072MHz, LRCK =48KHz, standard i2s and sample rate is 24bits. Encountered a problem that there may be no sound under certain conditions, including: song switching, song playback (may be a small volume) and when switching tracks. Attach the file currently in use. Would you please review if there is any missing to bring up TAS5782m in I2S slave mode?

8524.TAS5782M-20180927.rar

Thanks a lot.

  • HI Carsound,

    I see a cfg file and PPC file in the attachment. May I know whether this measurement is based on TI EVM or user's board? If the later one, could you please show us the SCH? We are reviewing the cfg file and will get back to you later.

    Best regards,

    Shawn Zheng

  • Hi Shawn Zheng,

    sure, we will provide you with the circuit diagram then.
    And there's one more problem about change it to the i2s master mode, the parameters we set are as follows with reference to SPEC, but there is no CLOCK output. Would you please review it for us? Thanks a lot.
    { 0x00, 0x00 },
    { 0x02, 0x10 },
    { 0x09, 0x11 },
    { 0x0d, 0x00 },
    { 0x12, 0x03 },
    { 0x0c, 0x7f },
    { 0x0e, 0x10 },
    { 0x14, 0x00 },
    { 0x15, 0x08 },
    { 0x16, 0x07 },
    { 0x17, 0x80 },
    { 0x18, 0x00 },
    { 0x20, 0x0f },
    { 0x21, 0x1f },
    { 0x28, 0x02 },
    { 0x02, 0x00 }

    Best regards,

    carsoundlin
  • Hi Shawn Zheng,

    Attache the SCH file, please review it, thank you.

    Analog_PA_20180709.pdf

  • Hi Carsound,

    As to the configuration of TAS5782 in I2S master mode, please refer to e2e.ti.com/.../712412 for details.

    Regards,
    Alix Wan.
  • Hi Carsound,

    As to the no sound issue, please help to clarify with more details:

    • When song switching, does the I2S (SCLK, LRCLK) is always on or not? If I2S is always on when no sound issue, please check the whether ratio of SCLK/BCLK changed or not; 
    • I do not think anything missing in your configuration of .ppc3 file.

    In summary, I am suspecting the I2S signal from CSR8675 is abnormal when no sound issue happens. Hence, please help to debug in this way.

    Please help to update to me with scopes if possible.

    Regards.

    ALix Wan

  • Now, is not no sound, is sound will be break, like pause & replay song again, will no sound,
  • Hi ALix Wan,
    I2S is always on when no sound issue, and value of register "Clock Detector 0x5E" is 0x42, it means that SCLK is invalid, as to this situation, we are going to configure TAS5782 in I2S master mode.
    As to configure TAS5782 in I2S master mode, there are 2 ways, one way is to provide MCLK and then get SCLK and LRCK as the reference you suggest; another way is to provide from GPIO0 and then get MCLK, SCLK and LRCK, we have problem in this way with the configuration above, would you please help as to review it, thanks a lot.

  • Hi Carsound,

    Difference between method 1 and method is whether Clock Master is from a Non-Audio Rate Master Clock or not. Now that you choose method 2: use GPIO as input to obtain MCLK=24.576MHz, SCLK=1.536MHz and LRCLK 48KHz, you solution maybe as bellow:

    This solution may be kind of difficult as we need to take input source into consideration. At least, pll is needed to be configured. I will generate the scripts for your reference. But would you share more information for me?

    1. Is it possible to use method 1? If yes, please refer to https://e2e.ti.com/support/audio/f/6/t/712412?tisearch=e2e-quicksearch&keymatch=TAS5782%20master
    2. Which GPIO is chosen to be input clk and output clk?
    3. What is the frequency of input clk (3.04MHz?)
    4. Is the input clk stable all the time?

    Regards,

    Alix Wan.

  • Hi Alix Wan,
    Thanks for your kindly reply, we want to try the 2nd method first. More information are as follows,
    1. A 12MHz clock input to GPIO 0
    2. GPIO 2 will output a clock of 12.288MHz and as a input to MCLK
    3. And then generate a 3.072MHz SCLK and a 48KHz LRCK from 12.288MHz MCLK
    4. The 12MHz clock input to GPIO 0 is providing by a oscillator, it will be stable all the time

    Please generate the corresponding scripts for us, thank you very much.
  • HI Carsound,

    GPIO2 cannot output 12.288MHz and can only output 24.576MHz due to internal clock requirements.

    Hence, based on your spec, I would recommend following scripts for you. Please try and debug.
    Any futher debug comments are welcome for further analysis.

    #Recommended scripts: see page 39 of DS for more details
    w 90 00 00
    w 90 02 10 #enter standby
    w 90 25 01 # just disable clock auto detection;


    #configure GPIO0 as clk input && GPIO2 as output
    w 90 08 20 #GPIO2 output GPIO0 as input
    w 90 52 10 #PLL output to GPIO2
    w 90 0D 30 #configure PLL ref clk=GPIO
    w 90 12 03 #GPIO0 is input

    #98.304MHz is divided by 4 and output 24.576MHz to GPIO2
    w 90 14 00 #p=1
    w 90 15 08 #J=8
    w 90 16 02 #MSB: D=02
    w 90 17 53 #LSB: D =53 hence:D=0253
    w 90 18 08 #R = 1

    #configre OSR and Fs
    w 90 1E 07
    w 90 22 03

    #configre SCLK and BCLK output
    w 90 20 07 #SCLK = Master clk/8 = 3.072MHz
    w 90 21 3f #LRCLK = SCLK/64 =48KHz
    w 90 09 11 #LRCLK and SCLK output enable
    w 90 0c 7f #reset clock
    w 90 28 00
    w 90 02 00



    Regards,
    Alix Wan.
  • Hi Alix Wan,
    Is it correct to add the scripts at the end and before unmute of the scripts that TAS5782m is used as slave mode?
    If yes, I found that GPIO2 has no output signal, would you please help us find out the problem? Thanks.
  • Hi Carsound,

    The scripts are suggested to be added at first part of your scripts. Please try to add them after the deivce is reset.

    Furhter, I am kind of confused about words of "TAS5782m is used in slave mode" As you known, we are talking about I2S master mode now rather than slave mode.

    For your further test, I would suggest you to test just with my scripts adding basic setting you want (like fsw or modulation mode etc.).

    After I2S master mode is running well, than you can integrate them into your scripts.

    Alix Wan,

    Regards



  • Hi Alix Wan,

    Thanks for your help.
    we add PLL enable and modify the value of some PLL function factors, now it works well.