- Grundlæggende princip for dekoder:
- Ulemper ved standard dekodere:
- Prioritetsdekoder:
- 3: 8 dekodere:
- 4:16 dekoder:
- Anvendelser:
Dekoder er en type kombinationskredsløb, der afkoder en lille bitværdi til stor bitværdi. Det bruges normalt i kombination med kodere, der gør det modsatte af, hvad en dekoder gør, så læs om kodere her, før du fortsætter med dekodere. Igen ligesom kodere er der også mange typer dekodere, men antallet af udgangslinjer i en dekoder vil altid være mere end antallet af indgangslinjer. Vi lærer, hvordan en dekoder fungerer, og hvordan vi kan bygge en til vores projekt i denne vejledning.
Grundlæggende princip for dekoder:
Som tidligere fortalt er dekoderen bare en modpart af en indkoder. Det tager et bestemt antal binære værdier som input og dekoder derefter ind i flere linjer ved hjælp af logik. Nedenfor vises en prøve-dekoder, der optager 2 linjer som input og konverterer dem til 4 linjer.
En anden tommelfingerregel med dekodere er, at hvis antallet af input betragtes som n (her n = 2), vil antallet af output altid være lig med 2 n (2 2 = 4), hvilket er fire i vores tilfælde. Dekoderen har 2 indgangslinjer og 4 udgangslinjer; derfor kaldes denne type dekoder som 2: 4 dekodere. De to inputstifter er navngivet som I1 og I0, og de fire outputstifter er navngivet fra O0 til O3 som vist ovenfor.
Det er også vigtigt at vide, at en almindelig dekoder som den her vist har en ulempe ved ikke at kunne skelne mellem tilstanden for begge indgange er nul (ikke forbundet til andre kredsløb) og begge indgange er lave (logik 0). Denne ulempe kan løses ved hjælp af en prioritetsdekoder, som vi lærer senere i denne artikel. Sandhedstabellen for en almindelig dekoder er vist nedenfor
Fra dekoderens sandhedstabel kan vi skrive det boolske udtryk for hver outputlinje, bare følg, hvor output bliver højt og dann en AND-logik baseret på værdierne I1 og I0. Det ligner meget Encoder-metoden, men her bruger vi AND-logikken i stedet for ELLER-logikken. Det boolske udtryk for alle fire linjer er angivet nedenfor, hvor symbolet (.) Repræsenterer OG-logik og symbolet (') repræsenterer IKKE logik
O 0 = I 1 '. I 0 ' O 1 = I 1 '. I 0 O 2 = I 1. I 0 ' O 3 = I 1. I 0
Nu hvor vi har alle de fire udtryk, kan vi konvertere disse udtryk til et kombinationslogisk portkredsløb ved hjælp af AND-porte og IKKE porte. Brug blot AND-portene i stedet for (.) Og en NOT gate (inverteret logik) i stedet for en ('), så får du følgende logiske diagram.
Lad os bygge 2: 4-dekoder-kredsløbsdiagrammet på breadboard og kontrollere, hvordan det fungerer i det virkelige liv. For at få det til at fungere som en hardware skal du bruge den logiske gate IC som 7404 til NOT gate og 7408 til AND gate. De to indgange I0 og I1 leveres via en trykknap, og output observeres gennem LED-lys. Når du først har oprettet forbindelsen på brødbrættet, ser det sådan ud på billedet nedenfor
Kortet drives af en ekstern + 5V forsyning, som igen driver Gate IC gennem Vcc (pin 14) og jord (pin 7) pins. Indgangen er givet ved trykknapper, når den trykkes er den logisk 1, og når den ikke trykkes, giver den logik 0, tilføjes en pull down-modstand med værdi 1k også langs inputlinierne for at forhindre stifterne i flydende tilstand. Udgangslinjerne (O0 til O3) gives gennem disse røde LED-lys, hvis de lyser, er det logisk 1 ellers er det logisk 0. Den komplette funktion af dette dekoderkredsløb vises i videoen nedenfor
Bemærk, at sandhedstabellen for hver indgang vises i øverste venstre hjørne, og LED'en lyser også på samme ordnede måde. På samme måde kan vi også oprette kombinationslogikdiagram for alle typer dekodere og bygge dem på hardware som denne. Du kan også se på de let tilgængelige dekoder-IC'er, hvis dit projekt passer til en.
Ulemper ved standard dekodere:
Ligesom en indkoder lider standarddekoderen også af det samme problem. Hvis begge indgange ikke er tilsluttet (logik X), forbliver udgangen ikke som nul. I stedet vil dekoderen betragte det som logisk 0, og bit O0 vil blive gjort høj.
Prioritetsdekoder:
Så vi bruger Priority Decoder til at løse dette problem. Denne type dekoder har en ekstra input pin mærket som “E” (Enable), som vil blive forbundet med den gyldige pin i prioritets Decoder. Den blokdiagram for en prioritet Dekoder er vist nedenfor.
Den sandhed bord til en prioritet Encoder er også vist nedenfor, her X repræsenterer ingen forbindelse og '1' repræsenterer logisk høj og '0' repræsenterer logisk lav. Bemærk, at aktiveringsbit er 0, når der ikke er nogen forbindelse på inputlinjerne, og derfor vil outputlinjerne også forblive nul. På denne måde vil vi være i stand til at overvinde ovennævnte ulempe.
Som altid fra sandhedstabellen kan vi køre det boolske udtryk for outputlinjerne O0 til O3. Det boolske udtryk for ovenstående sandhedstabel er vist nedenfor. Hvis du ser nærmere på, kan du bemærke, at udtrykket er det samme som for en normal 2: 4-dekoder, men Enable-bit (E) er lavet til OG med udtrykket.
O 0 = El 1 '. I 0 ' O 1 = El 1 '. I 0 O 2 = El 1. I 0 ' O 3 = El 1. I 0
Kombinationslogikdiagrammet til det ovennævnte boolske udtryk kan bygges ved hjælp af et par invertere (IKKE porte) og 3-input OG-porte. Udskift blot symbolet (') med invertere og symbolet (.) Med AND-porten, så får du følgende logikdiagram.
3: 8 dekodere:
Der er også nogle højere ordre dekodere som 3: 8 dekoderen og 4:16 dekoderen, som er mere almindeligt brugt. Disse dekodere bruges ofte i IC-pakker til kredsløbets kompleksitet. Det er også meget almindeligt at kombinere dekoder til lavere ordre som 2: 4 dekodere for at danne en højere ordre dekoder. For eksempel ved vi, at en 2: 4-dekoder har 2 indgange (I0 og I1) og 4 udgange (O0 til O3) og en 3: 8-dekoder har tre indgange (I0 til I2) og Otte udgange (O0 til O7). Vi kan bruge følgende formler til at beregne antallet af lavere ordre dekodere (2: 4), der kræves for at danne en højere ordre dekoder som 3: 8 dekoder.
Nødvendigt antal nedre ordredekoder = m2 / m1 Hvor, m2 -> antal udgange til lavere ordre Dekoder m1 -> antal udgange til højere ordre dekoder
I vores tilfælde vil værdien af m1 være 4 og værdien af m2 vil være 8, så anvendelse af disse værdier i ovenstående formler får vi
Nødvendigt antal 2: 4 dekoder til 3: 8 dekoder = 8/4 = 2
Nu ved vi, at vi har brug for to 2: 4-dekoder for at danne en 3: 8-dekoder, men hvordan skal disse to forbindes for at samles. Nedenstående blokdiagram viser netop det
Som du kan se, er indgangene A0 og A1 forbundet som parallelle indgange til begge dekodere, og derefter aktiveres pin til den første dekoder til at fungere som A2 (tredje indgang). Det inverterede signal fra A2 gives til Enable pin på anden dekoder for at få udgangene Y0 til Y3. Her betegnes udgangene Y0 til Y3 som Lavere fire mintermer, og udgangene Y4 til Y7 betegnes som højere fire mintermer. Mintermerne med lavere ordre opnås fra den anden dekoder, og de højere ordens mintermer opnås fra den første dekoder. Selvom en bemærkelsesværdig ulempe ved denne type af kombinationsdesign er, at dekoderen ikke har en Enable pin, der gør den modtagelig for de problemer, som vi har diskuteret tidligere.
4:16 dekoder:
Svarende til en 3: 8 Dekoder en 04:16 dekoder kan også konstrueres ved at kombinere to 3: 8 dekoder. For en 4: 16-dekoder har vi fire indgange (A0 til A3) og seksten udgange (Y0 til Y15). Mens vi for en 3: 8-dekoder kun har tre indgange (A0 til A2).
Vi har allerede brugt formlerne til at beregne antallet af dekoder, der kræves, i dette tilfælde vil værdien af m1 være 8, da 3: 8-dekoderen har 8 udgange, og værdien af m2 vil være 16, da 4:16-dekoderen har 16 udgange, så anvendelse af disse værdier i ovenstående formler, vi får
Nødvendigt antal 3: 8 dekoder til 4:16 dekoder = 16/8 = 2
Derfor kræver vi to 3: 8-dekoder til konstruktion af en 4:16-dekoder, arrangementet af disse to 3: 8-dekoder vil også svare til den, vi gjorde tidligere. Blokdiagrammet til at forbinde disse to 3: 8 dekoder sammen er vist nedenfor.
Her betragtes output Y0 til Y7 som lavere otte mintermer, og output fra Y8 til Y16 betragtes som højere otte mintermer. De nederste højre mintermer oprettes direkte ved hjælp af input A0, A1 og A2. De samme signaler gives også til de tre indgange fra den første dekoder, men den første dekoders aktiveringsstift bruges som den fjerde indgangsstift (A3). Det inverterede signal fra den fjerde indgang A3 gives til aktiveringsstiften til den anden dekoder. Den første dekoder udsender den højere otte mintermsværdi.
Anvendelser:
En dekoder bruges normalt i kombination med en indkoder, og derfor deler de begge de samme applikationer. Uden dekodere og kodere ville moderne elektronik som mobiltelefoner og bærbare computere ikke have været mulig. Få vigtige anvendelser af dekodere er angivet nedenfor.
- Anvendelse af sekventeringssignal
- Timing Signal applikationer
- Netværkslinjer
- Hukommelseselementer
- Telefonnetværk