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.

Initializing TAS5705 - oscillator trim?

Other Parts Discussed in Thread: TAS5705, PCM1851A

Dear TI-Support,

I am experiencing some trouble initializing my TAS5705:

Following the instructions listed on page 44 of the datasheet everything works fine until I reach step 5.
Writing 0x00 to register 0x1B seems to crash the chip.

If I skip step 5 all the other I2C communication works fine - but the amplifier doesn't start playing.


A few questions - just to make sure that I understood everything correctly:
Is PVDD needed for the oscillator trim procedure?

On page 23 the datasheet states that, if MCLK is absent or unstable, the internal oscillator clock is used to produce the internal clock. Should the MCLK pin be left floating or pulled to DVDD/DVSS?
After some research (http://e2e.ti.com/support/amplifiers/audio_amplifiers/f/6/t/161655.aspx) I found out that this might cause the crash.
In my case I'm unable to use one of the listed devices mentioned in the Forum, but i could provide a fixed MCLK=24.576MHz - will this work for different audio sources?

I would like to know if there is any similar product, which works without MCLK, and provides 2x BTL, SUB and HP?


Best regards
Elias Rabl

  • Hi, Elias,

    In order to play audio, this IC needs to have valid clocks, including MCLK.

    We currently don't have another IC that can do this, but we are always releasing new devices, so please check back to see our latest.

    -d2

  • Dear Don,

    Applying 24.576MHz to the MCLK pin solved the problem - it seems that the oscillator trim is working now. Thank you!


    BUT - all the I2C communication after trimming the oscillator crashes the chip now.

    I'm going to verify if the signals meet the specified requirements on thursday. Maybe there is a STOP condition missing or something like this.

    I will inform you as soon as I know what exactly is going on.


    Elias Rabl

  • Hi, Elias,

    Good news/bad news... Do let us know what you find.

    -d2

  • Hi,


    Monitoring the I2C communication i realized some strange behavior:

    Until I issue the oscillator trim everything works fine, but after writing 0x00 to register 0x1B the TAS5705 doesn't ACK correctly.

    Please compare the following examples writing to the TAS5705:
    I2C - before trimming the oscillator:
    https://dl.dropboxusercontent.com/u/56800214/NORMAL.jpg

    I2C - after trimming the oscillator:
    https://dl.dropboxusercontent.com/u/56800214/OSC_TRIM.jpg

    You can see the start-condition, the i2c address 0x36 with r/w = low and then ACK/NACK.

    I don't know what I'm doing wrong.

    Best regards
    Elias


  • Elias,

    Let me try to locate TAS5705 EVM and try to reproduce issue this issue. I will get back to you in a day or two.

  • Hi Damian,

    did you find out something that could cause this issue?


    Elias Rabl

  • Elias,

    I got the EVM and I will have an update for on Monday, once I get everything setup.

  • Elias,

    I was unable to reproduce your concern with oscillator trim. After writing 0x00 to reg 0x1B for oscillator trim the I2C works fine. What is your LRCLK frquency? Are you providing MCLK from the same source as the other I2S signals? The I2S signal needs to be synchronous.  

  • Hi!

    LRCLk = 48 kHz
    SCLK = 3.072 MHz  (64*LRCLK)
    MCLK = 24.576 MHz

    MCLK is provided by an active oscillator FXO-HC536R-24.576 and sources the TAS5705 and the SCKI pin of my audio source PCM1851A.
    The PCM1851A provides the I2S signals BCK (=SCLK), DOUT (=SIN) and LRCLK.


    LRCLK and SCLK seem to be synchronous (compare to page 26 of the datasheet):
    https://dl.dropboxusercontent.com/u/56800214/LRCLK_SCLK.jpg


    A few questions:
    Is it essential that writing 0x00 to register 0x1B is the first I2C command?
    Is PVDD needed to trim the oscillator and when should it be applied?
    How accurate do the external PLL parts have to be?

    Best regards,
    Elias

  • Dear TI-Support,

    to the questions above I figured out one more thing I would like to inform about:


    Should the thermal pad be connected to GND, AGND or should it be floating?

    Best regards from Austria,

    Elias

  • Elias,

    Sorry for taking so long to get back to you. My set up above was running with a synchronous clock of 12.288MHz from the Audio Precision PSIA. I will need to try running with an external oscillator to verify you use case.

    • Before writing reg 0x1B can you read reg 0x02 to see if there's any clock error?
    • What happens if you running with MCLK disconnected during the initialization sequence and oscillator trim then apply MCLK? Do you see the same issue with I2C after writing 00 to reg 0x1B?

    Here are my responses to your 3 questions:

    1. Yes, it's recommended to trim the oscillator, but the clocks need to be stable.
    2. MCLK generated by your external PLL should be exactly 512*fs, where fs is LRCLK.
    3. Assuming your grounds are connected at some star location you can connect it to GND, but depending on the topology of your PCB it's preferred that is connected to a solid ground plane on top and/or bottom of the board. Better heat dissipation occurs on the top layer ground copper, if not impeded by traces and components cutting or blocking across the heat flow.  
  • Dear Damian,

    it is working!
    I decided to desolder and replace the audio amplifier with a new one.

    I should have done this much much erlier!
    I'm not sure why the chip was broken - maybe I've applied PVDD before DVDD.. ?


    Thank you very much for your great help and patience!

    Best wishes
    Elias

  • Elias,

    I'm glad you got it working. It was baffling why the device behave that way and I was unable to reproduce the behavior here.

    You're welcome and thanks for your patience and using TI devices.