关于低功耗与看门狗的问题

011fmh   2009-4-19 22:00 楼主
我使用MSP430F247芯片,系统平时大部分时间处于LPM3低功耗模式,偶尔通过外部IO口中断唤醒。我的看门狗时钟使用外接的32768晶振,想知道处于LPM3模式下,看门狗是不是必须要关闭啊?不关闭就会没隔一段时间复位系统吧?希望各位大虾指点,谢谢!

回复评论 (8)

我对看门狗也很糊涂,我想知道那个时间是怎么设定的,一般的书上面都没有
点赞  2009-4-20 09:14
WDT+模块提供了一个故障保护时钟的功能,用于保证在看门狗模式下,WDT+的时钟不
被禁止。这表示,低功耗模式需要根据WDT+的时钟源来选择。例如,如果ACLK是WDT+的时
钟源,那么就不能用LPM4这种低功耗模式,因为该模式下,ACLK被禁止。如果ACLK或SMCLK
停止了,而他们又是WDT+的时钟源,那么WDT+的时钟源会自动转为MCLK,在这种情况下,
如果MCLK的时钟源是外部振荡器,而该振荡器又坏了,故障保护功能会自动激活DCO,并令
DCO为MCLK的时钟源。

MSP430有几个低功耗模式,不同时钟信号支持不同的低功耗模式。用户的设计要求和所
使用的时钟类型决定了WDT+的配置。例如,如果用户想使用低功耗模式3,则WDT+不能配置
看门狗模式的时钟为SMCLK,因为该低功耗模式下,SMCLK仍然继续工作,加大了电流消耗。
当不想使用WDT+时,WDTCNT寄存器中的WDTHOLD位可以让看门狗停止,以降低功耗。
点赞  2009-4-20 09:45
看门狗的时间怎么设置,时钟源看懂了,后面那个设置没有看懂  中断时间间隔 WDTISx
点赞  2009-4-20 23:50
/* Watchdog mode -> reset after expired time */
/* WDT is clocked by fSMCLK (assumed 1MHz) */
#define WDT_MRST_32 (WDTPW+WDTCNTCL) /* 32ms interval (default) */
#define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) /* 8ms " */
#define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) /* 0.5ms " */
#define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms " */
/* WDT is clocked by fACLK (assumed 32KHz) */
#define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) /* 1000ms " */
#define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms " */
#define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms " */
#define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms " */

以上是头文件中定义好的定时宏定义,直接调用即可。关于WDTISx的定义可以看芯片手册。
点赞  2009-4-21 09:13
低功耗下CPU不运行,对干扰有行强的抑制能力,程序运行的逻辑,顺序等不易受干扰改变而出错.所以不必要让WDT运行.
点赞  2009-4-21 13:18
引用:

/* Watchdog mode -> reset after expired time */
/* WDT is clocked by fSMCLK (assumed 1MHz) */
#define WDT_MRST_32 (WDTPW+WDTCNTCL) ...
谢谢
点赞  2009-4-25 17:27
引用:

低功耗下CPU不运行,对干扰有行强的抑制能力,程序运行的逻辑,顺序等不易受干扰改变而出错.所以不必要让WDT运行.
是这样的吗?
点赞  2009-8-12 16:45
引用:

是这样的吗?
我也想知道
点赞  2009-8-12 20:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复