Programación en circuito con el LaunchPad de Texas Instruments
La familia MSP430 de Texas Instruments de microcontroladores de 16 bits fue presentada en el año 1992. Solo para brindar un poco de contexto: George Bush (el primero) era presidente de Estados Unidos, se lanzaba por primera vez la nave espacial Endeavor y Microsoft presentaba Windows 3.1. Sin lugar a dudas, el MSP430 ha sido un microcontrolador de larga data con un fuerte linaje. Se diseñó como un microcontrolador de 16 bits de señal mixta y baja potencia para dispositivos integrados, y se ha usado en innumerables productos a lo largo de los años.
Pasando rápidamente de 1992 a 2017, es en ese momento en el que tuve mi primer encuentro con la serie MSP430 mientras trabajaba en el diseño de un producto en mi laboratorio. En última instancia, elegí el MSP430G2553IPW20 (Figura 1) para mi diseño gracias a su bajo costo, su bajo consumo de energía y su amplia gama de funcionalidades, incluidos los convertidores múltiples de analógico a digital (ADC) y los temporizadores, un rendimiento de 16 megahertz (MHz), la gran cantidad de pines de entrada/salida de uso general (GPIO), el receptor/transmisor asíncrono universal (UART), la interfaz periférica en serie (SPI) y las comunicaciones de circuito interintegrado (I2C).
Figura 1: En el diagrama de bloques funcionales del MSP430G2553IPW20, se muestran muchas de sus funcionalidades. (Fuente de la imagen: Texas Instruments)
Pero, siendo honesto, al principio me sentí tentado a usarlo porque, muchos años atrás, había comprado un kit LaunchPad MSP-EXP430G2 de Texas Instruments (ahora obsoleto), que ofrecía un emulador/programador para el MSP430G2553. El kit se estaba llenando de polvo en mi laboratorio, por lo que pensé en darle al menos una oportunidad.
¡No me decepcionó! Ahora, se me ha acusado de ser un fanático de Texas Instruments, pero descubrí que el MSP430G2553IPW20 es bastante poderoso y fácil de entender (¡Aunque la guía del usuario tiene más de 700 páginas!).
Al usar el entorno de desarrollo integrado (IDE) gratuito del LaunchPad y del Code Composer Studio de Texas Instruments, estaba generando firmware para mi producto en cuestión de segundos. Además, existe un IDE de fuente abierta llamado Energia que es compatible con la línea de productos MSP430. Energia ofrece un entorno de desarrollo muy similar al IDE Arduino que es igual de intuitivo.
Aunque di mis primeros pasos programando el MSP430G2553 con el MSP-EXP430G2 LaunchPad (el obsoleto), desde entonces, he actualizado al MSP-EXP430G2ET (Figura 2). Aparte de cambiar la interfaz USB de mini USB a micro USB, agregar una fuente de 5 voltios y mejores postes para sostenerlo sobre el banco, los dos programadores son casi lo mismo. Ambos programadores tienen un cabezal de paquete de doble hilera (DIP) de 20 pines para el microcontrolador MSP430G2553, y ambos son compatibles con los dispositivos MSP430G2xx2, MSP430G2xx3 y MSP430F20xx en paquetes de 14 DIP o 20 DIP.
Figura 2: Con el LaunchPad MSP-EXP430G2ET, se simplifica la programación de microcontroladores MSP430 (Fuente de la imagen: Texas Instruments)
Usar el MSP430G2ET como programador en circuito
Si bien el programador MSP-EXP430G2ET es lo suficientemente fácil de usar como para programar un microcontrolador colocado en el cabezal DIP integrado, también puede usarse como programador en circuito. Texas Instruments desarrolló un protocolo específicamente para el MSP430 denominado Spy-Bi-Wire (SBW). SBW es una implementación de dos cables del protocolo Joint Test Action Group (JTAG). Los dos pines asociados al protocolo SBW en el LaunchPad MSP-EXP430G2ET son los pines RST y TEST.
Si, en su diseño, se usa cualquiera de las familias MSP430 compatibles mencionadas anteriormente, puede usar el MSP-EXP430G2ET para la programación en circuito al conectar Vcc, RST, TEST y GND (pines 1, 16, 17, y 20 en los dispositivos MSP430G2x13 y MSP430G2x53 de 20 pines) del programador a un cabezal expuesto en su diseño (Figura 3). Si su diseño es autónomo, no se necesita la conexión Vcc.
El pin RST se fija en HIGH (Alto) al programar el MSP430, por lo que se recomienda poner una resistencia de 4.7 kiloohmios (kΩ) en serie con él para limitar su consumo de corriente. He estado usando este método SBW con cientos de productos y ha funcionado como un amuleto.
Figura 3: Puede usar el MSP-EXP430G2ET como programador en circuito al conectarlo a un cabezal MSP430 expuesto en su diseño. (Fuente de la imagen: Doug Peters)
Conclusión
Considerando su antigüedad, la serie MSP430G2xx2 puede considerarse tradicional en algunos círculos, pero no la deje pasar para su próximo diseño. Tiene una variedad de funcionalidades y décadas de uso sólido y comprobado en campo. Encontrará cantidades importantes de soporte en línea y cientos de ejemplos que lo ayudarán a resolver los problemas con los que se tope. Recuerde obtener el LaunchPad MSP-EXP430G2ET para tener también un excelente programador en circuito.
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum




