我们现在有个项目使用MSP430FR2155,3.7V的锂电池供电,我们程序开了开门狗,平时会休眠,但是现在有不少机器用了一段时间之后死机,看门狗无法正常复位,外部中断也无法唤醒,除非拔电或者RST复位,请问可能是什么问题,麻烦帮忙分析,样机我这里有
每2ms进行一次喂狗
WDTCTL = WDT_ARST_16; //更新看门狗
我们现在有个项目使用MSP430FR2155,3.7V的锂电池供电,我们程序开了开门狗,平时会休眠,但是现在有不少机器用了一段时间之后死机,看门狗无法正常复位,外部中断也无法唤醒,除非拔电或者RST复位,请问可能是什么问题,麻烦帮忙分析,样机我这里有
每2ms进行一次喂狗
WDTCTL = WDT_ARST_16; //更新看门狗
您好,
根据设计手册“Figure 1-5. Operation Modes”,请问芯片工作在哪种低功耗模式?
MSP430FR4xx and MSP430FR2xx family user's guide (Rev. I)
MSP430WARE中的驱动代码Driver Library
您好,
LPM4模式下所有的时钟都停止(1.4.2 Entering and Exiting Low-Power Modes LPM0 Through LPM40。
由于看门狗开启,且具有“12.2.5 Clock Fail-Safe Feature”功能,VLOCLK作为时钟源。
对于您的问题,建议检查电源是否存在噪声干扰,导致的内部时钟停止。
您好,
MSP430 器件都具有自动时钟请求功能。这意味着,如果设置为使用特定 clock,它将请求 clock。
只要 request 处于活动状态,无论 device 进入 LPMx 模式,此 clock 及其 source 都将保持活动状态(Table 1-3. Requested vs Actual LPM)。
如果想在LPM4模式下使用 watchdog mode,时钟源需要使用VLOCLK(12.2.5 Clock Fail-Safe Feature)。
建议检查电源是否存在噪声干扰(2.2.2 Supply Voltage Supervisor),导致VLOCLK时钟停止。
另外,链接中的勘误表中CS13 PMM32列出了芯片可能出现死机的情况,请参考。
1.有个问题我需要说明一下,MCU进入休眠前,我们把看门狗关掉了,也就是休眠时看门狗是不功能的
2.我看勘误表中的CS13说MCLK高于2Mhz就有可能出现死机的情况,那这种风险很高啊,这种情况是很容易出现的,出现问题的这个项目,我们休眠时钟使用了4MHz,正常模式我们是用的16MHz,我们2155用了非常多,其他项目我们目前没发现这个问题,那意味着出问题的风险也很大啊
3.勘误表中的PMM32提到的DODCLK我看规格书目前好像就是ADC使用是吧?我们进入LPM4之前是吧ADC关掉了,所有这种情况应该不是吧
4.所以大概率是不是应该CS13所说的进入LPM4休眠MCLK4MHz高于2MHz的频率,在进入休眠的时候有GPIO中断发生,所以可能导致死机吗
您好,
理论上是存在这个可能的,但由于时间窗口很小,死机的概率是很低的。
如果有大量的死机情况存在,建议从系统设计角度检查,如前面回复中的电源是否存在噪声干扰等。