You are on page 1of 7

MICROCONTROLADOR Definicin Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades funcionales de una computadora: unidad

central de procesamiento, memoria y perifricos de entrada y salida. Se utiliza para controlar el funcionamiento de una tarea determinada que puede ser cclica, es decir, que va a ser repetitivo. Componentes Procesador o UCP (Unidad Central de Proceso). Memoria RAM para Contener los datos . Memoria para el programa tipo ROM/PROM/EPROM. Lneas de E/S para comunicarse con el exterior. Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc.). Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema .

Diferencia entre microprocesador y microcontrolador El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), tambin 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. Las patitas de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Mdulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es variable de acuerdo con la aplicacin a la que se destine.

Figura 1. 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 aplicacin. Si slo se dispusiese de un modelo de microcontrolador, ste debera tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciacin supondra en muchos casos un despilfarro. En la prctica cada fabricante de microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos. Es posible seleccionar la capacidad de las memorias , el nmero de lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseo es la seleccin del microcontrolador a utilizar.

Figura 2. El microcontrolador es un sistema cerrado. Todas las partes del computador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos.

Arquitecturas Bsicamente existen dos arquitecturas de computadoras, y por supuesto, estn presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexin de la memoria al procesador y en los buses que cada una necesita. 1. Arquitectura Von Neumann

La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control). Se la que se utiliza en las computadoras personales, para ella existe una sola memoria, donde coexisten las instrucciones de programa y los datos, accedidos con un bus de direccin, uno de datos y uno de control.

Figura 3. Arquitectura Von Neumann 2. Arquitectura Harvard

La arquitectura Harvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

Figura 4. Arquitectura Harvard La ventaja fundamental de esta arquitectura es que permite adecuar el tamao de los buses a las caractersticas de cada tipo de memoria; adems, el procesador puede acceder a cada una de ellas de forma simultnea, lo que se traduce en un aumento significativo de la velocidad de procesamiento, tpicamente los sistemas con esta arquitectura pueden ser dos veces ms rpidos que sistemas similares con arquitectura Von Neumann. La desventaja est en que consume muchas lneas de E/S del procesador; por lo que en sistemas donde el procesador est ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas embebidos, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayora de los microcontroladores. Memorias Anteriormente habamos visto que la memoria en los microcontroladores debe estar ubicada dentro del mismo encapsulado, esto es as la mayora de las veces, porque la idea fundamental es mantener el grueso de los circuitos del sistema dentro de un solo integrado. En los microcontroladores la memoria no es abundante, aqu no encontrar Gigabytes de memoria como en las computadoras personales. Tpicamente la memoria de programas no exceder de 16 K-localizaciones de memoria no voltil (flash o eprom) para contener los programas.

La memoria RAM est destinada al almacenamiento de informacin temporal que ser utilizada por el procesador para realizar clculos u otro tipo de operaciones lgicas. En el espacio de direcciones de memoria RAM se ubican adems los registros de trabajo del procesador y los de configuracin y trabajo de los distintos perifricos del microcontrolador. Es por ello que en la mayora de los casos, aunque se tenga un espacio de direcciones de un tamao determinado, la cantidad de memoria RAM de que dispone el programador para almacenar sus datos es menor que la que puede direccionar el procesador. El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras personales, que utilizan gran cantidad de memoria, tpicamente alguna tecnologa DRAM. A pesar de que la memoria SRAM es ms costosa que la DRAM, es el tipo adecuado para los microcontroladores porque stos poseen pequeas cantidades de memoria RAM. En el caso de la memoria de programas se utilizan diferentes tecnologas, y el uso de una u otra depende de las caractersticas de la aplicacin a desarrollar, a continuacin se describen las cinco tecnologas existentes, que mayor utilizacin tienen o han tenido: ROM (Read Only Memory) de mascara: En este caso no se graba el programa en memoria sino que el microcontrolador se fabrica con el programa, es un proceso similar al de produccin de los CD comerciales mediante masterizacin.

El costo inicial de producir un circuito de este tipo es alto, porque el diseo y produccin de la mscara es un proceso costoso, sin embargo, cuando se necesitan varios miles o incluso cientos de miles de microcontroladores para una aplicacin determinada, como por ejemplo, algn electrodomstico, el costo inicial de produccin de la mscara y el de fabricacin del circuito se distribuye entre todos los circuitos de la serie y, el costo final de sta, es bastante menor que el de sus semejantes con otro tipo de memoria. OTP (One Time Programmable): Este tipo de memoria, tambin es conocida como PROM o simplemente ROM.

Los microcontroladores con memoria OTP se pueden programar una sola vez, con algn tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeas, donde la variante de mscara sea muy costosa, tambin para sistemas que requieren serializacin de datos, almacenados como constantes en la memoria de programas. EPROM (Erasable Programmable Read Only Memory): Los microcontroladores con este tipo de memoria son muy fciles de identificar porque su encapsulado es de cermica y llevan encima una ventanita de vidrio desde la cual puede verse la oblea de silicio del microcontrolador.

