看门狗技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
看门狗技术
计算机控制系统容易受干扰而出现死机。虽然概率很小,但是危害极大。
写控制程序时,首先要排除逻辑错误。如果程序本身有隐含错误,则后续的手段只是为不好的基础补补台而已。若故障频繁,在复杂运行环境中,难免顾此失彼,影响效率,甚至不能正常运行。
在程序充分验证后,需要加上看门狗(WDT)技术。程序根据运行的不同阶段,根据所需要的运行时间,合理喂狗,至少下次喂狗之前,狗不至于饿着。也不能喂太饱,万一程序飞了,狗不饿,就不会叫,等它饿了,一切都太晚了,系统因为未能及时恢复而失效。
这里的狗,就是一个时钟完全独立于CPU的一个器件。设置看门狗定时器,定时喂狗,就是基本的动作。找工作时,有的考官会问,应该在那里喂狗?答案给两个选择:主循环或中断。答中断的都错了,因为很多情况下,即使主程序飞了,中断依然能够到达,于是看门狗就形同虚设。
看门狗的关键学问,是要在程序运行的每个步骤中,记录当前的状态和参数,使得看门狗复位后,知道恢复得起点。
成功的系统,不是不死机,而是总能在没人察觉的情况下,又从死机状态恢复。
死机是小概率事件,但是,小概率不等于不发生。但是,既然是小概率问题,它就不会老是发生,因此采取措施后,总能达到满意的效果。
早年做答辩秘书,老师问,计算机死机后怎么办?哥们答:“按复位键!”。几位老师大笑。
在连续控制中,是不可以的依赖人工按复位键的。要人盯着的系统,不能算真正的自动控制系统。因此,许多系统甚至不设复位键。
没有复位键的麻烦是,如果手机死机,并且没有电源开关,我们总要把电池抠出来,但是不会致命。