《ZigBee开发笔记》第二部分 基础篇-第9章 CC2530看门狗

1 理论分析 1.1 CC2530 看门狗简介
【《ZigBee开发笔记》第二部分 基础篇-第9章 CC2530看门狗】在 CPU 可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方法。当软件在选定时间间隔内不能清除 WDT 时,WDT 必须就复位系统。看门狗可用于受到电气噪音、电源故障、静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间隔产生中断。
看门狗定时器的特性如下:

? 四个可选的定时器间隔
? 看门狗模式
? 定时器模式
? 在定时器模式下产生中断请求
WDT 可以配置为一个看门狗定时器或一个通用的定时器。WDT 模块的运行由 WDCTL 寄存器控制。看门狗定时器包括一个 15 位计数器,它的频率由 32kHz 时钟源规定。注意用户不能获得 15 位计数器的内容。在所有供电模式下,15 位计数器的内容保留,且当重新进入主动模式,看门狗定时器继续计数。
CC2530 看门狗有 2 种模式:看门狗模式和定时器模式,下面分别介绍。
1、看门狗模式
在系统复位之后,看门狗定时器就被禁用。要设置 WDT 在看门狗模式,必须设置WDCTL.MODE[1:0]位为 10 。然后看门狗定时器的计数器从 0 开始递增。在看门狗模式下,一旦定时器使能,就不可以禁用定时器,因此,如果 WDT 位已经运行在看门狗模式下,再往 WDCTL.MODE[1:0]写入 00 或 10 就不起作用了。WDT 运行在一个频率为 32.768 kHz(当使用 32 kHz XOSC)的看门狗定时器时钟上。这个时钟频率的超时期限等于 1.9ms,15.625 ms,0.25 s 和 1s,分别对应 64,512,8192 和 32768 的计数值设置。如果计数器达到选定定时器的间隔值,看门狗定时器就为系统产生一个复位信号。
如果在计数器达到选定定时器的间隔值之前,执行了一个看门狗清除序列,计数器就复位到 0,并继续递增。

    推荐阅读