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.

TAS5751MEVM: boot of TAS5751MEVM

Part Number: TAS5751MEVM

The goal is to start up the TAS5751MEVM board from an external I2C master, to control it i.e. change volume settings and so on, to simulate the whole end system, without the purepath daughterboard.
In one situation the external I2C master is connected to connector J3.
According to the documentation the I2C master should write the configuration registers that are retrieved from the Purepath evaluation console to make it boot.
After doing so the error register shows zero's, so it seems that the TAS5751MEVM accepted the configuration, but it does not boot.

Secondly, the TAS5751MEVM has been connected to a break out board, that connects the external I2C master, I2S audio, Reset, PDN, ADR/Fault (to set I2C address to 0x54), to try to simulate the whole end system, without the purepath daughterboard. It's expected that the board starts up when the same configuration which is loaded via the external I2C master, but it does not.
So the TAS5751MEVM in no circumstances starts up, while the error register shows zero's.

Reconnecting the purepath daughterboard again to the TAS5751MEVM , starting up the purepath console, the TAS5751MEVM plays audio again.
Also the volume of the TAS5751MEVM can be controlled via the external I2C master that is connected to connector J3.

Q1: Why can the TAS5751MEVM not be started from an exernal I2C master, since no possible errors can be determined.

Q2:
When the Purepath console is started the software interface mentions that the TAS5751MEVM is connected (green dot).
How does the daughterboard determines that a TAS5751MEVM is connected? It appears that there is hidden communication.

  • Hi Leen,
    I think the issue is the I2C communication. Please try to use the I2C slave address '0x2b' and '0x2a' from the host. The address '0x54' and '0x56' in the datasheet actually includes the r/w bit. Please refer to the section 7.6.1.1 in the datasheet.
    Best regards,
    Shawn Zheng
  • Hi Shawn,

    This clearification about the address definition was described in the post of Jul 13, 2018 3:38 PM .
    The mono amplifier write address is 0x54 = 0x2A + 0 LSB and read address 0x55 = 0x2A + 1 LSB, so that's understood.
    But this doesnot bring it any closer.

    Do you have a raw file example for a monostage without any limiter, EQ and so on, just a straight forward configuration file that must work, so I can use it as a reference ?

    Have you information about Q2?

    kind regards, Leen
  • Hi Leen,

    Firstly you need to make sure the I2C communication is good, e.g read the device id in the register 0x01(the read-back should be 0x40 or 0x41), write and read back the volume register.... The min cfg for the AD+BTL mode is as below:

    w 1B 00
    w 06 00
    w 05 00

    After that, the PWM should show on the AMP output. Apply input I2S stream and adapt the volume in the register 0x07, the sound should come out.

    The board info is stored in the EEPROM U3 on the daught board, which can be used by GUI to identify the board. But I don't think it is related to this issue.

    Best regards,

    Shawn Zheng

  • Hi Shawn,

    Thank you for your input. I have tested it and find some very remarkable outcomes.

    Using my breakout board, loading the basic code via I2C and applying I2S (44.1kHz) to the TAS5751 doesnot play the audio.
    Measuring on the TAS5751, BCLK, LRCLK and DI arrives smoothly, PDN and RESET are high.
    Although the power current rises from 33 to 66mA, so the I2C commands arrive and the amp output shows PWM output, but no sound comes out.

    So I made an attempt again with the purepath daughterboard, took my breakout board away and reinstalled the daughterboard to the TAS5751EEVM.
    The external I2S is also reconnected on J4 (44.1KHz).

    Via the I2C GUI of the PP console the Ti suggested code is loaded:

    w 54 1B 00
    w 54 06 00
    w 54 05 00

    ##########################################################
    # PSIA as MCLK/I2S source
    ##########################################################

    # Change to GPIO mode
    i gpio
    # Set bank 0
    w 99 04 01
    # Clear bits (command 01) with mask 20 - clears P1.5 of Bank 0
    w 99 01 20

    # Go back to I2C mode
    i i2cfast
    # Set pins 21-24 as outputs
    w 44 0E 0F
    # Set pin 23 high (MCLK-MUX = PSIA)
    w 44 06 7F

    w 54 07 01 00

    ______

    Also the volume is set w 54 07 00 00 (and other values), but no audio plays.

    Now the following is done:

    An external audio source is connected via the coaxial input. Via the input selector of the PP console the coax input is selected, so the 'lock' led lits.

    So please have a close look because the line of the code is altered: from w 44 06 7F to w 44 06 3F
    As from a sudden the audio plays from the external I2S source.
    Disconnecting the coax stops the audio playing ('lock' is off).
    A GREAT BUT HERE: the BCLK, LRCLK and DI signals remain on the inputs of the TAS5751 amplifier (as well as on the PP daughterboard J4 connector).
    Reconnecting the coax, immediately starts playing the external I2S audio source.

    This is very remarkable and I cannot find any explenation, other than another I/O controls the TAS5751EEVM.
    I checked PDN, RESET and I2C bus but no change there.
    I have no explenation than something is not documented or a process is hidden?

    The problem remains: how to play audio with a minimum code plus an external I2S source.
    Looking forward.


    kind regards, Leen

  • Hi Leen,
    There is no hidden process. The I2C clock is always running from the PPC motherboard after configuration.
    If PWM already shows, I believe the problem should be in volume setting or I2S input. Please set the volume to 0dB(0xC0) as the start point, too high volume could trugger the amp OC fault. Please also read the Error Status Register(0x02) to see if there is any error triggered. Where is the I2S stream from? Can you please firstly try with an AP instrument as the I2S source? If ithe i2S is from a MCU, please make sure the I2S format setting is correct. We know that some customer has ever used the inverted polarity of the clock, whcih cause no output sound.
    Best regards,
    Shawn Zheng
  • There is an hidden proces....problem is solved though.