You are on page 1of 65

MICROCONTROLADOR MSP430F169

2 curso Sistemas Digitales Ingeniera Tcnica de Telecomunicacin Sistemas Electrnicos

CARACTERSTICAS GENERALES (I)


Ultra Bajo Consumo - Rango de alimentacin: 1,8 3,6 V - Modo activo + 5 modos de bajo consumo - Corrientes de funcionamiento 330 uA (Activo, f=1Mhz., Vcc=2,2V) 2,5 uA (Activo, f=4Khz., Vcc=2,2V) 1,1 uA (StandBy) 0,1 uA (Modo RAM retention off) - Tiempo en despertar: 6 us Core: CPU RISC de 16 bits - Ciclo de instruccin 125 ns - Set de 27 instrucciones + 24 emuladas (3 formatos, 7 modos de direccionamiento.) Memoria Interna - 60KB+256B FLASH interna (datos/progRAMa) - 2KB. De RAM interna.
LABORATORIO DE SISTEMAS DIGITALES

CARACTERSTICAS GENERALES (II)


Sistema de Reloj: 3 fuentes de reloj - Oscilador ProgRAMable interno (DCO) => DCOCLK - 2 Osciladores adicionales a partir de cristales/resonadores externos (LFXT1, XT2) => (XT2CLK, LFXT1CLK) 3 Timers: - Watchdog Timer/Timer de propsito general - Timer A3: 16 bits, 3 registros Captura/Comparacin, salida PWM - Timer B7: 16 bits, 7 registros Captura/Comparacin, salida PWM 6 Puertos de E/S de 8 bits: - P1 y P2, puertos de individuales y con capacidad de Interrupcin - P3, P4, P5 y P6: puertos de E/S individuales - Multiplexan funcionalidades de otros perifricos
LABORATORIO DE SISTEMAS DIGITALES

CARACTERSTICAS GENERALES (III)


Comparador A - Medida o deteccin de fuentes de tensin o corriente externas, elementos resistivos - Medida del voltaje de la batera del sistema Conversor A/D de 12 bits Conversor D/A Dual de 12 bits DMA de 3 canales Unidades Sncronas/Asncronas de transmisin recepcin - USART0 y USART1 - Modos de operacin: - Modo Asncrono: UART - Modo Sncrono: SPI - Funcionalidades orientadas a ultra bajo consumo: - Deteccin de comienzo de tRAMa => despierta uP - Optimizacin de la relacin CPUCLK / BAUD_RATE
LABORATORIO DE SISTEMAS DIGITALES

CARACTERSTICAS GENERALES (IV)

64 TERMINALES 48 TERMINALES E/S

LABORATORIO DE SISTEMAS DIGITALES

CARACTERSTICAS GENERALES (V)


MSP430 M PP m
M: Tpo de memoria C: ROM F:Flash P: OTP E:EEPROM PP: Familia perifricos 10, 11: Bsica 12,13:UART 14: UART+Multiplic 15:UART+DAC+DMA 16: UART+Multipl+DAC+DMA 31,32,41: LCD Contr 33: LCD, UART, Multiplic 43: LCD+UART 44:LCD+UART+Multiplic m: Capacidad memoria 0:1K-128RAM 8:48K-2K RAM 1: 2K-128RAM 2:4K-256RAM 3:8K-256RAM 9:60K-2K RAM 4:12K-512RAM 5:16K-512RAM 6:24K-1K RAM 7:32K-1K RAM

MSP430 F 16 9

Flash, UART+Multipl+DAC+DMA ,

60k Cdigo y 2k RAM.

LABORATORIO DE SISTEMAS DIGITALES

Arquirtectura de la familia MSP430x1xx


Arquitectura von-Neuman. Bus de datos y bus de direcciones de 16 bits.

Perifrico integrado en el microcontrolador que permite la depuracin en tiempo real y de forma independiente de la aplicacin
LABORATORIO DE SISTEMAS DIGITALES

ARQUITECTURA INTERNA
Espacio de memoria compartido Set de instrucciones reducido (uP RISC)

LABORATORIO DE SISTEMAS DIGITALES

Mapa de memoria de la familia MSP430x1xx


Mapa de memoria. Espacio direcciones. Espacio de memoria compartido

Tipo de acceso

64KB

LABORATORIO DE SISTEMAS DIGITALES

Organizacin de memoria del MSP430F169

LABORATORIO DE SISTEMAS DIGITALES

Organizacin de memoria del MSP430F169

Flash principal Flash de informacin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169: CPU
CPU REGISTROS INTERNOS DE LA CPU MODOS DE DIRECCIONAMIENTO INTRODUCCIN AL CONJUNTO DE INSTRUCCIONES

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


