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.

[参考译文] TLV320AIC3110:麦克风上持续发出蜂鸣声

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1379388/tlv320aic3110-continuous-beep-on-microphone

器件型号:TLV320AIC3110

工具与软件:

大家好!

首先、我想告诉大家、我是硬件设计新手、因此请保持温柔。 总之、我根据数据表示例设计将 TLV320AIC3110集成到我的项目中、使扬声器输出正常工作。 但是、当我录制时、会发出连续的蜂鸣声。 由于空间有限、我无法遵循建议的布局、并且无法将 PCB 上的模拟接地和数字接地分开。 我将所有电容器放置在非常靠近编解码器的位置、但模拟地和数字地混合在一起。

在调试时、我认为此问题可能与 AVDD 电源噪声有关、并将 AVDD 电源线与电路板分离、但无法正常工作。 该系统基于 Linux、我使用内核驱动程序6.6.6.y。 我尝试了很多软件方面的事情,但没有工作。 可以有人帮我确定问题吗?

有两个模拟 MEMS 麦克风用作捕捉器件。 我尝试了不同的漫画,但没有改变。 我认为这个问题与麦克风无关。

谢谢!

静默室中的示例记录。

e2e.ti.com/.../silence_5F00_room.wav

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

    您好!

    您的 MIC 输入将进入 MIC1LP 和 MIC1RP、您应该将这些输入交流耦合。  

    只需确保您的音频格式与时钟等一起正确

    此致。

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

    您好、感谢您的帮助。 每条麦克风线路上都有2.2µF 电容器(根据麦克风制造商的建议)、但它们位于靠近麦克风的另一电路板上。 我检查了 PLL 时钟设置并尝试在不同的频率下进行记录、但没有帮助。 录制工作正常、我可以听到录制的音频、但后台始终会发出蜂鸣声。

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

    您是否可以发送寄存器配置(i2c 转储)以及 MCLK、wclk 和 BCLK 频率等时钟?

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

    MCLK 是24MHz、正如我所提到的、一切都在工作、包括录音。 但是、在录制时、背景中会发出哔声。 我还通过 ALSA 检查了采集增益设置、但它不会影响蜂鸣声。 蜂鸣音量与增益并行降低、但这无法解决问题。 它的工作原理如下:低增益等于低蜂鸣音量。 感谢您的帮助。

    这是我通过 I2C 转储获得的结果:

    未指定大小(使用字节数据访问)
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:00 00 01 56 00 11 04 00 00 00 00 00 01 00 80 80 ..?????????
    10:08 00 01 80 80 04 00 00 00 00 01 00 00???? ……………………………
    20:00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00……………………………
    30:00 00 00 02 32 12 03 02 02 11 10 00 01 04 00 14 ...2????? ..???
    40: 0C 00 00 00 6F 38 00 00 00 00 00 00 ee 10 D8 7e E3 ?. ???~?
    50:00 00 00 80 00 00 00 00 7f 00 00 00 00 00 00 00 00 00……………………………… ?…
    60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    这是我的器件树叠加层:

    片段@1{
    target-path="/";
    __overlay __{
    tlv320aic31xx_MCLK:tlv320aic31xx_MCLK{
    Compatible ="固定时钟";
    #clock-Cells =<0>;
    时钟频率=<24000000>;
    };

    };
    };
    片段@2 {
    target-path ="/";
    __overlay __{
    codec_1v8_reg:codec-1v8-reg{
    兼容="稳压器固定";
    regulator-name ="tlv320aic31xx_1v8";
    稳压器最小微伏=<1800000>;
    稳压器最大微伏=<1800000>;
    稳压器始终开启;
    };
    };
    };
    片段@3 {
    Target =(&i2c1>;
    __overlay __{
    #address-cells =<1>;
    #size-cells =<0>;
    状态="正常";

    tlv320aic31xx:tlv320aic31xx@18{
    Compatible ="ti、tlv320aic3110";
    REG =<0x18>;
    #sound-Di-cells =<0>;

    ai31xx-micbis-vg =<0>;//具有定制的驱动器

    HPVDD 电源=<&VDD_3V3_reg>;
    SPRVDD 电源=<&VDD_5v0_reg>;
    SPLVDD 电源=<&vdd_5v0_reg>;
    AVDD 电源=<&VDD_3V3_reg>;
    IOVDD 电源=<&VDD_3V3_reg>;
    DVDD-SUPPLY =<&CODEC_1v8_reg>;

    状态="正常";
    };
    };
    };

    片段@4 {
    Target =(Sound)>;
    slave_overlay:__ overlay ___{
    Compatible ="简单音频卡";
    simple-audio-card、format ="I2S";
    simple-audio-card、name ="tlv320aic31xx-声卡";
    状态="正常";
    simple-audio-card、widget =
    "麦克风"、"麦克风插孔"、
    "扬声器"、"扬声器"、
    "耳机"、"耳机插孔";
    简单音频卡、路由=
    "耳机插孔"、"HPL"、
    "耳机插孔"、"HPR"、
    "扬声器"、"SPR"、
    "扬声器"、"SPL"、
    "MIC1LP"、"Mic 插孔"、
    "MIC1RP"、"Mic 插孔";

    简单音频卡、CPU {
    Sound-Dai =<&I2S>;
    状态="正常";
    };
    dailink0_slave:simple-audio-card、codec {
    sound-Dai =<&tlv320aic31xx>;
    Clocks =<&tlv320aic31xx_MCLK>;
    时钟名称="MCLK";

    };
    };
    };

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

    您的配置不正确、时钟设置大多处于断电状态。

    0 1 2 3 4 5 6 7 8 9注释
    00:00 00 01 56 00 11 04 00 00 00 00 00 00 01 01 00 80 4-PLLCLKIN=CODEC_CLKIN=MCLK;5-PLL 向下、R=P=1;6-J=4;11-NDAC=1断电;12-MDAC=1断电;14-DOSR=128
    10:08 00 01 01 80 80 04 00 00 00 00 00 01 00 00 18-NADC=1断电;19-mAdc=11断电;20-AOSR=128;26-I2S、16位、 从模式。
    20:00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    30:00 00 00 02 32 12 03 02 11 10 00 01 04 00 14
    40:0C 00 00 00 6F 38 00 00 00 00 00 ee 10 D8 7e E3
    50:00 00 00 80 00 00 00 00 7f 00 00 00 00 00 00 00 00 00
    60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    如果以48kHz 为例、您应按类似方式配置时钟分频器。

    此致。

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

    我认为我分享了有关 I2C 转储的错误信息。 当我收集该数据时、该模块未加载。 如果该模块已加载、则 I2C 转储不起作用、因为它返回错误"设备或资源繁忙"。 我已经尝试通过各种方式移除该模块、但没有成功、因为许多驱动程序都依赖于该模块、例如 snd、snd_pcm、snd_timer、snd_hdmi、 及其他几种工具。

    我尝试逐一删除它们,但每个驱动程序都链接到更多的依赖关系。 因此、加载模块后我无法处理获取该数据的问题。 我相信驱动程序可以正常工作、并按预期设置寄存器。 我直觉认为、这可能与硬件设计相关。 我咨询了一个朋友,他使用同一个编解码器与同一个 Linux 驱动程序,他们没有遇到任何问题。

    您能否确认我的原理图设计是否正确? 我目前正在重新设计 PCB、并尝试按照数据表布局中的建议分离 AGND 和 GND。 你有什么建议吗? 另外、如果您让我知道如何在加载驱动程序后读取寄存器、我也可以共享该数据。 感谢您的支持。

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

    从上面的原理图中可以看出、我没有看到任何问题。

    我建议如下:

    • 禁用 通过寄存器连接到 ADC 的 MIC1LP/RP、是否存在音调?
    • 移除麦克风连接并向编解码器 mic1LP/RP 输入发出音调、录音是否正常?

    此致。