¿Alguien puede explicar en qué se diferencia el temporizador de vigilancia de la ventana del temporizador de vigilancia normal? ¿Cuándo se prefiere el temporizador de vigilancia de la ventana en lugar del temporizador de vigilancia normal?
¿Alguien puede explicar en qué se diferencia el temporizador de vigilancia de la ventana del temporizador de vigilancia normal? ¿Cuándo se prefiere el temporizador de vigilancia de la ventana en lugar del temporizador de vigilancia normal?
Entonces, comencemos con lo que es un perro guardián:
Un perro guardián es básicamente un sistema de temporizador, como una bomba "tic-tac" que se rearma periódicamente durante el funcionamiento normal de su procesador / controlador. Si su procesador se atasca durante la ejecución, no podrá volver a armar al perro guardián y se activará la bomba "tic-tac". Luego, el trabajo del perro guardián es reinicializar el sistema atascado, o activar una alarma, o ejecutar instrucciones específicas, etc. Así que, básicamente, un perro guardián protege a un sistema de ser bloqueado.
Ahora, imagine que su sistema no está absolutamente atascado (= no ejecuta nada), pero por ejemplo, está atascado dentro de un bucle infinito, lo que significa que ejecuta todas las instrucciones dentro del bucle, una de las cuales debería ser "re -armar el perro guardián ". Pero no puede salir del bucle como debería estar en operación normal. Si usa un simple watchdog, podrá ser rearmado en cada iteración y su sistema nunca se reiniciará y se quedará atascado en este bucle infinito. Es por eso que existe el control de la ventana: protege el sistema contra atascos al necesitar una actualización periódica como en 1), pero también detecta cuando se vuelve a armar "demasiado" en comparación con lo que se sabe que es la operación nominal del sistema. Es como un perro guardián 2.0.
Estoy de acuerdo con la respuesta de MaximGi. Aquí es sólo una redacción alternativa:
La imagen de abajo de Microchip describiendo un perro guardián:
Lea otras preguntas en las etiquetas watchdog