TI MSP430

Ir a: navegación, búsqueda de
TI MSP430
Diseñador Texas Instruments
Brocas 16-bit
Tipo Memoria
Registros
16, R0 - contador de programa, R1 - Stack Pointer, R2 - registro del estado, R2/R3 - generador constante
Foto de dos tableros experimentador para el chipset MSP430 de Texas Instruments. A la izquierda la versión más grande de chip, a la derecha una pequeña versión en formato USB.

El MSP430 es un señal mixta microcontrolador familia de Texas Instruments. Construido alrededor de un 16-bit CPU, el MSP430 está diseñado para el bajo costo y, específicamente, bajo consumo de energía[1] aplicaciones embebidas.

Contenido

  • 1 Aplicaciones
  • 2 MSP430 parte numeración
  • 3 MSP430 generaciones
    • 3.1 Serie MSP430x1xx
    • 3.2 Serie MSP430F2xx
    • 3.3 Serie MSP430G2xx
    • 3.4 Serie MSP430x3xx
    • 3.5 Serie MSP430x4xx
    • 3.6 Serie MSP430x5xx
    • 3.7 Serie MSP430x6xx
    • 3.8 Serie RF SoC (CC430)
    • 3.9 Serie FRAM (MSP430FR57xx)
    • 3.10 Serie de baja tensión
    • 3.11 Otras familias MSP430
  • 4 Periféricos
    • 4.1 Puertos de la entrada-salida de 0 – 10
    • 4.2 Periféricos integrados
  • 5 Entorno de desarrollo de software
  • 6 Plataformas de desarrollo de bajo coste
    • 6.1 eZ430-F2013
    • 6.2 MSP430 Launchpad
  • 7 Interfaz de depuración
  • 8 MSP430 CPU
    • 8.1 Operaciones de pseudo
    • 8.2 MSP430X 20-bit extensión
  • 9 Espacio de direcciones MSP430
  • 10 Referencias
  • 11 Enlaces externos
    • 11.1 Sitios de información y comunidad
    • 11.2 Generadores de código de C programación visuales
    • 11.3 Compiladores, IDEs y montadores
      • 11.3.1 IDEs y compilador libre
      • 11.3.2 IDEs sin restricciones más populares y compiladores
      • 11.3.3 Varios IDEs
    • 11.4 Lista de herramientas (no completa) de depuración
    • 11.5 Otras herramientas

Aplicaciones

El MSP430 puede utilizarse para baja potencia sistemas embebidos. El corriente eléctrica dibujado en modo inactivo puede ser inferior a 1 µA. La velocidad máxima de CPU es de 25 MHz. Puede ser sofocado detrás para menor consumo de energía. El MSP430 también utiliza seis diferentes modos de bajo consumo de energía, que pueden desactivar relojes innecesarios y CPU. Además, el MSP430 es capaz de despertar veces por debajo de 1 microsegundo, permitiendo que el microcontrolador permanecer en modo de reposo más largo, minimizando su consumo promedio actual. El dispositivo viene en una variedad de configuraciones con los periféricos habituales: interno oscilador, contador de tiempo incluyendo PWM, perro guardián, USART, SPI, I²C, 10/12/14/16-bit ADCs, y apagón RESET circuitos. Algunos periféricos menos usuales incluyen Comparadores (que puede ser utilizado con los temporizadores para hacer simple ADC), la en-viruta amplificadores operacionales para acondicionamiento de señales, 12-bit DAC, LCD conductor, multiplicador del hardware, USB, y DMA para obtener resultados de ADC. Aparte de algunos mayores EPROM (MSP430E3xx) y alto volumen máscara ROM Versiones (MSP430Cxxx), todos los dispositivos son en-sistema programable Via JTAG (total de cuatro hilos o Espía-Bi-Wire) o construido en bootstrap usando el cargador (BSL) RS-232.

Sin embargo, hay limitaciones que impiden su uso en sistemas integrados más complejos. El MSP430 no tiene un externo bus de memoria, así que se limita a la en-viruta de memoria (hasta 256 KB memoria Flash y 16 KB RAM) que podría ser demasiado pequeño para aplicaciones que requieren grandes mesas tampones o datos. También, aunque tiene un controlador DMA, es muy difícil utilizarla para mover datos desde el chip debido a la falta de un DMA salida estroboscópica.[2]

MSP430 parte numeración

Nomenclatura MSP430

Un MSP430 número de parte como"MSP430F2618ATZQWT-EP"se compone de las siguientes piezas:

  • MSP430:: Prefijo estándar.
  • F:: Indica un tipo de memoria o una aplicación especializada. "F"lo que indica memoria Flash es por lejos el más popular. Incluyen otras opciones para el tipo de la memoria"C"para el ROM enmascarado, "FR"para el FRAM, "G"para la línea de valor Flash, y"L"como en la serie de MSP430L09x, que indica una parte sólo de RAM; debe seguir siendo alimentado continuamente para conservar su programación. Una segunda carta (excepto "FR") indica una aplicación especializada para la parte. Por ejemplo "G"es una carta de especialización opcional indicando soporte hardware para un uso especializado".E"indica las funciones medidor de electricidad especial"G"dispositivos están diseñados para instrumentación médica, y"W"los dispositivos incluyen un especial"interfaz de exploración"diseñado para medidores de flujo. Una excepción es los dispositivos MSP430FG2xx, que son considerados una generación separada.
  • 2:: La generación del dispositivo. Puede haber cambios significativos a los periféricos de núcleo (reloj de generadores, UARTs, etc.) en diferentes generaciones. Estos no están en orden cronológico, pero bastante más altos valores aproximadamente indican mayor tamaño, complejidad y costo. Por ejemplo, las generaciones 3 y 4 incluyen controladores de LCD que los otros no lo hacen.
  • 6:: El modelo dentro de la generación. Esto indica que la mezcla de dispositivos periféricos integrados y número de pines.
  • 18:: Uno o dos dígitos que indica la cantidad de memoria en el dispositivo. La numeración (sobre todo) es constante a lo largo de la serie MSP430. Sufijos no todos son válidos con todos los modelos; mayoría de los modelos está disponible en tamaños de memoria 3 – 6, elegidos para que coincida con las otras funciones del dispositivo. Números más grandes indican cantidades crecientes de memoria, pero a veces un tipo de memoria (RAM o ROM) se sacrifica para caber más de la otra.
Configuraciones de memoria MSP430
Sufijo RAM ROM Sufijo RAM ROM
0 128 1 K 10 5 K 32 K
1 128 2 K 11 10 K 48 K
2 256 7 h 12 5 K 55/56 K
3 256 8 K 13
4 512 12 K 14
5 512 16 K 15
6 1 K 24 K 16 7 h 92 K
7 1 K 32 K 17 8 K 92 K
8 2 K 48K 18 8 K 116 K
9 2 K 30. 19 7 h 120 K
  • Un dígito sufijo opcional indicando un dispositivo variante, agregar o eliminar algunos periféricos analógicos. Por ejemplo, un "1"sufijo puede indicar la adición de un comparador o eliminación de un ADC. Si el tamaño de la memoria"1", este sufijo puede ser confundido con la parte del tamaño de la memoria, pero hay un modelo único está disponible en dos tamaños de memoria"1"y"10"(o mayor).
  • Opcional"A"sufijo que indica una versión revisada de upward-compatible. El MSP430F11x1A tiene un adicional de 256 bytes de datos flash no está presente en la llanura ' F11x1.

Letras de sufijo se arrastra indican opciones no visibles al software:

  • T:: Indica un rango de temperatura de −40 ° C a + 105 ° C.
  • ZQW:: Indica que la parte se mantiene en el paquete. "ZQW"es un nombre específico de TI para un matriz de cuadrícula de bola.
  • T:: Indica que las piezas se envían en envase pequeño carrete (7 pulgadas).
  • -EP:: Indica una característica adicional. "-Q1"especifica que la parte es automotriz calificado."-EP"y"-HT"indicar temperatura extendida productos. Productos mejorados "-EP", tienen un rango de temperatura de-40 ° C a 125 ° C y las partes extremas de temperatura,"-HT", tienen un rango de temperatura de-56 ° C a 150 ° C.

MSP430 generaciones

Hay seis generaciones generales de procesadores MSP430. En orden de desarrollo, fueron la ' generación 3xx, el ' 1xx generación, la ' generación 4xx, el ' 2xx generación, el ' 5xx generación y el ' 6xx generación. El dígito después de la generación identifica el modelo (generalmente mayor números de modelo son más grandes y más capaces), el tercer dígito identifica la cantidad de memoria a bordo, y la cuarta, si está presente, identifica una variante menor modelo. La variación más común es un chip en diferentes convertidor de analógico a digital.

Las generaciones 3xx y 1xx se limitaron a un espacio de direcciones de 16 bits. En las generaciones posteriores esto fue ampliada para incluir '430 X' instrucciones que permiten un espacio de direcciones de 20 bits. Como ha ocurrido con otras arquitecturas de procesador (por ejemplo el procesador de la PDP-11), ampliando la gama de direccionamiento más allá del tamaño de palabra de 16 bits introducido algunas peculiaridades e ineficiencias para programas de más de 64 kBytes.

