martes, 1 de marzo de 2011

Microcontroladores

Microcontrolador

Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades funcionales de una computadoraunidad central de procesamientomemoria y periféricos de entrada y salida.



ORIGEN E HISTORIA
Un poco de Historia sobre los Microprocesadores
   A 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.
Evolución histórica de los Microprocesadores
   Dentro de los anales de la electrónica esta el año de 1970 como la fecha de invención del microprocesador.  Con el microprocesador se inició una nueva era de desarrollo de la industria de las computadoras y de la electrónica, la cual hasta el presente ha ido evolucionando con una velocidad que aún sorprende incluso a los visionarios más futuristas. Nadie en esa época se imaginaba el impacto tan grande que causaría este desarrollo en la vida del hombre moderno.
   Sin duda la senda la abrió el invento del tubo de vacío por Lee De Forest a comienzos del siglo, basado en el descubrimiento de un fenómeno llamado "Efecto Edison". Este dispositivo hizo posible la radio, la telefónia inalámbrica, etc., e impulsó el desarrollo comercial e industrial de la electrónica. Inclusive las primeras computadoras eran fabricadas con tubos de vacío. Luego vino la revolución del transistor, desarrollado en los laboratorios de Bell Telephone en 1948 y utilizado a partir de 1950 a escala industrial, con su inclusión en la fabricación de todo tipo de aparatos como:
Radio.
Televisión.
Sonido.                       
Computadoras.
En la industria Militar.
En la Industria espacial.
Etc, entre otras aplicaciones.
    De los tres inventores del Transistor - W. Brattain, W. Shockley y J. Bardeen  - Shockley fué el único que se dedicó a desarrollar métodos de fabrcación en serie de este revolucionario dispositivo en su empresa, Shockley Semiconductor Laboratories, dando nacimiento a una nueva era de la industria electrónica y a la ubicación de esta tecnología en un sitio de california cercano a San Francisco que más tarde se llamó Silicon Valley o "Valle del Silicio". en esta compañía se iniciaron los principales científicos e ingenieros que más tarde formarían sus propias empresas y desarrollarían los circuitos integrados y los microprocesadores.
    El microprocesador es: El máxino exponente de la etapa siguiente al transistor; la tecnología de los Circuitos Integrados.
    El concepto de circuito integrado, empezó a rondar por los cerebros y mentes prodigiosas de quienes trabajaban en el diseño y fabricación de transistores. El planteamiento fue más o menos el siguiente: si se fabrican transistores en forma individual y luego se tenían que unir siempre de la misma forma entre sí con alambres y con otros componentes ¿Por qué no fabricar de una vez todo el conjunto de material semiconductor y aislante, interconectado internamente para que cumpliera la misma función del sistema total?
    Este planteamiento fue desarrollado en la práctica simultáneamente, pero en forma independiente, por dos empresas muy importantes en la historia de la electrónica.
Fairchild semicondutor.
Texas Instruments.



 ANTECEDENTES

Inicialmente cuando no existían los microprocesadores las personas se ingeniaban en diseñar sus circuitos electrónicos y los resultados estaban expresados en diseños que implicaban muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico básico requería de muchos elementos electrónicos basados en transistores, resistencias, etc; pero en el año 1971 apareció el primer microprocesador el cual originó un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. Al principio se creía que el manejo de un microprocesador era para aquellas personas con un coeficiente intelectual muy alto; por lo contrario con la aparición de este circuito integrado todo sería mucho mas fácil de entender y los diseños electrónicos serian mucho mas pequeños y simplificados. Entre los microprocesadores mas conocidos tenemos el popular Z-80 y el 8085. Los diseñadores de equipos electrónicos ahora tenían equipos que podían realizar mayor cantidad de tareas en menos tiempo y su tamaño se redujo considerablemente; sin embargo, después de cierto tiempo aparece una nueva tecnología llamada microcontrolador que simplifica aun mas el diseño electrónico.


Microcontrolador PIC16F84.


¿
Que es un Microcontrolador ?.

Un microcontrolador es un circuito integrado programable que contiene internamente todos los componentes de un computador. Este se utiliza para controlar el funcionamiento de una tarea determinada. Sus pines de entradas y salidas se utilizan para conectar motores, relays, actuadores, etc. Una vez que el microcontrolador esta programado, se encargara de ejecutar al pie de la letra la tarea encomendada.


El microcontrolador PIC16F84 es un circuito integrado fabricado por la empresa Microchip Tecnologies y es actualmente uno de los mas utilizados a nivel mundial, la razón de esto es por que son sencillos, rápidos, modernos y principalmente baratos, se podrán escribir los programas y borrarlos muchísimas veces, poseen gran documentación a nivel mundial en la Red de Internet y esta accesible para la mayoría de los bolsillos. Existen microcontroladores que una vez programados con el programa de control estos tienen que ser borrados con luz ultra violeta en el caso de requerir borrar el programa. Para el caso del PIC16F84, este podrá ser programado Eléctricamente con una circuiteria que proporciona la empresa Microchip Tecnologies. Este programador es sumamente sencillo y debe ser conectado al puerto paralelo de su computador.




    Las altas prestaciones de los microcontroladores PIC derivan de las características de su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman.
    Otra característica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.
    Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.
    Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo , Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).
    La pila es de 8 niveles. No existe ninguna bandera que indique que esté llena, por lo que será el programador el que deberá controlar que no se produzca su desbordamiento.
    Este microcontrolador posee caracterísitcas especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilización de un oscilador a cristal.
    En el modo SLEEP el consumo se reduce significativamente y puede ‘despertarse’ al microcontrolador utilizando tanto interrupciones internas como externas y señal de reset. Además posee la función Watchdog Timer (Perro Guardian) que protege al micro de ‘cuelgues’ debido a fallos software que produzcan bucles infinitos.

