Você está na página 1de 63

UNIVERSIDAD POLITECNICA

SALESIANA
SISTEMAS MICROPROCESADOS-I

DICT POR: Ing. LUIS F. TIPAN, MSc.


HISTORIA
Breve Esbozo Histórico.
1971 Intel fabrica el primer microprocesador (el 4004)
de tecnología PMOS.
1972 Las aplicaciones del 4004 estaban muy limitadas
por su reducida capacidad y rápidamente Intel desarrolló
una versión más poderosa (el 8008).
1973 Intel lanza al mercado el 8080 el primer
microprocesador de tecnología NMOS.
1975 Zilog lanza al mercado el Z80, uno de los
microprocesadores de 8 bits más poderosos.
1976 Surgen las primeras microcomputadoras de un
sólo chip, que más tarde se denominarán
microcontroladores.
198x En la década de los 80's comienza la ruptura entre
la evolución tecnológica de los microprocesadores y la de
los microcontroladores.
HISTORIA
se representa esquemáticamente
Introducción a los microcontroladores
Los microcontroladores están conquistando el
mundo. Están presentes en nuestro trabajo, en nuestra
casa y en nuestra vida, en general. Se pueden encontrar
controlando el funcionamiento de los ratones y teclados de
los computadores, en los teléfonos, en los hornos
microondas y los televisores de nuestro hogar. Pero la
invasión acaba de comenzar y el nacimiento del siglo XXI
será testigo de la conquista masiva de estos diminutos
computadores, que gobernarán la mayor parte de los
aparatos que fabricaremos y usamos los humanos.
Controlador y microcontrolador.

Recibe el nombre de
controlador el dispositivo que se
emplea para el gobierno de uno o Un microcontrolador es un
varios procesos. En la actualidad, circuito integrado de alta escala
todos los elementos del controlador se de integración que incorpora la
han podido incluir en un chip, el cual mayor parte de los elementos que
recibe el nombre de microcontrolador. configuran un controlador.
Realmente consiste en un sencillo
pero completo computador contenido
en el corazón (chip) de un circuito
integrado.
QUE ES UN MICROCONTROLADOR

Un microcontrolador es un Circuito Integrado Que contiene una


Unidad Central de Procesos (CPU), memoria para código, memoria
para datos, además de otros recursos necesarios para el desarrollo
de aplicaciones, por lo general con un propósito específico.
Un microcontrolador, es un circuito integrado programable que
contiene los elementos necesarios para controlar un sistema.
PIC significa Peripheral Interface Controler es decir un controlador de
periféricos.
Cuando hablamos de un circuito integrado programable que
controla periféricos, estamos hablando de un sistema que contiene
entre otras cosas una unidad arimético-lógica, unas memorias de
datos y programas, unos puertos de entrada y salida, es decir estamos
hablando de un pequeño ordenador diseñado para realizar unas
funciones específicas.
Podemos encontrar microcontroladores en lavadoras, teclados,
teléfonos móviles, ratones etc.
Hay multitud de microcontroladores con más memoria, entradas y
salidas, frecuencia de trabajo, coste, subsistemas integrados y un largo
entre otros dependiendo de cada tipo de microcontrolador.
MICROPROCESADORES VS. MICROCONTROLADORES

Aunque los microprocesadores y microcontroladores son


dispositivos con algunas similitudes, existen diferencias
importantes entre ellos, las cuales revisaremos desde 3 perspectivas
diferentes:

