Kodér
Kodér je kombinační logický obvod, který na základě kombinační tabulky z kombinace vstupních dat (x) vstupního kódu vytváří na výstupu (y) kód jiný nebo pozměněný. Funkce kodéru je inverzní k funkci dekodéru.
Popis
[editovat | editovat zdroj]Kodér má n vstupních signálů x0 … xn-1 jejichž kombinace vytváří na k výstupech y0 … yk-1 jinou kombinaci signálů. Obecně platí, že n > k. Volitelně je možno použít strobovací výstup s pro vzorkování signálu nebo signál e pro uvolnění.
Kodér – integrovaný obvod
[editovat | editovat zdroj]Jako příklad je uveden kodér pro převod (identifikaci) stisknutého tlačítka jednoduché klávesnice kódového zámku nebo platebního terminálu. Při stisknutí tlačítka vyhodnotí kodér tuto informaci a přiřadí výstupním signálům kód odpovídající stisknutému tlačítku.
Statický kodér
[editovat | editovat zdroj]Statický dekodér má na vstupy I0 až I11 přivedeny signály od jednotlivých tlačítek klávesnice. Každé tlačítko je vybaveno kontakty, které vodič připojený na vstup kodéru spojí s nulovým potenciálem. Pro zajištění potřebné napěťové úrovně je každý vodič ošetřen odporem připojeným na napájecí napětí. Při stisknutí tlačítka se změní úroveň napětí na vstupu kodéru ze stavu log. 1 na log. 0. Kodér vyhodnocuje stav vstupů a je-li stisknuto tlačítko, přiřadí výstupním signálům Q0 až Q3 odpovídající kód.
Použitá klávesnice obsahuje 12 tlačítek, ke generování kódu podle stisknutého tlačítka jsou potřeba 4 signály (n=4, 2n = 24 = 16 > 12). Vzhledem k tomu, že je nutno používat i tlačítko "0" (nula), kterému se standardně taktéž přiřazuje hodnota "0", která je pomocí 4 signálů binárně vyjádřena jako 0000B, je nutno zajistit detekci tohoto stavu na výstupech.
S posunutím kódu
[editovat | editovat zdroj]Jednou z možností je generovat výstupní kód s posunutím, například m+1, kde m odpovídá hodnotě stisknutého tlačítka. Hodnota pro tlačítko "0" pak bude binárně na výstupech vyjádřena jako 0001B. V případě, že je využíváno pouze 12 možných stavů ze 16, tato situace nevadí. V případě, že by bylo potřeba využívat stejný počet tlačítek jako je možných kombinací na 4 výstupních signálech, tj. 16, není již toto řešení vhodné, protože by bylo nutno počet možných kombinací redukovat právě o posunutí, tedy o 1, maximálně možný počet tlačítek by byl v tomto případě pouze 15.
Nevýhodou takovéhoto kodéru je to, že každé tlačítko musí být připojeno samostatně jedním vodičem s odporem. Takové řešení je sice principiálně jednoduché, ale je vhodné pouze pro klávesnice s malým počtem tlačítek. Pro klávesnice, které se používají u PC s více než 100 tlačítky již toto řešení není vhodné.
Se strobovacím signálem
[editovat | editovat zdroj]Druhou možností je využití strobovacího signálu se zachováním možnosti využití všech kombinací, které je možno na 4 výstupech vyjádřit, i když v konkrétním případě se využívá pouze 12 tlačítek ze 16 možných kombinací na výstupech Q0 až Q3. Výstupní strobovací signál je generován právě tehdy, je-li stisknuto právě jedno tlačítko. V případě stisknutí více tlačítek není signál strobování generován, jakoby nebylo stisknuto tlačítko žádné a tím je ošetřen nežádoucí stav současného stisknutí několika tlačítek. Při použití strobovacího signálu je možno dále rozšířit počet generovaných kódů na 4 výstupních signálech až na 16 i na klávesnici s 12 tlačítky tak, že jednomu tlačítku bude přiřazena funkce přepínače (v příkladu "#"). Pro použití funkce přepínače platí, že tlačítko přepínače musí být stisknuto první a drženo.
Dynamický kodér
[editovat | editovat zdroj]Řízený dekodér je použit ve spojení s maticovou klávesnicí, tedy takovou klávesnicí, kde jsou tlačítka zapojena mezi řádkové a sloupcové vodiče v tzv. matici. Každé tlačítko, při stisku, propojí odpovídající vodiče, nad kterými je umístěno. V porovnání s předchozím příkladem je toto zapojení úspornější v počtu potřebných vodičů a odporů. Zapojení pro svoji funkci potřebuje demultiplexor respektive dekodér s otevřeným kolektorem, který řídí stavové signály řádků a spíná je na společný potenciál, tedy na definovanou hodnotu log. 0. Řídící signály jsou zapojeny nejen na řádkový dekodér, ale i na vstupy kodéru, aby mohl pracovat s informací o tom, který řádek je aktuálně zvolen a podle změny stavu signálu ve sloupci mohl generovat správný kód. Na vstupních signálech A0 a A1 se cyklicky mění stav 0-3D (dekadická soustava), tj. 00-11B (binární soustava) v poměrně vysoké frekvenci, aby nedocházelo k čekání na vyhodnocení stavu. Dekodér během cyklu, kdy jsou aktivovány jednotlivé řádky Q0-Q3, sleduje stav na řádkových I0-I1 a sloupcových I2-I4 vstupů. Na konci cyklu vyhodnotí stav signálů a podle výsledku přiřadí výstupním signálům kódovou informaci, kterou potvrdí impulsem na výstupu S. Vyhodnocování až na konci cyklu je nutné z toho důvodu, aby bylo možno detekovat stav stisknutí více tlačítek, který je zpravidla nežádoucí. Stejně jako v předchozím případě je využíváno pouze 12 tlačítek ze 16 možných. Opět je možno jednomu z tlačítek přiřadit funkci přepínače a využít všech 16 kombinací na výstupu. V příkladu je jako přepínače použito tlačítko "#" a tlačítka v pravém sloupci (detekuje se pouze 15 stavů). Logika kodéru dále vyhodnocuje zakázané stavy současného stisknutí více tlačítek v řádku i ve sloupci a v takovém případě není generován impuls na výstupu S, pro použití tlačítka "#" jako přepínače platí, že musí být stisknuto jako první a následně k němu stisknuto jedno ze zvolených tlačítek "OK", "3", "6", "9" (obdobně jako se používá například klávesa SHIFT na PC klávesnici).
V dnešní praxi je pro obsluhu klávesnice místo kodéru používán řadič klávesnice, který sdružuje všechny potřebné funkce a ošetření stavů včetně opakování znaků.
Kodér – enkodér polohy
[editovat | editovat zdroj]Enkodér je elektronická součástka, která převádí polohu pohyblivé části na kombinaci elektrických binárních signálů číselně vyjadřující absolutní polohu. Podle konstrukce se dělí na rotační absolutní enkodér, který poskytuje přímou informaci o úhlu natočení, a na lineární absolutní enkodér, který poskytuje přímou informaci o vzdálenosti.
Funkce
[editovat | editovat zdroj]Odměřování polohy je realizováno tak, že je odměřovaná vzdálenost rozdělena na N úseků, které určují přesnost odměřování. Vlastní dělení je realizováno na disku nebo na pravítku tak, že je úsek vzdálenosti rozdělen na opticky propustné a nepropustné díly, jejichž postavení vzhledem k pevné (nepohyblivé) části je snímáno (čteno) pomocí optických prvků jako je fototranzistor, fotodioda. Vlastní rozdělení obvodu nebo vzdálenosti pouze na N dílků je pro určení absolutní polohy nedostačující, proto je takových to dělení obvodu nebo vzdálenosti realizováno několik s různou hustotou dělení v takzvaných stopách. Tyto stopy odpovídají binárnímu kódování čísla, které odpovídá poloze. Z hlediska přesnosti je u rotačních enkodérů stopa s nejjemnějším N dělením umístěna na vnějším obvodu.
Kódování
[editovat | editovat zdroj]Použití dvojkové soustavy pro kódování není vhodné, protože v jednom okamžiku změny hodnoty dochází od stopy s váhou bitu 21 až 2m-1 ke změně stavu na několika bitech současně (m je počet výstupních bitů a 2m je počet možných stavů). Chyba synchronizace změny na jednotlivých bitech tak může způsobit chybu v rozsahu několik řádů. Z tohoto důvodu se používají enkodéry, jejichž výstup je kódován v některém z následujících bezpečnostních kódů eliminující hazardní stavy, kdy chyba nepřesáhne hodnotu ±1 dílku odměřování. Johnsonův kód je sice absolutně bezpečný, má však vyšší požadavky na počet přenášených bitů (signálů). V tomto případě je používán Grayův kód, který má stejné nároky na počet bitů jako dvojková soustava ale eliminuje hazardní stavy. I přes použití bezpečných kódů eliminující chyby na změnách jednotlivých váhových bitů se provádí ještě takzvané posunutí, kdy se k aktuální hodnotě připočte konstanta, například +3. Toto opatření umožňuje detekci prostého utržení nebo zkratu kabelu protože hodnota "0" se nikdy při správné činnosti nepřenáší.
Kodér – program
[editovat | editovat zdroj]Programový kodér převádí oblast dat vyjádřenou jedním kódem na jiný kód. Podle funkce se může jednat o kódování za účelem utajení obsahu – šifrování nebo za účelem komprese dat, případně obojího.
Odkazy
[editovat | editovat zdroj]Související články
[editovat | editovat zdroj]Externí odkazy
[editovat | editovat zdroj]Kodéry [online]. AmaPro [cit. 2012-02-11]. Dostupné v archivu pořízeném dne 2013-04-20. ((česky))
Literatura
[editovat | editovat zdroj]- ING. SYROVÁTKO, Milan; ING. ČERNOCH, Boleslav. Zapojení s integrovanými obvody. Praha: SNTL, 1975. 04-543-75. Kapitola Konvertory kódů, s. 306–320. ((česky))
- Konstrukční katalog: Číslicové integrované obvody. [s.l.]: TESLA ELTOS, 1990. ((česky)(slovensky))
- Katalog: Elektronických součástek, konstrukčních dílů, bloků a přístrojů. [s.l.]: TESLA ELTOS, 1986. ((česky))