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 A5 A4 A2 A1 A0 L S 1 3 8 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
BHE

A0 SEL 20 SEL21 SEL30 SEL31

A7 M / IO ( IORC IOWC)
A3 A2 A1

E1 E2 E3

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 A1

1B 1A 7 1G 4 L

1Y 0 1Y 1 1Y 2 1Y 3

SEL 78 SEL 7 A SEL 7 C SEL 7 E

A0

A15

. . .

S 1 3 2B 9 2Y 0 2Y 1 2A 2Y 2 2Y 3 2G SEL 79 SEL 7 B SEL 7 D SEL 7 F

A10 A7

A9

A8
A6 . . A3 BHE

M / IO ( IORC IOWC )

Proiectarea Microsistemelor Digitale

Exist 2 posibiliti de conectare a porturilor la unitatea central a unui microsistem:

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. Porturile vor ocupa zone din spaiul de adresare alocat memoriilor.

Avantajele plasrii porturilor n spaiul de memorie:

Dezavantaj:

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:

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

cu bistabile care comut:


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. 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.

2 soluii:

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

Intrrile lor vor fi legate la magistrala de date; ncrcarea n registre este comandat de ieiri dintr un decodificator de porturi.

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


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 AL,00H 40H,AL ; ieirile IES0 7 au fost comandate la 0 logic; AL,0FFH 40H,AL ; ieirile IES0 7 au fost comandate la 1 logic; AL,00H 61H,AL ; ieirile IES15 8 au fost comandate la 0 logic; AL,0FFH 61H,AL ; ieirile IES15 8 au fost comandate la 1 logic;

Comanda ieirilor IES7 - 0:


MOV OUT

Comanda ieirilor IES15 - 8:


MOV OUT

Comanda ieirilor IES15 - 8:


MOV OUT

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