在工业应用中,绝大多数应用系统都会用到看门狗(Watch Dog Timer)。在工业控制/汽车电子/航空航天等高可靠系统中,为了防止系统在异常情况下受到干扰导致MCU长时间异常工作、程序跑飞,通常是引进看门狗。如果CPU不在规定时间内访问看门狗,看门狗就认为系统出了问题,会强制将系统进行复位,使系统从头开始执行程序。现在绝大多数的单片机都支持看门狗功能,例如STC89C52、STM32等。STC89C52单片机有专门的看门狗寄存器WDT_CONTER,配置相应的位即可启动看门狗。
看门狗
复位原理
无论使用上面的哪种复位方式,其本质都是在操作RST复位引脚。用8051单片机按键复位方式的图来说明复位电路的原理。8051单片机的RST引脚只需要保持2个机器周期的高电平即可产生复位。利用电容电压不可突变的性质,适当选取电容充放电的参数(电容值、电阻值)即可达到要求。刚开始上电时,由于电容电压(0V)不能突变,所以电容两端电压为0V,RST此时的电压为VCC。电容慢慢充电,充电结束后,电容两端的电压为VCC,所以此时RST的电势为0V。电容的这一段充电时间要大于单片机的2个机器周期。
软件复位和看门狗复位方式的原理都是使RST的高电平持续时间能够维持2个机器周期。
/*****************************************分析 一***********************************************/ 一、高电平复位 复位电路的工作原理 在书本上有介绍,51...在单片机系统中,系统上电启动的时候复位...
/*****************************************分析 一***********************************************/
一、高电平复位
复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
(1)、上电复位
在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
(2) 按键复位
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
总结: 1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。 2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。
二、低电平复位
在使用STM32芯片时,常用的复位方式为按键复位,且为低电平复位。其原理与上述高电平复位相反,分析也挺简单,这里不在赘述,只给出按键复位原理图。
/**************************************************分析二*********************************************/
单片机的复位引脚RST(全称RESET)出现2个机器周期以上的复位电平时,单片机就执行复位操作。如果RST持续为复位电平,单片机就处于循环复位状态。当单片机处于正常电平时就正常转入执行程序。
图1:当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为低电平,之后随着时间推移电源通过电阻对电容充电,充满电时RST为高电平。正常工作为高电平,低电平复位。即上电低电平,然后转向高电平。
图2:当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。正常工作为低电平,高电平复位。
当单片机工作过程中,按下复位键,那么RST为高电平,单片机复位。 单片机的两种复位状态的区别:上电复位后,单片机就进入初始化状态,片内RAM为随机值;运行过程中,通过复位键复位,单片机进入复位状态,但是...
它的基本原理是当单片机上电时,电容短时间内可以看做短路,RST为高电平,从而实现单片机的复位;当单片机工作过程中,按下复位键,那么RST为高电平,单片机复位。
单片机的两种复位状态的区别:上电复位后,单片机就进入初始化状态,片内RAM为随机值;运行过程中,通过复位键复位,单片机进入复位状态,但是RAM值保持为复位前的状态,即复位不会引起RAM的改变。
转载于:https://www.cnblogs.com/amanlikethis/p/3345810.html
查找资料发现STM8单片机的复位源总共有9种 NRST引脚产生的外部复位 上电复位(POR) 掉电复位(BOR) 独立看门狗复位 窗口看门狗复位 软件复位 SWIM复位 非法操作码复位 EMS复位:当一些关键...
最近在调试系统的时候,发现单片机老是复位,于是想着用程序来判断一个单片机的复位信号是来自于哪里。查找资料发现STM8单片机的复位源总共有9种
NRST引脚产生的外部复位
上电复位(POR)
掉电复位(BOR)
独立看门狗复位
窗口看门狗复位
软件复位
SWIM复位
非法操作码复位
EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位
但是这9种复位源通过复位寄存器能看到的只有5种
复位状态寄存器(RST_SR)
位7:5 保留,必须保持为0。
位4 EMCF:EMC复位标志
位3 SWIMF:SWIM复位标志位
位2 ILLOPF:非法操作码复位标志位
位1 IWDGF:独立型看门狗复位标志位
位0 WWDGF:窗口型看门狗复位标志位