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.

[参考译文] TLV320AIC3100:TLV320AIC3100 扬声器驱动程序未打开

Guru**** 2874300 points

Other Parts Discussed in Thread: TLV320AIC3100, BQ24074

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1595373/tlv320aic3100-tlv320aic3100-speaker-driver-not-turning-on

器件型号: TLV320AIC3100
主题: BQ24074 中讨论的其他器件

我有一个带有 TLV320AIC3100 的定制 PCB、我将从 RP2040 向其中发送 I2S 信号。 DAC 上的耳机输出按预期工作、我听到我从 RP2040 发送的音频。 但是、当我尝试打开扬声器驱动器时、会立即触发 HPL/SPK 驱动器短路的粘滞标志。 我有四个 PCB、它们都有相同的问题、因此我怀疑这是制造故障。 这可能是设计问题、还是寄存器设置出现了问题? 即使未连接扬声器、也会触发短路标志。

附件是切换硬件复位引脚后发送到 DAC 的寄存器设置。 扬声器驱动器的电源来自 BQ24074、约为 4.4V。 我还添加了 PCB 原理图。

有什么想法可以帮助我推进这一工作?

 

此致、

Miro

image.png

    tlv320_select_page(0);
    tlv320_write_reg(0x01, 0x01);  // Software reset
    sleep_ms(100);

    // SET SYSTEM CLOCK SOURCE FROM MCLK TO INTERNAL
    tlv320_select_page(3);
    tlv320_write_reg(TLV320DAC3100_REG_MCLK_DIV, 0b00000001);       // P3 R16

    tlv320_select_page(0);

    // Set I2S input | word length 32-bit | BCLK input
    tlv320_write_reg(TLV320DAC3100_REG_CODEC_IF_CTRL1, 0b00110000); // P0 R27 < 0b00110000 for 32-bit word length

    // Set PLL clock source | codec clock source
    tlv320_write_reg(TLV320DAC3100_REG_CLOCK_MUX1, 0b00000111);     // P0 R4

    // Set up PLL
    tlv320_write_reg(TLV320DAC3100_REG_PLL_PROG_PR, 0x93);          // P0 R5  < PLL P and R values
    tlv320_write_reg(TLV320DAC3100_REG_PLL_PROG_J, 0x0A);           // P0 R6  < NEW VAL 30 | PLL J value: 10 0x0A
    tlv320_write_reg(TLV320DAC3100_REG_PLL_PROG_D_MSB, 0x00);       // P0 R7  < PLL D value MSB
    tlv320_write_reg(TLV320DAC3100_REG_PLL_PROG_D_LSB, 0x00);       // P0 R8  < PLL D value LSB

    tlv320_write_reg(TLV320DAC3100_REG_NDAC, 0x85);                 // P0 R11 < NDAC divider value
    tlv320_write_reg(TLV320DAC3100_REG_MDAC, 0x83);                 // P0 R12 < MDAC divider value

    tlv320_write_reg(TLV320DAC3100_REG_DOSR_MSB, 0x00);             // P0 R13 < DOSR divider value MSB
    tlv320_write_reg(TLV320DAC3100_REG_DOSR_LSB, 0x80);             // P0 R14 < DOSR divider value LSB

    tlv320_write_reg(TLV320DAC3100_REG_BCLK_NDIV, 0b10000001);      // P0 R30 < TURN ON BCLK N-divider

    sleep_ms(15);

    tlv320_write_reg(TLV320DAC3100_REG_DAC_DATAPATH, 0xD4);         // P0 R63 < SET DAC DATAPATH

    sleep_ms(100);

    // DAC
    tlv320_write_reg(TLV320DAC3100_REG_DAC_VOL_CTRL, 0x00);         // P0 R64
    tlv320_write_reg(TLV320DAC3100_REG_DAC_LVOL, 0b00001111);       // P0 R65
    tlv320_write_reg(TLV320DAC3100_REG_DAC_RVOL, 0b00001111);       // P0 R66


    // HEADPHONES
    tlv320_select_page(1);
    tlv320_write_reg(TLV320DAC3100_REG_HP_DEPOP, 0b00101110);       // P1 R33
    tlv320_write_reg(TLV320DAC3100_REG_OUT_ROUTING, 0b01000100);    // P1 R35
    tlv320_write_reg(TLV320DAC3100_REG_HPL_VOL, 0b10000000);        // P1 R36
    tlv320_write_reg(TLV320DAC3100_REG_HPR_VOL, 0b10000000);        // P1 R37
    sleep_ms(10);
    tlv320_write_reg(TLV320DAC3100_REG_HPL_DRIVER, 0b00000110);     // P1 R40
    tlv320_write_reg(TLV320DAC3100_REG_HPR_DRIVER, 0b00000110);     // P1 R41
    tlv320_write_reg(TLV320DAC3100_REG_HP_PWR, 0b11011100);         // P1 R31
    sleep_ms(100);

    // SPEAKER
    tlv320_write_reg(TLV320DAC3100_REG_SPK_VOL, 0b10000000);        // P1 R38
    tlv320_write_reg(TLV320DAC3100_REG_SPK_DRIVER, 0b00000100);     // P1 R42
    sleep_ms(20);
    tlv320_write_reg(TLV320DAC3100_REG_SPK_AMP, 0b10000110);        // P1 R32
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Miro:

    我有几个建议在这里:

    1.确保对器件应用正确的电源时序、如此处所示、在模拟/数字电源之前为扬声器供电:

    2.我注意到输出共模设置为 1.8V。 确保将其编程为小于 AVDD 的一半。

    请告诉我、这些选项中的任何一个是否解决了问题。

    此致、

    Garret

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您的提示。

    我将共模电压更改为 1.5V、这似乎没有什么帮助。

     目前我没有用于验证上电序列的设置。 但理论上、扬声器电源直接由电池供电、数字电源有自己的稳压器、模拟电源有自己的稳压器、这是否应该以正确的顺序继续下去? 尽管这只是猜测、但数字和模拟电源也可能同时供电。

    -米罗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Miro:

    这在很大程度上取决于特定的稳压器及其启动时间、因此在这种情况下很难判断是否遵循建议的电源时序。 无论如何、在数字/模拟电源完全斜升之前、扬声器电源应该保持稳定。

    此致、

    Garret