S3C2440看门狗电路分析
看门狗的作用我想大家都应该清楚,S3C2440看门狗定时器它不仅可以当作看门狗来使用,还可以当作普通的定时器来使用。S3C2440看门狗电路模块框图:
看门狗电路采用PCLK作为时钟源,PCLK通过两个分频器之后才是看门狗定时器的工作时钟。那看门狗定时器的时钟到底是多少呢,有如下计算公式:
t_watchdog= 1/[ PCLK / (Prescaler value + 1) / Division_factor ]
prescaler value和division factor的取值是通过看门狗的控制寄存器WTCN来设置的,prescaler value取值范围为0~255,division factor取值有16、32、64和128。
S3C2440看门狗定时器如果是作为普通定时器来使用的话,WTCNT降为0时它可以产生定时器中断。如果是作为看门狗来使用的话,WTCNT降为0时它会产生128个PCLK周期的复位信号。
模块框图看完了,再来看寄存器定义:
WTDAT寄存器用于看门狗定时器作为普通定时器使用时,当WTCNT降为0时自动加载WTDAT值到WTCNT中。但是,刚开始这个值是不会自动加载到WTCNT中的,所以,还需要我们手动将初始值写入WTCNT寄存器中。