Watch Dog 之浅析
来源:互联网 发布:中国网络安全部队 编辑:程序博客网 时间:2024/06/04 18:15
看门狗定时器
概述:
什么是看门狗定时器?简单的说就是S3C244在出现系统故障时,用来复位系统的一种定时控制器。
功能:
1. 一种带有中断请求的普通定时器。
2. 在定时器超时时,产生一个有128PCLK个时钟周期的系统复位信号。
组成:
1. 看门狗定时器控制寄存器(WTCON)
2. 看门狗定时器数据寄存器(WTDAT)
3. 看门狗定时器计数寄存器(WTCNT)
(1)WTCON
用户可以通过WTCON来设置看门狗定时器的使能,它可以使看门狗从四种时钟源选择时钟,并使能中断和定时器的输出。
WTCON的使用说明:
[0]:1复位信号输出使能,0 看门狗复位无效
[1]:保留,一般置为0
[2]:1 中断使能,0 中断无效
[4~3]:时钟除数因子 00:16 01:32
10:64 11:128
[5]:看门狗定时器使能位,1 使能, 0 无效
[7~6]:保留,一般置为0
[15~8]:预定标值,取值范围0~255
(2)WTDAT
WTDAT是用来确定看门狗定时器的定时期限的。它可以在看门狗定时器正常工作后,在看门狗定时器超时时自动重装WTCNT,但是在看门狗刚使能使时它并不能将数据装入WTCNT,可以使用0x8000来驱使看门狗超时,或者在看门狗开始工作前给WTCNT装入一个初始值。
(3)WTCNT
WTCNT中存放的是看门狗定时器的当前计数值。
看门狗定时器的操作:
当S3C2440处在ICE仿真调试状态下时,不必使用看门狗。看门狗可以通过CPU内核信号来判断当前是否处在调试状态下,如果处于调试状态下时,当看门狗超时时不会激活复位信号。
看门狗定时器采用PCLK时钟源,经过预分频产生定时器的时钟,然后会对预分频的结果再次分频。两次分频分别根据预定标值(prescaler_value)和频率除数因子(division_factor)沉声分频结果的,可以看门狗的定时器周期:
T_watachdog = 1 / ( PCLK / (prescaler_value + 1) / division_factor)
其中的prescalet_value的值就是WTCON中的15~8位的值,division_factor的值是WTCON的4~3位。
(4)看门狗的模块图
由图可以看出,PCLK是外部的低速总线时钟,作为看门狗的时钟输入,经过一个8bit的预分频器(由WTCON[15:8]位预标值决定),然后流入一个分频除数因子模块(由WTCON[4:3]决定除数因子),经过再分频的时钟信号作为WTCNT的计数时钟。再分频后的每个时钟到来都会使WTCNT减一,当到0的时候,如果中断使能位(WTCON[2])置一,那么看门狗输出一个中断信号interrupt;如果复位控制位(WTCON[0])被置一,则产生一个128PCLK周期的复位信号,这时作为普通的中断信号不起作用(即使中断使能)。
- Watch Dog 之浅析
- Watch Dog 之浅析
- watch dog
- watch dog
- s3c2410 watch dog
- 问题 G: Watch Dog
- watch dog 应用层接口
- Watch dog for Raspberry Pi
- watch dog不起作用的问题
- Watch Dog 最小生成树
- 设备驱动的艺术之旅 - Watch Dog 的 NMI 应用场景
- 看门狗定时器(WDT,Watch Dog Timer)
- 看门狗定时器(WDT:Watch Dog Timer)
- 【HPU 1409: Watch Dog [最小生成树]】
- HPUoj 1409: Watch Dog [最小生成树]
- 1409: Watch Dog [最小生成树]
- HPUOJ 1409: Watch Dog [最小生成树]
- hpu 1409: Watch Dog(最小生成树)
- hdu 1285 确定比赛名次(拓扑排序)
- Android开发之Viewpager与TextView结合使用时不能滑动的问题
- 广告浮动
- 方法的重写
- RequireJS Optimizer 的使用和配置
- Watch Dog 之浅析
- C++内存中字节对齐问题分析与总结
- 直接插入排序算法的原理与实现
- hdu4135(容斥原理)
- BZOJ 1605 [Usaco2008 Open]Crisis on the Farm 牧场危机 DP
- Spring整合Mybatis
- iOS 自定义TabBarController
- 哈希表 之 接入与身份认证技术概述
- AJAX理论知识