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.

[参考译文] MSP430F249:看门狗复位不工作、芯片冻结

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1273606/msp430f249-watchdog-reset-not-working-chip-freezes

器件型号:MSP430F249

我们的某个产品中使用了 msp430f249芯片、并且硬件看门狗功能已启用。 仿真后看门狗可以正常工作(我们尝试了一些无限的 while 循环和看门狗能够重置芯片)。 我们看到在某些情况下 、芯片冻结和停止工作(启用 LED 闪烁来查看固件的状态、从而停止工作)、看门狗无法复位模块。 我们正在试图理解为什么会发生这种情况?

当通过微控制器复位引脚启动复位时、芯片复位并工作正常。

下面的问题:

 1.   在什么情况下看门狗未能重置模块?

2、   看门狗启动的复位由 RST/NMI 引脚启动的区别是什么?

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

    WDT 触发一个 PUC 复位。 在 F2系列中、PUC 复位了一些但不是全部外设。 如果您的启动代码假定所有外设都处于复位状态、则在初始化那些未处于复位状态的外设时可能会发生故障。

    我记得看到 PUC 复位哪些外设/寄存器(vs POR)的主列表是不记得的、而每个外设的寄存器摘要会说。 例如、比较用户指南(SLAU144K)表12-3、15-6、和23-2。 如果"复位"列显示为"使用 POR"、这表示它不是由一个 PUC 复位。 对于这些、最好在初始化期间显式重置它们。

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

    Bruce、您好!

    我们可以看到、即使实施了看门狗、芯片也会完全冻结、无法正常工作。 正常工作会通过 RST 引脚进行复位。 当我们仿真看门狗功能时、 芯片 会正确复位。 是否可能出现芯片冻结和看门狗没有踢脚的情况?


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

    您可以尝试 在主函数启动时将您在应用中使用过的所有外设复位。

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

    如何判断芯片冻结? 它会留在什么状态?

    我的第一个猜测是您的系统重置(反复)太快而看不到。 或者、在您启用看门狗前、它可能会被"卡住"。 尝试在 main()的第二行设置断点。

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

    Bruce、您好!

    有一个 LED 使 RS485通信通道闪烁、通过该通道我们可以读取参数。 芯片卡滞时 LED 持续亮起(被上拉)、无法通过通信读取参数。 我们的固件代码中不控制这种恒定 LED 开启行为。 芯片冻结时无响应。 这就是为什么我们得出芯片卡住的结论。 引脚复位或下电上电可使其恢复正常状态。

    在某些情况下(尚未找到根本原因)、我无法设定断点、因为此问题已归档(在街道机柜上) 、在这种情况下、调试器无法连接。 另外、这个问题是间歇性的、需要等待一到两周以上。

    在什么情况下芯片可以连续复位?  

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

    如果不知道您的方法、就很难说得多。 您的代码是否曾停止看门狗(WDTHOLD)? 它(首先)何时点亮 LED? 看门狗复位是否成功(从正确重新启动系统的意义上来说)?

    触发超时的条件/事件是否可能是电器事件?

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

    您的代码是否曾停止看门狗(WDTHOLD)?  

    -仅当 出现此问题时,软件更新才会触发软件更新。


    它(首先)何时点亮 LED?

    - LED 闪烁发生在所有初始化后调用的 LED 任务中。

    看门狗复位是否成功(从正确重新启动系统的意义上来说)?

    -是的,我们在这个过程中用无限循环进行了同样的仿真,并且看门狗正确地触发了复位。 另外、检查时还要对看门狗刷新代码进行注释、

    触发超时的条件/事件是否可能是电器事件?

    不知道这一点。 任何电气噪音是否会导致此类问题??

    我在下面给出了看门狗和初始化代码供参考。

    ...

    WDTCTL = WDTPW + WDTSSEL + WDTCNTCL;

    初始();

    timerInit();

    initProceseseses();

    __enable_interrupt ();

    while (1)

    {

    //呼叫进程  

    //刷新看门狗

    ...

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

    这里有几条评论:

    1.发生该问题时、 请勿将设备复位或重启、阅读 PC 值以了解运行的代码的位置。要执行此操作、您可以遵循此文档

    e2e.ti.com/.../4857.Read-MSP430-PC-counter-and-register.pdf

    2. 明确如何快速稳定地重现此问题

    3.运行我们的演示代码以查看它是否存在与 msp430x24x_WDT_06.c 类似的问题(TI.com) 

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

    您好、Gary、

    我们 将处理您的输入。 我会让您随时关注我的调查结果。

    此问题仅在客户现场间歇性重现、在 1周或2周内重现一次。

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

    有任何来自您一方的更新吗?

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

    您好、Gary、

    该问题只能在阿布扎比的现场重现、不能在我们的实验室中重现、并且不能如您提到的那样连接调试器和读取 PC 值。 大约需要一周或两周的时间才能看到这个问题。  看门狗代码运行正常、我能够看到看门狗复位。

    我们可以用上面的信息得出任何其他结论吗?  

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

    尊敬的 Chinmaya:

    对于此器件、F249是非常旧的器件、因此该产品应该可以运行多年、对吧? 如果是、在过去几年中会发生这种问题?

    如果最近对硬件或软件进行了任何更改?

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

    此器件和模块在过去13年以上的时间内正常运行、一年前有人报告过此问题。 在此之前、从未有任何地方报告过此问题。 在过去5年多的时间里、硬件或软件没有发生任何变化。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    LED 任务中发生 LED 闪烁,该任务在所有初始化后调用。

    由于 MSP430看门狗相当简单、它无法捕捉所有问题。 这并不是很难在代码中有一个故障,继续重置的狗,但实际上不能正常运行。 你的代码看起来相当复杂、这提供了很多麻烦的机会。 包括仅在特定事件序列之后出现的事件。

    保持亮起的 LED 应该是一个线索。

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

    如果这是最近才发生的、那实在是太奇怪了。 我想到的导致这个问题的一个问题是、向 WDT 提供时钟发生故障。 如果有任何噪声、您是否捕获了电源?

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

    否。 可以帮帮我吗? 如果有任何噪声、如何采集电源?  

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

    您可以使用示波器捕获 VCC 的波形并启用触发模式、还可以测量 pike 以 pike 和 VCC 的最小最大值。  

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

    您好、Gary、

    我们无法在实验室环境中重现此问题。 由于该模块已归档(阿布扎比)并位于机柜内部的街道上、因此无法连接调试器或示波器。   

    • 芯片(MSP430F249T)是否存在与此类似的已知问题、即芯片无法复位或冻结?
    • 该模块有电池和充电电路。 是否有任何可能导致干扰或噪声的情况?
    • 如果问题是噪声、我们通过 ABUS (RS485协议)连接基于同一芯片组的其他模块、这些模块与主 CPU 进行通信。 为什么其他 ABUS 模块(同一芯片组)中不存在该问题?