16 Registros Internos (datos y direcciones)
- R0, R1, R2 y R3: registros con funciones preasignadas - R4 a R15: Registros de propsito general

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


16 Registros Internos (datos y direcciones)
- R0, R1, R2 y R3: registros con funciones preasignadas - R4 a R15: Registros de propsito general

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


Contador de programa
- Apunta a la siguiente instruccin a ejecutar - Accesos a instrucciones siempre tipo word - Tamao Instrucciones siempre n par de bytes (2, 4 o 6)

El PC siempre apunta a direcciones pares

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


Puntero de Pila (Stack Pointer) (SP)
- Lo utiliza directamente la CPU para almacenar la direccin de retorno de subrutinas e interrupciones - Modo de funcionamiento: Predecremento - Postincremento - Accesos a instrucciones siempre tipo word - El SW de usuario manipula la pila? => instrucc. PUSH y POP - Accesos a pila tipo word => Siempre alineada a direcciones pares

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


Registro de Estado (Status Register) (SR)
- Contiene los bits de estado de la CPU

C: se activa si como resultado de una operacin (B o W) hay carry Z => se activa si el resultado de una operacin (B o W) es 0 N => se activa si el resultado de una operacin negativo - Operacin tipo (B) => determinado por el bit 7 del resultado - Operacin tipo (W) => determinado por el bit 15 del resultado V => se activa si el resultado de una operacin aritmtica produce overflow - ADD(.B), ADC(.B): (+)+(+)=(-); (-)+(-)=(+) - SUB(.B), SUBC(.B), CMP(.B): (+)-(-)=(-); (-)-(+)=(+)

(*) Los bits C, Z, N y V slo se ven alterados por ciertas instrucciones


LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS

GIE: Global Interupt Enable. - Habilita el que se sirvan las Interrupciones mascarables activas - Se pone a 0 al entrar en una interrupcin, restaurandose con el RETI CPU Off => Si se activa, la CPU entra en modo OFF: - Ejecucin del programa para - RAM, puertos y perifricos activos se mantienen en su estado - Despierta con la activacin de una interrupcin habilitada OSC Off => Si se activa, el oscilador entra en modo OFF: - Cesa toda actividad (CPU y perifricos) - RAM, puertos y registros se mantienen - Despierta slo con interrupcin externa habilitada si GIE=1, o con NMI SCG0, SCG1 => Controlan los 4 posibles estados de funcionamiento del sistema de reloj

LABORATORIO DE SISTEMAS DIGITALES

CPU. REGISTROS INTERNOS


Registros generadores de constantes (CG1 y CG2)
- Permiten generar constantes comnmente usadas, sin necesidad de que aparezcan en memoria de cdigo => disminucin de tamao de memoria de cdigo y del ciclo de instruccin - Valor de la constante determinado por el valor de los bits de modo de direccionamiento de la propia instruccin - Permite la creacin de instrucciones emuladas

LABORATORIO DE SISTEMAS DIGITALES

CPU. MODOS DE DIRECCIONAMIENTO


7 Modos de direccionamiento:
- Los 7 son vlidos para el operando origen - Slo 4 primeros son vlidos para el operando destino
MODO DIRECC. Modo registro Modo indexado Modo Simblico Modo Absoluto Modo Indirecto a registro Modo indirecto con autoincremento Modo Inmediato SINTAXIS Rn X(Rn) ADDR &ADDR @Rn @Rn+ #N DESCRIPCIN El registro contiene el operando (Rn+X) apunta al operando (PC+X) apunta al operando El Ensmb. Traduce ADDR a X ADDR es la direccin absoluta del operando Rn es el puntero al operando Rn es el puntero al operando Se incrementa despus N es el operando (una constante) EJEMPLO MOV R10,R11 MOV 2(R5),6(R6) MOV EDE, TONI MOV &EDE, &TONI MOV @R10,0(R11) MOV @R10+,0(R11) MOV #45H,TONI Org Dest OyD OYD OYD OYD O O O

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


27 INSTRUCCIONES BSICAS + 24 EMULADAS INSTRUCCIONES BSICAS CDIGO DE OPERACIN INSTRUCCIONES EMULADAS SON REMPLAZADAS AUTOMATICAMENTE POR EL PROGRAMA ENSAMBLADOR POR UNA INSTRUCCIN BSICA INTRUCCIONES BSICAS Y EMULADAS IGUALES PRESTACIONES TRES FORMATOS PARA LAS INSTRUCCIONES BSICAS

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


FORMATO I. DOS OPERANDOS

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


