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.

[参考译文] UCD90120A:有关通过 I2C 进行 GPIO 控制的问题

Guru**** 2524250 points
Other Parts Discussed in Thread: UCD90120A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/818709/ucd90120a-question-about-gpio-control-via-i2c

器件型号:UCD90120A

您好!

我们现在使用一个微控制单元(STM32系列)通过 I2C 控制两个 UCD90120A 芯片,我有一些问题:

1.通过 I2C 控制(启用或禁用) UCD90120A 中的 GPIO 的步骤是什么?

我们已经尝试了以下步骤:

(1)生成启动信号

(2)发送 PMBus 地址(我们使用默认地址0x7E 进行测试、该地址应为0xFC、包括 W/R 位。)

(3)等待从器件 ACK (此时、我们可以使用示波器捕获 ACK 信号。)

(4)发送命令地址(我们选择 GPIO_select 命令、即 Fah、如 《UCD90XXX 序列发生器和系统运行状况控制器 PMBus 命令参考》所示。)

(5)等待 ACK (此时,我们无法获得任何 ACK 信号!)

(6)发送引脚的配置字节(我们选择 GPIO17进行测试、根据数据表、该值应为0xC6。)

(7)等待 ACK (仍然无法获取 ACK 信号。)

(8)生成停止信号

我是否有错误的详细信息? 我应该怎么做才能获得正确的结果?

2.读取 ,我认为要发送数据,第一个字节应该是“7位地址+ 1位 W/R”。 但通过读取 -第6章和第10章,几乎所有的命令地址都已经是8位了,这真的让我感到困惑! 发送命令时应使用哪种格式?

期待您的回复、

谢谢、此致、

张晓敏

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

    你好  

    所有命令都遵循 http://smbus.org/specs/smbus20.pdf 第5.5节中定义的协议

     此外、您的主器件需要支持时钟扩展、否则 i2c 通信不可靠。  

    您的意思是命令地址? 没有命令地址。 它是用于区分不同命令的命令代码。  

    此致

    Yihe  

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

    你好

     我们尚未收到您的意见、并假设问题已得到解决。 如果您需要进一步的帮助、请在此处回复。

    此致

    Yihe

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

    您好 Yihe、

    我检查了 I2C 支持时钟和数据格式、终于在星期一解决了这个问题。

    非常感谢您的帮助。我一直在尝试、很抱歉回复太晚了。

    谢谢、

    张晓敏