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.

No sound with TLV320DAC3100

Other Parts Discussed in Thread: TLV320DAC3100, CC3200

Hi everyone,

I have no luck interfacing a TLV320DAC3100 with a cc3200 launchpad. Connected are MCLK, DIN, SCL and SDA;  frequency at MCLK is 12 MHz measured with an oscilloscope. No failure on writing the i2c register. But neither data from a sound file nor a beep is hearable. Hope anyone has an idea whats going wrong.


Thanks in advance!

Markus

 

My config is:

_WriteRegister(0x00, 0x00);
_WriteRegister(0x01, 0x01);
_WriteRegister(0x04, 0x03);
_WriteRegister(0x05, 0x91);
_WriteRegister(0x06, 0x07);
_WriteRegister(0x07, 0x02);
_WriteRegister(0x08, 0x30);
_WriteRegister(0x1B, 0x00);
_WriteRegister(0x08, 0x30);
_WriteRegister(0x0B, 0x83);
_WriteRegister(0x0C, 0x85);
_WriteRegister(0x0D, 0x00);
_WriteRegister(0x0E, 0x80);
_WriteRegister(0x74, 0x00);
_WriteRegister(0x44, 0x00);
_WriteRegister(0x41, 0x00);
_WriteRegister(0x42, 0x00);
_WriteRegister(0x3C, 0x0B);
_WriteRegister(0x00, 0x08);
_WriteRegister(0x01, 0x04);
_WriteRegister(0x00, 0x00);
_WriteRegister(0x3F, 0xD6);
_WriteRegister(0x40, 0x00);
_WriteRegister(0x00, 0x01);
_WriteRegister(0x2A, 0x1C);
_WriteRegister(0x20, 0x80);
_WriteRegister(0x41, 0x30);
_WriteRegister(0x42, 0x30);
_WriteRegister(0x00, 0x00);
_WriteRegister(0x49, 0x01);
_WriteRegister(0x4a, 0x77);
_WriteRegister(0x4b, 0x00);
_WriteRegister(0x4c, 0x23);
_WriteRegister(0x4d, 0xfb);
_WriteRegister(0x4e, 0x7a);
_WriteRegister(0x4f, 0xd7);
_WriteRegister(0x48, 0x04);
_WriteRegister(0x47, 0x84);

  • Sorry, missed one info. I started with this settings:

    _WriteRegister(0x04, 0x07);
    _WriteRegister(0x05, 0x91);
    _WriteRegister(0x06, 0x3C);
    _WriteRegister(0x07, 0x00);
    _WriteRegister(0x08, 0x00);

    BLCK and WCLK connected. Frequency was 1.411200 MHz
  • Please describe your hardware setup (attach a schematic excerpt showing the DAC3100 connections).

    What are the clock frequencies of all your audio clocks. What is the desired sampling rate?

    Attach the beep register sequence that you use.

  • There is no schematic yet. I tried a few setups, the last one is:

    launchpad DAC3100
    Pin 63 AFSX WCLK
    Pin 53 ACLK BCLK
    ACLK MCLK
    Pin 64 AXR0 DIN

    MCLK = BLCK = 12MHz

    Sampling rate = 44100

    Beep sequence:

        _WriteRegister(0x00, 0x00);
        _WriteRegister(0x49, 0x01);
        _WriteRegister(0x4a, 0x77);
        _WriteRegister(0x4b, 0x00);
        _WriteRegister(0x4c, 0x23);
        _WriteRegister(0x4d, 0xfb);
        _WriteRegister(0x4e, 0x7a);
        _WriteRegister(0x4f, 0xd7);
        _WriteRegister(0x48, 0x04);
        _WriteRegister(0x47, 0x84);

  • Current attempt:

    Sampling rate = 44100

    MCLK = BLCK ~ 1.411200 Mhz (measured)

    WCLK ~ 44.125 kHz (measured)

    Config changed to:

        _WriteRegister(REGISTER_CLOCK_GEN_MUXING,     (CGM_PLL_CLKIN_MCLK | CGM_CODEC_CLKIN_PLL_CLK));   // 0x04 0x03


        _WriteRegister(REGISTER_PLL_VALUES_PR,         (PLL_VALUES_POWERED_UP | PLL_VALUES_DIVIDER_P_1 | PLL_VALUES_MULTIPLIER_R_01));   // 0x05 0x91


        _WriteRegister(REGISTER_PLL_VALUES_J,        (0x3C));
        _WriteRegister(REGISTER_PLL_D_Value_MSB,    (0x00));
        _WriteRegister(REGISTER_PLL_D_Value_LSB,    (0x00));

  • You use PRB_P11 (P0R0x3C = 0x0B), which does not support the beep generator. See Table 5-11 in http://www.ti.com/lit/ds/symlink/tlv320dac3100.pdf. Please change this to PRB_P25 (P0R0x3C = 0x19).

  • This setting I had already, with the same result

  • Let me ask some questions, maybe I have a general problem understanding this stuff.

    1. Does mclk has to be present to run the TLV320DAC3100?
    2. Is it possible to have mclk and blck at the same frequency?
    3. If not, what is the best way to generate mclk with the cc3200, as it has to be in sync with bclk/wclk from McASP iirc?
    4. If it is possible, is this clock setup correct for a mclk/bclk of 1.4112 MHz:
    _WriteRegister(0x04, 0x07);
    _WriteRegister(0x05, 0x91);
    _WriteRegister(0x06, 0x3C);
    _WriteRegister(0x07, 0x00);
    _WriteRegister(0x08, 0x00);
    _WriteRegister(0x0B, 0x83);
    _WriteRegister(0x0C, 0x85);
    _WriteRegister(0x1B, 0x00);
    Again, thanks for your support!