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.

[参考译文] MSP430FR5969:重置问题

Guru**** 2558250 points
Other Parts Discussed in Thread: MSP430FR5969

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/639739/msp430fr5969-reset-problem

部件号:MSP430FR5969

您好,

我有一个按钮以这种方式连接到引脚3.5 (输入)。 当我按下按钮时,微复位。

如果我添加1K电阻器,问题就会消失。 在这两种情况下,按下按钮时3.3V都不会下降,所以我不明白为什么微复位。

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

    您是否能够提供显示其他MCU引脚(尤其是RST引脚)连接的示意图? 如果RST引脚配置为用于其复位功能,则应将其连接至47 kΩ 上拉电阻和2.2 nF下拉电容器。 否则,按下按钮时发出的噪音可能导致RST引脚产生重置。 如何测量3.3V电源轨?

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    按下按钮时,C7将与电源导轨短路,并将立即充电。 我怀疑发生这种情况时不会影响电源;使用万用表或示波器测量3.3 V的确切程度如何?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我已经用示波器再次检查了3.3V电压,您说的对,我们一些人的电压下降到2.3V。 我检查了数据表,它不足以重置微数据,但我不完全确定。 我还检查了RST引脚(47k,1nF),该引脚上的电压保持在3.3V。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    您是否可以将以下结构添加到 main函数中的代码 中,以查看导致重置的源?

    SWITCH (__EVEND_IN_RANGE (SYSRSTIV,SYSRSTIV__MPUSEGPIFG)){
    案例系统_无: /*无中断待处理*/
    _no_operation();
    中断;
    案例系统_ BOR: /* Brownout */
    _no_operation();
    中断;
    事例SYSRSTIV__RSTNMI: /* RSTIFG RST/NMI */
    _no_operation();
    中断;
    案例SYSRSTIV__PMMSWBOR:/* PMMSWBOR软件BOR */
    _no_operation();
    中断;
    案例SYSRSTIV__LPM5WU: /* LPMx.5唤醒*/
    _no_operation();
    中断;
    案例SYSRSTIV__SECYV: /*安全违规*/
    _no_operation();
    中断;
    案例系统_ SVSHIFG: /* SVSHIFG SVSH EVENT */
    _no_operation();
    中断;
    Case SYSRSTIV__PMMSWPOR:/* PMMSWPOR software POR */
    _no_operation();
    中断;
    Case SYSRSTIV__WDTIFG: /* WDTIFG监视程序超时*/
    _no_operation();
    中断;
    案例SYSRSTIV__WDTPW: /* WDTPW监视器密码冲突*/
    _no_operation();
    中断;
    案例SYSRSTIV__FRCTLPW: /* FRCTLPW密码冲突*/
    _no_operation();
    中断;
    Case SYSRSTIV__UBDIFG: /*不可纠正的FRAM位错误检测*/
    _no_operation();
    中断;
    案例SYSRSTIV__perf: /*外围设备区域提取*/
    _no_operation();
    中断;
    案例SYSRSTIV__PMMPW: /* PMM密码违规*/
    _no_operation();
    中断;
    Case SYSRSTIV__MPUPW: /* MPU密码冲突*/
    _no_operation();
    中断;
    案例SYSRSTIV__CSPW: /* CS密码冲突*/
    _no_operation();
    中断;
    案例SYSRSTIV__MPUSEGPIFG:/* MPUSEGPIFG封装的IP内存段违规*/
    _no_operation();
    中断;
    Case SYSRSTIV__MPUSEGIIFG:/* MPUSEGIIFG information memory segment violation */
    _no_operation();
    中断;
    Case SYSRSTIV__MPUSEG1IFG:/* MPUSEG1IFG Segment 1 memory violation */
    _no_operation();
    中断;
    Case SYSRSTIV__MPUSEG2IFG:/* MPUSEG2IFG Segment 2 memory violation */
    _no_operation();
    中断;
    Case SYSRSTIV__MPUSEG3IFG:/* MPUSEG3IFG Segment 3 memory violation */
    _no_operation();
    中断;
    默认值:break;
    } 

    您可以在_no_operation()行设置每个情况下的断点,以查看输入的是哪一个。

    此致,

    Ryan

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

    您好,

    我是否必须将代码放在主页的顶部?

    我尝试了该代码,但有很多错误,即SYSRSTIV__MPUSEGPIFG和其他寄存器未定义。

    谢谢

    Riccardo

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

    您好,Riccardo,

    哎呀,我发布的代码似乎注册了另一台设备。 以下是FR5969的相关信息:

    Switch(__均匀_in_range(SYSRSTIV, SYSRSTIV_ACCTEIFG)){
    案例SYSRSTIV_NONE: /*无中断待处理*/
    _no_operation();
    中断;
    Case SYSRSTIV_BOR: /* SYSRSTIV:BOR */
    _no_operation();
    中断;
    事例SYSRSTIV_RSTNMI: /* SYSRSTIV:RST/NMI */
    _no_operation();
    中断;
    Case SYSRSTIV_DOBOR: /* SYSRSTIV:DO BOR */
    _no_operation();
    中断;
    案例SYSRSTIV_LPM5WU: /* SYSRSTIV:端口LPM5唤醒*/
    _no_operation();
    中断;
    案例SYSRSTIV_SECYV: /* SYSRSTIV:安全违规*/
    _no_operation();
    中断;
    Case SYSRSTIV_SVSHIFG: /* SYSRSTIV:SVSHIFG */
    _no_operation();
    中断;
    Case SYSRSTIV_DOPOR: /* SYSRSTIV:DO POR */
    _no_operation();
    中断;
    案例SYSRSTIV_WDTTO: /* SYSRSTIV:WDT超时*/
    _no_operation();
    中断;
    Case SYSRSTIV_WDTKEY (案例系统): /* SYSRSTIV:WDTKEY违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_FRCTLPW: /* SYSRSTIV:FRAM密钥冲突*/
    _no_operation();
    中断;
    Case SYSRSTIV_UBDIFG: /* SYSRSTIV:FRAM不可纠正位错误*/
    _no_operation();
    中断;
    案例SYSRSTIV_PERF: /* SYSRSTIV:外围设备/配置区域提取*/
    _no_operation();
    中断;
    案例SYSRSTIV_PMMPW: /* SYSRSTIV:PMM密码冲突*/
    _no_operation();
    中断;
    Case SYSRSTIV_MPUPW: /* SYSRSTIV:MPU密码冲突*/
    _no_operation();
    中断;
    案例SYSRSTIV_CSPW: /* SYSRSTIV:CS密码冲突*/
    _no_operation();
    中断;
    案例SYSRSTIV_MPUSEGPIFG:/* SYSRSTIV:MPUSEGPIFG违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_MPUSEGIIFG:/* SYSRSTIV:MPUSEGIIFG违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_MPUSEG1IFG:/* SYSRSTIV:MPUSEG1IFG违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_MPUSEG2IFG:/* SYSRSTIV:MPUSEG2IFG违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_MPUSEG3IFG:/* SYSRSTIV:MPUSEG3IFG违规*/
    _no_operation();
    中断;
    案例SYSRSTIV_ACCTEIFG:/* SYSRSTIV:ACCTEIFG访问时间错误*/
    _no_operation();
    中断;
    默认值:break;
    } 

    禁用看门狗计时器后,您应该能够将其置于主环路中。

    此致,

    Ryan

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

    您是否能够合并代码并找到导致重置的源?

    谢谢!
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从MSP430FR5969数据表的第24页:

    (2)即使在建议的电源电压范围内,快速电源电压变化也会触发BOR重置。 避免不必要的BOR
    复位时,电源电压的变化必须小于每微秒0.05 V (±μs 0.05 V/m Ω)。

    我发现FRAM设备对电力轨中的微小(但快速)变化非常敏感,即使最小电平远低于指定的最小BOR阈值,这是一种困难的方法。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,我的电压变化很快,它会重置微电压,即使电源保持在限制范围内也是如此。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经加入了代码,但当我有峰值时,与MSP430编程器的通信会中断。 大多数情况下,代码在没有中断挂起的情况下重新启动,只要微重置为BOR即可。 无论如何,我认为重置是由于电源电压的快速变化。