En kodare är en digital krets som omvandlar en uppsättning binära ingångar till en unik binär kod. Den binära koden representerar ingångens position och används för att identifiera den specifika ingången som är aktiv. Kodare används vanligtvis i digitala system för att konvertera en parallell uppsättning ingångar till en seriell kod.
Grundprincipen för en kodare är att tilldela en unik binär kod till varje möjlig ingång. Till exempel har en 2-till-4-linjekodare 2 ingångslinjer och 4 utgångslinjer och tilldelar en unik 4-bitars binär kod till var och en av de 2^2 = 4 möjliga ingångskombinationerna. Utgången från en kodare är vanligtvis aktiv låg, vilket innebär att endast en utgång är aktiv (låg) vid varje given tidpunkt, och de återstående utgångarna är inaktiva (hög). Den aktiva låga utgången väljs baserat på den binära koden som tilldelats den aktiva ingången.
Det finns olika typer av kodare, inklusive prioritetskodare, som tilldelar en prioritet till varje ingång, och binärvägda kodare, som använder ett binärt viktningssystem för att tilldela binära koder till ingångar. Sammanfattningsvis är en kodare en digital krets som omvandlar en uppsättning binära ingångar till en unik binär kod som representerar ingångens position. Kodare används ofta i digitala system för att konvertera parallella ingångar till seriella koder.
En kodare är en kombinationskrets som utför den omvända operationen av en Avkodare . Den har max 2^n ingångsrader och 'n' utgångslinjer , därför kodar den informationen från 2^n ingångar till en n-bitars kod. Den kommer att producera en binär kod som motsvarar ingången, som är aktiv Hög. Därför kodar kodaren 2^n ingångslinjer med 'n' bitar.
Encoder
Typer av kodare
Det finns olika typer av kodare som nämns nedan.
abstrakta metoder
- 4 till 2 kodare
- Oktal till binär kodare (8 till 3 kodare)
- Decimal till BCD Encoder
- Prioritetskodare
4 till 2 kodare
4 till 2 Encoder består av fyra ingångar Y3, Y2, Y1 & Y0 och två utgångar A1 & A0 . När som helst kan endast en av dessa 4 ingångar vara '1' för att få respektive binär kod vid utgången. Bilden nedan visar logiksymbolen för 4 till 2-kodaren.

4 till 2 kodare
Sanningstabellen med 4 till 2 kodare är som följer.
| INGÅNGAR | UTGÅNGAR | ||||
|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 |
| 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
Logiskt uttryck för A1 och A0:
A1 = Y3 + Y2 A0 = Y3 + Y1>
Ovanstående två booleska funktioner A1 och A0 kan implementeras med två ingångs-ELLER-grindar:
java check är null

Implementering med OR Gate
Oktal till binär kodare (8 till 3 kodare)
8 till 3 kodare eller oktal till binär kodare består av 8 ingångar : Y7 till Y0 och 3 utgångar : A2, A1 & A0. Varje ingångsrad motsvarar varje oktal siffra och tre utgångar genererar motsvarande binär kod. Figuren nedan visar den logiska symbolen för oktal till den binära kodaren.

Oktal till binär kodare (8 till 3 kodare)
Sanningstabellen för 8 till 3-kodaren är som följer.
| INGÅNGAR | UTGÅNGAR | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Logiskt uttryck för A2, A1 och A0.
A2 = Y7 + Y6 + Y5 + Y4 A1 = Y7 + Y6 + Y3 + Y2 A0 = Y7 + Y5 + Y3 + Y1>
Ovanstående två booleska funktioner A2, A1 och A0 kan implementeras med fyra ingångar ELLER grindar .

Implementering med OR Gate
Decimal till BCD Encoder
Den decimal-till-binära kodaren består vanligtvis av 10 ingångsrader och 4 utgångslinjer . Varje ingångsrad motsvarar varje decimalsiffra och 4 utgångar motsvarar BCD-koden. Denna kodare accepterar de avkodade decimaldata som en ingång och kodar den till BCD-utgången som är tillgänglig på utgångslinjerna. Figuren nedan visar den logiska symbolen för decimalen till BCD-kodaren:

