Vous êtes sur la page 1sur 7

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