Mi primera Practica MSP430G2553

6
Instituto Tecnológico de Tuxtla Gutiérrez Lorenzo José Luis Reporte de Practica 1 Resumen—El siguiente reporte es un informe detallado con respecto a mi primer programa usando el microcontrolador msp430g2553. I. INTRODUCCIÓN EL LENGUAJE ENSAMBLADOR ES UNA REPRESENTACIÓN SIMBÓLICA DE LA CODIFICACIÓN BINARIA DE UN COMPUTADOR, EL LENGUAJE ENSAMBLADOR ES MÁS PRÓXIMO A LOS HUMANOS QUE EL LENGUAJE MAQUINA YA QUE USA SÍMBOLOS Y NO BITS. ADEMÁS EL LENGUAJE ENSAMBLADOR PERMITE A LOS PROGRAMADORES EL USO DE ETIQUETAS PARA IDENTIFICAR Y DAR NOMBRE A PALABRAS DE MEMORIA QUE ALMACENAN INSTRUCCIONES O DATOS. II. FUNDAMENTOS La familia MSP430 de microcontroladores de Texas Instruments de ultra bajo consumo de potencia, consta de varios dispositivos con diferentes conjuntos de periféricos orientados para diferentes aplicaciones. Figura 1. Microcontrolador MSP430G2553 ESPACIO DE DIRECCIONES Los MSP430 tienen una arquitectura de Von Neumann, de un espacio de direcciones compartido con los registros de funciones especiales (SFRs). Figura 2. Distribución de Memoria System resets and Initialization INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ Reporte de practica 1 José Luis Lorenzo López [email protected] 1

description

Mi primera practica usando MSP430G2553.Documento de reporte de practica donde se redacta todo lo correspondiente a mi primera practica.

Transcript of Mi primera Practica MSP430G2553

4Instituto Tecnolgico de Tuxtla Gutirrez

Lorenzo Jos Luis

Reporte de Practica 1

(INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZReporte de practica 1

Jos Luis Lorenzo [email protected] siguiente reporte es un informe detallado con respecto a mi primer programa usando el microcontrolador msp430g2553.I. IntroduccinEl lenguaje ensamblador es una representacin simblica de la codificacin binaria de un computador, el lenguaje ensamblador es ms prximo a los humanos que el lenguaje maquina ya que usa smbolos y no bits. adems el lenguaje ensamblador permite a los programadores el uso de etiquetas para identificar y dar nombre a palabras de memoria que almacenan instrucciones o datos.II. FundamentosLa familia MSP430 de microcontroladores de Texas Instruments de ultra bajo consumo de potencia, consta de varios dispositivos con diferentes conjuntos de perifricos orientados para diferentes aplicaciones.

Figura 1. Microcontrolador MSP430G2553

ESPACIO DE DIRECCIONESLos MSP430 tienen una arquitectura de Von Neumann, de un espacio de direcciones compartido con los registros de funciones especiales (SFRs).

Figura 2. Distribucin de Memoria

System resets and InitializationLa circuitera de reinicio del sistema que se muestra en la figura 3 es la que pone en funcionamiento tanto la seal de Power-On Reset (POR) como la de PowerUp Clear (PUC). Diferentes eventos activan estas seales de puesta a cero y existen diferentes condiciones iniciales en funcin de la seal que se genere.

Figura 3. Esquema de los mecanismos Power-On Reset y Power-Up Clear.

El POR es un mecanismo de reinicio del sistema que slo se genera con los siguientes eventos:

El arranque del microcontrolador.

Una nivel bajo en el pin RST/NMI cuando se configura en el modo de reset.

Un nivel bajo generado por SVS cuando PORON=1.

PUC siempre se genera cuando POR se ha generado, pero no sucede a la inversa. Los siguientes eventos activan el PUC:

La existencia de la seal de POR.

La expiracin del temporizador Watchdog, slo en modo Watchdog.

Una violacin en la clave de seguridad del Watchdog timer.

Una violacin en la clave de seguridad de la memoria flash.Interrupciones

Las prioridades de las interrupciones se fijan y definen por la disposicin de los mdulos conectados en cadena como aparece en la figura 2.3. El mdulo ms cercano al CPU/NMIRS tiene la mayor prioridad. Las prioridades de las interrupciones determinan que interrupcin ser efectiva cuando ms de una estn pendientes al mismo tiempo. Existen tres tipos de interrupciones: System reset.

(Non)-maskable NMI.

Maskable.

Figura 4. Esquema de prioridad de las interrupciones.

Aprobacion de las interrupciones

El perodo de latencia de una interrupcin son seis ciclos, empezando por la aceptacin del requerimiento de una interrupcin y durando hasta el inicio de la ejecucin de la primera instruccin de la rutina de servicio de la interrupcin.

Figura 5. Rutina de servicio de Interrupcion.

Retorno de Interrupcion

El retorno de interrupcin necesita 5 ciclos para ejecutar las acciones siguientes:1) El SR con todos sus ajustes previos aparece de la pila. Todos los ajustes previos del GIE, CPUOFF, etc., entran ahora en vigor, sin tener en cuenta los ajustes utilizados en la rutina de servicio de interrupcin.