En la siguiente lista, ayuda a pensar en la típica mA· 200Capacidad de recursos humanos de una CR2032 litio célula de la moneda como 200.000 μA·HR o μA·year 22,8. Por lo tanto, teniendo en cuenta sólo el sorteo de la CPU, una batería de tal podría suministrar un 0,7 μA actual dibuja desde hace 32 años. (En realidad, batería autodescarga podría reducir este número).

La significación de las 'Retención RAM' vs "el modo de reloj en tiempo real" es que en el reloj de tiempo real modo la CPU puede ir a dormir con un reloj en marcha que despertará en un momento específico del futuro. En el modo de retención de memoria RAM, es necesaria alguna señal externa para despertarlo, e.g. señal pin de E/S o esclavo SPI recibir interrupción.

Serie MSP430x1xx

El Serie MSP430x1xx es la generación básica sin un LCD controlador. Son generalmente más pequeños que la ' generación 3xx. Estos MCUs basados en flash o ROM ultra-bajo-energía ofrecen 8 MIPS, operación de 1.8-3.6 V, hasta a 60 KB de flash y una amplia gama de periféricos analógicos y digitales.

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo de reloj en tiempo real de 0,7 μA
    • 200 μA / MIPS activo
    • Despertar rápido de las características del modo de espera en menos de 6 µs.
  • Parámetros del dispositivo
    • Opciones de Flash: 1 – 60 KB
    • Opciones de ROM: 1 – 16 KB
    • Opciones de RAM: 128 B – 10 KB
    • Opciones de GPIO: 14, 22, 48 pernos
    • Opciones de ADC: pendiente, 10 & 12-bit SAR
    • Otros periféricos integrados: DAC de 12 bits, 2 temporizadores de 16 bits, temporizador watchdog, brown-out reset, SVS, módulo USART (SPI, UART), DMA, 16 × 16 sensor de temperatura de multiplicador, Comparator_A,

Serie MSP430F2xx

El Serie MSP430F2xx son similares a la ' generación 1xx, pero opera a potencia aún más bajo, admiten hasta 16 MHz operación y tener un reloj más preciso de la en-viruta (±2%) que hace más fácil operar sin un cristal externo. Estos dispositivos basados en memoria flash ultra bajo consumo permiten 1.8-3.6 V. Incluye el oscilador de muy baja potencia (VLO), resistencias pull-up/pull-down internas y opciones de bajo pin Conde.

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo standby 0.3 μA (VLO)
    • Modo de reloj en tiempo real de 0,7 μA
    • 220 μA / MIPS activo
    • Función despertador ultra rápida en modo de espera en menos de 1 μs
  • Parámetros del dispositivo
    • Opciones de Flash: 1 – 120 KB
    • Opciones de RAM: 128 B – 8 KB
    • Opciones de GPIO: 10, 11, 16, 24, 32 y 48 pernos
    • Opciones de ADC: pendiente, SAR 10 & 12 bits, 16 y 24 bits Sigma Delta
    • Otros periféricos integrados: amplificadores operacionales, DAC de 12 bits, hasta 2 temporizadores de 16 bits, temporizador watchdog, brown-out reset, SVS, módulo de USI (I²C, SPI), sensor de temperatura USCI módulo, DMA, 16 × 16 multiplicador, Comparator_A +,

Serie MSP430G2xx

El Serie de valor MSP430G2xx características basadas en flash de energía MCUs hasta 16 MIPS con operación V 1.8-3.6. Incluye muy baja potencia oscilador (VLO), interiores resistencias pull-up/pull-down y opciones de bajo pin Conde, a precios más bajos que la serie de MSP430F2xx.

  • Ultra bajo consumo, tan baja como (@2.2 V):
    • Retención de RAM 0.1 μA
    • Modo Standby 0,4 μA (VLO)
    • Modo de reloj en tiempo real de 0,7 μA
    • 220 μA / MIPS activo
    • Wake-Up ultra rápida en modo de espera en < 1 μs
  • Parámetros del dispositivo
    • Opciones de Flash: 0,5 – 16 KB
    • Opciones de RAM: 128-512
    • Opciones de GPIO: 10, 16, 24 pines
    • Opciones de ADC: pendiente, 10-bit SAR
    • Otros periféricos integrados: entrada-salida táctil capacitiva, hasta 2 temporizadores de 16 bits temporizador watchdog, brown-out reset, módulo de USI (I²C, SPI), módulo de USCI, Comparator_A +, sensor de temperatura

Serie MSP430x3xx

El Serie MSP430x3xx es la generación más vieja, diseñada para la instrumentación portátil con un controlador embebido de LCD. Esto también incluye un frecuencia de lazo oscilador que puede sincronizar automáticamente a un cristal de baja velocidad (32 kHz). No es compatible con esta generación EEPROM memoria, sólo la máscara ROM y una sola vez y UV eraseable programable EPROM. Las generaciones posteriores proporcionan memoria flash sólo y máscara ROM Opciones. Estos dispositivos permiten 2.5 – 5,5 V, hasta 32 KB ROM.

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo de reloj en tiempo real de 0,9 μA
    • 160 μA / MIPS activo
    • Despertar rápido de las características del modo de espera en menos de 6 µs.
  • Parámetros del dispositivo:
    • Opciones de ROM: 2 – 32 KB
    • Opciones de RAM: 512 KB B – 1
    • Opciones de GPIO: 14, 40 pines
    • Opciones de ADC: pendiente, 14-bit SAR
    • Otros periféricos integrados: regulador del LCD, multiplicador

Serie MSP430x4xx

El Serie MSP430x4xx son similares a la ' generación 3xx, pero incluyen un controlador LCD integrado y son más grandes y más capaces. Estos dispositivos basado en flash o ROM ofrece 8 – 16 MIPS en la operación V 1.8-3.6, con FLL y SVS. Ideal para aplicaciones de medición y médico de baja potencia.

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo de reloj en tiempo real de 0,7 μA
    • 200 μA / MIPS activo
    • Despertar rápido de las características del modo de espera en menos de 6 µs.
  • Parámetros del dispositivo:
    • Opciones de Flash/ROM: 4 – 120 KB
    • Opciones de RAM: 256 B – 8 KB
    • Opciones de GPIO: 14, 32, 48, 56, 68, 72, 80 pines
    • Opciones de ADC: pendiente, SAR 10 & 12 bits, 16 bits Sigma Delta
    • Otros periféricos integrados: SCAN_IF, ESP430, DAC de 12 bits, Op Amps, RTC, hasta 2 temporizadores de 16 bits, perro guardián temporizador, temporizador básico, brown-out reset, SVS, USART módulo (SPI, UART), módulo de USCI, regulador del LCD, DMA, 16 × 16 y 32 x sensor de temperatura de multiplicador, Comparator_A, 32, 8 velocidad de CPU MIPS

Serie MSP430x5xx

El Serie MSP430x5xx son capaces de correr hasta 25 MHz, tener hasta 256 KB de memoria flash y hasta 18 KB de RAM. Esta familia basado en flash cuenta con bajo consumo activo con hasta 25 MIPS en la operación de 1.8-3.6 V (165 uA/MIPS). Incluye un módulo de gestión de potencia innovadora para el consumo de energía óptima y USB integrado.[3]

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo de reloj de tiempo real μA 2.5
    • 165 μA / MIPS activo
    • Despertar rápido de las características del modo de espera en menos de 5 µs.
  • Parámetros del dispositivo:
    • Opciones de Flash: hasta 256 KB
    • Opciones de RAM: hasta 18 KB
    • Opciones de ADC: SAR 10 & 12 bits
    • Opciones de GPIO: 29, 31, 47, 48, 63, 67, 74, 87 pines
    • Otros periféricos integrados: alta resolución PWM, 5 V I / O, USB, interruptor de batería de respaldo, hasta 4 temporizadores de 16 bits, perro guardián módulo USCI brown-out reset, SVS, cronómetro, reloj de tiempo real, sensor de temperatura USCI módulo, DMA, multiplicador de 32 x 32, B Comp,

Serie MSP430x6xx

El Serie MSP430x6xx son capaces de correr hasta 25 MHz, tener hasta 256 KB de memoria flash y hasta 18 KB de RAM. Esta familia basado en flash cuenta con bajo consumo activo con hasta 25 MIPS en la operación de 1.8-3.6 V (165 uA/MIPS). Incluye un módulo de gestión de potencia innovadora para el consumo de energía óptima y USB integrado.

  • Resumen de especificaciones potencia, como:
    • Retención de RAM 0.1 μA
    • Modo de reloj de tiempo real μA 2.5
    • 165 μA / MIPS activo
    • Despertar rápido de las características del modo de espera en menos de 5 µs.
  • Parámetros del dispositivo:
    • Opciones de Flash: hasta 256 KB
    • Opciones de RAM: hasta 18 KB
    • Opciones de ADC: 12-bit SAR
    • Opciones de GPIO: 74 pines
    • Otros periféricos integrados: USB, pantalla LCD, DAC, Comparator_B, DMA, 32 x 32 multiplicador, módulo de gestión de energía (BOR, SVS, SVM, LDO), sensor de temperatura del temporizador, RTC, del perro guardián

Serie RF SoC (CC430)

El Serie RF SoC (CC430) proporciona la estrecha integración entre el núcleo del microcontrolador, periféricos, software y del transmisor-receptor del RF. Características < transceptor RF de 1 GHz, con operación V-3.6 V 1.8.

  • Resumen de especificaciones potencia, como:
    • Retención de memoria RAM de 1 μA
    • Modo de reloj de tiempo real μA 1.7
    • 180 μA / MIPS activo
  • Parámetros del dispositivo:
    • Opciones de velocidad: hasta 20 MHz
    • Opciones de Flash: hasta 32 KB
    • Opciones de RAM: hasta 4 KB
    • Opciones de ADC: 12-bit SAR
    • Opciones de GPIO: 30 & 44 pines
    • Otros periféricos integrados: controlador LCD, 2 temporizadores de 16 bits, temporizador watchdog, RTC, alimentación módulo de gestión (BOR, SVS, SVM, LDO), sensor de temperatura USCI módulo, DMA, multiplicador de 32 x 32, B Comp,

Serie FRAM (MSP430FR57xx)

El Serie FRAM (MSP430FR57xx) de Texas Instruments ofrece memoria unificada con partición dinámica y velocidades de acceso de memoria 100 veces más rápido que flash. También es capaz de cero retención de estado de energía en todos los modos de alimentación, que significa que las escrituras están garantizadas, FRAM[dudosa ] incluso en el caso de un apagón. Con una resistencia de escritura de los ciclos más 100 trillones, EEPROM ya no es necesario. Consumo de energía activa de menos de 100μA/MHz.

  • Resumen de especificaciones potencia, como:
    • retención de nA RAM 320
    • Modo de reloj de tiempo real μA 1.5
    • 82 μA / MIPS activo
  • Parámetros del dispositivo:
    • Opciones de velocidad: hasta 24 MHz
    • Opciones de FRAM: hasta 16 KB
    • Opciones de RAM: hasta 1 KB
    • Opciones de ADC: 10-bit SAR
    • Opciones de GPIO: 33 pines
    • Otros periféricos integrados: MPU, hasta 5 temporizadores de 16 bits, temporizador watchdog, RTC, alimentación módulo de gestión (BOR, SVS, SVM, LDO), multiplicador de módulo, DMA, USCI, Comp B, sensor de temperatura

Serie de baja tensión

El Serie de baja tensión incluir las piezas MSP430C09x y MSP430L092. Estas 2 series de microcontroladores de 16 bits de baja tensión tienen configuraciones con dos temporizadores de 16 bits, un 8-bit convertidor de analógico-a-digital (A/D), un 8-bit digital a analógico (D) convertidor d/a y hasta 11 pines I/O. Para obtener más información, vea Wiki de baja tensión.

  • Resumen de especificaciones potencia, como:
    • Retención de memoria RAM de 1 μA
    • Modo de reloj de tiempo real μA 1.7
    • 180 μA / MIPS activo
  • Parámetros del dispositivo:
    • Opciones de velocidad: 4 MHz
    • ROM opciones: 1-2 kB
    • Opciones de SRAM: 2 kB
    • Opciones de ADC: 8-bit SAR
    • Opciones de GPIO: 11 pines
    • Otros periféricos integrados: hasta 2 temporizadores de 16 bits, temporizador watchdog, brown-out reset, SVS, comparador, sensor de temperatura

Otras familias MSP430

Incluyen familias adicionales dentro de MSP430 Función fija, Automotriz, y Extendido Temp piezas.

Función fija:: El microcontrolador MSP430BQ1010 16 bits es un dispositivo avanzado de función fija que forma la unidad de control y comunicaciones en el lado del receptor para transferencia inalámbrica de aplicaciones portátiles. MSP430BQ1010 cumple con la especificación del consorcio de energía inalámbrica (WPC). Para obtener más información, vea Energía sin contacto.

Automotriz:: MSP430 automotrices microcontroladores (MCU) de Texas Instruments (TI) son procesadores de 16 bits, basado en RISC, señal mixta que son AEC-Q100 calificados y adecuado para aplicaciones de automoción en entornos de hasta 105 ° C de temperatura ambiente. Controladores compatibles con LIN para el MSP430 MCU proporcionados por RSI GmbH.

Extendido Temp:: Dispositivos MSP430 son muy populares en entornos tales como detección industrial por su bajo consumo de energía e innovadora integración analógica. Algunas aplicaciones de ambiente áspero incluyen transporte/automoción, energías renovables, militares/espacio/aviónica, exploración minera, industrial y seguridad y seguridad.

  • Definiciones de dispositivos:
    • HT:-55 ° C a 150 ° C
    • EP: Mejorado productos-55 ° C a 125 ° C
    • Q1: Automotriz Q100 calificados-40 ° C a 105 ° C
    • T: extendido de temperatura-40 ° C a 105 ° C aplicaciones

Tenga en cuenta que cuando el tamaño del flash es más de 64K palabras (128 KBytes), direcciones de instrucción pueden ya no ser codificados en sólo dos bytes. Este cambio en el tamaño del puntero provoca algunas incompatibilidades con partes anteriores.

Periféricos

Los MSP430 periféricos son generalmente fáciles de usar, con direcciones (sobre todo) consistentes entre los modelos y no hay registros de sólo escritura.

Puertos de la entrada-salida de 0 – 10

Como es norma en microcontroladores, pernos más conectan a un periférico más especializado, pero si no es necesario ese periférico, el perno puede utilizarse para la entrada-salida de propósito general. Los pernos se dividen en grupos de 8 bits llamados "puertos", cada una de ellas es controlada por un número de registros de 8 bits. En algunos casos, los puertos están dispuestos en pares que se pueden acceder como registros de 16 bits.

La familia MSP430 define 11 puertos de la entrada-salida, P0 mediante P10, aunque ningún chip implementa más que 10 de ellos. P0 sólo se implementa en la ' familia 3xx. P7 a través P10 se aplican sólo a los miembros más grandes (y más alto pin cuenta versiones) de la ' 4xx y ' 2xx familias. El más reciente ' 5xx y ' 6xx familias tiene P1 a través P11, y se reasignan los registros de control para proporcionar más pares de puerto. Cada puerto está controlada por los siguientes registros. Puertos que no implementan características particulares (por ejemplo, interrupción en cambio de estado) no implementan los registros correspondientes.

P xEN
Puerto x entrada. Esto es un registro de sólo lectura y refleja el estado actual de los pines del puerto.
P xHACIA FUERA
Puerto x salida. Los valores escritos en este registro de lectura/escritura se expulsan las clavijas correspondientes cuando están configurados a la salida.
P xDIR
Puerto x Dirección de datos. Brocas escritos como 1 configuración el pin correspondiente de salida. Brocas escritos como 0 configuración el pin de entrada.
P xSEL
Puerto x Seleccione la función. Brocas escritos como 1 configurar el pin correspondiente para utilizan por el periférico especializado. Brocas escritos como 0 configurar el pin de propósito general i/os puerto 0 (' sólo piezas 3xx) no es multiplexado con otros periféricos y no tiene un registro de P0SEL.
P xREN
Puerto x resistor enable ('2xx & ' 5xx solamente). Brocas en este registro permiten débil pull-up o resistencias pull-down en la entrada-salida correspondientes pasadores incluso cuando están configurados como entradas. La dirección del tirón está fijada a la poco escrito al P xCaja registradora.
P xDS
Puerto x fuerza de impulsión ('5xx solamente). Brocas en este registro permiten salidas de alta corriente. Esto aumenta la potencia de salida, pero puede causar EMI.

Puertos de 0 – 2 pueden producir interrupciones cuando cambian de entradas. Registros adicionales configuración esta habilidad:

P xIES
Puerto x Seleccione borde de interrupción. Selecciona el borde que causará la P xIFG poco para establecerse. Cuando la entrada poco cambios de emparejar el P xEstado IES no coincidentes (es decir, cada vez un poco en P xIES XOR P xIN cambios de claro para establecer), la correspondiente P xIFG bit está establecido.
P xIE
Puerto x habilitar interrupción. Cuando este bit y el correspondiente P xIFG poco ambos se fijan, se genera una interrupción.
P xIFG
Puerto x Bandera de interrupción. Configurar cada vez que el pin correspondiente hace el estado cambio solicitado por P xIES. Puede eliminarse sólo por software. (Puede también ser fijado por el software.)
P xIV
Puerto x vector de interrupción ('5xx solamente). Este registro de 16 bits es un codificador de prioridad que puede utilizarse para manejar el cambio de pin interrupciones. If n es el bit de interrupción número menor que esté pendiente en P xIFG y habilitado en P xIE, este registro se lee como 2 n+ 2. Si no hay ninguna tan poco, se lee como 0. El factor de escala de 2 permite su uso directo como un desplazamiento en un tabla rama. Leyendo este registro también despeja el divulgado P xBandera IFG.

Alfileres tienen propósitos especiales como entradas o salidas. (Por ejemplo, pernos de temporizador pueden ser configurados como captura de entradas o salidas PWM). En este caso, el PxDIR poco controla cual de las dos funciones del pin cuando realiza la PxSEL bit está establecido. Si hay solamente una función especial, entonces PxDIR es generalmente ignorada. El PxEN registro es todavía legible si la PxSEL bit está establecido, pero interrupción generación está deshabilitado. Si PxSEL es clara, la entrada de la función especial está congelada y desconectada del PIN externo. También, configurando un pin para la salida de propósito general hace No desactivar la generación de interrupción.

I/O de propósito general registrar Dirección mapa
'1xx –' 4xx familias
PxEN PxHACIA FUERA PxDIR PxSEL PxIES PxIE PxIFG PxREN
P0 0 x 10 0 0X12 0 x 13 0 0x15
P1 0 x 20 0 0 0X26 incluidos 0x25 0x23 0x27
P2 0 0x29 0x2A 0x2e $b0 0x2d 0x2b 0x2f
P3 0 0x19 0x1A 0x1b 0 x 10
P4 0x1c 0x1d 0x1E 0x1F 0
P5 0 x 30 0x31 0X32 x 0X12
P6 0x34 0x35 0x36 0x37 0 x 13
PA P7 0x38 0x3a 0x3c 0x3e 0
P8 0x39 0x3b 0x3D 0x3F 0x15
PB P9 0 x 08 0x0A 0x0c 0x0E 0x16
P10 0 x 09 0x0B 0x0D 0x0f 0x17
6xx '5xx –' & ' familias 0xx
PxEN PxHACIA FUERA PxDIR PxREN PxDS PxSEL PxIV PxIES PxIE PxIFG
PA P1 0 x 200 0x202 0x204 0x206 0x208 0x20A 0x20E 0x218 0x21A 0x21C
P2 0x201 0x203 0x205 0x207 0x209 0x20B 0x21E 0x219 0x21B 0x21D
PB P3 0x220 0x222 0x224 0x226 0x228 0x22A
P4 0x221 0x223 0x225 0x227 0x229 0x22B
PC P5 0 0x242 0x244 0x246 0x248 0x24A
P6 0x241 0x243 0x245 0x247 0x249 0x24B
PD P7 0x260 0x262 0x264 0x266 0x268 0x26A
P8 0x261 0x263 0x265 0x267 0x269 0x26B
PE P9 0x280 0x282 0x284 0x286 0x288 0x28A
P10 0x281 0x283 0x285 0x287 0x289 0x28B
S1R 0x2A0 0x2A2 0x2A4 0x2A6 0x2A8 0x2AA
PJ 0x320 0x322 0x324 0x326 0x328 4 bits solamente; compartido con JTAG pasadores.

Periféricos integrados

Analógico
  • Convertidor de analógico a Digital
La línea MSP430 ofrece dos tipos de Conversión de analógico a Digital (ADC). 10 y 12 bits Aproximación sucesivas convertidores, así como un 16-bit Sigma-Delta convertidor. Controladores de transferencia de datos y un buffer de conversión y control 16 palabra permiten el MSP430 convertir y almacenar las muestras sin intervención del CPU, minimizando el consumo de energía.
  • Piscina analógico
El módulo analógico piscina (una-piscina) puede configurarse como un sensor de ADC, DAC, comparador, SVS o temperatura. Permite flexibilidad para programar una serie de funciones analógicas con la sola configuración.
  • Comparador A, A +
El módulo comparador del MSP430 proporciona pendiente de precisión Conversión de analógico a Digital. Monitores analógicos externos de señales y proporciona el voltaje y la resistencia de valoran de medición. Capaz de modos de potencia seleccionable.
  • DAC12
El módulo DAC12 es un DAC de 12 bits, voltaje de salida con selección de referencias internas/externas y el tiempo de adaptación programable para el consumo de energía óptima. Se puede configurar en modo de 8 o 12 bits. Cuando varios módulos de DAC12 están presentes, pueden agruparse juntos para la operación de actualización sincrónica.
  • OP Amps
Disponen de fuente única, operación actual bajo con salidas rail-to-rail y tiempos de sedimentación programables. Las opciones de configuración seleccionable por software: modo de ganancia unidad, modo comparador, invirtiendo PGA, PGA, diferencial no invertir y amplificador de instrumentación.
  • Sigma Delta (SD)
Cada uno cuentan con los módulos de SD16/SD16_A/SD24_A 16 / 24-bit convertidores A/d Sigma-Delta con 1,2 V referencia interna. Cada convertidor tiene hasta ocho entradas multiplexadas totalmente diferenciadas, incluyendo un sensor de temperatura incorporado. Los convertidores son de segundo orden sobremuestreo moduladores sigma delta con ratios de sobremuestreo seleccionable de hasta 1024 (SD16_A/SD24_A) o 256 (SD16).
Contadores de tiempo
  • Temporizador básico (BT)
El BT tiene dos temporizadores independientes de 8 bits que pueden ser conectado en cascada para formar un temporizador/contador de 16 bits. Ambos temporizadores pueden ser leídos y escritos por software. El BT se extiende para proporcionar un RTC integrado. Un calendario interno compensa los meses con menos de 31 días e incluye corrección año bisiesto.
  • Reloj en tiempo real
RTC_A/B son módulos de contador de hardware de 32 bits que proporcionan contadores de reloj con calendario, alarma programable flexible y calibración. El RTC_B incluye un sistema de respaldo de batería cambiable que proporciona la capacidad de la RTC operar cuando falla la fuente primaria.
  • temporizadores de 16 bits
Timer_A, Timer_B y Timer_D son asíncronos temporizadores/contadores de 16 bits con hasta siete registros de captura/comparación y diferentes modos de funcionamiento. Los temporizadores de soportan múltiples captura/compara, Salidas PWM y tiempo de intervalo. También tienen capacidad de interrupción extensa. Timer_B presenta características adicionales tales como longitudes de temporizador programable (8, 10, 12 o 16 bits), mientras que Timer_D introduce un modo de alta resolución (resolución de 4 ns).
  • Perro guardián (WDT +)
El WDT + realiza un reinicio del sistema controlado después de que ocurra un problema de software. Si expira el intervalo de tiempo seleccionado, se genera un reinicio del sistema. Si la función de perro guardián no es necesario en una aplicación, el módulo puede ser configurado como un temporizador de intervalos y puede generar interrupciones en intervalos de tiempo seleccionado.
Sistema
  • Advanced Encryption Standard (AES)
El módulo acelerador AES realiza el cifrado y descifrado de datos de 128 bits con claves de 128 bits según el estándar en hardware de cifrado avanzado y se puede configurar con el software del usuario.
  • Brown-Out Reset (BOR)
El circuito BOR detecta tensiones de alimentación baja y reinicia el dispositivo mediante la activación de una señal de power-on-reset (POR) cuando se aplica o quita poder. Cero-BOR circuito del MSP430 MCU está continuamente encendida, incluyendo en todos los modos de bajo consumo de energía.
  • Direct Memory Access (DMA) controlador
El controlador DMA transfiere los datos desde una dirección a otra en toda la gama de dirección completa sin intervención del CPU. El DMA aumenta el rendimiento de los módulos periféricos y reduce el consumo de energía del sistema. El módulo dispone de hasta tres canales de transferencia independiente.
Aunque subsistema del MSP430 DMA es muy capaz tiene varios defectos, el más importante de los cuales es la falta de un estrobo de transferencia externa. Aunque una transferencia DMA se puede accionar desde el exterior, no hay ninguna indicación externa de la terminación de una transferencia. En consecuencia DMA desde fuentes externas y se limita a disparo externo por transferencia de bytes, en lugar de bloques completo automáticamente vía DMA. Esto puede llevar a la gran complejidad (como requiriendo mano extensa trucaje de código) al aplicar el procesador procesador o a las comunicaciones USB. [2] La referencia citada utiliza un modo temporizador obscuro para generar luces estroboscópicas de alta velocidad para transferencias DMA. Desafortunadamente, los temporizadores no son lo suficientemente flexibles para compensar fácilmente por la falta de un estrobo de transferencia DMA externo.
Operaciones de DMA que involucren transferencias de palabra byte ubicaciones causa truncamiento a 8 bits en lugar de conversión a las transferencias de dos bytes. Esto convierte a DMA con A/D o D/A 16 bits valores menos útiles de lo que podría ser (aunque es posible DMA estos valores a través del puerto A o B en algunas versiones de la MSP 430 usando un disparador externamente visible por transferencia como una salida de temporizador).
  • Módulo de emulación mejorada (EEM)
La EEM proporciona diferentes niveles de depuración características tales como 2-8 puntos de interrupción hardware, puntos de interrupción complejas, break cuando ocurre la lectura y escritura en la dirección especificada y mucho más. Encaja en todos los dispositivos de MSP430 basadas en flash.
  • Multiplicador del hardware
Algunos modelos MSP430 incluyen un multiplicador del hardware asignado a memoria periférico que realiza varios 16 × 16 + 32→33-bit se multiplican-acumular las operaciones. Inusualmente para el MSP430, este periférico incluyen un implícito 2 bits sólo escritura registro, que resulta prácticamente imposible que cambio de contexto. Este periférico no interfiera con las actividades de la CPU y puede accederse por la DMA. El MPY en todos MSP430F5xx y algunas cuentan con dispositivos MSP430F4xx hasta 32-bit x 32 bits.
Los 8 registros utilizados son:
Dirección Nombre Función
0x130 MPY Operand1 para multiplicar unsigned
0x132 MPYS Operand1 para multiplicar firmado
0x134 MAC Unsigned Operand1 para multiplicar-acumule
0x136 MAC Firmado Operand1 para multiplicar-acumule
0x138 OP2 Segundo operando para multiplicar la operación
0x13A ResLo Bajo palabra del resultado de la multiplicación
0x13C ResHi Palabra alta del resultado de la multiplicación
0x13E SumExt Cargar multiply-accumulate
El primer operando se escribe en uno de los cuatro registros de 16 bits. La dirección escrita determina la operación realizada. Mientras que el valor escrito puede leerse desde cualquiera de los registros, el número de registro escrito que no puede ser recuperado.
Si una se multiplican-acumule operación es deseada, el ResLo y ResHi los registros también deben ser inicializados.
Entonces, cada vez que una escritura que se realiza para el OP2 se realiza el registro, una multiplicación y el resultado almacenado o añadido a los registros de resultado. El SumExt registro es un registro de sólo lectura que contiene los llevan fuera de la adición (0 o 1) en caso de una multiplicación sin signo), o la extensión de signo de la suma de 32-bit (0 o -1) en caso de una multiplicación firmado. En el caso de un multiply-accumulate firmado, el SumExt valor debe combinarse con el bit más significativo del prior SumHi contenidos para determinar la verdadera realización resultado (-1, 0 o + 1).
El resultado está disponible después de tres ciclos de reloj de retardo, que es el tiempo necesario para ir a buscar una instrucción siguiente y una palabra índice siguiente. Así, el retraso es normalmente invisible. Un retraso explícito sólo es necesario si se utiliza un modo de direccionamiento indirecto para ir a buscar el resultado.
  • Unidad de protección de la memoria (MPU)
El FRAM MPU protege contra accidental escribe a segmentos de memoria de sólo lectura designada o la ejecución de código desde una memoria constante. El MPU puede establecer cualquier porciones de memoria con poco nivel de direccionamiento, haciendo accesible la memoria completa para leer, escribir y ejecutar operaciones en dispositivos de FRAM.
  • Módulo de administración de energía (PMM)
El PMM genera una tensión de alimentación para la lógica del núcleo y provee varios mecanismos para la supervisión y monitoreo de la tensión aplicada al dispositivo y el voltaje generado por el núcleo. Está integrado con un regulador de voltaje baja-deserción (LDO), brown-out reset (BOR) y un supervisor de voltaje de fuente y un monitor.
  • Supervisor de tensión de alimentación (SVS)
La Superintendencia es un módulo configurable utilizado para monitorear la tensión de alimentación AVCC o un voltaje externo. La Superintendencia puede configurarse para establecer una bandera o generar un power-on-reset (POR) cuando la tensión o voltaje externo desciende por debajo de un umbral seleccionados por el usuario.
Comunicación e interfaz
  • Táctil capacitiva sentido i/os
El módulo de E/S del sentido táctil capacitiva integrada ofrece numerosas ventajas para toque de botón y aplicaciones de control deslizante. El sistema no requiere componentes externos para crear la oscilación automática (reducir lista de materiales) y el condensador (que define la frecuencia de la oscilación automática) puede ser conectado directamente. Además, no hay necesidad de MUXes externos permitir múltiples almohadillas y cada cojín I/O directamente puede servir como una entrada de sentido de la tapa. Una histéresis de ~0.7 V asegura una operación robusta. Control y la secuencia se hace completamente en el software.
  • E/s de propósito general
MSP430 dispositivos tienen hasta 12 puertos de E/S digitales implementados. Cada puerto tiene ocho pines I/O. Cada pin I/O puede ser configurado como entrada o salida y puede individualmente leído o escrito. Puertos P1 y P2 tienen capacidad de interrupción. Algunos dispositivos F4xx, F5xx y MSP430F2xx cuentan con resistencias pull-down o pull-up incorporado, configurable individualmente.
  • Sub-GHZ RF Front End
El flexible CC1101 sub-1 GHz transceptor ofrece la sensibilidad y rendimiento bloqueo necesario para lograr enlaces de comunicación exitosa en cualquier entorno de RF. También cuenta con bajo consumo de corriente y soporta tasas de datos flexible y modulación de formatos.
  • USART (UART, SPI, I²C)
El universal síncrono/asychrnous recibir/transmitir (USART) interfaz periférico soporta RS-232 y sincrónica SPI comunicación asincrónica con un módulo de hardware. Los módulos de MSP430F15x/16 x USART también apoyarán I²C, programable en baudios y capacidad de interrupción independiente para recibir y transmiten.
  • USB
El módulo USB es totalmente compatible con la especificación USB 2.0 y es compatible con las transferencias de control, interrumpir y a granel a una velocidad de datos de 12 Mbps (velocidad máxima). Los soportes módulo USB suspender, reanudar y operaciones remotas de despertar y pueden ser configuradas para hasta ocho entradas y ocho puntos finales de salida. El módulo incluye una interfaz integrada física (PHY); una fase de bucle cerrado (PLL) para la generación de reloj USB; y un sistema de alimentación flexible permitiendo dispositivos autoalimentados y alimentado por bus.
  • USCI (UART, SPI, I²C, LIN, IrDA)
La comunicación universal serial interface (USCI) módulo ofrece dos canales independientes que se pueden utilizar simultáneamente. El canal asincrónico (USCI_A) soporta el modo UART; Modo SPI; pulso para IrDA; y detección automática baudios para las comunicaciones de LIN. El canal sincrónico (USCI_B) soporta los modos I²C y SPI.
  • USI (SPI, I²C)
El módulo de interfaz serial universal (USI) es una interfaz de comunicación serial síncrona con una longitud de datos de hasta 16 bits y puede soportar comunicación SPI y I²C con software mínimo.
Medición
  • ESP430 (integrado en dispositivos de FE42xx)
El módulo ESP430CE realiza cálculos de medición independientes de la CPU. Módulo tiene separado SD16, multiplicador de HW, y la ESP430 procesador incorporado para aplicaciones de medición de energía monofásicas.
  • Análisis de interfaz (SIF)
El módulo de SIF, una máquina de estado programable con una parte delantera analógica, se utiliza para medir automáticamente el movimiento lineal o rotatorio con el menor consumo de energía posible. El módulo incluye soporte para diferentes tipos de LC y sensores resistivos y cuadratura de codificación.
Pantalla
  • LCD/LCD_A/LCD_B
El controlador LCD/LCD_A conduce directamente LCDs para segmentos hasta 196. Soportes estática, 2-mux, 3-mux, 4-mux LCDs. LCD_A el módulo y ha integrado la bomba de carga para el control de contraste. LCD_B permite parpadear de segmentos individuales con memoria parpadeo separadas.

Entorno de desarrollo de software

Texas Instruments proporciona diversos hardware tableros experimentador ese apoyo grande (aproximadamente dos centímetros cuadrados) y pequeño (aproximadamente un milímetro cuadrado) MSP430 chips. TI también ofrece herramientas de desarrollo de software, tanto directamente y en colaboración con socios (véase el completo lista de compiladores, ensambladores y IDEs). Un tal toolchain es el IAR C/C++ compilador y Entorno de desarrollo integrado, o IDE. Una edición de Kickstart puede descargarse gratuitamente de TI o IAR; está limitado a 8 KB de código C y C++ en el compilador y depurador (lenguaje ensamblador programas de cualquier tamaño pueden ser desarrollados y depurados con esta toolchain libre).

TI también combina una versión de su propio compilador y herramientas con su Eclipse-base Código compositor Studio IDE ("CCS"). Se vende versiones completa y ofrece una versión gratuita para descargar que tiene un límite de tamaño de código de 16 KB. CCS soporta emuladores en circuito e incluye un simulador y otras herramientas; también puede trabajar con otros procesadores vendidos por TI.

El fuente abierta comunidad produce un conjunto de herramientas de desarrollo software libremente disponible basado en el Conjunto de herramientas GNU. Actualmente, el compilador GNU se declina en tres versiones:

(MSPGCC)

(MSPGCC Uniarch)

Hay una muy temprana LLVM-msp430 proyecto, que eventualmente puede proveer mejor soporte para MSP430 en LLVM.

Otros conjuntos de herramientas de desarrollo comercial, que incluyen editor, compilador, enlazador, ensamblador, depurador y en algunos asistentes de código casos, están disponibles. VisSim, un Diagrama de bloques idioma para el desarrollo del modelo base, genera eficiente punto fijo C-código directamente en el diagrama.[4] VisSim genera código para un lazo cerrado ADC + PWM basado en Control del PID en el F2013 compila a menos de 1 KB flash y 100 bytes de RAM.[5] VisSim tiene bloqueos periféricos de la en-viruta para toda la familia de MSP430 I²C, ADC, SD16, PWM.

Plataformas de desarrollo de bajo coste

El MSP430F2013 y sus hermanos se encuentran separados por el hecho de que (excepto para el Línea de valor MSP430G2) es la única parte MSP430 que está disponible en un paquete en línea dual (INMERSIÓN). Otras variantes de esta familia sólo están disponibles en varios paquetes de montaje en superficie. TI ha ido a algunos problemas para apoyar la plataforma de desarrollo eZ430 facilitando las patatas crudas para aficionados a utilizar en prototipos.

eZ430-F2013

TI ha abordado el problema de bajo presupuesto ofreciendo un tablero experimentador muy pequeña, la eZ430-F2013, en una memoria USB. Esto hace fácil para los diseñadores para elegir el MSP430 chip para las plataformas de desarrollo económico que puede ser utilizado con una computadora. El eZ430-F2013 contiene un microcontrolador MSP430F2013 en un tablero desmontable de prototipos y acompañamiento CD con software de desarrollo. Es útil para las escuelas, aficionados y los inventores del garaje. También es bienvenida por los ingenieros en proyectos de prototipos de grandes empresas con problemas de presupuesto de capital.

MSP430 Launchpad

Texas Instruments liberado el MSP430 Launchpad en julio de 2010. El MSP430 Launchpad tiene un a bordo emulador de Flash, USB2 programable LEDy 1 botón programable.[6]

Interfaz de depuración

En común con otros proveedores de microcontrolador, TI ha desarrollado un interfaz depuración bifilar encontrado en algunas de sus partes MSP430 que pueden sustituir a la interfaz JTAG más grande. La herramienta de desarrollo eZ430 contiene una herramienta completa conexión USB flash emulación ("FET") para el nuevo protocolo de dos hilos, llamado"Espía-Bi-Wire"por TI. Espía-Bi-Wire fue introducido inicialmente en solamente los dispositivos más pequeños en la ' familia F2xx con limitado número de pines de I/O, como el MSP430F20xx, MSP430F21x2 y MSP430F22x2. El apoyo de espía-Bi-Wire se ha ampliado con la introducción de las últimas ' familia 5xx, donde todos los dispositivos tienen apoyo espía-Bi-Wire interfaz además de JTAG.

La ventaja de la Espía-Bi-Wire el protocolo es que utiliza sólo dos líneas de comunicación, uno de los cuales es la línea dedicada _RESET. El interfaz JTAG en las partes bajas de pin Conde MSP430 es multiplexado con líneas de E/S de propósito general. Esto hace relativamente difícil de depurar los circuitos en torno a las virutas pequeñas, bajo/O-presupuesto, puesto que el hardware JTAG completo de 4 pines se interfieren con nada más conectado a las líneas de la entrada-salida. Este problema se alivia con los chips espía-Bi-Wire-capaz, siendo compatibles con el JTAG normal de interfaz para atrás compatibilidad con las viejas herramientas de desarrollo.

JTAG depuración y flash herramientas de programación basados en OpenOCD y ampliamente utilizado en el brazo de comunidad no están disponibles para el MSP430. Herramientas de programación especialmente diseñadas para el MSP430 son marginalmente menos costosas que las interfaces JTAG que utilizan OpenOCD. Sin embargo, debe descubrir un proyecto de centro de la corriente que se necesitan más MIPS, más memoria y más periféricos de E/S, esas herramientas no transferirá a un procesador de otro proveedor.

MSP430 CPU

El MSP430 CPU utiliza un arquitectura de von Neumann, con un espacio de dirección única para instrucciones y datos. La memoria es Byte-dirigido, y pares de bytes se combinan Little-endian realizar 16-bit palabras.

El procesador contiene 16 registros de 16 bits,[7] de los cuales 4 están dedicados a propósitos especiales: R0 es el contador de programaR1 es el puntero de pilaR2 es el registro del estado, y R3 es un registro especial llamado el generador constante, proporcionando acceso a 6 comúnmente usados valores constantes sin requerir un operando adicional. R3 siempre lee como 0 y escribe que es ignorados. R4 a través R15 están disponibles para uso general.

El conjunto de instrucciones es muy simple; Hay 27 instrucciones en tres familias. Están disponibles en la mayoría de las instrucciones.B (byte de 8 bits) y.W (palabra de 16 bits) como sufijo versiones, dependiendo del valor de un poco de blanco y negro: se establece el bit de 8 bits 1 y 0 para 16 bits. Falta un sufijo es equivalente a.W. Byte operaciones a memoria afectan sólo el octeto dirigido, mientras que las operaciones de byte a clara registra el byte más significativo.

Conjunto de instrucciones MSP430
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Instrucción
0 0 0 1 0 0 OpCode BLANCO Y NEGRO As registro Single-operandos aritméticos
0 0 0 1 0 0 0 0 0 BLANCO Y NEGRO As registro CRR Gire derecha (1 bit) acarreo
0 0 0 1 0 0 0 0 1 0 As registro SWPB Intercambio de bytes
0 0 0 1 0 0 0 1 0 BLANCO Y NEGRO As registro RRA Aritmética Gire derecha (1 bit)
0 0 0 1 0 0 0 1 1 0 As registro SXT Signo extender byte a palabra
0 0 0 1 0 0 1 0 0 BLANCO Y NEGRO As registro EMPUJE Valor de empuje en pila
0 0 0 1 0 0 1 0 1 0 As registro LLAMADA Llamada de subrutina; Empuje el PC y mueva la fuente a la PC
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI Retorno de interrupción; Pop SR luego pop PC
0 0 1 condición desplazamiento firmado 10 bits Salto condicional; PC = PC + 2 × offset
0 0 1 0 0 0 desplazamiento firmado 10 bits JNE/JNZ Saltar si no igual o cero
0 0 1 0 0 1 desplazamiento firmado 10 bits JEQ/JZ Saltar si igual o cero
0 0 1 0 1 0 desplazamiento firmado 10 bits JNC/JLO Saltar si no llevan/inferior
0 0 1 0 1 1 desplazamiento firmado 10 bits JC/JHS Saltar si llevan o superiores o iguales
0 0 1 1 0 0 desplazamiento firmado 10 bits JN Saltar si es negativo
0 0 1 1 0 1 desplazamiento firmado 10 bits JGE Saltar si igual o mayor
0 0 1 1 1 0 desplazamiento firmado 10 bits JL Saltar si menos
0 0 1 1 1 1 desplazamiento firmado 10 bits JMP Saltar (incondicionalmente)
OpCode fuente Ad BLANCO Y NEGRO As destino Dos-operandos aritméticos
0 1 0 0 fuente Ad BLANCO Y NEGRO As destino MOV Movimiento de origen a destino
0 1 0 1 fuente Ad BLANCO Y NEGRO As destino AÑADIR Añadir fuente a destino
0 1 1 0 fuente Ad BLANCO Y NEGRO As destino ADDC Añadir fuente y llevar a destino
0 1 1 1 fuente Ad BLANCO Y NEGRO As destino SUBC Restar fuente de destino (con acarreo)
1 0 0 0 fuente Ad BLANCO Y NEGRO As destino SUB Restar fuente de destino
1 0 0 1 fuente Ad BLANCO Y NEGRO As destino CMP Comparar (pretende restar) fuente de destino
1 0 1 0 fuente Ad BLANCO Y NEGRO As destino DADD Decimal Añadir fuente a destino (con acarreo)
1 0 1 1 fuente Ad BLANCO Y NEGRO As destino BIT Pedacitos de prueba de origen y destino
1 1 0 0 fuente Ad BLANCO Y NEGRO As destino BIC Poco clara (dest & = ~ src)
1 1 0 1 fuente Ad BLANCO Y NEGRO As destino BIS Bit establecido (OR lógico)
1 1 1 0 fuente Ad BLANCO Y NEGRO As destino XOR Exclusiva o fuente con destino
1 1 1 1 fuente Ad BLANCO Y NEGRO As destino Y Lógica y fuente con destino (dest & src =)

Las instrucciones son 16 bits, seguidas de dos palabras de extensión de 16 bits. Modos de direccionamiento son especificados por los 2 bits como campo y el campo Ad 1-bit. Algunas versiones especiales pueden construirse mediante R0 y modos distintos de registro dirigen con R2 (el registro del estado) y R3 (el generador constante) se interpretan especialmente. Anuncio puede usar sólo un subconjunto de los modos de direccionamiento para como.

Modos de direccionamiento indexados agregar una palabra de 16 bits de extensión a la instrucción. Si tanto de origen y de destino están indexados, primero la palabra extensión fuente. x se refiere a la palabra siguiente de extensión en la secuencia de instrucciones en la siguiente tabla.

Modos de direccionamiento MSP430
As Ad Registro Sintaxis Descripción
00 0 n Rn Registro directo. El operando es el contenido de Rn.
01 1 n x(Rn) Indexadas. El operando está en la memoria en dirección Rn+x.
10 n @Rn Registro indirecto. El operando está en la memoria en la dirección en Rn.
11 n @Rn+ Autoincrement indirecta. Como arriba, entonces el registro se incrementa en 1 o 2.
Modos de direccionamiento mediante R0 (PC)
01 1 0 (PC) ADDR Simbólico. Equivalente a x(PC). El operando está en la memoria en dirección PC +x.
11 0 (PC) #x Inmediata. Equivalente a @PC +. El operando es la palabra siguiente en la secuencia de instrucciones.
Direccionamiento modos usando R2 (SR) y R3 (CG), decodificación de casos especiales
01 1 2 (SR) &ADDR Absoluta. El operando es en memoria de dirección x.
10 2 (SR) #4 Constante. El operando es una constante 4.
11 2 (SR) #8 Constante. El operando es una constante 8.
00 3 (CG) #0 Constante. El operando es una constante 0.
01 3 (CG) #1 Constante. El operando es una constante 1. No hay ninguna palabra de índice.
10 3 (CG) #2 Constante. El operando es una constante 2.
11 3 (CG) #−1 Constante. El operando es el constante −1.

Las instrucciones generalmente toman 1 ciclo por palabra trajo o almacenados, instrucción veces rango de 1 ciclo para una instrucción simple registro a 6 ciclos para una instrucción con origen y destino indexadas.

La extensión de MSP430X con el direccionamiento de 20 bits añade instrucciones adicionales que pueden requerir hasta 10 ciclos de reloj. Establecer o borrar un poco periférico lleva dos relojes. Un salto, o no lleva dos relojes. Con los MCLKs de 2xx serie 2 es 125 ns a 16 MHz.

Se mueve hacia el contador del programa está permitidos y realiza saltos. Retorno de subrutina, por ejemplo, se implementa como MOV @SP+, PC.

Cuando se utilizan con el modo de direccionamiento autoincrement R0 (PC) o R1 (SP), ellos siempre se incrementan en dos. Otros registros (R4 a través R15) se incrementa por el tamaño del operando, 1 o 2 bytes.

El registro del estado contiene 4 pedacitos de estado Aritmética, una interrupción global enable y 4 bits que desactivar varios relojes para entrar en modo de baja potencia. Al manipular una interrupción, el procesador salva el registro del estado de la pila y despeja los pedacitos de baja potencia. Si el manejador de interrupción no modifica el registro del estado guardado, regresa de la interrupción se reanudará luego el original modo de baja potencia.

Operaciones de pseudo

Una serie de instrucciones adicionales se implementa como alias para las formas de las anteriores. Por ejemplo, no hay ninguna instrucción específica "retorno de subrutina", pero está implementado como "MOV @SP+, PC". Emulado instrucciones son:

Instrucciones MSP430 emulado
Emulado Real Descripción
ADC.x DST ADDC.x #0,DST Añadir llevar a destino
BR DST MOV DSTPC Rama a destino
CLRC BIC #1, SR Clara llevan poco
CLRN BIC #4, SR Poco clara negativa
CLRZ BIC #2, SR Despejar cero bits
DADC.x DST DADD.x #0,DST Decimal añadir llevar a destino
DEC.x DST SUB.x #1,DST Decremento
DECD.x DST SUB.x #2,DST Decremento doble
DINT BIC #8, SR Deshabilitar interrupciones
EINT BIS #8, SR Habilitar interrupciones
INC.x DST AÑADIR.x #1,DST Incremento
INCD.x DST AÑADIR.x #2,DST Incremento de doble
INV.x DST XOR.x #−1,DST Invertir
NOP MOV #0, R3 Ninguna operación
POP DST MOV @SP +,DST Estallido de pila
RET MOV @SP+, PC Retorno de subrutina
RLA.x DST AÑADIR.x DST,DST Gire izquierda aritmética (shift izquierdo 1 bit)
RLC.x DST ADDC.x DST,DST Gire a la izquierda a través de llevar
SBC.x DST SUBC.x #0,DST Restar prestado destino (1−carry)
SETC BIS #1, SR Conjunto llevar poco
SETN BIS #4, SR Establezca el bit negativo
SETZ BIS #2, SR Establezca el bit cero
TST.x DST CMP.x #0,DST Destino de prueba

Tenga en cuenta que las constantes inmediata −1 (0xffff), 0, 1, 2, 4 y 8 pueden especificarse en una sola palabra la instrucción sin necesidad de un operando inmediato separado.

MSP430X 20-bit extensión

El MSP430 básico no puede apoyar más memoria (RAM, ROM + periféricos) que su espacio de direcciones de 64K. Para apoyar esto, una forma extendida del MSP430 utiliza registros de 20 bits y un espacio de direcciones de 20 bits, permitiendo hasta 1 MB de memoria. Utiliza la misma instrucción establece que la forma básica, pero con dos extensiones:

  1. Un número limitado de instrucciones de 20 bits para operaciones comunes, y
  2. Un mecanismo general prefijo-palabra que puede ampliar cualquier instrucción de 20 bits.

Las instrucciones extendidas incluyen algunas capacidades adicionales, en particular varios bits turnos y las operaciones de carga/almacenamiento de registro múltiple.

las operaciones de 20 bits usan el sufijo de longitud ".Un"(de dirección) en vez de.B o.T.C.W es el valor por defecto. En general, las operaciones más cortas claro los bits de orden superior del registro de destino.

Las nuevas instrucciones son las siguientes:

MSP430X extendido instrucciones
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Segunda palabra Instrucción
0 0 0 0 fuente 0 0 OpCode destino Memoria extendida-registro movimientos
0 0 0 0 src 0 0 0 0 DST MOVA @Rsrc,RDST
0 0 0 0 src 0 0 0 1 DST MOVA @Rsrc+, RDST
0 0 0 0 addr [19:16] 0 0 1 0 DST addr [15:0] MOVA & abs20, RDST
0 0 0 0 src 0 0 1 1 DST x [15:0] MOVA x (Rsrc), RDST
0 0 0 0 n−1 op. 0 1 0 W/A destino Cambios de bit (bit 1 – 4 posiciones)
0 0 0 0 n−1 0 0 0 1 0 W/A DST RRCM.x #n,RDST (Gire a través de transporte).
0 0 0 0 n−1 0 1 0 1 0 W/A DST RRAM.x #n,RDST (Gire derecha aritmética, a.k.a. firmaron Mayús derecha.)
0 0 0 0 n−1 1 0 0 1 0 W/A DST RLAM.x #n,RDST (Gire izquierda aritmética, también conocido como cambio de izquierda).
0 0 0 0 n−1 1 1 0 1 0 W/A DST RRUM.x #n,RDST (Gire derecha sin firma, también conocido como cambio bien lógico.)
0 0 0 0 fuente 0 1 1 op. destino Registro-memoria extendida se mueve
0 0 0 0 src 0 1 1 0 addr [19:16] addr [15:0] MOVA Rsrc, & abs20
0 0 0 0 src 0 1 1 1 DST x [15:0] MOVA Rsrc, x (RDST)
0 0 0 0 fuente 1 OpCode destino Extendido operaciones ALU
0 0 0 0 IMM [19:16] 1 0 0 0 DST IMM [15:0] MOVA #imm20, RDST
0 0 0 0 IMM [19:16] 1 0 0 1 DST IMM [15:0] APLV #imm20, RDST
0 0 0 0 IMM [19:16] 1 0 1 0 DST IMM [15:0] ADDA #imm20, RDST
0 0 0 0 IMM [19:16] 1 0 1 1 DST IMM [15:0] SUBA #imm20, RDST
0 0 0 0 src 1 1 0 0 DST MOVA Rsrc,RDST
0 0 0 0 src 1 1 0 1 DST APLV Rsrc,RDST
0 0 0 0 src 1 1 1 0 DST ADDA Rsrc,RDST
0 0 0 0 src 1 1 1 1 DST SUBA Rsrc,RDST
0 0 0 1 0 0 1 1 op. modo varía CALLA
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI (Igual que MSP430)
0 0 0 1 0 0 1 1 0 1 As registro CALLA fuente
0 0 0 1 0 0 1 1 1 0 0 0 ABS [19:16] ABS [15:0] CALLA & abs20
0 0 0 1 0 0 1 1 1 0 0 1 x [19:16] x [15:0] CALLA x(PC)
0 0 0 1 0 0 1 1 1 0 1 0 (reservado)
0 0 0 1 0 0 1 1 1 0 1 1 IMM [19:16] IMM [15:0] CALLA #imm20
0 0 0 1 0 0 1 1 1 1 (reservado)
0 0 0 1 0 1 dir W/A n−1 registro Push/pop n registros final con especificado
0 0 0 1 0 1 0 W/A n−1 src PUSHM.x #n,Rsrc Presione Rsrc() Rsrc−1), ... () Rsrcn+ 1)
0 0 0 1 0 1 1 W/A n−1 DST−n + 1 POPM.x #n,RDST Pop () RDSTn+ 1), R ()DSTn+2), ... RDST

Todas las demás instrucciones pueden tener una palabra prefijo agregó que los extiende a 20 bits. La palabra prefijo contiene un poco de tamaño operando adicional, que se combina con la broca de blanco y negro existente para especificar el tamaño del operando. Hay una combinación de tamaño inusitado; Hay indicios de que esto podría utilizarse en el futuro para un tamaño de 32-bit operando.[8]

La palabra prefijo viene en dos formatos, y la elección entre ellas depende de la instrucción que sigue. Si la instrucción tiene cualquier operandos sin registro, entonces la forma simple se utiliza, que proporciona 2 campos de 4 bits para ampliar cualquier constante desplazamiento o inmediata en la secuencia de instrucciones de 20 bits.

Si la instrucción es registro a registro, se utiliza una palabra diversa extensión. Esto incluye un indicador de "ZC" que suprime para el traslado (útil para las instrucciones como DADD que utilizan siempre la broca llevar) y un número de repeticiones. Un campo de 4 bits en la palabra extensión codifica un número de repeticiones (0 – 15 repeticiones además la ejecución inicial), o un número de registro que contiene un número de repeticiones de 4 bits.

MSP430X palabras de prefijo
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Instrucción
0 0 0 1 1 A / L 0 0 Palabra de extensión
0 0 0 1 1 fuente [19:16] A / L 0 0 DST [19:16] Extensión de memoria operando
0 0 0 1 1 0 0 ZC 0 A / L 0 0 n−1 Registro operando extensión (número de repeticiones inmediata)
0 0 0 1 1 0 0 ZC 1 A / L 0 0 Rn Registrar operando extensión (registro número de repeticiones)

Espacio de direcciones MSP430

La disposición general del espacio de direcciones MSP430 es:

0 x 0000 – 0x0007
Registros de función especial de procesador (registros de control de interrupción)
0x0008 – 0x00FF
periféricos de 8 bits. Éstos deben accederse mediante cargas de 8 bits y tiendas.
0100 – 0x01FF
periféricos de 16 bits. Éstos deben accederse mediante cargas de 16 bits y tiendas.
0x0200 – 0x09FF
Hasta 2048 bytes de RAM.
0x0C00 – 0x0FFF
1024 bytes de bootstrap loader ROM (flash partes solamente).
0x1000 – 0x10FF
256 bytes de datos Flash ROM (solamente la parte flash).
0x1100 – 0x38FF
Extendido RAM en los modelos con más de 2048 bytes de RAM. (0x1100 – 0x18FF es una copia de 0x0200 – 0x09FF)
0x1100 – 0xFFFF
Hasta 60 kilobytes del programa ROM ROMs más pequeños comienzan en direcciones superiores. Son los últimos 16 o 32 bytes vectores de interrupción.

Algunos modelos incluyen más de 2048 bytes de RAM; en ese caso RAM comienza en 0x1100. Los primeros 2048 bytes (0x1100 – 0x18FF) se refleja en el 0x0200 – 0x09FF para la compatibilidad. Además, algunos modelos recientes torcer las reglas periféricas 8 bits y 16 bits, permitiendo el acceso de 16 bits a periféricos en la gama de dirección periférica de 8 bits.

Hay una nueva versión ampliada de la arquitectura (llamada MSP430X) que permite un 20-bit espacio de direcciones. Permite principio ROM programa adicional en aumentan.

La ' serie 5xx tiene un espacio de direcciones grandemente rediseñada, con el primero dedicado a los periféricos y hasta 16 K de RAM 4K.

Referencias

  1. ^ MSP430 se ejecutará en las uvas -video en YouTube
  2. ^ a b D. Peters, D. Raskovic y D. Thorsen, "Sistema encajado un paralelo eficiente de energía para aplicaciones de pequeños satélites", ISAST transacciones en computadoras y sistemas inteligentes, vol. 1 (2), 2009
  3. ^ Menor potencia microcontroladores de MSP430 de Texas Instruments
  4. ^ Artículo MSP430 Publicado en IEEE revista.
  5. ^ Soluciones visuales
  6. ^ MSP430 LaunchPad (MSP-EXP430G2), Texas Instruments embebidos procesadores Wiki
  7. ^ "MSP430 ultra-bajo-energía microcontrolador". Texas Instruments. de 2008-07-09.
  8. ^ La broca de tamaño se llama "A / L", donde "L" (largo) es utilizado por otros procesadores para indicar operandos de 32 bits. También la descripción de la instrucción SXTX (Guía del usuario de MSP430F5xx familia alau208f página 237) describe el efecto de la instrucción en bits de registro 20 – 31.

Enlaces externos

Sitios de información y comunidad

  • Presentación de TI MSP430
  • Foro de la comunidad de TI E2E MSP430
  • Comunidad MSP430 patrocinado por Texas Instruments
  • MSP430 Grupo Yahoo!
  • MSP430.info
  • Foro MSP430 Inglés-Japonés
  • 43oh.com – noticias MSP430, proyectos y foros
  • TinyOS-MSP430 TinyOS Puerto

Generadores de código de C programación visuales

  • VisSim MSP430 basado en el modelo desarrollo sistema encajado

Compiladores, IDEs y montadores

IDEs y compilador libre

  • TI código compositor Studio IDE, microcontrolador Core Edition (tamaño limitado a 16 KB)
  • IAR Embedded Workbench Kickstart IDE (tamaño limitado a 08/04/16 KB - depende de dispositivo que se utiliza)
  • GCC toolchain para los Microcontroladores MSP430
  • MSP430 Sistema de desarrollo
  • naken_asm Open-Source MSP430 ensamblador, Desensamblador, simulador.
  • 4.x binarios preconstruidos MSP430 GCC para Windows

IDEs sin restricciones más populares y compiladores

  • IAR Embedded Workbench para TI MSP430
  • TI código compositor Studio (CCS) Ediciones microcontrolador o platino
  • Rowley CrossWorks para MSP430 (sólo un período de evaluación de 30 días)
  • GCC toolchain para los Microcontroladores MSP430 (C-compilador libre)
  • MSP430 Sistema de desarrollo
  • Un plugin para Visual Studio que soporta MSP430 vía MSP430-GCC (evaluación de 30 días)

Varios IDEs

  • AQ430 Herramientas de desarrollo para Microcontroladores MSP430
  • ImageCraft C herramientas
  • ForthInc Forth-Compiler
  • MPE Forth IDE & Cross-Compiler para MSP430 actualmente en fase Beta
  • Hi-Tech C para MSP430 (caído MSP430 apoyo en 2009)

Lista de herramientas (no completa) de depuración

Nombre Fabricante Interfaz Protocolos Estado
MSP-FET430PIF TI Puerto paralelo JTAG
MSP-FET430UIF TI Interfaz USB JTAG, Spy-Bi-Wire
MSP-430 LaunchPad TI Interfaz USB Espía-Bi-Wire
eZ430-F2013 TI Interfaz USB Espía-Bi-Wire
eZ430-RF2500 TI Interfaz USB Espía-Bi-Wire
PEP SoftBaugh Puerto paralelo JTAG
USBP SoftBaugh Interfaz USB JTAG, Spy-Bi-Wire descatalogado
MSP430-JTAG Olimex Puerto paralelo JTAG
MSP430-JTAG-ISO Olimex Interfaz USB JTAG, Spy-Bi-Wire obsoleto
MSP430-JTAG-ISO-MK2 Olimex Interfaz USB JTAG, Spy-Bi-Wire
MSP430-JTAG-Tiny Olimex Interfaz USB JTAG, Spy-Bi-Wire No se encontró
MSP430-JTAG-TINY-V2 Olimex Interfaz USB JTAG?, Spy-Bi-Wire
MSP430-JTAG-RF Olimex Interfaz USB JTAG, Spy-Bi-Wire
FlashPro-CC Elprotronic Interfaz USB JTAG, Spy-Bi-Wire, BSL
VisSim/ ECD Soluciones visuales Interfaz USB JTAG, Spy-Bi-Wire
LA-3713 Lauterbach Interfaz USB / Ethernet JTAG, Spy-bi-Wire

Otras herramientas

  • WSim - un emulador controlados por software para las estimaciones de la plataforma completa y depuración
  • MSPSim - un Java basado MSP430 emulador/simulador
  • MSP430Static - una herramienta de ingeniería inversa en Perl
  • GoodFET - un depurador JTAG MSP430 abierto en C y Python
  • mspdebug - un depurador JTAG MSP430 opensource
  • MSP430 Trace32 SIM - área de descarga con MSP430 instrucción Set simulador gratis para su evaluación
  • ERIKA Enterprise - un gratuitamente, implementación de open-source RTOS de la ISO 17356 API (derivado de la API de OSEK/VDX)
  • Energia está basado en Arduino y el cableado y utiliza el IDE de procesamiento. La plataforma de hardware se basa en TI MSP430 Launchpad

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=TI_MSP430&oldid=615310840"