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.

[参考译文] PCM5142:PurePath Studio 音量块异常行为

Guru**** 2539500 points
Other Parts Discussed in Thread: PCM5142, PCM5242

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/942236/pcm5142-purepath-studio-volume-block-strange-behaviour

器件型号:PCM5142
主题中讨论的其它部件:PUREPATHSTUDIOPCM5242

您好!

PurePath Studio 中的块"卷"行为非常奇怪。 当系数小于0x010000时、当从-36dB 更改为-365dB 时、体积变化不平稳、但下降到较小的水平。

当使用块"Volume_ZeroX_ROM"时、音量级别 会按应有的方式平稳变化、但在音量变化期间、声音会失真。

谢谢你。

此致、

Evgenij

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

    您好、Evgenij、

    您能否分享您的 PurePath 流程?

    谢谢、

    Paul

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

    您好、Paul。

    PurePath 流程。

    谢谢、

    Evgenij

    e2e.ti.com/.../Volume_5F00_ZX_5F00_ROM.zipe2e.ti.com/.../Volume.zip

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

    您好、Evgenij、

    您是否尝试过移除立体声平衡块? 这有效果吗? 遗憾的是、我在几天内无法访问我的实验室来确认这一点。

    谢谢、

    Paul

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

    您好、Paul。

    我已经尝试过不带立体声平衡块的处理流。 删除 立体声平衡块无效、无变化。

    谢谢、

    Evgenij

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

    好的、这很有趣。  当您更改音量时、您是在 PurePath Studio 中使用调节控制、还是在器件上实际使用音量寄存器?

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

    您好、Paul

    仅可通过 PurePath Studio 流程中的"卷"块更改卷、寄存器卷保持不可触摸。

    谢谢、

    Evgenij

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

    您能否尝试实施流程、然后使用实际的容积寄存器调整容积? 我怀疑 PPS GUI 不能顺利更新系数。   

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

    当使用块"Volume_ZeroX_ROM"时、音量级别 会按应有的方式平稳变化、但在音量变化期间、声音会失真。 "Volume_ZeroX_ROM"和"Volume"使用相同的体积系数。 但是、仅 当使用"Volume_ZeroX_ROM"时、卷才会平稳变化。 但是、当使用"Volume_ZeroX_ROM"时、输出声音在音量变化期间会失真。

    我还尝试通过卷寄存器更改卷。 结果与"Volume_ZeroX_ROM"相同:音量级别 平稳变化、但输出声音在音量变化期间失真。 因此、现在没有任何卷更改意味着"Volume_ZeroX_ROM"块、"Volume"块、卷寄存器-允许正确更改卷。

    谢谢、

    Evgenij

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

    好的、那么我今天在我的实验中测试了这个。  

    工艺流程中的体积块用于定义在流程中应用体积调整的位置。  调节 PurePathStudio 中的音量时音频出现毛刺脉冲的原因是它更新了 cram A 或 cram B 中的单个系数。 这不是应用中的预期用例。  流中的体积值可被视为 DAC 的基线值。   

    非系数存储器中有音量控制、这些控制位于第0页的寄存器0x3C、3D、3E 中。   

    例如,您可以使用卷块的方式如下:

    PCM5142的最大输出约为2.1VRMS。  假设您有一个放大器、其最大输入电压为1VRMS。  您可以在工艺流程中使用体积块并将 DSP 系数设置为-6dB。  这会使输出衰减50%。

    现在、在正常使用期间、您将使用寄存器0x3C-E 来控制应用的音量。  如果您在这些寄存器中输入0dB、则输出仍为1VRMS。  如果您输入-6dB、则输出将为0.5VRMS。   

    我希望这是有道理的。  这是有益的、因为您可以在不接触系数存储器的情况下更改音量。

    谢谢、

    Paul

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

    您好、Paul、

    下面是多次使用 pcm5142进行实验后的结论。 请确认或反驳每一点、它们对我们的设计非常重要。

    1) 1)您会说:"流程中的容积块用于定义在流程中应用容积调整的位置。  调节 PurePathStudio 中的音量时音频出现毛刺脉冲的原因是它更新了 cram A 或 cram B 中的单个系数。 这不是应用中的预期用例。

    我再重复一遍:使用简单的"音量"块时没有干扰;声音清晰如常。 干扰仅与"Volume_ZX_ROM"一同出现。 但是、对于"Volume_ZX_ROM"卷、始终会平稳变化、而对于"Volume"、当值小于0x010000时、块卷会下降。

    您会说:"流中的体积值可被视为 DAC 的基准值"。

    好的。 如果是、为什么使用简单的"Volume"块和"Volume_ZX_ROM"块、我们在 PurePathStudio 中以相同的-38dB 电平获得完全不同的输出结果? 我们不会调节音量、只需启动 PCM5142并具有不同的输出音量。

    我们的结论是:即使在启动时、"volume"块也不能正常工作。 请确认或反驳。

    2) 2)您会说:"当您在 PurePathStudio 中调节音量时、音频出现毛刺脉冲的原因是它更新了 cram A 或 cram B 中的单个系数。 这不是应用中的预期用例。

    如果是、自适应模式的用途是什么?

    我们可以 动态更改任何 DSP 系数吗? 请确认或反驳。

    3) 3)即使通过容积寄存器也会在改变容积时出现毛刺脉冲。 原因可能是什么?

    谢谢、

    Evgenij

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

    您好、Evgenij、

    让我们看看我是否可以澄清以下几点:

    1.我相信干扰是由 PurePath Studio (程序)与 DSP 交互引起的。  它可能无法正确处理自适应模式访问、这会导致 DSP 以错误的方式加载系数。  您是否也看到了此通知?

    这是我在使用卷块时遇到的错误。  我的理解是 PPS 工具强制器件退出自适应模式、以便其寄存器探测工具仍然工作。  我认为、在开发流程时、一个很好的解决方法是断开连接、更改音量级别、然后再次"下载并运行"。

    尝试以下操作:使用 I2C 命令工具在 PurePath Console 1.16中加载以下配置文件。 (请注意、我正在使用 PPC 2.0、因为我正在使用 PCM5242进行调试、但它们具有相同的 DSP)。  此配置文件加载上述流程、但我在 cram A 中将卷设置为0dB、在 cram B 中将卷设置为-12dB

    e2e.ti.com/.../base_5F00_main_5F00_Rate44-0db-cramA-_2D00_12dB-cramB.cfg

    e2e.ti.com/.../switch-CRAM-in-adaptive-mode.cfg

    使用加载和执行选项、使用 cram 值加载文件。  现在您可以播放一些音频、其频率应为0dB。  接下来加载并运行"switch cram in adaptive mode"脚本。  这会从 cram A 切换到 cram B、反之亦然。  您可以多次执行此操作以来回切换。  您应该会听到从0dB 到-12dB 的平滑(无削波)转换。   

    现在、这种音量调节需要访问 cram、这可能不是您希望在实际应用中实现简单音量更改的方式。   

    更有可能的是、如果您想要动态调节音量、您将使用不在音箱中的数字音量调节。  PPC2.0中提供的所有功能。  如果我将其设置为-6dB、那么现在使用 cram A 时将获得-6dB 的有效音量、使用 cram B 时将获得-18dB 的有效音量

    现在、到您的点"好的。 如果是、为什么使用简单的"Volume"块和"Volume_ZX_ROM"块、我们在 PurePathStudio 中以相同的-38dB 电平获得完全不同的输出结果? 我们不调节音量、只需启动 PCM5142 、并且具有不同的输出音量。"

    我最终不知道。  但我建议您尝试使用 disconnect>modify>download and run 选项,看看您是否仍有差异。  在另一条注释中、关于启动卷:请注意、PCM5142的存储器是易失性的、因此对器件进行下电上电将清除所有系数。  

    2.自适应模式更适合为双二阶滤波器或 DRC 等实现不同的系数  用户发起的音量调整应通过第0页的寄存器关闭。

    3.更改音量寄存器的音量没有任何问题。  您是否在 EVM 上测试过这种情况? 是否禁用任何其他与卷相关的功能?  我强烈建议在 PPC1.16中测试其中的一些功能。

    谢谢、

    Paul

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

    您好、Paul

    1) 1)我们将器件板与由外部 MCU 引导的 PCM5142配合使用。 因此、我们不使用 PurePath Studio 与 DSP 进行交互、也看不到这样的通知。 谢谢!

    尽管它变得越来越陌生。 我们通过外部 MCU 动态调节音量、双二阶、平衡等。 正如我之前所写的、滑翔翼出现在"Volume_ZeroX_ROM"块中、而不是出现在"Volume"块中。

    使用块"音量"、当从-36dB 更改为-365dB 时、音量会下降到较小的水平。 使用"Volume_ZeroX_ROM"块时、音量会按应有的方式发生变化、但在期间会听到干扰
    变化。 当真正发生变化时、我们绝对会正确地更改 cram 缓冲器、而使用双二阶滤波器、我们在动态更改系数时具有出色的输出音质。

    现在、到您的点"好的。 如果是、为什么使用简单的"Volume"块和"Volume_ZX_ROM"块、我们在 PurePathStudio 中以相同的-38dB 电平获得完全不同的输出结果? 我们不会调节音量、只需启动 PCM5142并具有不同的输出音量。 我最终不知道。  但我建议您尝试使用 disconnect>modify>download and run 选项,看看您是否仍有差异。  在另一条注释中、关于启动卷:请注意、PCM5142的存储器是易失性的、因此对器件进行下电上电将清除所有系数。"
    在我们的设计中、PCM5142由外部 MCU 引导。 因此、每次启动时、我们都会使用 PurePath Studio 生成的整个.cfg 文件来引导 PCM5142。 换言之、"音量"块的-38dB 与"音量_ZX_ROM"块的-38dB 完全不同。

    "现在、这种音量调节需要访问 cram、这可能不是您希望在实际应用中实现简单音量更改的方式。"
    为什么不呢? 此外、在 PurePath Studio 中还有具有过零功能的"Volume_ZX_ROM"块。 那么、为什么在启动时只需要使用过零检测?

    2)是的、在动态更改双二阶系数时、我们具有清晰的输出声音。

    3) 3)我们将进行更深入的实验、谢谢。 我们可以将 PurePath 控制台仅用于 EVM 还是用于我们自己的电路板?


    谢谢、
    Evgenij

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

    您好、Evgenij、

    PurePath 控制台实际上只能与 EVM 配合使用。  它具有 I2C 功能、可轻松加载.cfgs。   

    我无法重现您看到的问题、但在使用您共享的.pfw 文件时、我确实看到了一些奇怪的行为。  您仍在使用立体声平衡组件吗? 删除它是否会对您的系统产生影响?  我发现偶尔只有一个通道可以工作、并且我收到 DSP 溢出错误。  您能否确认您是否看到相同的错误? 您可以通过读取第0页寄存器90来进行检查。

    此外、您能否详细说明您正在执行哪些步骤来监控活动的 cram 并安全地切换值?   

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

    您好、Paul、

    从工艺流程中移除立体声平衡组件、但不会发生任何变化。 我将在第0页的寄存器90中检查错误状态。

    根据 SLAA425D 文档"Coefficient RAM Access mechanises"、步骤:

    1) 1)写入新系数

    2) 2)开关缓冲器

    3) 3)等待开关标志清零

    4) 4)再次写入新系数

    我认为我们的开关过程是正确的、因为在改变双二阶系数时、输出声音是清晰的、并且会按预期发生变化。

    谢谢、

    Evgenij

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

    您好、Evgenij、

    在写入另一个 cram 之前,您能否确认是否验证哪个 cram 处于活动状态?

    由于我无法重现这种行为、我很难对此进行诊断。  我建议您从工艺流程中删除音量控制、而是依赖于 I2S 输入的音量控制(第0页寄存器)。  除非您尝试调整单个音频路径的音量(例如、如果您希望左声道始终比右声道低音量)、否则音量块不会提供太多的音量。   

    谢谢、

    Paul

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

    您好、Paul

     

    "在写入另一个 cram 之前、您能否确认您是否验证哪个 cram 处于活动状态?"

    为什么? 用户可以随时只访问一个缓冲区、并根据开关缓冲区过程 I 更新两个缓冲区中的数据。

    请向我展示 SLAA425D 文档(可能在其他文档中)中描述的用户在写入前必须验证哪个 cram 处于活动状态的位置?

    "由于我无法重现这种行为、我很难对此进行诊断。 我建议您从工艺流程中删除音量控制、而是依赖于 I2S 输入的音量控制(第0页寄存器)。 除非您尝试调整单个音频路径的音量(例如、如果您希望左声道始终比右声道低音量)、否则音量块不会提供太多的音量。"
    我明白了。

    谢谢、

    Evgenij

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

    您好、Evgenij、

    我建议确认 cram 是为了防止同步问题:

    ACRS 将通知您正在使用哪个银行。  这样,您就可以确保只写入未使用的 cram。  您不应修改 DSP 当前正在使用的 cram。   

    把这两个 crams 想象成一个乒乓缓冲器。  您修改未使用的 cram,然后请求一个交换机。  然后,您可以修改以前使用的 cram。

    谢谢、

    Paul

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

    您好、Paul

    您的建议与文档完全相反。

    根据文档、DPS 和用户不能同时访问 cram 缓冲区、这是由设计保证的:当 CRAMA 被 DSP 使用时、用户不能同时访问、反之亦然。

    这就是为什么 cram 缓冲区没有可直接访问的地址、 只能切换缓冲区。

    如果建议检查活动 cram 并写入另一个 cram、请提供执行该操作的确切过程以及 cram 缓冲区地址。

    谢谢、

    Evgenij

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

    您好、Evgenij、

    你是对的! 在过去几年里、我误解了自适应模式。 在编写本文档之前、我始终验证使用的是哪个 cram。  我刚刚测试了这一点、并确认 CRAM 银行无关紧要。  因此无需检查 ACRS 位。

    话虽如此、在调整体积系数时、我仍然没有发现任何失真。

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

    您好、Paul

    我认为可以用以下结论停止讨论:PurePath Studio 中的卷块不得用于动态卷级别调节、而是必须为此目的写入卷寄存器。

    感谢您的回答。

    此致、

    Evgenij