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:TLV320DAC3100:通过扬声器播放音频时产生噪音

Guru**** 2484615 points
Other Parts Discussed in Thread: TLV320DAC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1095777/tlv320dac3100-tlv320dac3100-noise-while-playing-audio-through-speaker

部件号:TLV320DAC3100

您好,  

我正在更新有关以下主题的查询  

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/106.9951万/tlv320dac3100-unsupported-frequency-while-playing-audio/3963304#3963304</s>3100 396.3304万396.3304万

我已经测试过扬声器,但它在播放音频时发出噪音。 任何关于如何重新解决此问题的建议。 我曾尝试调整增益值,但仍然有噪音 ,是否需要配置任何寄存器?

此致,

Deeksha

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

    您好,Deeksha,

    您是否可以确认输入时钟频率与设备内部时钟树设置相匹配? 您可以共享发送到DAC的MCLK,BCLK和WCLK的范围捕获,以及设备初始化后的寄存器转储。

    如果您在播放音频时只听到噪音,可能是由于采样率配置不正确。
    您还可以共享输出信号的范围捕获,使用LC或RC滤波器将PWM信号重建为模拟信号,以便我们更好地了解噪声是什么样子。

    此致,
    Ivan Salazar
    应用工程师

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

    您好Ivan:  

    我使用了下面链接中提到的驱动程序,可以参考时钟频率。 我使用了相同的时钟频率  

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/sound/soc/codecs/tlv320aic31xx.c

    设备转储:

    第0页:

    root@iWave-G39H:~# i2cdump -f -y 1 0x18
    2022年04月28日 13:08:37.989 ]未指定大小(使用字节数据访问)
    [ 2022年04月28日 13:08:37.989 ] 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    [ 2022年04月28日 13:08:37.989 ] 00:00 00 00 01 66 00 91 04 00 00 00 00 00 00 00 81 81 00 80 80 ...??????????????????
    [ 2022年04月28日 13:08:37.989 ] 10:08 00 81 80 80 04 00 00 00 01 0 c 00 81 00???? ?????
    [ 2022年04月28日 13:08:37.989 ] 20:00 00 00 80 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...??..........
    [ 2022年04月28日 13:08:37.989 ] 30:00 00 02 32 12 03 02 02 11 10 00 01 04 00 3c ...?2?????? ??<
    [ 2022年04月28日 13:08:e3] 40:0C 12 00 6F 38 00 00 00 00 00 00 00 ee 10 D8 7e 37.990 ???.o8..... ???~?
    [ 2022年04月28日 13:08:37.990 ] 50:00 80 00 00 00 00 00 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00… ?
    [ 2022年04月28日 13:08:38.032 ] 60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.033 ] 70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.033 ] 80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.033 ] 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.033 ] a0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.033 ] b0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022年04月28日 13:08:38.070 ] c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.070 ] d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:08:38.070 ] e0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022年04月28日 13:08:38.070 ] f0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    第1页:

    i2cdump -f -y 1 0x18
    2022年04月28日 13:24:02.430 ]未指定大小(使用字节数据访问)
    [ 2022年04月28日 13:24:02.431 ] 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    [ 2022年04月28日 13:24:02.431 ] 00:01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00?..........
    [ 2022年04月28日 13:24:02.431 ] 10:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 ?
    [ 2022年04月28日 13:24:02.431 ] 20:86 3e 00 44 7f 7f 8d 7f 02 02 0d 00 20 86 00 80?>。D?????????? 。 ??
    [ 2022年04月28日 13:24:02.431 ] 30:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.431 ] 40:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.431 ] 50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] 60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] 70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] 80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] a0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.474 ] b0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022年04月28日 13:24:02.526 ] c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.526 ] d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2022年04月28日 13:24:02.526 ] e0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022年04月28日 13:24:02.526 ] f0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    使用  BCLK,MCLK和WCLK附加示波器捕获

          

    正如我在前面的查询中所提到的,在外部使用amixer命令启用后,我可以听到耳机和扬声器中的音频。

    https://e2e.ti.com/support/audio-group/audio/f/audio-forum/106.9951万/tlv320dac3100-unsupported-frequency-while-playing-audio/3963304#3963304</s>3100 396.3304万396.3304万

    因此,通过扬声器播放音频时会有噪音,而通过耳机播放音频是正确的。

    此致,

    Deeksha

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

    您好Ivan:

    我在这里附加了扬声器的输出信号  

    此致,

    Deeksha

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

    您好,Deeksha,

    今天晚些时候,我将回顾您的意见并提供进一步的评论。

    此致,
    Ivan Salazar
    应用工程师

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

    您好,Deeksha,

    </s>406.6843万

    我在这里附加了扬声器的输出信号  

    [/引述]

    除了波形上的一些振铃之外,此捕获看起来像D类输出。 PWM是预期的,因为它会在播放音频时开始调制。 扬声器本身不应发出噪音。
    这是您所指的噪音信号吗? 也许您可以在扬声器上播放时共享麦克风录音,以听到它的声音?

    此致,
    Ivan Salazar
    应用工程师

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

    您好Ivan:

    我在这里附上了从扬声器捕获的音频文件。

    e2e.ti.com/.../Record_2D00_003.aac

    此致,

    Deeksha

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

    您好,Deeksha,

    感谢您的音频捕获。
    我必须重新设计我们的其中一个EVM,因为这些EVM不是设计为具有外部I2S源,然后我将验证时钟设置。

    我认为您可能需要增加DOSR值并相应地调整其他时钟设置。 我现在的理论是,在较高的频率下有一些混叠,D类调制器将它与较低的频率相耦合,这是耳机驱动器上没有相同失真的原因,这是全模拟的。

    由于目前还有其他正在进行的项目,我必须在本周结束或下周初返回。

    此致,
    Ivan Salazar
    应用工程师

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

    您好,Ivan:

    需要调整哪些其他时钟设置,并基于必须执行的计算。 请告诉我。

    此致,

    Deeksha

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

    Deeksha,

    数据表Figure 6-19中提供了完整的时钟树图表: https://www.ti.com/lit/ds/symlink/tlv320dac3100.pdf#page=52

    我建议将DOSR增加为8的倍数,同时您必须考虑以下数据表部分中暴露的不同要求:

    • 6.3 .10.14 DAC设置
    • 6.3 11时钟生成和PLL
    • 6.3 11.1 PLL

    此致,
    Ivan Salazar
    应用工程师

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

    您好Ivan:

    我在tlv320aic31xx.c驱动程序中设置了时钟频率。 这里我们使用26MHz的外部时钟,所以我在MCLK/p =1300万下面添加了所有clk率。

    关于这一点的任何建议/意见

    /* ADC分频器可通过将其配置为0 */来禁用
    静态结构aic31xx_rate与divs aic31xx_divs[]={
    /* MCLK/p率PLL:R j d dosr ndac aors nadc mAdc */
    /* 8k率*/
    { 51.2万,8000,4,48,0, 128,48,2128,48, 2},
    {1200万,8000,1,81920, 128,48,2128,48, 2},
    {1200万,8000,1,81920, 128,32,3128,32, 3},
    {1250万,8000,1,78643, 128,48,2128,48, 2},
    {1300万,8000,1,63803, 128,3,2.7128万,3, 27},
    /* 11.025k费率*/
    {70.56万,1.1025万,3,48,0, 128,24,3128,24, 3},
    {1200万,11025,1,75264, 128,32,2128,32, 2},
    {1200万,11025,1,84672, 128,24,3128,24, 3},
    {1250万,11025,1,72253, 128,32,2128,32, 2},
    {1300万,11025,1,61876, 128,3,1.9128万,3, 19},
    /* 16k速率*/
    {51.2万,1.6万,4,48,0, 128,16,3128,16, 3},
    {102.4万,1.6万,2,48,0, 128,16,3128,16, 3},
    {1200万,16000,1,81920, 128,24,2128,24, 2},
    {1200万,16000,1,81920, 128,16,3128,16, 3},
    {1250万,16000,1,78643, 128,24,2128,24, 2},
    {1300万,16000,1,66166, 128,3,1.4128万,3, 14},
    /* 22.05k率*/
    {70.56万,2.205万,4,36,0, 128,12,3128,12, 3},
    {141.12万,2.205万,2,36,0, 128,12,3128,12, 3},
    {1200万,22050,1,75264, 128,16,2128,16, 2},
    {1200万,22050,1,84672, 128,12,3128,12, 3},
    {1250万,22050,1,72253, 128,16,2128,16, 2},
    {1300万,22050,1,65132, 128,3,1.0128万,3, 10},
    /* 32k速率*/
    {102.4万,3.2万,2,48,0, 128,12,2128,12, 2},
    {204.8万,3.2万,1,48,0, 128,12,2128,12, 2},
    {1200万,32000,1,81920, 128,12,2128,12, 2},
    {1200万,32000,1,81920, 128,8,3128,8, 3},
    {1250万,32000,1,78643, 128,12,2128,12, 2},
    {1300万,32000,1,66166, 128,3,7128,3, 7},
    /* 44.1k率*/
    {141.12万,4.41万,2,32,0, 128,8,2128,8, 2},
    {282.24万,4.41万,1,32,0, 128,8,2128,8, 2},
    {1200万,44100,1,75264, 128,8,2128,8, 2},
    {1200万,44100,1,84672, 128,6,3128,6, 3},
    {1250万,44100,1,72253, 128,8,2128,8, 2},
    {1300万,44100,1,65132, 128,3,5128,3, 5},
    /* 48K速率*/
    {153.6万,4.8万,2,32,0, 128,8,2128,8, 2},
    {307.2万,4.8万,1,32,0, 128,8,2128,8, 2},
    {1200万,48000,1,81920, 128,8,2128,8, 2},
    {1200万,48000,1,76800, 96,5,4,96,5, 4},
    {1250万,48000,1,78643, 128,8,2128,8, 2},
    {1300万,48000,1,66166, 128,7,2128,7, 2},
    /* 88.2k速率*/
    {282.24万,8.82万,2,16,0, 64,8,2,64,8, 2},
    {564.48万,8.82万,1,16,0, 64,8,2,64,8, 2},
    {1200万,88200,1,75264, 64,8,2,64,8, 2},
    {1200万,88200,1,84672, 64,6,3,64,6, 3},
    {1250万,88200,1,72253, 64,8,2,64,8, 2},
    {1300万,88200,1,72253, 64,8,2,64,8, 2},
    /* 96k速率*/
    {307.2万,9.6万,2,16,0, 64,8,2,64,8, 2},
    { 614.4万,9.6万,1,16,0, 64,8,2,64,8, 2},
    {1200万,96000,1,81920, 64,8,2,64,8, 2},
    {1200万,96000,1,76800, 48,5,4,48,5, 4},
    {1250万,96000,1,78643, 64,8,2,64,8, 2},
    {1300万,96000,1,66166, 64,7,2,64,7, 2},
    /* 176.4k率*/
    { 56.44万, 17.64万, 2, 8, 0, 32,8,2,32,8, 2},
    {1128.96万,176400,1,8,0, 32,8,2,32,8, 2},
    {1200万,176400,1,75264, 32,8,2,32,8, 2},
    {1200万,176400,1,84672, 32,6,3,32,6, 3},
    {1250万,176400,1,72253, 32,8,2,32,8, 2},
    {1300万,176400,1,72253, 32,8,2,32,8, 2},
    /* 192k速率*/
    { 614.4万,19.2万,2,8,0, 32,8,2,32,8, 2},
    {1228.8万,192000,1,8,0, 32,8,2,32,8, 2},
    {1200万,192000,1,81920, 32,8,2,32,8, 2},
    {1200万,192000,1,76800, 24,5,4,24,5, 4},
    {1250万,192000,1,78643, 32,8,2,32,8, 2},
    {1300万,192000,1,66166, 32,7,2,32,7, 2},
    };  

    此致,

    Deeksha

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

    Deeksha,

    我假设您在所有这些不同的时钟设置中遇到相同的噪音问题?
    还没有时间完成我这边的硬件测试设置。

    此致,
    Ivan Salazar
    应用工程师

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

    您好Ivan:

    是的,我听到所有 不同时钟设置的噪音。 当您可以在您的端进行测试时,您可以在您的端尽快进行测试,因为我们有一定的紧迫感来解决这一问题。

    我已经用这些时钟频率进行了测试- 8Hz,44Hz,48Hz

    此致,

    Deeksha   

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

    您好,Deeksha,

    我一直在测试其中一些采样率,在我看来它们工作正常。
    有几件事我想仔细检查:

    • 您的MCLK是否在所有情况下均为26MHz?
    • 当您说测试8kHz,44kHz和48kHz时,您的意思是这些是从主机到TLV320DAC3100的WLCK频率?
    • 或者,您的WCLK也始终相同,但无论进入器件的时钟频率如何,您都只能更改TLV320DAC3100上的时钟设置。

    本周晚些时候,我将分享一份报告,其中包含一些输入时钟捕获和时钟设置的寄存器转储。

    此致,
    Ivan Salazar
    应用工程师

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

    您好,Ivan:

    ->是的, MCLK是通过 晶体外部提供的。

    ->是,这些是WCLK频率,这取决于我播放的音频文件频率。

    例如,如果我以8kHz播放音频文件,wclk为8kHz ;如果以48kHz播放音频文件,wclk为48kHz。  

    tlv320aic31xx.c驱动程序文件根据 我播放的音频[8kHz/48kHz]将MCLK/2作为1300万和速率值  

    root@..:~# aplay -D plughw:1,0 /unit_tests/Audio/sample_22_frames.mp3
    播放原始数据'/unit_tests/Audio/sample_22_frames.mp3':unsigned 8 bit,rate 8000 Hz,Mono

    ->请问您是否使用过RC滤波器电路,如果使用过,您可以分享滤波器设计的快照。

    ->您使用的是哪款扬声器,您能否分享扬声器的规格  

    我在这里附上了我测试过的扬声器的链接。

    ->在这里我附上 了我们的示意图

    上述任何建议。

    此致,

    Deeksha  

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

    Deeksha,

    我使用 是AUX-0025筛选器,但您也可以参考此RC筛选器: https://www.ti.com/lit/an/sloa107/sloa107.pdf

    对于扬声器,我实际上使用电阻负载与电感器串联,电阻为4Ohm + 15uH。

    在我的测试过程中,MCLK和I2S信号同步,我接下来要尝试使用单独的MCLK源。 我还将回顾原理图。

    此致,
    Ivan Salazar
    应用工程师