Perro guardián (electrónica)
# Perro guardián (electrónica)

En electrónica, un perro guardián (en inglés watchdog) es un temporizador interno de la unidad de control (UC), que dispone de su propio oscilador RC interno, que provoca un reset del sistema en caso de que éste se haya bloqueado. Es un mecanismo pensado para evitar que la UC se encuentre en un estado indeterminado como consecuencia de un error de programación o de un fallo hardware (alimentación, etc.). Por eso, su función es la de mantener la seguridad en el sistema para evitar que entre en un estado descontrolado.

Su funcionamiento se basa en un temporizador interno que irá continuamente decrementando de forma secuencial un contador con un tiempo prefijado, inicialmente con un valor relativamente alto. El tiempo nominal de desbordamiento es dependiente de la temperatura, la tensión de alimentación y varía con el chip. Cuando este contador llegue a cero, se reiniciará el sistema, así que se debe diseñar una subrutina en el programa de manera que refresque o reinicie al perro guardián antes de que provoque el reset. Si el programa falla o se bloquea, al no actualizar el contador del perro guardián a su valor de inicio, éste llegará a decrementarse hasta cero, se desbordara y se reiniciará el sistema que volverá a un estado conocido y seguro. El desbordamiento del perro guardián se puede dar en funcionamiento normal o en el estado de reposo.

A veces el circuito del perro guardián es un chip externo al procesador y a veces es la parte integral como es el caso de muchos microcontroladores. A menudo, los watchdogs también lanzan otras acciones preventivas a parte de reiniciar el procesador. Pueden desencadenar la actuación de sistemas de control, por ejemplo para apagar sistemas peligrosos como motores, circuitos de alta potencia, generadores de calor, etc.