FORMATO I. DOS OPERANDOS

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


FORMATO II. UN OPERANDO

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


FORMATO III. SALTOS

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


INSTRUCCIONES EMULADAS

LABORATORIO DE SISTEMAS DIGITALES

CPU. CONJUNTO DE INSTRUCCIONES


INSTRUCCIONES EMULADAS

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. SISTEMA DE RESET


El MSP430P169 tiene dos seales internas de Reset: POR y PUC POR (Power On Reset). Slo se genera por dos motivos:
- Al alimentar al dispositivo. Encendido - Al poner a nivel bajo la seal #RST/NMI, cuando est configurada en modo Reset

PUC (Power Up Clear). Se genera por los siguientes motivos:


- Cuando se produce un POR - Expiracin del tiempo de watchdog (watchdog timer activo) - Violacin de la clave de seguridad del watchdog - Violacin de la clave de seguridad de la memoria Flash

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. SISTEMA DE RESET


Inicializacin del sistema despus de un Reset (POR/PUC)

- El terminal #RST/MNI configurado en modo reset - Pines de entrada/salida pasan a entrada - Flags pasan a 0 - Perifricos y Registros pasan a sus valores por defecto - El registro de estado (SR) se resetea - El contador de programa se carga con la direccin contenida en el vector de reset (FFFEh). La CPU comienza el programa en esa direccin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
Tipos de interrupciones - Reset de Sistema - Interrupciones enmascarables - Interrupciones No enmascarables - Interrupciones (No) enmascarables

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
Interrupciones enmascarables: se pueden deshabilitar por bits de habilitacin individuales, o por el bit de habilitacin general (GIE) - Watchdog timer overflow - Interrupciones de perifricos Interrupciones No enmascarables: no se pueden deshabilitar de ninguna manera

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
INTERRUPCIONES (NO) ENMASCARABLES No se pueden enmascarar por el bit GIE, pero si por bits de habilitacin individuales Registros de habilitacin de interrupciones (IE1, IE2).(NMIIE, ACCVIE, OFIE)

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
INTERRUPCIONES (NO) ENMASCARABLES Fuentes posibles: - Flanco activo en la seal #RST/NMI (modo NMI) - Fallo en el oscilador (interrupcin habilitada) - Violacin de acceso a la Flash (interrupcin habilitada) Una vez aceptada => en la ISR (Interrupt Service Routine) se resetea automticamente el bit de habilitacin de la interrupcin correspondiente. Direccin inicio FFFCh El bit de habilitacin de la interrupcin no se vuelve a activar al salir de la ISR => debe hacerse por SW si se desea habilitarla.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
Procesado de interrupciones
1. El primer paso depende de si la CPU activa o no: - CPU activa => Finaliza instruccin actual - CPU parada => Se finaliza el modo de bajo consumo 2. Se guarda en la pila el PC apuntando a la siguiente instruccin 3. Se guarda en la pila el registro de estado (SR) 4. Si hay varias interrupciones pendientes => se selecciona la de ms prioridad 5. Dependiendo tipo interrupcin: - Flag de interrupcin asociado a una sla fuente => se resetea - Flag de interrupcin asociado a mltiples fuentes => no se modifica 6. GIE=CPUOFF=SCG1=V=N=Z=C=0 7. El contenido de vector de interrupcin se carga al PC
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
Procesado de interrupciones

Top of Stack

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES
Retorno de interrupcin
La ISR finaliza con la instruccin RETI que en 5 ciclos: 1. Recupera el SR de la pila 2. Recupera el PC de la pila

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. INTERRUPCIONES

LABORATORIO DE SISTEMAS DIGITALES

Registros de 8 bits

LABORATORIO DE SISTEMAS DIGITALES

Vectores de interrupcin MSP430F169. REGISTROS DE FUNCIN ESPECIAL

MSP430F169. REGISTROS DE FUNCIN ESPECIAL


Registros de 8 bits

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE FUNCIN ESPECIAL


Registros de 8 bits

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE FUNCIN ESPECIAL


Registros de 8 bits

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE PERIFRICOS


Registros de 16 bits

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE PERIFRICOS

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE PERIFRICOS

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Fuentes de reloj
LFXT1CLK
- Reloj de baja/alta frecuencia - Oscilador que puede usarse con cristales de reloj, cristales estndar, resonadores o fuentes de reloj externas

XT2CLK
- Reloj de alta frecuencia - Oscilador que puede usarse con cristales estndar de alta frecuencia, resonadores o fuentes de reloj externas

