Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Introducere în
electronica digitală
- Lucrări de laborator -
2018
Lucrarea 1. Funcţii logice. Porţi. Circuite logice TTL şi CMOS.
Funcţiile logice (sau binare, deoarece au doar 2 valori) sunt propoziţii cu care operează algebra
logică. O funcţie logică de n variabile va fi de forma:
f : {0, 1} x {0, 1} x … x {0, 1} {0, 1}
Domeniul de definiţie al unei funcţii logice de n variabile va avea m =2n puncte,
putându-se construi N=2m funcţii distincte. În continuare vor fi definite cele 24=16 funcţii logice
elementare (de două variabile). Circuitele care implementează aceste funcţii se numesc porţi.
Fig. 1.2. Sinteza funcţiilor logice cu porţi ŞI-NU (NAND) sau SAU-NU (NOR)
Proprietatea funcţiilor logice de a putea fi sintetizate utilizând doar porţi de acelaşi timp
este exploatată din plin de industria electronică. Marea majoritate a circuitelor integrate digi-
tale se realizează pornind de la arii de mari dimensiuni de porţi logice identice, NOR, dar mai
ales NAND. Aceste porţi logice sunt realizate prin copierea şi multiplicarea cu mijloace fotogra-
fice a unei singure măşti. Circuitele care conţin aceste arii de porţi logice sunt realizate în serii
foarte mari, ceea ce le reduce substanţial preţul. În tehnologia de integrare clasică (anii 1960-
1980), întâlnită şi astăzi, configurarea funcţiilor logice cerute de diferitele proiecte se realizează
în cadrul fazei finale de metalizare, doar prin conexiunile dintre porţi. În acest mod un proiect
constă în esenţă din desenul măştilor de metalizare.
Porţile uzuale implementează doar câteva dintre funcţiile logice booleene fundamen-
tale: ŞI (AND), SAU (OR), ŞI-NU (NAND), SAU-NU (NOR), SAU EXCLUSIV (XOR), dar aşa cum se
vede din Fig. 1.2, cu ajutorul lor putem obţine orice altă funcţie logică booleană, inclusiv restul
funcţiilor logice fundamentale - negările şi implicaţiile. Porţile logice sunt integrate fie în vari-
antele de bază, cu două intrări, fie în variante cu mai multe intrări.
Prima familie de circuite integrate logice apărută pe piaţă a fost familia TTL (transistor-
transistor logic), realizată în tehnologie bipolară. Această tehnologie a fost dezvoltată în toate
sensurile posibile: scăderea consumului (L – low power), creşterea vitezei (S - Shottky, AS –
advanced Shottky) şi chiar scăderea consumului simultană cu creştrerea vitezei (LS - low power
Shottky) şi ALS - advanced low power Shottky). Indicativul SN74LS11 de exemplu, corespunde
unei porţi TTL Shottky de putere scăzută, produsă de Texas Instruments.
Tehnologia CMOS (complementary metal oxide semiconductor), apărută în jurul anului
1960, a fost menţinută o perioadă sub embargo militar, devenind publică abia în 1968 (RCA).
Familia CMOS a respectat topologia circuitelor TTL, cu care proiectanţii acelor ani erau deja
obişnuiţi, astfel că porţile de bază au acelaşi tip de capsulă dual-in-line cu 14 pini, alocaţi la fel
ca la TTL. Codificarea porţilor TTL este de asemenea respectată, informaţiile suplimentare refe-
ritoare la detaliile tehnologice fiind semnalate prin includerea unor litere în mijlocul şi la sfârşi-
tul codului: de exemplu circuitul 74C04 este varianta CMOS a circuitului TTL 7404.
Avantajele circuitelor CMOS faţă de TTL sunt consumul de putere extrem de redus, ten-
siunea de alimentare variabilă în limite largi (3 – 18 V) şi marginea de zgomot foarte mare
(45% din tensiunea de alimentare). Principalul dezavantaj este viteza mai mică la acelaşi preţ
şi sensibilitatea crescută la electricitatea statică, încărcarea electrostatică a porţilor putând dis-
truge cu uşurinţă circuitele. Protecţia anti-electrostatică se baza iniţial pe măsuri externe (sto-
carea în medii tratate anti-electrostatic, scurtcircuitarea pinilor cu o panglica metalică care se
înlătură doar după lipirea circuitului, conectarea dispozitivelor de lipit la masă, etc. Ulterior au
apărut familii CMOS protejate intern prin diode Zener montate în paralel cu terminalele de
intrare, care protejează prin deschiderea lor intrările porţilor. Şi porţile CMOS au fost dezvoltate
şi în sensul creşterii vitezei, prin măsuri tehnologice specifice, cum ar fi dubla difuzie.
Pentru exemplificare să urmărim porţile existente în familia CMOS 4000 produsă de
Microelectronica Bucureşti în anii 80 - 90 sub indicativul MMC.
4011 4011
1/4 2/4
Fig. 1.5. Astabil comandat cu două porţi NAND cu 4 intrări, implementat cu MMC 4012
Fig. 2.1. Computer Intel 8088 realizat pe breadboard (single board computer)
(http://en.wikipedia.org/wiki/Breadboard#mediaviewer/File:Breadboard_complex.jpg)
Obiectivul lucrării este verificarea în practică, pe breadboard, a circuitelor din Fig. 1.2.
Borna – Ualim
Traseu + Ualim
Traseu - Ualim
Intrarea y
4011
Ieşirea x OR y
Cheia integratului
4002
Grupare verticală
Grupare orizontală
Fig. 2.4. Circuit de sinteză a porţii AND cu circuite NOR sau a porţii OR cu circuite NAND
Circuitele integrate utilizate în lucrare au fiecare 4 porţi de câte două intrări:
- NOR: 4002 (CD4002 Texas Instruments, HEF4002 Philips, MMC4002 Microelectronica, etc.)
- NAND: 4011 (CD4011 Texas Instruments, HEF4011 Philips, MMC4011 Microelectronica, etc.)
Întrucât organizarea circuitelor 4002 şi 4011 este identică (vezi Fig. 2.5), montajele de
sinteză a porţii AND cu circuite NOR şi a porţii OR cu circuite NAND sunt identice.
Fig. 2.5. Organizarea internă a circuitului 4011 (la 4002 porţile utilizate sunt NOR)
Desfăşurarea lucrării: se realizează şi testează schemele din figura 1.2, conform montajului din
Fig. 2.4.
Lucrarea 3. Convertoare de cod
Codificatoarele sunt circuite logice combinaţionale care generează la ieşire cuvinte binare de
cod, în funcţie de combinaţia aplicată la intrare. Cu n variabile binare sunt posibile 2n combi-
naţii. Un cod binar de n biţi este alcătuit din cele 2n combinaţii sau o parte a lor şi din interpre-
tarea acestora.
Sistemul de numeraţie binar poate fi privit ca un cod natural binar, fiecărei combinaţii
de n biţi corespunzându-i una din primele 2n cifre zecimale. Există foarte multe coduri binare
dintre care unul dintre cele mai răspândite este codul binar codificat zecimal BCD. Acest cod
înlocuieşte fiecare cifră zecimală cu codul ei binar natural dar păstrează organizarea zecimală a
cifrelor, astfel încât afişarea datelor numerice în sistemul zecimal, cel cu care oamenii sunt
obişnuiţi, este imediată.
Decodificatoarele sunt circuite logice combinaţionale care activează una sau mai multe
ieşiri în funcţie de cuvântul de cod aplicat la intrare. Pentru decodificatoarele care acţionează
mai multe ieşiri simultan se utilizează şi termenul de convertor de cod.
Decodificatoarele se folosesc frecvent în adresarea memoriilor. În Fig. 3.2 se prezintă un
decodificator de doi biţi pentru 4 adrese.
Multiplexoarele sunt circuite logice combinaţionale cu mai multe intrări de date şi o singură
ieşire. Selectarea intrării care este conectată într-un anumit moment la ieşire se face printr-un
decodificator de adrese, în funcţie de cuvântul de cod binar aplicat intrărilor de adresă. Cu m
biţi de adresă se pot adresa 2m intrări.
În figura următoare este prezentat un circuit de multiplexare cu 4 canale de intrare, a
căror semnale pot fi comandate prin comutatoarele 1, 2, 3 şi 4. Cei doi biţi de adresă necesari
pentru codificarea a 4 stări diferite sunt A – bitul cel mai puţin semnificativ şi B. Pentru
selectarea canalului conectat într-un anumit moment la ieşire sunt necesare 4 porţi ŞI (AND).
Ieşire
linie
Multiplexor
Decodificator
de adrese
4 canale
de intrare
4 canale
de ieşire
Adrese
Circuitele aritmetice sunt circuite logice combinaţionale care pot efectua operaţii aritmetice cu
operanzi codificaţi binar. În figura 5.1 se prezintă doar o versiune a celui mai simplu circuit arit-
metic, sumatorul pentru bitul de rang oarecare n. Poarta predestinată operaţiilor aritmetice
este XOR (SAU-EXCLUSIV) care oferă la ieşire suma aritmetică a biţilor de la intrare.
Operanzii de intrare sunt An şi Bn, suma lor aritmetică este Sn iar transportul înspre ran-
gul superior este Tn. Se observă şi prezenţa intrării de transport dinspre rangul inferior Tn-1.
Circuitele basculante bistabile (CBB) sunt circuite logice secvenţiale care au două stări posibile,
trecerile într-o stare sau alta având loc doar la aplicarea unor comenzi adecvate la intrări. CBB-
urile fac posibilă memorarea datelor binare. Circuitele logice care conţin circuite basculante
(bistabile, dar şi astabile sau monostabile) se numesc circuite logice secvenţiale.
Cele mai simple CBB-uri sunt cele RS asincrone, la care comenzile de intrare se numesc
Set (pentru memorarea 1) şi Reset (pentru memorarea 0). Ieşirile bistabilelor se notează de
obicei cu Q. Se impune prin standard ca fiecare ieşire să fie însoţită şi de inversa sa Q .
CBB-urile asincrone se realizează fie cu porţi ŞI-NU (Fig. 6.1a) fie cu porţi SAU-NU (Fig.
6.1b). Înscrierea informaţiilor dorite în CBB se face conform tabelului din Fig. 6.1. Se remarcă
notaţia complementată a intrărilor bistabilului cu porţi ŞI-NU, care ne indică faptul că intrările
respective sunt active în starea O, nu în starea 1. Indicele n indică starea anterioară comenzii de
scriere iar indicele n+1 starea rezultată după scriere, care se păstrează până la apariţia unei
comenzi noi de scriere. Combinaţiile 1-1 pentru a) şi 0-0 pentru b) sunt proprii stării de memo-
rare, informaţia anterioară păstrându-se pe toată durata acestor combinaţii de intrare (Qn+1=
Qn). Citirea bistabilelor se poate face în orice moment. Există şi câte o comandă interzisă 0-0
pentru a) şi 1-1 pentru b), care provoacă nerespectarea condiţiei de complementaritate a ieşi-
rilor. Apariţia comenzilor interzise nu produce însă nici o defecţiune a CBB-ului în sine.
La conectarea în cascadă a mai multor circuite asincrone întârzierile introduse de porţile
componente se cumulează, motiv pentru apare riscul generării de stări false pentru anumite
succesiuni de semnale de intrare.
Împotriva acestor situaţii se prevede “sincronizarea” bistabilelor cu semnale de ceas
(tact). În funcţie de existenţa sau inexistenţa sincronizării, CL se pot clasifica în:
- CL asincrone (vezi Fig. 6.1);
- CL sincrone (pe impulsuri pozitive/negative sau pe fronturi de impulsuri pozitive/negative).
Sincronizarea bistabilelor se realizează exploatând proprietatea porţilor de a funcţiona
„ca o poartă” în sensul cel mai propriu. În figura următoare se observă cum semnalul de tact CK
permite transmiterea comenzilor de la intrare doar pe durata când are valoarea 1. Când CK = 0
etajul de sincronizare de la intrare este blocat iar bistabilul este menţinut în starea de memo-
rare. Această situaţie este reprezentată în tabel prin S = R = X, ceea ce înseamnă că indiferent
de valorile lui S şi R, circuitul îşi va păstra starea anterioară.
CK S R Qn+1 Qn+1
0 X X Qn Qn memorare
0 0 Qn Qn memorare
1 0 1 0 1 înscriere 0
1 0 1 0 înscriere 1
1 1 1 1 stare interzisă
Fig. 6.2. Bistabil RS NAND sincron
QRS-NAND
QRS-NAND 4011
RRS-NAND
R RS-NOR
Q RS-NOR
4002
Q RS-NOR
S RS-NOR
Fig. 6.. Circuite bistabile RS asincrone cu porţi NAND (4011), respectiv NOR (4002)
SRS-NAND
CK
4011
RRS-NAND
QRS-NAND
QRS-NAND
Desfăşurarea lucrării: se realizează şi testează schemele din figurile 6.1 şi 6.2, utilizând monta-
jele din Fig. 6.3 şi 6.4. Se realizează şi se testează şi un bistabil RS sincron cu porţi NOR.
Lucrarea 7. Bistabilele JK-MS, D şi T
Cel mai complex dintre bistabile, care dispune de toate funcţiile utilizate în mod curent în apli-
caţii, este CBB JK-MS (JK master-slave). Prin comandare adecvată din CBB JK-MS se pot realiza
CBB-uri sincrone şi asincrone, CBB-D precum şi CBB-T. Acest circuit (vezi Fig. 7.1) este format
dintr-o pereche de bistabile RS sincrone, denumite master respectiv slave, o pereche de intrări J
şi K, care datorită unor reacţii aduse dinspre ieşirile Q şi Q înspre porţile de sincronizare afe-
rente secţiunii master, înlătură posibilitatea apariţiei stării interzise şi introduc un regim nou,
cel de bistabil T, care este explicat în tabelul de adevăr din Fig. 7.2. Deşi în limba română se uti-
lizează doar termenul de bistabil (CBB), în limba engleză bistabilele master-slave se denumesc
flip-flop, spre deosebire de bistabilele latch, prezentate în lucrarea anterioară.
Cele două secţiuni master şi slave sunt sincronizate de semnalul de tact CK, dar în timp
ce tactul este adus la master ca atare, pentru slave el este complementat printr-o poartă NOT.
După aplicarea unui impuls pozitiv de tact, datele aflate la intrările J şi K ajung în latch-ul mas-
ter, dar nu se mai pot propaga înspre latch-ul slave, pentru că secţiunea slave are 0 la intrarea
de sincronizare, ca urmare a complementării tactului. Pentru ca starea latch-ului master să
ajungă la ieşire este nevoie ca impulsul de tact să revină în starea 0. Prin această metodă CBB-
MS nu mai este transparent pe toată durata impulsului de tact, aşa cum sunt bistabilele RS sin-
crone, iar datele de la intrare se propagă înspre ieşire în mod controlat, câte un pas la fiecare
front negativ al tactului. Funcţionarea pe front negativ se simbolizează prin complementarea
intrării de tact. Există la fel de multe variante de bistabile JK-MS cu propagarea pe front pozitiv.
Funcţionarea asincronă, prioritară, se obţine introducând una sau două intrări de co-
mandă de tip CBB-RS asincron în latch-ul slave. Prioritatea intrărilor asincrone rezultă din plasa-
rea lor în imediata apropiere a ieşirilor. Aceasta se poate realiza utilizând de exemplu porţi ŞI-
NU cu trei intrări pentru latch-ul slave, aşa cum este cazul intrării C a porţii de jos din figură.
CK
K Q
Fig. 7.1. Bistabil JK-MS sincron cu reset activ pe 0 logic şi cu comutare pe front negativ
Tabelul de adevăr al unui CBB JK-MS cu intrări asincrone de set şi reset active pe 1 logic
şi cu acţiune pe frontul pozitiv este prezentat în Fig. 7.2.
1 1 stare interzisă
asincron X X X 0 1 0 1 înscriere 0
1 0 1 0 înscriere 1
0 0 Qn Qn memorare
sincron 0 1 0 0 0 1 CBB D (înscriere 0)
1 0 1 0 CBB D (înscriere 1)
1 1 Qn Qn CBB T
Fig. 7.2. Bistabilul JK-MS cu comutare pe front pozitiv
În regim asincron intrările RS sunt prioritare. Deseori ele se folosesc în varianta comple-
mentată (active pe 0 logic). La fel de des se pot întâlni şi bistabile care au o singură intrare asin-
cronă R care permite ştergerea bistabilului (trecerea lui în 0) indiferent de starea intrărilor sin-
crone JK sau a tactului. Regimul sincron este validat de combinaţia S = R = 0. În regim sincron
intrările JK sunt active iar comutarea ieşirilor se produce pe frontul negativ al impulsului CK. În
cazul comenzilor asincrone active pe 0 regimul sincron este validat de combinaţia S = R = 1.
Intrările JK sunt asemănătoare cu intrările RS pentru combinaţiile J = K = 0 în care JK-MS
rămâne în starea avută înainte de frontul pozitiv CK şi pentru combinaţiile J=0 & K=1 şi J=1 &
K=0 în care JK-MS are o funcţionare de tip CBB-D (bistabil de date). Un bistabil de date tran-
smite datele de la intrare înspre ieşire în mod sincronizat, câte un pas la fiecare tact (Fig. 7.4)
Principala diferenţă apare la combinaţia J = K = 1, care nu mai este interzisă ci creează o
funcţionare de tip CBB-T, în care la fiecare front pozitiv de tact se produce bascularea ieşirilor în
starea complementară – din 0 în 1 sau din 1 în 0.
CK
t
QCBB-T
t
TCK
TCBB-T
În Fig. 7.3 se prezintă comportarea unui CBB-T cu acţiune pe front negativ, având o pro-
prietate remarcabilă: divizarea frecvenţei impulsurilor de tact cu doi: fCBB-T = fCK / 2, proprietate
care face posibilă construirea numărătoarelor, după cum se va observa în secţiunea următoare.
Pentru a înţelege cât mai bine diferenţele dintre latch-uri şi flip-flop-uri, în Fig. 7.4 se
face o comparaţie între funcţionarea unui D-latch şi a unui D-flip-flop cu acţiune pe front nega-
tiv. Principala deosebire constă din transparenţa latch-ului pe toată durata impulsului CK, aşa
cum se observă pe durata impulsului CK3. Impulsul care apare la ieşirea latch-ului atunci când
intrarea D are valoarea 1 simultan cu CK nu se mai produce în cazul flip-flop-ului. Decalarea
dintre cele două ieşiri dintre impulsurile CK1 – CK2 se datorează comutării pe front negativ a
flip-flop-ului. În cazul comutării pe front pozitiv decalarea dispare.
CK
1 2 3 4 t
D
t
QLD
t
QFD
t
Numărătoarele sunt circuite logice secvenţiale formate din bistabile de tip T, a căror
stări, prin decodificare binar-zecimală, pot fi asociate cu mulţimea numerelor naturale. Aplicând
la intrarea de numărare un tren de impulsuri, numărătorul va parcurge pe rând toate stările
cuprinse între numărul 0 şi numărul N = 2n – 1, unde n este numărul de bistabile din compo-
nenţa numărătorului. Se pot construi şi numărătoare inverse, care îşi decrementează conţinutul
pentru fiecare impuls nou de numărare. Totodată se construiesc şi numărătoare inscriptibile, a
căror conţinut poate presetat înaintea unei numărări.
Cel mai simplu numărător, cel asincron, este prezentat în Fig. 8.1. Fiecare celulă are ieşi-
rea conectată la intrarea de tact a celulei următoare. În schema din figură s-au utilizat CBB-T-uri
cu acţiune pe frontul negativ. Acest mod de conectare poate fi iterat oricât de mult. Din for-
mele de undă vizualizate cu analizorul de stări logice, se poate observa prin decodificare, cum
conţinutul numărătorului se incrementează după fiecare front negativ al impulsului de numă-
rare aplicat la intrarea de tact a primei celule, trecând pe rând prin toate cele 16 stări posibile.
Pentru această funcţionare intrările asincrone RS trebuiesc menţinute la 1 logic. Acest numără-
tor este asincron deoarece nu are toate intrările CK conectate în paralel.
Registrele sunt circuite logice secvenţiale realizate cu CBB-uri de tip D şi destinate stocării/
memorării şi manipulării datelor binare. Pentru memorarea unui bit este necesar un CBB-D. Un
registru alcătuit din n CBB-uri poate memora un cuvânt binar cu lungimea de n biţi. Principalele
operaţii legate de memorarea cuvintelor binare în registre sunt înscrierea şi citirea, care se rea-
lizează prin terminale distincte, grupate în portul de intrare pentru înscriere şi portul de ieşire
pentru citire.
În funcţie de modul de realizare a acestor operaţii, registrele se pot clasifica în registre
paralele, registre serie şi combinaţii ale lor, serie-paralel şi paralel-serie.
a) structură de bază
Intrare Ceas Q0 Q1 Q2 Q3
1 ① 1 0 0 0
1 ② 1 1 0 0
0 ③ 0 1 1 0
1 ④ 1 0 1 1
După cum se observă din tabel, la fiecare impuls de ceas se produce o deplasare a cu-
vântului binar spre dreapta (în acest caz). Printr-o conectare adecvată se poate obţine şi depla-
sarea spre stânga. Deplasările joacă un rol important în multe operaţii asociate echipamentelor
digitale iar registrele specializate în acest sens poartă denumirea de registre de deplasare (shift
register).
O structură derivată din registrul de deplasare, prin conectarea ieşirii la intrare, este
registrul inel, prin care un cuvânt binar este deplasat în cerc, la dreapta sau la stânga.
Dacă după înscrierea cuvântului 1101 în registrul serie acesta este conectat ca registru
inel, succesiunea stărilor sale pentru următoarele 4 impulsuri de ceas este cea din tabelul urmă-
tor.
Intrare=Q3 Ceas Q0 Q1 Q2 Q3
1 ⑤ 1 1 0 1
1 ⑥ 1 1 1 0
0 ⑦ 0 1 1 1
1 ⑧ 1 0 1 1
Într-un registru inel se înscrie un cuvânt care reprezintă starea sa iniţială. După realiza-
rea reacţiei dintre intrare şi ieşire, această informaţie nu se mai pierde, ea circulă câte un pas
pentru fiecare impuls de tact. Prin deplasarea acestui cuvânt, fiecare bit din componenţa sa va
parcurge toate cele n poziţii din registru, iar după n paşi cuvântul reajunge în poziţia iniţială.
Această deplasare liniară poate fi asociată cu un numărător modulo n, de aceea circuitul se mai
numeşte şi numărător în inel. Registrul inel este utilizat frecvent în automatică la implementa-
rea automatelor cu stări finite de tip Moore. Se utilizează matrici formate din m registre conec-
tate în paralel, conţinutul unei celule reprezentând m comenzi binare asociate stării curente a
automatului. Trecerea la starea următoare se face după executarea comenzilor aferente stării
curente.
Desfăşurarea lucrării: se programează şi se testează în Electronics Workbench registrele din
figurile 10.1, 10.2 şi o schemă de registru de deplasare în inel.
Lucrarea 11. Registrul universal
Dacă un registru serie este completat printr-un sistem de conexiune adecvat, el poate fi confi-
gurat în timpul funcţionării, obţinându-se un registru serie-paralel. În figura următoare această
configurare dinamică este comandată prin intrarea Validare paralel P. Semnalul Validare serie S
se creează prin complementarea lui P (S = P).
Memoriile RAM (random access memory) cu acces aleatoriu, sunt accesibile în orice moment
atât pentru citire cât şi pentru scriere (Read/Write). Memoriile RAM sunt rapide, au un grad
ridicat de împachetare, dar sunt volatile, adică se şterg dacă alimentarea lor se întrerupe.
Organizarea unei unităţi de memorie RAM de 2k cuvinte de câte n biţi este reprezentată
în Fig. 12.1. La conectarea ieşirilor cu magistrala de date sunt necesare buffere cu 3 stări logice,
astfel încât ieşirea memoriei să fie conectată electric numai la primirea comenzii de scriere. De
regulă memoria este conectată la aceeaşi magistrală de date, care joacă rolul intrării sau ieşirii
în funcţie de comanda dată de unitatea centrală de prelucrare a sistemului digital în care este
utilizată memoria.
Magistrală de
date de n biţi
Magistrală de
date de n biţi