SlideShare una empresa de Scribd logo
1 de 18
Introducción al Microcontrolador
MSP430 TI
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
2
1. Introducción
La familia MSP430 de Texas Instruments son procesadores de ultra bajo consumo que ofrecen
diferentes conjuntos de periféricos específicos para diversas aplicaciones. La arquitectura, junto
con cinco modos de bajo consumo, se ha optimizado para lograr una vida prolongada de la batería
en aplicaciones autosuficientes de medición. El dispositivo cuenta con una poderosa CPU RISC de
16-bit, los registros son de 16-bits, y generadores de constantes que contribuyen a la eficiencia
máxima del código. El oscilador controlado digitalmente (DCO) permite despertar desde los modos
de bajo consumo al modo activo en menos de 1 ms.
La serie MSP430G2553 es un microcontrolador de ultra-baja potencia con un temporizador interno
de 16-bits y diez pines de E / S. Los procesadores de la familia MSP430G2x5x tienen un
convertidor A / D de 10-bits, una unidad de comunicaciones serial asíncronas UART y capacidad
integrada de comunicación mediante protocolos sincrónicos (SPI o I2C).
Las aplicaciones típicas a las que están orientadas incluyen sistemas de sensores de bajo coste
que captan señales analógicas, las convierte a valores digitales, y luego procesar los datos para su
visualización o para la transmisión a un sistema anfitrión.
1.1 Principales características del MSP430
Aunque hay variantes en los dispositivos de la familia, un microcontrolador MSP430 puede
caracterizarse por:
• Bajo consumo de energía:
 0,1 uA para la retención de datos en RAM.
 0,8 uA para funcionar el reloj en tiempo real.
 250 uA / MIPS en funcionamiento activo.
• Baja tensión de funcionamiento (de 1,8 V a 3,6 V):
 <1 us de puesta en marcha.
 <50 nA fuga de puerto.
• Zero-power Brown-Out Reset (BOR).
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
3
• Dispositivos analógicos On-chip:
 Conversor analógico-digital (ADC) 10/12/16-bits.
 Conversor digital-analógico (DAC) dual de 12-bits.
 Temporizadores por Comparación y bloqueados.
 Amplificadores Operacionales (OP).
 Supervisor Supply Voltage (SVS).
• CPU RISC de 16 bits:
 Instrucciones de procesamiento para bits, bytes o palabras.
 Diseño de núcleo compacto reduciendo el consumo de energía y los costes.
 Eficiente compilador.
 27 Instrucciones básicas.
 7 modos de direccionamiento.
 Amplia capacidad de interrupción vectorizada.
• Flexibilidad:
 Hasta 256 kB de Flash Programable dentro del sistema (ISP).
 Hasta 100 opciones de pines.
 USART, I2C, Timers.
 Driver LCD.
 Emulación incorporada.
