Sunteți pe pagina 1din 26

Proiectarea Microsistemelor Digitale

Curs 6

Proiectarea Microsistemelor Digitale

4. Conectarea porturilor de intrare/ ieire

Prin port de intrare/ ieire sau, mai scurt, port, se nelege un circuit,
sau grup de circuite, care fac legtura ntre unitatea central a unui
microsistem i dispozitivele i echipamentele periferice.
Porturi + circuite de legtur ntre ele = interfa
Exist o gam divers de dipozitive i echipamente periferice: led
uri, comutatoare, module de afiare cu segmente, module de afiare
cu LCD, tastaturi, imprimante etc.
Implementarea porturilor:

Cu 1 sau puine circuite: dac UC se leag la led uri, comutatoare,


module de afiare cu segmente, module de afiare cu LCD, tastaturi,
bistabile cu funciuni speciale etc.
Cu mai multe circuite, dac UC se leag la un echipament periferic,
uneori nefcndu-se distincia ntre port si interfa; ex.:
microcalculatorul PC: porturile serial, paralel, USB; noiunea de port este
mai larg cuprinznd mai multe circuite, inclusiv un circuit specializat
programabil sau o parte a unui circuit specializat programabil mai
complex, precum i elemente mecanice de conectare.
2

Proiectarea Microsistemelor Digitale


4.1. Proiectarea unui decodificator de porturi

Similar proiectrii unui decodificator de memorie; diferenele care


apar constau n:

Numrul de linii pe care apare adresa portului: la memorii adresele apar


pe toat magistrala pe cnd la porturi adresele apar fie pe A7 0 fie pe
A15 0;
Semnalul de comand care indic transferul cu porturile: fie este altul
dect cel pentru transferurile cu memoria fie este acelai dar cealalt
valoare logic este cea activ.

Exemplu: s se proiecteze decodificatorul corespunztor urmtoarei


hri a porturilor:

P1 cu adresa 20H,
P2 cu adresa 21H,
P3 cu adresa 30H i
P4 cu adresa 31H;
Porturile sunt pe 8 bii, cu adrese pe 8 bii.
3

Proiectarea Microsistemelor Digitale

Schema decodificatorului este:


A6

A2

Y0

A5

A1

Y1

A4

A0

A7
M / IO
( IORC IOWC)
A3
A2
A1

E1

L
S
1
3
8

A0
SEL 20

Y2
Y3

BHE

Y4
Y5

E2

Y6

E3

Y7

SEL21
SEL30
SEL31

Decodificarea este complet, poate fi i incomplet.


Alt exemplu: un decodificator pentru 8 porturi, pe 8 bii, cu adresele pe 16
bii: 0378H 037FH;
Decodificarea este complet, poate fi i incomplet.
4

Proiectarea Microsistemelor Digitale

Schema decodificatorului este:

A2

1B

A1

1A

A0

1G

1Y 0

SEL 78

1Y 1

SEL 7 A

1Y 2

SEL 7 C

1Y 3

SEL 7 E

2Y 0

SEL 79

2Y 1

SEL 7 B

2Y 2

SEL 7 D

2Y 3

SEL 7 F

L
A15

A10

2B

A7
2A
A9

2G

A8
A6

BHE

.
A3

