Curs_6 - Universitatea Politehnica Timişoara

Download Report

Transcript Curs_6 - Universitatea Politehnica Timişoara

Proiectarea Microsistemelor Digitale
Curs 6
1
Proiectarea Microsistemelor Digitale
4. Conectarea porturilor de intrare/ ieşire




Prin port de intrare/ ieşire sau, mai scurt, port, se înţelege un circuit,
sau grup de circuite, care fac legătura între unitatea centrală a unui
microsistem şi dispozitivele şi echipamentele periferice.
Porturi + circuite de legătură între ele = interfaţă
Există o gamă diversă de dipozitive şi echipamente periferice: led –
uri, comutatoare, module de afişare cu segmente, module de afişare
cu LCD, tastaturi, imprimante etc.
Implementarea porturilor:


Cu 1 sau puţine circuite: dacă UC se leagă la led – uri, comutatoare,
module de afişare cu segmente, module de afişare cu LCD, tastaturi,
bistabile cu funcţiuni speciale etc.
Cu mai multe circuite, dacă UC se leagă la un echipament periferic,
uneori nefăcându-se distincţia între port si interfaţă; ex.:
microcalculatorul PC: porturile serial, paralel, USB; noţiunea de port este
mai largă cuprinzând 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ă proiectării unui decodificator de memorie; diferenţele care
apar constau în:



Numărul de linii pe care apare adresa portului: la memorii adresele apar
pe toată magistrala pe când la porturi adresele apar fie pe A7 – 0 fie pe
A15 – 0;
Semnalul de comandă care indică transferul cu porturile: fie este altul
decât cel pentru transferurile cu memoria fie este acelaşi dar cealaltă
valoare logică este cea activă.
Exemplu: să se proiecteze decodificatorul corespunzător următoarei
hărţi a porturilor:





P1 cu adresa 20H,
P2 cu adresa 21H,
P3 cu adresa 30H şi
P4 cu adresa 31H;
Porturile sunt pe 8 biţi, cu adrese pe 8 biţi.
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 biţi, cu adresele pe 16
biţi: 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
7
1Y 2
SEL 7 C
4
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
.
S
.
1
.
3
A10
2B
A7
2A
A9
9
2G
A8
A6
.
BHE
.
A3
M / IO
( IORC
 IOWC
)
5
Proiectarea Microsistemelor Digitale

Există 2 posibilităţi de conectare a porturilor la unitatea centrală a
unui microsistem:



Avantajele plasării porturilor în spaţiul de memorie:



în spaţiul de intrare/ ieşire al microprocesorului: comunicarea
microprocesorului cu ele se va face prin instrucţiuni dedicate de intrare/
ieşire, de tip IN/ OUT, iar în sistem va exista un decodificator de porturi,
distinct de cel de memorie;
în spaţiul de memorie al microprocesorului: comunicarea
microprocesorului cu ele se va face cu instrucţiuni de lucru cu memoria
întrucât microprocesorul nu va face distincţie între porturi şi memorie, în
sistem va exista doar decodificatorul de memorie iar porturilor le sunt
alocate adrese sau zone din spaţiul de memorie.
posibilitatea utilizării subsetului de instrucţiuni de lucru cu memoria mai
bogat decât subsetul de instrucţiuni de lucru cu porturile,
reducerea resurselor microprocesorului, inclusiv al numărului de
terminale.
Dezavantaj:

Porturile vor ocupa zone din spaţiul de adresare alocat memoriilor.
6
Proiectarea Microsistemelor Digitale
4.2. Tipuri de porturi

Portul implementat cu porţi






Este folosită pentru porturile de intrare;
Ieşirile porţilor 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 intrările de date ale porţilor;
Intrările de validare ale porţilor sunt comandate de una sau mai multe
ieşiri dintr - un decodificator de porturi;
Semnalele care se citesc sunt generate din exterior şi se presupune că
circuitul care le generează le şi memorează până când este necesar; în
caz contrar sunt prevăzute bistabile;
Citirea se face în timpul ciclului de intrare.
7
Proiectarea Microsistemelor Digitale

Schema de principiu:


