44
Universidad Michoacana De San Nicolás De Hidalgo Facultad De Ingeniería Eléctrica Nombre: Bernardo Barajas Ontiveros Materia: Control Digital Profesor: Tema: Microcontroladores Morelia, Mich. Marzo de 2015.

MicroControladores

  • Upload
    ifranco

  • View
    11

  • Download
    1

Embed Size (px)

DESCRIPTION

microcontroladores

Citation preview

  • Universidad Michoacana De San Nicols De Hidalgo

    Facultad De Ingeniera Elctrica

    Nombre: Bernardo Barajas Ontiveros

    Materia: Control Digital

    Profesor:

    Tema: Microcontroladores

    Morelia, Mich. Marzo de 2015.

  • MICROCONTROLADORES

    Introduccin

    Primero que todo comenzaremos definiendo que son los microcontroladores: Los

    microcontroladores (abreviado C, UC o MCU) son circuitos integrados capaces de

    ejecutar rdenes que fueron grabadas en su memoria. Su composicin est dada por

    varios bloques funcionales, los cuales cumplen una tarea especfica, son dispositivos que

    operan uno o ms procesos, por lo general los microcontroladores estn basados en la

    arquitectura de Harvard, la cual consiste en dispositivos de almacenamiento separados

    (memoria de programa y memoria de datos). El termino microcontrolador est dado por

    dos palabras que son Micro-Controlador las cuales tienen por significado pequeo

    (en tamao) y maniobrar o controlar (funcin principal), los cuales son definidos

    mediante la programacin. Un microcontrolador est constituido en su interior por las tres

    principales unidades funcionales de una computadora, las cuales son: unidad central de

    procesamiento, memoria y perifricos de entrada y salida. En fin un microcontrolador es un

    sistema completo, con unas prestaciones limitadas que no pueden modificarse y que

    puede llevar a cabo las tareas para las que ha sido programado de forma autnoma.

    Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a

    velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja

    potencia (mW o micro watts). Por lo general, tendr la capacidad para mantener la

    funcionalidad a la espera de un evento como pulsar un botn o de otra interrupcin, el

    consumo de energa durante el estado de reposo (reloj de la CPU y los perifricos de la

    mayora) puede ser slo de nano watts, lo que los hace muy adecuados para aplicaciones

    con batera de larga duracin. Otros microcontroladores pueden servir para roles de

    rendimiento crtico, donde sea necesario actuar ms como un procesador digital de seal

    (DSP), con velocidades de reloj y consumo de energa ms altos.

    Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM.

    Para que pueda controlar algn proceso es necesario generar o crear y luego grabar en la

    EEPROM o equivalente del microcontrolador algn programa, el cual puede ser escrito en

    lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el

    programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en

    sistema numrico hexadecimal que es finalmente el sistema que hace trabajar al

    microcontrolador cuando ste es alimentado con el voltaje adecuado y asociado a

    dispositivos analgicos y discretos para su funcionamiento.

  • Historia

    El primer microcontrolador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido

    por el Intel 8008 y otros ms capaces. Sin embargo, ambos procesadores requieren

    circuitos adicionales para implementar un sistema de trabajo, elevando el costo del

    sistema total.

    El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary Boone

    y Michael Cochran lograron crear el primer microcontrolador, TMS 1000, en 1971; fue

    comercializado en 1974. Combina memoria ROM, memoria RAM, microprocesador y reloj

    en un chip y estaba destinado a los sistemas embebidos.

    Debido en parte a la existencia del TMS 1000, Intel desarroll un sistema de

    ordenador en un chip optimizado para aplicaciones de control, el Intel 8048, que comenz

    a comercializarse en 1977. Combina memoria RAM y ROM en el mismo chip y puede

    encontrarse en ms de mil millones de teclados de compatible IBM PC, y otras numerosas

    aplicaciones. El en ese momento el presidente de Intel, Luke J. Valenter, declar que el

    microcontrolador es uno de los productos ms exitosos en la historia de la compaa, y

    ampli el presupuesto de la divisin en ms del 25%.

    La mayora de los microcontroladores tienen dos variantes. Unos tena una

    memoria EPROM reprogramable, significativamente ms caros que la variante PROM que

    era slo una vez programable. Para borrar la EPROM necesita exponer a la luz ultravioleta

    la tapa de cuarzo transparente. Los chips con todo opaco representaban un costo menor.

    En 1993, el lanzamiento de la EEPROM en los microcontroladores (comenzando

    con el Microchip PIC16x84), permite borrarla elctrica y rpidamente sin necesidad de un

    paquete costoso como se requiere en EPROM, lo que permite tanto la creacin rpida de

    prototipos y la programacin en el sistema. El mismo ao, Atmel lanza el primer

    microcontrolador que utiliza memoria flash. Otras compaas rpidamente siguieron el

    ejemplo, con los dos tipos de memoria.

    El costo se ha desplomado en el tiempo, con el ms barato microcontrolador de 8

    bits disponible por menos de 0,25 dlares para miles de unidades en 2009, y algunos

    microcontroladores de 32 bits a 1 dlar por cantidades similares. En la actualidad los

    microcontroladores son baratos y fcilmente disponibles para los aficionados, con grandes

    comunidades en lnea para ciertos procesadores.

    En el futuro, la MRAM podra ser utilizada en microcontroladores, ya que tiene

    resistencia infinita y el costo de su oblea semiconductora es relativamente bajo.

  • Caractersticas

    En la figura anterior, vemos al microcontrolador metido dentro de un encapsulado

    de circuito integrado, con su procesador (CPU), buses, memoria, perifricos y puertos de

    entrada/salida. Fuera del encapsulado se ubican otros circuitos para completar perifricos

    internos y dispositivos que pueden conectarse a los pines de entrada/salida. Tambin se

    conectarn a los pines del encapsulado la alimentacin, masa, circuito de completamiento

    del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar.

    Los microcontroladores estn diseados para reducir el costo econmico y el

    consumo de energa de un sistema en particular. Por eso el tamao de la unidad central

    de procesamiento, la cantidad de memoria y los perifricos incluidos dependern de la

    aplicacin. El control de un electrodomstico sencillo como una batidora utilizar un

    procesador muy pequeo (4 u 8 bits) porque sustituir a un autmata finito. En cambio, un

    reproductor de msica y/o vdeo digital (MP3 o MP4) requerir de un procesador de 32 bits

    o de 64 bits y de uno o ms cdec de seal digital (audio y/o vdeo). El control de un

    sistema de frenos ABS (Antilock Break System) se basa normalmente en un

    microcontrolador de 16 bits, al igual que el sistema de control electrnico del motor en un

    automvil.

    Los microcontroladores representan la inmensa mayora de los chips de

    computadoras vendidos, sobre un 50% son controladores "simples" y el restante

    corresponde a DSP ms especializados. Mientras se pueden tener uno o dos

    microprocesadores de propsito general en casa (Ud. est usando uno para esto), usted

    tiene distribuidos seguramente entre los electrodomsticos de su hogar una o dos docenas

    de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrnico como

    automviles, lavadoras, hornos microondas, telfonos, etc.

    Un microcontrolador difiere de una unidad central de procesamiento normal, debido

    a que es ms fcil convertirla en una computadora en funcionamiento, con un mnimo de

    Esquema de un Microcontrolador

  • circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en

    el dispositivo, enganchado a la fuente de energa y de informacin 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 mdulos de entrada y

    salida (puertos) y la memoria para almacenamiento de informacin.

    Un microcontrolador tpico tendr un generador de reloj integrado y una pequea

    cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que

    para hacerlo funcionar todo lo que se necesita son unos pocos programas de control y un

    cristal de sincronizacin. Los microcontroladores disponen generalmente tambin de una

    gran variedad de dispositivos de entrada/salida, como convertidor analgico digital,

    temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN.

    Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones

    de procesadores especializados. Los modernos microcontroladores frecuentemente

    incluyen un lenguaje de programacin integrado, como el lenguaje de programacin

    BASIC que se utiliza bastante con este propsito.

    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 circuitera.

    En cuanto a la arquitectura de los microcontroladores la detallaremos con mayor

    profundidad a continuacin.

    Arquitectura de los microcontroladores

    Bsicamente existen dos arquitecturas para conformar la estructura 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.

    Arquitectura Von Neumann:

  • Es la llamada tambin arquitectura tradicional se basa en el esquema propuesto por

    John Von Neumann, en el cual la unidad central de proceso, est conectada a una

    memoria nica que contiene las instrucciones del programa y los datos, o sea utiliza el

    mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos,

    siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena

    cantidad de lneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas

    donde el procesador se monta en algn tipo de zcalo alojado en una placa madre.

    Tambin esta organizacin les ahorra a los diseadores de placas madre una buena

    cantidad de problemas y reduce el costo de este tipo de sistemas. El tamao de la unidad

    de datos o instrucciones est fijado por el ancho del bus de la memoria. Las dos

    principales limitaciones de esta arquitectura son:

    a) Que la longitud de las instrucciones est limitada por la unidad de longitud de los

    datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar

    instrucciones complejas.

    b) La velocidad de operacin (o ancho de banda de operacin) est limitada por el

    efecto de cuello de botella que significa un bus nico para datos e instrucciones que

    impide superponer ambos tiempos de acceso.

    La arquitectura von Neumann permite el diseo de programas con cdigo automodificable,

    prctica bastante usada en las antiguas computadoras que solo tenan acumulador y

    pocos modos de direccionamiento, pero innecesaria, en las computadoras modernas.

    La arquitectura Harvard:

    La arquitectura conocida como Harvard, consiste simplemente en un esquema en el

    que el CPU est conectado a dos memorias por intermedio de dos buses separados. Una

    de las memorias contiene solamente las instrucciones del programa, y es llamada

    Memoria de Programa. La otra memoria solo almacena los datos y es llamada 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 Instruccin Set

    Computer), el set de instrucciones y el bus de la memoria de programa pueden disearse

    de manera tal que todas las instrucciones tengan una sola posicin de memoria de

    programa de longitud. Adems, como los buses son independientes, el CPU puede estar

  • accediendo a los datos para completar la ejecucin de una instruccin, y al mismo tiempo

    estar leyendo la prxima instruccin a ejecutar. Podemos observar claramente que las

    principales ventajas de esta arquitectura son:

    a) El tamao de las instrucciones no est relacionado con el de los datos, y por lo

    tanto puede ser optimizado para que cualquier instruccin ocupe una sola posicin de

    memoria de programa, logrando as mayor velocidad y menor longitud de programa.

    b) El tiempo de acceso a las instrucciones puede superponerse con el de los datos,

    logrando una mayor velocidad de operacin.

    Una pequea 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

    fsicamente en la memoria de programa (por ejemplo en la EPROM de un

    microprocesador), otra desventaja es 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

    integrados, donde usualmente la memoria de datos y programas comparten el mismo

    encapsulado que el procesador, este inconveniente deja de ser un problema serio.

    Arquitectura interna de un microcontrolador.

    Registros

    Son un espacio de memoria muy reducido pero necesario para cualquier

    microprocesador, de aqu se toman los datos para varias operaciones que debe realizar el

    resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de

    la ejecucin de instrucciones, cargar datos desde la memoria externa o almacenarlos en

    ella. Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho

    una parte de los registros, la destinada a los datos, es la que determina uno de los

    parmetros ms importantes de cualquier microprocesador. Cuando escuchamos que un

  • procesador es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo a procesadores que

    realizan sus operaciones con registros de datos de ese tamao, y por supuesto, esto

    determina muchas de las potencialidades de estos.

    Mientras mayor sea el nmero de bits de los registros de datos del procesador,

    mayores sern sus prestaciones, en cuanto a poder de cmputo y velocidad de ejecucin,

    ya que este parmetro determina la potencia que se puede incorporar al resto de los

    componentes del sistema.

    CPU (unidad central de proceso):

    Podemos decir que la CPU, siglas en ingls de unidad central de proceso, es el

    ncleo del microcontrolador. Se encarga de ejecutar las instrucciones almacenadas en la

    memoria, de la que hablaremos ms adelante. Es lo que habitualmente llamamos

    procesador o microprocesador, trmino que a menudo se confunde con el de

    microcontrolador. En esta lnea cabe aclarar que, tal y como estamos viendo, ambos

    trminos no son lo mismo: el microprocesador es una parte de un microcontrolador y

    sin l no sera til; un microcontrolador, en cambio, es un sistema completo que

    puede llevar a cabo de forma autnoma una labor.

    Unidad Aritmtico lgica

    Como los procesadores son circuitos que hacen bsicamente operaciones lgicas y

    matemticas, se le dedica a este proceso una unidad completa, con cierta independencia.

    Aqu es donde se realizan las sumas, restas, y operaciones lgicas tpicas del lgebra de

    Boole. Actualmente este tipo de unidades ha evolucionado mucho y los procesadores ms

    modernos tienen varias ALU, especializadas en la realizacin de operaciones complejas

    como las operaciones en coma flotante. De hecho en muchos casos le han cambiado su

    nombre por el de coprocesador matemtico, aunque este es un trmino que surgi para

    dar nombre a un tipo especial de procesador que se conecta directamente al procesador

    ms tradicional. Su impacto en las prestaciones del procesador es tambin importante

    porque, dependiendo de su potencia, tareas ms o menos complejas, pueden hacerse en

    tiempos muy cortos, como por ejemplo, los clculos en coma flotante.

    Buses

    Son el medio de comunicacin que utilizan los diferentes componentes del

    procesador para intercambiar informacin entre s, eventualmente los buses o una parte

  • de ellos estarn reflejados en los pines del encapsulado del procesador. En el caso de los

    microcontroladores, no es comn que los buses estn reflejados en el encapsulado del

    circuito, ya que estos se destinan bsicamente a las E/S de propsito general y perifricos

    del sistema.

    Memoria:

    Entendemos por memoria los diferentes componentes del microcontrolador que se

    emplean para almacenar informacin durante un periodo determinado de tiempo. La

    informacin que necesitaremos durante la ejecucin del programa ser, por un lado, el

    propio cdigo, y por otro, los diferentes datos que usemos durante la ejecucin del mismo.

    (Memoria de programa y de memoria de datos, respectivamente).

    La diferente naturaleza de la informacin que hay que almacenar hace necesario el

    uso de diferentes tipos memorias. Hay que tener en cuenta una clasificacin bsica, que

    distinga entre memoria voltil y no voltil. La primera es aquella que pierde la informacin

    que almacena al desconectarla de la alimentacin; la segunda, como resulta obvio, no. Por

    lo tanto, se hace evidente que al menos la memoria de programa deber ser no voltil: no

    sera prctico que el programa grabado en el microcontrolador se borrara cada vez que

    apagramos el dispositivo. Con respecto a la memoria de datos, diremos por el momento

    segn la situacin puede interesarnos una u otra.

    Unidades de entrada/salida:

    Las unidades de entrada/salida son los sistemas que emplea el microcontrolador

    para comunicarse con el exterior. Imaginemos una televisin: por un lado tiene un

    dispositivo de salida, como es la pantalla, y por otro lado, de entrada, como son los

    botones de subir o bajar volumen y de cambio de canal. As, los dispositivos de entrada

    nos permitirn introducir informacin en el microcontrolador y los de salida nos servirn

    para que ste la saque al exterior.

    Conjunto de instrucciones

    Aunque no aparezca en el esquema, no podemos de hablar del conjunto o

    repertorio de instrucciones, porque este elemento determina lo que puede hacer el

    procesador.

    Define las operaciones bsicas que puede realizar el procesador, que conjugadas y

    organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen

  • siendo como las letras del alfabeto, el elemento bsico del lenguaje, que organizadas

    adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra.

    Existen dos tipos bsicos de repertorios de instrucciones, que determinan la

    arquitectura del procesador: RISC y CISC.

    Arquitectura RISC y CISC

    RISC (Reduced Instruction Set Computer) Computadora con conjunto de Instrucciones Reducido.

    Se centra en la obtencin de procesadores con las siguientes caractersticas

    fundamentales:

    Instrucciones de tamao fijo.

    Pocas instrucciones.

    Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

    Nmero relativamente elevado de registros de propsito general.

    En este caso la idea es que el microcontrolador reconoce y ejecuta slo

    operaciones bsicas (sumar, restar, copiar etc) Las operaciones ms complicadas se

    realizan al combinar stas (por ejemplo, multiplicacin se lleva a cabo al realizar adicin

    sucesiva). Sin embargo, no todo es tan oscuro. Adems, el microcontrolador es muy

    rpido as que no es posible ver todas las acrobacias aritmticas que realiza. El usuario

    slo puede ver el resultado final de todas las operaciones.

  • Una de las caractersticas ms destacables de este tipo de procesadores es que

    posibilitan el paralelismo en la ejecucin, y reducen los accesos a memoria. Es por eso

    que los procesadores ms modernos, tradicionalmente basados en arquitecturas CISC

    implementan mecanismos de traduccin de instrucciones CISC a RISC, para aprovechar

    las ventajas de este tipo de procesadores

    CISC (Complex Instruction Set Computer) Computadoras de conjunto de instrucciones complejo.

    Los microprocesadores CISC tienen un conjunto de instrucciones que se

    caracteriza por ser muy amplio y que permiten realizar operaciones complejas entre

    operandos situados en la memoria o en los registros internos. Este tipo de repertorio

    dificulta el paralelismo entre instrucciones, por lo que en la actualidad, la mayora de los

    sistemas CISC de alto rendimiento, convierten las instrucciones complejas en varias

    instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Los

    microcontroladores diseados para reconocer ms de 200 instrucciones diferentes

    realmente pueden realizar muchas cosas a alta velocidad. No obstante, uno debe saber

    cmo utilizar todas las posibilidades que ofrece un lenguaje tan rico, lo que no es siempre

    tan fcil.

    Composicin y principios de los microcontroladores

    Ya hablamos de la arquitectura y composicin (memoria, procesador, entradas y

    salidas), de los microcontroladores. Ahora veremos un poco ms a detalle los

    componentes de los microcontroladores.

    Funcionamiento

    Para entender el funcionamiento de los microcontroladores describiremos con ms

    profundidad los componentes mencionados anteriormente, adems hablaremos de los

    tipos de memoria y su funcionamiento.

    La necesidad de conseguir elevados rendimientos en el procesamiento de las

    instrucciones ha desembocado en el empleo generalizado de procesadores de

    arquitectura Harvard frente a los tradicionales que seguan la arquitectura Von Neuman.

    Esta ltima se caracterizaba porque la UCP se conectaba con una memoria nica, donde

    coexistan datos e instrucciones, a travs de un sistema de buses.

  • En la arquitectura de Von Neuman la UCP se comunica a travs de un sistema de

    buses con la memoria, donde se guardan las instrucciones y los datos.

    En la arquitectura Harvard son independientes la memoria de instrucciones y la

    memoria de datos y cada una dispone de su propio sistema de buses para el acceso. Esta

    dualidad, adems de propiciar el paralelismo, permite la adecuacin del tamao de las

    palabras y los buses a los requerimientos especficos de las instrucciones y de los datos.

    Tambin la capacidad de cada memoria es diferente.

    El procesador de los modernos microcontroladores responde a la arquitectura RISC

    que se identifica por poseer un repertorio de instrucciones mquina pequeo y simple, de

    forma que la mayor parte de las instrucciones se ejecuta en un ciclo de instruccin.

    Otra aportacin frecuente que aumenta el rendimiento del computador es el

    fomento del paralelismo implcito, que consiste en la segmentacin del procesador (pipe-

    line), descomponindolo en etapas para poder procesar una instruccin diferente en cada

    una de ellas y trabajar con varias a la vez.

    El alto rendimiento y elevada velocidad que alcanzan los modernos procesadores,

    como el que poseen los microcontroladores PIC, se debe a la conjuncin de tres tcnicas:

    Arquitectura Harvard.

    Arquitectura RISC.

    Segmentacin.

    Memoria de programa y su labor

    El microcontrolador est diseado para que en su memoria de programa se

    almacenen todas las instrucciones del programa de control. NO hay posibilidad de utilizar

    memorias externas de ampliacin.

    Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma

    permanente. Los tipos de memoria adecuados para soportar esta funcin admiten cinco

    versiones diferentes:

  • En la arquitectura Harvard la memoria de instrucciones y la de datos son

    independientes, lo que permite optimizar sus caractersticas y propiciar el paralelismo. En

    la figura anterior, la memoria de instrucciones tiene 1K posiciones de 14 bits cada una,

    mientras que la de datos slo dispone de 512 posiciones de 1 byte.

    ROM con mascara:

    En este tipo de memoria el programa se graba en el

    chip durante el proceso de su fabricacin mediante el uso

    de mscaras. Los altos costos de diseo e instrumental

    solo aconsejan usar este tipo de memoria cuando se

    procesan series muy grandes.

    EPROM:

    La grabacin de esta memoria se realiza

    mediante un dispositivo fsico gobernado desde un

    computador personal, que recibe el nombre de

    grabador. En la superficie de la cpsula del

    microcontroladores existe una ventana de cristal para la

    que se puede someter al chip de la memoria a rayos

    ultravioletas para producir su borrado y emplearla

    nuevamente. Es interesante la memoria EPROM en la fase de diseo y depuracin de los

    programas, pero su costo unitario es ms elevado.

  • OTP (Programable una sola vez):

    Este modelo de memoria solo se puede grabar

    una vez por parte del usuario, utilizando el mismo

    procedimiento que con la memoria EPROM.

    Posteriormente no se puede borrar. Su bajo precio y la

    sencillez de la grabacin aconsejan este tipo de memoria

    para prototipos finales y series de produccin cortas.

    EEPROM:

    La grabacin es similar a las memorias OTP y

    EPROM, pero el borrado es mucho ms sencillo al

    poderse efectuar la misma forma que el grabado, o

    sea, elctricamente. Sobre el mismo zcalo del

    grabador puede ser programada y borrada tantas

    veces como se quiera, lo cual la hace ideal en la

    enseanza y en la creacin de nuevos proyectos. El

    PIC16C84 dispone de 1K de palabras de memoria

    EEPROM para contener instrucciones y tambin

    tiene algunos bytes de memoria de datos de este

    tipo para evitar que cuando se retira la alimentacin se pierda la informacin. Aunque se

    garantizan 1,000,000 de ciclos de escritura / borrado en una EEPROM, todava s

    tecnologa de fabricacin tiene obstculos para alcanzar capacidades importantes y el

    tiempo de escritura de las mismas es relativamente grande y con elevado consumo de

    energa.

    FLASH:

    Se trata de una memoria no voltil, de bajo

    consumo, que se puede escribir y borrar en el circuito al

    igual que las EEPROM, pero suelen disponer de mayor

    capacidad que estas ltimas. El borrado solo es posible

    con bloques completos y no se puede realizar sobre

    posiciones concretas. Son muy recomendables en

  • aplicaciones en las que sea necesario modificar el programa a lo largo de la vida del

    producto, como consecuencia del desgaste o cambios de piezas, como sucede con los

    vehculos. Por sus mejores prestaciones est sustituyendo a la memoria EEPROM para

    contener instrucciones. De esta forma Microchip comercializa dos microcontroladores

    prcticamente iguales, que solo se diferencias en que la memoria de programa de uno de

    ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC16C84 y el PIC16F84,

    respectivamente.

    Memoria de Datos:

    Los datos que manejan los programas varan continuamente, y esto exige que la

    memoria que los contiene deba ser de lectura y escritura, por lo que la memoria RAM

    esttica (SRAM) es la ms adecuada, aunque sea voltil.

    Hay microcontroladores que disponen como memoria de datos una de lectura y

    escritura no voltil, del tipo EEPROM. De esta forma, un corte en el suministro de la

    alimentacin no ocasiona la prdida de la informacin, que est disponible al reiniciarse el

    programa. El PIC16C84, el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria

    EEPROM para contener datos.

    La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrase

    elctricamente. Sin necesidad de sacar el circuito integrado del zcalo del grabador

    pueden ser escritas y borradas numerosas veces.

    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.

    Cuando se requiere aumentar la cantidad de memoria de datos, lo ms frecuente es

    colocar dispositivos de memoria externa en forma de perifricos, de esta forma se pueden

    utilizar memorias RAM, FLASH o incluso discos duros como los de los ordenadores

    personales, mientras que para los clculos y dems operaciones que requieran

    almacenamiento temporal de datos se utiliza la memoria RAM interna del

    microcontrolador. Esta forma de expandir la memoria de datos est determinada, en la

    mayora de los casos, por el tipo de repertorio de instrucciones del procesador y porque

    permite un elevado nmero de configuraciones distintas, adems del consiguiente ahorro

    de lneas de E/S que se logra con el uso de memorias con buses de comunicacin serie.

  • Interrupciones

    Las interrupciones son esencialmente llamadas a subrutina generadas por los

    dispositivos fsicos, al contrario de las subrutinas normales de un programa en ejecucin.

    Como el salto de subrutina no es parte del hilo o secuencia de ejecucin programada, el

    controlador guarda el estado del procesador en la pila de memoria y entra a ejecutar un

    cdigo especial llamado "manejador de interrupciones" que atiende al perifrico especfico

    que gener la interrupcin. Al terminar la rutina, una instruccin especial le indica al

    procesador el fin de la atencin de la interrupcin. En ese momento el controlador

    restablece el estado anterior, y el programa que se estaba ejecutando antes de la

    interrupcin sigue como si nada hubiese pasado. Las rutinas de atencin de interrupciones

    deben ser lo ms breves posibles para que el rendimiento del sistema sea satisfactorio,

    porque normalmente cuando una interrupcin es atendida, todas las dems interrupciones

    estn en espera.

    Los circuitos para la atencin a las interrupciones y todas las tareas que debe

    realizar el procesador para atender al proceso que lo interrumpe son bastante complejos,

    la cosa se complica en la secuencia de acciones a realizar desde el momento en que se

    desencadena el proceso de interrupcin, hasta que se ejecuta el programa que lo atiende,

    y en la secuencia de acciones posteriores a la atencin. Piense en cuantas cosas debe

    hacer su organismo ante una interrupcin. Los procesos de atencin a interrupciones

    tienen la ventaja de que se implementan por hardware ubicado en el procesador, as que

    es un mtodo rpido de hacer que el procesador se dedique a ejecutar un programa

    especial para atender eventos que no pueden esperar por mecanismos lentos como el de

    encuesta.

    En trminos generales, un proceso de interrupcin y su atencin por parte del

    procesador, tiene la siguiente secuencia de acciones:

    1. En el mundo real se produce el evento para el cual queremos que el procesador

    ejecute un programa especial, este proceso tiene la caracterstica de que no puede

    esperar mucho tiempo antes de ser atendido o no sabemos en qu momento debe

    ser atendido.

    2. El circuito encargado de detectar la ocurrencia del evento se activa, y como

    consecuencia, activa la entrada de interrupcin del procesador.

    3. La unidad de control detecta que se ha producido una interrupcin y levanta una

    bandera para registrar esta situacin; de esta forma si las condiciones que

    provocaron el evento desaparecen y el circuito encargado de detectarlo desactiva la

    entrada de interrupcin del procesador, sta se producir de cualquier modo,

    porque ha sido registrada.

    4. La unidad de ejecucin termina con la instruccin en curso y justo antes de

    comenzar a ejecutar la siguiente comprueba que se ha registrado una interrupcin

  • 5. Se desencadena un proceso que permite guardar el estado actual del programa en

    ejecucin y saltar a una direccin especial de memoria de programas, donde est la

    primera instruccin de la subrutina de atencin a interrupcin.

    6. Se ejecuta el cdigo de atencin a interrupcin, esta es la parte consciente de

    todo el proceso porque es donde se realizan las acciones propias de la atencin a

    la interrupcin y el programador juega su papel.

    7. Cuando en la subrutina de atencin a interrupcin se ejecuta la instruccin de

    retorno, se desencadena el proceso de restauracin del procesador al estado en

    que estaba antes de la atencin a la interrupcin.

    Lneas de E / S para los controladores de perifricos:

    A excepcin de dos patitas destinadas a recibir la alimentacin, otras dos para el

    cristal de cuarzo, que regula la frecuencia de trabajo, y una ms para provocar el Reset,

    las restantes patitas de un microcontrolador sirven para soportar su comunicacin con los

    perifricos externos que controla.

    Las lneas de E / S que se adaptan con los perifricos manejan informacin en

    paralelo y se agrupan en conjuntos de ocho, que reciben el nombre de Puertos. Hay

    modelos con lneas que soportan la comunicacin en serie; otros disponen de conjuntos

    de lneas que implementan puertas de comunicacin para diversos protocolos, como el

    I2C, el USB, etc.

    Tpicamente cualquier pin de E/S puede ser considerada E/S de propsito general,

    pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los

    pines que queramos, las E/S de propsito general comparten los pines con otros

    perifricos. Para usar un pin con cualquiera de las caractersticas a l asignadas debemos

    configurarlo mediante los registros destinados a ellos.

    Recursos auxiliares:

    Segn las aplicaciones a las que orienta el fabricante cada modelo de

    microcontroladores, incorpora una diversidad de complementos que refuerzan la potencia

    y la flexibilidad del dispositivo. Entre los recursos ms comunes se citan a los siguientes:

    Circuito de reloj, encargado de generar los impulsos que sincronizan el

    funcionamiento de todo el sistema.

    Temporizadores, orientados a controlar tiempos.

    Perro Guardin (watchdog), destinado a provocar una reinicilizacin cuando el

    programa queda bloqueado.

  • Conversores AD y DA, para poder recibir y enviar seales analgicas.

    Comparadores analgicos, para verificar el valor de una seal analgica.

    Sistema de proteccin ante fallos de la alimentacin.

    Estado de Reposo, en el que el sistema queda congelado y el consumo de energa

    se reduce al mnimo.

    Temporizadores y contadores

    Son circuitos sincrnicos para el conteo de los pulsos que llegan a su poder para

    conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del

    microcontrolador es comn que no tengan un pin asociado, y en este caso trabajan como

    temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen

    asociado un pin configurado como entrada, este es el modo contador.

    Los temporizadores son uno de los perifricos ms habituales en los

    microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medicin de

    frecuencia, implementacin de relojes, para el trabajo de conjunto con otros perifricos

    que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que

    un microcontrolador tpico incorpore ms de un temporizador/contador e incluso algunos

    tienen arreglos de contadores, este perifrico es un elemento casi imprescindible y es

    habitual que tengan asociada alguna interrupcin. Los tamaos tpicos de los registros de

    conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de

    un tamao o con ms frecuencia con ambos tipos de registro de conteo.

    Conversor analgico/digital

    Como es muy frecuente el trabajo con seales analgicas, stas deben ser

    convertidas a digital y por ello muchos microcontroladores incorporan un conversor

    analgico-digital, el cual se utiliza para tomar datos de varias entradas diferentes que se

    seleccionan mediante un multiplexor.

    Las resoluciones ms frecuentes son 8 y 10 bits, que son suficientes para

    aplicaciones sencillas. Para aplicaciones en control e instrumentacin estn disponibles

    resoluciones de 12bit, 16bit y 24bit. Tambin es posible conectar un convertidor externo,

    en caso de necesidad.

  • Puertos de comunicacin

    Puerto serie

    Este perifrico est presente en casi cualquier microcontrolador, normalmente en

    forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal

    Synchronous Asynchronous Receiver Transmitter), dependiendo de si permiten o no el

    modo sincrnico de comunicacin.

    El destino comn de este perifrico es la comunicacin con otro microcontrolador o

    con una PC y en la mayora de los casos hay que agregar circuitos externos para

    completar la interfaz de comunicacin. La forma ms comn de completar el puerto serie

    es para comunicarlo con una PC mediante la interfaz EIA-232 (ms conocida como RS-

    232), es por ello que muchas personas se refieren a la UART o USART como puerto serie

    RS-232, pero esto constituye un error, puesto que este perifrico se puede utilizar para

    interconectar dispositivos mediante otros estndares de comunicacin. En aplicaciones

    industriales se utiliza preferiblemente RS-485 por su superior alcance en distancia,

    velocidad y resistencia al ruido.

    SPI

    Este tipo de perifrico se utiliza para comunicar al microcontrolador con otros

    microcontroladores o con perifricos externos conectados a l, por medio de una interfaz

    muy sencilla. Hay solo un nodo controlador que permite iniciar cualquier transaccin, lo

    cual es una desventaja en sistemas complejos, pero su sencillez permite el aislamiento

    galvnico de forma directa por medio de opto acopladores.

    I2C

    Cumple las mismas funciones que el SPI, pero requiere menos seales de

    comunicacin y cualquier nodo puede iniciar una transaccin. Es muy utilizado para

    conectar las tarjetas grficas de las computadoras personales con los monitores, para que

    estos ltimos informen de sus prestaciones y permitir la autoconfiguracin del sistema de

    vdeo.

  • USB

    Los microcontroladores son los que han permitido la existencia de este sistema de

    comunicacin. Es un sistema que trabaja por polling (monitorizacin) de un conjunto de

    perifricos inteligentes por parte de un amo, que es normalmente un computador personal.

    Cada modo inteligente est gobernado inevitablemente por un microcontrolador.

    Ethernet

    Es el sistema ms extendido en el mundo para redes de rea local cableadas. Los

    microcontroladores ms poderosos de 32 bits se usan para implementar perifricos lo

    suficientemente poderosos como para que puedan ser accesados directamente por la red.

    Muchos de los enrutadores caseros de pequeas empresas estn construidos en base a

    un microcontrolador que hace del cerebro del sistema.

    Can

    Este protocolo es del tipo CSMA/CD con tolerancia a elevados voltajes de modo

    comn y orientado al tiempo real. Este protocolo es el estndar ms importante en la

    industria automotriz (OBD). Tambin se usa como capa fsica del "Field bus" para el

    control industrial.

    Otros puertos de comunicacin

    Hay una enorme cantidad de otros buses disponibles para la industria automotriz

    (linbus) o de medios audiovisuales como el i2s, IEEE 1394. Es usuario se los encontrar

    cuando trabaje en algn rea especializada.

    Comparadores

    Son circuitos analgicos basados en amplificadores operacionales que tienen la

    caracterstica de comparar dos seales analgicas y dar como salida los niveles lgicos 0

    o 1 en dependencia del resultado de la comparacin. Es un perifrico muy til para

    detectar cambios en seales de entrada de las que solamente nos interesa conocer

    cuando est en un rango determinado de voltaje.

  • Modulador de ancho de pulsos

    Los PWM (Pulse Width Modulator) son perifricos muy tiles sobre todo para el

    control de motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con

    este perifrico, dentro de las cuales podemos citar: inversin DC/AC para UPS, conversin

    digital analgica D/A, control regulado de luz (dimming) entre otras.

    Memoria de datos no voltil

    Muchos microcontroladores han incorporado estos tipos de memoria como un

    perifrico ms, para el almacenamiento de datos de configuracin o de los procesos que

    se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la

    memoria de programas, en la que se almacena el cdigo del programa a ejecutar por el

    procesador del microcontrolador. Muchos de los microcontroladores PIC, incluyen este tipo

    de memoria, tpicamente en forma de memoria EEPROM, incluso algunos de ellos

    permiten utilizar parte de la memoria de programas como memoria de datos no voltil, por

    lo que el procesador tiene la capacidad de escribir en la memoria de programas como si

    sta fuese un perifrico ms.

    Circuito Lgicos:

    Algunas instrucciones de programa utilizadas por un microcontrolador funcionan de

    la misma manera que las compuertas lgicas, pero en forma de comandos. A

    continuacin se explicar el principio de su funcionamiento.

    Compuerta Y (AND):

    Una compuerta lgica Y dispone de dos o ms entradas y de una salida. En este

    caso la compuerta utilizada dispone de slo dos entradas. Un uno lgico (1) aparecer en

    su salida slo en caso de que ambas entradas (A y B) sean llevadas a alto (1). La tabla a

    la derecha es la tabla de verdad que muestra la relacin entre las entradas y salidas de la

    compuerta. El principio de funcionamiento es el mismo cuando la compuerta disponga de

  • ms de dos entradas: la salida proporciona un uno lgico (1) slo si todas las entradas son

    llevadas a alto (1).

    Cualquier otra combinacin de voltajes de entrada proporcionar un cero lgico (0)

    en su salida. Utilizada en el programa, la operacin Y lgico es realizada por una

    instruccin de programa. Por ahora basta con conocer qu Y lgico en un programa se

    refiere a la realizacin de este tipo de operacin sobre los bits correspondientes de dos

    registros diferentes.

    Compuerta O (OR):

    De manera similar, la compuerta O tambin dispone de dos o ms entradas y de

    una salida. Si la compuerta dispone de slo dos entradas, es aplicable lo siguiente: la

    salida proporciona un uno lgico (1) si una u otra entrada (A o B) es llevada a alto (1). En

    caso de que la compuerta O disponga de ms de dos entradas, es aplicable lo siguiente:

    La salida proporciona un uno lgico (1) si por lo menos una entrada es llevada a alto (1).

    Si todas las entradas estn a cero lgico (0), la salida estar a cero lgico (0) tambin.

  • En un programa, la operacin O lgico se realiza de la misma manera que la operacin Y.

    Compuerta NO (NOT):

    La compuerta lgica NO dispone de una sola entrada y una sola salida, por lo que funciona muy simplemente. Cuando un cero lgico (0) aparezca en su entrada, la salida proporciona un uno lgico (1) y viceversa. Esto significa que esta compuerta invierte las seales por s mismas y por eso es denominada inversor.

    En el programa la operacin lgica NO se realiza sobre un byte. El resultado es

    un byte con los bits invertidos. Si los bits de un byte se consideran nmero, el valor

    invertido es un complemento a ese nmero. El complemento de un nmero es el valor que

    se aade al nmero hasta llegar al mayor nmero binario de 8 dgitos. En otras palabras,

    la suma de un dgito de 8 nmeros y de su complemento es siempre 255.

    Compuerta OR- Exclusiva (XOR):

    La compuerta XOR (o OR - EXCLUSIVA) es un poco complicada en comparacin

    con las dems. Representa una combinacin de todas las compuertas anteriormente

  • descritas. La salida proporciona un uno lgico (1) slo si sus entradas estn en estados

    lgicos diferentes.

    En el programa, esta operacin se utiliza con frecuencia para comparar dos bytes.

    La resta se puede utilizar con el mismo propsito (si el resultado es 0, los bytes son

    iguales). A diferencia de la resta, la ventaja de esta operacin lgica es que no es posible

    obtener los resultados negativos.

    Registros:

    Un registro o una celda de memoria es un circuito electrnico que puede memorizar

    el estado de un byte.

    Registros SFR

    A diferencia de los registros que no tienen ninguna funcin especial y

    predeterminada, cada microcontrolador dispone de un nmero de registros de funciones

    especiales (SFR), con la funcin predeterminada por el fabricante. Sus bits estn

    conectados a los circuitos internos del microcontrolador tales como temporizadores,

    convertidores A/D, osciladores entre otros, lo que significa que directamente manejan el

    funcionamiento de estos circuitos, o sea del microcontrolador. Imagnese ocho

    interruptores que manejan el funcionamiento de un circuito pequeo dentro del

    microcontrolador. Los registros SFR hacen exactamente lo mismo.

  • En otras palabras, el estado de los bits de registros se fija dentro de programa, los

    registros SFR dirigen los pequeos circuitos dentro del microcontrolador, estos circuitos se

    conectan por los pines del microcontrolador a un dispositivo perifrico utilizado para

    Bueno, depende de usted.

    Microcontroladores PIC y sus variedades

    Los microcontroladores PIC, son recomendados cuando uno est recin indagando

    en la programacin de estos circuitos integrados.

    Microchip es la empresa que fabrica los microcontroladores PIC. En los ltimos

    tiempos esta familia de microcontroladores ha revolucionado el mundo de las aplicaciones

    electrnicas. Tienen una facilidad de uso y programacin tales, que junto a las inmensas

    posibilidades de E/S que brindan han conquistado a programadores y desarrolladores. Su

    principal ventaja (y segn sus detractores la principal desventaja) es su carcter general,

    la flexibilidad que les permite ser empleados en casi cualquier aplicacin. Otras familias de

    microcontroladores son ms eficaces en aplicaciones especficas.

    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 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.

  • El nombre verdadero de este microcontrolador es PICmicro (Peripheral Interface

    Controller), conocido bajo el nombre PIC. Su primer antecesor fue creado en 1975 por la

    compaa General Instruments. Este chip denominado PIC1650 fue diseado para

    propsitos completamente diferentes. Diez aos ms tarde, al aadir una memoria

    EEPROM, este circuito se convirti en un verdadero microcontrolador PIC. Hace unos

    pocos aos la compaa Microchip Technology fabric la 5 billonsima muestra.

    Todos los microcontroladores PIC utilizan una arquitectura Harvard, lo que quiere

    decir que su memoria de programa est conectada a la CPU por ms de 8 lneas. Hay

    microcontroladores de 12, 14 y 16 bits, dependiendo de la anchura del bus. La tabla

    anterior muestra las caractersticas principales de estas tres categoras.

    Como se puede ver en la tabla de anterior, salvo los monstruos de 16 bits PIC

    24FXXX y PIC 24HXXX todos los microcontroladores tienen la arquitectura Harvard de 8

    bits y pertenecen a una de las tres grandes grupos. Por eso, dependiendo del tamao de

    palabra de programa existen la primera, la segunda y la tercera categora de

    microcontroladores, es decir microcontroladores de 12, 14 o 16 bits. Puesto que disponen

    del ncleo similar de 8 bits, todos utilizan el mismo juego de instrucciones y el esqueleto

    bsico de hardware conectado a ms o menos unidades perifricas.

    Los microcontroladores PIC con palabras de programa de 14 bits parecen ser la

    mejor opcin para los principiantes.

  • Algunas ventajas de los microcontroladores PIC de Microchip:

    Eficiencia del cdigo: permiten una gran compactacin de los programas.

    Rapidez de ejecucin: a frecuencia de 20MHz->5 millones de instr. /seg.

    Seguridad en acceso por la separacin de memoria de datos y de programa.

    Juego reducido de instrucciones y de fcil aprendizaje.

    Compatibilidad de pines y cdigo entre dispositivos de la misma familia o sin

    reduccin de las prestaciones internas (muy verstiles).

    Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin

    reduccin de las prestaciones internas (muy verstiles).

    Posibilidad de proteccin del cdigo muy fiable.

    Herramientas de desarrollo software y hardware abundantes y de bajo costo.

    Familia de controladores Pic (2004-2007):

    FamiliaPIC10F20x 4 Dispositivos Familia PIC12CXXX/12FXXX 12/14 bits 8

    Dispositivos.

    Familia PIC16C5X 12 bits 9 Dispositivos Familia PIC16CXXX/16FXXX 14 bits 74

    Dispositivos.

    Familia PIC18CXXX/18FXXX 16 bits 82 Dispositivos.

    Versiones de Memoria de Programa: OTP, EPROM, EEPROM y FLASH.

    Algunas caractersticas de las familias anteriores:

    FamiliaPIC10F20x:

    Encapsulados de 6 pines (SOT). Oscilador

    interno 4MHz.

    Memoria de programa de 12 bits y datos de 8

    bits.

    Juego de 33 instrucciones.

  • Familia PIC12CXXX/12FXXX:

    Encapsulados de 8 pines (DIP SOIC).

    Instrucciones de 12 14 bits en Memoria de Programa.

    Juego de 33 35 instrucciones.

    Disponibles con EEPROM de datos.

    Modelos con mdulos de conversin A/D.

    Permiten alimentacin a baja tensin de hasta 2,5V.

    FamiliaPIC16C5X:

    Encapsulados de 14, 18, 20 y 28 pines.

    Instrucciones de 12 bits.

    Juego de 33 instrucciones.

    Es la familia base de partida de los PIC.

    Familia PIC16CXXX/16FXXX + PIC 14000:

    Encapsulados desde 18 hasta 68 pines (DIP, SSOP, PLCC,

    QFP).

    Instrucciones de 14 bits en Memoria de Programa.

    Juego de 35 instrucciones.

    Gran variedad de mdulos integrados.

    Familia PIC18CXXX/18FXXX:

    Encapsulados de 18 a 80 pines.

    Memoria de Programa de 16 bits.

    Juego de 77 instrucciones (multiplicacin).

  • Microcontroladores PIC en la actualidad:

    PICs de 32 bits:

    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 informacin increble con un ncleo de

    procesador de tipo M4K.

    PICs ms comnmente usados:

    PIC12C508/509 (encapsulamiento reducido de

    8 pines, oscilador interno, popular en pequeos

    diseos como el iPod remote)

    PIC16F84(Considerado obsoleto, pero imposible de

    descartar y muy popular) PIC16F84A (Buena actualizacin

    del anterior, algunas versiones funcionan a 20 MHz,

    compatible 1:1)

    PIC12F629/675 PIC16F628 PIC16F88 (Nuevo

    sustituto del PIC16F84A con ms memoria, oscilador

    interno, PWM, etc. que podra convertirse en popular

    como su hermana menor). La familia PIC16F87X y

    PIC16F87XA (los hermanos mayores del PIC16F84 y

    PIC16F84A, con cantidad de mejoras incluidas en

    hardware. Bastante comn en proyectos de

    aficionados)

  • PIC18F2455 y similares con puerto USB 2.0

    PIC18F2550 PIC18F452 PIC18F4550 dsPIC30F3011

    (Ideales para control electrnico de motores elctricos

    de induccin).

    Programacin del PIC:

    Para transferir el cdigo de un ordenador al PIC normalmente se usa un dispositivo

    llamado programador. La mayora de PICs que Microchip distribuye hoy en da incorporan

    ICSP (In Circuit Serial Programming, programacin serie incorporada) o LVP (Low Voltage

    Programming, programacin a bajo voltaje), lo que permite programar el PIC directamente

    en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 como reloj y datos y el

    MCLR para activar el modo programacin aplicando un voltaje de 13 voltios.

    Existen muchos programadores de PICs, desde los ms simples que dejan al

    software los detalles de comunicaciones, a los ms complejos, que pueden verificar el

    dispositivo a diversas tensiones de alimentacin e implementan en hardware casi todas las

    funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs

    pre programado, como interfaz para enviar las rdenes al PIC que se desea programar.

    Uno de los programadores ms simples es el TE20, que utiliza la lnea TX del puerto

    RS232 como alimentacin y las lneas DTR y CTS para mandar o recibir datos cuando el

    microcontrolador est en modo programacin. El software de programacin puede ser el

    ICprog, muy comn entre la gente que utiliza este tipo de microcontroladores.

    Programadores:

    PICStart Plus (puerto serie y USB).

    Promate II (puerto serie).

    MPLAB PM3 (puerto serie y USB).

    ICD2 (puerto serie y USB).

    PICKit 1 (USB) IC-Prog 1.06B.

    PICAT 1.25 (puerto USB2.0 para PICs y Atmel).

    WinPic 800 (puerto paralelo, serie y USB).

    Terusb1.0.

  • Depuradores integrados:

    ICD (Serie).

    ICD2 (USB).

    Emuladores:

    Proteus ISIS.

    ICE2000 (puerto paralelo, convertidor a USB disponible).

    ICE4000 (USB).

    PIC EMU.

    PIC CDlite.

    Juego de Instrucciones:

    El juego de instrucciones para los microcontroladores 16F8XX incluye 35

    instrucciones en total. La razn para un nmero tan reducido de instrucciones yace en la

    arquitectura RISC. Esto quiere decir que las instrucciones son bien optimizadas desde el

    aspecto de la velocidad operativa, la sencillez de la arquitectura y la compacidad del

    cdigo. Lo malo de la arquitectura RISC es que se espera del programador que haga

    frente a estas instrucciones. Por supuesto, esto es relevante slo si se utiliza el lenguaje

    ensamblador para la programacin.

    Tiempo de ejecucin de instrucciones:

    Todas las instrucciones se ejecutan en un ciclo. Las nicas excepciones pueden ser

    las instrucciones de ramificacin condicional o las instrucciones que cambian el contenido

    del contador de programa. En ambos casos, dos ciclos de reloj son necesarios para la

    ejecucin de la instruccin, mientras que el segundo ciclo se ejecuta como un NOP (No

    operacin). Las instrucciones de un ciclo consisten en cuatro ciclos de reloj. Si se utiliza un

    oscilador de 4 MHz, el tiempo nominal para la ejecucin de la instruccin es 1S. En

    cuanto a las instrucciones de ramificacin, el tiempo de ejecucin de la instruccin es 2S.

  • Juego de instrucciones de los microcontroladores PIC de 14 bits:

  • 1. Si un registro de E/S est modificado, el valor utilizado ser el valor presentado en

    los pines del microcontrolador.

    2. Si la instruccin se ejecuta en el registro TMR y si d=1, el pre-escalador ser

    borrado.

    3. Si la instruccin se ejecuta en el registro TMR y si d=1, el pre-escalador ser

    borrado.

    Arquitectura de los microcontroladores PIC de 8 bits:

  • Evolucin del Microcontrolador

    A medida que fue transcurriendo el tiempo los microcontroladores fueron tomando

    mayor relevancia en el mbito de la electrnica y la computacin, esto debido a los

    grandes resultados que se obtienen al integrarlos a los distintos circuitos elctricos

    tomando muchas veces el control completo de un sistema y tambin a la gran evolucin

    que tuvieron durante el transcurso del tiempo en cuanto a su arquitectura y

    funcionamiento, continuacin les presentamos una pequea lista de la evolucin de los

    microcontroladores.

    8048 (Intel):

    El primer microcontrolador. Antiguo y un

    poco obsoleto (para los estndares de hoy en

    da), es an muy popular debido a su bajo precio,

    disponibilidad y un enorme rango de herramientas

    de desarrollo. Tiene arquitectura de Harvard

    modificada con programa ROM en chip con una

    memoria RAM de 64 a 256 bytes adicionales en el chip. La entrada salida tiene su propio

    espacio de memoria.

    8051 (Intel y otros):

    Segunda generacin de microcontroladores Intel, ha marcado muchas de las caractersticas actuales. Tiene un diseo un poco raro, pero es muy potente y sencillo de programar (una vez que se conoce). Su arquitectura es Harvard Modificada con espacio de direcciones separadas para memoria de programa y memoria de datos.

    El 8051 puede direccionar hasta 64k de memoria de datos externa, y solo puede acceder a ella mediante direccionamiento indirecto. 80c196 (MCS-96)

  • 80186,80188 (Intel):

    Estos chips son, fundamentalmente, la versin en

    microcontrolador del 8086 y del 8088 (del famoso IBM

    PC).

    El chip tiene: 2 Canales de DMA (acceso directo a

    memoria) 2 Contadores/temporizadores. Controlador de

    interrupcin programable. Refresco de RAM dinmica.

    Una de las mayores ventajas de estos dispositivos es que

    se pueden utilizar herramientas de desarrollo estndar para PC (Compiladores,

    ensambladores, etc.). 80386 EX Intel

    El 80386 EX:

    Es por supuesto un 386 vestido de microcontrolador,

    dentro del chip existen:

    Entrada/Salida serie. Manejo de la alimentacin del

    chip. DMA (Acceso directo a memoria)

    Contadores/Temporizadores. Circuito de refresco para

    memoria DRAM. Una de las mayores ventajas de estos

    dispositivos es que se pueden utilizar herramientas de desarrollo estndar para PC

    (Compiladores, ensambladores, etc.).

    65C02/W65C816S/W65C134S WDC (Western Design Center):

    El Western Design Center Inc. es el dueo original y diseador del microcontrolador 65C02 de 8-bit que se us en el Apple original. Para el ordenador Commodore y el Atari WDC desarrollo el microprocesador 65C816 de 16 bits.

    El W65C816S es un microcontrolador con un 65C02

    dentro.

    El W65C134S es un microcontrolador hecho con un

    65C816.

  • 68HC05 (Motorola):

    Est basado en el antiguo 6800, tiene arquitectura Von-

    Neuman donde las instrucciones, datos, entrada/salida y

    temporizadores ocupan un mismo espacio de memoria.

    El puntero de pila tiene un ancho de palabra de 5 bits, lo que

    limita la pila a 32 posiciones, algunos modelos incluyen:

    Conversor A/D. Sintetizador PLL.E/S serie.

    68HC11 (Motorola y Toshiba):

    El popular 68HC11 es un poderoso microcontrolador de

    Motorola de 8 bits con las siguientes caractersticas:

    Direcciones de 16 bits.

    Juego de instrucciones similar a la familia 68xx. (6801,

    6805, 6809)

    Tiene un nico espacio de memoria principal donde

    estn las instrucciones, datos, E/S, y temporizadores.

    PIC (Microchip):

    Aunque el xito de los microcontroladores PIC es

    reciente, su introduccin en el mercado se realiz hace

    20 aos .Los microcontroladores PIC fueron los primeros

    microcontroladores RISC, RISC generalmente implica

    que la simplicidad de diseo permite aadir ms

    caractersticas a bajo precio y la lnea PIC no es una

    excepcin. Aunque tiene pocas instrucciones (33

    instrucciones el 16C5X mientras que el Intel 8048 tiene

    ms de 90), la lnea PIC tiene las caractersticas siguientes:

    Buses de instrucciones y datos separados (arquitectura Harvard) lo que permite el

    acceso simultneo a las instrucciones y a los datos, y el solapamiento de algunas

  • operaciones para incrementar las prestaciones de proceso. Los microcontroladores PIC

    estn ganando popularidad debido a su bajo costo, pequeo tamao y a su bajo consumo

    pueden ser usados en reas en las que antes se pensaba que eran inapropiados.

    COP400 Familia:

    La familia C0P400 es un microcontrolador de 4

    bit P2CMOS que ofrece desde 512 hasta 2K de ROM

    y desde 324 hasta 1604 de memoria RAM. Lejos

    de la vieja tecnologa, los microcontroladores de 4 bits

    tienen un importante mercado y tienen ms aplicaciones que nunca. Estos dispositivos son

    muy verstiles, hay ms de 60 diferentes.

    COP800 Familia (National Semiconductor):

    La familia COP800 Basic es un microcontrolador de 8

    bits totalmente esttico, fabricado usando puertas

    doubl metal silicn de tecnologa microCMOS.

    Este microcontrolador de bajo costo contiene:

    Temporizadores. Lgica de Interrupcin. Memoria ROM.

    Memoria RAM. Entrada/Salida Memoria de E/S

    mapeada. Entrada/Salida serie Microwire. UART

    Muchos temporizadores/Contadores de 16 bits Interrupciones vectorizadas. Comparador.

    Temporizador WATCHDOG. Monitor de reloj. Conversor A/D de 8 canales. Proteccin

    Brownout.

    Microcontroladores en la actualidad.

    El microcontrolador es uno de los logros ms sobresalientes del siglo XX. Hace un

    cuarto de siglo tal afirmacin habra parecido absurda. Pero cada ao, el microcontrolador

    se acerca ms al centro de nuestras vidas, forjndose un sitio en el ncleo de una

    mquina tras otra. Su presencia ha comenzado a cambiar la forma en que percibimos el

    mundo e incluso a nosotros mismos. Cada vez se hace ms difcil pasar por alto el

    microcontrolador como otro simple producto en una larga lnea de innovaciones

    tecnolgicas.

  • Ninguna otra invencin en la historia se ha diseminado tan aprisa por todo el mundo

    o ha tocado tan profundamente tantos aspectos de la existencia humana. Hoy existen casi

    15,000 millones de microchips de alguna clase en uso. De cara a esa realidad, quin

    puede dudar que el microcontrolador no slo est transformando los productos que

    usamos, sino tambin nuestra forma de vivir y, por ltimo, la forma en que percibimos la

    realidad?

    No obstante que reconocemos la penetracin del microcontrolador en nuestras

    vidas, ya estamos creciendo indiferentes a la presencia de esos miles de mquinas

    diminutas que nos encontramos sin saberlo todos los das. As que, antes de que se

    integre de manera demasiado imperceptible en nuestra diaria existencia, es el momento

    de celebrar al microcontrolador y la revolucin que ha originado, para apreciar el milagro

    que es en realidad cada uno de esos chips de silicio diminutos y meditar acerca de su

    significado para nuestras vidas y las de nuestros descendientes.

    Primero, la revolucin. Si desechramos el microchip de todas y cada una de las

    aplicaciones en las que ahora encuentra un hogar, terminaramos aturdidos y

    aterrorizados por la prdida. La cocina moderna quedara casi inservible porque el horno

    de microondas, la mquina lavavajillas y la mayora de otros aparatos domsticos no

    funcionaran ms. El televisor y la videocasetera se reduciran a la negrura, el equipo

    estereofnico se volvera mudo y la mayora de los relojes se detendran. El automvil no

    arrancara. Los aviones no podran despegar del suelo. El sistema telefnico quedara

    muerto, al igual que la mayora de las luces de las calles, termostatos y, desde luego, unos

    500 millones de computadoras. Y stas son tan slo las aplicaciones ms evidentes.

    Todas las fbricas del mundo industrial pararan y tambin la red elctrica, las bolsas de

    valores y el sistema bancario global. Pero vayamos ms a fondo: los marcapasos se

    detendran tambin, al igual que el equipo quirrgico y los sistemas de supervisin fetal.

    Todo debido a la prdida de un diminuto cuadradito de silicio del tamao de la ua de un

    dedo, que pesa menos que una estampilla postal, y construido tan slo de cristal, fuego,

    agua y metal.

    Desde luego, ste es el milagro. Decenas de miles de microcontroladores se

    integran todos los das en las plantas de manufactura ms avanzadas jams conocidas,

    donde un simple grnulo de polvo puede significar el desastre, donde los procesadores

    ocurren en ambientes ms limpios que ningn otro sitio en la tierra. Incluso el agua que

    utiliza para enjuagar las superficies de los chips terminados es ms pura que la que se

    utiliza en la ciruga a corazn abierto. Y no obstante, pese a un proceso de manufactura

    extraordinariamente refinado, los microchips se producen en volumen a razn de ms de

    1,000 millones de unidades por ao. Para poner esta complejidad en perspectiva,

    imagnese que dentro de cada microcontrolador diminuto existe una estructura tan

    compleja como una ciudad de tamao mediano, incluidas todas sus lneas de energa

    elctrica, lneas telefnicas, lneas de drenaje, edificios, calles y casas. Ahora imagine que

    en esa misma ciudad, millones de personas se desplazan a la velocidad de la luz y con la

  • sincronizacin perfecta en una danza de coreografa muy complicada. Y eso es tan slo

    un chip. De todas las estadsticas asombrosas que se utilizan para describir el mundo del

    microcontrolador, ninguna es ms extraordinaria que sta: el nmero total de transistores

    que integran todos los microchips que se producirn en el mundo este ao es equivalente

    al nmero de gotas de lluvia que caern en California durante ese mismo periodo.

    Pero el microcontrolador ya ha eclipsado hasta a la Revolucin Industrial.

    Evolucionando a mayor velocidad que ningn otro invento en la historia, la capacidad del

    microprocesador ha aumentado 10,000 veces en los ltimos 25 aos. Lo que es notable, y

    quiz un poco atemorizante, es que por todos los indicios, estamos tan slo a la mitad de

    la historia del microcontrolador. No es muy aventurado sugerir que la humanidad tardar

    otro siglo en comprender todas las implicaciones de esta revolucin. Por lo tanto, todos los

    milagros de que somos testigos hoy como resultado del microcontrolador pueden ser si

    acaso una pequesima fraccin de todas las maravillas que obtendremos de este

    dispositivo hacia el nuevo milenio.

    El ms grande atributo del microcontrolador es que puede integrar inteligencia casi

    a cualquier artefacto. Se le puede entrenar para adaptarse a su entorno, responder a

    condiciones cambiantes y volverse ms eficiente y que responda a las necesidades nicas

    de sus usuarios. Desmonte cualquier rincn de la vida moderna, retire la capa exterior de

    cajas y material de construccin y luces parpadeantes, y como semillas en una maceta,

    aparecern microcontroladores por millones.

    Principales mbitos donde intervienen los microcontroladores:

    Los siguientes son algunos campos en los que los microcontroladores tienen gran uso:

    En la industria del automvil: Control de motor, alarmas, regulador del servofreno,

    dosificador, etc.

    En la industria de los electrodomsticos: control de calefacciones, lavadoras,

    cocinas elctricas, etc.

    En informtica: como controlador de perifricos. Por ejemplo para controlar

    impresoras, plotters, cmaras, scanner terminales, unidades de disco, teclados,

    comunicaciones (mdems), etc.

    En la industria de imagen y sonido: tratamiento de la imagen y sonido, control de los

    motores de arrastre del giradiscos, magnetfono, video, etc.

  • En la industria, en general se utilizan en:

    Regulacin: todas las familias de microcontroladores incorporan en alguna de sus

    versiones conversores A/D y D/A, para la regulacin de la velocidad de las

    mquinas, de niveles, de temperatura, etc.

    Automatismos: La enorme cantidad de lneas de entrada y salidas, y su inmunidad

    al ruido le hacen muy valioso para el control secuencial de procesos. Por ejemplo

    control de mquinas, herramientas, apertura y cierre automtico de puertas segn

    condiciones, plantas empaquetadoras, aparatos de maniobra de ascensores, etc.

    Robtica: para control de los motores y captura de seales de los diferentes

    sensores, fabricacin de controladores robticos para sistemas automticos, etc.

    Instrumentos porttiles compactos:

    Radio paginador numrico (beeper).

    Planmetro electrnico.

    Nivelmetro digital.

    Identificador-probador de circuitos integrados.

    Tacmetro digital.

    Panel frontal de un osciloscopio.

    Controlador de display LCD.

    Analizador de espectros, etc.

    Dispositivos autnomos:

    Fotocopiadoras.

    Mquinas de escribir.

    Selector, Codificador decodificador de TV.

    Localizador de peces.

    Telfonos de tarjeta.

    Telfonos celulares.

    Cerraduras electrnicas.

    Sistemas de seguridad.

  • Empresas fabricantes de microcontroladores

    Algunas empresas dedicadas al rubro de la fabricacin de los microcontroladores y

    su mayor aporte en los comienzos de la carrera de los microcontroladores.

    Microchip:

    Microchip Technology Inc. es una empresa

    fabricante de microcontroladores, memorias y

    semiconductores analgicos, situada en Chandler, Arizona, EE. UU.

    Su Producto ms popular son los microcontroladores PIC de 8 bits.

    Atmel Corporation:

    Atmel es una compaa de semiconductores, fundada en

    1984. Su lnea de productos incluye microcontroladores

    (incluyendo derivados del 8051, el AT91SAM basados en ARM, y

    sus arquitecturas propias AVR y AVR32), dispositivos de

    radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y

    muchas otras. Tambin tiene capacidad de ofrecer soluciones del tipo system on chip

    (SoC).

    Freescale Semiconductor:

    Freescale Semiconductor es una compaa global

    lder en la industria de semiconductores enfocada proveer

    procesamiento embebido y productos de conectividad.

    Actualmente, se enfoca al suministro de productos para la

    industria automotriz, de redes, comunicaciones inalmbricas, control industrial e industrias

    de consumo electrnico. Con se oferta de procesadores embebidos y de productos

    complementarios, proporciona una solucin completa de semiconductores y software.

  • Texas Instruments:

    Texas Instruments o TI, es una empresa

    norteamericana que desarrolla y comercializa

    semiconductores y tecnologa para sistemas de cmputo. Igualmente, es el mayor

    productor de procesadores digitales de seal y semiconductores analgicos. TI es el tercer

    mayor fabricante de semiconductores del mundo tras Intel y Samsung y es el mayor

    suministrador de circuitos integrados para telfonos mviles. Otras reas de actividad

    incluyen circuitos integrados para mdem de banda ancha, perifricos para ordenadores,

    dispositivos digitales de consumo y RFID.

    ZiLOG Inc.

    ZiLOG Inc. es un fabricante de microprocesadores y

    microcontroladores. Su producto ms conocido es el Zilog Z80 de 8

    bits.

    Motorola:

    Motorola Empresa dedicada a fabricar microprocesadores y

    microcontroladores entre otros productos, su mayor logro en la

    industria fue poner al Mercado un microprocesador de 8 bits, llamado

    6800. Motorola fue la primera compaa en construir otros perifricos

    como el 6820 y el 6850.

    Intel:

    Intel empresa dedicada a la fabricacin de

    microcontroladores y microprocesadores, aunque no

    trabajaba sola obtuvo un logro en abril de 1974 pone en el

    Mercado el microprocesador bajo el nombre 8080 con

    capacidad de direccionar 64kb de memoria, con 75

    instrucciones y un precio de inicio de $360 dlares.

  • CONCLUSION

    El nmero de productos que funcionan en base a uno o varios microcontroladores

    aumenta de forma exponencial. No es aventurado pronosticar que en el siglo XXI habr

    pocos elementos que carezcan de microcontrolador. La industria Informtica acapara gran

    parte de los microcontroladores que se fabrican. Casi todos los perifricos del computador,

    desde el ratn o el teclado hasta la impresora, son regulados por el programa de un

    microcontrolador. Los electrodomsticos de lnea blanca (lavadoras, hornos, lavavajillas,

    etc.) y de lnea marrn (televisores, vdeos, aparatos musicales, etc.) incorporan

    numerosos microcontroladores. Igualmente, los sistemas de supervisin, vigilancia y

    alarma en los edificios utilizan estos chips para optimizar el rendimiento de ascensores,

    calefaccin, aire acondicionado, alarmas de incendio, robo, etc. Las comunicaciones y sus

    sistemas de transferencia de informacin utilizan profundamente estos pequeos

    computadores incorporndolos en los grandes automatismos y en los modernos telfonos.

    La instrumentacin y la electro medicina son dos campos idneos para la implementacin

    de circuitos integrados. Una importante industria suministradora de microcontroladores es

    la automocin, que los aplica en el control de aspectos tan populares como la

    climatizacin, la seguridad y los frenos ABS. Las comunicaciones y los productos de

    consumo general absorben ms de la mitad de la produccin de microcontroladores. El

    resto se distribuye entre el sector de automocin, los computadores y la industria.

    Como conclusin y al tratar el tema podemos darnos cuenta del avance sustancial

    que han tenido los microcontroladores, estos son circuitos integrados que llegaron a

    revolucionar la industria de la computacin pero ms an la tecnologa en general, ya que

    si nos ponemos a pensar, la gran mayora (por no decir todos) los dispositivos electrnicos

    tienen uno o ms microcontroladores que le permiten cumplir a cabalidad las funciones

    que se les fueron asignadas, esto debido a la gran capacidad que tienen integrado estos

    pequeos pero poderosos dispositivos. Muchos futuristas predicen que en siete

    generaciones contadas a partir de ahora, estos chips incorporarn reconocimiento del

    habla a procesadores de textos y sistemas de entrada de pedidos. Producirn grficos en

    3D del tamao de muros para televisin, teleconferencias e incluso pelculas

    personalizadas. Dirigirn nuestros vehculos para optimizar la seguridad y crearn mundos

  • virtuales por los que nos desplazaremos. Darn instruccin a nuestros hijos, supervisarn

    nuestra salud, reemplazarn partes perdidas del cuerpo y, a travs de una retcula de

    miles de millones de sensores, nos conectarn con el mundo en formas que slo podemos

    imaginar vagamente.

    En definitiva, el micro controlador puede ser considerado como uno de los inventos

    ms importantes de este siglo, y quien sabe si tambin del prximo.