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.

[参考译文] UCD3138:PMBus 问题

Guru**** 2587365 points
Other Parts Discussed in Thread: UCD3138064

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/776547/ucd3138-questions-of-pmbus

器件型号:UCD3138

尊敬的 TI 专家:

我 使用 UCD3138OL64EVM 测试 PMBus 写入命令、将100kHz 的传输速度传输到 微芯片 PICkit 串行分析器、但我发现 ACK 的时钟与我设置的100kHz 传输速度不匹配、

请参阅下面的波形。  

示例:写入数据 [B6h][48h][D0h][39h][4Dh][2Eh][53h][41h][30h][35h],我是否错过了什么? 谢谢。

    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    首先、配置是什么? UCD3138064是主器件吗? 如果是、什么是从器件? 它看起来、无论它是什么、从器件是否在 ACK 之前拉伸时钟? 如果您可以在主器件和从器件之间放置一个小电阻器、相当于上拉电阻的10%、这样我们就可以看到是哪个电阻器将线路下拉。 实际上、从器件看起来在 ACK 之前下拉、因为那里的时钟会低于其他点。

    这个时钟拉伸/短 ACK 是针对每个字节发生的、还是针对每4个字节发生的、或者是什么? 也许时钟拉伸和短 ACK 是相关的。

    您能否分享您用于编写的代码、以便我们验证问题并查看我们是否会建议对代码进行任何更改?

    请包括接口的所有初始化。

    此外、您能否告诉我您使用的接口是 I2C 还是 PMBus?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    韩利,你自己解决了这个问题吗? 我愿意与您一起处理这个问题、但在如何对其进行编程方面有许多选择、我希望从您正在执行的操作开始、而不仅仅是尝试各种程序来查看我是否可以重复它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ian:

    感谢您的支持,我仍在与客户一起调试,请附上信息,
    器件:UCD3138064 64引脚
    主/从:从
    这种情况只发生在每4个字节(不包括地址)

    e2e.ti.com/.../init_5F00_miscellaneous.c

    e2e.ti.com/.../pmbus.h

    e2e.ti.com/.../6562.new_5F00_pmbus_5F00_handler.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果 UCD 是从器件、则问题出在主器件。 UCD 只会在 ACK 之前将时钟拉低、除非您对原始 PMBus 线执行某些操作、我认为您不是这样。 此外、请注意、在 ACK 时钟上升之前、时钟线会下降到低于它的值。 这告诉我、主器件和从器件之间有一个小电阻器、您的示波器探针位于 UCD 侧。 ACK 之后、时钟被下拉、但就时钟在正常位之间而言也是如此。 这告诉我主器件正在再次下拉时钟。

    每4个字节发生一次这种情况的原因是当4字节 RXBUF 在 UCD 上填满时。 硬件将时钟拉伸至软件读取 RXBUF。 因此、如果存在时钟拉伸、您使用的主器件将输出一个短 ACK 时钟。 这至少是我看到的样子。