Decimal till BCD Encoder
Sanningstabellen för decimal till BCD-kodare enligt följande.
USA hur många städer
| INGÅNGAR | UTGÅNGAR | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Y9 | Y8 | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A3 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Logiskt uttryck för A3, A2, A1 och A0.
A3 = Y9 + Y8 A2 = Y7 + Y6 + Y5 +Y4 A1 = Y7 + Y6 + Y3 +Y2 A0 = Y9 + Y7 +Y5 +Y3 + Y1>
Ovanstående två booleska funktioner kan implementeras med hjälp av ELLER-grindar.

Implementering med OR Gate
Priority Encoder
En 4 till 2 prioritetskodare har 4 ingångar : Y3, Y2, Y1 & Y0, och 2 utgångar : A1 & A0. Här har ingången Y3 högsta prioritet , medan ingången Y0 har lägsta prioritet . I det här fallet, även om mer än en ingång är '1' samtidigt, kommer utgången att vara den (binära) koden som motsvarar ingången, som har högre prioritet . Sanningstabellen för prioritetskodaren är som följer.
| INGÅNGAR | UTGÅNGAR | |||||
|---|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 | I |
| 0 | 0 | 0 | 0 | X | X | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | X | 0 | 1 | 1 |
| 0 | 1 | X | X | 1 | 0 | 1 |
| 1 | X | X | X | 1 | 1 | 1 |
Det logiska uttrycket för A1 visas nedan.

Logiskt uttryck
knappen för att centrera css
Det logiska uttrycket för A0 visas nedan.

Logiskt uttryck
Ovanstående två booleska funktioner kan implementeras som.

Prioritetskodare
Det finns några fel som vanligtvis inträffar i Encoders nämns nedan.
- Det finns en tvetydighet när alla utgångar från kodaren är lika med noll.
- Om mer än en ingång är aktiv Hög, producerar kodaren en utgång, som kanske inte är rätt kod.
Så för att övervinna dessa svårigheter bör vi tilldela prioriteringar till varje ingång av kodaren. Då kommer utgången från kodaren att vara den kod som motsvarar de aktiva höga ingångarna, vilka har högre prioritet.
Tillämpning av kodare
- Kodare är mycket vanliga elektroniska kretsar som används i alla digitala system.
- Kodare används för att översätta decimalvärdena till binären för att utföra binära funktioner som addition, subtraktion, multiplikation, etc.
- Andra applikationer speciellt för Priority Encoders kan inkludera detektering av avbrott i mikroprocessorapplikationer.
Fördelar med att använda kodare i digital logik
- Minskning av antalet rader: Kodare minskar antalet linjer som krävs för att överföra information från flera ingångar till en enda utgång, vilket kan förenkla designen av systemet och minska kostnaderna för komponenter.
- Förbättrad tillförlitlighet: Genom att konvertera flera ingångar till en enda seriell kod kan kodare minska risken för fel i överföringen av information.
- Förbättrad prestanda: Kodare kan förbättra prestandan hos ett digitalt system genom att minska den tid som krävs för att överföra information från flera ingångar till en enda utgång.
Nackdelar med att använda kodare i digital logik
- Ökad komplexitet: Kodare är vanligtvis mer komplexa kretsar jämfört med multiplexorer , och kräver ytterligare komponenter att implementera.
- Begränsat till specifika applikationer: Kodare är endast lämpliga för tillämpningar där en parallell uppsättning ingångar måste omvandlas till en seriell kod.
- Begränsad flexibilitet: Kodare är begränsade i sin flexibilitet, eftersom de bara kan koda ett fast antal ingångar till ett fast antal utgångar.
- Sammanfattningsvis är kodare användbara digitala kretsar som har sina fördelar och nackdelar. Valet av om man ska använda en kodare eller inte beror på systemets specifika krav och avvägningarna mellan komplexitet, tillförlitlighet, prestanda och kostnad.
GATE CS hörnfrågor
Att öva på följande frågor hjälper dig att testa dina kunskaper. Alla frågor har ställts i GATE under tidigare år eller i GATE Mock Tests. Det rekommenderas starkt att du tränar dem.
- GATE CS 2013, fråga 65
- GATE CS 2014 (uppsättning 3), fråga 65