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.

[参考译文] TPS659037:断电故障

Guru**** 2535750 points
Other Parts Discussed in Thread: TMDSEVM572X, TPS659037, TMP102, AM5728

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/934023/tps659037-power-off-failure

器件型号:TPS659037
主题中讨论的其他器件:TMDSEVM572XTMP102AM5728

在我们基于 TMDSEVM572X 评估板的定制板中、电源无法关闭的错误会出现在我们的客户环境中。
在调试此问题时、请在我们的定制板中重复打开和关闭电源。 在大约80次的加电/断电测试中、它们达到了1次。
(在此开/关测试中、通过将 botton (PWRON 引脚置为低电平)来执行上电。 断电由 Linux shutdown 命令(DEV_ON 位为0)执行。)

当发生此错误时、在正常运行期间不会发生以下两行、最后会发生、

[69.922953] PAmas 0-0058:无法写入 primary_secondary _pAD2-11
[69.929423] Palms_POWER_OFF:无法写入 DEV_CTRL_DEV_ON:-11

之后、由于以下两条线路的无限环路、器件的电源将不会关断。

[70.959836] OMAP-i2c 48070000.i2c:控制器超时
[70.989835] therment_zone5:无法读取热区(-110)

您能告诉我该循环的原因和解决方法吗?

Linux 和 U-boot 版本
Linux 版本4.9.69
U-Boot 2017.01
在 Yocto 环境中构建


