Other Parts Discussed in Thread: TLV320AIC3100, BQ24074
器件型号: TLV320AIC3100
主题: BQ24074 中讨论的其他器件
我有一个带有 TLV320AIC3100 的定制 PCB、我将从 RP2040 向其中发送 I2S 信号。 DAC 上的耳机输出按预期工作、我听到我从 RP2040 发送的音频。 但是、当我尝试打开扬声器驱动器时、会立即触发 HPL/SPK 驱动器短路的粘滞标志。 我有四个 PCB、它们都有相同的问题、因此我怀疑这是制造故障。 这可能是设计问题、还是寄存器设置出现了问题? 即使未连接扬声器、也会触发短路标志。
附件是切换硬件复位引脚后发送到 DAC 的寄存器设置。 扬声器驱动器的电源来自 BQ24074、约为 4.4V。 我还添加了 PCB 原理图。
有什么想法可以帮助我推进这一工作?
此致、
Miro

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

