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.

[参考译文] TAS5805M:I2C 寄存器访问有哪些先决条件及其影响?

Guru**** 2478765 points
Other Parts Discussed in Thread: TAS5805M, TAS5825M

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/822010/tas5805m-what-prerequisites-exist-for-i2c-register-accesses-and-their-effects

器件型号:TAS5805M
主题中讨论的其他器件: TAS5825M

TAS5805M 的启动配置存在很多不确定性: 数据表未提供详细信息、本论坛上的许多人都试图获取基本的启动配置序列(例如、将器件置于所有寄存器集均可配置的状态)、但未成功。 我认为提供这种信息将会对每个人都大有帮助。 但到目前为止、似乎无法获得此类配置、而是必须使用 PPC3生成的整个寄存器空间配置设置。

浏览论坛时、我遇到了一些未记录(或未正确传达)的限制、例如、通过 RESET_CTRL 寄存器进行的器件复位只能在输出 HiZ 模式下完成。 数据表显示、I2S 在启动配置中必须处于激活状态、但不会指定实际需要 I2S 时钟存在以进行写入的寄存器子集。 这也与示例 Linux 编解码器驱动程序相矛盾、在该驱动程序中、寄存器初始化序列在 I2S 时钟出现前执行。 因此、我要要求的是每个寄存器(或寄存器组)的读取和写入所需的边界条件规格、以及实际应用写入设置时的附加条件。 最好采用表格式、例如:

寄存器(书籍、页面、地址)| I2C 读取的器件状态| I2C 读取的 I2S 时钟| I2C 写入的器件状态| I2C 写入的 I2S 时钟|设置激活的器件状态|设置激活的 I2S 时钟|任何其他特殊条件(如果存在)

提前感谢、

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

    明天我将看并回复您。

    Andy

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

    TAS5805M 具有较大的寄存器映射、因此我始终建议客户在 PPC3中生成配置(通常为头文件)。  当配置集成到客户固件/软件中时、需要进行一些小的修改。

    下面的 C 代码显示了如何根据 TAS5805M 的启动序列要求通过 i2c 对其进行初始化。  请注意、I2S 时钟在通过 i2c 对 TAS5805M 进行编程之前启动、并在整个 初始化过程中保持运行。

    e2e.ti.com/.../tas5805m.c

    我在 PPC3中得到了以下头文件、然后对其进行了细微修改。

    e2e.ti.com/.../tas5805m_5F00_config.h

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

    任何初始化序列只能涵盖静态用例。 但是、我们需要在器件运行期间调整大量参数:

    1. 更改电源状态(例如、如果播放停止、设备必须进入较低功耗状态)
    2. 调整音量
    3. 根据音频文件的参数更改音频格式参数(采样率、字长、数据格式)
    4. 动态更改 DSP 参数

    这些操作中的任何一个都必须能够独立执行、对于这些参数的每一个组合、都没有初始化序列的解决方案。

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

     初始化期间需要 I2S 时钟的主要原因是 TAS5825M 的内部 DSP 需要外部 I2S 输入时钟来完成启动。

     初始化完成后、上述操作无需 I2S 时钟。