Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Porturile paralele de intrare-iesire ale sistemelor cu microprocesor

calculatoare



+ Font mai mare | - Font mai mic



Porturile paralele de intrare-iesire ale sistemelor cu microprocesor

(Porturile de intrari-iesiri numerice)

1 Consideratii generale



Porturile paralele sunt circuite ce permit comunicatia bidirectionala (atat de citire a datelor, cat si de scriere), sau unidirectionala (doar de citire sau doar de scriere), intre un sistem cu microprocesor si mediul exterior. Semnalele ce se transfera prin aceste porturi sunt semnale TTL (semnale logice sau binare - ce pot avea doar nivelul 0V- "0" logic, sau 5V - "1" logic).

Odata selectat, portul de iesiri face ca informatia inscrisa in el sa fie disponibila la iesire atata timp cat nu apare o noua selectie. Rezulta deci ca, din punct de vedere structural, un port de iesiri numerice are la baza un element de inmagazinare a informatiei, de memorare a ei, adica un circuit de tip latch. Acesta, in absenta comenzii de incarcare, isi mentine

neschimbata starea iesirilor, indiferent de variatia marimilor de la intrare.

Portul de intrare permite unitatii centrale de prelucrare sa primeasca informatii despre starea unor marimi binare externe. Selectia unui port de intrari numerice se face, ca si in cazul portului de iesiri, pe baza adresei portului si a activarii unor semnale de control (in acest caz, semnificand operatie de citire de la port). Odata selectat, portul de intrare realizeaza transferul informatiei dinspre exterior inspre magistrala de date a sistemului cu microprocesor. Deoarece iesirile unui port de intrare sunt cuplate la magistrala de date, fiecare iesire are la baza un circuit tri-state (buffer). Acesta, atunci cand nu este activat (deci portul nu este selectat), prezinta o stare de inalta impedanta, echivalenta

functional cu decuplarea fizica de la liniile magistralei de date.

Fig.1. prezinta structura de principiu a unei linii de port paralel bidirectional.

La conectarea unui port paralel ca intrare, cu elemente de circuit externe, trebuie avut in vedere ca pentru o functionare corecta, curentul minim ce trebuie furnizat este 70μA. La un curent mai mic, bufferul de intrare poate sa nu comute si data poate fi eronata. La conectarea unui port parale ca iesire, curentul ce poate fi furnizat (pe "1" logic, sau absorbit, pe "0" logic) este de 16mA tipic.

   

Fig.1. Structura hardware a unei linii (bit) de port paralel bidirectional

2 Porturile paralele de intrare-iesire ale microcontrolerului 80C552

Microcontrolerul 80C552 are 6 porturi paralele pe 8 bit. Fiecare port este format dintr-un latch (SFR de la P0 la P5), un buffer de intrare si un driver de iesire. Porturile P0 la P4 sunt porturi bidirectionale, pe cand P5 este doar port de iesire. Fiecare port are, pe langa functia de dispozitiv de intrare-iesire numeric si functii alternative conform tabelului din fig.2.

Porturile P0 si P2 contin si magistralele de date si adrese pentru conectarea memoriei si/sau a circuitelor externe. In fig. 2, 3, 4 si 5 sunt prezentate schemele porturilor respectiv P1, P3, P4 si P5.

Fig.2. Functiile alternative ale porturilor paralele

ale microcontrolerului 80C552

Fig.3. Portul paralel P1

Fig.4. Portul paralel P3

Fig.5. Portul paralel P4

Fig.6. Portul paralel de intrare P5

3 Porturile paralele de intrare-iesire ale placilor cu microprocesor

3.1. Realizate cu circuite BUFFER si LATCH

Pentru sistemele cu microprocesor (chiar si pentru cele cu microcontroler), portul paralel poate fi realizat cu circuite externe. Cele mai simple scheme sunt cele in care porturile sunt unidirectionale, construite cu latch-uri (bistabile D, de exemplu 74374) pentru iesire, si cu circuite Buffer (circuite tristate, de ex.74244) pentru intrare. In fig..7 este prezentata o realizare de pe placa cu microcontroler.

Pentru portul de iesire, fig.a) intrarea circuitului latch este conectata la magistrala de date externa a microcontrolerului, scrierea valorii se realizeaza cu un semnal Y3 format din decodificarea adreselor A0, A1 si A2, valodat cu A14 pe "1" la aparitia semnalului /CE (Chip enable) pentru EEPROM si a semnalului de scriere /WR. Datele se inscriu in latch si raman disponibile la iesire pana in momentul in care se inscrie un nou cuvant in latch.

