Answers:
如前所述,启用掉电电路通常会增加电流消耗。此外,由于制造商通常希望确保掉电电路会在任何可能足够低的电压下跳闸,从而导致芯片的其他部分正常工作,因此许多部分将能够在较低电压下工作而禁用掉电。例如,在室温下,控制器大部分时间可能会工作至低至1.5伏特,但在某些压力条件下(例如高温),在1.99伏特时可能会发生故障。为确保设备在可能发生故障的任何情况下都能复位,可以将掉电电路设计为在2.1伏+/- 100mV的电压下跳闸。
如果带有此类控制器的设备由两节碱性AA电池供电,则启用掉电电路可能会导致该设备在每电池1.1伏的电池电压下无法使用,并有可能在达到该电压时停止运行每个电池1.05伏。禁用掉电电路可能会使操作降低到至少每个电池0.9伏特,甚至可能降低到每个电池0.75伏特。如果在低电压下没有发生可能的故障,可能会造成更大的伤害,除了增加垃圾电池的电量消耗外,禁用掉电电路也是延长电池寿命的简单方法,即使这并没有减少可用电池的电流消耗。
一切都有公差,因此必须将掉电复位电平设置为一定程度上高于保证芯片正常工作的最小电平。
因此,掉电可能会在芯片发生故障之前就开始起作用。因此,您必须问自己,对于该区域,芯片可能在哪里正常工作,但不确定,您会选择
如果故障的成本不高于完全不工作的成本,则首选第一选择。想一想飞机“黑匣子”上的ping功能。无论如何,只要它有机会发出ping信号,就继续进行下去!
另一方面,考虑触发炸弹或汽车安全气囊。如果由于电源电压低而意外关闭的可能性很小,则最好将其自行关闭。那当然是假设关闭意味着不点燃!
在某些情况下,没有很好的选择。考虑一下臭名昭著的Ariane V火箭首次发射。方向控制计算机发生故障(在这种情况下不是由于低功率引起的)。应该怎么办?继续前进很可能意味着转向错误,而退出意味着根本没有转向,结果是一样的。对于控制掩体中的人来说,火箭可能会潜入:(
正如罗斯所说,对于任务关键型系统而言,备份当然是个好主意。但这将设计问题转移到了该备份上。如果失败了怎么办?(实际上,通常有3台计算机始终处于活动状态,并使用多数票。)在Ariane 5的情况下,主计算机和备用计算机都发生了故障(虽然不是由于其自身的故障,但这是另一回事了。)接下来发生了什么是某个其他系统(也许甚至是控制室中的一个人)检测到一切都失控并触发了自毁。最好让火箭在空中爆炸,然后在海中摔成小块,使其沿某个随机方向继续飞行。
如果您不关心重置(例如,可以信任的用户在事情无法正常进行并且无法损坏的情况下将其关闭然后再打开),并且功耗很重要,那么将其关闭可以节省一些时间微安。(或者,如果您确实在意的话,可以使用比内置的外接电路更好的外部电路)。
如果内部BOR不足以完成任务(例如,公差可能不适当),则也可以将其关闭并使用外部设备。
出于某些目的的一个有趣的要求是,您需要知道最大电压,在该最大电压以下,保证诸如EEPROM之类的东西不能工作,以便BOR可以抑制工作并保证不损坏。对于某些内置的BOR电路,这可能有点微妙。
如果存在BOR无法正常工作的错误,则可以选择禁用BOR。
模块:稳压器
如果发生BOR事件,则设备可能不会退出BOR状态。
如果要减少睡眠模式下的电流消耗。例如,对于ATmega328P,您可以通过关闭BOD将其降低17uA。睡眠时关闭所有其他电源,芯片消耗的电流仅为1.8uA!
(来源:http : //www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/)
在某些情况下,您可能想使用外部定制的掉电电路。
在某些微控制器中,棕点电平的分辨率非常小。
假设您使用µc,其中两个最高欠压电平为4.3 V和2.7 V(在AVR情况下很常见)。您确定在所使用的频率下2.7 V是不安全的。但是,4.3 V会过高,因为它将限制电源故障后的运行时间。
我经常需要使用经常无法连接到外部电源的设备,而不得不依靠电容器或电池生存。欠压电平为4.3 V会导致设备过早关闭。2.7会导致数据损坏。但是,例如,如果3.5 V是安全的掉电水平,则您可能希望制作一个外部掉电电路,该电路可以通过拉动微控制器的复位线来工作。在这种情况下,内部掉电电路没有用,可以禁用。
如果同一系统中有更多处理器,则对所有处理器使用单个外部复位控制器是有意义的。在这种情况下,禁用处理器中的单个掉电检测器不仅有益于节省一些电源的边际优势,而且还需要避免某些处理器处于复位状态而其他处理器仍在运行的情况。