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.

[参考译文] TLV320DAC3100:扬声器中的永久噪声(如报警)已添加到音频信号中

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/629905/tlv320dac3100-permanent-noise-like-an-alarm-in-speaker-added-to-audio-signal

部件号:TLV320DAC3100

支持路径:/Product/开发和故障排除/

大家好,

我尝试使用TLV320DAC3100 TI DAC+放大器在8欧姆扬声器上播放音频。

我正在使用Arduino 3V3逻辑板通过I2C驱动TLV320DAC3100。

设备初始化如下所示

数字书写(A0,低); //执行硬件重置
延迟(10);
digitalWrite (A0,HIGH);
延迟(10);
Serial.begin(9600);

write_reg (TLV320DAC,0x00,0x00); //设置页面0
write_reg (TLV320DAC,0x01,0x01); //执行软件重置

Delay (10);

write_reg (TLV320DAC,0x04,0x07); // PLL_CLKIN = BCLK CODCOD_CLKIN = PLL_CLK
write_reg (TLV320DAC,0x06,0x07); // J = 7
Wire.beginTransmission(TLV320DAC);// D (MSB)= 0
Wire.write (0x07); // D (lsb)= 0
Wire.write(0x00);
Wire.write(0x00);
Wire.endTransmission ();
write_reg (TLV320DAC,0x05, 0x94); // P = 1,R = 4 PLL通电

write_reg (TLV320DAC,0x0B,0x82); // NDAC = 2
write_reg (TLV320DAC,0x0C,0x87); // MDAC =7
write_reg (TLV320DAC,0x0D,0x00); // OSR MSB = 0
write_reg (TLV320DAC,0x0E,0x80); // OSR LSB = 128
write_reg (TLV320DAC,0x1B,0x00); //编解码器接口I2S和字长度16位

write_reg (TLV320DAC,0x00,0x00); //转至第0页
write_reg (TLV320DAC,0x3C,0x04); //处理块4
write_reg (TLV320DAC,0x00,0x08); //转至第8页
write_reg (TLV320DAC,0x01,0x04); //启用自适应过滤

的write_reg (TLV320DAC,0x00,0x01); //转至第1页
write_reg (TLV320DAC,0x20,0x86); //加电D类输出驱动
程序write_reg (TLV320DAC,0x21,0x44); //开机时间610ms和上升步长时间= 1.95ms
write_reg (TLV320DAC,0x23,0x44); // DAC_L到左通道混音器放大器和DAC_R到右通道混音器放大器
write_reg (TLV320DAC,0x26,0x90); //左模拟音量路由到D类输出驱动器,增益=-8dB
write_reg (TLV320DAC,0x2A,0x04); // D类输出级增益=6dB和D类驱动器未静音

Delay (100);

write_reg (TLV320DAC,0x00,0x00); //转至第0页
write_reg (TLV320DAC,0x3F,0xFC); //左右信道通电以及左右数据路径=(L+R)/2
write_reg (TLV320DAC,0x41,0x00); //左增益DAC = 0dB
write_reg (TLV320DAC,0x42,0x00); //增益DAC右= 0dB
write_reg (TLV320DAC,0x40,0x02); //取消DAC通道静音 

我的问题是,即使我不播放任何声音,我仍然有一个无法消除的噪音。 (参见附加的wav文件)

是否有人对它有什么想法?

感谢您的帮助,祝您愉快!e2e.ti.com/.../noise-tlv320dac3100.wav

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

    我将尽力帮助您解决此问题。
    根据PLL值判断,这些是进入TLV320DAC3100的时钟信号频率:
    BCLK = 3.072 MHz
    WCLK = 48 kHz
    这是否适用于您的设置?
    此噪音是否始终存在? 或者它是否在某个点停止?

    此致,
    Ivan Salazar
    音频应用工程师-低功率音频和执行器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Ivan:

    感谢您的帮助!
    实际上,这些时钟进入TLV320DAC3100 (BCLK=3.072MHz,WCLK=48kHz)。
    噪音似乎是永久性的(我可以在播放音频之前,期间和之后听到)。

    它似乎是错误的时钟设置,不是吗?

    感谢您抽出时间,祝您度过美好的一天!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我错了,15分钟后,噪音停止了,但我无法播放音乐,直到重置Arduino。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将根据您的设置创建一个脚本进行尝试。
    在此期间,我想问您几个问题:
    -我知道即使没有播放音频,也会发出噪音。 在您不播放任何音频时,DIN是否始终处于非活动状态(零)?
    -您是否有机会写入第0页Reg 0x47? 和/或其它蜂鸣器寄存器?
    -您是否在D类和耳机输出上都听到此噪音?

    此致,
    Ivan Salazar
    音频应用工程师-低功率音频和执行器