+ All Categories
Home > Documents > Digitální technika - SKRIPTAq-skripta.cz/stahnout/dt1.pdf · ČÍSELNÉ SOUSTAVY Každé...

Digitální technika - SKRIPTAq-skripta.cz/stahnout/dt1.pdf · ČÍSELNÉ SOUSTAVY Každé...

Date post: 06-Feb-2018
Category:
Upload: dotruc
View: 216 times
Download: 0 times
Share this document with a friend
192
Digitální technika I. obory: mechanik elektrotechnik telekomunikační mechanik 2. ročník © Jiří Gregor 2011
Transcript

Digitální technika I.

obory: mechanik elektrotechnik

telekomunikační mechanik

2. ročník

© Jiří Gregor 2011

ČÍSELNÉ SOUSTAVY

Každé digitální zařízení pracuje s čísly. Pro nás jsou

čísla symbolem určitého množství – kvantity.

V běžném životě využíváme desítkovou soustavu,

která používá deset znaků – číslic, a to 0, 1, 2, 3, 4,

5, 6, 7, 8, 9 a její základ je tedy Z = 10. Pro digitální

systémy (např. počítače) však není tato soustava

vhodná, protože by bylo třeba rozlišovat deset

různých, například napěťových úrovní a to by kladlo

velké nároky na kvalitu a přesnost. Proto v digitálních

systémech využíváme číselné soustavy o jiných

základech, nejčastěji je základ 2 s číslicemi 0 a 1.

ČÍSELNÉ SOUSTAVY

Obvyklé číselné soustavy

Soustava desítková (dekadická) Z = 10

používá se v běžném životě, tu známe.

Soustava dvojková (binární) Z = 2

Používá dva znaky: 0 a 1, nebo L a H. Znaky 0 nebo

L znamenají vypnuto, kontakt rozepnutý, nulová nebo

nízká (Low) úroveň napětí, znaky 1 nebo H pak

zapnuto, kontakt sepnutý, max. jmenovitá nebo

vysoká (High) úroveň napětí. Tato soustava je

používána mj. v elektronických spínacích obvodech.

ČÍSELNÉ SOUSTAVY

Soustava osmičková (oktalová) Z = 8

Využívá osmi číslic: 0, 1, 2, 3, 4, 5, 6 a 7. Tato

soustava se spolu se šestnáctkovou dříve používala v

souvislosti se staršími typy sálových počítačů.

Soustava šestnáctková (hexadecimální) Z = 16

Tato soustava využívá 16 znaků, a to číslice od 0 do 9

a zbylých 6 znaků jsou písmena A až F.

ČÍSELNÉ SOUSTAVY

Dekadická

soustava

Z = 10

Dvojková

soustava

Z = 2

Osmičková

soustava

Z = 8

Šestnáctková

soustava

Z = 16

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Převody mezi číselnými soustavami

Převod čísla do dekadické soustavy

Pro převod čísla ze soustavy o základu Z do soustavy

dekadické

FZ → F10

uvedeme několik příkladů:

1. Převeďte číslo F3 = 2101 do soustavy o základu Z = 10

Řešení: F3 = 2·33 + 1 ·3

2 + 0 ·3

1 + 1 ·3

0

F10 = 54 + 9 + 0 + 1 = 64

Výsledek: F10 = 64

Převod čísla do dekadické soustavy

2. Převeďte číslo F2 = 11011 do soustavy o základu Z = 10

Řešení: F10 = 1·24 + 1 ·2

3 + 0 ·2

2 + 1 ·2

1 + 1 ·2

0

F10 = 16 + 8 + 0 + 2 + 1 = 27

Výsledek: F10 = 27

3. Převeďte číslo F8 = 2175 do soustavy o základu Z = 10

Řešení: F10 = 2 ·83 + 1 ·8

2 + 7 ·8

1 + 5 ·8

0

F10 = 1024 + 64 + 56 + 5 = 1149

Výsledek: F10 = 1149

Převod čísla do dekadické soustavy

Na základě předchozích příkladů vypracujte kontrolní úlohy:

1. Převeďte číslo F2 = 10101 do soustavy o základu Z = 10

Výsledek: F10 = 21

2. Převeďte číslo F2 = 111010 do soustavy o základu Z = 10

Výsledek: F10 = 58

3. Převeďte číslo F8 = 1864 do soustavy o základu Z = 10

Výsledek: F10 = 1076

4. Převeďte číslo F16 = C7A do soustavy o základu Z = 10

Výsledek: F10 = 3194

Převod čísla z dekadické soustavy

Pro převod čísla ze soustavy dekadické do soustavy o základu Z

F10 → FZ

existují dvě metody:

Metoda postupného odečítání

Metoda postupného dělení

Ukážeme si metodu postupného dělení. Původní číslo F10 v

soustavě o základu10 se rozkládá postupným dělením číslem,

které odpovídá základu Z soustavy, do které chceme číslo

převést, přičemž jako výsledek se zapisují zbytky po dělení v

opačném pořadí.

Převod čísla z dekadické soustavy

Příklad: Převeďte číslo F10 = 190 do soustavy o základu Z = 2

Řešení:

Převáděné číslo postupně dělíme číslem 2 a zbytky zapisujeme z pravé strany.

190 : 2 = 95, zbytek po dělení je 0 0 → a0

95 : 2 = 47, zbytek po dělení je 1 1 → a1

47 : 2 = 23, zbytek po dělení je 1 1 → a2

23 : 2 = 11, zbytek po dělení je 1 1 → a3

11 : 2 = 5, zbytek po dělení je 1 1 → a4

5 : 2 = 2, zbytek po dělení je 1 1 → a5

2 : 2 = 1, zbytek po dělení je 0 0 → a6

1 : 2 = 0, zbytek po dělení je 1 1 → a7

Výsledek: F2 = a7 a6 a5 a4 a3 a2 a1 a0 = 10111110

Převod čísla z dekadické soustavy

Příklad:

Převeďte číslo F10 = 190 do soustavy o základu Z = 16

Řešení:

Převáděné číslo postupně dělíme číslem 16 a zbytky zapisujeme z pravé strany.

190 : 16 = 11, zbytek po dělení je 14 1410 = E16 → a0

11 : 16 = 0, zbytek po dělení je 11 1110 = B16 → a1

Výsledek: F16 = a1 a0 = BE

Převod čísla z dekadické soustavy

Příklad:

Převeďte číslo F10 = 190 do soustavy o základu Z = 8

Řešení:

Převáděné číslo postupně dělíme číslem 8 a zbytky zapisujeme z pravé strany.

190 : 8 = 23, zbytek po dělení je 6

23 : 8 = 2, zbytek po dělení je 7

2 : 8 = 0, zbytek po dělení je 2

Výsledek: F8 = 276

Aritmetické operace ve dvojkové soustavě

Sčítání

Při sčítání se příslušné koeficienty čísla sčítají

obdobně jako v soustavě desítkové. Protože u

soustav s menší hodnotou základu Z (např. Z = 2) se

řády mění rychleji než v soustavě desítkové, musíme

věnovat velkou pozornost přenosům do vyššího řádu.

Přenos do vyššího řádu vzniká v případě, že je

součet sčítaných číslic roven nebo větší než základ

číselné soustavy, ve které sčítáme. Při větším počtu

sčítanců může nastat přenos ne o jeden, ale o více

řádů.

Sčítání ve dvojkové soustavě

Příklad:

sečtěte dvě dakadická čísla A10 = 7 a B10 = 8

Řešení:

7

8

____

15

Číslo 5 odpovídá součtu na řádovém místě jednotek,

jednička tvoří přenos do vyššího řádu.

