primer libro electronica

Upload: fernando-leon-velasquez

Post on 05-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

libro realizado con datos de wikipedia

TRANSCRIPT

  • ndice general

    1 Sistema programado 11.1 Vase tambin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    2 Microcontrolador 22.1 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Arquitecturas de computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3.1 Arquitectura Von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3.2 Arquitectura Harvard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.4 Procesador en detalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4.1 Registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4.2 Unidad de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.3 Unidad aritmtico-lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.4 Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.5 Conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.5 Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.6 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.7 Perifricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.7.1 Entradas y salidas de propsito general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.7.2 Temporizadores y contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.7.3 Conversor analgico/digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7.4 Puertos de comunicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7.5 Comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7.6 Modulador de ancho de pulsos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7.7 Memoria de datos no voltil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.8 Familias de microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.9 Vase tambin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.10 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3 Sistema secuencial 13

    i

  • ii NDICE GENERAL

    4 Sistema combinacional 144.1 Funciones combinacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Vase tambin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3 Origen del texto y las imgenes, colaboradores y licencias . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.3.1 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.3.2 Imgenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.3.3 Licencia del contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

  • Captulo 1

    Sistema programado

    Un sistema programado es un circuito electrnico quecontiene un microprocesador o un microcontrolador inte-grado en el mismo. Mediante un programa informtico al-macenado en una memoria interna, se realiza el control y lagestin del sistema.Este tipo de circuitos son, funcionalmente, idnticos a unsistema cableado, con la diferencia fundamental de que enun sistema programado, modicar su funcionamiento lgi-co se reduce a un simple cambio del programa (software)del circuito microprogramado, con la reduccin de costesque ello supone. Realizar un cambio similar en un sistemacableado requiere un cambio parcial o completo de su es-tructura fsica (cables o componentes que contiene).De esta forma, automatismos que emplean un sistema pro-gramado son menos costosos de reutilizar que aquellos queestn constituidos por un sistema cableado.Las desventajas principales de este tipo de sistemas son:

    Velocidad

    Coste

    La velocidad de un sistema programado puede ser un pro-blema dependiendo de la velocidad crtica del sistema com-pleto. Si un sistema debe de responder ante una seal deentrada con un tiempo de reaccin muy reducido (del or-den de microsegundos o menos) es posible que un sistemaprogramado tenga un coste demasiado elevado para cum-plir este requisito. En la mayora de los casos esto no esnecesario.En la actualidad, el coste es cada vez un problema menordebido a la disminucin de los costes de produccin comoconsecuencia de la gran demanda de la electrnica digitalen el mundo. Sin embargo, para sistemas muy simples, conuna funcionalidad muy concreta, puede resultar ms caroemplear un sistema programado.

    1.1 Vase tambin Microcontrolador Sistema secuencial Sistema combinacional

    1

  • Captulo 2

    Microcontrolador

    Microcontrolador Motorola 68HC11 y chips de soporte.

    Die del microcontrolador de 8 bits Intel 8742, con CPU a 12 MHz,128 bytes de memoria RAM, 2048 bytes de EPROM, y E/S en unchip.

    Un microcontrolador (abreviado C, UC o MCU) es uncircuito integrado programable, capaz de ejecutar las r-denes grabadas en su memoria. Est compuesto de va-rios bloques funcionales, los cuales cumplen una tarea es-

    Microcontrolador PIC 18F8720 en encapsulado TQFP de 80 pines.

    pecca. Un microcontrolador incluye en su interior lastres principales unidades funcionales de una computadora:unidad central de procesamiento, memoria y perifricos deentrada/salida.Algunos microcontroladores pueden utilizar palabras decuatro bits y funcionan a velocidad de reloj con frecuenciastan bajas como 4 kHz, con un consumo de baja potencia(mW o microvatios). Por lo general, tendr la capacidad demantenerse a la espera de un evento como pulsar un botno de otra interrupcin; as, el consumo de energa duranteel estado de reposo (reloj de la CPU y los perifricos dela mayora) puede ser slo de nanovatios, lo que hace quemuchos de ellos sean muy adecuados para aplicaciones conbatera de larga duracin. Otros microcontroladores puedenservir para roles de rendimiento crtico, donde sea necesa-rio 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 da-

    2

  • 2.2. CARACTERSTICAS 3

    tos en la memoria ROM. Para que pueda controlar algnproceso es necesario generar o crear y luego grabar en laEEPROM o equivalente del microcontrolador algn pro-grama, el cual puede ser escrito en lenguaje ensambladoru otro lenguaje para microcontroladores; sin embargo, pa-ra que el programa pueda ser grabado en la memoria delmicrocontrolador, debe ser codicado en sistema numri-co hexadecimal que es nalmente el sistema que hace tra-bajar al microcontrolador cuando ste es alimentado conel voltaje adecuado y asociado a dispositivos analgicos ydiscretos para su funcionamiento.[1]

    2.1 HistoriaEl primer microcontrolador fue el Intel 4004 de 4 bits, lan-zado en 1971, seguido por el Intel 8008 y otrosms capaces.Sin embargo, ambos procesadores requieren circuitos adi-cionales para implementar un sistema de trabajo, elevandoel costo del sistema total.El Instituto Smithsoniano dice que los ingenieros de TexasInstruments Gary Boone y Michael Cochran lograron crearel primer microcontrolador, TMS 1000, en 1971; fue co-mercializado en 1974. Combina memoria ROM, memoriaRAM, microprocesador y reloj en un chip y estaba destina-da a los sistemas embebidos.[2]

    Debido en parte a la existencia del TMS 1000,[3] Intel desa-rroll un sistema de ordenador en un chip optimizado paraaplicaciones de control, el Intel 8048, que comenz a co-mercializarse en 1977.[3] Combina memoria RAM y ROMen el mismo chip y puede encontrarse en ms de mil millo-nes de teclados de compatible IBM PC, y otras numerosasaplicaciones. El en ese momento presidente de Intel, Lu-ke J. Valenter, declar que el microcontrolador es uno delos productos ms exitosos en la historia de la compaa, yampli el presupuesto de la divisin en ms del 25%.La mayora de los microcontroladores en este momento tie-nen dos variantes. Unos tena una memoria EPROM re-programable, signicativamente ms caros que la variantePROM que era slo una vez programable. Para borrar laEPROM necesita exponer a la luz ultravioleta la tapa decuarzo transparente. Los chips con todo opaco representa-ban un coste menor.En 1993, el lanzamiento de la EEPROM en los micro-controladores (comenzando con el Microchip PIC16x84)[4]permite borrarla elctrica y rpidamente sin necesidadde un paquete costoso como se requiere en EPROM, loque permite tanto la creacin rpida de prototipos y laprogramacin en el sistema. El mismo ao, Atmel lanza elprimer microcontrolador que utiliza memoria ash.[5] Otrascompaas rpidamente siguieron el ejemplo, con los dos ti-pos de memoria.

    El costo se ha desplomado en el tiempo, con el ms baratomicrocontrolador de 8 bits disponible por menos de 0,25dlares para miles de unidades en 2009, y algunos micro-controladores de 32 bits a 1 dlar por cantidades similares.En la actualidad los microcontroladores son baratos y fcil-mente disponibles para los acionados, con grandes comu-nidades en lnea para ciertos procesadores.En el futuro, la MRAM podra ser utilizada en microcon-troladores, ya que tiene resistencia innita y el coste de suoblea semiconductora es relativamente bajo.

    2.2 Caractersticas

    Esquema de un microcontrolador. En esta gura, vemos al micro-controlador metido dentro de un encapsulado de circuito integra-do, con su procesador (CPU), buses, memoria, perifricos y puertosde entrada/salida. Fuera del encapsulado se ubican otros circuitospara completar perifricos internos y dispositivos que pueden co-nectarse a los pines de entrada/salida. Tambin se conectarn alos pines del encapsulado la alimentacin, masa, circuito de com-pletamiento del oscilador y otros circuitos necesarios para que elmicrocontrolador pueda trabajar.

    Losmicrocontroladores estn diseados para reducir el cos-to econmico y el consumo de energa de un sistema enparticular. Por eso el tamao de la unidad central de proce-samiento, la cantidad de memoria y los perifricos inclui-dos dependern de la aplicacin. El control de un electrodo-mstico sencillo como una batidora utilizar un procesadormuy pequeo (4 u 8 bits) porque sustituir a un autmatanito. En cambio, un reproductor de msica y/o vdeo di-gital (MP3 o MP4) requerir de un procesador de 32 bits ode 64 bits y de uno o ms cdecs de seal digital (audio y/ovdeo). El control de un sistema de frenos ABS (AntilockBrake System) se basa normalmente en un microcontrola-dor de 16 bits, al igual que el sistema de control electrnicodel motor en un automvil.

  • 4 CAPTULO 2. MICROCONTROLADOR

    Los microcontroladores representan la inmensa mayora delos chips de computadoras vendidos, sobre un 50% son con-troladores simples y el restante corresponde a DSP msespecializados. Mientras se pueden tener uno o dos micro-procesadores de propsito general en casa (Ud. est usandouno para esto), usted tiene distribuidos seguramente entrelos electrodomsticos de su hogar una o dos docenas de mi-crocontroladores. Pueden encontrarse en casi cualquier dis-positivo electrnico como automviles, lavadoras, hornosmicroondas, telfonos, etc.Un microcontrolador diere de una unidad central de pro-cesamiento normal, debido a que es ms fcil convertirlaen una computadora en funcionamiento, con un mnimo decircuitos integrados externos de apoyo. La idea es que el cir-cuito integrado se coloque en el dispositivo, enganchado ala fuente de energa y de informacin que necesite, y eso estodo. Un microprocesador tradicional no le permitir haceresto, ya que espera que todas estas tareas sean manejadaspor otros chips. Hay que agregarle los mdulos de entra-da y salida (puertos) y la memoria para almacenamiento deinformacin.Un microcontrolador tpico tendr un generador de relojintegrado y una pequea cantidad de memoria de accesoaleatorio y/o ROM/EPROM/EEPROM/ash, con lo quepara hacerlo funcionar todo lo que se necesita son unospocos programas de control y un cristal de sincronizacin.Los microcontroladores disponen generalmente tambin deuna gran variedad de dispositivos de entrada/salida, co-mo convertidor analgico digital, temporizadores, UARTsy buses de interfaz serie especializados, como I2C y CAN.Frecuentemente, estos dispositivos integrados pueden sercontrolados por instrucciones de procesadores especializa-dos. Los modernos microcontroladores frecuentemente in-cluyen un lenguaje de programacin integrado, como el len-guaje de programacin BASIC que se utiliza bastante coneste propsito.Los microcontroladores negocian la velocidad y la exi-bilidad para facilitar su uso. Debido a que se utiliza bas-tante sitio en el chip para incluir funcionalidad, como losdispositivos de entrada/salida o la memoria que incluye elmicrocontrolador, se ha de prescindir de cualquier otra cir-cuitera.

    2.3 Arquitecturas de computadora

    Bsicamente existen dos arquitecturas de computadoras, ypor supuesto, estn presentes en el mundo de los microcon-troladores: Von Neumann y Harvard. Ambas se diferencianen la forma de conexin de la memoria al procesador y enlos buses que cada una necesita.

    2.3.1 Arquitectura Von Neumann

    La arquitectura Von Neumann utiliza el mismo dispositivode almacenamiento tanto para las instrucciones como paralos datos, siendo la que se utiliza en un ordenador perso-nal porque permite ahorrar una buena cantidad de lneas deE/S, que son bastante costosas, sobre todo para aquellos sis-temas donde el procesador se monta en algn tipo de zcaloalojado en una placa madre. Tambin esta organizacin lesahorra a los diseadores de placas madre una buena canti-dad de problemas y reduce el costo de este tipo de sistemas.En un ordenador personal, cuando se carga un programaen memoria, a ste se le asigna un espacio de direccionesde la memoria que se divide en segmentos, de los cualestpicamente tenderemos los siguientes: cdigo (programa),datos y pila. Es por ello que podemos hablar de la memoriacomo un todo, aunque existan distintos dispositivos fsicosen el sistema (disco duro, memoria RAM, memoria ash,unidad de disco ptico...).En el caso de los microcontroladores, existen dos tiposde memoria bien denidas: memoria de datos (tpicamen-te algn tipo de SRAM) y memoria de programas (ROM,PROM, EEPROM, ash u de otro tipo no voltil). En estecaso la organizacin es distinta a las del ordenador personal,porque hay circuitos distintos para cada memoria y normal-mente no se utilizan los registros de segmentos, sino que lamemoria est segregada y el acceso a cada tipo de memoriadepende de las instrucciones del procesador.A pesar de que en los sistemas integrados con arquitecturaVon Neumann la memoria est segregada, y existan dife-rencias con respecto a la denicin tradicional de esta ar-quitectura; los buses para acceder a ambos tipos de memo-ria son los mismos, del procesador solamente salen el busde datos, el de direcciones, y el de control. Como conclu-sin, la arquitectura no ha sido alterada, porque la formaen que se conecta la memoria al procesador sigue el mismoprincipio denido en la arquitectura bsica.Algunas familias de microcontroladores como la Intel 8051y la Z80 implementan este tipo de arquitectura, fundamen-talmente porque era la utilizada cuando aparecieron los pri-meros microcontroladores.

    2.3.2 Arquitectura Harvard

    La otra variante es la arquitectura Harvard, y por excelenciala utilizada en supercomputadoras, en los microcontrolado-res, y sistemas integrados en general. En este caso, ademsde la memoria, el procesador tiene los buses segregados, demodo que cada tipo de memoria tiene un bus de datos, unode direcciones y uno de control.La ventaja fundamental de esta arquitectura es que permite

  • 2.4. PROCESADOR EN DETALLE 5

    adecuar el tamao de los buses a las caractersticas de cadatipo de memoria; adems, el procesador puede acceder acada una de ellas de forma simultnea, lo que se traduce enun aumento signicativo de la velocidad de procesamiento.Tpicamente los sistemas con esta arquitectura pueden serdos veces ms rpidos que sistemas similares con arquitec-tura Von Neumann.La desventaja est en que consume muchas lneas de E/Sdel procesador; por lo que en sistemas donde el procesadorest ubicado en su propio encapsulado, solo se utiliza en su-percomputadoras. Sin embargo, en los microcontroladoresy otros sistemas integrados, donde usualmente la memoriade datos y programas comparten el mismo encapsulado queel procesador, este inconveniente deja de ser un problemaserio y es por ello que encontramos la arquitectura Harvarden la mayora de los microcontroladores.Por eso es importante recordar que un microcontrolador sepuede congurar de diferentes maneras, siempre y cuandose respete el tamao de memoria que este requiera para sucorrecto funcionamiento.

    2.4 Procesador en detalle

    En los aos 1970, la electrnica digital no estaba sucien-temente desarrollada, pero dentro de la electrnica ya erauna especialidad consagrada. En aquel entonces las compu-tadoras se diseaban para que realizaran algunas operacio-nes muy simples, y si se quera que estas mquinas pudiesenhacer cosas diferentes, era necesario realizar cambios bas-tante signicativos al hardware.A principios de la dcada de 1970, una empresa japonesa leencarg a una joven compaa norteamericana que desarro-llara un conjunto de circuitos para producir una calculadorade bajo costo. Intel se dedic de lleno a la tarea y entre loscircuitos encargados desarroll uno muy especial, algo nocreado hasta la fecha: el primer microprocesador integra-do.El Intel 4004 sali al mercado en 1971, es una mquina di-gital sincrnica compleja, como cualquier otro circuito l-gico secuencial sincrnico. Sin embargo, la ventaja de estecomponente est en que aloja internamente un conjunto decircuitos digitales que pueden hacer operaciones corrien-tes para el clculo y procesamiento de datos, pero desdeuna ptica diferente: sus entradas son una serie de cdigosbien denidos, que permiten hacer operaciones de carcterespecco cuyo resultado est determinado por el tipo deoperacin y los operandos involucrados.Visto as, no hay nada de especial en un microprocesador; lamaravilla est en que la combinacin adecuada de los cdi-gos de entrada, su ejecucin secuencial, el poder saltar ha-

    cia atrs o adelante en la secuencia de cdigos sobre la basede decisiones lgicas u rdenes especcas, permite que lamquina realice un montn de operaciones complejas, nocontempladas en los simples cdigos bsicos.Hoy estamos acostumbrados a los sistemas con micropro-cesadores, pero en el lejano 1971 esta era una forma de pen-sar un poco diferente y hasta escandalosa, a tal punto queBusicom, la empresa que encarg los chips a Intel, no semostr interesada en el invento, por lo que Intel lo comer-cializ para otros que mostraron inters; el resto es historia:una revolucin sin precedentes en el avance tecnolgico dela humanidad.Es lgico pensar que el invento del microprocesador inte-grado no fue una revelacin divina para sus creadores, sinoque se sustent en los avances, existentes hasta el momen-to, en el campo de la electrnica digital y las teoras sobrecomputacin. Pero sin lugar a dudas fue la gota que colmla copa de la revolucin cientco-tcnica, porque permitidesarrollar aplicaciones impensadas o acelerar algunas yaencaminadas.Ahora comenzaremos a ver cmo es que est hecho un pro-cesador, no ser una explicacin demasiado detallada por-que desde su invencin ste ha tenido importantes revolu-ciones propias, pero hay aspectos bsicos que no han cam-biado y que constituyen la base de cualquier microprocesa-dor. En la Figura 'Esquema de un microcontrolador' pode-mos ver la estructura tpica de un microprocesador, con suscomponentes fundamentales, claro est que ningn proce-sador real se ajusta exactamente a esta estructura, pero aunas nos permite conocer cada uno de sus elementos bsicosy sus interrelaciones.

    2.4.1 Registros

    Son un espacio de memoria muy reducido pero necesariopara cualquier microprocesador, de aqu se toman los datospara varias operaciones que debe realizar el resto de los cir-cuitos del procesador. Los registros sirven para almacenarlos resultados de la ejecucin de instrucciones, cargar datosdesde la memoria externa o almacenarlos en ella.Aunque la importancia de los registros parezca trivial, nolo es en absoluto. De hecho una parte de los registros, ladestinada a los datos, es la que determina uno de los pa-rmetros ms importantes de cualquier microprocesador.Cuando escuchamos que un procesador es de 4, 8, 16, 32 o64 bits, nos estamos reriendo a procesadores que realizansus operaciones con registros de datos de ese tamao, y porsupuesto, esto determina muchas de las potencialidades deestas mquinas.Mientras mayor sea el nmero de bits de los registros de da-tos del procesador, mayores sern sus prestaciones, en cuan-

  • 6 CAPTULO 2. MICROCONTROLADOR

    to a poder de cmputo y velocidad de ejecucin, ya que esteparmetro determina la potencia que se puede incorporar alresto de los componentes del sistema, por ejemplo, no tie-ne sentido tener una ALU de 16 bits en un procesador de 8bits.Por otro lado un procesador de 16 bits, puede que haga unasuma de 16 bits en un solo ciclo de mquina, mientras queuno de 8 bits deber ejecutar varias instrucciones antes detener el resultado, aun cuando ambos procesadores tenganla misma velocidad de ejecucin para sus instrucciones. Elprocesador de 16 bits ser ms rpido porque puede hacerel mismo tipo de tareas que uno de 8 bits, en menos tiempo.

    2.4.2 Unidad de controlEsta unidad es de las ms importantes en el procesador, enella recae la lgica necesaria para la decodicacin y ejecu-cin de las instrucciones, el control de los registros, la ALU,los buses y cuanta cosa ms se quiera meter en el procesa-dor.La unidad de control es uno de los elementos fundamentalesque determinan las prestaciones del procesador, ya que sutipo y estructura determina parmetros tales como el tipo deconjunto de instrucciones, velocidad de ejecucin, tiempodel ciclo de mquina, tipo de buses que puede tener el sis-tema, manejo de interrupciones y un buen nmero de cosasms que en cualquier procesador van a parar a este bloque.Por supuesto, las unidades de control son el elemento mscomplejo de un procesador y normalmente estn divididasen unidades ms pequeas trabajando de conjunto. La uni-dad de control agrupa componentes tales como la unidad dedecodicacin, unidad de ejecucin, controladores de me-moria cache, controladores de buses, controlador de inte-rrupciones, pipelines, entre otros elementos, dependiendosiempre del tipo de procesador.

    2.4.3 Unidad aritmtico-lgicaComo los procesadores son circuitos que hacen bsicamen-te operaciones lgicas y matemticas, se le dedica a es-te proceso una unidad completa, con cierta independencia.Aqu es donde se realizan las sumas, restas, y operacioneslgicas tpicas del lgebra de Boole.Actualmente este tipo de unidades ha evolucionado muchoy los procesadores ms modernos tienen varias ALU, es-pecializadas en la realizacin de operaciones complejas co-mo las operaciones en coma otante. De hecho en muchoscasos le han cambiado su nombre por el de coprocesadormatemtico, aunque este es un trmino que surgi para darnombre a un tipo especial de procesador que se conecta di-rectamente al procesador ms tradicional.

    Su impacto en las prestaciones del procesador es tambinimportante porque, dependiendo de su potencia, tareas mso menos complejas, pueden hacerse en tiempos muy cortos,como por ejemplo, los clculos en coma otante.

    2.4.4 Buses

    Son el medio de comunicacin que utilizan los diferentescomponentes del procesador para intercambiar informacinentre s, eventualmente los buses o una parte de ellos estarnreejados en los pines del encapsulado del procesador.En el caso de los microcontroladores, no es comn que losbuses estn reejados en el encapsulado del circuito, ya queestos se destinan bsicamente a las E/S de propsito generaly perifricos del sistema.Existen tres tipos de buses:

    Direccin: Se utiliza para seleccionar al dispositivocon el cual se quiere trabajar o en el caso de las memo-rias, seleccionar el dato que se desea leer o escribir.

    Datos: Se utiliza para mover los datos entre los dispo-sitivos de hardware (entrada y salida).

    Control: Se utiliza para gestionar los distintos proce-sos de escritura lectura y controlar la operacin de losdispositivos del sistema.

    2.4.5 Conjunto de instrucciones

    Aunque no aparezca en el esquema, no podamos dejar alconjunto o repertorio de instrucciones fuera de la explica-cin, porque este elemento determina lo que puede hacer elprocesador.Dene las operaciones bsicas que puede realizar el proce-sador, que conjugadas y organizadas forman lo que cono-cemos como software. El conjunto de instrucciones vienensiendo como las letras del alfabeto, el elemento bsico dellenguaje, que organizadas adecuadamente permiten escri-bir palabras, oraciones y cuanto programa se le ocurra.Existen dos tipos bsicos de repertorios de instrucciones,que determinan la arquitectura del procesador: CISC yRISC.CISC, del ingls Complex instruction set computing,Computadora de Conjunto de Instrucciones Complejo. Losmicroprocesadores CISC tienen un conjunto de instruccio-nes que se caracteriza por ser muy amplio y que permitenrealizar operaciones complejas entre operandos situados enla memoria o en los registros internos. Este tipo de reperto-rio diculta el paralelismo entre instrucciones, por lo que en

  • 2.5. MEMORIA 7

    la actualidad, la mayora de los sistemas CISC de alto ren-dimiento convierten las instrucciones complejas en variasinstrucciones simples del tipo RISC, llamadas generalmen-te microinstrucciones.Dentro de los microcontroladores CISC podemos encontrara la popular familia Intel 8051 y la Z80, aunque actualmenteexisten versiones CISC-RISC de estos microcontroladores,que pretenden aprovechar las ventajas de los procesadoresRISC a la vez que se mantiene la compatibilidad hacia atrscon las instrucciones de tipo CISC.RISC, del ingls Reduced Instruction Set Computer,Computadora con Conjunto de Instrucciones Reducido. Secentra en la obtencin de procesadores con las siguientescaractersticas fundamentales:

    Instrucciones de tamao jo. Pocas instrucciones. Slo las instrucciones de carga y almacenamiento ac-ceden a la memoria de datos.

    Nmero relativamente elevado de registros de prop-sito general.

    Una de las caractersticas ms destacables de este tipo deprocesadores es que posibilitan el paralelismo en la ejecu-cin, y reducen los accesos a memoria. Es por eso que losprocesadores ms modernos, tradicionalmente basados enarquitecturas CISC, implementan mecanismos de traduc-cin de instrucciones CISC a RISC, para aprovechar lasventajas de este tipo de procesadores.Los procesadores de los microcontroladores PIC son de tipoRISC.

    2.5 MemoriaAnteriormente se ha visto que la memoria en los microcon-troladores debe estar ubicada dentro del mismo encapsula-do, esto es as la mayora de las veces, porque la idea fun-damental es mantener el grueso de los circuitos del sistemadentro de un solo integrado.En los microcontroladores la memoria no es abundante,aqu no encontrar Gigabytes de memoria como en lascomputadoras personales. Tpicamente la memoria de pro-gramas no exceder de 16 K-localizaciones de memoria novoltil (ash o eprom) para contener los programas.La memoria RAM est destinada al almacenamiento de in-formacin temporal que ser utilizada por el procesador pa-ra realizar clculos u otro tipo de operaciones lgicas. En elespacio de direcciones de memoria RAM se ubican adems

    los registros de trabajo del procesador y los de congura-cin y trabajo de los distintos perifricos del microcontro-lador. Es por ello que en la mayora de los casos, aunque setenga un espacio de direcciones de un tamao determinado,la cantidad de memoria RAM de que dispone el programa-dor para almacenar sus datos es menor que la que puededireccionar el procesador.El tipo de memoria utilizada en las memorias RAM de losmicrocontroladores es SRAM, lo que evita tener que im-plementar sistemas de refrescamiento como en el caso delas computadoras personales, que utilizan gran cantidad dememoria, tpicamente alguna tecnologa DRAM. A pesarde que la memoria SRAM es ms costosa que la DRAM,es el tipo adecuado para los microcontroladores porque s-tos poseen pequeas cantidades de memoria RAM.En el caso de la memoria de programas se utilizan diferen-tes tecnologas, y el uso de una u otra depende de las carac-tersticas de la aplicacin a desarrollar, a continuacin sedescriben las cinco tecnologas existentes, que mayor utili-zacin tienen o han tenido:

    Mscara ROM. En este caso no se graba el programaen memoria sino que el microcontrolador se fabricacon el programa, es un proceso similar al de produc-cin de los CD comerciales mediante masterizacin.El costo inicial de producir un circuito de este tipo esalto, porque el diseo y produccin de la mscara esun proceso costoso, sin embargo, cuando se necesi-tan varios miles o incluso cientos de miles de micro-controladores para una aplicacin determinada, comopor ejemplo, algn electrodomstico, el costo inicialde produccin de la mscara y el de fabricacin delcircuito se distribuye entre todos los circuitos de la se-rie, y el costo nal de sta es bastante menor que el desus semejantes con otro tipo de memoria.

    Memoria PROM (Programmable Read-Only Me-mory) tambin conocida como OTP (One Time Pro-grammable). Este tipo de memoria tambin es cono-cida como PROM o simplemente ROM.

    Los microcontroladores con memoria OTP sepueden programar una sola vez, con algn tipode programador. Se utilizan en sistemas dondeel programa no requiera futuras actualizaciones ypara series relativamente pequeas, donde la va-riante de mscara sea muy costosa, tambin pa-ra sistemas que requieren serializacin de datos,almacenados como constantes en la memoria deprogramas.

    Memoria EPROM (Erasable Programmable ReadOnly Memory). Los microcontroladores con este tipo

  • 8 CAPTULO 2. MICROCONTROLADOR

    de memoria son muy fciles de identicar porque suencapsulado es de cermica y llevan encima una ven-tanita de vidrio desde la cual puede verse la oblea desilicio del microcontrolador.

    Se fabrican as porque la memoria EPROM es re-programable, pero antes debe borrase, y para ellohay que exponerla a una fuente de luz ultraviole-ta, el proceso de grabacin es similar al empleadopara las memorias OTP.Al aparecer tecnologas menos costosas y msexibles, como las memorias EEPROM yFLASH, este tipo de memoria han cado endesuso, se utilizaban en sistemas que requierenactualizaciones del programa y para los procesosde desarrollo y puesta a punto.

    EEPROM (Electrical Erasable Programmable ReadOnly Memory). Fueron el sustituto natural de las me-morias EPROM, la diferencia fundamental es quepueden ser borradas elctricamente, por lo que la ven-tanilla de cristal de cuarzo y los encapsulados cermi-cos no son necesarios.

    Al disminuir los costos de los encapsulados, losmicrocontroladores con este tipo de memoria sehicieronms baratos y cmodos para trabajar quesus equivalentes con memoria EPROM.Otra caracterstica destacable de este tipo de mi-crocontrolador es que fue en ellos donde comen-zaron a utilizarse los sistemas de programacinen el sistema que evitan tener que sacar el micro-controlador de la tarjeta que lo aloja para haceractualizaciones al programa.

    Memoria ash. En el campo de las memorias reprogra-mables para microcontroladores, son el ltimo avancetecnolgico en uso a gran escala, y han sustituido a losmicrocontroladores con memoria EEPROM.

    A las ventajas de las memorias ash se le adicio-nan su gran densidad respecto a sus predecesoraslo que permite incrementar la cantidad de memo-ria de programas a un costo muy bajo. Puedenadems ser programadas con las mismas tensio-nes de alimentacin del microcontrolador, el ac-ceso en lectura y la velocidad de programacines superior, disminucin de los costos de produc-cin, entre otras.

    Lo ms habitual es encontrar que la memoria de programasy datos est ubicada toda dentro del microcontrolador, de

    hecho, actualmente son pocos los microcontroladores quepermiten conectar memoria de programas en el exterior delencapsulado. Las razones para estas limitaciones estndadas porque el objetivo fundamental es obtener la mayorintegracin posible y conectar memorias externas consumelneas de E/S que son uno de los recursos ms preciados delos microcontroladores.A pesar de lo anterior existen familias como la Intel 8051cuyos microcontroladores tienen la capacidad de ser expan-didos en una variada gama de conguraciones para el usode memoria de programas externa. En el caso de los PIC,estas posibilidades estn limitadas slo a algunos microcon-troladores de la gama alta, la Figura 5 muestra algunas delas conguraciones para memoria de programa que pode-mos encontrar en los microcontroladores. La conguracin(a) es la tpica y podemos encontrarla casi en el 100% delos microcontroladores. La conguracin (b) es poco fre-cuente y generalmente se logra congurando al microcon-trolador para sacricar la memoria de programas interna,sin embargo el Intel 8031 es un microcontrolador sin me-moria de programas interna. La conguracin (c) es la quese encuentra habitualmente en los microcontroladores quetienen posibilidades de expandir su memoria de programascomo algunos PIC de gama alta.Cuando se requiere aumentar la cantidad de memoria dedatos, lo ms frecuente es colocar dispositivos de memoriaexterna en forma de perifricos, de esta forma se puedenutilizar memorias RAM, FLASH o incluso discos duros co-mo los de los ordenadores personales, mientras que para losclculos y dems operaciones que requieran almacenamien-to temporal de datos se utiliza la memoria RAM internadel microcontrolador. Esta forma de expandir la memoriade datos est determinada, en la mayora de lo casos, porel tipo de repertorio de instrucciones del procesador y por-que permite un elevado nmero de conguraciones distin-tas, adems del consiguiente ahorro de lneas de E/S que selogra con el uso de memorias con buses de comunicacinserie.

    2.6 InterrupcionesLas interrupciones son esencialmente llamadas a subrutinageneradas por los dispositivos fsicos, al contrario de lassubrutinas normales de un programa en ejecucin. Comoel salto de subrutina no es parte del hilo o secuencia deejecucin programada, el controlador guarda el estado delprocesador en la pila de memoria y entra a ejecutar un c-digo especial llamado manejador de interrupciones queatiende al perifrico especco que gener la interrupcin.Al terminar la rutina, una instruccin especial le indica alprocesador el n de la atencin de la interrupcin. En esemomento el controlador restablece el estado anterior, y el

  • 2.6. INTERRUPCIONES 9

    programa que se estaba ejecutando antes de la interrupcinsigue como si nada hubiese pasado. Las rutinas de atencinde interrupciones deben ser lo ms breves posibles para queel rendimiento del sistema sea satisfactorio, por que normal-mente cuando una interrupcin es atendida, todas las demsinterrupciones estn en espera.Imagine que est esperando la visita de un amigo, al quellamaremos Juan. Usted y Juan han acordado que cuandol llegue a su casa esperar pacientemente a que le abra lapuerta. Juan no debe tocar a la puerta porque alguien en lacasa duerme y no quiere que le despierten.Ahora usted ha decidido leer un libro mientras espera a queJuan llegue a la casa, y para comprobar si ha llegado, cadacierto tiempo detiene la lectura, marca la pgina donde sequed, se levanta y va hasta la puerta, abre y comprueba siJuan ha llegado, si ste todava no est en la puerta, espera-r unos minutos, cerrar la puerta y regresar a su lecturadurante algn tiempo.Como ver este es un mtodo poco eciente para esperar aJuan porque requiere que deje la lectura cada cierto tiempoy vaya hasta la puerta a comprobar si l ha llegado, ademsdebe esperar un rato si todava no llega. Y por si fuera po-co, imagine que Juan no llega nunca porque se le presentun problema, tuvo que cancelar la cita y no pudo avisarle atiempo, o peor, que Juan ha llegado a la puerta un instantedespus que usted la cerraba. Juan, respetando lo acordado,espera un tiempo, pero se cansa de esperar a que le abrany decide marcharse porque cree que ya usted no est en lacasa o no puede atenderlo. A este mtodo de atender la lle-gada de Juan lo llamaremos encuesta.Veamos ahora otro mtodo. En esta ocasin simplementese recuesta en el sof de la sala y comienza a leer su libro,cuando Juan llegue debe tocar el timbre de la puerta y espe-rar unos momentos a que le atiendan. Cuando usted oye so-nar el timbre, interrumpe la lectura, marca la pgina dondese qued y va hasta la puerta para atender a la persona quetoca el timbre. Una vez que Juan o la persona que ha tocadoel timbre, se marcha, usted regresa a su asiento y retoma lalectura justo donde la dej. Este ltimo es un mtodo mseciente que el anterior porque le deja ms tiempo para leery elimina algunos inconvenientes como el de que Juan nun-ca llegue o se marche antes de que usted abra la puerta. Es,en principio, un mtodo simple pero muy ecaz y eciente,lo llamaremos atencin por interrupcin.El primero de ellos, la encuesta, es un mtodo ecaz, peropoco eciente porque requiere realizar lecturas constantes ymuchas veces innecesarias del estado del proceso que que-remos atender. Sin embargo, es muy utilizado en la pro-gramacin de microcontroladores porque resulta fcil deaprender, la implementacin de cdigo con este mtodo esmenos compleja y no requiere de hardware especial parallevarla adelante. Por otra parte, la encuesta, tiene muchas

    deciencias que con frecuencia obligan al diseador a mo-verse hacia otros horizontesEl mundo est lleno de situaciones; de las cuales no pode-mos determinar ni cuando, ni como ni por qu se producen,en la mayora de los casos lo nico que podemos hacer esenterarnos de que determinada situacin, asociada a un pro-ceso, ha ocurrido. Para ello seleccionamos alguna condicino grupo de condiciones que nos indican que el proceso quenos interesa debe ser atendido, a este fenmeno, en el cualse dan las condiciones que nos interesa conocer, lo llama-remos evento. En el segundo ejemplo vemos que para aten-der a Juan, ste debe tocar el timbre, por tanto, la llegadade Juan es el proceso que debemos atender y el sonido deltimbre es el evento que nos indica que Juan ha llegado.El mtodo de atencin a procesos por interrupcin, vistodesde la ptica del ejemplo que utilic para mostrarlo, esms simple que el de la encuesta, pero no es cierto, el mto-do se complica porque requiere que el microprocesador in-corpore circuitos adicionales para registrar los eventos quele indican que debe atender al proceso asociado y compren-der estos circuitos y su dinmica no es una tarea sencilla.Los circuitos para la atencin a las interrupciones y todas lastareas que debe realizar el procesador para atender al pro-ceso que lo interrumpe son bastante complejos y requierenuna visin diferente de la que estamos acostumbrados a te-ner de nuestro mundo.Los seres humanos no estamos conscientes de las interrup-ciones, en nuestro organismo existen mecanismos que nosinterrumpen constantemente, para ello tenemos a nuestrosistema sensorial, pero no somos conscientes del proceso deinterrupcin, aunque s de la atencin a las interrupciones.Eso es porque incorporamos mecanismos que nos sacan r-pidamente de la tarea que estemos haciendo para atenderuna situacin que no puede o no debe esperar mucho tiem-po. Bien, esamisma es la idea que se incorpora en losmicro-procesadores para atender procesos que no pueden esperaro que no sabemos cuando deben ser atendidos porque ellodepende de determinadas condiciones.La cosa se complica en la secuencia de acciones a reali-zar desde el momento en que se desencadena el proceso deinterrupcin, hasta que se ejecuta el programa que lo atien-de, y en la secuencia de acciones posteriores a la atencin.Piense en cuantas cosas debe hacer su organismo ante unainterrupcin, utilicemos el segundo ejemplo para atender lallegada de Juan. Piense en cuantas cosas su cerebro hace aespaldas de su conciencia, desde el momento en que suenael timbre hasta que usted se encuentra listo (consciente deque es probable que Juan ha llegado) para abrir la puerta,y todo lo que su cerebro debe trabajar para retomar la lec-tura despus que Juan se ha marchado. Todo eso, exceptoabrir la puerta y atender a Juan, lo hacemos de forma in-consciente porque para ello tenemos sistemas dedicados

  • 10 CAPTULO 2. MICROCONTROLADOR

    en nuestro organismo, pero en el mundo de los microcon-troladores debemos conocer todos esos detalles para poderutilizar los mecanismos de interrupcin.Los procesos de atencin a interrupciones tienen la ventajade que se implementan por hardware ubicado en el proce-sador, as que es un mtodo rpido de hacer que el procesa-dor se dedique a ejecutar un programa especial para atendereventos que no pueden esperar por mecanismos lentos co-mo el de encuesta.En trminos generales, un proceso de interrupcin y suatencin por parte del procesador, tiene la siguiente secuen-cia de acciones:

    1. En el mundo real se produce el evento para el cual que-remos que el procesador ejecute un programa especial,este proceso tiene la caracterstica de que no puede es-perar mucho tiempo antes de ser atendido o no sabe-mos en que momento debe ser atendido.

    2. El circuito encargado de detectar la ocurrencia delevento se activa, y como consecuencia, activa la en-trada de interrupcin del procesador.

    3. La unidad de control detecta que se ha producido unainterrupcin y levanta una bandera para registrar es-ta situacin; de esta forma si las condiciones que pro-vocaron el evento desaparecen y el circuito encargadode detectarlo desactiva la entrada de interrupcin delprocesador, sta se producir de cualquier modo, por-que ha sido registrada.

    4. La unidad de ejecucin termina con la instruccin encurso y justo antes de comenzar a ejecutar la siguientecomprueba que se ha registrado una interrupcin

    5. Se desencadena un proceso que permite guardar el es-tado actual del programa en ejecucin y saltar a unadireccin especial de memoria de programas, dondeest la primera instruccin de la subrutina de atencina interrupcin.

    6. Se ejecuta el cdigo de atencin a interrupcin, estaes la parte consciente de todo el proceso porque esdonde se realizan las acciones propias de la atencin ala interrupcin y el programador juega su papel.

    7. Cuando en la subrutina de atencin a interrupcin seejecuta la instruccin de retorno, se desencadena elproceso de restauracin del procesador al estado enque estaba antes de la atencin a la interrupcin.

    Como podemos observar, el mecanismo de interrupcin esbastante complicado, sin embargo tiene dos ventajas queobligan a su implementacin: la velocidad y su capacidad

    de ser asncrono. Ambas de conjunto permiten que apro-vechemos al mximo las capacidades de trabajo de nuestroprocesador.Los mecanismos de interrupcin no solo se utilizan paraatender eventos ligados a procesos que requieren atencininmediata sino que se utilizan adems para atender eventosde procesos asncronos.Las interrupciones son tan ecaces que permiten que el pro-cesador acte como si estuviese haciendo varias cosas a lavez cuando en realidad se dedica a la misma rutina de siem-pre, ejecutar instrucciones una detrs de la otra.

    2.7 PerifricosCuando observamos la organizacin bsica de unmicrocon-trolador, sealamos que dentro de este se ubican un conjun-to de perifricos. A continuacin describiremos algunos delos perifricos que con mayor frecuencia encontraremos enlos microcontroladores.

    2.7.1 Entradas y salidas de propsito gene-ral

    Tambin conocidos como puertos de E/S, generalmenteagrupadas en puertos de 8 bits de longitud, permiten leerdatos del exterior o escribir en ellos desde el interior delmicrocontrolador, el destino habitual es el trabajo con dis-positivos simples como rels, LED, o cualquier otra cosaque se le ocurra al programador.Algunos puertos de E/S tienen caractersticas especialesque le permiten manejar salidas con determinados requeri-mientos de corriente, o incorporan mecanismos especialesde interrupcin para el procesador.Tpicamente cualquier pin de E/S puede ser consideradaE/S de propsito general, pero como los microcontrolado-res no pueden tener innitos pines, ni siquiera todos los pi-nes que queramos, las E/S de propsito general compartenlos pines con otros perifricos. Para usar un pin con cual-quiera de las caractersticas a l asignadas debemos con-gurarlo mediante los registros destinados a ellos.

    2.7.2 Temporizadores y contadores

    Son circuitos sincrnicos para el conteo de los pulsos quellegan a su poder para conseguir la entrada de reloj. Si lafuente de un gran conteo es el oscilador interno del mi-crocontrolador es comn que no tengan un pin asociado,y en este caso trabajan como temporizadores. Por otra par-te, cuando la fuente de conteo es externa, entonces tienen

  • 2.7. PERIFRICOS 11

    asociado un pin congurado como entrada, este es el modocontador.Los temporizadores son uno de los perifricos ms habi-tuales en los microcontroladores y se utilizan para muchastareas, como por ejemplo, la medicin de frecuencia, imple-mentacin de relojes, para el trabajo de conjunto con otrosperifricos que requieren una base estable de tiempo entreotras funcionalidades. Es frecuente que un microcontrola-dor tpico incorpore ms de un temporizador/contador e in-cluso algunos tienen arreglos de contadores. Como veremosms adelante este perifrico es un elemento casi imprescin-dible y es habitual que tengan asociada alguna interrupcin.Los tamaos tpicos de los registros de conteo son 8 y 16bits, pudiendo encontrar dispositivos que solo tienen tem-porizadores de un tamao o con ms frecuencia con ambostipos de registro de conteo.

    2.7.3 Conversor analgico/digital

    Como es muy frecuente el trabajo con seales analgicas,stas deben ser convertidas a digital y por ello muchosmicrocontroladores incorporan un conversor analgico-digital, el cual se utiliza para tomar datos de varias entradasdiferentes que se seleccionan mediante un multiplexor.Las resoluciones ms frecuentes son 8 y 10 bits, que sonsucientes para aplicaciones sencillas. Para aplicaciones encontrol e instrumentacin estn disponibles resoluciones de12bit, 16bit y 24bit.[6] Tambin es posible conectar un con-vertidor externo, en caso de necesidad

    2.7.4 Puertos de comunicacin

    Puerto serie

    Este perifrico est presente en casi cualquier microcontro-lador, normalmente en forma de UART (Universal Asyn-chronous Receiver Transmitter) o USART (Universal Syn-chronous Asynchronous Receiver Transmitter) dependien-do de si permiten o no el modo sincrnico de comunicacin.El destino comn de este perifrico es la comunicacin conotro microcontrolador o con una PC y en la mayora de loscasos hay que agregar circuitos externos para completar lainterfaz de comunicacin. La forma ms comn de com-pletar el puerto serie es para comunicarlo con una PC me-diante la interfaz EIA-232 (ms conocida como RS-232),es por ello que muchas personas se reeren a la UART oUSART como puerto serie RS-232, pero esto constituyeun error, puesto que este perifrico se puede utilizar pa-ra interconectar dispositivos mediante otros estndares decomunicacin. En aplicaciones industriales se utiliza pre-feriblemente RS-485 por sus superior alcance en distancia,

    velocidad y resistencia al ruido.

    SPI

    Este tipo de perifrico se utiliza para comunicar al micro-controlador con otros microcontroladores o con perifricosexternos conectados a l, por medio de una interfaz muysencilla. Hay solo un nodo controlador que permite iniciarcualquier transaccin, lo cual es una desventaja en sistemascomplejos, pero su sencillez permite el aislamiento galv-nico de forma directa por medio de optoacopladores.

    I2C

    Cumple las mismas funciones que el SPI, pero requiere me-nos seales de comunicacin y cualquier nodo puede iniciaruna transaccin. Es muy utilizado para conectar las tarjetasgrcas de las computadoras personales con los monitores,para que estos ltimos informen de sus prestaciones y per-mitir la autoconguracin del sistema de vdeo.

    USB

    Los microcontroladores son los que han permitido la exis-tencia de este sistema de comunicacin. Es un sistema quetrabaja por polling (monitorizacin) de un conjunto de pe-rifricos inteligentes por parte de un amo, que es normal-mente un computador personal. Cada modo inteligente estgobernado inevitablemente por un microcontrolador.

    Ethernet

    Es el sistema ms extendido en el mundo para redes de realocal cableadas. Los microcontroladores ms poderosos de32 bits se usan para implementar perifricos lo suciente-mente poderosos como para que puedan ser accesados di-rectamente por la red. Muchos de los enrutadores caserosde pequeas empresas estn construidos sobre la base de unmicrocontrolador que hace del cerebro del sistema.

    Can

    Este protocolo es del tipo CSMA/CD con tolerancia a ele-vados voltajes de modo comn y orientado al tiempo real.Este protocolo es el estndar ms importante en la indus-tria automotriz (OBD). Tambin se usa como capa fsicadel eld bus para el control industrial.

  • 12 CAPTULO 2. MICROCONTROLADOR

    Otros puertos de comunicacin

    Hay una enorme cantidad de otros buses disponibles para laindustria automotriz (linbus) o de medios audiovisuales co-mo el i2s, IEEE 1394. Es usuario se los encontrar cuandotrabaje en algn rea especializada.

    2.7.5 ComparadoresSon circuitos analgicos basados en amplicadores opera-cionales que tienen la caracterstica de comparar dos sea-les analgicas y dar como salida los niveles lgicos 0 o 1en dependencia del resultado de la comparacin. Es un peri-frico muy til para detectar cambios en seales de entradade las que solamente nos interesa conocer cuando est enun rango determinado de voltaje.

    2.7.6 Modulador de ancho de pulsosLos PWM (Pulse Width Modulator) son perifricos muytiles sobre todo para el control de motores, sin embargohay un grupo de aplicaciones que pueden realizarse con es-te perifrico, dentro de las cuales podemos citar: inversinDC/AC para UPS,conversin digital analgica D/A, con-trol regulado de luz (dimming) entre otras.

    2.7.7 Memoria de datos no voltilMuchos microcontroladores han incorporado estos tipos dememoria como un perifrico ms, para el almacenamientode datos de conguracin o de los procesos que se contro-lan. Esta memoria es independiente de la memoria de datostipo RAM o la memoria de programas, en la que se almace-na el cdigo del programa a ejecutar por el procesador delmicrocontrolador.Muchos de los microcontroladores PIC incluyen este tipode memoria, tpicamente en forma de memoria EEPROM,incluso algunos de ellos permiten utilizar parte de la memo-ria de programas como memoria de datos no voltil, por loque el procesador tiene la capacidad de escribir en la me-moria de programas como si sta fuese un perifrico ms.

    2.8 Familias de microcontroladoresLos microcontroladores ms comunes en uso son:Observacin: Algunas arquitecturas de microcontroladorestn disponibles por tal cantidad de vendedores y en tan-tas variedades, que podran tener, con total correccin, supropia categora. Entre ellos encontramos, principalmente,las variantes de Intel 8051 y Z80.

    2.9 Vase tambin Lista de microcontroladores comunes Controladora de perifrico Microprocesador Microbtica PIC16F87X Intel HEX Informtica de sistemas Ingeniera Tcnica en Informtica de Gestin BASIC Stamp Arduino

    2.10 Referencias[1] Vienna University of Technology, Introduction To Micro-

    controllers (Gunther Gridling, Bettina Weiss), 26 de febrerode 2007

    [2] Augarten, Stan (1983). The Most Widely Used Computer ona Chip: The TMS 1000. State of the Art: A PhotographicHistory of the Integrated Circuit. New Haven y New York:Ticknor & Fields. ISBN 0-89919-195-9. Consultado el 2 demarzo de 2012.

    [3] http://archive.computerhistory.org/resources/access/text/Oral_History/102658328.05.01.acc.pdf Oral History Panelon the Development and Promotion of the Intel 8048Microcontroller, Computer History Museum oral history,2008, consultado el 28 de junio de 2011, pgina 4

    [4] http://microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2018&mcparam=en013082

    [5] Atmels Self-Programming FlashMicrocontrollers de OddJostein Svendsli 2003

    [6] microcontroladores analgicos

  • Captulo 3

    Sistema secuencial

    A diferencia de los sistemas combinacionales, en los sis-temas secuenciales, los valores de las salidas, en un mo-mento dado, no dependen exclusivamente de los valores delas entradas en dicho momento, sino tambin dependen delestado anterior o estado interno. El sistema secuencial mssimple es el biestable, de los cuales, el de tipo D (o cerrojo)es el ms utilizado actualmente.La mayora de los sistemas secuenciales estn gobernadospor seales de reloj. A stos se los denomina sncronos osincrnicos, a diferencia de los asncronos o asincr-nicos que son aquellos que no son controlados por sealesde reloj.A continuacin se indican los principales sistemas secuen-ciales que pueden encontrarse en forma de circuito integra-do o como estructuras en sistemas programados:

    Contador Registros

    En todo sistema secuencial nos encontraremos con:

    a) Un conjunto nito, n, de variables de entrada(X1, X2,..., Xn).b) Un conjunto nito, m, de estados internos, deaqu que los estados secuenciales tambin seandenominados autmatas nitos. Estos estadosproporcionarn m variables internas (Y1,Y2,...,Ym).c) Un conjunto nito, p, de funciones de salida(Z1, Z2,..., Zp).

    Dependiendo de como se obtengan las funciones de salida,Z, los sistemas secuenciales pueden tener dos estructurascomo las que se observan el la siguiente gura, denomina-das: a) Mquina de Moore y b) Mquina de Mealy.

    Estructuras de bloque de un autmata de Moore, a), y un autmatade Mealy, b)

    13

  • Captulo 4

    Sistema combinacional

    Se denomina sistema combinacional o lgica combina-cional a todo sistema digital en el que sus salidas son fun-cin exclusiva del valor de sus entradas en un momento da-do, sin que intervengan en ningn caso estados anterioresde las entradas o de las salidas. Las funciones (OR, AND,NAND, XOR) son booleanas (de Boole) donde cada fun-cin se puede representar en una tabla de la verdad. Portanto, carecen de memoria y de retroalimentacin.En electrnica digital la lgica combinacional est formadapor ecuaciones simples a partir de las operaciones bsicasdel lgebra de Boole. Entre los circuitos combinacionalesclsicos tenemos:

    Lgicos

    Generador/Detector de paridad Multiplexor y Demultiplexor Codicador y Decodicador Conversor de cdigo Comparador

    Aritmticos

    Sumador

    Aritmticos y lgicos

    Unidad aritmtico lgica

    stos circuitos estn compuestos nicamente por puertaslgicas interconectadas entre s.

    4.1 Funciones combinacionalesTodos los circuitos combinacionales pueden representarseempleando lgebra de Boole a partir de su funcin lgica,

    ABCD

    F

    F = (A B) + (C D)

    generando de forma matemtica el funcionamiento del sis-tema combinacional. De este modo, cada seal de entradaes una variable de la ecuacin lgica de salida. Por ejem-plo, un sistema combinacional compuesto exclusivamentepor una puerta AND tendra dos entradas A y B. Su fun-cin combinacional seria F = A B , para una puerta ORsera F = A+B . Estas operaciones se pueden combinarformando funciones ms complejas.Esto permite emplear diferentes mtodos de simplicacinpara reducir el nmero de elementos combinacionales queforman el sistema.

    4.2 Vase tambin Sistema secuencial Sistema digital

    Teora de autmatas Autmata nito Autmata con pila Mquina de Turing

    14

  • 4.3. ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS 15

    4.3 Origen del texto y las imgenes, colaboradores y licencias4.3.1 Texto

    Sistema programado Fuente: https://es.wikipedia.org/wiki/Sistema_programado?oldid=79131364 Colaboradores: Pilaf, Guevonaso, Murphyera un optimista, Digigalos, Superzerocool, Caiserbot, GermanX, ECAM, Chlewbot, Paintman, Escarapela, Grillitus, Acratta y Annimos: 3

    Microcontrolador Fuente: https://es.wikipedia.org/wiki/Microcontrolador?oldid=85778913 Colaboradores: Centeno, Mac, Moriel, Frutoseco,Dodo, Triku, Sms, Avm, Odalcet, Tano4595, Murphy era un optimista, Lopezmts, Marcelo Huerta, Flugplatz, Renabot, FAR, Digigalos, Inter-nete, Taichi, Emijrp, Rembiapo pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, BOT-Superzerocool, FlaBot, Varano, YurikBot, Museo8bits,GermanX, Gaijin, Santiperez, Kryptt, Baneld, Tomatejc, The worst user, CEM-bot, Jorgelrm, Atalanta86, Eternauta3k, Johncaranton, Aweins-tein, Juanfran GG, Thijs!bot, uo Martnez, Botones, Jurgens~eswiki, JAnDbot, Lelguea, TXiKiBoT, Netito777, Phirosiberia, Plux, Biasoli,AlnoktaBOT, VolkovBot, AristidesParallax, Matdrodes, Shooke, 3coma14, Muro Bot, BotMultichill, SieBot, Loveless, BOTarate, Cboding-ton, Aleposta, JaviMad, DragonBot, PixelBot, Eduardosalg, Lloizaga, Mendezmh, Ateocinico, UA31, AVBOT, MastiBot, Ialad, Diegusjaimes,DumZiBoT, DominusDRR, Luckas-bot, Ptbotgourou, LordboT, SuperBraulio13, Ortisa, Xqbot, Jkbw, Ryback, Rubinbot, Kraixx, D'ohBot,TiriBOT, TobeBot, PatruBOT, Edslov, Microc, Grillitus, Duhi, Win7912, Poeta3d, Netnbit, MetroBot, Eagle c5, Gusama Romero, Acratta,Angeldefuego22, Addbot, Trabajocolaborativo2grupo179, Jarould, Enriqueperiam y Annimos: 153

    Sistema secuencial Fuente: https://es.wikipedia.org/wiki/Sistema_secuencial?oldid=81744189 Colaboradores: JorgeGG, Digigalos, Xuankar,Paintman, Cabanyas, Andrs Djordjalian, VolkovBot, Lucien leGrey, Leonpolanco, Louperibot, MastiBot, Luckas-bot, ArthurBot, Jkbw, Ru-binbot, Atope36, Luisda1984, PatruBOT, KamikazeBot, ZroBot, Sergio Andres Segovia, ChuispastonBot, WikitanvirBot, Acratta, MahdiBot,Addbot, StephsTrrs y Annimos: 17

    Sistema combinacional Fuente: https://es.wikipedia.org/wiki/Sistema_combinacional?oldid=84991851 Colaboradores: Guevonaso, Sms,Murphy era un optimista, Aracne, Melocoton, Dianai, Almorca, Suruena, Villamota, WhisKiTo, Digigalos, Xuankar, Taichi, Orgullobot~eswiki,Caiserbot, Yrbot, GermanX, CEM-bot, Norikesh, Drake 81, Isha, Alfonso, Jenkin~eswiki, Snakefang, Jose gueredo, Shooke, Muro Bot, Co-balttempest, Dnu72, Poco a poco, AVBOT, Atope36, FrescoBot, PatruBOT, MerlIwBot, Acratta, Addbot y Annimos: 22

    4.3.2 Imgenes Archivo:153056995_5ef8b01016_o.jpgFuente: https://upload.wikimedia.org/wikipedia/commons/6/64/Intel_8742_153056995.jpgLicencia:

    CC BY-SA 2.0 Colaboradores: http://www.flickr.com/photos/biwook/153056995/ Artista original: Ioan Sameli Archivo:AutomataMooreMealy.PNG Fuente: https://upload.wikimedia.org/wikipedia/commons/4/47/AutomataMooreMealy.PNG Licen-

    cia: CC-BY-SA-3.0 Colaboradores: Dibujo propio (Own drawing) Artista original: Jos Luis Glvez Archivo:Circuito_combinacional.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/b/bf/Circuito_combinacional.svg Licencia:

    Public domain Colaboradores: ? Artista original: ? Archivo:MC68HC11_microcontroller.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/b/b5/MC68HC11_microcontroller.

    jpg Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ? Archivo:Microcontrolador.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/cb/Microcontrolador.jpg Licencia: Public do-

    main Colaboradores: Trabajo propio Artista original: Daniel Archivo:PIC18F8720.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/18/PIC18F8720.jpg Licencia: Public domain Colabo-

    radores: ? Artista original: ?

    4.3.3 Licencia del contenido Creative Commons Attribution-Share Alike 3.0

    Sistema programadoVase tambin

    MicrocontroladorHistoria Caractersticas Arquitecturas de computadora Arquitectura Von Neumann Arquitectura Harvard

    Procesador en detalle Registros Unidad de control Unidad aritmtico-lgica Buses Conjunto de instrucciones

    Memoria Interrupciones Perifricos Entradas y salidas de propsito general Temporizadores y contadores Conversor analgico/digital Puertos de comunicacin Comparadores Modulador de ancho de pulsos Memoria de datos no voltil

    Familias de microcontroladores Vase tambin Referencias

    Sistema secuencialSistema combinacionalFunciones combinacionales Vase tambin Origen del texto y las imgenes, colaboradores y licenciasTextoImgenesLicencia del contenido