1 / 26

Proiectarea Microsistemelor Digitale

Proiectarea Microsistemelor Digitale. Curs 6. Proiectarea Microsistemelor Digitale. 4. Conectarea porturilor de intrare/ ie şire

nassor
Télécharger la présentation

Proiectarea Microsistemelor Digitale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proiectarea Microsistemelor Digitale Curs 6

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

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

  4. Proiectarea Microsistemelor Digitale • Schema decodificatorului este: • 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ă.

  5. A2 1B SEL 78 1 Y 0 1 Y 1 SEL 7 A A1 1A SEL 7 C 1 Y 2 7 A0 1 G SEL 7 E 4 1 Y 3 L S . A15 1 . 3 . 2 Y 0 SEL 79 A10 9 2B SEL 7 B 2 Y 1 A7 2A SEL 7 D 2 Y 2 SEL 7 F A9 2 Y 3 2 G A8 A6 . BHE . A3 M / IO · ( IORC IOWC ) Proiectarea Microsistemelor Digitale • Schema decodificatorului este:

  6. Proiectarea Microsistemelor Digitale • Există 2 posibilităţi de conectare a porturilor la unitatea centrală a unui microsistem: • î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 memorieiar porturilor le sunt alocate adrese sau zone din spaţiul de memorie. • Avantajele plasării porturilor în 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.

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

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

  9. Proiectarea Microsistemelor Digitale • Portul implementat cu bistabile • Este folosită pentru porturile de ieşire; • Există mai multe variante: • cu bistabile: • de tip JK, • de tip D; • cu bistabile care comută: • pe nivelul impulsului de tact, • pe frontul impulsului de tact: • anterior, • posterior. • Schema de principiu:

  10. 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: MOVAL,80H OUT20H,AL • Următoarea secvenţă provoacă trecerea bistabilului în starea 0: MOV AL,00H OUT20H,AL • Modificarea stării bistabilelor se face în timpul ciclului de ieşire.

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

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

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

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

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

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

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

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

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

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

  21. Proiectarea Microsistemelor Digitale • Acelaşi exemplu, soluţia cu bistabile şi decodificator:

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

  23. 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 • Intrările lor vor fi legate la magistrala de date; • Încărcarea în registre este comandată de ieşiri dintr – un decodificator de porturi. • Pentru citirea intrărilor sunt necesare 2 circuite cu porţi cu 3 stări, 74x244 • 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.

  24. Proiectarea Microsistemelor Digitale • Schema este:

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

  26. Proiectarea Microsistemelor Digitale • Comanda ieşirilor IES7 - 0: MOV AL,00H OUT 40H,AL ; ieşirile IES0 – 7 au fost comandate la 0 logic; • Comanda ieşirilor IES7 - 0: MOV AL,0FFH OUT 40H,AL ; ieşirile IES0 – 7 au fost comandate la 1 logic; • Comanda ieşirilor IES15 - 8: MOV AL,00H OUT 61H,AL ; ieşirile IES15 – 8 au fost comandate la 0 logic; • Comanda ieşirilor IES15 - 8: MOV AL,0FFH OUT 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?

More Related