Sunteți pe pagina 1din 11

Introducción Watchdog Timer + (WDT +)

La función primaria de módulo WDT + es para llevar a cabo un Reset controlado del
sistema después que se produce un problema de software.
Si el intervalo de tiempo seleccionado se ha vencido, se genera un reinicio del sistema.
Si la función de vigilancia no se necesita en una aplicación, el módulo puede ser
configurado como un temporizador de intervalos y puede generar interrupciones a
intervalos de tiempo seleccionados.

Características del temporizador + módulo de vigilancia incluyen:

• Cuatro intervalos de tiempo seleccionables por software


• Modo de vigilancia
• El modo de intervalo
• El acceso al registro de control de WDT + está protegido con contraseña
• Control de la función del pin RST / NMI
• Fuente de reloj seleccionable
• Puede ser detenido para ahorro de energía
• Función de reloj a prueba de fallos
NOTA: El temporizador Watchdog + Power Up activo
Después de un PUC, el WDT + módulo se configura automáticamente en el modo de
vigilancia con reloj de 32768 ciclos después de un Reset inicial utilizando el DCOCLK.
El programa de instalación debe de usuario o detener el WDT + antes de la expiración
del intervalo estipulado.

Operación del Watchdog Timer +


El WDT + módulo se puede configurar como un perro guardián o el temporizador de
intervalos con el registro WDTCTL.
El registro WDTCTL también contiene bits de control para configurar el pin RST / NMI.
WDTCTL es una de 16 bits, esta protegido con contraseña para leer / escribir registro.
Cualquier acceso de lectura o escritura debe utilizar las instrucciones de texto y
escribir accesos deben incluir la escritura contraseña 05Ah en el byte superior.
Cualquier escritura a WDTCTL con cualquier valor aparte de 05Ah en el byte superior es
una violación fundamental de seguridad y provoca un restablecimiento de sistema PUC
(Power Up Clear) independientemente de modo de temporizador. Cualquier lectura de
WDTCTL lee 069H en el byte superior. El reloj WDT + contador debe ser más lento o
igual que el sistema (MCLK) de frecuencia.
El diagrama WDT + bloques se muestra en la
Figura 10-1.
Watchdog Timer + como Contador
El temporizador de vigilancia (WDTCNT) es un contador ascendente-de 16 bits que no
es directamente accesible por el software.
El WDTCNT está controlado y los intervalos de tiempo seleccionados mediante el
registro de control de temporizador de vigilancia + WDTCTL.
El WDTCNT puede obtenerse de ACLK o SMCLK. La fuente de reloj se selecciona con
el bit WDTSSEL.

Modo Watchdog
Después de una condición PUC, el WDT + módulo está configurado en el modo de
vigilancia con un ciclo inicial 32.768 de intervalo de reset utilizando el DCOCLK. La
configuración de usuario deber, detener o borrar el WDT + antes de la expiración del
intervalo de tiempo, se generará otro PUC.
Cuando el WDT + está configurado para operar en el modo de vigilancia, ya sea por
escrito a WDTCTL con una contraseña incorrecta, o el vencimiento del tiempo
seleccionado intervalo, desencadena un PUC.
Un PUC restablece el WDT + a su estado predeterminado y configura el pin RST / NMI
a modo de RST.
Modo de temporizador

El establecimiento del bit WDTTMSEL a 1 le permite elegir el modo de temporizador por


intervalos. Este modo se puede utilizar para proporcionar interrupciones periódicas. En
el modo de temporizador, la bandera WDTIFG se setea al término del tiempo de
intervalo seleccionado. No se genera un PUC en el modo temporizador en la expiración
del intervalo seleccionado y el WDTIFG bit de habilitación WDTIE se mantiene sin
cambios.
Cuando se establecen el bit WDTIE y el bit GIE, la bandera WDTIFG solicita una
interrupción. El indicador de interrupción WDTIFG se restablece automáticamente
cuando se atiende su petición de interrupción, o se puede restablecer por software. La
dirección de vector de interrupción en modo contador de intervalos es diferente de la
que en el modo de vigilancia.
Ejemplos de software
Cualquier operación de escritura en WDTCTL debe ser realizarse escribiendo la
palabra con 05Ah (WDTPW) en el byte superior:

; Periodically clear an active watchdog


MOV #WDTPW+WDTCNTCL,&WDTCTL
;
; Change watchdog timer+ interval
MOV #WDTPW+WDTCNTL+WDTSSEL,&WDTCTL
;
; Stop the watchdog
MOV #WDTPW+WDTHOLD,&WDTCTL
;
; Change WDT+ to interval timer mode, clock/8192 interval
MOV #WDTPW+WDTCNTCL+WDTTMSEL+WDTIS0,&WDTCTL
Registros del Watchdog Timer +
Los registros del WDT + se enumeran en la Tabla
Interrupciones del Watchdog Timer +
El WDT + utiliza dos bits de los SFR para el control de interrupción.
• El WDT + bandera de interrupción , WDTIFG , ubicado en IFG1.0

• El WDT + habilitación de interrupción , WDTIE , Si WDTIE =1 el registro de la bandera


WDTIFG origina una interrupción en el vector.

Al utilizar el WDT + en el modo de vigilancia, fuentes de la bandera WDTIFG inicia una


interrupción en el vector.
La WDTIFG puede ser utilizado por la rutina de servicio de interrupción si se programó
el dispositivo para reset.
Si el indicador está establecido, entonces el temporizador de vigilancia inicia la
condición de reset, ya sea por el tiempo de espera o por una violación de clave de
seguridad. Si WDTIFG está desactivada, el reset fue causado por una fuente diferente.
Cuando se utiliza el WDT + en el modo de temporizador, la bandera WDTIFG se
establece después del intervalo de tiempo seleccionado y pide una interrupción del
temporizador WDT +, si el WDTIE y los bits GIE están seteado.
El vector de interrupción del temporizador es diferente del vector de reset utilizado en
el modo de vigilancia. En el modo de temporizador de intervalos, la bandera WDTIFG se
restablece automáticamente cuando se atiende la interrupción, o se puede restablecer
por software.

S-ar putea să vă placă și