新闻中心

EEPW首页>嵌入式系统>设计应用> ARM S3C44B0X 之 看门狗定时器

ARM S3C44B0X 之 看门狗定时器

作者: 时间:2016-11-20 来源:网络 收藏
当受到故障,如噪声或系统错误的干扰时,s3c44b0x看门狗定时器能够产生复位信号,使CPU复位,它也可以用作一个普通的16位定时器使用,计算完产生中断信号。如果用作复位信号,可以产生一个长达128MCLK时钟周期的复位信号。
S3C44B0X内部的watchdog结构如下图所示:
500)this.width=500;" border=0>
在S3C44B0X内部由3个16位的特殊功能寄存器控制看门狗定时器:
WTCON Reg: 功能控制器
WTDATA Reg:数据存储器
WTCNT Reg: 计数存储器
16位的WTCON寄存器在S3C44B0X复位时的地址为:0x01D3_0000,可读/写,初始值为0x8021,各位的功能如下:

【15~8】设置预分频器值,初始值0x80

本文引用地址://m.amcfsurvey.com/article/201611/318971.htm

【7~6】保留位,但是在正常模式下必须设置为00,初始值00

【5】0=关闭看门狗,1=打开看门狗,初始值1

【4~3】 设置除法因子,00=1/16, 01=1/32, 10=1/64, 11=1/128,初始值00

【2】中断使能位,0=打开中断,1=关闭中断,初始值0,用于定时器功能,初始值0

【1】保留位,但是在正常模式下必须设置位0,初始值0

【0】复位使能位,0=关闭复位功能,1=打开复位功能,用于复位功能,初始值1

16位的WTDATA寄存器复位地址为:0x01D3_0004,可读/写,初始值为0x8000

16位的WTCNT寄存器复位地址为:0x01D3_0008,可读/写,初始值为0x8000

在打开看门狗后,WTDATA数据不能自动装入WTCNT,因此在打开前需要手段装入。

定时器的频率(产生中断或者复位信号的周期)计算公式如下:

f=MCLK/(Prescaler +1 )/除法因子

时钟周期为:t=1/f,即t(ns)计数一次

在Bootloader阶段禁用看门狗,程序如下:

WTCON EQU 0x01d30000

...

ldr r0, =WTCON

ldr r0, =0

str r0, [r0]

...



评论


技术专区

关闭