看门狗定时器
- 格式:ppt
- 大小:471.00 KB
- 文档页数:17


看门狗定时器实验1.实验目的(1)掌握LM3S8962中的看门狗定时器(WDT)的功能和使用方法(2)掌握正确使用看门狗的方法2.实验内容(1)ARM的初始化配置(2)WDT的初始化和中断/复位设置(3)编程演示使用看门狗对系统进行监控3.WDT的功能图1 WDT模块结构图嵌入式控制系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。
为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(Watchdog)电路。
看门狗电路的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。
在Stellaris 系列ARM里集成有硬件的看门狗定时器模块。
该模块有两个功能:当看门狗定时器的复位功能禁能时,可以把看门狗作为一个普通定时器来使用;当看门狗定时器的复位功能使能时,用作看门狗定时器,一旦产生了“二次超时”事件,将引起处理器复位。
看门狗定时器具有“二次超时”特性。
当32位计数器在使能后递减计数到0 状态时,看门狗定时器模块产生第一个超时信号,并产生中断触发信号。
在发生了第一个超时事件后,32 位计数器自动重装看门狗定时器装载寄存器(WDTLOAD)的值并重新递减计数。
如果没有清除第一个超时中断状态,则当计数器再次递减到0 时,且复位功能已使能,则看门狗定时器会向处理器发出复位信号。
如果中断状态在32位计数器到达其第二次超时之前被清除,则自动重装32位计数器,并重新开始计数,从而可以避免处理器被复位。
为了防止在程序跑飞时意外修改看门狗模块的配置,特意引入了一个锁定寄存器。
在配置看门狗定时器之后,只要写入锁定寄存器一个不是十六进制0x1ACCE551的任何数值,看门狗模块的所有配置都会被锁定,拒绝软件修改。
因此以后要修改看门狗模块的配置,包括清除中断状态(即喂狗操作),都必须要首先解锁。
解锁方法是向锁定寄存器写入十六进制数值0x1ACCE551 。
如果在看门狗定时器计数器正在计数时把新的值写入WDTLOAD,则计数器将装入新的值并继续计数。
一、外部看门狗
一般硬件设计的时候使用芯片外部看门狗,该看门狗使用一个不停翻转GPIO来控制。
二、内部看门狗
一般ARM芯片都是有内部看门狗模块。
S5PV210内部看门狗模块有两个功能:
1、作为看门狗。
打开看门口狗后,如果没有“喂狗”,看门狗计数值减到0,会产生一个reset信号,S5PV210就会复位,从BL0重新执行代码。
2、普通的定时器。
可以产生周期性的中断。
三、210看门狗模块的框图
1、看门狗“喂狗”就是向计数寄存器赋一个新的计数值。
2、看门狗clock(基准周期)=
四、看门狗的寄存器
1、WTCON
2、WTDA T
3、WTCNT
4、WTCLRINT
五、实验程序。
看门狗定时器看门狗在外围监控DSP中软件的运行以及硬件的操作,当CPU出现故障时,看门狗将执行系统复位。
如果软件进入了一个不正确的循环或者CPU出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。
在大多数情况下,DSP短暂的混乱以及CPU不正确的操作都可以被看门狗所清除并重新进行设置。
由于看门狗稳定的性能,其增加了CPU的可靠性,以确保系统的完整。
在看门狗中这个外围设备中,所有的寄存器都是8位的,连接到16位CPU的低8位外围数据总线上。
240XA看门狗定时器和C240看门狗定时器唯一的区别就是其缺乏实时的中断能力。
(这句话我也不明白哦)。
看门狗定时器将通过对从CPU出来的CLKOUT进行分频而得到自己所需的时钟。
1.1看门狗定时器的特征看门狗模块包含如下特征:n8位的看门狗计数器通过计数溢出从而使系统复位n6位的独立运行计数器通过对看门狗计数器预定标来feed看门狗计数器(上句为字面意思,我的理解是:该6位的独立运行的计数器通过对WD CLK(看门狗工作时钟)进行分频从而使看门狗计数器得到不同频率的时钟。
独立运行的意思是该计数器不受其他器件的影响,只要启动系统,就开始工作)n看门狗复位键寄存器,当向该寄存器写下合适的组合值(在该DSP中,通过向该寄存器相继写55h和AAh值)时,该寄存器将使看门狗计数器清零,当向该寄存器写下不合适的组合值(除55h和AAh以外的值)时,该寄存器将使系统复位n看门狗核对位,当看门狗定时器出现错误情况时,通过看门狗核对位来复位系统n当系统复位时,将自动启动看门狗定时器n可对独立运行计数器输出的6路分频信号进行选择以下为看门狗定时器的功能框图+含义:向WDCR.5-3位(看门狗核对位)写除101以外的任何数将导致系统复位。
含义:分频后的值与WDCLK有关。
1.1看门狗定时器的操作1.1.1概述看门狗的操作由三个寄存器进行控制n看门狗计数寄存器(WDCNTR)——这个寄存器包含了看门狗计数器的值n看门狗键位寄存器(WDKEY)——当向该寄存器先写55h,然后写AAh时,该寄存器将WDCNTR清零n看门狗控制寄存器(WDCR)——该寄存器包含了用于看门狗配置的如下控制位²看门狗禁止位²看门狗标志位²看门狗核对位(3位)²看门狗分频选择位(3位)1.1.2看门狗定时器时钟看门狗定时器时钟(WDCLK)是一种低频率的时钟。
本次实训旨在使学生了解看门狗定时器的基本原理、工作方式以及在嵌入式系统中的应用,通过实际操作,掌握看门狗定时器的配置、使用方法,并学会利用看门狗定时器解决嵌入式系统中的故障和异常。
二、实训内容1. 看门狗定时器原理- 看门狗定时器是一种监测硬件或软件故障的定时器,其工作原理是在程序运行过程中不断重装载,以防止溢出引发中断或复位。
- 看门狗定时器分为独立看门狗和窗口看门狗两种类型。
2. 独立看门狗(FWDGT)- 独立看门狗使用独立的32kHz内部时钟,适用于对计时精度要求不高的场合。
- 独立看门狗内部有一个12位的向下计数的定时器,当计数值达到0时,会产生一个系统复位。
3. 窗口看门狗(WWDGT)- 窗口看门狗使用PCLK分频而来的时钟,计数器位数较小,需要在窗口范围内重装载以防复位。
4. 看门狗定时器的配置与使用- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 看门狗定时器的实际应用- 利用看门狗定时器解决嵌入式系统中的故障和异常。
- 通过看门狗定时器监控程序运行状态,防止死锁。
- 作为系统安全特性的一部分,确保在检测到异常时能够安全地重启系统。
1. 准备工作- 准备好实训所需的硬件设备和软件环境,如单片机开发板、调试器、IDE等。
2. 环境搭建- 根据实际需求搭建实训环境,包括硬件电路连接和软件配置。
3. 看门狗定时器配置- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
4. 程序编写- 编写程序,实现看门狗定时器的初始化、重装载和监控功能。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 调试与验证- 使用调试器对程序进行调试,观察看门狗定时器的运行状态。