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.

[参考译文] PCMD3140:无法写入 Biquad 寄存器

Guru**** 2460930 points
Other Parts Discussed in Thread: PCMD3140

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1291496/pcmd3140-cant-write-biquad-registers

器件型号:PCMD3140

大家好、

IM 试图使用 pcmd3140中的双二阶滤波器、但保存系数的寄存器似乎是只读的。

我的工作:

- POR

-写入00以切换到第0页

-写入02 81以将设备从睡眠模式唤醒

-等待12ms 让设备从休眠模式中唤醒

-写入00 02以切换到第2页

-将08 1F 写入第2页寄存器0x08的值为0x1F

-写入00 02以切换到 PAGE 2 (可能不需要,但不应该做任何最坏的情况)

-读取08以读取第2页寄存器0x08、结果为0x7F

我预期会发生什么情况:

第2页寄存器0x08读取新值0x1F

实际发生的情况:

第2页寄存器0x08读取复位值0x7F

页0和1上的其他寄存器按预期工作。 因此、我认为我的 i2c 通信是正确的。

是否在写入寄存器之前缺少需要执行的其他操作?

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

    大家好、Matthis、

    在读回值之前、必须写入整个系数以确认写入已被接受。 这意味着、一旦您写入0x08、即使这些值相同、也必须写入0x09、0x0A 和0x0B。 写入系数的所有四个字节后、您应该能够正确回读系数。 请记住、从 MSB 到 LSB 的读取也必须按顺序发生。 这些系数寄存器不会像页0中的寄存器那样作为单个字节运行。

    此致、
    J·麦克弗森

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

    成功了。 谢谢你<3