You are on page 1of 13

26/09/2012

PROCESADORES DE TEXAS INSTRUMENTS

ORGANIZACIN
INTERNA DE LOS
MICROCONTROLADO
RES

Microcontroladores
1

F. Hugo Ramrez Leyva


Octubre 2012

FAMILIA DE MICROCONTROLADORES
MSP430

MICRCONTROLADOR (MCU) MSP430








El MCU MSP430 son


fabricados por Texas
Instruments (TI)
CPU de 16 bits
Tienen un bajo consumo
de energa
Existen modelos con:






Velocidad del CPU de


8MHz a 25 MHz
Memoria flash de 0.5kB
a 256kB
RAM de 128B a 18kB
De 14 a 113 terminales
Mas de25 empaques

Pgina del micro:


www.ti.com/msp430

RECURSOS DEL MICROCONTROLADOR


MSP430










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 MICROCONTROLADORES
MSP430





El MSP430 tiene una


arquitectura RISC
Su CPU es de 16 bits y la
lectura la realiza en un ciclo
27 instrucciones
Los kits de desarrollo inician
en $4.30 dls
Ambientes de desarrollo
Code Composer Studio
(CCS), IDE, IAR Embeded
Workbench
Tiene soporte para Linux

26/09/2012

USOS DEL MSP430




APLICACIONES DEL MSP430

Mediciones:


www.ti.com/430metering

Comunicaciones
inalmbricas:


www.ti.com/430medical

Teclados capacitivos:


www.ti.com/cc430

Equipo portable mdico:


www.ti.com/capacitivetouch

Data Logging:


www.ti.com/fram

Salud personal y fitness:




www.ti.com/chronos

APLICACIONES DEL MSP430




Energy Harvesting:
www.ti.com/energyharves
ting

Control de Motores:
www.ti.com/motorcontrol

Seguridad:
www.ti.com/430security

HERRAMIENTAS DE DESARROLLO
TI suministra un
conjunto de
herramientas para
hacer desarrollos
en el MSP430Ware
 La pgina donde se
encuentra
informacin es:
www.ti.com/msp43
0ware


DRIVER DE LIBRERAS DEL MSP430









Facilidad de uso en el
llamado a perifricos
Incluyen convertidores,
temporizadores,
comunicaciones seriales y
mas
Se tienen soporte para las
familias MSP430F5xx y
F6xx
Documentacin completa
con un API grfica
Marca y cdigo libre
Se tiene un api (GRACE)
par la configuracin de
perifricos

10

GRACE
Grace permite generar rpidamente y
documentar programas en C
 Facilita la configuracin de los perifericos


11

12

26/09/2012

HERRAMIENTAS DE SOFTWARE

EL MSP-EXP430G2 LAUNCHPAD


El MSP-EXP430G2
LaunchPad development kit
suministra todo el hardware
y software necesario para
inciar
Soporta toda la lne de
MCUs MSP430G2xx
www.ti.com/launchpad
Caracteristicas:
Emulador en la tarjeta
20-pin DIP Socket
2 on-board LEDs and 2 onboard switches
 El Kit incluye, el cable USB,
la guia de inicio rpido
 2x 10-pin male and female
headers
 Trae 2 MSP430 MCUs




13

HERRAMIENTAS DE DESARROLLO EZ430

14

TARJETAS DE DESARROLLO

Los kits eZ430 permite probar otros mdulos del


MSP430 en un empaque como una memoria USB
 Los precios varia desde 10 dlls hasta 199dlls


15

TARJETAS DE DESARROLLO

16

TARJETAS DE DESARROLLO

17

18

26/09/2012

EMPAQUES

PROGRAMA UNIVERSITARIO

19

20

MSP430G2XX SERIES UP TO 16 MHZ


(CONTINUED)

MSP430G2XX SERIES UP TO 16 MHZ

21

MSP430G2XX SERIES UP TO 16 MHZ


(CONTINUED)

22

CARACTERSTICAS DEL DEL MSP430G2231





Bajo rango de voltajes de 1.8V a


3.6V
Ultra bajo consumo de energa









Cuatro modos de ahorro de energa


Despertado ultra rpido en menos
de 1us
Arquitectura RISC, con un ciclo de
instruccin de 62.5ns
Modos de configuracin del Reloj





MSP430G2452IN20
23

Modo activo 220 uA a 1MHz, 2.2V


Modo de Standby 0.4uA
Modo de apagado (Retencin de
RAM) 0.1uA






Temporizador A de 16 bits con 2


registros de comparacin y captura
Interfaz Universal Serial (USI) que
soporta SPI e I2C
Detector de Brownout
Convertidor ADC de 10 bits a 200ksps
con referencia interna, sample-andHold y autoescan
Programacin serial en tarjeta, no
requiere voltaje de alimentacin para
la programacin, proteccin del cdigo
Emulacin en circuito con interfaz
Spy-Bi-Wire

Frecuencia interna de asta 16MHz


con una frecuencia sin calibrar
Oscilador interno de baja frecuencia
(LF)
cristal de 32kHz
Fuente externa de reloj

24

26/09/2012

ARQUITECTURA DEL MSP430G2231

MSP430G2231

25

TERMINALES MSP430G2231

26

TERMINALES MSP430G2231

27

28

ESPACIO DE MEMORIA

REGISTROS ESPECIALES

El MSP430 utiliza
una arquitectura tipo
von-Newmann que
tiene un espacio de
memoria compartido
 entre registros de
funciones especiales
(SFRs), perifricos,
RAM y memoria
Flash/ROM
 Puede direccionar
hasta 128kB




29

El CPU esta integrado por 16


registros especiales. El tiempo
de ejecucin entre ellos es de 1
ciclo de reloj
Los 4 registros R0 a R3 son
dedicados como contadores de
programa, apuntador de stack,
registro de estatus y generador
de constantes
Los registros restantes de R4 a
R15 son de propsito general
Los perifricos se conectan al
CPU usando los buses de
direcciones y de datos
El conjunto de instrucciones es
de 51, con tres formatos, 7
modos de direccionamiento.
Cada instruccin puede operar
en formato de palabra o byte
30

26/09/2012

MEMORIA
El inicio de direcciones de la
memoria Flash/ROM
depende de la cantidad de
memoria del dispositivo. El
fin es 0x1FFFF
la memoria Flash puede ser
usada para mantener dados
o programa ya que se
pueden almacenar tablas
sin necesidad de copiarlas a
RAM
El vector de interrupciones
es mapeada in las 16
palabras superiores del
espacio de direcciones
flash/ROM. La de mayor
prioridad es la que se
encuentra en 0X1FFFF

REGISTROS PC


La memoria RAM inicia en


0x02000. La direccin final
depende de la cantidad de
memoria que disponga el
dispositivo
Los perifricos estn
mapeados en espacio de
direcciones. El rango es de
0x0100 a 0x01FF. Estos
mdulos deben se accedidos
con instrucciones de
palabras, solo el byte bajo
contiene informacin valida
Los bytes son localizados en
direcciones pares e impares.
El byte bajo se almacena en
la direccin par y el alto en
la impar

El CPU posee un conjunto


de 16 registros los cuales
son:
 El contador de programa PC
 El Stack Pointer


31

PROGRAM COUNTER (PC)




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 esta


forma se incrementa
Formato de direccionamiento:






32

STACK POINTER (SP)


El estack pointer (SP/R1) es usado por el
CPU para almacenar la direccin de retorno
de una llamada a subrutina e interrupciones
 Se puede usar con todas las instrucciones y
modos de direccionamiento
 El SP es inicializado por el usuario desde la
RAM y se alinea a direcciones pares


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

33

34

STACK POINTER (SP)

REGISTRO DE ESTATUS

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

El registro de estatus
(SR/R2) es de 16 bits y
es usado como fuente
o destino
 Puede ser usado como
modo de
direccionamiento de
registro con
instrucciones en
formato de palabra




35

36

26/09/2012

REGISTRO DE ESTATUS

REGISTRO DE ESTATUS


15

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.

14

13

12

11

10

Reserved for CG1


Bit

37

SCG1

SCG0

5
OSCOFF

4
CPUOFF

3
GIE

2
N

1
Z

0
C

Description

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

SCG1

System clock generator 0. SCG1 = 1

DCO generator is turned off if not used for MCLK or SMCLK

SCG0

System clock generator 1. SCG0 = 1

FLL+ loop control is turned off

OSCOFF

Oscillator Off. OSCOFF = 1

CPUOFF

CPU off. CPUOFF = 1

GIE

General interrupt enable. GIE = 1

Negative flag. N = 1

Zero flag. Z = 1

result of a byte or word operation is 0.

Carry flag. C = 1

turns off LFXT1 when it is not used for MCLK or SMCLK

disable CPU core.

enables maskable interrupts.

result of a byte or word operation is negative.

result of a byte or word operation produced a carry.

38

CONSTANT GENERATOR REGISTERS


REGISTROS DE PROPSITO GENERAL



Los registros generadores de


constantes CG1 y CG2
Son constantes que
permiten expandir los
modos de operacin (de 27
mas 24 adicionales)
Sus principales ventajas
son:

La instruccin:

CLR dst
Es emulado por el operador
MOV R3,dst
 Donde #0 es remplazado por el
esamblador, y R3 es usado con
As=00.




La instruccin
INC dst
 Es reemplazado por:
 ADD 0(R3),dst


No requiere instrucciones
especiales
No requiere palabras de
cdigo para las 6 constantes
 No requiere acceso a memoria
para tomar el dato



39

MODOS DE DIRECCIONAMIENTO


Las instrucciones del


programa le dicen al
procesador que hacer, donde
encontrar la informacin

El direccionamiento es
necesario para dirigir al
procesador la localizacin
correcta

Los modos de
direccionamiento son la
maneras en las cuales las
instrucciones indican la
direcciones

Los 12 regsitros de R4 a
R15 pueden contener
datos de 8 bits, 16 bits o
20 bits
Cualquier dato de byte
escrito al CPU limpia
los bits 19:8
Cualquier dato de
palabra limpia los bits
19:16
La instruccin SXT
extiende el signo a
travs de los 20 bits del
registro

