免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1215 | 回复: 0
打印 上一主题 下一主题

ARM S3C44B0X 之 看门狗定时器 篇 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-03 19:56 |只看该作者 |倒序浏览
ARM S3C44B0X 之 看门狗定时器 篇
   当受到故障,如噪声或系统错误的干扰时,s3c44b0x看门狗定时器能够产生复位信号,使CPU复位,它也可以用作一个普通的16位定时器使用,计算完产生中断信号。如果用作复位信号,可以产生一个长达128MCLK时钟周期的复位信号。
    S3C44B0X 内部的watchdog结构如下图所示:

    在S3C44B0X内部由3个16位的特殊功能寄存器控制看门狗定时器:
    WTCON Reg: 功能控制器
    WTDATA Reg:数据存储器
    WTCNT Reg: 计数存储器
    16位的WTCON寄存器在S3C44B0X复位时的地址为:0x01D3_0000,可读/写,初始值为0x8021,各位的功能如下:
【15~8】设置预分频器值,初始值0x80
【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]
...


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/58454/showart_1850259.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP