Temporizadores Watchdog: Un Mal Necesario (o Bien Esencial)

2025-01-31

Este artículo explora el papel crítico de los temporizadores watchdog en los sistemas embebidos. Usando el fallo de la misión espacial Clementine debido a un temporizador watchdog mal implementado y la necesidad de reiniciar un extractor de cocina como ejemplos, el autor enfatiza la importancia de los temporizadores watchdog fiables en la prevención de fallos de software. El artículo detalla varios diseños de temporizadores watchdog, incluyendo opciones internas y externas, y ofrece estrategias para construir temporizadores watchdog altamente fiables. Esto incluye el uso de watchdogs con ventana, watchdogs externos independientes de la CPU y la monitorización del estado de todas las tareas en un sistema multitarea. El autor aboga por la inclusión de temporizadores watchdog incluso en sistemas aparentemente simples, defendiendo técnicas como reinicios periódicos de estructuras de datos para aumentar la fiabilidad.

Leer más

Desmitificando el rebote de contactos: Es más complejo de lo que piensas

2025-01-08

Este artículo profundiza en las complejidades del rebote de los interruptores mecánicos. El autor realizó experimentos en 18 tipos diferentes de interruptores, revelando tiempos de rebote que van desde nanosegundos hasta cientos de milisegundos, afectados significativamente por el tipo de interruptor y el método de accionamiento. Los hallazgos destacan la insuficiencia de las técnicas simples de eliminación de rebotes de software para todos los escenarios, enfatizando la necesidad de soluciones de hardware o software específicas para cada contexto. El análisis revela que, además del rebote de contacto físico, las transiciones de señales analógicas dentro de los niveles lógicos TTL contribuyen al rebote lógico. Los resultados desafían las suposiciones sobre el comportamiento del interruptor y exigen estrategias de eliminación de rebotes más robustas.

Leer más