Fig. 7 Porturi paralele de intrare si iesire realizate cu latch-uri, buffere si tranzistoare

Pentru portul de intrare, fig.b) semnalele de intrare sunt aduse la intrarea bufferului tristate 74244 si sunt citite pe magistrala de date la activarea semnalului X1, format din decodificarea adreselor A0, A1 si A2 validate de A14 pe "1", /CE pentru EEPROM si /RD pe "0" (active).

3.1. Realizate cu circuite programabile (8255)

4 Aplicatii cu porturile parale de intrare-iesire

Printre aplicatiile cele mai uzuale ale porturilor paralel se numara generarea unui octet de date si citirea unui octet de date, serializarea si deserializarea unui semnal logic, generarea de semnale PWM. Pentru serializare si generarea de semnale PWM, se utilizeaza si circuitul timer, pentru relizarea timingului(temporizarii) necesar.

4.1. Citirea-scrierea unui octet

4.2. Serializarea-deserializarea datelor

Serializarea unei date inseamna generarea secventiala a bitilor unui cuvant pe o linie a portului paralel de iesire. Un semnal serial are unele caracteristici care ii permit sa fie receptionat si interpretat corect.

  1. Formatul: - i. Numarul de biti

ii. Perioada bitilor

iii. Bit de start

iv. Bit de paritate

  1. Frecventa
  2. Este insotit sau nu de un semnal de ceas (clock)

Pentru realizarea frecventei, este necesara temporizarea cu un timer care genereaza intrerupere la momente de timp echidistante si egale cu jumatatea perioadei unui bit. Daca semnalul de date este insotit de un semnal de ceas (clock), el va arata ca in fig.8. Presupunem ca frontul coborator al ceasului este cel ce valideaza data, aceasta inseamna ca data trebuie sa fie stabila in momentul frontului coborator al ceasului. Intreruperile de la timer sosesc la momentele t1, t2, t16 pentru un cuvant de 8 biti. La portul paralel, pe bitii 0 (ceas) si 1 (data) se vor scrie la intrerupere, succesiv, cuvintele

t1    xxxx xx11 incarca data 1, armeaza ceas

t2    xxxx xx10 genereaza front coborator la ceas cu data pe 1

t3    xxxx xx01 incarca data 0, armeaza ceas

t4    xxxx xx00 genereaza front coborator la ceas cu data pe 0

t5    xxxx xx11 incarca data 1, armeaza ceas

t6    xxxx xx10 genereaza front coborator la ceas cu data pe 1

t7    xxxx xx11 incarca data 1, armeaza ceas

t8    xxxx xx10 genereaza front coborator la ceas cu data pe 1

t9    xxxx xx01 incarca data 0, armeaza ceas

t10 xxxx xx00    genereaza front coborator la ceas cu data pe 0

t11 xxxx xx01    incarca data 0, armeaza ceas

t12 xxxx xx00    genereaza front coborator la ceas cu data pe 0

t13 xxxx xx11    incarca data 1, armeaza ceas

t14 xxxx xx10    genereaza front coborator la ceas cu data pe 1

t15 xxxx xx01    incarca data 0, armeaza ceas

t16 xxxx xx00    genereaza front coborator la ceas cu data pe 0

Fig.8. Serializarea datelor pe portul paralel

Dac este necesar se adauga un bit de paritate, start sau stop.

Pentru deserializare se procedeaza in modul urmator:

a) daca semnalul de date nu este insotit de semnal de ceas - este necesara cunoasterea frecventei (perioadei) cu care s-au generat bitii de date seriale si neaparat este necesar un front initial (bit de start) pentru a anunta un sir de date. Receptorul programeaza timer-ul la perioada de transmisie, frontul initial armeaza timerul, iar la prima intrerupere va citi primul bit de date, si succesiv se vor citi toti bitii de date.

b) daca semnalul de date este insotit de un semnal de ceas, frontul coborator al ceasului indica valoarea datei. Semnalul de ceas este legat la pinul de intreruperi externe, active pe front coborator, iar in rutina de tratare a intreruoperii se citeste bitul 1 care reprezinta bitul de date.   

4.3. Generarea de semnale PWM



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1806
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved