Anda di halaman 1dari 30

MICROCONTROLADORES

INTRODUCCIN A LOS MICROCONTROLADORES

1
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES

Sistemas electrnicos de control:


(se utilizan para el gobierno de uno o varios procesos)
Componentes lgicos (lgica cableada):
Circuitos complejos.
Elevado consumo
Baja fiabilidad
Poca versatilidad
Gran tamao
Microprocesadores de propsito general:
Mejoran todas las caractersticas anteriores destacando:
Versatilidad: son sistemas programables
Reduccin de tamao
Ejemplos: Zilog Z80, Motorola 6800, Intel 8085.
Microcontroladores:
Se renen en un solo C.I. la mayora de los componentes
necesarios de un controlador
2
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES

Qu es un microcontrolador?
Se puede considerar como un computador en un chip
Orientado al control de procesos
Tpicamente incorpora:
CPU (Central Processing Unit). Microprocesador
RAM (Random Access Memory)
EPROM/PROM/ROM (Erasable/Programmable/Read Only Memory)
E/S (entrada/salida) - serie y paralelo
Temporizadores
Controlador de interrupciones
...

3
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES

Clasificacin:
Por su funcin:
- Propsito general:
CPU+Memoria+E/S+.... y
juego de instrucciones no especficas
- Especializados:
Arquitectura e instrucciones orientadas hacia algn
tipo de aplicaciones concretas:
Comunicaciones, manejo de teclados, DSP,
procesamiento de video .....
Por su longitud de palabra:
4, 8 ,16, 32 y 64 bits

4
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES

SISTEMAS EN TIEMPO REAL:


Las acciones de salida deben estar disponibles en un intervalo de
tiempo acotado.
Ejem. Instrumentacin, electrodomsticos, telfonos mviles,
juguetes, mquinas expendedoras, robtica, automviles,
domtica

SISTEMAS EMPOTRADOS (embedded systems):


Los sistemas tiempo real suelen estar integrados en un sistema
de ingeniera ms general, en el que realizan funciones de control
y/o monitorizacin.
Ejem. Ratn del computador, LCD, sistema de frenado de un
automvil (ABS)

5
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES

Ejemplos de aplicacin de los C en funcin de la


longitud de palabra:

BITS Aplicaciones Ejemplos Fabricantes


4 Sensibles al costo: juguetes HMCS 400 Hitachi
Nmero de E/S limitado pd75p316a NEC
Entornos industriales especficos National
Telefona, electrodomsticos

8 Aplicaciones sensibles al costo MCS 51 Intel, Siemens


Perifricos inteligentes y Philips, AMD
controladores: teclados, ud. disco, 68HC11 Motorola,
displays ... Z8 Zilog, SGS
Posibilidad de programacin en
alto nivel: Basic, C ...
COP800 National

6
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
GENERALIDADES
Ejemplos de aplicacin de los C en funcin de la
longitud de palabra:
BITS Aplicaciones Ejemplos Fabricantes
16 Mayor velocidad en operaciones 80186 Intel, AMD
aritmticas 8096 Intel
Manejo de grandes volmenes de datos
DSP TMS 320 Texas
Industria del automvil, grandes H8/300 Hitachi
perifricos
32 Manejo de grandes cantidades de datos I860 Intel
Gran capacidad de direccionamiento I960 Intel
Impresoras Lser, intrpretes PostScript 68300 Motorola
Pantallas grficas de muy alta resolucin 340X0 National
64 Controladores TCP/IP, buses, etc
TX4927 Toshiba

7
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
EL MERCADO DE LOS C
10000
Ventas de microcontroladores en millones de dolares
9000

8000

7000

6000

5000

4000

3000 8-bit

2000 4-bit
1000
16-bit
0
90 91 92 93 94 95 96 97 98 99
Ventas de microcontroladores en millones de unidades
3000

2500

2000

1500

1000 4-bit

500
8-bit

16-bit
0
90 91 92 93 94 95 96 97 98 99

8
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

Tcnicas de fabricacin
CMOS: Complementary Metal Oxide Semiconductor
La mayora de los C se fabrican en esta tecnologa
Menor consumo (favorecen alimentacin a bateras)
Mayor inmunidad al ruido
Son chips casi o totalmente estticos (no necesidad de refresco) :
el reloj puede ser ralentizado o detenido: sleep mode

PMP: Post Metal Programming (National Semiconductor)


Permite la programacin de la ROM despus de la metalizacin
final, lo que reduce el tiempo de diseo de 6/8 semanas a 2.

9
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

Arquitectura
Von-Neuman
Un nico bus de datos para datos e instrucciones.
Programa y datos se almacenan en la misma memoria principal.
Primero se busca la instruccin y a continuacin el dato
correspondiente: dos bsquedas consecutivas
Limita el ancho de banda

CPU Programa y datos MEMORIA

10
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Arquitectura

Harvard
Bus de datos y bus de instrucciones separados.
Permite bsquedas de instrucciones y datos simultneas: pre-
bsqueda de la siguiente instruccin en paralelo con acceso a los
datos de la instruccin en ejecucin
Permite anchos de bus distintos para datos e instrucciones
Mayor velocidad de ejecucin

