Microcontroladores 2.2
Introduccin
Que es un microcontrolador
Los microcontroladores estn conquistando el mundo. Estn
presentes en nuestro trabajo, en nuestra casa y en nuestra vida,
en general. Se pueden encontrar controlando el funcionamiento
de los ratones y teclados de los computadores, en los telfonos,
en los hornos microondas y los televisores de nuestro hogar.
Pero la invasin acaba de comenzar y el siglo XXI ser testigo
de la conquista masiva de estos diminutos computadores, que
gobernarn la mayor parte de los aparatos que fabriquemos y
usamos los humanos.
Microcontroladores 2.3
Controlador y microcontrolador
Recibe el nombre de controlador el dispositivo que se emplea
para el gobierno de uno o varios procesos. Por ejemplo, el
controlador que regula el funcionamiento de un horno elctrico
dispone de un sensor que mide constantemente su temperatura
interna y acta sobre las resistencias para mantener la
temperatura dentro del rango establecido.
Aunque el concepto de controlador ha permanecido invariable
a travs del tiempo, su implementacin fsica ha variado
frecuentemente. Hace tres dcadas, los controladores
electrnicos 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
programa
tipo
que
sincronizan
el
un
Microcontroladores 2.4
tarjetas
Microcontroladores 2.5
de
aplicacin
de
un
microcontrolador
en
el
Microcontroladores 2.6
Microcontroladores 2.7
Recursos comunes
Al estar todos los microcontroladores en un solo circuito
integrado, 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.
En este apartado se hace un recorrido de todos los recursos
que se hallan en todos los microcontroladores describiendo las
diversas alternativas y opciones que pueden encontrarse segn
el modelo seleccionado.
Arquitectura bsica
Microcontroladores 2.9
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Memoria
Microcontroladores 2.10
que
diferencian
los
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.11
3 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 un PC. Si,
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.12
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, minimizar el
coste, el hardware y el software.
Los principales recursos
microcontroladores son:
especficos
Temporizadores o "Timers".
Perro guardin o "Watchdog".
que
incorporan
los
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.13
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 impulsos de reloj o algn
mltiplo hasta que se desborde y llegue a 0, momento en el que
se produce un aviso.
Cuando se desean contar acontecimientos que se
materializan por cambios de nivel o flancos en alguna de las
patillas del microcontrolador, el mencionado registro se va
incrementando o decrementando al ritmo de dichos impulsos.
Perro guardin o "Watchdog"
Cuando un ordenador personal se bloquea por un fallo del
software u otra causa, se pulsa el botn del reset y se
reinicializa el sistema.
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.14
de
comunicacin
serie
sncrona
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.15
Herramientas de desarrollo
Las herramientas de desarrollo estn formadas por un
conjunto de programas e interfaces que permiten realizar los
proyectos de la forma ms eficiente posible.
Las principales herramientas de ayuda al desarrollo de
sistemas basados en microcontroladores se describen a
continuacin
Ensamblador. La programacin en lenguaje ensamblador
puede resultar un tanto ardua 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.
Compilador. La programacin en un lenguaje de alto nivel
(como C o Basic) permite disminuir el tiempo de desarrollo de
un producto y si adems est familiarizado con C o Basic es una
buena opcin. No obstante, cuando el compilador convierta el
cdigo del programa a un lenguaje ensamblado, cada lnea de
cdigo del programa en lenguaje de alto nivel habr generado
bastantes ms lneas de cdigo en lenguaje ensamblador,
normalmente en una relacin de uno a tres. Esto significa que
para utilizar un lenguaje de alto nivel necesitaremos un
microcontrolador con una capacidad de memoria relativamente
grande.
Si el programa que estamos desarrollando necesita utilizar
nmeros con decimales, o con notacin cientfica o se utilizan
operaciones complejas, como pueden ser las trigonomtricas, es
casi obligado utilizar un lenguaje de alto nivel. Pero si lo que se
va a hacer es manipular bits en registros, entradas, salidas y
clculos sencillos, el lenguaje ensamblado es la mejor opcin.
Las versiones ms potentes de compiladores suelen ser muy
caras, aunque para los microcontroladores ms populares
demo
limitadas
incluso
los
valores
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.16
Qu microcontrolador emplear?
Elegir un tipo o familia de microcontroladores
A la hora de decidirse en terminos generales sobre que tipo o
familia de microcontroladores emplear hay que tener en cuenta
varios factores, como por ejemplo:
Experiencia previa
Documentacin existente
Herramientas de desarrollo disponibles y su precio
Precio del microcontrolador
Experiencia previa: Si ya se ha trabajado con algn
microcontrolador en particular, lo mejor es ver que nuevas
posibilidades ofrecen los diversos fabricantes que trabajen con
ese microcontolador como ncleo. Por ejemplo, el 8051 fu muy
popular hace algun tiempo, y hay muchos microcontroladores
actuales que derivan de este, como pueden ser los AT89 de
Microcontroladores 2.8
32
bits)
de
los
ARQUITECTU
IDE
RA
ADUC8xx
CISC 8 bits
8051
ADUC7xx
RISC 32 bits
ARM7
AT89xxx
CISC 8 bits
8051
prog.
independien
tes
TS87xxx
CISC 8 bits
prog.
independien
tes
AVR
RISC 8 bits
AVR studio
AT91xxx
RISC 16 bits
ARM7/9
EP73xxx
RISC 32 bits
ARM7
EP93xxx
RISC 32 bits
ARM9
Cygnal www.silabs.com
C8051F
CISC 8 bits
8051
Freescale
(Motorola) www.freescale.com
HC05
FABRICANTE
Atmel www.atmel.com
CISC 8 bits
6800
Fujitsu www.fujitsu.com
HC08
CISC 8 bits
6809
Code
Warrior
HC11
CISC 8 bits
6809
HC12
CISC 16 bits
HCS12
CISC 16 bits
Code
Warrior
HC16
CISC 16 bits
56800
CISC 16 bits
68K
CISC 32 bits
68000
ColdFire
CISC 32 bits
MAC7100
RISC 32 bits
ARM7
F2MC-8
CISC 8 bits
F2MC-16
CISC 16 bits
FR
RISC 32 bits
C5xxx
CISC 8 bits
8051
C8xxx
CISC 8 bits
8051
C16xxx
CISC 16 bits
XC16xxx
CISC 16 bits
TCxxx
CISC 32 bits
MCS251
CISC 8 bits
8051
MCS96/296
CISC 16 bits
DS80Cxxx
CISC 8 bits
8051
DS83Cxxx
CISC 8 bits
8051
DS89Cxxx
CISC 8 bits
Infineon www.infineon.com
Intel www.intel.com
Maxim (Dallas) www.maxim-ic.com
8051
MAXQ
RISC 16 bits
PIC
10,12,14,16,17 RISC 8 bits
,18
MPLAB
dsPIC
RISC 16 bits
MPLAB
CISC 8 bits
Webench
CISC 16 bits
RISC 16 bits
P8xxx
CISC 8 bits
8051
Philips www.semiconductors.philips.co
Xaxxx
m
CISC 16 bits
RISC 32 bits
ARM7
CISC 8 bits
CISC 8 bits
740
CISC 8 bits
H8
CISC 16 bits
HEW
H8S
CISC 16 bits
HEW
M16C
CISC 16 bits
7700
CISC 16 bits
H8SX
CISC 32 bits
Super H
CISC 32 bits
HEW
ST5
CISC 8 bits
Visual FIVE
ST6
CISC 8 bits
ST7
CISC 8 bits
STVD 7
ST9
CISC 8 bits
STVD 9
ST9
CISC 16 bits
STVD 9
ST10
CISC 16 bits
Microchip www.microchip.com
COP8xxx
NS (NATIONAL
SEMICONDUCTOR) www.national.co CR16Cxxx
m
CP3000
LPC2xxx
Rabbit
Rabbit2000
Semiconductor www.rabbitsemiconduct
Rabbit3000
or.com
Renesas www.renesas.com
ST (SGS-THOMSON) www.stm.com
Toshiba chips.toshiba.com
Zilog www.zilog.com
ARM7
RISC 32 bits
ARM7
MSC12xxx
CISC 8 bits
8051
MSP430
CISC 16 bits
Eclipse
TMS470
RISC 32 bits
ARM7
870
CISC 8 bits
900/900H
CISC 16 bits
900/900H
CISC 32 bits
SXxx
RISC 8 bits
Z8xxx
Z8Encore!
eZ80Aclaim
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.17
DISPOSITIVOS LGICOS
MICROPROGRAMABLES
Microcontroladores 2.18
Oscilador RC
C1 de 20pF como mnimo
5K R1 100K
Introduccin y
Arquitectura de
microcontroladores
En esta seccin encontraras toda la informacin necesaria para ayudarte a despejar tus
dudas respectos a los microcontroladores, empezaremos con la definicin de:
QUE
SON LOS
MICROCONTROLADORES?
Primero que todo comenzaremos definiendo que son los microcontroladores: Los
microcontroladores ( abreviado C, UC o MCU ) son circuitos integrados que son
capaces de ejecutar ordenes que fueron grabadas en su memoria. Su composicin esta
dada por varios bloques funcionales, los cuales cumplen una tarea especifica, son
dispositivos que operan uno o mas procesos, por lo general los microcontroladores
estn basados en la arquitectura de Harvard, la cual consiste en dispositivos de
almacenamiento separados (memoria de programa y memoria de datos).
El termino microcontrolador esta dado por dos palabras que son Micro-Controlador
las cuales tienen por significado pequeo (en tamao) y maniobrar o controlar
(funcin principal) procesos los cuales son definidos mediante la programacin.
Un micro controlador esta constituido en su interior por las tres principales unidades
funcionales de una computadora, las cuales son: unidad central de procesamiento,
memoria y perifricos de entrada y salida.
En fin un microcontrolador es un sistema completo, con unas prestaciones limitadas
que no pueden modificarse y que puede llevar a cabo las tareas para las que ha sido
programado de forma autnoma.
En cuanto a la arquitectura de los microcontroladores la detallaremos con mayor
profundidad a continuacin
ARQUITECTURA
DE LOS MICROCONTROLADORES
La arquitectura tradicional de
computadoras y microcontroladores se basa en el esquema propuesto por John Von
Neumann, en el cual la unidad central de proceso, o CPU, esta conectada a una
memoria nica que contiene las instrucciones del programa y los datos. El tamao de
la unidad de datos o instrucciones esta fijado por el ancho del bus de la memoria. Las
dos principales limitaciones de esta arquitectura tradicional son :
a) Que la longitud de las instrucciones esta limitada por la unidad de longitud de los
datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para
buscar instrucciones complejas.
b) La velocidad de operacin (o ancho de banda de operacin) esta limitada por el
efecto de cuello de botella que significa un bus nico para datos e instrucciones que
impide superponer ambos tiempos de acceso.
La arquitectura von Neumann permite el diseo de programas con cdigo
automodificable, prctica bastante usada en las antiguas computadoras que solo tenan
acumulador y pocos modos de direccionamiento, pero innecesaria, en las
computadoras modernas.
La arquitectura Harvard y sus ventajas:
ARQUITECTURA
INTERNA DE UN MICROCONTROLADOR.
Podemos decir que la CPU, siglas en ingls de unidad central de proceso, es el ncleo
del microcontrolador. Se encarga de ejecutar las instrucciones almacenadas en la
memoria, de la que hablaremos ms adelante. Es lo que habitualmente llamamos
procesador o microprocesador, trmino que a menudo se confunde con el de
microcontrolador. En esta lnea cabe aclarar que, tal y como estamos viendo, ambos
trminos no son lo mismo: el microprocesador es una parte de un microcontrolador y
sin l no sera til; un microcontrolador, en cambio, es un sistema completo que puede
llevar a cabo de forma autnoma una labor.
Memoria:
Las unidades de entrada/salida son los sistemas que emplea el microcontrolador para
comunicarse con el exterior. Imaginemos una televisin: por un lado tiene un
dispositivo de salida, como es la pantalla, y por otro lado, de entrada, como son los
botones de subir o bajar volumen y de cambio de canal. As, los dispositivos de entrada
nos permitirn introducir informacin en el microcontrolador y los de salida nos
servirn para que ste la saque al exterior.
ARQUITECTURA RISC
CISC
RISC (Reduced Instruction Set Computer) Computadora con Juego de Instrucciones Reducidas.