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.

[参考译文] TAS5805M:双二阶均衡器不工作

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1098208/tas5805m-biquad-equalizer-not-working

器件型号:TAS5805M

你好

我似乎无法使 TAS5805M 放大器中的15x "均衡器"双二阶运算放大器正常工作。 我有一个由 PurePath 创建的工作配置接头、该接头使用"三频带 DRC 96k"处理流程。 然后、我将左右两个通道的第一个双二阶设置为50Hz 低通、这应该会使我的声音变平...基本上是闪烁的、但所有的播放都像没有任何滤波一样。 DSP_MISC 寄存器设置为0x8E、我找不到任何其他寄存器会完全禁用双二阶。 我还可以在切换到寄存器0xAA 时读取和写入双二阶寄存器、第0x24页。 这似乎完全没有效果。

此外、还有一个有关系数缩放的问题。 过程流程应用手册(SLOA263A)提到系数 B1和 A1会暂停、但我无法使用 PurePath 应用验证。 例如、50Hz 低通时的 A1系数为1.995 (以及某些...)。 另一方面、此系数的配置标头包含值0x0FF6D114。 这正是 A1 *(1<<27)的样子、0.5的系数是在哪里? 在应用手册之后、我本来会将寄存器值计算为(A1 / 2)*(1<<27)?

此致

