Circuite Integrate Digitale Danisor Surugiu

December 30, 2016 | Author: Loredana Amariei | Category: N/A
Share Embed Donate


Short Description

Download Circuite Integrate Digitale Danisor Surugiu...

Description

ALIN DĂNIȘOR IOAN SURUGIU

CIRCUITE INTEGRATE DIGITALE CURS UNIVERSITAR Arhitectură Harvard Memorie de date

Memorie program

CPU 8

Arhitectură von Neumann

4

CPU 8

Memorie de date şi program

Vcc (+5V) R1 4kΩ

A B D1

+5V (0,2V)

R2 130Ω

R4 1,6kΩ

2,1V (0,9V) 1,4V T1 (0,2V)

+5V R3 1kΩ

D2

0,9V (3,8...5V) T2

A

f

B

T3

Simbol D

0,2V (2,4...5V)

0,7V (0V)

f  AB

T4 GND

a f

b

f

e

g

dp1

d

b

g e

c dp2

c dp1 dp2

Constanţa 2012

1

2

CUPRINS

Capitolul 1: Sisteme digitale ...................................................................................................7 1.1. Calculatoare electronice …………………………………………………………… 7 1.2. Automate finite ……………………………………………………………………10 1.2.1. Noţiuni şi definiţii ………………………………………………………………... 10 1.2.1.1. Automat …………………………………………………………………………...10 1.2.1.2. Automat determinist ……………………………………………………………....11 1.2.1.3. Automat finit ........................................................................................................... 11 1.3. Modele de automate finite ...................................................................................... 11 1.3.1. Modelul Moore ……………………………………………………………………11 1.3.2. Modelul Mealy …………………………………………………………………… 12 1.3.3. Modelul Starke …………………………………………………………………… 12 1.4. Semiautomat ........................................................................................................... 12 1.5. Structura unui automat finit .................................................................................... 12 1.6. Reprezentările funcţiilor caracteristice ale automatelor finite ................................ 13 1.6.1. Tabelul de tranziţie ..................................................................................................13 1.6.2. Grafuri de tranziţie ..................................................................................................13 1.6.3. Organigrame ........................................................................................................... 14 Capitolul 2: Algebra booleană şi funcţii booleene ………………………………………..15 2.1. Algebra booleană ………………………………………………………………….15 2.1.1. Noţiuni introductive ……………………………………………………………… 15 2.1.1.1. Logica matematică .................................................................................................. 15 2.1.1.2. Algebra logicii …………………………………………………………………….15 2.2. Funcţii booleene ………………………………………………………………….. 15 2.2.1. Definiţie …………………………………………………………………………...15 2.2.2. Operaţii cu funcţii booleene ……………………………………………………… 16 2.3. Reprezentarea numerică a informaţiei …………………………………………….16 2.3.1. Reprezentarea în sistem binar ……………………………………………………..16 2.3.2. Reprezentarea în sistemele octal şi hexazecimal ………………………………….20 2.3.3. Conversiile reprezentărilor numerice ……………………………………………. 20 2.4. Funcţii booleene elementare. Circuite tip poartă logică ………………………….21 2.5. Reprezentarea funcţiilor booleene ………………………………………………...23 2.5.1. Metode grafice …………………………………………………………………….23 2.5.1.1. Tabelul de adevăr ………………………………………………………………… 24 2.5.1.2. Diagrame Veitch–Karnaugh ………………………………………………………25 2.5.1.3. Scheme logice (logigrame) ………………………………………………………..25 2.5.2. Metode analitice ………………………………………………………………….. 26 2.5.2.1. Reprezentarea prin expresii analitice …………………………………………….. 26 2.5.2.2. Reprezentarea funcţiilor cu ajutorul codurilor …………………………………… 27 2.6. Minimizarea funcţiilor booleene ............................................................................. 27 2.6.1. Definiţii ................................................................................................................... 28 2.6.2. Metode de minimizare a funcţiilor booleene ……………………………………...29 2.6.2.1. Metoda Quine ……………………………………………………………………. 29 2.6.2.2. Metoda Quine–Mc Cluskey ……………………………………………………….29 2.6.2.3. Metoda Karnaugh ………………………………………………………………... 31 2.6.3. Funcţii incomplet definite .......................................................................................32 Capitolul 3: Comenzi secvenţiale .........................................................................................33 3.1. Analiza şi sinteza circuitelor logice combinaţionale ...............................................33

3

3.1.1. Analiza circuitelor logice combinaţionale ...............................................................33 3.1.1.1. Circuite combinaţionale logice cu porţi ŞI, SAU, NU …………………………... 33 3.1.1.2. Circuite combinaţionale logice cu porţi ŞI-NU (NAND), SAU-NU (NOR) …….. 34 3.1.2. Sinteza circuitelor logice combinaţionale ............................................................... 36 3.1.2.1. Sinteza CLC cu module (porţi) ŞI, SAU, NU ........................................................ 36 3.1.2.2. Sinteza cu module (porţi) ŞI–NU, SAU–NU ......................................................... 38 3.1.3. Hazardul în circuitele logice combinaţionale ……………………………………..40 3.2. Circuite logice secvenţiale ………………………………………………………...40 3.2.1. Introducere ………………………………………………………………………...40 3.2.2. Tipuri de circuite logice secvenţiale ………………………………………………42 3.2.3. Reprezentarea circuitelor logice secvenţiale …………………………………….. 43 3.2.4. Analiza circuitelor logice secvenţiale ……………………………………………..44 Capitolul 4: Analiza circuitelor basculante bistabile …………………………………… 47 4.1. Introducere ………………………………………………………………………...47 4.2. Circuite basculante bistabile asincrone …………………………………………... 47 4.2.1. Circuite basculante bistabile asincrone tip R–S ………………………………….. 47 4.2.1.1. CBAA tip R–S cu porţi ŞI–NU ………………………………………………….. 47 4.2.1.2. CBBA tip R–S cu porţi SAU–NU ………………………………………………...51 4.2.1.4. Concluzii asupra CBBA tip R–S ............................................................................ 52 4.2.2. Circuite basculante bistabile asincrone de tip J-K ...................................................52 4.2.2.1. CBBA tip J–K cu porţi ŞI–NU ……………………………………………………52 4.2.2.2. CBBA tip J–K cu porţi SAU–NU ………………………………………………... 54 4.2.3. Analiza circuitelor logice secvenţiale asincrone (CLSA) care au circuite basculante bistabile ca elemente de memorie ………………………... 54 4.3. Circuite basculante bistabile sincrone …………………………………………… 56 4.3.1. Caracteristicile circuitelor basculante bistabile sincrone ………………………… 56 4.3.2. Analiza circuitelor basculante bistabile sincrone ………………………………... 57 4.3.2.1. Circuite basculante bistabile sincrone de tip R–S ………………………………... 57 4.3.2.2. Circuite basculante bistabile sincrone de tip T ……………………………………59 4.3.2.3. Circuite basculante bistabile sincrone de tip D …………………………………... 60 4.3.2.4. Circuite basculante bistabile sincrone de tip „master–slave” ……………………..63 Capitolul 5: Circuite integrate logice ……………………………………………………...67 5.1. Caracteristicile circuitelor logice .............................................................................67 5.1.1. Introducere ………………………………………………………………………...67 5.1.2. Caracteristicile circuitelor logice cu dispozitive semiconductoare ……………… 67 5.1.3. Familii de circuite integrate logice ………………………………………………..70 5.2. Circuite integrate logice cu tranzistoare bipolare …………………………………71 5.2.1. Generalităţi ………………………………………………………………………. 71 5.2.2. Poarta logică fundamentală pentru seria TTL normală ………………………….. 73 5.2.3. Circuite logice cu intrări expandabile ……………………………………………. 75 5.2.3. Circuite logice cu intrări expandabile ……………………………………………. 76 5.2.5. Circuite TTL cu colectorul în gol ………………………………………………... 77 5.2.6. Circuite logice cu trei stări ……………………………………………………….. 78 5.2.7. Circuite logice cu injecţie I2L ……………………………………………………..79 5.3. Circuite integrate logice cu tranzistoare unipolare ..................................................80 5.3.1. Caracteristicile tranzistoarelor unipolare .................................................................80 5.3.2. Circuite logice cu TEC–MOS ……………………………………………………. 81 5.3.2.1. Circuite logice statice ……………………………………………………………. 82 5.3.2.2. Circuite logice dinamice …………………………………………………………..83

4

5.3.3. Circuite logice cu TEC–CMOS …………………………………………………...84 5.3.3.1. Circuitul logic fundamental inversor al seriei CMOS …………………………….85 5.3.3.2. Circuite logice SAU–NU (NICI) şi ŞI–NU (NUMAI) CU TEC–CMOS ………...87 5.3.3.3. Comutator analogic ………………………………………………………………. 88 Capitolul 6: Aplicaţii ale circuitelor integrate digitale ...................................................... 91 6.1. Aplicaţii cu circuite logice combinaţionale .............................................................91 6.1.1. Sumatoare binare .....................................................................................................91 6.1.2. Codificatoare ……………………………………………………………………... 92 6.1.3. Decodificatoare ………………………………………………………………….. 93 6.1.3.1. Decodificatoare din cod binar în cod zecimal .........................................................93 6.1.3.2. Decodificatoare din „zecimal codat binar” (BCD) în cod zecimal (DBCD–Z) ...................................................................................... 98 6.1.3.3. Decodificatoare din „zecimal codat binar” (BCD) în cod „7 segmente” ………... 99 6.1.4. Multiplexoare ........................................................................................................ 107 6.1.4.1. Reprezentarea multiplexoarelor ………………………………………………… 107 6.1.4.2. Implementarea multiplexoarelor cu porţi logice ………………………………... 108 6.1.4.3. Extinderea multiplexării ………………………………………………………... 109 6.1.4.4. Utilizarea multiplexoarelor în implementarea funcţiilor logice …………………110 6.1.4.5. Circuitul integrat CDB 4151 cu funcţie de multiplexor ………………………... 112 6.1.5. Demultiplexoare ………………………………………………………………... 112 6.1.5.1. Reprezentarea demultiplexoarelor ……………………………………………….112 6.1.5.2. Implementarea demultiplexoarelor cu porţi logice …………………………….. 113 6.1.5.3. Utilizarea demultiplexoarelor pentru implementarea funcţiilor logice ………… 113 6.1.5.4. Extinderea demultiplexării ……………………………………………………… 114 6.1.5.5. Transmiterea la distanţă a informaţiei binare …………………………………... 115 6.2. Registre …………………………………………………………………………. 116 6.2.1. Clasificarea registrelor ………………………………………………………….. 116 6.2.2. Tipuri de registre ………………………………………………………………... 116 6.2.2.1. Registre de memorare paralelă …………………………………………………. 116 6.2.2.2. Registre de deplasare …………………………………………………………….118 6.2.2.3. Circuite integrate cu bistabili …………………………………………………… 122 6.3. Numărătoare şi divizoare .......................................................................................129 6.3.1. Numărătoare asincrone cu transport succesiv ....................................................... 129 6.3.1.1. Numărătoare asincrone cu linie de iniţializare de tip PRESET ………………….130 6.3.1.2. Numărătoare asincrone cu linie de iniţializare de tip CLEAR (RESET) ………. 132 6.3.2. Numărătoare sincrone cu transport succesiv ........................................................ 132 6.3.2.1. Numărătoare sincrone cu transport paralel ............................................................133 6.3.2.2. Numărătoare sincrone cu transport succesiv ........................................................ 133 6.3.3. Circuite integrate cu funcţia de numărare–divizare …………………………….. 134 6.3.3.1. Circuite integrate TTL utilizate ca numărătoare–divizoare …………………….. 134 6.3.3.2. Circuite integrate CMOS utilizate ca numărătoare–divizoare ………………….. 141 6.4. Memorii digitale ……………………………………………………………….. 142 6.4.1. Noţiuni introductive …………………………………………………………….. 142 6.4.2. Tipuri de memorii ………………………………………………………………..142 6.4.2.1. Memoria ROM ………………………………………………………………….. 143 6.4.2.2. Memoria RAM ………………………………………………………………….. 145

5

BIBLIOGRAFIE 1) Eliodor Bistriceanu. Octavian Stănăşilă: „Matematică discretă”, Editura MATRIX ROM, Bucureşti, 1996. 2) Eliodor Gh. Bistriceanu: „Algebre booleene şi circuite digitale”, Editura MATRIX ROM, Bucureşti, 1997. 3) Microelectronica – Data Book, Bucureşti, 1985. 4) β Băneasa S.A. – Full Condensed Catalog, Bucureşti, 1991. 5) Nicolae Drăgulănescu: „Agenda electronistului”, ediţia a II-a, Editura Tehnică, Bucureşti, 1989. 6) W. D. Anderson, A. G. Douce, R. C. Grimes, W. R. Heniford, R. L. Morris, R. F. Schweitzer, S. Wolf: „Proiectarea cu circuite integrate TTL”, Editura Tehnică, Bucureşti, 1974. 7) Sabin Ionel, Radu Munteanu: „Introducere practică în electronică”, Editura de Vest, Timişoara, 1994. 8) Sanada Maican: „Sisteme numerice cu circuite integrate. Culegere de probleme”, Editura Tehnică, Bucureşti, 1980. 9) *** „Guide des circuits integres”, Publitronic, 1987. 10) www.globalspec.com 11) www.crystalfontz

6

CAPITOLUL 1 SISTEME DIGITALE În epoca noastră nu se mai poate concepe desfăşurarea activităţilor din toate domeniile fără circulaţia informaţiilor. Evoluţia ştiinţei şi tehnologiei au permis conceperea şi implementarea unor sisteme performante de producerea, transmiterea şi recepţia semnalelor purtătoare de informaţii. Astfel comunicaţiile intercontinentale, regionale sau naţionale nu mai sunt posibile, în condiţii de viteză ridicată şi acurateţe, fără utilizarea sistemelor digitale (numerice) caracterizate de semnale numerice. 1.1. Calculatoare electronice Calculatoarele electronice au devenit un instrument indispensabil al activităţii umane. Evoluţia calculatoarelor a fost posibilă odată cu apariţia, în anul 1854, a lucrării „The Laws of Thought” (Legile gândirii) a logicianului şi matematicianului irlandez George Boole (1815-1864), care a conceput calculul boolean bazat pe două stări. Această idee a fost preluată de către savantul american Claude Shannon pentru proiectarea circuitelor numerice ce admit numai două nivele de tensiune: ridicat şi coborât (1938). Primele calculatoare electronice erau complicate, având şi o viteză foarte mică de lucru, deoarece utilizau sistemul zecimal de reprezentare a informaţiei (10 nivele de tensiune). Odată cu implementarea sistemului binar de reprezentare şi dezvoltarea tehnologiei s-au atins performanţele din ziua de azi (viteze de lucru ale microprocesorului de peste 3 GHz). Definiţie. Calculatorul reprezintă un mijloc de calcul automat care efectuează o serie de operaţii aritmetice şi logice cu ajutorul algoritmilor, pe baza unor programe. Algoritmul este o colecţie de reguli, o secvenţă de acţiuni elementare privind efectuarea unor operaţii cu caracter aritmetico–logic, asupra unor date, pentru a produce alte date ce reprezintă rezultatele sau datele de ieşire. Efectuarea algoritmului presupune cunoaşterea datelor ce trebuie prelucrate şi a instrucţiunilor ce descriu metoda de calcul. Calculatoarele electronice se împart în: - calculatoare analogice; - calculatoare numerice; - calculatoare hibride. I) Calculatorul analogic (CA) prelucrează mărimi cu variaţie continuă în timp (mărimi analogice). Sunt destinate în special, pentru rezolvarea unor ecuaţii diferenţiale ce reprezintă soluţiile unor probleme dinamice complexe. Relaţiile matematice ce descriu sistemele fizice au drept corespondent în calculator ecuaţii similare între mărimi de altă natură fizică (tensiuni sau curenţi). Blocurile funcţionale sunt realizate cu amplificatoare operaţionale conectate în circuite care pot efectua operaţii de: adunare, scădere, înmulţire, împărţire, derivare, integrare, ridicaa rea la puterea a n , extragerea rădăcinii de ordinul n, logaritmare, antilogaritmare, înmulţirea cu o constantă etc. Calculatoarele analogice se utilizează pentru modelarea şi simularea unor procese. II) Calculatoarele numerice (CN) prelucrează informaţia sub formă discretă, codificată binar cu ajutorul celor două stări logice 0 şi 1 şi care semnifică valori numerice. CN au avantajul unei precizii ridicate, rezultatele nu sunt dependente de variaţiile rezonabile ale tensiunii de alimentare, pot stoca datele şi pot prelucra numai acele date necesare aplicaţiei respective. CN este un ansamblu construit din resurse fizice (hardware) şi de programe de sistem (software de bază), care asigură prelucrarea informaţiei în conformitate cu algoritmii specificaţi de utilizator prin programe de aplicaţii (software de aplicaţii). Programele reprezintă o succesiune de instrucţiuni, în care fiecare instrucţiune efectu-

7

ează o operaţie. În urma interpretării instrucţiunilor, se obţin rezultatele sau datele de ieşire. O instrucţiune (conţine specificaţii referitoare la ope-raţia ce trebuie efectuată (codul m operaţiei), având m biţi cu care se codifică 2 instrucţiuni şi specificaţia referitoare la adresa unui operand sau a unei alte instrucţiuni, numită adresă ce conţine n biţi şi cu care se poate explora un spaţiu de adreADRESĂ COD n sare în memorie de 2 cuvinte (figura 1.1). OPERAŢIE Prima arhitectura a unui calculator a fost stabilită, în (n biţi) (m biţi) anii ’40 de americanul John von Neumann. Figura 1.1: Instrucţiunea Structura unui CN (figura 1.2) este formată din: 1) Unitatea centrală de calcul (CPU) CPU (“Central Processing Unit”) operează cu cuvinte binare de lungime 4, 8, 16, 32 sau 64 de biţi şi este alcătuită din:  unitatea aritmetică şi logică (UAL) sau unitatea de execuţie, care are rolul de a efectua operaţii aritmetice şi logice asupra operanzilor (datelor) aplicate la intrare, în conformitate cu o comandă sau cod de operaţie furnizate din exterior. Ieşirile UAL sunt: - indicatorii de condiţii: semnul rezultatului, rezultatul egal cu zero, paritatea rezultatului, transportul în afara rangului de semn; - indicatori de eroare: depăşirea capacităţii de reprezentare a numerelor sau a rezultatului. UAL efectuează şi transferuri de date între registrele ei interne, de tipul: - registre cu operanzi; - registre cu indicatori de condiţii; - registre de ieşire cu rezultatele operaţiei.  unitatea de comandă (UC), care realizează: - citirea instrucţiunilor programului din memorie (UM) cu ajutorul registrelor de instrucţiuni şi execuţia lor automată;

M A G I S T R A L E (BUSES) COMMAND BUS DATA BUS ADRESS BUS

Unitate comandă UC

Registre

Disc RAM ROM Bandă DMA

Unitate aritmetică şi logică UAL

CD R/W

 

Memorie UM

DVD Imprimantă

Conv A/N N/A

Intrări/ Ieşiri numerice

Plotter

Terminal Înregistrator Scanner Modem Placă reţea Tuner TV Dispozitive alfa numerice

Unitate centrală de calcul CPU Indicatori de condiţii (0, =0, 0 etc.)

Proces/ Experiment Dispozitive în timp real

Unităţi intrare – ieşire (UI/UE) I/O

Figura 1.2: Structura unui calculator numeric

8

- coordonarea celorlalte unităţi ale CN, prin furnizarea semnalelor de comandă de către contorul programului ce conţine adresa instrucţiunii următoare din program. Deci, CPU realizează operaţii aritmetice elementare, funcţii logice, transferuri între registrele ei interne, comandă celelalte unităţi ale CN şi efectuează transferuri de date în exterior prin cele trei magistrale de date. 2) Unitatea de memorie (UM), care cuprinde:  zona memoriei de tip RAM (engleză: Random Acces Memory), memorie cu acces aleator sau memorie nepermanentă, în care CPU poate înscrie şi citi cuvinte de date şi schimba informa-ţia. RAM poate fi construită cu dispozitive semiconductoare, fiind volatilă (la deconectarea alimentării se pierde informaţia) sau cu ferite (nevolatilă);  zona memoriei de tip ROM (engleză: Read Only Memory), din care CPU citeşte cuvintele instrucţiunilor din program fiind o memorie de tip permanent, având conţinutul fix dat de producător şi care nu poate fi alterat de utilizator (nu poate fi înscrisă de CPU);  zona memoriei de tip DMA (engleză: Direct Memory Acces), memorie cu acces direct, la care accesul se face fără intervenţia programatorului, utilizând partea de hardware. La aceste tipuri de memorie elementele de memorie sunt organizate sub formă de registre de memorie, de regulă cu circuite basculante bistabile (CBB). Fiecare bit al unui cuvânt binar memorat de un registru este stocat de un CBB.  mediu de memorare de tip disc sau bandă magnetică, pentru stocarea externă a informaţiei. Capacitatea unei memorii se exprimă în kilocuvinte: 1 kilocuvânt conţine 210 = 1024 cuvinte, cuvântul având 4, 8, 16, 32 sau 64 biţi. 3) Unităţile intrare/ieşire (I/O) sau UI/UE, formate din:  dispozitive alfanumerice de intrare–ieşire care permit operatorului accesul la înscrierea de date în CN, citirea rezultatelor, verificarea şi depanarea programelor cu ajutorul terminalului alfanumeric (alcătuit din monitor şi tastatură), tipărirea rezultatelor şi reprezentări grafice cu ajutorul imprimantei, plotter-ului, scanner-ului sau înregistratorului şi introducerea de date cu ajutorul cititorului de cartele perforate sau benzi perforate, dischetelor, compact–discurilor (CD) sau dispozitivelor cu memorii “flash”. De asemenea, se pot stabili legături cu ceilalţi utilizatori de calculatoare prin intermediul modem-ului, pentru acces la reţele de calculatoare sau Internet;  dispozitive de intrare/ieşire în timp real, numerice sau analogice care permit realizarea unor experimente sau a controlului unor procese fizice, cu ajutorul convertoarelor analog– numerice (CAN)sau numeric–analogice (CAN). 4) Magistralele de informaţii Magistralele de informaţii permit schimbul de date între unităţile componente ale unui CN, astfel:  magistrala de informaţii (DATA BUS), bidirecţională, având un număr de linii de date egal cu lungimea cuvintelor binare (4, 8, 16, 32 sau 64 biţi) şi pe care se face schimbul de date între CPU şi celelalte unităţi;  magistrala de adrese (ADRESS BUS), unidirecţională, pentru a stabili de către CPU cei doi parteneri ai transferului de date, cu ajutorul cuvintelor sub formă de adrese;  magistrala de control (COMMAND BUS), între CPU şi celelalte unităţi, pentru a stabili tipul operaţiei în curs (sensul transferului spre sau dinspre CPU, deservirea unei întreruperi, acces direct la DMA). Transmiterea de cuvinte binare dinspre CPU se face cu operaţia de înscriere WR (engleză: WRite), iar transmiterea spre CPU, se realizează cu operaţia de citire RD (ReaD). III) Calculatoarele hibride (CH) operează cu informaţii analogice şi numerice cu ajutorul unor blocuri funcţionale numerice şi analogice, conectate între ele prin convertoare

9

CNA şi CAN. Clasificarea calculatoarelor O clasificare a calculatoarelor se poate face în funcţie de câteva criterii şi anume: 1) Din punctul de vedere al dezvoltării (evoluţiei):  calculatoare din generaţia 1 (1946…1957) – calculatoare reale construite cu tuburi cu vid;  calculatoare din generaţia 2 (1957…1967) – calculatoare reale construite cu dispozitive semiconductoare discrete (diode şi tranzistoare);  calculatoare din generaţia 3 (1967...1970) – calculatoare reale construite cu circuite integrate de tip SSI (“Small Scale Integration”) cu 12 porţi logice TTL şi de tip MSI (“Medium Scale Integration”) cu 12...100 porţi logice TTL;  calculatoare din generaţia 4 (din 1970) – calculatoare reale construite cu circuite integrate de tip LSI (engleză: Large Scale Integration) cu peste 100 de porţi logice TTL, de tip VLSI (engleză: Very Large Scale Integration) cu 50000 tranzistoare MOS pe cip şi de tip SLSI (engleză: Super Large Scale Integration) cu 106 tranzistoare MOS/cip;  calculatoare din generaţia 5 construite pe baza unor sisteme inteligente. 2) Din punctul de vedere al utilizării:  calculatoare universale;  calculatoare specializate, pentru un anumit domeniu sau domenii apropiate. Unele dispozitive dedicate, cum ar fi microcontrolerele, pot fi realizate cu arhitectură von Neumann (concept clasic) sau cu arhitectură Harvard (concept mai nou). În arhitectura Harvard, magistrala de date şi magistrala de adrese sunt separate (figura 1.3). Astfel poate circula un mare volum de date prin unitatea de procesare centrală iar viteza de lucru este mai mare. Prin separarea un program de memoria de date este posibil ca instrucţiunile să nu necesite cuvinte de 8 biţi. Tipic pentru arhitectura Harvard este numărul mai mic de instrucţiuni decât în arhitectura von Newmann iar instrucţiunile sunt executate uzual într-un ciclu. Arhitectură Harvard Memorie de date

Arhitectură von Neumann

Memorie de date şi CPU CPU 8 4 8 program Figura 1.3 Arhitecturile Harvard şi von Neumann Memorie program

1.2. Automate finite 1.2.1. Noţiuni şi definiţii Activitatea de descriere, măsurare şi prognozare a fenomenelor fizice sau sociale se bazează pe modele matematice care constau în relaţii între parametrii numerici sau logici legaţi între ei prin diverse operaţii matematice. Calculatoarele şi unele dispozitive de automatizare folosesc informaţiile despre activităţile enumerate mai sus în reprezentare numerică. Sistemele numerice, care operează cu informaţii de natură numerică, pot fi reprezentate din perspectiva teoriei generale a sistemelor cu stări finite. Un sistem cu stări finite poate fi particularizat la o subspecie a sa numită automate finite. 1.2.1.1. Automat Definiţie. Un automat (automaton) este un cvintuplu de forma: (1.1) A = (X, S, Z, f, g), unde X este mulţimea intrărilor (alfabet de intrare), S reprezintă mulţimea stărilor automatului, iar Z este mulţimea ieşirilor (alfabet de ieşire). Mulţimile X, S, Z sunt mulţimi nevide. 10

Reprezentarea grafică a unui automat, caracterizat de mulţimile X, S şi Z, este ilustrată în figura 1.4.

X

S

Z

Figura 1.4: Reprezentarea unui automat

Funcţiile f şi g sunt aplicaţii ale produsului cartezian al mulţimilor S şi X pe mulţimea părţilor nevide P* ale mulţimii S, respectiv Z, astfel: f : S x X  P * (S) (1.2)  g : S x X  P * (Z), unde f este funcţia de tranziţie (trecere) şi g reprezintă funcţia de ieşire (răspuns). Din relaţia (1.2) rezultă că funcţiile f şi g sunt mulţimi de perechi ordonate (s, x) cu s  S şi x  X , adică f(s, x) şi g(s, x). 1.2.1.2. Automat determinist Definiţie. Un automat A este determinist dacă pentru () s  S şi x  X avem:  f ( s, x)  1; (1.3)   g ( s, x)  1, unde f(s, x) şi g(s, x) reprezintă cardinalul funcţiilor respective. Observaţie. Dacă pentru orice s S şi x X avem f(s, x) = 1, atunci A este un automat „S–determinist”, iar dacă pentru orice s  S şi x X avem g(s, x) = 1, atunci A este un automat „Z–determinist”. Concluzie. Un automat determinist este un automat „S–determinist” şi „Z–determinist”. 1.2.1.3. Automat finit Definiţie. Un automat A este finit dacă mulţimile X, S, Z care aparţin automatului sunt finite. Automatul finit poate fi reprezentat ca o cutie neagră având un număr de borne exterioare accesibile şi capabilă să posede un număr finit de stări interne (elementele mulţimii S). Dacă se aplică elemente ale alfabetului X la bornele de intrare, atunci automatul finit elaborează un răspuns (elemente ale alfabetului Z) şi trece într-o nouă stare internă (elemente ale mulţimii S). Răspunsul şi starea în care trece automatul aparţin mulţimilor g(s, x) şi f(s, x) unde s este starea prezentă. Funcţiile caracteristice ale unui automat sunt S, f şi g. Observaţie. În cazul mai multor automate care au aceleaşi mulţimi X şi Z şi pentru care folosim notaţia Aut (X, Z), orice automat A  Aut (X, Z) poate fi descris de tripletul: (1.4) A = (S, f, g). 1.3. Modele de automate finite Automatele finite pot fi de tipul Moore, Mealy sau Starke. 1.3.1. Modelul Moore Definiţie. Un automat finit Moore este un cvintuplu de forma: A = (X, S, Z, f, g), având următoarele ecuaţii caracteristice:

11

s (  1)  f [ x( ), s ( )] (1.5)   z ( )  g [ s ( )], unde X, S, Z, f şi g au fost definite anterior, iar: x() este simbolul de intrare, la momentul prezent ; s() este starea prezentă, la momentul prezent ; z() este simbolul de ieşire, la momentul prezent ; s( + 1) reprezintă starea la momentul următor ( + 1) sau starea următoare. Notă . Alfabetul unei variabile reprezintă mulţimea de valori pe care o poate lua variabila, iar simbolul este fiecare element al alfabetului. Conform relaţiei (1.5), pentru un automat Moore starea următoare s( + 1) este definită de simbolul de intrare x() şi de starea prezentă s(), iar ieşirea prezentă z() a automatului depinde numai de starea prezentă s(v). 1.3.2. Modelul Mealy Definiţie. Un automat finit Mealy este un cvintuplu de forma A = (X, S, Z, f, g), cu următoarele ecuaţii caracteristice: s (  1)  f [ x( ), s ( )] (1.6)   z ( )  g [ x( ), s ( )]. Din definiţie, rezultă că, ieşirea z() este determinată în prezent de starea prezentă s() şi de intrarea x(), iar funcţia de tranziţie (starea următoare s( + 1)) este aceeaşi ca la automatul Moore. De altfel, automatul Moore este un caz special al automatului Mealy (o subspecie a sa). 1.3.3. Modelul Starke Definiţie. Un automat Starke este un cvadruplu de forma A = (X, S, Z, k), unde: (1.7) k : S  X  P* (S  X) , este funcţia căreia îi apartine ieşirea la momentul  şi starea la momentul ( + 1) în funcţie de starea şi intrarea automatului la momentul . Modelul Starke reprezintă cazul general al automatelor finite, iar prin particularizarea funcţiei k se obţin  modelul Moore, pentru (1.8.a) k ( s, x)  [f ( s, x), g ( s )] ,  modelul Mealy, pentru (1.8.b) k ( s, x)  [f ( s, x), g ( s, x)] . 1.4. Semiautomat Definiţie. Un semiautomat, notat S(A), este un triplet de forma: (1.9) S(A) = (X, S, f). Semiautomatul este un automat la care nu interesează ieşirea ci numai evoluţia sa internă împreună cu tranziţiile dintre stări. Observaţie. Unui semiautomat i se pot ataşa mai multe automate prin adoptarea alfabetului de ieşire Z şi a funcţiei de ieşire (răspuns) g, dar unui automat i se poate ataşa un singur semiautomat. 1.5. Structura unui automat finit În figura 1.5 se reprezintă modelul unui automat la care stările lui sunt realizabile fizic cu ajutorul blocului de memorie M. Blocul M determină stările interne ale automatului şi este un automat Moore. Dacă lipseşte conexiunea a la blocul funcţiei de ieşire g, structura devine un automat Moore, iar dacă lipseşte blocul funcţiei g(s, x), se obţine un automat de stare. Un automat care are funcţia de ieşire de forma:

12

(1.10) g [ s ( ), x( )]  g [( x( )] , reprezintă un automat fără memorie sau trivial. În acest caz, funcţia de tranziţie f şi variabilele intermediare determinate de legătura inversă b nu au nici o influenţă şi, deci, noţiunea de stare este inutilă. a x X

M sS

f(s, x)

g(s, x)

z Z

b Figura 1.5: Structura unui automat

Deoarece automatele fără memorie au ieşirea la un moment dat determinată numai de combinaţia mărimilor aplicate la intrare în acel moment, ele se numesc automate combinaţionale, care sunt realizate fizic cu circuite logice combinaţionale (prescurtat, CLC). Automatele finite cu memorie sunt realizate fizic cu circuite logice secvenţiale (CLS), care conţin circuite logice combinaţionale şi elemente de memorie. Partea de structură combinaţională este reprezentată într-un automat netrivial (cu memorie) de blocurile care elaborează funcţiile f(s, x) şi g(s, x). 1.6. Reprezentările funcţiilor caracteristice ale automatelor finite Funcţiile caracteristice f şi g se pot reprezenta prin tabelul de tranziţie, grafuri de tranziţie sau organigrame. 1.6.1. Tabelul de tranziţie Tabelul de tranziţie se construieşte trecând pe coloane variabilele de intrare ale mulţimii X, iar pe linii componentele mulţimii stărilor S. Intersecţiile definesc funcţiile f şi g (figura 1.6). X S s1 s2

x1

x2

xp

sn  z3 f, g

sn Figura 1.6: Tabelul de tranziţie

De exemplu, dacă sistemul se află în starea s1 şi la intrare primeşte variabila x1, automatul trece în starea sn şi la ieşire are valoarea z3. x1 1.6.2. Grafuri de tranziţie z3 În figura 1.7 este dat un exemplu de reprezenx2 s2 s1 tare a funcţionării unui automat cu ajutorul grafurilor z2 x3 de tranziţie. z3 x2 z2 x1 z1 În noduri se trec stările stările sistemului (s1, s2, s3), iar arcele orientate conţin determinările de intrare s3 şi ieşire pentru care sensul săgeţii indică sensul tranFigura 1.7: Exemplu de graf ziţiei. de tranziţie Dacă sistemul se află în starea s1 şi se aplică

13

mărimea x1 la intrare, el va trece în starea s2 având la ieşire mărimea z3. 1.6.3. Organigrame Pentru reprezentarea sistemelor cu ajutorul organigramelor (figura 1.8), mărimile x1, x2 sunt condiţii de intrare testate în vederea stabilirii evoluţiei sistemului, iar alături de stările sistemului se trec valorile ieşirilor. În situaţia în care sistemul se află în starea s1 şi are la intrare mărimea x1, el trece în starea s2 şi va avea la ieşire valoarea z3. Dacă în urma testării x1 nu a apărut la intrare, atunci sistemul va rămâne în starea s1 (legătura a).

s1

z1

a x1

Nu

Nu z2

Da s2

z3

x2

Da

s4

s3

z3

Figura 1.8: Exemplu de organigramă

***

14

CAPITOLUL 2 ALGEBRA BOOLEANĂ ŞI FUNCŢII BOOLEENE 2.1. Algebra booleană 2.1.1. Noţiuni introductive 2.1.1.1. Logica matematică Logica matematică este ştiinţa care utilizează metode matematice pentru soluţinonarea problemelor matematice. 2.1.1.2. Algebra logicii Algebra logicii este un domeniu al logicii matematice care operează cu aserţiuni simple sau compuse. Aserţiunea reprezintă o afirmaţie despre care se poate spune că este fie adevărată şi i se atribuie valoarea 1, fie falsă şi căreia i se atribuie valoarea 0. Algebra logicii foloseşte metoda simbolică pentru simplificarea calculelor şi anume: a) Simboluri, pentru operaţii matematice de tipul: - disjuncţie: „+”, SAU,  (reuniune); - conjunctie: „”, ŞI,  (intersecţie); - negaţie: x (negarea variabilei x). b) Litere, pentru aserţiunile simple sau compuse. Proprietăţi: 1) Comutativitatea  A  B  B  A sau A  B  B  A; (2.1)   A  B  B  A sau A  B  B  A. 2) Asociativatatea  A  ( B  C )  ( A  B )  C sau A  ( B  C )  ( A  B )  C ; (2.2)   A  ( B  C )  ( A  B )  C sau A  ( B  C )  ( A  B )  C. 3) Distributivitatea  A  ( B  C )  A  B  A  C sau A  ( B  C )  A  B  A  C ;  (2.3)  A  B  C  ( A  B)  ( A  C ) sau  A  ( B  C )  ( A  B)  ( A  C ).  Postulate  A  1 , pentru A  0 0  0  0 1  1  1 1  0  0 0  1  0  0  1 (2.4)  ; ; ; ; ;  A  0 , pentru A  1 1  1  1 0  0  0 0  1  1 1  0  1 1  0. Teoreme  A  0  A  A  1  1  A  A  A ( A)  A  A  A  1 (2.5)  ; ; ; ; .  A  1  A  A  0  0  A  A  A ( A )  A  A  A  0 Formulele lui De Morgan  A  ( A  B)  A  A  B  A (2.6)   A  A  B  A  ( A  B)  A

 A  B  C  A  B  C ; (2.7)   A  B  C  A  B  C . 2.2. Funcţii booleene 2.2.1. Definiţie Se consideră funcţia:

15

(2.8) f (x,y) = a · x2 + b · y, în care x, y  ; a, b ; f (x, y)  , iar x, y sunt argumentele funcţiei f. Pentru diferite valori ale argumentelor x şi y acestora le corespunde o funcţie f. În algebra boolenă, argumentele funcţiei şi funcţia f nu pot lua decât două valori, 0 sau 1, iar funcţia f se numeşte funcţie booleană. n Pentru n argumente se pot obţine 2 combinaţii ale valorilor acestor argumente, combinaţii pentru care funcţia booleană f nu poate lua decât valoarea 0 sau 1 (figura 2.1). Reprezentarea de mai sus constitux1, x2,.....................,xn-1, xn f(x1,x2,...,xn-1, xn) ie tabelul de adevăr al funcţiei booleene. 0 0...........................0 0 1 În practică pot apărea următoarele 0 0...........................0 1 2 situaţii şi anume: 0 0...........................1 0 3 1) Există dispozitive despre care cu.....................................……...……………. noaştem modul de variaţie a intrărilor 1 1...........................1 1 n (argumentele funcţiei booleene) şi starea ieşirii pentru toate combinaţiile intrării{0,1}, i = 1, 2, .., 2n lor. Cu ajutorul acestor elemente se poate Figura 2.1: Tabelul de adevăr stabili tabelul de adevăr, iar pe baza lui se determină expresia funcţiei booleene. Această operaţie se numeşte analiza dispozitivului. 2) În cazul în care se dau funcţia booleană, numărul argumentelor şi tabelul de adevăr şi se cere dispozitivul care realizează practic funcţia booleeană, se va utiliza operaţia de sinteză a dispozitivului. 3) Situaţia de nedeterminare, în care pentru unele combinaţii ale argumentelor, funcţia booleeană nu are o valoare certă (determinată) astfel că funcţia este incomplet definită. Acest fapt se consemnează în tabelul de adevăr cu ajutorul simbolului “* “. 2.2.2. Operaţii cu funcţii booleene Operaţiile fundamentale care se pot aplica funcţiilor booleene sunt: - negarea variabilei x, adică x - reuniunea („+”", disjuncţie, ) - intersecţia („”, conjuncţie, ). 2.3. Reprezentarea numerică a informaţiei 2.3.1. Reprezentarea în sistem binar În scopul prelucrării hardware de către circuite adecvate, informaţia trebuie să fie reprezentată în sistem binar, cu ajutorul celor două cifre binare (biţi): 0 şi 1. Din punct de vedere electric, cifrei 0 i se asociază un nivel scăzut de tensiune (în jurul valorii de 0 volţi), denumit nivel logic JOS sau LOW (în engleză), iar cifrei binare 1 i se asociază un nivel ridicat de tensiune (în valoare absolută), denumit nivel logic SUS (HIGH). Cele două cifre binare 0 şi 1 aparţin sistemului de numeraţie binar care are baza 2, sistem care conţine cele două simboluri: (2.8) A2 = {0,1}. Un număr binar X poate fi scris sub forma (2.9) ( X ) 2  an 1  2 n 1  an  2  2 n  2    a1  21  a0  2 0 , unde ai  {0,1}, i = 0, 1, ...., (n – 1) sunt coeficienţii reprezentării binare. Forma prescurtată de reprezentare a numărului binar X este (2.10) (X)2 = a n1 a n2 ......a1 a 0 , ai  {0,1}, i = 0, 1, ...., (n – 1). În relaţia anterioară, an–1 se numeşte cel mai semnificativ bit (în engleză, prescurtat MSB), iar a0 cel mai puţin semnificativ bit (LSB). Relaţia conţine n termeni şi reprezintă un cuvânt binar cu n biţi sau n ranguri. Atenţie! Inversarea poziţiilor rangurilor conduce la modificarea reprezentării iniţia-

16

le a numărului (cuvântului) binar! Un cuvânt binar cu n ranguri poate reprezenta numere întregi zecimale în gama: (2.11) 0  X  2 n  1 . Astfel, un cuvânt binar cu 8 biţi, denumit şi octet, poate reprezenta numerele zecimale întregi între 0 şi 255 (n = 8). Cu ajutorul relaţiei (2.9) se poate efectua şi operaţia de decodificare (conversie) din reprezentarea binară în reprezentarea zecimală. De exemplu, numărul binar (octet) 11010010 îl vom reprezenta pe baza relaţiei (2.9) astfel:

1

1

0

1

0

















( a7 )

( a6 )

( a5 )

(a4 )

( a3 )

(a2 )

( a1 )

( a0 )

0  23 

0  2 2  1  21 

1  27  1  26  0  25  1  2 4 

0

1

0

0  20 

 2 7  2 6  2 4  21  ( 210 )10 Observaţie. Dacă LSB = 0, atunci numărul zecimal corespunzător este par, iar dacă LSB = 1 numărul zecimal va fi impar. Principalele avantaje ale utilizării sistemului binar de reprezentare a informaţiei în raport cu sistemul zecimal sunt atât tehnologice, cât şi din punct de vedere al efectuării operaţiilor matematice logice. Din punct de vedere tehnologic este mai uşor să se realizeze dispozitive care să materializeze cele două stări 0 şi 1 ale sistemului binar decât cele 10 stări ale sistemului zecimal. Astfel, utilizarea dispozitivelor semiconductoare şi, în special a tranzistorului, care funcţionează în regim de comutaţie conduce, prin convenţie, la alocarea cifrei binare 1 pentru starea de blocare respectiv cifrei 0 pentru starea de conducţie. Aceste dispozitive sunt elemente de comutaţie statice (fără piese în mişcare), spre deosebire de elementele de comutaţie dinamice (cu piese în mişcare) de tipul releelor electromagnetice, care au fost utilizate iniţial în schemele logice şi care prezintă un grad scăzut de fiabilitate. Al doilea avantaj îl reprezintă simplitatea regulilor pentru operaţiile matematice logice. Operaţii cu numere binare 1) Adunarea şi înmulţirea numerelor binare Aceste operaţii au la bază următoarele reguli (vezi şi relaţiile (2.4)): Adunarea binară 0  0  0 0  1  1  (2.12)  1  0  1 1  1  0, cu bit de transport 1 Înmulţirea binară 0  0  0 0  1  0  (2.13)  1  0  0 1  1  1 Operaţia de înmulţire este o adunare repetată. Exemplu. Să se efectueze înmulţirea numerelor binare: 11011 şi 1011.

17

R.

1

1 1

0 0

1 1

1  1

Verificare: (27)10 

1 1 0 1

1 0 0 1

0 1 0

1 1

1

(11)10 (297)10

0 0 1 0 1 0 0 BT-1 BT-1 BT-1 BT-1 BT-1 BT-1 BT-1 BT-1

1

1

0 1

1 0 0

1

2) Scăderea numerelor binare Operaţia de scădere a două numere binare, la care iau parte descăzutul (număr pozitiv) şi scăzătorul (număr negativ), implică prelucrarea suplimentară a scăzătorului, astfel ca la descăzut să se adune un complement al scăzătorului. Necesitatea reprezentării prin complement a numerelor negative derivă din observaţiile pe care le putem efectua asupra reprezentării prin modul şi semn a numerelor negative.  Reprezentarea numerelor negative în modul şi semn Semnul (+) sau (–) al unui număr binar se recunoaşte după valoarea bitului cel mai semnificativ (MSB): dacă MSB = 0 numărul este pozitiv, iar dacă MSB = 1 numărul va fi negativ. De exemplu, considerăm numerele zecimale +11 şi –11 reprezentate în binar, cu câte 8 ranguri inclusiv bitul de semn:

Nr. binar 00001011

Nr. zecimal +11

10001011

–11

Biţi de semn

Această reprezentare are o serie de dezavantaje majore: - biţii de semn trebuie trataţi separat; - apar două reprezentări diferite pentru zero: 000...00 pentru zero „pozitiv”, iar pentru zero „negativ” combinaţia 100...00; - este necesară implementarea unei operaţii de scădere a valorilor absolute ale numerelor.  Reprezentarea în complementul faţă de 1 Numărul negativ reprezentat prin complementul faţă de 1 se obţine prin înlocuirea fiecărei cifre binare, prin complementul faţă de 1 astfel: complementul faţă de 1, al lui 0, este 1, iar complementul faţă de 1, al lui 1, este 0. Numărul pozitiv are în complementul faţă de 1 aceeaşi reprezentare ca în modul şi semn, bitul cel mai semnificativ fiind alocat semnului numărului binar. Şi în această reprezentare zero are tot două forme (vezi exemplul de mai jos), deoarece rezultatul adunării a celor două numere 111111 este complementul faţă de 1 a lui 000000: Nr. binar 010110

Nr. zecimal +22

Biţi de semn 101001

–22

Operaţie 010110 + 101001 111111

Utilizând această reprezentare, operaţia de scădere a două numere binare înseamnă a aduna la descăzut complementul faţă de 1 al scăzătorului, luând în considerare rangurile (bi-

18

ţii) de semn, iar bitul de transport apărut în urma adunării se va aduna la rândul său la bitul din dreapta (LSB) al rezultatului. Acest algoritm voluminos împreună cu dubla reprezentare a lui zero constituie dezavantaje apreciabile ale metodei de scădere prin complement faţă de 1. Operaţia de scădere cu ajutorul reprezentării prin complement faţă de 1 se va exemplifica pentru operaţia +(10)10 – (7)10: Nr. zecimal Nr. binar (+10)10 01010 (+7)10 00111 (–7)10 11000

Operaţie 01010 + 11000 1 00010 + 00011

Verificare (+10)10 + (–7)10 = (+3)10

 Reprezentarea în complementul faţă de 2 Complementul faţă de 2 al unui număr negativ este complementul faţă de 1 al numărului respectiv care include bitul de semn negativ şi la care se adună o unitate la cel mai puţin semnificativ bit (LSB) al rezultatului reprezentării. Exemplu. Să se determine complementul faţă de 2 al numărului (–) 0001001. R.  Număr binar (–) 0 0 0 1 0 0 1  Complement faţă de 1 1 1110110

 Complement faţă de 2

1 1110110+ 1 1 1110111

În această reprezentare, există o singură formă pentru zero, lucru ce se poate constata din exemplul următor, în care se adună în complement faţă de 2 numerele +5 şi –5, având câte patru ranguri în cod binar:

(+5)10

(-5)10

0101 1010 + 1 1011

0111 + 1011 1 0000 bit care se neglijează

În concluzie, adunarea codurilor complementare a două numere se efectuează rang cu rang inclusiv rangurile de semn, neglijându-se bitul de transport în afara rangului de semn. În tabelul 2.1 se prezintă codurile în complement faţă de 2 ale numerelor zecimale întregi cuprinse între +8 şi –7, cu menţiunea că, prin definiţie, se consideră că numărul +8 are drept cod 1000 (vezi şi figura 2.12). Tabelul 2.1: Complement faţă de 2 (X)10 (X)2 (X)10 (X)2 –8 1 0 0 0 +7 0111 –7 1 0 0 1 +6 0110 –6 1 0 1 0 +5 0101 –5 1 0 1 1 +4 0100 –4 1 1 0 0 +3 0011 –3 1 1 0 1 +2 0010 –2 +1 1110 0001 –1 1111 0 0000

19

Cu ajutorul a n ranguri ale cuvântului binar se pot reprezenta în complement faţă de 2 numerele N în gama: (2.14)  2 n 1  N  2 n 1  1 . Observaţie. Verificarea operaţiilor efectuate în reprezentare binară se face convertind termenii şi rezultatele în sistem zecimal. 2.3.2. Reprezentarea în sistemele octal şi hexazecimal Informaţiile binare pot fi reprezentate cu un volum redus utilizând aceste două sisteme de reprezentare.  Reprezentarea octală Reprezentarea octală utilizează alfabetul octal cu opt simboluri: (2.15) A8 = {0, 1, 2, 3, 4, 5, 6, 7}.  Reprezentarea hexazecimală Reprezentarea hexazecimală se bazează pe alfabetul hexazecimal de tip alfanumeric (16 simboluri): (2.16) A16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. 2.3.3. Conversiile reprezentărilor numerice Conversiile informaţiilor numerice reprezentate în unul din cele patru sisteme: zecimal, binar, octal şi hexazecimal se pot efectua ţinând cont de corespondenţele prezentate în tabelul 2.2. Tabelul 2.2: Sisteme de conversie (X)10 (X)2 (X)8 (X)16 3 2 1 0 2 2 2 2 22 21 20 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 2 0 0 1 0 0 1 0 2 3 0 0 1 1 0 1 1 3 4 0 1 0 0 1 0 0 4 5 0 1 0 1 1 0 1 5 6 0 1 1 0 1 1 0 6 7 0 1 1 1 1 1 1 7 8 1 0 0 0 – 8 9 1 0 0 1 – 9 10 1 0 1 0 – A 11 1 0 1 1 – B 12 1 1 0 0 – C 13 1 1 0 1 – D 14 1 1 1 0 – E 15 1 1 1 1 – F

Conversia zecimal binar Se împarte succesiv numărul zecimal la baza 2 până se obţine un cât mai mic decât 2 (0 sau 1). Numărul binar va fi compus din valoarea ultimului cât qn–1 care este întotdeauna egală cu 1 şi constituie MSB şi valorile succesive ale resturilor obţinute în urma împărţirii, considerate în ordinea : rn–2, rn–3 ,...., astfel încât primul rest r0 devine LSB. De exemplu, considerăm numărul zecimal (X)10 = 25.

20

25 | 2 r0  1 ( LSB ) 12 | 2 r1  0

( 25)10  ( 1 1 0 0 1 ) 2

6|2

r2  0

3| 2

r3  1

1

q4  1 ( MSB ) Conversia binar  octal Această conversie recurge la împărţirea cuvântului binar de la dreapta la stânga în grupe de câte 3 biţi, numite triade, iar pentru decodificarea triadelor se utilizează tabelul 2.2. ( X )2  0 0 1 1 0 1 0 1 1 0 1 0             5 1 3 2 ( X ) 2  (1 5 3 2) 8. Conversia binar  hexazecimal Se împarte cuvântul binar în grupe de câte 4 ranguri (tetrade) de la dreapta la stânga, care se decodifică conform tabelului 2.2: ( X )2 

0 0 1 1 0 1 0 1 1 0 1 0    5 3 A ( X ) 2  ( 3 5 A )16 .

După cum se observă, reprezentarea octală necesită doar 4 ranguri pentru aceeaşi informaţie binară cu 10 ranguri, iar cea hexazecimală numai 3 ranguri. Observaţie. Dacă, în urma decodificării, ultima triadă sau tetradă este incompletă, la aceasta se va adăuga bitul 0 în poziţiile rangurilor care lipsesc deoarece grupele binare corespunzătoare astfel completate nu-şi modifică valorile. 2.4. Funcţii booleene elementare. Circuite tip poartă logică Funcţiile booleene elementare rezultă din operaţiile fundamentale ale algebrei booleene pentru care există în practică circuite electrice sau electronice, denumite porţi logice (în engleză logic gates). Ieşirile (valorile funcţiei booleene) sunt de forma: a) 0 (LOW / JOS / L), pentru poartă logică blocată (închisă); b) 1 (HIGH / SUS / H), pentru poartă logică deschisă. 1) Funcţia directă (operator direct) Se realizează cu un circuit logic neinversor şi se foloseşte ca un dispozitiv de putere pentru transmiterea informaţiei pe linii de comunicaţie de lungime considerabilă (figura 2.2). Intrare Ieşire A f=A 0 0 1 1 (a) Simbol grafic (b) Tabel de adevăr Figura 2.2: Operator direct A

f =A

2) Funcţia negaţie (poartă inversoare) (NU) Această funcţie se obţine cu ajutorul unui circuit logic la ieşirea căruia se elaborează un

21

semnal având starea logică opusă stării semnalului aplicat la intrarea porţii (circuitul inversor din figura 2.3). Intrare Ieşire A f=A 0 1 1 0 (a) Simbol grafic (b) Tabel de adevăr Figura 2.3: Inversor A

f=A

3) Funcţia disjuncţie (SAU / OR / „+” / ) Cicuitul realizează o sumare a două semnale (figura 2.4) sau a mai multor semnale binare.

A

f =A+B

B

Intrări A B 0 0 0 1 1 0 1 1

Ieşire f = A + B = AB 0 1 1 1

(a) Simbol grafic (b) Tabel de adevăr Figura 2.4: Operator SAU

4) Funcţia disjuncţie negată (SAU–NU / SAU / NOR / NICI) Funcţia realizează o înmulţire a semnalelor de stări opuse stărilor semnalelor aplicate la intrare (figura 2.5).

A

f = AB

B (a) Simbol grafic

Intrări A B 0 0 0 1 1 0 1 1

Ieşire f = A  B  AB  A B  A B 1 0 0 0

(b) Tabel de adevăr Figura 2.5: Operator SAU–NU

Funcţia disjuncţie negată se mai numeşte funcţia Pierce–Webb şi poate fi reprezentată cu operatorul „nici A nici B” () Intrări Ieşire astfel: A B f = A  B = AB A (2.17) f  A  B  A  B  A  B. f =AB 0 0 0 5) Funcţia conjuncţie 0 1 0 (ŞI / AND / „”) B 1 0 0 Circuitul acestei funcţii în1 1 1 mulţeşte două semnale binare (figura 2.6), sau mai multe semnale (a) Simbol grafic (b) Tabel de adevăr binare aplicate la intrări. Figura 2.6: Operator ŞI

22

6) Funcţia conjuncţie negată (ŞI–NU / ŞI / NAND / NUMAI) La ieşirea acestui Intrări Ieşire circuit se obţine o înmulA B f  AB  A  B  AB ţire negată a două semna- A f  AB 0 0 1 le (figura 2.7) sau a mai 0 1 1 multor semnale aplicate B 1 0 1 la intrări. Funcţia conjunc1 1 0 ţie negată, care este nu(a) Simbol grafic (b) Tabel de adevăr mită şi funcţia Sheffer, Figura 2.7: Operator ŞI–NU poate fi reprezentată cu operatorul „numai A sau numai B” () astfel: (2.18) f  A  B  A  B  A  B. 7) Funcţia SUMĂ MODULO 2 ( / SAU–EXCLUSIV / XOR / EX–OR) Funcţia SUMĂ MOIntrări Ieşire DULO 2 (figura 2.8) este A B f = A  B=AB AB utilizată în unităţile aritme- A f =AB tice logice (UAL) ale micro0 0 0 procesoarelor. 0 1 1 Această funcţie reali- B 1 0 1 zează următoarea operaţie 1 1 0 aritmetică logică: (a) Simbol grafic (b) Tabel de adevăr (2.19) f  A  B  A  B Figura 2.8: Funcţia SUMĂ MODULO 2 8) Funcţia COINCIDENŢĂ ( / SAU–EXCLUSIV–NEGAT / NXOR) În figura 2.8 este prezentată funcţia COINCIDENŢĂ care intră de asemeanea în componenţa UAL, efectuând următoarea operaţie aritmetică logică: (2.20) f  A  B  A  B .

A B

f =AB

Intrări A B 0 0 0 1 1 0 1 1

Ieşire f = A  B=AB AB 1 0 0 1

(a) Simbol grafic (b) Tabel de adevăr Figura 2.9: Funcţia COINCIDENŢĂ

2.5. Reprezentarea funcţiilor booleene Reprezentarea funcţiilor booleene se face prin metode grafice (intuitive) sau metode analitice. 2.5.1. Metode grafice Metodele grafice (geometrice) sunt utilizate pentru funcţii algebrice booleene cu un număr redus de argumente şi pot fi: - tabelul de adevăr; - diagrame de tip Euler, Venn, Veitch, Veitch–Karnaugh; - grafuri;

23

- scheme logice (logigrame). 2.5.1.1. Tabelul de adevăr Tabelul de adevăr sau tabelul combinaţional este forma cea mai completă de reprezentare şi conţine în partea stîngă un număr de linii egal cu numărul combinaţiilor posibile ale valorilor argumentelor, iar în partea dreaptă valorile pe care le ia funcţia pentru fiecare combinaţie de valori ale argumentelor (vezi şi figura 2.1). 2.5.1.2. Diagrame Veitch–Karnaugh Cele mai utilizate sunt diagramele Veitch–Karnaugh, care sunt o reprezentare tabelară p q compactă cu o dispunere bidirecţională a celor n argumente pe 2 linii şi 2 coloane, astfel că p q q p+1 p + q = n. Dacă n este par, atunci 2 = 2 , iar dacă n este impar avem 2 = 2 (figura 2.10 (a), (b), (c)).

(a)

000 001 011 010 110 111 101 100

01 11 10

00

x 1x 2 x 1x 2 x 3 x3 x4 x 4x 5 00 00 01 01 11 11 10 10 f(x1,x2,x3, x4) f(x1,x2,x3, x4) n=4 n=5 p = 2 (4 linii) p = 2 (4 linii) q = 2 (4 coloane) q =3 (8 coloane) 4 2 = 16 câmpuri 25 = 32 câmpuri (b) (c) Figura 2.10: Diagrame Veitch–Karnaugh

11 10

01

00

x1x 2 x3 0 1 f(x1, x2, x3) n=3 p = 1 (2 linii) q = 2 (4 coloane) 23 = 8 câmpuri

Aceste diagrame au fost introduse prima dată de matematicianul Veitch în cod binar natural. Mai târziu, Karnaugh propune codul Gray sau codul binar reflectat (tabelul 2.3) care, fiind un cod continuu şi ciclic, asigură adiacenţa între câmpurile diagramei, deoarece două câmpuri (cifre binare) respectă proprietatea de adiacenţă dacă diferă prin cifra 1.

Tabelul 2.3: Coduri binare Cod zec. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Cod binar natural B2 B1 B0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

24

G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Cod binar Gray G2 G1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0

G0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

În exemplele de diagrame din figura Tabelul 2.4 2.10 se constată că diagramele Veitch–Karx x x x f x1 x2 x3 x4 f 1 2 3 4 p q n naugh conţin în total 2  2 = 2 câmpuri în 0 0 0 0 0 1 0 0 0 1 care se trec valorile funcţiei booleene. La ca0 0 0 1 1 1 0 0 1 0 petele liniilor şi coloanelor se trec valorile 0 0 1 0 1 1 0 1 0 1 combinaţiilor argumentelor funcţiei. 0 0 1 1 0 1 0 1 1 1 Exemplu. Să se reprezinte cu diagra0 1 0 0 0 1 1 0 0 1 ma Veitch–Karnaugh funcţia de patru argu0 1 0 1 1 1 1 0 1 0 mente f (x1 x2, x3 x4), ale cărei valori sunt da0 1 1 0 0 1 1 1 0 0 te în tabelul 2.4. 0 1 1 1 0 1 1 1 1 1 R. Diagrama Veitch – Karnaugh se construieşte ţinând cont că pentru patru argumente, numărul liniilor şi coloanelor este 4 (vezi şi fiTabelul 2.5 gura 2.10 (b)), iar valorile funcţiei f pentru diferite comx1 x2 00 01 11 10 binaţii ale argumentelor x1, x2, x3, x4 se trec în diagramă x3 x4 la intersecţiile liniilor cu coloanele care conţin grupurile 00 0 0 1 1 de combinaţii respective (tabelul 2.5). 01 1 1 0 0 2.5.1.3. Scheme logice (logigrame) 11 0 0 1 1 În construirea schemelor logice se utilizează simbo10 1 0 0 1 lurile grafice corespunzătoare funcţiilor logice elementare prezentate în §2.4. Exemplu. În figura 2.11 se prezintă un circuit logic cu porţi logice NU, SAU, ŞI, ŞI ,

SAU pentru care se cere forma analitică a funcţiei de ieşire f. x1

x2

x3 3

2 1

4

5

6

f4 7

f7

f5

f6

y 8

f8

SAU, SAU–NU ŞI, ŞI–NU NU Figura 2.11: Exemplu de circuit cu porţi logice R. Analiza acestui circuit logic combinaţional se efectuează determinând funcţiile de ieşire f4, f5, f6, f7 respectiv f8 ale porţilor logice, în sensul de la sursele de semnal (variabilele de intrare) către ieşirea y a schemei logice. Se obţin: 1) f 4  x1  x3 2) f 5  x1  x 2  x3 3) f 6  x1  x3  x1  x3 4) f 7  f 4  x 2  x1  x3  x 2 5) f 8  f 5  f 6  x1  x 2  x3  x1  x3 6) y  f 7  f 8  ( x1  x3  x 2 )  ( x1  x 2  x3  x1  x3 ) 

25

= ( x1  x3  x 2 )  ( x1  x 2  x3  x1  x3 )  x 2  ( x1  x3 )  ( x1  x 2  x3 )  x1  x3

y  ( x1  x 2  x 2  x3 )  ( x1  x3  x1  x 2  x3 ). 2.5.2. Metode analitice Metodele analitice se utilizează pentru funcţii booleene cu un număr arbitrar de argumente, sub formă de expresii analitice sau coduri. 2.5.2.1. Reprezentarea prin expresii analitice În cele ce urmează vom analiza cele două forme complementare ale expresiilor unei funcţii booleene. 1) Forma canonică disjunctivă Forma canonică disjunctivă (prescurtat FCD) se defineşte considerând că în funcţia f (x1, x2,…, xn) se pun în evidenţă produsele: (2.21) Pi  ~ x1  ~ x2  ~ x3  .....  ~ xn , pentru care funcţia f ia valoarea 1, caz în care: x k are valoarea 1 în combinaţia respectivă;  x k , dacă ~ ~ (2.22) x k   ~  x k , dacă x k are valoarea 0 în combinaţia respectivă. În condiţiile de mai sus, o funcţie booleană f poate fi reprezentată astfel: (2.23) f(x1,x2,...,xn) =  Pi, unde  Pi este o reuniune a termenilor sub formă de produse pentru care funcţia f ia valoarea 1. Această formă este forma canonică disjunctivă. Termenii Pi se numesc termeni canonici conjunctivi (TCC) sau termeni minimali sau mintermeni. Observaţie. TCC sunt combinaţiile variabilelor pentru care funcţia f este 1, iar variabilele care au valoarea 0 în combinaţia respectivă se scriu negate. Pentru exemplul din tabelul 2.4 se obţine tabelul 2.6. În coloana din stânga sunt trecuţi toţi TCC: P0, P1, P2,…,P15, dintre care numai pentru termenii P1, P2, P5, P8, P10, P11, P12 şi P15 funcţia f(x1, x2, x3, x4) ia valoarea 1, astfel că:

TCC (P0) TCC1 (P1) TCC2 (P2) (P3) (P4) TCC3 (P5) (P6) (P7) TCC4 (P8) (P9) TCC5 (P10) TCC6 (P11) TCC7 (P12) (P13) (P14) TCC8 (P15)

x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Tabelul 2.6 x2 x3 x4 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

26

f 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 1

TCD TCD1 (S0) (S1) (S2) TCD2 (S3) TCD3 (S4) (S5) TCD4 (S6) TCD5 (S7) (S8) TCD6 (S9) (S10) (S11) (S12) TCD7 (S13) TCD8 (S14) (S15)

f  P1  P2  P5  P8  P10  P11  P12  P15  ( x1  x2  x3  x4 )   ( x1  x2  x3  x4 )  ( x1  x2  x3  x4 )  ( x1  x2  x3  x4 )   ( x1  x2  x3  x4 )  ( x1  x2  x3  x4 )  ( x1  x2  x3  x4 )   ( x1  x2  x3  x4 ). 2) Forma canonică conjunctivă Forma canonică conjunctivă (prescurtat, FCC) se defineşte considerând că în funcţia f (x1, x2,…, xn) se pun în evidenţă sumele de forma: (2.24) Si  ~ x1  ~ x2  ~ x3  .....  ~ xn , pentru care funcţia f ia valoarea 0, caz în care: x k are valoarea 0 în combinaţia respectivă ,  x k , dacă ~ (2.25) ~ xk   ~  x k , dacă x k are valoarea 1 în combinaţia respectivă . În condiţiile de mai sus, o funcţie booleană f poate fi reprezentată astfel: (2.26) f(x1,x2,..., xn) =  Si, unde  Si este o intersecţie a termenilor sub formă de sume pentru care funcţia f ia valoarea 0. Această formă este forma canonică conjunctivă (FCC). Termenii Si se numesc termeni canonici disjunctivi (TCD) sau termeni maximali sau maxtermeni. Observaţie. TCD sunt combinaţiile argumentelor pentru care funcţia f ia valoarea 0, iar argumentele care au valoarea 1 în combinaţia respectivă se scriu negate. TCD din tabelul 2.6 sunt prezentaţi pe coloana din dreapta, iar funcţia f are valoarea 0 pentru S0, S3, S4, S6, S7, S9, S13 şi S14, a stfel că: f  S 0  S 3  S 4  S 6  S 7  S 9  S13  S14  ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )   ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )   ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 ). Observaţie. Cele două forme canonice sunt unice pentru o funcţie booleană complet definită. 2.5.2.2. Reprezentarea funcţiilor cu ajutorul codurilor Despre reprezentarea funcţiilor booleene prin codul Gray şi despre utilitatea acestuia sau specificat în §2.5.1.2. Alte coduri folosite sunt codurile autocomplementare şi codurile complementare. Codul exces–3 constituie un sistem autocomplementat de numere zecimale codificate binar. Acest cod se obţine prin complement faţă de 1 al unui număr, inversând toţi biţii acelui număr (figura 2.12). Codul exces–3 are şase stări care nu sunt folosite niciodată. Acest avantaj poate fi exploatat în cazul aplicaţiilor la care se utilizează diagrame Karnaugh, deoarece acestor “stări fără importanţă” li se poate aloca valoarea 0 sau 1, în funcţie de forma canonică folosită, pentru a se efectua cea mai bună minimizare. Aşa cum s-a descris în §2.3.1, complementarea numerelor binare se utilizează în operaţiile aritmetice numerice de scădere. 2.6. Minimizarea funcţiilor booleene Minimizarea este operaţia pentru obţinerea expresiei celei mai simple a unei funcţii booleene care să permită folosirea unui număr cât mai redus de circuite logice standard. În cazul circuitelor logice combinaţionale, acestea conţin un anumit număr (standard) de porţi logice, care au la rândul lor au un număr determinat (standard) de intrări în funcţie de tipul porţii logice, aspecte ce sunt convenite între producătorii circuitelor numerice.

27

Cod zecimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Cod binar zecimal B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Cod exces–3 E3 0 0 0 0 0 1 1 1 1 1

E2 0 1 1 1 1 0 0 0 0 1

E1 1 0 0 1 1 0 0 1 1 0

E0 1 0 1 0 1 0 1 0 1 0

Complement faţă de 1 C3 C2 C1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0

C0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

Complement faţă de 2 T3 T2 T1 T0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1

Figura 2.12: Coduri 2.6.1. Definiţii 1) Termen normal conjunctiv Termenul normal conjunctiv (TNC) este un produs de forma: x1  ~ x2  ~ x3  .....  ~ xk , k  n, (2.27) ~ ~  xi , dacă xi are valoarea 1 în combinaţia respectivă; xi   unde ~ ~  xi , dacă xi are valoarea 0 în combinaţia respectivă , în care fiecare variabilă se întâlneşte o singură dată. Observaţii: a) Numărul argumentelor TNC reprezintă rangul termenului respectiv; b) Reuniunea tuturor TNC se numeşte forma normală disjunctivă (FND); c) Forma normală disjunctivă care conţine cel mai mic număr de argumente ~ xi în comparaţie cu celelalte forme, reprezintă forma disjunctivă minimă. 2) Termen normal disjunctiv Termen normal disjunctiv (TND) este o suma de forma: (2.28) ~ x1  ~ x2  ~ x3  .....  ~ xk , k  n, ~  xi , dacă xi are valoarea 0 în combinaţia respectivă; xi   unde ~ ~  xi , dacă xi are valoarea 1 în combinaţia respectivă , în care fiecare variabilă se întâlneşte o singură dată. Observaţii: a) Numărul argumentelor TND reprezintă rangul termenului respectiv; b) Intersecţia tuturor TND se numeşte forma normală conjunctivă (FNC); xi în comc) Forma normal conjunctivă care conţine cel mai mic număr de argumente ~ paraţie cu celelalte forme reprezintă forma conjunctivă minimă. 3) Implicanţii primi Implicanţii primi ai unei funcţii booleene de n argumente sunt produse de forma: ~ x1  ~ x2  ~ x3  .....  ~ xk , k  n, care implică funcţia fără a se mai putea elimina o variabilă.

28

a) Obţinerea implicanţilor primi din FCD Acest lucru se realizează aplicând sistematic la un număr de termeni adiacenţi, egal cu puteri ale bazei 2, operaţia de alipire parţială, respectiv operaţia de absorbţie, reprezentate de următoarele două identităţi:  A  xk  A  xk  A( xk  xk )  A (2.29)   A  A  xk  A(1  xk )  A. b) Obţinerea implicaţiilor primi din FCC În acest caz se utilizează relaţiile: ( A  xk )  ( A  xk )  A (2.30)   A( A  xk )  A. După găsirea implicanţilor primi, prin operaţia de reuniune (intersecţie) a implicaţiilor primi se obţine forma disjunctivă (conjunctivă) prescurtată a funcţiei booleene. Urmează eliminarea implicanţilor redundanţi care implică suplimentar funcţia, obţinâdu-se implicanţii strict necesari sau implicanţii esenţiali. În final, prin reuniunea (intersecţia) implicanţilor esenţiali se obţine forma minimă a funcţiei booleene. 2.6.2. Metode de minimizare a funcţiilor booleene Pentru minimizare se utilizează metodele Quine–Mc Cluskey, Quine şi Karnaugh. 2.6.2.1. Metoda Quine Exemplu. Se dă următoarea funcţie sub formă canonică disjunctivă: f (x1, x2, x3) = x1 x2 x3  x1 x2 x3  x1 x2 x3  x1 x2 x3  x1 x2 x3  x1 x2 x3 . R. Implicanţii primi vor fi: x1 x2 x3  x1 x2 x3 = x1 x2 x1 x2 x3  x1 x2 x3 = x2 x3

x1 x2 x3  x1 x2 x3 = x1 x3 x1 x2 x3  x1 x2 x3  x2 x3 x1 x2 x3  x1 x2 x3 = x1 x3 x1 x2 x3  x1 x2 x3  x1 x2 În acest mod s-au obţinut termeni de rang 2 care aici nu mai pot fi reduşi, astfel că funcţia f devine: f (x1, x2, x3) = x1 x2 + x2 x3 + x1 x3 + x2 x3 + x1 x3 + x1 x2 . Pentru stabilirea numărului minim de implicanţi se construieşte un tabel al implicanţilor primi, în care fiecare linie corespunde unui implicant prim, iar fiecare coloană corespunde unui termen canonic. Din tabelul 2.7 rezultă că fiecare termen canonic este implicat de cîte doi implicanţi primi rezultând astfel două grupuri de implicanţi esenţiali. Aceste grupuri conduc la două forme disjunctive minime: f (x1, x2, x3) = x1 x2  x2 x3  x1 x3 , sau: f (x1, x2, x3) = x2 x3  x1 x3  x1 x2 . Putem observa că în cazul în care forma canonică a unei funcţii are termeni mulţi, compararea lor devine destul de greoaie şi se pot face uşor omisiuni. Din acest motiv Mc Cluskey a îmbunătăţit prima parte a metodei comparând termenii canonici după numărul biţilor 1. 2.6.2.2. Metoda Quine–Mc Cluskey Această metodă se aplică în cazul funcţiilor cu un număr mare de variabile (peste şase), permiţând utilizarea programelor de calcul numeric. Exemplu. Se dă funcţia de 4 argumente:

29

Implicanţi primi

x1 x 2 x3

x1 x2 x 2 x3

 

x1 x 3 x 2 x3

Tabelul 2.7 Termeni canonici x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3

x1 x 2 x 3

  

 

 

x1 x 3 x1 x2

 



f (x1, x2, x3, x4) = x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 . Se cere forma disjunctivă minimă a funcţiei f. R. Se parcurg următoarele etape: 1) Reprezentarea termenilor canonici în cod binar Se scriu termenii în cod binar după numărul de biţi cu valoarea 1. - grupa zero – cu niciun bit 1: 0000 - grupa întâi – cu un bit 1: 0001; 0010; 0100; 1000 - grupa a doua – cu doi biţi 1: 0011; 0110; 1001 - grupa a treia – cu trei biţi 1: 0111; 1011 - grupa a patra – cu patru biţi 1: 1111 2) Determinarea implicanţilor primi Implicanţii primi se obţin prin comparaţii succesive ale fiecărui termen dintr-o grupă cu toţi termenii din grupa următoare (termenul din grupa zero cu fiecare termen din grupa întâi, fiecare termen din grupa întâi cu fiecare termen din grupa a doua ş.a.m.d.), aplicînd relaţia de alipire parţială: A xk + A xk = A – vezi relaţiile (2.29). Se elimină rangurile celor doi termeni care se compară acolo unde biţii corespunzători rangurilor respective au valori diferite şi se înlocuiesc cu semnul (–). Mai întâi, se determină termenii de rang trei: - grupa zero: 000 – ; 00 – 0; 0 – 00; – 000 - grupa întâi: 00 – 1; – 001; 001 – ; 0 – 10; 01 – 0; 100 – - grupa a doua: 0 – 11; – 011; 011 – ; 10 – 1 - grupa a treia: – 111; 1 – 11 În continuare, se repetă procedeul pînă cînd nu mai este posibilă nici o reducere. Astfel se obţin termenii de rangul doi: - grupa zero: 00 – – ; – 00 – ; 0 – – 0 - grupa unu: – 0 – 1; 0 – 1 – - grupa a doua: – – 11. 3) Obţinerea formei minime a funcţiei Se construieşte tabelul de minimizare cu termenii corespunzători ultimei reduceri (în cazul nostru, termenii de rangul doi). Termenii canonici (TC) se trec pe coloane, iar pe linii, implicanţii primi (IM). Se vor alege acei implicanţi primi care asigură acoperirea minimală a termenilor canonici (tabelul 2.8). Din analiza tabelului rezultă că forma disjunctivă minimă este: f ( x1 , x2 , x3 , x4 )  x2 x3  x1 x4  x3 x4 .

30

V V V

V V V

V

V V

V

V V

1111

V

1 011

V

1001

V

1000

V

0111

V V

0110

0 1 – 1

V V V

0 100

– – 0– –1 –1

0011

0 – 0 –

0010

IM 00– – –00 –

0001

TC

0000

Tabelul 2.8

V V

V

Observaţie. Această metodă poate fi aplicată şi formei canonice conjuctive ţinînd cont de identităţile: (A + xk)(A + xk ) = A; A(A + xk) = A - vezi relaţiile (2.30). 2.6.2.3. Metoda Karnaugh Această metodă este una globală deoarece ambele etape ale metodei Quine se efectuează simultan. Tabelul 2.9 Exemplu. Se consideră funcţia f (x1, x2, x3, x4) ale x1x2 00 01 11 10 cărei valori sunt prezentate în diagrama Karnaugh din tax3x4 belul 2.9. R. Formele canonice ale funcţiei sunt: 00 1 0 0 0 a) Forma canonică disjunctivă (FCD) FCD se obţine prin reuniunea tuturor mintermenilor, adică a termenilor pentru care funcţia f are valoarea 01 1 1 1 1 1, astfel că se obţine: f ( x1 , x 2 , x3 , x 4 ) = x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + 11 0 1 1 1 + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 + x1 x 2 x3 x 4 . b) Forma canonică conjunctivă (FCC) 10 1 1 0 0 Această formă se determină în urma intersecţiei tuturor maxtermenilor (termenii pentru care funcţia f ia valoarea 0) astfel: f ( x1 , x 2 , x3 , x 4 ) = ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )   ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 )  ( x1  x 2  x3  x 4 ) . Minimizarea funcţiei f se realizează în urma alipirii termenilor pentru care funcţia are aceeaşi valoare, 1 sau 0, termeni ce ocupă câmpuri adiacente. Două câmpuri sunt adiacente dacă combinaţiile argumentelor corespunzătoare lor diferă prin cifra 1, pe linie sau pe coloană. Alipirea a două câmpuri adiacente conduce la eliminarea unei variabile (argument), alipirea a patru câmpuri adiacente conduce la eliminarea a două variabile etc. Forma normal disjunctivă (FND) se obţine, în cazul nostru, în urma unor alipiri marcate cu linii punctate: f ( x1 , x2 , x3 , x4 )  ( x1  x2  x3  x4 )  ( x2  x3  x4 )  ( x1  x4 ) . Este evident că se pot utiliza şi alte perimetre de alipire, importantă fiind obţinerea unui număr cât mai mic număr de implicanţi esenţiali care să aibă cât mai puţine argumente. Forma normal conjunctivă (FNC), cu alipirile sugerate în figură de liniile întrerupte, va fi expresia: f ( x1 , x2 , x3 , x4 )  x1 x4  x2 x4  x1 x3 x4  x1 x2 x3 .

31

2.6.3. Funcţii incomplet definite Se consideră o funcţie f (x1, x2, x3, x4) ale cărei valori sunt date în diagrama Karnaugh din tabelul 2.10. Stările nedeterminate ( ) se înlocuiesc cu valoarea 1 sau 0, în funcţie de forma canonică care se utilizează, disjunctivă sau conjuctivă, şi apoi se parcurg etapele unei minimizări obişnuite. În cazul din diagramei de mai sus, stările nedeterminate s-au înlocuit cu valoarea 1 pentru a se obţine forma disjunctivă minimă: f ( x1 , x2 , x3 , x4 )  x2 x3  x1 x2  x4 .

x1x2 x3 x4

Tabelul 2.10 00 01 11

10

1 00

0 1

01

1 1 1

11

1

10

0

1 1

0 ***

32

1 1

0

1 1

CAPITOLUL 3 COMENZI SECVENŢIALE În acest capitol se vor prezenta aspecte privind analiza şi sinteza circuitelor logice combinaţionale şi secvenţiale. 3.1. Analiza şi sinteza circuitelor logice combinaţionale 3.1.1. Analiza circuitelor logice combinaţionale În §1.5 s-a specificat că circuitele logice combinaţionale (CLC) sunt automate finite fără memorie, ale căror ieşiri la un moment dat sunt determinate doar de combinaţia variabilelor de intrare aplicate în acel moment, adică: g [ s ( ), x( )]  g [ x( )] – vezi relaţia (1.10). În aceste circuite se consideră cu aproximaţie că nu intervine timpul deoarece fiecare ieşire nu depinde decât de configuraţia intrărilor x1 z1 (figura 3.1). x z2 2 În aceste condiţii, relaţia (1.10) devine: z3 x3 Z X  z1  g1 ( x1 , x2 ,, xn ) CLC  z  g ( x , x ,, x ) xn zm  2 1 2 n (3.1)  2  Figura 3.1: Reprezentarea unui CLC  z m  g m ( x1 , x2 ,, xn ) Analiza circuitele logice combinaţionale se reduce la găsirea expresiilor algebrice ale funcţiilor booleene pentru ieşirile circuitului cunoscând structura fizică a acestuia (tipul porţilor logice). Algoritmul analizei Etapele care se parcurg în analiza unui CLC sunt: 1) Determinarea funcţiilor corespunzătoare ieşirilor circuitului cunoscând schema logică (logigrama) a acestuia. 2) Dezvoltarea funcţiilor sub formă canonică. 3) Stabilirea valorilor funcţiilor de ieşire pentru toate combinaţiile intrărilor, folosind o metodă oarecare de reprezentare. 4) Minimizarea funcţiilor pentru obţinerea unui circuit echivalent mai economic (cu un număr cât mai redus de circuite standard), dacă este cazul. 3.1.1.1. Circuite combinaţionale logice cu porţi ŞI, SAU, NU Se consideră circuitul din figura 3.2 pentru care se vor determina formele minime ale funcţiilor de ieşire y1şi y2, în vederea construirii unui circuit echivalent mai economic. x1

x2

x3

3 f1

1

2

f3

f5

y1

5 6

f2

f4

4

7

f6

f7

y2

Figura 3.2: Exemplu de CLC cu porţi ŞI, SAU, NU

33

R. Se vor parcurge etapele indicate anterior, utilizându-se formele disjunctive. 1) Funcţiile de ieşire sunt: y1 = f4 + f6 = f3  f5 + x1  f1 = ( x1  f1 ) y2  x1 ( x2  x3 )  = [ x1  ( x 2  x3 )] y 2  x1 ( x 2  x3 )  x1 x 2  x1 x3  ( x1  x 2  x3 ) y 2 y 2  x2 x3  x1 ( x2  x3 )

y 2  x2 x3  x1 ( x2  x3 ) y1  x1 x2  x1 x3  ( x1  x2  x3 )( x2 x3 )( x1 x3 )( x1 x2 )  y1  x1 x2  x1 x3  x1 x2 x3  x1 x2 x3  x1 x2 x3   y 2  x2 x3  x1 x2  x1 x3 2) Formele canonice disjunctive ale funcţiilor de ieşire. Deoarece ambele funcţii nu sunt dezvoltate în forma canonică disjunctivă, se aplică proprietatea x k  x k  1 , astfel că: y1  x1 x 2 ( x3  x3 )  x1 ( x 2  x 2 ) x3  x1 x 2 x3  x1 x 2 x3  x1 x 2 x3 = = x1 x 2 x3 + x1 x 2 x3 + x1 x2 x3 + + x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3

y 2  ( x1  x1 ) x2 x3  ( x3  x3 ) x1 x2  ( x2  x2 ) x1 x3 = = x1 x 2 x 3  x1 x 2 x 3  x1 x 2 x 3  x1 x 2 x 3  x1 x 2 x 3  x1 x 2 x 3 . Termenii redondanţi (subliniaţi) implică suplimentar funcţiile, astfel că se iau în considerare o singură dată: y1 = x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3 + x1 x 2 x3 Tabelul 3.1 x1 x2 x3 y1 y2 y 2  x1 x 2 x3  x1 x 2 x3  x1 x 2 x3  x1 x 2 x3 . 0 0 0 0 0 3) Valorile funcţiilor de ieşire. Valorile celor două func0 0 1 1 0 ţii se stabilesc pentru toate combinaţiile posibile ale variabilelor 0 1 0 1 0 (semnalele de intrare) şi se alcătuieşte tabelul 3.1 cu aceste valori. De exemplu, pentru combinaţia (*), în care x1 = 0, x2 = 1, * 0 1 1 0 1 1 0 0 1 0 x3 = 1, rezultă y1 = 0 şi y2 = 1. 1 0 1 1 1 4) Minimizarea funcţiilor de ieşire. Pentru minimizarea 1 1 0 1 1 celor două funcţii se foloseşte o metodă oarecare, de exemplu 1 1 1 1 1 cu diagrame Karnaugh şi se obţin tabelele din figura 3.3. x1x2 x3 0 1

00

01

11

10

0 1

1 0

1 1

1 1

x1x2 x3 0 1

00

01

11

10

0 0

0 1

1 1

0 1

y2 y1 Figura 3.3: Tabele utilizate pentru minimizare În urma minimizării, cele două funcţii devin: y1  x1  x 2 x3  x 2 x3 ; y 2  x 2 x3  x1 x 2  x1 x3 . Deoarece funcţiile obţinute y1 şi y2 sunt minime rezultă că circuitul prezentat iniţial (figura 3.2) este cel mai economic, având un număr de porţi minime. 3.1.1.2. Circuite combinaţionale logice cu porţi ŞI- NU (NAND), SAU-NU (NOR) Analiza acestor circuite se realizează într-un mod asemănător circuitelor prezentate anterior, analiză ce se va efectua pe exemplul din figura 3.4 şi în care se utilizează formele disjunctive.

34

x1

2 1

f2 4

f1

y(x1,x2,x3) 3

x2 x3

f4

f3 5

f5

Figura 3.4: Exemplu de CLC cu porţi ŞI–NU, SAU–NU R. 1) Funcţia de ieşire: f1  x2  x3 ; f 2  x2  f1  x2  x2  x3 ; f 3  f1  x3  x3  x2  x3 ;







f 4  f 2  f 3  x 2  x 2  x3  x3  x 2  x3  x 2  x3  x 2  x3 ; f 5  f 3  x1  x1  x3  x2  x3  x1  x3  x1  x2  x3 ;



 



y  f 4  f 5  x2  x3  x2  x3  x1  x3  x1  x2  x3   ( x2  x3  x2  x3 )  ( x1  x3  x1  x2  x3 ) y  x1  x2  x3  x1  x2  x3 .

Tabelul 3.2 x1 x2 x3 y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

2) Forma canonică disjunctivă. Forma canonică disjunctivă a funcţiei y(x1, x2, x3) s-a obţinut la etapa anterioară; deci: y  x1  x2  x3  x1  x2  x3 . 3) Valorile funcţiei de ieşire sunt date îm tabelul 3.2. 4) Minimizarea funcţiei de ieşire se efectueax1x2 00 01 11 10 ză pe baza tabelului de adevăr din figura 3.5. În urx 3 ma minimizării se obţine funcţia: 0 0 0 0 0 y  x1  x2  x3  x1  x2  x3 , 1 1 0 1 0 adică forma funcţiei determinată în cadrul primei etape; deci circuitul considerat iniţial este minim (figuFigura 3.5: Tabel de adevăr ra 3.4). În cazul unor circuite complexe care conţin şi porţi ŞI–NU şi SAU–NU analiza devine dificilă. Atunci se mai pot folosi următoarele reguli bazate pe funcţiile acestor circuite: a) Deoarece x  x  x şi x  x  x orice circuit SAU–NU sau ŞI–NU este un inversor logic. Rezultă că semnalul care le parcurge se obţine inversat după un număr impar de nivele logice şi neinversat după un număr par de nivele logice. b) Pentru circuitele ŞI–NU se poate scrie: x1  x 2  x1  x 2 , de unde rezultă că după un număr par de nivele logice se obţine funcţia ŞI a variabilelor, iar după un număr impar de nivele logice se obţine funcţia SAU a variabilelor negate. c) Pentru circuitele SAU–NU există relaţia: x1  x 2  x1  x 2 , ceea ce permite ca după un număr par de nivele logice să se obţină funcţia SAU a variabilelor, iar după un număr impar de nivele logice funcţia ŞI a variabilelor negate. Observaţie. Numerotarea nivelelor logice se face de la ieşire către intrare. Regulile enunţate anterior s-au sintetizat în tabelul 3.3 şi vor fi aplicate în exemplul din figura 3.6, pentru care se determină expresiile funcţiilor de ieşire:

35

y1  f 5  f 3  f 4   x3  f1    x6  f 2    x3  f1    x6  f 2   x3  x1  x3  x6 ( x4  x5 )

y1  x1  x2  x3  x1  x5  x6 .

Tabelul 3.3 y 2  f 6  y1  x7  x7  y1  Funcţie realizată Nivelul logic par impar  x7  x1  x 2  x3   x1  x5  x6  Tip circuit  x1  x 2  x3  x7  ( x1  x5  x6 ) SAU–NU (NOR) SAU ŞI y2  x1  x2  x3  x7  x1  x2  x3  x5  x7  ŞI–NU (NAND) ŞI SAU Tipul variabilelor nenegate negate  x1  x2  x3  x6  x7 3.1.2. Sinteza circuitelor logice combinaţionale Sinteza CLC conduce la stabiliimpar y1 par y1 impar y1 rea structurii circuitului cunoscând x 1 f1 semnalele de ieşire corespunzătoare f3 1 x 2 3 diferitelor combinaţii ale valorilor de intrare. Sinteza comportă două etape: x3 y1 f5 1) Sinteza abstractă, care constă 5 în stabilirea expresiilor funcţiilor de x4 f2 f4 2 tip Boole corespunzătoare şi minimi- x5 4 y2 zarea lor. 6 x 6 2) Sinteza structurală, prin care se determină structura fizică a siste- x7 par y2 impar y2 par y2 impar y2 mului. Figura 3.6: CLC cu porţi ŞI–NU, SAU–NU 3.1.2.1. Sinteza CLC cu module (porţi) ŞI, SAU, NU Etapele sintezei sunt: 1) Obţinerea formelor minime ale funcţiilor booleene. 2) Realizarea circuitului sintetizat cu module standard având un anumit număr de intrări. Observaţie. Dacă din expresiile minime ale funcţiilor booleene rezultă necesitatea mai multor x1x2 00 01 11 10 intrări decât are un modul standard se utilizează exx3 pandarea (mărirea) numărului de intrări pe baza pro0 0 1 1 1 prietăţii de asociativitate a operaţiilor de reuniune şi 1 0 1 0 1 intersecţie. A) Sinteza circuitelor combinaţionale Figura 3.7: Diagrama Karnaugh care au o singură ieşire Se cere sinteza circuitului combinaţional reprezentat prin diagrama Karnaugh din figura 3.7, utilizând module ŞI, NU, SAU, care au cel mult două intrări. R. În urma operaţiei de minimizare rezultă funcţia de ieşire: y  x1  x 2  x1  x 2  x 2  x3 . x1 Se observă că forma funcţiei nu 1 respectă condiţiile din enunţ deoarece y funcţia SAU ar avea trei intrări cores- x2 4 7 2 punzătoare celor trei termeni ai funcţiei y şi de aceea se efectuează o regrupare a 6 x3 termenilor: 5 3 y  x 2  ( x1  x3 )  x1  x 2 . Logigrama circuitului este dată în Figura 3.8: Logigrama circuitului figura 3.8.

36

B) Sinteza circuitelor combinaţionale care au mai multe ieşiri Pentru acestă sinteză se execută o minimizare globală a unui sistem de funcţii booleene în urma parcurgerii următoarelor etape: 1) Se determină formele canonice ale fiecărei funcţii; 2) Se stabilesc implicanţii primi comuni tuturor funcţiilor sau comuni unor grupări de funcţii; 3) Se refac expresiile funcţiilor folosind implicanţii comuni. Exemplu. Să se sintetizeze circuitul care are patru intrări şi trei ieşiri pentru care con-diţiile de funcţionare sunt date de funcţiile: y1  P6  P7  P8  P9  P10  P11  P12  P13  P14  P15 ;

y 2  P1  P3  P6  P7  P8  P9  P10  P11 ; y3  P1  P3  P6  P7  P8  P12  P13  P14  P15 . R. Se consideră că se dispune de module logice cu numărul de intrări necesare, fără restricţii privind utilizarea modulelor standard. Reprezentările cu diagrame Karnaugh sunt arătate în figura 3.9. 1) După minimizare funcţiile arată astfel: y1  x1  x 2 x3 ;

y 2  x1 x 2 x3  x1 x 2  x 2 x 4 ; y3  x1 x 2  x 2 x3  x1 x 2 x 4  x1 x3 x 4 2) Implicanţii comuni - implicanţii comuni funcţiilor y1, y2 şi y3: x1 x 2 x3 , x1 x 2 x3 x 4 ; - implicantul comun al funcţiilor y1 şi y2: x1x2 ; - implicantul comun al funcţiilor y1 şi y3: x 1 x 2 ; - implicantul comun al funcţiilor y2 şi y3: x1x2 x4 . 3) În urma reunirii acestor implicanţi rezultă funcţiile de ieşire: y1  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 , x1x2 00 x3 x4 00 0 01 0 11 0 10 0

01

11

10

0 0 1 1 y1

1 1 1 1

1 1 1 1

x1x2 00 x3 x4 00 0 01 1 11 1 10 0

x1x2 00 x3 x4 00 0 01 1 11 1 10 0 01

11

01

11

10

0 0 1 1 y2

0 0 0 0

1 1 1 1

10

0 1 1 0 1 0 1 1 0 1 1 0 y3 - implicanţii comuni funcţiilor y1, y2 şi y3 Figura 3.9: Reprezentarea cu diagrame Karnaugh

37

unde primii doi termeni sunt implicanţii comuni funcţiilor y1, y2 şi y3, al treilea termen este implicantul comun al funcţiilor y1 şi y2, iar al patrulea termen reprezintă implicantul comun al funcţiilor y1 şi y3. În mod analog se obţin şi celelalte două funcţii de ieşire: y2  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 x4 ; y3  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 x4 . O schemă logică a circuitului este dată în figura 3.10. x1

1

x2

x1x 2 x 3

5

2

x1x 2

6 x3

3

y2(x1,x2,x3,x4)

x1x 2

7 x4

y1(x1,x2,x3,x4) 10

11

4

x1x 2 x 3 x 4

8

y3(x1,x2,x3,x4) 12

x1x 2 x 4

9

Figura 3.10: Logigrama circuitului 3.1.2.2. Sinteza cu module (porţi) ŞI–NU, SAU–NU Formele minime ale funcţiilor de ieşire vor fi realizate cu funcţiile ŞI–NU şi SAU–NU, iar negaţia va fi materializată cu module ŞI–NU şi SAU–NU şi acolo unde este cazul, se utilizează expandarea intrărilor. O variabilă oarecare x poate fi exprimată sub una din formele: (3.2) x  x  x  ....  x  x  x  ...  x – vezi §2.1.1.2–relaţia (2.7), sau: (3.3) x  x  x  ....  x  x  x  ...  x – vezi § 2.4(4)–relaţia (2.17). (3.4) x  x  0  0  ...  0  x  0  0  ...  0 – vezi §2.1.1.2–relaţia (2.7), sau: (3.5) x  x  0  0  ...  0  x  0  ...  0 – vezi §2.4(4)–relaţia (2.17). (3.6) x  x  x  ...  x  x  x  x....  x – vezi §2.1.1.2–relaţia (2.7), sau: (3.7) x  x  x  ...  x  x  x  ...  x – vezi §2.4(6)–relaţia (2.18). (3.8) x  x  1  1  ...  1  x  1  1  ...  1 – vezi §2.1.1.2 – relaţia (2.7), sau: (3.9) x  x  1  1  ...  1  x  1  1....  1 – vezi §2.4(6)–relaţia (2.18). Relaţiile de mai sus sunt redate grafic în figura 3.11. SAU–NU

ŞI–NU

SAU–NU

x

x

x

„1”

ŞI–NU

x

x

x

x x

„0” (a)

(b) (c) Figura 3.11: Expandarea intrărilor

38

(d)

Astfel, relaţiei (3.2) îi corespunde funcţia SAU–NU din figura 3.11(a), relaţia (3.4) are reprezentarea din figura 3.11(b), relaţiei (3.6) îi corespunde funcţia ŞI–NU din figura 3.11(c) şi relaţia (3.8) este redată grafic de figura 3.11(d). Operaţia de expandare a intrărilor se efectuează atunci când numărul intrărilor circuitului logic sintetizat este mai mare decât numărul intrărilor unui modul standard. În acest caz, se utilizează atâtea module standard cât sunt necesare, iar intrările nefolosite ale acestor module se conectează fie la masa electrică a circuitului (nivel logic 0), dacă avem module SAU– NU (figura 3.11(b)), fie la polul pozitiv al sursei de alimentare (nivel logic 1) în cazul modulelor ŞI–NU (figura 3.11(d)). Se va aplica operaţia de expandare asupra sistemului de funcţii din exemplul anterior (§3.1.2.1(B)). R. y1  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 , y 2  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 x4 ; y3  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 x4 . Se vor implementa module ŞI–NU cu trei intrări şi inversoare NU. Se neagă de câte două ori fiecare funcţie şi se aplică formulele lui De Morgan – vezi §2.1.1.2–relaţiile (2.6) şi (2.7). Pentru prima funcţie se obţine: y1  x1 x2 x3  x1 x2 x3 x4  x1 x2  x1 x2 . Pentru simplificare, se introduce notaţia de tipul: (3.10) a  b  a  b  a  b – funcţia Sheffer (vezi şi relaţia 3.7). Funcţia y1 devine: y1  ( x1  x2  x3 )  ( x1  x2  x3  x4 )  ( x1  x2 )  ( x1  x2 ) . În mod asămănător se obţin şi celelalte două funcţii: y 2  ( x1  x2  x3 )  ( x1  x2  x3  x4 )  ( x1  x2 )  ( x1  x2  x4 ) ;

y3  ( x1  x2  x3 )  ( x1  x2  x3  x4 )  ( x1  x2 )  ( x1  x2  x4 ) . Operatorul  arată faptul că un modul ŞI–NU poate avea 2, 3 sau 4 intrări. Se efectuează operaţia de expandare a intrărilor deoarece se dispune numai de module ŞI–NU cu trei intrări, iar unii termeni ai funcţiilor au patru intrări. Pentru aceasta, se ţine cont de faptul că: (3.11) y  x1  x 2  ... xi  x j  x k  x1  x 2  ... xi  x j  x k  1  1 . De exemplu, pentru termenul x1  x 2  x3  x 4 se obţine:

x1  x 2  x3  x 4 = x1  x 2  x3  x 4 , iar pentru termenul cu două intrări x1  x2 avem:

x1  x2  x1  x2  1 . Sistemul funcţiilor de ieşire devine: y1  ( x1  x 2  x3 )  ( x1  x 2  x3  x 4  1)  ( x1  x 2  1)  ( x1  x 2  1); y 2  ( x1  x 2  x3 )  ( x1  x 2  x3  x 4  1)  ( x1  x 2  1)  ( x1  x 2  x 4 ); y3  ( x1  x 2  x3 )  ( x1  x 2  x3  x 4  1)  ( x1  x 2  1)  ( x1  x 2  x 4 ). Aceste funcţii sunt reprezentate în logigrama din figura 3.12. Se constată că sunt necesare 11 module ŞI–NU cu câte trei intrări şi 7 circuite NU. Observaţie. Dacă se utilizează module SAU–NU se foloseşte notaţia: (3.12) a  b  a  b  a  b – funcţia Pierce–Webb (vezi şi relaţia 3.5).

39

x1 x2

1 2

8

3

d

14

6

16

y1

„1” 10

x4

„1”

„1” 11

x3

a

c

„1”

4 9

12

b

e

17

13

5

y2

„1” 15

7

18

y3

a  x1 x 2 x3 ; b  x1 x2 x3 ; c  x1 x2 ; d  x1 x2 ; e  x1 x2 x4 „1” Figura 3.12: Logigrama circuitului cu intrări expandate 3.1.3. Hazardul în circuitele logice combinaţionale Hazardul este un fenomen nedorit care se petrece datorită timpului finit de comutare a modulelor logice (1ns...10ns...40ns...80ns), care introduc întârzieri în comutarea semnalelor. Fenomenul datorat decalajului în timp între semnalele care trebuie aplicate simultan la intrarea unui circuit logic se numeşte fenomen de concurs sau hazard static. Aceste fenomene se manifestă diferit, funcţie de semnalul care se aplică primul. Pentru exemplificare se consideră funcţia y(x1, x2, x3) reprezentată în figura 3.13 prin diagrama Karnaugh şi căreia îi corespunde circuitul logic din figura 3.14(a). Hazardul poate apărea dacă în diagramele Karnaugh există câmpuri adiacente necuprinse în reuniuni comune, marcat cu linie-punct x1x2 00 01 11 10 în figura 3.13. x3 Variabila care poate genera hazardul este aceea care îşi schimbă valoarea la trece0 0 0 1 0 1 1 1 1 0 rea între câmpuri adiacente, adică x1 şi care introduce, în cazul nostru, un semnal denuy  x1 x2  x1 x3 hazard mit „zero fals” (figura 3.14(b)). Figura 3.13: Exemplificarea unui hazard Metode de eliminare a hazardului 1) Introducera unor elemente de întârziere pasive (rezistenţe şi condensatoare), care să filtreze semnalele de impulsurile datorate comutărilor false. Acest lucru afectează viteza de acţionare a întregului dispozitiv, deşi împiedică transmiterea informaţiei false. 2) Prin mărirea redondanţei circuitului folosind module sau porţi suplimentare care nu afectează viteza de lucru. Se introduc implicanţi neesenţiali rezultaţi în urma alipirilor suplimentare, respectiv modulul (poarta logică) 5 cu funcţia x2 x3 din figura 3.14(c). Rezultă că noua funcţie de ieşire y′ va fi: y   x1 x2  x1 x3  x2 x3 . 3.2. Circuite logice secvenţiale 3.2.1. Introducere Aşa cum s-a menţionat deja în §1.5, la un circuit logic combinaţional valorile ieşirilor la un moment t depind numai de valorile intrărilor la momentul t, dacă nu se ţine cont de durata

40

timpului de propagare prin circuit, nu şi de valorile ieşirilor la momente de timp precedente (anterioare) lui t. De exemplu, dacă la momentul t se aplică semnalul logic 1 pe toate intrările unei porţi ŞI, atunci ieşirea trece în 1 şi nu contează valoarea pe care a avut-o ieşirea înainte de momentul t. x1 x2

2

x1x 2

x1 4

1

3

x3

t

y x1

t

x1x 3 x2

(a) x1 x2

2

t

x1x 2

x3 4

1 x3

y

t y

3 xx 1 3 5

„zero fals” t

x1x2 implicant neesenţial

y

t

(c) (b) Figura 3.14: Eliminarea fenomenului de hazard În cazul unui circuit logic secvenţial (CLS), valorile ieşirilor la un anumit moment t depind nu numai de valorile intrărilor la momentul t, dar şi de valorile pe care le-au avut ieşirile în momentele de timp anterioare lui t. Definiţie. Circuite logice secvenţiale sunt circuitele la care semnalele de ieşire sunt funcţie atât de semnalele aplicate la intrare la un moment dat t, cât şi de semnalele aplicate la momentele anterioare lui t. Un circuit logic secvenţial este caracterizat prin starea sa la un moment t şi care reprezintă ansamblul valorilor ieşirilor sale la momentul t. Stările circuitelor logice secvenţiale Se pot defini următoarele stări ce pot fi evidenţiate de un observator extern: 1) Starea de start –starea pe care o acceptă circuitul în momentul punerii sale în funcţiune. 2) Starea iniţială – starea în care se aduce circuitul pentru aplicarea unei secvenţe de intrare. Dacă nu este specificată, aceasta coincide cu starea de start. 3) Starea finală – starea în care ajunge circuitul în urma aplicării unei secvenţe de intrare. 4) Starea stabilă – starea în care, pentru anumite valori ale semnalului de intrare, elementele de memorie păstrează aceleaşi valori atât la intrare cât şi la ieşire. 5) Starea instabilă – starea în care, pentru anumite valori ale semnalelor de intrare, semnalele de ieşire ale unor elemente de memorie diferă de semnalele corespunzătoare de intrare în memorie. În acest caz, fără modificarea valorii semnalelor la intrare, circuitul efectuează o tranziţie spontană în altă stare care poate fi stabilă sau instabilă şi astfel acesta poate intra într-un regim ciclic. Un circuit secvenţial nu îşi poate schimba starea decât în anumite momente sau intervale de timp determinate de un semnal de comandă specific aplicat pe una din intrări. Circuitele secvenţiale considerate elemente de memorie intră în compunerea automatelor finite cu memorie (vezi §1.5) împreună cu circuitele logice combinaţionale (figura 3.15).

41

Partea combinaţională C furnizează funcţiile de tranziţie (funcţiile de trecere) şi funcţiile de ieşire sau funcţiile de răspuns, iar memoria M defineşte stările circuitului. Semnalele au următoarele semnificaţii: - semnale de intrare (primare): x1, x2,....., xn; - semnale de ieşire (de răspuns): z1, z2, ... , zm; - semnale secundare de excitaţie a memoriei Y1, Y2, ..., Yk, care definesc stările circuitului la momentul t+1(stările următoare); - semnale secundare de stare: y1, y2, ..., yk, care definesc stările circuitului la momentul t (starea prezentă). Evoluţia circuitelor logice secvenţiale Evoluţia unui CLS poate fi descrisă prin relaţii între semnalele de intrare, starea prezentă, starea următoare şi semnalele de ieşire. Astx1 z1 fel, pot fi scrise următoarele sisteme de funcţii z2 booleene: x2 a) pentru ieşiri zm xn  z1  g1 ( x1 ,..., xn , y1 ,..., y k ) y1 Y1 C  z  g ( x ,..., x , y ,..., y ) y2 Y2  2 2 1 n 1 k (3.13)   yk  z m  g m ( x1 ,..., xn , y1 ,..., y k ) Yk b) pentru stările următoare Y1  f1 ( x1 ,..., xn , y1 ,..., y k ) M Y  f ( x ,..., x , y ,..., y )  2 2 1 n 1 k (3.14)   Figura 3.15: Structura unui CLS  Yk  f k ( x1 ,..., xn , y1 ,..., y k ) 3.2.2. Tipuri de circuite logice secvenţiale Clasificarea CLS se efectuează după modul de funcţionare, astfel: 1) Circuite logice secvenţiale asincrone (CLSA), care sunt caracterizate prin: a) procesele de comutare au loc la momente de timp arbitrare; b) elementele de memorie reţin valorile semnalelor aplicate lor, un timp relativ scurt corespunzător intervalului dintre comutările succesive ale elementelor combinaţionale. Ca elemente de memorie se folosesc circuite de întârziere, sau circuite basculante bistabile nesincronizate (asincrone). 2) Circuite logice secvenţiale sincrone (CLSS) caracterizate prin: a) procesele de comutare au loc la momente de timp bine determinate marcate prin impulsuri de comandă; b) elementele de memorie reţin valorile semnalelor aplicate lor un timp relativ lung egal cu cel puţin intervalul dintre două impulsuri de comandă. Ca elemente de memorie se folosesc circuite basculante bistabile sincronizate, mai scumpe dar care elimină hazardul combinaţional, spre deosebire de circuitele basculante bistabile asincrone, aşa cum se va vedea în paragrafele următoare. Impulsurile de comandă sunt impulsuri de tact ce se aplică, în cazul circuitelor secvenţiale sincrone, pe intrarea de tact (ceas), notată CK (IT) sau CLK („clock” = ceas). Pe această intrare se aplică un semnal periodic furnizat de un oscilator (generator de tact) extern, având forma din figura 3.16. Circuitele secvenţiale asincrone nu au o intrare de tact special desemnată în acest scop. 42

Valorile ieşirilor unui circuit secvenţial CK (IT) nu se pot modifica decât în anumite momente PS de timp sau intervale de timp determinate de semnalul de tact. FA FP t Unele circuite secvenţiale îşi schimbă starea în momentele trecerii tactului CK din 0 TCK în 1, adică pe frontul crescător (frontul anterior sau front pozitiv) FA al tactului; în acest TCK – perioada impulsului de tact caz, circuitele sunt cu comutare (sau active) Figura 3.16: Impulsuri de tact pe frontul crescător al tactului. Există de asemenea circuite secvenţiale care îşi pot schimba starea în momentul apariţiei frontului descrescător (front posterior sau front negativ) FP al tactului, adică o trecere din 1 în 0. Alte circuite îşi pot schimba starea numai în intervalul de timp în care CK = 1, fiind comutate sau activate pe palierul superior PS al tactului. 3.2.3. Reprezentarea circuitelor logice secvenţiale CLS se pot reprezenta cu ajutorul tabelelor, grafurilor sau prin logigrame. 1) Reprezentarea prin tabele Un tabel conţine pe linii stările circuitului, iar în coloane se trec valorile semnalelor de m intrare. Aceste coloane sunt în număr de 2 , unde m reprezintă numărul variabilelor de intrare. Se mai pot adăuga coloane suplimentare pentru mărimile de ieşire. Pentru exemplificare se vor reprezenta un automat de tip Moore (vezi şi §1.3.1) şi un automat de tip Mealy (vezi şi §1.3.2). Automat Moore Fie automatul definit de:  A  ( X, S, Z, f, g ) X  x , x  - mulţimea intrărilor  1 2  S  s1 , s 2 , s3  - mulţimea stărilor Z  z1 , z 2  - mulţimea ieşirilor

f s1 s2 s3 x1 s2 s3 s1 x2 s1 s3 s2 Funcţia de tranziţie

g s1 s2 s3 z1 z1 z2 Funcţia de ieşire

În tabelul din figura 3.17 este arătat automatul definit mai sus. Tabelul se construieşte astfel: dacă circuitul se află de exemplu, în starea s1 şi la intrare apare semnalul (variabila) x1 atunci, conform tabelului Intrări x1 x2 Ieşire funcţiei f, circuitul efectuează o tranziţie şi ajunge în starea Stări s2. Valoarea funcţiei de ieşire când circuitul se află în s1 s2 s1 z1 starea s1 rezultă din tabelul funcţiei g şi este z1. În mod s2 s3 s3 z1 analog se determină şi celelalte elemente ale tabelului. s3 s1 s2 z2 Automat Mealy Figura 3.17: Tabelul Se consideră automatul definit prin: automatului Moore  A  ( X, S, Z, f, g ) X  x , x  - mulţimea intrărilor  1 2  S  s1 , s 2 , s3  - mulţimea stărilor Z  z1 , z 2  - mulţimea ieşirilor

f s1 s2 s3 g s1 s2 s3 x1 s2 s3 s1 x1 z 1 z 1 z 2 x2 s1 s3 s2 x2 z 1 z 2 z 1 Funcţia de tranziţie Funcţia de ieşire

În figura 3.18 este reprezentat prin tabel automatul Mealy, a cărei construcţie este asemănătoare cu cea a tabelului din exemplul anterior; de data aceasta, lângă fiecare stare rezultată în urma unei tranziţii se trece valoarea funcţiei de ieşire corespunzătoare. 43

2) Reprezentarea prin grafuri Unui circuit secvenţial i se poate ataşa un graf orientat care conţine noduri (vârfuri) în care se trec stările şi valorile ieşirilor circuitului şi arce orientate cu care se marchează tranziţia de la o stare la alta a circuitului. Orientarea arcului este de la starea determinantă (cauză) către starea determinată (efect), fiecare stare având astfel marcată şi ieşirea. În figura 3.19 sunt reprezentate grafurile corespunzătoare celor două automate definite la pct. 1). arc reflectat

x2 arc convergent

s3 / z2

x1

x2

Stări s1 s2 s3

s2/z1 s1/z1 s3/z1 s3/z2 s1/z2 s2/z1

Figura 3.18: Tabelul automatului Mealy

x2 /z1

arc divergent s1

s1 /z1 x1

Intrări

x2 x1 x2

x1 /z2

x1

s3

s2 /z1

x2 /z1 x2 /z2 x1 /z1

x1 /z1

s2

(a) Automat Moore (b) Automat Figura 3.19: Grafuri de reprezentare a automatelor Mealy În aceste grafuri se evidenţiază: - arcuri reflectate (arcuri care nu părăsesc starea respectivă) - arcuri divergente (arcuri care ies dintr-un nod); - arcuri convergente (arcuri care intră în nod). În funcţie de aceste tipuri de arce se deosebesc stările particulare ale grafurilor: a) Starea tranzitorie, care este starea ce nu are nici un arc convergent, ci cel puţin un arc divergent. Din această stare se poate trece în cel puţin una din celelalte stări, dar nu mai poate fi atinsă niciodată. b) Starea persistentă, adică starea care nu are nici un arc divergent, ci cel puţin un arc convergent. O astfel de stare odată atinsă nu mai poate fi părăsită. c) Stare izolată sau starea care nu are arce divergente şi convergente, ci cel puţin un arc reflectat. Această stare nu poate fi atinsă nici părăsită, iar dacă apare în graf se poate elimina, fiind inaccesibilă. 3) Reprezentarea prin logigrame Această reprezentare este asemănătoare cu cea a circuitelor logice combinaţionale. 3.2.4. Analiza circuitelor logice secvenţiale Prin operaţia de analiză, cunoscând structura circuitului secvenţial, se determină evoluţia semnalelor de ieşire pentru anumite secvenţe ale semnalelor de intrare. Pentru a putea desfăşura analiza este necesar să se cunoască starea iniţială a circuitului, după care se respectă următorul algoritm: 1) Cunoscând logigrama circuitului se stabilesc părţile combinaţionale şi de memorie şi se definesc semnalele de intrare x, ieşirile z şi semnalele secundare Y. 2) Se stabilesc funcţiile booleene de ieşire din partea combinaţională şi se dezvoltă sub forma canonică pentru reprezentarea acestora cu diagrame. 3) În funcţie de combinaţiile valorilor variabilelor secundare de stare se realizează asignarea stărilor şi se definesc stările circuitului.

44

4) Se construieşte tabelul stărilor (tranziţiilor) sau graful ataşat circuitului. 5) Pentru evoluţia semnalelor de intrare şi starea iniţială impuse, folosind graful sau tabelul tranziţiilor, se stabileşte evoluţia semnalelor la ieşire. z Exemplu. Pentru circuitul secvenţial asincron având logigrama din x figura 3.20, se cere să se stabilească evoluţia semnalelor la ieşire pentru o succesiune de (semnale) 0 şi 1 aplicate la intrare, ştiind că starea iniţială C corespunde situaţiei cînd semnalele secundare au valoarea 0. R. 1) Conform figurii, s-au evidenţiat structura combinaţională (C) şi de memorie (M) şi semnalele din cir-cuit: x – semnalul de intrare, z – sem-nalul de ieşire, y1, y2 – semnale (varia-bile) secundare de stare corespunză-toare celor două bucle de Y2 y2 reacţie şi Y1, Y2 – semnale secundare D2 de excitaţie a memoriei. M Y y1 1 2) Funcţiile booleene corespunD1 zătoare structurii combinaţionale sunt:  funcţia de ieşire Figura 3.20: Exemplu de logigramă a unui CLS z  y1  y 2 z  x  y1  y2  x  y1  y2 – forma canonică  funcţiile de excitaţie (ieşirile părţii combinaţionale) Y1  y1  y 2  x  y1  x  y 2 ; Y2  y1  y2  x  y1  x  y2 .

Y1  x  y1  y 2  x  y1  y 2  x  y1  y 2  x  y1  y 2   forme canonice Y2  x  y1  y 2  x  y1  y 2  x  y1  y 2  x  y1  y 2  Diagramele Karnaugh ale funcţiilor Y1, Y2 se reunesc într-un tabel (figura 3.21 (a)). 3) Asignarea stărilor se face în funcţie de cele două variabile secundare de stare y1, y2, iar starea iniţială corespunde valorilor 0 ale acestor variabile (conform enunţului) astfel: pentru y1y2 = 00 se alocă starea s0, pentru y1 y2 = 01 se alocă starea s1 etc., stări ce se trec în tabelul din figura 3.21(b). Se revine în diay1y2 00 01 11 10 grama Karnaugh unde se trec aceste y1 y2 s x stări asignate. 0 0 s0 0 00 11 11 00 4) Tabelul tranziţiilor din figura 0 1 s1 s0 s3 s3 s0 3.22(a) şi/sau graful circuitului din fi1 0 s2 1 01 01 10 10 gura 3.22(b) se construiesc ţinând cont 1 1 s3 s1 s1 s2 s2 de diagrama Karnaugh şi de asignarea stărilor (figura 3.21(b)). Y1Y2 Numărul coloanelor din tabelul stări asignate (b) Asignarea tranziţiilor, în afara ieşirilor, este 2m = 2, stărilor (a) Diagrama Karnaugh unde m = 1 este numărul variabilelor de Figura 3.21: Reprezentarea tabelară a CLS intrare x. Numărul liniilor corespunde

45

numărului stărilor. Considerăm starea s0 căreia îi corespunde combinaţia y1 y2 = 00, conform tabelului din figura 3.21(b). În diagrama Karnaugh din figura 3.21(a), pentru y1 y2 = 00 (s0) îi corespunde la x = 0 un câmp din diagramă care are combinaţia 00 respectiv starea s0. La x = 1 din diagramă, pentru combinaţia y1 y2 = 00, adică s0, îi corespunde combinaţia y1y2 = 01, adică s1. În această situaţie, funcţia de ieşire z = y1 y2 are valoarea z = 0  0 = 0. Cele două stări, s0, s1 şi valoarea z = 0 se trec în tabelul tranziţiilor pe prima linie, apoi se continuă în acelaşi mod completarea celorlalte linii. x s s0 s1 s2 s3

1

z

s0 s1 s3 s1 s0 s2 s3 s2

0 0 0 1

0

x x

s2/0

x

x

s1/0

s3/1

x

stare stabilă

x

s0/0

x

x

(a) Tabelul tranziţiilor (b) Graful Figura 3.22: Reprezentarea CLS Observaţie. În tabel s-au marcat stările stabile. Se poate stabili graful circuitului (figura 3.22(b)) pe baza regulilor enunţate în §3.2.3 (1), în cazul unui automat Moore. 5) Pe baza grafului sau a tabelului tranziţiilor putem stabili secvenţa de ieşire în funcţie de secvenţa de intrare şi de starea iniţială. De exemplu, pot exista următoarele situaţii: secvenţa de intrare (x): stările stabile (s): secvenţa de ieşire (z):

0 1 0 1 0 1 0 1 0 1 0 s0 s1 s3 s2 s0 s1 s3 s2 s0 s1 s3 0 0 1 0 0 0 1 0 0 0 1

sau: secvenţa de intrare (x): stările stabile (s): secvenţa de ieşire (z):

1 0 0 1 0 0 1 0 0 1 s1 s3 s3 s2 s0 s0 s1 s3 s3 s2 0 1 1 0 0 0 0 1 1 0

Se observă ciclicitatea în funcţionarea circuitului, ceea ce arată că automatul este finit deoarece are un număr finit de stări. ***

46

CAPITOLUL 4 ANALIZA CIRCUITELOR BASCULANTE BISTABILE 4.1. Introducere Cele mai simple circuite logice secvenţiale sunt circuitele basculante bistabile (CBB). Ele sunt folosite ca elemente de memorie în calculatoarele numerice, fiecare CBB memorând un bit al cuvântului binar dat. Acestea sunt prevăzute cu numai două ieşiri, notate Q şi Q . Când Q ia valoarea 1 (respectiv 0), Q ia valoarea 0 (respectiv 1), astfel că ieşirile se pot afla în stările: Q Q = 01 şi Q Q = 10, adică în stări logice opuse. Trecerea unei ieşiri dintr-o stare în cealaltă reprezintă o tranziţie şi se efectuează în urma aplicării unor semnale de comandă corespunzătoare. Denumirea de bistabil provine de la faptul că un asemenea circuit are numai două stări (la un anumit moment de timp, circuitul se află în una dintre acestea) şi fiecare din stări este stabilă. Faptul că o anumită stare este stabilă înseamnă că odată ce circuitul este adus în aceasta, el nu va trece de la sine într-o altă stare; scoaterea dintr-o stare stabilă se poate face numai prin aplicarea unei anumite combinaţii de valori pe intrările circuitului, deci nu de la sine. Denumirea de basculant provine de la faptul că la trecerea dintr-o stare în alta, fiecare ieşire trece din 0 în 1 sau din 1 în 0, ceea ce reprezintă o basculare orizontal–vertical. Bistabilele nu îşi schimbă starea lor la aplicarea repetată a unui semnal de aceeaşi valoare pe o intrare şi de aceea se mai numesc şi circuite cu zăvorâre (engleză: latch). CBB se realizează pe baza porţilor logice ŞI–NU / SAU–NU, cu cel puţin două intrări. 4.2. Circuite basculante bistabile asincrone Caracteristicile circuitelor basculante bistabile asincrone (prescurtat, CBBA) reies din modul constructiv şi funcţional ale acestora şi pot fi grupate astfel: 1) Comutarea CBBA se face prin aplicarea semnalelor de date (comandă) la cele două intrări ale sale, notate R şi S sau J şi K. 2) Procesele de comutare ale CBBA au loc la momente arbitrare de timp. 3) CBBA reţin valorile aplicate la intrare pe perioada intervalului de timp dintre comutările succesive ale elementelor combinaţionale. 4.2.1. Circuite basculante bistabile asincrone tip R–S 4.2.1.1. CBAA tip R–S cu porţi ŞI–NU În figura 4.1 este reprezentată schema logică a unui circuit basculant bistabil R–S asincron, care conţine două inversoare NU şi două porţi R R logice ŞI–NU conectate astfel încât ieşirea unei porţi WQ să devină o intrare pentru cealaltă poartă, iar cea de a A doua intrare a porţii constituie intrare de comandă a bistabilului, prin intermediul inversorului. Intrările bistabilului sunt R şi S, iar ieşirile sale sunt Q şi W, din care W va fi întotdeauna complementul lui Q, Q S ceea ce justifică înlocuirea lui W cu Q (notaţie conS B sacrată). Funcţionarea circuitului Figura 4.1: Schema logică a 1) Se presupune că în momentul t se aplică la CBBA tip R–S cu porţi ŞI–NU intrare semnalele R = 0, S = 1. Atunci S = 0 şi după un timp tpB (egal cu timpul de propagare prin poarta B), ieşirea Q va fi egală cu 1. Apoi, pe intrările porţii A se vor afla acum semnalele R = 1 şi Q = 1, deci ieşirea W va deveni 0 după un timp tpA egal cu timpul de propagare prin poarta A. Deci, comanda R = 0, S = 1 conduce la Q = 1, W = Q = 0.

47

Observaţie. Litera S reprezintă iniţiala verbului „to set”, care înseamnă „a pune pe 1”, sau se spune că se setează circuitul (în sensul că se aduce ieşirea Q în 1), dacă R = 0, S = 1. Uneori se mai utilizează şi termenul „preset”. 2) Se presupune că la momentul t se aplică la intrare combinaţia R = 1, S = 0. Atunci R = 0, deci după un timp egal cu timpul de propagare tpA prin poarta A, ieşirea W va fi egală cu 1. Din acest moment t + tpA, pe intrările porţii B se vor afla valorile stabile: W = 1 şi S = 1. Rezultă că după un timp egal cu timpul tpB de propagare prin poarta B, ieşirea Q va fi 0. Din nou W = Q . Aşadar, comanda R = 1, S = 0 aduce ieşirea Q pe 0. Observaţie. Litera R este iniţiala verbului „to reset” care înseamnă „a iniţializa”, „a pune pe 0”. Se mai spune că dacă la momentul t se aplică pe intrări valorile R = 1, S = 0, atunci ieşirile trec în stările Q = 0, W = 1 (= Q ) şi circuitul se resetează sau se şterge („clear”) . 3) Dacă la intrare se aplică semnalele R = 1, S = 1, atunci R = 0, S = 0; deci, după un timp egal cu cel mai lung dintre timpii de propagare prin porţi, ieşirile vor fi W = 1, Q = 1; în acest caz nu mai avem W = Q . 4) Cazul R = 0, S = 0 (deci R = 1, S = 1); trebuie să se ţină cont de valorile ieşirilor în momentul aplicării semnalelor R = 0, S = 0 la intrare şi trebuie ştiut care este poarta cea mai rapidă (cu timpul cel mai mic de propagare). 4.a) Se presupune că poarta A este mai rapidă decât poarta B (tpA < tpB; timpul de propagare este timpul în care ieşirea porţii prezintă hazard combinaţional, după acest timp ieşirea devenind stabilă). Se observă că ieşirile bistabilului R–S nu pot fi simultan în 0, deoarece dacă W = 0, Q = 0 atunci după un timp tpA ieşirea W ar comuta în 1 (fiindcă poarta A este mai rapidă şi are o intrare Q = 0). Deci ieşirea W = 0, Q = 0 nu poate fi admisă ca o stare stabilă. 4.a1) Se aplică la intrare în momentul t semnalele R = 0, S = 0 şi se presupune că în acest moment şi în cele precedente ieşirile sunt W = 0, Q = 1. Atunci intrările porţii A (care este cea mai rapidă) sunt R = 1, Q = 1 deci în continuare W = 0. Apoi, rezultă că intrările porţii B sunt W = 0 şi S = 1 deci ieşirea va fi Q = 1. În acest caz, bistabilul memorează (păstrează) starea anterioară. 4.a2) Se aplică iar la momentul t R = 0, S = 0 şi se presupune că W = 1, Q = 0. Atunci intrările porţii A vor fi R = 1, Q = 0, deci W rămâne în continuare 1. Apoi, pe intrările porţii B există semnalele W = 1 şi S = 1, deci în continuare Q = 0. Astfel, bistabilul memorează starea anterioară. 4.a3) Dacă R = 0, S = 0 în momentul t şi în momentele precedente, dar W = 1, Q = 1, atunci intrările porţii A (mai rapidă ca B) sunt R = 1, Q = 1, deci după timpul tpA, există situaţia W = 0. Apoi intrările lui B devin W = 0 şi S = 1, deci după timpul tpB, ieşirea Q devine Q = 1. În concluzie, Q = 1 şi W = 0, deci nu mai este păstrată starea precedentă. 4.b) Se presupune acum că poarta B este mai rapidă decât A, adică tpA > tpB. Ca şi la pct. 4.a), se observă şi aici că ieşirea W = 0, Q = 0 nu poate fi admisă ca o stare stabilă. 4.b1) Se aplică la intrare R = 0, S = 0 în momentul t şi presupunem că ieşirile ar fi W = 0, Q = 1 în acest moment şi în cele precedente. Ca mai sus, se arată că ieşirile vor fi de forma W = 0, Q = 1, deci se memorează starea anterioară. 4.b2) Din nou R = 0, S = 0 la momentul t şi se presupune că ieşirile ar fi W = 1, Q = 0 (la momentul t0 anterior). Ca mai sus se arată că ieşirile vor fi în continuare W = 1, Q = 0, deci se memorează starea anterioară. 4.b3) Dacă se aplică la intrare R = 0, S = 0 în momentul t şi ieşirile ar fi W = 1, Q = 1, ar rezulta că intrările porţii B (mai rapidă ca A) sunt W = 1, S = 1. După timpul tpB ieşirea Q va deveni 0. Începând cu momentul t + tpB intrările porţii A sunt stabile, astfel că R = 1 şi Q = 0. După timpul tpA ieşirea W va deveni egală cu 1. Aşadar, în această situaţie Q = 0, W = 1, deci

48

nu mai este păstrată starea anterioară. Concluzie Analizând situaţiile 4.a1), 4.a2) şi 4.b1), 4.b2) se observă că dacă se aplică, în momentul t, R = 0 şi S = 0 şi dacă starea ieşirilor în acel moment este diferită de Q = 1,W = 1, atunci circuitul memorează starea anterioară (de exemplu dacă W = 0, Q = 1 în momentul t, atunci după momentul t, adică t+1, denumit momentul următor, vom avea tot W = 0, Q = 1). Dacă însă starea anterioară este W = 1 şi Q = 1 (starea anterioară înseamnă starea la momentul t şi în momentele precedente, fiind vorba numai despre stări stabile) şi dacă la momentul t se aplică R = 0 şi S = 0 atunci: - circuitul trece în starea Q = 1, W = 1, dacă poarta A este mai rapidă decât poarta B; - circuitul trece în starea Q = 0, W = 1, dacă poarta B este mai rapidă decât poarta A; De subliniat că starea Q = 1, W = 1 corespunde intrărilor R = 1, S = 1. Dacă se dispune de două porţi ŞI–NU (figura 4.1), nu se poate spune dinainte care dintre acestea are un timp de propagare mai scurt. De aceea dacă iniţial există R = S = 1 şi apoi R = S = 0, nu se poate spune care este starea ieşirilor W şi Q (se poate ca W = 1, Q = 1, aşa cum s-a constatat mai sus). Ţinând cont de aceasta, se face convenţia de a nu se admite configuraţia R = 1, S = 1 a intrărilor; cu alte cuvinte, utilizatorul nu va aplica niciodată simultan valoarea 1 pe ambele intrări R şi S ale bistabilului R–S asincron (fără tact). Cauzele aceastei interdicţii sunt: - dacă se aplică 1 pe ambele intrări R şi S, atunci Q = 1, W = 1 şi nu mai există W = Q ; - dacă se aplică 1 pe R şi S (deci Q = 1, W = 1) şi apoi 0 pe ambele intrări, atunci ieşirile pot trece în una din stările Q = 1, W = 0 (sau Q = 0, W = 1), după cum poarta A este mai rapidă (sau invers) decât poarta B; prin urmare, nu s-ar putea spune care este starea în care trece bistabilul decât dacă s-ar şti care dintre porţile care alcătuiesc bistabilul este mai rapidă. Modul de funcţionare descris anterior poate fi sintetizat în tabelul de funcţionare a circuitului, care reprezintă totodată şi tabelul de adevăr al bistabilului R–S asincron cu porţi ŞI– NU (tabelul 4.1). Tabelul 4.1: Tabelul de adevăr pentru CBAA tip R–S cu porţi ŞI–NU Intrări Ieşiri R S La momentul t La momentul t+1 Observaţii Q Q+1 Q Q 1 Q Q Se memorează starea anterioară (nici o 0 0 Q Q schimbare a ieşirilor) Setarea bistabilului (înscriere) 0 1 0 1 1 0 1 0 1 0 0 1 Resetarea bistabilului (ştergere) 1 1 X X 1* 1* Nu este permisă această configuraţie a intrărilor (stare interzisă*) X – stare logică indiferentă (0 sau 1)

Interpretarea tabelului trebuie efectuată astfel: - dacă în momentul t se aplică pe intrări semnalele R = 1, S = 0, atunci aproape instantaneu ieşirile Q şi Q trec în stările Q = 0, Q = 1 (operaţia de resetare); - dacă în momentul t se aplică pe intrări semnalele R = 0, S = 1, atunci ieşirile Q şi Q trec în stările Q = 1, Q = 0 (operaţia de setare); - dacă în momentul t se aplică pe intrări semnalele R = 0, S = 0, atunci nu va apărea nici o modificare a ieşirilor Q şi Q , ieşiri care rămân în starea în care au fost până atunci; - configuraţia R = 1, S = 1 nu este permisă deoarece dă naştere la dificultăţi incontrolabile

49

(prezentate anterior). Utilizatorul trebuie să aibă grijă ca R şi S să nu poată lua niciodată simultan valoarea 1. Tabelul de adevăr al CBB tip R–S Q R Q asincron se mai poate obţine parcurR A gând etapele analizei unui circuit logic R secvenţial evidenţiate în §3.2.4. Schema (x1) bistabilului din figura 4.1 se echivaleaQ +1 = z =Y S B S ză cu circuitele corespunzătoare ieşirii directe la momentul următor Q+1 (figu- (x2) (a) ra 4.2(a)), respectiv ieşirii negate la Q momentul următor Q1 (figura 4.2(b)). SQ S B 1) Identificarea structurii combiS naţionale C, identificarea structurii me- (x2) moriei M şi determinarea semnalelor Q 1  z Y R R A circuitului. În acest caz, cele structuri se confundă astfel că semnalele au urmă- (x1) (b) toarele semnificaţii: Figura 4.2: Circuitele echivalente ale CBAA - semnale de intrare: tip R–S cu porţi ŞI–NU x1 = R, x2 = S; - semnale de reacţie (y1, y2), semnale secundare de excitaţie a memoriei (Y1, Y2) şi semnale de ieşire (z1, z2): z1 = y1 = Y1 = Q 1 , z2 = y2 = Y2 = Q1 , deoarece ieşirile celor două circuite sunt identice cu semnalele de reacţie corespunzătoare, fapt ce ne permite să afirmăm că acest bistabil este un automat Moore. Ieşirile fiind în stări logice opuse relaţiile anterioare devin: z  y  Y = Q 1 , z = y = Y = Q1 . 2) Stabilirea funcţiilor booleene de ieşire ale părţii combinaţionale şi reprezentarea prin diagrame a acestora. Funcţiile de ieşire ale bistabilului sunt: Q1  R  Q  S  Y ;

(4.1) Q1  R  Q  S .

RS 00 Q 0 01 s0 1 10 s1

01

11

10

Q s 10 11 01 Q1  S  Q  R  Y . 0 s0 s0 s0 s0 (4.2) Q1  S  Q  R . 1 s1 10 11 01 Relaţiile (4.1) şi (4.2) reprezintă s1 s1 s1 ecuaţiile caracteristice ale bistabilului Y Y(Q 1 Q 1 ) R–S asincron cu porţi ŞI–NU. stări asignate (b) Asignarea Diagrama Karnaugh comună ce(a) Diagrama Karnaugh stărilor lor două ieşiri este dată în figura 4.3(a). Se observă deja că pentru combinaţia Figura 4.3: CBAA de tip R–S cu porţi ŞI–NU intrărilor RS = 11 avem 1 pe ambele ieşiri Q+1, Q 1 , fapt ce contrazice accepţiunea ca ieşirile să se afle în stări logice opuse, lucru remarcat şi în cazul descrierii funcţionării bistabilului. 3) Asignarea stărilor. Se definesc stările circuitului ca fiind s0 căreia îi corespunde ieşirea Q = 0 şi s1 pentru situaţia Q = 1 – figura 4.3(b). 4) Tabelul stărilor şi graful circuitului. Tabelul stărilor (tranziţiilor) este prezentat în figura 4.4(a), iar graful circuitului în figura 4.4(b), în situaţia funcţionării normale a bistabilu-

50

lui, fără combinaţia interzisă RS RS 00 01 11 10 Q 1 Q 1 = 11. s 5) Obţinerea tabelului de s0 s0 – s1 s1 – s0 s1 – s1 s0 – s1 0 1 adevăr. Se construieşte tabelul s s – s s – s s – s s – s 1 0 1 1 0 1 0 1 1 0 1 de adevăr al bistabilului şi se obstările ieşirii Q 1 stările ieşirii Q 1 servă că este sinonim cu tabelul 4.1 prezentat anterior. (a) Tabelul stărilor 4.2.1.2. CBBA tip R–S RSRS R  S  R S R S cu porţi SAU–NU Un CBBA tip R–S cu porţi s1/1 s0/0 RS SAU–NU este dat în figura 4.5 (a). Stabilirea tabelului de ade(b) Graful circuitului văr se poate efectua pe baza cirFigura 4.4: CBAA tip R–S cu porţi ŞI–NU cuitelor echivalente corespunzătoare ieşirilor Q+1, Q +1 la momentul următor t+1, din figura 4.5(b) respectiv figura 4.5(c). Ecuaţia caracteristică a ieşirii Q+1 este:

Q1 = R  ( S  Q) = R  ( S  Q) , de unde: (4.3) Q1 = R  ( S  Q) . Pentru ieşirea Q 1 se obţine ecuaţia caracteristică de forma:

Q1 = S  ( R  Q ) = S  ( R  Q ) , sau: (4.4) Q1 = S  ( R  Q ) . Pe baza ecuaţiilor caracteristice (4.3) şi (4.4) se alcătuieşte tabelul de adevăr al bistabilului R–S asincron cu porţi SAU–NU din figura 4.5(d). Q R

Q

A

S

B

SQ

R

Q 1

A (b) Schemă echivalentă

Q

S

B

Q R

RQ

B

S

(a) Logigrama

(c) Schemă echivalentă

R

S

0

0

Q

Ieşiri La momentul t+1 Q+1 Q 1 Q Q Q

0 1 1

1 0 1

0 1 X

1 0 X

Intrări

Q 1

A

La momentul t Q Q

Observaţii Starea ieşirilor rămâne nemodificată Setarea bistabilului Resetarea bistabilului Stare interzisă (*)

1 0 0 1 0* 0* (d) Tabel de adevăr Figura 4.5: CBBA tip R–S cu porţi SAU–NU

51

4.2.1.4. Concluzii asupra CBBA tip R–S În urma analizei tabelelor de adevăr ale celor două tipuri de circuite R–S, tabelul 4.1 respectiv tabelul din figura 4.5(d), se constată următoarele: 1) Ieşirile îşi schimbă aproape instantaneu stările, ţinând cont de timpul de propagare prin porţi a semnalelor apărute la intrare. 2) Aplicarea combinaţiei RS = 00 la intrări nu modifică stările ieşirilor bistabilului pe care acesta le-a avut anterior apariţiei acestei combinaţii. 3) Prezenţa combinaţiei RS = 01 la intrări conduce la setarea bistabilului, adică la apariţia configuraţiei Q1 Q1 = 10 pe ieşiri, indiferent de stările pe care ieşirile le-au avut anterior. Se mai spune că bistabilul a fost înscris cu valoarea 1. 4) Aducerea secvenţei RS = 10 pe intrări determină trecerea ieşirilor în configuraţia Q1 Q1 = 01, indiferent de valorile pe care acestea le-au prezentat anterior. Acum se consideră că bistabilul a fost resetat sau a fost şters. 5) Aducerea combinaţiei RS = 11 la intrări determină o configuraţie a ieşirilor de forma Q1 Q1 = 11 în cazul bistabililor cu porţi ŞI–NU, respectiv Q1 Q1 = 00 în situaţia bistabililor cu porţi SAU–NU, fapt ce nu respectă cerinţa de opozabilitate a stărilor logice ale ieşirilor unui circuit basculant bistabil. Rezultă că utilizatorul va trebui să evite apariţia la intrările bistabililor a acestei configuraţii interzise (RS = 11), ceea ce constituie un dezavantaj major al circuitelor. De aceea aplicaţiile practice ale acestui bistabil sunt reduse, el utilizându-se în principal în circuite care permit eliminarea tranziţiilor parazite introduse de funcţionarea unui comutator mecanic. Simbolul unui circuit basculant bistabil asincron tip R–S este prezentat în figura 4.6 (a), iar tabelul de adevăr (simplificat) în figura 4.6(b). Intrări R S R

Q

0

0

S

Q

0 1 1

1 0 1

Ieşiri la t+1 Q 1 Q 1 Q Q 1 0 *

0 1 *

Observaţii Ieşiri nemodificate Setare bistabil Resetare bistabil Stări interzise (*)

(a) Simbol grafic (b) Tabel de adevăr Figura 4.6: Reprezentările unui CBBA tip R–S

4.2.2. Circuite basculante bistabile asincrone de tip J-K CBBA tip J–K este un automat Moore ce elimină dezavantajul CBBA tip R–S prin introducerea a două porţi logice suplimentare. Intrările bistabilului se notează cu J, care îndeplineşte rolul intrării S a bistabilului R–S respectiv cu K, care joacă rolul intrării R a circuitului R–S. Funcţionarea bistabilului J–K este asemănătoare cu cea a bistabilului R–S, ieşirile având roluri identice. 4.2.2.1. CBBA tip J–K cu porţi ŞI–NU Schema logică a acestui circuit are la bază logigrama bistabilului asincron R–S cu porţi ŞI–NU prezentat în §4.2.1(I), figura 4.1, la care s-au implementat două porţi ŞI (figura 4.7). Se va analiza acest circuit logic secvenţial utilizând metodologia prezentată în §3.2.4. 1) Identificarea părţii combinaţionale C, identificarea structurii memoriei M şi stabilirea semnalelor circuitului secvenţial. Circuitul logic combinaţional C este alcătuit din două porţi logice suplimentare 1, 2 de tip ŞI, iar memoria o reprezintă circuitul basculant bistabil asincron de tip R–S realizat cu porţi logice ŞI–NU.

52

Semnalelor circuitului secvenţial se stabilesc astfel: - semnale de intrare: x1 = K, x2 = J; - semnale de reacţie (y1, y2), semnale secundare de excitaţie a memoriei (Y1, Y2) şi de ieşire (z1, z2): z1 = y1 = z = Q1 ,

y1

(x1) K

1

J (x2)

y2 2

Y1 Y2

Q R CBBA „R-S” S Q

Q=z Qz

M C z2 = y2 = z  y  Q 1 , Figura 4.7: Schema logică a CBBA tip J–K cu deoarece ieşirile celor două circuite porţi ŞI–NU sunt identice cu semnalele de reacţie corespunzătoare. Acest fapt arată că bistabilul asincron tip J–K este un automat Moore: Y1 = R, Y2 = S. 2) Stabilirea funcţiilor booleene de ieşire ale părţii combinaţionale şi reprezentarea prin diagrame a acestora. Funcţiile de ieşire ale bistabilului se determină observând că ieşirile bistabilului J–K sunt de fapt ieşirile bistabilului R–S stabilite la §4.2.1(I), relaţiile (4.1) respectiv (4.2). Deci: Q1  R  Q  S , Q1  S  Q  R . Din analiza circuitului din figura 4.7 se observă că: (4.5) R = Y1 = K  Q ; S = Y2 = J  Q . Se inlocuiesc aceste relaţii în expresiile funcţiilor de ieşire ale bistabilului J–K şi se obţin ecuaţiile caracteristice ale bistabilului: Q1 = K  Q  Q  J  Q  ( K  Q )  Q  J  Q  K  Q  Q  Q  J  Q

(4.6) Q1 = K  Q  J  Q .

Q1 = J  Q  Q  K  Q  ( J  Q)  Q  K  Q  J  Q  Q  Q  K  Q (4.7) Q1 = K  Q  J  Q Diagrama Karnaugh din figura 4.8(a) s-a construit pentru cele două ieşiri ale bistabilului J–K. Se observă că, indiferent de combinaţia intrărilor JK, ieşirile Q+1 şi Q 1 se află în stări logice opuse, deci bistabilul J–K nu mai prezintă stări interzise, aşa cum prezenta bistabilul R–S. JK 00 01 11 10 3) Asignarea stărilor. Stării s0 a Q circuitului îi corespunde ieşirea Q = 0, Q s 0 01 01 10 10 iar starea s1 defineşte ieşirea cu valoarea 0 s0 s0 s0 s0 s0 Q = 1 (figura 4.8(b)). 1 s1 1 10 01 01 10 4) Tabelul stărilor (tranziţiilor) s1 s1 s1 s1 este arătat în figura 4.9(a), iar în figura 4.9(b) este dat graful circuitului. Y Y (Q 1 Q 1 ) 5) Stabilirea tabelului de adevăr stări asignate (b) Asignarea din figura 4.9(c) se face fie pe baza tastărilor (a): Diagrama Karnaugh belului tranziţiilor, fie pe baza grafului Figura 4.8: CBBA tip J–K cu porţi ŞI–NU fie cu ajutorul ecuaţiilor caracteristice (4.6) şi (4.7). Se observă că: - pentru combinaţia la intrare JK = 00, ieşirile bistabilului vor rămâne în starea anterioară aplicării semnalelor de intrare; - dacă JK = 01, are loc resetarea (ştergerea bistabilului); - dacă JK = 10, se produce setarea (încărcarea) bistabilului;

53

JK 00 01 11 10 Q 1 s s0 s0 – s1 s0 – s1 s1 – s0 s1 – s0 0 s1 s1 – s0 s0 – s1 s0 – s1 s1 – s0 1 (a) Diagrama Karnaugh

JK  JK

JK  JK

Intrări J K JK JK s1/1

s0/0 JK  JK (b) Graf

Q 1 1 0 Ieşiri la t+1 Q 1 Q 1

0

0

Q

0 1 1

1 0 1

0 1 Q

Q 1 0 Q

Observaţii nemodificat resetare setare inversare

(c) Tabel de adevăr

Figura 4.9: Reprezentările CBBA tip J–K cu porţi ŞI–NU

- pentru JK = 11, ieşirile vor trece în stări opuse celor avute înainte de modificarea intrărilor; deci se elimină stările interzise ce caracterizează un bistabil asincron de tip R–S. 4.2.2.2. CBBA tip J–K cu porţi SAU–NU CBBA tip J–K cu porţi SAU–NU se poate construi completând schema CBBA tip R–S cu porţi SAU–NU din figura 4.5(a) cu două porţi logice de tip ŞI. Se obţine circuitul logic al acestui bistabil identic cu al bistabilului J–K cu porţi ŞI–NU, arătat în figura 4.7. Ecuaţiile caracteristice ale ieşirii CBBA tip J–K cu porţi SAU–NU se determină pe baza ecuaţiilor caracteristice ale CBBA tip R–S cu porţi SAU–NU, stabilite în §4.2.1, adică: Q1 = R  ( S  Q) – vezi relaţia (4.3); Q1 = S  ( R  Q ) – vezi relaţia (4.4). Deoarece: R = Y1 = K  Q ; S = Y2 = J  Q – vezi relaţia (4.5) şi efectuând înlocuirile corespunzătoare în relaţiile (4.3) respectiv (4.4) rezultă: Q1  K  Q  ( J  Q  Q)  ( K  Q )  ( J  Q  Q)  K  J  Q  K  Q  J  Q  Q  Q 

 J  Q ( K  1)  K  Q; (4.8) Q1 = K  Q  J  Q . Q1  J  Q  ( K  Q  Q )  ( J  Q )  ( K  Q  Q )  J  K  Q  J  Q  Q  Q  K  Q   K  Q ( J  1)  J  Q ;

(4.9) Q1 = K  Q  J  Q . S-au obţinut aceleaşi forme ale ecuaţiilor caracteristice ca cele ale bistabilului J–K cu porţi ŞI–NU. În consecinţă şi tabelele de adevăr ale celor două bistabile sunt identice. În figura 4.10(a) este prezentat simbolul unui CBBA tip J–K, iar în figura 4.10(b) tabelul de adevăr. 4.2.3. Analiza circuitelor logice secvenţiale asincrone (CLSA) care au circuite basculante bistabile ca elemente de memorie Analiza acestor circuite se desfăşoară după acelaşi algoritm utilizat în paragraful anterior, dar pentru a stabili evoluţia semnalelor de ieşire este necesar să se stabilească evoluţia CBB în funcţie de semnalele secundare de excitaţie a lor.

54

Intrări J K

Ieşiri la t+1 Q 1 Q 1

J

Q

0

0

Q

K

Q

0 1 1

1 0 1

0 1 Q

(a) Simbol grafic

Observaţii ieşiri nemodificate

Q 1 0 Q

resetare bistabil setare bistabil ieşiri inversate

(b) Tabel de adevăr Figura 4.10: CBBA tip J–K

Exemplul 4.1. Să se analizeze circuitul logic secvenţial asincron cu schema logică din figura 4.11, atunci când secvenţa de intrare este 0110010, iar starea iniţială se consideră a fi s0, rezultată din asignarea stărilor. R.4.1 1) Identificarea părţii combinaţionale C, identificarea structurii memoriei M şi stabilirea semnalelor circuitului secvenţial. Circuitul logic combinaţional C este alcătuit din şase porţi logice (1…6), iar blocul memoriei M este format din două circuit basculante bistabile asincrone tip J–K, notate cu A respectiv B, realizate fie cu porţi logice ŞI–NU, fie cu porţi logice SAU–NU. Semnalele circuitului logic secvenţial asincron se stabilesc astfel: - semnalul de intrare: x = JA; - semnalele de reacţie (y1, y2, y3, y4), semnalele secundare de excitaţie a memoriei (Y1, Y2, Y3, Y4) şi semnalul de ieşire (z): C

2 6

z

3

4

x 1

5

y3 = B y4 = B y1 = A y2 = A

Q

B

K

Q

J

Q

K

Q

A

J

Y3 = KB Y4 = JB Y1 = KA Y2 = JA

Figura 4.11: Logigrama CLC

55

M

y1 = A, y 2  A , y3  B , y 4  B ; Y1 = KA; Y2 = JA ; Y3 = KB ; Y4 = JB; z  ( y1  y 4 )  ( y 2  y3 ). 2) Stabilirea funcţiilor booleene de ieşire ale părţii combinaţionale şi reprezentările prin diagrame

Y1  y 4  x  B  x  B  x; Y2 = x;

Y3 = y 2  x  A  x  A  x ;

Y4 = x ;

z  ( A  B )  ( A  B)  A  B  A  B . După cum se observă, acest circuit realizează funcţia logică SUMĂ MODULO 2 (SAU – EXCLUSIV) – vezi §2.4(7). Diagramele Karnaugh din figurile 4.12(a),(b) s-au construit pentru funcţiile semnalelor de excitaţie ale memoriei ce se aplică pe intrările celor două bistabile J–K, în raport cu combinaţiile ce pot apărea la ieşirile directe (nenegate) ale bistabilelor. Aceste ieşiri sunt considerate variabile secundare de stare.

AB x 0 1

00

01

11

AB x 0 1

10

0K 0K 00 JK JK JK JAKA (a) Diagrama Karnaugh I

00

01

11

10

JK JK JK 00 0K 0K JBKB (b) Diagrama Karnaugh II

00 JK

AB

JK 00

x z 0 1 s s0 s1 s2 00 s0 0 01 00 00 11 s1 s0 s3 01 s1 1 10 11 00 00 s2 s3 s0 10 s2 1 s3 s0 s0 11 s3 0 A+1 B+1 (c) Diagrama de stare (d) Stările (e) Tabelul tranziţiilor Figura 4.12: Reprezentarea tabelară a CLS

AB x 0 1

00

01

11

s

10

3) Asignarea stărilor. Corespunzător combinaţiilor valorilor variabilelor secundare de stare se realizează diagrama de stare din figura 4.12(c), pe baza tabelului de adevăr al unui CBBA tip J–K, care a fost prezentat în figura 4.10(b). Se definesc apoi stările circuitului ca în figura 4.12(d). 4) Tabelul stărilor. Se construieşte tabelul stărilor (tranziţiilor) din figura 4.12(e). 5) Evoluţia semnalelor la ieşire. În raport cu evoluţia semnalelor de intrare şi starea iniţială s0 impuse şi folosind tabelul tranziţiilor, se stabileşte secvenţa de ieşire astfel: secvenţa de intrare (x): secvenţa stărilor (s): secvenţa de ieşire (z):

0 1 1 0 0 1 0 s0 s2 s0 s1 s0 s2 s3 0 1 0 1 0 1 0

4.3. Circuite basculante bistabile sincrone 4.3.1. Caracteristicile circuitelor basculante bistabile sincrone Aşa cum s-a specificat în §3.2.2, circuitele basculante bistabile sincrone (CBBS) fac parte din circuitele logice secvenţiale sincrone. Acestea elimină hazardul combinaţional introdus de circuitele logice secvenţiale asincrone datorat timpului fizic de propagare a semnalelor

56

prin porţile logice. Acestea au, pe lângă intrările de comandă, care se mai numesc şi intrări de date, intrări pentru impulsul de tact (ceas). Caracteristicile CBBS: 1) Spre deosebire de CBBA, la CBBS o intrare de date nu modifică (comută) starea unui bistabil decât în prezenţa impulsurilor de tact sau de sincronizare IT (CK). Acest fapt permite comutarea sincronă predictibilă a mai multor celule de memorie care intră în componenţa unui circuit logic secvenţial. 2) CBBS reţin valorile semnalelor aplicate pe perioada intervalului dintre două tacte. 3) Frecvenţa impulsurilor de tact este mai mare decât frecvenţa de comutare a semnalelor la intrările de date, pentru ca funcţionarea CBBS să fie independentă de intervalul de timp dintre două impulsuri de tact. 4) Sincronizarea unui CBBS se poate efectua în trei moduri: în curent continuu, în curent alternativ şi de tip „master–slave”. a) Sincronizarea în curent continuu asigură comutarea CBB numai la tranziţia din 0 în 1 (pe frontul anterior, FA, al impulsului de tact din figura 3.16 din §3.2.2) sau la tranziţia din 1 în 0 (sincronizare pe frontul posterior, FP, din aceeaşi figură) şi se face la atingerea unor anumite nivele de tensiune. Este o sincronizare de mare viteză ce permite simultan accesul intrărilor de date şi transferul datelor la ieşire. b) Sincronizarea în curent alternativ asigură comutarea CBB numai în timpul modificării semnalului de comandă şi se efectuează printr-un cuplaj capacitiv (circuit electric cu condensator), ce furnizează impulsuri pozitive sau negative cu ajutorul cărora se produce bascularea CBB. De aceea, aceste CBBS se mai numesc şi CBB dinamice. c) Sincronizarea „master–slave” permite o izolare a ieşirilor de intrările de date prin comanda succesivă a două CBB conectate în serie: primul CBB se numeşte „master” (stăpân), al doilea CBB poartă denumirea de „slave” (sclav). 5) Tipul intrărilor şi ieşirilor: - intrări de date notate: T, D, S–R, J–K; - intrări de tact: IT (CK) sau ENABLE; - intrări de comandă independente, de tip asincron: PRESET (notate S sau PR) şi CLEAR (R sau CL), utilizate pentru alegerea stării iniţiale şi care sunt prioritare în raport cu celelalte intrări de comandă. Comenzile pe aceste intrări se aplică în lipsa semnalului de tact IT (CK) pentru evitarea erorilor de funcţionare ale bistabilului. - ieşiri: Q şi Q , aflate în stări logice opuse. CBBS de tip T, D şi „master–slave” se realizează fizic şi se utilizează foarte des. 4.3.2. Analiza circuitelor basculante bistabile sincrone Analiza circuitelor logice secvenţiale sincrone şi implicit a circuitelor basculante bistabile sincrone se efectuează asemănător analizei circuitelor asincrone cu deosebirea că în funcţionarea lor intervin impulsurile de sincronizare (tact). 4.3.2.1. Circuite basculante bistabile sincrone de tip R–S Cel mai simplu bistabil, denumit şi „latch” R–S cu tact (ceas), se poate obţine dintr-un CBBA tip R–S cu porţi logice ŞI–NU, la care se adaugă porţile logice suplimentare C şi D (figura 4.13(a)). Funcţionarea schemei logice 1) Cazul CK (IT) = 1 Prezenţa tactului cu nivel ridicat pe intrarea IT (CK) permite deschiderea porţilor C şi D astfel că datele introduse pe intrările R şi S se propagă inversate către porţile A respectiv B ale bistabilului. Rezultă că în intervalele de timp în care CK (IT) = 1, circuitul funcţionează ca un bistabil asincron R–S cu porţi logice ŞI–NU, (analizat în §4.2.1), astfel că şi în acest caz se interzice prezenţa la intrare a combinaţiei RS = 11.

57

R C

R

A

Q

S

CK (IT) (ENABLE) S

D

S

B

Q

(a) Schema logică Intrări CK R S 1

0

0

Q 0 1 1*

R

Q

(c) Simbolul grafic

Ieşiri la t+1 Q 1 Q 1 Q

Q

CK (ENABLE)

Observaţii Se memorează starea anterioară

Setare bistabil Resetare bistabil Configuraţia RS = 11 pe intrări este interzisă Ieşirile memorează starea pe care au avut-o în momentul în care CK (ENABLE) a trecut din 1 în 0 X - stare logică indiferentă (0 sau 1) (b) Tabelul de adevăr 1 1 1 0

0 1 1 X

1 0 1 X

1 0 1*

Figura 4.13: CBBS tip „latch” R–S cu porţi ŞI–NU activat pe palierul superior

2) Cazul CK (IT) = 0 În această situaţie, la ieşirile porţilor C şi D apar semnale 1 indiferent de configuraţia intrărilor R şi S. Dacă se evită şi acum combinaţia RS = 11, se consideră că atâta timp cât IT (CK) = 0, bistabilul R–S cu tact este blocat, adică ieşirile lui memorează („zăvoresc”) stările pe care le-au avut în momentul în care IT a efectuat tranziţia din 1 în 0. Intrarea de tact se mai notează şi cu ENABLE („to enable” = a activa, a valida); deci, dacă există ENABLE = 1 bistabilul R–S cu tact este activat şi se comportă ca un bistabil R–S asincron, iar dacă ENABLE = 0 bistabilul R-S cu tact este dezactivat şi memorează la ieşiri stările avute anterior trecerii intrării ENABLE în 0. Activarea bistabilului se efectuează pe palierul superior, PS, al impulsului de tact. În figura 4.13(b) este prezentat tabelul de adevăr al bistabilului R–S cu tact şi porţi logice ŞI–NU, iar în figura 4.13(c) se arată simbolul grafic al bistabilului cu activare pe palierul superior, activare ce este marcată prin linia îngroşată a palierului impulsului pe nivelul 1. Se poate realiza bistabilul R–S cu tact cu activare pe palierul inferior (nivel logic 0) al impulsului de tact dacă se introduce o poartă inversoare pe intrarea de tact, aşa cum este reprezentat în figura 4.14(a). Simbolul grafic al acestui bistabil este arătat în figura 4.14(b), în care s-a indicat printro linie mai groasă palierul inferior al tactului. Observaţie. Acţiunea de activare pe nivel logic 0 se indică prin forma negată a simbolului variabilei care produce această stare. În cazul de faţă variabila care îndeplineşte această funcţie este intrarea de tact, care se va nota cu CK ( ENABLE ). Circuitul basculant bistabil R–S cu tact memorează starea anterioară în intervalul de timp cât CK ( ENABLE ) = 1, iar atunci când CK ( ENABLE ) = 0 se comportă ca un bistabil R–S fără tact.

58

R

C

R

Q

A

R

IT (CK)

Q CK

( ENABLE )

(ENABLE) D

S

B

S

S

Q

Q

(b) Simbol grafic (a) Schema logică Figura 4.14: CBBS tip „latch” R–S cu porţi ŞI–NU activat pe palierul inferior al impulsului de tact

4.3.2.2. Circuite basculante bistabile sincrone de tip T Un CBBS de tip T se poate construi dintr-un „latch” asincron R–S sau J–K, cu ajutorul unor porţi logice suplimentare. În figura 4.15(a) este prezentat un bistabil sincron de tip T realizat pe baza structurii principale a unui bistabil asincron de tip R–S cu porţi logice ŞI–NU, notate A şi B. Aceste porţi acum dispun de trei intrări. Cea de a treia intrare este utilizată drept intrare de comandă independentă (asincronă), denumite PRESET respectiv CLEAR. PRESET (PR)

C T CK (IT)

R

A

Q Intrări asincr. PR CL 0

S

D

S

B

0

Ieşiri la t +1 Q 1 Q 1 Q Q

Observaţii Nemodificat

Resetare 0 1 0 1 1 0 1 0 Setare Q 1* 1* 1 1 Interzis (*) (b) Tabel de adevăr pentru intrările asincrone

CLEAR (CL) (a) Schema logică Figura 4.15: CBBS tip T cu „latch” R–S cu porţi ŞI–NU activat pe palierul superior al impulsului de tact

Bistabilul este sincronizat pe palierul superior PS al impulsului de tact. Acţiunile intrărilor asincrone sunt sintetizate în tabelul de adevăr din figura 4.15(b). Utilizatorul va evita apariţia combinaţiei PR = 1, CL = 1 la intrările respective. Atunci când PR = 0, CL = 1, bistabilul se resetează, pentru PR = 1, CL = 0 bistabilul se setează, iar dacă PR = 0, CL = 0 ieşirile păstrează aceleaşi stări avute anterior prezenţei acestei combinaţii. Cele trei configuraţii acceptate comandă (iniţializează) bistabilul indiferent de semnalele aplicate pe intrarea de date T sau pe intrarea de tact (sincronizare) IT (CK). În continuare se va analiza un CBBS tip T cu „latch” J–K din figura 4.16(a), care poate fi sintetizat dintr-un bistabil asincron J–K fie cu porţi logice ŞI–NU, (vezi §4.2.2(I)), fie cu

59

porţi logice SAU–NU (vezi §4.2.2(II)). În paragrafele menţionate s-au stabilit ecuaţiile de funcţionare (caracteristice), astfel că: – vezi relaţia (4.8); Q 1 = K  Q  J  Q – vezi relaţia (4.9). Q1 = K  Q  J  Q Deoarece şi acest bistabil se sincronizează pe palierul superior al tactului, rezultă că ecuaţiile intrărilor K, J ale CBBS sunt: (4.10) K = T; J = T. Se înlocuiesc aceste relaţii în ecuaţiile ieşirilor şi se obţin expresiile: (4.11) Q 1 = T  Q  T  Q ; (4.12) Q1 = T  Q  T  Q . Tabelul tranziţiilor este dat în figura 4.16(b), graful circuitului este arătat în figura 4.16(c), iar în figura 4.16(d) este prezentat tabelul de adevăr al unui CBBS tip J–K. Simbolul grafic al unui CBBS tip T oarecare are reprezentarea din figura 4.16(e).

PRESET (PR) T

T

J S

IT (CK)

K

Q Q

0

Q 1

s0 s0 s1 0 s1 s1 s0 1 (b) Tabelul tranziţiilor T

CLEAR (CL) (a) Schema logică

1

s

T

T s1/1

s0/0

T

T 0 0 1 1

Q Q 1 Obs. ieşiri 0 0 nemodif. 1 1 setare 0 1 resetare 1 0 (d) Tabel de adevăr PRESET (PR) Q T CK

Q

(c) Graful

IT CLEAR (CL) (e) Simbol grafic Figura 4.16: CBBS tip T cu „latch” J–K activat pe palierul superior al impulsului de tact

Din tabelul de adevăr se observă că CBBS tip T nu îşi schimbă ieşirile în absenţa semnalelor la intrarea de date (T = 0) dar îşi modifică starea odată cu aplicarea impulsului indiferent de starea anterioară, adică ieşirea îşi complementează starea avută anterior. Astfel, CBB împarte la 2 semnalul aplicat la intrare şi din această cauză se utilizează în circuite de numărare a impulsurilor sau în divizoare de frecvenţă. Denumirea de bistabil sincron T a fost dată de iniţiala cuvântului „toggle” (basculare) şi se poate sintetiza din porţi logice standard sau din alte bistabile sincrone. 4.3.2.3. Circuite basculante bistabile sincrone de tip D Şi aceste bistabile se pot sintetiza din „latch”-uri R–S sau J–K. În figura 4.17(a) este dată schema unui bistabil sincron tip D cu „latch” R–S, cu acţionare pe palierul superior PS al tactului. Inversorul I reprezintă poarta suplimentară în comparaţie cu schema logică a CBBS tip R–S cu tact din figura 4.13(a). Acest fapt conduce la eliminarea restricţiei impusă intrărilor (interzicerea apariţiei combinaţiei RS = 11) pentru bistabilul amintit (vezi §4.3.2(I)). Acum vor exista numai configuraţiile RS = 01 sau RS = 10. Funcţionarea schemei logice

60

R C

R A

W Q R



I

CK

I D

S

S

B

Q

Q

S

Q

D CK (ENABLE) D

IT (CK) (a) Schema logică Intrări Ieşiri la t+1 CK D Q 1 Q1 0

X

Q

(c) Simbol grafic Observaţii

Ieşirile memorează starea pe care au avut-o în momentul în care CK (ENABLE) a trecut din 1 în 0 1 0 0 1 Resetare bistabil 1 1 1 0 Setare bistabil X – stare logică indiferentă (0 sau 1). (b) Tabel de adevăr Figura 4.17: CBBS tip D cu „latch” R–S activat pe palierul superior al impulsului de tact Q

1) Cazul IT (CK) = 0 În absenţa tactului semnalele R şi S vor fi ambele tot mereu în 1 astfel că partea asincronă a bistabilului va memora starea anterioară, adică stările ieşirilor avute în momentul în care CK (IT) a trecut din 1 în 0. Circuitul este blocat indiferent de nivelul intrării de date D, marcat cu X în tabelul de adevăr din figura 4.17(b). Se spune că bistabilul „zăvoreşte” („îngheaţă”) starea pe care a avut-o atunci când se produce tranziţia 1 → 0 a intrării de sincronizare IT (CK), iar notaţia W  Q este corectă. 2) Cazul IT (CK) = 1 Pentru D = 0 valorile intrărilor vor fi RS = 10, situaţie în care porţile logice C şi D ale părţii asincrone devin inversoare şi, conform tabelului de adevăr (tabelul 4.1) al CBBA R–S cu porţi ŞI–NU din §4.3.2.1(I), ieşirile vor fi Q = 0, W  Q = 1. Dacă D = 1, atunci ieşirile vor avea configuraţia Q = 1, W  Q = 0 deoarece RS = 01. Se observă că ieşirea Q urmăreşte intrarea de date D astfel: dacă D = 0 la un moment dat t, atunci Q devine 0 după un timp scurt de întârziere datorat propagării semnalului prin circuit; când D = 1, ieşirea directă Q ia valoarea 1 după terminarea propagării informaţiei prin bistabil. Acţionarea bistabilului sincron de tip D se poate efectua şi pe palierul inferior al tactului prin aplicarea acestuia la intrarea unui alt inversor, IT, aşa cum se arată în figura 4.18(a). Acest bistabil este blocat atâta timp cât IT (CK) = 1 astfel că ieşirile sale memorează valorile lor pe care le-au avut din momentul când IT (CK) a devenit egal cu 1. În perioada de timp cât IT (CK) = 0 ieşirea Q urmăreşte intrarea D (dacă la momentul t, D = 0 atunci Q = 0, iar când D = 1 ieşirea Q trece în 1, ambele basculări având loc după consumarea timpilor de propagare prin bistabil). Denumirea de bistabil D provine de la iniţiala cuvântului „delay” (întârziere).

61

R C

R

A

R

Q

CK

I

I D

S

S

B

Q

Q

Q

S IT

IT D CK (ENABLE) D IT (CK) (b) Simbol grafic (a) Schema logică Figura 4.18: CBBS tip D cu „latch” R–S activat pe palierul inferior al impulsului de tact

Ca şi în cazul CBBS de tip T, se va efectua analiza asupra unui bistabil sincron tip D sintetizat dintr-un „latch” J–K asincron cu porţi logice SAU–NU, acţionat pe palierul superior al impulsului de tact. Se obţine logigrama din figura 4.19(a). Efectele intrărilor asincrone, PRESET şi CLEAR asupra acestui bistabil sunt aceleaşi ca în cazul CBBS tip T şi au fost prezentate în figura 4.15(b). Se reaminteşte că acţiunile acestor intrări sunt independente de stările intrării de date şi ale ieşirilor, ele fixând starea iniţială a bistabilului sincron, dacă se aplică în lipsa impulsului de tact. Ecuaţiile de funcţionare pentru CBBS tip D cu „latch” J–K se determină cu ajutorul relaţiilor (4.8), respectiv (4.9) obţinute la §4.2.2, indiferent de tipul porţilor logice utilizate la sintetizarea părţii asincrone a bistabilului, SAU–NU sau ŞI–NU. – vezi relaţia (4.8); Q 1 = K  Q  J  Q

Q1 = K  Q  J  Q

– vezi relaţia (4.9).

PRESET (PR) Q

J

D

S CK (IT)

I

D Q 0 1

Q

K

1

0 1 0 1 Q 1 (b) Diagrama Karnaugh

CLEAR (CL) (a) Schema logică D 0 1 Q 1 s s0 s0 s1 0 s1 s1 s0 1 (c) Tabelul tranziţiilor

0

D s0/0

D

D

D

s1/1

(d) Graful

Figura 4.19: CBBS tip D cu „latch” J–K activat pe palierul superior al impulsului de tact

62

Deoarece bistabil este acţionat pe palierul superior al tactului, rezultă că ecuaţiile intrărilor K, J ale CBBS sunt: (4.13) K = D ; J = D. Se înlocuiesc aceste relaţii în ecuaţiile ieşirilor de mai şi se obţin ecuaţiile caracteristice (de funcţionare) ale CBBS tip D, astfel că rezultă: (4.14) Q1 = D ; (4.15) Q1 = D . În figura 4.19(b) este dată diagrama Karnaugh a ieşirii la momentul următor, Q+1, tabelul tranziţiilor este prezentată în figura 4.19(c), iar graful circuitului este arătat în figura 4.19(d). Tabelul de adevăr (simplificat) al unui CBBS tip D este reprezentat în figura 4.20 (a), iar în figurile 4.20(b) sunt arătate simbolurile grafice ale bistabilului cu acţionare pe palierul superior al tactului (sincronizare pe front crescător) – stânga, respectiv pentru bistabilul cu acţionare pe palierul inferior al tactului (sincronizare pe front descrescător) – dreapta . PRESET (PR) D 0 0 1 1

Q 0 1 0 1

Q 1

0 0 1 1

Observaţii ieşirea Q+1 urmăreşte starea intrării D

PRESET (PR)

Q D Q

CK

Q D

CK

Q

IT

IT CLEAR (CL) CLEAR (CL) (b) Simboluri grafice (a) Tabel de adevăr Figura 4.20: CBBS tip D

4.3.2.4. Circuite basculante bistabile sincrone de tip „master–slave” Aşa cum s-a arătat în §4.3.1 privind modul de sincronizare de tip master–slave, un astfel de CBBS este de fapt alcătuit din două „latch”-uri R–S sau J–K legate în serie, primul numindu-se MASTER (stăpân), iar cel de al doilea SLAVE (sclav). În figura 4.21 este dat un bistabil sincron Master–Slave, pe scurt CBB tip M–S, realizat cu două circuite basculante bistabile sincrone cu „latch”-uri R–S de tip D, pe baza schemei logice din figura 4.17(a). Inversorul I are rolul de a comanda în antifază intrările de tact ale celor două bistabile: dacă CK1 = 0, atunci şi CK2 = 1 şi invers. Funcţionarea schemei În intervalul de timp în care CK = 1 şi CK1 = 1, ieşirea Q1 a primului bistabil urmăreşte valorile intrării de date D, adică se pot introduce datele, fiind activat bistabilul M. Deoarece CK2 = 0, cel de al doilea bistabil este blocat şi ieşirile sale, care sunt totodată şi ieşirile CBB M–S, memorează stările pe care le-au avut în momentul trecerii tactului CK din 0 în 1 (inhibarea bistabilului S). Dacă CK trece din 1 în 0 la momentul t, primul bistabil se blochează (inhibarea bistabilului M), deoarece CK1 = 0, reţinând la ieşire valoarea Q1 corespunzătoare nivelului intrării D în momentul t. Pentru ca circuitul să funcţioneze corect, intrarea D trebuie să fie fixă într-un interval de timp (t – tSET UP, t + tHOLD), în care tSET UP reprezintă timpul de stabilizare a intrării D în raport cu frontul activ t al tactului, iar tHOLD este intervalul de timp cât mai trebuie menţinută intra-

63

rea D după apariţia frontului activ al tactului. Această caracteristică conduce la denumirea de circuit cu eşantionare şi memorare a CBB M–S tip D.

R1

Q

Q

1

2

Q

R2 S

M

I1

Q

S2

1

Q

2

Q

CK1

S1

I

IT2 (CK2)

D IT (CK) Figura 4.21: Schema logică a CBBS tip Master–Slave cu „latch”-uri R–S

Ieşirile Q1 şi Q1 ale bistabilului M, care urmăresc valorile D şi D ale intrării CBB M–S, sunt transmise la intrările S2, R2 ale bistabilului S care este deschis, deoarece CK2 = CK = 1. Fie tp1 şi tp2 timpii de propagare a semnalelor prin primul bistabil deschis respectiv prin al doilea bistabil deschis, iar TCK perioada impulsului de tact. Ieşirile Q1 şi Q1 devin stabile după un interval t+ tp1, după care al doilea bistabil prelucrează informaţia primită pe intrările sale R2, S2 şi la ieşirile sale elaborează informaţia după încă un timp tp2. Astfel, ieşirile Q (= Q2) şi Q (= Q2 ) ale CBB tip M–S devin stabile în momentul t + tp1+ tp2. Aceste ieşiri nu se modifică din momentul t + tp1+ tp2 până în momentul t + TCK /2, dacă se consideră că factorul de umplere al tactului este 1/2. Deci, al doilea bistabil este deschis în intervalul de timp (t, t + TCK /2). În momentul t + TCK /2 tactul CK trece din 1 în 0, moment în care se deschide primul CBB, iar al doilea bistabil care fusese deschis, se blochează acum pe durata (t+TCK /2, t +TCK). Rezultă că, ieşirile Q şi Q , care au fost fixe pe durata ( t + tp1+ tp2, t + TCK /2), rămân fixe şi în intervalul (t + TCK /2, t + TCK). Deci, ieşirile Q şi Q ale CBB tip M–S rămân stabile pe durata ( t + tp1+ tp2, t + TCK), iar valorile lor depind de valoarea intrării D în momentul t al trecerii tactului CK din 1 în 0. Dacă timpii de propagare prin cei doi bistabili, tp1 respectiv tp2, sunt foarte mici, se poate considera că ieşirile Q şi Q ale CBB tip M–S iau în momentul t o valoare care depinde de valoarea intrării D a CBB tip M–S, valoare pe care o memorează apoi o întreagă perioadă de tact TCK (până când frontul tactului activează din nou primul bistabil). În aceste condiţii, un CBB tip M–S realizează o eşantionare a intrării D urmată de o memorare, eşantionările având loc în momentele apariţiei fronturilor active ale tactului. Datele

64

eşantionate sunt menţinute neschimbate la ieşirea Q pe o perioadă a tactului. În acelaşi timp circuitul realizează o întârziere cu o perioadă de tact a intrării D. În figura 4.22(a) este prezentat tabelul de adevăr, ia în figura 4.22(b) simbolul grafic al unui CBB M–S tip D. Cerculeţul de pe intrarea de tact indică faptul că CBB M–S tip D este activ la trecerea tactului din 1 în 0.

Intrare Ieşiri la (t+TCK) la momentul t Q Q D 0 0 1 1 1 0 (a) Tabel de adevăr

CL

PR

R

S

D CK

Q Q

Q (b) Simbol grafic

Figura 4.22: Reprezentări ale CBBS tip Master–Slave cu „latch”-uri R–S

Intrările de iniţializare R şi S au rolul intrărilor de comandă asincrone CLEAR, respectiv PRESET, ele asigurând funcţionarea bistabilului conform tabelului de adevăr din figura 4.22 (a) dacă sunt inactive (CL = 0, PR = 0). Atunci când CL = 1, PR = 0, ieşirea Q este ţinută în 0, indiferent de valorile intrării de date D şi a tactului CK (are loc ştergerea bistabilului). Dacă CL = 0, PR = 1, ieşirea Q este fixată în 1, indiferent de intrarea D şi tactul CK (se înscrie valoarea 1 în bistabil). Se va evita combinaţia interzisă CL = 1, PR = 1. În figura 4.23 sunt prezentate diagramele de semnale corespunzătoare funcţionării unui CBB tip M–S activat pe frontul posterior al tactului (atunci când CK trece din 1 în 0). CL t PR t CK t D t Q+1 t Figura 4.23: Diagramele de funcţionare a CBBS tip Master– Slave activat pe frontul posterior al tactului

65

În figura 4.24(a) se prezintă un CBB tip M–S activat pe frontul anterior (crescător) al tactului (atunci când CK trece din 0 în 1), iar în figura 4.24(b) simbolul grafic al bistabilului.

R1

Q

Q

1

2

Q

R2 I1

Q

Q

S2

1

2

Q

S1 S

CK1

M

I

IT2 (CK2)

D IT (CK) (a) Schema logică

D

CL

PR

R

S Q

CK Q Q (b) Simbol grafic Figura 4.24: Reprezentări ale CBBS tip Master–Slave activat pe frontul anterior al tactului

***

66

CAPITOLUL 5 CIRCUITE INTEGRATE LOGICE 5.1. Caracteristicile circuitelor logice 5.1.1. Introducere Circuitele logice constituie modelul fizic al funcţiilor logice bivalente, caracterizate aşa cum se cunoaşte, prin două stări: adevărat, reprezentată prin numărul 1 şi fals, reprezentată prin numărul 0. Un sistem fizic, care în funcţionarea sa poate avea două stări distincte sub acţiunea unei comenzi exterioare, poate materializa variabile sau funcţii booleene. Asemenea sisteme conţin fie piese în mişcare (contactele releelor electromagnetice, elemente pneumatice sau hidraulice în mişcare), fie nu au piese în mişcare (dispozitive electronice, elemente pneumatice sau hidraulice fără piese în mişcare, dispozitive optoelectronice, materiale magnetice cu ciclu de histerezis dreptunghiular etc.). Elementelor fără piese în mişcare (statice), care în funcţionare se bazează pe fenomene electrice, li se asociază cifrele binare 0 şi 1, fie nivelelor de tensiune, fie semnalelor sub formă de impulsuri. Astfel, în cazul nivelelor de tensiune cifra 0 corespunde unei valori scăzute a tensiunii (în jurul a zero volţi), iar cifra 1 corespunde unui nivel distinct în valoare absolută faţă de nivelul atribuit cifrei 0. În cazul impulsurilor, absenţa impulsurilor este materializată cu cifra 0, iar prezenţa impulsului cu cifra 1. Elementele statice cu fluid au asociată cifra 0 unui nivel scăzut de presiune, iar cifra 1 corespunde unui nivel de presiune distinct de primul. În concluzie, elementele statice cu acţiune discretă funcţionează cu o logică de nivele. Cele mai utilizate circuite logice cu elemente statice sunt cele care au în componenţă dispozitive semiconductoare care pot funcţiona în regim de comutaţie, având astfel două stări distincte stabile: blocat sau saturat, corespunzătoare celor două cifre binare. 5.1.2. Caracteristicile circuitelor logice cu dispozitive semiconductoare Circuitele logice sunt sunt caracterizate în principal de: nivelele logice, factorii de încărcare la ieşire şi intrare, consumul de putere, gradul de imunitate la perturbaţii şi parametrii semnalelor. 1) Nivelele logice pot corespunde logicii pozitive sau logicii negative, sub forma nivelelor de tensiuni (figura 5.1(a)) Logica pozitivă atribuie cifra binară 1 nivelului mai ridicat şi pozitiv de tensiune (notat VH/HIGH/SUS), iar cifra binară 0 se atribuie nivelului celui mai coborât şi pozitiv de tensiune, apropiat de zero volţi (notat VL/LOW/JOS). Circuitele care funcţionează în logică pozitivă sunt cele realizate cu tranzistoare bipolare din seria TTL (Transistor–Transistor–Logic) şi cu tranzistoare unipolare din seria MOS (Metal–Oxid–Semiconductor), cu structură complementară (CMOS) sau cu structură NMOS. Logica negativă atribuie cifra 1 nivelului de tensiune cel mai negativ (VH), iar cifra binară 0 se asociază nivelului negativ apropiat de zero volţi (VL), aşa cum este cazul circuitelor Intrări VA VB VL VL VL VH VH VL VH VH

Ieşire VC VH VH VH VL

Intrări VA VB 1 1 1 0 0 1 0 0

Ieşire VC 0 0 0 1

Intrări VA VB 0 0 0 1 1 0 1 1

Ieşire VC 1 1 1 0

AB  C ABC (a) Nivele de tensiuni (b) Logica negativă (b) Logica pozitivă

Figura 5.1: Nivele de tensiuni şi logicile binare

67

logice realizate în tehnologie unipolară cu structură PMOS. Un acelaşi circuit logic îndeplineşte două funcţii logice distincte, în raport cu tipul logicii utilizate. Astfel, o poartă SAU–NU în logică negativă (figura 5.1(b)) realizează funcţia ŞI–NU în loginivel 1 (H) că pozitivă (figura 5.1(c)). zonă Din cauza imperfecţiunilor proceselor tehnolointerzisă gice parametrii circuitelor logice pot varia (fenomenul de dispersie a parametrilor), astfel că se acordă o nivel 0 (L) toleranţă celor două nivele (figura 5.2). Valorile nivelelor logice de tensiune depind de Figura 5.2: Toleranţele nivelelor tipul familiei de circuite integrate şi de tensiunea de logice alimentare notată Vcc (vezi tabelul de mai jos). O familie de circuite integrate logice este caracterizată, oricare ar fi funcţia logică realizată, de un anumit circuit component, printr-o structură de bază unică, comună tuturor circuitelor din familie, denumită poartă logică.

Nivelele logice de tensiune Familia logică TTL CMOS NMOS PMOS

Nivele logice Tensiune de alimentare VH VL Vcc (V) (V) (V) +5 2  0,8 3,5...4,95 0,05...1,5 +5 7...9,95 0,05...3 +10 11...14,95 0,05...4 +15  –8  –2  –30

2) Factorii de încărcare la ieşire şi la intrare Factorul de încărcare la ieşire FO (Fan–Out) este un număr ce reprezintă capabilitatea ieşirii unui circuit numeric de a comanda intrările altor circuite numerice similare. Pentru fiecare familie de circuite se defineşte drept o „unitate de sarcină” ca fiind curentul de intrare al unui cir-cuit tipic din familia respectivă garantat de producător. Astfel, FO se obţine pe baza raportului dintre valoarea curentului de ieşire maxim garantat şi numărul de „unităţi de sarcină” comandate de ieşirea circuitului respectiv. Deoarece nivelele de tensiune sunt diferite pentru cele două stări, atunci şi FOL ≠ FOH. Astfel, la seria normală TTL FOL = 10, iar FOH = 20, rezultând un factor global de încărcare FO = 10. În cazul circuitelor MOS curenţii de încărcare sunt practic neglijabili, iar intrarea are caracteristica unui condensator care poate lua valori importante atunci când se încarcă o ieşire a circuitului cu mai multe intrări. Se înrăutăţeşte mult comportarea dinamică a circuitului de comandă, astfel că FO limitează numărul de intrări conectate la o ieşire, garantând valoarea maximă a a timpului de propagare tp. Factorul de încărcare la intrare FI (Fan–Input) are valoarea egală cu unitatea, pentru intrarea unui circuit ce este echivalentă cu o „unitate de sarcină”. 3) Consumul de putere Puterea consumată depinde de starea logică în care se găseşte ieşirea circuitului numeric. În curent continuu se defineşte o putere medie consumată P, de forma: P  PL (5.1) P = H , 2 unde PH şi PL sunt puterile consummate pe cele două nivele de tensiune la ieşire. Puterea consumată în regim de comutare este mai mare decât valoarea de curent conti-

68

nuu deoarece creşte odată cu frecvenţa semnalului de ieşire şi cu numărul de sarcini (capacităţi) conectate la ieşire. Această putere are o valoare mai mică în cazul circuitelor CMOS. Observaţii: a) Nu se vor inversa polarităţile tensiunilor de alimentare deoarece se distrug circuitele. b) Pentru circuitele CMOS tensiunea pozitivă va fi cu cel puţin 0, 5V mai mare decât tensiunea negativă. 4) Imunitatea la perturbaţii reprezintă amplitudinea maximă a zgomotului care, suprapus peste semnalul util de intrare al unui circuit numeric, nu produce comutări eronate (false) ale semnalului de la ieşirea circuitului respectiv (figura 5.3). Producătorii de circuite garantează valorile limită ale tensiunilor din circuit, astfel: VOA zgomot A  VIL max – tensiunea maximă recunoscută la intrare drept nivel de tensiune VL; zgomot  VIH min – tensiunea minimă acceptată la in- VOA trare drept nivel de tensiune VH; 1 comutare  VOL max – valoarea maximă a tensiunii VL falsă la ieşirea circuitului; t 0  VOH min – valoarea minimă a tensiunii VH la ieşirea circuitului. Figura 5.3: Comutare falsă Pentru conectarea a două sau mai multe circuite în serie (cascadă), trebuie satisfăcute inegalităţile de mai jos: (5.2) VIL max > VOL max şi VIH min < VOH min. Imunitatea la perturbaţii se exprimă cu ajutorul marginii de zgomot M, în funcţie de starea logică a circuitului: (5.3) ML = VIL max – VOL max; MH = VOH min – VIH min. Pentru un circuit TTL se garantează o margine minimă M = 0,4V. 5) Caracteristicile semnalului Majoritatea circuitelor digitale prelucrează şi elaborează informaţii sub formă de semnale dreptunghiulare (numerice), aşa cum este cazul circuitelor logice combinaţionale şi secvenţiale. În schimb, convertoarele analog–numerice (CAN) şi numeric–analogice (CNA) utilizează atât semnale analogice cât şi numerice. Se vor analiza atât caracteristicile semnalelor circuitelor logice combinaţionale cât şi ale circuitelor logice secvenţiale. Se cunoaşte că circuitele logice combinaţionale (CLC) sunt automate finite fără memorie, ale căror ieşiri la un moment dat sunt determinate numai de combinaţia semnalelor (variabilelor) de intrare aplicate în acel moment (§1.5). Se consideră o poartă logică inversoare (NU) căruia i se aplică un semnal la intrare (figura 5.4). Pe durata funcţionării acestor circuite semnalele procesate sunt caracterizate de timpul de creştere, timpul de cădere, timpul de propagare şi timpul de tranziţie. a) Timpul de creştere tcr (rise time) reprezintă intervalul de timp în care semnalul de intrare evoluează între 10% şi 90% din nivelul tensiunii VH. b) Timpul de cădere tc (fall time) este intervalul de timp în care semnalul de intrare scade de la 90% la 10% din valoarea tensiunii VH. c) Timpul de propagare tp (propagation time) reprezintă intervalul de timp scurs de la aplicarea unui semnal la intrarea unui circuit logic până la obţinerea la ieşire a răspunsului corect. Se măsoară experimental două valori distincte: tpHL, corespunzătoare trecerii din 1 în 0 a ieşirii şi tpLH, la tranziţia ieşirii din 0 în 1, având ca referinţă 50% din amplitudinea impulsului. În general, cele două valori pot diferi, în special la circuitele CMOS. De exemplu, o

69

poartă SAU (CMOS) are tpHL = 45ns, iar tpLH = 50ns, la o tensiune de alimentare Vcc = +15V. V VH

tcr

tc 1 90% 50% 10% 0

Intrare VL ttHL

V VH

t

ttLH 1 10%

Ieşire

50% 90% 0 t

VL tpHL

tpLH

Figura 5.4: Caracteristicile semnalelor prin poarta logică inversoare NU

În regim dinamic se ia în considerare timpul mediu de propagare tp: t pHL  t pLH (5.4) tp = . 2 Valoarea timpului de propagare depinde direct de gradul de încărcare a ieşirii circuitului, crescând odată cu creşterea numărului de sarcini, astfel că pentru poarta SAU (CMOS) valorile maxime sunt tpHL = 90ns respectiv tpLH = 110ns. Circuitele TTL au tp = 3...35ns. Circuitele logice secvenţiale (CLS) sunt caracterizate în plus faţă de CLC şi de timpul de stabilire ts (tsLH respectiv tsHL). Acest lucru se datorează faptului că semnalele de ieşire ale CLS sunt funcţii atât de semnalele aplicate la intrare la un moment dat, cât şi de semnalele aplicate la momentele anterioare. Funcţionarea acestor circuite poate fi condiţionată de prezenţa impulsurilor de sincronizare (tact), cum este cazul CBB sincrone din figura 5.5. Timpul de stabilire ts (set-up) este intervalul de timp scurs dintre momentul apariţiei informaţiei la o intrare de date şi momentul prezenţei impulsului de tact pe intrarea de tact/ceas (clock – CK). Referinţa se consideră la valoarea de 50% din amplitudinea impulsului. Se măsoară două valori tipice: tsLH şi tsHL, care au valori uzuale de 50ns, maxim 100ns, pentru circuitele CMOS alimentate la +15V. Semnalul de tact este caracterizat şi prin durata (lăţimea) impulsului tl (pulse width), în cele două stări: tlL şi tlH. O valoare tipică pentru circuitele în tehnologie CMOS este: tlL = tlH = 25ns, la tensiunea Vcc = +15V. Frecvenţa impulsurilor de tact fCK se calculează cu relaţia: 1 (5.5) fCK = . tlL tlH 5.1.3. Familii de circuite integrate logice O familie de circuite integrate logice este caracterizată, oricare ar fi functia logică realizată de un anumit circuit component, printr-o structură de bază unică, comună tuturor circuitelor din familie, denumită poartă logică. În funcţie de numărul de porţi logice incluse într-o singură capsulă de circuit integrat se determină complexitatea circuitului sau gradul de integrare al acestuia: 70

V VH VL V VH VL V VH

tcr

tc

Intrare tact

t

tlH

tlL

Intrare date

t

tsLH

tsHL

tpLH

ttHL

Ieşire t

VL ttLH

tpHL

Figura 5.5: Caracteristicile semnalelor unui circuit basculant bistabil sincron 1) SSI (Small Scale Integration): 1…12 porţi logice; 2) MSI (Medium Scale Integration): 12…100 porţi logice; 3) LSI (Large Scale Integration): peste 100 porţi logice; Aceste familii sunt realizate prin integrarea tranzistoarelor bipolare. 4) VLSI (Very Large Scale Integration): până la 500.000 tranzistoare/cip; 5) SLSI (Super Large Scale Integration): până la 106 tranzistoare/cip; Ambele familii au integrate tranzistoare unipolare. 6) I2L (Integrated Injection Logic) – utilizează tranzistoare bipolare caracterizate prin viteză mare de lucru şi grad scăzut de integrabilitate, în combinaţie cu tranzistoarele unipolare (MOS) cu grad foarte mare de integrabilitate dar cu viteză de lucru mai redusă. Avantajele circuitelor integrate logice sunt: - stabilitatea şi imunitatea considerabil ridicate la perturbaţii; - siguranţă mare în funcţionare, chiar atunci când variază parametrii electrici ai elementelor componente; - exactitatea circuitelor, datorită absenţei punctelor de ajustare sau a circuitelor de compensare; - afişare digitală; Primul circuit integrat logic a fost realizat în S.U.A. de către J.S. Kilby în anul 1958, fiind o copie exactă în versiune integrată, a unui circuit logic cu componente discrete. În circuitele integrate funcţiile rezistoarelor, condensatoarelor, diodelor şi tranzistoarelor sunt îndeplinite de anumite configuraţii realizate pe suporturi din materiale semiconductoare (de obicei siliciul). 5.2. Circuite integrate logice cu tranzistoare bipolare 5.2.1. Generalităţi Primele circuite integrate au fost realizate cu tranzistoare bipolare, iar dezvoltarea tehnologiilor de integrare au permis obţinerea succesivă a unor familii de circuite integrate: a) RTL rezistor–tranzistor–logic; b) RCTL rezistor–tranzistor–logic cu condensator de accelerare; c) DCTL tranzistor–logic cu cuplaj direct;

71

d) DTL diodă–tranzistor–logic; e) TTL tranzistor–tranzistor–logic. Familia de circuite TTL este cea mai performantă, având viteză mare de lucru (timpi de propagare tp mici) şi putere disipată Pd redusă. Funcţionarea acestor circuite integrate se bazează pe integrarea tranzistoarelor bipolare. Tranzistoarele biploare conţin două joncţiuni semiconductoare de tip pn, obţinerea curentului electric de conducţie datorându-se purtătorilor de sarcină majoritari şi minoritari şi la care curentul de colector este controlat cu ajutorul curentului de bază. Tranzistoarele bipolare pot fi cu structură pnp sau npn (figura 5.6). – C VCE < 0 + VBE < 0 B – IB < 0 IC < 0 + E + – E B C

+ C VCE > 0 VBE > 0 – B IB > 0 + IC > 0 – E – + E B C

– + (a) Tranzistor pnp (b) Tranzistor npn Figura 5.6: Tranzistoare bipolare

Pentru realizarea unei structuri pnp se utilizează două difuzii cu ajutorul cărora se obţin cele două joncţiuni în strat p, în urma cărora se definesc ariile joncţiunilor emitor–bază (EB) respectiv colector–bază (CB) şi ariile pentru contactele metalice (pad-uri) ale terminalelor E, B, C. Contactele metalice se utilizează pentru obţinerea componentelor discrete, ele lipsind în cazul unor scheme complexe ale circuitelor integrate. La funcţionarea normală, joncţiunea EB este polarizată direct, iar joncţiunea CB invers. Efectul de tranzistor apare când grosimea bazei este mai mică decât lungimea de difuzie a purtătorilor de sarcină injectaţi de emitor. Purtătorii majoritari de sarcină sunt golurile care vor difuza în număr mare din emitor în bază determinând un curent de goluri important atunci când joncţiunea EB este polarizată direct. Curentul determinat de difuzia electronilor din bază în emitor este neglijabil. Cea mai mare parte a golurilor difuzate din emitor în bază trec în colector, sub acţiunea câmpului electric de la joncţiunea CB, determinând un curent invers al joncţiunii CB. Restul de goluri se vor recombina cu electronii din bază, ceea ce conduce la nesatisfacerea condiţiei de neutralitate electrică a bazei. Baza redevine neutră dacă de la sursă (emitor) vor sosi electroni în bază stabilindu-se astfel curentul de recombinare. Simultan cu transportul golurilor din bază în colector, câmpul electric puternic al joncţiunii CB va transporta electronii minoritari din colector în bază determinând un curent rezidual notat ICB0 foarte mic. În final, curentul de colector IC este dat de relaţia: (5.6) IC   (IE + ICB0), unde IE este curentul de emitor şi  câştigul static (amplificarea) în curent. În concluzie, curentul joncţiunii EB, practic egal cu curentul de colector, a fost transferat dintr-un circuit având rezistenţa electrică mică (joncţiunea EB polarizată direct) într-un circuit cu rezistenţă electrică mare (joncţiunea CB polarizată invers). Astfel, curentul invers al joncţiunii CB este comandat de curentul direct al joncţiunii EB, ceea ce reprezintă efectul de

72

tranzistor. iC În mod asemănător se desfăşoară procesele şi I în tranzistorul npn, unde purtătorii majoritari de sarIBsat ICsat B IB = ct. cină sunt electronii. IC Funcţionarea tranzistoarelor bipolare poate fi A IB descrisă şi cu ajutorul caracteristicilor statice. Cea II mai importantă familie de caracteristici este caracteICB0 IB = 0 ristica de ieşire iC = f (vCE), având ca parametru cuvCE III rentul de bază IB (figura 5.7). 0 VCE O familie de caracteristici reprezintă depenVCEsat denţa a două mărimi, păstrând cea de a treia mărime Figura 5.7: Familia caracteristicii constantă (parametru). Tranzistorul poate funcţiona ca amplificator sau oscilator în regiunea activă nor- statice de ieşire iC = f(vCE)| IB = ct. mală II, în care punctul A este punctul static de funcţionare de coordonate IC, VCE . Aceste funcţii se utilizează în circuitele analogice. În circuitele numerice se foloseşte regimul de comutaţie al tranzistorului, caracterizat de zona de blocare III, în care IB ≤ 0 şi zona de saturaţie I, în care curentul de bază atinge valoarea IBsat. În această zonă punctul B de pe caracteristică are coordonatele ICsat, VCEsat . Deci, funcţionarea tranzistorului în regim de comutaţie presupune secvenţa blocat–saturat sau saturat–blocat. Celor două stări li se alocă cifra 1 pentru blocare respectiv cifra 0 pentru saturaţie. Familia TTL cuprinde mai multe variante (serii) – vezi tabelul 5.1. Tabelul 5.1: Familia TTL de circuite integrate logice Nr. crt.

Normală (standard) Rapidă

54xxx 74xxx 54Hxxx 74Hxxx

Temperatură de funcţionare (°C) –55..+125 0…...+70 –55...+125 0…...+70

3

Putere redusă

54Lxxx 74Lxxx

–55...+125 0…...+70

4,50..5,50 4,75..5,25

35 35

1 1

4

Schottky normală Schottky de putere redusă

54Sxxx 74Sxxx 54LSxxx 74LSxxx

–55...+125 0……+70 –55...+125 0.….+70

4,50..5,50 4,75..5,25 4,50..5,50 4,75..5,25

3 3 10 10

22 22 2 2

1 2

5

Serie

Indicativ general

Tensiune de alimentare Vcc (V) 4,50..5,50 4,75..5,25 4,50..5,50 4,75..5,25

tp (ms)

Pd (mW)

Indicativ România

10 10 6 6

10 10 22 22

CDB4xx EM CDB4xx E CDB4xx HEM CDB4xx HE –

– 54LSxx 74LSxx

5.2.2. Poarta logică fundamentală pentru seria TTL normală Circuitul logic fundamental al familiei TTL normală îl constituie poarta logică ŞI–NU (NAND), a cărei schemă logică este dată în figura 5.8. Schema electrică a circuitului aparţine unei porţi logice ŞI–NU cu două intrări, A şi B, protejate de diodele D1 respectiv D2 împotriva unor aplicări accidentale de tensiuni negative pe intrări. Nivelele de tensiune ce se pot aplica pe cele două intrări sunt: (5.7) VIHmin = 2V (nivel 1) (5.8) VILmax = 0,7…0,8V (nivel 0) Tensiunile de ieşire garantate au valorile: (5.9) VOLmax = 0,4…0,5V (nivel 0) (5.10) VOHmin = 2,4…2,7V (nivel 1) 73

Vcc (+5V) R1 4kΩ

A B D1

+5V (0,2V)

R4 1,6kΩ

2,1V (0,9V) 1,4V T1 (0,2V)

+5V D2

R2 130Ω

R3 1kΩ

0,9V (3,8...5V) T2

T3

A

f

B Simbol

D

0,2V (2,4...5V)

0,7V (0V)

f  AB

T4 GND

Figura 5.8: Poarta logică fundamentală pentru seria TTL normală

Tensiunea de alimentare este tipic Vcc = +5V, iar curenţii absorbiţi în raport de cele două stări de la ieşirea circuitului sunt: (5.11) Ic.c = 0,6…3mA, pentru VOL (nivel 0) (5.12) Ic.c. = 0,2…2,5mA, pentru VOH (nivel 1) Curenţii absorbiţi la cele două intrări sunt: (5.13) IILmax = 0,4…1,6mA (nivel 0) (5.14) IIHmax = 20…50A (nivel 1) Curenţii disponibili la ieşirea porţii au valorile: (5.15) IOHmin = 4…20mA (nivel 1) (5.16) IOLmin = 0,4…1mA (nivel 0) Valorile tipice ale timpilor de propagare sunt: (5.17) tpLH = 6…12ns (5.18) tpHL = 6,5…10ns. Valorile enumerate mai sus sunt caracteristice pentru circuitele româneşti din seria normală, seria rapidă şi seria Schottky de putere redusă. Circuitul de intrare al porţii conţine tranzistorul T1 de tip multiemitor, în emitoarele căruia sunt conectate intrările. Tranzistorul T2 are rol de defazor şi asigură comanda în contratimp a tranzistoarelor T3 şi T4 din circuitul de ieşire. Configuraţia tranzistoarelor T3 şi T4 este de tip „totem pole”, care nu permite funcţionarea simultană a celor două tranzistoare în regim de saturaţie, astfel că atunci când un tranzistor este blocat celălalt este saturat. Funcţionare 1) Dacă ambele intrări, A şi B, sunt conectate la nivelul VH, de exemplu la tensiunea de alimentare Vcc = +5V, diodele D1 şi D2 sunt blocate, joncţiunile BE ale tranzistorului T1 sunt polarizate invers, iar prin joncţiunea BC a aceluiaşi tranzistor se injectează un curent prin rezistenţa R1, valoarea tensiunii în baza lui T1 fiind de 2,1 V. În baza tranzistorului T2 se stabileşte un potenţial: (5.19) UBET2 = 2,1V – UBCT1 = 2,1V – 0,7V = 1,4V, care conduce la saturarea lui T2. Sarcinile tranzistorului T2 sunt conectate atât în colectorul cât şi în emitorul său. Pentru sarcina din emitor, T2 este în conexiune de repetor pe emitor, astfel că dacă T2 este saturat tensiunea din emitor este : (5.20) UET2 = 1,4V – UBET2 = 1,4V – 0,7V = 0,7V. Această tensiune se regăseşte şi în baza tranzistorului T4 şi este suficientă pentru ca T4 să se satureze iar la ieşirea sa (în colector) să se regăsească un potenţial scăzut ( 0,2V), apro-

74

piat de nivelul logic 0. Deci, atunci când se aplică nivele logice 1 pe ambele intrări, la ieşirea porţii se obţine nivelul 0. Pe de altă parte, colectorul lui T2 este la un potenţial de aproximativ 0,9V determinat de curentul care curge prin R4 de la Vcc şi de tensiunile reziduale UCST2 şi UBST4. Acest potenţial, însă, este insuficient pentru a deschide tranzistorul T3 prin joncţiunea BE şi dioda D, caz în care ar fi necesar un nivel de 1,4V deoarece: (5.21) UBET3 + UD  0,7V + 0,7V = 1,4V. Dioda D previne o eventuală intrare în conducţie a lui T3, astfel că T3 să rămână blocat şi tranzistorul T4 saturat. 2) Dacă pe una sau ambele intrări se aplică nivele de tensiune de 0,2V, apropiate de 0, se deschide (deschid) joncţiunea BE (joncţiunile BE) a (ale) lui T1, astfel încât curentul de bază al lui T1 circulă prin terminalul de intrare şi nu prin baza lui T2, ceea ce conduce la blocarea tranzistorului T2 . Potenţialul din baza lui T2 este acum: (5.22) UBET2 = 0,9V – UBCT1 = 0,9V – 0,7V = 0,2V  0V. Acest potenţial scăzut se regăseşte în emitorul lui T2 respectiv în baza lui T4, ceea ce face ca tranzistorul T4 să se blocheze. Simultan, în baza lui T3 se stabileşte un potenţial ridicat ( 4 V), iar curentul de bază stabilit de rezistenţa R4 conduce la saturarea lui T3 şi deschiderea diodei D. În acest mod se obţine la ieşirea porţii nivelul logic ridicat 1 pentru care nivelul de tensiune VOH depinde de valoarea curentului de sarcină (ieşire) IOH: (5.23) VOH = Vc.c. – UCST4 + IOH R2. Observaţie. Potenţialele corespunzătoare acestui caz de funcţionare sunt trecute între paranteze. Rezistenţa R2 de 130 Ω previne scurtcircuitarea sursei de alimentare prin circuitul T3– D–T4 în regim tranzitoriu, atunci când semnalul de intrare trece din 0 în 1, moment în care toate tranzistoarele conduc. Circuitul reprezintă una din cele patru porţi logice ŞI–NU cu câte două intrări ale circuitului integrat SN 7400 (CDB 400/E/EM) seria TTL normală. Aceste circuite pot asigura un număr FO = 10 pentru nivelul 0 şi FO = 20 pentru nivelul 1. 5.2.3. Circuite logice cu intrări expandabile Configuraţia circuitelor logice expandabile permite mărirea numărului de intrări cu ajutorul unor porţi logice specializate. În figura 5.9 sunt prezentate două circuite logice legate în cascadă: CDB 450 (SN 7450) şi CDB 460 (SN 7460), structură care permite mărirea numărului de intrări ale circuitului CDB 450 de la 4 la 8 cu ajutorul circuitului expandor CDB 460. Vcc (+5V)

Vc.c. (+5V) 1,6kΩ

4kΩ

e

4kΩ

A

C T1

T3 T4

B

130Ω

4kΩ

e

T5

T2 T1

D

T2

f

D T6

D1

D2

1kΩ

D3

D4

e

GND

D1 D2 D3 D4

e

CDB 450 E Figura 5.9: Expandarea intrărilor

GND

CDB 460 E

Primul circuit realizează separat funcţia logică ŞI–SAU–NU de forma: 75

E F G = H G

f  A B  C  D. La ieşirea f se obţine f = 0 atunci când tranzistorul T6 este în conducţie, dacă T3 sau T4 conduce. Acest lucru se întâmplă dacă cel puţin unul din produsele logice A · B (pentru T3) sau C · D (pentru T4) au valoarea 1. Dacă T3 sau T4 sunt blocate intră în conductie T5 şi la ie-şire se obţine f = 1. Funcţia logică f de la ieşirea circuitului CDB 450 poate fi amplificată prin conectarea în punctele de expandare e şi e a ieşirilor circuitului CDB 460. În acest caz, se obţine funcţia logică: (5.25) f  A  B  C  D  E  F  G  H = A  B  C  D  E  F  G  H . Circuitul expandor CDB 460 este o poartă fundamentală incompletă care îşi îndeplineşte funcţia logică numai conectat cu circuitul CDB 450. 5.2.4. Circuite logice cu viteză mare de comutare Din aceste circuite fac parte seria TTL rapidă, seria ECL şi seria Schottky. 1) Seria TTL rapidă Obţinerea unui timp de răspuns cât Vcc (+5V) mai redus permite mărirea vitezei de co58Ω 2,8kΩ 760Ω T5 mutare. Seria TTL rapidă are la bază circuitul porţii logice standard în configuraT3 A ţia „totem pole” din figura 5.10. T2 f  AB T1 În comparaţie cu poarta logică funB damentală ŞI–NU a seriei TTL normale T4 apare perechea de tranzistori T2–T5 în 4kΩ 470Ω D1 D2 montaj Darlington, care înlocuieşte tranGND zistorul T3 din seria normală din figura 5.8. Tranzistorul T5 asigură blocarea ferFigura 5.10: Poarta logică standard ŞI–NU mă a lui T3 când T4 este în conducţie, el pentru seria TTL rapidă îndeplinind rolul diodei D din circuitul porţii seriei normale. Viteza de comutare creşte în comparaţie cu circuitul standard astfel că timpii de comutaţie scad de la 11 ns la 6 ns, în cazul tranziţiei 0 → 1 şi de la 7 ns la 6 ns la comutarea 1 → 0. Consumul de putere este însă ceva mai ridicat: 22mW faţă de 10mW pentru seria TTL normală. Acest circuit se regăseşte în capsulele CDB 400 HE/HEM. 2) Seria ECL Timpi de comutare sub 5ns se obţin cu circuite logice cu cuplaj în emitor (engleză: ECL – Emitter Coupled Logic) care funcţionează cu tranzistoare nesaturate, fapt ce conduce la valori de 1…4 ns. Circuitul ECL din figura 5.11 este o poartă logică SAU–NU cu două intrări. Baza tranzistorului T3 este conectată la Vcc (+5V) sursa de referinţă Uref a cărei valoare este sub nivelul 1 şi asigură conducţia acestui tranzisT4 tor. Rezistenţa de cuplaj RE asigură o sursă de A T1 curent constant. f  AB B T3 T2 Dacă intrările A şi B sunt în 0 tranzistoaVO VI rele T1 şi T2 sunt blocate. Tranzistorul T4 intră 1 + 1 în conducţie şi la ieşirea f se obţine nivelul loUref Uref RE t gic 1 deoarece T4 este în montaj de repetor pe Uref t 0 – 0 emitor. Dacă la una din intrări, de exemplu A, GND se aplică semnal 1 mai mare decât Uref, atunci Figura 5.11: Poarta logică SAU–NU T1 intră în conducţie şi comută o parte din cupentru seria ECL rentul care parcurge circuitul RE–T3 . Acest lu(5.24)

76

cru conduce la scăderea potenţialului colectorului lui T1şi în consecinţă începe blocarea lui T4. Pragul de comutare este egal cu Uref, iar la ieşire se obţine nivelul 0. Cuplajul prin emitor nu permite saturarea tranzistoarelor, iar comutarea curentului asigură o variaţie mică (0,8V) la trecerea de la un nivel logic la celălalt. În acest mod timpii de comutare se reduc considerabil, iar numărul de FO ajunge la 25. Dezavantajul principal este creşterea semnificativă a puterii consumate, care poate ajunge la 50mW. DS C 3) Seria Schottky C Circuitele din această serie combină viteza de comuta ţie a schemelor ECL cu consumul relativ redus al circuitelor B B TTL, prin utilizarea tranzistoarelor Schottky. Un astfel de tranE zistor se obţine dintr-un tranzistor normal caruia i se conecE tează o diodă Schottky, notată DS, între bază şi colector (figu- Figura 5.12: Tranzistorul ra 5.12). Prezenţa diodei Schottky nu permite saturarea tranSchottky zistorului la care este conectată, astfel că timpul de comutare este foatre redus din cauza timpului de stocare al diodei Schottky (sub 1 ns) şi a tensiunii de deschidere de 0,3…0,4V, mai mică decât cea a joncţiunii tranzistorului. Vcc (+5V) În figura 5.13 este prezentat un 55Ω 2,8kΩ 760Ω T5 circuit ŞI–NU cu două intrări, care conţiT3 ne tranzistoare Schottky. Structura acesA tui circuit este asemănătoare cu cea a seT2 f  AB T1 riei TTL rapide (figura 5.10), cu deoseB birea că tranzistoarele T1, T2, T4, T5 T4 sunt de tip Schottky şi se utilizează în 370 470Ω plus tranzistorul T6 care accelerează coD1 D2 T6 mutarea tranzistorului T4. Tranzistorul 3,5kΩ T3 este unul normal deoarece, fiind în GND conexiune de tip Darlington cu tranzistoFigura 5.13: Poarta logică standard ŞI–NU rul T5 nu se saturează. Timpii de comupentru seria Schottky tare sunt de aproximativ 3 ns, iar puterea disipată de cca 20 mW. 5.2.5. Circuite TTL cu colectorul în gol Circuitele logice cu colectorul în gol (open collector) se utilizează în magistrale de date la care se leagă ieşirile unui număr mare de circuite, caz în care nu se pot folosi structurile logice cu etaje „totem pole”. În figura 5.14 se prezintă o poartă ŞI–NU cu două intrări şi ieşire cu colector în gol din Vc.c. (+5V) 4kΩ

1,6kΩ Vc.c. (+5V)

RS

A A

B D1

RS

T2

T1

T3 D2

f  AB

* f

B

1kΩ GND

Simbol

Figura 5.14: Poarta logică standard ŞI–NU pentru seria TTL cu colector în gol

77

integratul CDB 403. Această poartă se obţine din Vcc (+5V) circuitul corespunzător porţii ŞI–NU al seriei RS TTL normală (figura 5.8) prin eliminarea tran- A * zistorului T3 şi a diodei D. Deoarece ieşirea f a B porţii este în gol, se conectează obligatoriu o f  A B CD EF C rezistenţă de sarcină RS, calculată în raport de * încărcarea porţii. D Circuitele cu colectorul în gol se utilizează E * pentru obţinerea funcţiei logice ŞI–cablat care F constă în legarea împreună a ieşirilor mai multor circuite cu colectorul în gol (figura 5.15). Acest Figura 5.15: Funcţia logică ŞI–cablat mod de cablare reduce timpul de propagare şi se economisesc nivele de logică dacă s-ar utiliza porţi normale ŞI-NU. 5.2.6. Circuite logice cu trei stări Circuitele (porţile) logice cu trei stări (TSL– Tri State Logic) se utilizează în magistrale comune de transport a informaţiei, la care sunt conectaţi receptori şi surse de semnal numeric. Circuitul TSL este un invertor derivat dintr-o poartă logică standard cu o intrare, având în plus o intrare de comandă denumită INHIBIŢIE (I) – figura 5.16. Vcc (+5V) R1

R2

R4

R5

A T2

T1

I T6

T5

d

+0,9V

D

f

A

T3

f

I Simbol

T4

A I f 1 (Ā) 0 0 0 (Ā) 1 0 X 1 Hi Z Tabel de adevăr

R3

GND

Figura 5.16: Poarta logică inversoare TSL

Faţă de poarta standard apar tranzistoarele T5 şi T6, dioda d şi rezistenţa R5. Dacă intrarea I este în starea logică 0, T6 se deschide şi blochează tranzistorul T5 şi dioda d şi circuitul TSL funcţionează ca o poartă inversoare faţă de intrarea A: dacă A este comandată cu nivel logic 1, T2 se saturează datorită potenţialului din colectorul lui T1, T4 se saturează iar la ieşire se obţine f = 0. În cazul în care la intrarea de comandă I se aduce semnal 1, T6 este blocat şi T5 conduce la saturaţie, se deschide joncţiunea corespunzătoare BE a lui T1, iar T2 şi T4 sunt blocaţi. Curentul circulă prin R4 spre baza lui T3 şi este deviat prin dioda d deschisă. Tensiunea de circa 0,9 V din anodul diodei determină blocarea lui T3. Deoarece T2 este blocat ca şi T3, circuitul se comportă la ieşire cu o impedanţă mare, indiferent de starea intrării logice A. Tabelul de adevăr din figura 5.16 pune în evidenţă cele trei stări în care se poate găsi ieşirea f, în care HiZ (High Z) reprezintă ieşirea în stare de mare impedanţă. Circuitul integrat reprezentativ este SN 74125. Utilizarea circuitelor TSL pe magistrală este dată în figura 5.17, unde sunt conectate mai multe surse de semnal TSL (emiţători) E1, E2, E3 şi mai mulţi receptori R1, R2,… Comenzile de inhibiţie I1, I2, I3,… sunt furnizate în sistem astfel încât în orice moment toţi emiţătorii, mai puţin unul, se află în starea Hi Z.

78

R1

R2 BUS

I1

I2

E1

I3

E2

E3

Figura 5.17: Exemplu de utilizare a circuitelor TSL

5.2.7. Circuite logice cu injecţie I2L Circuitele I2L (Integrated Injection Logic) au apărut ca urmare a necesităţii creşterii gradului de integrabilitate prin eliminarea zonelor de izolare între componentele circuitului integrat. S-a perfecţionat poarta TTL standard (cu tranzistoare multiemitor), prin înlocuirea rezistoarelor (care necesitau zone de izolare în procesul tehnologic de execuţie a circuitelor), cu tranzistoare de sarcină (figura 5.18) având rolul de generator de curent, iar tranzistoarele multiemitor cu tranzistoare multicolector. Generatorul de curent sau injectorul de curent generează purtători minoritari în baza tranzistorului multicolector şi este un tranzistor tip pnp. Suprafaţa ocupată de o structură I2L este mult mai mică deoarece baza tranzistorului pnp T1 este identică cu emitorul tranzistorului npn (T), Vcc colectorul lui T1 este identic cu baza lui T iar emipnp Vcc torul lui T1, numit injector, poate fi comun pentru T1 – injector toate circuitele de pe cip. de curent R Se pot modifica în limite largi timpul de comutare (între 1 ns şi zeci ms) şi puterea disipată T npn (între 1nW şi10W pe circuit), iar alimentarea se face cu tensiuni mai mari de 0,85V pentru a se deschide joncţiunea EB a lui T1. Figura 5.18: Etaj din circuitul I2L 2 Ca exemple de circuite I L se prezintă funcţia ŞI–NU cu două intrări (figura 5.19(a)) şi funcţia SAU–NU (f1) respectiv SAU cu două intrări (f2) (figura 5.19(b)). Vcc

f1  A  B

T1 Vcc

A

T'

A

f  AB

T2 Vcc Vc.c.

T

T5 T3

B

f2 = A + B T6

B

T4

(a) ŞI–NU (b) SAU–NU (f1); SAU (f2) Figura 5.19: Porţi logice cu circuite I2L

79

Funcţionare Funcţia ŞI–NU se obţine astfel: dacă la una din intrări (A) se aplică nivel logic 0, egal cu UCEsatT, curentul de injector al lui T este dirijat spre „masă” prin intrarea A, iar T este blocat, astfel că la ieşirea acestuia se obţine nivel logic 1; dacă la ambele intrări se aplică nivel logic 1, egale cu UBEsatT, curentul injectorului asigură saturarea lui T şi la ieşire se obţine nivel logic 0. 5.3. Circuite integrate logice cu tranzistoare unipolare 5.3.1. Caracteristicile tranzistoarelor unipolare Apariţia tranzistoarelor unipolare sau cu efect de câmp (TEC) (engleză: FET – Field Effect Transistor) a permis realizarea unor noi circuite integrate cu performanţe superioare celor cu tranzistoare bipolare, fapt ce rezultă şi din comparaţia efectuată între cele două tipuri de circuite integrate atunci când se consideră în conexiune emitor comun (EC), pentru tranzistoare bipolare respectiv sursă comună (SC), pentru tranzistoare cu efect de câmp. Astfel, există deosebiri în ceea ce priveşte conducţia electrică, familia caracteristicii statice de ieşire, impedanţa de intrare, gradul de integrare, imunitatea la perturbaţii, regimul de comutare, comanda tranzistorului şi utilizarea ca rezistenţă de sarcină. 1) Conducţia curentului electric. În cazul tranzistoarelor bipolare, la conducţia curentului electric participă atât electronii cât şi golurile iar controlul curentului care îl străbate se realizează în urma fenomenelor de injecţie în bază a purtătorilor minoritari şi de difuzie a acestor purtători către colector. La tranzistoarele cu efect de câmp, la conducţia curentului electric participă numai un tip de purtători, cei majoritari, fie electroni sau goluri. Controlul asupra curentului se realizează cu ajutorul unui câmp electric care moduleză conductanţa (inversul rezistenţei) căii de trecere a curentului. Acest câmp este dirijat perpendicular pe calea de trecere sau canalul de conducţie, canal ce se realizează în volumul sau la suprafaţa unui semiconductor (siliciul). Canalul reprezintă partea activă a TEC şi poate fi de tip n sau tip p şi este delimitat de sursă (S) şi drenă (D). Câmpul electric aplicat din exterior cu ajutorul grilei (G) determină valoarea curentului electric. D D Canalul de conductanţă realizat în VDS > 0 VDS > 0 volumul semiconductorului caracterizează G G VGS < 0 VGS > 0 tranzistorul cu efect de câmp cu grilă joncIDS > 0 IDS > 0 ţiune (TEC–J) şi poate fi cu canal de tip n S S (substrat de tip p) – figura 5.20(a), sau cu (b) TEC–J canal p (a) TEC–J canal n canal de tip p (substrat de tip n) – figura 5.20(b). Tranzistorul cu efect de câmp cu Figura 5.20: Tranzistoare unipolare cu grilă izolată se obţine prin izolarea grilei grilă joncţiune (TEC–J) faţă de substrat, iar canalul de conducţie este realizat la suprafaţa semiconductorului. Izolarea grilei se face printr-un izolator, tranzistorul numindu-se TEC–MIS (engleză: Metal Insulator Semiconductor), iar dacă izolatorul este bioxidul de siliciu, tranzistoarele sunt D D denumite TEC–MOS (Metal Oxid SeVDS > 0 VDS < 0 miconductor). Şi aceste tranzistoare SS VGS > 0 SS VGS < 0 G sunt cu canal de tip n sau de tip p, cu VSS < 0 G VSS > 0 canal indus (figura 5.21) sau cu caIDS > 0 IDS < 0 nal iniţial. S S Tipurile de tranzistoare unipo(a) TEC–MOS cu (b) TEC–MOS cu lare (cu efect de câmp) prezentate canal indus n canal indus p sunt şi cele mai utilizate în tehnoloFigura 5.21: Tranzistoare unipolare MOS cu gia circuitelor integrate logice. Prin grilă izolată şi canal indus combinarea TEC–MOS cu canal n cu

80

TEC–MOS canal p se obţin circuite complementare denumite TEC–CMOS. 2) Caracteristica statică de ieşire iDS = f (vDS), VGS = constant, trece prin originea axelor deoarece la TEC nu există joncţiuni în calea curentului de drenă. Această caracteristică este asemănătoare în cazul celor două tipuri de tranzistoare cu efect de câmp: TEC–J şi TEC– MOS, de exemplu, cu canal de tip n (figura 5.22). Această caracteristică permite ca semnalul logic 0 să aibă valoarea de 0 volţi. –iDS VDS = VGS –Vp 3) Impedanţa de intrare a tranzistoarelor cu efect de câmp este mult mai mare decât a tranzistoarelor bipolare: 108…109  pentru TEC VGS –J şi 109…1014  pentru TEC–MOS. 4) Gradul de integrare al tranzistoarelor cu efect de câmp este net superior celui al –vDS tranzistoarelor bipolare deoarece rezistoarele şi 0 –Vp condensatoarele sunt tot tranzistoare cu efect de Figura 5.22: Familia caracteristicii câmp, nefiind astfel necesară izolarea tranzistoastatice de ieşire iDS = f(vDS)| VGS = ct. relor pe acelaşi suport, cu excepţia circuitelor CMOS. 5) Imunitatea la perturbaţii a circuitelor cu tranzistoare cu efect de câmp este mult mai mare decât a circuitelor cu tranzistoare bipolare deoarece există tensiuni de prag (pinchoff) Vp = 0,6…6V, de la care se deschide tranzistorul cu efect de câmp, iar nivelele logice şi tensiunile de alimentare sunt mai mari. Consumul de energie este mai redus la tranzistoarele cu efect de câmp. D D 6) Regimul de comutare. Tranzistorul cu efect de câmp poate fi considerat ca un comutator SS  G G comandat în tensiune (figura 5.23). Dacă VGS< Vp, rezistenţa drenă–sursă rDS VGS VGS S este de ordinul 108…1012  (cu 2…3 ordine de măS rime mai mare decât rezistenţa colector–emitor rCE Figura 5.23: Funcţia de comutator a tranzistorului bipolar) şi tranzistorul este blocat comandat în tensiune a unui TEC (comutator deschis). În stare de conducţie, atunci când VGS> Vp, comutatorul este închis, iar rDSsat = 2…1000  (mai mare decât rezistenţa rCE = 1…30  a a tranzistorului bipolar). Totuşi, raportul rDSbloc rDSsat  107…1010, ceea ce apropie tranzistorul cu efect de câmp de funcţionarea unui comutator ideal. Tensiunea Vp este pozitivă pentru TEC–MOS canal n şi negativă pentru TEC–MOS canal p. 7) Comanda tranzistoarelor cu efect de câmp se realizează cu nivele de tensiune aplicate între grilă şi sursă, în cazul montajelor în conexiune SC (sursă comună). Pentru TEC– J intrarea în conducţie are loc la VGS = 0V, iar blocarea cu o tensiune inversă VGS mai mare decât Vp. La TEC–MOS cu canal indus (cel mai utilizat), conducţia se petrece la VGS > Vp, iar blocarea atunci când VGS = 0V. 8) Utilizarea TEC–MOS ca rezistor de sarcină. Datorită tehnologiei mai complexe şi a suprafeţelor relativ mari ocupate de rezistoare, acestea se înlocuiesc în circuitele integrate cu structuri TEC–MOS de la care se utilizează rezistenţa canalului de conducţie ce funcţionează fie în regiunea saturată, fie în cea nesaturată a caracteristicii. Valoarea rezistenţei se controlează prin tensiunea de grilă, iar din punct de vedere constructiv rezistorul de tip TEC– MOS se realizează prin conectarea grilei cu drena, sau prin conectarea grilei la o sursă separată (§5.3.2.1). 5.3.2. Circuite logice cu TEC–MOS Se vor analiza unele porţi logice în tehnologie PMOS (canal p).

81

5.3.2.1. Circuite logice statice Aceste circuite sunt conectate permanent la tensiunea de alimentare. 1) Circuitul logic static inversor Elementul de bază al circuitelor PMOS îl reprezintă circuitul logic invertor (jnversor) static NU (figura 5.24), cu care se realizează funcţii logice complexe. Tranzistoarele T2 sunt utilizate ca rezistenţe de sarcină R, iar T1 sunt tranzistoare de prelucrare logică, ambele fiind cu canal p. –VDD –VGG –VDD În figura 5.24(a) grila este conectată la drenă şi VGS = VDS = R R VDS < 0 =VDD, iar T2 va funcţiona saturat D D T2 T2 VGS < 0 deoarece |VDS | > |VGS – Vp | (vezi IDS < 0 caracteristica din figura.5.22). În G S G S acest caz tensiunea obţinută pe DT1 f A f A D D când tranzistorul T1 este blocat va T1 T1 SS SS fi mai mică decât VDD cu valoarea A A S S G G Vp. Dacă grila se conectează la o sursă separată VGG mai mare decât (a) (b) VDD cu cel puţin Vp, astfel încât Figura 5.24: Poarta logică inversoare PMOS |VDS |  |VGS – Vp |, tranzistorul T2 va funcţiona pe porţiunea nesaturată a caracteristicii, semnalul de ieşire fiind apropiat de VDD (figura 5.24(b)). Sursa suplimentară VGG este de valoare foarte mică asigurând numai polarizarea, ceea ce înlătură neajunsul prezenţei sursei de alimentare. Circuitele lucrează în logică negativă (nivel 0 – potenţialul „masei”; nivel 1 – potenţial ridicat de valoare negativă), astfel că, dacă la intrarea logică se aplică nivel 0, tranzistorul T1 se blochează şi ia naştere un curent rezidual de DT1 şi ST2, cu sensul de la substrat la sursa –VDD . Acest curent produce o cădere de tensiune pe T2 egală cu valoarea de prag Vp. Deci, la ieşire semnalul va fi mai mic decât – VDD cu valoarea Vp. Pentru comanda etajului următor este necesar un semnal VDD ≥ 3 Vp. În cazul circuitului din figura 5.24(b) la ieşire se obţine nivel 1 egal cu –VDD . Dacă la intrarea A se aplică nivel logic 1 cu nivel de tensiune |VIH | > Vp, atunci T1 se saturează şi la ieşire se obţine nivel 0. Circuitele logice realizate în tehnologie cu tranzistoare TEC–MOS canal n au acelaşi principiu de funcţionare ca al circuitelor cu TEC–MOS canal p, ţinând cont de faptul că circuitele TEC–MOS canal n se alimentează cu + VDD faţă de potenţialul „masei” VSS. În acest caz TEC–MOS canal n conduce pentru VDS > 0, VGS > 0 şi este blocat pentru VGS < 0. Familia de circuite integrate TEC–MOS cuprinde două serii:  seria TEC–MOS canal n (NMOS), având indicativul în variantă românească MMN xxx;  seria TEC–MOS canal p (PMOS), cu indicativul românesc MMP xxx. 2) Circuitele logice statice SAU–NU şi ŞI–NU Pe baza structurilor circuitului inversor din figura 5.24 porţile SAU–NU (NICI) cu două intrări A şi B şi ŞI–NU (NUMAI) cu două intrări A şi B, sunt reprezentate de schemele electrice practice din figura 5.25(a) respectiv figura 5.25(b), având sursa suplimentară VGG pentru tranzistoarele conectate ca rezistenţe de sarcină. Porţile logice sunt conţinute în capsulele MMP106 (SAU–NU), MMP107 (ŞI–NU), care au câte patru porţi logice cu câte două intrări. Caracteristicile electrice ale acestor porţi sunt: a) Tensiuni:  tensiunea de grilă: (5.26) VGG = –27V (–25 …–28V) 82

–VDD –VGG

–VDD

VSS

A

VSS

f  AB

VSS

R1

B

VSS

R2

VSS –VGG

R

A

VSS

VSS

f  AB

VSS

VSS

B VSS

VSS

(a) Funcţia SAU–NU

VSS

VSS

(b) Funcţia ŞI–NU

Figura 5.25: Porţi logice statice PMOS  tensiunea de drenă: (5.27) VDD = –13V (–11,5…–13,5V)  tensiunea de intrare: (5.28) VI = –25V  tensiunea de ieşire în starea 0: (5.29) VOL = min. 10V, la VIH  –2V; VIL  –9V  tensiunea de ieşire în starea 1: (5.30) VOH = max. 1V, la VIH  –2V; VIL  –9V b) Curentul de intrare: (5.31) II = max. 10A, la VI = –25V. d) Timpii de propagare: (5.32) tpLH = 320ns (5.33) tpHL = 120ns. Porţile logice funcţionează cu logică negativă. Cu această tehnologie se mai obţin comutatoare analogice, divizoare statice de frecvenţă, registre statice etc. 5.3.2.2. Circuite logice dinamice Circuitele dinamice TEC–MOS au un consum redus de energie deoarece sunt alimentate numai în momentul transmiterii informaţiei. Principiul de funcţionare se bazează pe încărcarea şi descărcarea capacităţii de grilă CG a intrării următorului operator logic B din figura 5.26. Semnalul transmis de la intrarea A pe grila –VDD  T3 tranzistorului T3 se aplică prin intermediul întrerupătorului I realizat cu T2 şi va încărca condenT1 T2 B satorul CG dintre grilă şi „masă”. Când I este A VSS VSS CG deschis CG rămâne încărcat şi polarizează pe T3. I V VSS SS Comanda întrerupătorului I (T2), numit şi poartă Figura 5.26: Principiul de funcţionare de transmisie se face cu un semnal de tact , caal unui circuit dinamic TEC–MOS re atunci când este în nivel 1, întrerupătorul tre83

buie să fie deschis pentru a se transmite informaţia de la circuitul A (T1) la circuitul B (T3). Dacă  este în 0 atunci se izolează cele două circuite. 1) Circuitul logic dinamic inversor monotact –VDD În figura 5.27 este prezentată poarta dinamică inversoare NU monotact. Dacă semnalul de tact  este 0, tranzis T1 toarele T 1 şi T2 sunt blocate. Dacă  este 1, atunci T 1 şi VSS T2 sunt în conducţie şi la ieşire apare un nivel logic în funcţie T2 f A de semnalul aplicat la intrare. Dacă T1 conduce (intrarea A = V T1 SS 1), potenţialul drenei sale este apropiat de al „masei” şi dacă A CG VSS VSS condensatorul CG a fost încărcat cu semnal 1 acum este adus la 0. Datorită conectării tranzistorului de sarcină T 1 numai Figura 5.27: Poarta logică în timpul semnalului de tact consumul de energie este foarte dinamică NU redus. O variantă mai complexă a acestui circuit o reprezintă poarta logică NU dinamică bitact, la care încărcarea condensatorului CG este comandată de un tact  pe front pozitiv, iar descărcarea lui CG se produce la trecerea în 0 a tactului 1 simultan cu apariţia tactului 2. Un dezavantaj în plus al circuitului logic îl reprezintă necesitatea unor circuite auxiliare pentru formarea secvenţei semnalelor 1 şi 2. Aceste circuite se utilizează în microprocesoare, memorii RAM, registre de deplasare, care aveau nivelul de integrare LSI MOS dinamic. 2) Circuitele logice dinamice SAU–NU şi ŞI–NU Se vor prezenta cele două circuite (porţi) logice, având câte două variabile de intrare A şi B, figura 5.28 (a) respectiv figura 5.28 (b). –VDD

–VDD



T1 VSS

VSS

T2 A

TA

f  AB

TA

T2

A

VSS

VSS

B



T1 f  AB VSS VSS

B

TB

TB VSS

VSS

(b) Funcţia ŞI–NU (a) Funcţia SAU–NU Figura 5.28: Porţi logice dinamice PMOS

În ambele circuite, tranzistoarele TA şi TB realizează prelucrarea logică, tranzistorul T1 este tranzistor (rezistenţă) de sarcină, iar T2 formează circuitul de tact. La ieşirile circuitelor se obţin funcţiile logice corespunzătoare numai în prezenţa impulsurilor de tact . Astfel, pentru circuitul SAU–NU, dacă intrările A şi B sunt în starea 0, atunci TA şi TB sunt blocate şi la ieşire se obţine f = 1. În cazul în care A = 1, B = 1, ambele tranzistoare TA şi TB sunt în conducţie iar ieşirea f trece în starea 0. Dacă una din intrări este în starea 1, tranzistorul de prelucrare logică corespunzător este în conducţie iar la ieşire se obţine nivelul logic 0. 5.3.3. Circuite logice cu TEC–CMOS Circuitele TEC–CMOS sau TEC–COS /MOS (COmplementary Symmetric MOS) conţin pe un acelaşi substrat semiconductor atât tranzistoare MOS cu canal n, cât şi tranzistoare MOS cu canal p, constituind astfel circuite complementare MOS. Principalele caracteristici ale acestor circuite sunt:

84

1) Consumul static de putere este foarte redus (10nW/poartă) într-un domeniu de variaţie a tensiunii de alimentare de VDD = +3… +15V, deoarece, indiferent de starea în care se află, un tranzistor este în conducţie iar tranzistorul complementar este blocat, astfel încât cuplul de tranzistoare complementare este parcurs numai de curentul rezidual al tranzistorului blocat (avantaj). 2) Imunitatea la perturbaţii este mare, astfel încât marginea de zgomot M poate atinge 45% din valoarea tensiunii de alimentare (avantaj). 3) Funcţionează cu logică pozitivă. 4) Consumul de putere creşte rapid odată cu creşterea frecvenţei semnalului la ieşire, ajungând la 1mW/poartă la o frecvenţă de 1MHz (dezavantaj); 5) Caracteristicile dinamice (timpii de propagare tp) sunt mai scăzute decât la circuitele TTL (dezavantaj); 6) Procesul tehnologic este mai complex decât în cazul circuitelor TEC–MOS, deoarece este necesară izolarea celor două structuri complementare, dar este mai simplu decât cel aplicat circuitelor bipolare. Familia de circuite logice TEC–CMOS conţine două serii logice:  seria cu indicativul, de exemplu CD /HEF 4xxx, cu varianta românească MMC 4xxx;  seria 54/74 Cxxx. A doua serie este compatibilă cu seria TTL, fiind echivalentă funcţional şi din punct de vedere al dispunerii terminalelor la capsulă cu circuitele TTL ce poartă acelaşi indicativ. În cazul în care sunt alimentate la +5V, aceste circuite CMOS pot comanda direct două unităţi de sarcină TTL din seria de putere redusă 54/74 Lxxx. 5.3.3.1. Circuitul logic fundamental inversor al seriei CMOS Circuitul inversor (fundamental) NU este prezentat în figura 5.29(a). Tranzistorul cu canal n (T1) are sursa şi substratul conectate la „masă”, iar tranzistorul cu canal p (T2) are sursa (S) şi substratul (SS) legate la polul pozitiv al sursei de alimentare VDD. Intrarea A a operatorului atacă cele două grile ale tranzistoarelor cu ajutorul circuitului de protecţie. Acest circuit, constituit din diodele D1, D2, D3 şi rezistenţa R realizează protecţia inversorului împotriva distrugerii accidentale prin acumularea de sarcini electrice pe grilele tranzistoarelor. Datorită procesului tehnologic, se realizează o împerechere foarte bună a caracteristiciiDS TEC canal p VGS = –VDD

+VDD

VI = 0 V (0)

D1

T2 canal p

D2

A

TEC canal n

f A

R D3

(b)

vDS

iDS

T1 canal n

circuit de protecţie

0

VGS  0

TEC canal n

VSS

VGS = +VDD VI = 0 V (1)

(a)

TEC canal p VGS  0

0 vDS (c) Figura 5.29: Poarta logică fundamentală NU pentru CMOS

85

lor de transfer individuale ale tranzistoarelor, caracterizată prin egalitatea în valoare absolută ale tensiunilor de prag Vp. Funcţionare Dacă la intrarea A se aplică un semnal 0 (VI = 0V), tensiunea VGS a TEC canal p – T2 este negativă şi îi asigură conducţia. Tranzistorul cu canal n– T1 este blocat deoarece VGS = 0. În această situaţie potenţialul drenei tranzistorului cu canal n (T1) este egal cu potenţialul sursei VDD şi la ieşire se obţine f = 1 (VO  VDD). Starea circuitului este definită de intersecţia caracteristicilor statice ale celor două tranzistoare, pentru A = 0 (figura 5.29(b)). Dacă la intrarea A se aduce un semnal 1 (VI = VDD) TEC cu canal p (T2) se blochează deoarece VGS = 0V iar TEC cu canal n (T1) intră în conducţie, având VGS  +VDD astfel că la ieşire se obţine f = 0 (VO = 0V). Această situaţie este ilustrată în figura 5.29(c). După cum se observă, în cursul funcţionării fiecare din cele două tranzistoare devine sarcină pentru tranzistorul complementar deoarece sunt înseriate. Caracteristica de transfer a inversorului este foarte abruptă (figura 5.30). Valoarea ridicată a marginii de zgomot M se datorează faptului că tranziţia ieşirii de la VOH la VOL se efectuează cu mare precizie la V = VDD /2. Circuitul are o rezistenţa de ieşire scăzută, indiferent de nivelul tensiunii VO determinată de tranzistorul aflat în conducţie. Prin urmare, timpii de propagare tp determinaţi de constantele VO [V] 16 de timp ale etajului de ieşire sunt mult mai mici VDD = 15V 14 decât la circuitele logice MOS. 12 Consumul de putere (puterea disipată) Pd VDD = 10V depinde de consumul necesar încărcării şi des10 cărcării capacităţilor parazite C în timpul comu8 tări, de frecvenţa f şi de tensiunea de alimentare 6 V = 5V VDD: DD 4

2 (5.34) Pd = Pd0 + V DD · f · C, 2 unde Pd0 este puterea consumată în regim staţioVI nar (pentru VDD = 10V şi IDS  1nA rezultă Pd0  0 2 4 6 8 10 12 14 16 [V]  10nW). Figura 5.30: Caracteristica de transfer Puterea Pd0 are o valoare redusă deoarece în regim static unul din tranzistoare este blocat. În timpul comutării există un anumit interval de timp în care ambele tranzistoare sunt deschise, iar curentul se închide prin ele între sursa de tensiune de alimentare (VDD) şi „masă” (VSS). Varianta românească cu indicativul MMC 4069 conţine şase astfel de circuite inversoare pe capsulă. Principalele caracteristici electrice ale unui inversor la temperatura ambiantă TA = +25°C, sunt date mai jos: a) Tensiunile de alimentare : (5.35) VDD = – 0,5...+18 (20)V, cu valori uzuale de +3...+15 (18)V b) Puterea disipată:  pe capsulă: Pd = 200mW  de tranzistorul de ieşire, la temperatura maximă de funcţionare (+125C): Pd = 100 mW c) Nivelele de tensiune: (5.36) VIHmin = 4V (VDD = 5V); 8V (VDD = 10V); 12,5V (VDD = 15V) (5.37) VILmax = 1V (VDD = 5V); 2V (VDD = 10V); 2,5V (VDD = 15V) (5.38) VOLmax = 0,05V (indiferent de valoarea VDD)

86

(5.39) VOHmin = 4,95V (VDD = 5V); 9,95V (VDD = 10V); 14,95V (VDD = 15V) d) Curenţii absorbiţi la intrare: (5.40) IILmax = IIHmax =  0,1… 0,3A e) Curenţii disponibili la ieşire: (5.41) IOLmin = 0,51mA (VDD = 5V); 1,3mA (VDD = 10V); 3,4mA (VDD = 15V) (5.42) IOHmin = – 0,44mA (VDD = 5V); –1,1mA (VDD = 10V); –3mA (VDD = 15V) f) Curentul rezidual: (5.43) Ir =10nA (indiferent de VDD) g) Timpii de propagare: (5.44) tpLH, tpHL = 55…110ns (VDD = 5 V); 30…60ns (VDD = 10V); 25..50ns (VDD = 15V) h) Timpii de tranziţie: (5.45) ttLH, ttHL = 100…200ns (VDD = 5V); 50…100ns (VDD = 10V ); 40…80ns (VDD = 15 V) i) Capacitatea de intrare: (5.46) Ci = 5…7,5pF (pentru oricare intrare) j) Timpul de creştere tcr şi timpul de cădere tc: (5.47) tcr , tc = 20ns. 5.3.3.2. Circuite logice SAU–NU (NICI) şi ŞI–NU (NUMAI) CU TEC–CMOS În figura 5.31(a) este reprezentată poarta logică SAU–NU cu TEC–CMOS, iar în figura 5.31(b) poarta logică ŞI–NU cu TEC–CMOS. +VDD

+VDD

A

T4–p

T3–p

f  AB

T3–p

B T4–p f  AB

A

T2–n

B

T1–n

T1–n VSS

VSS

Schema electrică A

Schema electrică A

f

B

T2–n

VSS

f

B

Simbol

Simbol

Intrări Ieşire Intrări Ieşire f f A B A B 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 Tabel de adevăr Tabel de adevăr (a) Funcţia SAU–NU (b) Funcţia ŞI–NU Figura 5.31: Porţi logice CMOS

87

Schema logică de principiu a porţii logice SAU–NU se obţine dintr-o combinaţie detip serie a două tranzistoare MOS cu canal p (T3 şi T4) şi de tip paralel a două tranzistoare MOS cu canal n (T1 şi T2). Deoarece tranzistoarele canal p sunt înseriate faţă de tensiunea de alimentare +VDD, aceste tranzistoare vor intra în conducţie simultan numai dacă intrările A şi B sunt în starea 0, astfel că la ieşirea f va apare nivelul logic 1. În acest fel, cele două „comutatoare” T3 şi T4 înseriate sunt în stare „închisă” în regiunile drenă–sursă (vezi şi figura 5.23). Schema electrică a porţii ŞI–NU conţine o combinaţie paralel faţă de tensiunea de alimentare +VDD a tranzistoarelor MOS cu canal p (T3 şi T4) şi o combinaţie serie a tranzistoarelor MOS cu canal n (T1 şi T2). Faţă de poarta SAU–NU se observă o inversare a rolurilor celor două tipuri de tranzistoare: la ieşirea f se obţine nivel logic 1 ( VDD) pentru toate combinaţiile la intrările A şi B care determină conducţia cel puţin a unui tranzistor MOS–canal p. Starea f = 0 apare când ambele tranzistoare MOS–canal n intră în conducţie, adică pe cele două intrări A şi B se aduce simultan nivelul VH (nivel logic 1). Din punct de vedere tehnologic schemele electrice ale porţilor logice CMOS sunt mai complexe. În figura 5.32 este reprezentată schema electrică şi logigrama uneia din cele patru porţi logice SAU–NU cu câte două intrări conţinute de circuitul integrat MMC 4001. +VDD

p A

p

p p

n

f  AB

n n

p B

n

n VSS

A f  AB

B 2 x NU

ŞI–NU

NU

Figura 5.32: Schema electrică completă a porţii logice SAU–NU cu tranzistoare CMOS

După cum se constată, poarta rezultată mai sus conţine un număr mare de tranzistoare în comparaţie cu circuitele TEC–MOS statice (figura 5.26) respectiv circuitele TEC–MOS dinamice (figura 5.28). Dacă notăm cu n numărul intrărilor, circuitele TEC–MOS dinamice conţin 2n tranzistoare, pe când circuitele TEC–CMOS cu aceeaşi funcţie conţin 4n + 2 tranzistoare. Acest dezavantaj este compensat de celălalte avantaje amintite anterior (consum redus, imunitate foarte mare la perturbaţii). 5.3.3.3. Comutator analogic Aşa cum s-a arătat, valoarea rezistenţei drenă–sursă (rDS) variază cu mai mult de şase ordine de mărime la trecerea tranzistorului din starea blocată în starea de conducţie, astfel că

88

rDS bloc rDS sat  107, în care rDS sat are o valoare medie de 20 . Datorită acestei proprietăţi s-au realizat circuite comutatoare de semnale analogice comandate în tensiune cu tranzistoare CMOS. Circuitul MMC 4016 conţine patru astfel de comutatoare analogice bilaterale comandate în tensiune (figura 5.33). Comutatorul se utilizează pentru transmiterea sau multiplexarea semnalelor numerice sau analogice. El conţine două etaje inversoare, primul etaj fiind comandat pe intrarea de comandă I şi un etaj comutator realizat cu tranzistoarele T5 şi T6 ale căror drene sunt conectate împreună constituind intrarea de date A, iar sursele legate în paralel asigură terminalul ieşirii f. Circuitul format din diodele D1, D2, D3, D4 şi rezistenţa R formează circuitul de protecţie. Dacă pe intrarea de comandă I se aplică un semnal cu nivel de tensiune VH (nivel logic 1), inversorul T1–T2 comandă intrarea în conducţie a tranzistoarelor T5–T6 astfel încât semnalul aplicat pe intrarea de date A/ f se regăseşte la ieşirea f /A, comutatorul având o impedanţă de ieşire scăzută (rDS sat  280 ). Când pe I se aduce nivel VL (nivel logic 0) inversorul T1–T2 este blocat, ieşirea f /A este deconectată faţă de intrarea A/ f prezentând şi o impedanţă mare de ieşire rDS bloc (starea de înaltă impedanţă HiZ din tabelul de adevăr). +VDD

D1 I D4

D2 R

A/f T1–p T2–n

T3–p T4–n

T5–p T6–n

I Simbol f/A

D3 VSS

Protecţie

f/A

A/f

NU

NU

Comutator

I 0 1

f Hi Z A

Tabel de adevăr

Figura 5.33: Comutator analogic bilateral CMOS

Comutatorul este bilateral deoarece se pot inversa între ele rolurile intrării de date A şi a ieşirii f, în aceleaşi condiţii de funcţionare. Nivelul semnalelor aplicate la intrarea A poate fi de maxim VDD în cazul semnalelor numerice sau ± VDD /2 (valoare vârf la vârf) în cazul semnalelor analogice. Frecvenţa acestor semnale poate fi de maxim 40MHz. Multiplexarea semnalelor se realizează prin legarea în paralel a comutatoarelor în număr egal cu numărul semnalelor supuse mixării (multiplexării), iar comanda acestor comutatoare pe intrările I se aplică astfel încât, într-un interval de timp determinat să nu fie în conducţie decât un singur comutator. O altă aplicaţie o constituie, ca şi în cazul circuitelor TSL din familia TTL, utilizarea comutatoarelor TEC–CMOS pe magistralele de date (figura 5.34). Modul de conectare a celor două comutatoare C1 şi C2 permite cuplarea unei surse de informaţii S şi a unui receptor logic R la magistrala comună M, cât şi cuplarea directă a acestora, fără afectarea magistralei. Astfel, dacă intrările de comandă I1 şi I2 sunt în stare logică 0 atât sursa cât şi receptorul nu sunt conectate (C1 – deschis, C2 – deschis). Când I1 = 1 şi I2 = 0, informaţiile sursei sunt preluate de receptor (C1 – închis, C2 – deschis). Pentru I1 = 0 şi I2 = 1, sursa este blocată, astfel că informaţiile de pe magistrală ajung la receptor (C1 – deschis, C2 – închis). Atunci când C1 este închis iar C2 tot închis, datele furnizate de sursă trec în receptor şi pe magistrală (I1 = 1 şi I2 = 1).

89

M

BUS C2

I1 I2 Mod de funcţionare 0 0 S, R – deconectate 1 0 S→R 0 1 M →R 1 1 S → R, M

I2

C1 R S

I1

Figura 5.34: Utilizarea comutatoarelor TEC–CMOS pe magistralele de date

***

90

CAPITOLUL 6 APLICAŢII ALE CIRCUITELOR INTEGRATE DIGITALE 6.1. Aplicaţii cu circuite logice combinaţionale 6.1.1. Sumatoare binare Circuitele de însumare binară se pot realiza cu semisumatoare (notate 1/2 S), care au două intrări A şi B, corespunzătoare numerelor binare de adunat şi ieşirile formate din bitul– sumă S şi bitul de transport T (A şi B sunt numere binare cu un singur rang). În figura 6.1.1 (a) este reprezentată schema logică a unui semisumator format, de exemplu dintr-unul din cele patru circuite cc funcţia SUMĂ MODULO 2 ( ) conţinute de circuitul integrat din seria TTL tip CDB 486 (SN 7486) şi o poartă logică ŞI, care aparţine circuitului integrat CDB 408 (SN 7408). Din seria CMOS se pot utiliza MMC 4030/4070 ( ) respectiv MMC 4019 (ŞI). A B

1/4 CDB 486 S=AB= = AB AB

A B

T=A·B

Intrări A B 0 0 0 1 1 0 1 1

Suma AB 0+0 0+1 1+0 1+1

Ieşiri S T 0 0 1 0 1 0 0 1

1/2 S

T S

1/4 CDB 408 (a) Schema logică (b) Tabel de adevăr Figura 6.1.1: Semisumatorul logic „1/2 S”

(c) Simbol

Tabelul de adevăr sau de funcţionare este dat în figura 6.1.1(b), iar simbolul unui semisumator în figura 6.1.1(c). Practic, operaţia de adunare a două numere binare Ai şi Bi (cu câte un rang) se efectuează cu sumatoare complete (SC), fiecare sumator fiind format din două semisumatoare, notate 1/2 S1 respectiv 1/2 S2 şi o poartă logică SAU (figura 6.1.2(a)). Din tabelul de adevăr (figura 6.1.2(b)) reiese că un sumator complet pentru un rang are trei intrări: intrările de date Ai şi Bi şi bitul de transport de la etajul anterior Ti, precum şi două ieşiri: Si (suma corectă) şi Ti+1 (bitul real de transport). Funcţionarea sumatorului poate fi descrisă în trei etape:

Ai

A1

S1

1/2 S1 Bi Ti

B1

T1

Si

A2

1/2 S2 B2

Si

S2 T2

Ti1 SAU Ti1

Ti+1

SC

Ti 0 0 0 0 1 1 1 1

Intrări Ai 0 0 1 1 0 0 1 1

Bi 0 1 0 1 0 1 0 1

Si 0 1 1 0 1 0 0 1

Ieşiri Ti+1 0 0 0 1 0 1 1 1

(a) Conectarea a două semisumatoare (b) Tabel de adevăr Figura 6.1.2: Sumator complet SC pentru adunarea numerelor binare

91

- se adună Ai cu Bi, obţinându-se rezultatele intermediare S i (sumă) şi Ti1 (transport). - se adună S i cu Ti, în urma căreia rezultă suma corectă Si şi bitul intermediar de transport Ti 1 . - se adună cei doi biţi intermediar de transport, Ti1 şi Ti 1 , astfel că la ieşirea porţii logice se obţine bitul real de transport Ti+1. Pentru adunarea numerelor binare cu mai multe ranguri, se înseriază un număr de sumatoare complete, egal cu numărul rangurilor. În figura 6.1.3 este prezentat un sumator paralel pentru numere binare cu câte opt ranguri, care se notează A7 : 0 şi B7 : 0. A7 B7

T8

SC7

S7

A6 B6

T7

SC6

A1 B1

T6

T2

SC1

A0 B0

T1

SC0

T0

S6 S1 S0 Figura 6.1.3: Sumator paralel cu opt ranguri

La ieşirile sumatoarelor se obţine suma: S7 + S6 + S5 + S4 + S3 + S2 + S1 + S0 şi transportul T8. Practic, acest sumator se poate construi de exemplu cu două circuite integrate tip CDB 483 (SN 7483), care reprezintă sumatoare complete pe 4 biţi (ranguri). Prin completarea schemei sumatorului cu circuite logice suplimentare, asupra operanzilor binari se pot efectua şi alte operaţii aritmetice şi logice. Selecţia operaţiilor se realizează cu ajutorul semnalelor de comandă. Un astfel de circuit complet stă la baza UAL (Unitatea Aritmetică Logică). 6.1.2. Codificatoare Un codificator transformă un caracter uzual (literă, cifră, semn de punctuaţie sau semn algebric) în cuvânt binar. În figura 6.1.4(a) este dat un codificator de adresă CA, care are 7 intrări (A6, …, A0) şi 3 ieşiri: f2, f1, f0. Funcţionare. Dacă o intrare Ai, 0  i  6, se găseşte în starea logică 1, iar celelalte intrări sunt în starea 0, atunci ieşirile furnizează codul binar al numărului zecimal i. De exemplu, dacă este necesară codificarea cifrei zecimale 1, reprezentat în baza 10 prin 1(10), la intră-

A6 A5 A4 A3 A2 A1 A0

f2 f1 f0

CA

(a) Schema–bloc

A6 0 0 0 0 0 0 1

A5 0 0 0 0 0 1 0

Intrări A4 A3 A2 A1 A0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (b) Tabel de adevăr

Figura 6.1.4: Codificator de adrese

92

f2 0 0 0 1 1 1 1

Ieşiri f1 f0 0 1 1 0 1 1 0 0 0 1 1 0 1 1

rile circuitului ajunge combinaţia A6 A5 A4 A3 A2 A1 A0 = 0 0 0 0 0 0 1, astfel că la ieşiri va apare combinaţia f2 f1 f0 = 0 0 1 etc. – vezi tabelul de adevăr din figura 6.1.4(b). Pentru a implementa un asemenea codificacator cu porţi logice, din tabelul de adevăr se ob- A6 A5 A4 A3 A2 A1 A0 servă mai întâi că dacă una din intrările A6, A5, A4 sau A3 este în starea 1, atunci şi ieşirea f2 = 1. De f2 asemenea, dacă A6 A5 A4 A3 = 0 0 0 0 atunci şi f2 = 0. Rezultă că pentru implementarea funcţiei f2 se poate utiliza o poartă logică SAU cu 4 intrări f1 A6, A5, A4, A3 (figura 6.1.5). În mod analog se introduce poarta logică SAU cu intrările A6, A5, A2, A1 şi ieşirea f1, precum şi poarta logică SAU cu f0 intrările A6, A4, A2, A0 şi ieşirea f0. Din examinarea tabelului de adevăr din figura 6.1.4(b) se constată că sunt înscrise numai 7 Figura 6.1.5: Codificator de adrese combinaţii ale intrărilor, din cele 2 7 = 128 comcu porţi logice SAU binaţii posibile. Această observaţie arată de fapt şi dezavantajul codificatorului: nu se poate aduce niciodată simultan pe două sau mai multe intrări nivelul logic 1. În caz contrar ieşirea f2 f1 f0 ar avea o combinaţie neconformă cu tabelul de adevăr. De exemplu, dacă A6 A5 A4 A3 A2 A1 A0 = 0 0 0 0 0 1 1 atunci, pe baza schemei din figura 6.1.5, ar rezulta f2 f1 f0 = 0 1 1. Această combinaţie a ieşirii ar corespunde (conform tabelului) unui cuvânt binar la intrare de forma A6 A5 A4 A3 A2 A1 A0 = 0 0 0 0 1 0 0. Dar, intrarea A2 nici nu a fost măcar activată (adi-că trecută pe nivelul logic 1), această stare fiind prezentă numai la intrările A1 şi A0. Dezavantajul menţionat mai sus se poate elimina atunci când se utilizează un codificator prioritar. Astfel, se consideră că o intrare Aj are o prioritate mai mare decât intrarea Ak dacă j > k. În acest caz intrarea A6 are cea mai mare prioritate iar A0 cea mai mică. Revenind la combinaţia A6 A5 A4 A3 A2 A1 A0 = 0 0 0 0 0 1 1 analizată anterior, acum va fi luată în consideraţie starea A6 A5 A4 A3 A2 A1 A0 = 0 0 0 0 0 1 0 deoarece A1 > A0, astfel că la ieşiri va apărea starea corectă f2 f1 f0 = 0 1 0. Codificatorul din figura 6.1.5 se poate realiza cu porţile SAU din circuitul MMC 4072. 6.1.3. Decodificatoare Decodificatorul este un circuit logic care transformă o informaţie dintr-un anumit cod în alt cod recunoscut de receptor. Se vor analiza decodificatoare care efectuează convertirea din cod binar în cod zecimal (DB–Z), decodificatoare pentru trecerea din „zecimal codat binar” (BCD – Binary Coded Decimal – vezi şi §6.1.3.2) în cod zecimal (DBCD–Z) şi decodificatoare care transformă codul BCD în cod „7 segmente” (DBCD–7). 6.1.3.1. Decodificatoare din cod binar în cod zecimal A) Reprezentarea decodificatoarelor din cod binar în cod zecimal Aceste decodificatoare dispun de n intrări de selecţie (In–1, In–2, …, I1, I0) şi 2n ieşiri fi n (i = 2 –1, 2n–2, …, 21, 20). Intrarea In–1 reprezintă cea mai semnificativă intrare de selecţie. Modul cum se realizează decodificarea este ilustrat în figura 6.1.6. Tabelul de adevăr din figura 6.1.6(b) este reprezentat pentru n = 3. În cazul general, dacă numărul binar (In–1, In–2, …, I1, I0)2 este egal cu numărul zecimal (k)10 (0  k  2n–1), atunci ieşirea fk = 1 (este activată), iar restul ieşirilor este în starea 0 (ieşiri inactive). Se spune că decodificatorul binar–zecimal (DB–Z) este activ pe nivelul logic 1, deoarece ieşirea este în 1 corespunzătoare combinaţiei de la intrare pe care o decodifică. De exemplu, dacă decodificatorul are două intrări de selecţie, I1– cea mai semnificativă şi I0, atunci ieşirile fi sunt în număr de 22 = 4, notate f3 f2 f1 f0.

93

In–1 In–2

f 2n 1 DB–Z f1

I1 I0

f0 (a) Schema–bloc

Intrări de selecţie Ieşiri I2 I1 I0 f7 f6 f5 f4 f3 f2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 (b) Tabel de adevăr pentru n = 3

f1 f0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0

Figura 6.1.6: Decodificator din cod binar în cod zecimal activ pe nivel logic 1

Secvenţele de funcţionare sunt: - dacă I1 I0 = 0 0 atunci f3 f2 f1 f0 = 0 0 0 1, deoarece (00)2 = (0)10 - dacă I1 I0 = 0 1 atunci f3 f2 f1 f0 = 0 0 1 0, deoarece (01)2 = (1)10 - dacă I1 I0 = 1 0 atunci f3 f2 f1 f0 = 0 1 0 0, deoarece (10)2 = (2)10 - dacă I1 I0 = 1 1 atunci f3 f2 f1 f0 = 1 0 0 0, deoarece (11)2 = (3)10. Observaţie. Decodificatorul realizează funcţia inversă funcţiei pe care o elaborează codificatorul de adresă. Decodificatorul binar–zecimal (DB–Z) din figura 6.1.7 este activ pe nivel logic 0, adică ieşirea care decodifică combinaţia corespunzătoare aplicată intrărilor de selecţie trece (se ac-tivează) în starea 0 când se produce operaţia de decodificare, restul ieşilor fiind pe nivel 1. De exemplu, dacă decodificatorul are două intrări de selecţie (I1 şi I0) respectiv ieşirile f3 f2 f1 f0 atunci rezultă următoarele secvenţe de funcţionare: - dacă I1 I0 = 0 0 atunci f3 f2 f1 f0 = 1 1 1 0, deoarece (00)2 = (0)10 - dacă I1 I0 = 0 1 atunci f3 f2 f1 f0 = 1 1 0 1, deoarece (01)2 = (1)10 - dacă I1 I0 = 1 0 atunci f3 f2 f1 f0 = 1 0 1 1, deoarece (10)2 = (2)10 - dacă I1 I0 = 1 1 atunci f3 f2 f1 f0 = 0 1 1 1, deoarece (11)2 = (3)10. Decodificatorul cu n intrări de selecţie şi 2n ieşiri se mai numeşte şi „decodificator 1 din n 2 ”, deoarece se activează numai o singură ieşire care depinde de nivelele logice aplicate la intrările de selecţie.

In–1 In–2

Intrări de selecţie I2 I1 I0

Ieşiri

f 7 f 6 f 5 f 4 f 3 f 2 f1 f 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 DB–Z 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 f1 1 0 0 1 1 1 0 1 1 1 1 I1 f0 I0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 (a) Schema–bloc (b) Tabel de adevăr pentru n = 3 Figura 6.1.7: Decodificator din cod binar în cod zecimal activ pe nivel logic 0 f 2n 1

94

B) Proiectarea cu porţi logice a decodificatoarelor binar–zecimal Implementarea porţilor logice pentru realizarea decodificatorului constă în parcurgerea etapelor corespunzătoare sintezei circuitelor logice combinaţionale atunci când se cunosc stările intrărilor şi ieşirilor (§3.1.2). Exemplul 6.1.1. Să se sintetizeze cu porţi logice un decodificator binar–zecimal activ pe nivel logic 0 şi care are trei intrări de selecţie (I2, I1, I0). R 6.1.1. Schema–bloc este analogă cu cea prezentată în figura 6.7(a), cu menţiunea că intrările de selecţie sunt I2, I1 şi I0, iar ieşirile se notează cu f7, f6, f5, f4 f3, f2, f1 şi f0. Aceste notaţii se regăsesc şi în tabelul de adevăr din figura 6.1.7(b) al noului decodificator . Se construiesc diagramele Karnaugh corespunzătoare celor opt ieşiri (figura 6.1.8(a)). I2 I1 I0 0 1

00

01

11

10

1 1

1 1

1 0

1 1

I2 I1 I0 0 1

00

01

11

10

I0

11

10

1 1

1 0

1 1

1 1

I2 I1

00

01

11

10

1 1

0 1

1 1

1 1

I0

0 1

1 1

1 1

0 1

1 1

I2 I1

00

01

11

10

I2 I1

00

01

11

10

1 0

1 1

1 1

1 1

I0 1 1

1 1

1 1

1 0

00

01

11

10

I2 I1

1 1

f2 f3

f5

f6 00

01

11

10

0 1

1 1

1 1

1 1

I0 1 1

f0

f1 = I 2 + I1 + I 0

I0 1 1

I0

f4

0 1

f5 = I 2 + I1 + I 0 I2 I1

I1

f2 = I 2 + I1 + I 0

I0 0 1

I2

f1

0 1

f6 = I 2 + I1 + I 0

0 1

01

f3 = I 2 + I1 + I 0

f7 = I 2 + I1 + I 0 I2 I1

00

0 1

0 1

f7

f0 = I 2 + I1 + I 0 f4 = I 2 + I1 + I 0 (a) Tabelele de adevăr ale ieşirilor (b) Schema logică Figura 6.1.8: Decodificator cu porţi logice ŞI–NU

În urma efectuării minimizării funcţiilor logice de ieşire se obţin expresiile:  f 7  I 2  I 1  I 0 ; f 6  I 2  I 1  I 0 ; f 5  I 2  I1  I 0 ; f 4  I 2  I1  I 0 ; (6.1.1)   f 3  I 2  I 1  I 0 ; f 2  I 2  I 1  I 0 ; f1  I 2  I1  I 0 ; f 0  I 2  I1  I 0 Aceste funcţii se pot implementa direct cu porţi de tip NU (CDB 404/MMC 4049) şi cu porţi SAU cu câte două intrări (CDB 432/MMC 4075). Dacă se utilizează porţi logice ŞI–NU în locul porţilor SAU se ţine cont de faptul că relaţia lui De Morgan: (6.1.2) A  B  A  B , se poate scrie (după negarea ei) sub forma: (6.1.3) ( A  B )  A  B  A  B . Se aplică această formă relaţiilor (6.1). Rezultă:

95

 f  I  I  I ; f  I  I  I 0 ; f  I  I 1  I ; f  I  I 1  I 0 ; 7 2 1 0 6 2 1 5 2 0 4 2 (6.1.4)   f 3  I 2  I1  I 0 ; f 2  I 2  I1  I 0 ; f1  I 2  I 1  I 0 ; f 0  I 2  I 1  I 0 . Schema logică a decodificatorului cu porţile logice ŞI–NU (CDB 410/MMC 4023) care realizează funcţiile logice (6.1.4) este dată în figura 6.1.8.(b). C) Implementarea funcţiilor logice cu ajutorul decodificatoarelor binar–zecimal Din tabelul de adevăr al decodificatorului binar–zecimal activ pe nivel logic 1 (figura 6.1.6(b)) se constată că ieşirea f0 ia valoarea 1 numai dacă intrările de selecţie sunt în starea: In–1 In–2 … I1 I0 = 0 0 … 0 0, în caz contrar având valoarea 0. Funcţia f0 se poate considera un termen ce se poate reprezenta în formă canonică disjunctivă, constituind astfel minterme-nul (termen canonic conjuctiv/termen minimal) P0: (6.5) P0 = I n 1 · I n2 · … · I 1 · I 0 , ~ deoarece variabilele (intrările de selecţie) I k care au în combinaţia respectivă valoarea 0 se scriu negate (vezi §2.5.2.1(1)) În mod asemănător se scrie şi mintermenul P1, care corespunde ieşirii f1 atunci când cuvântul de intrare este In–1 In–2 … I1 I0 = 0 0 … 0 1: (6.6) P0 = I n 1 · I n2 · … · I 1 · I 0 etc. Deci, în general ieşirea fk implementează mintermenul Pk (0  k  2n–1). În cazul decodificatorului binar–zecimal activ pe nivel logic 0 (figura 6.1.7), se deduce că ieşirea fk implementează termenul P k (0  k  2n–1), care este complementar mintermenului Pk de mai sus. Deoarece o funcţie logică cu n variabile (intrări) se poate scrie sub forma unei sume logice de mintermeni, rezultă că acea funcţie logică poate fi realizată cu un decodificator binar– zecimal cu n intrări de selecţie şi cu o poartă logică, poartă ce va implementa suma logică a mintermenilor. Exemplul 6.1.2. Să se implementeze cu ajutorul unui decodificator binar–zecimal (activ pe nivel logic 1) funcţia y (x2, x1, x0) al cărei tabel de adevăr este dat în figura 6.1.9(a). R 6.1.2. Cele trei intrări de selecţie I2, I1 şi I0 ale decodificatorului corespund variabilelor de intrare x2 (cea mai semnificativă), x1 şi x0. Pe baza tabelului de adevăr se construieşte diagrama Karnaugh din figura 6.1.9 (b), cu ajutorul căreia se efectuează operaţia de minimizare, astfel că funcţia de ieşire y va fi: (6.1.7) y = x 2 x1 x0  x 2 x1 x0 . Intrări Pk Ieşire x1 x0 y 0 0 P0 0 0 1 P1 1 1 0 P2 1 1 1 P3 0 0 0 P4 0 0 1 P5 0 1 0 P6 0 1 1 P7 0 (a) T abel de adevăr

x2 x2 x1 00 01 11 10 x0 0 0 1 0 0 1 1 0 0 0 y = x 2 x1 x0  x 2 x1 x0 (b) Diagrama Karnaugh

x1 x0

DB–Z

x2 0 0 0 0 1 1 1 1

f7 f6 f5 f4 f3 f2 f1 f0

(c) Schema logică implementată

Figura 6.1.9: Exemplu de utilizare a unui decodificator binar–zecimal (activ pe nivel logic 1) pentru implementarea funcţiei logice y

96

y

Se constată că expresia (6.1.7) este totodată şi forma canonică disjunctivă a funcţiei y. Din tabelul de adevăr se constată că cei doi termeni ai funcţiei minimizate y corespund mintermenilor P1 (implementat de ieşirea f1), respectiv P2 (implementat de ieşirea f2); deci: (6.1.8) y = P1 + P2. Această funcţie se obţine la ieşirea unei porţi logice SAU (CDB 432/MMC 4075), ale cărei intrări sunt conectate la ieşirile f1 respectiv f2 ale decodificatorului (figura 6.1.9(c)). Exemplul 6.1.3. Să se implementeze cu ajutorul unui decodificator binar–zecimal (activ pe nivel logic 0) funcţile y1 (x2, x1, x0) şi y2 (x2, x1, x0) ale căror tabele de adevăr sunt date în figura 6.1.10(a). Pk x0 0 1 0 1 0 1 0 1

P0 P1 P2 P3 P4 P5 P6 P7

Ieşiri y1 y2 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0

x2 x1 00 01 11 x0 0 1 1 0 1 1 0 0 y1 = x 2 x1  x 2 x0 x2 x1 x0 0 1

00

01

11

10 0 0 10

x2 x1 x0

DB–Z

x2 0 0 0 0 1 1 1 1

Intrări x1 0 0 1 1 0 0 1 1

f7 f6 f5 f4 f3 f2 f1 f0

y2 y1

0 1 0 0 0 1 0 0 y2 = x 2 x1 (c) Schema logică implementată (b) Diagrame Karnaugh (a) Tabel de adevăr Figura 6.1.10: Exemplu de utilizare a unui decodificator binar–zecimal (activ pe nivel logic 0) pentru implementarea funcţiilor logice y1 şi y2

R 6.1.3. Intrările de selecţie I2, I1 şi I0 ale decodificatorului corespund variabilelor de intrare x2 (cea mai semnificativă), x1 şi x0. Din diagramele Karnaugh (figura 6.1.10(b)) se obţin expresiile minimizate ale celor două ieşiri: (6.1.9) y1 = x 2 x1  x 2 x0 ; y2 = x 2 x1 . Formele canonice disjunctive ale funcţiilor de ieşire se determină astfel: y1 = x 2 x1 ( x0  x0 )  x 2 ( x1  x1 ) x0 = x2 x1 x0  x2 x1 x0  x2 x1 x0  x2 x1 x0 y2 = x 2 x1 ( x0  x0 ) = x 2 x1 x0  x 2 x1 x0 ,

 y1  x 2 x1 x0  x 2 x1 x0  x 2 x1 x0  P0  P1  P2 (6.1.10)   y 2  x 2 x1 x0  x 2 x1 x0  P2  P3 Dacă se folosesc porţi logice ŞI–NU pe ieşirile decodificatorului, atunci se aplică relaţiile (6.1.2) respectiv (6.1.3) în ecuaţiile sistemului de mai sus, obţinându-se formele negate:  y1  P0  P1  P2  P0  P1  P2 (6.1.11)   y 2  P2  P3  P2  P3 şi dublu negate: y  y  P  P  P  1 0 1 2 (6.1.12)  1  y 2  y 2  P2  P3 Implementarea funcţiile logice de ieşire y1 şi y2 este reprezentată de schema logică din figura 6.1.10(c).

97

(a) CDB 442

f9 f8 f7 f6 f5 f4 f3 f2 f1 f0

DBCD–Z

DBCD–Z

6.1.3.2. Decodificatoare din „zecimal codat binar” (BCD) în cod zecimal (DBCD–Z) Codul „zecimal codat binar” (BCD – Binary Coded Decimal) constă în transformarea unei cifre zecimale de la 0 la 9 în cod binar cu patru ranguri: 23, 22, 21, 20. Decodificatoarele utilizate în acest scop au 4 intrări binare D, C, B, A (23, 22, 21, 20) şi 10 ieşiri în cod zecimal f9, f8, f7, f6, f5, f4, f3, f2, f1, f0. Ele pot fi active (la ieşiri) pe nivel logic 0 (figura 6.1.11(a) pentru CDB 442), sau pe nivel logic 1 (figura 6.1.11(b) pentru circuitul MMC 4028). Intrările corespund la 16 combinaţii (n = 4), dar se folosesc în mod obişnuit numai primele 10 pentru decodificarea numerelor zecimale de la 0 la 9. De asemenea, ambele decodificatoare se pot utiliza şi ca decodificatoare din BCD în cod octal, atunci când intrarea D este în starea logică 0 (pentru a se decodifica numai primele 8 numere zecimale), precum şi în operaţiile de demultiplexare (vezi şi §6.1.5). În figura 6.1.11(c) este dat tabelul de adevăr pentru decodificatorul activ pe nivel logic 0 (CDB 442), în care sunt marcate ultimele 6 combinaţii care nu se utilizează, precum şi primele 8 combinaţii necesare codului octal de reprezentare. Pentru decodificatorul activ pe ni-

D C B A D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Intrări C B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

f9 1 1 1 1 1 1 1 1 1 0 X X X X X X

f8 1 1 1 1 1 1 1 1 0 1 X X X X X X

f9 f8 f7 f6 f5 f4 f3 f2 f1 f0

(b) MMC 4028

D C B A

f7 1 1 1 1 1 1 1 0 1 1 X X X X X X

f6 1 1 1 1 1 1 0 1 1 1 X X X X X X

Ieşiri f5 f4 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 X X X X X X X X X X X X

f3 1 1 1 0 1 1 1 1 1 1 X X X X X X

f2 1 1 0 1 1 1 1 1 1 1 X X X X X X

f1 1 0 1 1 1 1 1 1 1 1 X X X X X X

f0 0 1 1 1 1 1 1 1 1 1 X X X X X X

Afişare nr. zec. 0 1 2 3 4 5 6 7 8 9 X X X X X X

(c) Tabelul de adevăr pentru CDB 442 Figura 6.11: Decodificatoare din „zecimal codat binar” (BCD) în cod zecimal

98

vel logic 1 tabelul de adevăr se construieşte în mod asemămător, cu deosebirea că ieşirea care decodifică se află în starea logică 1 iar restul ieşirilor în starea logică 0. 6.1.3.3. Decodificatoare din „zecimal codat binar” (BCD) în cod „7 segmente” Aceste decodificatoare, notate DBCD–7, sunt utilizate pentru comandarea afişoarelor cu 7 segmente, care pot să afişeze informaţii alfa (litere) – numerice (cifre în cod zecimal). Din punct de vedere tehnologic segmentele afişoarelor se realizează cu diode electroluminiscente (LED – Light Emitting Diode), cu cristale lichide (LCD – Liquid-Cristal Display), cu tuburi (fluorescente, cu descărcări în gaze sau incandescente). 1) Afişoarele cu LED-uri au un pol comun: fie format din catozii segmentelor, care se leagă la borna „–“a sursei de alimentare (GND) (figura 6.1.12(a)), fie format din anozii segmentelor, care se conectează la borna „+” a sursei de alimentare (Vcc) (figura 6.1.12(b)). Ele au şi un segment–punct zecimal (dp) situat în dreapta sau în stânga lor, sau două puncte zecimale (dp1, dp2). Vc.c.

RBI RBO LT

LE BI LT

a

a R f b

DBCD–7 CDB 446/447

DBCD–7 MMC 4511

R a

a b c d e

g e c

f g

d D C B A

b c

f b

d e f g

g e c

d

dp GND

D C B A

dp1 dp2 (b) Conectarea unui DBCD -7 activ pe nivel logic 0 la un afişor cu anozii comuni

(a) Conectarea unui DBCD -7 activ pe nivel logic 1 la un afişor cu catozii comuni

Figura 6.1.12: Utilizarea decodificatoarelor BCD – 7 segmente

Segmentele (notate a, b, c, d, e, f, g, în sens orar) şi punctele zecimale se conectează la ieşirile decodificatorului prin intermediul unor rezistoare R de limitare a curentului prin diodele segmentelor. Comanda afişoarelor cu catod comun, conectat la „masa” circuitului (GND), se poate realiza cu decodificatorul MMC 4511 (activ pe nivel logic 1). Tabelul de adevăr este dat în figura 6.1.13. Se vor aprinde segmentele corespunzătoare pentru a indica cifra zecimală decodificată (de exemplu cifra 2, care corespunde codului aplicat la intrare având secvenţa D C B A = 0 0 1 0), în momentul când primesc nivel logic 1 de la ieşirile decodificatorului. În acest mod se alimentează anozii respectivi (în cazul de faţă, a, b, g, e, d). Restul anozilor (c şi f) vor în starea logică 0, astfel că aceştia nu se vor aprinde. În afara celor patru intrări tip BCD (D, C, B, A), decodificatorul mai are şi alte trei intrări: BI , LT , LE. Intrarea LT (Lamp Test) activă pe nivel logic 0, permite testarea tuturor LED-urilor prin aprinderea cifrei 8, indiferent de stările (notate cu X) în care se află celelalte şase intrări.

99

LE X X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

BI X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

Intrări LT D 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

X X 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X

C

B

A

a

b

c

X X 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X

X X 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X

X X 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 X

1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0

1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0

1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0

Ieşiri d e 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 *

1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0

Afişare f

g

1 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0

1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0

8 blanc 0 1 2 3 4 5 6 7 8 9 blanc blanc blanc blanc blanc blanc *

Figura 6.1.13: Tabelul de adevăr al circuitului MMC 4511

Intrarea BI (Blanking Input) adusă în starea logică 0 (când LT = 1) comandă modularea intensităţii luminii (stingerea) LED-urilor, indiferent de stările intrărilor BCD. Se mai numeşte şi instrucţiunea de ştergere, fiind reprezentată în tabel de poziţia Blanc. Această poziţie mai corespunde şi codurilor BCD > 1 0 01 nerecunoscute de decodificator. Intrarea LE / STROBE (Latch Enable or STROBE) este folosită pentru blocarea ieşirilor (dacă la intrări apare codul BCD) atunci când este pe nivel logic 0 simultan cu LT = 1, BI = 1 (starea STROBE), sau pentru memorarea codului BCD aplicat la intrare când este în starea logică 1 simultan cu LT = 1 şi BI = 1 (starea LE). Stările notate cu asterisc (*) depind de codul BCD aplicat anterior atunci când intrarea LE era în starea logică 0. Comanda afişoarelor cu anod comun se poate efectua cu circuitul integrat CDB 446 care are etajele de ieşire cu colector în gol ce se pot alimenta la +15 V, sau cu CDB 447 (cu etaje de ieşire cu colector în gol la +30 V). Ieşirile acestor circuite sunt active în starea logică 0. Tabelul de adevăr comun celor două circuite este dat în figura 6.1.14. Pe lângă intrările de tip BCD, circuitele mai dispun şi de intrările notate BI / RBO , RBI şi LT . BI / RBO (Blaking Input/Ripple Blank Output) reprezintă intrarea de ştergere ( BI ) şi /sau ieşirea de ştergere succesivă ( RBO ). Pentru afişarea cifrelor 0…9 trebuie ca BI = 1, iar RBI să fie în starea logică 1 în timpul aplicării semnalului la intrarea zecimală 0 (nota (1)). Când se aplică semnal logic 0 la intrarea de ştergere BI (condiţia de forţare), toate ieşirile decodificatorului devin 1, indiferent de starea celorlalte şase intrări (nota (2) din tabel). Intrarea RBI (Ripple Blank Input) este o intrare de ştergere succesivă. Când RBI = 0 şi la intrările de date există combinaţia DCBA = 0 0 0 0, atunci toate ieşirile devin 1, iar RBO trece pe nivel logic 0, ceea ce corespunde condiţiei de răspuns (nota (3)). Când intrarea LT (Lamp Test) este adusă în 0 se testează LED-urile segmentelor (se aprinde cifra 8) atunci când BI / RBO = 1 (sau în gol) şi indiferent de starea intrării RBI ((4)).

100

Intrări LT X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

D

C

RBI BI / RBO X 0 X X 0 0 0 0 1 1 0 0 X 1 0 0 X 1 0 0 X 1 0 0 X 1 0 1 X 1 0 1 X 1 0 1 X 1 0 1 X 1 1 0 X 1 1 0 X 1 1 0 X 1 1 0 X 1 1 1 X 1 1 1 X 1 1 1 X 1 1 1 X 1 X X (1) (2) (3) (4) – vezi explicaţiile din text

B

A

a

b

c

X 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X

X 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 X

1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0

1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0

1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0

Ieşiri d 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 0

Afişare e

f

g

1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0

1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0

1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0

(2) (3)

0(1) 1(1) 2 3 4 5 6 7 8 9 – – – – – – 8(4)

Figura 6.1.14: Tabel de adevăr comun circuitelor CDB 446/447

Decodificatoarele SN 7448 şi SN 7449 sunt active pe nivel logic 1, neputând însă comanda direct segmmentele afişoarelor cu catod comun. Circuitul SN 7448 are ieşirea cu sarcină rezistivă, iar circuitul SN 7449 nu dispune de intrările BI / RBO , RBI şi LT . Tabelele de adevăr ale acestor circuite sunt asemănătoare cu cele ale circuitelor CDB 446 /447, cu deosebirea că nivelele logice ale ieşirilor sunt acum inversate. Astfel, pentru cifra 3 combinaţia la ieşire este a b c d e fg = 1 1 1 1 0 0 1, în loc de 0 0 0 0 1 1 0. Intrări Ieşiri AfiSinteza cu porţi logice a unui decodifiD C B A a b c d e f g şare cator pentru afişoare cu catod comun 0 0 0 0 1 1 1 1 1 1 0 0 Exemplul 6.1.4. Să se proiecteze un de0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 codificator BCD –„7 segmente” activ pe nivel 0 0 1 1 1 1 1 1 0 0 1 3 logic 1, la care cifrele zecimale vor fi formate 0 1 0 0 0 1 1 0 0 1 1 4 din următoarele segmente: 0 (a b c d e f), 1 (b 0 1 0 1 1 0 1 1 0 1 1 5 c), 2 (a b d e g), 3 (a b c d g), 4 (b c f g), 5 (a c 0 1 1 0 1 0 1 1 1 1 1 6 d f g), 6 (a c d e f g), 7 (a b c), 8 (a b c d e f g), 0 1 1 1 1 1 1 0 0 0 0 7 9 ( a b c d f g). Tabelul de adevăr este dat în fi1 0 0 0 1 1 1 1 1 1 1 8 gura 6.1.15. 1 0 0 1 1 1 1 1 0 1 1 9 R 6.1.4. Pe baza tabelului de adevăr se 1 0 1 0 X X X X X X X X stabilesc diagramele Karnaugh pentru funcţiile 1 0 1 1 X X X X X X X X de ieşire a, b, c, d, e, f şi g, care au variabilele 3 2 1 0 1 1 0 0 X X X X X X X X de intrare D C B A (2 2 2 2 ). Combinaţiile 1 1 0 1 X X X X X X X X de intrare aferente decodificării cifrelor zeci1 1 1 0 X X X X X X X X male 10…15 corespund unor termeni redon1 1 1 1 X X X X X X X X danţi astfel că stările ieşirilor marcate cu X vor fi considerate ca având starea 1 (figura 6.1.16). Figura 6.1.15: Tabel de adevăr

101

DC BA 00 01 11 10

00

01

11

10

1 0 1 1

0 1 1 1

X X X X

1 1 X X

DC BA 00 01 11 10

Segmentul a DC BA 00 01 11 10

00

01

11

10

1 1 1 1

1 0 1 0

X X X X

1 1 X X

11

10

1 0 1 1

0 1 0 1

X X X X

1 1 X X

DC BA 00 01 11 10

00

01

11

10

1 0 0 1

0 0 0 1

X X X X

1 0 X X

Segmentul e

00

01

11

10

1 1 1 0

1 1 1 1

X X X X

1 1 X X

DC BA 00 01 11 10

Segmentul c DC BA 00 01 11 10

01

Segmentul d

Segmentul b DC BA 00 01 11 10

00

00

01

11

10

1 0 0 0

1 1 0 1

X X X X

1 1 X X

Segmentul f

00

01

11

10

0 0 1 1

1 1 0 1

X X X X

1 1 X X

Segmentul g

Figura 6.1.16: Diagramele Karnaugh pentru exemplul 6.1.4

Operaţia de minimizare se efectuează pentru formele normale disjunctive ale funcţiilor de ieşire. Se obţin expresiile: a  A C  B  D  A C  b  C  A B  D  A B  c  B  C  A B  D d  ( A C  A B )  D  A B C  B C  (6.1.13)   Y  D  A B C  B C  e  C D  B D  A C  A B f  AB ABCD ABC   g  B C  A B  D  B C D O variantă de implementare cu porţi logice a decodificatorului este arătată în figura 6.1.17. Practic, decodificatorul poate fi realizat fizic cu circuite integrate din seria CMOS: un inversor – MMC 4049 (6 porţi/capsulă, 2 porţi nefolosite), trei integrate cu porţi ŞI cu câte două intrări – MMC 4081 (4 porţi/capsulă) şi patru integrate cu porţi SAU cu câte patru intrări – MMC 4072, în total opt circuite integrate. Observaţie. Pentru a asigura o poartă SAU cu patru intrări şi pentru funcţia de ieşire d s-a utilizat poarta intermediară SAU, cu funcţia de ieşire Y  A C  A B .

102

D

C

B

A

Y  A CA B

a

AB b AC CD

BC D

AB

A BC

c

d

BC

Y e

AB A BC

AC

f

BD

g CD

Figura 6.1.17: Implementarea cu porţi logice a unui decodificator BCD – „7 segmente” activ pe nivel logic 1

Un alt mod de implementare cu porţi logice se bazează pe utilizarea relaţiilor (6.1.2) respectiv (6.1.3) în ecuaţiile sistemului (6.1.13). Această reprezentare permite folosirea porţilor logice ŞI–NU, cu câte două sau patru intrări şi a inversoarelor NU, conţinute de circuitele integrate din seria TTL. Schema logică din figura 6.1.17 se poate utiliza şi pentru comanda afişoarelor cu anod comun, prin adăugarea unei porţi inversoare (NU) la fiecare ieşire a decodificatorului, rezultând un total de nouă circuite integrate (rămâne liberă numai o poartă inversoare). 2) Afişoarele LCD se pot comanda direct de la ieşirile unor circuite integrate realizate în tehnologie CMOS: MMC 4054, MMC 4055 şi MMC 4056, precum şi MMC 4543. 2a) MMC 4054, MMC 4055, MMC 4056 MMC 4054 este un circuit de comandă (driver) pentru afişor cu cristale lichide cu 4 segmente dedicate afişării punctului zecimal, coloanei, polarităţii sau altor linii similare. Circuitul integrat MMC 4055 reprezintă un decodificator/circuit de comandă (driver) BCD – „7 segmente” cu ieşire „Frecvenţă afişaj”, iar MMC 4056 este un decodificator/circuit de comandă (driver) BCD – „7 segmente” cu funcţie (intrare) STROBE pentru blocarea intrărilor BCD. Circuitele MMC 4055 şi MMC 4056 sunt prevăzute cu funcţii de modificare a nivelelor de tensiune. Această caracteristică permite variaţia (excursia) VDD – VSS a semnalului BCD de intrare, în acelaşi fel sau în mod diferit cu excursia VDD – VEE a semnalului de ieşire, unde VDD este tensiunea pozitivă de alimentare, VEE reprezintă tensiunea negativă de alimentare şi VSS este potenţialul mai scăzut în raport cu VDD. Dacă VDD – VEE > 15V atunci VDD – VSS 

103

 4V. Practic, dacă tensiunea pe afişor este VDD – VEE = 18V, aceasta se dublează pe segmentul selectat (decodificat), ajungând la valoarea efectivă de 36V. Ieşirile de comandă ale segmentelor sunt controlate de intrarea „Frecvenţă afişaj” (DF – Display Frequency) care determină ca ieşirile să fie în stările logice 0 (1), sau sub formă de impulsuri dreptunghiulare (necesare afişoarelor cu cristale lichide). Astfel, când DF = 0, ieşirea selectată de intrările BCD corespunzătoare trece în starea logică 1. Dacă DF = 1, ieşirea selectată de intrările BCD respective este pe nivel logic 0, iar când la intrarea DF se aduc impulsuri dreptunghiulare atunci la ieşiri apar tot impulsuri dreptunghiulare dar defazate cu 180. Frecvenţa impulsurilor este de 30...200Hz. Circuitul MMC 4055 are o ieşire „Frecvenţă afişaj” (DF) cu nivel ridicat de tensiune necesar comandării afişoarelor cu cristale lichide cu electrod comun. Circuitele MMC 4055 şi MMC 4056 permit afişarea informaţiilor alfa (literele L, P, H, A) – numerice (cifrele 0...9) şi a poziţiei Blanc. Circuitul MMC 4054 este complementar celorlate două circuite, având intrările DF şi STROBE, corespunzătoare celor patru segmente de afişare ale unor semne specifice (punct zecimal, coloană, polaritate, sau altele asemănătoare), cu aceleaşi funcţiuni descrise mai sus. 2b) MMC 4543 Acest decodificator/circuit de comandă (driver) cu latch se utilizează în special pentru afişoare cu cristale lichide, dar şi pentru alte tipuri de afişoare. El realizează şi funcţiile unui „latch” de memorare pe patru biţi, având posibilitatea de inversare a nivelelor logice ale combinaţiilor de la ieşire. Tabelul de adevăr este prezentat în figura 6.1.18. În afara celor patru intrări în cod BCD, circuitul mai dispune şi de alte trei intrări: Ph, BI şi LD.

LD X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

BI 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0





Intrări Ph* D 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 X 1

C X 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X

B X 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X †

A X 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 X

a 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0

b 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0

c 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0

Ieşiri d 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 *

Afişare e 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0

f 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0

g 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0

Se inversează combinaţiile reprezentate mai sus

blanc 0 1 2 3 4 5 6 7 8 9 blanc blanc blanc blanc blanc blanc ** Afişările indicate pt. Ph = 0

X – stare indiferentă; † – se repetă combinaţiile reprezentate mai sus *, ** – vezi explicaţiile din text

Figura 6.1.18: Tabelul de adevăr al decodificatorului MMC 4543

104

Intrarea Ph (Phase) asigură comanda afişoarelor cu LED-uri cu catod comun când Ph = 0 (decodificator activ pe nivel logic 1), sau cu anod comun atunci când Ph = 1 (decodificator activ pe nivel logic 0). În cazul afişoarelor cu cristale lichide se aplică impulsuri dreptunghiulare între borna Ph şi stratul de bază comun al afişorului (Common Backplane). Modul de utilizare a intrării Ph este indicat în tabelul de adevăr cu (*). Intrarea BI (Blanking Input) comandă singerea afişorului (poziţia Blanc) când BI = 1 şi Ph = 0, pentru LED-uri cu catod comun (sau 1, pentru LED-uri cu anod comun). Intrarea LD (Latch Disable) memorează codul BCD aplicat anterior pe intrări când este în starea logică 0 simultan cu Ph = 0 (1) şi BI = 0. Stările notate cu (**) depind de codul BCD aplicat anterior atunci când LD era în starea logică 1. Decodificatorul comandă segmnetele afişorului sau poziţia Blanc atunci când LD = 1, BI = 0 şi Ph = 0 (1). Conectarea decodificatorului MMC 4543 la dispozitivele de afişare În figura 6.1.19 se prezintă modalităţile de conectare a ieşirilor decodificatorului MMC 4543 la diferite dispozitive de afişare. a) Comanda afişoarelor cu LED-uri a fost analizată anterior, pe baza schemelor prezentate în figura 6.1.12. Dacă tensiunea de alimentare VDD < 10V, sau curentul de aprindere Isg a diodelor unui segment este mai mare de 10 mA, se vor utiliza etaje suplimentare cu tranzistoare bipolare pentru fiecare segment, care vor fi comandate de ieşirile decodificatorului. Există o varietate mare de afişoare cu LED-uri, unele de uz general iar altele cu destinaţie specială (calculatoare de birou, calculatoare de buzunar, instrumentaţie etc.), cu unul, două, patru sau mai mulţi digiţi. În continuare se vor prezenta câteva din aceste afişoare, unele fiind de producţie internă: • Circuit monolitic care conţine un digit pentru afişarea numerelor zecimale de la 0 la 9, cu unul sau două puncte zecimale (figura 6.1.20(a)), cu anod comun sau catod comun, de culoare roşie sau verde, substanţa emisivă fiind fosfura de galiu (GaP). Terminalele circuitului sunt dispuse la fel ca la circuitele integrate uzuale (DIL) (MDE 2101…2104 R/V; MDE 2111.. ..2114 R/V cu înălţimea de 0,3 inch). Conectarea unui segment este dată în figura 6.1.19(a). MMC Afişor cu 4543 catod comun segment ieşire Ph

MMC Afişor cu 4543 anod comun segment ieşire Ph

VSS

MMC 4543 ieşire

segment

Ph

VDD

VSS

Impulsuri dreptunghiulare VSS – VDD

VDD

Dacă VDD < 10V sau Isg  10mA se prevăd tranzistoare bipolare pentru comanda segmentelor.

(a) Afişoare cu LED-uri VA

MMC 4543 ieşire

VSS

Ph VSS

(b) Afişor cu cristale lichide Vb

MMC 4543 segment ieşire segment

strat de bază comun

MMC 4543 ieşire

Ph VSS

Vf VSS

segment VSS

Ph VSS

(d) Afişor fluorescent (e) Afişor cu incandescenţă (c) Afişor cu descărcări în gaze Figura 6.1.19: Modul de conectare a afişoarelor la decodificatorul MMC 4543

105

• Circuit monolitic care conţine doi digiţi, pentru afişarea numerelor zecimale de la 0 la 9, cu câte un punct zecimal pentru fiecare digit (în dreapta – figura 6.1.20(b) sau în stânga), restul caracteristicilor fiind la fel ca cele enumerate pentru circuitele cu un digit. Segmentele pot fi conectate în paralel, selecţia unui digit realizându-se prin activarea electrodului comun (anod sau catod) de către un alt circuit prevăzut cu această funcţie. • Circuit imprimat pe care sunt implementaţi patru digiţi cu anod sau catod comun, dispuşi în grupe de câte doi, fără puncte zecimale dar cu două LED-uri care despart cele două grupe (figura 6.1.20(c)), de culoare roşie sau verde, din GaP (MDE 2573 R/V, MDE 2574 R/V; MDE 2583 R/V, MDE 2584 R/V, cu înălţimea de 7,6 mm). Selecţia electrodului comun se efectuează de un alt circuit. Se utilizează în general ca afişoare pentru ceasuri digitale. • Circuit monolitic care conţine un afişor cu cinci segmente pentru reprezentarea semnului „+”, semnului „–“, a coloanei, precum şi două puncte zecimale (figura 6.1.20(d)), cu anod comun sau catod comun, de culoare roşie sau verde, substanţa emisivă fiind GaP (MDE 2201 …2204 R/V; MDE 2211.. 2214 R/V, cu înălţimea de 7,6 mm = 0,3 inch). Terminalele circuitului sunt dispuse la fel ca la circuitele integrate uzuale (DIL). a f

b

f

e

g

dp1

d

b

g e

c dp2

c dp1 dp2

(a) afişor zecimal (b) afişor zecimal cu doi digiţi cu un digit

(d) afişor de semne cu un digit

(c) afişor zecimal cu patru digiţi Figura 6.1.20: Afişoare cu LED-uri

b) Comanda afişoarelor cu cristale lichide Afişoarele cu cristale lichide (LCD) au cunoscut o dezvoltare dosebită în ultima perioadă, fiind de departe cele mai utilizate dispozitive de afişare alfa–numerice, datorită în primul rând consumului foarte redus de energie (se pot alimenta de la baterie), a dimensiunilor mici de gabarit şi a capabilităţilor de implementare în sistemele tehnice complexe care necesită afişarea informaţiilor. De obicei nu sunt introduse într-o carcasă şi de aceea pot fi încorporate mai uşor într-un dispozitiv complex. Ele se produc sub formă de module standard sau module „inteligente”. Modulele standard sunt destinate afişării caracterelor alfa–numerice sau a graficii. Modulele standard pentru caractere pot reprezenta un număr de 8, 12, 16, 20, 24 sau 40 caractere, dispuse pe unul, două, sau patru rânduri. Modulele standard pentru grafică au încorporate controlere, reprezentarea grafică putând fi asigurată de existenţa a 122 … 320 de caractere pe fiecare din cele 32 … 64 rânduri. Modulele „inteligente” sunt prevăzute cu interfaţă serială (RS232), sau cu magistrală serială universală (Universal Serial Bus – USB), cu ajutorul cărora se pot conecta la PC-uri în

106

vederea programării. Caracterele pot fi în număr de 16 (dispuse pe 2 rânduri) sau de 20x4 rânduri la LCD cu interfaţă serială respectiv 16x2, 20x2 sau 20x4 la LCD cu interfaţă USB. Din punct de vedere tehnologic s-au dezvoltat până în prezent LCD cu cristale lichide nematice (rotite, suprarotite şi cu peliculă compensată de cristale suprarotite), precum şi cu cristale lichide colesterice. La afişoarele cu cristale lichide cu un număr mic de caractere, cum este cazul celor utilizate la ceasurile digitale sau la calculatoarele de buzunar, există un singur contact electric pentru fiecare segment care este comandat de un circuit dedicat acestui scop, cum ar fi MMC 4543 (figura 6.1.19(b)). În dispozitivele de afişare de dimensiuni mari pixelii sunt organizaţi în matrici pasive sau active, fiecare pixel fiind adresat pe linie şi pe coloană. Dispozitivele de afişare cu tuburi cu descărcare în gaze (figura 6.1.19(c)), cu tuburi fluorescente (figura 6.1.19(d)) sau cu incandescenţă (figura 6.1.19(e)) sunt mai puţin utilizate în sistemele moderne de afişare. 6.1.4. Multiplexoare Multiplexorul sau selectorul de date primeşte informaţia binară în paralel la intrările de date pe care o transmite pe o singură linie de ieşire, cu ajutorul unor intrări de comandă. 6.1.4.1. Reprezentarea multiplexoarelor În figura 6.21(a) este prezentată schema–bloc a multiplexorului MUX 2n : 1 care are 2n intrări de date Ai (i = 2n–1, 2n–2, … , 21, 20), n intrări de selecţie (In–1, In–2, …, I1, I0), o intrare de activare (validare) EN (ENABLE, denumită şi STROBE) şi o ieşire directă f, intrările A n şi In–1 fiind cele mai semnificative. Multiplexorul efectuează o conversie paralel–serie: 2 1

datele aduse paralel pe intrări sunt transformate în date seriale transmise rând pe rând de o singură ieşire, atunci când este comandată de intrarea de selecţie şi intrarea de validare. În figura 6.1.21(b) este dat tabelul de adevăr al unui multiplexor cu trei intrări de selecţie (I2, I1, I0) şi opt intrări de date (A7, A6, …, A1, A0). Dacă circuitul este activat (EN = 1), atunci la ieşirea f se va regăsi combinaţia intrării Ai selectate. De exemplu, dacă I2 I1 I0 = 0 1 0, atunci ieşirea f coincide cu A2, adică f = A2, deoarece (0 1 0)2 = 21 = (2)10. Dacă EN = 0 circuitul este inactiv, iar ieşirea se află necondiţionat într-o stare precizată de producător (*), de obicei în starea logică 0, sau uneori în starea de înaltă impedanţă (HiZ). Un multiplexor poate fi activat şi pe nivel logic 0, adică EN = 0 (figura 6.1.22(a)), la ieşirea f obţinându-se valorile conform tabelului din figura 6.1.21(b). Dacă EN = 1 circuitul este inactiv (invalidat sau blocat), astfel că ieşirea f trebuie să se afle într-o stare necondiţionată (0 sau HiZ), convenită de producător. intrări de date

intrări de selecţie

A 2n 1 A 2n 2

A1

A0

In–1 In–2 MUX 2n : 1 I1 I0

f

EN validare

Intrări de comandă I2 I1 I0 EN 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 X X X 0

Ieşire f A0 A1 A2 A3 A4 A5 A6 A7 0 (HiZ )*

(b) Tabel de adevăr pentru n = 3 (a) Schema–bloc Figura 6.1.21: Multiplexor cu validare pe nivel logic 1

107

A 2n 1 A 2n 2

A1

A 2n 1 A 2n 2

A0

In–1

A1

A0

In–1

In–2

In–2 MUX 2n : 1

MUX 2n : 1

EN

I1

validare

I0

I1 f

I0

EN validare

f

W (b) Multiplexor cu ieşire complementară

(a) Multiplexor cu ieşire directă

Figura 6.1.22: Multiplexoare cu validare pe nivel logic 0

În figura 6.1.22(b) este reprezentat un multiplexor inversor, adică un multiplexor validat pe nivel logic 0 ( EN = 0) şi a cărei ieşire W este complementară ieşirii directe f. Cu alte cuvinte, la ieşire se obţin datele Ai atunci când sunt adresate de intrările de selecţie respective. 6.1.4.2. Implementarea multiplexoarelor cu porţi logice Exemplul 6.1.5. Să se proiecteze un multiplexor cu patru intrări de date, care să fie activ (validat) pe nivel logic 1. Dacă intrarea de validare este în starea logică 0 atunci ieşirea să se afle necondiţionat în starea logică 0. R 6.1.5. Din enunţ rezultă că intrările de date sunt: A3 (cea mai semnificativă), A2, A1 şi A0, cărora le corespund două intrări de selecţie: I1 (cea mai semnificativă) şi I0 (n = 2). Circuitul funcţionează ca multiplexor dacă intrarea de validare EN = 1 şi este blocat (f = 0) când EN = 0. Schema–bloc a multiplexorului este dată în figura 6.1.23(a). Se stabileşte tabelul de adevăr din figura 6.1.23(b), fără a ţine cont de acţiunea intrării de validare/invalidare EN. Când EN = 1, ieşirea este o funcţie de şase argumente: (6.1.14) f (A3, A2, A1, A0, I1, I0) = A0 I1 I 0 + A1 I1 I 0 + A2 I1 I 0 + A0 I1 I 0 . A3 A2 A1 A0

I1

MUX 4 : 1

I0 f (a) Schema–bloc Intrări I1 I0 0 0 0 1 1 0 1 1

Ieşire f A0 A1 A2 A3

I1

EN

I0

EN

A3

I1 0 I0 0 A0 1 A1

1 A2 A3

(c) Diagrama Karnaugh

A2 f A1 A0

(b) Tabel de adevăr

(d) Schema logică

Figura 6.23: Implementarea unui multiplexor cu validare pe nivel logic 1

108

În figura 6.1.23(c) este dată diagrama Karnaugh. Deoarece intrările de date A3, A2, A1 şi A0 sunt independente (necorelate), rezultă că funcţia (6.1.14) nu poate fi minimizată. Schema logică construită cu porţi logice este prezentată în figura 6.1.23(d). Se utilizează două porţi inversoare (NU), patru porţi ŞI cu câte patru intrări şi o poartă SAU. Conform expresiei funcţiei de ieşire f (6.1.14), o poartă SAU ar trebui să aibă trei intrări, lucru valabil numai când EN = 1. Pentru a realiza blocarea multiplexorului este necesară şi a patra intrare, care constituie intrarea de validare/inhibare (activare/blocare) EN. Se constată că atunci când EN = 0 ieşirile tuturor porţilor ŞI trec în starea logică 0 şi implicit ieşirea f devine 0, astfel că multiplexorul este blocat. 6.1.4.3. Extinderea multiplexării Multiplexoarele–standard cu câte n intrări de date se pot utiliza pentru a obţine multiplexoare cu un număr N mai mare de intrări de date (N > n). Exemplul 6.1.6. Să se implementeze un multiplexor cu opt intrări de date utilizânduse patru multiplexoare cu câte două intrări de date şi un multiplexor cu patru intrări de date. R 6.1.6. Multiplexoarele cu două intrări de date (A1 şi A0) au o intrare de selecţie I0 şi intrarea de validare EN activă pe nivel logic 1 (figura 6.1.24(a)). Funcţia logică a ieşirii f se stabileşte pe baza tabelului de adevăr din figura 6.1.24(b): (6.1.15) f (A1, A0, I0) = A0 I 0 + A1 I 0 . A1 A0 I0 EN Schema logică din figura 6.1.24 (c) conţine inversorul NU, două porţi I0 MUX EN logice ŞI cu câte trei intrări (a treia in2:1 trare se utilizează pentru validare/ invalidare – EN) şi o poartă SAU. f A1 Din tabelul de adevăr reiese că f (a) Schema–bloc dacă I0 = 0, la ieşirea MUX 2:1 apare A0 A0 (cea mai puţin semnificativă), iar Intrare Ieşire când I0 = 1 la ieşire apare A1 (cea mai I0 f (c) Schema logică semnificativă). Această observaţie se 0 A0 va utiliza la proiectarea multiplexoru1 A1 lui extins din figura 6.1.25. Pe nivelul de sus se dispun MUX 2:1 ale căror ie- (b) Tabel de adevăr şiri sunt selectate în funcţie de nivelul Figura 6.1.24: Multiplexor cu două intrări de logic al intrării I0. Astfel, dacă I0 = 0, date şi activ pe nivel logic 1 se activează ieşirile: f3 = A6, f2 = A4, f1 = A2, f0 = A0, iar dacă I0 = 1, vor fi validate: f3 = A7, f2 = A5, f1 = A3, f0 = A1. Pe nivelul de jos se plasează multiplexorul MUX 4:1. Din tabelul de adevăr al acestuia, adaptat la cerinţele exemplului, rezultă că în funcţie de nivelele logice aplicate pe intrările de selecţie I2 şi I1, se selectează una din intrările de date: f3, f2, f1 sau f0, care reprezintă ieşirile multiplexoarelor MUX 2:1. Funcţionarea multiplexorului extins se poate analiza pe baza tabelului de adevăr / funcţionare din figura 6.1.26. De exemplu, dacă I2 I1 I0 = 0 0 0 atunci se selectează la ieşirea f intrarea f0 (conform tabelului de adevăr al MUX 4 : 1), adică A0, dacă şi numai dacă I0 = 0 (conform celor specificate anterior despre funcţionarea MUX 2:1). Dacă I2 I1 I0 = 0 0 1, se selectează A1 deoarece I0 = 1 ş.a.m.d. Multiplexorul extins este activ pe nivel logic scăzut, adică EN = 0. Din cele expuse se constată că intrările de selecţie cele mai puţin semnificative se utilizează la selecţia de pe primul nivel (de sus), iar cele mai semnificative se folosesc la selecţia de pe al doilea nivel şi ieşirile multiplexoarelor de pe primul nivel se conectează la intrările celui de al doilea nivel, în ordine binară naturală.

109

I0

A7

A6

A5

A4

A3

A2

A1

A0

A1

A0

A1

A0

A1

A0

A1

A0

MUX 2 : 1

MUX 2 : 1

MUX 2 : 1

MUX 2 : 1

I

I

I

I

f

EN

f

EN

f

EN

f

EN

nivel 1 Intrări I2 I1 0 0 0 1 1 0 1 1

Ieşire f f0 f1 f2 f3

f3

f2

f1

f0

I1 A3 A2 A1 A0 I0 MUX 4 : 1 I2 EN EN I1 f

Tabel de adevăr MUX 4 : 1 Figura 6.1.25: Multiplexor extins cu opt intrări de date validat pe nivel logic 0

În mod analog se poate construi un multiplexor extins cu 16 intrări de date utilizând patru MUX 4 : 1 pe pri-mul nivel (cu intrările de selecţie I1 şi I0) şi un MUX 4 : 1 pe al doilea nivel (I3 şi I2), sau cu oricare 2n intrări. 6.1.4.4. Utilizarea multiplexoarelor în implementarea funcţiilor logice Funcţiile booleene de n variabile se pot construi cu ajutorul unui multiIntrări multiplexor extins Ieşire plexor cu n intrări de selecţie respectiv I2 I1 I0 f3 f2 f1 f0 f EN 2n intrări de date. 0 0 0 A6 A4 A2 A0 0 A0 Exemplul 6.1.7. Să se imple0 0 1 A7 A5 A3 A1 0 A1 menteze cu ajutorul unui multiplexor 0 1 0 A6 A4 A2 A0 0 A2 funcţia y care are tabelul de adevăr pre0 1 1 A7 A5 A3 A1 0 A3 zentat în figura 6.1.27(a). 1 0 0 A A A A 0 A4 6 4 2 0 R. 6.1.7. Considerăm că variabi1 0 1 A7 A5 A3 A1 0 A5 lele x2, x1 şi x0 ale funcţiei y sunt chiar 1 1 0 A A A A 0 A6 6 4 2 0 intrările de selecţie I2, I1 şi I0 ale multi1 1 1 A A A A 0 A7 7 5 3 1 plexorului, deci avem un MUX 8 : 1 X X X X X X X 1 0 (figura 6.1.27(b)). Dacă se asignează intrările de date ale multiplexorului la Figura 6.1.26: Tabelul de adevăr al selecţiile corespunzătoare în ordinea inmultiplexorului extins dicată în figură, atunci la ieşirea lui se regăseşte una din datele de intrare Ai selectată. De exemplu, dacă x2 x1 x0 (I2 I1 I0) = 0 1 0 atunci la ieşirea f apare valoarea 0 a funcţiei implementate y (asignată intrării A2) etc. Conform configuraţiei intrării de validare/invalidare valorile funcţiei y apar la ieşirea f a multiplexorului dacă EN = 0. Observaţie. Implementarea funcţiilor logice cu ajutorul unui multiplexor nu necesită operaţia de minimizare. Simplificarea implementării cu multiplexoare a funcţiilor logice O funcţie cu n variabile se poate implementa cu un multiplexor cu (n–1) intrări de selecţie şi 2n–1 intrări de date în loc de n intrări de selecţie şi 2n intrări de date dacă una din cele n variabile se introduce în coloana valorilor funcţiei în reprezentarea prin tabelul de adevăr.

110

Intrări x1 0 0 1 1 0 0 1 1

x0 0 1 0 1 0 1 0 1

Ieşire y(x2, x1, x0) 1 0 0 1 0 0 1 1

1 0 0 1 0 0 1 1

x0

I2

I0

I1

A0 A1 A2 A3 A4 A5 A6 A7

MUX 8 : 1

x2 0 0 0 0 1 1 1 1

x2 x1

f

y

EN

(a) Tabelul de adevăr al funcţiei y (b) Multiplexor 8 : 1 Figura 6.1.27: Implementarea cu multiplexor a unei funcţii logice

Modul cum se realizează această operaţie va fi ilustrată reluând exemplul 6.1.7, în care s-a utilizat un multiplexor cu opt intrări de date. Acum se introduce x2 ca variabilă independentă în coloana valorilor funcţiei de ieşire y, rezultând un nou tabel de adevăr (figura 6.1.28 (a)), obţinut pe baza următoarelor observaţii: - dacă x1 x0 = 0 0, atunci y = 1 dacă x2 = 0, şi y = 0 dacă x2 = 1, adică y(0, 0, 0) = 1 şi y(1, 0, 0) = 0; rezultă că, atunci când x1 = 0 şi x0 = 0, funcţia y ia valoarea x 2 - dacă x1 x0 = 0 1, atunci y = 0 dacă x2 = 0, şi y = 0 dacă x2 = 1, adică y(0, 0, 1) = 0 şi y(1, 0, 1) = 0; rezultă că, atunci când x1 = 0 şi x0 = 1, funcţia y ia valoarea 0, indiferent de valoarea pe care o ia x2 - dacă x1 x0 = 1 0, atunci y = 0 dacă x2 = 0, şi y = 1 dacă x2 = 1, adică y(0, 1, 0) = 0 şi y(1, 1, 0) = 1; rezultă că, atunci când x1 = 0 şi x0 = 1, funcţia y ia valoarea x2 - dacă x1 x0 = 1 1, atunci y = 1 dacă x2 = 0, şi y = 1 dacă x2 = 1, adică y(0, 1, 1) = 1 şi y(1, 1, 1) = 1; rezultă că, atunci când x1 = 0 şi x0 = 1, funcţia y este 1, indiferent de valoarea lui x2. Schema logică care se obţine pe baza noului tabel de adevăr este prezentată în figura 6.1.28(b), multiplexorul având acum numai patru intrări de date. Se mai utilizează o poartă inversoare NU pentru a nega variabila x2. Selectarea valorilor funcţiei y la ieşire are loc când EN = 1. 1 Intrări x1 x0 0 0 0 1 1 0 1 1

Ieşire y(x2, x1, x0) x 2 (A0) 0 (A1) x2 (A2) 1 (A3)

x1 x0

x2

0

A3 A2 A1 A0 I1 MUX 4 : 1 nivel 1 EN I0 f y(x2, x1, x0)

(a) Tabel de adevăr (b) Schema logică Figura 6.1.28: Implementarea unei funcţii logice cu un multiplexor care are un număr redus de intrări de date

111

6.1.4.5. Circuitul integrat CDB 4151 cu funcţie de multiplexor Constructiv, multiplexoarele se realizează cu 2 (n = 1), 8 (n = 2) sau 16 (n = 4) intrări de date. Intrări de comandă Ieşiri Circuitul integrat CDB 4151 (SN C B A STROBE Y W 74151) este un multiplexor MUX 8 : 1, care are opt intrări de date (notate D0, D1, 0 0 0 0 D0 D0 … , D7), trei intrări de selecţie (A, B, C), 0 0 1 0 D 1 D1 o intrare de validare/inhibare STROBE 0 1 0 0 D2 (echivalentă cu ENABLE), activă pe nivel D2 0 1 1 0 D3 logic 0 ( STROBE = 0) şi două ieşiri: una D3 directă Y, iar cealaltă complementară W. 1 0 0 0 D4 D4 Dacă STROBE = 1, atunci ieşirea Y este 1 0 1 0 D5 D5 adusă pe nivel logic 0 (W = 1). Tabelul 1 1 0 0 D 6 D6 de adevăr este dat în figura 6.1.29. 1 1 1 0 D7 Circuitul SN 74251 este asemănăD7 tor cu circuitul SN 74151, cu deosebirea X X X 1 0 (HiZ*) 1 (HiZ*) că intrarea de validare STROBE = 1 adu- * pentru circuitul SN 74251 ce ieşirea Y (W) în starea de înaltă impeFigura 6.1.29: Tabelul de adevăr al circuitelor danţă (HiZ). integrate 74151 şi 74251 6.1.5. Demultiplexoare Demultiplexorul sau distribuitorul de date primeşte o informaţie binară pe o singură in-trare pe care o transmite la ieşire pe linii paralele, cu ajutorul unor intrări de comandă. 6.1.5.1. Reprezentarea demultiplexoarelor Demultiplexorul DEMUX 1 : 2n din figura 6.1.30(a) are n intrări de selecţie (In–1, In–2, … I1, I0), 2n ieşiri de date Qi (i = 2n–1, 2n–2, … , 21, 20), o intrare de activare (validare) EI (Enable Input), care este de fapt intrarea de date y. Ieşirea de date Q n şi intrarea de selecţie 2 1

In–1 sunt cele mai semnificative. Demultiplexorul efectuează o conversie serie–paralel a informaţiei, adică funcţia inversă pe care o realizează un multiplexor (convertor paralel–serie). În figura 6.1.30(b) este dat tabelul de adevăr al unui demultiplexor cu trei intrări de selecţie (I2, I1, I0) şi opt ieşiri de date (Q7, Q6, …, Q1, Q0). Dacă circuitul este activat/validat, adică EI = 1, atunci informaţia binară prezentă pe intrarea y  EI va fi transferată la ieşirea Qi

y

EI

DEMUX 1 : 2n

intrare de date

Q 2n 1

Q 2n  2

Q1

Q0 ieşiri

EI 1 1 1 1 1 1 1 1 0

Intrări I2 I1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 X X

I0 0 1 0 1 0 1 0 1 X

Q7 0 0 0 0 0 0 0 1 0

Q6 0 0 0 0 0 0 1 0 0

Q5 0 0 0 0 0 1 0 0 0

Ieşiri Q4 Q3 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0

Q2 0 0 1 0 0 0 0 0 0

In–1 I1 I0 selecţie (b) Tabel de adevăr pentru n = 3 (a) Schema–bloc Figura 6.1.30: Demultiplexor cu validare pe nivel logic 1

112

Q1 0 1 0 0 0 0 0 0 0

Q0 1 0 0 0 0 0 0 0 0

selectată de intrările de selecţie. În acest caz, ieşirea Qi selectată va trece în starea logică 1 iar celelalte ieşiri vor fi pe nivel logic 0. De exemplu, dacă I2 I1 I0 = 0 1 1 atunci ieşirea care va fi activată este Q3 (Q3 = y = 1), deoarece (0 1 1)2 = 0 · 22 1 · 21 + 1 · 20 = (3)10. Dacă EI = 0, atunci circuitul este inactiv/inhibat (datele de la intrarea y nu sunt transferate la nicio ieşire), iar toate ieşirile se află în starea logică 0. Demultiplexorul activat pe nivel logic 0 este prezentat în figura figura 6.1.31(a). Datele sunt transmise către ieşirea selectată Qi atunci când EI = 0, caz în care Qi = 0 iar celelate ieşiri sunt în starea logică 1, aşa cum rezultă din tabelul de adevăr din figura 6.31 (b), reprezentat pentru cazul particular n = 3. Se constată că demultiplexorul funcţioneză şi ca un decodificator din cod binar în cod zecimal. Dacă EI = 1, circuitul devine inactiv, toate ieşirile sale fiind pe nivel logic 1.

y

EI

DEMUX 1 : 2n

intrare de date

Q 2n 1 Q 2n  2

Q1 Q0 ieşiri

EI

Intrări I2 I1

I0

Q7

Q6

Q5

Ieşiri Q 4 Q3

Q2

Q1

Q0

0 0 0 0 0 0 0 0 1

0 0 0 0 1 1 1 1 X

0 1 0 1 0 1 0 1 X

1 1 1 1 1 1 1 0 1

1 1 1 1 1 1 0 1 1

1 1 1 1 1 0 1 1 1

1 1 1 1 0 1 1 1 1

1 1 0 1 1 1 1 1 1

1 0 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1

0 0 1 1 0 0 1 1 X

1 1 1 0 1 1 1 1 1

In–1 I1 I0 selecţie (b) Tabel de adevăr pentru n = 3 (a) Schema–bloc Figura 6.1.31: Demultiplexor cu validare pe nivel logic 0

6.1.5.2. Implementarea demultiplexoarelor cu porţi logice Implementarea cu porţi logice a demultiplexoarelor se realizează în mod asemănător construirii cu porţi logice a decodificatoarelor binar–zecimal (vezi §6.1.3.1), la care se mai adaugă intrarea de activare/dezactivare (validare/invalidare) EI pe intrările porţilor logice finale ale decodificatorului. Exemplul 6.1.8. Să se implementeze cu porţi logice un demultiplexor activ pe nivel logic 0, care are trei intrări de selecţie ((I2, I1, I0) şi, evident opt ieşiri de date. R 6.1.8. Tabelul de adevăr al demultiplexorului este cel din figura 6.1.31 (b), care este asemănător cu tabelul de adevăr al decodificatorului binar–zecimal din figura 6.1.7(b), cu excepţia coloanei intrării de validare EI . O primă schemă logică se obţine parcugând mai întâi etapele descrise în §6.1.3.1 pentru exemplul 6.1.1, neluând în considerare intrarea de validare. Schema logică a demultiplexorului se construieşte pe baza schemei din figura 6.1.8 (b), la care se adaugă linia de activare/validare EI , fapt ce impune utilizarea unor porţi logice finale de tipul ŞI –NU cu câte patru intrări, aşa cum se arată în figura 6.1.32. 6.1.5.3. Utilizarea demultiplexoarelor pentru implementarea funcţiilor logice În §6.1.3.1(pct.C) s-a prezentat modul de sintetizare a unor funcţii logice cu ajutorul decodificatoarelor. Deoarece un demultiplexor are în plus faţă de un decodificator intrarea de validare, rezultă că funcţiile logice se pot reprezenta şi cu demultiplexoare atunci când acestea sunt activate (pe nivel logic 1 sau 0), parcurgând etapele descrise în paragraful menţionat.

113

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

EI

S0 S1 S2 Figura 6.1.32: Demultiplexor 1 : 8 activ pe nivel logic 0 realizat cu porţi logice

6.1.5.4. Extinderea demultiplexării Cu ajutorul unor demultiplexoare–standard cu câte n ieşiri de date se pot obţine demultiplexoare cu un număr mai mare de ieşiri de date N (N > n). Exemplul 6.1.9. Să se proiecteze un demultiplexor cu 16 ieşiri (DEMUX 1 : 16) activ pe nivel logic 1, utilizând demultiplexoare cu câte patru ieşiri de date (DEMUX 1 : 4). R 6.1.9. Implementarea celor cinci demultiplexoare DEMUX 1 : 4 necesare constă în dispunerea pe primul nivel al schemei logice a patru dintre acestea (figura 6.1.33), comandate de intrările de selecţie I1 (cea mai semnificativă) şi I0. Pe nivelul inferior este situat al cincilea demultiplexor, care este selectat de intrările I3 respectiv I2. Acesta are ieşirile de date conectate la intrările de validare EI ale demultiplexoarelor de pe nivelul superior iar intrarea sa de validare este totodată şi intrarea serială de date y a demultiplexorului extins. Tabelul de adevăr al demultiplexorului de pe nivelul de jos este arătat în figură. Dacă y = 0 atunci DEMUX nr. 5 este inactiv şi deci y3 = y2 = y1 = y0 = 0, astfel că toate DEMUX de pe nivelul de sus sunt blocate (inactive). Deci, Q15 = Q14 = … = Q1 = Q0 = 0. Dacă y = 1 atunci DEMUX nr. 5 este activ şi în raport cu stările logice ale intrărilor de

I1 I0

Q15 Q14 Q13 Q12

Q11 Q10 Q9 Q8

Q7 Q6 Q5 Q4

Q3 Q2 Q1 Q0

Q3 Q2 Q1 Q0 I1 DEMUX 1 : 4 4 I0 EI

Q3 Q2 Q1 Q0 I1 DEMUX 1 : 4 3 I0 EI

Q3 Q2 Q1 Q0 I1 DEMUX 1 : 4 2 I0 EI

Q3 Q2 Q1 Q0 I1 DEMUX 1 : 4 1 I0 EI

Intrări EI I3 1 0 1 0 1 1 1 1 0 X

I2 0 1 0 1 X

y3 0 0 0 1 0

Ieşiri y2 y1 0 0 0 1 1 0 0 0 0 0

y3 y0 1 0 0 0 0

y2

y1

y0

Q3 Q2 Q1 Q0 I1 DEMUX 1 : 4 I0 5 EI

I3 I2

y

intrare de date

Tabel de adevăr DEMUX 1 : 4 Figura 6.1.33: Demultiplexor extins cu 16 ieşiri de date validat pe nivel logic 1

114

A15

A14

A14

A1

A1

A0

A0

f EN

y

y nivel 1

I3 I2 I1 I0

EI

DEMUX 1 : 16

A15

MUX 16 : 1

selecţie I3 şi I2, va fi activ unul din DEMUX de pe nivelul superior. De exemplu, dacă I3 I2 = 0 1 atunci y1 = 1 (vezi tabelul de adevăr) şi va fi activat DEMUX nr. 2. Apoi, în funcţie de stările intrărilor de selecţie I1 şi I0, va fi activată una din ieşirile Q15, Q14, …, Q1 sau Q0. De exemplu, dacă I1 I0 = 0 1 dar şi I3 I2 = 0 1 atunci va fi activată ieşirea de date a demultiplexorului extins, adică Q5 = 1. În mod asemănător se pot realiza demultiplexoare extinse cu un număr de ieşiri de date de 32, 64 etc., active pe nivel logic 0 sau 1. 6.1.5.5. Transmiterea la distanţă a informaţiei binare O aplicaţie importantă a multiplexoarelor şi demultiplexoarelor o reprezintă transmisia la distanţă pe un singur fir (serială) a datelor paralele. În figura 6.1.34 se prezintă conectarea unui MUX 16 : 1 şi a unui DEMUX 1 : 16 pentru realizarea acestui tip de transmisie. Pentru efectuarea transmisiei este necesară sincronizarea celor două circuite, care se realizeză prin conectarea împreună a a intrărilor de selecţie de acelaşi nume, adică I3 (MUX 16 : 1) cu I3 (DEMUX 16 : 1) ş.a.m.d. Aceasta înseamnă utilizarea a patru fire (pentru exemplul de faţă) şi a încă a celui de al cincilea fir între ieşirea de date y ( f) a MUX 16 : 1 şi intrarea de date (validare) y (EI) a DEMUX 16 : 1. În acest fel s-au economisit 9 fire, faţă de cazul în care s-ar fi utilizat 16 fire pentru transmisia directă a datelor A15, A14…, A1, A0. În general, pentru 2n date se folosesc numai 2n – (n + 1) fire. Funcţionare. Dacă intrarea de validare EN a demultiplexorului este pe nivel logic 1 se poate realiza transmisia de date. De exemplu, atâta timp cât I3 I2 I1 I0 = 0 0 0 0, pe ieşirea y (f) a multiplexorului apare bitul 1 de pe linia de intrare de date A0. Demultiplexorul distribuie acest bit sosit la intrarea sa de date (validare) y (EI) către ieşirea sa Q0 ş.a.m.d. Q15 Q14 Q1 Q0

Q15 Q14 Q1 Q0

I3 I2 I1 I0

I3 I2 I1 I0 Figura 6.1.34: Transmiterea la distanţă a datelor

Observaţie. Stările logice ale intrărilor de selecţie I3, I2, I1, I0 se pot genera cu un numărător binar. Producătorii au realizat circuite integrate care pot efectua pe aceeaşi capsulă funcţiuni înrudite, ca de exemplu decodificatoare–demultiplexoare şi multiplexoare–demultiplexoare: ▪ 54/74 (LS) 138 este un decodificator–demultiplexor care are trei intrări de selecţie, trei intrări de validare (din care două active pe nivel 0, iar cea dea treia activă pe nivel logic 1) şi opt linii de ieşire. Funcţia de decodificator se utilizează în sisteme cu memorii de mare viteză, iar ca demultiplexor funcţionează atunci când una din intrările de validare este folosită ca intrare de date. ▪ Circuitul 54/74 (LS) 139 conţine două decodificatoare–demultiplexoare independente, cu două intrări de selecţie, o intrare de validare (activă pe nivel 0) şi patru linii de ieşire.

115

▪ Circuitul MMC 4051 este un multiplexor–demultiplexor analogic bidirecţional cu trei linii binare de selecţie, o intrare binară de validare (denumită şi intrare de inhibare, activă pe nivel logic 0) şi opt linii (canale analogice) intrare–ieşire. Canalele devin linii de intrare când circuitul funcţionează ca multiplexor şi linii de ieşire când lucrează ca demultiplexor. Circuite asemnănătoare sunt MMC 4052 (cu două grupe cu câte patru canale bidirecţionale) şi MMC 4053 (cu trei grupe a câte două canale bidirecţionale). ▪ Circuitul MMC 4067 este un multiplexor–demultiplexor analogic care are patru intrări binare de comandă (selecţie), o intrare binară de validare/inhibare (activă pe nivel logic 0) şi 16 canale analogice intrare–ieşire. Circuitul MMC 4097 are două grupe cu câte opt canale. 6.2. Registre Registrul reprezintă un ansamblu de celule elementare de memorie în care se conservă un grup de informaţii binare, în vederea utilizării sau prelucrării lor ulterioare. Fiecare celulă conţine un singur bit, 0 sau 1. Capacitatea unui registru este numărul său de celule, deci numărul de biţi pe care îl poate înmagazina. 6.2.1. Clasificarea registrelor În funcţie de modul de înmagazinare sau introducere a datelor (biţilor) există registre paralel şi registre seriale. Un registru paralel (sau de memorare paralelă) poate să înmagazineze toţi biţii săi în acelaşi moment de timp. Într-un registru serial (serie) biţii sosesc rând pe rând şi, pe măsură ce un nou bit soseşte în registru, toţi biţii deja existenţi acolo se deplasează cu o poziţie spre dreapta (sau spre stânga), pentru a-i face loc noului bit sosit. Pentru ca un registru serial având capacitatea egală cu n biţi să se umple este necesar ca în el să se introducă rând pe rând (unul după altul) n biţi. De fiecare dată când un nou bit este introdus, toţi biţii deja existenţi în registru se deplasează cu o poziţie (celulă) înspre dreapta sau stânga. Aşadar, un registru serie realizează şi o deplasare a biţilor din interior. În funcţie de direcţia deplasării, registrele seriale se împart în registre de deplasare de la stânga la dreapta şi registre de deplasare de la dreapta la stânga. Atât registrele paralele cât şi cele seriale realizează funcţia de memorare, ele fiind un tip de memorii. Extragerea informaţiei se poate realiza atât serie cât şi paralel, astfel că există: - registre cu introducerea şi extragerea în paralel a informaţiei; - registre cu introducere în paralel şi extragere serie; - registre cu introducere în serie şi extragere paralelă; - registre cu introducere şi extragere serie a informaţiei. 6.2.2. Tipuri de registre Registrele se construiesc în primul rând cu circuite basculante bistabile (CBB) „master– slave” de tip D, apoi cu bistabili cu „latch”-uri de tip D, precum şi CBB „master–slave” de tip J–K. 6.2.2.1. Registre de memorare paralelă A) Registre de memorare paralelă cu bistabili de tip D „master–slave” În figura 6.2.1 este prezentat un registru de memorare paralelă realizat cu patru bistabili „master–slave”de tip D (CBB M–S de tip D), care poate memora astfel 4 biţi. Funcţionarea registrului decurge din caracteristicile bistabilului „master–slave” de tip D (vezi şi §4.3.2 (IV). Intrările de date sunt A3, A2, A1, A0, iar ieşirile sunt f3, f2, f1 şi f0. În momentul apariţiei frontului activ posterior al tactului CK (la trecerea acestuia din nivelul logic 1 în 0), valorile intrărilor sunt eşantionate şi transmise la ieşirile Ai. Aceste valori vor rămâne neschimbate până la apariţia următorului front activ al tactului, indiferent de ceea ce se întâmplă cu valorile intrărilor în acelaşi interval de timp. De exemplu, dacă în momentul apariţiei frontului activ intrările au valorile intrările sunt A3 = 1, A2 = 1, A1 = 1 şi A0 = 0, atunci ieşirile devin f3 = 1,

116

f2 = 1, f1 = 1 şi f0 = 0 şi vor rămâne în această stare până la apariţia unui nou front activ al tactului. A3

PRESET (PR) D CLOCK (CK)

PR

CK Q CL

A2

D

A1

PR

CK Q CL

D

A0

PR

CK Q CL

D

PR

CK Q CL

CLEAR (CL) f3 f2 f1 f0 Figura 6.2.1: Registru de memorare paralelă pe patru biţi realizat cu CBB M–S de tip D comandate la tranziţia tactului CK din 1 în 0

Deci, registrul deschis memorează datele prezente pe intrările sale în momentul apariţiei unui front activ al tactului şi le menţine apoi pe ieşirile sale până la apariţia următorului front activ al tactului. La acest nou moment de timp, ieşirile devin egale cu valorile intrărilor în acest moment de timp ş.a.m.d. Se constată de fapt că ieşirile urmăresc stările intrărilor. De menţionat că, pentru ca registrul să funcţioneze corect, este necesar ca datele de pe intrări să fie stabile (adică să nu-şi schimbe starea) într-o întreagă vecinătate a momentului apariţiei frontului activ al tactului. Cu alte cuvinte, trebuie respectate valorile duratelor tSET UP (timpul de stabilizare a intrării D a bistabilului în raport cu frontul activ al tactului) şi tHOLD (intervalul de timp cât mai trebuie menţinută intrarea D a bistabilului după apariţia frontului activ al tactului) precizate de producător. Dacă t este momentul apariţiei frontului activ al tactului, atunci datele de pe intrări trebuie să fie fixe cel puţin cu un timp egal cu tSET UP înaintea lui t. Ele trebuie menţinute fixe cel puţin încă un interval de timp (t – tSET UP, t + tHOLD) pentru ca registrul să funcţioneze corect. Funcţionarea registrului descrisă mai sus are loc atunci când intrările (asincrone) de iniţializare PRESET ( PR ) şi CLEAR ( CL ) sunt în starea logică 1 (ambele inactive). Activarea intrării CLEAR ( CL = 0) dar cu PRESET inactivă ( PR = 1) are ca efect ştergerea tuturor bistabililor, adică aducerea în 0 a tuturor ieşirilor registrului, indiferent de stările intrărilor Ai şi ale tactului CK. Cât timp CL = 1 şi PR = 0 (deci CLEAR inactivă şi PRESET activă), ieşirile registrului sunt menţinute în 1 logic, indiferent de valorile intrărilor Ai şi ale tactului CK. Configuraţia CL = 0, PR = 0 (ambele intrări de iniţializare active) nu este permisă şi trebuie evitată. Se pot construi registre de memorare cu bistabili „master–slave”de tip D acţionaţi pe frontul anterior (pozitiv) al impulsului de tact CK, adică la trecerea din 0 în 1 (figura 6.2.2). Funcţionarea acestui registru este asemănătoare cu cea a registrului descris anterior, cu excepţia operaţiei de memorare care se realizează pe frontul crescător (anterior) al impulsului de tact CK. Efectele intrărilor asincrone PRESET şi CLEAR sunt identice cu cele precizate pentru schema din figura 6.2.1. Pe baza schemelor din figurile 6.2.1 şi 6.2.2 se pot construi registre de memorare cu n biţi (8, 16, 32 etc.), utilizând CBB M–S de tip D. Circuitul integrat CDB 474 (54/ 74/474), care conţine doi bistabili de tip D, funcţionează conform celor specificate pentru schema din figura 6.2.2. 117

A3

PRESET (PR) D CLOCK (CK)

A2

D

PR

CK Q CL

A1

PR

CK Q CL

D

A0

D

PR

CK Q CL

PR

CK Q CL

CLEAR (CL) f3 f2 f1 f0 Figura 6.2.2: Registru de memorare paralelă pe patru biţi realizat cu CBB de tip D cu „M–S” comandate la tranziţia tactului CK din 0 în 1

B) Registre de memorare paralelă cu bistabili de tip D cu „latch” Cât timp intrarea de validare ENABLE (EN sau CK) se află în starea logică 1, ieşirile f3, f2, f1, f0 urmăresc valorile intrărilor A3, A2, A1, A0; în această situaţie se spune că registrul din figura 6.2.3 este transparent. În momentul în care ENABLE trece din starea logică 1 în 0, ieşirile f3, f2, f1, f0 memorează („zăvoresc”) starea pe care au avut-o ele şi deci şi intrările A3, A2, A1, A0, în momentul trecerii intrării ENABLE din 1 în 0. Ieşirile vor rămâne îngheţate până când ENABLE va trece din nou pe nivel logic 1. Circuitele integrate CDB 475 (54/74/475) conţin patru bistabili de tip D cu „latch”, astfel că se poate utiliza o singură capsulă pentru materializarea registrului de mai sus, sau mai multe, în cazul registrelor cu un număr mai mare de intrări (n = 8, 16, 32 etc). A3 ENABLE (CLOCK)

A2

A1

A0

D

D

D

D

EN Q

EN Q

EN Q

EN Q

f2 f1 f0 f3 Figura 6.2.3: Registru de memorare paralelă pe patru biţi realizat cu CBB de tip D cu „latch” comandate la tranziţia tactului CK din 1 în 0

6.2.2.2. Registre de deplasare A) Tipuri de registre de deplasare În registrele de deplasare propagarea (transmiterea) informaţiei se poate efectua de la dreapta la stânga sau de la stânga la dreapta, având ca referinţă bistabilul cu ieşirea corespunzătoare celui mai semnificativ bit al cuvântului binar care s-ar putea forma din stările ieşirilor bistabililor registrului. În figura 6.2.4 este prezentat un registru de deplasare stânga–dreapta (deci de la f3 către f0), de patru biţi, realizat cu CBB M–S de tip D. PRESET (PR) şi CLEAR (CL) sunt intrările asincrone de iniţializare. Ieşirile registrului sunt f3, f2, f1 şi respectiv f0, iar datele se introduc pe intrarea D a bistabilului din stânga (AS). Această configuraţie reprezintă un registru de deplasare stânga–dreapta cu introducere serială a informaţiei şi extragere paralelă (pe ieşiri) a informaţiei. 118

f3

PRESET (PR) intrare serială de date AS CLOCK (CK)

f2

PR

D

PR

Q

CK

CL

f1

D

f0

PR

Q

D

CK

Q

CK

CL

PR

CL

D

Q

CK

ieşire serială de date fS

CL

CLEAR (CL) Figura 6.2.4: Registru de deplasare pe patru biţi realizat cu CBB de tip D cu „M–S” comandate la tranziţia tactului CK din 1 în 0

Prin conţinutul registrului la un anumit moment de timp t se înţelege ansamblul valorilor ieşirilor f3, f2, f1, f0 (în această ordine) la momentul t. Funcţionare. Se consideră că înainte de apariţia frontului activ al tactului (trecerea din 1 în 0) conţinutul registrului era f3 f2 f1 f0 = 0 1 1 0 şi că pe intrarea serială de date AS era prezent bitul 1. Atunci, după apariţia frontului activ al tactului CK ieşirea f3 va fi egală cu bitul de pe intrarea serială, adică f3 = 1; ieşirea f2 va fi egală cu valoarea precedentă a lui f3 adică f2 = 0, f1 va fi egală cu valoarea precedentă a lui f2 adică f1 = 1, iar f0 va fi egală cu valoarea precedentă a lui f1 adică f0 = 1. Se obţine f3 f2 f1 f0 = 1 0 1 1, adică noua stare a rezultat prin deplasarea spre dreapta cu o poziţie a vechii stări (cu precizarea că primul bit, şi anume f3, a devenit egal cu bitul de pe intrarea serială de date, în timp ce valoarea veche a bitului cel mai din dreapta, şi anume f0, s-a pierdut). În mod normal intrările PRESET şi CLEAR sunt amândouă inactive, adică PR = 1 şi CL = 1. Dacă CL = 0 şi PR = 1 (CLEAR activ şi PRESET inactiv), atunci registrul este şters în sensul că toate ieşirile trec pe nivel logic 0. Dacă CL = 1 şi PR = 0, atunci toate ieşirile registrului devin egale cu valoarea logică 1. Nu este permisă activarea simultană a bornelor de iniţializare CLEAR şi PRESET ( CL = 0 şi PR = 0). În cazul în care intrarea serială de date AS este conectată la nivelul logic 0, iar registrul este iniţial încărcat cu f3 f2 f1 f0 = 1 1 1 1. Atunci, după apariţia primului front activ al tactului CK, conţinutul registrului devine f3 f2 f1 f0 = 0 1 1 1; după apariţia celui de al doilea front activ conţinutul registrului va fi f3 f2 f1 f0 = 0 0 1 1; după apariţia celui de al treilea front activ, conţinutul este f3 f2 f1 f0 = 0 0 0 1, iar după al patrulea front activ conţinutul este f3 f2 f1 f0 = 0 0 0 0. Din acest moment, conţinutul va rămâne egal cu 0 0 0 0, în afară de cazul când are loc o presetare (iniţializare) a registrului. Indiferent de starea logică a intrării seriale de date AS (1 sau 0), informaţia vehiculată în registru se poate obţine în modul paralel la ieşirile bistabilelor (în ordinea f3 f2 f1 f0), însă se poate extrage şi în modul serial (în ordinea f0 f1 f2 f3), la ieşirea serială fS. Sinteza unui registru de deplasare pe n biţi (4, 8, 16, 32 etc.) se poate realiza cu CBB M–S de tip D. Registrul din figura 6.2.5 este în principal un registru de deplasare stânga–dreapta cu introducere serială a informaţiei şi extragere serială a informaţiei, fiind acţionat la tranziţia tactului CK din nivelul logic 0 în nivelul logic 1. Funcţionarea registrului este următoarea: 1) Se trece linia CLEAR/RESET (CL/R) pe nivel logic 0, pentru a se şterge bistabilii; deci: f0 f1 f2 f3 = 0 0 0 0. 2) Se trece linia CLEAR/RESET (CL/R) pe nivel logic 1, pentru pregătirea accesului de date la intrarea serială AS.

119

A0 intrare serială de date AS

CLEAR (CL/R)

f0

PR D0 Q CBB0 CK CL

A1

f1

PR D1 Q CBB1 CK CL

A2

A3

f2

PR D2 Q CBB2 CK CL

f3

PR D3 Q CBB3 ieşire serială de date fS CK CL

CLOCK (CK) 1

2

3

4

Figura 6.2.5: Registru de deplasare pe patru biţi realizat cu CBB de tip D cu „M–S” comandate la tranziţia tactului CK din 0 în 1

3) Se consideră că AS = 1. - la apariţia frontului crescător al impulsului de tact CK1, CBB0 trece în starea logică 1 (f0 = 1) şi deci D1 = 1 - la apariţia frontului crescător al impulsului de tact CK2, CBB1 trece în starea logică 1 (f1 = 1), deoarece D1 era pe nivel logic 1; rezultă că şi D2 = 1 - la apariţia frontului crescător al impulsului de tact CK3, CBB2 trece în starea logică 1 (f2 = 1), deoarece D2 era pe nivel logic 1; rezultă că şi D3 = 1 - la apariţia frontului crescător al impulsului de tact CK4, CBB3 trece în starea logică 1 (f3 = 1), deoarece D3 era pe nivel logic 1. 4) Dacă AS = 0 atunci pe durata următoarelor patru impulsuri de tact, ieşirile bistabililor trec pe nivel logic 0. Informaţia poate fi extrasă şi în modul paralel, ieşirile bistabililor formând un cuvânt binar de patru biţi: f0 f1 f2 f3. De asemenea, registrul se poate încărca paralel cu cuvântul binar, folosind intrările PRESET (PR), astfel că se obţine un registru de deplasare cu încărcare paralelă şi extragere serială sau paralelă a informaţiei. B) Aplicaţie cu registre În figura 6.2.6(a) este reprezentat un registru F de patru ranguri cu încărcare paralelă (X3 X2 X1 X0 – intrări de date) şi extragere paralelă (F3 F2 F1 F0 – ieşiri), iar în figura 6.2.6 (b) este dat simbolul grafic de reprezentare în scheme logice complexe. Încărcarea paralelă a cuvântului binar X3:0 în registrul F3:0 se efectuează în momentul aplicării impulsului de tact CK, operaţie care se notează astfel: (6.2.1) CK ∙ F  X. X X2 X1 X0 CLOCK 3 (CK) CK D CK D CK D CK D F3 F2 F1 F0 Q Q Q Q

X3:0 4 CK 1

F3:0 4

F3

F2 F1 F0 (a) Schema logică (b) Simbol grafic Figura 6.2.6: Registru pe patru biţi cu introducere paralelă şi extragere paralelă a informaţiei

120

Registrul F3:0 poate avea mai multe surse de informaţii, X3:0 Y3:0 Z3:0 CKi notate X3:0, Y3:0, Z3:0, proCKi+1 CKi+2 4 4 4 venind de la alte registre sau ie1 1 1 şiri ale unor scheme combinaţi4 4 4 onale, care se încarcă succesiv în registrul F la semnalele de tact CKi, CKi+1 respectiv CKi+2 (figura 6.2.7), conform urmă4 CKi toarelor operaţii: CKi+1 CK i  F  X F3:0 1  CK i+2 (6.2.2) CK i 1  F  Y 4 CK  F  Z f  i2 Figura 6.2.7: Registru pe patru biţi cu trei surse Modul de încărcare secde informaţii venţială a unui registru de la mai multe surse de informaţii este utilizat în schema de principiu a unei unităţi de execuţie (Unitate Aritmetică Logică – UAL) simple cu doi operanzi pe patru biţi din figura 6.2.8. Secvenţa de funcţionare a schemei este următoarea: 1) La tactul CK1 se încarcă operanzii în registrele 1F şi 2F: CK1 ∙ 1F  operand 1; 2F  operand 2 2) La tactul CK2 are loc adunarea (ADN), prin activarea unui cod corespunzător de operaoperand 2 CK1

1

CK3 1 4

4 4

4

operand 1 4 CK1

CK1 1F

2F

CK3

3 1

4

4 INDICATORII DE CONDIŢII

4

UAL

CND

4

CK2 CK2

3 COD OPERAŢIE

R

3 1 3 1

ADN CK2 ŞI CKi SAU CKj

4 Figura 6.2.8: Unitate aritmetică logică cu doi operanzi pe patru biţi

121

ţie în UAL, încărcarea registrului R cu rezultatul obţinut şi a registrului CND cu indicatorii de condiţii: CK2 ∙ R  1F + 2F; CND  INDICATORI. 3) La tactul CK3 are loc încărcarea registrului 1F cu rezultatul adunării: CK3 ∙ 2F  R. 6.2.2.3. Circuite integrate cu bistabili Circuitele integrate dedicate proiectării diferitelor tipuri de registre pot conţine 1, 2, 4 sau 8 circuite basculante bistabile realizate în tehnologie TTL sau CMOS. I) Circuite integrate TTL cu bistabili 1) CDB 472 – 54/74 (LS) 72 Circuitul conţine un bistabil „master–slave” de tip J–K, cu trei intrări de date tip J (J1, J2, J3), trei intrări de date tip K (K1, K2, K3), două intrări asincrone (de iniţializare) PRESET (PR = S ) şi CLEAR (CL = R ) (active pe nivel logic 0) şi intrarea de tact CLOCK (CK = T ) (activă la tranziţia impulsului de tact din 1 în 0 logic) – figura 6.2.9. preset (PR)

datele J tact datele K

J1 J2 J3

S Q

f

T K1 f Q K2 K3 R clear (CL)

Intrări la momentul t Ieşiri la t+1 asincrone tact date PR CL CK J K Q 1 Q 1 (S ) (R) (T ) † † 0* 0 1 1

0* 1 0 1

1 1 1

1 1 1

X X X

X X X 0

X X X 0

1* 1 0 Q

0 1 1

1 0 1

0 1 Q+1

1* 0 1 Q 1 0 Q 1

Observaţii interzis setare resetare nemodif. înscriere 0 înscriere 1 basculare

† J = J1 · J2 · J3; K = K1 · K2 · K3 (intrări multiple de date)

(a) Simbol grafic (b) Tabel de adevăr Figura 6.2.9: Circuitul integrat CDB 472 – 54/74 (LS) 72

Din configuraţia circuitului se constată că datele se pot aplica pe intrările multiple J sau K din câte trei surse diferite, deoarece intrările respective sunt conectate la câte o poartă internă ŞI cu trei intrări (J = J1 · J2 · J3 respectiv K = K1 · K2 · K3). Dacă unele din aceste intrări nu sunt utilizate se leagă la +Vcc (nivel logic 1). Se utilizează în registre de deplasare şi numărătoare sincrone (vezi şi §6.3.2.2). 2) CDB 473 – 54/74 (LS) 73; 54/74 (LS) 107 Circuitul integrat CDB 473 – 54/74 (LS) 73 conţine doi bistabili „master–slave” de tip J–K, fiecare bistabil având intrările de date (J şi K), intrarea de aducere în 0 logic (ştergere) CLEAR (CL = R ) şi intrarea de tact CLOCK (CK = T ) separate. În figura 6.2.10 este reprezentat unul din cei doi bistabili. Se utilizează mai ales în registre de deplasare. Un circuit integrat asemănător este 54/74 (LS) 107, singura diferenţă fiind numerotarea terminalelor de alimentare. Tabelul de adevăr este identic cu tabelul din figura 6.2.10(b). 3) CDB 474 – 54/74 (LS) 74 Circuitul integrat are în componenţă doi bistabili de tip D, fiecare bistabil dispunând de o intrare de date D, o intrare de tact CLOCK (CK) - activă pe frontal crescător al impulsului de tact, şi intrările asincrone (de iniţializare) PRESET (PR = S ), CLEAR (CL = R ) - active

122

pe nivel logic 0 (figura 6.2.11). 1/2 CDB 473 data J 1f 1J 1Q tact 1T data K 1Q 1f 1K 1R

asincronă CL (1R)

Intrări tact CK (1T )

0 1

X

1 1 1

Ieşiri la t+1 Observaţii

date 1J 1K

1Q+1

1 Q 1 1 Q 1 0 1 Q 1

X 0

X 0

0 Q

0 1 1

1 0 1

0 1 1Q+1

ştergere nemodif. înscriere 0 înscriere 1 basculare

clear (CL) (a) Simbol grafic (b) Tabel de adevăr Figura 6.2.10: Un bistabil M–S tip J–K din circuitul integrat CDB 473 – 54/74 (LS) 73

preset (PR) 1/2 CDB 474 data D tact

1S

1D

1Q

1f

1T 1Q 1f 1R

Intrări la momentul t asincrone tact date 1PR 1CL 1CK 1D (T) (S) (R) 0* 0 1 1

0* 1 0 1

1 1

1 1

X X X 0

Ieşiri la t+1 1Q+1

1 Q 1

Observaţii

X X X X

1* 1 0 Q

interzis setare resetare nemodificat

0 1

0 1

1* 0 1 Q 1 0

ieşirea urmăreşte intrarea

clear (CL) (a) Simbol grafic (b) Tabel de adevăr Figura 6.2.11: Un bistabil tip D din circuitul integrat CDB 474 – 54/74 (LS) 74

Circuitul are aplicaţii în realizarea registrelor tampon şi de memorare, a registrelor de deplasare şi numărătoarelor, atunci când numărul circuitelor logice suplimentare la intrări este redus. 4) CDB 475 – 54/74 (LS) 75 Acest circuit integrat este alcătuit din patru CBB de tip D cu „latch” (figura 6.2.12), fiecare bistabil având o intrare de date D. Intrările de tact/validare CLOCK/ENABLE (CK/EN) 1/4 CDB 475 data D

1D 1 Q 1f EN1

validare (tact)

1Q

1f

Intrări date tact 1D EN1–2 0 1 X

1 1 0

Ieşiri la t+1 1Q+1

1 Q 1

0 1 1Q

1 0 1Q

EN2 (a) Simbol grafic

(b) Tabel de adevăr

Figura 6.2.12: Un bistabil de tip D cu „latch” din circuitul integrat CDB 475 – 54/74 (LS) 75

123

sunt comune la câte doi bistabili: EN 1–2 respectiv EN 3–4. Circuitul se utilizează mai ales în registre de memorare de date. 5) CDB 476 – 54/74 (LS) 76 Circuitul integrat este format din doi CBB M–S de tip J–K, fiecare bistabil având intrările de date (J şi K), două intrări asincrone (de iniţializare) PRESET ( PR ), CLEAR ( CL ), active pe nivel logic 0 şi intrarea de tact CLOCK ( CK ), activă la tranziţia impulsului de tact din 1 în 0 logic (figura 6.2.13). Din analiza funcţionării unui bistabil component se constată că acesta are acelaşi mod de operare ca bistabilul circuitului integrat CDB 472 – 54/74 (LS) 72 din figura 6.2.9, cu deosebirea că datele de intrare J şi K provin de la o singură sursă de informaţii. Se utilizează în numărătoare sincrone, pentru a elimina circuitele logice externe. preset (PR) 1/2 CDB 476 date J tact date K

1PR

1f

1J

1Q 1 CK 1f 1K 1Q

1CL

Intrări la momentul t asincrone tact date 1PR 1CL 1CK 1J 1K 0* 0* X X X 0 1 X X X 1 0 X X X 1 1 0 0 1 1 1

1 1 1

0 1 1

1 0 1

Ieşiri la t+1 Observaţii 1Q+1 1* 1 0 1Q 0 1 1Q+1

1 Q 1 1* 0 1 1Q 1 0 1 Q 1

interzis setare resetare nemodif. înscriere 0 înscriere 1 basculare

clear (CL) (b) Tabel de adevăr (a) Simbol grafic Figura 6.2.13: Un bistabil M–S tip J–K din circuitul integrat CDB 476 – 54/74(LS)76

6) CDB 495 – 54/74 (LS) 95; 54/74 (LS) 295 Circuitul CDB 495 – 54/74 (LS) 95 este un registru de deplasare pe patru biţi. Datele se pot introduce în modul serial pe intrarea IS , sau în modul paralel pe intrările A (cea mai puţin semnificativă), B, C, D şi se extrag paralel pe ieşirile QA, QB, QC, QD (cea mai semnificativă). El mai dispune de o intrare de mod de comandă (control) MC şi de două intrări de tact CK1 (R), CK2 (L). Registrul poate funcţiona în trei moduri: cu încărcare paralelă a informaţiei, cu deplasare spre dreapta, sau cu deplasare spre stânga. Cele două intrări de tact se utilizează pentru comanda sensului deplasării informaţiei prin registru: CK1R (Right), pentru deplasarea spre dreapta (de la QA la QD) şi CK2L (Left), pentru deplasarea spre stânga (de la QD la QA). Sinteza funcţionării registrului este prezentată în tabelul de adevăr din figura 6.2.14. Funcţionare a) Regimul de încărcare paralelă a datelor corespunde aplicării celor patru biţi pe intrările A, B, C, D atunci când intrarea de mod de comandă MC = 1. Datele introduse în bistabili vor apărea la ieşirile corespunzătoare, după frontul descrescător (negativ) următor al intrării de tact CK2 (L). În timpul încărcării intrarea serială de date IS (pinul 1) este inhibată. b) Deplasarea spre dreapta se efectuează pe frontul descrescător al intrării de tact CK1 (R) şi când MC = 0. c) Pentru a obţine deplasarea spre stânga a informaţiei mai întâi se realizează conexiunile externe între ieşirea fiecărui bistabil şi intrarea paralelă a bistabilului anterior: QB la A, QC la B şi QD la C. Datele se introduc în modul serial pe intrarea D (cea mai semnificativă) a registrului. Acest regim de funcţionare are loc pe frontul descrescător al intrării de tact CK2 (L) şi MC = 1.

124

MC 1 1 1 0 0 0

tact (CK) 2(L) 1(R) 1 X X X 0 1 X X 0 0 0 0 0 1 1 0 1 1

Intrări serial IS A X X a X QB † X X X 1 X 0 X X X X X X X X X X X

paralel B C X X b c QC † QD † X X X X X X X X X X X X X X X X

D X d D X X X X X X X X

QA+1

Ieşiri la t+1 QB+1 QC+1

QD+1

QA a QBn QA 1 0 QA QA QA QA QA

QB b QCn QB QAn QAn QB QB QB QB QB

QD d d QD QCn QCn QD QD QD QD QD

QC c QDn QC QBn QBn QC QC QC QC QC

† deplasarea spre stânga necesită conexiuni externe între QB şi A, QC şi B şi între QD şi C şi aplicarea datelor în modul serial pe intrarea D. a, b, c, d – nivele logice stabile prezente pe intrările A, B, C respectiv D (la momentul prezent t) QA, QB, QC, QD – stările ieşirilor anterioare stărilor stabile corespunzătoare condiţiilor de intrare indicate (în faza de memorare/salvare a stărilor anterioare). QAn, QBn, QCn, QDn – stările ieşirilor anterioare frontului negativ al tactului cel mai recent.

Figura 6.2.14: Tabelul de adevăr al registrului CDB 495 – 54/74 (LS) 95

Se poate utiliza acelaşi impuls de sincronizare pentru a comanda cele două intrări de tact dacă cele două moduri de funcţionare (comandă) dorite permit acest lucru. Toate modificările stărilor logice ale intrării de mod de comandă MC trebuie efectuate în mod normal atunci când intrările de tact sunt pe nivel logic 0. Totuşi, ultimele trei linii ale tabelului de adevăr arată că, în acest caz, stările ieşirilor registrului sunt memorate/salvate. Circuitul integrat 54/74 (LS) 295 este asemănător cu circuitul prezentat anterior, fiind un registru de deplasare la dreapta sau la stânga şi care are ieşirile în trei stări logice (TSL). În acest caz, intrarea de tact CK2 (L) este şi o intrare de comandă pentru ieşiri, astfel că atunci când CK2 (L) = 1 ieşirile sunt în stare de înaltă impedanţă (HiZ), nefiind afectată funcţionarea secvenţială a registrului. 7) Alte registre ▪ 54/74 (LS) 164 – registru de deplasare pe opt biţi, cu introducere serială pe două intrări şi extragere paralelă ▪ 54/74 (LS) 165 – registru de deplasare pe opt biţi, cu introducere paralelă sau serială şi extragere serială. II) Circuite integrate CMOS cu bistabili 1) MMC (CD) 4013 Circuitul are doi bistabili de tip D, care au fiecare o intrare de date D, două intrări asincrone RESET (R) şi SET (S) şi o intrare de tact CK (figura 6.2.15). Intrările asincrone, care sunt independente şi prioritare faţă de intrările de date şi de tact, sunt active pe nivel logic 1. Datele de intrare sunt acceptate atunci când CK = 1 şi sunt transferate la ieşire pe frontul crescător al tactului. 2) MMC (CD) 4027 Circuitul integrat este format din doi CBB „master–slave” (M–S) de tip J–K, fiecare bistabil având intrările de date (J şi K), două intrări asincrone (de iniţializare): SET (S) (pentru aducerea ieşirii Q pe nivel logic 1) şi RESET (R) (pentru aducerea ieşirii Q pe nivel logic

125

0) şi intrarea de tact CLOCK (CK). Intrările asincrone, care sunt independente şi prioritare faţă de intrările de date şi de tact, sunt active pe nivel logic 1. set (S) Intrări la momentul t asincrone tact date 1S 1R 1CK 1D

1/2 MMC 4013 1S

date D

1f

1D

1Q 1CK 1Q 1f

tact

1R

1* 1 0 0

1* 0 1 0

0 0

0 0

X X X

Ieşiri la t+1 Observaţii

X X X X

1Q+1 1* 1 0 1Q

0 1

0 1

1 Q 1 1* 0 1 1Q 1 0

interzis setare resetare nemodificat ieşirea urmăreşte intrarea

reset (R) (b) Tabel de adevăr (a) Simbol grafic Figura 6.2.15: Un bistabil tip D din circuitul integrat MMC (CD) 4013

Datele aduse pe intrări sunt acceptate atunci când CK = 0, fiind apoi transferate la ieşiri pe frontul crescător al impulsului de tact (figura 6.2.16). 1/2 MMC 4027 set (S)

date J tact date K

1S 1f 1Q 1CK 1f 1K 1Q

1J

1R

Intrări la momentul t asincrone tact date 1S 1R 1CK 1J 1K 0 0 0 0 0

0 0 0 0 0

1 0 1*

0 1 1*

X X X

la t 1Q

1 X 0 X X

X 0 X 1 X

0 1 0 1 X

X X X

X X X

X X X

Ieşiri la t+1 1Q+1 1 Q 1 1 0 1 0 0 1 0 1 1Q 1Q 1 0 0 1 1* 1*

Observaţii înscriere 1 memorare memorare înscriere 0 nemodif. setare resetare interzis

reset (R) (a) Simbol grafic (b) Tabel de adevăr Figura 6.2.16: Un bistabil M–S tip J–K din circuitul integrat MMC (CD) 4027

3) MMC (CD) 4043; MMC (CD) 4044 Circuitul integrat MMC (CD) 4043 conţine patru CBB de tip R–S cu „latch” cu porţi SAU–NU. Fiecare bistabil are două intrări de date active pe nivel logic 1: S (pentru înscrierea cifrei binare 1) şi R (pentru înscrierea cifrei binare 0) şi o ieşire Q de înaltă impedanţă (HiZ), caracteristică circuitelor logice cu trei stări (TSL – Tri State Logic – vezi §5.2.6), activă de asemenea pe nivel logic 1. Intrarea de validare/inhibiţie ENABLE este comună celor patru bistabili din capsulă şi este activă pe nivel logic 1 (figura 6.2.17). Un circuit asemănător din punct de vedere al intrărilor şi ieşirii este MMC (CD) 4044, care însă este realizat cu porţi ŞI–NU. De data aceasta stările interzise sunt 1R = 0 şi 1S = 0, iar ieşirea 1Q nu se modifică starea la momentul următor t+1 atunci când 1R = 1 şi 1S = 1.

126

Intrări la momentul t date validare 1S 1R EN1–2–3–4 X X 0 0 0 1 0 1 1 1 0 1 1* 1* 1

1/4 MMC 4043 1R 1Q 1f EN1

data R validare data S

1S EN2–3–4

Ieşire la t+1 1Q+1 HiZ 1Q 0 1 1*

Observaţii înaltă impedanţă nemodificat înscrie 0 înscrie 1 stare interzisă

(a) Simbol grafic (b) Tabel de adevăr Figura 6.2.17: Un bistabil tip R–S cu „latch” din circuitul integrat MMC (CD) 4027

4) MMC (CD) 4095; MMC (CD) 4096 Circuitul MMC (CD) 4095 conţine un CBB „master–slave” (M–S) de tip J–K care are intrări multiple neinversate de date (tip J = J1 · J2 · J3 şi tip K = K1 · K2 · K3, realizate cu porţi ŞI), două intrări asincrone RESET (R) şi SET (S) (active pe nivel logic 1), care sunt independente şi prioritare faţă de intrările de date şi de tact, şi intrarea de tact CLOCK (CK), care este activă în timpul tranziţiei pozitive a impulsului de tact (din 0 în 1 logic) (figura 6.2.18). Dacă unele din intrările de date nu sunt utilizate se conectează la „+” (VDD) (nivel logic 1). De altfel, dacă toate intrările de date J şi K sunt legate la „+” (VDD), intrările asincrone R şi S la GND (VSS) iar pe intrarea de tact CK se aplică datele T atunci bistabilul devine un CBB M–S de tip T („toggle”). Circuitul integrat MMC (CD) 4096 este asemănător cu MMC (CD) 4095, cu deosebirea că intrările de date J3 respectiv K3 sunt negate, astfel că J = J1 · J2 · J 3 şi K = K1 · K2 · K 3 . Funcţionarea celor două tipuri de bistabili este identică. Circuitul MMC (CD) 4096 devine un CBB M–S de tip D („delay”) dacă intrările J1, J2 şi K 3 se leagă împreună şi constituie intrarea de date D, intrarea J 3 se conectează la GND (VSS) iar intrările K1 şi K2 se leagă la „+”(VDD). Intrări la momentul t asincrone tact date S R CK J K

set datele J

J1 J2

S

Ieşiri la t+1 Observaţii Q+1 Q

Q 1

nemodificat Q 0 1 înscrie 0 J3 1 0 înscrie 1 tact CK Q+1 Q 1 basculează K1 f Q X Q nemodificat datele Q K2 K resetare 0 1 X X X 0 1 K3 R 1 0 X X X 0 1 setare 1* 1* X X X 0* 0* stări interzise J = J 1 · J2 · J 3; K = K1 · K 2 · K 3 (intrări multiple de date) reset (a) Simbol grafic (b) Tabel de adevăr Figura 6.2.18: Circuitul integrat MMC ( CD) 4095 Q

f

0 0 0 0 0

0 0 0 0 0

0 0 1 1 X

0 1 0 1 X

5) MMC (CD) 4015 Circuitul este format din două registre statice de deplasare pe patru biţi, identice din punct de vedere constructiv (conţin CBB „master–slave” de tip D) şi independente din punct

127

de vedere al funcţionării. Ele au câte o intrare de date D în modul serial, câte o intrare de tact CK, câte o intrare de punere pe 0 logic (ştergere/iniţializare) R (activă pe nivel logic 1), şi câte patru ieşiri în modul paralel QA (cea mai puţin semnificativă), QB, QC, QD (figura 6.2.19). Nivelul logic prezent la intrarea de date D este transferat în primul bistabil al registrului (cu ieşirea QA) şi deplasat spre bistabilul următor la fiecare tranziţie pozitivă (din 0 în 1) a impulsului de tact CK. Un registru pe opt biţi se obţine uşor prin interconectarea tuturor bistabililor circuitului, având o linie comună de tact CK şi o linie comună de resetare R. Datele se introduc pe intrarea D a primului bistabil (cel mai puţin semnificativ). Observaţie. Circuitele logice statice sunt conectate permanent la tensiunea de alimentare (vezi §5.3.2.1). 1/2 MMC 4015 1f0 1QA date D 1f1 1D 1QB 1f2 1QC tact 1CK 1f3 1Q D 1R

Intrări la momentul t asincr. tact date 1R 1CK 1D 0 0 0 1 0 X 1 X X

Ieşiri la t+1 1QA+1 1QB+1 1QC+1 1QD+1 1QA 1QB 1QC 0 1QA 1QB 1QC 1 1QA* 1QB* 1QC* 1QD* 0 0 0 0

* – stări nemodificate 1QA, 1QB, 1QC, 1QD – stările pe care le-au avut ieşirile anterior tranziţiei pozitive a tactului (la momentul t)

reset (R) (a) Simbol grafic (b) Tabel de adevăr Figura 6.2.19: Un registru din circuitul integrat MMC (CD) 4015

6) MMC (CD) 4076 Circuitul integrat conţine un registru pe patru biţi, realizat cu CBB de tip D, cu ieşiri de înaltă impedanţă (TSL) şi o logică internă de comandă (LIC) realizată cu diferite porţi logice (figura 6.2.20(a)). Fiecare bistabil al registrului are o intrare de date D şi o ieşire Q. Sincronizarea bistabililor se efectuează pe linia comună a intrării de tact CK, iar aducerea lor pe nivelul logic 0 (ştergerea) se obţine când linia comună de RESET (R) este trecută pe nivel logic 1. validare date (DDI)

D1 D2 D3 D4

G1 G2

tact

CK 4 x CBB tip D + LIC R

validare ieşiri (ODI) M N

Q3

intrări la momentul t R CK G1 G2 D 1 X X X X 0 0 X X X 0 1 X X 0 X 1 X 0 0 0 1

Q4

0

Q1 Q2

0 0

1

ieşire *Q+1 0 Q Q Q 1

0

0

0

0

X X

X X

X X

Q Q

Obs. ştergere nemodif. nemodif. nemodif. ieşirea urmăreşte intrarea nemodif. nemodif.

* M = 0 şi N = 0 reset (a) Schema–bloc a registrului (b) Tabelul de adevăr al unui bistabil Figura 6.2.20: Circuitul integrat MMC (CD) 4076

128

Registrul dispune de două intrări de validare a datelor de intrare (DDI – Data Disable Inputs) G1, G2, utilizate pentru a permite încărcarea datelor D în fiecare bistabil, operaţie care are loc pe următoarea tranziţie pozitivă a impulsului de tact, simultan cu G1 = 0 şi G2 = 0 (figura 6.2.20(b)). Alte două intrări de (in)validare (ODI – Output Disable Input) M şi N, determină stările ieşirilor bistabililor registrului. Astfel, dacă M = 0 şi N = 0 atunci ieşirile registrului (Q1, Q2, Q3 şi Q4) se găsesc în stări logice normale (0 sau 1), iar dacă M = 1 şi N = 1 atunci ieşirile sunt invalidate independent de tact, ele prezentând starea de înaltă impedanţă (HiZ). În figura 6.2.21 sunt date diagramele de semnale corespunzătoare semnalelor de intrare CK, D, DDI = G1 (G2), ODI = M (N) şi R precum şi a ieşirii Q a unui bistabil. Se observă alura formelor de undă la ieşirea Q adusă CK în starea de înaltă impedanţă (HiZ) pent 50% tru ODI = 1, atunci când ieşirea este co(1) nectată fie la „+” (VDD) fie la „masă” D (VSS)(2), printr-un rezistor de 1 kΩ. t Circuitul integrat se utilizează în registre de memorare cu introducere şi DDI t 50% extragere paralelă a informaţiei, având 4, 8, 16 etc. biţi. ODI 7) Alte registre t 50% ▪ MMC (CD) 4014 este un registru R care conţine opt bistabili „master –slave” t 50% de tip D, cu introducere serială sau paralelă a informaţiei şi cu extragere serială a Q t informaţiei. Operaţia de introducere serială sau paralelă se realizează sincroni(1) (2) zat cu tranziţia pozitivă (din 0 logic în 1 (1) ieşirea Q este conectată la V printr-un rezistor DD logic) a liniei comune de tact la comanda de 1kΩ unei intrări speciale de control paralel/ (2) ieşirea Q este conectată la VSS printr-un rezistor serial. Atunci când intrarea de control de 1kΩ paralel/serial este pe nivel logic 0, datele Figura 6.2.21: Diagramele de semnale sunt deplasate în modul serial în bistabilii registrului, în timpul tranziţiei pozitive a tactului. 6.3. Numărătoare şi divizoare Bistabilii se utilizează şi în scheme cu numărătoare (divizoare) care pot efectua operaţii de numărare a impulsurilor, de comandare a secvenţei de funcţionare a unui sistem şi de divizare a frecvenţei. Deasemenea, cu CBB se pot realiza şi operatori matematici. Din punct de vedere funcţional numărătoarele sunt de tip asincron sau sincron. 6.3.1. Numărătoare asincrone cu transport succesiv Aceste tipuri de numărătoare sunt cele mai simple şi cel mai uşor de proiectat. Totuşi ele sunt limitat în ceea ce priveşte viteza de lucru deoarece în astfel de numărătoare bistabilii nu sunt sub controlul unui singur impuls de tact şi de aceea ele se numesc asincrone. Figura 6.3.1 prezintă un numărător binar pe patru biţi cu CBB de tip J–K, la care intrările de date J şi K sunt conectate la o linie comună aflată pe nivel logic 1. Iniţial bistabilii sunt în starea 0 (Q0 = Q1 = Q2 = Q3 = 0). Aplicarea unui impuls la intrarea de tact CK a CBB0 (cel mai puţin semnificativ) va trece ieşirea Q0 din starea 0 în starea 1. CBB1 nu-şi va schimba starea întrucât el este basculat de frontul negativ al impulsului de tact (tranziţia din 1 în starea 0). La venirea celui de-al doilea impuls de tact pe intrarea CBB0, Q0 va trece din starea 1 în starea 0. Aceastã schimbare de stare crează frontul de căde-

129

re necesar pentru a bascula CBB1 şi deci ieşirea Q1 va trece din 0 în 1 etc. Înainte de ce-al şaisprezecelea impuls de tact, toţi bistabilii sunt în starea 1. Impulsul de tact cu numărul 16 determină ieşirile Q0, Q1, Q2, Q3 să revină în starea 0. Q0 CBB0 Q CK Q K

CBB01 Q CK Q K

J tact 1

2

16

Q2

Q1

Q3 CBB3 Q CK Q K

CBB2 Q CK Q K

J

J

J

nivel 1 Figura 6.3.1: Numărător–divizor asincron pe patru biţi cu transport succesiv

Se constată că stările unui numărător binar de 4 biţi se repetă după fiecare 2 n impulsuri de tact, unde n reprezintă numărul de CBB şi sunt în număr de16, de la 0 la (n – 1). În acest mod circuitul funcţionează ca numărător de impulsuri. Pe de altă parte, CBB0 din numărător basculeazã la fiecare impuls de tact şi, prin urmare împarte frecvenţa tactului aplicat la 2, CBB1 împarte frecvenţa aplicată 4, CBB2 la 8 şi CBB3 la 16 (figura 6.3.2). Deci, un numărător cu n etaje (bistabili) poate fi utilizat pentru a împărţi frecvenţa impulsurilor de tact la 2n, realizând astfel şi funcţia de divizor de frecvenţă. În tabelul de adevăr din figura 6.3.3 sunt date cele 16 stări binare ale numărătorului asincron pe patru biţi cu transport succesiv din figura 6.3.1. Circuitul revine în starea iniţială 0 0 0 0 după ce au fost numărate cele 16 impulsuri aplicate pe intrarea de tact CK. Dacă este necesară împărţirea printr-o putere supe-rioară a lui 2, se pot adăuga un număr corespunzător de etaje cu bistabili. Un numărător asincron se realizează de obicei sub forma unui circuit integrat (considerat ca un numărător de tip elementar), care conţine bistabili ce pot fi iniţializaţi pe o linie comună de comenzi asincrone de tip PRESET sau CLEAR (RESET). CK 1 Q0 Q1 Q2

2

3

4

1

2

5

6

7

8

3

9

4

1

10

11

5

2

12

13

6

14

7

4

1

1

1

16

8

3

Q3

15

t t t t t

Figura 6.3.2: Diagramele de semnale

6.3.1.1. Numărătoare asincrone cu linie de iniţializare de tip PRESET Pentru a realiza un numărător–divizor cu linie comună PRESET care să împartă prin orice număr întreg, se utilizează următorul algoritm: 1) Se caută numărul n de CBB necesare: (6.3.1) 2n–1  N  2n, unde N reprezintă lungimea ciclului de numărare. Dacă N nu este o putere întreagă a lui 2 se

130

ia n după puterea imediat superioară. starea ieşiri 2) Se leagă toţi bistabilii într-o schemă de numărător (nr. Z) Q3 Q2 Q1 Q0 asincron cu transport succesiv. 0 0 0 0 0 3) Se caută numărul (momentul) binar (N – 1), adică 1 0 0 0 1 starea tuturor CBB la momentul respectiv. 2 0 0 1 0 4) Se conectează toate ieşirile bistabililor care au Q = 1 3 0 0 1 1 la momentul (N – 1) la intrările unei porţi logice externe 4 0 1 0 0 ŞI–NU. Se aplică tactul pe una din intrările porţii ŞI–NU. 5 0 1 0 1 5) Se leagã ieşirea porţii ŞI–NU la intrările PRESET 6 0 1 1 0 ale tuturor bistabililor care au Q = 0 la momentul (N – 1). 7 0 1 1 1 6) Se iniţializează numărătorul astfel: pe frontul pozi8 1 0 0 0 tiv (ascendent) al celui de al N - lea impuls de tact, toţi bis9 1 0 0 1 tabilii sunt repuşi în starea logică 1, iar pe frontul pe fron10 1 0 1 0 11 tul negativ (descensdent) al aceluiaşi impuls de tact toate 1 0 1 1 12 1 1 0 0 CBB trec pe nivel logic 0, adică numărătorul reia ciclul de 13 1 1 0 1 numărare. 14 1 1 1 0 Exemplul 6.3.1. Să se proiecteze un numărător 15 1 1 1 1 asincron cu transport succesiv care să numere până la 10, 0 0 0 0 0 format din CBB de tip J–K cu intrare PRESET de iniţializare. Figura 6.3.3: Stările binare R 6.3.1. Se construieşte un numărător pentru care N ale numărătorului asincron = 10. Conform algoritmului pre-zentat mai sus, avem: pe patru biţi 3 4 1) 2  N  2 . Rezultă că sunt necesare patru CBB. Pentru N = 10, ieşirile bistabililor vor fi: Q0 Q1 Q2 Q3 = 0 1 0 1 (Q0 – cel mai puţin semnificativ) 2) Se leagă toţi bistabilii într-o schemă cum este cea prezentată în figura 6.3.4. 3) Momentul binar este (pentru N – 1 = 9) secvenţa de ieşire: Q0 Q1 Q2 Q3 = 1 0 0 1 4) Se conectează ieşirile bistabililor CBB0 şi CBB3 care au Q = 1 la momentul (N – 1) = 9, la intrările porţii ŞI–NU cu trei intrări. Se aplică impulsurile de tact CK pe intrarea rămasă liberă a porţii logice. 5) Se leagă ieşirea porţii ŞI–NU la intrările PRESET (PR) ale bistabililor CBB1 şi CBB2 care au Q = 0 la momentul (N – 1) = 9. Tabelul cu stările binare ale numărătorului se construieşte pe baza tabelului din figura 6.3.3, ţinând cont că N = 10. Q0 CBB0 Q CK Q K PR J tact 1

2

10

nivel 1

Q2

Q1 CBB01 Q CK Q K PR J

preset (set) nivel 1

CBB2 Q CK Q K PR J

Q3 CBB3 Q CK Q K PR J

ŞI–NU

Figura 6.3.4: Numărător asincron pe patru biţi cu linie PRESET (N = 10)

131

6.3.1.2. Numărătoare asincrone cu linie de iniţializare de tip CLEAR (RESET) Algoritmul de construire a unui astfel de numărător–divizor care să împartă cu un număr întreg N este : 1) Se caută numărul n de CBB necesare: 2n–1  N  2n – vezi relaţia (6.3.1) unde N reprezintă lungimea ciclului de numărare. Dacă N nu este o putere întreagă a lui 2 se ia n după puterea imediat superioară. 2) Se leagă toţi bistabilii într-o schemă de numărător asincron cu transport succesiv. 3) Se caută numărul (momentul) binar N, adică starea tuturor CBB la momentul respectiv. 4) Se conectează toate ieşirile bistabililor care au Q = 1 la momentul N la intrările unei porţi logice externe ŞI–NU. 5) Se leagă ieşirea porţii ŞI–NU la intrările CLEAR (RESET) ale tuturor bistabililor. 6) Numărătorul se iniţializează (adică ieşirile trec pe nivel logic 0) atunci când acesta atinge starea N astfel că la ieşirea porţii logice ŞI–NU apare nivelul logic 0, care se propagă apoi pe intrările asincrone CLEAR (RESET). Exemplul 6.3.2. Să se proiecteze un numărător asincron cu transport succesiv care să numere până la 12, format din CBB de tip J–K cu intrare CLEAR (RESET) de iniţializare. R 6.3.2. Se realizează un numărător cu N = 10, pentru care: 1) 23  N  24. Deci, sunt necesare patru CBB. 2) Se leagă toţi bistabilii conform schemei din figura 6.3.5. 3) Momentul binar pentru N = 12 este secvenţa de ieşire: Q0 Q1 Q2 Q3 = 0 0 1 1 (Q0 – cel mai puţin semnificativ). 4) Se conectează ieşirile bistabililor CBB2 şi CBB3 care au Q = 1 la momentul N = 12, la intrările porţii ŞI–NU cu două intrări. Q0 CBB0 Q CK Q K R J tact 1

2

12

nivel 1

Q2

Q1 CBB01 Q CK Q K R J

clear (reset)

CBB2 Q CK Q K R J

Q3 CBB3 Q CK Q K R J

ŞI–NU

Figura 6.3.5: Numărător asincron pe patru biţi cu linie CLEAR (RESET) (N = 12)

5) Se leagă ieşirea porţii ŞI–NU la linia comună intrărilor CLEAR (RESET) ale tuturor bistabililor. Stările binare ale numărătorului se stabilesc pe baza tabelului din figura 6.3.3, ştiind că N = 12. Principalul dezavantaj al numărătoarelor asincrone este acela că pot introduce impulsuri parazite în funcţionarea circuitelor logice care sunt conectate după acesta, din cauza întârzierilor de propagare a semnalelor prin bistabili care au un caracter cumulativ, conducând la micşorarea frecvenţei de lucru. O metodă de evitare a acestui fenomen o reprezintă utilizarea unor etaje externe de stocare (memorare) realizate cu porţi logice. 6.3.2. Numărătoare sincrone cu transport succesiv Numărătoarele sincrone elimină dezavantajul introdus de un numărător cu transport succesiv deoarece acum toţi bistabili sunt controlaţi de acelaşi impuls de tact. Frecvenţa de 132

lucru este limitată numai de întârzierea oricărui bistabil, la care se adaugă întârzierea produsă de porţile logice externe. În cazul general sinteza numărătoarelor sincrone cu transport paralel sau transport succesiv se poate realiza cu ajutorul diagramelor Karnaugh. 6.3.2.1. Numărătoare sincrone cu transport paralel Figura 6.3.6 prezintã un numărător sincron de patru biţi cu transport paralel, denumit şi transport anticipat. Tabelul de stări (de adevăr) este sinonim cu tabelul din figura 6.3.3. Conform acestui tabel şi a celor specificate în §6.3.1, CBB0 (cel mai puţin semnificativ) trebuie să basculeze la fiecare impuls de tact, CBB1 basculează când Q0 = 1, CBB2 basculează când Q0 = Q1 = 1, iar CBB3 basculeazã când Q0 = Q1 = Q3 = 1. Aşadar, comanda bistabilului CBB0 poate fi realizată prin menţinerea intrărilor J0 şi K0 pe nivel logic 1. Pentru CBB1, intrările J1 şi K1 se leagă la ieşirea Q0, pentru CBB2 comanda se realizează cu ieşirea porţii logice ŞI–1 ale cărei intrări sunt Q0 şi Q1, iar CBB3 este acţionat de ieşirea porţii logice ŞI–2 ale cărei intrări sunt Q0, Q1 şi Q2. Q0 nivel 1 tact 1

2

16

CBB0 Q CK Q K J0

0

Q2

Q1 CBB01 J1 Q CK Q K 1

CBB2 Q CK Q K J2

2

Q3 CBB3 Q CK Q K J3

3

ŞI–1 ŞI–2 Figura 6.3.6: Numărător–divizor sincron pe patru biţi cu transport paralel

Observaţie. Se pot utiliza porţi logice ŞI–NU dacă se complementează ieşirile acestora cu inversoare NU. Modul de proiectare a numărătorului analizat mai sus este valabil pentru situaţiile în care numărarea binară se realizează într-un ciclu cu lungimea 2n. Pentru cicluri diferite de 2n se utilizează diagramele Karnaugh pentru fiecare bistabil Într-un numărător sincron cu transport paralel, odată cu creşterea numărului de etaje se măreşte şi numărul de porţi logice ce trebuie comandate de bistabili. La fel creşte şi numărul de intrări necesare la fiecare poartă de comandă. 6.3.2.2. Numărătoare sincrone cu transport succesiv Aceste numărătoare elimină dezavantajele numărătoarelor sincrone cu transport paralel enunţate anterior. Totuşi, frecvenţa impulsurilor de tact este mai redusă din cauza întârzierilor de propagare a semnalelor prin logica de comandă formată din porţile ŞI–NU şi inversoarele NU, care compun porţile logice ŞI din figura 6.3.7. Lungimea ciclului unui numărător sincron este definită prin 2 N, unde N reprezintă numărul de bistabili. Numărătoarele cod binar – cod BCD (zecimal codat binar) realizează o decadă de numărare a cărei lungime de ciclu diferă de 2N deoarece stările de la 10 la 15 nu sunt utilizate în numărarea BCD. Notă. Există numărătoare care dispun şi de o intrare de mod de numărare, pentru numărarea directă sau înainte (COUNT–UP) sau pentru numărarea inversă sau înapoi (COUNT– DOWN).

133

Q0 nivel 1 tact 1

2

16

CBB0 Q CK Q K J0

0

Q2

Q1 CBB01 J1 Q CK Q K 1

CBB2 Q CK Q K J2

2

Q3 CBB3 Q CK Q K J3

3

ŞI–1 ŞI–2 Figura 6.3.7: Numărător–divizor sincron pe patru biţi cu transport succesiv

6.3.3. Circuite integrate cu funcţia de numărare–divizare Circuitele integrate dedicate proiectării diferitelor tipuri de numărătoare-divizoare sunt realizate în tehnologie TTL sau CMOS. 6.3.3.1. Circuite integrate TTL utilizate ca numărătoare–divizoare Se vor prezenta circuite integrate cu funcţiile de numărător asincron cu transport succesiv şi numărător sincron. 1) CDB 490 – SN 54/7490 ; 54/74 (LS) 390 Circuitul integrat CDB 490 – SN 54/7490 conţine un numărător decadic asincron cu transport succesiv, format din patru bistabili „master–slave”, dintre care unul este de tip R–S (cel mai semnificativ), iar ceilalţi trei sunt de tip J–K. Bistabilii sunt interconectaţi astfel încât sã realizeze un divizor prin 2 şi un divizor prin 5. Ieşirile binare sunt D (QD), C (QC), B (QB) respectiv A (QA). Circuitul dispune de două intrări de numărare a impulsurilor care sunt active pe tranziţia descendentă a impulsului (din 0 logic în 1 logic): AI – conectată intern la intrarea de tact a bistabilului cu ieşirea A (QA) şi BDI – conectată intern la intrările de tact ale bistabililor cu ieşirile B (QB) respectiv D (QD). Toţi bistabilii sunt iniţializaţi cu iniţializare ieşiri R0 R0 R9 R9 D C B A comenzi asincrone de tip RESET prin (1) (2) (1) (2) (Q ) (Q ) (Q ) (Q D C B A) două perechi de borne, astfel că dacă 1 1 0 X 0 0 0 0 R0(1) R0(2) = 1 1 atunci sunt inhibate 1 1 X 0 0 0 0 0 intrările de numărare şi se forţează ieX X 1 1 1 0 0 1 şirile circuitului în stările corespunzăX 0 X 0 numără toare cifrei 0 în cod BCD (zecimal co0 X 0 X numără dat binar), iar dacă R9(1)R9(2) = 1 1 0 X X 0 numără atunci ieşirile trec în stările corespunX 0 0 X numără zătoare cifrei 9 în cod BCD. Circuitul are funcţia de numărare când cel puţin Figura 6.3.8: Tabelul cu funcţiile de câte o bornă din fiecare pereche este iniţializare/numărare pentru CDB 490 pe nivel logic 0 (figura 6.3.8). Deoarece ieşirea A (QA) nu este conectată intern la etajele următoare, circuitul poate funcţiona în trei moduri distincte: I) Când este folosit ca numărător BCD, intrarea BDI trebuie să fie conectată extern la ieşirea A (QA). Impulsurile de numărare sunt aplicate pe intrarea AI iar secvenţa de numărare obţinută este în concordanţă cu tabelul de funcţionare I din figura 6.3.9. II) În cazul modului de divizare simetrică prin 10, denumită şi „numărare 5–2” (Bi–Quinary Counter), utilă pentru sintetizatoare de frecvenţă sau alte aplicaţii care necesită divizarea

134

unui număr binar prin 10, ieşirea D (QD) trebuie să fie conectată la intrarea AI. Impulsurile de numărare sunt aplicate pe intrarea BDI iar rezultatul divizării se obţine la ieşirea A (QA) – vezi tabelul II din figura 6.3.9. III) Pentru utilizarea ca divizor prin 2 şi prin 5 nu sunt necesare conexiuni externe. Bistabilul cu ieşirea A (QA) este utilizat ca element binar pentru funcţia de divizare prin 2. Intrarea BDI este utilizată pentru a obţine divizarea prin 5 la ieşirile D (QD) – vezi tabelul III din figura 6.3.9. Deşi cele două numărătoare funcţionează independent, totuşi cei patru bistabili sunt aduşi simultan în starea 0. Circuitul integrat 54/74 (LS) 390 conţine două numărătoare decadice asincrone pe patru biţi, care au fiecare câte o intrare de numărare AI (activă la tranziţia descendentă a impulsului) şi câte o intrare asincronă de iniţializare CLEAR (activă pe nivel logic 1, când trece în starea logică 0 ieşirile bistabililor). I) Numărător BCD D C B A (QD) (QC) (QB) (QA) 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1

II) Divizor simetric prin 10 A D C B (QA) (QD) (QC) (QB) 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0

III) Divizor prin 5 D C B (QD) (QC) (QB) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0

Nr. Z 0 1 2 3 4 5 6 7 8 9

Figura 6.3.9: Modurile de funcţionare ale circuitului CDB 490 (SN 54/7490)

2) CDB 492 – SN 54/74 (LS) 92 Circuitul conţine un numărător asincron cu transport succesiv, format din patru bistabili „master–slave” de tip J–K. Bistabilii sunt interconectaţi astfel încât sã realizeze un divi zor prin 2 şi un divizor prin 6. Ieşirile binare sunt notate cu D (QD), C (QC), B (QB), A (QA). Circuitul dispune de două intrări de numărare a impulsurilor care sunt active pe tranziţia descendentă a impulsului (din 0 logic în 1 logic): AI – conectată intern la intrarea de tact a bistabilului cu ieşirea A (QA) şi BCI – conectată intern la intrările de tact ale bistabililor cu ieşirile B (QB) respectiv C (QC). Toţi bistabilii sunt iniţializaţi (şterşi) iniţializare ieşiri R0 R0 D C B A cu comenzi asincrone de tip RESET prin pe(1) (2) (QD) (QC) (QB) (QA) rechea de borne R0(1) R0(2). Dacă ambele 1 1 0 0 0 0 borne sunt în starea 1 atunci sunt inhibate in0 X numără trările de numărare şi se forţează ieşirile cirX 0 numără cuitului în stările corespunzătoare cifrei 0 în cod BCD (zecimal codat binar). Circuitul nuFigura 6.3.10: Tabelul cu funcţiile de mără când cel puţin una din borne este pe niiniţializare/numărare pentru CDB 492 vel logic 0 (figura 6.3.10). Deoarece ieşirea bistabilului A (QA) nu este conectată intern la bistabilii următori, numărătorul poate funcţiona în trei moduri: I) Când este utilizat ca divizor prin 12, ieşirea A (QA) trebuie să fie conectată extern la intrarea BCI. Impulsurile de numărare se aplică pe intrarea AI. La ieşirile B (QB), C (QC), D (QD) se realizează divizări prin 2, 6 respectiv 12, conform tabelului I din figura 6.3.11.

135

II) Divizarea prin 12 se mai poate obţine dacă ieşirea lui D (QD) se conectează extern la intrarea AI. Impulsurile de numărat se aplică la intrarea BCI. La ieşirile C (QC), D (QD) şi A (QA) de obţine semnale a căror frecvenţă este divizată prin 3, 6 respectiv 12 (vezi tabelul II din figura 6.3.11). III) Când este utilizat ca divizor prin 6, impulsurile de numărare sunt aplicate pe intrarea BCI. La ieşirile C (QC) şi D (QD) se obţin simultan divizări prin 3 respectiv 6 (vezi tabelul III din figura 6.3.11). Bistabilul A (QA) poate fi folosit independent cu condiţia ca operaţia de ştergere să coincidă cu ştergerea divizorului prin 6.

D (QD) 0 0 0 0 0 0 1 1 1 1 1 1

I) Divizor prin 12 C B A (QC) (QB) (QA) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1

D (QD) 0 0 0 1 1 1 0 0 0 1 1 1

II) Divizor prin 12 C B A (QC) (QB) (QA) 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1

III) Divizor prin 6 D C B (QD) (QC) (QB) 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0

Figura 6.3.11: Modurile de funcţionare ale circuitului CDB 492 (SN 54/7492)

3) CDB 493 – SN 54/74 (LS) 93; 54/74393 Circuitul CDB 493 este un numărător asincron cu transport succesiv, alcătuit din patru bistabili „master–slave” de tip J–K. Bistabilii sunt conectaţi astfel încât sã realizeze un divi zor prin 2 şi un divizor prin 8. Ieşirile binare sunt notate cu D (QD), C (QC), B (QB), A (QA). Cele două intrări de numărare a impulsurilor, care se activează pe tranziţia descendentă a impulsului (din 0 logic în 1 logic), sunt: AI – conectată intern la intrarea de tact a bistabilului cu ieşirea A (QA) şi BI – conectată intern la intrarea de tact a bistabilului cu ieşiria B (QB). Bistabilii sunt iniţializaţi cu comenzi asincrone de tip RESET prin trecerea pe nivel logic 1 a bornelor R0(1) şi R0(2). În acest fel sunt inhibate intrările de numărare şi se forţează ieşirile circuitului în stările corespunzătoare cifrei 0 în cod BCD (zecimal codat binar). Circuitul numără când cel puţin una din borne este pe nivel logic 0. Tabelul de iniţializare este acelaşi cu cel din figura 6.3.10. Întrucât ieşirea bistabilului A (QA) nu este conectată intern la etajele următoare, numărătorul poate funcţiona în două moduri: I) Când este utilizat ca numără-tor asincron cu transport succesiv de patru biţi, ieşirea A (QA) trebuie să fie conectată extern la intrarea BI. Impulsurile de numărare sunt aplicate pe intrarea AI. La ieşirile D (QD), C (QC), B (QB), A (QA) se realizeazã simultan divizări prin 2, 4, 8 şi 16, conform tabelului de funcţionare I din figura 6.3.12. II) Când este utilizat ca numărător asincron cu transport succesiv de trei biţi, impulsurile de numărare se aplică pe intrarea BI. La ieşirile B (QB), C (QC) şi D (QD) se obţin simultan divizări prin 2, 4 respectiv 8 (tabelul II din figura 6.3.12). Bistabilul cu ieşirea A (QA) poate fi folosit independent cu condiţia ca operaţia de ştergere să coincidă cu aducerea la 0 a numărătorului de 3 biţi.

136

Circuitul integrat 54/74393 conţine două numărătoare binare asincrone pe patru biţi, care au fiecare câte o intrare de numărare AI (activă la tranziţia descendentă a impulsului) şi câte o intrare asincronă de iniţializare CLEAR (activă pe nivel logic 1, când trece în starea logică 0 ieşirile bistabililor). 4) CDB 4192 – SN 54/74 (LS) 192 Circuitul este un numărător I) Divizor prin 16 III) Divizor prin 8 BCD (zecimal codat binar) sincron D C B A D C B reversibil cu transport paralel, alcătu(Q ) (Q ) (Q ) (Q ) (Q ) (Q ) (Q D C B A D C B) it din patru bistabili „master–slave” 0 0 0 0 0 0 0 de tip T, care au ieşirile notate QA, 0 0 0 1 0 0 1 QB, QC respectiv QD (cea mai semni0 0 1 0 0 1 0 ficativă). Numărărtorul mai dispune 0 0 1 1 0 1 1 de intrări de date, intrări de tact, in0 1 0 0 1 0 0 trare de încărcare, intrare de ştergere 0 1 0 1 1 0 1 precum şi de ieşire de transport şi ie0 1 1 0 1 1 0 şire de împrumut. 0 1 1 1 1 1 1 Cu ajutorul intrărilor de date A 1 0 0 0 (cea mai puţin semnificativă), B, C, 1 0 0 1 D numărătorul se poate încărca în 1 0 1 0 modul paralel. 1 0 1 1 Sincronizarea se obţine prin 1 1 0 0 declanşarea simultană a tuturor bista1 1 0 1 bililor ceea ce permite ieşirilor să-şi 1 1 1 0 1 1 1 1 schimbe nivelul logic în acelaşi timp, conform logicii de comandă. În acest Figura 6.3.12: Modurile de funcţionare ale fel se elimină fenomenele tranzitorii circuitului CDB 493 (SN 54/7493) apărute la ieşirile unui numărător asincron în timpul propagării tactului. Se utilizează două intrări de tact: COUNT–UP (CU), pentru numărarea directă (înainte) şi COUNT–DOWN (CD), pentru numărarea inversă (înapoi) a impulsurilor. Bascularea celor patru bistabili se produce la o tranziţie din starea logică 0 în starea 1 a uneia din intrările de tact. Sensul de numărare este determinat de intrarea activată, în timp ce cealaltă intrare de tact este în starea logică 1. Ieşirile circuitului pot fi aduse în orice stare prin introducerea informaţiei dorite pe intrările de date, când intrarea de încărcare LOAD ( LD ) este în starea 0. Operaţia de încărcare este independentă de intrările de tact. Circuitul de încărcare este prevăzut cu o intrare de ştergere CLEAR (CL) care atunci când este adusă în starea 1 forţează toate ieşirile bistabililor în starea 0. Operaţia de ştergere este independentă de intrările de încărcare şi numărare. Ieşirea de transport CARRY ( CR ) este în starea 1 când se atinge numărul zecimal maxim (10), după care trece pe nivel logic 0 atunci când şi intrarea de tact COUNT–UP (CU) este în starea logică 0. Ieşirea de împrumut BORROW ( BR ) se află în starea 1 când se atinge numărul minim (numărul zecimal 0), după care trece în 0 atunci când şi intrarea de tact COUNT–DOWN (CD) este în starea 0. Când se numără direct (înainte) trebuie ca intrarea CD = 1, iar când se numără în ordine inversă (înapoi) trebuie ca CU = 1. În figura 6.3.13 se dau diagramele de semnale care corespund următoarei secvenţe de funcţionare: - se aduc ieşirile QA, QB, QC, QD în starea logică 0 atunci când CL = 1 (ştergere – clear);

137

CL

t LD

t

A

t B

t C

t D t CU

t CD

t QA

t QB

t QC

t QD

t CR

t BR

t

Secv. 0 clear

13 preset

14

15

0

1

2

numărare înainte (direct)

1

0

15

14 13

numărare înapoi (invers)

Figura 6.3.13: Diagramele de semnale ale numărătorului sincron 54/74192

- se încarcă în modul paralel la intrările de date de exemplu numărul zecimal 13, care corespunde combinaţiei D C B A = 1 1 0 1 în codul BCD (operaţia de iniţializare – preset); - ordinea impulsurilor la numărare directă (când tactul CU trece din starea logică 0 în starea 1 iar tactul CD stă pe nivel logic 1) este: nr.14 (1 1 1 0) → nr.15 (1 1 1 1) → CARRY ( CR = 0) → nr.0 (0 0 0 0) → nr.1 (0 0 0 1) → nr.2 (0 0 1 0); - ordinea impulsurilor la numărare inversă (când tactul CD trece din starea logică 0 în starea 1 iar tactul CU stă pe nivel logic 1) este: nr.1 (0 0 0 1) → nr.0 (0 0 0 0) → BORROW ( BR = 0) → nr.15 (1 1 1 1) → nr.14 (1 1 1 0) → nr.13 (1 1 0 1). Observaţie. Iniţializarea completă constă în ştergerea intrărilor de date (A, B, C, D), de încărcare (LOAD) şi de numărare (COUNT–UP, COUNT–DOWN). 5) CDB 4193 – SN 54/74 (LS) 193 Spre deosebire CDB 4192–SN 54/74 (LS) 192 care este un numărător BCD sincron, cir138

cuitul integrat CDB 4193–SN 54/74 (LS) 193 este un numărător binar sincron reversibil pe patru biţi cu transport paralel, astfel că numărul zecimal maxim care se atinge la un ciclu de numărare este 16. Cu excepţia acestui fapt, în rest cele două numărătoare sunt identice în privinţa tipurilor de intrări şi de ieşiri precum şi a condiţiilor de funcţionare. În figura 6.3.14 se prezintă diagramele semnalelor pentru secvenţa de mai jos: - se aduc ieşirile QA, QB, QC, QD în starea logică 0 atunci când CL = 1 (ştergere – clear); - se încarcă în modul paralel la intrările de date de exemplu numărul zecimal 7, care corespunde combinaţiei D C B A = 0 1 1 1 în codul BCD (operaţia de iniţializare – preset); - ordinea impulsurilor la numărare directă (când tactul de la intrarea CU trece din starea logică 0 în starea 1 iar tactul CD stă pe nivel logic 1) este: nr.8 (1 0 0 0) → nr.7 (0 1 1 1) → CARRY ( CR = 0) → nr.0 (0 0 0 0) → nr.1 (0 0 0 1) → nr.2 (0 0 1 0); - ordinea impulsurilor la numărare inversă (când tactul CD trece din starea logică 0 în CL

t LD

t

A

t B

t C

t D t CU

t CD

t QA

t QB

t QC

t QD

t CR

t BR

t

Secv. 0 clear

7 preset

8

9

0

1

2

numărare înainte (direct)

1

0

9

8

7

numărare înapoi (invers)

Figura 6.3.14: Diagramele de semnale ale numărătorului sincron 54/74193

139

starea 1 iar tactul CU stă pe nivel logic 1) este: nr.1 (0 0 0 1) → nr.0 (0 0 0 0) → BORROW ( BR = 0) → nr.9 (1 0 0 1) → nr.8 (1 0 0 0) → nr.7 (0 1 1 1). Observaţie. Iniţializarea completă constă în ştergerea intrărilor de date (A , B, C, D), de încărcare (LOAD) şi de numărare (COUNT–UP, COUNT–DOWN). Conectarea în cascadă a numărătoarelor În figura 6.3.15 este arătată o schemă cu două numărătoare NUM1 şi NUM2 pe patru biţi cu transport succesiv, la care conectarea în cascadă (serie) s-a realizat prin legarea ieşirilor de transport ( CR ) şi de împruQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 mut ( BR ) la intrarea de numărare directă (CU) respectiv inversă (CD) a numărătorului următor. Se QA QB QC QD QA QB QC QD obţine un numărător complet pe opt biţi (cu intrările de date Q0, Q1, CU CU CR CR NUM1 NUM2 ..., Q7), care se poate realiza cu CD CD BR BR ajutorul numărătorului decadic 54/ CL CL LD LD /74192 (în cod BCD) sau cu numănivel 1 rătorul binar 54/74193. Intrarea de mod de control ştergere (CL) MC comandă sensul numărării: dacă MC = 0 se numără direct (înaintact (CK) te), iar dacă MC = 1 se numără invers (înapoi). mod control (MC) Pe baza acestei scheme se pot proiecta numărătoare sincrone Figura 6.3.15: Numărător sincron reversibil cu reversibile cu încărcare paralelă şi transport succesiv pe opt biţi transport succesiv pe 2n biţi. Un alt mod de conectare în Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 cascadă îl reprezintă schema nunivel 1 mărătorului–divizor prin N din figura 6.3.16. Pe intrările de date QA QB QC QD QA QB QC QD Q0, Q1,..., Q7 se introduce numărul CU CU N (în cod BCD sau binar) cu care NUM1 NUM2 se doreşte divizarea frecvenţei fin a CD CD BR BR impulsurilor. Aceste impulsuri, caLD CL LD CL re trebuie să aibă o durată de minim 30ns, se aplică la intrarea de tact CD a numărătorului NUM1. tact fin ieşire fieş Frecvenţa divizată fieş se obţine la Figura 6.3.16: Numărător–divizor prin N realizat borna LD a celui de al doilea nucu numărătoare sincrone reversibile pe patru biţi mărător. Dacă numărătoarele sunt 54/ 74192 atunci frecvenţa de ieşire se poate stabili cu relaţia: f in f (6.3.1) fieş = in = , N 1  Q0  2  Q1  4  Q2  8  Q3  10  Q4  20  Q5  40  Q6  80  Q7  unde 1 ≤ N ≤ 99 (datele care se introduc la fiecare numărător sunt de la 0 la 9). Frecvenţa de ieşire pentru schema cu numărătoarele 54/74193 este: f in f (6.3.2) fieş = in = , N 1  Q0  2  Q1  4  Q2  8  Q3  16  Q4  32  Q5  64  Q6  128  Q7  unde 1 ≤ N ≤ 255 (datele care se introduc la fiecare numărător sunt de la 0 la 15).

140

Observaţie. Datele se pot introduce cu comutatoare digitale obişnuite. Implementarea numărătoarelor cu circuite logice TTL Numărătoarele sincrone se mai pot implementa şi cu ajutorul CBB de tip J–K din circuitele integrate 54/7473 şi 54/7473, pentru numărătoare binare divizoare prin 3, 4,…, 15 precum şi prin utilizarea numărătoarelor asincrone din circuitele 54/7490, 54/7492 şi 54/7493 pentru divizarea de exemplu prin 6, 88 (cu 7490), prin 7, 9, 11 (7492) sau prin 7, 9,…, 15, 39, 125 (cu 7493) etc. 6.3.3.2. Circuite integrate CMOS utilizate ca numărătoare–divizoare Se vor trece în revistă câteva dintre aceste circuite. 1) MMC (CD) 4017 este un numărător–divizor zecimal (decadic) alcătuit din cinci CBB de tip D. Cele zece ieşiri (notate 0, 1, …, 9) sunt decodificate, fiind active pe nivel logic 1. Intrarea de iniţializare RESET (R), activă pe nivel logic 1, trece în starea 0 ieşirile circuitului. Numărătorul poate fi incrementat în două moduri: fie pe frontul crescător al impulsului de tact prezent pe intrarea de tact CLOCK (CK) şi cu intrarea de validare a tactului, denumită CLOCK INHIBIT sau CLOCK ENABLE ( CKE ) în starea logică 0, fie pe frontul căzător al impulsului pe intrarea de validare a tactului CLOCK INHIBIT (CLOCK ENABLE) când intrarea de tact CLOCK este 1. Dacă se conectează în cascadă mai multe circuite, se poate utiliza ca semnal de tact pentru numărătorul de rang imediat superior ieşirea de transport CARRY OUT ( CO ), care este pe nivel logic 0 în timpul când sunt active ieşirile 5, 6, 7, 8 şi 9. 2) MMC (CD) 4022 este un numărător–divizor octal format din patru CBB de tip D. Cele opt ieşiri (notate 0, 1,…, 7) sunt decodificate, fiind active pe nivel logic 1. Modul de funcţionare este asemănător cu cel al circuitului MMC (CD) 4017, având aceleaşi tipuri de intrare de iniţializare (R), intrare de tact (CK) şi intrare de validare a tactului ( CKE ) precum şi ieşirea de transport ( CRO ). 3) MMC (CD) 4020, MMC (CD) 4024 şi MMC (CD) 4040 sunt numărătoare binare realizate cu CBB „master–slave”. Primul are 14 bistabili şi numai 12 ieşiri (Q0, Q3,…, Q13), al doilea are 7 bistabili şi 7 ieşiri (Q0, Q1,…, Q6), iar al treilea circuit dispune de 12 bistabili şi 12 ieşiri (Q0, Q1,…, Q11). Cu linia de iniţializare RESET (R) pe nivel logic 1 se şterg toţi bistabilii. Numărătoarele sunt incrementate pe frontul negativ (descendent) al impulsului de tact CK aplicat la intrarea de tact CLOCK. 4) MMC (CD) 4029 este un numărător pe patru biţi reversibil sincron binar/zecimal, cu posibilitatea programării în modul asincron. Numărătorul dispune de următoarele accesuri: - patru ieşiri pentru extragerea datelor în modul paralel: Q0, Q1, Q2, Q3; - patru intrări pentru introducerea datelor în modul paralel, notate P0, P1, P2, P3, sau JAM1, JAM 2, JAM 3, JAM 4, - intrarea de tact CLOCK (CK) pentru sincronizare, activă pe frontul crescător al impulsului de tact, - intrarea de transport CARRY–IN sau CLOCK ENABLE ( CI ), activă pe nivel logic 0; - intrarea de comandă a sensului de numărare (înainte/înapoi) COUNT–UP/COUNT– DOWN (UP/ D ); - intrarea de comandă a codificării ieşirilor (binar/zecimal) BINARY/DECADE (B/ D ); - intrarea de validare a programării asincrone PRESET ENABLE (PE), prioritară şi activă pe nivel logic 1, utilizată pentru validarea introducerii paralele a datelor în numărător; - ieşirea de transport CARRY–OUT ( CO ), activă pe nivel logic 0 atunci când numărătorul atinge valoarea maximă şi CI = 0. Numărătorul este incrementat cu un pas (număr) la tranziţia pozitivă (ascendentă) a impulsului de tact şi atunci când CI = 1 sau PE = 1. Alte numărătoare pe patru biţi programabile sunt: 141

- CD 40160: numărător zecimal sincron, cu comandă asincronă de aducere în starea 0; - CD 40161: numărător binar sincron, cu comandă asincronă de aducere în starea 0; - CD 40162: numărător zecimal sincron, cu comandă sincronă de aducere în starea 0; - CD 40163: numărător binar sindron, cu cu comandă sincronă de aducere în starea 0; - MMC (CD) 40192: numărător zecimal sincron şi reversibil; - MMC (CD) 40193: numărător binar sincron şi reversibil. 6.4. Memorii digitale 6.4.1. Noţiuni introductive Memoriile digitale sunt dispozitive pentru stocarea informaţiei binare. Prin capacitatea unei memorii se înţelege numărul total de biţi (0 sau 1) pe care aceasta îi poate stoca. O memorie digitală poate fi privită ca un şir de locaţii, fiecare dintre acestea conţinând un acelaşi număr de biţi şi putând fi reperată cu ajutorul unei adrese în cod binar. În figura 6.4.1 este dată reprezentarea intuitivă a unei memorii care conţine 8 locaţii, fiecare conţinând la rândul său, câte 4 biţi. Această memorie este organizată ca o memorie 84, adică sunt 8 adrese (locaţii), la fiecare dintre acestea adresă locaţie găsindu-se către 4 biţi. De exemplu, la adresa 100 se găconţinut număr seşte conţinutul 0 1 0 0 etc. Nu există nici o legătură între 000 0 0001 adresă şi conţinutul memoriei situat la adresa respectivă, 001 1 1000 adresa făcând trimitere la un anumit loc din memorie. 010 2 0000 Notă. O secvenţă binară care conţine 8 biţi reprezintă 011 3 1111 un octet. 100 4 Prin urmare, codul memoriei se scrie sub forma: nr. 0100 locaţii (adrese) x nr. biţi adresă. De exemplu, memoria no101 5 1011 110 6 tată 2568 este formată din 256 de locaţii, fiecare locaţie 1100 111 7 1110 conţinând un octet; deoarece 256 = 1616 = 28, rezultă că fiecare adresă va fi construită dintr-o secvenţă de 8 biţi. Figura 6.4.1: Reprezentarea Capacitatea unei astfel de memorii este 2568 biţi. unei memorii 8x4 Pentru a exprima capacităţi mari de memorie se utilizează unităţile de măsură definite mai jos: 1 octet = 1 byte (se citeşte „bait”) = 8 biţi 1 cuvânt = 2 octeţi 1 kbit (kilobit) = 210 biţi = 1024 biţi 1 Mbit (megabit) = 220 biţi = 210 biţi = 1024 kbiţi 1Gbit (gigabit) = 230 biţi = 210 Mbiţi = 1024 Mbiţi De exemplu, 212 biţi = 210  22 biţi = 4 kbiţi 223 biţi = 220  23 biţi = 8 Mbiţi 1 koctet = 210 octeţi = 1024 octeţi 1 Moctet = 210 kocteţi = 1024  1024 octeţi 1 Goctet = 210 Mocteţi = 10243 octeţi 1 kcuvânt = 210 cuvânt = 1024 cuvinte etc. În loc de „memorie 10244” se spune adeseori „memorie 1K4” etc. 6.4.2. Tipuri de memorii Memoriile digitale pot fi implementate pe suport magnetic sau cu dispozitive semiconductoare. În primul caz, suportul este discul magnetic sau bandă magnetică şi se foloseşte acelaşi principiu ca la înregistrarea pe bandă de magnetofon a informaţiei analogice (anume, dacă o anumită zonă a discului este magnetizată ea reprezintă un 1 logic, iar în caz contrar, un 0 logic). Această tehnică se utilizează din ce în ce mai rar, mai ales că accesarea/scrierea in142

143

ieşiri de date

intrări de adresă

formaţiei necesită un timp relativ mare. Memoriile digitale semiconductoare se împart în două mari categorii: ROM şi RAM. Memoriile ROM (Read Only Memory) sunt memorii care pot fi doar citite şi în care producătorul înscrie (programează) un anumit conţinut destinat unei aplicaţii specifice. Sunt memorii sunt nevolatile, în sensul că după deconectarea lor de la sursa de alimentare, nu-şi pierd conţinutul; după ce circuitul este alimentat din nou conţinutul său este identic cu cel introdus de producător. Datorită acestui fapt, memoriile ROM sunt folosite în special pentru stocarea datelor şi programelor care sunt folosite în mod repetat. De exemplu, programele de iniţializare (startare) a sistemelor numerice de calcul, cunoscute sub denumirea de boot-strap programs, sunt stocate în memorii ROM. Memoriile RAM (Random Access Memory) pot fi atât scrise, cât şi citite, secvenţele de scriere/citire putând alterna într-un mod aleator. De exemplu, se poate înscrie la o anumită adresă un anumit conţinut, se poate apoi să se scrie la o altă adresă, după care se poate citi de la o adresă oarecare etc. În momentul în care se scrie la o anumită adresă, vechiul conţinut de acolo se pierde. Dimpotrivă, citirea de la o anumită adresă nu afectează deloc conţinutul adresei respective. Spre deosebire de memoriile ROM, aceste memorii sunt volatile, adică la întreruperea tensiunii de alimentare vechiul conţinut al memoriei RAM se pierde definitiv. După reapariţia tensiunii de alimentare noul conţinut al memoriei RAM poate fi esenţial diferit de cel dinaintea deconectării şi de aceea, memoria RAM trebuie reiniţializată adică rescrisă. Memorie internă a unui calculator este o memorie RAM deci o memorie volatilă. Memoria externă a unui calculator este nevolatilă, fiind implementată de obicei pe hard-disk, floppy disk, bandă magnetică, memorii USB etc.. Memoria internă se utilizează pentru depozitarea temporară a unor programe şi date. De exemplu, la lansarea în execuţie a unui program aplicativ acesta este adus din memoria externă în memoria internă, adică în RAM. După ce programul a furnizat rezultatele, acestea trebuie neapărat stocate într-o memorie nevolatilă, în caz contrar, ele se vor pierde iremediabil la deconectarea de la sursa de tensiune. Celula fundamentală de memorare este circuitul basculant bistabil (CBB). 6.4.2.1. Memoria ROM Aşa cum s-a specificat, conţinutul unei astfel de memorii este nevolatil şi poate fi doar citit. Schema bloc a unei memorii ROM este dată în figura 6.4.1. Intrările Ai (notate şi ADRi) i = 0, 1, …, (n – 1) se numesc intrări de adresă. O combinaţie oarecare An–1 An–2 ... A1 A0 = an–1 an–2 ... a1 a0, ai  (0, 1) a valorilor acestor intrări se reprezintă o adresă a memoriei, An–1 fiind intrarea cea mai semnificativă şi A0 cea mai puţin semnificativă. Bornele fm–1, fm–2,…, f1, f0 reprezintă ieşirile de date. Intrarea notată cu E este intrarea de activare a memoriei (ENABLE): memoria este activă când E = 0 şi inactivă când E = 1. An–1 fm–1 Funcţionare An–2 fm–2 Se presupune că memoria este activă, adin că E = 0. Dacă la intrare se aplică o anumită ROM 2 x m adresă An–1 An–2 ... A1 A0 = an–1 an–2 ... a1 a0, ai  A1 f1 (0, 1), atunci la ieşire apare o combinaţie a vaA0 f0 lorilor ieşirilor fm–1 fm–2…, f1 f0, care depinde de E adresa folosită. Ansamblul valorilor ieşirilor fm–1 intrare de fm–2 … f1 f0 se numeşte conţinutul memoriei de ENABLE activare la adresa an–1 an–2 ... a1 a0 folosită. Capacitatea C Figura 6.4.1: Memorie ROM 2n x m a unei memorii ROM cu n intrări de adresă şi cu m ieşiri de date este C = 2n x m biţi, deoarece se pot forma 2n adrese iar memoria are m ieşiri de date, deci la fiecare adresă se găsesc stocaţi m biţi. Memoria este deci organizată ca 2n x m, adică 2n adrese, fiecare conţinând m biţi.

Implementarea unei memorii ROM Implementarea unei memorii ROM cu n intrări de adresă (An–1 An–2 ... A1 A0) şi m ieşiri de date (fm–1 fm–2…, f1 f0) se poate realiza cu ajutorul unui decodificator binar–zecimal şi a m porţi NAND (figura 6.4.2). Această implementare poate fi privită ca o generalizare a metodei de implementare a funcţiilor booleene cu decodificator binar–zecimal (DB–Z) şi porţi logice din §6.1.3.1(C). Cerculeţele din figură, plasate la intersecţiile dintre ieşirile decodificatorului şi intrările porţilor ŞI–NU (NAND), reprezintă conexiuni programabile, adică pot fi realizate sau nu, după necesităţi. Când o conexiune nu este realizată (programată), intrarea corespunzătoare a porţii ŞI–NU este în starea logică 1.

An–1

In–1

f 2n 1

An–2

In–2

f 2n  2 DB–Z

A1

I1

f1

A0

I0

f0

P2n 1

conexiune programabilă

P2n 2 P1 P0

fm–1

f0

Figura 6.4.2: Implementarea unei memorii ROM 2n x m

Cu ajutorul schemei se poate implementa orice grup de m funcţii fm–1, fm–2…, f1, f0, fiecare având n variabile independente, şi anume An–1 An–2 ... A1 A0. Dacă se consideră că An–1, An–2,... , A1, A0 sunt variabilele booleene ale unei funcţii y, atunci această funcţie se poate scrie în forma canonică disjunctivă (FCD) ca o reuniune a termenilor Pi, care reprezintă produse (mintermeni) pentru care funcţia y ia valoarea 1 (vezi §2.5.2.1(1)): (6.4.1) y(An–1, An–2,... , A1, A0) =  Pi Pe de altă parte, aceeaşi funcţie poate fi scrisă şi într-o formă normal disjunctivă (FND) care conţine toţi termenii Pi , i = 0, 1, ..., (2n – 1), pentru care y ia valoarea 0 sau 1: 2n 1

(6.4.2) y(An–1, An–2,... , A1, A0) =

 a i Pi

= a0 P0 + a1 P1 + ... + a 2n 2 P2n 2 + a 2n 1 P2n 1 ,

0

unde a0, a1,…, a 2n 1 {0, 1}(deci sunt constante logice asociate funcţiei f), iar P0 , P1 ,..., P2n 1 sunt mintermenii (conjunctivi) şi anume: (6.4.3) P0  A n 1 ... A1 A 0 , P1  A n 1 ... A1 A0 ,..., P2n 2  An 1 ... A1 A0 , P2n 1  An 1 ... A1 A0 . În expresia (6.4.2) a funcţiei y unele constante ai pot fi egale cu 0 logic şi în acest caz produsele corespunzătoare ai Pi nu mai apar în suma logică, astfel că această expresie devine: (6.4.4) f(An–1, An–2,... , A1, A0) = Pj1 + Pj2 + ... + Pjk , unde indicii j1, j2, ... , jk sunt distincţi, cuprinşi între 0 şi (2n – 1) şi au proprietatea că: a j1 = a j2 = ... = a jk = 1 şi a j = 0, pentru j ≠ j1, j2, ... , jk. Pentru a implementa funcţia booleeană y, aleasă arbitrar, se aplică algoritmul utilizat în exemplul 6.1.3 din §6.1.3.1(C), pentru un decodificator binar–zecimal activ pe nivel logic 0. Astfel, în expresia (6.4.4) se aplică relaţia lui De Morgan de forma: A  B  A  B . Rezultă:

144

(6.4.5) y = Pj1  Pj2  ...  Pjk = Pj1  Pj2  ...  Pjk . Se neagă relaţia de mai sus, obţinându-se: (6.4.6) ( y ) = y = ( Pj1  Pj2  ...  Pjk ) . Deoarece decodificatorul din cod binar în cod zecimal este activ pe nivel logic 0, la ieşirile acestuia apar chiar funcţiile P0 , P1 ,..., P2n 1 . Funcţia Pj este prezentă la ieşirea cu numărul j a decodificatorului. Aşadar, funcţia booleană y, aleasă arbitrar, poate fi implementată, de exemplu, pe ieşirea f0 a schemei, în modul următor: ieşirile decodificatorului cu indicii j1, j2, ... , jk care apar în expresia FND a lui y se leagă la intrările porţii ŞI–NU a cărei ieşire este notată cu f0 (deci conexiunile corespunzătoare se programează), în timp ce toate celelalte borne de intrare ale acestei porţi se lasă în 1 logic (deci conexiunile corespunzătoare nu se programează). Altfel spus, se vor programa acele conexiuni care corespund valorilor 1 logic din tabelul de adevăr al funcţiei y considerate. Trebuie observat că schema prezentată va implementa aceeaşi funcţie ori de câte ori va fi pusă sub tensiune, deci memoria obţinută va fi nevolatilă. Pentru programarea unei memorii ROM se utilizează un tabel în care se specifică adresele şi conţinutul dorit al memoriei la adresa corespunzătoare. În figura 6.4.3 este dată o secţiune dintr-un tabel de programare a unei memorii ROM, în care f7, f6,…, f1, f0 sunt ieşirile memoriei. Conţinutul aflat la o anumită adresă este reprezentat în baza 16 (cod hexazecimal). adresa

0 1 2 3 4 5 6 7 8 

f7

conţinutul în cod binar f6 f5 f4 f3 f2 f1

f0

0 1 0 0 0 1 1 0 0 

0 1 0 0 0 1 0 1 1 

0 0 1 0 1 1 1 1 0 

0 1 0 0 0 1 1 0 0 

0 1 0 0 1 0 1 0 1 

0 0 0 1 1 0 1 1 0 

0 0 0 1 1 1 0 1 1 

0 0 1 0 1 1 0 0 1 

conţinutul în cod hexazecimal 00 F0 03 0C 1F EF B9 4D 56 

Figura 6.4.3: Exemplu de programare a unei memorii ROM

6.4.2.2. Memoria RAM Memoriile RAM pot fi de tip static sau dinamic, permiţând orice secvenţă scriere–citire, ciclurile de scriere–citire putându-se astfel să se succedă în orice ordine. Schema bloc a unei memorii RAM statice este dată în figura 6.4.4, în care An–1, An–2, ... A1, A0 reprezintă intrările de adresă ale memoriei (An–1 este cea mai semnificativă). O combinaţie oarecare a valorilor acestor intrări se numeşte adresă a memoriei. De exemplu, dacă An–1 An–2 ... A1 A0 = 0 0...0 0, atunci este precizată adresa 0, iar dacă An–1 An–2 ... A1 A0 = 0 0...0 1 1, atunci este prezentată adresa 3 etc. Dn–1, Dn–2, ... D1, D0 sunt intrările de date care se înscriu în memorie. Ieşirile de date din memorie la care apare informaţia binară în timpul operaţiei de citire sunt notate qm–1, qm–2,…, q1, q0. Operaţiile de scriere sau citire (READ/WRITE) se efectuează prin aplicarea unor nivele logice pe intrarea WR (R/ WR ). Când WR = 0 (R/ WR = 0) are loc o scriere în memorie a da-

145

telor prezente pe intrările Dn–1, Dn–2, ... D1, D0, iar atunci când WR (R/ WR ) = 1 are loc o cititire a memoriei, datele citite apărând pe ieşirile qm–1, qm–2,…, q1, q0.

intrări de adresă

intrări de date

Dm–1 Dm–2 An–1

D1

An–2

D0

intrare de scriere/citire

WR n

RAM 2 x m A1

CS

A0 qm–1 qm–2

q1

q0

intrare de activare

ieşiri de date Figura 6.4.4: Memorie RAM 2n x m

Activarea (validarea) sau dezactivarea (invalidarea) memoriei se realizează când se comandă intrarea CHIP SELECT ( CS ) sau CHIP ENABLE ( CE ). Dacă CS ( CE ) = 0 atunci circuitul este activat, comportându-se ca o memorie în care se pot efectua scrieri, citiri în orice ordine etc. Dacă însă CS ( CE ) = 1 circuitul este dezactivat (invalidat), şi ieşirile sale de date qi se pot afla în starea de înaltă impedanţă (HiZ), dacă este memoria este un circuit TSL (Tri State Logic). Practic, în starea HiZ intrările de date şi ieşirile de date se comportă ca şi cum ar fi deconectate din schema electrică a memoriei. Funcţionare Se presupune că s-au citit datele qm–1 qm–2… q1 q0 = bm–1 bm–2… b1 b0, corespunzătoare adresei Am–1 Am–2… A1 A0 = am–1 am–2… a1 a0, dacă intrările de comandă sunt în stările: CS ( CE ) = 0 şi WR (R/ WR ) = 1. În aceste condiţii, combinaţia ieşirilor bm–1 bm–2 … b1 b0 reprezintă conţinutul memoriei de la adresa particulară am–1 am–2… a1 a0. În cazul în care, dacă s-a fixat o anumită adresă şi dacă se scriu în memorie datele de intrare Dm–1 Dm–2… D1 D0 = dm–1 dm–2… d1 d0, atunci combinaţia dm–1 dm–2… d1 d0 constituie conţinutul memoriei la adresa fixată, numai când intrările de comandă sunt în stările: CS ( CE ) = 0 şi WR (R/ WR ) = 0. n O memorie RAM cu n intrări de adrese şi m intrări/ieşiri de date are capacitatea de 2 x n m biţi. În adevăr, fiind n intrări de adrese, se pot forma în total 2 adrese, însă la fiecare adresă se găsesc stocaţi m biţi. Implementarea unei memorii RAM statice Se va exemplifica implementarea unei memorii RAM având schema de principiu din fin gura 6.4.5, în care s-au utilizat un demultiplexor DEMUX 1:2 , circuite basculante bistabile n (CBB) de tip D cu „latch”, un multiplexor MUX 2 :1, un inversor NU şi un operator TSL. Memoria conţine: intrările de adrese (ADR)n–1, (ADR)n–2,..., (ADR)1, (ADR)0, intrarea de date (serială) DIN, intrarea de scriere/citire WRITE ( WR ) şi ieşirea (serială) de date DOUT care este conectată la ieşirea f a multiplexorului, prin intermediul operatorului TSL. Acest operator, denumit de obicei „tampon” (buffer), asigură prezenţa datelor la ieşirea sa când intrarea 146

de comandă (în cazul de faţă CHIP SELECT – CS ) este pe nivel logic 0. Când avem CS = 1, atunci ieşirea acestuia trece în starea de înaltă impedanţă (HiZ), separând astfel ieşirea de date DOUT de restul circuitului memoriei. (ADR)n–1 (ADR)n–2 (ADR)1 (ADR)0

In–1 In–2 I1 I0

DE

DEMUX 1 : 2n D 2n 1

D 2n  2

WR

DE 1 D0

D1

DIN D

CK CBB tip D nr. 2n–1 Q

D

D

CK CBB tip D nr. 2n–2 Q

CK CBB tip D nr. 21 Q

D

CK CBB tip D nr. 20 Q NU

In–1 In–2 I1

D 2n 1

MUX 2n : 1

D0 ME

f

I0 RAM 2n x m

D1

D 2n  2

TSL

CS

DOUT Figura 6.4.5: Implementarea unei memorii RAM 2n x m

Demultiplexorul este activat (validat) atunci când ambele intrări de comandă de tip ENABLE ( DE şi DE 1) sunt simultan în starea logică 0. Dacă DEMUX este inactiv, toate ieşirile sale D0 , D1 ,..., D2n 2 , D2n 1 sunt în starea logică 0, iar multiplexorul este activat pe intrarea de validare deoarece ME = 0 (semnalul WR = DE este trecut prin inversorul NU). Funcţionare Dacă CS = 0 şi WR = 0 atunci demultiplexorul este activat ( DE = 0), în timp ce multiplexorul este dezactivat ( ME = 1). Deoarece WR = 0, are loc scrierea bitului prezent pe inn trarea de date DIN într-unul din cele 2 CBB de tip D, care corespunde adresei respective. Dacă CS = 0 şi WR = 1 atunci demultiplexorul devine inactiv (toate ieşirile sale devin 0). Ca urmare, intrările de tact CK (ENABLE) ale tuturor CBB de tip D devin 0 logic, ceea ce face ca toţi bistabilii să memoreze. În acelaşi timp, deoarece WR = 1, multiplexorul este activat, lăsând să treacă la ieşirea sa de date DOUT bitul stocat în bistabilul precizat prin intermediul celor n intrări în adresă. Adresă a memoriei prezentate înseamnă o combinaţie a valorilor intrărilor de selecţie ale demultiplexorului (intrările demultiplexorului sunt în acelaşi timp şi căile de selecţie ale multiplexorului, adică In–1, In–2,..., I1, I0,). Prin intermediul adresei este selecţionată o anumită

147

celulă de memorare (CBB). De exemplu, adresa 0 înseamnă selecţionarea CBB cu numărul 0 din matricea (aria) cu celule de memorare etc. n Această memorie poate înmagazina 2 biţi, având n intrări de adresă. La un moment dat se poate scrie un singur bit în memorie, la o anumită adresă, sau se poate citi un singur bit din memorie, stocat la o anumită adresă. Din aceste considerente, se spune că memoria este organ nizată ca 2 x 1. Extensia memoriilor RAM Se poate realiza o memorie cu capacitate ridicată utilizând memorii cu capacităţi proprii mai mici, ţinând cont că organizarea ei este dată de doi parametri: numărul de adrese sau n locaţii 2 şi numărul de biţi m înmagazinaţi la fiecare dintre adrese. De exemplu, o memorie 1K x 4, adică o memorie 1024 x 4, are 1024 adrese (adică 2 10 adrese, respectiv 10 intrări de adresă) şi la fiecare adresă se găsesc stocaţi 4 biţi. Deci, extensia capacităţii unei memorii se poate face prin modificarea unuia sau a ambilor parametri. A) Modificarea numărului m de biţi stocaţi la o adresă oarecare, lăsând neschimbat nun mărul 2 de locaţii ale memoriei se realizează prin juxtapunerea memoriilor iniţiale. Această operaţie constă în legarea în paralel a intrărilor de adresă corespunzătoare, a intrărilor de comandă CHIP SELECT ( CS ) şi READ/WRITE (R/ W ), care determină menţinerea nemodificată a numărului intrărilor de adresă. În figura 6.4.6 s-a construit o memorie 16 x 8 folosind două memorii RAM statice 16 x 4. Intrările de date ale memoriei extinse sunt I7 ....I0, iar intrările de adresă de acelaşi nume ale celor două memorii sunt conectate împreună (A0 cu A0, A1 cu A1 etc.), la fel şi intrările CS şi R/ W . I7

I6

I5

(ADR)3

D3 D2 D1 D0 A3

(ADR)2

A2

(ADR)1

A1

(ADR)0

A0

RAM 16 x 4

q3 q2

I3

I4

I2

I1

I0

D3 D2 D1 D0 A3 RAM 16 x 8

R/ W CS q1 q0

A2 RAM 16 x 4 A1 A0 R/ W CS q3 q2 q1 q0

Q7 Q6 Q5 Q4 R/ W CS Q3 Q2 Q1 Q0 Figura 6.4.6: Extensia unei memorii RAM prin modificarea numărului „ m” de biţi ai unei adrese n

B) Mărirea numărului 2 de locaţii ale memoriei, lăsând neschimbat numărul m de biţi stocaţi la o adresă oarecare. Această extinderea duce implicit şi la mărirea numărului posibil de adrese, ţinând cont că o dublare a numărului de locaţii impune adăugarea unei intrări de adresă. Acest lucru reiese din faptul că, pe lângă cele n adrese iniţiale (An–1, An–2, ... A1, A0), noua adresă An poate fi în două stări logice posibile: 0 sau 1. Deci, prin adăugarea a k intrări

148

suplimentare de adresă, numărul locaţiilor va creşte de 2 k ori. Astfel, pentru a obţine memorii 2n+k x m din memorii de bază 2n x m, se vor utiliza 2k memorii de bază (figura 6.4.7). Intrările de adresă ale memoriei extinse (ADR)n+k–1, (ADR)n+k–2,..., (ADR)1, (ADR)0 ((ADR)0 – cea mai puţin semnificativă) reprezintă totodată şi intrările de selecţie ale demultiplexorului DEMUX 1: 2k. Ieşirile acestuia f 2k 1 , f 2k 2 ,…, f1, f0 comandă activarea/dezacti-

I0

I1

Im–2

Im–1

varea memoriilor de bază RAM 2n x m pe intrările CHIP SELECT ( CS ). La rândul său, demultiplexorul este activat/dezactivat pe intrarea de tip ENABLE ( EN ) care este totodată şi intrarea de validare/invalidare de tip CHIP ENABLE ( CE ) a memoriei extinse.

RAM 2n+k x m Dm–1 D m–2...D1 D0 A n–1 qm–1 A n–2 RAM qm–2 A1 A0

2n x m nr. 0

q1 q0

R/W

CS

Qm–1 Qm–2 Q1 Q0

R/ W

CE Dm–1 D m–2...D1 D0

(ADR)n+k–1

Sn–1 EN

f0

(ADR)n+k–2

Sn–2

f1

(ADR)n+1 (ADR)n

qm–1 qm–2

2n x m nr. 1

q1 q0

A1 A0

DMUX k S1 1:2 S0

A n–1 A n–2 RAM

R/W

CS

f 2k 1

(ADR)n–1 (ADR)n–2

Dm–1 D m–2...D1 D0

(ADR)1

A n–1 A n–2 RAM

(ADR)0

A1 A0 CS

2n x m nr. 2k–1

qm–1 qm–2 q1 q0

R/W

Figura 6.4.7: Extensia unei memorii RAM prin modificarea numărului de locaţii 2n ale memoriei

149

Intrările de adresă An–1, An–2, ... A1, A0 ale memoriilor de bază 2n x m fiind comune tuk turor celor 2 memorii se vor lega în paralel. Aceste adrese constituie şi adresele cele mai puţin semnificative ale memoriei extinse 2n+k x m, adică (ADR)n–1, (ADR)n–2,...,(ADR)1, (ADR)0, astfel că: (ADR)n–1 = An–1, (ADR)n–2 = An–2, ..., (ADR)1 = A1, (ADR)0 = A0. Intrările de date ale memoriei extinse 2n+k x m, adică Im–1, Im–2, ..., I1, I0 vor coincide cu intrările de date Dm–1, Dm–2, ..., D1, D0 ale memoriilor de bază 2n x m, care se vor conecta în paralel. Ieşirile de date ale memoriei extinse 2n+k x m (Qm–1, Qm–2, ... Q1, Q0) sunt aceleaşi cu ieşirile de date qm–1, qm–2, ..., q1, q0 ale memoriilor de bază 2n x m şi din această cauză vor fi legate în paralel. Operaţiile de scriere/citire au loc prin activarea intrării R/ W care este comună tuturor memoriilor de bază. Funcţionare Atunci când este precizată o anumită adresă particulară a memoriei extinse, de forma: (ADR)n+k–1 (ADR)n+k–2... (ADR)1 (ADR)0 = an+k–1 an+k–2 ... a1 a0, unde ai = {0, 1}, va fi validată (activată) o singură memorie de bază 2n x m va fi activată, toate celelalte fiind inactive, adică deconectate din schemă. Dacă CE = 1, demultiplexorul este dezactivat, adică toate ieşirile sale sunt în starea logică 1. Ca urmare, pe toate intrările CS ale memoriilor de bază RAM 2n x m se aplică nivelul logic 1, ceea ce face ca toate aceste circuite să se comporte ca şi cum intrările şi ieşirile lor de date ar fi deconectate din schemă. Se observă că adresele: (ADR)n+k–1 (ADR)n+k–2...(ADR)n+1 (ADR)n (ADR)n–1 (ADR)n–2...(ADR)1 (ADR)0 = de la 0 0 ... 0 0 0 0 ... 0 1 până la 0 0 ... 0 0 1 1 ... 1 1 se găsesc în memoria RAM 2n x m nr. 0 (cea mai de sus), în timp ce adresele: (ADR)n+k–1 (ADR)n+k–2...(ADR)n+1 (ADR)n (ADR)n–1 (ADR)n–2...(ADR)1 (ADR)0 = de la 1 1 ... 1 1 0 0 ... 0 0 până la 1 1 ... 1 1 1 1 ... 1 1 n k se află în memoria RAM 2 x m nr. 2  1 (cea mai de jos), Cu alte cuvinte, pe măsură ce adresele cresc, are loc o deplasare de sus în jos în memoria extinsă. Exemplu Dacă se doreşte realizarea unei memorii RAM statică 2K x 4 din două memorii RAM statice 1K x 4 (notate cu numărul 0 respectiv 1), se determină mai întâi numărul de adrese ale memoriei extinse. Deoarece 1K = 210, rezultă că o memorie 1K x 4 are 10 intrări de adrese (A9 A8 ... A1 A0). Memoria extinsă 2K x 4 are 11 adrese (ADR)10 (ADR)9 ... (ADR)1 (ADR)0, întrucât 2 · 1K = 2 · 210 = 211. Se execută apoi conectarea în paralel a intrărilor de date ale celor două memorii 1K x 4, adică D3 cu D3, D2 cu D2, D1 cu D1 şi D0 cu D0, care formează şi intrările de date I3 I2 I1 I0 ale memoriei extinse. Se leagă apoi în paralel ieşirile de date cu acelaşi nume ale memoriilor 1K x 4, adică q3 cu q3, q2 cu q2, q1 cu q1 şi q0 cu q0, care constituie şi ieşirile de date Q3 Q2 Q1 Q0 ale memori-ei 2K x 4. Demultiplexorul va avea o singură intrare de selecţie care reprezintă a 11 -a adresă a memoriei extinse, adică (ADR)10, şi două ieşiri: f0, care se leagă intrarea CS a memoriei 1K x 4 de sus (nr. 0) şi f1, care se leagă intrarea CS a memoriei 1K x 4 de jos (nr. 1). Intrarea R/ W care este comună celor două memorii 1K x 4.

150

C) Mărirea simultană atât a numărului de locaţii, cât şi a numărului de biţi stocaţi la o adresă oarecare se reduce practic la cazurile precedente, deoarece se poate mai întâi să se mărească numărul de biţi stocaţi la o adresă oarecare, urmând apoi şi extinderea numărului de locaţii ale memoriei. Aplicaţii ale memoriilor 1) După punerea sub tensiune un sistem digital trebuie să fie iniţializat şi de aceea programele de iniţializare sunt stocate în memorii de tip ROM (memorii nevolatile). 2) Cu ajutorul memoriilor se pot implementa orice set de funcţii booleene, fără a fi necesară operaţia de minimizare (simplificare) a acestora. 3) Cu ajutorul unei memorii se poate efectua o trecere uşoară de la un cod binar la altul. Dacă codul A constă din secvenţe binare de lungime n, iar codul B din secvenţe de biţi de lungime m, atunci se utilizează o memorie de tipul 2 n x m, adică o memorie cu n intrări de adresă şi m ieşiri de date, pentru a traduce din A în B. Dacă secvenţei particulare xn–1 xn–2 ... x1 x0 din A îi corespunde secvenţa ym–1 ym–2 ... y1 y0 din B atunci, la adresa An–1 An–2 ... A1 A0 = xn–1 xn–2 ... x1 x0 a memoriei, se va înscrie conţinutul ym–1 ym–2 ... y1 y0. 4) Memoriile pot fi folosite pentru a genera anumite seturi de semnale periodice. În acest caz, adresele memoriei trebuie „baleiate” periodic, ceea ce se face utilizând un numărător ale cărui ieşiri comandă intrările de adresă ale memoriei. O secvenţă de baleiere este de forma: adresa 0, adresa 1,...., adresa k, adresa o, adresa 1, ..., adresa k,... În funcţie de forma dorită a semnalelor se înscrie în memorie un conţinut sau altul. Pe acest principiu se bazează funcţionarea unor memorii generatoare de caractere. ***

151

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF