Restablecimiento del temporizador de vigilancia
(WDT)
El WDT es similar al restablecimiento externo Master Clear, ya que contendrá un PIC ®La
MCU se reinicia cuando se activa y vuelve a colocar el Contador del programa al comienzo
del software del programa (org 0). El WDT se activa cuando se excede su tiempo de
espera. Es un temporizador de funcionamiento libre independiente del reloj del sistema
principal. Si el funcionamiento del código en el dispositivo se ve afectado por una fuente
externa que hace que el software se desvíe de su ruta esperada, el WDT puede reiniciar el
dispositivo automáticamente dependiendo de cómo se use el reinicio en el diseño. El
diseñador de software puede colocar instrucciones para borrar el contador WDT y evitar que
ocurra un reinicio de WDT. Es cuando esas instrucciones no se ejecutan, como cuando una
interferencia externa afecta el funcionamiento correcto, que el WDT activará y reiniciará el
dispositivo.
El WDT se puede habilitar o deshabilitar en una configuración o incluso bajo el control del
software.
Las características incluyen:
Fuente de reloj independiente
Múltiples modos de operación
o WDT siempre encendido
o WDT apagado en sueño
o WDT controlado por software
o WDT siempre apagado
Período de tiempo de espera configurable de 1 milisegundo a 256 segundos
Múltiples condiciones de reinicio
Operación durante el sueño
WDT Prescaler
El WDT es esencialmente un contador que se incrementa en cada pulso de reloj. El
preescalador se puede establecer en un valor que determina la cantidad de pulsos de
reloj que causan el reinicio. Cuando se borra el WDT, el contador en el preescalador
vuelve a cero y el recuento de tiempo comienza de nuevo.
Bits indicadores de WDT
Los bits RWDT = 0 y TO = 0 en el registro de estado se borrarán cuando se produzca
un reinicio de tiempo de espera de vigilancia durante el funcionamiento normal.
Modos de funcionamiento de WDT
El WDT tiene cuatro modos de funcionamiento:
WDT siempre encendido
WDT apagado en sueño
WDT controlado por software
WDT apagado
Dos bits en un registro de configuración controlan el modo para el
WDT. Esos bits son los bits WDTE que se muestran a continuación.
WDT siempre encendido
El WDT siempre funciona cuando se selecciona este modo, incluso durante la
suspensión.
WDT apagado en sueño
El WDT está encendido, excepto cuando el dispositivo se pone en suspensión
cuando se selecciona este modo.
WDT controlado por software
El WDT se puede habilitar o deshabilitar en el software cuando se selecciona este
modo. El bit SWDTEN del registro WDTCON se puede establecer o borrar para
habilitar o deshabilitar el WDT.
WDT apagado
El WDT está deshabilitado y no puede reiniciar el dispositivo.
Período de tiempo de espera
El WDT deriva su base de tiempo del oscilador interno de baja frecuencia de 31 kHz
(LFINTOSC). Este oscilador funciona independientemente del reloj del sistema (a menos
que el LFINTOSC también esté seleccionado como oscilador del sistema).
El tiempo de espera de WDT se puede configurar con los bits de selección del período del
temporizador de vigilancia (WDTPS) en el registro de control del temporizador de vigilancia
(WDTCON). Cinco bits seleccionan el período del temporizador que va de 1 milisegundo a
256 segundos.
Los bits de registro y WDPTS se muestran a continuación.
Despejando el WDT
A diferencia de otras opciones de reinicio, se puede evitar que el WDT se forme mediante el
control de software. Esto ocurre al borrar el contador de vigilancia antes de que llegue a la
marca de tiempo de espera. El contador WDT también se puede restablecer por otros medios
automáticamente.
A continuación se muestra una lista de formas en que se restablece el contador WDT:
Cualquier reinicio que no sea WDT borrará el contador WDT
La instrucción de ensamblaje clrwdt borrará el contador WDT
Cuando el dispositivo entra en modo de suspensión, el contador WDT se borra
Cuando el dispositivo se despierta del sueño, el contador WDT se borra
Cuando el WDT está deshabilitado, el contador WDT se borra
Cuando el temporizador de arranque del oscilador se está ejecutando, el contador
WDT se borra
Todas estas condiciones, excepto la instrucción clrwdt , borran automáticamente el contador
WDT.
Operación durante el sueño
Cuando el dispositivo entra en modo de suspensión, el contador WDT se borra. Si el
WDT está habilitado para funcionar durante la suspensión, el contador WDT
continúa incrementándose en cada pulso de reloj.
Cuando el dispositivo sale del modo de suspensión, el contador WDT se reinicia
nuevamente y continúa contando si está habilitado.
Cuando el WDT agota el tiempo de espera en el modo de suspensión, un reinicio no
restablecerá el contador del programa, sino que solo despertará el dispositivo de la
suspensión. La operación continuará en la instrucción colocada después de la
instrucción de suspensión que puso el dispositivo en modo de suspensión
originalmente.
Los bits POR = 0 y TO = 0 en el registro de estado se borrarán para indicar que el tiempo de
espera WDT provocó un despertar del sueño.