文森特

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

    您好 Vincent、

    如果您使用任何其他双二阶滤波器、例如 EQ2、3等、您是否发现了相同的问题?

    您能否编写此脚本并确认行为是否相同。

    宽58 00 00

    宽58 7f 00

    宽58 00 00

    宽58 66 84

    此致、

    Luis

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

    很抱歉耽误了时间、几天前我无意中产生了一些魔术烟雾、不得不更换一些部件...  

    无论如何。 我假设"编写此脚本"是指将这些寄存器写入附加到我的当前配置中? 如果是、那么不是、我仍然无法在这里指定低通。

    同时、我还尝试大幅简化 PurePath 配置及其数千次寄存器访问... 下面是我当前在启动后写入放大器的内容:

    WRITE_REG (0x00u0x00u);//页0x00
    WRITE_REG (0x7FU0x00u);//簿0x00
    WRITE_REG (0x03u0x02u);//高阻态
    WRITE_REG (0x01u0x11u);//复位
    WRITE_REG (0x03u0x02u);//高阻态

    延迟(5U + 1U);

    WRITE_REG (0x03u0x00u);//深度睡眠
    WRITE_REG (0x46u0x01u);//未记录
    WRITE_REG (0x03u0x02u);//高阻态
    WRITE_REG (0x61u0x0BU);// ADR 作为 FAULTZ 输出
    WRITE_REG (0x60u0x01u);// ADR 为输出
    WRITE_REG (0x7Du0x11u);//未记录
    WRITE_REG (0x7Eu0xFFu);//未记录

    WRITE_REG (0x00u0x01u);//页0x01
    WRITE_REG (0x51u0x05u);//未记录

    WRITE_REG (0x00u0x00u);//页0x00
    WRITE_REG (0x66u0x8Eu);// EQReg

    // B0-L 系数
    WRITE_REG (0x7FU0xAAu);//书籍0xAA
    WRITE_REG (0x00u0x24u);//书籍0x24
    WRITE_REG (0x18u0x00u);
    WRITE_REG (0x19u0x00u);
    WRITE_REG (0x1Au0x01u);
    WRITE_REG (0x1Bu0x51u);
    WRITE_reg (0x1Cu0x00u);
    WRITE_REG (0x1Du0x00u);
    WRITE_REG (0x1Eu0x02u);
    WRITE_REG (0x1FU0xA1u);
    WRITE_REG (0x20u0x00u);
    WRITE_REG (0x21u0x00u);
    WRITE_REG (0x22u0x01u);
    WRITE_REG (0x23u0x51u);
    WRITE_REG (0x24u0x0FU);
    WRITE_REG (0x25u0xF6u);
    WRITE_REG (0x26u0xD1u);
    WRITE_REG (0x27u0x14u);
    WRITE_REG (0x28u0xF8u);
    WRITE_REG (0x29u0x09u);
    WRITE_REG (0x2Au0x29u);
    WRITE_REG (0x2Bu0xA9u);

    WRITE_REG (0x00u0x00u);//页0x00
    WRITE_REG (0x7FU0x00u);//簿0x00
    WRITE_REG (0x02u0x00u);
    WRITE_REG (0x30u0x00u);// SDOUT 为 DSP 输出
    WRITE_REG (0x4Cu0x30u);//数字增益-14dB
    WRITE_REG (0x53u0x60u);//带宽175kHz
    WRITE_REG (0x54u0x16u);//模拟增益-11dB
    WRITE_REG (0x03u0x03u);//播放
    WRITE_REG (0x78u0x80u);//清除模拟故障

    WRITE_REG (0x00u0x00u);//从 TI 音频论坛建议
    WRITE_reg (0x7fu0x00u);
    WRITE_REG (0x00u0x00u);
    WRITE_REG (0x66u0x84u);

    你能发现一些鱼吗?

    /edit

    写入 BQ2或3也没有执行任何操作。

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

    您好 Vincent、  

    这是在您的系统上还是在 EVM 上完成?

    此致、

    Luis

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

    这是我们自己的设计。

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

    您好 Vincent、

    如果您在另一个处理流程中配置 EQ、还是将其隔离到 3频带 DRC 96k、则会重复此问题。 我将在明天的实验中尝试验证此行为。

    此致、

    Luis

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

    你好

    我想。 我可能以前试过、但明天会再来。

    事情是...如果我错了、纠正我...这真的很重要吗?
    这个"流程"似乎是一个纯粹(没有 pun 用途)的 GUI 选择、但实际上并不是什么对硬件很重要的事情? 当然、对于特定设置、您可能只能使用某些滤波器、但与放大器中实际存在的"process_flow_CTRL"寄存器不同。 即使存在、双二阶滤波器也应在3个设置中每隔1个工作。

    此致

    文森特

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

    您好 Vincent、

    使用 PPC3配置并应用50Hz 低通时、我看不到您观察到的行为。 我还生成了一个输出文件、并观察到相同的预期行为。 您能否提供用于生成流程配置的 PPC3文件、以便我能够生成正确的报头文件。

    此致、

    Luis

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

    当然、可以在这里找到

    https://www.load.to/Xvruuz17MX/tas5805m.ppc3

    请注意、我对使用 PurePath 生成的标头进行了两处更改、以获取所需的配置:
    寄存器0x53 -> 0x60
    寄存器0x54 -> 0x16

    不过、这并不重要、我也尝试将它们都保留为0x00。 遗憾的是、PurePath 似乎没有在"Register Map"窗口中存储对寄存器所做的任何更改。

    此致

    文森特

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

    您好 Vincent、

    因此、为了澄清即使是完整的头文件初始化序列、在修改后的脚本之前、您是否发现了此问题?

    您是否遵循数据表中所述的启动顺序。 您能否提供 PDN、DVDD 和 PVDD 的启动波形?  

    您的系统何时准备好 I2S 和 I2C?

    我在 EVM 上使用了 PPC3文件和生成的报头文件、无法重现这种情况。

    此致、

    Luis

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

    是的、在写入完整(未修改)序列时也会出现此问题。

    通过查看我们的代码、我假设遵循启动过程。 它目前如下所示:

    -在两个电源轨(DVDD、PVDD)稳定后、PDN 被拉至高电平
    然后、在启用 I2S 之前会有6ms 的延迟
    -从 PurePath 生成的标头发送 I2C 命令之前的另一个6ms 延迟
    -在器件进入高阻态模式后、在第5个寄存器写入之后、又发生了另一个


    我今天在 HO、这里没有 PCB、但我将尝试在下周一捕获波形。 尽管我很可能无法捕获 I2S、因为我们不再有用于这些信号的焊盘。

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

    您好 Vincent、

    请尽快提供波形。 并确认您的系统中的多个电路板上是否存在这种行为? 我无法在 EVM 上复制此行为。 此系统上的 I2C 总线上是否有您可以连接的 EVM? 或者、另一个选项是从外部驱动系统上的 i2c 总线、以查看它是否显示相同的行为。 您是在该板的先前版本上看到此行为、还是在系统上使用调优的第一步。

    最棒的

    Luis

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

    下面是 DVDD (红色)、PVDD (蓝色)和 PDN (黄色)在启动时的外观。 PVDD 稳定与通过拉高 PDN 实际启用器件之间存在250ms 的延迟。 在 PDN 被拉至高电平后6ms、I2S 启动。 此时 I2C 已经在运行、因为我们以前初始化并读取了 EEPROM。

    我们还没有 EVM、但如果此问题根本无法解决、我们可能会考虑购买 EVM。 我们目前只有一个产品使用该放大器。 到目前为止、我们尚未使用任何后处理功能、但客户已联系我们、希望为他们提供滤波器。

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

    你(们)好  

      Luis 正在调查、很快就会回复您。

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

    您好 Vincent、

    您是否能够获取 EVM 来确认此行为?

    此致、

    Luis