40

MODOS DE DIRECCIONAMIENTO

Son 7 los modos de


direccionamiento para el
operando fuente y 4 para el
operando destino
En la tabla se muestran los
modos 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
41

42

26/09/2012

MODO REGISTRO

MODO INDEXADO

43

MODO INDEXADO

44

MODO SIMBLICO

45

MODO SIMBLICO

46

MODO ABSOLUTO

47

48

26/09/2012

MODO ABSOLUTO

MODO INDIRECTO

49

MODO INDIRECTO

50

MODO AUTO INCREMENTAL INDIRECTO

51

MODO AUTO INCREMENTAL INDIRECTO

52

MODO INMEDIATO

53

54

26/09/2012

MODO INMEDIATO

EL CONJUNTO DE INSTRUCCIONES


Son 27 el conjunto de
instrucciones del
MSP430
Las 24 instrucciones
emuladas expanden las
capacidades del CPU, se
reemplazan
automticamente
cuando se compila
Son 3 los formatos de las
instrucciones



55

FORMATO DE LAS INSTRUCCIONES




Las instrucciones de fuente y destino usan los


siguientes campos

Src

dst





56

FORMATO DE INSTRUCCIN DOBLE

La fuente del operador defindo por As y S-reg


El operando destino definido por Ad y D-reg
Los bits direccionados responsables del modo de
direccionamiento usado (src)

S-reg


Operando dual
Un solo operando
Salto

Las instrucciones
pueden ser en formato
de byte o palabra (.B o
.W)
En byte se usa para
tomar los datos de los
perifricos
Las instrucciones de
palabra se usan para
tomar datos con este
formato, es la
configuracin por
default

As


El registro de trabajo usado por la fuente (src)

AD


D-reg

B/W






Los bits de direccionamiento responsables por el


modo de direccionamiento usado por el destino
(dst)
El registro de trabajo usado por el destino (dst)
operacin de Byte o palabra:
0: Operando de palabra
1: operador de byte

57

FORMATO DE INSTRUCCIN SIMPLE

58

FORMATO DE INSTRUCCIN DE SALTO

59

60

10

26/09/2012

INSTRUCCIONES EMULADAS

61

62

63

64

65

66

REFERENCIAS
[1]

MSP430TM Ultra-Low-Power Microcontrollers; Texas


Instruments; N/S slab034v

[2]

MSP430x2xx Family, Texas instruments, N/P slau144e

REGISTROS DE PROPSITO GENERAL R4 A R15




Los 12 registros de R4 a
R15 pueden contener
datos de 8 bits, 16 bits o
20 bits
Cualquier dato de byte
escrito al CPU limpia
los bits 19:8
Cualquier dato de
palabra limpia los bits
19:16
La instruccin SXT
extiende el signo a
travs de los 20 bits del
registro

11

26/09/2012

GENERADOR DE RELOJ







CONFIGURACIN BSICA DEL RELOJ

El MSP430 tiene construido un


oscilador que usa un cristal
externo comnmente de
32.768kHz, pero usando un cristal
de alta frecuencia puede generar
frecuencias de 1MHZ a 8MHZ
El sistema de tiene tres mdulos

DCOCTL (Digitally
Controlled Oscilator Control
Register)
 BCSCTL1 y BCSCTL1 (Basic
Clock System Control
Registers)


Con cristal externo de 32.768kHz


Oscilador interno de muy baja
frecuencia (LF)
Oscilador digitalmente controlado
(DCO)




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

En el registro DCOCTL se
divide en 2 partes:
DCOx (bits 7 a 5) Selecciona
la frecuencia del DCO
definidos en el registro
RSELx
 MODx (bits 4 a 0) Define que
tan seguido se usa la
frecuencia fDCO+1 que puede
ser usada como periodo de 32
DCOCLK ciclos, no se usa
cuando DCOx=7


El DCO se estabiliza en menos de


1us. ste proporciona 3 salidas:


El reloj es configurado con


los registros:

67

69

68

70

WATCHDOG TIMER


71

El registro de
Watchdog timer es
controlado por el
registro WDTCTL y
se divide en 8
secciones

72

12

26/09/2012

TIMER

73

74

EJEMPLO 1 EN ENSAMBLADOR
;*******************************************************************
************
.cdecls C,LIST,"msp430g2231.h" ; Include device header file
;------------------------------------------------------------------------------.text

; Progam Start

;------------------------------------------------------------------------------RESET
mov.w #280h,SP
stackpointer
StopWDT
SetupP1

; Initialize 'x1121

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


bis.b #001h,&P1DIR

; P1.0 output

push #0001
;
Mainloop xor.b #001h,&P1OUT
Wait
L1

mov.w #050000,R15
dec.w R15
jnz
jmp

; Toggle P1.0
; Delay to R15

; Decrement R15

L1

; Delay over?

Mainloop

; Again
;

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

Interrupt Vectors

;------------------------------------------------------------------------------.sect ".reset"
.short RESET

75

.end

; MSP430 RESET Vector


;

76

77

13

You might also like