5 1

Capitolul 5. Noduri funcționale de combinare

5 1. CONVERTOARE DE CODURI, NUMĂRI, DIFFITOARE

noduri de tip combinație caracterizează o corespondență combinațiile permise ale semnalelor de ieșire ale semnalelor de intrare și independent de secvența de deplasare a acestora. Pentru a construi combinația unității funcționale trebuie setat toate multitudinea de coduri (cuvinte) și un set corespunzător de coduri de ieșire nm sau sistem de ecuații care descriu dependența fiecărui bit de cod de ieșire variabile de intrare independente. Circuitele combinaționale sunt construite fie pe baza unor elemente logice, sau pe baza de memorie exclusivă de citire (ROM), în care a stocat tabelul de conversie de cuvinte de intrare la unitățile funcționale de ieșire K combinaționale includ convertoare de cod (caz special, care sunt codificatoare și decodoare), multiplexoare, demultiplexoare, dispozitive pentru schimbarea numerelor, combinatoare, comparatoare digitale etc.







Convertoarele de coduri sunt concepute pentru a traduce de la o formă de prezentare la alta.

De exemplu, la introducerea informațiilor în computer nevoie pentru a converti numere zecimale în binar, și derivarea informațiilor privind indikayury sau imprimarea dispozitiv - coduri binare sau BCD în codurile de control generator de caractere, cu LED-uri sau de pe panoul de afișaj zhidkokriaallicheskimi, mecanismul de imprimare.

Punctul de plecare pentru construirea convertorului de coduri este tabelul de corespondență, în care se înregistrează setul transpirat de intrare și selecția corespunzătoare a cuvintelor de ieșire. În cazul în care cuvintele de intrare și de ieșire sunt înregistrate simboluri binare, convertor de cod sishez reduce la găsirea pentru fiecare categorie de cuvântul de ieșire funcția boolean stabilește o conexiune la intrare a variabilelor binare de descărcare naborachya. Găsiți această conexiune și minimizați expresia booleană utilizând hărțile Carnot (diagrame Weich). În etapa finală, funcția rezultată este transformată într-o formă care este convenabilă pentru implementare într-o bază dată (selectată) elementară.

În tabel. 5.1 prezintă cele mai comune coduri binare în circuitele digitale [36]. În denumirile codurilor 8121, 7421, 5421, 2421, se indică greutatea zecimală a unității binare a cifrei corespunzătoare.

Codul lui Gray este format dintr-o secvență de numere binare în care două numere adiacente (primul și ultimul număr sunt de asemenea considerate adiacente) diferă doar într-un singur bit. În codul lui Johnson, trecerea la următorul număr se face prin înlocuirea succesivă a lui 0 cu 1, pornind de la dreapta și după instalarea tuturor biților 1 - înlocuind 1 cu 0.

Codurile sunt utilizate în dispozitivele aritmetice pentru a efectua adăugarea și scăderea numerelor zecimale binare.

Să fie necesar să se construiască un convertor al codului binar 421 într-un cod de biți Gray. Se notează tabelul de corespondență (Tabelul 5.2).

Fiecare cifră a codului de ieșire este o funcție independentă a seturilor de intrări, care trebuie găsite și minimizate.

Pentru a face acest lucru, folosim hărțile Carnot, scriind în celulele hărții valorile pentru fiecare set:

Corespunzător expresiilor identice (5.1) - (5.3), este posibilă obținerea diferitelor variante ale convertorului (Fig. B, c).

Alegerea celei mai bune variante de realizare este făcută de dezvoltator, fiind ghidată de considerente tehnice.

În mod similar, folosind același tabel. 5.2, este posibilă inversarea formării codului lui Gray la codul 421:

În Fig. 5.2 arată una dintre variantele posibile ale convertorului de coduri gri în cod binar 421.

Numerele BCD vizualizare adesea proizgoditsya prin semisegmsn panourilor gpyh pe bază de cristale lichide sau cu diode emițătoare de lumină (fig. 5.3, a), utilizat pe scară largă în ceasuri și calculatoare electronice t. D. Dacă segmentele sunt desemnate prin litere, așa cum se arată în Fig. , apoi Tabelul. 5.3. stabilește o corespondență între numărul zecimal binar și setul de segmente necesare pentru afișarea cifrei zecimale.

Segmentul a este definit de seturile de coduri 8421 după cum urmează:

În mod similar, obținem expresii booleene pentru segmentele rămase:

Schema convertorului de cod 8421 din codul indicator de șapte segmente, implementată pe elemente, este prezentată în Fig. 5.4.

Un caz special al convertorului de coduri este un encoder - un dispozitiv care asigură ieșirea unei mize particulare ca răspuns la excitarea unei intrări. Encoderele sunt utilizate pe scară largă pentru a converti cifre zecimale și caractere alfabetice la cod binar atunci când introduceți informații într-un computer și alte dispozitive digitale.

Luați în considerare un exemplu de construire a unui codificator pentru conversia numerelor zecimale la codul 8421 conform tabelului. 5.4. Variabilele de intrare sunt variabile binare, care se formează atunci când este apăsată tasta corespunzătoare pentru dispozitivul de intrare.

