¿En qué situación debo mantener la función de detección de oscurecimiento desactivada en un microcontrolador?

33

Cuando la fuente de alimentación en un microcontrolador cae por debajo de un cierto umbral, se produce una disminución de la capacidad y la memoria RAM puede corromperse. Siempre que cada secuencia de apagado del circuito pueda significar una posible condición de caída de voltaje, siempre habilito el mecanismo de restablecimiento de detección de caída de voltaje cuando trabajo con microcontroladores.

Me preguntaba si hay situaciones en las que no se recomienda habilitar la función de reinicio de Brown-out.

m.Alin
fuente
44
Los detectores de apagón también pueden consumir corriente que debe tenerse en cuenta para las aplicaciones de micropotencia.
HL-SDK
Dados los diversos inconvenientes de la detección de BO indicados en las respuestas, considere esto también: ¿Puede proporcionar alguna certeza personalizada en su caso particular? En ciertos casos, podría garantizar un suministro suficiente o un apagón completo => guardar los recursos para DBO
Marque el

Respuestas:

11

Como se señaló, habilitar el circuito de disminución de voltaje a menudo aumentará el consumo de corriente. Además, debido a que los fabricantes generalmente quieren asegurarse de que el circuito de caída de voltaje se dispare con cualquier voltaje que pueda ser lo suficientemente bajo como para hacer que funcionen otras partes del chip, muchas partes podrán operar a un voltaje más bajo con la reducción de voltaje desactivada . Por ejemplo, un controlador podría funcionar la mayor parte del tiempo hasta 1,5 voltios a temperatura ambiente pero, bajo ciertas condiciones estresantes (como temperatura elevada) podría funcionar mal a 1,99 voltios. Para asegurarse de que el dispositivo se reinicie en cualquier condición en la que pueda ocurrir un mal funcionamiento, el circuito de caída de voltaje podría estar diseñado para dispararse a 2.1 voltios +/- 100mV.

Si un dispositivo con dicho controlador funcionara con dos baterías alcalinas AA, habilitar el circuito de caída de voltaje puede hacer que el dispositivo quede inutilizable con un voltaje de batería de 1.1 voltios por celda, y es probable que deje de funcionar para cuando el voltaje alcance 1.05 voltios por celda. La desactivación del circuito de caída de voltaje probablemente extendería la operación a al menos 0.9 voltios por celda, y posiblemente incluso 0.75 voltios por celda. Si no hay un mal funcionamiento posible que pueda ocurrir a bajo voltaje podría causar algún daño más allá del aumento de la descarga de las baterías basura, deshabilitar el circuito de caída de voltaje sería una forma simple de mejorar la vida útil de la batería, incluso si no reduce el consumo de corriente de las baterías utilizables.

Super gato
fuente
22

Todo tiene tolerancias, por lo que el nivel de reinicio de oscurecimiento debe establecerse un poco por encima del nivel mínimo en el que se garantiza que el chip funcione correctamente.

Por lo tanto, el oscurecimiento podría comenzar mucho antes de que el chip no funcione correctamente. Por lo tanto, debe preguntarse, para esta región, dónde el chip podría funcionar bien pero no puede estar seguro, ¿elegiría

  • dejar que el chip funcione y esperar lo mejor (¡podría funcionar!), o
  • para permitir que el chip se reinicie (y se mantenga reiniciado) por el circuito de caída de voltaje.

Si el costo del mal funcionamiento no es mucho mayor que el costo de no funcionar en absoluto, se preferirá la primera opción. Piense en la función de ping en la 'caja negra' de un avión. ¡De todos modos, déjalo continuar si hay la más mínima posibilidad de que dé un ping!

Por otro lado, considere la activación de una bomba o un airbag de automóvil. Si existe la más mínima posibilidad de que se dispare por accidente debido a un bajo voltaje, es mejor que se apague solo. ¡Eso, por supuesto, supone que cerrar los medios significa no encender!

