capitulo2hugo.pdf

Upload: luciano-ezequiel-quinto-contreras

Post on 20-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Capitulo2Hugo.pdf

    1/13

    ORGANIZACININTERNA DE LOSMICROCONTROLADORES

    Microcontroladores

    F. Hugo Ramrez LeyvaOctubre2012

    1

    PROCESADORES DE TEXAS INSTRUMENTS

    2

    MICRCONTROLADOR (MCU) MSP430 El MCU MSP430 son

    fabricados por TexasInstruments (TI)

    CPU de 16 bits Tienen un bajo consumo

    de energa Existen modelos con:

    Velocidad del CPU de8MHz a 25 MHz

    Memoria flash de 0.5kBa 256kB

    RAM de 128B a 18kB De 14 a 113 terminales Mas de25 empaques

    Pgina del micro:www.ti.com/msp430 3

    FAMILIA DE MICROCONTROLADORESMSP430

    4

    RECURSOS DEL MICROCONTROLADORMSP430

    5

    USB Radio Frecuencia (RF) Manejador de

    despegadores de cristal

    lquido (LCD) Convertidores ADC

    sigman delta Moduladores de ancho

    de pulso (PWM) Comparadores Comunicaciones seriales

    (I2C, LIN/IrDA, UART) Teclado Capacitivo

    FAMILIA DE MICROCONTROLADORESMSP430

    6

    El MSP430 tiene unaarquitectura RISC

    Su CPU es de 16 bits y lalectura la realiza en un ciclo

    27 instrucciones Los kits de desarrollo inician

    en $4.30 dlsAmbientes de desarrollo

    Code Composer Studio(CCS), IDE, IAR EmbededWorkbench

    Tiene soporte para Linux

  • 7/24/2019 Capitulo2Hugo.pdf

    2/13

    USOS DEL MSP430

    7

    Mediciones: www.ti.com/430metering

    Equipo portable mdico: www.ti.com/430medical

    Data Logging: www.ti.com/fram

    APLICACIONES DEL MSP430

    8

    Comunicacionesinalmbricas: www.ti.com/cc430

    Teclados capacitivos: www.ti.com/capacitivetouch

    Salud personal y fitness: www.ti.com/chronos

    APLICACIONES DEL MSP430

    9

    Energy Harvesting:www.ti.com/energyharvesting

    Control de Motores:www.ti.com/motorcontrol

    Seguridad:www.ti.com/430security

    HERRAMIENTAS DE DESARROLLO

    10

    TI suministra unconjunto deherramientas parahacer desarrollosen el MSP430Ware

    La pgina donde seencuentrainformacin es:www.ti.com/msp430ware

    DRIVER DE LIBRERAS DEL MSP430

    11

    Facilidad de uso en elllamado a perifricos

    Incluyen convertidores,temporizadores,comunicaciones seriales y

    mas Se tienen soporte para las

    familias MSP430F5xx yF6xx

    Documentacin completacon un API grfica

    Marca y cdigo libre Se tiene un api (GRACE)

    par la configuracin deperifricos

    GRACE

    12

    Grace permite generar rpidamente ydocumentar programas en C

    Facilita la configuracin de los perifericos

  • 7/24/2019 Capitulo2Hugo.pdf

    3/13

    HERRAMIENTAS DE SOFTWARE

    13

    EL MSP-EXP430G2 LAUNCHPAD

    14

    El MSP-EXP430G2LaunchPad development kitsuministra todo el hardware

    y software necesarioparainciar Soportatodala lne de

    MCUs MSP430G2xxwww.ti.com/launchpad

    Caracteristicas: Emulador en la tarjeta 20-pin DIP Socket 2 on-board LEDs and 2 on-

    board switches El Kit incluye, el cable USB,

    la guia de inicio rpido 2x 10-pin male and female

    headers Trae 2 MSP430 MCUs

    HERRAMIENTAS DE DESARROLLO EZ430

    15

    Los kits eZ430 permite probar otros mdulos delMSP430 en un empaque como una memoria USB

    Los precios varia desde 10 dlls hasta 199dlls

    TARJETAS DE DESARROLLO

    16

    TARJETAS DE DESARROLLO

    17

    TARJETAS DE DESARROLLO

    18

  • 7/24/2019 Capitulo2Hugo.pdf

    4/13

    PROGRAMAUNIVERSITARIO

    19

    EMPAQUES

    20

    MSP430G2XX SERIES UP TO 16 MHZ

    21

    MSP430G2XX SERIES UP TO 16 MHZ(CONTINUED)

    22

    MSP430G2XX SERIES UP TO 16 MHZ(CONTINUED)

    23

    MSP430G2452IN20

    CARACTERSTICAS DEL DEL MSP430G2231

    24

    Bajo rango de voltajes de 1.8V a3.6V

    Ultra bajo consumo de energa Modo activo 220 uAa 1MHz, 2.2V Modo de Standby 0.4uA Modo de apagado (Retencin de

    RAM) 0.1uA

    Cuatro modos de ahorro de energa Despertado ultra rpido en menosde 1us

    Arquitectura RISC, con un ciclo deinstruccin de 62.5ns

    Modos de configuracin del Reloj Frecuencia interna de asta 16MHz

    con una frecuencia sin calibrar Oscilador interno de baja frecuencia

    (LF) cristal de 32kHz Fuente externa de reloj

    Temporizador A de 16 bits con 2registros de comparacin y captura

    Interfaz Universal Serial (USI) quesoporta SPI e I2C

    Detector de Brownout Convertidor ADC de 10 bits a 200ksps

    con referencia interna, sample-and-Hold y autoescan

    Programacin serial en tarjeta, norequiere voltaje de alimentacin parala programacin, proteccin del cdigo

    Emulacin en circuito con interfazSpy-Bi-Wire

  • 7/24/2019 Capitulo2Hugo.pdf

    5/13

    ARQUITECTURA DEL MSP430G2231

    25

    MSP430G2231

    26

    TERMINALES MSP430G2231

    27

    TERMINALES MSP430G2231

    28

    ESPACIO DE MEMORIA

    29

    El MSP430 utilizauna arquitectura tipovon-Newmannquetiene un espacio de

    memoria compartido entre registros defunciones especiales(SFRs), perifricos,RAM y memoriaFlash/ROM

    Puede direccionarhasta 128kB

    REGISTROS ESPECIALES

    30

    El CPU esta integrado por 16registros especiales. El tiempode ejecucin entre ellos es de 1ciclo de reloj

    Los 4 registros R0 a R3 sondedicados como contadores deprograma, apuntador de stack,

    registro de estatus y generadorde constantes Los registros restantes de R4 a

    R15 son de propsito general Los perifricos se conectan al

    CPU usando los buses dedirecciones y de datos

    El conjunto de instruc ciones esde 51, con tres formatos, 7modos de direccionamiento.Cada instruccin puede operaren formato de palabra o byte

  • 7/24/2019 Capitulo2Hugo.pdf

    6/13

    MEMORIA

    31

    El inicio de direcciones de lamemoria Flash/ROMdepende de la cantidad de

    memoria del dispositivo. Elfin es 0x1FFFF la memoria Flash puede ser

    usada para mantener dadoso programa ya que sepueden almacenar tablassin necesidad de copiarlas aRAM

    El vector de interrupcioneses mapeada in las 16palabras superiores delespacio de direccionesflash/ROM. La de mayorprioridad es la que seencuentra en 0X1FFFF

    La memoria RAM inicia en0x02000. La direccin finaldepende de la cantidad dememoria que disponga eldispositivo

    Los perifricos estnmapeados en espacio dedirecciones. El rango es de0x0100 a 0x01FF. Estosmdulos deben se accedidoscon instrucciones depalabras, solo el byte bajocontiene informacin valida

    Los bytes son localizados endirecciones pares e impares.El byte bajo se almacena enla direccin par y el alto enla impar

    REGISTROS PC

    32

    El CPU posee un conjuntode 16 registros los cualesson:

    El contador de programa PC El Stack Pointer

    PROGRAM COUNTER (PC)

    33

    El contador de programa (Program Counter PC) registros(PC/R0), apunta a la siguiente instruccin a ejecutar

    Cada instruccin usa un nmero par de bytes y de estaforma se incrementa

    Formato de direccionamiento:

    MOV #LABEL,PC ; Branch to address LABEL

    MOV LABEL,PC ; Branch to address contained in LABEL

    MOV @R14,PC ; Branch indirect to address in R14

    STACKPOINTER (SP)

    34

    El estack pointer (SP/R1) es usado por elCPU para almacenar la direccin de retornode una llamada a subrutina e interrupciones

    Se puede usar con todas las instrucciones ymodos de direccionamiento

    El SP es inicializado por el usuario desde laRAM y se alinea a direcciones pares

    STACKPOINTER (SP)

    35

    MOV.W 2(SP),R6 ; Copy Item I2 to R6

    MOV.W R7,0(SP) ; Overwrite TOS with R7

    PUSH #0123h ; Put 0123h on stack

    POP R8 ; R8 = 0123h

    REGISTRO DE ESTATUS

    36

    El registro de estatus(SR/R2) es de 16 bits yes usado como fuenteo destino

    Puede ser usado comomodo dedireccionamiento deregistro coninstrucciones enformato de palabra

  • 7/24/2019 Capitulo2Hugo.pdf

    7/13

    REGISTRO DE ESTATUS

    37

    REGISTRO DE ESTATUS R2: Status Register (SR):

    Stores status and control bits; System flags are changed automatically by the CPU;

    Reserved bits are used to support the constant generator.

    38

    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

    Reserved for CG1 V SCG1 SCG0 OSCOFF CPUOFF GIE N Z C

    Bit Description

    8 V Overflow bit. V = 1 Result of an ari thmetic operation overflows the signed-variable range.

    7 SCG1 System clockgenerator 0. SCG1= 1 DCOgeneratoris turnedoff ifnot usedforMCLKorSMCLK

    6 SCG0 System clockgenerator 1. SCG0= 1 FLL+loop control is turned off

    5 OSCOFF OscillatorOff. OSCOFF = 1 turnsoff LFXT1whenit isnot used forMCLK orSMCLK

    4 CPUOFF CPUoff. CPUOFF = 1 disableCPUcore.

    3 GIE General interrupt enable. GIE = 1 enables maskable interrupts.

    2 N Negative flag. N = 1 result of a byte or word operation is negative.

    1 Z Zero flag. Z = 1 result of a byte or word operation is 0.

    0 C Carry flag. C = 1 result of a byte or word operation produced a carry.

    CONSTANT GENERATOR REGISTERS

    39

    Los registros generadores deconstantes CG1 y CG2

    Son constantes quepermiten expandir losmodos de operacin (de 27mas 24 adicionales)

    Sus principales ventajasson: No requiere instrucciones

    especiales No requiere palabras de

    cdigo para las 6 constantes No requiere acceso a memoria

    para tomar el dato

    La instruccin: CLR dst

    Es emulado por el operador MOV R3,dst

    Donde #0 es remplazado porelesamblador, y R3 esusado conAs=00.

    La instruccin INC dst

    Es reemplazado por: ADD 0(R3),dst

    REGISTROS DE PROPSITO GENERAL

    40

    Los 12 regsitros de R4 aR15 pueden contenerdatos de 8 bits, 16 bits o20 bits

    Cualquier dato de byteescrito al CPU limpialos bits 19:8

    Cualquier dato depalabra limpia los bits19:16

    La instruccin SXTextiende el signo atravs de los 20 bits del

    registro

    MODOS DE DIRECCIONAMIENTO

    41

    Las instrucciones delprograma le dicen alprocesador que hacer, dondeencontrar la informacin

    El direccionamiento esnecesario para dirigir alprocesador la localizacincorrecta

    Los modos dedireccionamiento son lamaneras en las cuales lasinstrucciones indican ladirecciones

    Son 7 los modos dedireccionamiento para eloperando fuente y 4 para eloperando destino

    En la tabla se muestran losmodos donde As es el registro

    fuente y Ad el destino Los 7 modos son:

    Modo Registro Modo Indexado Modo simblico Modo absoluto Modo indirecto Modo autoincremental

    indirecto Modo inmediato

    MODOS DE DIRECCIONAMIENTO

    42

  • 7/24/2019 Capitulo2Hugo.pdf

    8/13

    MODO REGISTRO

    43

    MODO INDEXADO

    44

    MODO INDEXADO

    45

    MODO SIMBLICO

    46

    MODO SIMBLICO

    47

    MODO ABSOLUTO

    48

  • 7/24/2019 Capitulo2Hugo.pdf

    9/13

    MODO ABSOLUTO

    49

    MODO INDIRECTO

    50

    MODO INDIRECTO

    51

    MODO AUTO INCREMENTAL INDIRECTO

    52

    MODO AUTO INCREMENTAL INDIRECTO

    53

    MODO INMEDIATO

    54

  • 7/24/2019 Capitulo2Hugo.pdf

    10/13

    MODO INMEDIATO

    55

    EL CONJUNTO DE INSTRUCCIONES

    56

    Son 27 el conjunto deinstrucciones del

    MSP430 Las 24 instrucciones

    emuladas expanden lascapacidades del CPU, sereemplazanautomticamentecuando se compila

    Son 3 los formatos de lasinstrucciones Operando dual Un solo operando Salto

    Las instruccionespueden ser en formato

    de byte o palabra (.B o.W) En byte se usa para

    tomar los datos de losperifricos

    Las instrucciones depalabra se usan paratomar datos con esteformato, es laconfiguracin pordefault

    FORMATO DE LAS INSTRUCCIONES

    57

    Las instrucciones de fuente y destino usan lossiguientes campos

    Src La fuente del operador defindopor As y S-reg

    dst El operando destino definido por Ad y D-reg

    As Los bits direccionados responsables del modo de

    direccionamiento usado (src)

    S-reg El registro de trabajo usado por la fuente (src)

    AD Los bits de direccionamiento responsables por el

    modo de direccionamiento usado por el destino(dst)

    D-reg El registro de trabajo usado por el destino (dst)

    B/W operacin de Byte o palabra: 0: Operando de palabra 1: operador de byte

    FORMATO DE INSTRUCCIN DOBLE

    58

    FORMATO DE INSTRUCCIN SIMPLE

    59

    FORMATO DE INSTRUCCIN DE SALTO

    60

  • 7/24/2019 Capitulo2Hugo.pdf

    11/13

    INSTRUCCIONES EMULADAS

    61 62

    REFERENCIAS

    [1] MSP430TM Ultra-Low-Power Microcontrollers; TexasInstruments; N/S slab034v

    [2] MSP430x2xx Family, Texas instruments, N/P slau144e

    63 64

    REGISTROS DE PROPSITO GENERAL R4AR15

    65

    Los 12 registros de R4 aR15 pueden contenerdatos de 8 bits, 16 bits o20 bits

    Cualquier dato de byteescrito al CPU limpialos bits 19:8

    Cualquier dato depalabra limpia los bits19:16

    La instruccin SXTextiende el signo atravs de los 20 bits delregistro 66

  • 7/24/2019 Capitulo2Hugo.pdf

    12/13

    GENERADOR DE RELOJ

    67

    El MSP430 tiene construido unoscilador que usa un cristalexterno comnmente de

    32.768kHz, pero usando un cristalde alta frecuencia puede generarfrecuencias de 1MHZ a 8MHZ

    El sistema de tiene tres mdulos Con cristal externo de 32.768kHz Oscilador interno de muy baja

    frecuencia (LF) Oscilador digitalmente controlado

    (DCO) El DCO se estabiliza en menos de

    1us. ste proporciona 3 salidas: Reloj auxiliar (ACLK) de 32768Hz

    del cristal externo o el oscilador LF Reloj principal (MCLK) usado por

    el CPU Reloj sub principal (SMCLK) usado

    por los perifricos

    CONFIGURACIN BSICA DEL RELOJ

    68

    El reloj es configurado conlos registros: DCOCTL (Digitally

    ControlledOscilator ControlRegister) BCSCTL1 y BCSCTL1 (Basic

    ClockSystem ControlRegisters)

    En el registro DCOCTL sedivide en 2 partes: DCOx (bits 7 a 5) Selecciona

    la frecuencia del DCOdefinidos en el registroRSELx

    MODx (bits 4 a 0) Define quetan seguido se usa lafrecuencia fDCO+1 que puedeser usada como periodo de 32DCOCLK ciclos, no se usacuando DCOx=7

    69 70

    71

    WATCHDOG TIMER

    72

    El registro deWatchdog timer escontrolado por elregistro WDTCTL y

    se divide en 8secciones

  • 7/24/2019 Capitulo2Hugo.pdf

    13/13

    73

    TIMER

    74

    75

    EJEMPLO 1 EN ENSAMBLADOR

    76

    ;*******************************************************************************

    .cdeclsC,LIST,"msp430 g2231.h" ; Includedevice headerfile

    ;-------------------------------------------------------------------------------

    .text ; Progam Start

    ;-------------------------------------------------------------------------------

    RESET mov.w #280h,SP ; Initialize 'x1121stackpointer

    StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT

    SetupP1 bis.b #001h,&P1DIR ; P1.0 output

    push#0001

    ;

    Mainloop xor.b #001h,&P1OUT ; Toggle P1.0

    Wait mov.w #050000,R15 ; DelaytoR15

    L1 dec.w R15 ; DecrementR15

    jnz L1 ; Delayover?

    jmp Mainloop ; Again

    ;

    ;-------------------------------------------------------------------------------

    ; InterruptVe ctors

    ;-------------------------------------------------------------------------------

    .sect ".reset" ; MSP430 RESET Vector

    .short RESET ;

    .end

    77