Sčítání ve dvojkové soustavě

Protože se v digitální technice nejčastěji používá

vyjádření binárními čísly, ukážeme si postup sčítání

právě na nich. Sčítání ve dvojkové soustavě je totiž

nejdůležitější matematickou operací, protože tvoří

základ pro ostatní aritmetické operace – - odečítání,

násobení a dělení.

Obecně můžeme součet čísel A a B zapsat takto:

S = A + B

Sčítání ve dvojkové soustavě

Při sčítání využíváme následujících vlastností binárních čísel:

0 + 0 = 0

0 + 1 = 1 + 0 = 1

1 + 1 je součet, který známe z desítkové soustavy a jehož hodnota je 2. Protože číslo 2 ve dvojkové soustavě neexistuje, musíme je vyjádřit dvojkově:

210 → 102

Aritmetický součet dvou binárních čísel 1 je

1

1 _____________

10

Na řádovém místě v součtu, které odpovídá řádovému místu obou sčítanců,

zůstává nula a jednička tvoří přenos do vyššího řádu.

Sčítání ve dvojkové soustavě

Příklad:

Sečtěte dvě dvojková čísla A = 110112 a B = 1100102

Řešení:

110112

1100102 ______________________

10011012

Výsledek: Součet čísel A + B = 10011012 .

Odčítání ve dvojkové soustavě

Odčítání

Odčítání ve dvojkové soustavě provádíme obdobně jako v

soustavě desítkové, musíme však opět respektovat změny řádů.

Příklad:

Odečtěte dvě dvojková čísla A = 10010112 a B = 1100102

Řešení:

10010112 (menšenec)

01100102 (menšitel) ______________________

00110012 (rozdíl)

Výsledek: Rozdíl dvou čísel A - B = 00110012 .

Násobení ve dvojkové soustavě

Násobení

provádíme ve dvojkové soustavě stejným způsobem jako v soustavě desítkové:

Příklad: Vynásobte mezi sebou dvě dekadická čísla

A = 4510 a B = 1310

vyjádřené ve dvojkové soustavě

Řešení: A 1011012

B 11012

________________

101101

000000

101101

101101 __________________________

10010010012

Výsledek: A . B = 4510 . 1310 = 10010010012

Aritmetické operace ve dvojkové soustavě

Vypočítejte:

A) Sečtěte dvě dvojková čísla A = 110012 a B = 1101102

Odečtěte dvojková čísla A = 1101102 a B = 110012

Vynásobte dvojková čísla A = 100012 a B = 1102

B) Sečtěte dvě dvojková čísla A = 10012 a B = 1101102

Odečtěte dvojková čísla A = 1101002 a B = 111012

Vynásobte dvojková čísla A = 101012 a B = 1112

C) Sečtěte dvě dvojková čísla A = 111112 a B = 1100002

Odečtěte dvojková čísla A = 1100002 a B = 111112

Vynásobte dvojková čísla A = 101012 a B = 1012

KÓDOVÁNÍ DAT

Před zpracováváním dat například v počítači je třeba znaky převést do tvaru, kterému počítač rozumí, tj. přiřadit jim určité kombinace bitů. Tomuto převodu se říká kódování.

Kód je předpis pro jednoznačné přiřazení určité kombinace bitů příslušnému znaku. Kombinaci bitů zobrazující znak se říká kódové slovo. Z ekonomických důvodů se znaky zobrazují pokud možno co nejmenším počtem bitů. Počtem bitů v kódovém slově je však zdola omezen počtem různých znaků, kterých se v praxi používá více než 100. Z toho vyplývá, že kódová slova vyjadřující alfanumerické znaky musejí mít nejméně 7 bitů, protože 27 = 128 bitů. Jen výjimečně, při omezeném souboru znaků nebo při přepínání kódových slov, se používá menší počet bitů, např. 5.

KÓDOVÁNÍ DAT

Příklad zobrazení různých znaků pomocí osmibitového kódového slova: kombinaci bitů 01011010 můžeme dát různý význam, daný příslušným kódem, např. může tato skupina bitů zobrazovat celé dekadické číslo 9010, nebo může také zobrazovat reálné dekadické číslo 1,70312510, budeme-li uvažovat řádovou čárku za prvním bitem zleva. Uvedenou kombinaci bitů můžeme znázornit také pomocí hexadecimálního zobrazení jako 5AH. Vidíme, že jedna kombinace bitů může odpovídat různému kódování znaků a vždy je třeba mít jasno, co zvoleným kódem sledujeme a stále musíme zvolený způsob kódování dodržovat.

Kódy používané pro strojové operace

Kódová slova pro různé kódy se řadí do kódových tabulek. Přiřazování kódových slov

určitým znakům se říká kódování. Ke kódování se používá generátor kódu, který může obsahovat logické nebo paměťové obvody. Původní znak se získá z kódového slova dekódováním.

K dekódování se používá dekodér obsahující opět logické nebo paměťové obvody.

Kódy používané pro strojové operace

Přímý dvojkový kód

Je to kód, který jednoznačně přiřazuje dané číslici kombinaci pouze dvou různých znaků. Na rozdíl od desítkové soustavy používá dvojková soustava pouze dvě číslice, 0 a1. Hodnota každé číslice je závislá na jejím umístění ve dvojkovém čísle, na tzv. váze, což je mocnina základu, tedy čísla 2.

Kódy pro zkrácení zápisu binárních čísel

K přehlednějšímu zobrazení dat ve dvojkové soustavě se používá zobrazení v osmičkové (oktalové) a v šestnáctkové (hexadecimální) soustavě.

Kódy používané pro strojové operace

Kódy pro zkrácení zápisu binárních čísel

Oktalový kód

využívá pro zobrazení koeficientů na jednotlivých řádových místech číslic 0 až 7. Při převodu čísla z dvojkové do osmičkové soustavy se dvojkové číslo rozdělí na trojice bitů, počínaje nejnižšími řády. Každá trojice bitů se vyjádří jednou osmičkovou číslicí nezávisle na ostatních číslicích.

Příklad: 001 101 111 1102 = 15768

Hexadecimální kód

Hexadecimální (šestnáctková) soustava se využívá v technické dokumentaci počítačů, při programování, k zápisu kódových slov atd.

Kódy používané pro strojové operace

BCD kód (8421 kód) Jedná se o dvojkově desítkový

kód (Binary Coded Decimal).,

používá se pro kódování

desítkových číslic 0 až 9.

Každá desítková číslice D je

vyjádřena kódovým slovem se

čtyřmi bity ve dvojkové

soustavě (viz tabulka).

D b3 b2 b1 b0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Kódy používané pro strojové operace

Exces 3 kód (kód

BCD+3) Nechceme-li vyjádřit v kódu

BCD žádnou informaci,

ukazuje počítač 0000, což je

čteno jako číslo 0, a to je

problém. Tento problém řeší

kód Exces 3 (Exces –

nadbytek). Kód Exces 3 se

vytvoří tak, že se každá

číslice v kódu BCD zvýší o

tři.

D BCD Exces 3

0 0000 0011

1 0001 0100

2 0010 0101

3 0011 0110

4 0100 0111

5 0101 1000

6 0110 1001

7 0111 1010

8 1000 1011

9 1001 1100

Kódy používané pro strojové operace

Grayův kód Zrcadlový binární kód podle Franka Graye, je binární

číselná soustava, ve které se každé dvě po sobě jdoucí hodnoty liší v bitovém vyjádření změnou pouze jedné bitové pozice.

Zrcadlový binární kód byl původně navržen pro zabránění rušivého výstupu z elektromechanických přepínačů (hazardy relé). Dnes je Grayův kód používán pro podporu opravy chyb v digitální komunikaci jako je digitální pozemní televize a některé systémy kabelové televize. Grayův kód využívají také odpovídače sekundárního radaru v letadlech. Také některé snímače polohy (lineární i rotační) udávají absolutní polohu v Grayově kódu, aby byl vyloučen výskyt chybné hodnoty při přechodu mezi dvěma sousedními polohami.

Kódy používané pro strojové operace

Kódy k z n Kódy k z n mají kódové slovo s délkou n

bitů, z nichž k bitů jsou jedničky a je jich

konstantní počet, ostatní bity jsou nulové.

Tyto kódy jsou detekční, což znamená, že

umožňují detekovat jednu chybu. V praxi se

pro kódování řídicích signálů užívají kódy 1 z

n, kde n = 2 až 10.

Kódy používané pro strojové operace

Ochrana při přenosu kódů Zakódované binární slovo často přenášíme na určitou

vzdálenost přenosovou cestou, na které může dojít vlivem rušení ke zkreslení, chybám v přenášených datech. Přenesenou informaci je proto třeba zkontrolovat, zda neobsahuje chyby, v dalším zpracování je možno pokračovat až po té, jestliže tomu tak není.

Kontrola paritou

Princip této metody spočívá v tom, že k přenášené informaci přidáme další bit, označovaný jako bit paritní. Hodnotu tohoto bitu určíme tak, že v nově vzniklém slově bude vždy dohromady buď sudý počet jedniček (sudá parita) nebo lichý počet jedniček (lichá parita).

Kódy používané pro strojové operace

Chybný přenos informace

Kontrola paritou nám tedy dovolí odhalit chybu. Po přijetí zprávy

kontrolujeme, zda má přijaté slovo sudý nebo lichý počet jedniček.

Když tomu tak není, víme, že při přenosu došlo k chybě nejvýše v

jednom bitu.

Kódy používané pro strojové operace

Čárové kódy

Používají se běžně např. na obalech

spotřebního zboží. Podává v číselném tvaru

informace o příslušném výrobku, např. cena

zboží, skladové číslo apod. Lze je rozdělit do

dvou skupin: a) kódy užívané obchodem

b) kódy užívané v průmyslu

Kódy používané pro strojové operace

Starší typy kódů – sedmibitový kód

Nejpoužívanějším kódem pro zobrazení

alfanumerických znaků s pro sériový přenos dat je

ASCII kód (American Standard Code for Information

and Interchange). Tento kód byl vynalezen přibližně

před 50 lety jako prostředek k zobrazování textu na

monitoru počítače. Přiřazoval každému písmenu číslo

a pak pomocí dekódovací tabulky tomuto číslu

přiřadil písmeno a zobrazil je displeji. Například

písmenu A odpovídá dekadický kód 65, písmenu a

pak kód 97. ASCII kód se stal celosvětovým

standardem a je používán v každém počítači.

Kontrolní otázky

Čemu se říká kódování?

Co je to kód?

Čemu se říká kódové slovo?

Kolik bitů musejí mít kódová slova vyjadřující alfanumerické znaky a proč?

Co se používá ke kódování a co k dekódování a co tyto obvody obsahují?

Co je přímý dvojkový kód?

Které kódy se používají pro zkrácení zápisu binárních čísel? Popište je.

Vysvětlete, co je kód BCD.

Vysvětlete, co je kód BCD+3.

Grayův kód

Popište kódy k z n.

Ochrana při přenosu kódů.

Čárové kódy, starší typy kódů.

LOGICKÉ FUNKCE

Logika je nauka o základech myšlení v

procesu vytváření úsudků a důkazů.

Logický obvod je takový obvod, u něhož

může každá veličina na vstupu i výstupu v

ustáleném stavu nabývat s určenou

přesností jen jedné ze dvou možných

hodnot a který obsahuje takové prvky, jejichž

vstupní a výstupní veličiny mohou nabývat

také jen jedné ze dvou možných hodnot.

Kombinační logické obvody

Jedná se o systémy, jejichž odezva je v určitém časovém okamžiku podmíněna výhradně hodnotami, které jsou na vstupech tohoto systému, jinými slovy každá změna logických hodnot na vstupech se téměř okamžitě projeví změnou logické hodnoty na výstupu, v závislosti na logické funkci systému.

Kombinační logické obvody

Úkolem kombinačního obvodu je realizovat

logické funkce fi tak, že každé kombinaci

hodnot vstupních proměnných přiřadí

určitou hodnotu výstupní proměnné.

Na vstup obvodu může přijít z vnějšku

celkem 2n různých kombinací hodnot

vstupních proměnných. Pro n vstupních

proměnných můžeme získat 22n různých

logických funkcí fi.

Sekvenční logické obvody

Jedná se o systémy, jejichž odezva je v

určitém časovém okamžiku dána nejen

hodnotami proměnných na vstupech tohoto

systému, ale i posloupností (sekvencí)

předcházejících vstupních hodnot. Sekvenční

obvod je proto opatřen pamětí, která svým

stavem definuje vnitřní stav tohoto systému v

závislosti na posloupnosti signálů, které

přicházely na vstup.

Logické funkce jedné proměnné

Logickou funkci jedné

nezávisle proměnné lze

vyjádřit čtyřmi způsoby

(viz tabulka):

a f0 f1 f2 f3

0

1

0

0

0

1

1

0

1

1

Vstupní proměnná je označená a,

logické funkce jsou f0, f1, f2 a f3.

f0 – triviální identita

f1 – identická funkce, její hodnota se

shoduje s hodnotou proměnné a

f2 – funkce negace, její hodnota se

shoduje s hodnotou .

f3 – triviální identita, jednotková funkce

Praktický význam mají

pouze funkce

identická a funkce

negace. Negace

logické funkce a se

označuje pruhem nad

příslušnou veličinou,

tj. f2 = .

Logické funkce dvou proměnných

Pro dvě vstupní proměnné můžeme najít

šestnáct různých logických funkcí. Jestliže

označíme vstupní proměnné symboly a, b, a

logické funkce f0 až f15 , můžeme sestavit

tabulku (učebnice, Tab. 4.2.). Jednotlivé

sloupce tabulky vyznačují hodnoty logických

funkcí pro všechny kombinace vstupních

proměnných a, b (00, 01, 10, 11). V pravém

sloupci je uvedeno označení příslušné

funkce.

Logické funkce dvou proměnných

Při návrhu logických obvodů se používají tři základní logické funkce:

logický součin dvou proměnných a, b, označovaný jako AND. Označíme-li výstup logického obvodu y, pak logický součin zapíšeme jako

y = a . b

logický součet, označovaný jako OR. Můžeme ho zapsat vztahem

y = a + b

negace, označovaná jako NOT, je dána vztahy

y = a nebo y = b

Uvedené vztahy se nazývají úplný soubor logických funkcí, protože

jejich kombinací můžeme navrhnout jakýkoliv digitální obvod.

Logické funkce dvou proměnných

Další významné logické funkce

NAND negovaný logický součin y = a . b

NOR negovaný logický součet y = a + b

XOR nonekvivalence y = a b = a . b + a . b

Tato funkce nabývá hodnoty 1, jsou-li hodnoty obou proměnných různé.

XNOR ekvivalence y = a b = a . b + a . b

Funkce nabývá hodnoty 1, jsou-li hodnoty obou vstupních proměnných stejné.

Obě funkce XOR a XNOR jsou významné pro realizaci aritmetických obvodů a číslicových komparátorů.

Logické funkce realizujeme pomocí základních logických členů, jejichž spojováním získáme logický obvod. Pro kreslení schémat logických obvodů používáme schématické značky

