¿Tienes un ritual matutino? Yo casi no puedo funcionar sin el mío. Mi cerebro tiene dificultades para funcionar sin un buen desayuno, un café bien caliente y cinco minutos navegando por mi bandeja de entrada, incluso cuando no hay correos electrónicos sin leer.
Tener un ritual matutino para tu sistema embebido también resulta útil. Si bien no es necesario servir ningún café al microcontrolador de tu PCB, sí debes asegurarte de que maneje eficientemente el estado de transición durante el encendido.
La transición de arranque es el breve momento entre el encendido de la alimentación y el inicio completo de un microcontrolador. Esto suele ocurrir en milisegundos o microsegundos y es prácticamente imperceptible al ojo humano. Pero en el mundo de la electrónica, esto es el equivalente a meses o años.
La mayoría de los diseñadores de sistemas embebidos priorizan el algoritmo de la aplicación y el diseño del hardware y dejan de lado este estado crítico de la "puesta en marcha". Después de todo, ¿cómo pueden afectar unos pocos milisegundos a un dispositivo electrónico? Si te quedas con esta mentalidad, será solo cuestión de tiempo para que algo salga terriblemente mal cuando alguien encienda tu sistema.
Recomendaciones para evitar la activación accidental de una bomba
La mayoría de los microcontroladores y circuitos integrados tardan un breve periodo de tiempo antes de estar completamente encendidos y operativos. En este periodo de transición, los pines de entrada/salida suelen estar en su estado predeterminado como "entrada". Pero también hay casos en los que estos pines experimentan un fallo y fluctúan entre altos y bajos lógicos durante la transición de encendido.
En aplicaciones reales, los pines de salida pueden estar conectados indirectamente a actuadores, bombas o motores que pueden activarse por accidente durante el encendido. No querrás encontrarte sorpresas desagradables cuando tu sistema embebido esté funcionando sobre el terreno. En determinadas circunstancias, las situaciones inesperadas pueden incluso suponer un riesgo para la seguridad pública.
Poco puede hacer un ingeniero de firmware antes de que se ejecute el código de un microcontrolador. Pr lo tanto, la mayor parte del esfuerzo para gestionar la transición de arranque recae en el diseñador de hardware. Una práctica es colocar resistencias pull-up o pull-down en la salida para garantizar que siempre esté en un estado seguro durante el encendido.
Por ejemplo, es deseable que un motor permanezca apagado hasta que el microcontrolador decida que debe activarse. En las aplicaciones de seguridad, querrás diseñar los controladores de acceso a las puertas para que mantengan la cerradura electromagnética activada hasta que se inicien por completo. Los diseñadores de hardware tienen que valorar el diseño en función de las aplicaciones caso a caso.
En algunos casos, una simple resistencia puede ser insuficiente. En los casos en los que se conectan varias entradas a los controladores lógicos, las salidas de los controladores pueden comportarse de forma impredecible y activar falsamente la salida del controlador, a pesar de las resistencias de pull-up/down.
Una solución sencilla para los problemas transitorios de arranque.
En este escenario, el diseño debe tener un control más inteligente que active los controladores lógicos solo cuando el microcontrolador esté completamente encendido. La mayoría de los controladores lógicos tienen un pin de activación de salida (OE) que los diseñadores normalmente enrutan a tierra o VCC para mantenerlo activado de forma continua. Para mitigar los efectos de la transición de arranque, puedes enrutar el OE de los controladores lógicos a uno de los pines de salida del microcontrolador y llevarlo al nivel de voltaje correcto para mantenerlo apagado durante el arranque.
Podría parecer una molestia innecesaria el tener que adoptar todas estas precauciones simplemente para garantizar que el sistema embebido funcione correctamente durante tan solo unos milisegundos. Pero después de evitar daños materiales o lesiones personales, verás que vale la pena.
Con un excelente software de diseño de PCB, puedes acceder a una compatibilidad completa del historial de diseño y al contenido de diseño integral. El software Altium Designer® de Altium te permite modificar fácilmente tu diseño y, al mismo tiempo, mitigar los posibles efectos de transición en el arranque.
¿Tu sistema embebido se comporta de manera errática durante el arranque? Habla con un experto en Altium.