Variabilele sunt independente și ne permit să construim combinațiile de intrare, dar dacă o restricție impusă interzicerea apăsarea a două sau mai multe chei, apoi de la 1042 rămâne 11 combinații de intrare valide. Codul de intrare care corespunde acestei restricții se numește codul "1 din" sau unitar. În tabel. 5.4 tasta presată corespunde cu "yugic 1", nu am apăsat - "logical 0". Primele două combinații de intrare produc același cod binar 0000. Diferența dintre ele constă în faptul că, prin apăsarea tastei „0“, la fel ca în altă intrare de numere, aparatul ar trebui să fie format echipa de intrare și memorarea următoarea cifră zecimală.

După cum se poate observa din tabel. 5.4, ​​variabila binară are valoarea "1" dacă apare "1" la intrare sau la intrare, sau, sau. Pentru toate celelalte combinații de intrări, adică în termeni de algebră a logicii







În mod similar, pentru alte ieșiri:

În conformitate cu raveistvchchn (5.4) encoder poate fi implementată în NOR bază (Fig. 5.5, a, b) sau în baza (Fig. De 5 mai și, d).

Aceste codificatoare sunt denumite convertoare de cod "1 de" într-o cifră binară. Adesea, limita numărului de apăsări de taste este inacceptabilă și este necesar să se construiască un encryptor astfel încât să răspundă numai celor mai în vârstă (sau mai mici) dintre aceștia apăsând simultan mai multe taste. Convertoarele de cod de acest tip se numesc codificatoare prioritare. Ele implementează conversia codului de la codul 8421.

În tabelul de corespondență pentru codificator prioritar, în care variabila de intrare cu numărul maxim are cea mai mare prioritate (tab. 5.5), valorile variabilelor de intrare la dreapta diagonală de „1“ nu ar trebui să determine codul de ieșire.

Prioritatea codificator poate fi construit pe baza unui simplu convertor de codificare în conformitate cu expresiile (5.4) codul „1 din 10“ în codul 8421, în cazul în care pre-transforma codul de intrare «X 10" pentru a indica variabilele de ieșire invertor«1 din 10»prin.

Variabila de intrare are cea mai mare prioritate, deci nu depinde de alte variabile de intrare :. Orice altă variabilă de ieșire are valoarea "1" dacă, cu condiția să nu fie aplicată nicio "logică" 1 la oricare dintre intrările "senior" 9, adică,

Circuitul (Figura 5.6) realizează transformarea (5.5). Avantajul său este o întârziere uniformă în propagarea semnalelor pe toate intrările, iar dezavantajul este necesitatea utilizării circuitelor OR-NOR cu mai multe intrări.

Dacă nu există cerințe stricte cu privire la viteză, de exemplu pentru intrare tastatură, codul de transmițător „A 10“ în „1 din 10“ poate fi realizată printr-un principiu iterative (Fig. 5.7) [91]. În această schemă, semnalul de interdicție de prioritate mai mari pentru a se propagă de la intrare mai tinere prin elemente conectate în serie sau așa lungime întreagă în codul de conversie „1 din 10“ este determinată de setarea de ieșire, întârzierea la care maxim.

Pentru a obține schema de codor prioritar, este suficientă conectarea ieșirilor convertorului "X de la 10" la "1 din 10" la intrările corespunzătoare ale convertorului de cod "1 din 10" din codul 8421.

Transformarea inversă a codului binar în contorul "1" este efectuată de convertoare de cod numite decodoare. Cele mai utilizate decodoare sunt utilizate în dispozitivele pentru transmiterea de informații de la computere și alte dispozitive digitale către dispozitive externe pentru vizualizarea și documentarea informațiilor alfanumerice. Pentru a face acest lucru, trebuie să dați un semnal la 1, de exemplu, catodii indicatorului de descărcare a gazului sau elementele selectării simbolurilor dispozitivului de tipărire

Sinteza structurii decodorului, ca orice alt convertor de coduri, începe cu scrierea tabelului de corespondență între codurile de intrare și ieșire. Fie ca este necesar să convertiți codul binar 21 în codul "1 din 4", apoi Tabelul 5 6 stabilește valorile de ieșire pentru toate seturile de intrări. Apoi, pentru fiecare funcție de ieșire, compilați o hartă Carnot și obțineți expresia sa minimizată. În exemplul examinat, acest lucru este lipsit de sens, deoarece pentru fiecare funcție harta Carnot conține doar un "1", astfel încât mintermul corespunzător este forma minimă. Apoi, pe baza tabelului. 5.6 scriem:

Expresiile (5.6) trebuie realizate în baza elementară (figură sau OR-NE) (fig.5-8, c)

Dacă numărul de intrări și numărul de ieșiri ale decodorului sunt legate de o relație. apoi ieșirile sunt definite pentru toate seturile binare, iar decodorul este numit complet [97] În cazul în care decodorul este incomplet. Un exemplu de decodor incomplet este un convertor al codului binar 8421 în codul "1 din 10" conform tabelului. 5.7.

