搜索
bottom↓
回复: 29

实际产品中,看门狗的作用到底如何

[复制链接]

出0入0汤圆

发表于 2014-7-6 11:24:09 | 显示全部楼层 |阅读模式
本帖最后由 伍师傅32 于 2014-7-6 11:25 编辑

作为一个学生,到目前为止还没有在实际的项目中使用过看门狗。因为好多时候自己写的程序对时间都没有一个很好的把握,感觉加入看门狗反而容易出问题。

到现在,也从来没有发现过程序跑飞的状况。我想程序跑飞应该是电磁干扰影响的吧,而自己的东西都是在实验室这种环境运行,所以好像问题不大。

前些天,师兄的一个电力设备出了点小故障,其程序中没有加看门狗,他推测是程序跑飞了,而我感觉不是。不知道实际的工业中,对看门狗是怎样的一种态度呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入4汤圆

发表于 2014-7-6 11:41:14 | 显示全部楼层
加入看门狗怎么会更容易出问题呢?

出0入0汤圆

发表于 2014-7-6 11:47:10 | 显示全部楼层
就我个人感觉,看门狗一个是防止程序跑飞,但是实际使用中我还没碰到,就算碰到也不知道。
另一个就是防止程序设计不良导致卡死在死循环中,这个感觉比较有用,小程序都比较好说,如果程序做大做复杂总难免会有点小bug,有看门狗也算加一份保险,不至于死了就好歹也能复位。

出0入0汤圆

 楼主| 发表于 2014-7-6 14:52:28 | 显示全部楼层
wajlh 发表于 2014-7-6 11:41
加入看门狗怎么会更容易出问题呢?

要是某个程序运行的时间不小心超过了看门狗设定的时间,没有及时喂狗,这不就被强行复位了吗

出0入0汤圆

 楼主| 发表于 2014-7-6 14:54:59 | 显示全部楼层
dalarang 发表于 2014-7-6 11:47
就我个人感觉,看门狗一个是防止程序跑飞,但是实际使用中我还没碰到,就算碰到也不知道。
另一个就是防止 ...

我看STM32里有一个窗口看门狗,对程序陷入死循环倒不错。不过我一般的做法都是在一个循环里设置一个超时退出的语句。

出75入88汤圆

发表于 2014-7-6 15:16:35 | 显示全部楼层
看门狗极其有用,特别是在复杂环境的工业控制.
还是当学徒阶段,在师父带领下,做了个项目,现场环境实在太复杂,当时单片机抗干扰能力不行,钳位二极管什么的,各种方式都加上了,还有莫名其妙的程序跑飞现象,后来用了个电容做的,硬件外部看门狗,强制500ms复位一次,才保证系统的稳定运行.
那时后

出0入4汤圆

发表于 2014-7-6 15:24:08 | 显示全部楼层
伍师傅32 发表于 2014-7-6 14:52
要是某个程序运行的时间不小心超过了看门狗设定的时间,没有及时喂狗,这不就被强行复位了吗 ...

首先这个“一不小心超时”肯定是超出了你写程序时的预测, 看门狗就是为了解决这些意外的运行情况,难道你希望程序就一直卡在那里不动? 如果你写程序的时候就知道会超时,那就要在合适的位置增加喂狗语句。

出0入0汤圆

发表于 2014-7-6 15:31:31 | 显示全部楼层
看门狗非常重要,即使你已经非常严谨,程序在运行的时候也可能由于种种原因跑飞(电磁干扰,核辐射,甚至量子效应)。这个时候,如果没有及时妥当的处置(例如复位和初始化),可能已经酿成事故。

出100入101汤圆

发表于 2014-7-6 15:46:54 | 显示全部楼层
复杂的环境,屏蔽最重要,而不是看门狗。严格说,看门狗不应该出现。

出0入0汤圆

 楼主| 发表于 2014-7-6 16:27:52 | 显示全部楼层
bzbs 发表于 2014-7-6 15:16
看门狗极其有用,特别是在复杂环境的工业控制.
还是当学徒阶段,在师父带领下,做了个项目,现场环境实在太复杂 ...

之前实验室在10KV电网下的一个设备,在开关开断的时候也是瞎跑,所以就采用了开关断开一次就强制给单片机复位一下,不过感觉这不是个上策

出0入0汤圆

 楼主| 发表于 2014-7-6 16:36:45 | 显示全部楼层
