SlideShare una empresa de Scribd logo
1 de 14
Microcontrolador
Ir a la navegaci nIr a la b squeda� �
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 un chip.
Microcontrolador PIC 18F8720 en encapsulado TQFP de 80 pines.
Microcontrolador TMS 1000 de Texas Instruments
Microcontrolador TMS 1000 de Texas Instruments
Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado�
programable, capaz de ejecutar las rdenes grabadas en su memoria. Est� �
compuesto de varios bloques funcionales, los cuales cumplen una tarea
espec fica. Un microcontrolador incluye en su interior las tres principales�
unidades funcionales de una computadora: unidad central de procesamiento,
memoria y perif ricos de entrada/salida.�
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a
velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja
potencia (mW o microwatts). Por lo general, tendr la capacidad de mantenerse a�
la espera de un evento como pulsar un bot n o de otra interrupci n; as , el� � �
consumo de energ a durante el estado de reposo (reloj de la CPU y los�
perif ricos de la mayor a) puede ser s lo de nanowatts, lo que hace que muchos� � �
de ellos sean muy adecuados para aplicaciones con bater a de larga duraci n.� �
Otros microcontroladores pueden servir para roles de rendimiento cr tico, donde�
sea necesario actuar m s como un procesador digital de se al (DSP), con� �
velocidades de reloj y consumo de energ a m s altos.� �
Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM.
Para que pueda controlar alg n proceso es necesario generar o crear y luego�
grabar en la EEPROM o equivalente del microcontrolador alg n programa, el cual�
puede ser escrito en lenguaje ensamblador u otro lenguaje para
microcontroladores; sin embargo, para que el programa pueda ser grabado en la
memoria del microcontrolador, debe ser codificado en sistema num rico�
hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador
cuando ste es alimentado con el voltaje adecuado y asociado a dispositivos�
anal gicos y discretos para su funcionamiento.1?�
ndice�
1 Historia
2 Caracter sticas�
3 Arquitecturas de computadora
3.1 Arquitectura Von Neumann
3.2 Arquitectura Harvard
4 Procesador en detalle
4.1 Registros
4.2 Unidad de control
4.3 Unidad aritm tico-l gica (ALU)� �
4.4 Buses
4.5 Conjunto de instrucciones
5 Memoria
6 Interrupciones
7 Perif ricos�
7.1 Entradas y salidas de prop sito general�
7.2 Temporizadores y contadores
7.3 Conversor anal gico/digital�
7.4 Puertos de comunicaci n�
7.4.1 Puerto serie
7.4.2 SPI
7.4.3 I2C
7.4.4 USB
7.4.5 Ethernet
7.4.6 Can
7.4.7 Otros puertos de comunicaci n�
7.5 Comparadores
7.6 Modulador de ancho de pulsos
7.7 Memoria de datos no vol til�
8 Familias de microcontroladores
9 V ase tambi n� �
10 Referencias
Historia
El primer microprocesador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido
por el Intel 8008 y otros m s capaces. Sin embargo, ambos procesadores�
requieren circuitos adicionales para implementar un sistema de trabajo, elevando
el costo del sistema total.
El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary
Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000, en
1971; fue comercializado en 1974. Combina memoria ROM, memoria RAM,
microprocesador y reloj en un chip y estaba 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 m s 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 m s exitosos� �
en la historia de la compa a, y ampli el presupuesto de la divisi n en m s�� � � �
del 25%.
La mayor a de los microcontroladores en aquel momento ten an dos variantes.� �
Unos ten an una memoria EPROM reprogramable, significativamente m s caros que� �
la variante PROM que era s lo 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 el ctrica y r pidamente sin� �
necesidad de un paquete costoso como se requiere en EPROM, lo que permite tanto
la creaci n r pida de prototipos y la programaci n en el sistema. El mismo� � �
a o, Atmel lanza el primer microcontrolador que utiliza memoria flash.5? Otras�
compa as r pidamente siguieron el ejemplo, con los dos tipos de memoria.�� �
El costo se ha desplomado en el tiempo, con el m s barato microcontrolador de 8�
bits disponible por menos de 0,25 d lares para miles de unidades en 2009, y�
algunos microcontroladores de 32 bits a 1 d lar por cantidades similares. En la�
actualidad los microcontroladores son baratos y f cilmente disponibles para los�
aficionados, con grandes comunidades en l nea para ciertos procesadores.�
En el futuro, la MRAM podr a ser utilizada en microcontroladores, ya que tiene�
resistencia infinita y el coste de su oblea semiconductora es relativamente
bajo.
Caracter sticas�
Esquema de un microcontrolador. En esta figura, vemos al microcontrolador metido
dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses,
memoria, perif ricos y puertos de entrada/salida. Fuera del encapsulado se�
ubican otros circuitos para completar perif ricos internos y dispositivos que�
pueden conectarse a los pines de entrada/salida. Tambi n se conectar n a los� �
pines del encapsulado la alimentaci n, masa, circuito de completamiento del�
oscilador y otros circuitos necesarios para que el microcontrolador pueda
trabajar.
Los microcontroladores est n dise ados para reducir el costo econ mico y el� � �
consumo de energ a de un sistema en particular. Por eso el tama o de la unidad� �
central de procesamiento, la cantidad de memoria y los perif ricos incluidos�
depender n de la aplicaci n. El control de un electrodom stico sencillo como� � �
una batidora utilizar un procesador muy peque o (4 u 8 bits) porque� �
sustituir a un aut mata finito. En cambio, un reproductor de m sica y/o� � �
v deo digital (MP3 o MP4) requerir de un procesador de 32 bits o de 64 bits y� �
de uno o m s c decs de se al digital (audio y/o v deo). El control de un� � � �
sistema de frenos ABS (Antilock Brake System) se basa normalmente en un
microcontrolador de 16 bits, al igual que el sistema de control electr nico del�
motor en un autom vil.�
Los microcontroladores representan la inmensa mayor a de los chips de�
computadoras vendidos, sobre un 50% son controladores "simples" y el restante
corresponde a DSP m s especializados. Mientras se pueden tener uno o dos�
microprocesadores de prop sito general en casa (Ud. est usando uno para� �
esto), usted tiene distribuidos seguramente entre los electrodom sticos de su�
hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi
cualquier dispositivo electr nico como autom viles, lavadoras, hornos� �
microondas, tel fonos, etc.�
Un microcontrolador difiere de una unidad central de procesamiento normal,
debido a que es m s f cil convertirla en una computadora en funcionamiento,� �
con un m nimo de circuitos integrados externos de apoyo. La idea es que el�
circuito integrado se coloque en el dispositivo, enganchado a la fuente de
energ a y de informaci n que necesite, y eso es todo. Un microprocesador� �
tradicional no le permitir hacer esto, ya que espera que todas estas tareas�
sean manejadas por otros chips. Hay que agregarle los m dulos de entrada y�
salida (puertos) y la memoria para almacenamiento de informaci n.�
Un microcontrolador t pico tendr un generador de reloj integrado y una� �
peque a cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con�
lo que para hacerlo funcionar todo lo que se necesita son unos pocos programas
de control y un cristal de sincronizaci n. Los microcontroladores disponen�
generalmente tambi n de una gran variedad de dispositivos de entrada/salida,�
como convertidor anal gico digital, temporizadores, UARTs y buses de interfaz�
serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos
integrados pueden ser controlados por instrucciones de procesadores
especializados. Los modernos microcontroladores frecuentemente incluyen un
lenguaje de programaci n integrado, como el lenguaje de programaci n BASIC que� �
se utiliza bastante con este prop sito.�
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su
uso. Debido a que se utiliza bastante sitio en el chip para incluir
funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye
el microcontrolador, se ha de prescindir de cualquier otra circuiter a.�
Arquitecturas de computadora
Art culo principal: Arquitectura de computadoras�
B sicamente existen dos arquitecturas de computadoras, y por supuesto, est n� �
presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se
diferencian en la forma de conexi n de la memoria al procesador y en los buses�
que cada una necesita.
Arquitectura Von Neumann
Art culo principal: Arquitectura Von Neumann�
La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto
para las instrucciones como para los datos, siendo la que se utiliza en un
ordenador personal porque permite ahorrar una buena cantidad de l neas de E/S,�
que son bastante costosas, sobre todo para aquellos sistemas donde el procesador
se monta en alg n tipo de z calo alojado en una placa madre. Tambi n esta� � �
organizaci n les ahorra a los dise adores de placas madre una buena cantidad� �
de problemas y reduce el costo de este tipo de sistemas.
En un ordenador personal, cuando se carga un programa en memoria, a ste se le�
asigna un espacio de direcciones de la memoria que se divide en segmentos, de
los cuales t picamente tendremos los siguientes: c digo (programa), datos y� �
pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan
distintos dispositivos f sicos en el sistema (disco duro, memoria RAM, memoria�
flash, unidad de disco ptico...).�
En el caso de los microcontroladores, existen dos tipos de memoria bien
definidas: memoria de datos (t picamente alg n tipo de SRAM) y memoria de� �
programas (ROM, PROM, EEPROM, flash u de otro tipo no vol til). En este caso la�
organizaci n es distinta a las del ordenador personal, porque hay circuitos�
distintos para cada memoria y normalmente no se utilizan los registros de
segmentos, 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 definici n� �
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 conclusi n, la arquitectura no ha sido�
alterada, porque la forma en que se conecta la memoria al procesador sigue el
mismo principio definido en la arquitectura b sica.�
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.
Arquitectura Harvard
Art culo principal: Arquitectura Harvard�
La otra variante es la arquitectura Harvard, y por excelencia la utilizada en
supercomputadoras, en los microcontroladores, y sistemas integrados en general.
En este caso, adem s de la memoria, el procesador tiene los buses segregados,�
de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno
de control.
La ventaja fundamental de esta arquitectura es que permite adecuar el tama o de�
los buses a las caracter sticas de cada tipo de memoria; adem s, el procesador� �
puede acceder a cada una de ellas de forma simult nea, lo que se traduce en un�
aumento significativo de la velocidad de procesamiento. T picamente los�
sistemas con esta arquitectura pueden ser dos veces m s r pidos que sistemas� �
similares con arquitectura Von Neumann.
La desventaja est en que consume muchas l neas de E/S del procesador; por lo� �
que en sistemas donde el procesador est ubicado en su propio encapsulado, solo�
se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros
sistemas integrados, donde usualmente la memoria de datos y programas comparten
el mismo encapsulado que el procesador, este inconveniente deja de ser un
problema serio y es por ello que encontramos la arquitectura Harvard en la
mayor a de los microcontroladores.�
Por eso es importante recordar que un microcontrolador se puede configurar de
diferentes maneras, siempre y cuando se respete el tama o de memoria que este�
requiera para su correcto funcionamiento.
Procesador en detalle
En los a os 1970, la electr nica digital no estaba suficientemente� �
desarrollada, pero dentro de la electr nica ya era una especialidad consagrada.�
En aquel entonces las computadoras se dise aban para que realizaran algunas�
operaciones muy simples, y si se quer a que estas m quinas pudiesen hacer� �
cosas diferentes, era necesario realizar cambios bastante significativos al
hardware.
A principios de la d cada de 1970, una empresa japonesa le encarg a una joven� �
compa a norteamericana que desarrollara un conjunto de circuitos para��
producir una calculadora de bajo costo. Intel se dedic de lleno a la tarea y�
entre los circuitos encargados desarroll uno muy especial, algo no creado�
hasta la fecha: el primer microprocesador integrado.
El Intel 4004 sali al mercado en 1971, es una m quina digital sincr nica� � �
compleja, como cualquier otro circuito l gico secuencial sincr nico. Sin� �
embargo, la ventaja de este componente est en que aloja internamente un�
conjunto de circuitos digitales que pueden hacer operaciones corrientes para el
c lculo y procesamiento de datos, pero desde una ptica diferente: sus� �
entradas son una serie de c digos bien definidos, que permiten hacer�
operaciones de car cter espec fico cuyo resultado est determinado por el tipo� � �
de operaci n y los operandos involucrados.�
Visto as , no hay nada de especial en un microprocesador; la maravilla est en� �
que la combinaci n adecuada de los c digos de entrada, su ejecuci n� � �
secuencial, el poder saltar hacia atr s o adelante en la secuencia de c digos� �
sobre la base de decisiones l gicas u rdenes espec ficas, permite que la� � �
m quina realice gran cantidad de operaciones complejas, no contempladas en los�
simples c digos b sicos.� �
Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en el
lejano 1971 esta era una forma de pensar un poco diferente y hasta escandalosa,
a tal punto que Busicom, la empresa que encarg los chips a Intel, no se�
mostr interesada en el invento, por lo que Intel lo comercializ para otros� �
que mostraron inter s; el resto es historia: una revoluci n sin precedentes en� �
el avance tecnol gico de la humanidad.�
Es l gico pensar que el invento del microprocesador integrado no fue una�
revelaci n divina para sus creadores, sino que se sustent en los avances,� �
existentes hasta el momento, en el campo de la electr nica digital y las�
teor as sobre computaci n. Pero sin lugar a dudas fue la gota que colm la� � �
copa de la revoluci n cient fico-t cnica, porque permiti desarrollar� � � �
aplicaciones impensadas o acelerar algunas ya encaminadas.
Ahora comenzaremos a ver c mo es que est hecho un procesador, no ser una� � �
explicaci n demasiado detallada porque desde su invenci n ste ha tenido� � �
importantes revoluciones propias, pero hay aspectos b sicos que no han cambiado�
y que constituyen la base de cualquier microprocesador. En la Figura 'Esquema de
un microcontrolador' podemos ver la estructura t pica de un microprocesador,�
con sus componentes fundamentales, claro est que ning n procesador real se� �
ajusta exactamente a esta estructura, pero aun as nos permite conocer cada uno�
de sus elementos b sicos y sus interrelaciones.�
Registros
Art culo principal: Registro (hardware)�
Son un espacio de memoria muy reducido pero necesario para cualquier
microprocesador, de aqu se toman los datos para varias operaciones que debe�
realizar el resto de los circuitos del procesador. Los registros sirven para
almacenar los resultados de la ejecuci n de instrucciones, cargar datos desde�
la memoria externa o almacenarlos en ella.
Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De
hecho una parte de los registros, la destinada a los datos, es la que determina
uno de los par metros m s importantes de cualquier microprocesador. Cuando� �
escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos
refiriendo a procesadores que realizan sus operaciones con registros de datos de
ese tama o, y por supuesto, esto determina muchas de las potencialidades de�
estas m quinas.�
Mientras mayor sea el n mero de bits de los registros de datos del procesador,�
mayores ser n sus prestaciones, en cuanto a poder de c mputo y velocidad de� �
ejecuci n, ya que este par metro determina la potencia que se puede incorporar� �
al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una
ALU de 16 bits en un procesador de 8 bits.
Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un
solo ciclo de m quina, mientras que uno de 8 bits deber ejecutar varias� �
instrucciones antes de tener el resultado, aun cuando ambos procesadores tengan
la misma velocidad de ejecuci n para sus instrucciones. El procesador de 16�
bits ser m s r pido porque puede hacer el mismo tipo de tareas que uno de 8� � �
bits, en menos tiempo.
Unidad de control
Art culo principal: Unidad de control�
Esta unidad es de las m s importantes en el procesador, en ella recae la�
l gica necesaria para la decodificaci n y ejecuci n de las instrucciones, el� � �
control de los registros, la ALU, los buses y cuanta cosa m s se quiera meter�
en el procesador.
La unidad de control es uno de los elementos fundamentales que determinan las
prestaciones del procesador, ya que su tipo y estructura determina par metros�
tales como el tipo de conjunto de instrucciones, velocidad de ejecuci n, tiempo�
del ciclo de m quina, tipo de buses que puede tener el sistema, manejo de�
interrupciones y un buen n mero de cosas m s que en cualquier procesador van a� �
parar a este bloque.
Por supuesto, las unidades de control son el elemento m s complejo de un�
procesador y normalmente est n divididas en unidades m s peque as trabajando� � �
de conjunto. La unidad de control agrupa componentes tales como la unidad de
decodificaci n, unidad de ejecuci n, controladores de memoria cach ,� � �
controladores de buses, controlador de interrupciones, pipelines, entre otros
elementos, dependiendo siempre del tipo de procesador.
Unidad aritm tico-l gica (ALU)� �
Art culo principal: Unidad aritm tica l gica� � �
Como los procesadores son circuitos que hacen b sicamente operaciones l gicas� �
y matem ticas, se le dedica a este proceso una unidad completa, con cierta�
independencia. Aqu es donde se realizan las sumas, restas, y operaciones�
l gicas t picas del lgebra de Boole.� � �
Actualmente este tipo de unidades ha evolucionado mucho y los procesadores m s�
modernos tienen varias ALU, especializadas en la realizaci n de operaciones�
complejas como las operaciones en coma flotante. De hecho en muchos casos le han
cambiado su nombre por el de coprocesador matem tico , aunque este es un� � �
t rmino que surgi para dar nombre a un tipo especial de procesador que se� �
conecta directamente al procesador m s tradicional.�
Su impacto en las prestaciones del procesador es tambi n importante porque,�
dependiendo de su potencia, tareas m s o menos complejas, pueden hacerse en�
tiempos muy cortos, como por ejemplo, los c lculos en coma flotante.�
Buses
Art culo principal: Bus (inform tica)� �
Son el medio de comunicaci n que utilizan los diferentes componentes del�
procesador para intercambiar informaci n entre s , eventualmente los buses o� �
una parte de ellos estar n reflejados en los pines del encapsulado del�
procesador.
En el caso de los microcontroladores, no es com n que los buses est n� �
reflejados en el encapsulado del circuito, ya que estos se destinan b sicamente�
a las E/S de prop sito general y perif ricos del sistema.� �
Existen tres tipos de buses:
Direcci n: Se utiliza para seleccionar al dispositivo con el cual se quiere�
trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o
escribir.
Datos: Se utiliza para mover los datos entre los dispositivos de hardware
(entrada y salida).
Control: Se utiliza para gestionar los distintos procesos de escritura lectura y
controlar la operaci n de los dispositivos del sistema.�
Conjunto de instrucciones
Art culo principal: Conjunto de instrucciones�
Aunque no aparezca en el esquema, no pod amos dejar al conjunto o repertorio de�
instrucciones fuera de la explicaci n, porque este elemento determina lo que�
puede hacer el procesador.
Define las operaciones b sicas que puede realizar el procesador, que conjugadas�
y organizadas forman lo que conocemos como software. El conjunto de
instrucciones vienen siendo como las letras del alfabeto, el elemento b sico�
del lenguaje, que organizadas adecuadamente permiten escribir palabras,
oraciones y cuanto programa se le ocurra.
Existen dos tipos b sicos de repertorios de instrucciones, que determinan la�
arquitectura del procesador: CISC y RISC.
CISC, del ingl s Complex instruction set computing, Computadora de Conjunto de�
Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy amplio y que permiten realizar
operaciones complejas entre operandos situados en la memoria o en los registros
internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones,
por lo que en la actualidad, la mayor a de los sistemas CISC de alto�
rendimiento convierten las instrucciones complejas en varias instrucciones
simples del tipo RISC, llamadas generalmente microinstrucciones.
Dentro de los microcontroladores CISC podemos encontrar 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 compatibilidad hacia atr s con las�
instrucciones de tipo CISC.
RISC, del ingl s Reduced Instruction Set Computer, Computadora con Conjunto de�
Instrucciones Reducido. Se centra en la obtenci n de procesadores con las�
siguientes caracter sticas fundamentales:�
Instrucciones de tama o fijo.�
Pocas instrucciones.
S lo las instrucciones de carga y almacenamiento acceden a la memoria de datos.�
N mero relativamente elevado de registros de prop sito general.� �
Una de las caracter sticas m s destacables de este tipo de procesadores es que� �
posibilitan el paralelismo en la ejecuci n, y reducen los accesos a memoria. Es�
por eso que los procesadores m s modernos, tradicionalmente basados en�
arquitecturas CISC, implementan mecanismos de traducci n de instrucciones CISC�
a RISC, para aprovechar las ventajas de este tipo de procesadores.
Los procesadores de los microcontroladores PIC son de tipo RISC.
Memoria
Art culo principal: Memoria (inform tica)� �
Anteriormente se ha visto que la memoria en los microcontroladores debe estar
ubicada dentro del mismo encapsulado, esto es as la mayor a de las veces,� �
porque la idea fundamental es mantener el grueso de los circuitos del sistema
dentro de un solo integrado.
En los microcontroladores la memoria no es abundante, aqu no encontrar� �
Gigabytes de memoria como en las computadoras personales. T picamente la�
memoria de programas no exceder de 16 K-localizaciones de memoria no vol til� �
(flash o eprom) para contener los programas.
La memoria RAM est destinada al almacenamiento de informaci n temporal que� �
ser utilizada por el procesador para realizar c lculos u otro tipo de� �
operaciones l gicas. En el espacio de direcciones de memoria RAM se ubican�
adem s los registros de trabajo del procesador y los de configuraci n y� �
trabajo de los distintos perif ricos del microcontrolador. Es por ello que en�
la mayor a de los casos, aunque se tenga un espacio de direcciones de un�
tama o determinado, la cantidad de memoria RAM de que dispone el programador�
para almacenar sus datos es menor que la que puede direccionar el procesador.
El tipo de memoria utilizada en las memorias RAM de los microcontroladores es
SRAM, lo que evita tener que implementar sistemas de refrescamiento como en el
caso de las computadoras personales, que utilizan gran cantidad de memoria,
t picamente alguna tecnolog a DRAM. A pesar de que la memoria SRAM es m s� � �
costosa que la DRAM, es el tipo adecuado para los microcontroladores porque
stos poseen peque as cantidades de memoria RAM.� �
En el caso de la memoria de programas se utilizan diferentes tecnolog as, y el�
uso de una u otra depende de las caracter sticas de la aplicaci n a� �
desarrollar, a continuaci n se describen las cinco tecnolog as existentes, que� �
mayor utilizaci n tienen o han tenido:�
M scara ROM. En este caso no se graba el programa en memoria sino que el� � �
microcontrolador se fabrica con el programa, es un proceso similar al de
producci n de los CD comerciales mediante masterizaci n. El costo inicial de� �
producir un circuito de este tipo es alto, porque el dise o y producci n de la� �
m scara es un proceso costoso, sin embargo, cuando se necesitan varios miles o�
incluso cientos de miles de microcontroladores para una aplicaci n determinada,�
como por ejemplo, alg n electrodom stico, el costo inicial de producci n de la� � �
m scara y el de fabricaci n del circuito se distribuye entre todos los� �
circuitos de la serie, y el costo final de sta es bastante menor que el de sus�
semejantes con otro tipo de memoria.
Memoria PROM (Programmable Read-Only Memory) tambi n conocida como OTP (One�
Time Programmable). Este tipo de memoria tambi n es conocida como PROM o�
simplemente ROM.
Los microcontroladores con memoria OTP se pueden programar una sola vez, con
alg n tipo de programador. Se utilizan en sistemas donde el programa no�
requiera futuras actualizaciones y para series relativamente peque as, donde la�
variante de m scara sea muy costosa, tambi n para sistemas que requieren� �
serializaci n 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 f ciles de identificar porque su encapsulado�
es de cer mica 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 grabaci n es similar al empleado para las memorias OTP.�
Al aparecer tecnolog as menos costosas y m s flexibles, como las memorias� �
EEPROM y FLASH, este tipo de memoria han ca do 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 el ctricamente, por lo que la ventanilla de cristal de cuarzo y los�
encapsulados cer micos no son necesarios.�
Al disminuir los costos de los encapsulados, los microcontroladores con este
tipo de memoria se hicieron m s baratos y c modos para trabajar que sus� �
equivalentes con memoria EPROM.
Otra caracter stica destacable de este tipo de microcontrolador es que fue en�
ellos donde comenzaron a utilizarse los sistemas de programaci n en el sistema�
que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para
hacer actualizaciones al programa.
Memoria flash. En el campo de las memorias reprogramables para
microcontroladores, son el ltimo avance tecnol gico en uso a gran escala, y� �
han sustituido a los microcontroladores con memoria EEPROM.
A las ventajas de las memorias flash se le adicionan su gran densidad respecto a
sus predecesoras lo que permite incrementar la cantidad de memoria de programas
a un costo muy bajo. Pueden adem s ser programadas con las mismas tensiones de�
alimentaci n del microcontrolador, el acceso en lectura y la velocidad de�
programaci n es superior, disminuci n de los costos de producci n, entre� � �
otras.
Lo m s 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 est n dadas porque el� � �
objetivo fundamental es obtener la mayor integraci n posible y conectar�
memorias externas consume l neas de E/S que son uno de los recursos m s� �
preciados de los microcontroladores.
A pesar de lo anterior existen familias como la Intel 8051 cuyos
microcontroladores tienen la capacidad de ser expandidos en una variada gama de
configuraciones para el uso de memoria de programas externa. En el caso de los
PIC, estas posibilidades est n limitadas s lo a algunos microcontroladores de� �
la gama alta, la Figura 5 muestra algunas de las configuraciones para memoria de
programa que podemos encontrar en los microcontroladores. La configuraci n (a)�
es la t pica y podemos encontrarla casi en el 100% de los microcontroladores.�
La configuraci n (b) es poco frecuente y generalmente se logra configurando al�
microcontrolador para sacrificar la memoria de programas interna, sin embargo el
Intel 8031 es un microcontrolador sin memoria de programas interna. La
configuraci n (c) es la que se encuentra habitualmente en los�
microcontroladores que tienen posibilidades de expandir su memoria de programas
como algunos PIC de gama alta.
Cuando se requiere aumentar la cantidad de memoria de datos, lo m s frecuente�
es colocar dispositivos de memoria externa en forma de perif ricos, de esta�
forma se pueden utilizar memorias RAM, FLASH o incluso discos duros como los de
los ordenadores personales, mientras que para los c lculos y dem s operaciones� �
que requieran almacenamiento temporal de datos se utiliza la memoria RAM interna
del microcontrolador. Esta forma de expandir la memoria de datos est�
determinada, en la mayor a de los casos, por el tipo de repertorio de�
instrucciones del procesador y porque permite un elevado n mero de�
configuraciones distintas, adem s del consiguiente ahorro de l neas de E/S que� �
se logra con el uso de memorias con buses de comunicaci n serie.�
Interrupciones
Art culo principal: Interrupci n� �
Las interrupciones son esencialmente llamadas a subrutina generadas por los
dispositivos f sicos, al contrario de las subrutinas normales de un programa en�
ejecuci n. Como el salto de subrutina no es parte del hilo o secuencia de�
ejecuci n programada, el controlador guarda el estado del procesador en la pila�
de memoria y entra a ejecutar un c digo especial llamado "manejador de�
interrupciones" que atiende al perif rico espec fico que gener la� � �
interrupci n. Al terminar la rutina, una instrucci n especial le indica al� �
procesador el fin de la atenci n de la interrupci n. En ese momento el� �
controlador restablece el estado anterior, y el programa que se estaba
ejecutando antes de la interrupci n sigue como si nada hubiese pasado. Las�
rutinas de atenci n de interrupciones deben ser lo m s breves posibles para� �
que el rendimiento del sistema sea satisfactorio, por que normalmente cuando una
interrupci n es atendida, todas las dem s interrupciones est n en espera.� � �
Imagine que est esperando la visita de un amigo, al que llamaremos Juan. Usted�
y Juan han acordado que cuando l llegue a su casa esperar pacientemente a� �
que le abra la puerta. Juan no debe tocar a la puerta porque alguien en la casa
duerme y no quiere que le despierten.
Ahora usted ha decidido leer un libro mientras espera a que Juan llegue a la
casa, y para comprobar si ha llegado, cada cierto tiempo detiene la lectura,
marca la p gina donde se qued , se levanta y va hasta la puerta, abre y� �
comprueba si Juan ha llegado, si ste todav a no est en la puerta, esperar� � � �
unos minutos, cerrar la puerta y regresar a su lectura durante alg n tiempo.� � �
Como ver este es un m todo poco eficiente para esperar a Juan porque requiere� �
que deje la lectura cada cierto tiempo y vaya hasta la puerta a comprobar si l�
ha llegado, adem s debe esperar un rato si todav a no llega. Y por si fuera� �
poco, imagine que Juan no llega nunca porque se le present un problema, tuvo�
que cancelar la cita y no pudo avisarle a tiempo, o peor, que Juan ha llegado a
la puerta un instante despu s que usted la cerraba. Juan, respetando lo�
acordado, espera un tiempo, pero se cansa de esperar a que le abran y decide
marcharse porque cree que ya usted no est en la casa o no puede atenderlo. A�
este m todo de atender la llegada de Juan lo llamaremos encuesta.�
Veamos ahora otro m todo. En esta ocasi n simplemente se recuesta en el sof� � �
de la sala y comienza a leer su libro, cuando Juan llegue debe tocar el timbre
de la puerta y esperar unos momentos a que le atiendan. Cuando usted oye sonar
el timbre, interrumpe la lectura, marca la p gina donde se qued y va hasta la� �
puerta para atender a la persona que toca el timbre. Una vez que Juan o la
persona que ha tocado el timbre, se marcha, usted regresa a su asiento y retoma
la lectura justo donde la dej . Este ltimo es un m todo m s eficiente que el� � � �
anterior porque le deja m s tiempo para leer y elimina algunos inconvenientes�
como el de que Juan nunca llegue o se marche antes de que usted abra la puerta.
Es, en principio, un m todo simple pero muy eficaz y eficiente, lo llamaremos�
atenci n por interrupci n.� �
El primero de ellos, la encuesta, es un m todo eficaz, pero poco eficiente�
porque requiere realizar lecturas constantes y muchas veces innecesarias del
estado del proceso que queremos atender. Sin embargo, es muy utilizado en la
programaci n de microcontroladores porque resulta f cil de aprender, la� �
implementaci n de c digo con este m todo es menos compleja y no requiere de� � �
hardware especial para llevarla adelante. Por otra parte, la encuesta, tiene
muchas deficiencias que con frecuencia obligan al dise ador a moverse hacia�
otros horizontes
El mundo est lleno de situaciones; de las cuales no podemos determinar ni�
cuando, ni como ni por qu se producen, en la mayor a de los casos lo nico� � �
que podemos hacer es enterarnos de que determinada situaci n, asociada a un�
proceso, ha ocurrido. Para ello seleccionamos alguna condici n o grupo de�
condiciones que nos indican que el proceso que nos interesa debe ser atendido, a
este fen meno, en el cual se dan las condiciones que nos interesa conocer, lo�
llamaremos evento. En el segundo ejemplo vemos que para atender a Juan, ste�
debe tocar el timbre, por tanto, la llegada de Juan es el proceso que debemos
atender y el sonido del timbre es el evento que nos indica que Juan ha llegado.
El m todo de atenci n a procesos por interrupci n, visto desde la ptica del� � � �
ejemplo que utilic para mostrarlo, es m s simple que el de la encuesta, pero� �
no es cierto, el m todo se complica porque requiere que el microprocesador�
incorpore circuitos adicionales para registrar los eventos que le indican que
debe atender al proceso asociado y comprender estos circuitos y su din mica no�
es una tarea sencilla.
Los circuitos para la atenci n a las interrupciones y todas las tareas que debe�
realizar el procesador para atender al proceso que lo interrumpe son bastante
complejos y requieren una visi n diferente de la que estamos acostumbrados a�
tener de nuestro mundo.
Los seres humanos no estamos conscientes de las interrupciones, en nuestro
organismo existen mecanismos que nos interrumpen constantemente, para ello
tenemos a nuestro sistema sensorial, pero no somos conscientes del proceso de
interrupci n, aunque s de la atenci n a las interrupciones. Eso es porque� � �
incorporamos mecanismos que nos sacan r pidamente de la tarea que estemos�
haciendo para atender una situaci n que no puede o no debe esperar mucho�
tiempo. Bien, esa misma es la idea que se incorpora en los microprocesadores
para atender procesos que no pueden esperar o que no sabemos cuando deben ser
atendidos porque ello depende de determinadas condiciones.
La cosa se complica en la secuencia de acciones a realizar desde el momento en
que se desencadena el proceso de interrupci n, hasta que se ejecuta el programa�
que lo atiende, y en la secuencia de acciones posteriores a la atenci n. Piense�
en cuantas cosas debe hacer su organismo ante una interrupci n, utilicemos el�
segundo ejemplo para atender la llegada de Juan. Piense en cuantas cosas su
cerebro hace a espaldas de su conciencia, desde el momento en que suena el
timbre hasta que usted se encuentra listo (consciente de que es probable que
Juan ha llegado) para abrir la puerta, y todo lo que su cerebro debe trabajar
para retomar la lectura despu s 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 interrupci n.�
Los procesos de atenci n a interrupciones tienen la ventaja de que se�
implementan por hardware ubicado en el procesador, as que es un m todo r pido� � �
de hacer que el procesador se dedique a ejecutar un programa especial para
atender eventos que no pueden esperar por mecanismos lentos como el de encuesta.
En t rminos generales, un proceso de interrupci n y su atenci n por parte del� � �
procesador, tiene la siguiente secuencia de acciones:
En el mundo real se produce el evento para el cual queremos que el procesador
ejecute un programa especial, este proceso tiene la caracter stica de que no�
puede esperar mucho tiempo antes de ser atendido o no sabemos en que momento
debe ser atendido.
El circuito encargado de detectar la ocurrencia del evento se activa, y como
consecuencia, activa la entrada de interrupci n del procesador.�
La unidad de control detecta que se ha producido una interrupci n y levanta� � �
una bandera para registrar esta situaci n; de esta forma si las condiciones que�
provocaron el evento desaparecen y el circuito encargado de detectarlo desactiva
la entrada de interrupci n del procesador, sta se producir de cualquier� � �
modo, porque ha sido registrada.
La unidad de ejecuci n termina con la instrucci n en curso y justo antes de� �
comenzar a ejecutar la siguiente comprueba que se ha registrado una
interrupci n�
Se desencadena un proceso que permite guardar el estado actual del programa en
ejecuci n y saltar a una direcci n especial de memoria de programas, donde� �
est la primera instrucci n de la subrutina de atenci n a interrupci n.� � � �
Se ejecuta el c digo de atenci n a interrupci n, esta es la parte� � �
consciente de todo el proceso porque es donde se realizan las acciones� �
propias de la atenci n a la interrupci n y el programador juega su papel.� �
Cuando en la subrutina de atenci n a interrupci n se ejecuta la instrucci n de� � �
retorno, se desencadena el proceso de restauraci n del procesador al estado en�
que estaba antes de la atenci n a la interrupci n.� �
Como podemos observar, el mecanismo de interrupci n es bastante complicado, sin�
embargo tiene dos ventajas que obligan a su implementaci n: la velocidad y su�
capacidad de ser as ncrono. Ambas de conjunto permiten que aprovechemos al�
m ximo las capacidades de trabajo de nuestro procesador.�
Los mecanismos de interrupci n no solo se utilizan para atender eventos ligados�
a procesos que requieren atenci n inmediata sino que se utilizan adem s para� �
atender eventos de procesos as ncronos.�
Las interrupciones son tan eficaces que permiten que el procesador act e como�
si estuviese haciendo varias cosas a la vez cuando en realidad se dedica a la
misma rutina de siempre, ejecutar instrucciones una detr s de la otra.�
Perif ricos�
Art culo principal: Perif rico (inform tica)� � �
Cuando observamos la organizaci n b sica de un microcontrolador, se alamos que� � �
dentro de este se ubican un conjunto de perif ricos. A continuaci n� �
describiremos algunos de los perif ricos que con mayor frecuencia encontraremos�
en los microcontroladores.
Entradas y salidas de prop sito general�
Tambi n 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 rel s, LED, o cualquier otra cosa que se le ocurra al�
programador.
Algunos puertos de E/S tienen caracter sticas especiales que le permiten�
manejar salidas con determinados requerimientos de corriente, o incorporan
mecanismos especiales de interrupci n para el procesador.�
T picamente cualquier pin de E/S puede ser considerada E/S de prop sito� �
general, pero como los microcontroladores no pueden tener infinitos pines, ni
siquiera todos los pines que queramos, las E/S de prop sito general comparten�
los pines con otros perif ricos. Para usar un pin con cualquiera de las�
caracter sticas a l asignadas debemos configurarlo mediante los registros� �
destinados a ellos.
Temporizadores y contadores
Son circuitos sincr nicos para el conteo de los pulsos que llegan a su poder�
para conseguir la entrada de reloj. Si la fuente de un gran conteo es el
oscilador interno del microcontrolador es com n que no tengan un pin asociado,�
y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de
conteo es externa, entonces tienen asociado un pin configurado como entrada,
este es el modo contador.
Los temporizadores son uno de los perif ricos m s habituales en los� �
microcontroladores y se utilizan para muchas tareas, como por ejemplo, la
medici n de frecuencia, implementaci n de relojes, para el trabajo de conjunto� �
con otros perif ricos que requieren una base estable de tiempo entre otras�
funcionalidades. Es frecuente que un microcontrolador t pico incorpore m s de� �
un temporizador/contador e incluso algunos tienen arreglos de contadores. Como
veremos m s adelante este perif rico es un elemento casi imprescindible y es� �
habitual que tengan asociada alguna interrupci n. Los tama os t picos de los� � �
registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo
tienen temporizadores de un tama o o con m s frecuencia con ambos tipos de� �
registro de conteo.
Conversor anal gico/digital�
Como es muy frecuente el trabajo con se ales anal gicas, stas deben ser� � �
convertidas a digital y por ello muchos microcontroladores incorporan un
conversor anal gico-digital, el cual se utiliza para tomar datos de varias�
entradas diferentes que se seleccionan mediante un multiplexor.
Las resoluciones m s frecuentes son 8 y 10 bits, que son suficientes para�
aplicaciones sencillas. Para aplicaciones en control e instrumentaci n est n� �
disponibles resoluciones de 12bit, 16bit y 24bit.6? Tambi n es posible conectar�
un convertidor externo, en caso de necesidad
Puertos de comunicaci n�
Puerto serie
Este perif rico est presente en casi cualquier microcontrolador, normalmente� �
en forma de UART (Universal Asynchronous Receiver Transmitter) o USART
(Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si
permiten o no el modo sincr nico de comunicaci n.� �
El destino com n de este perif rico es la comunicaci n con otro� � �
microcontrolador o con una PC y en la mayor a de los casos hay que agregar�
circuitos externos para completar la interfaz de comunicaci n. La forma m s� �
com n de completar el puerto serie es para comunicarlo con una PC mediante la�
interfaz EIA-232 (m s conocida como RS-232), es por ello que muchas personas se�
refieren a la UART o USART como puerto serie RS-232, pero esto constituye un
error, puesto que este perif rico se puede utilizar para interconectar�
dispositivos mediante otros est ndares de comunicaci n. En aplicaciones� �
industriales se utiliza preferiblemente RS-485 por sus superior alcance en
distancia, velocidad y resistencia al ruido.
SPI
Este tipo de perif rico se utiliza para comunicar al microcontrolador con otros�
microcontroladores o con perif ricos externos conectados a l, por medio de� �
una interfaz muy sencilla. Hay solo un nodo controlador que permite iniciar
cualquier transacci n, lo cual es una desventaja en sistemas complejos, 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 menos se ales de�
comunicaci n y cualquier nodo puede iniciar una transacci n. Es muy utilizado� �
para conectar las tarjetas gr ficas de las computadoras personales con los�
monitores, para que estos ltimos informen de sus prestaciones y permitir la�
autoconfiguraci n del sistema de v deo.� �
USB
Los microcontroladores son los que han permitido la existencia de este sistema
de comunicaci n. Es un sistema que trabaja por polling (monitorizaci n) de un� �
conjunto de perif ricos inteligentes por parte de un amo, que es normalmente un�
computador personal. Cada modo inteligente est gobernado inevitablemente por�
un microcontrolador.
Ethernet
Art culo principal: Ethernet�
Es el sistema m s extendido en el mundo para redes de rea local cableadas.� �
Los microcontroladores m s poderosos de 32 bits se usan para implementar�
perif ricos lo suficientemente poderosos como para que puedan ser accesados�
directamente por la red. Muchos de los enrutadores caseros de peque as empresas�
est n construidos sobre la base de un microcontrolador que hace del cerebro del�
sistema.
Can
Este protocolo es del tipo CSMA/CD con tolerancia a elevados niveles de tensi n�
de modo com n y orientado al tiempo real. Este protocolo es el est ndar m s� � �
importante en la industria automotriz (OBD). Tambi n se usa como capa f sica� �
del "field bus" para el control industrial.
Otros puertos de comunicaci n�
Hay una enorme cantidad de otros buses disponibles para la industria automotriz
(linbus) o de medios audiovisuales como el i2s, IEEE 1394. El usuario se los
encontrar cuando trabaje en alg n rea especializada.� � �
Comparadores
Son circuitos anal gicos basados en amplificadores operacionales que tienen la�
caracter stica de comparar dos se ales anal gicas y dar como salida los� � �
niveles l gicos 0 o 1 en dependencia del resultado de la comparaci n. Es� � � � � �
un perif rico muy til para detectar cambios en se ales de entrada de las que� � �
solamente nos interesa conocer cuando est en un rango determinado de tensi n.� �
Modulador de ancho de pulsos
Los PWM (Pulse Width Modulator) son perif ricos muy tiles sobre todo para el� �
control de motores, sin embargo hay un grupo de aplicaciones que pueden
realizarse con este perif rico, dentro de las cuales podemos citar: inversi n� �
DC/AC para UPS, conversi n digital anal gica D/A, control regulado de luz� �
(dimming) entre otras.
Memoria de datos no vol til�
Muchos microcontroladores han incorporado estos tipos de memoria como un
perif rico m s, para el almacenamiento de datos de configuraci n o de los� � �
procesos que se controlan. Esta memoria es independiente de la memoria de datos
tipo RAM o la memoria de programas, en la que se almacena el c digo del�
programa a ejecutar por el procesador del microcontrolador.
Muchos de los microcontroladores PIC incluyen este tipo de memoria, t picamente�
en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de
la memoria de programas como memoria de datos no vol til, por lo que el�
procesador tiene la capacidad de escribir en la memoria de programas como si
sta fuese un perif rico m s.� � �

Más contenido relacionado

La actualidad más candente (20)

El Microprocesador
El MicroprocesadorEl Microprocesador
El Microprocesador
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Microprocesador
Microprocesador Microprocesador
Microprocesador
 
Unidad base de un equipo microinformático
 Unidad base de un equipo microinformático Unidad base de un equipo microinformático
Unidad base de un equipo microinformático
 
Microprocesador ppt
Microprocesador pptMicroprocesador ppt
Microprocesador ppt
 
Arquitectura de computadores
Arquitectura de computadoresArquitectura de computadores
Arquitectura de computadores
 
5. microprocesador
5. microprocesador5. microprocesador
5. microprocesador
 
Tipos de microcontroladores
Tipos de microcontroladoresTipos de microcontroladores
Tipos de microcontroladores
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
Sesion 1 atmega8
Sesion 1 atmega8Sesion 1 atmega8
Sesion 1 atmega8
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Introduccion a microcontroladores
Introduccion a microcontroladoresIntroduccion a microcontroladores
Introduccion a microcontroladores
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Turorial avr Bascom
Turorial avr BascomTurorial avr Bascom
Turorial avr Bascom
 
FAMILIA MICROCONTROLADORES
FAMILIA MICROCONTROLADORESFAMILIA MICROCONTROLADORES
FAMILIA MICROCONTROLADORES
 
Ensamblaje de Pcs-Microprocesador
Ensamblaje de Pcs-MicroprocesadorEnsamblaje de Pcs-Microprocesador
Ensamblaje de Pcs-Microprocesador
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Autor
AutorAutor
Autor
 

Similar a Microcontrolador: CPU, memoria y E/S en un chip

Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontroladorDaysi Morante
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladoresProyesa
 
Apunte de microprocesadores pic
Apunte de microprocesadores picApunte de microprocesadores pic
Apunte de microprocesadores piccarlos960
 
U1 microcontroladores
U1 microcontroladoresU1 microcontroladores
U1 microcontroladoresSENA
 
U1 Microcontroladores Diseño de Productos Electrónicos con Microcontroladores
U1 Microcontroladores  Diseño de Productos Electrónicos con MicrocontroladoresU1 Microcontroladores  Diseño de Productos Electrónicos con Microcontroladores
U1 Microcontroladores Diseño de Productos Electrónicos con MicrocontroladoresSENA
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontroladorJose Chacho
 
microprocesadores
microprocesadoresmicroprocesadores
microprocesadoresgbrando
 
El microprocesador o simplemente procesador
El microprocesador o simplemente procesadorEl microprocesador o simplemente procesador
El microprocesador o simplemente procesadorJuan Restrepo Rivas
 
Monroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadoraMonroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadorafenixgamer
 
microprocesadores
microprocesadoresmicroprocesadores
microprocesadoresrocio1994
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfMarianaAucancela
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1Luis Zurita
 
INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1FRANCIACOCO
 
1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladoresOmar Felis
 
1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladoresCataldo Asaro B
 

Similar a Microcontrolador: CPU, memoria y E/S en un chip (20)

MICROCONTROLADORES.ppt
MICROCONTROLADORES.pptMICROCONTROLADORES.ppt
MICROCONTROLADORES.ppt
 
Introducción
IntroducciónIntroducción
Introducción
 
Micro1.ppt
Micro1.pptMicro1.ppt
Micro1.ppt
 
Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontrolador
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
Apunte de microprocesadores pic
Apunte de microprocesadores picApunte de microprocesadores pic
Apunte de microprocesadores pic
 
U1 microcontroladores
U1 microcontroladoresU1 microcontroladores
U1 microcontroladores
 
U1 Microcontroladores Diseño de Productos Electrónicos con Microcontroladores
U1 Microcontroladores  Diseño de Productos Electrónicos con MicrocontroladoresU1 Microcontroladores  Diseño de Productos Electrónicos con Microcontroladores
U1 Microcontroladores Diseño de Productos Electrónicos con Microcontroladores
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontrolador
 
microprocesadores
microprocesadoresmicroprocesadores
microprocesadores
 
El microprocesador o simplemente procesador
El microprocesador o simplemente procesadorEl microprocesador o simplemente procesador
El microprocesador o simplemente procesador
 
Monroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadoraMonroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadora
 
microprocesadores
microprocesadoresmicroprocesadores
microprocesadores
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdf
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1
 
Microprocesadores - A.ppt
Microprocesadores - A.pptMicroprocesadores - A.ppt
Microprocesadores - A.ppt
 
1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores
 
1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores1 introduccion a_los_ucontroladores
1 introduccion a_los_ucontroladores
 

Último

ACUERDOS PARA PINTAR EDUCACION INICIAL.docx
ACUERDOS PARA PINTAR EDUCACION INICIAL.docxACUERDOS PARA PINTAR EDUCACION INICIAL.docx
ACUERDOS PARA PINTAR EDUCACION INICIAL.docxlizeth753950
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxMaikelPereira1
 
Habitos atomicos libro completooooooooooo
Habitos atomicos libro completoooooooooooHabitos atomicos libro completooooooooooo
Habitos atomicos libro completoooooooooooTomas914396
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Secssuser50da781
 
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptx
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptxPA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptx
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptxJOELORELLANA15
 
la configuyracion del territorio peruano
la configuyracion del territorio peruanola configuyracion del territorio peruano
la configuyracion del territorio peruanoEFRAINSALAZARLOYOLA1
 
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptxjezuz1231
 
presentacion-auditoria-administrativa-i-encuentro (1).ppt
presentacion-auditoria-administrativa-i-encuentro (1).pptpresentacion-auditoria-administrativa-i-encuentro (1).ppt
presentacion-auditoria-administrativa-i-encuentro (1).pptDerekLiberatoMartine
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaccastilloojeda12
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxAdriannDiaz
 
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxLA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxJuankLerma
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...CarlosMelgarejo25
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...CLAUDIA GINGLIONA RAMÍREZ DIFILIPPI
 
Concepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasConcepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasAnkara2
 
MAPA MENTAL sobre los tipos de lectura existentes
MAPA MENTAL sobre los tipos de lectura existentesMAPA MENTAL sobre los tipos de lectura existentes
MAPA MENTAL sobre los tipos de lectura existentesDiandraRivera
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfDreydyAvila
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMaraMilagrosBarrosMa
 
La Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfLa Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfloquendo1901
 
Europa y la Exploración del continente americano.pptx
Europa y la Exploración del continente americano.pptxEuropa y la Exploración del continente americano.pptx
Europa y la Exploración del continente americano.pptxismaelchandi2010
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaEmmanuel Toloza
 

Último (20)

ACUERDOS PARA PINTAR EDUCACION INICIAL.docx
ACUERDOS PARA PINTAR EDUCACION INICIAL.docxACUERDOS PARA PINTAR EDUCACION INICIAL.docx
ACUERDOS PARA PINTAR EDUCACION INICIAL.docx
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
 
Habitos atomicos libro completooooooooooo
Habitos atomicos libro completoooooooooooHabitos atomicos libro completooooooooooo
Habitos atomicos libro completooooooooooo
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Sec
 
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptx
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptxPA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptx
PA2_BITACORA _Taipe_Turpo_Teves_Sumire_Suma.pptx
 
la configuyracion del territorio peruano
la configuyracion del territorio peruanola configuyracion del territorio peruano
la configuyracion del territorio peruano
 
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx
271706433-Horacio-Baliero-Casa-en-Punta-Piedras.pptx
 
presentacion-auditoria-administrativa-i-encuentro (1).ppt
presentacion-auditoria-administrativa-i-encuentro (1).pptpresentacion-auditoria-administrativa-i-encuentro (1).ppt
presentacion-auditoria-administrativa-i-encuentro (1).ppt
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitectura
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
 
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxLA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
 
Concepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasConcepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena Olvieras
 
MAPA MENTAL sobre los tipos de lectura existentes
MAPA MENTAL sobre los tipos de lectura existentesMAPA MENTAL sobre los tipos de lectura existentes
MAPA MENTAL sobre los tipos de lectura existentes
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
 
La Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfLa Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdf
 
Europa y la Exploración del continente americano.pptx
Europa y la Exploración del continente americano.pptxEuropa y la Exploración del continente americano.pptx
Europa y la Exploración del continente americano.pptx
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
 

Microcontrolador: CPU, memoria y E/S en un chip

  • 1. Microcontrolador Ir a la navegaci nIr a la b squeda� � 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 un chip. Microcontrolador PIC 18F8720 en encapsulado TQFP de 80 pines. Microcontrolador TMS 1000 de Texas Instruments Microcontrolador TMS 1000 de Texas Instruments Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado� programable, capaz de ejecutar las rdenes grabadas en su memoria. Est� � compuesto de varios bloques funcionales, los cuales cumplen una tarea espec fica. Un microcontrolador incluye en su interior las tres principales� unidades funcionales de una computadora: unidad central de procesamiento, memoria y perif ricos de entrada/salida.� Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microwatts). Por lo general, tendr la capacidad de mantenerse a� la espera de un evento como pulsar un bot n o de otra interrupci n; as , el� � � consumo de energ a durante el estado de reposo (reloj de la CPU y los� perif ricos de la mayor a) puede ser s lo de nanowatts, lo que hace que muchos� � � de ellos sean muy adecuados para aplicaciones con bater a de larga duraci n.� � Otros microcontroladores pueden servir para roles de rendimiento cr tico, donde� sea necesario actuar m s como un procesador digital de se al (DSP), con� � velocidades de reloj y consumo de energ a m s altos.� � Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que pueda controlar alg n proceso es necesario generar o crear y luego� grabar en la EEPROM o equivalente del microcontrolador alg n programa, el cual� puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema num rico� hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando ste es alimentado con el voltaje adecuado y asociado a dispositivos� anal gicos y discretos para su funcionamiento.1?� ndice� 1 Historia 2 Caracter sticas� 3 Arquitecturas de computadora 3.1 Arquitectura Von Neumann 3.2 Arquitectura Harvard 4 Procesador en detalle 4.1 Registros 4.2 Unidad de control 4.3 Unidad aritm tico-l gica (ALU)� � 4.4 Buses 4.5 Conjunto de instrucciones 5 Memoria 6 Interrupciones 7 Perif ricos� 7.1 Entradas y salidas de prop sito general� 7.2 Temporizadores y contadores 7.3 Conversor anal gico/digital� 7.4 Puertos de comunicaci n� 7.4.1 Puerto serie 7.4.2 SPI 7.4.3 I2C 7.4.4 USB 7.4.5 Ethernet
  • 2. 7.4.6 Can 7.4.7 Otros puertos de comunicaci n� 7.5 Comparadores 7.6 Modulador de ancho de pulsos 7.7 Memoria de datos no vol til� 8 Familias de microcontroladores 9 V ase tambi n� � 10 Referencias Historia El primer microprocesador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido por el Intel 8008 y otros m s capaces. Sin embargo, ambos procesadores� requieren circuitos adicionales para implementar un sistema de trabajo, elevando el costo del sistema total. El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000, en 1971; fue comercializado en 1974. Combina memoria ROM, memoria RAM, microprocesador y reloj en un chip y estaba 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 m s 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 m s exitosos� � en la historia de la compa a, y ampli el presupuesto de la divisi n en m s�� � � � del 25%. La mayor a de los microcontroladores en aquel momento ten an dos variantes.� � Unos ten an una memoria EPROM reprogramable, significativamente m s caros que� � la variante PROM que era s lo 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 el ctrica y r pidamente sin� � necesidad de un paquete costoso como se requiere en EPROM, lo que permite tanto la creaci n r pida de prototipos y la programaci n en el sistema. El mismo� � � a o, Atmel lanza el primer microcontrolador que utiliza memoria flash.5? Otras� compa as r pidamente siguieron el ejemplo, con los dos tipos de memoria.�� � El costo se ha desplomado en el tiempo, con el m s barato microcontrolador de 8� bits disponible por menos de 0,25 d lares para miles de unidades en 2009, y� algunos microcontroladores de 32 bits a 1 d lar por cantidades similares. En la� actualidad los microcontroladores son baratos y f cilmente disponibles para los� aficionados, con grandes comunidades en l nea para ciertos procesadores.� En el futuro, la MRAM podr a ser utilizada en microcontroladores, ya que tiene� resistencia infinita y el coste de su oblea semiconductora es relativamente bajo. Caracter sticas� Esquema de un microcontrolador. En esta figura, vemos al microcontrolador metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, perif ricos y puertos de entrada/salida. Fuera del encapsulado se� ubican otros circuitos para completar perif ricos internos y dispositivos que� pueden conectarse a los pines de entrada/salida. Tambi n se conectar n a los� � pines del encapsulado la alimentaci n, masa, circuito de completamiento del� oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar. Los microcontroladores est n dise ados para reducir el costo econ mico y el� � � consumo de energ a de un sistema en particular. Por eso el tama o de la unidad� �
  • 3. central de procesamiento, la cantidad de memoria y los perif ricos incluidos� depender n de la aplicaci n. El control de un electrodom stico sencillo como� � � una batidora utilizar un procesador muy peque o (4 u 8 bits) porque� � sustituir a un aut mata finito. En cambio, un reproductor de m sica y/o� � � v deo digital (MP3 o MP4) requerir de un procesador de 32 bits o de 64 bits y� � de uno o m s c decs de se al digital (audio y/o v deo). El control de un� � � � sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electr nico del� motor en un autom vil.� Los microcontroladores representan la inmensa mayor a de los chips de� computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSP m s especializados. Mientras se pueden tener uno o dos� microprocesadores de prop sito general en casa (Ud. est usando uno para� � esto), usted tiene distribuidos seguramente entre los electrodom sticos de su� hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electr nico como autom viles, lavadoras, hornos� � microondas, tel fonos, etc.� Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es m s f cil convertirla en una computadora en funcionamiento,� � con un m nimo de circuitos integrados externos de apoyo. La idea es que el� circuito integrado se coloque en el dispositivo, enganchado a la fuente de energ a y de informaci n que necesite, y eso es todo. Un microprocesador� � tradicional no le permitir hacer esto, ya que espera que todas estas tareas� sean manejadas por otros chips. Hay que agregarle los m dulos de entrada y� salida (puertos) y la memoria para almacenamiento de informaci n.� Un microcontrolador t pico tendr un generador de reloj integrado y una� � peque a cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con� lo que para hacerlo funcionar todo lo que se necesita son unos pocos programas de control y un cristal de sincronizaci n. Los microcontroladores disponen� generalmente tambi n de una gran variedad de dispositivos de entrada/salida,� como convertidor anal gico digital, temporizadores, UARTs y buses de interfaz� serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programaci n integrado, como el lenguaje de programaci n BASIC que� � se utiliza bastante con este prop sito.� Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuiter a.� Arquitecturas de computadora Art culo principal: Arquitectura de computadoras� B sicamente existen dos arquitecturas de computadoras, y por supuesto, est n� � presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexi n de la memoria al procesador y en los buses� que cada una necesita. Arquitectura Von Neumann Art culo principal: Arquitectura Von Neumann� La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de l neas de E/S,� que son bastante costosas, sobre todo para aquellos sistemas donde el procesador se monta en alg n tipo de z calo alojado en una placa madre. Tambi n esta� � � organizaci n les ahorra a los dise adores de placas madre una buena cantidad� � de problemas y reduce el costo de este tipo de sistemas. En un ordenador personal, cuando se carga un programa en memoria, a ste se le� asigna un espacio de direcciones de la memoria que se divide en segmentos, de
  • 4. los cuales t picamente tendremos los siguientes: c digo (programa), datos y� � pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos f sicos en el sistema (disco duro, memoria RAM, memoria� flash, unidad de disco ptico...).� En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos (t picamente alg n tipo de SRAM) y memoria de� � programas (ROM, PROM, EEPROM, flash u de otro tipo no vol til). En este caso la� organizaci n es distinta a las del ordenador personal, porque hay circuitos� distintos para cada memoria y normalmente no se utilizan los registros de segmentos, 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 definici n� � 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 conclusi n, la arquitectura no ha sido� alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura b sica.� 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. Arquitectura Harvard Art culo principal: Arquitectura Harvard� La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, adem s de la memoria, el procesador tiene los buses segregados,� de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control. La ventaja fundamental de esta arquitectura es que permite adecuar el tama o de� los buses a las caracter sticas de cada tipo de memoria; adem s, el procesador� � puede acceder a cada una de ellas de forma simult nea, lo que se traduce en un� aumento significativo de la velocidad de procesamiento. T picamente los� sistemas con esta arquitectura pueden ser dos veces m s r pidos que sistemas� � similares con arquitectura Von Neumann. La desventaja est en que consume muchas l neas de E/S del procesador; por lo� � que en sistemas donde el procesador est ubicado en su propio encapsulado, solo� se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayor a de los microcontroladores.� Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tama o de memoria que este� requiera para su correcto funcionamiento. Procesador en detalle En los a os 1970, la electr nica digital no estaba suficientemente� � desarrollada, pero dentro de la electr nica ya era una especialidad consagrada.� En aquel entonces las computadoras se dise aban para que realizaran algunas� operaciones muy simples, y si se quer a que estas m quinas pudiesen hacer� � cosas diferentes, era necesario realizar cambios bastante significativos al hardware. A principios de la d cada de 1970, una empresa japonesa le encarg a una joven� � compa a norteamericana que desarrollara un conjunto de circuitos para�� producir una calculadora de bajo costo. Intel se dedic de lleno a la tarea y� entre los circuitos encargados desarroll uno muy especial, algo no creado�
  • 5. hasta la fecha: el primer microprocesador integrado. El Intel 4004 sali al mercado en 1971, es una m quina digital sincr nica� � � compleja, como cualquier otro circuito l gico secuencial sincr nico. Sin� � embargo, la ventaja de este componente est en que aloja internamente un� conjunto de circuitos digitales que pueden hacer operaciones corrientes para el c lculo y procesamiento de datos, pero desde una ptica diferente: sus� � entradas son una serie de c digos bien definidos, que permiten hacer� operaciones de car cter espec fico cuyo resultado est determinado por el tipo� � � de operaci n y los operandos involucrados.� Visto as , no hay nada de especial en un microprocesador; la maravilla est en� � que la combinaci n adecuada de los c digos de entrada, su ejecuci n� � � secuencial, el poder saltar hacia atr s o adelante en la secuencia de c digos� � sobre la base de decisiones l gicas u rdenes espec ficas, permite que la� � � m quina realice gran cantidad de operaciones complejas, no contempladas en los� simples c digos b sicos.� � Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en el lejano 1971 esta era una forma de pensar un poco diferente y hasta escandalosa, a tal punto que Busicom, la empresa que encarg los chips a Intel, no se� mostr interesada en el invento, por lo que Intel lo comercializ para otros� � que mostraron inter s; el resto es historia: una revoluci n sin precedentes en� � el avance tecnol gico de la humanidad.� Es l gico pensar que el invento del microprocesador integrado no fue una� revelaci n divina para sus creadores, sino que se sustent en los avances,� � existentes hasta el momento, en el campo de la electr nica digital y las� teor as sobre computaci n. Pero sin lugar a dudas fue la gota que colm la� � � copa de la revoluci n cient fico-t cnica, porque permiti desarrollar� � � � aplicaciones impensadas o acelerar algunas ya encaminadas. Ahora comenzaremos a ver c mo es que est hecho un procesador, no ser una� � � explicaci n demasiado detallada porque desde su invenci n ste ha tenido� � � importantes revoluciones propias, pero hay aspectos b sicos que no han cambiado� y que constituyen la base de cualquier microprocesador. En la Figura 'Esquema de un microcontrolador' podemos ver la estructura t pica de un microprocesador,� con sus componentes fundamentales, claro est que ning n procesador real se� � ajusta exactamente a esta estructura, pero aun as nos permite conocer cada uno� de sus elementos b sicos y sus interrelaciones.� Registros Art culo principal: Registro (hardware)� Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aqu se toman los datos para varias operaciones que debe� realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecuci n de instrucciones, cargar datos desde� la memoria externa o almacenarlos en ella. Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la destinada a los datos, es la que determina uno de los par metros m s importantes de cualquier microprocesador. Cuando� � escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese tama o, y por supuesto, esto determina muchas de las potencialidades de� estas m quinas.� Mientras mayor sea el n mero de bits de los registros de datos del procesador,� mayores ser n sus prestaciones, en cuanto a poder de c mputo y velocidad de� � ejecuci n, ya que este par metro determina la potencia que se puede incorporar� � al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits. Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un
  • 6. solo ciclo de m quina, mientras que uno de 8 bits deber ejecutar varias� � instrucciones antes de tener el resultado, aun cuando ambos procesadores tengan la misma velocidad de ejecuci n para sus instrucciones. El procesador de 16� bits ser m s r pido porque puede hacer el mismo tipo de tareas que uno de 8� � � bits, en menos tiempo. Unidad de control Art culo principal: Unidad de control� Esta unidad es de las m s importantes en el procesador, en ella recae la� l gica necesaria para la decodificaci n y ejecuci n de las instrucciones, el� � � control de los registros, la ALU, los buses y cuanta cosa m s se quiera meter� en el procesador. La unidad de control es uno de los elementos fundamentales que determinan las prestaciones del procesador, ya que su tipo y estructura determina par metros� tales como el tipo de conjunto de instrucciones, velocidad de ejecuci n, tiempo� del ciclo de m quina, tipo de buses que puede tener el sistema, manejo de� interrupciones y un buen n mero de cosas m s que en cualquier procesador van a� � parar a este bloque. Por supuesto, las unidades de control son el elemento m s complejo de un� procesador y normalmente est n divididas en unidades m s peque as trabajando� � � de conjunto. La unidad de control agrupa componentes tales como la unidad de decodificaci n, unidad de ejecuci n, controladores de memoria cach ,� � � controladores de buses, controlador de interrupciones, pipelines, entre otros elementos, dependiendo siempre del tipo de procesador. Unidad aritm tico-l gica (ALU)� � Art culo principal: Unidad aritm tica l gica� � � Como los procesadores son circuitos que hacen b sicamente operaciones l gicas� � y matem ticas, se le dedica a este proceso una unidad completa, con cierta� independencia. Aqu es donde se realizan las sumas, restas, y operaciones� l gicas t picas del lgebra de Boole.� � � Actualmente este tipo de unidades ha evolucionado mucho y los procesadores m s� modernos tienen varias ALU, especializadas en la realizaci n de operaciones� complejas como las operaciones en coma flotante. De hecho en muchos casos le han cambiado su nombre por el de coprocesador matem tico , aunque este es un� � � t rmino que surgi para dar nombre a un tipo especial de procesador que se� � conecta directamente al procesador m s tradicional.� Su impacto en las prestaciones del procesador es tambi n importante porque,� dependiendo de su potencia, tareas m s o menos complejas, pueden hacerse en� tiempos muy cortos, como por ejemplo, los c lculos en coma flotante.� Buses Art culo principal: Bus (inform tica)� � Son el medio de comunicaci n que utilizan los diferentes componentes del� procesador para intercambiar informaci n entre s , eventualmente los buses o� � una parte de ellos estar n reflejados en los pines del encapsulado del� procesador. En el caso de los microcontroladores, no es com n que los buses est n� � reflejados en el encapsulado del circuito, ya que estos se destinan b sicamente� a las E/S de prop sito general y perif ricos del sistema.� � Existen tres tipos de buses: Direcci n: Se utiliza para seleccionar al dispositivo con el cual se quiere� trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o escribir. Datos: Se utiliza para mover los datos entre los dispositivos de hardware (entrada y salida). Control: Se utiliza para gestionar los distintos procesos de escritura lectura y
  • 7. controlar la operaci n de los dispositivos del sistema.� Conjunto de instrucciones Art culo principal: Conjunto de instrucciones� Aunque no aparezca en el esquema, no pod amos dejar al conjunto o repertorio de� instrucciones fuera de la explicaci n, porque este elemento determina lo que� puede hacer el procesador. Define las operaciones b sicas que puede realizar el procesador, que conjugadas� y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento b sico� del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra. Existen dos tipos b sicos de repertorios de instrucciones, que determinan la� arquitectura del procesador: CISC y RISC. CISC, del ingl s Complex instruction set computing, Computadora de Conjunto de� Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y que permiten realizar operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en la actualidad, la mayor a de los sistemas CISC de alto� rendimiento convierten las instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Dentro de los microcontroladores CISC podemos encontrar 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 compatibilidad hacia atr s con las� instrucciones de tipo CISC. RISC, del ingl s Reduced Instruction Set Computer, Computadora con Conjunto de� Instrucciones Reducido. Se centra en la obtenci n de procesadores con las� siguientes caracter sticas fundamentales:� Instrucciones de tama o fijo.� Pocas instrucciones. S lo las instrucciones de carga y almacenamiento acceden a la memoria de datos.� N mero relativamente elevado de registros de prop sito general.� � Una de las caracter sticas m s destacables de este tipo de procesadores es que� � posibilitan el paralelismo en la ejecuci n, y reducen los accesos a memoria. Es� por eso que los procesadores m s modernos, tradicionalmente basados en� arquitecturas CISC, implementan mecanismos de traducci n de instrucciones CISC� a RISC, para aprovechar las ventajas de este tipo de procesadores. Los procesadores de los microcontroladores PIC son de tipo RISC. Memoria Art culo principal: Memoria (inform tica)� � Anteriormente se ha visto que la memoria en los microcontroladores debe estar ubicada dentro del mismo encapsulado, esto es as la mayor a de las veces,� � porque la idea fundamental es mantener el grueso de los circuitos del sistema dentro de un solo integrado. En los microcontroladores la memoria no es abundante, aqu no encontrar� � Gigabytes de memoria como en las computadoras personales. T picamente la� memoria de programas no exceder de 16 K-localizaciones de memoria no vol til� � (flash o eprom) para contener los programas. La memoria RAM est destinada al almacenamiento de informaci n temporal que� � ser utilizada por el procesador para realizar c lculos u otro tipo de� � operaciones l gicas. En el espacio de direcciones de memoria RAM se ubican� adem s los registros de trabajo del procesador y los de configuraci n y� � trabajo de los distintos perif ricos del microcontrolador. Es por ello que en�
  • 8. la mayor a de los casos, aunque se tenga un espacio de direcciones de un� tama o determinado, la cantidad de memoria RAM de que dispone el programador� para almacenar sus datos es menor que la que puede direccionar el procesador. El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras personales, que utilizan gran cantidad de memoria, t picamente alguna tecnolog a DRAM. A pesar de que la memoria SRAM es m s� � � costosa que la DRAM, es el tipo adecuado para los microcontroladores porque stos poseen peque as cantidades de memoria RAM.� � En el caso de la memoria de programas se utilizan diferentes tecnolog as, y el� uso de una u otra depende de las caracter sticas de la aplicaci n a� � desarrollar, a continuaci n se describen las cinco tecnolog as existentes, que� � mayor utilizaci n tienen o han tenido:� M scara ROM. En este caso no se graba el programa en memoria sino que el� � � microcontrolador se fabrica con el programa, es un proceso similar al de producci n de los CD comerciales mediante masterizaci n. El costo inicial de� � producir un circuito de este tipo es alto, porque el dise o y producci n de la� � m scara es un proceso costoso, sin embargo, cuando se necesitan varios miles o� incluso cientos de miles de microcontroladores para una aplicaci n determinada,� como por ejemplo, alg n electrodom stico, el costo inicial de producci n de la� � � m scara y el de fabricaci n del circuito se distribuye entre todos los� � circuitos de la serie, y el costo final de sta es bastante menor que el de sus� semejantes con otro tipo de memoria. Memoria PROM (Programmable Read-Only Memory) tambi n conocida como OTP (One� Time Programmable). Este tipo de memoria tambi n es conocida como PROM o� simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con alg n tipo de programador. Se utilizan en sistemas donde el programa no� requiera futuras actualizaciones y para series relativamente peque as, donde la� variante de m scara sea muy costosa, tambi n para sistemas que requieren� � serializaci n 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 f ciles de identificar porque su encapsulado� es de cer mica 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 grabaci n es similar al empleado para las memorias OTP.� Al aparecer tecnolog as menos costosas y m s flexibles, como las memorias� � EEPROM y FLASH, este tipo de memoria han ca do 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 el ctricamente, por lo que la ventanilla de cristal de cuarzo y los� encapsulados cer micos no son necesarios.� Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron m s baratos y c modos para trabajar que sus� � equivalentes con memoria EPROM. Otra caracter stica destacable de este tipo de microcontrolador es que fue en� ellos donde comenzaron a utilizarse los sistemas de programaci n en el sistema� que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa. Memoria flash. En el campo de las memorias reprogramables para microcontroladores, son el ltimo avance tecnol gico en uso a gran escala, y� � han sustituido a los microcontroladores con memoria EEPROM. A las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden adem s ser programadas con las mismas tensiones de� alimentaci n del microcontrolador, el acceso en lectura y la velocidad de� programaci n es superior, disminuci n de los costos de producci n, entre� � �
  • 9. otras. Lo m s 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 est n dadas porque el� � � objetivo fundamental es obtener la mayor integraci n posible y conectar� memorias externas consume l neas de E/S que son uno de los recursos m s� � preciados de los microcontroladores. A pesar de lo anterior existen familias como la Intel 8051 cuyos microcontroladores tienen la capacidad de ser expandidos en una variada gama de configuraciones para el uso de memoria de programas externa. En el caso de los PIC, estas posibilidades est n limitadas s lo a algunos microcontroladores de� � la gama alta, la Figura 5 muestra algunas de las configuraciones para memoria de programa que podemos encontrar en los microcontroladores. La configuraci n (a)� es la t pica y podemos encontrarla casi en el 100% de los microcontroladores.� La configuraci n (b) es poco frecuente y generalmente se logra configurando al� microcontrolador para sacrificar la memoria de programas interna, sin embargo el Intel 8031 es un microcontrolador sin memoria de programas interna. La configuraci n (c) es la que se encuentra habitualmente en los� microcontroladores que tienen posibilidades de expandir su memoria de programas como algunos PIC de gama alta. Cuando se requiere aumentar la cantidad de memoria de datos, lo m s frecuente� es colocar dispositivos de memoria externa en forma de perif ricos, de esta� forma se pueden utilizar memorias RAM, FLASH o incluso discos duros como los de los ordenadores personales, mientras que para los c lculos y dem s operaciones� � que requieran almacenamiento temporal de datos se utiliza la memoria RAM interna del microcontrolador. Esta forma de expandir la memoria de datos est� determinada, en la mayor a de los casos, por el tipo de repertorio de� instrucciones del procesador y porque permite un elevado n mero de� configuraciones distintas, adem s del consiguiente ahorro de l neas de E/S que� � se logra con el uso de memorias con buses de comunicaci n serie.� Interrupciones Art culo principal: Interrupci n� � Las interrupciones son esencialmente llamadas a subrutina generadas por los dispositivos f sicos, al contrario de las subrutinas normales de un programa en� ejecuci n. Como el salto de subrutina no es parte del hilo o secuencia de� ejecuci n programada, el controlador guarda el estado del procesador en la pila� de memoria y entra a ejecutar un c digo especial llamado "manejador de� interrupciones" que atiende al perif rico espec fico que gener la� � � interrupci n. Al terminar la rutina, una instrucci n especial le indica al� � procesador el fin de la atenci n de la interrupci n. En ese momento el� � controlador restablece el estado anterior, y el programa que se estaba ejecutando antes de la interrupci n sigue como si nada hubiese pasado. Las� rutinas de atenci n de interrupciones deben ser lo m s breves posibles para� � que el rendimiento del sistema sea satisfactorio, por que normalmente cuando una interrupci n es atendida, todas las dem s interrupciones est n en espera.� � � Imagine que est esperando la visita de un amigo, al que llamaremos Juan. Usted� y Juan han acordado que cuando l llegue a su casa esperar pacientemente a� � que le abra la puerta. Juan no debe tocar a la puerta porque alguien en la casa duerme y no quiere que le despierten. Ahora usted ha decidido leer un libro mientras espera a que Juan llegue a la casa, y para comprobar si ha llegado, cada cierto tiempo detiene la lectura, marca la p gina donde se qued , se levanta y va hasta la puerta, abre y� � comprueba si Juan ha llegado, si ste todav a no est en la puerta, esperar� � � � unos minutos, cerrar la puerta y regresar a su lectura durante alg n tiempo.� � � Como ver este es un m todo poco eficiente para esperar a Juan porque requiere� � que deje la lectura cada cierto tiempo y vaya hasta la puerta a comprobar si l� ha llegado, adem s debe esperar un rato si todav a no llega. Y por si fuera� �
  • 10. poco, imagine que Juan no llega nunca porque se le present un problema, tuvo� que cancelar la cita y no pudo avisarle a tiempo, o peor, que Juan ha llegado a la puerta un instante despu s que usted la cerraba. Juan, respetando lo� acordado, espera un tiempo, pero se cansa de esperar a que le abran y decide marcharse porque cree que ya usted no est en la casa o no puede atenderlo. A� este m todo de atender la llegada de Juan lo llamaremos encuesta.� Veamos ahora otro m todo. En esta ocasi n simplemente se recuesta en el sof� � � de la sala y comienza a leer su libro, cuando Juan llegue debe tocar el timbre de la puerta y esperar unos momentos a que le atiendan. Cuando usted oye sonar el timbre, interrumpe la lectura, marca la p gina donde se qued y va hasta la� � puerta para atender a la persona que toca el timbre. Una vez que Juan o la persona que ha tocado el timbre, se marcha, usted regresa a su asiento y retoma la lectura justo donde la dej . Este ltimo es un m todo m s eficiente que el� � � � anterior porque le deja m s tiempo para leer y elimina algunos inconvenientes� como el de que Juan nunca llegue o se marche antes de que usted abra la puerta. Es, en principio, un m todo simple pero muy eficaz y eficiente, lo llamaremos� atenci n por interrupci n.� � El primero de ellos, la encuesta, es un m todo eficaz, pero poco eficiente� porque requiere realizar lecturas constantes y muchas veces innecesarias del estado del proceso que queremos atender. Sin embargo, es muy utilizado en la programaci n de microcontroladores porque resulta f cil de aprender, la� � implementaci n de c digo con este m todo es menos compleja y no requiere de� � � hardware especial para llevarla adelante. Por otra parte, la encuesta, tiene muchas deficiencias que con frecuencia obligan al dise ador a moverse hacia� otros horizontes El mundo est lleno de situaciones; de las cuales no podemos determinar ni� cuando, ni como ni por qu se producen, en la mayor a de los casos lo nico� � � que podemos hacer es enterarnos de que determinada situaci n, asociada a un� proceso, ha ocurrido. Para ello seleccionamos alguna condici n o grupo de� condiciones que nos indican que el proceso que nos interesa debe ser atendido, a este fen meno, en el cual se dan las condiciones que nos interesa conocer, lo� llamaremos evento. En el segundo ejemplo vemos que para atender a Juan, ste� debe tocar el timbre, por tanto, la llegada de Juan es el proceso que debemos atender y el sonido del timbre es el evento que nos indica que Juan ha llegado. El m todo de atenci n a procesos por interrupci n, visto desde la ptica del� � � � ejemplo que utilic para mostrarlo, es m s simple que el de la encuesta, pero� � no es cierto, el m todo se complica porque requiere que el microprocesador� incorpore circuitos adicionales para registrar los eventos que le indican que debe atender al proceso asociado y comprender estos circuitos y su din mica no� es una tarea sencilla. Los circuitos para la atenci n a las interrupciones y todas las tareas que debe� realizar el procesador para atender al proceso que lo interrumpe son bastante complejos y requieren una visi n diferente de la que estamos acostumbrados a� tener de nuestro mundo. Los seres humanos no estamos conscientes de las interrupciones, en nuestro organismo existen mecanismos que nos interrumpen constantemente, para ello tenemos a nuestro sistema sensorial, pero no somos conscientes del proceso de interrupci n, aunque s de la atenci n a las interrupciones. Eso es porque� � � incorporamos mecanismos que nos sacan r pidamente de la tarea que estemos� haciendo para atender una situaci n que no puede o no debe esperar mucho� tiempo. Bien, esa misma es la idea que se incorpora en los microprocesadores para atender procesos que no pueden esperar o que no sabemos cuando deben ser atendidos porque ello depende de determinadas condiciones. La cosa se complica en la secuencia de acciones a realizar desde el momento en que se desencadena el proceso de interrupci n, hasta que se ejecuta el programa� que lo atiende, y en la secuencia de acciones posteriores a la atenci n. Piense� en cuantas cosas debe hacer su organismo ante una interrupci n, utilicemos el�
  • 11. segundo ejemplo para atender la llegada de Juan. Piense en cuantas cosas su cerebro hace a espaldas de su conciencia, desde el momento en que suena el timbre hasta que usted se encuentra listo (consciente de que es probable que Juan ha llegado) para abrir la puerta, y todo lo que su cerebro debe trabajar para retomar la lectura despu s 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 interrupci n.� Los procesos de atenci n a interrupciones tienen la ventaja de que se� implementan por hardware ubicado en el procesador, as que es un m todo r pido� � � de hacer que el procesador se dedique a ejecutar un programa especial para atender eventos que no pueden esperar por mecanismos lentos como el de encuesta. En t rminos generales, un proceso de interrupci n y su atenci n por parte del� � � procesador, tiene la siguiente secuencia de acciones: En el mundo real se produce el evento para el cual queremos que el procesador ejecute un programa especial, este proceso tiene la caracter stica de que no� puede esperar mucho tiempo antes de ser atendido o no sabemos en que momento debe ser atendido. El circuito encargado de detectar la ocurrencia del evento se activa, y como consecuencia, activa la entrada de interrupci n del procesador.� La unidad de control detecta que se ha producido una interrupci n y levanta� � � una bandera para registrar esta situaci n; de esta forma si las condiciones que� provocaron el evento desaparecen y el circuito encargado de detectarlo desactiva la entrada de interrupci n del procesador, sta se producir de cualquier� � � modo, porque ha sido registrada. La unidad de ejecuci n termina con la instrucci n en curso y justo antes de� � comenzar a ejecutar la siguiente comprueba que se ha registrado una interrupci n� Se desencadena un proceso que permite guardar el estado actual del programa en ejecuci n y saltar a una direcci n especial de memoria de programas, donde� � est la primera instrucci n de la subrutina de atenci n a interrupci n.� � � � Se ejecuta el c digo de atenci n a interrupci n, esta es la parte� � � consciente de todo el proceso porque es donde se realizan las acciones� � propias de la atenci n a la interrupci n y el programador juega su papel.� � Cuando en la subrutina de atenci n a interrupci n se ejecuta la instrucci n de� � � retorno, se desencadena el proceso de restauraci n del procesador al estado en� que estaba antes de la atenci n a la interrupci n.� � Como podemos observar, el mecanismo de interrupci n es bastante complicado, sin� embargo tiene dos ventajas que obligan a su implementaci n: la velocidad y su� capacidad de ser as ncrono. Ambas de conjunto permiten que aprovechemos al� m ximo las capacidades de trabajo de nuestro procesador.� Los mecanismos de interrupci n no solo se utilizan para atender eventos ligados� a procesos que requieren atenci n inmediata sino que se utilizan adem s para� � atender eventos de procesos as ncronos.� Las interrupciones son tan eficaces que permiten que el procesador act e como� si estuviese haciendo varias cosas a la vez cuando en realidad se dedica a la misma rutina de siempre, ejecutar instrucciones una detr s de la otra.� Perif ricos� Art culo principal: Perif rico (inform tica)� � � Cuando observamos la organizaci n b sica de un microcontrolador, se alamos que� � � dentro de este se ubican un conjunto de perif ricos. A continuaci n� � describiremos algunos de los perif ricos que con mayor frecuencia encontraremos� en los microcontroladores. Entradas y salidas de prop sito general� Tambi n 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
  • 12. interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como rel s, LED, o cualquier otra cosa que se le ocurra al� programador. Algunos puertos de E/S tienen caracter sticas especiales que le permiten� manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupci n para el procesador.� T picamente cualquier pin de E/S puede ser considerada E/S de prop sito� � general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de prop sito general comparten� los pines con otros perif ricos. Para usar un pin con cualquiera de las� caracter sticas a l asignadas debemos configurarlo mediante los registros� � destinados a ellos. Temporizadores y contadores Son circuitos sincr nicos para el conteo de los pulsos que llegan a su poder� para conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del microcontrolador es com n que no tengan un pin asociado,� y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador. Los temporizadores son uno de los perif ricos m s habituales en los� � microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medici n de frecuencia, implementaci n de relojes, para el trabajo de conjunto� � con otros perif ricos que requieren una base estable de tiempo entre otras� funcionalidades. Es frecuente que un microcontrolador t pico incorpore m s de� � un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos m s adelante este perif rico es un elemento casi imprescindible y es� � habitual que tengan asociada alguna interrupci n. Los tama os t picos de los� � � registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tama o o con m s frecuencia con ambos tipos de� � registro de conteo. Conversor anal gico/digital� Como es muy frecuente el trabajo con se ales anal gicas, stas deben ser� � � convertidas a digital y por ello muchos microcontroladores incorporan un conversor anal gico-digital, el cual se utiliza para tomar datos de varias� entradas diferentes que se seleccionan mediante un multiplexor. Las resoluciones m s frecuentes son 8 y 10 bits, que son suficientes para� aplicaciones sencillas. Para aplicaciones en control e instrumentaci n est n� � disponibles resoluciones de 12bit, 16bit y 24bit.6? Tambi n es posible conectar� un convertidor externo, en caso de necesidad Puertos de comunicaci n� Puerto serie Este perif rico est presente en casi cualquier microcontrolador, normalmente� � en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincr nico de comunicaci n.� � El destino com n de este perif rico es la comunicaci n con otro� � � microcontrolador o con una PC y en la mayor a de los casos hay que agregar� circuitos externos para completar la interfaz de comunicaci n. La forma m s� � com n de completar el puerto serie es para comunicarlo con una PC mediante la� interfaz EIA-232 (m s conocida como RS-232), es por ello que muchas personas se� refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este perif rico se puede utilizar para interconectar� dispositivos mediante otros est ndares de comunicaci n. En aplicaciones� � industriales se utiliza preferiblemente RS-485 por sus superior alcance en distancia, velocidad y resistencia al ruido.
  • 13. SPI Este tipo de perif rico se utiliza para comunicar al microcontrolador con otros� microcontroladores o con perif ricos externos conectados a l, por medio de� � una interfaz muy sencilla. Hay solo un nodo controlador que permite iniciar cualquier transacci n, lo cual es una desventaja en sistemas complejos, 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 menos se ales de� comunicaci n y cualquier nodo puede iniciar una transacci n. Es muy utilizado� � para conectar las tarjetas gr ficas de las computadoras personales con los� monitores, para que estos ltimos informen de sus prestaciones y permitir la� autoconfiguraci n del sistema de v deo.� � USB Los microcontroladores son los que han permitido la existencia de este sistema de comunicaci n. Es un sistema que trabaja por polling (monitorizaci n) de un� � conjunto de perif ricos inteligentes por parte de un amo, que es normalmente un� computador personal. Cada modo inteligente est gobernado inevitablemente por� un microcontrolador. Ethernet Art culo principal: Ethernet� Es el sistema m s extendido en el mundo para redes de rea local cableadas.� � Los microcontroladores m s poderosos de 32 bits se usan para implementar� perif ricos lo suficientemente poderosos como para que puedan ser accesados� directamente por la red. Muchos de los enrutadores caseros de peque as empresas� est n construidos sobre la base de un microcontrolador que hace del cerebro del� sistema. Can Este protocolo es del tipo CSMA/CD con tolerancia a elevados niveles de tensi n� de modo com n y orientado al tiempo real. Este protocolo es el est ndar m s� � � importante en la industria automotriz (OBD). Tambi n se usa como capa f sica� � del "field bus" para el control industrial. Otros puertos de comunicaci n� Hay una enorme cantidad de otros buses disponibles para la industria automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. El usuario se los encontrar cuando trabaje en alg n rea especializada.� � � Comparadores Son circuitos anal gicos basados en amplificadores operacionales que tienen la� caracter stica de comparar dos se ales anal gicas y dar como salida los� � � niveles l gicos 0 o 1 en dependencia del resultado de la comparaci n. Es� � � � � � un perif rico muy til para detectar cambios en se ales de entrada de las que� � � solamente nos interesa conocer cuando est en un rango determinado de tensi n.� � Modulador de ancho de pulsos Los PWM (Pulse Width Modulator) son perif ricos muy tiles sobre todo para el� � control de motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con este perif rico, dentro de las cuales podemos citar: inversi n� � DC/AC para UPS, conversi n digital anal gica D/A, control regulado de luz� � (dimming) entre otras. Memoria de datos no vol til� Muchos microcontroladores han incorporado estos tipos de memoria como un perif rico m s, para el almacenamiento de datos de configuraci n o de los� � � procesos que se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la memoria de programas, en la que se almacena el c digo del� programa a ejecutar por el procesador del microcontrolador. Muchos de los microcontroladores PIC incluyen este tipo de memoria, t picamente�
  • 14. en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de la memoria de programas como memoria de datos no vol til, por lo que el� procesador tiene la capacidad de escribir en la memoria de programas como si sta fuese un perif rico m s.� � �