INVE STICE DO ROZV O JE V ZDĚL ÁV Á NÍ PODPORA ELEKTRONICKÝCH FOREM VÝUKY CZ.1.07/1.1.06/01.0043 Tento projekt je financován z prostředků ESF a státního rozpočtu ČR. SOŠ informatiky a spojů a SOU, Jaselská 826, Kolín 1
INVE STICE DO ROZV O JE V ZDĚL ÁV Á NÍ ČÍSLICOVÁ TECHNIKA ČÍSLICOVÁ TECHNIKA 1 Autorem tohoto výukového materiálu je Ing. Miroslav Veverka SOŠ informatiky a spojů a SOU, Jaselská 826, Kolín 2
OBSAH Analogový a číslicový signál Číselné soustavy Kódy Booleova algebra Definice logické funkce Minimalizace logické funkce, Karnaughova mapa Kombinační logické obvody Literatura 3
Analogový a číslicový signál
Analogový signál mění se plynule, (spojitě), nabývá libovolné hodnoty uvnitř rozsahu tvořeného krajními hodnotami analogový signál zpracovává analogová technika (elektronika) U t 5
Analogový signál analogová technika má určité meze, především, požadujeme-li velkou přesnost zpracování chceme-li zvýšit přesnost zpracování, velmi rychle roste složitost zařízení a tím i jeho cena většina veličin kolem nás má podobu analogového signálu člověk má pro příjem analogového signálu uzpůsobené smysly: zvuk uši jas oči teplota, tlak povrch těla 6
Číslicový signál nabývá jen dvou hodnot jeho zpracováním se zabývá číslicová technika výhodou oproti analogové technice je možnost zvyšování přesnosti bez výrazného zvyšování složitosti a ceny zařízení U t 7
Číselné soustavy
Číselné soustavy člověk běžně používá desítkovou soustavu má 10 prstů na obou rukou používá také šedesátkovou soustavu hodiny, úhly číslicová technika používá jen dva stavy veličiny pracuje tedy ve dvojkové soustavě dvojková soustava je technicky nejjednodušší rozlišit dva stavy je snazší než rozlišit 10 stavů libovolné číslo lze vyjádřit v jakékoliv číselné soustavě 9
Číselné soustavy číselné soustavy jsou poziční záleží na pozici (pořadí) číslic v zápisu čísla příklad: 346, 634 používají stejné číslice, ale ta jsou v jiném pořadí, vyjadřují tedy různá čísla 10
Obecná definice číselné soustavy základem je libovolné přirozené číslo Z 2 číselná soustava o základu Z má Z číslic:0,1,,z-1 libovolné přirozené číslo N lze vyjádřit vzorcem: N=c n-1.z n-1 +c n-2.z n-2 + +c 1.Z 1 +c 0.Z 0 kde c jsou cifry (číslice) čísla Z je základ číselné soustavy n je řád čísla příklad: 2586=2.10 3 +5.10 2 +8.10 1 +6.10 0 11
Desítková soustava používá 10 znaků pro zobrazení deseti číslic: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 je pro nás nejpřirozenější soustava 326 10 = 326 6 10 0 = 6 2 10 1 = 20 3 10 2 = 300 326 12
Dvojková soustava používá dva znaky pro vyjádření číslic 0 a 1 101011 2 = 43 10 1 2 0 = 1 1 2 1 = 2 0 2 2 = 0 1 2 3 = 8 0 2 4 = 0 1 2 5 =32 43 13
Hexadecimální soustava používá 16 znaků pro vyjádření číslic, pro vyšší hodnoty používá prvních 6 písmen abecedy: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F A=10, B=11, C=12, D=13, E=14, F=15 používá se nejčastěji při programování 3A6F 16 = 14959 10 15 16 0 = 15 6 16 1 = 96 10 16 2 = 2560 3 16 3 =12288 14959 14
Převody mezi soustavami Převod čísla z desítkové soustavy do libovolné jiné soustavy: číslo vydělíme základem druhé soustavy zapíšeme zbytek po dělení postup opakujeme, dokud zbylé číslo zůstává větší než 0 zbytky dostaneme v opačném pořadí, zapisujeme je tedy odzadu 15
Převod s desítkové do dvojkové soustavy desítkové číslo postupně dělíme 2 a sepisujeme zbytky (mohou mít hodnoty 0 nebo 1) 87 = 1010111 2 43 1 21 1 výsledek čteme 10 1 odspodu nahoru 5 0 2 1 1 0 0 1 16
Převod z desítkové soust. do šestnáctkové desítkové číslo postupně dělíme 16 a sepisujeme zbytky (mohou mít hodnoty od 0 do 15) zbytky větší než 9 musíme "převést" na písmena: 10=A, 11=B, 12=C, 13=D, 14=E, 15=F 60000 = EA60 16 3750 0 234 6 výsledek čteme 14 10 A odspodu nahoru 0 14 E 17
Převod z dvojkové soustavy do desítkové základní postup jsme použili zde jiná možnost připravíme si tabulku mocnin čísla 2 řády si nadepíšeme nad cifry čísla (od pravého konce počínaje 0) za každou 1 v čísle zapíšeme hodnotu z tabulky a všechny hodnoty pak sečteme příklad: N 7 6 5 4 3 2 1 0 128 64 32 16 8 4 2 1 2 N 7 6 5 4 3 2 1 0 1 0 1 0 0 1 0 1 =128+32+4+1=165 18
Převod ze šestnáctkové soust. do desítkové základní postup jsme použili zde jiná možnost připravíme si tabulku mocnin čísla 16 řády si nadepíšeme nad cifry čísla (od konce počínaje 0) každou cifru v čísle vynásobíme hodnotou z tabulky a všechny hodnoty sečteme příklad N 4 3 2 1 0 16 N 65536 4096 256 16 1 3 2 1 0 1 A 9 D =1*4096+10*256+9*16+13= =4096+2560+96+13=9813 19
Aritmetické operace ve dvojkové soustavě provádějí se stejným postupem jako ve soustavě desítkové všechny aritmetické operace se dají převézt na jedinou operaci na sčítání první mikroprocesory uměly jenom sčítat, některé i odčítat, pro násobení a dělení se musel sestavit program současné procesory umějí násobit i dělit jsou výrazně rychlejší 20
Sčítání pro sčítání platí vztahy: 0+0=0 0+1=1 1+0=1 1+1=0 přenos 1do vyššího řádu příklad: 11 přenosy do vyšších řádů 101101 1110 111011 21
Sčítání většího počtu sčítanců součet sudého počtu jedniček je 0 součet lichého počtu jedniček je 1 za každou celou dvojici jedniček připíšeme jednu 1 jako přenos do vyššího řádu příklad: 11 přenosy do vyšších řádů 11111 10110 111 1011 10101 111101 22
Odčítání pro odčítání platí vztahy: příklad: 11111101-10111 11100110 0 0=0 0 1=1 půjčka 1 z vyššího řádu 1 0=1 1 1=0 23
Odčítání pomocí dvojkového doplňku odčítání převedeme na sčítání, záporné číslo vytvoříme pomocí dvojkového doplňku: doplníme odečítané číslo na stejný počet řádů zleva nulami provedeme inverzi záměnu jedniček a nul přičteme 1 příklad: 11111101-10111 00010111 zleva doplněno nulami 11101000 inverze = jednotkový doplněk + 1 přičtena 1 = dvojkový doplněk 11101001 záporné číslo 24
Odčítání pomocí dvojkového doplňku 11111101 + 11101001 111100110 vzniklý přenos ignorujeme jedničkový doplněk jedničkového doplňku je původní číslo dvojkový doplněk dvojkového doplňku je původní číslo 25
Násobení pro násobení platí vztahy: 0 0=0 0 1=0 1 0=0 1 1=1 postup násobení je stejný jako u desítkové soustavy příklad 10111 1011 10111 10111 10111 11111101 26
Dělení pro dělení platí vztahy: 0: 0 =chyba 0: 1 =0 1: 0 =chyba 1: 1 =1 postup dělení je stejný jako u desítkové soustavy 11111101:10111=1011-10111 0100010-10111 0010111-10111 00000 27
Dělení a násobení posunem pro desítkovou soustavu: 5 400 50 40 500 4 posun doleva násobí 10 posun doprava dělí 10 pro dvojkovou soustavu: 101 2 = 5 11000 2 =24 1010 2 =10 1100 2 =12 10100 2 =20 110 2 = 6 posun doleva násobí 2 posun doprava dělí 2 28
Kódy
Kódy základní pojmy kód soubor znaků a pravidel k zaznamenávání, (přenosu, uložení) informací kódování převod informací z jednoho tvaru do jiného definováno matematicky např. převod desítkového čísla do dvojkové soustavy definováno přiřazovací tabulkou dekódování zpětný převod informací do původní podoby kodér zařízení pro kódování dekodér zařízení pro dekódování 30
Přirozený dvojkový kód již jsme jej probrali je nejpoužívanější není ochráněn proti chybám (není detekční) vhodný pro aritmetické operace každý vyšší řád je dvojnásobkem předchozího řádu př.: 185 10 =10111001 2 31
BCD kód 8421 BCD Binary Coded Decimal binárně kódované desítkové číslo znázorňuje každou desítkovou číslici (0 až 9) pomocí 4-bitového dvojkového kódu používá standardní váhy 8421 není definován pro čísla 10 až 15 velmi často používaný zobrazování času, čísla skladby apod. př.: 735 10 =0111 0011 0101 BCD 32
Převod z BCD do desítkové soustavy zprava si zápis hodnoty rozdělíme po čtveřicích převádíme zvlášť každou čtveřici na desítkovou číslici př.: 10110010111 BCD 0101 1001 0111 BCD =597 10 v jednom bajtu (8 bitů) mohou být uložena 2 čísla v BCD kódu, procesory obsahují instrukce pro práci s tímto kódem 33
Grayův kód základní vlastnost při přechodu k sousední hodnotě se mění jen jeden bit snadná kontrola případné chyby platí též u při přechodu z poslední hodnoty na první (kód je uzavřen do sebe) nazýván také jako symetrický či zrcadlový (reflexní) kód použití: odměřování polohy Karnaughova mapa 34
Sestavení Grayova kódu zapíšeme pod sebe dvě hodnoty binárního čísla 0 a 1, pod poslední hodnotou zakreslíme zrcadlící rovinu 0 1 zrcadlící rovina pod zrcadlící rovinu opíšeme hodnoty v obráceném pořadí (jakoby se odrážely v zrcadle) před hodnoty nad zrcadlící rovinou dopíšeme 0, před hodnoty pod zrcadlící rovinu dopíšeme 1 00 01 zrcadlící rovina 11 10 35
Sestavení Grayova kódu vícebitový kód vznikne opakováním popsaného postupu čtyřbitový Grayův kód čtyřbitový binární kód 36
Kód 1 z 10 tvoří jej 10 bitů, jen jeden z nich má hodnotu 1, ostatní jsou nulové obsahuje velkou nadbytečnost (redundanci), k vyjádření hodnoty je třeba více bitů nehodí se např. pro aritmetické operace jde o kód detekční umí detekovat chybu používá se v číslicových zařízeni pro výběr jednoho zařízení z daného množství př.: 4 10 =0000010000 1z10 37
Kód 2 z 5 tvoří jej 5 bitů, vždy jen 2 bity mají hodnotu 1, ostatní jsou nulové používá váhy 84210 nehodí se např. pro aritmetické operace jde o kód detekční umí detekovat chybu připřenosu používá se v telefonních ústřednách př.: 4 10 =01001 2 z 5 38
39 Přehled kódů 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000 11000 00011 00101 00110 01001 01010 01100 10100 10001 10010 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 z 10 2 z 5 84210 Grayův BCD 8421 binární 8421 číslo
ASCII kód American Standard Code for Information Interchange tabulka znaků (písmen, číslic, dalších znaků) každý znak má své pořadové číslo (např. '@'=64) původně 7 bitový, nyní 8 bitový (obsahuje národní znaky písmena s čárkami, háčky, přehláskami) používá se na naprosté většině zařízení počítače, mobily, PDA, přístroje audiovizuální techniky kódy s hodnotami 0 až 31 se nezobrazují jako konkrétní znaky, jsou určeny jako řídící kódy pro různé periferie 40
41 ASCII kód del 127 o 111 _ 95 O 79? 63 / 47 ~ 126 n 110 ^ 94 N 78 > 62. 46 } 125 m 109 ] 93 M 77 = 61 45 124 l 108 \ 92 L 76 < 60, 44 { 123 k 107 [ 91 K 75 ; 59 + 43 z 122 j 106 Z 90 J 74 : 58 * 42 y 121 i 105 Y 89 I 73 9 57 ) 41 x 120 h 104 X 88 H 72 8 56 ( 40 w 119 g 103 W 87 G 71 7 55 ' 39 v 118 f 102 V 86 F 70 6 54 & 38 u 117 e 101 U 85 E 69 5 53 % 37 t 116 d 100 T 84 D 68 4 52 $ 36 s 115 c 99 S 83 C 67 3 51 # 35 r 114 b 98 R 82 B 66 2 50 '' 34 q 113 a 97 Q 81 A 65 1 49! 33 p 112 ` 96 P 80 @ 64 0 48 mezera 32 znak kód znak kód znak kód znak kód znak kód znak kód
Ochrana kódu proti chybám při přenosu kódu (vzduchem, opticky, kabelem) může nastat chyba přenosu jeden nebo více bitů se vlivem rušení změní na opačnou hodnotu příklad: 1011 přenosem nastala chyba: 0011 metody ochrany proti chybám: kontrola paritou zjistíchybu výběr vhodného kódu zjistí chybu použití samoopravného kódu opraví chybu 42
Kontrola paritou rozpozná chybu na jednom bitu, těch bývá asi 50-60% z vyskytujících se chyb rozpozná i chyby na lichých počtech bitů, nerozpozná chyby na sudých počtech bitů nejčastěji používaná metoda, kde nejsou velké nároky na bezpečnost do bitové kombinace se přidá dodatečný bit podle typu parity: sudá parita počet všech 1 i s paritním bitem je sudý lichá parita počet všech 1 i s paritním bitem je lichý 43
Kontrola paritou příklad: přenos znaku "M" v ASCII kódu bez parity: 1001101 sudá parita: 10011010 lichá parita: 10011011 kontrola paritou je vhodná pro jakýkoliv kód pro velkou bezpečnost přenosu se používá vícenásobné parity přidání více paritních bitů dokáže chybu i opravit pro 8 informačních bitů je třeba 5 paritních bitů 44
Kontrola kódem P z N P je počet jedniček N počet všech bitů příklad: přenášíme jen čísla v kódu 2 z 5: 9 10 =10010 2z5 přenosem vznikla chyba 10110 2z5 jsou zde tři 1 takový znak v tomto kódu neexistuje, rozpozná se chyba 45
Booleova algebra
Výroky George Boole (1815-1864) byl zakladatel matematické logiky výrok oznamovací věta (sdělení), o němž lze rozhodnout, zda je pravdivá či nepravdivá Jsou výroky: Nejsou výroky: Prší Svítí slunce Kéž by zapršelo! Kolik je hodin? pravdivostní hodnoty: pravda nepravda značíme 1, H značíme 0, L 47
Logika pojmy výroky spojujeme do složitějších výrazů pomocí logických operací logická konstanta -její hodnota je stále stejná, má jen dvě možné hodnoty 0 nebo 1 logická proměnná její hodnota se může měnit, možné hodnoty 0 nebo 1 logické proměnné označujeme písmeny např.: A, B, C, X, Y, Z logická funkce logické operace s logickými konstantami a proměnnými, možné hodnoty 0 nebo 1 48
Booleova algebra Booleova algebra je matematický prostředek k popisu logických operací k vytvoření libovolné logické funkce používá pouze tři základní operace: logický součet logický součin negace 49
Logický součet Y=A+B OR, česky NEBO výstupní proměnná Y má hodnotu 1 tehdy, má-li alespoň jedna ze vstupních proměnných A nebo B hodnotu 1. A B A+B 0 0 0 0 1 1 1 0 1 1 1 1 A B Y 50
Logický součin Y=A. B AND, česky A, I výstupní proměnná Y má hodnotu 1 jen tehdy, mají-li hodnotu 1 obě proměnné A i B. A B A B 0 0 0 0 1 0 1 0 0 1 1 1 A B Y 51
Negace Y=A, čteme "A non" NON, NOT, česky NE výstupní proměnná Y má vůči vstupní proměnné A opačnou hodnotu, je její inverzní funkcí A A 0 1 1 0 A Y 52
Více proměnných tři základní funkce (součet, součin, negace) lze rozšířit na libovolný počet vstupních proměnných příklad logického součtu a součinu pro 3 vstupní proměnné: A B C A+B A.B 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 53
Zákony Booleovy algebry A=A A + 0 = A A + 1 = 1 A + A = A A+A=1 zákon dvojí negace nula je v součtu neutrální jednička je v součtu agresivní A. 0 = 0 nula je v součinu agresivní A. 1 = A jednička je v součinu neutrální A. A = A A A=0 54
Zákony Booleovy algebry A+B=B+A komutativní zákony A.B=B.A A+B+C=(A+B)+C=A+(B+C) asociativní A.B.C=(A.B).C=A.(B.C) zákony distributivní zákony: A.(B+C)=A.B+A.C pro součin A+B.C=(A+B).(A+C) pro součet pozor - neexistuje v klasické algebře! 55
Zákony Booleovy algebry demorganovy zákony: A + B + C = A B C A B C = A + B + Shannonův teorém -zobecnění demorganových zákonů: ( A, B, C,, + ) = (A, B, C, +, ) nad každou proměnnou přibude negace + se změní na se změní na + C platí přednost log. součinu před log. součtem! 56
Definice logické funkce
Definice logické funkce logická funkce může být definovaná několika způsoby: pravdivostní tabulka algebraický výraz základní zápis logické funkce v podobě matematického popisu Karnaughova mapa, zároveň i nástroj ke zjednodušování log. funkce (probereme později) další způsoby (nebudeme se je učit): Svobodova mapa, Vennův diagram, 58
Pravdivostní tabulka pro všechny kombinace vstupních proměnných jsou dány hodnoty výstupní funkce (0 nebo 1) pro n proměnných je řádků tabulky: 2 n n=2: 2 2 =4 n=3: 2 3 =8 n=4: 2 4 =16 úplně zadaná funkce -známe její hodnotu (0 nebo 1) pro všechny možné kombinace vstupních hodnot neúplně zadaná funkce pro některé kombinace vstupních proměnných může mít funkce hodnotu 0 nebo 1 (tedy nezáleží na hodnotě), výslednou hodnotu značíme obvykle X 59
Pravdivostní tabulka Pravdivostní tabulka úplně zadané funkce A B C f 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 Pravdivostní tabulka neúplně zadané funkce A B C f 0 0 0 0 0 0 1 X 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 X 60
Algebraický výraz výstupní funkce je vyjádřena pomocí logických operací (součet, součin, negace) se vstupními proměnnými algebraický výraz lze získat i z pravdivostní tabulky či Karnaughovy mapy algebraický výraz lze (po úpravě) převést do pravdivostní tabulky či Karnaughovy mapy příklady zápisu funkce: Y = (AB + C)(A + B)C Y = AB+ AB+ ABC 61
Karnaughova mapa Karnaughova mapa [karnafova] především je to nástroj ke zjednodušování logické funkce vhodná pro funkce s max. 5 vstupními proměnnými (pro více proměnných je nepřehledná) je tvořena počtem 2 n políček, kde n je počet vstupních proměnných příklad Karnaughovy mapy pro 3 proměnné A 0 0 1 0 B 0 1 1 0 C 62
Minimalizace logické funkce, Karnaughova mapa
Algebraická minimalizace před vlastní realizací pomocí logických obvodů výraz minimalizujeme aplikací zákonů Booleovy algebry důvod minimalizace: jednodušší schéma obvodu menší spotřeba levnější výroba větší spolehlivost algebraická minimalizace je náročná a zdlouhavá, v praxi obvykle minimalizujeme jinými metodami (např. Karnaughova mapa) 64
Příklad úpravy algebraického výrazu minimalizujme výraz: Y=(AB+C)(A+B) C Y=(AAB+ABB+AC+BC)C Y=AABC+ABBC+ACC+BCC Y=ABC+ABC+AC+BC Y=ABC+AC+BC Y=C(AB+A+B) Y = C (A(B + 1)) + B Y=C(A+B) 65
Karnoughova mapa - základy rychlý nástroj pro minimalizaci logické funkce každé políčko mapy představuje součin příslušných proměnných (přímých nebo negovaných - tzv. minterm) do příslušného políčka zapíšeme logickou hodnotu 1, obsahuje-li funkce příslušný součin proměnných do příslušného políčka zapíšeme logickou hodnotu 0, neobsahuje-li funkce příslušný součin proměnných je-li počet proměnných (n) sudé číslo, bude tabulka čtvercová, při n lichém bude obdélníková 66
Políčka Karnaughovy mapy součiny proměnných v jednotlivých políčkách: A A A A B A B A B AB A A B B A BC AB C ABC ABC A BC ABC ABC ABC C 67
Políčka Karnaughovy mapy součiny proměnných v jednotlivých políčkách: A B ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C ABCD ABCD ABCD ABCD D 68
Sousedící políčka součiny sousedících políček se mění jen v jedné proměnné (mapa je sestavena v Grayově kódu) sousedící políčka sousedí jen stranami, nikoliv přes rohy 69
Sousedící políčka sousedící políčka mapa pro 3 proměnné A B C sousedící políčka mapa pro 4 proměnné B A C D 70
Minimalizace pomocí Karnaughovy mapy naplníme Karnaughovu mapu logickými 1 (logické 0 se někdy nezapisují): z pravdivostní tabulky z algebraického výrazu - ve správném tvaru jako součet součinů A B 1 1 1 0 1 1 0 0 C 71
Minimalizace pomocí Karnaughovy mapy zarámujeme (graficky sdružujeme) sousedící políčka s hodnotou log. 1 počet zarámovaných log. 1 může být 1, 2, 4, 8, 16 (binární číslo) zarámujeme vždy co největší oblast políček snažíme se dosáhnout minimálního počtu smyček A B C 1 1 1 0 1 1 0 0 72
Minimalizace pomocí Karnaughovy mapy zarámované musí být všechny 1v mapě již jednou zarámovaná 1 v jedné smyčce může být součástí jiné smyčky viz políčko označené A B 1 1 1 0 1 1 0 0 C 73
Minimalizace pomocí Karnaughovy mapy pro každou smyčku napíšeme součin proměnných, které nemění pro celou oblast svou hodnotu (negaci) všechny součiny sečteme kolik je smyček tolik bude součinů modrá smyčka: AC červená smyčka: B výsledná funkce: Y= B + AC A 1 1 1 0 1 1 0 0 B C 74
Funkce zadaná pravdivostní tabulkou pro řádky, na nichž Y=1, napíšeme součin všech proměnných tak, aby vyšla hodnota 1 součiny sečteme A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 ABC ABC ABC ABC Výsledná funkce: Y=ABC+ABC+ABC+ABC 75
Funkce zadaná pravdivostní tabulkou výslednou funkci Y=ABC+ABC+ABC+ABC zapíšeme do Karnaughovy mapy vytvoříme smyčky minimalizovaná funkce: Y = AC+AB+BC A B 1 1 1 1 C AC AB BC 76
Funkce zadaná algebraickým výrazem výraz musí být upraven na součet součinů Y=ABC+AB+ABC+ABC součin menšího počtu proměnných (než je celkový počet zde 3) dodá 1 do více políček současně různé součiny mohou dodat své 1 do stejného políčka, v políčku pak necháme jen jednu 1 minimalizovaná funkce: Y=ABC+AB+BC C 1 11 1 1 A 1 1 A 1 1 B B C 77
Využití neúplně zadané funkce A B A B 1 1 1 1 1 X 1 1 C C Y=AB+AC Y=A 78
Kombinační logické obvody
Kombinační logické obvody výstupní hodnota závisí jen na současné hodnotě vstupních hodnot pro sestavení libovolné kombinační funkce potřebujeme tzv. úplný systém logických funkcí, ten tvoří trojice: logický součet logický součin negace další úplné systémy logických funkcí poznáme později 80
Základní logické členy logický člen elektrický obvod, který realizuje požadovanou logickou funkci obecně se nazývají hradla hradla se zakreslují schematickými značkami schematické značky se pro stejná hradla liší: evropské měli bychom je používat americké vliv programů pro kreslení schémat (vyrobené v USA) hradla mívají nejčastěji od 2 do 8 vstupů (také i 13 vstupů) 81
Základní hradla Logický součet OR Y = A+B A B A+B 0 0 0 0 1 1 1 0 1 1 1 1 1 Logický součin AND Y = A. B A B A B 0 0 0 0 1 0 1 0 0 1 1 1 & Negace NOT Y = A A A 0 1 1 0 1 82
Hradlo NAND hradlo NAND (úplný systém logických funkcí) Y=A.B A & A.A = A + A = A A B Y 0 0 1 0 1 1 1 0 1 1 1 0 A B A B A.B A B A. B A. B = A + B = A + B 83
Hradlo NOR hradlo NOR (úplný systém logických funkcí) Y=A+B A 1 A.A = A + A = A A B Y 0 0 1 0 1 0 1 0 0 1 1 0 A B A B A+B A B A + B A + B = A. B = A. B 84
Hradla XOR a EQ XOR, EX OR exkluzivní (výhradní) součet Y=AB+AB = A B =1 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 XNOR, EX NOR, EQ ekvivalence (shodnost) Y=AB+AB = A B =1 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 85
AND-OR-INVERT (AND-NOR) realizuje vztah: Y=AB+CD výstup je v log. 0 jen tehdy, je-li na obou vstupech některé sekce AND současně stav log. 1, ve všech ostatních případech ve na výstupu log.1 zkrácená pravdivostní tabulka: A B C D Y 1 & 1 1 X X 0 & X X 1 1 0 ostatní kombinace 1 86
Aplikace logických členů zjednodušte výraz Y=AB+AB+AB, porovnejte obvodovou realizaci původního a zjednodušeného schématu po zjednodušení: Y=A+B 1 A před zjednodušením B 1 1 po zjednodušení 87
Převodníky kódů převodníky převádějí znak (informaci) z jednoho kódu do jiného kódu v literatuře se používají pojmy kodér a dekodér, kodér převádí znak do nějakého kódu, dekodér jej převádí zpět do původního formátu oba převodníky pracují na stejném principu, budeme nadále používat termín dekodér (převodník) 88
Převodník 1 ze 4 obecně převodník 1 z N převádí stavy z přímého binárního kódu na kód, kdy je aktivní vždy pouze jeden z N výstupů převodník 1 ze 4 má 2 vstupy a 4 výstupy (2 2 =4) A B V0 V1 V2 V3 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 V0 = A B V1 = A B V2 = A B V3 = A B 89
Převodník 1 ze 4 schéma zapojení V0 = A B V1 = A B V2 = A B V3 = A B 90
Převodník BCD kódu na kód 1 z 10 vstupem je 4 bitové BCD číslo, aktivní je jeden výstup z 10 Vstupy Výstupy D C B A V0 V1 V2 V3 V4 V5 V6 V7 V8 V9 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 ostatní 0 0 0 0 0 0 0 0 0 0 V0 = A B C D V1 = A B C D V2 = A B C D V3 = A B C D V4 = A B C D V5 = A B C D V6 = A B C D V7 = A B C D V8 = A B C D V9 = A B C D 91
92 Převodník BCD kódu na kód 1 z 10 D C B A V0 = D C B A V1 = D C B A V2 = D C B A V3 = D C B A V4 = D C B A V5 = D C B A V6 = D C B A V9 = D C B A V8 = D C B A V7 = schéma zapojení
Převodník kódu 1 z 10 na kód BCD používá se pro převod desítkového vstupního signálu (např. z klávesnice) do kódu BCD Vstupy Výstupy napíšeme vztahy pro výstupy: S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 D C B A 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 A=S1+S3+S5+S7+S9 B=S2+S3+S6+S7 C=S4+S5+S6+S7 D=S8+S9 použijeme hradla OR 93
Převodník kódu 1 z 10 na kód BCD vstupy hradel jsou přes rezistory připojeny na zem a tak mají na svém vstupu log.0 při stisku číselného tlačítka se přivede na dané vstupy hradel log.1 94
Multiplexery multiplexer si můžeme představit jako vícepolohový přepínač má za úkol propojit jeden ze vstupů na výstup vstup, který má být připojen k výstupu, se určí adresou v binárním kódu multiplexer má n adresových vstupů, 2 n datových vstupů a 1 výstup vstupy datové vstupy adresové vstupy 2 3 E0 E1 E2 E3 E4 E5 E6 E7 A B C 1 4 0 1 2 3 4 5 6 7 A B C MX výstup Y 95
Multiplexery použití: spínání signálu ze vstupu na výstup generování logické funkce převod paralelních dat na sériová zjištění stavu na vstupu Di 96
Dvouvstupový multiplexer nejjednodušší multiplexer obsahuje dva datové vstupy D0 a D1 a jeden řídící vstup V pro V=1: vstup D1 je zablokován a platí Výstup=D0 pro V=0: vstup D0 je zablokován a platí Výstup=D1 V Výstup 0 D1 1 D0 97
Čtyřvstupový multiplexer k sestrojení použijeme převodník 1 ze 4 ( ) obsahuje dva adresové vstupy A0 a A1, čtyři datové vstupy D0 až D3 a jeden výstup VY dekodér 1 ze 4 podle přivedené adresy (A0, A1) uvede jeden výstup do log. 1 a tím připojí příslušný vstup D k výstupu A1 A0 VY 0 0 D0 0 1 D1 1 0 D2 1 1 D3 98
Generování Bool. funkce multiplexerem multiplexerem lze realizovat funkci zadanou buď pravdivostní tabulkou nebo výrazem ve tvaru součtu součinů realizujeme multiplexorem majoritní funkci A B C Vstup Součin Y 0 0 0 E0 A B C 0 0 0 1 E1 A B C 0 0 1 0 E2 A B C 0 0 1 1 E3 A B C 1 1 0 0 E4 A B C 0 1 0 1 E5 A B C 1 1 1 0 E6 A B C 1 1 1 1 E7 A B C 1 99
Generování Bool. funkce multiplexerem má-li být daný součin realizován (v tabulce je 1), přivedeme na daný vstup log.1 nemá-li být daný součin realizován (v tabulce je 0), přivedeme na daný vstup log.0 0 1 E0 E1 E2 E3 E4 E5 E6 E7 A B C MX Y Y=E3+E5+E6+E7= =ABC+ABC+ABC+ABC 100
Demultiplexery demultiplexer je v zásadě obrácený multiplexer má jeden vstup, který může být propojen na jeden z několika výstupů základním funkčním blokem je dekodér 1 ze 4 použití: převod sériových dat na paralelní 101
Demultiplexery použití multiplexeru a demultiplexeru: přenos informací rychlým sériovým kanálem, na vstupní straně se zdroje signálů svedou do multiplexeru a ten je převede do sériového tvaru a vysílač je vyšle do přijímače, z přijímače se sériová data přivedou do demultiplexeru a ten je rozdělí do patřičného počtu výstupů (stejného jako bylo vstupů). zdroj 1 zdroj 2 zdroj n MX multiplexování vysílač přijímač rychlá přenosová cesta DX příjemce 1 příjemce 2 příjemce n demultiplexování 102
Sčítačky sčítačky jsou kombinační obvody, které realizují součet dvou binárních čísel pro sčítání platí vztahy: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 přenos 1 do vyššího řádu A B Y 0 0 0 0 1 1 1 0 1 1 1 0 výstupní hodnoty odpovídají výstupu hradla XOR (exkluzívní součet, A B) XOR je tedy základní stavební prvek sčítaček =1 103
Poloviční sčítačka součet realizuje hradlo XOR přenos realizuje hradlo AND poloviční -znamená, že nepracuje s přenosem z předchozího řádu (zkratka HS half-summer). A B HS S P 104
Úplná sčítačka sčítá dva bity a přenos z předchozího řádu má 3 vstupy: 2 sčítané bity A, B přenos z předchozího řádu P má 2 výstupy: součet S přenos do vyššího řádu P1 A B P SM S P1 A B P HS P S HS P S 1 P1 S 105
Čtyřbitová sčítačka sečte dvě 4 bitová čísla, výsledkem je 4 bitový součet S a přenos do vyššího řádu P nevýhoda pro velký počet bitů (32, 64) trvá výpočet dlouho signál prochází postupně mnoha hradly to má za následek velké zpoždění P0 A0 B0 A1 B1 A2 B2 A3 B3 0 SM S P0 SM S P1 SM S P2 SM S P3 S0 S1 S2 S3 P 106
Sčítačka se zrychleným přenosem pro rychlý výpočet součtu lze použít obvod pro zrychlený výpočet přenosů a 0 b 0 a 1 b 1 a 2 b 2 a 3 b 3 obvod pro zrychlení výpočtu přenosu P 0 P 1 P 2 P 3 Σ Σ Σ Σ S 0 S 1 S 2 S 3 107
Sčítačka a odčítačka sčítačku lze použít i pro odčítání odčítané číslo převedeme na záporné pomocí dvojkového doplňku operaci nastavíme log. 1 na daném vstupu (sčítání, odčítání), na druhém bude log.0 odčítání sčítání B & číslo B B & 1 p 0 SM S sčítačka číslo A 108
Sériová sčítačka tam, kde nevadí pomalost, lze použít pro sčítání vícebitových čísel jedinou sčítačku sčítá se postupně bit po bitu v posuvném registru pro n-místná čísla je zapotřebí n kroků (taktů hodin) Registr A SM Registr výsledku Registr B P přenos 109
Literatura 110
Literatura BERNARD, Jean-Michel, HUGON, Jean, LE CORVEC, Robert. Od logických obvodů k mikroprocesorům. Praha : SNTL, 1988. 688 s. MATOUŠEK, David. Číslicová technika : základy konstruktérské praxe. 1. vyd. Praha : BEN - technická literatura, 2001. 208 s. ISBN 80-7300-025-3. ANTOŠOVÁ, Marcela, DAVÍDEK, Vratislav. Číslicová technika : učebnice. 1. vyd. České Budějovice : KOPP, 2003. 288 s. ISBN 80-7232-206-0. MALINA, Václav. Digitální technika. 1. vyd. České Budějovice : KOPP, 1996. 208 s. BAYER, Jiří, HANZÁLEK, Zdeněk, ŠUSTA, Richard. Logické systémy pro řízení. 1. vyd. Praha : Vydavatelství ČVUT, 2000. 269 s. ŠIMEK, Tomáš, BURGET, Pavel. Elektronické systémy 1 : přednášky. 1. vyd. Praha : Vydavatelství ČVUT, 2001. 192 s. 111