PCM5242: EQ 调节BIQUAD 曲线后,通过I2C发数据没有变化

Part Number: PCM5242

EQ 调节BIQUAD 曲线后,通过I2C发数据没有变化。

正确的调节其中一个BIQUAD后,软件的写法是怎么样?

通过VIEW LOG的方式只是变化这些数据,但是软件写了这些数据进去后实际没有效果。

w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00 
w 98 00 2c 
w 98 01 05 
w 98 00 2e 
w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00 
w 98 00 00 

 

image.png

  • 您好,
    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 你好预计什么时候能回复呢?项目紧急!

  • 麻烦尽快帮忙回复,有项目等着做试产。

  • 我们的一位专家会尽快为您提供帮助。

  • 你好,

    更改双二阶滤波器参数时,用户必须按键盘上的 Enter 键才能使更改生效(请参阅《使用 TAS5754/6M 和 PCM5242 HybridFlow 处理器》中的 5.1 节“双二阶滤波器”)。以下是应用说明:

    使用 TAS5754/6M 和 PCM5242 混合流处理器

    由于miniDSP的数据缓冲机制,寄存器转储只能在设备处于停止模式时进行。如果在HybridFlow处于运行状态时尝试转储,系数寄存器将无法正确读取。要执行寄存器转储,必须使用GUI窗口右上角的“模式”选择滑块将GUI设置为“高级”模式。寄存器转储只能在设备处于停止模式时进行,这是由于miniDSP的数据缓冲机制所致。(请参阅同一文档中的3.1节“寄存器转储和.cfg文件生成”)。

    希望这能解决您的问题。

    亲切的问候,

    阿拉什

  • 你好,回答的不是我所提到的问题。

    我的问题的,如上图,比如现在我发了数据100HZ 0dB,和10KHZ 0dB,此时通过发送I2C数据到DSP后,音频输出的曲线是正常的,按时如果我想在100HZ +2DB,10KHZ +2dB,那么只发送这些数据给到DSP,DSP没有反应。

    是不是第一次loading了数据后,再次修改EQ的参数,写法上有问题。

    我是按下面的数据写入到DSP的。

    w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00 
    w 98 00 2c 
    w 98 01 05 
    w 98 00 2e 
    w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00 
    w 98 00 00 

  • 您好,这不是我提到的问题。

    我的问题如上图所示。例如,我发送 100Hz 0dB 和 10kHz 0dB 的数据。将 I2C 数据发送到 DSP 后,音频输出曲线正常。但是,如果我只想将 100Hz 和 10kHz 分别加 2dB,并将这些数据单独发送到 DSP,DSP 则没有响应。

    首次加载数据后修改 EQ 参数时,语法是否存在问题?

    我将以下数据写入了DSP。

    w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00
    w 98 00 2c
    w 98 01 05
    w 98 00 2e
    w 98 64 7f ff ff 00 80 ad 7a 00 7e aa a2 00 7f 52 86 00 81 55 5e 00
    w 98 00 00

  • 你好,

    对于上面的脚本,我没有发现任何异常之处,但我唯一会做的就是在脚本的开头加上 W 98 00 00。

    关于图形用户界面:这是一个非常老旧的图形用户界面,经常出现故障(我的Win11系统甚至都打不开它了)。我建议使用其他程序,直接用代码进行读写操作。

    我使用的是 PUREPATH CONSOLE 3 自带的 I2C Master(可从 ti.com 免费下载)。

    这是将代码写入寄存器和从寄存器读取代码的最可靠方法。

    亲切的问候,

    阿拉什

  • 不知为何它一直显示为打开状态。我已经关了不下六次了!!

  • 你还没提供正确的解决方法

  • 您好,正如我上面提到的,这是一个老旧的图形用户界面,它偶尔会出现一些问题,甚至在新版本的 Windows 系统上无法运行。我尝试在不同的电脑上打开它,但它们都运行的是 Windows 11 系统,与此不兼容。所以我改用 PPC3 架构。在 PPC3 架构中,我使用脚本手动读写寄存器。

    除了目前提供的指导之外,我能想到的唯一其他选择就是不要使用预装的流程,而是创建您自己的自定义流程。这样应该可以实现正确的寄存器读写操作。

    问候,

    阿拉什

  • 你好,我的问题是,当我写了一段EQ后,需要对之前的EQ 数据重新写入,那么I2C写入的流程是什么?现在遇到的问题是写入不成功。好像是写入的方法有问题。

  • 你好,

    一旦你重置寄存器并写入任何寄存器,该寄存器的值将保持不变,直到它收到另一个 WRTIE 命令或复位信号/命令。需要注意的是,如果在 WRTIE 命令之间更改了页码,你将写入新页的寄存器,而不是写入同一个寄存器。

    w 98 00 00 # PCM5242 第 0 页

    例如,第 0 页的寄存器 01 只有 2 位可以更改:RSTM 和 RSTR。

    RSTM复位模块
    此位会重置插值滤波器和DAC模块。由于DSP也被重置,系数RAM也会被重置。
    DSP 也会清除该内容。此位会自动清除,且只能在待机模式下设置。


    RSTR 复位寄存器
    此位将模式寄存器重置为其初始值。RAM 内容不会被清除,但执行过程会被清除。
    源数据将返回到 ROM。此位会自动清除,仅当 DAC 处于待机模式时才需要设置。
    (DAC运行时禁止重置寄存器,不支持此操作)。

    我注意到你向这个寄存器(w 98 01 05)中写入了值 0x5,它的二进制表示是 0000 0101。
    但它无法更改位 B2,因为它是保留的,所以它最多只能设置 B0(RSTM=1)并将其重置。

    另外,您已分配寄存器 0x​​64(十进制 100)7f,但 P0 中的寄存器 95 - 107 均为保留寄存器。
    如果要更改 p44 中的寄存器 0x​​64,必须先切换到第 44 页 (0x2C),然后写入寄存器 0x​​64。
    所以顺序应该是这样的。

    w 98 00 2c
    w 98 64 7f ff ff .....

    请注意,根据您的脚本,P 0x2C 中的寄存器 0x​​65 的值将为 ff。

    问候,

    阿拉什