Sei sulla pagina 1di 100

SEMANA I

Introduccin al Microcontrolador
SD01 - Sistemas Digitales

Introduccin al
Microcontrolador

1.1 Controlador y microcontrolador.


1.2 Diferencias entre el
microprocesador y
microcontrolador.
1.3 Aplicaciones del microcontrolador.
1.4 El mercado de microcontroladores.
1.5 Qu microcontrolador emplear?
1.6 Recursos comunes de todos los
microcontroladores.

Introduccin al
Microcontrolador

Podemos encontrar
microcontroladores a cada paso
que damos. Estn presentes en
nuestro trabajo, en nuestra casa
y en general en nuestra vida.
Se

pueden encontrar controlando el


funcionamiento de los ratones y
teclados de las computadoras, en
los telfonos celulares, en los hornos
de microondas y en los televisores,
por mencionar unos pocos.

Controlador y
Microcontrolador

Recibe el nombre de controlador


aquel dispositivo que se emplea
para el gobierno de uno o varios
procesos.
Por

ejemplo, el controlador que regula


el funcionamiento de un horno dispone
de un sensor que mide constantemente
su temperatura interna y, cuando
traspasa los lmites prefijados, genera
las seales adecuadas que accionan los
actuadores que intentan llevar el valor
de la temperatura dentro del rango
estipulado.

Controlador y
Microcontrolador

Aunque el concepto de controlador ha


permanecido invariable a travs del
tiempo, su implementacin fsica ha
variado frecuentemente.

Hace tres dcadas, los controladores se


construan exclusivamente con
componentes de lgica discreta,
posteriormente se emplearon los
microprocesadores, que se rodeaban con
chips de memoria y E/S sobre una tarjeta de
circuito impreso. En la actualidad, todos los
elementos del controlador se han podido
incluir en un nico chip, el cual recibe el
nombre de microcontrolador.

Microcontrolador

Un microcontrolador es un
circuito integrado de alta escala
de integracin que incorpora la
mayor parte de los elementos
que conforman un controlador.

Microcontrolador

Un microcontrolador dispone
normalmente de los siguientes
componentes:
Procesador

o CPU (Unidad Central de


Procesamiento).
Memoria RAM para contener los datos.
Memoria para el programa,
generalmente de tipo
ROM/PROM/EPROM.
Lneas de E/S para comunicarse con el
exterior.

Microcontrolador

Un microcontrolador dispone
normalmente de los siguientes
componentes:
Diversos

mdulos para el control de


perifricos (temporizadores, Puertos
Serie y Paralelo, Conversores
Anlogo Digital, Conversores Digital
Anlogo, etc.).
Generador de pulsos de reloj que
sincronizan el funcionamiento de
todo el sistema.

Microcontrolador

Los productos que para su control


incorporan un microcontrolador
disponen de las siguientes ventajas:
Aumento

de prestaciones, un mayor
control sobre un determinado elemento
representa una mejora considerable en
el mismo.
Aumento de la fiabilidad al reemplazar
el microcontrolador por un elevado
nmero de elementos disminuye el
riesgo de averas y se precisan menos
ajustes.

Microcontrolador

Los productos que para su control


incorporan un microcontrolador
disponen de las siguientes ventajas:
Reduccin

del tamao en el producto

final.
La integracin del microcontrolador en
un circuito integrado (chip) disminuye el
volumen, la mano de obra y los stocks.
Mayor flexibilidad: las caractersticas de
control estn presentes por lo que su
modificacin implica slo cambios en el
programa que lo gobierna.

Microcontrolador

Debido a su reducido tamao es


posible montar el controlador en
el propio dispositivo al que
gobierna. En este caso el
controlador recibe el nombre de
controlador empotrado
(embedded controller).

Diferencia entre
microcontrolador y

microprocesador
El microprocesador es un circuito

integrado que contiene la Unidad


Central de Procesamiento (CPU),
tambin llamada procesador, de una
computadora. La CPU est formada por
la Unidad de Control, que interpreta las
instrucciones, y la Unidad Aritmtico
Lgica (ALU), que las ejecuta.
Las patitas de un microprocesador
sacan al exterior las lneas de sus buses
de direcciones, datos y control, para
permitir conectarle con la Memoria y los
Mdulos de E/S y configurar una
computadora implementada por varios
circuitos integrados.

Diferencia entre
microcontrolador y
microprocesador
Se dice que un microprocesador
es un sistema abierto porque su
configuracin es variable de
acuerdo con la aplicacin a la
que se destine.
La

disponibilidad de los buses en el


exterior permite que se configure a
la medida de la aplicacin.

Diferencia entre
microcontrolador y
microprocesador
El microcontrolador, por otro
lado, es un sistema cerrado.
Todas las partes del
microcontrolador estn
contenidas en su interior y slo
salen al exterior las lneas que
gobiernan los perifricos.

Diferencia entre
microcontrolador y

microprocesador
En la prctica cada fabricante de

microcontroladores oferta un elevado


nmero de modelos diferentes, desde
los ms sencillos hasta los ms
poderosos.

Es posible seleccionar la capacidad de las


memorias, el nmero de lneas de E/S, la
cantidad y potencia de los elementos
auxiliares, la velocidad de funcionamiento,
etc.

Por todo ello, un aspecto muy


destacado del diseo es la seleccin del
microcontrolador a utilizar.

Diferencia entre
microcontrolador y
Microprocesador
microprocesador
(P)

Alta prestacin.
Propsito general.

Cerebro de la PC en
las estaciones de
trabajo.

Microcontrolador
(C)
Alto nivel de
integracin.
Utilizado para control
embebido.

Encargado de las
funciones de
decodificacin y
ejecucin de
instrucciones, control
del mundo exterior.

Efecta las funciones


de un P ms el de la
memoria, E/S,
temporizador, ADC,
USART, etc.

