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.

[参考译文] TLV320DAC3120:双二阶系统不工作

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1269938/tlv320dac3120-biquad-not-working

器件型号:TLV320DAC3120

您好!

我正在尝试 在  TLV320DAC3120上实现双二阶滤波器。 我的初始化 序列如下:

  • 硬件复位
  • 等待1ms
  • 设置 P1R60 = 6 (DAC 信号处理块 PRB_P6)
  • 设置 P8R1 = 4 (在 DAC miniDSP 中启用自适应滤波)
  • 10ms 延迟
  • 针对缓冲区 A (P8R2及以下)执行块写入10个字节的双二阶 A 系数
  • 为缓冲器 B (P12R2及以下)执行块写入10个字节的双二阶 A 系数。 如果不这样做、P8R2和以下寄存器具有默认值。

在上述操作之后、我配置了其他音频放大器设置。

为了验证双二阶滤波器是否正常工作、我最初将截止频率设置为1.5kHz、然后播放1kHz 音调、并检查它是否衰减。 然后、我以设置为3kHz 的截止频率重复该实验。

当我使用调试构建对我的微控制器进行编程时、上述测试按预期工作。 但是、如果我对版本构建进行编程、声音会保持不变(无衰减)。 在这两种情况下、当我读回音频放大器寄存器的内容时、它们看起来都是正确的。

还有其他可能我漏掉的东西吗?

提前感谢您提供一些反馈、

此致。

阿兰

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

    您好、Alan!

    调试编译和发布编译之间有什么区别?

    谢谢。
    J·麦克弗森

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

    尊敬的 Jeff:

    除了调试/发布配置外、这2个构建的代码是相同的。

    我的微控制器具有2个代码组。 在第一个存储体中、我放置具有3kHz fc 的代码、在第二个存储体中、我放置1kHz fc 代码(以方便在2个存储体之间跳跃)。

    此编译器的调试版本可按预期工作。 但是、当我运行第二个代码库代码的 Release 版本时、尽管对电路板进行下电上电、但双二阶系数仍被设置为3kHz 值、而不是1kHz 值。

    如果我在每个代码库中使用1kHz 滤波器构建版本、则音频放大器会按预期工作。

    此致、

    阿兰

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

    您好、Alan!

    需要再次检查的一点是器件是否在系数缓冲器之间正确更改、您可能必须在页8寄存器1的位0切换两次才能写入系数、并将其用于活动播放路径。
    也许具有2个不同集的数据集可以正常工作、因为您可以通过执行此切换来配置两个缓冲区。

    此致、
    -Ivan Salazar
    应用工程师

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

    伊凡、您好!

    感谢您的评论。 我将尝试这一点。

    此致、

    阿兰

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

    您好、Alan!

    您可以让我们知道这是否可以解决问题。

    此致、
    -Ivan Salazar
    应用工程师

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

    您好!

    我仍然有问题。 数据表中包含以下表格。 音频放大器的 DAC 级应关闭、即表5-7的第2行和第3行。

    在我的代码中执行以下操作:

    • 将页面设置为8
    • 将 P8R1设置为4
    • 将双二阶系数写入缓冲器 A
    • 将页面设置为 12
    • 将双二阶系数写入缓冲器 B

    每次我读回 P8R1、位1都是0。 我已经尝试将位0设置为1。

    我错过了什么? 感谢 ADVANCE 提供的任何指导。

    此致、

    阿兰

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

    您好、Alan!

    我会看一下你们的评论,并在明天提供进一步的评论。

    此致、
    -Ivan Salazar
    应用工程师

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

    提前感谢。

    阿兰

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

    您好、Alan!

    如果您不使用自适应滤波器模式、则应遵循数据表第5.6.7节: https://www.ti.com/lit/ds/symlink/tlv320dac3120.pdf#page=38中建议的顺序

    否则、我建议启用数据表第5.6.1.3节中提到的自适应滤波器模式: https://www.ti.com/lit/ds/symlink/tlv320dac3120.pdf#page=26
    这种情况下、您不必单独写入缓冲区 A 和 B、而是应该通过 将 PAGE 8寄存器的位0设置为1来在这两个缓冲区之间进行切换、这是一个自清零位、因此您只需将值1写入缓冲区。 写入系数时、应将此位切换两次、第一次写入缓冲系数、第二次 载入在第一次启用此位时写入的系数。

    如果您有 EVM 和 GUI、则可以使用 I2C 记录工具检查执行双二阶滤波器设置调整所需的所有 I2C 事务。

    此致、
    -Ivan Salazar
    应用工程师

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

    伊凡、您好!

    感谢你的帮助。 一旦 DAC 开启、我就能够成功实施上面的选项2。

    再次感谢、

    阿兰