《(精品)ARM嵌入式软件开发6看门狗实验.ppt》由会员分享,可在线阅读,更多相关《(精品)ARM嵌入式软件开发6看门狗实验.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JXARM9-2410JXARM9-2410实验系统教案实验系统教案实验系统教案实验系统教案5.6 5.6 看门狗实验看门狗实验看门狗实验看门狗实验武汉创维特信息技术有限公司武汉创维特信息技术有限公司 12/26/2022提纲1 13 32 24 45 5基础知识实验目的实验内容预备知识实验设备6 6实验过程7 7实验报告要求2一 实验目的实验目的q了解WATCHDOG的作用q掌握WATCHDOG定时器的使用方法3二 实验内容实验内容q编程添加看门狗功能,观察看门狗作用q编程实现看门狗喂狗4三 预备知识预备知识q在ADT1000开发环境中编写、编译和调试程序q了解看门狗的原理和作用q学习S3C
2、2410看门狗的使用5四 实验设备实验设备qJX2410教学实验箱qADT1000仿真器和ADT IDE集成开发环境 6五 基础知识看门狗的功能q嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现跑飞,导致整个系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(WATCHDOG)电路。看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。7五 基础知识看门狗的工作原理q其基本原理为:设本系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti,TiTp,在程序运行一周期后就修改定时器的计数值,只要程序正常运行,定时器就不会溢出,若由于干扰等原因使系统
3、不能在Tp时刻修改定时器的计数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。q在一个完整的嵌入式系统或单片机小系统中通常都有看门狗定时器,且一般集成在处理器芯片中,看门狗实际上就是一个定时器,只是它在期满后将自动引起系统复位。8五 基础知识S3C2410的看门狗控制器q输入时钟为MCLK(该时钟频率等于系统的主频),它经过两级分频,最后将分频后的时钟作为该定时器的输入时钟,当计数器期满后可以产生中断或者复位信号。qS3C2410的看门狗定时器有两个功能作为常规定时器使用,并且可以产生中断作为看门狗定时器使用,期满时,它可以产生128个时钟周期的复位信号9五 基
4、础知识看门狗定时器计数值q输入到计数器的时钟周期t_watchdog=1/(PCLK/(Prescaler value+1)/Division_factor)q看门狗的定时周期T=WTCNT*t_watchdog10五 基础知识看门狗定时器寄存器q控制寄存器(WTCON)q数据寄存器(WTDAT)q计数器寄存器(WTCNT)11五 基础知识控制寄存器12五 基础知识数据寄存器(WTDAT)13五 基础知识计数器寄存器(WTCNT)14五 基础知识实验说明 q使能WATCHDOG的代码rWATCNT=8448*2;/*设置看门狗初始值*/rWATCON=BIT_WDT_ENABLE|BIT_WD
5、T_RST_ENABLE|BIT_WDT_CLK_SEL|BIT_WDT_PRE_SCALER;/*打开看门狗*/其中WDT_CLK_SEL和WDT_PRE_SCALER的值如下:#define WDT_CLK_SEL(0X3 3)/*1/128*/#define WDT_PRE_SCALER(PCLK/1000000-1)8)/*255 */q看门狗定时器的时钟周期为(工作主频为60MHZ)t_watchdog=1/PCLK/(PCLK/1000000-1)+1)/128 =0.000128 s;q将WDTCNT设置为0 x1000,其超时时间为 t=84482t_watchdog2.16s15五 基础知识喂狗q使用程序定期的设置WTCNT寄存器,俗称“喂狗q继续修改上一次实验的程序,在TICK中断中每秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有复位发生rWATCNT=8448*2;/*重新设置看门狗时间值*/q在TICK中断中每3秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有复位发生if(tick_index%3=0)rWATCNT=8448*2;/*重新设置看门狗时间值*/16六 实验报告要求实验报告要求q简述WATCHDOG的作用q纪录实验现象,说明WATCHDOG的工作原理17
限制150内