- Grunnleggende prinsipp for koderen:
- Bygge kodere ved hjelp av kombinasjonslogiske design
- 8: 3 kodere:
- Ulempen med normale kodere:
- Priority Encoder:
Kodere, som navnet antyder, koder en større bit informasjon til en mindre bitverdi. Det er mange typer kodere basert på antall innganger og utganger og basert på hvordan den fungerer. Men hver koder har en underliggende regel, antall utgangslinjer på en koder vil alltid være mindre enn antall inngangslinjer. Vi vil lære mer om kodere, hva er en kode, hvordan og hvorfor de brukes i digitale kretser i denne artikkelen.
Grunnleggende prinsipp for koderen:
La oss forestille oss at en koder skal være en svart boks som vist nedenfor som magisk reduserer antall inngangslinjer fra 4 til bare 2 utgangslinjer, men likevel gir den samme informasjonen uten tap av data.
La oss først bestemme hva navnet på denne koderen ville være. Den har fire innganger og to utganger, så navnet på denne koderen blir 4: 2 koderen. Hvis en koder har “ n ” antall utgangslinjer, vil antallet inngangslinjer være 2 n, i vårt tilfelle er antall utgangslinjer to (n = 2), derfor skal antallet inngangslinjer være (2 2 = 4) fire, noe som er nøyaktig tilfelle. De fire inngangspinnene er merket fra I0 til I3, og de to utgangspinnene er merket fra O0 til O1
Så hvordan konverterer koderen fire signaler til to, kan det forstås ved å ta en titt på sannhetstabellen nedenfor. Det er også viktig å vite at en vanlig koder som den som er vist her har en regel om at bare en inngangsstift skal være høy, så i den følgende sannhetstabellen vil bare én inngang være høy.
Alle mulige forhold for inngangsutgangen er vist i sannhetstabellen ovenfor. For eksempel når bare O1 er høy (1) og alle de andre inngangene er lave (0), vil begge utgangspinnene være lave (0). Tilsvarende for hvert tilfelle vil utgangspinnene også endre status. Ved å bruke denne Output bits-statusen vil brukeren kunne spore tilbake til hvilket inngangssignal som ville blitt gitt til koderen.
Ok, hva er fancy med å konvertere 4 linjer til 2 linjer, hvorfor trenger vi det til og med?
For å forstå det har vi forklart en 4: 2-koder, men det er andre koder som kan ta et høyere antall innganger og konvertere dem til et lavere antall utganger som 8: 3-koderen, 16: 4-koderen osv. Disse typene av Encoder er veldig nyttige når vi må redusere antall pinner som brukes på en MCU / MPU eller redusere antall signalbærende ledninger i PLC og andre systemer der en rekke brytere eller LED. Den brukes også til å overføre data effektivt ved å bruke mindre ledninger. I noen applikasjoner kan vi ha en situasjon der mer enn én inngang kan være høy (1). I så fall vil vi ha noe som heter Priority Encoder, som vi vil diskutere videre i denne artikkelen.
Bygge kodere ved hjelp av kombinasjonslogiske design
Nå som vi vet hvordan en koder fungerer og hvor den brukes. La oss lære å bygge en ved hjelp av enkle logiske porter. Selv om kodere som 8: 3 er tilgjengelige som ryddige enkeltpakker IC som SN74LS148, er det viktig å vite hvordan de er bygget slik at vi kan lage tilpassede kodere for våre prosjekter basert på den nødvendige sannhetstabellen.
Boolsk uttrykk:
Den første i utformingen av Combinational Logic-enheten er å finne det boolske uttrykket for sannhetstabellen. Det er veldig enkelt og kan enkelt bestemmes bare ved å se på sannhetstabellen. Den samme sannhetstabellen som vi så tidligere er gitt nedenfor med noen illustrasjoner for å få deg til å forstå bedre.
Antall uttrykk vil være lik antall utgangslinjer, her har vi to utganger og dermed har vi to uttrykk. For den første utgangen O0, er det bare å sjekke i hvilken tilstand den er høy (1) og spore det tilsvarende inngangsnummeret som også forblir høyt (1). Tilsvarende for alle høye verdier av O0, noter hvilket inngangsnummer som er høyt og legg til pinnene. Inngangstappene som tilsvarer utgangsstiften O0 er markert med rødt over og for O1 er uthevet i blått. Så uttrykket for O0 og O1 vil være
O 1 = I 3 + I 2 O 0 = I 3 + I 1
4: 2 Encoder kretsdiagram:
Når vi først har oppnådd det boolske uttrykket, må vi bare tegne det i form av porter. Her siden vi har tilleggsoperasjon (+), vil vi bruke ELLER-portene til å konstruere kretsene våre. Du kan også forenkle eller endre det boolske uttrykket i henhold til dine behov. Kretsskjemaet for uttrykket ovenfor er vist nedenfor
Kretsen kan enkelt bygges ved hjelp av en 7432 ELLER gate IC. Jeg har bygget koderkretsen min over et brødbrett som vist nedenfor
De fire inngangslinjene (I0, I1, I2 og I3) er gitt av de fire trykknappene. Når du trykker på knappen, kobles den + 5V til pinnen slik at den blir logisk 1, og når knappen ikke trykkes, holdes pinnen til bakken gjennom en 10k trekk ned motstand for å gjøre det logisk null. Utgangene (O0 og O1) er representert ved hjelp av et par røde lysdioder. Hvis LED-lampen lyser, betyr det at utgangslogikken er 1, og hvis de er slått av, betyr det at utgangslogikken 0. Fullstendig bearbeiding av koderkretsen vises i videoen nedenfor
Som du kan se når den første knappen trykkes, blir inngangen I0 høy og begge utgangene forblir lave. Når den andre knappen trykkes på, slås inngangen I1 på, og dermed går en LED høyt for å indikere at O0 er høy. Til slutt når den fjerde knappen trykkes, blir inngangen I3 høy og dermed blir begge LED-lampene høye. Dette er en veldig enkel krets, derfor har vi bygget den enkelt på et brødbrett, men for praktiske kodere vil kretsen bli litt mer kompleks. Imidlertid er kodere også tilgjengelig som IC-pakker som kan kjøpes hvis det passer prosjektet ditt.
8: 3 kodere:
Arbeidet og bruken av 8: 3 Encoder ligner også 4: 2 Encoder bortsett fra antall inngangs- og utgangspinner. 8: 3 Encoder kalles også som Octal to Binary Encoder. Blokkdiagrammet til en 8: 3 Encoder er vist nedenfor
Her har koderen 8 innganger og 3 utganger, igjen skal bare én inngang være høy (1) til enhver tid. Siden det er 8 innganger kalles det som oktal inngang, og siden det er tre utganger kalles det også binær utgang. Sannhetstabellen til koderen er vist nedenfor.
8: 3 Sannhetstabell for koder:
Boolsk uttrykk:
Siden vi har deg utganger, vil vi ha tre uttrykk som vist nedenfor
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
8: 3 Encoder kretsdiagram:
Når det boolske uttrykket er oppnådd som alltid, kan vi bygge kretsdiagrammet ved hjelp av ELLER-portene som vist nedenfor.
Kretsen bruker en 4-inngang ELLER gate-IC, du kan også forenkle det boolske uttrykket for å bruke andre normale 2-inngangs-gate-IC-er.
Ulempen med normale kodere:
Disse typer kodere lider av følgende store ulemper
- Når ingen av inngangene er høye, vil utgangen være lik null, men disse forholdene kommer også i konflikt med at den første biten er høy (MSB). Derfor bør du alltid være forsiktig med at minst en bit forblir PÅ alltid
- Når mer enn en inngang er høy, vil utgangen bli kollapset og kan gi resultatet for en av inngangene som fører til forvirring.
For å overvinne disse vanskelighetene bruker vi en annen type koder, kalt Priority Encoder, som bruker en ekstra utgang for å avgjøre om utgangen er gyldig, og når mer enn én inngang er hjelp høy, blir den som går høyt fra LSD, vurdert alene mens ignorerer de andre inngangene.
Priority Encoder:
La oss analysere en 4: 2 Priority Encoder som et eksempel for å forstå hvordan den skiller seg fra en normal Encoder, og den kan overvinne de ovennevnte to ulempene. Blokkdiagrammet til en 4: 2 Priority Encoder er vist nedenfor
En prioritet 4: 2 Encoder har også 4 innganger og 2 utganger, men vi vil legge til en annen utgang kalt V som står for gyldig bit. Denne gyldige biten vil sjekke om alle de fire inngangspinnene er lave (0) hvis lave, vil biten også gjøre seg lav og si at utgangen ikke er gyldig, slik at vi kan overvinne den første ulempen som er nevnt ovenfor.
4: 2 Sannhetstabell for prioritetskoder:
Den neste ulempen kan unngås ved å prioritere MSB-biter, vil koderen sjekke fra MSB og når den først finner den første biten som er høy (1), vil den generere utdata tilsvarende. Så det spiller ingen rolle om de andre pinnene er høye eller lave. Derfor, i sannhetstabellen nedenfor, når en 1 er nådd, presenteres ikke bryr verdiene av "X".
Boolsk uttrykk:
Nå må vi utlede tre uttrykk som er for O0, O1 og V. Siden sannhetstabellen ikke bryr seg om ting, må vi bruke K-map-metoden for å utlede det boolske uttrykket for dette. Vi kommer ikke til å dekke hvordan vi kan løse med K-maps, siden det er utenfor omfanget av denne artikkelen. Men kartet vises nedenfor, slik at du kan blande deg inn og lære selv.
I kartene ovenfor er den venstre for O1 og den høyre for O0. Utgangslinjene er nevnt av y og inngangslinjene er nevnt av x. Så hvis vi ordner ligningen deretter får vi følgende.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
På samme måte kan det boolske uttrykket for den gyldige biten "V" gis som
V = I 3 + I 2 + I 1 + I 0
Kretsdiagram:
Kretsskjemaet for dette prosjektet kan bygges ved hjelp av de boolske uttrykkene.
Kretsen kan bygges ved hjelp av de grunnleggende NOT-, AND- og ELLER-portene. Her betraktes bitene O0 og O1 som utganger mens biten V brukes til å validere utgangen. Bare hvis biten V er høy, vil utgangen betraktes hvis verdien av V er lav (0), skal utgangen ignoreres, siden det innebærer at alle inngangspinnene er null.