Electronica Digitala
December 30, 2016 | Author: Liviu Ionuț Mălăele | Category: N/A
Short Description
Download Electronica Digitala ...
Description
Dan MIHAI – Electronică Digitală
ELECTRONICĂ DIGITALĂ PROF. UNIV. DR. ING.
2009
DAN MIHAI
1
Dan MIHAI – Electronică Digitală
2
Cuvânt înainte: Electronica digitală - importanţă şi conţinut Civilizaţia actuală, cu dominanţă tehnologică, îşi datorează în cea mai mare măsură progresul electronicii digitale. Este greu de găsit un domeniu (tehnic, economic, din sfera socială şi chiar a artei) care sa nu beneficieze direct ori indirect de aportul structurilor numerice - mai mult sau mai puţin complexe. Se poate spune că electronica digitală este, cumva, o condiţie de fapt cotidian. Fiecare dintre noi o utilizăm; de la telefonul mobil şi ceas, la calculatorul personal, telecomenzile pentru diferite aparate de uz casnic şi automobil. Este imposibil să imaginăm acum o medicina fără electronică. Un parc de distracţii fără echipamente moderne ar deveni un muzeu. Construcţiile, agricultura şi comerţul nu ar mai fi practic posibile fără instrumentele generate de electronica digitală. Desigur, în atare condiţii trebuie făcută distincţie între aspectele utilizării electronicii digitale şi cele legate de cunoaşterea ori aprofundarea unor elemente de conţinut. Inginerul de astăzi, mai ales avand un profil larg, nu-si poate onora statutul profesional fără să cunoască un minim de elemente din interiorul electronicii numerice. Rezolvarea majorităţii problemelor de concepţie, exploatatre şi chiar de comercializare a unor produse implică stăpânirea unor noţiuni de bază ale electroniii digitale. De aceea, în toată lumea, studenţii de la profilele inginereşti invaţă electronică; şi mai ales electronică digitală. Cartea se adresează studenţilor de la Facultatea de Inginerie în Electromecanică, Mediu şi Informatică Industrială. Ea poate fi însă utilă însă oricui doreşte să se iniţieze în domeniul electronicii digitale. Materialul este rezultatul experienţei inginereşti a autorului (în activitate de service a maşinilor şi liniilor automate din industria automobilului), a mai multor ani de activitate didactică şi ştiinţifică la Universitatea din Craiova precum şi a unor stagii de specialitate la universităţi de prestigiu din Anglia, Canada, Franţa, Belgia, Italia şi Spania. Formularea "Electronică digitală" este percepută diferenţiat, sfera de cuprindere fiind destul de largă. Sensul de bază se referă la componente electronice şi circuite funcţionând în comutaţie, deci cu două stări logice: 0 şi 1. Acestea se asociază atât logicii binare (booleene) cât şi aritmeticii binare, între ele existând corelări şi diferenţieri. Nivelul la care se referă conţinutul materialului este acela de circuit cu o funcţie bine definită. Este un pas pregătitor pentru structuri digitale mai complexe, din sfera echipamentelor de comandă. Acestea vor fi studiate ulterior, la alte discipline. Prezentarea este simplificată faţă de variantele abordate în cadrul unor profiluri unde Electronica digitală face parte din pregătirea fundamentala (ingineria calculatoarelor, electronică şi telecomunicaţii), structurarea şi prezentarea fiind adaptate profilului electromecanic. Se consideră mai puţin importante detalii interne de construcţie şi funcţionare pentru dispozitive şi circuite electronice şi se insistă asupra unor elemente esenţiale necesare inginerului utilizator de echipamente numerice. Capitolul 1 sistematizează elementele de bază ale algebrei binare logice, insitând asupra operaţiilor şi funcţiilor logice cu largă utilizare, regulilor esenţiale de operare şi simbolurilor necesare. Capitolul 2 este dedicat aritmeticii binare. Sunt prezentate succint sistemele de numeraţie binar, hexazecimal precum şi codurile numerice folosite în structurile digitale. Capitolul 3 prezintă circuitele combinaţionale la nivel de metode pentru analiză şi sinteză. De ademenea sunt descise structurile reprezentative: decodificator, demultiplexor, multiplexor, codificator, convertor de cod. Capitolul 4 are un conţinut similar pentru circuite secvenţiale. După metodele de analiză şi sinteză, sunt prezentate aici circuitele bistabile, numărătoarele, registrele şi memoriile. Elementele fizice care intervin în materializarea structurilor anterioare (cu componente discrete sau - mai ales integrate) fac obiectul unei prezentări la nivelul practicii utilizator în capitolul 5. Un capitol final este dedicat exclusiv aplicaţiilor legate de utilizarea unor circuite digitale în ingineria electrică / electromecanică. Sunt prezentate dispozitive automate simple (unde se parcurg etape de analiză ori sinteză) dar şi sisteme digitale cu un grad de complexitate mai ridicat. Aplicaţii mai ample legate de conţinutul materialului pot fi consultate în bibliografia recomandată. Prezentarea unei liste de abrevieri se doreşte un ajutor pentru orientarea într-o terminologie care utilizează foarte multe acronime (provenind din limba engleză).
Craiova, august 2009
Autorul
Dan MIHAI – Electronică Digitală
3
Cuprins Cap. 1 Noţiuni de algebră Boole 1.1 Operaţii şi funcţii logice 1.2 Algebra Boole 1.3 Sisteme funcţionale complete (SFC)
Pag. 4 4 5 6
Cap. 2 Reprezentarea informaţiei în structurile digitale 2.1 Sistemul de numeraţie cu baza 2 2.2 Sistemul de numeraţie hexazecimal 2.3 Coduri binare 2.4 Reprezentarea numerelor pozitive şi negative
7 7 10 11 12
Cap. 3 Funcţii şi circuite logice de tip combinational 3.1 Funcţii logice pentru circuitele combinaţionale 3.1.1 Mintermeni, maxtermeni. Formele canonice P şi S 3.1.2 Reprezentarea funcţiilor logice cu ajutorul operatorului NAND 3.1.3 Teoremele de dezvoltare ale lui Shannon 3.2 Minimizarea funcţiilor logice 3.3 Circuite logice combinaţionale reprezentative 3.3.1 Decodificatorul 3.3.2 Demultiplexorul 3.2.3 Multiplexorul 3.3.4 Codificatorul 3.3.5 Convertorul de cod
13 13 14 17 19 19 23 24 24 25 27 28
Cap. 4 Funcţii şi circuite logice de tip secvenţial 4.1 Analiza şi sinteza circuitelor logice secvenţiale 4.1.1 Elemente de bază: definiţii, structură, terminologie, exemple 4.1.2 Analiza CLS 4.1.3 Sinteza CLS asincrone 4.2 Circuite digitale secvenţiale reprezentative 4.2.1 Circuite basculante bistabile 4.2.2 Numărătoare 4.2.2.1 Numărătoare asincrone 4.2.2.2 Numărătoare sincrone 4.2.2.3 Numărătoare sincrone reversibile şi presetabile 4.2.2.4 Divizoarele programabile 4.2.3 Registre 4.2.3.2 Registrul de memorie (paralel) 4.2.3.2 Registrul serie – paralel 4.2.4 Memorii 4.2.4.1 Memorii implementate prin registre 4.2.4.2 Memoria ROM 4.2.4.3 Memoria RAM
31 31 31 33 35 43 43 49 49 50 52 53 55 56 56 57 58 59 61
Cap. 5 Circuite logice fizice 5.1 Circuite logice cu contacte şi relee 5.2 Circuite logice cu diode şi tranzistoare 5.3 Circuite logice integrate 5.3.1 Familia TTL 5.3.2 Familii de circuite integrate MOS 5.3.3 Alte familii de circuite integrate logice
63 63 64 65 65 69 71
Cap. 6 Aplicaţii 6.1 Aplicaţii cu circuite digitale de tip combinaţional 6.2 Aplicaţii cu circuite digitale de tip secvenţial
72 72 74
Bibliografie Listă cu abrevieri
88 88
Dan MIHAI – Electronică Digitală
4
Cap. 1 Noţiuni de algebră Boole Elementele sistemelor digitale (discrete) lucrează în regim de comutaţie, folosind dispozitive şi circuite cu două nivele stabile. Când comutaţia se face printr-o mişcare mecanică, elementul este cu comutaţie dinamică, în caz contrar are comutaţie statică. 0 se asociază valorii "fals" iar 1 valorii "adevărat". Instrumentul fundamental de analiză al circuitelor electronicii digitale şi baza teoretică a comenzilor numerice este algebra Boole, creată de George Boole. Acesta, prin cartea sa ,,An Investigation of the Laws of Thought" (O investigaţie asupra legilor gândirii), a introdus un aparat matematic pentru analiza simbolică a unor expresii caracterizate prin două stări: da - nu, adevărat - fals. Ulterior, Shannon şi Şestakov au adaptat instrumentul matematic al lui Boole la circuitele de comutaţie specifice electronicii digitale. 1.1 Operaţii şi funcţii logice Ecuaţiile generale ale sistemelor discrete sunt:
f (x i , u i )
xi 1
yi
g (x i , u i )
xi
X; u i
U; y i
(1.1)
Y;
Indicele i desemnează momentul (secvenţa) de timp. Sisteme automate binare au proprietatea că spaţiile X, U, Y ale variabilelor de stare, intrare şi respectiv de ieşire sunt mulţimi de două elemente: {0, 1}. Circuitele fără memorie, numite combinaţionale, nu sunt caracterizate de mărimi de stare şi sunt complet definite de ecuaţia intrare - ieşire:
yi
(1.2)
g (u i )
Cu notaţia: Y = U = L2 = {0, 1} şi considerând sisteme (circuite) cu o ieşire şi p intrări, ecuaţia: y = g (u1 , u2 , ..., up ) definită prin aplicaţia: g : L2 x L2 x L2 x. . . x L2
(1.3) L2
(1.4)
se numeşte funcţie logică. Sisteme automate cu stări finite (SSF) au proprietatea că sunt sisteme cu memorie şi spaţiile X, U, Y au un număr finit de elemente. SSF la care U, Y, X = L2 se numesc sisteme / circuite secvenţiale. Pentru automatele combinaţionale, numărul valorilor pe care le poate lua funcţia logică (1.3) este N= 2p . Se pot tabela valorile unei funcţii logice, cu o linie pentru fiecare combinaţie de 0, 1 a intrărilor şi valoarea corespunzătoare (0 sau 1) a ieşirii, rezultând tabela de adevăr a funcţiei logice. Un element / sistem logic este complet caracterizat de tabela de adevăr sau de funcţia sa logică prin exprimarea analitică (algebrică, booleană) a ei. Operaţia logică este un caz particular de funcţie logică, operaţia aplicându-se la cel mult la două variabile. Funcţia logică rezultă deci prin folosirea de un număr finit de ori a operaţiilor logice. Numărul funcţiilor logice (la p variabile de intrare) este: F = 22
P
Pentru p=1: Simbolizare:
Operaţia:
(1.5)
u 0 1
y0 y 1 y2 y 3 0 0 1 1 0 1 0 1 ZERO DA NU UNU
Dan MIHAI – Electronică Digitală
5
Dintre acestea, operaţia logică nebanală este y2, asociată cu ceea ce se numeşte inversorul logic. Pentru p = 2 Argumente
P
; F = 2 2 = 16 Operaţii logice
u1 u2 | y0 0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 0 Denumiri: zero Simbol algebric
y1 y2 0 0 0 0 0 1 1 0 şi inhibiţie
y3 y4 y5 0 0 0 0 1 1 1 0 0 1 0 1 da inhibiţie da
y6 0 1 1 0 xor
y7 0 1 1 1 sau
y8 1 0 0 0 nor
Simbol grafic
y9 y10 1 1 0 0 0 1 1 0 Denumire: coincidenţă nu Simbol algebric
y11 y12 1 1 0 1 1 0 1 0 implicaţie nu
y13 y14 y15 1 1 1 1 1 1 0 1 1 1 0 0 implicaţie nand unu
Simbol grafic
Denumire operatori: NU = NOT (lb. engleză) ŞI = AND SAU = OR Exprimările analitice:
SAU-NU (NICI) = NOT OR = NOR ŞI-NU = NOT AND = NAND SAU EXCLUSIV = XOR
y1
u1 u 2
y9
y2
u1 u 2
y10
u2
y11
u1
y 3 = u1
y4
u1 u 2
y13 = u 1 u1 u 2
y14 u1 y15 = 1
u1
y0 = 0
y7 = u1 + u2 y8
u1 u 2
u1 u 2
u2
y12 = u 1
u1 u 2
y5 = u2 y6
u1 u 2
u2
(1.6)
u2 u2
Operaţiile ŞI, SAU, NU sunt elementare, intervenind în construirea celorlalte. 1.2 Algebra Boole M - o mulţime nevidă dotată cu operaţiile { ŞI, SAU, NU } - constituie o algebră booleană dacă sunt satisfăcute 5 axiome:
Dan MIHAI – Electronică Digitală
6
1. Comutativitatea x+y = y+x ; xy = yx
(1.7)
2. Asociativitatea (x+y)+z = x+(y+z); x(yz) = (xy)z
(1.8)
3. Distributivitatea x(y+z) = xy+xz; x+yz = (x+y)(x+z)
(1.9)
4. Absorbţia xy+y = y;
x(x+y) = x
(1.10)
5. Complementaritatea x x +y = y ; (x+ x )y = y
(1.11)
Proprietaţi derivate: 1. Idempotenţa: x + x = x ; xx = x
(1.12)
2. Necontradicţia (terţiul exclus) : x x = 0 ; x+ x = 1
(1.13)
3. Proprietatea elementelor 0 şi 1: 0x = x ; 1 + x = 1 ; 0 1 ;
1 0
4. Proprietatea negaţiei : xy = 0 şi x+y = 1 y= x
(1.14)
(1.15)
5. Dubla negaţie
x =x
(1.16)
6. Teoremele lui De Morgan
x y
x y ; x y
sau, mai general: Σ ui Π ui ; u i i i i
x y
(1.17)
u i i
(1.18) ,
: suma şi respectiv produsul logic
M formează în raport cu + şi "" o structură de inel (grup abelian pentru + ). 1.3 Sisteme funcţionale complete (SFC) Un SFC este reuniunea acelor operaţii logice cu ajutorul cărora se pot exprima toate funcţiile logice. Se mai numeşte bază. SFC au o mare importanţă practică în sensul realizării unor circuitete de comandă cu un număr redus de elemente tipizate (module). Baze : {NICI} { ŞI, NU} {NAND} {SAU, NU} {ŞI, SAU, NU}
Dan MIHAI – Electronică Digitală
7
Baza este minimă dacă înlăturând cel puţin o operaţie nu mai rămâne un SFC. Ex: { ŞI, SAU, NU} nu este o bază minimă . Baza minimă {ŞI , NU} realizeză operaţia logică SAU prin : a+b= a
b =a b
(1.19)
Baza minimă {SAU, NU} realizează operaţia ŞI prin: a b =a b
a
(1.20)
b
Baza minimă NICI (NOR) realizează : - negaţia: - ŞI :
y
u
u
u
y = u1 u2 = u 1 u 2 =
- SAU: y = u1 + u2 = u 1
(1.21)
u 0
u1
u2
u2
(1.22) (1.23)
Baza minimă NAND realizează: - negaţia:
y = u = u u ; Sau y = 1 u
(1.24)
- ŞI:
y = u1 u 2
(1.25)
- SAU:
y = u1+u2 = u 1
u1 u 2 u2
u1 u 2
(1.26)
Cele mai utilizate SFC sunt (ŞI, SAU, NU) şi (NAND). Se atrage atenţia asupra faptului că simbolurile prezentate pentru operatorii logici de bază (porţi logice), deşi au cea mai largă utilizare, nu reprezintă un standard universal. Ele corespund simbolizării americane, normele ulterioare (ANSI Y 32.14 + 1973, IEEE Std 91 – 1973, IEC 617 – 12) impunând un format rectangular complex, cu posibilitatea indicării unui mare număr de elemente şi caracteristici funcţionale. Elementele grafice simplificate pentru operatorii combinaţionali de bază în cadrul acestor normative sunt:
Cap. 2 Reprezentarea informaţiei în structurile digitale 2.1 Sistemul de numeraţie cu baza 2 Baza de numeraţie optimă pentru reprezentarea informaţiei este numărul " e " - baza logaritmilor naturali. Fiind un număr iraţional (2,71...), deci neutilizabil practic pentru un sistem de numeraţie, se folosesc cele mai apropiate baze: 2 şi 3. Sistemul binar de numeraţie este cel mai utilizat în structurile digitale şi în comenzile numerice datorită numărului redus de simboluri (cifre) şi asocierii fireşti a lor cu funcţionarea în comutaţie a marii majorităţi a elementelor tehnice. De asemenea, operaţiile aritmetice cu cifre binare sunt foarte simple:
Dan MIHAI – Electronică Digitală
8
0+0=0 0-0=0 1 - 1 =0 0x1=0 0+1=1 1-0=1 1x1=1 1 + 1 = 0 (şi transport 1) 0 - 1 = 1 (cu împrumut) În continuare trebuie făcută distincţie íntre setul de operaţii aritmetice de sumare şi produs (+, ) şi setul de operaţii logice cu aceeaşi notaţie dar semnificând SAU şi respectiv ŞI logic. De asemenea, cifrele binare 0 şi 1 (ale sistemului de numeraţie cu baza 2) folosesc aceleaşi simboluri cu valorile logice 0 şi 1 (fals - adevărat) analizate în cap. 1. Dacă între cifrele binare şi valorile logice se pot totuşi face asocieri, acestea nu sunt admise la nivelul operaţiilor. Cifrele binare 0 şi 1 se numesc biţi (Bit - Binary Digit). Dezavantajele sistemului binar: - operatorul uman lucrează în baza 10, fiind necesare conversii 10 2; - numărul de ranguri necesar pentru reprezentarea informaţiei este mare. La n ranguri zecimale, numărul maxim reprezentat în baza 10 este N = 10n - 1. Acelaşi număr reprezentat n baza 2 ocupă x ranguri: 2x - 1 = 10n - 1 x =
n lg2
3,3
(număr de 3,3 ori mai lung )
(2.1)
Economicitatea unui sistem de numeraţie se stabileşte prin produsul cifră (număr de simboluri) - rang (număr de ranguri necesare pentru reprezentarea numărului), notat cu CR. Reprezentarea unui număr în baza 10 şi respectiv în baza 2 conduce la următoarele rezultate: n x 10 = 10 n / pentru B10 3,3n x 2 = 6,6 n / pentru B2 Fig. 2.1 redă grafic dependenţa CR de baza sistemului de numeraţie.
Fig. 2.1 Variatia produsului cifră – rang. Cu ajutorul a n ranguri binare se pot reprezenta 2n numere binare distincte. Ex: n = 4 N10 23 22 21 20 Ponderi ------|-------------------| Fig. 2.2. Reprezentarea în cod binar 010 | 0 0 0 0 natural a primelor 16 110 | 0 0 0 1 numere zecimale 210 | 0 0 1 0 310 | 0 0 1 1 Codurile binare alăturate sunt 410 | 0 1 0 0 utilizate des şi este indicată exersarea 510 | 0 1 0 1 cu ele pentru a le reţine; vor fi utili610 | 0 1 1 0 zate la descrierea unor circuite digitale 710 | 0 1 1 1 (numărătoare, registre etc) sau la 810 | 1 0 0 0 formarea adreselor prin utilizarea sis910 | 1 0 0 1 temului de numeraţie hexazecimal. 1010| 1 0 1 0 1110| 1 0 1 1 1210| 1 1 0 0 1310| 1 1 0 1 1410| 1 1 1 0 1510| 1 1 1 1
Dan MIHAI – Electronică Digitală
9
Pentru un sistem de numeraţie oarecare, cu baza B, un număr N se scrie sub forma: N: an an-1 ...a1 a0 ;
0
ai
(B-1)
(2.2)
Echivalentul său zecimal este: N10 = an Bn + an-1 Bn-1 + . . . + a1 B1 + a0
(2.3)
Pentru B = 2, rel. (2.3) constituie formula de transformare a unui număr binar întreg într-un număr zecimal. an are ponderea cea mai mare şi se numeşte cel mai semnificativ bit (MSB - Most Significant Bit ) iar a0 are ponderea cea mai mică şi se numeşte cel mai puţin semnificativ bit (LSB - Least Significant Bit ). Un grup de biţi formează un cuvânt (word). Cel mai des utilizat cuvânt are 8 biţi şi se numeşte octet (byte). În structurile digitale se folosesc şi cuvinte de 16, 32 şi 64 de biţi. Conversii din baza 2 în baza 10 2n an
2n-1 an-1 an-2 . . .
20 2-1 a0 , a-1
2-m (ponderile binare) a-2 . . . a-m =
= an 2n + an-1 2n-1 + ... + a0 20 + a-1 2-1 + ... + a-m 2-m
(2.4)
Sau, cu metoda factorizării (pentru partea întreagă): an 2n + an-1 2n-1 + . . . + a0 20 = a0 + 2 (a1 + 2 (a2 + . . . 2 an )) . . .)
(2.5)
Se dublează bitul cel mai puţin semnificativ. Apoi se adună vecinul spre dreapta. Rezultatul se dublează şi iar se adună vecinul spre dreapta ş.a.m.d. Ex.: 10012 910 1x2+0=2 2x2+0=4 4x2+1=9 Pentru numere subunitare se procedează similar: a-1 2-1 + a-2 2-2 + ... + a-m 2-m = 2-1 (a-1 + 2-1 (a-2 + ... ) ...)
(2.6)
Bitul cel mai puţin semnificativ se împarte la 2 şi se adună bitul vecin la stânga. Rezultatul se împarte la 2 şi se adună bitul vecin la stânga etc. Ultima operaţie este de divizare cu 2. Ex.: 0,1012 = 0,62510 1/2 + 0 = 0,5 0,5/2 + 1 = 1,25 1,25/2 = 0,625 Conversii din baza 10 în baza 2 Pentru numerele întregi se poate utiliza metoda împărţirilor succesive. Numărul se împarte la 2 , se stabilesc câtul şi restul. Câtul se împarte la 2 ş.a m.d. până se obţine câtul 0. Secvenţa inversă constituită din
Dan MIHAI – Electronică Digitală
10 ultimul cât şi resturi este numărul binar. Fig. 2.3 ilustrează acest procedeu. Metoda descompunerii într-o sumă de puteri ale lui 2 este aplicabilă pentru numere mici. 89 = 64 + 16 + 8 + 1 = 10110012 26 24 23 20
Fig. 2.3 Ilustrarea metodei împărţirilor succesive şi a metodei descompunerii. Pentru numere fracţionare se foloseşte cel mai uşor metoda înmulţirilor repetate cu 2: numarul fracţionar zecimal se multiplică cu 2, se separă partea întreagă iar noua parte zecimală se înmulţeşte cu 2. Se continuă până la obţinerea unei părţi fracţionare 0, a preciziei dorite sau se ajunge la numărul de ranguri permis. Ex.: 0, 57510 = 0,1001001.... 0,575 x 2 = 1,15 ; 0,15 x 2 = 0,3 0,3 x 2 = 0,6 ; 0,6 x 2 = 1,2 ; 0,2 x 2 = 0,4 ; 0,4 x 2 = 0,8 0,8 x 2 = 1,6... 2.2 Sistemul de numeraţie hexazecimal Alfabetul (setul de simboluri) utilizat este: A16 = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F} Acest sistem de numeraţie este utilizat preponderent în structurile /comenzile digitale programate (deci este legat de folosirea tehnicii de calcul, a unui microcalculator). Serveşte la codificarea informaţiei alfanumerice (text), a adreselor. De asemenea realizează un format compact pentru descrierea informaţiei binare (din sistemele cu microprocesor pentru programele în cod maşină, din conţinutul memoriilor de date de la analizoarele logice etc.). Legătura între cifra hexazecimală şi reprezentarea binară constă în corespondenţe între un grup de 4 biţi (tetradă) şi o cifră hexazecimală. 0000 - 0 0110 - 6 1100 - C 0001 - 1 0111 - 7 1101 - D 0010 - 2 1000 - 8 1110 - E 0011 - 3 1001 - 9 1111 - F 0100 - 4 1010 - A 0101 - 5 1011 – B După cum se observă, o parte din aceste corespondenţe se regăsesc în fig. 2.2. Conversii din baza 2 în baza 16 De la virgulă spre stânga şi spre dreapta se fac grupe de câte 4 biţi, grupele extreme se completându-se cu zerouri. Fiecărei tetrade i se asociază o cifră hexazecimală. Ex.: 10101110,10101000 AE , A816 A E A 8 Transformări 16
2
Dan MIHAI – Electronică Digitală
11
Fiecare cifră hexazecimală se înlocuieşte cu o tetradă. Ex.: AB816 = 1010 1011 10002 Transformări 16
10
Cu regula generală: Ex: BAC, E16 = 11 162 +10 161 + 12 160 + 14 16-1 Transformări 10
16
Se fac cel mai comod în etape: 10 2 16 . Se poate utiliza metoda împărţirilor succesive la 16 pentru partea întreagă şi a înmulţrilor succesive pentru cea fracţionară. Operaţii cu numere hexazecimale Se realizează la fel ca în baza 10 dar se ţine seama că operaţiile se fac modulo 16. Ex: 3 + E = 3 + 14 = 16 + 1 = 1, transport 1 F + F = 30 = 16 + 14 = E, transport 1 F x F = 225 = 16 . 14 + 1 = 1, transport E 2.3 Coduri binare Prin cod binar se înţelege o convenţie de asociere între informaţie şi reprezentările ei prin intermediul cifrelor binare 0 şi 1. Codul binar natural (cu ponderi binare naturale şi regula de asociere exprimată prin rel. 2.3) nu este singurul folosit ín comenzile numerice. Codul binar zecimal (BCD - Binary Code Decimal ) Regula de formare: în locul codificării globale în binar a unui număr se reprezintă individual fiecare cifră a numărului prin codul său binar. Primele 10 linii din fig.2.2 redau asocierea respectivă. Sunt necesari 4 biţi pentru codificarea oricărei cifre zecimale. Ex: 199210 = 0001 1001 1001 0010 Utilizare : Pornind de la o informaţie zecimală, dispunând de o tastatură cu 10 taste (0 9), cu acest cod se poate obţine o informaţie binară simplu şi fără operaţii matematice. Circuitele de calcul, concepute pentru a efectua operaţii aritmetice asupra numărului ín cod binar natural, dau rezultate afectate de erori dacă li se furnizează numere ín cod BCD8421 . Aceste erori se detectează şi se corectează uşor, după corecţie rezultatele fiind exprimate în cod BCD8421. Regulă: decada care a provocat transport parţial (între tetrade) sau depăşeşte reprezentările BCD8421, se corectează prin adunare cu 6 (0110). Această regulă este atât de utilă încât microprocesoarele au o instrucţiune de corecţie specifică (DAA).
Fig. 2.4 Aplicarea corecţiei zecimale în 2 cazuri.
Dan MIHAI – Electronică Digitală
12
Codul HEXA Corespunde de fapt reprezentării informaţiei în sistemul hexazecimal şi permite furnizarea într-o formă condensată (printr-o tastatură cu 16 taste) de informaţii microprocesorelor. Codul GRAY (binar reflectat) Regula de formare: Pentru fiecare rang, cifrele se succed în ordine naturală (0 1) şi apoi în ordine inversă ( 1 0), fiecare repetându-se de un număr de ori egal cu ponderea rangului considerat în cod natural. Proprietea esenţială a codului GRAY este adiacenţa numerelor binare vecine (diferă printr-un singur bit). Exemplu de utilizare: codificarea discurilor de la traductoarele numerice absolute de poziţie pentru evitarea hazardului care apare la utilizarea codului binar natural unde pot comuta simultan biţii de la mai multe piste. Acest cod este inadecvat calculelor aritmetice, implicând necesitatea unui convertor de cod GRAY binar natural sau BCD. Liniile îngroşate din fig. 2.5 sugerează o regulă de scriere simbolică a codului Gray, regulă ce va fi ulterior folosită în cadrul metodelor de reprezentare grafică a funcţiilor logice prin diagrame Karnaugh Veitch. Liniile punctate reprezintă axele de simetrie ale secvenţelor din regula de formare.
Fig. 2.5 Codul Gray pentru 4 biţi. 2.4 Reprezentarea numerelor pozitive şi negative Reprezentarea în mod complement de 2: - complementul de 1 pentru numărul binar A se obţine prin inversarea logică a fiecărui bit; - complementul de 2 pentru numărul binar A: A" care este suma aritmetică dintre A' (complement de 1) şi 1. Reprezentarea în modul şi cu bit de semn MSB = 0 pentru semn + ; modulul se reprezintă pe 7 biţi în binar natural. 1 pentru semn Caracteristici: - formare uşoară; - inadecvat calculelor aritmetice pentru că: - sunt două reprezentări pentru 0;
Dan MIHAI – Electronică Digitală
13
- suma a două numere inverse este diferită de zero. Ex: N = 01101101 = + 109 N' = 11101101 = - 109 N + N' = 101011010 0 Ex: A = 10101100 A' = 01010011 ------------------A+A' = 11111111 1 | ------------1| 00000000
+
A + A" = A + A' + 1 A + A" = 0 A" = - A Acestei reprezentări i se asociază un bit de semn : 0 N > 0 binar natural 1 N < 0 complement 2 Ex. 0 1111111 = 12710 ; 0 0000001 = 110 1 0000000 = -12710 ; 1 1111111 = -110 Adunarea binară - se efectuează ca în sistemul zecimal. Scăderea binară: S = A - B = A + (-B) S = A + B" = A + B' + 1 Obs. Unele circuite de calcul nu au posibilitatea de a detecta dacă un număr are semn sau nu (bitul de semn nu poate fi recunoscut ca atare de aceste circuite). Ele furnizează rezultatele corespunzând unei operaţii aritmetice cu numere considerate ca fiind codificate în cod binar natural (de ex. pe 8 biţi). Un oarecare număr de informaţii, odată operaţia efectuată, va fi necesar pentru a putea interpreta corect rezultatele. Acesta va fi rolul biţilor indicatori de stare utilizaţi în tehnica microprocesoarelor: Z (zero), N (negativ), S (sign - semn), V (overflow - depăşire), C (carry - transport ) şi H (transport parţial). De ex. când Z = 1, rezultatul operaţiei este nul.
Cap. 3 Funcţii şi circuite logice de tip combinational În prima parte a acestui capitol vor fi parcurse elementele teoretice generale referitoare la structurile combinaţionale, după care, în partea a doua, vor fi prezentate structura şi funcţionarea circuitelor reprezentative. 3.1 Funcţii logice pentru circuitele combinaţionale Pentru sinteza şi materializarea unor circuite digitale sunt necesare funcţiile logice corespunzătoare. Se consideră un sistem logic (schemă bloc) cu n variabile binare de intrare şi o variabilă binară de ieşire fig. 3.1. Dacă funcţia de ieşire depinde numai de variabilele de intrare la momentul t (în cazul mai general vectorul de ieşire depinde numai de vectorul binar de intrare în momentul t) şi nu şi de evoluţia anterioară a variabilelor, sistemul se numeşte combinaţional şi va fi referit în continuare cu abrevierea CLC (circuit logic
Dan MIHAI – Electronică Digitală
14
combinaţional). Descrierea analitică se face printr-o ecuaţie de tipul: y = f ( x1, x2, ... , xn )
(3.1)
Fig. 3.1 Structura tip CLC. Caracterizarea CLC se face cu ajutorul tabelelor de adevăr - reprezentări tabelare discrete ale relaţiilor intrare - ieşire sau ale expresiilor algebrice (booleene, analitice) de tipul ec. (3.1). Evaluarea f (x1, x2,..., xn) pentru o combinaţie de valori binare se face conform tabelelor de adevăr ale operaţiilor logice implicate (cap. 1). X1 X2……Xn f (X1,X2,….,Xn) 0 0……. 0 f (0 , 0 , ….., 0) . . . . . . 1 1……. 1 . Fig. 3.2 Organizarea tabelei de adevăr. 3.1.1 Mintermeni, maxtermeni. Formele canonice P şi S Definiţie: Pentru colecţia de variabile binare {x1, x2, ..., xn} se numeşte mintermen un produs logic al tuturor celor n variabile în stare directă sau negată. mi
en x 1e1 x e2 2 .... x n
(3.2)
Cu : x x ie i
i
xi
pentru
e i
1
pentru
e i
0
şi e1e2…en 2 = i 10
(3.3)
(e1e2…en) 2 = i 10 Ex.: {x1 , x2 , x3} ;
m4 = x1 x 2 x 3 = x11 . x20 . x30 m7 = x1 x 2 x 3 ;
m3 = x1 x 2 x 3
Pentru o colecţie de n variabile există 2n mintermeni distincţi, adică numărul combinaţiilor binare pentru variabilele respective. Proprietăţi: - Produsul logic al oricăror 2 mintermeni distincţi este zero (mi . mj = 0 pentru oricare i diferit de j). Ei diferă prin cel puţin o variabilă xi care apare în stări complementare, iar produsul logic x i x i = 0 antrenează zero logic pentru produsul mintermenilor respectivi. - Suma logică a tuturor celor 2n mintermeni este 1.
Dan MIHAI – Electronică Digitală
15 Definiţie: Suma logică a tuturor celor n variabile din colecţia {x1....xn} în stare directă sau complementată se numeşte maxtermen. Mj = x1e1 Ex. M2 = x1
x e2 2
x2
...
x en n ; j10 = (e1 e2 ... en)2
x 3 ; M7 = x1
x2
(3.4)
x3
Proprietăţi: - Suma logică a doi maxtermeni este 1: Mi + Mj = 1 i j ; - Produsul logic al tuturor maxtermenilor este zero ; - Complementul oricărui mintermen este maxtermenul cu acelaşi indice şi reciproc:
mk
en x1e1 x e2 2 .... x n
x1e1
x e2 2
.... x en n
Mk
(3.5)
Formele normale sau canonice de scriere a funcţiilor logice constituie un instrument simplu şi eficace de sinteză a circuitelor combinaţionale. Forma canonică P Teoremă: Orice funcţie booleană se poate reprezentă cu ajutorul sumei mintermenilor săi pentru care este proiectată în 1 (are valoarea logică 1).
m i
f (x1 ,..., xn) =
; T1: mulţimea combinaţiilor de variabile care proiectează funcţia în 1. (3.6)
T 1 Forma (3.6) se mai numeşte canonică disjunctivă. Pentru trecerea de la forma tabelară a funcţiei logice la forma P se parcurge algoritmul: - se marchează combinaţiile proiectate în 1; - pentru fiecare combinaţie marcată se scrie mintermenul corespunzător; - mintermenii se reunesc prin SAU (+). f x1 x 2 x1 x1 Σ m1 , m 2 Σ 1,2 Ex. 1 (fig. 3.3a): Ex. 2 (fig. 3.3b):
f
x1 x
x x x2 x x1 x 2 x 2 3 1 3 3 Σ m1 , m 2 , m 6 Σ 1, 2, 6
a. b . în forma canonică P. Fig. 3.3 Exemple pentru sinteza funcţiilor logice Pentru trecerea de la expresia booleană a unei funcţii logice la forma canonică P, se parcurg următoarele etape: - pe baza axiomelor şi teoremelor algebrei Boole se prelucrează expresia pentru determinarea unei forme
Dan MIHAI – Electronică Digitală
16
disjunctive (sumă de produse logice); - acei termeni care nu cuprind cele n variabile se multiplică cu x k x k , xk fiind lipseşte; - folosindu-se axiomele de distribuţie se prelucrează expresia generându-se mintermeni; - mintermenii identici se reprezintá printr-un singur mintermen. Ex. f x 1 , x 2 , x 3 f x1 , x 2 , x 3
x1 x 2 x1
x1 x 2
x1
x3
x3
x1
x1 x 2
x3 x 2 x 3 x1 x 3
x2
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
g x1x 2 , x 3 , x1 x 2
x1 x 2 x 3
x3
care
x1 ; x3
x1 x 2 x1
x1 x 3 x 2
x1 x 2 x 3
variabila
x1 x 3 x 3
5,6,7
x1 x 2 x 3
6,7
Din punct de vedere al realizării circuitului, forma canonică P corespunde unei structuri în două nivele: al porţilor ŞI şi al porţilor SAU. În continuare, grupul de operatori (porţi) care comută simultan va fi numit nivel. Cu cât numărul nivelelor dintr-un circuit este mai redus cu atât acesta este mai rapid. Forma canonică S Teoremă: Orice funcţie booleană se poate reprezenta sub forma produsului maxtermenilor săi proiectaţi în zero. (3.7) M ; T0: mulţimea combinaţiilor proiectate în 0. i T 0 Algoritmul de trecere de la forma tabelară la forma S (canonică sau normal conjunctivă) este imediat, fiind similar cu cel pentru sinteza formei P. - se marchează combinaţiile proiectate în 0; - pentru fiecare combinaţie marcată se scrie maxtermenul corespunzător; - maxtermenii se reunesc prin ŞI ( ). f (x1 ,..., xn) =
Ex. 1 (fig. 3.4a): f
x1
x2
x1
x2
Ex. 1 (fig. 3.4b): f
x1
x2
x3
x1
0,3 x2
x3
0,4
a. b. Fig. 3.4 Exemple de sinteze în forma canonică S. Trecerea de la expresia booleană la forma S: - se aduce expresia la forma conjunctivă (un produs de sume) prin utilizarea teoremelor şi axiomelor algebrei logice; - în acele sume în care nu apar toate variabilele, se adaugă x k x k 0 , xk fiind variabila lipsă; - se prelucrează noua expresie cu axiomele de distribuţie;
Dan MIHAI – Electronică Digitală
17
- dacă apar doi maxtermeni identici, se reţine numai unul. Ex.:
f x1 , x 2 , x 3
x
x2
1
x1
x3
x1
x2
x3 x3
x1
x2 x2
x3
M 0 M1 M 3 ;
S-a folosit şi axioma de distribuţie a operaţiei SAU (+) faţă de operaţia ŞI ( ) . Se numeşte ponderea unei funcţii booleene numărul combinaţiilor pentru care funcţia este proiectată în 1. Utilizarea formei canonice P se recomandă atunci când ponderea este mică, adică funcţia este dezechilibrată spre zero. În caz contrar se recomandă utilizarea formei canonice S. Deşi formele canonice S şi P sunt optime din punct de vedere al vitezei de transfer (având doar două nivele), uneori sunt recomandabile şi soluţii cu mai multe nivele din următoarele motive : - formele prelucrate pot fi mai simple (minime, deci mai ieftin de implementat); - intervin limitări prin factorii de conexiune Input / Output (FI şi FO) ai circuitelor utilizate sau prin indisponibilitatea unor tipuri de porţi. Ex. f = x1. x2 . x3 . x4 . x5 materializată prin utilizarea porţilor cu trei intrări:
3.1.2 Reprezentarea funcţiilor logice cu ajutorul operatorului NAND Teoremă: Orice funcţie booleană poate fi reprezentată printr-o disjuncţie de forma:
f x
T1
x e1 1
x e2 2
x e3 3
xe4 4
....
x en - 1 n 1
x en n
(3.8)
T1 este mulţimea combinaţiilor de variabile proiectate în 1 Într-adevăr: e1 x1
e2 x2
e1 e2 x1 x 2
e1 x1
e2 x2
e3 x3
mi
e1 x1
e2 x2
e1 e2 x1 x 2
e1 e2 x1 x 2 e3 x3
....
(xe1 x e2 ) x e3 1 2 3
e1 e2 e3 x1 x 2 x 3
en xi
şi aşa mai departe, adică f(x) este dată de reuniunea mintermenilor proiectaţi în 1 (forma canonică P). În rel. (3.8) fiecare mintermen al funcţiei este exprimat numai prin operatori NAND cu câte 2 intrări dar între mintermeni apare sumare logică. Aceasta se va exprima prin NAND folosind una din teoremele lui De Morgan:
f x T 1
m i
Π mi
m 1
m
2
m 3
.... m
k 1
mk
k este ponderea funcţiei. Algoritmul de trecere de la forma tabelară de scriere la exprimarea în NAND cu 2 intrări: - se notează combinaţiile proiectate în 1; - fiecare combinaţie notată se reprezintă cu ajutorul relaţiei din paranteza (3.8); - funcţia se scrie cu ajutorul relaţiei (3.9);
(3.9)
Dan MIHAI – Electronică Digitală
- complementele se exprimă prin NAND : m
m
18
m m 1
Se poate utiliza şi o formă pentru NAND -uri cu 3 intrări:
x e1 1
f (x) =
x e2 2
x e3 3
x e4 4
x e5 5
en -1 xn 1
...
en xn
(3.10)
Pentru formele conjunctive, orice funcţie se poate reprezenta : f(x)
T0
(3.11)
mi
Justificare: complementului unui mintermen este un maxtermen, deci această formă de scriere corespunde formei canonice S. Pentru a trece la o reprezentare în NAND, se aplică o dublă negare: f(x)
mi T0
m1
m2
(3.12)
.... m k
Algoritmul de trecere de la forma tabelară de scriere: - se punctează combinaţiile proiectate în 0; - se scriu mintermenii combinaţiilor notate cu rel. (3.11); - se scrie expresia funcţiei cu rel. (3.12). Trecerea de la forma canonică P la scrierea cu NAND - se complementează de 2 ori forma P; - primul complement este folosit cu teorema lui De Morgan; - fiecare produs negat se înlocuieşte cu NAND; - fiecare variabilă complementată se exprimă prin NAND. Ex.
f(x)
a b c (a
b
a b c
a b c
a b c
c)
b
(a
(a
c)
b
a b c
a b c
c)
Un algoritm similar se poate aplica pentru exprimarea în NAND a oricărei forme disjunctive, nu neapărat canonice. Trecerea de la forma conjunctivă S la scrierea cu NAND - se prelucrează expresia în vederea obţinerii formei normal conjunctive; - cu ajutorul teoremei formelor duale se obţine o formă disjunctivă; - se complementează de 2 ori expresia; - se aplică teorema lui De Morgan pentru prima negaţie; - fiecare produs negat se înlocuieşte cu NAND; - se exprimă variabilele complementate prin NAND. Forma duală f D (x) se obţine prin schimbarea operaţiei logice SAU prin ŞI iar a operaţiei ŞI prin SAU. Teorema formelor duale afirmă echivalenţa logică f ( x, , ) Ex.: f(a, b, c)
(a
b) (a
c) (b c)
f ( x, , ) .
Dan MIHAI – Electronică Digitală
f f f
D D D
19
(x) a b a c b c ( x) a b a c b c (x)
a b
a c
b c
3.1.3 Teoremele de dezvoltare ale lui Shannon Orice expresie booleană se poate dezvolta în raport cu oricare variabilă a sa cu ajutorul: a. formei disjunctive i
E(x 1 , x 2 ,....x n )
i
x i E(x 1 , x 2 ,..., 1,.., x n )
x i E(x 1 , x 2 ,...., 0,.., x n )
(3.13)
b. formei conjunctive: i
E(x1, x2, ...,xn) = [x i
E(x 1 , x 2 ,...., 0,..., x n )] [ x i
1
E(x 1 , x 2 ,..1,..., x n )]
(3.14)
Justificarea echivalenţelor logice se face simplu, considerând succesiv cele 2 valori logice pe care le poate lua variabila xi în raport cu care se face dezvoltarea. Aceste 2 forme sunt utile pentru: - prelucrarea expresiilor logice ín sensul obţinerii unor forme mai simple (fiecare nouă subexpresie depinde de mai puţine variabile); - sinteza funcţiilor logice prin metoda cascadelor, conform algoritmului:
f(x) x 1 f 1
x1 f 2
f1
x 2 f 122
x 2 f 121
f 12
x3 f 1231
f 22
x 3 f 2231
(dezvoltare formă iniţială ín raport cu x1) (f1 dezvoltat în raport cu x2)
x3 f 1232 x 3 f 2232 (până la epuizarea variabilelor)
...
Reasamblând grafic aceste etape, se pot construi scheme logice oricât de complexe. 3.2 Minimizarea funcţiilor logice Minimizarea funcţiilor logice presupune transformarea lor în altele echivalente care să necesite un volum mai mic de circuite pentru implementare, în scopul reducerii preţului de cost al echipamentului numeric de comandă şi al ameliorării fiabilităţii circuitelor respective. Se disting 2 aspecte: - simplificarea expresiilor booleene, în care se cere prelucrarea în vederea obţinerii unor forme mai simple; - minimizarea expresiilor booleene, în care se cere determinarea formei minime conform unui criteriu dat. Există mai multe metode de prelucrare în vederea obţinerii formei minimale, unele asistate de calculator. O primă categorie de metode se bazează pe prelucrarea expresiilor cu teoremele şi axiomele algebrei Boole. Se recomandă în cazul unor expresii simple şi constă în principal în aplicarea teoremelor şi axiomelor:
x x 1 x x 0 x y x y
y
Rezultatul are o variabilă mai puţin.
A este o expresie. x A x A A xy+x=x Axioma absorbţiei (x acoperă pe y). (x + y) x = x x y+xz+yz=xy+xz CONSENSUS (termenul y z este absorbit). (x + y) (x+ z) (y + z) = (x + y) (x+ z) (termenul y+z este absorbit)
Dan MIHAI – Electronică Digitală
20 Ca etape, în primul rând se urmăreşte obţinerea unor expresii cu mai puţini termeni, apoi reducerea numărului de variabile. Prima corespunde reducerii umărului de porţi iar a doua reducerii numărului de intrări. Metoda este simplă însă în cazul expresii complicate nu asigură un procedeu sistematic de căutare a formelor minime. Metoda diagramelor Karnaugh-Veitch (K-V) Metoda se bazeză pe utilizarea unor diagrame / tabele care sunt nişte variante ale diagramelor Venn din teoria mulţimilor. Pentru o funcţie dată, diagrama K-V reprezintă o transpunere bidimensională a tabelei de adevăr cu proprietăţile: - liniile şi coloanele diagramei alcătuiesc o matrice binară ale cărei componente sunt valorile funcţiei pentru combinaţiile specificate ale variabilelor; - pe mulţimea variabilelor se induce o partiţie, primul grup de variabile fiind ataşat coloanelor iar cel de-al doilea liniilor; - fiecare element al matricei (un pătrat, o celulă, o casetă) corespunde unei anumite combinaţii a celor n varibile. Deci pentru n variabile vor exista 2n celule. - diagramele sunt astfel construite încât două pătrate vecine diferă printr-o singură variabilă. Fiecărui pătrat i se poate asocia mintermenul funcţiei sau se poate nota cu echivalentul zecimal al său. Cele două tipuri de diagrame - K şi V - presupun în esenţă aceeaşi procedură. Diferă modul de marcare al combinaţiilor binare pentru linii şi coloane. In fig. 3.5 s-au folosit caractere italicizate (înclinate) pentru marcajele casetelor; în continuare, în interiorul lor se va trece valoarea binară a funcţiei.
Fig. 3.5 Construcţia diagramelor K-V. Algoritm de trecere de la tabela de adevăr la reprezentarea funcţiei într-o diagramă K-V 1. Se alege diagrama K-V corespunzătoare ca număr de variabile. 2. Pentru fiecare mintermen (combinaţie proiectată în 1), în celula corespunză toare se trece 1. În celelalte se completează cu 0. Ex:
f (x,y,z) =
(0, 1, 4, 7) =
x y z
x y z
x y z
Fig. 3.6 Corespondenţa dintre P şi diagrama K – V.
x y z
Dan MIHAI – Electronică Digitală
21 Trecerea inversă: dându-se funcţia prin diagrama K-V, se obţine forma canonică P scriind pentru fiecare 1 combinaţia de variabile care definesc poziţia acelei celule. Trecerea de la forma canonică S la reprezentarea în diagrame K-V: 1. Se alege diagrama K-V corespunzătoare ca număr de variabile. 2. Se scriu combinaţiile binare pentru fiecare maxtermen. 3. Se introduce câte un zero în diagramă pentru combinaţiile în zero. Restul celulelor se completează cu 1. Ex. (fig. 3.7a): f(z,x,y) = ( x
0
y1
0
z ) ( x1
y1
z1 )
Trecerea inversă: 1. Se punctează zerourile din diagramă. 2. Se scrie maxtermenul fiecărei casete cu 0. 3. Se face produsul maxtermenilor. Ex.: fig. 3.7b
Fig. 3.7a Diagrama K-V pentru o formă S.
Fig. 3.7b Obţinerea formei S din diagrama K-V.
Principiul utilizării diagramelor K-V Diagramele K-V au o proprietatea fundamentală: oferă o imagine rapidă a vecinătăţilor, permiţând depistarea imediată a posibilităţilor de aplicare a teoremei de absorbţie:
x A x A A Dat fiind faptul că gruparea (cuplarea) se face totdeauna pereche, rezultă că vecinătăţile sânt Fig. 3.8 date de 2k pătrate vecine conţinând valoarea logică 1 în diagramă. Ele dau naştere unor Cuplarea suprafeţe elementare, cărora le corespunde expresia A, adică rezultă un termen elementar (fig. casetelor. 3.8). Fiecare celulă cu 1 corespunde unui mintermen (termen canonic). Termenul corespunzând unei suprafeţe elementare provenită prin cuplarea a 2k celule vecine cu 1 va depinde de (n-k) variabile. Pentru ca procedura să conducă la sinteză prin minimizare, se vor determina succesiv suprafeţele elementare care să acopere integral diagrama (adică pentru formele P acoperirea tuturor de 1) în aşa fel ca numărul termenilor să fie minim (deci numărul suprafeţelor elementare să fie minim) şi fiecare termen să depindă de un cât mai mic număr de variabile, adică să se reţină suprafeţe elementare maxime. Termenul corespunzător unei suprafeţe elementare conţine variabilele comune pătratelor cuplate. Ex: - fig. 3.9. Într-adevăr (axioma absorbţiei):
x y z u
x y z u
y z u
Fig. 3.9 Generarea prin absorbţie a termenului minim.
Diagramele K - V sunt nişte reprezentări plane ale hipercuburilor n dimensionale, deci pentru a cuprinde toate vecinătăţile trebuie avut în vedere că marginile extreme sunt vecine - fig. 3.10. În fig. 3.11 se ilustrează elementele particulare relative la cuplarea extremităţilor în cazul unor reprezentări spaţiale pentru 5 şi 6
Dan MIHAI – Electronică Digitală
22 variabile. Fiecare placă (plan) corespunde unei valori a celei de-a 5 - a variabile iar pătratele aflate pe aceeaşi verticală sunt vecine (cuplate prin w).La n = 6, pe lângă vecinătatea pe verticală apare o vecinătate nouă, între placa de sus şi cea de jos. Ex : f = 3,4,5,8,10,11,13)
Fig. 3.10 Exemple de cuplare casete.
Fig. 3.11 Construcţia diagramelor K – V şi cuplarea spaţială la n= 5 şi 6. Metoda generală de utilizare a diagramelor K-V pentru minimizarea funcţiilor logice 1. Se reprezintă funcţia în diagrama K-V; 2. Se caută suprafeţe elementare cât mai mari de câte 2k pătrate vecine încât o suprafaţă formată să nu fie parte integrantă dintr-o suprafaţă mai mare - fig. 3.12 ( A+A.B = A). 3. După formarea tuturor suprafeţelor de la punctul 2, se alege acea mulţime de suprafeţe care: - să acopere toţi 1 din diagramă; - numărul suprafeţelor să fie minim; - dimensiunile suprafeţelor să fie maxime. Ex.: f = (2, 3, 6, 7, 8, 10, 12, 14) - fig.3.13 Relativ la fig. 3.13, suprafeţele de 2 celule sunt incluse în cele 4. Fiecărei suprafeţe de 4 căsuţe îi va corespunde un termen elementar de 2 variabile. Rezultă:
f(a, b, c, d)
a c a d c d
Întrucât gruparea în suprafeţe elementare se poate face în mai multe moduri, este utilă o modalitate de verificare pentru a nu se pierde termeni obligatorii din structura funcţiei. Pentru aceasta se definesc următoarele noţiuni: Se numeşte implicant acel termen care dacă are valoarea logic 1 implică şi va- loarea 1 pentru funcţie. Implicant prim - acel implicant care nu este generat de nici un alt implicant. Suma tuturor implicanţilor primi ai unei funcţii booleene se numeşte sumă totală. Pătrat esenţial (1 esenţial) - acel 1care e acoperit de o
Dan MIHAI – Electronică Digitală
23
Fig. 3.12 Absortie la nivel de suprafete. Fig. 3.13 Generare directă termeni. singură suprafaţă elementară. Implicant prim esenţial - acel implicant prim care acoperă sau conţine un 1 esenţial. Ex. - fig. 3.14 1* :1 esenţial (acopriţi de o singură suprafaţă); d •b : implicant prim esenţial al funcţiei. Din modul de definire al unui implicant prim esenţial rezultă că acesta este o parte obligatorie a reprezentării finale a funcţiei căci conţine mintermeni ce nu sunt acoperiţi de nici o altă suprafaţă. În cazul funcţiilor booleene incomplet specificate, combinaţiile nespecificate sunt marcate în pătratele corespunzătoare cu x, d, . . (0,3) (2,4) Ex. – fig. 3.15 : f(a, b, c) d La aplicarea algoritmului de utilizare a diagramelor K-V pentru determinarea formelor minimale, în locul combinaţiilor nespecificate se consideră 0 sau 1 în aşa fel încât să rezulte suprafeţe cât mai mari şi cât mai puţine.
Fig. 3.14 Identificare implicanţi primi esenţiali.
Fig. 3.15 Marcare combinaţii nespecificate.
Se pot preciza acum etapele sintezei genrale a funcţiilor / circuitelor tip CLC: 1. Pornind de la descrierea funcţiei de realizat de către structura de comandă se stabilesc variabilele de intrare şi de ieşire şi se întocmesc tabelele de adevăr. 2. Se scriu funcţiile de sinteză cu formele canonice P sau S. 3. Se utilizează metode de minimizare pentru obţinerea formelor minimale. 4. Fiind impuse anumite sisteme funcţionale complete, se trece la prelucrarea formelor obţinute pentru materializarea circuitelor cu setul de operatori (porţi) impus. 3.3 Circuite logice combinaţionale reprezentative Cele mai utilizate structuri combinaţionale sunt: decodificatorul, demultiplexorul, multiplexorul, codificatorul şi convertorul de cod. Ordinea prezentării este corelată cu asocieri funcţionale. Majoritatea acestor circuite sunt disponibile sub formă integrată MSI sau LSI.
Dan MIHAI – Electronică Digitală
24
3.3.1 Decodificatorul Decodificatorul (DCD) este un CLC care serveşte la identificarea unui cod binar de intrare prin activarea unei singure linii de ieşire, corespunzatoare acestui cod. Număr de intrări: n ; număr de ieşiri : m = 2n (combinaţiile posibile ale intrărilor binare).
Fig. 3. 16 Schema bloc DCD. Exemplu: decodificatorul de adresă - activează linia de ieşire a cărei adresă este prezentă pe intrări - fig. 3.17.
Fig. 3.17 Sinteza decodificatorului de adresă pentru n=2. 3.3.2 Demultiplexorul Demultiplexorul (DMUX) este un CLC care permite transmiterea datelor de la o intrare de date comună la una din ieşirile selectate printr-o adresă.. De exemplu, pentru patru ieşiri, circuitul din fig. 3.18 reprezintă un decodor de adresă similar cu cel prezentat la 3.3.1 la care porţilor ŞI li s-a adăugat o intrare suplimentară pentru date.
Fig. 3.18 Structura şi sinteza demultiplexorului pentru n=2. O configuraţie combinată DCD/DMUX pentru n = 3 şi m = 8 este ilustrată în fig.3.19. Numărul porţilor NAND este egal cu numărul de ieşiri. Fiecare poartă are un număr de intrări egal cu numărul variabilelor de intrare. La ieşiri se obţin complementele tuturor celor 8 termeni distincţi, corespunzători celor trei variabile
Dan MIHAI – Electronică Digitală
25
Fig. 3.19 Structură DCD/DMUX. de intrare. Inversoarele I1 ÷ I3 generează variabilele complmentare; I4 ÷ I6 asigură ca liniile semnalelor de adresă A, B şi C să fie încărcate cu o singură unitate de sarcină. Adaugănd traseul cu linie subţire, se obţine un demultiplexor care permite transmiterea datelor de pe o cale de intrare (E 0 sau E1) pe una din cele 8 căi de ieşire. Selectarea căii de ieşire se face prin aplicarea cuvântului corespunzător la intrările A, B şi C care sunt intrări de adresă (selecţie). Cea de-a doua intrare a porţii P (E1 sau E0) se utilizează ca intrare de validare a circuitului. DMUX se poate utiliza ca DCD dacă intrarea de date se pune la masă (0). Tipuri de DCD şi DMUX: - DCD BCD - zecimal: CDB 442 (TTL); MMC 4028 (CMOS). Au 4 intrări şi 16 ieşiri. Pot funcţiona şi ca DMUX cu 3 intrări şi 8 ieşiri. - DCD Gray - Exces 3: 4 intrări şi 16 ieşiri (7443); - DCD/ DMUX cu 2 intrări si 16 ieşiri (74154). Cu (m+1) DCD/ DMUX avănd fiecare m linii de ieşire şi n linii de intrare se poate extinde capacitatea la m 2 linii de ieşire. 4.2.3 Multiplexorul Multiplexorul (MUX) transmite datele de la una din cele m căi de intrare la o ieşire unică. Selectarea căii se face printr-un cuvânt binar de selecţie de n biţi, iar n =2m. Pentru n=3 şi m=8 structura este cea din fig. 3.20. Ecuaţia care descrie funcţionarea circuitului figurat este: W=E • (A•B•C•D0+A•B•C•D1+A•B•C•D2+A•B•C•D3+A•B•C•D4+ +A•B•C•D5+A•B•C•D6+A•B•C•D7) E constituie o intrare de validare (Enable). Dintre MUX-urile cu utilizare curentă se menţionează următoarele tipuri:
(3.15)
Dan MIHAI – Electronică Digitală
26
Fig. 3.20 Multiplexor cu 8 intrări. - 16 intrari de date, o intrare de validare E şi o ieşire W, ambele active pe zero (74150); - 8 intrări de date, o intrare de validare, 2 ieşiri W şi W (74151); - 8 intrări de date, fără validare şi cu o ieşire W (74152); - MUX cvadruplu cu căte două intrări de date cu logica de selecţie şi validare comună şi căte o ieşire (74157). Extinderea capacităţii de multiplexare (de selecţie) se obţine folosind un număr corespunzator de MUXuri validate succesiv cu un DCD (fig. 3.21). Extinderea de 2k ori necesită k linii de selecţie suplimentare, respectiv un DCD cu 2k linii de ieşire. Aplicaţii MUX: - selecţia secvenţială a datelor, prin modificarea codului de selecţie în vederea transmiterii succesive spre un receptor unic a datelor furnizate de sursele conectate la cele m intrări; - conversia paralel - serie a datelor. Cuvântul paralel de m biţi se aplică la intrările de date. Codul de selecţie se modifică succesiv cu ajutorul unui numărător de n biţi. Cuvântul serie obţinut la ieşirea W în m = 2n tacte corespunde unui interval mT, T fiind perioada tactului numărătorului. - realizarea sistemelor de transmisie a datelor pe un singur canal; - implementarea CLC cu o singură ieşire.
Fig. 3.21 Exemplu de extindere MUX.
Dan MIHAI – Electronică Digitală
27 Exemplul din fig. 3.22 este tipic pentru utilizarea unei perechi MUX - DMUX şi acoperă ca principiu primele 3 categorii de aplicaţii menţionate. Utilizarea a 2 numărătoare este mai avantajoasă întrucât implică folosirea unei singure linii suplimentare, cea pentru impulsurile de ceas. Numărătoarele trebuie să aibă circuite locale de iniţializare. Structura este echivalentă cu un circuit electric format din 2 chei selectoare sincronizate şi cu contactele comutatoare legate galvanic.
Fig. 3.22 MUX – DMUX în tandem şi echivalenţa electrică.
3.3.4 Codificatorul Codificatorul (CD) este un CLC care furnizează la ieşire un cuvânt binar de k biţi atunci când numai una din cele m intrări ale sale este activă. Numărul cuvintelor generate la ieşirea CD este deci egal cu numărul intrărilor (liniilor de cuvânt). Exemplu: codificarea binară a cifrelor zecimale (fig. 3.23).
Fig. 3.23 Codificatorul. Structura bloc, exemplu. CD se pot realiza şi utilizând matrici de diode sau tranzistoare. Dată fiind încărcarea mai mică a liniilor
Dan MIHAI – Electronică Digitală
28 de intrare în cazul utilizării tranzistoarelor, se preferă porţi SAU cu tranzistoare bipolare funcţionând în regim de repetor pe emitor (sau cu tranzistoare bipolare multiemitor) – fig. 3.24. Majoritatea CD sunt subsisteme ale unor circuite MSI sau LSI (convertoare de cod, memorii - ROM, reţele logice programabile - PLA). Distinct funcţionează sub forma decodificatoarelor de adresă.
Fig. 3.24 SAU din structura CD realizat cu tranzistoare. Codificatorul de adresă simplu din exemplul redat de fig. 3.25 codifică o adresă pe 3 biţi, deci sunt necesare 7 intrări.
Fig 3.25 Codificator de adresă simplu pe 3 biţi. Există şi un amendament la definiţia dată pentru CD, sub forma codificatorului de adresă prioritar. În cazul activării simultane a mai multor intrări, la ieşire apare adresa intrării cu prioritatea cea mai mare, care creşte cu numărul de ordine al intrării (0 este cea mai mică prioritate). Exemplu tipic: 74148 cu intrări şi ieşiri.
3.3.5 Convertorul de cod Convertoarele de cod sunt CLC care transformă un cod binar în altul. Exemple: - cod binar natural în cod binar reflectat şi invers; - BCD - 7 segmente (BCD 7s). BCD 7s este utilizat la comanda sistemelor de afişare numerică realizate cu 7 segmente luminoase (becuri, LED - uri, cristale lichide). Deşi literatura utilizează adesea pentru acest tip de circuit titulatura de "decodificator BCD - 7 segmente", încadrarea corectă este în categoria convertoarelor de cod - a se revedea definiţia DCD. Se ilustrează sinteza unui convertor de cod - fig. 3.26 şi 3.27. Casetele din tabelă marcate cu X sunt asociate segmentelor stinse pentru cifra respectivă. Casetele respective fiind mai puţin numeroase, se face sinteza după semnalele active pe zero, care poate fi direct materializată pentru afişaje (digiţi, caractere) cu anod comun. Pentru comanda fiecărui segment se extrage din tabelă diagrama K-V corespunzătoare pentru sinteza minimală. Semnalele A,B,C,D sunt ieşirile de la un numărător BCD. Exemple de convertoare de cod integrate pentru afişare pe 7 segmente: - 7447, 7448 (TTL) ; - 4511, 4543 –comandă atât pentru anod cât şi pentru catod comun (CMOS) ; - TIL 308 (Texas Instruments), care încorporează şi afişajul cu 7 segmente.
Dan MIHAI – Electronică Digitală
Fig 3.26 Elemente pentru sinteza convertorului de cod.
29
Dan MIHAI – Electronică Digitală
30
Fig 3.27 Structura circuitului pentru convertorul de cod pentru afişare pe 7 segmente.
Cap. 4 Funcţii şi circuite logice de tip secvenţial În prima parte a acestui capitol vor fi prezentate noţiuni teoretice generale relative la structura, funcţionarea, analiza şi sinteza circuitelor logice secvenţiale, urmând ca în partea a doua să fie prezentate principalele tipuri de circuite. 4.1 Analiza şi sinteza circuitelor logice secvenţiale 4.1.1 Elemente de bază: definiţii, structură, terminologie, exemple Dacă z(t) = f(x(t), y(t)), x(t) fiind intrare, z(t) ieşire iar y(t) definind starea circuitului, acesta se numeşte secvenţial (CLS) - fig. 4.1. Când mărimea de stare y este caracterizată printr-o dependenţă de tipul: y(t+1) = g (y(t), x(t))
(4.1)
Dan MIHAI – Electronică Digitală
31
Fig. 4.1 Structura CLS şi variabilele asociate. circuitul este de tip Mealy. Varianta Moore este caracterizată de dependenţa: z(t) = f (y(t))
(4.2)
Blocul D de pe legătura inversă este un element de întârziere sau de memorie. Intervin următoarele noţiuni: x = ( x1, ..., xn ): vector de iniţiere (intrare propriu-zisă) ; z = (z1,..., zm ) : vector de ieşire ; Y = (Y1 ,..., Yr ): vector de excitaţie (sau al funcţiilor secundare) ; y = (y1 ,..., yr ) : vector de stare (sau al variabilelor secundare). Dependenţele caracteristice: z = F(x, y) zi = f(x1, x2 , ..., xn, y1, y2 , ..., yr) Y = G(x, y) Yi = g(x1, x2 , ..., xn, y1, y2 , ..., yr)
(4.3) (4.4) (4.5) (4.6)
O stare se numeşte stabilă dacă: Y = y (Yi = yi )
(4.7)
Pentru o stare instabilă :
(4.8)
i = 1,..., r :
Yi
yi
Analiza CLS presupune determinarea stărilor stabile şi instabile precum şi evoluţia schemei de la o stare stabilă la alta prin aplicarea unor secvenţe de intrare. Câteva exemple de CLS sunt ilustrate de fig. 4.2. La circuitul cu contacte şi relee reacţia se obţine prin legătura funcţională dintre bobine şi contactele corespunzătoare, iar timpul de anclanşare al releelor constituie timpul de întârziere al reacţiei. O serie de noţiuni specifice CLS vor fi descrise urmărind funcţionarea unui circuit - fig. 4.3.
Fig. 4.2 Exemple de circuite logice secvenţiale.
Dan MIHAI – Electronică Digitală
32
Fig. 4.3 CLS cu comutaţie dinamică. Circuitul este de tip Moore. Se procedează la analiza modului de funcţionare urmărind comutările din circuit, deci nu cu o metodă sistematică, algoritmizată (aceasta va fi prezentată ulterior). S = 1 : A = 0 = B = C ; z0 = 1, z1, 2, 3 = 0 S=1 : A=1; B=C=0 ( ) B = 0, C = 1 ( ) ; z0 = 0, z1 = 1, z2, 3 = 0 S = 0 : A = 0 ; B = 0, C = 1 ( ) B = 1, C = 1 ( ) ; z0, 1, 2 = 0, z3 = 1 S = 1 : A = 1 ; B = 1, C = 1 ( ) B = 1, C = 0 ( ); z0, 1 = 0, z2 = 1, z3 = 0 S = 0 : A = 0 ; B = 1, C = 0 ( ) B = 0, C = 0 ( ); z0 = 1, z1, 2, 3 = 0 Se observă că starea schemei la un moment dat depinde nu numai de comanda S în acel moment ci şi de starea anterioara a circuitului (de evoluţia lui anterioară) iar numărul de stări în care se poate găsi sistemul este mai mare decât numărul de combinaţii binare ale intrării. Variabilele de tip A, la care accesul este nemijlocit, se numesc variabile primare. Variabilele de tipul B şi C a căror comutare nu se poate face direct reprezintă variabile secundare. Ele definesc starea schemei la un moment dat. z0 , z1 , z2 , z3 sunt combinaţii ale variabilelor secundare şi constituie funcţiile de ieşire ale circuitului - circuit de tip Moore. În evoluţia schemei se disting două tipuri de stări: - stări în care schema se menţine pe o durata echivalentă cu durata procesului de comutaţie din circuit (tip ) - stări instabile; - stări în care schema se menţine un timp indefinit (tip ) - stări stabile. Tranziţia între două stări ai căror vectori de stare diferă prin cel puţin două componente se numeşte cursă. Asupra circuitelor secvenţiale asincrone se face ipoteza ca ele lucrează în mod fundamental, adică nu există două variabile de intrare sau de stare care să comute simultan . Presupunând cursa y0(y01 ,… , y0r) y1(y11 , … ,yr1) unde y1 diferă de y0 prin yj0 yj1 ; yk0 yk1,ori se modifică prima componenta j, ori componenta k. Cursele sunt de două tipuri: - critice, pentru care în funcţie de ordinea de schimbare a variabilelor se ajunge în stări diferite; - necritice, pentru care indiferent de ordinea de schimbare a variabilelor se ajunge în aceeaşi stare stabilă.
Dan MIHAI – Electronică Digitală
33 Parcurgerea succesivă a mai multor stări instabile astfel încât după un număr de tacte (tranziţii) stările se repetă, se numeşte ciclu. O astfel de evoluţie internă are loc fără comutarea variabilelor de intrare. Un ciclu este definit de: y(t) = y(t+k) ; y(t)
y(t+j)
j = 1, 2, ..., k-1 ; k este lungimea ciclului
(4.9)
Determinarea ciclurilor este necesară pentru aprecierea instabilităţii automatului secvenţial. Metoda de analiză a CLS cea mai utilizată este metoda matricială, prin care se construieşte un tabel (matrice) de faze (stări) ale circuitului ce specifică stările stabile şi instabile. Este un tabel de adevăr al funcţiilor logice ale circuitului în care se identifică evoluţia acestuia între diferite stări pentru anumite secvenţe de intrare. De obicei secvenţele de intrare determină comutări pe linia tabelului iar variabilele secundare determină comutări pe coloane. Pentru exemplul din fig. 4.3: B = (a+c) (b+a b) C = (a+c) (b+b a)
B, C: funcţii secundare b, c: variabile secundare
Fig. 4. 4 Matricea de stări pentru circuitul din fig.4.3. O altă metodă de analiză a CLS este cea a grafurilor de tranziţie. Fiecărei stări a circuitului i se asociază un nod al grafului şi fiecare tranziţie dintr-o stare în alta se reprezintă printr-un arc deasupra căruia se notează intrările ce au provocat tranziţia. Exemplul din fig. 4.5 se referă la un circuit basculant bistabil de tip RS asincron.
Fig. 4.5 Graful de tranziţie pentru un circuit basculant bistabil RS.
4.1.2 Analiza CLS Algoritmul general de analiză constă din parcurgerea următoarelor etape: - se identifică ïn configuraţia sistemului variabilele de intrare, de stare şi de ieşire şi se determină funcţiile de comutaţie asociate mărimilor de stare şi de ieşire (funcţiile booleene); - se construieşte tabelul funcţiilor de stare şi de ieşire. Primul se mai numeşte tabelul funcţiilor secundare şi conţine într-o reprezentare Karnaugh 2s linii date de combinaţiile variabilelor secundare (de stare) şi 2n coloane date de combinaţiile binare ale vectorului de intrare. În celule se trec valorile logice ale funcţiilor secundare Y1, ..., Ys. Tabelul funcţiilor de ieşire este o reprezentare Karnaugh cu aceeaşi organizare ale cărei celule dau valorile logice ale vectorului de ieşire. - se construieşte tabelul de evoluţie al stărilor, se determină stările stabile şi instabile, evoluţia pentru fiecare stare stabilă şi pentru toate combinaţiile variabilelor de intrare;
Dan MIHAI – Electronică Digitală
34 - se verifică secvenţele de lucru pentru stări iniţiale şi intrări specificate. Se verifică funcţiile de ieşire obţinute la fiecare stare. Exemplu: fig. 4.6. Funcţiile şi variabilele secundare se identifică observând legăturile inverse în circuit. Din structura schemei rezultă următoarele forme analitice pentru funcţiile secundare şi funcţiile de ieşire: Y1=x y2+x y1 Y1=x y2+x y1 z1=y1 y2 z2=y1 y2 z3=y1 y2 z4=y1 y2 Cu ajutorul acestor funcţii se completează tabelele funcţiilor secundare şi de ieşire din fig. 4.7 a şi b. Fiecare coloană corespunde câte unei funcţii secundare şi respectiv de ieşire. Deci, spre deosebire de alte reprezentări de tip K-V de până acum, într-o casetă se trece nu valoarea unei funcţii logice Fig. 4.6 CLS precizat pentru analiză. ci un vector al valorilor funcţiilor asociate. Numai astfel se pot determina - la nivelul vectorilor de stare - stările stabile şi instabile (prin compararea vectorilor Y şi y) - fig. 4.7 a, c şi d.
Fig. 4.7 Etape analiză CLS. Stările se pot numerota, cele stabile fiind reprezentate printr-o cifră încercuită. O tranziţie de la o stare instabilă la o stare stabilă se specifică marcându-le cu aceeaşi cifră. Considerând de exemplu stare iniţială (00), dacă se comută x (intrarea) din 0 în 1, funcţiile secundare indică o comutare la valoarea Y1Y2 = 01; sistemul îşi va schimba starea proprie ïntr-un interval finit de timp t corespunzător propagării valorilor funcţiilor secundare pe calea de reacţie. Starea obţinută este instabilă, cu o durată egală cu a proceselor de comutaţie din circuit. Considerând pe (1) ca stare iniţială, două comutări succesive ale intrării x determină parcurgerea tuturor celor 8 stări. În fig. 4.8 a, pentru inteligibilitate, s-au reprezentat exagerat de mari duratele stărilor instabile. Diagrama ieşirilor indică posibilitatea utilizării circuitului ca generator de faze.
Fig. 4.8 Diagramele temporale rezultate din analiza circuitului.
Dan MIHAI – Electronică Digitală
35 Utilitatea metodologiei prezentate pentru analiză este mai pregnantă la circuite complexe, cu multe intrări şi variabile secundare. În diagrama de stări se urmăresc următoarele aspecte: - existenţa curselor critice, care conduc la o funcţionare nesigură a automatului. În etapa de sinteză trebuie evitate cursele critice. - determinarea ciclurilor - surse ale instabilităţii automatului; - modalităţile de control ale traiectoriei (evoluţiei) automatului, prin specificarea secvenţelor succesive ale variabilelor de intrare care conduc sistemul dintr-o stare iniţială dată într-o stare finală precizată. 4.1.3 Sinteza CLS asincrone Se va prezenta întâi algoritmul general de sinteză prin metoda Huffman, după care se vor rezolva mai multe exemple. Se parcurg următoarele etape: 1. Se determină matricea primitivă de stări conform modului impus de funcţionare pentru automat. Matricea primitivă este un tabel care conţine pe o linie o singură stare stabilă şi toate tranziţiile implicate de această stare. Numărul de coloane este 2n (n intrări). Se construieşte în dreapta matricei primitive matricea de ieşiri a sistemului, de asemenea urmărind specificaţiile protocolului de funcţionare. 2. Se obţine matricea de stări redusă din matricea primitivă prin fuzionarea liniilor acesteia. 2 linii fuzionează dacă pe coloane apar aceleaşi numere de stări. Reguli de fuzionare - fig. 4.9: - 2 linii fuzionează dacă locaţiile respective din coloane corespund aceluiaşi număr de stare (stabilă sau instabilă); - prin fuzionare, din starea stabilă şi cea instabilă rezultă stare stabilă; - prin fuzionarea unei stări (stabile sau instabile) cu o stare interzisă se obţine starea respectivă. Stările interzise corespund comutaţiei simultane a mai multor variabile de intrare pornind dintr-o stare stabilă. Fuzionarea conduce la o formă redusă dar care nu este unică datorită modalităţilor diverse de grupare a liniilor. Pentru o grupare a liniilor cât mai convenabilă (în sensul fuzionării unor grupuri cu mai mult de 2 linii astfel încât dimensiunile matricei reduse să fie cât mai mici) se formează diagrama de fuzionare. Se numerotează liniile matricei primitive şi se marchează prin segmente fuzionările posibile. Două sau mai multe linii pot fuziona dacă liniile respective formează un poligon complet (cu toate diagonalele formate). Aceste poligoane definesc partiţii de fuzionare - fig. 4.10. Metodologia completă de construcţie a matricei de faze reduse ia în considerare şi alte aspecte relative la codificarea ulterioară a variabilelor secundare, restricţii determinate de o configuraţie impusă circuitului secvenţial etc. Utilizarea matricei de stări reduse are consecinţe şi în ceea ce priveşte repartiţia variabilelor secundare pe fiecare stare. Dacă la matricea primitivă codificarea stărilor se face exclusiv prin variabilele secundare, la o matrice redusă, pe aceeaşi linie se pot găsi mai multe stări stabile, identificarea uneia fiind făcută prin variabile primare. De aici şi posibilitatea de a evolua automatul dintr-o stare în alta numai prin comutarea variabilelor de intrare. 3. Se ataşează variabilele secundare pentru codificarea fiecărei linii a matricei de stări reduse, astfel încât să corespundă unei anumite tehnologii de circuit secvenţial şi să satisfacă anumite condiţii de calitate: funcţionare fără risc, fără curse critice, configuraţie minimală.
Fig. 4.9 Exemple de fuzionare.
Fig. 4.10 Diagramă (graf) de fuzionare.
Dan MIHAI – Electronică Digitală
36 Matricea redusă conţinând cel puţin o stare stabilă pe linie, trecerea dintr-o stare în alta pe linii trebuie să implice comutarea unei singure variabile secundare. Atunci, la L linii ale matricei reduse, numărul de variabile secundare s este dat de relaţia 2s L. Procedura de ataşare se poate simplifica construind diagrama (graful) de tranziţii, cu atâtea noduri câte linii are matricea redusă şi cu fiecare segment al diagramei corespunzând unei tranziţii posibile între 2 stări ale liniilor respective. Ex. - fig. 4.11. Pentru liniile a, b, c, d, stările corespunzătoare implică tranziţiile: a - c; a - d ; b - d. Se impune o codificare într-o astfel de manieră încât codul asociat unui vârf să fie adiacent (adică să difere printr-un singur bit) tuturor Fig. 4.11 Graf de tranziţii. combinaţiilor de cod din vârfurile alăturate ale poligoanelor formate. 4. Se formează matricile funcţiilor secundare şi de ieşire. Valorile funcţiilor secundare ale unei stări stabile vor fi date prin combinaţia de cod a variabilelor secundare ce codifică linia cu starea respectivă. Codificarea stărilor instabile se realizează prin aceeaşi combinaţie cu cea a stărilor stabile corespunzătoare. Codificarea ieşirilor depinde de restricţiile impuse lor. Pentru a elimina riscul apariţiei unor semnale false la ieşire pe durata stărilor instabile, acestora li se asociază acelaşi cod cu al stărilor stabile cu acelaşi număr, cod obţinut direct din matricea primitivă. 5. Se sintetizează funcţiile secundare şi de ieşire din diagramele K-V obţinute. 6. Se prelucrează eventual funcţiile obţinute (de exemplu în sensul utilizării unui sistem funcţional complet impus)şi se construieşte schema circuitului. Exemplul 1: Să se sintetizeze un CLS cu 2 intrări şi o ieşire care să funcţioneze astfel: - dacă x2 = x1, z trece în starea complementară celei pe care o avea în acel moment; - dacă x2 x1 , z ia valoarea lui x2. Urmărind algoritmul, rezultă matricile primitivă şi redusă din fig. 4.12. Pentru x1 x2 = 0 0 şi x1 x2 =1 1, sistemul poate avea 2 stări stabile, respectiv 1şi 2 pentru prima combinaţie şi 4şi 5 pentru a doua, corespunzând cazului când comenzile sunt cu aceeaşi valoare logică , iar ieşirea trebuie să basculeze (dacă era 0 devine 1şi invers).Pentru combinaţiile x1 x2 = 0 1şi x1 x2 = 1 0, ieşirea are o singură valoare posibilă, cea dată de x2 (conform enunţului temei). Dacă 1şi 2 sunt stări iniţiale, comutarea x2 0 1 conduce sistemul în starea coloanei 01, starea 3. Tranziţia dintre linia stării 1şi a stării 3 se face prin starea instabilă 3. O comutare din 3 prin x 1 înseamnă trecerea la coloana x1 x2 = 1 1, în starea 4. Din 4 se poate reveni în 3 anulând pe x 1 sau se poate trece în 6 anulând pe x2. Din starea 5 se poate trece la starea 6 dacă se anulează x1 sau în starea 3 când se anulează cealaltă variabilă de comandă. Din 6 se poate ajunge fie în coloana 1 1 la starea 5, fie în starea iniţială 2 a coloanei 00, după cum x2 devine 1 sau respectiv x1 devine 0. Completarea liniilor cu stări instabile se face
Fig. 4.12 Matricile primitivă şi redusă de stări.
Dan MIHAI – Electronică Digitală
37 luând în considerare starea iniţială cu valoarea logică asociate ieşirii, valoarea comenzilor pentru starea finală şi specificaţiile protocolului de funcţionare pentru evoluţia respectivă. Dacă pe o coloană există o singură stare stabilă, ea nu poate primi decât stări instabile cu acelaşi număr (sau stări interzise). De exemplu, pornind din starea stabilă 6, trebuie completată locaţia din coloana a 3-a a aceleiaşi linii. Z iniţial este 0. Pentru noua locaţie, intrările au aceeaşi valoare deci z va trebui să devină 1. Dar pe coloana respectivă starea stabilă 5 are ieşirea asociată 1, deci sistemul va trece printr-o scurtă stare instabilă cu acelaşi număr 5. Locaţiile care corespund comutaţiei simultane a 2 variabile primare se consideră tranziţii interzise în evoluţia sistemului (acesta lucrează în mod fundamental). Fuzionarea liniilor conduce la o matrice redusă cu numai 2 linii. Într-o asemenea situaţie ataşarea variabilelor secundare nu ridică probleme de adiacenţă, fiind necesară o singură variabilă y - fig. 4.12. Pentru stările stabile, valorile funcţiei secundare sunt date de valorile variabilei secundare corespunzătoare. Stările instabile vor avea asociate aceleaşi valori pentru Y ca cele stabile. Din matricea primitivă şi matricea redusă se completează tabela funcţiei de ieşire - fig. 4.13. Sinteza K-V a funcţiei secundare şi a celei de ieşire conduc la circuitul din aceeaşi figură. Ca element de reacţie s-a utilizat o reţea de întârziere cu durata propagării semnalului prin 2 inversoare.
Fig. 4.13 Tabelele funcţiei secundare funcţiei de ieşire şi circuitul secvenţial sintetizat. Exemplul 2: Să se facă sinteza circuitului de comandă a pornirii cu automenţinere. Protocolul de funcţionare este următorul:
Fig. 4.14 Semnalele asociate circuitului de pornire cu memorare a comenzii.
Dacă P (comanda de pornire) este activat (=1), ieşirea z devine 1şi rămâne activă după ce P a revenit la 0. Comanda O (oprire) este prioritară şi activarea ei conduce la z = 0, stare ce se menţine şi după ce O nu mai este activ.
Etapele sintezei se pot urmări în fig. 4.15. Pentru acest exemplu a rezultat aceeaşi matrice pentru funcţia secundară şi pentru funcţia de ieşire. În fig. 4.15 s-au figurat mai multe moduri de implementare ale circuitului: cu contacte şi relee (se recunoaşte configuraţia clasică a circuitului de pornire cu memorare a comenzii), în logică NAND cu reacţie tip temporizare şi cu o reacţie sincronizată. Aceasta din urmă are avantajul că semnalele P şi O pot comuta simultan la intrarea NAND -urilor, însă comutarea stării se face numai când tactul va deveni 1. Se utilizează un circuit basculant bistabil sincron tip D. Temporizarea pe reacţie la schemele cu comutaţie dinamică se realizează prin inerţia mecanică a releului. Se propune ca exerciţiu sinteza unei comenzi reversibile (dreapta / stânga) cu interblocaj: dacă s-a activat pornirea pentru un sens, o comandă de pornire pentru sensul opus să fie interzisă până după deconectare.
Dan MIHAI – Electronică Digitală
38
Fig. 4.15 Sinteza comenzii cu automenţinere. Exemplul 3: Să se facă sinteza unui indicator secvenţial de sens de rotaţie a cărui funcţionare se bazează pe elementul din fig. 4.16. Aşi B sunt contacte alunecătoare şi li se asociază semnale binare de intrare cu acelaşi nume. Semnalele de ieşire sunt D - activ pentru sens de rotaţie spre dreapta şi S - activ pentru sens de rotaţie spre stânga. Elementul sesizor din fig. 4.16 poate fi realizat şi fără contact mecanic, pe principiu optic sau magnetic. Fig. 4.17 redă matricea primitivă iar celelalte elemente principale de sinteză sunt conţinute în fig. 4.18.
Fig. 4.16 Elemente specifice aplicaţiei din ex. 3. Fig. 4.17 Matricea primitivă de stări.
Fig. 4.18 Matricea redusă, graful de tranziţii şi matricile funcţiilor secundare şi de ieşire.
Dan MIHAI – Electronică Digitală
39 Se propune ca exerciţiu sinteza unui indicator al sensului de rotaţie bazat pe 3 senzori şi o pastilă magnetică montată pe arborele în mişcare de rotaţie. Exemplul 4: Pentru realizarea unui sertisaj (strângere), un piston alimentat prin distribuitor cu electrovană trebuie să preseze de 2 ori o piesă când se face comanda de la un buton (cu revenire) a. Controlul mişcării pistonului (sfârşit de cursă) este realizat cu un detector de proximitate b. Structura instalaţiei este redată în fig. 4.19. Pentru matricea de stări se va porni de la succesiunea stărilor sistemului cu valorile asociate ale comenzilor şi ieşirii în cadrul unui ciclu funcţional - fig. 4.19 - uşurându-se etapa de completare a matricei primitive. Starea 1 se asociază repaosului. La comanda a, pistonul se deplasează spre piesă (starea 2) până când senzorul b sesizează atingerea capătului de cursă (starea 3). Din acest moment este suprimată comanda electrovanei (starea 4), pistonul revenind în poziţia sus datorită resortului. Fără altă comandă, sistemul trece în starea 5 asociată unei noi presări a piesei (z = 1). După ce b sesizează efectuarea celei de-a 2-a curse (starea 6), comanda distribuitorului este dezactivată, pistonul revine sus şi sistemul este pregătit pentru un nou ciclu (starea iniţială). Prezentarea grafică a succesiunii stărilor este dezvoltată în cadrul metodei (limbajului) GRAFCET de programare a automatelor şi al unor limbaje grafice de programare a microprocesoarelor (ex.: Flowcode / Matrix Multimedia Ltd). Matricea primitivă, matricea redusă a stărilor precum şi celelalte elemente ale sintezei comenzii sunt cuprinse în fig. 4.20. După cum se observă, nu se trec decât stările stabile împreună cu cele instabile asociate tranziţiilor între ele. Principiul este folosit şi la sinteza sistemelor mari, cu multe stări (în cadrul metodei Girard). La acest exemplu, pe durata stărilor instabile valorile ieşirii s-au păstrat aceleaşi cu cele din stările stabile din care sistemul a ieşit, ideea fiind a continuităţii comenzii. Circuitul de comandă s-a materializat folosind logica de comandă cu contacte şi relee. Metode speciale pentru ataşarea variabilelor secundare În cazul în care apar dificultăţi legate de ataşarea variabilelor secundare în sensul că pentru L = 4 nu se poate face o asignare de 2 variabile astfel încât să fie satisfăcută condiţia de adiacenţă, se poate utiliza una dintre metodele: A. Metoda nodurilor suplimentare Se consideră matricea redusă din fig. 4.21. Având în vedere tranziţiile posibile (chiar din prima coloană) care trebuie să implice modificarea numai a unei variabile secundare, oricum s-ar ataşa combinaţii y1 y2 la vârfurile a-b-c-d ale diagramei de tranziţii nu este posibilă codificarea celor 4 linii cu numai 2 variabile secundare încât să se păstreze adiacenţa nodurilor alăturate din poligonul tranziţiilor.
Fig. 4.19 Ciclul funcţional al instalaţiei.
Dan MIHAI – Electronică Digitală
40
Fig. 4.20 Etapele sintezei pentru exemplul 4. Se vor utiliza atunci 3 variabile secundare cu codificarea din figură.
Fig. 4.21 Matricea redusă iniţială şi nodurile suplimentare necesare. Tranziţiile a-b, a-c, a-d respectă condiţiile de adiacenţă, în schimb cele între liniile b-d şi c-d necesită introducerea unor noduri suplimentare e şi f , codificate prin 101 şi 110. Rezultă matricea redusă sub forma din fig. 4.22. Numărul mare de locaţii indiferente permite o minimizare substanţială a funcţiilor secundare. B. Codificare prin combinaţii parţial complementare 2 combinaţii de cod de lungime s se spune că sunt parţial complementare dacă s-1 variabile ale codului formează combinaţii complementare. Considerând dispunerea combinaţiilor de cod pe un cub, o astfel de codificare corespunde alocării la fiecare din cele 4 linii a câte unui nod diametral opus din fiecare faţă a cubului (la extremităţile diagonalelor mici). Ca exemplu se va considera o matrice redusă care implică tranziţii între toate liniile - fig. 4.23. Codificarea prin combinaţii parţial complementare impune ca orice tranziţie între 2 linii să se realizeze prin schimbarea a 2 variabile secundare. Această evoluţie poate fi efectuată ordonat, în două faze distincte, în fiecare fază comutând o singură variabilă, dacă tranziţia impusă între cele 2 coduri se realizează prin nodul învecinat, disponibil.
Dan MIHAI – Electronică Digitală
41
Fig. 4.22 Matricea redusă cu noduri (linii) suplimentare şi matricea funcţiilor secundare.
Fig. 4.23 Tranziţii şi noduri parţial complementare. Ex: 1 din linia b trebuie transferat în 1 din linia a fie prin vârful 001 fie prin 010. Atunci tuturor acestor vârfuri, la secvenţa de intrare 00 li se alocă combinaţia stării 1: 000. Prin această codificare, orice tranziţie între 2 linii necesită schimbarea a 2 variabile secundare (câte una la fiecare tranziţie internă), deci 2 timpi de tranziţie; se obţine astfel o simetrizare a timpilor de comutare pentru orice evoluţie a sistemului. Rezultă matricea redusă de stări codificată prin 3 variabile secundare din fig. 4.24. C. Codificare prin combinaţii complementare Fiecare linie a matricei de stări primeşte 2 combinaţii complementare de cod. De ex. linia a se codifică prin 111, b prin 001 şi 110, c prin 010 şi 101, d prin 011 şi 100. Pentru identificarea stărilor, în codul fiecărei combinaţii se introduce un indice suplimentar pentru fiecare stare a liniei. Fiecărei linii îi vor corespunde 2 vârfuri (situate la extremităţile unei diagonale mari) din cubul binar, notate cu indicii 1şi 2. De ex.: 11 corespunde combinaţiei 000 12 corespunde combinaţiei 111 51 corespunde combinaţiei 001 52 corespunde combinaţiei 110 etc.
Dan MIHAI – Electronică Digitală
42
Fig. 4.24 Matricea redusă transformată. Stările instabile din fiecare linie se vor codifica astfel încât să asigure tranziţia în nodul cel mai apropiat al cubului. Se va considera aceeaşi matrice redusă ca la metoda B (cu tranziţii între toate liniile posibile). Rezultă matricea transformată pentru 3 variabile secundare din fig. 4.25. De ex. pe linia b1 (001), starea 6 implică tranziţie în starea 6 din linia c2 (101), deci este o stare de tipul 62. Starea 4 de pe c2 evoluează în a2 (111), cea mai apropiată, deci este o stare 42 . D. Codificarea prin combinaţii adiacente Unei linii din matricea redusă i se afectează 2 vârfuri vecine ale cubului. Astfel, unei stări din matrice îi vor corespunde prin codificare 2 stări denumite stări legate . Codificarea stărilor stabile se face ca la metoda C. Stărilor instabile li se vor ataşa combinaţii care să asigure tranziţii în nodurile cele mai apropiate de pe cub. Pentru o aceeaşi matrice redusă de la metodele Bşi C se ilustrează aplicarea codificării prin combinaţii adiacente prin fig. 4.26.
Fig. 4.25 Ilustrare metoda combinaţiilor complementare.
Dan MIHAI – Electronică Digitală
43
Fig. 4.26 Ilustrare metodei combinaţiilor adiacente. Ex.: starea 4 /c1 (110) Tranziţia în linia este cea care corespunde liniei 000 (combinaţia cea mai apropiată) dar este necesară întâi o evoluţie a stării 4 în combinaţia 110 şi apoi în 41 din linia 000. Aceste tranziţii sunt specificate prin săgeţi pentru fiecare stare instabilă. Absenţa săgeţii indică o tranziţie normală, de la starea instabilă la starea stabilă corespunzătoare. Se observă că starea 21 este o stare redundantă , în sensul că ea nu poate fi atinsă prin nici o comutare normală de variabile secundare. Toate celelalte stări stabile reprezintă stări stabile controlabile prin secvenţe de intrare şi secundare. La toate metodele şi variantele, matricea de ieşire se codifică după procedura iniţială, fiecărei stări stabile, indiferent de combinaţia secundară care o codifică, ataşându-i-se valorile funcţiei de ieşire specificate în matricea primitivă. De asemenea fuzionarea liniilor matricei primitive face abstracţie de tabelul de ieşire alăturat. Pentru matrici de stare cu dimensiuni mari s-au pus la punct (Huffman, Girard) metode specifice de codificare şi sinteză. La încheierea prezentării părţii teoretice referitoare la analiza şi sinteza circuitelor digitale de tip secvenţial, se semnalează posibilitatea utilizării unor pachete de programe pentru desenarea şi simularea funcţionării unor asemenea circuite. În acest sens sunt reprezentative programele ORCAD, MULTISIM - cu variante anterioare sub numele / marca ELECTRONICS WORKBENCH (secţiune distinctă pentru circuite digitale cu sinteză forme canonice, minimale, transformări de sisteme funcţionale, macroinstrucţiuni, urmărire simulare cu analizor multicanal, help ), LOGIC WORKS, DIGITAL WORKS etc. Aceste programme sunt uşor de însuşit la nivelul exploatării de bază şi conţin unelte variate pentru desenare, simulare / analiză iar unele permit proiectarea circuitelor la nivel de cablaj imprimat. O parte din ele sunt înzestrate cu biblioteci remarcabile de componente – simbolice şi de tip catalog, unele auxiliare de tipul tastaturilor, comutatoarelor, micromotoarelor etc. Categoria aceasta de programe este mult mai uşor de utilizat decât cele de analiză internă de tip PSPICE şi mult mai adecvată inginerilor preocupaţi de exploatarea a unor circuite şi echipamente de tip digital şi nu de proiectarea unor dispozitive electronice. 4.2 Circuite digitale secvenţiale reprezentative 4.2.1 Circuite basculante bistabile În echipamentele de comandă şi conducere ale IEM se regăsesc, cu o frecvenţă mai mare sau mai mică, toate tipurile de circuite basculante: bistabile, astabile, monostabile. Ultimele două tipuri interesează mai
Dan MIHAI – Electronică Digitală
44 puţin sub aspectul sintezei structurilor numerice de comandă, având funcţii simple şi realizări standard uşor exploatabile şi suficient descrise sub aspectul utilizării lor prin elementele de catalog aferente. Circuitele basculante bistabile (CBB) sunt circuite secvenţiale, starea lor la un moment dat depinzând de starea variabilelor de intrare (comandă) la momentul respectiv şi de starea ieşirilor, memorată de aceste circuite. Prezintă două ieşiri Q şi Q , comutarea lor făcându-se direct sub acţiunea semnalelor de la intrare (CBB asincrone) sau în prezenţa unui impuls de tact (CBB sincrone) . CBB de tip R S Varinta asincronă (tip Latch = zăvorâre, blocare - în sensul de memorare) Schema bloc (fig. 4.27 a) pune în evidenţă semnalele de comandă: R (Reset) - ştergere şi S (Set) încărcare Ieşirea Q(t+1) comută în funcţie de intrări şi de valoarea anterioară Q(t) conform tabelului din fig. 4.27b şi c - ultimul reprezentând o formă condensată. Graful de tranziţii este redat în fig. 4.27d iar matricea de stări în fig. 4.27e. Materializările cele mai utilizate (cu porţi NAND şi NOR) sunt figurate la 4.27f şi respectiv g. Din matricea de faze rezultă ecuaţia:
Q(t 1)
Q(t) R S
(4.10)
Tranziţia (comutarea) se face practic pe frontul intrărilor, acestea putând fi deci de tip impuls; în multe situaţii se utilizează montaje de tipul celor din fig. 4.28. Elementul esenţial este circuitul de derivare C-R1, durata impulsului depinzând de valorile acestor componente. Dioda D selectează impulsul de polaritate corespunzătoare, având un punct de funcţionare fixat prin rezistenţa R2. La primul montaj tranzistorul T (de comutaţie ) realizează şi o funcţie de trigger. Există circuite integrate care conţin mai multe latch-uri. Se pot folosi ca celule de memorare sau pentru funcţii particulare. Varianta sincronă Deficienţa latch-urilor este determinată de semnalele care indică şi modul în care trebuie să aibă loc comutarea şi momentul acesteia. În sistemele digitale este esenţială distincţia între comenzile ce controlează în timp procesul de prelucrare şi cele ce controlează natura prelucrării. Circuitele discutate comută în
Fig. 4.27 Elementele caracteristice pentru CBB R-S asincron.
Dan MIHAI – Electronică Digitală
45 momentul apariţiei tranziţiei active sau şi conform acestei tranziţii. Pentru a se corecta această deficienţă, se utilizează latch-urile cu ceas (sincrone) - fig. 4.29. La T (semnal de tact, ceas, clock ) = 0, bistabilul rămâne în aceeaşi stare (A=B =1, ceea ce corespunde la R=S=0 - active pe zero - pentru etajul asincron final). Când T = 1 circuitul funcţionează conform tabelului de adevăr din fig. 4.27 b. Pentru configuraţia cu porţi NAND:
Q S T ; Q(t 1)
A Q(t) S T Q(t) S T Q(t)
(4.11)
Nedeterminarea din tabelul de adevăr (la activarea simultană a intrărilor R şi S) se poate rezolva cu 3 variante de circuit derivate din cele de bază - fig. 4.30: - CBB tip S - în cazul în care ambele intrări sunt active, funcţionează numai pentru SET; - CBB tip R - dacă R şi S sunt active funcţionează ca RESET; - CBB tip E - dacă R şi S sunt active păstrează vechea stare. CBB tip D (Delay - întârziere) Are o singură intrare de comandă şi o intrare de tact. Permite reţinerea informaţiei prezente la intrarea D (date) pe durata unui tact. T=1 T=0
Q (t+1) = D(t) Q (t+1) = Q(t)
( întârziere a unui semnal aplicat la intrare)
Fig. 4.28 Formatoare de impuls.
Fig. 4.29 CBB R-S asincrone.
Fig. 4.30 CBB R-S fără nedeterminare.
Dan MIHAI – Electronică Digitală
46
Se poate obţine dintr-un CBB tip R-S la care S = D şi R = D . Tabela de adevăr: D Q ( t ) Q ( t+1) sau, condensat:
T
D Q(t+1)
0 0 0 0 x Q(t) 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 Când T = 0 circuitul este blocat (zăvorât) iar când T = 1 circuitul este transparent. Variante constructive Cel mai simplu circuit digital care realizează o întârziere este o structură cu un număr par de inversoare, evident aceasta neavând însă caracter de circuit bistabil. Pentru circuitul 4.31a: Pentru circuitul din fig. 4.31b: T
1&D
1
Q
1
T
0 &D 1
Q 1
T
1&D
0
Q
0
T
0 &D
Q
T
0 : Q(t 1)
T
1 : Q(t 1)
A
D T
A
D
Q(t)
0
0
Q(t)
T
Circuitul din fig. 4.31c evidenţiază transformarea unui CBB R-S în CBB D dacă semnalul de resetare este complementul celui de date. În afara structurilor CBB D - Latch prezentate (ex. circuitele 7475, 7477, 74259), se mai utilizează CBB D active pe front (ex. circuitul 7474), la care structura este transparentă numai pe durata frontului; acestea se folosesc în construcţia numărătoarelor şi registrelor. Fig. 4.32 evidenţiază o simbolizare specifică pentru tact activ pe front. Semnalele asincrone prioritare de încărcare P (Preset) şi de ştergere CL (Clear) se pot regăsi la toate tipurile de CBB; sunt de obicei active pe zero şi lucrează astfel: CL
0
CL 1 Q
0
Q 1
P 1
P
0
(4.12) CL 1 - comutã conform tabelului
CL 1
de adevãr (lucreazã intrãrile P 1
de comandã şi tactul)
- combinatie interzisa P
0
Fig. 4.31 Variante de tip CBB de tip D.
Dan MIHAI – Electronică Digitală
47
Fig. 4.32 CBB D activ pe front. CBB tip J-K Este un circuit sincron cu 2 intrări de comandă şi una de tact. Modul de funcţionare rezultă din tabela de adevăr de la fig. 4.33. J realizează setarea circuitului, S realizează ştergerea (resetarea) iar în situaţia în care ambele intrări sunt active, bistabilul trece în starea complementară. Acest ultim mod de lucru defineşte un alt tip de CBB numit T (Toogle - basculare), un circuit funcţional, fără o construcţie proprie, cel mai frecvent fiind un bistabil J-K sincron cu J=K=1. El va comuta la fiecare tact. Realizare CBB J-K: dintr-un CBB R-S sincron la care se introduc reacţii de la ieşire spre intrări, astfel ca la R=S=1 să se schimbe starea; intrările R şi S se obţin funcţie de starea precedentă prin porţi la care au acces tactul şi comenzile J,K - fig. 4.34. Comutarea circuitelor bistabile sincrone Comutarea CBB sincrone se poate face pe frontul ascendent sau descendent al tactului. În fig. 4.35 se analizează ambele variante. La comutarea pe front ascendent, Q are o stare nedefinită pe durata tactului (mai ales dacă T - durata palierului activ a acestuia - este mică) - fig. 4.35a. La comutarea pe front descendent, Q are o valoare logică definită pe durata impulsului de tact (fig. 4.35b). Modul de comutare este important la lanţuri de CBB (conectate în cascadă) şi în situaţiile în care se impune ca toate CBB să fie comutate de acelaşi impuls de tact.
Fig. 4.33 Comutarea CBB de tip J-K.
Fig. 4.34 Structuri CBB J-K.
Dan MIHAI – Electronică Digitală
48
Fig. 4.35 Moduri de comutare CBB J-K. Ex: Qi Ji+1 ; Dacă primul CBB e comutat pe front ascendent (pozitiv, anterior) din 0 în 1, intrarea J i+1 începe să treacă spre 1 după frontul ascendent. Ieşirea Qi+1 poate să treacă în 1 sau nu pe durata impulsului de tact pentru că Ji+1 are o stare nedefinită. Pentru o funcţionare corectă trebuie introduse circuite pentru ca al doilea CBB să comute doar la al doilea impuls de tact. La comutarea pe frontul descendent, CBB i+1 va comuta în mod sigur numai după al doilea impuls de tact. Rezultă că este mai bună comutarea CBB pe frontul posterior. CBB comutate pe frontul posterior sunt realizate în modul MASTER-SLAVE (M-S: stăpân-sclav). Acesta este alcătuit din 2 CBB sincrone, primul comandat de intrările circuitului şi este comutat pe frontul ascendent, iar al 2- lea este comandat de ieşirile MASTER pe frontul posterior al tactului. Dacă T = 1, M poate comuta conform R şi S oricând până la T descendent. În acest interval, TS = 0 şi S este blocat. La apariţia frontului descendent al tactului, TM = 0 şi M este blocat, TS = 1 şi S comută conform conţinutului lui M. Pe toată durata cu TS = 1, S nu se va modifica, QM fiind stabil. Un alt tip de formulare: când T = 1, M este transparent, ieşirile sale recopiind intrările (în sensul comutării în funcţie de acestea) iar când T = 0, M este blocat şi S este transparent, copiind valorile memorate în M. Pe ansamblu, circuitul este activ pe frontul descendent al tactului şi are ieşirile izolate de intrări. Exemple de circuite basculante bistabile integrate de tipul J-K M-S: 7473, 7476, 7478. Legat de modul de comutare al componentelor structurii M-S, poate apare o funcţionare hazardată (incertă) pe durata fronturilor. Este posibil ca pe acelaşi interval de timp ambele CBB să fie deschise şi atunci, datorită reacţiilor globale M-S, pot apare oscilaţii de înaltă frecvenţă. Pentru aceasta circuitele M-S se realizează astfel încât să existe o asimetrie la pragurile de comutare ale lui M faţă de S; ca urmare, la momentele de trecere ambele module sunt deconectate. De asemenea nivelul de prag la care basculează schema este ridicat. - fig. 4.38.
Fig. 4.36 Structura de principiu M-S.
Fig. 4.37 CBB de tip J-K M-S.
Fig. 4.38 Comutarea structurii M-S.
Dan MIHAI – Electronică Digitală
49 Dacă, CBB M-S devine un bistabil tip D întârziind datele de la intrare cu un tact. Deosebirea faţă de latch-ul D: structura obţinută comută ca urmare a tranziţiei pozitive a ceasului, pe cînd latch-ul putea comuta oricând pe durata palierului activ. Elementele care trebuiesc avute în vedere la utilizarea CBB integrate sunt: - tipul familiei (TTL, MOS), deci tensiunea de alimentare şi alte caracteristici; - starea comenzilor prioritare (Clear, Preset) şi modul de utilizare a lor; - dacă sunt sincrone sau asincrone; - la cele sincrone pe ce front comută. 4.2.2 Numărătoare Numărătoarele sunt circuite logice secvenţiale al căror cuvânt binar de ieşire depinde de numărul de evenimente (comutari, impulsuri) de la intrare. Definind registrele ca CLS care permit memorarea unui anumit număr de biţi simultan cu posibilitatea efectuării unor prelucrări logice sau numerice asupra informaţiei stocate, numărătoarele sunt registre care primesc la intrare impulsuri de numărat şi care prezintă la ieşire o informaţie într-un cod binar determinat, corespunzătoare numărului de evenimente logice (sau impulsuri) primite la intrare. Structural, sunt formate din CBB care au rol de memorare şi circuite de comandă (combinaţionale) ce determină schimbarea stării bistabilelor la fiecare impuls. După diferite criterii, numărătoarele se pot clasifica în mai multe categorii: - asincrone - la care CBBi comută ca o consecinţă a comutării CBBi-1 ; - sincrone - la care impulsurile de tact comută simultan CBB; - directe - la fiecare impuls de tact numărul memorat creşte cu 1; - reversibile (directe sau inverse în funcţie de comandă); - binare; - binar-zecimale; (după modul de codificare a informaţiei) - în alte coduri ( Aiken, Exces 3 etc.). 4.2.2.1 Numărătoare asincrone Impulsurile de numărat se aplică la tactul primului CBB, ieşirea acesuia va face să comute următorul CBB ş.a.m.d.. Sunt construite de obicei pe baza CBB de tip J - K M - S în configuraţie T. Exemplu: un numărător cu 3 ranguri, binar, cu comutare pe frontul descendent - fig. 4.39. Din fig. 4.40 se observă că numărătorul asigură o divizare prin 8 a impulsurilor de la intrare. Regula de comutare este: Q0 Q1
Q0 pentru T Q1 pentru Q 0
Q2
Q 2 pentru Q1
Fig. 4.39 Numărător asincron de 3 biţi.
Fig. 4.40 Formele de undă pentru numărătorul de 3 biţi.
Dan MIHAI – Electronică Digitală
50
Folosind ieşirile Q i ale bistabilelor rezultă un numărător invers. Impulsurile care trebuie numărate pot avea durate diferite şi o distribuţie oarecare în timp. În general, un numărător divizor prin N numără N-1 impulsuri iar la al N-lea îl aduce la zero printr-o comandă (intrare) prioritară de tip Clear / Reset. Schemele se realizează cu numărătoare binare prevăzute cu legături de reacţie. Practic pentru o divizare cu N: - se determină numărul de celule n : 2n-1 N 2n ; - se leagă toate ieşirile Q ale CBB care la momentul N au starea 1 la intrarea unui NAND, a cărui ieşire se conectează la Clear. Ex.: divizor cu 5 = 1012 - fig. 4.41 Problema ştergerii numărătoarelor trebuie tratată cu maximă atenţie într-o schemă de comandă. În primul rând trebuie făcută la punerea sub tensiune, în caz contrar circuitul putând lua o configuraţie de biţi arbitrară. Ex.: pentru Clear activ pe 1 (CL=0: numără), un asemenea circuit poate avea configuraţia (divizor cu 9) din fig. 4.42. Semnalul UC comută din 0 în 1la atingerea configuraţiei binare de divizare; se obţine prin circuitul de derivare C2 - R2 un impuls (selectat ca polaritate de dioda D) care resetează numărătorul. Grupul C 1 - R1 face acelaşi lucru la punerea sub tensiune a schemei. Se preferă (ca şi în exemplu) activarea Reset cu impulsuri scurte, iar când acesta este inactiv trebuie să aibă un nivel logic bine fixat. Numărătoarele asincrone prezintă avantajul simplităţii schemei. Dezavantajul lor este legat de întârzierile de comutare determinate de timpii de transfer în fiecare celulă care conduc la un asincronism al ieşirilor faţă de sosirea impulsurilor de numărat. Timpul de comutare total este egal cel mult cu suma timpilor de comutare a bistabilelor. Utilizări: domeniul frecvenţelor joase:
f max
1
(4.13)
n t CBB
Extinderea capacităţii de numărare decurge din principiul construcţiei acestui tip de numărătoare - fig. 4.43. 4.2.2.2 Numărătoare sincrone Impulsul de numărat se aplică la intrările de tact ale tuturor CBB, având deci rol de semnal de ceas. Comutarea sau necomutarea celulelor este controlată printr-o logică combinaţională în funcţie de poziţia celulei respective în ansamblul numărătorului şi este sincronizată cu sosirea impulsurilor.
Fig. 4.41 Principiul divizorului cablat. Fig. 4.42 Divizor cu 9.
Fig. 4.43 Numărător asincron de 8 biţi.
Dan MIHAI – Electronică Digitală
51 O primă variantă se referă la numărătorul sincron paralel. Sinteza schemei şi modul concret de implementare al funcţiilor blocurilor combinaţionale CLCi, rezultă din observaţia (vezi secvenţele de impulsuri de la fig. 4.40) că un CBB din numărător, cu excepţia primului - care comută la fiecare impuls de ceas, comută numai atunci când toţi cei de ordin inferior sunt pe 1 logic în starea anterioară. Regula este valabilă pentru numărare înainte. La numărare inversă, o celulă comută la frontul activ al ceasului dacă toţi biţii inferiori sunt 0 logic.
Fig. 4. 44 Schema bloc a numărătorului sincron paralel. Atunci:
T0 = 1 T1 = Q0
T0 = 1 sau
T2 = Q0 Q1 Tn = Q0 Q1 ... Qn-1
T1 = T0 Q0 = Q0 T2 = T1 Q1
(4.14)
Tn = Tn-1 Qn-1
Formele din dreapta conduc la o structură mai simplă (dar mai lentă) - sub forma numărătorului sincron serie - fig. 4.45.
Fig. 4.45. Numărător sincron serie de 4 biţi. Sinteza numărătoarelor sincrone Metoda prezentată în continuare este importantă nu numai ca un instrument de obţinere a unui numărător sincron ci şi ca o cale eficientă de proiectare a unui controler cablat la care stările (etapele) sunt generate de un numărător. Se va prelucra un exemplu de sinteză cu bistabile J-K utilizând tabelele de succesiune a stărilor. Acestea deduc valorile logice ce trebuiesc aplicate la intrările J şi K ale fiecărui CBB pentru trecerea lui în starea următoare la apariţia următorului impuls de tact. Fiecare linie a tabelei conţine starea actuală şi valoarea intrărilor J şi K pentru asigurarea stării următoare. Pentru numărătorul sincron pe 3 biţi:
x - combinaţie indiferentă (0 sau 1) C - LSB numărător ; A- MSB numărător. Din tabela de succesiune a stărilor se extrag diagramele K-V pentru sinteza funcţiilor combinaţionale aferente fiecărui semnal de comandă de la celule. Rezultă schema din fig. 4.46
Dan MIHAI – Electronică Digitală
52
Fig. 5.46 Numărătorul sintetizat. Analog se procedează pentru un divizor cu N. A N - 1 linie tranzitează în 00 . . . 0; sinteza pentru JA, KA, . . , se face asemănător. La numărătoarele inverse, ceea ce diferă este secvenţa ABC. . . la care stările se succed: 000; 111; 110; 101; . . . 001; 000. Similar se pot încerca sintezele altor numărătoare şi compara structurile obţinute cu schemele de catalog. De ex., utilizând rel. (4.14) şi grupând convenabil operatorii logici (formarea de operaţii XOR), pentru un numărător sincron în binar natural se poate regăsi structura circuitului 74161 (materializare cu CBB J-K sau D). Unele numărătoare sincrone posedă şi o intrare de validare a numărării - ex. 74160. Acesta este un numărător binar zecimal sincron; sinteza lui se poate realiza cu diagrama de succesiune a stărilor. Se propun ca exerciţii sintezele numărătoarelor care lucrează în codurile:
Frecvenţele maxime de lucru ale numărătoarelor sincrone sunt date de relaţiile: fmax sincron serie
fmax sincron paralel
1 t CBB
(n 0 1
t CBB
2) t SI
t SI
(4.15)
(4.16)
4.2.2.3 Numărătoare sincrone reversibile şi presetabile Aceste numărătoare se bazează pe o schemă internă complexă relativă la numărul CLC de comandă al CBB, circuite legate şi de alte facilităţi decât cea de selecţie a sensului de numărare. Este vorba de comenzile asincrone Clear (ştergere) şi Load (încărcare). CBB utilizate trebuie să aibă posibilitatea presetării şi ştergerii
Dan MIHAI – Electronică Digitală
53 - intrări prioritare. Pot fi J-K M-S într-o conexiune D sincronă. Astfel se poate realiza încărcarea paralelă a celulelor. Semnalele specifice sunt evidenţiate în fig. 4.47: CU (Count Up) - primeşte impulsurile pentru numărare înainte; CD (Count Down) - primeşte impulsurile pentru numărare inversă; LD (Load) - comandă preluarea cuvântului extern (prescrierea); CL (Clear) - realizează ştergerea numărătorului; CY (Carry) - transport; activ când Q0=Q1=Q2=Q3 = 1 la numărare înainte; BR (Borrow) - împrumut; activ când Q0=Q1=Q2=Q3 = 0 la numărare inversă; A,B,C,D - intrări de prescriere (presetare). Încărcarea se face când LD = 0 ; CL = 1 determină Qi = 0. Formele de undă care descriu funţionarea numărătorului sunt ilustrate de fig. 4.48. Se observă că după ce semnalul LD nu mai este activ, nivelele intrărilor de prescriere A - D nu mai contează. Pentru numărare înainte, un rang comută la apariţia frontului activ dacă toţi biţii din faţă sunt în 1; pentru numărare înapoi, un rang va comuta la apariţia frontului activ dacă toţi biţii din faţă sunt în 0. 4.2.2.4 Divizoarele programabile Spre deosebire de divizoarele prezentate la începutul subcap. 4.2.2 la care modificarea divizorului implică modificarea conexiunilor aferente, divizoarele programabile permit utilizarea aceluiaşi circuit pentru diferiţi divizori, fiind deci o structură mai flexibilă. Se folosesc în mod curent 2 variante: A. Prin decrementarea divizorului Pe intrările de încărcare se aplică devizorul iar, impulsurile se aduc pe intrarea de decrementare şi se utilizează semnalul BR pentru reîncărcare. Conexiunea BR direct la LD nu este recomandabilă pentru că BR durează atât cât Qi = 0 şi anularea lui BR poate compromite încărcarea. Atunci BR este memorat pe durata unui impuls de tact de către un CBB RS - fig 4.49.
Fig. 4.47 Numărător sincron, reversibil şi presetabil.
Fig. 4.48 Secvenţa tip de numărare.
Dan MIHAI – Electronică Digitală
54
B. Cu comutatoare numerice Funcţia de numărare impulsuri pe rang zecimal (des utilizată la sistemele de poziţionare ale axelor de pe maşini unelte cu comandă numerică din primele generaţii - cu prescriere manuală a cotelor) mai poate fi implementată cu ajutorul comutatoarelor numerice, cu variante constructive în binar şi zecimal. Primele sunt avantajoase sub aspectul unui număr redus de conexiuni, dar presupun o codificare a informaţiei. Prin comutare mecanică, terminalul I este conectat cu terminalele O0, O1, O2, O3 codificate binar- fig. 4.50 a,b. Din punct de vedere constructiv, un comutator numeric (CN) este constituit dintr-un suport pe care alternează porţiuni conductoare şi porţiuni izolante dispuse pe mai multe piste pe care se deplasează contactul alunecător I. Pentru o anumită poziţie (indexată mecanic aceasta corespunde unuia dintre sectoarele figurate), se realizează legătura galvanică dintre I şi porţiunile corespunzătoare biţilor pe 1 din structura divizorului. Dacă sectorizarea este de tipul celei din fig. 4.50 b, după a 10-a poziţie intervine un opritor mecanic; dacă se folosesc sectoare de 36o, rotaţia comutatorului poate fi continuă pe 360o. Impulsurile sunt numărate direct. Până la obţinerea configuraţiei binare a divizorului cel puţin o diodă conduce, ceea ce face ca T să fie blocat. Când biţii de la numărător coincid toţi cu cei ai divizorului, diodele sunt blocate, T se saturează şi se obţine frontul descendent din colector care va trebui tratat corespunzător, fie pentru a reseta numărătorul fie pentru a semnala starea, a da comenzi în restul schemei etc. Comutatoarele numerice zecimale (decadice) folosesc 1+10 terminale şi funcţionează similar cu o cheie mecanică comutatoare cu 10 poziţii; acestea sunt însă marcate cu cifra corespunzătoare. Avantajul reducerii numărului de conexiuni în cazul numărătoarelor numerice binare este evident dacă se ţine cont că de obicei comutatoarele respective (de fixare a cotelor) sunt montate pe un panou frontal. De exemplu, pentru controlul cotei la 3 axe, fiecare cu 6 ranguri zecimale (de la sute de milimetri la sutimi de milimetru), utilizarea comutatoarelor numerice binare în locul celor zecimale conduce la diminuarea numărului de conexiuni cu: 3 x 6 x (11 - 5) = 108 - deci în mod semnificativ.
Fig. 4.49 Divizor programabil cu decrementare. Funcţia de numărare impulsuri pe rang zecimal (des utilizată la sistemele de poziţionare ale axelor de pe maşini unelte cu prescriere manuală a cotelor) mai poate fi implementată cu ajutorul comutatoarelor numerice, cu variante constructive în binar şi zecimal. Primele sunt avantajoase sub aspectul unui număr redus de conexiuni, dar presupun o codificare a informaţiei. Prin comutare mecanică, terminalul I este conectat cu terminalele O0, O1, O2, O3 codificate binar- fig. 4.50 a,b. Din punct de vedere constructiv, un comutator numeric (CN) este constituit dintr-un suport pe care alternează porţiuni conductoare şi porţiuni izolante dispuse pe mai multe piste pe care se deplasează contactul alunecător I. Pentru o anumită poziţie (indexată mecanic aceasta corespunde unuia dintre sectoarele figurate), se realizează legătura galvanică dintre I şi porţiunile corespunzătoare biţilor pe 1 din structura divizorului. Dacă sectorizarea este de tipul celei din fig. 4.50 b, după a 10-a poziţie intervine un opritor mecanic; dacă se folosesc sectoare de 360, rotaţia comutatorului poate fi continuă pe 3600. Fig. 4.50 Divizor programabil cu comutator numeric.
Dan MIHAI – Electronică Digitală
55 Cascadarea numărătoarelor sincrone se face realizând conexiunile CYi - CUi+1 şi BR i - CDi +1. Numărătorul de capacitate mărită rezultat este însă cvasi-sincron; biţii b0. . . b3 comută de la ceasul de la intrare iar b4 - b7 comută cu un ceas întârziat de propagarea printr-o poartă faţă de cel de la primii biţi ş. a. m. d.. Există şi variante constructive (74169) care permit realizarea unor numărătoare sincrone cu mai mult de 4 biţi. 4.2.3 Registre Registrele sunt circuite electronice care permit stocarea şi / sau deplasarea unor cuvinte în cod binar. Pot fi de mai multe tipuri: - registre de deplasare; - registre de memorie; - registre combinate; - registre universale. În principiu, un CBB M-S poate fi extins prin cascadare formând o structură cu numar par de latch - uri. Se obţine un registru de deplasare serie. Cu alte configuraţii se poate realiza o extensie serie - paralel sub forma registrului paralel de stocare. Cu ajutorul a patru bistabile D şi a unor reţele combinaţionale se pot obţine atât registre serie cât şi paralel cu funcţia controlată prin intrări de selecţie. 4.2.3.1 Registrul serie Într-o varianta cu CBB-D, un astfel de registru are schema din fig. 4.51. Semnalul de ieşire va fi identic cu cel de intrare, dar întârziat cu un numar de perioade de tact egal cu numarul de celule ale registrului fig. 4.52. Structura de principiu din fig. 4.51 este dezvoltată sub forma unei cascade de CBB M-S, ca în fig. 4.53. M sunt simultan deschise pentru CLK = 0, iar S sunt închise în acest interval. Pentru CLK = 1, situaţia se inversează.
Fig. 4.51 Structura registrului serie cu CBB D.
Fig. 4.52 Funcţionarea unui registru serie de 4 biţi.
Fig. 4.53 Registrul de deplasare cu CBB M-S.
Dan MIHAI – Electronică Digitală
56 Deci în nici un moment nu există o cale combinaţională deschisă între DIN şi DOUT, fapt ce permite controlul deplasării datelor în registru. Pentru CLK = 0, circuitele Sk se "varsă" în Mk+1, conţinutul S3 se pierde iar în M0 se încarcă DIN. Pentru CLK = 1 se varsă Mk în Sk. Master propriu-zis nu este decât M0 iar slave propriu-zis este S3, celelalte latch-uri putând fi privite şi ca tip M şi ca tip S. CBB - D se pot realiza din CBB R-S sau J-K: D IN
S0 (J 0 ); Q i
Si 1 (J i 1 ); Q 3
D OUT
D
IN
R1 (J1 ); Q i
Ri 1 (J i 1 ); Q 3
registru de deplasare spre dreapta
D IN
S3 (J 3 ); Q i
Si-1 (J i-1 ); Q 0
D
R3 (J 3 ); Q i
Ri-1 (J i-1 )
(4.17)
Dacă:
IN
D OUT
(4.18)
registru de deplasare spre stanga
Registrele serie pot fi utilizate ca memorii cu acces serie (SAM). 4.2.3.2 Registrul de memorie (paralel) Acest tip de registru este o colecţie de CBB D acţionate sincron de un ceas comun. Asigură stocarea temporară a unor configuraţii binare, putând fi privit ca memoria zonelor de viteză maximă într-un sistem digital. Schema unui registru paralel de 4 biţi este redată în fig. 4.54. Cu CBB D sincrone pe frontul anterior, informaţia se înscrie la apariţia acestei tranziţii (comanda WR - Write) şi rămâne neschimbată atât pe valoarea 0 cât şi pe valoarea 1 a CLK. Se memorează astfel cuvântul de cod prezent la intrare în momentul tranziţiei din 0 în 1. Dacă celulele sunt CBB D - latch, atunci pe valoarea 1 a impulsului de comandă (LSI Latch Strobe Input) registrul devine transparent (ieşirea copiază intrarea). Când LSI trece din 1 în 0, celulele D se zăvorăsc pe valoarea din acel moment a intrărilor şi menţin această valoare pe toată durata cât LSI = 0. Când celulele sunt realizate cu CBB D - MS, în registru se va memora informaţia de la intrare în momentul trecerii din 1 în 0 şi se păstrează până la trecerea din 0 în 1 a ceasului. 4.2.3.2 Registrul serie - paralel Fig. 4.55 evidenţiază faptul că fiecare CBB trebuie să poată primi datele din două surse: - CBB anterior la modul de lucru serie; - exteriorul, la modul de lucru paralel. Multiplexarea acestor două surse la intrarea fiecărui CBB D este asigurată de circuite combinaţionale. Când semnalul S/P = 0, se deschid circuitele §I care permit accesul datelor I0-I3 în bistabilele corespunzătoare şi la aplicarea impulsului de tact, registrul se încarcă paralel. Dacă S/P = 1, registrul realizează o deplasare serie de la stânga la dreapta o dată cu aplicarea impulsului de ceas.
Fig. 4.54 Registru paralel de 4 biţi.
Dan MIHAI – Electronică Digitală
57
Alte tipuri de registre: - registre de memorie multiport, utilizabile la constituirea memoriilor RAM; - registrul universal, care cumulează funcţiile tuturor registrelor anterioare: - deplasare ; - încărcare paralelă; - citire serie sau paralelă a informatiei. Posedă de obicei şi o intrare asincronă de ştergere - CLEAR. Utilizări ale registrelor: - constituirea blocurilor de memorie RAM, LIFO, FIFO; - convertoare serie-paralel şi paralel-serie pentru informaţie binară; - generatoare de secvenţe binare aleatoare sau deterministe; - numărătoare în inel (din registre de deplasare cu reacţie); - blocuri pentru realizarea înmulţirii şi împărţirii binare cu o putere a lui 2; - blocuri pentru sincronizarea semnalelor; - în construcţia microprocesoarelor. Exemplu (fig. 4.56): convertor paralel-serie a unor cuvinte de 8 biţi. MC este semnalul de comandă pentru mod comutare serie-paralel. Funcţionare: S/P = 1 : registrul, pe frontul negativ al ceasului, se încarcă paralel, pe DOUT fiind generat D0. În urmatoarele 7 impulsuri de ceas, pe durata cât S/P = 0, la ieşirea DOUT vor fi generate succesiv D1, D2 , ..., D7 , ciclul repetându-se.
Fig. 4.55 Registrul serie-paralel.
Fig. 4.56 Convertor paralel-serie cu registrul 7495. 4.2.4 Memorii Posibilitatea de regăsire a unor informaţii reprezentate sub formă binară care au fost anterior stocate defineşte funcţia de memorare. upă suportul fizic utilizat pentru stocarea datelor, există memorii magnetice, memorii optice, memorii semiconductoare. Regăsirea unei informaţii stocate necesită furnizarea unor
Dan MIHAI – Electronică Digitală
58 semnale privind locul unde se găseste această informaţie. Aceste semnale de intrare pentru circuitul de memorie se numesc adrese - fig. 4.57. Transferul de date poate fi bidirecţional (RAM, E2PROM) sau unidirecţional (ROM, PROM, EPROM).
Fig. 4.57 Semnalele asociate unei memorii. Caracteristicile unei memorii: - geometria sau modul de organizare a memoriei este reprezentat de lungimea unui cuvânt şi de numărul cuvintelor memorate; - capacitatea memoriei: numărul de biţi ce pot fi memoraţi - se exprimă în Kb (1Kb = 1024 biţi); - timpul de acces la memorie, dat în [ms] sau [ns], este timpul necesar pentru citirea sau înscrierea unor informaţii; - puterea consumată raportată [mW/ bit]; - volatilitate - pierderea informaţiei se poate datora modului de stocare (memorii dinamice) sau datorită dispariţiei tensiunilor de alimentare ale circuitului. 4.2.4.1 Memorii implementate prin registre Memoria FIFO (First In First Out) Primul cuvânt înscris va fi primul citit. Numărul registrelor este determinat de lungimea cuvântului de memorat. Pentru cuvinte de 4 biţi, o structură de memorie FIFO este redată în fig. 4.58. Capacitatea memoriei FIFO (numărul cuvintelor memorate) este dată de lungimea registrelor (numărul de celule binare din care este format registrul). Memoria LIFO (Last In First Out) LIFO este o memorie stivă, ultimul cuvânt înscris fiind primul citit. Se realizează cu ajutorul unor registre universale - fig. 4.59. Numărul registrelor este determinat de lungimea cuvântului de memorat. Fig. 4.60 sugerează modul de lucru al memoriei LIFO. La primul impuls de tact cuvântul X1 X2 X3 X4 se înscrie în celulele Qi dacă acestea sunt selectate să facă deplasarea sus - jos (stânga - dreapta). Pentru citire se dă comanda de deplasare dreapta - stânga (jos - sus) ceea ce asigură citirea cuvintelor în ordine inversă scrierii. Memoria stivă se poate organiza şi software în RAM. Este utilizată pentru stocarea adreselor întreruperilor succesive din rularea unui program.
Fig. 4.58 Structură FIFO.
Dan MIHAI – Electronică Digitală
59
Fig. 4.59 Structură LIFO.
Fig. 4.60 Deplasarea datelor în memoria LIFO. 4.2.4.2 Memoria ROM ROM (Read Only Memory - memorie numai pentru citit) sunt circuite de memorie al căror conţinut este fix, nemodificabil în timpul utilizării. Structural şi funcţional ROM este un convertor de cod compus dintr-un DCD şi un CD. Cele n linii de adresă sunt decodificate în m = 2 n linii de cuvânt, iar CD, care constituie matricea de memorie, furnizează la ieşire m cuvinte de câte k biţi.
.
Fig. 4.61 Structura memoriei ROM. Memoriile ROM bipolare Aceste memorii au timpi de acces foarte mici (zeci de ns). Pot fi programabile la producător prin mască (se realizează unele legături electrice în interior în conformitate cu cerinţele aplicaţiei) sau la utilizator, prin proceduri de programare - în acest caz numindu-se PROM. În fig. 4.62 se reprezintă partea corespunzatoare a unei linii de cuvânt pentru codificator. Elementele care se programează sunt pelicule subţiri de crom - nichel (f1, f2 ,f3, f4) deci care pot fi întrerupte sau nu de utilizator prin trecerea unui curent de programare I p relativ intens (zeci, sute de mA) şi de scurtă durată (zeci de ms) prin circuitul marcat. Diodele impiedică ramificarea curentului de programare. Pentru programarea cuvântului 1010 de ex., se întrerup f 3 şi f1. Legăturile întrerupte nu se mai pot reface, eventual se poate modifica conţinutul unor biţi de pe 0 pe 1.
Dan MIHAI – Electronică Digitală
60
Memoriile ROM în tehnologie unipolară Aceste memorii de asemenea se pot programa prin mască sau la utilizator. La programarea prin mască, întâi se realizează toate tranzistoarele MOS din nodurile matricei codificatorului, cu excepţia depunerii stratului izolant al porţii şi al electrodului poartă. Apoi tranzistoarele inactive (prin program) se realizează cu o grosime mai mare a stratului izolant al porţii, ramânând blocate, indiferent de nivelul logic aplicat la linia de cuvânt Wp. Tranzistoarele active vor avea o grosime mai mică a stratului izolant. Ts sunt tranzistoarele de sarcină (fig. 4.63). Memoriile fixe programabile EPROM (Erasable PROM - PROM cu ştergere) numite şi REPROM, UVPROM se bazează pe folosirea unei porţi flotante neconectate la circuitul exterior şi plasată izolat între poarta propriu-zisă şi substrat. Dacă tranzistoarele sunt NMOS, încărcarea porţii flotante cu o sarcină negativă echivalează cu creşterea tensiunii de prag poartă - sursă. Această creştere poate fi atât de mare încât tranzistorul rămâne blocat chiar dacă la poartă se aplică un potenţial corespunzător nivelului logic superior. Deci încărcarea cu sarcină negativă a porţii flotante duce la dezactivarea lui. Prin programare, utilizatorul dezactivează unele tranzistoare din nodurile matricei codificatoare. Ştergerea informaţiei înscrise (readucerea tuturor tranzistoarelor în stare activă) se face prin iradierea matricei de memorie cu ultraviolete prin fereastra de cuarţ cu care este prevazută capsula. Operaţiile ştergere - reprogramare se pot repeta. Memoriile EAROM (Electricaly Alterable ROM - ROM cu modificare pe cale electrică) au posibilitatea ştergerii pe cale electrică. Memoria KEPROM foloseşte un mecanism de protecţie a datelor stocate pentru a creşte securitatea sistemelor şi a soft - ului la utilizarea neautorizată. Conţinutul memoriei este accesibil numai acelor utilizatori care pot fi identificaţi printr-o secvenţă de iniţializare numită "handshake" (strângere de mână, în sensul de dialog) de autentificare. Memoria E2PROM utilizează efectul tunel şi face posibilă de asemenea ştergerea pe cale electrică a informaţiei. Se prezintă în fig. 4.64 un model de structură internă a unei memorii ROM: circuitul Intel 2708 de 1024 x 8 biţi (8 kbiţi). Selecţia unui cuvânt de ieşire de 8 biţi nu se face cu un DCD cu 1024 linii, ci - mai economic - cu un DCD cu 128 linii şi 8 MUX cu câte 8 căi permit selectarea sau deselectarea capsulei prin intermediul a 8 amplificatoare de ieşire care sunt prevăzute cu ieşire tip colector în gol sau cu trei stări logice. Acestea pot face posibilă conectarea memoriei la magistrala de date. Cu un număr sporit de capsule se pot extinde capacităţile de memorare – fig. 4.65. Se poate extinde partea de adresă păstrând dimensiunea cuvântului de ieşire, dar este posibilă şi creşterea capacităţii simultan cu a dimensiunii cuvântului de ieşire.
Fig. 4.62 Principiul programării PROM.
Fig. 4.63 Structura de principiu la ROM unipolar.
Dan MIHAI – Electronică Digitală
61
Fig. 4.64 Exemplu de structură internă PROM.
Fig. 4.65 Exemplu de extindere ROM. Aplicaţii ROM: - memorare instrucţiuni şi date; - implementarea CLC cu număr mare de intrări şi cu mai multe ieşiri; - conversia de cod, în special în domeniul sistemelor de afişare generatoarelor de caractere pentru afişare pe tub catodic; - generarea unor secvenţe de impulsuri.
prin 35 de puncte, 7 segmente, al
4.2.4.3 Memoria RAM RAM (Random Acces Memory - memorie cu acces aleator) este o memorie pentru scriere şi citire care poate stoca o mare cantitate de informaţie binară, cu posibilitate de a selecta o adresă "arbitrar aleasă" în acelaşi interval de timp. Apare evidentă deosebirea între aceste memorii şi cele implementate prin registre de deplasare, la care timpul de acces depinde de adresa selectată. Informaţia este stocată în celule de memorie, adresa unei locaţii fiind obţinută prin decodificatoarele de adresă ale celor doua axe de selecţie - fig. 4.66. Înscrierea informaţiei, citirea acesteia şi validarea accesului la memorie sunt controlate de circuite suplimentare (fig. 4.67). Circuitele de memorie utilizate sunt în principiu CBB realizate în variantă bipolară sau MOS. Memoriile realizate în tehnologie unipolară sunt de două tipuri: - memorii statice, la care elementul de memorare este realizat cu un latch, deci cu o structură logică digitală;
Dan MIHAI – Electronică Digitală
62
Fig. 4.66 Structura memoriei RAM.
Fig. 4.67 Circuite de control pentru RAM. - memorii dinamice, la care elementul de memorare este realizat cu ajutorul unei capacităţi ce reţine un timp limitat o sarcină ce depăşeşte un anumit nivel. Sunt necesare în acest caz circuite suplimentare ce asigură regenerarea informaţiei stocate în reţeaua de condensatoare. Cel puţin o dată la 2 ms (timpul maxim în care variaţia sarcinii pe condensatorul de memorare este suficient de mică pentru a nu modifica nivelul logic dat de potenţialul pe condensator) se face acces la fiecare celulă (ciclul refresh - reîmprospătare). Din punct de vedere al adresării, se deosebesc două soluţii - fig. 4.68: - cu 2n pini de adresă (cazul memoriilor rapide, de regulă statice); - cu n pini de adresă (pentru memoriile dinamice MOS, cu performanţe de viteză nu prea mari). Intervin următoarele semnale:
WE (write enable) - condiţionează scrierea în memorie; CS (chip select) - condiţionează selectarea circuitului; LCLK ( RAS - row adress select) - permite accesul adresei de linie; CCLK ( CAS - column adress select) - permite accesul adresei de coloană; DIN - intrare de date; DOUT - ieşire de date. La aceeaşi capacitate, varianta a 2-a este mai lentă deoarece selectarea unei celule se realizează în 2 etape; se depune adresa pentru linie şi apoi adresa pentru coloană. Memoria este în schimb mai ieftină (număr redus de pini).
Fig. 4.68 Moduri de adresare RAM.
Dan MIHAI – Electronică Digitală
63
Extinderea RAM se face după aceleaşi principii ca la memoria ROM. Se produc circuite de memorie cu o singură cale de date (organizate pe cuvinte de un bit) şi cu mai multe căi de date (cuvinte de 4 sau 8 biţi). Configuraţii uzuale: RAM static: - 256 x 1; - 256 x 4; - 256 x 8; - 1024 x 1; - 1024 x 4; - 4056 x 1; - 16384 x 1;
RAM dinamic - 1024 x 1 - 4056 x 1 - 16384 x 1 - 65356 x 1 - 262144 x 1
În aplicaţiile curente prelucrarea şi stocarea datelor se face în configuraţii de 8, 16, 32 şi chiar 64 de biţi, iar capacităţile de memorie pot depăşi 1 MW (megacuvânt). Este necesară în aceste condiţii construirea unei reţele complexe de memorii prin extinderea atât a cuvântului de memorie, cât şi a numărului de locaţii. De asemenea se utilizează divizarea ariilor de memorie în pagini selectabile.
Cap. 5 Circuite logice fizice Structurile logice prezentate în capitolele anterioare se pot realiza folosind diferite tipuri de circuite fizice. Cunoaşterea caracteristicilor şi a elementelor practice de utilizare a acestora constituie o condiţie necesară pentru o funcţionare corectă (fără hazard) a structurilor respective. Principiul constructiv nu este unicul de clasificare al circuitelor logice (CL) şi ţine mai mult de evoluţia lor în timp, de la relee şi dispozitive semiconductoare discrete, la circuite integrate şi microprocesoare (logica programată). Există şi clase particulare de CL: cu miezuri magnetice, cu diode tunel, cu cuplare prin sarcină -CCD, cu elemente fluidice etc. După logica adoptată CL pot fi în logică pozitivă (1 atribuit potenţialului înalt) sau în logică negativă (0 atribut potenţialului înalt). Practic se utilizează aproape numai logica pozitivă. De asemenea logica poate fi în tensiune (nivel) sau în curent. 5.1 Circuite logice cu contacte şi relee Utilizarea lor persistă în aplicaţiile industriale, la o scară din ce în ce mai mică; prezentarea lor se justifică însă datorită unei simbolistici intuitive asociată lor şi generalizată la alte tipuri de structuri digitale (de ex. limbajul LADDER pentru automate programabile). De asemenea comutaţia dinamică deţine încă o pondere importantă în domeniul puterilor mari. Simboluri:
Reguli de bază: 1. O funcţie logică
f(x1, x2, ..., xn, , ) se
poate transpune într-o
f (x1, x2, ..., xn, , ) - schemă cu topologie identică. 2 – 7: fig. 5.1.
funcţie echivalentă logic
Dan MIHAI – Electronică Digitală
64
5.2 Circuite logice cu diode şi tranzistoare Nu se mai utilizează ca familie distinctă completă funcţional datorită unor performanţe scăzute (consum, volum mari), ci local, permiţând prin mijloace simple realizarea simultană a unor funcţii logice cu conectarea funcţională a unor module, subsisteme, semnale. Folosesc logica în tensiune. Tranzistoarele se aleg şi se polarizează pentru a lucra într-un regim de comutaţie cât mai net (saturat - blocat). Configuraţiile tip şi funcţiile asociate sunt redate în fig. 5.2 – 5.4. Exemple de diode pentru comutaţie: 1N4148, 1N914; tranzistoare de comutaţie: 2N2222, 2N2219, 2N2904, 2N2905 etc.
Fig. 5.1 Reguli de echivalenţă pentru circuite cu contacte.
Fig. 5.2 Circuite logice cu diode şi cu tranzistoare npn.
Fig. 5.3Funcţii logice asociate tranzistoarelor pnp în comutaţie.
Dan MIHAI – Electronică Digitală
65
Fig. 5.4Funcţii logice realizate cu diode şi tranzistoare. 5.3 Circuite logice integrate Circuitele integrate au parcurs mai multe etape, după densitatea de integrare realizată (SSI, MSI, LSI, VLSI) şi după structura internă, în funcţie de care se deosebesc familiile: DTL, TTL, ECL, MOS, CCD. În cadrul fiecărei familii se disting subfamilii caracterizate prin anumiţi parametri dinamici şi energetici. În viitor se va trece probabil de la tehnologia siliciului la tehnologia arseniură de galiu, circuite optice, neuronale. Principalele aspecte care trebuie avute în vedere se referă la: A. Caracteristica de transfer intrare-ieşire şi legat de ea imunitatea la perturbaţii, marginea de zgomot. B. Factorii de conexiune la intrare şi la ieşire FI, FO; C. Timpul de propagare = 1/2 ( HL + LH ) [ns]; D. Puterea disipată (de obicei pe poartă) Pd [mW]; Un criteriu global de apreciere comparativă îl constituie factorul de calitate, sau de merit PQ = Pd .t [pJ]. Ex. de valori: TTL - 100; CMOS - 3; neuron - 0,2. 5.3.1 Familia TTL (Transistor Transistor Logic) Fig. 5.5 prezintă poarta fundamentală TTL. T1 multiemitor asigură funcţia logică ŞI; T2 este amplificator intermediar iar T3, T4 constituie un etaj final în contratimp. Dacă U1 şi U2 = 1 (peste 3,5 Vşi sub 5 V), joncţiunile BE (T1) sunt blocate, VT1 =3.VBE = 2,1 V. Joncţiunea CB (T1) este direct polarizată, acesta are o funcţionare în regim invers, VC2 = 0,7 + 0,2 = 0,9 V insuficient pentru conducţia T4 + D şi cu T3 saturat U0 = 0,2 V 0 logic. Dacă Ui = 0, joncţiunea BEi (T1) conduce, VB1=0,2+0,7=0,9 V- insuficient pentru conducţia CB (T1) şi BE (T2) înseriate. T2 blocat T3 blocat VCT2 = 5V conducţia T4 + D U0 = 1. Nivelele logice - sunt dictate de caracteristica de transfer a porţii - fig. 5.6. Valorile definesc plajele pentru care starea circuitelor logice este perfect determinată, în intrări şi ieşiri. În afara acestor plaje, circuitul logic este într-o stare nedeterminată. Marginea de zgomot - este diferenţa între valorile tensiunilor garantate pentru stările logice ale circuitului care comandă şi valorile tensiunilor permise ale unui circuit de acelaşi tip comandat - fig. 5.7. 1 = VOH min - VIH min = 0,4 V 1 = VOL max - VIL max = - 0,4 V Deci familia TTL asigură o margine de zgomot în c.c. de 0,4 V. Se mai numeşte margine de zgomot garantată şi este legată de faptul că plajele de recunoaştere ale nivelelor logice L şi H, trebuie să fie mai largi ca plajele nivelelor de ieşire, o ieşire putând fi în general legată la intrarea altei porţi. Imunitatea la zgomot - este o margine de zgomot medie, având valoarea de cca 1 V sau mai mult (fig. 5.8). Timpul de propagare este de cca 10 ns, crescând dacă ZL are caracter capacitiv. Se determină ca media dintre timpul de comutare H-L şi timpul de comutare L-H (fig. 5.9).
Dan MIHAI – Electronică Digitală
66
Fig. 5.5 Poarta fundamentală TTL. Fig. 5.6 Plajele asociate nivelelor logice.
Fig. 5.7 Definirea marginii de zgomot.
Fig. 5.8 Relativ la imunitatea la zgomot.
Fig. 5.9 Timpii de comutaţie. Puterea disipată: 10 mW/poartă (ca valoare medie faţă de UL şi UH la un factor de umplere de 50% şi la frecvenţe relativ joase ). PD med = ICC med .VCC ICC med = (ICC H + ICC L) / 2 - toate porţile (circuitele) din capsulă la "0" ieşire. Încărcarea în curent (la intrare şi ieşire):
Factorul de conexiune FO (fan - out) este numărul de intrări care pot fi comandate simultan de ieşirea unei porţi.
Dan MIHAI – Electronică Digitală
Pentru VO = 0 : VO = 1 :
67
NL = I OL max / I IL max NH = I OH max / I IH max
FO = min (NL, NH ); FO TTL standard = 10 Depăşirea FO poate conduce la tensiuni în afara plajelor permise pentru "0" sau "1". Există porţi numite buffere (de putere, tampon) cu FO > 10, folosind la ieşire un tranzistor de putere - fig 5.10. Circuitele de acest tip asigură curent de ieşiremare şi posibilitatea de a utiliza o tensiune superioară nivelelor Vcc. Codificare comercială SN 74 LS 00 N: referinţă – exemplu; SN = sigla firmei (aici Texas Instruments) 74 = seria 54 = seria militară 74 = seria comercială LS = tip subfamilie 00 = tip circuit N = tip capsulă J (DIL 14,16) ceramic L (DIL 18) N plastic (DIL 20, 24, 28, 40) DIL = pini în linie (Dual In Line); devenit şi DIP–Dual In Package. În România s-a fabricat familia de circuite integrate TTL cu codul CDB 4xx. Temperatura de lucru: 0 ... 70 o C seria comercială - 55 o ... 125 o C seria militară Tensiuni de alimentare: 4,75 - 5,25 V seria comercială 4,5 - 5,5 V seria militară. Intrări neutilizate Pentru timpi de propagare buni şi imunitate la zgomot optimă, intrările neutilizate se menţin la 1 logic, folosind o sursă de tensiune separată de 2,4 - 3,5 V sau cuplându-le printr-o rezistenţă de 1 k la Vcc. Conectarea la masă a intrărilor se recomandă pentru reducerea consumului. O soluţie mai simplă este sugerată în fig. 5.11.
Fig. 5.10 Exemplu de utilizare buffer-driver.
Fig. 5.11 Tratare a intărilor neutilizate.
Porţi logice cu colectorul în gol (Open Collector) - permit realizarea funcţiei ŞI cablat prin conectarea în paralel a ieşirilor - fig. 5.12 (conexiune strict interzisă pentru porţi normale). Rezistenţa comună externă se calculează astfel:
R L max
VCC min m I OH max
VOH min N I IH max
; R L min
VCC max I OL
max
VOL max N I IL max
m = numărul de unităţi ale căror ieşiri se cuplează în paralel; N = numărul de unităţi de sarcină (intrări comandate).
Fig. 5.12 ŞI cablat.
Dan MIHAI – Electronică Digitală
68
Pentru circuitele open-collector, ieşirea este activă pe nivel jos, alimentarea sarcinii fiind externă. Unele circuite TTL conţin un trigger Schmitt şi pot asigura astfel tratarea unor fronturi lente prin comutări ferme, seriile obişnuite putând genera la ieşire semnale false datorită unor fenomene de oscilaţie. Circuitele TTL cu trigger Schmitt sunt caracterizate prin existenţa unui histerezis care conduce la mărirea marginii de zgomot în c.c. Un alt aspect important care trebuie avut în vedere la utilizarea circuitelor TTL este calitatea sursei de alimentare. Aceasta trebuie bine filtrată şi stabilizată, să aibă o rezistenţă de ieşire cât mai mică şi să fie larg supradimensionată faţa de Icc calculat - aspect evidenţiat de fig. 5.13 în legătură cu comutarea etajului final TTL. Timp de aproximativ 2 ns, cei 2 tranzistori finali conduc şi Vcc trebuie să asigure un vârf de curent cu atât mai mare cu cât Fig. 5.13 Curent de ZL are capacitate mai mare (incluzând capacităţi parazite ale cablajului). Dacă comutare. multe circuite comută simultan, tensiunea de autoinducţie L.di / dt este foarte mare timp de aproximativ 2 ns (L inductanţa repartizată a liniei) şi apare un gol în V cc pe linie, de unde necesitatea unor capacităţi 0,01 - 0,1 F între Vcc şi masă pentru fiecare circuit. Subfamilii TTL Subfamilia TTL rapidă (HTTL) este caracterizată prin timpi de comutare mai mici (6 ns) obţinuţi prin utilizarea unei structuri particulare şi a unor valori ohmice reduse ale rezistenţelor. Subfamilia TTL Schottky (74S) evită fenomenele de saturaţie prin folosirea în schemă a unei diode Schottky. Timpul de propagare se reduce la 3 ns în condiţiile creşterii puterii disipate pe poartă la 20 mW. Subfamilia TTL de putere redusă (74 L) se caracterizează printr-un consum redus în detrimentul parametrilor dinamici. Există varianta combinată 74LS - rapidă şi de putere redusă. Subfamilia TSL (Three State logic - cu trei stări logice), constituie o alternativă bună de cuplare a porţilor în paralel, fiind utilizată de exemplu la transmiterea de informaţie pe o magistrală comună de date - fig. 4.14, 5.15 . Schema internă face ca la, tranzistoarele din etajul final să nu conducă nici unul. Faţă de porţile cu colectorul în gol, nu este necesar RL iar în starea HZ nu încarcă circuitele cu care este cuplat. Aplicaţii: circulaţia bidirecţională a informaţiei la / de la "bus" comun, reducerea numărului de intrări - ieşiri I /O ale unui circuit - fig. 5.15.
Fig. 5.14 Funcţionarea circuitelor cu 3 stări logice.
Fig. 5.15 Echivalenţă funcţională şi exemplu de utilizare pentru circuite TSL.
Dan MIHAI – Electronică Digitală
69
5.3.2 Familii de circuite integrate MOS Circuitele integrate MOS (Metal Oxide Semiconductor) utilizează tranzistoare cu efect de câmp (FETField Effect Transistor), de unde caracteristicile principale: rezistenţă de intrare foarte mare, consumuri reduse, densitate mare. În schimb parametrii dinamici sunt mai slabi. Subfamiliile cu utilizare industrială cea mai largă sunt CMOS (Complementary MOS) şi LOCMOS (Local Oxidation CMOS), ultima fiind o variantă CMOS cu imunitate la zgomot mărită, obţinută printr-o oxidare locală suplimentară. De asemenea multe microprocesoare şi componente din arhitectura microsistemelor se construiesc în tehnologie MOS şi chiar CMOS. Elementele de bază relative la funcţionarea în comutaţie a tranzistoarelor MOS sunt reamintite în fig. 5.16. În aplicaţiile industriale unde este esenţială o comportare bună la perturbaţii, subfamilia CMOS (şi mai ales seria LOCMOS) s-a impus în faţa altor circuite cu nivele logice ridicate (HLL - High Level Logic) : FZH 100 - Siemens, MC 600 - Motorola etc. Subfamilia CMOS Se bazează pe o structură complementară, poarta fundamentală NU fiind realizată dintr-un tranzistor cu efect de câmp cu canal p şi unul cu canal n. Utilizând tranzistoare complementare, procedura de fabricare este mai complexă iar gradul de integrare nu prea ridicat - adecvat pentru circuite SSI şi MSI. Aceasta comparativ cu structurile HMOS sau PMOS. Produsă iniţial de RCA, seria standard are codul 4000 (CD, MC, MMC - Microelectronica Bucureşti). Merită menţionat că firma National Semiconductor a dezvoltat o serie CMOS (74C00) cu schemă de conexiune externă identică cu cea de la circuitele TTL având aceleaşi funcţii. Ri 1010 - 1012 implică IIL IH 0 ( neglijabili). I0 ţine cont de RDS ( 1 k ). IOH nu trebuie să determine pe RDS o cădere de tensiune prea mare (ar altera VOH) iar IOL nu trebuie să determine o creştere prea mare a lui VOL. În aceste condiţii, nivelele logice CMOS sunt foarte aproape de 0 V (L) şi VDD (H) - fig. 5.18. CMOS este familia logică cu parametrii cei mai apropiaţi de valorile ideale.
Fig. 5.16 Regimurile saturat – blocat la tranzistoarele MOS.
Fig. 5.17 Poarta fundamentală CMOS şi comutarea ei.
Fig. 5.18 Nivelele logice CMOS.
Dan MIHAI – Electronică Digitală
70
Caracteristici: Alimentare: 3 VDD 15 V (4000 A) şi 3 VDD 18V (4000B). Cu cât tensiunea este mai aproape de pragul superior, cu atât se impun condiţii de stabilitate ale sursei mai severe. Valoarea minimă a tensiunii are implicaţii asupra vitezei şi imunităţii la zgomot. Deşi nu se cer filtraje pretenţioase (se admit variaţii între 10 şi 20% din valoarea nominală), se recomandă folosirea pe fiecare placă CMOS a unor condensatoare 0,01 - 0,1 F pentru decuplarea căilor de zgomot. Ex: VDD = 5 V - oricare ar fi V < VIL max = 1,5 V, va fi nivel logic jos; - oricare ar fi V > VIH min = 3,5 V, va fi nivel logic sus. Consum: - Static: foarte redus. La orice stare a ieşirii există totdeauna o rezistenţă ridicată între VDD şi masă. - Dinamic: la comutarea de la 0 la 1, un curent de sarcină însemnat (tranzitoriu) este furnizat condensatorului de sarcină (sarcina externă plus capacitatea de ieşire a circuitului integrat). VDD trimite vârfuri scurte de curent (5 mA / 20-30 ns) şi când frecvenţa creşte, media acestor curenţi va fi mai mare, deci IDD creşte. - Sarcina maximă este de 10 mA pentru porţi standard şi 45 mA pentru porţi buffer. Marea majoritate a circuitelor din această familie sunt buferate. Circuitele CMOS posedă o protecţie intrinsecă la scurtcircuit pe perioade scurte de timp şi la valori reduse VDD. - Factorul de conexiune la ieşire (FO) - este 100 (tipic), limitări ale lui fiind dictate de scăderea vitezei de comutare. - Putere disipată : în regim staţionar: 10 nW / poartă (în regim dinamic depinde de VDD, frecvenţă, ZL; tipic 10 mW / poartă la 1MHz , 50 pF - ZL ). - Marginea de zgomot de c.a. este 45% din UH şi UL. Marginea de zgomot de c.c. garantată : 1 V ( indiferent de tensiune, temperatură ); - Imunitatea la zgomot depinde de VDD, FI, FO, capacităţi şi inductanţe parazite, surse de zgomot, frecvenţa de lucru. VNH = VOH min - VIH min = 30% VDD VNL = VIL max - VOLmax = 30% VDD Tipic, se poate atinge o imunitate la zgomot de 45% VDD. Pentru circuitele CMOS se pot defini imunităţile la zgomot: - în c.c. = valoarea maximă a tensiunii care poate apare la intrare fără a provoca comutare. CMOS rejectează impulsurile parazite egale cu 45% din VDD (garantat 30%). - în c.a. - arată dependenţa timpilor de propagare şi a frontului la ieşire de amplitudinea şi durata impulsului parazit. - energetică - ia în considerare efectele amplitudinii zgomotului, influienţa impendanţei liniei de semnal, timpul de răspuns al circuitului şi durata zgomotului. - Timp de propagare: (25 ns - 50 ns) - dependent de VDD (VDD creşte, tc scade, iar Pd creşte). Viteza de comutare mai redusă se datorează grupului RDS - C. Dacă VDD creşte, RDS şi tc scad. - Conectarea în paralel - este posibilă pentru porţi de acelaşi tip, mărindu-se curentul debitat sau absorbit. Se îmbunătăţesc simultan performanţele de viteză. Este recomandabilă conectarea în paralel a porţilor din acceaşi capsulă. Nu este permisă conexiunea SAU cablat. - Interconectarea circuitelor CMOS - se analizează din punct de vedere al frecvenţei maxime care poate fi transmisă în funcţie de lungimea liniilor (de exemplu cablu răsucit), conservând imunitatea la zgomot. Pentru aplicaţii de putere echivalentul open-collector de la familia TTL este circuitul cu drena în gol (open drain), care poate comanda alte circuite şi prin intermediul unor linii mai lungi.
Dan MIHAI – Electronică Digitală
71 - Agăţarea (latch - up). Operarea cu circuite CMOS către valorile maxime ale parametrilor poate amorsa un efect parazit de tiristor denumit latch-up, care declanşat poate duce la distrugerea dispozitivului. Un bloc fundamental al seriei îl constituie poarta de transmisie, care se comportă ca un comutator cu A variabilă de control. Conţine 2 tranzistoare conectate în paralel. I trebuie să fie pozitiv în raport cu VSS de la tranzistorul cu canal n şi negativă în raport cu substratul VDD al tranzistorului cu canal p. I poate fi în toată gama tensiunilor de alimentare iar sensul de curgere al curentului prin poartă este bidirecţional.
Fig. 5.19 Poarta de transmisie CMOS. Interfaţarea cu alte circuite Fig. 5.20 prezintă elementele implicate în interfaţarea cu circuite integrate din familia TTL. Pentru conectarea CMOS -TTL de putere, se utilizează buffere MMC 4049, 4050 sau open - drain 40107. Conectarea amplificatoarelor operaţionale (AO) la circuite CMOS se realizează cu un montaj ca cel din fig. 5.21. Diodele de limitare menţin semnalul la intrarea CMOS între limitele VDD -VSS. Recomandări de utilizare: - intrările nefolosite trebuie să aibă potenţialul fixat (se conectează la masă, VDD sau la altă intrare); - decuplarea surselor, lungimea şi grosimea traseelor nu sunt restrictive ca la TTL; - sursa trebuie stabilizată, fronturile lente putând provoca oscilaţii; - manipularea circuitelor se face cu grijă datorită faptului că, prin impedanţa Zi foarte mare, circuitele se pot încărca electrostatic şi se distrug. Se păstrează în ambalaj special (antistatic) şi se evită atingerea pinilor cu mâna dacă nu se foloseşte o brăţară de conectare la circuitul de pământare. Circuitele CMOS sunt mai ieftine ca TTL - la nivel de sistem.
Fig. 5.20 Conectarea circuitelor TTL – CMOS.
Fig. 5.21 Interfaţare AO – CMOS. 5.3.3 Alte familii de circuite integrate logice Familia ECL (Emitter Coupled Logic - logică cu cuplare prin emitor) Utilizează tranzistoare nesaturate cuplate în emitor, tc fiind mai mic de 4 ns. Sunt scheme cu comutare în curent. FO depinde de marginea de zgomot acceptată.
Dan MIHAI – Electronică Digitală
72
Familia I2L (Integrated Injection Logic - logică integrată cu injecţie) Se caracterizează prin densitate mare, consum redus dar capacitate de ieşire foarte mică, alimentare la tensiuni reduse (chiar 1,5 V), excursii restrânse ale nivelelor logice (20 mV la 0). Factorul de merit este mai mic de 1pJ. Circuite CCD (Charge Coupled Devices - dispozitive cu cuplare prin sarcină) Circuitele nu au echivalent în varianta cu componente discrete. Constă dintr-o matrice de capacităţi MOS dea lungul căreia este transferată o sarcină electrică prin intermediul unui câmp electric. Se pot realiza registre de deplasare, dar şi structuri ŞI, SAU. Factor de merit : 0,25. ap.
Cap. 6 Aplicaţii 6.1 Aplicaţii cu circuite digitale de tip combinaţional 6.1.1 Comanda unui platou rotitor Un micromotor cu reductor M antrenează platoul rotitor P prevăzut cu o camă care poate comuta contactul b. La comanda prin butonul cu revenire a, platoul trebuie să efectueze o rotaţie. Sinteza schemei de comandă: Variabile de comandă: a , b; (a, b = 1: buton acţionat); Variabila (funcţia) de ieşire: m ; Stările succesive şi valorile variabilelor: Fig. 6.1 Elementul comandat. 1: oprire platou, b închis (de către camă), m=0; 2: a acţionat, m activat, b este încă acţionat de camă; 3: a acţionat, m comandat, b se deschide nemaifiind acţionat de camă; 4: a eliberat, b deschis, platoul continuă rotaţia (m=1); 1: b acţionat de camă, platou oprit.
Fig. 6.2 Sinteza comenzii platoului. 6.1.2 Comanda unei came circulare Cama din figura 6.3 permite deschiderea unei vane şi este acţionată cu un motor electric m. La acţionarea butonului cu revenire a, cama - aflată în poziţia de repaus figurată - se roteşte până la acţionarea contactului c. După ce a nu mai este acţionat, cama reia mişcarea de rotaţie până la poziţia de pornire. Sinteza schemei de comandă: Variabile de comandă: a, b, c; Variabilă (funcţie) de ieşire: m. Stări succesive şi valori ale variabilelor: Fig. 6.3 Cama comandată.
Dan MIHAI – Electronică Digitală
73
1. Repaus, nici un contact acţionat; poziţia I 2. a = 1, b = c = 0, începe rotaţia: m =1 3. a = 1; b = 0; c = 1, stop rotaţie:m =1 ; poziţia II 4. a = 0; b = 0; c = 1, continuare rotaţie: m =1 5. a = 0; b = 1; c = 1, continuare rotaţie: m =1 6. a = 0; b = 1; c = 0, continuare rotaţie: m =1 1. a = 0; b = 0; c = 0, stop: m = 0
Fig. 6.4. Sinteza comenzii camei. Obs. Reglajul poziţiilor contactelor b şi c, deplasabile pe un arc de cerc cu centrul în axul camei, permite o determinare a poziţiilor I şi II. 6.1.3 Circuit pentru citirea în V a riglelor optice Trebuie sintetizat cu porţi ŞI-NU circuitul logic combinaţional pentru citirea în V a riglelor optice codificate în cod binar natural dintr-un sistem de poziţionare. Riglele optice constituie traductoare numerice absolute pentru deplasare. Pentru codificarea informaţiei primare se utilizează codul Gray (cu tranziţii 0 1 pe o singură pistă la un moment dat), cod neadecvat însă prelucrărilor ulterioare (în special operaţii aritmetice) sau codul binar natural. Sistemul citirii în V permite menţinerea codului binar natural propice prelucrărilor aritmetice însă caracterizat prin tranziţii simultane pe mai multe piste (de unde posibilitatea apariţiei hazardului) prin modificarea sistemului de amplasare a elementului fotosensibil şi dublarea numărului de puncte de citire, cu excepţia rangului 0. Acestea sunt aşezate simetric în raport cu perpendiculara pe riglă care trece prin punctul de citire de pe pista de rang 0, la distanţe date de (i l / 2), i fiind rangul pistei. Când elementul fotosensibil de rang zero este în zona de tranziţie, toate elementele de rang superior sunt în zone fără tranziţii pe pistele respective. Logica de comutare este dată de relaţia:
ei
e i 1 e is
e i 1 e id
(6.1)
Indicii s şi respectiv d desemnează elementele fotosensibile din stânga şi din dreapta. În fig. 6.4 s-a considerat poziţia de citire (capul cu elemente fotosensibile) la zona de trecere de la numărul 19 la 20 (linia M1 - M2).Toate pistele, cu excepţia ordinului 0 sunt prevăzute cu câte 2 puncte de citire aşezate simetric în raport cu M1 -M2. Dintre acestea, la un moment dat sunt active numai câte un punct de citire pentru fiecare pistă. Comutarea acestor puncte se face (conform ecuaţiei anterioare) după principiul: ordinul inferior comandă ordinul superior astfel ca semnalul logic 1 (diviziune transparentă) de pe pista 2 m-1 comandă
Dan MIHAI – Electronică Digitală
74
pentru citire elementul din stânga de pe pista 2 m iar 0 (zonă opacă) de pe pista 2m-1 comandă pentru citire elementul din dreapta pentru pista 2m. Aplicând dubla negare la ecuaţia logică anterioară, după câteva prelucrări se obţine circuitul din fig. 6.8 realizat în logică NAND. Singurul semnal care iniţiază comanda tuturor pistelor este cel dat de pista 20 astfel că nu poate apare nici o incertitudine în citire, iar inconvenientul modificării simultane a cifrelor binare de pe mai multe piste este eliminat.
Fig. 6.5 Principiul amplasării fotoelementelor.
Fig. 6.6 Prelucrarea semnalelor de la sistemul optic. 6.2 Aplicaţii cu circuite digitale de tip secvenţial 6.2.1 Comanda unui motor pas cu pas tetrafazat în secvenţă dublă Circuitul din fig. 6.7 poate realiza comanda reversibilă pentru secvenţa dublă de alimentare a fazelor unui motor pas cu pas tetrafazat cu un număr minim de circuite. Se utilizează CBB J-K M-S cu comutare pe frontul descendent al tactului. Pentru o funcţionare corectă (sigură) a distribuitorului, ieşirile A-D, înainte de abordarea contactoarelor statice de pe faze mai sunt introduse în nişte porţi de separare. Semnalul SENS stabileşte succesiunea de alimentare a fazelor: - D - A - B - C - D - A - ... pentru sens direct de rotaţie; - A - D - C - B - A - D - ... pentru sens de rotaţie invers. Pentru SENS = 1 (analiza în cazul SENS = 0 se face similar): Se consideră că la punerea sub tensiune, CBB s-au resetat prin mijloace adecvate (grupuri RC de exemplu), deci iniţial : Q1 = Q2 = 0; Q1 Q1 1 Cu: Ix : intrare (logică) a circuitului (porţii) x; Ox : ieşire (logică) a circuitului (porţii) x. se obţine:
Dan MIHAI – Electronică Digitală
75
Fig. 6.7 Circuitul pentru comanda motorului pas cu pas. OS1 = 1 0 = 0 ; ON1 = 1 = 0=0; S ON2 = 1 = J1 ;
OS2 = 0 1 = 0 J OS4 = 0 1 = 0 OI3 = 0 = K1
Starea stabilă iniţială este deci: A = 0 ; B = 0 ; C = 1 ; D = 1 (etapa a din diagrama temporală – fig. 6.8). Cïnd tactul comută pe frontul descendent, JK1 este pregătit pentru tranziţia Q C iar JK2 rămâne cu Q = 0 (faza b). Comutarea CBB1 nu mai afectează CBB2 deoarece nivelele J2, K2 se vor stabili ulterior terminării frontului activ al tactului datorită timpilor de propagare prin porţile S1 , S2, N1 , N2. Acestea vor pregăti nivelele J2, K2 pentru următorul front activ al tactului. OS1 = 1 ; ON1 = 0 = K2 ; OS3 = 0 ; ON2 = 1 = J1 ;
OS2 = 0 OI2 = 1 = J2 OS4 = 0 OI3 = 0 = K1
Următorul front descendent al tactului confirmă Q1 = 1 deci A = 1, C = 0 (etapa c) şi se păstrează configuraţia J2, K2. În schimb comută CBB2, deci B = 1, D = 0. Totodată vor comuta J1, K1 pregătind CBB1 care va comuta după faza e. Analiza continuă în mod similar.
Fig. 6.8 Formele de undă pentru distribuitorul de impulsuri.
Dan MIHAI – Electronică Digitală
76
6.2.2 Comanda unui motor pas cu pas în regim de micropăşire Regimul de micropăşire se caracterizează prin alimentarea combinată a fazelor astfel încât rotorul să se poată situa în mai multe poziţii stabile între axele a 2 faze alăturate. Schema alimentării unui motor pas cu pas cu 4 faze şi divizare prin 4 a pasului precum şi formele curenţilor rezultaţi sunt prezentate în fig. 6.9. Curenţii în faze nu mai au forme dreptunghiulare ci în trepte, după secvenţe care se repetă la fiecare 16 micropaşi. Pentru a realiza aceşti curenţi în faze, se utilizează 2 convertoare numeric-analogice CNA1 şi CNA2 realizate cu rezistenţele R11- R14, respectiv R21-R24 şi comutatoarele statice T11-T14 şi T21-T24. Fiecare CNA înseriază câte două faze opuse ( ) şi ( ) prin intermediul întrerupătoarelor k1, k3 respectiv k2, k4. Principiul comenzii: se conectează faza 1, închizând K1 şi T11, T12, T13, T14. Rotorul ocupă poziţia determinată de axa fazei 1, curentul prin această fază fiind maxim. Se deschide acum T 11 şi se închid K2 şi T21 astfel încât curentul fazei 1 scade puţin iar faza 2 preia un curent mic. Rotorul va ocupa o poziţie între axele fazelor 1 şi 2, mai aproape de 1 şi deplasat faţă de poziţia iniţială cu un micropas. Comanda decurge în continuare similar, conform cu tabelul din fig. 6.10.
Fig. 6.9 Circuitele electrice şi forma curenţilor la micropăşire.
Fig. 6.10 Comutaţiile circuitului pentru divizarea cu 4 a pasului.
Dan MIHAI – Electronică Digitală
77 Nivelele intermediare de curent prin faze depind de valorile rezistentelor R11-R24. Fiind necesare 16 etape distincte, elementul central al blocului de comandă va fi un numărător binar de 4 biţi, reversibil. Ieşirile acestuia vor fi prelucrate de un bloc combinaţional pentru furnizarea semnalelor de comandă ale contactoarelor statice. Acest bloc poate fi realizat în mai multe moduri. Într-o primă variantă se poate utiliza un decodificator 1/16 din ieşirile căruia se sintetizează semnalele de comandă. Presupunând că acestea sunt active pe 1, se exemplifică sinteza câtorva semnale de comandă: T11 = O0 + O8 = O 0 O8 T12 = O0 + O1 +O7 + O8 + O9 + O15
T13 = O3 + O4 + O5 + O11 + O12 + O13 = O 3
O4
O5
O11
O12
O13
... K4 = O9 + O10 + O11 + O12 + O13 + O14 + O15 Intrările de adresă se preiau direct de la numărător. O a doua variantă nu utilizează decât ieşirile numărătorului, notate în continuare cu x 0 , x1 , x2 , x3 (x3 = MSB) şi sinteza liniilor de comandă ale distribuitorului se va face cu diagrame K V - fig. 6.11. Schema bloc de comandă va avea structura de principiu din aceeaşi figură; se prezintă de asemenea circuitul de comutare a sensului de rotaţie. Blocul SENS distribuie impulsurile la intrarea CU sau CD a numărătorului.
Fig. 6.11. Ex. de sinteză a unor linii ale distribuitorului şi elemente pentru schema de comandă. O modalitate de materializare economică a blocului combinaţional o oferă utilizarea unor reţele logice programabile (PLA). Dimensionarea completă a blocului de comandă trebuie să mai ţină cont de frecvenţa limită de comandă (mai precis de caracteristica limită de pornire sau la mers în regim stabilizat ). 6.2.3 Schema de comandă pentru un invertor trifazat cu tranzistoare Pentru un invertor trifazat cu tranzistoare bipolare se precizează secvenţa de comandă - fig. 6.12. O perioadă completă T conţine 6 etape distincte, deci se va utiliza un decodificator 1/6 (care poate fi de tipul 7442 - decodificator BCD/Z) precedat de un numărător divizor cu 6. Distribuitorul trebuie să sintetizeze funcţiile de activare ale canalelor de comandă T1 - T6. Notând ieşirile decodificatorului 7442 (active pe zero) cu A, B, C, D, E, F şi etapele din diagrama de comandă cu 1, 2, 3, 4, 5, 6, rezultă: T1
1 6
A
F
A F
T4
3 4
C
D
C D
T2
2 3
A C
A C
T5
5 6
E
F
E F
T3
4 5
D
D E
T6
1 2
A
B
A B
E
Dan MIHAI – Electronică Digitală
78 Aceste relaţii şi consideraţiile anterioare conduc la schema de comadă din fig. 6.13. Pentru a obţine la motor viteză variabilă de ex. corespunzătoare gamei de fecvenţă 10 - 100 Hz, frecvenţa generatorului de impulsuri trebuie să fie fGI = (60...600) Hz, condiţie din care se dimensionează grupul RC. Grupul R R-CR este prevăzut pentru iniţializarea numărătorului la pornirea montajului. Pentru divizare cu 6, impulsurile parvin numărătorului pe intrarea B (intrarea A face divizarea cu 2). Sinteza se poate şi face pornind direct de la ieşirile numărătorului divizor, construind pentru fiecare linie de comandă Tk o diagramă Karnaugh -Veitch. Similar se procedează pentru o variantă de comandă cu un conţinut mai bogat în fundamentală, cãnd sunt în conducţie 3 tranzistoare (1 + 2) şi sunt în orice etapă parcurse de curent toate fazele motorului.
Fig. 6.12 Circuitul de putere şi o diagramă de comutaţie a invertorului.
Fig. 6.13 Un circuit digital simplu pentru comanda invertorului. 6.2.4 Bloc logic de prelucrare a informaţiei primare de la un traductor liniar incrementul optic Blocul logic trebuie să permită sesizarea sensului mişcării şi măsurarea cu rezoluţie variabilă a poziţiei folosind un traductor liniar incremental optic (riglă optică). Elementele constructive ale riglei fac referire la un model industrial - tipul LIDA - Heidenhein, Germania. Construcţia ei este din oţel cu zgârieturi fine la câte 40 m. Un fascicol paralel de lumină străbate o reţea optică cu 4 fante apoi este reflectat de riglă spre 4 fotoelemente. Diviziunile riglei absorb lumina, iar spaţiile dintre ele o reflectă. Deplasând capul de citire, lumina captată de fotoelemente variază din cauza zgârieturilor de pe riglă astfel că la ieşirile celor 4 fotoelemente se obţin tensiuni peri- odice decalate cu 1/4 perioadă. Conectând în antipararel ieşirile de la fotoelemente 0 / 180o electrice cu 90o / 270o electrice se obţin două semnale cvasisinusoidale decalate cu 90o electrice. Acestea sunt amplificate, formate şi transformate în impulsuri dreptunghiulare Ua1, Ua2 defazate la 90o electrice şi complementele lor. Capul de citire are o parte electronică cu schema bloc din fig. 6.14. Folosind un bloc logic adiţional, este posibilă citirea deplasărilor cu rezoluţie de 10, 20 sau 40 m şi sesizarea sensului deplasării. Utilizând o singură ieşire (Ua1) rezoluţia de măsurare este de 40 m, adică
Dan MIHAI – Electronică Digitală
79 pasul de divizare al riglei. Îmbunătăţirea rezoluţiei se realizează prin multiplicarea cu 2 sau cu 4 a semnalului de la traductor.
Fig. 6.14 Schema bloc a capului optic şi semnale de bază. Schema blocului numeric adiţional este redată în fig. 6.15 iar formele de undă explicative în fig. 6.16. Rezoluţia variabilă se realizează prin specificarea unui cod binar de multiplicare pe 2 biţi XY. X=Y=0 X=1 Y=0 X=1 Y=1
rezoluţie 40 m; E = A + C - rezoluţie 20 m; E = A + B + C + D - rezoluţie 10 m
Combinaţia X = 0, Y = 1 nu trebuie să apară. Determinarea sensului de deplasare se face prin comanda unui CBB - RS conform diagramelor de semnal din fig. 6.16. Pentru realizarea completă a sistemului de poziţionare mai sunt necesare blocuri de prescriere cotă, numărare, afişare şi comandă motor electric de acţionare.
Fig. 6.15 Circuitul de prelucrare a semnalelor de la traductor.
Dan MIHAI – Electronică Digitală
80
Fig. 6.16 Forme de undă explicative pentru funcţionarea circuitului de la fig. 6.15. 6.2.5 Analiza unui circuit secvenţial Mişcarea de translaţie alternativă a mesei de la o raboteză - fig. 6.17 - este realizată printr-un mecanism şurub-piuliţă. Motorul de antrenare are două sensuri, iar limitatorii S1 şi S2 delimitează cursa. Cheia a comandă ciclul de funcţionare. Se cunoaşte schema electrică de comandă - fig. 6.17. Este necesară realizarea unui tabel cu elemente ajutătoare pentru depanarea acesteia. Sistemul de comandă este de tip secvenţial, K1
Dan MIHAI – Electronică Digitală
81 constituind funcţia secundară iar KS, KD ieşiri. a este variabila de comandă şi împreună cu S1 şi S2 formează vectorul variabilelor de intrare. Ecuaţiile rezultate corespund unui circuit de tip Moore. Tabelul din fig. 6.17 se referă la 4 defecte posibile şi marchează cauzele corespunzătoare.
Fig. 6.17 Exemplu de analiză pentru un circuit de comandă de tip secvenţial pentru o structură electromecanică. 6.2.6 Comanda unei vane Se va realiza sinteza comenzii unei vane acţionate electric. Elementele constructive sunt redate în fig. 6.18. Mişcarea este controlată printr-o camă care poate acţiona un limitator b. La o comandă scurtă asupra
Dan MIHAI – Electronică Digitală
82
butonului cu revenire a, motorul M trebuie să realizeze o rotaţie de 90o. Variabile terminale: - a, b: intrări; - M : ieşire. Ciclul funcţional, stările asociate, elementele de sinteză (metoda Huffman) şi circuitul secvenţial asincron rezultat pentru comandă sunt conţinute în fig. 6.19. Circuitele basculante monostabile CBM1 şi CBM2 sunt formatoare de semnal logic pornind de la comutările contactelor mecanice a şi b. Durata stării instabile asociată lor este de ordinul sutelor de s, mai mare decât perioada oscilaţiilor contactelor a şi b. CBM2 foloseşte aceeaşi configuraţie de circuit cu CBM1 şi s-a reprezentat Fig. 6.18 Vana comandată. în schemă simbolic. Optocuplorul realizează funcţia de driver impuls comandă pentru triacul din circuitul de forţă, asigurând şi separarea galvanică dintre comandă şi elementul de execuţie conectat la reţeaua industrială. S-a presupus utilizarea unui motor universal cu colector.
Fig. 6.19 Comanda pentru motorul vanei.
Dan MIHAI – Electronică Digitală
83
6.2.7 Comanda unei instalaţii de spălat autovehicule Instalaţia este prezentată schematic în fig. 6.20. Căruciorul (aparatul de spălat) este acţionat de un motor cu 2 sensuri de rotaţie: D (dreapta) şi S (stânga). Limitatorii de cursă de pe calea de rulare a căruciorului definesc distanţa pe care trebuie să lucreze sistemul de spălare. În repaus acesta este retras în stânga. Comanda ciclului se face de la un buton cu revenire a; la acţionarea lui căruciorul porneşte spre dreapta. După ce a revine, se comandă deschiderea vanei de apă V şi este pus în mişcare motorul M de rotaţie a periei. După terminarea cursei dreapta, căruciorul revine până la S0 când toate elementele sunt dezactivate. Pentru sinteza shemei de comandă, se realizează diagrama de stări funcţionale cu semnalele asociate acestora - fig. 6.20 - după care se foloseşte metoda Huffmann. Se completează matricea primitivă a stărilor numai cu locaţiile corespunzând unor stări funcţionale. Etapele sintezei sunt prezentate de fig. 6, 20, 6.21 iar schema de comandă (variantele cu comutaţie dinamică şi cu comutaţie statică) în fig.6.21.
Fig. 6.20 Instalaţia electromecanică şi stările pentru sinteza comenzii. 6.2.8 Comanda unei prese automate Presa din fig. 6.22 foloseşte acţionări hihraulice cu comandă electrică. Cilindrul P - principal - este cu dublu efect iar cilindrul S realizează strângerea (fixarea) piesei şi este cu simplu efect. Comanda se dă de la butonul cu revenire a. La terminarea strângerii (sesizată de S1), P avansează, eliberând pe S2. O nouă comandă a scoate sistemul de ambutisare din poziţia de presare şi determină retragerea lui P şi apoi a lui S. Ciclul de funcţionare şi variabilele asociate: Etapele sintezei (metoda Huffmann) şi schema rezultată sunt prezentate în fig. 6.22 şi respectiv 6.23.
Dan MIHAI – Electronică Digitală
84
Fig. 6.21 Sinteza comenzii pentru instalaţia de la fig. 6.20. 6.2.9 Circuit pentru tratare semnale de la un encoder Se doreşte îmbunătăţirea rezoluţiei de măsură a unui traductor incremental de deplasare şi sesizarea sensului de rotaţie. Metoda generală de multiplicare a numărului de impulsuri (cu 2 sau 4, dar există soluţii
Dan MIHAI – Electronică Digitală
Fig. 6.22 Sinteza comenzii pentru o presă.
85
Dan MIHAI – Electronică Digitală
86
Fig. 6.23 Circuitul rezultat pentru comanda presei. şi pentru factori mai mari) va fi implementată cu ajutorul unei memorii ROM - fig. 6.24. Memoria are o geometrie 16 x 4 biţi. Biţii de date D0 şi D1 desemnează sensul mişcării activând intrarea de numărare înainte respectiv înapoi a numărătorului impulsurilor de deplasare. Presupunând că la început A = 1 şi B = 0, pentru adresa 1010 se găseşte data 0010 - stare stabilă a structurii întrucât secvenţele A2A3 şi D2D3 sunt identice. În etapa următoare A0 = A1 = 1 şi cuvântul memorat este 1011 cu A2A3 D2D3 deci starea este instabilă. D0 va trimite un puls pe CU. Starea stabilă se va regăsi când D3 = D2 = 1, deci pentru aceeaşi configuraţie a intrării sistemul va evolua spre adresa 1111, la care cuvântul memorat este 0011. Dacă în starea 3 se schimbă sensul de rotaţie, va fi activat CD. Analiza decurge similar. Pentru multiplicarea impulsurilor de la traductor cu 4 se poate utiliza schema din fig. 6.25. Ideea este a contorizării tuturor fronturilor semnalelor ce corespund rezoluţiei de bază. Se utilizează un numărător pe 16 biţi obţinut prin cascadarea a 4 circuite 74LS193, reversibile şi cu comutare pe front descendent. DF este un detector de fronturi, cu o ieşire activată de fiecare front ascendent şi cealaltă la fiecare front descendent. Imediat după t0, LSB şi LSB + 1 (care este chiar A) devin 1 şi datorită impulsului de numărare înapoi, numărătorul trece de la 0000 H la FFFF H. După t1, acesta trece în starea FFFE H iar după t2 la FFFD H etc.
Fig. 6.24 Dublare rezoluţie encoder cu ROM.
Dan MIHAI – Electronică Digitală
87
Fig. 6.25 Multiplicatorul de impulsuri. Pentru factori de multiplicare mai mari decât 4, se prelucrează semnalele cvasisinusoidale de la senzor în sensul obţinerii unor diferite defazaje în raport cu informaţia iniţială. O funcţionare corectă a sistemului de poziţionare este condiţionată de păstrarea defazajului în cuadratură A - B. 6.2.10 Analiza hazardului în funcţionarea unui circuit secvenţial Fig. 6.26 prezintă o structură simplă de tip releu cu memorare. Releul este comandat prin butonul b când a = 1. Pentru a = 0, Y îşi memorează starea. Ecuaţia logică: Y = a b +a y Y trebuie să funcţioneze conform tabelului din fig. 6.27 Se va exemplifica în detaliu trecerea de la starea 4 la 5. Când a trece de pe poziţia din dreapta (a) pe poziţia din stânga, releul Y nemaifiind alimentat, există riscul desfacerii contactului y. În diagrama K-V se observă o separare a suprafeţelor elementare cu linie continuă. Luarea în considerare şi a suprafeţei încadrate cu linie punctată conduce la o formă care nu mai este minimală dar va ameliora funcţionarea circuitului. Hazardul dispare datorită unei căi suplimentare b.y care asigură trecerea curentului independent de valoarea variabilei a. Y = a b + a y + b y = a b + y a + b
Problematica hazardului în funcţionarea circuitelor digitale este deosebit de importantă şi de complexă; se recomandă o consultare bibliografică în acest sens.
Fig. 6.26. Analiza şi corectarea funcţiuonării unui circuit cu hazard.
Dan MIHAI – Electronică Digitală
88
Bibliografie 1. Ardelean I. Giuroiu H, Petrescu L, Circuite integrate CMOS. Manual de utilizare, Ed. Tehnică, Bucureşti, 1986. 2. Blakeslee Th., Proiectarea cu circuite logice MSI şi LSI standard, Ed. Tehnică, Bucureşti, 1988. 3. Hintea S., Festilă Lelia, Cîrlugea Mihaela, Circuite integrate digitale. Culegere de probleme. Editura Casa Cărţii de Ştiinţă, Cluj-Napoca, 2000. 4. Holdsworth B., Martin Gr., Digital Systems Reference Book , Butterworth Heinemann, Oxford, 1991. 5. Ivănescu M., Cauţil I., Automate industriale, Ed. Scrisul Românesc, Craiova, 1984. 6. Mihai D., Comenzi numerice pentru sisteme electromecanice, Ed. Did. Nova, Craiova, 1996. 7. Nussbaumer H., Informatique industrielle, vol. 1- 4, Presses Polytechniques et Universitaires Romandes, Lausane, 1986, 1987. 8. Sztoianov, J., De la poarta TTL la microprocesor. Ed. Tehnica, Bucuresti,1991 9. Toacşe Gh., Nicula D., Electronică digitală, vol. I, Ed. Tehnică, Bucureşti, 2005. 10. Valachi I., Bârsan M, Tehnici numerice şi automate, Ed. Junimea, Iaşi, 1986. 11. Wakerly J., Digital Design. Principles and Practices, Prentice Hall Int. Ed., London, 1994.
Listă cu abrevieri ASCII: cod alfanumeric ASIC: circuit LSI specializat pe aplicaţie ASM: maşină cu algoritm de stare BCD: cod binar - zecimal BCN: cod binar - natural BR: împrumut CAS: semnal selecţie coloane CBB: circut basculant bistabil CBM: circuit basculant monostabil CCD: circuite cu cuplare prin sarciná (familie de circuite integrate) CCLK: tact pentru coloane CD: codificator CD: numărare înapoi CG: control porţi (semnal) CK, CLK: ceas (semnal) CL: circuit logic CL: şterge (semnal) CLC: circuit logic combinaţional CLS: circuit logic secvenţial CMOS: MOS complementar (familie circuite logice) CR: cifră - rang (produs) CS: selecţie cip (semnal) CU: numărare ďnainte DCD: decodificator DIL: dispunere pe 2 linii (pini) DMUX: demultiplexor DRAM: RAM dinamic DSP: procesor de semnal DTL: diodă - tranzistor logic (familie de circuite integrate)
Dan MIHAI – Electronică Digitală
E: validare (semnal) EAROM: PROM cu ştergere pe cale electrică ECL: logică cu cuplare prin emitor (familie de circuite integrate) EPROM: PROM cu ştergere (prin expunere la ultraviolete) E2PROM: PROM cu ştergere pe cale electrică FET: tranzistor cu efect de cămp FO: factor de ieşire (încărcare) la circuite integrate FIFO: primul intrat - primul ieşit (tip memorie) H: nivel logic ridicat HLL: nivel logic ridicat (grup de circuite integrate) HS: hazard static HTTL: subfamilie (rapidă) TTL HZ: impedanţă ridicată I / O: intrare - ieşire IT: instalaţie tehnologicá I2L: logicá integrată cu injecţie (familie de circuite integrate) KEPROM: variantă PROM K - V: Karnaugh - Veitch (diagramă) L: nivel logic coborât LCD: afişaj cu cristale lichide LCLK: tact pentru linii LD: încărcare LED: diodă electroluminiscentă LIFO: ultimul intrat - primul ieşit (tip memorie) LOCMOS: MOS cu oxidare locală (subfamilie de circuite integrate CMOS) LSB: cel mai puţin semnificativ bit LSI: integrare la scară largá (circuite integrate) MC: mod comutare registre MOS: semiconductor metal - oxid (familie) MSB: cel mai semnificativ bit MSI: integrare la scară medie (circuite integrate) MUX: multiplexor NMOS: MOS cu canal N Nr.: numărător NVRAM: RAM nevolatil (cu baterii) OE: validare ieşire (semnal) OTP: memorie cu programare unică (EPROM) PMOS: MOS cu canal P PMUX: MUX programabil PR: presciere (semnal) PROM: ROM cu programare la utilizator RAM: memorie cu scriere şi citire RAS: selectare linii de adresă RC: grup rezistenţă - condensator
89
Dan MIHAI – Electronică Digitală
RD: citire (semnal) REPROM: variantă PROM ROM: memorie numai pentru citit SAM: memorie cu acces serial SFC: sistem funcţional complet SMD: dispozitive (circuite) cu montare la suprafaţá SSF: sistem cu stări finite SSI: integrare la scară mică (circuite integrate) SVLSI: integrare la scară "super" foarte mare TS: trigger Schmitt TSB: buffer cu trei stări TSL: logică cu 3 stári TTL: logică tranzistor - tranzistor (familie de circuite integrate) UVPROM: altă denumire pentru EPROM VLSI: integrare la scară foarte mare (circuite integrate) WR: scriere (semnal)
90
View more...
Comments