第十八章看门狗定时器
软件看门狗是利用单片机片内闲置的定时器
第21卷第2期 吉林大学学报(信息科学版) V o l121 N o12 2003年5月 JOU RNAL O F J I L I N UN I V ER S IT Y(I N FORM A T I ON SC IEN CE ED IT I ON) M ay2003文章编号:167125896(2003)022*******单片机应用系统中的看门狗技术α胡 屏1,柏 军2(11哈尔滨工业大学威海分校信息与控制工程系,山东威海 264209;21哈尔滨工业大学威海分校计算机科学与工程系,山东威海 264209)摘要:分析研究了单片机应用系统中软件看门狗、单 双时限和强制复位看门狗等几种常见的看门狗技术及具体的实现方法,从提高看门狗工作可靠性的角度,分析了各种看门狗方案的优缺点,给出了基本的硬件电路和软件控制策略,指出了在设计和应用过程中需注意的一些问题。
关键词:单片机;看门狗;抗干扰;X5045看门狗定时器中图分类号:T P39 文献标识码:A引 言随着单片机技术的发展和制造工艺的日益成熟,单片机的应用领域不断拓宽,但由于单片机自身的抗干扰能力较差,尤其是在一些条件比较恶劣,噪声大的场合,常会出现单片机因受外界干扰而导致死机的现象,造成系统不能正常工作。
设置看门狗是防止单片机死机、提高单片机系统抗干扰性的一种重要途径,笔者研究分析了几种较为实用的看门狗技术,供读者参考。
1 软件看门狗软件看门狗是利用单片机片内闲置的定时器 计数器单元作为看门狗,在单片机程序中适当地插入“喂狗”指令,当程序运行出现异常或进入死循环时,利用软件将程序计数器PC赋予初始值,强制性地使程序重新开始运行。
具体实现方法如下。
1)首先在初始化程序中设置好定时器 计数器的方式控制寄存器(TM OD)和定时时间的初值,并开中断。
2)根据定时器的定时时间,在主程序中按一定的间隔插入复位定时器的指令,即插入“喂狗”指令,两条“喂狗”指令间的时间间隔(可由系统时钟和指令周期计算出来)应小于定时时间,否则看门狗将发生误动作。
AT89S51单片机看门狗定时器的使用
}
}
以上程序中系统在做一个无限循环的动作,通过看门狗定时器可以防止程序在执行过程中跑飞。因为只要程序一跑出while()循环,看门狗定时器溢出以后得不到复位,所以自动复位系统,让程序从mian()开始重新运行。
但是在C语言应用看门狗定时器也特别小心,一定要在看门狗定时器启动后的0.016s内喂一次狗。
RL A ;7 2us
JMP LOOP ;8 2us
DELAY: MOV R7,#200 ;9 1us
AT89S51 看门狗定时器由一个14位定时器及WDTRST(地址为6AH)寄存器构成。开启看门狗定时器后,14位定时器会自动计数,每16384(214)个机器周期溢出一次,并产生一个高电平复位信号,使系统复位。对于12MHZ的时钟脉冲每16384us(约0.016s)产生一个复位信号。
如果启动看门狗定时器,当系统超过0.016s没有动作(程序跑飞),看门狗定时器自动复位,让系统归复于正常运作状16s内必须喂狗一次,即对看门狗定时器进行复位,看门狗的启动和复位的方法是一样的。
END ;14 2us
在程序的每个行标号后面是12MHZ时钟脉冲下的指令执行时间,为了让系统正常工作且不死机将看门狗定时器启动指令放在1和2之间,将看门狗定时器复位指令放在11和12之间。
现在一起通过执行时间来计算看门狗定时器复位指令放在那里比较合适。
{ ……;
WDTRST=0x1e;
WDTRST=0xe1;
While(1)
{ WDTRST=0x1e;
WDTRST=0xe1;
……;
……; 这部分执行时间必须少于0.016s
MOV 0A6H,#0E1H ;3 1us
XMC4000中文参考手册-第09章 窗口看门狗定时器(WDT)
9.8.1
初始化和启动操作
系统复位后,需要完成WDT模块的初始化。 • 检查最后一次系统复位的原因,以确定电源状态 - 读出SCU_RSTSTAT.RSTSTAT寄存器位段,确定最后一次系统复位的原因 - 依据最后系统复位的原因执行适当的操作 看门狗软件初始化序列 用SCU_CLKSET.WDTCEN寄存器位段启用WDT时钟 用SCU_PRCLR2.WDTRS寄存器位段释放WDT复位 用WDT_WLB寄存器设置窗口下限 用WDT_WUB寄存器设置窗口上限 配置外部看门狗服务指示(可选,请参阅SCU/HCU章节) 用SCU_WDTCLKCR寄存器选择和启用WDT输入时钟 用SCU_NMIREQEN寄存器在系统级上启用系统陷阱预警报警(可选,仅用在WDT预警 模式) 软件启动序列 - 选择模式(超时或预警)和用WDT_CTR寄存器启用WDT模块 服务看门狗 - 在WDT_TIM寄存器中,对编程时间窗口检查当前定时器值 - 在有效时间窗内,写魔字到WDT_SRV寄存器 9.8.2 重新配置和重新启动操作 - - - - - - -
参考手册 WDT, V2.3
9-3
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图 9-2
无预警复位
图 9-2中描绘的示例场景展示了在有效时间窗口内WDT模块成功服务后产生的两个连续的服务 脉冲。对于没有服务执行的情况,在计数器的值已经超过窗口上限值后立即触发在wdt_rst_req 输出上的复位请求生成。 9.3 预警模式
在预警模式时,溢出事件的作用在有和没有启用预警是不同的。当预警启用时,计数器第一次 超过上限时触发输出报警信号wdt_alarm。只能在下一个溢出产生复位请求。报警状态通过寄 存器WDTSTS指示且通过寄存器WDTCLR清除。清除报警状态将使WDT回到正常状态。报警 信号发送请求到SCU,在那里上报到NMI。
第 章 STC单片机时钟 复位和电源模式原理及实现
注:在STC-ISP软件中推荐选择“低电压时禁止EEPROM操作”前面的复选框。 下面给出与低压检测有关的电源控制寄存器PCON。该寄存器在特 殊功能寄存器地址为0x87H的位置,当上电复位后该寄存器的值为 00110000。
比特 B7
B6
B5
B4
B3
B2
B1
B0
名字
SMOD
SMOD 0
在低压检测复位结束后,不影响特殊功能寄存器IAP_CONTR中 的 SWBS/IAP_CONTR.6 位 的 值 , 单 片 机 根 据 复 位 前 SWBS/IAP_CONTR.6的值选择从用户应用程序区启动,还是从 系统监控区启动。
STC单片机复位
-- 内部低压检测复位
对于5V和3V供电的单片机都提供了内置8级可选的内部低电压 检测门限电压。对于宽电压供电的STC单片机来说,内置了16级可 选的内部低电压检测门限电压值。用户可以根据工作频率和供电电 压,选择合理的门限电压。典型地: 对于5V供电的单片机来说,常温下工作频率大于20MHz时,可
P47=0;
//P4.7置低,灯亮
for(j=0;j<999999;j++);
//软件延迟
IAP_CONTR=0x60;
//软件复位指令
}
注:读者可以进入本书所提供资料的stc_program_example\例子18-2目录下, 打开并参考该设计。
STC单片机复位
--掉电/上电复位
当电源电压VCC低于掉电复位/上电复位检测门限电压时,将单 片机内的所有电路复位。该复位属于冷启动复位的一种。当内部 VCC电压高于掉电复位/上电复位检测门限电压后,延迟32768个时 钟后结束掉电/上电复位过程。当该过程结束后,单片机将特殊功能 寄存器IAP_CONTR中的SWBS/IAP_CONTR.6位置1,同时从系统 ISP监控区启动程序。
看门狗定时器实训报告
本次实训旨在使学生了解看门狗定时器的基本原理、工作方式以及在嵌入式系统中的应用,通过实际操作,掌握看门狗定时器的配置、使用方法,并学会利用看门狗定时器解决嵌入式系统中的故障和异常。
二、实训内容1. 看门狗定时器原理- 看门狗定时器是一种监测硬件或软件故障的定时器,其工作原理是在程序运行过程中不断重装载,以防止溢出引发中断或复位。
- 看门狗定时器分为独立看门狗和窗口看门狗两种类型。
2. 独立看门狗(FWDGT)- 独立看门狗使用独立的32kHz内部时钟,适用于对计时精度要求不高的场合。
- 独立看门狗内部有一个12位的向下计数的定时器,当计数值达到0时,会产生一个系统复位。
3. 窗口看门狗(WWDGT)- 窗口看门狗使用PCLK分频而来的时钟,计数器位数较小,需要在窗口范围内重装载以防复位。
4. 看门狗定时器的配置与使用- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 看门狗定时器的实际应用- 利用看门狗定时器解决嵌入式系统中的故障和异常。
- 通过看门狗定时器监控程序运行状态,防止死锁。
- 作为系统安全特性的一部分,确保在检测到异常时能够安全地重启系统。
1. 准备工作- 准备好实训所需的硬件设备和软件环境,如单片机开发板、调试器、IDE等。
2. 环境搭建- 根据实际需求搭建实训环境,包括硬件电路连接和软件配置。
3. 看门狗定时器配置- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
4. 程序编写- 编写程序,实现看门狗定时器的初始化、重装载和监控功能。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 调试与验证- 使用调试器对程序进行调试,观察看门狗定时器的运行状态。
016:MSP430_WDT看门狗定时器
016:MSP430_WDT看门狗定时器1, 看门狗定时器概述看门狗定时器(WDT)是 MSP430 系列单⽚机中常⽤的⼀种部件。
在⼯业现场,往往会由于供电电源、空间电磁⼲扰或其他原因引起强烈的⼲扰噪声。
这些⼲扰作⽤于数字器件,极易使其产⽣误动作,从⽽失去应有的控制功能,引起 MSP430 发⽣“程序跑飞”事故。
若不进⾏有效的处理,程序就不能回到正常的状态,从⽽失去应有的控制功能。
看门狗定时器正是为了解放这类问题⽽产⽣的,尤其是在具有循环结构的程序任务中更为有效。
在正常操作器件,⼀次 WDT 定时时间到,将产⽣⼀次器件复位。
如果通过编制程序使 WDT 定时时间稍⼤于程序执⾏⼀遍所⽤的时间时,并且程序执⾏过程中都有对看门狗定时器清零的指令,使计数器重新计数,则程序正常执⾏时,就会在 WDT 定时时间到达之前对 WDT 清零,不会产⽣ WDT 溢出,如果由于⼲扰使程序跑飞,则不会在 WDT 定时时间到达之前执⾏ WDT 清零指令,WDT 就会产⽣溢出,从⽽产⽣系统复位 CPU 需⽤重新运⾏⽤户程序,这样程序就可以⼜恢复正常运⾏状态。
MSP430 看门狗除了具有上述系统监测的特定⽤途之外,还可以作为内部定时器来使⽤,当选择的时间到达之后,和其他定时器⼀样产⽣⼀个定时中断。
此外 WDT 还可以被完全停⽌活动以⽀持超低功耗应⽤2 看门狗定时器结构3 看门狗定时器寄存器[1] WDTCTL 看门狗控制寄存器WDTCTL 由两部分组成:⾼ 8 位是对 WDT 操作的控制命令。
要写⼊操作 WDT 的控制命令,出于安全原因必须先正确写⼊⾼字节看门狗⼝令。
⼝令位 5AH,如果⼝令写错将导致系统复位。
读 WDTCTL 时,不需要⼝令,可直接读取地址 120H 中的内容,读出数据低字节位 WDTCTL 的值,⾼字节始终位 69H。
WDTCTL 除了看门狗定时器的控制位之外,还有两个⽤于设置 NMI 引脚功能。
WDTISx:选择看门狗定时器的计时输出其中 T 是 WDTCNT 的输⼊时钟源周期。
EnergyMicro+EFM32系列微控制器看门狗定时器(WDOG)
厦门办事处
E-mail:sales.xiamen@
沈阳办事处
E-mail:sales.shenyang@
产品应用笔记
©2012 Guangzhou ZLG MCU Technology Co., Ltd. ii
广州周立功单片机科技有限公司
看门狗定时器
EFM32 系列微控制器
2.1
基本操作 ................................................................................................................... 4
2.1.1 看门狗使能...........................................................................................................4
广州专卖店
地址:广州市天河区新赛格电子城 203-204 室 电话:(020)87578634 87569917 传真:(020)87578842
南京周立功
地址:南京市珠江路 280 号珠江大厦 1501 室 电话:(025) 68123901 68123902 传真:(025) 68123900
北京周立功
2.1.2 喂狗.......................................................................................................................4
2.2
配置........................................................................................................................... 4
看门狗定时器的使用介绍
看门狗溢出时间
时钟来源
看门狗溢出周期
12kHz(WDTCLK) 32kHz(RTC)
System Frequency/4 注:System Frequency 为 480kHz
2.73066s 1.00000s 0.27306s
总共有三种方法会产生系统复位,如下所示: ·正常操作时由 RES引脚发生复位 ·在暂停模式由 RES引脚发生复位 ·正常操作时由看门狗定时器超时发生复位
但也有可能进入死循环状态。有了 CLR WDT1 和 CLR WDT2 交换使用的功能,就可以避免这种情
况的出现。当程序进入循环后,例如:
LOOP: ……
CLR ……
WDT1
;在 loop 中执行第一句清零 WDT 语句
SZ
……
HT47R20A-1 看门狗定时器(WDT)使用介绍
JMP LOOP
CLR WDT2
;在 loop 后执行第二句清零 WDT 语句
……
第一次执行 CLR WDT1 指令能够清除 WDT,若发生死循环,则循环过程中再次执行 CLR WDT1
指令都不能清除看门狗定时器,因此还是能够产生 WDT 溢出,实现系统复位,从而跳出死循环状
态。
……
wdt_ov:
……
说明
1.CLR WDT 指令和 CLR WDT1 指令的机器码是相同的,即这两条指令是等效的。 2.CLR WDT1 和 CLR WDT2 必须交互使用才能清除看门狗定时器,如果重复使用,则不能清除看
门狗定时器。如:
…… CLR WDT1
;可以清除看门狗定时器的内容
……
CLR WDT2
u
u
0
1
1
看门狗定时器工作原理
看门狗定时器工作原理The working principle of a watchdog timer is essential to the functionality of many electronic devices.看门狗定时器的工作原理是许多电子设备功能的关键。
A watchdog timer is a hardware component that is designed to monitor the operation of a system and take corrective action if necessary. It is commonly used in systems that require a high level of reliability, such as automotive control systems, industrial automation equipment, and medical devices.看门狗定时器是一种硬件组件,旨在监视系统的操作并在必要时采取纠正措施。
它通常用于需要高可靠性的系统,如汽车控制系统、工业自动化设备和医疗设备。
The watchdog timer works by monitoring a specific signal or pattern of activity from the system it is intended to protect. If the monitored activity stops or deviates from the expected pattern, the watchdogtimer will initiate a corrective action, such as resetting the system or triggering an alarm.看门狗定时器通过监视所需保护系统的特定信号或活动模式来工作。
S3C2410X中文数据手册
S3C2410X中文数据手册S3C2410X32位RISC微处理器用户手册第一章产品综述 (5)介绍: (5)1.1特性 (6)体系结构 (6)系统管理器 (6)NAND Flash 启动引导 (7)Cache 存储器 (7)时钟和电源管理 (7)中断控制器 (8)具有脉冲带宽调制功能的定时器 (8)RTC(实时时钟) (8)通用I/O端口 (8)UART (9)DMA控制器 (9)A/D转换和触摸屏接口 (9)LCD控制器STN LCD显示特性 (9)TFT彩色显示屏 (10)看门狗定时器 (10)IIS总线接口 (10)USB主设备 (10)USB从设备 (10)SD主机接口 (11)SPI接口 (11)工作电压 (11)操作频率 (11)封装 (11)1.2 内部结构图 (12)表1-1 272-FBGA引脚分配及顺序 (14)表1-2 272-FBGA封装的引脚分配 (16)表1-3 S3C2410X信号描述 (24)表1-4 S3C2410X特殊功能寄存器 (30)第二章处理器工作模式 (45)2.1 概述 (46)2.2 处理器工作状态 (46)2.3 切换状态 (47)2.4指令长度 (48)2.5操作模式 (48)2.6 寄存器 (49)2.7程序寄存器状态 (51)2.8 异常 (53)第三章 ARM指令集 (59)3.1 指令格式 (60)3.2 条件码 (62)3.3 分支和转换指令(BX) (63)3.4转移及带链接的转移指令(B,BL) (64)3.5 数据处理指令 (65)3.6 PSR 转移指令(MRS,MSR) (71)3.7 乘法及乘加指令(MUL,MLA) (75)3.8 长乘及长乘加指令(MULL,MLAL) (77)3.9单数据传输指令(LDR,STR) (79)3.10半字和带符号的数据传输(LDRH/STRH/LDRSB/LDRSH) (82) 3.11块数据传输(LDM,STM) (87)3.12 单数据传输指令(SWP) (94)3.13 软件中断指令(SWI) (95)3.14 协处理器数据操作(CDP) (97)3.15 协处理器数据传输指令(LDC,STC) (98)3.16 协处理器寄存器传输指令(MRC,MCR) (99)3.17 未定义指令 (99)第五章存储器控制器 (99)5.1 概述 (99)5.2 功能描述 (101)5.2.1 bank0总线宽度 (101)5.2.2 nWAIT引脚的作用 (103)5.2.3 nXBREQ/nXBACK引脚操作 (104)5.3 存储器接口举例 (105)5.4 特殊功能寄存器 (111)5.4.1 总线宽度和等待控制寄存器(BWSCON) (111)5.4.2 总线控制寄存器(BANKCONN:nGCS0-nGCS5) (113)5.4.3 BANK控制寄存器(BANKCONn:nGCS6-nGCS7) (114) 5.4.4 刷新控制寄存器 (115)5.4.5 BANKSIZE 寄存器 (115)5.4.6 SDRAM模式寄存器集寄存器(MRSR) (116)第六章 NAND FLASH寄存器 (117)6.1 概述 (117)6.2 特性 (117)6.2.1 自动导入模式步骤 (118)6.2.3 NAND FLASH存储器时序 (119)6.2.4 管脚配置 (119)6.2.6 NAND Flash存储空间分布 (121)6.3 专用寄存器 (122)6.3.1 NAND FLASH 配置(NFCONF)寄存器 (122)6.3.2 NAND FLASH命令设置(NFCMD)寄存器 (122)6.3.3 NAND flash地址设置(NFADDR)寄存器 (123)6.3.4 NAND FLASH 数据(NFDATA)寄存器 (123)6.3.5 NAND FLASH ECC(NFECC)寄存器 (123)第七章时钟与电源管理 (124)7.1概述: (124)7.2 功能描述 (125)7.2.1 时钟结构: (125)7.2.2锁相环(PLL): (126)7.2.3时钟控制逻辑: (128)7.2.4 加电重启:(XTIpll) (128)7.2.5 USB时钟控制: (130)7.2.7电源管理: (131)7.3 特殊功能寄存器 (138)第8章DMA (141)8.1 概述 (141)8.2 DMA工作过程 (142)8.3 DMA特殊功能寄存器 (146)第九章I/O端口 (152)9.1 概述 (152)9.2 端口功能控制描述 (156)9.3 I/O端口控制专用寄存器 (156)第十章PWM Timer (172)9.1 概述 (172)9.2特性 (173)预定标器和分割器 (174)定时器基本操作 (175)自动加载和双缓冲模式 (175)用手动更新位和逆变器位对定时器进行初始化 (176) 定时器操作步骤: (176)脉宽调制 (177)输出电平控制 (178)死区发生器 (178)DMA请求模式 (179)9.3 PWM定时器专用寄存器 (180)第十一章UART (185)11.1 概述 (185)11.2 UART操作: (186)数据传输: (187)2. 数据接收: (187)3.自动流控制 (187)4.非自动流控制实例(软件控制nRTS及nCTS) (188)5. 中断/DMA请求的产生 (188)6.UART错误状态FIFO (189)7.波特率的产生 (190)8.回环模式 (190)9.红外模式 (191)11.3 UART特殊功能寄存器 (192)第十四章中断控制器 (198)14.1 S3C2410X 中断概述 (198)14.2S3C2410X 中断控制器的操作 (199)14.3S3C2410X 中断源 (199)14.4S3C2410X 中断控制器的特殊功能寄存器 (202) 第十七章RTC (210)17.1 概述 (210)17.2 实时时钟操作 (211)17.3 RTC特殊功能寄存器 (212)第十八章看门狗 (216)18.1 概述 (216)18.2 看门狗定时器特殊功能寄存器 (216)第十九章SD接口 (218)19.1 概述 (218)19.2 SDI特殊功能寄存器 (219)第二十章 IIC (226)20.1 概述 (226)20.2 IIC总线接口 (227)20.3 IIC总线接口特殊功能寄存器 (233)第二十一章IIS总线接口 (235)21.1 概述: (235)21.2 功能描述 (236)21.3 S3C2410X 音频串行接口格式 (236)21.4 S3C2410X IIS接口特殊功能寄存器 (238)第二十二章 SPI (241)22.1 概述 (241)22.2 SPI特殊功能寄存器 (245)第二十三章总线优先权 (248)23.1 概述 (248)23.2 总线优先权 (248)第一章产品综述介绍:本手册描述了三星公司推出的16/32位RISC微处理器S3C2410X。
看门狗定时器的使用流程
看门狗定时器的使用流程简介看门狗定时器是一种用于监控系统运行状态的硬件设备。
当系统出现故障或超时的情况下,看门狗定时器会自动重启系统,以确保系统的稳定运行。
本文将介绍看门狗定时器的使用流程,包括初始化、配置、启动和监控等步骤。
初始化初始化是使用看门狗定时器的第一步。
在使用之前,需要确保系统已经正确连接了看门狗定时器,并且加载了相应的驱动程序。
步骤1.打开终端或命令行界面。
2.使用以下命令初始化看门狗定时器:$ watchdog_init3.检查初始化结果,确保看门狗定时器成功初始化。
配置配置是使用看门狗定时器的关键步骤。
通过配置,可以设置看门狗定时器的超时时间和动作。
步骤1.打开终端或命令行界面。
2.使用以下命令配置看门狗定时器的超时时间:$ watchdog_set_timeout 5这里将超时时间设置为5秒,你可以根据需要进行调整。
3. 使用以下命令配置看门狗定时器的重启动作:$ watchdog_set_action restart这里将重启动作设置为自动重启。
启动启动是使用看门狗定时器的关键步骤。
通过启动,可以使看门狗定时器开始监测系统运行状态。
步骤1.打开终端或命令行界面。
2.使用以下命令启动看门狗定时器:$ watchdog_start3.检查启动结果,确保看门狗定时器成功启动。
监控监控是看门狗定时器的主要功能。
通过监控,可以实时检测系统的运行状态,并在系统超时或故障时进行相应的动作。
步骤1.让系统正常运行。
2.看门狗定时器会定时检测系统的运行状态。
3.如果系统在超时时间内未接收到看门狗定时器的喂狗信号,则看门狗定时器会触发动作,例如自动重启系统。
总结通过以上的流程,我们可以使用看门狗定时器来监控系统的运行状态。
首先,我们需要初始化看门狗定时器,并配置超时时间和重启动作。
然后,启动看门狗定时器,并让其监控系统的运行状态。
在系统发生故障或超时的情况下,看门狗定时器会自动触发相应的动作,以确保系统的稳定运行。
看门狗的计算公式
看门狗的计算公式
【原创实用版】
目录
1.看门狗定时器的概念和作用
2.看门狗定时器的计算公式
3.公式的应用实例
正文
看门狗定时器,也称为监视定时器,是一种电子设备,用于监控系统的运行状态。
当系统出现异常时,看门狗定时器会发出警报或采取其他措施,以保护系统的正常运行。
看门狗定时器广泛应用于计算机、通信设备、工业控制系统等领域。
看门狗定时器的计算公式如下:
看门狗定时时间 = 系统正常运行时间 - 系统异常检测时间
其中,系统正常运行时间是指系统在正常状态下运行的时间,通常根据系统的具体运行参数和要求来设定。
系统异常检测时间是指系统出现异常时,看门狗定时器能够检测到并作出反应的时间,也需要根据系统的具体要求来设定。
例如,假设一个计算机系统的正常运行时间为 10 秒,系统异常检测时间为 2 秒,那么看门狗定时时间为 8 秒。
这意味着,当系统在 8 秒内出现异常时,看门狗定时器会立即发出警报或采取其他措施,以保护系统的正常运行。
第1页共1页。
PIC单片机看门狗定时器和上电延时定时器
寄存器 9-4:
WDTCONINV:看门狗定时器控制取反寄存器 写入时会将 WDTCON 中的选定位取反,读取时获得的值未定义
bit 31 bit 31-0
bit 0 将 WDTCON 中的选定位取反 在一个或多个位中写入 1 会将 WDTCON 寄存器中的相应位取反,但不会影响未实现位或只读位。写 入 0 不会影响该寄存器。 示例:WDTCONINV = 0x00008001 时,会将 WDTCON 寄存器中的 bit 15 和 bit 0 取反。
看门狗定时器和上电延时定时器 SFR 汇总
Bit 31/23/15/7 — — ON — Bit 30/22/14/6 — — — Bit 29/21/13/5 — — — Bit 28/20/12/4 — — — WDTPS<4:0> 写入时会将 WDTCON 中的选定位清零,读取时获得的值未定义 写入时会将 WDTCON 中的选定位置 1,读取时获得的值未定义 写入时会将 WDTCON 中的选定位取反,读取时获得的值未定义 — — — — — — — WDTO — — — SLEEP — — — IDLE — — CM BOR — — VREGS POR Bit 27/19/11/3 — — — Bit 26/18/10/2 — — — Bit 25/17/9/1 — — — — Bit 24/16/8/0 — — — WDTCLR
9
看门狗定时器 上电延时定时器
© 2010 Microchip Technology Inc.
初稿
DS61114D_CN 第 9-1 页
PIC32MX 系列参考手册
9.1 简介
本章介绍 PIC32MX 器件的看门狗定时器(Watchdog Timer,WDT)和上电延时定时器(Power-up Timer, PWRT)模块。 WDT 和 PWRT 的框图请参见图 9-1。 WDT 被使能时,工作于内部低功耗 RC (Low-Power RC, LPRC)振荡器时钟源。 WDT 可用于 检测系统软件故障,如果软件未定期清零 WDT 的话,器件将被复位。可使用 WDT 后分频器选 择各种 WDT 超时周期。 WDT 还可用于将器件从 SLEEP (休眠)或 IDLE (空闲)模式唤醒。 在 PWRT 有效时,它会在正常的上电复位 (Power-on Reset, POR)启动周期完成之后将器件保 持在复位状态 64 毫秒。这可以提供一段额外的时间,让主振荡器(Primary Oscillator,POSC)时 钟源和电源得以稳定。类似于 WDT, PWRT 也使用 LPRC 作为其时钟源。详情请参见图 9-1。 下面列出了 WDT 模块的部分主要特性: • 可配置或由软件控制 • 用户可配置的超时周期 • 可将器件从 SLEEP (休眠)或 IDLE (空闲)模式唤醒 图 9-1: 看门狗定时器和上电延时定时器框图
watch dog timer技术原理
watchdogtimer技术原理在嵌入式系统中,实时时钟(RTC)与看门狗(WatchDog)是两个非常重要的组成部分。
RTC用于提供时间基准和定时功能,而WatchDog则用于系统出现异常情况时的一种保护机制。
今天,我们主要来谈谈看门狗定时器(WatchDogTimer)的基本原理及其在嵌入式系统中的应用。
一、看门狗定时器的基本原理看门狗定时器是一种被动设备,它有一个计数器,当计数溢出时,它会自动复位CPU或者向CPU发送一个中断信号。
如果复位信号没有到达CPU或者CPU没有响应溢出信号,那么这个看门狗定时器就会不断地产生复位信号,导致系统崩溃。
因此,为了防止系统崩溃,我们通常会在程序中设置一个手动复位看门狗定时器的指令,以使系统恢复正常运行。
看门狗定时器可以分为软件看门狗和硬件看门狗两种类型。
软件看门狗通过修改CPU的系统时钟信号来实现其计数功能,硬件看门狗则通过一个独立的定时器芯片来实现其计数功能。
在实际应用中,硬件看门狗更为常见,因为它具有更高的可靠性和稳定性。
二、嵌入式系统中的看门狗定时器嵌入式系统中的看门狗定时器通常被用来保护系统的正常运行。
当系统出现异常情况时,看门狗定时器会自动复位CPU或者向CPU发送一个中断信号,从而避免系统崩溃。
具体来说,嵌入式系统中的看门狗定时器通常有以下几种应用方式:1.嵌入式系统的时钟基准:嵌入式系统的时钟基准通常由RTC和看门狗定时器共同完成。
首先,RTC提供时间基准和定时功能;其次,看门狗定时器用来检测系统是否正常运行。
如果系统出现异常情况,看门狗定时器会自动复位CPU或者向CPU发送一个中断信号,从而保证系统的时钟基准不会出现偏差。
2.嵌入式系统的安全保护:嵌入式系统中的安全保护通常由看门狗定时器和其他的保护机制共同完成。
当系统出现异常情况时,看门狗定时器会自动复位CPU或者向CPU发送一个中断信号,从而避免系统崩溃;同时,其他的保护机制可以用来检测系统的其他异常情况,如电源异常、通信异常等。
看门狗的工作原理和应用
看门狗的工作原理和应用简介看门狗是一种常用的硬件监控机制,主要用于确保系统或设备的稳定运行。
本文将介绍看门狗的工作原理和应用。
工作原理看门狗的工作原理基于定时器和复位机制,其具体流程如下:1.启动定时器:看门狗通过启动一个定时器来计时。
2.监控程序:看门狗监控系统或设备中的关键程序,确保其正常运行。
3.定时器复位:监控程序定时重置定时器的计时。
4.定时器溢出:如果定时器计时超过了预定的时间,即定时器溢出。
5.复位信号:定时器溢出后,看门狗发送一个复位信号给系统或设备。
6.设备重启:系统或设备在接收到复位信号后会进行重启操作,重新启动。
应用场景看门狗的应用非常广泛,在许多领域中发挥着重要的作用。
以下列举了几个常见的应用场景:•嵌入式系统:嵌入式系统通常是长时间运行的,看门狗可以确保系统在长时间运行后仍然稳定,避免死机或其他故障。
•服务器:服务器运行的应用程序往往非常复杂,存在各种潜在的问题,看门狗可以监控服务器的关键进程,及时发现异常情况并进行复位。
•工业自动化:在工业自动化过程中,看门狗可以监控各种设备和传感器,实时检测故障,并进行相应的处理,确保生产过程的稳定进行。
•汽车电子:随着汽车电子的普及和发展,看门狗在汽车电子中也有重要的应用,可以监控汽车各个系统的运行情况,确保汽车的安全和稳定。
•无人机:无人机是一种高度自动化的飞行器,看门狗可以监控无人机的各个部件,检测故障并采取相应的措施,确保飞行安全。
优点看门狗的应用有许多优点,包括:•提高系统的稳定性:看门狗可以监控系统的运行状态,及时发现并处理异常情况,保证系统的稳定性和可靠性。
•自动化处理:看门狗可以自动检测和处理故障,减少人工干预的需求,提高系统的自动化程度。
•快速恢复:一旦发生故障,看门狗可以快速进行复位操作,使系统尽快恢复正常运行。
•灵活性:看门狗可以根据实际需求进行定制,灵活适应不同应用场景。
注意事项在使用看门狗的过程中,需要注意以下几点:•设定合适的定时器时间:定时器时间的设置需要根据具体的应用场景来确定,过短的时间可能会导致频繁的复位,过长的时间则可能会延误故障的处理。
(完整版)单片机原理及应用(第三版)张毅刚课后习题答案完整版
第 1 章思考题及习题 1 参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器 .2. 单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答: CPU、存储器、 I/O 口、总线3. AT89S52 单片机工作频率上限为MHz 。
答: 33 MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1.单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答: B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3.下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B .家用电器的控制 C .数据库管理 D .汽车电子设备答: C三、判断对错1.STC 系列单片机是 8051 内核的单片机。
对2.AT89S52 与 AT89S51相比,片内多出了 4KB的 Flash 程序存储器、 128B 的 RAM、1个中断源、 1 个定时器(且具有捕捉功能)。
对3.单片机是一种 CPU。
错4.AT89S52 单片机是微处理器。
错5. AT89C52 片内的 Flash 程序存储器可在线写入,而AT89S52则不能。
错6. 为 AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片 AT89S51替换。
对7. 为 AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片 AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP 的长处。
对四、简答1.微处理器、微计算机、微处理机、 CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和 CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
看门狗定时器课件
程序对 WATCHDOG 计数溢出的控制 WDT看门狗模式 本程序中,不断对 WDT的看门狗计 数器及时清零, LED不再闪烁,主 要程序运行正常, 看门狗不会使程序 复位, 同时也保证了一旦 程序发生异常,可 以立即恢复到初始 状态
WDT_RESET
#include<msp430f6638.h> void main( void ) { unsigned int i; WDTCTL=WDTPW+WDTHOLD; //关闭看门 狗 P4DIR |=BIT0; P4OUT &=~BIT0; //暗 for(i=0;i<6000;i++); P4OUT |=BIT0; //亮 for(i=0;i<6000;i++); WDTCTL=WDTPW; //启动看门狗 while(1); }
#define __MSP430_HAS_WDT__ SFR_16BIT(WDTCTL); #define WDTIS0 (0x0001) #define WDTIS1 (0x0002) #define WDTSSEL (0x0004) #define WDTCNTCL (0x0008) #define WDTTMSEL (0x0010) #define WDTNMI (0x0020) #define WDTNMIES (0x0040) #define WDTHOLD (0x0080) #define WDTPW (0x5A00) #define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) #define WDT_MDLY_8 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0) #define WDT_MDLY_0_5 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1) #define WDT_MDLY_0_064 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0) #define WDT_ADLY_1000 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL) #define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) #define WDT_ADLY_1_9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) #define WDT_MRST_32 (WDTPW+WDTCNTCL) #define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) #define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) #define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) #define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) #define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) #define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)
watchdog
watchdog 原理看门狗,⼜叫watchdog timer,主要⽤来监控、管理CPU的运⾏状态,并对处于异常状态中的CPU进⾏复位操作,使其能重新⼯作。
看门狗可分为硬件看门狗和软件看门狗两种。
硬件看门狗的主体是⼀个定时电路,并由被监控CPU提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。
CPU正常⼯作时,由于能定时“清狗”,看门狗内的定时器不会溢出。
当CPU出现故障,则不能继续提供“清狗”信号,使得看门狗内定时器不断累加⽽溢出,从⽽触发⼀个复位信号对CPU进⾏复位,使CPU重新⼯作。
软件看门狗原理上⼀样,只是将硬件电路上的定时器⽤处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性⽅⾯不如硬件定时器,⽐如系统内部定时器⾃⾝发⽣故障就⽆法检测到。
当然也有通过双定时器相互监视,这不仅加⼤系统开销,也不能解决全部问题,⽐如中断系统故障导致定时器中断失效。
看门狗本⾝不是⽤来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本⾝的错误。
加⼊看门狗⽬的是对⼀些程序潜在错误和恶劣环境⼲扰等因素导致系统死机⽽在⽆⼈⼲预情况下⾃动恢复系统正常⼯作状态。
看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内是不能正常⼯作的。
同时⼀些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要⼀笔软硬件的开销。
常⽤的看门狗芯⽚有ADM706/MAX706,这两种芯⽚的封装⽅式⼀样,如下图所⽰:1).MR#:Manual-Reset,⼿动复位输⼊信号,低电平有效,当此管脚的输⼊电平低于0.6V 时,会触发Reset#管脚输出⼀个复位信号,此管脚内部有 70uA 上拉电流。
如要不使⽤此管脚,需要将此管脚接到VCC或者悬空,不可接地;2).VCC:芯⽚⼯作电压,接5V或3.3V;3).GND:芯⽚参考地,直接与单板GND相连;4).PFI:Power-Fail Comparator Input,电压监控输⼊管脚,当此管脚的输⼊电压低于1.25 V时,FPO#及Reset#会输出低电平信号;5).PFO#:Power-Fail Output,电压监控输出管脚,当PFI的输⼊电平低于1.25V时,输出低电平,不使⽤此管脚时可将其悬空;6).WDI:Watchdog Input,清狗信号输⼊,WDI遇到⼀个上升沿/下降沿,内部看门狗定时器都将清0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十八章看门狗定时器
概述
S3C2410的看门狗定时器用于当系统被噪声或系统错误等故障打断时返回控制器操作状态。
它可以用作一个普通的16位内部定时器来请求中断。
WDT产生一个128个PCLK周期的复位信号。
特性
—具有中断请求的正常内部定时器模式
—当定时器计数值到达0时产生一个128个PCLK周期的内部复位信号
看门狗定时器操作
图18-1描述了WDT的功能方框图。
WDT只使用PCLK作为其时钟源。
PCLK 频率经过预定标器,然后再进行分频产生相应的WDT时钟。
预定标器的值和分频因数在WDT控制寄存器WTCON中指定,有效的预定标器的值在0-(2的8次方-1)之间,分频因数可选为16、32、64、128。
使用下式计算WDT频率和每个定时器时钟周期的容差
t_watchdog = 1/( PCLK / (Prescaler value + 1) / Division_factor )
WTDAT和WTCNT
一旦WDT使能,WTDAT寄存器的值不能自动加载进WTCNT,因此必须在WDT启动前向WTCNT写入初始值。
调试环境的考虑
当S3C2410在使用嵌入式ICE调试模式时,WDT将自动关闭。
WDT可以通过CPU核心信号--DBGACK判断当前是否处于调试模式,一旦DBGACK信号被断言,WDT的复位输出将会无效,因为看门狗被中止工作。
WDT控制寄存器WTCON
WTCON寄存器允许使能/禁止WDT、选择4个不同的时钟信号源、使能/禁止中断、使能/禁止WDT输出。
WDT用于从故障后复位CPU,如果不需要复位,则应该禁止WDT。
如果希望将WDT用作普通定时器,使能中断并关闭看门狗。
WDT数据寄存器WTDAT
WTDAT寄存器中的值指定溢出的时间。
它不会在初始化WDT时自动加载到WTCNT中,但是用0x8000(初始值)将导致第一次溢出。
这种情况下,WTDAT的值将自动加载到WTCNT中。
WDT计数寄存器
WTCNT显示WDT的当前值。
注意WTDAT的值不会在初始化WDT使能时自动加载到WTCNT中,因此在使能WDT前必须手动设置WTCNT的初始值。