什么是看门狗技术有哪些实现方法(看门狗工作原理、应用和设计思路解析)
看门狗又称看门狗定时器,是一种定时器电路。通常,它有一个输入,称为喂狗,一个输出到MCU的RST端子。MCU正常工作时,每隔一段时间向喂狗终端输出一个信号,并复位WDT。如果超过规定时间没有喂狗(通常是程序跑偏的时候),WDT超时会给MCU一个复位信号,这就是MCU复位。预防
这只狗不是另一只狗。
工作原理:系统运行后会启动看门狗计数器,看门狗会自动开始计数。如果一段时间后看门狗未被清零,看门狗计数器将溢出,这将导致看门狗中断和系统复位。所以使用带看门狗的芯片时要注意看门狗。
硬件看门狗使用一个定时器来监控主程序的运行,也就是说,在主程序运行过程中,我们要在预定的时间之前重置定时器。如果有一个无限循环,或者PC指针能不要回来。然后,当计时时间到时,微控制器将被复位。常用的WDT芯片,如MAX813、5045、IMP 813等。价格从4元到10元不等。
软件看门狗技术的原理与此类似,但都是通过软件实现的。我们还是以51系列为例。我们知道51单片机中有两个定时器,我们可以用这两个定时器来监控主程序的运行。我们可以为T0设置一定的定时时间,在定时中断发生时给一个变量赋值,而这个变量在主程序开始时已经有了初始值。这里我们要设置的计时值应该小于主程序的运行时间,这样就可以判断主程序结束时变量的值。如果值按预期变化,说明T0中断正常,如果没有变化,程序将复位。对于我们用来监控主程序运行的T1,我们为T1设置了一定的定时时间,并在主程序中将其复位。如果可以在一定时间内被复位,T1的定时中断将使微控制器复位。这里,T1的计时时间应设置为大于主程序的运行时间,给主程序留有一定的余量。而T1的中断是否正常将由T0定时中断子程序监控。这足以形成一个循环。T0监控T1,T1监控主程序,主程序监控T0,保证了系统的稳定运行。
51系列有一个特殊的看门狗定时器,它计算系统的频率。当定时器溢出时,它将被重置。看门狗可以设置溢出速率,也可以单独用作定时器。
凌阳61 的看门狗比较简单,一是单次,二是在实际使用中,它可以只添加指令来清除循环中的狗。
C8051Fxxx MCU还有一个使用系统时钟的21位定时器,用于检测对其控制寄存器的两次特定写操作之间的时间间隔。如果该时间间隔超过编程限制,将产生WDT复位。
看门狗使用注意事项:大部分51系列单片机都有看门狗,不定期清除看门狗会导致复位。这可以阻止程序飞行。设计人员必须知道看门狗的溢出时间,以决定何时清除看门狗。看门狗不要清理太频繁,否则会造成资源浪费。程序正常运行时,软件每隔一段时间(小于定时器的溢出周期)设置一次定时器,可以防止溢出中断造成的误复位。
Watchdog的应用:Watchdog是恢复系统正常运行的有效监控管理器(可以锁定光驱和任意指定程序,可以在家庭中使用,防止孩子无节制的玩游戏、上网、看文章),具有很好的应用价值。
软件的设计思想看门狗
1.看门狗定时器T0的设置。在初始化块中设置T0的工作模式,启动中断和计数功能。系统的FOSC为12mhz,T0为16位计数器,最大计数值为(2的10次方)-1=65 535,T0的输入计数频率为。Fosc/12,溢出周期为(65 535 1)/1=65 536(s)。
2.计算主控制程序循环一次所需的时间。考虑到系统各功能模块及其循环次数,系统主控程序运行时间约为16.6 ms,设置看门狗定时器T0为30 ms(T0初始值为65 536-30 000=35 536)。主程序的每个周期都会刷新T0的初始值。如果程序输入无限循环并且T0的初始值在30 ms内没有被刷新,那么看门狗定时器T0将溢出并申请中断。
3.设计T0溢出对应的中断服务程序。这个子程序只需要一条指令,就是写无条件转让命令在T0对应的中断向量地址(000BH),把计算机拖回整个程序的第一行,重新初始化单片机,得到正确的执行顺序。
推荐阅读
- alfa romeo车标含义?(阿尔法罗密欧车标)
- 华为鸿蒙os如何操作 华为鸿蒙os2.0系统官网报名入口
- 14款沃尔沃s60l二手车能买吗?(沃尔沃s60为什么贬值厉害)
- power mp3 wma converter(mp3格式转换器)软件介绍(power mp3 wma converter(mp3格式转换器))
- 42岁李贞贤宣布平安生女,网友:歌声击退山贼的那个
- 热火朝天的高铁WiFi迟迟未到(5G能否破局)
- 华为手机性价比最高是哪几款2022? 华为哪款手机性价比高最值得入手
- 进口捷豹全部车型报价?(捷豹报价大全价格表)
- 韩庚江铠同疑相恋,两人同游马尔代夫遭曝光
- 八卦格字帖软件介绍(八卦格字帖)
- 虚拟机 操作系统(操作系统整合:虚拟机管理程序的下一步)
- 比亚迪f6参数配置?(比亚迪f6)
- 奥沙利文获世锦冠军,奥沙利文得了几次世锦赛冠军
- Evel Knievel手游游戏介绍(Evel Knievel手游)
- 索尼wi1000x拆解(SONYNZW-X1000系列高清拆解图集)
- 4座硬顶敞篷跑车都有哪几款?(4门4座硬顶敞篷车推荐)
- 艺术体操团体全能决赛,艺术体操团体全能决赛中国
- 工人物语6通用修改器游戏介绍(工人物语6通用修改器)
- 简述电机换向器的工作原理图(简述电机换向器的工作原理)
- Atheros-AR5007EG无线网卡驱动软件介绍(Atheros-AR5007EG无线网卡驱动)