DCOCLK
- Oscilador programable digitalmente - Caracterstica tipo RC

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Seales de reloj disponibles
ACLK, Auxiliary Clock
- ACLK = LFXT1CLK/(1,2,4,8) - Factor de divisin programable - Seleccionable individualmente para perifricos

MCLK, Master Clock


- MCLK = (LFXT1CLK, XT2CLK, DCOCLK)/(1,2,4,8) - Factor de divisin programable - Reloj de la CPU y del sistema

SMCLK, Submain Clock


- SMCLK = (XT2CLK, DCOCLK)/(1,2,4,8) - Factor de divisin programable - Seleccionable individualmente para perifricos

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Diagrama de bloques del sistema de reloj

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Oscilador LFXT1 En modo LF (Low Frecuency) XTS=0 y usando un cristal de reloj de 32768Hz Ultra bajo consumo En modo HF (High Frecuency) XTS=1 y usando un cristal de reloj o resonador de alta frecuencia aumento de la capacidad de proceso Deshabilitado por software OSCOFF=1 siempre que LFXT1CLK no sea la fuente de reloj de MCLK SMCLK.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Oscilador XT2 Iguales caractersticas al oscilador LFXT1 en modo HF Deshabilitado por software XT2OFF=1 siempre que XT2CLK no sea la fuente de reloj de MCLK SMCLK.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO
Oscilador tipo RC => frecuencia vara con T, voltaje, de dptvo a dptvo. Deshabilitacin software SCG0=1 siempre que DCOCLK no sea la fuente de reloj de MCLK o SMCLK en modo activo

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO
Control digital => estabilizacin de frecuencia
- Corriente inyectada en el generador DC => frecuencia fundamental => resistencia determina frecuencia fundamental - Bit DCOR determina resistencia interna o externa - Bits de control Rsel0 Rsel2 => 8 rangos nominales - Bits DCO0-DCO2 => ajuste de la frecuencia DCOCLK - Bits de Modulacin MOD0 MOD4 => estabilizacin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO
VALOR POR DEFECTO

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO
Modulacin => mezcla de periodos del DCO. frecuencia intermedia en 32 ciclos de reloj DCOCLK - MODx=0 modulador apagado - Se reduce el error acumulado en periodos consecutivos
modificando el valor de los mismos

- Cambia entre la frecuencia seleccionada por DCO y la inmediatamente superior DCO+1


- Los bits MOD0-MOD4 determinan la ratio de variacin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO
Modulacin => mezcla de periodos del DCO. frecuencia intermedia en 32 ciclos de reloj DCOCLK

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO. Registros.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO. Registros.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO. Registros.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


DCO. Registros.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODULO DE RELOJ


Fallo de oscilador.
Circuito detector de fallos de los relojes LFXT1CLK en modo HF y el XT2CLK. Si MCLK es generado por LFXT1 en modo HF o por XT2 el sistema hace conmutar de forma automtica al DCO, lo que permite la ejecucin del cdigo. Cuando se produce un fallo se activa el flag IFIFG=1 del registro de flag IFG1. Si el correspondiente bit del registro IE1 est habilitado (IFIE=1), entonces se realiza una peticin de interrupcin NMI.
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


Bit CPUOFF:
- CPUOFF=0 => MCLK activo - CPUOFF=1 => MCLK parado

Bit SCG1:
- SCG1=0 => SMCLK activo - SCG1=1 => SMCLK parado

Bit OSCOFF:
- OSCOFF=0 => LFXT1 activo - OSCOFF=1 => LFXT1 parado (slo si no se usa para MCLK)

Bit SCG0:
- SCG0=0 => GENEADOR DC activo - SCG0=1 => GENEADOR DC inactivo (slo si DCOCLK no se usa para MCLK o SMCLK)
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


MODO OPERACION Modo Activo Low Power 0 Low Power 1 Low Power 2 Low Power 3 Low Power 4 SCG1 0 0 0 1 1 1 SCG0 0 0 1 0 1 1 OSCOFF 0 0 0 0 0 1 CPUOFF 0 1 1 1 1 1

Modo Activo: - Todos los relojes de la CPU activos Low Power 0:


- CPU OFF - MCLK OFF - SMCLK y ACLK permanecen activos - Generador DC del DCO activo

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


MODO OPERACION Modo Activo Low Power 0 Low Power 1 Low Power 2 Low Power 3 Low Power 4 SCG1 0 0 0 1 1 1 SCG0 0 0 1 0 1 1 OSCOFF 0 0 0 0 0 1 CPUOFF 0 1 1 1 1 1