MEMORIA MEMORIA
Instrucciones CPU datos
PROGRAMA DATOS

11
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Arquitectura
CISC (Complex Instruction Set Computer)
Muchas instrucciones diferentes (sobre 80). Potentes y
especializadas, algunas requieren muchos ciclos de ejecucin.
Facilita la programacin.
Cdigo muy compacto
Mayora de los fabricantes. Ejem. Motorola
RISC (Reduced Instruction Set Computer)
Pocas instrucciones muy sencillas. Ejecucin rpida
La sencillez de las instrucciones permite liberar rea de silicio para
implementar caractersticas que mejoren las prestaciones.
Chips ms baratos, de menor consumo, de menos pines.
Tendencia actual de la industria. Ejem. Microchip
SISC (Specific Instruction Set Computer)
Juego instrucciones especfico que potencia una aplicacin
concreta: facilidad y eficiencia en E/S, manipulacin de bits, etc

12
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

MEMORIA
EEPROM (Electrically Erasable Programable Read Only Memory)
Los C pueden tener pequeas cantidades de esta memoria para
almacenar un limitado nmero de parmetros que no cambian
frecuentemente
Lenta, nmero de ciclos lectura/escritura limitado
FLASH
Mejor solucin que la EEPROM cuando se requiere grandes
cantidades de memoria no voltil
Ms rpida, mayor nmero de ciclos lectura/escritura
RAM esttica con batera
Mucho ms rpida y sin limitacin de ciclos lectura/
escritura
Grandes cantidades de memoria no voltil de acceso rpido (datos
o aplicaciones de grandes prestaciones)

13
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Mscara Memorias
Memoria ROM
Programada durante el proceso de fabricacin por el fabricante
Interesante en produccin de grandes cantidades que no se van a modificar
Largo tiempo de obtencin del producto (de 8 a 44 semanas)
OTP (One Time Programmable)
Es un dispositivo PROM. En realidad una EPROM sin ventana de borrado.
Una vez que el programa ha sido grabado no puede ser borrado ni modificado
Alternativa a la mscara ROM para series pequeas.
Programables por el usuario
Reprogramacin
El uso de EPROM, EEPROM, EPROM y FLASH para la memoria de
programa facilita el desarrollo y puesta a punto de dispositivos
El uso de EEPROM, EPROM y FLASH permite la reprogramacin del C sin
extraerlo del sistema que controla
Actualizacin de nuevas versiones o eliminacin de errores

14
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Memorias

PROGRAMA PARMETROS VARIABLES


DATOS NO VOLTILES PILA

ROM EEPROM
OTP FLASH RAM
EPROM RAM con batera
EEPROM
FLASH

15
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Alimentacin
Bajo voltaje
Normalmente alimentacin a 5V
La incorporacin de los C a nuevos segmentos conlleva la necesidad
de alimentacin a 3V (2 bateras de 1,5v).
Tendencia tecnolgica: transistores ms pequeos (menos consumo,
ms rpidos y baratos) que facilita la reduccin de la tensin de
alimentacin y favorece el aumento en la densidad de integracin.
Proteccin Brownout
Detecta si la alimentacin disminuye por debajo de un valor lmite
(tensin de brownout, VBDD) y deja al C en estado reset hasta que la
alimentacin vuele a tomar valores permitidos.
Puede ser interno al chip o un circuito de control externo.

16
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Alimentacin
IDLE/HALT/Wakeup
Modos de bajo consumo, manteniendo valores de registros, memoria y
salidas
En modo IDLE:
Se para la CPU (salvo algunos recursos como osciladores internos,
el watchdog , timer asociado al wakeup)
El consumo se reduce en un 30%
El micro se despierta (wakeup) con una interrupcin externa o
interna (timers) o con el RESET
Otra posibilidad es que se realice un despertar cada cierto
intervalo de tiempo mediante un timer especfico del C.
HALT:
se para todo (CPU, timers, perifricos), el C se despierta slo con
una interrupcin externa o RESET
El consumo se reduce tpicamente a corrientes menores de 1A.

17
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS
Entradas / salidas
UART: Universal Asynchronous Receiver Transmitter
SCI: Serial Comunication Interface (UART mejorada).
SPI: Serial Periferal Interface (Motorola). E/S serie sncrona.
USART: Universal Synchronous/Asynchronous Receiver Transmiter
Ms rpida (unas 16 veces) que la UART
I2C: Inter-Integrated Circuit bus (Philips)
Bus serie de dos hilos
Multi-master, multi-slave, deteccin de colisiones. 128 dispositivos,
10 metros
Microwire/Plus. Comunicaciones serie entre dispositivos (displays,
conversores de datos, EEPROM,..) de National
CAN: Controller Area Network (Bosch, Intel). Cableado de automviles
J1850 (Society of Automotive Engineers). Estndar americano para
cableado de automviles
18
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

