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.

[参考译文] UCD9090:I2C/PMBus 编程

Guru**** 2498735 points
Other Parts Discussed in Thread: UCD9090

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/730257/ucd9090-i2c-pmbus-programming

器件型号:UCD9090

你(们)好

我正在尝试为著名客户对 UNC9090器件进行编程。 根据 i2c/PMBus 接口规范,我发送器件地址和命令(例如,要获取 ID,我发送0x68和0xFD)。 但是、无论我做什么、我都会获得地址 ACK 和命令 NACK。 如果我更改电阻器及其地址、器件会将 NACK 发送到旧地址、并将 ACK 发送到新地址。 因此、器件"了解"了我。 我更改了频率、帧之间的间隙。 相同的结果。  

我还注意到了一些奇怪的东西。 如果我在器件的响应(ACK / NACK)期间将 PMBus_CLK 设置为输入、那么有时我会失去命令帧的第9个时钟(地址帧正常)。

你有什么建议吗?  

非常感谢。

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

    您的 i2c 主机是否支持时钟拉伸?UCD9090需要时钟拉伸才能工作。  您有 UCD90SEQ48EVM 吗? 如果是、您可以比较波形吗?

    此致

    Yihe  

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

    Yihe、

    感谢你的答复。  

    是的、主机支持时钟扩展、但接下来的情况是、当我看到从机将时钟保持在低电平时、我 将等待时钟上升到高电平并检查响应。 首先、等待时间异常巨大(freq = 3kHz、等待时间= 100ms)、其次、等待后我会得到否定、之后我需要做什么? 更改频率不会产生结果。

    不、我没有 UCD90SEQ48EVM。 如果您附加 波形、我们将不胜感激。 我希望我不会打扰你。

    Dmitry

    谢谢你

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

    您能否使用示波器而不是逻辑分析仪捕获波形? 这将有所帮助。

    因为 i2c 主机 需要在将时钟信号释放到高电平状态后回读时钟信号、并等待直至线路实际变为高电平。 一旦它变为高电平、主机将继续时钟脉冲。 我无法相信 i2c 在100ms 时较低。

    请参阅使用400kHz 时钟从 EVM 捕获的波形。 您可以看到在接收到0xFD 后时钟出现条纹。

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

    Yihe  

    非常感谢您的帮助。

    昨天我浪费了一整天。  我的波形已附加。 仍然无法获取第二个 ACK。 器件会在经过很长(大约100ms 及以上)的时间后使用 NACK 释放时钟。 似乎我有您发送给我的波形,但...我可以猜测功率上升的问题。 可能是我必须使用幕布频率。 或电源上升和 i2c-start 之间的时间间隔? 或其他一些限制?

    很抱歉打扰您、但该波形可能会为您提供任何错误信息

    我注意到、波形在很大程度上取决于上电后的延迟

    Dmitry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的运行频率为100KHz。 您的上拉电阻器是什么?
    100ms 肯定是错误的、因为这违反了 PMBus 规范。 总线保持低电平的时间不得超过35mS。
    您的意思是波形在很大程度上取决于上电后的延迟? 在3.3V 稳定后、您开始发送命令的时间是多久?
    UCD9090是否可以在您的设置中重新起作用? 您是否要尝试其他 i2c 主工具? 也许可以尝试订购 www.ti.com/.../usb-to-gpio、这是支持 UCD9090的经批准的解决方案。
    此致
    Yihe
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yihe
    我几乎得到了虎钳!!! 但是……
    我已更改 BPCAP 上的电容器(4.7u || 0.01u)、在 V33A 上添加了4.7u || 0.1、在 V33D 上添加了4.7u || 0.1、并获得了新结果。 现在我在地址上有 ACK、在0xFD 上有 ACK (!!!) 但是,然后我尝试获取接收到的 ID 0xff (胡胡说)
    因此、我发送0x68 (地址)、0xFD (命令)、尝试获取结果。 对吧?
    我的频率为250kHz
    我在 BPCAP 上的电压约为1.7V。 是否可以接受? 它应该恰好是1.8V 吗?

    您的意思是"您的设置中的 UCD9090工作是否正常?" 我该怎么说呢?
    我没有其他工具。 我的工具是一个编程器、用于读取/写入器件。
    你给予了很大的帮助。 非常感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新。 请遵循 www.ti.com/.../slvub50上的 UCD90xxx 原理图指南 、确保正确对电源部分进行了设置。
    0xFF 不向右、这意味着没有人驱动总线、默认情况下、它是上拉高电平。

    此致
    Yihe