Costo: $75 - $500.

Costo: $1 - $25.

Diferencia entre
microcontrolador y
Microprocesador (P).
microprocesador

Contiene una unidad de gestin de la memoria


interna y externa adems de estar provisto de
memoria cach.
El desempeo (nmero de instrucciones
ejecutadas por unidad de tiempo) es la
caracterstica ms importante; el costo es
secundario.
Microcontrolador (C)
Tiene RAM y ROM integrada y est desprovisto
de cach..
Tiene integrado mltiples perifricos y se viene
usando en aplicaciones embebidas.
Usado tambin en aplicaciones de control en
tiempo real.
Bajo costo y bajo consumo de potencia.

Aplicaciones de los
microcontroladores

Cada vez existen ms productos que


incorporan un microcontrolador con el
fin de aumentar sustancialmente sus
prestaciones, reducir su tamao y
costo, mejorar su fiabilidad y
disminuir el consumo.
Algunos fabricantes de
microcontroladores superan el milln
de unidades de un modelo
determinado producidas en una
semana. Este dato puede darnos una
idea de la masiva utilizacin de estos
dispositivos.

Aplicaciones de los
microcontroladores

Los microcontroladores estn siendo


empleados en multitud de sistemas
presentes en nuestra vida diaria,
como pueden ser juguetes, horno
microondas, frigorficos, televisores,
computadoras, impresoras, mdems,
el sistema de arranque de un
automvil, etc., y en otras
aplicaciones menos conocidas como
instrumentacin electrnica, control
de sistemas en una nave espacial,
etc.

Aplicaciones de los
microcontroladores

Una aplicacin tpica podra


emplear varios microcontroladores
para controlar pequeas partes del
sistema. Estos pequeos
controladores podran comunicarse
entre si y con un procesador
central, probablemente ms
potente, para compartir la
informacin y coordinar sus
acciones, como, de hecho, ocurre
ya habitualmente en cualquier PC.

El mercado de
microcontroladores

Aunque en el mercado de la informtica la


mayor atencin la acaparan los desarrollos de
los microprocesadores, lo cierto es que se
venden cientos de microcontroladores por cada
uno de aqullos.
Existe una gran diversidad de
microcontroladores. Quiz la clasificacin ms
importante sea entre microcontroladores de 4, 8,
16 32 bits.

Aunque las prestaciones de los microcontroladores de


16 y 32 bits son superiores a los de 4 y 8 bits, la
realidad es que los microcontroladores de 8 bits
dominan el mercado y los de 4 bits se resisten a
desaparecer. La razn de esta tendencia es que los
microcontroladores de 4 y 8 bits son apropiados para la
gran mayora de las aplicaciones, lo que hace absurdo
emplear micros ms potentes y consecuentemente
ms caros.

El mercado de
microcontroladores

Uno de los sectores que ms tira del


mercado del microcontrolador es el
mercado automovilstico.

De hecho, algunas de las familias de


microcontroladores actuales se
desarrollaron pensando en este sector,
siendo modificadas posteriormente para
adaptarse a sistemas ms genricos.
El mercado del automvil es adems uno
de los ms exigentes: los componentes
electrnicos deben operar bajo
condiciones extremas de vibraciones,
choques, ruido, etc. y seguir siendo
fiables. El fallo de cualquier componente
en un automvil puede ser el origen de
un accidente.

El mercado de
microcontroladores

En cuanto a las tcnicas de


fabricacin, prcticamente la
totalidad de los
microcontroladores actuales se
fabrican con tecnologa CMOS
(Complementary Metal Oxide
Semiconductor). Esta tecnologa
supera las tcnicas anteriores
por su bajo consumo y alta
inmunidad al ruido.

El mercado de
microcontroladores

Los modernos microcontroladores


de 32 bits van afianzando sus
posiciones en el mercado, siendo
las reas de ms inters el
procesamiento de imgenes, las
comunicaciones, las aplicaciones
militares, los procesos industriales
y el control de los dispositivos de
almacenamiento masivo de datos.

Qu microcontrolador
emplear?

A la hora de escoger el
microcontrolador a emplear en un
diseo concreto hay que tener en
cuenta una multitud de factores,
como la documentacin y
herramientas de desarrollo
disponibles y su precio, la cantidad de
fabricantes que lo producen y, por
supuesto, las caractersticas del
microcontrolador (tipo de memoria de
programa, nmero de
temporizadores, interrupciones, etc.).

Qu microcontrolador
emplear?
Antes de seleccionar un
microcontrolador es
imprescindible analizar los
requisitos de la aplicacin.

Qu microcontrolador
emplear?

Procesamiento de datos.
Puede ser necesario que el microcontrolador
realice clculos crticos en un tiempo
limitado. En ese caso debemos asegurarnos
de seleccionar un dispositivo
suficientemente rpido para ello.
Por otro lado, habra que tener en cuenta la
precisin de los datos a manejar: si no es
suficiente con un microcontrolador de 8 bits,
puede ser necesario acudir a
microcontroladores de 16 32 bits, o
incluso a hardware de punto flotante. Una
alternativa ms barata y quiz suficiente es
usar libreras para manejar los datos de alta
precisin.

Qu microcontrolador
emplear?

Entrada/Salida
Para determinar las necesidades de
Entrada/Salida del sistema es
conveniente dibujar un diagrama de
bloques del mismo, de tal forma que
sea sencillo identificar la cantidad y
tipo de seales a controlar. Una vez
realizado este anlisis puede ser
necesario aadir perifricos hardware
externos o cambiar a otro
microcontrolador ms adecuado a ese
sistema.

Qu microcontrolador
emplear?

