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.

[参考译文] MSP430F5335:复位原因

Guru**** 2603845 points
Other Parts Discussed in Thread: MSP430F5335

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/650021/msp430f5335-cause-of-reset

器件型号:MSP430F5335

你(们)好

MSP430F5335进行了彻底复位。

读取 SYSRSTIV 会显示以下标志被置位:

#define SYSRSTIV_SECYV    (0x000Au)   /* SYSRSTIV:安全违规*/

#define SYSRSTIV_SVSL     (0x000Cu)   /* SYSRSTIV:SVSL */

#define SYSRSTIV_SVSH     (0x000Eu)   /* SYSRSTIV:SVSH */

#define SYSRSTIV_SVML_OVP (0x0010u)   /* SYSRSTIV:SVML_OVP */

#define SYSRSTIV_SVMH_OVP (0x0012u)   /* SYSRSTIV:SVMH_OVP */

#define SYSRSTIV_DOPOR    (0x0014u)   /* SYSRSTIV:执行 POR */

#define SYSRSTIV_WDTTO    (0x0016u)   /* SYSRSTIV:WDT 超时*/

#define SYSRSTIV_WDTKEY   (0x0018u)   /* SYSRSTIV:WDTKEY 违反*/

#define SYSRSTIV_KEYV     (0x001Au)   /* SYSRSTIV:闪存密钥违反*/

#define SYSRSTIV_FLLUL    (0x001Cu)   /* SYSRSTIV:FLL 解锁*/

#define SYSRSTIV_PERF     (0x001Eu)   /* SYSRSTIV:外设/配置区域获取*/

#define SYSRSTIV_PMMKEY   (0x0020u)   /* SYSRSTIV:PMMKEY 违规*/

这些标志保持清晰:

#define SYSRSTIV_BOR      (0x0002u)   /* SYSRSTIV:BOR */

#define SYSRSTIV_RSTNMI   (0x0004u)   /* SYSRSTIV:RST/NMI */

#define SYSRSTIV_DOBOR    (0x0006u)   /* SYSRSTIV:执行 BOR */

#define SYSRSTIV_LPM5WU   (0x0008u)   /* SYSRSTIV:端口 LPM5唤醒*/

导致此情况的原因是什么?

BR

Anders

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好。
    经过进一步调查、我们发现复位的原因是:
    SYSRSTIV_KEYV

    此复位似乎是闪存密钥违反:
    #define SYSRSTIV_KEYV (0x001Au)/* SYSRSTIV:闪存密钥违反*/

    这是什么原因?

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

    您好!

    标志是闪存密钥违反。  您可以在《MSP430x5xx 和 MSP430x6xx 系列用户指南》(修订版 P)中找到相关说明。

    此致、

    冬季

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

    你(们)好、冬季

    这里的奇怪之处在于固件根本不会写入 FCTLx 寄存器...

    我们可以看到、在测试期间、复位高度依赖于温度、在温度降低后、复位发生得非常快。

    某些电路板也取决于电压电源。

    是否还有其他类似复位源?

    BR

    Anders

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

    您说过、复位在很大程度上取决于温度和电源电压。 请提供准确的温度和电源电压以进行测试。 对于 MSP430F5335、如果应用需要更高 MCLK 频率提供的性能、
    软件应该确保在改变 MCLK 前 VCORE 已经被提升至一个足够的电压电平、这是因为如果不给 CPU 提供足够的电压的话、将会产生不可预知的结果。 那么、您的 Vcore 和系统频率是多少?

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

    Anders、您好!

    有关 更多详细信息、请参阅此应用手册 www.ti.com/lit/pdf/slaa729、尤其是第3.2节"系统频率与电源电压的关系"。

    此致、

    冬季

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好、冬季
    有时、复位从3.3V 开始、但并非始终如此。
    一个新的构建板以3.6V 电压运行、并且由电池供电、此问题在现场返回时可见。
    当温度降至大约0C 时、复位似乎更频繁、这意味着它与温度的关系大于与电源电压的关系。
    器件的频率设置为1MHz、并且永不更改。
    VCORE 设置是默认设置、这意味着 PMMCOREV[1:0]= 0 (引导时的默认设置)、对于低于8MHz 的时钟频率、根据数据表中的图5-1、该设置应该正常

    SVS 被禁用:
    SVSMHCTL &=~(SVMHE+SVSHE); //禁用高侧 SVS
    SVSMLCTL &=~(SVMLE+SVSLE); //禁用低侧 SVS

    也就是说、复位似乎不是由于闪存错误或电源问题而发生...


    BR
    Anders