此致、

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

    您好!

    欢迎使用 E2E! 我对 Linux 驱动程序不太熟悉、因此我也会加入处理器团队。

    对于 TPS659037、似乎没有 I2C 通信-是这样吗? 您是否已确定器件的 VCC1、VRTC 和 VIO 电源轨的范围、以查看在这些关闭命令之前是否仍然正确供电?

    谢谢、

    纳斯塔莎

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

    您好!

    我在正常断电结束时测量了 I2C 波形。

    [正常断电前的 I2C 波形]

    [放大波形]

    从上面的波形中删除

    I2C 命令在断电之前已写入 TPS6590378的2个寄存器。

    (1)首先、地址0x1FB、读取0x29。
    (2)接下来、地址0x1FB、写入0x09。
    (3)接下来、地址0x1A0、读取0x05。
    (4)接下来、地址0x1A0、写入0x04。
    总之
    GPIO_7 1 -> 0 (POWERHOLD->GPIO_7)
    DEV_ON 1 -> 0 (ACTIVE_>OFF)



    由于未获取断电时的波形、
    仍然不清楚这是信号质量等模拟问题还是软件问题。
    我不知道是否可以这么做、但我将尝试在断电故障时获取 I2C 波形。

    此外、我可能会尝试在断电时测量 VIO_IN、VRTC 和 VCC1电压的噪声。

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

    您好!

    是否使用 POWERHOLD 打开按钮(PWRON)的器件?

    写入 GPIO_7寄存器不会将 POWERHOLD 设置为低电平。 这是 PMIC 的输入、需要外部信号将该引脚驱动为低电平以关闭器件。

    请告诉我您是如何打开设备的。

    谢谢、

    纳斯塔莎

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

    您好!

    是的、我使用按钮(PWRON 引脚)将器件上电、GPIO7/POWERHOLD 引脚通过10k Ω 电阻器下拉。

    GPIO7/POWERHOLD 引脚只是下拉电阻。

    此致、

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

    您好!

    好的、谢谢您的理解。 因此、您使用按钮、然后将 DEV_ON 写入高电平以使器件保持开启状态。 要关闭器件、只需将 DEV_ON 写入低电平即可。

    您能否尝试以下几项操作:

    1、删除对 GPIO_7的写入、不需要

    2、观察 VIO 和 VCCA 以查看输入电源上是否发生任何奇数变化

    3.示波器 RESET_OUT -此引脚必须为高电平才能进行 I2C 通信

    谢谢、

    纳斯塔莎

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

    您好!

    感谢你的答复。


    > 1. 移除对 GPIO_7的写入、不需要
    我将询问我们的软件 engieer 是否可以修改它。

    > 2. 示波器 VIO 和 VCCA、以查看输入电源上是否发生任何奇数
    电源几乎稳定。
    VIO_IN 3.3V 80mVpp (3.260至3.340V)
    VRTC 1.8V 20mVpp (1.795至1.815V)
    VCC1 3.3V 85mVpp (3.260至3.345V)

    > 3. 示波器 RESET_OUT -此引脚必须为高电平才能进行 I2C 通信
    我尝试测量波形。 因此、当断电故障时、RESET_OUT 仍然为高电平。


    其他问题
    1.当 TPS6590378 PMIC 在 I2C 通信(应答否定应答)期间无响应时,除 I2C 通信外,是否还有任何其他方法可关断 PMIC?

    2.与评估板 TMDSEVM572X 类似,温度传感器 TMP102安装在定制板上。 TMP102的 I2C 地址为0x48、与 PMIC 相同。 它是否会影响软件中的操作?
    Linux 基于 TI 提供的适用于 AM5728的 Linux SDK。

    断电故障日志时、请参阅以下内容。 重复最后2行。
    [67.637525]  EXT4-FS (mmcblk1p2):已重新安装。 OPTS:(空)
    [69.919857]  重新启动:关闭电源
    [69.922953]  PAmas 0-0058:无法写入 primary_secondary _pAD2-11
    [69.929423]  Palms_POWER_OFF:无法写入 DEV_CTRL_DEV_ON:-11
    [70.959836]  OMAP-i2c 48070000.i2c:控制器超时
    [70.989835]  therment_zone5:无法读取热区(-110)
    [74.079831]  OMAP_i2c 48070000.i2c:控制器超时
    [74.109833]  therment_zone5:无法读取热区(-110)
    [77.199836]  OMAP_i2c 48070000.i2c:控制器超时
    [77.229832]  therment_zone5:无法读取热区(-110)
    [80.319834]  OMAP_i2c 48070000.i2c:控制器超时
    [80.349833]  thermal_zone5:无法读取热区(-110)

    此致、

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

    您好!

    使用 PWRON 按钮时、您还可以将该按钮保持在低电平8秒以关闭器件。

    此器件使用 I2C 地址0x58、而不是0x48。 这可能是软件中的问题吗?

    谢谢、

    纳斯塔莎

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

    您好!
    感谢您的回答。

    >使用 PWRON 按钮时、您还可以将该按钮保持在低电平8秒以关闭器件。

    当电源被关闭时、为了执行 CPU 的 PWRON 长按、考虑了以下电路。
    该电路在 AM5728处理器的 GPIO2_19关闭时输出高电平。

    是否可以通过此电路关断?
    此外、该电路是否存在问题?

    此外,除了按住 PWRON 以外,还有什么方法可以关闭电源?

    >此器件使用 I2C 地址0x58、而不是0x48。 这可能是软件中的问题吗?

    SLIU015B (《TPS659037寄存器映射技术参考手册》)
    中有以下说明、但0x48是否是不同的修订版 IC?

    此致、

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

    您好!

    纳斯塔沙目前不在办公室,明天将返回。 她将最迟在星期四的一天结束前作出答复。

    此致、

    Layne J

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

    您好!

    I2C 地址由 OTP 设置固定。 默认的 OTP 设置可在以下用户指南中找到: https://www.ti.com/lit/pdf/sliu011

    我认为如果达到8秒、电路就可以了。 软件可能没有持续达到8秒? 如果软件不能始终满足8秒的要求、这可能是一个范围并验证的问题?

    谢谢、

    纳斯塔莎

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

    您好!

    GPIO 操作由 Linux 的 sysfs 执行。
    当 GPIO 方向设置为"OUT"且值设置为"1"时、
    它在示波器上为"高电平"、但在执行 POWEROFF 命令关闭电源之前变为"低电平"。
    (如下面的波形所示。)
    原因是什么?
    是否有办法保持“高电平”直到电源关闭?
    关于此问题、我是否应该单独询问 AM5728?

    此致、

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

    您好!

    是的、在 AM57x 论坛上提问可能会有所帮助。 我想从 PMIC 中看、它的运行方式符合预期、但 PWRON 的 GPIO 输入不符合预期。 另一项需要了解的是、PWRON 在内部连接到 VCC1、因此由于 GPIO 电压低于 VCC1、可能会发生泄漏。

    谢谢、

    纳斯塔莎