mux

Upload: bleoanca-vladimir-ioan

Post on 15-Jul-2015

189 views

Category:

Documents


0 download

TRANSCRIPT

Modulul 10Obiectivele modulului: Implementarea CLC cu componente MSI MUX i DMUX Codorul i decodorul Detectorul de paritate Sumatorul Teste de autoevaluare

10.1. Implementarea CLC cu circuite standard (tehnologie MSI)Practica proiectrii circuitelor logice combinaionale a impus realizarea unor circuite logice ce depesc complexitatea unei pori, prin intermediul crora se poate realiza o implementare mai eficient a unei categorii largi de funcii logice. Aceste circuite integrate sunt fabricate n tehnologie MSI (Medium Scale Integration), ceea ce nseamn o complexitate mai mare a chip-ului, pe el putnd fi realizate pn la 100 de pori logice. Se poate pune totui ntrebarea dac exist sau nu un circuit logic universal cu care s se poat realiza implementarea oricrei funcii logice. Rspunsul este afirmativ: exist un circuit care ndeplinete acest deziderat i acesta este multiplexorul (prescurtat MUX).

10.1.1. Multiplexorul (MUX) Multiplexorul realizeaz transmiterea datelor de pe una din cele m = 2 ci de intrare (I0, I1, I2Im) pe o cale de ieire unic W. Selectarea cii de intrare se face prin intermediul unor intrri de selecie. Notaii: Di = D0D7 variabile de intrare Si = S0,S1 configuraii binare (cuvnt binar) de selecie, prin care este selectat la ieire valoarea de pe una din intrrile Ii. II intrri de date; W ieirea circuitului 129n

Electronic digital. Teorie. Aplicaii. Teste

E - intrare de validare (ENABLE), care prin nivelul logic 1/0 aplicat permiteactivarea sau inactivarea comandat a circuitului.INTRRI DE DATE I7 I6 I5 I4 I3 I2 I1 I0

COD DE SELECIE

D7 D6 D5 D4 D3 D2 D1 D0 S1 S2 S3

MUXW E

0/1

INTRARE DE VALIDARE

IEIRE

Fig. 10.1. Simbolul logic al multiplexorului (MUX) Pentru cazul particular n = 3 (deci variabilele de selecie sunt S0, S1, S2), funcia de transfer a multiplexorului n forma FCD va fi:

W = (D7S2S1S0 + D6S2S1S0 + D5S2 S1S0 + D4S2 S1S0 + D3 S2S1S0 + D2 S2S1S0 M + D1S2 S1S0 + +D0 S2 S1S0 )ESe observ c pentru: E = 0 (E=1) W = 0 circuitul este inactivat

E = 1 (E=0) W = 1 circuitul este activat. Funcia de multiplexare const n transmiterea (transferarea) datelor de la una din cele m intrri Ii la o cale de ieire unic W, selectarea cii de intrare fcndu-se prin intermediul unui cuvnt binar de selecie de n bii. n Dac numrul intrrilor de date este m = 2 , ntre numrul m de date de n intrare i numrul n al biilor de selecie exist relaia: m = 2 . Implementarea acestui circuit se poate face i cu pori logice discrete, dup cum este exemplificat n figura 10.2, pentru un MUX 8:1. Tipurile de mutiplexoare utilizate curent sunt: - MUX cu 16 intrri de date, cu o intrare de validare (E) i o ieire ( W ) ambele active pe 0 logic (SN74150) - MUX cu 8 intrri de date, o intrare de validare (E) activ pe 0 i dou ieiri complementare ( W, W ) (SN74151). - MUX cu 8 intrri de date, fr intrare de validare i cu o ieire complementar ( W ) .130

Modulul 10

-

MUX cu 16 intrri de date, cu o intrare de validare (E) activ pe 1

logic i o ieire ( W ) (MMC 4067) etc. Uneori, intrarea de validare poate lipsi.D7 S3 S1 S0 E D6 D5 D4 D3 D2 D1 D0

NIVELUL "I" (TERMENI PRODUS)

E(D7S2S1S0)

E(D0S2S1S0) NIVELUL "SAU" (NSUMARE LOGIC )

W

Fig. 10.2. Implementarea unui MUX 8:1 cu pori logice Aplicaiile MUX Cele mai importante aplicaii ale multiplexoarelor sunt urmtoarele: Selecia secvenial; Conversia paralel/serie; Realizarea sistemelor de transmisie a datelor pe un singur canal, de tip Implementarea circuitelor logice combinaionale cu o singur ieire. Implementarea CLC cu MUX Pe lng rolul de a selecta diverse surse de semnal, multiplexorul poate fi folosit pentru a genera i pentru a simplifica (minimiza) funcii logice. Relaia care definete funcionarea unui MUX cu 8 intrri poate fi scris i sub forma: 131

MUX/DMUX;

Electronic digital. Teorie. Aplicaii. Teste

W = P0D0 + P1D1 + P2D2 + P3D3 + P4D4 + P5D5 + P6D6 + P7D7 unde s-a considerat: E = 1 . n aceast relaie s-au folosit urmtoarele notaii: D0,D1,D7 datele de intrare Pi = S2S1S0 codurile binare de selecie (Pi = CBA). Dac D0 = D1= .= D7 = 1 atunci MUX furnizeaz la ieirea W toi termenii canonici ai FCD. n acest caz, variabilele funciei W realizat de multiplexor sunt variabilele de selecie:

W = S 2 S 1 S 0 + S 2 S 1S 0 + S 2 S 1S 0 + ... + S 2 S 1S 0Eliminarea unora dintre aceti termeni se poate realiza prin punerea la 0 logic a intrrilor de date corespunztoare intrrii Di. Exemplul 10.1 Implementarea funciei: fi = P0 + P3 + P5 + P7 se realizeaz cu MUX dac se ndeplinesc condiiile: D0= D3= D5= D7= 1 i D1= D2= D4 = D6= 0, ceea ce nseamn c funcia W se va scrie astfel:

W = D 0 (S 2 S 1 S 0 ) + D 3 (S 2 S1S 0 ) + D 5 (S 2 S1S 0 ) + D 7 (S 2 S1S 0 )Aceast expresie evideniaz posibilitatea implementrii unei funcii logice cu n variabile de intrare (de exemplu 4 - D, S2,.S1, S0) cu un MUX avnd doar 2 intrri de date (D0, D1,D7), adic 2 = 8. Metoda aceasta se poate folosi doar cnd numrul de termeni ai funciei este cel mult egal cu numrul intrrilor de date al MUX folosit. Exemplul 10.2 Fie funcia logic de 4 variabile: f(A,B,C,D) = P0 + P3 + P6 + P9 + P11 + P13 + P15 Ea se mai poate scrie sub forma urmtoare:3 n-1

f = D(CBA ) + D(CBA ) + D(CBA ) + D(CBA ) + D(CBA ) + D(CBA ) + + D(CBA ) = DP0 + DP3 + DP6 '+DP1 + DP3 '+DP5 + DP7 = = DP0 '+DP1 + 0P2 + 1P3 + 0P4 + DP5 + DP6 + DP7Aceast funcie se poate implementa cu un MUX cu 2' ' ' ' ' ' ' ' ' ' ' '

n-1

= 8 intrri de date

i cu m = 3 intrri de selecie, dup cum se poate vedea n figura 10.3. 132

Modulul 10

"1" D C B AD7 D6 D5 D4 D3 D2 D1 D0 S1 S2 S3

"0"

MUXW E

0

f(A, B, C)

Fig. 10.3. Implemetarea unei funcii de 4 variabile cu un MUX cu 2 intrri de date i 3 intrri de selecie Plecnd de consideraiile fcute mai sus, pentru funcia din exemplul 10.1 se observ c:3

P0 = D C B A ;

P0 ' = C B A

deci implementarea funciei f = P0+ P3+ P5+ P7 se poate face ca n fig. 10.4."1" D0, D3, D5, D7=1 C B AD7 D6 D5 D4 D3 D2 D1 D0 S1

"0"

MUXS3 W E

"0"

f(A,B,C)=P 0+P3+P5+P7

Fig. 10.4. Implementarea cu MUX a funciei din exemplul 10.2 Observaii 1. Implementarea funciilor logice cu MUX are ca suport fizic faptul c un MUX 2 : 1, n nivelul I produce toi termenii produs, pe care apoi i nsumeaz logic n nivelul SAU, o singur dat, pentru realizarea unei singure funcii logice. Aceasta este o limitare intrinsec a acestui circuit logic combinaional. 2. La implementarea circuitelor logice combinaionale cu MUX nu este necesar minimizarea. 133n

Electronic digital. Teorie. Aplicaii. Teste

3. O funcie logic de n variabile se poate implementa folosind un MUX cu 2n-1

intrri (i nu cu 2 intrri), dac numrul termenilor funciei este mai mic dectn

n

numrul de intrri. Aceast soluie este mai economic dect dac s-ar folosi un MUX cu 2 intrri de date. 4. Cele 2 2 =16 funcii logice de 2 variabile se pot implementa cu MUX 4:1, adic cu MUX-uri cu 4 intrri de date i 2 intrri de selecie:D3 D2 D1 D0 11 10 01 002

M U X

D0 D1f(A,B)

0 1

MUX 2n:1Dn-2 Dn-1

W

A

B

Sn-1

S0

Fig. 10.5. Multiplexoare 2 :1 i 2 :1 La ieirea acestui multiplexor se obin toate funciile logice de 2 variabile: f 2 = D3 AB + D2 AB + D1 AB + D0 AB ; D3D2D1D0 { 0,1} Cele 16 forme ale acestei funcii se mpart n dou categorii: 6 forme banale:

2

2n

0; 1; A; B; A; BAB, AB, AB, AB, A + B, A + B, A + B, A B, A B

10 forme nebanale:

Trebuie remarcat faptul c pentru obinerea formelor banale nu este necesar s se foloseasc un MUX. Ele se pot obine fr nici o procesare, folosind pori logice obinuite: I, SAU, SAU-EXCLUSIV etc. 5. Multiplexorul (MUX) poate fi comparat cu un comutator rotativ multipoziional. Extinderea multiplexrii Extinderea capacitii de multiplexare (selecie) se poate face folosind un numr corespunztor de MUX-uri standard, validate succesiv prin intermediul unui circuit de decodare. n cazul n care sunt disponibile MUX cu mai puine linii de intrare, extinderea multiplexrii se poate realiza prin structurarea pe mai multe nivele, 134

Modulul 10

fiecare nivel avnd MUX-uri de capacitate mai mic. Ieirile MUX-urilor de pe un nivel se aplic pe intrrile MUX-urilor de pe nivelul urmtor. Aceast organizare se numete organizare n arbore, cu divergena de la ieire spre intrare. Spre exemplificare, multiplexarea n cazul a 16 linii de date de intrare, se poate realiza folosind multiplexoare 4:1, aa cum se poate vedea n fig. 10.6

D15D14D13D12

D11D10 D9 D8

D 7 D6 D 5 D 4

D3 D2 D1 D0

A B

S1 S0

MUX 4:1W

E

MUX 4:1W

E

MUX 4:1W

E

MUX 4:1W

E

C D

MUX 4:1W

E

Fig. 10.6. Multiplexare 16 : 1, realizat pe dou nivele cu MUX 4:1 n aceast structur arborescent, datele de intrare se aplic la ramuri, fiind selectate apoi pe trunchiul arborelui Observaie 1. MUX-ul de pe ultimul nivel va avea intrarea de validare general pentru organizarea extins, toate intrrile de validare ale celorlalte MUX-uri, fiind puse n starea activ E = 0 . 2. Cuvntul de selectare a fost mprit n dou cmpuri: cmpul cu biii cei mai semnificativi se repartizeaz pe ultimul nivel, cmpul cu biii cei mai puin semnificativi se repartizeaz la primul nivel. Selectarea datelor O conversie paralel/serie a datelor se poate realiza uor i simplu cu un MUX 2 :1. Biii unui cuvnt de lungimea 2 se aplic pe cele 2 intrri ale 135n n n

care este format dintr-un singur MUX

Electronic digital. Teorie. Aplicaii. Teste

multiplexorului.

Aplicnd

succesiv

pe

intrrile

de

selecien

cuvintele

