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.

[参考译文] TPS659037:使用 I2C 通过 AM5728更改设置 PMIC 电压的详细流程

Guru**** 2770155 points

Other Parts Discussed in Thread: TPS659037, AM5728

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/928821/tps659037-detailed-flow-on-using-i2c-to-change-the-set-pmic-voltages-via-am5728

器件型号:TPS659037
主题中讨论的其他器件: AM5728

我有一位客户正在 通过 I2C 将 TPS659037连接到 AM5728。

它们将 I2C1和 I2C2短接在一起。

器件启动后、使用 I2C (I2C1_SDA (引脚 C21)和 I2C1_SCL (引脚 C20))发送命令和编辑输出电压的过程/步骤是什么?

细节越详细越好...

此致、

Darren

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

    Darren、

    我已将此问题分配给 TPS659037器件的专家。 我预计您将在今天(美国中部时间)结束前收到回复。

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

    Darren、

    您好、您不需要 I2C2、它是用于处理处理器的 DVS 电压的可选配置。 不过、也可以在 I2C1上访问相同的寄存器。

    我建议客户在此处查看我们的寄存器映射 :https://www.ti.com/lit/pdf/sliu015 

    该器件具有5页寄存器、这意味着5个不同的 I2C 从器件地址可访问所有寄存器。 大多数用户寄存器位于0x1页、这意味着 I2C 从地址0x58。 在寄存器映射中、用于更改电源轨电压的寄存器将标记为寄存器0x1XX -其中1是页码、XX 是寄存器地址。

    如果您有其他问题、请告诉我。

    此外、请注意、如果您尝试在启动时实现 DVS 电压、AM572x 具有驱动器、可为您提供有关如何适应正确工作电压的大量工作。

    谢谢、

    纳斯塔莎

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

    您好、Natasha、  

    我对流程的理解是否正确? (根据 DS 中的图5-14)

    1:AM572x 将 SDA 拉低。

    2、AM572随后将启动 SCL 并输出数据。

    2.1前7位与从器件地址相关

    2.2第8位定义了是否将读取/写入该地址。

    2.3第9位是从器件发出的一个应答

    然后、在下一组 SCL 脉冲时、从器件发送一些数据(读取)、或者主器件继续发送数据(写入)

    例如、根据您所附的技术手册、如果您想访问 DVS...

    主器件将写入0x0xx
    - 0x0xx  定义了 DVS 页
    - 0x0xx 定义 DVS 页中的哪个寄存器
    -然后主器件写入一个"R/W"位
    -然后主器件等待从器件的 ACK
    -然后主设备从从从设备接收数据,或将数据写入从设备

    我的理解是否正确?

    如果使用0x0xx、您对 R/W 位的写入能更精确一点吗?
    我对这里的协议不太熟悉...

    非常感谢。

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

    您好 Darren、

    纳斯塔莎昨天不在办公室、她或我将在周四的达拉斯时间跟进您。 感谢您的耐心等待。

    此致、

    Layne J

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

    您好 Darren、

    根据上面链接的寄存器映射 Nastasha (见第44页的表3-40)、可以从第1页访问 DVS 寄存器。 您不一定需要使用0x0xx 来访问这些寄存器、而是可以使用0x1xx。

    我将在明天创建一个寄存器读取和寄存器写入以及发布的示例。 我只想确保我的一切都是正确的。

    此致、

    Layne J

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

    您好、Layne、

    寄存器 R/W 的示例将非常有用、谢谢。

    Darren

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

    您好 Darren、

    我已将一个读取和写入序列的示例组合在一起、如下所示。 我想说的是、控制 I2C 线路的软件通常会处理添加读/写位的操作、但我仍在其中包含该位以供您参考。 这是与器件之间的实际通信看起来的样子。 在本示例中、我们将写入寄存器0x123以获得值0x01。 这会将 SMPS12设置为0.7V 输出。

    7位从器件地址(0x58)+写入位、ACK、寄存器地址(0x23)、ACK、数据输入/数据输出(取决于读取/写入)、ACK

    10110000  0  00100011  0  00000001  0 (粗体为从主设备到从设备的位、下划线为从设备到主设备的位)

    现在、如果您想读取该相同的寄存器值、通信将如下所示

    10110001  0  00100011  0  00000001  0 (粗体为从主器件到从器件的位、下划线为从器件到主器件的位)

    此 I2C 通信与标准 I2C 通信相同、因此您也可以在线研究 I2C 指南。 该器件唯一的注意事项是使用不同的从器件地址来读/写不同的寄存器页面(这些内容可在 TPS659037数据表第56页的表5-7中找到)。

    此致、

    Layne J