viernes, 5 de diciembre de 2008


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




Programar MICROCONTROLADORES





Curso Virtual de microcontroladores PIC Part.1





Curso Virtual de microcontroladores PIC Part.2





Curso Virtual de microcontroladores PIC Part.3