Logické obvody 2 - Řešení příkladů a pravdivostní tabulka
Minule jsme si udělali úvod do logických obvodů a zmínili si několik zadání. Postupme k jejich řešení.
Řešení slovního zadání
Pokud máme úlohu zadánu jako slovní příklad, je zapotřebí udělat něco jako rozbor úlohy. To v podstatě znamená určit vstupní proměnné, (z minula již víme, že to budou nějaká čidla nebo snímače) a určit výstupní funkce (to jsou akční členy – takže vykonají nějakou akci …). Prohlídneme si zadání příkladu a.:
- Logický obvod 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.
Zeleně je označeno, kde se hovoří o snímačích a jejich počtu a červeně je označeno místo, které představuje požadovanou činnost navrhovaného zařízení, myslím tím činnost našeho navrhovaného obvodu. Takže budeme potřebovat dvě vstupní proměnné, protože větráky jsou dva a jednu výstupní funkci, neboť je požadováno pouze vyslání signálu v případě poruchy, je otázkou jakého, ale budeme předpokládat, že jde třeba o rozsvícení ledky.
1. vstupní proměnné … 2 větráky (2 snímače) => 2 proměnné např. a a b
V úvodu je uvedeno, že se logické obvody navrhují podle výrokové logiky, takže by to chtělo nějaké výroky . Výrok vyjadřuje nějaké tvrzení, na které lze odpovědět buď ano, nebo ne.
proměnná a … "první větrák přestal pracovat" … pokud ano, pak a = 1; pokud ne, pak a = 0
proměnná b … "druhý větrák přestal pracovat" … pokud ano, pak b = 1; pokud ne, pak b = 0
(v praxi se výrok zapisuje tak, aby představoval stav, že se událost, kterou hlídáme, stala. Pak logickou 1 přiřadíme odpovědi ano a logickou 0 odpovědi ne. Samozřejmě může to být i naopak, ale když to budete takto dodržovat, bude to lepší)
2. výstupní proměnné … 1 signál (1 led dioda) => 1 výstupní funkce f
Výstupní funkce f … "rozsvítí se led dioda" … ano, je-li f = 1; ne, je-li f = 0
Vlastní logiku, tedy to, kdy se opravdu rozsvítí ledka, provádí
navržený logický obvod podle zadání tj.:
"v případě, že dojde k poruše jednoho nebo obou větráků"
Logiku je nejjednodušší navrhnout pomocí pravdivostní tabulky, takže co to vlastně je pravdivostní tabulka?
Pravdivostní tabulka
Jednoznačně přiřazuje určitou konkrétní kombinaci vstupních proměnných jedné nebo několika výstupním funkcím.
Levá část obsahuje všechny možné kombinace vstupních proměnných a stavový index (což je dekadicky vyjádřená binární hodnota příslušné kombinace vstupních proměnných). Počet těchto kombinací je dán počtem proměnných. Takže máme-li dvě proměnné např. a a b, které mohou každá nabývat hodnoty 0 nebo 1, pak máme čtyři různé kombinace a to: 00, 01, 10 a 11. Obecně je počet všech kombinací N = 2n, kde n se rovná počtu vstupních proměnných.
Pravá část obsahuje hodnoty výstupních funkcí, které se stanoví na základě logiky slovního zadání.
Pravdivostní tabulka pro náš předchozí příklad
Bude mít tři sloupce vlevo (stavový index s a dvě vstupní proměnné a a b) a celkem 4 řádky (N=22)
A jen jeden sloupec vpravo f, protože máme jen jednu výstupní funkci.
Ze slovního zadání vyplývá, že výstupní funkce bude rovna 1 (tj. rozsvítí se led dioda): „v případě, že dojde k poruše jednoho nebo obou větráků“
Pravdivostní tabulka po doplnění ukazuje všechny případy, ke kterým může dojít:
Výhodou pravdivostní tabulky je, že zachycuje všechny kombinace, které mohou nastat a jak bude daný obvod reagovat. Nic jiného ani kombinační obvod neumí a my nemůžeme na nic zapomenout .
Neúplně zadaná funkce
Někdy se však stane, že pro určitou kombinaci na vstupu neexistuje fyzikální realizace, prostě daná vstupní kombinace není možná. Pak takové pravdivostní tabulce říkáme:
Pravdivostní tabulka s neúplně zadanou funkcí (nebo funkcemi). Důvod je ten, že nevíme, zda výstupní funkce bude nabývat pro danou kombinaci log.1 nebo log.0. Vlastně je to jedno, protože daná vstupní kombinace ani nenastane, pak píšeme x místo 1 nebo 0. Pro názornost si uvedeme jednoduchý příklad.
Příklad neúplně zadané funkce
Př.: Navrhněte hlídání hladiny v nádrži tak, aby se rozsvítila kontrolka K1, pokud klesne hladina pod minimum a kontrolka K2, pokud hladina přesáhne maximum.
1. vstupní proměnné … 2 snímače (minimum a maximum) => 2 proměnné např. a a b
proměnná a … "snímač minima pod vodou" … pokud ano, pak a = 1; pokud ne, pak a = 0
proměnná b … "snímač maxima pod vodou" … pokud ano, pak b = 1; pokud ne, pak b = 0
2. výstupní proměnné … 2 signály (2 led diody, K1 a K2) => 2 výstupní funkce f1 a f2
výstupní funkce f1 … "rozsvítí se K1" … ano, je-li f1 = 1; ne, je-li f1 = 0
výstupní funkce f2 … "rozsvítí se K2" … ano, je-li f2 = 1; ne, je-li f2 = 0
pravdivostní tabulka
Tyto "neúplně zadané" stavy je důležité v tabulce vyznačit (a ne je vynechat), neboť se využívají pro zjednodušení minimalizace výstupní funkce.
Zápis funkce stavovým indexem
Jak už bylo uvedeno v předchozím článku, funkci lze také zapsat pomocí stavového indexu. Jde vlastně o zkrácený zápis pravdivostní tabulky. Stavový index je dekadické číslo, jehož hodnota odpovídá binární kombinaci vstupních proměnných v určitém řádku. Samozřejmě zde záleží v jakém pořadí se vstupní proměnné uvádí. V předchozích příkladech je proměnná a vždy nejvíce vpravo a tedy jde o bit s nejnižší vahou 20.
Zápisy pak mají následující tvar:
1.př.: úplně zadaná funkce - porucha vrtáku
za symbolem "suma" je výčet jedničkových stavů výstupní
funkce
za symbolem "pí" je výčet nulových stavů výstupní funkce
2.př.: neúplně zadaná funkce - Hlídání hladiny vody
Za symbolem "suma" je výčet jedničkových stavů výstupní funkce a za symbolem "suma s x" jsou nedefinované stavy
Za symbolem "pí" je výčet nulových stavů výstupní funkce a za symbolem "pí s x" jsou nedefinované stavy
Oba zápisy, ať už ze sumou nebo pí, vyjadřují stejnou funkci.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 2059x (743.73 kB)