Documente Academic
Documente Profesional
Documente Cultură
0. Cuvant inainte
Număr ore curs: 28 ore (2 ore curs/saptamana – in fiecare miercuri orele 08-10)
Număr ore aplicaţii (proiect + laborator): 28 ore (dl. Constantin Victor)
Numărul de puncte de credit: 4
EVALUAREA
a) Activităţile evaluate şi ponderea fiecăreia:
activitate la aplicaţiile de laborator: 20 pct.
verificare proiect: 20 pct.
prezenţă la curs: 10 pct.
Examen final: 50 pct.
b) Cerinţele minimale pentru promovare
efectuarea tuturor lucrărilor de laborator
elaborarea şi predarea proiectului
obţinerea a 50% din punctaj la verificarea finală
c) Calculul notei finale - prin rotunjirea simetrică a punctajului final. (Conform Regulamentului
studiilor universitare de licenţă, punctajul minim pentru promovarea unei discipline este de 50
puncte).
Cap. 1 Introducere
Cursul de „Componente mecatronice digitale” are drept obiectiv transmiterea de cunoştinţe
despre componentele electronice digitale şi de semnal mixt utilizate în comanda sistemelor
mecatronice. Pentru atingerea acestui obiectiv, in cadrul cursului vor fi prezentate elementele
fundamentale de algebră booleană, circuitele digitale fundamentale şi principalele lor aplicaţii,
evidenţierea diferitelor categorii de circuite de comandă şi control pentru sisteme mecatronice, cu
exemple de aplicaţii.
Unul dintre cele mai utilizate suporturi pentru transmiterea si prelucrarea informatiei este
curentul electric caracterizat, in special, prin marimile: tensiune si intensitate, cu parametrii:
amplitudinea, faza, frecventa, care sunt cei care pot exprima cantitativ informatia.
Acest fapt este dovedit prin dezvoltarea spectaculoasa pe care a avut-o electronica, si ramurile
ei conexe: automatica, microelectronica, informatica, comunicatiile etc., in ultimii 70 de ani, dupa
inventarea tranzistorului (1947), a circuitelor integrate (1959) si mai apoi culminand cu realizarea
microprocesorului (1971).
Succesul electronicii s-a datorat si dezvoltarii electronicii digitale (din limba engleza digit =
cifra) care se caracterizeaza prin faptul ca semnalele electrice pot lua numai valori discrete.
Cel mai simplu sistem discret este cel binar, caracteristic majoritatii sistemelor sau circuitelor
digitale, in care semnalele de intrare si de iesire pot lua doar doua valori asociate conventional lui „0”
(zero logic) si „1” (unu logic). In limbaj curent ne vom referi la aceste doua valori cu notiunea de „bit”
(din limba engleza binary digit = cifra binara).
Bitul se defineste in teoria informatiei si este o unitate de masura a acesteia, echivalenta cu
informatia transmisa prin furnizarea unui mesaj din doua egal probabile.
In electronica digitala alegerea reprezentarii binare a informatiei s-a datorat, in primul rand,
existentei unor elemente de circuit care prezinta doua stari distincte: tranzistorul unipolar – FET - sau
bipolar – BJT – in regim de comutatie, intrerupatoare, relee etc.
In electronica digitala, din considerente practice de implementare a circuitelor electronice, cea
mai utilizata forma de reprezentare a cifrelor binare este prin doua intervale distincte ale tensiunii. De
exemplu, in conventia de logica pozitiva, valorii binare „1” logic i se asociaza un interval de tensiune
VH, mai ridicat fata de masa, iar valorii „0” logic i se asociaza un interval de tensiune VL mai
coborat (fig. 1). Zona dintre cele doua intervale de tensiune este o zona interzisa, semnalele de
tensiune fiind valide numai cand au valori situate in intervalele permise VH si VL.
Fig. 1.1
Fig. 2.1 Tabelele de adevar, simbolurile grafice si implementarea prin contacte electrice pentru
disjunctie, conjunctie si complementare logica
x y f(x,y)=x · y x y z f(x,y,z)
0 0 0 0 0 0 1
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 1 0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Fig. 2.2 Reprezentare prin tabele de adevar a unei functii de 2 variabile (functia “SI”) si a unei
functii oarecare de 3 variabile
c) Diagrama Karnaugh
O diagrama Karnaugh pentru o functie booleana de n variabile se deseneaza sub forma unui
patrat sau dreptunghi impartit in 2n compartimente. Fiecare compartiment este rezervat unui termen al
functiei, respectiv unuia dintre varfurile cubului n dimensional din reprezentarea geometrica a functiei.
Diagrama Karnaugh se noteaza fie indicand domeniul fiecarei variabile, fie indicand pe linii si
coloane perechi de zerouri si unitati corespunzatoare valorilor variabilelor.
Diagrama Karnaugh este organizata astfel incat doua compartimente vecine pe o linie sau pe o
coloana corespund la doi termeni care difera numai prin valoareaunei singure variabile, care apare in
unul adevarata, iar in celalalt negata, adica numerotarea liniilor si coloanelor se face in cod Gray (cod
binar reflectat). Se considera vecine si compartimentele aflate la capetele opuse ale unei linii, respectiv
coloane. Adica trebuie imaginat ca latura din stanga a diagramei Karnaugh este in continuarea celei din
dreapta, iar latura de sus in continuarea celei de jos.
xy 00 01 11 10 y yz
0 0 1 0 x 0 1 x 00 01 11 10
0 0 0 0 1 0 0 0
1 0 1 1 0 0 1 0
Fig. 2.4 Reprezentare grafica a unei functii de 2 variabile (functia “SI”)
si a unei functii oarecare de 3 variabile
Observatii:
- tabelul contine la valorile functiei toate combinatiile posibile de zerouri si unitati carora, in
functie de semnificatia logica, li s-au dat denumiri;
- f0 si f1 nu sunt functii ci constante;
- f2, f3, f4 si f5 nu sunt functii de doua variabile ci doar de o singura variabila;
- functiile apar in perechi (functia si inverse ei).
In practica, cele mai frecvent intalnite functii de doua variabile sunt SI, SI-NU (NAND), SAU,
SAU-NU (NOR), XOR si XNOR.
NU SAU SI
SI-NU
SAU-NU
Pentru ca acest produs sa fie unu intr-un anume punct al domeniului de definitie, este necesar
i
ca toti termenii produsului sa fie egali cu unu in acel punct. Pentru ca un termen de forma x j sa fie
j
( n)
unu este necesar ca ij=xj. De aici rezulta urmatoarea regula de scriere a functiei elementare mk : in
conjunctia variabilelor, variabilele care iau in respectivul punct al domeniului de definitie valoarea
zero se vor lua negate iar celelalte nenegate.
(n)
Definitie: Se numeste constituent al lui zero (maxterm) functia elementara M k caracterizata prin
aceea ca ia valoarea zero intr-un singur punct al domeniului de definitie.
Pentru ca aceasta suma sa fie zero intr-un anume punct al domeniului de definitie, este necesar
i
ca toti termenii sumei sa fie egali cu zero in acel punct. Pentru ca un termen de forma x j sa fie zero
j
(n)
este necesar ca i j x j . De aici rezulta urmatoarea regula de scriere a functiei elementare M k : in
disjunctia variabilelor, variabilele care iau in respectivul punct al domeniului de definitie valoarea unu
se vor lua negate iar celelalte nenegate.
In tabelul urmator s-au indicat constituentii unitatii si ai lui zero in fiecare punct al domeniului
de definitie pentru o functie de trei variabile.
x1 x2 x3 y mk( 3) x1i1 x 2i2 x3i3 M k( 3) x1i x 2i x3i1
Exemplu de functie
2 3
0 0 0 0 m0( 3) x1 x 2 x3 M 0( 3) x1 x 2 x3 0
0 0 1 1 m1( 3) x1 x 2 x 3 M 1( 3) x1 x 2 x3 1
0 1 0 2 m2( 3) x1 x 2 x3 M 2( 3) x1 x 2 x3 0
0 1 1 3 m3( 3) x1 x 2 x 3 M 3( 3) x1 x 2 x3 1
1 0 0 4 m4( 3) x1 x 2 x3 M 4( 3) x1 x 2 x3 1
1 0 1 5 m5( 3) x1 x 2 x 3 M 5( 3) x1 x 2 x3 0
1 1 0 6 m6( 3) x1 x 2 x3 M 6( 3) x1 x 2 x3 1
1 1 1 7 m7( 3) x1 x 2 x 3 M 7( 3) x1 x 2 x3 0
In coloana a patra din tabel s-au notat cu k valorile nespecificate ale functiei booleene y de trei
variable. In ultima coloana, prin specificarea acestor valori, a fost dat un exemplu concret de functie.
Formele canonice ale unei functii booleene de trei variabile sunt urmatoarele:
- FDC:
y 0 m0(3) 1 m1(3) 2 m2( 3) 3 m3(3) 4 m 4(3) 5 m5(3) 6 m6(3) 7 m7(3)
- FCC:
y 0 M 0(3) 1 M 1( 3) 2 M 2(3) 3 M 3(3) 4 M 4(3) 5 M 5(3) 6 M 6(3) 7 M 7(3)
In cazul general al unei functii de n variabile, forma disjunctiv canonica reprezinta disjunctia
constituentilor unitatii pe care ii are functia:
2 n 1
FDC: y f ( x1 , x2 ,, x n ) k mk( n )
k 0
Daca se revine la exemplul functiei de trei variabile prezentat in tabel, vor rezulta urmatoarele
forme canonice:
- FDC: y f ( x1 , x 2 , x3 ) m1(3) m3(3) m 4(3) m6(3)
sau
y x1 x 2 x 3 x1 x 2 x3 x1 x 2 x 3 x1 x 2 x3
Se observa ca din expresia generala dispar termenii pentru care k=0 deoarece
0 mk( 3) 0 si 0 mk( 3) mk( 3)
- FCC: y f ( x1 , x2 , x3 ) M 0( 3) M 2( 3) M 5( 3) M 7( 3)
sau
Observatii:
- o functie va avea atatia constituenti ai unitatii mk( n) , respectiv ai lui zero M k(n ) cate unitati (km),
respectiv cate zerouri (kM) sunt in tabela de adevar care defineste functia, astfel:
km k M 2n
- termenul de canonic se refera la faptul ca in expresiile functiilor mk( n) respectiv M k(n ) intervin toate
variabilele.
Forma disjunctiva minima a functiei rezulta prin scrierea disjunctiei grupurilor de coordonate
comune ale gruparilor formate:
y x1 x3 x1 x3
Metoda poate fi generalizata astfel:
1. Daca grupul initial de doua celule vecine este vecin la randul sau cu un alt grup de doua celule
vecine, acestea se pot contopi intr-un singur grup de 4 celule, ceea ce va permite eliminarea a doua
variabile.
2. Un grup de 2m celule vecine permite eliminarea a m variabile.
3. Fiecare celula ocupata de unitati trebuie sa faca parte cel putin dintr-o grupare, dar poate fi inclusa
in mai multe.
4. Cel mai avansat grad de simplificare se obtine daca unitatile dintr-o diagrama Karnaugh sunt
grupate intr-un numar minim de grupuri, fiecare grup la randul sau continand un numar maxim de
unitati.
Observatie: Pentru a putea aplica in mod succesiv proprietatea de distributivitate si cea a tertului
exclus, numarul unitatilor din grupurile formate trebuie sa fie o putere intreaga a lui 2.
Alt exemplu:
x2x3
x1 00 01 11 10
0 0 0 1 1
1 0 1 1 1
Forma minima rezultand: y x1 x3 x2
Reguli similare pot fi deduse si pentru obtinerea formei conjunctive minime. In acest caz, in
diagrama Karnaugh se vor grupa zerourile.
Este absolut necesara conditia disjunctiei celor doua domenii de valori (S1 ∩ S2 = Ø) intrucat
elementele comune ar crea confuzii de interpretare in domeniul valorilor functiilor booleene.
Cea mai raspandita reprezentarea a valorilor variabilelor si functiilor booleene este prin nivele
de tensiune. Nivelele de tensiune din cele doua domenii de valori S1 si S2 respecta relatia
pentru orice U1 S1 si U2 S2, avem U1 > U2
Datorita acestui fapt domeniul de tensiuni S1 se mai numeste nivel H (High), iar domeniul de
tensiuni S2 se numeste nivel L (Low). Deoarece intre multimea valorilor functiilor booleene {0, 1} si
multimea domeniilor de tensiune {S1, S2} se pot stabili corespondentele din fig. 2.7a si fig. 2.7b, este
necesara stabilirea unei conventii de asociere pentru a defini functia logica realizata de un anumit
circuit.
Situatia in care nivelul H corespunde lui 1 logic iar nivelul L lui 0 logic defineste ceea ce se
numeste logica pozitiva (fig. 2.7a.), iar situatia in care nivelul H corespund lui 0 logic iar nivelul L lui
1 logic defineste ceea ce se numeste logica negativa (fig. 2.7b).
In practica se utilizeaza ambele tipuri de corespondente. Trebuie observat ca schimbarea
conventiei este echivalenta cu o negare a variabilei booleene.
Stabilirea nivelelor de tensiune corespunzatoare domeniilor S1 si S2 depinde de modul de
realizare al circuitului, de felul tranzistoarelor folosite, de tehnologia utilizata in cadrul circuitelor
integrate si de tensiunile de alimentare intrebuintate.
a. Nivelele logice de intrare reprezinta intervalele de tensiune (domeniul de valori) pentru care
se atribuie valoarea 0 logic respectiv valoarea 1 logic la intrarea unui circuit.
b. Nivelele logice de iesire reprezinta intervalele de tensiune (domeniul de valori) pentru care
se atribuie valoarea 0 logic respectiv valoarea 1 logic la iesirea unui circuit.
Nivelele logice de intrare si iesire sunt in general diferite dar, pentru a exista intotdeauna
posibilitatea de cuplare a unei iesiri de circuit cu o intrare, trebuie ca urmatoarele relatii de incluziune
sa fie adevarate:
Fig. 2.8
c. Curentii de intrare reprezinta curentii care se pot inchide prin intrarea circuitului logic (care
intra sau ies din circuit) pentru nivelele logice de intrare VIL si VIH. Acesti curenti, notati IIL si IIH, au
valori in general diferite, putand avea si sensuri diferite, depinzand de structura circuitului logic.
d. Curentii de iesire reprezinta curentii care se pot inchide prin iesirea circuitului logic (care
intra sau ies din circuit) pentru nivelele logice de iesire VOL si VOH. Un exemplu este dat in fig. 2.9,
unde s-a reprezentat curentul de intrare IIH si curentul de iesire IOH.
Fig. 2.9
Fig. 2.12
Fig. 2.15
Schema electrica din fig. 2.15a reprezinta o poarta TTL SI-NU cu doua intrari. Diodele D1 si D2
de pe cele doua intrari au rolul de a proteja tranzistorul T1 fata de eventualele tensiuni negative care s-ar
aplica pe intrarile A si B. O particularitate a schemei o reprezinta etajul de iesire in contratimp cunoscut
sub denumirea de totem-pole.
Daca cel putin una dintre intrarile A si B se afla la un potential logic coborat, atunci aceasta atrage
dupa sine intrarea in conductie a tranzistorului T1. Schema este astfel conceputa incat potentialul de
colector al tranzistorului T1, aflat in conductie, sa nu fie suficient pentru deschiderea tranzistorului T2.
Tranzistorului T2 fiind blocat va avea in colector un potential apropiat de +5V iar in emitor un
potential practic zero. Tranzistorului T2, prin potentialele sale din colector respectiv emitor, comanda
tranzistorii din etajul de iesire astfel incat T4 conduce si T3 este blocat. Tensiunea de iesire in aceasta
stare este data de relatia:
VOH = Vcc - 130 IOH - VCET4 - VD3
Componentele din schema au fost astfel alese incat valoarea nominala a acestei tensiuni sa fie de
VOH = 2,4 V, ceea ce corespunde starii logice 1.
Daca pe ambele intrari A si B se aplica o tensiune corespunzatoare starii logice unu, atunci
tranzistorul T1 se va bloca iar potentialul sau din colector se va mari la o valoare care sa asigure trecerea
tranzistorului T2 in stare de conductie. Tranzistorul T2 fiind in conductie, potentialul colectorului sau
coboara iar in emitor apare o cadere de tensiune pe rezistorul R3. Tensiunile din emitorul respectiv
colectorul tranzistorului T2 vor asigura intrarea in conductie a tranzistorului T3 si blocarea tranzistorului
T4 din etajul de iesire. Tensiunea de iesire in aceasta stare este data de relatia VOL = VCET3.
Valoarea nominala a acestei tensiuni este de 0,4 V.
b. Poarta elementara SAU-NU
Schema portii este data in fig. 2.16. Functionarea circuitului este asemanatoare cu cea a portii SI-
NU. Grupurile de tranzistoare T1 - T2 si T1' si T2' constituie doua etaje de intrare conectate in paralel pe
rezistentele R2 si R3. Daca unul din tranzistoarele T2 si T2' este saturat, atunci nivelul logic de iesire va fi
0. Rezulta ca, pentru a avea nivelul logic 1 la iesire, trebuie ca ambele tranzistoare T2 si T2' sa fie blocate,
ceea ce inseamna ca VIA = VIB = VIL. Functia logica realizata va fi deci Y A B .
Fig. 2.17
Functionarea circuitului este similara cu cea a portii TTL cu etaj de iesire totem-pole,
referindu-ne numai la tranzistoarele T1, T2 si T3 ale acestuia. La acest circuit se poate obtine nivel logic
H la iesire doar daca se introduce rezistenta Rext, altfel blocarea tranzistorului T3 lasa borna de iesire in
gol, fara sa fixeze potentialul acestuia.
Dimensionarea rezistentei Rext se face tinand seama de curentul maxim de colector in saturatie
al lui T3. Aplicatii tipice ale portilor cu colectorul in gol sunt:
- portile cu colectorul in gol pot fi utilizate la interconectarea circuitelor provenite din familii
logice diferite. De exemplu daca se doreste conectarea iesirii unui circuit TTL (cu tensiune de
alimentare 5V) cu intrarea intr-un circuit CMOS (tensiune de alimentare 10V), lucrul acesta devine
posibil doar daca iesirea circuitului TTL este de tipul cu colectorul in gol prin legarea rezistorului
Rext la tensiunea de alimentare (+10 V) a blocului CMOS.
Fig. 2.18
Fig. 2.19
Pentru o functionare corecta, la un moment dat, un singur circuit este autorizat sa foloseasca
linia comuna (prin comanda Output Enable – OE) toate celelalte avand iesirea in starea de impedanta
mare.
Schema portii SI-NU cu iesire trei-stari este prezentata in fig 2.20
Starea de mare impedanta se obtine prin blocarea simultana a tranzistoarelor de iesire. Acest
lucru se obtine pentru nivel logic H aplicat intrarii E. Blocarea tranzistorului T3 se face prin
conexiunea suplimentara pe emitorul lui T1 pentru nivelul H pe E, iar blocarea lui T4 se face prin
intermediul diodei D1 care transmite nivelul logic coborat de la iesirea inversorului intern in baza lui
T4.
Fig. 2.21
Curentii de intrare
Curentii de intrare in poarta depind de nivelele logice aplicat la intrare. In fig. 2.22.a si fig
2.22.b sunt reprezentati curentii de intrare cu sensurile si valorile lor pentru o intrare definita ca fiind
unitate (standard). Se defineste ca fiind fan-in-ul unei intrari numarul N (N>=1) de intrari standard cu
care este echivalenta intrarea respectiva. Exista intrari in circuite logice (de exemplu intrarile Reset si
Set la bistabilele J-K) unde fan-in-ul este 2, echivalent cu conectarea a doua intrari standard (fig.
2.22.c).
Dupa cum se vede, curentul de intrare are sensuri diferite pentru nivelele L si H. Acesti curenti
sunt asigurati de orice iesire capabila sa comande o intrare TTL.
Curentii de iesire
La poarta TTL standard, orice iesire trebuie sa poata comanda pana la 10 intrari TTL. Numarul
de intrari TTL standard care pot fi comandate de o iesire se numeste fan-out. Pentru o poarta standard
TTL, fan-out-ul este 10. In fig. 2.23 sunt prezentate nivelele de tensiune si conditiile in care sunt
masurate acestea pentru cele doua niele L si H.
In fig. 2.23.a se precizeaza nivelul maxim al tensiunii de iesire corespunzator nivelului L la
iesire pentru un curent de iesire corespunzator unui fan-out de 10, iar in fig. 2.23.b se precizeaza
nivelul minim al tensiunii de iesire corespunzator nivelului H pentru un curent de iesire corespunzator
unui fan-out de 10. In fig. 2.23.c se poate observa modul de calcul al cuplarii intre o iesire si mai multe
intrari TTL. Pentru o cuplare corecta trebuie ca
Fan-out >= Fan-in.
Timpii de propagare
Timpii de propagare reprezinta decalajele de timp care apar intre intrare si iesire masurate la
nivelul 1,5 V (in general, la 50% din amplitudinea semnalului). Timpii de propagare difera, in general,
pentru tranzitii HL si LH la iesire. Conditiile de masura pentru acesti timpi sunt precizate in cataloage
atat din punct de vedere al generatorului folosit pentru comanda circuitului cat si din punct de vedere
al sarcinii care trebuie conectata la iesire. Valorile uzuale sunt tPHL = [7...20] ns, tPLH = [10...20] ns.
Cunoasterea timpilor de propagare este necesara la determinarea intarzierii totale care apare la
propagarea unui semnal printr-un lant de circuite logice. Timpul total se obtine prin cumularea timpilor
de propagare individuali ai tuturor circuitelor din lantul respectiv.
Fig. 2.23
Fig. 2.24
Baza tranzistorului T2 este mentinuta la tensiunea de referinta VR. Cand tensiunea VI este
suficient de mica in raport cu VR (VI< VR – VBE2) tranzistorul T1 este blocat si T2 conduce curentul I.
Valorile VR, RC2 si I se aleg astfel incat tranzistorul T2 sa conduca in regim activ normal si nu
la saturatie.
Cand VI = VR ambele tranzistoare conduc in regim activ normal cate un curent egal cu I/2.
Odata cu cresterea tensiunii VI, creste si tensiunea din emitorul comun (VE= VI – VBE1), iar cand
aceasta atinge sau depaseste valoarea de referinta VR, tranzistorul T2 se blocheaza si tranzistorul T1
intra in conductie, in regim activ normal, preluand tot curentul I. Totul apare ca si cum o variatie a
tensiunii VI peste valoarea VR comuta curentul de emitor de pe T2 pe T1. Deoarece emitoarele celor
doua tranzistoare sunt legate impreuna printr-o rezistenta de emitor, familia logica generata se numeste
cu cuplaj prin emitor si se caracterizeaza prin faptul ca utilizeaza tranzistoare nesaturate.
Fig. 2.27
Fig. 2.28
Fig. 2.29
Fig. 2.30
Dupa cum se observa in graficele din fig. 2.30.b si fig. 2.30.c, tensiunile de prag pentru cele
doua tranzistoare sunt de semne contrarii. In acest circuit, ambele tranzistoare sunt comandate pe grila,
functionand atat ca amplificatoare, cat si ca sarcini active unul pentru celalalt. Aceasta particularitate
face ca in ambele stari logice (H si L), unul din tranzistoare sa fie blocat, circuitul avand consum
practic nul de la sursa de alimentare. De exemplu, pentru VI=0 (stare L), avem VGSI=VI>VPn si TI este
blocat. Deasemenea, pentru VVGL=VI-VDD=0>VPp si TL este blocat. Acest circuit consuma curent de la
sursa de alimentare numai pe durata tranzitiilor HL si LH ale semnalelor. Si la acest circuit sarcina este
de obicei o capacitate (CL).
Din analiza facuta rezulta ca, atat in starea logica 0 cat si in starea logica 1, unul din cele doua
tranzistoare care compun inversorul CMOS este blocat si in consecinta inversorul nu consuma putere
de la baterie. Pe durata fronturilor de tranzitie, ambele tranzistoare sunt deschise, ceea ce va permite
inchiderea unei cai de curent de la sursa de alimentare la masa (fig. 2.31).
Fig. 2.31
Fig. 2.32
Fig. 2.33
Schemele care contin bucle se numesc cu reactie. Nodurile apar atunci cand iesirea unei porti
(sau o intrare) este legata de intrarile mai multor porti. Numarul legaturilor posibile intr-un nod este
limitat de fan-out-ul portii de comanda.
O cale va fi caracterizata de lungimea sa si de timpul de propagare asociat caii. Lungimea unei
cai este data de numarul portilor care formeaza calea (de exemplu: calea mentionata anterior de la x1 la
y2 are lungimea 4).
Timpul de propagare asociat unei cai (Δ) va fi suma timpilor de propagare (tpHL sau tpLH) ai
portilor care formeaza calea.
In cazul schemelor fara bucle de reactie, acest timp este intotdeauna finit. In cazul schemelor cu
reactie. acest timp este in general finit. Exceptie facand cazurile cand schema oscileaza (anumite bucle
sunt parcurse tot timpul).
Daca se presupune ca semnalele de intrare xk se modifica la momente de timp discrete ti-1, ti,
ti+1 etc. si ca timpul de propagare maxim in schema este Δmax schimbarea starii unui semnal de intrare
va conduce, dupa cel mult intervalul de timp Δmax, la o stare stabila a semnalelor de iesire din circuit.
Daca schimbarile semnalelor de intrare se produc la intervale ti+1-ti mai mari decat Δmax atunci,
in cazul unei scheme fara bucle de reactie, semnalele de iesire vor depinde numai de valorile
semnalelor de intrare aplicate la momentul ti:
... (3.1)
unde
(3.2)
O schema (in cazul general) caracterizata de setul de ecuatii (3.1) se numeste circuit logic
combinational (CLC).
In cazul existentei unor bucle de reactie si cu conditia (3.2) indeplinita, semnalele de iesire yj(t)
vor depinde atat de valorile din momentul ti ale variabilelor de intrare xk(ti) cat si de valorile
variabilelor de intrare din momentele anterioare xk(ti-1), xk(ti-2), ... etc. Un astfel de circuit se numeste
circuit logic secvential (CLS). Circuitele combinationale nu au memorie semnalul de iesire depinde
doar de combinatia din acel moment al semnalelor de intrare, pe cand cele secventiale au memorie -
valoarea semnalelor de iesire depinde si de evolutia anterioara a circuitului.
In cazul realizarii practice a portilor logice sub forma unor circuite electronice, acestea vor
opera cu nivele de tensiune si nu cu simbolurile 0 respectiv 1. In functie de modul cum atribuim
nivlele de tensiune simbolurilor 0 si 1, una si aceeasi tabela de adevar va putea fi interpretata in doua
moduri diferite.
In logica pozitiva (activ high logic notata cu AH) simbolul 1 se atribuie nivelului de tensiune
In cazul analizei este cunoscuta structura circuitului logic si se cere functia pe care acesta o
realizeaza. In fig. 3.3 este dat un exemplu de circuit logic combinational.
2. Pentru a face sinteza cu circuite SAU, SI, NU, se scrie FCM a functiei si pe baza acesteia se
deseneaza schema circuitului (fig. 3.6).
Observatia 1:
Intr-o aplicatie practica, alegerea uneia sau alteia dintre schemele enumerate mai sus se va face tinand
seama de performantele electrice si de cost ale acestora.
Observatia 2:
Se spune despre un CLC ca este o retea SI-SAU, daca pe orice cale care conduce de la intrare la iesire,
aceste circuite se intalnesc alternativ.
Observatia 3:
O retea SI-SAU poate fi transformata intr-o retea SI-NU sau SAU-NU daca:
- se inlocuiesc toate portile SI respectiv SAU cu porti SI-NU (SAU-NU);
- se inverseaza toate intrarile care a au fost conectate la porti SAU (SI);
- se inverseaza toate iesirile care provin dintr-o poarta SI (SAU).
In fig. 3.9.a este prezentata o retea SI-SAU cu porti SI, SAU, iar variantele ei cu porti SI-NU,
respectiv cu porti SAU-NU, sunt prezentate in fig. 3.9.b, respectiv fig. 3.9.c, conform observatiilor 2 si
3.
Implementarea unor functii booleene se poate realiza si cu ajutorul asa numitor circuite logice
universale care au structura unor multiplexoare.
Fig. 3.11 Circuit logic combinational universal pentru functii de 3 variabile: a) schema logica,
b) exemplu de functie, c) mod de realizare
In fig. 3.11.b este definita o functie oarecare de trei variabile iar in fig. 3.11.c modul ei de
realizare cu acest circuit universal (circuit de multiplexare). Grupu1 de variabile x1 si x2 selecteaza
intrarile fi. Pentru x1 = 0 si x2 = 0, este selectata intrarea f0 careia ii corespunde in tabela primele doua
linii. Se observa ca valoarea functiei in aceste doua puncte coincide cu valoarea variabilei x3, ceea ce
justifica legarea intrarii f0 la x3. Pentru urmatoarele doua linii (x1 = 0 si x2 = 1), functia ia valoarea 1,
indiferent de valoarea variabilei x3, ceea ce justifica legarea intrarii f1 la valoarea 1 etc.
In concluzie, implementarea oricarei functii logice de n variabile se poate face prin intermediul
unui circuit circuit logic universal care este un multipexor 2n-1:1.
A0 I0 I1 Y
0 0 X 0 I0 I1
0 1 X 1 A 00 01 11 10
0 0 0 1 1
1 X 0 0
1 0 1 1 0
1 X 1 1
Pentru exemplificare, se considera functia de patru variabile definita prin diagrama Veitch din
fig. 3.15.a a carei realizare practica cu un MUX cu 8 intrari este prezentata in fig. 3.15.c.
Observatie: Pentru a usura identificarea valorilor care se leaga pe intrarile de date, au fost prezentate
in Fig. 3.15.b perechile de campuri selectate din diagrama Veitch cu cele 3 variabile A, B si C.
Fig. 3.15 Exemplu de utilizare a multiplexorului pentru realizarea unei functii de 4 variabile:
a) functia b) gruparile impuse c) modul de conectare
De exemplu, daca A = 0, B = 0 si C = 1, vor fi selectate cele doua casute superioare din coloana
unu a tabelei de adevar (fig. 3.15.a), aceleasi valori ale variabilelor selecteaza si intrarea I0 a MUX-
ului, motiv pentru care cele doua campuri impreuna au fost notate cu I0 (Fig. 3.15.b). Cum in acest caz
functia ia valoarea unu in ambele casute (este o constanta care nu depinde de D), a fost conectata
intrarea I0 a MUX-ului la 1 logic. In campul marcat cu I2, in cele doua casute grupate, functia ia
valoarea 0 respectiv 1, adica corespunde variabilei D, motiv pentru care a fost conectata intrarea I2 a
MUX-ului la D etc.
Un circuit combinational cu mai multe iesiri se va putea realiza prin folosirea in paralel a mai
multor MUX-uri (fig. 3.16), iar un circuit combinational care sa realizeze o functie cu mai multe
variabile se poate realiza prin conectarea in cascada a multiplexoarelor (fig. 3.17).
Fig. 3.17 Folosirea MUX-ului pentru realizarea unei functii cu sapte variabile
Fig. 3.18 Decodificator de adresa: a) schema bloc, b) tabela de functionare, c) schema circuitului
Observatie: Din tabelul de definitie (fig. 3.18.b) rezulta ca functiile care descriu iesirile sunt
constituenti ai unitatii (mintermi) ai unei functii de doua variabile.
In numeroase aplicatii, este necesar ca decodificarea starilor de intrare sa apara numai pe
anumite intervale de timp specificate (de exemplu, in cazul citirii starilor numaratoarelor, pentru
evitarea unei decodificari false pe duratele de tranzitie de la o stare la alta). Acest lucru se poate realiza
prin introducerea unei intrari suplimentare de validare (enable E ) care sa controleze portile de iesire si
sa autorizeze decodificarea atunci cand semnalele de intrare sunt stabile (funcţia indeplinită de intrarea
de validare E este una de strobare a ieşirilor).
Tabela de funcţionare precum şi schema decodificatorului de adresă cu intrare de validare ( E )
sunt prezentate in fig. 3.19.
În concluzie, putem spune că decodificatorul prezentat în fig. 3.18 sau fig. 3.19 (cu E = 0) va
permite generarea oricărei funcţii de două variabile, scrisă sub formă disjunctiv canonică.
Pentru exemplificare, să considerăm funcţia sumă modulo doi
f x1, x2 x1 x2 x1 x2 x1 x2 (3.11)
În fig. 3.20 este prezentată o realizare posibilă a funcţiei cu ajutorul unui decodificator de
adresă.
Pe cele patru intrări ale circuitului se aplică un cuvânt de cod (codul BCD) reprezentând cifra
zecimală care urmează a fi afişată. Cele şapte ieşiri comandă segmentele corespunzătoare dispuse ca in
fig. 3.26.c. Afişarea cifrei zecimale dorite se poate face fie prin aprinderea segmentelor necesare,
presupunând că iniţial toate segmentele sunt stinse, fie prin stingerea anumitor segmente, considerând
că iniţial toate sunt aprinse. Se recomandă pentru sinteză cea de a doua variantă deoarece realizarea
comenzilor necesită mai puţine operaţii (porti) logice.
IDENTIFICAREA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SEGMENTELOR VALOAREA ZECIMALA SI AFISAJUL REZULTAT
Valoarea zecimală Intrări Ieşiri
BI/RBO
sau funcţia LT RBI D C B A a b c d e f g
0 1 l 0 0 0 0 1 o o o o o o x
1 1 X 0 0 0 1 1 x o o x x x x
2 1 X 0 0 1 0 1 o o x o o x o
3 1 X 0 0 1 1 1 o o o o x x o
4 1 X 0 1 0 0 1 x o o x x o o
5 1 X 0 1 0 1 1 o x o o x o o
6 1 X 0 1 1 0 1 x x o o o o o
7 1 X 0 1 1 1 1 o o o x x x x
8 1 X 1 0 0 0 1 o o o o o o o
9 1 X 1 0 0 1 1 o o o x x o o
10 1 X 1 0 1 0 1 x x x o o x o
11 1 X 1 0 1 1 1 x x o o x x o
12 1 X 1 1 0 0 1 x o x x x o o
13 1 X 1 1 0 1 1 o x x o x o o
14 1 X 1 1 1 0 1 x x x o o o o
15 1 X 1 1 1 1 1 x x x x x x x
SI 1 X X X X X 0 x x x x x x x
RBI 1 0 0 0 0 O 0 x x x x x x x
LT 0 X X X X X 1 o o o o o o o
Segment: o aprins x stins
Fig. 3.29 Tabela de funcţionarea a decodificatorului 7447
Fig. 3.31 Schema de conectare a decodificatoarelor care permite stingerea zerourilor nesemnificative
Fig. 3.34 Codificator de adresă simplu: a) schema bloc, b) tabela de adevar, c) schema logică
EI 0 1 2 3 4 5 6 7 A2 A1 A0 EO GS
1 X XXXXXXX 1 1 1 1 1 Circuit blocat
0 1 1 1 1 1 1 1 1 1 1 1 0 1 Nu exista intrare activă
0 X XXXXXX0 0 0 0 1 0
0 X XXXXX0 1 0 0 1 1 0
0 X XXXX0 1 1 0 1 0 1 0
0 X XXX0 1 1 1 0 1 1 1 0
0 X XX0 1 1 1 1 1 0 0 1 0
0 X X0 1 1 1 1 1 1 0 1 1 0
0 X 0 1 1 1 1 1 1 1 1 0 1 0
0 0 1 1 1 1 1 1 1 1 1 1 1 0
(b)
Fig. 3.35 Codificator prioritar: a) Schema bloc b) Tabela de funcţionare
Schema bloc, tabela de funcţionare precum şi schema logică a codificatorului prioritar sunt
prezentate in fig. 3.35.a, fig. 3.35.b şi respectiv fig. 3.36. Circuitul mai este prevăzut şi cu o intrare
suplimentară EI (Enable Input) de autorizare a funcţionării. Pentru EI = 1 , funcţionarea circuitului
este blocată prin inchiderea tuturor porţilor AND din schemă (toate ieşirile vor fi pe nivel 1). Ieşirea
GS devine activă (nivel 0) atunci când cel puţin una din intrări este activată. Ieşirea EO este activată
atunci când toate intrările de date sunt inactive.
Circuitul de coincidenţă, care permite stabilirea egalităţii celor două numere, poate fi realizat in
mai multe variante. O variantă posibilă se obţine dacă se plasează la ieşirea circuitului de
anticoincidenţă din fig. 3.5 un inversor (ceea ce este echivalent cu transformarea porţii SAU de ieşire
in poartă SAU-NU). Completând această schemă cu două porţi ŞI pentru realizarea funcţiilor y1 şi y3,
se obţine o variantă a comparatorului numeric de un bit, aşa cum este reprezentat in fig. 3.38.
Dacă A1 = B1, pentru determinarea relaţiei dintre numerele A şi B, se impune examinarea biţilor
A0 şi B0, situaţie in care ieşirea porţii P8 asigură deschiderea porţilor P3 şi P4.
Dacă A0 < B0 respectiv A0 > Bo, rezultă că sunt valabile şi relaţiile A < B respectiv A > B, ceea
ce se obţine prin legarea ieşirilor porţilor P3 respectiv P4, la intrările porţilor P5 respectiv P6. În cazul
in care pentru A1 = B1 avem şi A0 = B0, rezultă că cele două numere sunt egale, A = B, şi se activează
ieşirea porţii P7.
Pe baza raţionamentului de mai sus, prin interconectarea mai multor comparatoare de doi biţi,
se pot realiza comparatoare numerice de mai mulţi biţi. Un exemplu in acest sens il reprezintă circuitul
integrat SN7485 care este un comparator numeric de patru biţi cu posibilităţi de expandare.
In fig. 3.40 este reprezentată tabela de funcţionare iar in fig. 3.41 este dată schema logică a
comparatorului de patru biţi.
Intrări de date Intrări de expandare Iesiri
A3 : B3 A2 : B2 A1 : B1 A0 : B0 A > B A < B A = B A > B A < B A = B
A3 > B3 X X X X X X H L L
A3 < B3 X X X X X X L H L
A3 = B3 A2 > B2 X X X X X H L L
A3 = B3 A2 < B2 X X X X X L H L
A3 = B3 A2 = B2 A1 > B1 X X X X H L L
A3 = B3 A2 = B2 A1 < B1 X X X X L H L
A3 = B3 A2 = B2 A1 = B1 A0 > B0 X X X H L L
A3 = B3 A2 = B2 A1 = B1 A0 < B0 X X X L H L
A3 = B3 A2 = B2 A1 = B1 A0 = B0 H L L H L L
A3 = B3 A2 = B2 A1 = B1 A0 = B0 L H L L H L
A3 = B3 A2 = B2 A1 = B1 A0 = B0 L L H L L H
Fig. 3.40 Tabela de funcţionare a comparatorului numeric cu patru biţi
În această schemă, sumatorul modulo doi S1 verifică paritatea biţilor A0 şi A1, iar S2 paritatea
biţilor A2 şi A3. Rezultatul acestor verificări este la rândul lui verificat de S3, pe ieşirea Y3 a acestuia
apare nivel logic 1, dacă cuvântul A3 A2 A1 A0 are un număr impar de unităţi, şi nivel logic 0, în caz
contrar.
Introducerea circuitului S4 în schemă, împreună cu comanda P, asigură pe ieşirea Y=Y4 nivel
logic 1 sau 0 în funcţie de numărul unităţilor din cuvântul de cod şi de comanda P aplicată după cum
urmează:
- pentru P = 0 avem Y4 = Y3 şi circuitul este un generator de paritate pară (pe ieşirea Y4 apare nivel
logic 1 dacă numărul unităţilor din cuvântul de la intrare este impar;
- pentru P = 1 avem Y4 = Y3 si circuitul este un generator de paritate impară (pe ieşirea Y4 apare nivel
logic 1 când numărul de unităţi din cuvântul de la intrare este par).
Utilizarea circuitului într-o schemă de transmisie este prezentată în fig. 3.44. Se observă că la
emisie, la cei trei biţi informaţionali, se mai adaugă bitul de paritate formând cuvântul de cod transmis.
Circuitul din fig. 3.43 lucrează aici ca generator de paritate pară. La punctul de recepţie cei patru biţi ai
cuvântului recepţionat sunt introduşi în acelaşi circuit reprezentat în fig. 3.43, care, de această dată,
funcţionează ca un detector de paritate, validând sau nu, prin bitul său de paritate, recepţionarea
cuvântului de cod. Astfel, daca Y=0 mesajul a fost transmis corect iar daca Y=1 mesajul a fost transmis
cu erori.
Pentru cazul unor cuvinte de mai mulţi biţi, se poate utiliza circuitul integrat specializat
SN74180 care este de fapt un generator/detector de paritate (pară sau impară) de 8 biţi cu posibilităţi de
expandare.
Schema circuitului este reprezentată in fig. 3.45. Circuitul este prevăzut cu intrările P (par) şi I
(impar) care permit funcţionarea ca generator/detector de paritate pară sau impară. Corespunzător celor
două funcţii, circuitul este prevăzut cu două ieşiri YP şi YI. Prin interconectarea mai multor circuite
SN74180, se pot realiza generatoare/detectoare de paritate (pară sau impară) cu un număr arbitrar de
biţi. În fig. 3.46 este arătată schema de interconectate pentru un generator/detector de paritate de 16
biţi.
unde bi{0, ... , B-1} sunt cifrele sistemului de numeratie (i=-m, ..., n-1).
Valoarea în baza zece a numărului este dată de expresia:
n 1
i
N b B
i m
i (3.14)
Baza de numeraţie utilizată în circuitele digitale este B = 2, cînd bi {0, 1}. În acest caz putem
scrie
N 2 bn 1bn 2 b1b0 ,b1b 2 b m (3.15)
n 1
i
Valoare in baza zece a numarului dat in relatia (3.15) este N b 2
i m
i .
Relaţia (3.15) reprezintă un număr binar fără semn. Pentru reprezentarea numerelor binare cu
semn, se utilizează bitul cel mai reprezentativ bn-1, numit bit de semn, pentru a indica semnul
operandului
N 2 bn 1bn 2 b1b0 , b1b 2 b m (3.16)
bit de marime
semn
Prin convenţie s-a ales bn-1 = 0 pentru numere pozitive şi bn-1 = 1 pentru numere negative.
În funcţie de modul în care biţii bn-1, bn-2, ... b1, b0, b-1, b-2, ..., b-m reprezintă valoarea numerelor
negative, exista trei moduri de reprezentare a numerelor cu semn.
Reprezentarea prin semn şi valoare absolută
În cazul acestei reprezentări, cifrele binare bn-2...b-m reprezintă valoarea absolută a numărului N.
Valoarea in baza zece a numărului reprezentat va fi:
n2
N 1 n1
b i
b 2
i m
i (3.17)
De exemplu:
(+2) = 00010 (+5) = 00101
(- 2) = 10010 (- 5) = 10101
Această reprezentarea este avantajoasă în operaţiile de înmulţire şi împărţire, dar necesită
algoritmi speciali la adunare şi scădere.
(+5)C2 = 0 0101
(- 3)C2 = 1 1101
z2 = 5 - 3 = (+5)C2 + (- 3)C2 = 2 (+2)C2 = 0 0010
(- 5)C2 = 1 1011
(+3)C2 = 0 0011
z3 = - 5 + 3 = (-5)C2 + (+3)C2 = (-2)C2 (-2)C2 = 1 1110
(- 2)C2 = 1 1110
(- 3)C2 = 1 1101
z4 = - 2 - 3 = (-2)C2 + (-3)C2 = (-5)C2
(- 5)C2 = 1 1011
c) Depăşirea
Depăşirea (overflow) apare atunci când rezultatul nu se mai incadrează in domeniul de
reprezentabilitate al operanzilor şi se manifestă prin alterarea bitului de semn. Situaţia de depăşire se
detectează prin teste efectuate asupra operanzilor şi a rezultatului. Fie doi operanzi intregi X şi Y şi
rezultatul adunării lor algebrice S.
X = xn-l xn-2 … x0
Y = yn-l yn-2 … y0 (3.26)
S = sn-l sn-2 … s0
Situaţia de depăşire apare doar atunci când cei doi operanzi sunt de acelaşi semn şi se manifestă
prin alterarea bitului de semn al rezultatului. Pentru a găsi o modalitate de a indica situaţia de depăşire,
se urmăreste, cu ajutorul tabelului 3.2, modul de formare al bitului de semn al rezultatului. De aceea,
În paragraful 3.4 s-a arătat că realizarea practică a unui sumator paralel de doi biţi se simplifică
foarte mult dacă observăm că funcţiile de ieşire ale sumatorului se pot scrie intr-o formă convenabilă
(vezi relaţiile 3.7 şi 3.8), ceea ce permite realizarea schemei sumatorului, indiferent de numărul
intrărilor, prin conectarea in cascadă a unor celule elementare (sumator elementar) identice (vezi fig.
3.47).
yi ci yi ci
xi 00 01 11 10 xi 00 01 11 10
0 0 0 1 0 0 0 1 0 1
1 0 1 1 1 1 1 0 1 0
ci+1 si
Fig. 3.48 Diagramele Karnaugh ale ieşirilor ci+1 şi si pentru sumatorul elementar
Schema unui sumator de patru biţi realizată pe acest principiu este prezentată în fig. 3.51.
Dacă comparăm schemele din fig. 3.50 şi fig. 3.51, vom observa că in cazul schemei din fig.
3.51 timpul de calcul al transportului este constant (pentru oricare ci) şi este egal cu timpul de
propagare prin 3 nivele de porţi logice. În cazul schemei din fig. 3.50, numărul porţilor prin care se
propagă transportul creşte de la dreapta spre stânga.
Datorită avantajului menţionat, sumatoarele integrate se realizează in varianta cu calcul
anticipat al transportului.
Observaţie:
În schema cu calcul anticipat al transportului, numărul intrărilor in porţile ŞI care intervin in
acest calcul creşte, ceea ce duce la scăderea vitezei de lucru al acestora, motiv pentru care sumatoarele
paralele se limitează În general la patru biţi. Prin interconectarea mai multor sumatoare de patru biţi şi
prin utilizarea unor circuite specializate pentru calculul anticipat al transportului intre sumatoarele
componente, se pot realiza sumatoare de mare viteză cu un număr arbitrar de biţi. În fig. 3.52 este dat
un astfel de exemplu in care integratul SN7483 este un sumator paralel de patru biţi iar integratul
SN7454 permite calculul anticipat al transportului dintre sumatoare.
Presupunem in continuare că semnalele se modifică la momente discrete de timp ti, ti+1, ti+2 …
iar intervalul de timp intre două modificări consecutive este mai mare decât timpul necesar stabilizării
semnalelor in circuit (Δ)
ti+1 - ti > Δmax (4.4)
În aceste condiţii, vectorul de stare de la ieşirea circuitului secvenţial va fi dat de expresia
Z(t) = f(X(ti +Δ), X(ti-1 + Δ), X(ti-2 + Δ), ... ) (4.5)
Prezenţa buclelor de reacţie În structura unui circuit secvenţial face ca orice schimbare a
semnalelor de intrare, percepută la ieşirea circuitului, să fie reintrodusă imediat prin bucle de reacţie la
intrare, influenţând in felul acesta evoluţia sistemului.
Se conturează insă şi următoarea problemă: semnalele de reacţie se culeg de pe anumite ieşiri
ale unui circuit combinaţional de bază.
În cazul unor porţi reale, aceste semnale de reacţie apar cu intârzieri diferite, in funcţie de
numărul de porţi prin care trace semnalul de intrare, ceea ce de asemenea poate influenţa evoluţia
circuitului. Din acest motiv, in cazul analizei dar mai ales a sintezei circuitelor, trebuie acordată o
atenţie deosebită acestor timpi de propagare şi a influenţei lor pentru a putea realiza circuite fiabile, cu
funcţionare sigură.
Calculul exact al timpilor de propagare, in cazul unei scheme reale, ridică insă o serie intreagă
de dificultăţi deoarece:
- timpii de propagare ai porţilor diferă de la un exemplar la alt exemplar;
- timpii de propagare depind in general şi de sensul de schimbare a semnalului tpHL ≠ tpLH;
- lungimea căilor prin care se propagă semnalul este diferită etc.
Toate aceste aspecte fac acest calcul extrem de dificil şi chiar in cazul unor scheme identice
apare o variaţiei a acestor timpi de la exemplar la exemplar.
Având in vedere cele de mai sus, scopul principal al proiectării unor circuite secvenţiale va
consta in găsirea acelei soluţii de schemă care să asigure realizarea funcţiei dorite independent de
variaţiile timpilor de propagare prin porţi!
Pentru analizele teoretice, vom recurge la următorul model al porţii: o poartă reală va fi
inlocuită cu una ideală in serie cu un element de întârziere (fig. 3.2).
Zj(t) = gj{x1(t), x2(t) ... xn(t), y1(t), y2(t) ... yk(t)} pentru j = 1, 2, ... , m (4.7)
unde se presupune că semnalele de intrare independente x1(t), ... xn(t) se modifică doar după ce
sistemul a ajuns într-o stare stabilă.
Ecuaţia (4.6) reprezintă de fapt funcţia de tranziţie internă iar ecuaţia (4.7) funcţia de tranziţie a
ieşirilor.
Prin definiţie, vom spune că sistemul se află într-o stare stabilă dacă
yi(t) = Yi(t) pentru i == 1, 2, ... k (4.8)
Fig. 4.3. Model de circuit logic secvenţial cu intârzieri doar pe buclele de reacţie
Pentru exemplificare, să considerăm schema unui circuit format din două porţi NAND (vezi
fig. 4.4. a).
Ecuaţiile care descriu funcţionarea circuitului sunt prezentate in fig. 4.4.b.
Pe baza acestor ecuaţii vom putea completa două tabele (fig. 4.4.c), şi anume una cu valorile
mărimii Y iar a doua cu valorile z1 şi z2 care descriu starea de ieşire. Toate aceste mărimi depind de
variabilele x1 şi x2 şi de mărimea de reacţie y.
Stările stabile, care corespund egalităţii y = Y, au fost marcate prin incercuire.
Din primul tabel observăm că, pentru x1 x2 = 11, circuitul prezintă două stări stabile, şi anume
z1 = y = 0 şi z1 = y = 1. Un astfel de circuit, cu două stări stabile, se numeşte circuit basculant bistabil.
Pe baza tabelei din fig. 4.4.c vom putea decide cum şi in ce condiţii, prin modificarea
semnalelor de intrare (x1 şi x2), circuitul poate trece dintr-o stare stabilă intr-o altă stare (stabilă sau
instabilă).
De exemplu, fie circuitul in starea stabilă y = Y = 0 pentru x1 = x2 = 1.
Dacă acum se va modifica semnalul de intrare x1 din 1 in 0 (x1 = 1 → 0), atunci circuitul trece
in starea instabilă y = 0 şi Y = 1. După un interval de timp τ, frontul Y = 0 → 1 traversează elementul
de intârziere şi face ca mărimea de reacţie y să treacă la rândul ei din 0 in 1 (y = 0 → 1); in acest
moment, circuitul trece in noua stare stabilă y = 1 şi Y = 1. Putem spune că circuitul a fost setat. Dacă,
in continuare, semnalul x1 revine din 0 in 1, starea circuitului nu se schimbă. Evoluţia descrisă este
marcată in tabel cu linie intreruptă.
Putem urmări şi resetarea circuitului astfel: presupunem că circuitul se află in starea stabilă y =
Y = 1 pentru x1x2 = 11. Fie, de data aceasta, semnalul x2 care se modifică din 1 in 0 (x2 = 1 → 0).
Circuitul va trece in starea instabilă y = 1 şi Y = 0, va rămâne in această stare un timp τ, după care va
trece in noua stare stabilă y = 0 şi Y = 0.
Din analiza făcută, rezultă că schimbarea stărilor se obţine cu comenzi aplicate pe intrările x1 şi
x2 care, in cazul unei anumite categorii de bistabile, poartă numele de Set şi Reset.
In cele de mai sus s-a analizat funcţionarea circuitului pe baza tabelelor din fig. 4.4.c.
Aceeaşi analiză se poate face, mult mai sugestiv, dacă in locul tabelelor folosim diagrame de
stare. Diagrama de stare a circuitului din fig. 4.4.a este prezentată in fig. 4.4.d.
Cele două stări stabile sunt notate cu două cercuri iar tranziţiile cu arcuri orientate. Pe arcuri au
fost notate mărimile de intrare x1 x2 supra cele de ieşire z1z2 (x1x2/z1z2). Prezenţa unui X semnifică zero
sau unu (0X inseamnă 00 sau 01).
Observaţie:
Analiza făcută este corectă atâta timp cât sunt Îndeplinite unnătoarele două condiţii:
- după trecerea circuitului intr-o stare instabilă, semnalele de intrare nu se modifică până când circuitul
Fig. 5.1. Simbolul şi tabela de adevăr ale circuitului CBB de tip S-R asincron
Rescriind tabela de adevăr şi considerând Qn+1 ca o funcţie booleană de trei variabile, se obţine
tabela de adevăr echivalentă prezentată in fig. 5.2.
Dacă in diagramele Karnaugh din fig. 5.2 se grupează in mod convenabil zerourile, rezultă
următoarea FCM a funcţiilor Qn 1 şi Q n 1 :
Qn 1 Rn S n Qn
(5.1 )
Qn 1 Sn Qn Rn
Schema bistabilului realizabilă cu porţi SAU-NU rezultă in urma unei prelucrări simple a
expresiilor de mai sus:
Qn 1 Qn 1 Rn S n Qn Rn S n Qn (5.2)
Qn 1 Qn 1 S n Qn Rn S n Qn Rn
Pe baza expresiilor (5.2) şi (5.3) se poate desena schema circuitului ca in fig. 5.3.
Grupând unităţile din diagrama Karnaugh din fig. 5.2, va rezulta FDM a funcţiilor:
Qn 1 S n Qn R n
(5.3)
Qn 1 Rn Q n S n
Aceste expresii, in urma unor prelucrări similare cazului precedent, pot fi puse sub o formă care
să ne permită desenarea bistabilului cu porţi ŞI-NU:
Fig. 5.3. Schema unui CBB de tip S-R realizată cu porţi SAU-NU
Fig. 5.4. Schema unui CBB de tip S-R asincron realizată cu porţi ŞI-NU
Analiza exactă a circuitului secvenţial asincron reprezentând bistabilul S-R realizat cu porţi
NAND a fost făcută in paragraful 4. O analiză similară poate fi făcută şi pentru circuitului basculant
bistabil realizat cu porţi NOR.
În locul acestei analize, pe care o lăsăm cititorului să o facă, vă vom prezenta in continuare o
analiză mai mult calitativă a funcţionării acestui bistabil, prin forme de undă, ca o completare la
analiza făcută, cu tabele şi diagrame, in paragraful 4. Înainte de a trece la analiza propriu-zisă, in fig.
5.5 se reaminteşte funcţionarea porţii SAU-NU.
În cele ce urmează se va analiza funcţionarea circuitului din fig. 5.3 pentru toate cele patru
combinaţii de comenzi aplicate pe intrări.
1. Cazul Sn = 0, Rn = 0
Intrările de comandă ale porţilor P1 şi P2 fiind in zero logic, porţile vor inversa semnalul de pe
cealaltă intrare. Dacă notăm cu Q semnalul de ieşire al porţii P1, care prin reacţie se aplică pe intrarea
porţii P2, la ieşirea acesteia din urmă apare in mod obligatoriu semnalul Q . Rezultă că ieşirile
circuitului sunt complementare şi că acesta nu poate avea decât două stări distincte: Q 0 , Q 1 şi
Q 1 , Q 0 . Dacă comenzile de intrare rămân neschimbate, Sn = 0, Rn = 0,circuitul va sta intr-una din
aceste stări (funcţie de memorare). Vom considera că starea bistabilului este caracterizată de ieşirea Q
a acestuia (fig. 5.6).
2. Cazul Sn = 1, Rn = 0
Cu aceste comenzi, poarta P2 este blocată pe Q 0 , iar poarta P1 este deschisă. Ieşirea porţii P1
este determinată de cealaltă intrare a sa ( Q 0 ) pe care o inversează şi deci Q 1 .
În concluzie, pentru această comandă, a rezultat o stare unică la ieşire. Dacă comanda Sn = 1,
Rn = 0, a fost dată la momentul tn şi intr-un moment ulterior tn+1 se revine la comanda Sn+1= 0, Rn+1= 0,
(dispare comanda de pe intrarea S), starea circuitului nu se va modifica (poarta P2 va rămâne blocată
datorită intrării Q 1 şi deci intrarea S nu va mai avea efect asupra stării circuitului).
Din acest exemplu rezultă că circuitul are memorie, in sensul că din starea sa la momentul tn+1
putem deduce faptul că ultima comandă aplicată circuitului a fost Sn = 1, Rn = 0 (fig. 5.7).
3. Cazul Sn = 0, Rn = 1
În acest caz funcţionarea circuitului este similară cu funcţionarea din cazul precedent, rezultând
la ieşire o unică stare Q 0 , Q 1 .
Ieşirea Q 1 prin reacţie blochează poarta P1 şi, in consecinţă, modificările semnalului Rn nu
pot influenţa starea circuitului (Fig. 5.8).
4. Cazul Sn = 1, Rn = 1
Pentru această comandă porţile P1, P2 se blochează, iar ieşirile devin Q 0 , Q 0 . Cele două
ieşiri nemaifiind complementare, rezultă că circuitul işi pierde caracterul de circuit cu două stări. Dacă
Fig. 5.9. Diagrame temporale care ilustrează funcţionarea bistabilului pentru comanda Sn = 1, Rn = 1
Observaţie: Circuitul analizat anterior se mai intâlneşte şi sub denumirea englezească de S-R
unlocked lateh. (de exemplu, circuitul integrat SN74279 conţine 4 asemenea celule binare).
5.1.2. CBB de tip S-R sincron active pe palierul tactului (Level Sensitive Latch)
CBB S-R asincron este caracterizat prin faptul că orice modificare a semnalelor de comandă S
respectiv R va avea un efect imediat asupra circuitului. Sunt situaţii in care această funcţionare poate
duce la apariţia unor erori necontrolate, aşa cum va fi ilustrat in cazul schemei din fig. 5.11.
În această schemă se constată că semnalul de comandă care se aplică pe brna S a CBB este S =
A · B.
Se consideră următoarea situaţie: Qn = 0, Rn = 0, An = 1, Bn = 0 şi deci Sn = 0 şi că in
funcţionarea normală a circuitului trebuie să apară o schimbare a stărilor intrărilor A şi B care insă să
nu influenţeze starea bistabilului. Trecerea din starea An = 1, Bn = 0 in starea An+1 = 0, Bn+1 = 1 se
poate face fie prin comutarea semnalului de pe intrarea A inaintea celui de pe intrarea B (fig. 5.12.b),
fie prin comutarea semnalului de pe B inaintea celui de pe intrarea A (Fig. 5.11.c).
În primul caz, starea bistabilului nu se modifică, Qn+1 = Qn = 0, pe când in cel de-al doilea caz,
datorită faptului că semnalul An a comutat in urma semnalului Bn pe intrarea S a bistabilului apare un
impuls care il trece pe acesta in starea Qn+1 = 1.
Această schimbare nedorită a stării bistabilului poate avea implicaţii greu previzibile asupra
funcţionării ansamblului din care face parte. Cum in practică este greu de controlat succesiunea
tranziţiilor (ce depind de diverşi timpi de propagare), este necesar să existe un circuit care să execute
comenzile numai după ce acestea s-au stabilizat la valorile lor corecte, evitându-se astfel executarea
unor comenzi eronate datorate impulsurilor parazite care pot să apară in timpul tranziţiilor. Un astfel
de circuit este CBB de tip S-R sincron (activ pe palierul impulsului de tact).
Un CBB de tip sincron va avea două intrări de date, o intrare de tact şi două ieşiri. Informatia se
transmite spre bistabilul propriu-zis numai la sosirea impulsului de tact. In fig. 5.12.a este prezentată
schema unui CBB de tip S-R sincron, activ pe palierul impulsului de tact, realizat cu porţi NOR,
impreună cu tabela de adevăr care descrie funcţionarea sa (fig. 5.12.c).
În fig. 5.12.b şi d este prezentată varianta cu porţi NAND.
Fig. 5.12. CBB de tip S-R sincron: a) Cu porţi SAU-NU b) Cu porţi ŞI-NU
c) Tabela de adevăr pentru circuitul de la punctul a
d) Tabela de adevăr pentru circuitul de la punctul b
În afara intrărilor sincrone, la aceste bistabile se introduc şi una sau două intrări asincrone.
Aceste intrări servesc la aducerea la 0 a bistabilului (reset) sau la aducerea lui in starea 1 (set).
Apariţia unor comenzi pe aceste intrări se execută independent de prezenţa tactului. Din acest motiv,
intrările respective pot fi considerate prioritare in raport cu celelalte. Toate bistabilele sincrone sunt
prevăzute cu intrare de aducere la zero, dar numai unele din ele au şi o intrare de aducere in starea 1.
Pentru a asigura prioritatea intrărilor asincrone SET şi RESET se modifică schema bistabilului
din varianta prezentată in fig. 5.12.a in varianta prezentă in fig. 5.14.
Observaţie:
Se pune intrebarea dacă acest tip de bistabil rezolvă problema menţionată la inceputul
paragrafului. Răspunsul este unul condiţionat, in sensul că dacă impulsurile de tact sunt scurte şi pe
durata lor semnalele de comandă nu se modifică, atunci comenzile vor fi preluate corect (vezi fig.
5.13), in caz contrar nu!
O soluţie mai eficientă de preluare a unor comenzi asincrone il constituie folosirea unor
bistabile sincrone pe frontul impulsului de tact care vor fi prezentate ulterior.
Examinând ce posibilităţi oferă cea de-a doua variantă, se constată că există numai patru
posibilităţi de ridicare a nedeterminării, şi anume Qn 1 Qn , Qn 1 0 , Qn 1 1 şi Qn 1 Q n . Primele
trei nu sunt interesante, deoarece ele ar însemna dedublarea unor situaţii deja existente în tabelul de
funcţionare a circuitului. Ultima variantă ar completa tabelul de adevăr cu o situaţie inexistentă în
tabelul iniţial, şi anume: în urma comenzii Sn = 1, Rn = 1 circuitul să treacă în starea opusă aceleia în
care se afla.
Pentru a obţine această evoluţie a circuitului, schema CBB de tip S-R a fost completată cu două
Dacă se procedează ca in cazul bistabilului S-R prezentat anterior şi se rescrie tabela de adevăr
din fig. 5.16.b pentru funcţia Qn+1 = f(J, K, Qn), prin minimizare, se obţine următoarea ecuaţie care
descrie funcţionarea bistabilului J-K
Qn 1 K Qn J Q n (5.7)
Dacă analizăm funcţionarea bistabilului J-K de mai sus pe baza formelor de undă prezentate in
fig. 5.16.c, constatăm că pentru J = K = l circuitul oscilează, ceea ce il face practic inutilizabil.
Fenomenul se explică prin faptul că pentru J = K = 1, porţile ŞI de intrare sunt deschise şi permit
indeplinirea condiţiei de basculare. După ce bascularea circuitului a avut loc şi dacă intre timp
comenzile de intrare au rămas neschimbate (J = K = 1), circuitul va bascula din nou etc. până in
momentul in care dispare condiţia J = K = 1.
In fig. 5.17. sunt prezente schema si tabela de adevăr pentru un CBB de tip J-K sincron.
In fig. 5.18. sunt prezente schema si tabela de adevăr pentru un CBB de tip J-K master-slave.
Circuitul basculant bisabil de tip T (toggle) se obtine dintr-un circuit J-K sincron prin
conectarea impreuna a celor doua intrari de date J si K ( T J K ). Bistabilul de tip T are o singura
intrare de date T, o intrare de tact (ceas) CK si doua iesiri complementare Q si Q (fig. 5.19).
Acest tip de CBB prezinta proprietatea ca daca intrarea T este in permanenta 1 logic, bistabilul
Caracteristica principală a funcţionării este următoarea: pe durata tactului (CK = 1), celula este
transparentă, în sensul că ieşirea este copia fidelă a intrării (se va ţine seama de timpii de propagare).
În momentul dispariţiei impulsului de tact, (trecerea 1 0) celula se zăvoreşte pe valoarea din acel
moment a intrării.
Se fabrică mai multe tipuri de circuite integrate care folosesc structură D-Latch, un exemplu
tipic este în acest sens integratul SN7475 conţinând patru asemenea celule. Simbolul precum şi tabela
care descrie funcţionarea fiecărei celule, sunt prezentate în figura 5.20.c respectiv d.
Pentru evitarea nedeterminărilor care pot apare în urma unor comenzi Sn = 1, Rn = 1 există
două soluţii:
- să se utilizeze circuitul în acele aplicaţii în care asemenea comenzi nu apar;
- modificarea schemei circuitului astfel ca acesta să aibă o evoluţie cunoscută şi după o astfel
de comandă.
Cap 6. NUMĂRĂTOARE
6.1. Generalităti, definitii
Un numărător este un circuit electronic care numără impulsurile aplicate la intrarea sa. Aceste
circuite pot fi clasificate după mai multe criterii:
• După modul in care işi modifică conţinutul:
- numărătoare directe caracterizate prin faptul că işi cresc conţinutul cu câte o unitate la fiecare impuls
aplicat la intrare;
- numărătoare inverse la care conţinutul scade cu câte o unitate la fiecare impuls aplicat la intrare;
- numărătoare reversibile care numără in sens direct sau invers in funcţie de o comandă aplicată din
exterior.
• După modul de funcţionare:
- numărătoare asincrone care se caracterizează prin faptul că celulele binare din care este constituit nu
comută simultan sub acţiunea unui impuls de tact aplicat tuturor celulelor;
- numărătoare sincrone care se caracterizează prin faptul că toate celulele binare din care este constituit
comută simultan sub acţiunea unui impuls de tact aplicat tuturor celulelor.
Înaintea inceperii unei tratări sistematice sunt necesare câteva precizări utile:
- Numărătoarele electronice se realizează cu celule binare de tip T. Proprietatea esenţială a
acestei celule este aceea că realizează o divizare cu 2.
Prin interconectarea adecvată a n astfel de celule, se va obţine schema unui numărător care
poate fi privit şi ca un circuit secvenţial cu un număr de stări distincte. Fiecărei stări i se poate asocia
câte un cuvânt de cod de lungime n, reprezentând conţinutul celor n celule binare pentru starea dată a
numărătorului. În consecinţă, codul in care numără un numărător va fi dat de succesiunea cuvintelor de
cod binare asociate stărilor numărătorului.
Cele mai frecvent utilizate coduri sunt: codul binar natural, codul binar reflectat, coduri BCD
etc. Aşadar, se pot clasifica numărătoarele şi din acest punct de vedere in numărătoare binare, zecimale
etc.
Numărul stărilor distincte posibile ale unui numărător format din n celule binare este 2n. De
multe ori insă, din cele 2n stări posibile, se sar un număr de k stări rezultând un numărător cu p = 2n - k
stări distincte. Deci, din punct de vedere matematic, operaţia realizată de un numărător este o operaţie
modulo 2n sau modulo p.
Citirea stărilor numărătorului poate fi făcută direct in binar, prin examinarea stărilor logice ale
ieşirilor Q0, Ql şi Q2, sau in zecimal, dacă ataşăm numărătorului binar un decodor binar-zecimal (vezi
fig. 6.2).
În mod normal, impulsul STROBE va fi 0 logic făcând ca toate ieşirile decodorului să fie in 0
logic. După un interval de timp τ, convenabil ales, care să acopere intervalul de timp pe care pot apărea
impulsurile parazite (se va avea in vedere şi faptul că timpii de propagare se cumulează de la un
bistabil la altul), impulsul STROBE trece in starea 1, permiţând astfel citirea stărilor numărătorului.
Impulsul STROBE trebuie să revină in 0 inaintea unui nou front activ aplicat pe intrare (vezi fig. 6.3).
Structura numărătorului din fig. 6.1 poate fi interpretată şi ca un circuit de divizare dacă se
urmăreste semnalul doar pe o singură ieşire a acestuia, aşa cum se arată in fig. 6.4.
În regim de divizor, schema poate lucra la frecvenţe superioare celora din regim de numărător
deoarece ne interesează numai semnalul de ieşire nu şi decodarea stărilor numărătorului. În astfel de
aplicaţii, frecvenţa maximă de lucru va fi determinată de timpul de basculare al primului bistabil.
În legătură cu schemele prezentate in fig. 6.1 şi fig. 6.2 se poate face următoarea observaţie:
dacă se leagă toate intrările de aducere la zero a bistabilelor de tip J-K (intrarea R ) se obţine o intrare
de aducere la zero sau de ştergere a numărătorului (intrarea Clear).
În schema din fig. 6.7, bornele de tact ale bistabilelor au fost legate împreună, formând intrarea
numărătorului, iar intrările J şi K ale fiecărui bistabil sunt comandate cu ajutorul unor porţi ŞI în
conformitate cu tabela de adevăr astfel:
- CBB0 trebuie să basculeze la fiecare impuls aplicat la intrare (vezi coloana Q0 din tabelul 6.1); în
consecinţă, se pun intrările sale la nivel logic unu (J0 = K0 = 1);
- CBB1 basculează din două in două impulsuri aplicate la intrare (vezi coloana Q1 din tabelă), adică
numai atunci când Q0 = 1; in consecinţă, se leaga intrările J1 = K1 la ieşirea Q0 ;
- CBB2 basculează din patru in patru impulsuri aplicate la intrare (vezi coloana Q2 din tabelă), adică
atunci când atât Q0 cât şi Q1 sunt in starea 1; această comandă este asigurată de poarta P1 la ieşirea
căreia au fost legate intrările J2 şi K2 ;
- După un raţionament similar, rezultă că CBB3 va bascula când Q0 = Q1 = Q2 = 1, comandă asigurată
de poarta P2.
Observaţie:
Se recomandă ca citirea conţinutului numărătorului să se facă şi în acest caz cu ajutorul unui
impuls STROBE deoarece pot apărea erori de decodare, deşi funcţionarea este sincronă. Erorile de
decodare apar datorită duratelor finite de comutare directă şi inversă a bistabilelor, precum şi variaţiei
acestor timpi de la un bistabil la altul. Spre deosebire de cazul numărătorului binar asincron (fig. 6.1),
intervalul de timp pe care pot apărea aceste erori este constant şi independent de numărul bistabilelor
interconectate.
Pentru calculul frecvenţei maxime de lucru a numărătorului, se analizeaza în detaliu trecerea
acestuia din starea 0111 în starea 1111.
Pe baza datelor din tabelul 6.3, putem completa diagramele Karnaugh pentru comenzile J şi K
Cap. 7. REGISTRE
Registrele sunt circuite electronice care pennit stocarea şi/sau deplasarea unor cuvinte de cod
binar. Plecând de la această definiţie, registrele se pot clasifica în:
- registre de memorie;
- registre de deplasare;
- registre combinate;
- registre universale.
Dacă avem în vedere faptul că datele în aceste registre pot fi introduse serie sau paralel iar citirea
lor poate fi facută de asemenea serie sau paralel, atunci putem face şi o altă clasificare echivalentă cu
cea de mai inainte astfel:
- registru cu intrare serie - ieşire serie;
- registru cu intrare paralelă - ieşire serie;
- registre cu intrare serie - ieşire paralelă;
- registre cu intrare paralelă - ieşire paralelă.