找回密码
 注册
关于网站域名变更的通知
查看: 833|回复: 1
打印 上一主题 下一主题

为什么要加看门狗?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-13 07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为什么要加看门狗?5 p  B! l) E. [7 _2 P4 @
# s4 ~2 L2 Q9 C

4 G/ g  {& o- ]/ [3 K- z' i! z/ w

1:要讲系统的可靠性,首先要讲系统安全保证机制的可靠性,对于mcu系统来说,养DOG是其中最重要的一条  p; v( M0 `5 R6 c, ?- o6 _2 g

  X; o, U9 v) |, H: \3 c2:很多人可能要讲,我没养DOG,我的系统也很可靠,所以看门狗没有必要。这是一种不需要反驳的观点,从理论上来讲,养狗安全系数肯定会高一些;
+ [0 n+ C% h7 C$ T4 {' O# p' z5 x
  F6 m% b2 n$ D4 P# P. B3:在系统里面养狗,狗本身电路也是存在失效可能性的,在上面有人曾讲到MAX813翘了,这就属于这种情况,MAX813还属于比较好的,过去很多人经常用到的25045,内部集成了EE等资源,这东西不怎的,很容易被干扰得自己挂了。1 i: Y" L# [" t+ A3 |* |- A( n
% o1 j1 ^: Z9 C4 r4 w# k
4:很多人在争执系统里面应该如何养狗,很多人片面的以为狗一定要在主循环里面养才是最好的,在这里不得不说说hotpower的中断养狗论了,当年hotpower为了证明那些人的说法是何其错误,整出了一个中断养狗论,很多人根本没看懂hotpower想要表达的真实含义,从原理上讲,hotpower其实要表达的是:要想养一条忠实听话的好狗,在哪个地方养根本不重要,在哪个地方养都可以达到最好的效果,真正重要的是要注意软体返回的各个路径,在异常的时候,要通过条件互驳,让狗起来看家。
$ o: a8 M2 q/ z5 |& `, f
; E% g  x5 O! Q2 q" Z/ S5:虽然hotpower中断养狗的方法也可以达到比较好的看家效果,但俺却是一个主循环养狗的坚定拥护者,原因无它,第一:主循环养狗简单明了;第二:主循环养狗比较省代码,第三:不管是中断还是主循环养狗,实现条件互驳,这只狗都一样忠实。4 w; [9 ?6 U! p
6:在这里不得不说程序结构,那种流水帐的程序结构,不管是中断还是主循环养狗,结果都是一样:养了一只癞皮狗!关于这一点,如果谁有不同意见,可以提出来讨论讨论
/ h3 M1 [0 q8 E  [7 `9 W
& e3 ?$ @2 ~" o6 L4 }7:这些都做好了有什么用呢?
* K* V% R; h2 B: J% g- t: O# W一个再忠实的狗,也只能是系统的一部分,在矿安产品中有一个说法叫:本安型,也就是本质安全性,当然,MCU系统是无法实现本安性的,所以需要看家的DOG,但系统的根本依然是要努力提高系统本身的安全性,一个再好的看门狗动作处理,也只能是尽量恢复现场,并且,系统也绝不能总是出现保护的行为,如果这样,将是一个不可原谅的设计……2 m4 P8 s, X' Y: }
这就又延伸到电路设计和PCB设计甚至工艺设计等等问题,这不是这个主题帖讨论的范围,所以,俺也不说了……

DOG是为了防止不知道哪天出现的窃贼的,对付已知出现的窃贼,最好的办法就是直接拿棍子轰倒……

对于一个系统,通过测试只是尽可能模拟实际可能出现的干扰,显然:从数学的概率讲,不能涵盖100%的情况,并且,一个产品可能大批量的被众多不同类型用户使用,所以,测试条件的样本抽取本就不可能重现100%现实状况。


! a9 q$ A. i3 Z! e+ [. y4 p

该用户从未签到

2#
发表于 2019-3-13 16:48 | 只看该作者
看看为什么要加看门狗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-4 21:38 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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