Conversin Analgico-Digital
En general del tipo de aproximaciones sucesivas
Normalmente 8 10 bits
Conversin Digital-Analgica
No suele estar implementada en los C
PWM: Pulse Width Modulator. Se usa como tcnica de conversin
D/A + circuitera exterior (filtro paso bajo)
Contadores de pulsos
Cada pulso/evento incrementa un registro acumulador indicando el
nmero de veces que ha sucedido un evento
Comparadores.
Comparador analgico basado en un AO
Algunos C pueden incluir un mdulo de tensin de referencia
Moduladores de anchura de pulsos (PWM)
Proporcionan una salida de impulsos de anchura variable

19
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

Interrupciones
Desde los perifricos: timers, UARTS, A/D, E/S paralelo, componentes
externos.
Interrupciones enmascarables, se pueden activar y desactivar. Bien con
carcter general (GIE, Global Interrupt Enable) o algun tipo de
interrupcin en particuar (por ejemplo la UART)
Interrupciones vectorizadas: una direccin de salto para cada
interrupcin
Prioridades

20
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
CARACTERSTICAS

Caractersticas especiales
Watchdog timer
Si el programa no reinicializa el watchdog antes de un cierto
tiempo, ste procede a hacer el RESET del sistema
Monitor del reloj
Circuito que detecta si el reloj funciona demasiado despacio y
genera un RESET

21
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
EJEMPLOS DE C

8051 (Intel)
Bus de 8 bits de datos
Puede direccionar 64K de programa (los 4K 8K bajos pueden residir
en chip) y 64K de memoria de datos externa. 128 bytes de RAM interna
+ registros especiales. E/S direccionadas en espacio propio.
Bus de direcciones de 16 bits
Gran potencia en instrucciones de bit
Timers y puertos serie (no A/D ni PWM)
8048 serie baja
80c196 de 16 bits
80186: microcontrolador con un 8086 como ncleo (PC XT)

22
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
EJEMPLOS DE C

68HC11 (Motorola)
Arquitectura Von Neuman (datos, programa, E/S, timers comparten el
mismo espacio de memoria)
Bus de 8 bits de datos, 16 bits de direcciones
Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers, A/D,
PWM, acumuladores de pulsos, comunicacin serie sncrona y
asncrona
Serie baja 68HC05
683xx: microcontrolador con un 68xxx como ncleo

23
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
EJEMPLOS DE C

68HC08 (Motorola)
Arquitectura Von Neuman (datos, programa, E/S, timers comparten el
mismo espacio de memoria)
Bus de 8 bits de datos, 16 bits de direcciones
Pueden tener: ROM/FLASH, RAM, E/S digitales, timers, A/D, PWM,
acumuladores de pulsos, comunicacin serie sncrona y asncrona
Existen elementos de la familia con USB, IIC
Hasta 60K de Flash, hasta 2K de RAM

24
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
EJEMPLOS DE C

PIC (MicroChip)
Arquitectura Harvard (direccionamiento separado para datos e
instrucciones)
solapamiento de instrucciones
Primer microcontrolador RISC
16Fxx principal lnea de la casa
35 instrucciones
8 bits de datos
14 bits de instruccin (hasta 8K instrucciones)
Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers,
A/D, PWM, acumuladores de pulsos, comunicacin serie sncrona y
asncrona

25
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES

LENGUAJES DE PROGRAMACIN
Ensamblador
Permiten el uso eficiente de los recursos
Lenguajes de alto nivel
Desarrollo ms rpido, mantenimiento menos costoso
Programas menos eficientes
Mayor ocupacin en memoria
Ejem: C (permite el acceso a los recursos hardware), BASIC,
ADA, etc.

26
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
LENGUAJES DE PROGRAMACIN

Uso de C y Ensamblador
Programacin en C Fuente Fuente C
Ensamblador
Puesta a punto de la lgica
Ensamblador Compilador
del programa Cruzado Cruzado

Reescritura de algunas partes Objeto Libreras Objeto


Relocalizable Relocalizable
crticas en ensamblador
Disminucin de la ocupacin Montador de Fichero
Enlaces Configuracin
de memoria Ejecutable
No Relocalizable
Aumento de las
Cargador Mscara
prestaciones
Microcontrolador

27
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES

HERRAMIENTAS DE DESARROLLO

Simuladores
Un simulador ejecuta un programa de un microcontrolador en un
computador de propsito general (p.e. un PC)
Los contenidos de la memoria y registros pueden ser observados y
alterados
No soporta interrupciones reales ni (generalmente) hardware adicional
La velocidad de ejecucin es menor que en el C

28
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO

Debuggers residentes
Se ejecutan en el C. Permiten visualizar la ejecucin desde un
terminal o un computador
Utiliza recursos del C (un puerto de comunicacin, una interrupcin y
memoria) y ralentiza la ejecucin (acceso a memoria y registros y
comunicacin)
Visualizacin y actualizacin de memoria, breakpoints, ...

29
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO

Hardware que emula al C y adems permite obtener


informacin y actuar sobre la aplicacin sin gastar recursos del
C ni alterar la evolucin temporal
Se comunica por una parte con un computador o terminal (en
general va RS232)

30
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO

Anda mungkin juga menyukai