Se fabrican as porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabacin es similar al empleado para las memorias OTP. Al aparecer tecnologas menos costosas y ms flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han cado en desuso, se utilizaban en sistemas que requieren actualizaciones del programa y para los procesos de desarrollo y puesta a punto. EEPROM (Electrical Erasable Programmable Read Only Memory): Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas elctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cermicos no son necesarios.

Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron ms baratos y cmodos para trabajar que sus equivalentes con memoria EPROM. Otra caracterstica destacable de este tipo de microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de programacin en circuito o ICSP (In Circuit Serial Progamming) que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa. Flash: En el campo de las memorias reprogramables para microcontroladores, son el ltimo avance tecnolgico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.

A las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden adems ser programadas con las mismas tensiones de alimentacin del microcontrolador, el acceso en lectura y la velocidad de programacin es superior, disminucin de los costos de produccin, entre otras. Lo ms habitual es encontrar que la memoria de programas y datos est ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los microcontroladores que permiten conectar memoria de programas en el exterior del encapsulado. Las razones para estas limitaciones estn dadas porque el objetivo fundamental es obtener la mayor integracin posible y conectar memorias externas consume lneas de E/S que son uno de los recursos ms preciados de los microcontroladores.

El procesador o UCP Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda 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 nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo). Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros. RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores estn decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina 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: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es "especfico", o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Especfico).

Registros de funciones especiales Camino de los datos y registro W La Figura 5.2 representa un diagrama simplificado de la arquitectura interna del camino de los datos en el CPU de los microcontroladores PIC. Este diagrama puede no representar con exactitud el circuito interno de estos microcontroladores, pero es exacto y claro desde la ptica del programador. La Figura 5.1 representa el mismo diagrama para un microprocesador ficticio de arquitectura tradicional. Se puede observar que la principal diferencia entre ambos radica en la ubicacin del registro de trabajo, que para los PICs se denomina W (Working Register), y para los tradicionales es el Acumulador (A).

Figura 5.1

Figura 5.2

En los microcontroladores tradicionales todas las operaciones se realizan sobre el acumulador. La salida del acumulador est conectada a una de las entradas de la Unidad Aritmtica y Lgica (ALU), y por lo tanto ste es siempre uno de los dos operandos de cualquier instruccin. Por convencin, las instrucciones de simple operando (borrar, incrementar, decrementar, complementar), actan sobre el acumulador. La salida de la ALU va solamente a la entrada del acumulador, por lo tanto el resultado de cualquier operacin siempre quedara en este registro. Para operar sobre un dato de memoria, luego realizar la operacin siempre hay que mover el acumulador a la memoria con una instruccin adicional. En los microcontroladores PIC, la salida de la ALU va al registro W y tambin a la memoria de datos, por lo tanto el resultado puede guardarse en cualquiera de los dos destinos. En las instrucciones de doble operando, uno de los dos datos siempre debe estar en el registro W, como ocurra en el modelo tradicional con el acumulador. En las instrucciones de simple operando el dato en este caso se toma de la memoria (tambin por convencin). La gran ventaja de esta arquitectura es que permite un gran ahorro de instrucciones ya que el resultado de cualquier instruccin que opere con la memoria, ya sea de simple o doble operando, puede dejarse en la misma posicin de memoria o en el registro W, segn se seleccione con un bit de la misma instruccin. Las operaciones con constantes provenientes de la memoria de programa (literales) se realizan solo sobre el registro W. En la memoria de datos de los PICs se encuentran ubicados casi todos los registros de control del microprocesador y sus perifricos autocontenidos, y tambin las posiciones de memoria de usos generales.

Gamas Esta familia, desarrollada por la casa Microchip, se divide en cuatro gamas, gamas enana, baja, media y alta. Las principales diferencias entre estas gamas radica en el nmero de instrucciones y su longitud, el nmero de puertos y funciones, lo cual se refleja en el encapsulado, la complejidad interna y de programacin, y en el nmero de aplicaciones. 1. Gama baja PIC12/14CXXX con instrucciones de 12 o 14 bits

Se trata de un grupo de PIC de reciente aparicin que ha acaparado la atencin del mercado. Su principal caracterstica es su reducido tamao, al disponer todos sus componentes de 8 patitas. 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 6 se muestra el diagrama de conexionado de uno de estos PIC.

Figura 6: Diagrama de conexiones de los PIC12Cxxx de la gama baja Aunque los PIC enanos slo tienen 8 patillas, pueden destinar hasta 6 como lneas de E/S para los perifricos porque disponen de un oscilador interno R-C, lo cual es una de su principales caractersticas. En la Figura 7 se presentan las principales caractersticas de los modelos de esta subfamilia, que el fabricante tiene la intencin de potenciar en un futuro prximo. Se trata de una serie de PIC de recursos limitados, pero con una de la mejores relaciones coste/prestaciones.