• Hardware
• Aplicaciones
• Características del repertorio de instrucciones
Microprocesadores Microcontroladores
Es una Unidad Central de Además de la CPU, contiene:
Procesamiento en un circuito RAM, ROM, interfaz serial, interfaz
integrado. paralela, manejo de
interrupciones, temporizadores,
etc. Todo en un circuito integrado.
Las limitantes en el
microcontrolador son:
• Velocidad de procesamiento
• Tamaño de los datos
• Espacio de direccionamiento
de memoria
Microprocesadores Microcontroladores
Los microprocesadores son Los microcontroladores son
comúnmente usados como CPUen encontrados en sistemas mínimos
las computadoras. Aunque desempeñando actividades
también existen tarjetas de orientadas a control.
evaluación y desarrollo con base Son la base para sistemas con
en algún microprocesador (SBC, propósito específico
Single BoardComputer), pero
éstas cada vez son menos
comunes.
Son la base para la construcción
de sistemas de propósito general.
Microprocesadores Microcontroladores
Los microprocesadores deben Un microcontrolador debe poder
incluir modos de manjar bits directamente. Por
direccionamiento capaces de ejemplo: para encender o apagar
manejar grandes cantidades de un motor basta con cambiar el
datos. estado de un bit.
Se espera que sus instrucciones La mayoría de microcontroladores
operen sobre palabras (32 bits) o incluyen un procesador booleano
palabras dobles (64 bits). que permite hacer operaciones
lógicas directamente sobre bits
Hardware de un computador
Hardware de un microcontrolador
LA UNIDAD CENTRAL DE PROCESOS
Administra todas las actividades en el sistema y ejecuta todas las
operaciones sobre los datos. Su tarea puede reducirse a las siguientes
operaciones:
–Atrapar una instrucción.
–Decodificarla.
–Ejecutarla.
Cada instrucción contiene un código de operación (op code) y uno o más
operandos sobre los que se realizará la operación. Estas instrucciones
usualmente incluyen:
–Aritméticas: suma, resta, producto, división, etc.
–Lógicas: AND, OR, NOT, etc.
–Transferencia de datos.
–Bifurcaciones (condicionales o incondicionales)
UNIDAD CENTRAL DE PROCESOS (SIMPLIFICADA)
TAREAS DE LA CPU
Atrapar la instrucción: es una etapa fundamental que involucra los
siguientes pasos:
a) El contenido del PC es colocado en el bus de direcciones.
b) Una señal de control (READ) es activada.
c) Un dato (la instrucción) es leído de la RAM y puesto en el bus de
datos.
d) El dato es colocado en el registro de instrucción (IR).
e) El PC es preparado para la siguiente instrucción.
TAREAS DE LA CPU
TAREAS DE LA CPU
Decodificación: consiste en descifrar el op code para generar las
señales de control necesarias, dependiendo del tipo de instrucción.
Ejecución: consiste en la habilitación de la ALU para obtener algún
resultado, cargar datos desde memoria, almacenar datos en
memoria, modificar el valor del PC, etcétera (según las señales
generadas por el control).
Una serie de instrucciones combinada para realizar alguna tarea
significativa es llamado programa.
El grado en el cual las tareas son realizadas eficiente y correctamente
depende en mucho del software, no de qué tan sofisticado sea el
CPU.
TIPOS DE CPU
CISC : Complex Instruction Set Computers
RISC :Reduced Instruction Set Computers

Una arquitectura RISC tiene pocas instrucciones y generalmente del


mismo tamaño y muchas veces corresponde con el tamaño de los datos.
En la CISC hay demasiadas instrucciones con diferentes tamaños y
formatos, que pueden ocupar varios bytes, uno para el opcode y el resto
para los operandos.
Una instrucción CISC puede corresponder a varias instrucciones RISC.
Un procesador RISC típico tiene una capacidad de procesamiento de dos
a cuatro veces mayor que un CISC y su estructura de hardware es tan
simple, que se puede realizar en una fracción de la superficie ocupada
por el circuito integrado de un procesador CISC.
SISTEMAS DE MEMORIA
Una computadora (y por lo tanto, también un microcontrolador) debe
contar con memoria de código y memoria para datos. Existen 2 modelos o
Arquitecturas, de acuerdo con la organización de la memoria:
SISTEMAS DE MEMORIA
La memoria de código (o de instrucciones o de programa) almacena las
instrucciones que forman al programa.
Para acomodar programas grandes, la memoria de código se puede
particionar como memoria interna y memoria externa, en algunos
microcontroladores.
Usualmente la memoria de programa es no volátil y puede ser del tipo
EPROM, EEPROM, Flash, ROM enmascarable o OTP (one-time
programmable).
Para la memoria de datos, los microcontroladores pueden contener RAM o
EEPROM, para el uso de variables o de una pila.
Todos los microcontroladores tienen memoria interna de datos, en
diferentes magnitudes, algunos además cuentan con la capacidad de
expansión usando una memoria externa.
MICROCONTROLADORES
APLICACIONES DE LOS MICROCONTROLADORES
MICROCONTROLADORES COMUNES
Familia MCS-51 de Intel
8031
8051
8751
Microcontroladores de Dallas Semiconductor
DS5000T
DS80C400
Microcontroladores PIC de Microchip
PIC16F84
Microcontroladores AVR de ATMEL
ATINY461
ATMega8
ATMega16
TECNICAS EN LAS QUE BASAN LOS
MICROCONTROLADORES PIC

Los microcontroladores PIC combinan tres técnicas en su


construcción:
Arquitectura Harvard
Son RISC
Utilizan segmentación (pipeline)

Con ellas se consigue alto rendimiento y elevada velocidad de


operación.
MICROCONTROLADORES PIC DE 8 BITS

Sencillez de manejo
Información accesible
Precio
Diseño rápido
Elevada velocidad de funcionamiento.
Juego reducido de instrucciones
35 en promedio.
Bajo consumo y varios voltajes de alimentación.
Herramientas gratuitas
www.microchip.com
Gran variedad de modelos.
Escalabilidad en los dispositivos de Microchip
ARQUITECTURA DE LOS
MICROCONTROLADORES PIC
Microcontroladores
Equipo:
David Jair Hernández Ramos
Pablo Daniel Santiago Acosta
Erick Anlehu Cruz
Eduardo Báez Vázquez
ARQUITECTURA VON NEUMANN
Dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma
indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos
y control).
ARQUITECTURA HARVARD
Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que
contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es
posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas
memorias, ésta es la estructura para los PIC's.
ARQUITECTURA CORE
La arquitectura PIC se caracteriza por sus múltiples atributos:
• Código independiente y espacios de datos.
• Un pequeño número de instrucciones de longitud fija
• La mayoría de las instrucciones son la ejecución de un solo ciclo, con un ciclo de retraso en las ramas y
contenedores
• Un acumulador, el uso de los cuales está implicado
• Todas las posiciones de la RAM funcionan como registros como el origen y/o destino de las matemáticas
y otras funciones.
• Una pila de hardware para el almacenamiento de direcciones de retorno
• Una pequeña cantidad de espacio de datos direccionable, se extendió a través de la banca
• El espacio de datos mapeada CPU, el puerto y registros periféricos
• Indicadores de estado de UTA se asignan al espacio de datos
• El contador de programa también se asigna al espacio de datos y la escritura.
VENTAJAS
Las arquitecturas PIC tienen las siguientes ventajas:

• Pequeño conjunto de instrucciones para aprender


• Dispositivos de bajo costo
• Amplia gama de familias
• Disponibilidad de estos, fáciles de manejar
LIMITACIONES
Las arquitecturas PIC tienen las siguientes limitaciones:

• Un acumulador
• Se requiere conmutación Register-banco para acceder a toda la memoria RAM de muchos
dispositivos
• Las operaciones y los registros no son ortogonales, algunas instrucciones pueden abordar
RAM y/o constantes inmediatos, mientras que otros sólo pueden utilizar el acumulador
• Las siguientes limitaciones pila se han abordado en la serie PIC18, pero todavía se aplican a
los núcleos anteriores:
• La pila de llamadas hardware no es direccionable, cambiar de tarea tan preventiva no puede
aplicarse
• Pilas implementado por software no son eficientes, por lo que es difícil generar código
reentrante y apoyar las variables locales
ARQUITECTURA INTERNA

Hemos señalado que el microcontrolador posee varios elementos en


forma interna: el procesador, memoria de programa, memoria de
datos, periféricos, contadores. Observemos el siguiente diagrama de
bloques del PIC16F87X:
JUEGO DE INSTRUCCIONES

El PIC usa un juego de instrucciones tipo RISC, cuyo número puede


