Temporizadores supervisores: ¿autónomos o internos?

 

Bonnie C. Baker. Microchip Technology Inc.


En otro tiempo se consideraba que los Temporizadores Supervisores (Watchdog Timers, WTD) eran más fiables que los WDT internos integrados en un microcontrolador o microprocesador. Si el procesador no funcionaba de forma correcta, ¿fallaría también el WDT al identificar la causa de que el procesador pasara por defecto a un estado de error? En la actualidad, con los avances introducidos tanto en la versión autónoma como en la interna, la elección del WDT apropiado se ha hecho cada vez más compleja.
Pese a su aparente fiabilidad, los WDT autónomos no eran perfectos. Su mayor inconveniente era la carencia de un reloj ajustable que permitiera al usuario cambiar la configuración del temporizador, independientemente del reloj del sistema. Al WDT autónomo le faltaban asimismo funciones como los tiempos de disparo mínimo y máximo aunque los disparos múltiples integrados en el WDT posibilitan la detección cuando el sistema trabaja demasiado rápido o demasiado lento.
En cambio, los actuales WDT internos afrontan los aspectos relativos a la fiabilidad y han asimilado la solución autónoma al tiempo que ofrecen un nivel adicional de complejidad. Los WDT internos, configurados como una función separada dentro del microcontrolador o microprocesador, disponen a menudo de relojes por separado configurados independientemente a una constante de tiempo RC integrada.
Con esta configuración, el reloj del WDT está básicamente aislado respecto al reloj del sistema o el oscilador en el microcontrolador y continúa trabajando independientemente de los modos dormido (SLEEP) e inactivo (IDLE). Este hecho por sí solo contribuiría a superar las reservas que pudieran existir acerca de la fiabilidad de los WDT internos. No obstante, los WDT internos incluyen también un preescalador de WDT para ofrecer la flexibilidad de programar el número de cuentas en el contador del WDT con una relación de 1:16384 (o superior) para programar el contador desde los milisegundos hasta varios segundos. Además, se pueden programar dos o más disparos en software y estos disparos pueden captar código erróneo incluso en entornos ruidosos.

Ventajas del WDT autónomo
¿Así pues, ofrecen aún los WDT alguna ventaja? Al igual que los WDT internos, también los WDT autónomos de última generación son más avanzados. La funcionalidad de la versión autónoma incluye actualmente todas las funciones del WDT interno con la excepción de la programabilidad al vuelo y la capacidad de doble código de reinicialización. Algunos WDT autónomos ofrecen también patillas de reinicialización manual con el fin de incorporar pulsadores para el usuario. En los WDT internos, esta función se debe realizar mediante interrupciones de controlador o de procesador, o bien otras patillas designadas en el controlador como un Master Clear (MCLR).
Tanto los WDT internos como autónomos son susceptibles a la interferencia electromagnética y a la descarga estática. Sin embargo, el WDT autónomo es más sensible a estas perturbaciones si se compara con la versión interna, especialmente si el WDT interno tiene doble código para la reinicialización del WDT.
Cuando la seguridad es un aspecto crítico, podría resultar preferible una fuente de reloj independiente para determinados equipos y algunas agencias reguladoras recomiendan la utilización de un WDT independiente. No obstante, si bien ello sugiere que la versión autónoma es la única opción, un WDT interno con un reloj aislado puede cumplir también los criterios exigidos. Así, el WDT interno con reloj aislado podría proporcionar asimismo funciones para control de potencia y reinicialización por alimentación (Power-On-Reset, POR) o reinicialización por apagado (Brown-Out-Reset, BOR).
La elección entre un WDT autónomo o interno se ha hecho cada vez más compleja. Pero independientemente de la elección del hardware, el software juega un papel significativo en la fiabilidad y robustez del sistema, puede proporcionar la capacidad de programar características específicas del WDT para adaptarse a diferentes aplicaciones.