- Základný princíp kodéra:
- Vytváranie kódovacích zariadení pomocou kombinovaných logických návrhov
- Kodéry 8: 3:
- Nevýhoda bežných kódovačov:
- Kodér priority:
Kodéry, ako napovedá názov, kódujú väčší bit informácií do menšej bitovej hodnoty. Existuje veľa typov kódovacích zariadení založených na počte vstupov a výstupov a na fungovaní. Ale každý kodér má jedno základné pravidlo, počet výstupných riadkov na kodéri bude vždy nižší ako počet vstupných riadkov. Viac informácií o kodéroch, čo je to kodér, ako a prečo sa používajú v digitálnych obvodoch, sa dozvieme v tomto článku.
Základný princíp kodéra:
Predstavme si enkodér ako čiernu skrinku, ako je znázornené nižšie, ktorá magicky znižuje počet vstupných riadkov zo 4 na iba 2 výstupné riadky, ale stále poskytuje rovnaké informácie bez straty údajov.
Najskôr si určme, ako by sa pomenoval tento kódovač. Má štyri vstupy a dva výstupy, takže názov tohto kódovacieho zariadenia bude 4: 2. Ak má kódovač počet výstupných riadkov „ n “, potom bude počet vstupných riadkov 2 n, v našom prípade je počet výstupných riadkov dva (n = 2), preto by počet vstupných riadkov mal byť (2 2 = 4) štyri, čo je presne ten prípad. Štyri vstupné piny sú označené od I0 do I3 a dva výstupné piny sú označené od O0 do O1
Ako teda kódovač prevádza štyri signály na dva, je to možné pochopiť pohľadom na tabuľku pravdy nižšie. Je tiež dôležité vedieť, že bežný kódovač, ako je ten, ktorý je tu zobrazený, má pravidlo, že v danom čase by mal byť vysoký iba jeden vstupný pin, takže v nasledujúcej tabuľke pravdy bude vysoký iba jeden vstup.
Všetky možné podmienky vstupu na výstupe sú uvedené vo vyššie uvedenej pravdivostnej tabuľke. Napríklad keď je iba O1 vysoká (1) a všetky ostatné vstupy sú nízke (0), potom budú obidva výstupné piny nízke (0). Podobne pre každý prípad výstupné piny tiež zmenia svoj stav. Použitím tohto stavu výstupných bitov bude užívateľ schopný vystopovať späť k tomu, aký vstupný signál by dostal kódovač.
Dobre, čo sa páči prevedeniu 4 riadkov na 2 riadky, prečo to vôbec potrebujeme?
Z dôvodu porozumenia sme vysvetlili kodér 4: 2, ale existujú aj ďalšie kodéry, ktoré dokážu prijať vyšší počet vstupov a previesť ich na nižší počet výstupov, napríklad kodér 8: 3, 16: 4 atď. Tieto typy of Encoder sú veľmi užitočné, keď musíme znížiť počet pinov použitých na MCU / MPU alebo znížiť počet signálnych vodičov v PLC a iných systémoch, kde je rad prepínačov alebo LED. Používa sa tiež na efektívny prenos údajov pomocou menších vodičov. V niektorých aplikáciách by sme mohli mať situáciu, že by viac ako jeden vstup mohol byť vysoký (1), v takom prípade budeme nazývať Priority Encoder, o ktorom si ďalej povieme v tomto článku.
Vytváranie kódovacích zariadení pomocou kombinovaných logických návrhov
Teraz, keď vieme, ako kódovač funguje a kde sa používa. Naučme sa, ako ho postaviť pomocou jednoduchých logických brán. Aj keď sú kódovacie zariadenia ako 8: 3 k dispozícii ako prehľadný jednotný balík IC, ako je SN74LS148, je dôležité vedieť, ako sú postavené, aby sme mohli pre svoje projekty vyrábať vlastné kódovacie zariadenia na základe požadovanej tabuľky pravdivosti.
Boolovský výraz:
Prvým pri navrhovaní zariadenia Combinational Logic je nájdenie booleovského výrazu pre tabuľku pravdy. Je to veľmi ľahké a dá sa to ľahko určiť iba pohľadom na tabuľku pravdy. Rovnaká tabuľka pravdy, ktorú sme videli už skôr, je uvedená nižšie s niekoľkými ilustráciami, aby ste lepšie pochopili.
Počet výrazov sa bude rovnať počtu výstupných riadkov, tu máme dva výstupy, a teda máme dva výrazy. Pre prvý výstup O0 stačí skontrolovať, v akom stave je vysoký (1) a vyhľadať zodpovedajúce číslo vstupného kolíka, ktoré tiež zostáva vysoké (1). Podobne pre všetky vysoké hodnoty O0 si všimnite, ktoré číslo vstupného kolíka je vysoké, a pridajte kolíky. Vstupné kolíky zodpovedajúce výstupnému kolíku O0 sú vyššie zvýraznené červenou farbou a pre O1 sú zvýraznené modrou farbou. Takže výraz pre O0 a O1 bude
O 1 = I 3 + I 2 O 0 = I 3 + I 1
Schéma zapojenia enkodéra 4: 2:
Keď získame booleovský výraz, musíme ho nakresliť vo forme brán. Pretože tu máme operáciu sčítania (+), budeme na stavbu našich obvodov používať brány OR. Môžete tiež zjednodušiť alebo upraviť booleovský výraz podľa svojich potrieb. Schéma zapojenia vyššie uvedeného výrazu je uvedená nižšie
Obvod je možné ľahko zostaviť pomocou integrovaného obvodu brány 7432 OR. Svoj obvod kódovacieho zariadenia som postavil na nepájivej doske, ako je to znázornené nižšie
Štyri vstupné vedenia (I0, I1, I2 a I3) sú poskytované štyrmi tlačidlami, keď je tlačidlo stlačené, prepojí + 5V s kolíkom, čím sa stane logickým 1, a keď tlačidlo nie je stlačené, kolík sa drží na zemi cez 10k sťahovací rezistor, aby bol logicky nulový. Výstupy (O0 a O1) sú znázornené pomocou dvojice červených LED. Ak LED svieti, znamená to, že výstupná logika je 1 a ak sú vypnuté, znamená to, že výstupná logika 0. Kompletné fungovanie obvodu kódovacieho zariadenia je zobrazené na videu nižšie
Ako vidíte, po stlačení prvého tlačidla je vstup I0 nastavený vysoko, a teda oba výstupy zostávajú nízke. Po stlačení druhého tlačidla sa vstup I1 zapne a jedna LED tak zhasne, čím indikuje, že O0 je vysoká. Nakoniec, keď je stlačené štvrté tlačidlo, vstup I3 sa nastaví vysoko a tým pádom obe LED svietia vysoko. Toto je veľmi jednoduchý obvod, preto sme ho ľahko postavili na doske, ale pre praktické kódovače bude obvod o niečo zložitejší. Kodéry sú však k dispozícii aj ako balíčky IC, ktoré je možné zakúpiť, ak to vyhovuje vášmu projektu.
Kodéry 8: 3:
Fungovanie a použitie kodéra 8: 3 je podobné ako kodér 4: 2, okrem počtu vstupných a výstupných pinov. Kodér 8: 3 sa nazýva aj ako osmičkový až binárny kodér, bloková schéma kodéra 8: 3 je uvedená nižšie.
Tu má kodér 8 vstupov a 3 výstupy, iba jeden vstup by mal byť v danom okamihu vysoký (1). Pretože existuje 8 vstupov, nazýva sa to ako osmičkový vstup a keďže existujú tri výstupy, nazýva sa to aj binárny výstup. Tabuľka pravdivosti kodéra je uvedená nižšie.
Tabuľka pravdy kodéra 8: 3:
Boolovský výraz:
Pretože máme vaše výstupy, budeme mať tri výrazy, ako je uvedené nižšie
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
Schéma zapojenia enkodéra 8: 3:
Po získaní boolovského výrazu ako vždy môžeme zostaviť obvodový diagram pomocou brán OR, ako je uvedené nižšie.
Obvod používa integrovaný obvod brány so 4 vstupmi alebo bránu. Môžete tiež zjednodušiť Booleovský výraz na použitie ďalších bežných brán so vstupom 2.
Nevýhoda bežných kódovačov:
Tieto typy kódovacích zariadení majú nasledujúce hlavné nevýhody
- Ak žiadny zo vstupov nie je vysoký, výstup bude rovný celej nule, ale táto podmienka je tiež v rozpore s tým, že prvý bit je vysoký (MSB). Preto by sa malo vždy dbať na to, aby aspoň jeden bit zostal vždy ZAPNUTÝ
- Ak je viac ako jeden vstup vysoký, výstup sa zbalí a môže poskytnúť výsledok pre jeden zo vstupov, čo vedie k zámene.
Na prekonanie týchto ťažkostí používame iný typ kódovača, ktorý sa nazýva Priority Encoder a ktorý pomocou dodatočného výstupu určuje, či je výstup platný, a keď je viac ako jeden vstup nápomocný, považuje sa samotný, ktorý ide vysoko od LSD, zatiaľ čo ignorovanie ostatných vstupov.
Kodér priority:
Poďme si analyzovať Prioritný enkodér 4: 2 ako príklad, aby sme pochopili, ako sa líši od normálneho enkodéra a dokáže prekonať vyššie spomenuté dve nevýhody. Bloková schéma prioritného kódovača 4: 2 je uvedená nižšie
Kodér s prioritou 4: 2 má tiež 4 vstupy a 2 výstupy, ale pridáme ďalší výstup s názvom V, čo znamená platný bit. Tento platný bit skontroluje, či sú všetky štyri vstupné piny nízke (0), ak bude bit nízky, bude tiež nízky s tým, že výstup nie je platný, a tak môžeme prekonať vyššie spomenutú prvú nevýhodu.
Tabuľka pravdy priority 4: 2:
Ďalšej nevýhode sa dá vyhnúť uprednostnením bitov MSB, kódovač skontroluje z MSB a akonáhle nájde prvý bit tak vysoký (1), vygeneruje zodpovedajúcim spôsobom výstup. Nezáleží na tom, či sú ostatné piny vysoké alebo nízke. Preto v tabuľke pravdy nižšie, keď je dosiahnutá hodnota 1, sú hodnoty nestarané prezentované znakom „X“.
Boolovský výraz:
Teraz musíme odvodiť tri výrazy, ktoré sú pre O0, O1 a V. Pretože tabuľka pravdy nezaujíma položky, musíme na to odvodiť Boolovský výraz pomocou metódy K-mapy. Nebudeme sa zaoberať tým, ako riešiť pomocou K-máp, pretože to je mimo rozsahu tohto článku. Ale mapa je zobrazená nižšie, aby ste mohli zasahovať a učiť sa sami.
Na vyššie uvedených mapách je ľavá časť pre O1 a pravá pre O0. Výstupné riadky sú uvedené znakom y a vstupné riadky sú uvedené znakom x. Takže usporiadaním rovnice podľa toho dostaneme nasledujúce.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
Podobne pre platný bit „V“ možno dať boolovský výraz ako
V = I 3 + I 2 + I 1 + I 0
Schéma zapojenia:
Schéma zapojenia tohto projektu je možné zostaviť pomocou logických výrazov.
Okruh je možné zostaviť pomocou základných brán NOT, AND a OR. Tu sa bity O0 a O1 považujú za výstupy, zatiaľ čo bit V sa používa na validáciu výstupu. Iba ak je bit V vysoký, výstup sa bude brať do úvahy, ak je hodnota V nízka (0), výstup by sa mal ignorovať, pretože to znamená, že všetky vstupné piny sú nulové.