Kodér je digitální obvod, který převádí sadu binárních vstupů na jedinečný binární kód. Binární kód představuje pozici vstupu a používá se k identifikaci konkrétního vstupu, který je aktivní. Kodéry se běžně používají v digitálních systémech k převodu paralelní sady vstupů na sériový kód.
Základním principem kodéru je přiřazení jedinečného binárního kódu každému možnému vstupu. Například kodér 2 až 4 řádky má 2 vstupní řádky a 4 výstupní řádky a přiřazuje jedinečný 4bitový binární kód každé z 2^2 = 4 možných kombinací vstupů. Výstup kodéru je obvykle aktivní nízký, což znamená, že pouze jeden výstup je aktivní (nízký) v daném okamžiku a zbývající výstupy jsou neaktivní (vysoké). Aktivní nízký výstup je vybrán na základě binárního kódu přiřazeného aktivnímu vstupu.
Existují různé typy kodérů, včetně prioritních kodérů, které přiřazují prioritu každému vstupu, a binárně vážených kodérů, které používají binární váhový systém k přiřazení binárních kódů vstupům. Stručně řečeno, kodér je digitální obvod, který převádí sadu binárních vstupů na jedinečný binární kód, který představuje polohu vstupu. Kodéry jsou široce používány v digitálních systémech pro převod paralelních vstupů na sériové kódy.
java matematický pow
Kodér je a kombinační obvod která provádí obrácenou operaci a Dekodér . Má max 2^n vstupních řádků a „n“ výstupních řádků , proto zakóduje informace z 2^n vstupů do n-bitového kódu. Vytvoří binární kód ekvivalentní vstupu, který je aktivní High. Proto kodér zakóduje 2^n vstupních řádků s ‚n‘ bity.
Kodér
Typy kodérů
Existují různé typy kodérů, které jsou uvedeny níže.
- 4 až 2 kodér
- Osmičkový až binární kodér (8 až 3 kodér)
- Desetinný až BCD kodér
- Prioritní kodér
4 až 2 kodér
Kodér 4 až 2 se skládá z čtyři vstupy Y3, Y2, Y1 & Y0 a dva výstupy A1 & A0 . V každém okamžiku může být pouze jeden z těchto 4 vstupů ‚1‘, aby se na výstupu dostal příslušný binární kód. Obrázek níže ukazuje logický symbol kodéru 4 až 2.

4 až 2 kodér
Tabulka pravdy 4 až 2 kodérů je následující.
| 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 pro A1 a A0:
A1 = Y3 + Y2 A0 = Y3 + Y1>
Výše uvedené dvě booleovské funkce A1 a A0 lze implementovat pomocí dvou vstupních hradel OR:
řádek vs sloupec

Implementace pomocí OR Gate
Osmičkový až binární kodér (8 až 3 kodér)
Kodér 8 až 3 nebo osmičkový až binární kodér se skládá z 8 vstupů : Y7 až Y0 a 3 výstupy : A2, A1 a A0. Každý vstupní řádek odpovídá každé osmičkové číslici a tři výstupy generují odpovídající binární kód. Obrázek níže ukazuje logický symbol osmičky do binárního kodéru.

Osmičkový až binární kodér (8 až 3 kodér)
Pravdivostní tabulka pro kodér 8 až 3 je následující.
| 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 pro A2, A1 a A0.
A2 = Y7 + Y6 + Y5 + Y4 A1 = Y7 + Y6 + Y3 + Y2 A0 = Y7 + Y5 + Y3 + Y1>
Výše uvedené dvě booleovské funkce A2, A1 a A0 lze implementovat pomocí čtyř vstupů NEBO brány .

Implementace pomocí OR Gate
Desetinný až BCD kodér
Desetinný kodér se obvykle skládá z 10 vstupních řádků a 4 výstupní linky . Každý vstupní řádek odpovídá každé desetinné číslici a 4 výstupy odpovídají kódu BCD. Tento kodér přijímá dekódovaná dekadická data jako vstup a zakóduje je na výstup BCD, který je k dispozici na výstupních linkách. Obrázek níže ukazuje logický symbol dekadického kodéru na BCD:

Desetinný až BCD kodér
Pravdivostní tabulka pro desetinné místo BCD kodér je následující.
upravit soubor linux
| 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 pro A3, A2, A1 a A0.
A3 = Y9 + Y8 A2 = Y7 + Y6 + Y5 +Y4 A1 = Y7 + Y6 + Y3 +Y2 A0 = Y9 + Y7 +Y5 +Y3 + Y1>
Výše uvedené dvě booleovské funkce lze implementovat pomocí hradel OR.

Implementace pomocí OR Gate
Prioritní kodér
Kodér s prioritou 4 až 2 má 4 vstupy : Y3, Y2, Y1 & Y0 a 2 výstupy : A1 a A0. Zde má vstup Y3 Nejvyšší prioritou , zatímco vstup, Y0 má nejnižší priorita . V tomto případě, i když je více než jeden vstup „1“ současně, výstupem bude (binární) kód odpovídající vstupu, který má vyšší prioritu . Pravdivostní tabulka pro kodér priority je následující.
| 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 pro A1 je uveden níže.

Logický výraz
kruhové plánování
Logický výraz pro A0 je uveden níže.

Logický výraz
Výše uvedené dvě booleovské funkce lze implementovat jako.

Prioritní kodér
Níže jsou uvedeny některé chyby, které se obvykle vyskytují v kodérech.
- Existuje nejednoznačnost, když jsou všechny výstupy kodéru rovny nule.
- Pokud je aktivní více než jeden vstup High, pak kodér vytvoří výstup, který nemusí být správný kód.
Abychom tyto obtíže překonali, měli bychom každému vstupu kodéru přiřadit priority. Poté bude výstupem kodéru kód odpovídající aktivním vysokým vstupům, které mají vyšší prioritu.
Aplikace kodérů
- Kodéry jsou velmi běžné elektronické obvody používané ve všech digitálních systémech.
- Kodéry se používají k převodu desetinných hodnot na binární, aby mohly provádět binární funkce, jako je sčítání, odčítání, násobení atd.
- Jiné aplikace, zejména pro prioritní kodéry, mohou zahrnovat detekci přerušení v mikroprocesorových aplikacích.
Výhody použití kodérů v digitální logice
- Snížení počtu řádků: Kodéry snižují počet linek potřebných k přenosu informací z více vstupů na jeden výstup, což může zjednodušit návrh systému a snížit náklady na komponenty.
- Vylepšená spolehlivost: Převedením více vstupů do jediného sériového kódu mohou kodéry snížit možnost chyb při přenosu informací.
- Zlepšený výkon: Kodéry mohou zlepšit výkon digitálního systému snížením doby potřebné k přenosu informací z více vstupů na jeden výstup.
Nevýhody použití kodérů v digitální logice
- Zvýšená složitost: Kodéry jsou obvykle složitější obvody ve srovnání s multiplexery a vyžadují další komponenty k implementaci.
- Omezeno na konkrétní aplikace: Kodéry jsou vhodné pouze pro aplikace, kde je nutné převést paralelní sadu vstupů na sériový kód.
- Omezená flexibilita: Enkodéry jsou omezené ve své flexibilitě, protože mohou kódovat pouze pevný počet vstupů do pevného počtu výstupů.
- Závěrem lze říci, že kodéry jsou užitečné digitální obvody, které mají své výhody a nevýhody. Volba, zda použít kodér nebo ne, závisí na konkrétních požadavcích systému a kompromisech mezi složitostí, spolehlivostí, výkonem a cenou.
Otázky k rohu GATE CS
Procvičení následujících otázek vám pomůže ověřit vaše znalosti. Všechny otázky byly položeny v GATE v předchozích letech nebo v GATE Mock Tests. Důrazně se doporučuje, abyste si je procvičili.
- GATE CS 2013, otázka 65
- GATE CS 2014 (3. sada), otázka 65