Kódovač je digitálny obvod, ktorý konvertuje sadu binárnych vstupov na jedinečný binárny kód. Binárny kód predstavuje pozíciu vstupu a používa sa na identifikáciu konkrétneho vstupu, ktorý je aktívny. Kódovače sa bežne používajú v digitálnych systémoch na konverziu paralelnej sady vstupov na sériový kód.
Základným princípom kodéra je priradiť jedinečný binárny kód každému možnému vstupu. Napríklad 2-to-4-riadkový kódovač má 2 vstupné linky a 4 výstupné linky a každej z 2^2 = 4 možných vstupných kombinácií priraďuje jedinečný 4-bitový binárny kód. Výstup enkodéra je zvyčajne aktívny nízky, čo znamená, že iba jeden výstup je aktívny (nízky) v danom čase a zvyšné výstupy sú neaktívne (vysoké). Aktívny nízky výstup sa volí na základe binárneho kódu priradeného aktívnemu vstupu.
Existujú rôzne typy kódovačov, vrátane prioritných kódovačov, ktoré priraďujú prioritu každému vstupu, a binárne vážených kódovačov, ktoré používajú binárny váhový systém na priraďovanie binárnych kódov vstupom. Stručne povedané, kódovač je digitálny obvod, ktorý prevádza sadu binárnych vstupov na jedinečný binárny kód, ktorý predstavuje polohu vstupu. Kódovače sú široko používané v digitálnych systémoch na konverziu paralelných vstupov na sériové kódy.
Kódovač je a kombinačný obvod ktorý vykonáva opačnú operáciu a Dekodér . Má max 2^n vstupných riadkov a „n“ výstupných riadkov , preto zakóduje informácie z 2^n vstupov do n-bitového kódu. Vytvorí binárny kód ekvivalentný vstupu, ktorý je aktívny High. Preto kódovač zakóduje 2^n vstupných riadkov s bitmi „n“.
kódovač
Typy kódovačov
Existujú rôzne typy kódovačov, ktoré sú uvedené nižšie.
- 4 až 2 kódovač
- Osmičkový až binárny kódovač (8 až 3 kódovač)
- Decimálne na kódovač BCD
- Prioritný kódovač
4 až 2 kódovač
Kódovač 4 až 2 pozostáva z štyri vstupy Y3, Y2, Y1 a Y0 a dva výstupy A1 a A0 . Kedykoľvek môže byť iba jeden z týchto 4 vstupov „1“, aby sa na výstupe získal príslušný binárny kód. Obrázok nižšie zobrazuje logický symbol kódovača 4 až 2.

4 až 2 kódovač
Tabuľka pravdy 4 až 2 kódovačov je nasledovná.
| VSTUPY | VÝSTUPY | ||||
|---|---|---|---|---|---|
| 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 |
Logický výraz pre A1 a A0:
A1 = Y3 + Y2 A0 = Y3 + Y1>
Vyššie uvedené dve boolovské funkcie A1 a A0 možno implementovať pomocou dvoch vstupných brán OR:

Implementácia pomocou OR Gate
Osmičkový až binárny kódovač (8 až 3 kódovač)
Kódovač 8 až 3 alebo osmičkový až binárny kódovač pozostáva z 8 vstupov : Y7 až Y0 a 3 výstupy : A2, A1 a A0. Každý vstupný riadok zodpovedá každej osmičkovej číslici a tri výstupy generujú zodpovedajúci binárny kód. Obrázok nižšie zobrazuje logický symbol osmičky pre binárny kódovač.

Osmičkový až binárny kódovač (8 až 3 kódovač)
Pravdivostná tabuľka pre kódovač 8 až 3 je nasledovná.
| VSTUPY | VÝSTUPY | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Logický výraz pre A2, A1 a A0.
A2 = Y7 + Y6 + Y5 + Y4 A1 = Y7 + Y6 + Y3 + Y2 A0 = Y7 + Y5 + Y3 + Y1>
Vyššie uvedené dve boolovské funkcie A2, A1 a A0 možno implementovať pomocou štyroch vstupov ALEBO brány .

Implementácia pomocou OR Gate
Decimálne na kódovač BCD
Dekadický-binárny kódovač sa zvyčajne skladá z 10 vstupných riadkov a 4 výstupné riadky . Každý vstupný riadok zodpovedá každej desatinnej číslici a 4 výstupy zodpovedajú kódu BCD. Tento kódovač prijíma dekódované desiatkové dáta ako vstup a zakóduje ich na výstup BCD, ktorý je k dispozícii na výstupných linkách. Na obrázku nižšie je zobrazený logický symbol kódovača desatinných miest na BCD:

