Title: SAAEI 2005
1Electrónica Industrial
2do curso de Ingeniería Técnica Industrial
Especialidad Electricidad
Lección 14 Introducción a los Microcontroladores
Profesor Diego González Lamar
Transparencias basadas en el material realizado
por J. Marcos Alonso y Fernando Nuño
2Introducción a los Microcontroladores
Índice de la Lección
- Introducción
- Sistema mínimo microprocesador
- Buses de comunicación
- Memoria
- Unidad central de proceso (CPU)
- Módulos E/S
- El microcontrolador vs sistema microprocesador
- Sistemas empotrados
- Microcontroladores comerciales
- Microcontroladores PIC
- Por qué microcontroladores PIC?
- Familias PIC Familia PIC16CXXX/16FXXX
- Procedimiento de diseño con los
microcontroladores PIC
Electrónica Industrial Lección 14
3Introducción a los Microcontroladores
Introducción
- Qué son los Microcontroladores?
- Son circuitos integrados que incorporan todos los
bloques funcionales de - un Sistema Microprocesador en un único
encapsulado - Qué necesitan para funcionar?
- Sólo una tensión continua estable (5V, 3.3V,
2.5V, 1.5V...) y un oscilador - Qué hacen?
- Interpretan (decodifican) combinaciones de bits
(instrucciones) - y generan señales digitales internas y/o externas
- Para qué?
-
- Para ejecutar de manera continua una secuencia
de instrucciones - (programa) que permita controlar un sistema o
subsistema electrónico
Electrónica Industrial Lección 14
4Introducción a los Microcontroladores
Sistema mínimo microprocesador
El sistema mínimo está basado en la estructura de
von Newman. Sus bloques básicos son los
siguientes
- CPU, Central Process Unit o Unidad Central de
Proceso. Formada por dos bloques Unidad de
Control y Unidad de Proceso. - Memoria, donde residen las instrucciones del
programa y sus datos. - Módulos E/S, elementos encargados de recibir y
entregar información alexterior.
Bus de Direcciones
CPU
Electrónica Industrial Lección 14
MEMORIA
UDS. E / S
U.C.
Bus de Datos
U.P.
Bus de Control
Reloj
Los tres módulos están conectados entre sí por
medio de los Buses de Comunicación. Cada bus está
formado por un conjunto de conductores por los
cuales se transmite la información digital.
5Introducción a los Microcontroladores
Sistema mínimo microprocesador
Buses de comunicación
Los buses de comunicación en un sistema mínimo
microprocesador se dividen en tres
Bus de direcciones ? Es el empleado por la CPU
para seleccionar la dirección de memoria o el
dispositivo de E/S con el cual va a intercambiar
información.
Electrónica Industrial Lección 14
Bus de datos ? El bus de datos es el conjunto de
conductores a través del cual el µP intercambia
información con la unidad de memoria o E/S
seleccionada mediante el bus de direcciones.
Bus de control ? Está formado por un conjunto de
líneas por las que circulan las señales
auxiliares de gobierno y sincronización del
sistema
6Introducción a los Microcontroladores
Sistema mínimo microprocesador
Bus de direcciones
- Características
- Unidireccional
- Su tamaño, o número de conductores que lo
constituyen, determina la capacidad de
direccionamiento de la CPU, que es el máximo
número de posiciones de memoria y dispositivos
E/S a los que la CPU puede acceder. Para m líneas
la capacidad de direccionamiento será 2m.
Electrónica Industrial Lección 14
Ejemplos
6502, Z80, 8088 m16 Capacidad de dir. 216
65536 posiciones (64 k) 80286 m20 Capacidad de
dir. 220 1.048.576 posiciones (1 Mega)
7Introducción a los Microcontroladores
Sistema mínimo microprocesador
Bus de datos
- Características
- Bidireccional ?la información puede viajar en los
dos sentidos. - Número de líneas (N) ? representa la cantidad de
bits que se pueden transmitir simultáneamente.
Palabra del µP. - Triestado las líneas del bus de datos deben ser
triestado Estado alto, bajo y de alta impedancia
Electrónica Industrial Lección 14
Si el µP se está comunicando con un dispositivo
E/S. Sólo estos dos dispositivos pueden disponer
del bus de datos, el resto de dispositivos
conectados físicamente al bus de datos deben
permanecer con sus líneas en alta impedancia. La
Unidad de Control de la CPU es la que decide
8Introducción a los Microcontroladores
Sistema mínimo microprocesador
Bus de control
- Características
- Las líneas existentes dependen del fabricante del
µP y de las funciones que desee implementarle.
Electrónica Industrial Lección 14
Señales típicas
- Señal de reloj de sincronización
- Señal de RESET o inicialización
- Señal de lectura/escritura en memoria,
- Líneas de petición de interrupción, etc.
9Introducción a los Microcontroladores
Sistema mínimo microprocesador
Memoria
La memoria se emplea para dos funciones básicas
- Almacenamiento de las instrucciones que
constituyen el programa codificadas a través de
su Código de Operación (COP). - Almacenamiento de los datos y variables del
programa. Normalmente agrupados en paquetes de 8
bits (Byte), 16 bits (Word) o 32 bits (Long Word).
Electrónica Industrial Lección 14
La velocidad de la memoria debe ser compatible
con el µP empleado
- RAM, memorias de lectura/escritura para
almacenamiento de variables y datos del programa.
Son volátiles. - ROM (EPROM, EEPROM), memorias de sólo lectura
para almacenamiento programas fijos
(aplicaciones, rutinas básicas de sistemas
operativos, etc.) y constantes. Son no volátiles.
10Introducción a los Microcontroladores
Sistema mínimo microprocesador
Unidad central de proceso CPU
Está formada por los siguientes bloques
CPU
- Registros internos
- Unidad de Control
- Unidad de Proceso u Operativa
Unidad de Control
Electrónica Industrial Lección 14
Bus de Direcciones
Bus de Control
Bus de Datos
ALU
Registros
11Introducción a los Microcontroladores
Sistema mínimo microprocesador
Registros Internos
Los registros de la CPU son bloques de biestables
que permiten el almacenamiento de los datos
básicos con los cuales va a trabajar la CPU
durante la ejecución de cada instrucción. La
comunicación se realiza mediante buses internos a
la CPU (muy rápida)
Electrónica Industrial Lección 14
Registros típicos
- De desplazamiento ? Hacen rotaciones y
desplazamientos de bits - Contadores ? Permiten medir tiempos, temporizar,
etc. - -Registros Índices o de Direcciones ? permiten el
acceso estructurado a datos de memoria - Registros de datos ? para almacenamiento de
variables del programa - Registros especiales ? contador de programa
(Program Counter, PC), puntero de pila (Stack
Pointer, SP)
12Introducción a los Microcontroladores
Sistema mínimo microprocesador
Unidad de control
Su misión principal consiste en interpretar y
ejecutar las instrucciones que le llegan desde la
memoria
Electrónica Industrial Lección 14
13Introducción a los Microcontroladores
Sistema mínimo microprocesador
Unidad de proceso
El bloque principal es la ALU o Unidad
Lógico-Aritmética, que permite realizar un las
operaciones aritméticas y lógicas indicadas por
las instrucciones del programa.
Electrónica Industrial Lección 14
14Introducción a los Microcontroladores
Sistema mínimo microprocesador
Módulos E/S
Permiten la comunicación del sistema µP con el
mundo exterior. Los dispositivos de E/S se
denominan habitualmente periféricos, ejemplos
son teclado, pantalla, impresora, unidades de
disco, etc.
Electrónica Industrial Lección 14
Cualquier periférico necesitan un módulo
adicional que permite realizar la conexión del
mismo con los buses del sistema µP, este módulo
se denomina interface
15Introducción a los Microcontroladores
Sistema mínimo microprocesador
Módulos E/S
Existen varios métodos para manejar los
dispositivos de E/S
- Mediante Instrucciones Específicas de E/S
- Mediante Acceso Directo a Memoria (DMA). La CPU
pone en triestado los buses de direcciones y de
datos. Un dispositivo controlador de DMA toma el
control de los buses y pasa los datos
directamente entre el dispositivo E/S y la
memoria. - Mediante Técnicas de Interrupción. El periférico
activa las líneas de interrupción de la CPU, que
detienen el programa en ejecución y trasladan el
contador de programa a la dirección de inicio de
otro programa, creado especialmente para atender
al periférico que solicita la interrupción. - Mediante el Tratamiento de E/S como Posiciones de
Memoria. Permite el empleo de las mismas
instrucciones para acceso a memoria y a E/S. Una
zona del mapa de memoria es reservada para los
dispositivos de E/S. Estas posiciones se llaman
Puertos de E/S.
Electrónica Industrial Lección 14
16Introducción a los Microcontroladores
El microcontrolador vs sistema microprocesador
Electrónica Industrial Lección 14
17Introducción a los Microcontroladores
El microcontrolador vs sistema microprocesador
Tarjeta de Sistema Microprocesador para control
Electrónica Industrial Lección 14
18Introducción a los Microcontroladores
Sistemas empotrados
- Sistemas que incorporan microcontroladores (o
microprocesadores) para una tarea específica pero
que no son visibles ni programables
directamente por el usuario - Los microcontroladores de 8 bits dominan en la
mayoría de las aplicaciones - El microcontrolador es el núcleo del sistema
electrónico versátil de bajo coste y reducido
tamaño que es capaz de detectar las señales de
entrada y generar las salidas de un equipo,
sistema o instrumento - Por su reducido tamaño y coste permiten la fácil
implantación de sistemas deinteligencia
distribuida a lo largo de sistemas más complejos - Los microcontroladores son los semiconductores
más abundantes de todos en la actualidad.
Electrónica Industrial Lección 14
19Introducción a los Microcontroladores
Sistemas empotrados
Electrónica Industrial Lección 14
2500 Millones Microcontroladores/año
75 Millones Microprocesadores/año
20Introducción a los Microcontroladores
Sistemas empotrados
Puede haber del orden de 50 microcontroladores
en un automóvil !
Electrónica Industrial Lección 14
21Introducción a los Microcontroladores
Microcontroladores comerciales
- INTEL 8048,8051,80C196,80386
- MOTOROLA 6805,68HC11,68HC12
- HITACHI HD64180
- PHILIPS 8051
-
- SGS-THOMSON ST-62XX
- NATIONAL SEMICONDUCTOR COP400,COP800
- ZILOG Z8,Z86XX
- TEXAS INSTRUMENTS TMS370
- TOSHIBA 68HC11
-
- MICROCHIP PIC
Electrónica Industrial Lección 14
22Introducción a los Microcontroladores
Microcontroladores comerciales
1990
2002
1996
1.- Microchip 2.- Motorola 3.- ST-Micro 4.-
NEC 5.- Atmel 6.- Sunplus 7.- Hitachi 8.-
Fujitsu 9.- Philips 10.- Toshiba 11.-
Mitsubishi 12.- Samsung 13.- Elan 14.-
Winbond 15.- Zilog 16.- Sanyo 17.- Matsushita
18.- Infineon 19.- Holtek 20.- National
1.- Motorola 2.- Mitsubishi 3.- NEC 4.- Intel 5.-
Hitachi 6.- Philips 7.- Matsushita 8.-
National 9.- Siemens 10.- TI 11.- Sharp 12.-
Oki 13.- Toshiba 14.- SGS-Thomson 15.- Zilog 16.-
Matra 17.- SONY 18.- Fujitsu 19.- AMD 20.-
Microchip
1.- Motorola 2.- Mitsubishi 3.- SGS-Thomson 4.-
NEC 5.- Microchip 6.- Philips 7.- Zilog
Electrónica Industrial Lección 14
SEGÚN UNIDADES VENDIDAS DE MICROS DE 8 BITS
23Introducción a los Microcontroladores
Microcontroladores PIC
Características
- Arquitectura Harvard buses internos separados
para memoria de datos (8 bits) y de programa (12,
14 ó 16 bits depende de la familia) - Microprocesador RISC juego de intrucciones
reducido - Estructura pipe-line durante la ejecución de una
instrucción, se está accediendo a la memoria de
programa para traer la siguiente instrucción a
ejecutar. (salvo un salto o llamada a subpr.) - Todas las instrucciones ocupan una posición de
memoria de programa - Todas las instrucciones se ejecutan en un ciclo
de instrucción 4 ciclos dereloj (salvo las
instrucciones de salto) - Ortogonalidad de los registros se opera entre el
registro de trabajo W y cualquier otro registro,
el resultado puede almacenarse en W
Electrónica Industrial Lección 14
24Introducción a los Microcontroladores
Microcontroladores PIC
Por qué los Microcontroladores PIC de Microchip?
- Eficiencia del código permiten gran
compactación de programas - Rapidez de ejecución a f de 20MHz ? 5 millones
de instr./seg. - Seguridad en acceso Separa memoria de datos y
de programa - Juego reducido de instrucciones y de fácil
aprendizaje - Compatibilidad de pines y código entre
dispositivos (familias) - Gran variedad de versiones en distintos
encapsulados (desde 8 hasta 84 pines) sin
reducción de las prestaciones internas - Posibilidad de protección del código muy fiable
- Herramientas de desarrollo software y hardware
abundantes y de bajo coste
Electrónica Industrial Lección 14
25Introducción a los Microcontroladores
Microcontroladores PIC
Por qué los Microcontroladores PIC de Microchip?
Tamaño relativo del código
Velocidad relativa de ejecución
Electrónica Industrial Lección 14
26Introducción a los Microcontroladores
Microcontroladores PIC
Familias de microcontroladores PIC
- Familia PIC10F20x
- Encapsulados de 6 pines (SOT). Oscilador interno
4MHz - Memoria de programa de 12 bits y datos de 8 bits
- Juego de 33 instrucciones
-
- Familia PIC12CXXX/12FXXX
- Encapsulados de 8 pines (DIP ó SOIC)
- Instrucciones de 12 ó 14 bits en Memoria de
Programa - Juego de 33 ó 35 instrucciones
- Disponibles con EEPROM de datos
- Modelos con módulos de conversión A/D
- Permiten alimentación a baja tensión de hasta
2,5V
Electrónica Industrial Lección 14
27Introducción a los Microcontroladores
Microcontroladores PIC
Familias de microcontroladores PIC
- Familia PIC16C5X
- Encapsulados de 14, 18, 20 y 28 pines
- Instrucciones de 12 bits
- Juego de 33 instrucciones
- Es la familia base de partida de los PIC
-
- Familia PIC16CXXX/16FXXX (PIC14000)
- Encapsulados desde 18 hasta 68 pines (DIP, SSOP,
PLCC, QFP) - Instrucciones de 14 bits en Memoria de Programa
- Juego de 35 instrucciones
- Gran variedad de módulos integrados
-
-
Electrónica Industrial Lección 14
28Introducción a los Microcontroladores
Microcontroladores PIC
Familias de microcontroladores PIC
- Familia PIC17CXXX
- Encapsulados de 40 a 80 pines
- Memoria de Programa de 16 bits
- Juego de 58 instrucciones (oper. de
multiplicación por hardware) - Posibilidad de direccionar memoria externa
- Familia PIC18CXXX/18FXXX
- Encapsulados de 18 a 80 pines
- Memoria de Programa de 16 bits
- Juego de 77 instrucciones (multiplicación)
-
Electrónica Industrial Lección 14
29Introducción a los Microcontroladores
Microcontroladores PIC
Familia PIC16CXXX/16FXXX
- Puertos de Entrada/Salida
- Puerto Esclavo Paralelo (PSP)
- Temporizadores/contadores (TMR0, TMR1, TMR2)
- Captura / Comparación / PWM (CCP1 y CCP2)
- Conversión Analógica / Digital (A/D)
- Transmisor Receptor Asíncrono Síncrono Universal
(USART ó SCI) - Puerto Serie Síncrono Básico ó Maestro (BSSP ó
MSSP) - Memoria EEPROM de datos
- FLASH EEPROM de programa modificable desde el
código
Electrónica Industrial Lección 14
30Introducción a los Microcontroladores
Microcontroladores PIC
Familia PIC16CXXX/16FXXX
Microcontrolador PIC16F877 (familia media)
Electrónica Industrial Lección 14
Tiene de todo !
31Introducción a los Microcontroladores
Microcontroladores PIC
Procedimiento de diseño con los
microcontroladores PIC
Diseño hardware conectaremos al micro todo lo
que necesita para funcionar y lo que le permite
interaccionar con el mundo exterior
- Definición de las señales de Entrada, Salida y
Alimentaciones - Etapas de Adaptación/Acondicionamiento Eléctrico
de Señales - Selección de los módulos del microcontrolador a
utilizar y pines - Diseño de la Placa de Circuito Impreso (PCB)
- Montaje y ensamblado
Electrónica Industrial Lección 14
32Introducción a los Microcontroladores
Microcontroladores PIC
Procedimiento de diseño con los
microcontroladores PIC
Diseño software el micro sin un programa cargado
en su memoria no hace absolutamente nada, cuando
el micro esté grabado con un programa eficiente
el conjunto empezará a funcionar
- Diseño del programa y escritura del código
fuente en ensamblador o en C - Pruebas, verificación y modificación del código
Simulación del programa (puro software) o
emulación dentro del circuito de aplicación
(software y hardware) - Grabación del código máquina en la memoria del
microcontrolador
Electrónica Industrial Lección 14