variar desde 35 para PICs de gama baja a 70 para los de gama alta. Las
instrucciones se clasifican entre las que realizan operaciones entre el
acumulador y una constante, entre el acumulador y una posición de
memoria, instrucciones de condicionamiento y de salto/retorno,
implementación de interrupciones y una para pasar a modo de bajo
consumo llamada sleep.
ARQUITECTURA 16F87xx
Los PIC16F87X de Microchip pertenecen al tipo de procesador RICS que es un
procesador de instrucciones reducidas, se caracteriza por que el número de
instrucciones es pequeño y además casi todas se realiza en la misma cantidad de
tiempo.

RISC (del inglés Reduced Instruction Set Computer, en español Computador con
Conjunto de Instrucciones Reducidadas) es un tipo de diseño de CPU generalmente
usado en microcontroladores y microporcesadores.
PRINCIPALES CARACTERÍSTICAS

• Su reducido tamaño, al disponer todos sus componentes de 8


patitas.

• Se alimentan con un voltaje de corriente continua comprendido


entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a
5 V y 4 MHz.

• El formato de sus instrucciones puede ser de 12 o de 14 bits y su


repertorio es de 33 o 35 instrucciones, respectivamente.
PRINCIPALES CARACTERÍSTICAS
Los PIC actuales vienen con una amplia gama de mejoras hardware incorporadas:
• Núcleos de CPU de 8/16 bits con Arquitectura Harvard modificada
• Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes
• Puertos de E/S (típicamente 0 a 5,5 voltios)
• Temporizadores de 8/16/32 bits
• Tecnología Nanowatt para modos de control de energía
• Periféricos serie síncronos y asíncronos: USART, AUSART, EUSART
• Conversores analógico/digital de 8-10-12 bits
• Comparadores de tensión
• Módulos de captura y comparación PWM
• Controladores LCD
• Memoria EEPROM interna con duración de hasta un millón de ciclos de
lectura/escritura
• Soporte de interfaz USB
• Soporte de controlador Ethernet
PRINCIPALES CARACTERÍSTICAS

Diagrama de conexiones de los PIC12Cxxx de la gama baja


PROGRAMACIÓN
Lenguaje BASIC
Lenguaje C
Lenguaje Emsamblador
FABRICANTES

• Microchip Inc:
Es una empresa fabricante de microcontroladores, memorias y
semiconductores analógicos, situada en Chandler, Arizona,
EE.UU
• FreeScale Semiconductor:
Es una compañía global líder en la industria de
semiconductores enfocada en proveer procesamiento
embebido y productos de conectividad.
• Atmel Corporation:
Compañía de semiconductores, fundada en 1984. Su línea de
productos incluye microprocesadores.
VARIACIONES
• PICs modernos

• Clones del PIC

• PICs wireless

• PICs para procesado de señal (dsPICs)

• PICs de 32 bits (PIC32)


Osciladores para microprocesadores o
microcontroladores
Todo microprocesador o microcontrolador requiere de un circuito que le indique a que
velocidad debe trabajar. Este circuito es conocido como un oscilador de frecuencia. En el
caso del microcontrolador PIC16F84 el pin 15 y el pin 16 son utilizados para introducir la
frecuencia de reloj.
Existen microcontroladores que tienen su oscilador internamente y no requieren de
pequeños circuitos electrónicos externos. El microcontrolador PIC16F84 requiere de un
circuito externo de oscilación o generador de pulsos de reloj. La frecuencia de reloj
máxima es de 20 Mhz. Algunos osciladores son:
Osciladores para microprocesadores o
microcontroladores
Oscilador tipo “XT” (XTal) para frecuencias no mayores de 4 Mhz.:
En la imagen siguiente figura se puede observar la configuración del circuito.
Osciladores para microprocesadores o
microcontroladores

La condición básica importante para que este oscilador funcione es que los
condensadores C1 y C2 deberán ser iguales. En la tabla anterior se detallan algunos
valores de C1 y C2.
Nota: Frec.de Osc. = Frecuencia de oscilación
– Osciladores a Cristal Oscilador tipo LP (low power), HS (hight speed), TTL
– Oscilador tipo “LP” (Low Power) para frecuencias entre 32 y 200 Khz:
Este oscilador es igual que el anterior, con la diferencia de que el PIC trabaja de una
manera distinta. Este modo está destinado para trabajar con un cristal de menor
frecuencia, que, como consecuencia, hará que el PIC consuma menos corriente.
– Oscilador tipo “HS” (High Speed) para frecuencias comprendidas entre 4 y 20 MHz:
Habremos de usar esta configuración cuando usemos cristales mayores de 4 MHz. La
conexión es la misma que la de un cristal normal
Osciladores para microprocesadores o
microcontroladores
Oscilador TTL:
Este tipo de oscilador está basado en un Cristal que contiene toda la circuitería
para generar una onda cuadrada. Este ha de ser conectado como si de un
generador de señal externa se tratase. Al incluir toda la circuitería esto lo
convierte en la opción más costosa; pero representa la forma más práctica por la
cantidad de conexiones y por la precisión en la señal de reloj emitida. En la
imagen de la siguiente figura se muestra como debe conectarse al
microcontrolador y las características del cristal.
CICLOS DE INSTRUCCION
Un microcontrolador siempre funciona con una señal de reloj. Además de
las características principales como capacidad de memoria, E/S y otras, lo
más importante a la hora de conocer bien un microcontrolador, es tener muy
claro como se ejecutan sus instrucciones. Veamos qué sucede dentro de su
pequeña unidad de proceso.
CICLOS DE INSTRUCCION
Un período es el tiempo que transcurre entre dos flancos de subida de la
señal de reloj, en nuestro caso y según el dibujo, está marcado por las
flechas. Fíjate que la señal de reloj tiene una parte positiva y una parte
negativa repitiéndose luego sucesivamente.
De modo que el periodo (en adelante T) nos indica el tiempo que una
señal de reloj tarda en completar un ciclo alto + ciclo bajo.
CICLOS DE INSTRUCCION
Con estos sencillos cálculos comprobamos que para una frecuencia de reloj
de 3,5Mhz, el periodo T = 0,285714 microsegundos, es decir, el tiempo que le
cuesta a la señal de reloj generar un ciclo alto y un ciclo bajo.
Veamos ahora el ejemplo de un microcontrolador de marca Microchip, el
modelo 12F675 , un integrado de 8 patas que funciona a una frecuencia de
4Mhz. Hacemos la misma operación que antes, pero teniendo en cuenta que
su frecuencia es un poco mayor. Calculemos su periodo T:
CICLOS DE INSTRUCCION
Recordando la fórmula del periodo que ya hemos visto (inversa de la
frecuencia), comprobamos que se cumple con los dos ejemplos que cuando
aumentamos la frecuencia, el periodo disminuye:

Hasta aquí hemos visto la relación entre la frecuencia y el periodo de una señal
de reloj T. Cuanto más frecuencia, menos período, menos tiempo. Como un
microcontrolador lo único que hace es ejecutar instrucciones, si escogemos un
microcontrolador con una frecuencia mayor, utilizará menos tiempo en ejecutar
las mismas instrucciones. En el ejemplo anterior he añadido una figura nueva
(cronograma remarcado en verde) para explicar cómo se ejecuta una
instrucción dentro del microcontrolador. Hemos calculado el tiempo que tarda
la señal de reloj en hacer un ciclo completo, pero que sucede en este ciclo (T)
¿podrá ejecutarse una instrucción en un ciclo de reloj? o por el contrario,
¿necesitará varios ciclos de reloj para ejecutar una instrucción?
CICLOS DE MAQUINA (CM)
Un microcontrolador es un ordenador en miniatura, con su unidad de proceso,
memoria, dispositivos y un juego de instrucciones propio de cada micro como
puede ser: MOV, MOVX, ADD, RR, RL, NOP (en este caso para Atmel). Cada
instrucción tiene una función definida y se ejecuta en un tiempo determinado.
Hay instrucciones que necesitan más tiempo para ejecutarse y otras sencillas
(NOP o RR) que se ejecutan en muy poco tiempo. Para determinar este tiempo
se utiliza el término ciclo de máquina que se define como “el tiempo mínimo
necesario para ejecutar una instrucción” y está formado por un número
determinado de ciclos o periodos de reloj.

Si nos enseñan este dibujo, vemos que se ha definido cuatro estados: Q1 Q2 Q3 y Q4 y luego se
va repitiendo, esto quiere decir que para este microcontrolador, un ciclo de máquina está formado
por cuatro periodos de reloj y que el tiempo mínimo necesario para ejecutar una instrucción será
para este microcontrolador en concreto de cuatro ciclos de reloj:
Es decir, CM (para este micro) = 4 * CLK = 4 * T
CICLOS DE MAQUINA (CM)
El ciclo de máquina cambia en cada microcontrolador. Por ejemplo para los
micros de Atmel, un ciclo de máquina comprende 12 ciclos de reloj, sin embargo,
en un microcontrolador como el 12F675 de Microchip, su ciclo de máquina
comprende 4 ciclos de reloj. Por lo tanto para calcular tiempos de ejecución
tenemos que saber la velocidad del reloj y tener a mano un cronograma que nos
indique cuántos ciclos de reloj comprende un ciclo de máquina.

Ejemplo:
Microcontrolador Para 5Mhz
Recordando:
Cuando calculamos el periodo y el ciclo de máquina, hablamos de tiempos.
- Frecuencia (F) se mide en Hz
- Periodo (T) se mide se segundos
Solución. Primero calculamos el periodo y el ciclo de máquina:
5Mhz es la frecuencia de reloj, calculemos su periodo, es decir, la inversa
(1/5Mhz)
-6
CICLOS DE MAQUINA (CM)

T = 0,2 microsegundos, es el tiempo que tarda la señal en describir un ciclo de reloj


(ciclo bajo + ciclo alto) a la frecuencia de 5Mhz. Se puede ver este tiempo delimitado por
las líneas verticales azules. En este micro, cada ciclo de máquina comprende 6 estados:
S1..S6, con dos ciclos de reloj cada uno, si sumamos los ciclos totales, tenemos 12
ciclos de reloj.
Entonces: 0,2 microsegundos * 12 ciclos de reloj = 2,4 microsegundos
CICLOS DE MAQUINA (CM)

T = 0,2 microsegundos, es el tiempo que tarda la señal en describir un ciclo de reloj


(ciclo bajo + ciclo alto) a la frecuencia de 5Mhz. Se puede ver este tiempo delimitado por
las líneas verticales azules. En este micro, cada ciclo de máquina comprende 6 estados:
S1..S6, con dos ciclos de reloj cada uno, si sumamos los ciclos totales, tenemos 12
ciclos de reloj.
Entonces: 0,2 microsegundos * 12 ciclos de reloj = 2,4 microsegundos
El PIC16X8X
MEMORIA DE PROGRAMA:512 o 1K de palabras de 14 bits
MEMORIA DE DATOS RAM:36 o 68 bytes

MEMORIA DE DATOS EEPROM:64 bytes


PILA (Stack):de 8 niveles


INTERRUPCIONES:4 fuentes

 ENCAPSULADO:Plástico DIP de 18 terminales


 FRECUENCIA DE TRABAJO:Hasta 10 MHz
 TEMPORIZADORES:1 de 8 bits + WDT (Perro Guardián)
El PIC16X8X
El PIC16X8X
Lineasde E/S digitales:13 (5 Puerto A y
8 Puerto B)
Corriente máxima absorbida:80 mA,
Puerto A y 150 mAPuerto B
Corriente máxima suministrada:50
mAPuerto A y 100 mAPuerto B
Voltaje de alimentación (VDD):De 2 a
6 Voltios de CD
Voltaje de grabación (Vpp):De 12 a 14

voltios de CD
El PIC16X8X
Lineasde E/S digitales:13 (5 Puerto A y
8 Puerto B)
Corriente máxima absorbida:80 mA,
Puerto A y 150 mAPuerto B
Corriente máxima suministrada:50
mAPuerto A y 100 mAPuerto B
Voltaje de alimentación (VDD):De 2 a
6 Voltios de CD
Voltaje de grabación (Vpp):De 12 a 14

voltios de CD

Você também pode gostar