COMPOSICION
 En esta parte estudiaremos la estructura del PIC16F84A con el fin de entender mejor su funcionamiento. Empezaremos con una relación de sus principales características:
  • Repertorio de 35 Instrucciones.
  • Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos.
  • Versiones para bajo consumo (16LF84A), de 4 MHz (PIC16F84A-04) y 20 MHz (PIC16F84A-20). Un ciclo máquina del PIC son 4 ciclos de reloj, por lo cual si tenemos un PIC con un cristal de 4 MHz, se ejecutarán 1 millón de instrucciones por segundo.
  • Memoria de programa Flash de 1 K x 14 bits.
  • Memoria RAM dividida en 2 áreas: 22 registros de propósito específico (SFR) y 68 de propósito general (GPR) como memoria de datos.
  • 15 registros de funciones especiales.
  • Memoria de datos RAM de 68 bytes (68 registros de proposito general).
  • Memoria de datos EEPROM de 64 bytes.
  • Contador de programa de 13 bit (lo que en teoría permitiría direccionar 4 KB de memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada).
  • Pila con 8 niveles de profundidad.
  • Modos de direccionamiento directo, indirecto y relativo.
  • ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio código de instrucción.
  • 4 fuentes de interrupciones:
    • A través del pin RB0/INT.
    • Desbordamiento del temporizador TMR0.
    • Interrupción por cambio de estado de los pins 4:7 del Puerto B.
    • Completada la escritura de la memoria EEPROM.
  • 1.000.000 de ciclos de borrado/escritura de la memoria EEPROM.
  • 40 años de retención de la memoria EEPROM.
  • 13 pins de E/S con control individual de dirección.
  • PortA de 5 bits <RA0:RA4>.
  • PortB de 8 bits <RB0:RB7>.
  • Contador/Temporizador TMR0 de 8 bits con divisor programable.
  • Power-on Reset (POR).
  • Power-up Timer (PWRT).
  • Oscillator Start-up Timer (OST).
  • Watchdog Timer (WDT).
  • Protección de código.
  • Modo de bajo consumo SLEEP.
  • Puede operar bajo 4 modos diferentes de oscilador.
  • Programación en serie a través de dos pins.
  • Tecnología de baja potencia y alta velocidad CMOS Flash/EEPROM.
  • Características eléctricas máximas (no deben ser superadas y de mantenerse por un tiempo en algún máximo puede dañarse al PIC)
    • Temperatura ambiente máxima para funcionamiento de -55°C to +125°C.
    • Tensión máxima de VDD respecto a VSS de -0,3 a +7,5V.
    • Tensión de cualquier patilla con respecto a VSS (excepto VDD, MCLR, y RA4) de -0,3V a (VDD + 0.3V).
    • Tensión en MCLR con respecto a VSS -0,3 a +14V.
    • Tensión en RA4 con respecto a VSS -0,3 a +8,5V.
    • Disipación de potencia total de 800 mW.
    • Máxima corriente de salida a VSS 150 mA.
    • Máxima corriente de salida de VDD 100 mA.
    • Máxima corriente del puerto "A" como fuente, 50 mA.
    • Máxima corriente del puerto "A" como sumidero, 80 mA.
    • Máxima corriente del puerto "B" como fuente, 100 mA.
    • Máxima corriente del puerto "B" como sumidero, 150 mA.
    • Máxima corriente que puede suministrar una sóla salida como fuente o sumidero, 25 mA.
  • Rango de alimentación:
    • 16LF84A: de 2 a 5,5 V en configuración de oscilador XT, RC y LP.
    • 16F84A:
      • de 4 a 5,5 v en configuración de oscilador XT, RC y LP.
      • de 4,5 a 5.5 v en configuración de oscilador HS.
  • Consumo típico:
    • 16LF84A:
      • de 1 a 4 mA en configuración de oscilador RC y XT (FOSC=2 MHz, VDD=5,5V).
      • de 15 a 45 μA en configuración de oscilador LP (FOSC=32kHz, VDD=2V, WDT deshabilitado).
    • 16F84A:
      • de 1,8 a 4.5 mA en configuración de oscilador RC y XT (FOSC=4 MHz, VDD=5,5V).
      • de 3 a 10 mA en configuración de oscilador RC y XT durante la programación de la FLASH (FOSC=4MHz, VDD=5,5V).
    • 16F84A-20: de 10 a 20 mA en configuración de oscilador HS (FOSC=20 MHz, VDD=5,5V).