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.

[参考译文] MSP430FR6877:MSP430FR6877 PMM29勘误表的权变措施(3)

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/959982/msp430fr6877-workaround-3-of-pmm29-errata-on-msp430fr6877

器件型号:MSP430FR6877
主题中讨论的其他器件: MSP430FR5969

您好!

我想知道有关 MSP430fR6877上的 PMM29勘误表的一些问题。
我正在考虑为 PMM29实施权变措施3。
我想使用看门狗计时器。

但是、根据注释、描述的是、如果 WDT 在 LPM2/3/4期间触发 PUC 复位、权变措施3无效、并且将发生锁定。
您能否确认以下问题?

1.我明白我只应注意 WDT 触发、因为在 LPM 期间不会发生所有其他 PUC 触发因素。 我的理解是否正确?

如果我遵循了有关权变措施3的注释、并且程序在 WDT 间隔计时器中断以外的中断期间挂起、我认为除非启用嵌套中断、否则它不能由 WDT 间隔计时器中断复位。
我的理解是否正确?

如果是、在工作站3情况下、是否有方法不启用嵌套中断、而是在中断处理期间重置程序挂起?

此致、

U-SK

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

    您好!

    你有更新吗?

    此致、

    U-SK

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

    您好、U-SK、

    感谢您的耐心。   

    1. 正确。  根据注释、只有 LPM 模式期间的 WDT 超时 PUC 才是问题所在。  

    2. 我认为你在这里的理解也是正确的。  如果没有嵌套中断、我就看不到 WDT 间隔模式如何防止 ISR 中的挂起。   

    再说一次、我看不到使用 WDT 保护这些代码段的好方法、但您可能可以轮询 ISR 中所有循环内的 WDTIFG 标志、作为可能的突破?  

    这是我目前唯一的想法。    

    谢谢、

    JD

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

    JD、您好!

    感谢你的答复。

    我认为您的建议是一种在中断处理期间防止挂起的安全方法!

    但是,根据您的建议,我担心可能无法处理由于噪音而导致的微型计算机故障。

    下面的想法如何?
    与 WDT 的看门狗模式相比、是否存在任何问题?

    在 TimerA0中、设置连续模式和输出模式5 (复位)。
    -外部 连接 TA0.1和 RST 引脚
    通过递增要定期设置为 CCR1的间隔值来更新。

    我们正在考虑是否值得一试...

    此致、

    U-SK

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

    JD、您好!

    你有更新吗?

    此致、

    U-SK

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

    尊敬的 TI 团队:

    我发现这个解决方案 可能会导致意外复位、因为程序不知道确切的计数器值。

    因此、我将考虑以下方法。

      在 TimerA0中、设置连续模式和输出模式5 (复位)。

    -外部 连接 TA0.1和 RST 引脚

    -程序会在计数器到达 CCR1之前定期将 TAxR 寄存器设置为0。

    我认为这种方法需要一个用于 WDT 的计时器模块、但它应该运行良好。

    您认为这种方法是针对 PMM29的对策是什么?

    有任何问题吗?

    此致、

    U-SK

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

    您好、U-SK、

    对于 WDT 计时器的想法、噪声有什么问题?  或者、我想您可以在技术上将 WDT 配置为在 ISR 开始时正常运行、然后在结束时将其切换回间隔模式、但这将为所有中断增加额外的处理时间。   

    您的想法非常有趣。  我认为它可以防止 ISR 中挂起的代码、但我的主要关注点是如何连接 MSP430来尝试驱动其自己的/RST 线路、因为它绝对不是标准的。  它将生成一个 BOR 复位、这意味着 MSP430将返回配置为输入的 GPIO、但在进入复位时、它并不能准确地清除这种情况。  

    RST 引脚最小时序要求低于。  我想我们不确定时序、但我们可以假设 GPIO 将保持低电平、直到 MSP430复位并释放它...   

         

    此外、由于复位来自外部复位、软件无法区分实际外部复位或超时复位、但我认为知道这一点对应用来说并不重要。

    最后、向 RST 添加另一个连接可能会增加额外的噪声/电容。  在这种情况下、我认为这应该是一条短迹线、但仍需稍微谨慎一些。

      

    总的来说、我相信您的解决方案会起作用、但我之前没有看到过它、因此您可能会对它进行测试。  您有 MSP430 LaunchPad 吗?

    谢谢、

    JD   

     

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

    JD、您好!

    感谢你的建议。

    >对于 WDT 计时器的想法,噪音的问题是什么?  

    是的。

    >或者,我想您可以在技术上将 WDT 配置为在 ISR 开始时正常运行,然后在结束时将其切换回间隔模式,但这会增加所有中断的处理时间。  

    感谢你的建议。 我将与我的客户确认您的解决方案。

    我确认了您对将 PWM 示例项目与 MSP430FR5969 Launchpad 配合使用的问题。

    但出现了以下问题。

     ・当 PxSEL 寄存器设置为计时器引脚时、即使是上拉、引脚也会变为低电平。

      因此、在 PWM 引脚和 RST 引脚连接在一起的情况下、BOR 复位会在此时发生。

     ・OUTMOD_5从低电平输出开始时不会更改信号。   

    我认为有必要在 PWM 变为高电平之前完全防止信号变为低电平。

    是否有任何好的解决方案?

    此致、

    U-SK

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

    JD、您好!

    我将通知您一些更新信息。

    我采取了以下措施。

    μ・使用 NMI 功能而不是 RST 功能、以便 NMI 在上升沿发生。

    ・输出 PWM 信号设置为连续模式、输出模式7。

    因此、NMI 在预期的时间发生、并且由于 WDT 密码违反而进行的复位正常。

    即使在外设中断期间、它也能正常工作。

    我发现的唯一问题是、在将 PWM 端口连接到 NMI 引脚时、JTAG 不工作、并且我无法进行调试或编程。

    除了在调试和编程时断开信号外、还有其他方法可以解决此问题吗?

    在我的整体对策中、您是否发现任何其他问题?

    >或者,我想您可以在技术上将 WDT 配置为在 ISR 开始时正常运行,然后在结束时将其切换回间隔模式,但这会增加所有中断的处理时间。  

    ->我向我的客户确认了您的建议。

      我的客户担心由于每次 WDT 的模式切换、整个应用的处理时间会增加。

    此致、

    U-SK

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

    JD、您好!

    你有更新吗?

    此致、

    U-SK

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

    新年快乐!

    很抱歉耽误你的时间。  您是否能够解决计时器输出变为低电平的问题?  我将在 launchpad 上运行计时器示例、但在假日之前没有机会执行该操作。  

    至于 JTAG 的干扰、您能否在 PWM 端口和 RST/NMI 引脚之间共享连接?  我猜 PWM 引脚是直接连接的、因此当它将引脚驱动为高电平时、JTAG 无法控制它。  很可能、PWM 信号为高电平、但 JTAG 正尝试将 RST 拉低。  是这样吗?   

    您肯定想尝试找到一个仍然启用 JTAG 的配置。  您需要某种开漏配置、这将允许 JTAG RST 仍然将引脚驱动为低电平。  我认为、如果您在 RST/NMI 和 PWM 引脚之间放置一个串联电阻器、这可能会起作用。  与 RST 线路上的上拉电阻相比、该电阻足够小、可能为1-5k Ω。  您还可以实现某种仅外部下拉电路。  

    这有道理吗?   

    JTAG 可能对信号时序敏感、而信号时序可能会受到线路上的电阻和电容的影响。  由于我们现在要提出这个外部解决方法、这个配置有可能对这个时序产生轻微干扰。  我认为影响最小、但一旦电路设置完成、您需要对其进行测试。   

    谢谢、

    JD