Watch Dog 之浅析

                                                                    看门狗定时器

概述:

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

 

功能:

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

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

 

组成:

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

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

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

 

(1)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

 

(2)WTDAT

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

 

(3)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位。

(4)看门狗的模块图

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值