微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 软件抗干扰经验之二、不要轻信软件狗

软件抗干扰经验之二、不要轻信软件狗

时间:11-22 来源:互联网 点击:
软件抗干扰经验之二、不要轻信软件狗

关于软件狗的讨论,论坛上多矣。

匠人也曾经查阅过许多关于软件狗的文章。有些大师确实提出了一些比较有技巧性的方法。

但是,匠人的忠告是:不要轻信软件狗!

其实,软件狗相当于软件的一种自律行为。一般的思路都是通过设立一个计数器,在计时中断中对其+1,在主程序的适当地方对其清零。如果程序失控了,清零指令未被执行,但中断造常发生,则计数器溢出(狗狗叫了)。

但是这里有个问题:万一干扰导致中断被屏蔽了,那软件狗就永远不会叫了!——针对这种可能,有人提出在主程序中反复刷新中断使能标志,保证不让中断被屏蔽。——但万一程序飞到某个死循环中去了,不再执行“刷新中断使能标志”这一功能了,还是有可能把狗狗活活饿死。

所以,匠人的观点是:看门狗必须拥有独立的计数器。(即硬件看门狗

好在现在好多芯片都提供了内部WDT。这种狗都是自带计数器的。即使干扰导致程序失控,WDT还是会造常计数直到溢出。

当然,匠人也没有要将软件狗一棍子全部打死的意思。毕竟不管是软狗还是硬狗,逮到耗子就是好狗嘛(狗拿耗子——多管闲事?)。如果哪位训狗专家确实养过一条能看门的好软件狗,请牵出来让大伙瞧瞧。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top