Figura 7: Principales caractersticas de la gama baja 2. Gama media. PIC16CXXX con instrucciones de 14 bits

Es la gama ms variada y completa de los PIC. Abarca modelos con encapsulado desde 18 patas hasta 68, cubriendo varias opciones que integran abundantes perifricos. En esta gama sus componentes aaden nuevas prestaciones a las que posean los de la gama baja, hacindoles ms adecuados en las aplicaciones complejas. Admiten interrupciones, poseen comparadores de magnitudes analgicas, 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. Tambin dispone de interrupciones y una Pila de 8 niveles que permite el anidamiento de subrutinas. En la Figura 8 se presentan las principales caractersticas de los modelos de esta familia. El temporizador TMR1 que hay en esta gama tiene un circuito oscilador que puede trabajar asncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo (sleep), posibilitando la implementacin de un reloj en tiempo real. Las lneas de E/S presentan una carga pullup activada por software.

Figura 8. Caractersticas relevantes de los modelos PIC16X8X de la gama media.

3.

Gama alta: PIC17CXXX con instrucciones de 16 bits.

Se alcanzan las 58 instrucciones de 16 bits en el repertorio y sus modelos disponen de un sistema de gestin de interrupciones vectorizadas muy potente. Tambin incluyen variados controladores de perifricos, puertas de comunicacin serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8K palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. Quizs la caracterstica ms destacable de los componentes de esta gama es su arquitectura abierta, que consiste en la posibilidad de ampliacin del microcontrolador con elementos externos. Para este fin, las patitas sacan al exterior las lneas de los buses de datos, direcciones y control, a las que se conectan memorias o controladores de perifricos. Esta facultad obliga a estos componentes a tener un elevado nmero de patitas comprendido entre 40 y 44. Esta filosofa de construccin del sistema es la que se empleaba en los microprocesadores y no suele ser una prctica habitual cuando se emplean microcontroladores. En la Figura 9 se muestran las caractersticas ms relevantes de los modelos de esta gama, que slo se utilizan en aplicaciones muy especiales con grandes requerimientos.

Figura 9. Caractersticas ms destacadas de los modelos PIC17CXXX de la gama alta. Recursos especiales Cada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software. Los principales recursos especficos que incorporan los microcontroladores son: 1. Temporizadores o Timers

Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. Vaya, nos hemos metido en trminos de microcontroladores demasiado pronto. Bueno, con el fin de aclarar que es un registro, anticipamos que es un valor numrico en una posicin fija de memoria. Un ejemplo: esto es igual que el segundero de nuestro reloj digital, este va aumentando hasta que llega a 60 segundos, pero en la pantalla pone 00, esto quiere decir que se desborda. Pero cuando cambia da un aviso y se incrementan los minutos. En este ejemplo, el registro es el segundero; estos son fijos ya que sabemos que son los de la derecha del todo y no se van a cambiar. 2. Perro guardin oWatchdog

Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y se reinicia el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del da. El Perro Guardin consiste en un contador que, cuando llega al mximo, provoca un reset automticamente en el sistema. Se debe disear el programa de trabajo que controla la tarea de forma que resetee al Perro Guardin de vez en cuando antes de que provoque el reset. Si falla el programa o se bloquea (si cae en bucle infinito), no se refrescar al Perro guardin y, al completar su temporizacin, provocar el reset del sistema. 3. Proteccin ante fallo de alimentacin o Brownout

Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un voltaje mnimo (brownout). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado, comenzando a

funcionar normalmente cuando sobrepasa dicho valor. Esto es muy til para evitar datos errneos por transiciones y ruidos en la lnea de alimentacin. 4. Estado de reposo de bajo consumo

Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos. En dicho estado se detiene el reloj principal y se congelan sus circuitos asociados, quedando sumido en un profundo sueo. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo. Para hacernos una idea, esta funcin es parecida a la opcin de Suspender en el men para apagar el equipo (en aquellos PCs con administracin avanzada de energa) 5. Conversor A/D (CAD)

Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD diversas seales analgicas desde las patillas del circuito integrado. 6. Conversor D/A (CDA)

Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente seal analgica que saca al exterior por una de las patillas del chip. Existen muchos circuitos que trabajan con seales analgicas. 7. Comparador analgico

Algunos modelos de microcontroladores disponen internamente de un Ampli_cador Operacional que acta como comparador entre una seal _ja de referencia y otra variable que se aplica por una de las patitas de la cpsula. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores. 8. Modulador de anchura de impulsos o PWM

Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a travs de las patitas del encapsulado. 9. Puertos digitales de E/S

Todos los microcontroladores destinan parte de su patillaje a soportar lneas de E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos. Las lneas digitales de las Puertos pueden con_gurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su con_guracin. Otra vez ms nos volvemos a meter con unos, ceros y registros paciencia que pronto llega lo mejor. 10. Puertas de comunicacin Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos.

You might also like