Logické obvody 1 - Úvod

Hardware PC Hardware Logické obvody 1 - Úvod

Principy logických obvodů jsou vlastně velice jednoduché. Mikrovlnná trouba, pračka, otvírání garážových vrat i počítač jsou řízeny ve své podstatě logickými obvody, které vyhodnocují určitou situaci podle navržené logické funkce.

Představme si třeba výtah, u kterého je nutné hlídat, zda jsou zavřené dveře, jestli není přetížen a zda je stisknuto tlačítko volby patra atd. Výše uvedená fakta jsou pro nás tzv. "vstupní proměnné". Podle navrženého logického obvodu pak svými "výstupními funkcemi" zapíná motor, signalizuje přetížení nebo spouští alarm při nenadálém zablokování výtahu, tedy automaticky ovládá chod výtahu.

vstupní proměnné = čidla, snímače, senzory
výstupní funkce  = akční členy, signalizace

Logickou závislost „výstupů" na „vstupech" řeší vnitřní struktura. Ta je navržena podle principů výrokové logiky a může být řešena jako kombinační logický obvod nebo sekvenční logický obvod.

Skutečná fyzická realizace záleží už jen na našich možnostech. Můžeme vytvořit náš obvod pomocí diskrétních integrovaných obvodů nebo paměťovým obvodem třeba v jazyce VHDL.

návrh = výroková logika, graf přechodů
vnitřní struktura = kombinační obvod, sekvenční obvod
realizace = diskrétní součástky, paměťový obvod

Kombinační logický obvod

Realizuje takové logické funkce, u kterých je logická hodnota výstupní funkce dána pouze kombinací okamžitých hodnot vstupních proměnných.

Kombinační logický obvod

kombinační funkce nejčastěji zapisujeme:

  1. slovním popisem
  2. pravdivostní tabulkou
  3. algebraickým výrazem
  4. stavovým indexem
  5. Karnaughovou mapou
  6. logickým obvodem
  7. jazykem VHDL

Rozdělujeme je podle stupně integrace:

  1. SSI - small scale integration,(1-10 hradel),AND,OR,NOT,NAN­D,NOR,EXOR,EX­NOR
  2. MSI - medium scale integration,(10-100),aritmetické obvody,dekodé­ry,multiplexo­ry
  3. LSI - large scale integration,(100-100 000),ALU,řadič

SSI - základní logické členy

Značky základních logických členů

SSI - vnitřní zapojení základních logických členů

TTL

Slovní zadání příkladů

Následující příklady jsou pouze ukázkou, jak by mohly být jednotlivé úlohy zadány. První tři úlohy by se mohly řešit jako jednoduché kombinační obvody pomocí pravdivostní tabulky. Pro čtvrtý, pátý a šestý příklad je již lepší využít integrované obvody střední integrace a u sedmého příkladu jde o návrh jednoduchého sekvenčního automatu. Každý návrh je pak trochu jiný.

  1. př.: Navrhněte logický obvod, který vysílá signál v případě poruchy jednoho nebo obou větráků. U každého větráku jsou umístěny snímače, které vysílají trvale signál, dojde-li k poruše větráku.
  2. př.: Automat na nápoje vydá vodu nebo citronovou a nebo malinovou limonádu podle výběru stisknutého tlačítka. Vodu zákazník dostane zdarma, limonády pouze po vložení příslušné finanční částky. Navrhněte ovládání ventilů zásobníků: vody, citronového sirupu a malinového sirupu a zásobníku peněz. Limonáda se míchá z vody a příslušného sirupu, tedy musí být spuštěny oba ventily najednou. Pokud zadá zákazník špatnou kombinaci, rozsvítí se signalizace "špatná volba" a peníze jsou vráceny.
  3. př.: Navrhněte úplnou binární sčítačku pro dvě jednobitová čísla.
  4. př.: Navrhněte obvod, který rozsvítí led diodu, pokud součet dvou čtyřbitových binárních čísel je větší než dekadické číslo 5.
  5. př.: Vytvořte multiplexor a demultiplexor.
  6. př.: Navrhněte asynchronní čítač, který má volitelný směr čítání (čítá vzestupně nebo sestupně).
  7. př.: Navrhněte synchronní čítač, který bude simulovat světelný semafor.

Booleova algebra

Booleova algebra je binární algebra (má jen dvě konstanty 0 a 1) a využívá AND, OR a NOT jako úplný soubor funkcí (žádné jiné nemá). Používá se k úpravě a minimalizaci logických funkcí. Platí v ní tři zákony, podobně jako v klasické algebře:

Asociativní

Při stejném operátoru nezáleží na závorkách.

Booleova algebra asociativní zákon

Komutativní

Nezáleží na pořadí prvků.

Booleova algebra komutativní zákon

Distributivní

