Documente Academic
Documente Profesional
Documente Cultură
CURS 1
Sinteza circuitelor secvențiale:
Există două metode de sinteză: metoda matricială (pentru circuite cu un număr mic de
intrări) și metoda organigramei.
Circuit :
Ls Ld
M
Ms , Md
C1
C2
Diagrama stărilor:
Ls·C2
M1 Iniţializare
Ls·C1
C2
M2 Depl.dreapta M4 Depl.dreapta
Ld Ld
C2
M3 Depl.stânga M5 Depl.stânga
Ls Ls
M6 Depl.dreapta
Ld
Ls
M7 Depl.stânga
În acest exemplu nu putem codifica cele 7 stări cu 3 vatiablile pentru că orice codificare
a stărilor duce la obținerea unor curse critice de aceea vom fi nevoiți să introducem stări
suplimentare. Codificarea va fi realizată cu 4 variabile.
initializare
Ls·C2
M1 0000
dreapta Ls·C1 x1x2x3x4 dreapta
C2
M2 0010 M8 1010 M4 1000
stânga stânga Ld
C2
M3 0110 M10 1110 M5 1100
Ls Ls
dreapta
M9 0100 M6 1101
Ld
stânga
M7 0101
Ls
M11 0001
Pe baza matricii stărilor şi a tranziţiilor se determină digramele VID ale stărilor următoare:
x1, x2, x3 şi x4.
Matricea stărilor:
Diagrama de stări:
initializare
Ls·C2
M1 0000
dreapta Ls·C1 x1x2x3x4 dreapta
C2
M2 0010 M8 1010 M4 1000
stânga Ld stânga Ld
C2
M3 0110 M10 1110 M5 1100
Ls Ls
dreapta
M9 0100 M6 1101
Ld
stânga
M7 0101
Ls
M11 0001
Tabelul de excitație:
Pentru realizarea circuitului de comandă folosim 4 bistabile de tip JK, variabilele de stare
sunt x1, x2, x3 şi x4.
Semnale de intrare
Qn Qn+1
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Jx1 şi Kx1:
J X 1 = x1 x3 C 2 + x1 x 2 x3 x 4 Ls C 2
K X 1 = x 4 Ld
Jx2 şi Kx2:
x1x2 x3x4 00 01 11 10 x1x2 x3x4 00 01 11 10
00 0 0 - Ld 00 X X - X
01 X X - X 01 1 Ls - 0
11 X X - X 11 0 0 - 0
10 Ld - - 0 10 X - - X
J X 2 = x1 x3 Ld + x1 x3 Ld
K X 2 = x1 x3 x 4 + x1 x 2 x 4 Ls
Jx3 şi Kx3:
J X 3 = x1 x 2 x 4 Ls C1
K X 3 = x1 x 2 Ls + x1
Jx4 şi Kx4:
x1x2 x3x4 00 01 11 10 x1x2 x3x4 00 01 11 10
00 0 X - 0 00 X 1 - X
01 0 X - 0 01 X 0 - X
11 Ls X - 0 11 X 0 - X
10 0 - - 0 10 X - - X
J X 4 = x1 x 2 x3 Ls
K X 4 = x1 x 2
Md și MS:
Md = x1 x 2 x3 + x1 x 2 x3 + x1 x 4
sincrone
Avem 3 variabile de stare => avem 3 bistabile. Intrările J ale acestora se activează la
trecerea variabilei asociate din 0 în 1, iar intrările K la trecerea variabilei din 1 în 0.
SN 7442
Diagrama stărilor:
Ls·C2
P0 Iniţializare 000
Ls·C1
C2
P3 Depl.dr. 011 P1 Depl.dr. 001
Ld Ld
C2
P4 Depl.stg. 100 P5 Depl.stg. 101
Ls Ls
P6 Depl.dr. 110
Ld
Ls
P7 Depl.stg. 111
J X 1 = P3 Ld + P1 Ld K X 1 = P 4 Ls + P7 Ls
K X 2 = P3 Ld + P3 C 2 + P7 Ls
J X 2 = P0 Ls C1 + P5 Ls
J X 3 = P0 Ls C1 + P0 Ls C 2 + P4 C 2 + P6 Ld K X 3 = P3 Ld + P5 Ls + P7 Ls
Md = P3 + P1 + P6
Ms = P4 + P5 + P7
Observații :
Se observă că prin codificarea adiacentă a stărilor între care au loc tranziţii, o tranziţie
este însoţită de schimbarea stării unui singur bistabil.
Automatul :
Ld
& JX1
P3 & X1
J R Q
P1 & T/ P0/
P4 K 20 0
P1/
& KX1 21 1 & Md
P7 & 22 2 P2/
Ls & P3/
23 3 Ms
J R Q D P4/ &
C1 X2 4
. T/ E P5/
5
C2 K P6/
. C 6
P7/
O 7
. X3 D 8
J R Q 9
T/ 10
K
Tact
Init
J X 1 = P3 Ld + P1 Ld Md = P3 + P1 + P6
K X 1 = P 4 Ls + P7 Ls Ms = P4 + P5 + P7
Utilizarea multiplexoarelor şi a numărătoarelor la sinteza circuitelor secvenţiale
sincrone
Utilizarea numărătoarelor cu încărcare paralelǎ şi a multiplexoarelor simplificǎ şi mai mult
sinteza circuitelor secvenţiale.
Funcționare:
Codificarea stărilor:
Si Si
I1 I3 I1 I2+I3
I2
Sj Sj Skl
Sk Sl
I2 I3
Sk S1
Codificarea stărilor se face astfel încât o stare următoare se obţine prin incrementarea
conţinutului numărătorului, iar cealaltă stare următoare se obţine prin incrementare.
Codificarea stărilor :
Ls·C2
M0 Iniţ. 000
Ls·C1
C2
M1 Depl.dr. 001 M6 Depl.dr. 110
Ld Ld
C2
M2 Depl.stg. 010 M3 Depl.stg. 011
Ls Ls
M4 Depl.dr. 100
Ld
Ls
M5 Depl.stg. 101
Analiza tranzițiilor:
La întocmirea diagramei stărilor nu sunt necesare stări suplimentare. Semnalele care se
vor aplica la intrările de numărare şi de încărcare paralelă vor fi sincronizate; prin aceasta
se sincronizează toate semnalele de intrare asincrone.
M0 -> M6, M1 -> M6, M2 -> M0, M6 -> M3, M5 -> M0.
Explicații suplimentarea :
Când LOAD cade în 0 logic, QA, QB, QC, QD preiau valorile de la intrările 20, 21, 22, 23.
Dacă LOAD stă pe 1 logic și COUNT trece și el pe 1, atunci la următorul front pozitiv al
CLOCK numărătorul numără.
Codificarea stărilor: diagrama stărilor e bine să conțină doar ramificații duble. Dacă
dintr-o stare trebui să trecem în 3 stări diferite, introducem o stare intermediară astfel
încât mereu să avem 2 ieșiri.
Numărul stărilor a evoluat în felul următor: 0 -> 1 -> 2 -> 3 -> 4 -> 5 (indicele stărilor a fost
incrementat); Tranzițiile sunt reprezentate cu linie intreruptă pentru a putea fi deosebite
de salturi care sunt reprezentate cu linie continuă.
Din M0 -> M1 -> M2 -> M3 -> M4 -> M5 numărătorul numără. Din M5 -> M0 nu mai numără ci
sare, la fel și M2 -> M0 , M6 -> M3 , M0 -> M6 , M1 -> M6 . Prin urmare intrările de încărcare
paralelă ale numărătorului intră în acțiune, așa că avem stări de numărare ( incrementare)
atunci când terminalul COUNT e activat pe 1 logic și avem stări de salt când COUNT este
pe 0 logic și LOAD este activat.
Scrierea ecuațiilor:
1. Funcția de numărare
COUNT = P0 Ls C1 + P1 Ld + P2 C 2 + P3 Ls + P4 Ld
(unde avem numărare, adică intre M0 și M5)
2. Condiția de încărcare paralelă
LOAD = P0 Ls C 2 + P1 C 2 + P2 Ls + P5 Ls + P6 Ld
(unde avem salt, adică M0 -> M6 , M1 -> M6 , M2 -> M0 , M5 -> M0 , M6 -> M3 )
3. Intrările de date (trebuie să conţină codul stării la care se face saltul)
Automatul
P0/ P1/ P2/ P3/ P4/ P5/ P6/
CDB 442
23 22 21 20
QC QB QA
C B A A B C
LsC2 0 0 LsC1
C2 1 P6/ 1 Ld
Ls 2 MUX MUX 2 C2
0 3 1 D Q & Q D 2 3 Ls
0 4 4 Ld
Ls 5 T & Q T 5 0
Ld 6 P0/ P6/ 6 0
0 7 P1/ 7 0
P0/ P1/
CLOCK
P1/ P2/
P4/ & Md P3/ & Ms
P6/ P5/
Numărătorul (cel care are LOAD și COUNT) urmează să gestioneze variabilele interne
prin intermediul ieșirilor QA, QB, QC (20,21,22)
Când variabilele de intrare = 000 sistemul este în starea 0 , adică este activată ieșirea 0
(P0)
Pentru numărător avem intrarea COUNT care atunci când e pe 1 logic, un front pozitiv al
CLOCK ului determină numărătorul să numere.
Când LOAD se activează în numărător se încarcă ce s-a găsit la intrările 20, 21, 22 (DA,
DB, DC).
Când suntem în starea 0, e activă intrarea 0 care poate fi dusă mai departe prin bistabilul
COUNT. Dacă în acel moment, LS și C1 sunt activate, atunci acest 1 logic poate să
meargă mai departe la bisabil, următorul front crescător al CLOCK ului e transmis către
COUNT deci numărărtorul va știi că va face o umărare și când CLOCK ul cade înapoi la
0 prin inversor intrarea de CLOCK a numărătorului sare pe 1 și numărătorul va număra.
Pe de altă parte dacă eu(automatul) sunt în satrea 0 și e selectată calea, dar LS ∙ C1 nu
e pe 1 logic, atunci degeaba am cale selectată pentru că la ieșire voi avea zero, intrarea
COUNT nu se va activa și atunci dacă se va activa în schimb LS ∙ C2, tot asa, aclea 2 fiind
selectată (MUX1), acest 1 logic intră în bistabil, la următorul front pozitiv al CLOCK-ului,
versiunea sa negată e transmisă la LOAD și o activează când CLOCK cade înapoi pe
zero, acel front căzător e transformat în front crescător și CLOCK-ul urmează să comande
încărcarea valorii pe care o găsește la intrări. Deci, practic primul MUX1 lucrează cu
ecuația LOAD, iar MUX2 cu ecuaia COUNT. Deci MUX1 poate aduce numărărtorul în
starea de numărare, iar MUX2 poate să-l aducă în starea de salt.
Scrierea ecuațiilor pentru Ms și Md
Semnalele electrice care arată în ce stare e automatul secvențial sunt date de către
decodificator. Deci
codul 011 = ieșirea 2 activă avem numărare și se activează Ms și așa mai departe.
Ms Md
SN74188 DC DB DA
24 23 22 21 20
QC QB QA
C B A A B C
LsC2 0 0 LsC1
C2 1 1 Ld
Ls 2 MUX MUX 2 C2
0 3 1 D Q Q D 2 3 Ls
0 4 4 Ld
Ls 5 T Q/ T 5 0
Ld 6 6 0
0 7 7 0
Clock
În memoria PROM se scriu direct codurile de salt. Când știm că urmează să avem un
salt, atunci din memoria PROM codul saltului e adus direct la intrările circuitului numărător
(22,21,20), urmând ca în funcție de semnalele externe care vin prin multiplexoarele MUX1
și MUX2 spre LOAD sau COUNT, să fie luate în considerare, dacă se activează LOAD
sau nu, dacă se activează COUNT.
Implementare:
Trebuie scris în memoria PROM exact ce vrem ca memoria să ne dea atunci când îi
cerem
SN74188 organizată în 32 cuvinte a câte 8 cifre binare (utilizată pentru codurile de salt și
pentru comenzile de Ms, Md)
Ls·C2
M0 Iniţ. 000
Ls·C1
C2
M1 Depl.dr. 001 M6 Depl.dr. 110
Ld Ld
C2
M2 Depl.stg. 010 M3 Depl.stg. 011
Ls Ls
M4 Depl.dr. 100
Ld
Ls
M5 Depl.stg. 101
Starea M0 (000): avem salt la 110 (deci codul 110 îl citim din memorie)
Starea M1: Avem deplasare dreapta, deci bitul 4 alocat lui Md se pune pe 1, iar bitul 3
pentru Ms se lasă 0 și se pregătește codul de salt 110.
Starea M2: Avem deplasare stânga, deci bitul 4 alocat lui Md se pune pe 0, iar bitul 3
pentru Ms se pune pe 1 și se pregătește codul de salt 000, pentru că L s ne duce în starea
M0 (000).
Starea M3: Avem deplasare stânga, deci bitul 4 alocat lui Md se pune pe 0, iar bitul 3
pentru Ms se pune pe 1, nu avem salt (în ultimele 3 căsuțe de memorie se completează
cu ***)
Starea M4: Avem deplasare dreapta, deci bitul 4 alocat lui Md se pune pe 1, iar bitul 3
pentru Ms se pune pe 0, nu avem salt, se merge direct la M5 (deci se completează cu ***)
Starea M5: Avem deplasare stânga, deci bitul 4 alocat lui Md se pune pe 0, iar bitul 3
pentru Ms se pune pe 1 și se pregătește codul de salt 000 (se scrie 000)
Starea M6: Avem salt în starea M3, se scrie 011 și avem deplasare dreapta, bitul 4 alocat
lui Md se pune pe 1, iar bitul 3 pentru Ms se pune pe 0
Starea M7: Această stare nu există așa că Md = 0, Ms = 0 și ***. Această linie nu trebuie
să fie în tabel.
Declanșarea basculării se poate face din exterior prin intermediul unor semnale de
comandă sau din interior prin acumulare lentă și atingerea unui stadiu cristic de către
anumite mărimi electrice din circuit.
Circuitele basculante au 2 sau mai multe stări bine determinate între care au loc tranziții
foarte rapide. Acestea prezintă 2 stări bine determiante: stabil sau instabil.
Într-o stare stabilă, circuitul nostru rămâne până când nu intervine omul din exterior cu un
semnal care comandă bascularea, iar starea instabilă e cea în care circuitul rămâne o
bucată de timp, după care automat revine în starea stabilă. Astfel, conform stărilor stabile
putem avea circuite: bistabile (2 stări stabile), monostabile (o stare stabilă și una
instabilă), astabile (amândouă stările instabile). Un circuit astabil va sta un timp în prima
stare, după care va comuta automat în starea 2, apoi va comuta automat din nou în prima
stare și tot așa (exemplu:oscilatoarele).
Cele mai simple, au 2 intrări de comandă: Set pentru activare și Reset pentru dezactivare.
Circuitul se activează când ieșirea Q trece pe 1 logic. Există o combinație nepermisă a
acestor semnale de comandă: nu avem voie să activăm decât 1 semnal, nu avem voie
să activăm în același timp și Set și Reset.
Bistabilele de tip J K (jam and keep)
Mai complexe, permit toate cele patru combinații ale semnalelor de comandă J și K.
O și alte clasificări ale CBB: asincrone sau sincrone (basculează numai la comanda unui
semnal exterior de tact), simple sau Master-Slave.
Orice circuit bistabil are 2 ieșiri: Q –> ieșire „adevărată” !Q –> ieșire negată.
Simbol
Reacțiile pozitive încrucișate care se produc în acest dispozitiv. Într-o primă etapă R și S
sunt la 0 și circuitul este inactiv, pe ieșirea Q avem 0 și pe !Q avem 1, atunci 1 merge la
o intrare a primei porți NOR și avem așa:
1 SAU ORICE dă 1, negat 0. Acest 0 este menținut la ieșirea Q și acest 0 vine înapoi la
a doua poartă NOR și avem: 0 SAU 0 dă 0, negat 1. Cele 2 ieșiri venind încrucișat la
intrarea celeilalte porți NOR își creează amândouă reacție pozitivă. Deci 0 de pe prima
poartă intărește 1 de la poarta a doua, iar 1 de la poarta a doua intărește 0 de la prima
poartă. Deci până nu se trimite semnal pe vreo intrare: Set sau Reset nu se intâmplă
nimic. Circuitul nostru e în stare inactică. Chiar dacă pe intrarea de Reset trimitem 1, nu
se întâmplă nimic pentru că 1 sau 1 dă 1, negat 0 și acel 0 menține a doua poartă activată.
Dacă semnalul Set trece pe 1 logic: semnalul Q este pe 0. 0 SAU 1 dă 1, negat 0, deci
!Q cade pe 0. Acest 0 trece la prima poartă, 0 SAU 0 dă 1, deci Q sare la 1, care se
întoarce la a doua poartă si avem: 1 SAU ORICE dă 1, negat 0, deci circuitul a basculat
imediat în stare activă și chiar dacă semnalul S sidpare atunci la poarta a doua o să avem:
1 SAU 0 dă 1, negat 0, deci practic prima ieșire Q menține a doua ieșre !Q pe 0, iar 0 lui
!Q îl menține pe Q activat.
Tabela de adevăr
S – 0 R – 1 => dezactivat
S – 0 R – 0 => starea unu a lui Q este tot Q pentru că circuitul meu rămâne în ultima
stare memorată (cea mai recentă)
Are funcționarea puțin inversată: porțile R și S și-au schimbat poziția și sunt negate:
intrările inactive trebuie menținute pe 1, iar intrările active pe 0.
Dacă !S și !R sunt pe 1, circuitul memorează starea in care a fost adus când !S este 0
atunci !S este activat și Q trece pe 1, se activează circuitul. Când !R este 0 !R este activat,
iar circuitul basculează în poziția dezactivat. Nu este permis să trecem pe 0 ambele intrări.
Ambele sunt circuite asicrone: în momentul sosirii frontului pozitiv la circuitul NOR sau a
frontului negativ pe circuitul NAND, imedait reacția pozitivă a avut loc și circuitul s-a și
blocat în poziția în care a basculat.
Un comutator basculant conține în interior o lamelă elastică arcuită care într-o poziție
apasă pe plotul 2, în cealaltă poziție apasă pe pltul 1. Atunci când se apasă pe un buton,
acea lamelă arcuită sare de pe 1 și ajunge pe 2, dar nu se așează imediat pe plotul
respectiv. S-ar putea ca mai întâi să facă un mic contact imperfect sau chiar să sară puțin
înapoi.
Într-o primă poziție, comutatorul stă pe poziția 2, deci intrarea e adusă la masă. Când
comutăm comutatorul pe 1 există un timp de zbor, când acest contact se ridică de pe
plotul 2 și zboară spre plotul 1 (intrarea rămâne practic în aer). E trasă ea la masă prin
rezistența R, dar totuși, conexiunea la masă e destul de aproximativă. Până când zboară
lamela până la celălalt plot, îl atinge și sare înapoi, sare din nou și apoi in sfârșit
aterizează. Aceste contacte imperfecte vor duce acestă ieșire a comutatorului când pe 1
când pe 0, iar și iar. Deci până la stabilizarea lamelei arcuite pe plotul 1, au loc o
multitudine de contacte multiple și dacă circuitul e suficient de sensibil, în loc să simtă o
singură basculare din 2 în 1, o să simtă 1, 2, 3, 4. Deci circuitul digital poate să primească
semnale false. Pentru a evita această situație se construiește un bistabil de tip RS cu
porți NAND.
Versiunile de până acum sunt asincrone, deci exact în momentul în care intrarea pozitivă
e activată, se produce reacția pozitivă și bistabilul basculează.
Tabel de adevăr
Pot executa tranzițiile doar în momentul validării acestora de către un semnal de CLOCK
extern.
Atunci când CLOCK este 0, porțile și P3, P4 negate sunt blocate pentru că 0 și ORICE
este 0, negat 1. Bistabilul memorează starea în care a fost adus anterior, orice se
întâmplă cu semnalele R și S, semnalele 2 și 1 nu simt.
Când CLOCK este 1, P3 și P4 sunt active și care dintre ele va primi un semnal de 1 pe
intrarea de comandă, va reuși să transmită un 0 la ieșire. S trecut pe 1 cu CLOCK pe 1,
avem 1 și 1 adică 1, negat 0. Circuitul urmează să fie activat, deci Q trece pe 1 și rămâne
acolo. Pentru că acel 1 trece la cealaltă poartă, 1 și 1 dau 1, negat 0 și acest 0 blochează
și mai tare poarta P1, Q rămâne pe 1, deci bistabilul basculează doar când CLOCK e pe
1 sau apare un 1 la intrarea de Set, dar până când CLOCK e la zero, această valoare 1
la S nu e simțită. Așadar, doar la următoarae trecere a CLOCK-ului pe 1, această valoare
1 a lui S nu va putea să fie transmisă mia departe. CLOCK joacă rolul unei validări, practic
va bascula abia la următorul front pozitiv al CLOCK-ului adică la următoarea trecere în 1.
Cât timp CLOCK se află în 1 logic, dacă se activează S se activează și bistabilul, dacă
se activează R se dezactivează bistabilul pe durata timpului când CLOCK se află la 1.
Simbolul
O cutie neagră cu 3 intrări : S, R, CLOCK și 2 ieșiri: Q și !Q.
Bascularea e permisă când CLOCK este pe 1.
Nu este permisă activarea simultană a celor 2 intrări pentru că
cele 2 reacții pozitive încrucișate se vor bate una cu alta.
Tranzițiile se produc la următorul front pozitiv al semnalului de CLOCK, acest front pozitiv
poate fi creat cu niște mici dispozitive electronice digitale:
Atunci când dotăm un RS sincron cu un detector de front: cât timp CLOCK este 0,
detectorul stă pe 0, iar bistabilul este blocat. Când CLOCK este 1, detectorul trimite pe
intrarea de validare a bistabilului un impuls pozitiv foarte foarte scurt, P3 și P4 neagă
nivelurile logice de la S și R, iar bistabilul basculează conform intrărilor S și R.
Dacă CLOCK este 1 circuitul Mater este activ, deci poate să basculeze, dar datorită
inversorului circuitul Slave e blocat. Dacă CLOCK este 0 circuitul Master e blocat, circuitul
Slave basculează nici acum nu e permisă comanda S = R = 1.
Circuitul basculant bistabil JK sincron
Tabela de adevăr
0 0 0 (stare inactivă), la următorul front Qn+1 rămân tot pe 0
0 0 1 (stare activă), pe următorul front pozitiv al ceasului nu se întâmplă nimic, deci când
J și K sunt pe 0, circuitul returnează starea în care s-a aflat: Qn.
J = 0, K = 1, Qn = 0 (starea inițială => circuit blocat), deci nu se permite bascularea =>
Qn+1 = 0
J = 0, K = 1, Qn = 1 (circuitul activat) => circuitul basculează pe intrarea de Reset, circuitul
se dezactivează
Deci din orice stare s-ar afla circuitul, dacă avem 1 pe Kn, la următorul front pozitiv al
CLOCK-ului circuitul se dezactivează.
În orice stare e circuitul (0 sau 1), dacă JK este 1 , la următorul front pozitiv al CLOCK-
ului trece pe 1
Dacă J este 1 și K este 1, dar inițial circuitul era în stare inactivă Qn este 0, la următorul
front pozitiv al CLOCK-ului, trece în stare activă.
Dacă J este 1, K este 1, Qn este 1 (circuit activ), la următorul front pozitiv al CLOCK-ului,
circuitul trece în stare inactivă.
CLK
Când CLOCK trece pe 1, o să apaă la ieșire un foarte foarte scurt impuls, nivelul logic la
intrarea D se transferă la Q.
Dacă CLOCK este 1 și D este 0 atunci Q următor este 0.
Dacă CLOCK este 1 și D este 1 atunci Q următor este 1, deci D se tranmite la Q pe
următorul front pozitiv al CLOCK-ului.
Numărător binar ripple-carry pe 4 biți, ștergere asincronă, cu ieșirile Q0, Q1, Q2, Q3.
Poate fi dezvoltat – reversibil, presetabil, binar / BCD etc.
Enable = 1 și Clear = 0 => numără fiecare tact pozitiv al semnalului de CLOCK.
Clear = 1 => numărătorul este resetat.
Enable = 0 => numărarea este dezactivată.
CURS 6: Circuite basculante monostabile (CBM)
Sunt caracterizate prin existența unor stări bine determinate, între care au loc tranziții
rapide reprezentând procesul de basculare.
Bascularea este modificarea rapidă a unor curenți/tensiuni, ceea ce implică existența
unor bucle de reacție pozitiă sau a unor rezistențe negative.
Declanșarea basculării se face: din exterior (prin intermediul unor semnale de control)
sau din interior (prin acumularea lentă și atingerea unui stadiu critic de către anumite
mărimi electrice din circuit)
Stările circuitelor basculante pot să fie stabile sau instabile.
Starea stabilă este o stare în care circuitul poate să rămână o perioadă de timp nelimitată
în lipsa unui semnal extern de comandă a basculării
Starea instabilă este starea în care circuitul rămâne un timp limitat, după care basculează
în cealaltă parte, fără vreun semnal extern de comandă a basculării.
Conform stărilor stabile, circuitele basculante pot fi : bistabile, monostabile, astabile.
Funcționare:
Suntem în stare inactivă: stare stabilă Q este 0 și !Q este 1.
0 de la Q merge la poarta 1, la intrarea trigger (T) e 0, 0 SAU 0 dă 1, acest 1 înseamnă
că merge la armătura din stânga condensatorului Cx. Prin rezistența Rx, condensatorul
se află la plus deci e descărcat, adică x estre tras la plus de rezistorul R x, 1 SAU 1 dă 1,
intră în poartă și se transformă în 0, care e transmis la poarta 1 și reacția pozitivă își face
efectul.
Când de la T vine 1, atunci 1 SAU 0 dă 1, negat 0. 0 de la !Q pune la masă armătura din
stânga condesatorului Cx, care este în stare descărcată, conectat cu o armătură la masă
și cu cealaltă la +. Condensatorul începe să se încarce, atunci circulă curentul prin
rezistență și condensator și px este tras temporar la masă prin condensatorul care se
încarcă. Deci x a căzut la masă, 0 SAU 0 dă 0, negat 1 la Q, care ne arată că am trecut
în starea activă și acest 1 se propagă prin reacția pozitivă până la poarta 1 și avem 0
SAU 1 dă 1, negat 0. Deci Q e manținut în 0 datorită reacției pozitive, iar condesatorul Cx
se încarcă, deci potențialul px care a fost tras la masă începe să urce și tensiunea în px
urcă destul de lent conform constantei de temporizare RC, la un moment dat e atins
pragul de basculare al porții, atunci x urcă spre 1, depășește pragul de basculare al porți
și poate fă considerat ca fiind 1 . 1 SAU 1 dă 1, negat 0. Q basculează imediat la 0. 0
SAU 0 dă 0, negat 1, deci !Q imediat a basculat la 1. Condesatorul care e încărcat, acum
se descarcă pentru că se pomenește din nou cu cele 2 armături la același potențial + de
la !Q și + de la sursa de alimentare prin rezistența Rx. Deci starea instabilă se menține
atâta timp cât Cx inițial descărcat, s-a încărcat până la tensiunea adecvată pentru a se
declanșa bascularea.
În funcționarea simplă a CBM eventualele impulsuri de triggerare care sosesc în timpul
perioadei de activare sunt ignorate datorită acestei structuri foarte simple.
Circuitele basculante astabile (CBA)
Doar regimurile tranzitorii se transmit prin aceste reacții pozitive. Durata de timp în care
o stare instabilă e menținută e determinată de constanta de timp de la intrarea inversorului
respectiv. Pentru inversorul 1 constanta de timp este R1C1, pentru inversorul 2 contanta
de timp este R2C2.
Se poate calcula care este durata de comutare a acestui dispozitiv:
După 0,69 R1C1, comută din activ în inactiv, poarta 1.
După 0,69 R2C2, comută din activ în inactiv, poarta 2.
Perioada de oscilație e dată de cele 2 constante de timp, de suma lor T = td + ta.
Durata unei stări poate fi miaa lungă sau mai scurtă, în funcție de valorile acestor piese.
td = 0,69*R1C1; ta = 0,69*R2C2
Se poate obține o durată de activare foarte foarte scurtă și o durată de inactivitate foarte
foarte lungă.
Dacă se reușește egalarea celor 2 intervale de timp R1C1 = R2C2, durata de activare va
fi egală cu durata de inactivare. Va rezulta un factor de umplere de 50%.
NAND Trigger-Schmitt => basculează la 1 (tensiunea de ieșire)
Dacă tensiunea de intrare evoluează în continuare spre valori mai mari, deci de la
tensiunea de prag minim spre tensiunea de prag maxim, ieșirea rămâne pe 1.
Când e atins pragul maxim, tensiunea de ieșire cade imediat la 0. Dacă tensiunea de
intrare scade, tensiunea de ieșire rămâne pe 1, deci odată ce am coborât sub acest prag
Vp+, tensiunea de ieșire rămâne pe 1 până când se atinge pragul Vp - . Abia atunci se
face bascularea spre starea activată.
Când ne aflăm în stare activată, dacă tensiunea crește din nou, nu mai dezactivăm iar,
deși s-a depășit pragul minim, dar atenție suntem în starea activă. Deci rămânem în stare
activă până când tensiunea de la intrare atinge pragul de sus.
Trigger Schmitt este foarte util pentru construirea unui CBA foarte simplu
Condesatorul este conectat între inrări și masă, iar de la ieșire inapoi spre intrare avem
o rezistență R. Practic, există niște stări în care condensatorul se încarcă, se descarcă.
De la momentul conectării tensiunii de alimentare, condensatorul începe să se încarce
până se atinge tensiunea Vp+ (tensiunea de prag). Când tensiunea pe condendensator a
atins pragul de sus, atunci poarta Trigger Schmitt basculează, ieșirea cade în 0. Deci
condensatorul care s-a încărcat prin rezistența R de la plusul ieșirii, se descarcă prin
aceeași rezistență care acum se pomenește trasă la masă. Pentru că ieșirea acestui T s-
a coborât la masă, condesatorul se descarcă, deci tensiunea la intrarea porții T 1 începe
să scadă exponențial, până la atingerea pragului de jos, moment în care poarta
basculează din nou și trece pe 1. Deci această rezistență care era trasă la masă, acum
e pusă la +. Deci condensatorul care s-a descărcat până la Vp-, începe să se încarce din
nou până la Vp+ și așa mai departe. Așa că atât strea activată, cât și cea dezactivată se
autodeclanșează una pe alta.
Perioadele de activare și inactivare nu sunt egale. Circuitul asimetric T1 și T2 nu sunt
egale (T1 este perioada de încărcare, T2 perioada de descărcare), așa că semnalul va fi
mereu asimetric. (Acesta este un dejavantaj)
Poarta SAU / OR (dacă cel puțin una dintre intrări este 1, ieșirea este activată)
Poarta SAU-EXCLUSIV / XNOR (intrările se exclud una pe alta(0-1 sau 1-0) pentru a se
putea activa ieșirea. Poarta semnalează diferența dintre cele 2 intrări)
Poarta SAU-EXCLUSIV-NU / XNOR (poarta semnalizează egalitatea)
Exprimarea prin limbaj natural al funcției de transfer a unui CLC – circuit logic
combinațional
Dacă numărul de intrări ajunge la mai mult de 5, 6 variabile, manipularea cu tabele de
adevăr sau cu diagrame Karnaugh pentru sinteza funcției devine nepractică, varianta
practică fiind utilizarea unor programe pe calculator.
Pentru o structură repetitivă atenția trebuie concentrată asupra logicii de funcționare a
celulei componente care apoi prin replicare poate constitui structura completă.
Acest mod de structurare repetitivă apare intuitiv pentru realizarea circuitelor SAU şi ŞI
cu mai multe intrări cu ajutorul unor porți cu un număr mai mic de intrări.
Compunerea prin replicarea operației apare ca o consecință a proprietății de
asociativitate pentru operatorul sumă logică şi pentru operatorul produs logic.
CURS 7: Realizarea structurii unui sumator pe n biți
Sumator este un dispozitiv care efectuează o sumă (face operația de adunare nu operația
SAU (+)).
Semi-sumator
Cel mai simplu sumator, care adună 2 biți fără transport anterior
Ci+1
Si
Ai Bi (carry
(sumă)
out)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Si = Ai Bi Ci Ci +1 = Ai ( Bi Ci ) + Bi Ci
Un sumator de n biți se compune din n sumatoare (punctul c)).
Cn = indicator de overflow
S i = ( A B) Ci C i +1 = C i ( A B) + AB = C i ( A B) AB
Cu cât avem mai multe celule de adunat, cu atâta transportul întârzie din ce în ce mai
mult pentru că: suma dintre A și B trece prin 2 porți XOR și ajunge imediat la ieșirea cu o
anumită întărziere corespunzătoare. Dar semnalul de transport trece prin 2 porți NAND
și se propagă la următoarea celulă sumatoare. Întârzierea semnalului carry devine
2*n*tpNAND (timp de propagare prin porțile NAND).
Se recomandă alte soluții pentru numere mari sume pe 32, 64, 128 biți (anticiparea
transportului).
Sumator pentru cuvinte de n biți
CD 4008
Este un sumator pe 4 biți de mare viteză, cu anticipare transport, realizat în tehnologia
CMOS. Acestea din urmă sunt mai puțin sensibile la zgomot decât TTL-urile și permit
foarte ușor realizarea de ieșiri adevărate. Transportul se propagă din aproape în aproape
de la un sumator la celălalt. Pentru a se conecta în cascadă astfel de circuite se
recomandă utilizarea unui carry-out paralel. Se folosește pentru aplicații de mare viteza.
Circuit de comparare a 2 cuvinte de 4 biți
O să avem 2 cuvinte A și B. În acest caz avem: A3,A2,A1,A0 și B3,B2,B1,B0 și trebuie
implementat un dispozitiv care poate să spună dacă cele 2 numere sunt egale sau care
dintre ele este mai mare.
Putem avea 4 celule comparatoare care să ne dea egalitatea, inferioritate sau
superioritate pentru fiecare pereche de biți din primul și al doilea număr urmând ca aceste
semnale de egalitate, inferioritate sau superioritate să fie prelucrate de niște circuite
suplimentare încât să obținem ceea ce ne interesează.
a) Circuitul comparator digital-celulă pentru compararea a 2 biți
A este mai mare decât B
A = 1 și B = 0, atunci avem superioritate, adică fs = 1
Fs = fs3 + fs3 * fs2 + fs3 * fs2 * fs1 + fs3 * fs2 * fs1 * fs0
Pentru A < B se deduce la fel
Fi = fi3 + fi3 * f i2 + f i3 * f i2 * f i1 + f i3 * f i2 * f i1 * f i0
Întotdeauna doar una din cele trei funcții poate să fie adevărată.
CURS 8: Sinteza circuitelor care realizează pentru un cuvânt de n biți
incrementarea, decrementarea şi complementul față de doi
1. Incrementarea
Prin adunarea bitului 1 la ultima poziție x0 a cuvântului, bitul rezultant totdeauna este !x0,
deci implementarea se face cu o poartă inversoare.
Un bit xi va fi negat dacă toți biții anteriori începând cu x0 sunt egali cu 1, deoarece
transferul generat prin incrementarea x0+1 se propagă până la bitul xi.
Detectarea şirului de cifre 1 de la x0 până la xi se poate realiza printr-un lanț de porți
ŞI(AND), iar negarea bitului xi se poate implementa cu o poartă inversoare comandată
(XOR) dacă transferul anterior (propagarea pe lanțul de ȘI) este 1.
De fapt acest circuit apare ca un numărător. Numărul se obține din cel anterior plus 1,
lipsindu-i doar componenta care să memoreze numărul anterior.
2. Decrementarea
Prin scăderea bitului 1 din ultima poziție x0 a cuvântului, bitul rezultant totdeauna este !x0,
deci implementarea pentru ultimul bit se face tot cu o poartă inversoare.
Dacă xi = 1 şi toți biții anteriori sunt 0 atunci, la operația de scădere x0-1, împrumutul se
propagă până la poziția i schimbând xi cu !xi, iar toate zerourile sunt schimbate în 1, deci
circuitul poate fi implementat cu porți XNOR.
Detectarea şirului de zerouri până la xi se poate realiza cu un lanț de porți SAU (OR).
3. Complementul față de 2
Forma de scriere în complement faţă de doi este utilizată pentru exprimarea numerelor
negative.
Există două reguli de aflare a complementului faţă de doi a unui număr
• se complementează toţi biții (complementul față de 1) apoi se adună 1
• se copiază toți biții mai puțin semnificativi până la primul bit egal cu 1, inclusiv, apoi
toți biții care urmează după acest bit 1 până la cel mai semnificativ bit se
complementează;
• de exemplu 390 | 10 = 01100000110 | 2, ultimii doi biți 10 rămân neschimbați, iar
ceilalți se complementează; deci 390|10 = 10011111010|C 2.
Implementarea circuitului se va face după regula a doua
Bitul b0 rămâne neschimbat. Începem să copiem biții de la cel mai nesemnificativ până
ajungem la primul 1 (adică toți ceilalți din fața lui 1 sunt 0) !0 + !0 = 1 + 1 = 0, !1 + 1 =1,
deci b0 rămâne neschimbat. Toți biții de la b0 la n rămân neschimbați, iar biții de la i+1
până la n-1 (capătul din stânga) se completează.
Pentru fiecare bit folosim câte o poartă XOR care se comortă ca repetor dacă la intrarea
de căntrol primește 0 și ca inversor dacă la intrarea de control primește 1.
Determinarea șirului de biți 0 pe intervalul b0 – bi se face cu un lanț de porți SAU (OR),
care propagă valoarea 1 de la intrare a bitului bi = 1.
Se presupune că b0 = 0, b1 = 0, b2 = 1: b0 trece mai departe neschimbat, adică 0, b1 trece
mai departe neschimbat pentru că primește 0 la toate bornele, b 2 este 1. 1 cu 0 dă 1 la
r2, dar acest 1 trece prin porțile ȘI (spre stânga) și ajunge la b n-2 pe care îl inversează
pentru că prin 1 pe intrarea de comandă și prin ultima poartă SAU, acest 1 ajunge la
bn-1, care e și el la rândul lui inversat.
Deci până la întâlnirea primului b care este 1, prin porțile SAU nu se propagă nimic. Când
se întâlnește un bit 1, prin porțile SAU care urmează, acest 1 se transmite până la capătul
cel mai semnidicativ al numărului inițial.
Circuitul codificator
Prin codificare înțelegem operația de alocare a unui cuvât de cod fiecărui element al unei
mulțimi, iar circuitul electonic care realizează acestă operație se numește codificator.
Codificatorul are m linii de intrare Im, Im-1, …, I1 pentru cele m elemente xm, xm-1, ..., x1 ale
mulțimii de codificat şi n linii de ieşire Yn, Yn-1, …, Y1, unde m ≤ 2n.
Acesta generează la ieşire un cuvânt de cod cu lungimea de
m biți când este activată o linie de intrare. Deoarece cuvintele de intrare au un singur bit
1 corespunzător intrării activate xi = 1, forma algebrică pentru cuvântul de ieșire se scrie:
Yk = a
i =1, n −1
i xi unde i=1, 2, …, n; k=0,1, …, n-1; ai (0,1).
Notație dispozitiv: n:m - reprezintă câte valori de intrare la câte valori de ieșire
(în cazul nostru sunt 10:4)
Dacă x0 = 1, atunci ieșirile = 0
Dacă x1 = 1, atunci ieșirile = 0001
Dacă x2 = 1, atunci ieșirile = 0010
...
Dacă x9 = 1, atunci ieșirile = 1001
Codul obținut este codul binar adecvat:
y0 = x1 + x3 + x5 + x7 + x9
y1 = x2 + x3 + x6 + x7
y2 = x4 + x5 + x6 + x7
y3 = x8 + x9
Decodificatorul (DCD)
Realizează operația inversă codificării: cuvântul de 4 biți trebuie transferat în cele 16
informații distincte. Reușește să activeze una dintre cele m ieșiri disponibile în funcție de
cuvântul de cod din n biți adus la intrările sale. m reprezintă informația, 2n biții codului.
Evident relația exprimată anterior m ≤ 2n trebuie respectată și acum. Se mai spune că
decodificatorul e un identificator de cod.
Pentru proiectare: trebuie construit tabelul de adevăr din care rezultă ecuațiile din care
rezultă schema electronică.
Decodificare de la 2:4 (2 intrări, 4 ieșiri)
Pe 2 biți putem codifica 4 informații
De la o intrare la orice ieșire se traversează același numar de porți, util pentru simetria
semnalelor și pentru egalitatea timpurilor de propagare
0000 pe intrare activează ieșire 0
...
1001 pe intrare activează ieșirea 9
1010 pe intrare nu activează nicio ieșire
1111 pe intrare nu activează nicio ieșire
Circuitului codificator pentru o tastatură cu 16 taste
Implementarea unui codificator necesită un circuit cu 16 intrări - câte una de la fiecare
tastă - şi cinci ieşiri, pentru cei cinci biți , conectate prin porți TSL la o magistrală de date.
D4 = ( + ) + ( - ) + ( ) + ( ) + ( = ) + ( )
Dacă e apăsat butonul 0, atunci semnalul de fază care vine pe y0 intră prin buton și ajunge
în intrarea x3 în același timp cu semnalul y0. Deci dacă pe y0 și pe x3 se primește semnal
de fază, atunci înseamnă că a fost apăsată tasta 1. Dacă pe x3 se primește semnal de
fază y1, înseamnă că a fost apăsată tasta 1. Dacă pe intrarea x3 se primește semnal de
fază y2 prezent la intrarea I1, atunci s-a apăsat butonul 2. În acest mod, pe baza
coincidențelor dintre intrările I7,6 și celelalte intrări ale semnalelor de fază ne dăm seama
imediat ce tastă a fost apăsată și în interiorul acestui codificator e executat tabelul de
adevăr astfel încât dacă se simte că a fost apăsată tasta 0, se emite semnalul 00011 și
așa mai departe.
În momentul în care se apasî o tastă, atunci pe una dintre ieșirile tastaturii 0 – 1 – 2 – 3
apare semnalul de fază corespunzător și atunci o să avem: 1 SAU orice dă 1, negat 0.
Deci se va transmite ieșirea pe magistrală a codului corespunzător tastei apăsate doar
dacă e o tastă apăsată.
Prin perechea de semnale active la intrarea circuitului codificator se poate identifica tasta
apăsată.
Din tabelul de adevăr, utilizând perechile de intrări (xi, yi) care identifică fiecare tastă, se
pot obține funcțiile pentru biții de cod D4, D3, D2, D1, D0.
Impulsul de stob ST a fost introdus pentru a valida conectarea porților TSL la magistrală
numai în momentul apăsării unei taste.
CURS 9: Circuitul multiplexor
Circuitele sunt :
• Secvențiale adică au o multitudine de secvențe și trec dintr-o stare în alta conform
unei anumite secvențe
• Reacționează la semnalele de intrare, dar țin cont de starea în care acestea se
află
• Circuit combinațional înzestrate cu memorie: combinațiile și semnalele de intrare
și cele care gestionează variabilele de stare
• Combinaționale adică combină semnalele de la intrare, dau la ieșire un rezultat
care depinde de combinațiile semnalelor de intrare.
Circuitul multiplexor realizează o funcție de comunicație prin selectarea oricărei linii de
intrare dintr-un număr de 2n linii, n = m linii și conectarea acesteia la o singură ieșire. Mai
este denumită și circuit selector selectarea liniei de intrare de date I pentru conectarea
acesteia la ieșirea O se face prin aplicarea pe intrările de selectare a indexului I exprimat
ca număr binar (cuvânt de selectare). Canalele sunt schimbate în modul break-before-
make.
Deci noi putem adresa orice linie de intrare dintr-un numar de n linii ătre o singură ieșire.
Cu cuvântul de selecție 000 se cuplează la ieșire electonic (galvanic) canalul 0.
Cu cuvântul de selecție 001 e selectat canalul 1 și atunci orice vine la canalul 0, nu se
transmite către ieșire. Și așa mai departe
CD 4051B
Acest circuit are in plus o intra de inhibit (deconecteză complet ieșirea indiferent de
cuvântul selectat).
Canalele sunt schimbate în modul break-before-make: înainte de a se stabili comunicarea
cu canalul ales, pentru un foarte foarte scurt delta t e întreruptă comunicarea cu fostul
canal.
De exemplu: dacă cuvântul de selecție este 000 (select canal 0), în momentul în care
vine cuvântul de select 001, mai întâi se decuplează canalul 0 și se cuplează canalul 1.
Multipleoarele pot fi construite pe 1 canal 2 sau 3
E un multiplexor de la 8 la 1: din 8 căiș e selectată una singură.
CD 4052B și CD 4053B
4052B este un multiplexor de la 8 la2 sau de la 4 la 2 pentru că avem perechile de canale
dintre care perechile selectate sunt puse în contact electic (galvanic) cu ieșirea.
De exemplu:
La cuvântul de selecție 00 sunt selectate intrările x0 și y0 astfel încât aceste contacte
mobile pe care le-am simulat aici, în realitate nu există. Legătura se face prin tranzistorul
adecvat FETC (tranzistor ef de câmp). X e transmis prin comutatorul adecvat la ieșirea
Dx, y prin comutator la ieșirea Dy. Avem și intrările de inhibit care pot intrerupe ieșirile.
La cuvântul de selecție 01 este selectată perechea de intrări 1, deci x 1 merge la ieșirea
x, iar y1 la ieșirea y, dar între x și y nu avem legături.
Practic se alege o pereche de căi din 4.
4053B merge pe 2 căi, dar cu intrările repartizate puțin diferit.
Avem ieșirea A care poate fi conectată la x sau la y, ieșirea B poate fi conectată la x sau
la y și ieșirea C la fel, butonul inhibit poate să întrerupă complet comunicația ieșirilor.
Deco prin multiplexoare mai multe informații pot fi transmise pe mai puține fire în mod
secvențial.
De exemplu: dacă trebuie transmise 8 informații atunci: în primul tact al ceasului canalul
0, în următorul canalul 1 și așa mai departe. În loc să transmită pe 8 fire diferite, o să
transmită pe 1 fir informația și pe celelalte 3 cuvântul de selecție. Noi trebuie să știm ce
am selectat pentru că la ieșire, pe baza acelui cuvânt de selecție, să putem trimite înapoi
informațiile corespunzătoare.
Structura internă 4051
TG (Transmision Gate) – porți din transmisie prin care se realizează o conexiune
galvanică între intre și ieșire dacă poarta respectivă e activată.
Structura unei astfel de porți de transmisie
Avem o intrare pe 3 biți (A, B, C) cu ajutorul cărăra urmează să activăm sau dezactivăm
mereu una dintre aceste porți de transmisie.
Decodificarea 1 din 8 pe 3 biti (a doilea patrat din figura): vin cei 3 biti, se decodifica prin
semnale de comanda pt portile TG si atunci e selectata una din intrarile respective.
Acest multiplexor realizat in tehnologie CMOS, permite conectarea galvanica intre intrari
si iesiri. Deci acest circuit poate fi folosit si pt multiplexare si pt demultiplexare.
Avem o structura simetrica: biti I0 I1 intra intr-un XOR, I2 I3 in al doilea XOR ……iar
I12 poate fi interpretat ca un semnal de stabilire, prescriere a paritatii. Deci
practice, sistemul acestui circuit poate sa si genereze paritate , da s-o si detecteze.
Iesirea dispozitivului este un repetor (buffer, etaj tampon) – necesar pentru
echilibrarea gradului de incarcare a unei iesiri. De exemplu, daca la iesirea unui
circuit integrat, eu trebuie sa pun mai multe intrari decat poate el sa suporte, atunci
nu-I bine pt ca iesirea va fi suprasolicitata iar parametrii semnalului electric vor fi
degradati foarte tare. Atunci la iesirea acelui circuit integrat al carui grad de
incarcare risca sa fie deposit, fie plasez un buffer putere care repeat semnalul
putere de la intrare, dar ii ofera o putere eelctrica mult mai mare (poate livra curenti
mai mari), fie in loc de 25 de intrari pot pune 5 buffere si fiecare buffer sa serveasca
cate 5 intrari din cele 25 pe care o singura iesire de circuit integrat trebuie sa le
deserveasca.
Un buffer are impedanta foarte mare de intrare. Daca am de lucrat cu un
oscillator cu quartz (cum era la circuitele basculante), prezenta unui circuit de
iesire cu impedanta redusa, distruge caracteristicile quartzului. Atunci la iesirea
oscilatorului lu quartz va trebui sa pun un buffer.
Deci noi reusim sa contruim paritatea unui semnal de 12 biti de la 0 pana la
11, folosind semnalul 12 ca pe o prescriere a paritatii si atunci: iesirea noastra
trece pe 1 pentru un nr impar de biti daca I12 e 0.
Oricare dintre semnale, exceptie I12, ajung la iesire parcurgand un numar
egal de porti, deci defazajele intre intrari si iesiri sunt perfect egale pentru toate
aceste intrari.
Daca vrem sa folosim pt 8 biti, nu mai folosim intrarile care nu prezinta
interes: 8,9,10,11 (le putem pune fie la masa, fie la 1).
Circuitele combinationale pot fi folosite pentru operatii aritmetice si logice.
---------------------aici se termina circuitele combinationale-----------
Retrospectiva (chestii predate in alte cursuri si recapitulate acuma):
Circuitele de mascare a bitilor intra deja in zona logica: daca vrem sa vedem doar
anumiti biti din cuvant, nu avem decat sa-i anulam pe toti ceilalti cu ajutorul unui
lant de porti SI si cu ajutorul unui cuvant masca. Bitii care sunt de interes vor trebui
sa aiba in dreptul lor, in cuvantul masca cate un bit 1.
Tot in zona logica sunt si circuitele comparatoare a doua cuvinte de patru
biti. Ele pot fi extinse astfel: se conteaza comparatoare in cascada unul dupa altul
incepand cu bitii cei mai semnificativi.
Cand tensiunea de intrare <VT1 a primului tranzistor, cel de jos (Vi<VT1), atunci
acest tranzistor e blocat, nu trece curent prin el, deci iesirea nu e conectata la
masa. Datorita faptului ca T1 e blocat, atunci T2 functioneaza in regiunea liniara:
curentul drena-sursa1=0, tensiunea de iesire e conectata prin tranzistorul T2 la +
la VDD ceea ce se observa in grafic:
F = A+ B - functia indeplinita
Poarta ȘI-SAU-NU statică
Prin combinarea procedeelor de legare în serie și în paralel a tranzistoarelor
MOS se pot obține porți ce implementează funcții complexe, menținând o structură
simplă a circuitului.
V V
v0 DD − VT , DD + VT
2 2
IV.
VDD
vI VDD − VT vI = VDD + VT + v0 − 2v0(vDD − 2vT )
2
V.
VDD − VT VI VDD v0 = 0
• VDDmin=3V
Durata frontului V DD - 2 V T t r + t f
=
Perioada semnal V DD T
C V 2DD
P dc = = C V 2DD f
T
Factorul de încărcare
Impedanță de intrare mare, curent de intrare scăzut (10pA)
O componentă a curentului de intrare de valoare mai mare o reprezintă
curentul de incărcare-descărcare a capacității de intrare a structurilor CMOS. În
timpul comutării, capacitatea statică (tipic 5pF) crește de 5 până la 10 ori datorită
reacției prin capacitățile parazite
IOL=0,44mA, IOH= -0,5mA pentru VDD=5V;
IOL=0,9 mA, IOH=-0,9 mA pentru VDD=10V
Acești curenți de ieșire pot comanda un număr foarte mare de porți CMOS.
Având în vedere sarcina capacitivă, care este proporțională cu numărul de porți
comandate, și care are efecte negative asupra timpului de propagare și a puterii
disipate, în practică se limitează factorul de încărcare la ieșire la valori maxime de
50
Valoarea capacității totale de ieșire se poate considera maxim 8pF pe
fiecare ieșire
La conectarea unor capacități externe mari (peste 1μF), vârfurile de curent
pot atinge valori mari. Se recomandă să nu se depășească, pentru vârful de
curent, valoarea de 30mA pentru porțile standard și 100mA pentru circuitele buffer
de la ieșire.
Circuite logice CMOS
VI 0 VT VDD-VT VDD
Tn Conduce Blocat
Tp Blocat Conduce
Tp Blocat Conduce
5/25
N-MOS N-MOS N-MOS
A
5/5 5/5 5/5
A F=ABCD B B Intrare Ieşire N-MOS P-MOS
+5V +5V +5V
0V +5V 0V în gol blocat blocat
UI 0V +5V +5V în gol blocat blocat
P-MOS P-MOS P-MOS UO +5V 0V 0V 0V 0V blocat
5/1 +5V 0V +5V +5V blocat 0V
B C D 0
C=0 C=1
C C C C
C=0 C=1
c) d)
Poarta de transmisie CMOS:
a) structură;
b) tabelul cu semnalele aplicate și regimurile de funcționare corespunzătoare;
c) transmisia fără schimbarea căii;
d) transmisia cu schimbarea căii
Porți CMOS
VDD VDD
L 5
= P-MOS 5m
W 50 ENABLE VDD
5 50m
50 F=AB
F=A
F=A+B 5
5 B 20
A
A B 10 5
A 20
a) b) c)
a) poarta NOR; b) poarta NAND; c) poarta inversoare TSL
E ceal mai simplu dispozitiv IIL. Componenta de bază a acestei familii de circuite o
constituie inversorul.
T2- face parte dintr-un lant de tranzistoare si cunostea doar 2 regimuri: blocat cand
nu conduce sau saturat, cand conduce cu toti purtatorii de sarcina disponibili in jonctiuni.
In saturatie, curentul e constant.
Cand T2 e saturat, colectorul e tras la masa prin intermediul jonctiunii colector-baza-
emitor. Nivelul logic este dat de tensiunea de saturatie a tranzistorului – se numeste
nivelul logic L (low).
Cand T2 e blocat, atunci borna de colectare ramane in aer. Practic tranzistorul e
intrerupt, blocat. Baza tranzistorulul IIL e alimentata printr-un generator de curent
constant: I0 de la plus. Daca baza tranzistorului e trasa la masa, fie direct subcircuitata,
fie direct prin tranzistorul anterior, tranzistorul se blocheaza si atunci colectorul ramane
in aer.
Tensiunea colectorului depinde de urmatoarea conexiune: daca T2 merge la un
urmator tranzistor care are, de asemenea, baza alimentata prin generatorul de curent,
atunci: tranzistor intrerupt, inseamna ca se va gasi la borna aceasta de colector tensiunea
baza-emitor a tranzistorului urmator. Daca acest colector este in gol, deci nu exista T3,
avem circuit intrerupt. Dpdv electric, nivelul low corespunde unui scurt-circuit intre iesire
si masa, iar nivelul high corespunde unui circuit intrerupt. Deci asa functioneaza
inversorul IIL.
Pentru tranzistorul anterior saturat, practic baza: T2 e pusa la masa si atunci
generatorul de curent nu mai injecteaza curent in baza tranzistorului, ci direct in masa.
Baza nefiind polarizata, tranzistorul este blocat si atunci iesirea e in gol. Curentul nu mai
curge prin jonctiunea colector-emitor-masa, ci prin jonctiunea baza-emitor a
tranzistorului. Tranzistorul polarizat conduce, colectorul e tras la masa samd.
Realizand un tranzistor multi-colector, putem jongla cu aceste functii si sa cream niste
dispozitive mai complexe.
Realizarea generatorului de curent constant
Se realizeaza tot cu un tranzistor. Din moment ce tranzistorul noastru IIL e NPN, pt
generatorul de curent folosim un PNP. Din exteriorul circuitului integrat, avem o borna
care duce la toate tranzistoarele care formeaza generatoarele de curent pentru toate
fazele. Baza acestui tranzistor pentru polarizare e dusa la masa. Colectorul tranzistorului
e adus la baza tranzistorului nostru de lucru si atunci: din aceasta rezistenta externa se
poate control curentul care curge catre baza tranzistoarelor noastre de lucru.
2
Inversorul I L multicolector:
a) schemă;
b) structură.
Circuitul integrat, acea placut/ ace cip care formeaza integratul se poate contrui foarte
simplu. Transizotul PNP reuseste sa genereze curentul in baza tranzistorului de lucru.
Avem aici 3 inversoare de tip IIL multicolector: toate realizeaza inversari. Borna de
intrare A – borna de iesire non A, borna de intrare B – borna de iesire non B. Dar aceste
2 tranzistoare au mai multe colectoare.
A treia pereche de multicolectoare: non A, non B. Din moment ce cele 2 colectoare
sunt aduse impreuna, noi avem un SAU aici. Oricare dintre aceste colectoare e tras la
masa, baza tranzistorului e trasa la masa si atunci avem A+B la iesire.
Dincoace, pentru ca avem acest A SAU B va fi negat pentru ca e vorba despre aceste
doua colectoare , daca si A si B sunt 0, nu exista legaturi catre masa, iesirea o sa fie un
fel de high, un fel de 1. Oricare dintre aceste 2 baze trece pe 1, se deschide tranzistorul,
borna e trasa la masa, deci avem un A SAU B negat. Deci am reusit in tehnologia IIL sa
construim o poarta SAU cu iesiri adevarate, cu iesiri negate. Deci pe al treilea inversor
obtinem A SAU B, pe urm intrare obtinem A SAU B negat si datorita multicolectoarelor,
obtinem A negat si B negat. Avem circuit cu o structura cu 4 iesiri.
Valoare curentului care intra in toate bazele se poate ajusta cu acea rezistenta Rext. Deci
intreaga suma a curentilor de emitor e inchisa prin aceasta rezistenta si asa putem
deduce curentul sosit din exterior tinand cont de factorii de amplificare si de alti asemenea
parametrii.
Structura e foarte importanta pentru ca circuitul se adapteaza unor conditii diferite. Practic
curentul merge pe 6 decade, ci microAmperi sau Amperi. Deci grad de integrare foarte
mare, simplitate a structurii, aplicatii flexibile. Evident trebuie sa avem grija de puterea
disipata si de curentii pe care ii avem de suportat, produsul dintre putere si timp de
propagare este constant. Va trebui sa lucram cu acesti parametrii ca sa ajustam timpul
de propagare, dar trebuie sa pastram si o anumita putere utila.
Concluzie: se realizeaza exclusiv cu tranzistoare PNP, NPN care ne ajuta sa avem
densitate foarte mare de elemente si trebuie sa fim atenti la valorile tensiunilor high
si low; in functie de interconexiuni, aceste tensiuni pot vaea diverse valori.
Elementul de baza e inversorul care e de fapt un tranzistor cu emitorul la masa si
cu baza disponibila la o borna, dar alimentata in permanenta printr-un generator de
curent de la plus, in rest, baza in aer, baza la masa. Aici e diferenta dintre cele 2
moduri de functionare: saturat sau blocat. Structurile interne sunt ff simple.
R5 R5 R4 R3 IE R6 R8 R5
sau R4 50K 50K 779 RE 6,1K 4,98K sau R4
X
T1 T2
F1 F2
R1 R2
VEE
O iesire de la acel GROUND, tranzistor emitor ramas in aer, de la un alt etaj vine
tot asa: colector tranzistor emitor ramas in aer. Daca vrem sa facem o functie SAU
cablat, putem foarte bine sa unim iesirile acestor porti pentru ca avem emitor in gol. N-
avem decat sa punem o singura rezistenta de emitor in locul celor doua si atunci pe
iesirea X, daca ambele tranzistoare sunt blocate, X-ul e tras la masa. Daca cel putin
unul dintre tranzistoare e activat, iesirea X e trasa la plus. Practic putem avea
rezistente FULL UP, adica trase in sus si FULL DOWN, trase in jos si putem obtine
functia SAU cablat cu un singur rezistor FULL DOWN.
Poarte ECL e un emitor gol.
POARTA SI -avantaj: VITEZA
VCC
R1
RC1 R2
VC1 T3 -0.35v
T4 -0.7v VC2
-1.5v A T’1 T5
T2 D1
F1=AB VBB=-1,1v F2=AB
B T7 D2
T’2 VBB’=
T6 T1 =-1,85v
R0 -1.45v RE RS R2 R0
-2.25v
VEE
În afara porţii ECL fundamentale, familia de circuite logice ECL oferă posibilitatea
obţinerii funcţiei logice ȘI şi ȘI-NU direct de la cele două ieşiri, prin înlocuirea
rezistenţei RE cu un alt amplificator diferenţial. În acest caz se obţin circuite ECL în
serie.
Conectarea în serie a două amplificatoare diferenţiale trebuie însoţită de o
deplasare a nivelului tensiunii de intrare şi de referinţă a noului amplificator pentru ca
tranzistoarele T1’ şi T2’ să nu se satureze. Deplasarea de nivel se realizează cu ajutorul
căderilor de tensiune pe joncţiunea bază-emitor ale tranzistoarelor T6 şi T7. În acest
caz tranzistoarele T1’ şi T2’ sunt comandate în bază cu tensiuni mai negative faţă de
tensiunea de intrare, respectiv prima tensiune de referinţă VBB.
1. Dacă la ambele intrări A şi B se aplică nivel logic superior (-0,7 V), atunci
tranzistoarele T1 şi T1’ conduc, fiind polarizate direct, şi curentul de emitor IE va
circula prin rezistenţa RC1. În colectorul tranzistorului T1 se obţine potenţialul VC1 =
-0.8 V, iar în colectorul tranzistorului T2 un potenţial de aproximativ VC2 = 0 V,
deoarece tranzistorii T2 şi T2’sunt blocaţi.
2. Dacă la cel puţin o intrare se aplică nivelul logic inferior (-1,5 V), unul dintre
tranzistoarele T1 şi T1’ va fi blocat, iar unul din tranzistorii T2 şi T2’ va conduce. În
acest caz curentul de emitor va circula prin rezistenţa RC2 pe una din următoarele
căi:
prin tranzistoarele T2 şi T1’ dacă la intrare se aplică nivelurile logice VA = VL (-1,5 V) şi VB
= -0,7 V.
prin tranzistorul T2 dacă la intrare se aplică nivelurile logice VB = VL (-1,5 V) şi VA pe
oricare nivel logic.
3. Dacă la ambele intrări A și B se aplică nivelul logic inferior, atunci tranzistoarele T2
şi T2’ conduc, iar curentul de emitor va circula prin rezistenţa RC2.
A B F1 F2
L L H L
L H H L
H L H L
H H L H
R R R R R R R R
ABC ABC
ABC ABC ABC ABC ABC ABC
(7) (6) -1.1v
-1.1v (4) (5) (3) (2) (1) (0)
A T1 T’1 T2 T’2 T3 T’3 T4 T’4
VBB VBB
B -0,75v
T5 T’5 T6 T’6
-0.7v
VBB’
-1.5v
C -1.5v
T1 VBB”
-2.25v
-3v IE
RP=510 AT=50
VEE=-5,2V a) VTT=-2V b)
30cm
RS=50
RP=510
VEE=-5,2V c)
Principiul de interconectare a două circuite ECL.
Z0
Z0
RT RT
RT=Z0 2 2
VTT=-2v VTT=-2v
VTT
RT
RT
VTT
Interconexiunea prin cablu coaxial.
50
-2v
a)
-2v
50
VEE 510
b)
100
VEE 510 RT
c)
RT
VTT
VIHmin 3,5 v 2v 2v 2v 2v
IIhmax(curentii de 1 A 40 A 20 A 200 A 20 A
la intrare)
IOLmax 4 mA 16 mA 8 20 mA 4 mA
mA
CMOS-urile au portile izolate, deci e clar ca nu vom avea curenti de intrare decat
acea conductie parazita care s-ar putea sa mai existe prin straturile de oxid de semi-
conductor. De aceea curentii de intrare sunt de ordinul microA.
Curentii iesire sunt micuti la CMOS, dar la unele TTL sunt comparabili. Atunci camd
suntem la HIGH si LOW: TTL suporta curenti putin mai mari, CMOS putin mai mici.
Comanda porţilor din familia TTL de la porţi din seria 74HCMOS
TTL(LS) TTL(ALS)
TTL 1 TTL(AS) 1
3 3
2 2
FE=2 FE=2
FE=10 10 FE=40 40
a) b) c) d)
CMOS
VCC VCC IIL
1
TTL RP TTL IRp
CMOS IIL
IOL 2
starea H VILmax-ML IIL
a) b) N