Dentro del mundo de la electrónica digital existen básicamente dos maneras de diseñar o construir un circuito: mediante componentes discretos y circuitos integrados, o bien utilizando microcontroladores. Estos incluyen dentro de una misma capsula (a veces de tan solo 8 pines) un microprocesador, una memoria RAM, una ROM (generalmente de tipo FLASH), puertos de entrada y salida, etc. y pueden ser fácilmente programados para llevar a cabo las mas diversas tareas.Quizás una de las mayores ventajas sea la posibilidad de realizar modificaciones en el comportamiento de nuestro proyecto simplemente actualizando el software que ejecuta el microcontrolador. En un diseño tradicional, una tarea tan sencilla como modificar un tiempo de respuesta o agregar alguna pequeña función no contemplada en el diseño original obliga a construir un nuevo circuito impreso, agregar o quitar integrados, etc. Si el proyecto esta construido en torno a un microcontrolador, en pocos minutos se puede tener el nuevo proyecto funcionando. Explicado mediante términos sencillos, podemos definir a un microcontrolador como un circuito integrado (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. Aunque por supuesto sus prestaciones son limitadas si las comparamos con las de cualquier ordenador personal, además de dicha integración, su característica principal es su alto nivel de especialización. Si bien los hay del tamaño de un sello de correos, lo normal es que sean incluso más pequeños, ya que, lógicamente, forman parte del dispositivo que controlan. Los microcontroladores representan la inmensa mayoría de los chips microprocesadores vendidos, sobre un 50% son controladores “simples” y otro son DSP (Digital Signal Processor, Procesador Digital de Señal), circuitos más especializados. Mientras podemos tener uno o dos microprocesadores de propósito general en casa (dentro del ordenador, claro!), probablemente tenemos distribuido entre los electrodomésticos de nuestra casa entre una y dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo eléctrico como automóviles, lavarropas, hornos microondas, teléfonos, equipos de audio, etc.. Un microcontrolador difiere de un microprocesador de los que estamos acostumbrados a ver (por ejemplo un Athlon o un Pentium), no solo fisicamente si no en que es más fácil convertirlo 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 (por medio de sus puertos de entrada/salida integrados) que necesite, y eso es todo. Un microprocesador convencional no le permitirá hacer esto, ya que normalmente requiere que todas estas tareas sean manejadas por otros chips. Típicamente, un microcontrolador puede disponer de un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN, entre otros. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores a veces incluyen un lenguaje de programación integrado, como el BASIC que se utiliza bastante con este propósito. En caso de que no dispongan de un interprete “on-board”, se pueden programar desde el ordenador, usando también alguna versión de Basic, C, Pascal, assembler u otros dentro de la larga lista de lenguajes disponibles, muchas veces en forma gratuita. 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. Incluso en una de las familias mas difundidas, solo se dispone de un set de 35 instrucciones básicas. Cuando no existían los microprocesadores, los ingenieros y aficionados a la electrónica creaban sus circuitos electrónicos mediante diseños que implicaban muchos componentes individuales y complejos cálculos matemáticos. Un circuito lógico básico a menudo requería de muchos elementos electrónicos basados en transistores, resistencias, circuitos integrados con compuertas lógicas (ver nota sobre compuertas digitales en NeoTeo), etc., lo cual implicaba circuitos con muchos ajustes y posibilidades de fallos. En el año 1971 apareció el primer microprocesador (desarrollado por Intel, el 4004) el cual originó un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. A partir de ese momento, fue posible construir un equipo electrónico con un microprocesador, unos pocos circuitos accesorios y un software. Los diseños electrónicos comenzaron a ser mucho más pequeños y simplificados, los diseñadores de equipos electrónicos podían realizar mayor cantidad de tareas en menos tiempo y el tamaño de los equipos se redujo considerablemente; sin embargo, después de cierto tiempo apareció una nueva tecnología, llamada microcontrolador que simplifico aun mas el diseño electrónico, al incluir en un mismo encapsulado el núcleo microprocesador, la memoria y las entradas/salidas. Esto tiene mucha lógica, si pensamos que un microcontrolador cuesta mucho menos que un circuito equivalente construido a partir de circuitos integrados “comunes” y que además muy sencillo agregar o modificar las prestaciones de un dispositivo construido con un microcontrolador simplemente modificando su programa, sin tener que reconfigurar la electrónica (el “hard” del aparato). Si uno se toma el trabajo de utilizar un buscador de paginas web, es posible encontrar aplicaciones de lo mas diversas que involucren microcontroladores, como por ejemplo alarmas de todo tipo, interfaces electrónicas, manejadores de pantallas LCD alfanuméricas y graficas, temporizadores, “computadoras” de a bordo de los mas variados vehículos, interfaces con PC, control de maquinas industriales, y un largísimo etcétera. 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 conquistando el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los mouses y teclados de las computadoras, impresoras, modems, en los teléfonos, juguetes, en los hornos de microondas y los televisores de nuestro hogar. Pero la invasión acaba de comenzar y el nacimiento del siglo XXI será testigo de la conquista masiva de estas diminutas computadoras, que gobernarán la mayor parte de los aparatos usamos. Lo mejor de todo esto es que cualquier estudiante o aficionado también puede emplear microcontroladores en sus proyectos, ya que existe abundante documentación disponible para que su uso sea posible sin complicaciones. Microchip es la empresa que fabrica los microcontroladores PIC. En los últimos tiempos esta familia de microcontroladores ha revolucionado el mundo de las aplicaciones electrónicas. Tienen una facilidad de uso y programación tales, que junto a las inmensas posibilidades de E/S que brindan han conquistado a programadores y desarrolladores. Su principal ventaja (y según sus detractores la principal desventaja) es su carácter general, la flexibilidad que les permite ser empleados en casi cualquier aplicación. Otras familias de microcontroladores son más eficaces en aplicaciones específicas. La familia PIC se divide en cuatro gamas, gamas que podemos llamar mini, baja, media y alta. Las principales diferencias entre estas gamas radica en el número de instrucciones y su longitud, el número de puertos y funciones, lo cual se refleja en el encapsulado, la complejidad interna y de programación, y en el número de aplicaciones, como veremos a continuación. Gama mini, con encapsulado de 8 pines, tiene como principal característica su reducido tamaño, al disponer todos sus componentes de solamente 8 pines. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. En la figura 1 se muestra el diagrama de conexionado de uno de estos PIC. A pesar de tener solo 8 pines, se pueden destinar hasta 6 de ellos como E/S para los periféricos porque disponen de un oscilador interno R-C, lo cual es una de su principales características (los dos restantes corresponden a la alimentación) Los modelos 12C5xx pertenecen a esta gama, siendo el tamaño de las instrucciones de 12 bits; mientras que los 12C6xx son de la gama media y sus instrucciones tienen 14 bits. Los modelos 12F6xx poseen memoria Flash para el programa y EEPROM para los datos. Algunos modelos disponen de conversores Analógico/Digital de 8 bits incorporados. La gama baja o básica consiste en una serie de PIC de recursos limitados, pero con una de la mejores relaciones coste/prestaciones de la familia. Sus versiones están encapsuladas con 18 y 28 patitas y pueden alimentarse a partir de una tensión de 2,5 V, lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits. La figura 2 ilustra su conexionado. Al igual que todos los miembros de la familia PIC16/17, los componentes de la gama baja se caracterizan por poseer los siguientes recursos: Sistema “Power On Reset”, Perro guardián (Watchdog o WDT), Código de protección, etc. La denominada gama media es la más variada y completa de los PIC. Abarca modelos con encapsulado desde 18 hasta 68 pines, cubriendo varias opciones que integran abundantes periféricos. Dentro de esta gama se halla el famoso PIC16F84, quizás el modelo mas utilizado en la historia de los microcontroladores, aunque ya se lo considera obsoleto. En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de la gama baja, haciéndoles más adecuados en las aplicaciones complejas. Poseen comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores. El repertorio de instrucciones es de 35, de 14 bits cada una y compatible con el de la gama baja. Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de los microcontroladores de 8 bits. También dispone de interrupciones y una pila de 8 niveles que permite el anidamiento de subrutinas. Encuadrado en la gama media también se halla la versión PIC14C000, que soporta el diseño de controladores inteligentes para cargadores de baterías, pilas pequeñas, fuentes de alimentación y UPS y cualquier sistema de adquisición y procesamiento de señales que requiera gestión de la energía de alimentación. Los PIC 14C000 admiten cualquier tecnología de las baterías como Li-Ion, NiMH, NiCd, Ph y Zinc. La gama alta dispone de chips con 58 instrucciones de 16 bits en el repertorio y que disponen de un sistema de gestión de interrupciones vectorizadas muy potente. También incluyen variados controladores de periféricos, puertos de comunicación serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8 k palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. Quizás la característica más destacable de los componentes de esta gama es su arquitectura abierta, que consiste en la posibilidad de ampliación del microcontrolador con elementos externos. Para este fin, algunos pinen comunican con el exterior las líneas de los buses de datos, direcciones y control, a las que se pueden conectar memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un elevado número de pines, comprendido entre 40 y 44. Esta filosofía de construcción del sistema es la que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean microcontroladores. Esta gama se utiliza en aplicaciones muy especiales, con grandes requerimientos. Desde NeoTeo haremos lo posible para acercarle esta tecnología, proporcionándole la información necesaria para que construya su propio programador de microcontroladores, aprenda a programarlos, y sobre todo, a disfrutar de un hobby apasionante.
Microcontroladores
Más informaciónFabricante de microcontroladores PIC
Más informaciónForo ene spañol sobre microcontroladores.