Din moment ce 6 din 16 seturi de intrări posibile nu sunt definite, este posibil să se minimizeze numărul de funcții de ieșire ale decodorului printr-o extensie arbitrară a hărții Carnot. De exemplu, funcțiile pot fi simplificate pentru a:

În mod similar, funcțiile sunt simplificate. Dat fiind faptul că funcțiile nu sunt simplificate, așa cum se poate observa cu ușurință prin construirea hărților Carnot pentru ei, vom scrie în cele din urmă funcțiile logice pe care decodificatorul zecimal sintetizat ar trebui să le implementeze:

Decodificatorul zecimal corespunzător este implementat pe baza elementelor logice OR-NOR (Figura 5.9). Rețineți că în versiunea minimizată a decodorului nu este permisă alimentarea codurilor 8421, care nu sunt incluse în tabel. 5.7.

Deci, dacă intrarea decodorului din Fig. 5.9 trimite codul 1011, apoi simultan pe cele două ieșiri sunt setate "logic 1". Astfel, dacă intrarea decodorului poate fi alimentat de la orice combinație și nu sunt permise excitarea simultană a mai mult de una din ieșirile sale, simplificarea metodei circuitului descrisă este inacceptabilă și fiecare dintre funcțiile de ieșire care urmează să fie determinată de un set complet de variabile de intrare. Decodorul parțial cârlig (. Ca exemplu, în figura 5.10 prezintă o variantă pe elementele) combinațiile „extra“ de intrare nu excită una dintre ieșirile sale:

Schemele de mai sus sunt de decodoare de tip liniar și ele sunt caracterizate printr-o singură treaptă descifrarea codurilor de intrare -bit folosind elemente logice -vhodovyh.

Decodoarele liniare asigură conversia codului cu întârziere minimă și sunt utilizate în circuitele digitale cu cea mai rapidă acțiune. Cu toate acestea, pe măsură ce crește lățimea de biți a codului de intrare, sarcina fiecăreia dintre intrările și numărul de cazuri IC pentru implementarea decodorului cresc rapid. O structură liniară este de obicei folosită pentru a construi decodoarele cu.

Dacă numărul de intrări, apoi, pentru a reduce numărul de cazuri IC, decodoarele sunt efectuate într-o schemă în mai multe etape.

Prima etapă a decodorului piramidal este cel mai simplu decodor liniar cu numărul de ieșiri (a se vedea Figura 5.8, b). Fiecare etapă ulterioară, controlată de o variabilă de intrare suplimentar, permite dublarea numărului de ieșiri și poluchng și așa mai departe, adică. E. -Pas decoder plin piramidal are un număr de ieșiri, și (dacă piramidal liniară și decodoare sunt aceleași).

Ca o ilustrare, construim un decodor piramidal complet pentru carcasă (Figura 5.11). Întârzierea propagării în decodorul piramidal este k ori mai mare decât în ​​cea liniară. Un alt dezavantaj al acestor decodoare este încărcarea inegală de intrare, care crește cu numărul de trepte.

Numărul de elemente logice cu două intrări necesare (sau OR-NOR) pentru implementarea decodorului pas-piramidal la ieșirile cu toleranță pentru invertoare este determinat de relația

și aproape se dublează cu adăugarea pasului următor. Dacă elementele sau OR-NE sunt utilizate simultan cu alternanța treptelor de pe ele (Figura 5.12), numărul necesar de supape bidirecționale este înjumătățit:

Figura (vedeți originalul.)

Figura și tabelul 5.8. (consultați originalul.)

Tabelul 5.8. (Continuare)

NU cu pași alternativi pe ele (Figura 5.12), numărul necesar de supape bidirecționale este redus la jumătate:

În cazul în care numărul de intrări este completat, decodoarele sunt demne de construirea unei structuri de matrice. Cu un număr par de rânduri și coloane ale matricei este egal și matricea porților de ieșire este obținută pătrat. Cu variabilele de intrare ciudate sunt împărțite în. În ambele cazuri, pentru selectarea de rânduri și coloane (Fig. 5.13), în care nodurile sunt conectate două porți de intrare sunt folosite decodoare piramidali liniare sau. Astfel de decodoare sunt numite dreptunghiulare.

Astfel, decodorul dreptunghiular conține două etape, indiferent de dimensiune și care asigură o viteză mare. Pentru a implementa un decodor dreptunghiular cu un decodor liniar în primul lui stupepi, este necesar să avem elemente cu elemente uniforme pentru impare. În decodorul dreptunghiular din Fig. 5.13 ieșiri sunt inversate, adică la toate pyhodach, dar o intrare determinată de cod uianavlnpayutsya „logic și o singură ieșire - ..“ Logica 0 „Pe baza unei combinații de oricare dintre decodoare la ieșirile -vhodnogo codificator poate pomtroit convertor sursă în cazul dat. Pentru a face acest lucru, este suficient să conectați ieșirile decodorului la intrările codorului într-un mod adecvat.

În tabel. 5 8 sunt date parametrii codificatoarelor și decodoarelor din cele mai utilizate serii IMS. În Fig. 5.11 prezintă funcționalitatea pinout-urilor I / O din tabel. 5.8.







Trimiteți-le prietenilor: