Introducción al microcontrolador MSP430

3,791 views

Published on

Published in: Technology
3 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total views
3,791
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
0
Comments
3
Likes
5
Embeds 0
No embeds

No notes for slide

Introducción al microcontrolador MSP430

  1. 1. UBI>> ContentsIntroducción al microcontroladorMSP430Julio Jornet MonteverdeMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  2. 2. UBI>> ContentsIntegraciónCosteConsumoPotenciaMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosIntroducción
  3. 3. UBI>> ContentsCaracterísticas• Integración: Capaz de implementar un diseño completo en un chip• Coste: Es un dispositivo de bajo coste (4$ LaunchPad, 1$ chip)• Frecuencia de reloj: Frecuencia de reloj baja• Consumo: dispositivo con menor consumo. Autosuficiente.- 0,1 uA para retención de datos en RAM- 0,8 uA para funcionar el reloj en tiempo real- 250uA/MIPS en funcionamiento activo.• Voltaje de operación bajo: desde 1.8V hasta 3.6VCaracterísticas Principales:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  4. 4. UBI>> ContentsCaracterísticasAnalógicas:• ADC 10/12/16 bits y DAC dual de 12 bits• Temporizadores comparadores• Amplificadores Operacionales• Supervisor de suministro de Voltaje• Sensor de Temperatura Interno, TermistorMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosCPU RISC de 16 bits• Diseño nucleo compacto que reduce el consumo y coste• 16 bits Bus de datos• 27 instrucciones• 7 modos de direccionamiento• Vector de Interrupción
  5. 5. UBI>> ContentsCaracterísticasFlexibilidad:• Hasta 256 KB de Flash• Hasta 100 pines• USART, UART, I2C, Temporizadores• Driver LCD• Sensor de Temperatura Interno, TermistorMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosRendimiento:• Instrucciones capaces de procesar bits, bytes o palabras• Conjunto de Instrucciones reducidas• Compilador eficiente• Amplio rango de periféricos• Sistema de Reloj flexible
  6. 6. UBI>> ContentsPinesPin-out:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  7. 7. UBI>> ContentsPinesPin-out:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados• Vcc, Vss: Alimentación y masa• P1.0~P1.7, P2.0~P2.7 son para IN/OUT digitales• TA0CLK, TA0.0 y TA0.1 están asociados con Timer_A• A0~A7, son las entradas analógicas del ADC10• Vref- y Vref+ es la referencia del voltaje del convertidor• ACLK y SMCLK son salidas de reloj para Micros• XIN y XOUT son las conexiones para un cristal• RST es una señal Reset activada por cero• NMI es la entrada de Interrupción no enmascarada
  8. 8. UBI>> ContentsArquitecturaBloques:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  9. 9. UBI>> ContentsModos de OperaciónModos configurables por SW:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosMode CPU and ClocksActive CPU active. All enabled clocks activeLPM0 CPU, MCLK disabled. SMCLK, ACLK activeLPM1 CPU, MCLK disabled. DCO disabled if not used for SMCLK. ACLKactiveLPM2 CPU, MCLK, SMCLK, DCO disabled. ACLK activeLPM3 CPU, MCLK, SMCLK, DCO disabled. ACLK activeLPM4 CPU and all clocks disabled
  10. 10. UBI>> ContentsModos de OperaciónEjemplo LPM3:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados0 0 0 0 1 0 1 0StartBit0 1 2 3 4 5 6 7 StopBitData Bit numberMark (1)Space (0)0x50 = ASCII “P”LSB MSBSignal on P1.2Active modeLPM3CPU mode ISRDuty cycle =Total time in ISRs10 bits cycle time
  11. 11. UBI>> ContentsMódulo CLKsMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosSeñales de Reloj:• ACLK: Clock Auxiliar. La fuente de reloj proviene del módulo Oscilador LFXT1con un divisor de 1, 2, 4 ó 8. ACLK se puede utilizar como señal para Timer A y B.• MCLK: Master Clock. La señal proviene del módulo Oscilador LFXT1, VLO óDCOCLK con un divisor de 1, 2, 4 ó 8. MCLK se utiliza para la CPU y el sistema.• SMCLK: Sub-main Clock. La señal proviene de VLOCLK o DCOCLK con undivisor de 1, 2, 4 ó 8. SMCLK puede utilizarse como fuente para Timer A y B.Fuentes de Reloj:• VLOCLK: Very Low Frec. 12 KHz.• LFXT1CLK: Oscilador de Cristal Externo, 32.768 KHz• DCOCLK: Oscilador Interno (DCO). 100KHz – 1MHzBasic Clock ModuleVLOLFXT1DCOACLKMCLKSMCLK
  12. 12. UBI>> ContentsMemoriaMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosDirecciones de 16 bits,direccionadas por BytesPalabras alineadas: Las direcciones de una palabra sonla dirección del Byte con la menordirección -> Direcciones ParesOrden Little-endian: El Byte de menor orden sealmacena en la posición más baja yel Byte de mayor peso se almacenaen la posición alta.
  13. 13. UBI>> ContentsEspacio de DireccionamientoMapeado en un solo espacio de direcciones contiguo:• Toda la memoria incluida la RAM, Flash/ROM, memoria deinformación, registro de funciones especiales y registros de periféricos.MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  14. 14. UBI>> ContentsTabla Vector InterrupcionesMapeada al final del espacio en memoria:• Las 16 words superiores de Flash/ROM: 0FFE0h – 0FFFFh• La prioridad de la interrupción se incrementa con su dirección• Existe una máscara de interrupcionesMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  15. 15. UBI>> ContentsCPU y Registros• Bus direccionamiento 16 bits – MAB• Bus de datos 16 bits – MDB• 4 Reg. de Usuario, 12 Reg. de trabajo• Acceso a Registros y la Memoria en formatoWord ó Byte• Permite la transferencia directa de datos entreMemoria sin pasar por los Registros• Acceso a los Registros con Instrucciones de unsolo ciclo de reloj• Constantes de Programación generadas por CG• ALU de 16 bits: suma, resta, comparación ylogicos• Master CLK (MCLK) controla la CPUMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  16. 16. UBI>> ContentsRegistros asociados con P1MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosRegisters(MemAddr)Functions DescriptionsP1IN(0x0020)Port 1 input This is a read-only register that reflects thecurrent state of the ports pins.P1OUT(0x0021)Port 1 output The values written to this read/write registerare driven out to corresponding pins when theyare configured to output.P1DIR(0x0022)Port 1 datadirectionBits written as 1 (0) configure thecorresponding pins for output (input).P1SEL(0x0026)Port 1 functionselectBits written as 1 (0) configure correspondingpins for use by the specialized peripheral (forgeneral-purpose I/O).P1REN(0x0027)Port 1 resistorenableBits set in this register enable pull-up/downresistors on the corresponding I/O pins.
  17. 17. UBI>> ContentsInstrucciones• 27 Instrucciones Básicas• 24 Instrucciones Emuladas• Conjunto de Instrucciones Ortogonal• 7 modos de direccionamientoMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  18. 18. UBI>> ContentsADC• Conversor de 10, 12 y 16 bits• Más de 200 Kbps de ratio de conversión• Periodo de muestreo programable• Generador de Vref interno 1,5V ó 2.5V• Selección de referencia INT/EXT por SW• 8 canales de entrada externa• Canales de conversión para Tinterno y VCC• CLK seleccionable• 4 modos de conversión• Controlador de transferencia de datosMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  19. 19. UBI>> ContentsADCNucleo 10 bitsFuentes de Reloj y MuestreoInterrupción asociadaRegistro Aproximación SucesivaMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  20. 20. UBI>> ContentsAmplificadores Operacionales• Algunos modelos familia MSP430:- MSP430FG4618 -> 3 OAs- MSP430F2274 -> 2 Oas• Características:- Ganancia AB seleccionable: 500KHz, 1.4MHz, 2.2MHz- Salida de rangos en mA- Componentes y conexiones configurables por el usuario- R interna en escalera- Conexiones en cadena- Conexión interna al ADC y DACMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  21. 21. UBI>> ContentsAmplificadores Operacionales• Estructura interna del OA:- Inversor- No Inversor- Buffer de ganancia 1- DiferencialMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  22. 22. UBI>> ContentsAmplificadores Operacionales• Topología 3 OA Diferenciales:MASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  23. 23. UBI>> ContentsCompiladores• IAR Workbench- Licencia limitada 4KB• CCS – Code Composer Studio- Basado en entorno Eclipse- Licencia limitada 16KB- Entorno Windows / Linux• CrossWorks MSP430- Entorno Windows / MAC / Linux- Licencias: P-150$, Edu-300$, Com-1500$• Compilador GCC- Modo texto- Entorno Windows / Linux- No limiteMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados
  24. 24. UBI>> ContentsLaunchPadMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosEmbedded Emulation6-pin eZ430 ConnectorPart and SocketCrystal PadsPower ConnectorReset ButtonLEDs and JumpersP1.0 & P1.6P1.3 ButtonChip PinoutsUSB EmulatorConnection
  25. 25. UBI>> ContentsLaunchPadMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas IntegradosFunciones de los Pines:• LED1 (Red) = P1.0• LED2 (Green) = P1.6• SW1 = P1.3• SW2 = Reset• Timer UART TX = P1.1• Timer UART RX = P1.2Para realizar parpadeo de los LEDS tendremos queconfigurar los puertos P1.0 y P1.6 como OUTPUT yvariar sus valores
  26. 26. UBI>> ContentsManejo de BitsMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados• Bit mask:set a bit P1OUT = P1OUT | BIT3clear a bit P1OUT &= ~BIT3toggle a bit P1OUT ˆ= BIT3• Bit field:struct {unsigned short TAIFG:1;unsigned short TAIE:2;unsigned short TACLR:5;} TACTL_bit;Set with TACTL_bit.TAIFG = 1
  27. 27. UBI>> ContentsCódigo EjemploMASTER DE INGENIERÍA DE TELECOMUNICACIONESDiseño de Circuitos y Sistemas Integrados#include <msp430x2231.h>void main(void) {WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerP1DIR |= 0x41; // set P1.0 & 6 to outputs//(red & green LEDs)for(;;) {volatile unsigned int i;P1OUT ^= 0x41; // Toggle P1.0 & 6 using XORi = 50000; // Delaydo (i--);while (i != 0);}}

×