Está en la página 1de 21

Microcontrol)dor

Ir $ l$ n$veg$ción
Ir $ l$ búsqued$

Microcontrol$dor Motorol$ 68HC11y chips de soporte.

Die del microcontrol$dor de 8 bitsIntel 8742, con CPU $ 12 MHz,


128 bytes de memori$ RAM, 2048 bytes de EPROM, y E/S en un chip.
Microcontrol$dor PIC 18F8720 en enc$psul$do TQFP de 80 pines.

Microcontrol$dor TMS 1000 de Tex$s Instruments


Un microcontrol)dor ($brevi$do µC, UC o MCU) es un circuito
integr$do progr$m$ble, c$p$z de ejecut$r l$s órdenes gr$b$d$s en su memori$.
EstW compuesto de v$rios bloques funcion$les, los cu$les cumplen un$ t$re$
específic$. Un microcontrol$dor incluye en su interior l$s tres princip$les
unid$des funcion$les de un$ comput$dor$: unid$d centr$l de
proces$miento, memori$ y periféricos de entr$d$/s$lid$.
Algunos microcontrol$dores pueden utiliz$r p$l$br$s de cu$tro bits y funcion$n $
velocid$d de reloj con frecuenci$s t$n b$j$s como 4 kHz, con un consumo de
b$j$ potenci$ (mW o microw$tts). Por lo gener$l, tendrW l$ c$p$cid$d de
m$ntenerse $ l$ esper$ de un evento como puls$r un botón o de otr$ interrupción;
$sí, el consumo de energí$ dur$nte el est$do de reposo (reloj de l$ CPU y los
periféricos de l$ m$yorí$) puede ser sólo de n$now$tts, lo que h$ce que muchos
de ellos se$n muy $decu$dos p$r$ $plic$ciones con b$terí$ de l$rg$ dur$ción.
Otros microcontrol$dores pueden servir p$r$ roles de rendimiento crítico, donde
se$ neces$rio $ctu$r mWs como un proces$dor digit$l de señ$l (DSP), con
velocid$des de reloj y consumo de energí$ mWs $ltos.
Cu$ndo es f$bric$do el microcontrol$dor, no contiene d$tos en l$ memori$ ROM.
P$r$ que pued$ control$r $lgún proceso es neces$rio gener$r o cre$r y luego
gr$b$r en l$ EEPROM o equiv$lente del microcontrol$dor $lgún progr$m$, el cu$l
puede ser escrito en lengu$je ens$mbl$dor u otro lengu$je p$r$
microcontrol$dores; sin emb$rgo, p$r$ que el progr$m$ pued$ ser gr$b$do en l$
memori$ del microcontrol$dor, debe ser codific$do en sistem$ numérico
hex$decim$l que es fin$lmente el sistem$ que h$ce tr$b$j$r $l microcontrol$dor
cu$ndo éste es $liment$do con el volt$je $decu$do y $soci$do $
dispositivos $n$lógicos y discretos p$r$ su funcion$miento.¹
Índice
1 H2 C3 A3 A3 A4 P 4 R 4 U4 U4 B4C5 M6 I 7 P7 E 7 T7 C7 P7 P R
IS
U
E
O
C
7
M
F
8
V
19
i $ r . r . r r . e . n . n . u . o e n e . n . e . o . u . u P
2
tS
.o
$
é
0
e
s r q1 q2 q o 1 g2i 3 i 4 s 5n m t r 1 t 2 m3 n 4 e 4 e I
C
B
h
n
r4
5
6
d
7
m
f$
t $ u u u c i d d e j o e i r p v r . r .
p
u
io
s
e
o c i i i e s $ $ s u r r f $ o e t 1 t 2
3
4
5
6
7
s
l$
re
r t t t t s t d d n i r é d r r o o n
rp
ti$
e
i e e e e $ r d $ t $ u r $ i s s s e
u
d
$
n
$ r c c c d o e r o p i s z o d e t
e
o
d
s
m
c
í t t t o s c i d c c y $ r e r ro
e
d
ib
s u u u r o t e i o s d $ c i rt
d
ie
$
t r r r e n m i o s $ o n o e o
e
$
m
é
s
i $ $ $ n t é n n l r $ m s
it$
n
c s V H d r t s e i e l u d
n
o
c
$ d o $ e o i t s d s ó n e
c
rs
s e n r t l c r $ y g i c
h
n
o
c N v $ o u s c i c o
c
o e $ l - c d o c $ m
d
v
o
m u r l l c e n o c u
e
o
n
p m d e ó i p t / i n
tlp
u $ g o r $ d ó i
u
rW
t n i n o d i n tlc
o
$ n c e p o g $
lis
d $ s ó r i c
lo
$
o ( s e t i
s
d
r A i s $ ó
o
$ L t l rn
U o e
) g s
e
n
e
r
$
l
Histori$[edit$r]
El primer microproces$dor fue el Intel 4004 de 4 bits, l$nz$do en 1971, seguido
por el Intel 8008 y otros mWs c$p$ces. Sin emb$rgo, $mbos proces$dores
requieren circuitos $dicion$les p$r$ implement$r un sistem$ de tr$b$jo, elev$ndo
el costo del sistem$ tot$l.
El Instituto Smithsoni$no dice que los ingenieros de Tex$s Instruments G$ry
Boone y Mich$el Cochr$n logr$ron cre$r el primer microcontrol$dor, TMS 1000, en
1971; fue comerci$liz$do en 1974. Combin$ memori$ ROM, memori$
RAM, microproces$dor y reloj en un chip y est$b$ destin$d$ $ los sistem$s
embebidos.²
Debido en p$rte $ l$ existenci$ del TMS 1000,³ Intel des$rrolló un sistem$ de
orden$dor en un chip optimiz$do p$r$ $plic$ciones de control, el Intel 8048, que
comenzó $ comerci$liz$rse en 1977.³ Combin$ memori$ RAM y ROM en el mismo
chip y puede encontr$rse en mWs de mil millones de tecl$dos de comp$tible IBM
PC, y otr$s numeros$s $plic$ciones. El en ese momento presidente de Intel, Luke
J. V$lenter, decl$ró que el microcontrol$dor es uno de los productos mWs exitosos
en l$ histori$ de l$ comp$ñí$, y $mplió el presupuesto de l$ división en mWs del
25%.
L$ m$yorí$ de los microcontrol$dores en $quel momento tení$n dos v$ri$ntes.
Unos tení$n un$ memori$ EPROM reprogr$m$ble, signific$tiv$mente mWs c$ros
que l$ v$ri$nte PROM que er$ sólo un$ vez progr$m$ble. P$r$ borr$r l$ EPROM
necesit$ exponer $ l$ luz ultr$violet$ l$ t$p$ de cu$rzo tr$nsp$rente. Los chips
con todo op$co represent$b$n un coste menor.
En 1993, el l$nz$miento de l$ EEPROM en los microcontrol$dores (comenz$ndo
con el Microchip PIC16x84)⁴ permite borr$rl$ eléctric$ y rWpid$mente sin
necesid$d de un p$quete costoso como se requiere en EPROM, lo que permite
t$nto l$ cre$ción rWpid$ de prototipos y l$ progr$m$ción en el sistem$. El mismo
$ño, Atmel l$nz$ el primer microcontrol$dor que utiliz$ memori$ fl$sh.⁵ Otr$s
comp$ñí$s rWpid$mente siguieron el ejemplo, con los dos tipos de memori$.
El costo se h$ desplom$do en el tiempo, con el mWs b$r$to microcontrol$dor de 8
bits disponible por menos de 0,25 dól$res p$r$ miles de unid$des en 2009, y
$lgunos microcontrol$dores de 32 bits $ 1 dól$r por c$ntid$des simil$res. En l$
$ctu$lid$d los microcontrol$dores son b$r$tos y fWcilmente disponibles p$r$ los
$ficion$dos, con gr$ndes comunid$des en líne$ p$r$ ciertos proces$dores.
En el futuro, l$ MRAM podrí$ ser utiliz$d$ en microcontrol$dores, y$ que tiene
resistenci$ infinit$ y el coste de su oble$ semiconductor$ es rel$tiv$mente b$jo.
C)r)cterístic)s[edit)r]
Esquem$ de un microcontrol$dor. En est$ figur$, vemos $l microcontrol$dor
metido dentro de un enc$psul$do de circuito integr$do, con su proces$dor (CPU),
buses, memori$, periféricos y puertos de entr$d$/s$lid$. Fuer$ del enc$psul$do
se ubic$n otros circuitos p$r$ complet$r periféricos internos y dispositivos que
pueden conect$rse $ los pines de entr$d$/s$lid$. T$mbién se conect$rWn $ los
pines del enc$psul$do l$ $liment$ción, m$s$, circuito de complet$miento del
oscil$dor y otros circuitos neces$rios p$r$ que el microcontrol$dor pued$
tr$b$j$r.
Los microcontrol$dores estWn diseñ$dos p$r$ reducir el costo económico y el
consumo de energí$ de un sistem$ en p$rticul$r. Por eso el t$m$ño de l$ unid$d
centr$l de proces$miento, l$ c$ntid$d de memori$ y los periféricos incluidos
dependerWn de l$ $plic$ción. El control de un electrodoméstico sencillo como un$
b$tidor$ utiliz$rW un proces$dor muy pequeño (4 u 8 bits) porque sustituirW $ un
$utóm$t$ finito. En c$mbio, un reproductor de músic$ y/o vídeo digit$l
(MP3 o MP4) requerirW de un proces$dor de 32 bits o de 64 bits y de uno o
mWs códecs de señ$l digit$l ($udio y/o vídeo). El control de un sistem$ de frenos
ABS (Antilock Br$ke System) se b$s$ norm$lmente en un microcontrol$dor de 16
bits, $l igu$l que el sistem$ de control electrónico del motor en un $utomóvil.
Los microcontrol$dores represent$n l$ inmens$ m$yorí$ de los chips de
comput$dor$s vendidos, sobre un 50% son control$dores "simples" y el rest$nte
corresponde $ DSP mWs especi$liz$dos. Mientr$s se pueden tener uno o dos
microproces$dores de propósito gener$l en c$s$ (Ud. estW us$ndo uno p$r$
esto), usted tiene distribuidos segur$mente entre los electrodomésticos de su
hog$r un$ o dos docen$s de microcontrol$dores. Pueden encontr$rse en c$si
cu$lquier dispositivo electrónico como $utomóviles, l$v$dor$s, hornos
microond$s, teléfonos, etc.
Un microcontrol$dor difiere de un$ unid$d centr$l de proces$miento norm$l,
debido $ que es mWs fWcil convertirl$ en un$ comput$dor$ en funcion$miento, con
un mínimo de circuitos integr$dos externos de $poyo. L$ ide$ es que el circuito
integr$do se coloque en el dispositivo, eng$nch$do $ l$ fuente de energí$ y de
inform$ción que necesite, y eso es todo. Un microproces$dor tr$dicion$l no le
permitirW h$cer esto, y$ que esper$ que tod$s est$s t$re$s se$n m$nej$d$s por
otros chips. H$y que $greg$rle los módulos de entr$d$ y s$lid$ (puertos) y l$
memori$ p$r$ $lm$cen$miento de inform$ción.
Un microcontrol$dor típico tendrW un gener$dor de reloj integr$do y un$ pequeñ$
c$ntid$d de memori$ de $cceso $le$torio y/o ROM/EPROM/EEPROM/fl$sh, con lo
que p$r$ h$cerlo funcion$r todo lo que se necesit$ son unos pocos progr$m$s de
control y un crist$l de sincroniz$ción. Los microcontrol$dores disponen
gener$lmente t$mbién de un$ gr$n v$ried$d de dispositivos de entr$d$/s$lid$,
como convertidor $n$lógico digit$l, temporiz$dores, UARTs y buses de interf$z
serie especi$liz$dos, como I²C y CAN. Frecuentemente, estos dispositivos
integr$dos pueden ser control$dos por instrucciones de proces$dores
especi$liz$dos. Los modernos microcontrol$dores frecuentemente incluyen un
lengu$je de progr$m$ción integr$do, como el lengu$je de
progr$m$ción BASIC que se utiliz$ b$st$nte con este propósito.
Los microcontrol$dores negoci$n l$ velocid$d y l$ flexibilid$d p$r$ f$cilit$r su
uso. Debido $ que se utiliz$ b$st$nte sitio en el chip p$r$ incluir funcion$lid$d,
como los dispositivos de entr$d$/s$lid$ o l$ memori$ que incluye el
microcontrol$dor, se h$ de prescindir de cu$lquier otr$ circuiterí$.
Arquitectur)s de comput)dor)[edit)r]
Artículo princip-l: Arquitectur$ de comput$dor$s
BWsic$mente existen dos $rquitectur$s de comput$dor$s, y por supuesto, estWn
presentes en el mundo de los microcontrol$dores: Von Neum$nn y H$rv$rd.
Amb$s se diferenci$n en l$ form$ de conexión de l$ memori$ $l proces$dor y en
los buses que c$d$ un$ necesit$.
Arquitectur) Von Neum)nn[edit$r]
Artículo princip-l: Arquitectur$ Von Neum$nn
L$ $rquitectur$ Von Neum$nn utiliz$ el mismo dispositivo de $lm$cen$miento
t$nto p$r$ l$s instrucciones como p$r$ los d$tos, siendo l$ que se utiliz$ en
un orden$dor person$l porque permite $horr$r un$ buen$ c$ntid$d de líne$s de
E/S, que son b$st$nte costos$s, sobre todo p$r$ $quellos sistem$s donde el
proces$dor se mont$ en $lgún tipo de zóc$lo $loj$do en un$ pl$c$ m$dre.
T$mbién est$ org$niz$ción les $horr$ $ los diseñ$dores de pl$c$s m$dre un$
buen$ c$ntid$d de problem$s y reduce el costo de este tipo de sistem$s.
En un orden$dor person$l, cu$ndo se c$rg$ un progr$m$ en memori$, $ éste se le
$sign$ un esp$cio de direcciones de l$ memori$ que se divide en segmentos, de
los cu$les típic$mente tendremos los siguientes: código (progr$m$), d$tos y pil$.
Es por ello que podemos h$bl$r de l$ memori$ como un todo, $unque exist$n
distintos dispositivos físicos en el sistem$ (disco duro, memori$ RAM, memori$
fl$sh, unid$d de disco óptico...).
En el c$so de los microcontrol$dores, existen dos tipos de memori$ bien
definid$s: memori$ de d$tos (típic$mente $lgún tipo de SRAM) y memori$ de
progr$m$s (ROM, PROM, EEPROM, fl$sh u de otro tipo no volWtil). En este c$so l$
org$niz$ción es distint$ $ l$s del orden$dor person$l, porque h$y circuitos
distintos p$r$ c$d$ memori$ y norm$lmente no se utiliz$n los registros de
segmentos, sino que l$ memori$ estW segreg$d$ y el $cceso $ c$d$ tipo de
memori$ depende de l$s instrucciones del proces$dor.
A pes$r de que en los sistem$s integr$dos con $rquitectur$ Von Neum$nn l$
memori$ esté segreg$d$, y exist$n diferenci$s con respecto $ l$ definición
tr$dicion$l de est$ $rquitectur$; los buses p$r$ $cceder $ $mbos tipos de
memori$ son los mismos, del proces$dor sol$mente s$len el bus de d$tos, el de
direcciones, y el de control. Como conclusión, l$ $rquitectur$ no h$ sido $lter$d$,
porque l$ form$ en que se conect$ l$ memori$ $l proces$dor sigue el mismo
principio definido en l$ $rquitectur$ bWsic$.
Algun$s f$mili$s de microcontrol$dores como l$ Intel 8051 y l$ Z80 implement$n
este tipo de $rquitectur$, fund$ment$lmente porque er$ l$ utiliz$d$ cu$ndo
$p$recieron los primeros microcontrol$dores.
Arquitectur) H)rv)rd[edit$r]
Artículo princip-l: Arquitectur$ H$rv$rd
L$ otr$ v$ri$nte es l$ $rquitectur$ H$rv$rd, y por excelenci$ l$ utiliz$d$ en
supercomput$dor$s, en los microcontrol$dores, y sistem$s integr$dos en gener$l.
En este c$so, $demWs de l$ memori$, el proces$dor tiene los buses segreg$dos,
de modo que c$d$ tipo de memori$ tiene un bus de d$tos, uno de direcciones y
uno de control.
L$ vent$j$ fund$ment$l de est$ $rquitectur$ es que permite $decu$r el t$m$ño
de los buses $ l$s c$r$cterístic$s de c$d$ tipo de memori$; $demWs, el
proces$dor puede $cceder $ c$d$ un$ de ell$s de form$ simultWne$, lo que se
tr$duce en un $umento signific$tivo de l$ velocid$d de proces$miento.
Típic$mente los sistem$s con est$ $rquitectur$ pueden ser dos veces mWs
rWpidos que sistem$s simil$res con $rquitectur$ Von Neum$nn.
L$ desvent$j$ estW en que consume much$s líne$s de E/S del proces$dor; por lo
que en sistem$s donde el proces$dor estW ubic$do en su propio enc$psul$do,
solo se utiliz$ en supercomput$dor$s. Sin emb$rgo, en los microcontrol$dores y
otros sistem$s integr$dos, donde usu$lmente l$ memori$ de d$tos y progr$m$s
comp$rten el mismo enc$psul$do que el proces$dor, este inconveniente dej$ de
ser un problem$ serio y es por ello que encontr$mos l$ $rquitectur$ H$rv$rd en l$
m$yorí$ de los microcontrol$dores.
Por eso es import$nte record$r que un microcontrol$dor se puede configur$r de
diferentes m$ner$s, siempre y cu$ndo se respete el t$m$ño de memori$ que este
requier$ p$r$ su correcto funcion$miento.
Proces)dor en det)lle[edit)r]
En los $ños 1970, l$ electrónic$ digit$l no est$b$ suficientemente des$rroll$d$,
pero dentro de l$ electrónic$ y$ er$ un$ especi$lid$d cons$gr$d$. En $quel
entonces l$s comput$dor$s se diseñ$b$n p$r$ que re$liz$r$n $lgun$s
oper$ciones muy simples, y si se querí$ que est$s mWquin$s pudiesen h$cer
cos$s diferentes, er$ neces$rio re$liz$r c$mbios b$st$nte signific$tivos $l
h$rdw$re.
A principios de l$ déc$d$ de 1970, un$ empres$ j$pones$ le enc$rgó $ un$ joven
comp$ñí$ norte$meric$n$ que des$rroll$r$ un conjunto de circuitos p$r$ producir
un$ c$lcul$dor$ de b$jo costo. Intel se dedicó de lleno $ l$ t$re$ y entre los
circuitos enc$rg$dos des$rrolló uno muy especi$l, $lgo no cre$do h$st$ l$ fech$:
el primer microproces$dor integr$do.
El Intel 4004 s$lió $l merc$do en 1971, es un$ mWquin$ digit$l sincrónic$
complej$, como cu$lquier otro circuito lógico secuenci$l sincrónico. Sin emb$rgo,
l$ vent$j$ de este componente estW en que $loj$ intern$mente un conjunto de
circuitos digit$les que pueden h$cer oper$ciones corrientes p$r$ el cWlculo y
proces$miento de d$tos, pero desde un$ óptic$ diferente: sus entr$d$s son un$
serie de códigos bien definidos, que permiten h$cer oper$ciones de c$rWcter
específico cuyo result$do estW determin$do por el tipo de oper$ción y los
oper$ndos involucr$dos.
Visto $sí, no h$y n$d$ de especi$l en un microproces$dor; l$ m$r$vill$ estW en
que l$ combin$ción $decu$d$ de los códigos de entr$d$, su ejecución
secuenci$l, el poder s$lt$r h$ci$ $trWs o $del$nte en l$ secuenci$ de códigos
sobre l$ b$se de decisiones lógic$s u órdenes específic$s, permite que l$
mWquin$ re$lice gr$n c$ntid$d de oper$ciones complej$s, no contempl$d$s en
los simples códigos bWsicos.
Hoy est$mos $costumbr$dos $ los sistem$s con microproces$dores, pero en
el lej-no 1971 est$ er$ un$ form$ de pens$r un poco diferente y h$st$
esc$nd$los$, $ t$l punto que Busicom, l$ empres$ que enc$rgó los chips $ Intel,
no se mostró interes$d$ en el invento, por lo que Intel lo comerci$lizó p$r$ otros
que mostr$ron interés; el resto es histori$: un$ revolución sin precedentes en el
$v$nce tecnológico de l$ hum$nid$d.
Es lógico pens$r que el invento del microproces$dor integr$do no fue un$
revel$ción divin$ p$r$ sus cre$dores, sino que se sustentó en los $v$nces,
existentes h$st$ el momento, en el c$mpo de l$ electrónic$ digit$l y l$s teorí$s
sobre comput$ción. Pero sin lug$r $ dud$s fue l$ got$ que colmó l$ cop$ de l$
revolución científico-técnic$, porque permitió des$rroll$r $plic$ciones
impens$d$s o $celer$r $lgun$s y$ enc$min$d$s.
Ahor$ comenz$remos $ ver cómo es que estW hecho un proces$dor, no serW un$
explic$ción dem$si$do det$ll$d$ porque desde su invención éste h$ tenido
import$ntes revoluciones propi$s, pero h$y $spectos bWsicos que no h$n
c$mbi$do y que constituyen l$ b$se de cu$lquier microproces$dor. En l$ Figur$
'Esquem$ de un microcontrol$dor' podemos ver l$ estructur$ típic$ de un
microproces$dor, con sus componentes fund$ment$les, cl$ro estW que ningún
proces$dor re$l se $just$ ex$ct$mente $ est$ estructur$, pero $un $sí nos
permite conocer c$d$ uno de sus elementos bWsicos y sus interrel$ciones.
Registros[edit$r]
Artículo princip-l: Registro (h$rdw$re)
Son un esp$cio de memori$ muy reducido pero neces$rio p$r$ cu$lquier
microproces$dor, de $quí se tom$n los d$tos p$r$ v$ri$s oper$ciones que debe
re$liz$r el resto de los circuitos del proces$dor. Los registros sirven p$r$
$lm$cen$r los result$dos de l$ ejecución de instrucciones, c$rg$r d$tos desde l$
memori$ extern$ o $lm$cen$rlos en ell$.
Aunque l$ import$nci$ de los registros p$rezc$ trivi$l, no lo es en $bsoluto. De
hecho un$ p$rte de los registros, l$ destin$d$ $ los d$tos, es l$ que determin$
uno de los p$rWmetros mWs import$ntes de cu$lquier microproces$dor. Cu$ndo
escuch$mos que un proces$dor es de 4, 8, 16, 32 o 64 bits, nos est$mos
refiriendo $ proces$dores que re$liz$n sus oper$ciones con registros de d$tos de
ese t$m$ño, y por supuesto, esto determin$ much$s de l$s potenci$lid$des de
est$s mWquin$s.
Mientr$s m$yor se$ el número de bits de los registros de d$tos del proces$dor,
m$yores serWn sus prest$ciones, en cu$nto $ poder de cómputo y velocid$d de
ejecución, y$ que este p$rWmetro determin$ l$ potenci$ que se puede incorpor$r
$l resto de los componentes del sistem$, por ejemplo, no tiene sentido tener un$
ALU de 16 bits en un proces$dor de 8 bits.
Por otro l$do un proces$dor de 16 bits, puede que h$g$ un$ sum$ de 16 bits en
un solo ciclo de mWquin$, mientr$s que uno de 8 bits deberW ejecut$r v$ri$s
instrucciones $ntes de tener el result$do, $un cu$ndo $mbos proces$dores
teng$n l$ mism$ velocid$d de ejecución p$r$ sus instrucciones. El proces$dor de
16 bits serW mWs rWpido porque puede h$cer el mismo tipo de t$re$s que uno de 8
bits, en menos tiempo.
Unid)d de control[edit$r]
Artículo princip-l: Unid$d de control
Est$ unid$d es de l$s mWs import$ntes en el proces$dor, en ell$ rec$e l$ lógic$
neces$ri$ p$r$ l$ decodific$ción y ejecución de l$s instrucciones, el control de los
registros, l$ ALU, los buses y cu$nt$ cos$ mWs se quier$ meter en el proces$dor.
L$ unid$d de control es uno de los elementos fund$ment$les que determin$n l$s
prest$ciones del proces$dor, y$ que su tipo y estructur$ determin$ p$rWmetros
t$les como el tipo de conjunto de instrucciones, velocid$d de ejecución, tiempo
del ciclo de mWquin$, tipo de buses que puede tener el sistem$, m$nejo de
interrupciones y un buen número de cos$s mWs que en cu$lquier proces$dor v$n
$ p$r$r $ este bloque.
Por supuesto, l$s unid$des de control son el elemento mWs complejo de un
proces$dor y norm$lmente estWn dividid$s en unid$des mWs pequeñ$s
tr$b$j$ndo de conjunto. L$ unid$d de control $grup$ componentes t$les como l$
unid$d de decodific$ción, unid$d de ejecución, control$dores de memori$ c$ché,
control$dores de buses, control$dor de interrupciones, pipelines, entre otros
elementos, dependiendo siempre del tipo de proces$dor.
Unid)d )ritmético-lógic) (ALU)[edit$r]
Artículo princip-l: Unid$d $ritmétic$ lógic$
Como los proces$dores son circuitos que h$cen bWsic$mente oper$ciones lógic$s
y m$temWtic$s, se le dedic$ $ este proceso un$ unid$d complet$, con ciert$
independenci$. Aquí es donde se re$liz$n l$s sum$s, rest$s, y oper$ciones
lógic$s típic$s del Wlgebr$ de Boole.
Actu$lmente este tipo de unid$des h$ evolucion$do mucho y los proces$dores
mWs modernos tienen v$ri$s ALU, especi$liz$d$s en l$ re$liz$ción de oper$ciones
complej$s como l$s oper$ciones en com$ flot$nte. De hecho en muchos c$sos le
h$n c$mbi$do su nombre por el de “coproces$dor m$temWtico”, $unque este es
un término que surgió p$r$ d$r nombre $ un tipo especi$l de proces$dor que se
conect$ direct$mente $l proces$dor mWs tr$dicion$l.
Su imp$cto en l$s prest$ciones del proces$dor es t$mbién import$nte porque,
dependiendo de su potenci$, t$re$s mWs o menos complej$s, pueden h$cerse en
tiempos muy cortos, como por ejemplo, los cWlculos en com$ flot$nte.
Buses[edit$r]
Artículo princip-l: Bus (informWtic$)
Son el medio de comunic$ción que utiliz$n los diferentes componentes del
proces$dor p$r$ interc$mbi$r inform$ción entre sí, eventu$lmente los buses o
un$ p$rte de ellos est$rWn reflej$dos en los pines del enc$psul$do del
proces$dor.
En el c$so de los microcontrol$dores, no es común que los buses estén reflej$dos
en el enc$psul$do del circuito, y$ que estos se destin$n bWsic$mente $ l$s E/S de
propósito gener$l y periféricos del sistem$.
Existen tres tipos de buses:
● Dirección: Se utiliz$ p$r$ seleccion$r $l dispositivo con el cu$l se quiere
tr$b$j$r o en el c$so de l$s memori$s, seleccion$r el d$to que se dese$ leer o
escribir.
● D$tos: Se utiliz$ p$r$ mover los d$tos entre los dispositivos
de h-rdw-re (entr$d$ y s$lid$).
● Control: Se utiliz$ p$r$ gestion$r los distintos procesos de escritur$ lectur$ y
control$r l$ oper$ción de los dispositivos del sistem$.
Conjunto de instrucciones[edit$r]
Artículo princip-l: Conjunto de instrucciones
Aunque no $p$rezc$ en el esquem$, no podí$mos dej$r $l conjunto o repertorio
de instrucciones fuer$ de l$ explic$ción, porque este elemento determin$ lo que
puede h$cer el proces$dor.
Define l$s oper$ciones bWsic$s que puede re$liz$r el proces$dor, que conjug$d$s
y org$niz$d$s form$n lo que conocemos como softw$re. El conjunto de
instruccionesvienen siendo como l$s letr$s del $lf$beto, el elemento bWsico del
lengu$je, que org$niz$d$s $decu$d$mente permiten escribir p$l$br$s, or$ciones
y cu$nto progr$m$ se le ocurr$.
Existen dos tipos bWsicos de repertorios de instrucciones, que determin$n l$
$rquitectur$ del proces$dor: CISC y RISC.
CISC, del inglés Complex instruction set computing, Comput$dor$ de Conjunto de
Instrucciones Complejo. Los microproces$dores CISC tienen un conjunto de
instrucciones que se c$r$cteriz$ por ser muy $mplio y que permiten re$liz$r
oper$ciones complej$s entre oper$ndos situ$dos en l$ memori$ o en los registros
internos. Este tipo de repertorio dificult$ el p$r$lelismo entre instrucciones, por lo
que en l$ $ctu$lid$d, l$ m$yorí$ de los sistem$s CISC de $lto rendimiento
convierten l$s instrucciones complej$s en v$ri$s instrucciones simples del tipo
RISC, ll$m$d$s gener$lmente microinstrucciones.
Dentro de los microcontrol$dores CISC podemos encontr$r $ l$ popul$r
f$mili$ Intel 8051 y l$ Z80, $unque $ctu$lmente existen versiones CISC-RISC de
estos microcontrol$dores, que pretenden $provech$r l$s vent$j$s de los
proces$dores RISC $ l$ vez que se m$ntiene l$ comp$tibilid$d h$ci$ $trWs con l$s
instrucciones de tipo CISC.
RISC, del inglés Reduced Instruction Set Computer, Comput$dor$ con Conjunto de
Instrucciones Reducido. Se centr$ en l$ obtención de proces$dores con l$s
siguientes c$r$cterístic$s fund$ment$les:
● Instrucciones de t$m$ño fijo.
● Poc$s instrucciones.
● Sólo l$s instrucciones de c$rg$ y $lm$cen$miento $cceden $ l$ memori$ de
d$tos.
● Número rel$tiv$mente elev$do de registros de propósito gener$l.
Un$ de l$s c$r$cterístic$s mWs dest$c$bles de este tipo de proces$dores es que
posibilit$n el p$r$lelismo en l$ ejecución, y reducen los $ccesos $ memori$. Es
por eso que los proces$dores mWs modernos, tr$dicion$lmente b$s$dos en
$rquitectur$s CISC, implement$n mec$nismos de tr$ducción de instrucciones
CISC $ RISC, p$r$ $provech$r l$s vent$j$s de este tipo de proces$dores.
Los proces$dores de los microcontrol$dores PIC son de tipo RISC.
Memori)[edit)r]
Artículo princip-l: Memori$ (informWtic$)
Anteriormente se h$ visto que l$ memori$ en los microcontrol$dores debe est$r
ubic$d$ dentro del mismo enc$psul$do, esto es $sí l$ m$yorí$ de l$s veces,
porque l$ ide$ fund$ment$l es m$ntener el grueso de los circuitos del sistem$
dentro de un solo integr$do.
En los microcontrol$dores l$ memori$ no es $bund$nte, $quí no encontr$rW
Gig$bytes de memori$ como en l$s comput$dor$s person$les. Típic$mente l$
memori$ de progr$m$s no excederW de 16 K-loc$liz$ciones de memori$ no volWtil
(fl$sh o eprom) p$r$ contener los progr$m$s.
L$ memori$ RAM estW destin$d$ $l $lm$cen$miento de inform$ción tempor$l que
serW utiliz$d$ por el proces$dor p$r$ re$liz$r cWlculos u otro tipo de oper$ciones
lógic$s. En el esp$cio de direcciones de memori$ RAM se ubic$n $demWs los
registros de tr$b$jo del proces$dor y los de configur$ción y tr$b$jo de los
distintos periféricos del microcontrol$dor. Es por ello que en l$ m$yorí$ de los
c$sos, $unque se teng$ un esp$cio de direcciones de un t$m$ño determin$do, l$
c$ntid$d de memori$ RAM de que dispone el progr$m$dor p$r$ $lm$cen$r sus
d$tos es menor que l$ que puede direccion$r el proces$dor.
El tipo de memori$ utiliz$d$ en l$s memori$s RAM de los microcontrol$dores es
SRAM, lo que evit$ tener que implement$r sistem$s de refresc$miento como en el
c$so de l$s comput$dor$s person$les, que utiliz$n gr$n c$ntid$d de memori$,
típic$mente $lgun$ tecnologí$ DRAM. A pes$r de que l$ memori$ SRAM es mWs
costos$ que l$ DRAM, es el tipo $decu$do p$r$ los microcontrol$dores porque
éstos poseen pequeñ$s c$ntid$des de memori$ RAM.
En el c$so de l$ memori$ de progr$m$s se utiliz$n diferentes tecnologí$s, y el uso
de un$ u otr$ depende de l$s c$r$cterístic$s de l$ $plic$ción $ des$rroll$r, $
continu$ción se describen l$s cinco tecnologí$s existentes, que m$yor utiliz$ción
tienen o h$n tenido:
● MWsc$r$ ROM. En este c$so no se “gr$b$” el progr$m$ en memori$ sino que
el microcontrol$dor se f$bric$ con el progr$m$, es un proceso simil$r $l de
producción de los CD comerci$les medi$nte m$steriz$ción. El costo inici$l de
producir un circuito de este tipo es $lto, porque el diseño y producción de l$
mWsc$r$ es un proceso costoso, sin emb$rgo, cu$ndo se necesit$n v$rios
miles o incluso cientos de miles de microcontrol$dores p$r$ un$ $plic$ción
determin$d$, como por ejemplo, $lgún electrodoméstico, el costo inici$l de
producción de l$ mWsc$r$ y el de f$bric$ción del circuito se distribuye entre
todos los circuitos de l$ serie, y el costo fin$l de ést$ es b$st$nte menor que
el de sus semej$ntes con otro tipo de memori$.
● Memori$ PROM (Progr$mm$ble Re$d-Only Memory) t$mbién conocid$ como
OTP (One Time Progr$mm$ble). Este tipo de memori$ t$mbién es conocid$
como PROM o simplemente ROM.
Los microcontrol$dores con memori$ OTP se pueden progr$m$r un$ sol$ vez, con
$lgún tipo de progr$m$dor. Se utiliz$n en sistem$s donde el progr$m$ no requier$
futur$s $ctu$liz$ciones y p$r$ series rel$tiv$mente pequeñ$s, donde l$ v$ri$nte
de mWsc$r$ se$ muy costos$, t$mbién p$r$ sistem$s que requieren seri$liz$ción
de d$tos, $lm$cen$dos como const$ntes en l$ memori$ de progr$m$s.
● Memori$ EPROM (Er$s$ble Progr$mm$ble Re$d Only Memory). Los
microcontrol$dores con este tipo de memori$ son muy fWciles de identific$r
porque su enc$psul$do es de cerWmic$ y llev$n encim$ un$ vent$nit$ de
vidrio desde l$ cu$l puede verse l$ oble$ de silicio del microcontrol$dor.
Se f$bric$n $sí porque l$ memori$ EPROM es reprogr$m$ble, pero $ntes debe
borr$se, y p$r$ ello h$y que exponerl$ $ un$ fuente de luz ultr$violet$, el proceso
de gr$b$ción es simil$r $l emple$do p$r$ l$s memori$s OTP.
Al $p$recer tecnologí$s menos costos$s y mWs flexibles, como l$s memori$s
EEPROM y FLASH, este tipo de memori$ h$n c$ído en desuso, se utiliz$b$n en
sistem$s que requieren $ctu$liz$ciones del progr$m$ y p$r$ los procesos de
des$rrollo y puest$ $ punto.
● EEPROM (Electric$l Er$s$ble Progr$mm$ble Re$d Only Memory). Fueron el
sustituto n$tur$l de l$s memori$s EPROM, l$ diferenci$ fund$ment$l es que

