Posted in: Číselné systémy

Dekodér

Dekodér je kombinační logický obvod, který ze vstupních dat v určitém kódu vytváří na výstupu jiná, často jednodušší data. Funkce dekodéru je inverzní k funkci kodéru.

Typickým příkladem dekodéru je binární dekodér či demultiplexor, obvod, který binárně kódovaný vstupní signál o n bitech převádí na 2n výstupů, kódovaných jako 1 z 2n. Tak dekodér adresy v paměti počítače převádí část adresy na výstup 1 z n, čímž vybírá např. řádek nebo sloupec paměťové matice.
Jiný běžný typ dekodéru převádí binárně kódovanou číslici na její zobrazení na sedmisegmentovém displeji, čili pro každou vstupní číslici aktivuje příslušné segmenty. Vstup dekodéru bude tedy čtyřbitový (obvykle plus aktivační bit) a výstup by mohl být až 16-bitový, ale pro daný případ stačí sedmibitový. Například je-li na vstupu číslice 8 (IOOO), bude výstup aktivovat všechny segmenty displeje (IIIIIII), kdežto je-li na vstupu 1, bude aktivovat pouze pravé dva.
Složitější dekodér je součástí každého procesoru, kde dekóduje operační znak instrukce (mikroinstrukce), to jest aktivuje příslušná hradla a další signály procesoru k provedení dané instrukce.

Příklad: Dekodér z BCD na 2/5

Kód BCD

Číslicové měřící přístroje zpracovávají desítkové cifry někdy oddělené (rády), je tedy vhodné převést každou cifru na binární tvar zvlášť.

Na číslo do deseti nám postačují 4 binární pozice, tedy 8,4,2,1 (podle řádu). Na rád desítek postačuje 80,40,20,10, pro stovky stačí základní binární pozice násobit stem atd. Toto spojení binárního a desítkového kódování je právě BCD (binary code decimal) kód. Označení BCD(8421) znamená pořadí v kódu, někdy se používá obrácených vah 1248.

Vzhledem k tomu, že existuje šestnáct různých kombinací čtyř bitů, a desítkových číslic je jen deset, je šest kombinací nevyužito. V porovnání s hexadecimální soustavou, kde je pro každé čtyři bity využíváno všech šestnáct hodnot (1010 až 1510 jako písmena AH až FH), je BCD kód z hlediska využití paměti neúsporný.

Že je číslo v BCD kódu, je podstatná a prioritní informace: Bez její znalosti by se totiž bitový zápis mohl jevit jako obyčejné hexadecimální číslo. Z BCD a hexadecimálního kódu vyplývají jiné hodnoty. Například (1001 1001)2 =  (99)10 pro BCD kód, ale v hexadecimálním kódování je (1001 1001)2 = (0x99)H =  (153)10. Níže je uvede pravdivostní tabulka kódu BCD 8421:

Číslo10ABCD
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001

Kód 2z5 (2/5)

Skupina kódů 2/5 patří historicky k nejstarším – kód Industrial 2/5 byl vyvinut firmou Identicon Corporation již v roce 1968. Kód je tvořen znakem Start, znaky 0 až 9 a znakem Stop, je tedy schopen kódovat pouze numerické informace.

Kód je proměnné délky a každý jeho dílčí znak je tvořen pěticí čar, z nichž tři jsou úzké a dva široké. Mezery v tomto kódu nenesou žádnou informaci. Poměr šířky širokého a úzkého elementu je roven 3:1, šířku mezery je doporučeno použít rovnou šířce modulu X.

Kód má velmi široké toleranční pásmo, je tedy vhodný i pro nekvalitní tisk, podklad, špatně přijímající barvu a ztížené podmínky čtení. Nevýhodou je značná délka. Ukázka kódování je v tabulce – 0 odpovídá úzkému, 1 širokému elementu. Kód zvaný Interleaved 2 of 5 (prokládaný 2/5) zakódovává data i do mezer a tím využívá větší prostor čárového kódu pro přenos dat. Díle je uvedena pravdivostní tabulka kódu 2/5.

011000
100011
200101
300110
401001
501010
601100
710001
810010
910100

Dále uvádím kódování pomocí čar, protože jde o jeden z nějpoužívanějších typů kódů pro lidově zvané čárové kódy.

ZnakC1C2C3C4C5
000110
110001
201001
311000
400101
510100
601100
700011
810010
901010
Start110
Stop101

Sestavení funkcí

Funkce budeme sestavovat z kódu 2/5. Jednotlivé nymterny jsou zapsané ve sloupcích, které nesou názvy jednotlivých funkcí.

funkce0123456789číslo
Fa(0,7,8,9)1000000111A
Fb(0,4,5,6)1000111000B
Fc(2,3,6,9)0011001001C
Fd(1,3,5,8)0101010010D
Fe(1,2,4,7)0110100100E

Syntéza kódů

Realizační schéma

Počet kusůSoučást
5Rezistor 220R
5LED dioda
5MH7410
5MH7420
1 (6)MH7404 (dle plošného spoje)
Back to Top