Sunteți pe pagina 1din 6

Platformdeelearningicurriculecontent pentrunvmntulsuperiortehnic

ProiectareaLogic

22.Aplicatiialeregistrelor

APLICATII ALE REGISTRELOR

Intrare Serial Date R +


S D Q D S Q D S Q D

Ieire Serial Date

S Q

3
CLK Q

2
CLK R Q

1
CLK R Q

0
CLK R Q

Ceas tergere

Q3

Q2

Q1

Q0

Figura 1. Un registru de deplasare cu patru ranguri implementat prin bistabile D.

Aceste registre pot fi folosite i pentru alte aplicaii, nu numai pentru stocarea unor vectori de valori binare. Sunt adesea folosite pentru a circula, sau deplasa, valorile din elementele de memorare constitutive ale registrului. n aceast subseciune abordarea se va orienta asupra componentelor registre care au att faciliti de memorare ct i de deplasare a informaiei. Astfel de registre sunt numite registre de deplasare. Figura 1 prezint logica unui registru de deplasare circular spre dreapta construit cu patru bistabili de tip D. Datele circul, n interiorul acestui registru, de la stnga la dreapta. La fiecare impuls de ceas, coninutul bistabilelor 2, 1 i 0 este nlocuit prin coninutul bistabilului respectiv aflat n stnga sa. Registrul este ncrcat cu date prin linia serial de date conectat la intrarea D a bistabilului 3 ( numit n figura 5 prin Intrare Serial Date). Registrul ofer posibilitatea conectrii ieirii sale seriale (notat prin Ieire Serial Date n figura 4) cu un dispozitiv digital, eventual cu propria intrare serial de date. Aa cum a fost conectat, acest registru are facilitatea iniializrii celor patru ranguri (bistabile) prin valoarea 0 (Linia tergere activ prin valori zero). n figura 1 se poate vedea o variant a registrului de deplasare din figura 4. Acesta este astfel conectat nct s poat fi ncrcat cu date n paralel n toate rangurile sale. ncrcarea paralel se face n dou etape. n prima etap, ntreg registrul este iniializat prin valori zero acionnd asupra liniei tergere (linia tergere este activ prin valoarea zero). Cea de-a doua etap ncarc, n paralel, selectiv, doar valorile nenule n registrul de deplasare (liniile de intrare I3', I2', I1' i I0' sunt active prin valori zero).

n aceast configuraie, aa cum este conectat registrul, bistabilul aflat n captul din stnga, al registrului (rangul 3), primete la intrrile sale date de la bistabilul aflat n captul din dreapta (rangul 0). Aceasta conexiune constituie deplasarea circular a informaiei binare din registru.

I3

'

I2

'

I1

'

I0

'

S D Q D

S Q D

S Q D

S Q

3
CLK Q

2
CLK R Q

1
CLK R Q

0
CLK R Q

Ceas tergere

Q3

Q2

Q1

Q0

Figura 2. Un registru de deplasare circular a datelor, avnd ncrcarea paralel.

Bistabilul aflat n captul din stnga, al registrului, primete la intrrile sale date de la bistabilul aflat n captul din dreapta. Aceasta constituie deplasarea circular a informaiei binare din registru. Datorit faptului c timpul de propagare a unui bistabil este mai mare dect timpul de pstrare, valorile stocate sunt deplasate corect de la un rang la altul al registrului. Operaia de deplasare pas cu pas a registrului este ilustrat grafic n figura 6 pentru o configuraie iniial cu valorile: Q1 = 1, Q2 = 0, Q3 = 0, Q4 = 0 urmat de aplicarea unei secvene de trei impulsuri ceas, pentru deplasarea informaiei n registrul respectiv.
Ceas 1 1 1 Q3 1 0 0 0 Q2 0 1 0 0 Q1 0 0 1 0 Q0 0 0 0 1

Figura 3. Deplsarea datelor n registrul de deplasare din figura 2.

Intrri i ieiri paralele comparativ cu cele seriale. Chiar dac circuitul din figura 1 are o abilitate primar de deplasare, nu exist o modalitate de ncrcare a registrului de deplasare cu un set de valori iniiale simultan n cele patru bistabile ale acestuia. Cele mai multe registre de deplasare cuprind o logic adiional pentru ncrcarea bistabililor interni, n paralel, cu valori de la liniile de date externe. Cele dou modaliti principale pentru realizarea acestui deziderat sunt mijlocite prin liniile de intrare de date seriale sau paralele. Abordarea care utilizeaz linia de intrare serial este cea mai simpl dintre cele dou modaliti. n loc s existe o conexiune ntre bistabilul aflat n extremitatea dreapt i cel din extremitatea stnga a registrului, ca n figura 1, exist o conexiune extern pentru bistabilul aflat n extremitatea stng a registrului. Registrul este ncrcat prin trimiterea succesiv a noilor valori la intrarea serial, concomitent cu impulsul de deplasare. Datele sosite se vor deplasa la fiecare impuls de deplasare prin bistabilele registrului, prsind registrul prin linia serial de ieire. Un registru de deplasare cu intrri paralele are o logic de multiplexare la intrarea fiecrui bistabil intern. Astfel de registru are dou moduri de funcionare: modul de deplasare (serial) i modul de ncrcare (paralel). Un bistabil primete o nou valoare de la vecinul din stnga atunci cnd registrul este n modul de deplasare sau de la o intrare extern cnd registrul este n modul de ncrcare.
Intrarea Serial Date
I3

ncarc' / Deplaseaz
I2 Select MPX D1 2:1 S Q D Q D D0 I1 Select MPX D1 2:1 S Q D D0 I0 Select MPX D1 2:1 S Q D0

S D

Ieirea Serial Date

3
CLK Q

2
CLK R Q

1
CLK R Q

0
CLK R Q

Ceas tergere

Q3

Q2

Q1

Q0

Figura 4. Registru cu posibilitatea ncrcrii seriale ori paralele, a datelor, prin linia de comand ncarc' / Deplaseaz.

O situaie asemntoare se ntlnete i ntre ieirile seriale i cele paralele. Ieirile paralele sunt realizate prin faptul c ieirile bistabilelor interne sunt vizibile, de regul, la pinii capsulei registrului. n cazul ieirilor seriale, este vizibil n exteriorul registrului numai valoarea ultimului bistabil, cum ar fi, spre exemplu, Q0 din figura 1. 3

Scopul primar al utilizrii iesirilor seriale este reducerea numrului de conexiuni externe ale circuitului integrat, deoarece ieirile bistabilelor sunt ntotdeauna disponibile n interiorul registrelor de deplasare.
Registrul de deplasare cu utilizri multiple

Pentru a ilustra acest concept se va considera registrul 74x194, numit i registrul universal, bidirecional de deplasare cu patru ranguri.
MODURILE DE UTILIZARE ALE CIRCUITULUI SN 74/54194 INTRRI IEIRI Mod Serial Paralel C S1 S0 L LSI RSI A B C D Qa Qb Qc K X X X X X X X X X L L L X X X X X X X X Qa0 Qb0 Qc0 H H X X a b c d a b c L H X H X X X X H Qa0 Qb0 L H X L X X X X L Qa0 Qb0 H L H X X X X X Qb0 Qc0 Qd0 H L L X X X X X Qb0 Qc0 Qd0 L L X X X X X X X Qa0 Qb0 Qc0

C L R L H H H H H H H

Qd L Qd0 d Qc0 Qc0 H L Qd0

Figura 8 prezint simbolul i tabelul de funcionare al registrului universal 194. Acest dispozitiv poate opera n patru moduri distincte, determinate de valorile intrrilor de control S1 i S0: Pstreaz datele (S1S0 = 00), Deplaseaz spre dreapta, QA spre QD, (S1S0 = 01), Deplaseaz spre stnga, QD spre QA, (S1S0 = 10), i ncarc paralel de la liniile de intrre A, B, C, D (S1S0 = 11). Registrul are, adiional, un semnal asincron de iniializare CLR (activ prin valori coborte) care ncarc valoarea 0 n toate bistabilele, i dou linii de intrare seriale de deplasare denumite LSI i RSI. ncrcarea paralel este condiionat de valorile liniilor (S1S0 = 11) i are loc pe durata frontului cresctor a impulsului de ceas. n acelai timp, valoarea aflat pe linia de intrare A este stocat n bistabilul QA, valoarea aflat pe linia de intrare B este stocat n bistabilul QB i aa mai departe. Aceast operaie poart numele de ncrcare sincron deoarece se produce sincron cu apariia impulsului de ceas. Valorile liniilor de selecie pentru deplasarea la dreapta (S1S0 = 01) produc efectiv o deplasare la dreapta a coninutului registrului la apariia frontului pozitiv al impulsului de ceas. Pe frontul cresctor al impulsului de ceas, valoarea pe linia de intrare RSI este ncrcat n QA, valoarea din QA se ncarc n QB, valoarea din QB se stocheaz n QC iar valoarea din QC trece n QD. Valoarea anterioar din QD se va pierde. Se poate construi un registru cu deplasare circular spre dreapta prin conectarea ieirii QD la intrarea RSI. Dac S1 = 1 i S0 = 0 atunci se specific o deplasare la stnga. n acest caz, valoarea liniei LSI se ncarc n QD, valoarea anterioar din QD se stocheaz n QC, vechea valoare din QC se va deplasa n QB, iar valoarea iniial din QB trece n QA, toate aceste deplasri avnd loc pe durata frontului cresctor a impulsului de ceas. Se poate

implementa, similar modului descris anterior, un registru de deplasare spre stnga, circular, prin conectarea liniei QA cu linia LSI. Dac att linia S1 ct i linia S0 sunt zero, atunci registrul de deplasare pstreaz starea curent. Liniile de ieire nu-i schimb valorile chiar dac au loc tranziii pozitive ale semnalului de ceas.

O aplicaie simpl a registrelor de deplasare. Se consider problema comunicrii, printr-o linie telefonic, dintre un calculator i un terminal. Terminalul ateapt s apar datele n format paralel, octet dup octet. Dar datele sunt trimise de la calculator pe linie n mod serial. Registrele de deplasare joac un rol cheie n asemenea sisteme de comunicaie deoarece acestea pot face conversia dintre formatele paralel i serial. Se va puncta proiectarea acestei conversii utilznd circuitul SN 74/54194. O implementare parial a acestui subsistem este artat n figura 9.
S1 S0 LSI D7 D6 D5 D4 Ceas D C B A RSI CLK CLR S1 S0 LSI D C B A RSI CLK CLR

194
QD QC QB QA

194
QD QC QB QA D7 D6 D5 D4

S1 S0 LSI D3 D2 D1 D0 D C B A RSI CLK CLR

194
QD QC QB QA

S1 S0 LSI D C B A RSI CLK CLR

194
QD QC QB QA D3 D2 D1 D0

Figura 9. Transmisie serial paralel pe 8 bii realizat cu circuitul SN 74/54194.

Pe partea emitorului, sunt ncrcate cuvinte de date avnd 8 bii (octei) n paralel n registrul de deplasare, conectat cascadat, prin aducerea ambelor linii S1, S0 la valoarea 11, ((S1S0) = (11)). Att emitorul ct i transmitorul vor intra n modul de deplasare spre stnga atunci cnd (S1S0) = (01). Deplasarea are loc pe durata a opt impulsuri de ceas, transmind D0, D1,... , pn la D7, cte un bit o dat pentru fiecare impuls de ceas. Dendat ce toi cei opt bii au fost trimii, se poate plasa receptorul n starea de ateptare aducnd liniile (S1S0) la valorile (00).