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.

[参考译文] TPS65217:如何在关断时使 PMIC 上的 VSYS 变为低电平

Guru**** 2409740 points
Other Parts Discussed in Thread: TPS65217, TPS65910, TPS65218

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/654637/tps65217-how-to-bring-vsys-on-the-pmic-to-low-on-shutdown

器件型号:TPS65217
主题中讨论的其他器件: TPS65910TPS65218

您好,  

我看到 Beagle Bone Black 在使用最新 Linux 映像时未完全关闭。 控制台输出显示"断电"、我看到 BBB 保持 VLDO4为高电平。 根据 Mathijs 对问题 https://e2e.ti.com/support/power_management/pmu/f/200/t/651787 和 https://e2e.ti.com/support/power_management/pmu/f/200/p/651787/2396232#2396232的回答 、我们了解到存在一些泄漏路径。 BB 在回答 https://e2e.ti.com/support/power_management/pmu/f/200/p/647421/2386027#2386027上的问题时也提到了这一点

我正在使用连接电池的 BeagleBone Black。 在这里、我们注意到、在我的 BBB 中、VSYS 始终处于高电平。 VSYS =关断时的 Vbatt。 (我发出 Linux shutdown 命令-"poweroff")。 发现这是为了耗尽电池电量。

这是预期行为吗?

VSYS 永远不会降至零?

