martes, 21 de septiembre de 2010

MSP430

El responsable de la familia de microcontroladores MSP430 es la empresa Texas Instruments (TI a partir de ahora para los amigos).

Para más información de TI ver el capítulo que realizamos en este enlace: Fabricantes de Microcontroladores.

El propósito de esta entrada, es estudiar y abordar proyectos sobre esta familia de dispositivos. La plataforma que se va a usar para toda la documentación que en esta entrada se mencione será la placa de desarrollo: MSP-EXP430G2.

Pero antes de entrar en materia, vamos amenizar el capítulo con un poco de información y descripción sobre esta familia de microcontroladores de la empresa TI.

Como presentación, la familia de los dispositivos MSP430 son microcontroladores de muy bajo consumo de potencia, lo que los hace ideales para aplicaciones portátiles, esto es así ya que poseen cinco modos de funcionamiento de bajo consumo que intentan abarcar cualquier necesidad de alargar, en la medida de lo posible, la vida de la batería que alimentará nuestros diseños.

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 familia está compuesta, actualmente, desde las series 1xx hasta la 6xx, las principales diferencias es la cantidad de memoria de programa y datos, la velocidad del reloj y los periféricos integrados.

En nuestro caso, vamos a centrarnos en la serie G2xx ya que la placa LaunchPad viene con dos de estos dispositivos incluidos: MSP430G2231 y MSP430G2211. Aunque lo que en este capítulo se trate, vale para toda la familia de microcontroladores MSP430.

La principal característica de la serie G2xx es que son dispositivos de bajo coste y muy bajo consumo, con una CPU de hasta 16 MIPS que pueden empezar a funcionar a tensiones de alimentación desde 1.8 a 3.6V.

Incluyen un oscilador interno de bajo consumo denominado VLO y los periféricos típicos que pueden incorporar cualquier microcontrolador, dependiendo del dispositivo de la serie.

Las herramientas que se van a emplear en este capítulo para diseñar, depurar y programar nuestro firmware, son las que se muestran en la siguiente tabla:

Compilador/
Plataforma
IAR KickstartMSPGCC4 & MSPDebug
InstalaciónInstalación
---Instalación
Integración con Eclipse

Existen otras herramientas cómo el Code Composer Studio de la propia empresa TI, no es gratuito pero presenta la ventaja respecto a la herramienta IAR, que está menos limitada (generalmente en el tamaño de código generado al ser compilado) y es, estéticamente hablando, más vistoso.

Aún así, se ha elegido el de la empresa IAR por estar bastante extendida las herramientas que presentan en el mundo profesional y sobre todo, porque son eficientes y fáciles de usar.

Las líneas de trabajo que vamos a emplear para controlar esta familia de dispositivos serán dos: Lenguaje Ensamblador y Lenguaje C.

Aunque estos dispositivos están perfectamente diseñados y adaptados para el lenguaje C, creo que siempre es bueno tener una referencia del propio lenguaje ensamblador del dispositivo para entenderlo y optimizar código de manera más eficaz.

Es por ello que trabajaremos con los dos lenguajes disponibles.

Lenguajes de Programación
Lenguaje EnsambladorEjemplosIntegración con Proteus
Lenguaje CEjemplos---

Entraremos en profundidad con la estructura de esta familia de microcontroladores desgranando los aspectos más importantes para su configuración, comprensión y por supuesto, puesta en marcha.

MSP430Gxxxx
1. Ciclos y longitud de las instrucciones· Nº Ciclos y relación con CG1 y CG2
2. Módulos de reloj· LFXT1CLK, XT2CLK, DCLOCK y VLOCLK
3. Módulo USART· Protocolo serie RS-232 (UART)
4. Módulo Sensor de Temperatura Interno · UART + Sensor Temperatura Interno.
5. Módulo USCI I2C · USCI I2C + DS1624 + UART.
6. Módulo TimerA PWM · Transformamos nuestra LaunchPad en un Piano.
7. Módulo USCI SPI · USCI SPI + nRF24L01+.
8. Módulo DMA · MSP430FR5739 DMA: Dos canales ( ADC10 + UART ) + LM35.
Periféricos Externos
1.   LCD Hitachi 44780· Control de la pantalla LCD Hitachi 44780
2.   DS1620· Control del termómetro/termostato de Maxim
3.   7 Segmentos· Manejo de pantalla de 7Seg + BCD a 7Seg
4.   LM35· Control temperatura del sensor LM35
5.   Registro de Desplazamiento· Control 8 leds con 2 patitas del μC.
· Control LCD Hitachi 44780 con tres patitas del uC.
6.   Fotorresistor (LDR)· Control del dispositivo LDR.
7.   DS1821· Lectura del termómetro/termostato de Maxim
8.   XBee· UART: Comunicación inalámbrica mediante XBee.
9.   DHT11· Sensor Temperatura y Humedad Relativa DHT11.
10. NTC· Termistor NTC + LEDs + XBee + MSP430FR5739.
11. ADXL335· Acelerómetro + XBee + MSP430FR5739.


Todas las marcas registradas que en esta entrada y sucedáneas aparecen, corresponden a la empresa Texas Instruments.

0 comentarios: