看门狗实验心得.docx
文本预览下载声明
看门狗实验心得
实验八看门狗实验 一、实验目的 1、了解看门狗的作用; 2、掌握看门狗的使用方法。 二、实验内容 1、编程实现看门狗功能,观察看门狗作用; 2、编程实现看门狗喂狗。 三、实验设备 1、硬件: JX44B0实验板; PC机; JTAG仿真器; 2、软件: PC机操作系统; ARMDeveloperSuite; Multi-ICE(Build1319); 四、基础知识 1、用ADS集成开发环境,编写和调试程序的基本过程; 2、应用程序的框架结构。 五、实验说明 1、看门狗的功能和工作原理 嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗电路。看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。 其基本原理为:当本系统程序完整运行一周期的时间为Tp,看门狗的定时周期时Ti,TiTp,在程序运行一周期后,就修改定时器的计数值,,只要程序正常运行,定时器就不会溢出,若由于干扰等原因使系统不能在Tp时刻修改定时器的计数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。 在一个完整的嵌入式机系统或单片机最小系统中通常都有看门狗定时器。而且一般集成在处理芯片中,看门狗实际上就是一个定时器,只是它在期满后将自动引起系统复位。 2、S3C44B0看门狗的控制 S3C44B0的看门狗定时器有两个功能: 1)为常规定时器使用,而且可以引发中断; 2)为看门狗定时器使用,期满时,它可以产生128个时钟周期的复位信号。 下图是S3C44B0看门狗的示意图。输入时钟为MCLK,它经过两级分频,最后将分频后的时钟作为该定时器的输入时钟,当计数器期满后可以产生中断或者复位信号。 S3C44B0看门狗电路示意图 看门狗定时器计数值的计算公式如下: t_watchdog=1/(PCLK/(Prescalervalue+1)/Division_factor) 看门狗的定时周期: T=WTCNT*t_watchdog 看门狗定时器相关寄存器如下: 控制寄存器 通过该寄存器,可以使能/禁止看门狗、选择输入时钟源、使能/关闭中断、使能/关闭输出。该寄存器的地址以及各控制位的定义如下: 控制寄存器 数据寄存器 该数据寄存器用于设置看门狗定时器的超时值。在初始的操作中该值不会自动加载到定时器中,首次定时器超时值位期初始值0X8000,以后该寄存器的值会被自动加载到WTCNT寄存器中。一般时该定时器工作在通用定时器模式下时使用。 数据寄存器 计数器寄存器 看门狗的定时器的计数器,它的值表示该寄存器的当前计数值,即到下一次期满还需要经历的时钟数,当该定时器工作在看门狗模式时使用该寄存器,每次期满前需要重新设置其值,以防止发生复位。 计数器寄存器 3、程序解析 1)使能WATCHDOG的代码 rWATCNT=0X1000;/*设置看门狗初始值*/ rWATCON=BIT_WDT_ENABLE|BIT_WDT_RST_ENABLE|BIT_WDT_CLK_SEL| BIT_WDT_PRE_SCALER;/*打开看门狗*/ 其中WDT_CLK_SEL和WDT_PRE_SCALER的值如下: #defineWDT_CLK_SEL(0X3/ 5)在TICK中断中每3秒重置一次WDTCNT的值,检查是否有 复位发生if(tick_index%3==0)rWATCNT=0X1000;/*重新设置看门狗时间值*/ 六、实验步骤 1、仔细阅读实验说明部分,熟悉WATCHDOG的原理; 2、直接用ADS打开已有的工程文件,或者按照实验一中的方法重新建立工程 3、在DebugRel目录下编译源文件。,分析并熟悉程序。. 4、调试运行程序观察程序运行。自行修改程序观察各变量、寄存器等的作用。 看门狗实验 一、实验目的 1.掌握“看门狗”复位控制的硬件接口技术2.掌握“看门狗”复位控制驱动程序的设计方法 二、实验说明 为了控制系统不受外界干扰而出现死机现象,可采用MAX813L复位监控芯片,该芯片具备复位及监视跟踪两大功能。 主要功能: ·精密电源电压、监控·200ms复位脉冲宽度·V1=1V时保证复位RESET有效。·TTL/CMOS兼容的防抖动人工复位输入·独立的监视跟踪定时器溢出时间。·电源故障或欠电压报警的电压监控·加电,掉电有电压降低时输出复位信号。·低电平有效的人工复位输入。
显示全部