Hay situaciones en las que no hay una buena opción disponible. Considere el infame primer lanzamiento del cohete Ariane V. Las computadoras de control de dirección no funcionaron correctamente (en este caso, no debido a baja potencia). Que debe hacer Seguir adelante probablemente significa conducir en la dirección equivocada, pero dejar de fumar significa no dirigir en absoluto, lo que tiene el mismo resultado. Tampoco es una buena perspectiva para las personas en el búnker de control que el cohete pueda entrar :(


Como comenta Ross, una copia de seguridad es, por supuesto, una buena idea para un sistema de misión crítica. Pero eso cambia el problema de diseño a esa copia de seguridad. ¿Qué pasa si eso falla? (En la práctica, a menudo hay 3, activos todo el tiempo, utilizando un voto mayoritario). En el caso del Ariane 5, fallaron tanto las computadoras primarias como las de respaldo (aunque no por su propia culpa, pero esa es otra historia). fue que algún otro sistema (tal vez incluso un humano en la sala de control) detectó que todo estaba fuera de control y desencadenó la autodestrucción. Es mejor que el cohete explote en el aire y se caiga en pedazos pequeños en el mar para que continúe su vuelo en una sola pieza en una dirección aleatoria.

Wouter van Ooijen
fuente
Para la situación del cohete, la mejor solución es tener una computadora de respaldo que se haga cargo en caso de que la primera falla, y la primera se apague, ¿verdad?
Ross Aiken
texto agregado
Wouter van Ooijen
En realidad, la historia de Ariane 5 es mucho más complicada, y el manejo de errores fue parte de la razón del fracaso. esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue
1
No, el manejo de errores no fue la causa. Fue el uso de un sistema probado (había volado en Ariane 4) con datos fuera de sus especificaciones originales sin probarlo con los nuevos datos . (Tales pruebas fueron originalmente planificadas, pero luego desechadas en un programa de reducción de costos;)
Wouter van Ooijen
10

Si no le importa el reinicio (por ejemplo, se puede confiar en el usuario para que lo apague y vuelva a encender si las cosas no funcionan perfectamente, y no es posible dañarlo) y el consumo de energía es importante, apagarlo puede ahorrar algo microamperios (o si le importa, puede usar un mejor circuito externo que el que está integrado).

Si el BOR interno es inadecuado para la tarea (las tolerancias pueden no ser apropiadas, por ejemplo), entonces también puede apagarlo y usar algo externo.

Un requisito interesante para algunos propósitos es que necesita saber el voltaje máximo por debajo del cual se garantiza que cosas como las EEPROM no funcionen, para que el BOR pueda inhibir la operación y no garantizar la corrupción. Eso podría ser un poco sutil para algunos circuitos BOR incorporados.

Spehro Pefhany
fuente
10

Puede optar por desactivar el BOR si hay un error en el que el BOR no funciona correctamente.

Módulo: regulador de voltaje

El dispositivo no puede salir del estado BOR si se produce un evento BOR.

Consulte el número 15 en PIC32MX534 / 564/664/764 Errata de silicio familiar y aclaración de la hoja de datos .

mjcopple
fuente
8
Ay. ¿A qué parte pertenece esta hermosa errata?
Spehro Pefhany
1
¿Cómo llega algo así a producción?
Matt Young
1
Eso es hilarante. Y por hilarante me refiero a casi criminal.
Ignacio Vazquez-Abrams
1
The particular device was the PIC32MX664F and only some silicon revisions. Most of the time it would exit BOR normally only once out of every 20 or so times it would not.
mjcopple
@Matt Young: Because most uses of these PIC microcontrollers, BOR only exists to shut it down before the silicone starts executing random instructions when you pull the plug. If you have a reflash routine in ROM, it's possible for it to attempt to flash itself w/ garbage if BOR didn't exist.
Joshua
2

There are situations where you might like to use an external, custom-built brown-out circuit instead.

There are microcontrollers where the resolution of brown-ot levels is quite small.

Let's assume you work with a µc where the two highest brown-out levels are 4.3 V and 2.7 V (common in case of AVR). You have determined that at the frequencies you use, 2.7 V is unsafe. However, 4.3 V would be too high, as it would limit the length of running time after a power fail.

I often have to work with devices which can frequently lose connection to the external power supply and then have to survive on capacitors or batteries. Having a brown-out level of 4.3 V would lead to the device switching off too soon. 2.7 would lead to data corruption. However, if for example, 3.5 V would be a safe brown-out level, you might want to make an external brown-out circuit which works by pulling the reset line of your microcontroller. In this case the internal brown-out circuit is of no use and can be disabled.

In case you have more processors in the same system, it makes sense to use a single external reset controller for all of them. In this case, disabling the individual brown-out detectors in the processors is not only useful for the marginal advantage of saving some power, but is required to avoid the situation where some processors are in reset and others are still running.

vsz
fuente
1
I know you're not picking on AVR, but I feel compelled to mention that 1) different AVR lines have different BOR thresholds, and 2) AVRs make the reset signal externally visible on nRESET so if you're very careful you can use one as a reset controller.
Ignacio Vazquez-Abrams
1

We had to toggle the VBOR off and back on during one part of startup due to a bug in the silicon on the microcontrollers we were using. Charging up the caps on the voltage pump would drain the device to momentarily just above minimums and the VBOR kept tripping. So we turned off the VBOR during powerup and turned it on about 10ms later.

Joshua
fuente