(učebnice, Tab. 4.3). http://mikrokontrolery-pic.cz/zaciname/cislicova-technika/booleova-algebra-logicke-funkce/

Logické funkce dvou proměnných

Logické funkce realizujeme pomocí základních logických členů, jejichž spojováním lze získat logický obvod. Pro kreslení schémat logických obvodů používáme schematické značky těchto členů.

Nejčastěji v ČR používané schematické

značky základních logických obvodů

HRADLO AND (a, i)

Na výstupu je logická 1 pouze tehdy, je-li na obou (všech) vstupech logická 1.

HRADLO OR (nebo)

Na výstupu je

logická 1 tehdy, je-li

alespoň na jednom

vstupu logická 1.

HRADLO NAND (negované a, i)

Na výstupu je logická 0 pouze tehdy, je-li na obou (všech) vstupech logická 1.

HRADLO NOR (negované nebo)

Na výstupu je

logická 0 tehdy, je-li

alespoň na jednom

vstupu logická 1.

INVERTOR

Na výstupu je vždy

opačná logická

hodnota než na

vstupu.

HRADLO XOR

Na výstupu je logická 1 jen tehdy, je-li na vstupech rozdílná logická hodnota.

Kontrolní otázky

Co je logika? Co je to logický obvod?

Charakteristika kombinačních logických obvodů.

Charakteristika sekvenčních logických obvodů.

Kolika způsoby lze vyjádřit logickou funkci jedné nezávisle proměnné a proč? Nakreslete tabulku a popište jednotlivé funkce.

Kolik logických funkcí můžeme najít pro dvě vstupní proměnné a jak je označujeme?

Které tři základní logické funkce se používají při návrhu logických obvodů? Napište pro ně platné vztahy.

Popište logické funkce NAND a NOR.

Popište logické funkce XOR a XNOR.

Nakreslete schematické značky logických členů OR, NAND, XOR

Nakreslete schematické značky logických členů NOR, AND, NOT

BOOLEOVA ALGEBRA

Booleova (logická) algebra je matematická disciplína, která je přímo aplikovatelná při návrhu číslicových obvodů. Zahrnuje pravidla a teorémy pro operace s logickými proměnnými a funkcemi. Při používání pravidel se využívají tři základní operace

logický součin (konjunkce),

logický součet (disjunkce),

negace (inverze),

které tvoří teoretický prostředek pro návrh (syntézu) logických obvodů s požadovaným chováním. Vztahy mezi dvouhodnotovými proměnnými lze definovat několika matematickými zákony, tzv. zákony Booleovy algebry, jsou uvedeny v tabulce na následující straně:

BOOLEOVA ALGEBRA

Zákony součtu Zákony součinu

Zákon idempotence

a + a = a a . a = a

Zákon absorpce a + a . b = a a . (a + b) = a

Zákon komutativní

a + b = b + a a . b = b . a

Zákon asociativní a + (b + c) = (a + b) + c a . (b . c) = (a . b) . c

Zákon distributivní

a + (b . c) = (a + b).(a + c) a . (b + c) = a . b + a . c

BOOLEOVA ALGEBRA

Zákony součtu Zákony součinu

Neutrálnost nuly a jedničky

a + 0 = a a . 1 = a

Agresívnost nuly a jedničky

a + 1 = 1 a . 0 = 0

Zákon vyloučeného třetího _

a + a = 1

_

a . a = 0

Zákon negace _

0 = 1

_

1 = 0

Zákon dvojité negace =

a = a

De Morganovy zákony ____ _ _

a + b = a . b

____ _ _

a . b = a + b

BOOLEOVA ALGEBRA

Dva uvedené zápisy v každém bodě

představují obě duální formy každého

zákona. Pojem duální forma znamená, že

jeden vyplývá z druhého při záměně

logického součtu za logický součin a hodnoty

logická 0 za logickou 1 a naopak. Zákony

Booleovy algebry využíváme při úpravách

logických funkcí, aby jejich obvodová

realizace byla co nejjednodušší (jedna z

možností minimalizace logických funkcí).

BOOLEOVA ALGEBRA

De Morganovy zákony jsou v tabulce uvedeny jako

tzv. shannonův teorém, který umožňuje změnit

každou rovnici tak, že znaménko logického součtu

nahradíme znaménkem logického součinu a naopak.

Rovnici v této podobě říkáme inverzní. Podle

shannonova teorému získáme inverzní tvar rovnice

takto:

všechny logické součty zaměníme za logické součiny

a naopak

každou jednotlivou proměnnou negujeme

negujeme celou rovnici

Způsoby popisu logických funkcí

Příklad (učebnice, kap. 4.4.3)

Máme navrhnout logický obvod zadaný logickým výrazem

Použijte základní členy

AND, OR, NOT.

Řešení

Jednotlivé logické operace ve výrazu nahradíme základními členy.

Realizační obvodová struktura dané funkce (učebnice, obr. 4.2)

Způsoby popisu logických funkcí

NAND

Způsoby popisu logických funkcí

Pravdivostní tabulka

je nejběžnějším způsobem popisu logické

funkce. Popisuje zcela přesně chování

logického obvodu, ale neobsahuje žádný

návod pro jeho realizaci. Je to vlastně

model chování logického systému.

Obsahuje výčet všech kombinací

vstupních proměnných a jim

odpovídajících výstupů. Má-li logická

funkce n nezávislých proměnných, bude

mít pravdivostní tabulka 2n řádků. Na

obrázku je příklad zobrazení logické

funkce součinu – AND.

b a y

0 0 0

0 1 0

1 0 0

1 1 1

y = a . b

Způsoby popisu logických funkcí

Pravdivostní tabulkou

můžeme vyjádřit určitou i

neurčitou funkci. Příkladem

neurčité logické funkce je v

této pravdivostní tabulce, kdy

je v jedné řádce zapsán

symbol x, který značí, že je

lhostejné, zda tato hodnota je

logická 1 nebo 0.

T D Qt+1

0 x Qt

1 0 0

1 1 1

Klopný obvod

typu D

Způsoby popisu logických funkcí

Seznam stavových indexů

Seznam stavových indexů představuje zjednodušený

zápis pravdivostní tabulky. Stavovým indexem

rozumíme dekadickou hodnotu kombinace binárních

vstupních proměnných. Např. kombinaci čtyř

vstupních proměnných 0110 můžeme jednoznačně

reprezentovat stavovým indexem 6. Logickou funkci

můžeme potom zapsat jako seznam stavových

indexů, pro něž logická funkce nabývá hodnoty 1,

nebo seznam indexů, pro něž nabývá hodnoty 0.

Způsoby popisu logických funkcí

Logický výraz

Je popisem logické funkce pomocí logických (Booleovských) proměnných ve formě analytického popisu. Jeho vyjádření získáme zápisem logické funkce pro jednotlivé vstupní kombinace. Každému logickému výrazu odpovídá jednoznačně obvodová struktura za předpokladu, že máme k dispozici všechny realizační členy odpovídající operátorům výrazu. Logický výraz tedy můžeme považovat za model struktury logického obvodu. Máme-li tedy zadaný logický výraz popisující logickou funkci, můžeme pomocí základních logických členů navrhnout strukturu logického obvodu.

Způsoby popisu logických funkcí

Vennův diagram Je názorným množinovým způsobem zobrazení logické

funkce. V rovinné oblasti zvolíme tolik dílčích podoblastí, kolik máme vstupních proměnných.

Podoblasti volíme tak, aby existoval neprázdný průnik kterékoli možné kombinace těchto podoblastí.

Jednoznačné přiřazení nastane tehdy, dohodneme-li se, že vstupní proměnná bude jedničková uvnitř příslušné podoblasti. Na následujícím obrázku je znázorněna funkce negovaný logický součin.

Způsoby popisu logických funkcí

Zobrazení pomocí map Má-li logická funkce n vstupních proměnných, rozdělíme

je do dvou přibližně stejných skupin po n1 a n2 proměnných. Potom sestavíme mapu, která bude mít 2n1 sloupců a 2n2 řádků, tj. 2n1 . 2n2 = 2(n1+n2) = 2n polí. Mapa je tedy transformací pravdivostní tabulky, kdy každému řádku tabulky odpovídá jednoznačně jedno pole mapy. Každému řádku, resp. sloupci mapy přiřadíme jednu z kombinací nezávisle proměnných a provedeme zakódování řádků a sloupců. V každém poli mapy je zapsána hodnota logické funkce, která odpovídá logickým proměnným příslušného řádku a sloupce.

Způsoby popisu logických funkcí

Ukázky Karnaughových map

Zápis logické funkce do Karnaughovy mapy

OR

Zápis logické funkce do Karnaughovy mapy

AND

Zápis logické funkce do Karnaughovy mapy

NAND

Minimalizace logických funkcí

Minimalizace logické funkce pomocí Karnaughovy mapy

Příklad

Navrhněte logický obvod, který bude indikovat hodnotou log.1 na výstupu přítomnost čísla většího než 4 na vstupech obvodu. Obvod bude mít tři vstupy (číslo musí být samozřejmě v binárním tvaru, pomocí tří vstupů lze tedy reprezentovat číslo od nuly do sedmi) a jeden výstup. Použijte pouze nezbytně nutný počet hradel. Zadání příkladu můžeme vyjádřit pravdivostní tabulkou. Vstupy jsou pro přehlednost označeny písmeny A, B, C.

Vlevo v tabulce je též uvedena dekadická hodnota vstupního binárního čísla. Dle zadání nabývá výstup Y hodnoty 1, je-li na vstupech A, B, C číslo 1012=510, 1102=610 nebo 1112=710.

Minimalizace logické funkce spočívá v převedení pravdivostní tabulky v tzv. mapu, ve které přehledným grafickým způsobem vytváříme skupiny jedniček. Použijeme tzv. Karnaughovu [čti: karnafovu] mapu.

Minimalizace pomocí Karnaughovy mapy

Velikost mapy závisí na počtu vstupních proměnných resp. na počtu řádků tabulky, v obecném případě má 2n polí, kde n je počet proměnných. V našem příkladu máme tři proměnné, jejichž kombinací může na vstupu nastat 8 různých situací. Karnaughova mapa bude mít tedy 8 polí (stejný počet řádků má i pravdivostní tabulka). Nakreslete si nejprve mřížku o rozměrech 2×4 pole a jeden svislý a dva vodorovné pruhy podél mapy, kterým přiřaďte jednotlivé vstupní proměnné dle obrázku. Tyto pruhy označují řádky a sloupce, v nichž nabývá daná proměnná hodnoty 1. Druhý řádek mapy tak označuje pole, ve kterých nabývá proměnná C hodnoty log.1 (jedná se o 1., 3., 5. a 7. řádek tab.).

Minimalizace pomocí Karnaughovy mapy

Podobně ve dvou prostředních sloupcích, které leží pod pruhem B, nabývá proměnná B hodnoty log.1 a pruh A označuje pravé dva sloupce, ve kterých má proměnná A vždy hodnotu 1 (4. až 7. řádek v tabulce). Pruhy jsou uspořádány tak, aby každé pole odpovídalo jednomu možnému stavu, který může na vstupu nastat. Každé pole je navíc v rohu označeno malým červeným číslem, které odpovídá danému řádku tabulky.

Minimalizace pomocí Karnaughovy mapy

Dalším krokem je vyplnění mapy jedničkami, popř.

nulami. Postupujeme následujícím způsobem: v

řádku č.0 tabulky 1 jsou všechny proměnné A, B i C

nulové, hledáme tedy takové pole mapy, které není

označeno žádným pruhem. Nachází se vlevo nahoře.

Funkce Y nabývá pro toto pravdivostní ohodnocení

hodnoty log.0, do pole tedy zapíšeme 0 (nebo

nezapíšeme nic). Nulu zapíšeme případně i do

dalšího pole, které odpovídá řádku č.1 tab.1. Zde je

A=0, B=0, C=1, hledáme tedy řádek označený

pruhem C a sloupec bez pruhů A a B (nachází se

vlevo dole).

Minimalizace pomocí Karnaughovy mapy

Podobným způsobem vyplníme celou mapu. Poté je

nutno uzavřít jedničky do tzv. smyček. Smyčka může

být buď čtvercového nebo obdélníkového tvaru o

hranách velikosti 2n polí. V našem případě připadají v

úvahu smyčky o rozměrech 1×1, 1×2, 1×4, 2×2 nebo

2×4. Smyčky se mohou vzájemně překrývat, naší

snahou je vytvořit je co největší. Dle uvedených

předpokladů je možné v naší mapě vytvořit pouze

dvě smyčky o rozměrech 1×2 způsobem, který je

vyznačen na obrázku.

Minimalizace pomocí Karnaughovy mapy

Na závěr je nutno sestavit zápis minimalizované funkce. Dostaneme jej ve formě součtu součinů následujícím způsobem: zelená smyčka leží celá v oblasti, kde se nemění hodnota proměnné A (v obou polích je A=1) ani proměnné B (taktéž je v obou polích B=1), avšak mění se hodnota proměnné C (v horním poli je C=0 a v dolním C=1). Proměnnou C tedy nebudeme uvažovat a zapíšeme součin A·B. Modrá smyčka leží v oblasti, kde se nemění hodnota proměnných A a C (obě proměnné zde nabývají hodnoty 1). Modrá smyčka leží v oblasti, kde se nemění hodnota proměnných A a C (obě proměnné zde nabývají hodnoty 1).

Minimalizace pomocí Karnaughovy mapy

Proměnná B svou hodnotu ve smyčce mění, proto ji nebudeme uvažovat a zapíšeme součin: A·C. Výslednou funkci dostaneme součtem součinů získaných z jednotlivých smyček: Y=A·B+A·C.

Řešení pomocí hradel AND a OR Řešení pomocí hradel NAND

Minimalizace pomocí Karnaughovy mapy

PŘÍKLADY

1. Minimalizujte logickou funkci dvou vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

2. Minimalizujte logickou funkci tří vstupních

proměnných:

2. Minimalizujte logickou funkci tří vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

Minimalizace pomocí Karnaughovy mapy

2. Minimalizujte logickou funkci tří vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

2. Minimalizujte logickou funkci tří vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

3. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

3. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

3. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

3. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

4. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

4. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

5. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

5. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

6. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

6. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

7. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

7. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

8. Minimalizujte logickou funkci čtyř vstupních

proměnných:

Minimalizace pomocí Karnaughovy mapy

8. Minimalizujte logickou funkci čtyř vstupních

proměnných:

ZÁKLADNÍ LOGICKÉ ČLENY

Logický člen je základní logický obvod, který má alespoň jeden

vstup a jeden výstup a transformuje vstupní dvouhodnotový logický signál podle určité elementární logické funkce.

Nejčastěji dělíme logické členy podle těchto hledisek:

podle realizované logické funkce

kombinační

sekvenční

podle schopnosti zesilovat signál

pasivní

aktivní

podle druhu signálu, který je nositelem logické informace

elektromechanické (signál je napětí nebo proud a následně síla – relé)

elektrické (signálem je napětí nebo proud)

optoelektrické (signálem je světelný tok a následně elektrické napětí nebo proud)

