Array ( [0] => 15563478 [id] => 15563478 [1] => cswiki [site] => cswiki [2] => Kodér [uri] => Kodér [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 0 [has_content] => 0 [12] => [oai_cs_optimisticky] => ) Array ( [0] => [[Soubor:Decoder.svg|náhled|Obecná značka kodéru]] [1] => '''Kodér''' je [[Kombinační obvod|kombinační logický obvod]], který na základě [[kombinační tabulka|kombinační tabulky]] z kombinace vstupních dat (x) vstupního [[kód]]u vytváří na výstupu (y) kód jiný nebo pozměněný. Funkce kodéru je inverzní k funkci [[dekodér]]u. [2] => [3] => == Popis == [4] => 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í. [5] => {{-}} [6] => [7] => == Kodér – integrovaný obvod == [8] => 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. [9] => [10] => === Statický kodér === [11] => 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. [12] => [13] => 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. [14] => [15] => ==== S posunutím kódu ==== [16] => 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. [17] => [18] => 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é. [19] => [20] => ==== Se strobovacím signálem ==== [21] => 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. [22] => [23] => {| class="wikitable" align="center" style="text-align: center;" [24] => |+ Funkční tabulka kodéru [25] => !rowspan="3"|schema zapojení||colspan="5"| kódování s posunutím ||colspan="6"| kódování se stobováním ||colspan="6"| kódování se stobováním 
a rozšířením [26] => |- [27] => !rowspan="2"|tlačítko||colspan="4"|výstupy||rowspan="2"|tlačítko||colspan="5"|výstupy||rowspan="2"|tlačítko||colspan="5"|výstupy [28] => |- [29] => !Q3||Q2||Q1||Q0||Q3||Q2||Q1||Q0|| S ||Q3||Q2||Q1||Q0|| S  [30] => |- bgcolor="white" [31] => |rowspan="21"|[[Soubor:Lock Keyboard Coder 2.png|275px]] [32] => |- bgcolor="white" [33] => |žádné||0||0||0||0||žádné||X||X||X||X||0||žádné||X||X||X||X||0 [34] => |- [35] => |0 ||0||0||0||1||0 ||0||0||0||0||1||0 ||0||0||0||0||1 [36] => |- bgcolor="white" [37] => |1 ||0||0||1||0||1 ||0||0||0||1||1||1 ||0||0||0||1||1 [38] => |- [39] => |2 ||0||0||1||1||2 ||0||0||1||0||1||2 ||0||0||1||0||1 [40] => |- bgcolor="white" [41] => |3 ||0||1||0||0||3 ||0||0||1||1||1||3 ||0||0||1||1||1 [42] => |- [43] => |4 ||0||1||0||1||4 ||0||1||0||0||1||4 ||0||1||0||0||1 [44] => |- bgcolor="white" [45] => |5 ||0||1||1||0||5 ||0||1||0||1||1||5 ||0||1||0||1||1 [46] => |- [47] => |6 ||0||1||1||1||6 ||0||1||1||0||1||6 ||0||1||1||0||1 [48] => |- bgcolor="white" [49] => |7 ||1||0||0||0||7 ||0||1||1||1||1||7 ||0||1||1||1||1 [50] => |- [51] => |8 ||1||0||0||1||8 ||1||0||0||0||1||8 ||1||0||0||0||1 [52] => |- bgcolor="white" [53] => |9 ||1||0||1||0||9 ||1||0||0||1||1||9 ||1||0||0||1||1 [54] => |- [55] => |OK||1||0||1||1||OK||1||0||1||0||1||OK||1||0||1||0||1 [56] => |- bgcolor="white" [57] => |# ||1||1||0||0||# ||1||0||1||1||1||# ||X||X||X||X||0 [58] => |- [59] => |1+x||0||0||0||0||1+x||X||X||X||X||0||#+1||1||0||1||1||1 [60] => |- bgcolor="white" [61] => |colspan="5"| ||colspan="6"| ||#+2||1||1||0||0||1 [62] => |- [63] => |colspan="5"| ||colspan="6"| ||#+3||1||1||0||1||1 [64] => |- bgcolor="white" [65] => |colspan="5"| ||colspan="6"| ||#+4||1||1||1||0||1 [66] => |- [67] => |colspan="5"| ||colspan="6"| ||#+5||1||1||1||1||1 [68] => |- bgcolor="white" [69] => |colspan="5"| ||colspan="6"| ||#+n||X||X||X||X||0 [70] => |- [71] => |colspan="5"| ||colspan="6"| ||1+m||X||X||X||X||0 [72] => |- bgcolor="white" [73] => |valign="top" align="right" rowspan="4"|Vysvětlivky: [74] => |X ||colspan="17" align="left"|libovolný stav, log. 0 nebo log. 1 [75] => |- bgcolor="white" [76] => |1+x||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek [77] => |- bgcolor="white" [78] => |#+n||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek mimo #+1 … #+5 [79] => |- bgcolor="white" [80] => |1+#||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek mimo #+1 … #+5 [81] => |} [82] => [83] => === Dynamický kodér === [84] => [[Soubor:Calc Keyboard Coder.png|náhled|vpravo|Příklad kodéru pro klávesnici jednoduché kalkulačky. Při maticovém zapojení je potřeba pouze 8 vstupních signálů kodéru, při použití statického kodéru by bylo nutno použít 23 vstupních signálů. Počet výstupních signálů kodéru je stejný, 5 + 1.]] [85] => Ří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ý kolektor|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). [86] => [87] => {| class="wikitable" align="center" style="text-align: center;" [88] => |+ Funkční tabulka kodéru [89] => !rowspan="3"|schema zapojení||colspan="6"| řádkový dekodér ||rowspan="17"| ||colspan="10"| výstupní kodér ||rowspan="17"| ||rowspan="3"|stisknuté
tlačítko [90] => |- [91] => !colspan="2"|adresa||colspan="4"|řádky||colspan="2"|adresa||colspan="3"|sloupce||colspan="4"|kód||rowspan="2"| S  [92] => |- [93] => !A1||A0||Q3||Q2||Q1||Q0||I0||I1|| I2 || I3 || I4 ||Q3||Q2||Q1||Q0 [94] => |- bgcolor="white" [95] => |rowspan="23"|[[Soubor:Lock Keyboard Coder.png|275px]] [96] => |- bgcolor="white" [97] => |X||X ||X||X||X||X ||X||X ||1||1||1 ||X||X||X||X ||0||žádné [98] => |- [99] => |rowspan="3"|0||rowspan="3"|0 ||rowspan="3"|H||rowspan="3"|H||rowspan="3"|H||rowspan="3"|'''0''' ||rowspan="3"|0||rowspan="3"|0 ||'''0'''||1||1 ||1||0||1||1 ||'''↑'''||# [100] => |- [101] => |1||'''0'''||1 ||0||0||0||0 ||'''↑'''||0 [102] => |- [103] => |1||1||'''0''' ||1||0||1||0 ||'''↑'''||OK [104] => |- bgcolor="white" [105] => |rowspan="3"|0||rowspan="3"|1 ||rowspan="3"|H||rowspan="3"|H||rowspan="3"|'''0'''||rowspan="3"|H ||rowspan="3"|1||rowspan="3"|0 ||'''0'''||1||1 ||0||0||0||1 ||'''↑'''||1 [106] => |- bgcolor="white" [107] => |1||'''0'''||1 ||0||0||1||0 ||'''↑'''||2 [108] => |- bgcolor="white" [109] => |1||1||'''0''' ||0||0||1||1 ||'''↑'''||3 [110] => |- [111] => |rowspan="3"|1||rowspan="3"|0 ||rowspan="3"|H||rowspan="3"|'''0'''||rowspan="3"|H||rowspan="3"|H ||rowspan="3"|0||rowspan="3"|1 ||'''0'''||1||1 ||0||1||0||0 ||'''↑'''||4 [112] => |- [113] => |1||'''0'''||1 ||0||1||0||1 ||'''↑'''||5 [114] => |- [115] => |1||1||'''0''' ||0||1||1||0 ||'''↑'''||6 [116] => |- bgcolor="white" [117] => |rowspan="3"|1||rowspan="3"|1 ||rowspan="3"|'''0'''||rowspan="3"|H||rowspan="3"|H||rowspan="3"|H ||rowspan="3"|1||rowspan="3"|1 ||'''0'''||1||1 ||0||1||1||1 ||'''↑'''||7 [118] => |- bgcolor="white" [119] => |1||'''0'''||1 ||1||0||0||0 ||'''↑'''||8 [120] => |- bgcolor="white" [121] => |1||1||'''0''' ||1||0||0||1 ||'''↑'''||9 [122] => |- [123] => !colspan="19"|s použitím "#" jako přepínače [124] => |- bgcolor="white" [125] => |0||0 ||H||H||H||'''0''' [126] => !rowspan="8"| [127] => |0||0 ||'''0'''||1||1 ||X||X||X||X ||0 [128] => !rowspan="8"| [129] => |rowspan="2"|(#)
# + OK [130] => |- bgcolor="white" [131] => |0||0 ||H||H||H||'''0''' ||0||0 ||'''0'''||1||'''0''' ||1||0||1||1 ||'''↑''' [132] => |- [133] => |0||0 ||H||H||H||'''0''' ||0||0 ||'''0'''||1||1 ||X||X||X||X ||0||rowspan="2"|(#)
# + 3 [134] => |- [135] => |0||1 ||H||H||'''0'''||H ||1||0 ||1||1||'''0''' ||1||1||0||0 ||'''↑''' [136] => |- bgcolor="white" [137] => |0||0 ||H||H||H||'''0''' ||0||0 ||'''0'''||1||1 ||X||X||X||X ||0||rowspan="2"|(#)
# + 6 [138] => |- bgcolor="white" [139] => |1||0 ||H||'''0'''||H||H ||0||1 ||1||1||'''0''' ||1||1||0||1 ||'''↑''' [140] => |- [141] => |0||0 ||H||H||H||'''0''' ||0||0 ||'''0'''||1||1 ||X||X||X||X ||0||rowspan="2"|(#)
# + 9 [142] => |- [143] => |1||1 ||'''0'''||H||H||H ||1||1 ||1||1||'''0''' ||1||1||1||0 ||'''↑''' [144] => |- bgcolor="white" [145] => |valign="top" align="right" rowspan="3"|Vysvětlivky: [146] => |X ||colspan="18" align="left"|libovolný stav, log. 0 nebo log. 1 [147] => |- bgcolor="white" [148] => |H||colspan="18" align="left"|stav vysoké impedance [149] => |- bgcolor="white" [150] => |↑||colspan="18" align="left"|impuls [151] => |} [152] => [153] => 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ů. [154] => [155] => == Kodér – enkodér polohy == [156] => [[Soubor:Absou.png|náhled|Absolutní rotační enkodér s dělicím kotoučem]] [157] => 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. [158] => [159] => === Funkce === [160] => 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í kód|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. [161] => [162] => === Kódování === [163] => Použití [[dvojková soustava|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áší. [164] => [165] => == Kodér – program == [166] => 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 – [[kryptografie|šifrování]] nebo za účelem [[komprese dat]], případně obojího. [167] => [168] => == Odkazy == [169] => === Související články === [170] => [171] => * [[Kódování]] [172] => * [[Dekodér]] [173] => * [[Demultiplexor]] [174] => * [[Multiplexor]] [175] => [176] => === Externí odkazy === [177] => {{Citace elektronické monografie|vydavatel=AmaPro|titul=Kodéry|url=http://amapro.cz/public/digi/io_coder.php|datum přístupu=2012-2-11|jazyk={{cs}}|url archivu=https://web.archive.org/web/20130420122235/http://www.amapro.cz/public/digi/io_coder.php|datum archivace=2013-04-20|nedostupné=ano}} [178] => [179] => === Literatura === [180] => * {{Citace monografie|příjmení=Ing. Syrovátko|jméno=Milan|příjmení2=Ing. Černoch|jméno2=Boleslav|titul=Zapojení s integrovanými obvody|vydavatel=SNTL|místo=Praha|rok=1975|id=04-543-75|kapitola=Konvertory kódů|strany=306–320|jazyk={{cs}}}} [181] => * {{Citace monografie|příjmení= |jméno= |titul=Konstrukční katalog: Číslicové integrované obvody|Kapitola=Dekodéry, Multiplexery|vydavatel=TESLA ELTOS|rok=1990|isbn=|jazyk={{cs}}{{sk}}}} [182] => * {{Citace monografie|příjmení= |jméno= |titul=Katalog: Elektronických součástek, konstrukčních dílů, bloků a přístrojů|Kapitola=Zakázkové integrované obvody|vydavatel=TESLA ELTOS|rok=1986|isbn=|jazyk={{cs}}}} [183] => [184] => {{Logické obvody}} [185] => [186] => {{Autoritní data}} [187] => [188] => [[Kategorie:Číslicová technika]] [189] => [[Kategorie:Logické obvody]] [190] => [[Kategorie:Integrované obvody]] [] => )
good wiki

Kodér

Obecná značka kodéru 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.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'Soubor:Lock Keyboard Coder.png','Soubor:Lock Keyboard Coder 2.png','dekodér','Kategorie:Integrované obvody','Kategorie:Číslicová technika','Demultiplexor','Kódování','kryptografie','Johnsonův kód','binární kód','fotodioda','fototranzistor'