Decimálne na kódovač BCD
Pravdivostná tabuľka pre desatinné až BCD kódovač je nasledujúca.
| VSTUPY | VÝSTUPY | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Logický výraz pre A3, A2, A1 a A0.
A3 = Y9 + Y8 A2 = Y7 + Y6 + Y5 +Y4 A1 = Y7 + Y6 + Y3 +Y2 A0 = Y9 + Y7 +Y5 +Y3 + Y1>
Vyššie uvedené dve booleovské funkcie možno implementovať pomocou hradel OR.

Implementácia pomocou OR Gate
Prioritný kódovač
Kódovač s prioritou 4 až 2 má 4 vstupy : Y3, Y2, Y1 a Y0 a 2 výstupy : A1 a A0. Tu, vstup, Y3 má najvyššia priorita , zatiaľ čo vstup, Y0 má najnižšia priorita . V tomto prípade, aj keď je viac ako jeden vstup „1“ súčasne, výstupom bude (binárny) kód zodpovedajúci vstupu, ktorý má vyššiu prioritu . Pravdivostná tabuľka pre kódovač priority je nasledovná.
| VSTUPY | VÝSTUPY | |||||
|---|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 | V |
| 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 |
Logický výraz pre A1 je uvedený nižšie.

Logický výraz
Logický výraz pre A0 je uvedený nižšie.

Logický výraz
Vyššie uvedené dve booleovské funkcie možno implementovať ako.
výška odsadenia

Prioritný kódovač
Niektoré chyby, ktoré sa zvyčajne vyskytujú v kódovačoch, sú uvedené nižšie.
- Existuje nejednoznačnosť, keď sú všetky výstupy kódovača rovné nule.
- Ak je aktívny viac ako jeden vstup High, potom kódovač vytvorí výstup, ktorý nemusí byť správny kód.
Aby sme prekonali tieto ťažkosti, mali by sme priradiť priority každému vstupu kódovača. Potom bude výstupom kodéra kód zodpovedajúci aktívnym vysokým vstupom, ktoré majú vyššiu prioritu.
Aplikácia kódovačov
- Kódovače sú veľmi bežné elektronické obvody používané vo všetkých digitálnych systémoch.
- Kódovače sa používajú na prevod desiatkových hodnôt do binárneho systému, aby mohli vykonávať binárne funkcie, ako je sčítanie, odčítanie, násobenie atď.
- Iné aplikácie, najmä pre prioritné kódovače, môžu zahŕňať detekciu prerušení v mikroprocesorových aplikáciách.
Výhody použitia kódovačov v digitálnej logike
- Zníženie počtu riadkov: Kódovače znižujú počet riadkov potrebných na prenos informácií z viacerých vstupov na jeden výstup, čo môže zjednodušiť návrh systému a znížiť náklady na komponenty.
- Vylepšená spoľahlivosť: Prevedením viacerých vstupov do jedného sériového kódu môžu kódovače znížiť možnosť chýb pri prenose informácií.
- Vylepšený výkon: Kódovače môžu zvýšiť výkon digitálneho systému znížením množstva času potrebného na prenos informácií z viacerých vstupov na jeden výstup.
Nevýhody použitia kódovačov v digitálnej logike
- Zvýšená zložitosť: Kódovače sú zvyčajne zložitejšie obvody v porovnaní s multiplexory a vyžadujú si ďalšie komponenty na implementáciu.
- Obmedzené na špecifické aplikácie: Snímače sú vhodné len pre aplikácie, kde sa paralelná sada vstupov musí previesť na sériový kód.
- Obmedzená flexibilita: Kódovače sú vo svojej flexibilite obmedzené, pretože dokážu zakódovať iba pevný počet vstupov do pevného počtu výstupov.
- Záverom možno povedať, že kódovače sú užitočné digitálne obvody, ktoré majú svoje výhody a nevýhody. Voľba, či použiť kódovač alebo nie, závisí od špecifických požiadaviek systému a kompromisov medzi zložitosťou, spoľahlivosťou, výkonom a cenou.
Otázky GATE CS Corner
Precvičenie si nasledujúcich otázok vám pomôže otestovať si svoje znalosti. Všetky otázky boli položené v GATE v predchádzajúcich rokoch alebo v GATE Mock Testoch. Dôrazne sa odporúča, aby ste si ich precvičili.
- GATE CS 2013, otázka 65
- GATE CS 2014 (súbor 3), otázka 65