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.

[参考译文] TM4C129ENCPDT:如何使 HIB 脱离挂起状态?

Guru**** 2928980 points

Other Parts Discussed in Thread: TM4C129ENCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/978634/tm4c129encpdt-how-to-bring-the-hib-out-of-hang-up

器件型号:TM4C129ENCPDT

你好。

我们遇到了 TM4C129ENCPDT 中已 在现场工作的器件上的 HIB 模块挂起问题。


我们需要清除 HIB 模块中的粘滞寄存器。 为此、我们执行 HIB 模块的复位。 由于环境噪声、重新启动时可能会错过 XOSC 计时。 因此、HIB-MODULE 挂起(HIB.CTL.WRC 位始终等于零)。 我们尝试通过 SYSCTRL.SR.HIB 重置 HIB 模块、但这种方法没有帮助。  

我们已修改固件。 现在、在 HIB 重新启动之前检查 XOSC 的可用性。 这样有助于确保在重新启动 HIB 之前 XOSC 的存在、并避免挂起。 远程固件更新后、HIB 模块仍然挂起。 我们发现将 HIB 恢复为活动状态的唯一方法是 重新激活电池电源。 这种方法不适合我们、因为我们需要从现场抓取我们的所有器件、并将其带到工厂以进行电池弹出插入。  

是否有任何方法可以使 HIB 仅通过软件而不是通过移除电池电源来悬空?

谢谢你。

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

    您好、Slava、

     根据 Amit 在此帖子中的回复、重置 HIB 的唯一方法是移除 VBAT 和 VDD。 是否可以远程将 nRST 应用于器件?

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

    您好、Charles、

    不能直接访问 nRST 引脚。

    但也可以访问控制 nRST 引脚的外部看门狗。

    我们可以停止复位这个外部 WD 并在 nRST 上启动一个复位电平。  

    控制 nRST 引脚的功能如何帮助我们在不移除 VBAT 和 VDD 的情况下使 HIB 脱离挂起?

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

    我很抱歉。 我们在美国德克萨斯州的这个地区遇到了电源问题。 Charles 此时无法使用电源或互联网。

    我不相信 nRST 会纠正休眠模块挂起。 您可以尝试一下。  

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

    您好、Slava、

     很抱歉、由于我所在地区断电、您会延迟回来。  

     我建议 nRST 的原因是 nRST 可以用作唤醒源。 我想知道您是否可以应用 nRST 来首先使器件退出休眠模式。 器件唤醒后、查看是否可以复位休眠模块。 您是否有机会通过外部 WD 应用 nRST? 根据 Amit 的答复、远程移除 VDD/Vbat 是重置 HIB 的唯一方法。 我只是希望 nRST 能够正常工作。  

    7.3.11休眠唤醒
    如果存在以下任一情况、休眠模块可被配置为从休眠模式中唤醒
    已启用:
    ■外部唤醒
    ■外部 RST
    ■GPIO K[7:4]
    ■篡改 TMPR[3:0]
    ■篡改 XOSC 故障
    休眠模块也可配置为在发生以下事件时从休眠中唤醒
    发生:
    ■RTC 匹配唤醒事件
    ■低电池电压唤醒事件

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

    您好、Slava、

     Amit 回答的帖子中。 他说:"只有在启用 RTC 的情况下完全移除 VDD 和 VBAT 电源、才能重置休眠模块。 如果要复位、则必须禁用 RTC、外部唤醒和篡改功能。"

    我同意他的说法、即移除 Vbat 和 VDD 是重置休眠模块的方法。 他还提到“如果要重置 RTC,则必须禁用外部唤醒和篡改功能。” 如果先禁用 RTC、外部唤醒和篡改功能,他似乎建议可以通过“软件”重置休眠模块。  但是,我认为这不起作用。 为了禁用 RTC 和外部唤醒功能、用户必须轮询 WRC (写入完成)位的状态。 该位是 SYSCLK 和 RTCLK 之间的同步、用于指示何时可以安全地写入 HIBCTL 寄存器。 在数据表中、它表示如果 WRC 位为低电平、那么对 HIBCTL 寄存器的任何写入操作都将被忽略。 根据客户的报告,WRC 位一直处于低电平,因此挂起。 因此、我认为移除 Vbat 和 VDD 是复位休眠模块的唯一方法。