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.

[参考译文] TLV320AIC3007:回波/反馈问题

Guru**** 2511985 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1033013/tlv320aic3007-echo-feedback-issue

器件型号:TLV320AIC3007

你(们)好

我们在设计中使用 TLV230AIC3007、出现了无法解决的回声或反馈问题。

我们使用连接到 MIC3R 输入的有线耳机(兼容 Android)。 这些耳机由 HPOUT 驱动器以伪差分方式(无电容)驱动、具体情况与数据表第44页中的内容完全相同。

连接到编解码器的 MCU 是一个 M4、因此代码是一个简单的 C 测试应用、可捕获数字音频、将其延迟1秒并通过耳机回放。  

音频设置为:

编解码器是音频主设备

格式为 I2S

16位音频

从 MCU 的16MHz 时钟输出驱动 MCLK 引脚。

48kHz 的 PLL 设置

ADC 和 DAC 的采样率为16kHz (Fsref/3)

我们将麦克风与耳机隔离、但不断得到衰减速度相当快的回波/反馈。

编解码器中的路由为:

MIC3R 至 PGA_L

ADC_L 处于激活状态

没有过滤器处于活动状态

DINL 路由至 DAC_L (无数字处理或3D 处理处于活动状态)

DAC_L1路由至 HPLOUT 和 HPROUT (通过模拟混频器)

VCOM 设置为 VCM

所有增益均设置为0dB

音频(忽略回声)听起来非常好、似乎根本没有任何其他问题。

您能不能建议我可以查看哪些内容来帮助解决此问题?

谢谢

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

    我是否正确地假设对于此测试、您不涉及 M4?

    信号路径为 MIC-ADC-DAC-Headphone。

    您的设置中是否会出现布局问题、以便大信号耳机电流以某种方式进入麦克风输入电路。

    如果降低麦克风增益或耳机增益、振荡是否会下降?

    我建议移除麦克风并使用信号发生器提供输入、以便消除声音反馈的可能性。 检查耳机输出是否超过20Hz-15k 范围、 以查看音频是否正常且没有任何振荡。

    另一项检查可能是 保持麦克风并将耳机替换 为16或32欧姆电阻器、然后在示波器上看到麦克风 的语音脉冲输出。

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

    感谢您的回复和建议。

    我在涉及 M4和不涉及 M4的情况下进行了测试。

    由于 M4处于环路中、回波/反馈可通过感应延迟轻松检测。

    如果没有 M4、路径为 MIC-PGA-Headphone、但我无法察觉到任何回波(但这可能是由于系统内音频延迟几乎为0所致)。

    我将使用建议的路径 MIC-ADC-DAC-耳机进行测试、并使用信号发生器作为输入源和输出端的示波器。

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

    我在不同的配置下进行了更多的测试。

    我将麦克风直接路由到 HP 驱动器、在该配置中、我无法检测到回波/反馈(通过聆听和使用示波器进行测量)。

    然后、我将路由设置为最终应用中的路由:

    MIC3R - L_PGA - LADC - DOUT (I2S)- M4 (M4将音频缓冲约500ms 并发送到编解码器)- LDAC - HPLOUT 和 HPROUT (通过模拟混频器)、因为我使用的是单声道音频、RDAC 用于 SPK 放大器。

    在此设置中、我使用示波器生成单个脉冲、并能够看到大约1s 处出现回波或反馈(这是合理的、因为我将音频延迟500ms)。

    然后、我通过移除 MIC 并使用连接到 MIC3R 的单独 MIC 来调制耳机(MIC 的-连接到系统 GND、而不是 HPCOM (设置为 VCM 模式@ 1.5V)。

    这没有产生任何更好的结果。

    我进一步调制、将耳机更改为交流耦合(断开 HPCOM 输出)、并将耳机连接到 GND。

    这也不起作用。

    我现在有点不知道这个问题是否与编解码器端的数字接口设置无关。

    我将一个16MHz 时钟馈送到 MCLK 引脚和 PLL 设置中、以生成48kHz 的 FSREF。 DAC 和 ADC 为16kHz (fsref/3)。 将 ADC 和 DAC 设置为8kHz 也不会产生任何改进。

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

    我做了一些进一步的测试。

    我将编解码器设置为将 MIC 直接路由到输出、但在此模式下、我无法听到或测量任何回声或反馈-我怀疑是由于编解码器的延迟几乎为0。

    然后、我将设置更改为再次使用 M4:

    MIC3R - L_PGA - LADC - DOUT (I2S)- M4 (M4对音频进行缓冲并将其回放至编解码器)- LDAC - HPOUTL 和 HPOUTR (模拟混频器)(RDAC 用于由内部放大器驱动的 SPK、但在测试中禁用)。

    然后、我修改了耳机并移除了 MIC、并使用函数发生器来播放短突发进入 MIC 输入。 使用此设置、我仍然可以在示波器上看到回波并听到它。 功能 gen -终端连接到系统 GND。

    然后我使用了一个单独的麦克风(-也连接到系统 GND)、但仍然没有改善。

    最后一步、我使耳机交流耦合(HPCOM 断开连接)、耳机 GND 连接到系统 GND。 这也没有任何改善。

    因此、我将损失接下来要测试的内容。

    想知道这是编解码器的数字设置还是计时。

    我正在将16MHz 时钟馈送到 MCLK 引脚、并使用 PLL 生成48kHz 时钟、然后将 ADC 和 DAC 设置为 fsref/3。

    也使用标准 I2S、无需更改。

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

    我想您所遇到的是 Echo 而不是不必要的反馈。

    对于 MIC-ADC-DAC-Speaker,您不会听到回声,但如果将 Mic 和扬声器放在非常靠近的位置,则可能是扬声器会进入振荡状态,并产生某种啸声。 这是因为从扬声器到麦克风的声音传播所引起的小时间延迟会在某个频率下产生180度的相移、如果信号路径反相、则可能会在该频率下产生360度的相移。

    在本例中、您创建的回波发生器的时间延迟为0.5秒。 当您创建脉冲时、它会在0.5秒后到达扬声器、将某个位衰减到微音箱、0.5秒后会在扬声器上创建一个更小的副本、从而提供1秒的延时时间。

    在您的测试中、您移除麦克风并连接信号发生器并听到回声、这种理论"有问题"。  如果没有麦克风、会有什么声音? 它是否可以是展示交响乐的组件? 我建议如下:

    1.从信号发生器到 GND 连接一个100欧姆电阻器。 从这一点获取一个耦合电容器到 ADC 输入。 这会降低输入端的阻抗、从而使反馈难以产生大电压。

    2.卸下扬声器,然后在 示波器上查看回声是否消失。 然后使用负载电阻器而非扬声器进行检查。 您是否看到回波? 如果您使用电阻器、则由于高电流耦合到输入级、它会出现布局问题。 如果您看到与负载电阻器的回波、则将连接到接地端直接接至进入电路板的电源的接地端。

    3.如果可能,将延迟增加到大约2秒。 这可以让您有时间在脉冲发送后立即用电线物理地短接输入。