Microcontroladores (μC)

Anuncio
Microcontroladores (C)
Bibliografia:
• Hoja de datos del PIC 16F84 y 16F628 (www.microchip.com)
• Microcontroladores PIC: la clave del diseño (biblioteca)
• Microcontroladores PIC: diseño práctico de aplicaciones (www.unsl.edu.ar/~pmp/libros)
• Internet: wikipedia
Sistemas embebidos y microcontroladores (C)
Un sistema embebido (SE) es una unidad de cómputo diseñado para realizar una o algunas
pocas funciones muy específicas (al contrario de lo que ocurre con una computadora de
propósito general, que está pensada para cubrir un amplio rango de necesidades).
Algunos ejemplos de SE:
- taxímetros,
- sistemas de control de acceso,
- electrónica que controla un motor a inyección (naftero o diesel common rail),
- sistema de control de una fotocopiadora,
- entre muchas otras aplicaciones…
Características:
- En un SE en general se busca reducir los costos y mejorar el consumo.
- Suelen usar un P relativamente pequeño y no requieren gran cantidad de memoria.
- Generalmente están implementados en una única placa PCB.
- Cuentan con entradas y salidas necesarias para conectar sensores y actuadores, asi como
también comunicación e interfaz con el usuario.
- Los programas que corren en general resuelven tareas de tiempo real.
El constituyente más común de un sistema embebido es el denominado microcontrolador.
El microcontrolador (C)
Es la realización en un chip (o circuito integrado) de una unidad de cómputo
completa (aunque de capacidad limitada): P, memoria de programa, memoria de
datos, puertos de I/O, timers, etc.
Se encuentra en sistemas embebidos en general:
- Las comunicaciones y los productos de consumo, absorben más de la mitad de la
producción de microcontroladores.
- El resto se distribuye entre el sector de automoción, las computadoras y la
industria:
Computadoras
15%
Industria
10%
Automoción
18%
Comunicaciones
30%
Consumo
27%
Microcontroladores (C)
P versus C:
• Un P es un sistema abierto: permite implementar una unidad de cómputo con las
características que se deseen, acoplándole los módulos necesarios.
• Un C es un sistema cerrado que contiene un computador completo y de capacidades
limitadas que no se pueden modificar (cantidades fijas de RAM, ROM y número de I/O).
Otras diferencias:
• Un sistema formado por P ocupa en general más espacio y es mas caro, aunque es más
versátil en lo que respecta a la cantidad de RAM, ROM y puertos de I/O.
• Los C son ideales en aplicaciones en las que el espacio, consumo y precio son más
importantes que la potencia y versatilidad.
Microcontroladores: familias
En la práctica, cada fabricante ofrece toda una familia de C constituida por un gran
número de modelos diferentes, desde los más limitados hasta los más poderosos.
Algunas de las características que es posible seleccionar en una dada familia son:
- la capacidad y el tipo de las memorias.
- el número y características de las líneas de I/O.
- la velocidad de funcionamiento.
- los elementos auxiliares o periféricos integrados (timers, ADC, DAC, serial, etc.)
- etc…
Una parte muy importante a la hora del diseño es justamente la selección del C a
usar para una aplicación particular.
Algunas familias de C son:
- Intel MCS-48, MCS-51 (8051) y MCS-96
- Motorola MC68HC05 y MC68HC11
- Zilog Z180 y Z8 (derivados del P Z80)
- Microchip PICs
- etc…
Selección del microcontrolador
Características a tener en cuenta:
1) Arquitectura básica:
- Von Newmann (bus común para instrucciones y datos)
- Harvard (juegos de buses separados para instrucciones y datos)
2) Tipo de procesador:
- CISC (complex instruction set computer)
- RISC (reduced instruction set computer)
3) Memorias:
- ROM (máscara, OTP, EPROM, EEPROM, FLASH)
- RAM
4) Puertos de I/O
5) Recursos especiales:
- Timers, Watchdog
- Protección Brownout, POR (power on reset)
- Estado de bajo consumo (halt, sleep)
- Conversores A/D, D/A y comparadores
- PWM, USART, I2C, USB
- etc…
Microcontroladores: Arquitecturas
Control
DIR
µP
DATOS
Memoria
de
Programa
y
Datos
8
Arquitectura von Neumann
Control
Mem. de
Programa
(instrucciones)
DIR
Control
µP
DIR
DATOS
DATOS
14
8
Mem.
de
Datos
Arquitectura Harvard
La tendencia actual, en el campo de los C, es a la arquitectura Harvard.
Microcontrolador: tipo de procesador
Procesador CISC:
- Conjunto extenso de instrucciones (del orden de 100 o más), algunas complejas.
- Las instrucciones pueden ocupar varios ciclos para ejecutarse.
- Cada instrucción puede ocupar más de una palabra en la memoria de programa.
- Puede manejar varios modos de direccionamiento (cuatro o incluso más).
- Poseen pocos registros internos de uso general.
- Ejemplo: P 8085, algunos C basados en el Z80, etc.
Procesador RISC:
- Set de instrucciones pequeño (del orden de 30) e instrucciones simples y rápidas.
- La mayoría de las instrucciones se ejecutan en un único ciclo.
- La mayoría de las instrucciones son ortogonales.
- Poseen pocos modos de direccionamiento: comúnmente inmediato y directo.
- La programación es orientada a registros.
- Poseen una gran cantidad de registros de uso general (varias decenas o más).
- Ejemplo: P Alpha y PowerPC, C PIC, ARM, etc.
Microcontrolador: segmentación
La arquitectura Harvard sumada a la filosofía RISC permiten aplicar la denominada
técnica de segmentación (pipeline).
Consiste básicamente en descomponer el ciclo completo de una instrucción en
varias etapas que se puedan realizar simultáneamente (en paralelo).
Ejemplo:
- Ejecución de la instrucción actual (data read/write, operaciones de la ALU, etc).
- Búsqueda de la siguiente instrucción (opcode fetch).
Microcontrolador: memorias
• Tanto la memoria de instrucciones como la de datos están integradas en el propio chip.
• Una parte debe ser no volátil, tipo ROM, destinada a contener las instrucciones (programa).
• Otra parte será tipo RAM, destinada a las variables y los datos (generalmente es de poca
capacidad).
• Capacidades habituales son entre 512 bytes y 8 Kbytes para ROM y entre 20 y 512 bytes
para RAM.
• El tipo de memoria ROM que posee un C determina su aplicación:
ROM de máscara:
destinado solamente a grandes producciones (varios miles).
OTP:
prototipos y series más pequeñas.
EPROM:
pueden ser borrados con luz ultravioleta.
EEPROM:
ideales para la enseñanza y la experimentación (lenta).
FLASH:
más rápidas y de mayor densidad que las EEPROM. Muy populares en la actualidad.
Microcontrolador: recursos
Puertos de Entrada y Salida:
Permiten comunicar al procesador con el mundo exterior. Están asociados a los diferentes pines que posee
el C. Pueden actuar como entradas, salidas o control, de uso general o asociadas a alguno de los
periféricos integrados (Ej. Timers, ADC, etc.).
Reloj principal:
Circuito oscilador encargado de generar una onda cuadrada usada para la sincronización de todas las
operaciones del sistema. En general se encuentra integrado en el C salvo por algunos componentes
externos, como ser un cristal de cuarzo o una red RC.
Recursos especiales:
Algunos de los periféricos que un fabricante puede incluir en los diversos modelos de C, pueden ser:
• Timers
• Watchdog (perro guardián)
• Protección ante fallo de alimentación
• Estado de bajo consumo (modo Halt o Sleep)
• Conversores A/D (analógicos  digitales)
• Conversores D/A (digitales  analógicos)
• Comparadores analógicos
• Modulador por ancho de pulso (PWM)
• Puertos de comunicación especiales (USART, I2C, USB)
Microcontrolador: herramientas de desarrollo
Herramientas de soporte:
• Ensamblador
• Compiladores e intérpretes
• Simuladores
• Emuladores en tiempo real
• Grabadores
• Entornos integrado de desarrollo
Descargar