《第12章 看门狗》由会员分享,可在线阅读,更多相关《第12章 看门狗(8页珍藏版)》请在金锄头文库上搜索。
1、 第第1212章章 看门狗(看门狗(WD)WD)定时器定时器用途:用途:监视监视软件和硬件的运行,在软件和硬件的运行,在CPUCPU混乱时(如混乱时(如软件死循环软件死循环或或跑跑飞飞), ,完成系统的复位,从而提高系统的完成系统的复位,从而提高系统的可靠性可靠性。12.1 12.1 看门狗定时器概述看门狗定时器概述结构框图结构框图见下页,所有寄存器都是见下页,所有寄存器都是8 8位位宽度。宽度。具有如下特征:具有如下特征: (1) (1) 8 8位位WDWD计数器,计数器,上溢时上溢时产生一个系统复位信号产生一个系统复位信号。 (2) (2) 6 6位的自行计数器,用于位的自行计数器,用于W
2、DWD预定标,共预定标,共6 6种选择。种选择。 (3) (3) 一个一个复位密钥(复位密钥(WDKEY)WDKEY)寄存器寄存器。当一个。当一个55h55h值值后紧随着一个后紧随着一个AAhAAh值写入值写入WDKEYWDKEY时,则时,则WDWD计数器清零计数器清零,当不正确的值写入时,当不正确的值写入时,则产生一个复位信号。则产生一个复位信号。 (4) (4) 3 3个个WDWD检验位检验位。若。若WDWD定时器失效,则启动系统复位。定时器失效,则启动系统复位。 (5) (5) 一旦系统复位后,一旦系统复位后,WDWD定时器就自动启动。定时器就自动启动。WDWD预定预定标选择标选择8 8
3、位位WDWD计计数器数器55h+AAh55h+AAh探测器探测器WDWD检验检验位位判断判断逻辑逻辑WDCLKWDCLK系统复系统复位请求位请求WDWD复位复位关键字关键字寄存器寄存器 WDWD模块结构框图模块结构框图12.2 WD12.2 WD操作操作12.2.1 WD12.2.1 WD的时钟的时钟WDWD的时钟的时钟WDCLKWDCLK是一个低频时钟是一个低频时钟, 由由CPUCPU的输出时钟的输出时钟CLKOUTCLKOUT提供。提供。 WDCLK=CLKOUT/512WDCLK=CLKOUT/51212.2.2 12.2.2 定时器的悬挂定时器的悬挂因为因为WDCLKWDCLK的时钟是
4、由的时钟是由CLKOUTCLKOUT分频分频产生的,当产生的,当CPUCPU被被挂起挂起 时(即时(即CPUCPU进入进入HALTHALT低功耗模式),低功耗模式),WDCLKWDCLK被停止被停止。12. 3 WD12. 3 WD控制寄存器控制寄存器共有共有3 3个寄存器个寄存器控制着控制着WDWD的操作:的操作:(1)(1) WDWD计数寄存器(计数寄存器(WDCNTRWDCNTR)8)8个位为个位为8 8位位WDWD计数器的计数器的值,只读。值,只读。向向WDWD复位关键字寄存器复位关键字寄存器写入正确的序列会清除写入正确的序列会清除WDCNTRWDCNTR且且可阻止系统复位,但并不会清
5、除自行计数器。可阻止系统复位,但并不会清除自行计数器。(2)(2) WDWD复位关键字寄存器(复位关键字寄存器(WDKEYWDKEY)当写一个当写一个55h55h后紧后紧随写入一个随写入一个AAhAAh,则清除,则清除WDCNTRWDCNTR。任何的。任何的其他值都会引其他值都会引起系统复位起系统复位。位位7-07-0:这些只写数据位为这些只写数据位为8 8位复位关键字值。位复位关键字值。(3)(3) WDWD定时器定时器控制控制寄存器(寄存器(WDCRWDCR) ) 本寄存器包含用本寄存器包含用于看门狗配置的如下控制位:于看门狗配置的如下控制位:WDWD禁止位禁止位;WDWD标志位标志位;W
6、DWD检验位检验位(3 3个);个);WDWD预定标选预定标选择位择位(3(3个)。个)。格式如下:格式如下:位位7 7:WDFLAGWDFLAG,看门狗标志位看门狗标志位。该位。该位标识标识WDWD定时器是否定时器是否产生了一个系统复位。产生了一个系统复位。 0 0:表明自上次清除该位后,:表明自上次清除该位后,WDWD定时器还没有产定时器还没有产生复位。生复位。 1 1:表明自上次清除该位后,:表明自上次清除该位后,WDWD定时器已经产生定时器已经产生了复位。了复位。位位6 6:WDDISWDDIS,看门狗禁止位看门狗禁止位。仅当。仅当SCSR2SCSR2寄存器的寄存器的WD WD OVE
7、RRIDEOVERRIDE位为位为1 1时,该位才能被写。时,该位才能被写。 0 0:看门狗被使能。:看门狗被使能。 1 1:看门狗被禁止。:看门狗被禁止。位位5-5-位位3 3:WDCHK2-WDCHK0WDCHK2-WDCHK0,看门狗,看门狗检验位检验位(3 3个)。个)。当向当向WDCRWDCR控制寄存器写时,这三位控制寄存器写时,这三位必须被写为必须被写为101101,否则产生系统复位。,否则产生系统复位。位位2-2-位位0 0:WDPS2-WDPS0WDPS2-WDPS0,看门狗,看门狗预定标选择位预定标选择位。这些。这些位决定了看门狗的位决定了看门狗的溢出频率溢出频率,如下页表所示。,如下页表所示。WDPS2WDPS2WDPS1WDPS1WDPS0WDPS0WDCLKWDCLK除数除数最小上溢最小上溢时间时间(ms)ms)0 00 0X X1 13.283.280 01 10 02 26.66.60 01 11 14 413.113.11 10 00 08 826.226.21 10 01 1161652.452.41 11 10 03232104.9104.91 11 11 16464209.7209.7 WDWD上溢时间选择上溢时间选择注:注:CLKOUTCLKOUT默认为默认为 40MHz40MHz