1 / 17

JXARM9-2410 实验系统教案 5.6 看门狗实验

JXARM9-2410 实验系统教案 5.6 看门狗实验. 2014/9/19. 提纲. 实验目的. 1. 实验内容. 2. 预备知识. 3. 4. 实验设备. 5. 基础知识. 6. 实验过程. 7. 实验报告要求. 一 实验目的. 实验目的. 了解 WATCHDOG 的作用 掌握 WATCHDOG 定时器的使用方法. 二 实验内容. 实验内容. 编程添加看门狗功能,观察看门狗作用 编程实现看门狗喂狗. 三 预备知识. 预备知识. 在 ADT1000 开发环境中编写、编译和调试程序 了解看门狗的原理和作用

toya
Download Presentation

JXARM9-2410 实验系统教案 5.6 看门狗实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JXARM9-2410实验系统教案5.6 看门狗实验 2014/9/19

  2. 提纲 实验目的 1 实验内容 2 预备知识 3 4 实验设备 5 基础知识 6 实验过程 7 实验报告要求

  3. 一 实验目的 实验目的 • 了解WATCHDOG的作用 • 掌握WATCHDOG定时器的使用方法

  4. 二 实验内容 实验内容 • 编程添加看门狗功能,观察看门狗作用 • 编程实现看门狗喂狗

  5. 三 预备知识 预备知识 • 在ADT1000开发环境中编写、编译和调试程序 • 了解看门狗的原理和作用 • 学习S3C2410看门狗的使用

  6. 四 实验设备 实验设备 • JX2410教学实验箱 • ADT1000仿真器和ADT IDE集成开发环境

  7. 五 基础知识 看门狗的功能 • 嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现"跑飞",导致整个系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(WATCHDOG)电路。看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。

  8. 五 基础知识 看门狗的工作原理 • 其基本原理为:设本系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti,Ti>Tp,在程序运行一周期后就修改定时器的计数值,只要程序正常运行,定时器就不会溢出,若由于干扰等原因使系统不能在Tp时刻修改定时器的计数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。 • 在一个完整的嵌入式系统或单片机小系统中通常都有看门狗定时器,且一般集成在处理器芯片中,看门狗实际上就是一个定时器,只是它在期满后将自动引起系统复位。

  9. 五 基础知识 S3C2410的看门狗控制器 • 输入时钟为MCLK(该时钟频率等于系统的主频),它经过两级分频,最后将分频后的时钟作为该定时器的输入时钟,当计数器期满后可以产生中断或者复位信号。 • S3C2410的看门狗定时器有两个功能 • 作为常规定时器使用,并且可以产生中断 • 作为看门狗定时器使用,期满时,它可以产生128个时钟周期的复位信号

  10. 五 基础知识 看门狗定时器计数值 • 输入到计数器的时钟周期 t_watchdog = 1/( PCLK / (Prescaler value + 1) / Division_factor ) • 看门狗的定时周期 T = WTCNT * t_watchdog

  11. 五 基础知识 看门狗定时器寄存器 • 控制寄存器(WTCON) • 数据寄存器(WTDAT) • 计数器寄存器(WTCNT)

  12. 五 基础知识 控制寄存器

  13. 五 基础知识 数据寄存器(WTDAT)

  14. 五 基础知识 计数器寄存器(WTCNT)

  15. 五 基础知识 实验说明 • 使能WATCHDOG的代码 rWATCNT = 8448 * 2; /* 设置看门狗初始值 */ rWATCON = BIT_WDT_ENABLE | BIT_WDT_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 */ • 看门狗定时器的时钟周期为(工作主频为60MHZ) t_watchdog = 1/[ PCLK / ((PCLK/1000000-1) + 1) / 128 ] = 0.000128 s; • 将WDTCNT设置为0x1000,其超时时间为 t = 8448 ×2 ×t_watchdog ≈ 2.16 s

  16. 五 基础知识 喂狗 • 使用程序定期的设置WTCNT寄存器,俗称“喂狗 • 继续修改上一次实验的程序,在TICK中断中每秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有复位发生 rWATCNT = 8448 * 2; /* 重新设置看门狗时间值 */ • 在TICK中断中每3秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有复位发生 if(tick_index%3==0) rWATCNT = 8448 * 2; /* 重新设置看门狗时间值 */

  17. 六 实验报告要求 实验报告要求 • 简述WATCHDOG的作用 • 纪录实验现象,说明WATCHDOG的工作原理

More Related