2) El PC aparece de la pila y empieza su ejecucin en el punto en el que fue interrumpido.

Figura 6. Funcionamiento del retorno de interrupcion.

Modos de funcionamientoEl microcontrolador MSP430 tiene un modo activo de funcionamiento y cinco modos de seleccin de programa de bajo consumo. Un evento de interrupcin puede despertar el dispositivo de cualquiera de los modos de bajo consumo, atendiendo a la solicitud y restaurando de nuevo al modo de bajo consumo en el retorno del programa de la interrupcin.

Figura 7. Modos de FuncionamientoCPULa CPU MSP430 tiene una arquitectura RISC de 16-bit que es muy transparente para la aplicacin. Todas las operaciones, a parte de las instrucciones de flujo del programa que son 27, se llevan a cabo como operaciones de registro en conjunto con siete modos de direccionamiento para el operando de la fuente y cuatro modos de direccionamiento para el operando de destino.

Figura 8. Diagrama de bloques de la CPU

RegistrosLa CPU est integrada con 16 registros de 16-bit que facilitan la reduccin del tiempo de ejecucin de instrucciones. El tiempo de ejecucin de la operacin registro a registro es un ciclo del reloj de la CPU. Cuatro de los registros, R0 a R3, se dedican como contador de programa, puntero de pila, registro de estado, y un generador constante, respectivamente. Los registros restantes son de uso general.

Modos de Direccionamiento

Existen siete modos de direccionamiento para el operando de origen y cuatro modos para el de destino que pueden direccionar todo el espacio de direcciones sin excepciones.

Figura 9. Modos de Direccionamiento.

III. Desarrollo de la practica

Primeramente es necesario codificar en lenguaje ensamblador el cdigo que nosotros queramos se queme en el MSP430, en mi caso es un cdigo diseado para que cuando se presione el switch muestre un estado con respecto a los 2 leds incluidos en el launchpad.

El cdigo est programado en CCS (Code Composer Studio).

Figura 10. Codigo en CCS.

Figura 11. Codigo Compilado y sin Errores.

Figura 12. Codigo cargado en el MSP430G2553 y listo para probar.IV. ConclusinAl final el launchpad funciono de forma correcta en el sentido que hiso lo que en el cdigo est escrito, el programar en lenguaje ensamblador es un reto ya que uno aqu se mueve por registros ubicados en el microcontrolador, el microcontrolador MSP430G2553 puede hacer mucho ms que solo encender leds aunque en mi primera practica es lo que hice, an existen muchas palabras reservadas que no use pero que en el transcurso de las practicas tendr que empezar a familiarizarme.referencias [1] http://investigacion.tecjerez.edu.mx/clubrobotica/Manual_MicrocontroladorMSP430.pdf[2] http://perso.citi.insa-lyon.fr/afraboul/rts6/doc/EW430_AssemblerReference.pdf[3] http://www.ti.com/lit/ug/slau318f/slau318f.pdf[4] http://www.ti.com/lit/ug/slau157ag/slau157ag.pdf[5] http://www.ece.uah.edu/~milenka/cpe323-09S/labs/lab2.s09.pdf