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.

[参考译文] PCM1865:如何通过 I2C 接口读取和写入寄存器。

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1121696/pcm1865-how-to-read-and-write-registers-over-a-i2c-interface

器件型号:PCM1865

我一直在阅读 PCM1865数据表、但无法了解如何通过 I2C 接口读取或写入寄存器。 第64页的图50显示了用于读取和写入操作的相同数据模式。

7年前的这个论坛主题提到了如何读取寄存器值
e2e.ti.com/.../1669849

但是、我该如何写入它们呢?
我是否需要"重复/持续启动"?
如何更改页面? 它是否有自己的 I2C 架构?

接下来、我对某些寄存器中的保留位有一些疑问:寄存器41、42、43、51至54 (可能包括其他寄存器)具有描述为"保留"的保留位。 请勿访问。"。 如果我想手动配置 PLL (例如)、我需要写入这些寄存器并对它们进行"访问"。
然后、有些寄存器(如97、114、115、116或117)会向保留位写入特定值、但寄存器本身是只读的、这毫无意义(或者寄存器为"R/W"、但"/W"被擦除)。 只要寄存器实际上是只读的、这就不是真正的问题。

非常感谢

Figure 50 from datasheet.

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

    您好、Agustin、

    阅读有关 I2C 的应用手册以更好地理解: https://www.ti.com/lit/an/slva704/slva704.pdf

    简而言之、通过发送要写入的器件地址、所需寄存器的地址和要写入的数据来完成写入。 写入不需要重复的启动条件。 要更改 PAGE、请向寄存器0x00写入要更改为的页。 例如、如果我想更改为第4页、我将写入"W0x (器件地址) 0x00 0x04"

    对于您要介绍的寄存器、我知道您会感到困惑。 在实践中、这些意味着相同的东西。 只要不改变保留位本身、就可以写入具有保留部分的寄存器。 要使用41作为示例、只要位7保持为0、您就可以对位6-0执行任何操作。 通常、您不应写入只读寄存器、因此您不必担心这些寄存器会说出要写入的内容。 如果您写入这些寄存器、这是一个额外的警告。

    此致、

    Jeff

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

    感谢 Jeff。 我会尝试一下。