Consumo
Algunos productos que incorporan
microcontroladores estn alimentados
con bateras y su funcionamiento
puede ser tan vital como activar una
alarma antirrobo. Lo ms conveniente
en un caso como ste puede ser que
el microcontrolador est en estado de
bajo consumo pero que despierte ante
la activacin de una seal (una
interrupcin) y ejecute el programa
adecuado para procesarla.

Qu microcontrolador
emplear?
Memoria
Para detectar las necesidades de
memoria de nuestra aplicacin
debemos separarla en memoria
voltil (RAM), memoria no voltil
(ROM, EPROM, etc.) y memoria no
voltil modificable (EEPROM). Este
ltimo tipo de memoria puede ser
til para incluir informacin
especfica de la aplicacin como un
nmero de serie o parmetros de
calibracin.

Qu microcontrolador
emplear?

Memoria
El tipo de memoria a emplear vendra
determinado por el volumen de ventas
previsto del producto: de menor a mayor
volumen sera conveniente emplear EPROM,
OTP (One Time Pro- grammable) y ROM.
En cuanto a la cantidad de memoria
necesaria puede ser imprescindible realizar
una versin preliminar, aunque sea en
pseudo-cdigo, de la aplicacin y a partir de
ella hacer una estimacin de cunta
memoria voltil y no voltil es necesaria y si
es conveniente disponer de memoria no
voltil modificable.

Qu microcontrolador
emplear?

Ancho de palabra
El criterio de diseo debe ser seleccionar el
microcontrolador de menor ancho de palabra
que satisfaga los requerimientos de la
aplicacin.
Usar un microcontrolador de 4 bits supondra
una reduccin en los costos importante,
mientras que uno de 8 bits puede ser el ms
adecuado si el ancho de los datos es de un
byte.
Los microcontroladores de 16 y 32 bits,
debido a su elevado costo, deben reservarse
para aplicaciones que requieran sus altas
prestaciones (Entrada/Salida potente o
espacio de direccionamiento muy elevado).

Qu microcontrolador
emplear?
Diseo de la placa
La seleccin de un
microcontrolador concreto
condicionara el diseo de la
placa de circuitos.
Debe tenerse en cuenta que
quiz usar un microcontrolador
barato encarezca el resto de
componentes del diseo.

Qu microcontrolador
emplear?

Diseo de la placa
Los microcontroladores ms populares se
encuentran, sin duda, entre las mejores
elecciones:

8048 (Intel). Es el antecesor de los


microcontroladores actuales, el primero de todos.
Su precio, disponibilidad y herramientas de
desarrollo hacen que todava sea muy popular.
8051 (Intel y otros). Es sin duda el microcontrolador
ms popular. Fcil de programar, pero potente. Est
bien documentado y posee cientos de variantes e
incontables herramientas de desarrollo.
80186, 80188 y 80386EX (Intel). Versiones en
microcontrolador de los populares
microprocesadores 8086 y 8088. Su principal
ventaja es que permiten aprovecharlas
herramientas de desarrollo para PC.

Qu microcontrolador
emplear?
Diseo de la placa
Los microcontroladores ms
populares se encuentran, sin duda,
entre las mejores elecciones:
68HC11

(Motorola y Toshiba). Es un
microcontrolador de 8 bits potente y
popular con gran cantidad de
variantes.
683xx (Motorola). Surgido a partir de la
popular familia 68k, a la que se
incorporan algunos perifricos. Son
microcontroladores de altsimas
prestaciones.

Qu microcontrolador
emplear?

Diseo de la placa
Los microcontroladores ms populares
se encuentran, sin duda, entre las
mejores elecciones:

PIC (MicroChip) familia de


microcontroladores que gana popularidad
da a da. Fueron los primeros
microcontroladores RISC. Es preciso
resaltar en este punto que existen
innumerables familias de
microcontroladores, cada una de las
cuales posee un gran nmero de
variantes.

Recursos comunes de todos


los microcontroladores

Al estar todos los microcontroladores


integrados en un chip, su estructura
fundamental y sus caractersticas
bsicas son muy parecidas.
Todos deben disponer de los bloques
esenciales: Procesador, memoria de
datos y de instrucciones, lneas de E/S,
oscilador de reloj y mdulos
controladores de perifricos.
Sin embargo, cada fabricante intenta
enfatizar los recursos ms idneos
para las aplicaciones a las que se
destinan preferentemente.

Recursos comunes de todos


los microcontroladores

ARQUITECTURA BSICA
Aunque inicialmente todos los microcontroladores
adoptaron la arquitectura clsica de Von Neumann,
en el momento presente se impone la arquitectura
Harvard.
La arquitectura de Von Neumann se caracteriza
por disponer de una sola memoria principal donde se
almacenan datos e instrucciones de forma indistinta.
A dicha memoria se accede a travs de un sistema
de buses nico (direcciones, datos y control).
La arquitectura Harvard dispone de dos memorias
independientes, una que contiene slo instrucciones
y otra, slo datos. Ambas disponen de sus
respectivos sistemas de buses de acceso y es posible
realizar operaciones de acceso (lectura o escritura)
simultneamente en ambas memorias.

Recursos comunes de
todos los
microcontroladores

Recursos comunes de todos


los microcontroladores

EL PROCESADOR (CPU)
Es el elemento ms importante del
microcontrolador y determina sus
principales caractersticas, tanto a
nivel hardware como software.
Se encarga de direccionar la memoria
de instrucciones, recibir el cdigo de la
instruccin en curso, su decodificacin
y la ejecucin de la operacin que
implica la instruccin, as como la
bsqueda de los operandos y el
almacenamiento del resultado.

Recursos comunes de todos


los microcontroladores

