- Principiul de bază al decodificatorului:
- Dezavantaje ale decodoarelor standard:
- Decodor prioritar:
- Decodificatoare 3: 8:
- 4:16 Decodor:
- Aplicații:
Decodorul este un tip de circuit combinațional care decodează o valoare de bit mică în valoare de bit mare. Este utilizat în mod normal în combinație cu codificatoare care face exact opusul a ceea ce face un decodor, așa că citiți despre codificatoare aici înainte de a continua cu decodificatoarele. Din nou, la fel ca codificatoarele, există și multe tipuri de decodoare, dar numărul de linii de ieșire dintr-un decodor va fi întotdeauna mai mare decât numărul de linii de intrare. Vom afla cum funcționează un decodor și cum putem construi unul pentru proiectul nostru în acest tutorial.
Principiul de bază al decodificatorului:
După cum am spus mai devreme, decodificatorul este doar o parte contra unui codificator. Este nevoie de un anumit număr de valori binare ca intrări și decodează apoi în mai multe linii folosind logica. Un eșantion de decodare este prezentat mai jos, care preia 2 linii ca intrare și le convertește în 4 linii.
O altă regulă generală cu Decoders este că, dacă numărul de intrări este considerat ca n (aici n = 2), atunci numărul de ieșiri va fi întotdeauna egal cu 2 n (2 2 = 4), care este patru în cazul nostru. Decodorul are 2 linii de intrare și 4 linii de ieșire; prin urmare, acest tip de decodificator este numit decodificatori 2: 4. Cei doi pini de intrare sunt denumiți I1 și I0, iar cei patru pini de ieșire sunt denumiți de la O0 la O3 așa cum se arată mai sus.
De asemenea, este important să știm că un decodor obișnuit, precum cel prezentat aici, are dezavantajul de a nu face distincția între starea ambelor intrări fiind zero (nu sunt conectate la alte circuite) și ambele intrări sunt scăzute (0 logică) Acest dezavantaj poate fi rezolvat folosind un decodor prioritar pe care îl vom învăța mai târziu în acest articol. Tabelul adevărului unui decodor obișnuit este prezentat mai jos
Din tabelul de adevăr al decodificatorului putem scrie expresia booleană pentru fiecare linie de ieșire, trebuie doar să urmăm unde ieșirea devine ridicată și să formăm o logică AND bazată pe valorile I1 și I0. Este foarte similar cu metoda Encoder, dar aici folosim logica ȘI în loc de logica SAU. Expresia booleană pentru toate cele patru linii este dată mai jos, unde simbolul (.) Reprezintă logica ȘI simbolul (') reprezintă NU logica
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Acum, că avem toate cele patru expresii, putem converti aceste expresii într-un circuit combinațional de poartă logică folosind porțile AND și porțile NOT. Pur și simplu utilizați porțile ȘI în locul lui (.) Și o poartă NU (logică inversată) în locul unui (') și veți obține următoarea diagramă logică.
Să construim schema circuitului decodificator 2: 4 pe panou și să verificăm cum funcționează în viața reală. Pentru a funcționa ca hardware, trebuie să utilizați poarta logică IC, cum ar fi 7404 pentru poarta NU și 7408 pentru poarta ȘI. Cele două intrări I0 și I1 sunt furnizate printr-un buton și ieșirea este observată prin lumini LED. Odată ce ați făcut conexiunea pe panou, ar arăta cam așa în imaginea de mai jos
Placa este alimentată de o sursă externă de + 5V, care, la rândul său, alimentează poarta IC de la pinii Vcc (pinul 14) și la sol (pinul 7). Intrarea este dată de butoane, când este apăsată este logica 1 și atunci când nu este apăsată dă logica 0, se adaugă, de asemenea, o rezistență de tracțiune de valoare 1k de-a lungul liniilor de intrare pentru a preveni starea plutitoare a pinilor. Liniile de ieșire (O0 la O3) sunt date prin aceste lumini LED roșii, dacă strălucesc este logică 1 altceva este logică 0. Funcționarea completă a acestui circuit decodor este prezentată în videoclipul de mai jos
Rețineți că tabelul adevărului pentru fiecare intrare este afișat în colțul din stânga sus, iar LED-ul luminează, de asemenea, în același mod ordonat. În mod similar, putem crea și o diagramă logică combinațională pentru toate tipurile de decodoare și le putem construi pe hardware ca acesta. Puteți, de asemenea, să vă uitați la IC-urile de decodare ușor disponibile, dacă proiectul dvs. se potrivește cu unul.
Dezavantaje ale decodoarelor standard:
La fel ca un codificator, decodorul standard suferă de aceeași problemă, dacă ambele intrări nu sunt conectate (logica X), ieșirea nu va rămâne zero. În schimb, Decodor îl va considera ca fiind logica 0, iar bitul O0 va fi ridicat.
Decodor prioritar:
Deci, folosim Decodorul Prioritar pentru a depăși această problemă, acest tip de decodor are un pin de intrare suplimentar etichetat ca „E” (Activare) care va fi conectat cu pinul valid al Decodorului prioritar. Schema bloc pentru un decodor prioritar este prezentată mai jos.
Tabelul de adevăr pentru codificator prioritar este, de asemenea, prezentat mai jos, aici X reprezintă nici o legătură și „1“ reprezintă logica ridicată și „0“ reprezintă logica scăzută. Observați că bitul de activare este 0 atunci când nu există conexiune pe liniile de intrare și, prin urmare, liniile de ieșire vor rămâne și zero. Astfel vom putea depăși dezavantajul menționat mai sus.
Ca întotdeauna din tabelul adevărului putem conduce expresia booleană pentru liniile de ieșire O0 la O3. Expresia booleană pentru tabelul de adevăr de mai sus este prezentată mai jos. Dacă aruncați o privire mai atentă, puteți observa că expresia este la fel ca cea a unui decodor normal 2: 4, dar bitul Enable (E) a fost făcut la AND cu expresia.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Diagrama logică combinațională pentru expresia booleană de mai sus poate fi construită folosind câteva invertoare (NU porți) și porți ȘI cu 3 intrări. Doar înlocuiți simbolul (') cu invertoare și simbolul (.) Cu poarta ȘI veți obține următoarea diagramă logică.
Decodificatoare 3: 8:
Există, de asemenea, unele decodificatoare de ordin superior, cum ar fi decodorul 3: 8 și decodorul 4:16, care este cel mai frecvent utilizat. Acești decodificatori sunt adesea utilizați în pachete IC pentru complexitatea circuitului. De asemenea, este foarte obișnuit să combinați decodificatoare de ordin inferior precum decodificatoarele 2: 4 pentru a forma un decodor de ordin superior. De exemplu, știm că un decodor 2: 4 are 2 intrări (I0 și I1) și 4 ieșiri (O0 la O3) și un decodor 3: 8 are trei intrări (I0 la I2) și opt ieșiri (O0 la O7). Putem folosi următoarele formule pentru a calcula numărul decodificatoarelor de ordin inferior (2: 4) necesare pentru a forma un decodor de ordin superior, cum ar fi decodificatorul 3: 8.
Numărul necesar de decodor de comandă inferioară = m2 / m1 Unde, m2 -> numărul de ieșiri pentru decodor de comandă inferioară m1 -> numărul de ieșiri pentru decodor de ordine superioară
În cazul nostru, valoarea m1 va fi 4, iar valoarea m2 va fi 8, deci aplicând aceste valori în formulele de mai sus, obținem
Numărul necesar de 2: 4 Decodor pentru 3: 8 Decodor = 8/4 = 2
Acum știm că vom avea nevoie de două decodare 2: 4 pentru a forma un decodor 3: 8, dar cum ar trebui conectate aceste două pentru a aduna. Diagrama bloc de mai jos arată exact asta
După cum puteți vedea, intrările A0 și A1 sunt conectate ca intrări paralele pentru ambele decodificatoare și apoi pinul de activare al primului decodor este făcut să acționeze ca A2 (a treia intrare). Semnalul inversat al lui A2 este dat pinului Enable al celui de-al doilea decodor pentru a obține ieșirile Y0 la Y3. Aici ieșirile Y0 la Y3 sunt denumite patru mintermi inferioare, iar ieșirile Y4 la Y7 sunt denumite patru minterme superioare. Mintermele de ordin inferior sunt obținute din al doilea decodor și mintermele de ordinul superior sunt obținute din primul decodor. Deși un dezavantaj vizibil în acest tip de design combinațional este că, Decodor nu va avea un pin de activare care îl face susceptibil la problemele pe care le-am discutat mai devreme.
4:16 Decodor:
Similar unui decodor 3: 8, un decodor 4:16 poate fi de asemenea construit prin combinarea a două decodoare 3: 8. Pentru un decodor 4: 16 vom avea patru intrări (A0 la A3) și șaisprezece ieșiri (Y0 la Y15). În timp ce, pentru un decodor 3: 8 vom avea doar trei intrări (A0 până la A2).
Am folosit deja formulele pentru a calcula numărul de decodor necesar, în acest caz valoarea m1 va fi 8, deoarece decodorul 3: 8 are 8 ieșiri și valoarea m2 va fi 16, deoarece decodorul 4:16 are 16 ieșiri, deci aplicând aceste valori în formulele de mai sus obținem
Numărul necesar de 3: 8 Decodor pentru 4:16 Decodor = 16/8 = 2
Prin urmare, avem nevoie de două decodificatoare 3: 8 pentru construirea unui decodor 4:16, aranjamentul acestor două decodor 3: 8 va fi, de asemenea, similar cu cel pe care l-am făcut anterior. Schema bloc pentru conectarea acestor două decodor 3: 8 împreună este prezentată mai jos.
Aici ieșirile de la Y0 la Y7 sunt considerate ca fiind opt minute mai mici, iar ieșirea de la Y8 la Y16 este considerată ca fiind opt minute mai mici. Mintermurile din dreapta jos sunt create direct folosind intrările A0, A1 și A2. Aceleași semnale sunt date și celor trei intrări ale primului decodor, dar pinul Enable al primului decodor este folosit ca al patrulea pin de intrare (A3). Semnalul inversat al celei de-a patra intrări A3 este dat pinului de activare al celui de-al doilea decodor. Primul decodor produce cea mai mare valoare de opt minute.
Aplicații:
Un decodor este de obicei utilizat în combinație cu un codificator și, prin urmare, ambele partajează aceleași aplicații. Fără decodoare și codificatoare, electronica modernă, cum ar fi telefonul mobil și laptopurile, nu ar fi fost posibilă. Puține aplicații importante ale decodoarelor sunt enumerate mai jos.
- Aplicarea semnalului de secvențiere
- Aplicații de semnalizare temporizată
- Linii de rețea
- Elemente de memorie
- Rețele telefonice