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.

[参考译文] TAS5822M:解读 PPC3输出.h 文件

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1128664/tas5822m-interpreting-the-ppc3-output-h-file

器件型号:TAS5822M

大家好、我正在努力将 PPC3输出文件集成到一组用于 Atmel ATTiny814的代码中。  大多数项目都是有道理的、但数据表中有一些难以解释或未提及的项目:

  1. 什么是寄存器0x46?  PPC3或数据表中并未列出该命令,但它是 h 文件://reset 中的第一条命令之一
    { 0x00、0x00 }、
    { 0x7f、0x00 }、
    { 0x01、0x11}、
    {0x46、0x11}、
    { 0x03、0x02 }、
    {CFG_META_DELAY、5}、
  2. 页面/书籍中的部分有点令人困惑。  它说、基本上这两条命令是:
    1. { 0x00、0x00 }、//将 PAGE 设置为0x00
    2. { 0x7f、0xAA }、//将书籍设置为0xAA

但在代码部分、我们可以找到几个实例、例如{0x7E、0x91}、后跟{0x7f、0xa2}。  这个实例看起来只是将寄存器0x7f 设置为值0xa2、而不是更改工作簿/页。  是这样吗?  这是一个问题的唯一原因是、如果我们执行一些动态 EQ 更改、例如动态更改 BQ6。  在注释文件中、它看起来像是从0x24页值0x7c 开始跨越两页、然后从0x25页上的值0x17结束。  例如,如果我想即时更改 BQ6,我需要发布:

{ 0x00、0x00 }、//将 PAGE 设置为0x00

{ 0x7f、0xAA }、//将书籍设置为0xAA

{ 0x00、0x24 }、//将 PAGE 设置为0x24

{0x7c、0x0a}、//开始设置 biquad 6.

………

第0x24页的{ 0x7f、0xa2 }、//最后一个寄存器

{ 0x00、0x25 }、//将 PAGE 设置为0x25

{0x08、0xFD}、//继续双二阶6

…μ A。

{0x17、0x5f}、//完成双二阶6

上述寄存器集是否准确?

  1. 命令{0x66、0x06}是否有问题?  这在 PPC3中显示为“DSP Miscellaneous control”(DSP 杂项控制),0x06显示为对数据表中“reserved bit”(保留位)的写操作。  它看起来是0x00、直到我打开主15带双二阶滤波器块。  如果这是 PPC3的“正常”输出,则我们可以按原样发送命令。
  2. 在命令{0x66、0x06}之后、是{0x7f、0x8c}。  根据以上内容,这可能只是初始配置,我们感到很困惑,因为如果看起来像0x7f book change 命令。

感谢您的帮助、我附上了一个通用2.1模式输出文件供参考。

e2e.ti.com/.../TAS5822-test-firmware-barebones-2.1.h

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

    你(们)好

    寄存器0x46是 DSP 的默认值。 您可以在代码中将它们放在那里。

    2.是的,你的理解是对的。 如果在执行图书更改命令之前没有{0x00、0x00}、则表示设置寄存器值。 {0x00、0x00}更像是一个标志、告诉 DSP 下一个代码将更改簿。 完成 ppc3中的设置后、您可以信任 ppc3的输出。

    谢谢。

    Jesse