EL PROCESADOR (CPU)
Existen tres orientaciones en cuanto a la
arquitectura y funcionalidad de los
procesadores actuales.
CISC
Un gran nmero de procesadores usados en
los microcontroladores estn basados en la
filosofa CISC (Computadoras de Juego de
Instrucciones Complejo).
Disponen de ms de 80 instrucciones
mquina en su repertorio, algunas de las
cuales son muy sofisticadas y potentes,
requiriendo muchos ciclos para su ejecucin.
Una ventaja de los procesadores CISC es que
ofrecen al programador instrucciones
complejas que actan como macros.

Recursos comunes de todos


los microcontroladores

EL PROCESADOR (CPU)
Existen tres orientaciones en cuanto a la arquitectura
y funcionalidad de los procesadores actuales.
RISC
Tanto la industria de los computadores comerciales
como la de los microcontroladores estn
decantndose hacia la filosofa RISC (Computadoras
de Juego de Instrucciones Reducido).
En estos procesadores el repertorio de instrucciones
mquina es muy reducido y las instrucciones son
simples y, generalmente, se ejecutan en un ciclo.
La sencillez y rapidez de las instrucciones permiten
optimizar el hardware y el software del procesador.

Recursos comunes de todos


los microcontroladores

EL PROCESADOR (CPU)
Existen tres orientaciones en cuanto a
la arquitectura y funcionalidad de los
procesadores actuales.
SISC
En los microcontroladores destinados a
aplicaciones muy concretas, el juego
de instrucciones, adems de ser
reducido, es especfico, o sea, las
instrucciones se adaptan a las
necesidades de la aplicacin prevista.
Esta filosofa se ha bautizado con el
nombre de SISC (Computadoras de
Juego de Instrucciones Especfico).

Recursos comunes de todos


los microcontroladores
MEMORIA
En los microcontroladores la
memoria de instrucciones y datos
est integrada en el propio chip.
Una

parte debe ser no voltil, tipo


ROM, y se destina a contener el
programa de instrucciones que
gobierna la aplicacin.
Otra parte de memoria sera tipo
RAM, voltil, y se destina a guardar
las variables y los datos.

Recursos comunes de todos


los microcontroladores

MEMORIA
Hay dos peculiaridades que diferencian
a los microcontroladores de las
computadoras personales:

No existen sistemas de almacenamiento


masivo como disco duro o disquetes. Como
el microcontrolador slo se destina a una
tarea en la memoria ROM, slo hay que
almacenar un nico programa de trabajo.
La RAM en estos dispositivos es de poca
capacidad pues slo debe contener las
variables y los cambios de informacin que
se produzcan en el transcurso del
programa.

Recursos comunes de todos


los microcontroladores

MEMORIA
Por otra parte, como slo existe un
programa activo, no se requiere guardar
una copia del mismo en la RAM pues se
ejecuta directamente desde la ROM.
Los usuarios de computadoras
personales estn habituados a manejar
megabytes (MB) de memoria, pero, los
diseadores con microcontroladores
trabajan con capacidades de ROM
comprendidas entre 512 Bytes y 8 KB y
de RAM comprendidas entre 20 y 512
Bytes.

Recursos comunes de todos


los microcontroladores
MEMORIA
Segn el tipo de memoria ROM
que dispongan los
microcontroladores, la aplicacin
y utilizacin de los mismos es
diferente.
Se describen las cinco versiones
de memoria no voltil que se
pueden encontrar en los
microcontroladores del mercado.

Recursos comunes de todos


los microcontroladores
MEMORIA
ROM con mscara
Es una memoria no voltil de slo
lectura cuyo contenido se graba
durante la fabricacin del chip. El
elevado costo del diseo de la
mscara slo hace aconsejable el
empleo de los microcontroladores
con este tipo de memoria cuando
se precisan cantidades superiores
a varios miles de unidades.

Recursos comunes de todos


los microcontroladores

MEMORIA
OTP
El microcontrolador contiene una memoria no
voltil de slo lectura "programable una sola
vez por el usuario.

Es el usuario quien puede escribir el programa en el


chip mediante un sencillo grabador controlado por un
programa desde una PC.

La versin OTP es recomendable cuando es


muy corto el ciclo de diseo del producto, o
bien, en la construccin de prototipos y series
muy pequeas.
Tanto en este tipo de memoria como en la
EPROM, se suele usar la encriptacin mediante
fusibles para proteger el cdigo contenido.

Recursos comunes de todos


los microcontroladores

MEMORIA
EPROM
Los microcontroladores que disponen de
memoria EPROM (Erasable Programmable
Read OnIy Memory) pueden borrarse y
grabarse muchas veces.

La grabacin se realiza, como en el caso de los OTP,


con un grabador gobernado desde una PC.
Si, posteriormente, se desea borrar el contenido,
disponen de una ventana de cristal en su superficie
por la que se somete a la EPROM a rayos
ultravioleta durante varios minutos.

Las cpsulas son de material cermico y son


ms caros que los microcontroladores con
memoria OTP que estn hechos con material
plstico.

Recursos comunes de todos


los microcontroladores

MEMORIA
EEPROM
Se trata de memorias de slo lectura,
programables y borrables elctricamente
(EEPROM, Electrical Erasable
Programmable Read Only Memory).
Tanto la programacin como el borrado,
se realizan elctricamente desde el
propio grabador y bajo el control
programado de una PC.
Es muy cmoda y rpida la operacin de
grabado y la de borrado.

No disponen de ventana de cristal en la


superficie.

Recursos comunes de todos


los microcontroladores

MEMORIA
EEPROM
Los microcontroladores dotados de memoria
EEPROM una vez instalados en el circuito,
pueden grabarse y borrarse cuantas veces
se quiera sin ser retirados de dicho circuito.
Para ello se usan grabadores en circuito
que confieren una gran flexibilidad y rapidez
a la hora de realizar modificaciones en el
programa de trabajo.
El nmero de veces que puede grabarse y
borrarse una memoria EEPROM es finito, por
lo que no es recomendable una
reprogramacin continua. Son muy idneos
para la enseanza y la Ingeniera de diseo.

Recursos comunes de todos


los microcontroladores
MEMORIA
EEPROM
Se va extendiendo en los
fabricantes la tendencia de incluir
una pequea zona de memoria
EEPROM en los circuitos
programables para guardar y
modificar cmodamente una serie
de parmetros que adecuan el
dispositivo a las condiciones del
entorno. Este tipo de memoria es
relativamente lenta.

Recursos comunes de todos


los microcontroladores

MEMORIA
FLASH
Se trata de una memoria no voltil, de bajo
consumo, que se puede escribir y borrar.
Funciona como una ROM y una RAM pero
consume menos y es ms pequea.
A diferencia de la ROM, la memoria FLASH es
programable en el circuito.
Es ms rpida y de mayor densidad que la
EEPROM.
La alternativa FLASH est recomendada
frente a la EEPROM cuando se precisa gran
cantidad de memoria de programa no voltil.
Es ms veloz, pero tolera menos ciclos de
escritura/borrado.

Recursos comunes de todos


los microcontroladores

MEMORIA
Las memorias EEPROM y FLASH son muy tiles
al permitir que los microcontroladores que las
incorporan puedan ser reprogramados en
circuito, es decir, sin tener que sacar el
circuito integrado de la tarjeta. As, un
dispositivo con este tipo de memoria
incorporado al control del motor de un
automvil permite que pueda modificarse el
programa durante la rutina de mantenimiento
peridico, compensando los desgastes y otros
factores tales como la compresin, la
instalacin de nuevas piezas, etc. La
reprogramacin del microcontrolador puede
convertirse en una labor rutinaria dentro de la
puesta a punto.

Recursos comunes de todos


los microcontroladores

PUERTOS DE ENTRADA/SALIDA
La principal utilidad de las patitas que
posee la cpsula que contiene un
microcontrolador es soportar las lneas
de E/S que comunican al computador
interno con los perifricos exteriores.
Segn los controladores de perifricos
que posea cada modelo de
microcontrolador, las lneas de E/S se
destinan a proporcionar el soporte a las
seales de entrada, salida y control.

Recursos comunes de todos


los microcontroladores

RELOJ PRINCIPAL
Todos los microcontroladores disponen de un
circuito oscilador que genera una onda
cuadrada de alta frecuencia, que configura
los pulsos de reloj usados en la sincronizacin
de todas las operaciones del sistema.

Generalmente, el circuito de reloj est incorporado


en el microcontrolador y slo se necesitan unos
pocos componentes exteriores para seleccionar y
estabilizar la frecuencia de trabajo.
Dichos componentes suelen consistir en un cristal
de cuarzo junto a elementos pasivos o bien un
resonador cermico o una red RC.

Aumentar la frecuencia de reloj supone


disminuir el tiempo en que se ejecutan las
instrucciones pero lleva de la mano un
incremento del consumo de energa.

Recursos comunes de todos


los microcontroladores

RECURSOS ESPECIALES
Cada fabricante oferta numerosas
versiones de una arquitectura bsica de
microcontrolador.

En algunas ampla las capacidades de las


memorias, en otras incorpora nuevos
recursos, en otras reduce las prestaciones
al mnimo para aplicaciones muy simples,
etc.

La labor del diseador es encontrar el


modelo mnimo que satisfaga todos los
requerimientos de su aplicacin. De
esta forma, minimizara el coste, el
hardware y el software.

Recursos comunes de todos


los microcontroladores

RECURSOS ESPECIALES
Los principales recursos especficos
que incorporan los microcontroladores
son:

Temporizadores o "Timers".
Perro guardin o "Watchdog".
Proteccin ante fallo de alimentacin o
"Brownout".
Estado de reposo o de bajo consumo.
Conversor A/D o Conversor D/A.
Comparador analgico.
Modulador de ancho de pulsos o PWM.
Puertos de E/S digitales.
Puertos de comunicacin.

Recursos comunes de todos


los microcontroladores

Temporizadores o Timers
Se emplean para controlar periodos de
tiempo (temporizadores) y para llevar
la cuenta de acontecimientos que
suceden en el exterior (contadores).
Para la medida de tiempos se carga un
registro con el valor adecuado y a
continuacin dicho valor se va
incrementando o decrementando al
ritmo de los pulsos de reloj o un
mltiplo de ste hasta que se desborde
y llegue a 0, momento en el que se
produce un aviso.

Recursos comunes de todos


los microcontroladores
Temporizadores o Timers
Cuando se desean contar
acontecimientos estos estarn
relacionados, y por ende,
detectados por cambios de nivel
o flancos en alguna de las patitas
del microcontrolador. El registro
asociado se va incrementando o
decrementando al ritmo de
dichos pulsos.

Recursos comunes de todos


los microcontroladores

Perro guardin o Watchdog Timer


Cuando una computadora personal se
bloquea por un fallo del software u otra
causa, se suele recurrir al botn de
reset para reinicializar el sistema.
Un microcontrolador en cambio
funciona sin el control de un supervisor
y de forma continua las 24 horas del
da.
El perro guardin consiste en un
temporizador que, cuando se desborda
y pasa por 0, provoca un reset
automticamente en el sistema.

Recursos comunes de todos


los microcontroladores
Perro guardin o Watchdog
Timer
Al utilizar esta caracterstica de un
microcontrolador se debe disear
el programa para que refresque o
inicialice al perro guardin antes
de que ste provoque un reset.
Si

falla el programa o se bloquea, no


se refrescar al perro guardin y, al
completar su temporizacin, ladrar
y ladrar hasta provocar el reset.

Recursos comunes de todos


los microcontroladores

Proteccin ante fallo de


alimentacin o Brownout
Se trata de un circuito que resetea el
microcontrolador cuando el voltaje de
alimentacin es inferior a un voltaje
mnimo ("brownout").
Mientras el voltaje de alimentacin sea
inferior al de brownout el dispositivo
se mantiene reseteado, comenzando a
funcionar normalmente cuando
sobrepasa dicho valor.

Recursos comunes de todos


los microcontroladores
Estado de reposo o de bajo
consumo
Son abundantes las situaciones
reales de trabajo en que el
microcontrolador debe esperar,
sin hacer nada, a que se
produzca algn acontecimiento
externo que le ponga de nuevo
en funcionamiento.

Recursos comunes de todos


los microcontroladores

Estado de reposo o de bajo consumo


Para ahorrar energa, (factor clave en los
aparatos porttiles), los
microcontroladores disponen de una
instruccin especial (SLEEP en los PIC),
que les pasa al estado de reposo o de
bajo consumo, en el cual los
requerimientos de potencia son mnimos.

En dicho estado se detiene el reloj principal y


se detienen sus circuitos asociados,
quedando el microcontrolador sumido en un
profundo sueo.
Al activarse una interrupcin ocasionada por
el acontecimiento esperado, el
microcontrolador se despierta y reanuda su
trabajo.

Recursos comunes de todos


los microcontroladores
Conversor A/D (CAD)
Los microcontroladores que
incorporan un Conversor A/D
(Analgico/Digital) pueden
procesar seales analgicas, tan
abundantes en las aplicaciones.
Suelen disponer de un
multiplexor que permite aplicar a
la entrada del CAD diversas
seales analgicas desde las
patitas del circuito integrado.

Recursos comunes de todos


los microcontroladores
Conversor D/A (CDA)
Transforma los datos digitales
obtenidos del procesamiento de
una computadora en su
correspondiente seal analgica
que saca al exterior por una de
las patitas de la cpsula. Existen
muchos dispositivos que trabajan
con seales analgicas.

Recursos comunes de todos


los microcontroladores

Comparador analgico
Algunos modelos de microcontroladores
disponen internamente de un Amplificador
Operacional que acta como comparador
entre una seal fija de referencia y otra
variable que se aplica por una de las patitas
del encapsulado.
La salida del comparador proporciona un
nivel lgico 1 0 segn una seal sea
mayor o menor que la otra.
Tambin hay modelos de microcontroladores
con un mdulo de tensin de referencia que
proporciona diversas tensiones de referencia
que se pueden aplicar en los comparadores.

Recursos comunes de todos


los microcontroladores
Modulador por ancho de
pulso o PWM
Son circuitos que proporcionan
en su salida pulsos de anchura
variable, que se ofrecen al
exterior a travs de las patitas
del encapsulado.

Recursos comunes de todos


los microcontroladores

Puertos de E/S digitales


Todos los microcontroladores destinan
algunas de sus patitas a soportar
lneas de E/S digitales. Por lo general,
estas lneas se agrupan, tpicamente
de ocho en ocho, formando Puertos.
Las lneas digitales de los Puertos
pueden configurarse como Entrada o
como Salida cargando un 1 un 0 en
el bit correspondiente de un registro
destinado a su configuracin.

Recursos comunes de todos


los microcontroladores
Puertos de comunicacin
Con objeto de dotar al
microcontrolador de la
posibilidad de comunicarse con
otros dispositivos externos, otros
buses de microprocesadores,
buses de sistemas, buses de
redes y poder adaptarlos con
otros elementos bajo otras
normas y protocolos.

Recursos comunes de todos


los microcontroladores
Puertos de comunicacin
Algunos modelos disponen de
recursos que permiten
directamente esta tarea, entre los
que destacan:
UART:

adaptador de comunicacin
serie asncrona.
USART: adaptador de comunicacin
serie sncrona y asncrona
Bus SPI: usado principalmente para
la transferencia de informacin entre
microontroladores.

Recursos comunes de todos


los microcontroladores

Puertos de comunicacin
Algunos modelos disponen de
recursos que permiten directamente
esta tarea, entre los que destacan:

USB: (Universal Serial Bus), que es un


moderno bus serie para las PC.
Bus I2C: que es un interfaz serie de dos
hilos desarrollado por Philips.
CAN(Controller Area Network): para
permitir la adaptacin con redes de
conexionado multiplexado desarrollado
conjuntamente por Bosch e Intel para el
cableado de dispositivos en automviles.
En EEUU se usa el J185O.

Herramientas para el
desarrollo de aplicaciones

Uno de los factores que ms


importancia tiene a la hora de
seleccionar un microcontrolador entre
todos los dems es el soporte software
y hardware de que dispone.
Un buen conjunto de herramientas de
desarrollo puede ser decisivo en la
eleccin, ya que pueden suponer una
ayuda inestimable en el desarrollo del
proyecto.
La principal herramienta de ayuda al
desarrollo de sistemas basados en
microcontroladores es el Ensamblador.

Herramientas para el
desarrollo de aplicaciones

Ensamblador
La programacin en lenguaje
ensamblador puede resultar un tanto
difcil para el principiante, pero permite
desarrollar programas muy eficientes,
ya que otorga al programador el
dominio absoluto del sistema.
Los fabricantes suelen proporcionar el
programa ensamblador de forma
gratuita y en cualquier caso siempre se
puede encontrar una versin gratuita
para los microcontroladores ms
populares.

Herramientas para el
desarrollo de aplicaciones

Compilador
La programacin en un lenguaje de alto
nivel (como el C o el Basic) permite
disminuir el tiempo de desarrollo de un
producto. No obstante, si no se programa
con cuidado, el cdigo resultante puede
ser mucho ms ineficiente que el
programado en ensamblador.

Las versiones ms potentes suelen ser muy


caras, aunque para los microcontroladores
ms populares pueden encontrarse versiones
demo limitadas e incluso compiladores
gratuitos.

