匠人参与网友关于“内狗、外狗、软狗”的话题如下:
一般来说,只有外狗是需要额外花钱的。
内狗现在一般的芯片都带了,不花钱。软件狗是一段代码而已,也不花钱。既然不花钱,那不用白不用。所以有人提倡“三狗一起用”。
概率上来说,狗越多,可靠性也就越高。
但是从另一方面来说,系统越复杂,可靠性越低。
所以,谨慎对待。
内狗和主人同吃同住,容易被小偷下药一锅端。呵呵
当然,这是概率上的事情。有时未必能验证。
如果你是司令官,会把自己的卫兵安排在哪里?卧室?还是门外?
俺仍然保留俺的看法。
拿伪劣产品做例子是不妥当的。单片机的制程也未必就一定比看门狗的要强。俺也可以举出相反的例子来。并且俺确实经历过内狗死翘翘的情形。
要比,至少要用同一质量档次的内狗和外狗做对比。
匠人之所以说外狗更可靠。并不是指狗狗本身的可靠,而是是指“位置”上的可靠。这里所说的位置是指它的独立性位置。
因为对于看门狗来说,只有它的独立性越强,那么它的可靠性才越强。
这里所说的独立性包含的意义是指:
1、使用独立的振荡源(曾经见过“伪内狗”,和CPU使用同一振荡源,要死一块死),当然,现在的大多数单片机内狗都是独立的振荡源(尽管那个简陋的RC振荡器质量到底如何还真让人捏把汗)。
2、完全不受主芯片的控制,也就是说,只要通上电,任何时候任何方式都不能被关闭。据我所知有些内狗是可以通过编译选项去关闭的,个别离谱的甚至在程序中还可以用指令去关闭,真是让人晕倒。而另一些内狗则可以通过程序去改变它的溢出时间周期,这都是不够独立的体现。
3、最好的狗,应该是使用独立电源。当然,这个要求有点高,即使一些外狗也未必能享受“开小灶”的贵宾待遇。往往都是从VCC上拉一路电源来凑合。就像生活中的狗吃主人的残汤剩饭一般。但不管如何外狗的电源线是独立在外的,至少还能考虑一些防护措施。而内狗的电源直接在芯片内部与主控芯片连在一起,我们毫无办法,如果遇到电源方面的干扰,又怎能让人放心?
前面有人说到外狗有可能被干扰而误动作重启动,当然,这是完全有可能的。哈哈,谁叫你用带有“疯狗病”的“杂交野狗”看门来着呢?
退一步来说,看门狗的误动作总比不动作要安全一些。误拉警报权当是演习,而漏拉警报是会死人的。