Download INTRODUCCIÓN A LOS MICROCONTROLADORES

Document related concepts
no text concepts found
Transcript
MICROCONTROLADORES
INTRODUCCIÓN A LOS MICROCONTROLADORES
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
1
MICROCONTROLADORES
GENERALIDADES
Sistemas electrónicos de control:
(se utilizan para el gobierno de uno o varios procesos)
• Componentes lógicos (lógica cableada):
Circuitos complejos.
Elevado consumo
Baja fiabilidad
Poca versatilidad
Gran tamaño
• Microprocesadores de propósito general:
Mejoran todas las características anteriores destacando:
Versatilidad: son sistemas programables
Reducción de tamaño
Ejemplos: Zilog Z80, Motorola 6800, Intel 8085.
• Microcontroladores:
Se reúnen en un solo C.I. la mayoría de los componentes
necesarios de un controlador
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
2
MICROCONTROLADORES
GENERALIDADES
¿Qué es un microcontrolador?
Se puede considerar como un computador en un chip
Orientado al control de procesos
Típicamente 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
...
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
3
MICROCONTROLADORES
GENERALIDADES
Clasificación:
• Por su función:
- Propósito general:
CPU+Memoria+E/S+.... y
juego de instrucciones no específicas
- Especializados:
Arquitectura e instrucciones orientadas hacia algún
tipo de aplicaciones concretas:
Comunicaciones, manejo de teclados, DSP,
procesamiento de video .....
• Por su longitud de palabra:
4, 8 ,16, 32 y 64 bits
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
4
MICROCONTROLADORES
GENERALIDADES
•SISTEMAS EN TIEMPO REAL:
Las acciones de salida deben estar disponibles en un intervalo de
tiempo acotado.
Ejem. Instrumentación, electrodomésticos, teléfonos móviles,
juguetes, máquinas expendedoras, robótica, automóviles,
domótica …
•SISTEMAS EMPOTRADOS (embedded systems):
Los sistemas tiempo real suelen estar integrados en un sistema
de ingeniería más general, en el que realizan funciones de control
y/o monitorización.
Ejem. Ratón del computador, LCD, sistema de frenado de un
automóvil (ABS)
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
5
MICROCONTROLADORES
GENERALIDADES
Ejemplos de aplicación de los µC en función de la
longitud de palabra:
BITS
Aplicaciones
4
„Sensibles
al costo: juguetes
„Número de E/S limitado
„Entornos industriales específicos
„Telefonía, electrodomésticos
8
„Aplicaciones
sensibles al costo
„Periféricos inteligentes y
controladores: teclados, ud. disco,
displays ...
„Posibilidad de programación en
alto nivel: Basic, C ...
Ejemplos
HMCS 400
µpd75p316a
MCS 51
Fabricantes
Hitachi
NEC
National
68HC11
Z8
Intel, Siemens
Philips, AMD
Motorola,
Zilog, SGS
COP800
National
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
6
MICROCONTROLADORES
GENERALIDADES
Ejemplos de aplicación de los µC en función de la
longitud de palabra:
BITS
16
32
64
Aplicaciones
„Mayor
velocidad en operaciones
aritméticas
„Manejo de grandes volúmenes de datos
„DSP
„Industria del automóvil, grandes
periféricos
„Manejo
de grandes cantidades de datos
„Gran capacidad de direccionamiento
„Impresoras Láser, intérpretes PostScript
„Pantallas gráficas de muy alta resolución
„Controladores TCP/IP, buses, etc
Ejemplos
80186
8096
TMS 320
H8/300
Fabricantes
Intel, AMD
Intel
Texas
Hitachi
I860
I960
68300
340X0
Intel
Intel
Motorola
National
TX4927
Toshiba
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
7
MICROCONTROLADORES
EL MERCADO DE LOS µC
Ventas de microcontroladores en millones de dolares
10000
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
96
97
98
99
Ventas de microcontroladores en millones de unidades
3000
2500
2000
1500
4-bit
1000
8-bit
500
16-bit
0
90
91
92
93
94
95
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
8
MICROCONTROLADORES
CARACTERÍSTICAS
•
Técnicas de fabricación
ƒ CMOS: Complementary Metal Oxide Semiconductor
•
•
•
•
La mayoría de los µC se fabrican en esta tecnología
Menor consumo (favorecen alimentación a baterías)
Mayor inmunidad al ruido
Son chips casi o totalmente estáticos (no necesidad de refresco) :
el reloj puede ser ralentizado o detenido: sleep mode
ƒ PMP: Post Metal Programming (National Semiconductor)
• Permite la programación de la ROM después de la metalización
final, lo que reduce el tiempo de diseño de 6/8 semanas a 2.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
9
MICROCONTROLADORES
CARACTERÍSTICAS
•
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 instrucción y a continuación el dato
correspondiente: dos búsquedas consecutivas
• Limita el ancho de banda
CPU
Programa y datos
MEMORIA
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
10
MICROCONTROLADORES
CARACTERÍSTICAS
Arquitectura
ƒ Harvard
• Bus de datos y bus de instrucciones separados.
• Permite búsquedas de instrucciones y datos simultáneas: prebúsqueda de la siguiente instrucción en paralelo con acceso a los
datos de la instrucción en ejecución
• Permite anchos de bus distintos para datos e instrucciones
• Mayor velocidad de ejecución
MEMORIA
Instrucciones
PROGRAMA
CPU
datos
MEMORIA
DATOS
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
11
MICROCONTROLADORES
CARACTERÍSTICAS
Arquitectura
ƒ CISC (Complex Instruction Set Computer)
• Muchas instrucciones diferentes (sobre 80). Potentes y
especializadas, algunas requieren muchos ciclos de ejecución.
• Facilita la programación.
• Código muy compacto
• Mayoría de los fabricantes. Ejem. Motorola
ƒ RISC (Reduced Instruction Set Computer)
• Pocas instrucciones muy sencillas. Ejecución rápida
• La sencillez de las instrucciones permite liberar área de silicio para
implementar características que mejoren las prestaciones.
• Chips más baratos, de menor consumo, de menos pines.
• Tendencia actual de la industria. Ejem. Microchip
ƒ SISC (Specific Instruction Set Computer)
• Juego instrucciones específico que potencia una aplicación
concreta: facilidad y eficiencia en E/S, manipulación de bits, etc
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
12
MICROCONTROLADORES
CARACTERÍSTICAS
•
MEMORIA
ƒ EEPROM (Electrically Erasable Programable Read Only Memory)
• Los µC pueden tener pequeñas cantidades de esta memoria para
almacenar un limitado número de parámetros que no cambian
frecuentemente
• Lenta, número de ciclos lectura/escritura limitado
ƒ FLASH
• Mejor solución que la EEPROM cuando se requiere grandes
cantidades de memoria no volátil
• Más rápida, mayor número de ciclos lectura/escritura
• RAM estática con batería
• Mucho más rápida y sin limitación de ciclos lectura/
escritura
• Grandes cantidades de memoria no volátil de acceso rápido (datos
o aplicaciones de grandes prestaciones)
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
13
MICROCONTROLADORES
ƒ
ƒ
ƒ
CARACTERÍSTICAS
Memorias
Máscara
• Memoria ROM
• Programada durante el proceso de fabricación por el fabricante
• Interesante en producción de grandes cantidades que no se van a modificar
• Largo tiempo de obtención 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 máscara ROM para series pequeñas.
• Programables por el usuario
Reprogramación
• 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 reprogramación del µC sin
extraerlo del sistema que controla
• Actualización de nuevas versiones o eliminación de errores
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
14
MICROCONTROLADORES
CARACTERÍSTICAS
Memorias
PROGRAMA
PARÁMETROS
DATOS NO VOLÁTILES
VARIABLES
PILA
ROM
OTP
EPROM
EEPROM
FLASH
EEPROM
FLASH
RAM con batería
RAM
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
15
MICROCONTROLADORES
CARACTERÍSTICAS
•
Alimentación
ƒ Bajo voltaje
• Normalmente alimentación a 5V
• La incorporación de los µC a nuevos segmentos conlleva la necesidad
de alimentación a 3V (2 baterías de 1,5v).
• Tendencia tecnológica: transistores más pequeños (menos consumo,
más rápidos y baratos) que facilita la reducción de la tensión de
alimentación y favorece el aumento en la densidad de integración.
ƒ Protección ‘Brownout’
• Detecta si la alimentación disminuye por debajo de un valor límite
(tensión de brownout, VBDD) y deja al µC en estado reset hasta que la
alimentación vuele a tomar valores permitidos.
• Puede ser interno al chip o un circuito de control externo.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
16
MICROCONTROLADORES
CARACTERÍSTICAS
Alimentación
ƒ 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 interrupción externa o
interna (timers) o con el RESET
• Otra posibilidad es que se realice un ‘despertar’ cada cierto
intervalo de tiempo mediante un timer específico del µC.
• HALT:
• se para todo (CPU, timers, periféricos), el µC se despierta sólo con
una interrupción externa o RESET
• El consumo se reduce típicamente a corrientes menores de 1µA.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
17
MICROCONTROLADORES
CARACTERÍSTICAS
•
Entradas / salidas
ƒ UART: Universal Asynchronous Receiver Transmitter
ƒ SCI: Serial Comunication Interface (UART mejorada).
ƒ SPI: Serial Periferal Interface (Motorola). E/S serie síncrona.
ƒ USART: Universal Synchronous/Asynchronous Receiver Transmiter
• Más rápida (unas 16 veces) que la UART
ƒ I2C: Inter-Integrated Circuit bus (Philips)
• Bus serie de dos hilos
• Multi-master, multi-slave, detección 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 automóviles
ƒ J1850 (Society of Automotive Engineers). Estándar americano para
cableado de automóviles
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
18
MICROCONTROLADORES
CARACTERÍSTICAS
ƒ Conversión Analógico-Digital
• En general del tipo de aproximaciones sucesivas
• Normalmente 8 ó 10 bits
ƒ Conversión Digital-Analógica
• No suele estar implementada en los µC
• PWM: Pulse Width Modulator. Se usa como técnica de conversión
D/A + circuitería exterior (filtro paso bajo)
ƒ Contadores de pulsos
• Cada pulso/evento incrementa un registro acumulador indicando el
número de veces que ha sucedido un evento
ƒ Comparadores.
• Comparador analógico basado en un AO
• Algunos µC pueden incluir un módulo de tensión de referencia
ƒ Moduladores de anchura de pulsos (PWM)
• Proporcionan una salida de impulsos de anchura variable
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
19
MICROCONTROLADORES
CARACTERÍSTICAS
•
Interrupciones
ƒ Desde los periféricos: timers, UARTS, A/D, E/S paralelo, componentes
externos.
ƒ Interrupciones enmascarables, se pueden activar y desactivar. Bien con
carácter general (GIE, Global Interrupt Enable) o algun tipo de
interrupción en particuar (por ejemplo la UART)
ƒ Interrupciones vectorizadas: una dirección de salto para cada
interrupción
ƒ Prioridades
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
20
MICROCONTROLADORES
CARACTERÍSTICAS
•Características 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
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
21
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 núcleo (PC XT)
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
22
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, comunicación serie síncrona y
asíncrona
• Serie baja 68HC05
• 683xx: microcontrolador con un 68xxx como núcleo
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
23
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, comunicación serie síncrona y asíncrona
• Existen elementos de la familia con USB, IIC
• Hasta 60K de Flash, hasta 2K de RAM
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
24
MICROCONTROLADORES
EJEMPLOS DE µC
•
PIC (MicroChip)
• Arquitectura Harvard (direccionamiento separado para datos e
instrucciones)
• solapamiento de instrucciones
• Primer microcontrolador RISC
• 16Fxx principal línea de la casa
• 35 instrucciones
• 8 bits de datos
• 14 bits de instrucción (hasta 8K instrucciones)
• Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers,
A/D, PWM, acumuladores de pulsos, comunicación serie síncrona y
asíncrona
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
25
MICROCONTROLADORES
•
LENGUAJES DE PROGRAMACIÓN
ƒ Ensamblador
• Permiten el uso eficiente de los recursos
ƒ Lenguajes de alto nivel
• Desarrollo más rápido, mantenimiento menos costoso
• Programas menos eficientes
• Mayor ocupación en memoria
• Ejem: C (permite el acceso a los recursos hardware), BASIC,
ADA, etc.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
26
MICROCONTROLADORES
LENGUAJES DE PROGRAMACIÓN
•
Uso de C y Ensamblador
• Programación en C
• Puesta a punto de la lógica
del programa
• Reescritura de algunas partes
Fuente
Ensamblador
Fuente C
Compilador
Cruzado
Ensamblador
Cruzado
Objeto
Relocalizable
Objeto
Relocalizable
Librerías
críticas en ensamblador
• Disminución de la ocupación
de memoria
Fichero
Configuración
Montador de
Enlaces
Ejecutable
No Relocalizable
• Aumento de las
prestaciones
Cargador
Máscara
Microcontrolador
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
27
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO
•
Simuladores
• Un simulador ejecuta un programa de un microcontrolador en un
computador de propósito 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 ejecución es menor que en el µC
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
28
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO
•
Debuggers residentes
ƒ Se ejecutan en el µC. Permiten visualizar la ejecución desde un
terminal o un computador
ƒ Utiliza recursos del µC (un puerto de comunicación, una interrupción y
memoria) y ralentiza la ejecución (acceso a memoria y registros y
comunicación)
ƒ Visualización y actualización de memoria, breakpoints, ...
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
29
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO
• Hardware que “emula” al µC y además permite obtener
información y actuar sobre la aplicación sin gastar recursos del
µC ni alterar la evolución temporal
• Se comunica por una parte con un computador o terminal (en
general vía RS232)
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
30