ARM S3C2410 看门狗设置原理及源码

时间:2021-08-07 04:10:50

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