Вы находитесь на странице: 1из 8

SEMINARIO DE COMPUTADORES I

DISE~
NO CON MICROCONTROLADORES
MSP430: M
odulo Wachtdog Timer

Nombres:

Daniel Arancibia Carocca


Alex Garay Herrera
Juan Carlos Jarur Mu~
noz
Bruno Mundaca Moraga
Rodrigo Vizcarra Acevedo
Profesor: Leopoldo Silva Bijit

Indice
1. Introducci
on

2. Modos de operaci
on del Watchdog Timer

3. Registros
3.1. Registros del modulo basico de reloj . . . . . . . . . . . . . . .
3.2. Registro de Control del Watchdog Timer . . . . . . . . . . . .
3.3. Configuraciones predeterminadas . . . . . . . . . . . . . . . .

5
5
7
7

1.

Introducci
on

El watchdog timer es un temporizador de 16 bit que puede ser usado


como watchdog o por intervalos de tiempo.
La principal funcion en el modo watchdog es reiniciar el procesador despues de que ocurra una falla o problema de software contando con un intervalo de tiempo por defecto de 32 [ms] con la posibilidad de detener su
accion o cambiar este intervalo a uno determinado por el programador. Si
este watchdog timer no es empleado en ninguna subrutina puede ser configurado como un temporizador de intervalos y puede generar interrupciones en
los intervalos de tiempo seleccionados.
Las siguientes son las caractersticas del modulo watchdog timer:
Ocho intervalos de tiempos seleccionables por software
Modo WatchDog
Modo intervalo
Acceso al registro de control WDT con contrase
na protegida
Pin de control de la funcion RST/NMI
Fuente de reloj seleccionable
Puede ser detenido para conservar la potencia

2.

Modos de operaci
on del Watchdog Timer

El timer Watchdog del microcontrolador MSP430 de Texas Instruments


presenta dos posibles modos de operacion.
Modo Watchdog En este modo de operacion el WDT espera un intervalo
de tiempo determinado por software, o en el caso de no haberlo determinado esperara un intervalo por defecto, en el cual este espera por
una se
nal de stop (cambio del valor de un registro) con la cual comenzara a contar un nuevo intervalo y as sucesivamente. En caso de no
recibir se
nal de stop el WDT reiniciara el procesador al finalizar el intervalo de tiempo con lo cual se dara una condicion de RESET en el
microcontrolador.
Modo Timer El WDT tambien es posible utilizarlo como temporizador, es
decir, el WDT ya no podra resetear el procesador y cumplira solo una
funcion de contador de intervalos de tiempo tal como un Timer normal
lo que permite utilizarlo como generador de interrupciones entre otras
cosas.

3.

Registros

Para el caso que nos interesa, debemos determinar y configurar otros


modulos adicionales a los que propiamente configurar parametros del Watchdog Timer. Las caractersticas y funcionamiento de estos modulos se estudian con detenimiento, en especial los siguientes registros, los cuales permiten
manejar de forma arbitraria los parametros que configuran estos modulos.
Registros del m
odulo b
asico de reloj. La configuracion de estos modulos consiste en asignar a cada uno de los tres modulos, una fuente de
reloj determinada que satisfaga los requerimientos de consumo y aplicacion que se requiera.
Registros de control del watchdog timer. La configuracion de este modulo permite configurar el WDT a cualquiera de los modos disponibles.

3.1.

Registros del m
odulo b
asico de reloj

A traves de este registro se seleccionan las fuentes de los modulos de reloj


del microcontrolador y se manipulan las frecuencias de dichas fuentes. Las
fuentes de reloj son las siguientes:
Oscilador
DCOCLK1
RC interno

Caracterstica
Codigo C
Frecuencia controlada DCOCTL |= DCO0+DCO1
digitalmente
BCSCTL1 |= RSEL2
Configuracion por defecto f=800[kHz]
LFXT1CLK
Alta/baja frecuencia
BCSCTL1 |= XTS (modo HF)
Cristal interno configurable
Ausencia codigo determina modo LF
XT2CLK
Configurable
BCSCTL1|=XT2OFF
Cristal externo digitalmente
Ausencia codigo determina modo ON

El DCOCLK puede oscilar dentro de un rango entre 80[kHz] y los 8[MHz].