Schema trebuie să fie însoţită de o secvenţă de instrucţiuni; fie i = k = 0
şi j = h = 1, atunci secvenţa 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 ieşire;
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:
9
Proiectarea Microsistemelor Digitale

Fie k = 0, h = 1 şi i = 7:






pentru modificarea ieşirii bistabilului de tip JK este suficientă execuţia
instrucţiunii OUT 00H,AL şi bistabilul va trece în starea complementară
celeia în care a fost;
utilizarea acestei soluţii are dezavantajul că trebuie cunoscută starea
prezentă a bistabilului înainte de a lansa în execuţie instrucţiunea care îi
modifică starea;
Ieşirea bistabilului de tip D poate fi comandată fără a fi necesară
cunoaşterea stării prezente întrucât are intrare de date;
Următoarea secvenţă provoacă trecerea bistabilului în starea 1:
MOV
AL,80H
OUT
20H,AL
Următoarea secvenţă provoacă trecerea bistabilului în starea 0:
MOV
AL,00H
OUT
20H,AL
Modificarea stării bistabilelor se face în timpul ciclului de ieşire.
10
Proiectarea Microsistemelor Digitale

Portul implementat cu registre



Porturi de intrare: soluţia principială:
Preluarea informaţiei de la cele 2 registre se face prin instrucţiuni IN de
la adresele care le corespund, mai exact în timpul ciclului de intrare;
Înscrierea informaţiei în registre se face din exterior.
11
Proiectarea Microsistemelor Digitale




Porturi de ieşire: extensie a implementării cu bistabile;
Soluţia principială pentru comanda registrelor 74x373 şi 74x374:
Fie k = 0 şi h = 1; încărcarea unei configuraţii în registrele 74x373 şi
74x374:
MOV
AL,____H
OUT
00H,AL; pentru 373
OUT
20H,AL; pentru 374
Încărcarea se va face în timpul ciclului de ieşire.
12
Proiectarea Microsistemelor Digitale


Trebuie remarcat că, în toate exemplele
prezentate, adresele de port s-au obţinut prin
decodificare incompletă;
Ca urmare pot fi utilizate şi alte valori pentru
adresele de port 00H şi 20H, cu condiţia
îndeplinirii următoarelor condiţii:


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 aplicaţii, de
exemplu interfaţă serială, interfaţă paralelă etc.
Datorită complexităţii sale, un asemenea circuit este comandat de
microprocesor ca un grup de porturi ale căror adrese au un câmp comun
şi un câmp variabil.
Câmpul comun corespunde unei conexiuni făcute între o ieşire din
decodificatorul de porturi şi intrarea de selecţie a circuitului specializat
iar câmpul variabil corespunde legăturilor făcute între linii mai puţin
semnificative din magistrala de adrese şi intrări 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 următoare.
14
Proiectarea Microsistemelor Digitale
4.3. Comanda unui semnal prin program

Semnifică:

Citirea unui semnal din exteriorul microsistemului: soluţia este cea
prezentată la citirea unui semnal prin intermediul unui port implementat
cu o poartă:





Semnalul este legat la intrarea de date a unei porţi cu 3 stări;
Intrarea de validare a porţii este comandată de o ieşire a unui decodificator de
porturi;
Ieşirea porţii este legată la o linie a magistralei de date a unităţii centrale;
Citirea se face cu o instrucţiune IN şi apoi se face ramificarea.
Poziţionarea unui semnal la 1 sau 0 logic: soluţia 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 ieşire a unui decodificator de porturi;
Iesirea bistabilului este semnalul care trebuie comandat;
Poziţionarea semnalului se face cu o instrucţiune OUT.
15
Proiectarea Microsistemelor Digitale
4.4. Aplicaţii
4.4.1. Extinderea spaţiului de memorie al unui microprocesor


Prin suprapunerea mai multor blocuri fizice de memorie în aceeaşi zonă
a spaţiului de adrese;
Intrarea de selecţie a fiecărui bloc de memorie va avea 2 componente:



O componentă care rezultă din zona ocupată; este dată de o ieşire a
decodificatorului de memorii, comună tuturor blocurilor;
O componentă obţinută din ieşirea 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 soluţii:


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

Soluţia cu bistabile:








Varianta cu bistabile cere ca fiecare pagină să fie comandată de un
bistabil.
Ieşirea bistabilului va fi o componentă a semnalului sau semnalelor de
selecţie 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 ieşire, intrările de date ale bistabilelor fiind conectate la
magistrala de date.
Va exista un singur port de ieşire dacă numărul bistabilelor nu este mai
mare de 8 (16) sau mai multe porturi în caz contrar.
Condiţia de funcţionare corectă este ca un singur bistabil să fie activ la
un moment dat.
Particularităţile de implementare vor impune ca nivelul activ al
bistabilelor, pentru această aplicaţie, să fie 0 sau 1.
Avantaj: simplă, recomandată dacă numărul de blocuri este mic;
Dezavantaje: multe bistabile, bistabilele necesită iniţializare, nu oferă
protecţie.
17
Proiectarea Microsistemelor Digitale

Exemplu: să se conecteze la o UC cu 8086 8 blocuri de câte 64 ko,
în zona 00000 – 0FFFFH

Soluţia 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

Soluţia cu bistabile şi decodificator:



Varianta cu bistabile şi decodificator necesită mai puţine bistabile;
Ieşirile bistabilelor se conectează la intrările unui decodificator iar ieşirile
decodificatorului vor fi componente ale semnalelor de selecţie ale
circuitelor de memorie.
Avantaje:



număr mai mic de circuite pentru partea de comandă dar acest avantaj există
doar dacă numărul de blocuri este mare şi depinde de numărul de ieşiri ale
decodificatorului şi, mai ales,
protecţie asigurată circuitelor de memorie: oricare ar fi configuraţia înscrisă în
bistabile, doar o ieşire a decodificatorului va fi activă la un moment dat deci
nu există riscul conflictului pe magistrală; din acelaşi motiv nu necesită nici
iniţializare ca urmare nu este necesar ca bistabilele să aibă accesibile intrările
asincrone.
Dezavantaj:


Număr mai mare de circuite pentru puţine blocuri;
Se recomandă doar la număr mare de blocuri.
20
Proiectarea Microsistemelor Digitale

Acelaşi exemplu, soluţia 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 intrări digitale şi comanda a 16 ieşiri digitale.
Ieşirile trebuiesc memorate.
 Pentru comanda ieşirilor sunt necesare 2 circuite registru, 74x373



Pentru citirea intrărilor sunt necesare 2 circuite cu porţi cu 3 stări,
74x244




Intrările lor vor fi legate la magistrala de date;
Încărcarea în registre este comandată de ieşiri dintr – un decodificator
de porturi.
Ieşirile porţilor sunt legate la magistrala de date;
Validarea porţilor este comandată de ieşiri dintr – un decodificator de
porturi.
Un decodificator de porturi va comanda registrele şi porţile cu 3
stări;
Extinderea este limitată de decodificator.
23
Proiectarea Microsistemelor Digitale

Schema este:
24
Proiectarea Microsistemelor Digitale

Codul:
Citirea intrărilor INTR7 – 0:
IN
AL,00H
; în AL avem configuraţia de la intrările INTR07– 0; prin mascare se
poate reţine doar una dintre intrări;
 Citirea intrărilor INTR15 – 8:
IN
AL,21H
; în AL avem configuraţia de la intrările INTR15 – 8; prin mascare se
poate reţine doar una dintre intrări;
 O anume intrare poate fi obţinută şi rotind informaţia 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 ieşirilor IES7 - 0:
MOV
OUT

Comanda ieşirilor IES7 - 0:
MOV
OUT


AL,00H
61H,AL ; ieşirile IES15 – 8 au fost comandate la 0 logic;
Comanda ieşirilor IES15 - 8:
MOV
OUT

AL,0FFH
40H,AL ; ieşirile IES0 – 7 au fost comandate la 1 logic;
Comanda ieşirilor IES15 - 8:
MOV
OUT

AL,00H
40H,AL ; ieşirile IES0 – 7 au fost comandate la 0 logic;
AL,0FFH
61H,AL ; ieşirile IES15 – 8 au fost comandate la 1 logic;
Pot fi folosite aceleaşi ieşiri ale celor 2 decodificatoare?
Cum se modifică schema dacă se foloseşte un singur decodificator?
26