CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
Aplicatii ale registrelor de deplasare
1. Conversia unui cuvant binar serie intr-un cuvant paralel
Registrul care se foloseste este SIPO:
Cand este adusa la 0 logic, intrarea nCLR (nMR) determina stergerea tuturor iesirilor Qi, indiferent de starea semnalului de tact. In principiu nu este necesara initializarea continutului registrului, deoarece el se va suprascrie oricum dupa 8 impulsuri de tact.
Secventa de inscriere a informatiei este D , D ,, D - fiind necesare 8 impulsuri de tact pentru ca bitul 7 (cel mai semnificativ) sa ajunga la iesire pe pozitia corecta - Q . Ritmul in care sunt adusi bitii la SIN trebuie sa fie corelat cu secventa de aplicare a impulsurilor de tact (figura 5.24). Chiar daca intern bistabilele D din componenta registrului comuta pe frontul scazator al semnalului de tact, in registrele SIPO integrate semnalul de tact este inversat intern si de aceea semnalul de tact din figura 3.24 este activ pe frontul crescator.
Trebuie remarcat ca fiecare dintre pinii Qi poate fi folosit si ca iesire seriala (circuitul se poate folosi si ca SISO1 SISO8).
Conversia serie-paralel este utila pentru extinderea numarului de iesiri intr-un sistem cu microcontroler, mai ales la un microcontroler cu numar redus de pini - PIC16F84A de exemplu are 18 pini, dintre care 13 pini I/O care nu sunt intotdeauna suficienti pentru o anumita aplicatie. Schema din figura 5.25 utilizeaza 2 linii I/O pentru generarea semnalului de tact si date pentru SIPO8 (un 74LS164 de exemplu). Un al treilea pin I/O permite stergerea simultana a iesirilor Q7 - Q0, dar de obicei aceasta facilitate nu este necesara.
Secventa de incarcare a lui U2 este obtinuta prin repetarea de 8 ori a succesiunii: SIN (I/O2) = Di, CLK (I/O1) = 1, CLK (I/O1) = 0; primul bit inscris va fi bitul 7.
Desi corecta principial, schema din figura 5.25 are o problema subtila: pe durata incarcarii seriale, iesirile Q[7-0] se modifica in conformitate cu informatia seriala deplasata in registru, producand zgomote nedorite in sistem. Presupunand pentru U1 un microcontroler modern cu o putere de calcul de 1 MIPS si durata executiei unei instructiuni de 1 s, sunt necesare 3 s pentru fiecare bit inscris, respectiv 24 s pentru intregul cuvant de 8 biti. Daca la iesirile Q[7-0] sunt conectate niste LED-uri, ochiul nu va sesiza aceasta palpaire de 24 us; daca insa Q[7-0] comanda un DAC, un control al volumului intr-un generator de functii sau intr-un dispozitiv audio, zgomotele vor fi deranjante. Pentru a rezolva acest neajuns trebuie utilizate registre care ofera un etaj suplimentar de memorare cu strobare, de tip 74LS595 (figura 5.26).
Tema. Cate linii I/O sunt necesare pentru comanda a 16 linii de iesire?
2. Conversia unui cuvant binar paralel intr-un cuvant serie
Registrul folosit este PISO (figura 3.28):
Optional poate exista si o intrare nCLR (nMR), care nu este reprezentata. Pentru inscrierea datelor Di7, , Di0 linia SH/nLD = 0 si se aplica un impuls de tact. Inscrierea propriu-zisa se face pe frontul crescator al semnalului de tact. Pentru citirea seriala a datelor (a cuvantului de n biti) se face SH/nLD = 1 si se aplica n-1 impulsuri de tact.
Intreaga operatie de conversie necesita n perioade de tact, prima fiind destinata pentru incarcarea paralela, iar restul pentru citirea seriala (figura 5.27).
Conversia paralel-serie este utila pentru extinderea numarului de intrari intr-un sistem cu microcontroler. Schema din figura 5.28 utilizeaza 3 linii I/O pentru generarea semnalului de tact (CLK), comanda (SH/nLD) si citire seriala (SOUT) pentru PISO8 (un 74LS165 de exemplu).
Secventa de citire a lui U2 este obtinuta prin comanda inscrierii paralel a lui U2: SH/nLD (I/O2) = 0, CLK (I/O1) = 1, CLK (I/O1) = 0, citirea lui Di7 care este disponibil in acest moment la SOUT, facand SH/nLD (I/O2) = 1 si apoi prin repetarea de 7 ori a succesiunii: CLK (I/O1) = 1, CLK (I/O1) = 0; citire Di. Primul bit citit este Di7 iar ultimul Di0.
Tema. In schema din figura 5.30 sa se utilizeze un 74LS597. De cate linii I/O este nevoie pentru citirea a 16 linii de intrare?
3. Realizarea unei intarzieri in transmiterea seriala a informatiei utilizand un registru de SISO
Daca n este numarul de biti ai registrului, atunci intarzierea produsa este: ΔT = n TCLK unde TCLKeste perioada semnalului de tact. Se utilizeaza doar intrarea si iesirea serie a registrului (SIN si SOUT).
Trebuie sa existe o sincronizare intre bitii aplicati la intrare si impulsurile de tact CLK. Frontul crescator al semnalului de tact trebuie sa gaseasca bitul pe care il inscrie avand un nivel stabil.
4. Numaratorul in inel
Aplicatia principala e generarea secventiala a unor semnale de comanda destinate comutarii succesive a unui numar n de circuite digitale. Numaratorul utilizeaza un registru combinat cu incarcare si citire paralel (PIPO), prevazut cu intrare si iesire seriala. Prin incarcare paralela registrul (numaratorul in inel) se initializeaza intotdeauna cu un cuvant binar de n biti, un bit pe 1 logic, n - 1 biti pe 0 logic. Iesirile paralele sunt necesare pentru a obtine n semnale de comanda, fara a mai fi necesar un decodificator. In schema din figura 5.30 se utilizeaza un registru universal 74LS194 cu S0 = 1 si intrarile D D D D
Succesiunea operatiilor:
initializarea se realizeaza pentru SH/nLD = 0, D D D D = 0001 si aplicand un impuls de tact.
Se comuta SH/nLD = 1 si se aplica impulsuri de tact un timp nedefinit (figura 5.30).
Circuitul are un ciclu de functionare de n perioade de tact (in cazul din figura 5.30 sunt patru stari distincte). Dupa terminarea unui ciclu incepe un alt ciclu identic la iesirile Q3 - Q0. Urmarind oricare dintre iesirile Qi se constata ca circuitul se comporta ca un divizor de frecventa pentru frecventa tactului:
Trebuie remarcat ca nu exista situatie cand doua iesiri sa fie pe 1 simultan Circuitul poate fi considerat numarator al impulsurilor de tact aplicate deoarece pentru fiecare impuls de tact dintr-un ciclu starea iesirilor Q3 - Q0 este distincta, existand n stari distincte (in cazul nostru n = 4).
Tabelul 5.3
Functionarea numaratorului in inel cu 74LS194
Nr. tact |
Q |
Q |
Q |
Q |
Explicatie |
|
Initializare |
nMR = 0 |
|||||
S1 S0 = 11 (incarcare paralel) |
||||||
ciclul complet de functionare cuprinde 4 impulsuri de tact |
S1 S0 = 01 (deplasare dreapta) |
|||||
Numaratorul in inel poate fi privit si ca un distribuitor secvential de impulsuri ce poate fi folosit la comanda secventiala a unor relee electromagnetice sau a unor elemente de executie - actuatoare -(dispozitive sau circuite care atunci cand sunt comandate efectueaza o anumita operatie).
Q conduce T prin infasurarea releului R se inchide un curent la masa, releul R0 anclanseaza iar contactul K se inchide. Toate celelalte relee sunt neanclansate si contactele acestora deschise. Astfel releele sunt anclansate si contactele acestora inchise pe rand, ciclic, in succesiunea data de numaratorul in inel.
Q conduce T prin infasurarea releului R se inchide un curent la masa, releul R0 anclanseaza iar contactul K se inchide. Toate celelalte relee sunt neanclansate si contactele acestora deschise. Astfel releele sunt anclansate si contactele acestora inchise pe rand, ciclic, in succesiunea data de numaratorul in inel.
Dioda D este necesara pentru "taierea" tensiunii de autoinductie care apare la bornele infasurarii releului, cu polaritatea din figura 5.33, in momentul blocarii tranzistorului. Daca nu ar exista dioda de descarcare a energiei electromagnetice inmagazinate in infasurarea releului pe timpul conductiei tranzistorului, tensiunea aplicata intre drena si sursa tranzistorului ar fi:
di
U DS = Ud + L d
dt
-L este inductanta infasurarii releului.
Aceasta tensiune ar putea atinge valori ridicate ce ar conduce la distrugerea tranzistorului. Prevenirea acestui fenomen se face prin conectarea diodei D in paralel cu infasurarea releului, cu anodul in drena tranzistorului.
Releele pot fi inlocuite cu alte actuatoare (elemente de executie) sau chiar cu infasurarile unui motor pas cu pas.
5. Numaratorul Johnson
La aceasta varianta se utilizeaza un registru mai simplu (intrare serie, iesire paralel, SIPO). Initializarea numaratorului se face prin aplicarea unui impuls de stergere. Numarul de stari distincte ale circuitului in cazul unui ciclu complet de functionare nu mai este n ci este 2n.
Descrierea functionarii
Initializarea se realizeaza aplicand un semnal de stergere nMR = 0, care determina Q Q Q Q
In continuare se aplica impulsuri de tact pe o perioada cit se doreste functionarea circuitului.
Tabelul 5.4
Functionarea numaratorului Johnson pentru n = 4 biti
Nr. tact |
Q |
Q |
Q |
Q |
|
Initializare | |||||
ciclul complet defunctionare cuprinde8 impulsuri de tact | |||||
f
Din tabelul 5.4 si figura 5.34 se observa ca pentru orice iesire Qi TQi = 2n TCLK , respectiv fQi = CLK
2n
Circuitul functioneaza ca divizor de frecventa cu 2n . In cadrul unui ciclu circuitul functioneaza ca numarator pana la 2n m = 2n si m numarul starilor distincte ale circuitului, in cadrul ciclului de functionare m purtand si denumirea de modulul numaratorului in inel.
Este posibila numararea impulsurilor de tact deoarece fiecarui impuls de tact ii corespunde un cod binar, urmarind valorile de la iesirile Q . Astfel de circuite pot fi utilizate pentru comanda succesiva
intretesuta a n elemente actuatoare.
In figura 5.35 este prezentata realizarea practica a unui numarator Johnson pe 8 biti si diagramele de semnal aferente.
6. Memoriile FIFO si LIFO
Sunt memorii temporare organizate pe n cuvinte binare de cate b biti compuse din b registre de deplasare seriale SISO de cate n biti fiecare.
FIFO - First In First Out (primul cuvant scris este primul citit). LIFO -Last In First Out (ultimul cuvant scris este primul citit).
In functie de memorie deplasarea poate fi intr-un sens sau in ambele sensuri. In cazul in care deplasarea are loc in ambele sensuri, registrul trebuie prevazut cu o intrare care sa indice sensul de deplasare.
Memoria FIFO
Daca se doreste memorarea a n cuvinte de b biti trebuie utilizate b registre de deplasare, fiecare registru fiind format din n bistabile. In acest caz informatia se deplaseaza intr-un singur sens - de la stanga la dreapta. Inscrierea informatiei se face paralel, la fel si citirea. Primul cuvant citit este primul cuvant scris in memorie. Citirea (dar simultan si inscrierea) se realizeaza pe frontul crescator al impulsurilor de tact.
Inscrierea cuvintelor binare de b biti in memorie se face in paralel pe cele b intrari seriale prin aplicarea a cate unui impuls de tact si deplasarea acestora spre dreapta. Citirea se face tot paralel pe cele b iesiri seriale aplicand in continuare impulsuri de tact.
Memorie este plina atunci cand s-au inscris toate cele n cuvinte binare de cate b biti. Dupa umplerea complecta a memoriei primul cuvant citit este primul cuvant inscris in memorie.
In procesul de citire informatia se deplaseaza in continuare spre dreapta cu fiecare impuls de tact aplicat. Prin citire, informatia se pierde! Acest tip de memorie poate fi utilizat la gestionarea adreselor altor memorii pe durata intreruperilor unui sistem cu microprocesor.
Memoria LIFO
Pentru aceasta memorie este necesar un registru SISO bidirectional. In acest caz registrele au o linie
R / L care specifica sensul deplasarii.
Inscrierea cuvintelor se face ca si la memoria FIFO, prin deplasarea spre dreapta a datelor
R / L iar citirea se face prin deplasarea in sens invers (spre stanga) a acestora R / L . Astfel ultimul
cuvant inscris este si primul citit. Iesirile de date sunt reprezentate de iesirile Q n ale fiecarui registru.
Memoria LIFO se utilizeaza ca memorie stiva in sistemele cu microprocesoare.
Tabelul 5.5 Sinteza principalelor tipuri de registre
Tip registru |
Comuta pe |
TTL |
CMOS |
Observatii, comentarii |
|||||||||
Cod |
n |
4006 Cod |
18 n |
configurabil 2x4,5,8,9 sau 1x10, 12, 13, 14, 16, 17, 18 | |||||||||
SISO |
Front |
1 registru in capsula 2 registre in capsula, prize la 16, 32, 48 si 64 | |||||||||||
SIPO |
Front |
2 registre de 4 biti intr-o capsula | |||||||||||
PIPO |
Front |
idem 374, alta dispunere pini Latch D cu controlul polaritatii tactului | |||||||||||
PISO |
Front |
intrari J nK | |||||||||||
Combinate |
Front |
PIPO, SIPO, PISO | |||||||||||
Front | |||||||||||||
Universale |
Front | ||||||||||||
Front |
3 stari |
DISTRIBUIE DOCUMENTUL
Comenteaza documentul:Te rugam sa te autentifici sau sa iti faci cont pentru a putea comentaCreaza cont nou Termeni si conditii de utilizare | Contact
|