pneumatické (signálem je mechanický tlak)

ZÁKLADNÍ LOGICKÉ ČLENY

podle použité součástkové základny

elektromechanické – logická funkce je realizována pomocí relé a jejich

kontaktů. Používají se velmi zřídka, pocházejí z dob před vznikem

polovodičů. Základní logické funkce jsou realizovány následovně:

inverze (negace) – pomocí rozpojovacích kontaktů

logický součin (konjunkce) – pomocí kontaktů zapojených do série

logický součet (disjunkce) - pomocí kontaktů zapojených paralelně

diodové – logická funkce je realizována pomocí spínacích diod a

omezovacích rezistorů

tranzistorové – logická funkce je realizována pomocí tranzistorů a

dalších obvodových prvků (diody, rezistory)

integrované - logická funkce je realizována pomocí integrovaných

obvodů, v současnosti nejpoužívanější a nejperspektivnější.

ZÁKLADNÍ LOGICKÉ ČLENY

v rámci jednotlivých technologií podle toho, z jakých obvodových

prvků jsou vyrobeny, dělíme logické členy

DL (diodová logika) – jako spínací prvky jsou používány diody a

omezovací rezistory. Dioda propouští proud, je-li na její anodě vyšší

kladné napětí oproti katodě (o 0,6 – 0,7 V pro Si diodu). V tomto stavu

se chová jako sepnutý spínač, v opačném případě je mezi anodou a

katodou maximální odpor.

Nevýhodami jsou

nemožnost realizace

funkce invertoru, a to,

že jsou to obvody

pasivní a nemají tedy

definovány výstupní

napěťové úrovně, které

kolísají se zatížením.

ZÁKLADNÍ LOGICKÉ ČLENY

DTL (diodově tranzistorová logika) – tento typ logiky používá

jako aktivní prvek tranzistor, který pracuje jako spínač.

RTL (rezistorově tranzistorová logika) – nevýhodou je malá

odolnost proti rušení.

TTL (tranzistorově tranzistorová logika) – nejvíce rozšířená

logika.

CMOS (komplementární MOS technologie). Tato logika využívá

unipolární tranzistory, rovněž velmi rozšířená, vyrábí se i obvody

kompatibilní s TTL.

ETL (emitorově vázaná logika) – pro velmi rychlé číslicové

obvody, např. velmi rychlé paměti.

Základní pojmy logických členů

Šumová imunita Logické obvody (LO) mají vždy definované určité rozmezí hodnot napětí pro logickou 0

i pro logickou 1. Například pro řadu LO TTL je definováno, že stavu logické 1 odpovídá

na výstupu napětí v rozsahu 2,4 až 5 V a stavu logické 0 napětí v rozmezí 0 až 0,4 V.

Rovněž je definováno, že vstup musí za logickou 1 považovat jakoukoli hodnotu

v rozmezí 2,0 až 5,5 V a za logickou 0 jakoukoli hodnotu v rozsahu 0 až 0,8 V.

Šumová imunita představuje

odolnost dané technologie proti

parazitnímu rušení. Představuje

přesah tolerančních pásem mezi

hraničním napětím pro vstup a

výstup. Zvolené napěťové úrovně

zabezpečují činnost systému proti

náhodným poruchám tím, že napětí

na výstupu musí být vždy o 0,4 V vyšší pro log 1 a o 0,4 V nižší pro log 0, než je mez určující spolehlivou činnost obvodu

na jeho výstupu. Typická hodnota šumové imunity udávaná výrobci pro TTL je 0,9 V.

Základní pojmy logických členů

Logický zisk N Jedním z požadavků na logické členy je spolehlivé navázání vstupů jedněch

logických členů na výstupy jiných. Logický zisk nebo též logická zatížitelnost je

číslo, udávající maximální počet vstupů stejné technologie, které je možno

zapojit na výstup logického členu.

Dynamické parametry logických obvodů Měří se na vnějších svorkách

obvodu. Na obrázku je

zobrazen vstupní a výstupní

průběh napětí měřený na

svorkách hradla. Jsou zde

vyznačeny doby tr (rise time) a

tf (fall time), které udávají tzv.

strmost hran, neboli náběh a

doběh impulsu. Náběžná

(vzestupná) hrana tr je doba, za

kterou stoupne signál z 10% na

90% své maximální hodnoty.

Základní pojmy logických členů

Sestupná (týlová) hrana tf je doba, za kterou poklesne signál z 90% na 10%

své maximální hodnoty. Má-li signál příliš dlouhý náběh nebo doběh, je LO po

dlouhou dobu v oblasti nestability. Tento stav je nežádoucí, protože může

způsobit chyby v činnosti obvodu, proto je třeba volit správné signály s dobou

náběhu a doběhu a logické členy takové, aby oblast nestability byla

minimalizována. Na obrázku je též naznačeno zpoždění signálu při průchodu

logickým členem. Doba tpd0 představuje dobu přechodu (zpoždění) obvodu při

změně výstupní úrovně ze stavu logická 1 do stavu logická 0 a naopak, tj. dobu

přechodu obvodu při změně výstupu ze stavu logická 0 do stavu logická 1.

Charakteristické zpoždění určité typové řady je pak udáváno jako průměrná

hodnota, tj.

Okamžiky začátku a konce měření jsou určeny okamžikem průchodu signálu

rozhodovací napěťovou hladinou Ur, která závisí na technologii logických

obvodů. Pro obvody TTL je Ur = 1,5 V, pro obvody CMOS závisí Ur na

napájecím napětí. Podmínky stanovení dynamických parametrů

najdeme v katalogu výrobce.

Základní pojmy logických členů

Frekvenční poměry Maximální pracovní kmitočet fmax je nejvyšší možný kmitočet, který je logický

obvod ještě schopen zpracovat a reagovat na něj, aniž by došlo k výpadkům

signálu nebo k poklesu výstupních úrovní. Jeho hodnota úzce souvisí se

zpožděním logického členu a se strmostí jeho náběžné a sestupné hrany

signálu. Pro vyšší kmitočty již obvody neumějí signál reprodukovat. Např. pro

obvody TTL standard je maximální frekvence kolem 10 MHz.

Energetické poměry Přípustný rozptyl napájecích napětí souvisí především s výrobní technologií.

Pro TTL logické obvody je přípustná jen velmi malá změna napájecího napětí

± 5 % Ucc. Technologie CMOS připouští velké změny Ucc v rozsahu, např. 3 až

18 V. Pro odběr energie často platí, že čím má LO větší odběr, tím je menší

zpoždění v logické síti. Např. LO Schottky TTL, které mají průměrné zpoždění

tpd = 3 ns, ale typický příkon na hradlo mají18 mW.

Základní pojmy logických členů

Připojení nepoužitých vstupů Při realizaci LO se často stává, že pokaždé nezapojíme všechny vstupy

logických členů. Nezapojené vstupy musíme proto ošetřit, aby přes ně

nedocházelo k rušení funkce obvodu parazitními signály, tzn. neponecháváme

je nezapojené.

Obecně platí, že nepoužité vstupy členů realizujících logický součin (AND,

NAND) připojujeme na logickou jedničku přes vhodný rezistor (cca 1 kΩ).

Nepoužité vstupy členů, realizujících logický součet (OR, NOR) se

připojují na logickou nulu. Na obrázku jsou příklady ošetření

nezapojených vstupů: V mnoha případech

můžeme spojit

vstupy paralelně, a

tak snížit počet

nepoužitých vstupů.

V případě členů AND a NAND se chovají spojené vstupy z hlediska zátěže jako

jeden vstup. V případě členů OR a NOR však spojené vstupy představují logickou

zátěž všech spojených vstupů.

Logické obvody TTL

Polovodičová technika realizuje obvody, kterými jsou vytvářeny logické signály reprezentující funkční hodnoty dvouhodnotových logických funkcí. Ze základních principů binární logiky plyne, že k realizaci libovolné funkce lze využít soustavy logických členů , které plní funkce logického součinu a negace AND a NOT, nebo logického součtu OR NOT. Existují ještě dvě funkce, z nichž každá umožňuje sestavení libovolně zadaného kombinačního systému. Jsou to negovaný logický součin NAND a negovaný logický součet NOR. Pro realizaci libovolné logické funkce vybíráme takové členy, které vedou na jednodušší zapojení logického systému.

Logické obvody CMOS

Logické obvody CMOS (Complementary Metal Oxid Semiconductors) byly vyvinuty jako konkurence k technologii TTL. Jejich hlavní výhodou je velmi nízký příkon v klidovém stavu (až nW) i za provozu (desítky µW), široký rozsah napájecího napětí (3 až 18 V), velká odolnost proti rušení (šumová imunita) a dostatečná rychlost blížící se TTL. Technologie CMOS umožňuje podstatně vyšší stupeň integrace než TTL. Umožňuje konstrukci obvodů LSI a VLSI (s vysokým a velmi vysokým stupněm integrace). Kromě logických obvodů se technologie CMOS využívá při výrobě pamětí a různých druhů mikroprocesorů.

Kontrolní otázky

Vysvětlete pojem Logický člen.

Jak dělíme logické členy (stručný popis)

1) podle realizované logické funkce

2) podle schopnosti zesilovat signál

3) podle druhu signálu, který je nositelem logické informace

Jak dělíme logické členy podle použité součástkové základny

Jak dělíme logické členy v rámci jednotlivých technologií podle toho, z jakých obvodových prvků jsou vyrobeny, stručně je popište

Popište a nakreslete diodovou logiku

Podrobně vysvětlete, co je šumová imunita, vč. grafického vyjádření

Co je Logický zisk N? Popište a graficky znázorněte Dynamické parametry logických obvodů.

Vysvětlete pojmy FREKVENČNÍ a ENERGETICKÉ poměry

Jak připojujeme nepoužité vstupy?

Popište charakteristiku LO TTL

Popište charakteristiku LO CMOS

KOMBINAČNÍ LOGICKÉ OBVODY

Jsou to obvody, u nichž mohou vstupní i výstupní proměnné v ustáleném stavu nabývat jedné ze dvou možných hodnot – logické nuly nebo logické jedničky. Kombinační logický obvod je realizován spojením základních logických členů tak, aby splňoval požadovanou logickou funkci. Okamžitá hodnota výstupních proměnných je dána pouze okamžitou kombinací vstupních proměnných. Proto těmito obvody realizujeme výhradně takové situace, které nejsou závislé na předchozích kombinacích vstupů.

KOMBINAČNÍ LOGICKÉ OBVODY

Představiteli kombinačních logických

obvodů jsou:

dekodéry

multiplexery a demultiplexery

komparátory

obvody pro aritmetické operace

(sčítačky, generátory přenosu

apod.)

Návrh logických obvodů

Navrhněme logický obvod jako realizaci logické

funkce y = a . b + c

Součin a . b vyřešíme hradlem AND, z jehož výstupu

společně se vstupem c bude připojeno hradlo OR.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické

funkce y = a . b + c . d

Součiny a . b a c . d vyřešíme hradly AND, z jejichž

výstupů bude připojeno hradlo OR.

Syntéza kombinačních logických obvodů

Jedná se o logický součet

dvou negovaných

proměnných, proto nejprve

pomocí invertorů negujeme

obě proměnné a pak sečteme

funkcí nebo prostřednictvím

hradla NAND.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Jedná se o logický součet

dvou negovaných

proměnných, proto nejprve

pomocí invertorů negujeme

obě proměnné a pak sečteme

funkcí nebo prostřednictvím

hradla NAND. Víme však, že

podle Booleovy algebry se

tento výraz rovná negovanému

součinu tj. NAND.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.

Syntéza kombinačních logických obvodů

Navrhněme logický obvod jako realizaci logické funkce

Syntéza kombinačních logických obvodů

Některé kombinační logické integrované obvody

TTL řady 7400 s hradly NAND, NOR, NOT:

7400: 4x 2-vstupové hradlo NAND

7402: 4x 2-vstupové hradlo NOR

7404: 6x invertor (NOT)

7410: 3x 3-vstupové hradlo NAND

7420: 2x 4-vstupové hradlo NAND

7430: 8-vstupové hradlo NAND

Syntéza kombinačních logických obvodů

Syntéza kombinačních logických obvodů

Syntézou kombinačních LO chápeme postup, kdy získáme ze slovního zadání odpovídající LO, který zadaný požadavek realizuje. Slovní zadání nejčastěji zapisujeme do pravdivostní tabulky, ze které získáme popis logické funkce v součtové nebo v součinové podobě. Získanou logickou funkci obvykle minimalizujeme. Shrnutí postupu:

1. slovní zadání

2. popis logické funkce obvodu (pravdivostní tabulka)

3. minimalizace

4. realizace kombinačního LO pomocí logických členů.

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení:

Vyplníme pravdivostní tabulku

Odvodíme ze zadaných čísel logickou rovnici

Provedeme minimalizaci

Vyřešíme logický obvod pomocí logických členů

(nakreslíme odpovídající schéma)

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení:

Vyplníme pravdivostní tabulku

Odvodíme ze zadaných čísel logickou rovnici

Provedeme minimalizaci

Vyřešíme logický obvod pomocí logických členů

(nakreslíme odpovídající schéma)

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení: Vyplníme pravdivostní tabulku, odvodíme ze zadaných čísel

logickou rovnici, provedeme minimalizaci.

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel

logickou rovnici, provedeme minimalizaci.

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel

logickou rovnici, provedeme minimalizaci.

Nakreslíme odpovídající schéma

Syntéza kombinačních logických obvodů

Příklad Navrhněte logický obvod, který bude indikovat binární

čísla 8, 9, 7, 15, 14 a 6.

Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel

logickou rovnici, provedeme minimalizaci.

Nakreslíme odpovídající schéma

Syntéza kombinačních logických obvodů

Použijeme logické členy NOT, AND, OR

Návrh logického obvodu

Syntéza kombinačních logických obvodů

Použijeme logické členy NOT, AND, OR

Návrh logického obvodu

Syntéza kombinačních logických obvodů

Úkol 1 Navrhněte logický obvod, který bude indikovat binární čísla 3, 4 a 7. (použijte 2x dvouvstupové hradlo AND, třívstupové OR)

Úkol 2 Navrhněte logický obvod, který bude indikovat binární čísla 1, 5 a 7. (2x invertor, 2x dvouvstupové NAND nebo rovnou kombinační obvod TTL 7400)

Úkol 3 Navrhněte logický obvod, který bude indikovat binární čísla 1, 4 a 5. (použijte obvod TTL 7400)

Úkol 4 Navrhněte logický obvod, který bude řešit bezpečnost při sepnutí lisu. Lis bude spouštěn současně dvěma tlačítky A, B (každé jednou rukou) za předpokladu, že v prostoru lisování čidlo C nezaznamená přítomnost nežádoucího předmětu (ruka). (použijte obvod TTL 7410)

Syntéza kombinačních logických obvodů

Úkol 1 - řešení

Syntéza kombinačních logických obvodů

Úkol 2 - řešení

Syntéza kombinačních logických obvodů

Úkol 3 - řešení

Syntéza kombinačních logických obvodů

