Tema 6. Familia MSP430 de Texas Instruments

Anuncio
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
Descargar