Los microcontroladores de la línea MSP430 de Texas Instruments son microcontroladores de 16 bits, dichos microcontroladores se caracterizan por un extremadamente bajo consumo de potencia, bajo costo, implementados con gran frecuencia en sistemas inalámbricos y/o de ultra bajo consumo de energía, incluso menores que algunos microcontroladores de 8 bits disponibles actualmente en el mercado y es una alternativa para el desarrollo de aplicaciones con sensores, de seguridad, industriales, usualmente implementados con microcontroladores de 8 o 16 bits.
El LaunchPad MSP430 es una placa que incluye un programador flash y una herramienta para depuración (debugging), además de un dip de 14-20 pines y emulación integrada. La programación flash se la realiza "en circuito" mediante el protocolo Spy Bi-Wire (JTAG de 2 líneas) y la memoria flash puede ser programada y borrada en segundos sin necesidad de una fuente de voltaje externa. Como todo lo necesario para su programación y depuración está incluido en la placa, simplemente se debe conectar el LaunchPad a un puerto USB de la PC y está listo para programarse. La tarjeta incluye también leds, botones programables y 10 conexiones de pines para la conexión de dispositivos externos.
La placa LaunchPad contiene:
Socket de 14-/20-pin DIP (N)
Emulación flash incluida para depuración y programación
2 Leds programables
1 Led de encendido
1 botón programable
El MSP430 está construido con una CPU de 16 bits usa una arquitectura Von Neumann, con direccionamiento simple para las instrucciones y los datos.
La memoria se direcciona por bloque de 1byte, y los pares de byte se combinan en forma endianness para hacer instrucciones de hasta 16 bits. Esta arquitectura tiene reminiscencias del procesador DEC PDP-11. Este dispositivo tiene una gran variedad de configuraciones que se agrupan en familias, con velocidades máximas de procesamiento y capacidades de direccionamiento diferentes, y modelos con diferentes selecciones de entre los siguientes periféricos: diferentes bloques y capacidades de memoria, oscilador interno, temporizadores incluyendo un PWM, temporizador watchdog, USART, bus SPI, bus de 10/12/14/16-bit, conversores ADC/DAC y circuitos de apagado y reinicio.
Algunos periféricos opcionales no tan usuales incluyen comparadores (que se utilizan con el temporizador para funcionar como un ADC simple), amplificadores operacionales dentro del chip para el acondicionamiento de señales, conversores DAC de 12 bits, controlador de pantalla LCD, multiplicador hardware, y DMA para el manejo de datos entre zonas de memoria y/o los periféricos. A diferencia de las versiones anteriores con EPROM (PMS430E3xx) y ROM
enmascarada (MSP430Cxxx), estos dispositivos son programables en sistema a través de
JTAG o a través del BSL (Bootstrap Loader; Cargador de Arranque) usando RS-232.
CARACTERÍSTICAS PRINCIPALES EN LA CPU
ALU de 16 bits que efectúa operaciones lógicas (AND, OR, XOR), substracciones, adiciones y comparaciones.
RISC con 27 instrucciones y 7 modos de direccionamiento.
Arquitectura Ortogonal, además cualquier instrucción se puede usar con cualquier modo de direccionamiento.
Todos los registros en la CPU son completamente accesibles.
Las operaciones entre registros se llevan a cabo en un ciclo.
Los registros de 16 bits reducen la cantidad de veces que se accede a la memoria al ejecutar una instrucción.
El bus de direcciones de 16 bits permite el acceso y los saltos a lo largo de todo el mapa de memoria.
El generador de constantes proporciona las 6 constantes más usadas para reducir el tamaño del código y facilitar la programación a través de instrucciones emuladas.
Transferencias de memoria a memoria sin necesidad de registros intermedios.
Instrucciones y modos de direccionamiento para 8 y 16 bits (Byte y Word).
12 registros de propósito general que pueden almacenar tanto datos como direcciones.
Construida utilizando lógica estática con la cual no hay un mínimo de frecuencia de operación, lo cual permita que la CPU pueda ser detenida.
Estas características son logradas al tomar las mejores características de la arquitectura RISC y mejorarlas. Por ejemplo los PIC´s contienen un solo registro de trabajo (W) donde se almacena un operando, el otro operando es tomado de otro registro, después se ejecuta la instrucción y el resultado es almacenado ya sea en el registro de trabajo o en el otro registro que fue usado como segundo operando, además el direccionamiento indirecto solo está disponible para un único registro.
En el caso de los HCS12 de Freescale cuentan con un registro acumulador para almacenar datos y dos registros índices para almacenar direcciones.
Al comparar la CPU de los MSP430 con otras CPU que pertenecen a microcontroladores podemos notar que la arquitectura de los MSP430 nos permite una programación más eficiente, reduce el tamaño de código que una aplicación pueda requerir, permite también realizar una función específica con menos instrucciones que en otro tipo de microcontroladores y brinda al desarrollador una flexibilidad y portabilidad que reduce el costo de los productos finales.
En la Figura 3.1 podemos observar los 16 registros que conforman la unidad central de procesamiento (CPU), así como la unidad aritmética lógica (ALU) de 16 bits que puede recibir sus operandos de cualquiera de los 16 registros, los cuales a través del bus de direcciones y datos pueden acceder a cualquier parte de la memoria.
Los siguientes diagramas (Figura 3.2) muestran la distribución de pines completo para el LaunchPad MSP430G2452 y MSP430G2553 en Energía.
Energía es una plataforma de prototipos electrónicos de código abierto para el área de ejecución basado Texas Instruments MSP430, su IDE es multiplataforma y compatible en Mac OS, Windows y Linux que se basa en procesamiento. El equipo de Energía adopta la filosofía de aprender haciendo y se basa en la idea que es más fácil trabajar directamente con el hardware.