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.

[参考译文] MSP430FR5729:MSP430FR5729重新启动问题

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430FR5729, MSP430F5419A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/581323/msp430fr5729-msp430fr5729-restart-problem

部件号:MSP430FR5729
主题中讨论的其他部件: MSP430F5419A

大家好,

我正在电路中使用MSP430FR5729。 我正在通过ULN2003驱动MSP430FR5729上的继电器。 继电器打开和关闭230V电源。

但我观察到一种奇怪的行为,在这种情况下,我的控制器getes在某些切换操作后重新启动。 我尝试将47k替换为10K,在复位时用力拉,但没有效果。

在我以前的MSP430F5419A设计中,我做了同样的事情,但从未遇到过这样的问题。

请提出相同的建议。 谢谢。

此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Pallav:
    请检查SYSRSTIV的值以确定重置的原因,然后相应地注意。

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

    感谢您的回复。 我已经检查了将要重置的相同信息。 对于相同的资源,我将47k到10k的更改。

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

    请提供意外行为期间VCC和RST线的板图和示波器快照。

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

    您好,Ryan:

    我观察到两个信号,但Vcc和RST都没有波动。

    信号为3.3 V常量。 这就是我感到困惑的原因。 实际上,VCC或RST通道没有变化,但控制器重新启动。

    此致。

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

    这似乎表明是软件控制的重置,而不是由硬件启动的重置。 请在意外重置后启动设备时提供SYSRSTIV的确切值。 主板示意图仍会很有帮助,请说明您的系统的工作频率,如果可能,请提供初始化代码。

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

    我使用过函数

    作废Reset_ISR(void)

    SWITCH(__EIV_IN_RANGE(SYSRSTIV,SYSRSTIV_PMMKEY)

    案例SYSRSTIV_NONE:中断;
    Case SYSRSTIV_BOR:Break;
    案例SYSRSTIV_RSTNMI:中断;
    }
    }

    在其中输入函数SYSRSTIV_RSTNMI。

    第二,我会在一两天内为您提供图解。

    关于工作频率,我使用了8MHZ作为频率。

    初始化代码如下所示。

    void main()

    //停止看门狗计时器以防止超时复位
    WDTCTL = WDTPW + WDTHOLD;
    //=================== 执行PIN===========================================================================================
    P2DIR || BIIT2 + BIT3 + BIT4;
    P2OUT &=~(BI既 版+ BIT3版+ BIT4版);

    P3DIR |= 0xFF;
    P3OUT &=~0xFF;

    PJDIR |=0x06;
    PJOUT &=~0x06;
    //=================================== DI引脚===========================================================

    P1REN |= 0xFE;
    P1OUT &=~0xFE;

    P2REN |= BIT7;
    P2OUT &=~BIT7;

    //================= 默认时钟设置===========================================================================================

    CSCTL0_H = 0xA5; //时钟8MHZ
    CSCTL1 |= DCOFSEL0 + DCOFSEL1; //设置最大值 DCO设置
    CSCTL2 =拉美经济体系3 + SESS_3 + SELM_3; //设置ACLK = XT1;MCLK = DCO
    CSCTL3 = DIVA_0 + DIVS_0 + DIVM_0; //设置所有分禾器

    //=========================== UART设置===========================================================================================================================

    P2SEL1 || BIT5 + BIT6; // uart1引脚选择:WFP 2.5 ,WFP 2.6
    P2SEL0 &=~(BIT5 + BIT6);
    UCA1CTL1 = UCSSEL_2 | UCSSWRST; // UART时钟选择
    UCA1BR0 = 4; // UART设置为11.52万,停止位=1,数据位8,奇偶校验无
    UCA1BR1 = 0; // buadrate设置
    UCA1MCTLW = 0x5551; //根据用户指南设置调制,即SX=0x55,FX=0x5,UCOS16=0x01 = 0x5551
    UCA1CTL1 &=~UCSWRST;
    UCA1IE |= UCRXIE; //接收中断启用

    //=================================================== rtc config===================================================================
    rtc_set ("2017","1","1","01","00","00","0");// 2017年1月1日12点,周日午夜。

    //===================================================================================================================================================================================================================

    延迟(5万);


    __bis_sr_register(GIE); //启用所有中断

    同时(1)


    }

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

    感谢您提供代码,初始化代码似乎没有什么不寻常之处,但我想指出,在这种配置下,ACLK = DCO (很可能只是注释错误)。 仍在等待示意图。

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

     您好,Ryan:

    很抱歉回复太晚。 请参阅随附的示意图。

    此致。

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

    您好,Pallav,

    VCORE需要一个470 nF电容器,VCC与VCORE的比率应大于10 (这两个规格都在数据表中),因此VCC电容应大于4.7 UF。 LFXT负载电容器也比平时小,但这取决于所使用的晶体类型,您的代码应实现故障标志环路,以确保其正常启动。

    此致,
    Ryan

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

    我们尝试了.5uF @ Vcore和10uF @VCC,但没有变化。

    LFXT负载电容器取决于我的晶体数据表。 我们也尝试了其他24pf晶体,但没有效果。

    最后一点我无法理解。 您能解释一下吗?(您的代码应该实施故障标志环路以确保其正常启动)

    这是否意味着我们应该尝试正确启动,即

    PJSEL0 || BIT4 + BIT5;

    CSCTL0_H = 0xA5; //时钟8MHZ
    CSCTL1 |= DCOFSEL0 + DCOFSEL1; //设置最大值 DCO设置
    CSCTL2 =拉美经济体系3 + SESS_3 + SELM_3; //设置ACLK = XT1;MCLK = DCO
    CSCTL3 = DIVA_0 + DIVS_0 + DIVM_0; //设置所有分禾器
    CSCTL4 |= XT1DRIVE_0;
    CSCTL4 &=~Ω XT1OFF;



    CSCTL5 &=~XT1OFFG;
    //清除XT1故障标志
    SFRIFG1 &=~OFIFG;
    }同时(SFRIFG1&OFIFG); //测试振荡器故障标志

    我们也尝试了这种做法,但没有效果。


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

    是的,我指的是以前未提供的振荡器故障标志测试,这至少显示LFXT正常启动。 此问题的示波器屏幕截图尚未提供。

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

    我应该提供什么信号?
    1. VCC
    2.重置
    ??

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

    此致,
    Ryan