单片机(jī)的(de)程序在运行过程中,为(wéi)了(le)增(zēng)加(jiā)系统的可靠性,防止芯片受到外(wài)界干扰而程序(xù)跑飞等系统异常,我们引入看门狗功能(néng),Watch Dog Timer,简称为WDT。如图1。
图1 看门狗监控单片(piàn)机的程序
它(tā)本质上是(shì)一个递(dì)增(zēng)定时(shí)器,它的工作原理很(hěn)简单,当程序开始运行时(shí),看门(mén)狗定(dìng)时器的值从零(líng)开始(shǐ)向上递增,当到(dào)达预设值时(shí),就会强制单片机复(fù)位,使(shǐ)系统程(chéng)序从头开始运行。如图2.
图2 看门狗本质上(shàng)是一个定时器(qì)
那么我们(men)如(rú)何使用它呢?我们(men)的代码中,当看门狗(gǒu)定时器的(de)值即将溢出时将(jiāng)其清零,使它重新从零(líng)开始计数,那么只要程序(xù)正常运行,看门狗就不会强(qiáng)制单(dān)片(piàn)机复位。这(zhè)样就(jiù)实现(xiàn)了看门狗(gǒu)对程序的监控功能。如图3.
图3 清零看懵定时器
上(shàng)述方法实现的(de)是软件看门狗功能,当然,我们也可以搭(dā)建硬件看(kàn)门狗电(diàn)路,同样实(shí)现超时强制单片机复(fù)位的功(gōng)能。他(tā)的思路就(jiù)是不断的给一个电容充电,在电容从满电状态(tài)放电至阈值电压前再次充电,就能保证电(diàn)路不(bú)输(shū)出复位信(xìn)号。从而实现硬件(jiàn)看门狗(gǒu)功能。如图4.
图4 不断给电容充电(diàn)
图5为电(diàn)路(lù)原(yuán)理(lǐ)图,它由两个与非门外加阻容器件(jiàn)串(chuàn)联而成。
图5 硬件看(kàn)门狗电路
当我们(men)给第1引脚一个低电平,也就是(shì)喂狗的时候,A与非门输出高(gāo)电平,此时电(diàn)容C两端(duān)开始(shǐ)充(chōng)电。同时,与(yǔ)非门B的两个输入端电平为高,那么输出(chū)端(duān)第4引脚就为(wéi)低电(diàn)平,不产生(shēng)复位动作。如图6.
图6 不产(chǎn)生(shēng)复位(wèi)信号
喂狗操(cāo)作完毕之后,第1引脚为高电平(píng),那么,A与非门输(shū)出低电(diàn)平,此时电(diàn)容C开始放电,当电(diàn)容C的电量低于(yú)阈值时,第五,六引脚电平(píng)为低,则第4引脚(jiǎo)输出高电平(píng),产生复(fù)位。如图7。图(tú)8为产(chǎn)生复(fù)位时的时序(xù)图。
图7 产生复位信号
图8 复位时序(xù)
我(wǒ)们(men)需要操(cāo)作(zuò)的是在电容(róng)C放(fàng)电至阈值的时间段内给第1引脚一个低电平,也就是喂狗操作(zuò),保证第4引脚持续输出低(dī)电平,这(zhè)样就实现了看门狗对电路(lù)的(de)监控功能。如图(tú)9.
图9 正(zhèng)常情况下不产生复位(wèi)的时序图
客服QQ1:63355785 客服QQ2:61303373 客服QQ3:67399965 客服(fú)QQ4:2656068273 产品分类地图
版权所有:保定市hth和禾邦电子有限公司 保定市hth和禾邦电子有(yǒu)限公司营(yíng)业执照

关键字:保定电子元器件 保定电子元(yuán)件 电(diàn)子元器件 电子元件(jiàn)