První rovnice je běžné roznásobení, ale pozor, druhá rovnice v běžné algebře neplatí. Když si obě rovnice pořádně prohlédnete, tak se jen zamění znaménka ;-)

Booleova algebra distributivní zákon

Zákony není potřeba nějak studovat, prostě se počítá jako v matematické algebře. Pro zjednodušování jsou však mnohem důležitější následující pravidla:

Pravidla pro jednu proměnnou

Pravidlo pro jednu proměnnou

Agresivnost nebo neutrálnost 0 a 1:

Pravidla pro dvě proměnné

DeMorganův teorém

Oba zákony platí pro dvě i pro více proměnných.

DeMorganův teorém

Je dobré umět zjednodušit jednoduché logické funkce, ale pro složitější je výhodné využít Karnaughovu mapu. V současnosti zjednodušování umí některé simulační programy, např. NI Multisim. V případě, že nerealizujeme obvod základními logickými členy, není nutné funkci zjednodušovat vůbec, neboť se do paměti zapisuje buď celá pravdivostní tabulka, nebo se to řeší přes instrukce.

Příklady

Zjednodušení logické funkce pomocí pravidel Booleovy algebry

Úprava pomocí těchto pravidel je velmi zdlouhavá a dělá se při ní poměrně dost chyb. Navíc většinou není úplně jisté, zda je výsledek již opravdu minimální. Velkou výhodou je jen, že lze využít kdykoliv "ručně" a pro více proměnných není (mimo počítačových algoritmů) jiná metoda vhodná.

Zjednodušení logické funkce pomocí zákonů De Morgana

Stejně jako úprava podle Booleovy algebry i tady jde spíše o procvičení si logického myšlení a aplikace zákonů na příkladech. V současné době se většina obvodů realizuje zcela jinak a nebo lze využít již hotových počítačových programů. Nicméně na SŠ a i na VŠ se zatím oba dva typy příkladů vyskytují a zkouší a tak je dobré tyto úpravy znát a velmi dobře procvičit ;-) .


 

  Aktivity (1)

Článek pro vás napsal jasper
Avatar

Jak se ti líbí článek?
Celkem (7 hlasů) :
4.714294.714294.714294.714294.71429


 


Miniatura
Všechny články v sekci
Hardware

 

 

Komentáře
Zobrazit starší komentáře (5)

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Přesně tak.

Odpovědět  +1 20.7.2014 20:59
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
mnauik
Člen
Avatar
mnauik:

Tohle mě ve škole vždy bavilo, ale pak jsem to trochu zapomněl (samozřejmě ne základy typu kdy na výstupu and nebo or je 1). Děkuji za připomenutí :)

Odpovědět 20.7.2014 21:09
minusuj mě, ale zdůvodni to ;)
Avatar
mkub
Redaktor
Avatar
mkub:

0 AND 0 = 0
1 AND 0 = 0
0 AND 1 = 0
1 AND 1 = 1

jednoducha boolovska matematika...

 
Odpovědět 20.7.2014 22:56
Avatar
Ridge
Člen
Avatar
Odpovídá na mkub
Ridge:

Nebo-li když něco násobím nulou, výsledek je nula.

Odpovědět  +1 20.7.2014 23:05
use brain.
Avatar
sNN_
Člen
Avatar
sNN_:

Takový článek by bylo dobré spojit třeba s PLC, který pracuje vlastně na úplně stejném principu. Navíc existují simulátory, kde jde krásně vidět postup signálu přes tato různá hradla :)

 
Odpovědět 21.7.2014 7:34
Avatar
vidlec
Člen
Avatar
vidlec:

Tohle mě ve škole bavilo do chvíle než nastoupily multiplexory, demultiplexory. Čítačky se ještě daly, ale multiplexor = zlo :D Jinak ale dobrý článek.

 
Odpovědět 21.7.2014 10:45
Avatar
Pavel Mazura
Člen
Avatar
Pavel Mazura:

jj, s MH7400 a NE555 jsme se v dávných dobách bavili docela dost. To byly moje první jedničky a nuly ;-)

Odpovědět 21.7.2014 14:38
Vím, že nic nevím.
Avatar
FastNode
Redaktor
Avatar
FastNode:

Já jsem si jako malý hrával se stavebnicí Voltík III. (http://www.gme.cz/…iii-p761-440), na které jsou k dispozici základní logické obvody INVERT, AND, OR a 2kB paměť :)

 
Odpovědět 21.7.2014 20:21
Avatar
jirklym
Člen
Avatar
 
Odpovědět 21.7.2014 20:38
Avatar
Jaxbe
Člen
Avatar
Jaxbe:

This is some kind of elvish( Když se na to letmo podíváte) :D

Odpovědět  +1 22.7.2014 23:21
€urop€an Union
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 15. Zobrazit vše