Low Power 1:
- CPU OFF - MCLK OFF - SMCLK y ACLK ON - Generador DC del DCO inactivo (si DCO no se usa en MCLK o SMCLK) - DCO OFF (si no se usa en MCLK o SMCLK)

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


MODO OPERACION Modo Activo Low Power 0 Low Power 1 Low Power 2 Low Power 3 Low Power 4 SCG1 0 0 0 1 1 1 SCG0 0 0 1 0 1 1 OSCOFF 0 0 0 0 0 1 CPUOFF 0 1 1 1 1 1

Low Power 2:
- CPU OFF - MCLK OFF - SMCLK OFF - ACLK permanece activo - Generador DC del DCO activo - DCO OFF (ya que no se usa en MCLK o SMCLK)

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


MODO OPERACION Modo Activo Low Power 0 Low Power 1 Low Power 2 Low Power 3 Low Power 4 SCG1 0 0 0 1 1 1 SCG0 0 0 1 0 1 1 OSCOFF 0 0 0 0 0 1 CPUOFF 0 1 1 1 1 1

Low Power 3:
- CPU OFF - MCLK OFF - SMCLK OFF - ACLK permanece activo - DCO OFF (ya que no se usa en MCLK o SMCLK) - Generador DC del DCO inactivo

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN


MODO OPERACION Modo Activo Low Power 0 Low Power 1 Low Power 2 Low Power 3 Low Power 4 SCG1 0 0 0 1 1 1 SCG0 0 0 1 0 1 1 OSCOFF 0 0 0 0 0 1 CPUOFF 0 1 1 1 1 1

Low Power 4:
- CPU OFF - MCLK OFF - SMCLK OFF - ACLK OFF - DCO OFF (ya que no se usa en MCLK o SMCLK) - Generador DC del DCO inactivo

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. MODOS DE OPERACIN

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


MSP430P169 => 6 Puertos de E/S de 8 bits: - P1 y P2. Puertos de E/S individualmente configurables y con capacidad de Interrupcin - P3, P4, P5 y P6. Puertos de E/S individualmente configurables - Multiplexan funcionalidades de otros perifricos

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


P1
TERMINAL N I/O DESCRIPCIN

P2
TERMINAL N I/O DESCRIPCIN

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


P3
TERMINAL N I/O DESCRIPCIN

P4
TERMINAL N I/O DESCRIPCIN

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


P5
TERMINAL N I/O DESCRIPCIN

P6
TERMINAL N I/O DESCRIPCIN

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


Registros de entrada PxIN
- Registros de lectura slo - Reflejan el nivel lgico al que se encuentra la entrada asociada - Debe evitarse escritura => aumento de consumo de corriente

Registros de salida PxOUT


- Registros de escritura o lectura - Reflejan el nivel lgico en el buffer de salida de la salida asociada - Un cambio de direccin en el pin asociado no afecta a este registro - Los bits de estos registros no se ven alterados por un PUC

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


Registros de control de direccin PxDIR
- Cada bit del registro define la direccin del pin de E/S asociado PxDIR.x = 0 => lnea de E/S configurada como entrada PxDIR.x = 1 => lnea de E/S configurada como salida - Todos los bits a 0 (Entradas) despus de un PUC

Registros de seleccin de funcin PxSEL - Posibilitan la multiplexacin de funciones de los pines de E/S
- Cada bit del registro define la funcin del pin de E/S asociado PxSEL.x = 0 => funcin de puerto de E/S convencional PxSEL.x = 1 => funcin de lnea de E/S del perifrico asociado - Todos los bits a 0 (puerto de E/S convencional) despus de un PUC - En el caso de los puertos 1 y 2 (P1SEL y P2SEL): capacidad de interrupcin => PxSEL.x = 0 (E/S convencional) PxSEL.x=1 Interrupcin deshabilitada - PxSEL.x =1 no establece automticamente la direccin del terminal
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


Puertos con capacidad de interrupcin: P1 y P2 PxIFG Interrupt Flag Register PxIES Interrupt Edge Select Register PxIE Interrupt Enable Registros de habilitacin de interrupciones P1IE, P2IE
- Cada bit del registro habilita/deshabilita la interrupcin externa del pin de E/S asociado PxIE.x = 0 =>Interrupcin externa asociada deshabilitada PxIE.x = 1 => Interrupcin externa asociada habilitada - Todos los bits a 0 (Interrupciones deshabilitadas) despus de PUC

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S


Registros de seleccin de flanco de interrupcin P1IES, P2IES
- Slo Transiciones, no niveles estticos, provocan interrupciones - Cada bit del registro define el tipo de flanco que genera interrupcin PxIES.x = 0 => Interrupcin activa por flanco de subida (0 > 1) PxIES.x = 1 => Interrupcin activa por flanco de bajada (1 > 0) - Los bits de estos registros no se ven alterados por un PUC - Cuidado con los cambios en estos registros! => pueden provocar cambios en los flags de interrupcin correspondientes

