看门狗定时器采用哪种方法?


8

我最近了解了看门狗计时器,并且正在尝试为我的电路实现一个计时器,以便在我的(AVR)微控制器挂起时重置它(即,不响应看门狗)。

根据一些研究,在我看来,大约有四个选择:

  1. 将我的微控制器与外部专用看门狗定时器专用IC连接
  2. 将我的微控制器与另一个微控制器(一些非常基本,便宜的微控制器)连接,后者被编码为看门狗计时的唯一专用目的。
  3. 布置我自己的基于555定时器的看门狗电路,并将其连接到我的微控制器。
  4. 在我的微控制器上使用内部看门狗定时器功能

您会使用上述哪种方法排名较高?为什么?

我想根据制作其余设计和代码的某些标准(该设备将是电池供电的周期性温度记录器),将看门狗时间设置为6秒左右。

一点注意:为简单起见,我会选择Option 1,但是根据我发现的那对夫妇,这些零件要么看起来很昂贵(我想要的解决方案最多是1.25美元),要么只允许看门狗计时周期超过2秒。


1
4)便宜又简单。您只是反对不能将其设置为6秒吗?按照微控制器标准,这已经是相当长的时间了
pjc50

1
@ pjc50:绝对便宜:)我相信甚至6秒的计时都是可能的。但是,类似这样的文章建议内部看门狗可能不如专用外部看门狗那么健壮。第6次的原因是,在我的微控制器上,我有一个Arduino引导加载程序,其中包括首次启动时的等待时间为4秒。(我可以学习对此进行重新编程,但是仍然在学习曲线上)
2012年

1
您绝对应该修复引导程序。等待的4秒是您可以省掉4秒钟的额外电池消耗时间。无需等待,例如取样专用引脚,在部署时将其下拉。
伊戈尔·斯科钦斯基

Answers:


14
  1. 正如您已经发现的那样,价格更高。但是,它应该为您提供最高的可靠性:因为看门狗完全独立于微控制器,它仍将继续运行,并且可以在微控制器着火时重置微控制器。见4)
  2. Brian对此表示反对,但是有小包装的廉价微控制器,例如SOT-23中的PIC10F200,您可以将其用作可重触发的MMV(单稳态多谐振荡器),而它实际上是看门狗。如果您考虑使用555,则10F200更好:无需外部零件,计时更准确(准确度为1%)。
  3. 555?认真吗
  4. 如果专用IC过于昂贵,内部看门狗将发挥作用。如果您真的很偏执,可以考虑以下情况:一些硬件错误将锁定微控制器和看门狗。我从来不知道这种情况会发生,但是我不知道你的睡眠状况如何。

pjc50说6秒是很长的时间。一个典型的微控制器在那段时间将执行数千万条指令,然后很多错误就会发生。假设您正在使用PWM控制某些负载,并且低的10%占空比可使功耗保持较低。微控制器变成香蕉,输出停滞在高电平,100%占空比。负载不喜欢它而死。您不想等待6秒钟来实现。您应该在代码的某些部分传递更多的频率。主循环可能短至10毫秒,那么您可以将看门狗的超时设置为100毫秒。如果您每10毫秒对狗踢一次,那么超时意味着您错过了10次!一次,可以,但是十次是灾难,您必须采取行动。负载将在100毫秒(而不是6秒)后关闭,


2
@Nick-很高兴您喜欢它,但实际上我确实花了更多时间写其余的答案:-)。
stevenvh 2012年

1
555计时器有什么问题?:)
贾斯汀(Justin)2012年

3
@Justin-有些人对555信仰:可以解决世界上所有的问题,然后解决555问题。好吧,555用途广泛,典型应用是单稳态和非稳态多谐振荡器,PWM,但这并不是最好的选择。一切。在这个问题/答案中, OP花了几周的时间来设计555电路,以完成一项并非专为完成的任务而设计的电路。可以在一小时内将同一作业编程到微控制器中。我不是在问OP的技能,也不是在问他的方法,我了解他必须使用555 ...
stevenvh 2012年

2
每当有人使用“绝对”这样的词时,我都会被迫寻找一个反例。在这种情况下:与555相比,微控制器对宇宙射线和辐射更敏感,因此,在某些应用中,IMO在可靠性方面最好使用555。
apalopohapa 2012年

2
@apalopohapa-我纠正了。在航天器555中,微控制器可能是更好的选择。当然,由555制成的计算机准确度(猜测)低15个数量级,更大,更耗电,并且用C ++或Ada编程不那么容易... :-)
stevenvh 2012年

5
  1. 看门狗定时器简单,有效,便宜。糟糕的选择。
  2. 额外的微控制器是多余的。它没有帮助,因为您必须对其进行编程,因为它更昂贵,面积更大。
  3. 这很有道理。但是我会改为1。更现代。
  4. 如果可以的话,我会用它。他们唯一的问题是可以将其设置为6秒。

感谢您的比较。虽然唯一的事情是#1似乎并不便宜!我还没有找到任何价格看似低于一美元的看门狗定时器集成电路,但您可能知道,有很多微控制器(选项2)的价格低于0.50美元。
boardbite

2

如果您的电路/设备不能控制至关重要的硬件,则可以使用内部看门狗。否则(或者实际上,无论如何),请查看Jack Ganssle的这两篇精彩文章:

http://www.ganssle.com/watchdogs.htm

http://www.ganssle.com/articles/watchdogsredux.htm

顺便说一句,如果您不能将监视程序设置为较长的​​时间间隔,则可以尝试唤醒足以唤醒监视程序的方法,但只能偶尔进行一次完整的测量/记录日志。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.