1.2 Diagrama funcional del MSP430
Los dispositivos MSP430 implementan sistemas completos de:
1. CPU RISC
2. 128 bytes de memoria RAM
3. 1-2kB flash
4. Conversor Analógico-Digital
5. 8 puertos I / O
6. Interfaz Serie
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
4
1.3 Mapa de Memoria
Para todos los dispositivos, cada posición de memoria está formada por 1 byte de datos.
La CPU es capaz direccionar valores de datos ya sea como bytes (8 bits) o palabras (16 bits).
Las palabras siempre se dirigen a una dirección par, que contiene el byte menos significativo,
seguido de la dirección siguiente impar, que contiene el byte más significativo. Para las
operaciones de 8-bits, los datos se pueden acceder desde cualquiera de las direcciones pares o
impares, pero para operaciones de 16-bits, los valores de datos sólo se pueden acceder desde
direcciones pares.
1.4 Asignación de Memoria Periférica
Los módulos periféricos se mapean en memoria y aparecen como parte de la memorial.
Por ejemplo: el registro P1IN se mapea en la dirección de memoria 0x20. Si leemos la dirección de
memoria 0x20, leeremos el valor del registro P1IN.
1.5 Tabla de Vector de Interrupción
La tabla de vectores de interrupción se asigna al final de espacio de memoria (las últimas 16
palabras de Flash / ROM), en las posiciones de 0FFE0h hasta 0FFFEh (ver las hojas de datos
específica del dispositivo).
La prioridad del vector de interrupción aumenta con la dirección de palabra.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
5
1.6 CPU
La arquitectura que sigue es la llamada Von Neumann, con una CPU de 16-bits del tipo RISC y 16
registros del mismo tamaño disponibles para su uso. Otro dato a destacar es su oscilador interno
controlado de forma digital (llamado DCO) que es capaz de estabilizarse desde una situación
donde la CPU esté en dormida (modo bajo consumo) en menos de 6 μs.
La arquitectura RISC de la CPU se basa en un conjunto de instrucciones de corto (27
instrucciones), interconectadas por una tubería de instrucción 3-etapa de decodificar la instrucción.
La CPU tiene una ALU de 16-bits, cuatro registros dedicados y doce registros de trabajo, lo que
hace del MSP430 un microcontrolador de alto rendimiento adecuado para aplicaciones de baja
potencia. El hecho de tener doce registros de trabajo de propósito general ahorra ciclos de CPU al
permitir el almacenamiento de valores de uso frecuente y variables en lugar de utilizar RAM.
El conjunto de instrucciones ortogonal permite el uso de cualquier modo de direccionamiento para
cualquier instrucción, que hace que la programación sea clara y consistente, con pocas
excepciones, aumentando la eficiencia del compilador para lenguajes de alto nivel, tales como C.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
6
1.7 ADC10
EL ADC10 es un módulo muy simplificado, tiene 4 modos de trabajo o modos de conversión bien
definidos. Este módulo ADC10 (conversor analógico de 10 bits de aproximación suscesiva) no es el
único módulo analógico digital presente en los MSP430xxx, existen también el ADC12 (conversor
analógico de 12 bits de aproximación suscesiva), el SD16_A (conversor analógico de 16 bits
sigma-delta) y el SD24_A (conversor analógico multicanal de 24 bits sigma delta), todos ellos en
conjunto le dan el nombre de Mixed Signal Processor (MSP) a esta familia de microcontroladores.
El módulo ADC está constituido por:
- entradas analógicas o analog inputs (10 canales desde el A0 hasta el A7, Vmid y Vtemp),
- referencias internas (VCC, VSS, 2.5V, 1.5V)
- referencias externas (VeREF+ y VeREF-)
- clock source (ADC10OSC, ACLK, MCLK, SMCLK)
- divisor (ADC10DIV)
- conversion triggers (ADC10SC, TA0, TA1, TA2)
- modes (conversión de un solo canal, conversión de una secuencia de canales, conversión
repetitiva de un solo canal, conversión repetitiva de una secuencia de canales), un
- buffer donde se almacena el resultado de la conversión ADC10MEM
- controlador de transferencia de datos para cargar automáticamente el contenido del
buffer ADC10MEM en posiciones de memoria dentro del microcontrolador.
Gráficamente podemos agrupar las etapas de la siguiente manera:
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
7
El diagrama de bloques simplificado del ADC10 es:
El LaunchPad MSP430G2553 contiene un sensor de temperatura, un termistor, conectado al ADC
y por lo tanto capaz de obtener su propia temperatura. Un ADC compara un voltaje de entrada
variable con un voltaje de referencia, devolviendo la proporción entre estos dos valores.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
8
El ADC10 del G2553 devuelve un número entre 0 y 1023, 1024 = 2^10 valores. El ADC, con una
entrada analógica de 1V y un Vref de 1,5V, nos devolverá el valor 682 del total de 1024 y teniendo
la misma proporción:
1
1.5� = 0,666 = 682
1024�
Recordemos que los termistores NTC cambian su resistencia con la temperatura: a temperaturas
altas nos proporciona valores resistivos bajos:
Para poder utilizar el sensor se implementa un divisor de temperatura como el mostrado:
Con este circuito observamos como conforme la temperatura incrementa, la R1 disminuye y por lo
tanto el Vout aumenta. Como ejemplo tenemos:
- R1, termistor de 10K a 25ºC.
- R2, resistencia fija de 10K.
- Vin, voltaje de referencia fijo de 1.5V para el ejemplo.
A 25ºC y con un Vin de referencia de 1.5V el resultado del circuito con el termistor será:
𝑉𝑜𝑢𝑡 = 10000
(10000 + 10000)� ∗ 1.5𝑉 = 1
2� ∗ 1.5 = 0.75𝑉
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
9
El ADC, con una entrada analógica de 0.75V y con un voltaje de referencia de 1.5, devolverá el
valor 512 siendo proporcional.
0.75
1.5� = 1
2� = 512
1024�
Para convertir el voltaje de entrada del ADC en una muestra de temperatura digital:
𝐹𝑎ℎ𝑟𝑒𝑛ℎ𝑒𝑖𝑡 = ��� 𝐴𝐷𝐶10
1024� � ∗ 1500𝑚𝑉� − 923𝑚𝑉� ∗ 1
1.97𝑚𝑉� =
𝐴𝐷𝐶10 ∗ 761
1024
− 468
La fórmula para obtener la muestra en Grados centígrados será:
𝐺𝑟𝑎𝑑𝑜𝑠 =
[(𝐴𝐷𝐶1 − 630) ∗ 761]
1024
A continuación mostramos un ejemplo de código que muestrea el sensor de temperatura del
MSP430.
Muestreo ADC para la Temperatura
#include <msp430g2553.h>
long sample;
long DegreeF;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC10CTL1 = INCH_10 + ADC10DIV_3; // Temp Sensor ADC10CLK/4
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON; // Ref voltage/sample & hold time/
// reference generator ON/ADC10 ON
while(1) {
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
while ( ADC10CTL1 & ADC10BUSY ); // Wait for ADC to complete
sample = ADC10MEM; // Read ADC sample
DegreeF = ((sample - 630) * 761) / 1024;
__no_operation(); // SET BREAKPOINT HERE
}
}
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
10
2. Operaciones Lógicas
2.1 And/Or/XOr/Not
Los 8 bits están organizados como 76543210, siendo el valor 01000000 = 0x40.
A continuación se da un repaso de las operaciones más utilizadas y su formato en el lenguaje C
para los registros del MSP430.
AND &= OR |=
P1OUT = 0x71; 01110001 P1OUT = 0x01; 00000001
P1OUT &=0x40; & 01000000 P1OUT &=0x40; | 01000000
P1OUT 01000000 P1OUT 01000001
XOR ^= NOT ~
P1OUT = 0x71; 01110001 P1OUT = 0x71; 01110001
P1OUT &=0x40; & 01000000 P1OUT &= ~0x40; & 10111111
P1OUT 00110001 P1OUT 00110001
Cuestión 1: Cual será el resultado del registro P1OUT siendo P1OUT = 0xC7 = 11000111
a. P1OUT &= 0x40;
b. P1OUT |= 0x08;
c. P1OUT ^= 0x40;
d. P1OUT &= ~0x40;
2.2 Puertos IN/OUT
El MSP430 posee tres registros de entrada/salida, de los cuales 2 están completamente cableados
al exterior, el P1 y P2. El P1 tiene cableadas las siguientes salidas:
- P1.0 LED Rojo
- P1.3 botón S1
- P1.6 LED Verde
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
11
2.2 Ejemplo parpadeo LED Verde
1. Parpadeo LED Verde
#include <msp430g2553.h>
unsigned int i = 0;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer.
P1DIR |= 0x40; // P1DIR configures direction port pin (DIR) output or input.
// 1 is output, 0 is input. 0x40 is Green LED
while(1) {
P1OUT ^= 0x40; // Toggle P1.6
// P1OUT register holds the status of the LED.
// 1 is ON, 0 is OFF. 0x40 is Green LED
for(i=0; i < 50000; i++); // Delay between Green LED toggles.
}
}
WDTCTL : Este registro controla el Watchdog Timer y se utiliza para ejecutar un reset del sistema
si se excede un determinado tiempo. Esto es útil en bucles infinitos. En nuestro ejemplo lo
desactivamos.
P1DIR : Controla la dirección de cada uno de los 8 bits del puerto P1. Antes de todo se debe
inicializar la dirección I/O que debe tomar el bit a utilizar. El bit 6 (0x40) se corresponde con el led
verde. Realizando una OR con un 1 configuramos el bit como OUT.
P1OUT : Registro de salida de 8 bits del P1. Poniendo un 1 en el bit 6 provocaremos el encendido
del led verde.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
12
3. Compilador IAR
3.1 Instalación
Actualmente existen dos compiladores para poder programar el MSP430, uno es el Code
Composer Studio basado en la plataforma Eclipse y por lo tanto de carácter gratuito con un tamaño
de 1,2 Gb, y el otro es el IAR que es un compilador con licencia pero con la posibilidad de utilizarlo
por un tiempo de 30 días o con una licencia limitada a 4KB de programa.
Los pasos para la instalación del IAR Workbench son los siguientes:
1. Página de descarga: http://supp.iar.com/Download/SW/?item=EW430-EVAL
2. Ejecutar el instalador y aparecerá la siguiente pantalla donde seleccionaremos “Install IAR
Embedded Workbench”.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
13
3. Seleccionamos la instalación completa.
4. En el cuadro de selección del tipo de licencia seleccionaremos la opción “Register with IAR
Systems to get evaluation license”.
5. Se nos abrirá la página web de IAR para registrarnos donde elegiremos el tipo de licencia
que queremos, en nuestro caso “Time limitted”.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
14
6. Una vez obtenido el número de licencia lo introducimos en el instalador y se nos confirma
que la licencia se ha activado correctamente y finalizamos la instalación.
3.2 Crear una compilación en IAR
Los pasos para crear un proyecto en IAR Workbench son los siguientes:
1- Primero abrimos el IDE y vamos a la pestaña “Proyect” y seleccionamos la opción “Create
New Proyect”.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
15
2- Luego aparecerá una ventana donde nos piden especificar la familia del microcontrolador y
el project template junto con el tool chain. En nuestro caso seleccionamos la familia
MSP430 y el toolchain C con el template main.
3- Después nos solicita saber dónde guardar el proyecto, entonces le direccionamos la carpeta
vacía que acabamos de crear y le ponemos el mismo nombre al proyecto.
4- Una vez definida la ruta nos aparecerá un proyecto vacío. Luego sobre el nombre del
proyecto seleccionamos botón derecho y “Options”. Nos aparecerá una nueva ventana con
las opciones y en “General Options” selecionaremos el tipo de procesador.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
16
5- En la categoría de “Debugger” cambiaremos el tipo de “Driver” a FET Debugger.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
17
6- Y en la categoría de “FET Debugger” comprobaremos que están las opciones como
mostramos.
7- Por último editamos nuestro proyecto con el código de ejemplo. Para compilar nuestro
código utilizaremos el botón “Make”, y para probarlo utilizaremos el botón “Download and
Debug”.
Diseño de Circuitos y Sistemas Integrados
Master de Telecomunicaciones 2013- UA
Julio Jornet Monteverde
18
4. Practica a desarrollar
1. Realizar un programa que al pulsar el switch S2 el led rojo parpadee tres veces y a
continuación parpadee otras tres veces el led verde.
2. Modificar el código anterior e implementarlo utilizando el vector de interrupción del registro
P1IE.
5. Referencias
http://es.wikipedia.org/wiki/MSP430
http://www.iar.com/
http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29
http://www.msp430launchpad.com/
http://processors.wiki.ti.com/index.php/Open_Source_Projects_-
_MSP430#Open_Source_Code_Examples.2C_Stacks_.26_APIs
http://microembebidos.wordpress.com/2012/07/15/tutorial-msp430-prender-un-led/
http://www.youtube.com/watch?v=-9wlhU09kJc
6. Lista de cambios
Versión 0: versión inicial del documento. Fecha: 14/05/2013 Autor: Julio Jornet.
• Estructura general del documento: Introducción, Operaciones Lógicas, Compilador IAR,
Practica a desarrollar y Referencias.

Más contenido relacionado

La actualidad más candente

Electrónica digital: Codificadores y decodificadores
Electrónica digital: Codificadores y decodificadores Electrónica digital: Codificadores y decodificadores
Electrónica digital: Codificadores y decodificadores SANTIAGO PABLO ALBERTO
 
Pre-amplificador para micrófono capacitivo
Pre-amplificador para micrófono capacitivoPre-amplificador para micrófono capacitivo
Pre-amplificador para micrófono capacitivoaliloinomedle
 
Introducción arduino
Introducción arduinoIntroducción arduino
Introducción arduinotoni
 
Microcontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsMicrocontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsNilesh Bhaskarrao Bahadure
 
Libro simulacion mikroc
Libro simulacion mikrocLibro simulacion mikroc
Libro simulacion mikrocpabs_devil
 
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Jomicast
 
Programacion PLD
Programacion PLDProgramacion PLD
Programacion PLDdavic_exe
 
PIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESPIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESDr.YNM
 
Fuente Simetrica Regulable
Fuente Simetrica RegulableFuente Simetrica Regulable
Fuente Simetrica Regulablemiguel cruz
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 

La actualidad más candente (20)

Electrónica digital: Codificadores y decodificadores
Electrónica digital: Codificadores y decodificadores Electrónica digital: Codificadores y decodificadores
Electrónica digital: Codificadores y decodificadores
 
Pre-amplificador para micrófono capacitivo
Pre-amplificador para micrófono capacitivoPre-amplificador para micrófono capacitivo
Pre-amplificador para micrófono capacitivo
 
Introducción arduino
Introducción arduinoIntroducción arduino
Introducción arduino
 
Microcontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsMicrocontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basics
 
Tarjeta de red
Tarjeta de redTarjeta de red
Tarjeta de red
 
Protocolo modbus
Protocolo modbusProtocolo modbus
Protocolo modbus
 
Amplificación transistor
Amplificación transistorAmplificación transistor
Amplificación transistor
 
ADC-DAC.pdf
ADC-DAC.pdfADC-DAC.pdf
ADC-DAC.pdf
 
Libro simulacion mikroc
Libro simulacion mikrocLibro simulacion mikroc
Libro simulacion mikroc
 
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
 
88 circuitos electronicos
88 circuitos electronicos88 circuitos electronicos
88 circuitos electronicos
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
 
Programacion PLD
Programacion PLDProgramacion PLD
Programacion PLD
 
CMOS Logic Circuits
CMOS Logic CircuitsCMOS Logic Circuits
CMOS Logic Circuits
 
PIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESPIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTES
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Registros del Pic 16F84
Registros del Pic 16F84Registros del Pic 16F84
Registros del Pic 16F84
 
Fuente Simetrica Regulable
Fuente Simetrica RegulableFuente Simetrica Regulable
Fuente Simetrica Regulable
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 

Destacado

Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430Cesar MARTI
 
3 embedded gr_ppapag_msp430_arch
3 embedded gr_ppapag_msp430_arch3 embedded gr_ppapag_msp430_arch
3 embedded gr_ppapag_msp430_archchandrika
 
Microbots: microcontroller msp430
Microbots: microcontroller msp430Microbots: microcontroller msp430
Microbots: microcontroller msp430crisurdiales
 
Sensor de temperatura lm35
Sensor de temperatura lm35Sensor de temperatura lm35
Sensor de temperatura lm35Jorsh Tapia
 
Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Volkan Rivera
 
Juniper denegacion de servicio (DoS) (y)
Juniper denegacion de servicio (DoS) (y)Juniper denegacion de servicio (DoS) (y)
Juniper denegacion de servicio (DoS) (y)Jherdy
 
Proyecto de redes lan
Proyecto de redes lanProyecto de redes lan
Proyecto de redes lanBetancud
 
Conceptos básicos auditoria de redes 1
Conceptos básicos  auditoria de redes 1Conceptos básicos  auditoria de redes 1
Conceptos básicos auditoria de redes 1Miguel Haddad
 
Libros y materiales 2015 16
Libros y materiales 2015 16Libros y materiales 2015 16
Libros y materiales 2015 16auxihe
 