Este rango se encuentra parametrizado por 64 niveles determinables por los
bits DCOx(3) del registro DCOCTLx y los bits RSELx(3) del registro BCSCTL1
(ver figura 1). Ademas, los bits MODx(5) del registro DCOCTL permiten realizar
un ajuste fino del nivel de frecuencia seleccionado. En el caso expuesto, esta
determinado el codigo C necesario para configurar el oscilador por defecto.

Figura 1: Curva del rango de frecuencia del oscilador DCOCLK

Existen tres modulos basicos de reloj, los cuales pueden ser configurados
a traves de los registros DCOCTL, BCSCTL1 y BCSCTL2. La tabla que se expone
a continuacion pretende simplificar la b
usqueda de los codigos en lenguaje
que permiten configurar los modulos de reloj.
Modulo
ACLK
Reloj auxiliar

Fuente
Codigo C
LFXT1CLK Por defecto

MCLK
Reloj maestro

DCOCLK
BCSCTL2 |= SELM0
2
XT2CLK
BCSCTL2 |= SELM2
LFXT1CLK BCSCTL2 |= SELM3

SMCLK
DCOCLK
Reloj subsistema XT2CLK2

BCSCTL2 |= SELS0
BCSCTL2 |= SELS1

Div
1
2
4
8
1
2
4
8
1
2
4
8

Codigo C
BCSCTL1 |=
BCSCTL1 |=
BCSCTL1 |=
BCSCTL1 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=
BCSCTL2 |=

DIVA0
DIVA1
DIVA2
DIVA3
DIVM0
DIVM1
DIVM2
DIVM3
DIVS0
DIVS1
DIVS2
DIVS3

El oscilador XT2CLK es una fuente externa, es decir, su utilizacion es


determinada por lo requerimientos de la aplicacion dise
nada. Por lo tanto,
en aquellos casos en que se prescindiera de ella, el microcontrolador determina
a LFXT1CLK como oscilador por defecto.

3.2.

Registro de Control del Watchdog Timer

Es un registro de 16 bits, que configura los modos de funcionamiento del


Watchdog Timer. Inicialmente esta configurado con un intervalo de 32[ms]
usando el DCOCLK como fuente de reloj, teniendo que ser configurado antes
de que el intervalo expire.
Bit
0
1
2
3
4
5
6
7
8
..
.
15

Nombre
WDTISx

Funcion
Selecciona el intervalo ???

WDTSSEL
WDTCNTCL
WDTTMSEL
WDTNMI
WDTNMIES
WDTHOLD
WDTPWx

Selecciona el reloj del WDT


Limpia el contador
Selecciona el modo del WDT
Funcion para el pin NMI/RST
Selecciona el canto para NMI3
Bloqueo del WDT
Establece la contrase
na

1
reloj/512
reloj/64
ACLK

0
reloj/32768
reloj/8192
SMCLK

Temporizador
Modo NMI
Bajada
Desactivada

Watchdog
Modo RST
Subida
Activada

Lectura: 0x69
Escritura: 0x5A

Las interrupciones no enmascarables (NMI) no son manejadas por el bit


de habilitacion general de interrupciones. Puden ser producidas por un canto
en el pin RST/NMI, una falla en el oscilador o por una violacion de acceso a
la memoria FLASH.

3.3.

Configuraciones predeterminadas

Las siguientes lneas de codigo parametrizan y simplifican de alguna manera la configuracion del modulo watchdog timer. Es necesario recordar que
estos parametros son validos para la configuracion por defecto del modulo
basico de reloj (explicado en detalle con anterioridad), vale decir, pueden ser
7

usados para configurar el timer solo si el reloj de sistema esta configurado a


8 [MHz].
#define
#define
#define
#define

WDT
WDT
WDT
WDT

MDLY
MDLY
MDLY
MDLY

32 WDTPW+WDTTMSEL+WDTCNTCL /* 32ms interval (default) */


8 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0 /* 8ms
0 5 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1) /* 0.5ms
0 064 WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0 0.064ms*/

/* WDT is clocked by fACLK (assumed 32KHz) */


#define
#define
#define
#define

WDT
WDT
WDT
WDT

ADLY
ADLY
ADLY
ADLY

1000 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL) /* 1000ms */


250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms "*/
16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms "*/
1 9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms

Вам также может понравиться