Herramientas para el
desarrollo de aplicaciones
Depuradores
Debido a que los
microcontroladores van a
controlar dispositivos fsicos, los
desarrolladores necesitan
herramientas que les permitan
comprobar el buen
funcionamiento del
microcontrolador cuando es
conectado al resto de circuitos.

Herramientas para el
desarrollo de aplicaciones

Simulador
Los simuladores son capaces de ejecutar en
una PC programas realizados para el
microcontrolador.
Los simuladores permiten tener un control
absoluto sobre la ejecucin de un programa,
siendo ideales para la depuracin de los
mismos.

Su gran inconveniente es que es difcil simular la


entrada y salida de datos del microcontrolador.
Tampoco cuentan con los posibles ruidos en las
entradas, pero, al menos, permiten el paso fsico
de la implementacin de un modo ms seguro y
menos costoso, puesto que ahorraremos en
grabaciones de chips para la prueba in-situ.

Herramientas para el
desarrollo de aplicaciones
Placas de evaluacin
Se trata de pequeos sistemas con
un microcontrolador ya montado y
que suelen conectarse a una PC
desde el que se cargan los
programas que se ejecutan en el
microcontrolador.
Las placas suelen incluir
visualizadores LCD, teclados, LEDs,
fcil acceso a los pines de E/S, etc.

Herramientas para el
desarrollo de aplicaciones

Placas de evaluacin
El sistema operativo de la placa recibe
el nombre de programa monitor.
El programa monitor de algunas placas
de evaluacin, aparte de permitir cargar
programas y datos en la memoria del
microcontrolador, puede permitir en
cualquier momento realizar la ejecucin
paso a paso, monitorear el estado del
microcontrolador o modificar los valores
almacenados en los registros o en la
memoria.

Herramientas para el
desarrollo de aplicaciones

Emuladores en circuito
Se trata de un instrumento que se
coloca entre una PC anfitrin y el zcalo
de la tarjeta de circuito impreso donde
se alojara el microcontrolador definitivo.
El programa es ejecutado desde una PC,
pero para la tarjeta de aplicacin es
como si lo hiciese el mismo
microcontrolador que luego ir en el
zcalo.
Presenta en pantalla toda la informacin
tal y como luego suceder cuando se
coloque el encapsulado.

Lenguaje mquina y lenguaje


de ensamblaje.
Una instruccin de computador es
un cdigo binario que especifica
una secuencia de microoperaciones para el computador.
La unidad de control del CPU
interpreta el cdigo binario de la
instruccin y procede a ejecutarla
emitiendo una secuencia de
funciones de control.
Cada computador de propsito
general tiene su propio repertorio
nico de instrucciones.

Lenguaje mquina y lenguaje


de ensamblaje.

Un cdigo de instruccin es un grupo


de bits que le dice al computador que
realice una operacin especfica.
Op Code

Operando

Instruccin

La parte bsica de un cdigo de


instruccin es su cdigo de operacin.

Lenguaje mquina y lenguaje


de ensamblaje.

El cdigo de operacin de una instruccin es


un grupo de bits que define una accin a
realizar. En general esta accin cae en alguna
de las siguientes categoras:
Procesador-memoria: Los datos pueden
ser transferidos del procesador a la
memoria o de la memoria al procesador.
Procesador-E/S: Los datos pueden ser
transferidos a o desde un perifrico
mediante la transferencia entre el
procesador y un mdulo de E/S.
Procesamiento de datos: El procesador
puede ejecutar alguna operacin
aritmtica o lgica sobre los datos.
Control: Una instruccin puede especificar
que la secuencia de ejecucin sea
alterada.

Lenguaje mquina y lenguaje


de ensamblaje.

Relacin entre operacin y microoperacin.


Una operacin es parte de una instruccin
almacenada en memoria del computador.
Para cada cdigo de operacin, la unidad
de control de la CPU emite una secuencia
de micro-operaciones para la
implementacin en hardware de la
operacin a realizar.
Al cdigo de operacin algunas veces se
le suele denominar macro-operacin
debido a que especifica un conjunto de
micro-operaciones.

Lenguaje mquina y lenguaje


de ensamblaje.

Generalmente la operacin especificada


por el cdigo de instruccin debe
ejecutarse sobre algunos datos
almacenados en la memoria del
computador y/o registros del computador.
Por consiguiente, un cdigo de
instruccin debe especificar, adems de
la operacin, los registros y/o las palabras
de memoria en donde los operandos se
deben encontrar, como tambin los
registros y/o palabras de memoria en
donde el resultado se debe almacenar.

Lenguaje mquina y lenguaje


de ensamblaje.
Existen muchas variantes para
formar el cdigo binario de las
instrucciones.
Cada computador tiene su propio
formato particular de cdigo de
instruccin.

Lenguaje mquina y lenguaje


de ensamblaje.
Un programa es una lista de
instrucciones o enunciados para
dirigir al computador en la tarea de
procesamiento de datos.
Los programas escritos para un
computador deben estar en una de
las siguientes categoras:

Cdigo

binario: Esta es una


secuencia de instrucciones y
operandos en binario que enumera la
representacin exacta de
instrucciones como aparecen en la
memoria del computador.

Lenguaje mquina y lenguaje


de ensamblaje.

Cdigo octal o hexadecimal: Esta es una


traduccin equivalente del cdigo binario a
representacin octal o hexadecimal.
Cdigo simblico: El usuario emplea
smbolos (letras, nmeros, o caracteres
especiales) para la parte de operacin, la
parte de direccin, y otras partes del
cdigo de instruccin. Cada instruccin
simblica puede traducirse en una
instruccin codificada en binario. Un
programa simblico se conoce como un
programa en lenguaje de ensamblaje y el
programa encargado de la traduccin se
denomina ensamblador.

Lenguaje mquina y lenguaje


de ensamblaje.
Lenguaje

de programacin de alto
nivel: Estos son lenguajes especiales
desarrollados para reflejar los
procedimientos utilizados en la solucin
de un problema antes que preocuparse
por el comportamiento del hardware del
computador. Cada enunciado de este
lenguaje se traduce en una secuencia
de instrucciones binarias. Slo entonces
el programa puede ser ejecutado en un
computador. El programa encargado de
esta traduccin se denomina
compilador.

Lenguaje mquina y lenguaje


de ensamblaje.

Un lenguaje de programacin es definido


como un conjunto de reglas.
La unidad bsica de un programa de lenguaje
ensamblador es una lnea de cdigo.
Cada lnea de un programa de lenguaje
ensamblador se arregla en tres columnas
denominadas campos. Los campos
especifican la siguiente informacin:

El campo de rtulo (etiqueta) que puede ser vaco o


puede especificar una direccin simblica.
El campo de instruccin especifica una instruccin
de mquina o una pseudo instruccin.
El campo de comentario puede estar vaco o puede
incluir un comentario.

Lenguaje mquina y lenguaje


de ensamblaje.

El campo de instruccin en un programa


de lenguaje ensamblador puede
especificar uno de los siguientes tems:

Un instruccin de referencia a memoria.


Una instruccin de referencia a registro o
E/S.
Una pseudo instruccin con o sin un
operando.

Una pseudo instruccin (directiva) no es


una instruccin de mquina sino una
instruccin al ensamblador dando
informacin sobre alguna fase de la
traduccin.

Modos de
direccionamiento.
El modo de direccionamiento especifica una

regla para interpretar o modificar el campo de


direccin de la instruccin antes de que el
operando sea en realidad referenciado.
Los computadores utilizan tcnicas de modo de
direccionamiento con el fin de acomodar una o
ambas de las siguientes provisiones:

Dar versatilidad de programacin al usuario


proporcionando facilidades tales como
indicadores, contadores, ndices, y relocalizadores
de programa.
Reducir el nmero de bits en el campo de
direccin de la instruccin.

La disponibilidad de diferentes esquemas de


direccionamiento le da al programador
experimentado flexibilidad para escribir
programas que son ms eficientes con respecto
al nmero de instrucciones y tiempos de
ejecucin.

Modos de
direccionamiento.
Aunque la mayora de modos de direccionamiento

modifican el campo de direcciones de la


instruccin, hay dos modos que no necesitan
ningn campo de direccin. Estos son el modo
implicado (inherente) y el modo inmediato.
Modo implicado. En este modo los operandos
son especificados implcitamente en la definicin
de la instruccin.
Op Code

Instruccin

Modo inmediato. En este modo el operando es


especificado en la instruccin misma. Es decir,
una instruccin en modo inmediato tiene un
campo de operando en vez de un campo de
direccin.
Op Code

Operando

Instruccin

Modos de
direccionamiento.
El campo de direccin puede ser usado para especificar o

una palabra de memoria o un registro del procesador.


Cuando el campo de direccin especifica un registro del
procesador, la instruccin se dice que est en el modo de
registro.

Modo de registro. En este modo los operandos estn en


los registros que residen dentro de la CPU.
Instruccin
Op Code
R1
R2
R3

Modo de registro indirecto. En este modo la instruccin


especifica un registro en la CPU cuyos contenidos dan la
direccin del operando en la memoria. En otras palabras, el
registro seleccionado contiene la direccin del operando en
Instruccin
Op Code
R1
vez del operando
mismo.

Modo de autoincremento o autodecremento. Este es


similar al modo de registro indirecto excepto que el registro
es incrementado o decrementado despus (o antes) de que
Instruccin
Oputilizado
Code para
R1 acceder a la memoria.
su valor sea

Modos de
direccionamiento.

Cuando el campo de direccin ya


especifica una direccin, es necesario
distinguir entre la parte de la direccin de
la instruccin y la direccin efectiva del
operando.
Op Code

Direccin

Instruccin

Modo de direccionamiento directo. En


este modo la direccin efectiva es igual a
la parte de direccin de la instruccin.
Modo de direccionamiento indirecto.
En este modo el campo de direccin de la
instruccin da la direccin donde la
direccin efectiva se almacena en la
memoria.

Modos de
direccionamiento.
Unos pocos modos de direccionamiento requieren que el
campo de direccin de la instruccin sea sumado a un
registro de la CPU para obtener la direccin efectiva del
operando.

Modo de direccionamiento relativo. En este modo el


contenido del contador de programa se suma a la parte de la
direccin de la instruccin para obtener una direccin
efectiva. La parte de direccin de la instruccin es
usualmente un nmero con signo (en la representacin del
complemento a 2) que puede ser positivo o negativo.
Instruccin
Op Code
Offset

Modo de direccionamiento con ndice. En este modo el


contenido de un registro ndice es agregado a la parte de la
direccin de la instruccin para obtener la direccin efectiva.
Instruccin
Op Code
RI
Offset

Modo de direccionamiento con registro base. En este


modo el contenido de un registro base es sumado a la parte
de direccin de la instruccin para obtener la direccin
Instruccin
Op Code
RB
Offset
efectiva.

Modos de
direccionamiento.

En algunos computadores, el modo de


direccionamiento de la instruccin es
especificado con un cdigo binario
distinto, justamente como es especificado
el cdigo de operacin. Otros
computadores utilizan un solo cdigo
binario que designa tanto la operacin
como el modo.
Las instrucciones pueden definirse con
una variedad de modos de
direccionamiento. Algunas veces dos o
ms modos de direccionamiento son
combinados en una instruccin.

Fin
Ing. Luis Raymi Romn

Potrebbero piacerti anche