Presentación Nexus Backup
Presentación Nexus BackupPresentación Nexus Backup
Presentación Nexus Backupguest8d4bb8a
 
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesProtección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesseguridadelinux
 
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...Antonio Belchí Hernández
 
GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6Alex Vasquez
 

Destacado (20)

Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430
 
Msp430
Msp430Msp430
Msp430
 
3 embedded gr_ppapag_msp430_arch
3 embedded gr_ppapag_msp430_arch3 embedded gr_ppapag_msp430_arch
3 embedded gr_ppapag_msp430_arch
 
Microbots: microcontroller msp430
Microbots: microcontroller msp430Microbots: microcontroller msp430
Microbots: microcontroller msp430
 
Sensor de temperatura lm35
Sensor de temperatura lm35Sensor de temperatura lm35
Sensor de temperatura lm35
 
Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2
 
Vmwar Ex
Vmwar ExVmwar Ex
Vmwar Ex
 
Guia didactica historia
Guia didactica historiaGuia didactica historia
Guia didactica historia
 
Juniper denegacion de servicio (DoS) (y)
Juniper denegacion de servicio (DoS) (y)Juniper denegacion de servicio (DoS) (y)
Juniper denegacion de servicio (DoS) (y)
 
Virus crea accesos directos y oculta carpetas
Virus crea accesos directos y oculta carpetasVirus crea accesos directos y oculta carpetas
Virus crea accesos directos y oculta carpetas
 
Proyecto de redes lan
Proyecto de redes lanProyecto de redes lan
Proyecto de redes lan
 
Cortafuegos
CortafuegosCortafuegos
Cortafuegos
 
Conceptos básicos auditoria de redes 1
Conceptos básicos  auditoria de redes 1Conceptos básicos  auditoria de redes 1
Conceptos básicos auditoria de redes 1
 
Libros y materiales 2015 16
Libros y materiales 2015 16Libros y materiales 2015 16
Libros y materiales 2015 16
 
Presentación Nexus Backup
Presentación Nexus BackupPresentación Nexus Backup
Presentación Nexus Backup
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesProtección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
 
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...
Escenarios de Enrutamiento Dinámico Avanzado en Entornos Virtuales mediante T...
 
GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6
 
Powershell
PowershellPowershell
Powershell
 

Similar a MSP430 TI Intro

Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasAldo Corp
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorMarcelo Mendoza
 
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOFernando Marcos Marcos
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontroladorVannesa Salazar
 
Practica 6 de Electrónica digital: Circuitos combinacionales
Practica 6 de Electrónica digital: Circuitos combinacionales Practica 6 de Electrónica digital: Circuitos combinacionales
Practica 6 de Electrónica digital: Circuitos combinacionales SANTIAGO PABLO ALBERTO
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCFernando Cahueñas
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorasYessicafragoso
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
Capitulo 4 arquitecturadehardware
Capitulo 4 arquitecturadehardwareCapitulo 4 arquitecturadehardware
Capitulo 4 arquitecturadehardwaremaria_amanta
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionalesJonathan P C
 
Electronica: microcontroladores aplicaciones IoT
Electronica: microcontroladores aplicaciones IoTElectronica: microcontroladores aplicaciones IoT
Electronica: microcontroladores aplicaciones IoTLeopoldo Armesto Ángel
 

Similar a MSP430 TI Intro (20)

Arquitectura de la PC-I
Arquitectura de la PC-IArquitectura de la PC-I
Arquitectura de la PC-I
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
Semana6
Semana6Semana6
Semana6
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesador
 
Adc 4
Adc 4Adc 4
Adc 4
 
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
 
Expo25
Expo25Expo25
Expo25
 
Pld's
Pld'sPld's
Pld's
 
Plc1
Plc1Plc1
Plc1
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontrolador
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Practica 6 de Electrónica digital: Circuitos combinacionales
Practica 6 de Electrónica digital: Circuitos combinacionales Practica 6 de Electrónica digital: Circuitos combinacionales
Practica 6 de Electrónica digital: Circuitos combinacionales
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PC
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Capitulo 4 arquitecturadehardware
Capitulo 4 arquitecturadehardwareCapitulo 4 arquitecturadehardware
Capitulo 4 arquitecturadehardware
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionales
 
Electronica: microcontroladores aplicaciones IoT
Electronica: microcontroladores aplicaciones IoTElectronica: microcontroladores aplicaciones IoT
Electronica: microcontroladores aplicaciones IoT
 

