在什么情况下,微控制器上的掉电检测功能应保持关闭状态?


33

当微控制器上的电源降到某个阈值以下时,就会出现掉电情况,并且RAM存储器可能会损坏。如果电路的每个掉电顺序都可能意味着潜在的掉电情况,那么在使用微控制器时,我总是启用掉电检测复位机制。

我想知道是否在某些情况下不建议启用掉电复位功能?


4
欠压检测器还可能消耗微功率应用中应考虑的电流。
HL-SDK

鉴于答案中所述的BO检测的各种弊端,请同时考虑以下几点:您能否在您的特殊情况下证明任何自定义确定性?在某些情况下,您可以保证供应充足或完全停电=>保存BOD的资源
标记

Answers:


11

如前所述,启用掉电电路通常会增加电流消耗。此外,由于制造商通常希望确保掉电电路会在任何可能足够低的电压下跳闸,从而导致芯片的其他部分正常工作,因此许多部分将能够在较低电压下工作而禁用掉电。例如,在室温下,控制器大部分时间可能会工作至低至1.5伏特,但在某些压力条件下(例如高温),在1.99伏特时可能会发生故障。为确保设备在可能发生故障的任何情况下都能复位,可以将掉电电路设计为在2.1伏+/- 100mV的电压下跳闸。

如果带有此类控制器的设备由两节碱性AA电池供电,则启用掉电电路可能会导致该设备在每电池1.1伏的电池电压下无法使用,并有可能在达到该电压时停止运行每个电池1.05伏。禁用掉电电路可能会使操作降低到至少每个电池0.9伏特,甚至可能降低到每个电池0.75伏特。如果在低电压下没有发生可能的故障,可能会造成更大的伤害,除了增加垃圾电池的电量消耗外,禁用掉电电路也是延长电池寿命的简单方法,即使这并没有减少可用电池的电流消耗。


22

一切都有公差,因此必须将掉电复位电平设置为一定程度上高于保证芯片正常工作的最小电平。

因此,掉电可能会在芯片发生故障之前就开始起作用。因此,您必须问自己,对于该区域,芯片可能在哪里正常工作,但不确定,您会选择

  • 让芯片正常工作并希望最好的芯片(它可能会起作用!),或者
  • 使芯片由欠压电路复位(并保持复位状态)。

如果故障的成本不高于完全不工作的成本,则首选第一选择。想一想飞机“黑匣子”上的ping功能。无论如何,只要它有机会发出ping信号,就继续进行下去!

另一方面,考虑触发炸弹或汽车安全气囊。如果由于电源电压低而意外关闭的可能性很小,则最好将其自行关闭。那当然是假设关闭意味着不点燃!

在某些情况下,没有很好的选择。考虑一下臭名昭著的Ariane V火箭首次发射。方向控制计算机发生故障(在这种情况下不是由于低功率引起的)。应该怎么办?继续前进很可能意味着转向错误,而退出意味着根本没有转向,结果是一样的。对于控制掩体中的人来说,火箭可能会潜入:(


正如罗斯所说,对于任务关键型系统而言,备份当然是个好主意。但这将设计问题转移到了该备份上。如果失败了怎么办?(实际上,通常有3台计算机始终处于活动状态,并使用多数票。)在Ariane 5的情况下,主计算机和备用计算机都发生了故障(虽然不是由于其自身的故障,但这是另一回事了。)接下来发生了什么是某个其他系统(也许甚至是控制室中的一个人)检测到一切都失控并触发了自毁。最好让火箭在空中爆炸,然后在海中摔成小块,使其沿某个随机方向继续飞行。


对于火箭弹情况,最好的解决方案是拥有一台备份计算机,以备万一第一个发生故障时将接管并关闭第一台计算机,对吧?
罗斯·艾肯

添加了一些文字
Wouter van Ooijen 2014年

实际上,Ariane 5的故事要复杂得多,而错误处理是导致失败的部分原因。esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue 2014年

1
不,不是错误处理的原因。它使用的是经过验证的系统(它在Ariane 4上飞行过),其数据超出了原始规格,而没有使用新数据进行测试。(这类测试原本是计划中的,但后来被废除在降低成本的计划中;)
Wouter van Ooijen 2014年

10

如果您不关心重置(例如,可以信任的用户在事情无法正常进行并且无法损坏的情况下将其关闭然后再打开),并且功耗很重要,那么将其关闭可以节省一些时间微安。(或者,如果您确实在意的话,可以使用比内置的外接电路更好的外部电路)。

如果内部BOR不足以完成任务(例如,公差可能不适当),则也可以将其关闭并使用外部设备。

出于某些目的的一个有趣的要求是,您需要知道最大电压,在该最大电压以下,保证诸如EEPROM之类的东西不能工作,以便BOR可以抑制工作并保证不损坏。对于某些内置的BOR电路,这可能有点微妙。


10

如果存在BOR无法正常工作的错误,则可以选择禁用BOR。

模块:稳压器

如果发生BOR事件,则设备可能不会退出BOR状态。

请参见PIC32MX534 / 564/664/764系列硅勘误表中的第15版和数据手册的说明


8
哎哟。这个可爱的勘误表属于哪一部分?
Spehro Pefhany 2014年

1
这样的东西如何进入生产?
马特·杨

1
那真好笑。搞笑的意思是犯罪。
伊格纳西奥·巴斯克斯

1
特定的器件是PIC32MX664F,并且只有某些芯片版本。在大多数情况下,它通常每20倍左右不会退出BOR一次。
mjcopple 2014年

@Matt Young:因为大多数使用这些PIC微控制器,所以BOR仅可在您拔出插头时在有机硅开始执行随机指令之前将其关闭。如果ROM中有一个重新刷新例程,则可能会尝试在不存在BOR的情况下使用垃圾进行自身刷新。
约书亚


2

在某些情况下,您可能想使用外部定制的掉电电路。

在某些微控制器中,棕点电平的分辨率非常小。

假设您使用µc,其中两个最高欠压电平为4.3 V和2.7 V(在AVR情况下很常见)。您确定在所使用的频率下2.7 V是不安全的。但是,4.3 V会过高,因为它将限制电源故障后的运行时间。

我经常需要使用经常无法连接到外部电源的设备,而不得不依靠电容器或电池生存。欠压电平为4.3 V会导致设备过早关闭。2.7会导致数据损坏。但是,例如,如果3.5 V是安全的掉电水平,则您可能希望制作一个外部掉电电路,该电路可以通过拉动微控制器的复位线来工作。在这种情况下,内部掉电电路没有用,可以禁用。

如果同一系统中有更多处理器,则对所有处理器使用单个外部复位控制器是有意义的。在这种情况下,禁用处理器中的单个掉电检测器不仅有益于节省一些电源的边际优势,而且还需要避免某些处理器处于复位状态而其他处理器仍在运行的情况。


1
我知道您没有选择AVR,但我不得不提一提:1)不同的AVR线路具有不同的BOR阈值,以及2)AVR在nRESET上使复位信号在外部可见,因此,如果您非常小心,可以使用一个作为重置控制器。
伊格纳西奥·巴斯克斯

1

由于正在使用的微控制器上的硅片存在错误,因此在启动的一部分期间,我们不得不关闭VBOR并重新打开。给电压泵上的盖子充电会暂时使设备排空至刚好超过最小值,并且VBOR会持续跳闸。因此,我们在加电期间关闭了VBOR,并在大约10ms后将其打开。

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.