vows 发表于 2014-7-6 15:31
看门狗非常重要,即使你已经非常严谨,程序在运行的时候也可能由于种种原因跑飞(电磁干扰,核辐射,甚至量 ...

嗯,感觉是非常重要的,不过目前做的东西都是没有在复杂环境下工作的,也不涉及安全问题,所以为了省事,就一直都没有用过

出50入255汤圆

发表于 2014-7-6 20:39:35 | 显示全部楼层
从理论上说,看门狗一般是最后一个保险措施,我们的程序/硬件,应该在没有看门狗的时候,也能够正常运行,不受干扰(按EMC/EMI 标准中的1-4级)。
这个当然会花很多时间、精力、经验、金钱....
所以很多时候,折中的做法,加上看门狗,在干扰测试的情况下,虽然会复位,但复位后可正常运行。(是某个级别的要求,或满足基本的市场要求)。

出0入0汤圆

发表于 2014-7-6 20:49:17 | 显示全部楼层
这货就像汽车的安全气囊。你买车不会买没气囊的车,但同时你也不希望它真的有机会弹出来

出0入0汤圆

发表于 2014-7-6 20:56:01 | 显示全部楼层
工业控制中必须要的,防止死机,产生不可计量的后果。像一般消费类电子个人感觉嘛,可有可无,因为干扰不至于强到那么厉害。

出0入0汤圆

发表于 2014-7-6 21:00:12 | 显示全部楼层
活在当下,谁能预知未来?看门狗就是一个保险,有的人买了保险,一生可能都用不上,但是等用上了,就知道好处了。

出0入0汤圆

发表于 2014-7-6 21:20:49 | 显示全部楼层
温度过高时,个别元件的抗干扰能力下降。手摸一摸都能让MCU跑丢了,这时软件写得再好也无能为力了……
所以看门狗还是有用的,虽然会增加功耗!

出0入0汤圆

发表于 2014-7-6 21:40:49 | 显示全部楼层
如果你的产品就你自己一个人在固定的环境中用,出现问题的概率不大。
如果几百万个产品在不同的环境中使用,你能保证不出问题?  

出0入0汤圆

发表于 2014-7-6 21:50:49 | 显示全部楼层
没用过,不过一般程序都是优化优化,再优化。

出0入0汤圆

发表于 2014-7-6 22:24:02 | 显示全部楼层
一般是写程序时加入看门狗配置和喂狗操作,但是调试阶段不启动看门狗,调试确定程序没问题后再启动看门狗最后确定狗对原来程序没有影响,最后成品。
看门狗就是为了应对实际应用时意外情况导致的运行结果和设计结果不一致的情况。
一般实验使用确实没什么用,但是很多工业用途一出错就是好多好多的money和一大堆事故责任,所以这方面还是要求做得严谨一点的。

出0入0汤圆

发表于 2014-7-7 16:37:44 | 显示全部楼层
现在好的单片机都有内置看门狗,如果有内置看门狗了,还需要加外置看门狗吗?
再有到底内置看门狗可靠性高还是外置看门狗可靠性高?

出0入0汤圆

发表于 2014-7-7 16:56:36 | 显示全部楼层
内置的不如外置的行,有的单片机默认没开启要软件启动,假设上电干扰,没运行到启动狗的地方,程序跑不了,我做过试验,产品要求有接地线,反复开关电源内狗能启动,但是去掉地线,频繁开关总能碰到内狗不启动的问题,当然此时是简单RC复位电路,本身就不很可靠

出0入0汤圆

发表于 2014-7-7 17:06:33 | 显示全部楼层
伍师傅32 发表于 2014-7-6 14:52
要是某个程序运行的时间不小心超过了看门狗设定的时间,没有及时喂狗,这不就被强行复位了吗 ...

所以 这个狗 4个小时饿  我一般 1个小时就喂一下 不会等到3.5个小时 才喂, 这样就不会出错.

程序中 一般不出现WHILE 就不会在那里死等标志 如果一但标志位出错, 就死在那里 狗必叫.

所以 我一般在定时器中喂狗. 要么在MAIN中喂  就得算好

出0入22汤圆

发表于 2014-7-7 17:21:44 | 显示全部楼层
那些内置的 看门狗 都是假狗

出0入0汤圆

发表于 2014-7-21 17:58:39 | 显示全部楼层
实验室产品,没有拿到工程上和工业上用是不会知道 看门狗的作用.在实验室很稳定的产品,在工程上各种干扰下,各种莫名其妙的问题都出现了,程序跑飞是正常的事.量大出来的概率就大.这时候看门狗就很好用了.

出0入0汤圆

发表于 2014-7-21 18:08:38 | 显示全部楼层
bzbs 发表于 2014-7-6 15:16
看门狗极其有用,特别是在复杂环境的工业控制.
还是当学徒阶段,在师父带领下,做了个项目,现场环境实在太复杂 ...

那强制复位一次的话,先前程序的运行数据是不是就不见了?

出0入0汤圆

发表于 2014-7-21 20:33:43 | 显示全部楼层
个人觉得看门狗是一种补全措施,因为对于外界环境来说,不是任何干扰都是你能预测的,这个时候加入看门狗,是为了保证你在没有考虑完全的时候尽量保证程序的正常运行!当然,平常的环境中,这个基本是不需要的

出0入0汤圆

发表于 2014-7-21 21:02:18 | 显示全部楼层
一个最牛的:”因为简单,所以可靠!“。

出0入0汤圆

发表于 2014-7-21 21:23:02 | 显示全部楼层
好吧,没做过复杂环境的设备,没用过看门口。

出0入8汤圆

发表于 2014-7-21 23:17:33 来自手机 | 显示全部楼层
没法去现场就得看门狗来复位了

出0入0汤圆

发表于 2014-7-21 23:23:45 | 显示全部楼层
做产品没用看门狗的很少吧。程序大了,跑飞那是常有的事情。或是有些时候,就是使用过程中不正当的操作也会出问题,所以看门狗很必要。但楼主说用看门狗容易出问题,估计是你没有用对,导致经常被狗咬。看门狗的使用确实需要讲究的,不然可能是经常咬自己。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 16:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表