Registros de flags de interrupcin P1IFG, P2IFG


PxIFGx=1 Si PxIE=1 y GIE=1 Peticin de interrupcin Borrado por Sw en la rutina de servicio a la interrupcin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. PUERTOS DE E/S

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Caractersticas
- Temporizador / Contador asncrono de 16 bits - 4 modos de operacin - Fuentes de reloj seleccionables - 3 Registros de captura / comparacin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloque Temporizador / Contador
- En funcin del modo de operacin se incrementa o decrementa con cada flanco de subida de la seal de reloj - Registro TAR de 16 bits que carga el valor a contar en TA. - Registro de lectura-escritura

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloque Temporizador / Contador
- En funcin del modo de operacin se incrementa o decrementa con cada flanco de subida de la seal de reloj - Registro TAR de 16 bits que carga el valor a contar en TA. - Registro de lectura-escritura - El desbordamiento de TAR puede generar interrupcin. TAIFG=1 dentro del TAIV - Borrado de TAR mediante la puesta a 1 del bit TACLR dentro del TACTL. TACLR tambin resetea el divisor del reloj.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. REGISTROS DE PERIFRICOS


Registros de 16 bits

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloque Temporizador / Contador
- En funcin del modo de operacin se incrementa o decrementa con cada flanco de subida de la seal de reloj - Registro TAR de 16 bits que carga el valor a contar en TA. - Registro de lectura-escritura - El desbordamiento de TAR puede generar interrupcin. TAIFG=1 dentro del TAIV - Borrado de TAR mediante la puesta a 1 del bit TACLR dentro del registro TACTL. TACLR tambin resetea el divisor del reloj, modo UP/DOWN.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloque Temporizador / Contador
- En funcin del modo de operacin se incrementa o decrementa con cada flanco de subida de la seal de reloj - Registro TAR de 16 bits que carga el valor a contar en TA. - Registro de lectura-escritura - El desbordamiento de TAR puede generar interrupcin. TAIFG=1 dentro del TAIV - Borrado de TAR mediante la puesta a 1 del bit TACLR dentro del registro TACTL. TACLR tambin resetea el divisor del reloj, modo UP/DOWN.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Fuente de reloj del TIMER_A. TACLK
- Fuentes internas ACLK, SMCLK - Fuentes externas TACLK, INCLK - TASSELx -IDx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Fuente de reloj del TIMER_A. TACLK
- Fuentes internas ACLK, SMCLK - Fuentes externas TACLK, INCLK - TASSELx - IDx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Fuente de reloj del TIMER_A. TACLK
- Fuentes internas ACLK, SMCLK - Fuentes externas TACLK, INCLK - TASSELx - IDx

-No se puede modificar la fuente de reloj sin parar el timer

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modos de operacin
- Tres modos de operacin distintos - MCx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modos de operacin
- Tres modos de operacin distintos - MCx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Inicio y parada del TA
- Los bits de modo MCx>0 y la fuente de reloj activa - Modo UP UP/DOWN se para si se pone TACCR0=0. Se reinicia si se carga en TACCR00 ( el temporizador cuenta en direccin ascendente desde 0)

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo UP
- Usado para periodos del temporizador de la mxima cuenta 0FFFFh. - Cuenta de forma ascendente. - El temporizador cuenta de forma aestable desde 0 hasta hasta el valor del registro de captura comparacin TACCR0. Cuando el TA llega al valor TACCR0 pone TAR=0 y repite la cuenta. - N de cuentas: desde 0h hasta TACCR0 TACCR0+1 TAR=0 - Si se selecciona el modo UP cuando TAR>TACCR0 de forma inmediata.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo UP - El flag de interrupcin TAIFG=1 en el paso de TACCR0 a 0h - El flag de interrupcin TACCR0 CCIFG =1 cuando TAR=TACCR0

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo Continuo - Cuenta de forma ascendente y aestable hasta el mximo valor de TAR (0FFFFh). No usa el TACCR0

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo Continuo -Para generar intervalos de tiempos independientes conjuntamente con los registros de captura /comparacin. -Cada vez que un intervalo se completa se puede generar una interrupcin. El siguiente intervalo se aade al registro de captura comparacin en la rutina de servicio de la interrupcin. - 3 eventos de interrupcin independientes usando los 3 registros de captura/comparacin. TACCR0,TACCR1, TACCR2

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo UP/DOWN - Se quieren periodos distintos de 0FFFFh y pulsos simtricos. - Modo aestable - Se cuenta desde 0 en forma ascendente hasta alcanzar el valor del TACCR0. Cuando se alcanza este valor se cuenta de forma descendente hasta llegar a 0. El periodo es dos veces el contenido del registro. - La direccin de cuenta es almacenada, lo que permite parar al timer y reiniciarlo en la misma direccin.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo UP/DOWN - TACCR0 CCIFG =1 si el temporizador cuenta desde TACCR0-1 a TACCR0 - TAIFG=1 si se completa la cuenta DOWN desde 0001h a 0000h -Activos una vez en cada periodo y separados periodo

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Modo UP/DOWN. Cambios del periodo de cuenta - DOWN. TACCR0 cambia - UP -Nuevo periodoperiodo actual del ciclo DOWN Cuenta hasta el nuevo periodo antes afecta tras la llegada a 0

