View
5
Download
0
Embed Size (px)
Citation preview
http://losmicrocontroladores.blogspot.com/
MICROCONTROLADORES
HISTORIA
Las circunstancias con las que nos encontramos hoy en el campo de los
microcontroladores tienen sus raíces en el desarrollo de la tecnología de los
circuitos integrados. Este desarrollo ha hecho posible contener cientos de miles de
transistores en un solo chip. Ése era uno de los requisitos previos para la
producción de los microprocesadores, y las primeras computadoras eran hechas
agregando periféricos externos como la memoria, timers etc. lo que aumentaba el
volumen de los circuitos integrados. Estos circuitos integrados contenían
procesador y periféricos. Así es cómo se desarrolló el primer chip que contenía una
microcomputadora, o lo que después se llegaría a conocer como un
microcontrolador.
Este es el abuelo de los microprocesadores
En el año 1969, un equipo de ingenieros japoneses de la compañía BUSICOM llegó a
Estados Unidos con una idea.. La proposición se hizo a INTEL, y Marcian Hoff era el
responsable del proyecto. Ya que él era quien tenia experiencia trabajando con una
computadora (PC) PDP8, se le ocurrió pensar en una solución fundamentalmente
diferente en lugar de la construcción sugerida. Esta solución presumía que la
función del circuito integrado se determinaría por un programa almacenado en él.
Eso significaba que la configuración sería más simple, pero que requeriría mucho
más memoria de lo que requería el proyecto que propusieron los ingenieros
japoneses.
Después de un tiempo, aunque los ingenieros japoneses probaron soluciones más
fáciles, la idea de Marcian ganó, y el primer microprocesador nació. Para
transformar esta idea en un producto ya fabricado, Federico Faggin, se unió a
INTEL, y en sólo 9 meses tuvo éxito. INTEL obtuvo los derechos para vender este
"bloque integrado" en 1971. Primero, compraron la licencia de la compañía
BUSICOM, que no tenía idea del tesoro que poseían. Durante ese año, apareció en
el mercado un microprocesador que se llamó 4004, este fue el primer
microprocesador de 4 bits con velocidad de 6 000 operaciones por segundo. No
mucho tiempo después de eso, la compañía americana CTC pidió a INTEL y Texas
Instruments que hiciera un microprocesador de 8 bits. Aunque después a CTC no le
interesó mas la idea, Intel y Texas Instruments siguieron trabajando en el
microprocesador y el primero de abril de 1972, el microprocesador de 8 bits
aparece en el mercado con el nombre de 8008. Podía direccionar 16 Kb de
memoria, con un set de 45 instrucciones y una velocidad de 300 000 operaciones
por segundo. Este microprocesador es el predecesor de todos los
microprocesadores de hoy. Intel mantuvo sus desarrollos y saco al mercado el
procesador de 8 bits bajo el nombre 8080, el cual podía direccionar 64Kb de
memoria, con 75 instrucciones, a un precio de 360 dlls.
MICROCONTROLADOR (DEFINICION)
Un microcontrolador es un circuito integrado o chip que incluye en su interior las
tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es
decir, se trata de una computadora completa en un solo circuito integrado
programable y se destina a gobernar una sola tarea con el programa que reside en
su memoria. Sus líneas de entrada/salida soportan el conexionado de los sensores y
actuadores del dispositivo a controlar.
Esquema de un microcontrolador
Diferencia entre microprocesador y microcontrolador
El microprocesador es un circuito integrado que contiene la Unidad Central de
Proceso (UCP), también llamada procesador, de un computador. La UCP está
formada por la Unidad de Control, que interpreta las instrucciones, y el camino de
datos, que las ejecuta. Los pines de un icroprocesador sacan al exterior las líneas
de sus buses de direcciones, datos y control, para ermitir conectarle con la Memoria
y los Módulos de E/S y configurar un computador lementado por varios circuitos
integrados. Se dice que un microprocesador es un sistema abierto porque su
configuración es variable de acuerdo con la aplicación a la que se destine.
Son diseñados para disminuir el costo económico y el consumo de energía de un
sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los
periféricos incluidos dependerán de la aplicación.
Los microcontroladores representan la inmensa mayoría de los chips de
computadoras vendidos, sobre un 50% son controladores "simples" y el restante
corresponde a DSPs más especializados. Usted puede encontrarlos en casi cualquier
dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos,
etc.
Un microcontrolador difiere de una CPU normal, debido a que es más fácil
convertirla en una computadora en funcionamiento, con un mínimo de chips
externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado
a la fuente de energía y de información que necesite, y eso es todo. Un
microprocesador tradicional no le permitirá hacer esto, ya que espera que todas
estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de
entrada/salida (puertos) y la memoria para almacenamiento de información.
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso.
Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los
dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha
de prescindir de cualquier otra circuitería.
Estructura de un sistema abierto basado en un microprocesador. La disponibilidad
de los buses en el exterior permite que se configure a la medida de la aplicación. Si
sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy
potenciados todos sus recursos para poderse adaptar a las exigencias de las
diferentes aplicaciones. En la práctica cada fabricante de microcontroladores oferta
un elevado número de modelos diferentes, desde los más sencillos hasta los más
poderosos. Es posible seleccionar la capacidad de las memorias, el número de
líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de
funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la
selección del microcontrolador a utilizar.
El microcontrolador es un sistema cerrado. Todas las partes del computador están
contenidas en su interior y sólo salen al exterior las líneas que gobiernan los
periféricos.
En la práctica cada fabricante de microcontroladores oferta un elevado número de
modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible
seleccionar la capacidad de las memorias, el número de líneas de E/S, la cantidad y
potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo
ello, un aspecto muy destacado del diseño es la selección del microcontrolador a
utilizar.
APLICACIONES
Cada vez existen más productos que incorporan un microcontrolador con el fin de
aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su
fiabilidad y disminuir el consumo.
Algunos fabricantes de microcontroladores superan el millón de unidades de un
modelo determinado producidas en una semana. Este dato puede dar una idea de
la masiva utilización de estos componentes.
Los microcontroladores están siendo empleados en multitud de sistemas presentes
en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos,
televisores, computadoras, impresoras, módems, el sistema de arranque de nuestro
coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan
familiarizados como instrumentación electrónica, control de sistemas en una nave
espacial, etc. Una aplicación típica podría emplear varios microcontroladores para
controlar pequeñas partes del sistema. Estos pequeños controladores podrían
comunicarse entre ellos y con un procesador central, probablemente más potente,
para compartir la información y coordinar sus acciones, como, de hecho, ocurre ya
habitualmente en cualquier PC.
Los siguientes son algunos campos en los que los microcontroladores tienen gran
uso:
- En la industria del automóvil: Control de motor, alarmas, regulador del
servofreno, dosificador, etc.
- En la industria de los electrodomésticos: control de calefacciones,
lavadoras, cocinas eléctricas, etc.
- En informática: como controlador de periféricos. Por ejemplo para controlar
impresoras, plotters, cámaras, scanners terminales, unidades de disco,
teclados, comunicaciones (modems), etc.
- En la industria de imagen y sonido: tratamiento de la imagen y sonido,
control de los motores de arrastre del giradiscos, magnetófono, video, etc.
Instrumentos portátiles compactos:
-Radio paginador numérico (beeper)
- Planímetro electrónico
- Nivelímetro digital
- Identificador-probador de circuitos integrados
- Tacómetro digital
- Panel frontal de un osciloscopio
- Controlador de display LCD
- Analizador de espectros, etc
Dispositivos autónomos:
- Fotocopiadoras
- Máquinas de escribir
- Selector, Codificador decodificador de TV
- Localizador de peces
- Teléfonos de tarjeta
- Teléfonos celulares
-Cerraduras electrónicas
- Sistemas de seguridad
Se emplea también en medicina, en aplicaciones militares, edificios inteligentes,
etc. Principales fabricantes. Por lo general los fabricantes de microprocesadores lo
son de microcontroladores. Los fabricantes de microcontroladores son más de 50,
podemos mencionar a:
- Atmel
- Motorola
- Intel
- Microchip
- NEC
- Hitachi
- Mitsibishi
- Philips
- Matsushita
- Toshiba
- AT&T
- Zilog
- Siemens
- National Semiconductor
- etc.
El mercado de los microcontroladores.
Existe una gran diversidad de microcontroladores. Quizá la clasificación más
importante sea entre microcontroladores de 4, 8, 16 ó 32 bits. Aunque las
prestaciones de los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8
bits, la realidad es que los microcontroladores de 8 bits dominan el mercado y los
de 4 bits se resisten a desaparecer. La razón de esta tendencia es que los
microcontroladores de 4 y 8 bits son apropiados para la gran mayoría de las
aplicaciones, lo que hace absurdo emplear micros más potentes y
consecuentemente más caros.
Uno de los sectores que más tira del mercado del microcontrolador es el mercado
automovilístico. De hecho, algunas de las familias de microcontroladores actuales
se desarrollaron pensando en este sector, siendo modificadas posteriormente para
adaptarse a sistemas más genéricos. El mercado del automóvil es además uno de
los más exigentes: los componentes electrónicos deben operar bajo condiciones
extremas de vibraciones, choques, ruido, etc. Y seguir siendo fiables.
En cuanto a las técnicas de fabricación, cabe decir que prácticamente la totalidad
de los microcontroladores actuales se fabrican con tecnología CMOS 4
(Complementary Metal Oxide Semiconductor). Esta tecnología supera a las técnicas
anteriores por su bajo consumo y alta inmunidad al ruido.
La distribución de las ventas según su aplicación es la siguiente:
Una 30% se absorbe en las aplicaciones relacionadas con los computadores
y sus periféricos.
Otro 25% se utiliza en las aplicaciones de consumo (electrodomésticos,
juegos, TV, vídeo, etc.)
El 20% de las ventas mundiales se destinó al área de las comunicaciones.
Un 15% fue empleado en aplicaciones industriales.
El resto de los microcontroladores vendidos en el mundo, aproximadamente
un 10% fueron adquiridos por las industrias de automoción.
También los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las áreas de más interés el procesamiento de imágenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.
ARQUITECTURA DE UN MICROCONTROLADOR
Según la arquitectura interna de la memoria de un microcontrolador se puede
clasificar considerando como el CPU accede a los datos e instrucciones, en 2 tipos:
Arquitectura Von Neumann
Fue desarrollada por Jon Von Neumann, se caracteriza por tener una sola memoria
principal donde se almacenan datos e instrucciones de forma indistinta. La CPU se
conecta a través de un sistema de buses (direcciones, datos y control). Esta
arquitectura es limitada cuando se demanda rapidez.
Arquitectura Harvard
Fue desarrollado en Harvard, por Howard Aiken, esta arquitectura se caracteriza por
tener 2 memorias independientes una que contiene sólo instrucciones y otra, que
contiene sólo datos. Ambas, disponen de sus respectivos sistemas de buses para el
acceso y es posible realizar operaciones de acceso simultáneamente en ambas
memorias.
Existe una variante de esta arquitectura que permite el acceso a la tabla de datos
desde la memoria de programas es la Arquitectura de Harvard Modificada. Esta
última arquitectura es la dominante en los microcontroladores actuales ya que la
memoria de programas es usualmente ROM, OTP, EPROM o FLASH, mientras que la
memoria de datos es usualmente RAM. Por ejemplo las tablas de datos pueden
estar en la memoria de programa sin que sean perdidas cada vez que el sistema es
apagado.
Se puede observar claramente que las principales ventajas de esta arquitectura
son:
a) que el tamaño de las instrucciones no esta relacionado con el de los datos, y por
lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola
posición de memoria de programa, logrando así mayor velocidad y menor longitud
de programa.
b) que el tiempo de acceso a las instrucciones puede superponerse con el de los
datos, logrando una mayor velocidad de operación.
El procesador o UCP
Es el elemento más importante del microcontrolador y determina sus principales
características, tanto a nivel hardware como software.
Se encarga de direccionar la memoria de instrucciones, recibir la instrucción en
curso, su decodificación y la ejecución de la operación que implica dicha
instrucción, así como la búsqueda de los operandos y el almacenamiento del
resultado.
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 (Computadores de Juego de Instrucciones Complejo).
Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las
cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su
ejecución.
Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones
complejas que actúan como macros.
RISC: Tanto la industria de los computadores comerciales como la de los
microcontroladores están decantándose hacia la filosofía RISC (Computadores de
Juego de Instrucciones Reducido). En estos procesadores el repertorio de
instrucciones máquina es muy reducido y las instrucciones son simples y,
generalmente, se ejecutan en un ciclo.La sencillez y rapidez de las instrucciones
permiten optimizar el hardware y el software del procesador.
SISC (Computadores de Juego de Instrucciones Específico): En los
microcontroladores destinados a aplicaciones muy concretas, el juego de
instrucciones, además de ser reducido, es "específico", es decir, las instrucciones se
adaptan a las necesidades de la aplicación prevista.
TIPOS DE MEMORIA
- Memoria RAM (Random Access Memory) Memoria de Acceso Aleatorio) en esta
memoria se guarda los datos que se está utilizando en el momento presente. El
almacenamiento es considerado temporal por que los datos permanecen en ella
mientras la memoria tiene una fuente de alimentación. La memoria de programas o
de instrucciones contiene una serie de diferentes tipos de memoria:
- Memoria ROM con máscara y es de solo lectura, cuyo contenido se graba
durante la fabricación del chip. Es aconsejable cuando se precisan cantidades
superiores a varios miles de unidades.
- Memoria OTP (One Line Programmable) es no volatile y de solo lectura y
programmable una sola vez por el usuario. La grabación se realiza mediante un
sencillo grabador controlado por una PC.
- Memoria EPROM (Erasable Programmable Read Only Memory), pueden borrarse
y grabarse muchas veces. La grabación se realiza, como en el caso de la memoria
OTP. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de
cristal en su superficie por la que se somete a le EPROM a rayos ultravioleta por
algunos minutos.
- Memoria EEPROM (Electrical EPROM) es de sólo lectura, programable y borrable
eléctricamente. Tanto la programación como el borrado, se realizan eléctricamente
desde el propio grabador y bajo el control programado de un PC, y puede hacerse
con el microcontrolador instalado en el circuito. Es muy cómoda y rápida la
operación de grabado y la de borrado.
- Memoria Flash La memoria Flash es no volátil, de bajo consumo y puede
grabarse y borrarse eléctricamente. Funciona como una ROM y una RAM pero
consume menos energía y es más pequeña. La memoria Flash también puede
programarse “en circuito”, es decir, sin tener que sacar el circuito integrado de la
tarjeta. Además, es más rápida, tiene mayor densidad y tolera más ciclos de
escritura/borrado que la EEPROM
Puertas de Entrada y Salida
La principal utilidad de las líneas de E/S es comunicar al computador interno con los
periféricos exteriores. Según los controladores de periféricos que posea cada
modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte
a las señales de entrada, salida y control. Algunos modelos disponen de recursos
que permiten directamente esta tarea, entre los que destacan:
- UART, adaptador de comunicación serie asíncrona.
- USART, adaptador de comunicación serie síncrona y asíncrona
- Puerta paralela esclava, para poder conectarse con los buses de otros
microprocesadores.
- USB (Universal Serial Bus), bus moderno serie para los PC.
- Bus I2C, interfaz serie de dos hilos desarrollado por Philips.
- CAN (Controller Area Network), para permitir la adaptación con redes de
conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el
cableado de dispositivos en automóviles.
Reloj principal
Todos los microcontroladores disponen de un circuito oscilador que sincroniza de
todas las operaciones del sistema. Generalmente, el circuito de reloj está
incorporado en el microcontrolador y sólo se necesitan unos pocos componentes
exteriores para seleccionar y estabilizar la frecuencia de trabajo.
Recursos auxiliares
Cada fabricante oferta numerosas versiones de una arquitectura básica de
microcontrolador. 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 coste, el hardware y el software. Los principales recursos específicos
que incorporan los microcontroladores son:
- Temporizadores o "Timers". Se emplean para controlar periodos de tiempo
temporizadores) y para llevar la cuenta de acontecimientos que suceden en el
exterior (contadores).
- Perro guardián o "Watchdog". Temporizador que cuando se bloquea el sistema, provoca un reset automáticamente.
- Protección ante fallo de alimentación o "Brownout". Se trata de un circuito que
resetea al microcontrolador cuando el voltaje de alimentación (VDD) es inferior a un
voltaje mínimo ("brownout").
- Estado de reposo o de bajo consumo. Para ahorrar energía cuando el
microcontrolador no está funcionando, éstos disponen de una instrucción especial
(SLEEP en los PIC), que les pasa al estadode reposo o de bajo consumo, en el cual
los requerimientos de potencia son mínimos. Al activarse una interrupción
ocasionada por el acontecimiento esperado, el microcontrolador se despierta y
reanuda su trabajo.
- Conversor A/D (CAD). Los microcontroladores que incorporan un Conversor A/D
- (Analógico/Digital) pueden procesar señales analógicas.
- Conversor D/A (CDA). Transforma los datos digitales obtenidos del procesamiento
del computador en su correspondiente señal analógica.
- Comparador analógico. Algunos modelos de microcontroladores disponen
internamente de un Amplificador Operacional que actúa como comparador entre
una señal fija de referencia y otra variable. La salida del comparador proporciona un
nivel lógico 1 ó 0 según una señal sea mayor o menor que la otra.
- Modulador de anchura de impulsos o PWM. Son circuitos que proporcionan en su
salida impulsos de anchura variable.
¿Qué microcontrolador elegir?
Sin duda la elección del microcontrolador dependerá de la tarea o proyecto que se
tiene en mente pues los fabricantes como se mencionó anteriormente son más de
50, estos tienen muchos modelos enfocados a tareas específicas. Esta selección
deberá ir de la mano con factores económicos óptimos así como de la idea del
controlador incrustado (embedded controller), el cual es un controlador dedicado a
una sola tarea e incorporado al sistema que gobierna. Antes de seleccionar un
microcontrolador es imprescindible analizar los requisitos de la aplicación:
• Procesamiento de datos: Cuando se desea realizar cálculos complejos en un
tiempo limitado, se debe seleccionar un microcontrolador suficientemente rápido
para ello. Por otro lado, habrá que tener en cuenta la precisión de los datos a
manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser necesario
acudir a microcontroladores de 16 ó 32 bits, o incluso a hardware de coma flotante.
Una alternativa más barata y quizá suficiente es usar librerías para manejar los
datos de alta precisión.
• Entrada/Salida: Se debe identificar la cantidad y tipo de señales a controlar. Una
vez realizado este análisis puede ser necesario añadir periféricos externos o
cambiar a otro microcontrolador más adecuado a ese sistema.
• Consumo: algunos productos que incorporan microcontroladores están
alimentados con baterías, puede ser que el microcontrolador esté trabajando en
estado de bajo consumo pero debe “despertar” ante la activación de una señal (por
ejemplo una interrupción) y ejecutar el programa adecuadamente.
• Memoria: para detectar las necesidades de memoria de una aplicación debemos
saber la cantidad y el tipo de memoria necesaria para esto se debe tener una
versión preliminar (pseudo-código) de la aplicación y escoger el microcontrolador
apropiado.
• Ancho de palabra: el criterio de diseño debe ser seleccionar el microcontrolador
de menor ancho de palabra que satisfaga los requerimientos de la aplicación. Usar
un microcontrolador de 4 bits supondrá reducir los costos, mientras que uno de 8
bits puede ser el más adecuado si el ancho de los datos es de un byte. Los
microcontroladores de 16 y 32 bits, debido a su elevado costo, deben reservarse
para aplicaciones que requieran altas prestaciones (Entrada/Salida grande o
espacio de direccionamiento muy elevado).
• Diseño de la placa: la selección de un microcontrolador concreto condicionará
el diseño de la placa de circuitos impresos.
Encapsulado DIP o DIL, Este es el encapsulado más empleado en montaje por
taladro pasante en placa. Este puede ser cerámico (marrón) o de plástico (negro).
Un dato importante en todos los componentes es la distancia entre patillas que
poseen, en los circuitos integrados es de vital importancia este dato, así en este
tipo el estándar se establece en 0,1 pulgadas (2,54mm). Se suelen fabricar a partir
de 4, 6, 8, 14, 16, 22, 24, 28, 32, 40, 48, 64 patillas, estos son los que más se
utilizan
Otra norma que también suele cumplirse se refiere a la identificación de la
numeración de las patillas o pines: la patilla número uno se encuentra en un
extremo señalada por un punto o una muesca en el encapsulado y se continua en
sentido antihorario (sentido contrario a las agujas del reloj), mirando al integrado
desde arriba. Por regla general, en todos los encapsulados aparece la denominación
del integrado, así como, los códigos particulares de cada fabricante.
Encapsulado FLAT-PACK, se diseñan para ser soldados en máquinas automáticas
o semiautomáticas, ya que por la disposición de sus patillas se pueden soldar por
puntos. El material con el que se fabrican es cerámico. La numeración de sus
patillas es exactamente igual al anterior. La distancia entre patillas es de 1,27mm,
la mitad que en los DIP.
Encapsulado SOIC, Circuito integrado de pequeño contorno. Son los más
populares en los circuitos de lógica combinacional, tanto en TTL como en CMOS. Se
sueldan directamente sobre las pistas de la placa de circuito impreso, en un área
denominada footprint. La distancia entre patillas es de 1,27mm (0,05"). La
numeración de los pines es exactamente igual a los casos anteriores.
Encapsulado LPCC, Se emplea en técnicas de montaje superficial pero,
generalmente, montados en zócalos, esto es debido a que por la forma en J que
tienen sus terminales la soldadura es difícil de verificar con garantías. Esto permite
su uso en técnicas de montaje convencional. Se fabrican en material plástico. En
este caso la numeración de sus patillas varía respecto de los anteriores. El punto de
inicio se encuentra en uno de los lados del encapsulado, que coincide con el lado de
la cápsula que acaba en esquina, y siguiendo en sentido antihorario. La distancia
entre terminales es de 1,27mm.
Encapsulado LCCC, Al igual que el anterior se monta en zócalo y puede utilizarse
tanto en montaje superficial como en montaje de taladro pasante. Se fabrica en
material cerámico.
Los encapsulados que aparecen en este tema son los más importantes y los más
utilizados. Como es lógico esta es una pequeña selección de la infinidad de tipos de
cápsulas que existen.
Tablas comparativas.
Llegados a este punto y con toda la información que poseemos hasta aquí, cabe
preguntarse cual de todos estos microcontroladores es el “mejor” si es que es
posible definir alguno de ellos como tal. Existen diversos fabricantes y multitud de
modelos que dificultan esta tarea, aun así, podemos establecer ciertos criterios de
comparación que nos la facilitan. El modelo jerárquico de que se ha establecido en
este documento es el siguiente:
ALGUNOS MICROCONTROLADORES
Principales Marcas: Según volumen de ventas y diversidad de modelos podemos
establecer como principales a los siguientes fabricantes:
- Microchip Technology Corp.
- STMicroelectronics
- Atmel Corp.
- Motorola Semiconductors Corp.
Como se puede apreciar en las siguientes gráficas basadas en datos referentes a
ventas, crecimientos de empresa anuales, cuotas de mercado y capitalización
bursátil referentes al mercado de los circuitos integrados, compañías como
Microchip, Motorola y Atmel son susceptibles de mención y estudio debido a su
especialización en el área de los microcontroladores.
ALTAIR
ALTAIR es el nombre genérico de una familia de
microcontroladores de propósito general compatibles con la familia 51. Todos ellos
son programables directamente desde un equipo PC mediante nuestro lenguaje
macroensamblador, o bien mediante otros lenguajes disponibles para la familia 51
(BASIC, C, ETC).
Los microcontroladores ALTAIR disponen de un microprocesador de 8 bits 100%
compatible a nivel de código, 256 bytes de memoria interna, 128 registros
especiales de función, puertos de entrada/salida de propósito general, 111
instrucciones y posibilidad de direccionar 128 Kbytes. Unos microcontroladores
ALTAIR se diferencian de otros por el número de entradas salidas, periféricos. Por lo
que la elección de un modelo u otro dependerá de las necesidades. Como
entrenador o sistema de iniciación recomendamos la utilización de un ALTAIR 32
BASICO o bien un ALTAIR 535A completo. En proyectos avanzados o desarrollos
profesionales puede ser preferible un ALTAIR 537 A.
INTEL (La familia 8051)
El 8051 es el primer microcontrolador de la familia introducida por Intel Corporation.
La familia 8051 de microcontroladores son controladores de 8 bits capaces de
direccionar hasta 64 kbytes de memoria de programa y una separada memoria de
datos de 64 kbytes. El 8031 tiene 128 bytes de RAM interna. El 8031 tiene dos
temporizadores/contadores, un puerto serie, cuatro puertos de entrada/salida
paralelas de propósito general (P0, P1, P2 y P3) y una lógica de control de
interrupción con cinco fuentes de interrupciones. Al lado de la RAM interna, el 8031
tiene varios Registros de Funciones especiales que son para control y registros de
datos. Los SFRs también incluyen el registro acumulador, el registro B, y el registro
de estado de programa, que contienen los Flags del CPU.
Bloques separados de memoria de código y de datos se denomina como la
Arquitectura Harvard. El 8051 tiene dos señales de lectura separadas, los pines RD
y PSEN. El primero es activado cuando un byte va ser leído desde memoria de datos
externo; el otro, cuando un byte va ser leído desde memoria de programa externo.
Ambas de estas señales son señales activas en nivel bajo.
La ROM interna del 8051 y el 8052 no pueden ser programados por el usuario. El
usuario debe suministrar el programa al fabricante, y el fabricante programa los
microcontroladores durante la producción. Debido a costos, la opción de la ROM
programado por el fabricante no es económica para producción de pequeñas
cantidades. El 8751 y el 8752 son las versiones EPROM del 8051 y el 8052. Estos
pueden ser programados por los usuarios.
Durante la decada pasada muchos fabricantes introducieron miembros mejorados
del microcontrolador 8051. Las mejoras incluyen más memoria, más puertos,
convertidores análogo-digital; más temporizadores, más fuentes de interrupción,
watchdog timers, y subsistemas de comunicación en red. Todos los
microcontroladores de la familia usan el mismo conjunto de instrucciones, el MCS-
51. Las caracteristicas mejoradas son programadas y controladas por SFRs
adicionales.
SIEMENS
El Siemens SAB80C515 es un
miembro mejorado de la familia 8051 de microcontroladores. El 80C515 es de
tecnología CMOS que tipicamente reduce los requerimientos de energía comparado
a los dispositivos no-CMOS. Las características que tiene frente al 8051 son más
puertos, un versátil convertidor análogo a digital, un optimizado Timer 2, un
watchdog timer, y modos de ahorro de energía sofisticados. El 80C515 es
completamente compatible con el 8051. Esto es, usa el mismo conjunto de
instrucciones del lenguaje assembly MCS-51. Las nuevas facilidades del chip son
controladas y monitoreadas atraves de SFRs adicionales. El 80C515 tiene todas las
SFRs del 8051, y de este modo puede correr cualquier programa escrito para el
8051 con la excepción del uso del registro prioridad de interrupción IP. Por tanto si
un programa 8051 usa prioridades de interrupción, debe ser modificado antes de
que se ejecute sobre el 80C515. El agobio de modificar código 8051 existente es
fácilmente justificado por la disponibilidad de más fuentes de interrupción y
prioridades del 80C515.
MOTOROLA
El 68hc11 de la familia Motorola, es un potente microcontrolador de 8 bits en su bus
de datos, 16 bits en su bus de direcciones, con un conjunto de instrucciones que es
similar a los más antiguos miembros de la familia 68xx. Dependiendo del modelo, el
68hc11 tiene internamente los siguientes dispositivos: EEPROM o OTPROM, RAM,
digital I/O, timers, A/D converter, generador PWM, y canales de comunicación
sincrónica y asincrónica (RS232 y SPI). La corriente típica que maneja es menor que
10ma.
El CPU tiene 2 acumuladores de 8 bits (A y B) que pueden ser concatenado para
suministrar un acumulador doble de 16 bits(D). Dos registros índices de 16 bits son
presentes (X, Y) para suministrar indexsamiento para cualquier lugar dentro del
mapa de memoria. El tener dos registros índices significa que el 68hc11 es muy
bueno para el procesamiento de datos. Aunque es un microcontrolador de 8 bits, el
68hc11 tiene algunas instrucciones de 16 bits (add, subtract, 16 * 16 divide, 8 * 8
multiply, shift, y rotates). Un puntero de pila de 16 bits está también presente, y las
instrucciones son suministradas para manipulación de la pila. Típicamente el bus de
datos y direcciones están multiplexados. El temporizador comprende de un único
contador de 16 bits y hay un preescalador programable para bajarlo si es requerido.
Viene con un convertidor A-D que es típicamente de 8 canales y 8 bits de
resolución, aunque el G5 tiene un A/D de 10 bits. Viene con una Interface de
comunicaciones serie (SCI) - comunicaciones serie asíncrona; formato de datos 1 bit
start, 8 o 9 bits de datos, y un bit de parada. Velocidad en baudios desde 150 hasta
312500 (312500 es usando un reloj E de 4mhz). Tiene una Interface periférico serie
(SPI) - comunicaciones serie sincrónica.
MICROCHIP
Losmicrocontroladores PIC de Microchip Technolohy Inc. combinan una alta calidad,
bajo coste y excelente rendimiento. Un gran número de estos microcontroladores
son usados en una gran cantidad de aplicaciones tan comunes como periféricos del
ordenador, datos de entrada automoción de datos, sistemas de seguridad y
aplicaciones en el sector de telecomunicaciones. Tanto la familia del PIC16XX como
la del PIC17XX están apoyadas por un rango de usuario de sistemas de desarrollo
amistosos incluso programadores, emuladores y tablas del demostratrion. Así
mismo ambas familias están apoyadas por una gran selección de software
incluyendo ensambladores, linkadores, simuladores, etc...
EL MICROCONTROLADOR PIC
Los 'PIC' son una familia de microcontroladores tipo RISC fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división
de microelectrónica de General Instruments.El nombre actual no es un acrónimo. En
realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como
Peripheral Interface Controller (Controlador de Interfaz Periférico).
El PIC original se diseñó para ser usado con la nueva UCP de 16 bits CP16000.
Siendo en general una buena UCP, ésta tenía malas prestaciones de E/S, y el PIC de
8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso
de E/S a la UCP. El PIC utilizaba microcódigo simple almacenado en ROM para
realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata
de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.
En 1985, dicha división de microelectrónica de General Instruments se convirtió en
una filial y el nuevo propietario canceló casi todos los desarrollos, que para esas
fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM
para conseguir un controlador de canal programable. Hoy en día multitud de PICs
vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs,
núcleos de control de motores, etc.) y con memoria de programa desde 512 a
32.000 palabras (una palabra corresponde a una instrucción en ensamblador, y
puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PICmicro).
Características
Los PICs actuales vienen con una amplia gama de mejoras hardware incorporadas:
Núcleos de UCP 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 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
Periférico MSSP para comunicaciones I²C, SPI, y I²S
Memoria EEPROM interna con duración de hasta un millón de ciclos de
lectura/escritura
Periféricos de control de motores
Soporte de interfaz USB
Soporte de controlador Ethernet
Soporte de controlador CAN
Soporte de controlador LIN
Soporte de controlador Irda
Variaciones del PIC
PICs modernos
Los viejos PICs con memoria PROM o EPROM se están renovando gradualmente por
chips con memoria Flash. Así mismo, el juego de instrucciones original de 12 bits
del PIC1650 y sus descendientes directos ha sido suplantado por juegos de
instrucciones de 14 y 16 bits. Microchip todavía vende versiones PROM y EPROM de
la mayoría de los PICs para soporte de aplicaciones antiguas o grandes pedidos.
Se pueden considerar tres grandes gamas de MCUs PIC en la actualidad: Los
básicos (Linebase), los de medio rango (Mid Range) y los de alto desempeño (high
performance). Los PIC18 son considerandos de alto desempeño y tienen entre sus
miembros a PICs con módulos de comunicación y protocolos avanzados (USB,
Ethernet, Zigbee por ejemplo).
Clones del PIC
Por todos lados surgen compañías que ofrecen versiones del PIC más baratas o
mejoradas. La mayoría suelen desaparecer rápidamente. Una de ellas que va
perdurando es Ubicom (antiguamente Scenix) que vende clones del PIC que
funcionan mucho más rápido que el original. OpenCores tiene un núcleo del
PIC16F84 escrito en Verilog.
PICs wireless
El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip
con la capacidad de comunicación wireless UHF para aplicaciones RF de baja
potencia. Estos dispositivos ofrecen un diseño muy comprimido para ajustarse a los
cada vez más demanadados requerimientos de miniaturización en aparatos
electrónicos. Aún así, no parecen tener mucha salida en el mercado.
PICs para procesado de señal (dsPICs)
Los dsPICs son el penúltimo lanzamiento de Microchip, comenzando a producirlos a
gran escala a finales de 2004. Son los primeros PICs con bus de datos inherente de
16 bits. Incorporan todas las posibilidades de los anteriores PICs y añaden varias
operaciones de DSP implementadas en hardware, como multiplicación con suma de
acumulador (multiply-accumulate, o MAC), barrel shifting, bit reversion o
multiplicación 16x16 bits.
PICs de 32 bits (PIC32)
Microchip Technology lanzo en noviembre de 2007 los nuevos microcontroladores
de 32 bits con una velocidad de procesamiento de 1.5 DMIPS/MHz con capacidad
HOST USB. Estos MCUs permiten un procesamiento de información increíble con un
núcleo de procesador de tipo M4K.
GRABADOR O PROGRAMADOR
El Grabador o Programador es el equipo físico donde se procede a grabar en la
memoria del Microcontrolador con las instrucciones del programa de control. Tiene
un zócalo libre sobre el que se inserta el circuito integrado a grabar, el cual debe
orientarse adecuadamente siendo la señal de la capsula del chip. Hay una multitud
de grabadores comerciales en el mercado que se pueda adquirir en cualquier tienda
electrónica.
Existen varios software, los cuales son necesarios para realizar la misma
programación de los PIC. Estos son algunos ejemplos:
MPLAB. Es un editor IDE gratuito, destinado a productos de la marca
Microchip. Este editor es modular, permite seleccionar los distintos
microprocesadores soportados, además de permitir la grabación de estos
circuitos integrados directamente al programador
EduMic. El programa EduMic se encarga de descargar sobre el
microcontrolador PIC de la tarjeta el fichero HEX generado por la
herramienta de compilación que se utilice. El software soporta la mayoría de
microcontroladores PIC® de la familia 16 que soporten ICSP.
Tipos de grabadores
En el mercado existen diferentes grabadores para los microcontroladores PIC. Los
esquemas de muchos de ellos están disponibles para que los usuarios los puedan
construir. Nos encontramos con tres tipos:
1. Grabadores por el puerto paralelo. Como por ejemplo el EPIC. En Estos
programadores, el software de grabación tiene que acceder al puerto paralelo, a
bajo nivel, para implementar el protocolo de grabación. No hay una forma estándar
de hacerlo y depende del sistema operativo utilizado. El software no es portable.
Además, existe el riesgo de que funcione correctamente en unas computadoras,
pero no en otros que vayan a otra velocidad.
2. Grabadores por el puerto serie. Por ejemplo el JDM]. Están más extendidos,
son más pequeños y toman la alimentación del propio PC. Aunque se conectan por
el puerto serie, la comunicación NO sigue el estándar RS-232, sino que se utilizan
las señales auxiliares CTS y DTR para la transmisión de los datos y el reloj. El
inconveniente es que es muy dependiente del ordenador, tanto del software como
del propio equipo (En los portátiles normalmente no funciona).
3. Grabador autónomo. Como por ejemplo el ICD de Microchip. El protocolo de
grabación se implementa en un microcontrolador, dentro del grabador y NO en el
PC. El software del PC envía los datos a grabador y éste gestiona el protocolo con el
PIC. El grabador construido es de tipo autónomo. El protocolo de grabación se
implementa en un microcontrolador, que se comunica con el PC a través de
comunicaciones serie RS-232 estándares, a 9600 baudios.
Protocolo de grabación
Los microcontroladores PIC se graban mediante el protocolo ICSP (in circuit serial
programing), que permite el acceso a la memoria de programa, la eeprom de datos
y la palabra de configuración. Para realizar esta gración, el PIC debe entrar en modo
monitor.
Es un protocolo serie síncrono, con un hilo para los datos y otro para la señal de
reloj. La frecuencia máxima de transmisión de los bits es de 5MHz. Mediante el
envío de comandos, se puede leer el contenido de la memoria de programa,
almacenar nuevos valores, acceder a la palabra de configuración, lectura de la
eeprom, escritura en ella, etc.
Diagrama de bloques
El diagrama de bloques del grabador diseñado se muestra en la figura 1. Está
constituido por las siguientes partes:
Computadora, donde se ejecuta el software de grabación.
Máster de grabación. Dispositivo que se conecta al PC por el RS-232 a
9600 baudios. Contiene el microcontrolador en el que se implementa el
protocolo ICSP.
Circuito básico de grabación. Placa con el PIC que queremos grabar.
Puede ser desde una simple placa con un zócalo y unos pocos componentes,
hasta la tarjeta entrenadora donde queremos probar nuestras aplicaciones.
Obsérvese que son necesarias dos alimentaciones, una 5v y otra de 12v.
Para entrar en modo monitor hay que aplicar una tensión de 12v en la pata
MCLR.
Máster de grabación
El Máster de grabación hace accesibles los comandos del protocolo ICSP al software
del PC, a través de un interfaz RS-232. Se puede implementar usando diferentes
microcontroladores. En la versión actual se implementó en un 6811, de Motorola,
usando la tarjeta CT6811. También se ha construido otro Máster con un
PIC16F876A. Esto permite que los alumnos se construyan una tarjeta entrenadora
para el PIC, que además les sirva como grabador.
A continuacion les pongo estos link, para la programación de microcontroadores
contiene dos libros con aplicaciones practicas software para la programacion su
respectivo tutorial y ... mas