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.

[参考译文] TLV320AIC3111EVM-K:在运行时更改滤波器系数

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/827136/tlv320aic3111evm-k-changing-the-filter-coefficients-during-runtime

器件型号:TLV320AIC3111EVM-K
主题中讨论的其他器件:TLV320AIC3111

我们使用 TLV320AIC3111来过滤和放大通过 EXT_MIC_IN (J7)传入的音频信号、并在 HP、扬声器和 I2S 输出上同时播放已过滤信号。
根据用户输入、我们需要设置不同的滤波器系数、以便从音频流中滤除不同类型的数据。 当程序在电路板上运行时、我们需要执行此操作、而无需断开连接、更改程序、然后重新连接并重新下载。 是否有任何方法可以做到这一点? 最终、我们将使用外部微控制器来控制 EVM。

谢谢、此致、  

索维克。

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

    苏维克、  

    是的、您可以使用自适应滤波控制。  有两组滤波器系数、 A 和 B。 第8页寄存 器1启用 DAC 的自适应滤波、并允许您在 A 和 B 系数之间切换。  在使用 A 系数时、 可以写入 B 系数、 写入 B 系数后、可以写入 D0、 并将有源系数切换为 B。 然后可以写入 A 系数。  

    此致、

    -Steve Wilson

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

    您好 Steve、  

    感谢您的回答。 如何写入这两组滤波器系数? 如果您提供了参考或示例、将会有所帮助。

    此致、

    索维克

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

    Soumik、

    下面复制了 AIC3254的设计指南、 但我更改了寄存器编号。  

    使用自适应滤波:

    对于滤波器系数动态变化的应用、例如低音升压和高音升压、必须使用自适应滤波;这两个缓冲器都是必需的。 对于此类情况、请遵循此简化程序。

    步骤1:启用自适应滤波。

    步骤2: 将滤波器系数写入 DAC 缓冲器 A 和 DAC 缓冲器 B (精确副本)。 如果使用默认系数(全通)、则无需执行此步骤。

    步骤3.为 DAC 加电。 此时、音频可以开始播放。

    步骤4.要修改频率响应、请将新的滤波器系数写入缓冲器 A 地址(从第8页开始)。

    第5步 通过将"1"写入第8页/寄存器1 /位 D0来切换缓冲器。

    步骤6.  将完全相同的系数重新写入缓冲器 A 地址 (从第8页开始)。 此步骤可确保两个缓冲器同步。

    ------------

    写入滤波器系数:

    #高通二阶巴特沃斯滤波器、
    # fc = 400Hz
    ################################################################
    编号 
    #双二阶 A、左通道(第44页、寄存器12、C1-C5)
    w 30 00 08
    w 30 02 7F BD 80 43 7F BD 7F BC 80 85
    #
    双二阶 A、右通道(第45页、寄存器20、C33-C37)
    W 30 00 08
    w 30 42 7F BD 80 43 7F BD 7F BC 80 85
    #
    ##########
    ############################################################## 编号
    

    此致、

    -Steve Wilson

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

    您好 Steve、  

    感谢你的帮助。 根据我的理解、您将直接写入负责存储系数的寄存器。
    但是、这是否需要对我的流程图进行任何更改? 我已经使用了 Biquad 滤波器、其目标处理器是 miniDSP A。我 是否需要将其更改为 miniDSP D? 如果我这么做、使用 GDE 上的 Biquad 工具将写入相同的寄存器、对吧? 如何使用您建议的双二阶滤波器块命令?

    谢谢、此致、
    索维克。

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

    苏维克、  

    请查看 此应用报告。  

    对于 AIC3111、只能动态更改 DAC 滤波器:

    两组寄存器、 您只需进行相应的编程即可。 Mini DSP 将对缓冲器 A 进行编程、 您可以对缓冲器 B 进行编程。 如我在前面所述、切换缓冲器。  

    此致、

    -Steve Wilson