Mp - Cap3 2013
Embed Size (px)
description
Transcript of Mp - Cap3 2013

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 1
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Structura
de baza
a unui
sistem
microcalculator
Structura
de baza
a unui
sistem
microcalculator
MemorieMemorareprogram
Memoraredate
Interfete
periferice
externe
Iesire Intrare
De la / la periferice
MICROPROCESOR
(CPU)
controlmagistrala
date/adresemagistrala
date

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 2
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Reprezentarea
functiilor
unui
microprocesor, corelat
cu memoria
si
perifericele
sistemului
Reprezentarea
functiilor
unui
microprocesor, corelat
cu memoria
si
perifericele
sistemului
Programul,in memorie
Date de la memorie,
sau
periferice
ReceptioneazaTransmiteMemoreazaAnalizeaza
Informatie
Efectueaza
operatii logicearitmetice
Ia
decizii
Controleaza
Registrele
interneMemoriaComponentele
/ sistemeleexterne
(b)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 3
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Structura
functionala
si
fluxul
de informatii
intr-
un sistem
microprocesor
Structura
functionala
si
fluxul
de informatii
intr-
un sistem
microprocesor
Intrare
Microprocesor
Control
U.A.L.
Memorie Iesire
controlinformatie

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 4
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Inlantuirea
temporala
a operatiilor
sistemului microprocesor
Inlantuirea
temporala
a operatiilor
sistemului microprocesor
activare
activare
activare
activare
Memorie
U.A.L.
Iesire
IntrareCitire informatii
Prelucrare Iesire rezultate
T1 T2 T3

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 5
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Reprezentarea informatiei (instructiuni sau date)
Reprezentarea informatiei (instructiuni sau date)
LSB: bitul cel mai putin semnificativ (last significant bit);
MSB: bitul cel mai semnificativ (most significant bit)
cuvint
de instructiune
cuvint
de instructiune
cuvint
de dateDate , numere
, litere
aB7 B0
(MSB) (LSB)
cod operatieindica
operatiade adunare
operandindica
codul
unuiregistru
contininddata ce
se adunab
1 0 0 0 0 010
Cod operatie Operand
0 1 01 0 0 0 0

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 6
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memorarea informatiei Memorarea informatiei Organizarea interna a unui circuit de memorie
de m cuvinte de cate n
biti
scrie
Bit nAdresa
1
Adresa
2
Adresa
i
Adresa
m
citeste/
(R/W)Intraredata Iesiredata
data data dataIntrare Iesire
Bit n-1 Bit 0
dataIntrare
Iesire

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 7
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Magistralele unui sistem microprocesor Magistralele unui sistem microprocesor Structura unui sistem microprocesor cu punerea in evidenta a conexiunilor prin intermediul magistralelor
ADRESE
DATE
CONTROL
(unidirectionala) Magistrala
de adrese
Magistrala
de date
Magistrala
de control
(bidirectionala)
(bidirectionala)
U.C.P. Memorie Intrare Iesire
Arhitectura
von NeumanArhitectura
von Neuman

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 8
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Arhitectura
HarvardArhitectura
Harvard
Structura unui sistem microprocesor cu punerea in evidenta a conexiunilor prin intermediul magistralelor
Magistrala
de adrese
m.program
Magistrala
de date
m.program
Magistrala
de control
U.C.P.Memorie
programMemorie
date / porturi
Magistralele unui sistem microprocesor Magistralele unui sistem microprocesor
Magistrala
de adrese
m.date
Magistrala
de date m.date

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 9
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Magistralele unui sistem microprocesor Magistralele unui sistem microprocesor Utilizarea circuitelor tampon (buffere)
Utilizarea circuitelor latch
Magistrala
de control
Magistrala
de adrese
Magistrala
de date
Circuit tampon(buffer) unidir.
Circuit tampon(buffer) unidir.
Circuit tampon(buffer) bidirectional
Memorie
si
periferice
Unitate
centralade prelucrare
(CPU)
Magistrala
de control
Magistrala
de adrese
Magistrala
de date
Magistrala
de date
Unitate
centralade prelucrare
(CPU)
mag.adreseDecodificator
Circuit
memorare
(latch)
abcdefg
Amplif.
activare
selectie
abcdefg
a
b
c
d
e
fg
afisaj
cu 7segmente

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 10
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Structura interna a unui microprocesor Structura interna a unui microprocesor Contine 5 sectiuni:
control
ALU
memorie
intrare
iesire
circuittampon
M A RPC
RI
Decodificaretiming sicontrol
U A L
RegistreleUAL
circuittampon
circuittampon
registre
de uz
general
R O M
R A M
mag. adrese
mag.date
mag.control

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 11
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sectiunea de control a microprocesorului Sectiunea de control a microprocesorului Semnale specifice magistralei de control:
> RESET (initializare)
> READY (sincronizare)
M A R
Registrul
de instructiuni
Decodificatorul
de instructiune
Generatorul
de control
Ceas
Generator temporizare
T1÷T5
P C
Ceas
sistemµP
Magistrala
de date
Magistralade adrese

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 12
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Ciclul instructiune al microprocesorului Ciclul instructiune al microprocesorului
T1 T2 T3 T4 T5
Subciclu
Subciclul 1 Subciclul n
Ciclul microprocesorului
Exemplu: memorarea unei constante (continuta in octetul al doilea al instructiunii)
ContinutulPC pemagist
rala
de da
te
PC = PC+1
Se
ex
trag
e
primul
cuva
nt
de in
stru
ctiu
ne
din me
morie
Op
er
a
t
iiinterne
(
d
ec
o
di
f
i
care,etc.
)
Se
ci
test
e
al
doilea
c
uv
ant
a
l
instru
ctiunii
(data) si s
e memoreazatempora
r
intr-
un re
gi
stru
Se configure
a
z
a
a
d
resa
celul
e
i
de me
morie
l
a care se memoreaza
data
Se tran
sfer
a
data in memorie
ContinutulPC pemagist
rala
de da
te
PC = PC+1
FETCH (extragere)
Subciclul 1 Subciclul 2
Urmatoareainstructiune

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 13
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Te
st READY
Logica
de READY
/ WAITLogica
de READY
/ WAIT
T1
Microprocesor Memorie
M
a
gi
s
t
rala
Ad
rese
Magi
stral
a
Date
READY
T2 Tw Tw T3Tw
Cl
k
READY

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 14
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Diagramele
de timp
asociate
operatiilor
de lucru
cu memoria
Diagramele
de timp
asociate
operatiilor
de lucru
cu memoria
_________________CITIRE_____________________ ________________SCRIERE____________________
Nr*Tp
> Tad+Tacc+Tds+Tab+Tdb; Nw*Tp
> Tas+Tw+Tdh+Tab+Tdb
+Tad;
semnalul
deCEAS de SISTEM
adresa
peMAGISTRALA de ADRESE
activare
semnalCITIRE (READ)datele
peMAGISTRALA de DATE
tp
tad
tacc
tds (a)1 ciclu
masina
adrese
valide
activarecitire
date valide
semnalul
deCEAS de SISTEM
MAGISTRALA de ADRESE
semnal
CITIRE (READ)
MAGISTRALA de DATE(b)
timp
accescitire
semnalul
deCEAS de SISTEM
adresa
peMAGISTRALA de ADRESE
datele
peMAGISTRALA de DATE
tp
tad
(a)1 ciclu
masina
adrese
valide
date valide
semnalul
deCEAS de SISTEM
MAGISTRALA de ADRESE
semnal
SCRIERE(WRITE)
MAGISTRALA de DATE
(b)
t dstas tw
tdhsemnalul
deSCRIERE (WRITE)
timp
selectieadrese
timp
accesdate
timp
retineredate
durata
pulsscriere

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 15
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sectiunea
de memorie
a microprocesoruluiSectiunea
de memorie
a microprocesorului
Registre de uz general
Memorie ROM
Memorie RAM
Selectie
registre
R0R1
Registre
uz
general
Adresa
0
Adresa
1
ROM
Adresa
n
Adresa
n+1
RAM
Adresa
m
Magistralade date
Magistralade adrese
Magistralade control

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 16
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Goli
re
stiva(RET, POP)
Umplere s
tiva
(CALL,
PUSH)
Operatii
cu stivaOperatii
cu stiva
CALL SUB1
CALL SUB2
SUB1 SUB2
RET
PC1
PC2
RET
Me
morie P
rogramMe
morie P
rogram
Me
morie D
ate
Me
morie P
rogram
PC1PC2
……
Stack Pointer

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 17
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sectiunea
aritmetico-logica
a microprocesoruluiSectiunea
aritmetico-logica
a microprocesorului
Structura generala
(indicatori de conditie:carry, sign, zero, parity)
Exemplu ALU
Registru
de starecarry
Acumulator Registru
de date
A L U
Magistralade date
Rezultat
Stare ALU
UNITATEARITMETICO-LOGICA
(ALU)
Mag. date
Mag. date
intrareCARRYSelectie
FUNCTIE
Intrari
de date
(operatie)
(operand 1)
(operand 2)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 18
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sectiunile
de I/E ale microprocesoruluiSectiunile
de I/E ale microprocesorului
Circuite tri-state pentru conectarea la magistrale
en 2en 1
Bit al magistralei
i i1 2
en n
i n

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 19
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesorMemoria interna a sistemului microprocesorRAM -
Random Access MemoryROM -
Read Only Memory
MEMORIA DE TIP RAM
Selectie celulamemorie
Intraredata
Iesiredata
Data
Selectiecelulamemorie
Data
Data Data
Selectiecelulamemorie
Vcc Vdd
a b
+ V
c
RAM dinamic RAM statica) -
tehnologie bipolarab) MOSc) CMOS
Reimprospatare informatie -
REFRESH

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 20
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAMStructura
unei
celule
de memoriecu capacitate de un bit
Structura
unui
cuvant
de memorie
RAM
DATADE
INTRARE
DATADE
IESIRE
______
"1" pt. CITIRE
CITIRE / SCRIERE
1 pt. CITIRE 0 pt.SCRIERE
"0"pt.SCRIERE
______
bit7bit1bit0
bit7bit1bit0
Intrare Iesire
CITIRE / SCRIERE

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 21
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAM
Configuratia
unui
circuit de memorie
cu o capacitate de 1024 celule
(biti)
992
celulamemoriede un bit
0 1 2 3 31Decodificator pentru adresa coloana
selectie
coloana
993 994 995
96 97 98 99 127
64 65 66 67 95
32 33 34 35 63
0 1 2 3 31
selectie rind
Decodi-ficatorpentru
adresarind
31
3
2
1
0
MAGISTRALA ADRESE MEMORIE
9 8 7 6 5 4 3 2 1 0

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 22
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAM
Multiplexarea liniilor si coloanelor unui circuit de memorie RAM dinamic
LATCH ADRESA RIND
LATCH
ADRESA
COLOANA
SelectieAdresaColoana
SelectieAdresaRind ( RAS )
( CAS )
CONTROLRIND/COLOANA
COLOANARIND
MAGISTRALA ADRESE MEMORIE

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 23
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAM
Utilizarea
tipica
a a semnalelor
de control (citire/scriere, selectie
de cip), la o memorie
RAM
Circuite scriere
Circuite
citire
4
CS WE OPERATIA
CS
WE
3
2
1
CITIRE
SCRIERE
0 0 SCRIERE INTRARE0 1 CITIRE IESIRE1 01 1
} }INACTIV INALTA IMPEDANTA
SENS TRANSFERDATE

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 24
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAMStructura
unui
circuit RAM static de 64 octeti
A5 A4 A3 A2 A1 A0 CS Selectie
0 0 0 0 0 0 0 SEL00 0 0 0 0 1 0 SEL10 0 0 0 1 0 0 SEL2
...
1 1 1 1 1 1 0 SEL63X X X X X X 1 -
62 X 8
biti
Decodificatorintern
de adrese
Bloc decontrol
R/W
CS__
6
Matrice
memorie
Circuit
tampon 8
Magistrala
de adrese Magistrala
de date

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 25
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAMRealizarea
unei
memorii
2k x 8 biti, cu doua
circuite
de 2k x 4 biti
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Bitii superiori de adresa utilizati laobtinerea selectiei de chip (CS)
Bitii inferiori de adresa,conectatidirect la pinii memoriei
Utilizarea
tipica
a bitilor
de adresa
pentru
paginarea
memoriei
sistemului microprocesor
Decodificareadrese
sup.2k x 4
Magistrala
de adrese
CS
R / W
----
---
A0 A10
CS
R / W---2k x 4
16 11
5---
Magistrala
de date
8 4 4
A11 A15 A0 A10
D0 D3 D4 D7
µ P
÷
÷÷
÷÷

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 26
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria RAMMemoria interna a sistemului microprocesor
-
Memoria RAM
(a) Organizarea unei memorii de 64k x 8, pagini de cate 2k x 8 biti
(b) Configurarea adreselor
µP
Magistralade adrese
Magistralade date
Decodificare
A0
÷
A10 CS2k x 8
R/W
A0 ÷ A10 CS2k x 8
R/W
A0 ÷ A10 CS2k x 8
R/W
R/W
0 1 315 32
÷CS0 CS1 CS31
(a)
CS0
Configuratie
adresa
A15 A14 A13 A12 A11 A10 A9 ... A0
CS1CS2
CS31
0 0 0 0 0 x x ... x0 0 0 0 1 x x ... x0 0 0 1 0 x x ... x
1 1 1 1 1 x x ... x
CS
x-adresa
variabila0-0 logic1-1 logic
(b)
A11 A15÷
16 5
11 11 11
.
.
....

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 27
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria ROMMemoria interna a sistemului microprocesor
-
Memoria ROM
Schema de principiu a unui circuit de memorie PROM (nx4 biti)
Bitii de adresa
Iesire de date
Circuit tamponC S__
DECODIFICATOR
+V
1111
1001
1011
1001
n
Memorii ROM (Read Only Memory)PROM (Programable ROM)EPROM (Erasable PROM)EEPROM (Electrically EPROM)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 28
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
Memoria ROMMemoria interna a sistemului microprocesor
-
Memoria ROM
Structura unui circuit de memorare PROM/EPROM
de 1kx8
biti
CS -
Chip Select : Doar daca READ activ
C S
Magistralade adrese Magistrala
de dateMatrice
memorieCircuittampon
10
Decodifi-cator
intern deadrese

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 29
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului microprocesor
-
ExempluMemoria interna a sistemului microprocesor
-
Exemplu
Avand un microprocesor cu 8 linii de date si 16 linii de adresa , sa se proiecteze memoria sistemului asigurand 60 ko ROM cu circuite PROM 4kx8
si 4 ko RAM cu circuite RAM 512x8
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 R/W Select Spatiu adrese
B0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 CSP0 0H0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1H0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2H0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 3H
. . . 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 - 0FFFH
B1 0 0 0 1 X X X X X X X X X X X X 1 CSP1 1000H - 1FFFHB2 0 0 1 0 X X X X X X X X X X X X 1 CSP2 2000H - 2FFFHB3 0 0 1 1 X X X X X X X X X X X X 1 CSP3 3000H - 3FFFH...B14 1 1 1 0 X X X X X X X X X X X X 1 CSP14 E000H - EFFFH
B15 1 1 1 1 0 0 0 X X X X X X X X X 0 CSR0 F000H - F1FFH1 1 1 1 0 0 1 X X X X X X X X X 0 CSR1 F200H - F3FFH1 1 1 1 0 1 0 X X X X X X X X X 0 CSR2 F400H - F5FFH
. . .1 1 1 1 1 1 1 X X X X X X X X X 0 CSR7 FE00H - FFFFH

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 30
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Memoria interna a sistemului
microprocesor
-
Exemplu
Memoria interna a sistemului
microprocesor
-
Exemplu
Decodificare4:16
Magistralade adrese
4K x 8 CSPROM
4K x 8 CSPROM
4K x 8 CSPROM
. . . . . .
164
A15 A12R / W
BO B15
CSP0
CSP1
CSP14
8
8
8
8
12
12
123
Decodificare
3:89
9
9
CSR0
CSR7
8
8512 x 8 CSRAM
512 x 8 CS
RAM
Magistralade date
Pµ
12BO
R / W

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 31
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor-aspecte generaleSoftware-ul sistemului microprocesor-aspecte generale
LSBMSB
cuvint de date
instructiunepe 1 cuvint
instructiune
instructiune
pe 2 cuvinte
pe 3 cuvinte
cod operatie
cod operatie
cod operatie
adresasau data
data sauadresa
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
B4 B3 B2 B1 B0B7 B6 B5
Structura
principiala
a instructiunilor
unui
microprocesor

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 32
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
moduri de adresare
Software-ul sistemului microprocesor -
moduri de adresare
Reg. index selectat
in octetul
de instr.
>
>
Adr. (reg.) inclusa
in cadrul
instr.
Octet 1
Octet 2 Octet 3 Octet 1Low High
Octet 1 Octet 2 Octet 3 Low High
Octet 1 Octet 2 Octet 3 Low High
>
>
Octet 2 Octet 3Octet 1Low High
>
>
Adr. de baza> Adunare
>Adr.efectiva
Data ; nu
este
necesar
acces
la memImediata
Registru
Indexata
Directa
Indirecta
>
>
>
><
Valoare
index
Adr. 0 ÷255
Adr. 0 ÷65536
Prima adresa
>
Adr.efectiva
Data
Data
Data
Data
Data
Data
Octet 2 Octet 3 Octet 1Low High
Relativa
> Adunare
> >
Adr. efectivaP C
Valoareacontorului
deprogram, laurmatoareainstructiune
Observatie
: Octet 1 reprezinta
octetul
deinstructiune
in toate
cazurile
Registre

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 33
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Adresarea imediata
Adresarea directa
Mnemonica Reprezentare
in memorie Executie
instructiune
MOV BX, 3 BXcod operatie
operandinitial: BX = xxxxfinal: BX = 0003
PC
PC+1PC+2
0003BB0300
memorie
programregistre
Mnemonica Reprezentare
in memorie Executie
instructiune
MOV ALFA,AX
AXcod operatie
operand
initial: AX =0523H
final: AX = 0532H
PC
PC+1PC+2
ALFA=07F8
ALFA=XXXX
ALFA = 0532H
0532
0532H
A3F807
0532
memorie
programregistre
memorie
de date

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 34
Sisteme cu microprocesoare Microprocesoare - Concepte generale
A3
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Compararea implementării programelor utilizand adresarea imediata (a), sau directa
(b)
Instructiuni(mnemonici)
Reprezentare
in memorie
MOV AX, 123H
AXPC
PC+1
PC+2
ADD AX, 345HMOV REZ, AX
PC+8
12
3
REZ:100H
+
1
23
...
(a) utilizind
adresarea
imediata
Instructiuni(mnemonici)
Reprezentare
in memorie
MOV AX, OP1
PC
PC+1
PC+2
ADD AX, OP2MOV REZ, AX
PC+8
12
3
REZ:100H
+
1
2 3
...
(b) utilizind
adresarea
directa
0468H
123H
345H
123H468H
468HOP1:80H
OP2:90H
0123H
0345H
0468H
memorie
program
memorie
de date
memorie
de date
memorie
program
AX
AX
123H
345H 468H
468H
B32301054503A30001
B38000059000
0001
registre
registre

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 35
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Adresarea registru
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Mnemonica Reprezentare
in memorie Executie
instructiune
MOV AX,CS AX
initial: AX =XXXX
final: AX = A3C2H
PC
PC+1
CS = A3C2H
CS = A3C2H
memorie
program CS A3C2
A3C2
A3C2
A3F8
registre

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 36
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Implementarea unei bucle de program, ce utilizeaza adresarea indexata
(a) Schema logica a secventei de program; (b) secventa de program
Adresarea indexata
SI = 0AX = 0CX = 10
AX = AX + TAB[SI]
CX = CX - 1
CX = 0
MOV AX, 0MOV SI, AXMOV CX, 10
ADD AX, TAB[SI]ADD SI, 1LOOP BUCLA
...(a) (b)
BUCLA
; initializari
; calcul suma elemente
Mnemonica Reprezentare
in memorie Executie
instructiune
ADD AX, TAB[SI] AXPC
PC+1
memorie
program
SI 00050304
registre
00
01... memorie
de date
TAB=100H
TAB+5 0422
AX = 0123HSI = 0005HTAB[5]=0422H
dupa
executie:AX = 0545HSI = 5TAB[5] = 0422H
inainte
de executie:
100H
100H
5H
105H
422H
123H
545H123H / 545H

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 37
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Adresarea indirecta
Mnemonica Reprezentare
in memorie Executie
instructiune
XCHG BX, [SI] BXPC
PC+1
memorie
program
SI 0100H871C
registre
... memorie
de date
BX = 1234SI = 100Hmem(100H) =6789
dupa
executie:BX =6789SI = 100Hmem(100H) = 1234
inainte
de executie:
100H
5678 1234
1234/6789
6789/1234
100H

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 38
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
moduri de adresareSoftware-ul sistemului microprocesor -
moduri de adresare
Adresarea relativa
8BDB8320007E050F1000EBF68BC3
MOV BX, AX
CMP BX, 20H
JLE ERR
ADD BX, 10H
JMP TST
MOV AX, BX
Coduri instructiuni Memorie program Comentariiadresa
012345678910111213
salt pozitiv cu +5salt negativ cu -10=F6h
TST
ERR
; incarcare BX cu continut AX
; comparare BX cu 20H
; daca BX < 20H, sau BX=20H, salt la ERR
; BX = BX + 10H
; reluare program de la adresa TST
; memorare BX in AX
cod

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 39
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
setul de instructiuniSoftware-ul sistemului microprocesor -
setul de instructiuniClasificarea instructiunilor:
Instructiuni de transfer si actualizare a informatieiGrupul 0 -operatii generale: INR R3Grupul 1 -
operatii de transfer al informatiei: MOV R6,R3
Instructiuni de modificare a informatieiGrupul 2 -
operatiile aritmetico-logice: ADD R4
Instructiuni de controlGrupul 3a -
operatii de control al programului: JUMP, CALL, RETURN (salt cond / necond; indicatori de conditie: Z,C,P,S..)
Grupul 3b -
operatii de control al procesorului: EI, DI
00011100 -
programare in cod masina
INR R3 -
mnemonica
limbaj de asamblare (1:1) -
asamblor
limbaj de nivel inalt -
FORTRAN, PASCAL, C, etc…
(1 : n) -
compilator
codGrupa
0 destinatie operatie
destinatiecod sursaGrupa
1
cod
cod
Grupa
2
Grupa
3
operatie sursa
operatiedetransfer
conditietransfer
(a)
(b)
(c)
(d)
0 0
0 1
1 0
1 1
D D D
D D D
N N N
X X X
Y Y Y
S S S
S S S
C C C

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 40
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
stivaSoftware-ul sistemului microprocesor -
stiva
SP (stack pointer) -
varful stivei;LIFO -
last in, first out -
ultimul intrat, primul iesit)
adresa instructiunememorie program
0A50 CALL SUBA
011A CALL SUBB
0100...
...
...
0200...
RETURNRETURN...
...
1
2
3
4
- salvare continut PC in stiva-executie subrutina SUBA (100H)
- salvare continut PC in stiva- executie subrutina SUBB (200H)
- refacere continut PC din stiva-continuare executie subrutina SUBA
- salvare continut PC in stiva-continuare executie program principal
SPSP
SPSP
SP
inainte de 1 1 2 3 4
0A51 0A51 0A51011B
Stiva(memorie date)
0A51
011B

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 41
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
stivaSoftware-ul sistemului microprocesor -
stiva
Salvarea continutului registrelor si
a
adreselor
de
revenire in stivaprogram principal
PUSH AXPUSH BXPUSH CX
CALL SUB1urmat. instr.PC1 CALL SUB2
urmat. instr.
subrutina 1
...
...
...
...
RETURN
SUB1
PC2
adresa
adresa
subrutina 2
RETURN
SUB2adresa
cresterea continutuluistivei
adresa de inceput a stivei
AXBXCXPC1PC2
Transmiterea parametrilor la apelarea unei subrutine:
a) fiecarei subrutine i se asociaza un set de locatii de memorie
b) se utilizeaza registrele de uz general
c) se utilizeaza stiva pentru memorarea temporara a datelor ce trebuiesc transferate subrutinei:PUSH -
introduce (scrie) in stiva POP -
restaureaza (citeste) din stiva

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 42
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
Execuţia instrucţiunii ADD RSoftware-ul sistemului microprocesor -
Execuţia instrucţiunii ADD R
Registrul contor de program are valoarea 9F52H
Subciclul 1, T1
Se selecteaza celula de memorie program la adresa 9F52H(valoarea curenta a PC)
U A L R I
Registru deinstructiuniunitate decomanda
Registrude adrese
Acc
R TR
Registrutemporar
Registrul R
Magistrala internaMagistrala de date
9 F 52
Magistralade adrese
Memorie program
P C>
1
ceas

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 43
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
Execuţia instrucţiunii ADD RSoftware-ul sistemului microprocesor -
Execuţia instrucţiunii ADD R
Subciclul 1, T2
Codul instructiunii (din celula de memorie selectata) pe magistrala de date; se incrementează PC
U A L
R IRegistru deinstructiuniunitate decomanda
Registrude adrese9 F 52
Acc
R TR
Registrutemporar
Registrul R
Magistralade adrese
+1>
ceas
1000 0010Magistrala de dateMagistrala interna
P C
Memorie program
1 2

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 44
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
Execuţia instrucţiunii ADD RSoftware-ul sistemului microprocesor -
Execuţia instrucţiunii ADD R
Subciclul 1, T3
Codul instructiunii citit pe magistrala de date, in registrul de instructiuni
U A L
R IRegistru deinstructiuniunitate decomanda
Registrude adrese9 F 52
Acc
R TR
Registrutemporar
Registrul R
Magistralade adrese
9 F 53>ceas
Magistrala de dateMagistrala interna
P C
Memorie program
1 2 3

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 45
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor -
Execuţia instrucţiunii ADD RSoftware-ul sistemului microprocesor -
Execuţia instrucţiunii ADD R
Subciclul 1, T4
Se decodifica si executa instructiunea; se aduna continutulregistrului R la acumulator; rezultatul în acumulator
ADD,R : 1000 0010
R IRegistru deinstructiuniunitate decomanda
9 F 52
Registrutemporar
Registrul R
Magistralade adrese
9 F 53>ceas
Magistrala de dateMagistrala interna
P C
Memorie program
1000 00101 2 3
Registru de adrese
cod operatie
4

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 46
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor –
programareaSoftware-ul sistemului microprocesor –
programarea
Limbajul de asamblare: avantaje / dezavantaje
Reguli de baza:
programatorul raspunde de completa gestionare a tuturor resurselor sistemului
in program trebuiesc specificate adresele pentru fiecare variabila, locatie de memorie sau port accesate la un moment dat
trebuiesc anticipate si evitate situatiile de aparitie a operatiilor cu rezultate imposibile (depasiri -
overflow sau underflow)
manipularea datelor la nivel intern se va face in cod binar, ceea ce va implica necesitatea unor conversii de la/la nivelul utilizator
(valori zecimale, hexazecimale, caractere), la
nivelul maşina (binar)
Metodologia elaborarii programelor
Analiza: algoritmOrganizare: scheme logice
Codificare: programareTestare: verificare (revenire si modificare)
Elaborarea documentatiei
Decizie
Operatieiesire
Operatieintrare
calculeoperatii
Start sau Stop
conector

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 47
Sisteme cu microprocesoare Microprocesoare - Concepte generale
User Requirements Specification
Software Requirements Specification
Software Architectural Design
Software Detailed Design
Implementation
Unit Tests Specifications
Module Tests Specifications
Acceptance Tests Specifications

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 48
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorElemente de intrare/iesire ale sistemelor microprocesor
Moduri de interfatare:
(a) sub controlul microprocesorului
(b) prin acces direct la memorie
Moduri de lucru cu elementele de intrare/iesire:
A. Operatii de intrare/iesire efectuate sub controlul programului B. Operatii de intrare/iesire prin intreruperi C. Operatii de intrare/iesire prin acces direct la memorie -
DMA
Port de intrare/iesire
Fluxul de informatie intre microprocesor si o interfata de I/E
A. Operatii de intrare/iesire efectuate sub controlul programului
Memorie
Microprocesor
Interfata
I/E Periferic
Memorie
Microprocesor
Interfata
DMA Periferic
a
b
cuvinte
de datedate de intrare
date de iesire
cuvinte
de controlcuvinte
de comanda
cuvinte
de stare
Echipament
intrare
/ iesireMicroprocesor

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 49
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
(a) Utilizarea
operatiilor
specifice
de I/E, distincte
de cele
cu memoria
Mag.adrese
Decodificare Memorie Interfata
I/E
Periferic
Mag. date
selectiememorie
selectie
port
operatie
cu porturioperatie
cu memoria
Micro-
procesor
Mag.control
Decodificare

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 50
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
(a1) Utilizarea
unei
singure
adrese
de port, si
a patru
semnale
de control I/E
(a2) Utilizarea
a doua
adrese
I/E si
a doua
semnale
de control
adrese
Periferic
Mag. date
selectie
port
scriere
port
Micro-
procesor
Mag.control
Decodificare
Mag.
citire
port
control
selectie
port date
adrese
Periferic
Mag. date
selectie
port
scriere
comanda
port
Micro-
procesor
Mag.control
Decodificare
Mag.
citire
stare port
citire
date portscriere
date port

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 51
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
(b) Nu se folosesc instructiuni separate de I/E: se va adresa portul ca o celula de memorie
Utilizarea operatiilor de I/E, de tipul "memory mapped I/O"
Mag.adrese
Decodificare
Memorie Interfata
I/E
Periferic
Mag. date
selectie
memorie
selectie
port
citire/scriere
Micro-
procesor
Mag.control

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 52
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
Elemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
Operatii I/E controlate prin program:
a -
program simplu
b -
subrutina de I/E
c -
subrutina de I/E pentru mai multe porturi de I/E
(a)
programprincipal
transferposibil
da
transfer date
prin I/E
continuareprogramprincipal
nu
verificare
stare
transferposibil
da
transfer date
prin I/E
nu
verificare
stare
subrutinaI/E
return
programprincipal
(b)
programprincipal
existadatedisp.
nu
da
existadatedisp.
transferposibilechip.1
transferposibilechip.2
ânuetc.
transferdate
(echip.2)
transferdate(echip.1)
nu
da
return
subrutinaI/E
(c)
DAR, pot apare intarzieri considerabile intre disponibilitatea portului si preluarea/transmiterea datelor de la/la acesta. Totodata, programul principal trebuie să apeleze, in puncte stabilite de catre programator, si deci doar cand este disponibil (neavand alte sarcini mai importante), aceste subrutine.

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 53
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
Operarea prin intreruperi
este bazata pe utilizarea unor semnale de control specifice, lansate de la periferice, catre microprocesor, anuntand un eveniment semnificativ la nivelul acestora.Lucrul în intreruperi permite operarea aparent simultana a mai multor programe distincte ale microprocesorului. Aceasta tehnica este aplicata pentru controlul si lucrul cu echipamentele periferice si pentru implementarea sistemelor ce opereaza in timp real
(la intervale predeterminate de timp se efectueaza aceasi succesiune de operatii -
masuratori, calcule, comenzi).
Inhibarea intreruperilor.
vector deintrerupere
recunoasterecerere deintrerupere memorare
adresaintrerupereadresa de
revenire
transferposibil
nu
da
transferdate I/E
refacere staremicroprocesor
salt la adresade revenire
salt fortat laprogramprincipal
verificarestare
subrutinatratare
intrerupere
Recunoasterea sursei de intrerupere:-
mai multi pini de intrerupere ai microprocesorului-
un singur pin de intrerupere:--
recunoastere software (scanarea echipamentelor -
polling)--
recunoastere hardware (vectori de intrerupere)
Rezolvarea prioritatilor:-
nu exista prioritati (intreruperile sunt inhibate)-
prioritati software (ordinea de scanare)-
prioritati hardware (pozitia fizica in lantul de generare a intreruperilor)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 54
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
prioritati software prioritati
hardware
intrare laintrerupere
verificare starebit intrerupereal echipam.I/E 1verificare starebit intrerupereal echipam.I/E 2verificare starebit intrerupereal echipam.I/E 3
iesire la eroare
param. pt.echipam.3
param. pt.echipam.2
param. pt.echipam.1
return
da
da
da
nu
nu
nu
Echipam.I/E3
logica controlintreruperi
Echipam.I/E2
logica controlintreruperi
Echipam.I/E1
logica controlintreruperi
logica controlintreruperi
Microprocesor
Rezolvarea prioritatilor:

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 55
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesor
B. Operatii de intrare/iesire efectuate prin intreruperi
Rezolvarea
intreruperilor
multiple cu prioritati
software mascabile
Subrutinatratareintreruperenivel
1programprincipal
cerere
deintreruperenivel
3 cerere
deintreruperenivel
1cerere
deintreruperenivel
2
Subrutinatratareintreruperenivel
2
Subrutinatratareintreruperenivel
3
return return return

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 56
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
C. Operatii de intrare/iesire efectuate prin acces direct la memorie -
DMA
Elemente de intrare/iesire ale sistemelor microprocesor
C. Operatii de intrare/iesire efectuate prin acces direct la memorie -
DMA
(c1) Oprirea activitatii procesorului (HALT) la sfarsitul instructiunii curente(c2) Oprirea microprocesorului în cadrul instructiunii curente, la terminarea subciclului de instructiune curent(c3) Operatiile microprocesorului si ale DMA sunt multiplexate
(c1) Oprirea activitatii procesorului (HALT) la sfarsitul instructiunii curente
Microprocesor
Circuittampon
Circuittampon
Magistralade adrese
Magistralade date
< Memoriasi
I / E
<
>
<
R / W
transfer posibil
cerere
D M A
halt

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 57
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesor
C. Operatii de intrare/iesire efectuate prin acces direct la memorie -
DMA
Elemente de intrare/iesire ale sistemelor microprocesor
C. Operatii de intrare/iesire efectuate prin acces direct la memorie -
DMA
(c2) Oprirea microprocesorului în cadrul instructiunii curente, la terminarea subciclului de instructiune curent
Microprocesor
Circuittampon
Circuittampon
Magistralade adrese
Magistralade date
<Memoriasi
I / E
<
<
R / W
cerere
D M A
Controlceas
acces
memorie
valid
CT
<
transfer posibilceas
D M A

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 58
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sistem microprocesor -
ExempluSistem microprocesor -
Exemplu
Tema: Sa se proiecteze un sistem microprocesor care sa realizeze liniarizarea iesirii unui element neliniar (un traductor, de exemplu), generand, pe baza achizitionarii marimii analogice de la iesirea traductorului, un semnal analogic corespunzator, liniarizat. Altfel spus, sistemul va trebui sa genereze un semnal analogic la iesire avand o valoare ce depinde
de un semnal analogic de intrare. Dependenta, neliniara, este cunoscuta si memorata in memoria sistemului sub forma unui tabel de valori.
traductor real
corectie
traductor liniarizat
A/D Cautaretabela D/A
sistem microprocesor

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 59
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sistem microprocesor -
ExempluSistem microprocesor -
Exemplu
Microprocesor:- 64 k x 8 memorie
adresabila: 16 biti
adresa, 8 biti
date- 256 x 8 porturi
I/O: 8 biti
adresa, 8 biti
date- semnale
de control: IO/M (1 –
I/O; 0 –
Memorie); RD (0 –
citire); WR (0 –
scriere)
Necesar
de memorie: -
Program (ROM) –
fie 256 x 8 pentru
program, 256 x 8 pentru
tabela
conversie. Total 512 x 8. Adresa
de start: 0- Date (RAM) –
fie 256 x 8. Adresa
de start: 200h
Memorie
disponibila:-
ROM: cipuri
de capacitate 256 x 8- RAM: cipuri
de capacitate
256 x 4
Necesar
porturi
I/O:- Convertor A/D:
- start conversie
–
Output –
1 semnal
–
OUT 0h- terminare
conversie
(EOC) –
intrerupere
–
1 semnal- date conversie
–
input x 8 biti
–
INPUT 0h- Convertor D/A –
output x 8 biti
–
Output 1h

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 60
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sistem microprocesor -
ExempluSistem microprocesor -
Exemplu
Tabela de decodificare si selectie pentru obtinerea semnalelor de selectie de circuit
A15 A14 ... A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RD IO/M Select Adrese
BANC0 0 0 ... 0 0 0 x x x x x x x x 0 0 CSP0 0 - 0FFH
BANC1 0 0 ... 0 0 1 x x x x x x x x 0 0 CSP1 100 - 1FFH
BANC2 0 0 ... 0 1 0 x x x x x x x x X 0 CSRAM 200 - 2FFH
x ... x 0 0 0 0 0 0 0 0 0 1 P0I 0 A/D read
x ... x 0 0 0 0 0 0 0 0 1 1 P0O 0 A/D start
x ... x 0 0 0 0 0 0 0 1 0 1 P1O 1 D/A write

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 61
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Decodifi-care
pentruselectiamemoriei
BANC 0
BANC 1
BANC 2
CS256 x 4 biti
RAM
CS256 x 4 biti
RAM
CS256 x 8 biti
PROM
CS256 x 8 biti
PROM
RD
MICRO-PROCESOR
IO/MRDWRcuart
RESET
INT INTACLK
READY
RDPORT0
PORT1
WR
P0I
P0OQ
RD
T
"1"
intrareanalogica
iesireanalogica
CN/A
LatchTamponP1O
WR
STARTCONV
EOCCA/N
SF.CONV
PORT1
Magistralade date
Magistralade adrese
8
16
8
Bistabil
8
8
MEMREADY
8Ad0Ad7
¸ Ad0Ad7
¸ Ad0Ad7
¸ Ad0Ad7
¸8 8
CSP1
CSP0
(CSRAM)
4D0¸ D3
D4¸ D7 D0¸ D7D0¸ D74 8 8
Ad0 Ad7¸
IOREADY
Decodificarepentruselectia
convertoa-relor
(adresateca porturi)
8 8
Ad8-Ad15

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 62
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sistem microprocesor -
ExempluSistem microprocesor -
Exemplu
Schema
de decodificare si selectie pentru obtinerea semnalelor de selectie de circuit:Se pot utiliza
decodificatoare, sau
direct scheme logice
cu porti
clasice
(combinationale).Exemplu:- Pentru
memorie
-
circuit decodificator
–
utilizare
biti
adresa
A8 –
A15 (vezi
tabela
de decodificare)- A8, A9 –
selectie
pagina
de memorie- A10 –
A15 –
activare
decodificator
(enable)- pe
cipurile
de memorie, bitii
inferiori
de adresa
(A0 –
A7)-
Pentru
I/O –
porti
logice
–
utilizare
biti
de adresa
A1 –
A7 pentru
selectie, A0 pentru
diferentiere
port 0 sau
port 1
EDecod
2 la 4
A9
A15
A14
A13
A12
A11
A10
BANC0
A8
BANC1
BANC2
n.c.
O0
O1
O2
O3AB
RD
CSP0
CSP1
CSRAM
A7
A6
A5
A4
A3
A2IO/MA1
IO/M
WR
PORT0
MEMREADY
A0
PORT1
RDP0I
P0O
P1O
IOREADY

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 63
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Sistem microprocesor –
Exemplu
–
prg. limbaj
asamblare
8086Sistem microprocesor –
Exemplu
–
prg. limbaj
asamblare
8086
PORT0 EQU 0HPORT1 EQU 1H
ORG 0JMP PRINCORG 4JMP INTRER ORG 10H
PRINC: MOV SP, 280HMOV SS, 0HOUT (PORT0), AL ; start conversie A/DEI ; activare intreruperi
BUCLA: HLT ; procesorul în HALTJP BUCLAORG 80H
INTRER: PUSH AX ; salvare registru AX in stivaPUSH SI ; salvare registru SI in stivaIN AL, PORT0 ; citire in A valoare conv. A/DMOV AH, 0 ; AX=AH AL contine conv. A/D MOV SI, AX ; SI=indexul elem. din tabelMOV AL, TABEL[SI] ; AL=valoare corectata din tabelOUT PORT1, AL ; valoare transmisa conv. D/AOUT PORT0, AL ; start o noua conversie A/DPOP SI POP AX RETI ; RET cu activare intreruperi
TABEL: DB 8, 7, 11, 3,... ; in total 256 numere, cu valori intre 0 si 255)...
END
START
Salvare registrein stiva
Citire valoareC A / N
Calculul adreseielementului
corespunzator dintabelul de valori
Citire din tabel avalorii functiei
Output laC N / A
Output,start onoua conversie
Refacere registredin stiva
Activare intreruperi
STOP

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 64
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Interfete
I/E –
caracteristici
generaleInterfete
I/E –
caracteristici
generale
•
Operatii
cu interfete
de Intrare-Iesire–
Adresate
ca porturi
de I/E
–
instructiuni
speciale: IN, OUT•
Separate de memoria
sistemului•
Mai usor
de evidentiat
operarea
cu un element I/E fata
de operarea
cu memoria
–
depanare
mai
usoara•
Nu pot fi
adresate
direct in limbaje
de nivel
inalt
(C/C++), ci
doar
in limbaj
de asamblare
–
Adresate
ca memorie
(memory Mapped I/O) –
instructiuni
de adresare
a memoriei
•
Ocupa
o zona
din spatiul
de adrese
al memoriei
sistemului•
Se pot adresa
direct ca elemente
de memorie
(ca variabile
ale programului), utilizand
orice
mod de adresare
posibil•
Depanararea
trebuie
facuta
atent
(posibilitate
de eroare)•
Variabilele
care sunt
localizate
la adrese
de port de I/E trebuie
declarate
in limbajul
C cu atributul
‘Volatile”, de ex:volatile short P1IO;

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 65
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Operatii
cu interfetele
de I/E Operatii
cu interfetele
de I/E
•
Scriere
catre
porturile
de I/E (OUTPUT)–
Cuvinte
de comanda
–
setare
de parametri
de functionare
a interfetei
(viteza
de lucru, setare
/ resetare
stare unii
parametri, comanda
ON/OFF a unor
elemente
de iesire
digitale, etc.)–
Cuvinte
de date –
trimitere
de date catre
interfata
(de ex.: valori
conversie
D/A, setare
/ resetare
biti
port iesire
digital, etc.)
•
Citire
de la porturile
de I/E (INPUT)–
Cuvinte
de stare
–
citire
informatii
de functionare
a interfetei
(viteza
de lucru, stare unii
parametri, citirea
starii
ON/OFF a unor
elemente
de intrare
digitale, etc.)–
Cuvinte
de date –
citire
de date de la interfata
(de ex.: valori
conversie
A/D, stare biti
port intrare
digital, etc.)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 66
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
de I/E digitalePorturi
de I/E digitale
•
Fiecarui
bit al cuvantului
de date al portului
ii corespunde
un element exterior de tip inchis
/ deschis
(0/1 sau
ON/OFF)–
INPUT
–
citeste
starea
unui
element de tip contact -
cu doua
stari
-
contact / buton
/ tasta–
OUTPUT –
seteaza
starea
unui
element de executie
de tip binar
–
releu, contactor, bec, LED, etc.
Bitn Bitn-1 Bitk Bit1 Bit0Intrare
0
Iesire
1
Iesire
k
Intrare
n-1
Iesire
n
Registru
Port de
Intrare
/ Iesire
(tipic
pt. microcontrolere)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 67
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
de I/E digitalePorturi
de I/E digitaleBitn Bitn-1 Bitk Bit1 Bit0
Iesire
0Iesire
1
Iesire
k
Iesire
n-1
Iesire
n
Bitn Bitn-1 Bitk Bit1 Bit0Iesire
0Iesire
1
Iesire
k
Iesire
n-1
Iesire
n
Registru
Port de iesire
Registru
Port de intrare

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 68
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
de Intrare
digitale
(INPUT)Porturi
de Intrare
digitale
(INPUT)
Bitn Bitn-1 Bitk Bit1 Bit0
Determinarea
starii
unui
echipament
[INPUT]: - se izoleaza
bitul
corespunzator
in cuvantul
de date citit
de la portul
de intrare- pentru
izolare
se utilizeaza
o masca: “1”
pe
pozitia
bitului
selectat, “0”
in rest- se efectueaza
operatia
“SI”
logic (AND) intre
cuvantul
de date citit
si
masca
0 0 1 0 0
0 0 Bitk 0 0Stare echipament
k
Cuvant
de date citit
de la port de INPUT
Masca
pentru
izolarea
bitului
k
Bitul
k izolat
AND
=
Testare: Data_k
= DataIN
& Mask_k;IF (Data_k) { // bitul
k este
= 1 …
}else{ // bitul
k este
= 0 …
}
DataIN
Maskk
Datak

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 69
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
de Iesire
digitale
(OUTPUT)Porturi
de Iesire
digitale
(OUTPUT)
Bitn Bitn-1 Bitk Bit1 Bit0
Setarea
starii
unui
echipament
[OUTPUT]: - se seteaza
bitul
corespunzator
din cuvantul
de date scris
catre
port (bit = 1)- pentru
modificare
se utilizeaza
o masca: “1”
pe
pozitia
bitului
selectat, “0”
in rest-
se efectueaza
operatia
“SAU”
logic (OR) intre
cuvantul
de date anterior scris
la portul
respectiv
(pentru
a nu se modifica
starea
celorlale
echipamente
de pe
port) si
masca
0 0 1 0 0
Setare
echipament
k
Cuvant
de date anterior scris
la port de OUTPUT
Masca
pentru
setarea
bitului
k
Bitul
k setat, ceilalti
nemodificati
OR
Setare
bit k: Mask_k
= 0000100000b; // 1 pe
pozitia
kDataOUT
|= Mask_k;// Output la port DataOUT
DataOUTt-1
Maskk
DataOUTtBitn Bitn-1 1 Bit1 Bit0

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 70
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
de Iesire
digitale
(OUTPUT)Porturi
de Iesire
digitale
(OUTPUT)
Bitn Bitn-1 Bitk Bit1 Bit0
Resetarea
starii
unui
echipament
[OUTPUT]: - se reseteaza
bitul
corespunzator
din cuvantul
de date scris
catre
port (bit = 0)- pentru
modificare
se utilizeaza
o masca: “0”
pe
pozitia
bitului
selectat, “1”
in rest-
se efectueaza
operatia
“SI”
logic (AND) intre
cuvantul
de date anterior scris
la portul
respectiv
(pentru
a nu se modifica
starea
celorlale
echipamente
de pe
port) si
masca
1 1 0 1 1
Setare
echipament
k
Cuvant
de date anterior scris
la port de OUTPUT
Masca
pentru
setarea
bitului
k
Bitul
k setat, ceilalti
nemodificati
AND
Resetare
bit k: Mask_k
= 11111011111b; // 0 pe
pozitia
kDataOUT
&= Mask_k;// Output la port DataOUT
DataOUTt-1
Maskk
DataOUTtBitn Bitn-1 0 Bit1 Bit0

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 71
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare-iesire
digitaleScheme porturi
intrare-iesire
digitaleSchema de baza
port INPUT
Schema de decodificare
Bitii
superiori
de adresa, IOSel
Port k
RDIOREADY
Sel
Port IN k
D0
D1
D2
D3
D4
D5
D6
D7
μp
Magistrala
date
D1
+Buton
0
+Buton
4
+Buton
5
+Buton
6
+Buton
7
+Buton
1
+Buton
2
+Buton
3
Utilizare
in program: citire
stare buton
3 (exemplu)
Daca
butonul
k e apasat, bitul
corespunzator
de date citit
de la portul
de intrare
este
0
Limbaj
de asamblareMOV DX, port_K
; DX=adresa
port kMOV AL, (DX) ; AL=data citita
de ; la port K
AND AL, 00001000b ; izolare
bit 3JZ Buton3; salt daca
buton
apasat
Limbaj
Cint
IN_k;…IN_k
= INPORT(port_K);if((IN_k
& 0x04) == 0){
// cod daca
buton
k apasat}

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 72
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare-iesire
digitaleScheme porturi
intrare-iesire
digitaleSchema de baza
port OUTPUT
Schema de decodificare
Bitii
superiori
de adresa, IOSel
Port k
WRIOREADY
Sel
Port OUT k
D0
D1
D2
D3
D4
D5
D6
D7
μp
Magistrala
date
D1
Utilizare
in program: (Exemplu: aprinde
LED 1, anclansare
Releu
6, restul
OFF)
Daca
bitul
de date scris
la portul
de iesire
este
0 => LED corespunzator
aprins
/ releu
anclansat; daca
se scrie
1 => OFF
Limbaj
de asamblareMOV DX, port_K
; DX=adresa
port kMOV AL, 10111101b; Releu
6, LED 1; ON, restul
OFFMOV (DX), AL ; AL=data scrisa
; la port K
Limbaj
Cint
OUT_k;…OUT_k
= 0xBD; // Releu
6, LED 1 ON// restul
OFFOUTPORT(port_K, OUT_k); // out la port
Registru
(latch)
8 biti
Selectie
+
LED 0
+
LED 1
+
LED 2
+
LED 3
+Releu
4
+Releu
7
+Releu
5
+Releu
6
Di0
Di1
Di2
Di3
Di4
Di5
Di6
Di7 Out7
Out6
Out5
Out4
Out3
Out2
Out0
Out1

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 73
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare-iesire
digitaleScheme porturi
intrare-iesire
digitale
Schema de baza
semnal
INPUT / OUTPUT Schema echivalenta
semnal
INPUT / OUTPUT

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 74
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare-iesire
digitaleScheme porturi
intrare-iesire
digitale
Schema de baza
semnal
OUTPUTSchema de baza
semnal
INPUT

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 75
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare-iesire
digitaleScheme porturi
intrare-iesire
digitale
Schema de semnal
OUTPUT (varianta) Schema de semnal
OUTPUT (varianta)

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 76
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
intrare
optoizolateScheme porturi
intrare
optoizolate
Schema de principiuIntrare
DC
Intrare
AC

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 77
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi
iesire
optoizolateScheme porturi
iesire
optoizolate
Iesire
DC
Iesire
AC

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 78
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Utilizare
porturi
digitale
de I/EUtilizare
porturi
digitale
de I/E
•
Porturi
de intrare
(INPUT)•
Citire
informatie
stare port / interfata•
Citire
contacte:–
Butoane
de comanda–
Limitatoare
de cursa–
Termocuple–
Senzori
inchis/ deschis–
etc.
–
Porturi
de iesire
(OUTPUT)•
Scriere
comanda
catre
port / interfata•
Comanda
elemente
iesire:–
Bec–
Releu–
Motor (ON / OFF)–
Contactor–
etc.

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 79
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Porturi
digitale
de I/E specializatePorturi
digitale
de I/E specializate
•
Porturi
de intrare
(INPUT) specializate•
Tastaturi
(citire
linii)
•
Comutatoare
decadice
•
Timere
-
capturi
•
Porturi
de iesire
(OUTPUT) specializate•
Tastaturi
(selectie)
•
Afisaje
(cu segmente)
•
Timere
-
PWM

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 80
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Tastaturi-
port de iesire
pentru
selectie
linie
de taste –
se selecteza
cate
o linie
la un moment-dat- port de intrare
pentru
citire
stare taste de pe
linia
selectata
Porturi
de I/E digitale
-
tastaturiPorturi
de I/E digitale
-
tastaturi
Buton
neapasat: se citeste
1Buton
apasat: se citeste
0
Ex. Fie port selectie
linii: P1OUT (Output): bit 0 –
Row 1, bit 1 –
Row 2, bit 2 –
Row 3, bit 4 –
Row 4 . Pentru
selectie
linie, bitul
corespunzator
se seteaza
0.Port citire
coloane: Port P2IN, bit 0 -
3
...// testare
daca
e apasata
tasta
F7 (but.3 din linia
2)P1OUT &= 0xFD; // selectie
linia
2: 0 pe
bit P1.1int
pos = P2IN & 0x04; // izolez
bitul
2 (coresp. F7)if(pos){ // pos<>0, F7 nu e apasat
…}
else{ // pos = 0, F7 e apasat
…}
P1.0P1.1P1.2P1.3
P2.0P2.1P2.2P2.3
F7

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 81
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Tastaturi
(3)Apasare
multipla
–
mai
multe
taste simultanDe-bouncing
–
eliminare
efect
citiri
multiple datorate
vibratiilor
contactului
Stabil
‘1’
Apasare
tasta
Oscilatii
0->1Oscilatii
1->0
Eliberare
tasta
Stabil
‘0’
// eliminare
citiri
false la apasarecitire
buton;if(apasat){
asteapta
dt;citire
buton;if(apasat) // actiune
apasareelse // a fost
perturbatie}
// eliminare
citiri
false la eliberarecitire
buton;if(eliberat){
asteapta
dt;citire
buton;if(eliberat) // actiune
eliberareelse // a fost
perturbatie}
Porturi
de I/E digitale
-
tastaturiPorturi
de I/E digitale
-
tastaturi

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 82
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Tastaturi
(4)
De-bouncing
– eliminare
efect
citiri
multiple
Auto-repetare
citire
daca
tasta
ramane
apasata
mai
mult
timp
Porturi
de I/E digitale
-
tastaturiPorturi
de I/E digitale
-
tastaturi

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 83
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Comutatoare
decadice
–
citire
pe
4 biti, cod ‘0000’
–
cifra
0, pana
la ‘1001’
–
cifra
9
Porturi
de I/E digitale
-
tastaturiPorturi
de I/E digitale
-
tastaturi
Grup
de 4 cifre, citite
pe
un port de 16 biti Mai multe
grupuri
de cate
4 cifre. Se selecteza
cate
un grup
(cu un port de iesire), si
se citeste
pe
un port de 16 biti

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 84
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Afisaje
cu segmente Porturi
de I/E digitale
-
afisajePorturi
de I/E digitale
-
afisaje
-
Port de iesire
(OUTPUT) pentru
comanda. -
Cate
un bit pentru
fiecare
LED –
segment.-
Se configureaza
bitii
pentru
aprindere. De exemplu, pentru
aprindere
cifra
2
(sch. catod
comun):
P1OUT = 0 1
0 1 1
0 1 1
bdp
g
f e d
c b a - segment
Schema cu anod
comun
–
aprindere
pe
0
Schema cu catod
comun
–
aprindere
pe
1

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 85
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Afisaje
cu segmente
–
multiplexare
cifre Porturi
de I/E digitale
-
afisajePorturi
de I/E digitale
-
afisaje
-
Pe
portul
‘Digits’
se selecteaza
pe
rand cate
o cifra
(‘1’
pe
bitul
respectiv) -
OUTPUT-
Pe
portul
‘Segments’
se selecteaza
segmentele
de aprins
pe
cifra
selectata
-
OUTPUT

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 86
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Afisaje
cu segmente
–
codificare
cifre Porturi
de I/E digitale
-
afisajePorturi
de I/E digitale
-
afisaje
Pentru
fiecare
caracter
afisabil
trebuie
definita
combinatia
care
aprinde
segmentele
corespunzatoare
Similar, pentru
acele
caractere
si
litere
care se pot afisa
pe
8
segmente

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 87
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Convertoare
A/D –
caracteristici
generaleConvertoare
A/D –
caracteristici
generale
•
Convertoare
A/D:
componente
externe
sau
incluse
pe
cipul
microprocesor
(microcontroler), permitand
masurarea
de marimi
analogice
(uzual
tensiuni
in gama
0-V alimentare).
•
Structura: Circuit integrat
sau
bloc distinct in CPU. Contine
blocuri
specifice
pentru
lansare
conversie, pentru
citirea
starii
conversiei
si
a datelor
convertite. Combinat
uneori
si
cu multiplexor si
circuit esantionare
si
retinere
(Sample & Hold)
•
Cifre
de merit:–
Rezolutia
-
numar
de biti–
Precizia
–
valoarea
analogica
corespunzatoare
unui
bit–
Viteza
de conversie
–
durata
conversiei
•
Utilizare:–
Lansare
conversie
prin
program, sau
automat (alt periferic
–
timer, etc.)–
Testare
stare conversie
prin
polling sau–
Generare
de intrerupere
la terminarea
conversiei–
Conversie
unica
sau
multiple–
Conversie
de pe
un singur
canal, sau
de pe
mai
multe

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 88
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Schema de baza
utilizare
convertor A/D in sistem
microprocesorSchema de baza
utilizare
convertor A/D in sistem
microprocesor
Schema de decodificare
Bitii
superiori
de adresa, IOSel
Port k
RDIOREADY
Sel
Port IN k
D0
D1
D2
D3
D4
D5
D6
D7
μp
Magistrala
date
D1
Utilizare
in program: -
OUTPUT la port k –start conversie-
INPUT de la port k –
citeste
datele
conversie
(bitii
0 –
6), si
stare conversie
–
bit 7: daca
bit 7 = 0, conversia
gata, altfel, nu
Limbaj
de asamblareMOV DX, port_K
; DX=adresa
port kMOV (DX), AL; start conversieLP1: MOV AL, (DX) ; AL=data citita
; de la port KMOV BL, AL ; memorare
data cititaAND AL, 10000000b ; izolare
bit 7JNZ LP1; salt daca
nu e gata
(EOC=1); …
BL contine
data convertita
Limbaj
Cint
IN_k;…DO { IN_k
= INPORT(port_K);}While (IN_k
& 0x80) == 0) // astept
EOC… // IN_k
contine
data conversie
Convertor A/D de7 biti
EOC
Bit6
Bit5
Bit4
Bit3
Bit2
Bit0
Bit1
Start ConversieWR
Intrare
analogica

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 89
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Convertoare
D/A –
caracteristici
generaleConvertoare
D/A –
caracteristici
generale
•
Convertoare
D/A: componente
uzual
incluse
pe
cipul
microprocesor
(microcontroler), permitand
generarea
de marimi
analogice
(uzual
tensiuni
in gama
0-V alimentare).
•
Structura: Bloc distinct in CPU. Contine
registre
specifice
pentru
programare
si
pentru
setarea
datelor
de convertit.
•
Cifre
de merit:–
Rezolutia
-
numar
de biti–
Precizia
–
valoarea
analogica
corespunzatoare
unui
bit–
Viteza
de conversie
–
durata
conversiei
•
Utilizare:–
Inscriere
data de convertit
in registrul
de date lanseaza
conversia–
Nu necesita
asteptare
terminare
conversie

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 90
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Schema de decodificare
Bitii
superiori
de adresa, IOSel
Port k
WRIOREADY
Sel
Port OUT k
D0
D1
D2
D3
D4
D5
D6
D7
μp
Magistrala
date
D1
Registru
(latch)
8 biti
SelectieDi0
Di1
Di2
Di3
Di4
Di5
Di6
Di7 Out7
Out6
Out5
Out4
Out3
Out2
Out0
Out1
Schema de baza
utilizare
convertor D/A in sistem
microprocesorSchema de baza
utilizare
convertor D/A in sistem
microprocesor
Convertor
D/A de
8 biti
Iesire
analogica
Utilizare
in program: -
OUTPUT la port k –
data de convertit
Limbaj
de asamblareMOV DX, port_K
; DX=adresa
port kMOV AL, val_convMOV (DX), AL; val_conv
la D/A…
Limbaj
Cint
OUT_k;…OUT_k
= val_conv; // valoarea
de // convertit
OUTPORT(port_K, OUT_k); // scriere
la // convertor D/A
…

c 2013 Liviu Kreindler / Aurelian Sarca 3 - 91
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Utilizare
convertoare
A/D, D/AUtilizare
convertoare
A/D, D/A
•
Convertoare
A/D•
Citire
senzori–
curent–
tensiune–
temperatura–
pozitie–
viteza
(tahogenerator)–
presiune–
etc.
•
Convertoare
D/A•
Comanda
iesire–
Element executie–
Amplificator–
Aparat
indicator–
etc.