ORIGEN DE LOS MICROCONTROLADORES
En el año 1969, un equipo de ingenieros japoneses de la compañía BUSICOM llegó a Estados Unidos con una idea, ellos deseaban usar para sus proyectos pocos circuitos integrados de los que se usaban en las calculadoras. 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.
En 1976, Intel propone una versión mejorada del microprocesador de 8 bits, al cual nombró 8085. Sin embargo, el Z80 era tan bueno que Intel perdió la batalla. Aunque más procesadores aparecían en el mercado (6809, 2650, SC/MP etc.), ya todo estaba decidido. Ya no había grandes mejoras departe de los fabricantes para hacer algo nuevo, así que el 6502 y el Z80 junto con el
6800 permanecieron como los representantes principales de los microprocesadores de 8 bits de ese tiempo.
6800 permanecieron como los representantes principales de los microprocesadores de 8 bits de ese tiempo.
Aunque en toda esta historia, se mencionan erroneamente microprocesadores, la realidad, es que las primeras PCs, emplearon microcotroladores, los cuales, como ya vimos, cuentan con un procesador y memoria. Posteriormente, se dio el paso a los microprocesadores, que no cuentan con la memoria, en el mismo circuito integrado, y los microcontroladores, tienen su aplicacion en aparatos electrodomesticos automoviles, en la industria, entre otros.
En 1980 aproximadamente, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para control, medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más exacta MICROCONTROLADOR.
Un microcontrolador es un circuito integrado que contiene toda la estructura (arquitectura) de un microcomputador, o sea CPU, RAM, ROM y circuitos de entrada y salida. Los resultados de tipo práctico, que pueden lograrse a partir de éstos elementos, son sorprendentes.
En 1980 aproximadamente, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para control, medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más exacta MICROCONTROLADOR.
Un microcontrolador es un circuito integrado que contiene toda la estructura (arquitectura) de un microcomputador, o sea CPU, RAM, ROM y circuitos de entrada y salida. Los resultados de tipo práctico, que pueden lograrse a partir de éstos elementos, son sorprendentes.
El microcontrolador es uno de los logros más sobresalientes del siglo XX. Hoy existen casi 15,000 millones de microchips de alguna clase en uso. Para la mitad del siglo próximo, es posible que el microcontrolador típico tenga mayor poder de cómputo que las supercomputadoras más veloces de hoy.
Nuestros antepasados no podían ni imaginarse el cambio que se iba a producir en sus vidas este pequeño chip de silicio.
Actualmente los podemos encontrar en cualquier sitio: microondas, frigoríficos, coches, aviones, mandos a distancia, radios, televisores.......
Hoy se puede comprar tarjetas de felicitación que contienen procesadores con mayor poder de cómputo que las computadoras más grandes del mundo en 1971. Los microcontroladores son tan ubicuos y económicos que ahora los ponemos bajo la piel de nuestras mascotas, los cosemos a prendas de vestir y los agregamos a bombillas eléctricas, tenis para correr, ataduras de esquíes y joyería.
Muchos futuristas predicen que en siete generaciones contadas a partir de ahora, estos chips incorporarán reconocimiento del habla a procesadores de textos y sistemas de entrada de pedidos. Producirán gráficos en 3D del tamaño de muros para televisión, teleconferencias e incluso películas personalizadas. Dirigirán nuestros vehículos para optimizar la seguridad y crearán mundos virtuales por los que nos desplazaremos. Darán instrucción a nuestros hijos, supervisarán nuestra salud, reemplazarán partes perdidas del cuerpo y, a través de una retícula de miles de millones de sensores, nos conectarán con el mundo en formas que sólo podemos imaginar vagamente.En definitiva, el microcontrolador puede ser considerado como uno de los inventos más importantes de este siglo, y quien sabe si también del próximo.
Nuestros antepasados no podían ni imaginarse el cambio que se iba a producir en sus vidas este pequeño chip de silicio.
Actualmente los podemos encontrar en cualquier sitio: microondas, frigoríficos, coches, aviones, mandos a distancia, radios, televisores.......
Hoy se puede comprar tarjetas de felicitación que contienen procesadores con mayor poder de cómputo que las computadoras más grandes del mundo en 1971. Los microcontroladores son tan ubicuos y económicos que ahora los ponemos bajo la piel de nuestras mascotas, los cosemos a prendas de vestir y los agregamos a bombillas eléctricas, tenis para correr, ataduras de esquíes y joyería.
Muchos futuristas predicen que en siete generaciones contadas a partir de ahora, estos chips incorporarán reconocimiento del habla a procesadores de textos y sistemas de entrada de pedidos. Producirán gráficos en 3D del tamaño de muros para televisión, teleconferencias e incluso películas personalizadas. Dirigirán nuestros vehículos para optimizar la seguridad y crearán mundos virtuales por los que nos desplazaremos. Darán instrucción a nuestros hijos, supervisarán nuestra salud, reemplazarán partes perdidas del cuerpo y, a través de una retícula de miles de millones de sensores, nos conectarán con el mundo en formas que sólo podemos imaginar vagamente.En definitiva, el microcontrolador puede ser considerado como uno de los inventos más importantes de este siglo, y quien sabe si también del próximo.
Algunos microcontroladores más especializados poseen además convertidores análogo digital, temporizadores, contadores y un sistema para permitir la comunicación en serie y en paralelo.
Se pueden crear muchas aplicaciones con los microcontroladores. Estas aplicaciones de los microcontroladores son ilimitadas (el límite es la imaginación) entre ellas podemos mencionar: sistemas de alarmas, juego de luces, paneles publicitarios, etc. Controles automáticos para la Industria en general. Entre ellos control de motores DC/AC y motores de paso a paso, control de máquinas, control de temperatura, control de tiempo, adquisición de datos mediante sensores, etc.
Un controlador es un dispositivo electrónico encargado de, valga la redundancia, controlar uno o más procesos. Por ejemplo, el controlador del aire acondicionado, recogerá la información de los sensores de temperatura, la procesará y actuará en consecuencia.
Al principio, los controladores estaban formados exclusivamente por componentes discretos. Más tarde, se emplearon procesadores rodeados de memorias, circuitos de E/S,… sobre una placa de circuito impreso (PCB). Actualmente, los controladores integran todos los dispositivos antes mencionados en un pequeño chip. Esto es lo que hoy conocemos con el nombre de microcontrolador.
HISTORIA DE LOS MICREOCONTROLADORES
partir de 1970, el panorama de la electrónica cambió radicalmente cuando apareció en el mercado un nuevo supercomponente:El Microprocesador. Esto introdujo un concepto novedoso que en la actualidad se conserva y refuerza cada vez más, el de la lógica programada. Antes de los microprocesadores, los circuitos electrónicos se diseñaban para una función específica la cual no podía modificarse sin cambiar físicamente las conexiones, osea, el número y la cantidad de los diferentes elementos que los formaban a lo cual se les llamó la lógica cableada.
Consolidadas las técnicas digitales de los años 60, se creó entonces la necesidad de profundizar en el estudio y desarrollo de las aplicaciones para los microprocesadores y la programación en lenguaje de máquina o assembler. Fué la época de oro del 8080, el 8086, el Z-80, el 6809, el 6502, el 68000 y otros microprocesadores, utilizados como circuitos centrales en las aplicaciones de control.
En 1980, aproximadamente, los fabricantes de integrados iniciaron la difusión de un nuevo circuito con aplicaciones para control, medición, e instrumentación, al que llamaron "microcomputador de un solo chip" o, de manera más exacta y concisa: microcontrolador.
MICROPROCESADOR PIC16F84
ARQUITECTURA DE LOS MICROCONTROLADORES PIC16F84
ARQUITECTURA DEL PIC16F84
El PIC 16C84 al igual que los demás miembros de su familia, se caracterizan por que:
Su procesador es segmentado, "pipe-line".
Su procesador es tipo RISC
Tiene una arquitectura HARVARD
El formato de las instrucciones es ortogonal
Todas las instrucciones tienen la misma longitud (14 bits)
El microcontrolador PIC16F84 dispone de una estructura organizada interiormente conformado por bloques interconectados en donde se incluye la memoria RAM, los puertos de entrada y salida, la memoria EEPROM, etc. En la siguiente imagen se muestra la arquitectura interna del PIC16F84.
. El microcontrolador PIC 16F84 posee arquitectura Harvard, con una memoria de datos de 8 bits, y una memoria de programa de 14 bits.
La arquitectura Harvard tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes.
Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de Datos).
Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones tengan una sola posición de memoria de programa de longitud.
Además, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecución de una instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar.
Ventajas de esta arquitectura:
1º. 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.
2º. El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.
2º. El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.
Una pequeña desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran físicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador).
PIC16F84.
A lo largo de las siguientes líneas nos referiremos a los microcontroladores fabricados por la compañía Microchip que reciben el nombre de PICmicro, o abreviadamente PIC, como normalmente se les conoce. Dentro de la gran variedad de modelos que fabrica esta compañía hay un tipo concreto que es muy conocido y utilizado entre los radioaficionados y que recibe la denominación PIC16F84. Se trata de un modelo barato, sencillo de programar, rápido, en el cual se pueden escribir y borrar los programas muchas veces. Sobre él hay mucha documentación, las herramientas de desarrollo son muy asequibles y hay muchos programas de control disponibles para este dispositivo. Sus principales características son:
Memoria Flash de programa (1K x 14).
Memoria EEPROM de datos (64 x 8).
Memoria RAM (68 registros x 8).
Manejo de interrupciones (de 4 fuentes).
Un temporizador/contador (timer de 8 bits).
Encapsulado DIP de 18 patillas.
Un divisor de frecuencia.
Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B).
Bajo consumo.
No posee conversores analógicos-digital ni digital-analógicos.
Repertorio de instrucciones reducido (RISC), con tan solo 35 instrucciones distintas.
Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones).
La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sería de 5Mhz y así pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS).
En la figura número uno se puede ver el patillaje del PIC16F84. La función de cada una de sus patillas es la siguiente.
VDD: Patilla por la que se aplica la tensión positiva de la alimentación.
VSS: Patilla conectada a tierra o negativo de la alimentación.
OSC1/CLKIN: Patilla por la que se aplica la entrada del circuito oscilador externo que proporciona la frecuencia de trabajo del microcontrolador.
OSC2/CLKOUT: Patilla auxiliar del circuito oscilador.
MCLR#: Esta patilla es activa con nivel lógico bajo, lo que se representa con el símbolo #. Su activación origina la reinicialización o Reset del PIC. También se usa esta patilla durante la grabación de la memoria de programa para introducir por ella la tensión de programación VPP, que está comprendida entre 12 y 14 V.
RA0-RA4: Son las 5 líneas de E/S digitales correspondientes a la Puerta A. La línea RA4 multiplexa otra función expresada por TOCKI. En este segundo caso sirve para recibir una frecuencia externa para alimentar al temporizador interno TMR0.
RB0-RB7: Estas 8 patitas corresponden a las 8 líneas de E/S digitales de la Puerta B. La línea RB0 multiplexa otra función, que es la de servir como entrada a una petición externa de una interrupción, por eso se la denomina RBO/INT.
En resumen, los PIC16F84 tienen un encapsulado de 18 patillas, dos de ellas soportan la tensión de alimentación, otras dos reciben la señal del oscilador externo y otra se utiliza para generar un Reset. Las 13 patillas restantes funcionan como líneas de E/S para controlar las aplicaciones.
Los PIC admiten cuatro tipos de osciladores externos para aplicarles la frecuencia de funcionamiento. El tipo empleado debe especificarse durante el proceso de grabación del programa de control.
OSCILADOR TIPO "RC". Se trata de un oscilador de bajo coste formado por una simple resistencia y un condensador. Proporciona una estabilidad mediocre de la frecuencia, cuyo valor depende de los valores de los dos elementos de la red RC.
OSCILADOR TIPO "HS". Se trata de un oscilador que alcanza una alta velocidad comprendida entre 4 y 10 MHz y está basado en un cristal de cuarzo o un resonador cerámico.
OSCILADOR TIPO "XT". Es un oscilador de cristal o resonador para frecuencias estándar comprendidas entre 100 KHz y 4 MHz.
OSCILADOR TIPO "LP". Oscilador de bajo consumo con cristal o resonador diseñado para trabajar en un rango de frecuencias de 35 a 200 KHz. El cristal de cuarzo o el resonador cerámico se coloca entre las patillas OSC1 y OSC2.
Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un set de instrucciones RISC muy amigable para memorizar y fácil de entender, internamente consta de:
Memoria Flash de programa (1K x 14).
Memoria RAM (68 registros x 8).
Un temporizador/contador (timer de 8 bits).
Un divisor de frecuencia.
Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B).
Otras características son:
Manejo de interrupciones (de 4 fuentes).
Perro guardián (watchdog).
Bajo consumo.
Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sería de 5Mhz y así pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS)
Pipe-line de 2 etapas, 1 para búsqueda de instrucción y otra para la ejecución de la instrucción (los saltos ocupan un ciclo más).
Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones distintas.
4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operación entre registros, de salto.