Para que la transmisión de dispositivos de red como routers industriales, DTUs, servidores serie, etc., sea más estable, estos dispositivos vienen con protección antisobretensión, antiestática, antipulso y watchdog. Entre estas protecciones de hardware, hay una que puede evitar que los procesos internos del dispositivo se caigan durante 24 horas: la tecnología watchdog. ¿Cómo funciona y se calcula un watchdog?
El chip watchdog, también conocido como temporizador watchdog. Es una pieza de hardware en un microcontrolador. El temporizador se utiliza para generar un reinicio del sistema si éste se atasca en algún punto, y si el sistema entra en un bucle infinito de ejecución, el temporizador reinicia el sistema para salir del bucle infinito. El watchdog es un mecanismo de seguridad en los sistemas embebidos que hace que su sistema sea fiable, pero depende de cómo se utilice el temporizador.
¿Cómo funciona?
Básicamente, se trata de un contador que empieza a contar desde cero hasta alcanzar un determinado valor. Si el contador alcanza un determinado valor, el hardware genera un reinicio del watchdog. Para evitar un reinicio del sistema, el software debe iniciarlo, es decir, debe poner el contador a cero. En caso de que el software entre en un bucle sin fin, el sistema no podrá poner en marcha el watchdog, por lo que el contador alcanza un determinado valor y reinicia el sistema.
Inicialmente se carga con algún valor. Este valor se calcula en función del tiempo de espera del watchdog (se dan más instrucciones sobre cómo calcular el valor del contador en función del valor del tiempo de espera). Antes de que se agote el tiempo de espera, el sistema debe reiniciar el contador.
Por ejemplo, si su sistema ejecuta regularmente 3 tareas y tarda 500 ms en ejecutar las 3 tareas. Entonces considera el tiempo de espera como 600 ms (considera el peor caso), calcula el valor del contador para 600 ms y cárgalo en el watchdog.
Considera que el sistema funciona con un reloj de 4 kHz. El sistema completa su trabajo en 450 ms y, en el peor de los casos, en 500 ms. Tomemos 500 milisegundos como tiempo de espera.
1/4 kHz = 0,25 milisegundos
1 latido de reloj = 0,25 milisegundos.
500 milisegundos = 2000 ticks.
Cuando el reloj marca 2000 veces, se han completado 500 milisegundos. El valor técnico asociado al tiempo de espera es 2000.
Si el contador llega a 2000, generará una señal de reset. El sistema debe reiniciar el contador a 0 antes de que llegue a 2000.
Casos de uso avanzados
En el caso de los sistemas operativos (sistemas multitarea), desempeña un papel importante. Supervisa el flujo del programa y la frecuencia con la que se ejecutan las tareas (supervisión de la actividad). Se genera un reinicio del watchdog si éste detecta un conflicto en el flujo del programa o que una tarea se ejecuta con demasiada o poca frecuencia. En el caso de la supervisión en línea, se establece una bandera para cada tarea para indicar que la tarea está en línea, es decir, ejecutada. La función de supervisión en línea comprobará que cada tarea indica que está activa. Si la tarea no tiene una indicación activa, la función de monitorización nunca activará el watchdog y eventualmente reiniciará el sistema.
Ventajas de la doble vigilancia en las pasarelas de computación de borde
El sistema se utiliza en el diseño de la pasarela de computación de borde de IOTRouter. Ofrece grandes ventajas para mejorar la fiabilidad y seguridad del sistema.
En primer lugar, ofrece una mayor fiabilidad y un diseño redundante. Cuando uno de ellos falla, el otro puede seguir supervisándose y controlándose, lo que garantiza el funcionamiento continuo del sistema. Este diseño redundante reduce en gran medida el riesgo de fallos, lo que permite a la pasarela de edge computing rendir mejor en aplicaciones críticas.
En segundo lugar, mejora la detección de fallos. Mediante la supervisión múltiple de distintas partes del sistema, los perros duales pueden detectar a tiempo posibles problemas, reduciendo así la probabilidad de que se produzca un fallo general del sistema. Este mecanismo de validación cruzada no sólo reduce la tasa de falsas alarmas, sino que también mejora la velocidad de respuesta ante fallos.
Además, la configuración flexible de los perros guardianes duales responde a las complejas necesidades de las pasarelas de computación periférica. Se pueden configurar distintos perros guardianes para tareas específicas, lo que proporciona una solución de supervisión más flexible que se adapta a diversos escenarios de aplicación.
Por último, no hay que pasar por alto la capacidad de supervisión de datos en tiempo real del sistema. Dos perros recopilan datos simultáneamente, proporcionando información exhaustiva sobre el estado del sistema que ayuda a su posterior análisis y optimización. De este modo, la pasarela Edge Computing puede responder con mayor eficacia a las distintas necesidades de procesamiento de datos en tiempo real.