电子大讲堂  Watch Dog 之浅析

 

概述:什么是看门狗定时器?简单的说就是S3C244在出现系统故障时,用来复位系统的一种定时控制器。功能:1....



概述:

什么是看门狗定时器?简单的说就是S3C244在出现系统故障时,用来复位系统的一种定时控制器。

功能:

1.一种带有中断请求的普通定时器。

2.在定时器超时时,产生一个有128PCLK个时钟周期的系统复位信号。

组成:

1.看门狗定时器控制寄存器(WTCON)

2.看门狗定时器数据寄存器(WTDAT)

3.看门狗定时器计数寄存器(WTCNT)

WTCON

用户可以通过WTCON来设置看门狗定时器的使能,它可以使看门狗从四种时钟源选择时钟,并使能中断和定时器的输出。

WTCON的使用说明:

[0]:1复位信号输出使能,0 看门狗复位无效

[1]:保留,一般置为0

[2]:1 中断使能,0 中断无效

[4~3]:时钟除数因子   00:16    01:32

10:64   11:128

[5]:看门狗定时器使能位,1 使能, 0 无效

[7~6]:保留,一般置为0

[15~8]:预定标值,取值范围0~255

WTDAT

WTDAT是用来确定看门狗定时器的定时期限的。它可以在看门狗定时器正常工作后,在看门狗定时器超时时自动重装WTCNT,但是在看门狗刚使能使时它并不能将数据装入WTCNT,可以使用0x8000来驱使看门狗超时,或者在看门狗开始工作前给WTCNT装入一个初始值。

WTCNT

WTCNT中存放的是看门狗定时器的当前计数值。



看门狗定时器的操作:



当S3C2440处在ICE仿真调试状态下时,不必使用看门狗。看门狗可以通过CPU内核信号来判断当前是否处在调试状态下,如果处于调试状态下时,当看门狗超时时不会激活复位信号。

看门狗定时器采用PCLK时钟源,经过预分频产生定时器的时钟,然后会对预分频的结果再次分频。两次分频分别根据预定标值(prescaler_value)和频率除数因子(division_factor)沉声分频结果的,可以看门狗的定时器周期:

T_watachdog = 1 / ( PCLK / (prescaler_value + 1) / division_factor)

其中的prescalet_value的值就是WTCON中的15~8位的值,division_factor的值是WTCON的4~3位。

看门狗的模块图



由图可以看出,PCLK是外部的低速总线时钟,作为看门狗的时钟输入,经过一个8bit的预分频器(由WTCON[15:8]位预标值决定),然后流入一个分频除数因子模块(由WTCON[4:3]决定除数因子),经过再分频的时钟信号作为WTCNT的计数时钟。再分频后的每个时钟到来都会使WTCNT减一,当到0的时候,如果中断使能位(WTCON[2])置一,那么看门狗输出一个中断信号interrupt;如果复位控制位(WTCON[0])被置一,则产生一个128PCLK周期的复位信号,这时作为普通的中断信号不起作用(即使中断使能)。



特别推荐
你见过芯片,但了解设计流程吗?
电工必有的八门武艺
15款免费设计工具 电工们速速get


中国电子网

微信号:weixin21ic



    关注 21ic电子网


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册