如何关闭 VSYS?

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

    AA、

    您需要验证 off = 1b (状态寄存器的位7 0x0A)以在 TPS65217状态机中进入关断状态。

    PPATH (电源路径)将关闭、SYS 和 BAT 之间不会有连接。

    如果 OFF = 0b、TPS65217将在 PWR_EN 引脚变为低电平时进入睡眠状态。 在这种情况下、PPATH 将开启且 VSYS = VBAT。

    我无法告诉您哪条 Linux 命令将进入关闭状态。 您需要查阅 TPS65217的 Linux 驱动程序。

    Linux 内核电源管理用户指南》规定:

    "仅 RTC 模式

    仅 RTC 模式不会维持 DDR 上下文、因此将电路板置于仅 RTC 模式可实现极低功耗、之后受支持的唤醒源将导致冷启动。 通过 POWEROFF 命令进入仅 RTC 模式。

    要通过 RTC 警报从仅 RTC 模式唤醒、必须在进入断电之前使用单独的工具对 RTC 警报进行编程。"

    但还指出:

    "电路板是否进入仅 RTC 模式或 RTC+DDR 模式取决于稳压器配置以及为 DDR 供电的稳压器是否配置为在暂停期间保持开启状态。 在使用 AM437x 板时、TPS65218支持此功能、但 AM335x 板上的 TPS65217或 TPS65910不支持此功能。"

     


    VLDO4是否保持高电平不一定取决于 SYS 电压、并且可能与您提到的泄漏路径相关。 如果此问题需要 AM335x 处理器团队的更多支持、

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

    从 I2C 流量可以看出、我们在启动时设置状态寄存器(0x0A)上的位= 1。

    10.77531952 I2C 设置写入[0x24]+ ACK

    10.77534202 I2C 0x0A + ACK

    10.77540129 I2C 设置读取到[0x24]+ ACK

    10.77542379 I2C 0x08 + NAK

    10.77548722 I2C 设置写入[0x24]+ ACK

    10.77550972 I2C 0x0A + ACK

    10.77553222 I2C 0x88 + ACK

    10.77773567 I2C 设置写入[0x24]+ ACK

    10.7777914 I2C 0x16 + ACK

    在本例中、   

    只有 LDO4为高电平(由于其他文章中提到的泄漏路径),因此我想它将进入 “WAIT_Power_EN”状态。  这是正确的吗?

    PWR_EN 在关断时切换(从高到低)并在结束时保持高电平。 我假设 PWR_EN 必须从低电平变为高电平、而不是针对 PMIC 的状态转换保持逻辑高电平。 那么、我们的 PMIC 卡在 WAIT_PWR_EN 状态、这是正确的吗?

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

    PWR_EN 不应是脉冲:
    关断或睡眠:当 PMIC 处于关断或睡眠状态时、PWR_EN 引脚将处于低电平并保持低电平
    活动:当 PMIC 处于活动状态时、PWR_EN 引脚将处于高电平并保持高电平


    该引脚上的抗尖峰脉冲时间为50ms (典型值、第14页、技术规格名称"TDG")。

    如果发生短路脉冲(50-100ms),则在该脉冲期间,去毛刺脉冲时间可能不会过期(数据表中的最大值不是规格),并且没有理由 PWR_EN 至少保持1s 的低电平状态,因为:
    在全局状态机中、PMIC 每次从活动状态转换时都会有1s 的延迟(请参阅图 20见第39页)。 自 PMIC 以来
    无法在<1s 内进入新状态、PWR_EN 引脚应保持低电平至少1s。 在此期间将 PWR_EN 引脚拉为高电平
    一旦1s 计时器到期、立即触发一个新的转换到活动状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该板连接了电池和交流电源

    发出"power"的 Linux 命令以关闭器件。

    有关从启动到关断的完整 I2C 数据、请参阅随附的。

    e2e.ti.com/.../i2c-data-from-start-to-end.xls

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

    PWR_EN 变为低电平、50ms 后按预期发生关断序列。

    我无法以这种格式分析 I2C 数据、这会使整个 e2e 线程难以滚动。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BB、

    毫无疑问、有些支持映像和 i2c 数据(现在作为单独的文件而非内联文件附加)。
    根据您之前的回答和我的观察结果、从图像中我看到 PMIC_PWR_EN 在短时间内处于低电平状态64ms、并且没有像您在本主题前面所指出的那样至少保持1秒。 我们现在正在研究它为何在关断时不保持低电平。

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

    在随附的 I2C 数据 Excel 文件中、

    我向0x0A 寄存器看到3条读取命令、并读回了以下数据:

    • 9.772541s:0x26、其中"读取"行中的从地址(xls 文件的第280行)为0x24、 但"写入"行中的从地址(278)为0x12  
    • 9.773586s:0x3F、其中"读取"行中的从地址(xls 文件的第280行)为0x24、但写入行中的从地址(278)为0x12  
    • 9.7742s:   0x08 = 0000 1000、位3为 ACPWR = 1 (存在交流电源、且在有效充电范围内。)

    我看到0向0x0A 寄存器写入命令、该值从不为0x88、这意味着在该测试中、OFF 位从未设置为"1"

    写入地址为0x12的其他情况对我来说是没有意义的、因为7位从地址应始终为0x24。 8位地址为0x48表示写入、0x49表示读取、但 Saleae 永远不会显示8位地址。

    您在 SYS 引脚上看到的是从 AC 值(~5.25V)下降到 BAT 值(~4.2V)的电压。

    如果电池可用、则可以在超过抗尖峰脉冲时间(50ms)后恢复 PWR_EN 引脚、因为:

    要在电池电源可用时返回活动状态、需要按下按钮(在 PB_IN 引脚上切换)。

    因此、Linux 驱动程序在驱动 PMIC_PWR_EN 信号时执行可接受的操作。

    我想为了解决您的问题、我们需要回到最初的问题:

    1. SYS 始终开启-是的、这是正确的。 即使在关闭和睡眠状态下、当 PPATH 处于关闭状态时、也会有一个脚注(4)、其内容为"(4)电池电压始终为系统供电(SYS 引脚)"
      • 如果 SYS 引脚上存在 PMIC 的 DCDCx、LDOx、LSx 电源轨以外的负载、则它们将在关闭和睡眠状态下消耗电池的功率
      • 为了关闭额外的 SYS 负载、您的设计将需要一个由现有或新 GPIO 控制的外部负载。 我相信您的设计中有一个负载开关
    2. LDO4不会变为低电平这不是由 PMIC 引起的。 我在实验室中进行了测试、当 PWR_EN 引脚从高电平转换为低电平时、LDO4电源轨始终变为低电平
      • 为了关闭 V3.3C 电源轨、我建议您使用 TPS65217提供的 PGOOD 信号来驱动此外部 SYS 负载开关的 EN 引脚、而不是 LDO4等电压轨