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.

[参考译文] MSP430F247:MCU 不会出现#39;在电压降至2V (或更低)之前不会再启动

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/823615/msp430f247-mcu-doesn-t-start-anymore-until-voltage-drops-below-2v-or-less

器件型号:MSP430F247

有时、以16MHz 运行的 MSP430F247板(具有5V 和3.3V 级联稳压器的12V 电源)出现问题、具体情况如下:

  • 根据其他连接的器件、当12V 电源关断大约2秒时、MCU 电压不会降至2V 以下
  • 当电源恢复到7V 以上并且 MCU 电压恢复到3.3V 时、MCU 不再启动
  • 重复此操作会导致相同的问题、只有从12V 断开并重新连接电路板才能解决此问题

这是我的代码在启动时执行的操作:

  1. WDT 禁用
  2. SVSCTL = 0xA0  //将 SVS 监控设置为3.05V
  3. 等待大约200us、以确保 SVS 显示器工作正常
  4. while (SVSCTL & SVSOP);   //等待3.05V 的电压
  5. 等待大约5ms、以确保电压达到3.3V (通常需要不到1ms)
  6. 将 MCLK 和 SMCLK 的 DCO 频率设置为16MHz
  7. 从 VLO 设置 AUX_CLK、稍后用于 WDT
  8. SVSCTL = 0         //禁用 SVS
  9. SVSCTL = 0xA8  //将具有 MCU 复位的 SVS 设置为3.05V

我不明白为什么 MCU 有时会挂起且不再重新启动、因为当电压降至3.05V 以下时、应强制 MCU 复位、然后应在代码启动的第1步使用1MHz 时钟重新启动。

是否有任何建议或解决方法?

我无法添加硬件电压监控器、复位引脚上只有47k 和2200pF。

谢谢

Guido

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

    勘误表相关信息!

    抱歉、我写了错误信息:2V 是在12V 线路上测得的最小电压、在 MCU 上是0.2V 而非2V。

    直到 MSP430电压降至0.2V 以下时才会重新启动

    Guido

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

    你(们)好 Guido

    有几个问题需要进行故障排除  

    1.关闭12v 电源2秒钟并重新为12V 供电是否完全重现了此问题?

    2.您能否对代码进行一些更改以输出 SMCLK、以查看是否存在发出的 clk 信号以及发生问题时的频率是多少?

    3.如果存在 SMCLK 信号输出,则可以 通过 SBW 连接设备,以便在问题发生时查看 MCU 的状态。 有关执行此操作的方法、请参阅

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

    确保在此期间没有复位。您可以添加一些指示器以查看在此期间是否复位。

    当您可以读取寄存器时、请检查 PC 值和 DCO 寄存器。

    以下是一些其他建议

    1.执行步骤将 DCO 配置为16MHz。 您可以先将器件配置为8MHz、然后延迟一段时间(如100ms)、再将其配置为16MHz。

    此致

    Gary

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

    非常感谢您的快速回答、Gary。

    这并不是那么简单、因为它大约每50次发生一次左右、我将尝试执行您建议的测试。

    祝你度过美好的一天

    谢谢

    Guido

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

    是否有测试的更新?