S3C2410 看门狗只要有两个功能
1、作为常规时钟,并且可以产生中断
2、作为看门狗定时器使用,当时钟减到0时(超时),它将产生一个128个时钟(PLCK)的时钟信号。
看门狗的设置:
1、 看门狗的外部时钟源是有PLCK提供的, plck 通过预分频 和 与比例因子 产生适合看门狗的时钟。
t_watchdog = 1/[PLCK/(prescale value +1)/division_factor]
上面就是它的计算公式。
2、相关寄存器的介绍
WTCON watchdog控制寄存器
看门狗控制寄存器能够禁止或者允许看门狗时钟,从四个不同的时钟源中挑选时钟信号,允许或禁止中断,并且能允许或禁止看门狗时钟输出。如果用户想要使用看门狗作为普通时钟,应该中断使能,禁止看门狗定时器复位。
WTDAT――看门狗定时器数据寄存器
WTDAT 用于设置看门狗定时器的超时时间值,在初始化看门狗过程中,WTDAT 的值不会自动加载到定时计数器中,首次使用定时器超时值为其初始值即0x8000,以后该寄存器的值会被自动加载到WTCNT 寄存器中。
WTCNT――看门狗定时器计数寄存器
WTCNT 为看门狗定时器工作的时间计数器的当前计数值,注意在初始化看门狗操作后,看门狗数据寄存器(WTDAT)的值不能自动装到看门狗计数寄存器(WTCNT)中,所以看门狗被允许之前应该初始化看门狗计数寄存器的值。
实验程序
由于看门狗是对系统的复位或者中断的操作,所以不需要外围的硬件电路。要实现看门狗的功能,只需要对看门狗的寄存器组进行操作。即对看门狗的控制寄存器(WTCON)、看门狗数据寄存器(WTDAT)、看门狗计数寄存器(WTCNT)的操作。
设计流程如下:
1.设置看门狗中断操作,包括全局中断和看门狗中断的使能,看门狗中断向量的定义。频值、中断使能和复位使能等。
2.对看门狗数据寄存器(WTDAT)和看门狗计数寄存器(WTCNT)的设置。
3.启动看门狗定时器。
主功能函数
看门狗定时器功能程序实现
原文地址:http://blog.chinaunix.net/u2/78572/showart_1180410.html