MSP430 TI Intro

  • 2. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 2 1. Introducción La familia MSP430 de Texas Instruments son procesadores de ultra bajo consumo que ofrecen diferentes conjuntos de periféricos específicos para diversas aplicaciones. La arquitectura, junto con cinco modos de bajo consumo, se ha optimizado para lograr una vida prolongada de la batería en aplicaciones autosuficientes de medición. El dispositivo cuenta con una poderosa CPU RISC de 16-bit, los registros son de 16-bits, y generadores de constantes que contribuyen a la eficiencia máxima del código. El oscilador controlado digitalmente (DCO) permite despertar desde los modos de bajo consumo al modo activo en menos de 1 ms. La serie MSP430G2553 es un microcontrolador de ultra-baja potencia con un temporizador interno de 16-bits y diez pines de E / S. Los procesadores de la familia MSP430G2x5x tienen un convertidor A / D de 10-bits, una unidad de comunicaciones serial asíncronas UART y capacidad integrada de comunicación mediante protocolos sincrónicos (SPI o I2C). Las aplicaciones típicas a las que están orientadas incluyen sistemas de sensores de bajo coste que captan señales analógicas, las convierte a valores digitales, y luego procesar los datos para su visualización o para la transmisión a un sistema anfitrión. 1.1 Principales características del MSP430 Aunque hay variantes en los dispositivos de la familia, un microcontrolador MSP430 puede caracterizarse por: • Bajo consumo de energía:  0,1 uA para la retención de datos en RAM.  0,8 uA para funcionar el reloj en tiempo real.  250 uA / MIPS en funcionamiento activo. • Baja tensión de funcionamiento (de 1,8 V a 3,6 V):  <1 us de puesta en marcha.  <50 nA fuga de puerto. • Zero-power Brown-Out Reset (BOR).
  • 3. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 3 • Dispositivos analógicos On-chip:  Conversor analógico-digital (ADC) 10/12/16-bits.  Conversor digital-analógico (DAC) dual de 12-bits.  Temporizadores por Comparación y bloqueados.  Amplificadores Operacionales (OP).  Supervisor Supply Voltage (SVS). • CPU RISC de 16 bits:  Instrucciones de procesamiento para bits, bytes o palabras.  Diseño de núcleo compacto reduciendo el consumo de energía y los costes.  Eficiente compilador.  27 Instrucciones básicas.  7 modos de direccionamiento.  Amplia capacidad de interrupción vectorizada. • Flexibilidad:  Hasta 256 kB de Flash Programable dentro del sistema (ISP).  Hasta 100 opciones de pines.  USART, I2C, Timers.  Driver LCD.  Emulación incorporada. 1.2 Diagrama funcional del MSP430 Los dispositivos MSP430 implementan sistemas completos de: 1. CPU RISC 2. 128 bytes de memoria RAM 3. 1-2kB flash 4. Conversor Analógico-Digital 5. 8 puertos I / O 6. Interfaz Serie
  • 4. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 4 1.3 Mapa de Memoria Para todos los dispositivos, cada posición de memoria está formada por 1 byte de datos. La CPU es capaz direccionar valores de datos ya sea como bytes (8 bits) o palabras (16 bits). Las palabras siempre se dirigen a una dirección par, que contiene el byte menos significativo, seguido de la dirección siguiente impar, que contiene el byte más significativo. Para las operaciones de 8-bits, los datos se pueden acceder desde cualquiera de las direcciones pares o impares, pero para operaciones de 16-bits, los valores de datos sólo se pueden acceder desde direcciones pares. 1.4 Asignación de Memoria Periférica Los módulos periféricos se mapean en memoria y aparecen como parte de la memorial. Por ejemplo: el registro P1IN se mapea en la dirección de memoria 0x20. Si leemos la dirección de memoria 0x20, leeremos el valor del registro P1IN. 1.5 Tabla de Vector de Interrupción La tabla de vectores de interrupción se asigna al final de espacio de memoria (las últimas 16 palabras de Flash / ROM), en las posiciones de 0FFE0h hasta 0FFFEh (ver las hojas de datos específica del dispositivo). La prioridad del vector de interrupción aumenta con la dirección de palabra.
  • 5. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 5 1.6 CPU La arquitectura que sigue es la llamada Von Neumann, con una CPU de 16-bits del tipo RISC y 16 registros del mismo tamaño disponibles para su uso. Otro dato a destacar es su oscilador interno controlado de forma digital (llamado DCO) que es capaz de estabilizarse desde una situación donde la CPU esté en dormida (modo bajo consumo) en menos de 6 μs. La arquitectura RISC de la CPU se basa en un conjunto de instrucciones de corto (27 instrucciones), interconectadas por una tubería de instrucción 3-etapa de decodificar la instrucción. La CPU tiene una ALU de 16-bits, cuatro registros dedicados y doce registros de trabajo, lo que hace del MSP430 un microcontrolador de alto rendimiento adecuado para aplicaciones de baja potencia. El hecho de tener doce registros de trabajo de propósito general ahorra ciclos de CPU al permitir el almacenamiento de valores de uso frecuente y variables en lugar de utilizar RAM. El conjunto de instrucciones ortogonal permite el uso de cualquier modo de direccionamiento para cualquier instrucción, que hace que la programación sea clara y consistente, con pocas excepciones, aumentando la eficiencia del compilador para lenguajes de alto nivel, tales como C.
  • 6. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 6 1.7 ADC10 EL ADC10 es un módulo muy simplificado, tiene 4 modos de trabajo o modos de conversión bien definidos. Este módulo ADC10 (conversor analógico de 10 bits de aproximación suscesiva) no es el único módulo analógico digital presente en los MSP430xxx, existen también el ADC12 (conversor analógico de 12 bits de aproximación suscesiva), el SD16_A (conversor analógico de 16 bits sigma-delta) y el SD24_A (conversor analógico multicanal de 24 bits sigma delta), todos ellos en conjunto le dan el nombre de Mixed Signal Processor (MSP) a esta familia de microcontroladores. El módulo ADC está constituido por: - entradas analógicas o analog inputs (10 canales desde el A0 hasta el A7, Vmid y Vtemp), - referencias internas (VCC, VSS, 2.5V, 1.5V) - referencias externas (VeREF+ y VeREF-) - clock source (ADC10OSC, ACLK, MCLK, SMCLK) - divisor (ADC10DIV) - conversion triggers (ADC10SC, TA0, TA1, TA2) - modes (conversión de un solo canal, conversión de una secuencia de canales, conversión repetitiva de un solo canal, conversión repetitiva de una secuencia de canales), un - buffer donde se almacena el resultado de la conversión ADC10MEM - controlador de transferencia de datos para cargar automáticamente el contenido del buffer ADC10MEM en posiciones de memoria dentro del microcontrolador. Gráficamente podemos agrupar las etapas de la siguiente manera:
  • 7. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 7 El diagrama de bloques simplificado del ADC10 es: El LaunchPad MSP430G2553 contiene un sensor de temperatura, un termistor, conectado al ADC y por lo tanto capaz de obtener su propia temperatura. Un ADC compara un voltaje de entrada variable con un voltaje de referencia, devolviendo la proporción entre estos dos valores.
  • 8. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 8 El ADC10 del G2553 devuelve un número entre 0 y 1023, 1024 = 2^10 valores. El ADC, con una entrada analógica de 1V y un Vref de 1,5V, nos devolverá el valor 682 del total de 1024 y teniendo la misma proporción: 1 1.5� = 0,666 = 682 1024� Recordemos que los termistores NTC cambian su resistencia con la temperatura: a temperaturas altas nos proporciona valores resistivos bajos: Para poder utilizar el sensor se implementa un divisor de temperatura como el mostrado: Con este circuito observamos como conforme la temperatura incrementa, la R1 disminuye y por lo tanto el Vout aumenta. Como ejemplo tenemos: - R1, termistor de 10K a 25ºC. - R2, resistencia fija de 10K. - Vin, voltaje de referencia fijo de 1.5V para el ejemplo. A 25ºC y con un Vin de referencia de 1.5V el resultado del circuito con el termistor será: 𝑉𝑜𝑢𝑡 = 10000 (10000 + 10000)� ∗ 1.5𝑉 = 1 2� ∗ 1.5 = 0.75𝑉
  • 9. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 9 El ADC, con una entrada analógica de 0.75V y con un voltaje de referencia de 1.5, devolverá el valor 512 siendo proporcional. 0.75 1.5� = 1 2� = 512 1024� Para convertir el voltaje de entrada del ADC en una muestra de temperatura digital: 𝐹𝑎ℎ𝑟𝑒𝑛ℎ𝑒𝑖𝑡 = ��� 𝐴𝐷𝐶10 1024� � ∗ 1500𝑚𝑉� − 923𝑚𝑉� ∗ 1 1.97𝑚𝑉� = 𝐴𝐷𝐶10 ∗ 761 1024 − 468 La fórmula para obtener la muestra en Grados centígrados será: 𝐺𝑟𝑎𝑑𝑜𝑠 = [(𝐴𝐷𝐶1 − 630) ∗ 761] 1024 A continuación mostramos un ejemplo de código que muestrea el sensor de temperatura del MSP430. Muestreo ADC para la Temperatura #include <msp430g2553.h> long sample; long DegreeF; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC10CTL1 = INCH_10 + ADC10DIV_3; // Temp Sensor ADC10CLK/4 ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON; // Ref voltage/sample & hold time/ // reference generator ON/ADC10 ON while(1) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start while ( ADC10CTL1 & ADC10BUSY ); // Wait for ADC to complete sample = ADC10MEM; // Read ADC sample DegreeF = ((sample - 630) * 761) / 1024; __no_operation(); // SET BREAKPOINT HERE } }
  • 10. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 10 2. Operaciones Lógicas 2.1 And/Or/XOr/Not Los 8 bits están organizados como 76543210, siendo el valor 01000000 = 0x40. A continuación se da un repaso de las operaciones más utilizadas y su formato en el lenguaje C para los registros del MSP430. AND &= OR |= P1OUT = 0x71; 01110001 P1OUT = 0x01; 00000001 P1OUT &=0x40; & 01000000 P1OUT &=0x40; | 01000000 P1OUT 01000000 P1OUT 01000001 XOR ^= NOT ~ P1OUT = 0x71; 01110001 P1OUT = 0x71; 01110001 P1OUT &=0x40; & 01000000 P1OUT &= ~0x40; & 10111111 P1OUT 00110001 P1OUT 00110001 Cuestión 1: Cual será el resultado del registro P1OUT siendo P1OUT = 0xC7 = 11000111 a. P1OUT &= 0x40; b. P1OUT |= 0x08; c. P1OUT ^= 0x40; d. P1OUT &= ~0x40; 2.2 Puertos IN/OUT El MSP430 posee tres registros de entrada/salida, de los cuales 2 están completamente cableados al exterior, el P1 y P2. El P1 tiene cableadas las siguientes salidas: - P1.0 LED Rojo - P1.3 botón S1 - P1.6 LED Verde
  • 11. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 11 2.2 Ejemplo parpadeo LED Verde 1. Parpadeo LED Verde #include <msp430g2553.h> unsigned int i = 0; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer. P1DIR |= 0x40; // P1DIR configures direction port pin (DIR) output or input. // 1 is output, 0 is input. 0x40 is Green LED while(1) { P1OUT ^= 0x40; // Toggle P1.6 // P1OUT register holds the status of the LED. // 1 is ON, 0 is OFF. 0x40 is Green LED for(i=0; i < 50000; i++); // Delay between Green LED toggles. } } WDTCTL : Este registro controla el Watchdog Timer y se utiliza para ejecutar un reset del sistema si se excede un determinado tiempo. Esto es útil en bucles infinitos. En nuestro ejemplo lo desactivamos. P1DIR : Controla la dirección de cada uno de los 8 bits del puerto P1. Antes de todo se debe inicializar la dirección I/O que debe tomar el bit a utilizar. El bit 6 (0x40) se corresponde con el led verde. Realizando una OR con un 1 configuramos el bit como OUT. P1OUT : Registro de salida de 8 bits del P1. Poniendo un 1 en el bit 6 provocaremos el encendido del led verde.
  • 12. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 12 3. Compilador IAR 3.1 Instalación Actualmente existen dos compiladores para poder programar el MSP430, uno es el Code Composer Studio basado en la plataforma Eclipse y por lo tanto de carácter gratuito con un tamaño de 1,2 Gb, y el otro es el IAR que es un compilador con licencia pero con la posibilidad de utilizarlo por un tiempo de 30 días o con una licencia limitada a 4KB de programa. Los pasos para la instalación del IAR Workbench son los siguientes: 1. Página de descarga: http://supp.iar.com/Download/SW/?item=EW430-EVAL 2. Ejecutar el instalador y aparecerá la siguiente pantalla donde seleccionaremos “Install IAR Embedded Workbench”.
  • 13. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 13 3. Seleccionamos la instalación completa. 4. En el cuadro de selección del tipo de licencia seleccionaremos la opción “Register with IAR Systems to get evaluation license”. 5. Se nos abrirá la página web de IAR para registrarnos donde elegiremos el tipo de licencia que queremos, en nuestro caso “Time limitted”.
  • 14. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 14 6. Una vez obtenido el número de licencia lo introducimos en el instalador y se nos confirma que la licencia se ha activado correctamente y finalizamos la instalación. 3.2 Crear una compilación en IAR Los pasos para crear un proyecto en IAR Workbench son los siguientes: 1- Primero abrimos el IDE y vamos a la pestaña “Proyect” y seleccionamos la opción “Create New Proyect”.
  • 15. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 15 2- Luego aparecerá una ventana donde nos piden especificar la familia del microcontrolador y el project template junto con el tool chain. En nuestro caso seleccionamos la familia MSP430 y el toolchain C con el template main. 3- Después nos solicita saber dónde guardar el proyecto, entonces le direccionamos la carpeta vacía que acabamos de crear y le ponemos el mismo nombre al proyecto. 4- Una vez definida la ruta nos aparecerá un proyecto vacío. Luego sobre el nombre del proyecto seleccionamos botón derecho y “Options”. Nos aparecerá una nueva ventana con las opciones y en “General Options” selecionaremos el tipo de procesador.
  • 16. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 16 5- En la categoría de “Debugger” cambiaremos el tipo de “Driver” a FET Debugger.
  • 17. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 17 6- Y en la categoría de “FET Debugger” comprobaremos que están las opciones como mostramos. 7- Por último editamos nuestro proyecto con el código de ejemplo. Para compilar nuestro código utilizaremos el botón “Make”, y para probarlo utilizaremos el botón “Download and Debug”.
  • 18. Diseño de Circuitos y Sistemas Integrados Master de Telecomunicaciones 2013- UA Julio Jornet Monteverde 18 4. Practica a desarrollar 1. Realizar un programa que al pulsar el switch S2 el led rojo parpadee tres veces y a continuación parpadee otras tres veces el led verde. 2. Modificar el código anterior e implementarlo utilizando el vector de interrupción del registro P1IE. 5. Referencias http://es.wikipedia.org/wiki/MSP430 http://www.iar.com/ http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 http://www.msp430launchpad.com/ http://processors.wiki.ti.com/index.php/Open_Source_Projects_- _MSP430#Open_Source_Code_Examples.2C_Stacks_.26_APIs http://microembebidos.wordpress.com/2012/07/15/tutorial-msp430-prender-un-led/ http://www.youtube.com/watch?v=-9wlhU09kJc 6. Lista de cambios Versión 0: versión inicial del documento. Fecha: 14/05/2013 Autor: Julio Jornet. • Estructura general del documento: Introducción, Operaciones Lógicas, Compilador IAR, Practica a desarrollar y Referencias.