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.

[参考译文] TPS6594-Q1:PMIC EN_DRV

Guru**** 2618835 points

Other Parts Discussed in Thread: TPS6594-Q1

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1557839/tps6594-q1-pmic-en_drv

器件型号:TPS6594-Q1


工具/软件:

您好:

我使用 的是 TPS6594-Q1。 我想读取引脚 EN_DRV。  

初始化 PMIC WD 后尝试读取该寄存器的电流(WD 被激活、配置的窗口 1、窗口 2 和长窗口时间)。

如何读取此引脚? 如果我要读取该引脚、从器件地址应该是什么? 必须读取哪个寄存器才能读取该引脚的状态?

注意:我使用 I2C 总线读取 PMIC 寄存器

此致

谢谢

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

    嗨、Manisha、

    您使用的是 TPS6594-Q1 的长器件型号/OPN、因为这会影响从器件地址、因此可能会更改答案。 例如 TPS6594133A。  

    EN_DRV 引脚电平可以从 ENABLE_DRV_STAT 寄存器(偏移量 82h)读取、特别是位 0 用于 EN_DRV_IN — 您可以在器件数据表 https://www.ti.com/lit/gpn/tps6594-q1 第 8.7.1.123 节 ENABLE_DRV_STAT 寄存器中看到这一点:

    对于地址、这是寄存器 82h。 有关 I2C 地址、请参阅数据表第 8.6.1 节“寄存器页面分区“。 这说明了寄存器的各个页面以及它如何与 I2C 地址进行交互。 重要的是、对于您的用例、看门狗寄存器位于第 4 页、用户寄存器(包括 ENABLE_DRV_STAT)位于第 0 页。 根据所用器件的配置(这就是我询问长器件型号的原因)、这些器件通常甚至在不同的 I2C 接口上、无论是在用户寄存器中的 I2C1、还是在看门狗中的 I2C2。 如果您尚未将其考虑在内、这可能会导致问题。 您可以在所使用的特定 PMIC 型号的用户指南中找到 I2C1_ID 和 I2C2_ID。  

    最后、您需要考虑是否在 I2C 上启用了 CRC、以及您是否正确发送了 CRC(如果已启用)。  

    我希望这对我们有所帮助 — 请了解完整的器件型号,如果仍有混淆,我们可以更具体地回答。  

    此致、

    Katie

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

    您好、Katie、

    感谢您的详细说明。 PMIC A 的当前 OPN 为“TPS65941213RWERC",“,PMIC、PMIC B 为 TPS65941111RWERQ1。 该寄存器 (0x80) 是否连接到不同的 I2C 接口?
    WD 连接到 I2C 的 MCU 域。 请详细介绍一下它吗?  

    谢谢  
    此致
    Manisha N G

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

    嗨、Manisha、

    对于 TPS65941213 和 TPS65941111、您可以参考用户指南 优化的 TPS65941213-Q1 和 TPS65941111-Q1 PMIC
    JacintoTm 7 J721E 用户指南、PDN-0C https://www.ti.com/lit/pdf/slvuc99、 了解有关特定配置的更多详细信息。 在第 5.11 节“接口设置“中、您将找到 I2C1_ID_REG 和 I2C2_ID_REG、它们是这些器件上 I2C1 和 I2C2 的基址、并且 CRC 在启动时禁用:  

    此器件使用单独的 I2C 接口 I2C2(在 PMIC 上)、仅用于看门狗。 因此、利用这些信息和上一篇文章中的数据表信息、您可以使用以下内容作为 I2C 接口和地址:

    TPS65941213-Q1:  

    • 用户寄存器写入=页 0:使用 PMIC I2C1 接口、并将 0x48 作为 I2C 地址
    • 看门狗寄存器=第 4 页:使用 PMIC I2C2 接口、并将 0x12 作为 I2C 地址

    TPS65941211-Q1:

    • 用户寄存器写入=页 0:使用 PMIC I2C1 接口、并以 0x4C 作为 I2C 地址
    • 看门狗寄存器:不适用、因为这是辅助器件并 禁用了看门狗(请参阅用户指南的第 5.13 节“看门狗设置“)。  

    有关 PMIC I2C1 和 PMIC I2C2 之间以及处理器上不同 I2C 接口之间的连接、请参阅同一用户指南、图 3-2 TPS6594-Q1 数字连接。 请注意、在此示例 PDN 中、未使用 EN_DRV 引脚、但可以使用(因此您可以在自己的设计中需要时使用该引脚)。  

    因此回到 EN_DRV 状态读取、您将在 I2C1 接口线路上读取 ENABLE_DRV_STAT 寄存器 (I2C1 地址 0x48)、然后使用寄存器地址 0x82。

    此致、

    Katie

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

    您好、Katie、

    感谢您提供的信息。 我尝试从寄存器 ENABLE_DRV_STAT 和 ENABLE_DRV_REG 读取 EN_DRV 引脚的状态 。 将 EN_DRV 引脚设置为高电平的先决条件是什么? 。 I CROSS 检查  ENABLE_DRV_STAT 的 FORCE_EN_DRV_LOW(位 3)也被设置为低电平。  

    谢谢

    Manisha N G

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

    您好、Katie、

    感谢您提供的信息。 我尝试从寄存器 ENABLE_DRV_REG 读取 EN_DRV 引脚的状态。 在窗口 1 中将 EN_DRV 引脚设置为高电平的先决条件是什么? 。

    在禁用 WD 并清除所有中断后、EN_DRV 引脚可以设置为高电平。 但是、当我在 Windows1 中检查 EN_DRV 引脚的状态时、该引脚始终读为 0。

    当 WD 超出长窗口时、如何将 EN_DRV 引脚设置为高电平?

    WD_FAIL_CNT_REG 寄存器 为 0。

    谢谢

    Manisha N G

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

    嗨、Manisha、

    此常见问题解答可能会有所帮助、它分步介绍了以下步骤: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1321904/faq-tps6594-q1-how-do-i-enable-en_drv?tisearch=e2e-sitesearch&keymatch=tps6594%2525252525252520watchdog%2525252525252520en_drv# 

    此致、

    Katie

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

    大家好:
    我正在研究 EN_DRV 引脚的行为。 当禁用 WD 时、该引脚可配置。 但启用 WD 后、EN_DRV 引脚会由硬件设置为低电平。 在启用 WD 之前、我确保 INT_TOP 寄存器和 INT_MISC 寄存器中存在中断。 此外、寄存器 FSM_NSLEEP_TRIGGERS (0x86) 中的 NSLEEPB[0]和 NSLEEPB[1]位设置为 1。
    为什么我将 EN_DRV 位值观察为 0。
    预期为:
    一旦 WD 超出长窗口、MCU 必须能够更改窗口 1 中的引脚值。
    这也是不可能的。 写入该引脚无效。 您可以专家对此主题进行澄清

    谢谢

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

    嗨、Manisha、

    浏览常见问题与您描述的内容中的检查清单 — 您是否也在执行此操作之前禁用 ESM? 必须同时处理 ESM 和 WD。  

    此外、您能否分享用于设置 EN_DRV 的 I2C 写入的屏幕截图、示波器截图或代码片段、以及您为执行配置而执行的 WD 写入的特定序列、以便我们可以对其进行检查?  

    此致、

    Katie

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

    您好、Katie、

    由于保密协议、我无法披露代码、但我可以共享代码的顺序。

    -禁用 WD

    -读取  第 0 页上的 0x5A 和 0x6C

    - 0x5A 中有中断、即 MISC_INT 和 STARTUP_INT(分别为位 4 和位 3)

    -   INT_STARTUP (0x65) 的 INT_MISC (0x66) 寄存器被清零、ENABLE_INT(位 1)被设置为 1

    按照其中一个 E2E 线程中的建议、将寄存器 FSM_NSLEEP_TRIGGERS (0x86) 中的 NSLEEPB[0]和 NSLEEPB[1]位设置为 1 以启用 EN_DRV 引脚

    - WD_PWRHOLD 位 WD_MODE_REG 寄存器清零

    -启用 WD

    -尝试启用 EN_DRV 引脚(设置 ENABLE_DRV_REG 寄存器的 ENABLE_DRV(位 0))

    • 如果完全可以由 MCU 设置该位、何时可以设置该位(在窗口 1 或窗口 2 中)?

    •    ESM_MCU_MODE_CFG 寄存器的 ESM_MCU_EN 的值为 0、因此我没有写入单独的指令来禁用 ESM。

    谢谢

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

    您好、Manisha、

    由于美国的国庆节,大多数专家今天都不在办公室。 请预计响应会延迟。 感谢您的耐心!

    此致、

    Ishtiaque

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

    您好专家、

    我能够在窗口 2 的末尾设置 EN_DRV 引脚、但不在窗口 1 中
    您能解释一下这个行为吗

    谢谢
    Manisha N G

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

    嗨、Manisha、

    您还需要 WD_FIRST_OK=1、因此您需要首先完全遍历 Window-1 和 Window-2 一次、以便对其进行设置。 我要参考 TPS6594-Q1 数据表中的“ Q&A 模式下的看门狗流程图“。 此流程图还显示、只有在 Window 2 完成并且没有 WD_BAD_EVENT 之后、ENABLE_DRV 才能够设置为 1(请参阅图表右下角的框)。  

    此致、

    Katie

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

    感谢 Katie 确认此行为。