Introducere in Microprocesoare_Part24
-
Upload
mesuzana-1 -
Category
Documents
-
view
225 -
download
0
description
Transcript of Introducere in Microprocesoare_Part24
-
7/17/2019 Introducere in Microprocesoare_Part24
1/6
coniuncfia
llrgljgvirlt
de adresare
crr
semnalele
de
pe
magistrala
de
cc,nfr6i. 6
it',
6
it,
mMR
giMEMW.
Informatia.itita.io
inscrisi
este
vehicuiatl
pe
magistrala
de
date. Pentru
sistem
portul
in
care
se
lnscrie
este
un
part
d,e
iegire, cel
din
care
se cite;te
esti
port
cle
,i,ntrare,
sau.
dac5.
se-cite;te
si.se inscrie
-
bort
intrareli'egire.
^
Ilagl
info-i'malia
citit5.
sau insciisd.
de ra pbri
este
sub
forma
unui
ur
int
de
un
bit,
atunci pentru interfatare
se
poate
utiliza un
circuit
hrstabil..de
tip
RS,
JK,
D, T,
siucrone
sau
asin'crone.
In
plus,
accesu]
insple/dinsplc
port
se
poate
face cu porti
SI
utilizind
pro'prietatea
de
mascare
(un
bit
zerg
-pg
inilare
are
eiectul
mascb.
de
resetire
a
iegirii,
r-ezi
instrrqctiunea
ANi).
Un
circuit
RS
asincron,
ca port
de
ie;ire,
poate
avea intririle
de
tlate R,
S (deci
pentru
inscrier-ei
comandate
dd semnaie
oblinute
prin
,conjunclia
unui
cuvint
de
adresare
cu
un semnar
de'iontrol
l,rgl{
w,
I,fowr
ca_in
figura
J2,
b,iar
instructiunile
*tilizate
ar
putea
fi:
srAX,
srA,
r{ov
}I,
r,
oUT
port
etc.
ca
port
de intrare
"ir
hs
asincron
are
icsirca
conectat6-prin
iitermcdiul
unei
porli
SI,
la
o
iinie (bit)
a magis-
iraiei
de
date. Deschiderea
acestei
porl;,
deci
sclectarea
pirrtului,"
se
obfine
prin
conjugarea
cnvintului
de
aclresare
cu
semnalc^
de
control
ltElr{
R,_
IIO
&
iar
instrucliunile
de
citire
putind
fi
LDA,
LDAX,
IIO\r
r,
U, IN
port
etc.
.
Acelea;i
posluititeli
oferite
de u'
RS
asincron
pot
fi
implernen-
tate;i
cu
un circuit
basculant sincion
cle
orice
tip.
La
unciriuitbas-
culant
sincron
semnalul
de
sclectaie
iobtinut)
poate
fi
folosit
ca
semnal
de
tact,
iar
intrilile
de date
sau
iesiiile'se
lJaga
i"
-agisila
de
date.
'cind
existS"
intriri
pi:iorita'e
(asincrone),
SnT,
R]RESET,
acestea
pot
xi,
de asemenea,
folosite
pentrr,i.
inscriere.
Instructiunile
utilizate
Jilt
STAX,
STA,
I,IOV
\.f, r,
OUT
port
etc.
peirtru
inscliere
si LDA,
LDAX,
)f0\i
r,
l{,
IN
port
etc. pentiu
citire.
in cazul
cind infoimafia
citit[/inscrisi.
de
ia
*n port
este
sub
forma
unui cuvint,
cu.lungimeamaimare
de
un.bit,
se
indice
registre pentru
irnpiementarea
.interfa,firii.
citeria
sugestii,
de
posibile
iirplern'entdri,
sint
prezentate
in figurile
3.12;i
3.i3.
trir
principiu,
o
structuid.
deinter-
t'_arl
Fentru
un
port
de
intrare,ie;ire
ar
fi
ia cea
din
figura
6.2;i cuprin-
cle:.un
registru
tampon
(buffer)
de
intrare,
un
registrir
tampoir
1ndtteil.
de
ie;ire;i
un
circuit
de selectare.
Tamponul
delntrare
m&noreaza
(si
lormeazd)
semnalele
primite
de la
peliferic
gi
re pf,streazi
pini.
cind,
,selectat
de microprocesor,
este
cititl
prin
opbziiie,
tamponui
de
iepire
:ste
selectat
si
inscris
de
c5.tre
nricroproc.esoi
apoi
pxstreazl
inform
jtia
pentru
a
fi
utilizati
de periferic.
Cuvintui
de adresare
impreuni
",,
,.*-
na-lele-de
pe
magistraia
de
controi
determinr
prin
iuteimediul
circui-
tului
de selectare
sensul
de
transfer
ai
informafi6i.
uneori
se
mai
adaug5.
un registru
de stare
care
indicL
dacl
datele irebirie
citite
sau inscriie
in
port.
a'7 e
,';?iFERIC
,rr.
U.,.
a,r.,,;;.. o.
a'l*,0,"
pentru o interfald
in
general,
inier{ata r,rnr-ii periteric
necesitS" mai
multe portuf i,
iirdiferent
de
modr"rl de
-{electa1..,
rleci
trebuie mai
multe adrese:
-
o
adresS.
sau
dot'Lir
peirtru portul inirare/ie;ire
de daie dr"rp5
curn
acesta
este
realizat bidireclional sau
din doui
potturi
unidirec-
f
ionale;
-
o
adresf,
pentru
un
port
de
ilirare care
conline
starea
periferi-
cului;
-
o adresi
pentrr-r.
uu
pori
ck
ieqire care
va contine un cuvint de
comandiL c5"tre perileric.
Deoarece
starea
unui peiifeiic
-se
poate exprima
doar
prin
unui
sau
dou5.
fanioane,
acestea
se
reunesc
cu
fariioanele
de
la
alte
periferice
formind astfel
un
registru
port
cornnir cu
o
singurd
adres[. La
fel
;i
semnalele
de
comandS"
peniru
mai
nulte periferice
se pot
reuni intr-un
singt'.r port.
AceastS,
rnodalitate
de
reunire
intr-un
singur port
reduce
numlrul
de
adrese repartizate,
dar
necesitl
o
mascare
corespunzitoare
a
cuvintului
de
comandd
lnainte
de
inscrierea sa
in
portul
respectil'
,sau
o
mascare
a
cuvintului
de
stare
dup5"
citirea
sa
riin
port.
Pentru
sistemele
cu un
ntimdr
redus
dc
poriuri,
in
modalitatea I/O
izolati,
ctivintul
de
adresare
Ar...A,
poate
fi
utilizat
pentru selectarea liniari.
De
exemplu,
dacl
bilii
.,{-...,42 sint
foiosili
separat
pentru
selectarea
a 6 interfele,
iar
combinaliile
AlAs pentru
identificarea
a
cite
unui
port din
fiecare interfafl,
rezultl
posibiiitatea
de adresare a
24
de
porturi
de
intrare
;i
tot
atitea
de
ie;ire.
Un
exempiu
de
structuri, de
inter{a 5.
nestandard
este
prezentati
in
exemplul
din anexa
,45.
Degi
structurile
de
interfa 5,
sugerate,
pot
fi implementate
cu
elc-
mente
ciiscrete,
totu;i in
multe
cazrari,
aceste
interfele
sint
realizate
sub
forma
unor
circuite
integrate
{standard)
.
l{i
llAG trE ADRESARE I i
i
--T-il
.t.? '7
-
7/17/2019 Introducere in Microprocesoare_Part24
2/6
6.2.
lnterfefe
standard
.
Interfelele
standard
pot
exista
ca
circuite
independente
sau
cel
rnai frecvent
ca
circuite
cbmponente
(suport)
ain
tariltia
urrui
anumii
microprpcesol.
Pot
fi
catcgorisite,
in
funilie
de modalitatea
de
transfer
a informafiei
la/de
la
p,eriferic,
in
interfile
se.riale
qi
iitiilrle
paralele.
Aceste
interfefe
sint
realizate
programatil,
adica
tunctiuniie'sint fixate
prjn program.
Abrevia(iil_e
sub
caie
pot
fi
intilnite
cete
cu
transfer
fa-
ralel
sinl:
PIo
(Parallel
Input
output),
pIA
(progr"**"b1"
tr'terface
Adapter),.PPI
(Programmable
peripheral
Interfade);
iar
pentru
cele
serraie
exrstS.
abreviaf
iile:
UART
(universal
dsynchronorls
Receiver
Transmiter),
ACI.{
(Asynchronous
cornmunicationi
Interir.ce
Adapter),
USART
(universal
Synchronous
and Asynchronous
Receiver
Trarrimii-
ter).
6.2.1. Circuite
de interfagd
cu transfer
paralel
o structuri
de
principiu
pentru
o
interfafi.
cu
transfer
paralel,
care
poat-e
^fi
i.mplementati
cu-
componente
discrete
p"
o-
plu.6,
este
prezentati
in.
figura
6.3. Interfala
se- conec
teaz|
la cel6
trei
'magistrale
a-le
sistemului
prin.
intermediul
unor
buffere,
in
strucioru
." .Jrr1i,rir,d
;i
trei.registre:.registru
de
stare
(numai
cu
2
bifi
sr,
so),,"sirtiri-p.ii
f3
jeplre
;i
registru
port_de
inrrare.
Deci
interfat"
";;;iit1'r"i
"di"se,
electarea
registrelor-se
lace
prin
conjuncfia
semnalelor
de la
decodifi_
cator
cu
semnalele
de
control.
^
rnstrucliunea
our port
duce
ra transferul
datelor
din
acumulator
in
registru
pgrtlq
ie;ire;
in
aceasti
ope:alie
.o"r".e
;a;.;,
porturui
;i
semnalul
qo
w. Totodati
semnaluf
I/o*vr
inscrie
in
regiitru
de
stare
bitul
S1:l
;i
simuitan interfafa
va
genera
spre periferic
semnalul
ffi
:
0. Dacd.
lerifericul
iesizeizisemnalul
de date valide
activat,
atunci
va
prelua
luvintul
din
portul
de
iegire
;i
va gencra
Ia
rindui
sdu
semnalul de
confirmare
DATE
RECEPTIO-
NATE:0
care
va
gterge
bitul
Si.
Succesiunea
in
activarea
semnarelor
DATE
D
IRETA-TDE
si
ffi
in
procesul
de transfer
a
datelor
spre perifiric
se
nume; te
transfer
ci
proiotoi
(hand-
shakirrg)
sau
ccmutticaic
ci
confirmare.
ln
rnomentul
cind perifericui
are
date valide va genera
spre
inter-
fali
un
semnal
OafE
OA
tXf
n.\RE
\:ALIDE
:
0.
La
primirea
aces-
tui semiral
interfala
va
genera
spre
microprocesor
CERERE
DE
INTRERUPERE
:
1
;i
in
registrul
de
stare
se
inscrie
bitut
SO
:
l.
Cu
instructiunea
IN
port
ciatele
din portul
cle intrare
sint transferate,
prin
intermediul rnagistralei interne qi
a
magistralei sistemului,
in
aJu-
278
mulator.
6itirea
acestui port se realizeazl.
fizic
cu semnalul de selectare
produs
de
IIO-R
;i
adresa
portului.
Starea
interfetei
poate
fi
aflat[ de c5.tre microprocesor prin
citi-
rea
registrului
de
.i"r"'.o instructiunea
IN
;
la
aceast'ir
operafie
concuri
semnalul
to-tr:
0
;i
adresa
corespunz5.toare.
I.a
microprocesoarele
mai
evoluate existl
instrucfiuni
care
permit
transferul
unui cuvint
dintr-o
locafie
de memorie
in
alti localie
de
memorie.
Daci
interfata
la
astfel
de
microprocesoare
este
conectatd.
in
modul
de adresare
in
spaliul
memoriei
sau
cbmbinat,
atunci
cu o
singurS,
instruclie.de
acest tip se^poate
tran-sfera.
un
cuvint de la
intrare
direct
in
memorie
sau
invers.
Structura
de
principiu,
cu
facilitS"fi
adS"ugate,
se
regise;te
in
toate circuitele integrate
de
interfald
paralell.
Structura
de
circuit
formatS.
dintr-un
registru (latch)
de
8
biii
cu
ie;ire
tampon
TSL
poate
fi folositS"
pentru implementarea
porturilor
de
intrare/iesire.
AceastS,
structurS.
in
varianta
integrati prezinti
intriri
I'IAGISTRALA DE ADRASARE A
ISTRALA
DF DATF
D7-
I.IAGISTRAL A
I\TtRNA
DE
I)ATE
-DATE
RECEPTIONAIE
--nnre
oE-lEsrne
vaitoe
Fig.
6.3.
StructurS" de
principiu
pentru
o
inter{afi
paraleltr.
279
-
7/17/2019 Introducere in Microprocesoare_Part24
3/6
i.l-r
]
n.r.r
I
l
-r."
t
tl
fE.'Rul
Irrt'rnel
de contrcl
de
selectare^
circuit,
precurn
;i
un
{anicn
tle stare ce
pcate
ii
utilizat
ca
semnal
r1e.
intrerupere pentru'
p,"P. Exist5
rrariante intJgra.re
gi
pentrn.
tr:ansfen:l
bidirecfional
(transcei'..er']
crr
o structuri"
sim"ilari
cu
cer
din
{i.qrt'ri
1.'8.
l).
I;:oarte
f:-ec-,-elt
iu,:rclirltca
cie
i;llerfat
pal:rleli
se reg5segte
in-
tiocii;-"qI
il1-l'-i,lri
circi.rii
iltegrat
rnuliifri:iclional.
Circuitui
"rnul'tifunc-
ll.c:+lp-icz:ntat
in
fi3.i,rra
f.4 ccniine: i-Zh+g
haiti
i{OM,
pRCM
sau
l:-Fli3l,i
;
2-Co.:;i
po;i-.iri I'iO
de
ii
biti
fiecare,
3-
un
regisir-r-r
de stare.
Ac]"rrsaiea
ii:r:,:iclici,
p"
celcr
ticr-,i;
lorturi I/o ::i
a.
registrrrl".ri
de stare
se
{acc
cL'"
il
ii;lii
cie
:r-rile:are.
Pentiu
r-r
c:-pacita?e
"rni"rrr*r"-Je
adresare
se
coirecteazir
il;.n13ie1
rnai
iri'illie
astfc-i cl,:
circ.rire,
clar
fiecEi-uia
s5
i
sc
gerreieze
c1e ia
r-rii
ilecodificatoi
sr-::r:i:ali:l
cclesputjzyatsr
de
selec-
tare
cs.
Si:mirrlul
cle
camanda
rtEsllf
initializeaz5
registrul
de
stare.
c
aiti,
silLici:-irl
de circr:it
multifunctio'ai
este prezentatl
in
fi-
grii:i.r
6.5.
Acest circuit
co;rfine:
i-755
baili
I?-lli,{;
Z-trei
porturi
I1i);
3-r'egist.r
de
stare;
4-u'
numI.r5to;: progran:abil
(timei).
Re-
zult5" ci
numai crr tlc'i
circuiie,
un m.ic:roproce-soi;i
aceste'cloui.'tipuri
de
circuite
muitifunctionaie,
se
poate
realiza
un
inicro:.istem
dcstul
d.e
pr.iternic.
\umlrlior*J
piogiarnabil
{[
-1.j)
realiEcazi,
printr-o
imple-
-s
',,
./OP
I
i,ralw I
-
r.,Ft'i
t I
Ftg.
0"1.
Structuri.
de
circr:it
nrulti{nncfional,
memorie
-de
,
FEi I
,,RAFE
Frograme
gi
por-turi
tr/O
LA
; Rl,L
._t
IESIRE/
INTRARE
LA
PORTTIL
O1
I
ESIRE/
INTRAR
E
DE IA
PORTUI-
C2
iEsrRF/
tNIRARf
DELAPORruLc3
Fig. 6.5. Structurb
de circuit
multifuncfional,
memorie
ds
-
date,
timer
;i
porturi
I/e
mentare
in
hard, ternpoiizS.rile necesare sistemului
in locul
tempori-
zh"ritror
implementate
prin
soft
($ 5.4.2 instrucfiunea 31).
Prin
program
numirritor:ui se
iricarcl
cu
un
cuvint
dutlu de
16
bi i,
clin
care primii
doi bili
mai
semnificativi Bl4, Bl5
sint folosili
pentru
prescrierea
mo-
il,ului
de
lucru.
Cu
restul
de
i
4
biii
se
inscrie
numlrul
N
de ia care
incepe
nurrdralea inrrersi
(N^o,,:
Zra
:
16.384).
Impulsurile de
numS.rat si'nt
aplicate
din
exterior
pe intrarea
TACT
PENTRU
TII,[ER,
iar
Ia
{ESIRE
TIBIER va aplrea un
semnal
cu
o
varialie
in
funclie
de
nu-
mirul
incS"rcat in
numirS"tor
si
modul
de lucru prescris.
CeIe
patru
irodtrli
de
lucru ar
putea fi:
1-contor
de evenimente,
"B15
Bl4: O0'
Z-generator
de semnal dreptrrnghiular,
0i; 3-monosiabil deciangat
prin
program, 10;
4-generator
de
impulsuri,
i1.
Acestea
sint
exernpli-
ticate in
figi:ra
6.6.
in
inodul
de
iscru 00,
numiritoiul
va
produce
senrlalul
de
iesire
zeio
ircepind din
rnoneirtul
prescrlerii
pinl
in
rrroinerrtui
cind
numirul
de e-,-eni:ncnte
(i:npu.lsuri
de
irtrare)
devj.ne
cgal
cu.
:-\.
Ca
generator
de
seinna.i
dreptr:nghi-.iiar,
pentiu
/i
pai seinnalu.i
de
ie;ire \ra
avea
succe-
,lFl;.:
impulsuri valoaiea zeio
;i
apoi
tirnp
de
{
impulsuri
\-:rlcrirrea
f
.
iar::
pettru
-V
irnpal
ace;te intei'r'ale
co::espund respec-
\- r i'-r
:i',
rrr-ttit:,'elo:'
''
-
li
'-_
-.
Pr'oliam:trea iir
rnqCul
de
lucru 10
)2-
\ia
prodrxce p,.:ntr-u
senna-iul
de
iesire, inccpind
din
rnonientul prescrie-
rii, r'aloarea
i
tirnp cle Ii
-
I
impuls'.rri, iar pentru
al
.l'r'-lea
impuls
.,-aloarea
zero. i\ceasti
funclionare
existri;i in
modrii
de
lucru
i1,
dar
-a,rE+;
+;
rrv.
Semnaiul
IESIiiR TLr\',iEIt
care
reflectS" o
anumit6. temporizare
sau
conto::izaie e-cte
fclosit
ca semnal
de
intler'rtpc.re
pentru
mic.opro-
ccscr.
I]e exemplu,
utilizind frecvenla
iefelei
de
50 Hz
sau
60
Hz, ca
semnal
de
tact
si
incllcind
nr:m5,r)1torui, respectir,'
cu vaiorile
l/:32lro::50iil, .\-:
30
lre
:
6C]ro,
in
tnoclui
de
lucrtt 11.
se
genereaz[
semnale
cie
intrerupere
peiltru
rnicroprocesor,
deci
se
poate
realiza
un ceas in
,-{
r.
r1tle?r.
.
iliilp
:?
-
L
lN
ACESI
lylOMEM
815
B1/,
ftljENffiWSL
'------t--
00
U
m
CONIINIJTUL
I']IJI'4ARATORULUI
A AJUNS LA
ZERO
timp
reai
cu
iezolutia
de
1 sec.
r-in
prograrn pentru
un
ceas cu
rezolutia
de
0,01
sec este
pre-
zentat
in
exemplul
41.3.
6.2.2. Circuite de interfati
cu transfer serie
DatoritS. capacitS,filor
li-
niilor
magistralei,
transferul
paralel
nu
este
indicat
la
dis-
F
E
o
I
l
&
;
10
11
FiC.
6.6.
\rariatia
semnalului
IE
SIRE
TIMER p:ntru
ceie patru
moduri
de
lucru
posibiie
280
fEEorsrRU
1
uE
STABIJ
28l
-
7/17/2019 Introducere in Microprocesoare_Part24
4/6
t_anle
rnai
mari
de
2
m. Cu amplificatoare
de
magistralS""
Fi
la
viteze
de transfer
nu
prea
ridicate
se
poate
ajunge pini
la
maxim
l0-20 m.
Problema
distanlei
de
comunicalie,
restrictivi
la
interfetele
para-
lele,
poate fi
eliminatS" prin
transferul
serie.
Prescripliile pentru
c-omu-
nicaliile
seriale
slnt expuse
in
$
i.1, iar
cuvintul
asamblat
pentru
aceasta
in
figura
1
.5.
Cind
se
transmit
serial caracterele
in
cod
ASCII, iabelul
1.7,
bitul b7 poate
fi
utilizat
cu
bit
de
paritate
pentru
detectarea
erorilor
de
paritate
par5.
sau
impari
introduse
pe linia
de
transfer.
Funclionarea
unei
interfete
seriale
se
reduce,
in fond, la
modurile
de
realizare cu
re-
g_istre
de
deplasare
a convertoarelor
paralel
serie
si
serie
paralel,
S
3.2.
Conversia
paralel
serie
se realizeazd.
prin
incircarea
unui iuvint
intr-un
registru;i
apoi
deplasarea acestuia
cu cite
un rang la
fiecare
impuls
de
tact;
primul
bit
oblinut
la
iegire
este cel
mai
pulin semnificativ,
iar
ultimul fiind
bitul cel
mai
semnificativ.
Aceea;i-operatie
de serializare
se poate face
si
prin
soft,
ca in
exempiuide lainstructiunea
49.
La
con-
versia
serie
paralel registrul
este
incS.rcat
serie,
pe fiecare
impuls
de
tact, cu cite
un
bit
ai
cuvintului,
iar
apoi
dupi al optulea
tact eite
scos
paraiel.
Si
aceasti conversie
poate
fi
realizat| prin
soft;
unele
micro-
pro.cesoare
sint
prevlzute
in
acest sens
cu o
borni
pentru
intrare/iesire
serre.
.
Bazatd
pe conversia
serie
paralel
si
paralel serie,
realizat[
de
un
registru
de deplasare, se poate concepe
-un
circuit,
independent,
de
interfall serialS" cu structura reprezentatl
in
figura
6.1,
a.
Acest
cir-
cuit
este intilnit, cel
mai
frecvent,
sub abreviatia
UART. in
structura
circuitului
UART
se
disting:
blocul
de
transmisie,
blocul
de
recepfie,
blocul de
control
gi registrul de
stare.
Blocul
de transmisie conline
un
registru
buffer
de
intrare
pentru
inci"rcarea
paralelS" a cuvintului
de date gi
un
registru
(de
deplasare)
pentru trantmisia
serie
a
datelor.
lncS.rcaiea
cuvintului
in
bufferul
de
intrare
se
{ace pe frontul
clzi.tor
al
impulsului (de
strobare,
de selec-
tare) INTRARE DATE,
figura
6.1, b. Frontul crescdtor
al acestui
impuls
iniliazi
in
registrul
de transmisie
deplasarea
cuvintului, cu
adiugarea
bitului
de
start,
a
celui
(a celor)
de
stop si
ie;irea
serial5".
Blocrr-l
de
receplie
are
in componenla
sa
un registru (de
deplasare)
pentru
recepfia
seriall a
datelor
si un
registru
buffer
pentru
ie;irea
paraleli a
datelor.
Functionarea
receptorului poate fi
privitl
ca
o ima-
gine
in oglind[
a
funclion6rii
emilltorului.
Cuvintul
serie
intri
in re-
gistrul
de
receplie,
pe
durata
a
10
sau
1
1 deplasiri,
dupi
ce
s-a
detectat
bitul de
start.
Odat5. deplasarea
termiiatS" cuvintul este
incircat
paralel
in
bufferul de
iegire prin
comanda
dat5" de
semnalul
de
strob
IESIRE
DATE.
Atit
circuitul
UART
de emisie,
cit
;i
cel
de
receplie
trebuie
sl
aib5.
un
generator
de
tact (Generator
Baud). Aceste
generatoare
de
tact
trebuie
sl
aib[
o
frecvenfS"
de
16
sau
64
de
ori mai mare decit frecvenla
282
-'rRlB
]l ,:FiaE
Dlr:
-t
f-----
L\
'._7,L
A:,k,
.,':
--;:.a
ui
u
.-;;::
;p:.
".l
)E+E
0 0
5i
"RAPLj
I]EIE
:R /nt
Ll
ER:j/1I?L'
DF
PAR 1 JAT
E
ELI.I.iR
DE
]NTRI.FT
GC.
l,-A
k :EpIl
c
c)
Fig.
6.7.
InterfafS.
serialS:
a
-
structuri.
de principiu
pentru
un circuit
UART;
b
-
comenzile
tealiz,ate
prin
impulsul
de strob
INTRARE
DArE;
,
;#,:tti?:".rj:
u.u*otore
a
bililor
in
baud-
(Baud.rate)
pentru
transmisia
(sau
recepfia)
cuvintului;
frecven-
fele
in
bauzi
Ia
emisie
si
receplie
trebuie
si.
fie
egale.
Registrul
,de
stare
_prezint5.
.9
legire
la
bufferul
de iegire
date
gi
alta
formatS"
din semnale
la. pinii circuitului.
starea
circuitului
poaie
fi cititS.
prin
incS.rcarea
confinutulu.i
registrului
de
stare
in
bufferul
de
iegire
prin.aplicare-a
impulsului de strob
CITIRE
STARE.
Bilii
de
stare trebuie
s5,
reflecte,
minim,
urml-toarele
cinci
situatii:
^Su
prapunelc.
Valoarea
I
a
acestui
bit
cle
stare
indici faptul
ci.
cuvintul
serie
recepfionat
.in
registmi
receplie
d.ate s-a suprapu^s
peste
cuvintul
receptionat
anterior
si
care
nu a
fost
transferat
inci^in
buffe-
rul
de
iesire.
Evoare
de cadrw.
valoarea i
pe'tru
acest
bit
de
stare
indicd. faptul
c5.
circuitul
UART
nu
a
g5.sit
in c-adrul
cuvintului
serie
receptionat
bitul
de
start._Aceasta
po_ate*apirea
cind
intervalul
(cadrut)
di'execulie
a
recepfiei
la circuitul
UART
nu
se
suprapune
exact
peste'formatul
cur,rin-
tului
receptionat,
deci
nu se regS.se^ste
^bitul
de
stirt (sau cel
de
stop,
ca in
figura
6.8,
a).
Zgomotele
de pe
linie
sint
cele
mai
frecvente
cauze
pentru
eroarea
de
cadru.
zo,t
-
7/17/2019 Introducere in Microprocesoare_Part24
5/6
Eroare
de
paritate.
Cind
acest
bit de stare
are
vaLoarea 1
inseamna
ci
in
cuvintul
receplionat
nu
s-a indeplinit
paritatea pari sau
imphi,
impusl-in
formatul
de cuvint
serie.
Prin
aceastd"
eroi"re
de pariiate
se pot
detecta
in
cuvintul
receptionat
numai
o
modificare a
unui
numer
impar
de
bi i.
-
Brffer
d.e intrare
gol.
Cind,
in
bufferul
de
intrare
date
se
poate
intro-
duce urmS.torul
cuvint
ce
poate
fi
transmis
serie,
bitul
acest-a
din
regis-
trul
de
stare
este pus la
valoarea
1.
Desff,;urarea in
timp a'proceselon
in
UART
este
complet
independentS.
de desfi;urarea in timp
a celor
din
microproc,esor.
Odati incS.rcat
un
cuvint
de
citre
microprocesor, in
bu{ferul
de
intrare,
acesta
nu
are
nici
o
posibilitate
de
a sesiza cinctr
trebuie incS,rcat
cuvintul
urm5.tor. Pentru
a
informa
microprocesoruL
s-a
introdus
acest
bit de stare. lncS.rcarea
se face prin
impulsrit
de
strob
INTRARE
DATE.
Datd
ualidd.
Acest bit are valoarea
1 cind
in
registrul
de
recepfie
date
exist[
un
cuvint ce
poate
fi
citit; transferul
in
bufferul
de
ie]ire
se face cu
impulsul
de
itrob iESIRE
DATE.
Asamblarea
bi{ilor
de
stare in cuvint'"rl
de
stare al
circr-ritului
UART
este
reprezentat[
in
figura
6.7,
c.
Acest
cur
int
poate
fi
citirr
din
bufferul de
iegire
cu
instrucliunea
IN
apoi
prin initrucliuni
de
mascare
gi
comparare
corespl.lnzltoare
se poate
determitra valoarea
oricdrui
bit
de
stare.
Blocul
de
control
logic permite
pentru
circuitul
UART progra-
marea
anumitor funcfii
cum
ar
fi:
1-lungimea
cuvintului
de
date
(5,6,-l
sau
8 bi i);2-unul
sau doi bili
de
stop; 3-paritate
par5.
sa'.r
lmpara-
(dar aceasta
numai
cind
este activat semnaiul
PARITATtr)"
Uneori este posibili
si programarea frecvenlei
baud.
Structura prezentatS"
poate functiona
ca
un
circuit
independent.
sau conectat
la un microprocesor.
Ca
circuit independent
structura
pre-
zentatl.
necesitS" trei adrese
de
selectare
pentru
generarea
impulsurilor
de
strob
INTRARE
DATE,
IESIRE DATE,
CITIRE
STARE
si
even-
tual
a
patra pentru blocul
de
control.
Cind
este conectat
la
un
micro-
procesor
aceasta se realizeazS"
printr-un
port paralel
intrare/ie;ire.
Cele
mai multe circuite
UART
existente
sint
implementate
sub
forma
unor
LSI-uri
care
sint
elemente
suport
din
familia
unui
microprocesor.
Aceste
circuite
suport
se vor conecta
direct in
sistemul
respectiv
prin cele
trei
magistrale
filrd"
a
necesita
o
interfa 5. ca
circuitele UART
independente.
Funcfionarea
circuitului
UART
este
asincroni
in raport
cu
cea a
microprocesorului.
Se presupune,
de exemplu,
c5.
printr-un
UART se
-
comunicS"
cu
un terminal
CRT.
De
fiecare
dati
cind
bste
ap6satl
o
tasti
a
terminalului
circuitul
UART receplioneazi codul
unui
caracter.
Dar
numai trjlii
caracterului
sint tra.nsmisi
cu
frecvenla
baud,
frecventa
cu.
care
sint
transmise caracterele
depinde
de
ritrnul
de
aplsare a
tastelor,
figura
6.8,
a.
ilIicroprocesorul
va'funcfiona intr-o
luiin ae agteptare
pini
cind'bitu1
Dat5"
valid[
din
registru
de
stare (bitu1
1)
este.inicris,
284
,:Leci
caracterui
va
fi transmis
cu
instrucliunea
IN 01
in
acumulator
i01
este
ad.resa de
selectare
a
bufferului
c1e
iegire),
figura
6.8,
b.
Dacl
s-a
programat
o
frecvenlb" c1e
transmisie
dc
3OO bauzi, qu
un
format
ae
rh
nlli
r-ezulti
un transfer
maxim
de
30
caractere/sec..Crr
programul
din
figura
6.8,
c,
care coirsumi
13 ps,
ia
o
durati
a stirii'Tu1ot":
I
lt?,
microirrocesoi-ul
cicieazd
d.e
2554
intre
doul.calactele
recepfionate
de
la
terininal.
Ilar
Ia o
cadenla de
tastare
mai
mic5"
decit
30
catacterel
sec
timpul
irosit de
microprocesor
in
bucl,a
de
a;teptare
se. rn5.re9te.
Peirtru a
eiimina
pierderei acestui
timp
din.
funclionarea
microproce-
..orului
bitul
Dat5.'va1ic15.
este
ccnecta.t-la
micloprocesor
ca semnal
de
intrc'rupere.
cir-c.uitele
UART,
prin
blocr,rl
de
comandl,
genereazl
si
scmnalele
uentru
transrnisia
9i
receplia datelor
cu
protocol
prin intermediul
mode-
rnurilor.
Legitura'ia
dijtalll
intre dou5.
sisteme
prezintl:.un
circuit
LIARf',
trro]"*
(emi'1ltol
in ultla
inaltl
flec-rlergQ
la emisie;
ca'blu
electric sau
optii; (receptor)
modem,
circuit
UART
la
recepfie.
6.3.
Metode
de control
ale oPeraliilor
de
intrare/iegire
OdatS
structuratS.
in
hardware
conectalea
perifericelor
la
sistem
se
trece
la
etapa
urmetoale
de
elaborare a
softului
care
controleazS'
"transferul
informaliei
intre
perifelice
,si
sistem'
Acest
soft
se
reduce
la
un sistern
de
subrutine de
I/o
(handler
device,
driver
software).
Existl,
pentru controlul
operaliilor
cle
intrare/iegire,
urmS.toarele
trei
o)
arlT;.:: it.l
c0H
Aii
c02H
:,r
criiAs
li
.1 J
iJET
Fig.
6.8.
FxplicativS,
psntru
transmisiaserialS,:
a
-
suc-
cesiunea
aleatorie
a
cuvinte-
lor
serializate,
nesuprapu-
nered,
de
cadru
duce
la
Pielderea
bitului
de
start;
D, o
-
subrutinb
Pentru
de-
tectarea
;i
inclrcarea
unei
date
valide
c)
CI]IS"E
RECISTRU
DE
STARE
iADRESA
COI"]
)
285
-
7/17/2019 Introducere in Microprocesoare_Part24
6/6
metode
:
|
-.transfer_ur,
inrraref
iegir.e pro-gramat,.
2
-
transferur
inrrarel
egire
prin
interm.ediut
t"tirii'jir;t*'j
-i
l"ii_"r**t,
prin
acces
direct
la
mentorie
(DMA).
-
-"'1"''"
Deoarece
procesele
comandate_d".
ol
sistem
pe
bazd"
de
micropro-
cesor
sint foarte
variate,
rezurtd
ci
;i
tipurile
de'feriferice
sint
foarte
numeroase.
Fiecare
periferic
necesitS.
anumite
operatrii specifice,
de
exemplu:
discului
trebuie
si
i
se
tr1"rl:I"
r,rrmerui
pisiei,
l"rra"
*"g_
netici
sd.
fie
derulati,
convertorurd
ArD.a
i
r"
pr"scrie
numi.rul
de
canal,
la
imprimanti
trebuie
sL se
verifice
daci.
are
hirtie,
pornirea
moto_
rului
trebuie
si
se
faci.
doar
daci
protecfia
este
conectatd.
etc.
Este
necesar
ca
o
subrutinS"
s5
tealizeze
o
funcfionare
cit
mai
automatS.
a
perifericurui
eliberind
programur
principal
de
aceste
sarcini.
cu
toatl
marea
varietate
de
sarcini
ce
trebuie
si
ie
realizeze
subrutinele
de
cleser-
vire
a
perifericeror,
totusi
func,tiile
in
cadrul
unei
subrutine
se
pot
re_
duce
la
urmi,toarele
patru:
1.
Inifializarea
perifericului.
2.
Inilierea
transferului
de
date.
3.
Transfer-ul
de
date.
4.
Terminarea
transfcrului
de
date.
Iniliarizarea
perifericului,
de
reguli,
se
face
o
singuri.
datd.
cind
sistemur
este
conectat
la
tensiune;
interfafa,
controrerui
gi
dispozitivul
periferic
pot
fi
complet
inifializate
de cb.tre
semnarur
RESET.
unere
opfiuni,
ca
de
exemplu:
clirectia
de transf".
pti;
;;;urile
Ii
o,
coduri,,
cadenli
de
transfer,
formatul
de
cuvint,
paritate,
moduri
de
rucru
are
.
registrelor
etc.
trebuie
inifiarizate
de
citri
*i.rop.o...or
imediat
dupd
conectarea
tensiunii.
6.3.1.
Transferul intnare/iegire
programat
in
metoda
de.intrare./iesire
programatS,
toate
transferurile
de
date
citre,
si
de
la,
dispozitivele
periferic"
,"
"i".to"rr.dic5"
toate operaliiie
de
intrari/iesire
sint
.rn
.or,t.lr,iirxd;:ffirt
1iiyin"r.
Ietoda
arb
doui
variante:
varianta
directi.
si
,varianta
cu
dialog
{saq
interogare
sau
scrutare).
Iri
iariant{t
di,rlectd
microprocesorul
citeste
porturile
de
intrare
;i
inscrie
in
porturile
de
ie;ire
frri
a
face
nici
o
verificare
prearabilI-
cum
este
in
exemprur
urmitor,
in
care
se
citeste
portul
de
adresS.
2
000H
gi
se
insciie
(complementat)
in
portul
:OOOH':--"*^'
286
LIMBAJ
MASINA
LIMBAJ
DE
ASAN{BLARtr
ADRESA
CONTINUT
09J0
3A
0901
00
o90z
20
0903
2F
C}IA
STA
3OOOH
904
0905
0906
09a7
.trriP
START
-
Se
poate
introduce
in
operalia
-de
explorare
a
perifericeior
si
salt
n
program'l
de execulie
i' funcfie
de
coniinuturile
porturilor.
In
uarianta
dc
'interogaze
(polling
technique)
se
utilizeaz5"
bista-
bile
de
condifie,
figura
6.i,
q.
Sfarea
icestor'fini6ane
indicn
micropro-
'cesorului
dac[
perifericul
are
nevoie
de o operatie
intrare/ie;ire.
Fani-
oanele
sint
interogate
in mod continuu.
structura
logici.
4
'nui
pro-
gram
de
interogare
este
redat5.
in
figura
6.9,
b.
programul
verific5"
ciclic
valoarea
fanioanelor.
Daci
unul
d.in aceste
fanioane
este pus
pe
1
se
erecui5.
subrutina
de
servire
co.respunzaitoare
perifericului
care
a prls
fanionul
pe
unu. Programul
procesorului
este incontinuu
o
bucli
cle
interogare
(polling
ioop)
sau numai
din
cind
in
cind.
intrl
in
aceastd.
bucl5".
Prioritatea
acordatS.
in
bucli,
in servirea
perifericelor
se
sta-
bileste prin
ordinea
in
care
se
interogheazi;
unele
periferice caie
ne-
cesiti
mai mult5. atentie
din partea
procesorului
pot fi
introduse
de
mai
multe
ori
in
ordinea
de
interogare.
Fanioanele
perifericelor
(Fl
-FB)
pot {i
asamblate
intr-un
registrrl
'care va fi
consid.erat
in
sistem .r
,r.r port
de
intrare,
figura
6.10,
q.
Interogarea
perifericelor
se
reducc
la citirea
acestui port
de
intrate.
Dupi
fiecare citire
a
portului
de intrare
se
determind
prin
program
care
fanion
a
fost
pus
pe
1.
ordinea
in
care
p;in
program
se
determinl
valoaiea
fiecirui
fanion
este
;i
ordinea
de
prioriiate
in
sistern.a
peri-
fericelor.
ETICHETA
INSTRUCTIUNE
COMENTARIU
START:
LDA
2OOOH;
;CITESTE
;PORTUL
DE
;INTRARE.
;COMPLEMEN-
:TE.AZA
;INFORI{ATIA
;INSCRIE
IN
;PORTUL
DE
;IESIRE.
;SI]
REIA
;PROGRAMUL.
32
00
30
C3
00
09
0908
090s
287