Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Uruapan
Microcontroladores
Profesor: Ing., José Guadalupe Camacho Ávila
Integrantes:
Herrera García Roberto Darío
Elías Jasso Vélez
Jesus Fernando Álvarez silva
Sergio David Solís morales
Tema: tipos de microcontroladores
Ingeniería Electrónica: sexto semestre
Grupo: A
INTRODUCCION.
Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de
memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estas partes están interconectadas dentro del microcontrolador,
y en conjunto forman lo que se le conoce como microcomputadora. Se puede decir con toda propiedad que un microcontrolador es
una microcomputadora completa encapsulada en un circuito integrado.
Toda microcomputadora requiere de un programa para que realice una función específica. Este se almacena normalmente en la
memoria ROM. No está de más mencionar que sin un programa, los microcontroladores carecen de utilidad.
El propósito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario le escribe, es por esto
que la programación es una actividad básica e indispensable cuando se diseñan circuitos y sistemas que los incluyan. El carácter
programable de los microcontroladores simplifica el diseño de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un
mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador.
Las aplicaciones de los microcontroladores son vastas, se puede decir que solo están limitadas por la imaginación del usuario. Es
común encontrar microcontroladores en campos como la robótica y el automatismo, en la industria del entretenimiento, en las
telecomunicaciones, en la instrumentación, en el hogar, en la industria automotriz, etc.
Como el hardware ya viene integrado en un solo chip, para usar un microcontrolador se debe especificar su funcionamiento por
software a través de programas que indiquen las instrucciones que el microcontrolador debe realizar. En una memoria se guardan
los programas y un elemento llamado CPU se encarga de procesar paso por paso las instrucciones del programa. Los lenguajes
de programación típicos que se usan para este fin son ensamblador y C, pero antes de grabar un programa al microcontrolador
hay que compilarlo a hexadecimal que es el formato con el que funciona el microcontrolador.
Todo programa escrito en un lenguaje de alto nivel debe ser transformado en código máquina. Los programas que escribimos los
entendemos nosotros, no así el microcontrolador.
Un software de computadora, llamado compilador, traduce y transforma nuestro programa en código máquina, que es lo que
realmente puede leer e interpretar el microcontrolador.
Una vez compilado el programa, es momento de transferir nuestro código maquina hacia la memoria interna del microcontrolador,
usualmente hacia la ROM. Para esta tarea se utiliza un programador físico, que es una pieza de hardware que tiene el propósito
de escribir el programa en la memoria interna del micro.
Existen varios fabricantes de microcontroladores tales como Texas Instruments, Motorola, Atmel, Intel, Microchip, Toshiba,
Nacional, etc. Todos ellos ofrecen microcontroladores con características más o menos similares, sin embargo, en términos
generales se puede decir que todos sirven para lo mismo: leer y ejecutar los programas del usuario.
Evidentemente algunos modelos tienen más capacidad que otros, en cuanto a memoria, velocidad, periféricos, etc.
A continuación diagrama a bloques de estructura interna de un microcontrolador:
A través de este trabajo visualizaremos una tabla detallada de los valores mencionados anteriormente.
MICROCONTROLADORES
¿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
...
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
MICROCONTROLADORES
GENERALIDADES
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
3000
Ventas de microcontroladores en millones de unidades
2500
2000
1500
1000 4-bit
8-bit
500
16-bit
0
90 91 92 93 94 95 96 97 98 99
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
• 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
Harvard
• Bus de datos y bus de instrucciones separados.
• Permite búsquedas de instrucciones y datos simultáneas: pre-
bú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 MEMORIA
PROGRAMA Instrucciones CPU datos DATOS
MICROCONTROLADORES
CARACTERÍSTICA
S
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
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)
MICROCONTROLADORES
CARACTERÍSTICAS
Máscara Memorias
• 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
MICROCONTROLADORES
CARACTERÍSTICAS
Memorias
ROM EEPROM
OTP FLASH RAM
EPROM RAM con batería
EEPROM
FLASH
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.
MICROCONTROLADORES
CARACTERÍSTICA
S
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.
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
2
I C: 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
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
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
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
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)
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
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
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
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.
MICROCONTROLADORES
LENGUAJES DE PROGRAMACIÓN
• Uso de C y Ensamblador
• Programación en C Fuente
Fuente C
Ensamblador
• Puesta a punto de la
Ensamblador Compilador
lógica del programa Cruzado Cruzado
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
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, ...
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO