Micro 1 - Unidad 1

Anuncio
Hoja 1 de 13
Microprocesadores I - Unidad 1
Año 2003
Javier Rambaldo
Profesor de la cátedra de Microprocesadores I
Unidad 1:
Controlador y microcontrolador versus microprocesador. Arquitectura cerrada y abierta.
Prestaciones, fiabilidad, flexibilidad, aplicaciones. Recursos comunes. Recursos especiales.
Lenguajes de programación. Herramientas de desarrollo.
Versión 1.4
Javier Rambaldo
Hoja 2 de 13
Microprocesadores I - Unidad 1
Controlador y Microcontrolador
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos.
Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide
constantemente su temperatura interna, cuando sobrepasa los límites prefijados, genera las señales
adecuadas para intentar llevar a la temperatura al rango estipulado.
Aunque el concepto de controlador ha permanecido invariable a traves del tiempo, su implementación física
ha variado notablemente. Hace tres décadas, los controladores se construían con componentes de lógica
discreta; posteriormente se empleron los microprocesadores, que se rodeaban con chips de memoria y E/S
sobre una terjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido
incluir en un solo chip, el cual recibe el nombre de microcontrolador.
Realmente consiste en una sencilla pero completa computadora contenida en el corazón de un circuito
integrado.
El microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de
los elementos que configuran un controlador. Se dice que es “la solución en un chip” porque su reducido
tamaño minimiza el número de componentes y el costo.
Un microcontrolador dispone de los siguientes componentes:
¤
¤
¤
¤
¤
¤
Procesador o CPU
Memoria RAM para contener los datos
Memoria de solo lectura para contener el programa
Líneas de entrada y salida para comunicarse con el esterior
Diversos módulos para el control de periféricos (Temporizadores, puertos serie y paralelo, conversores
analógicos a digitales, etc.)
Generador de impulsos de relos que sincronizan el funcionamiento de todo el sistema
Reloj
CPU
Entrada /
Salida
µC
Mem. de Datos
RAM
EEPROM
Conversores AD y DA
Temporizadores
Comunicaciones
Etc.
Mem. de
Programa
EPROM
ROM
EEPROM
Componentes que configuran un microcontrolador.
Ejemplo:
¿Qué diferencia existe entre un microcontrolador y un microprocesador?
Solución:
El microprocesador es un circuito integrado que contiene a la CPU de un sistema de microcómputo general.
El microcontrolador es un circuito integrado que contiene una sencilla pero completa computadora (CPU, memoria,
E/S) destinado a gobernar una tarea concreta.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 3 de 13
Existen muchos modelos de microcontroladores los cuales se diferencian por su cantidad de
entradas/salidas, si tienen o no conversores analógicos/digitales, puertos de comunicación, temporizadores,
etc. También la memoria de datos y de programa en otra de las diferencias. Todas estas características
hacen que uno pueda seleccionar el más adecuado al proyecto.
Prestaciones:
Su reducido tamaño y bajo costo permiten que se pueda incorporar en sistemas que antes no tenían
controladores. Por ejemplo en automotores.
Fiabilidad:
Al tener menos componentes, se disminuye el riesgo de fallas y precisa menos calibraciones.
Flexibilidad:
Como el control se hace mediante un programa, su modificación solo precisa cambios de programación.
Aplicaciones:
“La única limitación que tienen las aplicaciones de los microcontroladores actuales está en la imaginación del
diseñador...”
Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar
sustancialmente sus prestaciones, reducir tamaño y costo, mejorar su fiabilidad y disminuir el consumo.
Los campos más destacados en los que se emplean microcontroladores son los siguientes:
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
Periféricos y dispositivos auxiliares de las computadoras.
Electrodomésticos.
Aparatos portátiles y de bolsillo.
Máquinas expendedoras y juguetería.
Instrumentación.
Industria automotriz.
Control industrial y robótica.
Sistemas de navegación espacial.
Seguridad y alarma.
Termoregulación (Calderas de calefacción, aire acondicionado, hornos, etc.)
Controlador incrustado:
Una sencilla definición de controlador incrustado (“embedded controller”) es una computadora dedicada a
una sola tarea y, generalmente, incorporado en el mismo producto al que gobierna. Es el caso del teléfono
móvil, el ratón de la computadora o el mismo teclado.
Ejemplo:
¿Cuál es la principal ventaja de una computadora basada en microcontrolador y la que lo está en un microprocesador?
Solución:
La computadora basada en un microcontrolador está formada por un solo circuito integrado, reduciendo notablemente
el tamaño y el costo. Una computadora basada en un microprocasador se compone de varios circuitos integrados para
soportar las memorias y los módulos de E/S. Tiene mayor tamaño y costo, y menor fiabilidad.
Recursos comunes a todos los microcontroladores
Al estar todos los dispositivos integrados en un solo chip, su estructura fundamental y sus características
básicas son muy parecidas. Todos deben disponer de los bloques escenciales: Procesador, memoria de
datos, memoria de instrucciones, entrada y salida, reloj y módulos controladores de periféricos. Sin
embargo, cada fabricante intenta enfatizar los recursos más idóneos para las aplicaciones para las que se
destinan preferentemente.
Arquitectura cerrada y abierta
Para resolver aplicaciones sencillas se precisan pocos recursos; en cambio, las aplicaciones grandes
requieren numerosos y potentes recursos. Siguiendo esta filosofía, los fabricantes de microcontroladores
construyen diversos modelos orientados a cubrir, de forma óptima, las necesidades de cada proyecto. Esta
es la razón por la que existen dos tendencias para resolver las demandas de los usuarios:
Arquitectura cerrada
Cada modelo se construye con un determinado procesador (CPU), cierta capacidad de memoria de datos,
cierto tipo y capacidad de memoria de instrucciones, un número de E/S y un conjunto de recursos auxiliares
Versión 1.4
Javier Rambaldo
Hoja 4 de 13
Microprocesadores I - Unidad 1
muy concreto. El modelo no admite variaciones ni ampliaciones. La aplicación a la que se destina debe
encontrar en su estructura todo los que precisa y, en caso contrario, hay que desecharlo.
Arquitectura abierta
Estos microcontroladores se caracterizan porque, además de disponer de una estructura interna
determinada, pueden emplear sus líneas de E/S para sacar al exterior los buses de datos, direcciones y
control, con lo que se posibilita la ampliación de la memoria y las E/S con circuitos integrados
externos.
Ejemplo:
Para resolver una aplicación que precisa 1K palabras de código, 74 bytes de datos, 10 líneas de E/S digitales y un
conversor A/D se usa un microcontrolador con 2K palabras de código, 128 bytes para datos y 12 líneas de E/S digitales.
¿Cómo debería ser la arquitectura del microcontrolador, abierta o cerrada?
Solución:
Abierta porque, al no disponer del conversor A/D, habrá que acoplarlo en el exterior.
Arquitectura Básica
Inicialmente se había adoptado la arquitectura Von Newman, caracterizada por disponer 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.)
MEMORIA
PRINCIPAL
CPU
BUS DE CONTROL
DATOS
+
INSTRUCCIONES
DATOS E INSTRUCCIONES
DIRECCIONES
En el presente se impone la arquitectura Harvard, que es la que utilizan los microcontroladores PIC. Esta,
dispone de dos memorias independientes: una que contiene solo instrucciones y otra, solo 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.
MEMORIA DE
INSTRUCCIONES
INSTRUCCIONES
MEMORIA DE
DATOS
CPU
DIRECCION DE
DIRECCION DE
INSTRUCCIONES
DATOS
DATOS
INSTRUCCIONES
DATOS
El Procesador o CPU:
Es el elemento más importante del microcontrolador y determina sus principales características, tanto a
nivel de hardware como de software.
Se encarga de direccionar, recibir el código de la instrucción en curso, su decodificación y la ejecución de la
operación, que implica la búsqueda de operandos y almacenamiento del resultado.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 5 de 13
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales:
CISC:
Un gran número de procesadores usados en los microcontroladores están basados en la filosofía CISC
(Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones, algunas de las cuales son
muy sofisticadas y potentes, requeriendo muchos ciclos para su ejecución.
Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúan
como macro-instrucciones.
RISC:
Tanto la industria de las computadoras comerciales como la de los microcontroladores están decantándose
hacia la filosofía RISC (Juego de Instrucciones Reducido). En estos procesadores el juego de
instrucciones es muy reducido y las instrucciones son simples, generalmente se ejecutan en un ciclo.
La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
SISC:
En los microprocesadores destinados a aplicaciones muy concretas, el juego de instrucciones, además de
ser reducido, es “específico”, o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista.
Esta filosofía se ha bautizado con el nombre de SISC (Juego de Instrucciones Específico).
Memoria:
Según su uso específico dentro del sistema, a las memorias las podemos llamar RAM para aquellas que
manejan datos y variables, y ROM a las que almacenan el programa. Como los microcontroladores se
utilizan para sistemas pequeños, la cantidad de datos y variables en mucho menor que la cantidad de
instrucciones de programa. En los microcontroladores PIC, las memorias de datos RAM poseen de 20 a 512
bytes, mientras que las memorias de programa ROM (o EEPROM) poseen 512 bytes a 8K bytes.
Hay dos particularidades que diferencian a los microcontroladores de las PC:
1.
2.
En los microcontroladores no existen sistemas de almacenamiento masivo (cintas, discos rígidos,
disquetes, etc.)
Como el microcontrolador solo se destina a una tarea en la memoria ROM, solo hay que almacenar un
único programa de trabajo.
Según el tipo de memoria de programa que dispongan los microcontroladores, la aplicación y utilización de
los mismos son diferentes. Existen 5 tipos de memorias no volátiles:
1.
ROM con máscara
Es una memoria no volátil de solo lectura cuyo contenido se graba durante la fabricación del chip. El
elevado costo del diseño de la máscara solo hace aconsejable el empleo de los microcontroladores con
este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.
2.
OTP (One Time Programming)
El microcontrolador contiene una memoria no volátil de solo lectura “programable solo una vez” por el
usuario. Es al usuario quien puede escribir el programa en el chip mediante un sencillo grabador
controlado por un programa desde una PC.
La versión OTP es recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la
construcción de prototipos y series muy pequeñas. Tienen menor costo que la tecnología FLASH con la
misma geometría.
3.
EPROM (Erasable Programmable Read Only Memory)
Los microcontroladores que disponen de memorias EPROM (también llamada UV-PROM) pueden
borrarse y grabarse muchas veces. La grabación se realiza como en el caso de las OTP, con un
grabador gobernado desde una PC. Si, posteriormente, se desea borrar el contenido, disponen de una
ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios
minutos. Las cápsulas son de material cerámico y son más caras que las OTP.
4.
EEPROM (Electrical Erasable Programmable Read Only Memory)
Borrables eléctricamente. Pueden ser borradas y re-programadas sin retirarse del circuito. Es la
solución más flexible a la hora de realizar un prototipo. El costo es relativamente más alto que las OTP
en la misma geometría. La tensión de programación ronda los 13,5V.
5.
FLASH
Similar a las EEPROM pero de mayor densidad (más capacidad) y más veloces. Recientemente han
aparecido microcontroladores con memorias FLASH con tensiones de trabajo de 2.0v a 5.5v y tensión
de programación de 5v. El consumo también es mucho más bajo que las anteriores.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 6 de 13
Ejemplo:
En la primera fase de un diseño con microcontrolador se deben construir un par de prototipos hasta poner a punto el
código. Después se requiere lanzar una serie experimental con 50 productos acabados a distribuidores mundiales.
Finalmente, superadas todas las pruebas, se prevé sacar al mercado 22.000 unidades ¿Qué tipo de memoria para
programa será aconsejable que tenga el microcontrolador en cada una de las fases del proyecto?
Solución:
1° fase: Memoria EPROM o EEPROM.
2° fase: Memoria OTP.
3° fase: Memoria ROM con máscara.
Puertas de Entrada / Salida:
La mayoría de las patitas que posee un microcontrolador son de E/S y se destinan a proporcionar el soporte
a las señales de entrada, salida y de control.
(En el apéndice A de este apunte hay una descripción de las puertas de E/S del PIC16F84.)
Reloj Principal:
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta
frecuencia que se utiliza para sincronizar todas las operaciones del sistema.
Generalmente, el reloj está incorporado en el microcontrolador y solo se necesitan unos pocos componentes
externos: cristal de cuarzo, resonador cerámico o una red R-C.
Aumentar la frecuencia del reloj implica disminuir el tiempo de ejecución de las instrucciones pero lleva
aparejado un incremento de la temperatura.
Ejemplo:
Un microcontrolador dispone de un ciclo de instrucción (tiempo que dura una instrucción) de cuatro ciclos de reloj
principal. ¿Cuánto tiempo tardará en ejecutar un programa de 1000 instrucciones si el oscilador principal tiene una
frecuencia de 10 Mhz?
Solución:
f = 10Mhz
Treloj = 1x109 / 10x106 = 100ns
Tinstruccion = 4 x 100 = 400ns
Tprograma = 1000 x 400 = 400 ? s
Recursos Especiales
Cada fabricante oferta numerosas versiones de una arquitectura básica de ? C.
En algunas amplía las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las
prestaciones al mínimo para aplicaciones muy simples, etc. La labor del diseñador es encontrar el modelo
mínimo que satisfaga todos los requerimientos de su aplicación. De esta forma, minimizará el costo, el
hardware y el software.
Los principales recursos que incorporan los microcontroladores son:
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
Timers o temporizadores
Watchdog o perro guardián
Brownout o protección ante fallo de alimentación
Sleep o estado de reposo o bajo consumo
Conversor analógico a digital
Conversor digital a analógico
Comparador analógico
PWM o Modulador de anchura de pulso
Puertas de E/S digitales
Puertos de comunicación serial
Protección de código
Timers:
Controlan períodos de tiempo (temporizadores).
Llevan la cuenta de acontecimientos que suceden en el exterior (contadores).
Versión 1.4
Javier Rambaldo
Hoja 7 de 13
Microprocesadores I - Unidad 1
Watchdog:
Los programas frecuentemente pueden fallar, tanto por problemas de diseño o por ruidos externos al
sistema. Por lo general, el procesador queda en un lazo infinito dejando de atender al resto del programa.
La única alternativa que nos queda en estos casos es resetear el sistema.
El perro guardián o watchdog se encarga de resetar al sistema automáticamente, en el momento que el
sistema quede “colgado”.
Brownout:
Es un circuito de protección que resetea al microcontrolador cuando la tensión de alimentación es inferior a
un mínimo.
Si el microcontrolador no posee este recurso, se puede construir uno externo.
El siguiente circuito cumple esta función:
Vdd
Vdd
33K
10K
PIC
Este circuito activa el reset
cuando Vdd se va por
debajo de Vz + 0,7V.
MCLR
40K
Brownout
Sleep o Bajo consumo:
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar sin hacer nada, a
que se produzca algún acontecimiento externo que lo ponga de nuevo en funcionamiento. Para ahorrar
energía, los microcontroladores disponen de una instrucción especial que los pasa a este modo de reposo.
En dicho estado se detiene el reloj principal y se congelan los circuitos asociados. Sale de este estado al
interrumpirse por el acontecimiento esperado.
En los PIC se ingresa a este modo ejecutando la instrucción SLEEP.
Si está habilitado, el watchdog se resetea pero continúa activo y el oscilador del reloj se detiene. Los
puertos de E/S mantienen su estado.
Para despertar al microcontrolador y sacarlo de este estado deberá ocurrir uno de estos eventos:
12-
Un RESET externo en el pin MCLR.
Un RESET interno producido por el watchdog.
Ambos eventos causan un reset del dispositivo microcontrolador.
Ejemplo:
Un reloj que dispone de opciones de: Desconexión (OFF), Puesta en marcha (ON), Activación de alarma, Desactivación
de alarma y Puesta en hora, se gobierna con un microcontrolador. ¿Cuándo convendrá que el microcontrolador entre en
el modo de reposo?
Solución:
Cuando se desconecta el reloj (OFF) y no debe funcionar.
Conversor A/D y D/A:
Los microcontroladores que poseen conversores, pueden manejar estas señales analógicas. Suelen disponer
de un multiplexor para manejar varias entradas analógicas.
Comparador analógico:
Algunos microcontroladores poseen un amplificador operacional que actúa como comparador entre una
señal fija de referencia y otra variable. La salida del comparador proporciona un 0 o un 1 según la señal sea
mayor o menor que la de referencia.
PWM:
Son circuitos que proporcionan en su salida impulsos de ancho variable, que se ofrecen al exterior a través
de las patitas del encapsulado.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 8 de 13
Puertas digitales de E/S:
Todos los microcontroladores disponen de algunas patitas de E/S digitales. Por lo general se agrupan de a 8
formando puertas.
Pueden configurarse como entrada o salida cada patita independientemente de las otras.
Puertos de comunicación:
Con el objeto de dotar al microcontroladores de la posibilidad de comunicarse con otros dispositivos
externos, otros buses de microprocesadores, buses de sistemas, redes, etc., algunos modelos disponen de
estos recursos entre los que se destacan:
¤
UART: Adaptador de Comunicación Serie Asincrónica.
¤
USART: Adaptador de Comunicación Serie Sincrónica y Asincrónica.
¤
USB (Universal Serial Bus): Moderno bus serie para los PC.
¤
Bus I2C: Interfaz serie a dos hilos (Philips).
¤
CAN (Controller Area Network): Interfaz utilizada por automóviles.
Protección de código:
El código o programa ingresado en los microcontroladores puede ser protegido contra lectura por razones de
seguridad.
También posee 4 bytes destinados a identificación, donde el usuario puede colocar una palabra única de
identificación. Esta palabra se puede leer durante el proceso de verificación de la grabación.
Lenguajes de programación
Se han desarrollado todo tipo de lenguajes de programación para los microcontroladores, pero los más
usados son el ensamblador, Basic y el C.
Como toda máquina digital, el microcontrolador es capaz de entender exclusivamente el lenguaje binario
grabado en la memoria. El lenguaje ensamblador es una forma más humana de escribir programas.
Los programas escritos en ensamblador son compactos y rápidos puesto que realizan un completo control
de la máquina. Sin embargo, si no están bien confeccionados resultarán de gran tamaño y lentos.
Los intérpretes son programas residentes en el microcontrolador que permiten la ejecución línea a línea. Loa
más populares son el Basic y el Forth. El primero más fácil y simple pero lento su interpretado y el segundo
de difícil escritura pero muy apropiado para control industrial y robótica.
Los compiladores son programas que se encargan de traducir el programa de trabajo escrito en cualquier
lenguaje a código de máquina, para luego grabarlo en la memoria del microcontrolador.
Los más populares son el C y el Basic.
Proyectos con microcontroladores
Realmente se fabrica un integrado propio, hecho a medida, donde se verán reflejadas todas nuestras ideas
y conceptos.
En este proceso se deben seguir los siguientes pasos:
12-
Planear el comportamiento del circuito, pensando en los elementos que es necesario controlar.
Diseñar el circuito. Tener en cuenta características eléctricas (capacidades, corrientes por puerto,
velocidades, etc.)
3- Hacer el prototipo en protoboard o circuito impreso universal.
4- Elaborar un diagrama de flujo del programa.
5- Escribir el programa (tener siempre presente el circuito eléctrico).
6- Compilar el programa.
7- Usar un simulador para verificar su buen funcionamiento.
8- Pasar el programa al microcontrolador.
9- Montar el microcontrolador y probar todo el proyecto.
10- Si fuera necesario, repetir los últimos pasos, hasta obtener el funcionamiento buscado.
11- Superando todas las etapas anteriores, armar el impreso final y, si desea hacer varios en serie, usar
microcontroladores tipo OTP (One Time Programing).
Herramientas de desarrollo
Además del lenguaje de programación y su compilador o intérprete, se precisan otras herramientas para
depurar y poner a punto los diseños basados en ? C.
Grabadores o programadores
Editado el programa y convertido a código de máquina, hay que grabarlo en la memoria de instrucciones del
microcontrolador. Cuando hay que grabar enormes cantidades de chips es preferible encargarle la operación
al fabricante y utilizar sistemas con memoria ROM con máscara. Cuando es el usuario quien desea grabar
los programas ha de adquirir microcontroladores con memoria no volátil tipo OTP, EPROM o EEPROM.
Simuladores
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 9 de 13
Son programas soportados generalmente desde una PC, capaces de simular la ejecución de programas
confeccionados para un modelo de microcontrolador. Visualizan en el monitor de la PC el estado actual de
todos los recursos y admiten la ejecución paso a paso, los puntos de parada, la modificación de los
contenidos de los registros, sin necesidad de montar el físico.
Los simuladores no soportan interrupciones externas en modo real y funcionan mas lentamente que los
microcontroladores físicos.
Emuladores en circuito
Se trata de un instrumento que se coloca entre una PC y el zócalo de la terjeta de circuito impreso donde se
alojará el microcontrolador definitivo. El programa es ejecutado desde la PC, pero para la tarjeta de
aplicación es como si lo hiciera el propio microcontrolador que luego irá en el zócalo. Presenta en pantalla
toda la información al igual que los simuladores por software.
Mercado mundial en los PICs
Análisis comparativo de prestaciones
La arquitectura Harvard y la técnica de la segmentación son los principales recursos en los que se apoya el
elevado rendimiento que caracteriza estos dispositivos programables, mejorando dos características
esenciales:
1. Velocidad de ejecución.
2. Eficiencia en la compactación del código.
Se proporciona una comparación de los modelos PIC16C5X A 20 MHz, frente a los de otros importantes
fabricantes. En este análisis hay que considerar que las pruebas las ha realizado Microchip seleccionando los
programas evaluativos y los modelos de microcontroladores de los restantes competidores, que son:
SGS-Thomson ST62 a 8 MHz
Motorola MC68HC05 a 4,2 MHz
lntel 8048/8049 a 11 MHz
Zilog Z86Cxx a 12 MHz
National COP800 a 20 MHz
Para ser imparciales hay que indicar que estos y otros fabricantes disponen de
versiones de
microcontroladores, como la familia MCS-51 y MCS-96 de lntel y la M68HCll de Motorola, que luchan por
conseguir una parte del mercado mundial y que no se han incluido en este análisis. Además, existen
parámetros muy importantes, como la inmunidad al ruido, que no se han considerado.
El estudio se ha realizado tomando como base un conjunto de programas de prueba ("benchmark") y
midiendo el tiempo promedio que tardan en ser ejecutados por los diversos microcontroladores comparados,
Versión 1.4
Javier Rambaldo
Hoja 10 de 13
Microprocesadores I - Unidad 1
así como el espacio de código que ocupan en la memoria de instrucciones. Los programas seleccionadas
para la prueba son muy sencillos pero muy representativos de las acciones típicas que llevan a cabo las
aplicaciones que utilizan microcontroladores, son los siguientes:
¤
Empaquetamiento de dos dígitos BCD.
¤
Control de un bucle que decrementa un contador hasta cero.
¤
Transmisión síncrona por desplazamiento en serie de 8 bits,
¤
Temporizador software de 10 ms.
¤
Exploración de un bit y salto si vale 1.
Programa
MCU
PARAM
EMPAQUETADO BUCLE
BCD
CONTROL
A)
B)
A)
B)
PRUEBA
TRANSMISIÓN
TEMPORIZACI
VALORES
BIT Y SALTO
SINCRONA
ÓN SINCRONA
FINALES
A)
A)
A)
TAMA-
DE
B)
B)
B)
ÑO RELATIVO
ETRO
VEL.
REL.
COP800
20MHZ
4
5
2
6
2
4
16
105
8
-
1.29
0,108
ST62
10
10
45,2
10,05
2
3
9,75
2,86
3
3
8,12
2,38
19
20
390
126
10
11
-
2.10
2,24
1,045
0,136
4
2,33
3
1,83
3
2,38
21
68
9
-
1,51
0,212
4
5,45
2
2,73
5
6,82
14
124
9
-
1,58
0,112
2
0,4
2
0,5
2
0,5
11
14,8
8
-
1
1
8MHZ
MC68HC05
4,2MHZ
Z86CXX
12MHZ
8048/8049
11MHZ
PIC16C5X
Resultados obtenidos con los diversos microcontroladores.
A) indica el tamaño del código en palabra y B) el tiempo de ejecución en ? s
En lo que se refiere al número de palabras en la memoria de instrucciones que emplea cada
microcontrolador en contener cada programa de prueba, hay que precisar que la longitud de las palabras
que contienen código en los PICI6C5X es de 12 bits por tener una memoria de instrucciones independiente.
En los demás modelos la anchura de las posiciones de memoria es de 8 bits.
La diferencia más notable de los PIC en cuanto al tamaño de código se consigue con el MC8HCC05, que
necesita 2,24 veces más espacio. En cuanto a la velocidad de ejecución, el más desfavorecido es el ST62,
que resulta unas 20 veces más lento que los PIC, aunque aquél posee una inmunidad a los ruidos mucho
más elevada que le favorece en algunas aplicaciones.
Algunos Fabricantes de Microcontroladores:
INTEL
MOTOROLA
HITACHI
PHILIPS
S6S THOMSON
MICROCHIP
NATIONAL
ZILOG
TEXAS
TOSHIBA
8048, 8051, 80C196, 80186,80188, 80386EX
6805, 68HC11, 68HCXX, 68705XX, 683XX
HD64180
CLONES DEL 8051
ST-62XX
PICs
COP400, COP800
Z8, Z86XX
TMS370
68HC11
Se considera a Intel como el padre de los microcontroladores. Este fabricante siempre ha ido delante de los
demás presentando sus nuevos productos. El primer microcontrolador de 8 bits se considera al 8048 y lo
fabricó Intel en la década de los 70. La siguiente generación, más evolucionada, fue la 8051 a la que ha
seguido la de 16 bits: 80C196, 80188, 80186 y 80386EX que es la versión basada en 80386, la cual permite
trabajar con herramientas clásicas desarrolladas para el entorno del PC.
Otra de las principales empresas del mundo de los dispositivos programables es Motorola, que dispone del
potente microcontrolador 68HC11 de 8 bits para datos y 16 para direcciones. Este se caracteriza por poder
trabajar como arquitectura abierta o cerrada. Trabajando como arquitectura abierta, hereda todas las
posibilidades de direccionamiento que posee su ancestro: el 6809.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 11 de 13
Los microcontroladores PIC de la empresa Microchip han sido conocidos durante los últimos 20 años. Su
popularidad avanza día a día siendo incluídos en la mayoría de los proyectos debido a su bajo costo,
reducido consumo, fácil programación y abundancia de herramientas de soporte.
También Zilog ha irrumpido con fuerza en el mercado de los microcontroladores, y ha lanzado algunos
modelos con memoria OTP de la familia Z86xx, muy completos y fáciles de manejar.
Otras empresas como ST-Micro, NEC, Mitsubishi, Philips, Siemens, SGS-Thomson, Hitachi, Texas, Toshiba,
National Semiconductor, etc abarcan pequeñas partes del mercado.
Todos los microcontroladores que se fabrican en el presente son buenos y el mejor no siempre es el mismo. Cambian el
modelo y el fabricante según la aplicación y las circunstancias que lo envuelven. Un buen diseñador profesional debe
conocer todo el abanico de la oferta para elegir en cada situación el microcontrolador que le conviene.
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 12 de 13
Apéndice A
Referencia: 16F84 Data Sheet (5.0 – Pag. 21)
Entradas y Salidas en el 16F84
Este PIC tiene 2 puertos, PORTA y PORTB. Algunas patas de los puertos están multiplexadas con
funciones alternas para otras características sobre el dispositivo.
Registros PORTA y TRISA
El PORTA es de 5 bits, RA4 tiene una entrada schmitt trigger y una salida “open drain”(colector
abierto). Todos los demás pines del puerto RA tienen entradas TTL y drivers de salida CMOS.
Todos los pines tienen bits de dirección de datos (data direction), los registros TRIS, los cuales
pueden configurarse cada pin como entrada o salida.
Un 1 en algún bit del registro TRISA, pone al pin del bit correspondiente en alta impedancia. Un
0 en algún bit del registro TRISA, pone el contenido del latch de salida en el pin seleccionado.
Al leer el registro PORTA se tendrá el estado del pin. Si ese pin está como salida, el valor será el
que tendrá el latch en ese momento.
El pin RA4 está multiplexado con la entrada de clock TMR0.
Ejemplo: Inicializando el PORTA
CLRF PORTA
BSF
STATUS,RP0
MOVLW0x0f
MOVWFTRISA
;
;
;
;
;
selección del banco 1
valor usado para inicializar el DDR
<RA3:0> como entrada y RA4 como salida
(TRISA <7:5> siempre se leen como ceros.)
Registros PORTB y TRISB
El PORTB es de 8 bits y es bidireccional. El registro de dirección de datos que le corresponde es
el TRISB.
Un 1 en algún registro TRISB, pone al pin correspondiente en alta impedancia. Un 0 en algún bit
del registro TRISB, pone al contenido del latch de salida en el pin seleccionado.
Este puerto tiene todos los pines en pull-up interno controlados por un simple bit (borrando el
bit 7 del registro OPTION). El pull-up se desconecta automáticamente cuando el pin del puerto
se configura como salida.
Cuatro de los bits del PORTB (RB7:RB4) tienen la característica de interrumpir al cambiar de
estado. Solo los pines configurados como entrada tienen esta característica. Los valores de los
pines son comparados con los valores anteriores, para generar así una interrupción si ocurre un
cambio.
Esta interrupción puede despertar al procesador de un estado de bajo consumo (SLEEP). El
usuario, en la rutina de servicio de interrupción, puede borrar la interrupción de la siguiente
forma:
a) Leyendo o escribiendo el PORTB.
b) Borrando el bit RBIF.
Dicha condición continuará seteando el bit RBIF.
Esta característica de interrupción, junto con la posibilidad de configuración del puerto como
pull-up, permite una interfase sencilla para leer un teclado, haciendo posible que se despierte el
procesador al presionar una tecla (ver AN552).
Versión 1.4
Javier Rambaldo
Microprocesadores I - Unidad 1
Hoja 13 de 13
Ejercicios y Problemas:
1- Nombre las diferencias entre controlador y microcontrolador.
2- ¿Qué característica de la arquitectura Harvard confiere el procesador que la incorpora más
velocidad en la ejecución de instrucciones que al que incorpora la arquitectura Von
Neuman?
3- ¿Cuál es el primer microcontrolador que se considera se comercializó en el mundo y quién
fue su fabricante?
4- Los microcontrolador PIC de Microchip,?a qué arquitectura responden: CISC, RISC o SISC?
5- La mayor parte de los microcontroladores de 8 bits que se venden en el mundo ¿A qué
aplicación se destinan?
6- ¿Qué misión tiene el Watchdog o Perro Guardián en un microcontrolador?
7- ¿Qué utilidad tiene el SLEEP o estado de bajo consumo?
8- Indicar las ventajas de la memoria EEPROM.
9- ¿Qué utilidad tiene la inclusión en los microcontroladores de una memoria de programa
OTP?
10- En un microcontrolador: la memoria de datos (RMA) es mucho más grande que la memoria
de programa (ROM). ¿O es al revés?
11- Que entiende por arquitectura abierta y por arquitectura cerrada.
12- ¿Cuáles son los recursos comunes a todos los microcontroladores?
13- ¿Qué entiende por recursos especiales? Nombre alguno de ellos.
Versión 1.4
Javier Rambaldo
Descargar