Escolar Documentos
Profissional Documentos
Cultura Documentos
un botn o de otra interrupcin; as, el consumo de energa durante el estado de reposo (reloj de la CPU y los perifricos de la mayora) puede ser slo de nanovatios, lo que
hace que muchos de ellos sean 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 codicado en sistema
numrico hexadecimal que es nalmente 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.[1]
CARACTERSTICAS
ces. 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 destinada a los sistemas embebidos.[2]
Debido en parte a la existencia del TMS 1000,[3] Intel
desarroll un sistema de ordenador en un chip optimizado
para aplicaciones de control, el Intel 8048, que comenz
a comercializarse en 1977.[3] 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 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 en aquel momento
tenan dos variantes. Unos tenan una memoria EPROM
reprogramable, signicativamente 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 coste menor.
En 1993, el lanzamiento de la EEPROM en los microcontroladores (comenzando con el Microchip PIC16x84)[4]
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 ash.[5]
Otras compaas rpidamente siguieron el ejemplo, con
los dos tipos de memoria.
Esquema de un microcontrolador. En esta gura, 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.
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 acionados, con
grandes comunidades en lnea para ciertos procesadores. Un microcontrolador diere de una unidad central de proEn el futuro, la MRAM podra ser utilizada en microcon- cesamiento normal, debido a que es ms fcil convertirla
troladores, ya que tiene resistencia innita y el coste de en una computadora en funcionamiento, con un mnimo
de circuitos integrados externos de apoyo. La idea es que
su oblea semiconductora es relativamente bajo.
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
2 Caractersticas
sean manejadas por otros chips. Hay que agregarle los
Los microcontroladores estn diseados para reducir el mdulos de entrada y salida (puertos) y la memoria para
costo econmico y el consumo de energa de un sistema almacenamiento de informacin.
en particular. Por eso el tamao de la unidad central de Un microcontrolador tpico tendr un generador de reprocesamiento, la cantidad de memoria y los perifricos loj integrado y una pequea cantidad de memoria de acincluidos dependern de la aplicacin. El control de un ceso aleatorio y/o ROM/EPROM/EEPROM/ash, con
3.2
Arquitectura Harvard
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 I2 C 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 exibilidad 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.
3
sino que la memoria est segregada y el acceso a cada tipo
de memoria depende de las instrucciones del procesador.
A pesar de que en los sistemas integrados con arquitectura Von Neumann la memoria est segregada, y existan
diferencias con respecto a la denicin tradicional de esta arquitectura; los buses para acceder a ambos tipos de
memoria son los mismos, del procesador solamente salen
el bus de datos, el de direcciones, y el de control. Como
conclusin, la arquitectura no ha sido alterada, porque la
forma en que se conecta la memoria al procesador sigue
el mismo principio denido en la arquitectura bsica.
Algunas familias de microcontroladores como la Intel
8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores.
La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los micro3 Arquitecturas de computadora
controladores, y sistemas integrados en general. En este
caso, adems de la memoria, el procesador tiene los buses
Bsicamente existen dos arquitecturas de computadoras, segregados, de modo que cada tipo de memoria tiene un
y por supuesto, estn presentes en el mundo de los micro- bus de datos, uno de direcciones y uno de control.
controladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexin de la memoria al proce- La ventaja fundamental de esta arquitectura es que permite adecuar el tamao de los buses a las caractersticas
sador y en los buses que cada una necesita.
de cada tipo de memoria; adems, el procesador puede
acceder a cada una de ellas de forma simultnea, lo que
se traduce en un aumento signicativo de la velocidad de
3.1 Arquitectura Von Neumann
procesamiento. Tpicamente los sistemas con esta arquitectura pueden ser dos veces ms rpidos que sistemas
La arquitectura Von Neumann utiliza el mismo dispositi- similares con arquitectura Von Neumann.
vo de almacenamiento tanto para las instrucciones como
para los datos, siendo la que se utiliza en un ordenador La desventaja est en que consume muchas lneas de E/S
personal porque permite ahorrar una buena cantidad de del procesador; por lo que en sistemas donde el procesalneas de E/S, que son bastante costosas, sobre todo para dor est ubicado en su propio encapsulado, solo se utiliza
aquellos sistemas donde el procesador se monta en algn en supercomputadoras. Sin embargo, en los microcontrotipo de zcalo alojado en una placa madre. Tambin esta ladores y otros sistemas integrados, donde usualmente la
organizacin les ahorra a los diseadores de placas ma- memoria de datos y programas comparten el mismo endre una buena cantidad de problemas y reduce el costo capsulado que el procesador, este inconveniente deja de
ser un problema serio y es por ello que encontramos la
de este tipo de sistemas.
arquitectura Harvard en la mayora de los microcontrolaEn un ordenador personal, cuando se carga un programa dores.
en memoria, a ste se le asigna un espacio de direcciones
de la memoria que se divide en segmentos, de los cua- Por eso es importante recordar que un microcontrolales tpicamente tenderemos los siguientes: cdigo (pro- dor se puede congurar de diferentes maneras, siempre
grama), datos y pila. Es por ello que podemos hablar de y cuando se respete el tamao de memoria que este rela memoria como un todo, aunque existan distintos dispo- quiera para su correcto funcionamiento.
sitivos fsicos en el sistema (disco duro, memoria RAM,
memoria ash, unidad de disco ptico...).
En el caso de los microcontroladores, existen dos tipos de
memoria bien denidas: memoria de datos (tpicamente
algn tipo de SRAM) y memoria de programas (ROM,
PROM, EEPROM, ash u de otro tipo no voltil). En este
caso la organizacin es distinta a las del ordenador personal, porque hay circuitos distintos para cada memoria
y normalmente no se utilizan los registros de segmentos,
4 Procesador en detalle
En los aos 1970, la electrnica digital no estaba sucientemente desarrollada, pero dentro de la electrnica
ya era una especialidad consagrada. En aquel entonces las
computadoras se diseaban para que realizaran algunas
operaciones muy simples, y si se quera que estas mqui-
PROCESADOR EN DETALLE
nas pudiesen hacer cosas diferentes, era necesario realizar 4.1 Registros
cambios bastante signicativos al hardware.
A principios de la dcada de 1970, una empresa japone- Son un espacio de memoria muy reducido pero necesasa le encarg a una joven compaa norteamericana que rio para cualquier microprocesador, de aqu se toman los
desarrollara un conjunto de circuitos para producir una datos para varias operaciones que debe realizar el resto
calculadora de bajo costo. Intel se dedic de lleno a la de los circuitos del procesador. Los registros sirven para
tarea y entre los circuitos encargados desarroll uno muy almacenar los resultados de la ejecucin de instrucciones,
especial, algo no creado hasta la fecha: el primer micro- cargar datos desde la memoria externa o almacenarlos en
ella.
procesador integrado.
El Intel 4004 sali al mercado en 1971, es una mquina
digital sincrnica compleja, como cualquier otro circuito
lgico secuencial sincrnico. Sin embargo, la ventaja de
este componente est en que aloja internamente un conjunto de circuitos digitales que pueden hacer operaciones
corrientes para el clculo y procesamiento de datos, pero desde una ptica diferente: sus entradas son una serie
de cdigos bien denidos, que permiten hacer operaciones de carcter especco cuyo resultado est determinado por el tipo de operacin y los operandos involucrados.
Visto as, no hay nada de especial en un microprocesador; la maravilla est en que la combinacin adecuada de
los cdigos de entrada, su ejecucin secuencial, el poder
saltar hacia atrs o adelante en la secuencia de cdigos
sobre la base de decisiones lgicas u rdenes especcas,
permite que la mquina realice un montn de operaciones complejas, no contempladas en los simples cdigos Por otro lado un procesador de 16 bits, puede que haga
bsicos.
una suma de 16 bits en un solo ciclo de mquina, mientras
Hoy estamos acostumbrados a los sistemas con micropro- que uno de 8 bits deber ejecutar varias instrucciones ancesadores, pero en el lejano 1971 esta era una forma de tes de tener el resultado, aun cuando ambos procesadores
pensar un poco diferente y hasta escandalosa, a tal punto tengan la misma velocidad de ejecucin para sus instrucque Busicom, la empresa que encarg los chips a Intel, ciones. El procesador de 16 bits ser ms rpido porque
no se mostr interesada en el invento, por lo que Intel lo puede hacer el mismo tipo de tareas que uno de 8 bits, en
comercializ para otros que mostraron inters; el resto es menos tiempo.
historia: una revolucin sin precedentes en el avance tecnolgico de la humanidad.
Es lgico pensar que el invento del microprocesador integrado no fue una revelacin divina para sus creadores,
sino que se sustent en los avances, existentes hasta el momento, en el campo de la electrnica digital y las teoras
sobre computacin. Pero sin lugar a dudas fue la gota que
colm la copa de la revolucin cientco-tcnica, porque
permiti desarrollar aplicaciones impensadas o acelerar
algunas ya encaminadas.
Ahora comenzaremos a ver cmo es que est hecho un
procesador, no ser una explicacin demasiado detallada
porque desde su invencin ste ha tenido importantes revoluciones propias, pero hay aspectos bsicos que no han
cambiado y que constituyen la base de cualquier microprocesador. En la Figura 'Esquema de un microcontrolador' podemos ver la estructura tpica de un microprocesador, con sus componentes fundamentales, claro est
que ningn procesador real se ajusta exactamente a esta
estructura, pero aun as nos permite conocer cada uno de
sus elementos bsicos y sus interrelaciones.
5
controlador de interrupciones, pipelines, entre otros ele- Dene las operaciones bsicas que puede realizar el promentos, dependiendo siempre del tipo de procesador.
cesador, que conjugadas y organizadas forman lo que
conocemos como software. El conjunto de instrucciones
vienen siendo como las letras del alfabeto, el elemento
4.3 Unidad aritmtico-lgica
bsico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se
Como los procesadores son circuitos que hacen bsica- le ocurra.
mente operaciones lgicas y matemticas, se le dedica a
este proceso una unidad completa, con cierta independen- Existen dos tipos bsicos de repertorios de instrucciones,
cia. Aqu es donde se realizan las sumas, restas, y opera- que determinan la arquitectura del procesador: CISC y
RISC.
ciones lgicas tpicas del lgebra de Boole.
Actualmente este tipo de unidades ha evolucionado mu- CISC, del ingls Complex instruction set computing,
cho y los procesadores ms modernos tienen varias ALU, Computadora de Conjunto de Instrucciones Complejo.
especializadas en la realizacin de operaciones comple- Los microprocesadores CISC tienen un conjunto de insjas como las operaciones en coma otante. De hecho en trucciones que se caracteriza por ser muy amplio y que
muchos casos le han cambiado su nombre por el de co- permiten realizar operaciones complejas entre operanprocesador matemtico, aunque este es un trmino que dos situados en la memoria o en los registros internos.
surgi para dar nombre a un tipo especial de procesador Este tipo de repertorio diculta el paralelismo entre insque se conecta directamente al procesador ms tradicio- trucciones, por lo que en la actualidad, la mayora de los
sistemas CISC de alto rendimiento convierten las instrucnal.
ciones complejas en varias instrucciones simples del tipo
Su impacto en las prestaciones del procesador es tambin RISC, llamadas generalmente microinstrucciones.
importante porque, dependiendo de su potencia, tareas
ms o menos complejas, pueden hacerse en tiempos muy Dentro de los microcontroladores CISC podemos enconcortos, como por ejemplo, los clculos en coma otante. trar a la popular familia Intel 8051 y la Z80, aunque actualmente existen versiones CISC-RISC de estos microcontroladores, que pretenden aprovechar las ventajas de
los procesadores RISC a la vez que se mantiene la com4.4 Buses
patibilidad hacia atrs con las instrucciones de tipo CISC.
Son el medio de comunicacin que utilizan los diferentes RISC, del ingls Reduced Instruction Set Computer,
componentes del procesador para intercambiar informa- Computadora con Conjunto de Instrucciones Reducido.
cin entre s, eventualmente los buses o una parte de ellos Se centra en la obtencin de procesadores con las siguienestarn reejados en los pines del encapsulado del proce- tes caractersticas fundamentales:
sador.
En el caso de los microcontroladores, no es comn que los
buses estn reejados en el encapsulado del circuito, ya
que estos se destinan bsicamente a las E/S de propsito
general y perifricos del sistema.
Existen tres tipos de buses:
Nmero relativamente elevado de registros de pro Direccin: Se utiliza para seleccionar al dispositipsito general.
vo con el cual se quiere trabajar o en el caso de las
memorias, seleccionar el dato que se desea leer o Una de las caractersticas ms destacables de este tipo de
escribir.
procesadores es que posibilitan el paralelismo en la ejecucin, y reducen los accesos a memoria. Es por eso que
Datos: Se utiliza para mover los datos entre los dislos procesadores ms modernos, tradicionalmente basapositivos de hardware (entrada y salida).
dos en arquitecturas CISC, implementan mecanismos de
Control: Se utiliza para gestionar los distintos pro- traduccin de instrucciones CISC a RISC, para aprovecesos de escritura lectura y controlar la operacin de char las ventajas de este tipo de procesadores.
los dispositivos del sistema.
Los procesadores de los microcontroladores PIC son de
tipo RISC.
4.5
Conjunto de instrucciones
MEMORIA
de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeas,
donde la variante de mscara sea muy costosa,
tambin para sistemas que requieren serializacin de datos, almacenados como constantes en
la memoria de programas.
Memoria EPROM (Erasable Programmable Read
Only Memory). Los microcontroladores con este tipo de memoria son muy fciles de identicar porque
su encapsulado es de cermica y llevan encima una
ventanita de vidrio desde la cual puede verse la oblea
de silicio del microcontrolador.
Se fabrican as porque la memoria EPROM es
reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz
ultravioleta, el proceso de grabacin es similar
al empleado para las memorias OTP.
Al aparecer tecnologas menos costosas y ms
exibles, como las memorias EEPROM y
FLASH, este tipo de memoria han cado en
desuso, se utilizaban en sistemas que requieren
actualizaciones del programa y para los procesos de desarrollo y puesta a punto.
EEPROM (Electrical Erasable Programmable Read
Only Memory). Fueron el sustituto natural de las
memorias EPROM, la diferencia fundamental es
que pueden ser borradas elctricamente, por lo que
la ventanilla de cristal de cuarzo y los encapsulados
cermicos no son necesarios.
Al disminuir los costos de los encapsulados,
los microcontroladores con este tipo de memoria se hicieron ms baratos y cmodos para trabajar que sus equivalentes con memoria
EPROM.
Otra caracterstica destacable de este tipo de
microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de
programacin en el sistema que evitan tener
que sacar el microcontrolador de la tarjeta que
lo aloja para hacer actualizaciones al programa.
Memoria ash. En el campo de las memorias reprogramables para microcontroladores, son el ltimo
avance tecnolgico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.
A las ventajas de las memorias ash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad
de memoria de programas a un costo muy bajo.
7
Pueden adems ser programadas con las mismas tensiones de alimentacin del microcontrolador, el acceso en lectura y la velocidad de
programacin es superior, disminucin de los
costos de produccin, entre otras.
Lo ms habitual es encontrar que la memoria de programas y datos est ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los microcontroladores que permiten conectar memoria de programas en
el exterior del encapsulado. Las razones para estas limitaciones estn dadas porque el objetivo fundamental es
obtener la mayor integracin posible y conectar memo- Imagine que est esperando la visita de un amigo, al que
rias externas consume lneas de E/S que son uno de los llamaremos Juan. Usted y Juan han acordado que cuando
recursos ms preciados de los microcontroladores.
l llegue a su casa esperar pacientemente a que le abra la
A pesar de lo anterior existen familias como la Intel 8051 puerta. Juan no debe tocar a la puerta porque alguien en
cuyos microcontroladores tienen la capacidad de ser ex- la casa duerme y no quiere que le despierten.
pandidos en una variada gama de conguraciones para Ahora usted ha decidido leer un libro mientras espera a
el uso de memoria de programas externa. En el caso de que Juan llegue a la casa, y para comprobar si ha llegalos PIC, estas posibilidades estn limitadas slo a algunos do, cada cierto tiempo detiene la lectura, marca la pgina
microcontroladores de la gama alta, la Figura 5 muestra donde se qued, se levanta y va hasta la puerta, abre y
algunas de las conguraciones para memoria de progra- comprueba si Juan ha llegado, si ste todava no est en la
ma que podemos encontrar en los microcontroladores. La puerta, esperar unos minutos, cerrar la puerta y regreconguracin (a) es la tpica y podemos encontrarla casi sar a su lectura durante algn tiempo.
en el 100% de los microcontroladores. La conguracin
(b) es poco frecuente y generalmente se logra congu- Como ver este es un mtodo poco eciente para esperando al microcontrolador para sacricar la memoria de rar a Juan porque requiere que deje la lectura cada cierto
programas interna, sin embargo el Intel 8031 es un micro- tiempo y vaya hasta la puerta a comprobar si l ha llecontrolador sin memoria de programas interna. La con- gado, adems debe esperar un rato si todava no llega. Y
guracin (c) es la que se encuentra habitualmente en los por si fuera poco, imagine que Juan no llega nunca pormicrocontroladores que tienen posibilidades de expandir que se le present un problema, tuvo que cancelar la cita
su memoria de programas como algunos PIC de gama al- y no pudo avisarle a tiempo, o peor, que Juan ha llegado
a la puerta un instante despus que usted la cerraba. Juan,
ta.
respetando lo acordado, espera un tiempo, pero se cansa
Cuando se requiere aumentar la cantidad de memoria de de esperar a que le abran y decide marcharse porque cree
datos, lo ms frecuente es colocar dispositivos de me- que ya usted no est en la casa o no puede atenderlo. A
moria externa en forma de perifricos, de esta forma se este mtodo de atender la llegada de Juan lo llamaremos
pueden utilizar memorias RAM, FLASH o incluso discos encuesta.
duros como los de los ordenadores personales, mientras
que para los clculos y dems operaciones que requieran Veamos ahora otro mtodo. En esta ocasin simplemente
almacenamiento temporal de datos se utiliza la memoria se recuesta en el sof de la sala y comienza a leer su libro,
RAM interna del microcontrolador. Esta forma de expan- cuando Juan llegue debe tocar el timbre de la puerta y
dir la memoria de datos est determinada, en la mayora esperar unos momentos a que le atiendan. Cuando usted
de los casos, por el tipo de repertorio de instrucciones del oye sonar el timbre, interrumpe la lectura, marca la pgiprocesador y porque permite un elevado nmero de con- na donde se qued y va hasta la puerta para atender a la
guraciones distintas, adems del consiguiente ahorro de persona que toca el timbre. Una vez que Juan o la persolneas de E/S que se logra con el uso de memorias con na que ha tocado el timbre, se marcha, usted regresa a su
asiento y retoma la lectura justo donde la dej. Este ltibuses de comunicacin serie.
mo es un mtodo ms eciente que el anterior porque le
deja ms tiempo para leer y elimina algunos inconvenientes como el de que Juan nunca llegue o se marche antes
6 Interrupciones
de que usted abra la puerta. Es, en principio, un mtodo
simple pero muy ecaz y eciente, lo llamaremos atenLas interrupciones son esencialmente llamadas a cin por interrupcin.
subrutina generadas por los dispositivos fsicos, al
El primero de ellos, la encuesta, es un mtodo ecaz, pecontrario de las subrutinas normales de un programa en
ro poco eciente porque requiere realizar lecturas consejecucin. Como el salto de subrutina no es parte del
tantes y muchas veces innecesarias del estado del procehilo o secuencia de ejecucin programada, el controlador
so que queremos atender. Sin embargo, es muy utilizado
guarda el estado del procesador en la pila de memoria y
8
en la programacin de microcontroladores porque resulta
fcil de aprender, la implementacin de cdigo con este
mtodo es menos compleja y no requiere de hardware especial para llevarla adelante. Por otra parte, la encuesta,
tiene muchas deciencias que con frecuencia obligan al
diseador a moverse hacia otros horizontes
INTERRUPCIONES
para retomar la lectura despus que Juan se ha marchado. Todo eso, excepto abrir la puerta y atender a Juan, lo
hacemos de forma inconsciente porque para ello tenemos sistemas dedicados en nuestro organismo, pero en el
mundo de los microcontroladores debemos conocer todos esos detalles para poder utilizar los mecanismos de
El mundo est lleno de situaciones; de las cuales no po- interrupcin.
demos determinar ni cuando, ni como ni por qu se pro- Los procesos de atencin a interrupciones tienen la venducen, en la mayora de los casos lo nico que podemos taja de que se implementan por hardware ubicado en el
hacer es enterarnos de que determinada situacin, aso- procesador, as que es un mtodo rpido de hacer que el
ciada a un proceso, ha ocurrido. Para ello seleccionamos procesador se dedique a ejecutar un programa especial
alguna condicin o grupo de condiciones que nos indican para atender eventos que no pueden esperar por mecaque el proceso que nos interesa debe ser atendido, a es- nismos lentos como el de encuesta.
te fenmeno, en el cual se dan las condiciones que nos En trminos generales, un proceso de interrupcin y su
interesa conocer, lo llamaremos evento. En el segundo atencin por parte del procesador, tiene la siguiente seejemplo vemos que para atender a Juan, ste debe tocar cuencia de acciones:
el timbre, por tanto, la llegada de Juan es el proceso que
debemos atender y el sonido del timbre es el evento que
1. En el mundo real se produce el evento para el cual
nos indica que Juan ha llegado.
queremos que el procesador ejecute un programa esEl mtodo de atencin a procesos por interrupcin, vispecial, este proceso tiene la caracterstica de que no
to desde la ptica del ejemplo que utilic para mostrarlo,
puede esperar mucho tiempo antes de ser atendido
es ms simple que el de la encuesta, pero no es cierto,
o no sabemos en que momento debe ser atendido.
el mtodo se complica porque requiere que el micropro2. El circuito encargado de detectar la ocurrencia del
cesador incorpore circuitos adicionales para registrar los
evento se activa, y como consecuencia, activa la eneventos que le indican que debe atender al proceso asotrada de interrupcin del procesador.
ciado y comprender estos circuitos y su dinmica no es
una tarea sencilla.
3. La unidad de control detecta que se ha producido
Los circuitos para la atencin a las interrupciones y todas
una interrupcin y levanta una bandera para regislas tareas que debe realizar el procesador para atender al
trar esta situacin; de esta forma si las condiciones
proceso que lo interrumpe son bastante complejos y reque provocaron el evento desaparecen y el circuito
quieren una visin diferente de la que estamos acostumencargado de detectarlo desactiva la entrada de inbrados a tener de nuestro mundo.
terrupcin del procesador, sta se producir de cualquier modo, porque ha sido registrada.
Los seres humanos no estamos conscientes de las interrupciones, en nuestro organismo existen mecanismos
4. La unidad de ejecucin termina con la instruccin en
que nos interrumpen constantemente, para ello tenemos
curso y justo antes de comenzar a ejecutar la siguiena nuestro sistema sensorial, pero no somos conscientes
te comprueba que se ha registrado una interrupcin
del proceso de interrupcin, aunque s de la atencin a
las interrupciones. Eso es porque incorporamos mecanis5. Se desencadena un proceso que permite guardar el
mos que nos sacan rpidamente de la tarea que estemos
estado actual del programa en ejecucin y saltar a
haciendo para atender una situacin que no puede o no
una direccin especial de memoria de programas,
debe esperar mucho tiempo. Bien, esa misma es la idea
donde est la primera instruccin de la subrutina de
que se incorpora en los microprocesadores para atender
atencin a interrupcin.
procesos que no pueden esperar o que no sabemos cuando
6. Se ejecuta el cdigo de atencin a interrupcin, esta
deben ser atendidos porque ello depende de determinadas
es la parte consciente de todo el proceso porque es
condiciones.
donde se realizan las acciones propias de la atencin
La cosa se complica en la secuencia de acciones a reaa la interrupcin y el programador juega su papel.
lizar desde el momento en que se desencadena el proceso de interrupcin, hasta que se ejecuta el programa que
7. Cuando en la subrutina de atencin a interrupcin se
lo atiende, y en la secuencia de acciones posteriores a la
ejecuta la instruccin de retorno, se desencadena el
atencin. Piense en cuantas cosas debe hacer su organisproceso de restauracin del procesador al estado en
mo ante una interrupcin, utilicemos el segundo ejemplo
que estaba antes de la atencin a la interrupcin.
para atender la llegada de Juan. Piense en cuantas cosas
su cerebro hace a espaldas de su conciencia, desde el moComo podemos observar, el mecanismo de interrupcin
mento en que suena el timbre hasta que usted se encuentra
es bastante complicado, sin embargo tiene dos ventajas
listo (consciente de que es probable que Juan ha llegado)
que obligan a su implementacin: la velocidad y su capapara abrir la puerta, y todo lo que su cerebro debe trabajar
cidad de ser asncrono. Ambas de conjunto permiten que
7.3
Conversor analgico/digital
aprovechemos al mximo las capacidades de trabajo de chas tareas, como por ejemplo, la medicin de frecuennuestro procesador.
cia, implementacin de relojes, para el trabajo de conLos mecanismos de interrupcin no solo se utilizan para junto con otros perifricos que requieren una base estable
atender eventos ligados a procesos que requieren atencin de tiempo entre otras funcionalidades. Es frecuente que
inmediata sino que se utilizan adems para atender even- un microcontrolador tpico incorpore ms de un temporizador/contador e incluso algunos tienen arreglos de contos de procesos asncronos.
tadores. Como veremos ms adelante este perifrico es
Las interrupciones son tan ecaces que permiten que el un elemento casi imprescindible y es habitual que tengan
procesador acte como si estuviese haciendo varias cosas asociada alguna interrupcin. Los tamaos tpicos de los
a la vez cuando en realidad se dedica a la misma rutina de registros de conteo son 8 y 16 bits, pudiendo encontrar
siempre, ejecutar instrucciones una detrs de la otra.
dispositivos que solo tienen temporizadores de un tamao o con ms frecuencia con ambos tipos de registro de
conteo.
Perifricos
Cuando observamos la organizacin bsica de un microcontrolador, sealamos que dentro de este se ubican un 7.3 Conversor analgico/digital
conjunto de perifricos. A continuacin describiremos
algunos de los perifricos que con mayor frecuencia enComo es muy frecuente el trabajo con seales analgicas,
contraremos en los microcontroladores.
stas deben ser convertidas a digital y por ello muchos
microcontroladores incorporan un conversor analgico7.1 Entradas y salidas de propsito gene- digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multipleral
xor.
Tambin conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten
leer datos del exterior o escribir en ellos desde el interior
del microcontrolador, el destino habitual es el trabajo con
dispositivos simples como rels, LED, o cualquier otra
cosa que se le ocurra al programador.
7.2
Temporizadores y contadores
Puertos de comunicacin
10
7.4.2
9
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
optoacopladores.
7.4.3
I2C
Ethernet
Can
7.5 Comparadores
Son circuitos analgicos basados en amplicadores 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.
USB
VASE TAMBIN
8 Familias de microcontroladores
Los microcontroladores ms comunes en uso son:
Observacin: Algunas arquitecturas de microcontrolador estn disponibles por tal cantidad de vendedores y en
tantas variedades, que podran tener, con total correccin,
su propia categora. Entre ellos encontramos, principalmente, las variantes de Intel 8051 y Z80.
9 Vase tambin
Lista de microcontroladores comunes
Controladora de perifrico
11
Microprocesador
Microbtica
PIC16F87X
Intel HEX
Informtica de sistemas
Ingeniera Tcnica en Informtica de Gestin
BASIC Stamp
Arduino
10
Referencias
[1] Vienna University of Technology, Introduction To Microcontrollers (Gunther Gridling, Bettina Weiss), 26 de febrero de 2007
[2] Augarten, Stan (1983). The Most Widely Used Computer
on a Chip: The TMS 1000. State of the Art: A Photographic History of the Integrated Circuit. New Haven y New
York: Ticknor & Fields. ISBN 0-89919-195-9. Consultado el 2 de marzo de 2012.
[3] http://web.archive.org/web/http://archive.
computerhistory.org/resources/access/text/Oral_
History/102658328.05.01.acc.pdf Oral History Panel
on the Development and Promotion of the Intel 8048
Microcontroller, 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 Flash Microcontrollers de
Odd Jostein Svendsli 2003
[6] microcontroladores analgicos
12
11
11.1
Microcontrolador Fuente: https://es.wikipedia.org/wiki/Microcontrolador?oldid=90612246 Colaboradores: Centeno, Mac, Moriel, Frutoseco, Dodo, Triku, Sms, Avm, Odalcet, Tano4595, Murphy era un optimista, Lopezmts, Marcelo Huerta, Flugplatz, Renabot, FAR,
Digigalos, Internete, 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, Aweinstein, Juanfran GG, Thijs!bot, uo Martnez, Botones, Jurgens~eswiki, JAnDbot, Lelguea, TXiKiBoT,
Netito777, Manuel0302, Phirosiberia, Plux, Biasoli, AlnoktaBOT, VolkovBot, AristidesParallax, Matdrodes, Shooke, 3coma14, Muro
Bot, BotMultichill, SieBot, Loveless, BOTarate, Cbodington, 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, Elvisor, Angeldefuego22, Addbot, Trabajocolaborativo2grupo179, Jarould, Enriqueperiam, Ks-M9 y Annimos: 160
11.2
Imgenes
Archivo:153056995_5ef8b01016_o.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/64/Intel_8742_153056995.jpg Licencia: CC BY-SA 2.0 Colaboradores: http://www.flickr.com/photos/biwook/153056995/ Artista original: Ioan Sameli
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
domain Colaboradores: Trabajo propio Artista original: Daniel
Archivo:PIC18F8720.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/18/PIC18F8720.jpg Licencia: Public domain Colaboradores: ? Artista original: ?
11.3