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.

TAS5713: TAS5713 not recognizing MCLK = SCLK = 64*Fs

Part Number: TAS5713
Other Parts Discussed in Thread: PCM2706, , , TAS5733LEVM

Hi there,

I have built my own demonstrator for validating I2S-communication, the power-side is not built up, this was confirmed to work in the related thread. On the same I2S-bus there is an Adafruit 3-wire I2S amplifier that makes a nice sound to a loudspeaker when playing an I2S stream.

I am providing the TAS with a 3-wire I2S stream from a PCM2706, Fs=44.1kHz, 16-bit, SCLK=64*Fs. The MCLK pin of the TAS5713 is wired to the SCLK pin, so it sees an I2S stream with MCLK = SCLK = 64*Fs. So, according to page 43 of the TAS5713 datasheet, the chip should recognize that stream and update register 0x00 accordingly from 0x6C (default power-up value) to 0x60. However it doesn't. Manually I can write 0x60 to it and read that back, but I want to see the chip doing that! Maybe a phase-shift between MCLK and SCLK is required?

Communication through I2C with the TAS5713 seems up and running. All registers show their default values according to the TAS5713 datasheet. However from my embedded Linux box, the chip is on the i2c-bus at address 0x1b, instead of 0x34, this still puzzles me a bit. The device id register 0x02 contains 0x50, I have no reference what it should be.

What could be going on here?! Any thoughts appreciated.

Best, EJ

  • EJ,

    Do you have an EVM of ours that you can check this with? Are you sure the issues you are seeing are not from the remaining system components?

    I don't forsee the I2C address of the chip being wrong as it's not configurable.

    Regards,

    -Adam
  • Hi Adam,

    Thanks for your reply.

    No I do not have an EVM5713, I made my own using a breakout-board, a TAS5713 chip and a bunch of capacitors and resistors. I did not connect PVDD and any other power-circuit. In a related thread it was confirmed that the registers should react as described in the datasheet despite absence of the power-circuitry. The I2S signal is generated by a TI PCM2706. In retrospect, and given the I2C weirdness, it might be better to buy the EVM anyway..

    Before doing so, maybe could you confirm that TAS5713 will recognize a 3-wire I2S stream with Fs=44.1kHz, 16 bit, and the MCLK pin tied to the SCLK pin? Because I strongly prefer to support 3-wire I2S. (3-wire means no MCLK wire)

    Best, EJ

    PS: I will also set up a beagle board in order to verify that the i2c master in my current controller board is not the problem.

  • EJ,

    I would fully power the board and see if it works for you. In the meantime I am working on verifying the same for you on our EVM in the lab.

    I'll get back to you tomorrow.

    Regards,

    -Adam
  • EJ,

    I figured out the issue. According to the datasheet, the lowest MCLK we accept is 2.8224MHz. At 64*FS and LRCLK of 44.1kHz, our SCLK/MCLK is only 44.1kHz * 2 channels * 16 bits per channel or 1.4112MHz.

    This rate is acceptable for SCLK (minimum of 1.024MHz) but not MCLK. 

    I did confirm that the EVM works with 32 bits per channel, is it possible for you to do that?

    Regards,

    -Adam

  • Hi Adam,

    Thanks for your very thorough answer, this clarifies a lot. Unfortunately my I2S source is a TI PCM2706, which is only capable of 16-bit I2S up to 48kHz.
    I don't get why the datasheet of it says SCLK=64*Fs whereas it should be 2*16*Fs. Not a word on padding. (Actually SCLK is called BCK in that datasheet.)

    Another issue with the PCM2706 (or specifically the one I have) is the quality of the MCLK signal that it generates: With and without the load of the TAS5713+10kOhm in parallel, it makes a very sloppy signal on /my/ oscilloscope, a bit like a sinus, certainly not  a rise-time of 5ns as required by TAS5713 datasheet.

    So it seems I'm kinda stuck with this design.. Well at least that's clear now!

    Regards, EJ

  • EJ,

    You may post on the forum that supports the PCM2706, maybe they can help you with those issues.

    https://e2e.ti.com/support/data_converters/audio_converters/f/64

    My colleague Steve Wilson may be able to help.

    Regards,

    -Adam

  • Hi Adam,
    Although your explanation seemed perfect, reality is different:
    The datasheet of PCM2706 says SCLK=64*Fs and I confirmed so using an oscilloscope. Your colleague also confirms:
    e2e.ti.com/.../2575626
    Maybe could you check with an actual PCM2706/7 ?
    Best regards, EJ
  • EJ,

    Please send a scope image of all of your clocks together. I want to check the timing relationships.

    Regards,

    -Adam
  • EJ,

    Did this get resolved?

    Regards,

    -Adam
  • Hi Adam, I did not resolve this yet. I have been struggling to get a 4-channel plugin for my scope working, but so far no luck, so I cannot make the picture you asked for.
    Your colleague did confirm that the MCLK signal from PCM2706 is meeting TAS5713 requirements. Therefore I may order a TAS5713PHPEVM (or TAS5733LEVM) and just try. Hopefully the issue is just my homebrew evaluation board.
    Best, EJ
  • EJ,

    Even though your MCLK/SCLK signal may be correct, the LRCLK frame and DATA needs to correlate, this is what I'm checking for.

    Regards,

    -Adam
  • Hi Adam, I understand what you want to check, I wish I had the equipment to provide the data. Working on that though... Meanwhile lets check the timing diagrams in PCM2706 vs TAS5713 datasheet.

    Bytheway, the incorrect I2C address is explained here, writing a 7-bit value in hex is just confusing:
    e2e.ti.com/.../642436