Tema 6. Familia MSP430 de Texas Instruments • • • • • 1. Introducción 2. Familia MSP430. 3. Subfamilia MSP430G2 4. Microcontrolador MSP430G2553 5. Sistema de desarrollo SISTEMAS ELECTRÓNICOS 3ºGIERM 1 Familia MSP430 de Texas Inst. • MSP: Mixed Signal Processor • CPU RISC de 16 bit • Muchos periféricos integrados – – – – Analógicos: ADC, DAC, opamps, comparadores, pwm… Digitales: timers, watchdog, rtc, dma… De comunicaciones: usb, spi, i2c, uart, IrDA, … De interfaz: ldc, cap. Touch, RF • Memoria: – de 0,5k a 256k no volátil (eprom, flash, fram) – De 128B a 18k de RAM • Modos de bajo consumo • Entre 14 y 125 pines • Sistemas de desarrollo desde 4$ SISTEMAS ELECTRÓNICOS 3ºGIERM 2 Tabla de subfamilias SISTEMAS ELECTRÓNICOS 3ºGIERM 3 Subfamilia MSP430G2x • Familia low cost de la serie MSP430 • Hacer frente a Arduino, PIC, etc… • Ventajas diferenciales: – Sistema de desarrollo muy barato – Formato PDIP de 14 ó 20 pines – Ayudas a la programación: Grace, MSPware, wikis, foros… • 49 componentes distintos para elegir – – – – Memoria Flash entre 0.5k y 56k Distintos periféricos 41 de los 49, en formato DIP Entre 10 y 16 pines de e/s SISTEMAS ELECTRÓNICOS 3ºGIERM 4 MSP430G2x CPU • Datos y direcciones de 16 bit • 12 registros de propósito general y 4 específicos • 7 modos de direccionamiento • ALU ortogonal – Cualquier registro puede ser entrada o salida SISTEMAS ELECTRÓNICOS 3ºGIERM 5 Registros específicos • PC: Program Counter – Almacena la dirección de la próxima instrucción • SP: Stack pointer – Almacena la posición del último elemento de la pila SISTEMAS ELECTRÓNICOS 3ºGIERM 6 Registros específicos • SR: Status Register – Configura el modo de operación e informa: • V, N, Z, C: se activan si la última operación resultó overflow, negativo, cero o con Carry. • SCG1, SCG0, OSCOFF y CPUOFF: Configuran modo de funcionamiento • GIE: Global Interrupt Enable SISTEMAS ELECTRÓNICOS 3ºGIERM 7 Registros especiales • R2 y R3 se usan como constantes: • Ampliación del juego de instrucciones – Para borrar una dirección de memoria: • MOV R3,dst (en vez de CLR dst) SISTEMAS ELECTRÓNICOS 3ºGIERM 8 Modos de direccionamiento (I) • 7 modos de direccionamiento: SISTEMAS ELECTRÓNICOS 3ºGIERM 9 Modos de direccionamiento (II) • Register: operaciones entre registros – MOV R10, R11: copia el valor de R10 en R11 • Indexed: los registros guardan las direcciones, más un incremento: – MOV 2,(R3) 5,(R4): copia el contenido de la dirección almacenada en R3+2, en la dirección almacenada en R4+5 SISTEMAS ELECTRÓNICOS 3ºGIERM 10 Modos de direccionamiento (III) • Symbolic: operaciones entre direcciones de memoria (usa direcciones relativas a PC) – MOV EPI, BLAS: copia el contenido de la dirección EPI en la dirección BLAS • Absolute: Como Symbolic, pero con direcciones absolutas – MOV &EPI,&BLAS: Copia el contenido de la dirección EPI en la dirección BLAS SISTEMAS ELECTRÓNICOS 3ºGIERM 11 Modos de direccionamiento (IV) • Indirect Register: usa los registros como punteros – MOV @R5, 0(R6): copia el contenido de la posición almacenada en R5, en la dirección almacenada en R6 • Indirect autoincrement: igual que el anterior, pero se incrementa el origen: – MOV @R5+, 0(R6): copia el contenido de la posición almacenada en R5, en la dirección almacenada en R6. R5 se incrementa SISTEMAS ELECTRÓNICOS 3ºGIERM 12 Modos de direccionamiento (y V) • Inmediate: usa una constante – MOV #45h, EPI: copia 45 (en hexadecimal) en la dirección EPI • A modo de resumen: muchos modos para cada instrucción. • Al programar en C, no los usaremos de forma explícita. SISTEMAS ELECTRÓNICOS 3ºGIERM 13 MSP430G2x CPU • 27 instrucciones nativas y 24 más emuladas. – Aritméticas: • ADC, ADD, ADDC, SUB, SUBC, DADD, DADDC, CMP… – Lógicas: • BIT, BIC, BIS, XOR, AND, RLA, RLC, RRA, RRC… – De movimiento de datos: • MOV, SWAP, PUSH, POP… – De salto: • BR, CALL, JC, JEQ, JGE, JL, JMP, JN, JNC, JNE, RET, RETI… SISTEMAS ELECTRÓNICOS 3ºGIERM 14 Mapa de memoria • Zona baja: configuración de periféricos y SFR • RAM a partir de la 200h • Flash en la zona superior • Memoria de información: datos de calibración del dispositivo • Flash programable a 2.2V SISTEMAS ELECTRÓNICOS 3ºGIERM 15 Periféricos incluidos (I) • De 10 a 16 GPIO’s: – Independientes, I/O, interrupciones por nivel o flanco – Resistencias internas de pull up / down – Algunos pueden funcionar como sensor capacitivo • Temporizadores de 16 bits – 2 ó 3 registros de captura/comparación – Pwm programable • WDT+: Watchdog y timer de intervalo – Reset si sistema pierde el control – Timer de periodo fijo, si no se va a usar como WDT SISTEMAS ELECTRÓNICOS 3ºGIERM 16 Periféricos incluidos (II) • BOR: Brown‐out reset – Reset con vcc bajo, y en el arranque • Puertos serie – USI: puertos SPI o I2C – USCI: puertos SPI, I2C y UART (232) • Comparador analógico – Entrada V+, V‐, y salida al timer y como interrupción • Convertidor ADC – 10 bits, 8 entradas – 200ksps (5ns tconv) SISTEMAS ELECTRÓNICOS 3ºGIERM 17 Sistema de desarrollo (I) • Launchpad – Programa toda la serie G2 y F2 – Precio: 8€, aprox. – Incluidos dos micros: • MSP430G2553 • MSP430G2452 SISTEMAS ELECTRÓNICOS 3ºGIERM 18 Sistema de desarrollo (II) • Code Composer Studio 5 – Actualmente, v 6.0.1 (Agosto 2014) – Usaremos la V 5.5, más estable (y ya instalada) • Basado en eclipse • Integración de: – – – – – Editor de código Compilador de C, ensamblador, linker… debugger Grace GUI composer (a partir de la 5.3) SISTEMAS ELECTRÓNICOS 3ºGIERM 19 Sistema de desarrollo (II) SISTEMAS ELECTRÓNICOS 3ºGIERM 20 Sistema de desarrollo (III) • Cantidad creciente de Boosterpacks: – Pantallas – Comunicaciones • Radio • Bluetooth • Wi‐fi – Aplicaciones – Controles táctiles SISTEMAS ELECTRÓNICOS 3ºGIERM 21 Bibliografía básica • Curso online de Texas Instruments: – Getting_Started_with_the_MSP430_LaunchPad_Workshop • • • • Paso a paso, cada uno de los periféricos Con ejemplos (código) Transparencias y apuntes Videos… • Libro, en formato electrónico (biblioteca): – MSP430 microcontroller basics (J. Davies) • Manuales de la familia y del MSP430G2553: – MSP430x2xx Family User's Guide (slau144j.pdf) – Datasheet de la familia 2x53 (slas735j.pdf) SISTEMAS ELECTRÓNICOS 3ºGIERM 22