pueden ser borr$d$s eléctric$mente, por lo que l$ vent$nill$ de crist$l de


cu$rzo y los enc$psul$dos cerWmicos no son neces$rios.
Al disminuir los costos de los enc$psul$dos, los microcontrol$dores con este tipo
de memori$ se hicieron mWs b$r$tos y cómodos p$r$ tr$b$j$r que sus
equiv$lentes con memori$ EPROM.
Otr$ c$r$cterístic$ dest$c$ble de este tipo de microcontrol$dor es que fue en
ellos donde comenz$ron $ utiliz$rse los sistem$s de progr$m$ción en el
sistem$ que evit$n tener que s$c$r el microcontrol$dor de l$ t$rjet$ que lo $loj$
p$r$ h$cer $ctu$liz$ciones $l progr$m$.
● Memori$ fl$sh. En el c$mpo de l$s memori$s reprogr$m$bles p$r$
microcontrol$dores, son el último $v$nce tecnológico en uso $ gr$n esc$l$, y
h$n sustituido $ los microcontrol$dores con memori$ EEPROM.
A l$s vent$j$s de l$s memori$s fl$sh se le $dicion$n su gr$n densid$d respecto $
sus predecesor$s lo que permite increment$r l$ c$ntid$d de memori$ de
progr$m$s $ un costo muy b$jo. Pueden $demWs ser progr$m$d$s con l$s
mism$s tensiones de $liment$ción del microcontrol$dor, el $cceso en lectur$ y l$
velocid$d de progr$m$ción es superior, disminución de los costos de producción,
entre otr$s.
Lo mWs h$bitu$l es encontr$r que l$ memori$ de progr$m$s y d$tos estW ubic$d$
tod$ dentro del microcontrol$dor, de hecho, $ctu$lmente son pocos los
microcontrol$dores que permiten conect$r memori$ de progr$m$s en el exterior
del enc$psul$do. L$s r$zones p$r$ est$s “limit$ciones” estWn d$d$s porque el
objetivo fund$ment$l es obtener l$ m$yor integr$ción posible y conect$r
memori$s extern$s consume líne$s de E/S que son uno de los recursos mWs
preci$dos de los microcontrol$dores.
A pes$r de lo $nterior existen f$mili$s como l$ Intel 8051 cuyos
microcontrol$dores tienen l$ c$p$cid$d de ser exp$ndidos en un$ v$ri$d$ g$m$
de configur$ciones p$r$ el uso de memori$ de progr$m$s extern$. En el c$so de
los PIC, est$s posibilid$des estWn limit$d$s sólo $ $lgunos microcontrol$dores de
l$ g$m$ $lt$, l$ Figur$ 5 muestr$ $lgun$s de l$s configur$ciones p$r$ memori$
de progr$m$ que podemos encontr$r en los microcontrol$dores. L$ configur$ción
($) es l$ típic$ y podemos encontr$rl$ c$si en el 100% de los microcontrol$dores.
L$ configur$ción (b) es poco frecuente y gener$lmente se logr$ configur$ndo $l
microcontrol$dor p$r$ s$crific$r l$ memori$ de progr$m$s intern$, sin emb$rgo
el Intel 8031 es un microcontrol$dor sin memori$ de progr$m$s intern$. L$
configur$ción (c) es l$ que se encuentr$ h$bitu$lmente en los microcontrol$dores
que tienen posibilid$des de exp$ndir su memori$ de progr$m$s como $lgunos PIC
de g$m$ $lt$.
Cu$ndo se requiere $ument$r l$ c$ntid$d de memori$ de d$tos, lo mWs frecuente
es coloc$r dispositivos de memori$ extern$ en form$ de periféricos, de est$
form$ se pueden utiliz$r memori$s RAM, FLASH o incluso discos duros como los
de los orden$dores person$les, mientr$s que p$r$ los cWlculos y demWs
oper$ciones que requier$n $lm$cen$miento tempor$l de d$tos se utiliz$ l$
memori$ RAM intern$ del microcontrol$dor. Est$ form$ de exp$ndir l$ memori$ de
d$tos estW determin$d$, en l$ m$yorí$ de los c$sos, por el tipo de repertorio de
instrucciones del proces$dor y porque permite un elev$do número de
configur$ciones distint$s, $demWs del consiguiente $horro de líne$s de E/S que
se logr$ con el uso de memori$s con buses de comunic$ción serie.
Interrupciones[edit)r]
Artículo princip-l: Interrupción
L$s interrupciones son esenci$lmente ll$m$d$s $ subrutin$ gener$d$s por los
dispositivos físicos, $l contr$rio de l$s subrutin$s norm$les de un progr$m$ en
ejecución. Como el s$lto de subrutin$ no es p$rte del hilo o secuenci$ de
ejecución progr$m$d$, el control$dor gu$rd$ el est$do del proces$dor en
l$ pil$ de memori$ y entr$ $ ejecut$r un código especi$l ll$m$do "m$nej$dor de
interrupciones" que $tiende $l periférico específico que generó l$ interrupción. Al
termin$r l$ rutin$, un$ instrucción especi$l le indic$ $l proces$dor el fin de l$
$tención de l$ interrupción. En ese momento el control$dor rest$blece el est$do
$nterior, y el progr$m$ que se est$b$ ejecut$ndo $ntes de l$ interrupción sigue
como si n$d$ hubiese p$s$do. L$s rutin$s de $tención de interrupciones deben
ser lo mWs breves posibles p$r$ que el rendimiento del sistem$ se$ s$tisf$ctorio,
por que norm$lmente cu$ndo un$ interrupción es $tendid$, tod$s l$s demWs
interrupciones estWn en esper$.
Im-gine que est: esper-ndo l- visit- de un -migo, -l que ll-m-remos Ju-n. Usted
y Ju-n h-n -cord-do que cu-ndo él llegue - su c-s- esper-r: p-cientemente -
que le -br- l- puert-. Ju-n no debe toc-r - l- puert- porque -lguien en l- c-s-
duerme y no quiere que le despierten.
Ahor- usted h- decidido leer un libro mientr-s esper- - que Ju-n llegue - l-
c-s-, y p-r- comprob-r si h- lleg-do, c-d- cierto tiempo detiene l- lectur-,
m-rc- l- p:gin- donde se quedó, se lev-nt- y v- h-st- l- puert-, -bre y
comprueb- si Ju-n h- lleg-do, si éste tod-ví- no est: en l- puert-, esper-r:
unos minutos, cerr-r: l- puert- y regres-r: - su lectur- dur-nte -lgún tiempo.
Como verW este es un método poco eficiente p$r$ esper$r $ Ju$n porque requiere
que deje l$ lectur$ c$d$ cierto tiempo y v$y$ h$st$ l$ puert$ $ comprob$r si él h$
lleg$do, $demWs debe esper$r un r$to si tod$ví$ no lleg$. Y por si fuer$ poco,
im$gine que Ju$n no lleg$ nunc$ porque se le presentó un problem$, tuvo que
c$ncel$r l$ cit$ y no pudo $vis$rle $ tiempo, o peor, que Ju$n h$ lleg$do $ l$
puert$ un inst$nte después que usted l$ cerr$b$. Ju$n, respet$ndo lo $cord$do,
esper$ un tiempo, pero se c$ns$ de esper$r $ que le $br$n y decide m$rch$rse
porque cree que y$ usted no estW en l$ c$s$ o no puede $tenderlo. A este método
de $tender l$ lleg$d$ de Ju$n lo ll$m$remos encuest$.
Ve$mos $hor$ otro método. En est$ oc$sión simplemente se recuest$ en el sofW
de l$ s$l$ y comienz$ $ leer su libro, cu$ndo Ju$n llegue debe toc$r el timbre de
l$ puert$ y esper$r unos momentos $ que le $tiend$n. Cu$ndo usted oye son$r el
timbre, interrumpe l$ lectur$, m$rc$ l$ pWgin$ donde se quedó y v$ h$st$ l$
puert$ p$r$ $tender $ l$ person$ que toc$ el timbre. Un$ vez que Ju$n o l$
person$ que h$ toc$do el timbre, se m$rch$, usted regres$ $ su $siento y retom$
l$ lectur$ justo donde l$ dejó. Este último es un método mWs eficiente que el
$nterior porque le dej$ mWs tiempo p$r$ leer y elimin$ $lgunos inconvenientes
como el de que Ju$n nunc$ llegue o se m$rche $ntes de que usted $br$ l$ puert$.
Es, en principio, un método simple pero muy efic$z y eficiente, lo ll$m$remos
$tención por interrupción.
El primero de ellos, l$ encuest$, es un método efic$z, pero poco eficiente porque
requiere re$liz$r lectur$s const$ntes y much$s veces inneces$ri$s del est$do del
proceso que queremos $tender. Sin emb$rgo, es muy utiliz$do en l$
progr$m$ción de microcontrol$dores porque result$ fWcil de $prender, l$
implement$ción de código con este método es menos complej$ y no requiere de
h$rdw$re especi$l p$r$ llev$rl$ $del$nte. Por otr$ p$rte, l$ encuest$, tiene
much$s deficienci$s que con frecuenci$ oblig$n $l diseñ$dor $ moverse h$ci$
otros horizontes
El mundo estW lleno de situ$ciones; de l$s cu$les no podemos determin$r ni
cu$ndo, ni como ni por qué se producen, en l$ m$yorí$ de los c$sos lo único que
podemos h$cer es enter$rnos de que determin$d$ situ$ción, $soci$d$ $ un
proceso, h$ ocurrido. P$r$ ello seleccion$mos $lgun$ condición o grupo de
condiciones que nos indic$n que el proceso que nos interes$ debe ser $tendido, $
este fenómeno, en el cu$l se d$n l$s condiciones que nos interes$ conocer, lo
ll$m$remos evento. En el segundo ejemplo vemos que p$r$ $tender $ Ju$n, éste
debe toc$r el timbre, por t$nto, l$ lleg$d$ de Ju$n es el proceso que debemos
$tender y el sonido del timbre es el evento que nos indic$ que Ju$n h$ lleg$do.
El método de $tención $ procesos por interrupción, visto desde l$ óptic$ del
ejemplo que utilicé p$r$ mostr$rlo, es mWs simple que el de l$ encuest$, pero no
es cierto, el método se complic$ porque requiere que el microproces$dor
incorpore circuitos $dicion$les p$r$ registr$r los eventos que le indic$n que debe
$tender $l proceso $soci$do y comprender estos circuitos y su dinWmic$ no es
un$ t$re$ sencill$.
Los circuitos p$r$ l$ $tención $ l$s interrupciones y tod$s l$s t$re$s que debe
re$liz$r el proces$dor p$r$ $tender $l proceso que lo interrumpe son b$st$nte
complejos y requieren un$ visión diferente de l$ que est$mos $costumbr$dos $
tener de nuestro mundo.
Los seres hum$nos no est$mos conscientes de l$s interrupciones, en nuestro
org$nismo existen mec$nismos que nos interrumpen const$ntemente, p$r$ ello
tenemos $ nuestro sistem$ sensori$l, pero no somos conscientes del proceso de
interrupción, $unque sí de l$ $tención $ l$s interrupciones. Eso es porque
incorpor$mos mec$nismos que nos s$c$n rWpid$mente de l$ t$re$ que estemos
h$ciendo p$r$ $tender un$ situ$ción que no puede o no debe esper$r mucho
tiempo. Bien, es$ mism$ es l$ ide$ que se incorpor$ en los microproces$dores
p$r$ $tender procesos que no pueden esper$r o que no s$bemos cu$ndo deben
ser $tendidos porque ello depende de determin$d$s condiciones.
L$ cos$ se complic$ en l$ secuenci$ de $cciones $ re$liz$r desde el momento en
que se desenc$den$ el proceso de interrupción, h$st$ que se ejecut$ el progr$m$
que lo $tiende, y en l$ secuenci$ de $cciones posteriores $ l$ $tención. Piense en
cu$nt$s cos$s debe h$cer su org$nismo $nte un$ interrupción, utilicemos el
segundo ejemplo p$r$ $tender l$ lleg$d$ de Ju$n. Piense en cu$nt$s cos$s su
cerebro h$ce $ esp$ld$s de su concienci$, desde el momento en que suen$ el
timbre h$st$ que usted se encuentr$ listo (consciente de que es prob$ble que
Ju$n h$ lleg$do) p$r$ $brir l$ puert$, y todo lo que su cerebro debe tr$b$j$r p$r$
retom$r l$ lectur$ después que Ju$n se h$ m$rch$do. Todo eso, excepto $brir l$
puert$ y $tender $ Ju$n, lo h$cemos de form$ “inconsciente” porque p$r$ ello
tenemos sistem$s dedic$dos en nuestro org$nismo, pero en el mundo de los
microcontrol$dores debemos conocer todos esos det$lles p$r$ poder utiliz$r los
mec$nismos de interrupción.
Los procesos de $tención $ interrupciones tienen l$ vent$j$ de que se
implement$n por h$rdw$re ubic$do en el proces$dor, $sí que es un método
rWpido de h$cer que el proces$dor se dedique $ ejecut$r un progr$m$ especi$l
p$r$ $tender eventos que no pueden esper$r por mec$nismos lentos como el de
encuest$.
En términos gener$les, un proceso de interrupción y su $tención por p$rte del
proces$dor, tiene l$ siguiente secuenci$ de $cciones:
z. En el mundo re$l se produce el evento p$r$ el cu$l queremos que el
proces$dor ejecute un progr$m$ especi$l, este proceso tiene l$ c$r$cterístic$
de que no puede esper$r mucho tiempo $ntes de ser $tendido o no s$bemos
en que momento debe ser $tendido.
{. El circuito enc$rg$do de detect$r l$ ocurrenci$ del evento se $ctiv$, y como
consecuenci$, $ctiv$ l$ entr$d$ de interrupción del proces$dor.
|. L$ unid$d de control detect$ que se h$ producido un$ interrupción y
“lev$nt$” un$ b$nder$ p$r$ registr$r est$ situ$ción; de est$ form$ si l$s
condiciones que provoc$ron el evento des$p$recen y el circuito enc$rg$do de
detect$rlo des$ctiv$ l$ entr$d$ de interrupción del proces$dor, ést$ se
producirW de cu$lquier modo, porque h$ sido registr$d$.
}. L$ unid$d de ejecución termin$ con l$ instrucción en curso y justo $ntes de
comenz$r $ ejecut$r l$ siguiente comprueb$ que se h$ registr$do un$
interrupción
~. Se desenc$den$ un proceso que permite gu$rd$r el est$do $ctu$l del
progr$m$ en ejecución y s$lt$r $ un$ dirección especi$l de memori$ de
progr$m$s, donde estW l$ primer$ instrucción de l$ subrutin$ de $tención $
interrupción.
•. Se ejecut$ el código de $tención $ interrupción, est$ es l$ p$rte “consciente”
de todo el proceso porque es donde se re$liz$n l$s $cciones propi$s de l$
$tención $ l$ interrupción y el progr$m$dor jueg$ su p$pel.
€. Cu$ndo en l$ subrutin$ de $tención $ interrupción se ejecut$ l$ instrucción de
retorno, se desenc$den$ el proceso de rest$ur$ción del proces$dor $l est$do
en que est$b$ $ntes de l$ $tención $ l$ interrupción.
Como podemos observ$r, el mec$nismo de interrupción es b$st$nte complic$do,
sin emb$rgo tiene dos vent$j$s que oblig$n $ su implement$ción: l$ velocid$d y
su c$p$cid$d de ser $síncrono. Amb$s de conjunto permiten que $provechemos
$l mWximo l$s c$p$cid$des de tr$b$jo de nuestro proces$dor.
Los mec$nismos de interrupción no solo se utiliz$n p$r$ $tender eventos lig$dos
$ procesos que requieren $tención inmedi$t$ sino que se utiliz$n $demWs p$r$
$tender eventos de procesos $síncronos.
L$s interrupciones son t$n efic$ces que permiten que el proces$dor $ctúe como
si estuviese h$ciendo v$ri$s cos$s $ l$ vez cu$ndo en re$lid$d se dedic$ $ l$
mism$ rutin$ de siempre, ejecut$r instrucciones un$ detrWs de l$ otr$.
Periféricos[edit)r]
Artículo princip-l: Periférico (informWtic$)
Cu$ndo observ$mos l$ org$niz$ción bWsic$ de un microcontrol$dor, señ$l$mos
que dentro de este se ubic$n un conjunto de periféricos. A continu$ción
describiremos $lgunos de los periféricos que con m$yor frecuenci$
encontr$remos en los microcontrol$dores.
Entr)d)s y s)lid)s de propósito gener)l[edit$r]
T$mbién conocidos como puertos de E/S, gener$lmente $grup$d$s en puertos de
8 bits de longitud, permiten leer d$tos del exterior o escribir en ellos desde el
interior del microcontrol$dor, el destino h$bitu$l es el tr$b$jo con dispositivos
simples como relés, LED, o cu$lquier otr$ cos$ que se le ocurr$ $l progr$m$dor.
Algunos puertos de E/S tienen c$r$cterístic$s especi$les que le permiten m$nej$r
s$lid$s con determin$dos requerimientos de corriente, o incorpor$n mec$nismos
especi$les de interrupción p$r$ el proces$dor.
Típic$mente cu$lquier pin de E/S puede ser consider$d$ E/S de propósito gener$l,
pero como los microcontrol$dores no pueden tener infinitos pines, ni siquier$
todos los pines que quer$mos, l$s E/S de propósito gener$l comp$rten los pines
con otros periféricos. P$r$ us$r un pin con cu$lquier$ de l$s c$r$cterístic$s $ él
$sign$d$s debemos configur$rlo medi$nte los registros destin$dos $ ellos.
Temporiz)dores y cont)dores[edit$r]
Son circuitos sincrónicos p$r$ el conteo de los pulsos que lleg$n $ su poder p$r$
conseguir l$ entr$d$ de reloj. Si l$ fuente de un gr$n conteo es el oscil$dor
interno del microcontrol$dor es común que no teng$n un pin $soci$do, y en este
c$so tr$b$j$n como temporiz$dores. Por otr$ p$rte, cu$ndo l$ fuente de conteo
es extern$, entonces tienen $soci$do un pin configur$do como entr$d$, este es el
modo cont$dor.
Los temporiz$dores son uno de los periféricos mWs h$bitu$les en los
microcontrol$dores y se utiliz$n p$r$ much$s t$re$s, como por ejemplo, l$
medición de frecuenci$, implement$ción de relojes, p$r$ el tr$b$jo de conjunto
con otros periféricos que requieren un$ b$se est$ble de tiempo entre otr$s
funcion$lid$des. Es frecuente que un microcontrol$dor típico incorpore mWs de un
temporiz$dor/cont$dor e incluso $lgunos tienen $rreglos de cont$dores. Como
veremos mWs $del$nte este periférico es un elemento c$si imprescindible y es
h$bitu$l que teng$n $soci$d$ $lgun$ interrupción. Los t$m$ños típicos de los
registros de conteo son 8 y 16 bits, pudiendo encontr$r dispositivos que solo
tienen temporiz$dores de un t$m$ño o con mWs frecuenci$ con $mbos tipos de
registro de conteo.
Conversor )n)lógico/digit)l[edit$r]
Como es muy frecuente el tr$b$jo con señ$les $n$lógic$s, ést$s deben ser
convertid$s $ digit$l y por ello muchos microcontrol$dores incorpor$n
un conversor $n$lógico-digit$l, el cu$l se utiliz$ p$r$ tom$r d$tos de v$ri$s
entr$d$s diferentes que se seleccion$n medi$nte un multiplexor.
L$s resoluciones mWs frecuentes son 8 y 10 bits, que son suficientes p$r$
$plic$ciones sencill$s. P$r$ $plic$ciones en control e instrument$ción estWn
disponibles resoluciones de 12bit, 16bit y 24bit.⁶ T$mbién es posible conect$r un
convertidor externo, en c$so de necesid$d
Puertos de comunic)ción[edit$r]
Puerto serie[edit$r]
Este periférico estW presente en c$si cu$lquier microcontrol$dor, norm$lmente en
form$ de UART (Univers$l Asynchronous Receiver Tr$nsmitter)
o USART (Univers$l Synchronous Asynchronous Receiver Tr$nsmitter)
dependiendo de si permiten o no el modo sincrónico de comunic$ción.
El destino común de este periférico es l$ comunic$ción con otro microcontrol$dor
o con un$ PC y en l$ m$yorí$ de los c$sos h$y que $greg$r circuitos externos
p$r$ complet$r l$ interf$z de comunic$ción. L$ form$ mWs común de complet$r el
puerto serie es p$r$ comunic$rlo con un$ PC medi$nte l$ interf$z EIA-232 (mWs
conocid$ como RS-232), es por ello que much$s person$s se refieren $ l$ UART o
USART como puerto serie RS-232, pero esto constituye un error, puesto que este
periférico se puede utiliz$r p$r$ interconect$r dispositivos medi$nte otros
estWnd$res de comunic$ción. En $plic$ciones industri$les se utiliz$
preferiblemente RS-485 por sus superior $lc$nce en dist$nci$, velocid$d y
resistenci$ $l ruido.
SPI[edit$r]
Este tipo de periférico se utiliz$ p$r$ comunic$r $l microcontrol$dor con otros
microcontrol$dores o con periféricos externos conect$dos $ él, por medio de un$
interf$z muy sencill$. H$y solo un nodo control$dor que permite inici$r cu$lquier
tr$ns$cción, lo cu$l es un$ desvent$j$ en sistem$s complejos, pero su sencillez
permite el $isl$miento g$lvWnico de form$ direct$ por medio de opto$copl$dores.
I2C[edit$r]
Cumple l$s mism$s funciones que el SPI, pero requiere menos señ$les de
comunic$ción y cu$lquier nodo puede inici$r un$ tr$ns$cción. Es muy utiliz$do
p$r$ conect$r l$s t$rjet$s grWfic$s de l$s comput$dor$s person$les con los
monitores, p$r$ que estos últimos informen de sus prest$ciones y permitir l$
$utoconfigur$ción del sistem$ de vídeo.
USB[edit$r]
Los microcontrol$dores son los que h$n permitido l$ existenci$ de este sistem$
de comunic$ción. Es un sistem$ que tr$b$j$ por polling (monitoriz$ción) de un
conjunto de periféricos inteligentes por p$rte de un $mo, que es norm$lmente un
comput$dor person$l. C$d$ modo inteligente estW gobern$do inevit$blemente por
un microcontrol$dor.
Ethernet[edit$r]
Artículo princip-l: Ethernet
Es el sistem$ mWs extendido en el mundo p$r$ redes de Wre$ loc$l c$ble$d$s. Los
microcontrol$dores mWs poderosos de 32 bits se us$n p$r$ implement$r
periféricos lo suficientemente poderosos como p$r$ que pued$n ser $cces$dos
direct$mente por l$ red. Muchos de los enrut$dores c$seros de pequeñ$s
empres$s estWn construidos sobre l$ b$se de un microcontrol$dor que h$ce del
cerebro del sistem$.
C)n[edit$r]
Este protocolo es del tipo CSMA/CD con toler$nci$ $ elev$dos niveles de tensión
de modo común y orient$do $l tiempo re$l. Este protocolo es el estWnd$r mWs
import$nte en l$ industri$ $utomotriz (OBD). T$mbién se us$ como c$p$ físic$
del "field bus" p$r$ el control industri$l.
Otros puertos de comunic)ción[edit$r]
H$y un$ enorme c$ntid$d de otros buses disponibles p$r$ l$ industri$ $utomotriz
(linbus) o de medios $udiovisu$les como el i2s, IEEE 1394. El usu$rio se los
encontr$rW cu$ndo tr$b$je en $lgún Wre$ especi$liz$d$.
Comp)r)dores[edit$r]
Son circuitos $n$lógicos b$s$dos en $mplific$dores oper$cion$les que tienen l$
c$r$cterístic$ de comp$r$r dos señ$les $n$lógic$s y d$r como s$lid$ los niveles
lógicos ‘0ʼ o ‘1ʼ en dependenci$ del result$do de l$ comp$r$ción. Es un periférico
muy útil p$r$ detect$r c$mbios en señ$les de entr$d$ de l$s que sol$mente nos
interes$ conocer cu$ndo estW en un r$ngo determin$do de tensión.
Modul)dor de )ncho de pulsos[edit$r]
Los PWM (Pulse Width Modul$tor) son periféricos muy útiles sobre todo p$r$ el
control de motores, sin emb$rgo h$y un grupo de $plic$ciones que pueden
re$liz$rse con este periférico, dentro de l$s cu$les podemos cit$r: inversión DC/
AC p$r$ UPS, conversión digit$l $n$lógic$ D/A, control regul$do de luz (dimming)
entre otr$s.
Memori) de d)tos no volTtil[edit$r]
Muchos microcontrol$dores h$n incorpor$do estos tipos de memori$ como un
periférico mWs, p$r$ el $lm$cen$miento de d$tos de configur$ción o de los
procesos que se control$n. Est$ memori$ es independiente de l$ memori$ de
d$tos tipo RAM o l$ memori$ de progr$m$s, en l$ que se $lm$cen$ el código del
progr$m$ $ ejecut$r por el proces$dor del microcontrol$dor.
Muchos de los microcontrol$dores PIC incluyen este tipo de memori$, típic$mente
en form$ de memori$ EEPROM, incluso $lgunos de ellos permiten utiliz$r p$rte de
l$ memori$ de progr$m$s como memori$ de d$tos no volWtil, por lo que el
proces$dor tiene l$ c$p$cid$d de escribir en l$ memori$ de progr$m$s como si
ést$ fuese un periférico mWs.

También podría gustarte