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

关(guān)键字:保定(dìng)电子元器(qì)件 保(bǎo)定电子元件 电子元器件 电(diàn)子元件(jiàn)