Other Parts Discussed in Thread: TPS659037, AM5728
主题中讨论的其他器件: AM5728
我有一位客户正在 通过 I2C 将 TPS659037连接到 AM5728。
它们将 I2C1和 I2C2短接在一起。
器件启动后、使用 I2C (I2C1_SDA (引脚 C21)和 I2C1_SCL (引脚 C20))发送命令和编辑输出电压的过程/步骤是什么?
细节越详细越好...
此致、
Darren
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.
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、
我已将一个读取和写入序列的示例组合在一起、如下所示。 我想说的是、控制 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