-Nuevo periodo<periodo actual el temporizador comienza el ciclo DOWN pero puede darse una cuenta extra

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloques de captura/comparacin - Tres bloques TACCR0, TACCR1, TACCR2 - Dos modos - Captura. almacena el valor del timer ante un determinado. Bit CAP=1 del registro TACCTL -Comparacin. Genera salida en un intervalo de tiempo. Bit CAP=0 del registro TACCTL

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Bloques de captura/comparacin - Tres registros de control

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO CAPTURA. CAP=1 - Entradas de captura CCIxA y CCIxB. Se conectan a terminales externos o internos -BITS CCISX determina la seal de captura.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO CAPTURA. CAP=1 - Entradas de captura CCIxA y CCIxB. Se conectan a terminales externos o internos -BITS CCISX determina la seal de captura.

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO CAPTURA. CAP=1 - Entradas de captura CCIxA y CCIxB. Se conectan a terminales externos o internos - BITS CCISX determina la seal de captura. - BITS CMx determina los flancos captura

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO CAPTURA. CAP=1 - Entradas de captura CCIxA y CCIxB. Se conectan a terminales externos o internos - BITS CCISX determina la seal de captura. - BITS CMx determina los flancos captura

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Evento de captura provoca: - El valor del temporizador A se copia en el registro TACCRx - El flag de interrupcin TACCRx CCIFG= 1 El nivel de la seal de entrada se lee mediante el bit CCI del registro TACCTLx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Evento de captura provoca: - El valor del temporizador A se copia en el registro TACCRx - El flag de interrupcin TACCRx CCIFG= 1 El nivel de la seal de entrada se lee mediante el bit CCI del registro TACCTLx

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Evento de captura provoca: - El valor del temporizador A se copia en el registro TACCRx - El flag de interrupcin TACCRx CCIFG= 1 El nivel de la seal de entrada se lee mediante el bit CCI del registro TACCTLx La seal capturada puede ser asncrona al reloj del temporizador. El bit SCS =1 sincroniza la captura con el flanco del reloj

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Lgica de overflow - COV= 1 se produce una nueva captura antes de que la anterior haya sido leda. - Puesta a 0 por sw

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Lgica de overflow - COV= 1 se produce una nueva captura antes de que la anterior haya sido leda. - Puesta a 0 por sw

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO COMPARACIN. CAP=0 - Utilizado para generar salidas PWM interrupciones en intervalos de tiempo especificos. -Cuando el temporizador alcanza el valor de TACCRx se produce: -TACCRx CCIFG=1 -Seal interna EQUx=1 -EQUx afecta a la salida segn el modo de salida programado. -La seal de entrada CCI se almacena en SCCI

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
MODO COMPARACIN. CAP=0 - Utilizado para generar salidas PWM interrupciones en intervalos de tiempo especificos. -Cuando el temporizador alcanza el valor de TACCRx se produce: -TACCRx CCIFG=1 -Seal interna EQUx=1 -EQUx afecta a la salida segn el modo de salida programado. -La seal de entrada CCI se almacena en SCCI

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida - Cada bloque de captura/comparacin tiene una unidad de salida - La unidad de salida tiene 8 modos de operacin que generan seales basadas en EQU0 y en EQUx - Los modos se definen por los bits OUTMODx del registro TACCTLx - La seal OUTx cambia con cada flanco de subida del reloj del temporizador excepto para el modo 0 - Los modos 2,3,6 y 7 nos son vlidos para la unidad de salida de TACCR0

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida

No vlidos para TACCR0

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Unidad de salida

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A -Dos vectores de interrupcin -TACCR0 vector de interrupcin para TACCR0 CCIFG -TAIV vector de interrupcin para TACCR1 CCIFG, TACCR2 CCIFG y TAIFG -En modo captura TACCRx CCIFG se pone a 1 cuando el temporizador es capturado en un registro TACCRx -En modo comparacin TACCRx CCIFG se pone a 1 cuando el temporizador alcanza el valor TACCRx - La peticin de interrupcin se produce cuando el flag TACCRx CCIFG=1 y: - el bit de habilitacin CCIEx=1

- GIE=1

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A -Los flags TACCRx CCIFG pueden ser puestos a 1 0 por sw

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A -El flag TAIFG puede ser puesto a 1 0 por sw

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A. Vector TACCR0 - El flag TACCR0 CCIFG se pone a 0 en la RTI

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A. Vector TAIV

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A. Vector TAIV

Este nmero puede ser evaluado o sumado al PC para poner en marcha la rutina de tratamiento apropiada. El acceso de lectura o escritura a este vector provoca el borrado automtico del flag de interrupcin pendiente de mayor prioridad. Este automatismo provoca uan gestin adecuada del vector TAIV LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Interrupciones del temporizador A.

Esquema de la rutina de tratamiento de interrupcin

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. TIMER_A
Registros del temporizador A

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Circuito Watchdog. WDT La funcin fundamental del circuito watchdog es realizar una reinicializacin controlada del sistema tras un error software. Si el intervalo de tiempo programado expira se produce un reset PUC Si la funcin watchdog no se necesita en una aplicacin el mdulo puede ser usado como temporizador, permitiendo la generacin de una interrupcin en el intervalo programado. Caractersticas que incluye el circuito WDT Cuatro intervalos de cuenta seleccionables por software Modos Watchdog y Temporizador Acceso protegido al registro de control del WDT Configuracin del terminal #RST/NMI Fuente de reloj seleccionable
LABORATORIO DE SISTEMAS DIGITALES

Modo parada para el bajo consumo

MSP430F169. WATCHDOG
Registros del watchdog

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Registro de control de WDT: WDTCTL Configuracin como watchdog o temporizador Configuracin del terminal #RST/NMI Acceso de escritura Escritura del byte alto con el valor 05Ah. En caso contrario se genera un reset PUC

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Contador/temporizador del WDT El contador/temporizador del circuito WDT, WDTCNT, es un contador ascendente de 16 bits no accesible por el programador Los intervalos de tiempo seleccionables. La fuente de reloj del temporizador es seleccionable entre ACLK y SMCLK. Ambos mediante el registro de control WDTCTL

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Contador/temporizador del WDT El contador/temporizador del circuito WDT, WDTCNT, es un contador ascendente de 16 bits no accesible por el programador Los intervalos de tiempo seleccionables. La fuente de reloj del temporizador es seleccionable entre ACLK y SMCLK. Ambos mediante el registro de control WDTCTL

LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Modo Watchdog Despus del reset PUC. El mdulo WDT est configurado en modo watchdog con intervalo de reset inicial de ~ 32ms. El programador debe reestablecer el watchdog antes de este tiempo, parar borrar el WDT antes de la expiracin de este intervalo de tiempo. Provoca un reset PUC : Clave de acceso incorrecta Expiracin del temporizador en modo watchdog Valor de reset inicial ~ 32ms.
Por defecto: La seal de reloj del watchdog es SMCLK (WDTSSEL=0) generada a partir del DCO. DCO=1MHz WDTIS=00 f
DCO/32768

Intervalo=32768/fDCO=~32ms
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Modo Temporizador Este modo permite la generacin de interrupciones peridicas. Si WDTIFG=1 cuando expira el intervalo Si WDTIE=1 y GIE=1 entonces se produce interrupcin

Vector de Interrupcin en modo temporizador distinto del modo Watchdog WDTIFG se resetea de forma automtica cuando se sirve la interrupcin se puede resetear por sw.
LABORATORIO DE SISTEMAS DIGITALES

MSP430F169. WATCHDOG
Modo Watchdog. Interrupciones
RESET PUC Expiracin del temporizador Violacin de la clave de acceso a WDTCTL WDTIFG=1 El reset PUC puede ser provocado por otros eventos. Para determinar la causa se testea el bit WDTIFG. Puesta a 0 de WDTIFG por programa

Modo Temporizador. Interrupciones


El temporizador alcanza la cuenta WDTIFG=1 Si WDTIE=1 y GIE=1 Interrupcin

WDTIFG se pone a 0 de forma automtica cuando se sirve la interrupcin. Tambin se puede poner a 0 por programa
LABORATORIO DE SISTEMAS DIGITALES

You might also like