- Grundlæggende princip for koderen:
- Bygge kodere ved hjælp af kombinationslogiske design
- 8: 3 kodere:
- Ulempe med normale kodere:
- Prioriteret indkoder:
Kodere, som navnet antyder, koder en større bit information til en mindre bitværdi. Der er mange typer kodere baseret på antallet af input og output og baseret på, hvordan det fungerer. Men hver koder har en underliggende regel, antallet af outputlinjer på en koder vil altid være mindre end antallet af inputlinjer. Vi vil lære mere om kodere, hvad der er en kode, hvordan og hvorfor de bruges i digitale kredsløb i denne artikel.
Grundlæggende princip for koderen:
Lad os forestille os, at en indkoder er en sort boks som vist nedenfor, som magisk reducerer antallet af inputlinjer fra 4 til kun 2 outputlinjer, men stadig giver de samme oplysninger uden tab af data.
Lad os først bestemme, hvad navnet på denne koder ville være. Den har fire indgange og to udgange, så navnet på denne indkoder er 4: 2 indkoder. Hvis en indkoder har " n " antal outputlinjer, vil antallet af inputlinjer være 2 n, i vores tilfælde er antallet af udgangslinjer to (n = 2), derfor skal antallet af indgangslinjer være (2 2 = 4) fire, hvilket er nøjagtigt tilfældet. De fire inputstifter er mærket fra I0 til I3, og de to outputstifter er mærket fra O0 til O1
Så hvordan konverterer koderen fire signaler til to, kan det forstås ved at se på sandhedstabellen nedenfor. Det er også vigtigt at vide, at en almindelig indkoder som den her vist har en regel om, at kun en indgangsstift på det givne tidspunkt skal være høj, så i den følgende sandhedstabel vil kun én indgang være høj.
Alle mulige betingelser for input input output vises i ovenstående sandhedstabel. For eksempel når kun O1 er høj (1) og alle andre indgange er lave (0), vil begge udgangsstifter være lave (0). Tilsvarende for hvert tilfælde vil outputstifterne også ændre sin status. Ved at bruge denne Outputbit-status vil brugeren være i stand til at spore tilbage til, hvilket indgangssignal der ville være givet til koderen.
Okay, hvad er smukt ved at konvertere 4 linjer til 2 linjer, hvorfor har vi endda brug for det?
Med henblik på forståelse har vi forklaret en 4: 2-indkoder, men der er andre kodere, der kan tage et højere antal indgange og konvertere dem til et lavere antal udgange som 8: 3-koderen, 16: 4-koderen osv. Disse typer af Encoder er meget nyttige, når vi skal reducere antallet af ben, der bruges på en MCU / MPU eller reducere antallet af signalbærende ledninger i PLC og andre systemer, hvor en række switch eller LED. Det bruges også til transmission af data effektivt ved hjælp af mindre ledninger. I nogle applikationer har vi muligvis en situation, hvor mere end en input kan være høj (1), i det tilfælde vil vi have noget, der kaldes Priority Encoder, som vi vil diskutere yderligere i denne artikel.
Bygge kodere ved hjælp af kombinationslogiske design
Nu hvor vi ved, hvordan en koder fungerer, og hvor den bruges. Lad os lære at bygge en ved hjælp af enkle logiske porte. Selvom kodere som 8: 3 er tilgængelige som pæn enkeltpakke IC som SN74LS148, er det vigtigt at vide, hvordan de er bygget, så vi kan fremstille brugerdefinerede kodere til vores projekter baseret på den krævede sandhedstabel.
Boolsk udtryk:
Den første i designet af Combinational Logic-enheden er at finde det boolske udtryk til sandhedstabellen. Det er meget let og kan let bestemmes bare ved at se på sandhedstabellen. Den samme sandhedstabel, som vi så tidligere, er angivet nedenfor med nogle illustrationer for at få dig til at forstå bedre.
Antallet af udtryk vil være lig med antallet af udgangslinjer, her har vi to udgange, og derfor har vi to udtryk. For den første udgang O0 skal du bare kontrollere, i hvilken tilstand den er høj (1) og spore det tilsvarende input pin-nummer, som også forbliver højt (1). Tilsvarende for alle høje O0-værdier skal du notere, hvilket input-pin-nummer der er højt, og tilføj benene. Indgangsstifterne svarende til udgangsstift O0 er markeret med rødt ovenfor og for O1 er fremhævet i blå. Så udtrykket for O0 og O1 vil være
O 1 = I 3 + I 2 O 0 = I 3 + I 1
4: 2 Encoder kredsløbsdiagram:
Når vi først har opnået det boolske udtryk, skal vi bare tegne det i form af porte. Her, da vi har tilføjelse (+), bruger vi ELLER-porte til at konstruere vores kredsløb. Du kan også forenkle eller ændre det boolske udtryk efter dine behov. Kredsløbsdiagrammet til ovenstående udtryk er vist nedenfor
Kredsløbet kan let bygges ved hjælp af en 7432 ELLER gate IC. Jeg har bygget mit koderkredsløb over et brødbræt som vist nedenfor
De fire inputlinjer (I0, I1, I2 og I3) leveres af de fire trykknapper, når der trykkes på knappen, forbinder den + 5V til stiften, hvilket gør det logisk 1, og når knappen ikke trykkes, holdes stiften til jorden gennem en 10k træk ned modstand for at gøre det logisk nul. Udgangene (O0 og O1) er repræsenteret ved hjælp af et par røde lysdioder. Hvis LED'en lyser, betyder det, at outputlogikken er 1, og hvis de er slukket, betyder det, at outputlogikken 0. Den komplette bearbejdning af koderkredsløbet vises i videoen nedenfor
Som du kan se, når der trykkes på den første knap, bliver indgangen I0 høj, og begge udgange forbliver derfor lave. Når der trykkes på den anden knap, tændes indgangen I1, og dermed går en LED højt for at indikere, at O0 er høj. Når den fjerde knap trykkes, bliver indgangen I3 høj og dermed går begge LED højt. Dette er et meget simpelt kredsløb, derfor har vi nemt bygget det på et brødbræt, men for praktiske kodere bliver kredsløbet lidt mere komplekst. Kodere er dog også tilgængelige som IC-pakker, som kan købes, hvis det passer til dit projekt.
8: 3 kodere:
Arbejdet og brugen af 8: 3 Encoder svarer også til 4: 2 Encoder bortset fra antallet af input og output pins. 8: 3 Encoder kaldes også som Octal til Binary Encoder, blokdiagrammet for en 8: 3 Encoder er vist nedenfor
Her har koderen 8 indgange og 3 udgange, igen skal kun én indgang være høj (1) til enhver tid. Da der er 8 indgange kaldes det som oktalt input, og da der er tre udgange kaldes det også binært output. Sandhedstabellen for koderen er vist nedenfor.
8: 3 Sandhedstabel for koder:
Boolsk udtryk:
Da vi har dig output, har vi tre udtryk 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 diagram for indkoderkredsløb:
Når det boolske udtryk er opnået som altid, kan vi oprette kredsløbsdiagrammet ved hjælp af ELLER-porte som vist nedenfor.
Kredsløbet bruger en 4-input ELLER gate IC, du kan også forenkle den boolske ekspression for at bruge andre normale 2 input Gate IC'er.
Ulempe med normale kodere:
Disse typer kodere lider af følgende store ulemper
- Når ingen af input er høj, vil Output være lig med alt nul, men disse betingelser er også i konflikt med den første bit er høj (MSB). Derfor skal der altid tages forsigtighed med, at mindst en bit altid forbliver TIL
- Når mere end en indgang er høj, kollapses output og kan give resultatet for en af indgangene, hvilket fører til forvirring.
For at overvinde disse vanskeligheder anvender vi en anden type indkoder kaldet en Priority Encoder, der bruger en ekstra output til at bestemme, om output er gyldigt, og når mere end en input er højt, betragtes den, der går højt fra LSD, alene, mens ignorerer de andre indgange.
Prioriteret indkoder:
Lad os analysere en 4: 2 Priority Encoder som et eksempel for at forstå, hvordan den adskiller sig fra en normal Encoder, og den kan overvinde de ovennævnte to ulemper. Blokdiagrammet for en 4: 2 Priority Encoder er vist nedenfor
En prioritet 4: 2 Encoder har også 4 indgange og 2 udgange, men vi tilføjer en anden udgang kaldet V, som står for gyldig bit. Denne gyldige bit vil kontrollere, om alle de fire indgangsstifter er lave (0), hvis lave, bit vil også gøre sig selv lav med angivelse af, at output ikke er gyldig, så vi kan overvinde den første ulempe, der er nævnt ovenfor.
4: 2 Sandhedstabel for prioritetskoder:
Den næste ulempe kan undgås ved at prioritere MSB-bits, koderen vil kontrollere fra MSB'en, og når den finder den første bit så høj (1), vil den generere output i overensstemmelse hermed. Så det betyder ikke noget, om de andre ben er høje eller lave. Derfor, i sandhedstabellen nedenfor, når en 1 er nået, er værdierne ligeglad med “X”.
Boolsk udtryk:
Nu er vi nødt til at udlede tre udtryk, der er for O0, O1 og V. Da sandhedstabellen ikke har noget at gøre, er vi nødt til at bruge K-map-metoden til at udlede den boolske udtryk til dette. Vi vil ikke dække, hvordan vi løser med K-maps, da det er uden for denne artikels anvendelsesområde. Men kortet vises nedenfor, så du kan blande dig selv og lære.
På kortene ovenfor er den venstre til O1 og den rigtige til O0. Udgangslinjerne er nævnt af y, og indgangslinjerne er nævnt med x. Så at arrangere ligningen i overensstemmelse hermed får vi følgende.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
På samme måde kan det boolske udtryk for den gyldige bit “V” gives som
V = I 3 + I 2 + I 1 + I 0
Kredsløbsdiagram:
Kredsløbsdiagrammet til dette projekt kan bygges ved hjælp af de boolske udtryk.
Kredsløbet kan bygges ved hjælp af de grundlæggende IKKE-, OG- og ELLER-porte. Her betragtes bitene O0 og O1 som udgange, mens biten V bruges til at validere output. Kun hvis bit V er høj, betragtes output, hvis værdien af V er lav (0), skal output ignoreres, da det indebærer, at alle inputpindene er nul.