主题中讨论的其它部件:PUREPATHSTUDIO、 PCM5242
您好!
PurePath Studio 中的块"卷"行为非常奇怪。 当系数小于0x010000时、当从-36dB 更改为-365dB 时、体积变化不平稳、但下降到较小的水平。
当使用块"Volume_ZeroX_ROM"时、音量级别 会按应有的方式平稳变化、但在音量变化期间、声音会失真。
谢谢你。
此致、
Evgenij
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.
您好!
PurePath Studio 中的块"卷"行为非常奇怪。 当系数小于0x010000时、当从-36dB 更改为-365dB 时、体积变化不平稳、但下降到较小的水平。
当使用块"Volume_ZeroX_ROM"时、音量级别 会按应有的方式平稳变化、但在音量变化期间、声音会失真。
谢谢你。
此致、
Evgenij
您好、Paul。
PurePath 流程。
谢谢、
Evgenij
e2e.ti.com/.../Volume_5F00_ZX_5F00_ROM.zipe2e.ti.com/.../Volume.zip
当使用块"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
您好、Paul
"在写入另一个 cram 之前、您能否确认您是否验证哪个 cram 处于活动状态?"
为什么? 用户可以随时只访问一个缓冲区、并根据开关缓冲区过程 I 更新两个缓冲区中的数据。
请向我展示 SLAA425D 文档(可能在其他文档中)中描述的用户在写入前必须验证哪个 cram 处于活动状态的位置?
"由于我无法重现这种行为、我很难对此进行诊断。 我建议您从工艺流程中删除音量控制、而是依赖于 I2S 输入的音量控制(第0页寄存器)。 除非您尝试调整单个音频路径的音量(例如、如果您希望左声道始终比右声道低音量)、否则音量块不会提供太多的音量。"
我明白了。
谢谢、
Evgenij