Sunteți pe pagina 1din 100

INTRODUCCIN AL

MICROCONTROLADOR
Microcontroladores
Ing. Luis Raymi
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 Microcontrolador
(P) (C)
Alta prestacin.
Propsito general. Alto nivel de integracin.
Utilizado para control
embebido.
Cerebro de la PC en las
estaciones de trabajo.

Encargado de las Efecta las funciones de un


funciones de P ms el de la memoria,
decodificacin y E/S, temporizador, ADC,
ejecucin de USART, etc.
instrucciones, control del
mundo exterior.
Costo: $1 - $25.
Costo: $75 - $500.
Diferencia entre microcontrolador y
microprocesador
Microprocesador (P).
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
ARQUITECTURA HARVARD
ARQUITECTURA VON NEUMANN

Memoria de Memoria de
Memoria de
Datos
CPU
CPU
n
Datos
m
y Programa
n Programa
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 micro-operaciones 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 micro-operacin.
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.
Op Code R1 R2 R3 Instruccin
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 vez del operando mismo.

Op Code R1 Instruccin
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 su valor sea utilizado para
acceder a la memoria.

Op Code R1 Instruccin
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.
Op Code Offset Instruccin
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.

Op Code RI Offset Instruccin


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

Op Code RB Offset Instruccin


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

S-ar putea să vă placă și