Úkol 4 - řešení

Syntéza kombinačních logických obvodů

Navrhněte automatické

hovorové zařízení, které má po

stisknutí tlačítka umožnit

spojení tří vedoucích

pracovníků firmy – ředitele

firmy, vedoucího směny a

mistra, se sekretářkou. Každý

z vedoucích pracovníků má jiné

postavení ve firmě a jiné pravomoci, a tedy i priority jejich

hovorů se sekretářkou jsou různé. Nejvyšší priority má ředitel,

mistr dostane požadované spojení se sekretářkou jen tehdy,

nehovoří-li s ní ředitel ani vedoucí směny.

Příklad: Návrh automatického hovorového zařízení

Syntéza kombinačních logických obvodů

Vstupní proměnné si označíme takto:

požadavek ředitele firmy R

požadavek vedoucího směny V

požadavek mistra M

Výstupní proměnné udávají skutečný hovor:

hovor ředitele f1

hovor vedoucího směny f2

hovor mistra f3

Jak nezávisle proměnné, tak i výstupní mohou nabývat jen dvou logických

stavů (ředitel požaduje spojení nebo ne, vedoucí požaduje spojení

nebo ne, mistr požaduje spojení nebo ne, a na druhé straně spojovací

zařízení požadavek splní nebo ne). Z toho plyne, že jak nezávisle

proměnné, tak i hledaná výstupní funkce jsou binární.

Syntéza kombinačních logických obvodů

Schematické znázornění problému:

Syntéza kombinačních logických obvodů

Ze slovního zadání sestavíme pravdivostní

tabulku:

R V M f1 f2 f3

0 0 0 0 0 0

0 0 1 0 0 1

0 1 0 0 1 0

0 1 1 0 1 0

1 0 0 1 0 0

1 0 1 1 0 0

1 1 0 1 0 0

1 1 1 1 0 0

Z pravdivostní tabulky vyplývají

funkce v úplné součtové formě ve

tvaru:

Minimalizací získáme výsledné

výstupní funkce:

Syntéza kombinačních logických obvodů

Nyní můžeme nakreslit obvodové schéma

Multiplexery

Multiplexer je kombinační

logický obvod, který umožňuje

převádět digitální informace z

některého vstupního kanálu na

výstup. Mohli bychom ho

označit jako přepínač digitálních

signálů.

Multiplexery

Multiplexery

Demultiplexery

Demultiplexer plní přesně opačnou

funkci než multiplexer. V závislosti

na logickém stavu adresových

vodičů přenáší z jediného datového

vstupu sled logických hodnot na

jeden z výstupů, zatímco na

ostatních výstupech setrvává

neaktivní stav.

Demultiplexery

Demultiplexery

Komparátory

Komparátor je kombinační logický

obvod, který porovnává dvě binární

čísla a generuje výstupní signál o jejich

rovnosti nebo různosti. Důležitým

obvodem z hlediska použití v

komparátorech je je obvod realizující

funkci Exclusive OR, označovaný

obvykle XOR.

Komparátory

Schéma logického obvodu Exklusive OR

Obvod realizuje logickou funkci

nonekvivalence, popsanou vztahem

Komparátory

Vstupy Funkce

B A XOR XNOR

0 0 0 1

0 1 1 0

1 0 1 0

1 1 0 1

Pravdivostní tabulka funkce nonekvivalence (XOR)

a ekvivalence (XNOR)

Komparátory

Na obrázku je znázorněno

zapojení komparátoru pro

porovnání dvou n-bitových čísel A

a B. Jsou zde použity obvody XOR

7486. Číslo A je přivedeno na

obvod XOR přímo, číslo B je

připojeno přes invertor. Tak

získáme na výstupech XOR hradel

X1 až Xn logickou funkci

nonekvivalence. Výstupy členů

XOR přivedeme na hradlo NAND.

Pokud budou čísla An a Bn

shodná ve všech bitech, bude

výstup Y roven logické 0, pokud

se čísla budou lišit alespoň v

jediném bitu, bude výstup Y ve

stavu logická 1. Délka

porovnávaných binárních čísel

závisí na počtu vstupů výstupního

hradla NAND.

1

A

1

&

B

Y

=1

=1

B

A

1B

=1A

1

1

2

2

n

n

X1

X2

Xn

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

Komparátory

OBVODY PRO ARITMETICKÉ OPERACE

Aritmetické operace s binárními čísly jsou

základem programového vybavení

mikroprocesorů a hardwarového vybavení

specializovaných integrovaných obvodů.

Základními aritmetickými operacemi je

sčítání, odčítání, násobení a dělení, pro

případ logických obvodů v binární číselné

soustavě. Operace odčítání, násobení a

dělení lze převést na sčítání, proto je sčítání

základem pro ostatní aritmetické operace.

Sčítačky

Sečtení dvou dvojkových čísel je založeno na sečtení všech dvojic dvojkových míst, které si vzájemně řádově odpovídají počínaje nejnižšími řády. Přitom je třeba brát v úvahu i přenosy z nižších do vyšších řádů, které během sčítání vznikají.

Při sčítání dvou dvojkových čísel musíme nejdříve sečíst hodnoty na nejnižším řádovém místě. Sčítačka, kterou lze použít pouze k sečtení dvou čísel na nejnižších řádových místech (A0 a B0) se nazývá poloviční sčítačka. Pokud použijeme výstup pro přenos do vyššího řádu, dostaneme sčítačku úplnou.

Vícebitová sčítačka

s postupným šířením přenosu

Již umíme sečíst dvě jednobitová čísla a to

včetně správného použití přenosu. Co když

ale potřebujeme sčítat větší čísla? Vícebitové

sčítačky se zpravidla skládají z několika

úplných jednobitových sčítaček, kterých je

právě tolik, kolik bitů chceme umět sčítat.

V dnešní době nejsou výjimkou ani 64-bitové

sčítačky.

Vícebitová sčítačka - vstupy a výstupy

V závislosti na použití vícebitové sčítačky můžeme přivést na přenos z nižšího řádu logickou 0 nebo pro nejnižší řád použít poloviční sčítačku. Přenos do vyššího řádu lze použít pro zjištění přetečení (výsledek je mimo rozsah).

vstupy A0 .. An = bity prvního n-bitového sčítance (prvního operandu)

vstupy B0 .. Bn = bity druhého n-bitového sčítance (druhého operandu)

výstupy S0 .. Sn = bity n-bitového součtu

vstup Cin = přenos z nižšího řádu (carry in)

výstup Cout = přenos do vyššího řádu (carry out)

Vícebitová sčítačka - schéma zapojení

Vícebitovou sčítačku s postupným šířením

přenosu sestavíme zřetězením několika

jednobitových úplných sčítaček. Každá

sčítačka sečte jeden bit sčítanců a aplikuje

přenos z nižšího řádu. Případný přenos pošle

dál do vyššího bitu. Jak vidíme, přenos se

postupně šíří z nejnižšího bitu do nejvyššího.

Z tohoto chování vychází i název zapojení.

Vícebitová sčítačka - schéma zapojení

Blokové schéma čtyřbitové sčítačky

Kontrolní otázky

1. Vysvětlete, co je komparátor, nakreslete schéma.

2. Vysvětlete, co je multiplexer, nakreslete schéma.

3. Vysvětlete funkci nonekvivalence a ekvivalence,

doplňte tabulku.

4. Vysvětlete, co je demultiplexer, nakreslete schéma.

5. Vysvětlete princip poloviční a úplné sčítačky.

6. Nakreslete blokové schéma čtyřbitové sčítačky a

popište její funkci vč. všech vstupů a výstupů.


Recommended