M / IO
( IORC

IOWC

Proiectarea Microsistemelor Digitale

Exist 2 posibiliti de conectare a porturilor la unitatea central a


unui microsistem:

Avantajele plasrii porturilor n spaiul de memorie:

n spaiul de intrare/ ieire al microprocesorului: comunicarea


microprocesorului cu ele se va face prin instruciuni dedicate de intrare/
ieire, de tip IN/ OUT, iar n sistem va exista un decodificator de porturi,
distinct de cel de memorie;
n spaiul de memorie al microprocesorului: comunicarea
microprocesorului cu ele se va face cu instruciuni de lucru cu memoria
ntruct microprocesorul nu va face distincie ntre porturi i memorie, n
sistem va exista doar decodificatorul de memorie iar porturilor le sunt
alocate adrese sau zone din spaiul de memorie.
posibilitatea utilizrii subsetului de instruciuni de lucru cu memoria mai
bogat dect subsetul de instruciuni de lucru cu porturile,
reducerea resurselor microprocesorului, inclusiv al numrului de
terminale.

Dezavantaj:

Porturile vor ocupa zone din spaiul de adresare alocat memoriilor.

Proiectarea Microsistemelor Digitale


4.2. Tipuri de porturi

Portul implementat cu pori

Este folosit pentru porturile de intrare;


Ieirile porilor se conecteaz la linii de date ale microprocesorului, ca
urmare este necesar s aib facilitatea de a 3 a stare;
Semnalele care se citesc se conecteaz la intrrile de date ale porilor;
Intrrile de validare ale porilor sunt comandate de una sau mai multe
ieiri dintr - un decodificator de porturi;
Semnalele care se citesc sunt generate din exterior i se presupune c
circuitul care le genereaz le i memoreaz pn cnd este necesar; n
caz contrar sunt prevzute bistabile;
Citirea se face n timpul ciclului de intrare.

Proiectarea Microsistemelor Digitale

Schema de principiu:

Schema trebuie s fie nsoit de o secven de instruciuni; fie i = k = 0


i j = h = 1, atunci secvena pentru citirea semnalului EXT1 este:
IN
AL,00H
RCR
AL,1
JNC
ZERO; s-a citit 0 logic
.
; s-a citit 1 logic
S-au considerat conexiunile: A7 la A2, A6 la A1, A5 la A0, M//IO la /E1,
GND la /E2 i 1 la E3
8

Proiectarea Microsistemelor Digitale

Portul implementat cu bistabile

Este folosit pentru porturile de ieire;


Exist mai multe variante:

cu bistabile:

cu bistabile care comut:

de tip JK,
de tip D;
pe nivelul impulsului de tact,
pe frontul impulsului de tact:

anterior,

posterior.

Schema de principiu:

Proiectarea Microsistemelor Digitale

Fie k = 0, h = 1 i i = 7:

pentru modificarea ieirii bistabilului de tip JK este suficient execuia


instruciunii OUT 00H,AL i bistabilul va trece n starea complementar
celeia n care a fost;
utilizarea acestei soluii are dezavantajul c trebuie cunoscut starea
prezent a bistabilului nainte de a lansa n execuie instruciunea care i
modific starea;
Ieirea bistabilului de tip D poate fi comandat fr a fi necesar
cunoaterea strii prezente ntruct are intrare de date;
Urmtoarea secven provoac trecerea bistabilului n starea 1:
MOV
AL,80H
OUT
20H,AL
Urmtoarea secven provoac trecerea bistabilului n starea 0:
MOV
AL,00H
OUT
20H,AL
Modificarea strii bistabilelor se face n timpul ciclului de ieire.
10

Proiectarea Microsistemelor Digitale

Portul implementat cu registre

Porturi de intrare: soluia principial:

Preluarea informaiei de la cele 2 registre se face prin instruciuni IN de


la adresele care le corespund, mai exact n timpul ciclului de intrare;
nscrierea informaiei n registre se face din exterior.
11

Proiectarea Microsistemelor Digitale

Porturi de ieire: extensie a implementrii cu bistabile;


Soluia principial pentru comanda registrelor 74x373 i 74x374:

Fie k = 0 i h = 1; ncrcarea unei configuraii n registrele 74x373 i


74x374:
MOV
AL,____H
OUT
00H,AL; pentru 373
OUT
20H,AL; pentru 374
ncrcarea se va face n timpul ciclului de ieire.
12

Proiectarea Microsistemelor Digitale

Trebuie remarcat c, n toate exemplele


prezentate, adresele de port s-au obinut prin
decodificare incomplet;
Ca urmare pot fi utilizate i alte valori pentru
adresele de port 00H i 20H, cu condiia
ndeplinirii urmtoarelor condiii:

A7 = A6 = A5 = 0 pentru 00H i
A7 = A6 = 0 i A5 = 1 pentru 20H.

13

Proiectarea Microsistemelor Digitale

Portul implementat cu circuite specializate

Exist circuite programabile, specializate pe diferite tipuri de aplicaii, de


exemplu interfa serial, interfa paralel etc.
Datorit complexitii sale, un asemenea circuit este comandat de
microprocesor ca un grup de porturi ale cror adrese au un cmp comun
i un cmp variabil.
Cmpul comun corespunde unei conexiuni fcute ntre o ieire din
decodificatorul de porturi i intrarea de selecie a circuitului specializat
iar cmpul variabil corespunde legturilor fcute ntre linii mai puin
semnificative din magistrala de adrese i intrri specifice ale circuitului
specializat.

Circuitele specializate programabile, inclusiv toate problemele legate de


conectarea lor la o unitate central cu microprocesorul 8086, vor fi
prezentate pe larg n capitolele urmtoare.

14

Proiectarea Microsistemelor Digitale


4.3. Comanda unui semnal prin program

Semnific:

Citirea unui semnal din exteriorul microsistemului: soluia este cea


prezentat la citirea unui semnal prin intermediul unui port implementat
cu o poart:

Semnalul este legat la intrarea de date a unei pori cu 3 stri;


Intrarea de validare a porii este comandat de o ieire a unui decodificator de
porturi;
Ieirea porii este legat la o linie a magistralei de date a unitii centrale;
Citirea se face cu o instruciune IN i apoi se face ramificarea.

Poziionarea unui semnal la 1 sau 0 logic: soluia este cea prezentat la


implementarea unui port cu un bistabil:

Valoarea semnalului este transmis la intrarea de date a unui bistabil prin


intermediul unei linii a magistralei de date;
Tactul bistabilului este comandat de o ieire a unui decodificator de porturi;
Iesirea bistabilului este semnalul care trebuie comandat;
Poziionarea semnalului se face cu o instruciune OUT.
15

Proiectarea Microsistemelor Digitale


4.4. Aplicaii
4.4.1. Extinderea spaiului de memorie al unui microprocesor

Prin suprapunerea mai multor blocuri fizice de memorie n aceeai zon


a spaiului de adrese;
Intrarea de selecie a fiecrui bloc de memorie va avea 2 componente:

O component care rezult din zona ocupat; este dat de o ieire a


decodificatorului de memorii, comun tuturor blocurilor;
O component obinut din ieirea unui circuit comandat ca port: doar unul
din aceste circuite va fi activ la un moment dat; prin program poate fi activat
circuitul activ.

2 soluii:

Cu bistabile: fiecare bloc va fi comandat de 1 bistabil; pentru n blocuri sunt


necesare n bistabile;
Cu bistabile i decodificator: pentru n blocuri sunt necesare log2n bistabile +
decodificator.

16

Proiectarea Microsistemelor Digitale

Soluia cu bistabile:

Varianta cu bistabile cere ca fiecare pagin s fie comandat de un


bistabil.
Ieirea bistabilului va fi o component a semnalului sau semnalelor de
selecie ale circuitului sau circuitelor care sunt suportul fizic al blocului.
Grupul de bistabile va fi comandat de microprocesor ca unul sau mai
multe porturi de ieire, intrrile de date ale bistabilelor fiind conectate la
magistrala de date.
Va exista un singur port de ieire dac numrul bistabilelor nu este mai
mare de 8 (16) sau mai multe porturi n caz contrar.
Condiia de funcionare corect este ca un singur bistabil s fie activ la
un moment dat.
Particularitile de implementare vor impune ca nivelul activ al
bistabilelor, pentru aceast aplicaie, s fie 0 sau 1.
Avantaj: simpl, recomandat dac numrul de blocuri este mic;
Dezavantaje: multe bistabile, bistabilele necesit iniializare, nu ofer
protecie.
17

Proiectarea Microsistemelor Digitale

Exemplu: s se conecteze la o UC cu 8086 8 blocuri de cte 64 ko,


n zona 00000 0FFFFH

Soluia cu bistabile

18

Proiectarea Microsistemelor Digitale

Codul:

Pentru activarea primului bloc:


MOV
AL,0FEH
OUT
00H,AL
Pentru activarea celui de al doilea bloc:
MOV
AL,0FDH
OUT
00H,AL
Pentru activarea celui de al treilea bloc:
MOV
AL,0FBH
OUT
00H,AL

.
.

Pentru activarea ultimului bloc:


MOV
AL,7FH
OUT
00H,AL

19

Proiectarea Microsistemelor Digitale

Soluia cu bistabile i decodificator:

Varianta cu bistabile i decodificator necesit mai puine bistabile;


Ieirile bistabilelor se conecteaz la intrrile unui decodificator iar ieirile
decodificatorului vor fi componente ale semnalelor de selecie ale
circuitelor de memorie.
Avantaje:

numr mai mic de circuite pentru partea de comand dar acest avantaj exist
doar dac numrul de blocuri este mare i depinde de numrul de ieiri ale
decodificatorului i, mai ales,
protecie asigurat circuitelor de memorie: oricare ar fi configuraia nscris n
bistabile, doar o ieire a decodificatorului va fi activ la un moment dat deci
nu exist riscul conflictului pe magistral; din acelai motiv nu necesit nici
iniializare ca urmare nu este necesar ca bistabilele s aib accesibile intrrile
asincrone.

Dezavantaj:

Numr mai mare de circuite pentru puine blocuri;


Se recomand doar la numr mare de blocuri.

20

Proiectarea Microsistemelor Digitale

Acelai exemplu, soluia cu bistabile i decodificator:

21

Proiectarea Microsistemelor Digitale

Codul:

Pentru activarea primului bloc:


MOV
AL,0F8H
OUT
00H,AL
Pentru activarea celui de al doilea bloc:
MOV
AL,0F9H
OUT
00H,AL
Pentru activarea celui de al treilea bloc:
MOV
AL,0FAH
OUT
00H,AL

.
.

Pentru activarea ultimului bloc:


MOV
AL,0FFH
OUT
00H,AL

22

Proiectarea Microsistemelor Digitale


4.4.2. S se proiecteze un modul digital, conectat la o UC cu 8086,
pentru citirea a 16 intrri digitale i comanda a 16 ieiri digitale.
Ieirile trebuiesc memorate.
Pentru comanda ieirilor sunt necesare 2 circuite registru, 74x373

Pentru citirea intrrilor sunt necesare 2 circuite cu pori cu 3 stri,


74x244

Intrrile lor vor fi legate la magistrala de date;


ncrcarea n registre este comandat de ieiri dintr un decodificator
de porturi.

Ieirile porilor sunt legate la magistrala de date;


Validarea porilor este comandat de ieiri dintr un decodificator de
porturi.

Un decodificator de porturi va comanda registrele i porile cu 3


stri;
Extinderea este limitat de decodificator.

23

Proiectarea Microsistemelor Digitale

Schema este:

24

Proiectarea Microsistemelor Digitale

Codul:
Citirea intrrilor INTR7 0:
IN
AL,00H
; n AL avem configuraia de la intrrile INTR07 0; prin mascare se
poate reine doar una dintre intrri;
Citirea intrrilor INTR15 8:
IN
AL,21H
; n AL avem configuraia de la intrrile INTR15 8; prin mascare se
poate reine doar una dintre intrri;
O anume intrare poate fi obinut i rotind informaia din AL prin C:
IN
AL,00H
RCR
AL,1 ; n C avem INTR0
Sau
IN
AL,00H
RCL
AL,1 ; n C avem INTR7

25

Proiectarea Microsistemelor Digitale

Comanda ieirilor IES7 - 0:


MOV
OUT

Comanda ieirilor IES7 - 0:


MOV
OUT

AL,00H
61H,AL ; ieirile IES15 8 au fost comandate la 0 logic;

Comanda ieirilor IES15 - 8:


MOV
OUT

AL,0FFH
40H,AL ; ieirile IES0 7 au fost comandate la 1 logic;

Comanda ieirilor IES15 - 8:


MOV
OUT

AL,00H
40H,AL ; ieirile IES0 7 au fost comandate la 0 logic;

AL,0FFH
61H,AL ; ieirile IES15 8 au fost comandate la 1 logic;

Pot fi folosite aceleai ieiri ale celor 2 decodificatoare?


Cum se modific schema dac se folosete un singur decodificator?

26

S-ar putea să vă placă și