Kodér: Porovnání verzí

Smazaný obsah Přidaný obsah
W.Rebel (diskuse | příspěvky)
W.Rebel (diskuse | příspěvky)
Řádek 10:
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.
 
=== Pasivní dekodérkodér ===
Pasivní dekodér má na vstupy 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 odpovídající kód.
 
Řádek 21:
 
==== Se strobovacím signálem ====
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. 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 žádní tlačítko žádné. 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 "#").
 
{| class="wikitable" align="center" style="text-align: center;"
Řádek 81:
|- bgcolor="white"
|1+#||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek mimo #+1 … #+5
|}
 
=== Řízený kodér ===
Ří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í tyto vodiče. 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]] repektive [[dekodér]], který řídí stavové signály řádků a spíná je na společný potenciál, tedy k definované log. 0. Řídící signály jsou zapojeny najen 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 A<sub>0</sub> a A<sub>1</sub> se cyklicky mění stav 0-3<sub>D</sub> ([[dekadická soustava]]), tj. 00-11<sub>B</sub> ([[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 Q<sub>0</sub>-Q<sub>3</sub>, sleduje stav na řádkových I<sub>0</sub>-I<sub>1</sub> a sloupcových I<sub>2</sub>-I<sub>4</sub> vstupech. Na konci cyklu vyhodnotí stav 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ů).
 
{| class="wikitable" align="center" style="text-align: center;"
|+ Funkční tabulka kodéru
!rowspan="3"|schema zapojení||colspan="5"|&nbsp;kódování s posunutím&nbsp;||colspan="6"|&nbsp;kódování se stobováním&nbsp;||colspan="6"|&nbsp;kódování se stobováním&nbsp;<br />a rozšířením
|-
!rowspan="2"|tlačítko||colspan="4"|výstupy||rowspan="2"|tlačítko||colspan="5"|výstupy||rowspan="2"|tlačítko||colspan="5"|výstupy
|-
!Q<sub>3</sub>||Q<sub>2</sub>||Q<sub>1</sub>||Q<sub>0</sub>||Q<sub>3</sub>||Q<sub>2</sub>||Q<sub>1</sub>||Q<sub>0</sub>||&nbsp;S&nbsp;||Q<sub>3</sub>||Q<sub>2</sub>||Q<sub>1</sub>||Q<sub>0</sub>||&nbsp;S&nbsp;
|- bgcolor="white"
|rowspan="21"|[[File:Lock Keyboard Coder.png|275px]]
|- bgcolor="white"
|žádné||0||0||0||0||žádné||X||X||X||X||0||žádné||X||X||X||X||0
|-
|0 ||0||0||0||1||0 ||0||0||0||0||1||0 ||0||0||0||0||1
|- bgcolor="white"
|1 ||0||0||1||0||1 ||0||0||0||1||1||1 ||0||0||0||1||1
|-
|2 ||0||0||1||1||2 ||0||0||1||0||1||2 ||0||0||1||0||1
|- bgcolor="white"
|3 ||0||1||0||0||3 ||0||0||1||1||1||3 ||0||0||1||1||1
|-
|4 ||0||1||0||1||4 ||0||1||0||0||1||4 ||0||1||0||0||1
|- bgcolor="white"
|5 ||0||1||1||0||5 ||0||1||0||1||1||5 ||0||1||0||1||1
|-
|6 ||0||1||1||1||6 ||0||1||1||0||1||6 ||0||1||1||0||1
|- bgcolor="white"
|7 ||1||0||0||0||7 ||0||1||1||1||1||7 ||0||1||1||1||1
|-
|8 ||1||0||0||1||8 ||1||0||0||0||1||8 ||1||0||0||0||1
|- bgcolor="white"
|9 ||1||0||1||0||9 ||1||0||0||1||1||9 ||1||0||0||1||1
|-
|OK||1||0||1||1||OK||1||0||1||0||1||OK||1||0||1||0||1
|- bgcolor="white"
|# ||1||1||0||0||# ||1||0||1||1||1||# ||X||X||X||X||0
|-
|1+x||0||0||0||0||1+x||X||X||X||X||0||#+1||1||0||1||1||1
|- bgcolor="white"
|colspan="5"| ||colspan="6"| ||#+2||1||1||0||0||1
|-
|colspan="5"| ||colspan="6"| ||#+3||1||1||0||1||1
|- bgcolor="white"
|colspan="5"| ||colspan="6"| ||#+4||1||1||1||0||1
|-
|colspan="5"| ||colspan="6"| ||#+5||1||1||1||1||1
|- bgcolor="white"
|colspan="5"| ||colspan="6"| ||#+n||X||X||X||X||0
|-
|colspan="5"| ||colspan="6"| ||1+m||X||X||X||X||0
|- bgcolor="white"
|valign="top" align="right" rowspan="4"|Vysvětlivky:
|X ||colspan="17" align="left"|libovolný stav, log. 0 nebo log. 1
|- bgcolor="white"
|1+x||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek
|- bgcolor="white"
|#+x||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek mimo #+1 … #+5
|- bgcolor="white"
|1+#||colspan="17" align="left"|libovolná kombinace stisknutí více tlačítek mimo #+1 … #+5
|}