Download - Mp-Cap3
-
c) Liviu Kreindler / Aurelian Sarca 3 - 1
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Structura de baza a unui sistemmicrocalculator
Structura de baza a unui sistemmicrocalculator
MemorieMemorareprogram
Memoraredate
Interfete periferice externe
Iesire Intrare
De la / la periferice
MICROPROCESOR
(CPU)
controlmagistrala date/adresemagistrala date
-
c) 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) 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) 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) 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 aduna
b
1 0 0 0 0 010
Cod operatie Operand
0 1 01 0 0 0 0
-
c) 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 data
Intrare Iesire
Bit n-1 Bit 0
dataIntrare
Iesire
-
c) 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) 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
Magistralade adresem.program
Magistralade date
m.program
Magistrala de control
U.C.P.Memorieprogram
Memoriedate /
porturi
Magistralele unui sistem microprocesor Magistralele unui sistem microprocesor
Magistralade adrese
m.date
Magistralade date m.date
-
c) 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) 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) 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
T1T5
P C
Ceas
sistemP
Magistrala
de date
Magistralade adrese
-
c) 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 pemagistralade date
PC = PC+1
Se extrageprimul cuvantde instructiunedin memorie
Operatiiinterne
(decodificare,etc.)
Se citeste al doilea cuvant al instructiunii(data) si se memoreazatemporar intr-un registru
Se configureazaadresa celuleide memorie la care se memoreazadata
Se transferadata in memorie
ContinutulPC pemagistralade date
PC = PC+1
FETCH (extragere)
Subciclul 1 Subciclul 2
Urmatoareainstructiune
-
c) Liviu Kreindler / Aurelian Sarca 3 - 13
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Test READY
Logica de READY / WAITLogica de READY / WAIT
T1
Microprocesor Memorie
Magistrala Adrese
Magistrala Date
READY
T2 Tw Tw T3Tw
Clk
READY
-
c) Liviu Kreindler / Aurelian Sarca 3 - 14
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Diagramele de timp asociate operatiilor de lucrucu memoria
Diagramele de timp asociate operatiilor de lucrucu 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) 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) Liviu Kreindler / Aurelian Sarca 3 - 16
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Golire stiva(RET, POP)
Umplere stiva(CALL, PUSH)
Operatii cu stivaOperatii cu stiva
CALL SUB1
CALL SUB2
SUB1 SUB2
RET
PC1
PC2
RET
Memorie ProgramMemorie Program
Memorie Date
Memorie Program
PC1PC2
Stack Pointer
-
c) 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) 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) 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) 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 memorieRAM
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) 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) 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) 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) 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) 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 adresapentru paginarea memorieisistemului 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) 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) 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) 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 Magistralade dateMatrice
memorieCircuittampon
10
Decodifi-cator
intern deadrese
-
c) 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 - EFFFHB15 1 1 1 1 0 0 0 X X X X X X X X X 0 CSR0 F000H - F1FFH
1 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) 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) 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 unuimicroprocesor
-
c) 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
>
>
>
>
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) 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) 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 implementrii programelor utilizand adresarea imediata (a), sau directa (b)
Instructiuni(mnemonici)
Reprezentare in memorie
MOV AX, 123H
AXPCPC+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) 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) 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) 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) 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) 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) 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) 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) Liviu Kreindler / Aurelian Sarca 3 - 42
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor - Execuia instruciunii ADD RSoftware-ul sistemului microprocesor - Execuia instruciunii 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) Liviu Kreindler / Aurelian Sarca 3 - 43
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor - Execuia instruciunii ADD RSoftware-ul sistemului microprocesor - Execuia instruciunii 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) Liviu Kreindler / Aurelian Sarca 3 - 44
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor - Execuia instruciunii ADD RSoftware-ul sistemului microprocesor - Execuia instruciunii 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) Liviu Kreindler / Aurelian Sarca 3 - 45
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Software-ul sistemului microprocesor - Execuia instruciunii ADD RSoftware-ul sistemului microprocesor - Execuia instruciunii 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) 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 maina (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) 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) 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) Liviu Kreindler / Aurelian Sarca 3 - 49
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorA. Operatii de intrare/iesire efectuate sub controlul programuluiElemente 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) Liviu Kreindler / Aurelian Sarca 3 - 50
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorA. Operatii de intrare/iesire efectuate sub controlul programuluiElemente de intrare/iesire ale sistemelor microprocesor
A. Operatii de intrare/iesire efectuate sub controlul programului
(a1) Utilizarea unei singureadrese de port, si a patrusemnale de control I/E
(a2) Utilizarea a doua adreseI/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) Liviu Kreindler / Aurelian Sarca 3 - 51
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorA. Operatii de intrare/iesire efectuate sub controlul programuluiElemente 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) Liviu Kreindler / Aurelian Sarca 3 - 52
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorA. Operatii de intrare/iesire efectuate sub controlul programuluiElemente 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) Liviu Kreindler / Aurelian Sarca 3 - 53
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorB. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesorB. 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) Liviu Kreindler / Aurelian Sarca 3 - 54
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorB. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesorB. 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) Liviu Kreindler / Aurelian Sarca 3 - 55
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorB. Operatii de intrare/iesire efectuate prin intreruperi
Elemente de intrare/iesire ale sistemelor microprocesorB. Operatii de intrare/iesire efectuate prin intreruperi
Rezolvarea intreruperilor multiple cu prioritati software mascabile
Subrutinatratareintreruperenivel 1programprincipal
cerere deintreruperenivel 3 cerere deintrerupere
nivel 1cerere deintreruperenivel 2
Subrutinatratareintreruperenivel 2
Subrutinatratareintreruperenivel 3
return return return
-
c) Liviu Kreindler / Aurelian Sarca 3 - 56
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Elemente de intrare/iesire ale sistemelor microprocesorC. Operatii de intrare/iesire efectuate prin acces direct la memorie - DMA
Elemente de intrare/iesire ale sistemelor microprocesorC. 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
LED corespunzatoraprins / 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) 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) 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) 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) Liviu Kreindler / Aurelian Sarca 3 - 76
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi intrare optoizolateScheme porturi intrare optoizolate
Schema de principiuIntrareDC
IntrareAC
-
c) Liviu Kreindler / Aurelian Sarca 3 - 77
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Scheme porturi iesire optoizolateScheme porturi iesire optoizolate
Iesire DC
Iesire AC
-
c) 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) 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) 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 seteaza0.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){ // pos0, F7 nu e apasat
}else{ // pos = 0, F7 e apasat
}
P1.0P1.1P1.2P1.3
P2.0P2.1P2.2P2.3
F7
-
c) 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) Liviu Kreindler / Aurelian Sarca 3 - 82
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Tastaturi (4)
De-bouncing eliminareefect citiri multiple
Auto-repetare citire dacatasta ramane apasata maimult timp
Porturi de I/E digitale - tastaturiPorturi de I/E digitale - tastaturi
-
c) 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) 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) pentrucomanda. - Cate un bit pentru fiecare LED segment.- Se configureaza bitii pentruaprindere. 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) 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) 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) 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 cipulmicroprocesor (microcontroler), permitand masurarea de marimianalogice (uzual tensiuni in gama 0-V alimentare).
Structura: Circuit integrat sau bloc distinct in CPU. Contine blocurispecifice pentru lansare conversie, pentru citirea starii conversiei sia 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) 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 superioride adresa, IO
Sel 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 dateleconversie (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
Intrareanalogica
-
c) 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 tensiuniin gama 0-V alimentare).
Structura: Bloc distinct in CPU. Contine registre specifice pentruprogramare 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) Liviu Kreindler / Aurelian Sarca 3 - 90
Sisteme cu microprocesoare Microprocesoare - Concepte generale
Schema de decodificare
Bitii superioride adresa, IO
Sel 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
Iesireanalogica
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
// convertitOUTPORT(port_K, OUT_k); // scriere la
// convertor D/A
-
c) 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.