Categories: NoticiasTecnología

¿Qué es el restablecimiento de Brown Out en microcontroladores? Cómo prevenir fallas de energía falsas

Brown Out Reset es una función importante para aumentar la confiabilidad de un microcontrolador después del arranque. Normalmente utilizado para resolver problemas con la fuente de alimentación, este artículo muestra cómo Brown Out Reset puede prevenir otro problema.

Revisión de Brown Out Reset

Un "apagón" de un microcontrolador es una reducción parcial y temporal en el voltaje de la fuente de alimentación por debajo del nivel requerido para una operación confiable. Muchos microcontroladores tienen un circuito de protección que detecta cuándo el voltaje de suministro cae por debajo de este nivel y pone el dispositivo en un estado de reinicio para garantizar un arranque adecuado cuando vuelve la energía. Esta acción se llama "Restablecimiento de Brown Out" o BOR. Una característica similar se llama Detección de bajo voltaje (LVD), que es más compleja y agrega detección de múltiples niveles de voltaje y puede producir una interrupción antes de que se active un reinicio.

BOR a menudo está habilitado por un bit en un registro de control. Normalmente, un bit de estado se establece cuando el BOR provoca un reinicio. Este bit de estado sobrevive al reinicio (si la energía no baja demasiado) y permite que el programa detecte el problema y realice una recuperación adicional o registre el evento.

¿Qué sucede si el BOR está deshabilitado? Aquí hay una representación de un voltaje de suministro de energía que cae constantemente. Quizás esta sea una fuente de alimentación deteriorada o una batería descargada.

V1 es el voltaje normal de la fuente de alimentación. V2 es el punto donde el microcontrolador puede no funcionar de manera confiable. Muestro V3 como un punto donde la operación se detiene por completo. Entre V2 y V3 hay una "zona de peligro" donde las cosas pueden salir mal y la operación no es confiable. El dispositivo podría funcionar correctamente durante años mientras la fuente de alimentación entra y sale de la zona de peligro y luego, ¡bam !, hay una falla. El nivel de BOR se establece por encima de V2 y reemplaza la zona de peligro con un reinicio del dispositivo. El reinicio no es bueno pero (generalmente) mejor que incierto. A continuación, relato una situación en la que la fuente de alimentación funcionaba normalmente, pero BOR se utilizó para resolver un problema diferente.

Encontrar otro uso para el reinicio de Brown Out (The Hard Way)

Diseñé un circuito que contiene un microcontrolador PIC y 18 reguladores de voltaje en un módulo que controla + 5V de potencia a 18 sensores de luz. Doce módulos controlaron los 204 sensores en una matriz. Los módulos son parte de un sistema de óptica adaptativa en un gran telescopio astronómico en Mauna Kea en Hawai. Aquí está el interior de un módulo.

Fotografías cortesía del telescopio Subaru

El microcontrolador está cerca del centro de la placa y los 18 reguladores de voltaje lineal están montados en las paredes del gabinete. Los módulos y sensores están montados en placas enfriadas por agua para alejar el calor del banco óptico que se encuentra sobre la matriz de sensores. Los pulsos de los sensores de luz van al módulo donde se convierten en señales diferenciales, RS-485 y se emiten en el conector en la parte superior central de la imagen. Además, hay señales de control RS-485 que van al módulo. Todas las señales RS-485 se conectan a circuitos en un chasis a unos 10 metros de distancia. Un punto importante es que todos los circuitos en un módulo funcionan con el mismo suministro de + 5V.

Aquí hay un primer plano del microcontrolador y los controladores y receptores de línea RS-485 que son centrales para el problema. El conector modular negro es una interfaz serial asíncrona que agrega dos señales de E / S RS-485 más.

Los módulos pasaron por pruebas exhaustivas en el banco. ¡No hay problemas! Pasaron meses de pruebas del sistema en el laboratorio. ¡Perfecto! El gran evento fue la primera prueba en el telescopio. ¡Fallar! Se perdió la comunicación con aproximadamente la mitad de los módulos cuando se apagó y se volvió a encender. Conecté el depurador y encontré que el microcontrolador ejecutaba y ejecutaba código, pero había variables corruptas y la interfaz en serie no funcionaba. Muy extraño.

Primero, quiero decir que depurar en medio de la noche a una altitud de 13,589 pies (4,138 metros) con una temperatura del aire de 40 ° F (4 ° C) no es divertido. Sin embargo, sigamos adelante. Aquí hay un diagrama que muestra el problema.

En el lado derecho está el módulo con receptores de línea RS-485 conectados al microcontrolador y el suministro de + 5V. En el lado izquierdo hay controladores de línea en el otro extremo del cable que siempre están encendidos. En realidad, hay controladores y receptores que van en ambas direcciones, pero estoy simplificando. Cuando la alimentación del módulo (VCC) estaba apagada, los controladores y receptores de línea remota todavía estaban encendidos (VDD). Las señales actuaban como fuentes de energía y se abrían paso a través de los dispositivos de interfaz del módulo y directamente a la alimentación de + 5V oa través de los circuitos de protección ESD en los pines del microcontrolador. Había suficiente energía para evitar que el microcontrolador se apagara completamente y el dispositivo estaba en la zona de peligro.

Cuando se encendió el módulo, el microcontrolador no comenzó con una secuencia normal de reinicio de encendido. Comenzó a correr pero con problemas. ¿Por qué esto no apareció durante las pruebas anteriores? ¿Recuerdas las placas enfriadas por agua? El refrigerante en el telescopio estaba bastante más frío que el refrigerante en el laboratorio. Mi teoría es que la temperatura más baja fue suficiente para exponer el problema en algunos de los módulos.

La solución fue fácil. Agregué una declaración en el código para habilitar BOR y el problema se resolvió. Por cierto, me tomó mucho más tiempo escribir el informe y convencer al gerente del proyecto de que todo estaba bien de lo que se necesitó para solucionar el problema.

Falso apagado

Aquí hay un diagrama que muestra el problema general.

Cuando se apaga la fuente de alimentación, el voltaje no baja completamente. En cambio, otras fuentes de energía mantienen el voltaje de suministro en la zona de peligro. Una descripción de este voltaje es "Falso poder". No hay BOR para detectar esta condición y provocar un reinicio. Es posible que el dispositivo no pase por la secuencia de encendido normal cuando se vuelve a encender porque no se puede activar el circuito de reinicio de encendido. La operación posterior es incierta porque la fuente de alimentación cayó por debajo del mínimo y no hay reinicio.

En mi caso, el microcontrolador era un Microchip PIC16F877-20I / L. Esta parte es la versión industrial con un rango de temperatura de funcionamiento de -40 ° C a + 85 ° C. Con un reloj de 16MHz, el rango de la fuente de alimentación es de + 4.0V a + 5.5V. El voltaje de funcionamiento dentro del módulo (V1) era sólido como una roca + 5V. El voltaje de False Power en el microcontrolador (V2) fue de aproximadamente + 1.5V cuando se opera en el telescopio. No lo midí en el laboratorio porque no había ningún problema y no sabía cómo verificarlo. Además, nunca tuve la oportunidad de comprobarlo en condiciones de laboratorio porque el sistema nunca bajó del telescopio.

Hay otras dos especificaciones relevantes. El "Voltaje de retención de datos RAM" ([V_{DR}]) es + 1.5V, "típico". El "Voltaje de inicio VDD" ([V_{POR}]) para asegurar que el reinicio de encendido interno sea 0 V, "típico". Plegar todo esto junto me dice que el dispositivo estaba dentro de la zona de peligro. No se puede esperar un reinicio de encendido porque el voltaje estaba muy por encima de [V_{POR}]. Además, no se esperaba que False Power mantuviera vivo el dispositivo ya que False Power estaba en el voltaje de retención de RAM ([V_{DR}]) ¿Quién sabe lo que estaba haciendo el resto del dispositivo?

¿Por qué encender BOR solucionó el problema? La especificación del disparador de reinicio de Brown Out ([V_{BOR}]) es un rango de + 3.7V a + 4.35V con un típico de + 4.0V. El nivel de False Power está muy por debajo del voltaje de activación para BOR. Problema resuelto. Sin embargo, aún existe el misterio de por qué los microcontroladores trabajaron en el laboratorio y funcionaron normalmente con muchos, muchos ciclos de energía.

Conclusión

Encontré una descripción de esta situación al final de una nota de aplicación de Microchip (AN607) que lo llama un "Falso apagado". No lo he encontrado documentado en ningún otro lugar.

El Poder Falso puede provenir de fuentes como:

  • Señales externas (mi caso)
  • Múltiples fuentes de alimentación en un circuito
  • Condensadores que tardan en descargarse completamente

Parece que una fuente de False Power lo suficientemente alta aplicada directamente a un pin GPIO e ingresar al dispositivo a través del circuito de protección ESD podría causar problemas, incluso cuando BOR está habilitado. Además, para diseños de muy baja potencia, hay razones para no usar BOR en absoluto, ya que consume una cantidad significativa de energía en comparación con los modos de suspensión profunda de algunos dispositivos. Mi conclusión es que BOR y su sucesor, LVD, se están volviendo cada vez más complicados y False Power les da a los diseñadores una cosa más para considerar en esta parte difícil de sus diseños.

ga('create', 'UA-1454132-1', 'auto'); ga('require', 'GTM-MMWSMVL'); ga('require', 'displayfeatures'); ga('set',{'dimension1':'tadiran-batterylowpower,onsemi-powermgmt,power,analog,embedded,embedded-software,engineering-consulting'}); ga('set',{'contentGroup1':'tadiran-batterylowpower,onsemi-powermgmt,power,analog,embedded,embedded-software,engineering-consulting'});

ga('set',{'dimension3':"October 09, 2019"});

ga('set',{'dimension4':"Stephen Colley"});

ga('send', 'pageview');

!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1808435332737507'); // Insert your pixel ID here. fbq('track', 'PageView'); fbq('track', 'ViewContent', { content_ids: ['tadiran-batterylowpower','onsemi-powermgmt','power','analog','embedded','embedded-software','engineering-consulting'], content_type: 'category'});

_linkedin_data_partner_id = "353081"; (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); } if(jstz.determine().name().indexOf("Europe") === -1) { showSocialCode(); // NOT EU } else { showSocialCode(); window.addEventListener("load", function () { window.cookieconsent.initialise({ "palette": { "popup": { "background": "#252e39" }, "button": { "background": "#14a7d0" } }, "type": "opt-out", "content": { "message": "This website uses tracking cookies to ensure you get the best experience on our website.", "href": "https://www.allaboutcircuits.com/privacy-policy/", "dismiss": "OK, GOT IT" }, onInitialise: function (status) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },

onStatusChange: function (status, chosenBefore) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },

onRevokeChoice: function () { var type = this.options.type; if (type == 'opt-out') { console.log("eu"); //showSocialCode(); } },

}) }); }

Maria Montero

Me apasiona la fotografía y la tecnología que nos permite hacer todo lo que siempre soñamos. Soñadora y luchadora. Actualmente residiendo en Madrid.

Recent Posts

Máquina de mano Lean, Green, Raspberry Pi

Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…

2 years ago

Cómo pronosticar series de tiempo usando autorregresión

Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…

2 years ago

Aquí están todas las formas en que puede cargar su AirPods Pro

Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…

2 years ago

Las principales noticias tecnológicas del lunes: la prohibición de clientes de terceros de Twitter parece no ser un accidente

Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…

2 years ago

AirPods Max 2: aquí están las características más solicitadas

Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…

2 years ago

El remake de Dead Space continúa luciendo terriblemente genial en el nuevo tráiler de la historia

El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…

2 years ago