corespunztoare n cod binar natural de la 0 la n-1, la ieire se transfer succesiv (n ordine) toi biii cuvntului aplicat pe intrri. Serializarea cu un MUX 2 : 1 poate fi fcut n scopul transmisiei seriale pe un singur fir. Citirea secvenial a cte unui singur bit de pe fiecare din cele 2 intrri ale MUX se poate extinde la o citire de k bii prin utilizarea n paralel a k MUX-uri.n

d0k

d1k

0 1 Yk

MUXk

d02 d12 d01 d11 PORT 0 PORT 1

0 1

2n-1

MUX20 1 2n-1 xn-1 x0

Y1

PORTURI DE INTRARE (k bii) d2n-11 PORT 2 n-1

MUX1

Y0

2n-1 xn-1 x0

PORT DE IEIRE (k bii)

xn-1

x0

SELECTARE COMUN PE CELE k MUX-uri

Fig. 10.7. Selectarea secvenial a cuvintelor cu k MUX-uri 2 :1n

10.1.2. Demultiplexorul (DMUX) Este un circuit logic combinaional care permite transmiterea datelor de pe o cale de intrare I (E sau E) , pe una din cele 2 ci de ieire. Selectarea cii de ieire se face prin aplicarea unui cuvnt de selecie pe cele m intrri de selecie (adres). Se poate afirma c demultiplexorul DMUX este un distribuitor de informaie de pe o linie de intrare pe 2 linii de ieire. 136n n

Modulul 10

S1 0 0 1 1

S0 0 1 0 1

IEIRI Y0=I S1S0 Y1=I S1S0 Y2=I S1S0 Y3=I S1S0S1 S0 Y3

2n-1 2n-2 I (ENABLE) 1 0

Y2n-1 Y -22n

Y2

DMUXY1 Y0

I Y1

Y0

xm-1 xm-2

x0

NIVEL "I"

SELECTARE ADRESE S1 S0

Fig. 10.8. Demultiplexorul: simbolul logic, structura i tabela de adevr a unui DMUX 4:1 De obicei, demultiplexoarele (DMUX) au ieirile Yi active n starea 0, iar intrarea I are rolul de variabil de validare (ENABLE). Ea se obine de obicei printro funcie logic de mai multe semnale (figura 10.9).S2 S1 S0 Q7 Q6 Y7 Y6

DMUX 8:1G2A G2B G1 Q0 Y0

I

I = ENABLE = G1 G 2 A G 2B

Fig. 10.9. Demultiplexor 8:1

137

Electronic digital. Teorie. Aplicaii. Teste

La ieirea acestui DMUX se obin toi minitermenii variabilelor de intrare I:

Y0 = I(S 0 S1 S 2 ....S n ) Y1 = I(S 0 S 1 S 2 ....S n )

Yn = I(S 0 S1S 2 ....S n )Extinderea demultiplexoare. Utilizarea DMUX pentru implementarea CLC DMUX-urile uzuale realizate n tehnologie MSI pot fi folosite pentru implementarea CLC. Aceasta presupune colectarea de la ieirea DMUX a minitermenilor Pi care au valoarea 1 n tabela de adevr i introducerea lor ntr-o poart NAND, deoarece, conform regulilor lui De Morgan, produsul logic se poate transforma n sum logic i invers: capacitii DMUX se poate face folosind mai multe

S

i

= Pi

Dac n tabela de adevr sunt mai puine valori de 0 logic dect de 1 logic, se poate face sinteza funciei negate. Prin introducerea minitermenilor negai de la ieirea DMUX, corespunztori valorilor 0 logic din tabela de adevr, ntr-o poart NAND (AND + NON) se obine negata funciei negate, adic funcia propriuzis.

Exemplul 10.3 Fie funcia logic (de 3 variabile):F=

(2, 4, 7) = (0,1, 3, 5, 6)0 0

7

7

Aceast funcie se poate implementa folosind un demultiplexor DMUX 8:1, dup cum se vede n figura 10.10. La ieirea i a DMUX se obine un produs logic Pi:

Yi = Pi = S 0 S 1 S 2 ....S n1Se observ c implementarea funciei const, de fapt, n colectarea tuturor minitermenilor Pi care au valoarea 1 logic cu o poart NAND, pentru a putea realiza produsul logic negat al mintermenilor negai: 138

Modulul 10

S2 S1 S0

Q7 Q6

Y7 (P7) Y6 Y5 Y4(P4) Y3 Y2 (P2) F = Y2 Y4 Y7= P2+ P4 +P7 Y1 Y0

DMUX 8:1E G2A G2B G1

Q0

Fig. 10.10. Implementarea unei funcii logice cu DMUX

10.1.3. Codificatorul (codorul) Este un circuit logic combinaional care furnizeaz la ieiri un cuvnt binar de m bii, atunci cnd numai una din cele n intrri ale sale este activat. Operaia se numete codificare sau codare. Codificatorul realizeaz operaia de asignare a unui cuvnt de cod fiecrui element al unei mulimi X:

Y = {y 0 y 2 ....y m1} - mulimea cuvintelor de cod - m elementeLungimea cuvntului de cod de la ieirea codificatorului este de m bii, iar lungimea cuvntului de intrare este de n bii. ntotdeauna este ndeplinit inegalitatea: n2m

X = {x 1x 2 ....x n } - mulimea de codificat n elemente

Cuvintele de intrare sunt numai cele care au un singur bit 1 logic, corespunztor intrrii activate, adic xi = 1. Rezult deci c forma canonic disjunctiv FCD a funciei se scrie astfel:i = 1, 2,...., n k = 0, 1, 2...., m 1 a {0,1} i

YK = ai xii =1

n

Aceast relaia indic faptul c, fizic, un codificator se poate realiza cu pori SAU (OR).

139

Electronic digital. Teorie. Aplicaii. Teste

xn-1 xn-2 n linii de intrare (1 linie activat)

In-1 In-2

Ym-1 Ym-2 m linii de ieire Y3 Y2 Y1 (lungimea cuvntului de cod: m bii)

Cx3 x2 x1 I3 I2 I1

Fig. 10.11. Simbolul logic al codificatorului

Exemplul 10.4 Codificarea cifrelor zecimale 1 10. Tabela de adevr a CLC care realizeaz aceast operaie este prezentat n fig. 10.12. L x1 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 1 0 0 0 0 0 0 0 0 0 x2 0 1 0 0 0 0 0 0 0 0 x3 0 0 1 0 0 0 0 0 0 0 x4 0 0 0 1 0 0 0 0 0 0 INTRRI x5 0 0 0 0 1 0 0 0 0 0 x6 0 0 0 0 0 1 0 0 0 0 x7 0 0 0 0 0 0 1 0 0 0 x8 0 0 0 0 0 0 0 1 0 0 x9 0 0 0 0 0 0 0 0 1 0 x10 0 0 0 0 0 0 0 0 0 1 Y3 0 0 0 0 0 0 0 1 1 1 IEIRI Y2 0 0 0 1 1 1 1 0 0 0 Y1 0 1 1 0 0 1 1 0 0 1 Y0 1 0 1 0 1 0 1 0 1 0

140

Modulul 10

INTRRI

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

CODIFICATOR

Linia activata L

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10

O3 Y3

O2 Y2 Y1IEIRI

O1

O0 Y0

Fig. 10.12. Codificator binar-zecimal: tabel de adevr i implemetare cu pori logice SAU (OR) Din tabela de adevr se observ c: numrului i. Operaia de codificare este suportat de un nivel logic SAU, deci circuitul poate fi implementat cu funcii SAU (OR). Activarea intrrii (elementului) xi va genera la ieirea Oi codul binar al

Codificatorul prioritar Fa de un codificator uzual, un codificator prioritar genereaz la ieire, dac mai multe intrri sunt activate simultan, codul intrrii activate care are prioritatea cea mai mare (cea mai ridicat). Pentru aceasta, fiecrei intrri i se atribuie o prioritate care crete cu numrul de ordine al intrrii. Codificatorul prioritar este prevzut, n afar de ieirile obinuite i cu alte ieiri i intrri, de exemplu o intrare OE (Output Enable) pentru validarea ieirilor Oi, o ieire (O) care s semnalizeze o operaie eronat, o intrare E pentru validarea circuitului etc. 141

Electronic digital. Teorie. Aplicaii. Teste

Aplicaie Sistemul de servire a ntreruperilor multiple la P poate fi mbuntit prin utilizarea unui codificator prioritar (fig. 10.13). La solicitarea unui periferic sau a mai multor periferice simultan, microprocesorul P, printr-o rutin de scrutare (POLLING TECHNIQUE) trebuie s identifice numrul perifericului cu prioritate maxim care a solicitat ntreruperea. n funcie de acest numr, P determin adresa de nceput a rutinei pentru servirea perifericului respectiv. Prin folosirea unui codificator prioritar PE, acest timp de rspuns al P la solicitarea unui periferic se micoreaz considerabil [16].D7 D3 D2 P D1 D0 O2 IRQ O I7 O1 O0 I1 MAGISTRALA DE DATE (DATA BUS)

Vcc

PE

PERIFERICE

Fig. 10.13. Sistem de servire a ntreruperilor multiple la un P Cnd una sau mai multe dintre intrrile I0..I7 devin active, codificatorul prioritar genereaz semnalul (O) care activeaz semnalul de cerere de ntrerupere ctre P - IRQ i totodat nscrie pe magistrala de date codul perifericului cu prioritatea cea mai ridicat care a solicitat ntreruperea. Prin aceasta, se elimin timpul de rulare a rutinei de scrutare pentru identificarea perifericului, deoarece acesta codific prioritar, nscrie un cuvnt de cod pe magistrala de date (DATA BUS) care poate fi utilizat de ctre P n calculul adresei de nceput a rutinei de servire a perifericului. Observaie Dac se noteaz cu N numrul binar exprimat de configuraia de intrare x7x6.x0 i cu M partea ntreag a numrului exprimat prin codul binar Y2Y1Y0, corespondena ntre intrare-ieire pentru un codificator prioritar este: M = [log2N] 142

Modulul 10

Deci, fizic, codificatorul prioritar calculeaz partea ntreag a logaritmului n baza 2 (log2 ) a numrului binar aplicat la intrare [12].

10.1.4. Decodificatorul (decodorul) Decodorul este un CLC cu mai multe ieiri, care servete la identificarea unui cod de intrare prin activarea unei singure linii de ieire, corespunztoare acestui cod. Numrul maxim de linii de ieire distincte m, corespunde numrului de combinaii posibile ale celor n variabile de intrare: m = 2 .xn-1 xn-2 In-1 In-2 Ym-1 Ym-2n

n LINII DEINTRARE

Dx2 x1 x0 I3 I2 I1 Y2 Y1 Y0

m LINII DEIEIRE

m=2n

Fig. 10.14. Decodificatorul (decodorul) Dac se noteaz cu N = xn-1, xn-2x1, x0 numrul configuraiilor binarede intrare i cu M = ym-1ym-2..y1y0 numrul binar exprimat de configuraiile binare de ieire, atunci decodorul realizeaz funcia M = 2 . Aceast funcie este inversa funciei realizat de codificatorul prioritar. Observaii 1. Dac analizm funcia realizat de un DMUX n care I = 1, rezult c decodorul este, de fapt, un identificator de cod. 2. Decodorul realizeaz aceeai funcie ca circuitul DMUX cu un DMUX 1:2 cu I = 1 este identic cu un decodor n : 2 : 3. Operaia de decodificare este (poate fi) realizat la un nivel NAND, deci decodorul poate fi implementat cu pori NAND.n n N

I = 1. Deci

Exemplul 10.5 Decodorul TTL binar-zecimal (BCD) SN7442 143

Electronic digital. Teorie. Aplicaii. Teste

Dup cum sugereaz i numele, acest decodor realizeaz decodarea (identificarea) primelor 10 combinaii binare de intrare (de la 0 la 9), pentru fiecare dintre acestea fiind activat una din cele 10 ieiri ale decodorului. Simbolul logic i schema de principiu a decodorului sunt prezentate n figurile urmtoare.9 D C B A

74422 1 0

D

C

B

A

0=DCBA 1=DCBA 2=DCBA 3=DCBA 4=DCBA 5=DCBA 6=DCBA 7=DCBA 8=DCBA 9=DCBA

D

C

B

A

Fig. 10.15. Decodorul BCD SN7442 144

Modulul 10

Tabela de adevr a decodorului TTL SN7442 este urmtoarea: Nr. D 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 INTRRI C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 IEIRI (DECIMAL OUTPUT) 2 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 5 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1

Principalele tipuri de decodoare: 74145); decodoare binar 7 segmente (BCD 7 segmente), cu 4 intrri i 7 decodor cod Gray/zecimal cu 4 intrri i 10 ieiri (7444); decodor BCD exces 3 n zecimal, cu 3 intrri i 8 ieiri (7443). Observaii 1. Decodoarele se pot implementa att cu pori NAND ct i cu pori NOR. 2. Implementarea decodoarelor ridic probleme de complexitate atunci cnd numrul n al variabilelor de intrare crete ieiri (7446, 7447); decodoare binar-zecimal BCD (Binary Coded to Decimal) cu 4 intrri i 10 ieiri (care pot funciona i ca DMUX cu 3 intrri i 8 ieiri (7442, 7445, 74141,

145

Electronic digital. Teorie. Aplicaii. Teste

3. Reducerea complexitii decodoarelor se poate face prin mai multe metode: a) mprirea cuvntului de cod de la intrare n dou cmpuri de lungimin1

n1 i n2; n1 + n2 = n. Se folosesc dou decodoare D1 - n1:2 2n1

i D2 - n2:2 , pentru

n2

care numrul ieirilor este mai mic dect pentru un singur decodor (figura 10.15): +2n2

2 ; n = n1 + n2n1

n

Ieirile celor 2 decodoare concur la selectarea unor pori NAND cu dou intrri plasate n nodurile unei matrice de dimensiunile 2 cele 2 ieiri.n

x 2 , deci se obin toate

n2

D2O3 x3x2 O3 x1 O2 O1 x0 O0 x1x0 x1x0 x1x0 x1x0 O2 x3x2 O1 x3x2 O0 x3x2

x3 x2

D1

Fig. 10.16. Reducerea complexitii decodoarelor b) Organizarea decodorului pe 2 nivele, fiecare nivel avnd decodoare de capacitate mai redus: - decodorul trebuie s aib intrri de validare (ENABLE) - cuvntul de intrare se mparte n dou cmpuri - biii cmpului superior se aplic la decodorul din primul nivel - biii cmpului inferior se aplic pe intrrile decodoarelor de la nivelul 2 - semnalele de ieire ale decodorului din primul nivel sunt semnale de validare pentru decodoarele din nivelul 2 (fig. 10.17). n acest mod, fiecare decodor de la nivelul 2 genereaz un numr egal de termeni canonici produs (minitermeni) dar situai n intervale disjuncte. Aceasta este o organizare n arbore", cu divergena de la intrare spre ieire. 146

Modulul 10

10.1.5. Convertorul de cod (transcodorul) Este un circuit logic combinaional care, pentru un cuvnt aplicat la intrare, va genera un alt cuvnt la ieire, deci circuitul realizeaz (mapeaz) o aplicaie ntre o mulime de cuvinte de intrare i o mulime de cuvinte de ieire, lungimile celor dou cuvinte fiind arbitrare. Maparea implementat de un transcodor trebuie s fie de 1:1. De fapt, orice circuit logic combinaional cu ieiri multiple poate fi considerat ca un convertor de cod. Organizarea unui transcodor se bazeaz pe o tabel de adevr care exprim maparea ntre cuvintele de intrare i cuvintele de ieire. Argumentul reprezint codul de intrare iar funcia (de ieire) reprezint codul de ieire.Intrari ENABLE ENABLE E NIVEL 1 x3 x21

x1 x0

4

D 2:4

D 4:1616

E NIVEL 2

E

E

E

D 2:4

D 2:4

D 2:4

D 2:4

P15 P14 P13 P12

P11 P10 P9 P8

P7 P6 P5 P4

P 3 P 2 P1 P 0

Fig. 10.17. Organizarea decodorului pe 2 nivele de decodificatoare Structura general a unui transcodor n general, const dintr-o pereche decodificator codificator. codul de intrare de n bii este aplicat mai nti la nivelul de decodificare,n

rezultnd o singur ieire din cele 2 posibile nivelul I 147

Electronic digital. Teorie. Aplicaii. Teste

-

ieirea rezultat este aplicat nivelului de codificare, care va genera un

nou cod al cuvntului original nivelul SAU (OR). Cele dou nivele AND i OR corespund celor dou operaii necesare implementrii funciei sub forma canonic disjunctiv FCD. Schema bloc a unui transcodor este urmtoarea:

n

codul de intrare

D n:2n nivel I

2n ieiri 1 activ

2n intrri

CODOR nivel SAU

m

codul de ieire

n

CONVERTOR DE COD I-SAU

m

Fig. 10.18. Schema bloc a unui transcodor

10.1.6. Comparatorul digital Este un circuit logic combinaional utilizat pentru determinarea valorii relative a dou numere binare A i B. Variabilele de intrare sunt cei n bii ai fiecruia dintre cele 2 numere binare A i B. Variabila de ieire arat care din relaiile: A = B; A < sau A > B este adevrat. Considernd dou numere de 1 bit A i B, stabilirea egalitii dintre ele se poate face cu o poart EX OR care ndeplinete funcia logic:

f e = A B = AB + AB = AB + A BSe constat c pentru: A=B AB fe = 1 fe = 0

A 0 0 1 1

B 0 1 0 1

fe 1 0 0 1

Determinarea inegalitilor A>B i AB) A B fek (A=B) fik (A B presupune ndeplinirea condiiilor: - A3 > B3 (fe3) sau: sau: sau: 149 - A2 > B2 i A3 = B3 (fe3)- A1 > B1 i A2 = B2 i A3 = B3 (fe2 i fe3) - A0 > B0 i Aa = B1 i A2 = B2 i A3 = B3Electronic digital. Teorie. Aplicaii. TesteAceste relaii conduc la funcia de superioritate: Fs = fs3 + fs2fe3 + fs1fe2fe3 + fs0fe3fe2fe1 care ia valoarea 1 numai pentru A > B. c) Condiia A < B presupune ndeplinirea condiiilor: - A3 < B3 deci fi3 - A2 < B2 i A3 = B3 deci (fe3) - A1 < B1 i A2 = B2 i A3 = B3 A0 < B0 i A1 = B1 i A2 = B2 i A3 = B3 FI = fi3 + fi2fe3 +fi1fe2fe3 + fi0fe1fe2fe3 Pornind de la observaia c, ntotdeauna, numai una din funciile Fe, Fi i Fs poate fi adevrat, se pot scrie relaiile urmtoare: sau: sau: sau:Aceste relaii arat c funcia de inferioritate Fi va avea expresia:Fe = Fi Fs Fi = Fe Fs Fs = Fe FiAceast constatare conduce la concluzia, c, n principiu, este necesar implementarea a numai dou din aceste funcii, cea de a treia obinndu-se cu dou inversoare i o poart I. n practic, se prefer implementarea tuturor celor 3 funcii de la punctele a, b, c n scopul uniformizrii timpilor de propagare pe cele 3 canale de ieire.fe3 fs2 fe3 fs1 fe2 fe3 fe0 fe1 fe2 fe3 fe0 fe1 fe2 fe3 Fs' P1P2FS (A>B) P3P4150Modulul 10Observaii 1. Funcia de inferioritate Fi se obine n mod similar, ea avnd o structur identic cu Fs, dar mrimile de intrare care au indicele s (superior) se vor scrie cu indicele i (inferior). 1. Fa de relaia de de punctul b), circuitul din figur mai are o poart P4, care realizeaz funcia: P4 = fe0fe1fe2fe3Fs. Aceast poart mai adaug un termen la relaia b) care face posibil interconectarea a 2 sau mai multe comparatoare de 4 bii, intrrile suplimentare Fe, Fs i Fi conectndu-se la ieirile comparatorului de 4 bii de rang inferior. Exemplul 10.7 Comparator de numere de 8 bii Circuitul poate fi realizat cu comparatoare de 4 bii, de tipul SN7485:+5V A0 A1 A2 A3 B0 B1 B2 B3 A4 A 5 A 6 A7 B4 B 5 B 6 B 7A=B Fs1' A>B Fi1' AB Fi2' AB) A B fek (A=B) fik (A